From f7bebf9861734c47d0840868f243b186a59a96ba Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 9 Apr 2017 23:46:47 +0200 Subject: Working on web examples Reorganizing folders Review examples Work on makefile and loader.html --- .../examples/web/shaders/resources/model/dwarf.obj | 54966 +++++++++++++++++++ .../web/shaders/resources/model/dwarf_diffuse.png | Bin 0 -> 1274623 bytes .../web/shaders/resources/model/dwarf_normal.png | Bin 0 -> 4053623 bytes .../web/shaders/resources/model/dwarf_specular.png | Bin 0 -> 2938756 bytes .../web/shaders/resources/shaders/glsl100/base.vs | 26 + .../web/shaders/resources/shaders/glsl100/bloom.fs | 39 + .../resources/shaders/glsl100/distortion.fs | 54 + .../shaders/resources/shaders/glsl100/grayscale.fs | 25 + .../web/shaders/resources/shaders/glsl100/swirl.fs | 45 + .../web/shaders/resources/shaders/glsl330/base.vs | 26 + .../web/shaders/resources/shaders/glsl330/bloom.fs | 40 + .../web/shaders/resources/shaders/glsl330/depth.fs | 27 + .../resources/shaders/glsl330/distortion.fs | 56 + .../shaders/resources/shaders/glsl330/grayscale.fs | 26 + .../web/shaders/resources/shaders/glsl330/swirl.fs | 46 + docs/examples/web/shaders/resources/sonic.png | Bin 0 -> 116512 bytes 16 files changed, 55376 insertions(+) create mode 100644 docs/examples/web/shaders/resources/model/dwarf.obj create mode 100644 docs/examples/web/shaders/resources/model/dwarf_diffuse.png create mode 100644 docs/examples/web/shaders/resources/model/dwarf_normal.png create mode 100644 docs/examples/web/shaders/resources/model/dwarf_specular.png create mode 100644 docs/examples/web/shaders/resources/shaders/glsl100/base.vs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl100/bloom.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl100/distortion.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl100/grayscale.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl100/swirl.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl330/base.vs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl330/bloom.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl330/depth.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl330/distortion.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl330/grayscale.fs create mode 100644 docs/examples/web/shaders/resources/shaders/glsl330/swirl.fs create mode 100644 docs/examples/web/shaders/resources/sonic.png (limited to 'docs/examples/web/shaders/resources') diff --git a/docs/examples/web/shaders/resources/model/dwarf.obj b/docs/examples/web/shaders/resources/model/dwarf.obj new file mode 100644 index 00000000..a24f0c15 --- /dev/null +++ b/docs/examples/web/shaders/resources/model/dwarf.obj @@ -0,0 +1,54966 @@ +# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware +# File Created: 28.05.2015 21:59:00 + +mtllib Enano_Final_001.mtl + +# +# object Box001 +# + +v 0.387459278107 0.001037180424 -0.000000000000 +v 0.357966661453 0.000561296940 -0.148274183273 +v 0.273977041245 0.000000000000 -0.273975044489 +v 0.148276805878 -0.000561356544 -0.357965648174 +v 0.000002622604 -0.001037240028 -0.387459248304 +v -0.148271799088 -0.001355171204 -0.357965648174 +v -0.273973226547 -0.001466870308 -0.273975044489 +v -0.357964754105 -0.001355171204 -0.148274242878 +v -0.387459278107 -0.001037240028 -0.000000059605 +v -0.357966899872 -0.000561356544 0.148274183273 +v -0.273977279663 -0.000000059605 0.273975014687 +v -0.148276805878 0.000561296940 0.357965707779 +v -0.000002861023 0.001037180424 0.387459278107 +v 0.148271799088 0.001355111599 0.357965588570 +v 0.273973226547 0.001466810703 0.273974895477 +v 0.357964634895 0.001355111599 0.148274123669 +v 0.387031078339 0.161010622978 -0.000428199768 +v 0.357538461685 0.160534739494 -0.148702442646 +v 0.273548841476 0.159973442554 -0.274403274059 +v 0.147848606110 0.159412086010 -0.358393877745 +v -0.000425577164 0.158936202526 -0.387887477875 +v -0.148699998856 0.158618271351 -0.358393877745 +v -0.274401426315 0.158506572247 -0.274403274059 +v -0.358391761780 0.158147990704 -0.148701190948 +v -0.387881040573 0.156506061554 -0.000421762466 +v -0.358393907547 0.158941805363 0.147847235203 +v -0.274405479431 0.159973382950 0.273546814919 +v -0.148705244064 0.160534739494 0.357537508011 +v -0.000431060791 0.161010622978 0.387031078339 +v 0.147843360901 0.161328554153 0.357537388802 +v 0.273545026779 0.161440253258 0.273546695709 +v 0.357536435127 0.161328554153 0.147845864296 +v 0.353100299835 0.160919785500 -0.000428199768 +v 0.326190590858 0.160485565662 -0.135717749596 +v 0.249556064606 0.159973442554 -0.250410705805 +v 0.134863615036 0.159461259842 -0.327046126127 +v -0.000425815582 0.159027040005 -0.353956878185 +v -0.135715484619 0.158736944199 -0.327046126127 +v -0.250409126282 0.158635079861 -0.250410705805 +v -0.327044963837 0.158685207367 -0.135717630386 +v -0.353955745697 0.158622086048 -0.000427186489 +v -0.327047109604 0.159409523010 0.134861409664 +v -0.250412702560 0.159973382950 0.249554216862 +v -0.135720252991 0.160485565662 0.326189637184 +v -0.000430822372 0.160919785500 0.353100419044 +v 0.134859085083 0.161209881306 0.326189637184 +v 0.249552488327 0.161311805248 0.249554157257 +v 0.326188802719 0.161209881306 0.134861171246 +v 0.353296518326 0.087664961815 -0.000232100487 +v 0.326386690140 0.087230741978 -0.135521650314 +v 0.249752044678 0.086718618870 -0.250214606524 +v 0.135059833527 0.086206436157 -0.326850026846 +v -0.000229597092 0.085772216320 -0.353760749102 +v -0.135519504547 0.085482120514 -0.326850026846 +v -0.250212907791 0.085380256176 -0.250214606524 +v -0.326848983765 0.085482120514 -0.135521650314 +v -0.353760719299 0.085772216320 -0.000232160091 +v -0.326851129532 0.086206436157 0.135057389736 +v -0.250216484070 0.086718559265 0.249750316143 +v -0.135524034500 0.087230741978 0.326385736465 +v -0.000234603882 0.087664961815 0.353296518326 +v 0.135055065155 0.087955057621 0.326385736465 +v 0.249748706818 0.088056981564 0.249750256538 +v 0.326384902000 0.087955057621 0.135057270527 +v 0.375676870346 0.177378296852 -0.000472128391 +v 0.364366769791 0.177348017693 -0.000472128391 +v 0.347045183182 0.176916301250 -0.144418120384 +v 0.336596012115 0.176899909973 -0.140089869499 +v 0.265507221222 0.176371395588 -0.266449689865 +v 0.257509708405 0.176371395588 -0.258452177048 +v 0.143476247787 0.175826430321 -0.347988516092 +v 0.139147996902 0.175842821598 -0.337539315224 +v -0.000469446182 0.175364434719 -0.376621156931 +v -0.000469684601 0.175394713879 -0.365310996771 +v -0.144415855408 0.175055742264 -0.347988516092 +v -0.140087604523 0.175095319748 -0.337539315224 +v -0.266447782516 0.174947381020 -0.266449689865 +v -0.258450269699 0.174990177155 -0.258452177048 +v -0.347987651825 0.175055742264 -0.144418120384 +v -0.337538242340 0.175095319748 -0.140089929104 +v -0.376621246338 0.175364434719 -0.000472187996 +v -0.365311145782 0.175394713879 -0.000472187996 +v -0.347989559174 0.175826430321 0.143473863602 +v -0.337540388107 0.175842821598 0.139145612717 +v -0.266451835632 0.176371335983 0.265505313873 +v -0.258454084396 0.176371335983 0.257507801056 +v -0.144420623779 0.176916301250 0.347044229507 +v -0.140092372894 0.176899909973 0.336595058441 +v -0.000474929810 0.177378296852 0.375676870346 +v -0.000474691391 0.177348017693 0.364366769791 +v 0.143471479416 0.177686989307 0.347044229507 +v 0.139143228531 0.177647411823 0.336595058441 +v 0.265503644943 0.177795350552 0.265505313873 +v 0.257506132126 0.177752554417 0.257507801056 +v 0.347043275833 0.177686989307 0.143473744392 +v 0.336594104767 0.177647411823 0.139145493507 +v -0.260723114014 0.157754421234 -0.259547352791 +v 0.188534498215 0.162128329277 0.220312714577 +v 0.150835990906 0.255903840065 -0.122018277645 +v -0.367745399475 0.145474791527 -0.000509381294 +v 0.326006412506 0.188046872616 0.061991870403 +v -0.140351295471 0.145963966846 0.338536977768 +v -0.092543125153 0.133517801762 0.209983170033 +v -0.045091629028 0.219104647636 0.071014165878 +v 0.117162466049 0.138920009136 0.148487687111 +v 0.094516038895 0.211338222027 0.006093084812 +v 0.141849040985 0.167456209660 -0.338641077280 +v -0.132145881653 0.224308967590 -0.168267190456 +v -0.290617465973 0.153861880302 0.041577756405 +v 0.232747793198 0.220157623291 -0.020193576813 +v -0.104435920715 0.156720459461 0.107542216778 +v 0.261220932007 0.215893089771 0.140530586243 +v 0.339339137077 0.144055008888 0.139837384224 +v 0.232198715210 0.238567829132 -0.074207901955 +v 0.139328241348 0.221993207932 -0.251845806837 +v 0.001096725464 0.115566849709 0.232506930828 +v 0.235008478165 0.183093011379 -0.224647879601 +v 0.025869607925 0.220658242702 0.010586977005 +v -0.260028839111 0.142340183258 0.258761763573 +v 0.149353027344 0.195868253708 0.071023166180 +v -0.312650203705 0.150955259800 0.143607854843 +v -0.012047052383 0.257859528065 -0.223151683807 +v -0.092512130737 0.135187923908 0.292060732841 +v -0.015312671661 0.255189657211 -0.138771057129 +v 0.137337684631 0.183658897877 -0.296297132969 +v -0.172811269760 0.177352190018 -0.007483303547 +v 0.223266124725 0.217488348484 0.090728402138 +v 0.064405202866 0.252335906029 -0.226450979710 +v -0.188626766205 0.189203381538 -0.061699330807 +v 0.016028881073 0.124756276608 0.299646496773 +v 0.089669704437 0.233257532120 -0.075778305531 +v 0.139914751053 0.137555956841 0.338332772255 +v 0.284914731979 0.198863744736 -0.022770822048 +v 0.304054975510 0.196833968163 0.028051853180 +v -0.097067356110 0.222885787487 -0.054254412651 +v -0.237313508987 0.144842386246 0.232705712318 +v 0.269050121307 0.216346383095 0.051027357578 +v -0.120793342590 0.202318608761 0.021182298660 +v -0.339625835419 0.138534486294 0.138899505138 +v 0.037177801132 0.231764197350 -0.090419173241 +v 0.143469810486 0.149774491787 0.195432603359 +v 0.293514966965 0.187747895718 -0.097219467163 +v -0.168785572052 0.151870310307 0.060518741608 +v 0.020806550980 0.266882598400 -0.172512531281 +v 0.259666919708 0.145984232426 0.258646607399 +v 0.034334182739 0.252145409584 -0.135116934776 +v -0.140362977982 0.156036436558 -0.339551180601 +v 0.032037258148 0.132924497128 0.150658845901 +v 0.366469740868 0.153844237328 -0.000785291195 +v -0.013993501663 0.172754645348 0.088831484318 +v 0.075382471085 0.258517682552 -0.122498214245 +v -0.144392013550 0.200841248035 -0.234057486057 +v 0.200603008270 0.174400389194 0.172962725163 +v -0.017191648483 0.226316809654 0.000772595406 +v 0.077378988266 0.224100291729 -0.039400041103 +v -0.000497341156 0.134032607079 0.366490840912 +v 0.338284015656 0.156314671040 -0.141668856144 +v -0.153885364532 0.204451203346 -0.099687397480 +v 0.195820569992 0.205458104610 0.131933152676 +v 0.216483592987 0.239142835140 -0.141529560089 +v -0.048132896423 0.252258181572 -0.187425732613 +v 0.048329114914 0.181412041187 0.058874249458 +v 0.297631740570 0.188538789749 0.118461728096 +v 0.094685554504 0.275856882334 -0.177895724773 +v 0.291773080826 0.176003396511 0.168679654598 +v 0.258277654648 0.169047772884 -0.258827954531 +v -0.025267601013 0.222986042500 -0.080369651318 +v -0.082452535629 0.196722209454 -0.287426501513 +v -0.052076101303 0.149037420750 0.130536139011 +v 0.078437328339 0.166446685791 -0.351232022047 +v -0.079320430756 0.196040034294 0.077153921127 +v 0.147503852844 0.252151966095 -0.186089634895 +v -0.237520694733 0.165661454201 -0.003286302090 +v -0.029679536819 0.118149220943 0.186804175377 +v 0.181889533997 0.212109684944 -0.008958518505 +v -0.094622135162 0.229876041412 -0.137650251389 +v 0.069519281387 0.135161101818 0.174413204193 +v 0.278537750244 0.214016139507 0.012907266617 +v -0.000745296478 0.139973580837 0.130587935448 +v 0.161170482635 0.208140671253 0.035515487194 +v -0.166126012802 0.139393448830 0.192975401878 +v 0.290117979050 0.177705764771 -0.146035611629 +v 0.020158529282 0.206230044365 0.052492976189 +v -0.134399890900 0.143064141273 0.142413377762 +v -0.266332864761 0.169014453888 -0.063792705536 +v 0.132324457169 0.250333786011 -0.097359597683 +v 0.001193761826 0.159170746803 -0.367280960083 +v -0.188598394394 0.189268946648 -0.191226005554 +v 0.097879648209 0.156538784504 0.109527528286 +v 0.203623294830 0.224369049072 -0.037161529064 +v -0.129595041275 0.211527705193 -0.041961491108 +v -0.339376449585 0.143820405006 -0.140513777733 +v 0.205133199692 0.213180243969 -0.004063129425 +v 0.233246803284 0.214453101158 -0.008401036263 +v 0.206484079361 0.212388336658 0.016018033028 +v 0.242507219315 0.213977515697 0.010456264019 +v 0.209819316864 0.211635589600 0.041306018829 +v 0.251682043076 0.213515639305 0.034897506237 +v 0.219023942947 0.211915493011 0.102876901627 +v 0.255498886108 0.213328659534 0.102843940258 +v 0.209807872772 0.211321473122 0.073793649673 +v 0.260978460312 0.213306427002 0.070012688637 +v 0.218056917191 0.213957488537 -0.009956002235 +v 0.237318038940 0.212719857693 0.106576442719 +v 0.201871395111 0.223009884357 -0.005214691162 +v 0.234170436859 0.224603056908 -0.010290384293 +v 0.201443910599 0.221436142921 0.017751872540 +v 0.247167825699 0.223902463913 0.009773075581 +v 0.204860687256 0.220546007156 0.042006075382 +v 0.256182670593 0.223231375217 0.033681809902 +v 0.217150449753 0.220006823540 0.104498565197 +v 0.257226705551 0.222062766552 0.105154514313 +v 0.202792167664 0.219771981239 0.074708163738 +v 0.266690969467 0.222605288029 0.069311499596 +v 0.216041564941 0.224303185940 -0.016883432865 +v 0.236886978149 0.220857679844 0.113419055939 +v 0.201165676117 0.241792380810 -0.002464711666 +v 0.235595226288 0.243774831295 -0.008793592453 +v 0.200091838837 0.239008307457 0.019165515900 +v 0.248582601547 0.241591095924 0.009618818760 +v 0.203350067139 0.236650824547 0.041424393654 +v 0.256637573242 0.239299356937 0.032281756401 +v 0.218260288239 0.230036914349 0.104059219360 +v 0.253784656525 0.232075154781 0.103391885757 +v 0.206028461456 0.232413649559 0.076064765453 +v 0.216443300247 0.243729174137 -0.014796018600 +v 0.236021757126 0.231211543083 0.111301779747 +v 0.247812032700 0.238879442215 0.099651157856 +v 0.235158205032 0.239502251148 0.103205502033 +v 0.262071609497 0.235375046730 0.069712936878 +v 0.252540349960 0.260097324848 0.055052101612 +v 0.222467422485 0.237549602985 0.101014792919 +v 0.212550878525 0.258014202118 0.062277555466 +v 0.201892614365 0.345312535763 0.008776485920 +v 0.242216825485 0.349303513765 0.009433805943 +v 0.191249847412 0.342574447393 0.028094410896 +v 0.255865812302 0.346988528967 0.028772234917 +v 0.196735858917 0.339674323797 0.052435636520 +v 0.258110046387 0.343376874924 0.052006244659 +v 0.221249341965 0.348548620939 0.002917945385 +v 0.222075462341 0.356713175774 0.034231722355 +v 0.229865312576 0.337269216776 0.076513707638 +v 0.232888221741 0.263725697994 0.063763737679 +v 0.204312324524 0.270660489798 0.003390491009 +v 0.236067295074 0.272651731968 -0.001152694225 +v 0.200947046280 0.266749739647 0.023094773293 +v 0.249783754349 0.268808007240 0.012558996677 +v 0.202597379684 0.262279391289 0.042629957199 +v 0.255157470703 0.263839781284 0.032649099827 +v 0.218951225281 0.272833973169 -0.005811095238 +v 0.248102664948 0.339510381222 0.071823954582 +v 0.211038351059 0.337233841419 0.072277426720 +v 0.212896347046 0.211532533169 0.087992787361 +v 0.260196208954 0.213362693787 0.086466848850 +v 0.206652641296 0.219657599926 0.088583350182 +v 0.265573501587 0.222268044949 0.086174011230 +v 0.208487510681 0.231236219406 0.089933633804 +v 0.261114358902 0.233485519886 0.086178541183 +v 0.249599456787 0.241804718971 0.087328910828 +v 0.218761682510 0.240887939930 0.090320706367 +v 0.234282970428 0.244165539742 0.089901387691 +v 0.249197959900 0.245250940323 0.071763932705 +v 0.233741044998 0.248610019684 0.075530111790 +v 0.218100309372 0.243478000164 0.076156377792 +v 0.259891033173 0.237450182438 0.052915513515 +v 0.262217521667 0.222825467587 0.053764879704 +v 0.257991552353 0.213336646557 0.054791927338 +v 0.209878206253 0.211354732513 0.060339868069 +v 0.203500509262 0.219918906689 0.060940921307 +v 0.205494880676 0.234648823738 0.060976922512 +v 0.232362031937 0.296486437321 0.068670928478 +v 0.247957706451 0.297481447458 0.058879435062 +v 0.214935302734 0.296461522579 0.063020169735 +v 0.256248474121 0.300734728575 0.041230976582 +v 0.205139160156 0.308436393738 0.010030686855 +v 0.238288879395 0.311282992363 0.009258210659 +v 0.199443340302 0.304088622332 0.028930902481 +v 0.251448392868 0.306685805321 0.022934615612 +v 0.202795028687 0.299219369888 0.047689616680 +v 0.221186876297 0.311318457127 0.002745151520 +v 0.225008487701 0.352216601372 0.053049981594 +v 0.202267408371 0.358467698097 0.014773547649 +v 0.193837165833 0.356905907393 0.031560063362 +v 0.200456142426 0.354091018438 0.051699697971 +v 0.214915990829 0.351570516825 0.066617071629 +v 0.227507829666 0.352972269058 0.069517612457 +v 0.240033149719 0.354288905859 0.067502856255 +v 0.247437715530 0.356183379889 0.048327982426 +v 0.255626201630 0.361346334219 0.031195163727 +v 0.243300676346 0.363204896450 0.016159296036 +v 0.220804214478 0.361127465963 0.011520028114 +v -0.006412744522 0.219254732132 -0.070368289948 +v -0.034497737885 0.219416260719 -0.075179994106 +v -0.007551431656 0.219255983829 -0.050698041916 +v -0.043589591980 0.219416618347 -0.056793034077 +v -0.010588407516 0.219317317009 -0.025610864162 +v -0.052551269531 0.219525873661 -0.032343029976 +v -0.019434452057 0.219501733780 0.036931097507 +v -0.056055307388 0.219407021999 0.036677896976 +v -0.010255813599 0.219376742840 0.007310867310 +v -0.061593055725 0.219416677952 0.003298044205 +v -0.019374847412 0.219313621521 -0.076339542866 +v -0.037804126740 0.219456374645 0.040600121021 +v -0.003419399261 0.229272305965 -0.072110950947 +v -0.035720348358 0.229651033878 -0.077736675739 +v -0.002564668655 0.228819966316 -0.049440383911 +v -0.048538923264 0.229538142681 -0.058115601540 +v -0.005802154541 0.228773951530 -0.025171041489 +v -0.057313680649 0.229480981827 -0.033867120743 +v -0.017800569534 0.228000402451 0.038410604000 +v -0.058048009872 0.228443384171 0.038873791695 +v -0.003192663193 0.228343427181 0.008078634739 +v -0.067610979080 0.228918552399 0.002470076084 +v -0.017654657364 0.229513227940 -0.083801627159 +v -0.037597417831 0.228035628796 0.047402024269 +v -0.003135919571 0.248828172684 -0.071072876453 +v -0.037687301636 0.249413430691 -0.078146457672 +v -0.001599311829 0.247187077999 -0.049244463444 +v -0.050426006317 0.247864484787 -0.059458792210 +v -0.004717350006 0.245696306229 -0.026384413242 +v -0.058178663254 0.246295332909 -0.035779118538 +v -0.019185543060 0.238504111767 0.037673413754 +v -0.054839372635 0.239117026329 0.036907553673 +v -0.006999969482 0.241730749607 0.009231150150 +v -0.018567800522 0.249538004398 -0.083647012711 +v -0.037009954453 0.238889813423 0.044985234737 +v -0.049028873444 0.246678113937 0.033095300198 +v -0.036361932755 0.247815668583 0.036695182323 +v -0.063289403915 0.242662429810 0.002855598927 +v -0.054507970810 0.268849194050 -0.014230966568 +v -0.023601055145 0.246319174767 0.034479141235 +v -0.014294147491 0.268415987492 -0.006592750549 +v -0.007125854492 0.352546513081 -0.070307731628 +v -0.047215461731 0.354491233826 -0.074513196945 +v 0.003531694412 0.351069599390 -0.050791621208 +v -0.060627460480 0.352100074291 -0.057532072067 +v -0.001306772232 0.349359750748 -0.028730213642 +v -0.062292337418 0.349174886942 -0.036085724831 +v -0.026328802109 0.354579001665 -0.078574538231 +v -0.027374744415 0.363825768232 -0.050758659840 +v -0.033916950226 0.346315592527 -0.004494011402 +v -0.034796714783 0.273458153009 -0.005827486515 +v -0.007123708725 0.278406739235 -0.068862497807 +v -0.038926839828 0.278996378183 -0.074869096279 +v -0.003371477127 0.275840729475 -0.048226654530 +v -0.052319049835 0.275491327047 -0.060075223446 +v -0.004662275314 0.272252291441 -0.027530074120 +v -0.057320117950 0.271499335766 -0.038320362568 +v -0.021856307983 0.279480308294 -0.079001605511 +v -0.051886796951 0.346334606409 -0.018019616604 +v -0.015472888947 0.347499132156 -0.012708246708 +v -0.013341426849 0.219453394413 0.021781980991 +v -0.060760498047 0.219377577305 0.020002603531 +v -0.007234573364 0.228128254414 0.022226035595 +v -0.066421747208 0.228480756283 0.019553661346 +v -0.009428262711 0.240280926228 0.023335456848 +v -0.062236309052 0.240545749664 0.019495189190 +v -0.050906419754 0.249981880188 0.020713865757 +v -0.019988298416 0.250182330608 0.023671388626 +v -0.035615205765 0.253143727779 0.023297965527 +v -0.050571680069 0.253851354122 0.004940390587 +v -0.035207986832 0.258085966110 0.008688688278 +v -0.019476890564 0.253200232983 0.009263873100 +v -0.061208486557 0.244841516018 -0.014327108860 +v -0.063190460205 0.229270637035 -0.013317525387 +v -0.058711767197 0.219515621662 -0.012146055698 +v -0.010442733765 0.219379901886 -0.006376981735 +v -0.004127025604 0.228489577770 -0.005963206291 +v -0.006670236588 0.244056880474 -0.006213486195 +v -0.035041809082 0.306504577398 -0.012205660343 +v -0.050817012787 0.305917531252 -0.022203505039 +v -0.017575979233 0.306866586208 -0.015941679478 +v -0.059380531311 0.307994395494 -0.039807379246 +v -0.009127378464 0.316277623177 -0.068142294884 +v -0.042343616486 0.317533701658 -0.072862088680 +v -0.003009557724 0.313361108303 -0.048151373863 +v -0.055118322372 0.313115835190 -0.059049367905 +v -0.005843162537 0.309433162212 -0.029619455338 +v -0.025185585022 0.317963033915 -0.077642977238 +v -0.029360532761 0.360437393188 -0.033840239048 +v -0.013695001602 0.365091145039 -0.063374280930 +v -0.005713224411 0.364561080933 -0.049769103527 +v -0.006861448288 0.363386452198 -0.031659960747 +v -0.019543409348 0.360915482044 -0.018560290337 +v -0.032689571381 0.360493153334 -0.010817825794 +v -0.045087814331 0.359358161688 -0.021629929543 +v -0.058130502701 0.362013280392 -0.034903645515 +v -0.055710792542 0.363338232040 -0.056892096996 +v -0.040955543518 0.367505073547 -0.065858364105 +v -0.026666879654 0.366931766272 -0.066344976425 +v 0.019335746765 0.891146719456 0.147463440895 +v 0.077193498611 0.876855552197 -0.156872689724 +v 0.077016353607 0.674709022045 -0.110481500626 +v 0.026651859283 0.777218222618 0.134643375874 +v 0.027640104294 0.662163913250 0.117864131927 +v 0.092115879059 0.819933474064 0.165385544300 +v 0.022340536118 0.851363182068 0.150859296322 +v 0.081831455231 0.861464142799 0.176887631416 +v 0.145524740219 0.883852779865 0.172923028469 +v 0.158493518829 0.841617703438 0.157872855663 +v 0.277504920959 1.007843017578 0.047269701958 +v 0.272853851318 1.025377511978 0.051120281219 +v 0.286534786224 1.034585952759 0.047402620316 +v 0.302318572998 0.995641767979 0.049039125443 +v 0.262354612350 0.997510433197 0.039628624916 +v 0.254748582840 1.029515981674 0.052300691605 +v 0.286922931671 0.964170455933 0.051867485046 +v 0.263444900513 0.934777021408 -0.010773301125 +v 0.278232336044 0.898669064045 -0.017279744148 +v 0.282225131989 0.895403862000 -0.048148393631 +v 0.268206119537 0.922013401985 -0.048899114132 +v 0.263873815536 0.932216346264 -0.047488868237 +v 0.249542474747 0.950950801373 -0.014343142509 +v 0.242866039276 0.973144650459 0.013231754303 +v 0.257011651993 0.958706617355 0.025045931339 +v 0.272060394287 0.937663674355 0.036257743835 +v 0.267414808273 0.922991752625 0.012871444225 +v 0.282770156860 0.902756571770 0.011130094528 +v 0.123666524887 0.582465767860 -0.075673460960 +v 0.149766921997 0.525964796543 -0.038310170174 +v 0.177918195724 0.547954797745 -0.041567981243 +v 0.164103984833 0.607049584389 -0.064459025860 +v 0.103845834732 0.528503477573 -0.026832699776 +v 0.132575511932 0.506744384766 -0.010294854641 +v 0.262545824051 0.962624549866 -0.120018243790 +v 0.277079582214 0.942464232445 -0.121075093746 +v 0.283565044403 0.978037595749 -0.130021154881 +v 0.242907762527 1.002508759499 -0.135505557060 +v 0.261280298233 0.944051027298 -0.092559337616 +v 0.272555112839 0.925887763500 -0.087273895741 +v 0.231066703796 0.961506426334 -0.136641144753 +v 0.218405961990 0.840843498707 0.091216206551 +v 0.210432529449 0.794565856457 0.084894001484 +v 0.186074256897 0.768438935280 0.106157541275 +v 0.168217658997 0.802124977112 0.130858242512 +v 0.239678859711 0.831269502640 0.040043413639 +v 0.225566387177 0.781253993511 0.055830478668 +v 0.209580659866 0.882061362267 0.132225513458 +v 0.155940294266 0.740337014198 0.119884729385 +v 0.106715440750 0.770864248276 0.151021718979 +v 0.178981781006 0.699676811695 0.084566056728 +v 0.182432651520 0.725065171719 0.095114350319 +v 0.204370975494 0.743299126625 0.076818108559 +v 0.213043212891 0.707077801228 0.041539013386 +v 0.136242151260 0.711864829063 0.109547138214 +v 0.155378341675 0.589013695717 0.109423935413 +v 0.137723207474 0.638659536839 0.112122654915 +v 0.171539545059 0.636296868324 0.090351223946 +v 0.201073408127 0.608585000038 0.070430636406 +v 0.217098474503 0.565734565258 0.062991678715 +v 0.191636562347 0.555289149284 0.088190674782 +v 0.150764703751 1.090515971184 0.031594216824 +v 0.133168458939 1.064684152603 0.068517208099 +v 0.107606649399 1.083139657974 0.037304639816 +v 0.119329452515 1.104554176331 0.014675736427 +v 0.187176704407 1.110415458679 0.029244542122 +v 0.202834844589 1.080092191696 0.052686989307 +v 0.179083585739 1.058245539665 0.064180791378 +v 0.160923242569 1.034242868423 0.096240758896 +v 0.254607439041 1.061115264893 0.052536368370 +v 0.220592498779 1.047652482986 0.058174490929 +v 0.231979370117 1.086294531822 0.047397136688 +v 0.231719017029 1.019516706467 0.049612939358 +v 0.293545246124 0.912459313869 0.040535092354 +v 0.235724687576 1.107659101486 0.028177142143 +v 0.274882793427 1.085638523102 0.028672218323 +v 0.096796751022 0.524665117264 0.020752966404 +v 0.121049642563 1.164031744003 -0.039851784706 +v 0.109050750732 1.171761870384 -0.060386240482 +v 0.151132822037 1.143172383308 -0.073541879654 +v 0.162862539291 1.139242529869 -0.047275900841 +v 0.166463375092 1.129762411118 -0.013145327568 +v 0.125269412994 1.148490905762 -0.022257208824 +v 0.222014427185 1.136164307594 -0.085919082165 +v 0.229552507401 1.134870767593 -0.049831032753 +v 0.233881950378 1.128509044647 -0.008981227875 +v 0.281436681747 1.108168125153 -0.051254689693 +v 0.281991004944 1.102712631226 -0.009698688984 +v 0.317685604095 1.067490458488 -0.049807429314 +v 0.317203044891 1.065495610237 -0.009583413601 +v 0.306344747543 1.052000999451 0.026935875416 +v 0.343569040298 1.024486541748 -0.007518947124 +v 0.329200625420 1.013627648354 0.025783419609 +v 0.366793274879 0.985834360123 -0.007350325584 +v 0.354122877121 0.976988136768 0.026278495789 +v 0.334745645523 0.958747029305 0.052049517632 +v 0.379283428192 0.947536230087 0.020861685276 +v 0.362321138382 0.928932666779 0.043664336205 +v 0.342812895775 0.907195210457 0.044864654541 +v 0.314275741577 0.935671687126 0.057043790817 +v 0.319790363312 0.888074278831 0.029314041138 +v 0.379310607910 0.902640283108 0.024499237537 +v 0.358928322792 0.880074322224 0.019105792046 +v 0.338169336319 0.861247479916 0.001740396023 +v 0.400299787521 0.877586364746 0.025739133358 +v 0.380050063133 0.852149724960 0.022235631943 +v 0.363364696503 0.827350735664 0.010587811470 +v 0.362974047661 0.811894834042 -0.017841279507 +v 0.332549810410 0.850514173508 -0.031367659569 +v 0.376002192497 0.802355408669 -0.049095809460 +v 0.339113950729 0.838486850262 -0.071368515491 +v 0.312850952148 0.871554672718 -0.076692581177 +v 0.306100845337 0.872793436050 -0.043697237968 +v 0.402581334114 0.810562849045 -0.068494379520 +v 0.367998600006 0.846436321735 -0.105324327946 +v 0.326204538345 0.882910430431 -0.107103466988 +v 0.432064533234 0.831387817860 -0.069692969322 +v 0.409785628319 0.862663328648 -0.103722870350 +v 0.452204942703 0.860042333603 -0.057465374470 +v 0.432444095612 0.890474557877 -0.088653087616 +v 0.403483510017 0.924710273743 -0.103032827377 +v 0.390702843666 0.900007128716 -0.125450611115 +v 0.458554625511 0.884764671326 -0.038810074329 +v 0.440712213516 0.916401028633 -0.064721584320 +v 0.409626007080 0.946123480797 -0.076701641083 +v 0.377049446106 0.978414773941 -0.079899370670 +v 0.369030594826 0.959930837154 -0.107197761536 +v 0.434939265251 0.931571722031 -0.036256074905 +v 0.403420209885 0.955381631851 -0.043758153915 +v 0.375007867813 0.986278414726 -0.043334543705 +v 0.346902847290 1.024103283882 -0.045506417751 +v 0.346037387848 1.015392422676 -0.082815170288 +v 0.391106963158 0.955277502537 -0.011757612228 +v 0.418347239494 0.931938529015 -0.009633421898 +v 0.398629426956 0.921277165413 0.011540293694 +v 0.441792011261 0.907627224922 0.005505323410 +v 0.420485854149 0.897287666798 0.019965410233 +v 0.454711556435 0.901762425900 -0.017239570618 +v 0.312911748886 1.057415366173 -0.085565030575 +v 0.301878452301 1.036462783813 -0.110103130341 +v 0.341517090797 0.998458266258 -0.115687966347 +v 0.291906356812 1.012423157692 -0.127237200737 +v 0.328496098518 0.970709323883 -0.136209249496 +v 0.354727029800 0.934686720371 -0.121113419533 +v 0.311561107635 0.939342975616 -0.134227514267 +v 0.340052127838 0.908680558205 -0.124131619930 +v 0.367459774017 0.884051918983 -0.123385787010 +v 0.297220230103 0.911664009094 -0.117913901806 +v 0.289204835892 0.899315834045 -0.083201110363 +v 0.250025033951 1.053760290146 -0.137834787369 +v 0.264823913574 1.083865046501 -0.119606435299 +v 0.201839447021 1.117434144020 -0.118024945259 +v 0.189693689346 1.079212427139 -0.142952740192 +v 0.277281999588 1.102975010872 -0.089239239693 +v 0.120431184769 1.085181832314 -0.138198077679 +v 0.121253252029 1.037931799889 -0.155860960484 +v 0.184354066849 1.029958724976 -0.157751560211 +v 0.119925260544 1.132153749466 -0.108325600624 +v 0.123482465744 0.987731099129 -0.170279264450 +v 0.180538892746 0.979573845863 -0.163978517056 +v 0.125545501709 0.932765841484 -0.173250615597 +v 0.179258108139 0.925383329391 -0.162734568119 +v 0.227316141129 0.914090216160 -0.128659784794 +v 0.178707361221 0.866539001465 -0.151616394520 +v 0.224370002747 0.859528779984 -0.116147398949 +v 0.256502151489 0.857412219048 -0.071282267570 +v 0.259006500244 0.905853331089 -0.084065675735 +v 0.258020401001 0.867200314999 -0.023059964180 +v 0.263725519180 0.906981647015 -0.038188934326 +v 0.246686458588 0.885027527809 0.019917786121 +v 0.248519420624 0.927023947239 0.000404238701 +v 0.239131689072 0.904338777065 0.060729622841 +v 0.241918325424 0.948883771896 0.032647311687 +v 0.229748249054 0.932023048401 0.094542920589 +v 0.231833934784 0.972128450871 0.056386351585 +v 0.237094879150 0.996514856815 0.032092094421 +v 0.225894212723 0.997993648052 0.079689145088 +v 0.216531753540 0.964301168919 0.116260170937 +v 0.190495014191 0.998777031898 0.114465355873 +v 0.204521656036 1.026806235313 0.079624712467 +v 0.192690134048 0.921263933182 0.150567412376 +v 0.164333105087 0.961874485016 0.145105898380 +v 0.135314941406 1.002291202545 0.123882234097 +v 0.122396469116 0.928251743317 0.165373027325 +v 0.099461555481 0.973314642906 0.142395615578 +v 0.080953598022 1.017653703690 0.112643778324 +v 0.110545635223 1.040468931198 0.096353948116 +v 0.067555904388 1.051582455635 0.072920858860 +v 0.089736461639 1.065327763557 0.058615803719 +v 0.057373523712 0.952757716179 0.147553682327 +v 0.047913312912 1.000822305679 0.117389440536 +v 0.042551279068 1.041895747185 0.078767657280 +v 0.069515228271 0.905283331871 0.168992578983 +v 0.244445800781 0.817365288734 -0.006311953068 +v 0.244346380234 0.804270505905 -0.054641485214 +v 0.217851400375 0.751652359962 -0.033641099930 +v 0.227277755737 0.763818323612 0.012114584446 +v 0.197771310806 0.745314657688 -0.074247181416 +v 0.188985824585 0.683782935143 -0.054120063782 +v 0.209798336029 0.693763196468 -0.014226317406 +v 0.216273546219 0.801639676094 -0.098835766315 +v 0.174543857574 0.806066751480 -0.130712211132 +v 0.165594577789 0.745285034180 -0.103144109249 +v 0.123121976852 0.748481452465 -0.116453528404 +v 0.120306491852 0.673266887665 -0.099647700787 +v 0.158249378204 0.678283751011 -0.080645978451 +v 0.126316308975 0.812821507454 -0.142758727074 +v 0.126960277557 0.873750686646 -0.163805663586 +v 0.068856477737 0.984705030918 -0.177298188210 +v 0.055420398712 1.084348678589 -0.154314756393 +v 0.046322107315 1.128087520599 -0.128710865974 +v 0.075109720230 0.593776226044 -0.089249253273 +v 0.192573547363 0.621916353703 -0.036496400833 +v 0.203611850739 0.571760535240 -0.021339297295 +v 0.217868804932 0.595229387283 0.017003238201 +v 0.213207960129 0.638992846012 0.003613412380 +v 0.204703092575 0.652575969696 0.048748970032 +v 0.170325040817 0.665199697018 0.078543841839 +v 0.130563020706 0.677610635757 0.104269742966 +v 0.083450555801 0.650120198727 0.126545190811 +v 0.081408262253 0.691678225994 0.131133735180 +v 0.086372137070 0.729118704796 0.137566983700 +v 0.026894569397 0.740492343903 0.127000212669 +v 0.088793277740 0.606545627117 0.116948366165 +v 0.091482639313 0.568313062191 0.093596041203 +v 0.093423366547 0.540040552616 0.060054659843 +v 0.137021780014 0.550631523132 0.090929865837 +v 0.129982471466 0.524636745453 0.061635315418 +v 0.129219055176 0.512163639069 0.027145802975 +v 0.155890464783 0.512163281441 0.061540365219 +v 0.151852607727 0.501129508018 0.032996356487 +v 0.151466369629 0.490233093500 0.004889369011 +v 0.164501428604 0.473722547293 0.017774462700 +v 0.166211366653 0.483703285456 0.041170895100 +v 0.176519632339 0.462068229914 0.050208270550 +v 0.178006410599 0.457004278898 0.029782295227 +v 0.190201759338 0.459076434374 0.014697730541 +v 0.178750276566 0.478803396225 0.000907838345 +v 0.166320323944 0.497839301825 -0.015286624432 +v 0.207526922226 0.465957105160 0.009304404259 +v 0.199348926544 0.490522235632 -0.004005312920 +v 0.189775466919 0.514920592308 -0.020356297493 +v 0.225358963013 0.475811570883 0.017339110374 +v 0.221742391586 0.505469441414 0.004819691181 +v 0.213993549347 0.536153674126 -0.007584154606 +v 0.236834526062 0.485237836838 0.038113415241 +v 0.233140468597 0.520117580891 0.029869019985 +v 0.226602554321 0.556548476219 0.023947119713 +v 0.239451885223 0.491162627935 0.065631270409 +v 0.229833841324 0.528143048286 0.060667395592 +v 0.239911079407 0.454511433840 0.042522192001 +v 0.245521306992 0.457225382328 0.067053318024 +v 0.237636566162 0.455539733171 0.084717154503 +v 0.226967334747 0.489047199488 0.082951843739 +v 0.211964607239 0.523329734802 0.080300390720 +v 0.217800378799 0.450385510921 0.087392747402 +v 0.206350564957 0.480243116617 0.084223449230 +v 0.190374135971 0.509804129601 0.078286647797 +v 0.183592557907 0.468741506338 0.072134256363 +v 0.173839807510 0.494874238968 0.062670707703 +v 0.168895244598 0.532966911793 0.083921194077 +v 0.194311380386 0.443297296762 0.078714847565 +v 0.186420440674 0.440069437027 0.057327508926 +v 0.193065404892 0.417387604713 0.057190775871 +v 0.203305721283 0.417975842953 0.076225996017 +v 0.205404996872 0.391247153282 0.066273987293 +v 0.194074869156 0.392329305410 0.049775362015 +v 0.190062761307 0.393557667732 0.030566751957 +v 0.192551136017 0.417236864567 0.037556171417 +v 0.188753843307 0.438155025244 0.037616431713 +v 0.199758052826 0.395951777697 0.012652158737 +v 0.201189756393 0.418664783239 0.020802915096 +v 0.198827505112 0.439186781645 0.022741913795 +v 0.220117330551 0.398994356394 0.008019566536 +v 0.217715263367 0.422239899635 0.015295565128 +v 0.213492631912 0.443650007248 0.018471002579 +v 0.236896991730 0.400686651468 0.011681675911 +v 0.232114553452 0.425558745861 0.022678315639 +v 0.227942943573 0.449451982975 0.025451838970 +v 0.247877597809 0.399994522333 0.024417579174 +v 0.242132186890 0.427206337452 0.038007915020 +v 0.250198125839 0.367911368608 0.023290991783 +v 0.239138841629 0.370674878359 0.011764705181 +v 0.234215259552 0.326959192753 0.024860799313 +v 0.239667415619 0.325394153595 0.032651007175 +v 0.239298582077 0.323285490274 0.041500747204 +v 0.250197172165 0.363285213709 0.041953921318 +v 0.248555660248 0.397186785936 0.044638574123 +v 0.236860036850 0.320421725512 0.050307810307 +v 0.239134788513 0.358723700047 0.058663964272 +v 0.239214897156 0.393967717886 0.063256323338 +v 0.230540990829 0.316507697105 0.058507502079 +v 0.225771665573 0.354905188084 0.069335877895 +v 0.224077701569 0.390892267227 0.075807273388 +v 0.220066547394 0.317402213812 0.054555177689 +v 0.211529970169 0.357036679983 0.059551179409 +v 0.212295293808 0.320155978203 0.044720351696 +v 0.198891878128 0.359852999449 0.045892953873 +v 0.208841085434 0.323172211647 0.033653140068 +v 0.194800376892 0.364280372858 0.028407096863 +v 0.212930202484 0.325841575861 0.024493038654 +v 0.203210353851 0.368161261082 0.013654232025 +v 0.223614931107 0.327202796936 0.020913243294 +v 0.221999883652 0.371129333973 0.011114120483 +v 0.299593925476 0.875928103924 -0.016731262207 +v 0.305377960205 0.881739974022 0.006167829037 +v 0.124761581421 1.127089619637 -0.005370020866 +v 0.144920587540 1.114051818848 -0.000504493713 +v 0.320274353027 0.867451727390 -0.003048002720 +v 0.317344665527 0.863656222820 -0.015280425549 +v 0.081691741943 1.171155452728 -0.082533001900 +v 0.489620566368 0.754746913910 0.055047810078 +v 0.492703795433 0.744488835335 0.057417750359 +v 0.500872254372 0.748085975647 0.052790284157 +v 0.503330826759 0.759612381458 0.050021946430 +v 0.455907583237 0.767686963081 0.180662214756 +v 0.448605775833 0.763490140438 0.179388940334 +v 0.454131126404 0.774452686310 0.183209419250 +v 0.512239336967 0.719803869724 0.108971118927 +v 0.513665318489 0.712346911430 0.098931610584 +v 0.501137852669 0.723156571388 0.088684141636 +v 0.498448848724 0.729723930359 0.098093867302 +v 0.506369471550 0.735136747360 0.129543185234 +v 0.510510444641 0.727772593498 0.119067549706 +v 0.495698451996 0.736607313156 0.107330560684 +v 0.491642713547 0.742265939713 0.117717981339 +v 0.492995619774 0.730934858322 0.070337891579 +v 0.488109588623 0.732578217983 0.080537736416 +v 0.505285978317 0.719612061977 0.078231096268 +v 0.525172829628 0.681995272636 0.167945027351 +v 0.521392345428 0.683978497982 0.175799846649 +v 0.521812319756 0.691806197166 0.180061340332 +v 0.519139647484 0.787753224373 0.090079247952 +v 0.529436826706 0.773348331451 0.102756619453 +v 0.523522257805 0.779470205307 0.115589499474 +v 0.511284351349 0.795331001282 0.102586388588 +v 0.539867997169 0.729618787766 0.089468300343 +v 0.531417727470 0.747590124607 0.073452115059 +v 0.527307748795 0.738277912140 0.066966652870 +v 0.535834193230 0.725835144520 0.077996909618 +v 0.523569345474 0.720503687859 0.128831326962 +v 0.526804924011 0.719818413258 0.135298848152 +v 0.537645578384 0.725556254387 0.133212625980 +v 0.540601491928 0.730802595615 0.123283326626 +v 0.534850597382 0.748413085938 0.143720269203 +v 0.533050775528 0.738149583340 0.147188425064 +v 0.521691203117 0.732560038567 0.148685574532 +v 0.515544414520 0.738024771214 0.147808253765 +v 0.521300554276 0.711467444897 0.118006944656 +v 0.506483316422 0.747644484043 0.153991520405 +v 0.502677559853 0.742156207561 0.140237092972 +v 0.501390576363 0.751134574413 0.149526238441 +v 0.541826605797 0.742310583591 0.123451471329 +v 0.541710376740 0.746488988400 0.128475904465 +v 0.540703296661 0.751621305943 0.123491525650 +v 0.541983366013 0.746656119823 0.119618058205 +v 0.532743930817 0.764434099197 0.148749291897 +v 0.529609441757 0.768829822540 0.144122123718 +v 0.533065080643 0.763605058193 0.139945745468 +v 0.534711122513 0.759675085545 0.143647730350 +v 0.519114732742 0.724147796631 0.142600655556 +v 0.515840530396 0.728727519512 0.137992262840 +v 0.540112376213 0.734770715237 0.138869524002 +v 0.540696740150 0.740617036819 0.133606433868 +v 0.522036075592 0.709590852261 0.079642355442 +v 0.515752315521 0.708322763443 0.088428199291 +v 0.523067712784 0.698891818523 0.096575498581 +v 0.528108596802 0.700006604195 0.087751507759 +v 0.538988947868 0.715688526630 0.081110537052 +v 0.540867447853 0.712676644325 0.084093391895 +v 0.543041229248 0.715164959431 0.088397443295 +v 0.540838479996 0.719581723213 0.084006726742 +v 0.506251692772 0.761048257351 0.153887510300 +v 0.509725928307 0.757334053516 0.158531010151 +v 0.525017738342 0.770337998867 0.149724423885 +v 0.527247309685 0.767623901367 0.152778089046 +v 0.526124477386 0.703662514687 0.107429325581 +v 0.541818618774 0.721548616886 0.089130938053 +v 0.543096542358 0.717609286308 0.092653989792 +v 0.514024734497 0.685954689980 0.172047317028 +v 0.515303611755 0.692099928856 0.177232980728 +v 0.518338084221 0.682923436165 0.165953993797 +v 0.535277485847 0.708344936371 0.147681176662 +v 0.524157166481 0.704845070839 0.148237943649 +v 0.523532152176 0.699540019035 0.152397453785 +v 0.534913420677 0.702481508255 0.152555465698 +v 0.519562959671 0.716747760773 0.161118566990 +v 0.530426263809 0.720963180065 0.161624073982 +v 0.530594706535 0.714648783207 0.166401624680 +v 0.519082903862 0.711292505264 0.165497899055 +v 0.516831398010 0.709372937679 0.154453039169 +v 0.516183376312 0.703925609589 0.158576548100 +v 0.538677573204 0.715157747269 0.155361831188 +v 0.538471341133 0.711140751839 0.158608913422 +v 0.533556699753 0.693566560745 0.159267961979 +v 0.521171927452 0.692192018032 0.156506180763 +v 0.519478797913 0.686819851398 0.160811662674 +v 0.531105518341 0.687699437141 0.163550257683 +v 0.516932487488 0.704223155975 0.170683681965 +v 0.529407978058 0.705302298069 0.173214852810 +v 0.527298688889 0.699028372765 0.177262067795 +v 0.515662312508 0.698305785656 0.174661695957 +v 0.512620925903 0.697871327400 0.162089228630 +v 0.511643767357 0.691746532917 0.166646361351 +v 0.537143468857 0.698810040951 0.168046832085 +v 0.535217404366 0.695275962353 0.170467853546 +v 0.537539839745 0.719420015812 0.138411521912 +v 0.526125192642 0.715106844902 0.139984965324 +v 0.524770259857 0.710178494453 0.144071102142 +v 0.534347414970 0.711749315262 0.141898036003 +v 0.521291613579 0.727184534073 0.152451038361 +v 0.531763315201 0.732593894005 0.152449965477 +v 0.526586532593 0.727051615715 0.158230066299 +v 0.519834280014 0.721794843674 0.156188130379 +v 0.519172072411 0.719282746315 0.146682977676 +v 0.518319606781 0.714717566967 0.150376081467 +v 0.542425036430 0.726674139500 0.146438956261 +v 0.541626691818 0.720945656300 0.142000854015 +v 0.540896654129 0.716939508915 0.144021809101 +v 0.542814254761 0.723198592663 0.149447917938 +v 0.538549065590 0.730741381645 0.152049660683 +v 0.537324070930 0.727843642235 0.155685722828 +v 0.540292024612 0.714531242847 0.147353291512 +v 0.541417002678 0.719230473042 0.152375280857 +v 0.537661671638 0.723493218422 0.157489120960 +v 0.522315740585 0.696558475494 0.153652429581 +v 0.532957553864 0.696634590626 0.154145359993 +v 0.526823282242 0.710777997971 0.170685768127 +v 0.517996311188 0.707997262478 0.167178988457 +v 0.514600038528 0.702156662941 0.159258484840 +v 0.540738582611 0.708825647831 0.160881042480 +v 0.539718866348 0.703809440136 0.156380772591 +v 0.539808750153 0.700395345688 0.157848179340 +v 0.541602373123 0.705698668957 0.163604915142 +v 0.537238717079 0.712285995483 0.166008591652 +v 0.536659955978 0.709942877293 0.169121146202 +v 0.539298772812 0.698089897633 0.160789132118 +v 0.540274739265 0.702055811882 0.166186392307 +v 0.536662101746 0.706197261810 0.170638501644 +v 0.540821313858 0.729771852493 0.143572688103 +v 0.534619212151 0.690335750580 0.174641072750 +v 0.534919500351 0.687159657478 0.171165943146 +v 0.534467816353 0.684770822525 0.172516167164 +v 0.533648490906 0.687150001526 0.176869094372 +v 0.533669948578 0.692957580090 0.178517937660 +v 0.532203197479 0.690804123878 0.179874420166 +v 0.528633236885 0.684847950935 0.177231550217 +v 0.531227588654 0.682927608490 0.170618474483 +v 0.534844160080 0.687096238136 0.168217778206 +v 0.534787893295 0.692861855030 0.172489643097 +v 0.532088637352 0.695515155792 0.178507089615 +v 0.528244614601 0.691161870956 0.180853903294 +v 0.542320370674 0.728663325310 0.099375784397 +v 0.542763829231 0.724370181561 0.102947711945 +v 0.543692111969 0.728317677975 0.108140170574 +v 0.543245792389 0.733878433704 0.103289365768 +v 0.539205074310 0.750491321087 0.133062005043 +v 0.538523197174 0.754346132278 0.129205644131 +v 0.543280839920 0.732618570328 0.112749457359 +v 0.543036103249 0.737028181553 0.108903169632 +v 0.531576871872 0.715822875500 0.076436996460 +v 0.537781238556 0.706454157829 0.084965169430 +v 0.516264319420 0.770024180412 0.150568723679 +v 0.521349906921 0.763900756836 0.157923758030 +v 0.548167467117 0.667905509472 0.148447632790 +v 0.546362757683 0.670237898827 0.157298624516 +v 0.545064449310 0.678077816963 0.161700785160 +v 0.530092954636 0.702552258968 0.114723563194 +v 0.540755271912 0.707639873028 0.112147867680 +v 0.542485356331 0.714294910431 0.102276742458 +v 0.538369178772 0.719116032124 0.127693057060 +v 0.527642726898 0.713942587376 0.130929112434 +v 0.524290800095 0.705752372742 0.123955726624 +v 0.543419122696 0.722295403481 0.112965941429 +v 0.543574094772 0.715997815132 0.118450582027 +v 0.538602828979 0.668676257133 0.156609654427 +v 0.538909435272 0.675573229790 0.161329925060 +v 0.541661739349 0.665838003159 0.149098932743 +v 0.544516205788 0.691595375538 0.125912368298 +v 0.534333825111 0.686268508434 0.128116250038 +v 0.535755872726 0.680908918381 0.132590770721 +v 0.546100020409 0.686485588551 0.130807101727 +v 0.530930757523 0.697768330574 0.144220829010 +v 0.540539383888 0.703372836113 0.142738342285 +v 0.542316913605 0.698138594627 0.147101879120 +v 0.532684803009 0.692637383938 0.148399233818 +v 0.528201103210 0.689944863319 0.137334823608 +v 0.529621005058 0.684429168701 0.141547918320 +v 0.547267079353 0.699201166630 0.134586215019 +v 0.548285603523 0.695777177811 0.137413918972 +v 0.549032688141 0.678514897823 0.138707518578 +v 0.538316488266 0.672254383564 0.139705061913 +v 0.539997816086 0.668147265911 0.143931210041 +v 0.549917817116 0.673808932304 0.142802059650 +v 0.535045385361 0.684714317322 0.155533432961 +v 0.545179843903 0.690104901791 0.154163777828 +v 0.546261072159 0.685271203518 0.157988131046 +v 0.536641716957 0.680283010006 0.159242749214 +v 0.531511306763 0.676025629044 0.148519396782 +v 0.533580183983 0.671684741974 0.152756392956 +v 0.551849842072 0.686028897762 0.146424531937 +v 0.552071809769 0.683168113232 0.148839414120 +v 0.542264461517 0.702010095119 0.117023289204 +v 0.531574487686 0.696618914604 0.119827747345 +v 0.533209562302 0.691803276539 0.124981045723 +v 0.542015671730 0.694402575493 0.120017051697 +v 0.527886033058 0.708098948002 0.135989665985 +v 0.538574695587 0.713628768921 0.133871257305 +v 0.536827564240 0.708746492863 0.140737891197 +v 0.529211044312 0.702663362026 0.140047073364 +v 0.525272846222 0.700050890446 0.129155695438 +v 0.527511239052 0.695425748825 0.133208036423 +v 0.547236084938 0.709693551064 0.126150548458 +v 0.546826839447 0.704466640949 0.120804965496 +v 0.547609567642 0.700840175152 0.122550547123 +v 0.548392534256 0.706934809685 0.128966629505 +v 0.544142603874 0.712298274040 0.132492303848 +v 0.544166088104 0.709887802601 0.136017978191 +v 0.548007726669 0.698595046997 0.125999212265 +v 0.548170447350 0.703358292580 0.131739497185 +v 0.545077085495 0.706430852413 0.137581646442 +v 0.536803126335 0.676721870899 0.136981487274 +v 0.546262025833 0.680178046227 0.133575916290 +v 0.541578054428 0.694177865982 0.152556836605 +v 0.533885598183 0.688042283058 0.151733100414 +v 0.530973911285 0.680204808712 0.144950151443 +v 0.550747156143 0.694574475288 0.139328360558 +v 0.550565600395 0.689205110073 0.134101927280 +v 0.551587820053 0.686272799969 0.135594725609 +v 0.551995396614 0.692323207855 0.141612648964 +v 0.547929286957 0.697340607643 0.145395517349 +v 0.548542022705 0.695518493652 0.148347735405 +v 0.552347660065 0.684621572495 0.138660132885 +v 0.552754878998 0.689439475536 0.144070029259 +v 0.549746870995 0.692574083805 0.149577498436 +v 0.544905066490 0.711640059948 0.123353600502 +v 0.554090023041 0.679983973503 0.152069270611 +v 0.554366350174 0.676740288734 0.148733615875 +v 0.555369496346 0.674915611744 0.149775743484 +v 0.555078744888 0.677470684052 0.154006123543 +v 0.553590416908 0.682599842548 0.155873715878 +v 0.553566455841 0.680583536625 0.157422304153 +v 0.552198171616 0.673865497112 0.155969619751 +v 0.553200006485 0.671683013439 0.148962199688 +v 0.553523778915 0.675942182541 0.146138072014 +v 0.552976369858 0.681672930717 0.150468468666 +v 0.551427602768 0.684173226357 0.156823754311 +v 0.550627708435 0.679804623127 0.159817218781 +v 0.561773300171 0.667005836964 0.108489274979 +v 0.562437891960 0.667055547237 0.116291821003 +v 0.561485767365 0.672465205193 0.121660053730 +v 0.532580971718 0.693629801273 0.092338800430 +v 0.540351271629 0.699979722500 0.089606344700 +v 0.542522072792 0.705165266991 0.104129672050 +v 0.533750057220 0.698765039444 0.106722295284 +v 0.530255436897 0.693876147270 0.100649118423 +v 0.544795274734 0.705484151840 0.095455408096 +v 0.543451189995 0.710095763206 0.092419564724 +v 0.556688308716 0.663857758045 0.117876172066 +v 0.557191729546 0.668581724167 0.123596191406 +v 0.557321429253 0.663886785507 0.110297203064 +v 0.550040364265 0.687514245510 0.096655666828 +v 0.542815566063 0.681384682655 0.099399805069 +v 0.546362757683 0.677153646946 0.101630270481 +v 0.552957534790 0.683309435844 0.099402546883 +v 0.543991684914 0.686676859856 0.113965272903 +v 0.550568699837 0.692732572556 0.109966218472 +v 0.552548170090 0.688747942448 0.112151980400 +v 0.546415090561 0.682839512825 0.116651713848 +v 0.540330171585 0.681044578552 0.107999801636 +v 0.543417692184 0.676724195480 0.110768854618 +v 0.553754329681 0.691745519638 0.102674782276 +v 0.555277824402 0.688932120800 0.104441046715 +v 0.558210253716 0.676781058311 0.102892100811 +v 0.551411271095 0.670395851135 0.105135142803 +v 0.554313540459 0.666436553001 0.107223451138 +v 0.560604929924 0.672852039337 0.104644954205 +v 0.551035642624 0.676183104515 0.121510207653 +v 0.557325959206 0.682806491852 0.115938246250 +v 0.559729456902 0.679148495197 0.118263065815 +v 0.554118156433 0.672260820866 0.123688340187 +v 0.547722101212 0.669512152672 0.114816784859 +v 0.551224112511 0.665718138218 0.116806447506 +v 0.561138749123 0.681422650814 0.108677029610 +v 0.562478303909 0.679623842239 0.109518647194 +v 0.544580936432 0.695759892464 0.091603696346 +v 0.536828517914 0.688898324966 0.094865858555 +v 0.539610147476 0.684746026993 0.097163736820 +v 0.545929908752 0.689909696579 0.093230366707 +v 0.538297772408 0.693749725819 0.109103918076 +v 0.546232938766 0.700979232788 0.105687260628 +v 0.547426342964 0.696206927299 0.109800815582 +v 0.541006326675 0.689810454845 0.111045122147 +v 0.534368872643 0.688101053238 0.103304982185 +v 0.538012027740 0.685010075569 0.105363309383 +v 0.550858020782 0.700949549675 0.097763538361 +v 0.549491643906 0.697909832001 0.093589007854 +v 0.550813794136 0.695187926292 0.094435930252 +v 0.552393674850 0.698510527611 0.099156975746 +v 0.550143718719 0.701255559921 0.102890193462 +v 0.551577091217 0.699175059795 0.104868292809 +v 0.552265882492 0.693053603172 0.096573829651 +v 0.553521633148 0.695399820805 0.100726366043 +v 0.552729487419 0.696392178535 0.105458736420 +v 0.549271106720 0.673505485058 0.104050397873 +v 0.554521441460 0.678445816040 0.100325822830 +v 0.553958654404 0.685331046581 0.116456747055 +v 0.548520803452 0.679022014141 0.118942022324 +v 0.546076059341 0.673519492149 0.112744927406 +v 0.557391166687 0.687807381153 0.105319499969 +v 0.556760072708 0.685200691223 0.101653337479 +v 0.558141469955 0.683105111122 0.102121174335 +v 0.559174299240 0.686151802540 0.106331229210 +v 0.556374430656 0.688750267029 0.109533429146 +v 0.557712197304 0.687251687050 0.111271739006 +v 0.559688806534 0.681563556194 0.103728890419 +v 0.560254931450 0.683878600597 0.107563853264 +v 0.559006214142 0.685161352158 0.111566960812 +v 0.547902107239 0.702368199825 0.096936225891 +v 0.564785003662 0.677279114723 0.110871613026 +v 0.565037727356 0.675400853157 0.107921242714 +v 0.566116333008 0.673743724823 0.108678221703 +v 0.566264390945 0.674956560135 0.112121045589 +v 0.564288020134 0.678330838680 0.113956749439 +v 0.565272808075 0.676626622677 0.115107536316 +v 0.565854787827 0.671615004539 0.113909065723 +v 0.565153121948 0.671011805534 0.108082771301 +v 0.564292907715 0.675019502640 0.105877757072 +v 0.563846707344 0.678827285767 0.109954953194 +v 0.563235521317 0.679445624352 0.115319430828 +v 0.564523458481 0.675631463528 0.117880046368 +v 0.508027791977 0.705808162689 0.185932517052 +v 0.503305912018 0.708674609661 0.193543970585 +v 0.504237651825 0.716933488846 0.197534382343 +v 0.514192581177 0.739058196545 0.152600765228 +v 0.527436256409 0.742018103600 0.152551293373 +v 0.521233081818 0.757511794567 0.163559794426 +v 0.510088562965 0.753134310246 0.162780582905 +v 0.506630778313 0.744708418846 0.157582461834 +v 0.531264781952 0.752472937107 0.158268332481 +v 0.532356500626 0.758174300194 0.153628230095 +v 0.496481537819 0.711037337780 0.188681483269 +v 0.497926712036 0.717670679092 0.193979084492 +v 0.501640081406 0.707217693329 0.182956755161 +v 0.524531006813 0.727519810200 0.166848421097 +v 0.513245224953 0.726689815521 0.165383756161 +v 0.511902570724 0.722795486450 0.168308913708 +v 0.523548841476 0.723003327847 0.171342372894 +v 0.509620904922 0.739431321621 0.176361441612 +v 0.520829081535 0.741701781750 0.179257631302 +v 0.519819498062 0.736979722977 0.183732628822 +v 0.508016705513 0.736198961735 0.179792046547 +v 0.506378054619 0.732324659824 0.169591844082 +v 0.504464268684 0.729115188122 0.172098159790 +v 0.528473019600 0.734543383121 0.174971342087 +v 0.527720928192 0.731290459633 0.178188145161 +v 0.518843531609 0.715346276760 0.178183495998 +v 0.507250308990 0.715426683426 0.173481583595 +v 0.504154086113 0.710596859455 0.177767276764 +v 0.515055418015 0.710507869720 0.182130753994 +v 0.502767324448 0.729494333267 0.186172127724 +v 0.514684081078 0.728843152523 0.190630316734 +v 0.510843634605 0.723370432854 0.194603562355 +v 0.499645948410 0.723829448223 0.190759420395 +v 0.498818874359 0.722565889359 0.177140593529 +v 0.495809078217 0.716866850853 0.182247757912 +v 0.521199822426 0.721097052097 0.187072217464 +v 0.518935918808 0.718163132668 0.189251482487 +v 0.525767803192 0.736793160439 0.157169640064 +v 0.513168215752 0.734809756279 0.157476186752 +v 0.513290882111 0.730967700481 0.161826848984 +v 0.522656917572 0.730214118958 0.160739362240 +v 0.510023117065 0.747913599014 0.168063998222 +v 0.522023916245 0.752246916294 0.169538915157 +v 0.518543243408 0.747491836548 0.175433754921 +v 0.509775161743 0.743234395981 0.172257661819 +v 0.506842017174 0.740149796009 0.162537455559 +v 0.507179975510 0.736026167870 0.166410088539 +v 0.533026695251 0.745195150375 0.165490031242 +v 0.531216979027 0.738591969013 0.161130785942 +v 0.530287504196 0.734632968903 0.163438796997 +v 0.532566308975 0.741663217545 0.168802976608 +v 0.529102921486 0.749674737453 0.170213341713 +v 0.527972817421 0.746949017048 0.173987030983 +v 0.529739618301 0.732569515705 0.167208254337 +v 0.531125068665 0.737987637520 0.172155261040 +v 0.527689337730 0.742842078209 0.176281332970 +v 0.509422302246 0.719553887844 0.170410692692 +v 0.519722938538 0.717905282974 0.172781825066 +v 0.514890789986 0.734458565712 0.187463164330 +v 0.505210161209 0.733366072178 0.182220578194 +v 0.502490282059 0.726530313492 0.174150884151 +v 0.528773427010 0.728935301304 0.181077003479 +v 0.527782201767 0.723789393902 0.176339983940 +v 0.526475429535 0.720672547817 0.177816569805 +v 0.527674317360 0.726253092289 0.183694541454 +v 0.525176644325 0.733416676521 0.184952259064 +v 0.523093461990 0.731555163860 0.187405228615 +v 0.524735569954 0.719069778919 0.180645465851 +v 0.525143027306 0.723502397537 0.185845911503 +v 0.521940231323 0.728395640850 0.189189791679 +v 0.531512737274 0.747916936874 0.162386298180 +v 0.516651630402 0.713900744915 0.192825019360 +v 0.516959309578 0.710621714592 0.189882099628 +v 0.516236543655 0.708358943462 0.191311597824 +v 0.515579700470 0.710943758488 0.195346117020 +v 0.515369772911 0.716586649418 0.195921123028 +v 0.514391779900 0.714817166328 0.197931408882 +v 0.510539889336 0.709055662155 0.195576369762 +v 0.513627529144 0.706451058388 0.189301311970 +v 0.517277002335 0.710314393044 0.187095999718 +v 0.517525792122 0.716093361378 0.190888464451 +v 0.514751195908 0.719347119331 0.196116745472 +v 0.510549068451 0.715662777424 0.198681712151 +v 0.533120870590 0.762782216072 0.130480825901 +v 0.524248719215 0.772845745087 0.138786017895 +v 0.540866613388 0.746797680855 0.109364151955 +v 0.537410974503 0.759103238583 0.116162776947 +v 0.540438890457 0.742126762867 0.095553338528 +v 0.520689725876 0.728452146053 0.065447509289 +v 0.512445688248 0.721606135368 0.069535374641 +v 0.484276175499 0.737580657005 0.089107573032 +v 0.532676100731 0.765493094921 0.091823399067 +v 0.533045768738 0.757094204426 0.081643581390 +v 0.514222741127 0.784138381481 0.129911184311 +v 0.490095019341 0.767989397049 0.145252108574 +v 0.479055404663 0.768541455269 0.143870294094 +v 0.488378524780 0.780031323433 0.144005358219 +v 0.498183012009 0.777795016766 0.142598867416 +v 0.481902122498 0.759345829487 0.139733493328 +v 0.467978596687 0.763386905193 0.133951485157 +v 0.455418944359 0.777963399887 0.119988799095 +v 0.451926827431 0.777264595032 0.134350359440 +v 0.458689928055 0.767885684967 0.141088008881 +v 0.468816995621 0.769495069981 0.148243069649 +v 0.476413726807 0.779487848282 0.150034487247 +v 0.438565135002 0.771156847477 0.177375793457 +v 0.441770315170 0.764434158802 0.175460696220 +v 0.444827079773 0.770441770554 0.183847427368 +v 0.469913721085 0.779009222984 0.155741333961 +v 0.463364720345 0.769138574600 0.153375625610 +v 0.460401535034 0.767174780369 0.158601582050 +v 0.467330098152 0.775935709476 0.162042737007 +v 0.453510165215 0.769425153732 0.147249221802 +v 0.450202226639 0.768634498119 0.153188824654 +v 0.467652678490 0.791541039944 0.152924060822 +v 0.464564323425 0.787662565708 0.161086738110 +v 0.456722617149 0.792148888111 0.148283004761 +v 0.454262137413 0.790213525295 0.153603911400 +v 0.449564695358 0.782195746899 0.142867326736 +v 0.445333719254 0.781309008598 0.150482535362 +v 0.462369918823 0.796061277390 0.131073176861 +v 0.470566511154 0.799281775951 0.136529088020 +v 0.469121217728 0.797714054585 0.143102586269 +v 0.460547566414 0.795852959156 0.138329267502 +v 0.455207109451 0.789058446884 0.126723527908 +v 0.453316926956 0.788498997688 0.133789181709 +v 0.477501153946 0.792452573776 0.146006584167 +v 0.465461015701 0.796401441097 0.147136926651 +v 0.458685755730 0.794838547707 0.143734753132 +v 0.453046441078 0.789503097534 0.139946758747 +v 0.477824330330 0.801583707333 0.131692588329 +v 0.462747812271 0.795654177666 0.121492981911 +v 0.461746931076 0.769132852554 0.174213290215 +v 0.453706622124 0.761957705021 0.170404195786 +v 0.443747997284 0.765161931515 0.166959524155 +v 0.460104227066 0.781512916088 0.175598621368 +v 0.445243358612 0.784041821957 0.176206707954 +v 0.449878454208 0.784194827080 0.178927242756 +v 0.448585391045 0.782106339931 0.182242095470 +v 0.443793654442 0.781242489815 0.181344807148 +v 0.440421819687 0.782552838326 0.174964666367 +v 0.439622640610 0.780634343624 0.178736805916 +v 0.438029885292 0.777883410454 0.165846407413 +v 0.457392096519 0.764703154564 0.162105917931 +v 0.465457439423 0.772188305855 0.166752159595 +v 0.447040438652 0.767057418823 0.158573865891 +v 0.465133786201 0.783054172993 0.168668568134 +v 0.452129364014 0.790718674660 0.158209085464 +v 0.459192514420 0.790737628937 0.162641108036 +v 0.459162950516 0.789255976677 0.167319536209 +v 0.450338006020 0.789745509624 0.162790656090 +v 0.445508122444 0.787147641182 0.154866278172 +v 0.442550182343 0.785621106625 0.158436417580 +v 0.440964460373 0.777064740658 0.156837046146 +v 0.456962108612 0.787429749966 0.170820236206 +v 0.448460698128 0.787783861160 0.167056441307 +v 0.441197395325 0.784746885300 0.163089811802 +v 0.447333574295 0.785258412361 0.169726729393 +v 0.443022251129 0.777300119400 0.184506356716 +v 0.450631856918 0.780292212963 0.183982253075 +v 0.453623771667 0.784703671932 0.178378582001 +v 0.445952057838 0.786179065704 0.172527611256 +v 0.438473701477 0.781861722469 0.171767473221 +v 0.437908291817 0.777420401573 0.178881585598 +v 0.492766499519 0.755644321442 0.143515646458 +v 0.486923098564 0.747458815575 0.130217909813 +v 0.466797590256 0.757182359695 0.099651396275 +v 0.472083091736 0.750997185707 0.089635670185 +v 0.469869136810 0.760206878185 0.083161294460 +v 0.463792681694 0.773227989674 0.097641050816 +v 0.480604887009 0.743164718151 0.097418367863 +v 0.509183526039 0.740819334984 0.056642234325 +v 0.515854835510 0.750867664814 0.056534111500 +v 0.500680327415 0.800476849079 0.113281011581 +v 0.480252742767 0.809417188168 0.104322493076 +v 0.496218204498 0.805853843689 0.093608915806 +v 0.494943737984 0.789026916027 0.136653363705 +v 0.501828312874 0.788901865482 0.133081078529 +v 0.507851958275 0.797888576984 0.081428110600 +v 0.522942423820 0.779709160328 0.077857553959 +v 0.499507188797 0.765030682087 0.148840188980 +v 0.507470130920 0.774820327759 0.144708752632 +v 0.476036071777 0.746732592583 0.106510400772 +v 0.493361711502 0.803006708622 0.122841835022 +v 0.478899002075 0.807841002941 0.117558896542 +v 0.463644027710 0.796741485596 0.111424744129 +v 0.465716123581 0.794997811317 0.103478550911 +v 0.458229780197 0.777908682823 0.107420504093 +v 0.462887525558 0.761031866074 0.109043002129 +v 0.471899509430 0.750320196152 0.116126954556 +v 0.478152394295 0.753174483776 0.131771326065 +v 0.468824982643 0.755779623985 0.124225437641 +v 0.461404800415 0.763227701187 0.116893410683 +v 0.489722132683 0.797489106655 0.133335888386 +v 0.486714601517 0.789863348007 0.141924619675 +v 0.484797358513 0.741189062595 0.067133903503 +v 0.478503465652 0.751935124397 0.068854808807 +v 0.500882506371 0.734169185162 0.061571240425 +v 0.477385044098 0.744656562805 0.080763101578 +v 0.481624126434 0.739364206791 0.075847864151 +v 0.500677943230 0.775840044022 0.048178792000 +v 0.488707780838 0.765670180321 0.051871418953 +v 0.477584242821 0.762718737125 0.063034832478 +v 0.467450737953 0.766845524311 0.076912343502 +v 0.461498498917 0.778625905514 0.089994966984 +v 0.461806297302 0.795562386513 0.096759736538 +v 0.470135807991 0.809676170349 0.096153378487 +v 0.483797073364 0.812756240368 0.088045477867 +v 0.497678637505 0.805696189404 0.075719475746 +v 0.504785418510 0.791619062424 0.059249997139 +v 0.513334751129 0.788233518600 0.068128407001 +v 0.511568665504 0.770020723343 0.053026437759 +v 0.520908117294 0.761221706867 0.061087131500 +v 0.497784495354 0.788155913353 0.046932697296 +v 0.488117575645 0.775684356689 0.047841131687 +v 0.475840330124 0.770089447498 0.057217180729 +v 0.463661313057 0.771884500980 0.069685220718 +v 0.455235481262 0.782279491425 0.081061065197 +v 0.454746246338 0.798582255840 0.087480664253 +v 0.461082696915 0.812864422798 0.088064253330 +v 0.473519444466 0.820378422737 0.082788586617 +v 0.488731861115 0.816120684147 0.070775330067 +v 0.498112678528 0.803522765636 0.056562244892 +v 0.494563221931 0.799096226692 0.042310714722 +v 0.486902475357 0.808524429798 0.030907094479 +v 0.478900671005 0.793341755867 0.029809832573 +v 0.486203432083 0.785064756870 0.041563153267 +v 0.464779496193 0.783073127270 0.035595595837 +v 0.472564697266 0.777089834213 0.049066007137 +v 0.450284838676 0.780604720116 0.044155120850 +v 0.458022236824 0.776483118534 0.058857560158 +v 0.440367698669 0.784753084183 0.049066960812 +v 0.443802475929 0.787280976772 0.064302384853 +v 0.444123268127 0.804896831512 0.073245406151 +v 0.451916456223 0.821180701256 0.076650619507 +v 0.464986562729 0.832542598248 0.073360800743 +v 0.480245232582 0.831362009048 0.059292852879 +v 0.481340765953 0.834166049957 0.044129669666 +v 0.492998480797 0.814772903919 0.050042569637 +v 0.486271023750 0.822800278664 0.037332177162 +v 0.523271918297 0.770754814148 0.068353176117 +v 0.514518499374 0.778774738312 0.058889150620 +v 0.507184267044 0.776329338551 0.050279438496 +v 0.508969664574 0.781902492046 0.054183304310 +v 0.244488239288 0.426662117243 0.058280527592 +v 0.238626718521 0.424758225679 0.073367774487 +v 0.224532604218 0.421156793833 0.082624495029 +v 0.024168014526 0.813921332359 0.149686336517 +v -0.045492410660 0.811454951763 0.138143301010 +v -0.043429851532 0.849619209766 0.152232885361 +v -0.103686809540 0.858773767948 0.124039173126 +v -0.105726003647 0.821566998959 0.105698108673 +v -0.216044902802 1.015913844109 -0.065555334091 +v -0.209439516068 0.999427437782 -0.058619439602 +v -0.211006164551 0.987861990929 -0.064142704010 +v -0.230187892914 0.988817870617 -0.073895573616 +v -0.197565555573 0.993671536446 -0.052417397499 +v -0.196903944016 0.968688607216 -0.066415429115 +v -0.226006031036 0.954002797604 -0.069144666195 +v -0.186616420746 0.850906968117 -0.171889841557 +v -0.197167158127 0.860019028187 -0.140617847443 +v -0.179961204529 0.897772192955 -0.115278422832 +v -0.166189670563 0.875091910362 -0.153516530991 +v -0.148694753647 0.880870044231 -0.136985838413 +v -0.150884389877 0.907215118408 -0.104235470295 +v -0.157392501831 0.931122899055 -0.078570246696 +v -0.191499710083 0.929601490498 -0.075881302357 +v -0.215350627899 0.919599175453 -0.078258514404 +v -0.203397989273 0.897285580635 -0.100253224373 +v -0.217379808426 0.875960350037 -0.118124604225 +v -0.029005050659 0.571525335312 -0.088107168674 +v 0.002735614777 0.548631310463 -0.070256829262 +v 0.027010679245 0.590999245644 -0.090317308903 +v -0.018280744553 0.620064198971 -0.103850007057 +v 0.018197059631 0.528473854065 -0.041200280190 +v 0.039121389389 0.542406558990 -0.043555021286 +v -0.148338317871 0.925767302513 -0.247407793999 +v -0.147905111313 0.887462854385 -0.231083989143 +v -0.130671024323 0.907526671886 -0.214898705482 +v -0.110074996948 0.950674951077 -0.223033547401 +v -0.158329963684 0.874756038189 -0.191096603870 +v -0.134732007980 0.893178164959 -0.177285671234 +v -0.090615749359 0.914829909801 -0.207994282246 +v -0.112192392349 0.762768864632 0.047738432884 +v -0.126791477203 0.781367957592 0.019289433956 +v -0.137742519379 0.815532445908 0.021429121494 +v -0.104435205460 0.789754331112 0.077099800110 +v -0.129538536072 0.770201504230 -0.012699365616 +v -0.138639211655 0.806268036366 -0.033546984196 +v -0.147496223450 0.848499417305 0.061839640141 +v -0.089931488037 0.741834282875 0.071407139301 +v -0.054453372955 0.767961084843 0.118939399719 +v -0.098224401474 0.709381341934 0.028533697128 +v -0.111907958984 0.714046895504 -0.023087024689 +v -0.118014335632 0.742692947388 0.013800978661 +v -0.105286121368 0.729441761971 0.038245499134 +v -0.068748474121 0.719616711140 0.068620622158 +v -0.085082054138 0.653443753719 0.027877748013 +v -0.058162212372 0.656390905380 0.056895077229 +v -0.050686836243 0.607604086399 0.047678053379 +v -0.099447727203 0.621420621872 0.005962431431 +v -0.068820476532 0.563984632492 0.037404358387 +v -0.093855857849 0.573501050472 0.006214916706 +v -0.061287641525 1.064289569855 0.001488387585 +v -0.092086315155 1.040367364883 0.017865002155 +v -0.100042343140 1.063028454781 -0.025874853134 +v -0.068414211273 1.083276271820 -0.024904131889 +v -0.152829885483 1.043263196945 -0.030532896519 +v -0.132411718369 1.076464056969 -0.043527424335 +v -0.132525444031 1.024463057518 -0.009899616241 +v -0.121130466461 1.003944158554 0.032351315022 +v -0.171019792557 1.007393002510 -0.034520506859 +v -0.196717739105 1.027601242065 -0.048720419407 +v -0.173523902893 1.051656365395 -0.044109880924 +v -0.172769784927 0.976805567741 -0.047324657440 +v -0.238524913788 0.893932402134 -0.094456076622 +v -0.167498588562 1.074029922485 -0.061905801296 +v -0.199609756470 1.058331489563 -0.076546132565 +v 0.035741090775 0.537817895412 0.004574596882 +v 0.063968896866 0.537479221821 0.012407362461 +v 0.069581508636 0.543589949608 -0.037130057812 +v -0.067850828171 1.115831255913 -0.122188806534 +v -0.044815301895 1.153640151024 -0.091253459454 +v -0.061902284622 1.142533540726 -0.076420962811 +v -0.087494134903 1.110044360161 -0.101176381111 +v -0.102974891663 1.099434852600 -0.071468591690 +v -0.069273948669 1.125692009926 -0.061185836792 +v -0.110057592392 1.099711656570 -0.165807723999 +v -0.129351377487 1.099599599838 -0.132730364799 +v -0.150191068649 1.093798398972 -0.095395982265 +v -0.167793750763 1.074134111404 -0.162128686905 +v -0.187201261520 1.073685646057 -0.118393898010 +v -0.200552225113 1.044490218163 -0.186491847038 +v -0.215443849564 1.052723646164 -0.141018509865 +v -0.222080469131 1.039790749550 -0.094145119190 +v -0.239657878876 1.022207856178 -0.158943414688 +v -0.241830825806 1.013184070587 -0.110611021519 +v -0.260427713394 0.986940979958 -0.176530241966 +v -0.263617753983 0.981970906258 -0.132411062717 +v -0.260305166245 0.958638668060 -0.098890125751 +v -0.278702974319 0.955592036247 -0.163595557213 +v -0.278200626373 0.932817518711 -0.130598545074 +v -0.271001577377 0.901743829250 -0.119967401028 +v -0.252998113632 0.927197396755 -0.088302910328 +v -0.255738973618 0.872728466988 -0.122977674007 +v -0.288134813309 0.917696714401 -0.166244506836 +v -0.280348777771 0.886196553707 -0.155893802643 +v -0.267940998077 0.855949759483 -0.158157467842 +v -0.322344541550 0.899317681789 -0.184273540974 +v -0.314202308655 0.871414363384 -0.169530987740 +v -0.304754018784 0.841402471066 -0.163097262383 +v -0.351705789566 0.865829944611 -0.176985263824 +v -0.346288204193 0.842895746231 -0.165701746941 +v -0.342967510223 0.821778357029 -0.172056436539 +v -0.297340869904 0.818372488022 -0.180801868439 +v -0.255311727524 0.834150016308 -0.184277534485 +v -0.344840049744 0.807662725449 -0.190519332886 +v -0.298639774323 0.802460789680 -0.209736287594 +v -0.253891229630 0.813284337521 -0.222991466522 +v -0.215986251831 0.835866868496 -0.183695673943 +v -0.214768171310 0.830051660538 -0.219524562359 +v -0.309920310974 0.802444458008 -0.240571200848 +v -0.261218309402 0.820708096027 -0.265693724155 +v -0.202613115311 0.844021797180 -0.252863943577 +v -0.351272106171 0.804853558540 -0.214755058289 +v -0.361089944839 0.814315497875 -0.239227890968 +v -0.324601888657 0.821000874043 -0.263598829508 +v -0.283481359482 0.848797678947 -0.284017473459 +v -0.368223667145 0.837127387524 -0.253749161959 +v -0.336348056793 0.853153288364 -0.277962535620 +v -0.297395467758 0.883530080318 -0.294476032257 +v -0.240055322647 0.874735951424 -0.304646462202 +v -0.264170885086 0.907689154148 -0.292484790087 +v -0.343079566956 0.886833965778 -0.280547678471 +v -0.304080247879 0.919566035271 -0.288546800613 +v -0.274107933044 0.937634170055 -0.272911608219 +v -0.237725257874 0.939036250114 -0.275381207466 +v -0.246447801590 0.963879764080 -0.250892400742 +v -0.299230575562 0.941379368305 -0.261109113693 +v -0.274475336075 0.952009916306 -0.239782989025 +v -0.254629850388 0.977320313454 -0.217426180840 +v -0.217944860458 0.993275702000 -0.236558616161 +v -0.229768037796 1.010393023491 -0.203123748302 +v -0.274976491928 0.958194017410 -0.204134941101 +v -0.294450044632 0.945626258850 -0.227268993855 +v -0.291128396988 0.938337326050 -0.193792879581 +v -0.336385011673 0.927444577217 -0.237453699112 +v -0.328366279602 0.918976187706 -0.207168340683 +v -0.373788356781 0.900349020958 -0.237839400768 +v -0.367165803909 0.902696073055 -0.212942600250 +v -0.358767509460 0.887838721275 -0.192018508911 +v -0.399082183838 0.886386156082 -0.210687160492 +v -0.391416311264 0.878774166107 -0.190892636776 +v -0.385291337967 0.862347722054 -0.175807774067 +v -0.380799770355 0.844238936901 -0.168828010559 +v -0.377043247223 0.828504204750 -0.168903589249 +v -0.378103971481 0.815952479839 -0.178110599518 +v -0.382728338242 0.809657692909 -0.196520686150 +v -0.389034032822 0.812136590481 -0.218078017235 +v -0.393783569336 0.826233685017 -0.232942044735 +v -0.374763011932 0.861356377602 -0.261329650879 +v -0.397455453873 0.845723807812 -0.239633858204 +v -0.401363134384 0.864607393742 -0.240126490593 +v -0.377741813660 0.885030388832 -0.257234215736 +v -0.342441082001 0.914424657822 -0.266438513994 +v -0.402511835098 0.878381252289 -0.229500651360 +v -0.170168876648 1.000604867935 -0.237006545067 +v -0.184483528137 1.026935815811 -0.219662249088 +v -0.204886913300 0.972634196281 -0.262749642134 +v -0.159294366837 0.967827081680 -0.247309863567 +v -0.191198587418 0.937436878681 -0.281654030085 +v -0.222276926041 0.905950903893 -0.284064441919 +v -0.177347660065 0.896951436996 -0.278299987316 +v -0.199582099915 0.874506413937 -0.276412338018 +v -0.219844818115 0.853652238846 -0.284712314606 +v -0.174687385559 0.863596737385 -0.250282466412 +v -0.181549310684 0.849696934223 -0.207981944084 +v -0.116446971893 1.003559350967 -0.234433829784 +v -0.131599664688 1.042656898499 -0.224299788475 +v -0.063884496689 1.038912057877 -0.210333466530 +v -0.085042953491 1.078667521477 -0.191534459591 +v -0.149874925613 1.067245244980 -0.198640346527 +v 0.006145715714 1.018314838409 -0.186279118061 +v -0.007123947144 1.064264893532 -0.171564280987 +v -0.048004388809 0.991492629051 -0.217727243900 +v -0.026478528976 1.111588954926 -0.142706692219 +v 0.017360448837 0.970607042313 -0.195879101753 +v -0.035747051239 0.945858657360 -0.214797735214 +v 0.026816844940 0.918899655342 -0.194363832474 +v -0.025933980942 0.897993922234 -0.206000804901 +v -0.080864667892 0.874895334244 -0.192031383514 +v -0.018188714981 0.847238957882 -0.190483808517 +v -0.072869777679 0.831310868263 -0.174542069435 +v -0.116947174072 0.821985781193 -0.144294202328 +v -0.121940612793 0.859033942223 -0.160447001457 +v -0.136636972427 0.828852474689 -0.101162433624 +v -0.142194747925 0.857307851315 -0.121078729630 +v -0.143414735794 0.845660209656 -0.058004975319 +v -0.144388198853 0.880819320679 -0.082161068916 +v -0.153039455414 0.862532734871 -0.018098533154 +v -0.153266906738 0.903006434441 -0.052416980267 +v -0.161772251129 0.888247668743 0.014432668686 +v -0.160099267960 0.926342248917 -0.032119214535 +v -0.164556503296 0.953284680843 -0.062894344330 +v -0.171996355057 0.952526032925 -0.012361943722 +v -0.164795875549 0.921657145023 0.036377131939 +v -0.147756576538 0.961669743061 0.040470600128 +v -0.158525466919 0.986356794834 -0.006434679031 +v -0.145291805267 0.885101556778 0.083670973778 +v -0.126105070114 0.929664313793 0.086600899696 +v -0.100680828094 0.976286113262 0.074836552143 +v -0.088333368301 0.904943823814 0.124103307724 +v -0.068841934204 0.954400718212 0.109162628651 +v -0.050687789917 1.002869248390 0.086499452591 +v -0.076419353485 1.019973993301 0.056980848312 +v -0.031089067459 1.040452837944 0.053422629833 +v -0.048895835876 1.049849748611 0.030142068863 +v -0.028286457062 0.943060517311 0.130822718143 +v -0.018934726715 0.993253171444 0.104324102402 +v -0.008577823639 1.036106586456 0.068773925304 +v 0.016984224319 0.938255190849 0.132273197174 +v 0.016255617142 0.988211154938 0.106916069984 +v 0.017256975174 1.034857988358 0.074777126312 +v -0.037022590637 0.893554985523 0.148184359074 +v -0.125862836838 0.795052647591 -0.077642142773 +v -0.088509559631 0.748381972313 -0.091158628464 +v -0.106392145157 0.784361839294 -0.120982527733 +v -0.114890336990 0.757017672062 -0.053101658821 +v -0.051238536835 0.693981826305 -0.101675391197 +v -0.053010225296 0.743843674660 -0.121231853962 +v -0.086938619614 0.703561365604 -0.072716116905 +v -0.064249753952 0.786670446396 -0.151442766190 +v -0.010465383530 0.743931651115 -0.136873304844 +v -0.013234376907 0.796020328999 -0.166346788406 +v 0.032855987549 0.676068127155 -0.117384016514 +v 0.034677505493 0.748068869114 -0.133399724960 +v -0.010420322418 0.684079170227 -0.115326344967 +v 0.036463499069 0.808236598969 -0.159694790840 +v 0.077756881714 0.752460122108 -0.118776857853 +v 0.079266071320 0.817305207253 -0.140415549278 +v 0.034280061722 0.864266276360 -0.182166934013 +v 0.072944402695 0.932042717934 -0.169168591499 +v 0.063047170639 1.036345005035 -0.171650230885 +v -0.058959484100 0.640669405460 -0.090303719044 +v -0.066095590591 0.592738807201 -0.077589452267 +v -0.097780227661 0.609835147858 -0.045422494411 +v -0.095155477524 0.656358480453 -0.060826182365 +v -0.105790376663 0.668013811111 -0.016322851181 +v -0.087153911591 0.680714309216 0.023537695408 +v -0.060539484024 0.690345466137 0.063132166862 +v -0.022153139114 0.659986138344 0.099782228470 +v -0.026333808899 0.697329998016 0.108290851116 +v -0.032596349716 0.731493532658 0.113822937012 +v 0.026883125305 0.702849328518 0.121817588806 +v -0.007471561432 0.622038125992 0.083720922470 +v 0.033208370209 0.620859384537 0.106691539288 +v 0.010722160339 0.584229052067 0.067391037941 +v 0.046667098999 0.584562242031 0.083252370358 +v 0.025924444199 0.553159415722 0.041892528534 +v 0.057153224945 0.554712772369 0.051456034184 +v -0.020308732986 0.569664835930 0.051660239697 +v 0.001250267029 0.543498456478 0.031863629818 +v 0.013638973236 0.532003760338 -0.001672267914 +v -0.000382900238 0.520153343678 -0.005273222923 +v -0.012644290924 0.528460025787 0.023336231709 +v 0.006472110748 0.512750744820 -0.036196351051 +v -0.007425308228 0.474734485149 -0.000116705894 +v -0.005846261978 0.500033557415 -0.004471659660 +v 0.000211715698 0.494048833847 -0.030069172382 +v -0.006864786148 0.472749769688 -0.022261261940 +v -0.018941164017 0.475434243679 -0.039400577545 +v -0.014056682587 0.499557584524 -0.049792110920 +v -0.007712841034 0.522083699703 -0.061311900616 +v -0.037567615509 0.480722934008 -0.046939432621 +v -0.037078142166 0.509507179260 -0.057908356190 +v -0.034726858139 0.538039565086 -0.071861624718 +v -0.058244705200 0.486637681723 -0.040571570396 +v -0.064287900925 0.519816040993 -0.052058398724 +v -0.066971778870 0.554416954517 -0.064069986343 +v -0.073494434357 0.490894377232 -0.019915223122 +v -0.083090543747 0.529140114784 -0.027455270290 +v -0.092357873917 0.568181574345 -0.034658551216 +v -0.079753637314 0.491208374500 0.009451150894 +v -0.086676597595 0.532695353031 0.006102561951 +v -0.073581457138 0.454350113869 0.007979691029 +v -0.066380023956 0.457608014345 -0.017444491386 +v -0.067813158035 0.488057374954 0.029619216919 +v -0.066108465195 0.450441658497 0.027257204056 +v -0.069606781006 0.527580559254 0.030218899250 +v -0.044326543808 0.482478886843 0.033305048943 +v -0.044793844223 0.448259085417 0.031902611256 +v -0.042425155640 0.517599105835 0.031794846058 +v -0.017328262329 0.477021217346 0.022542297840 +v -0.018852710724 0.507313489914 0.017633438110 +v -0.037883758545 0.545025348663 0.042228996754 +v -0.019141912460 0.447015106678 0.024648547173 +v -0.009853363037 0.448897719383 0.002969503403 +v -0.010138511658 0.424218118191 -0.001672625542 +v -0.006133556366 0.399529516697 -0.015495121479 +v -0.017596960068 0.394342869520 -0.000591039658 +v -0.020816802979 0.419395595789 0.016798019409 +v -0.009426116943 0.427912145853 -0.021588802338 +v -0.001868963242 0.404415190220 -0.034041702747 +v -0.011332273483 0.450134307146 -0.017913401127 +v -0.018124103546 0.431156426668 -0.039218008518 +v -0.011564016342 0.408847093582 -0.052631855011 +v -0.021310806274 0.452264279127 -0.034315645695 +v -0.035163879395 0.433271795511 -0.046046972275 +v -0.032569646835 0.410334706306 -0.058933556080 +v -0.036829233170 0.455296754837 -0.040022969246 +v -0.050311565399 0.433117091656 -0.039737045765 +v -0.049625396729 0.409451037645 -0.056582272053 +v -0.052719354630 0.457712709904 -0.034135818481 +v -0.060839176178 0.430344671011 -0.025123417377 +v -0.060647249222 0.405378311872 -0.044947326183 +v -0.039075374603 0.333637267351 -0.059441745281 +v -0.046819448471 0.377576559782 -0.066945731640 +v -0.057845830917 0.373610943556 -0.056396543980 +v -0.044396162033 0.332225650549 -0.051878690720 +v -0.043912887573 0.330512613058 -0.042705893517 +v -0.057412862778 0.368281006813 -0.038785338402 +v -0.061007261276 0.399160534143 -0.025505304337 +v -0.041280269623 0.328136712313 -0.033087968826 +v -0.046390056610 0.364219039679 -0.022349596024 +v -0.051404714584 0.393975228071 -0.006930351257 +v -0.035102367401 0.325139790773 -0.023742496967 +v -0.033584117889 0.360739827156 -0.011030375957 +v -0.036393165588 0.389957576990 0.006403863430 +v -0.024703979492 0.326273173094 -0.026353597641 +v -0.019546747208 0.364557057619 -0.018281936646 +v -0.016890287399 0.328833460808 -0.035211801529 +v -0.006627321243 0.368008077145 -0.028945624828 +v -0.013489007950 0.331431388855 -0.046256422997 +v -0.002036094666 0.373024463654 -0.045083582401 +v -0.017686605453 0.333469033241 -0.056734740734 +v -0.010092020035 0.377158254385 -0.060950160027 +v -0.028373241425 0.334166795015 -0.062248706818 +v -0.029481172562 0.378683656454 -0.066067218781 +v -0.219955444336 0.842094063759 -0.154961943626 +v -0.235270023346 0.857862532139 -0.137915790081 +v -0.087909221649 1.087654352188 -0.050910711288 +v -0.070798635483 1.104470491409 -0.045316457748 +v -0.247585058212 0.849854946136 -0.153714001179 +v -0.240604400635 0.840870857239 -0.163044929504 +v -0.011443376541 1.160188794136 -0.101308941841 +v 0.036525011063 1.165561199188 -0.098447144032 +v -0.447368383408 0.797736108303 -0.173693537712 +v -0.447412490845 0.796239554882 -0.162157893181 +v -0.443197250366 0.802235960960 -0.155865490437 +v -0.438388586044 0.805791616440 -0.164553344250 +v -0.494693517685 0.893587052822 -0.106214702129 +v -0.495902061462 0.900918126106 -0.105787515640 +v -0.493417978287 0.900910675526 -0.096440255642 +v -0.491146326065 0.891790270805 -0.099022448063 +v -0.489644289017 0.821257293224 -0.123335301876 +v -0.471888542175 0.823015093803 -0.132293999195 +v -0.468766212463 0.813135862350 -0.129689037800 +v -0.484895229340 0.811676740646 -0.120194315910 +v -0.476134061813 0.841621756554 -0.135791420937 +v -0.474495887756 0.832299590111 -0.135184764862 +v -0.494080066681 0.831160485744 -0.126861453056 +v -0.496844291687 0.842333674431 -0.129078328609 +v -0.451151609421 0.806489586830 -0.139960348606 +v -0.466060161591 0.802223086357 -0.129936814308 +v -0.452974319458 0.816859483719 -0.137552082539 +v -0.485681533813 0.851063311100 -0.187404632568 +v -0.502808094025 0.846567988396 -0.173310935497 +v -0.499794721603 0.830486893654 -0.174043655396 +v -0.483735561371 0.833467781544 -0.188756585121 +v -0.491135358810 0.786839187145 -0.137906074524 +v -0.477485179901 0.788113296032 -0.152600586414 +v -0.484442234039 0.794747292995 -0.160152792931 +v -0.501042604446 0.794560611248 -0.139316618443 +v -0.508388519287 0.830364823341 -0.119966745377 +v -0.521482229233 0.819912433624 -0.130728006363 +v -0.523111343384 0.828098714352 -0.121222257614 +v -0.512018680573 0.834384858608 -0.118249833584 +v -0.514605045319 0.853373050690 -0.127098441124 +v -0.517944812775 0.850607991219 -0.124822854996 +v -0.530208826065 0.845044076443 -0.127292752266 +v -0.531853437424 0.844683170319 -0.137332379818 +v -0.500032663345 0.821590065956 -0.116037189960 +v -0.509562015533 0.864964723587 -0.132301747799 +v -0.504422664642 0.864491283894 -0.132351279259 +v -0.500204324722 0.853452622890 -0.129730045795 +v -0.520584106445 0.822443604469 -0.147195518017 +v -0.522242069244 0.828122496605 -0.150109887123 +v -0.526848316193 0.828633189201 -0.143665313721 +v -0.523217201233 0.823370218277 -0.141705751419 +v -0.528179168701 0.850113034248 -0.151596605778 +v -0.527724266052 0.857582092285 -0.153711855412 +v -0.533334732056 0.857348978519 -0.147594749928 +v -0.531985759735 0.850167274475 -0.146348357201 +v -0.507945299149 0.843233942986 -0.123751223087 +v -0.509826183319 0.844902992249 -0.121303021908 +v -0.529620647430 0.830736279488 -0.135385751724 +v -0.531349182129 0.833562910557 -0.126550495625 +v -0.487643718719 0.804054796696 -0.111395001411 +v -0.480391025543 0.801913261414 -0.119697570801 +v -0.480456352234 0.792149066925 -0.122189939022 +v -0.488045692444 0.794178664684 -0.112424015999 +v -0.495940208435 0.784620106220 -0.126145541668 +v -0.499251127243 0.786586403847 -0.129543840885 +v -0.504209518433 0.787554085255 -0.123033821583 +v -0.499408006668 0.785145521164 -0.121613442898 +v -0.510551452637 0.871032297611 -0.138833642006 +v -0.515317440033 0.871675372124 -0.137129485607 +v -0.526596546173 0.864687561989 -0.151889979839 +v -0.530538082123 0.864613473415 -0.148025453091 +v -0.497328281403 0.811198830605 -0.112283110619 +v -0.503155469894 0.790419399738 -0.130545675755 +v -0.506678104401 0.791445076466 -0.125318050385 +v -0.493824243546 0.871466159821 -0.085897326469 +v -0.490470170975 0.869438707829 -0.092285215855 +v -0.485040903091 0.863280296326 -0.091263115406 +v -0.487308979034 0.865945041180 -0.082743287086 +v -0.485924720764 0.855860471725 -0.088013470173 +v -0.489061117172 0.856862902641 -0.081349372864 +v -0.520172119141 0.836955487728 -0.100135803223 +v -0.515067815781 0.840695142746 -0.093722283840 +v -0.506313800812 0.841244280338 -0.101609706879 +v -0.510276794434 0.838908553123 -0.105833172798 +v -0.512242078781 0.857203602791 -0.107409000397 +v -0.522161960602 0.857336878777 -0.099027633667 +v -0.526552677155 0.854199707508 -0.105519115925 +v -0.515424251556 0.854900300503 -0.111687183380 +v -0.508421897888 0.847175776958 -0.111868441105 +v -0.505060672760 0.849078774452 -0.108070075512 +v -0.524366140366 0.847588360310 -0.093832015991 +v -0.527771949768 0.845007956028 -0.098792850971 +v -0.504534959793 0.847885608673 -0.086177408695 +v -0.498050689697 0.852172255516 -0.082087755203 +v -0.490575790405 0.850792109966 -0.091464221478 +v -0.496593952179 0.846407592297 -0.095529913902 +v -0.496419668198 0.867350459099 -0.096872746944 +v -0.503741264343 0.868512868881 -0.087242722511 +v -0.511126995087 0.864330530167 -0.091117858887 +v -0.503080606461 0.863209724426 -0.101341784000 +v -0.495740175247 0.854071259499 -0.103795528412 +v -0.489275217056 0.858667314053 -0.098730802536 +v -0.510396480560 0.857069015503 -0.083190023899 +v -0.506175994873 0.859634041786 -0.081316232681 +v -0.511812210083 0.838328003883 -0.109384715557 +v -0.512324810028 0.836986780167 -0.113109648228 +v -0.523508548737 0.831316888332 -0.112718701363 +v -0.519570350647 0.833538651466 -0.105941951275 +v -0.527900457382 0.853996634483 -0.113405644894 +v -0.530893802643 0.848428845406 -0.119828045368 +v -0.517930030823 0.852390527725 -0.120005369186 +v -0.516858100891 0.853576421738 -0.115721166134 +v -0.510461807251 0.846561253071 -0.116781532764 +v -0.510272741318 0.846948623657 -0.114067971706 +v -0.528704881668 0.833988189697 -0.105706632137 +v -0.529921531677 0.832707405090 -0.110456645489 +v -0.535176277161 0.837255477905 -0.113185763359 +v -0.535221815109 0.839498996735 -0.107395589352 +v -0.535897016525 0.844757020473 -0.115204930305 +v -0.535224437714 0.848018705845 -0.110409140587 +v -0.527960300446 0.836800575256 -0.101769506931 +v -0.532390594482 0.842326819897 -0.102183938026 +v -0.532948493958 0.849078893661 -0.105126917362 +v -0.501554489136 0.843218922615 -0.099216759205 +v -0.507042169571 0.842735946178 -0.091056108475 +v -0.515851497650 0.862206101418 -0.097064733505 +v -0.508196115494 0.859079062939 -0.104793012142 +v -0.501304626465 0.850616335869 -0.106691837311 +v -0.514235734940 0.845977485180 -0.086078166962 +v -0.518186092377 0.844501137733 -0.088461101055 +v -0.522804021835 0.849747896194 -0.088824689388 +v -0.519546508789 0.852388918400 -0.085314571857 +v -0.523418426514 0.855972528458 -0.091820836067 +v -0.520101308823 0.859155178070 -0.089708983898 +v -0.511596202850 0.849000573158 -0.083929896355 +v -0.515213012695 0.854938268661 -0.083392798901 +v -0.516395092010 0.860537409782 -0.087069749832 +v -0.532750368118 0.836167395115 -0.118552982807 +v -0.497567176819 0.865602970123 -0.074603199959 +v -0.496635437012 0.860588312149 -0.074069917202 +v -0.499092817307 0.859558403492 -0.075726687908 +v -0.501167774200 0.863645672798 -0.076683282852 +v -0.499398469925 0.869491815567 -0.076963126659 +v -0.502336740494 0.868161380291 -0.077675879002 +v -0.493256807327 0.858881592751 -0.076175630093 +v -0.492352008820 0.866495013237 -0.076975762844 +v -0.499328136444 0.856431543827 -0.076817274094 +v -0.503676176071 0.861703813076 -0.079042315483 +v -0.503543376923 0.868796229362 -0.080610632896 +v -0.497124195099 0.871228098869 -0.080048918724 +v -0.508443832397 0.800419390202 -0.136265814304 +v -0.511143684387 0.804700791836 -0.140411615372 +v -0.514699935913 0.806024491787 -0.133704960346 +v -0.511139869690 0.801549851894 -0.131215751171 +v -0.524834394455 0.834584176540 -0.149969577789 +v -0.528397083282 0.835094690323 -0.144962668419 +v -0.514429330826 0.810142576694 -0.141759753227 +v -0.517162799835 0.811100900173 -0.136384963989 +v -0.496298074722 0.786881387234 -0.115870833397 +v -0.486750125885 0.785451531410 -0.128098964691 +v -0.527594327927 0.869485437870 -0.141907572746 +v -0.518058300018 0.869149982929 -0.149671852589 +v -0.510817766190 0.799105167389 -0.121699333191 +v -0.512484073639 0.806650936604 -0.113031685352 +v -0.502429008484 0.813118338585 -0.111305117607 +v -0.508829832077 0.828153192997 -0.116886317730 +v -0.518706083298 0.822669982910 -0.117713034153 +v -0.501774787903 0.822176635265 -0.114453732967 +v -0.519619703293 0.812057256699 -0.116438627243 +v -0.517436027527 0.808292090893 -0.126053214073 +v -0.483708858490 0.853024780750 -0.088355422020 +v -0.481112241745 0.850262880325 -0.093426942825 +v -0.475982189178 0.844028592110 -0.091422438622 +v -0.477612257004 0.847269892693 -0.084727108479 +v -0.475871086121 0.837056696415 -0.086321115494 +v -0.478466987610 0.838783323765 -0.080502748489 +v -0.504234790802 0.817612648010 -0.093765556812 +v -0.500945329666 0.822281956673 -0.087224364281 +v -0.490716695786 0.824029862881 -0.093403875828 +v -0.494282245636 0.819924414158 -0.099487662315 +v -0.496157646179 0.841752350330 -0.100961446762 +v -0.505415439606 0.841348707676 -0.095487833023 +v -0.508846998215 0.836988449097 -0.101620197296 +v -0.499357938766 0.838020980358 -0.106621682644 +v -0.492764949799 0.830117106438 -0.105411946774 +v -0.489102363586 0.833834648132 -0.099696338177 +v -0.508481979370 0.830541670322 -0.089690744877 +v -0.510588169098 0.827774941921 -0.093720853329 +v -0.492753744125 0.831151664257 -0.079553246498 +v -0.486364841461 0.835210800171 -0.078461050987 +v -0.479637861252 0.832388997078 -0.086949884892 +v -0.484333038330 0.829082310200 -0.088134169579 +v -0.485946178436 0.848959863186 -0.095764815807 +v -0.492048025131 0.851611673832 -0.087720692158 +v -0.497788429260 0.848133265972 -0.089569866657 +v -0.490402221680 0.846298635006 -0.097313344479 +v -0.483847379684 0.837090373039 -0.096990287304 +v -0.479485511780 0.840040266514 -0.095492541790 +v -0.497706413269 0.841334342957 -0.080382227898 +v -0.493602514267 0.843913137913 -0.079816043377 +v -0.498492002487 0.817435145378 -0.105219185352 +v -0.501165628433 0.814163446426 -0.109083890915 +v -0.511910438538 0.809615671635 -0.104608774185 +v -0.505473136902 0.811411023140 -0.099508881569 +v -0.510790824890 0.835031032562 -0.109548807144 +v -0.516519069672 0.828535556793 -0.111123204231 +v -0.506266832352 0.830387651920 -0.115914404392 +v -0.502544403076 0.833584547043 -0.112453937531 +v -0.499927043915 0.823450028896 -0.114233195782 +v -0.497344493866 0.826164782047 -0.110643565655 +v -0.513412475586 0.815074205399 -0.096650004387 +v -0.516290664673 0.813745021820 -0.099655687809 +v -0.519789934158 0.819998562336 -0.101308584213 +v -0.517743349075 0.822623610497 -0.098065078259 +v -0.519121646881 0.827042996883 -0.104812145233 +v -0.516560077667 0.830451726913 -0.103179037571 +v -0.511471986771 0.818441748619 -0.094288408756 +v -0.514646053314 0.825179815292 -0.095527946949 +v -0.514303207397 0.831783711910 -0.099781036377 +v -0.487943172455 0.827379703522 -0.090247273445 +v -0.495469808578 0.824954450130 -0.082411110401 +v -0.500364780426 0.846157968044 -0.094868063927 +v -0.493069171906 0.843513786793 -0.098693013191 +v -0.487038612366 0.835436344147 -0.097534894943 +v -0.502112865448 0.828593492508 -0.079975128174 +v -0.504857540131 0.826588690281 -0.083056867123 +v -0.508306980133 0.833120644093 -0.085304498672 +v -0.506083965302 0.836166918278 -0.082021951675 +v -0.507864236832 0.840063154697 -0.089241921902 +v -0.505406856537 0.843329131603 -0.087880432606 +v -0.499519109726 0.832336187363 -0.078415036201 +v -0.502271652222 0.839114248753 -0.080325365067 +v -0.502671241760 0.844747602940 -0.085275530815 +v -0.520011425018 0.816879510880 -0.107176601887 +v -0.485849618912 0.848793625832 -0.077213406563 +v -0.484879255295 0.844172120094 -0.075477480888 +v -0.486962318420 0.843352615833 -0.076518177986 +v -0.488926410675 0.847343027592 -0.078180730343 +v -0.487652778625 0.852373063564 -0.079998552799 +v -0.490156412125 0.851481437683 -0.079959809780 +v -0.482032775879 0.841814160347 -0.076701343060 +v -0.481650590897 0.848758876324 -0.079696655273 +v -0.487200260162 0.840355038643 -0.076348960400 +v -0.491241216660 0.845820188522 -0.079050183296 +v -0.491406917572 0.852079093456 -0.082417190075 +v -0.486078977585 0.853447556496 -0.083156108856 +v -0.498555898666 0.789247334003 -0.110209047794 +v -0.490535259247 0.795914649963 -0.107083380222 +v -0.499561071396 0.808594465256 -0.109262883663 +v -0.509321451187 0.801345944405 -0.113677084446 +v -0.491660594940 0.804835021496 -0.106762707233 +v -0.506342411041 0.790087342262 -0.117207169533 +v -0.507618427277 0.792013823986 -0.113375782967 +v -0.489049196243 0.826286792755 -0.079535543919 +v -0.485815525055 0.826620817184 -0.084511041641 +v -0.480561256409 0.821815013885 -0.084118247032 +v -0.483257293701 0.822232902050 -0.077751755714 +v -0.479671239853 0.815304994583 -0.082047581673 +v -0.482170104980 0.815054416656 -0.077047288418 +v -0.498437404633 0.795974731445 -0.094222247601 +v -0.495993852615 0.799155712128 -0.089099407196 +v -0.488581657410 0.803750157356 -0.092741906643 +v -0.489798069000 0.801814615726 -0.097452342510 +v -0.499174118042 0.816335558891 -0.095021665096 +v -0.505331993103 0.810285627842 -0.091094553471 +v -0.508020877838 0.806802392006 -0.096497237682 +v -0.500244140625 0.813882708549 -0.098373711109 +v -0.491198301315 0.810434281826 -0.099174976349 +v -0.490566730499 0.812255382538 -0.095983982086 +v -0.504388093948 0.801935672760 -0.089532196522 +v -0.506303787231 0.799559772015 -0.093178451061 +v -0.490227460861 0.806715846062 -0.080041587353 +v -0.486819744110 0.810494184494 -0.077443838120 +v -0.481586694717 0.811227262020 -0.084623336792 +v -0.484838962555 0.807765960693 -0.087508916855 +v -0.489450216293 0.825551927090 -0.087533473969 +v -0.494817018509 0.822417318821 -0.080430269241 +v -0.498338937759 0.818705558777 -0.082634210587 +v -0.493239879608 0.822486460209 -0.090337991714 +v -0.485663890839 0.816083729267 -0.092872619629 +v -0.482256412506 0.819070279598 -0.089587986469 +v -0.495429277420 0.813326537609 -0.077522575855 +v -0.493692398071 0.815349698067 -0.076042175293 +v -0.490639209747 0.799663007259 -0.100690245628 +v -0.491382598877 0.797495901585 -0.103254914284 +v -0.500654220581 0.789737641811 -0.104475378990 +v -0.497671604156 0.792602598667 -0.098903775215 +v -0.509530782700 0.806396782398 -0.102260172367 +v -0.511167049408 0.801594376564 -0.108417809010 +v -0.500758171082 0.809814274311 -0.105136036873 +v -0.500140190125 0.811406195164 -0.101884782314 +v -0.491745948792 0.806727945805 -0.103401362896 +v -0.492305278778 0.808004617691 -0.101605892181 +v -0.505864143372 0.790762722492 -0.098364591599 +v -0.506949424744 0.789222061634 -0.102397680283 +v -0.511898517609 0.792011439800 -0.104481697083 +v -0.511413574219 0.793921768665 -0.099860727787 +v -0.513942241669 0.797082841396 -0.105452656746 +v -0.513425111771 0.799474656582 -0.101383924484 +v -0.505221366882 0.793554723263 -0.095338940620 +v -0.509412050247 0.796497941017 -0.095882833004 +v -0.511485099792 0.800802588463 -0.097495257854 +v -0.487203598022 0.805865585804 -0.089809119701 +v -0.491508483887 0.801817178726 -0.084747970104 +v -0.501916170120 0.816967248917 -0.087054252625 +v -0.496026515961 0.819197714329 -0.092714369297 +v -0.489030599594 0.813616871834 -0.094238102436 +v -0.496573925018 0.803260147572 -0.081626772881 +v -0.499391555786 0.800740122795 -0.084920167923 +v -0.503435134888 0.803725183010 -0.085128188133 +v -0.500617980957 0.807261526585 -0.080836713314 +v -0.505204677582 0.808161199093 -0.085975766182 +v -0.502797126770 0.812113285065 -0.082701086998 +v -0.494894981384 0.806727290154 -0.079006910324 +v -0.497905254364 0.810785889626 -0.078416407108 +v -0.500154018402 0.814402937889 -0.080199837685 +v -0.509780406952 0.792054593563 -0.109013736248 +v -0.489554882050 0.819736123085 -0.072930335999 +v -0.487940311432 0.816487431526 -0.072609961033 +v -0.489381313324 0.815415918827 -0.073478043079 +v -0.491574764252 0.818117618561 -0.074059128761 +v -0.491600751877 0.822124600410 -0.074348628521 +v -0.493067026138 0.820745110512 -0.075044274330 +v -0.485497951508 0.815698802471 -0.073549985886 +v -0.486885070801 0.821202099323 -0.073756098747 +v -0.488751888275 0.812952458858 -0.073907077312 +v -0.492937803268 0.816626131535 -0.074767291546 +v -0.494431257248 0.821339190006 -0.076288044453 +v -0.491227149963 0.824168622494 -0.075623750687 +v -0.527001857758 0.853478670120 -0.125246942043 +v -0.513896465302 0.857641816139 -0.126969873905 +v -0.517309665680 0.873407602310 -0.133468151093 +v -0.529544591904 0.871562659740 -0.133002638817 +v -0.510344266891 0.866749882698 -0.130797505379 +v -0.535715341568 0.858517348766 -0.139212429523 +v -0.535772323608 0.861216902733 -0.129334509373 +v -0.490445613861 0.890650033951 -0.100051939487 +v -0.488363265991 0.888513207436 -0.107455074787 +v -0.485354423523 0.880579829216 -0.108673691750 +v -0.485455274582 0.882985472679 -0.099698960781 +v -0.487403631210 0.872754931450 -0.105823457241 +v -0.488933801651 0.873876035213 -0.098851382732 +v -0.518436908722 0.863012790680 -0.108661413193 +v -0.512920618057 0.866162419319 -0.104191660881 +v -0.507155895233 0.865417718887 -0.113856613636 +v -0.510566711426 0.863865315914 -0.116527736187 +v -0.512574672699 0.881888926029 -0.117601990700 +v -0.519688844681 0.883390605450 -0.107507109642 +v -0.524630069733 0.880152225494 -0.113091707230 +v -0.515925884247 0.879324555397 -0.120808780193 +v -0.509762763977 0.871237039566 -0.122120618820 +v -0.506671428680 0.872891902924 -0.120059609413 +v -0.521101236343 0.874487102032 -0.101826131344 +v -0.524887323380 0.872092723846 -0.105790376663 +v -0.502747774124 0.870004713535 -0.100400567055 +v -0.497266054153 0.871715247631 -0.097897529602 +v -0.492583751678 0.869514763355 -0.108082056046 +v -0.498463630676 0.867662549019 -0.110751748085 +v -0.494890928268 0.888140499592 -0.110826432705 +v -0.499839544296 0.889504313469 -0.100029766560 +v -0.507523536682 0.887580394745 -0.102457940578 +v -0.502919435501 0.885920166969 -0.114045023918 +v -0.498455524445 0.875417351723 -0.118292808533 +v -0.491332054138 0.877597153187 -0.115070879459 +v -0.506424903870 0.879839777946 -0.096214175224 +v -0.503129482269 0.880639374256 -0.095109224319 +v -0.512672424316 0.862300992012 -0.120484471321 +v -0.513113737106 0.860535264015 -0.123115837574 +v -0.525039196014 0.856878221035 -0.118569016457 +v -0.519091129303 0.858681201935 -0.114477872849 +v -0.526840448380 0.879119575024 -0.120443284512 +v -0.530992031097 0.874435842037 -0.125046432018 +v -0.518256187439 0.875537931919 -0.128518223763 +v -0.517742633820 0.876998245716 -0.124922633171 +v -0.511662721634 0.868683815002 -0.127072453499 +v -0.511864900589 0.869614481926 -0.124864697456 +v -0.530849933624 0.860190629959 -0.111503541470 +v -0.533360242844 0.859168589115 -0.115616202354 +v -0.536691904068 0.865351617336 -0.116629421711 +v -0.534475564957 0.867561042309 -0.111754179001 +v -0.535916090012 0.871988415718 -0.118930697441 +v -0.533593416214 0.874997556210 -0.115182757378 +v -0.527114391327 0.863506555557 -0.108078002930 +v -0.529962301254 0.869924604893 -0.107841134071 +v -0.530357837677 0.875990808010 -0.111109972000 +v -0.503102540970 0.866510391235 -0.113218367100 +v -0.505452632904 0.866206705570 -0.104708135128 +v -0.513443470001 0.887060940266 -0.106990933418 +v -0.508520841599 0.883631944656 -0.116348564625 +v -0.503959178925 0.873957514763 -0.119046747684 +v -0.510499000549 0.870763242245 -0.097471833229 +v -0.514724016190 0.870366811752 -0.098390698433 +v -0.518878698349 0.876383900642 -0.097725093365 +v -0.514991760254 0.878054201603 -0.095596671104 +v -0.519540309906 0.882226943970 -0.100633978844 +v -0.515974521637 0.884334146976 -0.099541544914 +v -0.507736682892 0.872971475124 -0.096328496933 +v -0.510526895523 0.879325091839 -0.095016777515 +v -0.511901855469 0.884887933731 -0.097839653492 +v -0.535580873489 0.863515138626 -0.121753752232 +v -0.494115114212 0.883353888988 -0.090229034424 +v -0.494159221649 0.878465473652 -0.090765476227 +v -0.496655464172 0.878225266933 -0.091974556446 +v -0.497776508331 0.882385611534 -0.092055082321 +v -0.494970798492 0.887757301331 -0.091351509094 +v -0.497639894485 0.886616647243 -0.092495083809 +v -0.491739749908 0.876264393330 -0.093018054962 +v -0.489335536957 0.883648872375 -0.093107581139 +v -0.497393131256 0.875543773174 -0.093272686005 +v -0.500410795212 0.881527364254 -0.093731045723 +v -0.499048471451 0.888204634190 -0.094248950481 +v -0.492660522461 0.889721930027 -0.094091176987 +v -0.521483898163 0.842776119709 -0.155532121658 +v -0.518549919128 0.858851313591 -0.158480763435 +v -0.513115406036 0.815885305405 -0.150368809700 +v -0.514750003815 0.828490138054 -0.158624708652 +v -0.504255294800 0.803942263126 -0.149980843067 +v -0.471243858337 0.786971271038 -0.142925024033 +v -0.466823101044 0.792440652847 -0.134708881378 +v -0.454370021820 0.826037108898 -0.138828337193 +v -0.495823860168 0.816522121429 -0.171279489994 +v -0.490122318268 0.804616093636 -0.166800975800 +v -0.501922845840 0.864825129509 -0.167882800102 +v -0.488729238510 0.869901716709 -0.140693187714 +v -0.494021654129 0.873752593994 -0.152330935001 +v -0.487847566605 0.878740549088 -0.152684986591 +v -0.480398416519 0.872110724449 -0.138898909092 +v -0.463868141174 0.866027951241 -0.132292509079 +v -0.478146791458 0.862194061279 -0.133633494377 +v -0.463702440262 0.875368595123 -0.127856612206 +v -0.453201293945 0.882918894291 -0.131946742535 +v -0.446355819702 0.873552322388 -0.141134619713 +v -0.483682394028 0.883540391922 -0.145150899887 +v -0.476632833481 0.876343607903 -0.133325040340 +v -0.484167098999 0.901457369328 -0.093008697033 +v -0.485260963440 0.893595635891 -0.095105886459 +v -0.483138322830 0.889306485653 -0.131258606911 +v -0.477747440338 0.882396876812 -0.121179759502 +v -0.476070404053 0.880022823811 -0.127019524574 +v -0.481888771057 0.887317419052 -0.138192296028 +v -0.468255043030 0.884616315365 -0.116226017475 +v -0.464697837830 0.881538629532 -0.122920870781 +v -0.479435443878 0.900566041470 -0.136166751385 +v -0.477606296539 0.898043036461 -0.145556926727 +v -0.468045234680 0.902096092701 -0.133089959621 +v -0.465980529785 0.900569677353 -0.139554977417 +v -0.462095737457 0.895440816879 -0.121656596661 +v -0.457749605179 0.892096400261 -0.130192101002 +v -0.470758438110 0.897547125816 -0.155327796936 +v -0.466237306595 0.894115865231 -0.159044146538 +v -0.457171916962 0.892076790333 -0.153369426727 +v -0.461186885834 0.897225439548 -0.149793088436 +v -0.450381755829 0.887220442295 -0.144794583321 +v -0.453635215759 0.891810834408 -0.140942871571 +v -0.480525970459 0.891566216946 -0.156198561192 +v -0.471389532089 0.900366127491 -0.149930894375 +v -0.463864564896 0.900258302689 -0.145290255547 +v -0.457410335541 0.896189451218 -0.139161109924 +v -0.469795703888 0.888008773327 -0.165396869183 +v -0.452988624573 0.883881807327 -0.157703280449 +v -0.491194486618 0.891927838326 -0.114754319191 +v -0.486534357071 0.885707378387 -0.106756806374 +v -0.479014396667 0.889679074287 -0.100693225861 +v -0.489616870880 0.903515696526 -0.117441117764 +v -0.487568616867 0.908877730370 -0.099188625813 +v -0.490461826324 0.908248662949 -0.103589415550 +v -0.486899375916 0.906276345253 -0.106632411480 +v -0.481706142426 0.906772732735 -0.103209018707 +v -0.484368562698 0.908297657967 -0.096467256546 +v -0.480246782303 0.906286239624 -0.099046111107 +v -0.472922801971 0.901211500168 -0.101609766483 +v -0.481368541718 0.883780658245 -0.114653468132 +v -0.486560106277 0.890575349331 -0.123603880405 +v -0.473132371902 0.886498153210 -0.109143614769 +v -0.485536098480 0.901406943798 -0.128164887428 +v -0.480238437653 0.907655954361 -0.126654922962 +v -0.476631164551 0.906661093235 -0.131565809250 +v -0.469987869263 0.906214416027 -0.128223299980 +v -0.473164319992 0.908138692379 -0.122179150581 +v -0.465127468109 0.902755975723 -0.122632205486 +v -0.467630147934 0.903878688812 -0.116376280785 +v -0.467125654221 0.895816802979 -0.111212134361 +v -0.482595682144 0.906823217869 -0.120295464993 +v -0.477108955383 0.906865596771 -0.115525126457 +v -0.472041606903 0.904061913490 -0.110747873783 +v -0.477966785431 0.905460000038 -0.110133111477 +v -0.493883132935 0.907011985779 -0.104439914227 +v -0.491958379745 0.907425343990 -0.096913754940 +v -0.489140272141 0.905874848366 -0.111298918724 +v -0.479014158249 0.906400084496 -0.107349276543 +v -0.476996898651 0.905042469501 -0.099129199982 +v -0.484606742859 0.906890451908 -0.093938052654 +v -0.491485834122 0.862887859344 -0.133998870850 +v -0.478189468384 0.851019322872 -0.133088052273 +v -0.436126470566 0.836560726166 -0.156523883343 +v -0.442461729050 0.835687577724 -0.147658109665 +v -0.441426515579 0.845188915730 -0.148403167725 +v -0.437577724457 0.854609191418 -0.159161508083 +v -0.454926490784 0.834215760231 -0.140588104725 +v -0.462005615234 0.792235910892 -0.166105270386 +v -0.456657409668 0.791631460190 -0.155758082867 +v -0.483422994614 0.867121934891 -0.181242167950 +v -0.468945980072 0.855017066002 -0.193509101868 +v -0.462913751602 0.870561540127 -0.183496356010 +v -0.491529464722 0.874752402306 -0.165132880211 +v -0.487841367722 0.878770470619 -0.162872314453 +v -0.468900203705 0.836523592472 -0.196922063828 +v -0.479998111725 0.818049311638 -0.186679184437 +v -0.499879121780 0.870677828789 -0.139983534813 +v -0.504315376282 0.871536970139 -0.151580274105 +v -0.454349756241 0.840840578079 -0.139953255653 +v -0.480731725693 0.877718329430 -0.174314856529 +v -0.464861869812 0.879262804985 -0.174113869667 +v -0.446362018585 0.868979811668 -0.170653223991 +v -0.449486732483 0.874917387962 -0.165948867798 +v -0.440111875534 0.863788783550 -0.154974460602 +v -0.441115617752 0.851662218571 -0.146024465561 +v -0.454034090042 0.845933496952 -0.138140499592 +v -0.456007719040 0.854448795319 -0.133829414845 +v -0.469702482224 0.854526937008 -0.132327675819 +v -0.444778442383 0.858243584633 -0.139310777187 +v -0.481812000275 0.882776081562 -0.167174339294 +v -0.484746932983 0.884817302227 -0.160003304482 +v -0.442131519318 0.811856746674 -0.148359179497 +v -0.436752319336 0.819676995277 -0.155522286892 +v -0.452622652054 0.797102570534 -0.146845281124 +v -0.443253278732 0.825838088989 -0.145939826965 +v -0.444576740265 0.818954288960 -0.143559813499 +v -0.433326005936 0.807289421558 -0.173588871956 +v -0.441542625427 0.803750753403 -0.187457442284 +v -0.430660247803 0.819438576698 -0.164661586285 +v -0.430188417435 0.836086511612 -0.162424981594 +v -0.432472229004 0.853630959988 -0.163688778877 +v -0.439163208008 0.866289258003 -0.172386646271 +v -0.448523044586 0.868499755859 -0.185838401318 +v -0.454426765442 0.857727229595 -0.197017431259 +v -0.454931259155 0.839325785637 -0.202164053917 +v -0.465736627579 0.819396853447 -0.194947898388 +v -0.450971364975 0.817552566528 -0.198323130608 +v -0.456123352051 0.800768375397 -0.183851480484 +v -0.468741416931 0.797707617283 -0.175054907799 +v -0.425196409225 0.807017326355 -0.182153224945 +v -0.429808616638 0.808018207550 -0.197672486305 +v -0.423538684845 0.817356407642 -0.170044660568 +v -0.423536777496 0.833735704422 -0.165797650814 +v -0.425173997879 0.851301014423 -0.165531635284 +v -0.430070877075 0.863844513893 -0.173078656197 +v -0.436095714569 0.867850482464 -0.187229573727 +v -0.440057992935 0.861827850342 -0.201652050018 +v -0.439754009247 0.844789445400 -0.210174918175 +v -0.435653448105 0.823165953159 -0.207971274853 +v -0.419240474701 0.811311781406 -0.205702304840 +v -0.414561510086 0.807009160519 -0.189636647701 +v -0.403192281723 0.809433162212 -0.199932932854 +v -0.409330129623 0.817718327045 -0.216658353806 +v -0.413339853287 0.815283596516 -0.174596428871 +v -0.399246454239 0.813498079777 -0.181282222271 +v -0.413203001022 0.829875349998 -0.168070018291 +v -0.397543668747 0.824719786644 -0.171226143837 +v -0.395318984985 0.834834337234 -0.168890595436 +v -0.408400058746 0.846953988075 -0.167888164520 +v -0.413450241089 0.863622665405 -0.173395872116 +v -0.419510841370 0.872239351273 -0.188069701195 +v -0.424756288528 0.871203422546 -0.206108510494 +v -0.424194335938 0.854732930660 -0.219132661819 +v -0.414286136627 0.851325511932 -0.227738976479 +v -0.424114227295 0.828399658203 -0.215525388718 +v -0.413206815720 0.834980130196 -0.225028336048 +v -0.474735736847 0.806489527225 -0.181779563427 +v -0.461838483810 0.807741761208 -0.190207779408 +v -0.450213432312 0.803499877453 -0.189132690430 +v -0.453882694244 0.808152139187 -0.192983090878 +v -0.063398599625 0.425415545702 -0.004801809788 +v -0.057441711426 0.421231210232 0.011059165001 +v -0.042950868607 0.417842894793 0.021519958973 +v 0.144121408463 0.511780261993 0.077085554600 +v 0.108297348022 0.528908789158 0.076607823372 +v 0.103316783905 0.511069953442 0.013130068779 +v 0.120876550674 0.499709635973 0.015783727169 +v 0.143322706223 0.510246276855 0.023608624935 +v 0.161252737045 0.523530781269 0.064749538898 +v 0.152065515518 0.501725971699 -0.009824156761 +v 0.140231609344 0.498346298933 -0.030532300472 +v 0.192918300629 0.507425546646 -0.030843675137 +v 0.185611486435 0.508959054947 -0.011636078358 +v 0.187336921692 0.531630814075 -0.041304111481 +v 0.124450206757 0.523272991180 -0.047710359097 +v 0.227248430252 0.552403509617 -0.004147112370 +v 0.228659629822 0.532396197319 -0.002932310104 +v 0.227637529373 0.592922449112 0.034270524979 +v 0.233801364899 0.565752506256 0.035560011864 +v 0.223552703857 0.587897717953 -0.008055388927 +v 0.221391916275 0.630149424076 0.032777488232 +v 0.188503026962 0.624325811863 0.092208683491 +v 0.197622060776 0.591138243675 0.090726375580 +v 0.214549303055 0.686934411526 0.045682489872 +v 0.187195301056 0.673267960548 0.099526941776 +v 0.216737031937 0.692575335503 -0.008495330811 +v 0.199777126312 0.701083362103 -0.008754312992 +v 0.194094419479 0.686676740646 0.034240126610 +v 0.220711708069 0.636359512806 -0.020351350307 +v 0.182755708694 0.725424706936 -0.089372277260 +v 0.179335832596 0.729352295399 -0.071519851685 +v 0.187209367752 0.650559663773 -0.072877883911 +v 0.166259288788 0.675132751465 0.078442573547 +v 0.195732593536 0.668351173401 0.035658538342 +v 0.165970325470 0.662057161331 0.079006195068 +v 0.184274196625 0.697052001953 -0.025637030602 +v 0.136685848236 0.621061325073 0.124828457832 +v 0.146819353104 0.581296682358 0.115078270435 +v 0.209793090820 0.565983176231 0.086855173111 +v 0.165661096573 0.548517227173 0.104174733162 +v 0.134027719498 0.671311855316 0.129685342312 +v 0.078870058060 0.624179244041 0.127473473549 +v 0.088960170746 0.573084473610 0.105961620808 +v 0.077410221100 0.682400047779 0.141914546490 +v 0.184307813644 0.588923692703 -0.058013796806 +v 0.129453897476 0.595893144608 -0.086390793324 +v 0.133975744247 0.663929998875 -0.106234252453 +v 0.236451148987 0.552949547768 0.037623882294 +v 0.224511861801 0.541902184486 0.036363959312 +v 0.211948394775 0.525437772274 0.006383121014 +v 0.214318037033 0.545253038406 0.069983601570 +v 0.212549924850 0.552964806557 0.068517923355 +v 0.224463939667 0.549749970436 0.033728003502 +v 0.218957901001 0.557131946087 0.083203673363 +v 0.187869310379 0.532874941826 0.092133939266 +v 0.187714338303 0.534057557583 0.080063939095 +v 0.181240797043 0.545281291008 0.081068098545 +v 0.146420955658 0.531102359295 0.067861676216 +v 0.212937355042 0.534900724888 0.000919044018 +v 0.184135675430 0.516894340515 -0.018340229988 +v 0.071259021759 0.544855475426 -0.057795166969 +v 0.062549352646 0.523616433144 0.002657234669 +v 0.072495937347 0.605195105076 -0.099032998085 +v 0.012754201889 0.670661449432 -0.129763662815 +v 0.074255228043 0.671743631363 -0.122924923897 +v 0.016004562378 0.604284882545 -0.108093738556 +v -0.047175407410 0.665716767311 -0.120963096619 +v -0.047187089920 0.735366821289 -0.127462327480 +v 0.014084577560 0.746303260326 -0.145008087158 +v -0.093496322632 0.661609470844 -0.084233760834 +v -0.096379756927 0.725130677223 -0.084452211857 +v -0.035370826721 0.739451408386 -0.115991532803 +v 0.016326665878 0.748082160950 -0.129412829876 +v -0.076249361038 0.729390442371 -0.078382790089 +v -0.043362140656 0.605586290359 -0.104780077934 +v -0.089107990265 0.608498692513 -0.073513865471 +v -0.114396095276 0.659402668476 -0.028737843037 +v -0.114691495895 0.720096588135 -0.025828123093 +v -0.112749338150 0.613461971283 -0.024391472340 +v 0.026057243347 0.539770305157 -0.068712770939 +v -0.036364793777 0.558640837669 -0.091128528118 +v 0.081735372543 0.748860776424 -0.142071723938 +v 0.138632535934 0.742601990700 -0.123913228512 +v 0.074531555176 0.752696514130 -0.124717712402 +v 0.130490541458 0.744501113892 -0.108744025230 +v 0.031629323959 0.521139383316 -0.005045592785 +v 0.039030313492 0.551695644855 0.056075632572 +v -0.001458644867 0.553142666817 0.050433158875 +v 0.022727251053 0.514308512211 -0.007078170776 +v 0.018694400787 0.521275639534 -0.064219474792 +v -0.013375759125 0.545891344547 0.025897085667 +v 0.010625362396 0.528762698174 -0.008753895760 +v -0.013785123825 0.537784159184 0.044802665710 +v -0.003431797028 0.556365251541 0.031631588936 +v 0.021438360214 0.537024855614 -0.007674217224 +v -0.044837236404 0.555213034153 0.041083216667 +v -0.037632226944 0.567453145981 0.046529829502 +v -0.051511764526 0.550408124924 0.056568264961 +v -0.049501657486 0.569334208965 0.059367895126 +v -0.012590885162 0.593995332718 0.081816494465 +v -0.056488513947 0.606606721878 0.067150175571 +v 0.028929233551 0.585341632366 0.093791067600 +v 0.008466243744 0.527554392815 -0.046013593674 +v 0.015324592590 0.539409756660 -0.046251296997 +v -0.025128364563 0.548998892307 -0.059863686562 +v -0.028495788574 0.536334693432 -0.059524655342 +v -0.034542560577 0.529292702675 -0.083323836327 +v 0.145991802216 0.508340239525 -0.014416158199 +v 0.131390333176 0.516479372978 0.021855235100 +v 0.026699304581 0.634563446045 0.117274522781 +v -0.020232677460 0.642315804958 0.100721597672 +v -0.026278018951 0.702590823174 0.111697435379 +v -0.068937778473 0.706630170345 0.078983545303 +v -0.064911603928 0.651495337486 0.071269571781 +v -0.015012741089 0.704616785049 0.095527708530 +v -0.054348468781 0.709064245224 0.065617680550 +v 0.026480436325 0.697825789452 0.111364364624 +v 0.025828838348 0.691604137421 0.109849214554 +v -0.014955997467 0.698180437088 0.094332814217 +v 0.071362495422 0.688030838966 0.115027904510 +v 0.069956779480 0.677348077297 0.113705933094 +v 0.121142864227 0.674957156181 0.104752779007 +v 0.119457006454 0.664903819561 0.103474259377 +v 0.021538257599 0.694689214230 0.131033778191 +v -0.053185701370 0.703009426594 0.064263105392 +v -0.084846496582 0.713242530823 0.025584518909 +v -0.102933645248 0.712332844734 0.035015225410 +v -0.095738649368 0.717043399811 -0.024513781071 +v -0.100670337677 0.658007621765 0.027561366558 +v -0.096192121506 0.614809751511 0.028727471828 +v -0.093750953674 0.575753808022 0.032837092876 +v -0.107775926590 0.575954735279 -0.015404582024 +v -0.076748132706 0.721031785011 -0.079203486443 +v -0.095304489136 0.708831727505 -0.024215877056 +v -0.035797357559 0.727729797363 -0.117839038372 +v 0.016345024109 0.738378584385 -0.135166823864 +v -0.084352016449 0.707949042320 0.025263905525 +v -0.074731111526 0.537435054779 -0.053000748158 +v -0.060385465622 0.543911695480 -0.041588306427 +v -0.085829257965 0.563987195492 -0.064947962761 +v -0.100173950195 0.556139528751 -0.010330975056 +v -0.076323747635 0.554702341557 -0.007672071457 +v -0.072488784790 0.558982849121 0.027619063854 +v -0.093396186829 0.559440493584 0.031786739826 +v -0.076028823853 0.564334809780 -0.006530702114 +v -0.068377733231 0.567896723747 0.030334770679 +v -0.061259269714 0.555227398872 -0.041971862316 +v 0.073889255524 0.745370209217 -0.123060703278 +v 0.128804206848 0.738630473614 -0.107519149780 +v 0.170720815659 0.713177621365 -0.074004113674 +v 0.014654159546 0.516860008240 -0.008520841599 +v 0.013562679291 0.518869280815 -0.057164371014 +v -0.016606330872 0.536776065826 0.037213981152 +v -0.049576044083 0.547559082508 0.050266206264 +v -0.032561779022 0.526100814342 -0.075417101383 +v -0.081507205963 0.541957616806 -0.059140264988 +v -0.090506315231 0.551226019859 -0.008307635784 +v -0.086373806000 0.554394304752 0.030092954636 +v 0.154227733612 0.513570308685 0.073047876358 +v 0.132213592529 0.500396609306 0.018915951252 +v 0.146581411362 0.496055126190 -0.020876288414 +v 0.191246986389 0.503775417805 -0.022085011005 +v 0.222658157349 0.525225639343 0.000867187977 +v 0.230988979340 0.543813467026 0.037524938583 +v 0.219683170319 0.549111723900 0.076172590256 +v 0.182136535645 0.536433517933 0.100669324398 +v 0.046369791031 0.719563126564 0.135822176933 +v 0.042241811752 0.721289813519 0.120435237885 +v -0.003053903580 0.735716164112 0.113252401352 +v -0.001557350159 0.734151005745 0.128390729427 +v 0.048724651337 0.693842947483 0.145092248917 +v 0.088016271591 0.680101275444 0.143559694290 +v 0.088751792908 0.712511181831 0.134645402431 +v -0.005078792572 0.687308907509 0.133116126060 +v 0.005204916000 0.678244352341 0.114929139614 +v 0.045290470123 0.679847002029 0.130735397339 +v -0.046638011932 0.679906129837 0.107797205448 +v -0.036025047302 0.673013865948 0.093445062637 +v -0.047019481659 0.748887658119 0.117437124252 +v -0.043670654297 0.749698400497 0.105795860291 +v -0.083326578140 0.758892953396 0.081229805946 +v -0.092339754105 0.758642017841 0.089627742767 +v -0.084635972977 0.674705922604 0.074784040451 +v -0.118670225143 0.769500553608 0.044728934765 +v -0.110567569733 0.675210475922 0.032601892948 +v -0.073696851730 0.668749451637 0.062748491764 +v -0.096913099289 0.669786691666 0.024165332317 +v -0.136384248734 0.778806865215 -0.006764948368 +v -0.125165224075 0.685560584068 -0.010455846786 +v -0.128728628159 0.779637575150 -0.004121005535 +v -0.123834848404 0.788750588894 -0.051987946033 +v -0.134121894836 0.787187457085 -0.055941343307 +v -0.112501621246 0.770408868790 0.043770790100 +v -0.125114917755 0.696647584438 -0.048348546028 +v 0.088402271271 0.679888308048 0.132619023323 +v 0.127837419510 0.673484921455 0.119722843170 +v 0.132176876068 0.673645257950 0.122276902199 +v 0.162997484207 0.673051953316 0.104590058327 +v 0.168073177338 0.673548042774 0.111319541931 +v 0.194190502167 0.675714135170 0.075663864613 +v 0.201750755310 0.681370317936 0.081253111362 +v 0.160883426666 0.700167834759 0.107342004776 +v 0.126739978790 0.702453672886 0.123044371605 +v 0.196573019028 0.701241195202 0.081610202789 +v 0.218851804733 0.692234337330 0.023782670498 +v 0.218031644821 0.722697138786 0.022761344910 +v 0.211975812912 0.697270512581 -0.019005358219 +v 0.210978746414 0.684415698051 0.022575974464 +v 0.206652164459 0.696023881435 -0.015635728836 +v 0.217346906662 0.742312967777 -0.024935722351 +v 0.212719678879 0.723642468452 0.022974371910 +v 0.189186811447 0.703710496426 0.071625590324 +v 0.151532173157 0.701240718365 0.096213757992 +v 0.119452953339 0.703918457031 0.109877347946 +v 0.084906578064 0.714441061020 0.121117770672 +v -0.109468936920 0.675620913506 -0.013445198536 +v -0.102214574814 0.688136637211 -0.049785196781 +v -0.112360954285 0.709139764309 -0.096938610077 +v -0.090363025665 0.703007459641 -0.084746301174 +v -0.079424858093 0.723271906376 -0.131462454796 +v -0.063344240189 0.716237366199 -0.108357429504 +v -0.031183481216 0.732107281685 -0.152232766151 +v -0.028877019882 0.723726272583 -0.136132776737 +v 0.020634174347 0.744759976864 -0.156958043575 +v 0.014694929123 0.733487784863 -0.142659604549 +v 0.069174766541 0.743137419224 -0.152602612972 +v 0.061331748962 0.735695242882 -0.140975654125 +v 0.110146522522 0.735085666180 -0.144149661064 +v 0.103978872299 0.731820046902 -0.132717370987 +v 0.077984094620 0.798910439014 -0.141461968422 +v 0.119859457016 0.790866315365 -0.137311816216 +v 0.074426889420 0.802294850349 -0.135301411152 +v 0.116223812103 0.793579339981 -0.130329132080 +v 0.161331653595 0.781449317932 -0.127611219883 +v 0.152729034424 0.728924751282 -0.130435585976 +v 0.157443046570 0.783650875092 -0.121536970139 +v 0.016957759857 0.807849287987 -0.168082594872 +v 0.013961553574 0.810384929180 -0.162219345570 +v 0.142093658447 0.720312654972 -0.115514278412 +v 0.183982133865 0.712360918522 -0.110098004341 +v 0.172728776932 0.703007578850 -0.095244884491 +v 0.204134464264 0.694908976555 -0.070124804974 +v 0.194279670715 0.698028326035 -0.065750300884 +v 0.193339109421 0.770651638508 -0.104809045792 +v 0.212558984756 0.760952532291 -0.071953296661 +v -0.037868022919 0.804407358170 -0.172462224960 +v -0.085999965668 0.798096537590 -0.150223016739 +v -0.079912900925 0.801035761833 -0.145433545113 +v -0.039311408997 0.806997716427 -0.165538191795 +v -0.114581584930 0.791720926762 -0.122836530209 +v -0.107570171356 0.793677270412 -0.103108108044 +v 0.188315153122 0.773532092571 -0.101306200027 +v 0.206870555878 0.763117253780 -0.069325089455 +v 0.211477041245 0.744883477688 -0.024265110493 +v 0.042490959167 0.714094579220 0.143952012062 +v 0.087229490280 0.708064198494 0.141458809376 +v -0.003680706024 0.725511908531 0.134795546532 +v -0.046833276749 0.736211478710 0.117370963097 +v -0.090959787369 0.743731617928 0.091760039330 +v -0.118830442429 0.753062367439 0.045624971390 +v -0.137614011765 0.761805653572 -0.004316985607 +v -0.138007164001 0.771108925343 -0.055927753448 +v 0.164827346802 0.696167469025 0.115181803703 +v 0.129087686539 0.698045313358 0.129442453384 +v 0.202077627182 0.697257161140 0.083701729774 +v 0.223474979401 0.716901838779 0.021489858627 +v 0.219713687897 0.734807431698 -0.024288654327 +v 0.116148948669 0.780359745026 -0.140539228916 +v 0.075758695602 0.788216233253 -0.143896400928 +v 0.158277511597 0.770472466946 -0.130922555923 +v 0.016254663467 0.794478595257 -0.169810354710 +v 0.214664697647 0.750561535358 -0.070789575577 +v 0.193098306656 0.760572731495 -0.107543230057 +v -0.038340330124 0.789423942566 -0.169972777367 +v -0.089158058167 0.786127924919 -0.148080706596 +v -0.117129564285 0.774500608444 -0.117468833923 +v 0.042947053909 0.680678486824 0.141971707344 +v 0.088331699371 0.690217196941 0.148079514503 +v 0.003902912140 0.677657604218 0.129070520401 +v -0.041256189346 0.671179771423 0.103981673717 +v -0.082117557526 0.666609048843 0.067920327187 +v -0.102604150772 0.668240845203 0.030974626541 +v -0.117699861526 0.673860788345 -0.010850131512 +v -0.117666482925 0.687893807888 -0.057794094086 +v 0.130661725998 0.680747628212 0.129106581211 +v 0.167012929916 0.680982887745 0.119741201401 +v 0.203903198242 0.687600016594 0.084002554417 +v 0.223474740982 0.696553647518 0.024260759354 +v 0.218124628067 0.702928543091 -0.021467387676 +v -0.105328559875 0.700765669346 -0.090611577034 +v -0.074398279190 0.714329957962 -0.125499725342 +v -0.027653694153 0.722540020943 -0.144668102264 +v 0.022192239761 0.732428669930 -0.150135040283 +v 0.065891504288 0.733176171780 -0.148831009865 +v 0.109828948975 0.726947844028 -0.140057563782 +v 0.145726919174 0.717888236046 -0.127151072025 +v 0.178150177002 0.702635169029 -0.105906605721 +v 0.208762645721 0.699994683266 -0.072454273701 +v 0.474818944931 0.829751849174 0.080761909485 +v 0.447371721268 0.827144682407 0.082335829735 +v 0.436402082443 0.801355779171 0.076726853848 +v 0.437137126923 0.782028198242 0.062518715858 +v 0.449114084244 0.774479269981 0.043720185757 +v 0.466235399246 0.780543923378 0.026742458344 +v 0.482433199883 0.796503424644 0.020002663136 +v 0.497534036636 0.817176282406 0.030400276184 +v 0.490592956543 0.825681328773 0.062343478203 +v 0.416083812714 0.856479287148 0.063238620758 +v 0.397818565369 0.822540879250 0.058679580688 +v 0.394402980804 0.790257930756 0.037392973900 +v 0.409307241440 0.778394103050 -0.000016272068 +v 0.435056686401 0.793707430363 -0.030144393444 +v 0.461454987526 0.821685552597 -0.037738919258 +v 0.478555798531 0.853732824326 -0.014944911003 +v 0.468921065331 0.879577338696 0.027264356613 +v 0.445375442505 0.880728542805 0.053184807301 +v 0.466699838638 0.886996567249 -0.046786844730 +v 0.444378852844 0.847988784313 -0.076629161835 +v 0.406841993332 0.809575557709 -0.076438903809 +v 0.371905088425 0.787828385830 -0.042897462845 +v 0.357719540596 0.804510772228 0.005992591381 +v 0.362805366516 0.843034982681 0.036714971066 +v 0.391008257866 0.879716992378 0.041662096977 +v 0.425895571709 0.907973527908 0.033029556274 +v 0.459516048431 0.908767938614 0.004759609699 +v 0.474973201752 0.818710982800 0.074997305870 +v 0.461808919907 0.809670209885 0.079118371010 +v 0.456480264664 0.798067808151 0.076258957386 +v 0.455782771111 0.786437451839 0.067734181881 +v 0.461717367172 0.781551599503 0.053859353065 +v 0.471699953079 0.783859133720 0.044202029705 +v 0.482946038246 0.793918967247 0.038748741150 +v 0.489899158478 0.805950462818 0.046118319035 +v 0.486937761307 0.816467463970 0.063097000122 +v 0.441228270531 0.887848794460 -0.051129221916 +v 0.419926643372 0.855345606804 -0.080606341362 +v 0.393717527390 0.828494906425 -0.076067388058 +v 0.370517253876 0.811828851700 -0.047418713570 +v 0.361316323280 0.823268711567 -0.005200862885 +v 0.369323611259 0.850542843342 0.018845379353 +v 0.388053059578 0.882371962070 0.021297752857 +v 0.414115905762 0.906186938286 0.015702068806 +v 0.435689449310 0.907421112061 -0.006201267242 +v 0.457625389099 0.893979549408 -0.053317129612 +v 0.432103991508 0.851549267769 -0.084864497185 +v 0.397927403450 0.816684424877 -0.084416866302 +v 0.365631699562 0.796897709370 -0.048830389977 +v 0.351232051849 0.811093628407 -0.000877141953 +v 0.357836484909 0.846324503422 0.031680703163 +v 0.384871840477 0.884247660637 0.031613469124 +v 0.419532299042 0.913497269154 0.023943066597 +v 0.448849439621 0.918320059776 -0.001152694225 +v 0.468704581261 0.841255605221 0.076112985611 +v 0.455493927002 0.817524373531 0.086187958717 +v 0.447009682655 0.798206448555 0.080420792103 +v 0.444962501526 0.781422913074 0.068031430244 +v 0.455179333687 0.774285674095 0.049756467342 +v 0.471616744995 0.778853714466 0.036065757275 +v 0.486483812332 0.790827751160 0.029048442841 +v 0.496397018433 0.808861613274 0.039405584335 +v 0.487864613533 0.835947692394 0.054146111012 +v 0.153582811356 1.146741271019 -0.023735761642 +v 0.146487712860 1.131359100342 -0.001364409924 +v 0.166741371155 1.124185800552 0.018122673035 +v 0.193145751953 1.149736404419 -0.011541187763 +v 0.155054807663 1.159122467041 -0.049359142780 +v 0.204403400421 1.165102362633 -0.054153501987 +v 0.122463703156 1.154211997986 -0.012223064899 +v 0.122359752655 1.165279030800 -0.031655430794 +v 0.111874103546 1.145521163940 -0.014831602573 +v 0.108873367310 1.130098581314 0.001646161079 +v 0.118844747543 1.140482068062 0.008030056953 +v 0.112039089203 1.157532334328 -0.030208945274 +v 0.117567777634 1.174703359604 -0.051419258118 +v 0.107257843018 1.165954709053 -0.045900940895 +v 0.104554653168 1.179394125938 -0.069682717323 +v 0.096223115921 1.169898509979 -0.061130762100 +v 0.078921318054 1.169709205627 -0.074586033821 +v 0.084147691727 1.179101228714 -0.084845960140 +v 0.060791492462 1.176911592484 -0.095880866051 +v 0.057977199554 1.167713642120 -0.084590315819 +v 0.036164999008 1.174309372902 -0.102829873562 +v 0.034911155701 1.165031433105 -0.090920388699 +v 0.010727643967 1.171227931976 -0.105658352375 +v 0.011106491089 1.162466049194 -0.093655586243 +v 0.043484210968 1.148231267929 -0.125569045544 +v 0.015298843384 1.144926548004 -0.130406677723 +v 0.071163892746 1.151486396790 -0.119160473347 +v 0.099195003510 1.154577970505 -0.109847664833 +v 0.129453897476 1.156361937523 -0.098611533642 +v 0.148039340973 1.161061882973 -0.075409770012 +v 0.194738388062 1.157809615135 -0.093097984791 +v 0.166496038437 1.133596062660 -0.120083212852 +v 0.241148471832 1.147128343582 -0.110760331154 +v 0.205090999603 1.108767747879 -0.138120114803 +v 0.296813964844 1.119970321655 -0.113083600998 +v 0.248097181320 1.079767704010 -0.139568984509 +v 0.314052343369 1.139110684395 -0.062264442444 +v 0.255768775940 1.160152196884 -0.056023120880 +v 0.125734090805 1.143847703934 -0.100883603096 +v 0.157966852188 1.121018052101 -0.115687131882 +v 0.195927619934 1.096690416336 -0.130942702293 +v 0.102578163147 1.110636472702 0.020105242729 +v 0.110338211060 1.120410561562 0.029318034649 +v 0.135500192642 1.112133264542 0.027387619019 +v 0.121419668198 1.085264921188 0.053761780262 +v 0.096231937408 1.096061944962 0.048072874546 +v 0.121106386185 1.072343826294 0.043408513069 +v 0.135016918182 1.098165869713 0.015953302383 +v 0.146015644073 1.118869185448 -0.003721117973 +v 0.161901235580 1.110084056854 0.008137762547 +v 0.196237564087 1.113056898117 0.041670143604 +v 0.231638908386 1.147067785263 0.005591809750 +v 0.187341213226 1.099266767502 0.029134333134 +v 0.101557731628 1.063514590263 0.082820892334 +v 0.102081298828 1.052370190620 0.074180006981 +v 0.079520702362 1.077967882156 0.068052530289 +v 0.091128826141 1.087718725204 0.037324488163 +v 0.076925516129 1.069971561432 0.055388748646 +v 0.073636531830 1.045414447784 0.104310035706 +v 0.060042619705 1.063298940659 0.085158526897 +v 0.060029506683 1.056650996208 0.070179820061 +v 0.076045036316 1.035140991211 0.095563471317 +v 0.043664932251 1.024097084999 0.109484314919 +v 0.049406528473 1.016946673393 0.102544367313 +v -0.092731475830 1.104547619820 -0.051223099232 +v -0.113844156265 1.093252182007 -0.044122219086 +v -0.106844902039 1.081219434738 -0.051757276058 +v -0.089383363724 1.092386722565 -0.054474711418 +v -0.142742395401 1.079518079758 -0.034633517265 +v -0.133426666260 1.067001342773 -0.045482337475 +v -0.184802770615 1.058834671974 -0.039483308792 +v -0.173303604126 1.048474073410 -0.050417959690 +v -0.212892293930 1.028311491013 -0.072805166245 +v -0.225590705872 1.036243677139 -0.063136100769 +v -0.252138376236 1.016947031021 -0.094444274902 +v -0.238336086273 1.010701894760 -0.105198681355 +v -0.261181116104 1.009418725967 -0.139634251595 +v -0.249701499939 1.001395821571 -0.147045373917 +v -0.236275196075 1.050160169601 -0.116216957569 +v -0.220269918442 1.051454544067 -0.180383503437 +v -0.255511283875 1.006905913353 -0.191586971283 +v -0.200874567032 1.088705539703 -0.091722786427 +v -0.183070182800 1.090037822723 -0.163334965706 +v -0.194282293320 1.042732954025 -0.226393222809 +v -0.229079723358 1.004474639893 -0.227474808693 +v -0.159255266190 1.014430284500 -0.241221547127 +v -0.196877479553 1.004197716713 -0.243847310543 +v -0.161328792572 1.084260106087 -0.219420254230 +v -0.119579792023 1.036281943321 -0.230625808239 +v -0.244533061981 0.997296631336 -0.191611886024 +v -0.223453521729 0.995631098747 -0.221788883209 +v -0.153653621674 1.110693693161 -0.078140616417 +v -0.146693229675 1.116624593735 -0.140892207623 +v -0.119409322739 1.117959380150 -0.075315594673 +v -0.110646963120 1.127498865128 -0.118036568165 +v -0.091603517532 1.119367361069 -0.072633266449 +v -0.084799051285 1.131223559380 -0.097159922123 +v -0.115998268127 1.108692765236 -0.190854609013 +v -0.089858293533 1.122802376747 -0.153536438942 +v -0.082515239716 1.073935151100 -0.031460642815 +v -0.089494943619 1.087044239044 -0.020607233047 +v -0.073734283447 1.050684690475 0.000546932220 +v -0.080284357071 1.062893509865 0.010187029839 +v -0.068449974060 1.044618606567 0.047623455524 +v -0.062891244888 1.033905506134 0.039388358593 +v -0.047109127045 1.031812429428 0.080443978310 +v -0.031396150589 1.052964568138 0.067215263844 +v -0.045845985413 1.064046025276 0.042960286140 +v -0.017226934433 1.017256498337 0.097646474838 +v -0.012994289398 1.040772914886 0.082050144672 +v -0.024281263351 1.047124743462 0.053621292114 +v -0.036925554276 1.057082414627 0.032743573189 +v -0.047004699707 1.072139143944 0.009349822998 +v -0.057619094849 1.078983664513 0.016488373280 +v -0.069085836411 1.100236415863 -0.007317364216 +v -0.056204557419 1.092651844025 -0.012012958527 +v -0.059460639954 1.110859036446 -0.031832396984 +v -0.073314666748 1.118509888649 -0.030457615852 +v -0.059396266937 1.125840187073 -0.048513889313 +v -0.072108268738 1.131877303123 -0.050584912300 +v -0.009020328522 1.040055990219 0.067265510559 +v -0.008279085159 1.048065781593 0.086258769035 +v -0.001708984375 1.044293761253 0.063691854477 +v -0.011102437973 1.013419628143 0.107842206955 +v 0.012402534485 1.014568805695 0.111340701580 +v -0.007885932922 1.000435948372 0.096706688404 +v 0.016772985458 0.998014330864 0.098615229130 +v -0.018301010132 1.009325742722 0.089410901070 +v 0.012949943542 1.049798607826 0.088101744652 +v 0.018573284149 1.045927882195 0.061640202999 +v 0.036473512650 1.048622608185 0.071156620979 +v 0.042591094971 1.045850872993 0.077319562435 +v 0.032891273499 1.053035736084 0.094713449478 +v -0.043589353561 1.021625638008 0.071766734123 +v -0.062194108963 1.102410316467 -0.172938823700 +v -0.045767784119 1.134480834007 -0.135547220707 +v -0.039524316788 1.122236609459 -0.136410057545 +v -0.056471109390 1.089962005615 -0.166750788689 +v -0.069718599319 1.135420084000 -0.119947195053 +v -0.057276010513 1.154541730881 -0.085973024368 +v -0.039468765259 1.162768602371 -0.098182201385 +v -0.047900676727 1.148107647896 -0.076298177242 +v -0.032938718796 1.155064463615 -0.086415827274 +v -0.067025423050 1.143415451050 -0.068977236748 +v -0.056419372559 1.138137459755 -0.063298463821 +v -0.015136957169 1.167805433273 -0.104464530945 +v -0.012070894241 1.159346342087 -0.092343151569 +v -0.014311790466 1.140978336334 -0.133057236671 +v -0.011669158936 1.129227042198 -0.125870227814 +v 0.016017198563 1.133123755455 -0.120839774609 +v 0.042919397354 1.136187195778 -0.116020321846 +v 0.069320917130 1.139438748360 -0.110212624073 +v 0.096272230148 1.142657041550 -0.103571355343 +v -0.084033012390 1.068661570549 -0.209112644196 +v -0.079619884491 1.055715084076 -0.200545787811 +v -0.114229202271 1.024448990822 -0.220436096191 +v -0.152589321136 1.005478620529 -0.229532003403 +v -0.190863609314 0.997435450554 -0.232511520386 +v 0.283624172211 1.127811551094 0.019655466080 +v 0.238133430481 1.093801021576 0.054984629154 +v 0.281615972519 1.070061683655 0.051802158356 +v 0.324586987495 1.083217859268 0.015623211861 +v 0.317109346390 1.049089670181 0.037077486515 +v 0.344853520393 1.035368323326 0.004752695560 +v 0.272841930389 1.062416911125 0.039141774178 +v 0.309236288071 1.042762875557 0.023036181927 +v 0.228971004486 1.083329319954 0.041944861412 +v 0.336932301521 1.026821017265 -0.005697131157 +v 0.352009296417 1.016058206558 -0.045218408108 +v 0.363454222679 1.025239586830 -0.041483044624 +v 0.350228548050 1.082829117775 -0.050576865673 +v 0.331254720688 1.069567441940 -0.102947354317 +v 0.354001879692 1.020647644997 -0.085915803909 +v 0.344488024712 1.012196183205 -0.082506895065 +v 0.291500329971 1.049303770065 -0.131860733032 +v 0.316508769989 1.020089149475 -0.108288466930 +v 0.278244972229 1.045682430267 -0.121770381927 +v 0.329316139221 1.025645136833 -0.117285430431 +v 0.237555980682 1.070979237556 -0.131267666817 +v 0.035062551498 1.018665790558 0.116485953331 +v 0.040465593338 1.046646237373 0.092548847198 +v 0.039201974869 1.005905747414 0.105759739876 +v 0.407534599304 1.049324989319 -0.053019642830 +v 0.407415151596 1.048302650452 -0.055281043053 +v 0.409241080284 1.045540690422 -0.054215550423 +v 0.409348964691 1.045631766319 -0.052197813988 +v 0.407567024231 1.045038938522 -0.053497850895 +v 0.408619165421 1.045577406883 -0.051431357861 +v 0.405469179153 1.048570752144 -0.051153659821 +v 0.405564785004 1.047778606415 -0.056019663811 +v 0.403634786606 1.047237396240 -0.053114891052 +v 0.403636693954 1.047934293747 -0.055059254169 +v 0.400758862495 1.061518907547 -0.057837843895 +v 0.404543042183 1.054217815399 -0.054585695267 +v 0.403454065323 1.053356051445 -0.050477862358 +v 0.400370597839 1.052134513855 -0.054630398750 +v 0.400712847710 1.052084445953 -0.049256503582 +v 0.390304088593 1.109333515167 -0.057016730309 +v 0.388536572456 1.106098771095 -0.056595444679 +v 0.390356302261 1.105766057968 -0.046931087971 +v 0.392881512642 1.108199954033 -0.046167612076 +v 0.386311173439 1.096173763275 -0.029934227467 +v 0.384410738945 1.113091945648 -0.026496827602 +v 0.389004111290 1.130117177963 -0.037221312523 +v 0.392682909966 1.108635425568 -0.037295579910 +v 0.393145322800 1.127447843552 -0.052910566330 +v 0.390158653259 1.094229102135 -0.034627795219 +v 0.365346193314 1.095366001129 -0.075250387192 +v 0.361508131027 1.084615111351 -0.066927909851 +v 0.372699022293 1.087730288506 -0.066918432713 +v 0.371014833450 1.094595193863 -0.072323203087 +v 0.361182332039 1.096700906754 -0.029368877411 +v 0.354959249496 1.107748985291 -0.019379496574 +v 0.363673329353 1.110366463661 -0.021963655949 +v 0.367691278458 1.100643992424 -0.026672244072 +v 0.374418973923 1.110103130341 -0.023161590099 +v 0.377149462700 1.091655015945 -0.026055395603 +v 0.373545646667 1.081293344498 -0.038487195969 +v 0.338927745819 1.093048810959 -0.023161709309 +v 0.335716485977 1.096756339073 -0.022189855576 +v 0.333831310272 1.101293921471 -0.015252113342 +v 0.339010357857 1.099372625351 -0.015726268291 +v 0.336115360260 1.103556871414 -0.011844396591 +v 0.344871759415 1.091088294983 -0.023372709751 +v 0.330793619156 1.106926560402 -0.018525958061 +v 0.326990127563 1.115554690361 -0.016181170940 +v 0.328750967979 1.092396497726 -0.021561920643 +v 0.325265884399 1.098267674446 -0.019644141197 +v 0.346914052963 1.103241682053 -0.017480194569 +v 0.338825702667 1.108204364777 -0.011111140251 +v 0.344290256500 1.120107769966 -0.013092637062 +v 0.340465307236 1.136773347855 -0.015785038471 +v 0.324753522873 1.125427603722 -0.015070736408 +v 0.325292944908 1.136361837387 -0.017429172993 +v 0.329348087311 1.116966009140 -0.013588488102 +v 0.332792520523 1.118334770203 -0.096988618374 +v 0.332243442535 1.122267842293 -0.094619393349 +v 0.323136806488 1.125333309174 -0.083494544029 +v 0.327710032463 1.113504409790 -0.092576861382 +v 0.341573119164 1.120945453644 -0.094311773777 +v 0.335590600967 1.131715416908 -0.092355489731 +v 0.328661322594 1.133670330048 -0.089798271656 +v 0.324473619461 1.135583043098 -0.085328757763 +v 0.353020310402 1.126932740211 -0.091999888420 +v 0.346932053566 1.140344977379 -0.090539395809 +v 0.324019074440 1.120222568512 -0.017995357513 +v 0.289908170700 1.127960801125 -0.085108101368 +v 0.304053783417 1.121056914330 -0.078729987144 +v 0.358429908752 1.193968534470 -0.088134527206 +v 0.357683658600 1.184876799583 -0.100257873535 +v 0.363889813423 1.171106338501 -0.087482929230 +v 0.366210937500 1.176288127899 -0.080222189426 +v 0.368631839752 1.159053325653 -0.078640401363 +v 0.373743414879 1.167661428452 -0.066681802273 +v 0.375433444977 1.182421684265 -0.018816709518 +v 0.371500611305 1.164965748787 -0.026864171028 +v 0.360645771027 1.163048863411 -0.020475804806 +v 0.365925073624 1.182272315025 -0.013802051544 +v 0.355728268623 1.168922543526 -0.016866326332 +v 0.365192413330 1.144321084023 -0.023384571075 +v 0.351355433464 1.141466021538 -0.019072234631 +v 0.347202420235 1.153388857841 -0.018843293190 +v 0.341611385345 1.160166978836 -0.015560805798 +v 0.308113574982 1.139430522919 -0.086172342300 +v 0.313164234161 1.145732045174 -0.091821610928 +v 0.344058752060 1.152563452721 -0.093004882336 +v 0.359626531601 1.152780056000 -0.086724877357 +v 0.353022336960 1.166682362556 -0.092923939228 +v 0.347189664841 1.169834375381 -0.094244897366 +v 0.342811346054 1.158735275269 -0.094510555267 +v 0.353778600693 1.178154706955 -0.104299247265 +v 0.348872900009 1.177428722382 -0.102648377419 +v 0.331777811050 1.146316647530 -0.093712210655 +v 0.320755481720 1.145852565765 -0.098560571671 +v 0.323286175728 1.148737668991 -0.101337194443 +v 0.333321571350 1.152906417847 -0.097986042500 +v 0.326210260391 1.151933670044 -0.103993952274 +v 0.320780992508 1.131242513657 -0.019613742828 +v 0.316488265991 1.137263059616 -0.026703536510 +v 0.320133447647 1.137962102890 -0.020618379116 +v 0.337424993515 1.147775053978 -0.018649101257 +v 0.334059238434 1.153875350952 -0.016800880432 +v 0.332339167595 1.160215377808 -0.011005222797 +v 0.333034753799 1.162801146507 -0.010488092899 +v 0.342080116272 1.164801001549 -0.014642059803 +v 0.329650044441 1.156030654907 -0.012940168381 +v 0.320695400238 1.147234559059 -0.025550961494 +v 0.324349880219 1.148427605629 -0.021465837955 +v 0.324996113777 1.144489049911 -0.022029399872 +v 0.319767236710 1.142206072807 -0.025610327721 +v 0.316439867020 1.145988821983 -0.028391957283 +v 0.314030408859 1.140980482101 -0.030016005039 +v 0.306605100632 1.136893630028 -0.031398415565 +v 0.311094760895 1.138293743134 -0.030661761761 +v 0.314454317093 1.133188128471 -0.029211819172 +v 0.307747125626 1.131512522697 -0.031591475010 +v 0.291517019272 1.138318657875 -0.033916234970 +v 0.304842948914 1.122800350189 -0.030405402184 +v 0.289185523987 1.130287408829 -0.033323228359 +v 0.286009788513 1.137142181396 -0.090150713921 +v 0.292701721191 1.141978979111 -0.107457876205 +v 0.304615020752 1.142538189888 -0.102706909180 +v 0.309559822083 1.150496006012 -0.024630010128 +v 0.318125486374 1.150960326195 -0.022390007973 +v 0.317887067795 1.153405547142 -0.009570956230 +v 0.321745395660 1.151527643204 -0.017602443695 +v 0.312289476395 1.154029130936 -0.016137778759 +v 0.300724506378 1.151372194290 -0.025900006294 +v 0.302543878555 1.155046701431 -0.016855716705 +v 0.311131477356 1.148434042931 -0.121525228024 +v 0.314778566360 1.145795822144 -0.111356735229 +v 0.318232536316 1.148830175400 -0.113018929958 +v 0.316641569138 1.155373811722 -0.125974237919 +v 0.310946226120 1.160884141922 -0.130396544933 +v 0.305948495865 1.152399063110 -0.128264009953 +v 0.322793602943 1.153211474419 -0.114452242851 +v 0.319596290588 1.160681724548 -0.123025000095 +v 0.319034099579 1.171830296516 0.017393767834 +v 0.317905664444 1.160627365112 0.008475244045 +v 0.311162710190 1.163662672043 0.014921247959 +v 0.310447931290 1.172396779060 0.019649803638 +v 0.309610843658 1.159015893936 0.012034296989 +v 0.310906410217 1.144272089005 -0.107071161270 +v 0.306469917297 1.144841670990 -0.117874324322 +v 0.302479743958 1.143570303917 -0.114495694637 +v 0.301431417465 1.147624731064 -0.126265466213 +v 0.295472621918 1.145630240440 -0.120796620846 +v 0.288472175598 1.148880720139 -0.025115370750 +v 0.301652908325 1.141206622124 -0.031471252441 +v 0.309620141983 1.142498731613 -0.029031515121 +v 0.273790359497 1.148244857788 -0.025866985321 +v 0.272537946701 1.142426609993 -0.030830979347 +v 0.272406339645 1.134789586067 -0.032956182957 +v 0.291519165039 1.153991341591 -0.016412615776 +v 0.305040836334 1.167021632195 0.019629895687 +v 0.307030200958 1.163709878922 0.017679572105 +v 0.305133104324 1.161130547523 0.017725169659 +v 0.303712606430 1.163359761238 0.020457804203 +v 0.294210910797 1.150454163551 -0.129565417767 +v 0.297544717789 1.151566028595 -0.131443619728 +v 0.299007177353 1.157061815262 -0.131160855293 +v 0.289251804352 1.162134289742 -0.127951741219 +v 0.300848484039 1.162901401520 0.020725965500 +v 0.299931526184 1.168733119965 0.019787251949 +v 0.302267789841 1.160912990570 0.017476558685 +v 0.284586906433 1.155997037888 -0.118712186813 +v 0.320478677750 1.183388590813 0.019893288612 +v 0.315504550934 1.185158967972 0.021765649319 +v 0.304894447327 1.174435973167 0.020509123802 +v 0.311547279358 1.187007069588 0.021684288979 +v 0.294510126114 1.164358973503 0.015730142593 +v 0.295584678650 1.166682958603 0.018493294716 +v 0.298225879669 1.162472367287 0.019704580307 +v 0.296677112579 1.161968946457 0.018077135086 +v 0.299949407578 1.160799622536 0.016491711140 +v 0.297479152679 1.160787940025 0.014298200607 +v 0.295337200165 1.162495613098 0.013063669205 +v 0.297493457794 1.159226298332 0.006240844727 +v 0.292984724045 1.162090659142 0.007228136063 +v 0.289747714996 1.165970087051 0.009980738163 +v 0.293587207794 1.173587322235 0.017361879349 +v 0.295882701874 1.184546113014 0.019877433777 +v 0.289324522018 1.170376300812 0.013289868832 +v 0.304202318192 1.163235664368 -0.131868004799 +v 0.295037984848 1.173500776291 -0.132903218269 +v 0.339935421944 1.204928994179 0.011042654514 +v 0.323164343834 1.198740124702 0.019174516201 +v 0.319356679916 1.202640295029 0.017888188362 +v 0.333619713783 1.216896772385 0.006251335144 +v 0.316392660141 1.223941683769 0.004564166069 +v 0.318291187286 1.236307144165 -0.009308457375 +v 0.339412450790 1.232521295547 -0.013116896152 +v 0.309664726257 1.210659503937 0.013969600201 +v 0.320227146149 1.235717296600 -0.089737355709 +v 0.315104484558 1.228830337524 -0.112790822983 +v 0.326388478279 1.222050905228 -0.113814830780 +v 0.333210706711 1.227595806122 -0.095670104027 +v 0.337775707245 1.211602926254 -0.112435698509 +v 0.344557762146 1.216145873070 -0.082126915455 +v 0.326203584671 1.226114869118 -0.064788460732 +v 0.278375148773 1.164562225342 0.002692937851 +v 0.286962032318 1.159514427185 -0.002162218094 +v 0.278234004974 1.155510902405 -0.013907790184 +v 0.260844707489 1.160049319267 -0.009037494659 +v 0.253694772720 1.171441078186 0.002056777477 +v 0.274199008942 1.172616839409 0.009002089500 +v 0.241376399994 1.164381980896 -0.022117018700 +v 0.236744165421 1.171596884727 -0.017185091972 +v 0.257408142090 1.154074668884 -0.020835101604 +v 0.240831613541 1.161932706833 -0.027496337891 +v 0.272498369217 1.184606671333 0.015063345432 +v 0.283818006516 1.195466637611 0.018259227276 +v 0.251496076584 1.179788351059 0.004774987698 +v 0.280345439911 1.187177538872 -0.130770325661 +v 0.278849363327 1.200135588646 -0.128845155239 +v 0.264022827148 1.197203159332 -0.124487996101 +v 0.263042688370 1.188585639000 -0.125758051872 +v 0.247735500336 1.194719552994 -0.112018883228 +v 0.248827695847 1.181841850281 -0.113283038139 +v 0.269680976868 1.173762202263 -0.124203026295 +v 0.254821300507 1.213196992874 -0.005989432335 +v 0.259692907333 1.217268109322 -0.002873539925 +v 0.264866352081 1.212918281555 0.006526708603 +v 0.262398242950 1.203422427177 0.007279813290 +v 0.274141788483 1.213083267212 0.013194501400 +v 0.276415348053 1.206676006317 0.013642489910 +v 0.247564315796 1.194469571114 -0.000649333000 +v 0.245563030243 1.205689191818 -0.011326313019 +v 0.232998371124 1.204849720001 -0.033008277416 +v 0.242313385010 1.215915679932 -0.027005612850 +v 0.237220525742 1.198678970337 -0.018567323685 +v 0.235009908676 1.188932180405 -0.016125142574 +v 0.229682207108 1.194204092026 -0.034655272961 +v 0.280081987381 1.256208896637 -0.019527673721 +v 0.266340732574 1.257276535034 -0.021893620491 +v 0.272911071777 1.248642563820 -0.034798681736 +v 0.289152145386 1.246002078056 -0.035115897655 +v 0.308747768402 1.234785199165 -0.048455655575 +v 0.315008163452 1.240252733231 -0.028551578522 +v 0.295452594757 1.246342897415 -0.017771065235 +v 0.291768074036 1.252464294434 -0.011624932289 +v 0.272852182388 1.246320486069 0.026719093323 +v 0.274995565414 1.244897484779 0.026039719582 +v 0.270889520645 1.239411234856 0.026342213154 +v 0.269581317902 1.240408897400 0.026497364044 +v 0.264169454575 1.234132766724 0.025929450989 +v 0.263763427734 1.235451221466 0.026660978794 +v 0.263376712799 1.240142583847 0.021522641182 +v 0.268235921860 1.245139122009 0.023626983166 +v 0.227350234985 1.201413989067 -0.060404598713 +v 0.226505756378 1.187961101532 -0.062663376331 +v 0.232470035553 1.193228960037 -0.089262902737 +v 0.238893508911 1.210202097893 -0.088255286217 +v 0.253223896027 1.206307768822 -0.110778868198 +v 0.239593505859 1.224539875984 -0.073748230934 +v 0.232012033463 1.216619491577 -0.053089022636 +v 0.252145767212 1.219983339310 -0.097832560539 +v 0.250634193420 1.229226589203 -0.085364758968 +v 0.252376794815 1.238263368607 -0.057780742645 +v 0.267105579376 1.240937113762 -0.056898772717 +v 0.258289337158 1.241248607635 -0.051965177059 +v 0.252767086029 1.235920786858 -0.034247636795 +v 0.247609376907 1.233851552010 -0.039491355419 +v 0.265551090240 1.267001390457 0.009194791317 +v 0.272844314575 1.261870384216 0.012323737144 +v 0.270809888840 1.260163426399 0.015809416771 +v 0.262974262238 1.263656973839 0.012956202030 +v 0.268976211548 1.265585422516 0.000393331051 +v 0.258705377579 1.266561031342 -0.002085030079 +v 0.261866092682 1.261532545090 -0.010348796844 +v 0.274395465851 1.261371612549 -0.009189963341 +v 0.238660573959 1.248261332512 0.003617167473 +v 0.232067346573 1.245571255684 0.001219451427 +v 0.233589172363 1.253527522087 -0.000213980675 +v 0.238280773163 1.252982854843 0.002291560173 +v 0.241975069046 1.261794805527 0.000397861004 +v 0.244624614716 1.256234288216 0.001851916313 +v 0.222787380219 1.257822632790 -0.151930749416 +v 0.228422880173 1.254693269730 -0.147209823132 +v 0.230664730072 1.257706403732 -0.153383851051 +v 0.225557327271 1.260083436966 -0.156076908112 +v 0.224181652069 1.269489765167 -0.164974153042 +v 0.218438386917 1.260652661324 -0.156715095043 +v 0.235471725464 1.260826349258 -0.157907843590 +v 0.216721296310 1.261644721031 -0.151875853539 +v 0.215643405914 1.258587121964 -0.150196969509 +v 0.234998703003 1.261462807655 -0.124403178692 +v 0.224088907242 1.267516016960 -0.134056270123 +v 0.228742599487 1.274905562401 -0.138475537300 +v 0.243557214737 1.273823022842 -0.127884268761 +v 0.218826293945 1.271217346191 -0.139695227146 +v 0.223790407181 1.282513380051 -0.156298041344 +v 0.229401111603 1.281741142273 -0.159395992756 +v 0.243339538574 1.285583496094 -0.155722141266 +v 0.240149497986 1.285640001297 -0.147173225880 +v 0.263746500015 1.284044027328 -0.144365310669 +v 0.256647109985 1.283450603485 -0.135616004467 +v 0.249143123627 1.278396368027 -0.130899667740 +v 0.231034517288 1.281445980072 -0.142535567284 +v 0.228749275208 1.279866695404 -0.162645876408 +v 0.225111246109 1.280306816101 -0.161672592163 +v 0.326325416565 1.095832467079 -0.026897907257 +v 0.328660488129 1.092162013054 -0.027155876160 +v 0.334224581718 1.083390593529 -0.031802475452 +v 0.331976652145 1.086985468864 -0.036189317703 +v 0.244880199432 1.142374873161 -0.073979854584 +v 0.242966175079 1.142764568329 -0.078356206417 +v 0.235785722733 1.146784543991 -0.078433096409 +v 0.238635778427 1.145627975464 -0.074249148369 +v 0.232438325882 1.149214863777 -0.073069214821 +v 0.236898422241 1.147114753723 -0.069623470306 +v 0.255175828934 1.136546134949 -0.077648699284 +v 0.255682229996 1.136946439743 -0.070239722729 +v 0.269840002060 1.141850829124 -0.088529407978 +v 0.257449388504 1.150468826294 -0.085283041000 +v 0.282135963440 1.148957133293 -0.107223212719 +v 0.262875080109 1.157893180847 -0.106579840183 +v 0.264955282211 1.164611697197 -0.115844190121 +v 0.244687318802 1.169971346855 -0.105285048485 +v 0.246577739716 1.164339303970 -0.095911860466 +v 0.234338521957 1.172934412956 -0.084621906281 +v 0.237678050995 1.167568325996 -0.080495774746 +v 0.230271100998 1.181651115417 -0.088845074177 +v 0.227655649185 1.178839325905 -0.062708079815 +v 0.231756448746 1.172751188278 -0.062062919140 +v 0.229456424713 1.177902221680 -0.036529541016 +v 0.232846736908 1.170946717262 -0.038640320301 +v 0.227507114410 1.182419776917 -0.036165595055 +v 0.234830379486 1.176739931107 -0.015439331532 +v 0.235546827316 1.166122555733 -0.040820002556 +v 0.235387325287 1.167956709862 -0.061342179775 +v 0.236512184143 1.160708308220 -0.043142557144 +v 0.237915754318 1.161495804787 -0.059940874577 +v 0.241000175476 1.156659126282 -0.029682040215 +v 0.256223201752 1.147885084152 -0.025309741497 +v 0.252270221710 1.141531467438 -0.026705861092 +v 0.236812353134 1.148920893669 -0.030205547810 +v 0.290362834930 1.128957509995 -0.035883367062 +v 0.271513700485 1.134885430336 -0.035297334194 +v 0.306781768799 1.119673848152 -0.033734023571 +v 0.317042827606 1.112375974655 -0.022598922253 +v 0.317406177521 1.108932733536 -0.028873980045 +v 0.332089543343 1.094723105431 -0.085125267506 +v 0.322933316231 1.108649253845 -0.085476875305 +v 0.319103002548 1.109926819801 -0.080069780350 +v 0.329759955406 1.096952438354 -0.079336047173 +v 0.334635496140 1.087565541267 -0.070015192032 +v 0.337785124779 1.084333658218 -0.074962139130 +v 0.336755514145 1.081413388252 -0.053044438362 +v 0.338276147842 1.079147696495 -0.053146123886 +v 0.346428036690 1.085549473763 -0.069611251354 +v 0.343625307083 1.093718051910 -0.081809461117 +v 0.333607673645 1.104474425316 -0.090680718422 +v 0.343541741371 1.081957101822 -0.052684903145 +v 0.353684067726 1.082917213440 -0.067507863045 +v 0.358879923820 1.093483090401 -0.077935218811 +v 0.351037502289 1.092784404755 -0.080610275269 +v 0.360334396362 1.102306008339 -0.085941970348 +v 0.347621440887 1.101400613785 -0.092805027962 +v 0.345952153206 1.079882979393 -0.052633166313 +v 0.355161905289 1.077038049698 -0.051688134670 +v 0.343386173248 1.084547519684 -0.034452319145 +v 0.352032899857 1.082792043686 -0.035345792770 +v 0.340294599533 1.086036086082 -0.034663975239 +v 0.321768999100 1.104483842850 -0.020316779613 +v 0.326095461845 1.115695357323 -0.020195245743 +v 0.319353103638 1.123223304749 -0.025029301643 +v 0.322834372520 1.101128458977 -0.027329206467 +v 0.321851253510 1.127054452896 -0.022767901421 +v 0.353766679764 1.095177173615 -0.026385903358 +v 0.359876632690 1.086948037148 -0.037192046642 +v 0.368791699409 1.081473231316 -0.054299533367 +v 0.366416454315 1.085834145546 -0.039678335190 +v 0.375720381737 1.077826261520 -0.054867923260 +v 0.385641813278 1.069572925568 -0.047519683838 +v 0.386780261993 1.068247556686 -0.054583191872 +v 0.379089593887 1.078935027122 -0.064835965633 +v 0.387892365456 1.068310856819 -0.060149490833 +v 0.394519090652 1.059546113014 -0.055611908436 +v 0.389144182205 1.068464994431 -0.063209295273 +v 0.381745100021 1.079965829849 -0.068755567074 +v 0.395897269249 1.059724450111 -0.058292984962 +v 0.397762775421 1.058734893799 -0.060246050358 +v 0.390513181686 1.068549633026 -0.065918266773 +v 0.401293635368 1.052220582962 -0.057137370110 +v 0.402930855751 1.052381992340 -0.058841645718 +v 0.399328708649 1.059069991112 -0.062133789063 +v 0.404549121857 1.052707433701 -0.057922661304 +v 0.400724768639 1.060495495796 -0.061055362225 +v 0.394371271133 1.071512341499 -0.065981507301 +v 0.392708420753 1.069672346115 -0.067366063595 +v 0.394284963608 1.071869850159 -0.062373280525 +v 0.388498425484 1.083336234093 -0.066320896149 +v 0.388929486275 1.082942962646 -0.069176137447 +v 0.389878511429 1.092170119286 -0.038135766983 +v 0.392562985420 1.073132753372 -0.038371622562 +v 0.393902897835 1.072458386421 -0.036485314369 +v 0.400479316711 1.060284376144 -0.040919661522 +v 0.400619268417 1.059895157814 -0.042878329754 +v 0.392677068710 1.071635484695 -0.034626603127 +v 0.399963617325 1.058247804642 -0.039560496807 +v 0.389219284058 1.072089076042 -0.033550858498 +v 0.398481249809 1.057546377182 -0.040394842625 +v 0.385063409805 1.070487856865 -0.035343050957 +v 0.395586490631 1.058170080185 -0.044803380966 +v 0.402001142502 1.052767753601 -0.042411684990 +v 0.388577699661 1.095486879349 -0.066482841969 +v 0.387288451195 1.094378232956 -0.064481914043 +v 0.389545917511 1.108287096024 -0.069271624088 +v 0.387219429016 1.094375610352 -0.071040332317 +v 0.390260934830 1.124660015106 -0.067944049835 +v 0.383810281754 1.146947145462 -0.036770582199 +v 0.387935638428 1.145303487778 -0.049735426903 +v 0.385385751724 1.144845247269 -0.066654205322 +v 0.379234194756 1.167300224304 -0.047699809074 +v 0.378260374069 1.142871618271 -0.078380703926 +v 0.384638786316 1.121478676796 -0.079748928547 +v 0.371328830719 1.114236831665 -0.083621263504 +v 0.366134643555 1.134753823280 -0.086642682552 +v 0.358268737793 1.111678957939 -0.091841936111 +v 0.384584784508 1.105457901955 -0.077077627182 +v 0.377453684807 1.103823542595 -0.078171491623 +v 0.383101344109 1.092535972595 -0.074570477009 +v 0.376216292381 1.093980312347 -0.073397576809 +v 0.384114503860 1.080561161041 -0.071538448334 +v 0.387168884277 1.081826567650 -0.071408987045 +v 0.378217101097 1.166335225105 -0.036741614342 +v 0.376491785049 1.185984611511 -0.027371287346 +v 0.375539779663 1.191256642342 -0.040807008743 +v 0.376024484634 1.146698236465 -0.028571903706 +v 0.380968809128 1.128817915916 -0.027356445789 +v 0.372819066048 1.124244213104 -0.021395444870 +v 0.357726931572 1.123675107956 -0.019232869148 +v 0.363764047623 1.199695229530 -0.003253161907 +v 0.359092354774 1.192318797112 -0.001357376575 +v 0.363418817520 1.207986116409 -0.009030759335 +v 0.363287687302 1.216881036758 -0.024423658848 +v 0.353446960449 1.214913725853 -0.051911473274 +v 0.367811679840 1.192584276199 -0.062469363213 +v 0.335019469261 1.232254981995 -0.039931237698 +v 0.341472268105 1.196155428886 0.010244071484 +v 0.354283452034 1.192304849625 -0.001765370369 +v 0.339673757553 1.196221947670 0.007006824017 +v 0.363298535347 1.182292938232 -0.012944102287 +v 0.354795575142 1.171777725220 -0.016488790512 +v 0.327435612679 1.161281824112 -0.002656698227 +v 0.324092507362 1.165798902512 0.006462395191 +v 0.322525382042 1.168064355850 0.004236161709 +v 0.326949238777 1.164337635040 -0.003446638584 +v 0.325284123421 1.158543467522 -0.003361463547 +v 0.322180032730 1.162310838699 0.007995128632 +v 0.320963859558 1.172976732254 0.015366852283 +v 0.319886207581 1.174322366714 0.011200785637 +v 0.321480035782 1.183079004288 0.017309784889 +v 0.326878428459 1.193821310997 0.018233954906 +v 0.327511191368 1.192236304283 0.015911042690 +v 0.303445339203 1.120934963226 -0.074148416519 +v 0.251810550690 1.141942739487 -0.031309187412 +v 0.241466999054 1.146666526794 -0.036401212215 +v 0.236400604248 1.148872971535 -0.047140300274 +v 0.230206489563 1.152073264122 -0.044595956802 +v 0.229574203491 1.151367187500 -0.061807334423 +v 0.239748239517 1.160202145576 -0.073878407478 +v 0.247816801071 1.157876133919 -0.081561207771 +v 0.234130144119 1.149081230164 -0.061738610268 +v 0.224230289459 1.281635522842 -0.153767704964 +v 0.223762512207 1.278146028519 -0.159069538116 +v 0.219611406326 1.279417753220 -0.152326762676 +v 0.213749408722 1.273561835289 -0.144396305084 +v 0.217382907867 1.273008942604 -0.147697806358 +v 0.221839427948 1.275884628296 -0.154915273190 +v 0.210401773453 1.265159130096 -0.141010046005 +v 0.213674545288 1.265947461128 -0.146045088768 +v 0.217527627945 1.274109721184 -0.141741633415 +v 0.215512275696 1.264181613922 -0.138061285019 +v 0.220313549042 1.262314796448 -0.135805130005 +v 0.220573663712 1.257741451263 -0.138237059116 +v 0.216372489929 1.257721900940 -0.141187667847 +v 0.212907791138 1.258577108383 -0.145352184772 +v 0.233858585358 1.256473422050 -0.125267803669 +v 0.234248638153 1.251918315887 -0.127823233604 +v 0.246033430099 1.251870393753 -0.112772464752 +v 0.246748685837 1.247483968735 -0.115507006645 +v 0.247130870819 1.256455659866 -0.111137330532 +v 0.258541584015 1.245236992836 -0.084437072277 +v 0.256093978882 1.239906072617 -0.086883187294 +v 0.257097005844 1.266151666641 -0.110764563084 +v 0.266882419586 1.251339793205 -0.085104942322 +v 0.267502307892 1.270240545273 -0.112958729267 +v 0.275364637375 1.256015896797 -0.091180860996 +v 0.275161266327 1.274131059647 -0.118503391743 +v 0.285532474518 1.258744239807 -0.098316013813 +v 0.281810045242 1.273761987686 -0.128352165222 +v 0.294841051102 1.259177684784 -0.109563946724 +v 0.285378694534 1.267878890038 -0.136893749237 +v 0.299645662308 1.256075739861 -0.122435271740 +v 0.267150640488 1.279207229614 -0.152110457420 +v 0.266644477844 1.272503018379 -0.155482232571 +v 0.285328865051 1.260385632515 -0.145259499550 +v 0.245440483093 1.281306147575 -0.162130832672 +v 0.247352838516 1.277317881584 -0.164401888847 +v 0.226536273956 1.277150392532 -0.165146172047 +v 0.244216680527 1.272458314896 -0.165734708309 +v 0.265185594559 1.264242410660 -0.158591628075 +v 0.225196361542 1.271236658096 -0.164832949638 +v 0.240829467773 1.264716506004 -0.164158344269 +v 0.256122827530 1.256213188171 -0.158023118973 +v 0.249283313751 1.251091122627 -0.154383540154 +v 0.264867782593 1.238259196281 -0.149782478809 +v 0.271236419678 1.243698835373 -0.152746677399 +v 0.242131233215 1.248456358910 -0.149258136749 +v 0.259697437286 1.235559821129 -0.143175721169 +v 0.238021850586 1.246404170990 -0.140355885029 +v 0.255519628525 1.235976219177 -0.134220600128 +v 0.235714912415 1.248224496841 -0.132601261139 +v 0.249901533127 1.242415428162 -0.121484637260 +v 0.225628137589 1.255354166031 -0.141528964043 +v 0.219279289246 1.256212234497 -0.146652877331 +v 0.261144638062 1.227618336678 -0.105385541916 +v 0.265067815781 1.218194127083 -0.118982553482 +v 0.255488157272 1.234093666077 -0.095165371895 +v 0.257819652557 1.237515091896 -0.082652032375 +v 0.256304979324 1.231330990791 -0.090660393238 +v 0.261433124542 1.242497920990 -0.080974459648 +v 0.269018650055 1.247485637665 -0.080007076263 +v 0.276544094086 1.249154090881 -0.084097981453 +v 0.286174535751 1.250129461288 -0.091734588146 +v 0.297051906586 1.250920057297 -0.101950109005 +v 0.304772377014 1.248518705368 -0.115050077438 +v 0.297762155533 1.245796918869 -0.131601870060 +v 0.303509950638 1.239294528961 -0.125708818436 +v 0.278063774109 1.251515507698 -0.150501132011 +v 0.292453289032 1.234364628792 -0.138768732548 +v 0.285548925400 1.222070693970 -0.138958930969 +v 0.275888442993 1.216582298279 -0.135062336922 +v 0.269642829895 1.214331030846 -0.127090573311 +v 0.265042543411 1.214603662491 -0.116683065891 +v 0.270244359970 1.211904883385 -0.125036418438 +v 0.259296417236 1.223366022110 -0.101866900921 +v 0.260845899582 1.212415218353 -0.112328946590 +v 0.266552209854 1.205083847046 -0.122853875160 +v 0.268821239471 1.210025906563 -0.123203098774 +v 0.277948856354 1.207428336143 -0.128034055233 +v 0.277915716171 1.211367130280 -0.128684759140 +v 0.288717508316 1.213802814484 -0.129420161247 +v 0.287309169769 1.217238068581 -0.130407452583 +v 0.277626991272 1.213335871696 -0.130287289619 +v 0.286727428436 1.219543695450 -0.133292317390 +v 0.297491550446 1.224069118500 -0.127825796604 +v 0.295832872391 1.229104042053 -0.133770406246 +v 0.299275398254 1.222613096237 -0.126457333565 +v 0.306288719177 1.231516838074 -0.115943133831 +v 0.303650856018 1.233008384705 -0.119831323624 +v 0.304522037506 1.218244671822 -0.125307500362 +v 0.291501283646 1.207969903946 -0.129891932011 +v 0.295377254486 1.198327302933 -0.132311940193 +v 0.312335252762 1.210624575615 -0.126865327358 +v 0.307499647141 1.182762622833 -0.133446455002 +v 0.321811676025 1.199660181999 -0.127626895905 +v 0.313686370850 1.178631782532 -0.132702827454 +v 0.327832698822 1.190094709396 -0.127820491791 +v 0.318174362183 1.174999833107 -0.130550682545 +v 0.329443216324 1.184651136398 -0.126586496830 +v 0.320348262787 1.172263383865 -0.127011775970 +v 0.329268336296 1.182359218597 -0.124253869057 +v 0.319159746170 1.172549962997 -0.124517083168 +v 0.327510595322 1.181082725525 -0.121122121811 +v 0.341977953911 1.186866998672 -0.119443237782 +v 0.340240001678 1.181673407555 -0.114829957485 +v 0.342066526413 1.190820455551 -0.118938207626 +v 0.343557119370 1.197325468063 -0.114280879498 +v 0.308367967606 1.238885641098 -0.100797057152 +v 0.302496671677 1.241308212280 -0.108589589596 +v 0.297030925751 1.244460582733 -0.094559252262 +v 0.288425922394 1.242414832115 -0.070966482162 +v 0.300933361053 1.241560339928 -0.084082663059 +v 0.287242650986 1.245997667313 -0.082513213158 +v 0.276428461075 1.242347240448 -0.063216865063 +v 0.276814937592 1.246329665184 -0.074558973312 +v 0.262533426285 1.248234033585 -0.033080637455 +v 0.268426895142 1.245181202888 -0.070157289505 +v 0.255537271500 1.244341135025 -0.030193269253 +v 0.255340337753 1.255470871925 -0.021258711815 +v 0.248293161392 1.248656272888 -0.019238531590 +v 0.246406555176 1.241610646248 -0.014172136784 +v 0.252004623413 1.238135337830 -0.023450851440 +v 0.240248918533 1.252865195274 -0.008260846138 +v 0.236009836197 1.244751214981 -0.002041816711 +v 0.250643014908 1.260913610458 -0.006915748119 +v 0.241449356079 1.238094210625 0.000856995583 +v 0.248243808746 1.235244989395 -0.007029771805 +v 0.236295223236 1.238589763641 0.006947577000 +v 0.244088888168 1.237448453903 0.010651528835 +v 0.245872020721 1.235504984856 0.007974743843 +v 0.240644693375 1.243501543999 0.007078409195 +v 0.245250463486 1.240480542183 0.010777413845 +v 0.252675771713 1.233302831650 0.020247042179 +v 0.254426479340 1.231533646584 0.017972588539 +v 0.254062652588 1.237539768219 0.019096493721 +v 0.276159763336 1.255128741264 0.018554508686 +v 0.275947093964 1.249229311943 0.022302091122 +v 0.272867918015 1.249667882919 0.024674117565 +v 0.271744251251 1.251732468605 0.021295309067 +v 0.283636093140 1.255234718323 0.014072477818 +v 0.280255317688 1.247575402260 0.019362986088 +v 0.276215314865 1.261920690536 0.008904576302 +v 0.278604030609 1.259399175644 0.004241228104 +v 0.285460472107 1.252817630768 0.010138630867 +v 0.266534566879 1.266445875168 0.005049049854 +v 0.258428096771 1.268704891205 0.002973020077 +v 0.254645347595 1.267239928246 0.003869831562 +v 0.287663459778 1.258239984512 -0.004414916039 +v 0.298110485077 1.250542998314 0.003384351730 +v 0.298449993134 1.244361400604 -0.001860737801 +v 0.299829959869 1.234122157097 0.006569683552 +v 0.298758268356 1.238474845886 0.010709106922 +v 0.303976297379 1.239164352417 -0.006211340427 +v 0.305155038834 1.229295969009 0.004372239113 +v 0.300870895386 1.218429088593 0.011674880981 +v 0.295304775238 1.223464488983 0.011802554131 +v 0.293110609055 1.205903887749 0.015846788883 +v 0.286343812943 1.213704109192 0.013587355614 +v 0.302354812622 1.196681976318 0.018828034401 +v 0.283874988556 1.219200730324 0.015126287937 +v 0.293270826340 1.227752089500 0.015739440918 +v 0.283052444458 1.240837812424 0.023119628429 +v 0.276622056961 1.233630180359 0.024268507957 +v 0.286540031433 1.246751070023 0.017804086208 +v 0.272910356522 1.237592816353 0.025359690189 +v 0.278305053711 1.243288516998 0.024740695953 +v 0.267666101456 1.227963447571 0.022224366665 +v 0.264769792557 1.232656955719 0.024754941463 +v 0.260413408279 1.224851250648 0.011581957340 +v 0.257379055023 1.225758671761 -0.000789821148 +v 0.253545045853 1.232021093369 -0.012868225574 +v 0.254851341248 1.226656675339 -0.018729388714 +v 0.251304626465 1.230217099190 0.003005683422 +v 0.256979942322 1.228909850121 0.014670252800 +v 0.250156402588 1.223106861115 -0.021990776062 +v 0.239892244339 1.227292776108 -0.045880913734 +v 0.245432853699 1.234084725380 -0.064319491386 +v 0.254643917084 1.237128496170 -0.077797412872 +v 0.259204149246 1.241605043411 -0.074413061142 +v 0.253374576569 1.265572071075 0.004234373569 +v 0.252619743347 1.259510278702 0.004528701305 +v 0.295717954636 1.157437562943 -0.004984855652 +v 0.302157163620 1.158133268356 0.007280886173 +v 0.303221464157 1.155419707298 -0.004480600357 +v 0.306118011475 1.158186078072 0.009157180786 +v 0.309594392776 1.154529452324 -0.002081036568 +v 0.317309141159 1.145281672478 -0.095512390137 +v 0.342793583870 1.111549854279 -0.096035361290 +v 0.370063781738 1.103682756424 -0.078702569008 +v 0.223846435547 1.280663371086 -0.149150192738 +v 0.262922763824 1.260004043579 0.011266469955 +v 0.278262376785 1.128904223442 -0.071313738823 +v 0.278782129288 1.129065513611 -0.078170895576 +v 0.214526414871 1.261890172958 -0.147512257099 +v 0.403749704361 1.053897500038 -0.044087231159 +v -0.173335313797 1.189228773117 -0.074161946774 +v -0.172501087189 1.194711208344 -0.077600002289 +v -0.156718730927 1.200044989586 -0.067752003670 +v -0.159983634949 1.195769190788 -0.064942240715 +v -0.157345533371 1.192241907120 -0.064338445663 +v -0.176035165787 1.182665348053 -0.074862539768 +v -0.153723001480 1.198203325272 -0.067141354084 +v -0.154419660568 1.185277462006 -0.061343967915 +v -0.174031734467 1.176616787910 -0.076530218124 +v -0.153948068619 1.192448616028 -0.066138029099 +v -0.152566671371 1.196974277496 -0.068748712540 +v -0.149900436401 1.188096642494 -0.064178586006 +v -0.167804479599 1.171906828880 -0.078679144382 +v -0.151026010513 1.177392482758 -0.069037199020 +v -0.159547805786 1.170724391937 -0.081492185593 +v -0.137443780899 1.179318189621 -0.071261107922 +v -0.151052713394 1.171566128731 -0.090630888939 +v -0.145410776138 1.202758073807 -0.074415385723 +v -0.146416664124 1.204916477203 -0.073959469795 +v -0.142997503281 1.206828117371 -0.075007200241 +v -0.139394283295 1.203434348106 -0.075942695141 +v -0.143990516663 1.207095742226 -0.077334642410 +v -0.152405261993 1.204598784447 -0.072375178337 +v -0.150315523148 1.201716780663 -0.070241928101 +v -0.169452428818 1.199298620224 -0.083030939102 +v -0.163226604462 1.203215003014 -0.090547025204 +v -0.193114757538 1.175109863281 -0.086916208267 +v -0.185326576233 1.171366214752 -0.082843124866 +v -0.186292409897 1.165282964706 -0.088589191437 +v -0.200573444366 1.166569828987 -0.092627763748 +v -0.138775825500 1.205187916756 -0.076617836952 +v -0.135615825653 1.203529238701 -0.077090024948 +v -0.155732393265 1.203607797623 -0.096656978130 +v -0.149366855621 1.200804471970 -0.100724101067 +v -0.137942790985 1.205677509308 -0.079242825508 +v -0.131234407425 1.203546047211 -0.080529451370 +v -0.130687952042 1.197476148605 -0.079052925110 +v -0.130004167557 1.197584390640 -0.081454098225 +v -0.129281997681 1.189852356911 -0.077395677567 +v -0.131329774857 1.190665483475 -0.076595366001 +v -0.141457080841 1.192768573761 -0.102260649204 +v -0.127812385559 1.196197390556 -0.082319319248 +v -0.144458770752 1.197188854218 -0.101949512959 +v -0.177466392517 1.161493182182 -0.094907760620 +v -0.163338899612 1.165530800819 -0.106261909008 +v -0.128491640091 1.187958240509 -0.082086682320 +v -0.140712261200 1.182583570480 -0.100011527538 +v -0.210927009583 1.107810139656 -0.110981822014 +v -0.211072683334 1.103303790092 -0.109917879105 +v -0.213212490082 1.101778507233 -0.109918236732 +v -0.214309692383 1.109030246735 -0.111766934395 +v -0.204130172729 1.105494737625 -0.113910675049 +v -0.205763339996 1.099799871445 -0.112921178341 +v -0.223363876343 1.117204904556 -0.114630222321 +v -0.214059114456 1.124341964722 -0.111509382725 +v -0.219065189362 1.105570316315 -0.114096760750 +v -0.238481521606 1.129768848419 -0.130072593689 +v -0.234876394272 1.134552240372 -0.130008339882 +v -0.223749637604 1.136018037796 -0.118461847305 +v -0.207642078400 1.120860934258 -0.111469984055 +v -0.208950042725 1.096844553947 -0.112857937813 +v -0.215140581131 1.098256349564 -0.112100958824 +v -0.209567785263 1.147545337677 -0.113711655140 +v -0.197745561600 1.140209794044 -0.107432365417 +v -0.193334102631 1.132169842720 -0.107758402824 +v -0.193572998047 1.150783538818 -0.107727050781 +v -0.203800201416 1.156490325928 -0.111603617668 +v -0.175592660904 1.145561695099 -0.106927514076 +v -0.172769784927 1.138006210327 -0.105781555176 +v -0.177102327347 1.152362346649 -0.109004378319 +v -0.203049182892 1.103446960449 -0.115947484970 +v -0.205771446228 1.097857356071 -0.116888880730 +v -0.200581550598 1.109675526619 -0.119850099087 +v -0.202297449112 1.114114880562 -0.116474270821 +v -0.205280303955 1.096752166748 -0.122693479061 +v -0.225318193436 1.093360424042 -0.128429234028 +v -0.225040435791 1.096657991409 -0.123039066792 +v -0.220809221268 1.096151828766 -0.119270980358 +v -0.221869707108 1.091606855392 -0.126757025719 +v -0.228603363037 1.095641136169 -0.129044175148 +v -0.228597879410 1.101918220520 -0.122385978699 +v -0.224291801453 1.103944659233 -0.118215620518 +v -0.247853517532 1.125877380371 -0.145480275154 +v -0.241319656372 1.134932279587 -0.146954476833 +v -0.224902391434 1.146563768387 -0.131057977676 +v -0.189874410629 1.125573754311 -0.113757431507 +v -0.188519477844 1.120980858803 -0.117558717728 +v -0.197483062744 1.107985734940 -0.124557018280 +v -0.203064918518 1.094104051590 -0.134538710117 +v -0.212108135223 1.091883540154 -0.125092267990 +v -0.146539926529 1.190650701523 -0.114794254303 +v -0.146754264832 1.180134177208 -0.115530133247 +v -0.152557849884 1.174678444862 -0.113840103149 +v -0.143783569336 1.177394032478 -0.097335398197 +v -0.152518033981 1.177743196487 -0.127124845982 +v -0.154675722122 1.168212413788 -0.123611927032 +v -0.152200698853 1.192405939102 -0.124226093292 +v -0.149080038071 1.190506696701 -0.121930062771 +v -0.149870634079 1.194133043289 -0.115894854069 +v -0.152212619781 1.190471172333 -0.127474963665 +v -0.152487754822 1.182887434959 -0.127529799938 +v -0.154866933823 1.185299873352 -0.129990160465 +v -0.154926300049 1.181805968285 -0.133388638496 +v -0.233518838882 1.051918983459 -0.153825461864 +v -0.234681367874 1.048460602760 -0.154123127460 +v -0.235526800156 1.045760154724 -0.156687140465 +v -0.238681077957 1.048464179039 -0.156781077385 +v -0.229362010956 1.049855709076 -0.154987037182 +v -0.227258443832 1.057394742966 -0.153537988663 +v -0.231667280197 1.046329975128 -0.156813800335 +v -0.223042964935 1.088201880455 -0.145084559917 +v -0.215483188629 1.087337613106 -0.146565556526 +v -0.215860605240 1.081712245941 -0.155044794083 +v -0.226407766342 1.085251331329 -0.153320491314 +v -0.235337972641 1.090702056885 -0.156869351864 +v -0.226635932922 1.075340270996 -0.153673052788 +v -0.235593795776 1.084217786789 -0.159696042538 +v -0.230427265167 1.064726591110 -0.154860198498 +v -0.235838890076 1.056318044662 -0.154584050179 +v -0.244804859161 1.037203311920 -0.166494607925 +v -0.242951393127 1.043129205704 -0.159860074520 +v -0.236907005310 1.041309475899 -0.161783397198 +v -0.243432760239 1.035140395164 -0.168893754482 +v -0.224668979645 1.052752375603 -0.157276332378 +v -0.230270862579 1.046147704124 -0.159191727638 +v -0.159595966339 1.184921741486 -0.135831117630 +v -0.160187005997 1.181343317032 -0.141996622086 +v -0.153135061264 1.179491877556 -0.142091393471 +v -0.169377088547 1.185044288635 -0.136880159378 +v -0.170533895493 1.181570768356 -0.151052296162 +v -0.160138130188 1.174441456795 -0.159372687340 +v -0.222903490067 1.065987110138 -0.152610003948 +v -0.210915327072 1.058199882507 -0.158076643944 +v -0.219084739685 1.052546024323 -0.157240092754 +v -0.209656953812 1.069716095924 -0.156206488609 +v -0.242612361908 1.097414970398 -0.161309957504 +v -0.247563600540 1.103350877762 -0.164090692997 +v -0.248119831085 1.110607266426 -0.158350706100 +v -0.241690874100 1.101655244827 -0.159433066845 +v -0.244697809219 1.092168807983 -0.164222717285 +v -0.251339673996 1.101027250290 -0.169793009758 +v -0.253261089325 1.111646056175 -0.160615861416 +v -0.246266365051 1.039236307144 -0.166336178780 +v -0.249294042587 1.037806272507 -0.168891787529 +v -0.250867843628 1.039080262184 -0.168178379536 +v -0.247174024582 1.041245818138 -0.164608359337 +v -0.252528667450 1.034430623055 -0.174002289772 +v -0.255876541138 1.036398887634 -0.174964785576 +v -0.248456478119 1.035744786263 -0.171986579895 +v -0.207899332047 1.087407350540 -0.147547543049 +v -0.209868431091 1.082488656044 -0.153715491295 +v -0.206011295319 1.082607984543 -0.148635447025 +v -0.207342624664 1.075194835663 -0.155124664307 +v -0.252168178558 1.045034170151 -0.165443241596 +v -0.258034706116 1.046116113663 -0.173089325428 +v -0.262003183365 1.051245570183 -0.178000867367 +v -0.252234935760 1.049173116684 -0.164762079716 +v -0.252549409866 1.041483521461 -0.167263507843 +v -0.259843349457 1.041425228119 -0.177599608898 +v -0.270201206207 1.045489907265 -0.187091112137 +v -0.276372432709 1.040201425552 -0.192463517189 +v -0.278449535370 1.034975290298 -0.196169674397 +v -0.284775257111 1.029717683792 -0.197532415390 +v -0.284212112427 1.040760636330 -0.193028330803 +v -0.271418571472 1.038434147835 -0.194264531136 +v -0.273589372635 1.034032583237 -0.199454545975 +v -0.281298398972 1.027353167534 -0.202217400074 +v -0.285241842270 1.052183389664 -0.197862207890 +v -0.287758827209 1.044720053673 -0.200536787510 +v -0.285270452499 1.052050352097 -0.209925532341 +v -0.284770965576 1.056814908981 -0.208144426346 +v -0.286429882050 1.041720151901 -0.204202711582 +v -0.282965183258 1.049952030182 -0.209141969681 +v -0.281043052673 1.048063278198 -0.188708662987 +v -0.144400358200 1.176907896996 -0.151417970657 +v -0.135134458542 1.175758123398 -0.166907787323 +v -0.129020690918 1.170335769653 -0.138893842697 +v -0.141971826553 1.174503087997 -0.135131359100 +v -0.119428634644 1.164143443108 -0.165285944939 +v -0.116199493408 1.159146547318 -0.141210973263 +v -0.142082691193 1.176310896873 -0.178735315800 +v -0.151244163513 1.175081014633 -0.169050514698 +v -0.125181674957 1.176591157913 -0.177203238010 +v -0.130443096161 1.183761119843 -0.186303555965 +v -0.245208501816 1.111506700516 -0.205009043217 +v -0.232599973679 1.125318527222 -0.206095397472 +v -0.240747690201 1.128869056702 -0.186226844788 +v -0.252095937729 1.110360264778 -0.190840721130 +v -0.230934619904 1.112748980522 -0.219200611115 +v -0.201740980148 1.135213136673 -0.227704524994 +v -0.210019588470 1.145615220070 -0.203961193562 +v -0.256554365158 1.026075959206 -0.197485446930 +v -0.252297163010 1.025413274765 -0.206123828888 +v -0.262440681458 1.028629183769 -0.203707456589 +v -0.262872934341 1.028875350952 -0.197542905807 +v -0.253294944763 1.027410507202 -0.211396694183 +v -0.259093761444 1.029339194298 -0.211079478264 +v -0.246476411819 1.024986743927 -0.206110835075 +v -0.252317905426 1.024993419647 -0.197774946690 +v -0.311765909195 0.993130266666 -0.226933717728 +v -0.310108184814 0.996098339558 -0.225180983543 +v -0.310272455215 0.995082259178 -0.224124073982 +v -0.309615135193 0.992788553238 -0.226431727409 +v -0.307722568512 0.995178222656 -0.223333239555 +v -0.308899879456 0.997443914413 -0.225597083569 +v -0.306552886963 0.996318519115 -0.226082086563 +v -0.301561355591 0.999858021736 -0.221365690231 +v -0.301273822784 0.999540150166 -0.223513543606 +v -0.300451040268 0.999494612217 -0.225161433220 +v -0.291275262833 1.008644461632 -0.219689548016 +v -0.289765357971 1.008863568306 -0.223312497139 +v -0.303882122040 1.002618789673 -0.222436308861 +v -0.245472908020 1.029212474823 -0.216191470623 +v -0.251756668091 1.032742142677 -0.216125905514 +v -0.240088224411 1.029202461243 -0.212740898132 +v -0.305489063263 0.996842980385 -0.228073120117 +v -0.301641464233 1.000535249710 -0.226922750473 +v -0.297816038132 1.000618338585 -0.226435422897 +v -0.304344177246 0.995790660381 -0.228550374508 +v -0.307172536850 0.993706703186 -0.230047941208 +v -0.308262586594 0.994648814201 -0.229670286179 +v -0.308869600296 0.993044137955 -0.230499446392 +v -0.308663368225 0.993162393570 -0.231502115726 +v -0.309333801270 0.993721485138 -0.231109619141 +v -0.308087825775 0.994998931885 -0.231224834919 +v -0.103364944458 1.130733013153 -0.165089964867 +v -0.107626914978 1.133225798607 -0.140607297421 +v -0.110349178314 1.147431254387 -0.169585108757 +v -0.118245124817 1.140465259552 -0.188436806202 +v -0.112480401993 1.127350330353 -0.185356020927 +v -0.119234800339 1.154477119446 -0.179611444473 +v -0.122121334076 1.162646651268 -0.173162460327 +v -0.123259067535 1.147673130035 -0.192043066025 +v -0.307780742645 0.994723260403 -0.231847167015 +v -0.307749986649 0.993669688702 -0.231788516045 +v -0.306983709335 0.993704020977 -0.230996787548 +v -0.193033456802 1.081855773926 -0.203872740269 +v -0.194959878922 1.074067234993 -0.206613779068 +v -0.192106723785 1.074653506279 -0.197215080261 +v -0.189585685730 1.081505656242 -0.199741780758 +v -0.181468963623 1.087621688843 -0.203916847706 +v -0.182246923447 1.086801290512 -0.208190560341 +v -0.180797338486 1.080666303635 -0.200190067291 +v -0.238004446030 1.038412332535 -0.221756696701 +v -0.255303144455 1.040868282318 -0.221722602844 +v -0.259346246719 1.034848093987 -0.217119097710 +v -0.226242780685 1.046014308929 -0.223912119865 +v -0.243605136871 1.045503258705 -0.225179314613 +v -0.229806661606 1.033677101135 -0.221885204315 +v -0.128174781799 1.188377022743 -0.200627446175 +v -0.148290157318 1.179109573364 -0.194076895714 +v -0.271722316742 1.054550886154 -0.227642059326 +v -0.274076938629 1.049859046936 -0.228212535381 +v -0.270540475845 1.041400551796 -0.231285452843 +v -0.265389442444 1.048523783684 -0.231947541237 +v -0.279670238495 1.057693004608 -0.219425976276 +v -0.279539346695 1.051576972008 -0.220776438713 +v -0.275705814362 1.041727423668 -0.228427529335 +v -0.199706077576 1.055555105209 -0.210151553154 +v -0.194469451904 1.055464029312 -0.201491832733 +v -0.188562631607 1.062397480011 -0.194959938526 +v -0.193209409714 1.067214727402 -0.202750325203 +v -0.197559595108 1.061594724655 -0.212190330029 +v -0.199322462082 1.054384827614 -0.212732195854 +v -0.264539003372 1.034891843796 -0.224602222443 +v -0.264505386353 1.033686161041 -0.220391511917 +v -0.259446859360 1.043034553528 -0.228882968426 +v -0.253154993057 1.049899816513 -0.229087173939 +v -0.192896127701 1.083252668381 -0.207294523716 +v -0.205631494522 1.076366066933 -0.214735269547 +v -0.194759368896 1.084827780724 -0.212751626968 +v -0.223470926285 1.074144601822 -0.221447348595 +v -0.204793214798 1.086842775345 -0.216361939907 +v -0.216625213623 1.087888479233 -0.219625651836 +v -0.195574283600 1.087720632553 -0.216327428818 +v -0.220762968063 1.036061048508 -0.216470956802 +v -0.213054895401 1.035783767700 -0.213620066643 +v -0.201663494110 1.045588612556 -0.206914484501 +v -0.209848642349 1.043720960617 -0.214580178261 +v -0.216307878494 1.038053512573 -0.218539953232 +v -0.226351261139 1.035285830498 -0.218240320683 +v -0.205461740494 1.046299815178 -0.217294871807 +v -0.213101387024 1.042110800743 -0.219072997570 +v -0.220921278000 1.039087295532 -0.221290767193 +v -0.220387458801 1.042260169983 -0.223516404629 +v -0.213362932205 1.046354770660 -0.223494648933 +v -0.166803121567 1.090283155441 -0.212349832058 +v -0.172270536423 1.087766289711 -0.218560039997 +v -0.183573484421 1.086018800735 -0.212494730949 +v -0.167399406433 1.091666579247 -0.207822561264 +v -0.158848285675 1.093401670456 -0.218638300896 +v -0.162909030914 1.089765548706 -0.223327994347 +v -0.030130147934 1.186614990234 -0.177592396736 +v -0.028016805649 1.185017704964 -0.176330447197 +v -0.027128219604 1.182949185371 -0.177097141743 +v -0.030794620514 1.185065984726 -0.177214145660 +v -0.027263402939 1.185469865799 -0.176604092121 +v -0.029033184052 1.187615036964 -0.178278744221 +v -0.025565147400 1.183858990669 -0.176834225655 +v -0.026248216629 1.187106251717 -0.178503096104 +v -0.155820369720 1.101422905922 -0.208842039108 +v -0.143939018250 1.110964536667 -0.203809499741 +v -0.147772073746 1.116233944893 -0.210553169250 +v -0.153800964355 1.103918313980 -0.216478586197 +v -0.151521444321 1.110116600990 -0.224545180798 +v -0.153570175171 1.098989486694 -0.229076087475 +v -0.153712034225 1.098475694656 -0.221522092819 +v -0.143598556519 1.121090412140 -0.215590834618 +v -0.025197982788 1.179040908813 -0.178160905838 +v -0.028691530228 1.180666327477 -0.177641034126 +v -0.024049282074 1.180395364761 -0.178064346313 +v -0.023061275482 1.183145642281 -0.176922082901 +v -0.024633884430 1.187012076378 -0.180191814899 +v -0.022006034851 1.183752536774 -0.176543354988 +v -0.023281335831 1.181692600250 -0.177503108978 +v -0.041700124741 1.194597840309 -0.188832759857 +v -0.040053844452 1.195041775703 -0.191445589066 +v -0.038641691208 1.194105863571 -0.194117784500 +v -0.021546125412 1.184016108513 -0.178950071335 +v -0.023211956024 1.185567021370 -0.181426763535 +v -0.020884990692 1.182555675507 -0.179597258568 +v -0.155306577682 1.094101190567 -0.223596096039 +v -0.153067588806 1.095505952835 -0.230197072029 +v -0.024875402451 1.176557660103 -0.180157959461 +v -0.029001712799 1.177595734596 -0.180325567722 +v -0.022265434265 1.178601741791 -0.180594265461 +v -0.022731781006 1.183528065681 -0.182420313358 +v -0.129092454910 1.126704692841 -0.201514482498 +v -0.129842519760 1.138575315475 -0.203304290771 +v -0.140452623367 1.137107372284 -0.216508805752 +v -0.143960952759 1.126296997070 -0.219137907028 +v -0.154357194901 1.127161264420 -0.228255271912 +v -0.149726629257 1.136419534683 -0.223747491837 +v -0.174418687820 1.142764806747 -0.223434805870 +v -0.169390678406 1.132646441460 -0.235435843468 +v -0.159634113312 1.138588905334 -0.227177619934 +v -0.183374881744 1.151468753815 -0.210604786873 +v -0.202531337738 1.122591972351 -0.235654771328 +v -0.174713850021 1.123547434807 -0.239896833897 +v -0.026677846909 1.177809119225 -0.182901620865 +v -0.028857231140 1.177586197853 -0.182363390923 +v -0.180840730667 1.098434567451 -0.228965997696 +v -0.177192926407 1.093732595444 -0.232580184937 +v -0.174651861191 1.104560375214 -0.238290369511 +v -0.178368806839 1.106090188026 -0.233393609524 +v -0.168076038361 1.097283363342 -0.234453976154 +v -0.169014692307 1.107891798019 -0.237803101540 +v -0.176104545593 1.089681625366 -0.227148771286 +v -0.167286634445 1.091750741005 -0.230993151665 +v -0.157043457031 1.091841936111 -0.227160215378 +v -0.159157276154 1.091518163681 -0.229555249214 +v -0.155268907547 1.095846176147 -0.231792688370 +v -0.160398960114 1.094118118286 -0.232700586319 +v -0.161424636841 1.113683462143 -0.233527243137 +v -0.153696537018 1.112774372101 -0.227253794670 +v -0.160377740860 1.100663542747 -0.232878029346 +v -0.155321598053 1.101318359375 -0.229982614517 +v -0.129415988922 1.121230006218 -0.195909500122 +v -0.115429162979 1.119397759438 -0.179361224174 +v -0.130902051926 1.117012500763 -0.191515922546 +v -0.115962266922 1.118604898453 -0.176315546036 +v -0.110272169113 1.120705842972 -0.160776674747 +v -0.113960504532 1.119729280472 -0.159553110600 +v -0.120643854141 1.123042941093 -0.142679691315 +v -0.116504192352 1.124894142151 -0.141778171062 +v -0.116237640381 1.119012355804 -0.159137606621 +v -0.121575117111 1.122238159180 -0.143324553967 +v -0.133432149887 1.123821258545 -0.128500640392 +v -0.129076957703 1.126407384872 -0.125177204609 +v -0.133791923523 1.122404217720 -0.126223802567 +v -0.151261806488 1.118286848068 -0.116750955582 +v -0.150382995605 1.123445391655 -0.118158876896 +v -0.165156841278 1.112223029137 -0.114312648773 +v -0.168798208237 1.119785189629 -0.114506125450 +v -0.146946668625 1.111286401749 -0.115677714348 +v -0.159301757813 1.103829860687 -0.112823069096 +v -0.169470071793 1.095391631126 -0.113259613514 +v -0.176546573639 1.104174375534 -0.116012811661 +v -0.181593179703 1.086678743362 -0.119435906410 +v -0.187299728394 1.095249652863 -0.122014880180 +v -0.192334890366 1.079224348068 -0.132685303688 +v -0.196459770203 1.086544990540 -0.133203148842 +v -0.167187929153 1.093284368515 -0.118592262268 +v -0.158042192459 1.100373268127 -0.117775142193 +v -0.177332639694 1.085744619370 -0.124823093414 +v -0.188689470291 1.078408122063 -0.135257482529 +v -0.133802890778 1.114060878754 -0.127829909325 +v -0.147693157196 1.107499122620 -0.121569573879 +v -0.130974292755 1.116622328758 -0.124757289886 +v -0.118712902069 1.116385936737 -0.142161726952 +v -0.114444732666 1.114831447601 -0.156344830990 +v -0.116871118546 1.115381836891 -0.173745512962 +v -0.127918481827 1.112462520599 -0.189754128456 +v -0.140444517136 1.105615377426 -0.201572239399 +v -0.153226137161 1.096442341805 -0.206420838833 +v -0.166574478149 1.087847948074 -0.204887628555 +v -0.148325681686 1.084455490112 -0.202776551247 +v -0.132059097290 1.095326542854 -0.197568535805 +v -0.118970394135 1.104256153107 -0.183249711990 +v -0.113605022430 1.110781550407 -0.171092212200 +v -0.119467735291 1.110980629921 -0.156059205532 +v -0.118595600128 1.107293367386 -0.167004108429 +v -0.122451543808 1.113593697548 -0.145232379436 +v -0.123160123825 1.101921558380 -0.179320454597 +v -0.134120464325 1.093572258949 -0.190831780434 +v -0.149135828018 1.083696126938 -0.196358323097 +v -0.164771795273 1.075974822044 -0.199542462826 +v -0.178263664246 1.069347739220 -0.194986939430 +v -0.178308486938 1.067918300629 -0.193336069584 +v -0.187574863434 1.061674833298 -0.193846702576 +v -0.165014982224 1.074935913086 -0.195628762245 +v -0.203114748001 1.047059774399 -0.203367710114 +v -0.194963455200 1.055162310600 -0.198111474514 +v -0.211767911911 1.036029338837 -0.208810448647 +v -0.212155818939 1.037373661995 -0.206103205681 +v -0.226508617401 1.025479078293 -0.212446689606 +v -0.223773002625 1.027394175529 -0.209277987480 +v -0.234503984451 1.028979897499 -0.212858796120 +v -0.240490436554 1.019392728806 -0.204267203808 +v -0.244890213013 1.018656373024 -0.196853935719 +v -0.253900766373 1.026709318161 -0.190710783005 +v -0.246401309967 1.020783185959 -0.188246011734 +v -0.252592563629 1.030183553696 -0.180509030819 +v -0.245979547501 1.024557352066 -0.179143786430 +v -0.256746768951 1.027064442635 -0.190641164780 +v -0.255533695221 1.030755162239 -0.181877255440 +v -0.261640310287 1.031444549561 -0.191453814507 +v -0.259487628937 1.033203363419 -0.183249652386 +v -0.265381097794 1.035956144333 -0.193069219589 +v -0.262969732285 1.038062810898 -0.186465203762 +v -0.266802787781 1.033626079559 -0.198642969131 +v -0.266010284424 1.031839489937 -0.204385280609 +v -0.270675420761 1.031339287758 -0.205536782742 +v -0.263313770294 1.031893968582 -0.211139619350 +v -0.266834974289 1.031145095825 -0.212556302547 +v -0.272355556488 1.027421116829 -0.214405179024 +v -0.271020889282 1.027558326721 -0.222151696682 +v -0.277619600296 1.026623606682 -0.207558810711 +v -0.287308216095 1.017905473709 -0.209584236145 +v -0.281747341156 1.017393589020 -0.217522501945 +v -0.290399074554 1.018112540245 -0.206793189049 +v -0.296507358551 1.008396148682 -0.213786959648 +v -0.293893098831 1.008637905121 -0.215864181519 +v -0.293311119080 1.018383622169 -0.204794526100 +v -0.298957824707 1.008759021759 -0.211997389793 +v -0.304624319077 1.000485181808 -0.218563914299 +v -0.302252292633 1.000493049622 -0.219046711922 +v -0.300442457199 1.010485529900 -0.212966322899 +v -0.295816421509 1.020895838737 -0.206146836281 +v -0.304791212082 1.002254843712 -0.220315814018 +v -0.298930644989 1.011639118195 -0.215272247791 +v -0.294509649277 1.021376132965 -0.208923101425 +v -0.305289983749 0.996663510799 -0.231430888176 +v -0.299525260925 1.002564072609 -0.230026721954 +v -0.304598808289 0.995765805244 -0.231520950794 +v -0.298396825790 1.001657962799 -0.230945348740 +v -0.303261518478 0.995977520943 -0.230365991592 +v -0.297660827637 1.000682115555 -0.229683041573 +v -0.297706365585 1.000391125679 -0.228264808655 +v -0.289501190186 1.008563995361 -0.227962017059 +v -0.289624452591 1.008912801743 -0.230370998383 +v -0.289333820343 1.008850455284 -0.225851535797 +v -0.279825210571 1.017765641212 -0.226271927357 +v -0.280007839203 1.018149375916 -0.228962600231 +v -0.279944658279 1.017497062683 -0.223519802094 +v -0.270844221115 1.027772903442 -0.226072430611 +v -0.271415948868 1.028410196304 -0.229272961617 +v -0.265730381012 1.036768198013 -0.229641437531 +v -0.273293256760 1.029914379120 -0.231202602386 +v -0.281020164490 1.019194722176 -0.231097579002 +v -0.275867462158 1.031501293182 -0.230385065079 +v -0.282980203629 1.020815610886 -0.230529665947 +v -0.276958703995 1.032087326050 -0.227720260620 +v -0.283688306808 1.021362662315 -0.227996766567 +v -0.275023937225 1.041705608368 -0.224775314331 +v -0.277465105057 1.049158096313 -0.218947708607 +v -0.292066335678 1.011417031288 -0.228806972504 +v -0.291158199310 1.010475993156 -0.230765581131 +v -0.289323091507 1.031211256981 -0.203581392765 +v -0.290323972702 1.031991720200 -0.200689315796 +v -0.239644289017 1.023190736771 -0.194890260696 +v -0.243260860443 1.023399710655 -0.188031911850 +v -0.234212636948 1.023423552513 -0.201564133167 +v -0.236090183258 1.021491050720 -0.202814877033 +v -0.199890851974 1.066753745079 -0.155146598816 +v -0.198434829712 1.067134857178 -0.156990110874 +v -0.202668666840 1.063336849213 -0.159977316856 +v -0.203597068787 1.063326001167 -0.157728374004 +v -0.194704532623 1.071926832199 -0.149038195610 +v -0.198426008224 1.071671962738 -0.146451592445 +v -0.204805612564 1.071662425995 -0.154704451561 +v -0.202652454376 1.077832579613 -0.147649407387 +v -0.199759483337 1.090992927551 -0.134201765060 +v -0.193034887314 1.103491783142 -0.123884439468 +v -0.185172319412 1.115739107132 -0.117173492908 +v -0.169998168945 1.124291777611 -0.114598035812 +v -0.171854734421 1.130073547363 -0.107446432114 +v -0.148004770279 1.133014440536 -0.109064579010 +v -0.149436950684 1.126783370972 -0.117963194847 +v -0.150363683701 1.141389131546 -0.109232008457 +v -0.129365682602 1.151356697083 -0.121360957623 +v -0.122787952423 1.133342862129 -0.118729412556 +v -0.155005455017 1.151965379715 -0.112209022045 +v -0.138591766357 1.161190986633 -0.122988164425 +v -0.160556554794 1.158395051956 -0.114823222160 +v -0.147845268250 1.166557192802 -0.123666226864 +v -0.164972066879 1.160841345787 -0.116209328175 +v -0.178743362427 1.155038595200 -0.107457756996 +v -0.193982124329 1.154866933823 -0.105260729790 +v -0.203804731369 1.162194013596 -0.107664465904 +v -0.203792333603 1.170711994171 -0.114600837231 +v -0.206958532333 1.165179967880 -0.118471503258 +v -0.199360370636 1.174407482147 -0.126586496830 +v -0.196566343307 1.177967667580 -0.121480822563 +v -0.211217403412 1.155824661255 -0.123464763165 +v -0.203953742981 1.165765166283 -0.134148895741 +v -0.217429161072 1.159095644951 -0.144569456577 +v -0.199710369110 1.170780539513 -0.160428583622 +v -0.189121007919 1.175161838531 -0.143832862377 +v -0.234441280365 1.145398378372 -0.158812522888 +v -0.208461523056 1.159196853638 -0.180670976639 +v -0.252185583115 1.116116285324 -0.170371294022 +v -0.254233121872 1.105154395103 -0.180382847786 +v -0.260434627533 1.096214771271 -0.185628652573 +v -0.256431102753 1.092083334923 -0.177367925644 +v -0.260645627975 1.097700595856 -0.194319903851 +v -0.270902156830 1.083015918732 -0.199528574944 +v -0.269893407822 1.081749439240 -0.189446091652 +v -0.256181478500 1.098464727402 -0.206231713295 +v -0.266798496246 1.083191156387 -0.212066352367 +v -0.273687601089 1.068179607391 -0.216568171978 +v -0.278900146484 1.067694902420 -0.202702641487 +v -0.258903264999 1.083254337311 -0.220462024212 +v -0.247154474258 1.097606897354 -0.216386973858 +v -0.265223979950 1.066669940948 -0.225265324116 +v -0.269017219543 1.059843063354 -0.226757824421 +v -0.277544975281 1.061369776726 -0.218553006649 +v -0.256574153900 1.063487887383 -0.228868722916 +v -0.250155687332 1.081251740456 -0.223481357098 +v -0.261117696762 1.055521845818 -0.231173992157 +v -0.248385906219 1.057556748390 -0.228811144829 +v -0.238748550415 1.076548695564 -0.223608195782 +v -0.234692811966 1.056388735771 -0.223354101181 +v -0.211627244949 1.056368947029 -0.221282124519 +v -0.228275060654 1.091947317123 -0.220990777016 +v -0.238418102264 1.094660639763 -0.219326555729 +v -0.216057777405 1.107417821884 -0.225473523140 +v -0.224503517151 1.109220266342 -0.227116346359 +v -0.211361885071 1.098301529884 -0.220512151718 +v -0.212726354599 1.104912161827 -0.221194267273 +v -0.207950830460 1.100727200508 -0.218157291412 +v -0.203674316406 1.092759370804 -0.219182014465 +v -0.202742576599 1.096199750900 -0.218188643456 +v -0.196501970291 1.090510606766 -0.218953371048 +v -0.196993589401 1.093491673470 -0.220363080502 +v -0.187599182129 1.091245770454 -0.224233686924 +v -0.188641786575 1.095030307770 -0.223733663559 +v -0.186239719391 1.088770151138 -0.220787882805 +v -0.185178756714 1.086016893387 -0.216318964958 +v -0.174246788025 1.087175607681 -0.223291456699 +v -0.165641307831 1.089258909225 -0.227088153362 +v -0.211334466934 1.109454154968 -0.224141299725 +v -0.196863412857 1.116337895393 -0.232053399086 +v -0.198950290680 1.117026805878 -0.234745264053 +v -0.180886983871 1.115268468857 -0.233694016933 +v -0.180615663528 1.115485668182 -0.236742198467 +v -0.177260398865 1.118756055832 -0.240124464035 +v -0.201287984848 1.117602467537 -0.238141715527 +v -0.282895326614 1.060189247131 -0.204914152622 +v -0.282418012619 1.057005047798 -0.194644689560 +v -0.277503967285 1.065804839134 -0.192061483860 +v -0.270702600479 1.064300417900 -0.181479215622 +v -0.276010751724 1.054841160774 -0.184064984322 +v -0.264964342117 1.078153371811 -0.180190920830 +v -0.254631042480 1.068855047226 -0.170619845390 +v -0.259245395660 1.057962894440 -0.174149036407 +v -0.248440742493 1.082378029823 -0.167859196663 +v -0.239177227020 1.074390888214 -0.160453259945 +v -0.243740320206 1.063062429428 -0.160507678986 +v -0.249438762665 1.055111646652 -0.162672996521 +v -0.241800546646 1.051291108131 -0.157198011875 +v -0.245920419693 1.046977758408 -0.160051584244 +v -0.247624635696 1.043250799179 -0.161501169205 +v -0.185623407364 1.163547277451 -0.191922187805 +v -0.178851366043 1.168696165085 -0.170140326023 +v -0.171039104462 1.162240505219 -0.197747766972 +v -0.167164564133 1.171891689301 -0.179815948009 +v -0.169514179230 1.153752446175 -0.212879836559 +v -0.163647174835 1.155890226364 -0.217210114002 +v -0.164894342422 1.163555622101 -0.203335464001 +v -0.162951707840 1.147874236107 -0.221974015236 +v -0.158002376556 1.151909351349 -0.223278760910 +v -0.154706716537 1.144289135933 -0.224242210388 +v -0.152066946030 1.148701906204 -0.224407970905 +v -0.146767616272 1.142306327820 -0.221583485603 +v -0.143728017807 1.146293640137 -0.221992492676 +v -0.138458013535 1.141785860062 -0.215267539024 +v -0.135710000992 1.144933223724 -0.215805530548 +v -0.130891323090 1.143802881241 -0.204370617867 +v -0.129570007324 1.146505594254 -0.206188857555 +v -0.125153064728 1.151684284210 -0.194277405739 +v -0.120690345764 1.156343221664 -0.196658849716 +v -0.123557567596 1.151302337646 -0.207581400871 +v -0.123983860016 1.158541202545 -0.182885527611 +v -0.120908975601 1.161676406860 -0.185635268688 +v -0.127824783325 1.167345404625 -0.175681769848 +v -0.122528076172 1.169641494751 -0.178976297379 +v -0.113455295563 1.165868759155 -0.187700688839 +v -0.108748197556 1.163328170776 -0.198548078537 +v -0.110469579697 1.173360347748 -0.185494899750 +v -0.091323852539 1.179773807526 -0.191483795643 +v -0.090184450150 1.176342606544 -0.194954812527 +v -0.111765384674 1.178711295128 -0.185415387154 +v -0.092939138412 1.184199452400 -0.190637469292 +v -0.113289833069 1.182440042496 -0.187966227531 +v -0.095153093338 1.187181711197 -0.191652655602 +v -0.073956251144 1.192005038261 -0.192678928375 +v -0.073637962341 1.188065290451 -0.191455483437 +v -0.099256277084 1.190625190735 -0.194961786270 +v -0.073813676834 1.195713639259 -0.195692181587 +v -0.096777915955 1.196445703506 -0.206112921238 +v -0.072917699814 1.198483467102 -0.200721621513 +v -0.095563650131 1.196424365044 -0.214924454689 +v -0.071158885956 1.198626756668 -0.206956505775 +v -0.129826784134 1.190738201141 -0.212317109108 +v -0.157343387604 1.172712326050 -0.208674550056 +v -0.128477811813 1.186428785324 -0.221658170223 +v -0.093955516815 1.193287849426 -0.221389353275 +v -0.154647350311 1.168583154678 -0.219737291336 +v -0.149827718735 1.162814021111 -0.225700199604 +v -0.124877214432 1.179793953896 -0.226911485195 +v -0.144460201263 1.156676888466 -0.227152824402 +v -0.120687484741 1.171841144562 -0.228286266327 +v -0.139381647110 1.150594115257 -0.223807334900 +v -0.117116689682 1.165078282356 -0.225237190723 +v -0.128769636154 1.149663209915 -0.217538893223 +v -0.111747980118 1.161472201347 -0.217855334282 +v -0.109767198563 1.161700129509 -0.209116935730 +v -0.088203907013 1.172519445419 -0.211088180542 +v -0.088263034821 1.173820972443 -0.218165874481 +v -0.089234113693 1.173993110657 -0.201246440411 +v -0.071101665497 1.179669737816 -0.199828505516 +v -0.069531917572 1.179702758789 -0.205872833729 +v -0.072219848633 1.181545853615 -0.195242881775 +v -0.056831598282 1.183016300201 -0.193188905716 +v -0.055566310883 1.181527018547 -0.196716129780 +v -0.073021411896 1.184370517731 -0.192374467850 +v -0.057552337646 1.185418963432 -0.190718352795 +v -0.057724237442 1.188611626625 -0.189705491066 +v -0.045343875885 1.186881065369 -0.185175061226 +v -0.045280933380 1.183866500854 -0.186353206635 +v -0.057383060455 1.192056655884 -0.190340936184 +v -0.044640541077 1.190080165863 -0.185317754745 +v -0.056554079056 1.195130228996 -0.192540347576 +v -0.043342113495 1.192810654640 -0.186669468880 +v -0.055220603943 1.197255134583 -0.196023941040 +v -0.053610086441 1.197649002075 -0.200031757355 +v -0.052100419998 1.196197032928 -0.203523576260 +v -0.069370269775 1.196292161942 -0.211897075176 +v -0.068021297455 1.192861676216 -0.214833736420 +v -0.050945520401 1.193327188492 -0.205915927887 +v -0.092361450195 1.188226699829 -0.224879384041 +v -0.090728044510 1.182599067688 -0.225352346897 +v -0.067334413528 1.188707113266 -0.215543806553 +v -0.089248895645 1.177467584610 -0.223018467426 +v -0.067439317703 1.184669256210 -0.214068412781 +v -0.068172216415 1.181514143944 -0.210815250874 +v -0.052105903625 1.183036804199 -0.204133033752 +v -0.050871849060 1.185964107513 -0.206329762936 +v -0.053818464279 1.181404590607 -0.200728774071 +v -0.041506052017 1.180616259575 -0.193893551826 +v -0.039731979370 1.182307600975 -0.196195423603 +v -0.043209075928 1.180416822433 -0.191138744354 +v -0.044537305832 1.181544065475 -0.188471496105 +v -0.031432151794 1.183127760887 -0.177642107010 +v -0.023880004883 1.179421424866 -0.182783424854 +v -0.023120403290 1.181398153305 -0.182788312435 +v -0.038379907608 1.185227513313 -0.197383880615 +v -0.021365642548 1.180629491806 -0.180217981339 +v -0.037654399872 1.188567876816 -0.197493553162 +v -0.037757396698 1.191774725914 -0.196288704872 +v -0.050418376923 1.189674615860 -0.206975281239 +v -0.158075809479 1.171878576279 -0.187048196793 +v -0.184828758240 1.181181192398 -0.133212804794 +v -0.183850765228 1.183899402618 -0.127866744995 +v -0.169936895370 1.187874436378 -0.131015658379 +v -0.160047531128 1.187471389771 -0.131462752819 +v -0.157574653625 1.192477464676 -0.129109740257 +v -0.170529127121 1.193306446075 -0.127960264683 +v -0.157630920410 1.193547725677 -0.127042472363 +v -0.168020248413 1.194449782372 -0.126551985741 +v -0.155678272247 1.197181582451 -0.117395758629 +v -0.168904304504 1.200421571732 -0.116072595119 +v -0.177747726440 1.199375391006 -0.109128236771 +v -0.186355590820 1.196253895760 -0.100548923016 +v -0.188017368317 1.190521001816 -0.119188547134 +v -0.194039821625 1.188312888145 -0.112169504166 +v -0.203054904938 1.179349541664 -0.106702864170 +v -0.192745685577 1.189022660255 -0.093927919865 +v -0.195131540298 1.185600280762 -0.119000375271 +v -0.185272932053 1.190236568451 -0.123825550079 +v -0.202980279922 1.177518606186 -0.111484885216 +v -0.206887245178 1.169745087624 -0.105333983898 +v -0.206416130066 1.174813270569 -0.101252019405 +v -0.199194669724 1.162851572037 -0.099504411221 +v -0.197700738907 1.180861234665 -0.091671824455 +v -0.150561571121 1.174575209618 -0.132039248943 +v -0.209591627121 1.058356404305 -0.160460770130 +v -0.217305183411 1.052603721619 -0.160649895668 +v -0.238281965256 1.033112168312 -0.170957684517 +v -0.244051933289 1.025660991669 -0.180232465267 +v -0.239808082581 1.032481074333 -0.169264376163 +v -0.232315063477 1.036808967590 -0.161297738552 +v -0.230905294418 1.037472367287 -0.163685441017 +v -0.225137472153 1.044082164764 -0.158028185368 +v -0.223443984985 1.044231295586 -0.160395681858 +v -0.223054885864 1.028931379318 -0.207141757011 +v -0.210240125656 1.094408273697 -0.117802858353 +v -0.226145267487 1.091406583786 -0.144528210163 +v -0.228773593903 1.093539595604 -0.144238770008 +v -0.229978561401 1.091392636299 -0.150956988335 +v -0.231330394745 1.094696521759 -0.150297284126 +v -0.228517770767 1.097494721413 -0.144955992699 +v -0.229495048523 1.099721908569 -0.131893873215 +v -0.229601860046 1.105694532394 -0.127975225449 +v -0.230824470520 1.112782955170 -0.126599431038 +v -0.231130123138 1.112404465675 -0.120916366577 +v -0.238191127777 1.121705651283 -0.135489940643 +v -0.240043640137 1.121748328209 -0.132544755936 +v -0.242587566376 1.117125391960 -0.144999742508 +v -0.246487855911 1.119711399078 -0.144290924072 +v -0.241481542587 1.113143205643 -0.153935611248 +v -0.245183229446 1.112014532089 -0.156490027905 +v -0.238260984421 1.105642080307 -0.157133936882 +v -0.240424156189 1.103380203247 -0.159065842628 +v -0.233463764191 1.100573539734 -0.154703736305 +v -0.235453605652 1.097964048386 -0.155216693878 +v -0.235904932022 1.095326662064 -0.155326545238 +v -0.230455398560 1.097877264023 -0.150153517723 +v -0.249421119690 1.121675491333 -0.144378840923 +v -0.240281105042 1.124884128571 -0.131052792072 +v -0.227780818939 1.113982677460 -0.117298245430 +v -0.130397796631 1.182343721390 -0.076600074768 +v -0.129862308502 1.183777570724 -0.072378516197 +v -0.136162042618 1.179548740387 -0.069244503975 +v -0.137062549591 1.183297991753 -0.068274199963 +v -0.133409261703 1.184647083282 -0.072437226772 +v -0.144817352295 1.180659770966 -0.065627694130 +v -0.142683744431 1.184700131416 -0.066475808620 +v -0.271175146103 1.039876699448 -0.190005302429 +v -0.301822423935 1.001146674156 -0.225157797337 +v 0.040446281433 1.266857385635 0.129650652409 +v 0.045840978622 1.267236709595 0.128639698029 +v 0.042178869247 1.272785186768 0.116086125374 +v 0.035976171494 1.262238383293 0.125946938992 +v -0.000801801682 1.292400956154 0.102130472660 +v -0.000761747360 1.303220987320 0.093628942966 +v 0.015448331833 1.314785122871 0.084255039692 +v 0.030528545380 1.315371155739 0.082960784435 +v 0.019721984863 1.301102638245 0.098109424114 +v 0.034617424011 1.303159475327 0.095117151737 +v -0.001373052597 1.277826786041 0.111266195774 +v -0.001722097397 1.284371614456 0.109198451042 +v 0.011536121368 1.282118082047 0.111050844193 +v 0.009827852249 1.276010155678 0.111163258553 +v 0.008899927139 1.272522568703 0.108775258064 +v 0.007982730865 1.269812107086 0.108590006828 +v -0.013120889664 1.280258178711 0.103836178780 +v -0.013952493668 1.287459611893 0.096029043198 +v -0.010375499725 1.274148821831 0.106453537941 +v -0.007061481476 1.270083665848 0.105696380138 +v 0.000071287155 1.273618578911 0.108782231808 +v -0.005353450775 1.267195701599 0.105669260025 +v -0.003715276718 1.265943884850 0.104040384293 +v -0.004131793976 1.253381729126 0.104748189449 +v -0.003669261932 1.256071329117 0.105417490005 +v -0.002878904343 1.257432699203 0.105259358883 +v -0.013543844223 1.267071247101 0.099097788334 +v -0.009968519211 1.265434265137 0.100078165531 +v -0.008393764496 1.263895630836 0.101276814938 +v -0.006794929504 1.262893676758 0.101056635380 +v -0.010854721069 1.252157211304 0.098580598831 +v -0.008997440338 1.255574226379 0.100211143494 +v -0.010912179947 1.258270978928 0.096816718578 +v -0.011093616486 1.261292099953 0.096696496010 +v -0.007898807526 1.257424354553 0.101626813412 +v -0.009550809860 1.259004950523 0.098516225815 +v -0.009840488434 1.260907649994 0.098658919334 +v -0.006556272507 1.258249044418 0.101993978024 +v -0.008103132248 1.259290218353 0.099143624306 +v -0.008106708527 1.260651588440 0.098746120930 +v 0.000634908676 1.269962787628 0.108458042145 +v 0.001318454742 1.268399953842 0.106259763241 +v 0.007476329803 1.268658280373 0.106844902039 +v 0.003443002701 1.252889513969 0.108284533024 +v 0.002853155136 1.255975246429 0.108673334122 +v 0.002923965454 1.257455945015 0.107795357704 +v 0.011467933655 1.255045294762 0.108669996262 +v 0.009955406189 1.257626056671 0.108927190304 +v 0.009441614151 1.258421897888 0.107399821281 +v 0.014464855194 1.289756536484 0.104732036591 +v 0.025943517685 1.283508300781 0.107297778130 +v 0.039303779602 1.279110550880 0.106710374355 +v 0.036115169525 1.278290748596 0.107457518578 +v 0.042536735535 1.278733968735 0.105807304382 +v 0.030768871307 1.288198709488 0.104064941406 +v 0.037350654602 1.289890766144 0.102047562599 +v 0.032482862473 1.275633811951 0.108351588249 +v 0.028729915619 1.263514757156 0.113653242588 +v 0.018857955933 1.271643638611 0.108702600002 +v 0.016063928604 1.269024133682 0.106653332710 +v 0.028270483017 1.270699024200 0.108028233051 +v 0.022220373154 1.277044057846 0.110479056835 +v 0.019372463226 1.258092880249 0.110031247139 +v 0.023556232452 1.262869477272 0.107618689537 +v 0.035057067871 1.268901348114 0.115687489510 +v 0.039037466049 1.272062182426 0.116605579853 +v 0.014039754868 1.267450094223 0.106931269169 +v 0.012716054916 1.266707539558 0.106147646904 +v 0.017132282257 1.259011745453 0.106750369072 +v 0.020047903061 1.262408375740 0.104903697968 +v 0.019694805145 1.265416860580 0.105079472065 +v 0.017275571823 1.264821529388 0.105033516884 +v 0.017734289169 1.262517094612 0.104454278946 +v 0.015003919601 1.260491371155 0.107061386108 +v 0.015677213669 1.264597892761 0.104555845261 +v 0.016396999359 1.262519359589 0.103408336639 +v 0.014380216599 1.260196924210 0.104527294636 +v 0.023535966873 1.267078399658 0.106167256832 +v -0.012151002884 1.235135316849 0.109545886517 +v -0.016305923462 1.224170684814 0.110445380211 +v -0.010377168655 1.200674295425 0.124419331551 +v -0.006423950195 1.185832023621 0.138172209263 +v -0.010899543762 1.192893743515 0.129531621933 +v -0.017629623413 1.210340738297 0.107257723808 +v -0.026541233063 1.185374736786 0.118990361691 +v -0.022340297699 1.197549104691 0.109548330307 +v 0.035350084305 1.248472332954 0.142883300781 +v 0.051932334900 1.253603696823 0.148347139359 +v 0.041118383408 1.258031487465 0.142182707787 +v 0.049641847610 1.260149955750 0.141103088856 +v 0.044825792313 1.252733945847 0.148908674717 +v 0.042319774628 1.246564269066 0.148949384689 +v 0.041991710663 1.241669535637 0.144866228104 +v 0.052286386490 1.246867418289 0.148005247116 +v 0.051711082458 1.241842269897 0.144327402115 +v 0.035593986511 1.255735874176 0.134251892567 +v 0.029677391052 1.244845509529 0.136716425419 +v 0.033319473267 1.250971555710 0.137745916843 +v 0.031243801117 1.242845058441 0.136967241764 +v 0.030688762665 1.256210803986 0.122289538383 +v 0.030338525772 1.250825643539 0.129136621952 +v 0.028740406036 1.247478961945 0.134274959564 +v 0.033815860748 1.242522120476 0.134662628174 +v 0.036343336105 1.243577361107 0.131516873837 +v 0.035639047623 1.243583917618 0.141259193420 +v 0.038025856018 1.243572592735 0.136724710464 +v 0.038744688034 1.229243755341 0.136170148849 +v 0.024222373962 1.241967678070 0.129807054996 +v 0.026626348495 1.240379929543 0.132212758064 +v 0.025287628174 1.233862161636 0.128705739975 +v 0.029455423355 1.240218400955 0.133426547050 +v 0.032053232193 1.237096786499 0.129116058350 +v 0.032113552094 1.241108894348 0.132747650146 +v 0.035292625427 1.241956233978 0.129371285439 +v 0.030912876129 1.229870319366 0.131015717983 +v 0.030648946762 1.224499464035 0.134449362755 +v 0.044306993484 1.238245844841 0.135809302330 +v 0.043252468109 1.240461349487 0.139098584652 +v 0.042135715485 1.240919113159 0.133995532990 +v 0.041716814041 1.241783857346 0.135482788086 +v 0.039429187775 1.243738889694 0.133056044579 +v 0.050420999527 1.240142822266 0.139068543911 +v 0.044756889343 1.234812498093 0.136098802090 +v 0.045078516006 1.231711387634 0.137417495251 +v 0.049524068832 1.238426923752 0.135339796543 +v 0.049675464630 1.235311508179 0.135039925575 +v 0.049990892410 1.232141256332 0.135455429554 +v 0.050583839417 1.228020906448 0.136361002922 +v 0.039813756943 1.238145470619 0.129698514938 +v 0.039825677872 1.242085576057 0.130345582962 +v 0.038737535477 1.233376264572 0.133297681808 +v 0.021462440491 1.217258930206 0.132264912128 +v 0.022056579590 1.212752580643 0.133517026901 +v 0.018235683441 1.205214858055 0.139099240303 +v 0.020352602005 1.209083795547 0.136137485504 +v 0.026568651199 1.202765941620 0.148095548153 +v 0.023966073990 1.192803263664 0.152344107628 +v 0.016592502594 1.199261784554 0.141214609146 +v 0.012834787369 1.191551685333 0.144409120083 +v 0.037743806839 1.215576529503 0.149055123329 +v 0.045881509781 1.225828409195 0.145537972450 +v 0.052435159683 1.227740526199 0.144624948502 +v 0.046445846558 1.218936204910 0.150274634361 +v 0.053923368454 1.220834851265 0.149113297462 +v 0.037250757217 1.206232309341 0.152749001980 +v 0.035874843597 1.194463729858 0.157640993595 +v 0.046791553497 1.196104288101 0.159853577614 +v 0.056510210037 1.197567701340 0.158931136131 +v 0.046874284744 1.208952426910 0.154512763023 +v 0.055248498917 1.210875630379 0.153577446938 +v 0.029203891754 1.216282963753 0.141427814960 +v 0.038281440735 1.222136378288 0.144550740719 +v 0.039469957352 1.224807739258 0.138187825680 +v 0.027691841125 1.210708260536 0.145226716995 +v 0.031136751175 1.219664812088 0.136600375175 +v 0.045809268951 1.227646589279 0.138405919075 +v 0.014129638672 1.249409794807 0.115332782269 +v 0.012882471085 1.252357363701 0.110826134682 +v 0.003088235855 1.244774341583 0.113203525543 +v 0.015806198120 1.243852615356 0.119367957115 +v 0.002343654633 1.237422823906 0.117558121681 +v 0.001748561859 1.226236939430 0.122058868408 +v 0.018728971481 1.236750602722 0.120574116707 +v 0.013330936432 1.222983598709 0.124980926514 +v 0.020515918732 1.223115921021 0.129145741463 +v -0.008113384247 1.243763685226 0.107061862946 +v -0.005330562592 1.249330997467 0.104984104633 +v 0.003616333008 1.249160528183 0.109515726566 +v 0.024304866791 1.250104308128 0.120198249817 +v 0.023406744003 1.245513081551 0.126008749008 +v 0.022205352783 1.255663037300 0.115017294884 +v 0.022286176682 1.233654975891 0.123781740665 +v 0.005661487579 1.202055335045 0.129107356071 +v -0.006587982178 1.211276650429 0.122517585754 +v 0.004577875137 1.210666298866 0.126435041428 +v 0.000176429749 1.201238393784 0.127685189247 +v 0.010596990585 1.210288167000 0.128963351250 +v 0.011595726013 1.201239705086 0.133424997330 +v 0.008545637131 1.200110793114 0.130007266998 +v 0.008605241776 1.202653884888 0.129701614380 +v 0.013861179352 1.203346967697 0.131477773190 +v 0.010287761688 1.201593160629 0.130020737648 +v 0.010378360748 1.202918767929 0.129963099957 +v 0.013339757919 1.208619117737 0.130371451378 +v 0.014328479767 1.206321358681 0.130973219872 +v 0.004492282867 1.192520976067 0.136268198490 +v 0.005780458450 1.198042392731 0.130144894123 +v 0.000226497650 1.195833086967 0.130556583405 +v 0.009120702744 1.197683811188 0.134836256504 +v -0.030488014221 1.283267021179 0.061819374561 +v -0.020040273666 1.274581432343 0.086394488811 +v -0.024308919907 1.279701232910 0.074724912643 +v -0.023217916489 1.261051177979 0.081465482712 +v -0.028754949570 1.261417388916 0.070602059364 +v -0.036482095718 1.283128738403 0.047661483288 +v -0.035109758377 1.260555624962 0.058661758900 +v -0.041009902954 1.257912158966 0.046594083309 +v -0.021064043045 1.302900314331 0.072026371956 +v -0.003322601318 1.312586545944 0.080484449863 +v -0.016522645950 1.296046495438 0.085470199585 +v -0.025208473206 1.303212285042 0.054149925709 +v -0.007358551025 1.313477158546 0.060375809669 +v 0.010043859482 1.317523241043 0.063381493092 +v 0.024682044983 1.319341421127 0.062246799469 +v -0.017404079437 1.270059585571 0.095172524452 +v -0.018391847610 1.253546833992 0.091046571732 +v -0.013947963715 1.256553530693 0.094790697098 +v -0.014717340469 1.261037349701 0.094909310341 +v -0.018908500671 1.260896086693 0.090010643005 +v -0.020776271820 1.238931417465 0.095742464066 +v -0.023503780365 1.249016761780 0.084496319294 +v -0.025747776031 1.229195833206 0.091487228870 +v -0.028454780579 1.243663668633 0.075471043587 +v -0.028841972351 1.217222690582 0.085641384125 +v -0.036760330200 1.200345516205 0.081055641174 +v -0.043103218079 1.175856351852 0.098108768463 +v -0.034443616867 1.237311244011 0.066220164299 +v -0.040151596069 1.230180382729 0.055966675282 +v -0.047009706497 1.225324869156 0.042491793633 +v -0.047743082047 1.194535493851 0.058303952217 +v -0.054014205933 1.190686464310 0.040780961514 +v -0.015044689178 1.246884107590 0.097714483738 +v 0.051012039185 1.267523407936 0.126842677593 +v 0.053725004196 1.263754844666 0.121200740337 +v 0.044191360474 1.316711425781 0.076770126820 +v 0.049160242081 1.303004741669 0.090367913246 +v 0.070050954819 1.296021223068 0.083691716194 +v 0.064377546310 1.307411193848 0.076644003391 +v 0.044227600098 1.289105176926 0.100519239902 +v 0.046434164047 1.276561975479 0.104707181454 +v 0.050604581833 1.285138130188 0.100853264332 +v 0.058474540710 1.292474508286 0.093251526356 +v 0.065127134323 1.284862875938 0.097177326679 +v 0.048618316650 1.269841313362 0.112119197845 +v 0.045237541199 1.272487878799 0.114981353283 +v 0.053706645966 1.265324115753 0.107027411461 +v 0.050548315048 1.272162795067 0.102230787277 +v 0.056096792221 1.279160976410 0.101499915123 +v 0.055377244949 1.264985799789 0.099373936653 +v 0.058884382248 1.273606300354 0.098348557949 +v 0.060819864273 1.270249724388 0.095299720764 +v 0.067456960678 1.278015136719 0.096721053123 +v 0.067724943161 1.273309826851 0.094431757927 +v 0.068783521652 1.270277500153 0.094106316566 +v 0.060762882233 1.261790990829 0.099568009377 +v 0.054175376892 1.268918275833 0.098160982132 +v 0.062816143036 1.268297910690 0.094869017601 +v 0.063694953918 1.267551422119 0.093782484531 +v 0.068581581116 1.269197702408 0.092460989952 +v 0.061268568039 1.263207793236 0.095967531204 +v 0.057333707809 1.264688968658 0.095514893532 +v 0.057271957397 1.267230391502 0.095370531082 +v 0.059454441071 1.266519188881 0.094323635101 +v 0.059153795242 1.264902830124 0.094141185284 +v 0.062749862671 1.265080451965 0.095315635204 +v 0.060599803925 1.266317009926 0.093307375908 +v 0.059796094894 1.264950871468 0.092611730099 +v 0.062308549881 1.264286756516 0.092826724052 +v 0.067521333694 1.262562036514 0.095242917538 +v 0.068541765213 1.265034556389 0.094969451427 +v 0.068204641342 1.265207529068 0.093506395817 +v 0.077112913132 1.279425144196 0.091373026371 +v 0.075383424759 1.286835432053 0.089299082756 +v 0.082441329956 1.283947467804 0.079257071018 +v 0.078902959824 1.292372465134 0.071949005127 +v 0.075701475143 1.271097064018 0.090313911438 +v 0.074272155762 1.269963860512 0.088880062103 +v 0.080384016037 1.272943258286 0.083734631538 +v 0.075593948364 1.274363636971 0.090127468109 +v 0.079707145691 1.270199537277 0.084501504898 +v 0.077773094177 1.269171714783 0.084009110928 +v 0.074470520020 1.262153863907 0.091184914112 +v 0.074804306030 1.264805197716 0.091423273087 +v 0.074141263962 1.265561819077 0.090759217739 +v 0.079296112061 1.262190818787 0.084158301353 +v 0.078951358795 1.264721870422 0.085185348988 +v 0.078058242798 1.265552878380 0.085563898087 +v 0.080155134201 1.268244743347 0.078729867935 +v 0.078858852386 1.267360806465 0.079410076141 +v 0.080429077148 1.264863848686 0.079188346863 +v 0.080001354218 1.264985084534 0.075401127338 +v 0.080117464066 1.266297817230 0.075324594975 +v 0.079468488693 1.265514373779 0.080408871174 +v 0.079141855240 1.265153050423 0.076866209507 +v 0.078771829605 1.266029000282 0.076456785202 +v 0.082354784012 1.277361154556 0.082759082317 +v 0.082641601563 1.272576570511 0.074128508568 +v 0.080540895462 1.270089030266 0.076882600784 +v 0.081943511963 1.258766055107 0.074625015259 +v 0.080802440643 1.262812852859 0.077187001705 +v 0.080394029617 1.264332532883 0.073039591312 +v 0.080169439316 1.266933917999 0.072909772396 +v 0.057654857635 1.259309649467 0.137847244740 +v 0.058503150940 1.253966927528 0.145442008972 +v 0.064238071442 1.251279354095 0.135221183300 +v 0.061223030090 1.248335599899 0.143793106079 +v 0.060226678848 1.243742227554 0.139886677265 +v 0.058931112289 1.258131980896 0.127938270569 +v 0.063202142715 1.254297494888 0.129694104195 +v 0.065549135208 1.247506380081 0.127456486225 +v 0.057339906693 1.259414553642 0.114988744259 +v 0.062293052673 1.246687650681 0.126744151115 +v 0.058286666870 1.246920347214 0.125443816185 +v 0.066583871841 1.249766945839 0.126530528069 +v 0.061671018600 1.255462884903 0.120306611061 +v 0.065866470337 1.252713918686 0.123935759068 +v 0.054228067398 1.239598989487 0.133096814156 +v 0.056482315063 1.242153167725 0.135511994362 +v 0.054856777191 1.242565155029 0.130528688431 +v 0.055840969086 1.243560433388 0.131651639938 +v 0.056303262711 1.246041178703 0.128419876099 +v 0.063732147217 1.246660113335 0.133645892143 +v 0.059375524521 1.246311187744 0.130905628204 +v 0.054415225983 1.236288070679 0.133475065231 +v 0.055111885071 1.233415126801 0.134682297707 +v 0.059905767441 1.232897996902 0.130329132080 +v 0.055068492889 1.240468859673 0.125481486320 +v 0.054852485657 1.244311332703 0.126182913780 +v 0.061526775360 1.241811394691 0.120923161507 +v 0.062999248505 1.245989322662 0.124036252499 +v 0.058302879333 1.245635032654 0.122877240181 +v 0.058226346970 1.236359000206 0.127980589867 +v 0.068130016327 1.248301506042 0.117564380169 +v 0.067496299744 1.246428251266 0.120817005634 +v 0.067075014114 1.240431427956 0.117183685303 +v 0.065690279007 1.245734214783 0.123227000237 +v 0.063593864441 1.235562324524 0.122017323971 +v 0.065532922745 1.231557369232 0.124712467194 +v 0.058642148972 1.228264093399 0.141964733601 +v 0.060995340347 1.221785545349 0.146217465401 +v 0.067803859711 1.221554160118 0.140724539757 +v 0.065596818924 1.198537349701 0.155037641525 +v 0.063088893890 1.211889743805 0.150147914886 +v 0.070540428162 1.212059378624 0.143783211708 +v 0.074363708496 1.199054241180 0.147871077061 +v 0.055469512939 1.229463577271 0.135724365711 +v 0.064706325531 1.227428913116 0.137217521667 +v 0.060773849487 1.229086875916 0.132322847843 +v 0.070334196091 1.226015686989 0.129881024361 +v 0.073707818985 1.221224188805 0.132331371307 +v 0.066503286362 1.228003025055 0.126726925373 +v 0.071586132050 1.228841543198 0.118208587170 +v 0.071873664856 1.225707650185 0.119430422783 +v 0.077915668488 1.220404744148 0.122084975243 +v 0.074536085129 1.223444819450 0.120662927628 +v 0.076755285263 1.212785243988 0.134442687035 +v 0.081811666489 1.200371980667 0.137430131435 +v 0.080988883972 1.214165449142 0.123166322708 +v 0.086687803268 1.203819513321 0.124526441097 +v 0.062492609024 1.254801988602 0.109791696072 +v 0.066610813141 1.251634597778 0.113950848579 +v 0.061021566391 1.259107947350 0.104773223400 +v 0.068827152252 1.254087090492 0.101265370846 +v 0.067484378815 1.258732795715 0.097137033939 +v 0.069918870926 1.248601675034 0.105034232140 +v 0.067322969437 1.240279912949 0.111719012260 +v 0.068537473679 1.242500543594 0.107286572456 +v 0.075018405914 1.232970237732 0.108255088329 +v 0.070877790451 1.232767581940 0.115252256393 +v 0.077867746353 1.249896764755 0.094340682030 +v 0.081087350845 1.242408514023 0.097182273865 +v 0.083758115768 1.234669685364 0.100204110146 +v 0.075211763382 1.256941318512 0.091831862926 +v 0.080814123154 1.256867170334 0.083383440971 +v 0.084712028503 1.249413847923 0.083412945271 +v 0.090125322342 1.240862131119 0.083279728889 +v 0.094750881195 1.231421947479 0.081762373447 +v 0.077249050140 1.224474191666 0.112283647060 +v 0.076828718185 1.222699880600 0.113141000271 +v 0.078745365143 1.225707769394 0.109818100929 +v 0.080643415451 1.218926310539 0.113611519337 +v 0.081604242325 1.218360304832 0.109059333801 +v 0.081132650375 1.220607519150 0.109011828899 +v 0.077664852142 1.220381379128 0.113147377968 +v 0.080033540726 1.219517707825 0.110023081303 +v 0.079794406891 1.220654487610 0.110094487667 +v 0.083391666412 1.220073938370 0.107060670853 +v 0.082854270935 1.225638270378 0.104710161686 +v 0.087911605835 1.218507766724 0.103260695934 +v 0.091594696045 1.224019408226 0.096191704273 +v 0.096889257431 1.214898347855 0.095897138119 +v 0.083808422089 1.215420007706 0.113558650017 +v 0.089332103729 1.208635091782 0.112731575966 +v 0.084277868271 1.216469287872 0.107762217522 +v 0.089827299118 1.213289976120 0.105555117130 +v 0.101368904114 1.198026537895 0.110524892807 +v 0.100582122803 1.206828474998 0.100248575211 +v 0.095614671707 1.219149708748 0.078378736973 +v 0.110302448273 1.196131229401 0.085673749447 +v 0.101401090622 1.207566261292 0.078618407249 +v 0.038086652756 1.319437146187 0.056139290333 +v 0.058758258820 1.316738009453 0.064338445663 +v 0.052024126053 1.317465305328 0.045089304447 +v 0.071031332016 1.309057235718 0.048146665096 +v 0.074790716171 1.301920175552 0.061692059040 +v 0.065555095673 1.309342384338 0.030936956406 +v 0.076519966125 1.290452003479 0.034301042557 +v 0.081107854843 1.281051397324 0.059998869896 +v 0.083610057831 1.276207208633 0.068830192089 +v 0.084535121918 1.260300159454 0.064144432545 +v 0.082194328308 1.262906312943 0.069637179375 +v 0.082393407822 1.267321228981 0.069480359554 +v 0.083597660065 1.267654538155 0.063186764717 +v 0.078208923340 1.286485910416 0.048090279102 +v 0.083045482635 1.268104314804 0.053750872612 +v 0.082231521606 1.268839240074 0.041879594326 +v 0.074455499649 1.290663003922 0.019667565823 +v 0.081685543060 1.268450379372 0.028919160366 +v 0.080770254135 1.266295671463 0.016477346420 +v 0.085688114166 1.253255128860 0.071567714214 +v 0.090450763702 1.245868682861 0.066874861717 +v 0.086171150208 1.256250977516 0.055930197239 +v 0.086350440979 1.251328825951 0.045859992504 +v 0.093620538712 1.236952662468 0.060706198215 +v 0.094166755676 1.225640654564 0.054646670818 +v 0.099492788315 1.210208415985 0.048777282238 +v 0.114588975906 1.187431573868 0.062622427940 +v 0.087287187576 1.245572805405 0.035482227802 +v 0.087604761124 1.239173889160 0.025138556957 +v 0.087361097336 1.235268592834 0.012534439564 +v 0.098117351532 1.205789446831 0.027765154839 +v 0.095893383026 1.203208208084 0.014717459679 +v -0.011510133743 1.163360238075 0.149067997932 +v -0.004560947418 1.134804606438 0.155196785927 +v -0.023927450180 1.173175573349 0.133506655693 +v -0.025471687317 1.141367435455 0.137405753136 +v 0.017634153366 1.178678154945 0.157647490501 +v 0.025628328323 1.157846570015 0.168135166168 +v 0.003703117371 1.180795431137 0.148849606514 +v 0.006724596024 1.158563613892 0.161044716835 +v 0.032204389572 1.178767085075 0.163424730301 +v 0.045523643494 1.179651737213 0.165940761566 +v 0.057294130325 1.180637598038 0.164849698544 +v 0.042539596558 1.158673048019 0.171049177647 +v 0.056924104691 1.159794092178 0.170381605625 +v 0.017149686813 1.133303642273 0.166976332664 +v 0.037201642990 1.133634090424 0.172211468220 +v 0.054214477539 1.134839653969 0.171566545963 +v -0.010805606842 1.115299701691 0.134994447231 +v -0.012533187866 1.105522513390 0.110044121742 +v 0.010537385941 1.112756729126 0.149111986160 +v 0.047211885452 1.112629652023 0.157582700253 +v 0.030074119568 1.112287878990 0.156457722187 +v 0.006142139435 1.103373646736 0.121430158615 +v 0.022053003311 1.103733062744 0.127525568008 +v 0.036193370819 1.104734897614 0.128820121288 +v -0.040673494339 1.155994772911 0.117093861103 +v -0.049955368042 1.141332268715 0.095714688301 +v -0.032525300980 1.123396158218 0.116316258907 +v -0.032552003860 1.114442110062 0.094371557236 +v -0.031067371368 1.110062003136 0.075444519520 +v -0.052037954330 1.167015790939 0.075356423855 +v -0.056231737137 1.161347627640 0.056636929512 +v -0.059476852417 1.156821727753 0.039392709732 +v -0.059850692749 1.140776157379 0.039435088634 +v -0.061575651169 1.141006946564 0.028368413448 +v -0.050864934921 1.133266210556 0.076295912266 +v -0.056070089340 1.117838740349 0.039700746536 +v -0.049790382385 1.128654956818 0.061231255531 +v -0.052109718323 1.122534751892 0.050932705402 +v -0.034054994583 1.104509353638 0.060616970062 +v -0.043396234512 1.096928238869 0.048614859581 +v -0.048959255219 1.091627120972 0.033554553986 +v -0.056957721710 1.112890362740 0.023788034916 +v -0.035567522049 1.043387889862 0.047449171543 +v -0.039433956146 1.039121747017 0.052413821220 +v -0.064744234085 1.050780534744 0.014951646328 +v -0.038980245590 1.074284434319 0.043637633324 +v -0.041082859039 1.069077014923 0.029278635979 +v -0.034406661987 1.055065155029 0.043360531330 +v -0.047071218491 1.085974812508 0.015686988831 +v -0.049998521805 1.061222076416 0.019102632999 +v -0.053887367249 1.043840646744 0.036689996719 +v -0.042478322983 1.050164461136 0.036054790020 +v -0.014271974564 1.099223375320 0.086969316006 +v 0.000830411911 1.094314455986 0.095309138298 +v -0.019607543945 1.090406298637 0.068407773972 +v -0.029613494873 1.080608129501 0.054361045361 +v -0.005763530731 1.081238627434 0.073860049248 +v -0.027546405792 1.059183478355 0.053171813488 +v -0.013939142227 1.067626953125 0.057299792767 +v 0.014307975769 1.093263268471 0.099898755550 +v 0.027014970779 1.094081640244 0.101382076740 +v 0.021053075790 1.074604153633 0.082123875618 +v 0.007202863693 1.075435996056 0.078675389290 +v -0.027371644974 1.043602824211 0.054658472538 +v -0.017439126968 1.044979572296 0.062561631203 +v -0.024429798126 1.035316348076 0.064470529556 +v -0.010132312775 1.032010316849 0.071531534195 +v 0.004372358322 1.030398845673 0.073763489723 +v 0.017338514328 1.031093001366 0.076553463936 +v 0.000297546387 1.051457285881 0.063539087772 +v 0.017464637756 1.050814867020 0.071853816509 +v 0.068420410156 1.181527853012 0.160425603390 +v 0.079635143280 1.182518243790 0.152125537395 +v 0.070542097092 1.160900115967 0.164953768253 +v 0.085201978683 1.162357091904 0.154878497124 +v 0.090045928955 1.184562206268 0.140001475811 +v 0.098061561584 1.189689755440 0.125387966633 +v 0.099827289581 1.165438413620 0.139908611774 +v 0.070614814758 1.136290311813 0.165854871273 +v 0.088030338287 1.138740301132 0.153091609478 +v 0.104446411133 1.143034815788 0.133147954941 +v 0.097229003906 1.124236106873 0.117044687271 +v 0.083167791367 1.114722371101 0.099347352982 +v 0.111231565475 1.172423601151 0.120619416237 +v 0.114904880524 1.183718919754 0.100513756275 +v 0.116925716400 1.151993751526 0.107569992542 +v 0.063422679901 1.115132212639 0.151529729366 +v 0.080619335175 1.118611931801 0.138225674629 +v 0.050387620926 1.106717824936 0.125205457211 +v 0.066112041473 1.109486579895 0.115795731544 +v 0.086173295975 1.122708439827 0.068399488926 +v 0.080250263214 1.118033289909 0.063007235527 +v 0.082655668259 1.112149238586 0.061163365841 +v 0.121577978134 1.167878985405 0.081856548786 +v 0.119044303894 1.154315471649 0.063807129860 +v 0.111441612244 1.134985923767 0.090731918812 +v 0.098887205124 1.126488447189 0.077325224876 +v 0.111427545547 1.179712891579 0.043127000332 +v 0.106110334396 1.175122380257 0.031305313110 +v 0.102075576782 1.172155618668 0.024685502052 +v 0.102116584778 1.157317161560 0.033418297768 +v 0.101032018661 1.158340215683 0.029302597046 +v 0.100531339645 1.143308043480 0.048263728619 +v 0.097441434860 1.138330459595 0.048066020012 +v 0.109502553940 1.146957397461 0.052747786045 +v 0.096754789352 1.134839057922 0.047012090683 +v 0.085198402405 1.107511401176 0.055232167244 +v 0.094857692719 1.130478262901 0.041637301445 +v 0.040197134018 1.096347808838 0.099944472313 +v 0.054687500000 1.100618243217 0.094639301300 +v 0.048788309097 1.088074207306 0.078770637512 +v 0.035143613815 1.078818082809 0.081493318081 +v 0.048858642578 1.075313687325 0.068564772606 +v 0.070461988449 1.108810186386 0.084021329880 +v 0.064486742020 1.100866556168 0.073438167572 +v 0.065836668015 1.092562913895 0.068579912186 +v 0.060715675354 1.069221019745 0.070371031761 +v 0.030231714249 1.033327579498 0.078828334808 +v 0.035176753998 1.055608034134 0.070235610008 +v 0.043811559677 1.038117885590 0.082073748112 +v 0.050953388214 1.052722811699 0.075931191444 +v 0.063144207001 1.053842663765 0.072386682034 +v 0.073226213455 1.055658340454 0.068940043449 +v 0.075714349747 1.052077531815 0.075281441212 +v 0.058623790741 1.044714212418 0.080729842186 +v 0.072857141495 1.087235689163 0.064580619335 +v 0.071193933487 1.066993713379 0.064158737659 +v 0.079437494278 1.082699298859 0.053134381771 +v 0.086660146713 1.101273775101 0.041690945625 +v 0.092396974564 1.077137112617 0.048476576805 +v 0.108497619629 1.069890260696 0.052235901356 +v 0.082067012787 1.064140319824 0.061126887798 +v 0.093047380447 1.060159802437 0.067036211491 +v -0.040343284607 1.237436652184 -0.032936990261 +v -0.052459239960 1.221552133560 0.028179645538 +v -0.056158065796 1.218947887421 0.012705385685 +v -0.055384397507 1.217468619347 -0.008952379227 +v -0.058702945709 1.188291907310 0.024425923824 +v -0.061626672745 1.162003040314 0.018809258938 +v -0.061149597168 1.186267733574 0.006660997868 +v -0.059507608414 1.179691553116 -0.010669171810 +v -0.055477380753 1.198352456093 -0.021095275879 +v -0.052834749222 1.169609308243 -0.030598759651 +v -0.042055368423 1.195482850075 -0.042439877987 +v -0.019744396210 1.243911266327 -0.053574860096 +v 0.005693435669 1.249059438705 -0.062779784203 +v -0.040396451950 1.167162179947 -0.069658398628 +v -0.015247583389 1.206512212753 -0.057519495487 +v 0.014311552048 1.212281465530 -0.062326133251 +v -0.013623714447 1.176701664925 -0.078638434410 +v 0.025074958801 1.182491421700 -0.078897595406 +v 0.055553436279 1.246190905571 -0.042324364185 +v 0.072591066360 1.207378625870 -0.039697229862 +v 0.085914134979 1.232458949089 0.001026153564 +v 0.083698034286 1.230814695358 -0.009619951248 +v 0.077988386154 1.229747176170 -0.023236691952 +v 0.094089031219 1.202184319496 0.005038857460 +v 0.098302841187 1.178545475006 0.013474762440 +v 0.091052532196 1.195588827133 -0.011169850826 +v 0.092413902283 1.201389551163 -0.004166901112 +v 0.082178831100 1.212141036987 -0.025714099407 +v 0.089784622192 1.185250520706 -0.019735872746 +v 0.032395839691 1.248675107956 -0.057501971722 +v 0.044507265091 1.212738394737 -0.056064784527 +v 0.063519954681 1.185031294823 -0.068458735943 +v 0.090191364288 1.181271433830 -0.050654113293 +v -0.059590101242 1.158144712448 0.001819372177 +v -0.060241460800 1.136449337006 0.012746274471 +v -0.055771827698 1.128415822983 -0.007795572281 +v -0.056196689606 1.149477005005 -0.018423438072 +v -0.059613704681 1.094871759415 -0.017021775246 +v -0.052507877350 1.106217026711 0.003190934658 +v -0.061356782913 1.135336041451 -0.044591844082 +v -0.055210590363 1.152688622475 -0.057234942913 +v -0.061703920364 1.115628957748 -0.031736850739 +v -0.076354265213 1.118670940399 -0.068626523018 +v -0.078945398331 1.100923299789 -0.053504228592 +v -0.072272777557 1.063135385513 -0.010518550873 +v -0.077728748322 1.081091284752 -0.034207820892 +v -0.055848836899 1.076079010963 0.000701248646 +v -0.070124626160 1.134061932564 -0.082705259323 +v -0.052391529083 1.145668983459 -0.097816407681 +v -0.014596939087 1.152688741684 -0.108650863171 +v 0.038563251495 1.158075928688 -0.105544686317 +v 0.095056056976 1.175324201584 0.007279813290 +v 0.097741365433 1.154363512993 0.024574756622 +v 0.096329450607 1.145889043808 0.014402627945 +v 0.095551252365 1.166598796844 -0.001544177532 +v 0.092842340469 1.122950792313 0.029080450535 +v 0.106817960739 1.113699555397 0.016706228256 +v 0.110495090485 1.154946565628 -0.013335943222 +v 0.104727029800 1.170523405075 -0.031004786491 +v 0.110179185867 1.135258436203 0.001379370689 +v 0.134946107864 1.143305301666 -0.026512145996 +v 0.134920597076 1.125534772873 -0.009499669075 +v 0.100990295410 1.093693971634 0.033296287060 +v 0.121155023575 1.084573626518 0.031806349754 +v 0.130618572235 1.104586720467 0.010483145714 +v 0.088234901428 1.164701461792 -0.088147342205 +v 0.131562232971 1.157645463943 -0.042793512344 +v 0.118981122971 1.165749549866 -0.063742041588 +v 0.061493158340 1.307609081268 0.082881748676 +v 0.060327529907 1.318495154381 0.079182028770 +v 0.072385311127 1.317370176315 0.066087126732 +v 0.075205326080 1.306590318680 0.068933367729 +v 0.076874732971 1.311258077621 0.048126757145 +v 0.079223632813 1.301067113876 0.051980793476 +v 0.079833984375 1.300073146820 0.031079173088 +v 0.080294847488 1.289757966995 0.038935780525 +v 0.084419488907 1.282017230988 0.020341932774 +v 0.084472656250 1.274614810944 0.031600832939 +v 0.089787960052 1.257214426994 0.028529644012 +v 0.093410491943 1.257125258446 0.016011953354 +v 0.093643188477 1.237569332123 0.028812587261 +v 0.099745988846 1.236010193825 0.015180408955 +v 0.101211547852 1.209712862968 0.029784440994 +v 0.105703353882 1.216141939163 0.016078948975 +v 0.107604503632 1.206364512444 0.004519283772 +v 0.106831312180 1.196551799774 0.008540511131 +v 0.103477239609 1.200936555862 -0.016821682453 +v 0.102436780930 1.189777612686 -0.016660988331 +v 0.094894409180 1.201877832413 -0.033474504948 +v 0.091467142105 1.192241907120 -0.033644795418 +v 0.081027984619 1.205593347549 -0.044518053532 +v 0.078697204590 1.196267604828 -0.045972108841 +v 0.030203104019 1.317878961563 0.092599034309 +v 0.031599044800 1.306848764420 0.096550464630 +v 0.000533103943 1.315608501434 0.092406988144 +v 0.001453638077 1.304747343063 0.097599565983 +v -0.019915580750 1.309429168701 0.081647753716 +v -0.018998622894 1.298553228378 0.086916089058 +v -0.033011198044 1.297790884972 0.064219474792 +v -0.029258489609 1.289492845535 0.072676897049 +v -0.041879415512 1.274564981461 0.053379595280 +v -0.035678148270 1.269248962402 0.063527703285 +v -0.049278259277 1.251981019974 0.053342640400 +v -0.040801525116 1.249933481216 0.062599599361 +v -0.052246570587 1.230650424957 0.054706454277 +v -0.042381286621 1.229251742363 0.063888192177 +v -0.056648731232 1.206089735031 0.058673679829 +v -0.047176122665 1.203041553497 0.068685829639 +v -0.063978195190 1.193070888519 0.045640826225 +v -0.059770822525 1.182946562767 0.046971440315 +v -0.068000316620 1.188966512680 0.023967921734 +v -0.064295291901 1.178698301315 0.022614359856 +v -0.068785667419 1.192012310028 0.001784324646 +v -0.065010547638 1.183354616165 -0.002156734467 +v -0.066419363022 1.198132634163 -0.014372169971 +v -0.061841726303 1.189954519272 -0.018084764481 +v -0.056248426437 1.205180168152 -0.032190322876 +v -0.050663232803 1.196324706078 -0.035794079304 +v -0.035155773163 1.208442568779 -0.053844273090 +v -0.033224582672 1.197817921638 -0.051412761211 +v -0.008906602859 1.210032224655 -0.066920220852 +v -0.007337331772 1.200033903122 -0.065757989883 +v 0.025993824005 1.211974382401 -0.073480010033 +v 0.026358604431 1.201002120972 -0.069385886192 +v 0.049157142639 1.212844133377 -0.068056046963 +v 0.048957347870 1.202935099602 -0.064820349216 +v 0.065938234329 1.210010766983 -0.056550920010 +v 0.063969373703 1.200293183327 -0.057101726532 +v 0.026063919067 1.253668546677 -0.073655724525 +v -0.009798765182 1.251827239990 -0.066984713078 +v -0.036081075668 1.251029968262 -0.053802967072 +v -0.053255796432 1.248492121696 -0.030867159367 +v -0.061401128769 1.237682819366 -0.006527304649 +v -0.065071582794 1.235451579094 0.005308210850 +v -0.066051959991 1.232313632965 0.024793028831 +v -0.063958168030 1.215806245804 0.036684691906 +v -0.058470249176 1.244234442711 0.038768827915 +v -0.056696653366 1.254055619240 0.036476075649 +v 0.047235488892 1.252357602119 -0.067458629608 +v 0.065943956375 1.248579740524 -0.052758038044 +v 0.082094430923 1.242822408676 -0.039423704147 +v 0.101416587830 1.234602212906 0.000243604183 +v 0.095574378967 1.254433631897 -0.000831246376 +v 0.081856250763 1.282060623169 0.002210915089 +v 0.070363283157 1.305048108101 0.002756774426 +v 0.064732551575 1.325939893723 0.037348568439 +v 0.059475421906 1.330581545830 0.056172847748 +v 0.051770687103 1.331991195679 0.066862940788 +v 0.026969909668 1.331480026245 0.080155074596 +v 0.000534296036 1.328585267067 0.078154027462 +v -0.016364336014 1.321949958801 0.068262755871 +v -0.032131671906 1.307672977448 0.049133062363 +v -0.046026468277 1.281006813049 0.033047616482 +v -0.057170391083 1.264941453934 0.018052995205 +v -0.059194087982 1.260551929474 0.005703926086 +v -0.056351184845 1.267251372337 -0.005363285542 +v -0.049419403076 1.281430959702 0.018636167049 +v -0.050104856491 1.281523466110 -0.026480972767 +v -0.032762527466 1.285117030144 -0.046894788742 +v -0.006237030029 1.288429498672 -0.060750246048 +v 0.045986413956 1.285272717476 -0.059156835079 +v 0.060814857483 1.282638311386 -0.047715902328 +v 0.081722974777 1.278753519058 -0.015161991119 +v 0.093460798264 1.257528543472 -0.016839504242 +v 0.099166631699 1.234176397324 -0.016934752464 +v 0.080812215805 1.267979621887 -0.031077861786 +v 0.066226243973 1.297156810760 -0.022842288017 +v 0.025224208832 1.286554098129 -0.066509544849 +v 0.046222925186 1.308892011642 -0.040655016899 +v 0.025389671326 1.311321735382 -0.048380911350 +v -0.002219676971 1.312392711639 -0.044137835503 +v -0.024477481842 1.309771776199 -0.033741474152 +v -0.040723323822 1.304569959641 -0.014032125473 +v -0.038681983948 1.307122945786 0.022028684616 +v -0.033923625946 1.316653251648 0.007554233074 +v -0.022377967834 1.325628161430 0.032776713371 +v -0.011242151260 1.334012389183 0.047734975815 +v 0.005346775055 1.339532971382 0.057651221752 +v 0.023217439651 1.341475963593 0.059436559677 +v 0.043385505676 1.340054035187 0.050687074661 +v 0.050596475601 1.337354063988 0.041210770607 +v 0.055289745331 1.331090807915 0.023640811443 +v 0.054258584976 1.323943614960 -0.003970444202 +v 0.035431385040 1.330586671829 -0.015784919262 +v 0.002865314484 1.329736113548 -0.018387377262 +v -0.017127513885 1.325981378555 -0.009942293167 +v -0.009388685226 1.335545063019 0.010651230812 +v 0.008429527283 1.339061737061 0.003008246422 +v 0.036308050156 1.338485956192 0.004922389984 +v 0.036141872406 1.342529535294 0.023647129536 +v 0.034445047379 1.343819022179 0.035101830959 +v 0.020200014114 1.344961047173 0.038254320621 +v 0.006144762039 1.343188524246 0.040450692177 +v -0.003520011902 1.340352535248 0.030388653278 +v 0.015350580215 1.343349337578 0.023720622063 +v 0.002131700516 1.294373512268 0.084310173988 +v 0.032253980637 1.296369910240 0.083501935005 +v 0.053240537643 1.297918319702 0.073384404182 +v 0.063632249832 1.297773361206 0.063727974892 +v 0.066441297531 1.292367458344 0.051250755787 +v 0.069464921951 1.284128427505 0.042113184929 +v 0.072947740555 1.268516302109 0.036393523216 +v 0.077996730804 1.254851579666 0.034342646599 +v 0.082294940948 1.238687992096 0.033778369427 +v 0.096078634262 1.210922002792 0.033141076565 +v 0.093547344208 1.197418689728 0.010111808777 +v 0.088402271271 1.190471649170 -0.012344717979 +v 0.079278945923 1.192068338394 -0.027221798897 +v 0.067305803299 1.196002244949 -0.037115812302 +v 0.056254863739 1.199710249901 -0.045009076595 +v 0.043886661530 1.202761530876 -0.050360381603 +v 0.028577089310 1.203777551651 -0.055042266846 +v 0.000556945801 1.202123761177 -0.054026365280 +v -0.022556543350 1.199745535851 -0.042454838753 +v -0.037118673325 1.196506142616 -0.027604460716 +v -0.044364452362 1.191485524178 -0.013580024242 +v -0.048760175705 1.185310840607 0.001701295376 +v -0.049472093582 1.181732654572 0.018289864063 +v -0.043260574341 1.188125729561 0.041829228401 +v -0.042436599731 1.200907945633 0.067196130753 +v -0.029914379120 1.229040384293 0.062778651714 +v -0.028822183609 1.249405384064 0.061480879784 +v -0.026416063309 1.267934322357 0.062469124794 +v -0.020500183105 1.284778714180 0.069266617298 +v -0.011813879013 1.290825963020 0.077379345894 +v -0.036173343658 1.205227851868 0.065852403641 +v 0.089926242828 1.212391614914 0.033588826656 +v 0.086484670639 1.264750957489 -0.025318682194 +v 0.090276241302 1.249650478363 -0.029009580612 +v 0.093374252319 1.235239744186 -0.028121829033 +v -0.680430412292 1.393068790436 -0.320257246494 +v -0.698494911194 1.408102989197 -0.328137785196 +v -0.705596685410 1.403319478035 -0.332353264093 +v -0.702425003052 1.401414155960 -0.341219663620 +v -0.693487405777 1.401706576347 -0.345480948687 +v -0.677313804626 1.388596534729 -0.332979142666 +v -0.696997642517 1.407511115074 -0.337174981833 +v -0.689204931259 1.409341335297 -0.330315768719 +v -0.693303585052 1.391095876694 -0.314780384302 +v -0.703037500381 1.384432554245 -0.323003411293 +v -0.699735164642 1.379808068275 -0.336086094379 +v -0.686516761780 1.382108569145 -0.341215163469 +v -0.688117027283 1.406664133072 -0.339293509722 +v -0.671191692352 1.325040817261 -0.285161167383 +v -0.653577566147 1.274054050446 -0.263464331627 +v -0.622252702713 1.186689734459 -0.227236688137 +v -0.589787960052 1.099176168442 -0.192291796207 +v -0.552791118622 1.003217101097 -0.157474160194 +v -0.510915994644 0.897739231586 -0.121878385544 +v -0.492876291275 0.902821123600 -0.129963815212 +v -0.535413742065 1.007634758949 -0.164884626865 +v -0.573541641235 1.102779388428 -0.199071943760 +v -0.606878757477 1.189758062363 -0.233704805374 +v -0.639323711395 1.276522159576 -0.269631683826 +v -0.656749725342 1.327616810799 -0.290879905224 +v -0.681891918182 1.317631244659 -0.293967366219 +v -0.664569854736 1.266501188278 -0.272399932146 +v -0.634156942368 1.178615331650 -0.236648023129 +v -0.601839542389 1.090810775757 -0.202318966389 +v -0.566227912903 0.994425058365 -0.168143510818 +v -0.525188207626 0.888482391834 -0.133112192154 +v -0.678204059601 1.312798857689 -0.308455199003 +v -0.660619258881 1.261751770973 -0.287267655134 +v -0.630073070526 1.173742771149 -0.252752542496 +v -0.597980260849 1.085862278938 -0.219300508499 +v -0.562275886536 0.989962458611 -0.186343669891 +v -0.521363496780 0.884423673153 -0.152287662029 +v -0.663713693619 1.315396070480 -0.314257442951 +v -0.645992040634 1.264471530914 -0.293223381042 +v -0.614400863647 1.176954030991 -0.259143769741 +v -0.581530570984 1.089387059212 -0.226521193981 +v -0.544843912125 0.994354009628 -0.193900704384 +v -0.503242254257 0.889585494995 -0.160271108150 +v -0.653139591217 1.322819709778 -0.305283248425 +v -0.635165929794 1.272057771683 -0.284064382315 +v -0.603127479553 1.184988617897 -0.249243974686 +v -0.569592237473 1.097936868668 -0.215854406357 +v -0.531643867493 1.003189921379 -0.182969391346 +v -0.488971471786 0.898870944977 -0.149086236954 +v -0.484921455383 0.834170520306 -0.089892804623 +v -0.460219383240 0.840958893299 -0.100384473801 +v -0.511497497559 0.901323735714 -0.132468283176 +v -0.501404762268 0.904189109802 -0.136912345886 +v -0.472644090652 0.759641647339 -0.086778938770 +v -0.504419326782 0.821840167046 -0.105421543121 +v -0.519470214844 0.896225512028 -0.138695955276 +v -0.467942714691 0.754820764065 -0.108005642891 +v -0.499197244644 0.815808892250 -0.131774783134 +v -0.517336845398 0.893964409828 -0.149376213551 +v -0.448551177979 0.760925114155 -0.116835474968 +v -0.474140167236 0.822419762611 -0.142395973206 +v -0.507234096527 0.896824002266 -0.153811216354 +v -0.433065176010 0.771692276001 -0.104480087757 +v -0.455140352249 0.835817098618 -0.126966357231 +v -0.499275684357 0.901945590973 -0.147596955299 +v -0.459559202194 0.773626148701 -0.068398654461 +v -0.433999776840 0.781386613846 -0.079760193825 +v -0.427901983261 0.774820268154 -0.107565879822 +v -0.447791576385 0.760745763779 -0.123485684395 +v -0.472889900208 0.752940356731 -0.112041771412 +v -0.479088068008 0.758860111237 -0.084373116493 +v -0.491303682327 0.910904347897 -0.129152178764 +v -0.514250516891 0.904531538486 -0.118242800236 +v -0.533769607544 0.893227875233 -0.132516324520 +v -0.528328418732 0.887990593910 -0.157591700554 +v -0.504444837570 0.894635677338 -0.168278694153 +v -0.485826730728 0.906584739685 -0.153679370880 +v -0.461875915527 0.779266953468 -0.070306479931 +v -0.436331748962 0.787207782269 -0.081280946732 +v -0.430136680603 0.780604958534 -0.109252929688 +v -0.449860572815 0.765928268433 -0.125815510750 +v -0.475796222687 0.757836759090 -0.114095747471 +v -0.482009410858 0.764635562897 -0.085911035538 +v -0.487102031708 0.905195295811 -0.125341534615 +v -0.511810302734 0.898107171059 -0.114347636700 +v -0.531330347061 0.885510385036 -0.129618883133 +v -0.526210784912 0.880015254021 -0.155877709389 +v -0.501423597336 0.887129247189 -0.166869044304 +v -0.482195377350 0.899640679359 -0.151460170746 +v -0.462564945221 0.780975162983 -0.071647465229 +v -0.437812328339 0.788343131542 -0.082418143749 +v -0.431942939758 0.781991302967 -0.109270632267 +v -0.450904846191 0.768045961857 -0.124982774258 +v -0.475512504578 0.760414898396 -0.113783419132 +v -0.481489181519 0.767017781734 -0.087105572224 +v -0.487062454224 0.902436256409 -0.125205695629 +v -0.510672807693 0.895664632320 -0.114782571793 +v -0.529201984406 0.883543848991 -0.129371404648 +v -0.524323225021 0.878087401390 -0.154505074024 +v -0.500638008118 0.884852886200 -0.164988815784 +v -0.482070446014 0.897029280663 -0.150350451469 +v -0.424216270447 0.726895034313 -0.088332355022 +v -0.433250427246 0.720961630344 -0.097859382629 +v -0.445126295090 0.718145370483 -0.091281771660 +v -0.435346364975 0.722274005413 -0.082853138447 +v -0.449822902679 0.721979498863 -0.078244268894 +v -0.438974618912 0.728516280651 -0.071362376213 +v -0.426059484482 0.732701241970 -0.075176239014 +v -0.425045013428 0.742575645447 -0.074277520180 +v -0.443370342255 0.737635374069 -0.066380739212 +v -0.452912092209 0.722330808640 -0.097539663315 +v -0.434735298157 0.726553499699 -0.105409443378 +v -0.457568168640 0.770726919174 -0.074224233627 +v -0.438102483749 0.776775538921 -0.083273649216 +v -0.457084417343 0.727426528931 -0.078251421452 +v -0.421734809875 0.737034559250 -0.093638539314 +v -0.440868854523 0.726467907429 -0.079293847084 +v -0.441762924194 0.723804175854 -0.084031581879 +v -0.437235593796 0.723723113537 -0.086625933647 +v -0.433544158936 0.726360797882 -0.083503544331 +v -0.435790300369 0.728097319603 -0.078992664814 +v -0.435076475143 0.716530799866 -0.078679621220 +v -0.436748027802 0.715161144733 -0.083459377289 +v -0.433470964432 0.717130362988 -0.086149096489 +v -0.429803609848 0.719704866409 -0.082996487617 +v -0.430795431137 0.719356417656 -0.078405201435 +v -0.426370620728 0.708177804947 -0.082949578762 +v -0.429102659225 0.708031177521 -0.087148606777 +v -0.427751302719 0.711654126644 -0.088896811008 +v -0.424102544785 0.714181125164 -0.085791230202 +v -0.423462867737 0.712011873722 -0.082427322865 +v -0.417178869247 0.705715954304 -0.092401742935 +v -0.421164512634 0.705772161484 -0.095329344273 +v -0.421780347824 0.710141003132 -0.095210850239 +v -0.418033361435 0.712694764137 -0.092156529427 +v -0.415308475494 0.709888398647 -0.090527355671 +v -0.411131381989 0.710895836353 -0.103977918625 +v -0.416023015976 0.710323870182 -0.105279445648 +v -0.418101072311 0.713830649853 -0.102593660355 +v -0.414386272430 0.716481685638 -0.099799752235 +v -0.409998416901 0.714512467384 -0.100628316402 +v -0.412442445755 0.723457217216 -0.112111985683 +v -0.417440891266 0.721303761005 -0.112163603306 +v -0.419823646545 0.722338557243 -0.107104063034 +v -0.416396379471 0.725583493710 -0.104684352875 +v -0.411242246628 0.725655853748 -0.107722580433 +v -0.419799089432 0.736344456673 -0.113022804260 +v -0.424517631531 0.732703447342 -0.112453818321 +v -0.425635576248 0.730973005295 -0.106811225414 +v -0.422138690948 0.734303593636 -0.103965282440 +v -0.418025732040 0.737095832825 -0.108072340488 +v -0.427905082703 0.742825925350 -0.108273148537 +v -0.431505441666 0.737993359566 -0.108103752136 +v -0.431043863297 0.735172092915 -0.103496670723 +v -0.427010297775 0.737998902798 -0.100774705410 +v -0.425103187561 0.742438733578 -0.103610634804 +v -0.434395790100 0.745493888855 -0.102516651154 +v -0.437351465225 0.740055739880 -0.103321194649 +v -0.434785366058 0.735876679420 -0.100580215454 +v -0.429973125458 0.739280521870 -0.096914887428 +v -0.430575609207 0.744815766811 -0.098116934299 +v -0.638014793396 1.230491757393 -0.244978487492 +v -0.622946262360 1.233280658722 -0.251465588808 +v -0.649592638016 1.222546815872 -0.254358708858 +v -0.645442724228 1.217762947083 -0.269892901182 +v -0.630394697189 1.220943450928 -0.275375068188 +v -0.619070529938 1.228546142578 -0.266649246216 +v -0.606110572815 1.143009781837 -0.209524273872 +v -0.590292215347 1.146337389946 -0.216171145439 +v -0.617876529694 1.134744167328 -0.219516158104 +v -0.614089488983 1.129821658134 -0.235923349857 +v -0.598005294800 1.133176445961 -0.242772758007 +v -0.586416721344 1.141480803490 -0.232462942600 +v -0.572516918182 1.054052591324 -0.175565481186 +v -0.555697917938 1.058142900467 -0.182277798653 +v -0.585446357727 1.045498132706 -0.185521006584 +v -0.581245422363 1.040752649307 -0.203099846840 +v -0.564207553864 1.044691920280 -0.210411846638 +v -0.551835060120 1.053359389305 -0.199682593346 +v -0.530359745026 0.946404516697 -0.139006793499 +v -0.512903213501 0.951150536537 -0.146695137024 +v -0.544089317322 0.937598705292 -0.149761617184 +v -0.540381193161 0.933445930481 -0.168263316154 +v -0.522706985474 0.938259720802 -0.175991654396 +v -0.508960247040 0.947188973427 -0.165071189404 +v -0.473415136337 0.870537042618 -0.112968623638 +v -0.496746063232 0.863225281239 -0.101937651634 +v -0.516067743301 0.851110696793 -0.117046415806 +v -0.510797500610 0.845018565655 -0.142522931099 +v -0.486820697784 0.852223873138 -0.153340578079 +v -0.467840671539 0.864946663380 -0.138649642467 +v -0.447163105011 0.810840010643 -0.089115977287 +v -0.472838640213 0.805846035480 -0.079120457172 +v -0.492668628693 0.793564498425 -0.095415353775 +v -0.486189365387 0.784938633442 -0.121517777443 +v -0.460333108902 0.791131556034 -0.131569087505 +v -0.440885305405 0.803529441357 -0.115472018719 +v -0.450312852859 0.753731548786 -0.070098817348 +v -0.431421279907 0.759420990944 -0.078914582729 +v -0.465086460114 0.742805838585 -0.082118272781 +v -0.460514783859 0.737773180008 -0.103004276752 +v -0.441336154938 0.743454098701 -0.111343443394 +v -0.426443099976 0.754368603230 -0.099310636520 +v -0.731904268265 1.409023046494 -0.283832073212 +v -0.731420993805 1.409527540207 -0.277567297220 +v -0.769669771194 1.473773002625 -0.284856706858 +v -0.769919872284 1.473968267441 -0.288533568382 +v -0.807954311371 1.532006978989 -0.292883962393 +v -0.809309005737 1.532471895218 -0.288937449455 +v -0.723148822784 1.397814750671 -0.277460843325 +v -0.725734949112 1.400135159492 -0.284406632185 +v -0.701467037201 1.393261909485 -0.299498915672 +v -0.702801704407 1.394067406654 -0.304610729218 +v -0.697797775269 1.322681307793 -0.245903372765 +v -0.678847789764 1.325425028801 -0.269638597965 +v -0.699045181274 1.318197965622 -0.247449636459 +v -0.679080247879 1.320086479187 -0.270336747169 +v -0.698448657990 1.258418440819 -0.191542923450 +v -0.699070453644 1.255869746208 -0.195368707180 +v -0.698896884918 1.187084913254 -0.134619593620 +v -0.700427770615 1.184316277504 -0.138689637184 +v -0.701871871948 1.162669658661 -0.121972262859 +v -0.711782455444 1.180882930756 -0.144968867302 +v -0.710798740387 1.249737977982 -0.202855288982 +v -0.711197614670 1.311830759048 -0.256590962410 +v -0.690308570862 1.311554193497 -0.279663801193 +v -0.713588476181 1.315556406975 -0.259247243404 +v -0.693629026413 1.312055587769 -0.281306147575 +v -0.714844465256 1.249986529350 -0.202514290810 +v -0.714670181274 1.182743430138 -0.144470751286 +v -0.703557968140 1.160912275314 -0.124656915665 +v -0.734780550003 1.184387803078 -0.107548713684 +v -0.803620576859 1.413166880608 -0.193729162216 +v -0.844019651413 1.455053806305 -0.184393405914 +v -0.807727098465 1.321138620377 -0.116503834724 +v -0.837025165558 1.372961163521 -0.126379728317 +v -0.771314382553 1.244080543518 -0.100617885590 +v -0.793653011322 1.271091222763 -0.097309827805 +v -0.731769084930 1.187012553215 -0.105778515339 +v -0.778274536133 1.234176158905 -0.089952230453 +v -0.774795055389 1.242721438408 -0.096917808056 +v -0.802556514740 1.267426371574 -0.087716221809 +v -0.781018733978 1.239013910294 -0.089828252792 +v -0.831202745438 1.315947771072 -0.093698978424 +v -0.857189416885 1.373258233070 -0.109514474869 +v -0.872247457504 1.439273834229 -0.146919488907 +v -0.862528800964 1.441547393799 -0.156704366207 +v -0.872767448425 1.465386867523 -0.168636918068 +v -0.871892452240 1.446012973785 -0.152757167816 +v -0.870913505554 1.465698003769 -0.171075582504 +v -0.872616052628 1.496040582657 -0.196074187756 +v -0.873492717743 1.469481587410 -0.172275424004 +v -0.844311237335 1.563365578651 -0.288278520107 +v -0.867714643478 1.493918657303 -0.196815609932 +v -0.870485305786 1.498056888580 -0.198610186577 +v -0.873506069183 1.498218655586 -0.200232744217 +v -0.873781919479 1.495349645615 -0.197271823883 +v -0.868160724640 1.436191439629 -0.160237908363 +v -0.874623298645 1.443897843361 -0.155241250992 +v -0.875429630280 1.468093872070 -0.173968076706 +v -0.875430583954 1.464208483696 -0.170832037926 +v -0.861469507217 1.539059877396 -0.244808673859 +v -0.864252090454 1.538134932518 -0.246580541134 +v -0.846224308014 1.561979532242 -0.289737492800 +v -0.836484193802 1.567539691925 -0.300393223763 +v -0.837390184402 1.566413164139 -0.303441166878 +v -0.780709743500 1.232831001282 -0.092110395432 +v -0.770603179932 1.241312861443 -0.120023488998 +v -0.805193901062 1.265119791031 -0.089168965816 +v -0.783527612686 1.236857414246 -0.091316342354 +v -0.834095478058 1.314088821411 -0.095762848854 +v -0.860008001328 1.371434450150 -0.112266540527 +v -0.874962329865 1.439385414124 -0.149586439133 +v -0.845883846283 1.368828058243 -0.133463740349 +v -0.873351573944 1.462928771973 -0.173678338528 +v -0.871895790100 1.493336915970 -0.199328541756 +v -0.840737104416 1.510570049286 -0.263315886259 +v -0.833376646042 1.531134724617 -0.288762927055 +v -0.817931175232 1.526331186295 -0.300622344017 +v -0.746751785278 1.402173876762 -0.290421187878 +v -0.796869993210 1.488108158112 -0.299173355103 +v -0.803301095963 1.423126697540 -0.242137193680 +v -0.853743076324 1.448746681213 -0.194176614285 +v -0.821331739426 1.314145565033 -0.119208931923 +v -0.793041229248 1.273641824722 -0.120415627956 +v -0.779705524445 1.238341212273 -0.096930265427 +v -0.758402109146 1.325504183769 -0.214042127132 +v -0.734133243561 1.393293976784 -0.292042940855 +v -0.736127614975 1.383604526520 -0.289822369814 +v -0.747549772263 1.393516778946 -0.284139096737 +v -0.713304281235 1.387033820152 -0.312869518995 +v -0.716605424881 1.378824830055 -0.315402686596 +v -0.667083024979 1.332947969437 -0.272325456142 +v -0.686036825180 1.396254181862 -0.300350457430 +v -0.652807712555 1.335969448090 -0.279133826494 +v -0.671698808670 1.397094845772 -0.306801915169 +v -0.641156673431 1.331952333450 -0.292787551880 +v -0.662131309509 1.392925381660 -0.323805451393 +v -0.665781974792 1.324501156807 -0.274403363466 +v -0.653313159943 1.326481461525 -0.280657827854 +v -0.643545627594 1.325591325760 -0.292931616306 +v -0.687883615494 1.396928071976 -0.306693255901 +v -0.677305936813 1.397392749786 -0.311640799046 +v -0.668898105621 1.393209457397 -0.326097100973 +v -0.639791965485 1.324838161469 -0.306407392025 +v -0.661513090134 1.386579990387 -0.338125854731 +v -0.642078876495 1.321270823479 -0.304058849812 +v -0.667977333069 1.387650251389 -0.338719785213 +v -0.640511274338 1.320248246193 -0.313241720200 +v -0.661991596222 1.385642766953 -0.342326313257 +v -0.643562793732 1.316686630249 -0.313483148813 +v -0.666442394257 1.385178923607 -0.344291776419 +v -0.716503143311 1.372074604034 -0.326735794544 +v -0.694771766663 1.309220075607 -0.296694934368 +v -0.710252761841 1.365118026733 -0.340708762407 +v -0.689024686813 1.304324030876 -0.313677370548 +v -0.695271492004 1.365952491760 -0.350932478905 +v -0.673334360123 1.305315852165 -0.323754280806 +v -0.676507711411 1.373834609985 -0.354276686907 +v -0.657118558884 1.312539339066 -0.327110052109 +v -0.713317871094 1.378292798996 -0.329542458057 +v -0.708588600159 1.374512910843 -0.340065002441 +v -0.695788145065 1.374732732773 -0.347389072180 +v -0.678169250488 1.378413438797 -0.351348221302 +v -0.690240859985 1.306376218796 -0.295807123184 +v -0.685710668564 1.302699327469 -0.310207158327 +v -0.671741962433 1.304181456566 -0.319831520319 +v -0.655930995941 1.309202790260 -0.323127806187 +v -0.634047985077 1.305329561234 -0.344313293695 +v -0.623847723007 1.313705205917 -0.334188282490 +v -0.622318029404 1.319812774658 -0.335038781166 +v -0.636306285858 1.308283686638 -0.347529143095 +v -0.657687187195 1.368595123291 -0.372926771641 +v -0.657169342041 1.375516891479 -0.371039777994 +v -0.642990112305 1.381778359413 -0.362855851650 +v -0.649636030197 1.380834460258 -0.366766542196 +v -0.621777534485 1.454902648926 -0.452792227268 +v -0.627440929413 1.456566333771 -0.455327212811 +v -0.631230592728 1.454094767570 -0.456920742989 +v -0.635877132416 1.447454333305 -0.459561079741 +v -0.624344110489 1.466953277588 -0.470377117395 +v -0.627939224243 1.463238477707 -0.473223686218 +v -0.611341238022 1.455082416534 -0.477429419756 +v -0.615406513214 1.452845573425 -0.479317456484 +v -0.596461057663 1.429937839508 -0.461888015270 +v -0.585901737213 1.430440187454 -0.486534267664 +v -0.568025112152 1.390513300896 -0.463041514158 +v -0.556784152985 1.394706368446 -0.490542352200 +v -0.620961666107 1.366299271584 -0.374592006207 +v -0.602149963379 1.328221082687 -0.365407556295 +v -0.554142475128 1.359774947166 -0.457094848156 +v -0.544462203979 1.367879867554 -0.489594697952 +v -0.554653167725 1.386860847473 -0.492153495550 +v -0.540938138962 1.330043315887 -0.446610987186 +v -0.526558876038 1.326992034912 -0.474644184113 +v -0.532519340515 1.298381805420 -0.428922235966 +v -0.517386436462 1.295669794083 -0.456924021244 +v -0.517901897430 1.258272409439 -0.422607213259 +v -0.512837409973 1.254708290100 -0.429519742727 +v -0.540863037109 1.262001872063 -0.384749233723 +v -0.516560077667 1.256026744843 -0.420525699854 +v -0.516956090927 1.229684472084 -0.400133073330 +v -0.512316942215 1.247911930084 -0.421232968569 +v -0.543984174728 1.231948614120 -0.360431998968 +v -0.536952972412 1.211765289307 -0.364224553108 +v -0.613957405090 1.310405731201 -0.337616801262 +v -0.617177486420 1.305488467216 -0.336197882891 +v -0.547671794891 1.226849794388 -0.359812885523 +v -0.623764514923 1.295241832733 -0.345131874084 +v -0.550174236298 1.224074363708 -0.363058030605 +v -0.611073017120 1.422493457794 -0.469076097012 +v -0.633231639862 1.343430519104 -0.382424205542 +v -0.617163181305 1.313082218170 -0.376247048378 +v -0.627777338028 1.298094511032 -0.349091798067 +v -0.587876319885 1.425273895264 -0.487512648106 +v -0.559880733490 1.391711711884 -0.492971718311 +v -0.546575784683 1.364702701569 -0.491101324558 +v -0.556817054749 1.384633302689 -0.494335830212 +v -0.581263065338 1.378509998322 -0.469431370497 +v -0.528251409531 1.325081706047 -0.475629925728 +v -0.562163352966 1.334616303444 -0.456040829420 +v -0.519301652908 1.293952107430 -0.458499312401 +v -0.546352624893 1.291024565697 -0.436513841152 +v -0.514696121216 1.253158092499 -0.430215626955 +v -0.520211696625 1.255135059357 -0.424808651209 +v -0.520582675934 1.251160979271 -0.424345523119 +v -0.549528598785 1.249001860619 -0.397651523352 +v -0.514673948288 1.245489358902 -0.423131406307 +v -0.518534421921 1.226596713066 -0.399023622274 +v -0.549133777618 1.221839308739 -0.366844773293 +v -0.538474559784 1.209404468536 -0.364824950695 +v -0.528185606003 1.214612126350 -0.376569181681 +v -0.529793500900 1.213744163513 -0.379284560680 +v -0.549133777618 1.221839308739 -0.366844773293 +v -0.752520561218 1.404311418533 -0.285495400429 +v -0.799973726273 1.489697456360 -0.296636253595 +v 0.070177555084 1.274966716766 0.089686870575 +v 0.067983150482 1.274402737617 0.090926527977 +v 0.066224336624 1.272931575775 0.092114746571 +v 0.065168857574 1.270776987076 0.093070566654 +v 0.064977169037 1.268267154694 0.093648433685 +v 0.065678596497 1.265784263611 0.093760550022 +v 0.067166328430 1.263706088066 0.093389570713 +v 0.069213867188 1.262349128723 0.092592179775 +v 0.071509599686 1.261919736862 0.091489672661 +v 0.073703765869 1.262483835220 0.090249955654 +v 0.075462818146 1.263954997063 0.089061796665 +v 0.076518297195 1.266109466553 0.088105916977 +v 0.076709985733 1.268619298935 0.087528049946 +v 0.076008558273 1.271102190018 0.087416052818 +v 0.074520826340 1.273180484772 0.087786972523 +v 0.072473287582 1.274537563324 0.088584363461 +v 0.068333148956 1.278423786163 0.086334288120 +v 0.064796447754 1.277514934540 0.088332414627 +v 0.061961412430 1.275143623352 0.090247511864 +v 0.060260057449 1.271671056747 0.091788053513 +v 0.059951066971 1.267625689507 0.092719554901 +v 0.061081647873 1.263623714447 0.092900037766 +v 0.063479423523 1.260274052620 0.092302203178 +v 0.066779851913 1.258086919785 0.091017007828 +v 0.070479869843 1.257395267487 0.089240074158 +v 0.074016571045 1.258304119110 0.087241888046 +v 0.076851606369 1.260675430298 0.085326790810 +v 0.078552961349 1.264147996902 0.083786249161 +v 0.078861951828 1.268193244934 0.082854807377 +v 0.077731370926 1.272195339203 0.082674264908 +v 0.075333595276 1.275544881821 0.083272099495 +v 0.072033166885 1.277732014656 0.084557354450 +v 0.065737485886 1.280808687210 0.081495702267 +v 0.061116695404 1.279621124268 0.084106385708 +v 0.057412624359 1.276522874832 0.086608529091 +v 0.055189609528 1.271985650063 0.088621377945 +v 0.054785966873 1.266700267792 0.089838445187 +v 0.056262969971 1.261471390724 0.090074300766 +v 0.059396028519 1.257094979286 0.089293181896 +v 0.063708066940 1.254237174988 0.087613999844 +v 0.068542480469 1.253333449364 0.085292279720 +v 0.073163509369 1.254521012306 0.082681596279 +v 0.076867341995 1.257619142532 0.080179393291 +v 0.079090595245 1.262156486511 0.078166604042 +v 0.079494237900 1.267441749573 0.076949536800 +v 0.078016996384 1.272670745850 0.076713681221 +v 0.074883937836 1.277047157288 0.077494800091 +v 0.070571899414 1.279904842377 0.079174041748 +v 0.062948465347 1.280951499939 0.076157152653 +v 0.057946681976 1.279666066170 0.078983008862 +v 0.053937673569 1.276312589645 0.081691384315 +v 0.051531553268 1.271401524544 0.083870053291 +v 0.051094532013 1.265680670738 0.085187315941 +v 0.052693367004 1.260020971298 0.085442662239 +v 0.056084394455 1.255283951759 0.084597170353 +v 0.060751676559 1.252190828323 0.082779586315 +v 0.065984487534 1.251212596893 0.080266594887 +v 0.070986270905 1.252498149872 0.077440857887 +v 0.074995517731 1.255851507187 0.074732422829 +v 0.077401638031 1.260762453079 0.072553753853 +v 0.077838659286 1.266483306885 0.071236491203 +v 0.076239824295 1.272143006325 0.070981144905 +v 0.072848558426 1.276880025864 0.071826636791 +v 0.068181276321 1.279973268509 0.073644220829 +v 0.060390472412 1.278830766678 0.071131527424 +v 0.055769443512 1.277642965317 0.073742210865 +v 0.052065610886 1.274544715881 0.076244413853 +v 0.049842596054 1.270007610321 0.078257262707 +v 0.049438953400 1.264722228050 0.079474270344 +v 0.050915956497 1.259493350983 0.079710185528 +v 0.054049015045 1.255116820335 0.078929066658 +v 0.058361053467 1.252259254456 0.077249825001 +v 0.063195466995 1.251355409622 0.074928104877 +v 0.067816495895 1.252542972565 0.072317481041 +v 0.071520328522 1.255641222000 0.069815278053 +v 0.073743581772 1.260178327560 0.067802429199 +v 0.074147224426 1.265463709831 0.066585421562 +v 0.072669982910 1.270692825317 0.066349506378 +v 0.069536924362 1.275068998337 0.067130684853 +v 0.065225124359 1.277926802635 0.068809866905 +v 0.067524909973 1.268451929092 0.093102991581 +v 0.069175004959 1.268501400948 0.092242240906 +v 0.071127653122 1.268560051918 0.091223716736 +v 0.073080301285 1.268618583679 0.090205192566 +v 0.074730157852 1.268668174744 0.089344441891 +v 0.070652723312 1.273131608963 0.090560674667 +v 0.068799734116 1.272726535797 0.091593861580 +v 0.067301273346 1.271686553955 0.092565476894 +v 0.066444635391 1.270407199860 0.093231320381 +v 0.066426753998 1.268414258957 0.093641161919 +v 0.066850900650 1.266429066658 0.093780994415 +v 0.067962169647 1.265214204788 0.093459844589 +v 0.069663047791 1.264270186424 0.092762410641 +v 0.071587085724 1.263978362083 0.091825425625 +v 0.073440074921 1.264383435249 0.090792238712 +v 0.074938535690 1.265423536301 0.089820683002 +v 0.075786352158 1.266697168350 0.089119791985 +v 0.075813055038 1.268695831299 0.088744938374 +v 0.075380325317 1.270675182343 0.088570117950 +v 0.074277639389 1.271895647049 0.088926315308 +v 0.072576761246 1.272839784622 0.089623689651 +v 0.004819393158 1.270663738251 0.106835365295 +v 0.004348754883 1.274211406708 0.103122293949 +v 0.008491754532 1.273808002472 0.103105425835 +v 0.007389783859 1.270413398743 0.106824874878 +v 0.012167453766 1.271865367889 0.103312313557 +v 0.009670257568 1.269208192825 0.106953203678 +v 0.014816045761 1.268679141998 0.103711485863 +v 0.011313676834 1.267231464386 0.107200860977 +v 0.016034841537 1.264734506607 0.104242146015 +v 0.012069702148 1.264783978462 0.107530117035 +v 0.015637636185 1.260631918907 0.104823470116 +v 0.011823415756 1.262238621712 0.107890844345 +v 0.013685464859 1.256995797157 0.105367064476 +v 0.010612010956 1.259982705116 0.108228087425 +v 0.010475158691 1.254379987717 0.105790019035 +v 0.008620262146 1.258359789848 0.108490467072 +v 0.006495475769 1.253182649612 0.106028079987 +v 0.006151199341 1.257616877556 0.108638167381 +v 0.002352476120 1.253586053848 0.106044888496 +v 0.003580808640 1.257867097855 0.108648657799 +v -0.001322984695 1.255528688431 0.105838000774 +v 0.001300334930 1.259072422981 0.108520269394 +v -0.003971815109 1.258714914322 0.105438828468 +v -0.000343084335 1.261049270630 0.108272612095 +v -0.005190372467 1.262659549713 0.104908168316 +v -0.001099109650 1.263496637344 0.107943356037 +v -0.004793405533 1.266762256622 0.104326844215 +v -0.000852823257 1.266042113304 0.107582688332 +v -0.002841234207 1.270398139954 0.103783249855 +v 0.000358581543 1.268298029900 0.107245445251 +v 0.000369071960 1.273014068604 0.103360295296 +v 0.002350330353 1.269920825958 0.106983006001 +v 0.003931760788 1.276739597321 0.097712039948 +v 0.009344816208 1.276212692261 0.097690045834 +v 0.014147281647 1.273674488068 0.097960352898 +v 0.017608165741 1.269511461258 0.098481893539 +v 0.019200325012 1.264357566833 0.099175214767 +v 0.018681526184 1.258997201920 0.099934816360 +v 0.016130685806 1.254246473312 0.100645005703 +v 0.011936426163 1.250828742981 0.101197659969 +v 0.006736755371 1.249264478683 0.101508677006 +v 0.001323699951 1.249791383743 0.101530730724 +v -0.003478765488 1.252329587936 0.101260423660 +v -0.006939411163 1.256492614746 0.100738883018 +v -0.008531808853 1.261646509171 0.100045561790 +v -0.008013010025 1.267006874084 0.099285960197 +v -0.005462169647 1.271757602692 0.098575711250 +v -0.001267671585 1.275175333023 0.098023056984 +v 0.003712654114 1.277051687241 0.091699361801 +v 0.009571552277 1.276481389999 0.091675460339 +v 0.014769792557 1.273733854294 0.091968059540 +v 0.018515825272 1.269227981567 0.092532575130 +v 0.020239114761 1.263649225235 0.093283057213 +v 0.019677639008 1.257847428322 0.094105184078 +v 0.016916751862 1.252705335617 0.094873905182 +v 0.012376546860 1.249006032944 0.095472097397 +v 0.006748676300 1.247312784195 0.095808684826 +v 0.000889539719 1.247883200645 0.095832526684 +v -0.004308462143 1.250630378723 0.095539927483 +v -0.008054494858 1.255136489868 0.094975411892 +v -0.009777784348 1.260715007782 0.094224989414 +v -0.009216308594 1.266516923904 0.093402862549 +v -0.006455421448 1.271659016609 0.092634141445 +v -0.001915454865 1.275358438492 0.092035949230 +v 0.003724575043 1.275099992752 0.085999369621 +v 0.009137630463 1.274572968483 0.085977315903 +v 0.013940095901 1.272034764290 0.086247682571 +v 0.017400741577 1.267871737480 0.086769223213 +v 0.018993139267 1.262717843056 0.087462544441 +v 0.018474340439 1.257357597351 0.088222086430 +v 0.015923500061 1.252606868744 0.088932335377 +v 0.011729001999 1.249189138412 0.089484930038 +v 0.006529569626 1.247624635696 0.089795947075 +v 0.001116514206 1.248151659966 0.089817941189 +v -0.003685951233 1.250689744949 0.089547634125 +v -0.007146835327 1.254852890968 0.089026153088 +v -0.008738994598 1.260006904602 0.088332772255 +v -0.008220195770 1.265367150307 0.087573230267 +v -0.005669355392 1.270117759705 0.086863040924 +v -0.001475095749 1.273535490036 0.086310386658 +v 0.000261068344 1.263721823692 0.108568012714 +v 0.000306606293 1.265732765198 0.108267664909 +v 0.001283168793 1.267090082169 0.108078360558 +v 0.001492738724 1.263846516609 0.108560204506 +v 0.005061388016 1.268813371658 0.107770264149 +v 0.007216453552 1.268672227859 0.107751905918 +v 0.007727861404 1.264456152916 0.108364582062 +v 0.005536317825 1.264241814613 0.108433365822 +v 0.002977371216 1.268257856369 0.107884883881 +v 0.003344774246 1.264027595520 0.108502089977 +v 0.009113311768 1.267855644226 0.107832670212 +v 0.009579896927 1.264637112617 0.108306467533 +v 0.010335683823 1.266713142395 0.107952952385 +v 0.010796070099 1.264751791954 0.108237385750 +v 0.010741710663 1.262735128403 0.108502686024 +v 0.009773969650 1.261383295059 0.108727037907 +v 0.008079767227 1.260215759277 0.108920395374 +v 0.005995750427 1.259660124779 0.109035074711 +v 0.003840684891 1.259801387787 0.109053432941 +v 0.001943826675 1.260617733002 0.108972728252 +v 0.000712633133 1.261754751205 0.108817398548 +v -0.090843439102 0.711956977844 -0.100321829319 +v -0.097157239914 0.660702586174 -0.115609467030 +v -0.006523370743 0.676110148430 -0.150974154472 +v -0.006254673004 0.734257340431 -0.141055881977 +v -0.106460332870 0.595456779003 -0.120525121689 +v -0.013854026794 0.609138488770 -0.144045293331 +v 0.159080028534 0.595945835114 -0.117241799831 +v 0.082373142242 0.601140439510 -0.140979409218 +v 0.217724084854 0.633673191071 -0.043690085411 +v 0.161948204041 0.658787310123 -0.116667926311 +v 0.161992549896 0.716392397881 -0.109141111374 +v 0.200988769531 0.700885295868 -0.057521402836 +v 0.082037210464 0.736163735390 -0.142028212547 +v 0.083940982819 0.671887874603 -0.145761489868 +v -0.052839994431 0.668570876122 -0.136453270912 +v -0.051985740662 0.724966228008 -0.126949429512 +v -0.060494899750 0.603041768074 -0.130789637566 +v 0.039752244949 0.676460027695 -0.152075648308 +v 0.039582014084 0.736532151699 -0.145459830761 +v 0.035222053528 0.606680989265 -0.146267235279 +v 0.123104095459 0.599229633808 -0.133650958538 +v 0.124687910080 0.666198194027 -0.136043965816 +v 0.123418569565 0.728347480297 -0.130160868168 +v 0.192488431931 0.646883368492 -0.081060171127 +v 0.192901372910 0.580796957016 -0.078956365585 +v 0.191608905792 0.708395838737 -0.080889344215 +v -0.110157966614 0.521872341633 -0.123427271843 +v -0.020442485809 0.542563259602 -0.144708812237 +v -0.109526634216 0.464789211750 -0.130063176155 +v -0.029718160629 0.474508851767 -0.155036568642 +v 0.068801403046 0.477472692728 -0.140547931194 +v 0.076097488403 0.537705183029 -0.135993599892 +v 0.162404775620 0.526327550411 -0.118127703667 +v 0.165109157562 0.450441986322 -0.139342069626 +v 0.228643178940 0.555671572685 -0.027355194092 +v 0.238083362579 0.474860131741 -0.044692456722 +v -0.066143035889 0.532799482346 -0.133282661438 +v -0.084163904190 0.454995065928 -0.141852140427 +v 0.016598701477 0.487684130669 -0.148972153664 +v 0.027564287186 0.544286847115 -0.143417119980 +v 0.122592210770 0.530475378036 -0.130063533783 +v 0.122491121292 0.461961984634 -0.139939665794 +v 0.199285984039 0.507649183273 -0.092158377171 +v 0.206475257874 0.438298881054 -0.125071763992 +v 0.236012935638 0.432352960110 -0.098448753357 +v -0.090003728867 0.713547110558 -0.098060905933 +v -0.096627950668 0.660236895084 -0.111967146397 +v -0.006083011627 0.675602138042 -0.146969020367 +v -0.005826711655 0.733766078949 -0.137710273266 +v -0.104192733765 0.594722390175 -0.114763200283 +v -0.013294696808 0.609091877937 -0.139524400234 +v 0.157139778137 0.595473289490 -0.113379478455 +v 0.081852197647 0.601088523865 -0.137477576733 +v 0.215976238251 0.632654249668 -0.042290151119 +v 0.160015106201 0.658218741417 -0.113578557968 +v 0.160174369812 0.716303348541 -0.106486916542 +v 0.199095010757 0.698588788509 -0.055205583572 +v 0.081353425980 0.736018717289 -0.138786435127 +v 0.083306312561 0.671617090702 -0.142443776131 +v -0.051246881485 0.668073892593 -0.131973326206 +v -0.051016092300 0.724832594395 -0.123342573643 +v -0.058906555176 0.602810740471 -0.125979125500 +v 0.039349555969 0.676087617874 -0.148158311844 +v 0.039282560349 0.736191391945 -0.142057716846 +v 0.034797668457 0.606659471989 -0.142599940300 +v 0.122372865677 0.599070608616 -0.130384206772 +v 0.123716592789 0.665827274323 -0.132826924324 +v 0.122337818146 0.727991521358 -0.127091944218 +v 0.189619779587 0.645916223526 -0.078319907188 +v 0.190189838409 0.580016136169 -0.076071262360 +v 0.189076185226 0.708024799824 -0.078644990921 +v -0.109309196472 0.521241247654 -0.119572401047 +v -0.019951820374 0.542360663414 -0.139999091625 +v -0.107759237289 0.462610036135 -0.125670790672 +v -0.029715299606 0.473200440407 -0.152146577835 +v 0.068043947220 0.475595116615 -0.137133598328 +v 0.075683832169 0.537864387035 -0.132634162903 +v 0.160769462585 0.526261806488 -0.115079045296 +v 0.163467884064 0.450367748737 -0.135400056839 +v 0.221496105194 0.555388748646 -0.030082941055 +v 0.230763673782 0.473996579647 -0.045731902122 +v -0.064914464951 0.532697319984 -0.129568278790 +v -0.083212852478 0.454447656870 -0.137265324593 +v 0.015990495682 0.486549288034 -0.145901143551 +v 0.027146339417 0.544277787209 -0.140076875687 +v 0.121834754944 0.530655384064 -0.126233458519 +v 0.121745109558 0.460826694965 -0.136413335800 +v 0.196135759354 0.507262945175 -0.088767468929 +v 0.203240156174 0.436599731445 -0.122523009777 +v 0.234281539917 0.431487858295 -0.096786618233 +v -0.090369224548 0.714081227779 -0.101824402809 +v -0.097647190094 0.660447895527 -0.114232182503 +v -0.108165264130 0.595181941986 -0.117026686668 +v 0.217889308929 0.634391546249 -0.045080006123 +v 0.200847625732 0.698190927505 -0.056285917759 +v -0.110817670822 0.521583199501 -0.122230708599 +v -0.109757661819 0.463707029819 -0.127314388752 +v -0.029812097549 0.473399698734 -0.154148936272 +v 0.068494558334 0.476215690374 -0.139647960663 +v 0.164371013641 0.449653983116 -0.137532711029 +v 0.229068279266 0.556188762188 -0.032200336456 +v 0.238276958466 0.475655049086 -0.049598276615 +v -0.083764553070 0.453088641167 -0.140538215637 +v 0.016265869141 0.486640363932 -0.148057878017 +v 0.122293949127 0.461069822311 -0.137957692146 +v 0.204746484756 0.437017977238 -0.123723983765 +v 0.236302852631 0.434788256884 -0.099483311176 +# 5612 vertices + +vn 0.884146511555 0.288732856512 -0.367312192917 +vn 0.957053661346 0.289909809828 -0.000769271341 +vn 0.999996423721 0.002676663222 -0.000000290167 +vn 0.999996423721 0.002676663222 -0.000000290167 +vn 0.923878908157 0.001448502531 -0.382682144642 +vn 0.884146511555 0.288732856512 -0.367312192917 +vn 0.676519215107 0.287345170975 -0.678052008152 +vn 0.884146511555 0.288732856512 -0.367312192917 +vn 0.923878908157 0.001448502531 -0.382682144642 +vn 0.923878908157 0.001448502531 -0.382682144642 +vn 0.707109510899 -0.000000117219 -0.707104086876 +vn 0.676519215107 0.287345170975 -0.678052008152 +vn 0.365780502558 0.285957038403 -0.885682344437 +vn 0.676519215107 0.287345170975 -0.678052008152 +vn 0.707109510899 -0.000000117219 -0.707104086876 +vn 0.707109510899 -0.000000117219 -0.707104086876 +vn 0.382688552141 -0.001448765281 -0.923876285553 +vn 0.365780502558 0.285957038403 -0.885682344437 +vn -0.000762594282 0.284779965878 -0.958592593670 +vn 0.365780502558 0.285957038403 -0.885682344437 +vn 0.382688552141 -0.001448765281 -0.923876285553 +vn 0.382688552141 -0.001448765281 -0.923876285553 +vn 0.000007046216 -0.002676850883 -0.999996423721 +vn -0.000762594282 0.284779965878 -0.958592593670 +vn -0.367305964231 0.283993542194 -0.885682761669 +vn -0.000762594282 0.284779965878 -0.958592593670 +vn 0.000007046216 -0.002676850883 -0.999996423721 +vn 0.000007046216 -0.002676850883 -0.999996423721 +vn -0.382675558329 -0.003497409867 -0.923876166344 +vn -0.367305964231 0.283993542194 -0.885682761669 +vn -0.678074896336 0.283721566200 -0.678023934364 +vn -0.367305964231 0.283993542194 -0.885682761669 +vn -0.382675558329 -0.003497409867 -0.923876166344 +vn -0.382675558329 -0.003497409867 -0.923876166344 +vn -0.707099020481 -0.003785590874 -0.707104384899 +vn -0.678074896336 0.283721566200 -0.678023934364 +vn -0.887559294701 0.277858316898 -0.367468625307 +vn -0.678074896336 0.283721566200 -0.678023934364 +vn -0.707099020481 -0.003785590874 -0.707104384899 +vn -0.707099020481 -0.003785590874 -0.707104384899 +vn -0.923873543739 -0.003497653874 -0.382681846619 +vn -0.887559294701 0.277858316898 -0.367468625307 +vn -0.966829180717 0.255422860384 0.000686888874 +vn -0.887559294701 0.277858316898 -0.367468625307 +vn -0.923873543739 -0.003497653874 -0.382681846619 +vn -0.923873543739 -0.003497653874 -0.382681846619 +vn -0.999996423721 -0.002677109092 -0.000000101558 +vn -0.966829180717 0.255422860384 0.000686888874 +vn -0.887661576271 0.281107932329 0.364739954472 +vn -0.966829180717 0.255422860384 0.000686888874 +vn -0.999996423721 -0.002677109092 -0.000000101558 +vn -0.999996423721 -0.002677109092 -0.000000101558 +vn -0.923879206181 -0.001448904164 0.382681488991 +vn -0.887661576271 0.281107932329 0.364739954472 +vn -0.678293824196 0.287600427866 0.676168203354 +vn -0.887661576271 0.281107932329 0.364739954472 +vn -0.923879206181 -0.001448904164 0.382681488991 +vn -0.923879206181 -0.001448904164 0.382681488991 +vn -0.707109510899 -0.000000233324 0.707104027271 +vn -0.678293824196 0.287600427866 0.676168203354 +vn -0.367318838835 0.288734763861 0.884143173695 +vn -0.678293824196 0.287600427866 0.676168203354 +vn -0.707109510899 -0.000000233324 0.707104027271 +vn -0.707109510899 -0.000000233324 0.707104027271 +vn -0.382688343525 0.001448100782 0.923876345158 +vn -0.367318838835 0.288734763861 0.884143173695 +vn -0.000775693450 0.289909631014 0.957053720951 +vn -0.367318838835 0.288734763861 0.884143173695 +vn -0.382688343525 0.001448100782 0.923876345158 +vn -0.382688343525 0.001448100782 0.923876345158 +vn -0.000006930147 0.002676741453 0.999996423721 +vn -0.000775693450 0.289909631014 0.957053720951 +vn 0.365767657757 0.290692329407 0.884144783020 +vn -0.000775693450 0.289909631014 0.957053720951 +vn -0.000006930147 0.002676741453 0.999996423721 +vn -0.000006930147 0.002676741453 0.999996423721 +vn 0.382675796747 0.003497589612 0.923876047134 +vn 0.365767657757 0.290692329407 0.884144783020 +vn 0.676509499550 0.290970236063 0.676514029503 +vn 0.365767657757 0.290692329407 0.884144783020 +vn 0.382675796747 0.003497589612 0.923876047134 +vn 0.382675796747 0.003497589612 0.923876047134 +vn 0.707099556923 0.003785443027 0.707103908062 +vn 0.676509499550 0.290970236063 0.676514029503 +vn 0.884141802788 0.290693789721 0.365773707628 +vn 0.676509499550 0.290970236063 0.676514029503 +vn 0.707099556923 0.003785443027 0.707103908062 +vn 0.707099556923 0.003785443027 0.707103908062 +vn 0.923873484135 0.003497370984 0.382681995630 +vn 0.884141802788 0.290693789721 0.365773707628 +vn 0.957053661346 0.289909809828 -0.000769271341 +vn 0.884141802788 0.290693789721 0.365773707628 +vn 0.923873484135 0.003497370984 0.382681995630 +vn 0.923873484135 0.003497370984 0.382681995630 +vn 0.999996423721 0.002676663222 -0.000000290167 +vn 0.957053661346 0.289909809828 -0.000769271341 +vn 0.505654692650 0.862732887268 -0.002306047129 +vn 0.466990172863 0.862108767033 -0.196694195271 +vn -0.387655943632 0.908313095570 0.157131060958 +vn -0.387655943632 0.908313095570 0.157131060958 +vn -0.419391274452 0.907802283764 -0.002433230868 +vn 0.505654692650 0.862732887268 -0.002306047129 +vn 0.466990172863 0.862108767033 -0.196694195271 +vn 0.356879383326 0.861372649670 -0.361488968134 +vn -0.297270774841 0.908917307854 0.292402744293 +vn -0.297270774841 0.908917307854 0.292402744293 +vn -0.387655943632 0.908313095570 0.157131060958 +vn 0.466990172863 0.862108767033 -0.196694195271 +vn 0.356879383326 0.861372649670 -0.361488968134 +vn 0.192085474730 0.860636472702 -0.471601516008 +vn -0.161999627948 0.909521639347 0.382787853479 +vn -0.161999627948 0.909521639347 0.382787853479 +vn -0.297270774841 0.908917307854 0.292402744293 +vn 0.356879383326 0.861372649670 -0.361488968134 +vn 0.192085474730 0.860636472702 -0.471601516008 +vn -0.002301780041 0.860012233257 -0.510268211365 +vn -0.002435945906 0.910033643246 0.414527237415 +vn -0.002435945906 0.910033643246 0.414527237415 +vn -0.161999627948 0.909521639347 0.382787853479 +vn 0.192085474730 0.860636472702 -0.471601516008 +vn -0.002301780041 0.860012233257 -0.510268211365 +vn -0.196692228317 0.859594523907 -0.471603065729 +vn 0.157127469778 0.910376429558 0.382786720991 +vn 0.157127469778 0.910376429558 0.382786720991 +vn -0.002435945906 0.910033643246 0.414527237415 +vn -0.002301780041 0.860012233257 -0.510268211365 +vn -0.196692228317 0.859594523907 -0.471603065729 +vn -0.361486196518 0.859449326992 -0.361489385366 +vn 0.292393177748 0.910480380058 0.292458146811 +vn 0.292393177748 0.910480380058 0.292458146811 +vn 0.157127469778 0.910376429558 0.382786720991 +vn -0.196692228317 0.859594523907 -0.471603065729 +vn -0.361486196518 0.859449326992 -0.361489385366 +vn -0.477124124765 0.856146216393 -0.198409363627 +vn 0.383436083794 0.909999251366 0.157727986574 +vn 0.383436083794 0.909999251366 0.157727986574 +vn 0.292393177748 0.910480380058 0.292458146811 +vn -0.361486196518 0.859449326992 -0.361489385366 +vn -0.477124124765 0.856146216393 -0.198409363627 +vn -0.537731587887 0.843116044998 -0.000231951766 +vn 0.419054031372 0.907957196236 -0.002726748353 +vn 0.419054031372 0.907957196236 -0.002726748353 +vn 0.383436083794 0.909999251366 0.157727986574 +vn -0.477124124765 0.856146216393 -0.198409363627 +vn -0.537731587887 0.843116044998 -0.000231951766 +vn -0.478781968355 0.856518745422 0.192726433277 +vn 0.383312255144 0.909254193306 -0.162260696292 +vn 0.383312255144 0.909254193306 -0.162260696292 +vn 0.419054031372 0.907957196236 -0.002726748353 +vn -0.537731587887 0.843116044998 -0.000231951766 +vn -0.478781968355 0.856518745422 0.192726433277 +vn -0.362025827169 0.861238956451 0.356657683849 +vn 0.292405992746 0.908916473389 -0.297270208597 +vn 0.292405992746 0.908916473389 -0.297270208597 +vn 0.383312255144 0.909254193306 -0.162260696292 +vn -0.478781968355 0.856518745422 0.192726433277 +vn -0.362025827169 0.861238956451 0.356657683849 +vn -0.196696266532 0.862110078335 0.466986924410 +vn 0.157133415341 0.908313214779 -0.387654781342 +vn 0.157133415341 0.908313214779 -0.387654781342 +vn 0.292405992746 0.908916473389 -0.297270208597 +vn -0.362025827169 0.861238956451 0.356657683849 +vn -0.196696266532 0.862110078335 0.466986924410 +vn -0.002309706295 0.862733006477 0.505654513836 +vn -0.002430373104 0.907801330090 -0.419393360615 +vn -0.002430373104 0.907801330090 -0.419393360615 +vn 0.157133415341 0.908313214779 -0.387654781342 +vn -0.196696266532 0.862110078335 0.466986924410 +vn -0.002309706295 0.862733006477 0.505654513836 +vn 0.192080840468 0.863147914410 0.466991037130 +vn -0.161994606256 0.907458484173 -0.387655526400 +vn -0.161994606256 0.907458484173 -0.387655526400 +vn -0.002430373104 0.907801330090 -0.419393360615 +vn -0.002309706295 0.862733006477 0.505654513836 +vn 0.192080840468 0.863147914410 0.466991037130 +vn 0.356875717640 0.863294601440 0.356878399849 +vn -0.297265231609 0.907339751720 -0.297267436981 +vn -0.297265231609 0.907339751720 -0.297267436981 +vn -0.161994606256 0.907458484173 -0.387655526400 +vn 0.192080840468 0.863147914410 0.466991037130 +vn 0.356875717640 0.863294601440 0.356878399849 +vn 0.466988563538 0.863148868084 0.192082583904 +vn -0.387655198574 0.907458126545 -0.161997377872 +vn -0.387655198574 0.907458126545 -0.161997377872 +vn -0.297265231609 0.907339751720 -0.297267436981 +vn 0.356875717640 0.863294601440 0.356878399849 +vn 0.466988563538 0.863148868084 0.192082583904 +vn 0.505654692650 0.862732887268 -0.002306047129 +vn -0.419391274452 0.907802283764 -0.002433230868 +vn -0.419391274452 0.907802283764 -0.002433230868 +vn -0.387655198574 0.907458126545 -0.161997377872 +vn 0.466988563538 0.863148868084 0.192082583904 +vn -0.923878908157 -0.001449008239 0.382682144642 +vn -0.999996423721 -0.002678310033 0.000000691564 +vn -0.952085435390 0.305831164122 -0.000825389929 +vn -0.952085435390 0.305831164122 -0.000825389929 +vn -0.879678249359 0.306997478008 0.363206148148 +vn -0.923878908157 -0.001449008239 0.382682144642 +vn -0.707109570503 0.000000921165 0.707103967667 +vn -0.923878908157 -0.001449008239 0.382682144642 +vn -0.879678249359 0.306997478008 0.363206148148 +vn -0.879678249359 0.306997478008 0.363206148148 +vn -0.673473477364 0.308375716209 0.671816885471 +vn -0.707109570503 0.000000921165 0.707103967667 +vn -0.382688790560 0.001448393799 0.923876166344 +vn -0.707109570503 0.000000921165 0.707103967667 +vn -0.673473477364 0.308375716209 0.671816885471 +vn -0.673473477364 0.308375716209 0.671816885471 +vn -0.364863395691 0.309753358364 0.878024816513 +vn -0.382688790560 0.001448393799 0.923876166344 +vn -0.000007515317 0.002677260898 0.999996423721 +vn -0.382688790560 0.001448393799 0.923876166344 +vn -0.364863395691 0.309753358364 0.878024816513 +vn -0.364863395691 0.309753358364 0.878024816513 +vn -0.000832362915 0.310922086239 0.950435042381 +vn -0.000007515317 0.002677260898 0.999996423721 +vn 0.382675856352 0.003497111378 0.923876047134 +vn -0.000007515317 0.002677260898 0.999996423721 +vn -0.000832362915 0.310922086239 0.950435042381 +vn -0.000832362915 0.310922086239 0.950435042381 +vn 0.363199502230 0.311703413725 0.878024518490 +vn 0.382675856352 0.003497111378 0.923876047134 +vn 0.707099318504 0.003786612069 0.707104086876 +vn 0.382675856352 0.003497111378 0.923876047134 +vn 0.363199502230 0.311703413725 0.878024518490 +vn 0.363199502230 0.311703413725 0.878024518490 +vn 0.671762645245 0.312008947134 0.671852231026 +vn 0.707099318504 0.003786612069 0.707104086876 +vn 0.923873662949 0.003498079954 0.382681578398 +vn 0.707099318504 0.003786612069 0.707104086876 +vn 0.671762645245 0.312008947134 0.671852231026 +vn 0.671762645245 0.312008947134 0.671852231026 +vn 0.878018319607 0.311181575060 0.363661736250 +vn 0.923873662949 0.003498079954 0.382681578398 +vn 0.999996423721 0.002677112818 0.000000715744 +vn 0.923873662949 0.003498079954 0.382681578398 +vn 0.878018319607 0.311181575060 0.363661736250 +vn 0.878018319607 0.311181575060 0.363661736250 +vn 0.952386975288 0.304889559746 -0.001184566994 +vn 0.999996423721 0.002677112818 0.000000715744 +vn 0.923879086971 0.001448885887 -0.382681787014 +vn 0.999996423721 0.002677112818 0.000000715744 +vn 0.952386975288 0.304889559746 -0.001184566994 +vn 0.952386975288 0.304889559746 -0.001184566994 +vn 0.878229558468 0.308965355158 -0.365038722754 +vn 0.923879086971 0.001448885887 -0.382681787014 +vn 0.707109153271 0.000000960799 -0.707104384899 +vn 0.923879086971 0.001448885887 -0.382681787014 +vn 0.878229558468 0.308965355158 -0.365038722754 +vn 0.878229558468 0.308965355158 -0.365038722754 +vn 0.671819388866 0.308373540640 -0.673471987247 +vn 0.707109153271 0.000000960799 -0.707104384899 +vn 0.382688552141 -0.001448108349 -0.923876285553 +vn 0.707109153271 0.000000960799 -0.707104384899 +vn 0.671819388866 0.308373540640 -0.673471987247 +vn 0.671819388866 0.308373540640 -0.673471987247 +vn 0.363212913275 0.306997478008 -0.879675447941 +vn 0.382688552141 -0.001448108349 -0.923876285553 +vn 0.000006867277 -0.002676919103 -0.999996423721 +vn 0.382688552141 -0.001448108349 -0.923876285553 +vn 0.363212913275 0.306997478008 -0.879675447941 +vn 0.363212913275 0.306997478008 -0.879675447941 +vn -0.000818260538 0.305829584599 -0.952085912228 +vn 0.000006867277 -0.002676919103 -0.999996423721 +vn -0.382675290108 -0.003497047350 -0.923876285553 +vn 0.000006867277 -0.002676919103 -0.999996423721 +vn -0.000818260538 0.305829584599 -0.952085912228 +vn -0.000818260538 0.305829584599 -0.952085912228 +vn -0.364851683378 0.305047988892 -0.879675507545 +vn -0.382675290108 -0.003497047350 -0.923876285553 +vn -0.707099556923 -0.003786611836 -0.707103848457 +vn -0.382675290108 -0.003497047350 -0.923876285553 +vn -0.364851683378 0.305047988892 -0.879675507545 +vn -0.364851683378 0.305047988892 -0.879675507545 +vn -0.673463225365 0.304775089025 -0.673468232155 +vn -0.707099556923 -0.003786611836 -0.707103848457 +vn -0.923873543739 -0.003497794271 -0.382681936026 +vn -0.707099556923 -0.003786611836 -0.707103848457 +vn -0.673463225365 0.304775089025 -0.673468232155 +vn -0.673463225365 0.304775089025 -0.673468232155 +vn -0.879673719406 0.305046916008 -0.364856868982 +vn -0.923873543739 -0.003497794271 -0.382681936026 +vn -0.999996423721 -0.002678310033 0.000000691564 +vn -0.923873543739 -0.003497794271 -0.382681936026 +vn -0.879673719406 0.305046916008 -0.364856868982 +vn -0.879673719406 0.305046916008 -0.364856868982 +vn -0.952085435390 0.305831164122 -0.000825389929 +vn -0.999996423721 -0.002678310033 0.000000691564 +vn -0.419391274452 0.907802283764 -0.002433230868 +vn -0.387655943632 0.908313095570 0.157131060958 +vn -0.879678249359 0.306997478008 0.363206148148 +vn -0.879678249359 0.306997478008 0.363206148148 +vn -0.952085435390 0.305831164122 -0.000825389929 +vn -0.419391274452 0.907802283764 -0.002433230868 +vn 0.466990172863 0.862108767033 -0.196694195271 +vn 0.505654692650 0.862732887268 -0.002306047129 +vn 0.957053661346 0.289909809828 -0.000769271341 +vn 0.957053661346 0.289909809828 -0.000769271341 +vn 0.884146511555 0.288732856512 -0.367312192917 +vn 0.466990172863 0.862108767033 -0.196694195271 +vn -0.387655943632 0.908313095570 0.157131060958 +vn -0.297270774841 0.908917307854 0.292402744293 +vn -0.673473477364 0.308375716209 0.671816885471 +vn -0.673473477364 0.308375716209 0.671816885471 +vn -0.879678249359 0.306997478008 0.363206148148 +vn -0.387655943632 0.908313095570 0.157131060958 +vn 0.356879383326 0.861372649670 -0.361488968134 +vn 0.466990172863 0.862108767033 -0.196694195271 +vn 0.884146511555 0.288732856512 -0.367312192917 +vn 0.884146511555 0.288732856512 -0.367312192917 +vn 0.676519215107 0.287345170975 -0.678052008152 +vn 0.356879383326 0.861372649670 -0.361488968134 +vn -0.297270774841 0.908917307854 0.292402744293 +vn -0.161999627948 0.909521639347 0.382787853479 +vn -0.364863395691 0.309753358364 0.878024816513 +vn -0.364863395691 0.309753358364 0.878024816513 +vn -0.673473477364 0.308375716209 0.671816885471 +vn -0.297270774841 0.908917307854 0.292402744293 +vn 0.192085474730 0.860636472702 -0.471601516008 +vn 0.356879383326 0.861372649670 -0.361488968134 +vn 0.676519215107 0.287345170975 -0.678052008152 +vn 0.676519215107 0.287345170975 -0.678052008152 +vn 0.365780502558 0.285957038403 -0.885682344437 +vn 0.192085474730 0.860636472702 -0.471601516008 +vn -0.161999627948 0.909521639347 0.382787853479 +vn -0.002435945906 0.910033643246 0.414527237415 +vn -0.000832362915 0.310922086239 0.950435042381 +vn -0.000832362915 0.310922086239 0.950435042381 +vn -0.364863395691 0.309753358364 0.878024816513 +vn -0.161999627948 0.909521639347 0.382787853479 +vn -0.002301780041 0.860012233257 -0.510268211365 +vn 0.192085474730 0.860636472702 -0.471601516008 +vn 0.365780502558 0.285957038403 -0.885682344437 +vn 0.365780502558 0.285957038403 -0.885682344437 +vn -0.000762594282 0.284779965878 -0.958592593670 +vn -0.002301780041 0.860012233257 -0.510268211365 +vn -0.002435945906 0.910033643246 0.414527237415 +vn 0.157127469778 0.910376429558 0.382786720991 +vn 0.363199502230 0.311703413725 0.878024518490 +vn 0.363199502230 0.311703413725 0.878024518490 +vn -0.000832362915 0.310922086239 0.950435042381 +vn -0.002435945906 0.910033643246 0.414527237415 +vn -0.196692228317 0.859594523907 -0.471603065729 +vn -0.002301780041 0.860012233257 -0.510268211365 +vn -0.000762594282 0.284779965878 -0.958592593670 +vn -0.000762594282 0.284779965878 -0.958592593670 +vn -0.367305964231 0.283993542194 -0.885682761669 +vn -0.196692228317 0.859594523907 -0.471603065729 +vn 0.157127469778 0.910376429558 0.382786720991 +vn 0.292393177748 0.910480380058 0.292458146811 +vn 0.671762645245 0.312008947134 0.671852231026 +vn 0.671762645245 0.312008947134 0.671852231026 +vn 0.363199502230 0.311703413725 0.878024518490 +vn 0.157127469778 0.910376429558 0.382786720991 +vn -0.361486196518 0.859449326992 -0.361489385366 +vn -0.196692228317 0.859594523907 -0.471603065729 +vn -0.367305964231 0.283993542194 -0.885682761669 +vn -0.367305964231 0.283993542194 -0.885682761669 +vn -0.678074896336 0.283721566200 -0.678023934364 +vn -0.361486196518 0.859449326992 -0.361489385366 +vn 0.292393177748 0.910480380058 0.292458146811 +vn 0.383436083794 0.909999251366 0.157727986574 +vn 0.878018319607 0.311181575060 0.363661736250 +vn 0.878018319607 0.311181575060 0.363661736250 +vn 0.671762645245 0.312008947134 0.671852231026 +vn 0.292393177748 0.910480380058 0.292458146811 +vn -0.477124124765 0.856146216393 -0.198409363627 +vn -0.361486196518 0.859449326992 -0.361489385366 +vn -0.678074896336 0.283721566200 -0.678023934364 +vn -0.678074896336 0.283721566200 -0.678023934364 +vn -0.887559294701 0.277858316898 -0.367468625307 +vn -0.477124124765 0.856146216393 -0.198409363627 +vn 0.383436083794 0.909999251366 0.157727986574 +vn 0.419054031372 0.907957196236 -0.002726748353 +vn 0.952386975288 0.304889559746 -0.001184566994 +vn 0.952386975288 0.304889559746 -0.001184566994 +vn 0.878018319607 0.311181575060 0.363661736250 +vn 0.383436083794 0.909999251366 0.157727986574 +vn -0.537731587887 0.843116044998 -0.000231951766 +vn -0.477124124765 0.856146216393 -0.198409363627 +vn -0.887559294701 0.277858316898 -0.367468625307 +vn -0.887559294701 0.277858316898 -0.367468625307 +vn -0.966829180717 0.255422860384 0.000686888874 +vn -0.537731587887 0.843116044998 -0.000231951766 +vn 0.419054031372 0.907957196236 -0.002726748353 +vn 0.383312255144 0.909254193306 -0.162260696292 +vn 0.878229558468 0.308965355158 -0.365038722754 +vn 0.878229558468 0.308965355158 -0.365038722754 +vn 0.952386975288 0.304889559746 -0.001184566994 +vn 0.419054031372 0.907957196236 -0.002726748353 +vn -0.478781968355 0.856518745422 0.192726433277 +vn -0.537731587887 0.843116044998 -0.000231951766 +vn -0.966829180717 0.255422860384 0.000686888874 +vn -0.966829180717 0.255422860384 0.000686888874 +vn -0.887661576271 0.281107932329 0.364739954472 +vn -0.478781968355 0.856518745422 0.192726433277 +vn 0.383312255144 0.909254193306 -0.162260696292 +vn 0.292405992746 0.908916473389 -0.297270208597 +vn 0.671819388866 0.308373540640 -0.673471987247 +vn 0.671819388866 0.308373540640 -0.673471987247 +vn 0.878229558468 0.308965355158 -0.365038722754 +vn 0.383312255144 0.909254193306 -0.162260696292 +vn -0.362025827169 0.861238956451 0.356657683849 +vn -0.478781968355 0.856518745422 0.192726433277 +vn -0.887661576271 0.281107932329 0.364739954472 +vn -0.887661576271 0.281107932329 0.364739954472 +vn -0.678293824196 0.287600427866 0.676168203354 +vn -0.362025827169 0.861238956451 0.356657683849 +vn 0.292405992746 0.908916473389 -0.297270208597 +vn 0.157133415341 0.908313214779 -0.387654781342 +vn 0.363212913275 0.306997478008 -0.879675447941 +vn 0.363212913275 0.306997478008 -0.879675447941 +vn 0.671819388866 0.308373540640 -0.673471987247 +vn 0.292405992746 0.908916473389 -0.297270208597 +vn -0.196696266532 0.862110078335 0.466986924410 +vn -0.362025827169 0.861238956451 0.356657683849 +vn -0.678293824196 0.287600427866 0.676168203354 +vn -0.678293824196 0.287600427866 0.676168203354 +vn -0.367318838835 0.288734763861 0.884143173695 +vn -0.196696266532 0.862110078335 0.466986924410 +vn 0.157133415341 0.908313214779 -0.387654781342 +vn -0.002430373104 0.907801330090 -0.419393360615 +vn -0.000818260538 0.305829584599 -0.952085912228 +vn -0.000818260538 0.305829584599 -0.952085912228 +vn 0.363212913275 0.306997478008 -0.879675447941 +vn 0.157133415341 0.908313214779 -0.387654781342 +vn -0.002309706295 0.862733006477 0.505654513836 +vn -0.196696266532 0.862110078335 0.466986924410 +vn -0.367318838835 0.288734763861 0.884143173695 +vn -0.367318838835 0.288734763861 0.884143173695 +vn -0.000775693450 0.289909631014 0.957053720951 +vn -0.002309706295 0.862733006477 0.505654513836 +vn -0.002430373104 0.907801330090 -0.419393360615 +vn -0.161994606256 0.907458484173 -0.387655526400 +vn -0.364851683378 0.305047988892 -0.879675507545 +vn -0.364851683378 0.305047988892 -0.879675507545 +vn -0.000818260538 0.305829584599 -0.952085912228 +vn -0.002430373104 0.907801330090 -0.419393360615 +vn 0.192080840468 0.863147914410 0.466991037130 +vn -0.002309706295 0.862733006477 0.505654513836 +vn -0.000775693450 0.289909631014 0.957053720951 +vn -0.000775693450 0.289909631014 0.957053720951 +vn 0.365767657757 0.290692329407 0.884144783020 +vn 0.192080840468 0.863147914410 0.466991037130 +vn -0.161994606256 0.907458484173 -0.387655526400 +vn -0.297265231609 0.907339751720 -0.297267436981 +vn -0.673463225365 0.304775089025 -0.673468232155 +vn -0.673463225365 0.304775089025 -0.673468232155 +vn -0.364851683378 0.305047988892 -0.879675507545 +vn -0.161994606256 0.907458484173 -0.387655526400 +vn 0.356875717640 0.863294601440 0.356878399849 +vn 0.192080840468 0.863147914410 0.466991037130 +vn 0.365767657757 0.290692329407 0.884144783020 +vn 0.365767657757 0.290692329407 0.884144783020 +vn 0.676509499550 0.290970236063 0.676514029503 +vn 0.356875717640 0.863294601440 0.356878399849 +vn -0.297265231609 0.907339751720 -0.297267436981 +vn -0.387655198574 0.907458126545 -0.161997377872 +vn -0.879673719406 0.305046916008 -0.364856868982 +vn -0.879673719406 0.305046916008 -0.364856868982 +vn -0.673463225365 0.304775089025 -0.673468232155 +vn -0.297265231609 0.907339751720 -0.297267436981 +vn 0.466988563538 0.863148868084 0.192082583904 +vn 0.356875717640 0.863294601440 0.356878399849 +vn 0.676509499550 0.290970236063 0.676514029503 +vn 0.676509499550 0.290970236063 0.676514029503 +vn 0.884141802788 0.290693789721 0.365773707628 +vn 0.466988563538 0.863148868084 0.192082583904 +vn -0.387655198574 0.907458126545 -0.161997377872 +vn -0.419391274452 0.907802283764 -0.002433230868 +vn -0.952085435390 0.305831164122 -0.000825389929 +vn -0.952085435390 0.305831164122 -0.000825389929 +vn -0.879673719406 0.305046916008 -0.364856868982 +vn -0.387655198574 0.907458126545 -0.161997377872 +vn 0.505654692650 0.862732887268 -0.002306047129 +vn 0.466988563538 0.863148868084 0.192082583904 +vn 0.884141802788 0.290693789721 0.365773707628 +vn 0.884141802788 0.290693789721 0.365773707628 +vn 0.957053661346 0.289909809828 -0.000769271341 +vn 0.505654692650 0.862732887268 -0.002306047129 +vn -0.384581267834 0.919836223125 -0.077450178564 +vn -0.375906050205 0.924689590931 0.060363583267 +vn -0.403406798840 0.914197862148 -0.038797721267 +vn -0.403406798840 0.914197862148 -0.038797721267 +vn -0.375906050205 0.924689590931 0.060363583267 +vn -0.183472141623 0.979701697826 0.080762445927 +vn 0.169224634767 0.977109313011 0.128920063376 +vn -0.042956437916 0.949172854424 0.311810165644 +vn 0.332912445068 0.935498297215 0.118373312056 +vn -0.140165805817 0.920780718327 0.364028096199 +vn -0.109717316926 0.925979495049 0.361281156540 +vn -0.086222581565 0.921112477779 0.379628002644 +vn 0.551331520081 0.825408220291 -0.121387138963 +vn 0.502480626106 0.858713567257 -0.100619092584 +vn 0.576594769955 0.816482365131 -0.029916584492 +vn 0.704381942749 0.650786757469 0.283412605524 +vn 0.561204314232 -0.064809150994 0.825136005878 +vn 0.047306902707 0.969304382801 0.241269692779 +vn -0.072743989527 0.993828594685 0.083743982017 +vn -0.236780017614 0.949869990349 0.204162240028 +vn 0.058749053627 0.997522294521 0.038701053709 +vn 0.106234900653 0.990496456623 -0.087355382740 +vn -0.021251596510 0.999252557755 0.032289963216 +vn 0.083970263600 0.986458778381 -0.140883311629 +vn -0.160416513681 0.982015252113 0.099561758339 +vn -0.144750267267 0.977827727795 -0.151328608394 +vn -0.278063863516 0.960172414780 -0.027374736965 +vn -0.212906122208 0.964604198933 0.155594840646 +vn -0.183472141623 0.979701697826 0.080762445927 +vn -0.057531148195 0.978615164757 0.197490662336 +vn -0.433224350214 0.852531194687 0.292416185141 +vn -0.208323746920 0.938979506493 0.273712754250 +vn -0.231376439333 0.864601671696 0.446014404297 +vn -0.070133388042 0.997155189514 -0.027619177476 +vn 0.106234900653 0.990496456623 -0.087355382740 +vn -0.144750267267 0.977827727795 -0.151328608394 +vn -0.043550744653 0.799514293671 0.599066138268 +vn 0.190288290381 0.690781593323 0.697575151920 +vn 0.397790223360 0.740713775158 0.541392683983 +vn 0.190288290381 0.690781593323 0.697575151920 +vn 0.052971653640 0.880331635475 0.471391826868 +vn 0.097139805555 0.825904786587 0.555378377438 +vn -0.288402497768 0.898042201996 0.332181036472 +vn -0.182488054037 0.870233118534 0.457594156265 +vn -0.456301867962 0.849555730820 0.264657646418 +vn -0.227070003748 0.845175921917 -0.483856230974 +vn -0.333094507456 0.894973516464 -0.296766668558 +vn -0.138562649488 0.930660605431 -0.338631451130 +vn -0.333094507456 0.894973516464 -0.296766668558 +vn -0.304748833179 0.951287627220 -0.046690292656 +vn -0.138562649488 0.930660605431 -0.338631451130 +vn -0.212906122208 0.964604198933 0.155594840646 +vn -0.057531148195 0.978615164757 0.197490662336 +vn -0.158789232373 0.938167393208 0.307616591454 +vn -0.265035003424 0.962137639523 -0.063620537519 +vn -0.248550355434 0.968081712723 0.032257635146 +vn -0.299751222134 0.938948035240 -0.168895721436 +vn -0.265035003424 0.962137639523 -0.063620537519 +vn -0.199486538768 0.979446530342 0.029826447368 +vn -0.248550355434 0.968081712723 0.032257635146 +vn 0.516481220722 0.854483306408 -0.055726669729 +vn 0.647070944309 0.737142920494 0.194729119539 +vn 0.665100693703 0.708603322506 0.235631942749 +vn -0.079861029983 0.974357426167 0.210356533527 +vn -0.132732138038 0.979921698570 0.148780390620 +vn -0.125670656562 0.990344762802 0.058515954763 +vn -0.208323746920 0.938979506493 0.273712754250 +vn 0.058749053627 0.997522294521 0.038701053709 +vn -0.026919174939 0.987045407295 0.158166885376 +vn 0.091195181012 0.875910937786 0.473775774240 +vn 0.129825502634 0.989126026630 0.069101937115 +vn 0.129505842924 0.973472297192 0.188626378775 +vn 0.522200107574 0.730581760406 0.439951479435 +vn 0.561204314232 -0.064809150994 0.825136005878 +vn 0.704381942749 0.650786757469 0.283412605524 +vn -0.288402497768 0.898042201996 0.332181036472 +vn -0.456301867962 0.849555730820 0.264657646418 +vn -0.439923584461 0.807062745094 0.393848896027 +vn 0.551331520081 0.825408220291 -0.121387138963 +vn 0.332912445068 0.935498297215 0.118373312056 +vn 0.502480626106 0.858713567257 -0.100619092584 +vn 0.285025328398 0.782720506191 -0.553271353245 +vn 0.079431578517 0.878160119057 -0.471726000309 +vn 0.347528815269 0.883869111538 -0.313048154116 +vn 0.285025328398 0.782720506191 -0.553271353245 +vn 0.347528815269 0.883869111538 -0.313048154116 +vn 0.376402616501 0.870327353477 -0.317571073771 +vn 0.118587732315 0.931522011757 -0.343807578087 +vn 0.230715706944 0.852206826210 -0.469588965178 +vn 0.266191989183 0.936656773090 -0.227631047368 +vn -0.160416513681 0.982015252113 0.099561758339 +vn -0.070133388042 0.997155189514 -0.027619177476 +vn -0.144750267267 0.977827727795 -0.151328608394 +vn 0.230715706944 0.852206826210 -0.469588965178 +vn 0.376402616501 0.870327353477 -0.317571073771 +vn 0.266191989183 0.936656773090 -0.227631047368 +vn 0.266191989183 0.936656773090 -0.227631047368 +vn 0.490755349398 0.841338574886 -0.226514041424 +vn 0.452575981617 0.878102481365 -0.155277132988 +vn -0.043550744653 0.799514293671 0.599066138268 +vn 0.397790223360 0.740713775158 0.541392683983 +vn 0.165170222521 0.957066774368 0.238205745816 +vn -0.086222581565 0.921112477779 0.379628002644 +vn 0.014983816072 0.979317367077 0.201774612069 +vn 0.017310172319 0.949390113354 0.313621997833 +vn -0.199486538768 0.979446530342 0.029826447368 +vn -0.236780017614 0.949869990349 0.204162240028 +vn -0.072743989527 0.993828594685 0.083743982017 +vn 0.097139805555 0.825904786587 0.555378377438 +vn -0.182488054037 0.870233118534 0.457594156265 +vn -0.288402497768 0.898042201996 0.332181036472 +vn -0.079861029983 0.974357426167 0.210356533527 +vn 0.017310172319 0.949390113354 0.313621997833 +vn -0.132732138038 0.979921698570 0.148780390620 +vn -0.236780017614 0.949869990349 0.204162240028 +vn 0.005805051886 0.998719394207 0.050258178264 +vn 0.058749053627 0.997522294521 0.038701053709 +vn -0.138562649488 0.930660605431 -0.338631451130 +vn 0.079431578517 0.878160119057 -0.471726000309 +vn 0.105120658875 0.848330736160 -0.518926382065 +vn 0.129825502634 0.989126026630 0.069101937115 +vn 0.106234900653 0.990496456623 -0.087355382740 +vn -0.070133388042 0.997155189514 -0.027619177476 +vn 0.058749053627 0.997522294521 0.038701053709 +vn 0.005805051886 0.998719394207 0.050258178264 +vn 0.106234900653 0.990496456623 -0.087355382740 +vn 0.169224634767 0.977109313011 0.128920063376 +vn -0.005251220893 0.929640710354 0.368429929018 +vn -0.042956437916 0.949172854424 0.311810165644 +vn -0.138562649488 0.930660605431 -0.338631451130 +vn -0.081451788545 0.994412124157 0.067157849669 +vn 0.079431578517 0.878160119057 -0.471726000309 +vn 0.285025328398 0.782720506191 -0.553271353245 +vn 0.376402616501 0.870327353477 -0.317571073771 +vn 0.230715706944 0.852206826210 -0.469588965178 +vn -0.289651811123 0.940054774284 0.179996877909 +vn -0.343298017979 0.890991687775 0.297119945288 +vn -0.361099243164 0.921951770782 0.140043884516 +vn -0.072743989527 0.993828594685 0.083743982017 +vn 0.058749053627 0.997522294521 0.038701053709 +vn -0.208323746920 0.938979506493 0.273712754250 +vn -0.125670656562 0.990344762802 0.058515954763 +vn 0.232279226184 0.908129572868 0.348349064589 +vn 0.263052493334 0.964336454868 0.029301045462 +vn -0.439923584461 0.807062745094 0.393848896027 +vn -0.456301867962 0.849555730820 0.264657646418 +vn 0.232279226184 0.908129572868 0.348349064589 +vn 0.079431578517 0.878160119057 -0.471726000309 +vn -0.081451788545 0.994412124157 0.067157849669 +vn 0.098980821669 0.985227704048 -0.139746829867 +vn 0.079431578517 0.878160119057 -0.471726000309 +vn 0.098980821669 0.985227704048 -0.139746829867 +vn 0.347528815269 0.883869111538 -0.313048154116 +vn -0.289651811123 0.940054774284 0.179996877909 +vn -0.127242460847 0.969856739044 0.207815438509 +vn -0.343298017979 0.890991687775 0.297119945288 +vn -0.384581267834 0.919836223125 -0.077450178564 +vn -0.248550355434 0.968081712723 0.032257635146 +vn -0.375906050205 0.924689590931 0.060363583267 +vn 0.106234900653 0.990496456623 -0.087355382740 +vn 0.083970263600 0.986458778381 -0.140883311629 +vn -0.144750267267 0.977827727795 -0.151328608394 +vn -0.278063863516 0.960172414780 -0.027374736965 +vn -0.144750267267 0.977827727795 -0.151328608394 +vn -0.015371610411 0.996984004974 -0.076069392264 +vn -0.005251220893 0.929640710354 0.368429929018 +vn -0.079861029983 0.974357426167 0.210356533527 +vn -0.042956437916 0.949172854424 0.311810165644 +vn -0.079861029983 0.974357426167 0.210356533527 +vn -0.125670656562 0.990344762802 0.058515954763 +vn 0.263052493334 0.964336454868 0.029301045462 +vn -0.144750267267 0.977827727795 -0.151328608394 +vn 0.083970263600 0.986458778381 -0.140883311629 +vn -0.015371610411 0.996984004974 -0.076069392264 +vn 0.207886472344 0.974640905857 0.082815110683 +vn 0.502480626106 0.858713567257 -0.100619092584 +vn 0.332912445068 0.935498297215 0.118373312056 +vn 0.502480626106 0.858713567257 -0.100619092584 +vn 0.516481220722 0.854483306408 -0.055726669729 +vn 0.576594769955 0.816482365131 -0.029916584492 +vn -0.299751222134 0.938948035240 -0.168895721436 +vn -0.248550355434 0.968081712723 0.032257635146 +vn -0.384581267834 0.919836223125 -0.077450178564 +vn -0.209413021803 0.874598622322 -0.437291055918 +vn -0.333094507456 0.894973516464 -0.296766668558 +vn -0.227070003748 0.845175921917 -0.483856230974 +vn -0.042956437916 0.949172854424 0.311810165644 +vn -0.079861029983 0.974357426167 0.210356533527 +vn 0.263052493334 0.964336454868 0.029301045462 +vn 0.502480626106 0.858713567257 -0.100619092584 +vn 0.207886472344 0.974640905857 0.082815110683 +vn 0.412922382355 0.903982520103 -0.110953569412 +vn -0.183472141623 0.979701697826 0.080762445927 +vn 0.042343866080 0.998464703560 0.035709671676 +vn -0.057531148195 0.978615164757 0.197490662336 +vn -0.433224350214 0.852531194687 0.292416185141 +vn -0.316314905882 0.721284568310 0.616192698479 +vn -0.043550744653 0.799514293671 0.599066138268 +vn 0.005805051886 0.998719394207 0.050258178264 +vn -0.021251596510 0.999252557755 0.032289963216 +vn 0.106234900653 0.990496456623 -0.087355382740 +vn -0.410649836063 0.890585064888 0.195512071252 +vn -0.021251596510 0.999252557755 0.032289963216 +vn 0.005805051886 0.998719394207 0.050258178264 +vn 0.263052493334 0.964336454868 0.029301045462 +vn 0.232279226184 0.908129572868 0.348349064589 +vn 0.516481220722 0.854483306408 -0.055726669729 +vn 0.502480626106 0.858713567257 -0.100619092584 +vn 0.412922382355 0.903982520103 -0.110953569412 +vn 0.516481220722 0.854483306408 -0.055726669729 +vn -0.433224350214 0.852531194687 0.292416185141 +vn -0.043550744653 0.799514293671 0.599066138268 +vn -0.183472141623 0.979701697826 0.080762445927 +vn -0.361099243164 0.921951770782 0.140043884516 +vn -0.343298017979 0.890991687775 0.297119945288 +vn -0.433224350214 0.852531194687 0.292416185141 +vn 0.232279226184 0.908129572868 0.348349064589 +vn 0.647070944309 0.737142920494 0.194729119539 +vn 0.516481220722 0.854483306408 -0.055726669729 +vn 0.232279226184 0.908129572868 0.348349064589 +vn -0.111254252493 0.972327888012 0.205428630114 +vn 0.522200107574 0.730581760406 0.439951479435 +vn -0.410649836063 0.890585064888 0.195512071252 +vn 0.005805051886 0.998719394207 0.050258178264 +vn -0.236780017614 0.949869990349 0.204162240028 +vn -0.199486538768 0.979446530342 0.029826447368 +vn -0.410649836063 0.890585064888 0.195512071252 +vn -0.236780017614 0.949869990349 0.204162240028 +vn -0.086222581565 0.921112477779 0.379628002644 +vn -0.109717316926 0.925979495049 0.361281156540 +vn 0.014983816072 0.979317367077 0.201774612069 +vn 0.042343866080 0.998464703560 0.035709671676 +vn 0.165170222521 0.957066774368 0.238205745816 +vn -0.057531148195 0.978615164757 0.197490662336 +vn -0.278063863516 0.960172414780 -0.027374736965 +vn -0.015371610411 0.996984004974 -0.076069392264 +vn -0.111254252493 0.972327888012 0.205428630114 +vn -0.456301867962 0.849555730820 0.264657646418 +vn -0.111254252493 0.972327888012 0.205428630114 +vn 0.232279226184 0.908129572868 0.348349064589 +vn 0.266191989183 0.936656773090 -0.227631047368 +vn 0.376402616501 0.870327353477 -0.317571073771 +vn 0.490755349398 0.841338574886 -0.226514041424 +vn 0.376402616501 0.870327353477 -0.317571073771 +vn 0.434929758310 0.873234093189 -0.219768777490 +vn 0.490755349398 0.841338574886 -0.226514041424 +vn -0.343298017979 0.890991687775 0.297119945288 +vn -0.208323746920 0.938979506493 0.273712754250 +vn -0.433224350214 0.852531194687 0.292416185141 +vn -0.127242460847 0.969856739044 0.207815438509 +vn -0.208323746920 0.938979506493 0.273712754250 +vn -0.343298017979 0.890991687775 0.297119945288 +vn -0.081451788545 0.994412124157 0.067157849669 +vn -0.089727103710 0.922582089901 0.375221759081 +vn 0.098980821669 0.985227704048 -0.139746829867 +vn -0.304748833179 0.951287627220 -0.046690292656 +vn -0.212906122208 0.964604198933 0.155594840646 +vn -0.158789232373 0.938167393208 0.307616591454 +vn -0.111254252493 0.972327888012 0.205428630114 +vn 0.561204314232 -0.064809150994 0.825136005878 +vn 0.522200107574 0.730581760406 0.439951479435 +vn -0.111254252493 0.972327888012 0.205428630114 +vn 0.047306902707 0.969304382801 0.241269692779 +vn 0.561204314232 -0.064809150994 0.825136005878 +vn -0.304748833179 0.951287627220 -0.046690292656 +vn -0.158789232373 0.938167393208 0.307616591454 +vn -0.081451788545 0.994412124157 0.067157849669 +vn -0.158789232373 0.938167393208 0.307616591454 +vn -0.109717316926 0.925979495049 0.361281156540 +vn -0.089727103710 0.922582089901 0.375221759081 +vn -0.299751222134 0.938948035240 -0.168895721436 +vn -0.333094507456 0.894973516464 -0.296766668558 +vn -0.209413021803 0.874598622322 -0.437291055918 +vn -0.160416513681 0.982015252113 0.099561758339 +vn -0.108999080956 0.947661638260 0.300094276667 +vn -0.070133388042 0.997155189514 -0.027619177476 +vn 0.129825502634 0.989126026630 0.069101937115 +vn -0.070133388042 0.997155189514 -0.027619177476 +vn 0.129505842924 0.973472297192 0.188626378775 +vn 0.516481220722 0.854483306408 -0.055726669729 +vn 0.665100693703 0.708603322506 0.235631942749 +vn 0.576594769955 0.816482365131 -0.029916584492 +vn 0.091195181012 0.875910937786 0.473775774240 +vn 0.052971653640 0.880331635475 0.471391826868 +vn 0.190288290381 0.690781593323 0.697575151920 +vn -0.433224350214 0.852531194687 0.292416185141 +vn -0.231376439333 0.864601671696 0.446014404297 +vn -0.316314905882 0.721284568310 0.616192698479 +vn -0.109717316926 0.925979495049 0.361281156540 +vn -0.140165805817 0.920780718327 0.364028096199 +vn -0.089727103710 0.922582089901 0.375221759081 +vn -0.089727103710 0.922582089901 0.375221759081 +vn -0.140165805817 0.920780718327 0.364028096199 +vn 0.098980821669 0.985227704048 -0.139746829867 +vn -0.333094507456 0.894973516464 -0.296766668558 +vn -0.299751222134 0.938948035240 -0.168895721436 +vn -0.384581267834 0.919836223125 -0.077450178564 +vn -0.384581267834 0.919836223125 -0.077450178564 +vn -0.403406798840 0.914197862148 -0.038797721267 +vn -0.333094507456 0.894973516464 -0.296766668558 +vn -0.229664877057 0.936510980129 0.264955163002 +vn -0.278063863516 0.960172414780 -0.027374736965 +vn -0.456301867962 0.849555730820 0.264657646418 +vn -0.278063863516 0.960172414780 -0.027374736965 +vn -0.111254252493 0.972327888012 0.205428630114 +vn -0.456301867962 0.849555730820 0.264657646418 +vn -0.183472141623 0.979701697826 0.080762445927 +vn -0.043550744653 0.799514293671 0.599066138268 +vn 0.042343866080 0.998464703560 0.035709671676 +vn 0.042343866080 0.998464703560 0.035709671676 +vn -0.043550744653 0.799514293671 0.599066138268 +vn 0.165170222521 0.957066774368 0.238205745816 +vn -0.138562649488 0.930660605431 -0.338631451130 +vn -0.304748833179 0.951287627220 -0.046690292656 +vn -0.081451788545 0.994412124157 0.067157849669 +vn 0.014983816072 0.979317367077 0.201774612069 +vn 0.165170222521 0.957066774368 0.238205745816 +vn 0.017310172319 0.949390113354 0.313621997833 +vn -0.057531148195 0.978615164757 0.197490662336 +vn 0.165170222521 0.957066774368 0.238205745816 +vn 0.014983816072 0.979317367077 0.201774612069 +vn -0.111254252493 0.972327888012 0.205428630114 +vn -0.015371610411 0.996984004974 -0.076069392264 +vn 0.047306902707 0.969304382801 0.241269692779 +vn 0.551331520081 0.825408220291 -0.121387138963 +vn 0.576594769955 0.816482365131 -0.029916584492 +vn 0.452575981617 0.878102481365 -0.155277132988 +vn -0.289651811123 0.940054774284 0.179996877909 +vn -0.361099243164 0.921951770782 0.140043884516 +vn -0.375906050205 0.924689590931 0.060363583267 +vn -0.375906050205 0.924689590931 0.060363583267 +vn -0.248550355434 0.968081712723 0.032257635146 +vn -0.289651811123 0.940054774284 0.179996877909 +vn -0.288402497768 0.898042201996 0.332181036472 +vn -0.439923584461 0.807062745094 0.393848896027 +vn -0.125670656562 0.990344762802 0.058515954763 +vn -0.125670656562 0.990344762802 0.058515954763 +vn -0.439923584461 0.807062745094 0.393848896027 +vn 0.232279226184 0.908129572868 0.348349064589 +vn 0.434929758310 0.873234093189 -0.219768777490 +vn 0.332912445068 0.935498297215 0.118373312056 +vn 0.551331520081 0.825408220291 -0.121387138963 +vn 0.169224634767 0.977109313011 0.128920063376 +vn 0.332912445068 0.935498297215 0.118373312056 +vn 0.434929758310 0.873234093189 -0.219768777490 +vn -0.403406798840 0.914197862148 -0.038797721267 +vn -0.304748833179 0.951287627220 -0.046690292656 +vn -0.333094507456 0.894973516464 -0.296766668558 +vn -0.212906122208 0.964604198933 0.155594840646 +vn -0.403406798840 0.914197862148 -0.038797721267 +vn -0.183472141623 0.979701697826 0.080762445927 +vn 0.165170222521 0.957066774368 0.238205745816 +vn 0.097139805555 0.825904786587 0.555378377438 +vn 0.017310172319 0.949390113354 0.313621997833 +vn 0.017310172319 0.949390113354 0.313621997833 +vn 0.097139805555 0.825904786587 0.555378377438 +vn -0.288402497768 0.898042201996 0.332181036472 +vn 0.522200107574 0.730581760406 0.439951479435 +vn 0.704381942749 0.650786757469 0.283412605524 +vn 0.647070944309 0.737142920494 0.194729119539 +vn 0.098980821669 0.985227704048 -0.139746829867 +vn -0.005251220893 0.929640710354 0.368429929018 +vn 0.169224634767 0.977109313011 0.128920063376 +vn 0.098980821669 0.985227704048 -0.139746829867 +vn 0.169224634767 0.977109313011 0.128920063376 +vn 0.347528815269 0.883869111538 -0.313048154116 +vn 0.232279226184 0.908129572868 0.348349064589 +vn 0.522200107574 0.730581760406 0.439951479435 +vn 0.647070944309 0.737142920494 0.194729119539 +vn -0.057531148195 0.978615164757 0.197490662336 +vn 0.014983816072 0.979317367077 0.201774612069 +vn -0.109717316926 0.925979495049 0.361281156540 +vn -0.158789232373 0.938167393208 0.307616591454 +vn -0.057531148195 0.978615164757 0.197490662336 +vn -0.109717316926 0.925979495049 0.361281156540 +vn -0.199486538768 0.979446530342 0.029826447368 +vn -0.072743989527 0.993828594685 0.083743982017 +vn -0.248550355434 0.968081712723 0.032257635146 +vn -0.072743989527 0.993828594685 0.083743982017 +vn -0.208323746920 0.938979506493 0.273712754250 +vn -0.127242460847 0.969856739044 0.207815438509 +vn -0.182488054037 0.870233118534 0.457594156265 +vn -0.229664877057 0.936510980129 0.264955163002 +vn -0.456301867962 0.849555730820 0.264657646418 +vn 0.105120658875 0.848330736160 -0.518926382065 +vn 0.230715706944 0.852206826210 -0.469588965178 +vn 0.118587732315 0.931522011757 -0.343807578087 +vn 0.347528815269 0.883869111538 -0.313048154116 +vn 0.169224634767 0.977109313011 0.128920063376 +vn 0.434929758310 0.873234093189 -0.219768777490 +vn 0.347528815269 0.883869111538 -0.313048154116 +vn 0.434929758310 0.873234093189 -0.219768777490 +vn 0.376402616501 0.870327353477 -0.317571073771 +vn -0.316314905882 0.721284568310 0.616192698479 +vn -0.231376439333 0.864601671696 0.446014404297 +vn 0.091195181012 0.875910937786 0.473775774240 +vn -0.026919174939 0.987045407295 0.158166885376 +vn 0.129825502634 0.989126026630 0.069101937115 +vn 0.091195181012 0.875910937786 0.473775774240 +vn -0.054100811481 0.828716099262 -0.557048261166 +vn -0.227070003748 0.845175921917 -0.483856230974 +vn -0.138562649488 0.930660605431 -0.338631451130 +vn -0.209413021803 0.874598622322 -0.437291055918 +vn -0.227070003748 0.845175921917 -0.483856230974 +vn -0.054100811481 0.828716099262 -0.557048261166 +vn -0.316314905882 0.721284568310 0.616192698479 +vn 0.190288290381 0.690781593323 0.697575151920 +vn -0.043550744653 0.799514293671 0.599066138268 +vn -0.316314905882 0.721284568310 0.616192698479 +vn 0.091195181012 0.875910937786 0.473775774240 +vn 0.190288290381 0.690781593323 0.697575151920 +vn -0.072743989527 0.993828594685 0.083743982017 +vn -0.127242460847 0.969856739044 0.207815438509 +vn -0.248550355434 0.968081712723 0.032257635146 +vn -0.248550355434 0.968081712723 0.032257635146 +vn -0.127242460847 0.969856739044 0.207815438509 +vn -0.289651811123 0.940054774284 0.179996877909 +vn 0.091195181012 0.875910937786 0.473775774240 +vn 0.129505842924 0.973472297192 0.188626378775 +vn 0.052971653640 0.880331635475 0.471391826868 +vn -0.108999080956 0.947661638260 0.300094276667 +vn 0.129505842924 0.973472297192 0.188626378775 +vn -0.070133388042 0.997155189514 -0.027619177476 +vn -0.086222581565 0.921112477779 0.379628002644 +vn -0.079861029983 0.974357426167 0.210356533527 +vn -0.005251220893 0.929640710354 0.368429929018 +vn -0.086222581565 0.921112477779 0.379628002644 +vn 0.017310172319 0.949390113354 0.313621997833 +vn -0.079861029983 0.974357426167 0.210356533527 +vn -0.304748833179 0.951287627220 -0.046690292656 +vn -0.403406798840 0.914197862148 -0.038797721267 +vn -0.212906122208 0.964604198933 0.155594840646 +vn -0.229664877057 0.936510980129 0.264955163002 +vn -0.160416513681 0.982015252113 0.099561758339 +vn -0.278063863516 0.960172414780 -0.027374736965 +vn -0.160416513681 0.982015252113 0.099561758339 +vn -0.229664877057 0.936510980129 0.264955163002 +vn -0.182488054037 0.870233118534 0.457594156265 +vn 0.412922382355 0.903982520103 -0.110953569412 +vn 0.263052493334 0.964336454868 0.029301045462 +vn 0.516481220722 0.854483306408 -0.055726669729 +vn 0.207886472344 0.974640905857 0.082815110683 +vn 0.263052493334 0.964336454868 0.029301045462 +vn 0.412922382355 0.903982520103 -0.110953569412 +vn 0.052971653640 0.880331635475 0.471391826868 +vn 0.129505842924 0.973472297192 0.188626378775 +vn -0.108999080956 0.947661638260 0.300094276667 +vn 0.052971653640 0.880331635475 0.471391826868 +vn -0.108999080956 0.947661638260 0.300094276667 +vn 0.097139805555 0.825904786587 0.555378377438 +vn -0.132732138038 0.979921698570 0.148780390620 +vn -0.288402497768 0.898042201996 0.332181036472 +vn -0.125670656562 0.990344762802 0.058515954763 +vn 0.017310172319 0.949390113354 0.313621997833 +vn -0.288402497768 0.898042201996 0.332181036472 +vn -0.132732138038 0.979921698570 0.148780390620 +vn 0.129825502634 0.989126026630 0.069101937115 +vn 0.058749053627 0.997522294521 0.038701053709 +vn 0.106234900653 0.990496456623 -0.087355382740 +vn -0.026919174939 0.987045407295 0.158166885376 +vn 0.058749053627 0.997522294521 0.038701053709 +vn 0.129825502634 0.989126026630 0.069101937115 +vn 0.490755349398 0.841338574886 -0.226514041424 +vn 0.551331520081 0.825408220291 -0.121387138963 +vn 0.452575981617 0.878102481365 -0.155277132988 +vn 0.434929758310 0.873234093189 -0.219768777490 +vn 0.551331520081 0.825408220291 -0.121387138963 +vn 0.490755349398 0.841338574886 -0.226514041424 +vn 0.397790223360 0.740713775158 0.541392683983 +vn 0.190288290381 0.690781593323 0.697575151920 +vn 0.097139805555 0.825904786587 0.555378377438 +vn 0.165170222521 0.957066774368 0.238205745816 +vn 0.397790223360 0.740713775158 0.541392683983 +vn 0.097139805555 0.825904786587 0.555378377438 +vn -0.231376439333 0.864601671696 0.446014404297 +vn -0.026919174939 0.987045407295 0.158166885376 +vn 0.091195181012 0.875910937786 0.473775774240 +vn -0.208323746920 0.938979506493 0.273712754250 +vn -0.026919174939 0.987045407295 0.158166885376 +vn -0.231376439333 0.864601671696 0.446014404297 +vn 0.098980821669 0.985227704048 -0.139746829867 +vn -0.140165805817 0.920780718327 0.364028096199 +vn -0.005251220893 0.929640710354 0.368429929018 +vn -0.140165805817 0.920780718327 0.364028096199 +vn -0.086222581565 0.921112477779 0.379628002644 +vn -0.005251220893 0.929640710354 0.368429929018 +vn 0.576594769955 0.816482365131 -0.029916584492 +vn 0.665100693703 0.708603322506 0.235631942749 +vn 0.647070944309 0.737142920494 0.194729119539 +vn 0.647070944309 0.737142920494 0.194729119539 +vn 0.704381942749 0.650786757469 0.283412605524 +vn 0.576594769955 0.816482365131 -0.029916584492 +vn -0.054100811481 0.828716099262 -0.557048261166 +vn -0.138562649488 0.930660605431 -0.338631451130 +vn 0.105120658875 0.848330736160 -0.518926382065 +vn -0.182488054037 0.870233118534 0.457594156265 +vn 0.097139805555 0.825904786587 0.555378377438 +vn -0.108999080956 0.947661638260 0.300094276667 +vn -0.182488054037 0.870233118534 0.457594156265 +vn -0.108999080956 0.947661638260 0.300094276667 +vn -0.160416513681 0.982015252113 0.099561758339 +vn -0.042956437916 0.949172854424 0.311810165644 +vn 0.263052493334 0.964336454868 0.029301045462 +vn 0.207886472344 0.974640905857 0.082815110683 +vn -0.042956437916 0.949172854424 0.311810165644 +vn 0.207886472344 0.974640905857 0.082815110683 +vn 0.332912445068 0.935498297215 0.118373312056 +vn -0.361099243164 0.921951770782 0.140043884516 +vn -0.433224350214 0.852531194687 0.292416185141 +vn -0.183472141623 0.979701697826 0.080762445927 +vn -0.375906050205 0.924689590931 0.060363583267 +vn -0.361099243164 0.921951770782 0.140043884516 +vn -0.183472141623 0.979701697826 0.080762445927 +vn 0.230715706944 0.852206826210 -0.469588965178 +vn 0.105120658875 0.848330736160 -0.518926382065 +vn 0.079431578517 0.878160119057 -0.471726000309 +vn 0.079431578517 0.878160119057 -0.471726000309 +vn 0.285025328398 0.782720506191 -0.553271353245 +vn 0.230715706944 0.852206826210 -0.469588965178 +vn -0.158789232373 0.938167393208 0.307616591454 +vn -0.089727103710 0.922582089901 0.375221759081 +vn -0.081451788545 0.994412124157 0.067157849669 +vn -0.957598209381 -0.281897366047 0.059494148940 +vn -0.857243716717 -0.179066479206 -0.482771545649 +vn -0.770359873772 -0.349873751402 -0.533042252064 +vn -0.770359873772 -0.349873751402 -0.533042252064 +vn -0.866471350193 -0.494451045990 0.068887792528 +vn -0.957598209381 -0.281897366047 0.059494148940 +vn 0.616477489471 -0.097230568528 -0.781346082687 +vn 0.862867891788 -0.238618478179 -0.445556133986 +vn 0.826196610928 -0.378474891186 -0.417319893837 +vn 0.826196610928 -0.378474891186 -0.417319893837 +vn 0.627201139927 -0.266793459654 -0.731737613678 +vn 0.616477489471 -0.097230568528 -0.781346082687 +vn -0.857243716717 -0.179066479206 -0.482771545649 +vn -0.188239112496 -0.195517256856 -0.962465107441 +vn -0.189701020718 -0.520030140877 -0.832815766335 +vn -0.189701020718 -0.520030140877 -0.832815766335 +vn -0.770359873772 -0.349873751402 -0.533042252064 +vn -0.857243716717 -0.179066479206 -0.482771545649 +vn -0.955888688564 -0.287579327822 0.059791229665 +vn -0.957598209381 -0.281897366047 0.059494148940 +vn -0.866471350193 -0.494451045990 0.068887792528 +vn -0.866471350193 -0.494451045990 0.068887792528 +vn -0.871176719666 -0.488596260548 0.048216242343 +vn -0.955888688564 -0.287579327822 0.059791229665 +vn 0.862867891788 -0.238618478179 -0.445556133986 +vn 0.916644573212 -0.249014675617 -0.312657028437 +vn 0.852627336979 -0.427872687578 -0.299919277430 +vn 0.852627336979 -0.427872687578 -0.299919277430 +vn 0.826196610928 -0.378474891186 -0.417319893837 +vn 0.862867891788 -0.238618478179 -0.445556133986 +vn -0.972319781780 -0.213734969497 0.094401150942 +vn -0.770887374878 -0.633049786091 0.070573315024 +vn -0.750959277153 -0.606336772442 0.261564284563 +vn -0.750959277153 -0.606336772442 0.261564284563 +vn -0.906085193157 -0.229097962379 0.355701744556 +vn -0.972319781780 -0.213734969497 0.094401150942 +vn 0.961319506168 -0.138755530119 -0.237932249904 +vn 0.863608837128 -0.437417209148 -0.250691026449 +vn 0.852627336979 -0.427872687578 -0.299919277430 +vn 0.852627336979 -0.427872687578 -0.299919277430 +vn 0.916644573212 -0.249014675617 -0.312657028437 +vn 0.961319506168 -0.138755530119 -0.237932249904 +vn 0.697271823883 -0.023023240268 0.716436982155 +vn 0.030176481232 -0.196037560701 0.980131983757 +vn 0.094348020852 -0.600384652615 0.794126391411 +vn 0.094348020852 -0.600384652615 0.794126391411 +vn 0.653992474079 -0.311724781990 0.689290583134 +vn 0.697271823883 -0.023023240268 0.716436982155 +vn -0.955888688564 -0.287579327822 0.059791229665 +vn -0.871176719666 -0.488596260548 0.048216242343 +vn -0.815200567245 -0.578349769115 -0.030977522954 +vn -0.815200567245 -0.578349769115 -0.030977522954 +vn -0.969217240810 -0.242572203279 -0.042150840163 +vn -0.955888688564 -0.287579327822 0.059791229665 +vn 0.697271823883 -0.023023240268 0.716436982155 +vn 0.653992474079 -0.311724781990 0.689290583134 +vn 0.859460055828 -0.470979452133 0.198763057590 +vn 0.859460055828 -0.470979452133 0.198763057590 +vn 0.971231758595 -0.076657757163 0.225460559130 +vn 0.697271823883 -0.023023240268 0.716436982155 +vn -0.188239112496 -0.195517256856 -0.962465107441 +vn 0.616477489471 -0.097230568528 -0.781346082687 +vn 0.627201139927 -0.266793459654 -0.731737613678 +vn 0.627201139927 -0.266793459654 -0.731737613678 +vn -0.189701020718 -0.520030140877 -0.832815766335 +vn -0.188239112496 -0.195517256856 -0.962465107441 +vn 0.030176481232 -0.196037560701 0.980131983757 +vn -0.642385125160 -0.092330209911 0.760799884796 +vn -0.582415580750 -0.402489781380 0.706253528595 +vn -0.582415580750 -0.402489781380 0.706253528595 +vn 0.094348020852 -0.600384652615 0.794126391411 +vn 0.030176481232 -0.196037560701 0.980131983757 +vn -0.999191582203 -0.010015186854 0.038934446871 +vn -0.888961076736 0.118842542171 -0.442294716835 +vn -0.857243716717 -0.179066479206 -0.482771545649 +vn -0.857243716717 -0.179066479206 -0.482771545649 +vn -0.957598209381 -0.281897366047 0.059494148940 +vn -0.999191582203 -0.010015186854 0.038934446871 +vn 0.577633500099 0.091577179730 -0.811143100262 +vn 0.888148248196 -0.021853355691 -0.459037214518 +vn 0.862867891788 -0.238618478179 -0.445556133986 +vn 0.862867891788 -0.238618478179 -0.445556133986 +vn 0.616477489471 -0.097230568528 -0.781346082687 +vn 0.577633500099 0.091577179730 -0.811143100262 +vn -0.888961076736 0.118842542171 -0.442294716835 +vn -0.191112756729 0.195641577244 -0.961873292923 +vn -0.188239112496 -0.195517256856 -0.962465107441 +vn -0.188239112496 -0.195517256856 -0.962465107441 +vn -0.857243716717 -0.179066479206 -0.482771545649 +vn -0.888961076736 0.118842542171 -0.442294716835 +vn -0.986457169056 -0.011852054857 0.163590267301 +vn -0.999191582203 -0.010015186854 0.038934446871 +vn -0.957598209381 -0.281897366047 0.059494148940 +vn -0.957598209381 -0.281897366047 0.059494148940 +vn -0.955888688564 -0.287579327822 0.059791229665 +vn -0.986457169056 -0.011852054857 0.163590267301 +vn 0.888148248196 -0.021853355691 -0.459037214518 +vn 0.972279310226 0.057422913611 -0.226661652327 +vn 0.916644573212 -0.249014675617 -0.312657028437 +vn 0.916644573212 -0.249014675617 -0.312657028437 +vn 0.862867891788 -0.238618478179 -0.445556133986 +vn 0.888148248196 -0.021853355691 -0.459037214518 +vn -0.871704638004 0.468953579664 0.142174378037 +vn -0.972319781780 -0.213734969497 0.094401150942 +vn -0.906085193157 -0.229097962379 0.355701744556 +vn -0.906085193157 -0.229097962379 0.355701744556 +vn -0.841550469398 0.399582356215 0.363492399454 +vn -0.871704638004 0.468953579664 0.142174378037 +vn 0.972279310226 0.057422913611 -0.226661652327 +vn 0.965529382229 0.233773931861 -0.114467352629 +vn 0.961319506168 -0.138755530119 -0.237932249904 +vn 0.961319506168 -0.138755530119 -0.237932249904 +vn 0.916644573212 -0.249014675617 -0.312657028437 +vn 0.972279310226 0.057422913611 -0.226661652327 +vn 0.586331486702 0.507154703140 0.631671965122 +vn -0.024219894782 0.431608676910 0.901735723019 +vn 0.030176481232 -0.196037560701 0.980131983757 +vn 0.030176481232 -0.196037560701 0.980131983757 +vn 0.697271823883 -0.023023240268 0.716436982155 +vn 0.586331486702 0.507154703140 0.631671965122 +vn -0.957649767399 0.245865628123 0.149856701493 +vn -0.986457169056 -0.011852054857 0.163590267301 +vn -0.955888688564 -0.287579327822 0.059791229665 +vn -0.955888688564 -0.287579327822 0.059791229665 +vn -0.969217240810 -0.242572203279 -0.042150840163 +vn -0.957649767399 0.245865628123 0.149856701493 +vn 0.586331486702 0.507154703140 0.631671965122 +vn 0.697271823883 -0.023023240268 0.716436982155 +vn 0.971231758595 -0.076657757163 0.225460559130 +vn 0.971231758595 -0.076657757163 0.225460559130 +vn 0.788730025291 0.571293294430 0.226999789476 +vn 0.586331486702 0.507154703140 0.631671965122 +vn -0.191112756729 0.195641577244 -0.961873292923 +vn 0.577633500099 0.091577179730 -0.811143100262 +vn 0.616477489471 -0.097230568528 -0.781346082687 +vn 0.616477489471 -0.097230568528 -0.781346082687 +vn -0.188239112496 -0.195517256856 -0.962465107441 +vn -0.191112756729 0.195641577244 -0.961873292923 +vn -0.024219894782 0.431608676910 0.901735723019 +vn -0.580725133419 0.329724341631 0.744338750839 +vn -0.642385125160 -0.092330209911 0.760799884796 +vn -0.642385125160 -0.092330209911 0.760799884796 +vn 0.030176481232 -0.196037560701 0.980131983757 +vn -0.024219894782 0.431608676910 0.901735723019 +vn 0.361748665571 0.813761413097 0.454895913601 +vn -0.037171285599 0.822442770004 0.567632138729 +vn -0.024219894782 0.431608676910 0.901735723019 +vn -0.024219894782 0.431608676910 0.901735723019 +vn 0.586331486702 0.507154703140 0.631671965122 +vn 0.361748665571 0.813761413097 0.454895913601 +vn -0.037171285599 0.822442770004 0.567632138729 +vn -0.372339665890 0.707525014877 0.600642621517 +vn -0.580725133419 0.329724341631 0.744338750839 +vn -0.580725133419 0.329724341631 0.744338750839 +vn -0.024219894782 0.431608676910 0.901735723019 +vn -0.037171285599 0.822442770004 0.567632138729 +vn 0.788730025291 0.571293294430 0.226999789476 +vn 0.419445157051 0.878340363503 0.229311823845 +vn 0.361748665571 0.813761413097 0.454895913601 +vn 0.361748665571 0.813761413097 0.454895913601 +vn 0.586331486702 0.507154703140 0.631671965122 +vn 0.788730025291 0.571293294430 0.226999789476 +vn -0.464551985264 0.831402301788 0.304896056652 +vn -0.546461105347 0.726369321346 0.416854739189 +vn -0.871704638004 0.468953579664 0.142174378037 +vn -0.871704638004 0.468953579664 0.142174378037 +vn -0.841550469398 0.399582356215 0.363492399454 +vn -0.464551985264 0.831402301788 0.304896056652 +vn -0.834776818752 0.152970641851 -0.528911769390 +vn -0.888961076736 0.118842542171 -0.442294716835 +vn -0.999191582203 -0.010015186854 0.038934446871 +vn -0.999191582203 -0.010015186854 0.038934446871 +vn -0.999251008034 0.013329065405 -0.036328140646 +vn -0.834776818752 0.152970641851 -0.528911769390 +vn 0.875802159309 0.071516327560 -0.477342694998 +vn 0.888148248196 -0.021853355691 -0.459037214518 +vn 0.577633500099 0.091577179730 -0.811143100262 +vn 0.577633500099 0.091577179730 -0.811143100262 +vn 0.513145685196 0.198423847556 -0.835050582886 +vn 0.875802159309 0.071516327560 -0.477342694998 +vn -0.163492619991 0.253283262253 -0.953476667404 +vn -0.191112756729 0.195641577244 -0.961873292923 +vn -0.888961076736 0.118842542171 -0.442294716835 +vn -0.888961076736 0.118842542171 -0.442294716835 +vn -0.834776818752 0.152970641851 -0.528911769390 +vn -0.163492619991 0.253283262253 -0.953476667404 +vn -0.999251008034 0.013329065405 -0.036328140646 +vn -0.999191582203 -0.010015186854 0.038934446871 +vn -0.986457169056 -0.011852054857 0.163590267301 +vn -0.986457169056 -0.011852054857 0.163590267301 +vn -0.960119843483 -0.019330935553 0.278919726610 +vn -0.999251008034 0.013329065405 -0.036328140646 +vn 0.997116386890 0.036253526807 -0.066668137908 +vn 0.972279310226 0.057422913611 -0.226661652327 +vn 0.888148248196 -0.021853355691 -0.459037214518 +vn 0.888148248196 -0.021853355691 -0.459037214518 +vn 0.875802159309 0.071516327560 -0.477342694998 +vn 0.997116386890 0.036253526807 -0.066668137908 +vn 0.513145685196 0.198423847556 -0.835050582886 +vn 0.577633500099 0.091577179730 -0.811143100262 +vn -0.191112756729 0.195641577244 -0.961873292923 +vn -0.191112756729 0.195641577244 -0.961873292923 +vn -0.163492619991 0.253283262253 -0.953476667404 +vn 0.513145685196 0.198423847556 -0.835050582886 +vn 0.861327946186 0.282207727432 0.422460556030 +vn 0.965529382229 0.233773931861 -0.114467352629 +vn 0.972279310226 0.057422913611 -0.226661652327 +vn 0.972279310226 0.057422913611 -0.226661652327 +vn 0.997116386890 0.036253526807 -0.066668137908 +vn 0.861327946186 0.282207727432 0.422460556030 +vn -0.543861091137 0.085662640631 0.834791600704 +vn -0.902310669422 0.044389050454 0.428794890642 +vn -0.915692329407 -0.125990331173 0.381620287895 +vn -0.915692329407 -0.125990331173 0.381620287895 +vn -0.562489032745 -0.146002635360 0.813811600208 +vn -0.543861091137 0.085662640631 0.834791600704 +vn -0.562489032745 -0.146002635360 0.813811600208 +vn 0.119840741158 -0.145645618439 0.982051730156 +vn 0.020976897329 0.060557164252 0.997944295406 +vn 0.020976897329 0.060557164252 0.997944295406 +vn -0.543861091137 0.085662640631 0.834791600704 +vn -0.562489032745 -0.146002635360 0.813811600208 +vn -0.048428762704 0.890414535999 -0.452566653490 +vn -0.063498787582 0.973852574825 0.218126371503 +vn 0.674404442310 0.733905732632 -0.081000246108 +vn 0.674404442310 0.733905732632 -0.081000246108 +vn 0.348094910383 0.829414248466 -0.436923295259 +vn -0.048428762704 0.890414535999 -0.452566653490 +vn -0.063498787582 0.973852574825 0.218126371503 +vn -0.063902124763 0.991366446018 0.114494979382 +vn 0.287292629480 0.892159521580 0.348589122295 +vn 0.287292629480 0.892159521580 0.348589122295 +vn 0.674404442310 0.733905732632 -0.081000246108 +vn -0.063498787582 0.973852574825 0.218126371503 +vn -0.718663275242 0.692803204060 0.059554707259 +vn -0.063498787582 0.973852574825 0.218126371503 +vn -0.048428762704 0.890414535999 -0.452566653490 +vn -0.048428762704 0.890414535999 -0.452566653490 +vn -0.518715977669 0.722569584846 -0.456975817680 +vn -0.718663275242 0.692803204060 0.059554707259 +vn -0.063902124763 0.991366446018 0.114494979382 +vn -0.063498787582 0.973852574825 0.218126371503 +vn -0.718663275242 0.692803204060 0.059554707259 +vn -0.718663275242 0.692803204060 0.059554707259 +vn -0.542900204659 0.733694672585 0.408596962690 +vn -0.063902124763 0.991366446018 0.114494979382 +vn 0.038015794009 0.828824400902 0.558215856552 +vn -0.546461105347 0.726369321346 0.416854739189 +vn -0.464551985264 0.831402301788 0.304896056652 +vn -0.464551985264 0.831402301788 0.304896056652 +vn -0.008953621611 0.951425194740 0.307749807835 +vn 0.038015794009 0.828824400902 0.558215856552 +vn -0.008953621611 0.951425194740 0.307749807835 +vn -0.037171285599 0.822442770004 0.567632138729 +vn 0.361748665571 0.813761413097 0.454895913601 +vn 0.361748665571 0.813761413097 0.454895913601 +vn 0.419445157051 0.878340363503 0.229311823845 +vn -0.008953621611 0.951425194740 0.307749807835 +vn -0.761057138443 0.020005665720 -0.648376286030 +vn -0.834776818752 0.152970641851 -0.528911769390 +vn -0.999251008034 0.013329065405 -0.036328140646 +vn -0.999251008034 0.013329065405 -0.036328140646 +vn -0.992354273796 -0.096318662167 -0.077173262835 +vn -0.761057138443 0.020005665720 -0.648376286030 +vn 0.875802159309 0.071516327560 -0.477342694998 +vn 0.513145685196 0.198423847556 -0.835050582886 +vn 0.554184734821 0.067802697420 -0.829627692699 +vn 0.554184734821 0.067802697420 -0.829627692699 +vn 0.891179800034 0.028979845345 -0.452723652124 +vn 0.875802159309 0.071516327560 -0.477342694998 +vn -0.047363005579 0.108990550041 -0.992913782597 +vn -0.163492619991 0.253283262253 -0.953476667404 +vn -0.834776818752 0.152970641851 -0.528911769390 +vn -0.834776818752 0.152970641851 -0.528911769390 +vn -0.761057138443 0.020005665720 -0.648376286030 +vn -0.047363005579 0.108990550041 -0.992913782597 +vn -0.999251008034 0.013329065405 -0.036328140646 +vn -0.960119843483 -0.019330935553 0.278919726610 +vn -0.915692329407 -0.125990331173 0.381620287895 +vn -0.915692329407 -0.125990331173 0.381620287895 +vn -0.992354273796 -0.096318662167 -0.077173262835 +vn -0.999251008034 0.013329065405 -0.036328140646 +vn 0.995116412640 -0.054380711168 0.082377523184 +vn 0.997116386890 0.036253526807 -0.066668137908 +vn 0.875802159309 0.071516327560 -0.477342694998 +vn 0.875802159309 0.071516327560 -0.477342694998 +vn 0.891179800034 0.028979845345 -0.452723652124 +vn 0.995116412640 -0.054380711168 0.082377523184 +vn 0.513145685196 0.198423847556 -0.835050582886 +vn -0.163492619991 0.253283262253 -0.953476667404 +vn -0.047363005579 0.108990550041 -0.992913782597 +vn -0.047363005579 0.108990550041 -0.992913782597 +vn 0.554184734821 0.067802697420 -0.829627692699 +vn 0.513145685196 0.198423847556 -0.835050582886 +vn -0.684937596321 0.226348280907 0.692551016808 +vn -0.960119843483 -0.019330935553 0.278919726610 +vn -0.986457169056 -0.011852054857 0.163590267301 +vn -0.986457169056 -0.011852054857 0.163590267301 +vn -0.957649767399 0.245865628123 0.149856701493 +vn -0.684937596321 0.226348280907 0.692551016808 +vn 0.762222051620 -0.094720840454 0.640347957611 +vn 0.861327946186 0.282207727432 0.422460556030 +vn 0.997116386890 0.036253526807 -0.066668137908 +vn 0.997116386890 0.036253526807 -0.066668137908 +vn 0.995116412640 -0.054380711168 0.082377523184 +vn 0.762222051620 -0.094720840454 0.640347957611 +vn 0.762222051620 -0.094720840454 0.640347957611 +vn 0.618004083633 0.135420069098 0.774423897266 +vn 0.020976897329 0.060557164252 0.997944295406 +vn 0.020976897329 0.060557164252 0.997944295406 +vn 0.119840741158 -0.145645618439 0.982051730156 +vn 0.762222051620 -0.094720840454 0.640347957611 +vn -0.906085193157 -0.229097962379 0.355701744556 +vn -0.750959277153 -0.606336772442 0.261564284563 +vn -0.582415580750 -0.402489781380 0.706253528595 +vn -0.582415580750 -0.402489781380 0.706253528595 +vn -0.642385125160 -0.092330209911 0.760799884796 +vn -0.906085193157 -0.229097962379 0.355701744556 +vn 0.971231758595 -0.076657757163 0.225460559130 +vn 0.859460055828 -0.470979452133 0.198763057590 +vn 0.849181652069 -0.524824261665 -0.058736898005 +vn 0.849181652069 -0.524824261665 -0.058736898005 +vn 0.992323935032 -0.083550423384 -0.091172911227 +vn 0.971231758595 -0.076657757163 0.225460559130 +vn -0.841550469398 0.399582356215 0.363492399454 +vn -0.906085193157 -0.229097962379 0.355701744556 +vn -0.642385125160 -0.092330209911 0.760799884796 +vn -0.642385125160 -0.092330209911 0.760799884796 +vn -0.580725133419 0.329724341631 0.744338750839 +vn -0.841550469398 0.399582356215 0.363492399454 +vn 0.788730025291 0.571293294430 0.226999789476 +vn 0.971231758595 -0.076657757163 0.225460559130 +vn 0.992323935032 -0.083550423384 -0.091172911227 +vn 0.992323935032 -0.083550423384 -0.091172911227 +vn 0.875472187996 0.477126717567 0.076801784337 +vn 0.788730025291 0.571293294430 0.226999789476 +vn 0.419445157051 0.878340363503 0.229311823845 +vn 0.788730025291 0.571293294430 0.226999789476 +vn 0.875472187996 0.477126717567 0.076801784337 +vn 0.875472187996 0.477126717567 0.076801784337 +vn 0.470861792564 0.752460539341 0.460534811020 +vn 0.419445157051 0.878340363503 0.229311823845 +vn -0.372339665890 0.707525014877 0.600642621517 +vn -0.464551985264 0.831402301788 0.304896056652 +vn -0.841550469398 0.399582356215 0.363492399454 +vn -0.841550469398 0.399582356215 0.363492399454 +vn -0.580725133419 0.329724341631 0.744338750839 +vn -0.372339665890 0.707525014877 0.600642621517 +vn -0.008953621611 0.951425194740 0.307749807835 +vn -0.464551985264 0.831402301788 0.304896056652 +vn -0.372339665890 0.707525014877 0.600642621517 +vn -0.372339665890 0.707525014877 0.600642621517 +vn -0.037171285599 0.822442770004 0.567632138729 +vn -0.008953621611 0.951425194740 0.307749807835 +vn 0.038015794009 0.828824400902 0.558215856552 +vn -0.008953621611 0.951425194740 0.307749807835 +vn 0.419445157051 0.878340363503 0.229311823845 +vn 0.419445157051 0.878340363503 0.229311823845 +vn 0.470861792564 0.752460539341 0.460534811020 +vn 0.038015794009 0.828824400902 0.558215856552 +vn 0.861327946186 0.282207727432 0.422460556030 +vn 0.470861792564 0.752460539341 0.460534811020 +vn 0.875472187996 0.477126717567 0.076801784337 +vn 0.875472187996 0.477126717567 0.076801784337 +vn 0.965529382229 0.233773931861 -0.114467352629 +vn 0.861327946186 0.282207727432 0.422460556030 +vn 0.126355975866 0.264645785093 0.956031799316 +vn 0.038015794009 0.828824400902 0.558215856552 +vn 0.470861792564 0.752460539341 0.460534811020 +vn 0.470861792564 0.752460539341 0.460534811020 +vn 0.861327946186 0.282207727432 0.422460556030 +vn 0.126355975866 0.264645785093 0.956031799316 +vn -0.546461105347 0.726369321346 0.416854739189 +vn 0.038015794009 0.828824400902 0.558215856552 +vn 0.126355975866 0.264645785093 0.956031799316 +vn 0.126355975866 0.264645785093 0.956031799316 +vn -0.684937596321 0.226348280907 0.692551016808 +vn -0.546461105347 0.726369321346 0.416854739189 +vn -0.957649767399 0.245865628123 0.149856701493 +vn -0.871704638004 0.468953579664 0.142174378037 +vn -0.546461105347 0.726369321346 0.416854739189 +vn -0.546461105347 0.726369321346 0.416854739189 +vn -0.684937596321 0.226348280907 0.692551016808 +vn -0.957649767399 0.245865628123 0.149856701493 +vn 0.961319506168 -0.138755530119 -0.237932249904 +vn 0.965529382229 0.233773931861 -0.114467352629 +vn 0.875472187996 0.477126717567 0.076801784337 +vn 0.875472187996 0.477126717567 0.076801784337 +vn 0.992323935032 -0.083550423384 -0.091172911227 +vn 0.961319506168 -0.138755530119 -0.237932249904 +vn 0.863608837128 -0.437417209148 -0.250691026449 +vn 0.961319506168 -0.138755530119 -0.237932249904 +vn 0.992323935032 -0.083550423384 -0.091172911227 +vn 0.992323935032 -0.083550423384 -0.091172911227 +vn 0.849181652069 -0.524824261665 -0.058736898005 +vn 0.863608837128 -0.437417209148 -0.250691026449 +vn -0.969217240810 -0.242572203279 -0.042150840163 +vn -0.815200567245 -0.578349769115 -0.030977522954 +vn -0.770887374878 -0.633049786091 0.070573315024 +vn -0.770887374878 -0.633049786091 0.070573315024 +vn -0.972319781780 -0.213734969497 0.094401150942 +vn -0.969217240810 -0.242572203279 -0.042150840163 +vn -0.871704638004 0.468953579664 0.142174378037 +vn -0.957649767399 0.245865628123 0.149856701493 +vn -0.969217240810 -0.242572203279 -0.042150840163 +vn -0.969217240810 -0.242572203279 -0.042150840163 +vn -0.972319781780 -0.213734969497 0.094401150942 +vn -0.871704638004 0.468953579664 0.142174378037 +vn 0.126355975866 0.264645785093 0.956031799316 +vn 0.119840741158 -0.145645618439 0.982051730156 +vn -0.562489032745 -0.146002635360 0.813811600208 +vn -0.562489032745 -0.146002635360 0.813811600208 +vn -0.684937596321 0.226348280907 0.692551016808 +vn 0.126355975866 0.264645785093 0.956031799316 +vn 0.861327946186 0.282207727432 0.422460556030 +vn 0.762222051620 -0.094720840454 0.640347957611 +vn 0.119840741158 -0.145645618439 0.982051730156 +vn 0.119840741158 -0.145645618439 0.982051730156 +vn 0.126355975866 0.264645785093 0.956031799316 +vn 0.861327946186 0.282207727432 0.422460556030 +vn -0.635505199432 0.110047593713 -0.764213740826 +vn -0.761057138443 0.020005665720 -0.648376286030 +vn -0.992354273796 -0.096318662167 -0.077173262835 +vn -0.992354273796 -0.096318662167 -0.077173262835 +vn -0.989123642445 0.008415753953 -0.146845534444 +vn -0.635505199432 0.110047593713 -0.764213740826 +vn 0.891179800034 0.028979845345 -0.452723652124 +vn 0.554184734821 0.067802697420 -0.829627692699 +vn 0.537178814411 0.185756832361 -0.822759568691 +vn 0.537178814411 0.185756832361 -0.822759568691 +vn 0.934627115726 0.023425996304 -0.354856818914 +vn 0.891179800034 0.028979845345 -0.452723652124 +vn -0.005166693125 0.263290047646 -0.964702904224 +vn -0.047363005579 0.108990550041 -0.992913782597 +vn -0.761057138443 0.020005665720 -0.648376286030 +vn -0.761057138443 0.020005665720 -0.648376286030 +vn -0.635505199432 0.110047593713 -0.764213740826 +vn -0.005166693125 0.263290047646 -0.964702904224 +vn -0.992354273796 -0.096318662167 -0.077173262835 +vn -0.915692329407 -0.125990331173 0.381620287895 +vn -0.902310669422 0.044389050454 0.428794890642 +vn -0.902310669422 0.044389050454 0.428794890642 +vn -0.989123642445 0.008415753953 -0.146845534444 +vn -0.992354273796 -0.096318662167 -0.077173262835 +vn 0.930269777775 0.234372481704 0.282254606485 +vn 0.995116412640 -0.054380711168 0.082377523184 +vn 0.891179800034 0.028979845345 -0.452723652124 +vn 0.891179800034 0.028979845345 -0.452723652124 +vn 0.934627115726 0.023425996304 -0.354856818914 +vn 0.930269777775 0.234372481704 0.282254606485 +vn 0.554184734821 0.067802697420 -0.829627692699 +vn -0.047363005579 0.108990550041 -0.992913782597 +vn -0.005166693125 0.263290047646 -0.964702904224 +vn -0.005166693125 0.263290047646 -0.964702904224 +vn 0.537178814411 0.185756832361 -0.822759568691 +vn 0.554184734821 0.067802697420 -0.829627692699 +vn 0.618004083633 0.135420069098 0.774423897266 +vn 0.762222051620 -0.094720840454 0.640347957611 +vn 0.995116412640 -0.054380711168 0.082377523184 +vn 0.995116412640 -0.054380711168 0.082377523184 +vn 0.930269777775 0.234372481704 0.282254606485 +vn 0.618004083633 0.135420069098 0.774423897266 +vn -0.562489032745 -0.146002635360 0.813811600208 +vn -0.915692329407 -0.125990331173 0.381620287895 +vn -0.960119843483 -0.019330935553 0.278919726610 +vn -0.960119843483 -0.019330935553 0.278919726610 +vn -0.684937596321 0.226348280907 0.692551016808 +vn -0.562489032745 -0.146002635360 0.813811600208 +vn -0.063902124763 0.991366446018 0.114494979382 +vn -0.542900204659 0.733694672585 0.408596962690 +vn -0.337740659714 0.766057550907 0.546888530254 +vn -0.337740659714 0.766057550907 0.546888530254 +vn -0.102175161242 0.812571227551 0.573836445808 +vn -0.063902124763 0.991366446018 0.114494979382 +vn 0.284465849400 0.811888277531 0.509820163250 +vn 0.287292629480 0.892159521580 0.348589122295 +vn -0.063902124763 0.991366446018 0.114494979382 +vn -0.063902124763 0.991366446018 0.114494979382 +vn -0.102175161242 0.812571227551 0.573836445808 +vn 0.284465849400 0.811888277531 0.509820163250 +vn -0.718663275242 0.692803204060 0.059554707259 +vn -0.518715977669 0.722569584846 -0.456975817680 +vn -0.635505199432 0.110047593713 -0.764213740826 +vn -0.635505199432 0.110047593713 -0.764213740826 +vn -0.989123642445 0.008415753953 -0.146845534444 +vn -0.718663275242 0.692803204060 0.059554707259 +vn -0.542900204659 0.733694672585 0.408596962690 +vn -0.718663275242 0.692803204060 0.059554707259 +vn -0.989123642445 0.008415753953 -0.146845534444 +vn -0.989123642445 0.008415753953 -0.146845534444 +vn -0.902310669422 0.044389050454 0.428794890642 +vn -0.542900204659 0.733694672585 0.408596962690 +vn -0.337740659714 0.766057550907 0.546888530254 +vn -0.542900204659 0.733694672585 0.408596962690 +vn -0.902310669422 0.044389050454 0.428794890642 +vn -0.902310669422 0.044389050454 0.428794890642 +vn -0.543861091137 0.085662640631 0.834791600704 +vn -0.337740659714 0.766057550907 0.546888530254 +vn -0.102175161242 0.812571227551 0.573836445808 +vn -0.337740659714 0.766057550907 0.546888530254 +vn -0.543861091137 0.085662640631 0.834791600704 +vn -0.543861091137 0.085662640631 0.834791600704 +vn 0.020976897329 0.060557164252 0.997944295406 +vn -0.102175161242 0.812571227551 0.573836445808 +vn 0.284465849400 0.811888277531 0.509820163250 +vn -0.102175161242 0.812571227551 0.573836445808 +vn 0.020976897329 0.060557164252 0.997944295406 +vn 0.020976897329 0.060557164252 0.997944295406 +vn 0.618004083633 0.135420069098 0.774423897266 +vn 0.284465849400 0.811888277531 0.509820163250 +vn 0.287292629480 0.892159521580 0.348589122295 +vn 0.284465849400 0.811888277531 0.509820163250 +vn 0.618004083633 0.135420069098 0.774423897266 +vn 0.618004083633 0.135420069098 0.774423897266 +vn 0.930269777775 0.234372481704 0.282254606485 +vn 0.287292629480 0.892159521580 0.348589122295 +vn 0.674404442310 0.733905732632 -0.081000246108 +vn 0.287292629480 0.892159521580 0.348589122295 +vn 0.930269777775 0.234372481704 0.282254606485 +vn 0.930269777775 0.234372481704 0.282254606485 +vn 0.934627115726 0.023425996304 -0.354856818914 +vn 0.674404442310 0.733905732632 -0.081000246108 +vn 0.348094910383 0.829414248466 -0.436923295259 +vn 0.674404442310 0.733905732632 -0.081000246108 +vn 0.934627115726 0.023425996304 -0.354856818914 +vn 0.934627115726 0.023425996304 -0.354856818914 +vn 0.537178814411 0.185756832361 -0.822759568691 +vn 0.348094910383 0.829414248466 -0.436923295259 +vn -0.048428762704 0.890414535999 -0.452566653490 +vn 0.348094910383 0.829414248466 -0.436923295259 +vn 0.537178814411 0.185756832361 -0.822759568691 +vn 0.537178814411 0.185756832361 -0.822759568691 +vn -0.005166693125 0.263290047646 -0.964702904224 +vn -0.048428762704 0.890414535999 -0.452566653490 +vn -0.518715977669 0.722569584846 -0.456975817680 +vn -0.048428762704 0.890414535999 -0.452566653490 +vn -0.005166693125 0.263290047646 -0.964702904224 +vn -0.005166693125 0.263290047646 -0.964702904224 +vn -0.635505199432 0.110047593713 -0.764213740826 +vn -0.518715977669 0.722569584846 -0.456975817680 +vn 0.896774768829 -0.440434336662 0.042574360967 +vn 0.829682111740 -0.395381569862 -0.394082486629 +vn 0.883949697018 -0.165927350521 -0.437151044607 +vn 0.883949697018 -0.165927350521 -0.437151044607 +vn 0.965354561806 -0.258063018322 0.038652259856 +vn 0.896774768829 -0.440434336662 0.042574360967 +vn -0.504025876522 -0.301672607660 -0.809290766716 +vn -0.821440160275 -0.447597593069 -0.353401303291 +vn -0.872142016888 -0.268645823002 -0.408898174763 +vn -0.872142016888 -0.268645823002 -0.408898174763 +vn -0.560952782631 -0.203689426184 -0.802398025990 +vn -0.504025876522 -0.301672607660 -0.809290766716 +vn 0.829682111740 -0.395381569862 -0.394082486629 +vn 0.059312444180 -0.544704258442 -0.836528122425 +vn 0.166494444013 -0.262386292219 -0.950490951538 +vn 0.166494444013 -0.262386292219 -0.950490951538 +vn 0.883949697018 -0.165927350521 -0.437151044607 +vn 0.829682111740 -0.395381569862 -0.394082486629 +vn 0.879417061806 -0.475138366222 0.029482273385 +vn 0.896774768829 -0.440434336662 0.042574360967 +vn 0.965354561806 -0.258063018322 0.038652259856 +vn 0.965354561806 -0.258063018322 0.038652259856 +vn 0.963938236237 -0.265642106533 0.016040276736 +vn 0.879417061806 -0.475138366222 0.029482273385 +vn -0.821440160275 -0.447597593069 -0.353401303291 +vn -0.847441673279 -0.448818117380 -0.283557623625 +vn -0.927781820297 -0.247336685658 -0.279366135597 +vn -0.927781820297 -0.247336685658 -0.279366135597 +vn -0.872142016888 -0.268645823002 -0.408898174763 +vn -0.821440160275 -0.447597593069 -0.353401303291 +vn 0.894344449043 -0.227003604174 0.385509222746 +vn 0.794788122177 -0.514725565910 0.321511179209 +vn 0.785471856594 -0.612062454224 0.091725103557 +vn 0.785471856594 -0.612062454224 0.091725103557 +vn 0.971849977970 -0.209810242057 0.107178568840 +vn 0.894344449043 -0.227003604174 0.385509222746 +vn -0.927781820297 -0.247336685658 -0.279366135597 +vn -0.847441673279 -0.448818117380 -0.283557623625 +vn -0.876788675785 -0.431774467230 -0.211689546704 +vn -0.876788675785 -0.431774467230 -0.211689546704 +vn -0.949543714523 -0.179056674242 -0.257498413324 +vn -0.927781820297 -0.247336685658 -0.279366135597 +vn -0.645010352135 -0.400364696980 0.650899171829 +vn 0.069433189929 -0.577286839485 0.813584029675 +vn 0.025587152690 -0.188668310642 0.981707453728 +vn 0.025587152690 -0.188668310642 0.981707453728 +vn -0.708797097206 0.001518160105 0.705410778522 +vn -0.645010352135 -0.400364696980 0.650899171829 +vn 0.971690714359 -0.233434706926 -0.036406382918 +vn 0.814705491066 -0.579487860203 -0.021184906363 +vn 0.879417061806 -0.475138366222 0.029482273385 +vn 0.879417061806 -0.475138366222 0.029482273385 +vn 0.963938236237 -0.265642106533 0.016040276736 +vn 0.971690714359 -0.233434706926 -0.036406382918 +vn -0.972984254360 -0.096121504903 0.209910243750 +vn -0.842492818832 -0.518067896366 0.147687375546 +vn -0.645010352135 -0.400364696980 0.650899171829 +vn -0.645010352135 -0.400364696980 0.650899171829 +vn -0.708797097206 0.001518160105 0.705410778522 +vn -0.972984254360 -0.096121504903 0.209910243750 +vn 0.059312444180 -0.544704258442 -0.836528122425 +vn -0.504025876522 -0.301672607660 -0.809290766716 +vn -0.560952782631 -0.203689426184 -0.802398025990 +vn -0.560952782631 -0.203689426184 -0.802398025990 +vn 0.166494444013 -0.262386292219 -0.950490951538 +vn 0.059312444180 -0.544704258442 -0.836528122425 +vn 0.069433189929 -0.577286839485 0.813584029675 +vn 0.609602272511 -0.248254984617 0.752830982208 +vn 0.648548364639 -0.114402368665 0.752527177334 +vn 0.648548364639 -0.114402368665 0.752527177334 +vn 0.025587152690 -0.188668310642 0.981707453728 +vn 0.069433189929 -0.577286839485 0.813584029675 +vn 0.965354561806 -0.258063018322 0.038652259856 +vn 0.883949697018 -0.165927350521 -0.437151044607 +vn 0.887520253658 0.064618252218 -0.456215173006 +vn 0.887520253658 0.064618252218 -0.456215173006 +vn 0.999695837498 -0.003873218782 0.024357249960 +vn 0.965354561806 -0.258063018322 0.038652259856 +vn -0.560952782631 -0.203689426184 -0.802398025990 +vn -0.872142016888 -0.268645823002 -0.408898174763 +vn -0.887326896191 -0.078793831170 -0.454359501600 +vn -0.887326896191 -0.078793831170 -0.454359501600 +vn -0.584151804447 0.006681963336 -0.811616897583 +vn -0.560952782631 -0.203689426184 -0.802398025990 +vn 0.883949697018 -0.165927350521 -0.437151044607 +vn 0.166494444013 -0.262386292219 -0.950490951538 +vn 0.198920249939 0.084711700678 -0.976347625256 +vn 0.198920249939 0.084711700678 -0.976347625256 +vn 0.887520253658 0.064618252218 -0.456215173006 +vn 0.883949697018 -0.165927350521 -0.437151044607 +vn 0.963938236237 -0.265642106533 0.016040276736 +vn 0.965354561806 -0.258063018322 0.038652259856 +vn 0.999695837498 -0.003873218782 0.024357249960 +vn 0.999695837498 -0.003873218782 0.024357249960 +vn 0.995632350445 -0.006020219531 0.093166664243 +vn 0.963938236237 -0.265642106533 0.016040276736 +vn -0.872142016888 -0.268645823002 -0.408898174763 +vn -0.927781820297 -0.247336685658 -0.279366135597 +vn -0.973477184772 -0.045333888382 -0.224247634411 +vn -0.973477184772 -0.045333888382 -0.224247634411 +vn -0.887326896191 -0.078793831170 -0.454359501600 +vn -0.872142016888 -0.268645823002 -0.408898174763 +vn 0.819668352604 0.424242556095 0.384918212891 +vn 0.894344449043 -0.227003604174 0.385509222746 +vn 0.971849977970 -0.209810242057 0.107178568840 +vn 0.971849977970 -0.209810242057 0.107178568840 +vn 0.878596842289 0.430425614119 0.206884905696 +vn 0.819668352604 0.424242556095 0.384918212891 +vn -0.927781820297 -0.247336685658 -0.279366135597 +vn -0.949543714523 -0.179056674242 -0.257498413324 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.973477184772 -0.045333888382 -0.224247634411 +vn -0.927781820297 -0.247336685658 -0.279366135597 +vn -0.708797097206 0.001518160105 0.705410778522 +vn 0.025587152690 -0.188668310642 0.981707453728 +vn -0.010253517888 0.434012025595 0.900848746300 +vn -0.010253517888 0.434012025595 0.900848746300 +vn -0.605787634850 0.494257092476 0.623483181000 +vn -0.708797097206 0.001518160105 0.705410778522 +vn 0.971690714359 -0.233434706926 -0.036406382918 +vn 0.963938236237 -0.265642106533 0.016040276736 +vn 0.995632350445 -0.006020219531 0.093166664243 +vn 0.995632350445 -0.006020219531 0.093166664243 +vn 0.972541630268 0.205112487078 0.109961979091 +vn 0.971690714359 -0.233434706926 -0.036406382918 +vn -0.813350260258 0.528666734695 0.242843255401 +vn -0.972984254360 -0.096121504903 0.209910243750 +vn -0.708797097206 0.001518160105 0.705410778522 +vn -0.708797097206 0.001518160105 0.705410778522 +vn -0.605787634850 0.494257092476 0.623483181000 +vn -0.813350260258 0.528666734695 0.242843255401 +vn 0.166494444013 -0.262386292219 -0.950490951538 +vn -0.560952782631 -0.203689426184 -0.802398025990 +vn -0.584151804447 0.006681963336 -0.811616897583 +vn -0.584151804447 0.006681963336 -0.811616897583 +vn 0.198920249939 0.084711700678 -0.976347625256 +vn 0.166494444013 -0.262386292219 -0.950490951538 +vn 0.025587152690 -0.188668310642 0.981707453728 +vn 0.648548364639 -0.114402368665 0.752527177334 +vn 0.598563194275 0.346359431744 0.722327709198 +vn 0.598563194275 0.346359431744 0.722327709198 +vn -0.010253517888 0.434012025595 0.900848746300 +vn 0.025587152690 -0.188668310642 0.981707453728 +vn -0.605787634850 0.494257092476 0.623483181000 +vn -0.010253517888 0.434012025595 0.900848746300 +vn -0.036019083112 0.815896332264 0.577075183392 +vn -0.036019083112 0.815896332264 0.577075183392 +vn -0.401526331902 0.782190501690 0.476397514343 +vn -0.605787634850 0.494257092476 0.623483181000 +vn -0.010253517888 0.434012025595 0.900848746300 +vn 0.598563194275 0.346359431744 0.722327709198 +vn 0.407970279455 0.717792689800 0.564210891724 +vn 0.407970279455 0.717792689800 0.564210891724 +vn -0.036019083112 0.815896332264 0.577075183392 +vn -0.010253517888 0.434012025595 0.900848746300 +vn -0.605787634850 0.494257092476 0.623483181000 +vn -0.401526331902 0.782190501690 0.476397514343 +vn -0.455726176500 0.851219177246 0.260268300772 +vn -0.455726176500 0.851219177246 0.260268300772 +vn -0.813350260258 0.528666734695 0.242843255401 +vn -0.605787634850 0.494257092476 0.623483181000 +vn 0.819668352604 0.424242556095 0.384918212891 +vn 0.878596842289 0.430425614119 0.206884905696 +vn 0.417391598225 0.758342742920 0.500700056553 +vn 0.417391598225 0.758342742920 0.500700056553 +vn 0.449902802706 0.833744525909 0.320089966059 +vn 0.819668352604 0.424242556095 0.384918212891 +vn 0.998415172100 0.038624547422 -0.040929865092 +vn 0.999695837498 -0.003873218782 0.024357249960 +vn 0.887520253658 0.064618252218 -0.456215173006 +vn 0.887520253658 0.064618252218 -0.456215173006 +vn 0.839084565639 0.100407406688 -0.534654557705 +vn 0.998415172100 0.038624547422 -0.040929865092 +vn -0.520150959492 0.017325222492 -0.853898584843 +vn -0.584151804447 0.006681963336 -0.811616897583 +vn -0.887326896191 -0.078793831170 -0.454359501600 +vn -0.887326896191 -0.078793831170 -0.454359501600 +vn -0.875011146069 -0.052693475038 -0.481226444244 +vn -0.520150959492 0.017325222492 -0.853898584843 +vn 0.839084565639 0.100407406688 -0.534654557705 +vn 0.887520253658 0.064618252218 -0.456215173006 +vn 0.198920249939 0.084711700678 -0.976347625256 +vn 0.198920249939 0.084711700678 -0.976347625256 +vn 0.171029835939 0.100886046886 -0.980087161064 +vn 0.839084565639 0.100407406688 -0.534654557705 +vn 0.969513058662 0.062274549156 0.236994311213 +vn 0.995632350445 -0.006020219531 0.093166664243 +vn 0.999695837498 -0.003873218782 0.024357249960 +vn 0.999695837498 -0.003873218782 0.024357249960 +vn 0.998415172100 0.038624547422 -0.040929865092 +vn 0.969513058662 0.062274549156 0.236994311213 +vn -0.875011146069 -0.052693475038 -0.481226444244 +vn -0.887326896191 -0.078793831170 -0.454359501600 +vn -0.973477184772 -0.045333888382 -0.224247634411 +vn -0.973477184772 -0.045333888382 -0.224247634411 +vn -0.996427416801 0.009055949748 -0.083966597915 +vn -0.875011146069 -0.052693475038 -0.481226444244 +vn 0.171029835939 0.100886046886 -0.980087161064 +vn 0.198920249939 0.084711700678 -0.976347625256 +vn -0.584151804447 0.006681963336 -0.811616897583 +vn -0.584151804447 0.006681963336 -0.811616897583 +vn -0.520150959492 0.017325222492 -0.853898584843 +vn 0.171029835939 0.100886046886 -0.980087161064 +vn -0.996427416801 0.009055949748 -0.083966597915 +vn -0.973477184772 -0.045333888382 -0.224247634411 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.811857640743 0.316165834665 0.490842521191 +vn -0.996427416801 0.009055949748 -0.083966597915 +vn 0.505996525288 0.084093302488 0.858426392078 +vn 0.916820347309 -0.011684142984 0.399129003286 +vn 0.882667124271 0.166973158717 0.439338982105 +vn 0.882667124271 0.166973158717 0.439338982105 +vn 0.556349575520 0.162882700562 0.814827799797 +vn 0.505996525288 0.084093302488 0.858426392078 +vn 0.556349575520 0.162882700562 0.814827799797 +vn -0.099295251071 0.116247646511 0.988244354725 +vn -0.191165298223 0.042684063315 0.980629324913 +vn -0.191165298223 0.042684063315 0.980629324913 +vn 0.505996525288 0.084093302488 0.858426392078 +vn 0.556349575520 0.162882700562 0.814827799797 +vn -0.197339877486 0.930521845818 -0.308522373438 +vn -0.588900148869 0.785738825798 -0.189238250256 +vn -0.037328623235 0.984341025352 0.172276824713 +vn -0.037328623235 0.984341025352 0.172276824713 +vn 0.134792685509 0.935151696205 -0.327600717545 +vn -0.197339877486 0.930521845818 -0.308522373438 +vn -0.588900148869 0.785738825798 -0.189238250256 +vn -0.616252362728 0.723567962646 0.310938030481 +vn -0.059391405433 0.995314598083 0.076298937201 +vn -0.059391405433 0.995314598083 0.076298937201 +vn -0.037328623235 0.984341025352 0.172276824713 +vn -0.588900148869 0.785738825798 -0.189238250256 +vn 0.353185534477 0.857257008553 -0.374660313129 +vn 0.134792685509 0.935151696205 -0.327600717545 +vn -0.037328623235 0.984341025352 0.172276824713 +vn -0.037328623235 0.984341025352 0.172276824713 +vn 0.522335886955 0.850371062756 -0.063516058028 +vn 0.353185534477 0.857257008553 -0.374660313129 +vn 0.521055519581 0.802924513817 0.289505362511 +vn 0.522335886955 0.850371062756 -0.063516058028 +vn -0.037328623235 0.984341025352 0.172276824713 +vn -0.037328623235 0.984341025352 0.172276824713 +vn -0.059391405433 0.995314598083 0.076298937201 +vn 0.521055519581 0.802924513817 0.289505362511 +vn -0.030940596014 0.946716606617 0.320578128099 +vn 0.449902802706 0.833744525909 0.320089966059 +vn 0.417391598225 0.758342742920 0.500700056553 +vn 0.417391598225 0.758342742920 0.500700056553 +vn -0.069371618330 0.841719925404 0.535439193249 +vn -0.030940596014 0.946716606617 0.320578128099 +vn -0.455726176500 0.851219177246 0.260268300772 +vn -0.401526331902 0.782190501690 0.476397514343 +vn -0.036019083112 0.815896332264 0.577075183392 +vn -0.036019083112 0.815896332264 0.577075183392 +vn -0.030940596014 0.946716606617 0.320578128099 +vn -0.455726176500 0.851219177246 0.260268300772 +vn 0.994028806686 -0.075991086662 -0.078307822347 +vn 0.998415172100 0.038624547422 -0.040929865092 +vn 0.839084565639 0.100407406688 -0.534654557705 +vn 0.839084565639 0.100407406688 -0.534654557705 +vn 0.773993730545 -0.031222863123 -0.632422983646 +vn 0.994028806686 -0.075991086662 -0.078307822347 +vn -0.872911095619 -0.077577248216 -0.481672078371 +vn -0.519446194172 -0.050545126200 -0.853006899357 +vn -0.520150959492 0.017325222492 -0.853898584843 +vn -0.520150959492 0.017325222492 -0.853898584843 +vn -0.875011146069 -0.052693475038 -0.481226444244 +vn -0.872911095619 -0.077577248216 -0.481672078371 +vn 0.773993730545 -0.031222863123 -0.632422983646 +vn 0.839084565639 0.100407406688 -0.534654557705 +vn 0.171029835939 0.100886046886 -0.980087161064 +vn 0.171029835939 0.100886046886 -0.980087161064 +vn 0.120794489980 -0.012212047353 -0.992602407932 +vn 0.773993730545 -0.031222863123 -0.632422983646 +vn 0.994028806686 -0.075991086662 -0.078307822347 +vn 0.916820347309 -0.011684142984 0.399129003286 +vn 0.969513058662 0.062274549156 0.236994311213 +vn 0.969513058662 0.062274549156 0.236994311213 +vn 0.998415172100 0.038624547422 -0.040929865092 +vn 0.994028806686 -0.075991086662 -0.078307822347 +vn -0.872911095619 -0.077577248216 -0.481672078371 +vn -0.875011146069 -0.052693475038 -0.481226444244 +vn -0.996427416801 0.009055949748 -0.083966597915 +vn -0.996427416801 0.009055949748 -0.083966597915 +vn -0.995949149132 -0.049522735178 0.075052306056 +vn -0.872911095619 -0.077577248216 -0.481672078371 +vn -0.519446194172 -0.050545126200 -0.853006899357 +vn 0.120794489980 -0.012212047353 -0.992602407932 +vn 0.171029835939 0.100886046886 -0.980087161064 +vn 0.171029835939 0.100886046886 -0.980087161064 +vn -0.520150959492 0.017325222492 -0.853898584843 +vn -0.519446194172 -0.050545126200 -0.853006899357 +vn 0.972541630268 0.205112487078 0.109961979091 +vn 0.995632350445 -0.006020219531 0.093166664243 +vn 0.969513058662 0.062274549156 0.236994311213 +vn 0.969513058662 0.062274549156 0.236994311213 +vn 0.616871714592 0.388114273548 0.684716403484 +vn 0.972541630268 0.205112487078 0.109961979091 +vn -0.995949149132 -0.049522735178 0.075052306056 +vn -0.996427416801 0.009055949748 -0.083966597915 +vn -0.811857640743 0.316165834665 0.490842521191 +vn -0.811857640743 0.316165834665 0.490842521191 +vn -0.741294920444 0.053056657314 0.669079065323 +vn -0.995949149132 -0.049522735178 0.075052306056 +vn -0.191165298223 0.042684063315 0.980629324913 +vn -0.099295251071 0.116247646511 0.988244354725 +vn -0.732730984688 0.177388116717 0.656992197037 +vn -0.732730984688 0.177388116717 0.656992197037 +vn -0.741294920444 0.053056657314 0.669079065323 +vn -0.191165298223 0.042684063315 0.980629324913 +vn 0.648548364639 -0.114402368665 0.752527177334 +vn 0.609602272511 -0.248254984617 0.752830982208 +vn 0.794788122177 -0.514725565910 0.321511179209 +vn 0.794788122177 -0.514725565910 0.321511179209 +vn 0.894344449043 -0.227003604174 0.385509222746 +vn 0.648548364639 -0.114402368665 0.752527177334 +vn -0.985983729362 -0.146261081100 -0.080273129046 +vn -0.850716531277 -0.518900275230 -0.083808444440 +vn -0.842492818832 -0.518067896366 0.147687375546 +vn -0.842492818832 -0.518067896366 0.147687375546 +vn -0.972984254360 -0.096121504903 0.209910243750 +vn -0.985983729362 -0.146261081100 -0.080273129046 +vn 0.598563194275 0.346359431744 0.722327709198 +vn 0.648548364639 -0.114402368665 0.752527177334 +vn 0.894344449043 -0.227003604174 0.385509222746 +vn 0.894344449043 -0.227003604174 0.385509222746 +vn 0.819668352604 0.424242556095 0.384918212891 +vn 0.598563194275 0.346359431744 0.722327709198 +vn -0.842946350574 0.536730229855 0.036906283349 +vn -0.985983729362 -0.146261081100 -0.080273129046 +vn -0.972984254360 -0.096121504903 0.209910243750 +vn -0.972984254360 -0.096121504903 0.209910243750 +vn -0.813350260258 0.528666734695 0.242843255401 +vn -0.842946350574 0.536730229855 0.036906283349 +vn -0.572210907936 0.744452595711 0.344042211771 +vn -0.842946350574 0.536730229855 0.036906283349 +vn -0.813350260258 0.528666734695 0.242843255401 +vn -0.813350260258 0.528666734695 0.242843255401 +vn -0.455726176500 0.851219177246 0.260268300772 +vn -0.572210907936 0.744452595711 0.344042211771 +vn 0.598563194275 0.346359431744 0.722327709198 +vn 0.819668352604 0.424242556095 0.384918212891 +vn 0.449902802706 0.833744525909 0.320089966059 +vn 0.449902802706 0.833744525909 0.320089966059 +vn 0.407970279455 0.717792689800 0.564210891724 +vn 0.598563194275 0.346359431744 0.722327709198 +vn -0.036019083112 0.815896332264 0.577075183392 +vn 0.407970279455 0.717792689800 0.564210891724 +vn 0.449902802706 0.833744525909 0.320089966059 +vn 0.449902802706 0.833744525909 0.320089966059 +vn -0.030940596014 0.946716606617 0.320578128099 +vn -0.036019083112 0.815896332264 0.577075183392 +vn -0.572210907936 0.744452595711 0.344042211771 +vn -0.455726176500 0.851219177246 0.260268300772 +vn -0.030940596014 0.946716606617 0.320578128099 +vn -0.030940596014 0.946716606617 0.320578128099 +vn -0.069371618330 0.841719925404 0.535439193249 +vn -0.572210907936 0.744452595711 0.344042211771 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.842946350574 0.536730229855 0.036906283349 +vn -0.572210907936 0.744452595711 0.344042211771 +vn -0.572210907936 0.744452595711 0.344042211771 +vn -0.811857640743 0.316165834665 0.490842521191 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.811857640743 0.316165834665 0.490842521191 +vn -0.572210907936 0.744452595711 0.344042211771 +vn -0.069371618330 0.841719925404 0.535439193249 +vn -0.069371618330 0.841719925404 0.535439193249 +vn -0.173762992024 0.444730252028 0.878647506237 +vn -0.811857640743 0.316165834665 0.490842521191 +vn 0.616871714592 0.388114273548 0.684716403484 +vn -0.173762992024 0.444730252028 0.878647506237 +vn -0.069371618330 0.841719925404 0.535439193249 +vn -0.069371618330 0.841719925404 0.535439193249 +vn 0.417391598225 0.758342742920 0.500700056553 +vn 0.616871714592 0.388114273548 0.684716403484 +vn 0.616871714592 0.388114273548 0.684716403484 +vn 0.417391598225 0.758342742920 0.500700056553 +vn 0.878596842289 0.430425614119 0.206884905696 +vn 0.878596842289 0.430425614119 0.206884905696 +vn 0.972541630268 0.205112487078 0.109961979091 +vn 0.616871714592 0.388114273548 0.684716403484 +vn -0.985983729362 -0.146261081100 -0.080273129046 +vn -0.842946350574 0.536730229855 0.036906283349 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.972729504108 0.229226604104 -0.035391129553 +vn -0.949543714523 -0.179056674242 -0.257498413324 +vn -0.985983729362 -0.146261081100 -0.080273129046 +vn -0.850716531277 -0.518900275230 -0.083808444440 +vn -0.985983729362 -0.146261081100 -0.080273129046 +vn -0.949543714523 -0.179056674242 -0.257498413324 +vn -0.949543714523 -0.179056674242 -0.257498413324 +vn -0.876788675785 -0.431774467230 -0.211689546704 +vn -0.850716531277 -0.518900275230 -0.083808444440 +vn 0.971849977970 -0.209810242057 0.107178568840 +vn 0.785471856594 -0.612062454224 0.091725103557 +vn 0.814705491066 -0.579487860203 -0.021184906363 +vn 0.814705491066 -0.579487860203 -0.021184906363 +vn 0.971690714359 -0.233434706926 -0.036406382918 +vn 0.971849977970 -0.209810242057 0.107178568840 +vn 0.971849977970 -0.209810242057 0.107178568840 +vn 0.971690714359 -0.233434706926 -0.036406382918 +vn 0.972541630268 0.205112487078 0.109961979091 +vn 0.972541630268 0.205112487078 0.109961979091 +vn 0.878596842289 0.430425614119 0.206884905696 +vn 0.971849977970 -0.209810242057 0.107178568840 +vn 0.616871714592 0.388114273548 0.684716403484 +vn 0.505996525288 0.084093302488 0.858426392078 +vn -0.191165298223 0.042684063315 0.980629324913 +vn -0.191165298223 0.042684063315 0.980629324913 +vn -0.173762992024 0.444730252028 0.878647506237 +vn 0.616871714592 0.388114273548 0.684716403484 +vn -0.173762992024 0.444730252028 0.878647506237 +vn -0.191165298223 0.042684063315 0.980629324913 +vn -0.741294920444 0.053056657314 0.669079065323 +vn -0.741294920444 0.053056657314 0.669079065323 +vn -0.811857640743 0.316165834665 0.490842521191 +vn -0.173762992024 0.444730252028 0.878647506237 +vn 0.966818511486 0.224690467119 -0.121557444334 +vn 0.994028806686 -0.075991086662 -0.078307822347 +vn 0.773993730545 -0.031222863123 -0.632422983646 +vn 0.773993730545 -0.031222863123 -0.632422983646 +vn 0.661811292171 0.282459527254 -0.694422364235 +vn 0.966818511486 0.224690467119 -0.121557444334 +vn -0.923233270645 0.139920517802 -0.357858330011 +vn -0.505702018738 0.255946218967 -0.823867142200 +vn -0.519446194172 -0.050545126200 -0.853006899357 +vn -0.519446194172 -0.050545126200 -0.853006899357 +vn -0.872911095619 -0.077577248216 -0.481672078371 +vn -0.923233270645 0.139920517802 -0.357858330011 +vn 0.661811292171 0.282459527254 -0.694422364235 +vn 0.773993730545 -0.031222863123 -0.632422983646 +vn 0.120794489980 -0.012212047353 -0.992602407932 +vn 0.120794489980 -0.012212047353 -0.992602407932 +vn 0.121527731419 0.339896291494 -0.932577908039 +vn 0.661811292171 0.282459527254 -0.694422364235 +vn 0.966818511486 0.224690467119 -0.121557444334 +vn 0.882667124271 0.166973158717 0.439338982105 +vn 0.916820347309 -0.011684142984 0.399129003286 +vn 0.916820347309 -0.011684142984 0.399129003286 +vn 0.994028806686 -0.075991086662 -0.078307822347 +vn 0.966818511486 0.224690467119 -0.121557444334 +vn -0.923233270645 0.139920517802 -0.357858330011 +vn -0.872911095619 -0.077577248216 -0.481672078371 +vn -0.995949149132 -0.049522735178 0.075052306056 +vn -0.995949149132 -0.049522735178 0.075052306056 +vn -0.958392262459 0.126938298345 0.255677402020 +vn -0.923233270645 0.139920517802 -0.357858330011 +vn -0.505702018738 0.255946218967 -0.823867142200 +vn 0.121527731419 0.339896291494 -0.932577908039 +vn 0.120794489980 -0.012212047353 -0.992602407932 +vn 0.120794489980 -0.012212047353 -0.992602407932 +vn -0.519446194172 -0.050545126200 -0.853006899357 +vn -0.505702018738 0.255946218967 -0.823867142200 +vn -0.958392262459 0.126938298345 0.255677402020 +vn -0.995949149132 -0.049522735178 0.075052306056 +vn -0.741294920444 0.053056657314 0.669079065323 +vn -0.741294920444 0.053056657314 0.669079065323 +vn -0.732730984688 0.177388116717 0.656992197037 +vn -0.958392262459 0.126938298345 0.255677402020 +vn 0.616871714592 0.388114273548 0.684716403484 +vn 0.969513058662 0.062274549156 0.236994311213 +vn 0.916820347309 -0.011684142984 0.399129003286 +vn 0.916820347309 -0.011684142984 0.399129003286 +vn 0.505996525288 0.084093302488 0.858426392078 +vn 0.616871714592 0.388114273548 0.684716403484 +vn -0.044663131237 0.745588660240 0.664908111095 +vn 0.372912973166 0.711369335651 0.595726132393 +vn 0.521055519581 0.802924513817 0.289505362511 +vn 0.521055519581 0.802924513817 0.289505362511 +vn -0.059391405433 0.995314598083 0.076298937201 +vn -0.044663131237 0.745588660240 0.664908111095 +vn -0.044663131237 0.745588660240 0.664908111095 +vn -0.059391405433 0.995314598083 0.076298937201 +vn -0.616252362728 0.723567962646 0.310938030481 +vn -0.616252362728 0.723567962646 0.310938030481 +vn -0.647355437279 0.397109150887 0.650565385818 +vn -0.044663131237 0.745588660240 0.664908111095 +vn 0.966818511486 0.224690467119 -0.121557444334 +vn 0.661811292171 0.282459527254 -0.694422364235 +vn 0.353185534477 0.857257008553 -0.374660313129 +vn 0.353185534477 0.857257008553 -0.374660313129 +vn 0.522335886955 0.850371062756 -0.063516058028 +vn 0.966818511486 0.224690467119 -0.121557444334 +vn 0.882667124271 0.166973158717 0.439338982105 +vn 0.966818511486 0.224690467119 -0.121557444334 +vn 0.522335886955 0.850371062756 -0.063516058028 +vn 0.522335886955 0.850371062756 -0.063516058028 +vn 0.521055519581 0.802924513817 0.289505362511 +vn 0.882667124271 0.166973158717 0.439338982105 +vn 0.556349575520 0.162882700562 0.814827799797 +vn 0.882667124271 0.166973158717 0.439338982105 +vn 0.521055519581 0.802924513817 0.289505362511 +vn 0.521055519581 0.802924513817 0.289505362511 +vn 0.372912973166 0.711369335651 0.595726132393 +vn 0.556349575520 0.162882700562 0.814827799797 +vn -0.099295251071 0.116247646511 0.988244354725 +vn 0.556349575520 0.162882700562 0.814827799797 +vn 0.372912973166 0.711369335651 0.595726132393 +vn 0.372912973166 0.711369335651 0.595726132393 +vn -0.044663131237 0.745588660240 0.664908111095 +vn -0.099295251071 0.116247646511 0.988244354725 +vn -0.732730984688 0.177388116717 0.656992197037 +vn -0.099295251071 0.116247646511 0.988244354725 +vn -0.044663131237 0.745588660240 0.664908111095 +vn -0.044663131237 0.745588660240 0.664908111095 +vn -0.647355437279 0.397109150887 0.650565385818 +vn -0.732730984688 0.177388116717 0.656992197037 +vn -0.958392262459 0.126938298345 0.255677402020 +vn -0.732730984688 0.177388116717 0.656992197037 +vn -0.647355437279 0.397109150887 0.650565385818 +vn -0.647355437279 0.397109150887 0.650565385818 +vn -0.616252362728 0.723567962646 0.310938030481 +vn -0.958392262459 0.126938298345 0.255677402020 +vn -0.923233270645 0.139920517802 -0.357858330011 +vn -0.958392262459 0.126938298345 0.255677402020 +vn -0.616252362728 0.723567962646 0.310938030481 +vn -0.616252362728 0.723567962646 0.310938030481 +vn -0.588900148869 0.785738825798 -0.189238250256 +vn -0.923233270645 0.139920517802 -0.357858330011 +vn -0.505702018738 0.255946218967 -0.823867142200 +vn -0.923233270645 0.139920517802 -0.357858330011 +vn -0.588900148869 0.785738825798 -0.189238250256 +vn -0.588900148869 0.785738825798 -0.189238250256 +vn -0.197339877486 0.930521845818 -0.308522373438 +vn -0.505702018738 0.255946218967 -0.823867142200 +vn 0.121527731419 0.339896291494 -0.932577908039 +vn -0.505702018738 0.255946218967 -0.823867142200 +vn -0.197339877486 0.930521845818 -0.308522373438 +vn -0.197339877486 0.930521845818 -0.308522373438 +vn 0.134792685509 0.935151696205 -0.327600717545 +vn 0.121527731419 0.339896291494 -0.932577908039 +vn 0.661811292171 0.282459527254 -0.694422364235 +vn 0.121527731419 0.339896291494 -0.932577908039 +vn 0.134792685509 0.935151696205 -0.327600717545 +vn 0.134792685509 0.935151696205 -0.327600717545 +vn 0.353185534477 0.857257008553 -0.374660313129 +vn 0.661811292171 0.282459527254 -0.694422364235 +vn 0.003682370530 -0.286790549755 0.957986235619 +vn -0.146622955799 -0.094849973917 0.984634518623 +vn -0.192643001676 -0.043187834322 0.980318069458 +vn -0.192643001676 -0.043187834322 0.980318069458 +vn -0.183688417077 -0.212271973491 0.959791243076 +vn 0.003682370530 -0.286790549755 0.957986235619 +vn 0.003682370530 -0.286790549755 0.957986235619 +vn 0.437060922384 -0.336361557245 0.834169447422 +vn 0.254596322775 -0.007401073817 0.967019081116 +vn 0.254596322775 -0.007401073817 0.967019081116 +vn -0.146622955799 -0.094849973917 0.984634518623 +vn 0.003682370530 -0.286790549755 0.957986235619 +vn -0.165890663862 -0.080262839794 0.982872426510 +vn 0.212242841721 0.213236674666 0.953668236732 +vn 0.387058705091 0.203184276819 0.899389624596 +vn 0.387058705091 0.203184276819 0.899389624596 +vn 0.128649204969 -0.137737974524 0.982078194618 +vn -0.165890663862 -0.080262839794 0.982872426510 +vn -0.350755721331 -0.247280761600 0.903228998184 +vn -0.165890663862 -0.080262839794 0.982872426510 +vn 0.128649204969 -0.137737974524 0.982078194618 +vn 0.128649204969 -0.137737974524 0.982078194618 +vn -0.030241664499 -0.188028365374 0.981697916985 +vn -0.350755721331 -0.247280761600 0.903228998184 +vn -0.165890663862 -0.080262839794 0.982872426510 +vn -0.350755721331 -0.247280761600 0.903228998184 +vn -0.313671469688 -0.051237426698 0.948148190975 +vn -0.313671469688 -0.051237426698 0.948148190975 +vn 0.212242841721 0.213236674666 0.953668236732 +vn -0.165890663862 -0.080262839794 0.982872426510 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.895822942257 -0.438793927431 -0.070435158908 +vn -0.788973271847 -0.602539002895 -0.120282799006 +vn -0.788973271847 -0.602539002895 -0.120282799006 +vn -0.838057279587 -0.542088925838 0.061640992761 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn 0.342720925808 -0.695488154888 0.631536722183 +vn 0.114055275917 -0.985913276672 0.122337311506 +vn 0.114055275917 -0.985913276672 0.122337311506 +vn -0.895822942257 -0.438793927431 -0.070435158908 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.775184810162 -0.412616372108 0.478368282318 +vn 0.300667345524 -0.639052808285 0.707962334156 +vn 0.300667345524 -0.639052808285 0.707962334156 +vn 0.342720925808 -0.695488154888 0.631536722183 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.904853343964 -0.389152079821 0.172629922628 +vn -0.712314128876 -0.334099650383 0.617240667343 +vn -0.712314128876 -0.334099650383 0.617240667343 +vn -0.775184810162 -0.412616372108 0.478368282318 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn -0.838057279587 -0.542088925838 0.061640992761 +vn -0.708151936531 -0.630512416363 0.317765504122 +vn -0.708151936531 -0.630512416363 0.317765504122 +vn -0.904853343964 -0.389152079821 0.172629922628 +vn -0.861182153225 -0.498627454042 0.098670788109 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn 0.551769614220 -0.158883363008 -0.818722426891 +vn 0.481644779444 -0.286784321070 -0.828114151955 +vn 0.481644779444 -0.286784321070 -0.828114151955 +vn -0.066533669829 -0.595843851566 -0.800339519978 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn -0.066533669829 -0.595843851566 -0.800339519978 +vn -0.480001002550 -0.817916572094 -0.317193210125 +vn -0.480001002550 -0.817916572094 -0.317193210125 +vn -0.248833328485 -0.838818490505 -0.484216392040 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn -0.078196831048 -0.519988059998 -0.850586652756 +vn 0.239243164659 -0.068095922470 -0.968568861485 +vn -0.091559745371 -0.086368091404 -0.992047071457 +vn -0.091559745371 -0.086368091404 -0.992047071457 +vn -0.587422788143 -0.400375455618 -0.703302204609 +vn -0.078196831048 -0.519988059998 -0.850586652756 +vn 0.077598378062 -0.729124426842 -0.679967701435 +vn -0.078196831048 -0.519988059998 -0.850586652756 +vn -0.587422788143 -0.400375455618 -0.703302204609 +vn -0.587422788143 -0.400375455618 -0.703302204609 +vn -0.804523825645 -0.541744470596 -0.243422150612 +vn 0.077598378062 -0.729124426842 -0.679967701435 +vn -0.078196831048 -0.519988059998 -0.850586652756 +vn 0.077598378062 -0.729124426842 -0.679967701435 +vn 0.499776810408 -0.188684627414 -0.845352709293 +vn 0.499776810408 -0.188684627414 -0.845352709293 +vn 0.239243164659 -0.068095922470 -0.968568861485 +vn -0.078196831048 -0.519988059998 -0.850586652756 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.554837346077 -0.267414331436 0.787810325623 +vn 0.673874497414 -0.215907782316 0.706595361233 +vn 0.673874497414 -0.215907782316 0.706595361233 +vn 0.794679522514 -0.204883232713 0.571408152580 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.794679522514 -0.204883232713 0.571408152580 +vn 0.911147356033 -0.255800306797 0.323073804379 +vn 0.911147356033 -0.255800306797 0.323073804379 +vn 0.957786798477 -0.129983693361 0.256414979696 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.772374272346 -0.180488973856 0.608984172344 +vn 0.437060922384 -0.336361557245 0.834169447422 +vn 0.437060922384 -0.336361557245 0.834169447422 +vn 0.554837346077 -0.267414331436 0.787810325623 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.554837346077 -0.267414331436 0.787810325623 +vn 0.141802325845 -0.285771101713 0.947748363018 +vn 0.433231920004 -0.378289788961 0.818050682545 +vn 0.433231920004 -0.378289788961 0.818050682545 +vn 0.673874497414 -0.215907782316 0.706595361233 +vn 0.554837346077 -0.267414331436 0.787810325623 +vn 0.826433897018 -0.245585113764 0.506650686264 +vn 0.607277333736 -0.348896950483 0.713782250881 +vn 0.594317197800 -0.286981523037 0.751284718513 +vn 0.594317197800 -0.286981523037 0.751284718513 +vn 0.949352085590 -0.135964304209 0.283274352551 +vn 0.826433897018 -0.245585113764 0.506650686264 +vn 0.607277333736 -0.348896950483 0.713782250881 +vn 0.826433897018 -0.245585113764 0.506650686264 +vn 0.673874497414 -0.215907782316 0.706595361233 +vn 0.673874497414 -0.215907782316 0.706595361233 +vn 0.433231920004 -0.378289788961 0.818050682545 +vn 0.607277333736 -0.348896950483 0.713782250881 +vn 0.607277333736 -0.348896950483 0.713782250881 +vn 0.433231920004 -0.378289788961 0.818050682545 +vn 0.392399847507 -0.357331961393 0.847547173500 +vn 0.392399847507 -0.357331961393 0.847547173500 +vn 0.594317197800 -0.286981523037 0.751284718513 +vn 0.607277333736 -0.348896950483 0.713782250881 +vn 0.300583481789 -0.145427584648 0.942602992058 +vn 0.799090266228 0.180629134178 0.573435127735 +vn 0.608893454075 0.235913068056 0.757359743118 +vn 0.608893454075 0.235913068056 0.757359743118 +vn 0.376915872097 0.132242649794 0.916758596897 +vn 0.300583481789 -0.145427584648 0.942602992058 +vn 0.402302742004 -0.049480821937 0.914168536663 +vn 0.849230527878 0.245510101318 0.467474341393 +vn 0.799090266228 0.180629134178 0.573435127735 +vn 0.799090266228 0.180629134178 0.573435127735 +vn 0.300583481789 -0.145427584648 0.942602992058 +vn 0.402302742004 -0.049480821937 0.914168536663 +vn 0.794679522514 -0.204883232713 0.571408152580 +vn 0.673874497414 -0.215907782316 0.706595361233 +vn 0.826433897018 -0.245585113764 0.506650686264 +vn 0.826433897018 -0.245585113764 0.506650686264 +vn 0.911147356033 -0.255800306797 0.323073804379 +vn 0.794679522514 -0.204883232713 0.571408152580 +vn -0.111832089722 0.738575160503 0.664831042290 +vn 0.056181445718 0.741137385368 0.668998479843 +vn -0.077421911061 0.794761300087 0.601963758469 +vn -0.077421911061 0.794761300087 0.601963758469 +vn 0.033342286944 0.775118052959 0.630936086178 +vn -0.111832089722 0.738575160503 0.664831042290 +vn -0.111832089722 0.738575160503 0.664831042290 +vn 0.075495623052 0.638999342918 0.765493452549 +vn 0.003467992181 0.502313077450 0.864678859711 +vn 0.003467992181 0.502313077450 0.864678859711 +vn -0.128300026059 0.747947514057 0.651240050793 +vn -0.111832089722 0.738575160503 0.664831042290 +vn -0.111832089722 0.738575160503 0.664831042290 +vn 0.033342286944 0.775118052959 0.630936086178 +vn 0.174220189452 0.662042379379 0.728935658932 +vn 0.174220189452 0.662042379379 0.728935658932 +vn 0.075495623052 0.638999342918 0.765493452549 +vn -0.111832089722 0.738575160503 0.664831042290 +vn 0.257161408663 0.242241248488 0.935514390469 +vn 0.171342536807 0.505555272102 0.845609605312 +vn 0.003467992181 0.502313077450 0.864678859711 +vn 0.003467992181 0.502313077450 0.864678859711 +vn 0.411579012871 0.213397726417 0.886038422585 +vn 0.257161408663 0.242241248488 0.935514390469 +vn 0.257161408663 0.242241248488 0.935514390469 +vn -0.030241664499 -0.188028365374 0.981697916985 +vn 0.128649204969 -0.137737974524 0.982078194618 +vn 0.128649204969 -0.137737974524 0.982078194618 +vn 0.387058705091 0.203184276819 0.899389624596 +vn 0.257161408663 0.242241248488 0.935514390469 +vn 0.257161408663 0.242241248488 0.935514390469 +vn 0.411579012871 0.213397726417 0.886038422585 +vn 0.672764062881 -0.122789070010 0.729596734047 +vn 0.672764062881 -0.122789070010 0.729596734047 +vn -0.030241664499 -0.188028365374 0.981697916985 +vn 0.257161408663 0.242241248488 0.935514390469 +vn -0.904853343964 -0.389152079821 0.172629922628 +vn -0.708151936531 -0.630512416363 0.317765504122 +vn -0.453124940395 -0.533907651901 0.713877022266 +vn -0.453124940395 -0.533907651901 0.713877022266 +vn -0.712314128876 -0.334099650383 0.617240667343 +vn -0.904853343964 -0.389152079821 0.172629922628 +vn 0.171342536807 0.505555272102 0.845609605312 +vn 0.237984761596 0.763823807240 0.599947035313 +vn -0.128300026059 0.747947514057 0.651240050793 +vn -0.128300026059 0.747947514057 0.651240050793 +vn 0.003467992181 0.502313077450 0.864678859711 +vn 0.171342536807 0.505555272102 0.845609605312 +vn 0.171342536807 0.505555272102 0.845609605312 +vn 0.257161408663 0.242241248488 0.935514390469 +vn 0.506997168064 0.607864022255 0.611109852791 +vn 0.506997168064 0.607864022255 0.611109852791 +vn 0.237984761596 0.763823807240 0.599947035313 +vn 0.171342536807 0.505555272102 0.845609605312 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn -0.248833328485 -0.838818490505 -0.484216392040 +vn -0.382115125656 -0.919592499733 0.091310665011 +vn -0.382115125656 -0.919592499733 0.091310665011 +vn -0.228975534439 -0.966663718224 0.114592753351 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn 0.492926061153 0.859100401402 0.137733176351 +vn 0.282441049814 0.953399002552 0.106100834906 +vn 0.273829400539 0.924696326256 -0.264488548040 +vn 0.273829400539 0.924696326256 -0.264488548040 +vn 0.465314835310 0.811250209808 -0.354055315256 +vn 0.492926061153 0.859100401402 0.137733176351 +vn 0.492926061153 0.859100401402 0.137733176351 +vn 0.181931316853 0.702624380589 0.687909841537 +vn 0.038794174790 0.877033114433 0.478861063719 +vn 0.038794174790 0.877033114433 0.478861063719 +vn 0.282441049814 0.953399002552 0.106100834906 +vn 0.492926061153 0.859100401402 0.137733176351 +vn 0.282441049814 0.953399002552 0.106100834906 +vn 0.283960044384 0.958195984364 0.035031434149 +vn 0.263197481632 0.913265168667 -0.310924112797 +vn 0.263197481632 0.913265168667 -0.310924112797 +vn 0.273829400539 0.924696326256 -0.264488548040 +vn 0.282441049814 0.953399002552 0.106100834906 +vn 0.282441049814 0.953399002552 0.106100834906 +vn 0.038794174790 0.877033114433 0.478861063719 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.283960044384 0.958195984364 0.035031434149 +vn 0.282441049814 0.953399002552 0.106100834906 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.593964874744 0.762796759605 0.255630224943 +vn 0.609941601753 0.791307687759 -0.042465876788 +vn 0.609941601753 0.791307687759 -0.042465876788 +vn 0.283960044384 0.958195984364 0.035031434149 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.237984761596 0.763823807240 0.599947035313 +vn 0.506997168064 0.607864022255 0.611109852791 +vn 0.506997168064 0.607864022255 0.611109852791 +vn 0.593964874744 0.762796759605 0.255630224943 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.038794174790 0.877033114433 0.478861063719 +vn -0.128300026059 0.747947514057 0.651240050793 +vn -0.128300026059 0.747947514057 0.651240050793 +vn 0.237984761596 0.763823807240 0.599947035313 +vn 0.251620978117 0.921132147312 0.296989083290 +vn 0.593964874744 0.762796759605 0.255630224943 +vn 0.759271144867 0.607571125031 0.233162388206 +vn 0.784938931465 0.612792372704 -0.091413095593 +vn 0.784938931465 0.612792372704 -0.091413095593 +vn 0.609941601753 0.791307687759 -0.042465876788 +vn 0.593964874744 0.762796759605 0.255630224943 +vn 0.593964874744 0.762796759605 0.255630224943 +vn 0.506997168064 0.607864022255 0.611109852791 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.759271144867 0.607571125031 0.233162388206 +vn 0.593964874744 0.762796759605 0.255630224943 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.643045067787 0.415603846312 0.643246829510 +vn 0.807897269726 0.516708374023 0.283397972584 +vn 0.807897269726 0.516708374023 0.283397972584 +vn 0.759271144867 0.607571125031 0.233162388206 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.387058705091 0.203184276819 0.899389624596 +vn 0.212242841721 0.213236674666 0.953668236732 +vn 0.212242841721 0.213236674666 0.953668236732 +vn 0.643045067787 0.415603846312 0.643246829510 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.506997168064 0.607864022255 0.611109852791 +vn 0.257161408663 0.242241248488 0.935514390469 +vn 0.257161408663 0.242241248488 0.935514390469 +vn 0.387058705091 0.203184276819 0.899389624596 +vn 0.633399128914 0.460792303085 0.621671974659 +vn 0.643045067787 0.415603846312 0.643246829510 +vn 0.669892311096 0.461255759001 0.581796705723 +vn 0.784898281097 0.530796229839 0.319671779871 +vn 0.784898281097 0.530796229839 0.319671779871 +vn 0.807897269726 0.516708374023 0.283397972584 +vn 0.643045067787 0.415603846312 0.643246829510 +vn 0.643045067787 0.415603846312 0.643246829510 +vn 0.212242841721 0.213236674666 0.953668236732 +vn 0.349010735750 0.216333240271 0.911806702614 +vn 0.349010735750 0.216333240271 0.911806702614 +vn 0.669892311096 0.461255759001 0.581796705723 +vn 0.643045067787 0.415603846312 0.643246829510 +vn 0.349010735750 0.216333240271 0.911806702614 +vn 0.488295584917 0.005115387030 0.872663319111 +vn 0.711518228054 0.412141650915 0.569105505943 +vn 0.711518228054 0.412141650915 0.569105505943 +vn 0.669892311096 0.461255759001 0.581796705723 +vn 0.349010735750 0.216333240271 0.911806702614 +vn 0.349010735750 0.216333240271 0.911806702614 +vn -0.059541396797 -0.167730659246 0.984033167362 +vn 0.156115815043 -0.433304518461 0.887623250484 +vn 0.156115815043 -0.433304518461 0.887623250484 +vn 0.488295584917 0.005115387030 0.872663319111 +vn 0.349010735750 0.216333240271 0.911806702614 +vn 0.349010735750 0.216333240271 0.911806702614 +vn 0.212242841721 0.213236674666 0.953668236732 +vn -0.313671469688 -0.051237426698 0.948148190975 +vn -0.313671469688 -0.051237426698 0.948148190975 +vn -0.059541396797 -0.167730659246 0.984033167362 +vn 0.349010735750 0.216333240271 0.911806702614 +vn -0.059541396797 -0.167730659246 0.984033167362 +vn -0.453124940395 -0.533907651901 0.713877022266 +vn -0.226015701890 -0.698085904121 0.679406344891 +vn -0.226015701890 -0.698085904121 0.679406344891 +vn 0.156115815043 -0.433304518461 0.887623250484 +vn -0.059541396797 -0.167730659246 0.984033167362 +vn -0.059541396797 -0.167730659246 0.984033167362 +vn -0.313671469688 -0.051237426698 0.948148190975 +vn -0.712314128876 -0.334099650383 0.617240667343 +vn -0.712314128876 -0.334099650383 0.617240667343 +vn -0.453124940395 -0.533907651901 0.713877022266 +vn -0.059541396797 -0.167730659246 0.984033167362 +vn 0.156115815043 -0.433304518461 0.887623250484 +vn -0.087970539927 -0.399062961340 0.912693798542 +vn 0.341495156288 -0.114650800824 0.932864546776 +vn 0.341495156288 -0.114650800824 0.932864546776 +vn 0.488295584917 0.005115387030 0.872663319111 +vn 0.156115815043 -0.433304518461 0.887623250484 +vn 0.156115815043 -0.433304518461 0.887623250484 +vn -0.226015701890 -0.698085904121 0.679406344891 +vn -0.496036052704 -0.635917305946 0.591233789921 +vn -0.496036052704 -0.635917305946 0.591233789921 +vn -0.087970539927 -0.399062961340 0.912693798542 +vn 0.156115815043 -0.433304518461 0.887623250484 +vn -0.087970539927 -0.399062961340 0.912693798542 +vn -0.284749358892 -0.108630344272 0.952427029610 +vn -0.028153385967 0.120939411223 0.992260575294 +vn -0.028153385967 0.120939411223 0.992260575294 +vn 0.341495156288 -0.114650800824 0.932864546776 +vn -0.087970539927 -0.399062961340 0.912693798542 +vn -0.087970539927 -0.399062961340 0.912693798542 +vn -0.496036052704 -0.635917305946 0.591233789921 +vn -0.699491322041 -0.402707010508 0.590371906757 +vn -0.699491322041 -0.402707010508 0.590371906757 +vn -0.284749358892 -0.108630344272 0.952427029610 +vn -0.087970539927 -0.399062961340 0.912693798542 +vn -0.699491322041 -0.402707010508 0.590371906757 +vn -0.496036052704 -0.635917305946 0.591233789921 +vn -0.702819705009 -0.693241298199 0.159565150738 +vn -0.702819705009 -0.693241298199 0.159565150738 +vn -0.772367894650 -0.622275471687 0.127362146974 +vn -0.699491322041 -0.402707010508 0.590371906757 +vn -0.772367894650 -0.622275471687 0.127362146974 +vn -0.702819705009 -0.693241298199 0.159565150738 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn -0.498844444752 -0.762858331203 -0.411340981722 +vn -0.772367894650 -0.622275471687 0.127362146974 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn -0.702819705009 -0.693241298199 0.159565150738 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn -0.696502983570 -0.649435698986 -0.305150657892 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn -0.149990439415 -0.628571093082 -0.763152182102 +vn 0.011610183865 -0.692953765392 -0.720888495445 +vn 0.011610183865 -0.692953765392 -0.720888495445 +vn -0.498844444752 -0.762858331203 -0.411340981722 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn -0.696502983570 -0.649435698986 -0.305150657892 +vn -0.427448153496 -0.568507194519 -0.702913641930 +vn -0.427448153496 -0.568507194519 -0.702913641930 +vn -0.149990439415 -0.628571093082 -0.763152182102 +vn -0.616724967957 -0.723277747631 -0.310676127672 +vn 0.011610183865 -0.692953765392 -0.720888495445 +vn -0.149990439415 -0.628571093082 -0.763152182102 +vn 0.472444206476 -0.356785893440 -0.805915832520 +vn 0.472444206476 -0.356785893440 -0.805915832520 +vn 0.552886605263 -0.401466637850 -0.730165004730 +vn 0.011610183865 -0.692953765392 -0.720888495445 +vn 0.552886605263 -0.401466637850 -0.730165004730 +vn 0.472444206476 -0.356785893440 -0.805915832520 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.816603302956 -0.058255102485 -0.574252009392 +vn 0.552886605263 -0.401466637850 -0.730165004730 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.472444206476 -0.356785893440 -0.805915832520 +vn 0.345611095428 0.052760053426 -0.936893463135 +vn 0.345611095428 0.052760053426 -0.936893463135 +vn 0.613577902317 0.418933212757 -0.669340789318 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.814443290234 0.428261250257 -0.391502827406 +vn 0.915098607540 0.254363477230 -0.312879711390 +vn 0.915098607540 0.254363477230 -0.312879711390 +vn 0.816603302956 -0.058255102485 -0.574252009392 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.613577902317 0.418933212757 -0.669340789318 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.814443290234 0.428261250257 -0.391502827406 +vn 0.763571262360 0.082273617387 -0.640460789204 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.613577902317 0.418933212757 -0.669340789318 +vn 0.578398287296 0.384770780802 -0.719309985638 +vn 0.578398287296 0.384770780802 -0.719309985638 +vn 0.707261800766 0.620109856129 -0.339476883411 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.666696548462 0.741401612759 0.076415598392 +vn 0.719430983067 0.689766764641 0.081491425633 +vn 0.719430983067 0.689766764641 0.081491425633 +vn 0.814443290234 0.428261250257 -0.391502827406 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.707261800766 0.620109856129 -0.339476883411 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.666696548462 0.741401612759 0.076415598392 +vn 0.695236504078 0.614502906799 -0.372870475054 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.707261800766 0.620109856129 -0.339476883411 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.819642543793 0.571151673794 -0.044405825436 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.784898281097 0.530796229839 0.319671779871 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.666696548462 0.741401612759 0.076415598392 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.819642543793 0.571151673794 -0.044405825436 +vn 0.807897269726 0.516708374023 0.283397972584 +vn 0.807897269726 0.516708374023 0.283397972584 +vn 0.784898281097 0.530796229839 0.319671779871 +vn 0.779175877571 0.625292360783 0.043525107205 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.519054591656 0.696090579033 0.496024429798 +vn 0.719430983067 0.689766764641 0.081491425633 +vn 0.719430983067 0.689766764641 0.081491425633 +vn 0.666696548462 0.741401612759 0.076415598392 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.711518228054 0.412141650915 0.569105505943 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.519054591656 0.696090579033 0.496024429798 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.784898281097 0.530796229839 0.319671779871 +vn 0.669892311096 0.461255759001 0.581796705723 +vn 0.669892311096 0.461255759001 0.581796705723 +vn 0.711518228054 0.412141650915 0.569105505943 +vn 0.690741717815 0.620739996433 0.370887815952 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.129821896553 0.431758940220 0.892597615719 +vn 0.509533464909 0.721226334572 0.469263523817 +vn 0.509533464909 0.721226334572 0.469263523817 +vn 0.519054591656 0.696090579033 0.496024429798 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.341495156288 -0.114650800824 0.932864546776 +vn -0.028153385967 0.120939411223 0.992260575294 +vn -0.028153385967 0.120939411223 0.992260575294 +vn 0.129821896553 0.431758940220 0.892597615719 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.711518228054 0.412141650915 0.569105505943 +vn 0.488295584917 0.005115387030 0.872663319111 +vn 0.488295584917 0.005115387030 0.872663319111 +vn 0.341495156288 -0.114650800824 0.932864546776 +vn 0.483176141977 0.413156896830 0.771908164024 +vn 0.804123282433 0.590738654137 0.066434659064 +vn 0.915098607540 0.254363477230 -0.312879711390 +vn 0.814443290234 0.428261250257 -0.391502827406 +vn 0.814443290234 0.428261250257 -0.391502827406 +vn 0.719430983067 0.689766764641 0.081491425633 +vn 0.804123282433 0.590738654137 0.066434659064 +vn 0.804123282433 0.590738654137 0.066434659064 +vn 0.719430983067 0.689766764641 0.081491425633 +vn 0.519054591656 0.696090579033 0.496024429798 +vn 0.519054591656 0.696090579033 0.496024429798 +vn 0.509533464909 0.721226334572 0.469263523817 +vn 0.804123282433 0.590738654137 0.066434659064 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.601811349392 0.482836604118 -0.636153995991 +vn 0.568451166153 0.425904035568 -0.703895568848 +vn 0.568451166153 0.425904035568 -0.703895568848 +vn 0.722028672695 0.518228352070 -0.458381891251 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.707261800766 0.620109856129 -0.339476883411 +vn 0.578398287296 0.384770780802 -0.719309985638 +vn 0.578398287296 0.384770780802 -0.719309985638 +vn 0.601811349392 0.482836604118 -0.636153995991 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.722028672695 0.518228352070 -0.458381891251 +vn 0.784938931465 0.612792372704 -0.091413095593 +vn 0.784938931465 0.612792372704 -0.091413095593 +vn 0.819642543793 0.571151673794 -0.044405825436 +vn 0.743355274200 0.583543002605 -0.326956421137 +vn 0.601811349392 0.482836604118 -0.636153995991 +vn 0.279016286135 0.135762885213 -0.950641036034 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn 0.568451166153 0.425904035568 -0.703895568848 +vn 0.601811349392 0.482836604118 -0.636153995991 +vn 0.601811349392 0.482836604118 -0.636153995991 +vn 0.578398287296 0.384770780802 -0.719309985638 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn 0.279016286135 0.135762885213 -0.950641036034 +vn 0.601811349392 0.482836604118 -0.636153995991 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn -0.050258129835 -0.230293035507 -0.971822619438 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn 0.279016286135 0.135762885213 -0.950641036034 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn 0.345611095428 0.052760053426 -0.936893463135 +vn -0.063608899713 -0.294556140900 -0.953514873981 +vn -0.063608899713 -0.294556140900 -0.953514873981 +vn -0.050258129835 -0.230293035507 -0.971822619438 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn 0.578398287296 0.384770780802 -0.719309985638 +vn 0.613577902317 0.418933212757 -0.669340789318 +vn 0.613577902317 0.418933212757 -0.669340789318 +vn 0.345611095428 0.052760053426 -0.936893463135 +vn 0.332224786282 0.123063504696 -0.935137450695 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn -0.486695349216 -0.541777074337 -0.685277462006 +vn -0.587422788143 -0.400375455618 -0.703302204609 +vn -0.587422788143 -0.400375455618 -0.703302204609 +vn -0.091559745371 -0.086368091404 -0.992047071457 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn -0.050258129835 -0.230293035507 -0.971822619438 +vn -0.427448153496 -0.568507194519 -0.702913641930 +vn -0.427448153496 -0.568507194519 -0.702913641930 +vn -0.486695349216 -0.541777074337 -0.685277462006 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn -0.091559745371 -0.086368091404 -0.992047071457 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn 0.279016286135 0.135762885213 -0.950641036034 +vn -0.090083517134 -0.213283732533 -0.972828328609 +vn -0.486695349216 -0.541777074337 -0.685277462006 +vn -0.746161580086 -0.604792654514 -0.278332084417 +vn -0.804523825645 -0.541744470596 -0.243422150612 +vn -0.804523825645 -0.541744470596 -0.243422150612 +vn -0.587422788143 -0.400375455618 -0.703302204609 +vn -0.486695349216 -0.541777074337 -0.685277462006 +vn -0.486695349216 -0.541777074337 -0.685277462006 +vn -0.427448153496 -0.568507194519 -0.702913641930 +vn -0.696502983570 -0.649435698986 -0.305150657892 +vn -0.696502983570 -0.649435698986 -0.305150657892 +vn -0.746161580086 -0.604792654514 -0.278332084417 +vn -0.486695349216 -0.541777074337 -0.685277462006 +vn -0.746161580086 -0.604792654514 -0.278332084417 +vn -0.788973271847 -0.602539002895 -0.120282799006 +vn -0.895822942257 -0.438793927431 -0.070435158908 +vn -0.895822942257 -0.438793927431 -0.070435158908 +vn -0.804523825645 -0.541744470596 -0.243422150612 +vn -0.746161580086 -0.604792654514 -0.278332084417 +vn -0.746161580086 -0.604792654514 -0.278332084417 +vn -0.696502983570 -0.649435698986 -0.305150657892 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn -0.788973271847 -0.602539002895 -0.120282799006 +vn -0.746161580086 -0.604792654514 -0.278332084417 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn -0.091559745371 -0.086368091404 -0.992047071457 +vn 0.239243164659 -0.068095922470 -0.968568861485 +vn 0.239243164659 -0.068095922470 -0.968568861485 +vn 0.257461100817 0.166636288166 -0.951812028885 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn 0.257461100817 0.166636288166 -0.951812028885 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.568451166153 0.425904035568 -0.703895568848 +vn 0.266986012459 0.223067820072 -0.937528252602 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.257461100817 0.166636288166 -0.951812028885 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.148090556264 0.691439032555 -0.707093536854 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.591527760029 0.703443408012 -0.394033312798 +vn 0.722028672695 0.518228352070 -0.458381891251 +vn 0.722028672695 0.518228352070 -0.458381891251 +vn 0.568451166153 0.425904035568 -0.703895568848 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.148090556264 0.691439032555 -0.707093536854 +vn 0.263197481632 0.913265168667 -0.310924112797 +vn 0.263197481632 0.913265168667 -0.310924112797 +vn 0.591527760029 0.703443408012 -0.394033312798 +vn 0.460776060820 0.492168724537 -0.738549530506 +vn 0.591527760029 0.703443408012 -0.394033312798 +vn 0.609941601753 0.791307687759 -0.042465876788 +vn 0.784938931465 0.612792372704 -0.091413095593 +vn 0.784938931465 0.612792372704 -0.091413095593 +vn 0.722028672695 0.518228352070 -0.458381891251 +vn 0.591527760029 0.703443408012 -0.394033312798 +vn 0.591527760029 0.703443408012 -0.394033312798 +vn 0.263197481632 0.913265168667 -0.310924112797 +vn 0.283960044384 0.958195984364 0.035031434149 +vn 0.283960044384 0.958195984364 0.035031434149 +vn 0.609941601753 0.791307687759 -0.042465876788 +vn 0.591527760029 0.703443408012 -0.394033312798 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.237777918577 0.189985200763 -0.952558279037 +vn 0.103644236922 0.293572992086 -0.950301408768 +vn 0.103644236922 0.293572992086 -0.950301408768 +vn 0.097468562424 0.453337430954 -0.885993838310 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.257461100817 0.166636288166 -0.951812028885 +vn 0.239243164659 -0.068095922470 -0.968568861485 +vn 0.239243164659 -0.068095922470 -0.968568861485 +vn 0.237777918577 0.189985200763 -0.952558279037 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.097468562424 0.453337430954 -0.885993838310 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn 0.148090556264 0.691439032555 -0.707093536854 +vn 0.121597990394 0.379167228937 -0.917303740978 +vn 0.237777918577 0.189985200763 -0.952558279037 +vn 0.321765869856 0.031786296517 -0.946285545826 +vn 0.077338591218 0.131009072065 -0.988359928131 +vn 0.077338591218 0.131009072065 -0.988359928131 +vn 0.103644236922 0.293572992086 -0.950301408768 +vn 0.237777918577 0.189985200763 -0.952558279037 +vn 0.237777918577 0.189985200763 -0.952558279037 +vn 0.239243164659 -0.068095922470 -0.968568861485 +vn 0.499776810408 -0.188684627414 -0.845352709293 +vn 0.499776810408 -0.188684627414 -0.845352709293 +vn 0.321765869856 0.031786296517 -0.946285545826 +vn 0.237777918577 0.189985200763 -0.952558279037 +vn 0.321765869856 0.031786296517 -0.946285545826 +vn 0.378137439489 -0.097102984786 -0.920642733574 +vn 0.034318841994 -0.066007785499 -0.997228741646 +vn 0.034318841994 -0.066007785499 -0.997228741646 +vn 0.077338591218 0.131009072065 -0.988359928131 +vn 0.321765869856 0.031786296517 -0.946285545826 +vn 0.321765869856 0.031786296517 -0.946285545826 +vn 0.499776810408 -0.188684627414 -0.845352709293 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.378137439489 -0.097102984786 -0.920642733574 +vn 0.321765869856 0.031786296517 -0.946285545826 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.685206770897 -0.246739089489 -0.685282051563 +vn 0.382293641567 -0.255345821381 -0.888059735298 +vn 0.382293641567 -0.255345821381 -0.888059735298 +vn 0.378137439489 -0.097102984786 -0.920642733574 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.925868690014 -0.143659874797 -0.349469542503 +vn 0.935110151768 -0.206819996238 -0.287740230560 +vn 0.935110151768 -0.206819996238 -0.287740230560 +vn 0.685206770897 -0.246739089489 -0.685282051563 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.499776810408 -0.188684627414 -0.845352709293 +vn 0.077598378062 -0.729124426842 -0.679967701435 +vn 0.077598378062 -0.729124426842 -0.679967701435 +vn 0.925868690014 -0.143659874797 -0.349469542503 +vn 0.668428599834 -0.167659357190 -0.724633395672 +vn 0.925868690014 -0.143659874797 -0.349469542503 +vn 0.994119644165 -0.024308571592 0.105523765087 +vn 0.979428172112 -0.143875330687 0.141493156552 +vn 0.979428172112 -0.143875330687 0.141493156552 +vn 0.935110151768 -0.206819996238 -0.287740230560 +vn 0.925868690014 -0.143659874797 -0.349469542503 +vn 0.925868690014 -0.143659874797 -0.349469542503 +vn 0.077598378062 -0.729124426842 -0.679967701435 +vn 0.114055275917 -0.985913276672 0.122337311506 +vn 0.114055275917 -0.985913276672 0.122337311506 +vn 0.994119644165 -0.024308571592 0.105523765087 +vn 0.925868690014 -0.143659874797 -0.349469542503 +vn 0.994119644165 -0.024308571592 0.105523765087 +vn 0.967731595039 0.089420117438 0.235583648086 +vn 0.974512875080 -0.025255583227 0.222905322909 +vn 0.974512875080 -0.025255583227 0.222905322909 +vn 0.979428172112 -0.143875330687 0.141493156552 +vn 0.994119644165 -0.024308571592 0.105523765087 +vn 0.994119644165 -0.024308571592 0.105523765087 +vn 0.114055275917 -0.985913276672 0.122337311506 +vn 0.342720925808 -0.695488154888 0.631536722183 +vn 0.342720925808 -0.695488154888 0.631536722183 +vn 0.967731595039 0.089420117438 0.235583648086 +vn 0.994119644165 -0.024308571592 0.105523765087 +vn 0.967731595039 0.089420117438 0.235583648086 +vn 0.975846707821 0.090819150209 0.198683232069 +vn 0.963214516640 -0.029732352123 0.267083823681 +vn 0.963214516640 -0.029732352123 0.267083823681 +vn 0.974512875080 -0.025255583227 0.222905322909 +vn 0.967731595039 0.089420117438 0.235583648086 +vn 0.967731595039 0.089420117438 0.235583648086 +vn 0.342720925808 -0.695488154888 0.631536722183 +vn 0.300667345524 -0.639052808285 0.707962334156 +vn 0.300667345524 -0.639052808285 0.707962334156 +vn 0.975846707821 0.090819150209 0.198683232069 +vn 0.967731595039 0.089420117438 0.235583648086 +vn 0.975846707821 0.090819150209 0.198683232069 +vn 0.968691527843 0.096191249788 0.228875383735 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.963214516640 -0.029732352123 0.267083823681 +vn 0.975846707821 0.090819150209 0.198683232069 +vn 0.975846707821 0.090819150209 0.198683232069 +vn 0.300667345524 -0.639052808285 0.707962334156 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn 0.968691527843 0.096191249788 0.228875383735 +vn 0.975846707821 0.090819150209 0.198683232069 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn 0.672764062881 -0.122789070010 0.729596734047 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.968691527843 0.096191249788 0.228875383735 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn -0.350755721331 -0.247280761600 0.903228998184 +vn -0.030241664499 -0.188028365374 0.981697916985 +vn -0.030241664499 -0.188028365374 0.981697916985 +vn 0.672764062881 -0.122789070010 0.729596734047 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn 0.300667345524 -0.639052808285 0.707962334156 +vn -0.775184810162 -0.412616372108 0.478368282318 +vn -0.775184810162 -0.412616372108 0.478368282318 +vn -0.350755721331 -0.247280761600 0.903228998184 +vn 0.518350839615 -0.279829472303 0.808089017868 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.739345252514 0.255324393511 0.623039305210 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.968691527843 0.096191249788 0.228875383735 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.450228840113 0.505723893642 0.735892176628 +vn 0.405834138393 0.527080059052 0.746649324894 +vn 0.405834138393 0.527080059052 0.746649324894 +vn 0.739345252514 0.255324393511 0.623039305210 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.672764062881 -0.122789070010 0.729596734047 +vn 0.411579012871 0.213397726417 0.886038422585 +vn 0.411579012871 0.213397726417 0.886038422585 +vn 0.450228840113 0.505723893642 0.735892176628 +vn 0.852591931820 0.267648220062 0.448833376169 +vn 0.450228840113 0.505723893642 0.735892176628 +vn 0.075495623052 0.638999342918 0.765493452549 +vn 0.174220189452 0.662042379379 0.728935658932 +vn 0.174220189452 0.662042379379 0.728935658932 +vn 0.405834138393 0.527080059052 0.746649324894 +vn 0.450228840113 0.505723893642 0.735892176628 +vn 0.450228840113 0.505723893642 0.735892176628 +vn 0.411579012871 0.213397726417 0.886038422585 +vn 0.003467992181 0.502313077450 0.864678859711 +vn 0.003467992181 0.502313077450 0.864678859711 +vn 0.075495623052 0.638999342918 0.765493452549 +vn 0.450228840113 0.505723893642 0.735892176628 +vn 0.405834138393 0.527080059052 0.746649324894 +vn 0.221997469664 0.427836626768 0.876169443130 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.739345252514 0.255324393511 0.623039305210 +vn 0.405834138393 0.527080059052 0.746649324894 +vn 0.405834138393 0.527080059052 0.746649324894 +vn 0.174220189452 0.662042379379 0.728935658932 +vn 0.076707385480 0.563243448734 0.822722792625 +vn 0.076707385480 0.563243448734 0.822722792625 +vn 0.221997469664 0.427836626768 0.876169443130 +vn 0.405834138393 0.527080059052 0.746649324894 +vn 0.076707385480 0.563243448734 0.822722792625 +vn -0.046318404377 0.483514308929 0.874110102654 +vn 0.046239048243 0.326019555330 0.944231569767 +vn 0.046239048243 0.326019555330 0.944231569767 +vn 0.221997469664 0.427836626768 0.876169443130 +vn 0.076707385480 0.563243448734 0.822722792625 +vn 0.076707385480 0.563243448734 0.822722792625 +vn -0.001853432041 0.702297449112 0.711881220341 +vn -0.122877381742 0.615804612637 0.778258204460 +vn -0.122877381742 0.615804612637 0.778258204460 +vn -0.046318404377 0.483514308929 0.874110102654 +vn 0.076707385480 0.563243448734 0.822722792625 +vn 0.076707385480 0.563243448734 0.822722792625 +vn 0.174220189452 0.662042379379 0.728935658932 +vn 0.033342286944 0.775118052959 0.630936086178 +vn 0.033342286944 0.775118052959 0.630936086178 +vn -0.001853432041 0.702297449112 0.711881220341 +vn 0.076707385480 0.563243448734 0.822722792625 +vn -0.001853432041 0.702297449112 0.711881220341 +vn -0.107103355229 0.802144825459 0.587445795536 +vn -0.135683953762 0.754256904125 0.642406702042 +vn -0.135683953762 0.754256904125 0.642406702042 +vn -0.122877381742 0.615804612637 0.778258204460 +vn -0.001853432041 0.702297449112 0.711881220341 +vn -0.001853432041 0.702297449112 0.711881220341 +vn 0.033342286944 0.775118052959 0.630936086178 +vn -0.077421911061 0.794761300087 0.601963758469 +vn -0.077421911061 0.794761300087 0.601963758469 +vn -0.107103355229 0.802144825459 0.587445795536 +vn -0.001853432041 0.702297449112 0.711881220341 +vn -0.122877381742 0.615804612637 0.778258204460 +vn -0.300841867924 0.528104782104 0.794102966785 +vn -0.277309715748 0.398924142122 0.874047398567 +vn -0.277309715748 0.398924142122 0.874047398567 +vn -0.046318404377 0.483514308929 0.874110102654 +vn -0.122877381742 0.615804612637 0.778258204460 +vn -0.122877381742 0.615804612637 0.778258204460 +vn -0.135683953762 0.754256904125 0.642406702042 +vn -0.221242532134 0.675346255302 0.703533351421 +vn -0.221242532134 0.675346255302 0.703533351421 +vn -0.300841867924 0.528104782104 0.794102966785 +vn -0.122877381742 0.615804612637 0.778258204460 +vn -0.300841867924 0.528104782104 0.794102966785 +vn -0.220259353518 0.493042349815 0.841662108898 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.277309715748 0.398924142122 0.874047398567 +vn -0.300841867924 0.528104782104 0.794102966785 +vn -0.300841867924 0.528104782104 0.794102966785 +vn -0.221242532134 0.675346255302 0.703533351421 +vn -0.217704832554 0.616207301617 0.756897091866 +vn -0.217704832554 0.616207301617 0.756897091866 +vn -0.220259353518 0.493042349815 0.841662108898 +vn -0.300841867924 0.528104782104 0.794102966785 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.208762139082 0.173094764352 0.962526142597 +vn -0.237557619810 0.219554141164 0.946235895157 +vn -0.237557619810 0.219554141164 0.946235895157 +vn -0.277309715748 0.398924142122 0.874047398567 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.208762139082 0.173094764352 0.962526142597 +vn -0.192643001676 -0.043187834322 0.980318069458 +vn -0.146622955799 -0.094849973917 0.984634518623 +vn -0.146622955799 -0.094849973917 0.984634518623 +vn -0.237557619810 0.219554141164 0.946235895157 +vn -0.208762139082 0.173094764352 0.962526142597 +vn -0.237557619810 0.219554141164 0.946235895157 +vn 0.046239048243 0.326019555330 0.944231569767 +vn -0.046318404377 0.483514308929 0.874110102654 +vn -0.046318404377 0.483514308929 0.874110102654 +vn -0.277309715748 0.398924142122 0.874047398567 +vn -0.237557619810 0.219554141164 0.946235895157 +vn -0.237557619810 0.219554141164 0.946235895157 +vn -0.146622955799 -0.094849973917 0.984634518623 +vn 0.254596322775 -0.007401073817 0.967019081116 +vn 0.254596322775 -0.007401073817 0.967019081116 +vn 0.046239048243 0.326019555330 0.944231569767 +vn -0.237557619810 0.219554141164 0.946235895157 +vn 0.046239048243 0.326019555330 0.944231569767 +vn 0.254596322775 -0.007401073817 0.967019081116 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.221997469664 0.427836626768 0.876169443130 +vn 0.046239048243 0.326019555330 0.944231569767 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.254596322775 -0.007401073817 0.967019081116 +vn 0.437060922384 -0.336361557245 0.834169447422 +vn 0.437060922384 -0.336361557245 0.834169447422 +vn 0.772374272346 -0.180488973856 0.608984172344 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.772374272346 -0.180488973856 0.608984172344 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.739345252514 0.255324393511 0.623039305210 +vn 0.548855543137 0.135462462902 0.824868202209 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.772374272346 -0.180488973856 0.608984172344 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.963214516640 -0.029732352123 0.267083823681 +vn 0.930129706860 0.026116527617 0.366301268339 +vn 0.963214516640 -0.029732352123 0.267083823681 +vn 0.841595470905 -0.201776951551 0.501002132893 +vn 0.957786798477 -0.129983693361 0.256414979696 +vn 0.957786798477 -0.129983693361 0.256414979696 +vn 0.974512875080 -0.025255583227 0.222905322909 +vn 0.963214516640 -0.029732352123 0.267083823681 +vn 0.974512875080 -0.025255583227 0.222905322909 +vn 0.957786798477 -0.129983693361 0.256414979696 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.979428172112 -0.143875330687 0.141493156552 +vn 0.974512875080 -0.025255583227 0.222905322909 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.957214355469 -0.286995112896 0.037074200809 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.898189663887 -0.392043143511 -0.198890775442 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.957786798477 -0.129983693361 0.256414979696 +vn 0.911147356033 -0.255800306797 0.323073804379 +vn 0.911147356033 -0.255800306797 0.323073804379 +vn 0.957214355469 -0.286995112896 0.037074200809 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.898189663887 -0.392043143511 -0.198890775442 +vn 0.935110151768 -0.206819996238 -0.287740230560 +vn 0.935110151768 -0.206819996238 -0.287740230560 +vn 0.979428172112 -0.143875330687 0.141493156552 +vn 0.964216649532 -0.242792561650 0.106480389833 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.964142441750 -0.114445134997 -0.239440232515 +vn 0.784293711185 -0.208406299353 -0.584337353706 +vn 0.784293711185 -0.208406299353 -0.584337353706 +vn 0.751338779926 -0.380058526993 -0.539486408234 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.957214355469 -0.286995112896 0.037074200809 +vn 0.949352085590 -0.135964304209 0.283274352551 +vn 0.949352085590 -0.135964304209 0.283274352551 +vn 0.964142441750 -0.114445134997 -0.239440232515 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.751338779926 -0.380058526993 -0.539486408234 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.898189663887 -0.392043143511 -0.198890775442 +vn 0.913284003735 -0.340560376644 -0.223452240229 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.751338779926 -0.380058526993 -0.539486408234 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.367560327053 -0.375832140446 -0.850676000118 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.685206770897 -0.246739089489 -0.685282051563 +vn 0.935110151768 -0.206819996238 -0.287740230560 +vn 0.935110151768 -0.206819996238 -0.287740230560 +vn 0.898189663887 -0.392043143511 -0.198890775442 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.367560327053 -0.375832140446 -0.850676000118 +vn 0.382293641567 -0.255345821381 -0.888059735298 +vn 0.382293641567 -0.255345821381 -0.888059735298 +vn 0.685206770897 -0.246739089489 -0.685282051563 +vn 0.682528674603 -0.394196480513 -0.615437865257 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.560364544392 -0.248785302043 -0.789998352528 +vn 0.314027190208 -0.224331513047 -0.922530353069 +vn 0.314027190208 -0.224331513047 -0.922530353069 +vn 0.144967123866 -0.303422033787 -0.941764116287 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.751338779926 -0.380058526993 -0.539486408234 +vn 0.784293711185 -0.208406299353 -0.584337353706 +vn 0.784293711185 -0.208406299353 -0.584337353706 +vn 0.560364544392 -0.248785302043 -0.789998352528 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.144967123866 -0.303422033787 -0.941764116287 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.367560327053 -0.375832140446 -0.850676000118 +vn 0.448662787676 -0.365269780159 -0.815646827221 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.144967123866 -0.303422033787 -0.941764116287 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.186271145940 -0.284139335155 -0.940514683723 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.018272232264 -0.243482127786 -0.969733238220 +vn 0.382293641567 -0.255345821381 -0.888059735298 +vn 0.382293641567 -0.255345821381 -0.888059735298 +vn 0.367560327053 -0.375832140446 -0.850676000118 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.186271145940 -0.284139335155 -0.940514683723 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.018272232264 -0.243482127786 -0.969733238220 +vn 0.058334883302 -0.343567430973 -0.937314510345 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.227766945958 -0.113212391734 -0.967111766338 +vn 0.034318841994 -0.066007785499 -0.997228741646 +vn 0.034318841994 -0.066007785499 -0.997228741646 +vn 0.018272232264 -0.243482127786 -0.969733238220 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.227766945958 -0.113212391734 -0.967111766338 +vn 0.232259064913 0.042165666819 -0.971739590168 +vn 0.077338591218 0.131009072065 -0.988359928131 +vn 0.077338591218 0.131009072065 -0.988359928131 +vn 0.034318841994 -0.066007785499 -0.997228741646 +vn 0.227766945958 -0.113212391734 -0.967111766338 +vn 0.232259064913 0.042165666819 -0.971739590168 +vn 0.205909222364 0.252331405878 -0.945478856564 +vn 0.103644236922 0.293572992086 -0.950301408768 +vn 0.103644236922 0.293572992086 -0.950301408768 +vn 0.077338591218 0.131009072065 -0.988359928131 +vn 0.232259064913 0.042165666819 -0.971739590168 +vn 0.205909222364 0.252331405878 -0.945478856564 +vn 0.150941848755 0.451750874519 -0.879282474518 +vn 0.097468562424 0.453337430954 -0.885993838310 +vn 0.097468562424 0.453337430954 -0.885993838310 +vn 0.103644236922 0.293572992086 -0.950301408768 +vn 0.205909222364 0.252331405878 -0.945478856564 +vn 0.150941848755 0.451750874519 -0.879282474518 +vn 0.103091351688 0.587236762047 -0.802823245525 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn 0.097468562424 0.453337430954 -0.885993838310 +vn 0.150941848755 0.451750874519 -0.879282474518 +vn 0.018272232264 -0.243482127786 -0.969733238220 +vn 0.034318841994 -0.066007785499 -0.997228741646 +vn 0.378137439489 -0.097102984786 -0.920642733574 +vn 0.378137439489 -0.097102984786 -0.920642733574 +vn 0.382293641567 -0.255345821381 -0.888059735298 +vn 0.018272232264 -0.243482127786 -0.969733238220 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.144967123866 -0.303422033787 -0.941764116287 +vn 0.314027190208 -0.224331513047 -0.922530353069 +vn 0.314027190208 -0.224331513047 -0.922530353069 +vn 0.179423063993 -0.188055112958 -0.965630710125 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.179423063993 -0.188055112958 -0.965630710125 +vn 0.314027190208 -0.224331513047 -0.922530353069 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn 0.092088714242 -0.480216324329 -0.872302651405 +vn 0.179423063993 -0.188055112958 -0.965630710125 +vn 0.560364544392 -0.248785302043 -0.789998352528 +vn 0.551769614220 -0.158883363008 -0.818722426891 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn 0.314027190208 -0.224331513047 -0.922530353069 +vn 0.560364544392 -0.248785302043 -0.789998352528 +vn 0.560364544392 -0.248785302043 -0.789998352528 +vn 0.784293711185 -0.208406299353 -0.584337353706 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.551769614220 -0.158883363008 -0.818722426891 +vn 0.560364544392 -0.248785302043 -0.789998352528 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.803414165974 0.005024130922 -0.595399379730 +vn 0.481644779444 -0.286784321070 -0.828114151955 +vn 0.481644779444 -0.286784321070 -0.828114151955 +vn 0.551769614220 -0.158883363008 -0.818722426891 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.985361099243 -0.003984482028 -0.170433565974 +vn 0.984765470028 0.141468495131 -0.101112186909 +vn 0.984765470028 0.141468495131 -0.101112186909 +vn 0.803414165974 0.005024130922 -0.595399379730 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.784293711185 -0.208406299353 -0.584337353706 +vn 0.964142441750 -0.114445134997 -0.239440232515 +vn 0.964142441750 -0.114445134997 -0.239440232515 +vn 0.985361099243 -0.003984482028 -0.170433565974 +vn 0.812738358974 -0.068893551826 -0.578541278839 +vn 0.890469372272 0.030705736950 0.454006016254 +vn 0.799090266228 0.180629134178 0.573435127735 +vn 0.984765470028 0.141468495131 -0.101112186909 +vn 0.984765470028 0.141468495131 -0.101112186909 +vn 0.985361099243 -0.003984482028 -0.170433565974 +vn 0.890469372272 0.030705736950 0.454006016254 +vn 0.985361099243 -0.003984482028 -0.170433565974 +vn 0.964142441750 -0.114445134997 -0.239440232515 +vn 0.949352085590 -0.135964304209 0.283274352551 +vn 0.949352085590 -0.135964304209 0.283274352551 +vn 0.890469372272 0.030705736950 0.454006016254 +vn 0.985361099243 -0.003984482028 -0.170433565974 +vn 0.890469372272 0.030705736950 0.454006016254 +vn 0.949352085590 -0.135964304209 0.283274352551 +vn 0.594317197800 -0.286981523037 0.751284718513 +vn 0.594317197800 -0.286981523037 0.751284718513 +vn 0.593855559826 0.019980316982 0.804323554039 +vn 0.890469372272 0.030705736950 0.454006016254 +vn 0.593855559826 0.019980316982 0.804323554039 +vn 0.594317197800 -0.286981523037 0.751284718513 +vn 0.392399847507 -0.357331961393 0.847547173500 +vn 0.392399847507 -0.357331961393 0.847547173500 +vn 0.466343373060 -0.015833530575 0.884462058544 +vn 0.593855559826 0.019980316982 0.804323554039 +vn 0.466343373060 -0.015833530575 0.884462058544 +vn 0.392399847507 -0.357331961393 0.847547173500 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn 0.113157883286 -0.147927060723 0.982503354549 +vn 0.466343373060 -0.015833530575 0.884462058544 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn 0.392399847507 -0.357331961393 0.847547173500 +vn 0.433231920004 -0.378289788961 0.818050682545 +vn 0.433231920004 -0.378289788961 0.818050682545 +vn 0.141802325845 -0.285771101713 0.947748363018 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn -0.196055978537 -0.171053454280 0.965558290482 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn 0.113157883286 -0.147927060723 0.982503354549 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn 0.141802325845 -0.285771101713 0.947748363018 +vn -0.183084383607 -0.301576018333 0.935698688030 +vn -0.183084383607 -0.301576018333 0.935698688030 +vn -0.196055978537 -0.171053454280 0.965558290482 +vn 0.050828304142 -0.260675102472 0.964087665081 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn -0.283693671227 -0.203705921769 0.937028169632 +vn 0.066894985735 -0.120529606938 0.990453243256 +vn 0.066894985735 -0.120529606938 0.990453243256 +vn 0.113157883286 -0.147927060723 0.982503354549 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn -0.283693671227 -0.203705921769 0.937028169632 +vn -0.359831422567 -0.413703173399 0.836284041405 +vn -0.088382758200 -0.339686036110 0.936376988888 +vn -0.088382758200 -0.339686036110 0.936376988888 +vn 0.066894985735 -0.120529606938 0.990453243256 +vn -0.283693671227 -0.203705921769 0.937028169632 +vn -0.359831422567 -0.413703173399 0.836284041405 +vn -0.338521063328 -0.652876555920 0.677610278130 +vn -0.278343588114 -0.634537100792 0.721032261848 +vn -0.278343588114 -0.634537100792 0.721032261848 +vn -0.088382758200 -0.339686036110 0.936376988888 +vn -0.359831422567 -0.413703173399 0.836284041405 +vn -0.338521063328 -0.652876555920 0.677610278130 +vn -0.286758840084 -0.825533211231 0.486070215702 +vn -0.374007642269 -0.798582255840 0.471576750278 +vn -0.374007642269 -0.798582255840 0.471576750278 +vn -0.278343588114 -0.634537100792 0.721032261848 +vn -0.338521063328 -0.652876555920 0.677610278130 +vn -0.286758840084 -0.825533211231 0.486070215702 +vn -0.228975534439 -0.966663718224 0.114592753351 +vn -0.382115125656 -0.919592499733 0.091310665011 +vn -0.382115125656 -0.919592499733 0.091310665011 +vn -0.374007642269 -0.798582255840 0.471576750278 +vn -0.286758840084 -0.825533211231 0.486070215702 +vn -0.374007642269 -0.798582255840 0.471576750278 +vn -0.347463965416 -0.779532015324 0.521151185036 +vn -0.121289253235 -0.574827611446 0.809235513210 +vn -0.121289253235 -0.574827611446 0.809235513210 +vn -0.278343588114 -0.634537100792 0.721032261848 +vn -0.374007642269 -0.798582255840 0.471576750278 +vn -0.374007642269 -0.798582255840 0.471576750278 +vn -0.382115125656 -0.919592499733 0.091310665011 +vn -0.444822311401 -0.877944648266 0.177049025893 +vn -0.444822311401 -0.877944648266 0.177049025893 +vn -0.347463965416 -0.779532015324 0.521151185036 +vn -0.374007642269 -0.798582255840 0.471576750278 +vn -0.462024897337 -0.668333053589 0.582978487015 +vn -0.347463965416 -0.779532015324 0.521151185036 +vn -0.444822311401 -0.877944648266 0.177049025893 +vn -0.444822311401 -0.877944648266 0.177049025893 +vn -0.658858060837 -0.689020693302 0.301921337843 +vn -0.462024897337 -0.668333053589 0.582978487015 +vn -0.480001002550 -0.817916572094 -0.317193210125 +vn -0.631677627563 -0.756497323513 -0.169396430254 +vn -0.658858060837 -0.689020693302 0.301921337843 +vn -0.658858060837 -0.689020693302 0.301921337843 +vn -0.444822311401 -0.877944648266 0.177049025893 +vn -0.480001002550 -0.817916572094 -0.317193210125 +vn -0.444822311401 -0.877944648266 0.177049025893 +vn -0.382115125656 -0.919592499733 0.091310665011 +vn -0.248833328485 -0.838818490505 -0.484216392040 +vn -0.248833328485 -0.838818490505 -0.484216392040 +vn -0.480001002550 -0.817916572094 -0.317193210125 +vn -0.444822311401 -0.877944648266 0.177049025893 +vn -0.728796660900 -0.660439372063 -0.180763065815 +vn -0.753570079803 -0.612610638142 -0.238412141800 +vn -0.903826475143 -0.356221497059 0.237073644996 +vn -0.903826475143 -0.356221497059 0.237073644996 +vn -0.860012650490 -0.378439724445 0.342288851738 +vn -0.728796660900 -0.660439372063 -0.180763065815 +vn -0.728796660900 -0.660439372063 -0.180763065815 +vn -0.175218105316 -0.657200574875 -0.733066201210 +vn -0.325670957565 -0.585272669792 -0.742559313774 +vn -0.325670957565 -0.585272669792 -0.742559313774 +vn -0.753570079803 -0.612610638142 -0.238412141800 +vn -0.728796660900 -0.660439372063 -0.180763065815 +vn -0.631677627563 -0.756497323513 -0.169396430254 +vn -0.074344001710 -0.674611508846 -0.734419703484 +vn -0.175218105316 -0.657200574875 -0.733066201210 +vn -0.175218105316 -0.657200574875 -0.733066201210 +vn -0.728796660900 -0.660439372063 -0.180763065815 +vn -0.631677627563 -0.756497323513 -0.169396430254 +vn -0.175218105316 -0.657200574875 -0.733066201210 +vn 0.329441517591 -0.413433134556 -0.848847091198 +vn 0.246417284012 -0.373370826244 -0.894356071949 +vn 0.246417284012 -0.373370826244 -0.894356071949 +vn -0.325670957565 -0.585272669792 -0.742559313774 +vn -0.175218105316 -0.657200574875 -0.733066201210 +vn -0.074344001710 -0.674611508846 -0.734419703484 +vn 0.407755017281 -0.386306762695 -0.827346920967 +vn 0.329441517591 -0.413433134556 -0.848847091198 +vn 0.329441517591 -0.413433134556 -0.848847091198 +vn -0.175218105316 -0.657200574875 -0.733066201210 +vn -0.074344001710 -0.674611508846 -0.734419703484 +vn 0.329441517591 -0.413433134556 -0.848847091198 +vn 0.754504084587 -0.130536347628 -0.643182575703 +vn 0.720516026020 -0.153431087732 -0.676251113415 +vn 0.720516026020 -0.153431087732 -0.676251113415 +vn 0.246417284012 -0.373370826244 -0.894356071949 +vn 0.329441517591 -0.413433134556 -0.848847091198 +vn 0.407755017281 -0.386306762695 -0.827346920967 +vn 0.785199224949 -0.046839069575 -0.617469251156 +vn 0.754504084587 -0.130536347628 -0.643182575703 +vn 0.754504084587 -0.130536347628 -0.643182575703 +vn 0.329441517591 -0.413433134556 -0.848847091198 +vn 0.407755017281 -0.386306762695 -0.827346920967 +vn 0.754504084587 -0.130536347628 -0.643182575703 +vn 0.970057964325 0.115720912814 -0.213532686234 +vn 0.952648162842 0.045603808016 -0.300635546446 +vn 0.952648162842 0.045603808016 -0.300635546446 +vn 0.720516026020 -0.153431087732 -0.676251113415 +vn 0.754504084587 -0.130536347628 -0.643182575703 +vn 0.785199224949 -0.046839069575 -0.617469251156 +vn 0.971741199493 0.187253728509 -0.143718585372 +vn 0.970057964325 0.115720912814 -0.213532686234 +vn 0.970057964325 0.115720912814 -0.213532686234 +vn 0.754504084587 -0.130536347628 -0.643182575703 +vn 0.785199224949 -0.046839069575 -0.617469251156 +vn 0.970057964325 0.115720912814 -0.213532686234 +vn 0.886226296425 0.257387071848 0.385168552399 +vn 0.931108534336 0.223939180374 0.287903070450 +vn 0.931108534336 0.223939180374 0.287903070450 +vn 0.952648162842 0.045603808016 -0.300635546446 +vn 0.970057964325 0.115720912814 -0.213532686234 +vn 0.971741199493 0.187253728509 -0.143718585372 +vn 0.849230527878 0.245510101318 0.467474341393 +vn 0.886226296425 0.257387071848 0.385168552399 +vn 0.886226296425 0.257387071848 0.385168552399 +vn 0.970057964325 0.115720912814 -0.213532686234 +vn 0.971741199493 0.187253728509 -0.143718585372 +vn 0.983807981014 0.074132882059 0.163175269961 +vn 0.920179307461 0.077894940972 -0.383669644594 +vn 0.952648162842 0.045603808016 -0.300635546446 +vn 0.952648162842 0.045603808016 -0.300635546446 +vn 0.931108534336 0.223939180374 0.287903070450 +vn 0.983807981014 0.074132882059 0.163175269961 +vn 0.441210776567 0.220206886530 0.869966685772 +vn 0.614874482155 0.042262133211 0.787491738796 +vn 0.983807981014 0.074132882059 0.163175269961 +vn 0.983807981014 0.074132882059 0.163175269961 +vn 0.931108534336 0.223939180374 0.287903070450 +vn 0.441210776567 0.220206886530 0.869966685772 +vn 0.931108534336 0.223939180374 0.287903070450 +vn 0.886226296425 0.257387071848 0.385168552399 +vn 0.388409644365 0.097376465797 0.916327297688 +vn 0.388409644365 0.097376465797 0.916327297688 +vn 0.441210776567 0.220206886530 0.869966685772 +vn 0.931108534336 0.223939180374 0.287903070450 +vn -0.209134399891 0.041847482324 0.976991117001 +vn -0.096592143178 -0.040983092040 0.994479954243 +vn 0.614874482155 0.042262133211 0.787491738796 +vn 0.614874482155 0.042262133211 0.787491738796 +vn 0.441210776567 0.220206886530 0.869966685772 +vn -0.209134399891 0.041847482324 0.976991117001 +vn 0.441210776567 0.220206886530 0.869966685772 +vn 0.388409644365 0.097376465797 0.916327297688 +vn -0.261542350054 -0.173252478242 0.949515223503 +vn -0.261542350054 -0.173252478242 0.949515223503 +vn -0.209134399891 0.041847482324 0.976991117001 +vn 0.441210776567 0.220206886530 0.869966685772 +vn -0.261542350054 -0.173252478242 0.949515223503 +vn -0.716518461704 -0.298295706511 0.630571901798 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.209134399891 0.041847482324 0.976991117001 +vn -0.261542350054 -0.173252478242 0.949515223503 +vn -0.462024897337 -0.668333053589 0.582978487015 +vn -0.716518461704 -0.298295706511 0.630571901798 +vn -0.261542350054 -0.173252478242 0.949515223503 +vn -0.261542350054 -0.173252478242 0.949515223503 +vn -0.122824735940 -0.428479611874 0.895164430141 +vn -0.462024897337 -0.668333053589 0.582978487015 +vn 0.388409644365 0.097376465797 0.916327297688 +vn 0.402302742004 -0.049480821937 0.914168536663 +vn -0.122824735940 -0.428479611874 0.895164430141 +vn -0.122824735940 -0.428479611874 0.895164430141 +vn -0.261542350054 -0.173252478242 0.949515223503 +vn 0.388409644365 0.097376465797 0.916327297688 +vn -0.096592143178 -0.040983092040 0.994479954243 +vn -0.209134399891 0.041847482324 0.976991117001 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.637993156910 -0.174105063081 0.750101447105 +vn -0.096592143178 -0.040983092040 0.994479954243 +vn -0.930003046989 -0.311220437288 0.195540815592 +vn -0.637993156910 -0.174105063081 0.750101447105 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.903826475143 -0.356221497059 0.237073644996 +vn -0.930003046989 -0.311220437288 0.195540815592 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.716518461704 -0.298295706511 0.630571901798 +vn -0.860012650490 -0.378439724445 0.342288851738 +vn -0.860012650490 -0.378439724445 0.342288851738 +vn -0.903826475143 -0.356221497059 0.237073644996 +vn -0.728682994843 -0.144246354699 0.669487893581 +vn -0.670065939426 -0.258720010519 0.695755422115 +vn -0.575514614582 -0.278533190489 0.768896758556 +vn -0.933749496937 -0.230891004205 0.273498028517 +vn -0.933749496937 -0.230891004205 0.273498028517 +vn -0.922570586205 -0.144029989839 0.357936978340 +vn -0.670065939426 -0.258720010519 0.695755422115 +vn -0.978950858116 -0.052735656500 -0.197165250778 +vn -0.987068951130 -0.001342023723 -0.160290583968 +vn -0.922570586205 -0.144029989839 0.357936978340 +vn -0.922570586205 -0.144029989839 0.357936978340 +vn -0.933749496937 -0.230891004205 0.273498028517 +vn -0.978950858116 -0.052735656500 -0.197165250778 +vn -0.930003046989 -0.311220437288 0.195540815592 +vn -0.886968255043 -0.360542476177 -0.288611203432 +vn -0.978950858116 -0.052735656500 -0.197165250778 +vn -0.978950858116 -0.052735656500 -0.197165250778 +vn -0.933749496937 -0.230891004205 0.273498028517 +vn -0.930003046989 -0.311220437288 0.195540815592 +vn -0.656407594681 0.145513758063 -0.740239739418 +vn -0.609359264374 0.086500100791 -0.788161814213 +vn -0.987068951130 -0.001342023723 -0.160290583968 +vn -0.987068951130 -0.001342023723 -0.160290583968 +vn -0.978950858116 -0.052735656500 -0.197165250778 +vn -0.656407594681 0.145513758063 -0.740239739418 +vn -0.886968255043 -0.360542476177 -0.288611203432 +vn -0.532093167305 -0.256158202887 -0.807006716728 +vn -0.656407594681 0.145513758063 -0.740239739418 +vn -0.656407594681 0.145513758063 -0.740239739418 +vn -0.978950858116 -0.052735656500 -0.197165250778 +vn -0.886968255043 -0.360542476177 -0.288611203432 +vn 0.021359665319 0.267187446356 -0.963407814503 +vn -0.023929292336 0.121215716004 -0.992337703705 +vn -0.609359264374 0.086500100791 -0.788161814213 +vn -0.609359264374 0.086500100791 -0.788161814213 +vn -0.656407594681 0.145513758063 -0.740239739418 +vn 0.021359665319 0.267187446356 -0.963407814503 +vn -0.532093167305 -0.256158202887 -0.807006716728 +vn 0.135324358940 -0.097970917821 -0.985945761204 +vn 0.021359665319 0.267187446356 -0.963407814503 +vn 0.021359665319 0.267187446356 -0.963407814503 +vn -0.656407594681 0.145513758063 -0.740239739418 +vn -0.532093167305 -0.256158202887 -0.807006716728 +vn 0.495944917202 0.221249133348 -0.839694857597 +vn -0.023929292336 0.121215716004 -0.992337703705 +vn 0.021359665319 0.267187446356 -0.963407814503 +vn 0.021359665319 0.267187446356 -0.963407814503 +vn 0.596999526024 0.318955272436 -0.736110806465 +vn 0.495944917202 0.221249133348 -0.839694857597 +vn 0.135324358940 -0.097970917821 -0.985945761204 +vn 0.660331547260 0.014505122788 -0.750834107399 +vn 0.596999526024 0.318955272436 -0.736110806465 +vn 0.596999526024 0.318955272436 -0.736110806465 +vn 0.021359665319 0.267187446356 -0.963407814503 +vn 0.135324358940 -0.097970917821 -0.985945761204 +vn 0.908574581146 0.206608444452 -0.363049775362 +vn 0.495944917202 0.221249133348 -0.839694857597 +vn 0.596999526024 0.318955272436 -0.736110806465 +vn 0.596999526024 0.318955272436 -0.736110806465 +vn 0.924159824848 0.201810598373 -0.324347227812 +vn 0.908574581146 0.206608444452 -0.363049775362 +vn 0.920179307461 0.077894940972 -0.383669644594 +vn 0.924159824848 0.201810598373 -0.324347227812 +vn 0.596999526024 0.318955272436 -0.736110806465 +vn 0.596999526024 0.318955272436 -0.736110806465 +vn 0.660331547260 0.014505122788 -0.750834107399 +vn 0.920179307461 0.077894940972 -0.383669644594 +vn 0.915072023869 -0.104790523648 -0.389438182116 +vn 0.922186851501 -0.285774916410 -0.260584205389 +vn 0.566875457764 -0.316759556532 -0.760470628738 +vn 0.566875457764 -0.316759556532 -0.760470628738 +vn 0.427678495646 -0.126462370157 -0.895040988922 +vn 0.915072023869 -0.104790523648 -0.389438182116 +vn 0.915072023869 -0.104790523648 -0.389438182116 +vn 0.965425789356 -0.103984490037 0.239040255547 +vn 0.961917400360 -0.257273793221 0.092331200838 +vn 0.961917400360 -0.257273793221 0.092331200838 +vn 0.922186851501 -0.285774916410 -0.260584205389 +vn 0.915072023869 -0.104790523648 -0.389438182116 +vn 0.908574581146 0.206608444452 -0.363049775362 +vn 0.980115532875 0.048620678484 0.192378610373 +vn 0.965425789356 -0.103984490037 0.239040255547 +vn 0.965425789356 -0.103984490037 0.239040255547 +vn 0.915072023869 -0.104790523648 -0.389438182116 +vn 0.908574581146 0.206608444452 -0.363049775362 +vn 0.965425789356 -0.103984490037 0.239040255547 +vn 0.761923372746 -0.109514206648 0.638341128826 +vn 0.877248644829 -0.199683353305 0.436533331871 +vn 0.877248644829 -0.199683353305 0.436533331871 +vn 0.961917400360 -0.257273793221 0.092331200838 +vn 0.965425789356 -0.103984490037 0.239040255547 +vn 0.980115532875 0.048620678484 0.192378610373 +vn 0.799184441566 -0.119045473635 0.589179396629 +vn 0.761923372746 -0.109514206648 0.638341128826 +vn 0.761923372746 -0.109514206648 0.638341128826 +vn 0.965425789356 -0.103984490037 0.239040255547 +vn 0.980115532875 0.048620678484 0.192378610373 +vn 0.761923372746 -0.109514206648 0.638341128826 +vn 0.050410073251 -0.219276145101 0.974359691143 +vn 0.262398809195 -0.280063599348 0.923423647881 +vn 0.262398809195 -0.280063599348 0.923423647881 +vn 0.877248644829 -0.199683353305 0.436533331871 +vn 0.761923372746 -0.109514206648 0.638341128826 +vn 0.799184441566 -0.119045473635 0.589179396629 +vn 0.127896860242 -0.234220936894 0.963733851910 +vn 0.050410073251 -0.219276145101 0.974359691143 +vn 0.050410073251 -0.219276145101 0.974359691143 +vn 0.761923372746 -0.109514206648 0.638341128826 +vn 0.799184441566 -0.119045473635 0.589179396629 +vn 0.050410073251 -0.219276145101 0.974359691143 +vn -0.668597519398 -0.234984099865 0.705520927906 +vn -0.581942975521 -0.282826542854 0.762464106083 +vn -0.581942975521 -0.282826542854 0.762464106083 +vn 0.262398809195 -0.280063599348 0.923423647881 +vn 0.050410073251 -0.219276145101 0.974359691143 +vn -0.670065939426 -0.258720010519 0.695755422115 +vn -0.668597519398 -0.234984099865 0.705520927906 +vn 0.050410073251 -0.219276145101 0.974359691143 +vn 0.050410073251 -0.219276145101 0.974359691143 +vn 0.127896860242 -0.234220936894 0.963733851910 +vn -0.670065939426 -0.258720010519 0.695755422115 +vn -0.581942975521 -0.282826542854 0.762464106083 +vn -0.668597519398 -0.234984099865 0.705520927906 +vn -0.883964776993 -0.243255555630 0.399290591478 +vn -0.883964776993 -0.243255555630 0.399290591478 +vn -0.861634016037 -0.294701397419 0.413204461336 +vn -0.581942975521 -0.282826542854 0.762464106083 +vn -0.861634016037 -0.294701397419 0.413204461336 +vn -0.883964776993 -0.243255555630 0.399290591478 +vn -0.947189986706 -0.247276708484 -0.204170018435 +vn -0.947189986706 -0.247276708484 -0.204170018435 +vn -0.944620668888 -0.320841640234 -0.068938180804 +vn -0.861634016037 -0.294701397419 0.413204461336 +vn -0.944620668888 -0.320841640234 -0.068938180804 +vn -0.947189986706 -0.247276708484 -0.204170018435 +vn -0.519403219223 -0.215743064880 -0.826846539974 +vn -0.519403219223 -0.215743064880 -0.826846539974 +vn -0.610765278339 -0.297193735838 -0.733922123909 +vn -0.944620668888 -0.320841640234 -0.068938180804 +vn -0.610765278339 -0.297193735838 -0.733922123909 +vn -0.519403219223 -0.215743064880 -0.826846539974 +vn -0.041514541954 -0.171664625406 -0.984280347824 +vn -0.041514541954 -0.171664625406 -0.984280347824 +vn -0.012012279592 -0.263556957245 -0.964569032192 +vn -0.610765278339 -0.297193735838 -0.733922123909 +vn -0.012012279592 -0.263556957245 -0.964569032192 +vn -0.041514541954 -0.171664625406 -0.984280347824 +vn 0.427678495646 -0.126462370157 -0.895040988922 +vn 0.427678495646 -0.126462370157 -0.895040988922 +vn 0.566875457764 -0.316759556532 -0.760470628738 +vn -0.012012279592 -0.263556957245 -0.964569032192 +vn -0.121289253235 -0.574827611446 0.809235513210 +vn 0.300583481789 -0.145427584648 0.942602992058 +vn -0.088382758200 -0.339686036110 0.936376988888 +vn -0.088382758200 -0.339686036110 0.936376988888 +vn -0.278343588114 -0.634537100792 0.721032261848 +vn -0.121289253235 -0.574827611446 0.809235513210 +vn 0.148090556264 0.691439032555 -0.707093536854 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn 0.273829400539 0.924696326256 -0.264488548040 +vn 0.273829400539 0.924696326256 -0.264488548040 +vn 0.263197481632 0.913265168667 -0.310924112797 +vn 0.148090556264 0.691439032555 -0.707093536854 +vn 0.819642543793 0.571151673794 -0.044405825436 +vn 0.784938931465 0.612792372704 -0.091413095593 +vn 0.759271144867 0.607571125031 0.233162388206 +vn 0.759271144867 0.607571125031 0.233162388206 +vn 0.807897269726 0.516708374023 0.283397972584 +vn 0.819642543793 0.571151673794 -0.044405825436 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn -0.644651114941 -0.755516409874 0.116704128683 +vn -0.838057279587 -0.542088925838 0.061640992761 +vn -0.838057279587 -0.542088925838 0.061640992761 +vn -0.788973271847 -0.602539002895 -0.120282799006 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn -0.226015701890 -0.698085904121 0.679406344891 +vn -0.453124940395 -0.533907651901 0.713877022266 +vn -0.708151936531 -0.630512416363 0.317765504122 +vn -0.708151936531 -0.630512416363 0.317765504122 +vn -0.525639712811 -0.737791001797 0.423517793417 +vn -0.226015701890 -0.698085904121 0.679406344891 +vn 0.056181445718 0.741137385368 0.668998479843 +vn -0.111832089722 0.738575160503 0.664831042290 +vn -0.030380034819 0.719979643822 0.693329930305 +vn -0.030380034819 0.719979643822 0.693329930305 +vn 0.209175691009 0.608960092068 0.765122950077 +vn 0.056181445718 0.741137385368 0.668998479843 +vn -0.804523825645 -0.541744470596 -0.243422150612 +vn -0.895822942257 -0.438793927431 -0.070435158908 +vn 0.114055275917 -0.985913276672 0.122337311506 +vn 0.114055275917 -0.985913276672 0.122337311506 +vn 0.077598378062 -0.729124426842 -0.679967701435 +vn -0.804523825645 -0.541744470596 -0.243422150612 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn 0.092088714242 -0.480216324329 -0.872302651405 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn 0.189562767744 -0.437566787004 -0.878977417946 +vn -0.248833328485 -0.838818490505 -0.484216392040 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn -0.030380034819 0.719979643822 0.693329930305 +vn 0.038794174790 0.877033114433 0.478861063719 +vn 0.181931316853 0.702624380589 0.687909841537 +vn 0.181931316853 0.702624380589 0.687909841537 +vn 0.209175691009 0.608960092068 0.765122950077 +vn -0.030380034819 0.719979643822 0.693329930305 +vn -0.030380034819 0.719979643822 0.693329930305 +vn -0.111832089722 0.738575160503 0.664831042290 +vn -0.128300026059 0.747947514057 0.651240050793 +vn -0.128300026059 0.747947514057 0.651240050793 +vn 0.038794174790 0.877033114433 0.478861063719 +vn -0.030380034819 0.719979643822 0.693329930305 +vn -0.708151936531 -0.630512416363 0.317765504122 +vn -0.838057279587 -0.542088925838 0.061640992761 +vn -0.644651114941 -0.755516409874 0.116704128683 +vn -0.644651114941 -0.755516409874 0.116704128683 +vn -0.525639712811 -0.737791001797 0.423517793417 +vn -0.708151936531 -0.630512416363 0.317765504122 +vn -0.712314128876 -0.334099650383 0.617240667343 +vn -0.313671469688 -0.051237426698 0.948148190975 +vn -0.350755721331 -0.247280761600 0.903228998184 +vn -0.350755721331 -0.247280761600 0.903228998184 +vn -0.775184810162 -0.412616372108 0.478368282318 +vn -0.712314128876 -0.334099650383 0.617240667343 +vn -0.183688417077 -0.212271973491 0.959791243076 +vn -0.183084383607 -0.301576018333 0.935698688030 +vn 0.141802325845 -0.285771101713 0.947748363018 +vn 0.141802325845 -0.285771101713 0.947748363018 +vn 0.003682370530 -0.286790549755 0.957986235619 +vn -0.183688417077 -0.212271973491 0.959791243076 +vn -0.063608899713 -0.294556140900 -0.953514873981 +vn -0.149990439415 -0.628571093082 -0.763152182102 +vn -0.427448153496 -0.568507194519 -0.702913641930 +vn -0.427448153496 -0.568507194519 -0.702913641930 +vn -0.050258129835 -0.230293035507 -0.971822619438 +vn -0.063608899713 -0.294556140900 -0.953514873981 +vn -0.063608899713 -0.294556140900 -0.953514873981 +vn 0.345611095428 0.052760053426 -0.936893463135 +vn 0.472444206476 -0.356785893440 -0.805915832520 +vn 0.472444206476 -0.356785893440 -0.805915832520 +vn -0.149990439415 -0.628571093082 -0.763152182102 +vn -0.063608899713 -0.294556140900 -0.953514873981 +vn 0.554837346077 -0.267414331436 0.787810325623 +vn 0.437060922384 -0.336361557245 0.834169447422 +vn 0.003682370530 -0.286790549755 0.957986235619 +vn 0.003682370530 -0.286790549755 0.957986235619 +vn 0.141802325845 -0.285771101713 0.947748363018 +vn 0.554837346077 -0.267414331436 0.787810325623 +vn -0.644651114941 -0.755516409874 0.116704128683 +vn -0.526743113995 -0.821171522141 0.219588309526 +vn -0.449271619320 -0.796677172184 0.404302537441 +vn -0.449271619320 -0.796677172184 0.404302537441 +vn -0.525639712811 -0.737791001797 0.423517793417 +vn -0.644651114941 -0.755516409874 0.116704128683 +vn -0.226015701890 -0.698085904121 0.679406344891 +vn -0.525639712811 -0.737791001797 0.423517793417 +vn -0.449271619320 -0.796677172184 0.404302537441 +vn -0.449271619320 -0.796677172184 0.404302537441 +vn -0.496036052704 -0.635917305946 0.591233789921 +vn -0.226015701890 -0.698085904121 0.679406344891 +vn -0.526743113995 -0.821171522141 0.219588309526 +vn -0.702819705009 -0.693241298199 0.159565150738 +vn -0.496036052704 -0.635917305946 0.591233789921 +vn -0.496036052704 -0.635917305946 0.591233789921 +vn -0.449271619320 -0.796677172184 0.404302537441 +vn -0.526743113995 -0.821171522141 0.219588309526 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn -0.702819705009 -0.693241298199 0.159565150738 +vn -0.526743113995 -0.821171522141 0.219588309526 +vn -0.526743113995 -0.821171522141 0.219588309526 +vn -0.644651114941 -0.755516409874 0.116704128683 +vn -0.689048826694 -0.722033262253 -0.062287207693 +vn 0.103091351688 0.587236762047 -0.802823245525 +vn 0.080240480602 0.638880431652 -0.765109956264 +vn 0.273087769747 0.699498236179 -0.660397827625 +vn 0.273087769747 0.699498236179 -0.660397827625 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn 0.103091351688 0.587236762047 -0.802823245525 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn 0.273087769747 0.699498236179 -0.660397827625 +vn 0.465314835310 0.811250209808 -0.354055315256 +vn 0.465314835310 0.811250209808 -0.354055315256 +vn 0.273829400539 0.924696326256 -0.264488548040 +vn 0.183432310820 0.690850257874 -0.699341475964 +vn -0.437444090843 -0.449006646872 -0.779124975204 +vn -0.484131455421 -0.316163808107 -0.815878152847 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn -0.126566886902 -0.326682716608 -0.936621189117 +vn -0.437444090843 -0.449006646872 -0.779124975204 +vn -0.299715340137 -0.398805558681 0.866674602032 +vn -0.039080802351 -0.837885558605 0.544445097446 +vn 0.523957431316 -0.527176558971 0.668994367123 +vn 0.523957431316 -0.527176558971 0.668994367123 +vn 0.472992837429 -0.007466317620 0.881034612656 +vn -0.299715340137 -0.398805558681 0.866674602032 +vn -0.676493585110 -0.725261986256 0.127872824669 +vn -0.754400372505 -0.617815971375 0.221773415804 +vn -0.750844120979 -0.583663046360 0.309144854546 +vn -0.750844120979 -0.583663046360 0.309144854546 +vn -0.653411686420 -0.700181365013 0.287748575211 +vn -0.676493585110 -0.725261986256 0.127872824669 +vn -0.671968698502 -0.667977213860 0.319788247347 +vn -0.636142671108 -0.726978540421 0.258504658937 +vn -0.491080105305 -0.837426304817 0.239911466837 +vn -0.491080105305 -0.837426304817 0.239911466837 +vn -0.584727287292 -0.760881543159 0.281341969967 +vn -0.671968698502 -0.667977213860 0.319788247347 +vn -0.676493585110 -0.725261986256 0.127872824669 +vn -0.639232695103 -0.769012033939 0.001446417999 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.561405301094 -0.783839344978 -0.265367656946 +vn -0.676493585110 -0.725261986256 0.127872824669 +vn 0.840204894543 0.542268991470 -0.000119482458 +vn 0.758434236050 0.649761736393 -0.050863955170 +vn 0.646575033665 0.757143557072 0.093136429787 +vn 0.646575033665 0.757143557072 0.093136429787 +vn 0.746451914310 0.651406109333 0.135939553380 +vn 0.840204894543 0.542268991470 -0.000119482458 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.794405698776 -0.012495234609 -0.607258975506 +vn 0.794405698776 -0.012495234609 -0.607258975506 +vn 0.682675063610 -0.077603086829 -0.726589620113 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.755673527718 -0.580640435219 -0.303008645773 +vn -0.107680648565 -0.894641518593 -0.433614403009 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.755673527718 -0.580640435219 -0.303008645773 +vn 0.411944001913 0.393821209669 0.821709811687 +vn 0.908309876919 0.015843641013 0.417997717857 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.448863714933 0.183967590332 0.874458312988 +vn 0.411944001913 0.393821209669 0.821709811687 +vn -0.836774110794 -0.481221765280 0.261217683554 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.671968698502 -0.667977213860 0.319788247347 +vn -0.671968698502 -0.667977213860 0.319788247347 +vn -0.750844120979 -0.583663046360 0.309144854546 +vn -0.836774110794 -0.481221765280 0.261217683554 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.901949763298 -0.291285008192 0.318809688091 +vn -0.901949763298 -0.291285008192 0.318809688091 +vn -0.695233106613 -0.308236718178 0.649338960648 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn 0.974218785763 0.136953219771 0.179280668497 +vn 0.996836364269 -0.078574545681 0.011971659027 +vn 0.992345750332 0.105561174452 -0.064083777368 +vn 0.992345750332 0.105561174452 -0.064083777368 +vn 0.933551311493 0.355292409658 0.047425679862 +vn 0.974218785763 0.136953219771 0.179280668497 +vn 0.819909214973 0.467708528042 0.330147922039 +vn 0.989734828472 0.125559329987 -0.068262815475 +vn 0.921148419380 0.385149210691 -0.056086633354 +vn 0.921148419380 0.385149210691 -0.056086633354 +vn 0.672626733780 0.736264288425 0.074082300067 +vn 0.819909214973 0.467708528042 0.330147922039 +vn -0.918951630592 -0.393101125956 0.031612586230 +vn -0.448863714933 0.183967590332 0.874458312988 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.743372976780 -0.626676201820 0.233823701739 +vn -0.918951630592 -0.393101125956 0.031612586230 +vn -0.918951630592 -0.393101125956 0.031612586230 +vn -0.743372976780 -0.626676201820 0.233823701739 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.107680648565 -0.894641518593 -0.433614403009 +vn -0.918951630592 -0.393101125956 0.031612586230 +vn 0.972455918789 0.091722354293 0.214281424880 +vn 0.755673527718 -0.580640435219 -0.303008645773 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.972412407398 0.062441378832 0.224755913019 +vn 0.972455918789 0.091722354293 0.214281424880 +vn 0.972455918789 0.091722354293 0.214281424880 +vn 0.972412407398 0.062441378832 0.224755913019 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.411944001913 0.393821209669 0.821709811687 +vn 0.972455918789 0.091722354293 0.214281424880 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn -0.247283771634 -0.719329714775 -0.649165272713 +vn -0.655084729195 -0.755481123924 0.010595246218 +vn -0.655084729195 -0.755481123924 0.010595246218 +vn -0.656450152397 -0.729013919830 -0.193937793374 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn 0.969082534313 0.013526707888 -0.246365621686 +vn 0.795029461384 -0.241429388523 -0.556453049183 +vn 0.647841155529 -0.025598770007 -0.761345207691 +vn 0.647841155529 -0.025598770007 -0.761345207691 +vn 0.859054207802 0.164472088218 -0.484741955996 +vn 0.969082534313 0.013526707888 -0.246365621686 +vn -0.901949763298 -0.291285008192 0.318809688091 +vn -0.616370320320 0.433791041374 0.657200813293 +vn -0.509524762630 0.326571792364 0.796074986458 +vn -0.509524762630 0.326571792364 0.796074986458 +vn -0.695233106613 -0.308236718178 0.649338960648 +vn -0.901949763298 -0.291285008192 0.318809688091 +vn 0.257287919521 0.884805023670 0.388488024473 +vn 0.495524138212 0.582533538342 0.644290685654 +vn 0.819909214973 0.467708528042 0.330147922039 +vn 0.819909214973 0.467708528042 0.330147922039 +vn 0.672626733780 0.736264288425 0.074082300067 +vn 0.257287919521 0.884805023670 0.388488024473 +vn -0.754400372505 -0.617815971375 0.221773415804 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.836774110794 -0.481221765280 0.261217683554 +vn -0.836774110794 -0.481221765280 0.261217683554 +vn -0.750844120979 -0.583663046360 0.309144854546 +vn -0.754400372505 -0.617815971375 0.221773415804 +vn 0.946094691753 0.247164011002 -0.209319770336 +vn 0.990318894386 0.134526759386 0.034220863134 +vn 0.969082534313 0.013526707888 -0.246365621686 +vn 0.969082534313 0.013526707888 -0.246365621686 +vn 0.859054207802 0.164472088218 -0.484741955996 +vn 0.946094691753 0.247164011002 -0.209319770336 +vn -0.755871891975 -0.587243855000 0.289486378431 +vn -0.252987205982 -0.770890474319 0.584572792053 +vn -0.290875703096 0.016440996900 0.956619560719 +vn -0.290875703096 0.016440996900 0.956619560719 +vn -0.649962127209 -0.032834753394 0.759256958961 +vn -0.755871891975 -0.587243855000 0.289486378431 +vn -0.361486613750 -0.871635258198 -0.331027746201 +vn 0.092150472105 -0.960336923599 -0.263175487518 +vn -0.252987205982 -0.770890474319 0.584572792053 +vn -0.252987205982 -0.770890474319 0.584572792053 +vn -0.755871891975 -0.587243855000 0.289486378431 +vn -0.361486613750 -0.871635258198 -0.331027746201 +vn -0.280455946922 -0.412052839994 -0.866923809052 +vn -0.340450763702 -0.576976120472 -0.742422938347 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn 0.551274299622 -0.377769410610 -0.743899822235 +vn -0.280455946922 -0.412052839994 -0.866923809052 +vn 0.192745268345 0.492540299892 0.848677396774 +vn -0.716207981110 0.499084711075 0.487812042236 +vn -0.707751631737 0.511009931564 0.487807840109 +vn -0.707751631737 0.511009931564 0.487807840109 +vn 0.171868190169 0.732080280781 0.659181177616 +vn 0.192745268345 0.492540299892 0.848677396774 +vn -0.707751631737 0.511009931564 0.487807840109 +vn -0.716207981110 0.499084711075 0.487812042236 +vn -0.962301254272 -0.039169192314 -0.269150674343 +vn -0.962301254272 -0.039169192314 -0.269150674343 +vn -0.880204081535 0.234645605087 -0.412531435490 +vn -0.707751631737 0.511009931564 0.487807840109 +vn -0.962301254272 -0.039169192314 -0.269150674343 +vn -0.340450763702 -0.576976120472 -0.742422938347 +vn -0.280455946922 -0.412052839994 -0.866923809052 +vn -0.280455946922 -0.412052839994 -0.866923809052 +vn -0.880204081535 0.234645605087 -0.412531435490 +vn -0.962301254272 -0.039169192314 -0.269150674343 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn 0.913564145565 -0.070332199335 0.400566965342 +vn 0.935332417488 0.343503236771 -0.084609612823 +vn 0.935332417488 0.343503236771 -0.084609612823 +vn 0.551274299622 -0.377769410610 -0.743899822235 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn 0.935332417488 0.343503236771 -0.084609612823 +vn 0.913564145565 -0.070332199335 0.400566965342 +vn 0.192745268345 0.492540299892 0.848677396774 +vn 0.192745268345 0.492540299892 0.848677396774 +vn 0.171868190169 0.732080280781 0.659181177616 +vn 0.935332417488 0.343503236771 -0.084609612823 +vn -0.269836694002 -0.648911595345 -0.711408436298 +vn -0.263094604015 -0.543884932995 -0.796850323677 +vn 0.570066154003 -0.723200023174 -0.389879912138 +vn 0.570066154003 -0.723200023174 -0.389879912138 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn -0.269836694002 -0.648911595345 -0.711408436298 +vn 0.184908628464 0.381606191397 0.905640959740 +vn -0.629050672054 0.575037002563 0.523094296455 +vn -0.648009002209 0.425326675177 0.631808161736 +vn -0.648009002209 0.425326675177 0.631808161736 +vn 0.129396855831 0.545063197613 0.828349292278 +vn 0.184908628464 0.381606191397 0.905640959740 +vn -0.648009002209 0.425326675177 0.631808161736 +vn -0.629050672054 0.575037002563 0.523094296455 +vn -0.946830511093 0.063935965300 -0.315315932035 +vn -0.946830511093 0.063935965300 -0.315315932035 +vn -0.976216316223 -0.161507442594 -0.144627094269 +vn -0.648009002209 0.425326675177 0.631808161736 +vn -0.946830511093 0.063935965300 -0.315315932035 +vn -0.263094604015 -0.543884932995 -0.796850323677 +vn -0.269836694002 -0.648911595345 -0.711408436298 +vn -0.269836694002 -0.648911595345 -0.711408436298 +vn -0.976216316223 -0.161507442594 -0.144627094269 +vn -0.946830511093 0.063935965300 -0.315315932035 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn 0.570066154003 -0.723200023174 -0.389879912138 +vn 0.793580412865 -0.300677359104 0.528983235359 +vn 0.793580412865 -0.300677359104 0.528983235359 +vn 0.956916511059 -0.095712594688 0.274134784937 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn 0.793580412865 -0.300677359104 0.528983235359 +vn 0.184908628464 0.381606191397 0.905640959740 +vn 0.129396855831 0.545063197613 0.828349292278 +vn 0.129396855831 0.545063197613 0.828349292278 +vn 0.956916511059 -0.095712594688 0.274134784937 +vn 0.793580412865 -0.300677359104 0.528983235359 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn 0.254390329123 -0.599514067173 -0.758859992027 +vn -0.446626484394 -0.477167993784 -0.756858944893 +vn -0.446626484394 -0.477167993784 -0.756858944893 +vn -0.333550721407 -0.596247136593 -0.730228245258 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn -0.787957370281 0.477610796690 0.388601541519 +vn -0.825679838657 0.400832891464 0.396970719099 +vn -0.266624689102 0.593041419983 0.759745419025 +vn -0.266624689102 0.593041419983 0.759745419025 +vn 0.076644353569 0.755293190479 0.650890052319 +vn -0.787957370281 0.477610796690 0.388601541519 +vn -0.959001660347 -0.101881392300 -0.264454126358 +vn -0.953632593155 -0.027220398188 -0.299739748240 +vn -0.825679838657 0.400832891464 0.396970719099 +vn -0.825679838657 0.400832891464 0.396970719099 +vn -0.787957370281 0.477610796690 0.388601541519 +vn -0.959001660347 -0.101881392300 -0.264454126358 +vn -0.333550721407 -0.596247136593 -0.730228245258 +vn -0.446626484394 -0.477167993784 -0.756858944893 +vn -0.953632593155 -0.027220398188 -0.299739748240 +vn -0.953632593155 -0.027220398188 -0.299739748240 +vn -0.959001660347 -0.101881392300 -0.264454126358 +vn -0.333550721407 -0.596247136593 -0.730228245258 +vn 0.962681233883 0.257090866566 -0.084552332759 +vn 0.979201793671 0.043794684112 0.198105692863 +vn 0.833615779877 -0.411711692810 -0.368209511042 +vn 0.833615779877 -0.411711692810 -0.368209511042 +vn 0.844129383564 0.021499739960 -0.535708248615 +vn 0.962681233883 0.257090866566 -0.084552332759 +vn 0.565301001072 0.742878913879 0.358560562134 +vn 0.496823996305 0.472443997860 0.727985262871 +vn 0.979201793671 0.043794684112 0.198105692863 +vn 0.979201793671 0.043794684112 0.198105692863 +vn 0.962681233883 0.257090866566 -0.084552332759 +vn 0.565301001072 0.742878913879 0.358560562134 +vn 0.254390329123 -0.599514067173 -0.758859992027 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn -0.340450763702 -0.576976120472 -0.742422938347 +vn -0.340450763702 -0.576976120472 -0.742422938347 +vn -0.446626484394 -0.477167993784 -0.756858944893 +vn 0.254390329123 -0.599514067173 -0.758859992027 +vn -0.825679838657 0.400832891464 0.396970719099 +vn -0.716207981110 0.499084711075 0.487812042236 +vn 0.192745268345 0.492540299892 0.848677396774 +vn 0.192745268345 0.492540299892 0.848677396774 +vn -0.266624689102 0.593041419983 0.759745419025 +vn -0.825679838657 0.400832891464 0.396970719099 +vn -0.953632593155 -0.027220398188 -0.299739748240 +vn -0.962301254272 -0.039169192314 -0.269150674343 +vn -0.716207981110 0.499084711075 0.487812042236 +vn -0.716207981110 0.499084711075 0.487812042236 +vn -0.825679838657 0.400832891464 0.396970719099 +vn -0.953632593155 -0.027220398188 -0.299739748240 +vn -0.446626484394 -0.477167993784 -0.756858944893 +vn -0.340450763702 -0.576976120472 -0.742422938347 +vn -0.962301254272 -0.039169192314 -0.269150674343 +vn -0.962301254272 -0.039169192314 -0.269150674343 +vn -0.953632593155 -0.027220398188 -0.299739748240 +vn -0.446626484394 -0.477167993784 -0.756858944893 +vn 0.979201793671 0.043794684112 0.198105692863 +vn 0.895483732224 -0.159650802612 0.415476232767 +vn 0.856193542480 -0.515455365181 -0.035190675408 +vn 0.856193542480 -0.515455365181 -0.035190675408 +vn 0.833615779877 -0.411711692810 -0.368209511042 +vn 0.979201793671 0.043794684112 0.198105692863 +vn 0.496823996305 0.472443997860 0.727985262871 +vn 0.616365551949 0.101494207978 0.780892074108 +vn 0.895483732224 -0.159650802612 0.415476232767 +vn 0.895483732224 -0.159650802612 0.415476232767 +vn 0.979201793671 0.043794684112 0.198105692863 +vn 0.496823996305 0.472443997860 0.727985262871 +vn 0.551274299622 -0.377769410610 -0.743899822235 +vn 0.330498814583 -0.562601387501 -0.757793009281 +vn -0.321785986423 -0.349392801523 -0.879987776279 +vn -0.321785986423 -0.349392801523 -0.879987776279 +vn -0.280455946922 -0.412052839994 -0.866923809052 +vn 0.551274299622 -0.377769410610 -0.743899822235 +vn -0.707751631737 0.511009931564 0.487807840109 +vn -0.739546954632 0.515352368355 0.432992160320 +vn -0.180061206222 0.563334167004 0.806370019913 +vn -0.180061206222 0.563334167004 0.806370019913 +vn 0.171868190169 0.732080280781 0.659181177616 +vn -0.707751631737 0.511009931564 0.487807840109 +vn -0.880204081535 0.234645605087 -0.412531435490 +vn -0.849882602692 0.271090626717 -0.451895385981 +vn -0.739546954632 0.515352368355 0.432992160320 +vn -0.739546954632 0.515352368355 0.432992160320 +vn -0.707751631737 0.511009931564 0.487807840109 +vn -0.880204081535 0.234645605087 -0.412531435490 +vn -0.280455946922 -0.412052839994 -0.866923809052 +vn -0.321785986423 -0.349392801523 -0.879987776279 +vn -0.849882602692 0.271090626717 -0.451895385981 +vn -0.849882602692 0.271090626717 -0.451895385981 +vn -0.880204081535 0.234645605087 -0.412531435490 +vn -0.280455946922 -0.412052839994 -0.866923809052 +vn 0.901966691017 0.388665527105 -0.188136070967 +vn 0.981580853462 0.085098065436 0.171047657728 +vn 0.830022990704 -0.359803080559 -0.426149666309 +vn 0.830022990704 -0.359803080559 -0.426149666309 +vn 0.770441830158 0.124682173133 -0.625198960304 +vn 0.901966691017 0.388665527105 -0.188136070967 +vn 0.575632691383 0.763012647629 0.294038593769 +vn 0.521306455135 0.467230886221 0.714097201824 +vn 0.981580853462 0.085098065436 0.171047657728 +vn 0.981580853462 0.085098065436 0.171047657728 +vn 0.901966691017 0.388665527105 -0.188136070967 +vn 0.575632691383 0.763012647629 0.294038593769 +vn 0.330498814583 -0.562601387501 -0.757793009281 +vn 0.570066154003 -0.723200023174 -0.389879912138 +vn -0.263094604015 -0.543884932995 -0.796850323677 +vn -0.263094604015 -0.543884932995 -0.796850323677 +vn -0.321785986423 -0.349392801523 -0.879987776279 +vn 0.330498814583 -0.562601387501 -0.757793009281 +vn -0.739546954632 0.515352368355 0.432992160320 +vn -0.629050672054 0.575037002563 0.523094296455 +vn 0.184908628464 0.381606191397 0.905640959740 +vn 0.184908628464 0.381606191397 0.905640959740 +vn -0.180061206222 0.563334167004 0.806370019913 +vn -0.739546954632 0.515352368355 0.432992160320 +vn -0.849882602692 0.271090626717 -0.451895385981 +vn -0.946830511093 0.063935965300 -0.315315932035 +vn -0.629050672054 0.575037002563 0.523094296455 +vn -0.629050672054 0.575037002563 0.523094296455 +vn -0.739546954632 0.515352368355 0.432992160320 +vn -0.849882602692 0.271090626717 -0.451895385981 +vn -0.321785986423 -0.349392801523 -0.879987776279 +vn -0.263094604015 -0.543884932995 -0.796850323677 +vn -0.946830511093 0.063935965300 -0.315315932035 +vn -0.946830511093 0.063935965300 -0.315315932035 +vn -0.849882602692 0.271090626717 -0.451895385981 +vn -0.321785986423 -0.349392801523 -0.879987776279 +vn 0.981580853462 0.085098065436 0.171047657728 +vn 0.843786776066 -0.245984554291 0.476985782385 +vn 0.784687519073 -0.618691146374 -0.038558837026 +vn 0.784687519073 -0.618691146374 -0.038558837026 +vn 0.830022990704 -0.359803080559 -0.426149666309 +vn 0.981580853462 0.085098065436 0.171047657728 +vn 0.521306455135 0.467230886221 0.714097201824 +vn 0.535567224026 -0.012940082699 0.844393432140 +vn 0.843786776066 -0.245984554291 0.476985782385 +vn 0.843786776066 -0.245984554291 0.476985782385 +vn 0.981580853462 0.085098065436 0.171047657728 +vn 0.521306455135 0.467230886221 0.714097201824 +vn 0.962681233883 0.257090866566 -0.084552332759 +vn 0.844129383564 0.021499739960 -0.535708248615 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn 0.952149391174 0.305112123489 -0.017836395651 +vn 0.962681233883 0.257090866566 -0.084552332759 +vn 0.565301001072 0.742878913879 0.358560562134 +vn 0.962681233883 0.257090866566 -0.084552332759 +vn 0.952149391174 0.305112123489 -0.017836395651 +vn 0.952149391174 0.305112123489 -0.017836395651 +vn 0.076644353569 0.755293190479 0.650890052319 +vn 0.565301001072 0.742878913879 0.358560562134 +vn 0.496823996305 0.472443997860 0.727985262871 +vn 0.565301001072 0.742878913879 0.358560562134 +vn 0.076644353569 0.755293190479 0.650890052319 +vn 0.076644353569 0.755293190479 0.650890052319 +vn -0.266624689102 0.593041419983 0.759745419025 +vn 0.496823996305 0.472443997860 0.727985262871 +vn 0.616365551949 0.101494207978 0.780892074108 +vn 0.496823996305 0.472443997860 0.727985262871 +vn -0.266624689102 0.593041419983 0.759745419025 +vn -0.266624689102 0.593041419983 0.759745419025 +vn 0.192745268345 0.492540299892 0.848677396774 +vn 0.616365551949 0.101494207978 0.780892074108 +vn 0.895483732224 -0.159650802612 0.415476232767 +vn 0.616365551949 0.101494207978 0.780892074108 +vn 0.192745268345 0.492540299892 0.848677396774 +vn 0.192745268345 0.492540299892 0.848677396774 +vn 0.913564145565 -0.070332199335 0.400566965342 +vn 0.895483732224 -0.159650802612 0.415476232767 +vn 0.856193542480 -0.515455365181 -0.035190675408 +vn 0.895483732224 -0.159650802612 0.415476232767 +vn 0.913564145565 -0.070332199335 0.400566965342 +vn 0.913564145565 -0.070332199335 0.400566965342 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn 0.856193542480 -0.515455365181 -0.035190675408 +vn 0.833615779877 -0.411711692810 -0.368209511042 +vn 0.856193542480 -0.515455365181 -0.035190675408 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn 0.620249688625 -0.654477775097 -0.432376146317 +vn 0.254390329123 -0.599514067173 -0.758859992027 +vn 0.833615779877 -0.411711692810 -0.368209511042 +vn 0.844129383564 0.021499739960 -0.535708248615 +vn 0.833615779877 -0.411711692810 -0.368209511042 +vn 0.254390329123 -0.599514067173 -0.758859992027 +vn 0.254390329123 -0.599514067173 -0.758859992027 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn 0.844129383564 0.021499739960 -0.535708248615 +vn 0.901966691017 0.388665527105 -0.188136070967 +vn 0.770441830158 0.124682173133 -0.625198960304 +vn 0.551274299622 -0.377769410610 -0.743899822235 +vn 0.551274299622 -0.377769410610 -0.743899822235 +vn 0.935332417488 0.343503236771 -0.084609612823 +vn 0.901966691017 0.388665527105 -0.188136070967 +vn 0.575632691383 0.763012647629 0.294038593769 +vn 0.901966691017 0.388665527105 -0.188136070967 +vn 0.935332417488 0.343503236771 -0.084609612823 +vn 0.935332417488 0.343503236771 -0.084609612823 +vn 0.171868190169 0.732080280781 0.659181177616 +vn 0.575632691383 0.763012647629 0.294038593769 +vn 0.521306455135 0.467230886221 0.714097201824 +vn 0.575632691383 0.763012647629 0.294038593769 +vn 0.171868190169 0.732080280781 0.659181177616 +vn 0.171868190169 0.732080280781 0.659181177616 +vn -0.180061206222 0.563334167004 0.806370019913 +vn 0.521306455135 0.467230886221 0.714097201824 +vn 0.535567224026 -0.012940082699 0.844393432140 +vn 0.521306455135 0.467230886221 0.714097201824 +vn -0.180061206222 0.563334167004 0.806370019913 +vn -0.180061206222 0.563334167004 0.806370019913 +vn 0.184908628464 0.381606191397 0.905640959740 +vn 0.535567224026 -0.012940082699 0.844393432140 +vn 0.843786776066 -0.245984554291 0.476985782385 +vn 0.535567224026 -0.012940082699 0.844393432140 +vn 0.184908628464 0.381606191397 0.905640959740 +vn 0.184908628464 0.381606191397 0.905640959740 +vn 0.793580412865 -0.300677359104 0.528983235359 +vn 0.843786776066 -0.245984554291 0.476985782385 +vn 0.784687519073 -0.618691146374 -0.038558837026 +vn 0.843786776066 -0.245984554291 0.476985782385 +vn 0.793580412865 -0.300677359104 0.528983235359 +vn 0.793580412865 -0.300677359104 0.528983235359 +vn 0.570066154003 -0.723200023174 -0.389879912138 +vn 0.784687519073 -0.618691146374 -0.038558837026 +vn 0.830022990704 -0.359803080559 -0.426149666309 +vn 0.784687519073 -0.618691146374 -0.038558837026 +vn 0.570066154003 -0.723200023174 -0.389879912138 +vn 0.570066154003 -0.723200023174 -0.389879912138 +vn 0.330498814583 -0.562601387501 -0.757793009281 +vn 0.830022990704 -0.359803080559 -0.426149666309 +vn 0.770441830158 0.124682173133 -0.625198960304 +vn 0.830022990704 -0.359803080559 -0.426149666309 +vn 0.330498814583 -0.562601387501 -0.757793009281 +vn 0.330498814583 -0.562601387501 -0.757793009281 +vn 0.551274299622 -0.377769410610 -0.743899822235 +vn 0.770441830158 0.124682173133 -0.625198960304 +vn -0.361486613750 -0.871635258198 -0.331027746201 +vn -0.269836694002 -0.648911595345 -0.711408436298 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn 0.092150472105 -0.960336923599 -0.263175487518 +vn -0.361486613750 -0.871635258198 -0.331027746201 +vn 0.129396855831 0.545063197613 0.828349292278 +vn -0.648009002209 0.425326675177 0.631808161736 +vn -0.649962127209 -0.032834753394 0.759256958961 +vn -0.649962127209 -0.032834753394 0.759256958961 +vn -0.290875703096 0.016440996900 0.956619560719 +vn 0.129396855831 0.545063197613 0.828349292278 +vn -0.649962127209 -0.032834753394 0.759256958961 +vn -0.648009002209 0.425326675177 0.631808161736 +vn -0.976216316223 -0.161507442594 -0.144627094269 +vn -0.976216316223 -0.161507442594 -0.144627094269 +vn -0.755871891975 -0.587243855000 0.289486378431 +vn -0.649962127209 -0.032834753394 0.759256958961 +vn -0.976216316223 -0.161507442594 -0.144627094269 +vn -0.269836694002 -0.648911595345 -0.711408436298 +vn -0.361486613750 -0.871635258198 -0.331027746201 +vn -0.361486613750 -0.871635258198 -0.331027746201 +vn -0.755871891975 -0.587243855000 0.289486378431 +vn -0.976216316223 -0.161507442594 -0.144627094269 +vn 0.978597700596 -0.203487649560 -0.030648948625 +vn 0.976393342018 -0.034493237734 0.213228285313 +vn 0.702570617199 -0.417962342501 0.575935781002 +vn 0.702570617199 -0.417962342501 0.575935781002 +vn 0.782792508602 -0.622060239315 0.016640689224 +vn 0.978597700596 -0.203487649560 -0.030648948625 +vn 0.976393342018 -0.034493237734 0.213228285313 +vn 0.823331177235 0.180604666471 0.538059234619 +vn 0.483783185482 -0.188346296549 0.854680955410 +vn 0.483783185482 -0.188346296549 0.854680955410 +vn 0.702570617199 -0.417962342501 0.575935781002 +vn 0.976393342018 -0.034493237734 0.213228285313 +vn 0.374225527048 -0.918710529804 -0.126199200749 +vn 0.121004454792 -0.743254899979 0.657974183559 +vn -0.252987205982 -0.770890474319 0.584572792053 +vn -0.252987205982 -0.770890474319 0.584572792053 +vn 0.092150472105 -0.960336923599 -0.263175487518 +vn 0.374225527048 -0.918710529804 -0.126199200749 +vn 0.873680889606 -0.254217475653 -0.414795339108 +vn 0.374225527048 -0.918710529804 -0.126199200749 +vn 0.092150472105 -0.960336923599 -0.263175487518 +vn 0.092150472105 -0.960336923599 -0.263175487518 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn 0.873680889606 -0.254217475653 -0.414795339108 +vn 0.996993303299 0.043252151459 0.064293101430 +vn 0.873680889606 -0.254217475653 -0.414795339108 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn 0.548589885235 -0.620292305946 -0.560612738132 +vn 0.956916511059 -0.095712594688 0.274134784937 +vn 0.996993303299 0.043252151459 0.064293101430 +vn 0.522149622440 0.581013023853 0.624326586723 +vn 0.996993303299 0.043252151459 0.064293101430 +vn 0.956916511059 -0.095712594688 0.274134784937 +vn 0.956916511059 -0.095712594688 0.274134784937 +vn 0.129396855831 0.545063197613 0.828349292278 +vn 0.522149622440 0.581013023853 0.624326586723 +vn 0.042617920786 -0.077262252569 0.996099531651 +vn 0.522149622440 0.581013023853 0.624326586723 +vn 0.129396855831 0.545063197613 0.828349292278 +vn 0.129396855831 0.545063197613 0.828349292278 +vn -0.290875703096 0.016440996900 0.956619560719 +vn 0.042617920786 -0.077262252569 0.996099531651 +vn 0.121004454792 -0.743254899979 0.657974183559 +vn 0.042617920786 -0.077262252569 0.996099531651 +vn -0.290875703096 0.016440996900 0.956619560719 +vn -0.290875703096 0.016440996900 0.956619560719 +vn -0.252987205982 -0.770890474319 0.584572792053 +vn 0.121004454792 -0.743254899979 0.657974183559 +vn 0.782792508602 -0.622060239315 0.016640689224 +vn 0.702570617199 -0.417962342501 0.575935781002 +vn 0.121004454792 -0.743254899979 0.657974183559 +vn 0.121004454792 -0.743254899979 0.657974183559 +vn 0.374225527048 -0.918710529804 -0.126199200749 +vn 0.782792508602 -0.622060239315 0.016640689224 +vn 0.978597700596 -0.203487649560 -0.030648948625 +vn 0.782792508602 -0.622060239315 0.016640689224 +vn 0.374225527048 -0.918710529804 -0.126199200749 +vn 0.374225527048 -0.918710529804 -0.126199200749 +vn 0.873680889606 -0.254217475653 -0.414795339108 +vn 0.978597700596 -0.203487649560 -0.030648948625 +vn 0.976393342018 -0.034493237734 0.213228285313 +vn 0.978597700596 -0.203487649560 -0.030648948625 +vn 0.873680889606 -0.254217475653 -0.414795339108 +vn 0.873680889606 -0.254217475653 -0.414795339108 +vn 0.996993303299 0.043252151459 0.064293101430 +vn 0.976393342018 -0.034493237734 0.213228285313 +vn 0.823331177235 0.180604666471 0.538059234619 +vn 0.976393342018 -0.034493237734 0.213228285313 +vn 0.996993303299 0.043252151459 0.064293101430 +vn 0.996993303299 0.043252151459 0.064293101430 +vn 0.522149622440 0.581013023853 0.624326586723 +vn 0.823331177235 0.180604666471 0.538059234619 +vn 0.483783185482 -0.188346296549 0.854680955410 +vn 0.823331177235 0.180604666471 0.538059234619 +vn 0.522149622440 0.581013023853 0.624326586723 +vn 0.522149622440 0.581013023853 0.624326586723 +vn 0.042617920786 -0.077262252569 0.996099531651 +vn 0.483783185482 -0.188346296549 0.854680955410 +vn 0.702570617199 -0.417962342501 0.575935781002 +vn 0.483783185482 -0.188346296549 0.854680955410 +vn 0.042617920786 -0.077262252569 0.996099531651 +vn 0.042617920786 -0.077262252569 0.996099531651 +vn 0.121004454792 -0.743254899979 0.657974183559 +vn 0.702570617199 -0.417962342501 0.575935781002 +vn 0.999813377857 -0.018315166235 -0.006142910570 +vn 0.991819202900 -0.034799017012 -0.122815772891 +vn 0.977511823177 -0.022532563657 -0.209673374891 +vn 0.977511823177 -0.022532563657 -0.209673374891 +vn 0.987035095692 0.088362626731 -0.133991599083 +vn 0.999813377857 -0.018315166235 -0.006142910570 +vn 0.865989685059 0.453615128994 0.210464164615 +vn 0.882028698921 0.317493706942 0.348171114922 +vn 0.974218785763 0.136953219771 0.179280668497 +vn 0.974218785763 0.136953219771 0.179280668497 +vn 0.933551311493 0.355292409658 0.047425679862 +vn 0.865989685059 0.453615128994 0.210464164615 +vn 0.983536243439 0.177552938461 0.033636920154 +vn 0.981092154980 0.054133977741 0.185816302896 +vn 0.999813377857 -0.018315166235 -0.006142910570 +vn 0.999813377857 -0.018315166235 -0.006142910570 +vn 0.987035095692 0.088362626731 -0.133991599083 +vn 0.983536243439 0.177552938461 0.033636920154 +vn -0.671968698502 -0.667977213860 0.319788247347 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.743372976780 -0.626676201820 0.233823701739 +vn -0.743372976780 -0.626676201820 0.233823701739 +vn -0.636142671108 -0.726978540421 0.258504658937 +vn -0.671968698502 -0.667977213860 0.319788247347 +vn -0.743372976780 -0.626676201820 0.233823701739 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn -0.636142671108 -0.726978540421 0.258504658937 +vn -0.743372976780 -0.626676201820 0.233823701739 +vn -0.655084729195 -0.755481123924 0.010595246218 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.754400372505 -0.617815971375 0.221773415804 +vn -0.754400372505 -0.617815971375 0.221773415804 +vn -0.656450152397 -0.729013919830 -0.193937793374 +vn -0.655084729195 -0.755481123924 0.010595246218 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn 0.392160177231 -0.396549701691 -0.830035388470 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn -0.247283771634 -0.719329714775 -0.649165272713 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn -0.063488200307 0.792590856552 0.606439590454 +vn -0.509524762630 0.326571792364 0.796074986458 +vn -0.616370320320 0.433791041374 0.657200813293 +vn -0.616370320320 0.433791041374 0.657200813293 +vn 0.110006704926 0.644826173782 0.756371438503 +vn -0.063488200307 0.792590856552 0.606439590454 +vn -0.107680648565 -0.894641518593 -0.433614403009 +vn 0.755673527718 -0.580640435219 -0.303008645773 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn -0.333550721407 -0.596247136593 -0.730228245258 +vn -0.107680648565 -0.894641518593 -0.433614403009 +vn 0.076644353569 0.755293190479 0.650890052319 +vn 0.411944001913 0.393821209669 0.821709811687 +vn -0.448863714933 0.183967590332 0.874458312988 +vn -0.448863714933 0.183967590332 0.874458312988 +vn -0.787957370281 0.477610796690 0.388601541519 +vn 0.076644353569 0.755293190479 0.650890052319 +vn -0.448863714933 0.183967590332 0.874458312988 +vn -0.918951630592 -0.393101125956 0.031612586230 +vn -0.959001660347 -0.101881392300 -0.264454126358 +vn -0.959001660347 -0.101881392300 -0.264454126358 +vn -0.787957370281 0.477610796690 0.388601541519 +vn -0.448863714933 0.183967590332 0.874458312988 +vn -0.959001660347 -0.101881392300 -0.264454126358 +vn -0.918951630592 -0.393101125956 0.031612586230 +vn -0.107680648565 -0.894641518593 -0.433614403009 +vn -0.107680648565 -0.894641518593 -0.433614403009 +vn -0.333550721407 -0.596247136593 -0.730228245258 +vn -0.959001660347 -0.101881392300 -0.264454126358 +vn 0.755673527718 -0.580640435219 -0.303008645773 +vn 0.972455918789 0.091722354293 0.214281424880 +vn 0.952149391174 0.305112123489 -0.017836395651 +vn 0.952149391174 0.305112123489 -0.017836395651 +vn 0.563659667969 -0.461650341749 -0.684957504272 +vn 0.755673527718 -0.580640435219 -0.303008645773 +vn 0.952149391174 0.305112123489 -0.017836395651 +vn 0.972455918789 0.091722354293 0.214281424880 +vn 0.411944001913 0.393821209669 0.821709811687 +vn 0.411944001913 0.393821209669 0.821709811687 +vn 0.076644353569 0.755293190479 0.650890052319 +vn 0.952149391174 0.305112123489 -0.017836395651 +vn 0.724958002567 -0.519052088261 -0.452792286873 +vn -0.181024864316 -0.898927867413 -0.398947030306 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.724958002567 -0.519052088261 -0.452792286873 +vn 0.508389532566 0.448634028435 0.735028982162 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.518603384495 0.300804406404 0.800354421139 +vn 0.508389532566 0.448634028435 0.735028982162 +vn -0.943273961544 -0.317976415157 0.095526158810 +vn -0.518603384495 0.300804406404 0.800354421139 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.504803478718 -0.691964030266 0.516099989414 +vn -0.836774110794 -0.481221765280 0.261217683554 +vn -0.943273961544 -0.317976415157 0.095526158810 +vn -0.943273961544 -0.317976415157 0.095526158810 +vn -0.836774110794 -0.481221765280 0.261217683554 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.181024864316 -0.898927867413 -0.398947030306 +vn -0.943273961544 -0.317976415157 0.095526158810 +vn 0.997338175774 0.072519011796 0.007588622160 +vn 0.999113142490 0.000560889952 0.042102612555 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.508389532566 0.448634028435 0.735028982162 +vn 0.997338175774 0.072519011796 0.007588622160 +vn -0.326727688313 -0.762412965298 0.558547675610 +vn 0.310724049807 -0.698983669281 0.644105851650 +vn 0.088888555765 0.015037650242 0.995928049088 +vn 0.088888555765 0.015037650242 0.995928049088 +vn -0.322253704071 -0.189766019583 0.927438080311 +vn -0.326727688313 -0.762412965298 0.558547675610 +vn -0.068582832813 -0.993876457214 -0.086637146771 +vn 0.433536440134 -0.874591886997 -0.217106372118 +vn 0.310724049807 -0.698983669281 0.644105851650 +vn 0.310724049807 -0.698983669281 0.644105851650 +vn -0.326727688313 -0.762412965298 0.558547675610 +vn -0.068582832813 -0.993876457214 -0.086637146771 +vn -0.333052396774 -0.693272292614 -0.639100670815 +vn -0.425885379314 -0.623170614243 -0.655957341194 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn 0.549481987953 -0.322085440159 -0.770928323269 +vn -0.333052396774 -0.693272292614 -0.639100670815 +vn 0.322712332010 0.518643856049 0.791748225689 +vn -0.674985289574 0.334197402000 0.657804667950 +vn -0.700886607170 0.338039726019 0.628082096577 +vn -0.700886607170 0.338039726019 0.628082096577 +vn 0.118212953210 0.816253483295 0.565469682217 +vn 0.322712332010 0.518643856049 0.791748225689 +vn -0.700886607170 0.338039726019 0.628082096577 +vn -0.674985289574 0.334197402000 0.657804667950 +vn -0.975743651390 -0.217743486166 -0.022630447522 +vn -0.975743651390 -0.217743486166 -0.022630447522 +vn -0.963580250740 -0.267051726580 0.014016546309 +vn -0.700886607170 0.338039726019 0.628082096577 +vn -0.975743651390 -0.217743486166 -0.022630447522 +vn -0.425885379314 -0.623170614243 -0.655957341194 +vn -0.333052396774 -0.693272292614 -0.639100670815 +vn -0.333052396774 -0.693272292614 -0.639100670815 +vn -0.963580250740 -0.267051726580 0.014016546309 +vn -0.975743651390 -0.217743486166 -0.022630447522 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn 0.970984339714 0.123645357788 0.204697906971 +vn 0.832989275455 0.504606544971 -0.226938515902 +vn 0.832989275455 0.504606544971 -0.226938515902 +vn 0.549481987953 -0.322085440159 -0.770928323269 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn 0.832989275455 0.504606544971 -0.226938515902 +vn 0.970984339714 0.123645357788 0.204697906971 +vn 0.322712332010 0.518643856049 0.791748225689 +vn 0.322712332010 0.518643856049 0.791748225689 +vn 0.118212953210 0.816253483295 0.565469682217 +vn 0.832989275455 0.504606544971 -0.226938515902 +vn -0.196830675006 -0.838620603085 -0.507910609245 +vn -0.313091188669 -0.700623571873 -0.641171157360 +vn 0.723640680313 -0.512672543526 -0.462072551250 +vn 0.723640680313 -0.512672543526 -0.462072551250 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn -0.196830675006 -0.838620603085 -0.507910609245 +vn 0.321015238762 0.514520943165 0.795121014118 +vn -0.655655622482 0.397478044033 0.641971111298 +vn -0.571633458138 0.247708499432 0.782224833965 +vn -0.571633458138 0.247708499432 0.782224833965 +vn 0.180510208011 0.646930694580 0.740875661373 +vn 0.321015238762 0.514520943165 0.795121014118 +vn -0.571633458138 0.247708499432 0.782224833965 +vn -0.655655622482 0.397478044033 0.641971111298 +vn -0.960929155350 -0.276273429394 0.016975795850 +vn -0.960929155350 -0.276273429394 0.016975795850 +vn -0.845117628574 -0.490876168013 0.211699649692 +vn -0.571633458138 0.247708499432 0.782224833965 +vn -0.960929155350 -0.276273429394 0.016975795850 +vn -0.313091188669 -0.700623571873 -0.641171157360 +vn -0.196830675006 -0.838620603085 -0.507910609245 +vn -0.196830675006 -0.838620603085 -0.507910609245 +vn -0.845117628574 -0.490876168013 0.211699649692 +vn -0.960929155350 -0.276273429394 0.016975795850 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn 0.723640680313 -0.512672543526 -0.462072551250 +vn 0.966279029846 0.053210075945 0.251939415932 +vn 0.966279029846 0.053210075945 0.251939415932 +vn 0.955628812313 0.291310042143 -0.043726418167 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn 0.966279029846 0.053210075945 0.251939415932 +vn 0.321015238762 0.514520943165 0.795121014118 +vn 0.180510208011 0.646930694580 0.740875661373 +vn 0.180510208011 0.646930694580 0.740875661373 +vn 0.955628812313 0.291310042143 -0.043726418167 +vn 0.966279029846 0.053210075945 0.251939415932 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn 0.214254140854 -0.526274204254 -0.822879493237 +vn -0.553487002850 -0.562953591347 -0.613787710667 +vn -0.553487002850 -0.562953591347 -0.613787710667 +vn -0.368347316980 -0.700353562832 -0.611412405968 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn -0.734525084496 0.400696694851 0.547644972801 +vn -0.727050065994 0.229038923979 0.647255241871 +vn -0.059534739703 0.594721972942 0.801724016666 +vn -0.059534739703 0.594721972942 0.801724016666 +vn 0.149192854762 0.818112552166 0.555367708206 +vn -0.734525084496 0.400696694851 0.547644972801 +vn -0.957798421383 -0.287328153849 0.008044288494 +vn -0.956104636192 -0.292931735516 -0.007408959325 +vn -0.727050065994 0.229038923979 0.647255241871 +vn -0.727050065994 0.229038923979 0.647255241871 +vn -0.734525084496 0.400696694851 0.547644972801 +vn -0.957798421383 -0.287328153849 0.008044288494 +vn -0.368347316980 -0.700353562832 -0.611412405968 +vn -0.553487002850 -0.562953591347 -0.613787710667 +vn -0.956104636192 -0.292931735516 -0.007408959325 +vn -0.956104636192 -0.292931735516 -0.007408959325 +vn -0.957798421383 -0.287328153849 0.008044288494 +vn -0.368347316980 -0.700353562832 -0.611412405968 +vn 0.856117010117 0.482730776072 -0.184484988451 +vn 0.964841306210 0.247465044260 0.088557027280 +vn 0.874183952808 -0.164703086019 -0.456809937954 +vn 0.874183952808 -0.164703086019 -0.456809937954 +vn 0.695948600769 0.300683468580 -0.652108132839 +vn 0.856117010117 0.482730776072 -0.184484988451 +vn 0.540606260300 0.807461678982 0.236115515232 +vn 0.605633556843 0.573746502399 0.551382780075 +vn 0.964841306210 0.247465044260 0.088557027280 +vn 0.964841306210 0.247465044260 0.088557027280 +vn 0.856117010117 0.482730776072 -0.184484988451 +vn 0.540606260300 0.807461678982 0.236115515232 +vn 0.214254140854 -0.526274204254 -0.822879493237 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn -0.425885379314 -0.623170614243 -0.655957341194 +vn -0.425885379314 -0.623170614243 -0.655957341194 +vn -0.553487002850 -0.562953591347 -0.613787710667 +vn 0.214254140854 -0.526274204254 -0.822879493237 +vn -0.727050065994 0.229038923979 0.647255241871 +vn -0.674985289574 0.334197402000 0.657804667950 +vn 0.322712332010 0.518643856049 0.791748225689 +vn 0.322712332010 0.518643856049 0.791748225689 +vn -0.059534739703 0.594721972942 0.801724016666 +vn -0.727050065994 0.229038923979 0.647255241871 +vn -0.956104636192 -0.292931735516 -0.007408959325 +vn -0.975743651390 -0.217743486166 -0.022630447522 +vn -0.674985289574 0.334197402000 0.657804667950 +vn -0.674985289574 0.334197402000 0.657804667950 +vn -0.727050065994 0.229038923979 0.647255241871 +vn -0.956104636192 -0.292931735516 -0.007408959325 +vn -0.553487002850 -0.562953591347 -0.613787710667 +vn -0.425885379314 -0.623170614243 -0.655957341194 +vn -0.975743651390 -0.217743486166 -0.022630447522 +vn -0.975743651390 -0.217743486166 -0.022630447522 +vn -0.956104636192 -0.292931735516 -0.007408959325 +vn -0.553487002850 -0.562953591347 -0.613787710667 +vn 0.964841306210 0.247465044260 0.088557027280 +vn 0.961140692234 0.050061751157 0.271481752396 +vn 0.952282905579 -0.284368395805 -0.110868863761 +vn 0.952282905579 -0.284368395805 -0.110868863761 +vn 0.874183952808 -0.164703086019 -0.456809937954 +vn 0.964841306210 0.247465044260 0.088557027280 +vn 0.605633556843 0.573746502399 0.551382780075 +vn 0.771579861641 0.202758759260 0.602953910828 +vn 0.961140692234 0.050061751157 0.271481752396 +vn 0.961140692234 0.050061751157 0.271481752396 +vn 0.964841306210 0.247465044260 0.088557027280 +vn 0.605633556843 0.573746502399 0.551382780075 +vn 0.549481987953 -0.322085440159 -0.770928323269 +vn 0.313650816679 -0.538114547729 -0.782340049744 +vn -0.470730185509 -0.604085922241 -0.643034458160 +vn -0.470730185509 -0.604085922241 -0.643034458160 +vn -0.333052396774 -0.693272292614 -0.639100670815 +vn 0.549481987953 -0.322085440159 -0.770928323269 +vn -0.700886607170 0.338039726019 0.628082096577 +vn -0.725499093533 0.294759482145 0.621906638145 +vn -0.094312846661 0.586990058422 0.804081916809 +vn -0.094312846661 0.586990058422 0.804081916809 +vn 0.118212953210 0.816253483295 0.565469682217 +vn -0.700886607170 0.338039726019 0.628082096577 +vn -0.963580250740 -0.267051726580 0.014016546309 +vn -0.971467733383 -0.236483171582 -0.018060231581 +vn -0.725499093533 0.294759482145 0.621906638145 +vn -0.725499093533 0.294759482145 0.621906638145 +vn -0.700886607170 0.338039726019 0.628082096577 +vn -0.963580250740 -0.267051726580 0.014016546309 +vn -0.333052396774 -0.693272292614 -0.639100670815 +vn -0.470730185509 -0.604085922241 -0.643034458160 +vn -0.971467733383 -0.236483171582 -0.018060231581 +vn -0.971467733383 -0.236483171582 -0.018060231581 +vn -0.963580250740 -0.267051726580 0.014016546309 +vn -0.333052396774 -0.693272292614 -0.639100670815 +vn 0.775852501392 0.567831695080 -0.274991095066 +vn 0.935157954693 0.353377223015 -0.024578729644 +vn 0.849038064480 -0.124876268208 -0.513361752033 +vn 0.849038064480 -0.124876268208 -0.513361752033 +vn 0.629623532295 0.333947807550 -0.701464951038 +vn 0.775852501392 0.567831695080 -0.274991095066 +vn 0.460896521807 0.879790425301 0.116375401616 +vn 0.578698873520 0.646696209908 0.496881872416 +vn 0.935157954693 0.353377223015 -0.024578729644 +vn 0.935157954693 0.353377223015 -0.024578729644 +vn 0.775852501392 0.567831695080 -0.274991095066 +vn 0.460896521807 0.879790425301 0.116375401616 +vn 0.313650816679 -0.538114547729 -0.782340049744 +vn 0.723640680313 -0.512672543526 -0.462072551250 +vn -0.313091188669 -0.700623571873 -0.641171157360 +vn -0.313091188669 -0.700623571873 -0.641171157360 +vn -0.470730185509 -0.604085922241 -0.643034458160 +vn 0.313650816679 -0.538114547729 -0.782340049744 +vn -0.725499093533 0.294759482145 0.621906638145 +vn -0.655655622482 0.397478044033 0.641971111298 +vn 0.321015238762 0.514520943165 0.795121014118 +vn 0.321015238762 0.514520943165 0.795121014118 +vn -0.094312846661 0.586990058422 0.804081916809 +vn -0.725499093533 0.294759482145 0.621906638145 +vn -0.971467733383 -0.236483171582 -0.018060231581 +vn -0.960929155350 -0.276273429394 0.016975795850 +vn -0.655655622482 0.397478044033 0.641971111298 +vn -0.655655622482 0.397478044033 0.641971111298 +vn -0.725499093533 0.294759482145 0.621906638145 +vn -0.971467733383 -0.236483171582 -0.018060231581 +vn -0.470730185509 -0.604085922241 -0.643034458160 +vn -0.313091188669 -0.700623571873 -0.641171157360 +vn -0.960929155350 -0.276273429394 0.016975795850 +vn -0.960929155350 -0.276273429394 0.016975795850 +vn -0.971467733383 -0.236483171582 -0.018060231581 +vn -0.470730185509 -0.604085922241 -0.643034458160 +vn 0.935157954693 0.353377223015 -0.024578729644 +vn 0.973615527153 0.120421126485 0.193833947182 +vn 0.952031672001 -0.265573054552 -0.152008801699 +vn 0.952031672001 -0.265573054552 -0.152008801699 +vn 0.849038064480 -0.124876268208 -0.513361752033 +vn 0.935157954693 0.353377223015 -0.024578729644 +vn 0.578698873520 0.646696209908 0.496881872416 +vn 0.767063081264 0.215842425823 0.604174017906 +vn 0.973615527153 0.120421126485 0.193833947182 +vn 0.973615527153 0.120421126485 0.193833947182 +vn 0.935157954693 0.353377223015 -0.024578729644 +vn 0.578698873520 0.646696209908 0.496881872416 +vn 0.856117010117 0.482730776072 -0.184484988451 +vn 0.695948600769 0.300683468580 -0.652108132839 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn 0.900408267975 0.406306445599 -0.155499354005 +vn 0.856117010117 0.482730776072 -0.184484988451 +vn 0.540606260300 0.807461678982 0.236115515232 +vn 0.856117010117 0.482730776072 -0.184484988451 +vn 0.900408267975 0.406306445599 -0.155499354005 +vn 0.900408267975 0.406306445599 -0.155499354005 +vn 0.149192854762 0.818112552166 0.555367708206 +vn 0.540606260300 0.807461678982 0.236115515232 +vn 0.605633556843 0.573746502399 0.551382780075 +vn 0.540606260300 0.807461678982 0.236115515232 +vn 0.149192854762 0.818112552166 0.555367708206 +vn 0.149192854762 0.818112552166 0.555367708206 +vn -0.059534739703 0.594721972942 0.801724016666 +vn 0.605633556843 0.573746502399 0.551382780075 +vn 0.771579861641 0.202758759260 0.602953910828 +vn 0.605633556843 0.573746502399 0.551382780075 +vn -0.059534739703 0.594721972942 0.801724016666 +vn -0.059534739703 0.594721972942 0.801724016666 +vn 0.322712332010 0.518643856049 0.791748225689 +vn 0.771579861641 0.202758759260 0.602953910828 +vn 0.961140692234 0.050061751157 0.271481752396 +vn 0.771579861641 0.202758759260 0.602953910828 +vn 0.322712332010 0.518643856049 0.791748225689 +vn 0.322712332010 0.518643856049 0.791748225689 +vn 0.970984339714 0.123645357788 0.204697906971 +vn 0.961140692234 0.050061751157 0.271481752396 +vn 0.952282905579 -0.284368395805 -0.110868863761 +vn 0.961140692234 0.050061751157 0.271481752396 +vn 0.970984339714 0.123645357788 0.204697906971 +vn 0.970984339714 0.123645357788 0.204697906971 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn 0.952282905579 -0.284368395805 -0.110868863761 +vn 0.874183952808 -0.164703086019 -0.456809937954 +vn 0.952282905579 -0.284368395805 -0.110868863761 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn 0.685568511486 -0.533490240574 -0.495362460613 +vn 0.214254140854 -0.526274204254 -0.822879493237 +vn 0.874183952808 -0.164703086019 -0.456809937954 +vn 0.695948600769 0.300683468580 -0.652108132839 +vn 0.874183952808 -0.164703086019 -0.456809937954 +vn 0.214254140854 -0.526274204254 -0.822879493237 +vn 0.214254140854 -0.526274204254 -0.822879493237 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn 0.695948600769 0.300683468580 -0.652108132839 +vn 0.775852501392 0.567831695080 -0.274991095066 +vn 0.629623532295 0.333947807550 -0.701464951038 +vn 0.549481987953 -0.322085440159 -0.770928323269 +vn 0.549481987953 -0.322085440159 -0.770928323269 +vn 0.832989275455 0.504606544971 -0.226938515902 +vn 0.775852501392 0.567831695080 -0.274991095066 +vn 0.460896521807 0.879790425301 0.116375401616 +vn 0.775852501392 0.567831695080 -0.274991095066 +vn 0.832989275455 0.504606544971 -0.226938515902 +vn 0.832989275455 0.504606544971 -0.226938515902 +vn 0.118212953210 0.816253483295 0.565469682217 +vn 0.460896521807 0.879790425301 0.116375401616 +vn 0.578698873520 0.646696209908 0.496881872416 +vn 0.460896521807 0.879790425301 0.116375401616 +vn 0.118212953210 0.816253483295 0.565469682217 +vn 0.118212953210 0.816253483295 0.565469682217 +vn -0.094312846661 0.586990058422 0.804081916809 +vn 0.578698873520 0.646696209908 0.496881872416 +vn 0.767063081264 0.215842425823 0.604174017906 +vn 0.578698873520 0.646696209908 0.496881872416 +vn -0.094312846661 0.586990058422 0.804081916809 +vn -0.094312846661 0.586990058422 0.804081916809 +vn 0.321015238762 0.514520943165 0.795121014118 +vn 0.767063081264 0.215842425823 0.604174017906 +vn 0.973615527153 0.120421126485 0.193833947182 +vn 0.767063081264 0.215842425823 0.604174017906 +vn 0.321015238762 0.514520943165 0.795121014118 +vn 0.321015238762 0.514520943165 0.795121014118 +vn 0.966279029846 0.053210075945 0.251939415932 +vn 0.973615527153 0.120421126485 0.193833947182 +vn 0.952031672001 -0.265573054552 -0.152008801699 +vn 0.973615527153 0.120421126485 0.193833947182 +vn 0.966279029846 0.053210075945 0.251939415932 +vn 0.966279029846 0.053210075945 0.251939415932 +vn 0.723640680313 -0.512672543526 -0.462072551250 +vn 0.952031672001 -0.265573054552 -0.152008801699 +vn 0.849038064480 -0.124876268208 -0.513361752033 +vn 0.952031672001 -0.265573054552 -0.152008801699 +vn 0.723640680313 -0.512672543526 -0.462072551250 +vn 0.723640680313 -0.512672543526 -0.462072551250 +vn 0.313650816679 -0.538114547729 -0.782340049744 +vn 0.849038064480 -0.124876268208 -0.513361752033 +vn 0.629623532295 0.333947807550 -0.701464951038 +vn 0.849038064480 -0.124876268208 -0.513361752033 +vn 0.313650816679 -0.538114547729 -0.782340049744 +vn 0.313650816679 -0.538114547729 -0.782340049744 +vn 0.549481987953 -0.322085440159 -0.770928323269 +vn 0.629623532295 0.333947807550 -0.701464951038 +vn -0.068582832813 -0.993876457214 -0.086637146771 +vn -0.196830675006 -0.838620603085 -0.507910609245 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn 0.433536440134 -0.874591886997 -0.217106372118 +vn -0.068582832813 -0.993876457214 -0.086637146771 +vn 0.180510208011 0.646930694580 0.740875661373 +vn -0.571633458138 0.247708499432 0.782224833965 +vn -0.322253704071 -0.189766019583 0.927438080311 +vn -0.322253704071 -0.189766019583 0.927438080311 +vn 0.088888555765 0.015037650242 0.995928049088 +vn 0.180510208011 0.646930694580 0.740875661373 +vn -0.322253704071 -0.189766019583 0.927438080311 +vn -0.571633458138 0.247708499432 0.782224833965 +vn -0.845117628574 -0.490876168013 0.211699649692 +vn -0.845117628574 -0.490876168013 0.211699649692 +vn -0.326727688313 -0.762412965298 0.558547675610 +vn -0.322253704071 -0.189766019583 0.927438080311 +vn -0.845117628574 -0.490876168013 0.211699649692 +vn -0.196830675006 -0.838620603085 -0.507910609245 +vn -0.068582832813 -0.993876457214 -0.086637146771 +vn -0.068582832813 -0.993876457214 -0.086637146771 +vn -0.326727688313 -0.762412965298 0.558547675610 +vn -0.845117628574 -0.490876168013 0.211699649692 +vn 0.891302168369 0.238586738706 -0.385560452938 +vn 0.930916905403 0.332600742579 -0.150898694992 +vn 0.964601278305 -0.034498769790 0.261446416378 +vn 0.964601278305 -0.034498769790 0.261446416378 +vn 0.943425536156 -0.203005120158 -0.262177675962 +vn 0.891302168369 0.238586738706 -0.385560452938 +vn 0.930916905403 0.332600742579 -0.150898694992 +vn 0.823468267918 0.544366657734 0.159890517592 +vn 0.803170442581 0.076972313225 0.590755879879 +vn 0.803170442581 0.076972313225 0.590755879879 +vn 0.964601278305 -0.034498769790 0.261446416378 +vn 0.930916905403 0.332600742579 -0.150898694992 +vn 0.717304289341 -0.660168945789 -0.222826108336 +vn 0.641450524330 -0.522252142429 0.561955392361 +vn 0.310724049807 -0.698983669281 0.644105851650 +vn 0.310724049807 -0.698983669281 0.644105851650 +vn 0.433536440134 -0.874591886997 -0.217106372118 +vn 0.717304289341 -0.660168945789 -0.222826108336 +vn 0.758884966373 0.092251464725 -0.644657492638 +vn 0.717304289341 -0.660168945789 -0.222826108336 +vn 0.433536440134 -0.874591886997 -0.217106372118 +vn 0.433536440134 -0.874591886997 -0.217106372118 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn 0.758884966373 0.092251464725 -0.644657492638 +vn 0.877895355225 0.405764371157 -0.254273504019 +vn 0.758884966373 0.092251464725 -0.644657492638 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn 0.634616017342 -0.463246196508 -0.618599593639 +vn 0.955628812313 0.291310042143 -0.043726418167 +vn 0.877895355225 0.405764371157 -0.254273504019 +vn 0.448758721352 0.815742969513 0.364937067032 +vn 0.877895355225 0.405764371157 -0.254273504019 +vn 0.955628812313 0.291310042143 -0.043726418167 +vn 0.955628812313 0.291310042143 -0.043726418167 +vn 0.180510208011 0.646930694580 0.740875661373 +vn 0.448758721352 0.815742969513 0.364937067032 +vn 0.461701482534 0.051164239645 0.885558545589 +vn 0.448758721352 0.815742969513 0.364937067032 +vn 0.180510208011 0.646930694580 0.740875661373 +vn 0.180510208011 0.646930694580 0.740875661373 +vn 0.088888555765 0.015037650242 0.995928049088 +vn 0.461701482534 0.051164239645 0.885558545589 +vn 0.641450524330 -0.522252142429 0.561955392361 +vn 0.461701482534 0.051164239645 0.885558545589 +vn 0.088888555765 0.015037650242 0.995928049088 +vn 0.088888555765 0.015037650242 0.995928049088 +vn 0.310724049807 -0.698983669281 0.644105851650 +vn 0.641450524330 -0.522252142429 0.561955392361 +vn 0.943425536156 -0.203005120158 -0.262177675962 +vn 0.964601278305 -0.034498769790 0.261446416378 +vn 0.641450524330 -0.522252142429 0.561955392361 +vn 0.641450524330 -0.522252142429 0.561955392361 +vn 0.717304289341 -0.660168945789 -0.222826108336 +vn 0.943425536156 -0.203005120158 -0.262177675962 +vn 0.891302168369 0.238586738706 -0.385560452938 +vn 0.943425536156 -0.203005120158 -0.262177675962 +vn 0.717304289341 -0.660168945789 -0.222826108336 +vn 0.717304289341 -0.660168945789 -0.222826108336 +vn 0.758884966373 0.092251464725 -0.644657492638 +vn 0.891302168369 0.238586738706 -0.385560452938 +vn 0.930916905403 0.332600742579 -0.150898694992 +vn 0.891302168369 0.238586738706 -0.385560452938 +vn 0.758884966373 0.092251464725 -0.644657492638 +vn 0.758884966373 0.092251464725 -0.644657492638 +vn 0.877895355225 0.405764371157 -0.254273504019 +vn 0.930916905403 0.332600742579 -0.150898694992 +vn 0.823468267918 0.544366657734 0.159890517592 +vn 0.930916905403 0.332600742579 -0.150898694992 +vn 0.877895355225 0.405764371157 -0.254273504019 +vn 0.877895355225 0.405764371157 -0.254273504019 +vn 0.448758721352 0.815742969513 0.364937067032 +vn 0.823468267918 0.544366657734 0.159890517592 +vn 0.803170442581 0.076972313225 0.590755879879 +vn 0.823468267918 0.544366657734 0.159890517592 +vn 0.448758721352 0.815742969513 0.364937067032 +vn 0.448758721352 0.815742969513 0.364937067032 +vn 0.461701482534 0.051164239645 0.885558545589 +vn 0.803170442581 0.076972313225 0.590755879879 +vn 0.964601278305 -0.034498769790 0.261446416378 +vn 0.803170442581 0.076972313225 0.590755879879 +vn 0.461701482534 0.051164239645 0.885558545589 +vn 0.461701482534 0.051164239645 0.885558545589 +vn 0.641450524330 -0.522252142429 0.561955392361 +vn 0.964601278305 -0.034498769790 0.261446416378 +vn -0.181024864316 -0.898927867413 -0.398947030306 +vn 0.724958002567 -0.519052088261 -0.452792286873 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn -0.368347316980 -0.700353562832 -0.611412405968 +vn -0.181024864316 -0.898927867413 -0.398947030306 +vn 0.149192854762 0.818112552166 0.555367708206 +vn 0.508389532566 0.448634028435 0.735028982162 +vn -0.518603384495 0.300804406404 0.800354421139 +vn -0.518603384495 0.300804406404 0.800354421139 +vn -0.734525084496 0.400696694851 0.547644972801 +vn 0.149192854762 0.818112552166 0.555367708206 +vn -0.518603384495 0.300804406404 0.800354421139 +vn -0.943273961544 -0.317976415157 0.095526158810 +vn -0.957798421383 -0.287328153849 0.008044288494 +vn -0.957798421383 -0.287328153849 0.008044288494 +vn -0.734525084496 0.400696694851 0.547644972801 +vn -0.518603384495 0.300804406404 0.800354421139 +vn -0.957798421383 -0.287328153849 0.008044288494 +vn -0.943273961544 -0.317976415157 0.095526158810 +vn -0.181024864316 -0.898927867413 -0.398947030306 +vn -0.181024864316 -0.898927867413 -0.398947030306 +vn -0.368347316980 -0.700353562832 -0.611412405968 +vn -0.957798421383 -0.287328153849 0.008044288494 +vn 0.724958002567 -0.519052088261 -0.452792286873 +vn 0.997338175774 0.072519011796 0.007588622160 +vn 0.900408267975 0.406306445599 -0.155499354005 +vn 0.900408267975 0.406306445599 -0.155499354005 +vn 0.515817642212 -0.344284206629 -0.784474670887 +vn 0.724958002567 -0.519052088261 -0.452792286873 +vn 0.900408267975 0.406306445599 -0.155499354005 +vn 0.997338175774 0.072519011796 0.007588622160 +vn 0.508389532566 0.448634028435 0.735028982162 +vn 0.508389532566 0.448634028435 0.735028982162 +vn 0.149192854762 0.818112552166 0.555367708206 +vn 0.900408267975 0.406306445599 -0.155499354005 +vn 0.431223034859 -0.245175361633 -0.868294715881 +vn -0.405751198530 -0.675861299038 -0.615286529064 +vn -0.247283771634 -0.719329714775 -0.649165272713 +vn -0.247283771634 -0.719329714775 -0.649165272713 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn 0.431223034859 -0.245175361633 -0.868294715881 +vn 0.501678824425 0.396977752447 0.768587708473 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.234297513962 -0.089574843645 0.968029439449 +vn 0.501678824425 0.396977752447 0.768587708473 +vn -0.734225749969 -0.640220344067 0.225899294019 +vn -0.234297513962 -0.089574843645 0.968029439449 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.443338632584 -0.801661252975 0.400986373425 +vn -0.655084729195 -0.755481123924 0.010595246218 +vn -0.734225749969 -0.640220344067 0.225899294019 +vn -0.734225749969 -0.640220344067 0.225899294019 +vn -0.655084729195 -0.755481123924 0.010595246218 +vn -0.247283771634 -0.719329714775 -0.649165272713 +vn -0.247283771634 -0.719329714775 -0.649165272713 +vn -0.405751198530 -0.675861299038 -0.615286529064 +vn -0.734225749969 -0.640220344067 0.225899294019 +vn 0.913566887379 0.292726159096 -0.282324224710 +vn 0.431223034859 -0.245175361633 -0.868294715881 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn 0.969940900803 -0.016906807199 -0.242752596736 +vn 0.913566887379 0.292726159096 -0.282324224710 +vn 0.913566887379 0.292726159096 -0.282324224710 +vn 0.969940900803 -0.016906807199 -0.242752596736 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.501678824425 0.396977752447 0.768587708473 +vn 0.913566887379 0.292726159096 -0.282324224710 +vn 0.088449247181 -0.925405740738 0.368511795998 +vn 0.684322059155 -0.660563945770 0.308801889420 +vn 0.513085484505 0.034213557839 0.857655346394 +vn 0.513085484505 0.034213557839 0.857655346394 +vn 0.170270666480 -0.406844973564 0.897488176823 +vn 0.088449247181 -0.925405740738 0.368511795998 +vn 0.082195654511 -0.937620520592 -0.337804198265 +vn 0.476972043514 -0.707461297512 -0.521532535553 +vn 0.684322059155 -0.660563945770 0.308801889420 +vn 0.684322059155 -0.660563945770 0.308801889420 +vn 0.088449247181 -0.925405740738 0.368511795998 +vn 0.082195654511 -0.937620520592 -0.337804198265 +vn -0.325170487165 -0.671815574169 -0.665528357029 +vn -0.346198737621 -0.711642503738 -0.611319363117 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn 0.389072328806 -0.095891259611 -0.916202783585 +vn -0.325170487165 -0.671815574169 -0.665528357029 +vn 0.505004465580 0.475358963013 0.720419526100 +vn -0.482553303242 0.293915122747 0.825079500675 +vn -0.519214332104 0.253620952368 0.816145122051 +vn -0.519214332104 0.253620952368 0.816145122051 +vn 0.265235602856 0.751007497311 0.604679942131 +vn 0.505004465580 0.475358963013 0.720419526100 +vn -0.519214332104 0.253620952368 0.816145122051 +vn -0.482553303242 0.293915122747 0.825079500675 +vn -0.869434535503 -0.445658445358 0.213242009282 +vn -0.869434535503 -0.445658445358 0.213242009282 +vn -0.838412821293 -0.511487185955 0.188267946243 +vn -0.519214332104 0.253620952368 0.816145122051 +vn -0.869434535503 -0.445658445358 0.213242009282 +vn -0.346198737621 -0.711642503738 -0.611319363117 +vn -0.325170487165 -0.671815574169 -0.665528357029 +vn -0.325170487165 -0.671815574169 -0.665528357029 +vn -0.838412821293 -0.511487185955 0.188267946243 +vn -0.869434535503 -0.445658445358 0.213242009282 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn 0.980657398701 0.183535054326 -0.068014398217 +vn 0.739776730537 0.600438773632 -0.303650617599 +vn 0.739776730537 0.600438773632 -0.303650617599 +vn 0.389072328806 -0.095891259611 -0.916202783585 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn 0.739776730537 0.600438773632 -0.303650617599 +vn 0.980657398701 0.183535054326 -0.068014398217 +vn 0.505004465580 0.475358963013 0.720419526100 +vn 0.505004465580 0.475358963013 0.720419526100 +vn 0.265235602856 0.751007497311 0.604679942131 +vn 0.739776730537 0.600438773632 -0.303650617599 +vn -0.235076472163 -0.728490591049 -0.643459796906 +vn -0.371108859777 -0.615805447102 -0.695026516914 +vn 0.560012459755 -0.217515259981 -0.799420535564 +vn 0.560012459755 -0.217515259981 -0.799420535564 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn -0.235076472163 -0.728490591049 -0.643459796906 +vn 0.520211935043 0.559058606625 0.645626068115 +vn -0.438396394253 0.250405520201 0.863195061684 +vn -0.228174239397 0.046188309789 0.972524106503 +vn -0.228174239397 0.046188309789 0.972524106503 +vn 0.339759290218 0.652270197868 0.677574515343 +vn 0.520211935043 0.559058606625 0.645626068115 +vn -0.228174239397 0.046188309789 0.972524106503 +vn -0.438396394253 0.250405520201 0.863195061684 +vn -0.861999690533 -0.480082362890 0.162718862295 +vn -0.861999690533 -0.480082362890 0.162718862295 +vn -0.619149923325 -0.738844692707 0.266010940075 +vn -0.228174239397 0.046188309789 0.972524106503 +vn -0.861999690533 -0.480082362890 0.162718862295 +vn -0.371108859777 -0.615805447102 -0.695026516914 +vn -0.235076472163 -0.728490591049 -0.643459796906 +vn -0.235076472163 -0.728490591049 -0.643459796906 +vn -0.619149923325 -0.738844692707 0.266010940075 +vn -0.861999690533 -0.480082362890 0.162718862295 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn 0.560012459755 -0.217515259981 -0.799420535564 +vn 0.918112099171 0.388273864985 -0.079458087683 +vn 0.918112099171 0.388273864985 -0.079458087683 +vn 0.687901079655 0.645506918430 -0.331832736731 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn 0.918112099171 0.388273864985 -0.079458087683 +vn 0.520211935043 0.559058606625 0.645626068115 +vn 0.339759290218 0.652270197868 0.677574515343 +vn 0.339759290218 0.652270197868 0.677574515343 +vn 0.687901079655 0.645506918430 -0.331832736731 +vn 0.918112099171 0.388273864985 -0.079458087683 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn 0.128968864679 -0.386283367872 -0.913319349289 +vn -0.473281711340 -0.666536271572 -0.575963377953 +vn -0.473281711340 -0.666536271572 -0.575963377953 +vn -0.354655981064 -0.667066633701 -0.655165076256 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn -0.437682479620 0.131488755345 0.889463186264 +vn -0.508684575558 0.100909605622 0.855018854141 +vn 0.143501415849 0.469171375036 0.871369957924 +vn 0.143501415849 0.469171375036 0.871369957924 +vn 0.227183014154 0.711364388466 0.665092885494 +vn -0.437682479620 0.131488755345 0.889463186264 +vn -0.765435516834 -0.599227905273 0.234594091773 +vn -0.828451156616 -0.499392956495 0.253525912762 +vn -0.508684575558 0.100909605622 0.855018854141 +vn -0.508684575558 0.100909605622 0.855018854141 +vn -0.437682479620 0.131488755345 0.889463186264 +vn -0.765435516834 -0.599227905273 0.234594091773 +vn -0.354655981064 -0.667066633701 -0.655165076256 +vn -0.473281711340 -0.666536271572 -0.575963377953 +vn -0.828451156616 -0.499392956495 0.253525912762 +vn -0.828451156616 -0.499392956495 0.253525912762 +vn -0.765435516834 -0.599227905273 0.234594091773 +vn -0.354655981064 -0.667066633701 -0.655165076256 +vn 0.674065530300 0.659879446030 -0.331956028938 +vn 0.910344779491 0.372827082872 -0.179644897580 +vn 0.687293410301 -0.005807823967 -0.726356685162 +vn 0.687293410301 -0.005807823967 -0.726356685162 +vn 0.391208052635 0.468177586794 -0.792316854000 +vn 0.674065530300 0.659879446030 -0.331956028938 +vn 0.463716655970 0.855164170265 0.231648653746 +vn 0.686772048473 0.587655961514 0.427790343761 +vn 0.910344779491 0.372827082872 -0.179644897580 +vn 0.910344779491 0.372827082872 -0.179644897580 +vn 0.674065530300 0.659879446030 -0.331956028938 +vn 0.463716655970 0.855164170265 0.231648653746 +vn 0.128968864679 -0.386283367872 -0.913319349289 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn -0.346198737621 -0.711642503738 -0.611319363117 +vn -0.346198737621 -0.711642503738 -0.611319363117 +vn -0.473281711340 -0.666536271572 -0.575963377953 +vn 0.128968864679 -0.386283367872 -0.913319349289 +vn -0.508684575558 0.100909605622 0.855018854141 +vn -0.482553303242 0.293915122747 0.825079500675 +vn 0.505004465580 0.475358963013 0.720419526100 +vn 0.505004465580 0.475358963013 0.720419526100 +vn 0.143501415849 0.469171375036 0.871369957924 +vn -0.508684575558 0.100909605622 0.855018854141 +vn -0.828451156616 -0.499392956495 0.253525912762 +vn -0.869434535503 -0.445658445358 0.213242009282 +vn -0.482553303242 0.293915122747 0.825079500675 +vn -0.482553303242 0.293915122747 0.825079500675 +vn -0.508684575558 0.100909605622 0.855018854141 +vn -0.828451156616 -0.499392956495 0.253525912762 +vn -0.473281711340 -0.666536271572 -0.575963377953 +vn -0.346198737621 -0.711642503738 -0.611319363117 +vn -0.869434535503 -0.445658445358 0.213242009282 +vn -0.869434535503 -0.445658445358 0.213242009282 +vn -0.828451156616 -0.499392956495 0.253525912762 +vn -0.473281711340 -0.666536271572 -0.575963377953 +vn 0.910344779491 0.372827082872 -0.179644897580 +vn 0.986742973328 0.148276701570 -0.065972454846 +vn 0.863255441189 -0.137341469526 -0.485723584890 +vn 0.863255441189 -0.137341469526 -0.485723584890 +vn 0.687293410301 -0.005807823967 -0.726356685162 +vn 0.910344779491 0.372827082872 -0.179644897580 +vn 0.686772048473 0.587655961514 0.427790343761 +vn 0.901354968548 0.173700019717 0.396721005440 +vn 0.986742973328 0.148276701570 -0.065972454846 +vn 0.986742973328 0.148276701570 -0.065972454846 +vn 0.910344779491 0.372827082872 -0.179644897580 +vn 0.686772048473 0.587655961514 0.427790343761 +vn 0.389072328806 -0.095891259611 -0.916202783585 +vn 0.129326030612 -0.292879104614 -0.947362959385 +vn -0.472557634115 -0.605245292187 -0.640599250793 +vn -0.472557634115 -0.605245292187 -0.640599250793 +vn -0.325170487165 -0.671815574169 -0.665528357029 +vn 0.389072328806 -0.095891259611 -0.916202783585 +vn -0.519214332104 0.253620952368 0.816145122051 +vn -0.532382369041 0.165311589837 0.830205440521 +vn 0.184828087687 0.570850193501 0.799980401993 +vn 0.184828087687 0.570850193501 0.799980401993 +vn 0.265235602856 0.751007497311 0.604679942131 +vn -0.519214332104 0.253620952368 0.816145122051 +vn -0.838412821293 -0.511487185955 0.188267946243 +vn -0.883482158184 -0.442702859640 0.153210327029 +vn -0.532382369041 0.165311589837 0.830205440521 +vn -0.532382369041 0.165311589837 0.830205440521 +vn -0.519214332104 0.253620952368 0.816145122051 +vn -0.838412821293 -0.511487185955 0.188267946243 +vn -0.325170487165 -0.671815574169 -0.665528357029 +vn -0.472557634115 -0.605245292187 -0.640599250793 +vn -0.883482158184 -0.442702859640 0.153210327029 +vn -0.883482158184 -0.442702859640 0.153210327029 +vn -0.838412821293 -0.511487185955 0.188267946243 +vn -0.325170487165 -0.671815574169 -0.665528357029 +vn 0.623391151428 0.703280031681 -0.341731846333 +vn 0.831110119820 0.524186849594 -0.185698986053 +vn 0.664896368980 0.172920316458 -0.726643919945 +vn 0.664896368980 0.172920316458 -0.726643919945 +vn 0.406478911638 0.543811917305 -0.734195768833 +vn 0.623391151428 0.703280031681 -0.341731846333 +vn 0.388378977776 0.908979058266 0.151389509439 +vn 0.630653321743 0.678292334080 0.377088755369 +vn 0.831110119820 0.524186849594 -0.185698986053 +vn 0.831110119820 0.524186849594 -0.185698986053 +vn 0.623391151428 0.703280031681 -0.341731846333 +vn 0.388378977776 0.908979058266 0.151389509439 +vn 0.129326030612 -0.292879104614 -0.947362959385 +vn 0.560012459755 -0.217515259981 -0.799420535564 +vn -0.371108859777 -0.615805447102 -0.695026516914 +vn -0.371108859777 -0.615805447102 -0.695026516914 +vn -0.472557634115 -0.605245292187 -0.640599250793 +vn 0.129326030612 -0.292879104614 -0.947362959385 +vn -0.532382369041 0.165311589837 0.830205440521 +vn -0.438396394253 0.250405520201 0.863195061684 +vn 0.520211935043 0.559058606625 0.645626068115 +vn 0.520211935043 0.559058606625 0.645626068115 +vn 0.184828087687 0.570850193501 0.799980401993 +vn -0.532382369041 0.165311589837 0.830205440521 +vn -0.883482158184 -0.442702859640 0.153210327029 +vn -0.861999690533 -0.480082362890 0.162718862295 +vn -0.438396394253 0.250405520201 0.863195061684 +vn -0.438396394253 0.250405520201 0.863195061684 +vn -0.532382369041 0.165311589837 0.830205440521 +vn -0.883482158184 -0.442702859640 0.153210327029 +vn -0.472557634115 -0.605245292187 -0.640599250793 +vn -0.371108859777 -0.615805447102 -0.695026516914 +vn -0.861999690533 -0.480082362890 0.162718862295 +vn -0.861999690533 -0.480082362890 0.162718862295 +vn -0.883482158184 -0.442702859640 0.153210327029 +vn -0.472557634115 -0.605245292187 -0.640599250793 +vn 0.831110119820 0.524186849594 -0.185698986053 +vn 0.937908053398 0.346375674009 -0.018771579489 +vn 0.876418769360 0.027477806434 -0.480765074492 +vn 0.876418769360 0.027477806434 -0.480765074492 +vn 0.664896368980 0.172920316458 -0.726643919945 +vn 0.831110119820 0.524186849594 -0.185698986053 +vn 0.630653321743 0.678292334080 0.377088755369 +vn 0.874575555325 0.318329840899 0.365764498711 +vn 0.937908053398 0.346375674009 -0.018771579489 +vn 0.937908053398 0.346375674009 -0.018771579489 +vn 0.831110119820 0.524186849594 -0.185698986053 +vn 0.630653321743 0.678292334080 0.377088755369 +vn 0.674065530300 0.659879446030 -0.331956028938 +vn 0.391208052635 0.468177586794 -0.792316854000 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn 0.610397398472 0.699176430702 -0.372246384621 +vn 0.674065530300 0.659879446030 -0.331956028938 +vn 0.463716655970 0.855164170265 0.231648653746 +vn 0.674065530300 0.659879446030 -0.331956028938 +vn 0.610397398472 0.699176430702 -0.372246384621 +vn 0.610397398472 0.699176430702 -0.372246384621 +vn 0.227183014154 0.711364388466 0.665092885494 +vn 0.463716655970 0.855164170265 0.231648653746 +vn 0.686772048473 0.587655961514 0.427790343761 +vn 0.463716655970 0.855164170265 0.231648653746 +vn 0.227183014154 0.711364388466 0.665092885494 +vn 0.227183014154 0.711364388466 0.665092885494 +vn 0.143501415849 0.469171375036 0.871369957924 +vn 0.686772048473 0.587655961514 0.427790343761 +vn 0.901354968548 0.173700019717 0.396721005440 +vn 0.686772048473 0.587655961514 0.427790343761 +vn 0.143501415849 0.469171375036 0.871369957924 +vn 0.143501415849 0.469171375036 0.871369957924 +vn 0.505004465580 0.475358963013 0.720419526100 +vn 0.901354968548 0.173700019717 0.396721005440 +vn 0.986742973328 0.148276701570 -0.065972454846 +vn 0.901354968548 0.173700019717 0.396721005440 +vn 0.505004465580 0.475358963013 0.720419526100 +vn 0.505004465580 0.475358963013 0.720419526100 +vn 0.980657398701 0.183535054326 -0.068014398217 +vn 0.986742973328 0.148276701570 -0.065972454846 +vn 0.863255441189 -0.137341469526 -0.485723584890 +vn 0.986742973328 0.148276701570 -0.065972454846 +vn 0.980657398701 0.183535054326 -0.068014398217 +vn 0.980657398701 0.183535054326 -0.068014398217 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn 0.863255441189 -0.137341469526 -0.485723584890 +vn 0.687293410301 -0.005807823967 -0.726356685162 +vn 0.863255441189 -0.137341469526 -0.485723584890 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn 0.544145107269 -0.351761192083 -0.761689007282 +vn 0.128968864679 -0.386283367872 -0.913319349289 +vn 0.687293410301 -0.005807823967 -0.726356685162 +vn 0.391208052635 0.468177586794 -0.792316854000 +vn 0.687293410301 -0.005807823967 -0.726356685162 +vn 0.128968864679 -0.386283367872 -0.913319349289 +vn 0.128968864679 -0.386283367872 -0.913319349289 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn 0.391208052635 0.468177586794 -0.792316854000 +vn 0.623391151428 0.703280031681 -0.341731846333 +vn 0.406478911638 0.543811917305 -0.734195768833 +vn 0.389072328806 -0.095891259611 -0.916202783585 +vn 0.389072328806 -0.095891259611 -0.916202783585 +vn 0.739776730537 0.600438773632 -0.303650617599 +vn 0.623391151428 0.703280031681 -0.341731846333 +vn 0.388378977776 0.908979058266 0.151389509439 +vn 0.623391151428 0.703280031681 -0.341731846333 +vn 0.739776730537 0.600438773632 -0.303650617599 +vn 0.739776730537 0.600438773632 -0.303650617599 +vn 0.265235602856 0.751007497311 0.604679942131 +vn 0.388378977776 0.908979058266 0.151389509439 +vn 0.630653321743 0.678292334080 0.377088755369 +vn 0.388378977776 0.908979058266 0.151389509439 +vn 0.265235602856 0.751007497311 0.604679942131 +vn 0.265235602856 0.751007497311 0.604679942131 +vn 0.184828087687 0.570850193501 0.799980401993 +vn 0.630653321743 0.678292334080 0.377088755369 +vn 0.874575555325 0.318329840899 0.365764498711 +vn 0.630653321743 0.678292334080 0.377088755369 +vn 0.184828087687 0.570850193501 0.799980401993 +vn 0.184828087687 0.570850193501 0.799980401993 +vn 0.520211935043 0.559058606625 0.645626068115 +vn 0.874575555325 0.318329840899 0.365764498711 +vn 0.937908053398 0.346375674009 -0.018771579489 +vn 0.874575555325 0.318329840899 0.365764498711 +vn 0.520211935043 0.559058606625 0.645626068115 +vn 0.520211935043 0.559058606625 0.645626068115 +vn 0.918112099171 0.388273864985 -0.079458087683 +vn 0.937908053398 0.346375674009 -0.018771579489 +vn 0.876418769360 0.027477806434 -0.480765074492 +vn 0.937908053398 0.346375674009 -0.018771579489 +vn 0.918112099171 0.388273864985 -0.079458087683 +vn 0.918112099171 0.388273864985 -0.079458087683 +vn 0.560012459755 -0.217515259981 -0.799420535564 +vn 0.876418769360 0.027477806434 -0.480765074492 +vn 0.664896368980 0.172920316458 -0.726643919945 +vn 0.876418769360 0.027477806434 -0.480765074492 +vn 0.560012459755 -0.217515259981 -0.799420535564 +vn 0.560012459755 -0.217515259981 -0.799420535564 +vn 0.129326030612 -0.292879104614 -0.947362959385 +vn 0.664896368980 0.172920316458 -0.726643919945 +vn 0.406478911638 0.543811917305 -0.734195768833 +vn 0.664896368980 0.172920316458 -0.726643919945 +vn 0.129326030612 -0.292879104614 -0.947362959385 +vn 0.129326030612 -0.292879104614 -0.947362959385 +vn 0.389072328806 -0.095891259611 -0.916202783585 +vn 0.406478911638 0.543811917305 -0.734195768833 +vn 0.082195654511 -0.937620520592 -0.337804198265 +vn -0.235076472163 -0.728490591049 -0.643459796906 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn 0.476972043514 -0.707461297512 -0.521532535553 +vn 0.082195654511 -0.937620520592 -0.337804198265 +vn 0.339759290218 0.652270197868 0.677574515343 +vn -0.228174239397 0.046188309789 0.972524106503 +vn 0.170270666480 -0.406844973564 0.897488176823 +vn 0.170270666480 -0.406844973564 0.897488176823 +vn 0.513085484505 0.034213557839 0.857655346394 +vn 0.339759290218 0.652270197868 0.677574515343 +vn 0.170270666480 -0.406844973564 0.897488176823 +vn -0.228174239397 0.046188309789 0.972524106503 +vn -0.619149923325 -0.738844692707 0.266010940075 +vn -0.619149923325 -0.738844692707 0.266010940075 +vn 0.088449247181 -0.925405740738 0.368511795998 +vn 0.170270666480 -0.406844973564 0.897488176823 +vn -0.619149923325 -0.738844692707 0.266010940075 +vn -0.235076472163 -0.728490591049 -0.643459796906 +vn 0.082195654511 -0.937620520592 -0.337804198265 +vn 0.082195654511 -0.937620520592 -0.337804198265 +vn 0.088449247181 -0.925405740738 0.368511795998 +vn -0.619149923325 -0.738844692707 0.266010940075 +vn 0.821415543556 0.418836295605 -0.387108117342 +vn 0.869845926762 0.474592566490 -0.134647488594 +vn 0.975914239883 0.216983765364 0.022570852190 +vn 0.975914239883 0.216983765364 0.022570852190 +vn 0.904637575150 0.042771328241 -0.424029976130 +vn 0.821415543556 0.418836295605 -0.387108117342 +vn 0.869845926762 0.474592566490 -0.134647488594 +vn 0.809969186783 0.585213720798 0.038403198123 +vn 0.902213692665 0.365601032972 0.228793248534 +vn 0.902213692665 0.365601032972 0.228793248534 +vn 0.975914239883 0.216983765364 0.022570852190 +vn 0.869845926762 0.474592566490 -0.134647488594 +vn 0.753184616566 -0.437666743994 -0.491081178188 +vn 0.927561044693 -0.318227767944 0.195861279964 +vn 0.684322059155 -0.660563945770 0.308801889420 +vn 0.684322059155 -0.660563945770 0.308801889420 +vn 0.476972043514 -0.707461297512 -0.521532535553 +vn 0.753184616566 -0.437666743994 -0.491081178188 +vn 0.494041234255 0.320056259632 -0.808385610580 +vn 0.753184616566 -0.437666743994 -0.491081178188 +vn 0.476972043514 -0.707461297512 -0.521532535553 +vn 0.476972043514 -0.707461297512 -0.521532535553 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn 0.494041234255 0.320056259632 -0.808385610580 +vn 0.675994634628 0.653667986393 -0.340219646692 +vn 0.494041234255 0.320056259632 -0.808385610580 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn 0.355099231005 -0.208450347185 -0.911291956902 +vn 0.687901079655 0.645506918430 -0.331832736731 +vn 0.675994634628 0.653667986393 -0.340219646692 +vn 0.442176759243 0.858698606491 0.259068340063 +vn 0.675994634628 0.653667986393 -0.340219646692 +vn 0.687901079655 0.645506918430 -0.331832736731 +vn 0.687901079655 0.645506918430 -0.331832736731 +vn 0.339759290218 0.652270197868 0.677574515343 +vn 0.442176759243 0.858698606491 0.259068340063 +vn 0.775210857391 0.244860023260 0.582315802574 +vn 0.442176759243 0.858698606491 0.259068340063 +vn 0.339759290218 0.652270197868 0.677574515343 +vn 0.339759290218 0.652270197868 0.677574515343 +vn 0.513085484505 0.034213557839 0.857655346394 +vn 0.775210857391 0.244860023260 0.582315802574 +vn 0.927561044693 -0.318227767944 0.195861279964 +vn 0.775210857391 0.244860023260 0.582315802574 +vn 0.513085484505 0.034213557839 0.857655346394 +vn 0.513085484505 0.034213557839 0.857655346394 +vn 0.684322059155 -0.660563945770 0.308801889420 +vn 0.927561044693 -0.318227767944 0.195861279964 +vn 0.904637575150 0.042771328241 -0.424029976130 +vn 0.975914239883 0.216983765364 0.022570852190 +vn 0.927561044693 -0.318227767944 0.195861279964 +vn 0.927561044693 -0.318227767944 0.195861279964 +vn 0.753184616566 -0.437666743994 -0.491081178188 +vn 0.904637575150 0.042771328241 -0.424029976130 +vn 0.821415543556 0.418836295605 -0.387108117342 +vn 0.904637575150 0.042771328241 -0.424029976130 +vn 0.753184616566 -0.437666743994 -0.491081178188 +vn 0.753184616566 -0.437666743994 -0.491081178188 +vn 0.494041234255 0.320056259632 -0.808385610580 +vn 0.821415543556 0.418836295605 -0.387108117342 +vn 0.869845926762 0.474592566490 -0.134647488594 +vn 0.821415543556 0.418836295605 -0.387108117342 +vn 0.494041234255 0.320056259632 -0.808385610580 +vn 0.494041234255 0.320056259632 -0.808385610580 +vn 0.675994634628 0.653667986393 -0.340219646692 +vn 0.869845926762 0.474592566490 -0.134647488594 +vn 0.809969186783 0.585213720798 0.038403198123 +vn 0.869845926762 0.474592566490 -0.134647488594 +vn 0.675994634628 0.653667986393 -0.340219646692 +vn 0.675994634628 0.653667986393 -0.340219646692 +vn 0.442176759243 0.858698606491 0.259068340063 +vn 0.809969186783 0.585213720798 0.038403198123 +vn 0.902213692665 0.365601032972 0.228793248534 +vn 0.809969186783 0.585213720798 0.038403198123 +vn 0.442176759243 0.858698606491 0.259068340063 +vn 0.442176759243 0.858698606491 0.259068340063 +vn 0.775210857391 0.244860023260 0.582315802574 +vn 0.902213692665 0.365601032972 0.228793248534 +vn 0.975914239883 0.216983765364 0.022570852190 +vn 0.902213692665 0.365601032972 0.228793248534 +vn 0.775210857391 0.244860023260 0.582315802574 +vn 0.775210857391 0.244860023260 0.582315802574 +vn 0.927561044693 -0.318227767944 0.195861279964 +vn 0.975914239883 0.216983765364 0.022570852190 +vn -0.405751198530 -0.675861299038 -0.615286529064 +vn 0.431223034859 -0.245175361633 -0.868294715881 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn -0.354655981064 -0.667066633701 -0.655165076256 +vn -0.405751198530 -0.675861299038 -0.615286529064 +vn 0.227183014154 0.711364388466 0.665092885494 +vn 0.501678824425 0.396977752447 0.768587708473 +vn -0.234297513962 -0.089574843645 0.968029439449 +vn -0.234297513962 -0.089574843645 0.968029439449 +vn -0.437682479620 0.131488755345 0.889463186264 +vn 0.227183014154 0.711364388466 0.665092885494 +vn -0.234297513962 -0.089574843645 0.968029439449 +vn -0.734225749969 -0.640220344067 0.225899294019 +vn -0.765435516834 -0.599227905273 0.234594091773 +vn -0.765435516834 -0.599227905273 0.234594091773 +vn -0.437682479620 0.131488755345 0.889463186264 +vn -0.234297513962 -0.089574843645 0.968029439449 +vn -0.765435516834 -0.599227905273 0.234594091773 +vn -0.734225749969 -0.640220344067 0.225899294019 +vn -0.405751198530 -0.675861299038 -0.615286529064 +vn -0.405751198530 -0.675861299038 -0.615286529064 +vn -0.354655981064 -0.667066633701 -0.655165076256 +vn -0.765435516834 -0.599227905273 0.234594091773 +vn 0.431223034859 -0.245175361633 -0.868294715881 +vn 0.913566887379 0.292726159096 -0.282324224710 +vn 0.610397398472 0.699176430702 -0.372246384621 +vn 0.610397398472 0.699176430702 -0.372246384621 +vn 0.280589044094 -0.079728811979 -0.956510901451 +vn 0.431223034859 -0.245175361633 -0.868294715881 +vn 0.610397398472 0.699176430702 -0.372246384621 +vn 0.913566887379 0.292726159096 -0.282324224710 +vn 0.501678824425 0.396977752447 0.768587708473 +vn 0.501678824425 0.396977752447 0.768587708473 +vn 0.227183014154 0.711364388466 0.665092885494 +vn 0.610397398472 0.699176430702 -0.372246384621 +vn 0.668267428875 -0.714787065983 -0.206150755286 +vn -0.342308551073 -0.898793816566 -0.273851275444 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.668267428875 -0.714787065983 -0.206150755286 +vn 0.149933636189 0.697240829468 0.700981557369 +vn 0.110006704926 0.644826173782 0.756371438503 +vn -0.616370320320 0.433791041374 0.657200813293 +vn -0.616370320320 0.433791041374 0.657200813293 +vn -0.693001866341 0.498886138201 0.520443081856 +vn 0.149933636189 0.697240829468 0.700981557369 +vn -0.980364203453 -0.180218189955 -0.080046124756 +vn -0.693001866341 0.498886138201 0.520443081856 +vn -0.616370320320 0.433791041374 0.657200813293 +vn -0.616370320320 0.433791041374 0.657200813293 +vn -0.901949763298 -0.291285008192 0.318809688091 +vn -0.980364203453 -0.180218189955 -0.080046124756 +vn -0.980364203453 -0.180218189955 -0.080046124756 +vn -0.901949763298 -0.291285008192 0.318809688091 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.359303474426 -0.736660242081 0.572916030884 +vn -0.342308551073 -0.898793816566 -0.273851275444 +vn -0.980364203453 -0.180218189955 -0.080046124756 +vn 0.890769839287 0.184809222817 0.415180265903 +vn 0.668267428875 -0.714787065983 -0.206150755286 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.817651689053 0.281194716692 0.502369642258 +vn 0.890769839287 0.184809222817 0.415180265903 +vn 0.890769839287 0.184809222817 0.415180265903 +vn 0.817651689053 0.281194716692 0.502369642258 +vn 0.110006704926 0.644826173782 0.756371438503 +vn 0.110006704926 0.644826173782 0.756371438503 +vn 0.149933636189 0.697240829468 0.700981557369 +vn 0.890769839287 0.184809222817 0.415180265903 +vn -0.848475039005 -0.487641692162 0.205659151077 +vn -0.383437961340 -0.706359207630 0.595005929470 +vn -0.357588768005 0.118223853409 0.926365673542 +vn -0.357588768005 0.118223853409 0.926365673542 +vn -0.734268069267 0.103339523077 0.670948088169 +vn -0.848475039005 -0.487641692162 0.205659151077 +vn -0.399920433760 -0.850315570831 -0.342092126608 +vn 0.043543953449 -0.980369687080 -0.192299902439 +vn -0.383437961340 -0.706359207630 0.595005929470 +vn -0.383437961340 -0.706359207630 0.595005929470 +vn -0.848475039005 -0.487641692162 0.205659151077 +vn -0.399920433760 -0.850315570831 -0.342092126608 +vn -0.199534490705 -0.497407346964 -0.844258189201 +vn -0.316729605198 -0.591466248035 -0.741518735886 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn 0.614367485046 -0.528622925282 -0.585756242275 +vn -0.199534490705 -0.497407346964 -0.844258189201 +vn 0.157286047935 0.538553655148 0.827780783176 +vn -0.677771806717 0.617188751698 0.399629086256 +vn -0.616071522236 0.741670787334 0.265292972326 +vn -0.616071522236 0.741670787334 0.265292972326 +vn 0.222944125533 0.750830531120 0.621730983257 +vn 0.157286047935 0.538553655148 0.827780783176 +vn -0.616071522236 0.741670787334 0.265292972326 +vn -0.677771806717 0.617188751698 0.399629086256 +vn -0.926304101944 0.045903865248 -0.373969972134 +vn -0.926304101944 0.045903865248 -0.373969972134 +vn -0.833082377911 0.170161336660 -0.526325821877 +vn -0.616071522236 0.741670787334 0.265292972326 +vn -0.926304101944 0.045903865248 -0.373969972134 +vn -0.316729605198 -0.591466248035 -0.741518735886 +vn -0.199534490705 -0.497407346964 -0.844258189201 +vn -0.199534490705 -0.497407346964 -0.844258189201 +vn -0.833082377911 0.170161336660 -0.526325821877 +vn -0.926304101944 0.045903865248 -0.373969972134 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn 0.889279901981 -0.100665405393 0.446147680283 +vn 0.983508825302 0.178707674146 0.027819553390 +vn 0.983508825302 0.178707674146 0.027819553390 +vn 0.614367485046 -0.528622925282 -0.585756242275 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn 0.983508825302 0.178707674146 0.027819553390 +vn 0.889279901981 -0.100665405393 0.446147680283 +vn 0.157286047935 0.538553655148 0.827780783176 +vn 0.157286047935 0.538553655148 0.827780783176 +vn 0.222944125533 0.750830531120 0.621730983257 +vn 0.983508825302 0.178707674146 0.027819553390 +vn -0.233318984509 -0.666360259056 -0.708185136318 +vn -0.208768904209 -0.573515474796 -0.792146205902 +vn 0.506012320518 -0.837805211544 -0.205021828413 +vn 0.506012320518 -0.837805211544 -0.205021828413 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn -0.233318984509 -0.666360259056 -0.708185136318 +vn 0.104782521725 0.411863684654 0.905201017857 +vn -0.610949575901 0.705598056316 0.358987480402 +vn -0.657146453857 0.579351842403 0.482192873955 +vn -0.657146453857 0.579351842403 0.482192873955 +vn 0.113310351968 0.573081195354 0.811627209187 +vn 0.104782521725 0.411863684654 0.905201017857 +vn -0.657146453857 0.579351842403 0.482192873955 +vn -0.610949575901 0.705598056316 0.358987480402 +vn -0.850158751011 0.180513113737 -0.494616091251 +vn -0.850158751011 0.180513113737 -0.494616091251 +vn -0.952475607395 -0.035068064928 -0.302589625120 +vn -0.657146453857 0.579351842403 0.482192873955 +vn -0.850158751011 0.180513113737 -0.494616091251 +vn -0.208768904209 -0.573515474796 -0.792146205902 +vn -0.233318984509 -0.666360259056 -0.708185136318 +vn -0.233318984509 -0.666360259056 -0.708185136318 +vn -0.952475607395 -0.035068064928 -0.302589625120 +vn -0.850158751011 0.180513113737 -0.494616091251 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn 0.506012320518 -0.837805211544 -0.205021828413 +vn 0.632826983929 -0.368218600750 0.681135118008 +vn 0.632826983929 -0.368218600750 0.681135118008 +vn 0.871987402439 -0.213342875242 0.440593689680 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn 0.632826983929 -0.368218600750 0.681135118008 +vn 0.104782521725 0.411863684654 0.905201017857 +vn 0.113310351968 0.573081195354 0.811627209187 +vn 0.113310351968 0.573081195354 0.811627209187 +vn 0.871987402439 -0.213342875242 0.440593689680 +vn 0.632826983929 -0.368218600750 0.681135118008 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn 0.196752786636 -0.678127408028 -0.708118319511 +vn -0.430359631777 -0.595827996731 -0.678070485592 +vn -0.430359631777 -0.595827996731 -0.678070485592 +vn -0.389741688967 -0.670392096043 -0.631407797337 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn -0.731816112995 0.506709039211 0.455731421709 +vn -0.768773972988 0.435160547495 0.468638271093 +vn -0.206256195903 0.641347289085 0.739007472992 +vn -0.206256195903 0.641347289085 0.739007472992 +vn 0.096828460693 0.822797715664 0.560025155544 +vn -0.731816112995 0.506709039211 0.455731421709 +vn -0.980241477489 -0.154460281134 -0.123566515744 +vn -0.975134015083 -0.114833161235 -0.189544335008 +vn -0.768773972988 0.435160547495 0.468638271093 +vn -0.768773972988 0.435160547495 0.468638271093 +vn -0.731816112995 0.506709039211 0.455731421709 +vn -0.980241477489 -0.154460281134 -0.123566515744 +vn -0.389741688967 -0.670392096043 -0.631407797337 +vn -0.430359631777 -0.595827996731 -0.678070485592 +vn -0.975134015083 -0.114833161235 -0.189544335008 +vn -0.975134015083 -0.114833161235 -0.189544335008 +vn -0.980241477489 -0.154460281134 -0.123566515744 +vn -0.389741688967 -0.670392096043 -0.631407797337 +vn 0.981905460358 0.179060816765 -0.061635598540 +vn 0.970880985260 -0.015337765217 0.239070773125 +vn 0.797515034676 -0.488100707531 -0.354580610991 +vn 0.797515034676 -0.488100707531 -0.354580610991 +vn 0.804508805275 -0.077632702887 -0.588845252991 +vn 0.981905460358 0.179060816765 -0.061635598540 +vn 0.585843265057 0.739259600639 0.332088679075 +vn 0.518502652645 0.501994550228 0.692211270332 +vn 0.970880985260 -0.015337765217 0.239070773125 +vn 0.970880985260 -0.015337765217 0.239070773125 +vn 0.981905460358 0.179060816765 -0.061635598540 +vn 0.585843265057 0.739259600639 0.332088679075 +vn 0.196752786636 -0.678127408028 -0.708118319511 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn -0.316729605198 -0.591466248035 -0.741518735886 +vn -0.316729605198 -0.591466248035 -0.741518735886 +vn -0.430359631777 -0.595827996731 -0.678070485592 +vn 0.196752786636 -0.678127408028 -0.708118319511 +vn -0.768773972988 0.435160547495 0.468638271093 +vn -0.677771806717 0.617188751698 0.399629086256 +vn 0.157286047935 0.538553655148 0.827780783176 +vn 0.157286047935 0.538553655148 0.827780783176 +vn -0.206256195903 0.641347289085 0.739007472992 +vn -0.768773972988 0.435160547495 0.468638271093 +vn -0.975134015083 -0.114833161235 -0.189544335008 +vn -0.926304101944 0.045903865248 -0.373969972134 +vn -0.677771806717 0.617188751698 0.399629086256 +vn -0.677771806717 0.617188751698 0.399629086256 +vn -0.768773972988 0.435160547495 0.468638271093 +vn -0.975134015083 -0.114833161235 -0.189544335008 +vn -0.430359631777 -0.595827996731 -0.678070485592 +vn -0.316729605198 -0.591466248035 -0.741518735886 +vn -0.926304101944 0.045903865248 -0.373969972134 +vn -0.926304101944 0.045903865248 -0.373969972134 +vn -0.975134015083 -0.114833161235 -0.189544335008 +vn -0.430359631777 -0.595827996731 -0.678070485592 +vn 0.970880985260 -0.015337765217 0.239070773125 +vn 0.880316972733 -0.152910739183 0.449066013098 +vn 0.815516710281 -0.578331232071 0.021573621780 +vn 0.815516710281 -0.578331232071 0.021573621780 +vn 0.797515034676 -0.488100707531 -0.354580610991 +vn 0.970880985260 -0.015337765217 0.239070773125 +vn 0.518502652645 0.501994550228 0.692211270332 +vn 0.554780423641 0.107210293412 0.825060427189 +vn 0.880316972733 -0.152910739183 0.449066013098 +vn 0.880316972733 -0.152910739183 0.449066013098 +vn 0.970880985260 -0.015337765217 0.239070773125 +vn 0.518502652645 0.501994550228 0.692211270332 +vn 0.614367485046 -0.528622925282 -0.585756242275 +vn 0.339195787907 -0.687699139118 -0.641884803772 +vn -0.254326343536 -0.407145589590 -0.877240300179 +vn -0.254326343536 -0.407145589590 -0.877240300179 +vn -0.199534490705 -0.497407346964 -0.844258189201 +vn 0.614367485046 -0.528622925282 -0.585756242275 +vn -0.616071522236 0.741670787334 0.265292972326 +vn -0.668119966984 0.705169081688 0.237386316061 +vn -0.139188796282 0.683903872967 0.716171741486 +vn -0.139188796282 0.683903872967 0.716171741486 +vn 0.222944125533 0.750830531120 0.621730983257 +vn -0.616071522236 0.741670787334 0.265292972326 +vn -0.833082377911 0.170161336660 -0.526325821877 +vn -0.799643516541 0.236606702209 -0.551894485950 +vn -0.668119966984 0.705169081688 0.237386316061 +vn -0.668119966984 0.705169081688 0.237386316061 +vn -0.616071522236 0.741670787334 0.265292972326 +vn -0.833082377911 0.170161336660 -0.526325821877 +vn -0.199534490705 -0.497407346964 -0.844258189201 +vn -0.254326343536 -0.407145589590 -0.877240300179 +vn -0.799643516541 0.236606702209 -0.551894485950 +vn -0.799643516541 0.236606702209 -0.551894485950 +vn -0.833082377911 0.170161336660 -0.526325821877 +vn -0.199534490705 -0.497407346964 -0.844258189201 +vn 0.987893760204 0.129381850362 0.085593491793 +vn 0.868796169758 -0.152697831392 0.471037775278 +vn 0.793541431427 -0.589811086655 -0.149715930223 +vn 0.793541431427 -0.589811086655 -0.149715930223 +vn 0.908918678761 -0.099282518029 -0.404981225729 +vn 0.987893760204 0.129381850362 0.085593491793 +vn 0.651536583900 0.604201257229 0.458738386631 +vn 0.461553364992 0.375474810600 0.803733229637 +vn 0.868796169758 -0.152697831392 0.471037775278 +vn 0.868796169758 -0.152697831392 0.471037775278 +vn 0.987893760204 0.129381850362 0.085593491793 +vn 0.651536583900 0.604201257229 0.458738386631 +vn 0.339195787907 -0.687699139118 -0.641884803772 +vn 0.506012320518 -0.837805211544 -0.205021828413 +vn -0.208768904209 -0.573515474796 -0.792146205902 +vn -0.208768904209 -0.573515474796 -0.792146205902 +vn -0.254326343536 -0.407145589590 -0.877240300179 +vn 0.339195787907 -0.687699139118 -0.641884803772 +vn -0.668119966984 0.705169081688 0.237386316061 +vn -0.610949575901 0.705598056316 0.358987480402 +vn 0.104782521725 0.411863684654 0.905201017857 +vn 0.104782521725 0.411863684654 0.905201017857 +vn -0.139188796282 0.683903872967 0.716171741486 +vn -0.668119966984 0.705169081688 0.237386316061 +vn -0.799643516541 0.236606702209 -0.551894485950 +vn -0.850158751011 0.180513113737 -0.494616091251 +vn -0.610949575901 0.705598056316 0.358987480402 +vn -0.610949575901 0.705598056316 0.358987480402 +vn -0.668119966984 0.705169081688 0.237386316061 +vn -0.799643516541 0.236606702209 -0.551894485950 +vn -0.254326343536 -0.407145589590 -0.877240300179 +vn -0.208768904209 -0.573515474796 -0.792146205902 +vn -0.850158751011 0.180513113737 -0.494616091251 +vn -0.850158751011 0.180513113737 -0.494616091251 +vn -0.799643516541 0.236606702209 -0.551894485950 +vn -0.254326343536 -0.407145589590 -0.877240300179 +vn 0.868796169758 -0.152697831392 0.471037775278 +vn 0.646806478500 -0.355502337217 0.674729228020 +vn 0.626226544380 -0.741151809692 0.241938635707 +vn 0.626226544380 -0.741151809692 0.241938635707 +vn 0.793541431427 -0.589811086655 -0.149715930223 +vn 0.868796169758 -0.152697831392 0.471037775278 +vn 0.461553364992 0.375474810600 0.803733229637 +vn 0.396851718426 -0.018567655236 0.917694926262 +vn 0.646806478500 -0.355502337217 0.674729228020 +vn 0.646806478500 -0.355502337217 0.674729228020 +vn 0.868796169758 -0.152697831392 0.471037775278 +vn 0.461553364992 0.375474810600 0.803733229637 +vn 0.981905460358 0.179060816765 -0.061635598540 +vn 0.804508805275 -0.077632702887 -0.588845252991 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn 0.960634171963 0.272636055946 -0.053400605917 +vn 0.981905460358 0.179060816765 -0.061635598540 +vn 0.585843265057 0.739259600639 0.332088679075 +vn 0.981905460358 0.179060816765 -0.061635598540 +vn 0.960634171963 0.272636055946 -0.053400605917 +vn 0.960634171963 0.272636055946 -0.053400605917 +vn 0.096828460693 0.822797715664 0.560025155544 +vn 0.585843265057 0.739259600639 0.332088679075 +vn 0.518502652645 0.501994550228 0.692211270332 +vn 0.585843265057 0.739259600639 0.332088679075 +vn 0.096828460693 0.822797715664 0.560025155544 +vn 0.096828460693 0.822797715664 0.560025155544 +vn -0.206256195903 0.641347289085 0.739007472992 +vn 0.518502652645 0.501994550228 0.692211270332 +vn 0.554780423641 0.107210293412 0.825060427189 +vn 0.518502652645 0.501994550228 0.692211270332 +vn -0.206256195903 0.641347289085 0.739007472992 +vn -0.206256195903 0.641347289085 0.739007472992 +vn 0.157286047935 0.538553655148 0.827780783176 +vn 0.554780423641 0.107210293412 0.825060427189 +vn 0.880316972733 -0.152910739183 0.449066013098 +vn 0.554780423641 0.107210293412 0.825060427189 +vn 0.157286047935 0.538553655148 0.827780783176 +vn 0.157286047935 0.538553655148 0.827780783176 +vn 0.889279901981 -0.100665405393 0.446147680283 +vn 0.880316972733 -0.152910739183 0.449066013098 +vn 0.815516710281 -0.578331232071 0.021573621780 +vn 0.880316972733 -0.152910739183 0.449066013098 +vn 0.889279901981 -0.100665405393 0.446147680283 +vn 0.889279901981 -0.100665405393 0.446147680283 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn 0.815516710281 -0.578331232071 0.021573621780 +vn 0.797515034676 -0.488100707531 -0.354580610991 +vn 0.815516710281 -0.578331232071 0.021573621780 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn 0.567068278790 -0.731413245201 -0.378772050142 +vn 0.196752786636 -0.678127408028 -0.708118319511 +vn 0.797515034676 -0.488100707531 -0.354580610991 +vn 0.804508805275 -0.077632702887 -0.588845252991 +vn 0.797515034676 -0.488100707531 -0.354580610991 +vn 0.196752786636 -0.678127408028 -0.708118319511 +vn 0.196752786636 -0.678127408028 -0.708118319511 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn 0.804508805275 -0.077632702887 -0.588845252991 +vn 0.987893760204 0.129381850362 0.085593491793 +vn 0.908918678761 -0.099282518029 -0.404981225729 +vn 0.614367485046 -0.528622925282 -0.585756242275 +vn 0.614367485046 -0.528622925282 -0.585756242275 +vn 0.983508825302 0.178707674146 0.027819553390 +vn 0.987893760204 0.129381850362 0.085593491793 +vn 0.651536583900 0.604201257229 0.458738386631 +vn 0.987893760204 0.129381850362 0.085593491793 +vn 0.983508825302 0.178707674146 0.027819553390 +vn 0.983508825302 0.178707674146 0.027819553390 +vn 0.222944125533 0.750830531120 0.621730983257 +vn 0.651536583900 0.604201257229 0.458738386631 +vn 0.461553364992 0.375474810600 0.803733229637 +vn 0.651536583900 0.604201257229 0.458738386631 +vn 0.222944125533 0.750830531120 0.621730983257 +vn 0.222944125533 0.750830531120 0.621730983257 +vn -0.139188796282 0.683903872967 0.716171741486 +vn 0.461553364992 0.375474810600 0.803733229637 +vn 0.396851718426 -0.018567655236 0.917694926262 +vn 0.461553364992 0.375474810600 0.803733229637 +vn -0.139188796282 0.683903872967 0.716171741486 +vn -0.139188796282 0.683903872967 0.716171741486 +vn 0.104782521725 0.411863684654 0.905201017857 +vn 0.396851718426 -0.018567655236 0.917694926262 +vn 0.646806478500 -0.355502337217 0.674729228020 +vn 0.396851718426 -0.018567655236 0.917694926262 +vn 0.104782521725 0.411863684654 0.905201017857 +vn 0.104782521725 0.411863684654 0.905201017857 +vn 0.632826983929 -0.368218600750 0.681135118008 +vn 0.646806478500 -0.355502337217 0.674729228020 +vn 0.626226544380 -0.741151809692 0.241938635707 +vn 0.646806478500 -0.355502337217 0.674729228020 +vn 0.632826983929 -0.368218600750 0.681135118008 +vn 0.632826983929 -0.368218600750 0.681135118008 +vn 0.506012320518 -0.837805211544 -0.205021828413 +vn 0.626226544380 -0.741151809692 0.241938635707 +vn 0.793541431427 -0.589811086655 -0.149715930223 +vn 0.626226544380 -0.741151809692 0.241938635707 +vn 0.506012320518 -0.837805211544 -0.205021828413 +vn 0.506012320518 -0.837805211544 -0.205021828413 +vn 0.339195787907 -0.687699139118 -0.641884803772 +vn 0.793541431427 -0.589811086655 -0.149715930223 +vn 0.908918678761 -0.099282518029 -0.404981225729 +vn 0.793541431427 -0.589811086655 -0.149715930223 +vn 0.339195787907 -0.687699139118 -0.641884803772 +vn 0.339195787907 -0.687699139118 -0.641884803772 +vn 0.614367485046 -0.528622925282 -0.585756242275 +vn 0.908918678761 -0.099282518029 -0.404981225729 +vn -0.399920433760 -0.850315570831 -0.342092126608 +vn -0.233318984509 -0.666360259056 -0.708185136318 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn 0.043543953449 -0.980369687080 -0.192299902439 +vn -0.399920433760 -0.850315570831 -0.342092126608 +vn 0.113310351968 0.573081195354 0.811627209187 +vn -0.657146453857 0.579351842403 0.482192873955 +vn -0.734268069267 0.103339523077 0.670948088169 +vn -0.734268069267 0.103339523077 0.670948088169 +vn -0.357588768005 0.118223853409 0.926365673542 +vn 0.113310351968 0.573081195354 0.811627209187 +vn -0.734268069267 0.103339523077 0.670948088169 +vn -0.657146453857 0.579351842403 0.482192873955 +vn -0.952475607395 -0.035068064928 -0.302589625120 +vn -0.952475607395 -0.035068064928 -0.302589625120 +vn -0.848475039005 -0.487641692162 0.205659151077 +vn -0.734268069267 0.103339523077 0.670948088169 +vn -0.952475607395 -0.035068064928 -0.302589625120 +vn -0.233318984509 -0.666360259056 -0.708185136318 +vn -0.399920433760 -0.850315570831 -0.342092126608 +vn -0.399920433760 -0.850315570831 -0.342092126608 +vn -0.848475039005 -0.487641692162 0.205659151077 +vn -0.952475607395 -0.035068064928 -0.302589625120 +vn 0.959618747234 -0.261538088322 0.103584453464 +vn 0.945667684078 -0.079083986580 0.315370142460 +vn 0.660671710968 -0.416826665401 0.624314367771 +vn 0.660671710968 -0.416826665401 0.624314367771 +vn 0.748748421669 -0.647354602814 0.142505466938 +vn 0.959618747234 -0.261538088322 0.103584453464 +vn 0.945667684078 -0.079083986580 0.315370142460 +vn 0.892274856567 0.088678508997 0.442698240280 +vn 0.501735031605 -0.120247341692 0.856622755527 +vn 0.501735031605 -0.120247341692 0.856622755527 +vn 0.660671710968 -0.416826665401 0.624314367771 +vn 0.945667684078 -0.079083986580 0.315370142460 +vn 0.360437154770 -0.932430565357 -0.025656782091 +vn 0.021822169423 -0.700111567974 0.713699936867 +vn -0.383437961340 -0.706359207630 0.595005929470 +vn -0.383437961340 -0.706359207630 0.595005929470 +vn 0.043543953449 -0.980369687080 -0.192299902439 +vn 0.360437154770 -0.932430565357 -0.025656782091 +vn 0.903939485550 -0.364983111620 -0.222891658545 +vn 0.360437154770 -0.932430565357 -0.025656782091 +vn 0.043543953449 -0.980369687080 -0.192299902439 +vn 0.043543953449 -0.980369687080 -0.192299902439 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn 0.903939485550 -0.364983111620 -0.222891658545 +vn 0.939626336098 -0.190783411264 0.284084558487 +vn 0.903939485550 -0.364983111620 -0.222891658545 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn 0.558148503304 -0.735797524452 -0.383499979973 +vn 0.871987402439 -0.213342875242 0.440593689680 +vn 0.939626336098 -0.190783411264 0.284084558487 +vn 0.598061859608 0.474797159433 0.645669937134 +vn 0.939626336098 -0.190783411264 0.284084558487 +vn 0.871987402439 -0.213342875242 0.440593689680 +vn 0.871987402439 -0.213342875242 0.440593689680 +vn 0.113310351968 0.573081195354 0.811627209187 +vn 0.598061859608 0.474797159433 0.645669937134 +vn 0.000675067538 -0.005126592703 0.999986648560 +vn 0.598061859608 0.474797159433 0.645669937134 +vn 0.113310351968 0.573081195354 0.811627209187 +vn 0.113310351968 0.573081195354 0.811627209187 +vn -0.357588768005 0.118223853409 0.926365673542 +vn 0.000675067538 -0.005126592703 0.999986648560 +vn 0.021822169423 -0.700111567974 0.713699936867 +vn 0.000675067538 -0.005126592703 0.999986648560 +vn -0.357588768005 0.118223853409 0.926365673542 +vn -0.357588768005 0.118223853409 0.926365673542 +vn -0.383437961340 -0.706359207630 0.595005929470 +vn 0.021822169423 -0.700111567974 0.713699936867 +vn 0.748748421669 -0.647354602814 0.142505466938 +vn 0.660671710968 -0.416826665401 0.624314367771 +vn 0.021822169423 -0.700111567974 0.713699936867 +vn 0.021822169423 -0.700111567974 0.713699936867 +vn 0.360437154770 -0.932430565357 -0.025656782091 +vn 0.748748421669 -0.647354602814 0.142505466938 +vn 0.959618747234 -0.261538088322 0.103584453464 +vn 0.748748421669 -0.647354602814 0.142505466938 +vn 0.360437154770 -0.932430565357 -0.025656782091 +vn 0.360437154770 -0.932430565357 -0.025656782091 +vn 0.903939485550 -0.364983111620 -0.222891658545 +vn 0.959618747234 -0.261538088322 0.103584453464 +vn 0.945667684078 -0.079083986580 0.315370142460 +vn 0.959618747234 -0.261538088322 0.103584453464 +vn 0.903939485550 -0.364983111620 -0.222891658545 +vn 0.903939485550 -0.364983111620 -0.222891658545 +vn 0.939626336098 -0.190783411264 0.284084558487 +vn 0.945667684078 -0.079083986580 0.315370142460 +vn 0.892274856567 0.088678508997 0.442698240280 +vn 0.945667684078 -0.079083986580 0.315370142460 +vn 0.939626336098 -0.190783411264 0.284084558487 +vn 0.939626336098 -0.190783411264 0.284084558487 +vn 0.598061859608 0.474797159433 0.645669937134 +vn 0.892274856567 0.088678508997 0.442698240280 +vn 0.501735031605 -0.120247341692 0.856622755527 +vn 0.892274856567 0.088678508997 0.442698240280 +vn 0.598061859608 0.474797159433 0.645669937134 +vn 0.598061859608 0.474797159433 0.645669937134 +vn 0.000675067538 -0.005126592703 0.999986648560 +vn 0.501735031605 -0.120247341692 0.856622755527 +vn 0.660671710968 -0.416826665401 0.624314367771 +vn 0.501735031605 -0.120247341692 0.856622755527 +vn 0.000675067538 -0.005126592703 0.999986648560 +vn 0.000675067538 -0.005126592703 0.999986648560 +vn 0.021822169423 -0.700111567974 0.713699936867 +vn 0.660671710968 -0.416826665401 0.624314367771 +vn -0.342308551073 -0.898793816566 -0.273851275444 +vn 0.668267428875 -0.714787065983 -0.206150755286 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn -0.389741688967 -0.670392096043 -0.631407797337 +vn -0.342308551073 -0.898793816566 -0.273851275444 +vn 0.096828460693 0.822797715664 0.560025155544 +vn 0.149933636189 0.697240829468 0.700981557369 +vn -0.693001866341 0.498886138201 0.520443081856 +vn -0.693001866341 0.498886138201 0.520443081856 +vn -0.731816112995 0.506709039211 0.455731421709 +vn 0.096828460693 0.822797715664 0.560025155544 +vn -0.693001866341 0.498886138201 0.520443081856 +vn -0.980364203453 -0.180218189955 -0.080046124756 +vn -0.980241477489 -0.154460281134 -0.123566515744 +vn -0.980241477489 -0.154460281134 -0.123566515744 +vn -0.731816112995 0.506709039211 0.455731421709 +vn -0.693001866341 0.498886138201 0.520443081856 +vn -0.980241477489 -0.154460281134 -0.123566515744 +vn -0.980364203453 -0.180218189955 -0.080046124756 +vn -0.342308551073 -0.898793816566 -0.273851275444 +vn -0.342308551073 -0.898793816566 -0.273851275444 +vn -0.389741688967 -0.670392096043 -0.631407797337 +vn -0.980241477489 -0.154460281134 -0.123566515744 +vn 0.668267428875 -0.714787065983 -0.206150755286 +vn 0.890769839287 0.184809222817 0.415180265903 +vn 0.960634171963 0.272636055946 -0.053400605917 +vn 0.960634171963 0.272636055946 -0.053400605917 +vn 0.475301384926 -0.572428107262 -0.668142676353 +vn 0.668267428875 -0.714787065983 -0.206150755286 +vn 0.960634171963 0.272636055946 -0.053400605917 +vn 0.890769839287 0.184809222817 0.415180265903 +vn 0.149933636189 0.697240829468 0.700981557369 +vn 0.149933636189 0.697240829468 0.700981557369 +vn 0.096828460693 0.822797715664 0.560025155544 +vn 0.960634171963 0.272636055946 -0.053400605917 +vn 0.989734828472 0.125559329987 -0.068262815475 +vn 0.819909214973 0.467708528042 0.330147922039 +vn 0.817651689053 0.281194716692 0.502369642258 +vn 0.817651689053 0.281194716692 0.502369642258 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.989734828472 0.125559329987 -0.068262815475 +vn 0.921148419380 0.385149210691 -0.056086633354 +vn 0.989734828472 0.125559329987 -0.068262815475 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.921148419380 0.385149210691 -0.056086633354 +vn 0.672626733780 0.736264288425 0.074082300067 +vn 0.921148419380 0.385149210691 -0.056086633354 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.532998859882 0.815917551517 0.224032908678 +vn 0.672626733780 0.736264288425 0.074082300067 +vn 0.257287919521 0.884805023670 0.388488024473 +vn 0.672626733780 0.736264288425 0.074082300067 +vn 0.532998859882 0.815917551517 0.224032908678 +vn 0.532998859882 0.815917551517 0.224032908678 +vn -0.063488200307 0.792590856552 0.606439590454 +vn 0.257287919521 0.884805023670 0.388488024473 +vn 0.495524138212 0.582533538342 0.644290685654 +vn 0.257287919521 0.884805023670 0.388488024473 +vn -0.063488200307 0.792590856552 0.606439590454 +vn -0.063488200307 0.792590856552 0.606439590454 +vn 0.110006704926 0.644826173782 0.756371438503 +vn 0.495524138212 0.582533538342 0.644290685654 +vn 0.819909214973 0.467708528042 0.330147922039 +vn 0.495524138212 0.582533538342 0.644290685654 +vn 0.110006704926 0.644826173782 0.756371438503 +vn 0.110006704926 0.644826173782 0.756371438503 +vn 0.817651689053 0.281194716692 0.502369642258 +vn 0.819909214973 0.467708528042 0.330147922039 +vn 0.996836364269 -0.078574545681 0.011971659027 +vn 0.974218785763 0.136953219771 0.179280668497 +vn 0.972412407398 0.062441378832 0.224755913019 +vn 0.972412407398 0.062441378832 0.224755913019 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.996836364269 -0.078574545681 0.011971659027 +vn 0.992345750332 0.105561174452 -0.064083777368 +vn 0.996836364269 -0.078574545681 0.011971659027 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.992345750332 0.105561174452 -0.064083777368 +vn 0.933551311493 0.355292409658 0.047425679862 +vn 0.992345750332 0.105561174452 -0.064083777368 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.895273745060 0.445466607809 0.006669424009 +vn 0.933551311493 0.355292409658 0.047425679862 +vn 0.865989685059 0.453615128994 0.210464164615 +vn 0.933551311493 0.355292409658 0.047425679862 +vn 0.895273745060 0.445466607809 0.006669424009 +vn 0.895273745060 0.445466607809 0.006669424009 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.865989685059 0.453615128994 0.210464164615 +vn 0.882028698921 0.317493706942 0.348171114922 +vn 0.865989685059 0.453615128994 0.210464164615 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.882028698921 0.317493706942 0.348171114922 +vn 0.974218785763 0.136953219771 0.179280668497 +vn 0.882028698921 0.317493706942 0.348171114922 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.908309876919 0.015843641013 0.417997717857 +vn 0.972412407398 0.062441378832 0.224755913019 +vn 0.974218785763 0.136953219771 0.179280668497 +vn 0.999813377857 -0.018315166235 -0.006142910570 +vn 0.981092154980 0.054133977741 0.185816302896 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.999113142490 0.000560889952 0.042102612555 +vn 0.999813377857 -0.018315166235 -0.006142910570 +vn 0.991819202900 -0.034799017012 -0.122815772891 +vn 0.999813377857 -0.018315166235 -0.006142910570 +vn 0.999113142490 0.000560889952 0.042102612555 +vn 0.999113142490 0.000560889952 0.042102612555 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.991819202900 -0.034799017012 -0.122815772891 +vn 0.977511823177 -0.022532563657 -0.209673374891 +vn 0.991819202900 -0.034799017012 -0.122815772891 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.977511823177 -0.022532563657 -0.209673374891 +vn 0.987035095692 0.088362626731 -0.133991599083 +vn 0.977511823177 -0.022532563657 -0.209673374891 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.955716431141 0.190873801708 -0.223993942142 +vn 0.987035095692 0.088362626731 -0.133991599083 +vn 0.983536243439 0.177552938461 0.033636920154 +vn 0.987035095692 0.088362626731 -0.133991599083 +vn 0.955716431141 0.190873801708 -0.223993942142 +vn 0.955716431141 0.190873801708 -0.223993942142 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.983536243439 0.177552938461 0.033636920154 +vn 0.981092154980 0.054133977741 0.185816302896 +vn 0.983536243439 0.177552938461 0.033636920154 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.967617809772 -0.103586673737 0.230186060071 +vn 0.981092154980 0.054133977741 0.185816302896 +vn 0.795029461384 -0.241429388523 -0.556453049183 +vn 0.969082534313 0.013526707888 -0.246365621686 +vn 0.969940900803 -0.016906807199 -0.242752596736 +vn 0.969940900803 -0.016906807199 -0.242752596736 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn 0.795029461384 -0.241429388523 -0.556453049183 +vn 0.647841155529 -0.025598770007 -0.761345207691 +vn 0.795029461384 -0.241429388523 -0.556453049183 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn 0.487139850855 -0.463946342468 -0.739897668362 +vn 0.392160177231 -0.396549701691 -0.830035388470 +vn 0.647841155529 -0.025598770007 -0.761345207691 +vn 0.859054207802 0.164472088218 -0.484741955996 +vn 0.647841155529 -0.025598770007 -0.761345207691 +vn 0.392160177231 -0.396549701691 -0.830035388470 +vn 0.392160177231 -0.396549701691 -0.830035388470 +vn 0.794405698776 -0.012495234609 -0.607258975506 +vn 0.859054207802 0.164472088218 -0.484741955996 +vn 0.946094691753 0.247164011002 -0.209319770336 +vn 0.859054207802 0.164472088218 -0.484741955996 +vn 0.794405698776 -0.012495234609 -0.607258975506 +vn 0.794405698776 -0.012495234609 -0.607258975506 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.946094691753 0.247164011002 -0.209319770336 +vn 0.990318894386 0.134526759386 0.034220863134 +vn 0.946094691753 0.247164011002 -0.209319770336 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.990318894386 0.134526759386 0.034220863134 +vn 0.969082534313 0.013526707888 -0.246365621686 +vn 0.990318894386 0.134526759386 0.034220863134 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.969940900803 -0.016906807199 -0.242752596736 +vn 0.969082534313 0.013526707888 -0.246365621686 +vn 0.724958002567 -0.519052088261 -0.452792286873 +vn 0.991130888462 -0.068684190512 0.113763011992 +vn 0.999113142490 0.000560889952 0.042102612555 +vn 0.999113142490 0.000560889952 0.042102612555 +vn 0.997338175774 0.072519011796 0.007588622160 +vn 0.724958002567 -0.519052088261 -0.452792286873 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn -0.165293544531 -0.684560775757 -0.709968030453 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn 0.392160177231 -0.396549701691 -0.830035388470 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn -0.653411686420 -0.700181365013 0.287748575211 +vn -0.664937376976 -0.730501115322 0.155648365617 +vn -0.639232695103 -0.769012033939 0.001446417999 +vn -0.639232695103 -0.769012033939 0.001446417999 +vn -0.676493585110 -0.725261986256 0.127872824669 +vn -0.653411686420 -0.700181365013 0.287748575211 +vn 0.955716431141 0.190873801708 -0.223993942142 +vn 0.916165411472 0.250511020422 -0.312866061926 +vn 0.907647013664 0.391346275806 -0.151739954948 +vn 0.907647013664 0.391346275806 -0.151739954948 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.955716431141 0.190873801708 -0.223993942142 +vn -0.561405301094 -0.783839344978 -0.265367656946 +vn -0.656450152397 -0.729013919830 -0.193937793374 +vn -0.754400372505 -0.617815971375 0.221773415804 +vn -0.754400372505 -0.617815971375 0.221773415804 +vn -0.676493585110 -0.725261986256 0.127872824669 +vn -0.561405301094 -0.783839344978 -0.265367656946 +vn 0.746451914310 0.651406109333 0.135939553380 +vn 0.541074633598 0.742484569550 0.394911348820 +vn 0.532998859882 0.815917551517 0.224032908678 +vn 0.532998859882 0.815917551517 0.224032908678 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.746451914310 0.651406109333 0.135939553380 +vn 0.895273745060 0.445466607809 0.006669424009 +vn 0.840204894543 0.542268991470 -0.000119482458 +vn 0.746451914310 0.651406109333 0.135939553380 +vn 0.746451914310 0.651406109333 0.135939553380 +vn 0.851959705353 0.511508643627 0.111908867955 +vn 0.895273745060 0.445466607809 0.006669424009 +vn 0.310053557158 0.172868609428 0.934870719910 +vn 0.065754547715 -0.648359239101 0.758489727974 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn 0.087274819613 0.444357991219 0.891587972641 +vn 0.310053557158 0.172868609428 0.934870719910 +vn -0.519133925438 -0.761686325073 0.387729167938 +vn -0.453713983297 -0.402141332626 0.795252144337 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn 0.065754547715 -0.648359239101 0.758489727974 +vn -0.519133925438 -0.761686325073 0.387729167938 +vn -0.920045375824 -0.349020928144 -0.178047493100 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.519133925438 -0.761686325073 0.387729167938 +vn -0.519133925438 -0.761686325073 0.387729167938 +vn -0.450961977243 -0.891635656357 -0.040238905698 +vn -0.920045375824 -0.349020928144 -0.178047493100 +vn 0.065754547715 -0.648359239101 0.758489727974 +vn 0.310053557158 0.172868609428 0.934870719910 +vn 0.540591895580 -0.128417894244 0.831426024437 +vn 0.540591895580 -0.128417894244 0.831426024437 +vn 0.262353718281 -0.850628614426 0.455633014441 +vn 0.065754547715 -0.648359239101 0.758489727974 +vn -0.450961977243 -0.891635656357 -0.040238905698 +vn -0.519133925438 -0.761686325073 0.387729167938 +vn 0.065754547715 -0.648359239101 0.758489727974 +vn 0.065754547715 -0.648359239101 0.758489727974 +vn 0.262353718281 -0.850628614426 0.455633014441 +vn -0.450961977243 -0.891635656357 -0.040238905698 +vn -0.039080802351 -0.837885558605 0.544445097446 +vn -0.299715340137 -0.398805558681 0.866674602032 +vn -0.886710703373 -0.365493357182 0.283123165369 +vn -0.886710703373 -0.365493357182 0.283123165369 +vn -0.644062459469 -0.736073076725 0.208278611302 +vn -0.039080802351 -0.837885558605 0.544445097446 +vn 0.398574531078 -0.913124322891 0.085687346756 +vn 0.809110283852 -0.140281960368 0.570667624474 +vn 0.931347429752 -0.191739603877 0.309560865164 +vn 0.931347429752 -0.191739603877 0.309560865164 +vn 0.459524750710 -0.881456553936 -0.108955472708 +vn 0.398574531078 -0.913124322891 0.085687346756 +vn -0.399717628956 -0.800060749054 -0.447357386351 +vn -0.487139791250 -0.811088681221 -0.323774576187 +vn 0.398574531078 -0.913124322891 0.085687346756 +vn 0.398574531078 -0.913124322891 0.085687346756 +vn 0.459524750710 -0.881456553936 -0.108955472708 +vn -0.399717628956 -0.800060749054 -0.447357386351 +vn 0.809110283852 -0.140281960368 0.570667624474 +vn 0.316012024879 0.686757266521 0.654599726200 +vn 0.656715273857 0.671186864376 0.343850612640 +vn 0.656715273857 0.671186864376 0.343850612640 +vn 0.931347429752 -0.191739603877 0.309560865164 +vn 0.809110283852 -0.140281960368 0.570667624474 +vn 0.316012024879 0.686757266521 0.654599726200 +vn -0.531211972237 0.828068792820 0.179209098220 +vn -0.278513342142 0.959875881672 -0.032689496875 +vn -0.278513342142 0.959875881672 -0.032689496875 +vn 0.656715273857 0.671186864376 0.343850612640 +vn 0.316012024879 0.686757266521 0.654599726200 +vn -0.531211972237 0.828068792820 0.179209098220 +vn -0.941915929317 0.115449301898 -0.315382063389 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.278513342142 0.959875881672 -0.032689496875 +vn -0.531211972237 0.828068792820 0.179209098220 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.941915929317 0.115449301898 -0.315382063389 +vn -0.487139791250 -0.811088681221 -0.323774576187 +vn -0.487139791250 -0.811088681221 -0.323774576187 +vn -0.399717628956 -0.800060749054 -0.447357386351 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.488797932863 0.870124578476 -0.062927119434 +vn -0.454158663750 0.889905989170 -0.042511224747 +vn 0.092993848026 0.951101779938 0.294546306133 +vn 0.092993848026 0.951101779938 0.294546306133 +vn -0.162509486079 0.963348150253 0.213426902890 +vn -0.488797932863 0.870124578476 -0.062927119434 +vn -0.834133267403 0.451350212097 -0.317024648190 +vn -0.891583979130 0.427818477154 -0.148490324616 +vn -0.454158663750 0.889905989170 -0.042511224747 +vn -0.454158663750 0.889905989170 -0.042511224747 +vn -0.488797932863 0.870124578476 -0.062927119434 +vn -0.834133267403 0.451350212097 -0.317024648190 +vn 0.540591895580 -0.128417894244 0.831426024437 +vn 0.809110283852 -0.140281960368 0.570667624474 +vn 0.398574531078 -0.913124322891 0.085687346756 +vn 0.398574531078 -0.913124322891 0.085687346756 +vn 0.262353718281 -0.850628614426 0.455633014441 +vn 0.540591895580 -0.128417894244 0.831426024437 +vn 0.262353718281 -0.850628614426 0.455633014441 +vn 0.398574531078 -0.913124322891 0.085687346756 +vn -0.487139791250 -0.811088681221 -0.323774576187 +vn -0.487139791250 -0.811088681221 -0.323774576187 +vn -0.450961977243 -0.891635656357 -0.040238905698 +vn 0.262353718281 -0.850628614426 0.455633014441 +vn 0.414537787437 0.577000021935 0.703725337982 +vn 0.316012024879 0.686757266521 0.654599726200 +vn 0.809110283852 -0.140281960368 0.570667624474 +vn 0.809110283852 -0.140281960368 0.570667624474 +vn 0.540591895580 -0.128417894244 0.831426024437 +vn 0.414537787437 0.577000021935 0.703725337982 +vn -0.454158663750 0.889905989170 -0.042511224747 +vn -0.539173722267 0.833431780338 0.121174119413 +vn -0.076232120395 0.892228424549 0.445103466511 +vn -0.076232120395 0.892228424549 0.445103466511 +vn 0.092993848026 0.951101779938 0.294546306133 +vn -0.454158663750 0.889905989170 -0.042511224747 +vn -0.891583979130 0.427818477154 -0.148490324616 +vn -0.834865987301 0.549538910389 0.031714677811 +vn -0.539173722267 0.833431780338 0.121174119413 +vn -0.539173722267 0.833431780338 0.121174119413 +vn -0.454158663750 0.889905989170 -0.042511224747 +vn -0.891583979130 0.427818477154 -0.148490324616 +vn -0.450961977243 -0.891635656357 -0.040238905698 +vn -0.487139791250 -0.811088681221 -0.323774576187 +vn -0.941915929317 0.115449301898 -0.315382063389 +vn -0.941915929317 0.115449301898 -0.315382063389 +vn -0.920045375824 -0.349020928144 -0.178047493100 +vn -0.450961977243 -0.891635656357 -0.040238905698 +vn -0.488797932863 0.870124578476 -0.062927119434 +vn -0.162509486079 0.963348150253 0.213426902890 +vn -0.041679881513 0.924551546574 0.378770738840 +vn -0.041679881513 0.924551546574 0.378770738840 +vn -0.714573740959 0.695854723454 -0.071906782687 +vn -0.488797932863 0.870124578476 -0.062927119434 +vn -0.834133267403 0.451350212097 -0.317024648190 +vn -0.488797932863 0.870124578476 -0.062927119434 +vn -0.714573740959 0.695854723454 -0.071906782687 +vn -0.714573740959 0.695854723454 -0.071906782687 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.834133267403 0.451350212097 -0.317024648190 +vn -0.891583979130 0.427818477154 -0.148490324616 +vn -0.834133267403 0.451350212097 -0.317024648190 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.920045375824 -0.349020928144 -0.178047493100 +vn -0.891583979130 0.427818477154 -0.148490324616 +vn -0.834865987301 0.549538910389 0.031714677811 +vn -0.891583979130 0.427818477154 -0.148490324616 +vn -0.920045375824 -0.349020928144 -0.178047493100 +vn -0.920045375824 -0.349020928144 -0.178047493100 +vn -0.941915929317 0.115449301898 -0.315382063389 +vn -0.834865987301 0.549538910389 0.031714677811 +vn -0.539173722267 0.833431780338 0.121174119413 +vn -0.834865987301 0.549538910389 0.031714677811 +vn -0.941915929317 0.115449301898 -0.315382063389 +vn -0.941915929317 0.115449301898 -0.315382063389 +vn -0.531211972237 0.828068792820 0.179209098220 +vn -0.539173722267 0.833431780338 0.121174119413 +vn -0.076232120395 0.892228424549 0.445103466511 +vn -0.539173722267 0.833431780338 0.121174119413 +vn -0.531211972237 0.828068792820 0.179209098220 +vn -0.531211972237 0.828068792820 0.179209098220 +vn 0.316012024879 0.686757266521 0.654599726200 +vn -0.076232120395 0.892228424549 0.445103466511 +vn 0.092993848026 0.951101779938 0.294546306133 +vn -0.076232120395 0.892228424549 0.445103466511 +vn 0.316012024879 0.686757266521 0.654599726200 +vn 0.316012024879 0.686757266521 0.654599726200 +vn 0.414537787437 0.577000021935 0.703725337982 +vn 0.092993848026 0.951101779938 0.294546306133 +vn -0.162509486079 0.963348150253 0.213426902890 +vn 0.092993848026 0.951101779938 0.294546306133 +vn 0.414537787437 0.577000021935 0.703725337982 +vn 0.414537787437 0.577000021935 0.703725337982 +vn -0.041679881513 0.924551546574 0.378770738840 +vn -0.162509486079 0.963348150253 0.213426902890 +vn -0.039080802351 -0.837885558605 0.544445097446 +vn 0.221573963761 -0.975115537643 0.007395572029 +vn 0.792649924755 -0.450770765543 0.410501927137 +vn 0.792649924755 -0.450770765543 0.410501927137 +vn 0.523957431316 -0.527176558971 0.668994367123 +vn -0.039080802351 -0.837885558605 0.544445097446 +vn -0.644062459469 -0.736073076725 0.208278611302 +vn -0.584438264370 -0.750773370266 -0.307849317789 +vn 0.221573963761 -0.975115537643 0.007395572029 +vn 0.221573963761 -0.975115537643 0.007395572029 +vn -0.039080802351 -0.837885558605 0.544445097446 +vn -0.644062459469 -0.736073076725 0.208278611302 +vn 0.792649924755 -0.450770765543 0.410501927137 +vn 0.620225965977 0.440775215626 0.648873627186 +vn 0.472992837429 -0.007466317620 0.881034612656 +vn 0.472992837429 -0.007466317620 0.881034612656 +vn 0.523957431316 -0.527176558971 0.668994367123 +vn 0.792649924755 -0.450770765543 0.410501927137 +vn -0.106712952256 0.917102098465 0.384104311466 +vn -0.287710011005 0.868447899818 0.403758883476 +vn -0.379872918129 0.728305935860 0.570321917534 +vn -0.379872918129 0.728305935860 0.570321917534 +vn -0.073301777244 0.768137931824 0.636074662209 +vn -0.106712952256 0.917102098465 0.384104311466 +vn -0.287710011005 0.868447899818 0.403758883476 +vn -0.506764352322 0.822178900242 0.259252250195 +vn -0.626703619957 0.600684523582 0.496407806873 +vn -0.626703619957 0.600684523582 0.496407806873 +vn -0.379872918129 0.728305935860 0.570321917534 +vn -0.287710011005 0.868447899818 0.403758883476 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.584438264370 -0.750773370266 -0.307849317789 +vn -0.644062459469 -0.736073076725 0.208278611302 +vn -0.644062459469 -0.736073076725 0.208278611302 +vn -0.886710703373 -0.365493357182 0.283123165369 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn 0.931347429752 -0.191739603877 0.309560865164 +vn 0.908204495907 -0.398815929890 0.126926913857 +vn 0.323385655880 -0.909398913383 -0.261563360691 +vn 0.323385655880 -0.909398913383 -0.261563360691 +vn 0.459524750710 -0.881456553936 -0.108955472708 +vn 0.931347429752 -0.191739603877 0.309560865164 +vn 0.459524750710 -0.881456553936 -0.108955472708 +vn 0.323385655880 -0.909398913383 -0.261563360691 +vn -0.463834911585 -0.781955063343 -0.416417390108 +vn -0.463834911585 -0.781955063343 -0.416417390108 +vn -0.399717628956 -0.800060749054 -0.447357386351 +vn 0.459524750710 -0.881456553936 -0.108955472708 +vn 0.656715273857 0.671186864376 0.343850612640 +vn 0.879008293152 0.327037870884 0.346973568201 +vn 0.908204495907 -0.398815929890 0.126926913857 +vn 0.908204495907 -0.398815929890 0.126926913857 +vn 0.931347429752 -0.191739603877 0.309560865164 +vn 0.656715273857 0.671186864376 0.343850612640 +vn -0.162260547280 0.985521793365 -0.049175888300 +vn -0.296533823013 0.937092840672 0.184186592698 +vn 0.301279544830 0.869882464409 0.390557467937 +vn 0.301279544830 0.869882464409 0.390557467937 +vn 0.256493657827 0.966490387917 0.010358544998 +vn -0.162260547280 0.985521793365 -0.049175888300 +vn -0.552404344082 0.714155137539 -0.429920792580 +vn -0.770505726337 0.605568349361 -0.199017360806 +vn -0.296533823013 0.937092840672 0.184186592698 +vn -0.296533823013 0.937092840672 0.184186592698 +vn -0.162260547280 0.985521793365 -0.049175888300 +vn -0.552404344082 0.714155137539 -0.429920792580 +vn -0.399717628956 -0.800060749054 -0.447357386351 +vn -0.463834911585 -0.781955063343 -0.416417390108 +vn -0.874981164932 -0.187535449862 -0.446361333132 +vn -0.874981164932 -0.187535449862 -0.446361333132 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.399717628956 -0.800060749054 -0.447357386351 +vn 0.908204495907 -0.398815929890 0.126926913857 +vn 0.792649924755 -0.450770765543 0.410501927137 +vn 0.221573963761 -0.975115537643 0.007395572029 +vn 0.221573963761 -0.975115537643 0.007395572029 +vn 0.323385655880 -0.909398913383 -0.261563360691 +vn 0.908204495907 -0.398815929890 0.126926913857 +vn 0.323385655880 -0.909398913383 -0.261563360691 +vn 0.221573963761 -0.975115537643 0.007395572029 +vn -0.584438264370 -0.750773370266 -0.307849317789 +vn -0.584438264370 -0.750773370266 -0.307849317789 +vn -0.463834911585 -0.781955063343 -0.416417390108 +vn 0.323385655880 -0.909398913383 -0.261563360691 +vn 0.879008293152 0.327037870884 0.346973568201 +vn 0.620225965977 0.440775215626 0.648873627186 +vn 0.792649924755 -0.450770765543 0.410501927137 +vn 0.792649924755 -0.450770765543 0.410501927137 +vn 0.908204495907 -0.398815929890 0.126926913857 +vn 0.879008293152 0.327037870884 0.346973568201 +vn -0.296533823013 0.937092840672 0.184186592698 +vn -0.386452257633 0.830117344856 0.401945084333 +vn 0.018751272932 0.761757254601 0.647591114044 +vn 0.018751272932 0.761757254601 0.647591114044 +vn 0.301279544830 0.869882464409 0.390557467937 +vn -0.296533823013 0.937092840672 0.184186592698 +vn -0.770505726337 0.605568349361 -0.199017360806 +vn -0.765422403812 0.624349057674 0.155938431621 +vn -0.386452257633 0.830117344856 0.401945084333 +vn -0.386452257633 0.830117344856 0.401945084333 +vn -0.296533823013 0.937092840672 0.184186592698 +vn -0.770505726337 0.605568349361 -0.199017360806 +vn -0.463834911585 -0.781955063343 -0.416417390108 +vn -0.584438264370 -0.750773370266 -0.307849317789 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.874981164932 -0.187535449862 -0.446361333132 +vn -0.463834911585 -0.781955063343 -0.416417390108 +vn -0.162260547280 0.985521793365 -0.049175888300 +vn 0.256493657827 0.966490387917 0.010358544998 +vn 0.656715273857 0.671186864376 0.343850612640 +vn 0.656715273857 0.671186864376 0.343850612640 +vn -0.278513342142 0.959875881672 -0.032689496875 +vn -0.162260547280 0.985521793365 -0.049175888300 +vn -0.552404344082 0.714155137539 -0.429920792580 +vn -0.162260547280 0.985521793365 -0.049175888300 +vn -0.278513342142 0.959875881672 -0.032689496875 +vn -0.278513342142 0.959875881672 -0.032689496875 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.552404344082 0.714155137539 -0.429920792580 +vn -0.770505726337 0.605568349361 -0.199017360806 +vn -0.552404344082 0.714155137539 -0.429920792580 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.807621896267 0.130036145449 -0.575184762478 +vn -0.874981164932 -0.187535449862 -0.446361333132 +vn -0.770505726337 0.605568349361 -0.199017360806 +vn -0.765422403812 0.624349057674 0.155938431621 +vn -0.770505726337 0.605568349361 -0.199017360806 +vn -0.874981164932 -0.187535449862 -0.446361333132 +vn -0.874981164932 -0.187535449862 -0.446361333132 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.765422403812 0.624349057674 0.155938431621 +vn -0.386452257633 0.830117344856 0.401945084333 +vn -0.765422403812 0.624349057674 0.155938431621 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.321225166321 0.935288310051 0.148492872715 +vn -0.386452257633 0.830117344856 0.401945084333 +vn 0.018751272932 0.761757254601 0.647591114044 +vn -0.386452257633 0.830117344856 0.401945084333 +vn -0.321225166321 0.935288310051 0.148492872715 +vn -0.321225166321 0.935288310051 0.148492872715 +vn 0.620225965977 0.440775215626 0.648873627186 +vn 0.018751272932 0.761757254601 0.647591114044 +vn 0.301279544830 0.869882464409 0.390557467937 +vn 0.018751272932 0.761757254601 0.647591114044 +vn 0.620225965977 0.440775215626 0.648873627186 +vn 0.620225965977 0.440775215626 0.648873627186 +vn 0.879008293152 0.327037870884 0.346973568201 +vn 0.301279544830 0.869882464409 0.390557467937 +vn 0.256493657827 0.966490387917 0.010358544998 +vn 0.301279544830 0.869882464409 0.390557467937 +vn 0.879008293152 0.327037870884 0.346973568201 +vn 0.879008293152 0.327037870884 0.346973568201 +vn 0.656715273857 0.671186864376 0.343850612640 +vn 0.256493657827 0.966490387917 0.010358544998 +vn 0.257990837097 0.399163067341 0.879834949970 +vn -0.418872237206 0.170925334096 0.891813099384 +vn -0.299715340137 -0.398805558681 0.866674602032 +vn -0.299715340137 -0.398805558681 0.866674602032 +vn 0.472992837429 -0.007466317620 0.881034612656 +vn 0.257990837097 0.399163067341 0.879834949970 +vn 0.350384771824 0.861267209053 0.368034303188 +vn 0.257990837097 0.399163067341 0.879834949970 +vn 0.472992837429 -0.007466317620 0.881034612656 +vn 0.472992837429 -0.007466317620 0.881034612656 +vn 0.620225965977 0.440775215626 0.648873627186 +vn 0.350384771824 0.861267209053 0.368034303188 +vn -0.169324740767 0.985013782978 -0.032816808671 +vn 0.350384771824 0.861267209053 0.368034303188 +vn 0.620225965977 0.440775215626 0.648873627186 +vn 0.620225965977 0.440775215626 0.648873627186 +vn -0.321225166321 0.935288310051 0.148492872715 +vn -0.169324740767 0.985013782978 -0.032816808671 +vn -0.777136385441 0.616913676262 -0.124404892325 +vn -0.169324740767 0.985013782978 -0.032816808671 +vn -0.321225166321 0.935288310051 0.148492872715 +vn -0.321225166321 0.935288310051 0.148492872715 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.777136385441 0.616913676262 -0.124404892325 +vn -0.902384638786 0.115731023252 0.415100276470 +vn -0.777136385441 0.616913676262 -0.124404892325 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.977639138699 0.079577423632 -0.194651469588 +vn -0.886710703373 -0.365493357182 0.283123165369 +vn -0.902384638786 0.115731023252 0.415100276470 +vn -0.418872237206 0.170925334096 0.891813099384 +vn -0.902384638786 0.115731023252 0.415100276470 +vn -0.886710703373 -0.365493357182 0.283123165369 +vn -0.886710703373 -0.365493357182 0.283123165369 +vn -0.299715340137 -0.398805558681 0.866674602032 +vn -0.418872237206 0.170925334096 0.891813099384 +vn -0.073301777244 0.768137931824 0.636074662209 +vn -0.379872918129 0.728305935860 0.570321917534 +vn -0.418872237206 0.170925334096 0.891813099384 +vn -0.418872237206 0.170925334096 0.891813099384 +vn 0.257990837097 0.399163067341 0.879834949970 +vn -0.073301777244 0.768137931824 0.636074662209 +vn -0.106712952256 0.917102098465 0.384104311466 +vn -0.073301777244 0.768137931824 0.636074662209 +vn 0.257990837097 0.399163067341 0.879834949970 +vn 0.257990837097 0.399163067341 0.879834949970 +vn 0.350384771824 0.861267209053 0.368034303188 +vn -0.106712952256 0.917102098465 0.384104311466 +vn -0.287710011005 0.868447899818 0.403758883476 +vn -0.106712952256 0.917102098465 0.384104311466 +vn 0.350384771824 0.861267209053 0.368034303188 +vn 0.350384771824 0.861267209053 0.368034303188 +vn -0.169324740767 0.985013782978 -0.032816808671 +vn -0.287710011005 0.868447899818 0.403758883476 +vn -0.506764352322 0.822178900242 0.259252250195 +vn -0.287710011005 0.868447899818 0.403758883476 +vn -0.169324740767 0.985013782978 -0.032816808671 +vn -0.169324740767 0.985013782978 -0.032816808671 +vn -0.777136385441 0.616913676262 -0.124404892325 +vn -0.506764352322 0.822178900242 0.259252250195 +vn -0.626703619957 0.600684523582 0.496407806873 +vn -0.506764352322 0.822178900242 0.259252250195 +vn -0.777136385441 0.616913676262 -0.124404892325 +vn -0.777136385441 0.616913676262 -0.124404892325 +vn -0.902384638786 0.115731023252 0.415100276470 +vn -0.626703619957 0.600684523582 0.496407806873 +vn -0.379872918129 0.728305935860 0.570321917534 +vn -0.626703619957 0.600684523582 0.496407806873 +vn -0.902384638786 0.115731023252 0.415100276470 +vn -0.902384638786 0.115731023252 0.415100276470 +vn -0.418872237206 0.170925334096 0.891813099384 +vn -0.379872918129 0.728305935860 0.570321917534 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn -0.695233106613 -0.308236718178 0.649338960648 +vn -0.523102521896 -0.394829660654 0.755296826363 +vn -0.523102521896 -0.394829660654 0.755296826363 +vn -0.445946663618 -0.807002365589 0.387141823769 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn -0.874737322330 -0.461276412010 -0.148521482944 +vn -0.966934204102 -0.186706066132 -0.173721387982 +vn -0.898375689983 -0.393273085356 -0.195594832301 +vn -0.898375689983 -0.393273085356 -0.195594832301 +vn -0.830348789692 -0.545909702778 -0.111818790436 +vn -0.874737322330 -0.461276412010 -0.148521482944 +vn -0.618247926235 -0.775683164597 0.126827254891 +vn -0.664937376976 -0.730501115322 0.155648365617 +vn -0.653411686420 -0.700181365013 0.287748575211 +vn -0.653411686420 -0.700181365013 0.287748575211 +vn -0.584727287292 -0.760881543159 0.281341969967 +vn -0.618247926235 -0.775683164597 0.126827254891 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn 0.682675063610 -0.077603086829 -0.726589620113 +vn 0.794405698776 -0.012495234609 -0.607258975506 +vn 0.794405698776 -0.012495234609 -0.607258975506 +vn 0.392160177231 -0.396549701691 -0.830035388470 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn 0.137934416533 -0.403524935246 -0.904511868954 +vn -0.126566886902 -0.326682716608 -0.936621189117 +vn -0.126566886902 -0.326682716608 -0.936621189117 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.916165411472 0.250511020422 -0.312866061926 +vn 0.955716431141 0.190873801708 -0.223993942142 +vn 0.955716431141 0.190873801708 -0.223993942142 +vn 0.949413836002 0.132040485740 -0.284918785095 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.482846260071 0.869433462620 0.104618154466 +vn -0.086542211473 0.967878103256 0.236056029797 +vn 0.510312438011 0.841042578220 0.179523259401 +vn 0.510312438011 0.841042578220 0.179523259401 +vn 0.646575033665 0.757143557072 0.093136429787 +vn 0.482846260071 0.869433462620 0.104618154466 +vn 0.746451914310 0.651406109333 0.135939553380 +vn 0.646575033665 0.757143557072 0.093136429787 +vn 0.510312438011 0.841042578220 0.179523259401 +vn 0.510312438011 0.841042578220 0.179523259401 +vn 0.541074633598 0.742484569550 0.394911348820 +vn 0.746451914310 0.651406109333 0.135939553380 +vn 0.432463288307 0.539263606071 0.722613453865 +vn 0.310053557158 0.172868609428 0.934870719910 +vn 0.087274819613 0.444357991219 0.891587972641 +vn 0.087274819613 0.444357991219 0.891587972641 +vn 0.368794947863 0.655544221401 0.658978044987 +vn 0.432463288307 0.539263606071 0.722613453865 +vn 0.907647013664 0.391346275806 -0.151739954948 +vn 0.840204894543 0.542268991470 -0.000119482458 +vn 0.895273745060 0.445466607809 0.006669424009 +vn 0.895273745060 0.445466607809 0.006669424009 +vn 0.971128344536 0.229403585196 -0.065450385213 +vn 0.907647013664 0.391346275806 -0.151739954948 +vn 0.482846260071 0.869433462620 0.104618154466 +vn 0.646575033665 0.757143557072 0.093136429787 +vn 0.758434236050 0.649761736393 -0.050863955170 +vn 0.758434236050 0.649761736393 -0.050863955170 +vn 0.664757490158 0.741586744785 -0.090258158743 +vn 0.482846260071 0.869433462620 0.104618154466 +vn 0.907647013664 0.391346275806 -0.151739954948 +vn 0.833127021790 0.499868392944 -0.236708581448 +vn 0.758434236050 0.649761736393 -0.050863955170 +vn 0.758434236050 0.649761736393 -0.050863955170 +vn 0.840204894543 0.542268991470 -0.000119482458 +vn 0.907647013664 0.391346275806 -0.151739954948 +vn -0.383311569691 0.245430797338 0.890413403511 +vn -0.523102521896 -0.394829660654 0.755296826363 +vn -0.695233106613 -0.308236718178 0.649338960648 +vn -0.695233106613 -0.308236718178 0.649338960648 +vn -0.509524762630 0.326571792364 0.796074986458 +vn -0.383311569691 0.245430797338 0.890413403511 +vn -0.063488200307 0.792590856552 0.606439590454 +vn 0.050192341208 0.664369225502 0.745717287064 +vn -0.383311569691 0.245430797338 0.890413403511 +vn -0.383311569691 0.245430797338 0.890413403511 +vn -0.509524762630 0.326571792364 0.796074986458 +vn -0.063488200307 0.792590856552 0.606439590454 +vn 0.532998859882 0.815917551517 0.224032908678 +vn 0.541074633598 0.742484569550 0.394911348820 +vn 0.050192341208 0.664369225502 0.745717287064 +vn 0.050192341208 0.664369225502 0.745717287064 +vn -0.063488200307 0.792590856552 0.606439590454 +vn 0.532998859882 0.815917551517 0.224032908678 +vn -0.582560062408 -0.809202492237 0.076257012784 +vn -0.618247926235 -0.775683164597 0.126827254891 +vn -0.584727287292 -0.760881543159 0.281341969967 +vn -0.584727287292 -0.760881543159 0.281341969967 +vn -0.491080105305 -0.837426304817 0.239911466837 +vn -0.582560062408 -0.809202492237 0.076257012784 +vn 0.366472154856 0.870783627033 0.327771276236 +vn 0.368794947863 0.655544221401 0.658978044987 +vn 0.541074633598 0.742484569550 0.394911348820 +vn 0.541074633598 0.742484569550 0.394911348820 +vn 0.510312438011 0.841042578220 0.179523259401 +vn 0.366472154856 0.870783627033 0.327771276236 +vn -0.162673503160 0.963678956032 0.211802154779 +vn 0.366472154856 0.870783627033 0.327771276236 +vn 0.510312438011 0.841042578220 0.179523259401 +vn 0.510312438011 0.841042578220 0.179523259401 +vn -0.086542211473 0.967878103256 0.236056029797 +vn -0.162673503160 0.963678956032 0.211802154779 +vn -0.808967173100 0.572136342525 -0.135026350617 +vn -0.162673503160 0.963678956032 0.211802154779 +vn -0.086542211473 0.967878103256 0.236056029797 +vn -0.086542211473 0.967878103256 0.236056029797 +vn -0.900562524796 0.426854074001 0.082357078791 +vn -0.808967173100 0.572136342525 -0.135026350617 +vn -0.941590726376 0.033662363887 -0.335072696209 +vn -0.808967173100 0.572136342525 -0.135026350617 +vn -0.900562524796 0.426854074001 0.082357078791 +vn -0.900562524796 0.426854074001 0.082357078791 +vn -0.966934204102 -0.186706066132 -0.173721387982 +vn -0.941590726376 0.033662363887 -0.335072696209 +vn -0.881481885910 -0.453425347805 -0.131890684366 +vn -0.941590726376 0.033662363887 -0.335072696209 +vn -0.966934204102 -0.186706066132 -0.173721387982 +vn -0.966934204102 -0.186706066132 -0.173721387982 +vn -0.874737322330 -0.461276412010 -0.148521482944 +vn -0.881481885910 -0.453425347805 -0.131890684366 +vn -0.445946663618 -0.807002365589 0.387141823769 +vn -0.595355689526 -0.790148377419 0.145661026239 +vn -0.582560062408 -0.809202492237 0.076257012784 +vn -0.582560062408 -0.809202492237 0.076257012784 +vn -0.491080105305 -0.837426304817 0.239911466837 +vn -0.445946663618 -0.807002365589 0.387141823769 +vn -0.595355689526 -0.790148377419 0.145661026239 +vn -0.881481885910 -0.453425347805 -0.131890684366 +vn -0.874737322330 -0.461276412010 -0.148521482944 +vn -0.874737322330 -0.461276412010 -0.148521482944 +vn -0.582560062408 -0.809202492237 0.076257012784 +vn -0.595355689526 -0.790148377419 0.145661026239 +vn -0.675654530525 -0.652904331684 0.342354983091 +vn -0.527738094330 -0.663481891155 0.530362427235 +vn -0.453713983297 -0.402141332626 0.795252144337 +vn -0.453713983297 -0.402141332626 0.795252144337 +vn -0.519133925438 -0.761686325073 0.387729167938 +vn -0.675654530525 -0.652904331684 0.342354983091 +vn -0.714573740959 0.695854723454 -0.071906782687 +vn -0.041679881513 0.924551546574 0.378770738840 +vn -0.162673503160 0.963678956032 0.211802154779 +vn -0.162673503160 0.963678956032 0.211802154779 +vn -0.808967173100 0.572136342525 -0.135026350617 +vn -0.714573740959 0.695854723454 -0.071906782687 +vn -0.941590726376 0.033662363887 -0.335072696209 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.714573740959 0.695854723454 -0.071906782687 +vn -0.714573740959 0.695854723454 -0.071906782687 +vn -0.808967173100 0.572136342525 -0.135026350617 +vn -0.941590726376 0.033662363887 -0.335072696209 +vn -0.880192518234 -0.458102107048 0.124111056328 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.941590726376 0.033662363887 -0.335072696209 +vn -0.941590726376 0.033662363887 -0.335072696209 +vn -0.881481885910 -0.453425347805 -0.131890684366 +vn -0.880192518234 -0.458102107048 0.124111056328 +vn -0.595355689526 -0.790148377419 0.145661026239 +vn -0.675654530525 -0.652904331684 0.342354983091 +vn -0.880192518234 -0.458102107048 0.124111056328 +vn -0.880192518234 -0.458102107048 0.124111056328 +vn -0.881481885910 -0.453425347805 -0.131890684366 +vn -0.595355689526 -0.790148377419 0.145661026239 +vn -0.445946663618 -0.807002365589 0.387141823769 +vn -0.527738094330 -0.663481891155 0.530362427235 +vn -0.675654530525 -0.652904331684 0.342354983091 +vn -0.675654530525 -0.652904331684 0.342354983091 +vn -0.595355689526 -0.790148377419 0.145661026239 +vn -0.445946663618 -0.807002365589 0.387141823769 +vn -0.523102521896 -0.394829660654 0.755296826363 +vn -0.453713983297 -0.402141332626 0.795252144337 +vn -0.527738094330 -0.663481891155 0.530362427235 +vn -0.527738094330 -0.663481891155 0.530362427235 +vn -0.445946663618 -0.807002365589 0.387141823769 +vn -0.523102521896 -0.394829660654 0.755296826363 +vn 0.050192341208 0.664369225502 0.745717287064 +vn 0.087274819613 0.444357991219 0.891587972641 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn -0.383311569691 0.245430797338 0.890413403511 +vn 0.050192341208 0.664369225502 0.745717287064 +vn 0.368794947863 0.655544221401 0.658978044987 +vn 0.087274819613 0.444357991219 0.891587972641 +vn 0.050192341208 0.664369225502 0.745717287064 +vn 0.050192341208 0.664369225502 0.745717287064 +vn 0.541074633598 0.742484569550 0.394911348820 +vn 0.368794947863 0.655544221401 0.658978044987 +vn -0.162673503160 0.963678956032 0.211802154779 +vn -0.041679881513 0.924551546574 0.378770738840 +vn 0.412324339151 0.719989717007 0.558214545250 +vn 0.412324339151 0.719989717007 0.558214545250 +vn 0.366472154856 0.870783627033 0.327771276236 +vn -0.162673503160 0.963678956032 0.211802154779 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn -0.453713983297 -0.402141332626 0.795252144337 +vn -0.523102521896 -0.394829660654 0.755296826363 +vn -0.523102521896 -0.394829660654 0.755296826363 +vn -0.383311569691 0.245430797338 0.890413403511 +vn -0.217805311084 -0.017195902765 0.975840747356 +vn 0.432463288307 0.539263606071 0.722613453865 +vn 0.368794947863 0.655544221401 0.658978044987 +vn 0.366472154856 0.870783627033 0.327771276236 +vn 0.366472154856 0.870783627033 0.327771276236 +vn 0.412324339151 0.719989717007 0.558214545250 +vn 0.432463288307 0.539263606071 0.722613453865 +vn 0.432463288307 0.539263606071 0.722613453865 +vn 0.412324339151 0.719989717007 0.558214545250 +vn 0.488122433424 0.411598801613 0.769625186920 +vn 0.488122433424 0.411598801613 0.769625186920 +vn 0.310053557158 0.172868609428 0.934870719910 +vn 0.432463288307 0.539263606071 0.722613453865 +vn -0.484131455421 -0.316163808107 -0.815878152847 +vn -0.437444090843 -0.449006646872 -0.779124975204 +vn -0.691448807716 -0.499428868294 -0.521985948086 +vn -0.691448807716 -0.499428868294 -0.521985948086 +vn -0.795067191124 -0.386380672455 -0.467523425817 +vn -0.484131455421 -0.316163808107 -0.815878152847 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn -0.656450152397 -0.729013919830 -0.193937793374 +vn -0.561405301094 -0.783839344978 -0.265367656946 +vn -0.561405301094 -0.783839344978 -0.265367656946 +vn -0.165293544531 -0.684560775757 -0.709968030453 +vn -0.168870478868 -0.724403142929 -0.668373286724 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn 0.682675063610 -0.077603086829 -0.726589620113 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn 0.137934416533 -0.403524935246 -0.904511868954 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn -0.246353954077 -0.609194815159 -0.753784716129 +vn 0.137934416533 -0.403524935246 -0.904511868954 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn 0.312904179096 -0.418887764215 -0.852422416210 +vn -0.165293544531 -0.684560775757 -0.709968030453 +vn -0.246353954077 -0.609194815159 -0.753784716129 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.246353954077 -0.609194815159 -0.753784716129 +vn -0.165293544531 -0.684560775757 -0.709968030453 +vn -0.165293544531 -0.684560775757 -0.709968030453 +vn -0.561405301094 -0.783839344978 -0.265367656946 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.491080105305 -0.837426304817 0.239911466837 +vn -0.636142671108 -0.726978540421 0.258504658937 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn -0.592031836510 -0.689757585526 0.416812658310 +vn -0.445946663618 -0.807002365589 0.387141823769 +vn -0.491080105305 -0.837426304817 0.239911466837 +vn -0.584727287292 -0.760881543159 0.281341969967 +vn -0.653411686420 -0.700181365013 0.287748575211 +vn -0.750844120979 -0.583663046360 0.309144854546 +vn -0.750844120979 -0.583663046360 0.309144854546 +vn -0.671968698502 -0.667977213860 0.319788247347 +vn -0.584727287292 -0.760881543159 0.281341969967 +vn -0.664937376976 -0.730501115322 0.155648365617 +vn -0.618247926235 -0.775683164597 0.126827254891 +vn -0.830348789692 -0.545909702778 -0.111818790436 +vn -0.830348789692 -0.545909702778 -0.111818790436 +vn -0.832284808159 -0.533833265305 -0.149412333965 +vn -0.664937376976 -0.730501115322 0.155648365617 +vn -0.582560062408 -0.809202492237 0.076257012784 +vn -0.874737322330 -0.461276412010 -0.148521482944 +vn -0.830348789692 -0.545909702778 -0.111818790436 +vn -0.830348789692 -0.545909702778 -0.111818790436 +vn -0.618247926235 -0.775683164597 0.126827254891 +vn -0.582560062408 -0.809202492237 0.076257012784 +vn -0.691448807716 -0.499428868294 -0.521985948086 +vn -0.788505494595 -0.575718581676 -0.216349691153 +vn -0.832284808159 -0.533833265305 -0.149412333965 +vn -0.832284808159 -0.533833265305 -0.149412333965 +vn -0.795067191124 -0.386380672455 -0.467523425817 +vn -0.691448807716 -0.499428868294 -0.521985948086 +vn -0.437444090843 -0.449006646872 -0.779124975204 +vn -0.126566886902 -0.326682716608 -0.936621189117 +vn 0.137934416533 -0.403524935246 -0.904511868954 +vn 0.137934416533 -0.403524935246 -0.904511868954 +vn -0.246353954077 -0.609194815159 -0.753784716129 +vn -0.437444090843 -0.449006646872 -0.779124975204 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.691448807716 -0.499428868294 -0.521985948086 +vn -0.437444090843 -0.449006646872 -0.779124975204 +vn -0.437444090843 -0.449006646872 -0.779124975204 +vn -0.246353954077 -0.609194815159 -0.753784716129 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.788505494595 -0.575718581676 -0.216349691153 +vn -0.691448807716 -0.499428868294 -0.521985948086 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.538350522518 -0.738366723061 -0.406193703413 +vn -0.639232695103 -0.769012033939 0.001446417999 +vn -0.788505494595 -0.575718581676 -0.216349691153 +vn -0.664937376976 -0.730501115322 0.155648365617 +vn -0.832284808159 -0.533833265305 -0.149412333965 +vn -0.788505494595 -0.575718581676 -0.216349691153 +vn -0.788505494595 -0.575718581676 -0.216349691153 +vn -0.639232695103 -0.769012033939 0.001446417999 +vn -0.664937376976 -0.730501115322 0.155648365617 +vn -0.898375689983 -0.393273085356 -0.195594832301 +vn -0.795067191124 -0.386380672455 -0.467523425817 +vn -0.832284808159 -0.533833265305 -0.149412333965 +vn -0.832284808159 -0.533833265305 -0.149412333965 +vn -0.830348789692 -0.545909702778 -0.111818790436 +vn -0.898375689983 -0.393273085356 -0.195594832301 +vn -0.349582046270 -0.311735272408 -0.883523344994 +vn 0.147158190608 0.045159835368 -0.988081514835 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn -0.484131455421 -0.316163808107 -0.815878152847 +vn -0.349582046270 -0.311735272408 -0.883523344994 +vn -0.704096138477 -0.441944241524 -0.555818200111 +vn -0.349582046270 -0.311735272408 -0.883523344994 +vn -0.484131455421 -0.316163808107 -0.815878152847 +vn -0.484131455421 -0.316163808107 -0.815878152847 +vn -0.795067191124 -0.386380672455 -0.467523425817 +vn -0.704096138477 -0.441944241524 -0.555818200111 +vn -0.832196235657 -0.529535293579 -0.164443820715 +vn -0.704096138477 -0.441944241524 -0.555818200111 +vn -0.795067191124 -0.386380672455 -0.467523425817 +vn -0.795067191124 -0.386380672455 -0.467523425817 +vn -0.898375689983 -0.393273085356 -0.195594832301 +vn -0.832196235657 -0.529535293579 -0.164443820715 +vn -0.915586531162 -0.333801418543 0.224227353930 +vn -0.832196235657 -0.529535293579 -0.164443820715 +vn -0.898375689983 -0.393273085356 -0.195594832301 +vn -0.898375689983 -0.393273085356 -0.195594832301 +vn -0.966934204102 -0.186706066132 -0.173721387982 +vn -0.915586531162 -0.333801418543 0.224227353930 +vn -0.820469796658 0.119803763926 0.558995842934 +vn -0.915586531162 -0.333801418543 0.224227353930 +vn -0.966934204102 -0.186706066132 -0.173721387982 +vn -0.966934204102 -0.186706066132 -0.173721387982 +vn -0.900562524796 0.426854074001 0.082357078791 +vn -0.820469796658 0.119803763926 0.558995842934 +vn -0.362487792969 0.694832563400 0.621136307716 +vn -0.820469796658 0.119803763926 0.558995842934 +vn -0.900562524796 0.426854074001 0.082357078791 +vn -0.900562524796 0.426854074001 0.082357078791 +vn -0.086542211473 0.967878103256 0.236056029797 +vn -0.362487792969 0.694832563400 0.621136307716 +vn 0.367153495550 0.875142931938 0.315155804157 +vn -0.362487792969 0.694832563400 0.621136307716 +vn -0.086542211473 0.967878103256 0.236056029797 +vn -0.086542211473 0.967878103256 0.236056029797 +vn 0.482846260071 0.869433462620 0.104618154466 +vn 0.367153495550 0.875142931938 0.315155804157 +vn 0.683762192726 0.728296756744 -0.045311164111 +vn 0.367153495550 0.875142931938 0.315155804157 +vn 0.482846260071 0.869433462620 0.104618154466 +vn 0.482846260071 0.869433462620 0.104618154466 +vn 0.664757490158 0.741586744785 -0.090258158743 +vn 0.683762192726 0.728296756744 -0.045311164111 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.683762192726 0.728296756744 -0.045311164111 +vn 0.664757490158 0.741586744785 -0.090258158743 +vn 0.664757490158 0.741586744785 -0.090258158743 +vn 0.720319032669 0.613522648811 -0.323620855808 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn 0.605928599834 0.056156951934 -0.793534457684 +vn 0.605928599834 0.056156951934 -0.793534457684 +vn 0.761525034904 0.090172626078 -0.641832113266 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn 0.833127021790 0.499868392944 -0.236708581448 +vn 0.720319032669 0.613522648811 -0.323620855808 +vn 0.664757490158 0.741586744785 -0.090258158743 +vn 0.664757490158 0.741586744785 -0.090258158743 +vn 0.758434236050 0.649761736393 -0.050863955170 +vn 0.833127021790 0.499868392944 -0.236708581448 +vn 0.699251949787 -0.040834713727 -0.713708102703 +vn 0.147158190608 0.045159835368 -0.988081514835 +vn -0.349582046270 -0.311735272408 -0.883523344994 +vn -0.349582046270 -0.311735272408 -0.883523344994 +vn 0.094399817288 -0.468443334103 -0.878435850143 +vn 0.699251949787 -0.040834713727 -0.713708102703 +vn -0.430559724569 -0.708580851555 -0.559045195580 +vn 0.094399817288 -0.468443334103 -0.878435850143 +vn -0.349582046270 -0.311735272408 -0.883523344994 +vn -0.349582046270 -0.311735272408 -0.883523344994 +vn -0.704096138477 -0.441944241524 -0.555818200111 +vn -0.430559724569 -0.708580851555 -0.559045195580 +vn -0.430559724569 -0.708580851555 -0.559045195580 +vn -0.704096138477 -0.441944241524 -0.555818200111 +vn -0.832196235657 -0.529535293579 -0.164443820715 +vn -0.832196235657 -0.529535293579 -0.164443820715 +vn -0.616665720940 -0.782339334488 -0.087570220232 +vn -0.430559724569 -0.708580851555 -0.559045195580 +vn -0.616665720940 -0.782339334488 -0.087570220232 +vn -0.832196235657 -0.529535293579 -0.164443820715 +vn -0.915586531162 -0.333801418543 0.224227353930 +vn -0.915586531162 -0.333801418543 0.224227353930 +vn -0.788612246513 -0.502828478813 0.353912740946 +vn -0.616665720940 -0.782339334488 -0.087570220232 +vn -0.788612246513 -0.502828478813 0.353912740946 +vn -0.915586531162 -0.333801418543 0.224227353930 +vn -0.820469796658 0.119803763926 0.558995842934 +vn -0.820469796658 0.119803763926 0.558995842934 +vn -0.796163260937 0.020412357524 0.604737460613 +vn -0.788612246513 -0.502828478813 0.353912740946 +vn -0.476979732513 0.530355632305 0.700866043568 +vn -0.796163260937 0.020412357524 0.604737460613 +vn -0.820469796658 0.119803763926 0.558995842934 +vn -0.820469796658 0.119803763926 0.558995842934 +vn -0.362487792969 0.694832563400 0.621136307716 +vn -0.476979732513 0.530355632305 0.700866043568 +vn 0.200900077820 0.779989659786 0.592667937279 +vn -0.476979732513 0.530355632305 0.700866043568 +vn -0.362487792969 0.694832563400 0.621136307716 +vn -0.362487792969 0.694832563400 0.621136307716 +vn 0.367153495550 0.875142931938 0.315155804157 +vn 0.200900077820 0.779989659786 0.592667937279 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.200900077820 0.779989659786 0.592667937279 +vn 0.367153495550 0.875142931938 0.315155804157 +vn 0.367153495550 0.875142931938 0.315155804157 +vn 0.683762192726 0.728296756744 -0.045311164111 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.683762192726 0.728296756744 -0.045311164111 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.915375590324 0.387467741966 -0.109344631433 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.915375590324 0.387467741966 -0.109344631433 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.147158190608 0.045159835368 -0.988081514835 +vn 0.147158190608 0.045159835368 -0.988081514835 +vn 0.699251949787 -0.040834713727 -0.713708102703 +vn 0.915375590324 0.387467741966 -0.109344631433 +vn -0.675654530525 -0.652904331684 0.342354983091 +vn -0.519133925438 -0.761686325073 0.387729167938 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.973435103893 -0.116879180074 -0.196884244680 +vn -0.880192518234 -0.458102107048 0.124111056328 +vn -0.675654530525 -0.652904331684 0.342354983091 +vn 0.310053557158 0.172868609428 0.934870719910 +vn 0.488122433424 0.411598801613 0.769625186920 +vn 0.414537787437 0.577000021935 0.703725337982 +vn 0.414537787437 0.577000021935 0.703725337982 +vn 0.540591895580 -0.128417894244 0.831426024437 +vn 0.310053557158 0.172868609428 0.934870719910 +vn 0.414537787437 0.577000021935 0.703725337982 +vn 0.488122433424 0.411598801613 0.769625186920 +vn 0.412324339151 0.719989717007 0.558214545250 +vn 0.412324339151 0.719989717007 0.558214545250 +vn -0.041679881513 0.924551546574 0.378770738840 +vn 0.414537787437 0.577000021935 0.703725337982 +vn 0.493106514215 -0.556070029736 -0.669053137302 +vn 0.847137212753 0.013076731004 -0.531213283539 +vn 0.842043936253 -0.014386636205 -0.539217054844 +vn 0.842043936253 -0.014386636205 -0.539217054844 +vn 0.399592339993 -0.540018141270 -0.740747153759 +vn 0.493106514215 -0.556070029736 -0.669053137302 +vn -0.078519783914 -0.830581963062 -0.551333189011 +vn 0.152241155505 -0.867611408234 -0.473363518715 +vn 0.493106514215 -0.556070029736 -0.669053137302 +vn 0.493106514215 -0.556070029736 -0.669053137302 +vn 0.399592339993 -0.540018141270 -0.740747153759 +vn -0.078519783914 -0.830581963062 -0.551333189011 +vn -0.250959426165 -0.952669680119 -0.171580299735 +vn 0.152241155505 -0.867611408234 -0.473363518715 +vn -0.078519783914 -0.830581963062 -0.551333189011 +vn -0.078519783914 -0.830581963062 -0.551333189011 +vn -0.424148023129 -0.902120292187 -0.079230606556 +vn -0.250959426165 -0.952669680119 -0.171580299735 +vn 0.847137212753 0.013076731004 -0.531213283539 +vn 0.900250494480 0.354679793119 -0.252490162849 +vn 0.906766295433 0.409387618303 -0.100879304111 +vn 0.906766295433 0.409387618303 -0.100879304111 +vn 0.842043936253 -0.014386636205 -0.539217054844 +vn 0.847137212753 0.013076731004 -0.531213283539 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn 0.761525034904 0.090172626078 -0.641832113266 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.682675063610 -0.077603086829 -0.726589620113 +vn 0.519804894924 -0.123855583370 -0.845258951187 +vn 0.846919417381 0.311212152243 -0.431131660938 +vn 0.916165411472 0.250511020422 -0.312866061926 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.858815073967 0.119769096375 -0.498088389635 +vn 0.761525034904 0.090172626078 -0.641832113266 +vn 0.846919417381 0.311212152243 -0.431131660938 +vn 0.916165411472 0.250511020422 -0.312866061926 +vn 0.846919417381 0.311212152243 -0.431131660938 +vn 0.833127021790 0.499868392944 -0.236708581448 +vn 0.833127021790 0.499868392944 -0.236708581448 +vn 0.907647013664 0.391346275806 -0.151739954948 +vn 0.916165411472 0.250511020422 -0.312866061926 +vn 0.762283980846 0.367579370737 -0.532736837864 +vn 0.846919417381 0.311212152243 -0.431131660938 +vn 0.761525034904 0.090172626078 -0.641832113266 +vn 0.761525034904 0.090172626078 -0.641832113266 +vn 0.605928599834 0.056156951934 -0.793534457684 +vn 0.762283980846 0.367579370737 -0.532736837864 +vn 0.447385460138 0.231602251530 -0.863832533360 +vn 0.605928599834 0.056156951934 -0.793534457684 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn 0.096408627927 -0.179964497685 -0.978937268257 +vn 0.147158190608 0.045159835368 -0.988081514835 +vn 0.447385460138 0.231602251530 -0.863832533360 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.524165391922 0.471699982882 -0.709048509598 +vn 0.447385460138 0.231602251530 -0.863832533360 +vn 0.447385460138 0.231602251530 -0.863832533360 +vn 0.147158190608 0.045159835368 -0.988081514835 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.762283980846 0.367579370737 -0.532736837864 +vn 0.605928599834 0.056156951934 -0.793534457684 +vn 0.447385460138 0.231602251530 -0.863832533360 +vn 0.447385460138 0.231602251530 -0.863832533360 +vn 0.524165391922 0.471699982882 -0.709048509598 +vn 0.762283980846 0.367579370737 -0.532736837864 +vn 0.720319032669 0.613522648811 -0.323620855808 +vn 0.762283980846 0.367579370737 -0.532736837864 +vn 0.524165391922 0.471699982882 -0.709048509598 +vn 0.524165391922 0.471699982882 -0.709048509598 +vn 0.711000323296 0.521369159222 -0.471860915422 +vn 0.720319032669 0.613522648811 -0.323620855808 +vn 0.846919417381 0.311212152243 -0.431131660938 +vn 0.762283980846 0.367579370737 -0.532736837864 +vn 0.720319032669 0.613522648811 -0.323620855808 +vn 0.720319032669 0.613522648811 -0.323620855808 +vn 0.833127021790 0.499868392944 -0.236708581448 +vn 0.846919417381 0.311212152243 -0.431131660938 +vn 0.906766295433 0.409387618303 -0.100879304111 +vn 0.723317623138 0.619894027710 0.304208874702 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.915375590324 0.387467741966 -0.109344631433 +vn 0.906766295433 0.409387618303 -0.100879304111 +vn 0.196437984705 0.667735934258 0.718011736870 +vn 0.200900077820 0.779989659786 0.592667937279 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.706075668335 0.665737152100 0.241352871060 +vn 0.723317623138 0.619894027710 0.304208874702 +vn 0.196437984705 0.667735934258 0.718011736870 +vn -0.460308641195 0.432748824358 0.775141537189 +vn -0.476979732513 0.530355632305 0.700866043568 +vn 0.200900077820 0.779989659786 0.592667937279 +vn 0.200900077820 0.779989659786 0.592667937279 +vn 0.196437984705 0.667735934258 0.718011736870 +vn -0.460308641195 0.432748824358 0.775141537189 +vn -0.792952120304 -0.015133478679 0.609095990658 +vn -0.796163260937 0.020412357524 0.604737460613 +vn -0.476979732513 0.530355632305 0.700866043568 +vn -0.476979732513 0.530355632305 0.700866043568 +vn -0.460308641195 0.432748824358 0.775141537189 +vn -0.792952120304 -0.015133478679 0.609095990658 +vn -0.685466885567 -0.650259494781 0.327563315630 +vn -0.788612246513 -0.502828478813 0.353912740946 +vn -0.796163260937 0.020412357524 0.604737460613 +vn -0.796163260937 0.020412357524 0.604737460613 +vn -0.792952120304 -0.015133478679 0.609095990658 +vn -0.685466885567 -0.650259494781 0.327563315630 +vn -0.424148023129 -0.902120292187 -0.079230606556 +vn -0.685466885567 -0.650259494781 0.327563315630 +vn -0.472495853901 -0.873955726624 0.113794088364 +vn -0.472495853901 -0.873955726624 0.113794088364 +vn -0.250959426165 -0.952669680119 -0.171580299735 +vn -0.424148023129 -0.902120292187 -0.079230606556 +vn -0.430559724569 -0.708580851555 -0.559045195580 +vn -0.616665720940 -0.782339334488 -0.087570220232 +vn -0.424148023129 -0.902120292187 -0.079230606556 +vn -0.424148023129 -0.902120292187 -0.079230606556 +vn -0.078519783914 -0.830581963062 -0.551333189011 +vn -0.430559724569 -0.708580851555 -0.559045195580 +vn 0.094399817288 -0.468443334103 -0.878435850143 +vn -0.430559724569 -0.708580851555 -0.559045195580 +vn -0.078519783914 -0.830581963062 -0.551333189011 +vn -0.078519783914 -0.830581963062 -0.551333189011 +vn 0.399592339993 -0.540018141270 -0.740747153759 +vn 0.094399817288 -0.468443334103 -0.878435850143 +vn 0.842043936253 -0.014386636205 -0.539217054844 +vn 0.699251949787 -0.040834713727 -0.713708102703 +vn 0.094399817288 -0.468443334103 -0.878435850143 +vn 0.094399817288 -0.468443334103 -0.878435850143 +vn 0.399592339993 -0.540018141270 -0.740747153759 +vn 0.842043936253 -0.014386636205 -0.539217054844 +vn 0.915375590324 0.387467741966 -0.109344631433 +vn 0.699251949787 -0.040834713727 -0.713708102703 +vn 0.842043936253 -0.014386636205 -0.539217054844 +vn 0.842043936253 -0.014386636205 -0.539217054844 +vn 0.906766295433 0.409387618303 -0.100879304111 +vn 0.915375590324 0.387467741966 -0.109344631433 +vn 0.906766295433 0.409387618303 -0.100879304111 +vn 0.900250494480 0.354679793119 -0.252490162849 +vn 0.851737022400 0.522776246071 0.035341292620 +vn 0.851737022400 0.522776246071 0.035341292620 +vn 0.723317623138 0.619894027710 0.304208874702 +vn 0.906766295433 0.409387618303 -0.100879304111 +vn -0.424148023129 -0.902120292187 -0.079230606556 +vn -0.616665720940 -0.782339334488 -0.087570220232 +vn -0.788612246513 -0.502828478813 0.353912740946 +vn -0.788612246513 -0.502828478813 0.353912740946 +vn -0.685466885567 -0.650259494781 0.327563315630 +vn -0.424148023129 -0.902120292187 -0.079230606556 +vn 0.957214355469 -0.286995112896 0.037074200809 +vn 0.911147356033 -0.255800306797 0.323073804379 +vn 0.826433897018 -0.245585113764 0.506650686264 +vn 0.826433897018 -0.245585113764 0.506650686264 +vn 0.949352085590 -0.135964304209 0.283274352551 +vn 0.957214355469 -0.286995112896 0.037074200809 +vn 0.388409644365 0.097376465797 0.916327297688 +vn 0.886226296425 0.257387071848 0.385168552399 +vn 0.849230527878 0.245510101318 0.467474341393 +vn 0.849230527878 0.245510101318 0.467474341393 +vn 0.402302742004 -0.049480821937 0.914168536663 +vn 0.388409644365 0.097376465797 0.916327297688 +vn -0.658858060837 -0.689020693302 0.301921337843 +vn -0.860012650490 -0.378439724445 0.342288851738 +vn -0.716518461704 -0.298295706511 0.630571901798 +vn -0.716518461704 -0.298295706511 0.630571901798 +vn -0.462024897337 -0.668333053589 0.582978487015 +vn -0.658858060837 -0.689020693302 0.301921337843 +vn -0.631677627563 -0.756497323513 -0.169396430254 +vn -0.728796660900 -0.660439372063 -0.180763065815 +vn -0.860012650490 -0.378439724445 0.342288851738 +vn -0.860012650490 -0.378439724445 0.342288851738 +vn -0.658858060837 -0.689020693302 0.301921337843 +vn -0.631677627563 -0.756497323513 -0.169396430254 +vn -0.480001002550 -0.817916572094 -0.317193210125 +vn -0.066533669829 -0.595843851566 -0.800339519978 +vn -0.074344001710 -0.674611508846 -0.734419703484 +vn -0.074344001710 -0.674611508846 -0.734419703484 +vn -0.631677627563 -0.756497323513 -0.169396430254 +vn -0.480001002550 -0.817916572094 -0.317193210125 +vn -0.066533669829 -0.595843851566 -0.800339519978 +vn 0.481644779444 -0.286784321070 -0.828114151955 +vn 0.407755017281 -0.386306762695 -0.827346920967 +vn 0.407755017281 -0.386306762695 -0.827346920967 +vn -0.074344001710 -0.674611508846 -0.734419703484 +vn -0.066533669829 -0.595843851566 -0.800339519978 +vn 0.481644779444 -0.286784321070 -0.828114151955 +vn 0.803414165974 0.005024130922 -0.595399379730 +vn 0.785199224949 -0.046839069575 -0.617469251156 +vn 0.785199224949 -0.046839069575 -0.617469251156 +vn 0.407755017281 -0.386306762695 -0.827346920967 +vn 0.481644779444 -0.286784321070 -0.828114151955 +vn 0.803414165974 0.005024130922 -0.595399379730 +vn 0.984765470028 0.141468495131 -0.101112186909 +vn 0.971741199493 0.187253728509 -0.143718585372 +vn 0.971741199493 0.187253728509 -0.143718585372 +vn 0.785199224949 -0.046839069575 -0.617469251156 +vn 0.803414165974 0.005024130922 -0.595399379730 +vn 0.984765470028 0.141468495131 -0.101112186909 +vn 0.799090266228 0.180629134178 0.573435127735 +vn 0.849230527878 0.245510101318 0.467474341393 +vn 0.849230527878 0.245510101318 0.467474341393 +vn 0.971741199493 0.187253728509 -0.143718585372 +vn 0.984765470028 0.141468495131 -0.101112186909 +vn -0.122824735940 -0.428479611874 0.895164430141 +vn -0.121289253235 -0.574827611446 0.809235513210 +vn -0.347463965416 -0.779532015324 0.521151185036 +vn -0.347463965416 -0.779532015324 0.521151185036 +vn -0.462024897337 -0.668333053589 0.582978487015 +vn -0.122824735940 -0.428479611874 0.895164430141 +vn 0.402302742004 -0.049480821937 0.914168536663 +vn 0.300583481789 -0.145427584648 0.942602992058 +vn -0.121289253235 -0.574827611446 0.809235513210 +vn -0.121289253235 -0.574827611446 0.809235513210 +vn -0.122824735940 -0.428479611874 0.895164430141 +vn 0.402302742004 -0.049480821937 0.914168536663 +vn 0.890469372272 0.030705736950 0.454006016254 +vn 0.593855559826 0.019980316982 0.804323554039 +vn 0.608893454075 0.235913068056 0.757359743118 +vn 0.608893454075 0.235913068056 0.757359743118 +vn 0.799090266228 0.180629134178 0.573435127735 +vn 0.890469372272 0.030705736950 0.454006016254 +vn 0.983807981014 0.074132882059 0.163175269961 +vn 0.988765597343 -0.019402373582 0.148209601641 +vn 0.924159824848 0.201810598373 -0.324347227812 +vn 0.924159824848 0.201810598373 -0.324347227812 +vn 0.920179307461 0.077894940972 -0.383669644594 +vn 0.983807981014 0.074132882059 0.163175269961 +vn 0.614874482155 0.042262133211 0.787491738796 +vn 0.794139862061 -0.172562643886 0.582721173763 +vn 0.988765597343 -0.019402373582 0.148209601641 +vn 0.988765597343 -0.019402373582 0.148209601641 +vn 0.983807981014 0.074132882059 0.163175269961 +vn 0.614874482155 0.042262133211 0.787491738796 +vn 0.166234999895 -0.225214079022 0.960023224354 +vn 0.794139862061 -0.172562643886 0.582721173763 +vn 0.614874482155 0.042262133211 0.787491738796 +vn 0.614874482155 0.042262133211 0.787491738796 +vn -0.096592143178 -0.040983092040 0.994479954243 +vn 0.166234999895 -0.225214079022 0.960023224354 +vn -0.575514614582 -0.278533190489 0.768896758556 +vn 0.166234999895 -0.225214079022 0.960023224354 +vn -0.096592143178 -0.040983092040 0.994479954243 +vn -0.096592143178 -0.040983092040 0.994479954243 +vn -0.637993156910 -0.174105063081 0.750101447105 +vn -0.575514614582 -0.278533190489 0.768896758556 +vn -0.933749496937 -0.230891004205 0.273498028517 +vn -0.575514614582 -0.278533190489 0.768896758556 +vn -0.637993156910 -0.174105063081 0.750101447105 +vn -0.637993156910 -0.174105063081 0.750101447105 +vn -0.930003046989 -0.311220437288 0.195540815592 +vn -0.933749496937 -0.230891004205 0.273498028517 +vn -0.930003046989 -0.311220437288 0.195540815592 +vn -0.903826475143 -0.356221497059 0.237073644996 +vn -0.753570079803 -0.612610638142 -0.238412141800 +vn -0.753570079803 -0.612610638142 -0.238412141800 +vn -0.886968255043 -0.360542476177 -0.288611203432 +vn -0.930003046989 -0.311220437288 0.195540815592 +vn -0.753570079803 -0.612610638142 -0.238412141800 +vn -0.325670957565 -0.585272669792 -0.742559313774 +vn -0.532093167305 -0.256158202887 -0.807006716728 +vn -0.532093167305 -0.256158202887 -0.807006716728 +vn -0.886968255043 -0.360542476177 -0.288611203432 +vn -0.753570079803 -0.612610638142 -0.238412141800 +vn -0.325670957565 -0.585272669792 -0.742559313774 +vn 0.246417284012 -0.373370826244 -0.894356071949 +vn 0.135324358940 -0.097970917821 -0.985945761204 +vn 0.135324358940 -0.097970917821 -0.985945761204 +vn -0.532093167305 -0.256158202887 -0.807006716728 +vn -0.325670957565 -0.585272669792 -0.742559313774 +vn 0.246417284012 -0.373370826244 -0.894356071949 +vn 0.720516026020 -0.153431087732 -0.676251113415 +vn 0.660331547260 0.014505122788 -0.750834107399 +vn 0.660331547260 0.014505122788 -0.750834107399 +vn 0.135324358940 -0.097970917821 -0.985945761204 +vn 0.246417284012 -0.373370826244 -0.894356071949 +vn 0.720516026020 -0.153431087732 -0.676251113415 +vn 0.952648162842 0.045603808016 -0.300635546446 +vn 0.920179307461 0.077894940972 -0.383669644594 +vn 0.920179307461 0.077894940972 -0.383669644594 +vn 0.660331547260 0.014505122788 -0.750834107399 +vn 0.720516026020 -0.153431087732 -0.676251113415 +vn -0.922570586205 -0.144029989839 0.357936978340 +vn -0.883964776993 -0.243255555630 0.399290591478 +vn -0.668597519398 -0.234984099865 0.705520927906 +vn -0.668597519398 -0.234984099865 0.705520927906 +vn -0.670065939426 -0.258720010519 0.695755422115 +vn -0.922570586205 -0.144029989839 0.357936978340 +vn -0.987068951130 -0.001342023723 -0.160290583968 +vn -0.947189986706 -0.247276708484 -0.204170018435 +vn -0.883964776993 -0.243255555630 0.399290591478 +vn -0.883964776993 -0.243255555630 0.399290591478 +vn -0.922570586205 -0.144029989839 0.357936978340 +vn -0.987068951130 -0.001342023723 -0.160290583968 +vn -0.609359264374 0.086500100791 -0.788161814213 +vn -0.519403219223 -0.215743064880 -0.826846539974 +vn -0.947189986706 -0.247276708484 -0.204170018435 +vn -0.947189986706 -0.247276708484 -0.204170018435 +vn -0.987068951130 -0.001342023723 -0.160290583968 +vn -0.609359264374 0.086500100791 -0.788161814213 +vn -0.023929292336 0.121215716004 -0.992337703705 +vn -0.041514541954 -0.171664625406 -0.984280347824 +vn -0.519403219223 -0.215743064880 -0.826846539974 +vn -0.519403219223 -0.215743064880 -0.826846539974 +vn -0.609359264374 0.086500100791 -0.788161814213 +vn -0.023929292336 0.121215716004 -0.992337703705 +vn 0.427678495646 -0.126462370157 -0.895040988922 +vn -0.041514541954 -0.171664625406 -0.984280347824 +vn -0.023929292336 0.121215716004 -0.992337703705 +vn -0.023929292336 0.121215716004 -0.992337703705 +vn 0.495944917202 0.221249133348 -0.839694857597 +vn 0.427678495646 -0.126462370157 -0.895040988922 +vn 0.915072023869 -0.104790523648 -0.389438182116 +vn 0.427678495646 -0.126462370157 -0.895040988922 +vn 0.495944917202 0.221249133348 -0.839694857597 +vn 0.495944917202 0.221249133348 -0.839694857597 +vn 0.908574581146 0.206608444452 -0.363049775362 +vn 0.915072023869 -0.104790523648 -0.389438182116 +vn 0.924159824848 0.201810598373 -0.324347227812 +vn 0.988765597343 -0.019402373582 0.148209601641 +vn 0.980115532875 0.048620678484 0.192378610373 +vn 0.980115532875 0.048620678484 0.192378610373 +vn 0.908574581146 0.206608444452 -0.363049775362 +vn 0.924159824848 0.201810598373 -0.324347227812 +vn 0.988765597343 -0.019402373582 0.148209601641 +vn 0.794139862061 -0.172562643886 0.582721173763 +vn 0.799184441566 -0.119045473635 0.589179396629 +vn 0.799184441566 -0.119045473635 0.589179396629 +vn 0.980115532875 0.048620678484 0.192378610373 +vn 0.988765597343 -0.019402373582 0.148209601641 +vn 0.794139862061 -0.172562643886 0.582721173763 +vn 0.166234999895 -0.225214079022 0.960023224354 +vn 0.127896860242 -0.234220936894 0.963733851910 +vn 0.127896860242 -0.234220936894 0.963733851910 +vn 0.799184441566 -0.119045473635 0.589179396629 +vn 0.794139862061 -0.172562643886 0.582721173763 +vn 0.127896860242 -0.234220936894 0.963733851910 +vn 0.166234999895 -0.225214079022 0.960023224354 +vn -0.575514614582 -0.278533190489 0.768896758556 +vn -0.575514614582 -0.278533190489 0.768896758556 +vn -0.670065939426 -0.258720010519 0.695755422115 +vn 0.127896860242 -0.234220936894 0.963733851910 +vn -0.310935705900 -0.333749651909 0.889904558659 +vn -0.183688417077 -0.212271973491 0.959791243076 +vn -0.192643001676 -0.043187834322 0.980318069458 +vn -0.192643001676 -0.043187834322 0.980318069458 +vn -0.209707826376 -0.115715160966 0.970892667770 +vn -0.310935705900 -0.333749651909 0.889904558659 +vn -0.310935705900 -0.333749651909 0.889904558659 +vn -0.209707826376 -0.115715160966 0.970892667770 +vn -0.587958753109 -0.088701777160 0.804012775421 +vn -0.587958753109 -0.088701777160 0.804012775421 +vn -0.645000696182 -0.448348075151 0.618836104870 +vn -0.310935705900 -0.333749651909 0.889904558659 +vn -0.401186734438 -0.166196405888 0.900792956352 +vn -0.674554347992 -0.159368902445 0.720817565918 +vn -0.754615128040 0.229811772704 0.614607691765 +vn -0.754615128040 0.229811772704 0.614607691765 +vn -0.675730884075 0.170890003443 0.717066466808 +vn -0.401186734438 -0.166196405888 0.900792956352 +vn -0.194386199117 -0.316394358873 0.928498029709 +vn -0.434074252844 -0.268963068724 0.859789729118 +vn -0.674554347992 -0.159368902445 0.720817565918 +vn -0.674554347992 -0.159368902445 0.720817565918 +vn -0.401186734438 -0.166196405888 0.900792956352 +vn -0.194386199117 -0.316394358873 0.928498029709 +vn -0.401186734438 -0.166196405888 0.900792956352 +vn -0.675730884075 0.170890003443 0.717066466808 +vn -0.327875584364 -0.123132228851 0.936662197113 +vn -0.327875584364 -0.123132228851 0.936662197113 +vn -0.194386199117 -0.316394358873 0.928498029709 +vn -0.401186734438 -0.166196405888 0.900792956352 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.439630091190 -0.721156895161 0.535404622555 +vn 0.522606372833 -0.813196480274 0.256113231182 +vn 0.522606372833 -0.813196480274 0.256113231182 +vn 0.323501050472 -0.885855317116 0.332576870918 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.323501050472 -0.885855317116 0.332576870918 +vn -0.555393755436 -0.827782988548 0.079454943538 +vn -0.555393755436 -0.827782988548 0.079454943538 +vn -0.656991720200 -0.618542015553 0.431007683277 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn -0.656991720200 -0.618542015553 0.431007683277 +vn -0.656465947628 -0.623428642750 0.424722492695 +vn -0.656465947628 -0.623428642750 0.424722492695 +vn 0.052944108844 -0.525575459003 0.849097967148 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.052944108844 -0.525575459003 0.849097967148 +vn 0.005380727351 -0.466115295887 0.884707629681 +vn 0.005380727351 -0.466115295887 0.884707629681 +vn 0.350814163685 -0.622514247894 0.699575185776 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.350814163685 -0.622514247894 0.699575185776 +vn 0.153458490968 -0.724150478840 0.672351539135 +vn 0.153458490968 -0.724150478840 0.672351539135 +vn 0.439630091190 -0.721156895161 0.535404622555 +vn 0.207664504647 -0.740456640720 0.639217793941 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.338396072388 -0.505504190922 -0.793696165085 +vn -0.141834318638 -0.356789201498 -0.923355042934 +vn -0.141834318638 -0.356789201498 -0.923355042934 +vn -0.123162224889 -0.212614715099 -0.969343125820 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.280668675900 -0.841036975384 -0.462473720312 +vn 0.635089933872 -0.717878699303 -0.285150736570 +vn 0.635089933872 -0.717878699303 -0.285150736570 +vn 0.338396072388 -0.505504190922 -0.793696165085 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.622594892979 -0.589945852757 -0.514139533043 +vn 0.789647102356 -0.514648020267 -0.334058165550 +vn 0.691674530506 -0.071475937963 -0.718663692474 +vn 0.691674530506 -0.071475937963 -0.718663692474 +vn 0.369570851326 -0.178360313177 -0.911923766136 +vn 0.622594892979 -0.589945852757 -0.514139533043 +vn 0.137720257044 -0.872675478458 -0.468476980925 +vn 0.652669608593 -0.757597029209 0.008313104510 +vn 0.789647102356 -0.514648020267 -0.334058165550 +vn 0.789647102356 -0.514648020267 -0.334058165550 +vn 0.622594892979 -0.589945852757 -0.514139533043 +vn 0.137720257044 -0.872675478458 -0.468476980925 +vn 0.622594892979 -0.589945852757 -0.514139533043 +vn 0.369570851326 -0.178360313177 -0.911923766136 +vn 0.057102527469 -0.408684372902 -0.910887718201 +vn 0.057102527469 -0.408684372902 -0.910887718201 +vn 0.137720257044 -0.872675478458 -0.468476980925 +vn 0.622594892979 -0.589945852757 -0.514139533043 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.929131925106 -0.287983894348 0.231903240085 +vn -0.870798230171 -0.274165362120 0.408097743988 +vn -0.870798230171 -0.274165362120 0.408097743988 +vn -0.776939868927 -0.339007973671 0.530507385731 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.959261178970 -0.266427934170 -0.093989863992 +vn -0.933986306190 -0.356039702892 -0.030087741092 +vn -0.933986306190 -0.356039702892 -0.030087741092 +vn -0.929131925106 -0.287983894348 0.231903240085 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.776939868927 -0.339007973671 0.530507385731 +vn -0.645000696182 -0.448348075151 0.618836104870 +vn -0.645000696182 -0.448348075151 0.618836104870 +vn -0.886774122715 -0.348562031984 0.303539305925 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.776939868927 -0.339007973671 0.530507385731 +vn -0.870798230171 -0.274165362120 0.408097743988 +vn -0.682558894157 -0.447725176811 0.577629208565 +vn -0.682558894157 -0.447725176811 0.577629208565 +vn -0.474601060152 -0.314127713442 0.822239398956 +vn -0.776939868927 -0.339007973671 0.530507385731 +vn -0.932448983192 -0.323441475630 0.161010980606 +vn -0.977375864983 -0.182302713394 -0.107247889042 +vn -0.805913925171 -0.393099069595 0.442691624165 +vn -0.805913925171 -0.393099069595 0.442691624165 +vn -0.803143441677 -0.424439013004 0.418105423450 +vn -0.932448983192 -0.323441475630 0.161010980606 +vn -0.803143441677 -0.424439013004 0.418105423450 +vn -0.682558894157 -0.447725176811 0.577629208565 +vn -0.870798230171 -0.274165362120 0.408097743988 +vn -0.870798230171 -0.274165362120 0.408097743988 +vn -0.932448983192 -0.323441475630 0.161010980606 +vn -0.803143441677 -0.424439013004 0.418105423450 +vn -0.803143441677 -0.424439013004 0.418105423450 +vn -0.805913925171 -0.393099069595 0.442691624165 +vn -0.649566590786 -0.465607345104 0.601059973240 +vn -0.649566590786 -0.465607345104 0.601059973240 +vn -0.682558894157 -0.447725176811 0.577629208565 +vn -0.803143441677 -0.424439013004 0.418105423450 +vn -0.563060462475 -0.168180093169 0.809121966362 +vn -0.715763926506 -0.212930619717 0.665088415146 +vn -0.790964484215 -0.047528445721 0.610013246536 +vn -0.790964484215 -0.047528445721 0.610013246536 +vn -0.922188758850 -0.076360240579 0.379126608372 +vn -0.563060462475 -0.168180093169 0.809121966362 +vn -0.551818788052 -0.097078174353 0.828294575214 +vn -0.563060462475 -0.168180093169 0.809121966362 +vn -0.922188758850 -0.076360240579 0.379126608372 +vn -0.922188758850 -0.076360240579 0.379126608372 +vn -0.942502677441 -0.131082609296 0.307418376207 +vn -0.551818788052 -0.097078174353 0.828294575214 +vn -0.929131925106 -0.287983894348 0.231903240085 +vn -0.933986306190 -0.356039702892 -0.030087741092 +vn -0.932448983192 -0.323441475630 0.161010980606 +vn -0.932448983192 -0.323441475630 0.161010980606 +vn -0.870798230171 -0.274165362120 0.408097743988 +vn -0.929131925106 -0.287983894348 0.231903240085 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.470349341631 0.716976583004 0.514505684376 +vn -0.372199684381 0.758454144001 0.534990429878 +vn -0.372199684381 0.758454144001 0.534990429878 +vn -0.513534486294 0.648863255978 0.561479091644 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.253316640854 0.715313494205 0.651273608208 +vn -0.398872137070 0.415788918734 0.817325294018 +vn -0.398872137070 0.415788918734 0.817325294018 +vn -0.521253764629 0.558969914913 0.644862115383 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.521253764629 0.558969914913 0.644862115383 +vn -0.598532140255 0.585088372231 0.547202765942 +vn -0.598532140255 0.585088372231 0.547202765942 +vn -0.470349341631 0.716976583004 0.514505684376 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.732338190079 0.066023983061 0.677732706070 +vn -0.398872137070 0.415788918734 0.817325294018 +vn -0.398872137070 0.415788918734 0.817325294018 +vn -0.481114804745 0.476588666439 0.735793292522 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.754615128040 0.229811772704 0.614607691765 +vn -0.674554347992 -0.159368902445 0.720817565918 +vn -0.674554347992 -0.159368902445 0.720817565918 +vn -0.434074252844 -0.268963068724 0.859789729118 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.434074252844 -0.268963068724 0.859789729118 +vn -0.866114735603 -0.318803369999 0.384980142117 +vn -0.866114735603 -0.318803369999 0.384980142117 +vn -0.732338190079 0.066023983061 0.677732706070 +vn -0.606201291084 0.206537902355 0.768024802208 +vn 0.350814163685 -0.622514247894 0.699575185776 +vn 0.005380727351 -0.466115295887 0.884707629681 +vn -0.230195984244 -0.579904317856 0.781486272812 +vn -0.230195984244 -0.579904317856 0.781486272812 +vn 0.153458490968 -0.724150478840 0.672351539135 +vn 0.350814163685 -0.622514247894 0.699575185776 +vn -0.481114804745 0.476588666439 0.735793292522 +vn -0.398872137070 0.415788918734 0.817325294018 +vn -0.253316640854 0.715313494205 0.651273608208 +vn -0.253316640854 0.715313494205 0.651273608208 +vn -0.441691637039 0.769754469395 0.460854202509 +vn -0.481114804745 0.476588666439 0.735793292522 +vn -0.481114804745 0.476588666439 0.735793292522 +vn -0.441691637039 0.769754469395 0.460854202509 +vn -0.661760091782 0.656048417091 0.362869143486 +vn -0.661760091782 0.656048417091 0.362869143486 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.481114804745 0.476588666439 0.735793292522 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn -0.228975534439 -0.966663718224 0.114592753351 +vn 0.080994680524 -0.984151780605 0.157750397921 +vn 0.080994680524 -0.984151780605 0.157750397921 +vn 0.280668675900 -0.841036975384 -0.462473720312 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn -0.696642994881 0.705350995064 -0.131028831005 +vn -0.474705159664 0.698050916195 -0.536078274250 +vn -0.315204828978 0.861297667027 -0.398512542248 +vn -0.315204828978 0.861297667027 -0.398512542248 +vn -0.466922909021 0.878792583942 -0.098521873355 +vn -0.696642994881 0.705350995064 -0.131028831005 +vn -0.696642994881 0.705350995064 -0.131028831005 +vn -0.466922909021 0.878792583942 -0.098521873355 +vn -0.405317097902 0.826308548450 0.391065508127 +vn -0.405317097902 0.826308548450 0.391065508127 +vn -0.632141351700 0.593008518219 0.498736590147 +vn -0.696642994881 0.705350995064 -0.131028831005 +vn -0.466922909021 0.878792583942 -0.098521873355 +vn -0.315204828978 0.861297667027 -0.398512542248 +vn -0.145126968622 0.899781525135 -0.411498963833 +vn -0.145126968622 0.899781525135 -0.411498963833 +vn -0.332030713558 0.934520363808 -0.128168955445 +vn -0.466922909021 0.878792583942 -0.098521873355 +vn -0.466922909021 0.878792583942 -0.098521873355 +vn -0.332030713558 0.934520363808 -0.128168955445 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.405317097902 0.826308548450 0.391065508127 +vn -0.466922909021 0.878792583942 -0.098521873355 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.332030713558 0.934520363808 -0.128168955445 +vn -0.443666130304 0.852729022503 -0.275705635548 +vn -0.443666130304 0.852729022503 -0.275705635548 +vn -0.531039237976 0.846361756325 -0.040854826570 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.531039237976 0.846361756325 -0.040854826570 +vn -0.661760091782 0.656048417091 0.362869143486 +vn -0.661760091782 0.656048417091 0.362869143486 +vn -0.441691637039 0.769754469395 0.460854202509 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.441691637039 0.769754469395 0.460854202509 +vn -0.253316640854 0.715313494205 0.651273608208 +vn -0.253316640854 0.715313494205 0.651273608208 +vn -0.405317097902 0.826308548450 0.391065508127 +vn -0.380355626345 0.915188968182 0.133262023330 +vn -0.531039237976 0.846361756325 -0.040854826570 +vn -0.443666130304 0.852729022503 -0.275705635548 +vn -0.516845405102 0.745677411556 -0.420518726110 +vn -0.516845405102 0.745677411556 -0.420518726110 +vn -0.633557975292 0.763627767563 -0.124406084418 +vn -0.531039237976 0.846361756325 -0.040854826570 +vn -0.531039237976 0.846361756325 -0.040854826570 +vn -0.633557975292 0.763627767563 -0.124406084418 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.661760091782 0.656048417091 0.362869143486 +vn -0.531039237976 0.846361756325 -0.040854826570 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.633557975292 0.763627767563 -0.124406084418 +vn -0.775885522366 0.616467952728 -0.134048074484 +vn -0.775885522366 0.616467952728 -0.134048074484 +vn -0.849245250225 0.459349334240 0.260347217321 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.849245250225 0.459349334240 0.260347217321 +vn -0.675730884075 0.170890003443 0.717066466808 +vn -0.675730884075 0.170890003443 0.717066466808 +vn -0.754615128040 0.229811772704 0.614607691765 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.754615128040 0.229811772704 0.614607691765 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.606201291084 0.206537902355 0.768024802208 +vn -0.661760091782 0.656048417091 0.362869143486 +vn -0.785454511642 0.548647284508 0.286439210176 +vn -0.849245250225 0.459349334240 0.260347217321 +vn -0.775885522366 0.616467952728 -0.134048074484 +vn -0.835198342800 0.538639068604 -0.110958099365 +vn -0.835198342800 0.538639068604 -0.110958099365 +vn -0.893545091152 0.419377058744 0.160312488675 +vn -0.849245250225 0.459349334240 0.260347217321 +vn -0.849245250225 0.459349334240 0.260347217321 +vn -0.893545091152 0.419377058744 0.160312488675 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.675730884075 0.170890003443 0.717066466808 +vn -0.849245250225 0.459349334240 0.260347217321 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.893545091152 0.419377058744 0.160312488675 +vn -0.899725437164 0.424019932747 0.103446580470 +vn -0.899725437164 0.424019932747 0.103446580470 +vn -0.934815168381 0.101666234434 0.340271264315 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.934815168381 0.101666234434 0.340271264315 +vn -0.820158123970 -0.257162839174 0.511085033417 +vn -0.820158123970 -0.257162839174 0.511085033417 +vn -0.628898859024 -0.167266234756 0.759281396866 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.628898859024 -0.167266234756 0.759281396866 +vn -0.327875584364 -0.123132228851 0.936662197113 +vn -0.327875584364 -0.123132228851 0.936662197113 +vn -0.675730884075 0.170890003443 0.717066466808 +vn -0.831401288509 0.182725146413 0.524769842625 +vn -0.628898859024 -0.167266234756 0.759281396866 +vn -0.820158123970 -0.257162839174 0.511085033417 +vn -0.441064447165 -0.647433578968 0.621523916721 +vn -0.441064447165 -0.647433578968 0.621523916721 +vn -0.230195984244 -0.579904317856 0.781486272812 +vn -0.628898859024 -0.167266234756 0.759281396866 +vn -0.628898859024 -0.167266234756 0.759281396866 +vn -0.230195984244 -0.579904317856 0.781486272812 +vn 0.005380727351 -0.466115295887 0.884707629681 +vn 0.005380727351 -0.466115295887 0.884707629681 +vn -0.327875584364 -0.123132228851 0.936662197113 +vn -0.628898859024 -0.167266234756 0.759281396866 +vn -0.820158123970 -0.257162839174 0.511085033417 +vn -0.934815168381 0.101666234434 0.340271264315 +vn -0.854047775269 0.194880262017 0.482311189175 +vn -0.854047775269 0.194880262017 0.482311189175 +vn -0.717795908451 -0.106868870556 0.688002943993 +vn -0.820158123970 -0.257162839174 0.511085033417 +vn -0.820158123970 -0.257162839174 0.511085033417 +vn -0.717795908451 -0.106868870556 0.688002943993 +vn -0.282175540924 -0.623341798782 0.729261279106 +vn -0.282175540924 -0.623341798782 0.729261279106 +vn -0.441064447165 -0.647433578968 0.621523916721 +vn -0.820158123970 -0.257162839174 0.511085033417 +vn -0.717795908451 -0.106868870556 0.688002943993 +vn -0.854047775269 0.194880262017 0.482311189175 +vn -0.442502230406 0.477027654648 0.759365797043 +vn -0.442502230406 0.477027654648 0.759365797043 +vn -0.344457119703 0.228259548545 0.910629928112 +vn -0.717795908451 -0.106868870556 0.688002943993 +vn -0.717795908451 -0.106868870556 0.688002943993 +vn -0.344457119703 0.228259548545 0.910629928112 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn -0.282175540924 -0.623341798782 0.729261279106 +vn -0.717795908451 -0.106868870556 0.688002943993 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn -0.344457119703 0.228259548545 0.910629928112 +vn -0.105894960463 0.457142889500 0.883066594601 +vn -0.105894960463 0.457142889500 0.883066594601 +vn -0.066208049655 0.065464153886 0.995656013489 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn -0.066208049655 0.065464153886 0.995656013489 +vn -0.025139117613 -0.589855730534 0.807117223740 +vn -0.025139117613 -0.589855730534 0.807117223740 +vn 0.213539779186 -0.735609531403 0.642868101597 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn 0.213539779186 -0.735609531403 0.642868101597 +vn 0.091035820544 -0.847606122494 0.522758364677 +vn 0.091035820544 -0.847606122494 0.522758364677 +vn -0.282175540924 -0.623341798782 0.729261279106 +vn -0.014599231072 -0.289826303720 0.956967890263 +vn 0.213539779186 -0.735609531403 0.642868101597 +vn -0.025139117613 -0.589855730534 0.807117223740 +vn -0.042927689850 -0.924748063087 0.378151118755 +vn -0.042927689850 -0.924748063087 0.378151118755 +vn 0.148168861866 -0.965607345104 0.213654994965 +vn 0.213539779186 -0.735609531403 0.642868101597 +vn 0.213539779186 -0.735609531403 0.642868101597 +vn 0.148168861866 -0.965607345104 0.213654994965 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.091035820544 -0.847606122494 0.522758364677 +vn 0.213539779186 -0.735609531403 0.642868101597 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.449879735708 -0.892520606518 -0.031862419099 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn 0.091035820544 -0.847606122494 0.522758364677 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.148168861866 -0.965607345104 0.213654994965 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn 0.157262817025 -0.804923295975 -0.572159826756 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.157262817025 -0.804923295975 -0.572159826756 +vn 0.531822919846 -0.763270735741 -0.366854429245 +vn 0.531822919846 -0.763270735741 -0.366854429245 +vn 0.449879735708 -0.892520606518 -0.031862419099 +vn 0.313859432936 -0.946901202202 0.069788210094 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn 0.148168861866 -0.965607345104 0.213654994965 +vn -0.042927689850 -0.924748063087 0.378151118755 +vn -0.042927689850 -0.924748063087 0.378151118755 +vn -0.150387302041 -0.987316966057 -0.050880618393 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn -0.150387302041 -0.987316966057 -0.050880618393 +vn -0.331084758043 -0.787115514278 -0.520415246487 +vn -0.331084758043 -0.787115514278 -0.520415246487 +vn -0.133523687720 -0.654319226742 -0.744337141514 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn -0.133523687720 -0.654319226742 -0.744337141514 +vn -0.114131063223 -0.495763331652 -0.860925555229 +vn -0.114131063223 -0.495763331652 -0.860925555229 +vn 0.157262817025 -0.804923295975 -0.572159826756 +vn 0.000251441961 -0.942464411259 -0.334306448698 +vn -0.133523687720 -0.654319226742 -0.744337141514 +vn -0.331084758043 -0.787115514278 -0.520415246487 +vn -0.422015488148 -0.481336265802 -0.768256664276 +vn -0.422015488148 -0.481336265802 -0.768256664276 +vn -0.277171522379 -0.333621501923 -0.901039779186 +vn -0.133523687720 -0.654319226742 -0.744337141514 +vn -0.133523687720 -0.654319226742 -0.744337141514 +vn -0.277171522379 -0.333621501923 -0.901039779186 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.114131063223 -0.495763331652 -0.860925555229 +vn -0.133523687720 -0.654319226742 -0.744337141514 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.070003993809 0.410762041807 -0.909051120281 +vn 0.238099992275 -0.110498450696 -0.964934468269 +vn 0.238099992275 -0.110498450696 -0.964934468269 +vn -0.114131063223 -0.495763331652 -0.860925555229 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.277171522379 -0.333621501923 -0.901039779186 +vn -0.492768824100 0.139666393399 -0.858878433704 +vn -0.492768824100 0.139666393399 -0.858878433704 +vn -0.121618598700 0.471150964499 -0.873627901077 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.121618598700 0.471150964499 -0.873627901077 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.070003993809 0.410762041807 -0.909051120281 +vn -0.178969815373 -0.036877691746 -0.983163177967 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.352230370045 0.729819893837 -0.585915267467 +vn -0.024612516165 0.484930634499 -0.874206185341 +vn -0.024612516165 0.484930634499 -0.874206185341 +vn -0.070003993809 0.410762041807 -0.909051120281 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.121618598700 0.471150964499 -0.873627901077 +vn -0.330983459949 0.883402228355 -0.331738591194 +vn -0.330983459949 0.883402228355 -0.331738591194 +vn -0.432985514402 0.861952602863 -0.263744652271 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.432985514402 0.861952602863 -0.263744652271 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.352230370045 0.729819893837 -0.585915267467 +vn -0.130780518055 0.699840128422 -0.702225208282 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.596450567245 0.676830708981 -0.431447476149 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.352230370045 0.729819893837 -0.585915267467 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.432985514402 0.861952602863 -0.263744652271 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.835198342800 0.538639068604 -0.110958099365 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.835198342800 0.538639068604 -0.110958099365 +vn -0.775885522366 0.616467952728 -0.134048074484 +vn -0.775885522366 0.616467952728 -0.134048074484 +vn -0.596450567245 0.676830708981 -0.431447476149 +vn -0.647320389748 0.685716152191 -0.332820743322 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.432985514402 0.861952602863 -0.263744652271 +vn -0.330983459949 0.883402228355 -0.331738591194 +vn -0.330983459949 0.883402228355 -0.331738591194 +vn -0.513394534588 0.856354117393 0.055530793965 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.513394534588 0.856354117393 0.055530793965 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.899725437164 0.424019932747 0.103446580470 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.899725437164 0.424019932747 0.103446580470 +vn -0.893545091152 0.419377058744 0.160312488675 +vn -0.893545091152 0.419377058744 0.160312488675 +vn -0.835198342800 0.538639068604 -0.110958099365 +vn -0.734826862812 0.676068246365 -0.054416924715 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.513394534588 0.856354117393 0.055530793965 +vn -0.486196488142 0.873833239079 -0.005337357987 +vn -0.486196488142 0.873833239079 -0.005337357987 +vn -0.491222590208 0.725237250328 0.482422292233 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.491222590208 0.725237250328 0.482422292233 +vn -0.442502230406 0.477027654648 0.759365797043 +vn -0.442502230406 0.477027654648 0.759365797043 +vn -0.854047775269 0.194880262017 0.482311189175 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.854047775269 0.194880262017 0.482311189175 +vn -0.934815168381 0.101666234434 0.340271264315 +vn -0.934815168381 0.101666234434 0.340271264315 +vn -0.899725437164 0.424019932747 0.103446580470 +vn -0.724321365356 0.630072712898 0.279940962791 +vn -0.491222590208 0.725237250328 0.482422292233 +vn -0.486196488142 0.873833239079 -0.005337357987 +vn -0.605038166046 0.783646821976 -0.140806540847 +vn -0.605038166046 0.783646821976 -0.140806540847 +vn -0.431260585785 0.846675992012 0.311695545912 +vn -0.491222590208 0.725237250328 0.482422292233 +vn -0.491222590208 0.725237250328 0.482422292233 +vn -0.431260585785 0.846675992012 0.311695545912 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.442502230406 0.477027654648 0.759365797043 +vn -0.491222590208 0.725237250328 0.482422292233 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.431260585785 0.846675992012 0.311695545912 +vn -0.494061529636 0.865195631981 0.085671991110 +vn -0.494061529636 0.865195631981 0.085671991110 +vn -0.203145816922 0.789853513241 0.578673660755 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.203145816922 0.789853513241 0.578673660755 +vn -0.020890446380 0.525199234486 0.850722849369 +vn -0.020890446380 0.525199234486 0.850722849369 +vn -0.105894960463 0.457142889500 0.883066594601 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.105894960463 0.457142889500 0.883066594601 +vn -0.344457119703 0.228259548545 0.910629928112 +vn -0.344457119703 0.228259548545 0.910629928112 +vn -0.442502230406 0.477027654648 0.759365797043 +vn -0.259154200554 0.634195923805 0.728446722031 +vn -0.020890446380 0.525199234486 0.850722849369 +vn -0.000500970287 0.150257885456 0.988646686077 +vn -0.066208049655 0.065464153886 0.995656013489 +vn -0.066208049655 0.065464153886 0.995656013489 +vn -0.105894960463 0.457142889500 0.883066594601 +vn -0.020890446380 0.525199234486 0.850722849369 +vn -0.000500970287 0.150257885456 0.988646686077 +vn 0.043110653758 -0.307953089476 0.950424313545 +vn -0.025139117613 -0.589855730534 0.807117223740 +vn -0.025139117613 -0.589855730534 0.807117223740 +vn -0.066208049655 0.065464153886 0.995656013489 +vn -0.000500970287 0.150257885456 0.988646686077 +vn 0.043110653758 -0.307953089476 0.950424313545 +vn -0.042744558305 -0.808862030506 0.586442768574 +vn -0.042927689850 -0.924748063087 0.378151118755 +vn -0.042927689850 -0.924748063087 0.378151118755 +vn -0.025139117613 -0.589855730534 0.807117223740 +vn 0.043110653758 -0.307953089476 0.950424313545 +vn -0.042744558305 -0.808862030506 0.586442768574 +vn -0.106166861951 -0.985075116158 0.135482907295 +vn -0.150387302041 -0.987316966057 -0.050880618393 +vn -0.150387302041 -0.987316966057 -0.050880618393 +vn -0.042927689850 -0.924748063087 0.378151118755 +vn -0.042744558305 -0.808862030506 0.586442768574 +vn -0.106166861951 -0.985075116158 0.135482907295 +vn -0.166938528419 -0.919655323029 -0.355479389429 +vn -0.331084758043 -0.787115514278 -0.520415246487 +vn -0.331084758043 -0.787115514278 -0.520415246487 +vn -0.150387302041 -0.987316966057 -0.050880618393 +vn -0.106166861951 -0.985075116158 0.135482907295 +vn -0.166938528419 -0.919655323029 -0.355479389429 +vn -0.371036648750 -0.578186392784 -0.726658284664 +vn -0.422015488148 -0.481336265802 -0.768256664276 +vn -0.422015488148 -0.481336265802 -0.768256664276 +vn -0.331084758043 -0.787115514278 -0.520415246487 +vn -0.166938528419 -0.919655323029 -0.355479389429 +vn -0.371036648750 -0.578186392784 -0.726658284664 +vn -0.558745026588 -0.260360956192 -0.787411093712 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.422015488148 -0.481336265802 -0.768256664276 +vn -0.371036648750 -0.578186392784 -0.726658284664 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.492768824100 0.139666393399 -0.858878433704 +vn -0.277171522379 -0.333621501923 -0.901039779186 +vn -0.277171522379 -0.333621501923 -0.901039779186 +vn -0.422015488148 -0.481336265802 -0.768256664276 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.558745026588 -0.260360956192 -0.787411093712 +vn -0.722775518894 0.127099156380 -0.679294764996 +vn -0.722775518894 0.127099156380 -0.679294764996 +vn -0.587025642395 0.370276719332 -0.719927787781 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.587025642395 0.370276719332 -0.719927787781 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.492768824100 0.139666393399 -0.858878433704 +vn -0.524348676205 -0.128817796707 -0.841703295708 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.330983459949 0.883402228355 -0.331738591194 +vn -0.121618598700 0.471150964499 -0.873627901077 +vn -0.121618598700 0.471150964499 -0.873627901077 +vn -0.492768824100 0.139666393399 -0.858878433704 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.587025642395 0.370276719332 -0.719927787781 +vn -0.605038166046 0.783646821976 -0.140806540847 +vn -0.605038166046 0.783646821976 -0.140806540847 +vn -0.486196488142 0.873833239079 -0.005337357987 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.486196488142 0.873833239079 -0.005337357987 +vn -0.513394534588 0.856354117393 0.055530793965 +vn -0.513394534588 0.856354117393 0.055530793965 +vn -0.330983459949 0.883402228355 -0.331738591194 +vn -0.546669006348 0.650373995304 -0.527415037155 +vn -0.587025642395 0.370276719332 -0.719927787781 +vn -0.722775518894 0.127099156380 -0.679294764996 +vn -0.718650877476 0.596940636635 -0.356655031443 +vn -0.718650877476 0.596940636635 -0.356655031443 +vn -0.605038166046 0.783646821976 -0.140806540847 +vn -0.587025642395 0.370276719332 -0.719927787781 +vn -0.718650877476 0.596940636635 -0.356655031443 +vn -0.494061529636 0.865195631981 0.085671991110 +vn -0.431260585785 0.846675992012 0.311695545912 +vn -0.431260585785 0.846675992012 0.311695545912 +vn -0.605038166046 0.783646821976 -0.140806540847 +vn -0.718650877476 0.596940636635 -0.356655031443 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.305590540171 0.615349054337 -0.726608574390 +vn -0.015120597556 0.448562145233 -0.893623709679 +vn -0.015120597556 0.448562145233 -0.893623709679 +vn -0.057436451316 0.584186136723 -0.809584856033 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.057436451316 0.584186136723 -0.809584856033 +vn -0.024612516165 0.484930634499 -0.874206185341 +vn -0.024612516165 0.484930634499 -0.874206185341 +vn -0.352230370045 0.729819893837 -0.585915267467 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.596450567245 0.676830708981 -0.431447476149 +vn -0.516845405102 0.745677411556 -0.420518726110 +vn -0.516845405102 0.745677411556 -0.420518726110 +vn -0.305590540171 0.615349054337 -0.726608574390 +vn -0.363752692938 0.687420129776 -0.628599703312 +vn -0.057436451316 0.584186136723 -0.809584856033 +vn -0.015120597556 0.448562145233 -0.893623709679 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn 0.200884222984 0.281286299229 -0.938362181187 +vn -0.057436451316 0.584186136723 -0.809584856033 +vn -0.057436451316 0.584186136723 -0.809584856033 +vn 0.200884222984 0.281286299229 -0.938362181187 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn -0.024612516165 0.484930634499 -0.874206185341 +vn -0.057436451316 0.584186136723 -0.809584856033 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn 0.200884222984 0.281286299229 -0.938362181187 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.442722022533 -0.331521779299 -0.833120942116 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn 0.442722022533 -0.331521779299 -0.833120942116 +vn 0.452441990376 -0.493693500757 -0.742672860622 +vn 0.452441990376 -0.493693500757 -0.742672860622 +vn 0.238099992275 -0.110498450696 -0.964934468269 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn 0.238099992275 -0.110498450696 -0.964934468269 +vn -0.070003993809 0.410762041807 -0.909051120281 +vn -0.070003993809 0.410762041807 -0.909051120281 +vn -0.024612516165 0.484930634499 -0.874206185341 +vn 0.203552156687 0.187401816249 -0.960961520672 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.691674530506 -0.071475937963 -0.718663692474 +vn 0.789647102356 -0.514648020267 -0.334058165550 +vn 0.789647102356 -0.514648020267 -0.334058165550 +vn 0.642632007599 -0.639336526394 -0.422223776579 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.642632007599 -0.639336526394 -0.422223776579 +vn 0.531822919846 -0.763270735741 -0.366854429245 +vn 0.531822919846 -0.763270735741 -0.366854429245 +vn 0.442722022533 -0.331521779299 -0.833120942116 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.200884222984 0.281286299229 -0.938362181187 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn 0.691674530506 -0.071475937963 -0.718663692474 +vn 0.508846163750 -0.197130560875 -0.837982773781 +vn 0.642632007599 -0.639336526394 -0.422223776579 +vn 0.789647102356 -0.514648020267 -0.334058165550 +vn 0.652669608593 -0.757597029209 0.008313104510 +vn 0.652669608593 -0.757597029209 0.008313104510 +vn 0.616720378399 -0.787130177021 -0.009059753269 +vn 0.642632007599 -0.639336526394 -0.422223776579 +vn 0.642632007599 -0.639336526394 -0.422223776579 +vn 0.616720378399 -0.787130177021 -0.009059753269 +vn 0.449879735708 -0.892520606518 -0.031862419099 +vn 0.449879735708 -0.892520606518 -0.031862419099 +vn 0.531822919846 -0.763270735741 -0.366854429245 +vn 0.642632007599 -0.639336526394 -0.422223776579 +vn 0.616720378399 -0.787130177021 -0.009059753269 +vn 0.652669608593 -0.757597029209 0.008313104510 +vn 0.323501050472 -0.885855317116 0.332576870918 +vn 0.323501050472 -0.885855317116 0.332576870918 +vn 0.522606372833 -0.813196480274 0.256113231182 +vn 0.616720378399 -0.787130177021 -0.009059753269 +vn 0.616720378399 -0.787130177021 -0.009059753269 +vn 0.522606372833 -0.813196480274 0.256113231182 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn 0.449879735708 -0.892520606518 -0.031862419099 +vn 0.616720378399 -0.787130177021 -0.009059753269 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn 0.291657984257 0.089169785380 -0.952357292175 +vn 0.369570851326 -0.178360313177 -0.911923766136 +vn 0.369570851326 -0.178360313177 -0.911923766136 +vn 0.691674530506 -0.071475937963 -0.718663692474 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn -0.015120597556 0.448562145233 -0.893623709679 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn 0.291657984257 0.089169785380 -0.952357292175 +vn 0.380637049675 0.233202338219 -0.894836366177 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn 0.134684994817 0.684974730015 -0.716009497643 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.291657984257 0.089169785380 -0.952357292175 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn -0.015120597556 0.448562145233 -0.893623709679 +vn -0.305590540171 0.615349054337 -0.726608574390 +vn -0.305590540171 0.615349054337 -0.726608574390 +vn -0.269882589579 0.768469750881 -0.580187559128 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn -0.269882589579 0.768469750881 -0.580187559128 +vn -0.145126968622 0.899781525135 -0.411498963833 +vn -0.145126968622 0.899781525135 -0.411498963833 +vn 0.134684994817 0.684974730015 -0.716009497643 +vn -0.008417923935 0.505917787552 -0.862540602684 +vn -0.269882589579 0.768469750881 -0.580187559128 +vn -0.305590540171 0.615349054337 -0.726608574390 +vn -0.516845405102 0.745677411556 -0.420518726110 +vn -0.516845405102 0.745677411556 -0.420518726110 +vn -0.443666130304 0.852729022503 -0.275705635548 +vn -0.269882589579 0.768469750881 -0.580187559128 +vn -0.269882589579 0.768469750881 -0.580187559128 +vn -0.443666130304 0.852729022503 -0.275705635548 +vn -0.332030713558 0.934520363808 -0.128168955445 +vn -0.332030713558 0.934520363808 -0.128168955445 +vn -0.145126968622 0.899781525135 -0.411498963833 +vn -0.269882589579 0.768469750881 -0.580187559128 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.213274046779 0.473949223757 -0.854333817959 +vn 0.291348487139 0.287645339966 -0.912346541882 +vn 0.291348487139 0.287645339966 -0.912346541882 +vn 0.195117399096 0.110545657575 -0.974530041218 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.195117399096 0.110545657575 -0.974530041218 +vn 0.369570851326 -0.178360313177 -0.911923766136 +vn 0.369570851326 -0.178360313177 -0.911923766136 +vn 0.291657984257 0.089169785380 -0.952357292175 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.134684994817 0.684974730015 -0.716009497643 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn 0.213274046779 0.473949223757 -0.854333817959 +vn 0.283972531557 0.357400029898 -0.889733016491 +vn 0.195117399096 0.110545657575 -0.974530041218 +vn 0.291348487139 0.287645339966 -0.912346541882 +vn 0.348777472973 0.110478848219 -0.930671095848 +vn 0.348777472973 0.110478848219 -0.930671095848 +vn 0.123270623386 -0.089006535709 -0.988373517990 +vn 0.195117399096 0.110545657575 -0.974530041218 +vn 0.195117399096 0.110545657575 -0.974530041218 +vn 0.123270623386 -0.089006535709 -0.988373517990 +vn 0.057102527469 -0.408684372902 -0.910887718201 +vn 0.057102527469 -0.408684372902 -0.910887718201 +vn 0.369570851326 -0.178360313177 -0.911923766136 +vn 0.195117399096 0.110545657575 -0.974530041218 +vn 0.123270623386 -0.089006535709 -0.988373517990 +vn 0.348777472973 0.110478848219 -0.930671095848 +vn 0.393268018961 -0.069132164121 -0.916821122169 +vn 0.393268018961 -0.069132164121 -0.916821122169 +vn 0.063421443105 -0.214829355478 -0.974590182304 +vn 0.123270623386 -0.089006535709 -0.988373517990 +vn 0.123270623386 -0.089006535709 -0.988373517990 +vn 0.063421443105 -0.214829355478 -0.974590182304 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn 0.057102527469 -0.408684372902 -0.910887718201 +vn 0.123270623386 -0.089006535709 -0.988373517990 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn 0.063421443105 -0.214829355478 -0.974590182304 +vn 0.053181022406 -0.359932571650 -0.931461393833 +vn 0.053181022406 -0.359932571650 -0.931461393833 +vn -0.290984004736 -0.442904204130 -0.848035514355 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn -0.290984004736 -0.442904204130 -0.848035514355 +vn -0.695248961449 -0.433017820120 -0.573693692684 +vn -0.695248961449 -0.433017820120 -0.573693692684 +vn -0.631206750870 -0.460801810026 -0.623890817165 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn -0.631206750870 -0.460801810026 -0.623890817165 +vn 0.137720257044 -0.872675478458 -0.468476980925 +vn 0.137720257044 -0.872675478458 -0.468476980925 +vn 0.057102527469 -0.408684372902 -0.910887718201 +vn -0.248657748103 -0.389411330223 -0.886864244938 +vn -0.631206750870 -0.460801810026 -0.623890817165 +vn -0.695248961449 -0.433017820120 -0.573693692684 +vn -0.914136767387 -0.355888932943 -0.194157153368 +vn -0.914136767387 -0.355888932943 -0.194157153368 +vn -0.918274998665 -0.334325522184 -0.212126120925 +vn -0.631206750870 -0.460801810026 -0.623890817165 +vn -0.631206750870 -0.460801810026 -0.623890817165 +vn -0.918274998665 -0.334325522184 -0.212126120925 +vn -0.555393755436 -0.827782988548 0.079454943538 +vn -0.555393755436 -0.827782988548 0.079454943538 +vn 0.137720257044 -0.872675478458 -0.468476980925 +vn -0.631206750870 -0.460801810026 -0.623890817165 +vn -0.918274998665 -0.334325522184 -0.212126120925 +vn -0.914136767387 -0.355888932943 -0.194157153368 +vn -0.972956180573 -0.193811461329 -0.125671654940 +vn -0.972956180573 -0.193811461329 -0.125671654940 +vn -0.985950827599 -0.157788723707 -0.054805383086 +vn -0.918274998665 -0.334325522184 -0.212126120925 +vn -0.918274998665 -0.334325522184 -0.212126120925 +vn -0.985950827599 -0.157788723707 -0.054805383086 +vn -0.656991720200 -0.618542015553 0.431007683277 +vn -0.656991720200 -0.618542015553 0.431007683277 +vn -0.555393755436 -0.827782988548 0.079454943538 +vn -0.918274998665 -0.334325522184 -0.212126120925 +vn -0.985950827599 -0.157788723707 -0.054805383086 +vn -0.972956180573 -0.193811461329 -0.125671654940 +vn -0.972717821598 -0.214486360550 -0.088405892253 +vn -0.972717821598 -0.214486360550 -0.088405892253 +vn -0.972732365131 -0.190843746066 -0.131796970963 +vn -0.985950827599 -0.157788723707 -0.054805383086 +vn -0.985950827599 -0.157788723707 -0.054805383086 +vn -0.972732365131 -0.190843746066 -0.131796970963 +vn -0.656465947628 -0.623428642750 0.424722492695 +vn -0.656465947628 -0.623428642750 0.424722492695 +vn -0.656991720200 -0.618542015553 0.431007683277 +vn -0.985950827599 -0.157788723707 -0.054805383086 +vn -0.972732365131 -0.190843746066 -0.131796970963 +vn -0.972717821598 -0.214486360550 -0.088405892253 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.960145235062 -0.235651865602 -0.150297492743 +vn -0.972732365131 -0.190843746066 -0.131796970963 +vn -0.972732365131 -0.190843746066 -0.131796970963 +vn -0.960145235062 -0.235651865602 -0.150297492743 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.656465947628 -0.623428642750 0.424722492695 +vn -0.972732365131 -0.190843746066 -0.131796970963 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.960145235062 -0.235651865602 -0.150297492743 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.866114735603 -0.318803369999 0.384980142117 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.866114735603 -0.318803369999 0.384980142117 +vn -0.434074252844 -0.268963068724 0.859789729118 +vn -0.434074252844 -0.268963068724 0.859789729118 +vn -0.194386199117 -0.316394358873 0.928498029709 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.194386199117 -0.316394358873 0.928498029709 +vn 0.052944108844 -0.525575459003 0.849097967148 +vn 0.052944108844 -0.525575459003 0.849097967148 +vn -0.656465947628 -0.623428642750 0.424722492695 +vn -0.749023437500 -0.459609448910 0.477203339338 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.960145235062 -0.235651865602 -0.150297492743 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.944666683674 0.069445535541 0.320596575737 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.944666683674 0.069445535541 0.320596575737 +vn -0.757318496704 0.415668547153 0.503674864769 +vn -0.757318496704 0.415668547153 0.503674864769 +vn -0.778450906277 0.365307867527 0.510455012321 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.778450906277 0.365307867527 0.510455012321 +vn -0.732338190079 0.066023983061 0.677732706070 +vn -0.732338190079 0.066023983061 0.677732706070 +vn -0.866114735603 -0.318803369999 0.384980142117 +vn -0.994470536709 -0.003524448955 0.104957044125 +vn -0.778450906277 0.365307867527 0.510455012321 +vn -0.757318496704 0.415668547153 0.503674864769 +vn -0.598532140255 0.585088372231 0.547202765942 +vn -0.598532140255 0.585088372231 0.547202765942 +vn -0.521253764629 0.558969914913 0.644862115383 +vn -0.778450906277 0.365307867527 0.510455012321 +vn -0.778450906277 0.365307867527 0.510455012321 +vn -0.521253764629 0.558969914913 0.644862115383 +vn -0.398872137070 0.415788918734 0.817325294018 +vn -0.398872137070 0.415788918734 0.817325294018 +vn -0.732338190079 0.066023983061 0.677732706070 +vn -0.778450906277 0.365307867527 0.510455012321 +vn -0.757318496704 0.415668547153 0.503674864769 +vn -0.944666683674 0.069445535541 0.320596575737 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.628319561481 0.359209179878 0.690060377121 +vn -0.757318496704 0.415668547153 0.503674864769 +vn -0.757318496704 0.415668547153 0.503674864769 +vn -0.628319561481 0.359209179878 0.690060377121 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.598532140255 0.585088372231 0.547202765942 +vn -0.757318496704 0.415668547153 0.503674864769 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.628319561481 0.359209179878 0.690060377121 +vn -0.464984834194 0.282209694386 0.839134573936 +vn -0.464984834194 0.282209694386 0.839134573936 +vn -0.401722431183 0.450534582138 0.797268867493 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.401722431183 0.450534582138 0.797268867493 +vn -0.329087138176 0.596190571785 0.732296705246 +vn -0.329087138176 0.596190571785 0.732296705246 +vn -0.444885224104 0.657462239265 0.608128726482 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.444885224104 0.657462239265 0.608128726482 +vn -0.470349341631 0.716976583004 0.514505684376 +vn -0.470349341631 0.716976583004 0.514505684376 +vn -0.598532140255 0.585088372231 0.547202765942 +vn -0.525861024857 0.510891556740 0.680044114590 +vn -0.444885224104 0.657462239265 0.608128726482 +vn -0.329087138176 0.596190571785 0.732296705246 +vn -0.294267475605 0.736320257187 0.609293937683 +vn -0.294267475605 0.736320257187 0.609293937683 +vn -0.319124907255 0.778944134712 0.539819717407 +vn -0.444885224104 0.657462239265 0.608128726482 +vn -0.444885224104 0.657462239265 0.608128726482 +vn -0.319124907255 0.778944134712 0.539819717407 +vn -0.372199684381 0.758454144001 0.534990429878 +vn -0.372199684381 0.758454144001 0.534990429878 +vn -0.470349341631 0.716976583004 0.514505684376 +vn -0.444885224104 0.657462239265 0.608128726482 +vn -0.329087138176 0.596190571785 0.732296705246 +vn -0.401722431183 0.450534582138 0.797268867493 +vn -0.162622109056 0.413673579693 0.895783603191 +vn -0.162622109056 0.413673579693 0.895783603191 +vn -0.141039162874 0.546767175198 0.825320303440 +vn -0.329087138176 0.596190571785 0.732296705246 +vn -0.329087138176 0.596190571785 0.732296705246 +vn -0.141039162874 0.546767175198 0.825320303440 +vn -0.210031285882 0.676729142666 0.705637693405 +vn -0.210031285882 0.676729142666 0.705637693405 +vn -0.294267475605 0.736320257187 0.609293937683 +vn -0.329087138176 0.596190571785 0.732296705246 +vn -0.141039162874 0.546767175198 0.825320303440 +vn -0.162622109056 0.413673579693 0.895783603191 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.220259353518 0.493042349815 0.841662108898 +vn -0.141039162874 0.546767175198 0.825320303440 +vn -0.141039162874 0.546767175198 0.825320303440 +vn -0.220259353518 0.493042349815 0.841662108898 +vn -0.217704832554 0.616207301617 0.756897091866 +vn -0.217704832554 0.616207301617 0.756897091866 +vn -0.210031285882 0.676729142666 0.705637693405 +vn -0.141039162874 0.546767175198 0.825320303440 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.162622109056 0.413673579693 0.895783603191 +vn -0.181194424629 0.227098539472 0.956867218018 +vn -0.181194424629 0.227098539472 0.956867218018 +vn -0.208762139082 0.173094764352 0.962526142597 +vn -0.217961534858 0.368339926004 0.903780102730 +vn -0.208762139082 0.173094764352 0.962526142597 +vn -0.181194424629 0.227098539472 0.956867218018 +vn -0.209707826376 -0.115715160966 0.970892667770 +vn -0.209707826376 -0.115715160966 0.970892667770 +vn -0.192643001676 -0.043187834322 0.980318069458 +vn -0.208762139082 0.173094764352 0.962526142597 +vn -0.181194424629 0.227098539472 0.956867218018 +vn -0.162622109056 0.413673579693 0.895783603191 +vn -0.401722431183 0.450534582138 0.797268867493 +vn -0.401722431183 0.450534582138 0.797268867493 +vn -0.464984834194 0.282209694386 0.839134573936 +vn -0.181194424629 0.227098539472 0.956867218018 +vn -0.181194424629 0.227098539472 0.956867218018 +vn -0.464984834194 0.282209694386 0.839134573936 +vn -0.587958753109 -0.088701777160 0.804012775421 +vn -0.587958753109 -0.088701777160 0.804012775421 +vn -0.209707826376 -0.115715160966 0.970892667770 +vn -0.181194424629 0.227098539472 0.956867218018 +vn -0.464984834194 0.282209694386 0.839134573936 +vn -0.628319561481 0.359209179878 0.690060377121 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.587958753109 -0.088701777160 0.804012775421 +vn -0.464984834194 0.282209694386 0.839134573936 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.886774122715 -0.348562031984 0.303539305925 +vn -0.645000696182 -0.448348075151 0.618836104870 +vn -0.645000696182 -0.448348075151 0.618836104870 +vn -0.587958753109 -0.088701777160 0.804012775421 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.944666683674 0.069445535541 0.320596575737 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.886774122715 -0.348562031984 0.303539305925 +vn -0.829526960850 0.006343629677 0.558430612087 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.972717821598 -0.214486360550 -0.088405892253 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.886774122715 -0.348562031984 0.303539305925 +vn -0.978150129318 -0.207043349743 0.018851371482 +vn -0.972717821598 -0.214486360550 -0.088405892253 +vn -0.972956180573 -0.193811461329 -0.125671654940 +vn -0.959261178970 -0.266427934170 -0.093989863992 +vn -0.959261178970 -0.266427934170 -0.093989863992 +vn -0.928429484367 -0.330303490162 0.170053705573 +vn -0.972717821598 -0.214486360550 -0.088405892253 +vn -0.972956180573 -0.193811461329 -0.125671654940 +vn -0.914136767387 -0.355888932943 -0.194157153368 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.959261178970 -0.266427934170 -0.093989863992 +vn -0.972956180573 -0.193811461329 -0.125671654940 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.661482095718 -0.585137486458 -0.469100773335 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.863622725010 -0.395356804132 -0.312807887793 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.863622725010 -0.395356804132 -0.312807887793 +vn -0.933986306190 -0.356039702892 -0.030087741092 +vn -0.933986306190 -0.356039702892 -0.030087741092 +vn -0.959261178970 -0.266427934170 -0.093989863992 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.914136767387 -0.355888932943 -0.194157153368 +vn -0.695248961449 -0.433017820120 -0.573693692684 +vn -0.695248961449 -0.433017820120 -0.573693692684 +vn -0.661482095718 -0.585137486458 -0.469100773335 +vn -0.882259726524 -0.411326795816 -0.228971764445 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.461035043001 -0.472170799971 -0.751333117485 +vn -0.502373993397 -0.221697002649 -0.835745632648 +vn -0.502373993397 -0.221697002649 -0.835745632648 +vn -0.789869427681 -0.142434820533 -0.596505343914 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.789869427681 -0.142434820533 -0.596505343914 +vn -0.977375864983 -0.182302713394 -0.107247889042 +vn -0.977375864983 -0.182302713394 -0.107247889042 +vn -0.863622725010 -0.395356804132 -0.312807887793 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.661482095718 -0.585137486458 -0.469100773335 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn -0.461035043001 -0.472170799971 -0.751333117485 +vn -0.714386403561 -0.455613791943 -0.531100869179 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn 0.029672866687 -0.456797748804 -0.889075577259 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn -0.461035043001 -0.472170799971 -0.751333117485 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn -0.661482095718 -0.585137486458 -0.469100773335 +vn -0.695248961449 -0.433017820120 -0.573693692684 +vn -0.695248961449 -0.433017820120 -0.573693692684 +vn -0.290984004736 -0.442904204130 -0.848035514355 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn -0.290984004736 -0.442904204130 -0.848035514355 +vn 0.053181022406 -0.359932571650 -0.931461393833 +vn 0.053181022406 -0.359932571650 -0.931461393833 +vn 0.029672866687 -0.456797748804 -0.889075577259 +vn -0.326375365257 -0.544217050076 -0.772856354713 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn 0.220781981945 -0.310104668140 -0.924710988998 +vn 0.057057879865 -0.261248350143 -0.963583767414 +vn 0.057057879865 -0.261248350143 -0.963583767414 +vn -0.212149545550 -0.267020434141 -0.940049290657 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn -0.212149545550 -0.267020434141 -0.940049290657 +vn -0.502373993397 -0.221697002649 -0.835745632648 +vn -0.502373993397 -0.221697002649 -0.835745632648 +vn -0.461035043001 -0.472170799971 -0.751333117485 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn 0.029672866687 -0.456797748804 -0.889075577259 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.220781981945 -0.310104668140 -0.924710988998 +vn -0.092966847122 -0.408933341503 -0.907816410065 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.186271145940 -0.284139335155 -0.940514683723 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.220781981945 -0.310104668140 -0.924710988998 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.029672866687 -0.456797748804 -0.889075577259 +vn 0.053181022406 -0.359932571650 -0.931461393833 +vn 0.053181022406 -0.359932571650 -0.931461393833 +vn 0.404777139425 -0.242898955941 -0.881564259529 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.404777139425 -0.242898955941 -0.881564259529 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.186271145940 -0.284139335155 -0.940514683723 +vn 0.333242952824 -0.351648002863 -0.874810159206 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.404777139425 -0.242898955941 -0.881564259529 +vn 0.393268018961 -0.069132164121 -0.916821122169 +vn 0.393268018961 -0.069132164121 -0.916821122169 +vn 0.227766945958 -0.113212391734 -0.967111766338 +vn 0.206165060401 -0.231415942311 -0.950758993626 +vn 0.227766945958 -0.113212391734 -0.967111766338 +vn 0.393268018961 -0.069132164121 -0.916821122169 +vn 0.348777472973 0.110478848219 -0.930671095848 +vn 0.348777472973 0.110478848219 -0.930671095848 +vn 0.232259064913 0.042165666819 -0.971739590168 +vn 0.227766945958 -0.113212391734 -0.967111766338 +vn 0.232259064913 0.042165666819 -0.971739590168 +vn 0.348777472973 0.110478848219 -0.930671095848 +vn 0.291348487139 0.287645339966 -0.912346541882 +vn 0.291348487139 0.287645339966 -0.912346541882 +vn 0.205909222364 0.252331405878 -0.945478856564 +vn 0.232259064913 0.042165666819 -0.971739590168 +vn 0.205909222364 0.252331405878 -0.945478856564 +vn 0.291348487139 0.287645339966 -0.912346541882 +vn 0.213274046779 0.473949223757 -0.854333817959 +vn 0.213274046779 0.473949223757 -0.854333817959 +vn 0.150941848755 0.451750874519 -0.879282474518 +vn 0.205909222364 0.252331405878 -0.945478856564 +vn 0.150941848755 0.451750874519 -0.879282474518 +vn 0.213274046779 0.473949223757 -0.854333817959 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn 0.103091351688 0.587236762047 -0.802823245525 +vn 0.150941848755 0.451750874519 -0.879282474518 +vn 0.404777139425 -0.242898955941 -0.881564259529 +vn 0.053181022406 -0.359932571650 -0.931461393833 +vn 0.063421443105 -0.214829355478 -0.974590182304 +vn 0.063421443105 -0.214829355478 -0.974590182304 +vn 0.393268018961 -0.069132164121 -0.916821122169 +vn 0.404777139425 -0.242898955941 -0.881564259529 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.179423063993 -0.188055112958 -0.965630710125 +vn 0.057057879865 -0.261248350143 -0.963583767414 +vn 0.057057879865 -0.261248350143 -0.963583767414 +vn 0.220781981945 -0.310104668140 -0.924710988998 +vn 0.183340653777 -0.273737013340 -0.944168567657 +vn 0.179423063993 -0.188055112958 -0.965630710125 +vn 0.092088714242 -0.480216324329 -0.872302651405 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.057057879865 -0.261248350143 -0.963583767414 +vn 0.179423063993 -0.188055112958 -0.965630710125 +vn -0.212149545550 -0.267020434141 -0.940049290657 +vn 0.057057879865 -0.261248350143 -0.963583767414 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn -0.123162224889 -0.212614715099 -0.969343125820 +vn -0.212149545550 -0.267020434141 -0.940049290657 +vn -0.212149545550 -0.267020434141 -0.940049290657 +vn -0.123162224889 -0.212614715099 -0.969343125820 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.502373993397 -0.221697002649 -0.835745632648 +vn -0.212149545550 -0.267020434141 -0.940049290657 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.123162224889 -0.212614715099 -0.969343125820 +vn -0.141834318638 -0.356789201498 -0.923355042934 +vn -0.141834318638 -0.356789201498 -0.923355042934 +vn -0.587534666061 -0.195610851049 -0.785200238228 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.587534666061 -0.195610851049 -0.785200238228 +vn -0.916307866573 -0.152069538832 -0.370479047298 +vn -0.916307866573 -0.152069538832 -0.370479047298 +vn -0.840851187706 -0.088725514710 -0.533944845200 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.840851187706 -0.088725514710 -0.533944845200 +vn -0.789869427681 -0.142434820533 -0.596505343914 +vn -0.789869427681 -0.142434820533 -0.596505343914 +vn -0.502373993397 -0.221697002649 -0.835745632648 +vn -0.530079066753 -0.134988084435 -0.837134659290 +vn -0.989886045456 -0.102725066245 0.097842380404 +vn -0.840851187706 -0.088725514710 -0.533944845200 +vn -0.916307866573 -0.152069538832 -0.370479047298 +vn -0.916307866573 -0.152069538832 -0.370479047298 +vn -0.922188758850 -0.076360240579 0.379126608372 +vn -0.989886045456 -0.102725066245 0.097842380404 +vn -0.840851187706 -0.088725514710 -0.533944845200 +vn -0.989886045456 -0.102725066245 0.097842380404 +vn -0.977375864983 -0.182302713394 -0.107247889042 +vn -0.977375864983 -0.182302713394 -0.107247889042 +vn -0.789869427681 -0.142434820533 -0.596505343914 +vn -0.840851187706 -0.088725514710 -0.533944845200 +vn -0.989886045456 -0.102725066245 0.097842380404 +vn -0.809697628021 -0.208559572697 0.548536777496 +vn -0.805913925171 -0.393099069595 0.442691624165 +vn -0.805913925171 -0.393099069595 0.442691624165 +vn -0.977375864983 -0.182302713394 -0.107247889042 +vn -0.989886045456 -0.102725066245 0.097842380404 +vn -0.809697628021 -0.208559572697 0.548536777496 +vn -0.790964484215 -0.047528445721 0.610013246536 +vn -0.715763926506 -0.212930619717 0.665088415146 +vn -0.715763926506 -0.212930619717 0.665088415146 +vn -0.755450785160 -0.244421571493 0.607908070087 +vn -0.809697628021 -0.208559572697 0.548536777496 +vn -0.809697628021 -0.208559572697 0.548536777496 +vn -0.755450785160 -0.244421571493 0.607908070087 +vn -0.649566590786 -0.465607345104 0.601059973240 +vn -0.649566590786 -0.465607345104 0.601059973240 +vn -0.805913925171 -0.393099069595 0.442691624165 +vn -0.809697628021 -0.208559572697 0.548536777496 +vn -0.755450785160 -0.244421571493 0.607908070087 +vn -0.715763926506 -0.212930619717 0.665088415146 +vn -0.521389782429 -0.343838661909 0.780978679657 +vn -0.521389782429 -0.343838661909 0.780978679657 +vn -0.507497727871 -0.236813455820 0.828471779823 +vn -0.755450785160 -0.244421571493 0.607908070087 +vn -0.755450785160 -0.244421571493 0.607908070087 +vn -0.507497727871 -0.236813455820 0.828471779823 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.649566590786 -0.465607345104 0.601059973240 +vn -0.755450785160 -0.244421571493 0.607908070087 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.474601060152 -0.314127713442 0.822239398956 +vn -0.682558894157 -0.447725176811 0.577629208565 +vn -0.682558894157 -0.447725176811 0.577629208565 +vn -0.649566590786 -0.465607345104 0.601059973240 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.507497727871 -0.236813455820 0.828471779823 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn -0.196055978537 -0.171053454280 0.965558290482 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.196055978537 -0.171053454280 0.965558290482 +vn -0.183084383607 -0.301576018333 0.935698688030 +vn -0.183084383607 -0.301576018333 0.935698688030 +vn -0.474601060152 -0.314127713442 0.822239398956 +vn -0.417664378881 -0.297151625156 0.858636915684 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn -0.507497727871 -0.236813455820 0.828471779823 +vn -0.521389782429 -0.343838661909 0.780978679657 +vn -0.521389782429 -0.343838661909 0.780978679657 +vn -0.283693671227 -0.203705921769 0.937028169632 +vn -0.216913148761 -0.139054685831 0.966236233711 +vn -0.283693671227 -0.203705921769 0.937028169632 +vn -0.521389782429 -0.343838661909 0.780978679657 +vn -0.465007245541 -0.425382465124 0.776413559914 +vn -0.465007245541 -0.425382465124 0.776413559914 +vn -0.359831422567 -0.413703173399 0.836284041405 +vn -0.283693671227 -0.203705921769 0.937028169632 +vn -0.359831422567 -0.413703173399 0.836284041405 +vn -0.465007245541 -0.425382465124 0.776413559914 +vn -0.250461757183 -0.593217015266 0.765089869499 +vn -0.250461757183 -0.593217015266 0.765089869499 +vn -0.338521063328 -0.652876555920 0.677610278130 +vn -0.359831422567 -0.413703173399 0.836284041405 +vn -0.338521063328 -0.652876555920 0.677610278130 +vn -0.250461757183 -0.593217015266 0.765089869499 +vn -0.060088019818 -0.817149162292 0.573285877705 +vn -0.060088019818 -0.817149162292 0.573285877705 +vn -0.286758840084 -0.825533211231 0.486070215702 +vn -0.338521063328 -0.652876555920 0.677610278130 +vn -0.286758840084 -0.825533211231 0.486070215702 +vn -0.060088019818 -0.817149162292 0.573285877705 +vn 0.080994680524 -0.984151780605 0.157750397921 +vn 0.080994680524 -0.984151780605 0.157750397921 +vn -0.228975534439 -0.966663718224 0.114592753351 +vn -0.286758840084 -0.825533211231 0.486070215702 +vn -0.060088019818 -0.817149162292 0.573285877705 +vn -0.250461757183 -0.593217015266 0.765089869499 +vn -0.175170764327 -0.422769248486 0.889146447182 +vn -0.175170764327 -0.422769248486 0.889146447182 +vn 0.200163364410 -0.734465181828 0.648456275463 +vn -0.060088019818 -0.817149162292 0.573285877705 +vn -0.060088019818 -0.817149162292 0.573285877705 +vn 0.200163364410 -0.734465181828 0.648456275463 +vn 0.422937929630 -0.871309041977 0.248885691166 +vn 0.422937929630 -0.871309041977 0.248885691166 +vn 0.080994680524 -0.984151780605 0.157750397921 +vn -0.060088019818 -0.817149162292 0.573285877705 +vn 0.478567808867 -0.553991734982 0.681223928928 +vn 0.771496355534 -0.520169913769 0.366355866194 +vn 0.422937929630 -0.871309041977 0.248885691166 +vn 0.422937929630 -0.871309041977 0.248885691166 +vn 0.200163364410 -0.734465181828 0.648456275463 +vn 0.478567808867 -0.553991734982 0.681223928928 +vn 0.635089933872 -0.717878699303 -0.285150736570 +vn 0.422937929630 -0.871309041977 0.248885691166 +vn 0.771496355534 -0.520169913769 0.366355866194 +vn 0.771496355534 -0.520169913769 0.366355866194 +vn 0.843312978745 -0.508717417717 -0.173291251063 +vn 0.635089933872 -0.717878699303 -0.285150736570 +vn 0.422937929630 -0.871309041977 0.248885691166 +vn 0.635089933872 -0.717878699303 -0.285150736570 +vn 0.280668675900 -0.841036975384 -0.462473720312 +vn 0.280668675900 -0.841036975384 -0.462473720312 +vn 0.080994680524 -0.984151780605 0.157750397921 +vn 0.422937929630 -0.871309041977 0.248885691166 +vn 0.915147721767 -0.341821610928 -0.213688179851 +vn 0.921395957470 -0.096049144864 0.376568794250 +vn 0.965460717678 -0.065064646304 0.252293825150 +vn 0.965460717678 -0.065064646304 0.252293825150 +vn 0.916344642639 -0.289950251579 -0.276118308306 +vn 0.915147721767 -0.341821610928 -0.213688179851 +vn 0.915147721767 -0.341821610928 -0.213688179851 +vn 0.916344642639 -0.289950251579 -0.276118308306 +vn 0.527624547482 -0.341483384371 -0.777818381786 +vn 0.527624547482 -0.341483384371 -0.777818381786 +vn 0.437271595001 -0.449537754059 -0.778915524483 +vn 0.915147721767 -0.341821610928 -0.213688179851 +vn 0.843312978745 -0.508717417717 -0.173291251063 +vn 0.915147721767 -0.341821610928 -0.213688179851 +vn 0.437271595001 -0.449537754059 -0.778915524483 +vn 0.437271595001 -0.449537754059 -0.778915524483 +vn 0.376745164394 -0.480174839497 -0.792145967484 +vn 0.843312978745 -0.508717417717 -0.173291251063 +vn 0.437271595001 -0.449537754059 -0.778915524483 +vn 0.527624547482 -0.341483384371 -0.777818381786 +vn -0.065956912935 -0.328755855560 -0.942108929157 +vn -0.065956912935 -0.328755855560 -0.942108929157 +vn -0.115275420249 -0.405100435019 -0.906975865364 +vn 0.437271595001 -0.449537754059 -0.778915524483 +vn 0.376745164394 -0.480174839497 -0.792145967484 +vn 0.437271595001 -0.449537754059 -0.778915524483 +vn -0.115275420249 -0.405100435019 -0.906975865364 +vn -0.115275420249 -0.405100435019 -0.906975865364 +vn -0.128155156970 -0.402803808451 -0.906270027161 +vn 0.376745164394 -0.480174839497 -0.792145967484 +vn -0.115275420249 -0.405100435019 -0.906975865364 +vn -0.065956912935 -0.328755855560 -0.942108929157 +vn -0.597554683685 -0.308073014021 -0.740283310413 +vn -0.597554683685 -0.308073014021 -0.740283310413 +vn -0.608339726925 -0.334035158157 -0.719960570335 +vn -0.115275420249 -0.405100435019 -0.906975865364 +vn -0.128155156970 -0.402803808451 -0.906270027161 +vn -0.115275420249 -0.405100435019 -0.906975865364 +vn -0.608339726925 -0.334035158157 -0.719960570335 +vn -0.608339726925 -0.334035158157 -0.719960570335 +vn -0.617432177067 -0.286321341991 -0.732664763927 +vn -0.128155156970 -0.402803808451 -0.906270027161 +vn -0.608339726925 -0.334035158157 -0.719960570335 +vn -0.597554683685 -0.308073014021 -0.740283310413 +vn -0.891806840897 -0.253316342831 -0.374848484993 +vn -0.891806840897 -0.253316342831 -0.374848484993 +vn -0.909568905830 -0.262379735708 -0.322244167328 +vn -0.608339726925 -0.334035158157 -0.719960570335 +vn -0.617432177067 -0.286321341991 -0.732664763927 +vn -0.608339726925 -0.334035158157 -0.719960570335 +vn -0.909568905830 -0.262379735708 -0.322244167328 +vn -0.909568905830 -0.262379735708 -0.322244167328 +vn -0.925773084164 -0.217750370502 -0.309077620506 +vn -0.617432177067 -0.286321341991 -0.732664763927 +vn -0.909568905830 -0.262379735708 -0.322244167328 +vn -0.891806840897 -0.253316342831 -0.374848484993 +vn -0.968926668167 -0.157936230302 0.190361022949 +vn -0.968926668167 -0.157936230302 0.190361022949 +vn -0.953337550163 -0.167185232043 0.251389354467 +vn -0.909568905830 -0.262379735708 -0.322244167328 +vn -0.925773084164 -0.217750370502 -0.309077620506 +vn -0.909568905830 -0.262379735708 -0.322244167328 +vn -0.953337550163 -0.167185232043 0.251389354467 +vn -0.953337550163 -0.167185232043 0.251389354467 +vn -0.942502677441 -0.131082609296 0.307418376207 +vn -0.925773084164 -0.217750370502 -0.309077620506 +vn -0.969465434551 -0.233353525400 0.075384795666 +vn -0.968926668167 -0.157936230302 0.190361022949 +vn -0.891806840897 -0.253316342831 -0.374848484993 +vn -0.891806840897 -0.253316342831 -0.374848484993 +vn -0.886553704739 -0.150430575013 -0.437485098839 +vn -0.969465434551 -0.233353525400 0.075384795666 +vn -0.565466403961 -0.060642685741 0.822538852692 +vn -0.968926668167 -0.157936230302 0.190361022949 +vn -0.969465434551 -0.233353525400 0.075384795666 +vn -0.969465434551 -0.233353525400 0.075384795666 +vn -0.657921433449 -0.251068294048 0.710002899170 +vn -0.565466403961 -0.060642685741 0.822538852692 +vn -0.968926668167 -0.157936230302 0.190361022949 +vn -0.565466403961 -0.060642685741 0.822538852692 +vn -0.551249742508 -0.140232846141 0.822470963001 +vn -0.551249742508 -0.140232846141 0.822470963001 +vn -0.953337550163 -0.167185232043 0.251389354467 +vn -0.968926668167 -0.157936230302 0.190361022949 +vn 0.100404962897 -0.010206341743 0.994894325733 +vn -0.565466403961 -0.060642685741 0.822538852692 +vn -0.657921433449 -0.251068294048 0.710002899170 +vn -0.657921433449 -0.251068294048 0.710002899170 +vn 0.022503187880 -0.168173655868 0.985500514507 +vn 0.100404962897 -0.010206341743 0.994894325733 +vn -0.565466403961 -0.060642685741 0.822538852692 +vn 0.100404962897 -0.010206341743 0.994894325733 +vn 0.149793371558 -0.171276986599 0.973769009113 +vn 0.149793371558 -0.171276986599 0.973769009113 +vn -0.551249742508 -0.140232846141 0.822470963001 +vn -0.565466403961 -0.060642685741 0.822538852692 +vn 0.149793371558 -0.171276986599 0.973769009113 +vn 0.100404962897 -0.010206341743 0.994894325733 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.707793414593 -0.092283651233 0.700365781784 +vn 0.149793371558 -0.171276986599 0.973769009113 +vn 0.478567808867 -0.553991734982 0.681223928928 +vn -0.019374400377 -0.340837627649 0.939922511578 +vn 0.149793371558 -0.171276986599 0.973769009113 +vn 0.149793371558 -0.171276986599 0.973769009113 +vn 0.707793414593 -0.092283651233 0.700365781784 +vn 0.478567808867 -0.553991734982 0.681223928928 +vn -0.551249742508 -0.140232846141 0.822470963001 +vn 0.149793371558 -0.171276986599 0.973769009113 +vn -0.019374400377 -0.340837627649 0.939922511578 +vn -0.019374400377 -0.340837627649 0.939922511578 +vn -0.551818788052 -0.097078174353 0.828294575214 +vn -0.551249742508 -0.140232846141 0.822470963001 +vn 0.022503187880 -0.168173655868 0.985500514507 +vn 0.626895606518 -0.109646342695 0.771349191666 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.100404962897 -0.010206341743 0.994894325733 +vn 0.022503187880 -0.168173655868 0.985500514507 +vn 0.976103127003 -0.056135118008 0.209932267666 +vn 0.965460717678 -0.065064646304 0.252293825150 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.626895606518 -0.109646342695 0.771349191666 +vn 0.976103127003 -0.056135118008 0.209932267666 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.965460717678 -0.065064646304 0.252293825150 +vn 0.921395957470 -0.096049144864 0.376568794250 +vn 0.921395957470 -0.096049144864 0.376568794250 +vn 0.707793414593 -0.092283651233 0.700365781784 +vn 0.696138083935 0.027712017298 0.717372834682 +vn 0.652728021145 -0.370803534985 0.660644292831 +vn 0.918845653534 -0.108316130936 0.379460453987 +vn 0.955945372581 -0.075195699930 0.283750057220 +vn 0.955945372581 -0.075195699930 0.283750057220 +vn 0.580956161022 -0.315899401903 0.750131666660 +vn 0.652728021145 -0.370803534985 0.660644292831 +vn 0.971542954445 0.190712869167 -0.140473663807 +vn 0.955945372581 -0.075195699930 0.283750057220 +vn 0.918845653534 -0.108316130936 0.379460453987 +vn 0.918845653534 -0.108316130936 0.379460453987 +vn 0.980078399181 0.178462892771 -0.087162509561 +vn 0.971542954445 0.190712869167 -0.140473663807 +vn 0.976103127003 -0.056135118008 0.209932267666 +vn 0.955945372581 -0.075195699930 0.283750057220 +vn 0.971542954445 0.190712869167 -0.140473663807 +vn 0.971542954445 0.190712869167 -0.140473663807 +vn 0.959917187691 -0.043896026909 -0.276825070381 +vn 0.976103127003 -0.056135118008 0.209932267666 +vn 0.667801558971 0.397239923477 -0.629477202892 +vn 0.971542954445 0.190712869167 -0.140473663807 +vn 0.980078399181 0.178462892771 -0.087162509561 +vn 0.980078399181 0.178462892771 -0.087162509561 +vn 0.636526405811 0.364853173494 -0.679497122765 +vn 0.667801558971 0.397239923477 -0.629477202892 +vn 0.959917187691 -0.043896026909 -0.276825070381 +vn 0.971542954445 0.190712869167 -0.140473663807 +vn 0.667801558971 0.397239923477 -0.629477202892 +vn 0.667801558971 0.397239923477 -0.629477202892 +vn 0.639318466187 0.016674445942 -0.768761277199 +vn 0.959917187691 -0.043896026909 -0.276825070381 +vn 0.020017268136 0.422390818596 -0.906192779541 +vn 0.667801558971 0.397239923477 -0.629477202892 +vn 0.636526405811 0.364853173494 -0.679497122765 +vn 0.636526405811 0.364853173494 -0.679497122765 +vn 0.084422126412 0.381982415915 -0.920305550098 +vn 0.020017268136 0.422390818596 -0.906192779541 +vn 0.639318466187 0.016674445942 -0.768761277199 +vn 0.667801558971 0.397239923477 -0.629477202892 +vn 0.020017268136 0.422390818596 -0.906192779541 +vn 0.020017268136 0.422390818596 -0.906192779541 +vn -0.015542259440 -0.012424598448 -0.999801993370 +vn 0.639318466187 0.016674445942 -0.768761277199 +vn -0.477106243372 0.354926079512 -0.803988277912 +vn -0.607101559639 0.302661061287 -0.734727144241 +vn 0.020017268136 0.422390818596 -0.906192779541 +vn 0.020017268136 0.422390818596 -0.906192779541 +vn 0.084422126412 0.381982415915 -0.920305550098 +vn -0.477106243372 0.354926079512 -0.803988277912 +vn -0.015542259440 -0.012424598448 -0.999801993370 +vn 0.020017268136 0.422390818596 -0.906192779541 +vn -0.607101559639 0.302661061287 -0.734727144241 +vn -0.607101559639 0.302661061287 -0.734727144241 +vn -0.593472301960 -0.092204272747 -0.799555480480 +vn -0.015542259440 -0.012424598448 -0.999801993370 +vn -0.924370706081 0.140413299203 -0.354715228081 +vn -0.938400447369 0.027688471600 -0.344438642263 +vn -0.607101559639 0.302661061287 -0.734727144241 +vn -0.607101559639 0.302661061287 -0.734727144241 +vn -0.477106243372 0.354926079512 -0.803988277912 +vn -0.924370706081 0.140413299203 -0.354715228081 +vn -0.886553704739 -0.150430575013 -0.437485098839 +vn -0.593472301960 -0.092204272747 -0.799555480480 +vn -0.607101559639 0.302661061287 -0.734727144241 +vn -0.607101559639 0.302661061287 -0.734727144241 +vn -0.938400447369 0.027688471600 -0.344438642263 +vn -0.886553704739 -0.150430575013 -0.437485098839 +vn -0.891922414303 -0.121970690787 -0.435428053141 +vn -0.362230628729 0.031117305160 -0.931568920612 +vn -0.514643490314 -0.262845516205 -0.816121518612 +vn -0.514643490314 -0.262845516205 -0.816121518612 +vn -0.903522908688 -0.324223697186 -0.280223727226 +vn -0.891922414303 -0.121970690787 -0.435428053141 +vn -0.891922414303 -0.121970690787 -0.435428053141 +vn -0.903522908688 -0.324223697186 -0.280223727226 +vn -0.939108490944 -0.334201961756 0.079902052879 +vn -0.939108490944 -0.334201961756 0.079902052879 +vn -0.948065698147 -0.258092373610 0.185902506113 +vn -0.891922414303 -0.121970690787 -0.435428053141 +vn -0.924370706081 0.140413299203 -0.354715228081 +vn -0.891922414303 -0.121970690787 -0.435428053141 +vn -0.948065698147 -0.258092373610 0.185902506113 +vn -0.948065698147 -0.258092373610 0.185902506113 +vn -0.971519231796 -0.181915670633 0.151845633984 +vn -0.924370706081 0.140413299203 -0.354715228081 +vn -0.948065698147 -0.258092373610 0.185902506113 +vn -0.939108490944 -0.334201961756 0.079902052879 +vn -0.879063725471 -0.294311136007 0.375003933907 +vn -0.879063725471 -0.294311136007 0.375003933907 +vn -0.772708237171 -0.313344955444 0.552029848099 +vn -0.948065698147 -0.258092373610 0.185902506113 +vn -0.971519231796 -0.181915670633 0.151845633984 +vn -0.948065698147 -0.258092373610 0.185902506113 +vn -0.772708237171 -0.313344955444 0.552029848099 +vn -0.772708237171 -0.313344955444 0.552029848099 +vn -0.779256761074 -0.415031522512 0.469582498074 +vn -0.971519231796 -0.181915670633 0.151845633984 +vn -0.772708237171 -0.313344955444 0.552029848099 +vn -0.879063725471 -0.294311136007 0.375003933907 +vn -0.350002974272 -0.353424876928 0.867518723011 +vn -0.350002974272 -0.353424876928 0.867518723011 +vn -0.108156479895 -0.424431473017 0.898977220058 +vn -0.772708237171 -0.313344955444 0.552029848099 +vn -0.779256761074 -0.415031522512 0.469582498074 +vn -0.772708237171 -0.313344955444 0.552029848099 +vn -0.108156479895 -0.424431473017 0.898977220058 +vn -0.108156479895 -0.424431473017 0.898977220058 +vn -0.141817405820 -0.538776338100 0.830426335335 +vn -0.779256761074 -0.415031522512 0.469582498074 +vn -0.108156479895 -0.424431473017 0.898977220058 +vn -0.350002974272 -0.353424876928 0.867518723011 +vn 0.522046148777 -0.307964920998 0.795377552509 +vn 0.522046148777 -0.307964920998 0.795377552509 +vn 0.603337705135 -0.321985483170 0.729595065117 +vn -0.108156479895 -0.424431473017 0.898977220058 +vn 0.652728021145 -0.370803534985 0.660644292831 +vn -0.141817405820 -0.538776338100 0.830426335335 +vn -0.108156479895 -0.424431473017 0.898977220058 +vn -0.108156479895 -0.424431473017 0.898977220058 +vn 0.603337705135 -0.321985483170 0.729595065117 +vn 0.652728021145 -0.370803534985 0.660644292831 +vn 0.522046148777 -0.307964920998 0.795377552509 +vn 0.855423569679 -0.287269592285 0.430960148573 +vn 0.863250315189 -0.240368023515 0.443871766329 +vn 0.863250315189 -0.240368023515 0.443871766329 +vn 0.603337705135 -0.321985483170 0.729595065117 +vn 0.522046148777 -0.307964920998 0.795377552509 +vn 0.855423569679 -0.287269592285 0.430960148573 +vn 0.965904176235 -0.249124884605 -0.070468947291 +vn 0.981968581676 -0.106181085110 -0.156407564878 +vn 0.981968581676 -0.106181085110 -0.156407564878 +vn 0.863250315189 -0.240368023515 0.443871766329 +vn 0.855423569679 -0.287269592285 0.430960148573 +vn 0.965904176235 -0.249124884605 -0.070468947291 +vn 0.707191705704 -0.151784554124 -0.690536975861 +vn 0.628715753555 0.022276135162 -0.777316093445 +vn 0.628715753555 0.022276135162 -0.777316093445 +vn 0.981968581676 -0.106181085110 -0.156407564878 +vn 0.965904176235 -0.249124884605 -0.070468947291 +vn 0.707191705704 -0.151784554124 -0.690536975861 +vn 0.155663013458 -0.127083465457 -0.979601383209 +vn 0.163179978728 0.071530185640 -0.983999848366 +vn 0.163179978728 0.071530185640 -0.983999848366 +vn 0.628715753555 0.022276135162 -0.777316093445 +vn 0.707191705704 -0.151784554124 -0.690536975861 +vn 0.155663013458 -0.127083465457 -0.979601383209 +vn -0.514643490314 -0.262845516205 -0.816121518612 +vn -0.362230628729 0.031117305160 -0.931568920612 +vn -0.362230628729 0.031117305160 -0.931568920612 +vn 0.163179978728 0.071530185640 -0.983999848366 +vn 0.155663013458 -0.127083465457 -0.979601383209 +vn -0.175170764327 -0.422769248486 0.889146447182 +vn -0.250461757183 -0.593217015266 0.765089869499 +vn -0.465007245541 -0.425382465124 0.776413559914 +vn -0.465007245541 -0.425382465124 0.776413559914 +vn -0.563060462475 -0.168180093169 0.809121966362 +vn -0.175170764327 -0.422769248486 0.889146447182 +vn -0.465007245541 -0.425382465124 0.776413559914 +vn -0.521389782429 -0.343838661909 0.780978679657 +vn -0.715763926506 -0.212930619717 0.665088415146 +vn -0.715763926506 -0.212930619717 0.665088415146 +vn -0.563060462475 -0.168180093169 0.809121966362 +vn -0.465007245541 -0.425382465124 0.776413559914 +vn 0.134684994817 0.684974730015 -0.716009497643 +vn -0.145126968622 0.899781525135 -0.411498963833 +vn -0.315204828978 0.861297667027 -0.398512542248 +vn -0.315204828978 0.861297667027 -0.398512542248 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn 0.134684994817 0.684974730015 -0.716009497643 +vn -0.596450567245 0.676830708981 -0.431447476149 +vn -0.775885522366 0.616467952728 -0.134048074484 +vn -0.633557975292 0.763627767563 -0.124406084418 +vn -0.633557975292 0.763627767563 -0.124406084418 +vn -0.516845405102 0.745677411556 -0.420518726110 +vn -0.596450567245 0.676830708981 -0.431447476149 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn 0.522606372833 -0.813196480274 0.256113231182 +vn 0.439630091190 -0.721156895161 0.535404622555 +vn 0.439630091190 -0.721156895161 0.535404622555 +vn 0.148190066218 -0.888485610485 0.434319049120 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn -0.441064447165 -0.647433578968 0.621523916721 +vn -0.097222670913 -0.772586345673 0.627421736717 +vn 0.153458490968 -0.724150478840 0.672351539135 +vn 0.153458490968 -0.724150478840 0.672351539135 +vn -0.230195984244 -0.579904317856 0.781486272812 +vn -0.441064447165 -0.647433578968 0.621523916721 +vn -0.513534486294 0.648863255978 0.561479091644 +vn -0.660521805286 0.480035573244 0.577301323414 +vn -0.426534503698 0.658479154110 0.620059251785 +vn -0.426534503698 0.658479154110 0.620059251785 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.513534486294 0.648863255978 0.561479091644 +vn 0.652669608593 -0.757597029209 0.008313104510 +vn 0.137720257044 -0.872675478458 -0.468476980925 +vn -0.555393755436 -0.827782988548 0.079454943538 +vn -0.555393755436 -0.827782988548 0.079454943538 +vn 0.323501050472 -0.885855317116 0.332576870918 +vn 0.652669608593 -0.757597029209 0.008313104510 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn 0.280668675900 -0.841036975384 -0.462473720312 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.123121000826 -0.448742777109 -0.885139048100 +vn 0.092088714242 -0.480216324329 -0.872302651405 +vn -0.043687757105 -0.877011001110 -0.478479951620 +vn -0.426534503698 0.658479154110 0.620059251785 +vn -0.660521805286 0.480035573244 0.577301323414 +vn -0.632141351700 0.593008518219 0.498736590147 +vn -0.632141351700 0.593008518219 0.498736590147 +vn -0.405317097902 0.826308548450 0.391065508127 +vn -0.426534503698 0.658479154110 0.620059251785 +vn -0.426534503698 0.658479154110 0.620059251785 +vn -0.405317097902 0.826308548450 0.391065508127 +vn -0.253316640854 0.715313494205 0.651273608208 +vn -0.253316640854 0.715313494205 0.651273608208 +vn -0.354340136051 0.692856073380 0.628007590771 +vn -0.426534503698 0.658479154110 0.620059251785 +vn 0.153458490968 -0.724150478840 0.672351539135 +vn -0.097222670913 -0.772586345673 0.627421736717 +vn 0.148190066218 -0.888485610485 0.434319049120 +vn 0.148190066218 -0.888485610485 0.434319049120 +vn 0.439630091190 -0.721156895161 0.535404622555 +vn 0.153458490968 -0.724150478840 0.672351539135 +vn 0.005380727351 -0.466115295887 0.884707629681 +vn 0.052944108844 -0.525575459003 0.849097967148 +vn -0.194386199117 -0.316394358873 0.928498029709 +vn -0.194386199117 -0.316394358873 0.928498029709 +vn -0.327875584364 -0.123132228851 0.936662197113 +vn 0.005380727351 -0.466115295887 0.884707629681 +vn -0.183688417077 -0.212271973491 0.959791243076 +vn -0.310935705900 -0.333749651909 0.889904558659 +vn -0.474601060152 -0.314127713442 0.822239398956 +vn -0.474601060152 -0.314127713442 0.822239398956 +vn -0.183084383607 -0.301576018333 0.935698688030 +vn -0.183688417077 -0.212271973491 0.959791243076 +vn 0.452441990376 -0.493693500757 -0.742672860622 +vn 0.442722022533 -0.331521779299 -0.833120942116 +vn 0.531822919846 -0.763270735741 -0.366854429245 +vn 0.531822919846 -0.763270735741 -0.366854429245 +vn 0.157262817025 -0.804923295975 -0.572159826756 +vn 0.452441990376 -0.493693500757 -0.742672860622 +vn 0.452441990376 -0.493693500757 -0.742672860622 +vn 0.157262817025 -0.804923295975 -0.572159826756 +vn -0.114131063223 -0.495763331652 -0.860925555229 +vn -0.114131063223 -0.495763331652 -0.860925555229 +vn 0.238099992275 -0.110498450696 -0.964934468269 +vn 0.452441990376 -0.493693500757 -0.742672860622 +vn -0.776939868927 -0.339007973671 0.530507385731 +vn -0.474601060152 -0.314127713442 0.822239398956 +vn -0.310935705900 -0.333749651909 0.889904558659 +vn -0.310935705900 -0.333749651909 0.889904558659 +vn -0.645000696182 -0.448348075151 0.618836104870 +vn -0.776939868927 -0.339007973671 0.530507385731 +vn 0.148190066218 -0.888485610485 0.434319049120 +vn -0.097222670913 -0.772586345673 0.627421736717 +vn -0.278138488531 -0.797384798527 0.535552501678 +vn -0.278138488531 -0.797384798527 0.535552501678 +vn -0.163589537144 -0.883762001991 0.438409894705 +vn 0.148190066218 -0.888485610485 0.434319049120 +vn -0.441064447165 -0.647433578968 0.621523916721 +vn -0.282175540924 -0.623341798782 0.729261279106 +vn -0.278138488531 -0.797384798527 0.535552501678 +vn -0.278138488531 -0.797384798527 0.535552501678 +vn -0.097222670913 -0.772586345673 0.627421736717 +vn -0.441064447165 -0.647433578968 0.621523916721 +vn -0.163589537144 -0.883762001991 0.438409894705 +vn -0.278138488531 -0.797384798527 0.535552501678 +vn -0.282175540924 -0.623341798782 0.729261279106 +vn -0.282175540924 -0.623341798782 0.729261279106 +vn 0.091035820544 -0.847606122494 0.522758364677 +vn -0.163589537144 -0.883762001991 0.438409894705 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn 0.148190066218 -0.888485610485 0.434319049120 +vn -0.163589537144 -0.883762001991 0.438409894705 +vn -0.163589537144 -0.883762001991 0.438409894705 +vn 0.091035820544 -0.847606122494 0.522758364677 +vn 0.277552098036 -0.928275525570 0.247526556253 +vn 0.103091351688 0.587236762047 -0.802823245525 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn -0.147046521306 0.661145508289 -0.735706388950 +vn -0.147046521306 0.661145508289 -0.735706388950 +vn 0.080240480602 0.638880431652 -0.765109956264 +vn 0.103091351688 0.587236762047 -0.802823245525 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn -0.315204828978 0.861297667027 -0.398512542248 +vn -0.474705159664 0.698050916195 -0.536078274250 +vn -0.474705159664 0.698050916195 -0.536078274250 +vn -0.147046521306 0.661145508289 -0.735706388950 +vn -0.021746918559 0.684855461121 -0.728354394436 +vn 0.764927029610 -0.576102018356 0.288085192442 +vn 0.616677582264 -0.787093162537 0.013895100914 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn 0.749943137169 -0.607590794563 0.261569708586 +vn 0.764927029610 -0.576102018356 0.288085192442 +vn -0.735706865788 -0.054184451699 0.675129234791 +vn -0.984832644463 0.126232400537 -0.119038090110 +vn -0.852300584316 -0.522522985935 -0.023525990546 +vn -0.852300584316 -0.522522985935 -0.023525990546 +vn -0.573264300823 -0.621842443943 0.533554136753 +vn -0.735706865788 -0.054184451699 0.675129234791 +vn 0.449752897024 0.215031251311 0.866881728172 +vn 0.343221575022 0.333233237267 0.878154039383 +vn 0.447196930647 0.457334220409 0.768674373627 +vn 0.447196930647 0.457334220409 0.768674373627 +vn 0.518878757954 0.427382588387 0.740343809128 +vn 0.449752897024 0.215031251311 0.866881728172 +vn 0.381070137024 0.377225160599 0.844089269638 +vn 0.298508673906 0.235164701939 0.924981176853 +vn 0.235978275537 -0.027912126854 0.971357405186 +vn 0.235978275537 -0.027912126854 0.971357405186 +vn 0.371117204428 0.216821014881 0.902917861938 +vn 0.381070137024 0.377225160599 0.844089269638 +vn 0.449752897024 0.215031251311 0.866881728172 +vn 0.586589038372 -0.130760043859 0.799259126186 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.484686046839 0.057347863913 0.872806191444 +vn 0.449752897024 0.215031251311 0.866881728172 +vn -0.659071147442 -0.200914278626 -0.724747300148 +vn -0.644962370396 0.058819733560 -0.761947333813 +vn -0.529830276966 0.180707767606 -0.828628122807 +vn -0.529830276966 0.180707767606 -0.828628122807 +vn -0.556180357933 -0.108734130859 -0.823917686939 +vn -0.659071147442 -0.200914278626 -0.724747300148 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.131719857454 -0.939497470856 -0.316218942404 +vn -0.278032571077 -0.915405213833 -0.291086286306 +vn -0.278032571077 -0.915405213833 -0.291086286306 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.273491442204 -0.824210345745 0.495862573385 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.560475468636 -0.384606152773 0.733447611332 +vn -0.273491442204 -0.824210345745 0.495862573385 +vn -0.825740158558 0.557865142822 -0.083304390311 +vn -0.103229515254 0.978088200092 0.180795833468 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.155846312642 0.291441172361 0.943808257580 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.825740158558 0.557865142822 -0.083304390311 +vn 0.544627487659 0.529230535030 0.650611937046 +vn 0.447196930647 0.457334220409 0.768674373627 +vn 0.381070137024 0.377225160599 0.844089269638 +vn 0.381070137024 0.377225160599 0.844089269638 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.544627487659 0.529230535030 0.650611937046 +vn 0.220938414335 0.246594354510 0.943598151207 +vn 0.101169690490 0.512140154839 0.852922737598 +vn 0.525134205818 0.469024330378 0.710105836391 +vn 0.525134205818 0.469024330378 0.710105836391 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.220938414335 0.246594354510 0.943598151207 +vn -0.845550715923 -0.427685022354 -0.319577127695 +vn -0.723380565643 -0.383380830288 -0.574229657650 +vn -0.706272184849 -0.603011190891 -0.370887011290 +vn -0.706272184849 -0.603011190891 -0.370887011290 +vn -0.711501002312 -0.684330821037 -0.159554719925 +vn -0.845550715923 -0.427685022354 -0.319577127695 +vn -0.890372574329 0.080532528460 -0.448052674532 +vn -0.618258059025 0.073811292648 -0.782501697540 +vn -0.728950142860 -0.327087074518 -0.601369857788 +vn -0.728950142860 -0.327087074518 -0.601369857788 +vn -0.807789504528 -0.443095922470 -0.388770043850 +vn -0.890372574329 0.080532528460 -0.448052674532 +vn 0.864156365395 0.421443611383 0.274989217520 +vn 0.595785379410 0.316492557526 0.738154590130 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.155846312642 0.291441172361 0.943808257580 +vn -0.103229515254 0.978088200092 0.180795833468 +vn 0.864156365395 0.421443611383 0.274989217520 +vn 0.864156365395 0.421443611383 0.274989217520 +vn 0.560475468636 -0.384606152773 0.733447611332 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.595785379410 0.316492557526 0.738154590130 +vn 0.864156365395 0.421443611383 0.274989217520 +vn -0.924543797970 -0.378240644932 0.046398065984 +vn -0.906276762486 -0.404754072428 -0.121805310249 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.273491442204 -0.824210345745 0.495862573385 +vn -0.924543797970 -0.378240644932 0.046398065984 +vn -0.924543797970 -0.378240644932 0.046398065984 +vn -0.825740158558 0.557865142822 -0.083304390311 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.906276762486 -0.404754072428 -0.121805310249 +vn -0.924543797970 -0.378240644932 0.046398065984 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn 0.668927371502 0.054616473615 0.741318523884 +vn 0.706088304520 0.278354465961 0.651120662689 +vn 0.706088304520 0.278354465961 0.651120662689 +vn 0.675440192223 -0.458956182003 0.577182590961 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn -0.638963222504 -0.764738500118 -0.083072558045 +vn -0.400125116110 -0.844774186611 -0.355325788260 +vn -0.064416959882 -0.989249408245 -0.131286263466 +vn -0.064416959882 -0.989249408245 -0.131286263466 +vn -0.228597149253 -0.963452041149 0.139655098319 +vn -0.638963222504 -0.764738500118 -0.083072558045 +vn 0.525134205818 0.469024330378 0.710105836391 +vn 0.101169690490 0.512140154839 0.852922737598 +vn 0.125691637397 0.965929806232 0.226232767105 +vn 0.125691637397 0.965929806232 0.226232767105 +vn 0.228585809469 0.971321880817 -0.065439939499 +vn 0.525134205818 0.469024330378 0.710105836391 +vn -0.458354860544 0.598978698254 -0.656608939171 +vn -0.618258059025 0.073811292648 -0.782501697540 +vn -0.890372574329 0.080532528460 -0.448052674532 +vn -0.890372574329 0.080532528460 -0.448052674532 +vn -0.776327371597 0.532938063145 -0.336589962244 +vn -0.458354860544 0.598978698254 -0.656608939171 +vn 0.518878757954 0.427382588387 0.740343809128 +vn 0.447196930647 0.457334220409 0.768674373627 +vn 0.544627487659 0.529230535030 0.650611937046 +vn 0.544627487659 0.529230535030 0.650611937046 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.518878757954 0.427382588387 0.740343809128 +vn -0.656732261181 -0.623147845268 -0.424722850323 +vn -0.400125116110 -0.844774186611 -0.355325788260 +vn -0.638963222504 -0.764738500118 -0.083072558045 +vn -0.638963222504 -0.764738500118 -0.083072558045 +vn -0.846791744232 -0.483428299427 -0.221902847290 +vn -0.656732261181 -0.623147845268 -0.424722850323 +vn 0.939903497696 0.263156682253 -0.217554569244 +vn 0.442690938711 0.830069482327 -0.339130282402 +vn 0.211761444807 0.976250410080 -0.045741431415 +vn 0.211761444807 0.976250410080 -0.045741431415 +vn 0.831779718399 0.422522366047 0.360024124384 +vn 0.939903497696 0.263156682253 -0.217554569244 +vn 0.872482240200 -0.471308529377 0.129007905722 +vn 0.939903497696 0.263156682253 -0.217554569244 +vn 0.831779718399 0.422522366047 0.360024124384 +vn 0.831779718399 0.422522366047 0.360024124384 +vn 0.671369910240 -0.501542747021 0.545634746552 +vn 0.872482240200 -0.471308529377 0.129007905722 +vn 0.512204766273 -0.850021958351 -0.122918345034 +vn -0.071583420038 -0.882299423218 0.465213447809 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn 0.632791161537 -0.770698904991 -0.074823580682 +vn 0.512204766273 -0.850021958351 -0.122918345034 +vn -0.526116251945 0.837725043297 0.146350353956 +vn -0.686430990696 0.720295071602 -0.099937297404 +vn 0.094880104065 0.767824649811 -0.633595347404 +vn 0.094880104065 0.767824649811 -0.633595347404 +vn 0.199163094163 0.857034504414 -0.475211501122 +vn -0.526116251945 0.837725043297 0.146350353956 +vn 0.094880104065 0.767824649811 -0.633595347404 +vn 0.584740519524 -0.076099924743 -0.807643055916 +vn 0.767984747887 -0.000124268874 -0.640468120575 +vn 0.767984747887 -0.000124268874 -0.640468120575 +vn 0.199163094163 0.857034504414 -0.475211501122 +vn 0.094880104065 0.767824649811 -0.633595347404 +vn 0.767984747887 -0.000124268874 -0.640468120575 +vn 0.584740519524 -0.076099924743 -0.807643055916 +vn 0.512204766273 -0.850021958351 -0.122918345034 +vn 0.512204766273 -0.850021958351 -0.122918345034 +vn 0.632791161537 -0.770698904991 -0.074823580682 +vn 0.767984747887 -0.000124268874 -0.640468120575 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn -0.071583420038 -0.882299423218 0.465213447809 +vn -0.840265870094 -0.241866633296 0.485235869884 +vn -0.840265870094 -0.241866633296 0.485235869884 +vn -0.690679788589 -0.000778474496 0.723160266876 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn -0.840265870094 -0.241866633296 0.485235869884 +vn -0.686430990696 0.720295071602 -0.099937297404 +vn -0.526116251945 0.837725043297 0.146350353956 +vn -0.526116251945 0.837725043297 0.146350353956 +vn -0.690679788589 -0.000778474496 0.723160266876 +vn -0.840265870094 -0.241866633296 0.485235869884 +vn 0.654265940189 -0.755983114243 0.020631497726 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn 0.193445131183 -0.664700031281 0.721632063389 +vn 0.193445131183 -0.664700031281 0.721632063389 +vn 0.609682977200 -0.792106568813 -0.029220450670 +vn 0.654265940189 -0.755983114243 0.020631497726 +vn -0.418460667133 0.901152551174 0.113202057779 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn 0.059762805700 0.789890289307 -0.610329151154 +vn 0.059762805700 0.789890289307 -0.610329151154 +vn -0.057959515601 0.724743604660 -0.686576604843 +vn -0.418460667133 0.901152551174 0.113202057779 +vn 0.059762805700 0.789890289307 -0.610329151154 +vn 0.717394471169 0.009258572012 -0.696605682373 +vn 0.575490474701 -0.073232166469 -0.814523041248 +vn 0.575490474701 -0.073232166469 -0.814523041248 +vn -0.057959515601 0.724743604660 -0.686576604843 +vn 0.059762805700 0.789890289307 -0.610329151154 +vn 0.575490474701 -0.073232166469 -0.814523041248 +vn 0.717394471169 0.009258572012 -0.696605682373 +vn 0.654265940189 -0.755983114243 0.020631497726 +vn 0.654265940189 -0.755983114243 0.020631497726 +vn 0.609682977200 -0.792106568813 -0.029220450670 +vn 0.575490474701 -0.073232166469 -0.814523041248 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn -0.582837760448 0.017110457644 0.812408387661 +vn -0.300787478685 0.223077714443 0.927234172821 +vn -0.300787478685 0.223077714443 0.927234172821 +vn 0.193445131183 -0.664700031281 0.721632063389 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn -0.300787478685 0.223077714443 0.927234172821 +vn -0.582837760448 0.017110457644 0.812408387661 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn -0.418460667133 0.901152551174 0.113202057779 +vn -0.300787478685 0.223077714443 0.927234172821 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn 0.795773029327 -0.568661808968 0.208252415061 +vn 0.755004882813 -0.648362755775 -0.097945638001 +vn 0.755004882813 -0.648362755775 -0.097945638001 +vn 0.281914830208 -0.912322878838 0.296969711781 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn 0.234835863113 0.898671209812 -0.370462059975 +vn -0.654169857502 0.611067593098 -0.445710867643 +vn -0.356608331203 0.911232411861 -0.206121206284 +vn -0.356608331203 0.911232411861 -0.206121206284 +vn 0.331191927195 0.887251555920 -0.321086555719 +vn 0.234835863113 0.898671209812 -0.370462059975 +vn 0.935081541538 0.343843042850 -0.085991114378 +vn 0.234835863113 0.898671209812 -0.370462059975 +vn 0.331191927195 0.887251555920 -0.321086555719 +vn 0.331191927195 0.887251555920 -0.321086555719 +vn 0.901155054569 0.207435190678 -0.380644440651 +vn 0.935081541538 0.343843042850 -0.085991114378 +vn 0.795773029327 -0.568661808968 0.208252415061 +vn 0.935081541538 0.343843042850 -0.085991114378 +vn 0.901155054569 0.207435190678 -0.380644440651 +vn 0.901155054569 0.207435190678 -0.380644440651 +vn 0.755004882813 -0.648362755775 -0.097945638001 +vn 0.795773029327 -0.568661808968 0.208252415061 +vn -0.853799223900 -0.515887677670 -0.069905407727 +vn -0.452860146761 -0.891462624073 -0.014562929980 +vn -0.359494030476 -0.823143482208 0.439543902874 +vn -0.359494030476 -0.823143482208 0.439543902874 +vn -0.887100934982 -0.301324844360 0.349650204182 +vn -0.853799223900 -0.515887677670 -0.069905407727 +vn -0.923558056355 0.181594893336 -0.337733328342 +vn -0.853799223900 -0.515887677670 -0.069905407727 +vn -0.887100934982 -0.301324844360 0.349650204182 +vn -0.887100934982 -0.301324844360 0.349650204182 +vn -0.882203221321 0.466355353594 0.065039306879 +vn -0.923558056355 0.181594893336 -0.337733328342 +vn 0.281914830208 -0.912322878838 0.296969711781 +vn 0.755004882813 -0.648362755775 -0.097945638001 +vn 0.632791161537 -0.770698904991 -0.074823580682 +vn 0.632791161537 -0.770698904991 -0.074823580682 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn 0.281914830208 -0.912322878838 0.296969711781 +vn 0.331191927195 0.887251555920 -0.321086555719 +vn -0.356608331203 0.911232411861 -0.206121206284 +vn -0.526116251945 0.837725043297 0.146350353956 +vn -0.526116251945 0.837725043297 0.146350353956 +vn 0.199163094163 0.857034504414 -0.475211501122 +vn 0.331191927195 0.887251555920 -0.321086555719 +vn 0.901155054569 0.207435190678 -0.380644440651 +vn 0.331191927195 0.887251555920 -0.321086555719 +vn 0.199163094163 0.857034504414 -0.475211501122 +vn 0.199163094163 0.857034504414 -0.475211501122 +vn 0.767984747887 -0.000124268874 -0.640468120575 +vn 0.901155054569 0.207435190678 -0.380644440651 +vn 0.755004882813 -0.648362755775 -0.097945638001 +vn 0.901155054569 0.207435190678 -0.380644440651 +vn 0.767984747887 -0.000124268874 -0.640468120575 +vn 0.767984747887 -0.000124268874 -0.640468120575 +vn 0.632791161537 -0.770698904991 -0.074823580682 +vn 0.755004882813 -0.648362755775 -0.097945638001 +vn -0.887100934982 -0.301324844360 0.349650204182 +vn -0.359494030476 -0.823143482208 0.439543902874 +vn -0.356729805470 -0.570918679237 0.739456355572 +vn -0.356729805470 -0.570918679237 0.739456355572 +vn -0.716297686100 -0.048545919359 0.696104109287 +vn -0.887100934982 -0.301324844360 0.349650204182 +vn -0.882203221321 0.466355353594 0.065039306879 +vn -0.887100934982 -0.301324844360 0.349650204182 +vn -0.716297686100 -0.048545919359 0.696104109287 +vn -0.716297686100 -0.048545919359 0.696104109287 +vn -0.669882655144 0.495309412479 0.553105592728 +vn -0.882203221321 0.466355353594 0.065039306879 +vn -0.071583420038 -0.882299423218 0.465213447809 +vn 0.512204766273 -0.850021958351 -0.122918345034 +vn 0.525191307068 -0.828523874283 -0.194222226739 +vn 0.525191307068 -0.828523874283 -0.194222226739 +vn 0.251126438379 -0.872303128242 0.419550597668 +vn -0.071583420038 -0.882299423218 0.465213447809 +vn 0.094880104065 0.767824649811 -0.633595347404 +vn -0.686430990696 0.720295071602 -0.099937297404 +vn -0.342781454325 0.907233953476 -0.243777379394 +vn -0.342781454325 0.907233953476 -0.243777379394 +vn 0.070625789464 0.688678205013 -0.721619248390 +vn 0.094880104065 0.767824649811 -0.633595347404 +vn 0.584740519524 -0.076099924743 -0.807643055916 +vn 0.094880104065 0.767824649811 -0.633595347404 +vn 0.070625789464 0.688678205013 -0.721619248390 +vn 0.070625789464 0.688678205013 -0.721619248390 +vn 0.469996184111 -0.136217668653 -0.872094213963 +vn 0.584740519524 -0.076099924743 -0.807643055916 +vn 0.512204766273 -0.850021958351 -0.122918345034 +vn 0.584740519524 -0.076099924743 -0.807643055916 +vn 0.469996184111 -0.136217668653 -0.872094213963 +vn 0.469996184111 -0.136217668653 -0.872094213963 +vn 0.525191307068 -0.828523874283 -0.194222226739 +vn 0.512204766273 -0.850021958351 -0.122918345034 +vn -0.784745812416 -0.252164989710 0.566203892231 +vn -0.489775359631 -0.690809249878 0.531885921955 +vn -0.134772136807 -0.627485811710 0.766875505447 +vn -0.134772136807 -0.627485811710 0.766875505447 +vn -0.571492850780 -0.022711342201 0.820292711258 +vn -0.784745812416 -0.252164989710 0.566203892231 +vn -0.898592233658 0.382915318012 0.214261218905 +vn -0.784745812416 -0.252164989710 0.566203892231 +vn -0.571492850780 -0.022711342201 0.820292711258 +vn -0.571492850780 -0.022711342201 0.820292711258 +vn -0.650007605553 0.666634500027 0.364813089371 +vn -0.898592233658 0.382915318012 0.214261218905 +vn 0.251126438379 -0.872303128242 0.419550597668 +vn 0.525191307068 -0.828523874283 -0.194222226739 +vn 0.609682977200 -0.792106568813 -0.029220450670 +vn 0.609682977200 -0.792106568813 -0.029220450670 +vn 0.193445131183 -0.664700031281 0.721632063389 +vn 0.251126438379 -0.872303128242 0.419550597668 +vn 0.070625789464 0.688678205013 -0.721619248390 +vn -0.342781454325 0.907233953476 -0.243777379394 +vn -0.418460667133 0.901152551174 0.113202057779 +vn -0.418460667133 0.901152551174 0.113202057779 +vn -0.057959515601 0.724743604660 -0.686576604843 +vn 0.070625789464 0.688678205013 -0.721619248390 +vn 0.469996184111 -0.136217668653 -0.872094213963 +vn 0.070625789464 0.688678205013 -0.721619248390 +vn -0.057959515601 0.724743604660 -0.686576604843 +vn -0.057959515601 0.724743604660 -0.686576604843 +vn 0.575490474701 -0.073232166469 -0.814523041248 +vn 0.469996184111 -0.136217668653 -0.872094213963 +vn 0.525191307068 -0.828523874283 -0.194222226739 +vn 0.469996184111 -0.136217668653 -0.872094213963 +vn 0.575490474701 -0.073232166469 -0.814523041248 +vn 0.575490474701 -0.073232166469 -0.814523041248 +vn 0.609682977200 -0.792106568813 -0.029220450670 +vn 0.525191307068 -0.828523874283 -0.194222226739 +vn -0.571492850780 -0.022711342201 0.820292711258 +vn -0.134772136807 -0.627485811710 0.766875505447 +vn 0.027322886512 -0.366461753845 0.930031836033 +vn 0.027322886512 -0.366461753845 0.930031836033 +vn -0.291609972715 0.196503594518 0.936135649681 +vn -0.571492850780 -0.022711342201 0.820292711258 +vn -0.650007605553 0.666634500027 0.364813089371 +vn -0.571492850780 -0.022711342201 0.820292711258 +vn -0.291609972715 0.196503594518 0.936135649681 +vn -0.291609972715 0.196503594518 0.936135649681 +vn -0.313529968262 0.702443897724 0.638961255550 +vn -0.650007605553 0.666634500027 0.364813089371 +vn -0.853799223900 -0.515887677670 -0.069905407727 +vn -0.859294295311 -0.489033728838 -0.149864375591 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn -0.452860146761 -0.891462624073 -0.014562929980 +vn -0.853799223900 -0.515887677670 -0.069905407727 +vn -0.923558056355 0.181594893336 -0.337733328342 +vn -0.654169857502 0.611067593098 -0.445710867643 +vn -0.859294295311 -0.489033728838 -0.149864375591 +vn -0.859294295311 -0.489033728838 -0.149864375591 +vn -0.853799223900 -0.515887677670 -0.069905407727 +vn -0.923558056355 0.181594893336 -0.337733328342 +vn -0.882203221321 0.466355353594 0.065039306879 +vn -0.356608331203 0.911232411861 -0.206121206284 +vn -0.654169857502 0.611067593098 -0.445710867643 +vn -0.654169857502 0.611067593098 -0.445710867643 +vn -0.923558056355 0.181594893336 -0.337733328342 +vn -0.882203221321 0.466355353594 0.065039306879 +vn -0.669882655144 0.495309412479 0.553105592728 +vn -0.526116251945 0.837725043297 0.146350353956 +vn -0.356608331203 0.911232411861 -0.206121206284 +vn -0.356608331203 0.911232411861 -0.206121206284 +vn -0.882203221321 0.466355353594 0.065039306879 +vn -0.669882655144 0.495309412479 0.553105592728 +vn -0.716297686100 -0.048545919359 0.696104109287 +vn -0.690679788589 -0.000778474496 0.723160266876 +vn -0.526116251945 0.837725043297 0.146350353956 +vn -0.526116251945 0.837725043297 0.146350353956 +vn -0.669882655144 0.495309412479 0.553105592728 +vn -0.716297686100 -0.048545919359 0.696104109287 +vn -0.356729805470 -0.570918679237 0.739456355572 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn -0.690679788589 -0.000778474496 0.723160266876 +vn -0.690679788589 -0.000778474496 0.723160266876 +vn -0.716297686100 -0.048545919359 0.696104109287 +vn -0.356729805470 -0.570918679237 0.739456355572 +vn -0.359494030476 -0.823143482208 0.439543902874 +vn 0.281914830208 -0.912322878838 0.296969711781 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn -0.008410177194 -0.786310911179 0.617773711681 +vn -0.356729805470 -0.570918679237 0.739456355572 +vn -0.359494030476 -0.823143482208 0.439543902874 +vn -0.452860146761 -0.891462624073 -0.014562929980 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn 0.281914830208 -0.912322878838 0.296969711781 +vn 0.281914830208 -0.912322878838 0.296969711781 +vn -0.359494030476 -0.823143482208 0.439543902874 +vn -0.452860146761 -0.891462624073 -0.014562929980 +vn -0.784745812416 -0.252164989710 0.566203892231 +vn -0.840265870094 -0.241866633296 0.485235869884 +vn -0.071583420038 -0.882299423218 0.465213447809 +vn -0.071583420038 -0.882299423218 0.465213447809 +vn -0.489775359631 -0.690809249878 0.531885921955 +vn -0.784745812416 -0.252164989710 0.566203892231 +vn -0.898592233658 0.382915318012 0.214261218905 +vn -0.686430990696 0.720295071602 -0.099937297404 +vn -0.840265870094 -0.241866633296 0.485235869884 +vn -0.840265870094 -0.241866633296 0.485235869884 +vn -0.784745812416 -0.252164989710 0.566203892231 +vn -0.898592233658 0.382915318012 0.214261218905 +vn -0.650007605553 0.666634500027 0.364813089371 +vn -0.342781454325 0.907233953476 -0.243777379394 +vn -0.686430990696 0.720295071602 -0.099937297404 +vn -0.686430990696 0.720295071602 -0.099937297404 +vn -0.898592233658 0.382915318012 0.214261218905 +vn -0.650007605553 0.666634500027 0.364813089371 +vn -0.313529968262 0.702443897724 0.638961255550 +vn -0.418460667133 0.901152551174 0.113202057779 +vn -0.342781454325 0.907233953476 -0.243777379394 +vn -0.342781454325 0.907233953476 -0.243777379394 +vn -0.650007605553 0.666634500027 0.364813089371 +vn -0.313529968262 0.702443897724 0.638961255550 +vn -0.291609972715 0.196503594518 0.936135649681 +vn -0.300787478685 0.223077714443 0.927234172821 +vn -0.418460667133 0.901152551174 0.113202057779 +vn -0.418460667133 0.901152551174 0.113202057779 +vn -0.313529968262 0.702443897724 0.638961255550 +vn -0.291609972715 0.196503594518 0.936135649681 +vn 0.027322886512 -0.366461753845 0.930031836033 +vn 0.193445131183 -0.664700031281 0.721632063389 +vn -0.300787478685 0.223077714443 0.927234172821 +vn -0.300787478685 0.223077714443 0.927234172821 +vn -0.291609972715 0.196503594518 0.936135649681 +vn 0.027322886512 -0.366461753845 0.930031836033 +vn -0.134772136807 -0.627485811710 0.766875505447 +vn 0.251126438379 -0.872303128242 0.419550597668 +vn 0.193445131183 -0.664700031281 0.721632063389 +vn 0.193445131183 -0.664700031281 0.721632063389 +vn 0.027322886512 -0.366461753845 0.930031836033 +vn -0.134772136807 -0.627485811710 0.766875505447 +vn -0.489775359631 -0.690809249878 0.531885921955 +vn -0.071583420038 -0.882299423218 0.465213447809 +vn 0.251126438379 -0.872303128242 0.419550597668 +vn 0.251126438379 -0.872303128242 0.419550597668 +vn -0.134772136807 -0.627485811710 0.766875505447 +vn -0.489775359631 -0.690809249878 0.531885921955 +vn 0.872482240200 -0.471308529377 0.129007905722 +vn 0.671369910240 -0.501542747021 0.545634746552 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn 0.654265940189 -0.755983114243 0.020631497726 +vn 0.872482240200 -0.471308529377 0.129007905722 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn 0.211761444807 0.976250410080 -0.045741431415 +vn 0.442690938711 0.830069482327 -0.339130282402 +vn 0.442690938711 0.830069482327 -0.339130282402 +vn 0.059762805700 0.789890289307 -0.610329151154 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn 0.442690938711 0.830069482327 -0.339130282402 +vn 0.939903497696 0.263156682253 -0.217554569244 +vn 0.717394471169 0.009258572012 -0.696605682373 +vn 0.717394471169 0.009258572012 -0.696605682373 +vn 0.059762805700 0.789890289307 -0.610329151154 +vn 0.442690938711 0.830069482327 -0.339130282402 +vn 0.717394471169 0.009258572012 -0.696605682373 +vn 0.939903497696 0.263156682253 -0.217554569244 +vn 0.872482240200 -0.471308529377 0.129007905722 +vn 0.872482240200 -0.471308529377 0.129007905722 +vn 0.654265940189 -0.755983114243 0.020631497726 +vn 0.717394471169 0.009258572012 -0.696605682373 +vn -0.434476226568 -0.280854701996 0.855775117874 +vn -0.007830149494 -0.295004695654 0.955463707447 +vn -0.083546750247 0.307561278343 0.947853386402 +vn -0.083546750247 0.307561278343 0.947853386402 +vn -0.577457189560 -0.013896662742 0.816302657127 +vn -0.434476226568 -0.280854701996 0.855775117874 +vn -0.577457189560 -0.013896662742 0.816302657127 +vn -0.083546750247 0.307561278343 0.947853386402 +vn -0.131474196911 0.695336520672 0.706556200981 +vn -0.131474196911 0.695336520672 0.706556200981 +vn -0.630089104176 0.398744553328 0.666326105595 +vn -0.577457189560 -0.013896662742 0.816302657127 +vn 0.477946668863 -0.420341253281 0.771284759045 +vn 0.671369910240 -0.501542747021 0.545634746552 +vn 0.831779718399 0.422522366047 0.360024124384 +vn 0.831779718399 0.422522366047 0.360024124384 +vn 0.563470244408 0.434554904699 0.702611804008 +vn 0.477946668863 -0.420341253281 0.771284759045 +vn -0.347150862217 -0.614471793175 0.708456575871 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn 0.671369910240 -0.501542747021 0.545634746552 +vn 0.671369910240 -0.501542747021 0.545634746552 +vn 0.477946668863 -0.420341253281 0.771284759045 +vn -0.347150862217 -0.614471793175 0.708456575871 +vn -0.686755061150 -0.134028151631 0.714425623417 +vn -0.582837760448 0.017110457644 0.812408387661 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn 0.086628310382 -0.763483464718 0.639991044998 +vn -0.347150862217 -0.614471793175 0.708456575871 +vn -0.686755061150 -0.134028151631 0.714425623417 +vn -0.750201165676 0.627852976322 0.207361668348 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn -0.582837760448 0.017110457644 0.812408387661 +vn -0.582837760448 0.017110457644 0.812408387661 +vn -0.686755061150 -0.134028151631 0.714425623417 +vn -0.750201165676 0.627852976322 0.207361668348 +vn 0.072813071311 0.950119674206 0.303266942501 +vn 0.211761444807 0.976250410080 -0.045741431415 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn -0.519856750965 0.852639913559 -0.052479960024 +vn -0.750201165676 0.627852976322 0.207361668348 +vn 0.072813071311 0.950119674206 0.303266942501 +vn 0.563470244408 0.434554904699 0.702611804008 +vn 0.831779718399 0.422522366047 0.360024124384 +vn 0.211761444807 0.976250410080 -0.045741431415 +vn 0.211761444807 0.976250410080 -0.045741431415 +vn 0.072813071311 0.950119674206 0.303266942501 +vn 0.563470244408 0.434554904699 0.702611804008 +vn -0.007830149494 -0.295004695654 0.955463707447 +vn 0.477946668863 -0.420341253281 0.771284759045 +vn 0.563470244408 0.434554904699 0.702611804008 +vn 0.563470244408 0.434554904699 0.702611804008 +vn -0.083546750247 0.307561278343 0.947853386402 +vn -0.007830149494 -0.295004695654 0.955463707447 +vn -0.434476226568 -0.280854701996 0.855775117874 +vn -0.347150862217 -0.614471793175 0.708456575871 +vn 0.477946668863 -0.420341253281 0.771284759045 +vn 0.477946668863 -0.420341253281 0.771284759045 +vn -0.007830149494 -0.295004695654 0.955463707447 +vn -0.434476226568 -0.280854701996 0.855775117874 +vn -0.577457189560 -0.013896662742 0.816302657127 +vn -0.686755061150 -0.134028151631 0.714425623417 +vn -0.347150862217 -0.614471793175 0.708456575871 +vn -0.347150862217 -0.614471793175 0.708456575871 +vn -0.434476226568 -0.280854701996 0.855775117874 +vn -0.577457189560 -0.013896662742 0.816302657127 +vn -0.630089104176 0.398744553328 0.666326105595 +vn -0.750201165676 0.627852976322 0.207361668348 +vn -0.686755061150 -0.134028151631 0.714425623417 +vn -0.686755061150 -0.134028151631 0.714425623417 +vn -0.577457189560 -0.013896662742 0.816302657127 +vn -0.630089104176 0.398744553328 0.666326105595 +vn -0.131474196911 0.695336520672 0.706556200981 +vn 0.072813071311 0.950119674206 0.303266942501 +vn -0.750201165676 0.627852976322 0.207361668348 +vn -0.750201165676 0.627852976322 0.207361668348 +vn -0.630089104176 0.398744553328 0.666326105595 +vn -0.131474196911 0.695336520672 0.706556200981 +vn -0.083546750247 0.307561278343 0.947853386402 +vn 0.563470244408 0.434554904699 0.702611804008 +vn 0.072813071311 0.950119674206 0.303266942501 +vn 0.072813071311 0.950119674206 0.303266942501 +vn -0.131474196911 0.695336520672 0.706556200981 +vn -0.083546750247 0.307561278343 0.947853386402 +vn -0.796449840069 -0.575604200363 -0.185330703855 +vn -0.706466317177 -0.613281667233 -0.353257507086 +vn -0.670601308346 -0.706431031227 -0.226382493973 +vn -0.670601308346 -0.706431031227 -0.226382493973 +vn -0.701268851757 -0.693833172321 -0.163760513067 +vn -0.796449840069 -0.575604200363 -0.185330703855 +vn -0.775762677193 -0.188441053033 -0.602231025696 +vn -0.723380565643 -0.383380830288 -0.574229657650 +vn -0.845550715923 -0.427685022354 -0.319577127695 +vn -0.845550715923 -0.427685022354 -0.319577127695 +vn -0.909171402454 -0.153872847557 -0.386950284243 +vn -0.775762677193 -0.188441053033 -0.602231025696 +vn -0.788561046124 -0.477070689201 -0.388040006161 +vn -0.706466317177 -0.613281667233 -0.353257507086 +vn -0.796449840069 -0.575604200363 -0.185330703855 +vn -0.796449840069 -0.575604200363 -0.185330703855 +vn -0.888054728508 -0.403473645449 -0.220381125808 +vn -0.788561046124 -0.477070689201 -0.388040006161 +vn 0.381070137024 0.377225160599 0.844089269638 +vn 0.371117204428 0.216821014881 0.902917861938 +vn 0.595785379410 0.316492557526 0.738154590130 +vn 0.595785379410 0.316492557526 0.738154590130 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.381070137024 0.377225160599 0.844089269638 +vn 0.595785379410 0.316492557526 0.738154590130 +vn 0.371117204428 0.216821014881 0.902917861938 +vn 0.220938414335 0.246594354510 0.943598151207 +vn 0.220938414335 0.246594354510 0.943598151207 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.595785379410 0.316492557526 0.738154590130 +vn 0.706088304520 0.278354465961 0.651120662689 +vn 0.668927371502 0.054616473615 0.741318523884 +vn 0.518878757954 0.427382588387 0.740343809128 +vn 0.518878757954 0.427382588387 0.740343809128 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.706088304520 0.278354465961 0.651120662689 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn 0.675440192223 -0.458956182003 0.577182590961 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn 0.222899302840 -0.961414158344 0.161241352558 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn -0.495899587870 0.820320844650 -0.284881204367 +vn 0.228585809469 0.971321880817 -0.065439939499 +vn 0.228585809469 0.971321880817 -0.065439939499 +vn 0.125691637397 0.965929806232 0.226232767105 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn 0.560475468636 -0.384606152773 0.733447611332 +vn 0.795773029327 -0.568661808968 0.208252415061 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn -0.273491442204 -0.824210345745 0.495862573385 +vn 0.560475468636 -0.384606152773 0.733447611332 +vn -0.654169857502 0.611067593098 -0.445710867643 +vn 0.234835863113 0.898671209812 -0.370462059975 +vn -0.103229515254 0.978088200092 0.180795833468 +vn -0.103229515254 0.978088200092 0.180795833468 +vn -0.825740158558 0.557865142822 -0.083304390311 +vn -0.654169857502 0.611067593098 -0.445710867643 +vn -0.103229515254 0.978088200092 0.180795833468 +vn 0.234835863113 0.898671209812 -0.370462059975 +vn 0.935081541538 0.343843042850 -0.085991114378 +vn 0.935081541538 0.343843042850 -0.085991114378 +vn 0.864156365395 0.421443611383 0.274989217520 +vn -0.103229515254 0.978088200092 0.180795833468 +vn 0.935081541538 0.343843042850 -0.085991114378 +vn 0.795773029327 -0.568661808968 0.208252415061 +vn 0.560475468636 -0.384606152773 0.733447611332 +vn 0.560475468636 -0.384606152773 0.733447611332 +vn 0.864156365395 0.421443611383 0.274989217520 +vn 0.935081541538 0.343843042850 -0.085991114378 +vn -0.273491442204 -0.824210345745 0.495862573385 +vn -0.012428311631 -0.972527623177 0.232455551624 +vn -0.859294295311 -0.489033728838 -0.149864375591 +vn -0.859294295311 -0.489033728838 -0.149864375591 +vn -0.924543797970 -0.378240644932 0.046398065984 +vn -0.273491442204 -0.824210345745 0.495862573385 +vn -0.859294295311 -0.489033728838 -0.149864375591 +vn -0.654169857502 0.611067593098 -0.445710867643 +vn -0.825740158558 0.557865142822 -0.083304390311 +vn -0.825740158558 0.557865142822 -0.083304390311 +vn -0.924543797970 -0.378240644932 0.046398065984 +vn -0.859294295311 -0.489033728838 -0.149864375591 +vn -0.298239111900 -0.830386161804 0.470650851727 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.552064001560 -0.510690867901 0.659105539322 +vn -0.298239111900 -0.830386161804 0.470650851727 +vn -0.869091689587 0.493450880051 -0.034437030554 +vn -0.143158808351 0.976085782051 -0.163591206074 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.188257768750 0.392298519611 0.900367081165 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.869091689587 0.493450880051 -0.034437030554 +vn 0.845170021057 0.302865654230 -0.440408945084 +vn 0.544627487659 0.529230535030 0.650611937046 +vn 0.188257768750 0.392298519611 0.900367081165 +vn 0.188257768750 0.392298519611 0.900367081165 +vn -0.143158808351 0.976085782051 -0.163591206074 +vn 0.845170021057 0.302865654230 -0.440408945084 +vn 0.845170021057 0.302865654230 -0.440408945084 +vn 0.552064001560 -0.510690867901 0.659105539322 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.544627487659 0.529230535030 0.650611937046 +vn 0.845170021057 0.302865654230 -0.440408945084 +vn -0.899286210537 -0.416854232550 0.132351279259 +vn -0.869091689587 0.493450880051 -0.034437030554 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.858372688293 -0.511320352554 -0.041807256639 +vn -0.899286210537 -0.416854232550 0.132351279259 +vn 0.917047142982 0.207954093814 -0.340264052153 +vn 0.483346670866 0.702270805836 -0.522677481174 +vn 0.275201112032 0.942345619202 -0.190391898155 +vn 0.275201112032 0.942345619202 -0.190391898155 +vn 0.845024704933 0.479537010193 0.236595571041 +vn 0.917047142982 0.207954093814 -0.340264052153 +vn 0.917628645897 -0.383898764849 0.102856516838 +vn 0.917047142982 0.207954093814 -0.340264052153 +vn 0.845024704933 0.479537010193 0.236595571041 +vn 0.845024704933 0.479537010193 0.236595571041 +vn 0.720661699772 -0.320666521788 0.614670395851 +vn 0.917628645897 -0.383898764849 0.102856516838 +vn 0.718797862530 -0.691185951233 0.074776910245 +vn -0.158099621534 -0.848514199257 0.505003094673 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn 0.750594854355 -0.659069657326 -0.047271598130 +vn 0.718797862530 -0.691185951233 0.074776910245 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn -0.714753448963 0.639174342155 -0.283872634172 +vn 0.137644410133 0.679225027561 -0.720907330513 +vn 0.137644410133 0.679225027561 -0.720907330513 +vn 0.183795481920 0.739516615868 -0.647560358047 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn 0.137644410133 0.679225027561 -0.720907330513 +vn 0.779980123043 -0.012368889526 -0.625682055950 +vn 0.800073266029 0.021300172433 -0.599524021149 +vn 0.800073266029 0.021300172433 -0.599524021149 +vn 0.183795481920 0.739516615868 -0.647560358047 +vn 0.137644410133 0.679225027561 -0.720907330513 +vn 0.800073266029 0.021300172433 -0.599524021149 +vn 0.779980123043 -0.012368889526 -0.625682055950 +vn 0.718797862530 -0.691185951233 0.074776910245 +vn 0.718797862530 -0.691185951233 0.074776910245 +vn 0.750594854355 -0.659069657326 -0.047271598130 +vn 0.800073266029 0.021300172433 -0.599524021149 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn -0.158099621534 -0.848514199257 0.505003094673 +vn -0.935787856579 -0.153255134821 0.317512065172 +vn -0.935787856579 -0.153255134821 0.317512065172 +vn -0.716074943542 0.144961029291 0.682805240154 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn -0.935787856579 -0.153255134821 0.317512065172 +vn -0.714753448963 0.639174342155 -0.283872634172 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn -0.716074943542 0.144961029291 0.682805240154 +vn -0.935787856579 -0.153255134821 0.317512065172 +vn 0.673219799995 -0.736139237881 0.069814592600 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn 0.217625066638 -0.362255036831 0.906317055225 +vn 0.217625066638 -0.362255036831 0.906317055225 +vn 0.575929820538 -0.817486464977 0.004545534495 +vn 0.673219799995 -0.736139237881 0.069814592600 +vn -0.429535895586 0.902928054333 0.014827483334 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn 0.053827662021 0.628712534904 -0.775772631168 +vn 0.053827662021 0.628712534904 -0.775772631168 +vn -0.079140819609 0.539121925831 -0.838501214981 +vn -0.429535895586 0.902928054333 0.014827483334 +vn 0.053827662021 0.628712534904 -0.775772631168 +vn 0.606436192989 -0.167024254799 -0.777391850948 +vn 0.413201630116 -0.293350487947 -0.862096250057 +vn 0.413201630116 -0.293350487947 -0.862096250057 +vn -0.079140819609 0.539121925831 -0.838501214981 +vn 0.053827662021 0.628712534904 -0.775772631168 +vn 0.413201630116 -0.293350487947 -0.862096250057 +vn 0.606436192989 -0.167024254799 -0.777391850948 +vn 0.673219799995 -0.736139237881 0.069814592600 +vn 0.673219799995 -0.736139237881 0.069814592600 +vn 0.575929820538 -0.817486464977 0.004545534495 +vn 0.413201630116 -0.293350487947 -0.862096250057 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn -0.441782504320 0.297333627939 0.846416532993 +vn -0.274307638407 0.453335881233 0.848081290722 +vn -0.274307638407 0.453335881233 0.848081290722 +vn 0.217625066638 -0.362255036831 0.906317055225 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn -0.274307638407 0.453335881233 0.848081290722 +vn -0.441782504320 0.297333627939 0.846416532993 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn -0.429535895586 0.902928054333 0.014827483334 +vn -0.274307638407 0.453335881233 0.848081290722 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn 0.744623959064 -0.667047798634 -0.024132670835 +vn 0.760725796223 -0.609730362892 -0.222542375326 +vn 0.760725796223 -0.609730362892 -0.222542375326 +vn 0.293518781662 -0.907126367092 0.301609754562 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn 0.082621961832 0.478565484285 -0.874155998230 +vn -0.732530832291 0.579060792923 -0.357892721891 +vn -0.372731298208 0.847431004047 -0.378063619137 +vn -0.372731298208 0.847431004047 -0.378063619137 +vn 0.314878374338 0.648127079010 -0.693385124207 +vn 0.082621961832 0.478565484285 -0.874155998230 +vn 0.633280694485 -0.109367601573 -0.766155540943 +vn 0.082621961832 0.478565484285 -0.874155998230 +vn 0.314878374338 0.648127079010 -0.693385124207 +vn 0.314878374338 0.648127079010 -0.693385124207 +vn 0.801216185093 -0.015416327864 -0.598176360130 +vn 0.633280694485 -0.109367601573 -0.766155540943 +vn 0.744623959064 -0.667047798634 -0.024132670835 +vn 0.633280694485 -0.109367601573 -0.766155540943 +vn 0.801216185093 -0.015416327864 -0.598176360130 +vn 0.801216185093 -0.015416327864 -0.598176360130 +vn 0.760725796223 -0.609730362892 -0.222542375326 +vn 0.744623959064 -0.667047798634 -0.024132670835 +vn -0.929514527321 -0.149202257395 0.337255775928 +vn -0.696559727192 -0.627136945724 0.348573863506 +vn -0.381968259811 -0.541032910347 0.749255359173 +vn -0.381968259811 -0.541032910347 0.749255359173 +vn -0.779098629951 0.083139143884 0.621363997459 +vn -0.929514527321 -0.149202257395 0.337255775928 +vn -0.925961256027 0.377290695906 0.015729881823 +vn -0.929514527321 -0.149202257395 0.337255775928 +vn -0.779098629951 0.083139143884 0.621363997459 +vn -0.779098629951 0.083139143884 0.621363997459 +vn -0.768828213215 0.621080696583 0.152190640569 +vn -0.925961256027 0.377290695906 0.015729881823 +vn 0.293518781662 -0.907126367092 0.301609754562 +vn 0.760725796223 -0.609730362892 -0.222542375326 +vn 0.750594854355 -0.659069657326 -0.047271598130 +vn 0.750594854355 -0.659069657326 -0.047271598130 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn 0.293518781662 -0.907126367092 0.301609754562 +vn 0.314878374338 0.648127079010 -0.693385124207 +vn -0.372731298208 0.847431004047 -0.378063619137 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn 0.183795481920 0.739516615868 -0.647560358047 +vn 0.314878374338 0.648127079010 -0.693385124207 +vn 0.801216185093 -0.015416327864 -0.598176360130 +vn 0.314878374338 0.648127079010 -0.693385124207 +vn 0.183795481920 0.739516615868 -0.647560358047 +vn 0.183795481920 0.739516615868 -0.647560358047 +vn 0.800073266029 0.021300172433 -0.599524021149 +vn 0.801216185093 -0.015416327864 -0.598176360130 +vn 0.760725796223 -0.609730362892 -0.222542375326 +vn 0.801216185093 -0.015416327864 -0.598176360130 +vn 0.800073266029 0.021300172433 -0.599524021149 +vn 0.800073266029 0.021300172433 -0.599524021149 +vn 0.750594854355 -0.659069657326 -0.047271598130 +vn 0.760725796223 -0.609730362892 -0.222542375326 +vn -0.779098629951 0.083139143884 0.621363997459 +vn -0.381968259811 -0.541032910347 0.749255359173 +vn -0.303740888834 -0.252504259348 0.918685495853 +vn -0.303740888834 -0.252504259348 0.918685495853 +vn -0.614867448807 0.221208631992 0.756970763206 +vn -0.779098629951 0.083139143884 0.621363997459 +vn -0.768828213215 0.621080696583 0.152190640569 +vn -0.779098629951 0.083139143884 0.621363997459 +vn -0.614867448807 0.221208631992 0.756970763206 +vn -0.614867448807 0.221208631992 0.756970763206 +vn -0.600362479687 0.620171487331 0.504927933216 +vn -0.768828213215 0.621080696583 0.152190640569 +vn -0.158099621534 -0.848514199257 0.505003094673 +vn 0.718797862530 -0.691185951233 0.074776910245 +vn 0.615144014359 -0.778381824493 -0.125377655029 +vn 0.615144014359 -0.778381824493 -0.125377655029 +vn 0.242346301675 -0.785019755363 0.570098459721 +vn -0.158099621534 -0.848514199257 0.505003094673 +vn 0.137644410133 0.679225027561 -0.720907330513 +vn -0.714753448963 0.639174342155 -0.283872634172 +vn -0.337008565664 0.844721615314 -0.415777087212 +vn -0.337008565664 0.844721615314 -0.415777087212 +vn 0.157137870789 0.549231410027 -0.820763409138 +vn 0.137644410133 0.679225027561 -0.720907330513 +vn 0.779980123043 -0.012368889526 -0.625682055950 +vn 0.137644410133 0.679225027561 -0.720907330513 +vn 0.157137870789 0.549231410027 -0.820763409138 +vn 0.157137870789 0.549231410027 -0.820763409138 +vn 0.555945277214 -0.210566222668 -0.804106175900 +vn 0.779980123043 -0.012368889526 -0.625682055950 +vn 0.718797862530 -0.691185951233 0.074776910245 +vn 0.779980123043 -0.012368889526 -0.625682055950 +vn 0.555945277214 -0.210566222668 -0.804106175900 +vn 0.555945277214 -0.210566222668 -0.804106175900 +vn 0.615144014359 -0.778381824493 -0.125377655029 +vn 0.718797862530 -0.691185951233 0.074776910245 +vn -0.930642664433 -0.119538858533 0.345853626728 +vn -0.702686250210 -0.592057228088 0.394588679075 +vn -0.339470773935 -0.405748128891 0.848603606224 +vn -0.339470773935 -0.405748128891 0.848603606224 +vn -0.722877025604 0.172329545021 0.669142186642 +vn -0.930642664433 -0.119538858533 0.345853626728 +vn -0.934488713741 0.355977147818 0.003339467803 +vn -0.930642664433 -0.119538858533 0.345853626728 +vn -0.722877025604 0.172329545021 0.669142186642 +vn -0.722877025604 0.172329545021 0.669142186642 +vn -0.714815974236 0.677176654339 0.174556314945 +vn -0.934488713741 0.355977147818 0.003339467803 +vn 0.242346301675 -0.785019755363 0.570098459721 +vn 0.615144014359 -0.778381824493 -0.125377655029 +vn 0.575929820538 -0.817486464977 0.004545534495 +vn 0.575929820538 -0.817486464977 0.004545534495 +vn 0.217625066638 -0.362255036831 0.906317055225 +vn 0.242346301675 -0.785019755363 0.570098459721 +vn 0.157137870789 0.549231410027 -0.820763409138 +vn -0.337008565664 0.844721615314 -0.415777087212 +vn -0.429535895586 0.902928054333 0.014827483334 +vn -0.429535895586 0.902928054333 0.014827483334 +vn -0.079140819609 0.539121925831 -0.838501214981 +vn 0.157137870789 0.549231410027 -0.820763409138 +vn 0.555945277214 -0.210566222668 -0.804106175900 +vn 0.157137870789 0.549231410027 -0.820763409138 +vn -0.079140819609 0.539121925831 -0.838501214981 +vn -0.079140819609 0.539121925831 -0.838501214981 +vn 0.413201630116 -0.293350487947 -0.862096250057 +vn 0.555945277214 -0.210566222668 -0.804106175900 +vn 0.615144014359 -0.778381824493 -0.125377655029 +vn 0.555945277214 -0.210566222668 -0.804106175900 +vn 0.413201630116 -0.293350487947 -0.862096250057 +vn 0.413201630116 -0.293350487947 -0.862096250057 +vn 0.575929820538 -0.817486464977 0.004545534495 +vn 0.615144014359 -0.778381824493 -0.125377655029 +vn -0.722877025604 0.172329545021 0.669142186642 +vn -0.339470773935 -0.405748128891 0.848603606224 +vn -0.104366108775 -0.074760586023 0.991725027561 +vn -0.104366108775 -0.074760586023 0.991725027561 +vn -0.396692723036 0.409319311380 0.821640193462 +vn -0.722877025604 0.172329545021 0.669142186642 +vn -0.714815974236 0.677176654339 0.174556314945 +vn -0.722877025604 0.172329545021 0.669142186642 +vn -0.396692723036 0.409319311380 0.821640193462 +vn -0.396692723036 0.409319311380 0.821640193462 +vn -0.356412112713 0.766799211502 0.533843994141 +vn -0.714815974236 0.677176654339 0.174556314945 +vn -0.929514527321 -0.149202257395 0.337255775928 +vn -0.948099553585 -0.283545225859 0.143907278776 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn -0.696559727192 -0.627136945724 0.348573863506 +vn -0.929514527321 -0.149202257395 0.337255775928 +vn -0.925961256027 0.377290695906 0.015729881823 +vn -0.732530832291 0.579060792923 -0.357892721891 +vn -0.948099553585 -0.283545225859 0.143907278776 +vn -0.948099553585 -0.283545225859 0.143907278776 +vn -0.929514527321 -0.149202257395 0.337255775928 +vn -0.925961256027 0.377290695906 0.015729881823 +vn -0.768828213215 0.621080696583 0.152190640569 +vn -0.372731298208 0.847431004047 -0.378063619137 +vn -0.732530832291 0.579060792923 -0.357892721891 +vn -0.732530832291 0.579060792923 -0.357892721891 +vn -0.925961256027 0.377290695906 0.015729881823 +vn -0.768828213215 0.621080696583 0.152190640569 +vn -0.600362479687 0.620171487331 0.504927933216 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn -0.372731298208 0.847431004047 -0.378063619137 +vn -0.372731298208 0.847431004047 -0.378063619137 +vn -0.768828213215 0.621080696583 0.152190640569 +vn -0.600362479687 0.620171487331 0.504927933216 +vn -0.614867448807 0.221208631992 0.756970763206 +vn -0.716074943542 0.144961029291 0.682805240154 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn -0.584914922714 0.809603810310 -0.049154900014 +vn -0.600362479687 0.620171487331 0.504927933216 +vn -0.614867448807 0.221208631992 0.756970763206 +vn -0.303740888834 -0.252504259348 0.918685495853 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn -0.716074943542 0.144961029291 0.682805240154 +vn -0.716074943542 0.144961029291 0.682805240154 +vn -0.614867448807 0.221208631992 0.756970763206 +vn -0.303740888834 -0.252504259348 0.918685495853 +vn -0.381968259811 -0.541032910347 0.749255359173 +vn 0.293518781662 -0.907126367092 0.301609754562 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn 0.050791967660 -0.655888438225 0.753147065639 +vn -0.303740888834 -0.252504259348 0.918685495853 +vn -0.381968259811 -0.541032910347 0.749255359173 +vn -0.696559727192 -0.627136945724 0.348573863506 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn 0.293518781662 -0.907126367092 0.301609754562 +vn 0.293518781662 -0.907126367092 0.301609754562 +vn -0.381968259811 -0.541032910347 0.749255359173 +vn -0.696559727192 -0.627136945724 0.348573863506 +vn -0.930642664433 -0.119538858533 0.345853626728 +vn -0.935787856579 -0.153255134821 0.317512065172 +vn -0.158099621534 -0.848514199257 0.505003094673 +vn -0.158099621534 -0.848514199257 0.505003094673 +vn -0.702686250210 -0.592057228088 0.394588679075 +vn -0.930642664433 -0.119538858533 0.345853626728 +vn -0.934488713741 0.355977147818 0.003339467803 +vn -0.714753448963 0.639174342155 -0.283872634172 +vn -0.935787856579 -0.153255134821 0.317512065172 +vn -0.935787856579 -0.153255134821 0.317512065172 +vn -0.930642664433 -0.119538858533 0.345853626728 +vn -0.934488713741 0.355977147818 0.003339467803 +vn -0.714815974236 0.677176654339 0.174556314945 +vn -0.337008565664 0.844721615314 -0.415777087212 +vn -0.714753448963 0.639174342155 -0.283872634172 +vn -0.714753448963 0.639174342155 -0.283872634172 +vn -0.934488713741 0.355977147818 0.003339467803 +vn -0.714815974236 0.677176654339 0.174556314945 +vn -0.356412112713 0.766799211502 0.533843994141 +vn -0.429535895586 0.902928054333 0.014827483334 +vn -0.337008565664 0.844721615314 -0.415777087212 +vn -0.337008565664 0.844721615314 -0.415777087212 +vn -0.714815974236 0.677176654339 0.174556314945 +vn -0.356412112713 0.766799211502 0.533843994141 +vn -0.396692723036 0.409319311380 0.821640193462 +vn -0.274307638407 0.453335881233 0.848081290722 +vn -0.429535895586 0.902928054333 0.014827483334 +vn -0.429535895586 0.902928054333 0.014827483334 +vn -0.356412112713 0.766799211502 0.533843994141 +vn -0.396692723036 0.409319311380 0.821640193462 +vn -0.104366108775 -0.074760586023 0.991725027561 +vn 0.217625066638 -0.362255036831 0.906317055225 +vn -0.274307638407 0.453335881233 0.848081290722 +vn -0.274307638407 0.453335881233 0.848081290722 +vn -0.396692723036 0.409319311380 0.821640193462 +vn -0.104366108775 -0.074760586023 0.991725027561 +vn -0.339470773935 -0.405748128891 0.848603606224 +vn 0.242346301675 -0.785019755363 0.570098459721 +vn 0.217625066638 -0.362255036831 0.906317055225 +vn 0.217625066638 -0.362255036831 0.906317055225 +vn -0.104366108775 -0.074760586023 0.991725027561 +vn -0.339470773935 -0.405748128891 0.848603606224 +vn -0.702686250210 -0.592057228088 0.394588679075 +vn -0.158099621534 -0.848514199257 0.505003094673 +vn 0.242346301675 -0.785019755363 0.570098459721 +vn 0.242346301675 -0.785019755363 0.570098459721 +vn -0.339470773935 -0.405748128891 0.848603606224 +vn -0.702686250210 -0.592057228088 0.394588679075 +vn 0.917628645897 -0.383898764849 0.102856516838 +vn 0.720661699772 -0.320666521788 0.614670395851 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn 0.673219799995 -0.736139237881 0.069814592600 +vn 0.917628645897 -0.383898764849 0.102856516838 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn 0.275201112032 0.942345619202 -0.190391898155 +vn 0.483346670866 0.702270805836 -0.522677481174 +vn 0.483346670866 0.702270805836 -0.522677481174 +vn 0.053827662021 0.628712534904 -0.775772631168 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn 0.483346670866 0.702270805836 -0.522677481174 +vn 0.917047142982 0.207954093814 -0.340264052153 +vn 0.606436192989 -0.167024254799 -0.777391850948 +vn 0.606436192989 -0.167024254799 -0.777391850948 +vn 0.053827662021 0.628712534904 -0.775772631168 +vn 0.483346670866 0.702270805836 -0.522677481174 +vn 0.606436192989 -0.167024254799 -0.777391850948 +vn 0.917047142982 0.207954093814 -0.340264052153 +vn 0.917628645897 -0.383898764849 0.102856516838 +vn 0.917628645897 -0.383898764849 0.102856516838 +vn 0.673219799995 -0.736139237881 0.069814592600 +vn 0.606436192989 -0.167024254799 -0.777391850948 +vn -0.364090979099 0.029598439112 0.930892944336 +vn 0.024463318288 -0.011137106456 0.999638676643 +vn 0.030472742394 0.502272367477 0.864172399044 +vn 0.030472742394 0.502272367477 0.864172399044 +vn -0.411388903856 0.236352607608 0.880282104015 +vn -0.364090979099 0.029598439112 0.930892944336 +vn -0.411388903856 0.236352607608 0.880282104015 +vn 0.030472742394 0.502272367477 0.864172399044 +vn 0.048600327224 0.791139721870 0.609701573849 +vn 0.048600327224 0.791139721870 0.609701573849 +vn -0.491668075323 0.542922973633 0.680806279182 +vn -0.411388903856 0.236352607608 0.880282104015 +vn 0.488979995251 -0.171528041363 0.855264127254 +vn 0.720661699772 -0.320666521788 0.614670395851 +vn 0.845024704933 0.479537010193 0.236595571041 +vn 0.845024704933 0.479537010193 0.236595571041 +vn 0.620835781097 0.549651503563 0.558968842030 +vn 0.488979995251 -0.171528041363 0.855264127254 +vn -0.317777812481 -0.270505011082 0.908759772778 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn 0.720661699772 -0.320666521788 0.614670395851 +vn 0.720661699772 -0.320666521788 0.614670395851 +vn 0.488979995251 -0.171528041363 0.855264127254 +vn -0.317777812481 -0.270505011082 0.908759772778 +vn -0.505450129509 0.167936429381 0.846355438232 +vn -0.441782504320 0.297333627939 0.846416532993 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn 0.181036546826 -0.475809484720 0.860715448856 +vn -0.317777812481 -0.270505011082 0.908759772778 +vn -0.505450129509 0.167936429381 0.846355438232 +vn -0.667333602905 0.709663510323 0.225928291678 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn -0.441782504320 0.297333627939 0.846416532993 +vn -0.441782504320 0.297333627939 0.846416532993 +vn -0.505450129509 0.167936429381 0.846355438232 +vn -0.667333602905 0.709663510323 0.225928291678 +vn 0.184340089560 0.964558541775 0.188800379634 +vn 0.275201112032 0.942345619202 -0.190391898155 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn -0.468466967344 0.873695731163 -0.131127700210 +vn -0.667333602905 0.709663510323 0.225928291678 +vn 0.184340089560 0.964558541775 0.188800379634 +vn 0.620835781097 0.549651503563 0.558968842030 +vn 0.845024704933 0.479537010193 0.236595571041 +vn 0.275201112032 0.942345619202 -0.190391898155 +vn 0.275201112032 0.942345619202 -0.190391898155 +vn 0.184340089560 0.964558541775 0.188800379634 +vn 0.620835781097 0.549651503563 0.558968842030 +vn 0.024463318288 -0.011137106456 0.999638676643 +vn 0.488979995251 -0.171528041363 0.855264127254 +vn 0.620835781097 0.549651503563 0.558968842030 +vn 0.620835781097 0.549651503563 0.558968842030 +vn 0.030472742394 0.502272367477 0.864172399044 +vn 0.024463318288 -0.011137106456 0.999638676643 +vn -0.364090979099 0.029598439112 0.930892944336 +vn -0.317777812481 -0.270505011082 0.908759772778 +vn 0.488979995251 -0.171528041363 0.855264127254 +vn 0.488979995251 -0.171528041363 0.855264127254 +vn 0.024463318288 -0.011137106456 0.999638676643 +vn -0.364090979099 0.029598439112 0.930892944336 +vn -0.411388903856 0.236352607608 0.880282104015 +vn -0.505450129509 0.167936429381 0.846355438232 +vn -0.317777812481 -0.270505011082 0.908759772778 +vn -0.317777812481 -0.270505011082 0.908759772778 +vn -0.364090979099 0.029598439112 0.930892944336 +vn -0.411388903856 0.236352607608 0.880282104015 +vn -0.491668075323 0.542922973633 0.680806279182 +vn -0.667333602905 0.709663510323 0.225928291678 +vn -0.505450129509 0.167936429381 0.846355438232 +vn -0.505450129509 0.167936429381 0.846355438232 +vn -0.411388903856 0.236352607608 0.880282104015 +vn -0.491668075323 0.542922973633 0.680806279182 +vn 0.048600327224 0.791139721870 0.609701573849 +vn 0.184340089560 0.964558541775 0.188800379634 +vn -0.667333602905 0.709663510323 0.225928291678 +vn -0.667333602905 0.709663510323 0.225928291678 +vn -0.491668075323 0.542922973633 0.680806279182 +vn 0.048600327224 0.791139721870 0.609701573849 +vn 0.030472742394 0.502272367477 0.864172399044 +vn 0.620835781097 0.549651503563 0.558968842030 +vn 0.184340089560 0.964558541775 0.188800379634 +vn 0.184340089560 0.964558541775 0.188800379634 +vn 0.048600327224 0.791139721870 0.609701573849 +vn 0.030472742394 0.502272367477 0.864172399044 +vn 0.552064001560 -0.510690867901 0.659105539322 +vn 0.744623959064 -0.667047798634 -0.024132670835 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn -0.298239111900 -0.830386161804 0.470650851727 +vn 0.552064001560 -0.510690867901 0.659105539322 +vn -0.732530832291 0.579060792923 -0.357892721891 +vn 0.082621961832 0.478565484285 -0.874155998230 +vn -0.143158808351 0.976085782051 -0.163591206074 +vn -0.143158808351 0.976085782051 -0.163591206074 +vn -0.869091689587 0.493450880051 -0.034437030554 +vn -0.732530832291 0.579060792923 -0.357892721891 +vn -0.143158808351 0.976085782051 -0.163591206074 +vn 0.082621961832 0.478565484285 -0.874155998230 +vn 0.633280694485 -0.109367601573 -0.766155540943 +vn 0.633280694485 -0.109367601573 -0.766155540943 +vn 0.845170021057 0.302865654230 -0.440408945084 +vn -0.143158808351 0.976085782051 -0.163591206074 +vn 0.633280694485 -0.109367601573 -0.766155540943 +vn 0.744623959064 -0.667047798634 -0.024132670835 +vn 0.552064001560 -0.510690867901 0.659105539322 +vn 0.552064001560 -0.510690867901 0.659105539322 +vn 0.845170021057 0.302865654230 -0.440408945084 +vn 0.633280694485 -0.109367601573 -0.766155540943 +vn -0.298239111900 -0.830386161804 0.470650851727 +vn -0.165316551924 -0.941744863987 0.292894333601 +vn -0.948099553585 -0.283545225859 0.143907278776 +vn -0.948099553585 -0.283545225859 0.143907278776 +vn -0.899286210537 -0.416854232550 0.132351279259 +vn -0.298239111900 -0.830386161804 0.470650851727 +vn -0.948099553585 -0.283545225859 0.143907278776 +vn -0.732530832291 0.579060792923 -0.357892721891 +vn -0.869091689587 0.493450880051 -0.034437030554 +vn -0.869091689587 0.493450880051 -0.034437030554 +vn -0.899286210537 -0.416854232550 0.132351279259 +vn -0.948099553585 -0.283545225859 0.143907278776 +vn 0.111688241363 -0.954437494278 0.276721477509 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn 0.675440192223 -0.458956182003 0.577182590961 +vn 0.675440192223 -0.458956182003 0.577182590961 +vn 0.818376600742 -0.401787668467 0.410884916782 +vn 0.111688241363 -0.954437494278 0.276721477509 +vn -0.886659443378 0.442658960819 -0.133746445179 +vn -0.243232712150 0.967023551464 0.075520321727 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.221887230873 0.512353301048 0.829614460468 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.886659443378 0.442658960819 -0.133746445179 +vn 0.842137992382 0.517580270767 0.151374444366 +vn 0.706088304520 0.278354465961 0.651120662689 +vn 0.221887230873 0.512353301048 0.829614460468 +vn 0.221887230873 0.512353301048 0.829614460468 +vn -0.243232712150 0.967023551464 0.075520321727 +vn 0.842137992382 0.517580270767 0.151374444366 +vn 0.842137992382 0.517580270767 0.151374444366 +vn 0.818376600742 -0.401787668467 0.410884916782 +vn 0.675440192223 -0.458956182003 0.577182590961 +vn 0.675440192223 -0.458956182003 0.577182590961 +vn 0.706088304520 0.278354465961 0.651120662689 +vn 0.842137992382 0.517580270767 0.151374444366 +vn -0.726776778698 -0.684764206409 -0.053791709244 +vn -0.667753398418 -0.732233583927 0.133938133717 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn 0.111688241363 -0.954437494278 0.276721477509 +vn -0.726776778698 -0.684764206409 -0.053791709244 +vn -0.726776778698 -0.684764206409 -0.053791709244 +vn -0.886659443378 0.442658960819 -0.133746445179 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.667753398418 -0.732233583927 0.133938133717 +vn -0.726776778698 -0.684764206409 -0.053791709244 +vn 0.873983740807 0.479939311743 -0.076227970421 +vn 0.305667221546 0.945262253284 -0.114222683012 +vn -0.067432902753 0.981908500195 0.176942050457 +vn -0.067432902753 0.981908500195 0.176942050457 +vn 0.689539670944 0.551088571548 0.469932347536 +vn 0.873983740807 0.479939311743 -0.076227970421 +vn 0.971413433552 -0.198218494654 0.130634292960 +vn 0.873983740807 0.479939311743 -0.076227970421 +vn 0.689539670944 0.551088571548 0.469932347536 +vn 0.689539670944 0.551088571548 0.469932347536 +vn 0.785614967346 -0.286049783230 0.548620700836 +vn 0.971413433552 -0.198218494654 0.130634292960 +vn 0.884581148624 -0.462744623423 -0.058168973774 +vn 0.191624388099 -0.923793375492 0.331490367651 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn 0.937493324280 -0.345414757729 -0.042365852743 +vn 0.884581148624 -0.462744623423 -0.058168973774 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.926037192345 0.371895700693 0.064410530031 +vn -0.335760802031 0.784725189209 -0.521028876305 +vn -0.335760802031 0.784725189209 -0.521028876305 +vn -0.275824129581 0.797233998775 -0.536972105503 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.335760802031 0.784725189209 -0.521028876305 +vn 0.640085756779 0.425537496805 -0.639693737030 +vn 0.665448784828 0.485600709915 -0.566894888878 +vn 0.665448784828 0.485600709915 -0.566894888878 +vn -0.275824129581 0.797233998775 -0.536972105503 +vn -0.335760802031 0.784725189209 -0.521028876305 +vn 0.665448784828 0.485600709915 -0.566894888878 +vn 0.640085756779 0.425537496805 -0.639693737030 +vn 0.884581148624 -0.462744623423 -0.058168973774 +vn 0.884581148624 -0.462744623423 -0.058168973774 +vn 0.937493324280 -0.345414757729 -0.042365852743 +vn 0.665448784828 0.485600709915 -0.566894888878 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn 0.191624388099 -0.923793375492 0.331490367651 +vn -0.698240220547 -0.517006635666 0.495141148567 +vn -0.698240220547 -0.517006635666 0.495141148567 +vn -0.579639554024 -0.263481736183 0.771100103855 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn -0.698240220547 -0.517006635666 0.495141148567 +vn -0.926037192345 0.371895700693 0.064410530031 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.579639554024 -0.263481736183 0.771100103855 +vn -0.698240220547 -0.517006635666 0.495141148567 +vn 0.840784430504 -0.537654459476 -0.063318446279 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn 0.339785724878 -0.630825996399 0.697570264339 +vn 0.339785724878 -0.630825996399 0.697570264339 +vn 0.793244004250 -0.584889531136 -0.169316813350 +vn 0.840784430504 -0.537654459476 -0.063318446279 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.757342994213 0.639263868332 0.133316561580 +vn -0.137136697769 0.888346493244 -0.438216865063 +vn -0.137136697769 0.888346493244 -0.438216865063 +vn -0.317595332861 0.768381953239 -0.555627942085 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.137136697769 0.888346493244 -0.438216865063 +vn 0.716986238956 0.239118993282 -0.654792249203 +vn 0.499564975500 0.111929893494 -0.859014868736 +vn 0.499564975500 0.111929893494 -0.859014868736 +vn -0.317595332861 0.768381953239 -0.555627942085 +vn -0.137136697769 0.888346493244 -0.438216865063 +vn 0.499564975500 0.111929893494 -0.859014868736 +vn 0.716986238956 0.239118993282 -0.654792249203 +vn 0.840784430504 -0.537654459476 -0.063318446279 +vn 0.840784430504 -0.537654459476 -0.063318446279 +vn 0.793244004250 -0.584889531136 -0.169316813350 +vn 0.499564975500 0.111929893494 -0.859014868736 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn -0.601199984550 -0.264719158411 0.753977715969 +vn -0.438034206629 -0.038588356227 0.898129701614 +vn -0.438034206629 -0.038588356227 0.898129701614 +vn 0.339785724878 -0.630825996399 0.697570264339 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn -0.438034206629 -0.038588356227 0.898129701614 +vn -0.601199984550 -0.264719158411 0.753977715969 +vn -0.757342994213 0.639263868332 0.133316561580 +vn -0.757342994213 0.639263868332 0.133316561580 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.438034206629 -0.038588356227 0.898129701614 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn 0.847369909286 -0.431685984135 0.309211075306 +vn 0.946458578110 -0.312835901976 -0.079685956240 +vn 0.946458578110 -0.312835901976 -0.079685956240 +vn 0.508111000061 -0.792860507965 0.336445242167 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn -0.115772135556 0.916144967079 -0.383764445782 +vn -0.817223966122 0.438406974077 -0.374091386795 +vn -0.685728549957 0.718560576439 -0.115961268544 +vn -0.685728549957 0.718560576439 -0.115961268544 +vn -0.084731951356 0.879110991955 -0.469024926424 +vn -0.115772135556 0.916144967079 -0.383764445782 +vn 0.857951998711 0.502564668655 -0.106523200870 +vn -0.115772135556 0.916144967079 -0.383764445782 +vn -0.084731951356 0.879110991955 -0.469024926424 +vn -0.084731951356 0.879110991955 -0.469024926424 +vn 0.678748965263 0.523606896400 -0.514913320541 +vn 0.857951998711 0.502564668655 -0.106523200870 +vn 0.847369909286 -0.431685984135 0.309211075306 +vn 0.857951998711 0.502564668655 -0.106523200870 +vn 0.678748965263 0.523606896400 -0.514913320541 +vn 0.678748965263 0.523606896400 -0.514913320541 +vn 0.946458578110 -0.312835901976 -0.079685956240 +vn 0.847369909286 -0.431685984135 0.309211075306 +vn -0.713030219078 -0.700323402882 -0.033689942211 +vn -0.238086134195 -0.970914840698 -0.025286355987 +vn -0.156016990542 -0.835193991661 0.527361035347 +vn -0.156016990542 -0.835193991661 0.527361035347 +vn -0.746901273727 -0.482674479485 0.457344383001 +vn -0.713030219078 -0.700323402882 -0.033689942211 +vn -0.968837380409 -0.045421116054 -0.243497610092 +vn -0.713030219078 -0.700323402882 -0.033689942211 +vn -0.746901273727 -0.482674479485 0.457344383001 +vn -0.746901273727 -0.482674479485 0.457344383001 +vn -0.964621126652 0.160373017192 0.209252431989 +vn -0.968837380409 -0.045421116054 -0.243497610092 +vn 0.508111000061 -0.792860507965 0.336445242167 +vn 0.946458578110 -0.312835901976 -0.079685956240 +vn 0.937493324280 -0.345414757729 -0.042365852743 +vn 0.937493324280 -0.345414757729 -0.042365852743 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn 0.508111000061 -0.792860507965 0.336445242167 +vn -0.084731951356 0.879110991955 -0.469024926424 +vn -0.685728549957 0.718560576439 -0.115961268544 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.275824129581 0.797233998775 -0.536972105503 +vn -0.084731951356 0.879110991955 -0.469024926424 +vn 0.678748965263 0.523606896400 -0.514913320541 +vn -0.084731951356 0.879110991955 -0.469024926424 +vn -0.275824129581 0.797233998775 -0.536972105503 +vn -0.275824129581 0.797233998775 -0.536972105503 +vn 0.665448784828 0.485600709915 -0.566894888878 +vn 0.678748965263 0.523606896400 -0.514913320541 +vn 0.946458578110 -0.312835901976 -0.079685956240 +vn 0.678748965263 0.523606896400 -0.514913320541 +vn 0.665448784828 0.485600709915 -0.566894888878 +vn 0.665448784828 0.485600709915 -0.566894888878 +vn 0.937493324280 -0.345414757729 -0.042365852743 +vn 0.946458578110 -0.312835901976 -0.079685956240 +vn -0.746901273727 -0.482674479485 0.457344383001 +vn -0.156016990542 -0.835193991661 0.527361035347 +vn -0.162624269724 -0.590079188347 0.790796995163 +vn -0.162624269724 -0.590079188347 0.790796995163 +vn -0.625793576241 -0.278895854950 0.728422582150 +vn -0.746901273727 -0.482674479485 0.457344383001 +vn -0.964621126652 0.160373017192 0.209252431989 +vn -0.746901273727 -0.482674479485 0.457344383001 +vn -0.625793576241 -0.278895854950 0.728422582150 +vn -0.625793576241 -0.278895854950 0.728422582150 +vn -0.788937568665 0.168626442552 0.590882897377 +vn -0.964621126652 0.160373017192 0.209252431989 +vn 0.191624388099 -0.923793375492 0.331490367651 +vn 0.884581148624 -0.462744623423 -0.058168973774 +vn 0.806491255760 -0.528655171394 -0.264755606651 +vn 0.806491255760 -0.528655171394 -0.264755606651 +vn 0.465707689524 -0.822708785534 0.325985670090 +vn 0.191624388099 -0.923793375492 0.331490367651 +vn -0.335760802031 0.784725189209 -0.521028876305 +vn -0.926037192345 0.371895700693 0.064410530031 +vn -0.732761621475 0.679454922676 0.037435822189 +vn -0.732761621475 0.679454922676 0.037435822189 +vn -0.229058310390 0.760169625282 -0.608008563519 +vn -0.335760802031 0.784725189209 -0.521028876305 +vn 0.640085756779 0.425537496805 -0.639693737030 +vn -0.335760802031 0.784725189209 -0.521028876305 +vn -0.229058310390 0.760169625282 -0.608008563519 +vn -0.229058310390 0.760169625282 -0.608008563519 +vn 0.490750640631 0.181577041745 -0.852169930935 +vn 0.640085756779 0.425537496805 -0.639693737030 +vn 0.884581148624 -0.462744623423 -0.058168973774 +vn 0.640085756779 0.425537496805 -0.639693737030 +vn 0.490750640631 0.181577041745 -0.852169930935 +vn 0.490750640631 0.181577041745 -0.852169930935 +vn 0.806491255760 -0.528655171394 -0.264755606651 +vn 0.884581148624 -0.462744623423 -0.058168973774 +vn -0.674922764301 -0.523977279663 0.519545078278 +vn -0.364021629095 -0.856148600578 0.366739392281 +vn -0.092611193657 -0.674204349518 0.732715308666 +vn -0.092611193657 -0.674204349518 0.732715308666 +vn -0.551944792271 -0.293012142181 0.780705332756 +vn -0.674922764301 -0.523977279663 0.519545078278 +vn -0.945016801357 0.013837653212 0.326728969812 +vn -0.674922764301 -0.523977279663 0.519545078278 +vn -0.551944792271 -0.293012142181 0.780705332756 +vn -0.551944792271 -0.293012142181 0.780705332756 +vn -0.832083702087 0.208347573876 0.514031112194 +vn -0.945016801357 0.013837653212 0.326728969812 +vn 0.465707689524 -0.822708785534 0.325985670090 +vn 0.806491255760 -0.528655171394 -0.264755606651 +vn 0.793244004250 -0.584889531136 -0.169316813350 +vn 0.793244004250 -0.584889531136 -0.169316813350 +vn 0.339785724878 -0.630825996399 0.697570264339 +vn 0.465707689524 -0.822708785534 0.325985670090 +vn -0.229058310390 0.760169625282 -0.608008563519 +vn -0.732761621475 0.679454922676 0.037435822189 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.317595332861 0.768381953239 -0.555627942085 +vn -0.229058310390 0.760169625282 -0.608008563519 +vn 0.490750640631 0.181577041745 -0.852169930935 +vn -0.229058310390 0.760169625282 -0.608008563519 +vn -0.317595332861 0.768381953239 -0.555627942085 +vn -0.317595332861 0.768381953239 -0.555627942085 +vn 0.499564975500 0.111929893494 -0.859014868736 +vn 0.490750640631 0.181577041745 -0.852169930935 +vn 0.806491255760 -0.528655171394 -0.264755606651 +vn 0.490750640631 0.181577041745 -0.852169930935 +vn 0.499564975500 0.111929893494 -0.859014868736 +vn 0.499564975500 0.111929893494 -0.859014868736 +vn 0.793244004250 -0.584889531136 -0.169316813350 +vn 0.806491255760 -0.528655171394 -0.264755606651 +vn -0.551944792271 -0.293012142181 0.780705332756 +vn -0.092611193657 -0.674204349518 0.732715308666 +vn -0.007603065576 -0.428264111280 0.903621613979 +vn -0.007603065576 -0.428264111280 0.903621613979 +vn -0.407987475395 -0.052795879543 0.911459743977 +vn -0.551944792271 -0.293012142181 0.780705332756 +vn -0.832083702087 0.208347573876 0.514031112194 +vn -0.551944792271 -0.293012142181 0.780705332756 +vn -0.407987475395 -0.052795879543 0.911459743977 +vn -0.407987475395 -0.052795879543 0.911459743977 +vn -0.483903706074 0.389737546444 0.783544421196 +vn -0.832083702087 0.208347573876 0.514031112194 +vn -0.713030219078 -0.700323402882 -0.033689942211 +vn -0.639753162861 -0.691484153271 -0.335507929325 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn -0.238086134195 -0.970914840698 -0.025286355987 +vn -0.713030219078 -0.700323402882 -0.033689942211 +vn -0.968837380409 -0.045421116054 -0.243497610092 +vn -0.817223966122 0.438406974077 -0.374091386795 +vn -0.639753162861 -0.691484153271 -0.335507929325 +vn -0.639753162861 -0.691484153271 -0.335507929325 +vn -0.713030219078 -0.700323402882 -0.033689942211 +vn -0.968837380409 -0.045421116054 -0.243497610092 +vn -0.964621126652 0.160373017192 0.209252431989 +vn -0.685728549957 0.718560576439 -0.115961268544 +vn -0.817223966122 0.438406974077 -0.374091386795 +vn -0.817223966122 0.438406974077 -0.374091386795 +vn -0.968837380409 -0.045421116054 -0.243497610092 +vn -0.964621126652 0.160373017192 0.209252431989 +vn -0.788937568665 0.168626442552 0.590882897377 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.685728549957 0.718560576439 -0.115961268544 +vn -0.685728549957 0.718560576439 -0.115961268544 +vn -0.964621126652 0.160373017192 0.209252431989 +vn -0.788937568665 0.168626442552 0.590882897377 +vn -0.625793576241 -0.278895854950 0.728422582150 +vn -0.579639554024 -0.263481736183 0.771100103855 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.830990672112 0.493389964104 0.256945282221 +vn -0.788937568665 0.168626442552 0.590882897377 +vn -0.625793576241 -0.278895854950 0.728422582150 +vn -0.162624269724 -0.590079188347 0.790796995163 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn -0.579639554024 -0.263481736183 0.771100103855 +vn -0.579639554024 -0.263481736183 0.771100103855 +vn -0.625793576241 -0.278895854950 0.728422582150 +vn -0.162624269724 -0.590079188347 0.790796995163 +vn -0.156016990542 -0.835193991661 0.527361035347 +vn 0.508111000061 -0.792860507965 0.336445242167 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn 0.247374296188 -0.749275922775 0.614322006702 +vn -0.162624269724 -0.590079188347 0.790796995163 +vn -0.156016990542 -0.835193991661 0.527361035347 +vn -0.238086134195 -0.970914840698 -0.025286355987 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn 0.508111000061 -0.792860507965 0.336445242167 +vn 0.508111000061 -0.792860507965 0.336445242167 +vn -0.156016990542 -0.835193991661 0.527361035347 +vn -0.238086134195 -0.970914840698 -0.025286355987 +vn -0.674922764301 -0.523977279663 0.519545078278 +vn -0.698240220547 -0.517006635666 0.495141148567 +vn 0.191624388099 -0.923793375492 0.331490367651 +vn 0.191624388099 -0.923793375492 0.331490367651 +vn -0.364021629095 -0.856148600578 0.366739392281 +vn -0.674922764301 -0.523977279663 0.519545078278 +vn -0.945016801357 0.013837653212 0.326728969812 +vn -0.926037192345 0.371895700693 0.064410530031 +vn -0.698240220547 -0.517006635666 0.495141148567 +vn -0.698240220547 -0.517006635666 0.495141148567 +vn -0.674922764301 -0.523977279663 0.519545078278 +vn -0.945016801357 0.013837653212 0.326728969812 +vn -0.832083702087 0.208347573876 0.514031112194 +vn -0.732761621475 0.679454922676 0.037435822189 +vn -0.926037192345 0.371895700693 0.064410530031 +vn -0.926037192345 0.371895700693 0.064410530031 +vn -0.945016801357 0.013837653212 0.326728969812 +vn -0.832083702087 0.208347573876 0.514031112194 +vn -0.483903706074 0.389737546444 0.783544421196 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.732761621475 0.679454922676 0.037435822189 +vn -0.732761621475 0.679454922676 0.037435822189 +vn -0.832083702087 0.208347573876 0.514031112194 +vn -0.483903706074 0.389737546444 0.783544421196 +vn -0.407987475395 -0.052795879543 0.911459743977 +vn -0.438034206629 -0.038588356227 0.898129701614 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.683753192425 0.643162727356 0.344707518816 +vn -0.483903706074 0.389737546444 0.783544421196 +vn -0.407987475395 -0.052795879543 0.911459743977 +vn -0.007603065576 -0.428264111280 0.903621613979 +vn 0.339785724878 -0.630825996399 0.697570264339 +vn -0.438034206629 -0.038588356227 0.898129701614 +vn -0.438034206629 -0.038588356227 0.898129701614 +vn -0.407987475395 -0.052795879543 0.911459743977 +vn -0.007603065576 -0.428264111280 0.903621613979 +vn -0.092611193657 -0.674204349518 0.732715308666 +vn 0.465707689524 -0.822708785534 0.325985670090 +vn 0.339785724878 -0.630825996399 0.697570264339 +vn 0.339785724878 -0.630825996399 0.697570264339 +vn -0.007603065576 -0.428264111280 0.903621613979 +vn -0.092611193657 -0.674204349518 0.732715308666 +vn -0.364021629095 -0.856148600578 0.366739392281 +vn 0.191624388099 -0.923793375492 0.331490367651 +vn 0.465707689524 -0.822708785534 0.325985670090 +vn 0.465707689524 -0.822708785534 0.325985670090 +vn -0.092611193657 -0.674204349518 0.732715308666 +vn -0.364021629095 -0.856148600578 0.366739392281 +vn 0.971413433552 -0.198218494654 0.130634292960 +vn 0.785614967346 -0.286049783230 0.548620700836 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn 0.840784430504 -0.537654459476 -0.063318446279 +vn 0.971413433552 -0.198218494654 0.130634292960 +vn -0.757342994213 0.639263868332 0.133316561580 +vn -0.067432902753 0.981908500195 0.176942050457 +vn 0.305667221546 0.945262253284 -0.114222683012 +vn 0.305667221546 0.945262253284 -0.114222683012 +vn -0.137136697769 0.888346493244 -0.438216865063 +vn -0.757342994213 0.639263868332 0.133316561580 +vn 0.305667221546 0.945262253284 -0.114222683012 +vn 0.873983740807 0.479939311743 -0.076227970421 +vn 0.716986238956 0.239118993282 -0.654792249203 +vn 0.716986238956 0.239118993282 -0.654792249203 +vn -0.137136697769 0.888346493244 -0.438216865063 +vn 0.305667221546 0.945262253284 -0.114222683012 +vn 0.716986238956 0.239118993282 -0.654792249203 +vn 0.873983740807 0.479939311743 -0.076227970421 +vn 0.971413433552 -0.198218494654 0.130634292960 +vn 0.971413433552 -0.198218494654 0.130634292960 +vn 0.840784430504 -0.537654459476 -0.063318446279 +vn 0.716986238956 0.239118993282 -0.654792249203 +vn -0.339134454727 -0.273717045784 0.900037109852 +vn 0.025394085795 -0.229523256421 0.972971856594 +vn -0.178718537092 0.188127040863 0.965747356415 +vn -0.178718537092 0.188127040863 0.965747356415 +vn -0.447011172771 -0.045240279287 0.893383622169 +vn -0.339134454727 -0.273717045784 0.900037109852 +vn -0.447011172771 -0.045240279287 0.893383622169 +vn -0.178718537092 0.188127040863 0.965747356415 +vn -0.348185300827 0.396597862244 0.849398136139 +vn -0.348185300827 0.396597862244 0.849398136139 +vn -0.581079006195 0.111400045455 0.806186854839 +vn -0.447011172771 -0.045240279287 0.893383622169 +vn 0.519195377827 -0.233764812350 0.822064578533 +vn 0.785614967346 -0.286049783230 0.548620700836 +vn 0.689539670944 0.551088571548 0.469932347536 +vn 0.689539670944 0.551088571548 0.469932347536 +vn 0.376014262438 0.462822437286 0.802750706673 +vn 0.519195377827 -0.233764812350 0.822064578533 +vn -0.203189909458 -0.671831786633 0.712289214134 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn 0.785614967346 -0.286049783230 0.548620700836 +vn 0.785614967346 -0.286049783230 0.548620700836 +vn 0.519195377827 -0.233764812350 0.822064578533 +vn -0.203189909458 -0.671831786633 0.712289214134 +vn -0.580693304539 -0.239784106612 0.778009533882 +vn -0.601199984550 -0.264719158411 0.753977715969 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn 0.307455629110 -0.716057658195 0.626683712006 +vn -0.203189909458 -0.671831786633 0.712289214134 +vn -0.580693304539 -0.239784106612 0.778009533882 +vn -0.870019555092 0.264733344316 0.415911346674 +vn -0.757342994213 0.639263868332 0.133316561580 +vn -0.601199984550 -0.264719158411 0.753977715969 +vn -0.601199984550 -0.264719158411 0.753977715969 +vn -0.580693304539 -0.239784106612 0.778009533882 +vn -0.870019555092 0.264733344316 0.415911346674 +vn -0.262828111649 0.784388482571 0.561832785606 +vn -0.067432902753 0.981908500195 0.176942050457 +vn -0.757342994213 0.639263868332 0.133316561580 +vn -0.757342994213 0.639263868332 0.133316561580 +vn -0.870019555092 0.264733344316 0.415911346674 +vn -0.262828111649 0.784388482571 0.561832785606 +vn 0.376014262438 0.462822437286 0.802750706673 +vn 0.689539670944 0.551088571548 0.469932347536 +vn -0.067432902753 0.981908500195 0.176942050457 +vn -0.067432902753 0.981908500195 0.176942050457 +vn -0.262828111649 0.784388482571 0.561832785606 +vn 0.376014262438 0.462822437286 0.802750706673 +vn 0.025394085795 -0.229523256421 0.972971856594 +vn 0.519195377827 -0.233764812350 0.822064578533 +vn 0.376014262438 0.462822437286 0.802750706673 +vn 0.376014262438 0.462822437286 0.802750706673 +vn -0.178718537092 0.188127040863 0.965747356415 +vn 0.025394085795 -0.229523256421 0.972971856594 +vn -0.339134454727 -0.273717045784 0.900037109852 +vn -0.203189909458 -0.671831786633 0.712289214134 +vn 0.519195377827 -0.233764812350 0.822064578533 +vn 0.519195377827 -0.233764812350 0.822064578533 +vn 0.025394085795 -0.229523256421 0.972971856594 +vn -0.339134454727 -0.273717045784 0.900037109852 +vn -0.447011172771 -0.045240279287 0.893383622169 +vn -0.580693304539 -0.239784106612 0.778009533882 +vn -0.203189909458 -0.671831786633 0.712289214134 +vn -0.203189909458 -0.671831786633 0.712289214134 +vn -0.339134454727 -0.273717045784 0.900037109852 +vn -0.447011172771 -0.045240279287 0.893383622169 +vn -0.581079006195 0.111400045455 0.806186854839 +vn -0.870019555092 0.264733344316 0.415911346674 +vn -0.580693304539 -0.239784106612 0.778009533882 +vn -0.580693304539 -0.239784106612 0.778009533882 +vn -0.447011172771 -0.045240279287 0.893383622169 +vn -0.581079006195 0.111400045455 0.806186854839 +vn -0.348185300827 0.396597862244 0.849398136139 +vn -0.262828111649 0.784388482571 0.561832785606 +vn -0.870019555092 0.264733344316 0.415911346674 +vn -0.870019555092 0.264733344316 0.415911346674 +vn -0.581079006195 0.111400045455 0.806186854839 +vn -0.348185300827 0.396597862244 0.849398136139 +vn -0.178718537092 0.188127040863 0.965747356415 +vn 0.376014262438 0.462822437286 0.802750706673 +vn -0.262828111649 0.784388482571 0.561832785606 +vn -0.262828111649 0.784388482571 0.561832785606 +vn -0.348185300827 0.396597862244 0.849398136139 +vn -0.178718537092 0.188127040863 0.965747356415 +vn 0.818376600742 -0.401787668467 0.410884916782 +vn 0.847369909286 -0.431685984135 0.309211075306 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn 0.111688241363 -0.954437494278 0.276721477509 +vn 0.818376600742 -0.401787668467 0.410884916782 +vn -0.817223966122 0.438406974077 -0.374091386795 +vn -0.115772135556 0.916144967079 -0.383764445782 +vn -0.243232712150 0.967023551464 0.075520321727 +vn -0.243232712150 0.967023551464 0.075520321727 +vn -0.886659443378 0.442658960819 -0.133746445179 +vn -0.817223966122 0.438406974077 -0.374091386795 +vn -0.243232712150 0.967023551464 0.075520321727 +vn -0.115772135556 0.916144967079 -0.383764445782 +vn 0.857951998711 0.502564668655 -0.106523200870 +vn 0.857951998711 0.502564668655 -0.106523200870 +vn 0.842137992382 0.517580270767 0.151374444366 +vn -0.243232712150 0.967023551464 0.075520321727 +vn 0.857951998711 0.502564668655 -0.106523200870 +vn 0.847369909286 -0.431685984135 0.309211075306 +vn 0.818376600742 -0.401787668467 0.410884916782 +vn 0.818376600742 -0.401787668467 0.410884916782 +vn 0.842137992382 0.517580270767 0.151374444366 +vn 0.857951998711 0.502564668655 -0.106523200870 +vn 0.111688241363 -0.954437494278 0.276721477509 +vn 0.210670322180 -0.966682791710 0.145404189825 +vn -0.639753162861 -0.691484153271 -0.335507929325 +vn -0.639753162861 -0.691484153271 -0.335507929325 +vn -0.726776778698 -0.684764206409 -0.053791709244 +vn 0.111688241363 -0.954437494278 0.276721477509 +vn -0.639753162861 -0.691484153271 -0.335507929325 +vn -0.817223966122 0.438406974077 -0.374091386795 +vn -0.886659443378 0.442658960819 -0.133746445179 +vn -0.886659443378 0.442658960819 -0.133746445179 +vn -0.726776778698 -0.684764206409 -0.053791709244 +vn -0.639753162861 -0.691484153271 -0.335507929325 +vn -0.253473311663 -0.772156655788 0.582688093185 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.757777929306 -0.368886232376 0.538233757019 +vn -0.253473311663 -0.772156655788 0.582688093185 +vn -0.581666529179 0.743011713028 -0.331055343151 +vn 0.274834781885 0.908923387527 -0.313566774130 +vn 0.228585809469 0.971321880817 -0.065439939499 +vn 0.228585809469 0.971321880817 -0.065439939499 +vn -0.495899587870 0.820320844650 -0.284881204367 +vn -0.581666529179 0.743011713028 -0.331055343151 +vn 0.934458494186 0.322290331125 0.151381283998 +vn 0.525134205818 0.469024330378 0.710105836391 +vn 0.228585809469 0.971321880817 -0.065439939499 +vn 0.228585809469 0.971321880817 -0.065439939499 +vn 0.274834781885 0.908923387527 -0.313566774130 +vn 0.934458494186 0.322290331125 0.151381283998 +vn 0.934458494186 0.322290331125 0.151381283998 +vn 0.757777929306 -0.368886232376 0.538233757019 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.155846312642 0.291441172361 0.943808257580 +vn 0.525134205818 0.469024330378 0.710105836391 +vn 0.934458494186 0.322290331125 0.151381283998 +vn -0.996103525162 -0.017238132656 0.086490817368 +vn -0.979369640350 0.134773358703 -0.150569871068 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.253473311663 -0.772156655788 0.582688093185 +vn -0.996103525162 -0.017238132656 0.086490817368 +vn -0.996103525162 -0.017238132656 0.086490817368 +vn -0.581666529179 0.743011713028 -0.331055343151 +vn -0.495899587870 0.820320844650 -0.284881204367 +vn -0.495899587870 0.820320844650 -0.284881204367 +vn -0.979369640350 0.134773358703 -0.150569871068 +vn -0.996103525162 -0.017238132656 0.086490817368 +vn 0.924420893192 0.053604725748 -0.377587854862 +vn 0.615988314152 0.720898389816 -0.317590743303 +vn 0.423879355192 0.904768526554 0.041475951672 +vn 0.423879355192 0.904768526554 0.041475951672 +vn 0.959200203419 0.162117242813 0.231631040573 +vn 0.924420893192 0.053604725748 -0.377587854862 +vn 0.760992348194 -0.645550906658 -0.064457304776 +vn 0.924420893192 0.053604725748 -0.377587854862 +vn 0.959200203419 0.162117242813 0.231631040573 +vn 0.959200203419 0.162117242813 0.231631040573 +vn 0.623558640480 -0.671979129314 0.399523109198 +vn 0.760992348194 -0.645550906658 -0.064457304776 +vn 0.421069711447 -0.883927404881 -0.203402578831 +vn -0.068334780633 -0.860537767410 0.504782259464 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn 0.646868646145 -0.754471123219 -0.111059591174 +vn 0.421069711447 -0.883927404881 -0.203402578831 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.653835475445 0.756583929062 0.008939243853 +vn -0.047386102378 0.731830000877 -0.679837763309 +vn -0.047386102378 0.731830000877 -0.679837763309 +vn 0.098854996264 0.784844338894 -0.611757338047 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.047386102378 0.731830000877 -0.679837763309 +vn 0.473639577627 -0.082474462688 -0.876848638058 +vn 0.688472807407 0.029249710962 -0.724672079086 +vn 0.688472807407 0.029249710962 -0.724672079086 +vn 0.098854996264 0.784844338894 -0.611757338047 +vn -0.047386102378 0.731830000877 -0.679837763309 +vn 0.688472807407 0.029249710962 -0.724672079086 +vn 0.473639577627 -0.082474462688 -0.876848638058 +vn 0.421069711447 -0.883927404881 -0.203402578831 +vn 0.421069711447 -0.883927404881 -0.203402578831 +vn 0.646868646145 -0.754471123219 -0.111059591174 +vn 0.688472807407 0.029249710962 -0.724672079086 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn -0.068334780633 -0.860537767410 0.504782259464 +vn -0.773331344128 -0.181563839316 0.607448101044 +vn -0.773331344128 -0.181563839316 0.607448101044 +vn -0.547749757767 0.077166840434 0.833075940609 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn -0.773331344128 -0.181563839316 0.607448101044 +vn -0.653835475445 0.756583929062 0.008939243853 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.547749757767 0.077166840434 0.833075940609 +vn -0.773331344128 -0.181563839316 0.607448101044 +vn 0.461613714695 -0.874826371670 -0.146940901875 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn 0.178257793188 -0.751887738705 0.634735345840 +vn 0.178257793188 -0.751887738705 0.634735345840 +vn 0.412459701300 -0.882799863815 -0.224814176559 +vn 0.461613714695 -0.874826371670 -0.146940901875 +vn -0.170828253031 0.950032889843 0.261256903410 +vn -0.337525874376 0.930810749531 0.140241369605 +vn 0.125956013799 0.815335929394 -0.565121591091 +vn 0.125956013799 0.815335929394 -0.565121591091 +vn -0.025579690933 0.776846170425 -0.629170656204 +vn -0.170828253031 0.950032889843 0.261256903410 +vn 0.125956013799 0.815335929394 -0.565121591091 +vn 0.556747496128 -0.079760462046 -0.826843678951 +vn 0.322021692991 -0.110789388418 -0.940227508545 +vn 0.322021692991 -0.110789388418 -0.940227508545 +vn -0.025579690933 0.776846170425 -0.629170656204 +vn 0.125956013799 0.815335929394 -0.565121591091 +vn 0.322021692991 -0.110789388418 -0.940227508545 +vn 0.556747496128 -0.079760462046 -0.826843678951 +vn 0.461613714695 -0.874826371670 -0.146940901875 +vn 0.461613714695 -0.874826371670 -0.146940901875 +vn 0.412459701300 -0.882799863815 -0.224814176559 +vn 0.322021692991 -0.110789388418 -0.940227508545 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn -0.429289430380 0.010662646964 0.903104007244 +vn 0.001197829144 0.204163551331 0.978936076164 +vn 0.001197829144 0.204163551331 0.978936076164 +vn 0.178257793188 -0.751887738705 0.634735345840 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn 0.001197829144 0.204163551331 0.978936076164 +vn -0.429289430380 0.010662646964 0.903104007244 +vn -0.337525874376 0.930810749531 0.140241369605 +vn -0.337525874376 0.930810749531 0.140241369605 +vn -0.170828253031 0.950032889843 0.261256903410 +vn 0.001197829144 0.204163551331 0.978936076164 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn 0.807383418083 -0.537694036961 0.242934510112 +vn 0.785724759102 -0.618380904198 -0.015544304624 +vn 0.785724759102 -0.618380904198 -0.015544304624 +vn 0.306575775146 -0.907850980759 0.286038279533 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn 0.285551220179 0.869218170643 -0.403633773327 +vn -0.623009026051 0.664530754089 -0.412624120712 +vn -0.275407165289 0.928095698357 -0.250577956438 +vn -0.275407165289 0.928095698357 -0.250577956438 +vn 0.338147550821 0.829213023186 -0.445041537285 +vn 0.285551220179 0.869218170643 -0.403633773327 +vn 0.952248871326 0.304680645466 0.019794657826 +vn 0.285551220179 0.869218170643 -0.403633773327 +vn 0.338147550821 0.829213023186 -0.445041537285 +vn 0.338147550821 0.829213023186 -0.445041537285 +vn 0.920910716057 0.206858113408 -0.330353140831 +vn 0.952248871326 0.304680645466 0.019794657826 +vn 0.807383418083 -0.537694036961 0.242934510112 +vn 0.952248871326 0.304680645466 0.019794657826 +vn 0.920910716057 0.206858113408 -0.330353140831 +vn 0.920910716057 0.206858113408 -0.330353140831 +vn 0.785724759102 -0.618380904198 -0.015544304624 +vn 0.807383418083 -0.537694036961 0.242934510112 +vn -0.960114955902 -0.244047343731 0.136455714703 +vn -0.647293269634 -0.752994298935 -0.118367962539 +vn -0.384179323912 -0.683712661266 0.620437920094 +vn -0.384179323912 -0.683712661266 0.620437920094 +vn -0.795008242130 -0.004372249823 0.606582820415 +vn -0.960114955902 -0.244047343731 0.136455714703 +vn -0.910519480705 0.385565638542 -0.149309948087 +vn -0.960114955902 -0.244047343731 0.136455714703 +vn -0.795008242130 -0.004372249823 0.606582820415 +vn -0.795008242130 -0.004372249823 0.606582820415 +vn -0.745011448860 0.632212758064 0.212755620480 +vn -0.910519480705 0.385565638542 -0.149309948087 +vn 0.306575775146 -0.907850980759 0.286038279533 +vn 0.785724759102 -0.618380904198 -0.015544304624 +vn 0.646868646145 -0.754471123219 -0.111059591174 +vn 0.646868646145 -0.754471123219 -0.111059591174 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn 0.306575775146 -0.907850980759 0.286038279533 +vn 0.338147550821 0.829213023186 -0.445041537285 +vn -0.275407165289 0.928095698357 -0.250577956438 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.470382779837 0.875310480595 0.112123101950 +vn 0.098854996264 0.784844338894 -0.611757338047 +vn 0.338147550821 0.829213023186 -0.445041537285 +vn 0.920910716057 0.206858113408 -0.330353140831 +vn 0.338147550821 0.829213023186 -0.445041537285 +vn 0.098854996264 0.784844338894 -0.611757338047 +vn 0.098854996264 0.784844338894 -0.611757338047 +vn 0.688472807407 0.029249710962 -0.724672079086 +vn 0.920910716057 0.206858113408 -0.330353140831 +vn 0.785724759102 -0.618380904198 -0.015544304624 +vn 0.920910716057 0.206858113408 -0.330353140831 +vn 0.688472807407 0.029249710962 -0.724672079086 +vn 0.688472807407 0.029249710962 -0.724672079086 +vn 0.646868646145 -0.754471123219 -0.111059591174 +vn 0.785724759102 -0.618380904198 -0.015544304624 +vn -0.795008242130 -0.004372249823 0.606582820415 +vn -0.384179323912 -0.683712661266 0.620437920094 +vn -0.198560431600 -0.441530883312 0.874999582767 +vn -0.198560431600 -0.441530883312 0.874999582767 +vn -0.536564469337 0.119927458465 0.835293948650 +vn -0.795008242130 -0.004372249823 0.606582820415 +vn -0.745011448860 0.632212758064 0.212755620480 +vn -0.795008242130 -0.004372249823 0.606582820415 +vn -0.536564469337 0.119927458465 0.835293948650 +vn -0.536564469337 0.119927458465 0.835293948650 +vn -0.485284209251 0.621354460716 0.615156769753 +vn -0.745011448860 0.632212758064 0.212755620480 +vn -0.068334780633 -0.860537767410 0.504782259464 +vn 0.421069711447 -0.883927404881 -0.203402578831 +vn 0.308892786503 -0.861497938633 -0.402996987104 +vn 0.308892786503 -0.861497938633 -0.402996987104 +vn 0.192031323910 -0.934470832348 0.299813717604 +vn -0.068334780633 -0.860537767410 0.504782259464 +vn -0.047386102378 0.731830000877 -0.679837763309 +vn -0.653835475445 0.756583929062 0.008939243853 +vn -0.253899276257 0.958160519600 -0.132149979472 +vn -0.253899276257 0.958160519600 -0.132149979472 +vn 0.001963527407 0.702904462814 -0.711281538010 +vn -0.047386102378 0.731830000877 -0.679837763309 +vn 0.473639577627 -0.082474462688 -0.876848638058 +vn -0.047386102378 0.731830000877 -0.679837763309 +vn 0.001963527407 0.702904462814 -0.711281538010 +vn 0.001963527407 0.702904462814 -0.711281538010 +vn 0.276719152927 -0.113191716373 -0.954261064529 +vn 0.473639577627 -0.082474462688 -0.876848638058 +vn 0.421069711447 -0.883927404881 -0.203402578831 +vn 0.473639577627 -0.082474462688 -0.876848638058 +vn 0.276719152927 -0.113191716373 -0.954261064529 +vn 0.276719152927 -0.113191716373 -0.954261064529 +vn 0.308892786503 -0.861497938633 -0.402996987104 +vn 0.421069711447 -0.883927404881 -0.203402578831 +vn -0.665392875671 -0.152734041214 0.730701446533 +vn -0.449355930090 -0.622634947300 0.640628576279 +vn -0.034413214773 -0.623692095280 0.780912220478 +vn -0.034413214773 -0.623692095280 0.780912220478 +vn -0.326971471310 0.053588666022 0.943513572216 +vn -0.665392875671 -0.152734041214 0.730701446533 +vn -0.777829766273 0.488033413887 0.395985156298 +vn -0.665392875671 -0.152734041214 0.730701446533 +vn -0.326971471310 0.053588666022 0.943513572216 +vn -0.326971471310 0.053588666022 0.943513572216 +vn -0.436078906059 0.732999444008 0.522060334682 +vn -0.777829766273 0.488033413887 0.395985156298 +vn 0.192031323910 -0.934470832348 0.299813717604 +vn 0.308892786503 -0.861497938633 -0.402996987104 +vn 0.412459701300 -0.882799863815 -0.224814176559 +vn 0.412459701300 -0.882799863815 -0.224814176559 +vn 0.178257793188 -0.751887738705 0.634735345840 +vn 0.192031323910 -0.934470832348 0.299813717604 +vn 0.001963527407 0.702904462814 -0.711281538010 +vn -0.253899276257 0.958160519600 -0.132149979472 +vn -0.170828253031 0.950032889843 0.261256903410 +vn -0.170828253031 0.950032889843 0.261256903410 +vn -0.025579690933 0.776846170425 -0.629170656204 +vn 0.001963527407 0.702904462814 -0.711281538010 +vn 0.276719152927 -0.113191716373 -0.954261064529 +vn 0.001963527407 0.702904462814 -0.711281538010 +vn -0.025579690933 0.776846170425 -0.629170656204 +vn -0.025579690933 0.776846170425 -0.629170656204 +vn 0.322021692991 -0.110789388418 -0.940227508545 +vn 0.276719152927 -0.113191716373 -0.954261064529 +vn 0.308892786503 -0.861497938633 -0.402996987104 +vn 0.276719152927 -0.113191716373 -0.954261064529 +vn 0.322021692991 -0.110789388418 -0.940227508545 +vn 0.322021692991 -0.110789388418 -0.940227508545 +vn 0.412459701300 -0.882799863815 -0.224814176559 +vn 0.308892786503 -0.861497938633 -0.402996987104 +vn -0.326971471310 0.053588666022 0.943513572216 +vn -0.034413214773 -0.623692095280 0.780912220478 +vn 0.251319766045 -0.339376091957 0.906455874443 +vn 0.251319766045 -0.339376091957 0.906455874443 +vn 0.035827055573 0.207518517971 0.977574825287 +vn -0.326971471310 0.053588666022 0.943513572216 +vn -0.436078906059 0.732999444008 0.522060334682 +vn -0.326971471310 0.053588666022 0.943513572216 +vn 0.035827055573 0.207518517971 0.977574825287 +vn 0.035827055573 0.207518517971 0.977574825287 +vn -0.050434809178 0.689648866653 0.722385466099 +vn -0.436078906059 0.732999444008 0.522060334682 +vn -0.960114955902 -0.244047343731 0.136455714703 +vn -0.945911884308 -0.323958635330 -0.017364645377 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn -0.647293269634 -0.752994298935 -0.118367962539 +vn -0.960114955902 -0.244047343731 0.136455714703 +vn -0.910519480705 0.385565638542 -0.149309948087 +vn -0.623009026051 0.664530754089 -0.412624120712 +vn -0.945911884308 -0.323958635330 -0.017364645377 +vn -0.945911884308 -0.323958635330 -0.017364645377 +vn -0.960114955902 -0.244047343731 0.136455714703 +vn -0.910519480705 0.385565638542 -0.149309948087 +vn -0.745011448860 0.632212758064 0.212755620480 +vn -0.275407165289 0.928095698357 -0.250577956438 +vn -0.623009026051 0.664530754089 -0.412624120712 +vn -0.623009026051 0.664530754089 -0.412624120712 +vn -0.910519480705 0.385565638542 -0.149309948087 +vn -0.745011448860 0.632212758064 0.212755620480 +vn -0.485284209251 0.621354460716 0.615156769753 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.275407165289 0.928095698357 -0.250577956438 +vn -0.275407165289 0.928095698357 -0.250577956438 +vn -0.745011448860 0.632212758064 0.212755620480 +vn -0.485284209251 0.621354460716 0.615156769753 +vn -0.536564469337 0.119927458465 0.835293948650 +vn -0.547749757767 0.077166840434 0.833075940609 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.470382779837 0.875310480595 0.112123101950 +vn -0.485284209251 0.621354460716 0.615156769753 +vn -0.536564469337 0.119927458465 0.835293948650 +vn -0.198560431600 -0.441530883312 0.874999582767 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn -0.547749757767 0.077166840434 0.833075940609 +vn -0.547749757767 0.077166840434 0.833075940609 +vn -0.536564469337 0.119927458465 0.835293948650 +vn -0.198560431600 -0.441530883312 0.874999582767 +vn -0.384179323912 -0.683712661266 0.620437920094 +vn 0.306575775146 -0.907850980759 0.286038279533 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn 0.102821968496 -0.748076140881 0.655598759651 +vn -0.198560431600 -0.441530883312 0.874999582767 +vn -0.384179323912 -0.683712661266 0.620437920094 +vn -0.647293269634 -0.752994298935 -0.118367962539 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn 0.306575775146 -0.907850980759 0.286038279533 +vn 0.306575775146 -0.907850980759 0.286038279533 +vn -0.384179323912 -0.683712661266 0.620437920094 +vn -0.647293269634 -0.752994298935 -0.118367962539 +vn -0.665392875671 -0.152734041214 0.730701446533 +vn -0.773331344128 -0.181563839316 0.607448101044 +vn -0.068334780633 -0.860537767410 0.504782259464 +vn -0.068334780633 -0.860537767410 0.504782259464 +vn -0.449355930090 -0.622634947300 0.640628576279 +vn -0.665392875671 -0.152734041214 0.730701446533 +vn -0.777829766273 0.488033413887 0.395985156298 +vn -0.653835475445 0.756583929062 0.008939243853 +vn -0.773331344128 -0.181563839316 0.607448101044 +vn -0.773331344128 -0.181563839316 0.607448101044 +vn -0.665392875671 -0.152734041214 0.730701446533 +vn -0.777829766273 0.488033413887 0.395985156298 +vn -0.436078906059 0.732999444008 0.522060334682 +vn -0.253899276257 0.958160519600 -0.132149979472 +vn -0.653835475445 0.756583929062 0.008939243853 +vn -0.653835475445 0.756583929062 0.008939243853 +vn -0.777829766273 0.488033413887 0.395985156298 +vn -0.436078906059 0.732999444008 0.522060334682 +vn -0.050434809178 0.689648866653 0.722385466099 +vn -0.170828253031 0.950032889843 0.261256903410 +vn -0.253899276257 0.958160519600 -0.132149979472 +vn -0.253899276257 0.958160519600 -0.132149979472 +vn -0.436078906059 0.732999444008 0.522060334682 +vn -0.050434809178 0.689648866653 0.722385466099 +vn 0.035827055573 0.207518517971 0.977574825287 +vn 0.001197829144 0.204163551331 0.978936076164 +vn -0.170828253031 0.950032889843 0.261256903410 +vn -0.170828253031 0.950032889843 0.261256903410 +vn -0.050434809178 0.689648866653 0.722385466099 +vn 0.035827055573 0.207518517971 0.977574825287 +vn 0.251319766045 -0.339376091957 0.906455874443 +vn 0.178257793188 -0.751887738705 0.634735345840 +vn 0.001197829144 0.204163551331 0.978936076164 +vn 0.001197829144 0.204163551331 0.978936076164 +vn 0.035827055573 0.207518517971 0.977574825287 +vn 0.251319766045 -0.339376091957 0.906455874443 +vn -0.034413214773 -0.623692095280 0.780912220478 +vn 0.192031323910 -0.934470832348 0.299813717604 +vn 0.178257793188 -0.751887738705 0.634735345840 +vn 0.178257793188 -0.751887738705 0.634735345840 +vn 0.251319766045 -0.339376091957 0.906455874443 +vn -0.034413214773 -0.623692095280 0.780912220478 +vn -0.449355930090 -0.622634947300 0.640628576279 +vn -0.068334780633 -0.860537767410 0.504782259464 +vn 0.192031323910 -0.934470832348 0.299813717604 +vn 0.192031323910 -0.934470832348 0.299813717604 +vn -0.034413214773 -0.623692095280 0.780912220478 +vn -0.449355930090 -0.622634947300 0.640628576279 +vn 0.760992348194 -0.645550906658 -0.064457304776 +vn 0.623558640480 -0.671979129314 0.399523109198 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn 0.461613714695 -0.874826371670 -0.146940901875 +vn 0.760992348194 -0.645550906658 -0.064457304776 +vn -0.337525874376 0.930810749531 0.140241369605 +vn 0.423879355192 0.904768526554 0.041475951672 +vn 0.615988314152 0.720898389816 -0.317590743303 +vn 0.615988314152 0.720898389816 -0.317590743303 +vn 0.125956013799 0.815335929394 -0.565121591091 +vn -0.337525874376 0.930810749531 0.140241369605 +vn 0.615988314152 0.720898389816 -0.317590743303 +vn 0.924420893192 0.053604725748 -0.377587854862 +vn 0.556747496128 -0.079760462046 -0.826843678951 +vn 0.556747496128 -0.079760462046 -0.826843678951 +vn 0.125956013799 0.815335929394 -0.565121591091 +vn 0.615988314152 0.720898389816 -0.317590743303 +vn 0.556747496128 -0.079760462046 -0.826843678951 +vn 0.924420893192 0.053604725748 -0.377587854862 +vn 0.760992348194 -0.645550906658 -0.064457304776 +vn 0.760992348194 -0.645550906658 -0.064457304776 +vn 0.461613714695 -0.874826371670 -0.146940901875 +vn 0.556747496128 -0.079760462046 -0.826843678951 +vn -0.425275236368 -0.307458400726 0.851240456104 +vn 0.030373126268 -0.405382573605 0.913642406464 +vn 0.067655861378 0.094781979918 0.993196368217 +vn 0.067655861378 0.094781979918 0.993196368217 +vn -0.498360216618 -0.011345745064 0.866895854473 +vn -0.425275236368 -0.307458400726 0.851240456104 +vn -0.498360216618 -0.011345745064 0.866895854473 +vn 0.067655861378 0.094781979918 0.993196368217 +vn 0.004601359833 0.522861719131 0.852405130863 +vn 0.004601359833 0.522861719131 0.852405130863 +vn -0.538786590099 0.230709373951 0.810235857964 +vn -0.498360216618 -0.011345745064 0.866895854473 +vn 0.437515467405 -0.595975279808 0.673345148563 +vn 0.623558640480 -0.671979129314 0.399523109198 +vn 0.959200203419 0.162117242813 0.231631040573 +vn 0.959200203419 0.162117242813 0.231631040573 +vn 0.736156404018 0.144710719585 0.661159992218 +vn 0.437515467405 -0.595975279808 0.673345148563 +vn -0.406600266695 -0.599074244499 0.689772665501 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn 0.623558640480 -0.671979129314 0.399523109198 +vn 0.623558640480 -0.671979129314 0.399523109198 +vn 0.437515467405 -0.595975279808 0.673345148563 +vn -0.406600266695 -0.599074244499 0.689772665501 +vn -0.519624173641 -0.096402786672 0.848938882351 +vn -0.429289430380 0.010662646964 0.903104007244 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn 0.022328991443 -0.807272195816 0.589756786823 +vn -0.406600266695 -0.599074244499 0.689772665501 +vn -0.519624173641 -0.096402786672 0.848938882351 +vn -0.590204536915 0.644762694836 0.485736191273 +vn -0.337525874376 0.930810749531 0.140241369605 +vn -0.429289430380 0.010662646964 0.903104007244 +vn -0.429289430380 0.010662646964 0.903104007244 +vn -0.519624173641 -0.096402786672 0.848938882351 +vn -0.590204536915 0.644762694836 0.485736191273 +vn 0.313855469227 0.815999209881 0.485427707434 +vn 0.423879355192 0.904768526554 0.041475951672 +vn -0.337525874376 0.930810749531 0.140241369605 +vn -0.337525874376 0.930810749531 0.140241369605 +vn -0.590204536915 0.644762694836 0.485736191273 +vn 0.313855469227 0.815999209881 0.485427707434 +vn 0.736156404018 0.144710719585 0.661159992218 +vn 0.959200203419 0.162117242813 0.231631040573 +vn 0.423879355192 0.904768526554 0.041475951672 +vn 0.423879355192 0.904768526554 0.041475951672 +vn 0.313855469227 0.815999209881 0.485427707434 +vn 0.736156404018 0.144710719585 0.661159992218 +vn 0.030373126268 -0.405382573605 0.913642406464 +vn 0.437515467405 -0.595975279808 0.673345148563 +vn 0.736156404018 0.144710719585 0.661159992218 +vn 0.736156404018 0.144710719585 0.661159992218 +vn 0.067655861378 0.094781979918 0.993196368217 +vn 0.030373126268 -0.405382573605 0.913642406464 +vn -0.425275236368 -0.307458400726 0.851240456104 +vn -0.406600266695 -0.599074244499 0.689772665501 +vn 0.437515467405 -0.595975279808 0.673345148563 +vn 0.437515467405 -0.595975279808 0.673345148563 +vn 0.030373126268 -0.405382573605 0.913642406464 +vn -0.425275236368 -0.307458400726 0.851240456104 +vn -0.498360216618 -0.011345745064 0.866895854473 +vn -0.519624173641 -0.096402786672 0.848938882351 +vn -0.406600266695 -0.599074244499 0.689772665501 +vn -0.406600266695 -0.599074244499 0.689772665501 +vn -0.425275236368 -0.307458400726 0.851240456104 +vn -0.498360216618 -0.011345745064 0.866895854473 +vn -0.538786590099 0.230709373951 0.810235857964 +vn -0.590204536915 0.644762694836 0.485736191273 +vn -0.519624173641 -0.096402786672 0.848938882351 +vn -0.519624173641 -0.096402786672 0.848938882351 +vn -0.498360216618 -0.011345745064 0.866895854473 +vn -0.538786590099 0.230709373951 0.810235857964 +vn 0.004601359833 0.522861719131 0.852405130863 +vn 0.313855469227 0.815999209881 0.485427707434 +vn -0.590204536915 0.644762694836 0.485736191273 +vn -0.590204536915 0.644762694836 0.485736191273 +vn -0.538786590099 0.230709373951 0.810235857964 +vn 0.004601359833 0.522861719131 0.852405130863 +vn 0.067655861378 0.094781979918 0.993196368217 +vn 0.736156404018 0.144710719585 0.661159992218 +vn 0.313855469227 0.815999209881 0.485427707434 +vn 0.313855469227 0.815999209881 0.485427707434 +vn 0.004601359833 0.522861719131 0.852405130863 +vn 0.067655861378 0.094781979918 0.993196368217 +vn 0.757777929306 -0.368886232376 0.538233757019 +vn 0.807383418083 -0.537694036961 0.242934510112 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn -0.253473311663 -0.772156655788 0.582688093185 +vn 0.757777929306 -0.368886232376 0.538233757019 +vn -0.623009026051 0.664530754089 -0.412624120712 +vn 0.285551220179 0.869218170643 -0.403633773327 +vn 0.274834781885 0.908923387527 -0.313566774130 +vn 0.274834781885 0.908923387527 -0.313566774130 +vn -0.581666529179 0.743011713028 -0.331055343151 +vn -0.623009026051 0.664530754089 -0.412624120712 +vn 0.274834781885 0.908923387527 -0.313566774130 +vn 0.285551220179 0.869218170643 -0.403633773327 +vn 0.952248871326 0.304680645466 0.019794657826 +vn 0.952248871326 0.304680645466 0.019794657826 +vn 0.934458494186 0.322290331125 0.151381283998 +vn 0.274834781885 0.908923387527 -0.313566774130 +vn 0.952248871326 0.304680645466 0.019794657826 +vn 0.807383418083 -0.537694036961 0.242934510112 +vn 0.757777929306 -0.368886232376 0.538233757019 +vn 0.757777929306 -0.368886232376 0.538233757019 +vn 0.934458494186 0.322290331125 0.151381283998 +vn 0.952248871326 0.304680645466 0.019794657826 +vn -0.253473311663 -0.772156655788 0.582688093185 +vn -0.061535436660 -0.933928251266 0.352124094963 +vn -0.945911884308 -0.323958635330 -0.017364645377 +vn -0.945911884308 -0.323958635330 -0.017364645377 +vn -0.996103525162 -0.017238132656 0.086490817368 +vn -0.253473311663 -0.772156655788 0.582688093185 +vn -0.945911884308 -0.323958635330 -0.017364645377 +vn -0.623009026051 0.664530754089 -0.412624120712 +vn -0.581666529179 0.743011713028 -0.331055343151 +vn -0.581666529179 0.743011713028 -0.331055343151 +vn -0.996103525162 -0.017238132656 0.086490817368 +vn -0.945911884308 -0.323958635330 -0.017364645377 +vn -0.807789504528 -0.443095922470 -0.388770043850 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.979369640350 0.134773358703 -0.150569871068 +vn -0.979369640350 0.134773358703 -0.150569871068 +vn -0.890372574329 0.080532528460 -0.448052674532 +vn -0.807789504528 -0.443095922470 -0.388770043850 +vn -0.728950142860 -0.327087074518 -0.601369857788 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.807789504528 -0.443095922470 -0.388770043850 +vn -0.728950142860 -0.327087074518 -0.601369857788 +vn -0.618258059025 0.073811292648 -0.782501697540 +vn -0.496197491884 0.338221609592 -0.799621284008 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.728950142860 -0.327087074518 -0.601369857788 +vn -0.618258059025 0.073811292648 -0.782501697540 +vn -0.458354860544 0.598978698254 -0.656608939171 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn -0.496197491884 0.338221609592 -0.799621284008 +vn -0.496197491884 0.338221609592 -0.799621284008 +vn -0.618258059025 0.073811292648 -0.782501697540 +vn -0.458354860544 0.598978698254 -0.656608939171 +vn -0.776327371597 0.532938063145 -0.336589962244 +vn -0.495899587870 0.820320844650 -0.284881204367 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn -0.458354860544 0.598978698254 -0.656608939171 +vn -0.776327371597 0.532938063145 -0.336589962244 +vn -0.890372574329 0.080532528460 -0.448052674532 +vn -0.979369640350 0.134773358703 -0.150569871068 +vn -0.495899587870 0.820320844650 -0.284881204367 +vn -0.495899587870 0.820320844650 -0.284881204367 +vn -0.776327371597 0.532938063145 -0.336589962244 +vn -0.890372574329 0.080532528460 -0.448052674532 +vn -0.711501002312 -0.684330821037 -0.159554719925 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.906276762486 -0.404754072428 -0.121805310249 +vn -0.906276762486 -0.404754072428 -0.121805310249 +vn -0.845550715923 -0.427685022354 -0.319577127695 +vn -0.711501002312 -0.684330821037 -0.159554719925 +vn -0.706272184849 -0.603011190891 -0.370887011290 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.711501002312 -0.684330821037 -0.159554719925 +vn -0.706272184849 -0.603011190891 -0.370887011290 +vn -0.723380565643 -0.383380830288 -0.574229657650 +vn -0.685438394547 -0.309446930885 -0.659103035927 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.706272184849 -0.603011190891 -0.370887011290 +vn -0.723380565643 -0.383380830288 -0.574229657650 +vn -0.775762677193 -0.188441053033 -0.602231025696 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.685438394547 -0.309446930885 -0.659103035927 +vn -0.685438394547 -0.309446930885 -0.659103035927 +vn -0.723380565643 -0.383380830288 -0.574229657650 +vn -0.775762677193 -0.188441053033 -0.602231025696 +vn -0.909171402454 -0.153872847557 -0.386950284243 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.775762677193 -0.188441053033 -0.602231025696 +vn -0.909171402454 -0.153872847557 -0.386950284243 +vn -0.845550715923 -0.427685022354 -0.319577127695 +vn -0.906276762486 -0.404754072428 -0.121805310249 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.984793066978 -0.172015860677 -0.024353824556 +vn -0.909171402454 -0.153872847557 -0.386950284243 +vn -0.845550715923 -0.427685022354 -0.319577127695 +vn -0.796449840069 -0.575604200363 -0.185330703855 +vn -0.858372688293 -0.511320352554 -0.041807256639 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.888054728508 -0.403473645449 -0.220381125808 +vn -0.796449840069 -0.575604200363 -0.185330703855 +vn -0.701268851757 -0.693833172321 -0.163760513067 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.858372688293 -0.511320352554 -0.041807256639 +vn -0.858372688293 -0.511320352554 -0.041807256639 +vn -0.796449840069 -0.575604200363 -0.185330703855 +vn -0.701268851757 -0.693833172321 -0.163760513067 +vn -0.670601308346 -0.706431031227 -0.226382493973 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.701268851757 -0.693833172321 -0.163760513067 +vn -0.670601308346 -0.706431031227 -0.226382493973 +vn -0.706466317177 -0.613281667233 -0.353257507086 +vn -0.631184875965 -0.605723857880 -0.484462857246 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.670601308346 -0.706431031227 -0.226382493973 +vn -0.706466317177 -0.613281667233 -0.353257507086 +vn -0.788561046124 -0.477070689201 -0.388040006161 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.631184875965 -0.605723857880 -0.484462857246 +vn -0.631184875965 -0.605723857880 -0.484462857246 +vn -0.706466317177 -0.613281667233 -0.353257507086 +vn -0.788561046124 -0.477070689201 -0.388040006161 +vn -0.888054728508 -0.403473645449 -0.220381125808 +vn -0.893056094646 -0.445511609316 0.063009694219 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.788561046124 -0.477070689201 -0.388040006161 +vn -0.888054728508 -0.403473645449 -0.220381125808 +vn -0.228597149253 -0.963452041149 0.139655098319 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn -0.667753398418 -0.732233583927 0.133938133717 +vn -0.667753398418 -0.732233583927 0.133938133717 +vn -0.638963222504 -0.764738500118 -0.083072558045 +vn -0.228597149253 -0.963452041149 0.139655098319 +vn -0.064416959882 -0.989249408245 -0.131286263466 +vn 0.222899302840 -0.961414158344 0.161241352558 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn 0.103919081390 -0.905755519867 0.410862177610 +vn -0.228597149253 -0.963452041149 0.139655098319 +vn -0.064416959882 -0.989249408245 -0.131286263466 +vn -0.400125116110 -0.844774186611 -0.355325788260 +vn -0.278032571077 -0.915405213833 -0.291086286306 +vn 0.222899302840 -0.961414158344 0.161241352558 +vn 0.222899302840 -0.961414158344 0.161241352558 +vn -0.064416959882 -0.989249408245 -0.131286263466 +vn -0.400125116110 -0.844774186611 -0.355325788260 +vn -0.656732261181 -0.623147845268 -0.424722850323 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.278032571077 -0.915405213833 -0.291086286306 +vn -0.278032571077 -0.915405213833 -0.291086286306 +vn -0.400125116110 -0.844774186611 -0.355325788260 +vn -0.656732261181 -0.623147845268 -0.424722850323 +vn -0.846791744232 -0.483428299427 -0.221902847290 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.656732261181 -0.623147845268 -0.424722850323 +vn -0.846791744232 -0.483428299427 -0.221902847290 +vn -0.638963222504 -0.764738500118 -0.083072558045 +vn -0.667753398418 -0.732233583927 0.133938133717 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.846791744232 -0.483428299427 -0.221902847290 +vn -0.638963222504 -0.764738500118 -0.083072558045 +vn -0.298239111900 -0.830386161804 0.470650851727 +vn -0.899286210537 -0.416854232550 0.132351279259 +vn -0.858372688293 -0.511320352554 -0.041807256639 +vn -0.858372688293 -0.511320352554 -0.041807256639 +vn -0.884231448174 -0.461644798517 0.070843711495 +vn -0.298239111900 -0.830386161804 0.470650851727 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn 0.222899302840 -0.961414158344 0.161241352558 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn 0.542366027832 -0.667315959930 0.510419964790 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn 0.343221575022 0.333233237267 0.878154039383 +vn 0.449752897024 0.215031251311 0.866881728172 +vn 0.484686046839 0.057347863913 0.872806191444 +vn 0.484686046839 0.057347863913 0.872806191444 +vn 0.412116557360 0.192709788680 0.890518307686 +vn 0.343221575022 0.333233237267 0.878154039383 +vn -0.631184875965 -0.605723857880 -0.484462857246 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.633862555027 -0.426885992289 -0.644970238209 +vn -0.633862555027 -0.426885992289 -0.644970238209 +vn -0.564986348152 -0.593238472939 -0.573461830616 +vn -0.631184875965 -0.605723857880 -0.484462857246 +vn 0.586589038372 -0.130760043859 0.799259126186 +vn 0.449752897024 0.215031251311 0.866881728172 +vn 0.518878757954 0.427382588387 0.740343809128 +vn 0.518878757954 0.427382588387 0.740343809128 +vn 0.668927371502 0.054616473615 0.741318523884 +vn 0.586589038372 -0.130760043859 0.799259126186 +vn -0.644962370396 0.058819733560 -0.761947333813 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.496197491884 0.338221609592 -0.799621284008 +vn -0.496197491884 0.338221609592 -0.799621284008 +vn -0.581009745598 0.524481356144 -0.622372090816 +vn -0.644962370396 0.058819733560 -0.761947333813 +vn -0.685438394547 -0.309446930885 -0.659103035927 +vn -0.714198350906 -0.144104629755 -0.684948563576 +vn -0.644962370396 0.058819733560 -0.761947333813 +vn -0.644962370396 0.058819733560 -0.761947333813 +vn -0.659071147442 -0.200914278626 -0.724747300148 +vn -0.685438394547 -0.309446930885 -0.659103035927 +vn -0.765450656414 0.598935127258 0.235291317105 +vn -0.383206188679 0.894132435322 0.231689810753 +vn -0.148294940591 0.763890028000 0.628076970577 +vn -0.148294940591 0.763890028000 0.628076970577 +vn -0.554942369461 0.176653087139 0.812916159630 +vn -0.765450656414 0.598935127258 0.235291317105 +vn 0.067035764456 -0.147402390838 0.986802279949 +vn -0.554942369461 0.176653087139 0.812916159630 +vn -0.148294940591 0.763890028000 0.628076970577 +vn -0.148294940591 0.763890028000 0.628076970577 +vn -0.078894823790 0.316832482815 0.945194602013 +vn 0.067035764456 -0.147402390838 0.986802279949 +vn 0.720277249813 0.069460451603 0.690199911594 +vn 0.162469699979 -0.467619746923 0.868870139122 +vn 0.067035764456 -0.147402390838 0.986802279949 +vn 0.067035764456 -0.147402390838 0.986802279949 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.720277249813 0.069460451603 0.690199911594 +vn -0.554942369461 0.176653087139 0.812916159630 +vn -0.621210396290 -0.516742289066 0.589130699635 +vn -0.941432178020 0.205026820302 0.267711549997 +vn -0.941432178020 0.205026820302 0.267711549997 +vn -0.765450656414 0.598935127258 0.235291317105 +vn -0.554942369461 0.176653087139 0.812916159630 +vn 0.162469699979 -0.467619746923 0.868870139122 +vn -0.621210396290 -0.516742289066 0.589130699635 +vn -0.554942369461 0.176653087139 0.812916159630 +vn -0.554942369461 0.176653087139 0.812916159630 +vn 0.067035764456 -0.147402390838 0.986802279949 +vn 0.162469699979 -0.467619746923 0.868870139122 +vn -0.573264300823 -0.621842443943 0.533554136753 +vn -0.002327257767 -0.462118774652 0.886815011501 +vn 0.152383819222 -0.058323230594 0.986598968506 +vn 0.152383819222 -0.058323230594 0.986598968506 +vn -0.735706865788 -0.054184451699 0.675129234791 +vn -0.573264300823 -0.621842443943 0.533554136753 +vn -0.476167112589 -0.808386087418 0.346087813377 +vn -0.340674638748 -0.929889678955 0.138729795814 +vn -0.937267899513 -0.270961970091 -0.219336494803 +vn -0.937267899513 -0.270961970091 -0.219336494803 +vn -0.998421430588 -0.004686263390 0.055970139802 +vn -0.476167112589 -0.808386087418 0.346087813377 +vn 0.513688981533 -0.684592545033 0.517162144184 +vn -0.340674638748 -0.929889678955 0.138729795814 +vn -0.476167112589 -0.808386087418 0.346087813377 +vn -0.476167112589 -0.808386087418 0.346087813377 +vn 0.504871308804 -0.590458869934 0.629653275013 +vn 0.513688981533 -0.684592545033 0.517162144184 +vn -0.998421430588 -0.004686263390 0.055970139802 +vn -0.937267899513 -0.270961970091 -0.219336494803 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn -0.646847009659 0.741001725197 -0.180292502046 +vn -0.998421430588 -0.004686263390 0.055970139802 +vn -0.646847009659 0.741001725197 -0.180292502046 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn 0.444323122501 0.850608170033 -0.281145304441 +vn 0.444323122501 0.850608170033 -0.281145304441 +vn 0.301544338465 0.953448176384 0.002751463326 +vn -0.646847009659 0.741001725197 -0.180292502046 +vn 0.301544338465 0.953448176384 0.002751463326 +vn 0.444323122501 0.850608170033 -0.281145304441 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.826578557491 0.386441767216 0.409182965755 +vn 0.301544338465 0.953448176384 0.002751463326 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.513688981533 -0.684592545033 0.517162144184 +vn 0.504871308804 -0.590458869934 0.629653275013 +vn 0.504871308804 -0.590458869934 0.629653275013 +vn 0.826578557491 0.386441767216 0.409182965755 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.613426685333 0.657508313656 -0.437481969595 +vn 0.254744201899 0.720660746098 -0.644789516926 +vn -0.099195800722 0.803823649883 -0.586538732052 +vn -0.099195800722 0.803823649883 -0.586538732052 +vn 0.509444832802 0.780633270741 -0.362046450377 +vn 0.613426685333 0.657508313656 -0.437481969595 +vn 0.896798372269 0.441279530525 -0.032017208636 +vn 0.613426685333 0.657508313656 -0.437481969595 +vn 0.509444832802 0.780633270741 -0.362046450377 +vn 0.509444832802 0.780633270741 -0.362046450377 +vn 0.807750463486 0.575951337814 0.125774711370 +vn 0.896798372269 0.441279530525 -0.032017208636 +vn -0.941432178020 0.205026820302 0.267711549997 +vn -0.621210396290 -0.516742289066 0.589130699635 +vn -0.476167112589 -0.808386087418 0.346087813377 +vn -0.476167112589 -0.808386087418 0.346087813377 +vn -0.998421430588 -0.004686263390 0.055970139802 +vn -0.941432178020 0.205026820302 0.267711549997 +vn -0.621210396290 -0.516742289066 0.589130699635 +vn 0.162469699979 -0.467619746923 0.868870139122 +vn 0.504871308804 -0.590458869934 0.629653275013 +vn 0.504871308804 -0.590458869934 0.629653275013 +vn -0.476167112589 -0.808386087418 0.346087813377 +vn -0.621210396290 -0.516742289066 0.589130699635 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn -0.941432178020 0.205026820302 0.267711549997 +vn -0.998421430588 -0.004686263390 0.055970139802 +vn -0.998421430588 -0.004686263390 0.055970139802 +vn -0.646847009659 0.741001725197 -0.180292502046 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn 0.509444832802 0.780633270741 -0.362046450377 +vn -0.099195800722 0.803823649883 -0.586538732052 +vn -0.184017047286 0.939944207668 -0.287476360798 +vn -0.184017047286 0.939944207668 -0.287476360798 +vn 0.369211822748 0.922699332237 -0.110943920910 +vn 0.509444832802 0.780633270741 -0.362046450377 +vn 0.807750463486 0.575951337814 0.125774711370 +vn 0.509444832802 0.780633270741 -0.362046450377 +vn 0.369211822748 0.922699332237 -0.110943920910 +vn 0.369211822748 0.922699332237 -0.110943920910 +vn 0.581056177616 0.793762326241 0.179764077067 +vn 0.807750463486 0.575951337814 0.125774711370 +vn 0.162469699979 -0.467619746923 0.868870139122 +vn 0.720277249813 0.069460451603 0.690199911594 +vn 0.826578557491 0.386441767216 0.409182965755 +vn 0.826578557491 0.386441767216 0.409182965755 +vn 0.504871308804 -0.590458869934 0.629653275013 +vn 0.162469699979 -0.467619746923 0.868870139122 +vn 0.613426685333 0.657508313656 -0.437481969595 +vn 0.707616925240 0.585469484329 -0.395605623722 +vn 0.044693116099 0.737179398537 -0.674217343330 +vn 0.044693116099 0.737179398537 -0.674217343330 +vn 0.254744201899 0.720660746098 -0.644789516926 +vn 0.613426685333 0.657508313656 -0.437481969595 +vn 0.896798372269 0.441279530525 -0.032017208636 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.707616925240 0.585469484329 -0.395605623722 +vn 0.707616925240 0.585469484329 -0.395605623722 +vn 0.613426685333 0.657508313656 -0.437481969595 +vn 0.896798372269 0.441279530525 -0.032017208636 +vn 0.807750463486 0.575951337814 0.125774711370 +vn 0.720277249813 0.069460451603 0.690199911594 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.896798372269 0.441279530525 -0.032017208636 +vn 0.807750463486 0.575951337814 0.125774711370 +vn 0.581056177616 0.793762326241 0.179764077067 +vn 0.826578557491 0.386441767216 0.409182965755 +vn 0.720277249813 0.069460451603 0.690199911594 +vn 0.720277249813 0.069460451603 0.690199911594 +vn 0.807750463486 0.575951337814 0.125774711370 +vn 0.581056177616 0.793762326241 0.179764077067 +vn 0.369211822748 0.922699332237 -0.110943920910 +vn 0.301544338465 0.953448176384 0.002751463326 +vn 0.826578557491 0.386441767216 0.409182965755 +vn 0.826578557491 0.386441767216 0.409182965755 +vn 0.581056177616 0.793762326241 0.179764077067 +vn 0.369211822748 0.922699332237 -0.110943920910 +vn -0.184017047286 0.939944207668 -0.287476360798 +vn -0.646847009659 0.741001725197 -0.180292502046 +vn 0.301544338465 0.953448176384 0.002751463326 +vn 0.301544338465 0.953448176384 0.002751463326 +vn 0.369211822748 0.922699332237 -0.110943920910 +vn -0.184017047286 0.939944207668 -0.287476360798 +vn -0.099195800722 0.803823649883 -0.586538732052 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn -0.646847009659 0.741001725197 -0.180292502046 +vn -0.646847009659 0.741001725197 -0.180292502046 +vn -0.184017047286 0.939944207668 -0.287476360798 +vn -0.099195800722 0.803823649883 -0.586538732052 +vn 0.254744201899 0.720660746098 -0.644789516926 +vn 0.044693116099 0.737179398537 -0.674217343330 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn -0.099195800722 0.803823649883 -0.586538732052 +vn 0.254744201899 0.720660746098 -0.644789516926 +vn -0.573264300823 -0.621842443943 0.533554136753 +vn -0.852300584316 -0.522522985935 -0.023525990546 +vn -0.852417647839 -0.424412041903 -0.305382728577 +vn -0.852417647839 -0.424412041903 -0.305382728577 +vn -0.363146990538 -0.909030199051 0.204422011971 +vn -0.573264300823 -0.621842443943 0.533554136753 +vn -0.002327257767 -0.462118774652 0.886815011501 +vn -0.573264300823 -0.621842443943 0.533554136753 +vn -0.363146990538 -0.909030199051 0.204422011971 +vn -0.363146990538 -0.909030199051 0.204422011971 +vn 0.388242930174 -0.640620768070 0.662474453449 +vn -0.002327257767 -0.462118774652 0.886815011501 +vn -0.852417647839 -0.424412041903 -0.305382728577 +vn -0.852300584316 -0.522522985935 -0.023525990546 +vn -0.984832644463 0.126232400537 -0.119038090110 +vn -0.984832644463 0.126232400537 -0.119038090110 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn -0.852417647839 -0.424412041903 -0.305382728577 +vn 0.032985683531 0.980769813061 -0.192360520363 +vn -0.101965256035 0.950193762779 -0.294507831335 +vn -0.005631436128 0.999072909355 0.042680554092 +vn -0.005631436128 0.999072909355 0.042680554092 +vn 0.167077019811 0.982238590717 -0.085397034883 +vn 0.032985683531 0.980769813061 -0.192360520363 +vn 0.167077019811 0.982238590717 -0.085397034883 +vn -0.005631436128 0.999072909355 0.042680554092 +vn 0.187485709786 0.938560783863 0.289746075869 +vn 0.187485709786 0.938560783863 0.289746075869 +vn 0.360706925392 0.930654346943 -0.061424735934 +vn 0.167077019811 0.982238590717 -0.085397034883 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.152383819222 -0.058323230594 0.986598968506 +vn -0.002327257767 -0.462118774652 0.886815011501 +vn -0.002327257767 -0.462118774652 0.886815011501 +vn 0.388242930174 -0.640620768070 0.662474453449 +vn 0.793979823589 0.261099308729 0.549020230770 +vn -0.937267899513 -0.270961970091 -0.219336494803 +vn -0.340674638748 -0.929889678955 0.138729795814 +vn -0.272706478834 -0.959422051907 0.071697592735 +vn -0.272706478834 -0.959422051907 0.071697592735 +vn -0.825297355652 -0.437561929226 -0.356964796782 +vn -0.937267899513 -0.270961970091 -0.219336494803 +vn -0.340674638748 -0.929889678955 0.138729795814 +vn 0.513688981533 -0.684592545033 0.517162144184 +vn 0.441654533148 -0.722736120224 0.531595468521 +vn 0.441654533148 -0.722736120224 0.531595468521 +vn -0.272706478834 -0.959422051907 0.071697592735 +vn -0.340674638748 -0.929889678955 0.138729795814 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn -0.937267899513 -0.270961970091 -0.219336494803 +vn -0.825297355652 -0.437561929226 -0.356964796782 +vn -0.825297355652 -0.437561929226 -0.356964796782 +vn -0.806880056858 0.269844979048 -0.525479078293 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn 0.434042304754 0.843485772610 -0.316447526217 +vn 0.002065459266 0.795183241367 -0.606365740299 +vn -0.333856552839 0.903271317482 -0.269519507885 +vn -0.333856552839 0.903271317482 -0.269519507885 +vn 0.229095175862 0.971845209599 0.055066000670 +vn 0.434042304754 0.843485772610 -0.316447526217 +vn 0.816090106964 0.577879071236 -0.007257726509 +vn 0.434042304754 0.843485772610 -0.316447526217 +vn 0.229095175862 0.971845209599 0.055066000670 +vn 0.229095175862 0.971845209599 0.055066000670 +vn 0.668103694916 0.661955296993 0.339783221483 +vn 0.816090106964 0.577879071236 -0.007257726509 +vn 0.513688981533 -0.684592545033 0.517162144184 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.855770230293 -0.002302488778 0.517350971699 +vn 0.855770230293 -0.002302488778 0.517350971699 +vn 0.441654533148 -0.722736120224 0.531595468521 +vn 0.513688981533 -0.684592545033 0.517162144184 +vn -0.825297355652 -0.437561929226 -0.356964796782 +vn -0.272706478834 -0.959422051907 0.071697592735 +vn -0.363146990538 -0.909030199051 0.204422011971 +vn -0.363146990538 -0.909030199051 0.204422011971 +vn -0.852417647839 -0.424412041903 -0.305382728577 +vn -0.825297355652 -0.437561929226 -0.356964796782 +vn -0.272706478834 -0.959422051907 0.071697592735 +vn 0.441654533148 -0.722736120224 0.531595468521 +vn 0.388242930174 -0.640620768070 0.662474453449 +vn 0.388242930174 -0.640620768070 0.662474453449 +vn -0.363146990538 -0.909030199051 0.204422011971 +vn -0.272706478834 -0.959422051907 0.071697592735 +vn -0.806880056858 0.269844979048 -0.525479078293 +vn -0.825297355652 -0.437561929226 -0.356964796782 +vn -0.852417647839 -0.424412041903 -0.305382728577 +vn -0.852417647839 -0.424412041903 -0.305382728577 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn -0.806880056858 0.269844979048 -0.525479078293 +vn 0.229095175862 0.971845209599 0.055066000670 +vn -0.333856552839 0.903271317482 -0.269519507885 +vn -0.298334419727 0.949311316013 0.099018156528 +vn -0.298334419727 0.949311316013 0.099018156528 +vn 0.038500741124 0.970658123493 0.237361595035 +vn 0.229095175862 0.971845209599 0.055066000670 +vn 0.668103694916 0.661955296993 0.339783221483 +vn 0.229095175862 0.971845209599 0.055066000670 +vn 0.038500741124 0.970658123493 0.237361595035 +vn 0.038500741124 0.970658123493 0.237361595035 +vn 0.510277152061 0.789386153221 0.341301500797 +vn 0.668103694916 0.661955296993 0.339783221483 +vn 0.441654533148 -0.722736120224 0.531595468521 +vn 0.855770230293 -0.002302488778 0.517350971699 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.388242930174 -0.640620768070 0.662474453449 +vn 0.441654533148 -0.722736120224 0.531595468521 +vn 0.434042304754 0.843485772610 -0.316447526217 +vn 0.444323122501 0.850608170033 -0.281145304441 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn 0.002065459266 0.795183241367 -0.606365740299 +vn 0.434042304754 0.843485772610 -0.316447526217 +vn 0.816090106964 0.577879071236 -0.007257726509 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.444323122501 0.850608170033 -0.281145304441 +vn 0.444323122501 0.850608170033 -0.281145304441 +vn 0.434042304754 0.843485772610 -0.316447526217 +vn 0.816090106964 0.577879071236 -0.007257726509 +vn 0.668103694916 0.661955296993 0.339783221483 +vn 0.855770230293 -0.002302488778 0.517350971699 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.933602452278 0.183274835348 0.307890951633 +vn 0.816090106964 0.577879071236 -0.007257726509 +vn 0.668103694916 0.661955296993 0.339783221483 +vn 0.510277152061 0.789386153221 0.341301500797 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.855770230293 -0.002302488778 0.517350971699 +vn 0.855770230293 -0.002302488778 0.517350971699 +vn 0.668103694916 0.661955296993 0.339783221483 +vn 0.510277152061 0.789386153221 0.341301500797 +vn 0.038500741124 0.970658123493 0.237361595035 +vn 0.195449680090 0.978367269039 0.067800879478 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.510277152061 0.789386153221 0.341301500797 +vn 0.038500741124 0.970658123493 0.237361595035 +vn -0.298334419727 0.949311316013 0.099018156528 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn 0.195449680090 0.978367269039 0.067800879478 +vn 0.195449680090 0.978367269039 0.067800879478 +vn 0.038500741124 0.970658123493 0.237361595035 +vn -0.298334419727 0.949311316013 0.099018156528 +vn -0.333856552839 0.903271317482 -0.269519507885 +vn -0.806880056858 0.269844979048 -0.525479078293 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn -0.298334419727 0.949311316013 0.099018156528 +vn -0.333856552839 0.903271317482 -0.269519507885 +vn 0.002065459266 0.795183241367 -0.606365740299 +vn -0.593913555145 0.612360298634 -0.521806061268 +vn -0.806880056858 0.269844979048 -0.525479078293 +vn -0.806880056858 0.269844979048 -0.525479078293 +vn -0.333856552839 0.903271317482 -0.269519507885 +vn 0.002065459266 0.795183241367 -0.606365740299 +vn -0.702350616455 0.688323199749 -0.181424275041 +vn -0.984832644463 0.126232400537 -0.119038090110 +vn -0.735706865788 -0.054184451699 0.675129234791 +vn -0.735706865788 -0.054184451699 0.675129234791 +vn -0.580564439297 0.618157505989 0.529930353165 +vn -0.702350616455 0.688323199749 -0.181424275041 +vn -0.273582547903 0.913477420807 -0.301183640957 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn -0.984832644463 0.126232400537 -0.119038090110 +vn -0.984832644463 0.126232400537 -0.119038090110 +vn -0.702350616455 0.688323199749 -0.181424275041 +vn -0.273582547903 0.913477420807 -0.301183640957 +vn 0.309013634920 0.944480478764 -0.111656844616 +vn 0.195449680090 0.978367269039 0.067800879478 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn -0.740837633610 0.595236599445 -0.311212152243 +vn -0.273582547903 0.913477420807 -0.301183640957 +vn 0.309013634920 0.944480478764 -0.111656844616 +vn 0.646426260471 0.607408761978 0.461722522974 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.195449680090 0.978367269039 0.067800879478 +vn 0.195449680090 0.978367269039 0.067800879478 +vn 0.309013634920 0.944480478764 -0.111656844616 +vn 0.646426260471 0.607408761978 0.461722522974 +vn 0.117484591901 0.535072982311 0.836596846581 +vn 0.152383819222 -0.058323230594 0.986598968506 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.793979823589 0.261099308729 0.549020230770 +vn 0.646426260471 0.607408761978 0.461722522974 +vn 0.117484591901 0.535072982311 0.836596846581 +vn -0.580564439297 0.618157505989 0.529930353165 +vn -0.735706865788 -0.054184451699 0.675129234791 +vn 0.152383819222 -0.058323230594 0.986598968506 +vn 0.152383819222 -0.058323230594 0.986598968506 +vn 0.117484591901 0.535072982311 0.836596846581 +vn -0.580564439297 0.618157505989 0.529930353165 +vn -0.101965256035 0.950193762779 -0.294507831335 +vn -0.702350616455 0.688323199749 -0.181424275041 +vn -0.580564439297 0.618157505989 0.529930353165 +vn -0.580564439297 0.618157505989 0.529930353165 +vn -0.005631436128 0.999072909355 0.042680554092 +vn -0.101965256035 0.950193762779 -0.294507831335 +vn 0.032985683531 0.980769813061 -0.192360520363 +vn -0.273582547903 0.913477420807 -0.301183640957 +vn -0.702350616455 0.688323199749 -0.181424275041 +vn -0.702350616455 0.688323199749 -0.181424275041 +vn -0.101965256035 0.950193762779 -0.294507831335 +vn 0.032985683531 0.980769813061 -0.192360520363 +vn 0.167077019811 0.982238590717 -0.085397034883 +vn 0.309013634920 0.944480478764 -0.111656844616 +vn -0.273582547903 0.913477420807 -0.301183640957 +vn -0.273582547903 0.913477420807 -0.301183640957 +vn 0.032985683531 0.980769813061 -0.192360520363 +vn 0.167077019811 0.982238590717 -0.085397034883 +vn 0.360706925392 0.930654346943 -0.061424735934 +vn 0.646426260471 0.607408761978 0.461722522974 +vn 0.309013634920 0.944480478764 -0.111656844616 +vn 0.309013634920 0.944480478764 -0.111656844616 +vn 0.167077019811 0.982238590717 -0.085397034883 +vn 0.360706925392 0.930654346943 -0.061424735934 +vn 0.187485709786 0.938560783863 0.289746075869 +vn 0.117484591901 0.535072982311 0.836596846581 +vn 0.646426260471 0.607408761978 0.461722522974 +vn 0.646426260471 0.607408761978 0.461722522974 +vn 0.360706925392 0.930654346943 -0.061424735934 +vn 0.187485709786 0.938560783863 0.289746075869 +vn -0.005631436128 0.999072909355 0.042680554092 +vn -0.580564439297 0.618157505989 0.529930353165 +vn 0.117484591901 0.535072982311 0.836596846581 +vn 0.117484591901 0.535072982311 0.836596846581 +vn 0.187485709786 0.938560783863 0.289746075869 +vn -0.005631436128 0.999072909355 0.042680554092 +vn 0.220938414335 0.246594354510 0.943598151207 +vn 0.067944653332 -0.146262273192 0.986909747124 +vn 0.105647958815 0.477384954691 0.872319936752 +vn 0.105647958815 0.477384954691 0.872319936752 +vn 0.101169690490 0.512140154839 0.852922737598 +vn 0.220938414335 0.246594354510 0.943598151207 +vn 0.792960882187 -0.082992456853 0.603593647480 +vn 0.685664176941 0.024288894609 0.727512657642 +vn 0.777859270573 0.059331193566 0.625631511211 +vn 0.777859270573 0.059331193566 0.625631511211 +vn 0.856723487377 0.313828945160 0.409311980009 +vn 0.792960882187 -0.082992456853 0.603593647480 +vn 0.386256456375 0.060981024057 0.920373439789 +vn 0.298508673906 0.235164701939 0.924981176853 +vn 0.343221575022 0.333233237267 0.878154039383 +vn 0.343221575022 0.333233237267 0.878154039383 +vn 0.412116557360 0.192709788680 0.890518307686 +vn 0.386256456375 0.060981024057 0.920373439789 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn 0.222899302840 -0.961414158344 0.161241352558 +vn -0.278032571077 -0.915405213833 -0.291086286306 +vn -0.278032571077 -0.915405213833 -0.291086286306 +vn -0.131719857454 -0.939497470856 -0.316218942404 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn 0.616677582264 -0.787093162537 0.013895100914 +vn 0.616677582264 -0.787093162537 0.013895100914 +vn 0.406082540751 -0.913307428360 0.031089453027 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.605843842030 -0.687134027481 -0.400998830795 +vn -0.631184875965 -0.605723857880 -0.484462857246 +vn -0.631184875965 -0.605723857880 -0.484462857246 +vn -0.564986348152 -0.593238472939 -0.573461830616 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.334304481745 0.357836514711 -0.871890783310 +vn -0.529830276966 0.180707767606 -0.828628122807 +vn -0.408649384975 0.500134229660 -0.763460159302 +vn -0.408649384975 0.500134229660 -0.763460159302 +vn -0.000058030513 0.758348703384 -0.651849091053 +vn -0.334304481745 0.357836514711 -0.871890783310 +vn -0.644962370396 0.058819733560 -0.761947333813 +vn -0.581009745598 0.524481356144 -0.622372090816 +vn -0.408649384975 0.500134229660 -0.763460159302 +vn -0.408649384975 0.500134229660 -0.763460159302 +vn -0.529830276966 0.180707767606 -0.828628122807 +vn -0.644962370396 0.058819733560 -0.761947333813 +vn -0.716520488262 0.652290821075 -0.247214660048 +vn -0.577740788460 0.755005121231 -0.310133606195 +vn -0.383206188679 0.894132435322 0.231689810753 +vn -0.383206188679 0.894132435322 0.231689810753 +vn -0.765450656414 0.598935127258 0.235291317105 +vn -0.716520488262 0.652290821075 -0.247214660048 +vn -0.633862555027 -0.426885992289 -0.644970238209 +vn -0.717515647411 -0.506692528725 -0.477947682142 +vn -0.685438394547 -0.309446930885 -0.659103035927 +vn -0.685438394547 -0.309446930885 -0.659103035927 +vn -0.659071147442 -0.200914278626 -0.724747300148 +vn -0.633862555027 -0.426885992289 -0.644970238209 +vn -0.334304481745 0.357836514711 -0.871890783310 +vn -0.412349730730 -0.020164160058 -0.910802423954 +vn -0.556180357933 -0.108734130859 -0.823917686939 +vn -0.556180357933 -0.108734130859 -0.823917686939 +vn -0.529830276966 0.180707767606 -0.828628122807 +vn -0.334304481745 0.357836514711 -0.871890783310 +vn -0.633862555027 -0.426885992289 -0.644970238209 +vn -0.659071147442 -0.200914278626 -0.724747300148 +vn -0.556180357933 -0.108734130859 -0.823917686939 +vn -0.556180357933 -0.108734130859 -0.823917686939 +vn -0.530624270439 -0.375058025122 -0.760111391544 +vn -0.633862555027 -0.426885992289 -0.644970238209 +vn 0.071874260902 0.922927081585 0.378205835819 +vn 0.125691637397 0.965929806232 0.226232767105 +vn 0.101169690490 0.512140154839 0.852922737598 +vn 0.101169690490 0.512140154839 0.852922737598 +vn 0.105647958815 0.477384954691 0.872319936752 +vn 0.071874260902 0.922927081585 0.378205835819 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn 0.125691637397 0.965929806232 0.226232767105 +vn 0.071874260902 0.922927081585 0.378205835819 +vn 0.071874260902 0.922927081585 0.378205835819 +vn -0.284967243671 0.950918138027 -0.120616540313 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn -0.496197491884 0.338221609592 -0.799621284008 +vn -0.179032042623 0.870336353779 -0.458761513233 +vn -0.284967243671 0.950918138027 -0.120616540313 +vn -0.284967243671 0.950918138027 -0.120616540313 +vn -0.581009745598 0.524481356144 -0.622372090816 +vn -0.496197491884 0.338221609592 -0.799621284008 +vn 0.389172941446 -0.187152817845 0.901952445507 +vn 0.235978275537 -0.027912126854 0.971357405186 +vn 0.298508673906 0.235164701939 0.924981176853 +vn 0.298508673906 0.235164701939 0.924981176853 +vn 0.386256456375 0.060981024057 0.920373439789 +vn 0.389172941446 -0.187152817845 0.901952445507 +vn -0.299237340689 0.679699480534 -0.669675767422 +vn -0.408649384975 0.500134229660 -0.763460159302 +vn -0.581009745598 0.524481356144 -0.622372090816 +vn -0.581009745598 0.524481356144 -0.622372090816 +vn -0.577740788460 0.755005121231 -0.310133606195 +vn -0.299237340689 0.679699480534 -0.669675767422 +vn 0.192059397697 0.733371317387 -0.652134716511 +vn -0.000058030513 0.758348703384 -0.651849091053 +vn -0.408649384975 0.500134229660 -0.763460159302 +vn -0.408649384975 0.500134229660 -0.763460159302 +vn -0.299237340689 0.679699480534 -0.669675767422 +vn 0.192059397697 0.733371317387 -0.652134716511 +vn 0.674920856953 0.632537782192 -0.379970818758 +vn 0.565619111061 0.815543174744 -0.122328855097 +vn -0.000058030513 0.758348703384 -0.651849091053 +vn -0.000058030513 0.758348703384 -0.651849091053 +vn 0.192059397697 0.733371317387 -0.652134716511 +vn 0.674920856953 0.632537782192 -0.379970818758 +vn 0.939780056477 0.338753521442 0.045381970704 +vn 0.856723487377 0.313828945160 0.409311980009 +vn 0.565619111061 0.815543174744 -0.122328855097 +vn 0.565619111061 0.815543174744 -0.122328855097 +vn 0.674920856953 0.632537782192 -0.379970818758 +vn 0.939780056477 0.338753521442 0.045381970704 +vn 0.857936024666 -0.122563391924 0.498922824860 +vn 0.792960882187 -0.082992456853 0.603593647480 +vn 0.856723487377 0.313828945160 0.409311980009 +vn 0.856723487377 0.313828945160 0.409311980009 +vn 0.939780056477 0.338753521442 0.045381970704 +vn 0.857936024666 -0.122563391924 0.498922824860 +vn 0.067944653332 -0.146262273192 0.986909747124 +vn 0.235978275537 -0.027912126854 0.971357405186 +vn 0.389172941446 -0.187152817845 0.901952445507 +vn 0.389172941446 -0.187152817845 0.901952445507 +vn 0.371329933405 -0.353956162930 0.858387529850 +vn 0.067944653332 -0.146262273192 0.986909747124 +vn 0.371329933405 -0.353956162930 0.858387529850 +vn 0.389172941446 -0.187152817845 0.901952445507 +vn 0.792960882187 -0.082992456853 0.603593647480 +vn 0.792960882187 -0.082992456853 0.603593647480 +vn 0.857936024666 -0.122563391924 0.498922824860 +vn 0.371329933405 -0.353956162930 0.858387529850 +vn 0.283248275518 -0.164805412292 0.944780170918 +vn 0.067035764456 -0.147402390838 0.986802279949 +vn -0.078894823790 0.316832482815 0.945194602013 +vn -0.078894823790 0.316832482815 0.945194602013 +vn 0.075631655753 -0.076423481107 0.994202852249 +vn 0.283248275518 -0.164805412292 0.944780170918 +vn 0.707616925240 0.585469484329 -0.395605623722 +vn 0.674920856953 0.632537782192 -0.379970818758 +vn 0.192059397697 0.733371317387 -0.652134716511 +vn 0.192059397697 0.733371317387 -0.652134716511 +vn 0.044693116099 0.737179398537 -0.674217343330 +vn 0.707616925240 0.585469484329 -0.395605623722 +vn 0.939780056477 0.338753521442 0.045381970704 +vn 0.674920856953 0.632537782192 -0.379970818758 +vn 0.707616925240 0.585469484329 -0.395605623722 +vn 0.707616925240 0.585469484329 -0.395605623722 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.939780056477 0.338753521442 0.045381970704 +vn 0.710684239864 -0.017598621547 0.703290998936 +vn 0.857936024666 -0.122563391924 0.498922824860 +vn 0.939780056477 0.338753521442 0.045381970704 +vn 0.939780056477 0.338753521442 0.045381970704 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.710684239864 -0.017598621547 0.703290998936 +vn 0.371329933405 -0.353956162930 0.858387529850 +vn 0.857936024666 -0.122563391924 0.498922824860 +vn 0.710684239864 -0.017598621547 0.703290998936 +vn 0.710684239864 -0.017598621547 0.703290998936 +vn 0.283248275518 -0.164805412292 0.944780170918 +vn 0.371329933405 -0.353956162930 0.858387529850 +vn 0.067944653332 -0.146262273192 0.986909747124 +vn 0.371329933405 -0.353956162930 0.858387529850 +vn 0.283248275518 -0.164805412292 0.944780170918 +vn 0.283248275518 -0.164805412292 0.944780170918 +vn 0.075631655753 -0.076423481107 0.994202852249 +vn 0.067944653332 -0.146262273192 0.986909747124 +vn 0.105647958815 0.477384954691 0.872319936752 +vn 0.067944653332 -0.146262273192 0.986909747124 +vn 0.075631655753 -0.076423481107 0.994202852249 +vn 0.075631655753 -0.076423481107 0.994202852249 +vn -0.078894823790 0.316832482815 0.945194602013 +vn 0.105647958815 0.477384954691 0.872319936752 +vn -0.284967243671 0.950918138027 -0.120616540313 +vn 0.071874260902 0.922927081585 0.378205835819 +vn -0.148294940591 0.763890028000 0.628076970577 +vn -0.148294940591 0.763890028000 0.628076970577 +vn -0.383206188679 0.894132435322 0.231689810753 +vn -0.284967243671 0.950918138027 -0.120616540313 +vn -0.577740788460 0.755005121231 -0.310133606195 +vn -0.581009745598 0.524481356144 -0.622372090816 +vn -0.284967243671 0.950918138027 -0.120616540313 +vn -0.284967243671 0.950918138027 -0.120616540313 +vn -0.383206188679 0.894132435322 0.231689810753 +vn -0.577740788460 0.755005121231 -0.310133606195 +vn 0.192059397697 0.733371317387 -0.652134716511 +vn -0.299237340689 0.679699480534 -0.669675767422 +vn -0.462693333626 0.681148767471 -0.567407488823 +vn -0.462693333626 0.681148767471 -0.567407488823 +vn 0.044693116099 0.737179398537 -0.674217343330 +vn 0.192059397697 0.733371317387 -0.652134716511 +vn -0.148294940591 0.763890028000 0.628076970577 +vn 0.071874260902 0.922927081585 0.378205835819 +vn 0.105647958815 0.477384954691 0.872319936752 +vn 0.105647958815 0.477384954691 0.872319936752 +vn -0.078894823790 0.316832482815 0.945194602013 +vn -0.148294940591 0.763890028000 0.628076970577 +vn -0.716520488262 0.652290821075 -0.247214660048 +vn -0.462693333626 0.681148767471 -0.567407488823 +vn -0.299237340689 0.679699480534 -0.669675767422 +vn -0.299237340689 0.679699480534 -0.669675767422 +vn -0.577740788460 0.755005121231 -0.310133606195 +vn -0.716520488262 0.652290821075 -0.247214660048 +vn -0.716520488262 0.652290821075 -0.247214660048 +vn -0.765450656414 0.598935127258 0.235291317105 +vn -0.791678369045 0.572285056114 -0.213857769966 +vn -0.791678369045 0.572285056114 -0.213857769966 +vn -0.462693333626 0.681148767471 -0.567407488823 +vn -0.716520488262 0.652290821075 -0.247214660048 +vn 0.749943137169 -0.607590794563 0.261569708586 +vn 0.833654463291 -0.165826693177 0.526803314686 +vn 0.819841921329 -0.267875581980 0.506065070629 +vn 0.819841921329 -0.267875581980 0.506065070629 +vn 0.764927029610 -0.576102018356 0.288085192442 +vn 0.749943137169 -0.607590794563 0.261569708586 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn 0.542366027832 -0.667315959930 0.510419964790 +vn 0.586589038372 -0.130760043859 0.799259126186 +vn 0.586589038372 -0.130760043859 0.799259126186 +vn 0.668927371502 0.054616473615 0.741318523884 +vn 0.575854957104 -0.556808650494 0.598627746105 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn 0.406082540751 -0.913307428360 0.031089453027 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn -0.131719857454 -0.939497470856 -0.316218942404 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn 0.636817932129 -0.665135920048 0.389945089817 +vn 0.542366027832 -0.667315959930 0.510419964790 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn 0.259312212467 -0.961311340332 0.092938996851 +vn 0.406082540751 -0.913307428360 0.031089453027 +vn 0.636817932129 -0.665135920048 0.389945089817 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.586589038372 -0.130760043859 0.799259126186 +vn 0.542366027832 -0.667315959930 0.510419964790 +vn 0.542366027832 -0.667315959930 0.510419964790 +vn 0.636817932129 -0.665135920048 0.389945089817 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.235978275537 -0.027912126854 0.971357405186 +vn 0.067944653332 -0.146262273192 0.986909747124 +vn 0.220938414335 0.246594354510 0.943598151207 +vn 0.220938414335 0.246594354510 0.943598151207 +vn 0.371117204428 0.216821014881 0.902917861938 +vn 0.235978275537 -0.027912126854 0.971357405186 +vn 0.298508673906 0.235164701939 0.924981176853 +vn 0.381070137024 0.377225160599 0.844089269638 +vn 0.447196930647 0.457334220409 0.768674373627 +vn 0.447196930647 0.457334220409 0.768674373627 +vn 0.343221575022 0.333233237267 0.878154039383 +vn 0.298508673906 0.235164701939 0.924981176853 +vn 0.412116557360 0.192709788680 0.890518307686 +vn 0.709150254726 0.064871802926 0.702066600323 +vn 0.685664176941 0.024288894609 0.727512657642 +vn 0.685664176941 0.024288894609 0.727512657642 +vn 0.386256456375 0.060981024057 0.920373439789 +vn 0.412116557360 0.192709788680 0.890518307686 +vn 0.389172941446 -0.187152817845 0.901952445507 +vn 0.386256456375 0.060981024057 0.920373439789 +vn 0.685664176941 0.024288894609 0.727512657642 +vn 0.685664176941 0.024288894609 0.727512657642 +vn 0.792960882187 -0.082992456853 0.603593647480 +vn 0.389172941446 -0.187152817845 0.901952445507 +vn 0.819841921329 -0.267875581980 0.506065070629 +vn 0.833654463291 -0.165826693177 0.526803314686 +vn 0.709150254726 0.064871802926 0.702066600323 +vn 0.709150254726 0.064871802926 0.702066600323 +vn 0.722315967083 0.014853472821 0.691403687000 +vn 0.819841921329 -0.267875581980 0.506065070629 +vn 0.764927029610 -0.576102018356 0.288085192442 +vn 0.636817932129 -0.665135920048 0.389945089817 +vn 0.406082540751 -0.913307428360 0.031089453027 +vn 0.406082540751 -0.913307428360 0.031089453027 +vn 0.616677582264 -0.787093162537 0.013895100914 +vn 0.764927029610 -0.576102018356 0.288085192442 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.636817932129 -0.665135920048 0.389945089817 +vn 0.764927029610 -0.576102018356 0.288085192442 +vn 0.764927029610 -0.576102018356 0.288085192442 +vn 0.819841921329 -0.267875581980 0.506065070629 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.722315967083 0.014853472821 0.691403687000 +vn 0.484686046839 0.057347863913 0.872806191444 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.651197373867 -0.295929104090 0.698833286762 +vn 0.819841921329 -0.267875581980 0.506065070629 +vn 0.722315967083 0.014853472821 0.691403687000 +vn 0.412116557360 0.192709788680 0.890518307686 +vn 0.484686046839 0.057347863913 0.872806191444 +vn 0.722315967083 0.014853472821 0.691403687000 +vn 0.722315967083 0.014853472821 0.691403687000 +vn 0.709150254726 0.064871802926 0.702066600323 +vn 0.412116557360 0.192709788680 0.890518307686 +vn 0.777859270573 0.059331193566 0.625631511211 +vn 0.685664176941 0.024288894609 0.727512657642 +vn 0.709150254726 0.064871802926 0.702066600323 +vn 0.709150254726 0.064871802926 0.702066600323 +vn 0.833654463291 -0.165826693177 0.526803314686 +vn 0.777859270573 0.059331193566 0.625631511211 +vn 0.541802704334 -0.795597314835 0.271062254906 +vn 0.749943137169 -0.607590794563 0.261569708586 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn 0.194966942072 -0.890786707401 -0.410471647978 +vn 0.541802704334 -0.795597314835 0.271062254906 +vn 0.684188246727 -0.314334392548 0.658088386059 +vn 0.833654463291 -0.165826693177 0.526803314686 +vn 0.749943137169 -0.607590794563 0.261569708586 +vn 0.749943137169 -0.607590794563 0.261569708586 +vn 0.541802704334 -0.795597314835 0.271062254906 +vn 0.684188246727 -0.314334392548 0.658088386059 +vn 0.612721860409 0.027013452724 0.789836823940 +vn 0.777859270573 0.059331193566 0.625631511211 +vn 0.833654463291 -0.165826693177 0.526803314686 +vn 0.833654463291 -0.165826693177 0.526803314686 +vn 0.684188246727 -0.314334392548 0.658088386059 +vn 0.612721860409 0.027013452724 0.789836823940 +vn 0.523797929287 0.432407170534 0.733934402466 +vn 0.856723487377 0.313828945160 0.409311980009 +vn 0.777859270573 0.059331193566 0.625631511211 +vn 0.777859270573 0.059331193566 0.625631511211 +vn 0.612721860409 0.027013452724 0.789836823940 +vn 0.523797929287 0.432407170534 0.733934402466 +vn 0.330873250961 0.872498035431 0.359541505575 +vn 0.565619111061 0.815543174744 -0.122328855097 +vn 0.856723487377 0.313828945160 0.409311980009 +vn 0.856723487377 0.313828945160 0.409311980009 +vn 0.523797929287 0.432407170534 0.733934402466 +vn 0.330873250961 0.872498035431 0.359541505575 +vn 0.014589162543 0.951842546463 -0.306240051985 +vn -0.000058030513 0.758348703384 -0.651849091053 +vn 0.565619111061 0.815543174744 -0.122328855097 +vn 0.565619111061 0.815543174744 -0.122328855097 +vn 0.330873250961 0.872498035431 0.359541505575 +vn 0.014589162543 0.951842546463 -0.306240051985 +vn -0.328589290380 0.516683042049 -0.790612220764 +vn -0.334304481745 0.357836514711 -0.871890783310 +vn -0.000058030513 0.758348703384 -0.651849091053 +vn -0.000058030513 0.758348703384 -0.651849091053 +vn 0.014589162543 0.951842546463 -0.306240051985 +vn -0.328589290380 0.516683042049 -0.790612220764 +vn -0.394009530544 -0.007915191352 -0.919072270393 +vn -0.412349730730 -0.020164160058 -0.910802423954 +vn -0.334304481745 0.357836514711 -0.871890783310 +vn -0.334304481745 0.357836514711 -0.871890783310 +vn -0.328589290380 0.516683042049 -0.790612220764 +vn -0.394009530544 -0.007915191352 -0.919072270393 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn -0.357876986265 -0.306289374828 -0.882105946541 +vn -0.412349730730 -0.020164160058 -0.910802423954 +vn -0.412349730730 -0.020164160058 -0.910802423954 +vn -0.394009530544 -0.007915191352 -0.919072270393 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn -0.260545551777 -0.813256382942 -0.520317316055 +vn -0.072411671281 -0.856675744057 -0.510747730732 +vn -0.072411671281 -0.856675744057 -0.510747730732 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn -0.530624270439 -0.375058025122 -0.760111391544 +vn -0.556180357933 -0.108734130859 -0.823917686939 +vn -0.412349730730 -0.020164160058 -0.910802423954 +vn -0.412349730730 -0.020164160058 -0.910802423954 +vn -0.357876986265 -0.306289374828 -0.882105946541 +vn -0.530624270439 -0.375058025122 -0.760111391544 +vn -0.095659404993 -0.891003251076 -0.443804621696 +vn 0.148078888655 -0.966142833233 0.211283400655 +vn 0.541802704334 -0.795597314835 0.271062254906 +vn 0.541802704334 -0.795597314835 0.271062254906 +vn 0.194966942072 -0.890786707401 -0.410471647978 +vn -0.095659404993 -0.891003251076 -0.443804621696 +vn 0.345870345831 -0.507937014103 0.788906633854 +vn 0.684188246727 -0.314334392548 0.658088386059 +vn 0.541802704334 -0.795597314835 0.271062254906 +vn 0.541802704334 -0.795597314835 0.271062254906 +vn 0.148078888655 -0.966142833233 0.211283400655 +vn 0.345870345831 -0.507937014103 0.788906633854 +vn 0.345870345831 -0.507937014103 0.788906633854 +vn 0.289737731218 -0.101735204458 0.951683759689 +vn 0.612721860409 0.027013452724 0.789836823940 +vn 0.612721860409 0.027013452724 0.789836823940 +vn 0.684188246727 -0.314334392548 0.658088386059 +vn 0.345870345831 -0.507937014103 0.788906633854 +vn 0.289737731218 -0.101735204458 0.951683759689 +vn 0.260491907597 0.307280063629 0.915272057056 +vn 0.523797929287 0.432407170534 0.733934402466 +vn 0.523797929287 0.432407170534 0.733934402466 +vn 0.612721860409 0.027013452724 0.789836823940 +vn 0.289737731218 -0.101735204458 0.951683759689 +vn 0.260491907597 0.307280063629 0.915272057056 +vn 0.162017181516 0.796604990959 0.582383811474 +vn 0.330873250961 0.872498035431 0.359541505575 +vn 0.330873250961 0.872498035431 0.359541505575 +vn 0.523797929287 0.432407170534 0.733934402466 +vn 0.260491907597 0.307280063629 0.915272057056 +vn -0.057846810669 0.996845066547 -0.054347090423 +vn 0.014589162543 0.951842546463 -0.306240051985 +vn 0.330873250961 0.872498035431 0.359541505575 +vn 0.330873250961 0.872498035431 0.359541505575 +vn 0.162017181516 0.796604990959 0.582383811474 +vn -0.057846810669 0.996845066547 -0.054347090423 +vn -0.403777748346 0.675936877728 -0.616500496864 +vn -0.328589290380 0.516683042049 -0.790612220764 +vn 0.014589162543 0.951842546463 -0.306240051985 +vn 0.014589162543 0.951842546463 -0.306240051985 +vn -0.057846810669 0.996845066547 -0.054347090423 +vn -0.403777748346 0.675936877728 -0.616500496864 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.394009530544 -0.007915191352 -0.919072270393 +vn -0.328589290380 0.516683042049 -0.790612220764 +vn -0.328589290380 0.516683042049 -0.790612220764 +vn -0.403777748346 0.675936877728 -0.616500496864 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.394770026207 -0.408056885004 -0.823192656040 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn -0.394009530544 -0.007915191352 -0.919072270393 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.394770026207 -0.408056885004 -0.823192656040 +vn -0.095659404993 -0.891003251076 -0.443804621696 +vn 0.194966942072 -0.890786707401 -0.410471647978 +vn 0.194966942072 -0.890786707401 -0.410471647978 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn -0.394770026207 -0.408056885004 -0.823192656040 +vn 0.283248275518 -0.164805412292 0.944780170918 +vn 0.710684239864 -0.017598621547 0.703290998936 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.868372321129 0.207240670919 0.450533896685 +vn 0.067035764456 -0.147402390838 0.986802279949 +vn 0.283248275518 -0.164805412292 0.944780170918 +vn -0.765450656414 0.598935127258 0.235291317105 +vn -0.941432178020 0.205026820302 0.267711549997 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn -0.791678369045 0.572285056114 -0.213857769966 +vn -0.765450656414 0.598935127258 0.235291317105 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn 0.044693116099 0.737179398537 -0.674217343330 +vn -0.462693333626 0.681148767471 -0.567407488823 +vn -0.462693333626 0.681148767471 -0.567407488823 +vn -0.791678369045 0.572285056114 -0.213857769966 +vn -0.653196692467 0.687323570251 -0.317679673433 +vn 0.135474219918 -0.988358557224 -0.069239638746 +vn 0.194033831358 -0.975260198116 0.105917148292 +vn -0.161389231682 -0.826426625252 -0.539418697357 +vn -0.161389231682 -0.826426625252 -0.539418697357 +vn -0.322938174009 -0.703057765961 -0.633577704430 +vn 0.135474219918 -0.988358557224 -0.069239638746 +vn 0.217132925987 -0.699617862701 0.680726230145 +vn 0.194033831358 -0.975260198116 0.105917148292 +vn 0.135474219918 -0.988358557224 -0.069239638746 +vn 0.135474219918 -0.988358557224 -0.069239638746 +vn 0.211538925767 -0.861231863499 0.462094068527 +vn 0.217132925987 -0.699617862701 0.680726230145 +vn 0.079771168530 -0.496181964874 0.864546120167 +vn 0.129637911916 -0.209326177835 0.969214379787 +vn 0.217132925987 -0.699617862701 0.680726230145 +vn 0.217132925987 -0.699617862701 0.680726230145 +vn 0.211538925767 -0.861231863499 0.462094068527 +vn 0.079771168530 -0.496181964874 0.864546120167 +vn -0.000500970287 0.150257885456 0.988646686077 +vn 0.094890594482 0.167634546757 0.981271862984 +vn 0.020051987842 -0.112118013203 0.993492543697 +vn 0.020051987842 -0.112118013203 0.993492543697 +vn 0.043110653758 -0.307953089476 0.950424313545 +vn -0.000500970287 0.150257885456 0.988646686077 +vn -0.020890446380 0.525199234486 0.850722849369 +vn 0.033992055804 0.651784360409 0.757642209530 +vn 0.094890594482 0.167634546757 0.981271862984 +vn 0.094890594482 0.167634546757 0.981271862984 +vn -0.000500970287 0.150257885456 0.988646686077 +vn -0.020890446380 0.525199234486 0.850722849369 +vn -0.212111368775 0.931484699249 0.295541882515 +vn 0.033992055804 0.651784360409 0.757642209530 +vn -0.020890446380 0.525199234486 0.850722849369 +vn -0.020890446380 0.525199234486 0.850722849369 +vn -0.203145816922 0.789853513241 0.578673660755 +vn -0.212111368775 0.931484699249 0.295541882515 +vn -0.518924534321 0.789362072945 -0.328062266111 +vn -0.212111368775 0.931484699249 0.295541882515 +vn -0.203145816922 0.789853513241 0.578673660755 +vn -0.203145816922 0.789853513241 0.578673660755 +vn -0.494061529636 0.865195631981 0.085671991110 +vn -0.518924534321 0.789362072945 -0.328062266111 +vn -0.638447046280 0.245981469750 -0.729299962521 +vn -0.518924534321 0.789362072945 -0.328062266111 +vn -0.494061529636 0.865195631981 0.085671991110 +vn -0.494061529636 0.865195631981 0.085671991110 +vn -0.718650877476 0.596940636635 -0.356655031443 +vn -0.638447046280 0.245981469750 -0.729299962521 +vn -0.718650877476 0.596940636635 -0.356655031443 +vn -0.722775518894 0.127099156380 -0.679294764996 +vn -0.649896085262 -0.004399633035 -0.760010361671 +vn -0.649896085262 -0.004399633035 -0.760010361671 +vn -0.638447046280 0.245981469750 -0.729299962521 +vn -0.718650877476 0.596940636635 -0.356655031443 +vn -0.322938174009 -0.703057765961 -0.633577704430 +vn -0.161389231682 -0.826426625252 -0.539418697357 +vn -0.451521098614 -0.345670461655 -0.822581708431 +vn -0.451521098614 -0.345670461655 -0.822581708431 +vn -0.535104215145 -0.309753090143 -0.785949409008 +vn -0.322938174009 -0.703057765961 -0.633577704430 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn -0.131719857454 -0.939497470856 -0.316218942404 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.260545551777 -0.813256382942 -0.520317316055 +vn 0.054139081389 -0.946674823761 -0.317609339952 +vn -0.444026708603 -0.606746494770 -0.659317076206 +vn -0.260545551777 -0.813256382942 -0.520317316055 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.417767822742 -0.763937056065 -0.491803050041 +vn -0.564986348152 -0.593238472939 -0.573461830616 +vn -0.444026708603 -0.606746494770 -0.659317076206 +vn -0.564986348152 -0.593238472939 -0.573461830616 +vn -0.633862555027 -0.426885992289 -0.644970238209 +vn -0.530624270439 -0.375058025122 -0.760111391544 +vn -0.530624270439 -0.375058025122 -0.760111391544 +vn -0.444026708603 -0.606746494770 -0.659317076206 +vn -0.564986348152 -0.593238472939 -0.573461830616 +vn -0.314885556698 -0.595676243305 -0.738929569721 +vn -0.072411671281 -0.856675744057 -0.510747730732 +vn -0.260545551777 -0.813256382942 -0.520317316055 +vn -0.260545551777 -0.813256382942 -0.520317316055 +vn -0.444026708603 -0.606746494770 -0.659317076206 +vn -0.314885556698 -0.595676243305 -0.738929569721 +vn 0.042187642306 -0.766220450401 -0.641191422939 +vn 0.194966942072 -0.890786707401 -0.410471647978 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn 0.388792097569 -0.902842164040 -0.183621153235 +vn -0.072411671281 -0.856675744057 -0.510747730732 +vn 0.042187642306 -0.766220450401 -0.641191422939 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn 0.194966942072 -0.890786707401 -0.410471647978 +vn 0.042187642306 -0.766220450401 -0.641191422939 +vn 0.042187642306 -0.766220450401 -0.641191422939 +vn -0.074641257524 -0.569141447544 -0.818844735622 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn -0.314885556698 -0.595676243305 -0.738929569721 +vn -0.074641257524 -0.569141447544 -0.818844735622 +vn 0.042187642306 -0.766220450401 -0.641191422939 +vn 0.042187642306 -0.766220450401 -0.641191422939 +vn -0.072411671281 -0.856675744057 -0.510747730732 +vn -0.314885556698 -0.595676243305 -0.738929569721 +vn -0.357876986265 -0.306289374828 -0.882105946541 +vn -0.236149817705 -0.424875795841 -0.873907208443 +vn -0.074641257524 -0.569141447544 -0.818844735622 +vn -0.074641257524 -0.569141447544 -0.818844735622 +vn -0.314885556698 -0.595676243305 -0.738929569721 +vn -0.357876986265 -0.306289374828 -0.882105946541 +vn -0.444026708603 -0.606746494770 -0.659317076206 +vn -0.530624270439 -0.375058025122 -0.760111391544 +vn -0.357876986265 -0.306289374828 -0.882105946541 +vn -0.357876986265 -0.306289374828 -0.882105946541 +vn -0.314885556698 -0.595676243305 -0.738929569721 +vn -0.444026708603 -0.606746494770 -0.659317076206 +vn -0.451521098614 -0.345670461655 -0.822581708431 +vn -0.394770026207 -0.408056885004 -0.823192656040 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.638447046280 0.245981469750 -0.729299962521 +vn -0.451521098614 -0.345670461655 -0.822581708431 +vn -0.518924534321 0.789362072945 -0.328062266111 +vn -0.638447046280 0.245981469750 -0.729299962521 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.495413959026 0.088413864374 -0.864145815372 +vn -0.403777748346 0.675936877728 -0.616500496864 +vn -0.518924534321 0.789362072945 -0.328062266111 +vn -0.212111368775 0.931484699249 0.295541882515 +vn -0.518924534321 0.789362072945 -0.328062266111 +vn -0.403777748346 0.675936877728 -0.616500496864 +vn -0.403777748346 0.675936877728 -0.616500496864 +vn -0.057846810669 0.996845066547 -0.054347090423 +vn -0.212111368775 0.931484699249 0.295541882515 +vn 0.033992055804 0.651784360409 0.757642209530 +vn -0.212111368775 0.931484699249 0.295541882515 +vn -0.057846810669 0.996845066547 -0.054347090423 +vn -0.057846810669 0.996845066547 -0.054347090423 +vn 0.162017181516 0.796604990959 0.582383811474 +vn 0.033992055804 0.651784360409 0.757642209530 +vn 0.094890594482 0.167634546757 0.981271862984 +vn 0.033992055804 0.651784360409 0.757642209530 +vn 0.162017181516 0.796604990959 0.582383811474 +vn 0.162017181516 0.796604990959 0.582383811474 +vn 0.260491907597 0.307280063629 0.915272057056 +vn 0.094890594482 0.167634546757 0.981271862984 +vn 0.129637911916 -0.209326177835 0.969214379787 +vn 0.079771168530 -0.496181964874 0.864546120167 +vn 0.020051987842 -0.112118013203 0.993492543697 +vn 0.020051987842 -0.112118013203 0.993492543697 +vn 0.094890594482 0.167634546757 0.981271862984 +vn 0.129637911916 -0.209326177835 0.969214379787 +vn 0.345870345831 -0.507937014103 0.788906633854 +vn 0.217132925987 -0.699617862701 0.680726230145 +vn 0.129637911916 -0.209326177835 0.969214379787 +vn 0.129637911916 -0.209326177835 0.969214379787 +vn 0.289737731218 -0.101735204458 0.951683759689 +vn 0.345870345831 -0.507937014103 0.788906633854 +vn 0.148078888655 -0.966142833233 0.211283400655 +vn 0.194033831358 -0.975260198116 0.105917148292 +vn 0.217132925987 -0.699617862701 0.680726230145 +vn 0.217132925987 -0.699617862701 0.680726230145 +vn 0.345870345831 -0.507937014103 0.788906633854 +vn 0.148078888655 -0.966142833233 0.211283400655 +vn -0.161389231682 -0.826426625252 -0.539418697357 +vn 0.194033831358 -0.975260198116 0.105917148292 +vn 0.148078888655 -0.966142833233 0.211283400655 +vn 0.148078888655 -0.966142833233 0.211283400655 +vn -0.095659404993 -0.891003251076 -0.443804621696 +vn -0.161389231682 -0.826426625252 -0.539418697357 +vn -0.394770026207 -0.408056885004 -0.823192656040 +vn -0.451521098614 -0.345670461655 -0.822581708431 +vn -0.161389231682 -0.826426625252 -0.539418697357 +vn -0.161389231682 -0.826426625252 -0.539418697357 +vn -0.095659404993 -0.891003251076 -0.443804621696 +vn -0.394770026207 -0.408056885004 -0.823192656040 +vn -0.558745026588 -0.260360956192 -0.787411093712 +vn -0.535104215145 -0.309753090143 -0.785949409008 +vn -0.649896085262 -0.004399633035 -0.760010361671 +vn -0.649896085262 -0.004399633035 -0.760010361671 +vn -0.722775518894 0.127099156380 -0.679294764996 +vn -0.558745026588 -0.260360956192 -0.787411093712 +vn -0.371036648750 -0.578186392784 -0.726658284664 +vn -0.322938174009 -0.703057765961 -0.633577704430 +vn -0.535104215145 -0.309753090143 -0.785949409008 +vn -0.535104215145 -0.309753090143 -0.785949409008 +vn -0.558745026588 -0.260360956192 -0.787411093712 +vn -0.371036648750 -0.578186392784 -0.726658284664 +vn -0.166938528419 -0.919655323029 -0.355479389429 +vn 0.135474219918 -0.988358557224 -0.069239638746 +vn -0.322938174009 -0.703057765961 -0.633577704430 +vn -0.322938174009 -0.703057765961 -0.633577704430 +vn -0.371036648750 -0.578186392784 -0.726658284664 +vn -0.166938528419 -0.919655323029 -0.355479389429 +vn 0.211538925767 -0.861231863499 0.462094068527 +vn 0.135474219918 -0.988358557224 -0.069239638746 +vn -0.166938528419 -0.919655323029 -0.355479389429 +vn -0.166938528419 -0.919655323029 -0.355479389429 +vn -0.106166861951 -0.985075116158 0.135482907295 +vn 0.211538925767 -0.861231863499 0.462094068527 +vn 0.079771168530 -0.496181964874 0.864546120167 +vn 0.211538925767 -0.861231863499 0.462094068527 +vn -0.106166861951 -0.985075116158 0.135482907295 +vn -0.106166861951 -0.985075116158 0.135482907295 +vn -0.042744558305 -0.808862030506 0.586442768574 +vn 0.079771168530 -0.496181964874 0.864546120167 +vn 0.043110653758 -0.307953089476 0.950424313545 +vn 0.020051987842 -0.112118013203 0.993492543697 +vn 0.079771168530 -0.496181964874 0.864546120167 +vn 0.079771168530 -0.496181964874 0.864546120167 +vn -0.042744558305 -0.808862030506 0.586442768574 +vn 0.043110653758 -0.307953089476 0.950424313545 +vn -0.451521098614 -0.345670461655 -0.822581708431 +vn -0.638447046280 0.245981469750 -0.729299962521 +vn -0.649896085262 -0.004399633035 -0.760010361671 +vn -0.649896085262 -0.004399633035 -0.760010361671 +vn -0.535104215145 -0.309753090143 -0.785949409008 +vn -0.451521098614 -0.345670461655 -0.822581708431 +vn 0.129637911916 -0.209326177835 0.969214379787 +vn 0.094890594482 0.167634546757 0.981271862984 +vn 0.260491907597 0.307280063629 0.915272057056 +vn 0.260491907597 0.307280063629 0.915272057056 +vn 0.289737731218 -0.101735204458 0.951683759689 +vn 0.129637911916 -0.209326177835 0.969214379787 +vn -0.863622725010 -0.395356804132 -0.312807887793 +vn -0.977375864983 -0.182302713394 -0.107247889042 +vn -0.932448983192 -0.323441475630 0.161010980606 +vn -0.932448983192 -0.323441475630 0.161010980606 +vn -0.933986306190 -0.356039702892 -0.030087741092 +vn -0.863622725010 -0.395356804132 -0.312807887793 +vn -0.551249742508 -0.140232846141 0.822470963001 +vn -0.551818788052 -0.097078174353 0.828294575214 +vn -0.942502677441 -0.131082609296 0.307418376207 +vn -0.942502677441 -0.131082609296 0.307418376207 +vn -0.953337550163 -0.167185232043 0.251389354467 +vn -0.551249742508 -0.140232846141 0.822470963001 +vn 0.771496355534 -0.520169913769 0.366355866194 +vn 0.478567808867 -0.553991734982 0.681223928928 +vn 0.707793414593 -0.092283651233 0.700365781784 +vn 0.707793414593 -0.092283651233 0.700365781784 +vn 0.921395957470 -0.096049144864 0.376568794250 +vn 0.771496355534 -0.520169913769 0.366355866194 +vn 0.843312978745 -0.508717417717 -0.173291251063 +vn 0.771496355534 -0.520169913769 0.366355866194 +vn 0.921395957470 -0.096049144864 0.376568794250 +vn 0.921395957470 -0.096049144864 0.376568794250 +vn 0.915147721767 -0.341821610928 -0.213688179851 +vn 0.843312978745 -0.508717417717 -0.173291251063 +vn 0.635089933872 -0.717878699303 -0.285150736570 +vn 0.843312978745 -0.508717417717 -0.173291251063 +vn 0.376745164394 -0.480174839497 -0.792145967484 +vn 0.376745164394 -0.480174839497 -0.792145967484 +vn 0.338396072388 -0.505504190922 -0.793696165085 +vn 0.635089933872 -0.717878699303 -0.285150736570 +vn 0.338396072388 -0.505504190922 -0.793696165085 +vn 0.376745164394 -0.480174839497 -0.792145967484 +vn -0.128155156970 -0.402803808451 -0.906270027161 +vn -0.128155156970 -0.402803808451 -0.906270027161 +vn -0.141834318638 -0.356789201498 -0.923355042934 +vn 0.338396072388 -0.505504190922 -0.793696165085 +vn -0.141834318638 -0.356789201498 -0.923355042934 +vn -0.128155156970 -0.402803808451 -0.906270027161 +vn -0.617432177067 -0.286321341991 -0.732664763927 +vn -0.617432177067 -0.286321341991 -0.732664763927 +vn -0.587534666061 -0.195610851049 -0.785200238228 +vn -0.141834318638 -0.356789201498 -0.923355042934 +vn -0.587534666061 -0.195610851049 -0.785200238228 +vn -0.617432177067 -0.286321341991 -0.732664763927 +vn -0.925773084164 -0.217750370502 -0.309077620506 +vn -0.925773084164 -0.217750370502 -0.309077620506 +vn -0.916307866573 -0.152069538832 -0.370479047298 +vn -0.587534666061 -0.195610851049 -0.785200238228 +vn -0.916307866573 -0.152069538832 -0.370479047298 +vn -0.925773084164 -0.217750370502 -0.309077620506 +vn -0.942502677441 -0.131082609296 0.307418376207 +vn -0.942502677441 -0.131082609296 0.307418376207 +vn -0.922188758850 -0.076360240579 0.379126608372 +vn -0.916307866573 -0.152069538832 -0.370479047298 +vn -0.019374400377 -0.340837627649 0.939922511578 +vn 0.478567808867 -0.553991734982 0.681223928928 +vn 0.200163364410 -0.734465181828 0.648456275463 +vn 0.200163364410 -0.734465181828 0.648456275463 +vn -0.175170764327 -0.422769248486 0.889146447182 +vn -0.019374400377 -0.340837627649 0.939922511578 +vn -0.551818788052 -0.097078174353 0.828294575214 +vn -0.019374400377 -0.340837627649 0.939922511578 +vn -0.175170764327 -0.422769248486 0.889146447182 +vn -0.175170764327 -0.422769248486 0.889146447182 +vn -0.563060462475 -0.168180093169 0.809121966362 +vn -0.551818788052 -0.097078174353 0.828294575214 +vn -0.989886045456 -0.102725066245 0.097842380404 +vn -0.922188758850 -0.076360240579 0.379126608372 +vn -0.790964484215 -0.047528445721 0.610013246536 +vn -0.790964484215 -0.047528445721 0.610013246536 +vn -0.809697628021 -0.208559572697 0.548536777496 +vn -0.989886045456 -0.102725066245 0.097842380404 +vn -0.969465434551 -0.233353525400 0.075384795666 +vn -0.886553704739 -0.150430575013 -0.437485098839 +vn -0.938400447369 0.027688471600 -0.344438642263 +vn -0.938400447369 0.027688471600 -0.344438642263 +vn -0.956004738808 -0.284389942884 0.071953646839 +vn -0.969465434551 -0.233353525400 0.075384795666 +vn -0.657921433449 -0.251068294048 0.710002899170 +vn -0.969465434551 -0.233353525400 0.075384795666 +vn -0.956004738808 -0.284389942884 0.071953646839 +vn -0.956004738808 -0.284389942884 0.071953646839 +vn -0.763228416443 -0.461620450020 0.452093988657 +vn -0.657921433449 -0.251068294048 0.710002899170 +vn -0.181248873472 -0.456907838583 0.870852470398 +vn 0.022503187880 -0.168173655868 0.985500514507 +vn -0.657921433449 -0.251068294048 0.710002899170 +vn -0.657921433449 -0.251068294048 0.710002899170 +vn -0.763228416443 -0.461620450020 0.452093988657 +vn -0.181248873472 -0.456907838583 0.870852470398 +vn 0.580956161022 -0.315899401903 0.750131666660 +vn 0.626895606518 -0.109646342695 0.771349191666 +vn 0.022503187880 -0.168173655868 0.985500514507 +vn 0.022503187880 -0.168173655868 0.985500514507 +vn -0.181248873472 -0.456907838583 0.870852470398 +vn 0.580956161022 -0.315899401903 0.750131666660 +vn 0.955945372581 -0.075195699930 0.283750057220 +vn 0.976103127003 -0.056135118008 0.209932267666 +vn 0.626895606518 -0.109646342695 0.771349191666 +vn 0.626895606518 -0.109646342695 0.771349191666 +vn 0.580956161022 -0.315899401903 0.750131666660 +vn 0.955945372581 -0.075195699930 0.283750057220 +vn 0.976103127003 -0.056135118008 0.209932267666 +vn 0.959917187691 -0.043896026909 -0.276825070381 +vn 0.916344642639 -0.289950251579 -0.276118308306 +vn 0.916344642639 -0.289950251579 -0.276118308306 +vn 0.965460717678 -0.065064646304 0.252293825150 +vn 0.976103127003 -0.056135118008 0.209932267666 +vn 0.916344642639 -0.289950251579 -0.276118308306 +vn 0.959917187691 -0.043896026909 -0.276825070381 +vn 0.639318466187 0.016674445942 -0.768761277199 +vn 0.639318466187 0.016674445942 -0.768761277199 +vn 0.527624547482 -0.341483384371 -0.777818381786 +vn 0.916344642639 -0.289950251579 -0.276118308306 +vn 0.527624547482 -0.341483384371 -0.777818381786 +vn 0.639318466187 0.016674445942 -0.768761277199 +vn -0.015542259440 -0.012424598448 -0.999801993370 +vn -0.015542259440 -0.012424598448 -0.999801993370 +vn -0.065956912935 -0.328755855560 -0.942108929157 +vn 0.527624547482 -0.341483384371 -0.777818381786 +vn -0.065956912935 -0.328755855560 -0.942108929157 +vn -0.015542259440 -0.012424598448 -0.999801993370 +vn -0.593472301960 -0.092204272747 -0.799555480480 +vn -0.593472301960 -0.092204272747 -0.799555480480 +vn -0.597554683685 -0.308073014021 -0.740283310413 +vn -0.065956912935 -0.328755855560 -0.942108929157 +vn -0.597554683685 -0.308073014021 -0.740283310413 +vn -0.593472301960 -0.092204272747 -0.799555480480 +vn -0.886553704739 -0.150430575013 -0.437485098839 +vn -0.886553704739 -0.150430575013 -0.437485098839 +vn -0.891806840897 -0.253316342831 -0.374848484993 +vn -0.597554683685 -0.308073014021 -0.740283310413 +vn 0.918845653534 -0.108316130936 0.379460453987 +vn 0.652728021145 -0.370803534985 0.660644292831 +vn 0.603337705135 -0.321985483170 0.729595065117 +vn 0.603337705135 -0.321985483170 0.729595065117 +vn 0.863250315189 -0.240368023515 0.443871766329 +vn 0.918845653534 -0.108316130936 0.379460453987 +vn 0.980078399181 0.178462892771 -0.087162509561 +vn 0.918845653534 -0.108316130936 0.379460453987 +vn 0.863250315189 -0.240368023515 0.443871766329 +vn 0.863250315189 -0.240368023515 0.443871766329 +vn 0.981968581676 -0.106181085110 -0.156407564878 +vn 0.980078399181 0.178462892771 -0.087162509561 +vn 0.636526405811 0.364853173494 -0.679497122765 +vn 0.980078399181 0.178462892771 -0.087162509561 +vn 0.981968581676 -0.106181085110 -0.156407564878 +vn 0.981968581676 -0.106181085110 -0.156407564878 +vn 0.628715753555 0.022276135162 -0.777316093445 +vn 0.636526405811 0.364853173494 -0.679497122765 +vn 0.084422126412 0.381982415915 -0.920305550098 +vn 0.636526405811 0.364853173494 -0.679497122765 +vn 0.628715753555 0.022276135162 -0.777316093445 +vn 0.628715753555 0.022276135162 -0.777316093445 +vn 0.163179978728 0.071530185640 -0.983999848366 +vn 0.084422126412 0.381982415915 -0.920305550098 +vn -0.362230628729 0.031117305160 -0.931568920612 +vn -0.477106243372 0.354926079512 -0.803988277912 +vn 0.084422126412 0.381982415915 -0.920305550098 +vn 0.084422126412 0.381982415915 -0.920305550098 +vn 0.163179978728 0.071530185640 -0.983999848366 +vn -0.362230628729 0.031117305160 -0.931568920612 +vn -0.891922414303 -0.121970690787 -0.435428053141 +vn -0.924370706081 0.140413299203 -0.354715228081 +vn -0.477106243372 0.354926079512 -0.803988277912 +vn -0.477106243372 0.354926079512 -0.803988277912 +vn -0.362230628729 0.031117305160 -0.931568920612 +vn -0.891922414303 -0.121970690787 -0.435428053141 +vn -0.938400447369 0.027688471600 -0.344438642263 +vn -0.924370706081 0.140413299203 -0.354715228081 +vn -0.971519231796 -0.181915670633 0.151845633984 +vn -0.971519231796 -0.181915670633 0.151845633984 +vn -0.956004738808 -0.284389942884 0.071953646839 +vn -0.938400447369 0.027688471600 -0.344438642263 +vn -0.956004738808 -0.284389942884 0.071953646839 +vn -0.971519231796 -0.181915670633 0.151845633984 +vn -0.779256761074 -0.415031522512 0.469582498074 +vn -0.779256761074 -0.415031522512 0.469582498074 +vn -0.763228416443 -0.461620450020 0.452093988657 +vn -0.956004738808 -0.284389942884 0.071953646839 +vn -0.763228416443 -0.461620450020 0.452093988657 +vn -0.779256761074 -0.415031522512 0.469582498074 +vn -0.141817405820 -0.538776338100 0.830426335335 +vn -0.141817405820 -0.538776338100 0.830426335335 +vn -0.181248873472 -0.456907838583 0.870852470398 +vn -0.763228416443 -0.461620450020 0.452093988657 +vn -0.141817405820 -0.538776338100 0.830426335335 +vn 0.652728021145 -0.370803534985 0.660644292831 +vn 0.580956161022 -0.315899401903 0.750131666660 +vn 0.580956161022 -0.315899401903 0.750131666660 +vn -0.181248873472 -0.456907838583 0.870852470398 +vn -0.141817405820 -0.538776338100 0.830426335335 +vn 0.593855559826 0.019980316982 0.804323554039 +vn 0.466343373060 -0.015833530575 0.884462058544 +vn 0.376915872097 0.132242649794 0.916758596897 +vn 0.376915872097 0.132242649794 0.916758596897 +vn 0.608893454075 0.235913068056 0.757359743118 +vn 0.593855559826 0.019980316982 0.804323554039 +vn 0.466343373060 -0.015833530575 0.884462058544 +vn 0.113157883286 -0.147927060723 0.982503354549 +vn 0.066894985735 -0.120529606938 0.990453243256 +vn 0.066894985735 -0.120529606938 0.990453243256 +vn 0.376915872097 0.132242649794 0.916758596897 +vn 0.466343373060 -0.015833530575 0.884462058544 +vn -0.088382758200 -0.339686036110 0.936376988888 +vn 0.300583481789 -0.145427584648 0.942602992058 +vn 0.376915872097 0.132242649794 0.916758596897 +vn 0.376915872097 0.132242649794 0.916758596897 +vn 0.066894985735 -0.120529606938 0.990453243256 +vn -0.088382758200 -0.339686036110 0.936376988888 +vn -0.087695412338 -0.850844204426 0.518047869205 +vn -0.334040522575 -0.736586928368 0.588095724583 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn -0.327985137701 -0.938536167145 0.107590034604 +vn -0.087695412338 -0.850844204426 0.518047869205 +vn 0.446306288242 -0.891758263111 0.074685193598 +vn 0.238442823291 -0.955045223236 0.176163703203 +vn 0.656117200851 -0.752742469311 0.053749088198 +vn 0.656117200851 -0.752742469311 0.053749088198 +vn 0.652370274067 -0.700718224049 -0.288802653551 +vn 0.446306288242 -0.891758263111 0.074685193598 +vn 0.321534842253 -0.887416303158 0.330314517021 +vn 0.656117200851 -0.752742469311 0.053749088198 +vn 0.238442823291 -0.955045223236 0.176163703203 +vn 0.238442823291 -0.955045223236 0.176163703203 +vn 0.027907121927 -0.999519944191 -0.013458410278 +vn 0.321534842253 -0.887416303158 0.330314517021 +vn 0.321534842253 -0.887416303158 0.330314517021 +vn 0.027907121927 -0.999519944191 -0.013458410278 +vn 0.351804703474 -0.934922873974 0.046397421509 +vn 0.351804703474 -0.934922873974 0.046397421509 +vn 0.201453700662 -0.832577824593 0.515975356102 +vn 0.321534842253 -0.887416303158 0.330314517021 +vn 0.463319748640 -0.284106910229 -0.839415311813 +vn 0.455730617046 -0.609691083431 -0.648526310921 +vn -0.197733581066 -0.828324854374 -0.524194002151 +vn -0.197733581066 -0.828324854374 -0.524194002151 +vn -0.143444925547 -0.679574370384 -0.719445765018 +vn 0.463319748640 -0.284106910229 -0.839415311813 +vn 0.873224854469 0.040406849235 -0.485639452934 +vn 0.873089492321 -0.323864191771 -0.364453941584 +vn 0.455730617046 -0.609691083431 -0.648526310921 +vn 0.455730617046 -0.609691083431 -0.648526310921 +vn 0.463319748640 -0.284106910229 -0.839415311813 +vn 0.873224854469 0.040406849235 -0.485639452934 +vn 0.966316044331 0.170746937394 0.192558467388 +vn 0.967172682285 0.241761222482 0.078284777701 +vn 0.873224854469 0.040406849235 -0.485639452934 +vn 0.873224854469 0.040406849235 -0.485639452934 +vn 0.925466060638 -0.019112786278 -0.378348082304 +vn 0.966316044331 0.170746937394 0.192558467388 +vn 0.966316044331 0.170746937394 0.192558467388 +vn 0.965605020523 0.107465490699 0.236765861511 +vn 0.717058062553 0.043724697083 0.695640623569 +vn 0.717058062553 0.043724697083 0.695640623569 +vn 0.680016100407 0.152828097343 0.717092514038 +vn 0.966316044331 0.170746937394 0.192558467388 +vn 0.965605020523 0.107465490699 0.236765861511 +vn 0.961623728275 0.054777454585 0.268847882748 +vn 0.717947840691 -0.072925940156 0.692266345024 +vn 0.717947840691 -0.072925940156 0.692266345024 +vn 0.717058062553 0.043724697083 0.695640623569 +vn 0.965605020523 0.107465490699 0.236765861511 +vn -0.068652406335 0.974390566349 0.214125752449 +vn 0.442601650953 0.886409521103 0.135580167174 +vn 0.400886356831 0.901594340801 0.162535563111 +vn 0.400886356831 0.901594340801 0.162535563111 +vn -0.147310256958 0.958264529705 0.245007723570 +vn -0.068652406335 0.974390566349 0.214125752449 +vn 0.965605020523 0.107465490699 0.236765861511 +vn 0.951884567738 0.018304115161 -0.305909752846 +vn 0.979799330235 0.116351984441 -0.162651434541 +vn 0.979799330235 0.116351984441 -0.162651434541 +vn 0.961623728275 0.054777454585 0.268847882748 +vn 0.965605020523 0.107465490699 0.236765861511 +vn 0.529358327389 0.845940232277 -0.064536072314 +vn 0.680514693260 0.732540011406 -0.016878856346 +vn 0.400886356831 0.901594340801 0.162535563111 +vn 0.400886356831 0.901594340801 0.162535563111 +vn 0.442601650953 0.886409521103 0.135580167174 +vn 0.529358327389 0.845940232277 -0.064536072314 +vn 0.951884567738 0.018304115161 -0.305909752846 +vn 0.675778031349 -0.159016281366 -0.719748497009 +vn 0.698699057102 -0.088728033006 -0.709892213345 +vn 0.698699057102 -0.088728033006 -0.709892213345 +vn 0.979799330235 0.116351984441 -0.162651434541 +vn 0.951884567738 0.018304115161 -0.305909752846 +vn -0.048381622881 0.989867806435 0.133495286107 +vn -0.068652406335 0.974390566349 0.214125752449 +vn -0.147310256958 0.958264529705 0.245007723570 +vn -0.147310256958 0.958264529705 0.245007723570 +vn -0.040402501822 0.989431560040 0.139258161187 +vn -0.048381622881 0.989867806435 0.133495286107 +vn -0.932176113129 -0.021262366325 -0.361380100250 +vn -0.655080139637 -0.018082045019 -0.755343019962 +vn -0.684160232544 -0.015572587028 -0.729165434837 +vn -0.684160232544 -0.015572587028 -0.729165434837 +vn -0.938433587551 -0.109255589545 -0.327727943659 +vn -0.932176113129 -0.021262366325 -0.361380100250 +vn -0.716325759888 0.585582971573 0.379433780909 +vn -0.616649746895 0.675030350685 0.405064314604 +vn -0.932176113129 -0.021262366325 -0.361380100250 +vn -0.932176113129 -0.021262366325 -0.361380100250 +vn -0.938433587551 -0.109255589545 -0.327727943659 +vn -0.716325759888 0.585582971573 0.379433780909 +vn 0.680016100407 0.152828097343 0.717092514038 +vn 0.717058062553 0.043724697083 0.695640623569 +vn 0.264956355095 -0.115032657981 0.957374334335 +vn 0.264956355095 -0.115032657981 0.957374334335 +vn 0.146515324712 -0.276555955410 0.949763178825 +vn 0.680016100407 0.152828097343 0.717092514038 +vn 0.680016100407 0.152828097343 0.717092514038 +vn 0.634496629238 0.241281628609 0.734300494194 +vn 0.967172682285 0.241761222482 0.078284777701 +vn 0.967172682285 0.241761222482 0.078284777701 +vn 0.966316044331 0.170746937394 0.192558467388 +vn 0.680016100407 0.152828097343 0.717092514038 +vn 0.146515324712 -0.276555955410 0.949763178825 +vn 0.030194981024 -0.298345863819 0.953980088234 +vn 0.634496629238 0.241281628609 0.734300494194 +vn 0.634496629238 0.241281628609 0.734300494194 +vn 0.680016100407 0.152828097343 0.717092514038 +vn 0.146515324712 -0.276555955410 0.949763178825 +vn 0.296417653561 -0.129989758134 0.946170806885 +vn 0.264956355095 -0.115032657981 0.957374334335 +vn 0.717058062553 0.043724697083 0.695640623569 +vn 0.717058062553 0.043724697083 0.695640623569 +vn 0.717947840691 -0.072925940156 0.692266345024 +vn 0.296417653561 -0.129989758134 0.946170806885 +vn -0.110075645149 -0.299240350723 0.947807252407 +vn -0.202640861273 -0.541228234768 0.816093564034 +vn 0.146515324712 -0.276555955410 0.949763178825 +vn 0.146515324712 -0.276555955410 0.949763178825 +vn 0.264956355095 -0.115032657981 0.957374334335 +vn -0.110075645149 -0.299240350723 0.947807252407 +vn -0.110075645149 -0.299240350723 0.947807252407 +vn 0.264956355095 -0.115032657981 0.957374334335 +vn 0.296417653561 -0.129989758134 0.946170806885 +vn 0.296417653561 -0.129989758134 0.946170806885 +vn -0.067382998765 -0.241788670421 0.967986464500 +vn -0.110075645149 -0.299240350723 0.947807252407 +vn 0.966316044331 0.170746937394 0.192558467388 +vn 0.925466060638 -0.019112786278 -0.378348082304 +vn 0.951884567738 0.018304115161 -0.305909752846 +vn 0.951884567738 0.018304115161 -0.305909752846 +vn 0.965605020523 0.107465490699 0.236765861511 +vn 0.966316044331 0.170746937394 0.192558467388 +vn 0.925466060638 -0.019112786278 -0.378348082304 +vn 0.611862540245 -0.209730833769 -0.762651443481 +vn 0.675778031349 -0.159016281366 -0.719748497009 +vn 0.675778031349 -0.159016281366 -0.719748497009 +vn 0.951884567738 0.018304115161 -0.305909752846 +vn 0.925466060638 -0.019112786278 -0.378348082304 +vn 0.611862540245 -0.209730833769 -0.762651443481 +vn 0.233708530664 -0.381010770798 -0.894545197487 +vn 0.348523497581 -0.248401150107 -0.903785526752 +vn 0.348523497581 -0.248401150107 -0.903785526752 +vn 0.675778031349 -0.159016281366 -0.719748497009 +vn 0.611862540245 -0.209730833769 -0.762651443481 +vn 0.233708530664 -0.381010770798 -0.894545197487 +vn 0.611862540245 -0.209730833769 -0.762651443481 +vn 0.463319748640 -0.284106910229 -0.839415311813 +vn 0.463319748640 -0.284106910229 -0.839415311813 +vn -0.143444925547 -0.679574370384 -0.719445765018 +vn 0.233708530664 -0.381010770798 -0.894545197487 +vn 0.463319748640 -0.284106910229 -0.839415311813 +vn 0.611862540245 -0.209730833769 -0.762651443481 +vn 0.925466060638 -0.019112786278 -0.378348082304 +vn 0.925466060638 -0.019112786278 -0.378348082304 +vn 0.873224854469 0.040406849235 -0.485639452934 +vn 0.463319748640 -0.284106910229 -0.839415311813 +vn 0.983599066734 -0.120129249990 0.134542852640 +vn 0.873089492321 -0.323864191771 -0.364453941584 +vn 0.873224854469 0.040406849235 -0.485639452934 +vn 0.873224854469 0.040406849235 -0.485639452934 +vn 0.967172682285 0.241761222482 0.078284777701 +vn 0.983599066734 -0.120129249990 0.134542852640 +vn 0.641216576099 -0.727358162403 0.244522735476 +vn 0.217509955168 -0.925485610962 0.310106158257 +vn 0.208270162344 -0.874368071556 0.438296735287 +vn 0.208270162344 -0.874368071556 0.438296735287 +vn 0.562027513981 -0.816579937935 0.131614059210 +vn 0.641216576099 -0.727358162403 0.244522735476 +vn -0.999865949154 -0.007872974500 -0.014355270192 +vn -0.930489718914 -0.261996328831 -0.256021112204 +vn -0.933810532093 -0.240890204906 -0.264518111944 +vn -0.933810532093 -0.240890204906 -0.264518111944 +vn -0.999982237816 -0.005035636947 0.003187689232 +vn -0.999865949154 -0.007872974500 -0.014355270192 +vn 0.641216576099 -0.727358162403 0.244522735476 +vn 0.740041375160 -0.561373829842 0.370402753353 +vn 0.421064645052 -0.893715202808 0.154847532511 +vn 0.421064645052 -0.893715202808 0.154847532511 +vn 0.217509955168 -0.925485610962 0.310106158257 +vn 0.641216576099 -0.727358162403 0.244522735476 +vn 0.479405224323 -0.803639292717 0.352610945702 +vn 0.452018469572 -0.883442044258 -0.123326830566 +vn 0.421064645052 -0.893715202808 0.154847532511 +vn 0.421064645052 -0.893715202808 0.154847532511 +vn 0.740041375160 -0.561373829842 0.370402753353 +vn 0.479405224323 -0.803639292717 0.352610945702 +vn 0.634496629238 0.241281628609 0.734300494194 +vn 0.030194981024 -0.298345863819 0.953980088234 +vn 0.251268237829 -0.424266308546 0.869978368282 +vn 0.251268237829 -0.424266308546 0.869978368282 +vn 0.772990465164 0.063075460494 0.631274282932 +vn 0.634496629238 0.241281628609 0.734300494194 +vn 0.967172682285 0.241761222482 0.078284777701 +vn 0.634496629238 0.241281628609 0.734300494194 +vn 0.772990465164 0.063075460494 0.631274282932 +vn 0.772990465164 0.063075460494 0.631274282932 +vn 0.983599066734 -0.120129249990 0.134542852640 +vn 0.967172682285 0.241761222482 0.078284777701 +vn -0.333036005497 -0.132622703910 -0.933540701866 +vn -0.344990402460 -0.115646079183 -0.931454539299 +vn -0.279096722603 -0.206124126911 -0.937879443169 +vn -0.279096722603 -0.206124126911 -0.937879443169 +vn -0.255546450615 -0.236742943525 -0.937362670898 +vn -0.333036005497 -0.132622703910 -0.933540701866 +vn 0.316477656364 0.365814924240 -0.875226438046 +vn 0.385443925858 0.300371497869 -0.872473478317 +vn 0.258136868477 0.673559129238 -0.692591845989 +vn 0.258136868477 0.673559129238 -0.692591845989 +vn 0.265394568443 0.762436449528 -0.590132534504 +vn 0.316477656364 0.365814924240 -0.875226438046 +vn -0.836668133736 0.327173054218 0.439254164696 +vn -0.817613303661 0.347829401493 0.458828032017 +vn -0.999865949154 -0.007872974500 -0.014355270192 +vn -0.999865949154 -0.007872974500 -0.014355270192 +vn -0.999982237816 -0.005035636947 0.003187689232 +vn -0.836668133736 0.327173054218 0.439254164696 +vn -0.817613303661 0.347829401493 0.458828032017 +vn -0.836668133736 0.327173054218 0.439254164696 +vn -0.393941193819 0.551313161850 0.735434651375 +vn -0.393941193819 0.551313161850 0.735434651375 +vn -0.394177705050 0.541026473045 0.742909312248 +vn -0.817613303661 0.347829401493 0.458828032017 +vn 0.562027513981 -0.816579937935 0.131614059210 +vn 0.208270162344 -0.874368071556 0.438296735287 +vn 0.201453700662 -0.832577824593 0.515975356102 +vn 0.201453700662 -0.832577824593 0.515975356102 +vn 0.351804703474 -0.934922873974 0.046397421509 +vn 0.562027513981 -0.816579937935 0.131614059210 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn -0.143444925547 -0.679574370384 -0.719445765018 +vn -0.197733581066 -0.828324854374 -0.524194002151 +vn -0.197733581066 -0.828324854374 -0.524194002151 +vn -0.327985137701 -0.938536167145 0.107590034604 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn 0.057303033769 -0.768139362335 -0.637713313103 +vn -0.143444925547 -0.679574370384 -0.719445765018 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn -0.133838012815 -0.990629673004 0.027208203450 +vn 0.057303033769 -0.768139362335 -0.637713313103 +vn 0.057303033769 -0.768139362335 -0.637713313103 +vn 0.143724322319 -0.430487692356 -0.891080081463 +vn 0.233708530664 -0.381010770798 -0.894545197487 +vn 0.233708530664 -0.381010770798 -0.894545197487 +vn -0.143444925547 -0.679574370384 -0.719445765018 +vn 0.057303033769 -0.768139362335 -0.637713313103 +vn -0.018286168575 -0.241975441575 -0.970110058784 +vn 0.158448517323 -0.275207310915 -0.948237836361 +vn 0.143724322319 -0.430487692356 -0.891080081463 +vn 0.143724322319 -0.430487692356 -0.891080081463 +vn 0.036762826145 -0.407817989588 -0.912322878838 +vn -0.018286168575 -0.241975441575 -0.970110058784 +vn -0.018286168575 -0.241975441575 -0.970110058784 +vn -0.368902295828 -0.176557660103 -0.912545084953 +vn -0.399136632681 -0.109241187572 -0.910360515118 +vn -0.399136632681 -0.109241187572 -0.910360515118 +vn -0.066875919700 -0.211223438382 -0.975147306919 +vn -0.018286168575 -0.241975441575 -0.970110058784 +vn -0.399136632681 -0.109241187572 -0.910360515118 +vn -0.368902295828 -0.176557660103 -0.912545084953 +vn -0.800368309021 -0.110980175436 -0.589146792889 +vn -0.800368309021 -0.110980175436 -0.589146792889 +vn -0.825137555599 -0.039393767715 -0.563556671143 +vn -0.399136632681 -0.109241187572 -0.910360515118 +vn -0.238736808300 0.966642439365 -0.092774368823 +vn -0.221692368388 0.969382524490 -0.105593815446 +vn -0.131967604160 0.986462950706 -0.097341716290 +vn -0.131967604160 0.986462950706 -0.097341716290 +vn -0.131907835603 0.985628366470 -0.105532377958 +vn -0.238736808300 0.966642439365 -0.092774368823 +vn -0.221692368388 0.969382524490 -0.105593815446 +vn -0.238736808300 0.966642439365 -0.092774368823 +vn -0.191518172622 0.977899730206 0.083862185478 +vn -0.191518172622 0.977899730206 0.083862185478 +vn -0.226836472750 0.971370637417 0.070599377155 +vn -0.221692368388 0.969382524490 -0.105593815446 +vn -0.368902295828 -0.176557660103 -0.912545084953 +vn -0.292715787888 -0.318961352110 -0.901432812214 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn -0.800368309021 -0.110980175436 -0.589146792889 +vn -0.368902295828 -0.176557660103 -0.912545084953 +vn -0.800368309021 -0.110980175436 -0.589146792889 +vn -0.995280504227 -0.048975117505 -0.083774343133 +vn -0.996581256390 -0.016104307026 -0.081033818424 +vn -0.996581256390 -0.016104307026 -0.081033818424 +vn -0.825137555599 -0.039393767715 -0.563556671143 +vn -0.800368309021 -0.110980175436 -0.589146792889 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn -0.992322683334 -0.093264035881 -0.081225268543 +vn -0.995280504227 -0.048975117505 -0.083774343133 +vn -0.995280504227 -0.048975117505 -0.083774343133 +vn -0.800368309021 -0.110980175436 -0.589146792889 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn 0.036762826145 -0.407817989588 -0.912322878838 +vn -0.292715787888 -0.318961352110 -0.901432812214 +vn -0.368902295828 -0.176557660103 -0.912545084953 +vn -0.368902295828 -0.176557660103 -0.912545084953 +vn -0.018286168575 -0.241975441575 -0.970110058784 +vn 0.036762826145 -0.407817989588 -0.912322878838 +vn 0.194978520274 -0.578596770763 -0.791965365410 +vn -0.111708708107 -0.268920898438 -0.956662297249 +vn -0.292715787888 -0.318961352110 -0.901432812214 +vn -0.292715787888 -0.318961352110 -0.901432812214 +vn 0.036762826145 -0.407817989588 -0.912322878838 +vn 0.194978520274 -0.578596770763 -0.791965365410 +vn 0.143724322319 -0.430487692356 -0.891080081463 +vn 0.057303033769 -0.768139362335 -0.637713313103 +vn 0.194978520274 -0.578596770763 -0.791965365410 +vn 0.194978520274 -0.578596770763 -0.791965365410 +vn 0.036762826145 -0.407817989588 -0.912322878838 +vn 0.143724322319 -0.430487692356 -0.891080081463 +vn 0.158448517323 -0.275207310915 -0.948237836361 +vn -0.018286168575 -0.241975441575 -0.970110058784 +vn -0.066875919700 -0.211223438382 -0.975147306919 +vn -0.066875919700 -0.211223438382 -0.975147306919 +vn 0.162009149790 -0.252556264400 -0.953922629356 +vn 0.158448517323 -0.275207310915 -0.948237836361 +vn 0.233708530664 -0.381010770798 -0.894545197487 +vn 0.143724322319 -0.430487692356 -0.891080081463 +vn 0.158448517323 -0.275207310915 -0.948237836361 +vn 0.158448517323 -0.275207310915 -0.948237836361 +vn 0.348523497581 -0.248401150107 -0.903785526752 +vn 0.233708530664 -0.381010770798 -0.894545197487 +vn 0.158448517323 -0.275207310915 -0.948237836361 +vn 0.162009149790 -0.252556264400 -0.953922629356 +vn 0.372713238001 -0.219777032733 -0.901544749737 +vn 0.372713238001 -0.219777032733 -0.901544749737 +vn 0.348523497581 -0.248401150107 -0.903785526752 +vn 0.158448517323 -0.275207310915 -0.948237836361 +vn 0.233587369323 0.971875846386 -0.029904913157 +vn 0.078429423273 0.979791224003 -0.184005334973 +vn 0.049535784870 0.983003556728 -0.176777198911 +vn 0.049535784870 0.983003556728 -0.176777198911 +vn 0.215006738901 0.976588487625 -0.006861140486 +vn 0.233587369323 0.971875846386 -0.029904913157 +vn -0.131907835603 0.985628366470 -0.105532377958 +vn -0.131967604160 0.986462950706 -0.097341716290 +vn 0.049535784870 0.983003556728 -0.176777198911 +vn 0.049535784870 0.983003556728 -0.176777198911 +vn 0.078429423273 0.979791224003 -0.184005334973 +vn -0.131907835603 0.985628366470 -0.105532377958 +vn -0.133838012815 -0.990629673004 0.027208203450 +vn 0.167258366942 -0.947917759418 0.271065652370 +vn 0.194978520274 -0.578596770763 -0.791965365410 +vn 0.194978520274 -0.578596770763 -0.791965365410 +vn 0.057303033769 -0.768139362335 -0.637713313103 +vn -0.133838012815 -0.990629673004 0.027208203450 +vn 0.167258366942 -0.947917759418 0.271065652370 +vn -0.133838012815 -0.990629673004 0.027208203450 +vn -0.222474575043 -0.822602808475 0.523287415504 +vn -0.222474575043 -0.822602808475 0.523287415504 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn 0.167258366942 -0.947917759418 0.271065652370 +vn 0.882891595364 -0.448917657137 -0.137750983238 +vn 0.624225676060 -0.733383476734 -0.269241482019 +vn 0.683579862118 -0.686875283718 -0.246821716428 +vn 0.683579862118 -0.686875283718 -0.246821716428 +vn 0.913559436798 -0.390938848257 -0.112142503262 +vn 0.882891595364 -0.448917657137 -0.137750983238 +vn -0.735097944736 -0.411521434784 -0.538777410984 +vn -0.919971227646 -0.315933138132 -0.232032716274 +vn -0.619513154030 -0.784907817841 -0.011097250506 +vn -0.619513154030 -0.784907817841 -0.011097250506 +vn -0.482992053032 -0.863088667393 -0.147636696696 +vn -0.735097944736 -0.411521434784 -0.538777410984 +vn -0.299304544926 0.655579268932 -0.693276703358 +vn -0.299391537905 0.646304905415 -0.701893627644 +vn -0.426549911499 0.661332190037 -0.617004811764 +vn -0.426549911499 0.661332190037 -0.617004811764 +vn -0.434841871262 0.650471568108 -0.622735321522 +vn -0.299304544926 0.655579268932 -0.693276703358 +vn -0.299391537905 0.646304905415 -0.701893627644 +vn -0.299304544926 0.655579268932 -0.693276703358 +vn -0.203423932195 0.523596465588 -0.827324271202 +vn -0.203423932195 0.523596465588 -0.827324271202 +vn -0.206277325749 0.496593266726 -0.843116104603 +vn -0.299391537905 0.646304905415 -0.701893627644 +vn -0.482992053032 -0.863088667393 -0.147636696696 +vn -0.226429939270 -0.972733318806 -0.050193894655 +vn -0.194162026048 -0.710348606110 -0.676539719105 +vn -0.194162026048 -0.710348606110 -0.676539719105 +vn -0.735097944736 -0.411521434784 -0.538777410984 +vn -0.482992053032 -0.863088667393 -0.147636696696 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn 0.079071938992 -0.791167795658 0.606466054916 +vn -0.004341814201 -0.943970918655 0.330000013113 +vn -0.004341814201 -0.943970918655 0.330000013113 +vn 0.167258366942 -0.947917759418 0.271065652370 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn -0.213583230972 -0.152138248086 0.965005755424 +vn -0.260384202003 -0.547934710979 0.794963896275 +vn -0.260384202003 -0.547934710979 0.794963896275 +vn 0.079071938992 -0.791167795658 0.606466054916 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn -0.393412828445 -0.499320507050 0.771949112415 +vn -0.518660068512 -0.250207871199 0.817549884319 +vn -0.518660068512 -0.250207871199 0.817549884319 +vn -0.213583230972 -0.152138248086 0.965005755424 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn -0.281598299742 -0.578111886978 0.765825748444 +vn -0.393412828445 -0.499320507050 0.771949112415 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn 0.015772189945 -0.661784946918 0.749527812004 +vn -0.222474575043 -0.822602808475 0.523287415504 +vn -0.281598299742 -0.578111886978 0.765825748444 +vn -0.711521089077 -0.668513596058 0.216396108270 +vn -0.116688124835 -0.992550909519 -0.035022944212 +vn -0.619513154030 -0.784907817841 -0.011097250506 +vn -0.619513154030 -0.784907817841 -0.011097250506 +vn -0.919971227646 -0.315933138132 -0.232032716274 +vn -0.711521089077 -0.668513596058 0.216396108270 +vn -0.283012300730 0.166665807366 0.944524526596 +vn -0.275574177504 0.178359404206 0.944588184357 +vn -0.309776514769 0.123586989939 0.942743241787 +vn -0.309776514769 0.123586989939 0.942743241787 +vn -0.318132579327 0.109800979495 0.941666305065 +vn -0.283012300730 0.166665807366 0.944524526596 +vn -0.820068120956 0.569231271744 0.058856066316 +vn -0.864802479744 0.500968754292 0.033867362887 +vn -0.670427143574 0.731589615345 0.123709522188 +vn -0.670427143574 0.731589615345 0.123709522188 +vn -0.609832704067 0.779186606407 0.144818082452 +vn -0.820068120956 0.569231271744 0.058856066316 +vn -0.116688124835 -0.992550909519 -0.035022944212 +vn -0.711521089077 -0.668513596058 0.216396108270 +vn -0.151900768280 -0.824738562107 0.544731557369 +vn -0.151900768280 -0.824738562107 0.544731557369 +vn -0.176847338676 -0.984200179577 0.008661456406 +vn -0.116688124835 -0.992550909519 -0.035022944212 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn -0.334040522575 -0.736586928368 0.588095724583 +vn -0.222474575043 -0.822602808475 0.523287415504 +vn -0.222474575043 -0.822602808475 0.523287415504 +vn -0.133838012815 -0.990629673004 0.027208203450 +vn -0.441047191620 -0.897233605385 0.021195763722 +vn 0.676929712296 0.735970973969 0.010624704883 +vn 0.462099343538 0.855638921261 -0.233122825623 +vn 0.498349219561 0.832625806332 -0.241624265909 +vn 0.498349219561 0.832625806332 -0.241624265909 +vn 0.730528593063 0.682668983936 0.017058826983 +vn 0.676929712296 0.735970973969 0.010624704883 +vn -0.394177705050 0.541026473045 0.742909312248 +vn -0.393941193819 0.551313161850 0.735434651375 +vn -0.066927298903 0.552506208420 0.830817461014 +vn -0.066927298903 0.552506208420 0.830817461014 +vn -0.067695811391 0.526292204857 0.847604751587 +vn -0.394177705050 0.541026473045 0.742909312248 +vn 0.462099343538 0.855638921261 -0.233122825623 +vn 0.265394568443 0.762436449528 -0.590132534504 +vn 0.258136868477 0.673559129238 -0.692591845989 +vn 0.258136868477 0.673559129238 -0.692591845989 +vn 0.498349219561 0.832625806332 -0.241624265909 +vn 0.462099343538 0.855638921261 -0.233122825623 +vn -0.334040522575 -0.736586928368 0.588095724583 +vn -0.087695412338 -0.850844204426 0.518047869205 +vn 0.251268237829 -0.424266308546 0.869978368282 +vn 0.251268237829 -0.424266308546 0.869978368282 +vn 0.030194981024 -0.298345863819 0.953980088234 +vn -0.334040522575 -0.736586928368 0.588095724583 +vn 0.452018469572 -0.883442044258 -0.123326830566 +vn 0.479405224323 -0.803639292717 0.352610945702 +vn 0.446306288242 -0.891758263111 0.074685193598 +vn 0.446306288242 -0.891758263111 0.074685193598 +vn 0.652370274067 -0.700718224049 -0.288802653551 +vn 0.452018469572 -0.883442044258 -0.123326830566 +vn -0.202640861273 -0.541228234768 0.816093564034 +vn -0.281598299742 -0.578111886978 0.765825748444 +vn -0.222474575043 -0.822602808475 0.523287415504 +vn -0.222474575043 -0.822602808475 0.523287415504 +vn -0.334040522575 -0.736586928368 0.588095724583 +vn -0.202640861273 -0.541228234768 0.816093564034 +vn -0.334040522575 -0.736586928368 0.588095724583 +vn 0.030194981024 -0.298345863819 0.953980088234 +vn 0.146515324712 -0.276555955410 0.949763178825 +vn 0.146515324712 -0.276555955410 0.949763178825 +vn -0.202640861273 -0.541228234768 0.816093564034 +vn -0.334040522575 -0.736586928368 0.588095724583 +vn -0.202640861273 -0.541228234768 0.816093564034 +vn -0.110075645149 -0.299240350723 0.947807252407 +vn -0.302206009626 -0.319333881140 0.898163378239 +vn -0.302206009626 -0.319333881140 0.898163378239 +vn -0.281598299742 -0.578111886978 0.765825748444 +vn -0.202640861273 -0.541228234768 0.816093564034 +vn -0.302206009626 -0.319333881140 0.898163378239 +vn -0.470668077469 -0.288607269526 0.833773016930 +vn -0.393412828445 -0.499320507050 0.771949112415 +vn -0.393412828445 -0.499320507050 0.771949112415 +vn -0.281598299742 -0.578111886978 0.765825748444 +vn -0.302206009626 -0.319333881140 0.898163378239 +vn -0.470668077469 -0.288607269526 0.833773016930 +vn -0.506272614002 -0.212398335338 0.835807979107 +vn -0.700267732143 -0.161503911018 0.695371508598 +vn -0.700267732143 -0.161503911018 0.695371508598 +vn -0.667668998241 -0.190084442496 0.719781875610 +vn -0.470668077469 -0.288607269526 0.833773016930 +vn 0.043970555067 0.986248075962 0.159315317869 +vn 0.052583612502 0.985693454742 0.160135433078 +vn -0.018820434809 0.989357590675 0.144282087684 +vn -0.018820434809 0.989357590675 0.144282087684 +vn -0.026022652164 0.988108336926 0.151541069150 +vn 0.043970555067 0.986248075962 0.159315317869 +vn 0.499433219433 0.162840068340 -0.850911021233 +vn 0.265916287899 0.192993134260 -0.944479823112 +vn 0.262357443571 0.201877102256 -0.943617641926 +vn 0.262357443571 0.201877102256 -0.943617641926 +vn 0.493813991547 0.168256774545 -0.853133857250 +vn 0.499433219433 0.162840068340 -0.850911021233 +vn 0.265916287899 0.192993134260 -0.944479823112 +vn -0.020402621478 0.125429570675 -0.991892695427 +vn -0.041227888316 0.133673071861 -0.990167558193 +vn -0.041227888316 0.133673071861 -0.990167558193 +vn 0.262357443571 0.201877102256 -0.943617641926 +vn 0.265916287899 0.192993134260 -0.944479823112 +vn -0.333152711391 0.173149183393 -0.926837980747 +vn -0.336778044701 0.156496420503 -0.928487718105 +vn -0.041227888316 0.133673071861 -0.990167558193 +vn -0.041227888316 0.133673071861 -0.990167558193 +vn -0.020402621478 0.125429570675 -0.991892695427 +vn -0.333152711391 0.173149183393 -0.926837980747 +vn -0.336778044701 0.156496420503 -0.928487718105 +vn -0.333152711391 0.173149183393 -0.926837980747 +vn -0.684160232544 -0.015572587028 -0.729165434837 +vn -0.684160232544 -0.015572587028 -0.729165434837 +vn -0.655080139637 -0.018082045019 -0.755343019962 +vn -0.336778044701 0.156496420503 -0.928487718105 +vn 0.116307489574 0.990462958813 0.073862694204 +vn -0.048381622881 0.989867806435 0.133495286107 +vn -0.040402501822 0.989431560040 0.139258161187 +vn -0.040402501822 0.989431560040 0.139258161187 +vn 0.147966638207 0.985058844090 0.088119089603 +vn 0.116307489574 0.990462958813 0.073862694204 +vn 0.228807210922 0.964297473431 0.133332878351 +vn 0.116307489574 0.990462958813 0.073862694204 +vn 0.147966638207 0.985058844090 0.088119089603 +vn 0.147966638207 0.985058844090 0.088119089603 +vn 0.233582735062 0.960899651051 0.148697659373 +vn 0.228807210922 0.964297473431 0.133332878351 +vn 0.228807210922 0.964297473431 0.133332878351 +vn 0.233582735062 0.960899651051 0.148697659373 +vn 0.134896829724 0.973662376404 0.183805242181 +vn 0.134896829724 0.973662376404 0.183805242181 +vn 0.133777290583 0.972870230675 0.188751518726 +vn 0.228807210922 0.964297473431 0.133332878351 +vn 0.134896829724 0.973662376404 0.183805242181 +vn 0.052583612502 0.985693454742 0.160135433078 +vn 0.043970555067 0.986248075962 0.159315317869 +vn 0.043970555067 0.986248075962 0.159315317869 +vn 0.133777290583 0.972870230675 0.188751518726 +vn 0.134896829724 0.973662376404 0.183805242181 +vn -0.110075645149 -0.299240350723 0.947807252407 +vn -0.067382998765 -0.241788670421 0.967986464500 +vn -0.327422112226 -0.238218516111 0.914355874062 +vn -0.327422112226 -0.238218516111 0.914355874062 +vn -0.302206009626 -0.319333881140 0.898163378239 +vn -0.110075645149 -0.299240350723 0.947807252407 +vn -0.302206009626 -0.319333881140 0.898163378239 +vn -0.327422112226 -0.238218516111 0.914355874062 +vn -0.506272614002 -0.212398335338 0.835807979107 +vn -0.506272614002 -0.212398335338 0.835807979107 +vn -0.470668077469 -0.288607269526 0.833773016930 +vn -0.302206009626 -0.319333881140 0.898163378239 +vn 0.699930727482 0.270119965076 -0.661159753799 +vn 0.499433219433 0.162840068340 -0.850911021233 +vn 0.493813991547 0.168256774545 -0.853133857250 +vn 0.493813991547 0.168256774545 -0.853133857250 +vn 0.691769719124 0.281607925892 -0.664944827557 +vn 0.699930727482 0.270119965076 -0.661159753799 +vn -0.018820434809 0.989357590675 0.144282087684 +vn -0.003519654274 0.995996475220 0.089323498309 +vn 0.011763782240 0.995036125183 0.098816752434 +vn 0.011763782240 0.995036125183 0.098816752434 +vn -0.026022652164 0.988108336926 0.151541069150 +vn -0.018820434809 0.989357590675 0.144282087684 +vn 0.011763782240 0.995036125183 0.098816752434 +vn -0.003519654274 0.995996475220 0.089323498309 +vn 0.098272599280 0.988767683506 0.112609624863 +vn 0.098272599280 0.988767683506 0.112609624863 +vn 0.150311067700 0.982064425945 0.113824792206 +vn 0.011763782240 0.995036125183 0.098816752434 +vn -0.904178857803 -0.087611623108 0.418072730303 +vn -0.893042266369 -0.102554738522 0.438130140305 +vn -0.667668998241 -0.190084442496 0.719781875610 +vn -0.667668998241 -0.190084442496 0.719781875610 +vn -0.700267732143 -0.161503911018 0.695371508598 +vn -0.904178857803 -0.087611623108 0.418072730303 +vn -0.904178857803 -0.087611623108 0.418072730303 +vn -0.996581256390 -0.016104307026 -0.081033818424 +vn -0.995280504227 -0.048975117505 -0.083774343133 +vn -0.995280504227 -0.048975117505 -0.083774343133 +vn -0.893042266369 -0.102554738522 0.438130140305 +vn -0.904178857803 -0.087611623108 0.418072730303 +vn -0.893042266369 -0.102554738522 0.438130140305 +vn -0.844687044621 -0.055362772197 0.532389700413 +vn -0.518660068512 -0.250207871199 0.817549884319 +vn -0.518660068512 -0.250207871199 0.817549884319 +vn -0.667668998241 -0.190084442496 0.719781875610 +vn -0.893042266369 -0.102554738522 0.438130140305 +vn -0.844687044621 -0.055362772197 0.532389700413 +vn -0.893042266369 -0.102554738522 0.438130140305 +vn -0.995280504227 -0.048975117505 -0.083774343133 +vn -0.995280504227 -0.048975117505 -0.083774343133 +vn -0.992322683334 -0.093264035881 -0.081225268543 +vn -0.844687044621 -0.055362772197 0.532389700413 +vn -0.213583230972 -0.152138248086 0.965005755424 +vn -0.518660068512 -0.250207871199 0.817549884319 +vn -0.844687044621 -0.055362772197 0.532389700413 +vn -0.844687044621 -0.055362772197 0.532389700413 +vn -0.790865480900 -0.036794260144 0.610882937908 +vn -0.213583230972 -0.152138248086 0.965005755424 +vn -0.992322683334 -0.093264035881 -0.081225268543 +vn -0.971844494343 -0.232869014144 -0.035921055824 +vn -0.790865480900 -0.036794260144 0.610882937908 +vn -0.790865480900 -0.036794260144 0.610882937908 +vn -0.844687044621 -0.055362772197 0.532389700413 +vn -0.992322683334 -0.093264035881 -0.081225268543 +vn -0.393412828445 -0.499320507050 0.771949112415 +vn -0.470668077469 -0.288607269526 0.833773016930 +vn -0.667668998241 -0.190084442496 0.719781875610 +vn -0.667668998241 -0.190084442496 0.719781875610 +vn -0.518660068512 -0.250207871199 0.817549884319 +vn -0.393412828445 -0.499320507050 0.771949112415 +vn -0.191518172622 0.977899730206 0.083862185478 +vn 0.150311067700 0.982064425945 0.113824792206 +vn 0.098272599280 0.988767683506 0.112609624863 +vn 0.098272599280 0.988767683506 0.112609624863 +vn -0.226836472750 0.971370637417 0.070599377155 +vn -0.191518172622 0.977899730206 0.083862185478 +vn 0.849974095821 -0.094851419330 0.518215477467 +vn 0.828021049500 -0.105283483863 0.550723612309 +vn 0.994555354118 0.050949502736 0.090905636549 +vn 0.994555354118 0.050949502736 0.090905636549 +vn 0.997999727726 0.053960263729 0.032937355340 +vn 0.849974095821 -0.094851419330 0.518215477467 +vn 0.516509771347 -0.172434687614 0.838739454746 +vn 0.478259414434 -0.153687790036 0.864666402340 +vn 0.828021049500 -0.105283483863 0.550723612309 +vn 0.828021049500 -0.105283483863 0.550723612309 +vn 0.849974095821 -0.094851419330 0.518215477467 +vn 0.516509771347 -0.172434687614 0.838739454746 +vn 0.112317882478 -0.462118685246 0.879676640034 +vn 0.478259414434 -0.153687790036 0.864666402340 +vn 0.516509771347 -0.172434687614 0.838739454746 +vn 0.516509771347 -0.172434687614 0.838739454746 +vn 0.144089296460 -0.504522621632 0.851290345192 +vn 0.112317882478 -0.462118685246 0.879676640034 +vn 0.994555354118 0.050949502736 0.090905636549 +vn 0.909626424313 0.109246626496 -0.400805354118 +vn 0.902975142002 0.113141357899 -0.414529800415 +vn 0.902975142002 0.113141357899 -0.414529800415 +vn 0.997999727726 0.053960263729 0.032937355340 +vn 0.994555354118 0.050949502736 0.090905636549 +vn 0.699930727482 0.270119965076 -0.661159753799 +vn 0.691769719124 0.281607925892 -0.664944827557 +vn 0.902975142002 0.113141357899 -0.414529800415 +vn 0.902975142002 0.113141357899 -0.414529800415 +vn 0.909626424313 0.109246626496 -0.400805354118 +vn 0.699930727482 0.270119965076 -0.661159753799 +vn 0.372713238001 -0.219777032733 -0.901544749737 +vn 0.698699057102 -0.088728033006 -0.709892213345 +vn 0.675778031349 -0.159016281366 -0.719748497009 +vn 0.675778031349 -0.159016281366 -0.719748497009 +vn 0.348523497581 -0.248401150107 -0.903785526752 +vn 0.372713238001 -0.219777032733 -0.901544749737 +vn 0.233587369323 0.971875846386 -0.029904913157 +vn 0.215006738901 0.976588487625 -0.006861140486 +vn 0.680514693260 0.732540011406 -0.016878856346 +vn 0.680514693260 0.732540011406 -0.016878856346 +vn 0.529358327389 0.845940232277 -0.064536072314 +vn 0.233587369323 0.971875846386 -0.029904913157 +vn 0.180200353265 -0.741592764854 -0.646194994450 +vn -0.142431572080 -0.628738820553 -0.764461100101 +vn -0.111708708107 -0.268920898438 -0.956662297249 +vn -0.111708708107 -0.268920898438 -0.956662297249 +vn 0.194978520274 -0.578596770763 -0.791965365410 +vn 0.180200353265 -0.741592764854 -0.646194994450 +vn -0.271172046661 -0.956903278828 0.103931777179 +vn -0.176847338676 -0.984200179577 0.008661456406 +vn -0.151900768280 -0.824738562107 0.544731557369 +vn -0.151900768280 -0.824738562107 0.544731557369 +vn 0.101197555661 -0.910763978958 0.400334864855 +vn -0.271172046661 -0.956903278828 0.103931777179 +vn -0.142431572080 -0.628738820553 -0.764461100101 +vn -0.680348038673 -0.605094075203 -0.413506597281 +vn -0.746579527855 -0.245642706752 -0.618286848068 +vn -0.746579527855 -0.245642706752 -0.618286848068 +vn -0.111708708107 -0.268920898438 -0.956662297249 +vn -0.142431572080 -0.628738820553 -0.764461100101 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn -0.292715787888 -0.318961352110 -0.901432812214 +vn -0.111708708107 -0.268920898438 -0.956662297249 +vn -0.111708708107 -0.268920898438 -0.956662297249 +vn -0.746579527855 -0.245642706752 -0.618286848068 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn -0.971844494343 -0.232869014144 -0.035921055824 +vn -0.992322683334 -0.093264035881 -0.081225268543 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn -0.759035468102 -0.198567867279 -0.620029032230 +vn -0.746579527855 -0.245642706752 -0.618286848068 +vn -0.971844494343 -0.232869014144 -0.035921055824 +vn -0.798590898514 -0.600576460361 0.039503142238 +vn -0.971844494343 -0.232869014144 -0.035921055824 +vn -0.746579527855 -0.245642706752 -0.618286848068 +vn -0.746579527855 -0.245642706752 -0.618286848068 +vn -0.680348038673 -0.605094075203 -0.413506597281 +vn -0.798590898514 -0.600576460361 0.039503142238 +vn -0.184958517551 -0.968991398811 0.163847535849 +vn 0.220449462533 -0.944154858589 0.244895160198 +vn 0.232225567102 -0.911761343479 -0.338766276836 +vn 0.232225567102 -0.911761343479 -0.338766276836 +vn -0.231335133314 -0.954641819000 0.187464684248 +vn -0.184958517551 -0.968991398811 0.163847535849 +vn 0.992116570473 -0.075684450567 0.099882952869 +vn 0.914270520210 -0.374885022640 -0.153527349234 +vn 0.932675123215 -0.328857719898 -0.148221790791 +vn 0.932675123215 -0.328857719898 -0.148221790791 +vn 0.978691160679 -0.038977265358 0.201604634523 +vn 0.992116570473 -0.075684450567 0.099882952869 +vn 0.757674992085 0.067285761237 0.649154245853 +vn 0.992116570473 -0.075684450567 0.099882952869 +vn 0.978691160679 -0.038977265358 0.201604634523 +vn 0.978691160679 -0.038977265358 0.201604634523 +vn 0.682809650898 0.058452133089 0.728254318237 +vn 0.757674992085 0.067285761237 0.649154245853 +vn 0.467002600431 -0.069905437529 0.881488382816 +vn 0.757674992085 0.067285761237 0.649154245853 +vn 0.682809650898 0.058452133089 0.728254318237 +vn 0.682809650898 0.058452133089 0.728254318237 +vn 0.469311714172 -0.101307049394 0.877202033997 +vn 0.467002600431 -0.069905437529 0.881488382816 +vn -0.184958517551 -0.968991398811 0.163847535849 +vn -0.271172046661 -0.956903278828 0.103931777179 +vn 0.101197555661 -0.910763978958 0.400334864855 +vn 0.101197555661 -0.910763978958 0.400334864855 +vn 0.220449462533 -0.944154858589 0.244895160198 +vn -0.184958517551 -0.968991398811 0.163847535849 +vn 0.461291611195 0.075415410101 -0.884037673473 +vn 0.465971797705 0.054153501987 -0.883140802383 +vn 0.452682107687 0.112095654011 -0.884597897530 +vn 0.452682107687 0.112095654011 -0.884597897530 +vn 0.448319792747 0.129651442170 -0.884420633316 +vn 0.461291611195 0.075415410101 -0.884037673473 +vn -0.226429939270 -0.972733318806 -0.050193894655 +vn -0.231335133314 -0.954641819000 0.187464684248 +vn 0.232225567102 -0.911761343479 -0.338766276836 +vn 0.232225567102 -0.911761343479 -0.338766276836 +vn -0.194162026048 -0.710348606110 -0.676539719105 +vn -0.226429939270 -0.972733318806 -0.050193894655 +vn -0.790865480900 -0.036794260144 0.610882937908 +vn -0.971844494343 -0.232869014144 -0.035921055824 +vn -0.798590898514 -0.600576460361 0.039503142238 +vn -0.798590898514 -0.600576460361 0.039503142238 +vn -0.768781661987 -0.413898468018 0.487506747246 +vn -0.790865480900 -0.036794260144 0.610882937908 +vn -0.768781661987 -0.413898468018 0.487506747246 +vn -0.260384202003 -0.547934710979 0.794963896275 +vn -0.213583230972 -0.152138248086 0.965005755424 +vn -0.213583230972 -0.152138248086 0.965005755424 +vn -0.790865480900 -0.036794260144 0.610882937908 +vn -0.768781661987 -0.413898468018 0.487506747246 +vn -0.168900057673 0.193152844906 0.966521978378 +vn -0.167976438999 0.232479542494 0.957985997200 +vn 0.112317882478 -0.462118685246 0.879676640034 +vn 0.112317882478 -0.462118685246 0.879676640034 +vn 0.144089296460 -0.504522621632 0.851290345192 +vn -0.168900057673 0.193152844906 0.966521978378 +vn -0.362826079130 0.288003414869 0.886234343052 +vn -0.361879914999 0.274064928293 0.891028225422 +vn -0.167976438999 0.232479542494 0.957985997200 +vn -0.167976438999 0.232479542494 0.957985997200 +vn -0.168900057673 0.193152844906 0.966521978378 +vn -0.362826079130 0.288003414869 0.886234343052 +vn -0.361879914999 0.274064928293 0.891028225422 +vn -0.362826079130 0.288003414869 0.886234343052 +vn -0.701582729816 0.307782292366 0.642691016197 +vn -0.701582729816 0.307782292366 0.642691016197 +vn -0.720118165016 0.286492228508 0.631943047047 +vn -0.361879914999 0.274064928293 0.891028225422 +vn -0.701582729816 0.307782292366 0.642691016197 +vn -0.616649746895 0.675030350685 0.405064314604 +vn -0.716325759888 0.585582971573 0.379433780909 +vn -0.716325759888 0.585582971573 0.379433780909 +vn -0.720118165016 0.286492228508 0.631943047047 +vn -0.701582729816 0.307782292366 0.642691016197 +vn -0.004341814201 -0.943970918655 0.330000013113 +vn -0.619513154030 -0.784907817841 -0.011097250506 +vn -0.116688124835 -0.992550909519 -0.035022944212 +vn -0.116688124835 -0.992550909519 -0.035022944212 +vn 0.180200353265 -0.741592764854 -0.646194994450 +vn -0.004341814201 -0.943970918655 0.330000013113 +vn -0.619513154030 -0.784907817841 -0.011097250506 +vn -0.004341814201 -0.943970918655 0.330000013113 +vn 0.079071938992 -0.791167795658 0.606466054916 +vn 0.079071938992 -0.791167795658 0.606466054916 +vn -0.482992053032 -0.863088667393 -0.147636696696 +vn -0.619513154030 -0.784907817841 -0.011097250506 +vn -0.482992053032 -0.863088667393 -0.147636696696 +vn 0.079071938992 -0.791167795658 0.606466054916 +vn -0.260384202003 -0.547934710979 0.794963896275 +vn -0.260384202003 -0.547934710979 0.794963896275 +vn -0.226429939270 -0.972733318806 -0.050193894655 +vn -0.482992053032 -0.863088667393 -0.147636696696 +vn -0.176847338676 -0.984200179577 0.008661456406 +vn -0.142431572080 -0.628738820553 -0.764461100101 +vn 0.180200353265 -0.741592764854 -0.646194994450 +vn 0.180200353265 -0.741592764854 -0.646194994450 +vn -0.116688124835 -0.992550909519 -0.035022944212 +vn -0.176847338676 -0.984200179577 0.008661456406 +vn -0.271172046661 -0.956903278828 0.103931777179 +vn -0.680348038673 -0.605094075203 -0.413506597281 +vn -0.142431572080 -0.628738820553 -0.764461100101 +vn -0.142431572080 -0.628738820553 -0.764461100101 +vn -0.176847338676 -0.984200179577 0.008661456406 +vn -0.271172046661 -0.956903278828 0.103931777179 +vn -0.680348038673 -0.605094075203 -0.413506597281 +vn -0.271172046661 -0.956903278828 0.103931777179 +vn -0.184958517551 -0.968991398811 0.163847535849 +vn -0.184958517551 -0.968991398811 0.163847535849 +vn -0.798590898514 -0.600576460361 0.039503142238 +vn -0.680348038673 -0.605094075203 -0.413506597281 +vn -0.231335133314 -0.954641819000 0.187464684248 +vn -0.768781661987 -0.413898468018 0.487506747246 +vn -0.798590898514 -0.600576460361 0.039503142238 +vn -0.798590898514 -0.600576460361 0.039503142238 +vn -0.184958517551 -0.968991398811 0.163847535849 +vn -0.231335133314 -0.954641819000 0.187464684248 +vn -0.226429939270 -0.972733318806 -0.050193894655 +vn -0.260384202003 -0.547934710979 0.794963896275 +vn -0.768781661987 -0.413898468018 0.487506747246 +vn -0.768781661987 -0.413898468018 0.487506747246 +vn -0.231335133314 -0.954641819000 0.187464684248 +vn -0.226429939270 -0.972733318806 -0.050193894655 +vn -0.327985137701 -0.938536167145 0.107590034604 +vn 0.238442823291 -0.955045223236 0.176163703203 +vn 0.446306288242 -0.891758263111 0.074685193598 +vn 0.446306288242 -0.891758263111 0.074685193598 +vn -0.087695412338 -0.850844204426 0.518047869205 +vn -0.327985137701 -0.938536167145 0.107590034604 +vn 0.238442823291 -0.955045223236 0.176163703203 +vn -0.327985137701 -0.938536167145 0.107590034604 +vn -0.197733581066 -0.828324854374 -0.524194002151 +vn -0.197733581066 -0.828324854374 -0.524194002151 +vn 0.027907121927 -0.999519944191 -0.013458410278 +vn 0.238442823291 -0.955045223236 0.176163703203 +vn 0.027907121927 -0.999519944191 -0.013458410278 +vn -0.197733581066 -0.828324854374 -0.524194002151 +vn 0.455730617046 -0.609691083431 -0.648526310921 +vn 0.455730617046 -0.609691083431 -0.648526310921 +vn 0.351804703474 -0.934922873974 0.046397421509 +vn 0.027907121927 -0.999519944191 -0.013458410278 +vn 0.873089492321 -0.323864191771 -0.364453941584 +vn 0.562027513981 -0.816579937935 0.131614059210 +vn 0.351804703474 -0.934922873974 0.046397421509 +vn 0.351804703474 -0.934922873974 0.046397421509 +vn 0.455730617046 -0.609691083431 -0.648526310921 +vn 0.873089492321 -0.323864191771 -0.364453941584 +vn 0.983599066734 -0.120129249990 0.134542852640 +vn 0.641216576099 -0.727358162403 0.244522735476 +vn 0.562027513981 -0.816579937935 0.131614059210 +vn 0.562027513981 -0.816579937935 0.131614059210 +vn 0.873089492321 -0.323864191771 -0.364453941584 +vn 0.983599066734 -0.120129249990 0.134542852640 +vn 0.641216576099 -0.727358162403 0.244522735476 +vn 0.983599066734 -0.120129249990 0.134542852640 +vn 0.772990465164 0.063075460494 0.631274282932 +vn 0.772990465164 0.063075460494 0.631274282932 +vn 0.740041375160 -0.561373829842 0.370402753353 +vn 0.641216576099 -0.727358162403 0.244522735476 +vn 0.740041375160 -0.561373829842 0.370402753353 +vn 0.772990465164 0.063075460494 0.631274282932 +vn 0.251268237829 -0.424266308546 0.869978368282 +vn 0.251268237829 -0.424266308546 0.869978368282 +vn 0.479405224323 -0.803639292717 0.352610945702 +vn 0.740041375160 -0.561373829842 0.370402753353 +vn -0.087695412338 -0.850844204426 0.518047869205 +vn 0.446306288242 -0.891758263111 0.074685193598 +vn 0.479405224323 -0.803639292717 0.352610945702 +vn 0.479405224323 -0.803639292717 0.352610945702 +vn 0.251268237829 -0.424266308546 0.869978368282 +vn -0.087695412338 -0.850844204426 0.518047869205 +vn 0.301698088646 0.951182126999 0.065044857562 +vn 0.117949590087 0.849612355232 0.514049351215 +vn 0.171455085278 0.914633154869 0.366127461195 +vn 0.171455085278 0.914633154869 0.366127461195 +vn 0.247134611011 0.967952191830 0.044642847031 +vn 0.301698088646 0.951182126999 0.065044857562 +vn -0.009665114805 0.432859390974 0.901409626007 +vn 0.201083213091 0.576883137226 0.791688919067 +vn 0.256829530001 0.900792479515 0.350159198046 +vn 0.256829530001 0.900792479515 0.350159198046 +vn 0.171455085278 0.914633154869 0.366127461195 +vn -0.009665114805 0.432859390974 0.901409626007 +vn 0.124457292259 -0.991895079613 -0.025584608316 +vn 0.003870419692 -0.997206032276 0.074600264430 +vn -0.090538904071 -0.721768438816 0.686187326908 +vn -0.090538904071 -0.721768438816 0.686187326908 +vn -0.097998321056 -0.885099232197 0.454967737198 +vn 0.124457292259 -0.991895079613 -0.025584608316 +vn -0.156766593456 -0.905144870281 0.395141780376 +vn 0.174129217863 -0.981105268002 -0.084329314530 +vn 0.124457292259 -0.991895079613 -0.025584608316 +vn 0.124457292259 -0.991895079613 -0.025584608316 +vn -0.097998321056 -0.885099232197 0.454967737198 +vn -0.156766593456 -0.905144870281 0.395141780376 +vn -0.212095111609 0.293082028627 0.932265281677 +vn -0.410863459110 -0.055618740618 0.909998774529 +vn -0.486689150333 -0.374447375536 0.789254605770 +vn -0.486689150333 -0.374447375536 0.789254605770 +vn -0.355197250843 -0.292997479439 0.887686550617 +vn -0.212095111609 0.293082028627 0.932265281677 +vn 0.215676337481 0.968818902969 0.121957629919 +vn -0.135806068778 0.653280317783 0.744836568832 +vn 0.117949590087 0.849612355232 0.514049351215 +vn 0.117949590087 0.849612355232 0.514049351215 +vn 0.301698088646 0.951182126999 0.065044857562 +vn 0.215676337481 0.968818902969 0.121957629919 +vn 0.116785392165 0.979833245277 0.162135779858 +vn -0.473818302155 0.648060023785 0.596250295639 +vn -0.135806068778 0.653280317783 0.744836568832 +vn -0.135806068778 0.653280317783 0.744836568832 +vn 0.215676337481 0.968818902969 0.121957629919 +vn 0.116785392165 0.979833245277 0.162135779858 +vn -0.135806068778 0.653280317783 0.744836568832 +vn -0.473818302155 0.648060023785 0.596250295639 +vn -0.705824911594 -0.080311007798 0.703819155693 +vn -0.705824911594 -0.080311007798 0.703819155693 +vn -0.410863459110 -0.055618740618 0.909998774529 +vn -0.135806068778 0.653280317783 0.744836568832 +vn -0.675995051861 -0.429347306490 0.598908662796 +vn -0.705824911594 -0.080311007798 0.703819155693 +vn -0.902148842812 -0.074126504362 0.425009071827 +vn -0.902148842812 -0.074126504362 0.425009071827 +vn -0.818308353424 -0.492649257183 0.296088099480 +vn -0.675995051861 -0.429347306490 0.598908662796 +vn 0.180662691593 -0.977567434311 -0.108272127807 +vn 0.174129217863 -0.981105268002 -0.084329314530 +vn -0.156766593456 -0.905144870281 0.395141780376 +vn -0.156766593456 -0.905144870281 0.395141780376 +vn -0.285608649254 -0.925775051117 0.247726097703 +vn 0.180662691593 -0.977567434311 -0.108272127807 +vn 0.102859064937 -0.983786880970 -0.146912872791 +vn 0.180662691593 -0.977567434311 -0.108272127807 +vn -0.285608649254 -0.925775051117 0.247726097703 +vn -0.285608649254 -0.925775051117 0.247726097703 +vn -0.307565927505 -0.950393795967 0.046419605613 +vn 0.102859064937 -0.983786880970 -0.146912872791 +vn -0.983445346355 -0.041850395501 0.176306024194 +vn -0.902148842812 -0.074126504362 0.425009071827 +vn -0.644459664822 0.624916911125 0.440625160933 +vn -0.644459664822 0.624916911125 0.440625160933 +vn -0.745227813721 0.633083999157 0.209380432963 +vn -0.983445346355 -0.041850395501 0.176306024194 +vn -0.186048939824 0.976999819279 0.104197762907 +vn -0.704271733761 0.708031654358 -0.051889482886 +vn -0.745227813721 0.633083999157 0.209380432963 +vn -0.745227813721 0.633083999157 0.209380432963 +vn -0.174272745848 0.962094068527 0.209771290421 +vn -0.186048939824 0.976999819279 0.104197762907 +vn -0.174272745848 0.962094068527 0.209771290421 +vn -0.745227813721 0.633083999157 0.209380432963 +vn -0.644459664822 0.624916911125 0.440625160933 +vn -0.644459664822 0.624916911125 0.440625160933 +vn -0.093426696956 0.949718952179 0.298839986324 +vn -0.174272745848 0.962094068527 0.209771290421 +vn -0.926520526409 -0.330959945917 -0.178956046700 +vn -0.929030179977 -0.362915277481 0.072079576552 +vn -0.983445346355 -0.041850395501 0.176306024194 +vn -0.983445346355 -0.041850395501 0.176306024194 +vn -0.985829532146 0.026642497629 -0.165621146560 +vn -0.926520526409 -0.330959945917 -0.178956046700 +vn -0.644459664822 0.624916911125 0.440625160933 +vn -0.473818302155 0.648060023785 0.596250295639 +vn 0.116785392165 0.979833245277 0.162135779858 +vn 0.116785392165 0.979833245277 0.162135779858 +vn -0.093426696956 0.949718952179 0.298839986324 +vn -0.644459664822 0.624916911125 0.440625160933 +vn -0.355197250843 -0.292997479439 0.887686550617 +vn -0.082572974265 -0.055582214147 0.995033800602 +vn -0.009665114805 0.432859390974 0.901409626007 +vn -0.009665114805 0.432859390974 0.901409626007 +vn -0.212095111609 0.293082028627 0.932265281677 +vn -0.355197250843 -0.292997479439 0.887686550617 +vn -0.079968959093 -0.996480226517 0.025141783059 +vn 0.065914735198 -0.785547375679 0.615280866623 +vn -0.090538904071 -0.721768438816 0.686187326908 +vn -0.090538904071 -0.721768438816 0.686187326908 +vn 0.003870419692 -0.997206032276 0.074600264430 +vn -0.079968959093 -0.996480226517 0.025141783059 +vn 0.098932050169 -0.899504899979 0.425562411547 +vn 0.065914735198 -0.785547375679 0.615280866623 +vn -0.079968959093 -0.996480226517 0.025141783059 +vn -0.079968959093 -0.996480226517 0.025141783059 +vn -0.059656828642 -0.984534978867 0.164717689157 +vn 0.098932050169 -0.899504899979 0.425562411547 +vn 0.319514423609 -0.863103568554 0.391104489565 +vn 0.098932050169 -0.899504899979 0.425562411547 +vn -0.059656828642 -0.984534978867 0.164717689157 +vn -0.059656828642 -0.984534978867 0.164717689157 +vn 0.050876371562 -0.998084306717 0.035204216838 +vn 0.319514423609 -0.863103568554 0.391104489565 +vn 0.509252071381 -0.849297642708 0.139125302434 +vn 0.699083209038 -0.651106238365 0.295539051294 +vn 0.319514423609 -0.863103568554 0.391104489565 +vn 0.319514423609 -0.863103568554 0.391104489565 +vn 0.050876371562 -0.998084306717 0.035204216838 +vn 0.509252071381 -0.849297642708 0.139125302434 +vn 0.390230685472 0.623500227928 0.677471399307 +vn 0.385481506586 0.480627328157 0.787655591965 +vn 0.297726511955 -0.357162386179 0.885321378708 +vn 0.297726511955 -0.357162386179 0.885321378708 +vn 0.455326050520 -0.212368279696 0.864625871181 +vn 0.390230685472 0.623500227928 0.677471399307 +vn 0.844169318676 -0.142716273665 0.516730368137 +vn 0.686944067478 0.473488986492 0.551285803318 +vn 0.390230685472 0.623500227928 0.677471399307 +vn 0.390230685472 0.623500227928 0.677471399307 +vn 0.455326050520 -0.212368279696 0.864625871181 +vn 0.844169318676 -0.142716273665 0.516730368137 +vn 0.927620470524 -0.368441313505 0.061410423368 +vn 0.930573165417 0.310774356127 0.193527519703 +vn 0.686944067478 0.473488986492 0.551285803318 +vn 0.686944067478 0.473488986492 0.551285803318 +vn 0.844169318676 -0.142716273665 0.516730368137 +vn 0.927620470524 -0.368441313505 0.061410423368 +vn 0.687957525253 -0.724567592144 -0.041426882148 +vn 0.090818278491 -0.972123861313 -0.216164782643 +vn 0.419476836920 -0.896206259727 -0.144407406449 +vn 0.419476836920 -0.896206259727 -0.144407406449 +vn 0.696924626827 -0.715875566006 -0.042640652508 +vn 0.687957525253 -0.724567592144 -0.041426882148 +vn 0.509252071381 -0.849297642708 0.139125302434 +vn 0.687957525253 -0.724567592144 -0.041426882148 +vn 0.696924626827 -0.715875566006 -0.042640652508 +vn 0.696924626827 -0.715875566006 -0.042640652508 +vn 0.699083209038 -0.651106238365 0.295539051294 +vn 0.509252071381 -0.849297642708 0.139125302434 +vn 0.512415468693 0.772289216518 0.375499367714 +vn 0.930573165417 0.310774356127 0.193527519703 +vn 0.990990340710 0.130139961839 -0.031650196761 +vn 0.990990340710 0.130139961839 -0.031650196761 +vn 0.753271698952 0.627935349941 0.195650026202 +vn 0.512415468693 0.772289216518 0.375499367714 +vn 0.162324577570 0.904733717442 0.393837094307 +vn -0.042816758156 0.962022185326 0.269592463970 +vn 0.248102903366 0.886689305305 0.390162765980 +vn 0.248102903366 0.886689305305 0.390162765980 +vn 0.512415468693 0.772289216518 0.375499367714 +vn 0.162324577570 0.904733717442 0.393837094307 +vn 0.248102903366 0.886689305305 0.390162765980 +vn -0.042816758156 0.962022185326 0.269592463970 +vn 0.062132738531 0.996134936810 0.062086712569 +vn 0.062132738531 0.996134936810 0.062086712569 +vn 0.151055559516 0.962752103806 0.224255621433 +vn 0.248102903366 0.886689305305 0.390162765980 +vn 0.062132738531 0.996134936810 0.062086712569 +vn 0.200634062290 0.979664087296 -0.002052781638 +vn 0.253791481256 0.930407822132 0.264444947243 +vn 0.253791481256 0.930407822132 0.264444947243 +vn 0.151055559516 0.962752103806 0.224255621433 +vn 0.062132738531 0.996134936810 0.062086712569 +vn 0.210182353854 0.975235521793 0.068840667605 +vn 0.256829530001 0.900792479515 0.350159198046 +vn 0.253791481256 0.930407822132 0.264444947243 +vn 0.253791481256 0.930407822132 0.264444947243 +vn 0.200634062290 0.979664087296 -0.002052781638 +vn 0.210182353854 0.975235521793 0.068840667605 +vn 0.256829530001 0.900792479515 0.350159198046 +vn 0.210182353854 0.975235521793 0.068840667605 +vn 0.247134611011 0.967952191830 0.044642847031 +vn 0.247134611011 0.967952191830 0.044642847031 +vn 0.171455085278 0.914633154869 0.366127461195 +vn 0.256829530001 0.900792479515 0.350159198046 +vn 0.146504536271 -0.042443491518 0.988299012184 +vn 0.297726511955 -0.357162386179 0.885321378708 +vn 0.385481506586 0.480627328157 0.787655591965 +vn 0.385481506586 0.480627328157 0.787655591965 +vn 0.201083213091 0.576883137226 0.791688919067 +vn 0.146504536271 -0.042443491518 0.988299012184 +vn -0.459652185440 -0.883022904396 -0.094818055630 +vn 0.122811011970 -0.957747161388 -0.260072857141 +vn 0.102859064937 -0.983786880970 -0.146912872791 +vn 0.102859064937 -0.983786880970 -0.146912872791 +vn -0.307565927505 -0.950393795967 0.046419605613 +vn -0.459652185440 -0.883022904396 -0.094818055630 +vn 0.169295936823 -0.937194883823 -0.304966658354 +vn 0.122811011970 -0.957747161388 -0.260072857141 +vn -0.459652185440 -0.883022904396 -0.094818055630 +vn -0.459652185440 -0.883022904396 -0.094818055630 +vn -0.436327308416 -0.827338337898 -0.353736788034 +vn 0.169295936823 -0.937194883823 -0.304966658354 +vn 0.235094085336 -0.934384286404 -0.267687737942 +vn 0.169295936823 -0.937194883823 -0.304966658354 +vn -0.436327308416 -0.827338337898 -0.353736788034 +vn -0.436327308416 -0.827338337898 -0.353736788034 +vn -0.125757485628 -0.893814086914 -0.430443346500 +vn 0.235094085336 -0.934384286404 -0.267687737942 +vn 0.246383532882 -0.967374920845 -0.058999452740 +vn 0.235094085336 -0.934384286404 -0.267687737942 +vn -0.125757485628 -0.893814086914 -0.430443346500 +vn -0.125757485628 -0.893814086914 -0.430443346500 +vn -0.087170556188 -0.883316695690 -0.460600584745 +vn 0.246383532882 -0.967374920845 -0.058999452740 +vn 0.246383532882 -0.967374920845 -0.058999452740 +vn -0.087170556188 -0.883316695690 -0.460600584745 +vn 0.089234955609 -0.909940361977 -0.405025571585 +vn 0.089234955609 -0.909940361977 -0.405025571585 +vn 0.297367244959 -0.937489330769 0.180794060230 +vn 0.246383532882 -0.967374920845 -0.058999452740 +vn 0.297367244959 -0.937489330769 0.180794060230 +vn 0.089234955609 -0.909940361977 -0.405025571585 +vn 0.060197409242 -0.886249661446 -0.459279716015 +vn 0.060197409242 -0.886249661446 -0.459279716015 +vn 0.197106972337 -0.920975387096 0.336084991693 +vn 0.297367244959 -0.937489330769 0.180794060230 +vn 0.197106972337 -0.920975387096 0.336084991693 +vn 0.060197409242 -0.886249661446 -0.459279716015 +vn -0.001846735133 -0.877386391163 -0.479780942202 +vn -0.001846735133 -0.877386391163 -0.479780942202 +vn -0.029394404963 -0.956659615040 0.289721101522 +vn 0.197106972337 -0.920975387096 0.336084991693 +vn -0.253509610891 -0.900861382484 0.352394223213 +vn -0.029394404963 -0.956659615040 0.289721101522 +vn -0.001846735133 -0.877386391163 -0.479780942202 +vn -0.001846735133 -0.877386391163 -0.479780942202 +vn -0.071178838611 -0.914667427540 -0.397890716791 +vn -0.253509610891 -0.900861382484 0.352394223213 +vn 0.263758838177 0.662336528301 -0.701242864132 +vn 0.176589697599 0.143177881837 -0.973815262318 +vn 0.281906336546 0.138081952929 -0.949453651905 +vn 0.281906336546 0.138081952929 -0.949453651905 +vn 0.283158630133 0.632815361023 -0.720670461655 +vn 0.263758838177 0.662336528301 -0.701242864132 +vn 0.248370751739 0.904884219170 -0.345682770014 +vn 0.241378128529 0.940966784954 -0.237314462662 +vn 0.263758838177 0.662336528301 -0.701242864132 +vn 0.263758838177 0.662336528301 -0.701242864132 +vn 0.283158630133 0.632815361023 -0.720670461655 +vn 0.248370751739 0.904884219170 -0.345682770014 +vn 0.468284696341 0.617177546024 -0.632298469543 +vn 0.412756860256 0.060444112867 -0.908833444118 +vn 0.176589697599 0.143177881837 -0.973815262318 +vn 0.176589697599 0.143177881837 -0.973815262318 +vn 0.263758838177 0.662336528301 -0.701242864132 +vn 0.468284696341 0.617177546024 -0.632298469543 +vn 0.468284696341 0.617177546024 -0.632298469543 +vn 0.263758838177 0.662336528301 -0.701242864132 +vn 0.241378128529 0.940966784954 -0.237314462662 +vn 0.241378128529 0.940966784954 -0.237314462662 +vn 0.310470491648 0.939930260181 -0.141912579536 +vn 0.468284696341 0.617177546024 -0.632298469543 +vn 0.097601912916 0.930599808693 -0.352785885334 +vn 0.248370751739 0.904884219170 -0.345682770014 +vn 0.283158630133 0.632815361023 -0.720670461655 +vn 0.283158630133 0.632815361023 -0.720670461655 +vn 0.227506399155 0.605743527412 -0.762440562248 +vn 0.097601912916 0.930599808693 -0.352785885334 +vn 0.184735700488 -0.032027877867 -0.982266247272 +vn 0.281906336546 0.138081952929 -0.949453651905 +vn 0.177547097206 -0.158900201321 -0.971199154854 +vn 0.177547097206 -0.158900201321 -0.971199154854 +vn 0.039728019387 -0.366211801767 -0.929683089256 +vn 0.184735700488 -0.032027877867 -0.982266247272 +vn -0.060941711068 -0.833909392357 -0.548526406288 +vn -0.423191249371 -0.904291272163 0.056271243840 +vn -0.253509610891 -0.900861382484 0.352394223213 +vn -0.253509610891 -0.900861382484 0.352394223213 +vn -0.071178838611 -0.914667427540 -0.397890716791 +vn -0.060941711068 -0.833909392357 -0.548526406288 +vn -0.280886679888 -0.956602573395 -0.077551461756 +vn -0.423191249371 -0.904291272163 0.056271243840 +vn -0.060941711068 -0.833909392357 -0.548526406288 +vn -0.060941711068 -0.833909392357 -0.548526406288 +vn 0.116796404123 -0.867212474346 -0.484046578407 +vn -0.280886679888 -0.956602573395 -0.077551461756 +vn 0.262821823359 -0.951250076294 -0.161393716931 +vn -0.260627955198 -0.963619589806 0.059247847646 +vn -0.280886679888 -0.956602573395 -0.077551461756 +vn -0.280886679888 -0.956602573395 -0.077551461756 +vn 0.116796404123 -0.867212474346 -0.484046578407 +vn 0.262821823359 -0.951250076294 -0.161393716931 +vn 0.803628146648 0.587178885937 -0.096968024969 +vn 0.956620991230 0.038980554789 -0.288715720177 +vn 0.728800296783 0.028480309993 -0.684133768082 +vn 0.728800296783 0.028480309993 -0.684133768082 +vn 0.697048187256 0.565060555935 -0.441395968199 +vn 0.803628146648 0.587178885937 -0.096968024969 +vn 0.364927858114 -0.230931147933 -0.901941478252 +vn 0.412756860256 0.060444112867 -0.908833444118 +vn 0.728800296783 0.028480309993 -0.684133768082 +vn 0.728800296783 0.028480309993 -0.684133768082 +vn 0.588752269745 -0.330777943134 -0.737534224987 +vn 0.364927858114 -0.230931147933 -0.901941478252 +vn -0.193100318313 0.461876630783 -0.865668654442 +vn 0.227506399155 0.605743527412 -0.762440562248 +vn 0.184735700488 -0.032027877867 -0.982266247272 +vn 0.184735700488 -0.032027877867 -0.982266247272 +vn -0.196467101574 -0.223334953189 -0.954736709595 +vn -0.193100318313 0.461876630783 -0.865668654442 +vn -0.196467101574 -0.223334953189 -0.954736709595 +vn -0.555135130882 -0.143407806754 -0.819304108620 +vn -0.524871349335 0.551161825657 -0.648637592793 +vn -0.524871349335 0.551161825657 -0.648637592793 +vn -0.193100318313 0.461876630783 -0.865668654442 +vn -0.196467101574 -0.223334953189 -0.954736709595 +vn -0.189719647169 0.908340811729 -0.372724354267 +vn -0.193100318313 0.461876630783 -0.865668654442 +vn -0.524871349335 0.551161825657 -0.648637592793 +vn -0.524871349335 0.551161825657 -0.648637592793 +vn -0.312394291162 0.933531820774 -0.175863862038 +vn -0.189719647169 0.908340811729 -0.372724354267 +vn -0.246464684606 0.969103455544 -0.009678545408 +vn -0.312394291162 0.933531820774 -0.175863862038 +vn -0.524871349335 0.551161825657 -0.648637592793 +vn -0.524871349335 0.551161825657 -0.648637592793 +vn -0.727473437786 0.553508579731 -0.405475795269 +vn -0.246464684606 0.969103455544 -0.009678545408 +vn -0.727473437786 0.553508579731 -0.405475795269 +vn -0.524871349335 0.551161825657 -0.648637592793 +vn -0.555135130882 -0.143407806754 -0.819304108620 +vn -0.555135130882 -0.143407806754 -0.819304108620 +vn -0.847794950008 -0.123858034611 -0.515657722950 +vn -0.727473437786 0.553508579731 -0.405475795269 +vn -0.704271733761 0.708031654358 -0.051889482886 +vn -0.186048939824 0.976999819279 0.104197762907 +vn -0.246464684606 0.969103455544 -0.009678545408 +vn -0.246464684606 0.969103455544 -0.009678545408 +vn -0.727473437786 0.553508579731 -0.405475795269 +vn -0.704271733761 0.708031654358 -0.051889482886 +vn -0.985829532146 0.026642497629 -0.165621146560 +vn -0.847794950008 -0.123858034611 -0.515657722950 +vn -0.693109035492 -0.481128364801 -0.536763787270 +vn -0.693109035492 -0.481128364801 -0.536763787270 +vn -0.926520526409 -0.330959945917 -0.178956046700 +vn -0.985829532146 0.026642497629 -0.165621146560 +vn 0.097601912916 0.930599808693 -0.352785885334 +vn 0.227506399155 0.605743527412 -0.762440562248 +vn -0.193100318313 0.461876630783 -0.865668654442 +vn -0.193100318313 0.461876630783 -0.865668654442 +vn -0.189719647169 0.908340811729 -0.372724354267 +vn 0.097601912916 0.930599808693 -0.352785885334 +vn 0.468284696341 0.617177546024 -0.632298469543 +vn 0.310470491648 0.939930260181 -0.141912579536 +vn 0.436779737473 0.895123004913 -0.089321024716 +vn 0.436779737473 0.895123004913 -0.089321024716 +vn 0.697048187256 0.565060555935 -0.441395968199 +vn 0.468284696341 0.617177546024 -0.632298469543 +vn 0.436779737473 0.895123004913 -0.089321024716 +vn 0.423305630684 0.886720836163 0.185845404863 +vn 0.803628146648 0.587178885937 -0.096968024969 +vn 0.803628146648 0.587178885937 -0.096968024969 +vn 0.697048187256 0.565060555935 -0.441395968199 +vn 0.436779737473 0.895123004913 -0.089321024716 +vn 0.405214011669 0.855926692486 0.321233749390 +vn 0.753271698952 0.627935349941 0.195650026202 +vn 0.803628146648 0.587178885937 -0.096968024969 +vn 0.803628146648 0.587178885937 -0.096968024969 +vn 0.423305630684 0.886720836163 0.185845404863 +vn 0.405214011669 0.855926692486 0.321233749390 +vn 0.512415468693 0.772289216518 0.375499367714 +vn 0.753271698952 0.627935349941 0.195650026202 +vn 0.405214011669 0.855926692486 0.321233749390 +vn 0.405214011669 0.855926692486 0.321233749390 +vn 0.162324577570 0.904733717442 0.393837094307 +vn 0.512415468693 0.772289216518 0.375499367714 +vn 0.753271698952 0.627935349941 0.195650026202 +vn 0.990990340710 0.130139961839 -0.031650196761 +vn 0.956620991230 0.038980554789 -0.288715720177 +vn 0.956620991230 0.038980554789 -0.288715720177 +vn 0.803628146648 0.587178885937 -0.096968024969 +vn 0.753271698952 0.627935349941 0.195650026202 +vn 0.419476836920 -0.896206259727 -0.144407406449 +vn 0.090818278491 -0.972123861313 -0.216164782643 +vn -0.260627955198 -0.963619589806 0.059247847646 +vn -0.260627955198 -0.963619589806 0.059247847646 +vn 0.262821823359 -0.951250076294 -0.161393716931 +vn 0.419476836920 -0.896206259727 -0.144407406449 +vn -0.082572974265 -0.055582214147 0.995033800602 +vn 0.146504536271 -0.042443491518 0.988299012184 +vn 0.201083213091 0.576883137226 0.791688919067 +vn 0.201083213091 0.576883137226 0.791688919067 +vn -0.009665114805 0.432859390974 0.901409626007 +vn -0.082572974265 -0.055582214147 0.995033800602 +vn 0.117949590087 0.849612355232 0.514049351215 +vn -0.135806068778 0.653280317783 0.744836568832 +vn -0.410863459110 -0.055618740618 0.909998774529 +vn -0.410863459110 -0.055618740618 0.909998774529 +vn -0.212095111609 0.293082028627 0.932265281677 +vn 0.117949590087 0.849612355232 0.514049351215 +vn -0.705824911594 -0.080311007798 0.703819155693 +vn -0.675995051861 -0.429347306490 0.598908662796 +vn -0.486689150333 -0.374447375536 0.789254605770 +vn -0.486689150333 -0.374447375536 0.789254605770 +vn -0.410863459110 -0.055618740618 0.909998774529 +vn -0.705824911594 -0.080311007798 0.703819155693 +vn -0.473818302155 0.648060023785 0.596250295639 +vn -0.644459664822 0.624916911125 0.440625160933 +vn -0.902148842812 -0.074126504362 0.425009071827 +vn -0.902148842812 -0.074126504362 0.425009071827 +vn -0.705824911594 -0.080311007798 0.703819155693 +vn -0.473818302155 0.648060023785 0.596250295639 +vn -0.929030179977 -0.362915277481 0.072079576552 +vn -0.818308353424 -0.492649257183 0.296088099480 +vn -0.902148842812 -0.074126504362 0.425009071827 +vn -0.902148842812 -0.074126504362 0.425009071827 +vn -0.983445346355 -0.041850395501 0.176306024194 +vn -0.929030179977 -0.362915277481 0.072079576552 +vn -0.745227813721 0.633083999157 0.209380432963 +vn -0.704271733761 0.708031654358 -0.051889482886 +vn -0.985829532146 0.026642497629 -0.165621146560 +vn -0.985829532146 0.026642497629 -0.165621146560 +vn -0.983445346355 -0.041850395501 0.176306024194 +vn -0.745227813721 0.633083999157 0.209380432963 +vn 0.171455085278 0.914633154869 0.366127461195 +vn 0.117949590087 0.849612355232 0.514049351215 +vn -0.212095111609 0.293082028627 0.932265281677 +vn -0.212095111609 0.293082028627 0.932265281677 +vn -0.009665114805 0.432859390974 0.901409626007 +vn 0.171455085278 0.914633154869 0.366127461195 +vn 0.151055559516 0.962752103806 0.224255621433 +vn 0.253791481256 0.930407822132 0.264444947243 +vn 0.385481506586 0.480627328157 0.787655591965 +vn 0.385481506586 0.480627328157 0.787655591965 +vn 0.390230685472 0.623500227928 0.677471399307 +vn 0.151055559516 0.962752103806 0.224255621433 +vn 0.686944067478 0.473488986492 0.551285803318 +vn 0.248102903366 0.886689305305 0.390162765980 +vn 0.151055559516 0.962752103806 0.224255621433 +vn 0.151055559516 0.962752103806 0.224255621433 +vn 0.390230685472 0.623500227928 0.677471399307 +vn 0.686944067478 0.473488986492 0.551285803318 +vn 0.930573165417 0.310774356127 0.193527519703 +vn 0.512415468693 0.772289216518 0.375499367714 +vn 0.248102903366 0.886689305305 0.390162765980 +vn 0.248102903366 0.886689305305 0.390162765980 +vn 0.686944067478 0.473488986492 0.551285803318 +vn 0.930573165417 0.310774356127 0.193527519703 +vn 0.930573165417 0.310774356127 0.193527519703 +vn 0.927620470524 -0.368441313505 0.061410423368 +vn 0.899102628231 -0.414789378643 -0.139872014523 +vn 0.899102628231 -0.414789378643 -0.139872014523 +vn 0.990990340710 0.130139961839 -0.031650196761 +vn 0.930573165417 0.310774356127 0.193527519703 +vn 0.253791481256 0.930407822132 0.264444947243 +vn 0.256829530001 0.900792479515 0.350159198046 +vn 0.201083213091 0.576883137226 0.791688919067 +vn 0.201083213091 0.576883137226 0.791688919067 +vn 0.385481506586 0.480627328157 0.787655591965 +vn 0.253791481256 0.930407822132 0.264444947243 +vn 0.193469092250 -0.202935039997 -0.959889113903 +vn 0.177547097206 -0.158900201321 -0.971199154854 +vn 0.281906336546 0.138081952929 -0.949453651905 +vn 0.281906336546 0.138081952929 -0.949453651905 +vn 0.176589697599 0.143177881837 -0.973815262318 +vn 0.193469092250 -0.202935039997 -0.959889113903 +vn 0.412756860256 0.060444112867 -0.908833444118 +vn 0.364927858114 -0.230931147933 -0.901941478252 +vn 0.193469092250 -0.202935039997 -0.959889113903 +vn 0.193469092250 -0.202935039997 -0.959889113903 +vn 0.176589697599 0.143177881837 -0.973815262318 +vn 0.412756860256 0.060444112867 -0.908833444118 +vn 0.184735700488 -0.032027877867 -0.982266247272 +vn 0.227506399155 0.605743527412 -0.762440562248 +vn 0.283158630133 0.632815361023 -0.720670461655 +vn 0.283158630133 0.632815361023 -0.720670461655 +vn 0.281906336546 0.138081952929 -0.949453651905 +vn 0.184735700488 -0.032027877867 -0.982266247272 +vn 0.956620991230 0.038980554789 -0.288715720177 +vn 0.819989025593 -0.434048742056 -0.373121529818 +vn 0.588752269745 -0.330777943134 -0.737534224987 +vn 0.588752269745 -0.330777943134 -0.737534224987 +vn 0.728800296783 0.028480309993 -0.684133768082 +vn 0.956620991230 0.038980554789 -0.288715720177 +vn 0.412756860256 0.060444112867 -0.908833444118 +vn 0.468284696341 0.617177546024 -0.632298469543 +vn 0.697048187256 0.565060555935 -0.441395968199 +vn 0.697048187256 0.565060555935 -0.441395968199 +vn 0.728800296783 0.028480309993 -0.684133768082 +vn 0.412756860256 0.060444112867 -0.908833444118 +vn 0.039728019387 -0.366211801767 -0.929683089256 +vn -0.131213530898 -0.471373289824 -0.872118234634 +vn -0.196467101574 -0.223334953189 -0.954736709595 +vn -0.196467101574 -0.223334953189 -0.954736709595 +vn 0.184735700488 -0.032027877867 -0.982266247272 +vn 0.039728019387 -0.366211801767 -0.929683089256 +vn -0.131213530898 -0.471373289824 -0.872118234634 +vn -0.429687142372 -0.462241262197 -0.775694489479 +vn -0.555135130882 -0.143407806754 -0.819304108620 +vn -0.555135130882 -0.143407806754 -0.819304108620 +vn -0.196467101574 -0.223334953189 -0.954736709595 +vn -0.131213530898 -0.471373289824 -0.872118234634 +vn -0.429687142372 -0.462241262197 -0.775694489479 +vn -0.693109035492 -0.481128364801 -0.536763787270 +vn -0.847794950008 -0.123858034611 -0.515657722950 +vn -0.847794950008 -0.123858034611 -0.515657722950 +vn -0.555135130882 -0.143407806754 -0.819304108620 +vn -0.429687142372 -0.462241262197 -0.775694489479 +vn -0.704271733761 0.708031654358 -0.051889482886 +vn -0.727473437786 0.553508579731 -0.405475795269 +vn -0.847794950008 -0.123858034611 -0.515657722950 +vn -0.847794950008 -0.123858034611 -0.515657722950 +vn -0.985829532146 0.026642497629 -0.165621146560 +vn -0.704271733761 0.708031654358 -0.051889482886 +vn 0.990990340710 0.130139961839 -0.031650196761 +vn 0.899102628231 -0.414789378643 -0.139872014523 +vn 0.819989025593 -0.434048742056 -0.373121529818 +vn 0.819989025593 -0.434048742056 -0.373121529818 +vn 0.956620991230 0.038980554789 -0.288715720177 +vn 0.990990340710 0.130139961839 -0.031650196761 +vn -0.082572974265 -0.055582214147 0.995033800602 +vn -0.090538904071 -0.721768438816 0.686187326908 +vn 0.065914735198 -0.785547375679 0.615280866623 +vn 0.065914735198 -0.785547375679 0.615280866623 +vn 0.146504536271 -0.042443491518 0.988299012184 +vn -0.082572974265 -0.055582214147 0.995033800602 +vn -0.090538904071 -0.721768438816 0.686187326908 +vn -0.082572974265 -0.055582214147 0.995033800602 +vn -0.355197250843 -0.292997479439 0.887686550617 +vn -0.355197250843 -0.292997479439 0.887686550617 +vn -0.097998321056 -0.885099232197 0.454967737198 +vn -0.090538904071 -0.721768438816 0.686187326908 +vn -0.097998321056 -0.885099232197 0.454967737198 +vn -0.355197250843 -0.292997479439 0.887686550617 +vn -0.486689150333 -0.374447375536 0.789254605770 +vn -0.486689150333 -0.374447375536 0.789254605770 +vn -0.156766593456 -0.905144870281 0.395141780376 +vn -0.097998321056 -0.885099232197 0.454967737198 +vn -0.675995051861 -0.429347306490 0.598908662796 +vn -0.285608649254 -0.925775051117 0.247726097703 +vn -0.156766593456 -0.905144870281 0.395141780376 +vn -0.156766593456 -0.905144870281 0.395141780376 +vn -0.486689150333 -0.374447375536 0.789254605770 +vn -0.675995051861 -0.429347306490 0.598908662796 +vn -0.818308353424 -0.492649257183 0.296088099480 +vn -0.307565927505 -0.950393795967 0.046419605613 +vn -0.285608649254 -0.925775051117 0.247726097703 +vn -0.285608649254 -0.925775051117 0.247726097703 +vn -0.675995051861 -0.429347306490 0.598908662796 +vn -0.818308353424 -0.492649257183 0.296088099480 +vn -0.929030179977 -0.362915277481 0.072079576552 +vn -0.459652185440 -0.883022904396 -0.094818055630 +vn -0.307565927505 -0.950393795967 0.046419605613 +vn -0.307565927505 -0.950393795967 0.046419605613 +vn -0.818308353424 -0.492649257183 0.296088099480 +vn -0.929030179977 -0.362915277481 0.072079576552 +vn -0.926520526409 -0.330959945917 -0.178956046700 +vn -0.436327308416 -0.827338337898 -0.353736788034 +vn -0.459652185440 -0.883022904396 -0.094818055630 +vn -0.459652185440 -0.883022904396 -0.094818055630 +vn -0.929030179977 -0.362915277481 0.072079576552 +vn -0.926520526409 -0.330959945917 -0.178956046700 +vn 0.098932050169 -0.899504899979 0.425562411547 +vn 0.297726511955 -0.357162386179 0.885321378708 +vn 0.146504536271 -0.042443491518 0.988299012184 +vn 0.146504536271 -0.042443491518 0.988299012184 +vn 0.065914735198 -0.785547375679 0.615280866623 +vn 0.098932050169 -0.899504899979 0.425562411547 +vn 0.319514423609 -0.863103568554 0.391104489565 +vn 0.455326050520 -0.212368279696 0.864625871181 +vn 0.297726511955 -0.357162386179 0.885321378708 +vn 0.297726511955 -0.357162386179 0.885321378708 +vn 0.098932050169 -0.899504899979 0.425562411547 +vn 0.319514423609 -0.863103568554 0.391104489565 +vn 0.699083209038 -0.651106238365 0.295539051294 +vn 0.844169318676 -0.142716273665 0.516730368137 +vn 0.455326050520 -0.212368279696 0.864625871181 +vn 0.455326050520 -0.212368279696 0.864625871181 +vn 0.319514423609 -0.863103568554 0.391104489565 +vn 0.699083209038 -0.651106238365 0.295539051294 +vn 0.844169318676 -0.142716273665 0.516730368137 +vn 0.699083209038 -0.651106238365 0.295539051294 +vn 0.696924626827 -0.715875566006 -0.042640652508 +vn 0.696924626827 -0.715875566006 -0.042640652508 +vn 0.927620470524 -0.368441313505 0.061410423368 +vn 0.844169318676 -0.142716273665 0.516730368137 +vn 0.419476836920 -0.896206259727 -0.144407406449 +vn 0.899102628231 -0.414789378643 -0.139872014523 +vn 0.927620470524 -0.368441313505 0.061410423368 +vn 0.927620470524 -0.368441313505 0.061410423368 +vn 0.696924626827 -0.715875566006 -0.042640652508 +vn 0.419476836920 -0.896206259727 -0.144407406449 +vn -0.436327308416 -0.827338337898 -0.353736788034 +vn -0.926520526409 -0.330959945917 -0.178956046700 +vn -0.693109035492 -0.481128364801 -0.536763787270 +vn -0.693109035492 -0.481128364801 -0.536763787270 +vn -0.125757485628 -0.893814086914 -0.430443346500 +vn -0.436327308416 -0.827338337898 -0.353736788034 +vn -0.125757485628 -0.893814086914 -0.430443346500 +vn -0.693109035492 -0.481128364801 -0.536763787270 +vn -0.429687142372 -0.462241262197 -0.775694489479 +vn -0.429687142372 -0.462241262197 -0.775694489479 +vn -0.087170556188 -0.883316695690 -0.460600584745 +vn -0.125757485628 -0.893814086914 -0.430443346500 +vn -0.087170556188 -0.883316695690 -0.460600584745 +vn -0.429687142372 -0.462241262197 -0.775694489479 +vn -0.131213530898 -0.471373289824 -0.872118234634 +vn -0.131213530898 -0.471373289824 -0.872118234634 +vn 0.089234955609 -0.909940361977 -0.405025571585 +vn -0.087170556188 -0.883316695690 -0.460600584745 +vn 0.089234955609 -0.909940361977 -0.405025571585 +vn -0.131213530898 -0.471373289824 -0.872118234634 +vn 0.039728019387 -0.366211801767 -0.929683089256 +vn 0.039728019387 -0.366211801767 -0.929683089256 +vn 0.060197409242 -0.886249661446 -0.459279716015 +vn 0.089234955609 -0.909940361977 -0.405025571585 +vn 0.060197409242 -0.886249661446 -0.459279716015 +vn 0.039728019387 -0.366211801767 -0.929683089256 +vn 0.177547097206 -0.158900201321 -0.971199154854 +vn 0.177547097206 -0.158900201321 -0.971199154854 +vn -0.001846735133 -0.877386391163 -0.479780942202 +vn 0.060197409242 -0.886249661446 -0.459279716015 +vn -0.001846735133 -0.877386391163 -0.479780942202 +vn 0.177547097206 -0.158900201321 -0.971199154854 +vn 0.193469092250 -0.202935039997 -0.959889113903 +vn 0.193469092250 -0.202935039997 -0.959889113903 +vn -0.071178838611 -0.914667427540 -0.397890716791 +vn -0.001846735133 -0.877386391163 -0.479780942202 +vn 0.364927858114 -0.230931147933 -0.901941478252 +vn -0.060941711068 -0.833909392357 -0.548526406288 +vn -0.071178838611 -0.914667427540 -0.397890716791 +vn -0.071178838611 -0.914667427540 -0.397890716791 +vn 0.193469092250 -0.202935039997 -0.959889113903 +vn 0.364927858114 -0.230931147933 -0.901941478252 +vn -0.060941711068 -0.833909392357 -0.548526406288 +vn 0.364927858114 -0.230931147933 -0.901941478252 +vn 0.588752269745 -0.330777943134 -0.737534224987 +vn 0.588752269745 -0.330777943134 -0.737534224987 +vn 0.116796404123 -0.867212474346 -0.484046578407 +vn -0.060941711068 -0.833909392357 -0.548526406288 +vn 0.116796404123 -0.867212474346 -0.484046578407 +vn 0.588752269745 -0.330777943134 -0.737534224987 +vn 0.819989025593 -0.434048742056 -0.373121529818 +vn 0.819989025593 -0.434048742056 -0.373121529818 +vn 0.262821823359 -0.951250076294 -0.161393716931 +vn 0.116796404123 -0.867212474346 -0.484046578407 +vn 0.899102628231 -0.414789378643 -0.139872014523 +vn 0.419476836920 -0.896206259727 -0.144407406449 +vn 0.262821823359 -0.951250076294 -0.161393716931 +vn 0.262821823359 -0.951250076294 -0.161393716931 +vn 0.819989025593 -0.434048742056 -0.373121529818 +vn 0.899102628231 -0.414789378643 -0.139872014523 +vn 0.812033295631 0.514916896820 0.274704486132 +vn 0.237624734640 0.624630987644 0.743888854980 +vn 0.348348826170 0.555683076382 0.754896938801 +vn 0.348348826170 0.555683076382 0.754896938801 +vn 0.848077535629 0.469010263681 0.246564060450 +vn 0.812033295631 0.514916896820 0.274704486132 +vn -0.258473217487 0.240610465407 0.935573697090 +vn 0.348348826170 0.555683076382 0.754896938801 +vn 0.237624734640 0.624630987644 0.743888854980 +vn 0.237624734640 0.624630987644 0.743888854980 +vn -0.325573593378 0.324940294027 0.887927711010 +vn -0.258473217487 0.240610465407 0.935573697090 +vn -0.483811736107 -0.291279852390 0.825277090073 +vn -0.258473217487 0.240610465407 0.935573697090 +vn -0.325573593378 0.324940294027 0.887927711010 +vn -0.325573593378 0.324940294027 0.887927711010 +vn -0.538130819798 -0.140533074737 0.831062972546 +vn -0.483811736107 -0.291279852390 0.825277090073 +vn -0.419215917587 -0.771656930447 0.478334188461 +vn -0.483811736107 -0.291279852390 0.825277090073 +vn -0.538130819798 -0.140533074737 0.831062972546 +vn -0.538130819798 -0.140533074737 0.831062972546 +vn -0.522908329964 -0.718644380569 0.458385378122 +vn -0.419215917587 -0.771656930447 0.478334188461 +vn -0.069711819291 -0.997551083565 0.005667928606 +vn -0.419215917587 -0.771656930447 0.478334188461 +vn -0.522908329964 -0.718644380569 0.458385378122 +vn -0.522908329964 -0.718644380569 0.458385378122 +vn -0.118096649647 -0.989603102207 -0.082090765238 +vn -0.069711819291 -0.997551083565 0.005667928606 +vn 0.338439792395 -0.873332142830 -0.350356280804 +vn -0.069711819291 -0.997551083565 0.005667928606 +vn -0.118096649647 -0.989603102207 -0.082090765238 +vn -0.118096649647 -0.989603102207 -0.082090765238 +vn 0.365978002548 -0.816699564457 -0.446163564920 +vn 0.338439792395 -0.873332142830 -0.350356280804 +vn 0.664489090443 -0.542217135429 -0.514251768589 +vn 0.338439792395 -0.873332142830 -0.350356280804 +vn 0.365978002548 -0.816699564457 -0.446163564920 +vn 0.365978002548 -0.816699564457 -0.446163564920 +vn 0.735541522503 -0.420057326555 -0.531536042690 +vn 0.664489090443 -0.542217135429 -0.514251768589 +vn 0.988916158676 0.017871269956 -0.147395417094 +vn 0.664489090443 -0.542217135429 -0.514251768589 +vn 0.735541522503 -0.420057326555 -0.531536042690 +vn 0.735541522503 -0.420057326555 -0.531536042690 +vn 0.957898378372 0.116688869894 -0.262324929237 +vn 0.988916158676 0.017871269956 -0.147395417094 +vn 0.848077535629 0.469010263681 0.246564060450 +vn 0.988916158676 0.017871269956 -0.147395417094 +vn 0.957898378372 0.116688869894 -0.262324929237 +vn 0.957898378372 0.116688869894 -0.262324929237 +vn 0.812033295631 0.514916896820 0.274704486132 +vn 0.848077535629 0.469010263681 0.246564060450 +vn 0.033919174224 0.761711001396 0.647028446198 +vn -0.454803496599 0.485992193222 0.746301114559 +vn -0.325573593378 0.324940294027 0.887927711010 +vn -0.325573593378 0.324940294027 0.887927711010 +vn 0.237624734640 0.624630987644 0.743888854980 +vn 0.033919174224 0.761711001396 0.647028446198 +vn -0.538130819798 -0.140533074737 0.831062972546 +vn -0.325573593378 0.324940294027 0.887927711010 +vn -0.454803496599 0.485992193222 0.746301114559 +vn -0.454803496599 0.485992193222 0.746301114559 +vn -0.653353095055 -0.045459389687 0.755687236786 +vn -0.538130819798 -0.140533074737 0.831062972546 +vn -0.522908329964 -0.718644380569 0.458385378122 +vn -0.538130819798 -0.140533074737 0.831062972546 +vn -0.653353095055 -0.045459389687 0.755687236786 +vn -0.653353095055 -0.045459389687 0.755687236786 +vn -0.702828645706 -0.631237745285 0.327979892492 +vn -0.522908329964 -0.718644380569 0.458385378122 +vn -0.118096649647 -0.989603102207 -0.082090765238 +vn -0.522908329964 -0.718644380569 0.458385378122 +vn -0.702828645706 -0.631237745285 0.327979892492 +vn -0.702828645706 -0.631237745285 0.327979892492 +vn -0.384284645319 -0.881262183189 -0.275140374899 +vn -0.118096649647 -0.989603102207 -0.082090765238 +vn 0.365978002548 -0.816699564457 -0.446163564920 +vn -0.118096649647 -0.989603102207 -0.082090765238 +vn -0.384284645319 -0.881262183189 -0.275140374899 +vn -0.384284645319 -0.881262183189 -0.275140374899 +vn 0.265687763691 -0.705258131027 -0.657283067703 +vn 0.365978002548 -0.816699564457 -0.446163564920 +vn 0.735541522503 -0.420057326555 -0.531536042690 +vn 0.365978002548 -0.816699564457 -0.446163564920 +vn 0.265687763691 -0.705258131027 -0.657283067703 +vn 0.265687763691 -0.705258131027 -0.657283067703 +vn 0.664483129978 -0.179814308882 -0.725347459316 +vn 0.735541522503 -0.420057326555 -0.531536042690 +vn 0.957898378372 0.116688869894 -0.262324929237 +vn 0.735541522503 -0.420057326555 -0.531536042690 +vn 0.664483129978 -0.179814308882 -0.725347459316 +vn 0.664483129978 -0.179814308882 -0.725347459316 +vn 0.867754399776 0.307647943497 -0.390326917171 +vn 0.957898378372 0.116688869894 -0.262324929237 +vn 0.812033295631 0.514916896820 0.274704486132 +vn 0.957898378372 0.116688869894 -0.262324929237 +vn 0.867754399776 0.307647943497 -0.390326917171 +vn 0.867754399776 0.307647943497 -0.390326917171 +vn 0.729900121689 0.651386141777 0.207224413753 +vn 0.812033295631 0.514916896820 0.274704486132 +vn 0.237624734640 0.624630987644 0.743888854980 +vn 0.812033295631 0.514916896820 0.274704486132 +vn 0.729900121689 0.651386141777 0.207224413753 +vn 0.729900121689 0.651386141777 0.207224413753 +vn 0.033919174224 0.761711001396 0.647028446198 +vn 0.237624734640 0.624630987644 0.743888854980 +vn 0.883103847504 0.135465055704 0.449195712805 +vn 0.523129105568 0.167803466320 0.835570394993 +vn 0.599148094654 -0.349108159542 0.720517218113 +vn 0.599148094654 -0.349108159542 0.720517218113 +vn 0.765411973000 -0.281774252653 0.578573942184 +vn 0.883103847504 0.135465055704 0.449195712805 +vn 0.523129105568 0.167803466320 0.835570394993 +vn 0.047754000872 -0.065999239683 0.996676325798 +vn 0.445603191853 -0.384337395430 0.808531105518 +vn 0.445603191853 -0.384337395430 0.808531105518 +vn 0.599148094654 -0.349108159542 0.720517218113 +vn 0.523129105568 0.167803466320 0.835570394993 +vn 0.047754000872 -0.065999239683 0.996676325798 +vn -0.070202268660 -0.434225112200 0.898064672947 +vn 0.353177726269 -0.489298284054 0.797403693199 +vn 0.353177726269 -0.489298284054 0.797403693199 +vn 0.445603191853 -0.384337395430 0.808531105518 +vn 0.047754000872 -0.065999239683 0.996676325798 +vn -0.070202268660 -0.434225112200 0.898064672947 +vn -0.105502836406 -0.773460447788 0.625002443790 +vn 0.349057108164 -0.704609453678 0.617806315422 +vn 0.349057108164 -0.704609453678 0.617806315422 +vn 0.353177726269 -0.489298284054 0.797403693199 +vn -0.070202268660 -0.434225112200 0.898064672947 +vn -0.105502836406 -0.773460447788 0.625002443790 +vn 0.191903352737 -0.952242434025 0.237502530217 +vn 0.497694343328 -0.736805498600 0.457622140646 +vn 0.497694343328 -0.736805498600 0.457622140646 +vn 0.349057108164 -0.704609453678 0.617806315422 +vn -0.105502836406 -0.773460447788 0.625002443790 +vn 0.191903352737 -0.952242434025 0.237502530217 +vn 0.493556946516 -0.869650483131 -0.010467589833 +vn 0.627989470959 -0.668266415596 0.398809760809 +vn 0.627989470959 -0.668266415596 0.398809760809 +vn 0.497694343328 -0.736805498600 0.457622140646 +vn 0.191903352737 -0.952242434025 0.237502530217 +vn 0.493556946516 -0.869650483131 -0.010467589833 +vn 0.712524473667 -0.673489809036 -0.196774929762 +vn 0.663220942020 -0.615163028240 0.426277458668 +vn 0.663220942020 -0.615163028240 0.426277458668 +vn 0.627989470959 -0.668266415596 0.398809760809 +vn 0.493556946516 -0.869650483131 -0.010467589833 +vn 0.712524473667 -0.673489809036 -0.196774929762 +vn 0.935779094696 -0.302246212959 0.181561961770 +vn 0.695339739323 -0.572090268135 0.434988915920 +vn 0.695339739323 -0.572090268135 0.434988915920 +vn 0.663220942020 -0.615163028240 0.426277458668 +vn 0.712524473667 -0.673489809036 -0.196774929762 +vn 0.935779094696 -0.302246212959 0.181561961770 +vn 0.883103847504 0.135465055704 0.449195712805 +vn 0.765411973000 -0.281774252653 0.578573942184 +vn 0.765411973000 -0.281774252653 0.578573942184 +vn 0.695339739323 -0.572090268135 0.434988915920 +vn 0.935779094696 -0.302246212959 0.181561961770 +vn -0.716205894947 0.675131976604 0.176765188575 +vn -0.305796295404 0.933188319206 0.188807144761 +vn -0.576867401600 0.757517874241 -0.305598944426 +vn -0.576867401600 0.757517874241 -0.305598944426 +vn -0.718194782734 0.602012097836 -0.348966598511 +vn -0.716205894947 0.675131976604 0.176765188575 +vn -0.931238234043 0.267171919346 0.247819513083 +vn -0.716205894947 0.675131976604 0.176765188575 +vn -0.718194782734 0.602012097836 -0.348966598511 +vn -0.718194782734 0.602012097836 -0.348966598511 +vn -0.725587606430 0.503578245640 -0.468968629837 +vn -0.931238234043 0.267171919346 0.247819513083 +vn -0.994130134583 -0.099492669106 -0.042502265424 +vn -0.931238234043 0.267171919346 0.247819513083 +vn -0.725587606430 0.503578245640 -0.468968629837 +vn -0.725587606430 0.503578245640 -0.468968629837 +vn -0.789350450039 0.503757894039 -0.350932806730 +vn -0.994130134583 -0.099492669106 -0.042502265424 +vn -0.820460438728 -0.286714076996 -0.494610667229 +vn -0.994130134583 -0.099492669106 -0.042502265424 +vn -0.789350450039 0.503757894039 -0.350932806730 +vn -0.789350450039 0.503757894039 -0.350932806730 +vn -0.850929498672 0.302877247334 -0.429167002439 +vn -0.820460438728 -0.286714076996 -0.494610667229 +vn -0.280365377665 -0.237007901073 -0.930173397064 +vn -0.820460438728 -0.286714076996 -0.494610667229 +vn -0.850929498672 0.302877247334 -0.429167002439 +vn -0.850929498672 0.302877247334 -0.429167002439 +vn -0.628575026989 0.261088401079 -0.732616007328 +vn -0.280365377665 -0.237007901073 -0.930173397064 +vn 0.198456883430 0.134244099259 -0.970872461796 +vn -0.280365377665 -0.237007901073 -0.930173397064 +vn -0.628575026989 0.261088401079 -0.732616007328 +vn -0.628575026989 0.261088401079 -0.732616007328 +vn -0.228433817625 0.366642951965 -0.901881873608 +vn 0.198456883430 0.134244099259 -0.970872461796 +vn 0.296048760414 0.717162728310 -0.630898356438 +vn 0.198456883430 0.134244099259 -0.970872461796 +vn -0.228433817625 0.366642951965 -0.901881873608 +vn -0.228433817625 0.366642951965 -0.901881873608 +vn -0.369103759527 0.776214718819 -0.511129260063 +vn 0.296048760414 0.717162728310 -0.630898356438 +vn 0.158363074064 0.985768735409 -0.056401804090 +vn 0.296048760414 0.717162728310 -0.630898356438 +vn -0.369103759527 0.776214718819 -0.511129260063 +vn -0.369103759527 0.776214718819 -0.511129260063 +vn -0.483243614435 0.776178956032 -0.404996097088 +vn 0.158363074064 0.985768735409 -0.056401804090 +vn -0.305796295404 0.933188319206 0.188807144761 +vn 0.158363074064 0.985768735409 -0.056401804090 +vn -0.483243614435 0.776178956032 -0.404996097088 +vn -0.483243614435 0.776178956032 -0.404996097088 +vn -0.576867401600 0.757517874241 -0.305598944426 +vn -0.305796295404 0.933188319206 0.188807144761 +vn 0.033919174224 0.761711001396 0.647028446198 +vn -0.305796295404 0.933188319206 0.188807144761 +vn -0.716205894947 0.675131976604 0.176765188575 +vn -0.716205894947 0.675131976604 0.176765188575 +vn -0.454803496599 0.485992193222 0.746301114559 +vn 0.033919174224 0.761711001396 0.647028446198 +vn -0.454803496599 0.485992193222 0.746301114559 +vn -0.716205894947 0.675131976604 0.176765188575 +vn -0.931238234043 0.267171919346 0.247819513083 +vn -0.931238234043 0.267171919346 0.247819513083 +vn -0.653353095055 -0.045459389687 0.755687236786 +vn -0.454803496599 0.485992193222 0.746301114559 +vn -0.653353095055 -0.045459389687 0.755687236786 +vn -0.931238234043 0.267171919346 0.247819513083 +vn -0.994130134583 -0.099492669106 -0.042502265424 +vn -0.994130134583 -0.099492669106 -0.042502265424 +vn -0.702828645706 -0.631237745285 0.327979892492 +vn -0.653353095055 -0.045459389687 0.755687236786 +vn -0.702828645706 -0.631237745285 0.327979892492 +vn -0.994130134583 -0.099492669106 -0.042502265424 +vn -0.820460438728 -0.286714076996 -0.494610667229 +vn -0.820460438728 -0.286714076996 -0.494610667229 +vn -0.384284645319 -0.881262183189 -0.275140374899 +vn -0.702828645706 -0.631237745285 0.327979892492 +vn -0.384284645319 -0.881262183189 -0.275140374899 +vn -0.820460438728 -0.286714076996 -0.494610667229 +vn -0.280365377665 -0.237007901073 -0.930173397064 +vn -0.280365377665 -0.237007901073 -0.930173397064 +vn 0.265687763691 -0.705258131027 -0.657283067703 +vn -0.384284645319 -0.881262183189 -0.275140374899 +vn 0.265687763691 -0.705258131027 -0.657283067703 +vn -0.280365377665 -0.237007901073 -0.930173397064 +vn 0.198456883430 0.134244099259 -0.970872461796 +vn 0.198456883430 0.134244099259 -0.970872461796 +vn 0.664483129978 -0.179814308882 -0.725347459316 +vn 0.265687763691 -0.705258131027 -0.657283067703 +vn 0.664483129978 -0.179814308882 -0.725347459316 +vn 0.198456883430 0.134244099259 -0.970872461796 +vn 0.296048760414 0.717162728310 -0.630898356438 +vn 0.296048760414 0.717162728310 -0.630898356438 +vn 0.867754399776 0.307647943497 -0.390326917171 +vn 0.664483129978 -0.179814308882 -0.725347459316 +vn 0.867754399776 0.307647943497 -0.390326917171 +vn 0.296048760414 0.717162728310 -0.630898356438 +vn 0.158363074064 0.985768735409 -0.056401804090 +vn 0.158363074064 0.985768735409 -0.056401804090 +vn 0.729900121689 0.651386141777 0.207224413753 +vn 0.867754399776 0.307647943497 -0.390326917171 +vn 0.729900121689 0.651386141777 0.207224413753 +vn 0.158363074064 0.985768735409 -0.056401804090 +vn -0.305796295404 0.933188319206 0.188807144761 +vn -0.305796295404 0.933188319206 0.188807144761 +vn 0.033919174224 0.761711001396 0.647028446198 +vn 0.729900121689 0.651386141777 0.207224413753 +vn 0.348348826170 0.555683076382 0.754896938801 +vn 0.523129105568 0.167803466320 0.835570394993 +vn 0.883103847504 0.135465055704 0.449195712805 +vn 0.883103847504 0.135465055704 0.449195712805 +vn 0.848077535629 0.469010263681 0.246564060450 +vn 0.348348826170 0.555683076382 0.754896938801 +vn -0.258473217487 0.240610465407 0.935573697090 +vn 0.047754000872 -0.065999239683 0.996676325798 +vn 0.523129105568 0.167803466320 0.835570394993 +vn 0.523129105568 0.167803466320 0.835570394993 +vn 0.348348826170 0.555683076382 0.754896938801 +vn -0.258473217487 0.240610465407 0.935573697090 +vn -0.483811736107 -0.291279852390 0.825277090073 +vn -0.070202268660 -0.434225112200 0.898064672947 +vn 0.047754000872 -0.065999239683 0.996676325798 +vn 0.047754000872 -0.065999239683 0.996676325798 +vn -0.258473217487 0.240610465407 0.935573697090 +vn -0.483811736107 -0.291279852390 0.825277090073 +vn -0.419215917587 -0.771656930447 0.478334188461 +vn -0.105502836406 -0.773460447788 0.625002443790 +vn -0.070202268660 -0.434225112200 0.898064672947 +vn -0.070202268660 -0.434225112200 0.898064672947 +vn -0.483811736107 -0.291279852390 0.825277090073 +vn -0.419215917587 -0.771656930447 0.478334188461 +vn -0.069711819291 -0.997551083565 0.005667928606 +vn 0.191903352737 -0.952242434025 0.237502530217 +vn -0.105502836406 -0.773460447788 0.625002443790 +vn -0.105502836406 -0.773460447788 0.625002443790 +vn -0.419215917587 -0.771656930447 0.478334188461 +vn -0.069711819291 -0.997551083565 0.005667928606 +vn 0.338439792395 -0.873332142830 -0.350356280804 +vn 0.493556946516 -0.869650483131 -0.010467589833 +vn 0.191903352737 -0.952242434025 0.237502530217 +vn 0.191903352737 -0.952242434025 0.237502530217 +vn -0.069711819291 -0.997551083565 0.005667928606 +vn 0.338439792395 -0.873332142830 -0.350356280804 +vn 0.664489090443 -0.542217135429 -0.514251768589 +vn 0.712524473667 -0.673489809036 -0.196774929762 +vn 0.493556946516 -0.869650483131 -0.010467589833 +vn 0.493556946516 -0.869650483131 -0.010467589833 +vn 0.338439792395 -0.873332142830 -0.350356280804 +vn 0.664489090443 -0.542217135429 -0.514251768589 +vn 0.988916158676 0.017871269956 -0.147395417094 +vn 0.935779094696 -0.302246212959 0.181561961770 +vn 0.712524473667 -0.673489809036 -0.196774929762 +vn 0.712524473667 -0.673489809036 -0.196774929762 +vn 0.664489090443 -0.542217135429 -0.514251768589 +vn 0.988916158676 0.017871269956 -0.147395417094 +vn 0.848077535629 0.469010263681 0.246564060450 +vn 0.883103847504 0.135465055704 0.449195712805 +vn 0.935779094696 -0.302246212959 0.181561961770 +vn 0.935779094696 -0.302246212959 0.181561961770 +vn 0.988916158676 0.017871269956 -0.147395417094 +vn 0.848077535629 0.469010263681 0.246564060450 +vn -0.534322023392 0.359675824642 0.764940083027 +vn -0.147346720099 0.889737486839 0.432037174702 +vn 0.069645345211 0.862430155277 0.501361846924 +vn 0.069645345211 0.862430155277 0.501361846924 +vn 0.164405122399 0.635002374649 0.754813194275 +vn -0.534322023392 0.359675824642 0.764940083027 +vn -0.147346720099 0.889737486839 0.432037174702 +vn 0.018299452960 0.998276531696 0.055759474635 +vn 0.056397389621 0.973752439022 0.220511928201 +vn 0.056397389621 0.973752439022 0.220511928201 +vn 0.069645345211 0.862430155277 0.501361846924 +vn -0.147346720099 0.889737486839 0.432037174702 +vn 0.056397389621 0.973752439022 0.220511928201 +vn -0.015082026832 0.898052096367 0.439630508423 +vn -0.110619284213 0.821678519249 0.559113383293 +vn -0.110619284213 0.821678519249 0.559113383293 +vn 0.069645345211 0.862430155277 0.501361846924 +vn 0.056397389621 0.973752439022 0.220511928201 +vn -0.756435573101 0.570307672024 0.320241183043 +vn -0.218308880925 0.796049535275 0.564487636089 +vn -0.110619284213 0.821678519249 0.559113383293 +vn -0.110619284213 0.821678519249 0.559113383293 +vn -0.625884294510 0.621010959148 0.471820145845 +vn -0.756435573101 0.570307672024 0.320241183043 +vn -0.110619284213 0.821678519249 0.559113383293 +vn -0.015082026832 0.898052096367 0.439630508423 +vn -0.506518363953 0.725894212723 0.465313613415 +vn -0.506518363953 0.725894212723 0.465313613415 +vn -0.625884294510 0.621010959148 0.471820145845 +vn -0.110619284213 0.821678519249 0.559113383293 +vn -0.506518363953 0.725894212723 0.465313613415 +vn -0.015082026832 0.898052096367 0.439630508423 +vn 0.093329630792 0.941157698631 0.324825823307 +vn 0.093329630792 0.941157698631 0.324825823307 +vn -0.382084578276 0.771323442459 0.508990705013 +vn -0.506518363953 0.725894212723 0.465313613415 +vn -0.392548322678 0.780418395996 0.486675381660 +vn -0.382084578276 0.771323442459 0.508990705013 +vn 0.093329630792 0.941157698631 0.324825823307 +vn 0.093329630792 0.941157698631 0.324825823307 +vn 0.002175812144 0.997610270977 0.069057755172 +vn -0.392548322678 0.780418395996 0.486675381660 +vn 0.002175812144 0.997610270977 0.069057755172 +vn -0.064116746187 0.995342969894 -0.071981780231 +vn -0.359837502241 0.773664951324 0.521497368813 +vn -0.359837502241 0.773664951324 0.521497368813 +vn -0.392548322678 0.780418395996 0.486675381660 +vn 0.002175812144 0.997610270977 0.069057755172 +vn -0.359837502241 0.773664951324 0.521497368813 +vn -0.064116746187 0.995342969894 -0.071981780231 +vn -0.055783562362 0.991671502590 -0.116085425019 +vn -0.055783562362 0.991671502590 -0.116085425019 +vn -0.291743457317 0.775886118412 0.559362590313 +vn -0.359837502241 0.773664951324 0.521497368813 +vn -0.202851682901 0.784742534161 0.585687935352 +vn -0.291743457317 0.775886118412 0.559362590313 +vn -0.055783562362 0.991671502590 -0.116085425019 +vn -0.055783562362 0.991671502590 -0.116085425019 +vn -0.092519551516 0.986486911774 -0.135217294097 +vn -0.202851682901 0.784742534161 0.585687935352 +vn -0.112290486693 0.984839260578 -0.132221266627 +vn -0.115149334073 0.801315605640 0.587055325508 +vn -0.202851682901 0.784742534161 0.585687935352 +vn -0.202851682901 0.784742534161 0.585687935352 +vn -0.092519551516 0.986486911774 -0.135217294097 +vn -0.112290486693 0.984839260578 -0.132221266627 +vn 0.186325952411 0.041206322610 -0.981623470783 +vn 0.108198247850 0.059869885445 -0.992324888706 +vn -0.112290486693 0.984839260578 -0.132221266627 +vn -0.112290486693 0.984839260578 -0.132221266627 +vn -0.092519551516 0.986486911774 -0.135217294097 +vn 0.186325952411 0.041206322610 -0.981623470783 +vn 0.280480980873 0.072654128075 -0.957105934620 +vn 0.186325952411 0.041206322610 -0.981623470783 +vn -0.092519551516 0.986486911774 -0.135217294097 +vn -0.092519551516 0.986486911774 -0.135217294097 +vn -0.055783562362 0.991671502590 -0.116085425019 +vn 0.280480980873 0.072654128075 -0.957105934620 +vn 0.280480980873 0.072654128075 -0.957105934620 +vn -0.055783562362 0.991671502590 -0.116085425019 +vn -0.064116746187 0.995342969894 -0.071981780231 +vn -0.064116746187 0.995342969894 -0.071981780231 +vn 0.304755032063 0.162415653467 -0.938480436802 +vn 0.280480980873 0.072654128075 -0.957105934620 +vn -0.064116746187 0.995342969894 -0.071981780231 +vn 0.002175812144 0.997610270977 0.069057755172 +vn 0.158929482102 0.658865928650 -0.735280275345 +vn 0.158929482102 0.658865928650 -0.735280275345 +vn 0.304755032063 0.162415653467 -0.938480436802 +vn -0.064116746187 0.995342969894 -0.071981780231 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn 0.158929482102 0.658865928650 -0.735280275345 +vn 0.002175812144 0.997610270977 0.069057755172 +vn 0.002175812144 0.997610270977 0.069057755172 +vn 0.093329630792 0.941157698631 0.324825823307 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn -0.212444365025 0.441597640514 -0.871698856354 +vn 0.158929482102 0.658865928650 -0.735280275345 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn -0.000561077497 0.892739951611 -0.450571924448 +vn -0.212444365025 0.441597640514 -0.871698856354 +vn -0.149947926402 0.168516919017 -0.974226713181 +vn -0.212444365025 0.441597640514 -0.871698856354 +vn -0.000561077497 0.892739951611 -0.450571924448 +vn -0.000561077497 0.892739951611 -0.450571924448 +vn 0.145412996411 0.775520384312 -0.614347755909 +vn -0.149947926402 0.168516919017 -0.974226713181 +vn 0.502711594105 0.493176937103 -0.709970116615 +vn 0.029971798882 -0.099999859929 -0.994535923004 +vn -0.149947926402 0.168516919017 -0.974226713181 +vn -0.149947926402 0.168516919017 -0.974226713181 +vn 0.145412996411 0.775520384312 -0.614347755909 +vn 0.502711594105 0.493176937103 -0.709970116615 +vn 0.145412996411 0.775520384312 -0.614347755909 +vn 0.227914363146 0.973679065704 -0.002040540567 +vn 0.644251585007 0.759489834309 -0.090083837509 +vn 0.644251585007 0.759489834309 -0.090083837509 +vn 0.502711594105 0.493176937103 -0.709970116615 +vn 0.145412996411 0.775520384312 -0.614347755909 +vn 0.018299452960 0.998276531696 0.055759474635 +vn 0.227914363146 0.973679065704 -0.002040540567 +vn 0.145412996411 0.775520384312 -0.614347755909 +vn 0.145412996411 0.775520384312 -0.614347755909 +vn -0.000561077497 0.892739951611 -0.450571924448 +vn 0.018299452960 0.998276531696 0.055759474635 +vn -0.212444365025 0.441597640514 -0.871698856354 +vn -0.435292720795 -0.036885086447 -0.899533033371 +vn -0.149325296283 0.191209688783 -0.970124125481 +vn -0.149325296283 0.191209688783 -0.970124125481 +vn 0.158929482102 0.658865928650 -0.735280275345 +vn -0.212444365025 0.441597640514 -0.871698856354 +vn -0.149947926402 0.168516919017 -0.974226713181 +vn -0.374504595995 -0.259615004063 -0.890138387680 +vn -0.435292720795 -0.036885086447 -0.899533033371 +vn -0.435292720795 -0.036885086447 -0.899533033371 +vn -0.212444365025 0.441597640514 -0.871698856354 +vn -0.149947926402 0.168516919017 -0.974226713181 +vn 0.018299452960 0.998276531696 0.055759474635 +vn -0.000561077497 0.892739951611 -0.450571924448 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn 0.056397389621 0.973752439022 0.220511928201 +vn 0.018299452960 0.998276531696 0.055759474635 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn 0.093329630792 0.941157698631 0.324825823307 +vn -0.015082026832 0.898052096367 0.439630508423 +vn -0.015082026832 0.898052096367 0.439630508423 +vn 0.056397389621 0.973752439022 0.220511928201 +vn 0.164719715714 0.961630463600 -0.219395115972 +vn -0.833009958267 0.535604238510 0.138645425439 +vn -0.353946268559 0.734738647938 0.578689157963 +vn -0.218308880925 0.796049535275 0.564487636089 +vn -0.218308880925 0.796049535275 0.564487636089 +vn -0.756435573101 0.570307672024 0.320241183043 +vn -0.833009958267 0.535604238510 0.138645425439 +vn -0.110619284213 0.821678519249 0.559113383293 +vn -0.218308880925 0.796049535275 0.564487636089 +vn 0.164405122399 0.635002374649 0.754813194275 +vn 0.164405122399 0.635002374649 0.754813194275 +vn 0.069645345211 0.862430155277 0.501361846924 +vn -0.110619284213 0.821678519249 0.559113383293 +vn 0.750251233578 0.270256996155 0.603393971920 +vn 0.164405122399 0.635002374649 0.754813194275 +vn -0.218308880925 0.796049535275 0.564487636089 +vn -0.218308880925 0.796049535275 0.564487636089 +vn -0.353946268559 0.734738647938 0.578689157963 +vn 0.750251233578 0.270256996155 0.603393971920 +vn -0.353946268559 0.734738647938 0.578689157963 +vn -0.457538694143 0.750161647797 0.477405369282 +vn 0.703342258930 0.225412517786 0.674165308475 +vn 0.703342258930 0.225412517786 0.674165308475 +vn 0.750251233578 0.270256996155 0.603393971920 +vn -0.353946268559 0.734738647938 0.578689157963 +vn 0.910371243954 -0.268473833799 0.314874649048 +vn 0.935766935349 -0.242188498378 0.256290793419 +vn 0.750251233578 0.270256996155 0.603393971920 +vn 0.750251233578 0.270256996155 0.603393971920 +vn 0.703342258930 0.225412517786 0.674165308475 +vn 0.910371243954 -0.268473833799 0.314874649048 +vn 0.750251233578 0.270256996155 0.603393971920 +vn 0.935766935349 -0.242188498378 0.256290793419 +vn 0.356486141682 -0.270039647818 0.894425094128 +vn 0.356486141682 -0.270039647818 0.894425094128 +vn 0.164405122399 0.635002374649 0.754813194275 +vn 0.750251233578 0.270256996155 0.603393971920 +vn 0.356486141682 -0.270039647818 0.894425094128 +vn -0.671294987202 -0.260830819607 0.693779766560 +vn -0.534322023392 0.359675824642 0.764940083027 +vn -0.534322023392 0.359675824642 0.764940083027 +vn 0.164405122399 0.635002374649 0.754813194275 +vn 0.356486141682 -0.270039647818 0.894425094128 +vn 0.050975821912 0.871190190315 0.488292098045 +vn -0.147346720099 0.889737486839 0.432037174702 +vn -0.534322023392 0.359675824642 0.764940083027 +vn -0.534322023392 0.359675824642 0.764940083027 +vn -0.357310593128 0.236652135849 0.903506994247 +vn 0.050975821912 0.871190190315 0.488292098045 +vn -0.578328967094 -0.319814234972 0.750502765179 +vn -0.357310593128 0.236652135849 0.903506994247 +vn -0.534322023392 0.359675824642 0.764940083027 +vn -0.534322023392 0.359675824642 0.764940083027 +vn -0.671294987202 -0.260830819607 0.693779766560 +vn -0.578328967094 -0.319814234972 0.750502765179 +vn 0.598508119583 0.249849140644 0.761159241199 +vn 0.811512649059 -0.327733904123 0.483774423599 +vn 0.910371243954 -0.268473833799 0.314874649048 +vn 0.910371243954 -0.268473833799 0.314874649048 +vn 0.703342258930 0.225412517786 0.674165308475 +vn 0.598508119583 0.249849140644 0.761159241199 +vn 0.703342258930 0.225412517786 0.674165308475 +vn -0.457538694143 0.750161647797 0.477405369282 +vn -0.429617762566 0.848202347755 0.309808552265 +vn -0.429617762566 0.848202347755 0.309808552265 +vn 0.598508119583 0.249849140644 0.761159241199 +vn 0.703342258930 0.225412517786 0.674165308475 +vn -0.842326104641 0.537471950054 -0.040131911635 +vn -0.791654765606 0.576650857925 -0.201882332563 +vn -0.429617762566 0.848202347755 0.309808552265 +vn -0.429617762566 0.848202347755 0.309808552265 +vn -0.457538694143 0.750161647797 0.477405369282 +vn -0.842326104641 0.537471950054 -0.040131911635 +vn -0.429617762566 0.848202347755 0.309808552265 +vn -0.429713785648 0.846449017525 0.314436256886 +vn 0.313882619143 0.163946226239 0.935200154781 +vn 0.313882619143 0.163946226239 0.935200154781 +vn 0.598508119583 0.249849140644 0.761159241199 +vn -0.429617762566 0.848202347755 0.309808552265 +vn -0.429617762566 0.848202347755 0.309808552265 +vn -0.791654765606 0.576650857925 -0.201882332563 +vn -0.667831838131 0.682248771191 -0.297552168369 +vn -0.667831838131 0.682248771191 -0.297552168369 +vn -0.429713785648 0.846449017525 0.314436256886 +vn -0.429617762566 0.848202347755 0.309808552265 +vn 0.811512649059 -0.327733904123 0.483774423599 +vn 0.598508119583 0.249849140644 0.761159241199 +vn 0.313882619143 0.163946226239 0.935200154781 +vn 0.313882619143 0.163946226239 0.935200154781 +vn 0.607785642147 -0.416889160872 0.675869822502 +vn 0.811512649059 -0.327733904123 0.483774423599 +vn 0.607785642147 -0.416889160872 0.675869822502 +vn 0.313882619143 0.163946226239 0.935200154781 +vn 0.433476418257 0.101598486304 0.895419418812 +vn 0.433476418257 0.101598486304 0.895419418812 +vn 0.516368031502 -0.345768600702 0.783459067345 +vn 0.607785642147 -0.416889160872 0.675869822502 +vn -0.457538694143 0.750161647797 0.477405369282 +vn -0.353946268559 0.734738647938 0.578689157963 +vn -0.833009958267 0.535604238510 0.138645425439 +vn -0.833009958267 0.535604238510 0.138645425439 +vn -0.842326104641 0.537471950054 -0.040131911635 +vn -0.457538694143 0.750161647797 0.477405369282 +vn 0.384632349014 -0.290035128593 0.876320481300 +vn -0.577897906303 -0.355524659157 0.734599351883 +vn -0.622664332390 0.454117029905 0.637233734131 +vn -0.622664332390 0.454117029905 0.637233734131 +vn 0.170826375484 0.283379584551 0.943670690060 +vn 0.384632349014 -0.290035128593 0.876320481300 +vn 0.314843177795 -0.462489783764 0.828840732574 +vn 0.384632349014 -0.290035128593 0.876320481300 +vn 0.170826375484 0.283379584551 0.943670690060 +vn 0.170826375484 0.283379584551 0.943670690060 +vn -0.019885519519 0.156374439597 0.987497627735 +vn 0.314843177795 -0.462489783764 0.828840732574 +vn 0.100030563772 -0.661799669266 0.742977142334 +vn 0.314843177795 -0.462489783764 0.828840732574 +vn -0.019885519519 0.156374439597 0.987497627735 +vn -0.019885519519 0.156374439597 0.987497627735 +vn -0.310567855835 -0.005853740964 0.950533211231 +vn 0.100030563772 -0.661799669266 0.742977142334 +vn -0.310567855835 -0.005853740964 0.950533211231 +vn -0.612901210785 -0.171269357204 0.771374642849 +vn -0.019895311445 -0.792612075806 0.609401524067 +vn -0.019895311445 -0.792612075806 0.609401524067 +vn 0.100030563772 -0.661799669266 0.742977142334 +vn -0.310567855835 -0.005853740964 0.950533211231 +vn -0.019895311445 -0.792612075806 0.609401524067 +vn -0.612901210785 -0.171269357204 0.771374642849 +vn -0.859864592552 -0.161788597703 0.484207957983 +vn -0.859864592552 -0.161788597703 0.484207957983 +vn -0.178587734699 -0.922734260559 0.341566920280 +vn -0.019895311445 -0.792612075806 0.609401524067 +vn -0.178587734699 -0.922734260559 0.341566920280 +vn -0.859864592552 -0.161788597703 0.484207957983 +vn -0.968362867832 -0.224615901709 0.108724497259 +vn -0.968362867832 -0.224615901709 0.108724497259 +vn -0.537448406219 -0.838045239449 0.093964748085 +vn -0.178587734699 -0.922734260559 0.341566920280 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.941314995289 -0.067905850708 -0.330627977848 +vn -0.968362867832 -0.224615901709 0.108724497259 +vn -0.968362867832 -0.224615901709 0.108724497259 +vn -0.815810859203 0.574943482876 0.062391024083 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.612901210785 -0.171269357204 0.771374642849 +vn -0.310567855835 -0.005853740964 0.950533211231 +vn -0.606193363667 0.768687665462 0.204080417752 +vn -0.606193363667 0.768687665462 0.204080417752 +vn -0.815810859203 0.574943482876 0.062391024083 +vn -0.612901210785 -0.171269357204 0.771374642849 +vn -0.606193363667 0.768687665462 0.204080417752 +vn -0.546915650368 0.810093104839 -0.211263924837 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.815810859203 0.574943482876 0.062391024083 +vn -0.606193363667 0.768687665462 0.204080417752 +vn -0.627340018749 -0.085048124194 -0.774087429047 +vn -0.941314995289 -0.067905850708 -0.330627977848 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.408398300409 0.460756182671 -0.787981331348 +vn -0.627340018749 -0.085048124194 -0.774087429047 +vn 0.161430969834 -0.167638167739 -0.972541749477 +vn -0.224376007915 -0.046368073672 -0.973398864269 +vn -0.627340018749 -0.085048124194 -0.774087429047 +vn -0.627340018749 -0.085048124194 -0.774087429047 +vn -0.408398300409 0.460756182671 -0.787981331348 +vn 0.161430969834 -0.167638167739 -0.972541749477 +vn 0.369810193777 -0.044239182025 -0.928053498268 +vn 0.161430969834 -0.167638167739 -0.972541749477 +vn -0.408398300409 0.460756182671 -0.787981331348 +vn -0.408398300409 0.460756182671 -0.787981331348 +vn -0.243032351136 0.654210090637 -0.716201424599 +vn 0.369810193777 -0.044239182025 -0.928053498268 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.546915650368 0.810093104839 -0.211263924837 +vn -0.243032351136 0.654210090637 -0.716201424599 +vn -0.243032351136 0.654210090637 -0.716201424599 +vn -0.408398300409 0.460756182671 -0.787981331348 +vn -0.688532412052 0.659234106541 -0.302214354277 +vn -0.537448406219 -0.838045239449 0.093964748085 +vn -0.968362867832 -0.224615901709 0.108724497259 +vn -0.941314995289 -0.067905850708 -0.330627977848 +vn -0.941314995289 -0.067905850708 -0.330627977848 +vn -0.640428006649 -0.731053292751 -0.235399663448 +vn -0.537448406219 -0.838045239449 0.093964748085 +vn -0.422474920750 -0.667798876762 -0.612829148769 +vn -0.640428006649 -0.731053292751 -0.235399663448 +vn -0.941314995289 -0.067905850708 -0.330627977848 +vn -0.941314995289 -0.067905850708 -0.330627977848 +vn -0.627340018749 -0.085048124194 -0.774087429047 +vn -0.422474920750 -0.667798876762 -0.612829148769 +vn -0.546915650368 0.810093104839 -0.211263924837 +vn -0.606193363667 0.768687665462 0.204080417752 +vn -0.383504658937 0.857913494110 0.341919034719 +vn -0.383504658937 0.857913494110 0.341919034719 +vn -0.389531940222 0.909839093685 -0.143030583858 +vn -0.546915650368 0.810093104839 -0.211263924837 +vn -0.181109443307 0.982749462128 -0.037454269826 +vn -0.389531940222 0.909839093685 -0.143030583858 +vn -0.383504658937 0.857913494110 0.341919034719 +vn -0.383504658937 0.857913494110 0.341919034719 +vn -0.181642502546 0.885934293270 0.426762789488 +vn -0.181109443307 0.982749462128 -0.037454269826 +vn -0.019885519519 0.156374439597 0.987497627735 +vn 0.170826375484 0.283379584551 0.943670690060 +vn -0.181642502546 0.885934293270 0.426762789488 +vn -0.181642502546 0.885934293270 0.426762789488 +vn -0.383504658937 0.857913494110 0.341919034719 +vn -0.019885519519 0.156374439597 0.987497627735 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.181109443307 0.982749462128 -0.037454269826 +vn -0.181642502546 0.885934293270 0.426762789488 +vn -0.181642502546 0.885934293270 0.426762789488 +vn -0.424639850855 0.811399281025 0.401636928320 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.424639850855 0.811399281025 0.401636928320 +vn -0.181642502546 0.885934293270 0.426762789488 +vn 0.170826375484 0.283379584551 0.943670690060 +vn 0.170826375484 0.283379584551 0.943670690060 +vn -0.622664332390 0.454117029905 0.637233734131 +vn -0.424639850855 0.811399281025 0.401636928320 +vn 0.071902558208 0.827343285084 -0.557075500488 +vn -0.243032351136 0.654210090637 -0.716201424599 +vn -0.546915650368 0.810093104839 -0.211263924837 +vn -0.546915650368 0.810093104839 -0.211263924837 +vn -0.389531940222 0.909839093685 -0.143030583858 +vn 0.071902558208 0.827343285084 -0.557075500488 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn 0.071902558208 0.827343285084 -0.557075500488 +vn -0.389531940222 0.909839093685 -0.143030583858 +vn -0.389531940222 0.909839093685 -0.143030583858 +vn -0.181109443307 0.982749462128 -0.037454269826 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn -0.606193363667 0.768687665462 0.204080417752 +vn -0.310567855835 -0.005853740964 0.950533211231 +vn -0.019885519519 0.156374439597 0.987497627735 +vn -0.019885519519 0.156374439597 0.987497627735 +vn -0.383504658937 0.857913494110 0.341919034719 +vn -0.606193363667 0.768687665462 0.204080417752 +vn -0.612901210785 -0.171269357204 0.771374642849 +vn -0.815810859203 0.574943482876 0.062391024083 +vn -0.968362867832 -0.224615901709 0.108724497259 +vn -0.968362867832 -0.224615901709 0.108724497259 +vn -0.859864592552 -0.161788597703 0.484207957983 +vn -0.612901210785 -0.171269357204 0.771374642849 +vn -0.914714396000 -0.397285848856 -0.073902077973 +vn -0.962532341480 0.106497831643 0.249378725886 +vn -0.622664332390 0.454117029905 0.637233734131 +vn -0.622664332390 0.454117029905 0.637233734131 +vn -0.577897906303 -0.355524659157 0.734599351883 +vn -0.914714396000 -0.397285848856 -0.073902077973 +vn -0.962532341480 0.106497831643 0.249378725886 +vn -0.914714396000 -0.397285848856 -0.073902077973 +vn -0.887782454491 -0.459931015968 -0.017485428602 +vn -0.887782454491 -0.459931015968 -0.017485428602 +vn -0.936779797077 0.026538468897 0.348911702633 +vn -0.962532341480 0.106497831643 0.249378725886 +vn -0.887782454491 -0.459931015968 -0.017485428602 +vn -0.834079504013 -0.535284638405 0.133348211646 +vn -0.887424767017 0.078465610743 0.454225122929 +vn -0.887424767017 0.078465610743 0.454225122929 +vn -0.936779797077 0.026538468897 0.348911702633 +vn -0.887782454491 -0.459931015968 -0.017485428602 +vn 0.081868670881 0.901294291019 0.425401180983 +vn 0.077389903367 0.914463222027 0.397199958563 +vn -0.887424767017 0.078465610743 0.454225122929 +vn -0.887424767017 0.078465610743 0.454225122929 +vn -0.669492661953 0.064479798079 0.740014791489 +vn 0.081868670881 0.901294291019 0.425401180983 +vn -0.743179678917 0.068944804370 0.665530264378 +vn -0.545027732849 0.737514972687 0.398768693209 +vn 0.081868670881 0.901294291019 0.425401180983 +vn 0.081868670881 0.901294291019 0.425401180983 +vn -0.669492661953 0.064479798079 0.740014791489 +vn -0.743179678917 0.068944804370 0.665530264378 +vn 0.568133234978 0.821251451969 -0.052637834102 +vn 0.646443426609 0.759647488594 0.071039631963 +vn 0.077389903367 0.914463222027 0.397199958563 +vn 0.077389903367 0.914463222027 0.397199958563 +vn 0.081868670881 0.901294291019 0.425401180983 +vn 0.568133234978 0.821251451969 -0.052637834102 +vn 0.058358471841 0.816487491131 0.574406206608 +vn 0.077389903367 0.914463222027 0.397199958563 +vn 0.646443426609 0.759647488594 0.071039631963 +vn 0.646443426609 0.759647488594 0.071039631963 +vn 0.630036652088 0.727832496166 0.270765095949 +vn 0.058358471841 0.816487491131 0.574406206608 +vn 0.630036652088 0.727832496166 0.270765095949 +vn 0.553945541382 0.699680268764 0.451211482286 +vn -0.097729347646 0.768430531025 0.632426679134 +vn -0.097729347646 0.768430531025 0.632426679134 +vn 0.058358471841 0.816487491131 0.574406206608 +vn 0.630036652088 0.727832496166 0.270765095949 +vn -0.254605710506 0.744727969170 0.616892397404 +vn -0.097729347646 0.768430531025 0.632426679134 +vn 0.553945541382 0.699680268764 0.451211482286 +vn 0.553945541382 0.699680268764 0.451211482286 +vn 0.436596006155 0.685988366604 0.582068622112 +vn -0.254605710506 0.744727969170 0.616892397404 +vn -0.254605710506 0.744727969170 0.616892397404 +vn 0.436596006155 0.685988366604 0.582068622112 +vn 0.298728913069 0.741523385048 0.600752949715 +vn 0.298728913069 0.741523385048 0.600752949715 +vn -0.316964924335 0.809910416603 0.493536621332 +vn -0.254605710506 0.744727969170 0.616892397404 +vn -0.936779797077 0.026538468897 0.348911702633 +vn 0.058358471841 0.816487491131 0.574406206608 +vn -0.097729347646 0.768430531025 0.632426679134 +vn -0.097729347646 0.768430531025 0.632426679134 +vn -0.962532341480 0.106497831643 0.249378725886 +vn -0.936779797077 0.026538468897 0.348911702633 +vn -0.097729347646 0.768430531025 0.632426679134 +vn -0.254605710506 0.744727969170 0.616892397404 +vn -0.622664332390 0.454117029905 0.637233734131 +vn -0.622664332390 0.454117029905 0.637233734131 +vn -0.962532341480 0.106497831643 0.249378725886 +vn -0.097729347646 0.768430531025 0.632426679134 +vn 0.077389903367 0.914463222027 0.397199958563 +vn 0.058358471841 0.816487491131 0.574406206608 +vn -0.936779797077 0.026538468897 0.348911702633 +vn -0.936779797077 0.026538468897 0.348911702633 +vn -0.887424767017 0.078465610743 0.454225122929 +vn 0.077389903367 0.914463222027 0.397199958563 +vn 0.081868670881 0.901294291019 0.425401180983 +vn -0.545027732849 0.737514972687 0.398768693209 +vn -0.103438951075 0.980265319347 -0.168464601040 +vn -0.103438951075 0.980265319347 -0.168464601040 +vn 0.568133234978 0.821251451969 -0.052637834102 +vn 0.081868670881 0.901294291019 0.425401180983 +vn -0.494124293327 0.813777327538 0.305953741074 +vn -0.266018509865 0.937779486179 -0.223167747259 +vn -0.103438951075 0.980265319347 -0.168464601040 +vn -0.103438951075 0.980265319347 -0.168464601040 +vn -0.545027732849 0.737514972687 0.398768693209 +vn -0.494124293327 0.813777327538 0.305953741074 +vn -0.545027732849 0.737514972687 0.398768693209 +vn -0.743179678917 0.068944804370 0.665530264378 +vn -0.509258329868 -0.100890107453 0.854679524899 +vn -0.509258329868 -0.100890107453 0.854679524899 +vn -0.494124293327 0.813777327538 0.305953741074 +vn -0.545027732849 0.737514972687 0.398768693209 +vn -0.399299442768 -0.641792595387 0.654722988605 +vn -0.083396285772 -0.628017544746 0.773717641830 +vn -0.178978517652 -0.082300312817 0.980404675007 +vn -0.178978517652 -0.082300312817 0.980404675007 +vn -0.509258329868 -0.100890107453 0.854679524899 +vn -0.399299442768 -0.641792595387 0.654722988605 +vn -0.509258329868 -0.100890107453 0.854679524899 +vn -0.743179678917 0.068944804370 0.665530264378 +vn -0.701685905457 -0.509247004986 0.498301476240 +vn -0.701685905457 -0.509247004986 0.498301476240 +vn -0.399299442768 -0.641792595387 0.654722988605 +vn -0.509258329868 -0.100890107453 0.854679524899 +vn -0.178978517652 -0.082300312817 0.980404675007 +vn -0.182695105672 0.915379524231 0.358751714230 +vn -0.494124293327 0.813777327538 0.305953741074 +vn -0.494124293327 0.813777327538 0.305953741074 +vn -0.509258329868 -0.100890107453 0.854679524899 +vn -0.178978517652 -0.082300312817 0.980404675007 +vn -0.030449874699 -0.613143086433 -0.789384782314 +vn -0.030449874699 -0.613143146038 -0.789384782314 +vn -0.030449876562 -0.613143146038 -0.789384782314 +vn 0.454834192991 -0.551295697689 -0.699427545071 +vn 0.454834192991 -0.551295697689 -0.699427545071 +vn 0.454834192991 -0.551295757294 -0.699427545071 +vn -0.084855884314 0.981540918350 -0.171397000551 +vn -0.182695105672 0.915379524231 0.358751714230 +vn 0.143064171076 0.886963069439 0.439123153687 +vn 0.143064171076 0.886963069439 0.439123153687 +vn 0.145488426089 0.976211905479 -0.160759046674 +vn -0.084855884314 0.981540918350 -0.171397000551 +vn -0.182695105672 0.915379524231 0.358751714230 +vn -0.084855884314 0.981540918350 -0.171397000551 +vn -0.266018509865 0.937779486179 -0.223167747259 +vn -0.266018509865 0.937779486179 -0.223167747259 +vn -0.494124293327 0.813777327538 0.305953741074 +vn -0.182695105672 0.915379524231 0.358751714230 +vn -0.701685905457 -0.509247004986 0.498301476240 +vn -0.743179678917 0.068944804370 0.665530264378 +vn -0.669492661953 0.064479798079 0.740014791489 +vn -0.669492661953 0.064479798079 0.740014791489 +vn -0.714156806469 -0.585525572300 0.383588165045 +vn -0.701685905457 -0.509247004986 0.498301476240 +vn -0.714156806469 -0.585525572300 0.383588165045 +vn -0.669492661953 0.064479798079 0.740014791489 +vn -0.887424767017 0.078465610743 0.454225122929 +vn -0.887424767017 0.078465610743 0.454225122929 +vn -0.834079504013 -0.535284638405 0.133348211646 +vn -0.714156806469 -0.585525572300 0.383588165045 +vn -0.254605710506 0.744727969170 0.616892397404 +vn -0.316964924335 0.809910416603 0.493536621332 +vn -0.424639850855 0.811399281025 0.401636928320 +vn -0.424639850855 0.811399281025 0.401636928320 +vn -0.622664332390 0.454117029905 0.637233734131 +vn -0.254605710506 0.744727969170 0.616892397404 +vn 0.483079075813 0.188845366240 -0.854969024658 +vn 0.821521222591 0.078862875700 -0.564697682858 +vn 0.501307368279 0.477822452784 -0.721371352673 +vn 0.501307368279 0.477822452784 -0.721371352673 +vn 0.034370608628 0.694903075695 -0.718281567097 +vn 0.483079075813 0.188845366240 -0.854969024658 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn -0.374014973640 0.886462867260 -0.272573590279 +vn 0.034370608628 0.694903075695 -0.718281567097 +vn 0.034370608628 0.694903075695 -0.718281567097 +vn 0.501307368279 0.477822452784 -0.721371352673 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn -0.242492765188 0.969967246056 -0.018994800746 +vn 0.034370608628 0.694903075695 -0.718281567097 +vn -0.374014973640 0.886462867260 -0.272573590279 +vn -0.374014973640 0.886462867260 -0.272573590279 +vn -0.373588293791 0.906539082527 0.196516364813 +vn -0.242492765188 0.969967246056 -0.018994800746 +vn -0.013701758347 0.829518616199 0.558310985565 +vn -0.242492765188 0.969967246056 -0.018994800746 +vn -0.373588293791 0.906539082527 0.196516364813 +vn -0.373588293791 0.906539082527 0.196516364813 +vn 0.008125438355 0.822232007980 0.569094419479 +vn -0.013701758347 0.829518616199 0.558310985565 +vn -0.388561308384 0.831142783165 0.397771000862 +vn 0.114516958594 0.788044095039 0.604873836040 +vn 0.008125438355 0.822232007980 0.569094419479 +vn 0.008125438355 0.822232007980 0.569094419479 +vn -0.373588293791 0.906539082527 0.196516364813 +vn -0.388561308384 0.831142783165 0.397771000862 +vn -0.316964924335 0.809910416603 0.493536621332 +vn 0.298728913069 0.741523385048 0.600752949715 +vn 0.114516958594 0.788044095039 0.604873836040 +vn 0.114516958594 0.788044095039 0.604873836040 +vn -0.388561308384 0.831142783165 0.397771000862 +vn -0.316964924335 0.809910416603 0.493536621332 +vn -0.316964924335 0.809910416603 0.493536621332 +vn -0.388561308384 0.831142783165 0.397771000862 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.424639850855 0.811399281025 0.401636928320 +vn -0.316964924335 0.809910416603 0.493536621332 +vn -0.373588293791 0.906539082527 0.196516364813 +vn -0.374014973640 0.886462867260 -0.272573590279 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.388561308384 0.831142783165 0.397771000862 +vn -0.373588293791 0.906539082527 0.196516364813 +vn -0.013701758347 0.829518616199 0.558310985565 +vn -0.040053065866 0.814612388611 0.578621149063 +vn -0.164916515350 0.980066657066 -0.110778510571 +vn -0.164916515350 0.980066657066 -0.110778510571 +vn -0.242492765188 0.969967246056 -0.018994800746 +vn -0.013701758347 0.829518616199 0.558310985565 +vn 0.108198247850 0.059869885445 -0.992324888706 +vn 0.095979750156 0.237653985620 -0.966596305370 +vn -0.164916515350 0.980066657066 -0.110778510571 +vn -0.164916515350 0.980066657066 -0.110778510571 +vn -0.112290486693 0.984839260578 -0.132221266627 +vn 0.108198247850 0.059869885445 -0.992324888706 +vn 0.095979750156 0.237653985620 -0.966596305370 +vn 0.034370608628 0.694903075695 -0.718281567097 +vn -0.242492765188 0.969967246056 -0.018994800746 +vn -0.242492765188 0.969967246056 -0.018994800746 +vn -0.164916515350 0.980066657066 -0.110778510571 +vn 0.095979750156 0.237653985620 -0.966596305370 +vn 0.483079075813 0.188845366240 -0.854969024658 +vn 0.034370608628 0.694903075695 -0.718281567097 +vn 0.095979750156 0.237653985620 -0.966596305370 +vn 0.095979750156 0.237653985620 -0.966596305370 +vn 0.308176785707 -0.444958806038 -0.840855956078 +vn 0.483079075813 0.188845366240 -0.854969024658 +vn 0.188442409039 -0.595347464085 -0.781057536602 +vn 0.308176785707 -0.444958806038 -0.840855956078 +vn 0.095979750156 0.237653985620 -0.966596305370 +vn 0.095979750156 0.237653985620 -0.966596305370 +vn 0.108198247850 0.059869885445 -0.992324888706 +vn 0.188442409039 -0.595347464085 -0.781057536602 +vn 0.188442409039 -0.595347464085 -0.781057536602 +vn 0.108198247850 0.059869885445 -0.992324888706 +vn 0.186325952411 0.041206322610 -0.981623470783 +vn 0.186325952411 0.041206322610 -0.981623470783 +vn 0.223764970899 -0.611924827099 -0.758602142334 +vn 0.188442409039 -0.595347464085 -0.781057536602 +vn 0.186325952411 0.041206322610 -0.981623470783 +vn 0.280480980873 0.072654128075 -0.957105934620 +vn 0.270638674498 -0.588777959347 -0.761639833450 +vn 0.270638674498 -0.588777959347 -0.761639833450 +vn 0.223764970899 -0.611924827099 -0.758602142334 +vn 0.186325952411 0.041206322610 -0.981623470783 +vn 0.270638674498 -0.588777959347 -0.761639833450 +vn 0.280480980873 0.072654128075 -0.957105934620 +vn 0.304755032063 0.162415653467 -0.938480436802 +vn 0.304755032063 0.162415653467 -0.938480436802 +vn 0.271971881390 -0.439561158419 -0.856047511101 +vn 0.270638674498 -0.588777959347 -0.761639833450 +vn -0.115149334073 0.801315605640 0.587055325508 +vn -0.112290486693 0.984839260578 -0.132221266627 +vn -0.164916515350 0.980066657066 -0.110778510571 +vn -0.164916515350 0.980066657066 -0.110778510571 +vn -0.040053065866 0.814612388611 0.578621149063 +vn -0.115149334073 0.801315605640 0.587055325508 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn -0.181109443307 0.982749462128 -0.037454269826 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.432357877493 0.900786101818 0.040632791817 +vn -0.374014973640 0.886462867260 -0.272573590279 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn 0.574291229248 0.222163870931 -0.787929475307 +vn 0.071902558208 0.827343285084 -0.557075500488 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn -0.019123541191 0.906814336777 -0.421096295118 +vn 0.501307368279 0.477822452784 -0.721371352673 +vn 0.574291229248 0.222163870931 -0.787929475307 +vn -0.243032351136 0.654210090637 -0.716201424599 +vn 0.071902558208 0.827343285084 -0.557075500488 +vn 0.574291229248 0.222163870931 -0.787929475307 +vn 0.574291229248 0.222163870931 -0.787929475307 +vn 0.369810193777 -0.044239182025 -0.928053498268 +vn -0.243032351136 0.654210090637 -0.716201424599 +vn 0.369810193777 -0.044239182025 -0.928053498268 +vn 0.574291229248 0.222163870931 -0.787929475307 +vn 0.759460985661 -0.164043009281 -0.629530727863 +vn 0.759460985661 -0.164043009281 -0.629530727863 +vn 0.552213788033 -0.386443734169 -0.738729417324 +vn 0.369810193777 -0.044239182025 -0.928053498268 +vn 0.821521222591 0.078862875700 -0.564697682858 +vn 0.759460985661 -0.164043009281 -0.629530727863 +vn 0.574291229248 0.222163870931 -0.787929475307 +vn 0.574291229248 0.222163870931 -0.787929475307 +vn 0.501307368279 0.477822452784 -0.721371352673 +vn 0.821521222591 0.078862875700 -0.564697682858 +vn 0.368465006351 -0.612099230289 -0.699691414833 +vn 0.161430969834 -0.167638167739 -0.972541749477 +vn 0.369810193777 -0.044239182025 -0.928053498268 +vn 0.369810193777 -0.044239182025 -0.928053498268 +vn 0.552213788033 -0.386443734169 -0.738729417324 +vn 0.368465006351 -0.612099230289 -0.699691414833 +vn 0.045121468604 -0.817973375320 -0.573483705521 +vn -0.224376007915 -0.046368073672 -0.973398864269 +vn 0.161430969834 -0.167638167739 -0.972541749477 +vn 0.161430969834 -0.167638167739 -0.972541749477 +vn 0.368465006351 -0.612099230289 -0.699691414833 +vn 0.045121468604 -0.817973375320 -0.573483705521 +vn 0.045121468604 -0.817973375320 -0.573483705521 +vn -0.422474920750 -0.667798876762 -0.612829148769 +vn -0.627340018749 -0.085048124194 -0.774087429047 +vn -0.627340018749 -0.085048124194 -0.774087429047 +vn -0.224376007915 -0.046368073672 -0.973398864269 +vn 0.045121468604 -0.817973375320 -0.573483705521 +vn 0.158929482102 0.658865928650 -0.735280275345 +vn -0.149325296283 0.191209688783 -0.970124125481 +vn 0.271971881390 -0.439561158419 -0.856047511101 +vn 0.271971881390 -0.439561158419 -0.856047511101 +vn 0.304755032063 0.162415653467 -0.938480436802 +vn 0.158929482102 0.658865928650 -0.735280275345 +vn 0.050975821912 0.871190190315 0.488292098045 +vn 0.227914363146 0.973679065704 -0.002040540567 +vn 0.018299452960 0.998276531696 0.055759474635 +vn 0.018299452960 0.998276531696 0.055759474635 +vn -0.147346720099 0.889737486839 0.432037174702 +vn 0.050975821912 0.871190190315 0.488292098045 +vn 0.415789157152 0.681671321392 0.602032840252 +vn 0.644251585007 0.759489834309 -0.090083837509 +vn 0.227914363146 0.973679065704 -0.002040540567 +vn 0.227914363146 0.973679065704 -0.002040540567 +vn 0.050975821912 0.871190190315 0.488292098045 +vn 0.415789157152 0.681671321392 0.602032840252 +vn 0.415789157152 0.681671321392 0.602032840252 +vn 0.050975821912 0.871190190315 0.488292098045 +vn -0.357310593128 0.236652135849 0.903506994247 +vn -0.357310593128 0.236652135849 0.903506994247 +vn -0.090699143708 0.010228182189 0.995825827122 +vn 0.415789157152 0.681671321392 0.602032840252 +vn 0.715015947819 0.376954406500 0.588776290417 +vn 0.415789157152 0.681671321392 0.602032840252 +vn -0.090699143708 0.010228182189 0.995825827122 +vn -0.090699143708 0.010228182189 0.995825827122 +vn 0.163989365101 -0.143401250243 0.975983381271 +vn 0.715015947819 0.376954406500 0.588776290417 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn 0.715015947819 0.376954406500 0.588776290417 +vn 0.163989365101 -0.143401250243 0.975983381271 +vn 0.163989365101 -0.143401250243 0.975983381271 +vn 0.535596609116 -0.080347500741 0.840642929077 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn -0.084090135992 -0.870717883110 0.484540194273 +vn 0.535596609116 -0.080347500741 0.840642929077 +vn 0.163989365101 -0.143401250243 0.975983381271 +vn 0.163989365101 -0.143401250243 0.975983381271 +vn -0.245555266738 -0.736587166786 0.630191981792 +vn -0.084090135992 -0.870717883110 0.484540194273 +vn -0.090699143708 0.010228182189 0.995825827122 +vn -0.378451079130 -0.561920762062 0.735540509224 +vn -0.245555266738 -0.736587166786 0.630191981792 +vn -0.245555266738 -0.736587166786 0.630191981792 +vn 0.163989365101 -0.143401250243 0.975983381271 +vn -0.090699143708 0.010228182189 0.995825827122 +vn -0.357310593128 0.236652135849 0.903506994247 +vn -0.578328967094 -0.319814234972 0.750502765179 +vn -0.378451079130 -0.561920762062 0.735540509224 +vn -0.378451079130 -0.561920762062 0.735540509224 +vn -0.090699143708 0.010228182189 0.995825827122 +vn -0.357310593128 0.236652135849 0.903506994247 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn 0.535596609116 -0.080347500741 0.840642929077 +vn -0.084090135992 -0.870717883110 0.484540194273 +vn -0.084090135992 -0.870717883110 0.484540194273 +vn 0.303251296282 -0.837280929089 0.454971790314 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn 0.590286970139 -0.797087967396 0.127326473594 +vn 0.934182822704 -0.324974685907 0.147288635373 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn 0.303251296282 -0.837280929089 0.454971790314 +vn 0.590286970139 -0.797087967396 0.127326473594 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn 0.934182822704 -0.324974685907 0.147288635373 +vn 0.913268625736 0.406597167253 -0.024883907288 +vn 0.913268625736 0.406597167253 -0.024883907288 +vn 0.715015947819 0.376954406500 0.588776290417 +vn 0.704818487167 -0.360784024000 0.610791087151 +vn 0.502711594105 0.493176937103 -0.709970116615 +vn 0.644251585007 0.759489834309 -0.090083837509 +vn 0.913268625736 0.406597167253 -0.024883907288 +vn 0.913268625736 0.406597167253 -0.024883907288 +vn 0.712965011597 0.308273494244 -0.629800260067 +vn 0.502711594105 0.493176937103 -0.709970116615 +vn 0.835667192936 -0.353619337082 -0.420254290104 +vn 0.712965011597 0.308273494244 -0.629800260067 +vn 0.913268625736 0.406597167253 -0.024883907288 +vn 0.913268625736 0.406597167253 -0.024883907288 +vn 0.934182822704 -0.324974685907 0.147288635373 +vn 0.835667192936 -0.353619337082 -0.420254290104 +vn 0.590286970139 -0.797087967396 0.127326473594 +vn 0.538265943527 -0.756090760231 -0.372285634279 +vn 0.835667192936 -0.353619337082 -0.420254290104 +vn 0.835667192936 -0.353619337082 -0.420254290104 +vn 0.934182822704 -0.324974685907 0.147288635373 +vn 0.590286970139 -0.797087967396 0.127326473594 +vn 0.712965011597 0.308273494244 -0.629800260067 +vn 0.108074806631 -0.244027063251 -0.963727474213 +vn 0.029971798882 -0.099999859929 -0.994535923004 +vn 0.029971798882 -0.099999859929 -0.994535923004 +vn 0.502711594105 0.493176937103 -0.709970116615 +vn 0.712965011597 0.308273494244 -0.629800260067 +vn 0.108074806631 -0.244027063251 -0.963727474213 +vn 0.433138728142 -0.448282390833 -0.781942307949 +vn -0.007061770186 -0.825218200684 -0.564769864082 +vn -0.007061770186 -0.825218200684 -0.564769864082 +vn -0.285020858049 -0.719945371151 -0.632804691792 +vn 0.108074806631 -0.244027063251 -0.963727474213 +vn 0.433138728142 -0.448282390833 -0.781942307949 +vn 0.108074806631 -0.244027063251 -0.963727474213 +vn 0.712965011597 0.308273494244 -0.629800260067 +vn 0.712965011597 0.308273494244 -0.629800260067 +vn 0.835667192936 -0.353619337082 -0.420254290104 +vn 0.433138728142 -0.448282390833 -0.781942307949 +vn 0.108074806631 -0.244027063251 -0.963727474213 +vn -0.285020858049 -0.719945371151 -0.632804691792 +vn -0.264134556055 -0.500071525574 -0.824718952179 +vn -0.264134556055 -0.500071525574 -0.824718952179 +vn 0.029971798882 -0.099999859929 -0.994535923004 +vn 0.108074806631 -0.244027063251 -0.963727474213 +vn 0.715015947819 0.376954406500 0.588776290417 +vn 0.913268625736 0.406597167253 -0.024883907288 +vn 0.644251585007 0.759489834309 -0.090083837509 +vn 0.644251585007 0.759489834309 -0.090083837509 +vn 0.415789157152 0.681671321392 0.602032840252 +vn 0.715015947819 0.376954406500 0.588776290417 +vn 0.179807379842 -0.031763926148 0.983188867569 +vn 0.143064171076 0.886963069439 0.439123153687 +vn -0.182695105672 0.915379524231 0.358751714230 +vn -0.182695105672 0.915379524231 0.358751714230 +vn -0.178978517652 -0.082300312817 0.980404675007 +vn 0.179807379842 -0.031763926148 0.983188867569 +vn 0.433476418257 0.101598486304 0.895419418812 +vn 0.203395426273 0.839035332203 0.504628598690 +vn 0.143064171076 0.886963069439 0.439123153687 +vn 0.143064171076 0.886963069439 0.439123153687 +vn 0.179807379842 -0.031763926148 0.983188867569 +vn 0.433476418257 0.101598486304 0.895419418812 +vn 0.313882619143 0.163946226239 0.935200154781 +vn -0.429713785648 0.846449017525 0.314436256886 +vn 0.203395426273 0.839035332203 0.504628598690 +vn 0.203395426273 0.839035332203 0.504628598690 +vn 0.433476418257 0.101598486304 0.895419418812 +vn 0.313882619143 0.163946226239 0.935200154781 +vn -0.046772319824 0.986538410187 -0.156698241830 +vn 0.145488426089 0.976211905479 -0.160759046674 +vn 0.143064171076 0.886963069439 0.439123153687 +vn 0.143064171076 0.886963069439 0.439123153687 +vn 0.203395426273 0.839035332203 0.504628598690 +vn -0.046772319824 0.986538410187 -0.156698241830 +vn -0.429713785648 0.846449017525 0.314436256886 +vn -0.667831838131 0.682248771191 -0.297552168369 +vn -0.046772319824 0.986538410187 -0.156698241830 +vn -0.046772319824 0.986538410187 -0.156698241830 +vn 0.203395426273 0.839035332203 0.504628598690 +vn -0.429713785648 0.846449017525 0.314436256886 +vn 0.286178618670 -0.536495864391 0.793897986412 +vn 0.516368031502 -0.345768600702 0.783459067345 +vn 0.433476418257 0.101598486304 0.895419418812 +vn 0.433476418257 0.101598486304 0.895419418812 +vn 0.179807379842 -0.031763926148 0.983188867569 +vn 0.286178618670 -0.536495864391 0.793897986412 +vn -0.083396285772 -0.628017544746 0.773717641830 +vn 0.286178618670 -0.536495864391 0.793897986412 +vn 0.179807379842 -0.031763926148 0.983188867569 +vn 0.179807379842 -0.031763926148 0.983188867569 +vn -0.178978517652 -0.082300312817 0.980404675007 +vn -0.083396285772 -0.628017544746 0.773717641830 +vn -0.374504595995 -0.259615004063 -0.890138387680 +vn -0.149947926402 0.168516919017 -0.974226713181 +vn 0.029971798882 -0.099999859929 -0.994535923004 +vn 0.029971798882 -0.099999859929 -0.994535923004 +vn -0.264134556055 -0.500071525574 -0.824718952179 +vn -0.374504595995 -0.259615004063 -0.890138387680 +vn -0.007061770186 -0.825218200684 -0.564769864082 +vn 0.433138728142 -0.448282390833 -0.781942307949 +vn 0.835667192936 -0.353619337082 -0.420254290104 +vn 0.835667192936 -0.353619337082 -0.420254290104 +vn 0.538265943527 -0.756090760231 -0.372285634279 +vn -0.007061770186 -0.825218200684 -0.564769864082 +vn 0.757288575172 0.167512565851 -0.631231725216 +vn 0.800140321255 0.517762780190 0.302815377712 +vn 0.893253266811 -0.289331018925 0.344072848558 +vn 0.893253266811 -0.289331018925 0.344072848558 +vn 0.775661766529 -0.398030877113 -0.489816576242 +vn 0.757288575172 0.167512565851 -0.631231725216 +vn -0.172960251570 -0.975686252117 -0.134614691138 +vn 0.775661766529 -0.398030877113 -0.489816576242 +vn 0.893253266811 -0.289331018925 0.344072848558 +vn 0.893253266811 -0.289331018925 0.344072848558 +vn 0.330751955509 -0.411549597979 0.849252641201 +vn -0.172960251570 -0.975686252117 -0.134614691138 +vn 0.008688014932 -0.035473790020 0.999332845211 +vn 0.330751955509 -0.411549597979 0.849252641201 +vn 0.893253266811 -0.289331018925 0.344072848558 +vn 0.893253266811 -0.289331018925 0.344072848558 +vn 0.800140321255 0.517762780190 0.302815377712 +vn 0.008688014932 -0.035473790020 0.999332845211 +vn -0.018079442903 -0.557789921761 -0.829785227776 +vn 0.757288575172 0.167512565851 -0.631231725216 +vn 0.775661766529 -0.398030877113 -0.489816576242 +vn 0.775661766529 -0.398030877113 -0.489816576242 +vn -0.172960251570 -0.975686252117 -0.134614691138 +vn -0.018079442903 -0.557789921761 -0.829785227776 +vn -0.679967224598 -0.681577086449 0.270365059376 +vn -0.172960251570 -0.975686252117 -0.134614691138 +vn 0.330751955509 -0.411549597979 0.849252641201 +vn 0.330751955509 -0.411549597979 0.849252641201 +vn 0.008688014932 -0.035473790020 0.999332845211 +vn -0.679967224598 -0.681577086449 0.270365059376 +vn -0.172960251570 -0.975686252117 -0.134614691138 +vn -0.679967224598 -0.681577086449 0.270365059376 +vn -0.593118011951 -0.667791306973 -0.449739724398 +vn -0.593118011951 -0.667791306973 -0.449739724398 +vn -0.018079442903 -0.557789921761 -0.829785227776 +vn -0.172960251570 -0.975686252117 -0.134614691138 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn 0.869676053524 0.481602787971 0.108269944787 +vn 0.829526424408 0.541623890400 0.136123031378 +vn -0.679967224598 -0.681577086449 0.270365059376 +vn 0.008688014932 -0.035473790020 0.999332845211 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn -0.749990403652 -0.660737752914 -0.030658992007 +vn -0.679967224598 -0.681577086449 0.270365059376 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn -0.209138780832 -0.976161360741 0.058051183820 +vn -0.749990403652 -0.660737752914 -0.030658992007 +vn 0.950541198254 -0.306927442551 0.047613322735 +vn 0.964954078197 -0.247261434793 -0.087894394994 +vn 0.950614035130 -0.258485972881 -0.171807885170 +vn 0.950614035130 -0.258485972881 -0.171807885170 +vn 0.843217432499 -0.417677789927 -0.338422268629 +vn 0.950541198254 -0.306927442551 0.047613322735 +vn 0.578013658524 0.042303718626 0.814929783344 +vn 0.604858994484 -0.045539114624 0.795029461384 +vn 0.945044875145 -0.011528831907 0.326737374067 +vn 0.945044875145 -0.011528831907 0.326737374067 +vn 0.877089083195 0.223065018654 0.425390124321 +vn 0.578013658524 0.042303718626 0.814929783344 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.877089083195 0.223065018654 0.425390124321 +vn 0.945044875145 -0.011528831907 0.326737374067 +vn 0.945044875145 -0.011528831907 0.326737374067 +vn 0.950614035130 -0.258485972881 -0.171807885170 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.938025355339 0.000610377872 0.346566140652 +vn 0.950614035130 -0.258485972881 -0.171807885170 +vn 0.945044875145 -0.011528831907 0.326737374067 +vn 0.945044875145 -0.011528831907 0.326737374067 +vn 0.604858994484 -0.045539114624 0.795029461384 +vn 0.938025355339 0.000610377872 0.346566140652 +vn 0.223833784461 -0.794061601162 -0.565123498440 +vn 0.384889483452 -0.623771905899 -0.680271029472 +vn 0.028203584254 -0.615325748920 -0.787768244743 +vn 0.028203584254 -0.615325748920 -0.787768244743 +vn -0.240883529186 -0.697934210300 -0.674435257912 +vn 0.223833784461 -0.794061601162 -0.565123498440 +vn 0.358009755611 -0.281399130821 0.890305280685 +vn 0.248923435807 -0.588823974133 0.768975555897 +vn -0.267561286688 -0.597799122334 0.755676627159 +vn -0.267561286688 -0.597799122334 0.755676627159 +vn 0.194185197353 -0.183894842863 0.963573992252 +vn 0.358009755611 -0.281399130821 0.890305280685 +vn 0.194185197353 -0.183894842863 0.963573992252 +vn -0.267561286688 -0.597799122334 0.755676627159 +vn -0.090002775192 -0.362050384283 0.927803337574 +vn -0.090002775192 -0.362050384283 0.927803337574 +vn 0.251756250858 -0.084170669317 0.964123487473 +vn 0.194185197353 -0.183894842863 0.963573992252 +vn -0.267561286688 -0.597799122334 0.755676627159 +vn -0.621428489685 -0.689511239529 0.372022658587 +vn -0.090002775192 -0.362050384283 0.927803337574 +vn -0.209421366453 -0.651745200157 0.728951931000 +vn -0.458640992641 -0.736003398895 0.497943222523 +vn 0.060981951654 -0.674715280533 0.735554575920 +vn 0.060981951654 -0.674715280533 0.735554575920 +vn -0.647236943245 -0.611986935139 0.454484701157 +vn -0.209421366453 -0.651745200157 0.728951931000 +vn 0.060981951654 -0.674715280533 0.735554575920 +vn -0.167441368103 -0.416238933802 0.893704950809 +vn -0.647236943245 -0.611986935139 0.454484701157 +vn 0.060981951654 -0.674715280533 0.735554575920 +vn -0.458640992641 -0.736003398895 0.497943222523 +vn 0.134670898318 -0.693116486073 0.708133637905 +vn -0.647236943245 -0.611986935139 0.454484701157 +vn -0.167441368103 -0.416238933802 0.893704950809 +vn -0.806820988655 -0.332564800978 0.488303750753 +vn -0.806820988655 -0.332564800978 0.488303750753 +vn -0.693059682846 -0.333859682083 0.638909995556 +vn -0.647236943245 -0.611986935139 0.454484701157 +vn -0.209421366453 -0.651745200157 0.728951931000 +vn -0.647236943245 -0.611986935139 0.454484701157 +vn -0.693059682846 -0.333859682083 0.638909995556 +vn -0.209421366453 -0.651745200157 0.728951931000 +vn -0.693059682846 -0.333859682083 0.638909995556 +vn -0.519221127033 -0.425794452429 0.741018593311 +vn -0.519221127033 -0.425794452429 0.741018593311 +vn -0.314107537270 -0.661226451397 0.681260585785 +vn -0.209421366453 -0.651745200157 0.728951931000 +vn 0.427608430386 -0.371340870857 0.824170470238 +vn 0.358009755611 -0.281399130821 0.890305280685 +vn 0.227151930332 0.082373514771 0.970369338989 +vn 0.227151930332 0.082373514771 0.970369338989 +vn 0.176717445254 -0.092994883657 0.979858636856 +vn 0.427608430386 -0.371340870857 0.824170470238 +vn 0.227151930332 0.082373514771 0.970369338989 +vn 0.067010790110 0.193234190345 0.978861629963 +vn -0.339029431343 0.284355103970 0.896772682667 +vn -0.339029431343 0.284355103970 0.896772682667 +vn -0.564102113247 0.009641343728 0.825648725033 +vn 0.227151930332 0.082373514771 0.970369338989 +vn 0.227151930332 0.082373514771 0.970369338989 +vn -0.564102113247 0.009641343728 0.825648725033 +vn -0.406228005886 -0.041485197842 0.912829577923 +vn -0.406228005886 -0.041485197842 0.912829577923 +vn 0.176717445254 -0.092994883657 0.979858636856 +vn 0.227151930332 0.082373514771 0.970369338989 +vn -0.631666839123 0.276833325624 -0.724127292633 +vn -0.320949465036 0.043232060969 -0.946109116077 +vn -0.534120261669 -0.186229407787 -0.824641823769 +vn -0.534120261669 -0.186229407787 -0.824641823769 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn -0.631666839123 0.276833325624 -0.724127292633 +vn -0.069656006992 0.129356831312 -0.989148557186 +vn 0.145574510098 0.222784399986 -0.963937342167 +vn -0.320949465036 0.043232060969 -0.946109116077 +vn -0.320949465036 0.043232060969 -0.946109116077 +vn -0.631666839123 0.276833325624 -0.724127292633 +vn -0.069656006992 0.129356831312 -0.989148557186 +vn -0.538782417774 -0.202660694718 -0.817705392838 +vn -0.631666839123 0.276833325624 -0.724127292633 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn -0.334424287081 -0.422505348921 -0.842407047749 +vn -0.538782417774 -0.202660694718 -0.817705392838 +vn 0.209566771984 0.133428663015 -0.968647778034 +vn 0.145574510098 0.222784399986 -0.963937342167 +vn -0.069656006992 0.129356831312 -0.989148557186 +vn -0.069656006992 0.129356831312 -0.989148557186 +vn 0.167408272624 0.019269237295 -0.985699355602 +vn 0.209566771984 0.133428663015 -0.968647778034 +vn -0.837346494198 -0.286848008633 0.465369820595 +vn -0.806820988655 -0.332564800978 0.488303750753 +vn -0.406228005886 -0.041485197842 0.912829577923 +vn -0.406228005886 -0.041485197842 0.912829577923 +vn -0.564102113247 0.009641343728 0.825648725033 +vn -0.837346494198 -0.286848008633 0.465369820595 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn -0.534120261669 -0.186229407787 -0.824641823769 +vn -0.354307264090 -0.814609885216 -0.459213525057 +vn -0.354307264090 -0.814609885216 -0.459213525057 +vn -0.186435729265 -0.727443575859 -0.660354137421 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn 0.846682190895 0.200712263584 -0.492791861296 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.913984477520 0.205607891083 -0.349796772003 +vn 0.913984477520 0.205607891083 -0.349796772003 +vn 0.816680550575 -0.101389199495 -0.568113625050 +vn 0.846682190895 0.200712263584 -0.492791861296 +vn 0.816680550575 -0.101389199495 -0.568113625050 +vn 0.913984477520 0.205607891083 -0.349796772003 +vn 0.882223665714 0.299788743258 -0.363053917885 +vn 0.882223665714 0.299788743258 -0.363053917885 +vn 0.759303212166 0.159380048513 -0.630917251110 +vn 0.816680550575 -0.101389199495 -0.568113625050 +vn 0.679351329803 -0.176735669374 0.712212264538 +vn 0.836737871170 -0.128324687481 0.532355606556 +vn 0.352969527245 -0.536707878113 0.766392350197 +vn 0.352969527245 -0.536707878113 0.766392350197 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.679351329803 -0.176735669374 0.712212264538 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.352969527245 -0.536707878113 0.766392350197 +vn 0.167523771524 -0.257773190737 0.951571762562 +vn 0.196217641234 0.079919569194 0.977298080921 +vn 0.348919451237 0.080806083977 0.933662474155 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.154252499342 -0.124288119376 0.980182945728 +vn 0.196217641234 0.079919569194 0.977298080921 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.154252499342 -0.124288119376 0.980182945728 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.167523771524 -0.257773190737 0.951571762562 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn 0.120366461575 -0.507115423679 -0.853431820869 +vn 0.000114159702 -0.916326463223 -0.400432020426 +vn 0.000114159702 -0.916326463223 -0.400432020426 +vn -0.334424287081 -0.422505348921 -0.842407047749 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn 0.167408272624 0.019269237295 -0.985699355602 +vn 0.267445057631 -0.192847266793 -0.944077908993 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.484712213278 -0.006896703970 -0.874646484852 +vn 0.167408272624 0.019269237295 -0.985699355602 +vn 0.355505973101 -0.143865868449 -0.923535645008 +vn 0.326625823975 -0.538841307163 -0.776508629322 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.267445057631 -0.192847266793 -0.944077908993 +vn 0.355505973101 -0.143865868449 -0.923535645008 +vn 0.226000085473 -0.775390207767 -0.589655816555 +vn 0.516787350178 -0.512377858162 -0.685856938362 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.326625823975 -0.538841307163 -0.776508629322 +vn 0.226000085473 -0.775390207767 -0.589655816555 +vn 0.167408272624 0.019269237295 -0.985699355602 +vn -0.069656006992 0.129356831312 -0.989148557186 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn 0.267445057631 -0.192847266793 -0.944077908993 +vn 0.167408272624 0.019269237295 -0.985699355602 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn -0.069656006992 0.129356831312 -0.989148557186 +vn -0.538782417774 -0.202660694718 -0.817705392838 +vn -0.538782417774 -0.202660694718 -0.817705392838 +vn 0.173997506499 -0.880611777306 -0.440735518932 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn 0.173997506499 -0.880611777306 -0.440735518932 +vn 0.451726198196 -0.783965706825 -0.425841778517 +vn 0.601899981499 -0.650427222252 -0.463315069675 +vn 0.529980838299 -0.488053917885 -0.693486630917 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn 0.451726198196 -0.783965706825 -0.425841778517 +vn 0.601899981499 -0.650427222252 -0.463315069675 +vn -0.590411484241 0.405412644148 0.697893142700 +vn -0.735418856144 0.087225042284 0.671975374222 +vn -0.827181220055 -0.138448268175 0.544613003731 +vn -0.029381169006 -0.030018234625 0.999117434025 +vn 0.154252499342 -0.124288119376 0.980182945728 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.103528626263 -0.504750728607 0.857034742832 +vn -0.029381169006 -0.030018234625 0.999117434025 +vn 0.539327800274 -0.415947258472 0.732197642326 +vn 0.555238842964 -0.456454634666 0.695240259171 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.389436155558 -0.407782554626 0.825864911079 +vn 0.539327800274 -0.415947258472 0.732197642326 +vn 0.343629240990 -0.755872249603 0.557293534279 +vn 0.103528626263 -0.504750728607 0.857034742832 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.555238842964 -0.456454634666 0.695240259171 +vn 0.343629240990 -0.755872249603 0.557293534279 +vn -0.315271288157 -0.518904209137 0.794570624828 +vn -0.572803854942 -0.352588474751 0.739984512329 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.469787657261 0.093729905784 0.877789437771 +vn -0.315271288157 -0.518904209137 0.794570624828 +vn -0.339029431343 0.284355103970 0.896772682667 +vn -0.469787657261 0.093729905784 0.877789437771 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.590411484241 0.405412644148 0.697893142700 +vn -0.339029431343 0.284355103970 0.896772682667 +vn -0.572803854942 -0.352588474751 0.739984512329 +vn -0.276620745659 -0.374111890793 0.885167360306 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.276620745659 -0.374111890793 0.885167360306 +vn -0.303747743368 -0.019316455349 0.952556669712 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.303747743368 -0.019316455349 0.952556669712 +vn -0.735418856144 0.087225042284 0.671975374222 +vn -0.271746575832 -0.111890241504 0.955842256546 +vn -0.147857800126 -0.099749833345 0.983965456486 +vn -0.236986622214 0.101993352175 0.966144263744 +vn -0.236986622214 0.101993352175 0.966144263744 +vn -0.523545145988 0.010065250099 0.851938486099 +vn -0.271746575832 -0.111890241504 0.955842256546 +vn -0.236986622214 0.101993352175 0.966144263744 +vn -0.034547798336 -0.278813153505 0.959723770618 +vn -0.245721325278 -0.497057318687 0.832198917866 +vn -0.245721325278 -0.497057318687 0.832198917866 +vn -0.487767368555 -0.313111811876 0.814888954163 +vn -0.236986622214 0.101993352175 0.966144263744 +vn 0.120366461575 -0.507115423679 -0.853431820869 +vn -0.153536304832 -0.769525945187 -0.619884192944 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn 0.000114159702 -0.916326463223 -0.400432020426 +vn 0.120366461575 -0.507115423679 -0.853431820869 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn 0.057479105890 -0.991644442081 0.115487813950 +vn 0.000114159702 -0.916326463223 -0.400432020426 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn -0.186435729265 -0.727443575859 -0.660354137421 +vn -0.153536304832 -0.769525945187 -0.619884192944 +vn -0.153536304832 -0.769525945187 -0.619884192944 +vn 0.120366461575 -0.507115423679 -0.853431820869 +vn -0.402320235968 0.064717441797 -0.913208663464 +vn -0.260502964258 -0.838142514229 0.479223728180 +vn -0.098821595311 -0.750114619732 0.653882503510 +vn -0.276620745659 -0.374111890793 0.885167360306 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn 0.088904842734 -0.968297600746 0.233443140984 +vn -0.140495687723 -0.969917178154 0.198800444603 +vn -0.140495687723 -0.969917178154 0.198800444603 +vn -0.260502964258 -0.838142514229 0.479223728180 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn 0.010250043124 -0.738894104958 0.673743546009 +vn -0.098821595311 -0.750114619732 0.653882503510 +vn -0.140495687723 -0.969917178154 0.198800444603 +vn -0.140495687723 -0.969917178154 0.198800444603 +vn -0.048545453697 -0.967491388321 0.248201131821 +vn 0.010250043124 -0.738894104958 0.673743546009 +vn -0.140495687723 -0.969917178154 0.198800444603 +vn -0.098821595311 -0.750114619732 0.653882503510 +vn -0.260502964258 -0.838142514229 0.479223728180 +vn 0.339754194021 -0.900075256824 -0.272821515799 +vn 0.422853231430 -0.774249792099 -0.470884710550 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.544952988625 -0.759176731110 -0.355916976929 +vn 0.339754194021 -0.900075256824 -0.272821515799 +vn 0.310442298651 -0.483567774296 -0.818405628204 +vn 0.269662439823 -0.263775676489 -0.926123380661 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.422853231430 -0.774249792099 -0.470884710550 +vn 0.310442298651 -0.483567774296 -0.818405628204 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.544952988625 -0.759176731110 -0.355916976929 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.903819084167 -0.127298012376 -0.408541679382 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn 0.472912132740 -0.407679647207 0.781121909618 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.496666043997 -0.462730199099 0.734304845333 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn 0.496666043997 -0.462730199099 0.734304845333 +vn 0.244941085577 -0.836532413960 0.490119814873 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn 0.239525496960 -0.963812053204 -0.117020592093 +vn 0.057479105890 -0.991644442081 0.115487813950 +vn 0.078055009246 -0.974436163902 -0.210669353604 +vn 0.078055009246 -0.974436163902 -0.210669353604 +vn 0.252535343170 -0.921323895454 -0.295614898205 +vn 0.239525496960 -0.963812053204 -0.117020592093 +vn 0.252535343170 -0.921323895454 -0.295614898205 +vn 0.078055009246 -0.974436163902 -0.210669353604 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn 0.125578880310 -0.818379342556 -0.560789823532 +vn 0.252535343170 -0.921323895454 -0.295614898205 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn 0.078055009246 -0.974436163902 -0.210669353604 +vn 0.078055009246 -0.974436163902 -0.210669353604 +vn 0.057479105890 -0.991644442081 0.115487813950 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn 0.059519782662 -0.753729641438 0.654483735561 +vn -0.034547798336 -0.278813153505 0.959723770618 +vn -0.107788465917 -0.386987119913 0.915763437748 +vn -0.107788465917 -0.386987119913 0.915763437748 +vn 0.010250043124 -0.738894104958 0.673743546009 +vn 0.059519782662 -0.753729641438 0.654483735561 +vn 0.010250043124 -0.738894104958 0.673743546009 +vn -0.107788465917 -0.386987119913 0.915763437748 +vn -0.051150433719 -0.430328905582 0.901221752167 +vn -0.051150433719 -0.430328905582 0.901221752167 +vn -0.098821595311 -0.750114619732 0.653882503510 +vn 0.010250043124 -0.738894104958 0.673743546009 +vn 0.059519782662 -0.753729641438 0.654483735561 +vn -0.015824938193 -0.742880165577 0.669237315655 +vn 0.099003560841 -0.460517406464 0.882112264633 +vn 0.099003560841 -0.460517406464 0.882112264633 +vn -0.034547798336 -0.278813153505 0.959723770618 +vn 0.059519782662 -0.753729641438 0.654483735561 +vn -0.034547798336 -0.278813153505 0.959723770618 +vn 0.099003560841 -0.460517406464 0.882112264633 +vn -0.102928921580 -0.779785394669 0.617527663708 +vn -0.102928921580 -0.779785394669 0.617527663708 +vn -0.245721325278 -0.497057318687 0.832198917866 +vn -0.034547798336 -0.278813153505 0.959723770618 +vn 0.051451597363 -0.920796453953 0.386635005474 +vn 0.059519782662 -0.753729641438 0.654483735561 +vn 0.010250043124 -0.738894104958 0.673743546009 +vn 0.010250043124 -0.738894104958 0.673743546009 +vn -0.048545453697 -0.967491388321 0.248201131821 +vn 0.051451597363 -0.920796453953 0.386635005474 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.239223495126 -0.067995756865 0.968580782413 +vn 0.544135689735 -0.377859950066 0.749091565609 +vn 0.544135689735 -0.377859950066 0.749091565609 +vn 0.496666043997 -0.462730199099 0.734304845333 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.244941085577 -0.836532413960 0.490119814873 +vn 0.496666043997 -0.462730199099 0.734304845333 +vn 0.544135689735 -0.377859950066 0.749091565609 +vn 0.544135689735 -0.377859950066 0.749091565609 +vn 0.308790862560 -0.745268821716 0.590950608253 +vn 0.244941085577 -0.836532413960 0.490119814873 +vn 0.309158563614 -0.309895396233 0.899102807045 +vn 0.308790862560 -0.745268821716 0.590950608253 +vn 0.544135689735 -0.377859950066 0.749091565609 +vn 0.544135689735 -0.377859950066 0.749091565609 +vn 0.239223495126 -0.067995756865 0.968580782413 +vn 0.309158563614 -0.309895396233 0.899102807045 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn -0.457300573587 -0.591948747635 -0.663681268692 +vn -0.037874251604 -0.391661256552 -0.919329643250 +vn -0.037874251604 -0.391661256552 -0.919329643250 +vn 0.125578880310 -0.818379342556 -0.560789823532 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn 0.310442298651 -0.483567774296 -0.818405628204 +vn 0.125578880310 -0.818379342556 -0.560789823532 +vn -0.037874251604 -0.391661256552 -0.919329643250 +vn -0.037874251604 -0.391661256552 -0.919329643250 +vn -0.027110569179 -0.011936810799 -0.999561190605 +vn 0.310442298651 -0.483567774296 -0.818405628204 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.027110569179 -0.011936810799 -0.999561190605 +vn -0.037874251604 -0.391661256552 -0.919329643250 +vn -0.037874251604 -0.391661256552 -0.919329643250 +vn -0.457300573587 -0.591948747635 -0.663681268692 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.075540587306 -0.408239841461 0.909743845463 +vn 0.309158563614 -0.309895396233 0.899102807045 +vn 0.309158563614 -0.309895396233 0.899102807045 +vn 0.239223495126 -0.067995756865 0.968580782413 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.028921009973 -0.899534881115 0.435890555382 +vn 0.308790862560 -0.745268821716 0.590950608253 +vn 0.309158563614 -0.309895396233 0.899102807045 +vn 0.309158563614 -0.309895396233 0.899102807045 +vn -0.075540587306 -0.408239841461 0.909743845463 +vn -0.028921009973 -0.899534881115 0.435890555382 +vn -0.556770026684 -0.623259902000 -0.549139559269 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.457300573587 -0.591948747635 -0.663681268692 +vn -0.457300573587 -0.591948747635 -0.663681268692 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn -0.556770026684 -0.623259902000 -0.549139559269 +vn 0.472912132740 -0.407679647207 0.781121909618 +vn 0.580778717995 -0.219648644328 0.783868968487 +vn 0.135852813721 -0.058212291449 0.989017367363 +vn 0.135852813721 -0.058212291449 0.989017367363 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.472912132740 -0.407679647207 0.781121909618 +vn -0.085905134678 0.072124846280 0.993689239025 +vn -0.004842369352 -0.090278387070 0.995904803276 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.135852813721 -0.058212291449 0.989017367363 +vn -0.085905134678 0.072124846280 0.993689239025 +vn -0.203997373581 0.026348058134 0.978616833687 +vn 0.239223495126 -0.067995756865 0.968580782413 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn 0.206780195236 -0.288152217865 0.934992134571 +vn -0.004842369352 -0.090278387070 0.995904803276 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.583311021328 0.040439106524 0.811241567135 +vn -0.768608272076 -0.485239326954 0.416874170303 +vn -0.583397090435 -0.665412664413 0.465697109699 +vn -0.583397090435 -0.665412664413 0.465697109699 +vn -0.347360849380 -0.510150015354 0.786821067333 +vn -0.583311021328 0.040439106524 0.811241567135 +vn -0.135091811419 -0.937327325344 0.321197301149 +vn -0.347360849380 -0.510150015354 0.786821067333 +vn -0.583397090435 -0.665412664413 0.465697109699 +vn -0.583397090435 -0.665412664413 0.465697109699 +vn -0.435610353947 -0.881730079651 0.181095689535 +vn -0.135091811419 -0.937327325344 0.321197301149 +vn -0.649454832077 -0.730109870434 0.212480604649 +vn -0.435610353947 -0.881730079651 0.181095689535 +vn -0.583397090435 -0.665412664413 0.465697109699 +vn -0.583397090435 -0.665412664413 0.465697109699 +vn -0.768608272076 -0.485239326954 0.416874170303 +vn -0.649454832077 -0.730109870434 0.212480604649 +vn -0.333943217993 -0.910978615284 0.242074161768 +vn -0.435610353947 -0.881730079651 0.181095689535 +vn -0.649454832077 -0.730109870434 0.212480604649 +vn -0.649454832077 -0.730109870434 0.212480604649 +vn -0.439621299505 -0.798366189003 0.411514908075 +vn -0.333943217993 -0.910978615284 0.242074161768 +vn -0.489858627319 -0.656127095222 0.574052095413 +vn -0.439621299505 -0.798366189003 0.411514908075 +vn -0.649454832077 -0.730109870434 0.212480604649 +vn -0.649454832077 -0.730109870434 0.212480604649 +vn -0.768608272076 -0.485239326954 0.416874170303 +vn -0.489858627319 -0.656127095222 0.574052095413 +vn -0.112385883927 -0.013062778860 0.993578791618 +vn -0.407826662064 -0.263833075762 0.874110698700 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.004842369352 -0.090278387070 0.995904803276 +vn -0.112385883927 -0.013062778860 0.993578791618 +vn -0.347360849380 -0.510150015354 0.786821067333 +vn -0.075540587306 -0.408239841461 0.909743845463 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.583311021328 0.040439106524 0.811241567135 +vn -0.347360849380 -0.510150015354 0.786821067333 +vn -0.470662862062 -0.460005283356 0.752908766270 +vn -0.583311021328 0.040439106524 0.811241567135 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.203997373581 0.026348058134 0.978616833687 +vn -0.407826662064 -0.263833075762 0.874110698700 +vn -0.470662862062 -0.460005283356 0.752908766270 +vn 0.019503040239 -0.172679528594 -0.984784960747 +vn -0.027110569179 -0.011936810799 -0.999561190605 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.157724842429 -0.135115936399 -0.978195548058 +vn 0.019503040239 -0.172679528594 -0.984784960747 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.448288679123 0.297675549984 0.842868030071 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.058739125729 0.414347767830 0.908221125603 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.271541535854 0.878055930138 0.394059598446 +vn 0.219829887152 0.614850819111 0.757385849953 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.405096322298 0.863581359386 0.300206899643 +vn 0.271541535854 0.878055930138 0.394059598446 +vn 0.075094878674 0.432029217482 0.898727715015 +vn 0.058739125729 0.414347767830 0.908221125603 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.219829887152 0.614850819111 0.757385849953 +vn 0.075094878674 0.432029217482 0.898727715015 +vn 0.392812073231 0.735419094563 -0.552138984203 +vn 0.452918559313 0.890388429165 -0.045532457530 +vn 0.631104588509 0.755875229836 -0.174240186810 +vn 0.631104588509 0.755875229836 -0.174240186810 +vn 0.467311531305 0.620484113693 -0.629777252674 +vn 0.392812073231 0.735419094563 -0.552138984203 +vn 0.673065066338 0.472372084856 -0.569076478481 +vn 0.467311531305 0.620484113693 -0.629777252674 +vn 0.631104588509 0.755875229836 -0.174240186810 +vn 0.631104588509 0.755875229836 -0.174240186810 +vn 0.714447438717 0.682991147041 -0.151947423816 +vn 0.673065066338 0.472372084856 -0.569076478481 +vn 0.408882349730 0.910067975521 -0.067760296166 +vn 0.714447438717 0.682991147041 -0.151947423816 +vn 0.631104588509 0.755875229836 -0.174240186810 +vn 0.631104588509 0.755875229836 -0.174240186810 +vn 0.452918559313 0.890388429165 -0.045532457530 +vn 0.408882349730 0.910067975521 -0.067760296166 +vn -0.180149838328 -0.906361877918 0.382170349360 +vn -0.261888325214 -0.752726018429 0.604001641273 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.062123641372 -0.885799050331 0.459892094135 +vn -0.180149838328 -0.906361877918 0.382170349360 +vn -0.281399369240 -0.574816942215 0.768374800682 +vn -0.443778961897 -0.582111120224 0.681327283382 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.261888325214 -0.752726018429 0.604001641273 +vn -0.281399369240 -0.574816942215 0.768374800682 +vn -0.739987790585 -0.562143504620 0.369341015816 +vn -0.632312119007 -0.679946780205 0.371286600828 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.443778961897 -0.582111120224 0.681327283382 +vn -0.739987790585 -0.562143504620 0.369341015816 +vn -0.015824938193 -0.742880165577 0.669237315655 +vn -0.062123641372 -0.885799050331 0.459892094135 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.321332365274 -0.686707675457 0.652056813240 +vn -0.015824938193 -0.742880165577 0.669237315655 +vn -0.772156238556 -0.451216131449 0.447413414717 +vn -0.321332365274 -0.686707675457 0.652056813240 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.297869771719 -0.792901396751 0.531583428383 +vn -0.632312119007 -0.679946780205 0.371286600828 +vn -0.772156238556 -0.451216131449 0.447413414717 +vn -0.470662862062 -0.460005283356 0.752908766270 +vn -0.407826662064 -0.263833075762 0.874110698700 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.281399369240 -0.574816942215 0.768374800682 +vn -0.470662862062 -0.460005283356 0.752908766270 +vn -0.112385883927 -0.013062778860 0.993578791618 +vn -0.193375051022 0.128279089928 0.972702741623 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.407826662064 -0.263833075762 0.874110698700 +vn -0.112385883927 -0.013062778860 0.993578791618 +vn -0.443778961897 -0.582111120224 0.681327283382 +vn -0.281399369240 -0.574816942215 0.768374800682 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.576891720295 -0.135861605406 0.805442452431 +vn -0.443778961897 -0.582111120224 0.681327283382 +vn -0.245750382543 0.123391754925 -0.961447477341 +vn -0.240199193358 -0.029700530693 -0.970269143581 +vn -0.499737411737 -0.027546295896 -0.865738809109 +vn -0.499737411737 -0.027546295896 -0.865738809109 +vn -0.490629106760 0.237269863486 -0.838442683220 +vn -0.245750382543 0.123391754925 -0.961447477341 +vn -0.490629106760 0.237269863486 -0.838442683220 +vn -0.499737411737 -0.027546295896 -0.865738809109 +vn -0.667836844921 -0.152970269322 -0.728418886662 +vn -0.667836844921 -0.152970269322 -0.728418886662 +vn -0.721844017506 0.195682883263 -0.663814306259 +vn -0.490629106760 0.237269863486 -0.838442683220 +vn -0.423912823200 -0.341173976660 -0.838986456394 +vn -0.667836844921 -0.152970269322 -0.728418886662 +vn -0.499737411737 -0.027546295896 -0.865738809109 +vn -0.499737411737 -0.027546295896 -0.865738809109 +vn -0.240199193358 -0.029700530693 -0.970269143581 +vn -0.423912823200 -0.341173976660 -0.838986456394 +vn -0.887668788433 0.052449654788 0.457485646009 +vn -0.697707474232 0.421750694513 0.579077363014 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.755936682224 -0.078634925187 0.649904847145 +vn -0.887668788433 0.052449654788 0.457485646009 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn -0.755936682224 -0.078634925187 0.649904847145 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.263161271811 0.103435955942 0.959190905094 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn -0.724714219570 0.435234844685 0.534190952778 +vn -0.678752899170 0.244429960847 0.692494392395 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.697707474232 0.421750694513 0.579077363014 +vn -0.724714219570 0.435234844685 0.534190952778 +vn -0.768063783646 0.480185359716 0.423674464226 +vn -0.880949735641 0.343913435936 0.325040131807 +vn -0.826180279255 0.350576817989 0.441046565771 +vn -0.826180279255 0.350576817989 0.441046565771 +vn -0.724714219570 0.435234844685 0.534190952778 +vn -0.768063783646 0.480185359716 0.423674464226 +vn -0.678752899170 0.244429960847 0.692494392395 +vn -0.724714219570 0.435234844685 0.534190952778 +vn -0.826180279255 0.350576817989 0.441046565771 +vn -0.826180279255 0.350576817989 0.441046565771 +vn -0.869244992733 0.157309949398 0.468686133623 +vn -0.678752899170 0.244429960847 0.692494392395 +vn -0.949271559715 0.198618978262 0.243790954351 +vn -0.869244992733 0.157309949398 0.468686133623 +vn -0.826180279255 0.350576817989 0.441046565771 +vn -0.826180279255 0.350576817989 0.441046565771 +vn -0.880949735641 0.343913435936 0.325040131807 +vn -0.949271559715 0.198618978262 0.243790954351 +vn -0.016478214413 0.889357864857 -0.456914693117 +vn 0.277653843164 0.886079668999 -0.371175289154 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.033008869737 0.924311041832 -0.380209892988 +vn -0.016478214413 0.889357864857 -0.456914693117 +vn 0.318014234304 0.945945560932 -0.063670635223 +vn 0.366194635630 0.921540796757 -0.129089444876 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.580039501190 0.810850262642 -0.077948980033 +vn 0.318014234304 0.945945560932 -0.063670635223 +vn 0.679521858692 0.707831799984 -0.192935630679 +vn 0.580039501190 0.810850262642 -0.077948980033 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.277653843164 0.886079668999 -0.371175289154 +vn 0.679521858692 0.707831799984 -0.192935630679 +vn 0.411596596241 0.156486570835 0.897830843925 +vn -0.087292499840 0.331456899643 0.939423382282 +vn -0.232292786241 0.148990094662 0.961167037487 +vn -0.232292786241 0.148990094662 0.961167037487 +vn 0.158309683204 -0.178065404296 0.971200704575 +vn 0.411596596241 0.156486570835 0.897830843925 +vn -0.019606690854 -0.578665554523 0.815329253674 +vn 0.158309683204 -0.178065404296 0.971200704575 +vn -0.232292786241 0.148990094662 0.961167037487 +vn -0.232292786241 0.148990094662 0.961167037487 +vn -0.211216762662 -0.001241557067 0.977438449860 +vn -0.019606690854 -0.578665554523 0.815329253674 +vn -0.457814812660 0.521315336227 0.720163822174 +vn -0.211216762662 -0.001241557067 0.977438449860 +vn -0.232292786241 0.148990094662 0.961167037487 +vn -0.232292786241 0.148990094662 0.961167037487 +vn -0.647573769093 0.433242529631 0.626856565475 +vn -0.457814812660 0.521315336227 0.720163822174 +vn -0.995549976826 0.022097477689 -0.091607637703 +vn -0.971087098122 0.209993973374 -0.113544560969 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.899324655533 0.257733941078 -0.353253960609 +vn -0.995549976826 0.022097477689 -0.091607637703 +vn -0.721844017506 0.195682883263 -0.663814306259 +vn -0.899324655533 0.257733941078 -0.353253960609 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.637821733952 0.488461166620 -0.595473885536 +vn -0.721844017506 0.195682883263 -0.663814306259 +vn -0.904745161533 0.424362540245 0.036777820438 +vn -0.809710144997 0.519156396389 -0.273580133915 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.971087098122 0.209993973374 -0.113544560969 +vn -0.904745161533 0.424362540245 0.036777820438 +vn -0.670200228691 0.606968700886 -0.427107304335 +vn -0.663576424122 0.494282841682 -0.561561048031 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.809710144997 0.519156396389 -0.273580133915 +vn -0.670200228691 0.606968700886 -0.427107304335 +vn -0.347453445196 0.917836844921 -0.191967740655 +vn -0.239098101854 0.963960468769 -0.116671897471 +vn -0.446603745222 0.894501268864 0.020310429856 +vn -0.659432172775 0.712318539619 0.240315511823 +vn -0.839950859547 0.531240165234 0.110753878951 +vn -0.347453445196 0.917836844921 -0.191967740655 +vn -0.347453445196 0.917836844921 -0.191967740655 +vn -0.446603745222 0.894501268864 0.020310429856 +vn -0.659432172775 0.712318539619 0.240315511823 +vn 0.370204120874 0.758121490479 0.536843240261 +vn 0.112411670387 0.934677660465 0.337255597115 +vn -0.387950241566 0.306505471468 0.869223237038 +vn -0.387950241566 0.306505471468 0.869223237038 +vn 0.132363051176 0.588919281960 0.797279179096 +vn 0.370204120874 0.758121490479 0.536843240261 +vn -0.086963027716 0.905135571957 -0.416133403778 +vn 0.286273032427 0.950327754021 -0.122167788446 +vn 0.193438187242 0.920349657536 -0.339909076691 +vn 0.193438187242 0.920349657536 -0.339909076691 +vn -0.059995397925 0.889339148998 -0.453295111656 +vn -0.086963027716 0.905135571957 -0.416133403778 +vn 0.277653843164 0.886079668999 -0.371175289154 +vn -0.016478214413 0.889357864857 -0.456914693117 +vn -0.059995397925 0.889339148998 -0.453295111656 +vn -0.059995397925 0.889339148998 -0.453295111656 +vn 0.193438187242 0.920349657536 -0.339909076691 +vn 0.277653843164 0.886079668999 -0.371175289154 +vn -0.984319269657 -0.152193680406 0.089177437127 +vn -0.370860576630 0.350416839123 0.860040962696 +vn -0.271056413651 0.279122084379 0.921205341816 +vn -0.271056413651 0.279122084379 0.921205341816 +vn -0.893771290779 0.433860689402 0.113744199276 +vn -0.984319269657 -0.152193680406 0.089177437127 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.893771290779 0.433860689402 0.113744199276 +vn -0.271056413651 0.279122084379 0.921205341816 +vn -0.271056413651 0.279122084379 0.921205341816 +vn -0.283286154270 0.279502421618 0.917402505875 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.410868376493 -0.855570673943 -0.314938157797 +vn -0.101952873170 -0.909801363945 -0.402327060699 +vn -0.052568800747 -0.785489320755 -0.616638481617 +vn -0.052568800747 -0.785489320755 -0.616638481617 +vn -0.211010664701 -0.782586097717 -0.585690617561 +vn -0.410868376493 -0.855570673943 -0.314938157797 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.498195052147 -0.115418910980 -0.859348714352 +vn -0.052568800747 -0.785489320755 -0.616638481617 +vn -0.052568800747 -0.785489320755 -0.616638481617 +vn -0.101952873170 -0.909801363945 -0.402327060699 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.206205829978 -0.702378511429 -0.681280851364 +vn -0.211010664701 -0.782586097717 -0.585690617561 +vn -0.052568800747 -0.785489320755 -0.616638481617 +vn -0.052568800747 -0.785489320755 -0.616638481617 +vn -0.498195052147 -0.115418910980 -0.859348714352 +vn -0.206205829978 -0.702378511429 -0.681280851364 +vn -0.698746025562 -0.547520458698 -0.460407793522 +vn -0.900458395481 0.141342937946 -0.411335438490 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.477920562029 0.410443186760 0.776613354683 +vn -0.587647318840 0.285558760166 0.757051348686 +vn -0.390028774738 0.674186646938 0.627176105976 +vn -0.390028774738 0.674186646938 0.627176105976 +vn -0.340392619371 0.609669387341 0.715846419334 +vn -0.477920562029 0.410443186760 0.776613354683 +vn -0.340392619371 0.609669387341 0.715846419334 +vn -0.388772368431 0.459267735481 0.798704683781 +vn -0.477920562029 0.410443186760 0.776613354683 +vn -0.070092804730 0.916692733765 -0.393397301435 +vn -0.736113429070 0.674601316452 -0.055227596313 +vn -0.139534607530 0.974310278893 0.176775634289 +vn -0.139534607530 0.974310278893 0.176775634289 +vn 0.021702494472 0.953724086285 -0.299898922443 +vn -0.070092804730 0.916692733765 -0.393397301435 +vn 0.337324202061 0.937716066837 -0.083071991801 +vn 0.021702494472 0.953724086285 -0.299898922443 +vn -0.139534607530 0.974310278893 0.176775634289 +vn -0.139534607530 0.974310278893 0.176775634289 +vn -0.015306836925 0.932955980301 0.359664946795 +vn 0.337324202061 0.937716066837 -0.083071991801 +vn -0.253249228001 0.791888356209 0.555677652359 +vn -0.015306836925 0.932955980301 0.359664946795 +vn -0.139534607530 0.974310278893 0.176775634289 +vn -0.139534607530 0.974310278893 0.176775634289 +vn -0.318106293678 0.808898806572 0.494460374117 +vn -0.253249228001 0.791888356209 0.555677652359 +vn -0.582481026649 0.595602929592 -0.553148269653 +vn -0.070092804730 0.916692733765 -0.393397301435 +vn -0.052991427481 0.783603668213 -0.618996977806 +vn -0.519221127033 -0.425794452429 0.741018593311 +vn -0.845744073391 -0.529137194157 0.068780913949 +vn -0.841082036495 -0.539783477783 0.034854743630 +vn -0.841082036495 -0.539783477783 0.034854743630 +vn -0.314107537270 -0.661226451397 0.681260585785 +vn -0.519221127033 -0.425794452429 0.741018593311 +vn -0.165003806353 -0.884678483009 0.436024934053 +vn -0.314107537270 -0.661226451397 0.681260585785 +vn -0.841082036495 -0.539783477783 0.034854743630 +vn -0.841082036495 -0.539783477783 0.034854743630 +vn -0.831635236740 -0.554599404335 -0.028325177729 +vn -0.165003806353 -0.884678483009 0.436024934053 +vn -0.407492965460 -0.781558632851 -0.472351163626 +vn -0.475282013416 -0.870118498802 0.130387231708 +vn -0.482255339622 -0.870516359806 0.098138004541 +vn -0.482255339622 -0.870516359806 0.098138004541 +vn -0.702270984650 -0.386405408382 -0.597918331623 +vn -0.407492965460 -0.781558632851 -0.472351163626 +vn -0.932627201080 -0.223822146654 -0.283037424088 +vn -0.702270984650 -0.386405408382 -0.597918331623 +vn -0.482255339622 -0.870516359806 0.098138004541 +vn -0.482255339622 -0.870516359806 0.098138004541 +vn -0.468870520592 -0.880146622658 0.074178211391 +vn -0.932627201080 -0.223822146654 -0.283037424088 +vn -0.407492965460 -0.781558632851 -0.472351163626 +vn -0.394036650658 -0.827092707157 -0.400815129280 +vn -0.375852286816 -0.924159824848 0.068291187286 +vn -0.375852286816 -0.924159824848 0.068291187286 +vn -0.475282013416 -0.870118498802 0.130387231708 +vn -0.407492965460 -0.781558632851 -0.472351163626 +vn -0.394036650658 -0.827092707157 -0.400815129280 +vn -0.407492965460 -0.781558632851 -0.472351163626 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.413747638464 -0.638228178024 -0.649213135242 +vn -0.394036650658 -0.827092707157 -0.400815129280 +vn -0.394036650658 -0.827092707157 -0.400815129280 +vn -0.413747638464 -0.638228178024 -0.649213135242 +vn -0.153536304832 -0.769525945187 -0.619884192944 +vn -0.153536304832 -0.769525945187 -0.619884192944 +vn -0.186435729265 -0.727443575859 -0.660354137421 +vn -0.394036650658 -0.827092707157 -0.400815129280 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn -0.153536304832 -0.769525945187 -0.619884192944 +vn -0.413747638464 -0.638228178024 -0.649213135242 +vn -0.413747638464 -0.638228178024 -0.649213135242 +vn -0.483235120773 -0.712880373001 -0.508217871189 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn -0.483235120773 -0.712880373001 -0.508217871189 +vn -0.413747638464 -0.638228178024 -0.649213135242 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.478329122066 -0.718357503414 -0.505137383938 +vn -0.483235120773 -0.712880373001 -0.508217871189 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.556770026684 -0.623259902000 -0.549139559269 +vn -0.483235120773 -0.712880373001 -0.508217871189 +vn -0.483235120773 -0.712880373001 -0.508217871189 +vn -0.478329122066 -0.718357503414 -0.505137383938 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn -0.178848639131 -0.936645090580 -0.301179677248 +vn -0.483235120773 -0.712880373001 -0.508217871189 +vn -0.483235120773 -0.712880373001 -0.508217871189 +vn -0.556770026684 -0.623259902000 -0.549139559269 +vn -0.321229845285 -0.869021952152 -0.376313954592 +vn -0.613461971283 -0.711588799953 -0.342499285936 +vn -0.658861577511 -0.512930274010 -0.550276279449 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.478329122066 -0.718357503414 -0.505137383938 +vn -0.613461971283 -0.711588799953 -0.342499285936 +vn -0.667836844921 -0.152970269322 -0.728418886662 +vn -0.423912823200 -0.341173976660 -0.838986456394 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.658861577511 -0.512930274010 -0.550276279449 +vn -0.667836844921 -0.152970269322 -0.728418886662 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.556770026684 -0.623259902000 -0.549139559269 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.474162250757 -0.571830630302 -0.669462382793 +vn -0.423912823200 -0.341173976660 -0.838986456394 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.807064890862 -0.552481949329 -0.208350643516 +vn -0.807450592518 -0.554794609547 -0.200565382838 +vn -0.658861577511 -0.512930274010 -0.550276279449 +vn -0.658861577511 -0.512930274010 -0.550276279449 +vn -0.613461971283 -0.711588799953 -0.342499285936 +vn -0.807064890862 -0.552481949329 -0.208350643516 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.667836844921 -0.152970269322 -0.728418886662 +vn -0.658861577511 -0.512930274010 -0.550276279449 +vn -0.658861577511 -0.512930274010 -0.550276279449 +vn -0.807450592518 -0.554794609547 -0.200565382838 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.813132524490 -0.578888535500 -0.060856662691 +vn -0.932423293591 -0.356068879366 -0.061658397317 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.807450592518 -0.554794609547 -0.200565382838 +vn -0.813132524490 -0.578888535500 -0.060856662691 +vn -0.995549976826 0.022097477689 -0.091607637703 +vn -0.899324655533 0.257733941078 -0.353253960609 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.932423293591 -0.356068879366 -0.061658397317 +vn -0.995549976826 0.022097477689 -0.091607637703 +vn -0.721844017506 0.195682883263 -0.663814306259 +vn -0.667836844921 -0.152970269322 -0.728418886662 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.925836741924 -0.160533234477 -0.342133611441 +vn -0.899324655533 0.257733941078 -0.353253960609 +vn -0.721844017506 0.195682883263 -0.663814306259 +vn -0.862132310867 -0.493066251278 0.116677321494 +vn -0.888698339462 -0.439484417439 0.130647391081 +vn -0.932423293591 -0.356068879366 -0.061658397317 +vn -0.932423293591 -0.356068879366 -0.061658397317 +vn -0.813132524490 -0.578888535500 -0.060856662691 +vn -0.862132310867 -0.493066251278 0.116677321494 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.995549976826 0.022097477689 -0.091607637703 +vn -0.932423293591 -0.356068879366 -0.061658397317 +vn -0.932423293591 -0.356068879366 -0.061658397317 +vn -0.888698339462 -0.439484417439 0.130647391081 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.739987790585 -0.562143504620 0.369341015816 +vn -0.855051636696 -0.223598405719 0.467857301235 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.888698339462 -0.439484417439 0.130647391081 +vn -0.739987790585 -0.562143504620 0.369341015816 +vn -0.869244992733 0.157309949398 0.468686133623 +vn -0.949271559715 0.198618978262 0.243790954351 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.855051636696 -0.223598405719 0.467857301235 +vn -0.869244992733 0.157309949398 0.468686133623 +vn -0.971087098122 0.209993973374 -0.113544560969 +vn -0.995549976826 0.022097477689 -0.091607637703 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.976822197437 -0.125868663192 0.173134148121 +vn -0.949271559715 0.198618978262 0.243790954351 +vn -0.971087098122 0.209993973374 -0.113544560969 +vn -0.443778961897 -0.582111120224 0.681327283382 +vn -0.576891720295 -0.135861605406 0.805442452431 +vn -0.855051636696 -0.223598405719 0.467857301235 +vn -0.855051636696 -0.223598405719 0.467857301235 +vn -0.739987790585 -0.562143504620 0.369341015816 +vn -0.443778961897 -0.582111120224 0.681327283382 +vn -0.678752899170 0.244429960847 0.692494392395 +vn -0.869244992733 0.157309949398 0.468686133623 +vn -0.855051636696 -0.223598405719 0.467857301235 +vn -0.855051636696 -0.223598405719 0.467857301235 +vn -0.576891720295 -0.135861605406 0.805442452431 +vn -0.678752899170 0.244429960847 0.692494392395 +vn -0.632312119007 -0.679946780205 0.371286600828 +vn -0.739987790585 -0.562143504620 0.369341015816 +vn -0.888698339462 -0.439484417439 0.130647391081 +vn -0.888698339462 -0.439484417439 0.130647391081 +vn -0.862132310867 -0.493066251278 0.116677321494 +vn -0.632312119007 -0.679946780205 0.371286600828 +vn -0.868382692337 -0.492589503527 -0.057158134878 +vn -0.918786525726 -0.386189073324 0.081788085401 +vn -0.862132310867 -0.493066251278 0.116677321494 +vn -0.862132310867 -0.493066251278 0.116677321494 +vn -0.813132524490 -0.578888535500 -0.060856662691 +vn -0.868382692337 -0.492589503527 -0.057158134878 +vn -0.772156238556 -0.451216131449 0.447413414717 +vn -0.632312119007 -0.679946780205 0.371286600828 +vn -0.862132310867 -0.493066251278 0.116677321494 +vn -0.862132310867 -0.493066251278 0.116677321494 +vn -0.918786525726 -0.386189073324 0.081788085401 +vn -0.772156238556 -0.451216131449 0.447413414717 +vn -0.918786525726 -0.386189073324 0.081788085401 +vn -0.868382692337 -0.492589503527 -0.057158134878 +vn -0.985877811909 0.130831107497 -0.104537896812 +vn -0.985877811909 0.130831107497 -0.104537896812 +vn -0.974349737167 0.170101836324 0.147336244583 +vn -0.918786525726 -0.386189073324 0.081788085401 +vn -0.918786525726 -0.386189073324 0.081788085401 +vn -0.974349737167 0.170101836324 0.147336244583 +vn -0.706194460392 -0.044653762132 0.706608414650 +vn -0.706194460392 -0.044653762132 0.706608414650 +vn -0.772156238556 -0.451216131449 0.447413414717 +vn -0.918786525726 -0.386189073324 0.081788085401 +vn -0.706194460392 -0.044653762132 0.706608414650 +vn -0.107284501195 -0.382235765457 0.917815804482 +vn -0.321332365274 -0.686707675457 0.652056813240 +vn -0.321332365274 -0.686707675457 0.652056813240 +vn -0.772156238556 -0.451216131449 0.447413414717 +vn -0.706194460392 -0.044653762132 0.706608414650 +vn -0.107284501195 -0.382235765457 0.917815804482 +vn 0.099003560841 -0.460517406464 0.882112264633 +vn -0.015824938193 -0.742880165577 0.669237315655 +vn -0.015824938193 -0.742880165577 0.669237315655 +vn -0.321332365274 -0.686707675457 0.652056813240 +vn -0.107284501195 -0.382235765457 0.917815804482 +vn -0.107284501195 -0.382235765457 0.917815804482 +vn -0.706194460392 -0.044653762132 0.706608414650 +vn -0.726206362247 -0.341912865639 0.596422553062 +vn -0.726206362247 -0.341912865639 0.596422553062 +vn -0.268584340811 -0.695054829121 0.666904211044 +vn -0.107284501195 -0.382235765457 0.917815804482 +vn -0.107284501195 -0.382235765457 0.917815804482 +vn -0.268584340811 -0.695054829121 0.666904211044 +vn -0.102928921580 -0.779785394669 0.617527663708 +vn -0.102928921580 -0.779785394669 0.617527663708 +vn 0.099003560841 -0.460517406464 0.882112264633 +vn -0.107284501195 -0.382235765457 0.917815804482 +vn -0.284909248352 -0.955779790878 0.072881773114 +vn -0.428062021732 -0.867399811745 0.253733038902 +vn -0.245721325278 -0.497057318687 0.832198917866 +vn -0.245721325278 -0.497057318687 0.832198917866 +vn -0.102928921580 -0.779785394669 0.617527663708 +vn -0.284909248352 -0.955779790878 0.072881773114 +vn -0.644596397877 -0.704937696457 0.295902520418 +vn -0.487767368555 -0.313111811876 0.814888954163 +vn -0.245721325278 -0.497057318687 0.832198917866 +vn -0.245721325278 -0.497057318687 0.832198917866 +vn -0.428062021732 -0.867399811745 0.253733038902 +vn -0.644596397877 -0.704937696457 0.295902520418 +vn -0.574658870697 -0.143289893866 0.805751323700 +vn -0.487767368555 -0.313111811876 0.814888954163 +vn -0.644596397877 -0.704937696457 0.295902520418 +vn -0.644596397877 -0.704937696457 0.295902520418 +vn -0.805738449097 -0.547442436218 0.226036131382 +vn -0.574658870697 -0.143289893866 0.805751323700 +vn -0.631180763245 -0.548184394836 -0.548730134964 +vn -0.415000826120 -0.651071131229 -0.635516107082 +vn -0.813467323780 -0.562431871891 -0.148126035929 +vn -0.813467323780 -0.562431871891 -0.148126035929 +vn -0.649726748466 -0.700721383095 -0.294694274664 +vn -0.631180763245 -0.548184394836 -0.548730134964 +vn -0.216722741723 -0.871117889881 -0.440664112568 +vn -0.801894485950 -0.583262145519 -0.129501029849 +vn -0.813467323780 -0.562431871891 -0.148126035929 +vn -0.813467323780 -0.562431871891 -0.148126035929 +vn -0.415000826120 -0.651071131229 -0.635516107082 +vn -0.216722741723 -0.871117889881 -0.440664112568 +vn -0.826602876186 -0.557232499123 -0.078864529729 +vn -0.801894485950 -0.583262145519 -0.129501029849 +vn -0.216722741723 -0.871117889881 -0.440664112568 +vn -0.216722741723 -0.871117889881 -0.440664112568 +vn -0.201462924480 -0.979488193989 -0.003945601173 +vn -0.826602876186 -0.557232499123 -0.078864529729 +vn -0.216722741723 -0.871117889881 -0.440664112568 +vn -0.415000826120 -0.651071131229 -0.635516107082 +vn 0.065739303827 -0.746938109398 -0.661635696888 +vn 0.065739303827 -0.746938109398 -0.661635696888 +vn 0.075115866959 -0.905055582523 -0.418607264757 +vn -0.216722741723 -0.871117889881 -0.440664112568 +vn -0.415000826120 -0.651071131229 -0.635516107082 +vn -0.631180763245 -0.548184394836 -0.548730134964 +vn -0.307740598917 -0.471744924784 -0.826288342476 +vn -0.307740598917 -0.471744924784 -0.826288342476 +vn 0.065739303827 -0.746938109398 -0.661635696888 +vn -0.415000826120 -0.651071131229 -0.635516107082 +vn -0.631180763245 -0.548184394836 -0.548730134964 +vn -0.354307264090 -0.814609885216 -0.459213525057 +vn -0.534120261669 -0.186229407787 -0.824641823769 +vn 0.075115866959 -0.905055582523 -0.418607264757 +vn -0.087140031159 -0.994907796383 -0.050647247583 +vn -0.201462924480 -0.979488193989 -0.003945601173 +vn -0.201462924480 -0.979488193989 -0.003945601173 +vn -0.216722741723 -0.871117889881 -0.440664112568 +vn 0.075115866959 -0.905055582523 -0.418607264757 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn 0.075115866959 -0.905055582523 -0.418607264757 +vn 0.147203862667 -0.777868270874 -0.610943555832 +vn 0.147203862667 -0.777868270874 -0.610943555832 +vn 0.367894500494 -0.700198650360 -0.611862301826 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn 0.476563870907 -0.524323523045 -0.705671131611 +vn 0.367894500494 -0.700198650360 -0.611862301826 +vn 0.147203862667 -0.777868270874 -0.610943555832 +vn 0.147203862667 -0.777868270874 -0.610943555832 +vn 0.094840519130 -0.561432182789 -0.822070062160 +vn 0.476563870907 -0.524323523045 -0.705671131611 +vn 0.036074623466 -0.999024033546 0.025488309562 +vn -0.465112328529 -0.877144038677 -0.119536064565 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn 0.223833784461 -0.794061601162 -0.565123498440 +vn 0.036074623466 -0.999024033546 0.025488309562 +vn -0.087140031159 -0.994907796383 -0.050647247583 +vn 0.075115866959 -0.905055582523 -0.418607264757 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn -0.465112328529 -0.877144038677 -0.119536064565 +vn -0.087140031159 -0.994907796383 -0.050647247583 +vn 0.384889483452 -0.623771905899 -0.680271029472 +vn 0.223833784461 -0.794061601162 -0.565123498440 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn 0.013535787351 -0.880698323250 -0.473484188318 +vn 0.367894500494 -0.700198650360 -0.611862301826 +vn 0.384889483452 -0.623771905899 -0.680271029472 +vn 0.173197016120 -0.846449792385 0.503513157368 +vn -0.286890745163 -0.891448795795 0.350731760263 +vn -0.465112328529 -0.877144038677 -0.119536064565 +vn -0.465112328529 -0.877144038677 -0.119536064565 +vn 0.036074623466 -0.999024033546 0.025488309562 +vn 0.173197016120 -0.846449792385 0.503513157368 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn -0.087140031159 -0.994907796383 -0.050647247583 +vn -0.465112328529 -0.877144038677 -0.119536064565 +vn -0.465112328529 -0.877144038677 -0.119536064565 +vn -0.286890745163 -0.891448795795 0.350731760263 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn -0.458640992641 -0.736003398895 0.497943222523 +vn -0.209421366453 -0.651745200157 0.728951931000 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn -0.286890745163 -0.891448795795 0.350731760263 +vn -0.458640992641 -0.736003398895 0.497943222523 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn -0.209421366453 -0.651745200157 0.728951931000 +vn -0.314107537270 -0.661226451397 0.681260585785 +vn -0.314107537270 -0.661226451397 0.681260585785 +vn -0.165003806353 -0.884678483009 0.436024934053 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn -0.165003806353 -0.884678483009 0.436024934053 +vn -0.201462924480 -0.979488193989 -0.003945601173 +vn -0.201462924480 -0.979488193989 -0.003945601173 +vn -0.087140031159 -0.994907796383 -0.050647247583 +vn 0.010299650952 -0.900448083878 0.434841483831 +vn -0.747882008553 -0.238024860620 0.619690835476 +vn -0.640411615372 -0.260996520519 0.722325265408 +vn -0.519221127033 -0.425794452429 0.741018593311 +vn -0.519221127033 -0.425794452429 0.741018593311 +vn -0.693059682846 -0.333859682083 0.638909995556 +vn -0.747882008553 -0.238024860620 0.619690835476 +vn -0.640411615372 -0.260996520519 0.722325265408 +vn -0.747882008553 -0.238024860620 0.619690835476 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.574658870697 -0.143289893866 0.805751323700 +vn -0.640411615372 -0.260996520519 0.722325265408 +vn -0.805738449097 -0.547442436218 0.226036131382 +vn -0.829879522324 -0.541816174984 0.133173540235 +vn -0.640411615372 -0.260996520519 0.722325265408 +vn -0.640411615372 -0.260996520519 0.722325265408 +vn -0.574658870697 -0.143289893866 0.805751323700 +vn -0.805738449097 -0.547442436218 0.226036131382 +vn -0.845744073391 -0.529137194157 0.068780913949 +vn -0.519221127033 -0.425794452429 0.741018593311 +vn -0.640411615372 -0.260996520519 0.722325265408 +vn -0.640411615372 -0.260996520519 0.722325265408 +vn -0.829879522324 -0.541816174984 0.133173540235 +vn -0.845744073391 -0.529137194157 0.068780913949 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.236986622214 0.101993352175 0.966144263744 +vn -0.487767368555 -0.313111811876 0.814888954163 +vn -0.487767368555 -0.313111811876 0.814888954163 +vn -0.574658870697 -0.143289893866 0.805751323700 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.837346494198 -0.286848008633 0.465369820595 +vn -0.853377461433 -0.132773742080 0.504101276398 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.747882008553 -0.238024860620 0.619690835476 +vn -0.837346494198 -0.286848008633 0.465369820595 +vn -0.523545145988 0.010065250099 0.851938486099 +vn -0.236986622214 0.101993352175 0.966144263744 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.559565782547 0.120767101645 0.819939911366 +vn -0.853377461433 -0.132773742080 0.504101276398 +vn -0.523545145988 0.010065250099 0.851938486099 +vn -0.564102113247 0.009641343728 0.825648725033 +vn -0.827181220055 -0.138448268175 0.544613003731 +vn -0.853377461433 -0.132773742080 0.504101276398 +vn -0.853377461433 -0.132773742080 0.504101276398 +vn -0.837346494198 -0.286848008633 0.465369820595 +vn -0.564102113247 0.009641343728 0.825648725033 +vn -0.735418856144 0.087225042284 0.671975374222 +vn -0.523545145988 0.010065250099 0.851938486099 +vn -0.853377461433 -0.132773742080 0.504101276398 +vn -0.853377461433 -0.132773742080 0.504101276398 +vn -0.827181220055 -0.138448268175 0.544613003731 +vn -0.735418856144 0.087225042284 0.671975374222 +vn -0.806820988655 -0.332564800978 0.488303750753 +vn -0.837346494198 -0.286848008633 0.465369820595 +vn -0.747882008553 -0.238024860620 0.619690835476 +vn -0.747882008553 -0.238024860620 0.619690835476 +vn -0.693059682846 -0.333859682083 0.638909995556 +vn -0.806820988655 -0.332564800978 0.488303750753 +vn 0.134670898318 -0.693116486073 0.708133637905 +vn -0.458640992641 -0.736003398895 0.497943222523 +vn -0.286890745163 -0.891448795795 0.350731760263 +vn -0.286890745163 -0.891448795795 0.350731760263 +vn 0.173197016120 -0.846449792385 0.503513157368 +vn 0.134670898318 -0.693116486073 0.708133637905 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn 0.134670898318 -0.693116486073 0.708133637905 +vn 0.173197016120 -0.846449792385 0.503513157368 +vn 0.173197016120 -0.846449792385 0.503513157368 +vn 0.296743154526 -0.755670011044 0.583871841431 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn -0.098200760782 -0.989465296268 -0.106372416019 +vn 0.296743154526 -0.755670011044 0.583871841431 +vn 0.173197016120 -0.846449792385 0.503513157368 +vn 0.173197016120 -0.846449792385 0.503513157368 +vn 0.036074623466 -0.999024033546 0.025488309562 +vn -0.098200760782 -0.989465296268 -0.106372416019 +vn -0.098200760782 -0.989465296268 -0.106372416019 +vn -0.242862716317 -0.841675460339 0.482286363840 +vn 0.296743154526 -0.755670011044 0.583871841431 +vn -0.098200760782 -0.989465296268 -0.106372416019 +vn 0.036074623466 -0.999024033546 0.025488309562 +vn 0.223833784461 -0.794061601162 -0.565123498440 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn 0.296743154526 -0.755670011044 0.583871841431 +vn -0.242862716317 -0.841675460339 0.482286363840 +vn -0.242862716317 -0.841675460339 0.482286363840 +vn 0.248923435807 -0.588823974133 0.768975555897 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.621428489685 -0.689511239529 0.372022658587 +vn -0.242862716317 -0.841675460339 0.482286363840 +vn -0.242862716317 -0.841675460339 0.482286363840 +vn -0.098200760782 -0.989465296268 -0.106372416019 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.705403685570 -0.708261907101 0.027761107311 +vn -0.621428489685 -0.689511239529 0.372022658587 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.704343855381 -0.707138836384 -0.062083810568 +vn -0.705403685570 -0.708261907101 0.027761107311 +vn -0.240883529186 -0.697934210300 -0.674435257912 +vn -0.636359751225 -0.637431919575 -0.434427082539 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.098200760782 -0.989465296268 -0.106372416019 +vn -0.240883529186 -0.697934210300 -0.674435257912 +vn -0.684597432613 -0.679221808910 -0.264545053244 +vn -0.704343855381 -0.707138836384 -0.062083810568 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.617912590504 -0.773055791855 -0.143418341875 +vn -0.636359751225 -0.637431919575 -0.434427082539 +vn -0.684597432613 -0.679221808910 -0.264545053244 +vn -0.684597432613 -0.679221808910 -0.264545053244 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn -0.704343855381 -0.707138836384 -0.062083810568 +vn -0.574005007744 -0.568478524685 -0.589364349842 +vn -0.681225955486 -0.643803775311 -0.348493665457 +vn -0.684597432613 -0.679221808910 -0.264545053244 +vn -0.684597432613 -0.679221808910 -0.264545053244 +vn -0.636359751225 -0.637431919575 -0.434427082539 +vn -0.574005007744 -0.568478524685 -0.589364349842 +vn -0.680015206337 -0.641033887863 -0.355885982513 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn -0.684597432613 -0.679221808910 -0.264545053244 +vn -0.684597432613 -0.679221808910 -0.264545053244 +vn -0.681225955486 -0.643803775311 -0.348493665457 +vn -0.680015206337 -0.641033887863 -0.355885982513 +vn -0.492483049631 -0.606667697430 -0.624031007290 +vn -0.626207888126 -0.615593433380 -0.478443711996 +vn -0.680015206337 -0.641033887863 -0.355885982513 +vn -0.680015206337 -0.641033887863 -0.355885982513 +vn -0.681225955486 -0.643803775311 -0.348493665457 +vn -0.492483049631 -0.606667697430 -0.624031007290 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.749990403652 -0.660737752914 -0.030658992007 +vn -0.680015206337 -0.641033887863 -0.355885982513 +vn -0.680015206337 -0.641033887863 -0.355885982513 +vn -0.626207888126 -0.615593433380 -0.478443711996 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.679967224598 -0.681577086449 0.270365059376 +vn -0.749990403652 -0.660737752914 -0.030658992007 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.593118011951 -0.667791306973 -0.449739724398 +vn -0.679967224598 -0.681577086449 0.270365059376 +vn 0.057427704334 -0.414175599813 -0.908383548260 +vn -0.016730729491 -0.462477594614 -0.886473119259 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.626207888126 -0.615593433380 -0.478443711996 +vn 0.057427704334 -0.414175599813 -0.908383548260 +vn -0.018079442903 -0.557789921761 -0.829785227776 +vn -0.593118011951 -0.667791306973 -0.449739724398 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.652128934860 -0.607643485069 -0.453317999840 +vn -0.016730729491 -0.462477594614 -0.886473119259 +vn -0.018079442903 -0.557789921761 -0.829785227776 +vn 0.832457840443 0.231845602393 -0.503251016140 +vn 0.782802700996 0.142475947738 -0.605739653111 +vn -0.016730729491 -0.462477594614 -0.886473119259 +vn -0.016730729491 -0.462477594614 -0.886473119259 +vn 0.057427704334 -0.414175599813 -0.908383548260 +vn 0.832457840443 0.231845602393 -0.503251016140 +vn 0.757288575172 0.167512565851 -0.631231725216 +vn -0.018079442903 -0.557789921761 -0.829785227776 +vn -0.016730729491 -0.462477594614 -0.886473119259 +vn -0.016730729491 -0.462477594614 -0.886473119259 +vn 0.782802700996 0.142475947738 -0.605739653111 +vn 0.757288575172 0.167512565851 -0.631231725216 +vn 0.829526424408 0.541623890400 0.136123031378 +vn 0.869676053524 0.481602787971 0.108269944787 +vn 0.782802700996 0.142475947738 -0.605739653111 +vn 0.782802700996 0.142475947738 -0.605739653111 +vn 0.832457840443 0.231845602393 -0.503251016140 +vn 0.829526424408 0.541623890400 0.136123031378 +vn 0.800140321255 0.517762780190 0.302815377712 +vn 0.757288575172 0.167512565851 -0.631231725216 +vn 0.782802700996 0.142475947738 -0.605739653111 +vn 0.782802700996 0.142475947738 -0.605739653111 +vn 0.869676053524 0.481602787971 0.108269944787 +vn 0.800140321255 0.517762780190 0.302815377712 +vn 0.177026122808 -0.302125543356 -0.936686635017 +vn 0.847567141056 0.260671019554 -0.462255924940 +vn 0.832457840443 0.231845602393 -0.503251016140 +vn 0.832457840443 0.231845602393 -0.503251016140 +vn 0.057427704334 -0.414175599813 -0.908383548260 +vn 0.177026122808 -0.302125543356 -0.936686635017 +vn 0.881415486336 0.472221165895 0.010672469623 +vn 0.829526424408 0.541623890400 0.136123031378 +vn 0.832457840443 0.231845602393 -0.503251016140 +vn 0.832457840443 0.231845602393 -0.503251016140 +vn 0.847567141056 0.260671019554 -0.462255924940 +vn 0.881415486336 0.472221165895 0.010672469623 +vn 0.900293529034 0.234960332513 -0.366422206163 +vn 0.964519500732 0.260759145021 0.041313480586 +vn 0.881415486336 0.472221165895 0.010672469623 +vn 0.881415486336 0.472221165895 0.010672469623 +vn 0.847567141056 0.260671019554 -0.462255924940 +vn 0.900293529034 0.234960332513 -0.366422206163 +vn 0.881415486336 0.472221165895 0.010672469623 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn 0.829526424408 0.541623890400 0.136123031378 +vn 0.992158353329 0.027582362294 -0.121905915439 +vn 0.938025355339 0.000610377872 0.346566140652 +vn 0.939568758011 0.305846303701 0.153846189380 +vn 0.939568758011 0.305846303701 0.153846189380 +vn 0.902191579342 0.340740293264 -0.264473766088 +vn 0.992158353329 0.027582362294 -0.121905915439 +vn 0.939568758011 0.305846303701 0.153846189380 +vn 0.894741058350 0.330808013678 0.300007522106 +vn 0.879921913147 0.474158734083 -0.030182171613 +vn 0.879921913147 0.474158734083 -0.030182171613 +vn 0.902191579342 0.340740293264 -0.264473766088 +vn 0.939568758011 0.305846303701 0.153846189380 +vn 0.939568758011 0.305846303701 0.153846189380 +vn 0.546886205673 -0.028232229874 0.836730778217 +vn 0.434012651443 -0.235733553767 0.869518637657 +vn 0.434012651443 -0.235733553767 0.869518637657 +vn 0.894741058350 0.330808013678 0.300007522106 +vn 0.939568758011 0.305846303701 0.153846189380 +vn 0.604858994484 -0.045539114624 0.795029461384 +vn 0.052795063704 -0.326312363148 0.943786501884 +vn 0.546886205673 -0.028232229874 0.836730778217 +vn 0.546886205673 -0.028232229874 0.836730778217 +vn 0.938025355339 0.000610377872 0.346566140652 +vn 0.604858994484 -0.045539114624 0.795029461384 +vn 0.052795063704 -0.326312363148 0.943786501884 +vn -0.447785437107 -0.638254702091 0.626194119453 +vn 0.434012651443 -0.235733553767 0.869518637657 +vn 0.434012651443 -0.235733553767 0.869518637657 +vn 0.546886205673 -0.028232229874 0.836730778217 +vn 0.052795063704 -0.326312363148 0.943786501884 +vn -0.090002775192 -0.362050384283 0.927803337574 +vn -0.529069483280 -0.659794330597 0.533626258373 +vn 0.052795063704 -0.326312363148 0.943786501884 +vn 0.052795063704 -0.326312363148 0.943786501884 +vn 0.604858994484 -0.045539114624 0.795029461384 +vn -0.090002775192 -0.362050384283 0.927803337574 +vn -0.529069483280 -0.659794330597 0.533626258373 +vn -0.713085711002 -0.687005877495 0.139755845070 +vn -0.447785437107 -0.638254702091 0.626194119453 +vn -0.447785437107 -0.638254702091 0.626194119453 +vn 0.052795063704 -0.326312363148 0.943786501884 +vn -0.529069483280 -0.659794330597 0.533626258373 +vn 0.166393876076 -0.774949491024 0.609726488590 +vn -0.447785437107 -0.638254702091 0.626194119453 +vn -0.713085711002 -0.687005877495 0.139755845070 +vn -0.713085711002 -0.687005877495 0.139755845070 +vn -0.209138780832 -0.976161360741 0.058051183820 +vn 0.166393876076 -0.774949491024 0.609726488590 +vn -0.529069483280 -0.659794330597 0.533626258373 +vn -0.705403685570 -0.708261907101 0.027761107311 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn -0.713085711002 -0.687005877495 0.139755845070 +vn -0.529069483280 -0.659794330597 0.533626258373 +vn -0.529069483280 -0.659794330597 0.533626258373 +vn -0.090002775192 -0.362050384283 0.927803337574 +vn -0.621428489685 -0.689511239529 0.372022658587 +vn -0.621428489685 -0.689511239529 0.372022658587 +vn -0.705403685570 -0.708261907101 0.027761107311 +vn -0.529069483280 -0.659794330597 0.533626258373 +vn 0.950614035130 -0.258485972881 -0.171807885170 +vn 0.938025355339 0.000610377872 0.346566140652 +vn 0.992158353329 0.027582362294 -0.121905915439 +vn 0.992158353329 0.027582362294 -0.121905915439 +vn 0.843217432499 -0.417677789927 -0.338422268629 +vn 0.950614035130 -0.258485972881 -0.171807885170 +vn 0.900293529034 0.234960332513 -0.366422206163 +vn 0.997439682484 -0.069704242051 0.015980891883 +vn 0.975543797016 -0.094598576427 0.198407247663 +vn 0.975543797016 -0.094598576427 0.198407247663 +vn 0.964519500732 0.260759145021 0.041313480586 +vn 0.900293529034 0.234960332513 -0.366422206163 +vn 0.964954078197 -0.247261434793 -0.087894394994 +vn 0.950541198254 -0.306927442551 0.047613322735 +vn 0.975543797016 -0.094598576427 0.198407247663 +vn 0.975543797016 -0.094598576427 0.198407247663 +vn 0.997439682484 -0.069704242051 0.015980891883 +vn 0.964954078197 -0.247261434793 -0.087894394994 +vn 0.867434203625 -0.060777686536 -0.493825823069 +vn 0.953373312950 -0.099214516580 -0.285018980503 +vn 0.964954078197 -0.247261434793 -0.087894394994 +vn 0.964954078197 -0.247261434793 -0.087894394994 +vn 0.997439682484 -0.069704242051 0.015980891883 +vn 0.867434203625 -0.060777686536 -0.493825823069 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.964954078197 -0.247261434793 -0.087894394994 +vn 0.953373312950 -0.099214516580 -0.285018980503 +vn 0.953373312950 -0.099214516580 -0.285018980503 +vn 0.937725424767 0.113176889718 -0.328423529863 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.846369147301 0.254753082991 0.467718034983 +vn 0.877089083195 0.223065018654 0.425390124321 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.948226809502 0.311464130878 0.062097102404 +vn 0.846369147301 0.254753082991 0.467718034983 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.948226809502 0.311464130878 0.062097102404 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn 0.937725424767 0.113176889718 -0.328423529863 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.948226809502 0.311464130878 0.062097102404 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.882223665714 0.299788743258 -0.363053917885 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.665814876556 0.035237163305 -0.745284438133 +vn 0.652744770050 0.294556379318 -0.697969019413 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.937725424767 0.113176889718 -0.328423529863 +vn 0.665814876556 0.035237163305 -0.745284438133 +vn 0.759303212166 0.159380048513 -0.630917251110 +vn 0.882223665714 0.299788743258 -0.363053917885 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.868813395500 0.343230307102 -0.356869995594 +vn 0.652744770050 0.294556379318 -0.697969019413 +vn 0.759303212166 0.159380048513 -0.630917251110 +vn 0.665814876556 0.035237163305 -0.745284438133 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn 0.403329372406 0.107619918883 -0.908704221249 +vn 0.403329372406 0.107619918883 -0.908704221249 +vn 0.652744770050 0.294556379318 -0.697969019413 +vn 0.665814876556 0.035237163305 -0.745284438133 +vn 0.484712213278 -0.006896703970 -0.874646484852 +vn 0.759303212166 0.159380048513 -0.630917251110 +vn 0.652744770050 0.294556379318 -0.697969019413 +vn 0.652744770050 0.294556379318 -0.697969019413 +vn 0.403329372406 0.107619918883 -0.908704221249 +vn 0.484712213278 -0.006896703970 -0.874646484852 +vn 0.421691358089 -0.146094635129 -0.894892573357 +vn 0.209566771984 0.133428663015 -0.968647778034 +vn 0.403329372406 0.107619918883 -0.908704221249 +vn 0.403329372406 0.107619918883 -0.908704221249 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn 0.421691358089 -0.146094635129 -0.894892573357 +vn 0.209566771984 0.133428663015 -0.968647778034 +vn 0.167408272624 0.019269237295 -0.985699355602 +vn 0.484712213278 -0.006896703970 -0.874646484852 +vn 0.484712213278 -0.006896703970 -0.874646484852 +vn 0.403329372406 0.107619918883 -0.908704221249 +vn 0.209566771984 0.133428663015 -0.968647778034 +vn 0.953373312950 -0.099214516580 -0.285018980503 +vn 0.589868128300 -0.175914064050 -0.788105249405 +vn 0.665814876556 0.035237163305 -0.745284438133 +vn 0.665814876556 0.035237163305 -0.745284438133 +vn 0.937725424767 0.113176889718 -0.328423529863 +vn 0.953373312950 -0.099214516580 -0.285018980503 +vn 0.589868128300 -0.175914064050 -0.788105249405 +vn 0.105665363371 -0.365992993116 -0.924599349499 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn 0.665814876556 0.035237163305 -0.745284438133 +vn 0.589868128300 -0.175914064050 -0.788105249405 +vn 0.867434203625 -0.060777686536 -0.493825823069 +vn 0.236893758178 -0.226129606366 -0.944852769375 +vn 0.589868128300 -0.175914064050 -0.788105249405 +vn 0.589868128300 -0.175914064050 -0.788105249405 +vn 0.953373312950 -0.099214516580 -0.285018980503 +vn 0.867434203625 -0.060777686536 -0.493825823069 +vn 0.236893758178 -0.226129606366 -0.944852769375 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn 0.105665363371 -0.365992993116 -0.924599349499 +vn 0.105665363371 -0.365992993116 -0.924599349499 +vn 0.589868128300 -0.175914064050 -0.788105249405 +vn 0.236893758178 -0.226129606366 -0.944852769375 +vn -0.249982208014 -0.445761620998 -0.859537959099 +vn -0.574005007744 -0.568478524685 -0.589364349842 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn 0.236893758178 -0.226129606366 -0.944852769375 +vn -0.249982208014 -0.445761620998 -0.859537959099 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn -0.249982208014 -0.445761620998 -0.859537959099 +vn 0.236893758178 -0.226129606366 -0.944852769375 +vn 0.236893758178 -0.226129606366 -0.944852769375 +vn 0.867434203625 -0.060777686536 -0.493825823069 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn -0.492483049631 -0.606667697430 -0.624031007290 +vn -0.249982208014 -0.445761620998 -0.859537959099 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn 0.177026122808 -0.302125543356 -0.936686635017 +vn -0.492483049631 -0.606667697430 -0.624031007290 +vn 0.997439682484 -0.069704242051 0.015980891883 +vn 0.900293529034 0.234960332513 -0.366422206163 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn 0.867434203625 -0.060777686536 -0.493825823069 +vn 0.997439682484 -0.069704242051 0.015980891883 +vn 0.847567141056 0.260671019554 -0.462255924940 +vn 0.177026122808 -0.302125543356 -0.936686635017 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn 0.471449375153 -0.100497379899 -0.876148223877 +vn 0.900293529034 0.234960332513 -0.366422206163 +vn 0.847567141056 0.260671019554 -0.462255924940 +vn -0.681225955486 -0.643803775311 -0.348493665457 +vn -0.574005007744 -0.568478524685 -0.589364349842 +vn -0.249982208014 -0.445761620998 -0.859537959099 +vn -0.249982208014 -0.445761620998 -0.859537959099 +vn -0.492483049631 -0.606667697430 -0.624031007290 +vn -0.681225955486 -0.643803775311 -0.348493665457 +vn 0.963498711586 0.237371236086 0.123794898391 +vn 0.951063156128 0.070982269943 0.300733000040 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.925316154957 0.358393728733 -0.123870611191 +vn 0.963498711586 0.237371236086 0.123794898391 +vn 0.846369147301 0.254753082991 0.467718034983 +vn 0.948226809502 0.311464130878 0.062097102404 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.951063156128 0.070982269943 0.300733000040 +vn 0.846369147301 0.254753082991 0.467718034983 +vn 0.836737871170 -0.128324687481 0.532355606556 +vn 0.679351329803 -0.176735669374 0.712212264538 +vn 0.951063156128 0.070982269943 0.300733000040 +vn 0.951063156128 0.070982269943 0.300733000040 +vn 0.963498711586 0.237371236086 0.123794898391 +vn 0.836737871170 -0.128324687481 0.532355606556 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.846369147301 0.254753082991 0.467718034983 +vn 0.951063156128 0.070982269943 0.300733000040 +vn 0.951063156128 0.070982269943 0.300733000040 +vn 0.679351329803 -0.176735669374 0.712212264538 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.348919451237 0.080806083977 0.933662474155 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.679351329803 -0.176735669374 0.712212264538 +vn 0.365372657776 -0.213905602694 0.905951023102 +vn 0.368893653154 0.027525994927 0.929063916206 +vn 0.628393650055 0.178586021066 0.757118523121 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.348919451237 0.080806083977 0.933662474155 +vn 0.368893653154 0.027525994927 0.929063916206 +vn 0.877089083195 0.223065018654 0.425390124321 +vn 0.846369147301 0.254753082991 0.467718034983 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.601849079132 0.160555899143 0.782303988934 +vn 0.628393650055 0.178586021066 0.757118523121 +vn 0.877089083195 0.223065018654 0.425390124321 +vn 0.251756250858 -0.084170669317 0.964123487473 +vn 0.578013658524 0.042303718626 0.814929783344 +vn 0.628393650055 0.178586021066 0.757118523121 +vn 0.628393650055 0.178586021066 0.757118523121 +vn 0.368893653154 0.027525994927 0.929063916206 +vn 0.251756250858 -0.084170669317 0.964123487473 +vn 0.628393650055 0.178586021066 0.757118523121 +vn 0.578013658524 0.042303718626 0.814929783344 +vn 0.877089083195 0.223065018654 0.425390124321 +vn 0.196217641234 0.079919569194 0.977298080921 +vn 0.256139546633 0.005911893677 0.966621756554 +vn 0.368893653154 0.027525994927 0.929063916206 +vn 0.368893653154 0.027525994927 0.929063916206 +vn 0.348919451237 0.080806083977 0.933662474155 +vn 0.196217641234 0.079919569194 0.977298080921 +vn 0.194185197353 -0.183894842863 0.963573992252 +vn 0.251756250858 -0.084170669317 0.964123487473 +vn 0.368893653154 0.027525994927 0.929063916206 +vn 0.368893653154 0.027525994927 0.929063916206 +vn 0.256139546633 0.005911893677 0.966621756554 +vn 0.194185197353 -0.183894842863 0.963573992252 +vn 0.067010790110 0.193234190345 0.978861629963 +vn 0.227151930332 0.082373514771 0.970369338989 +vn 0.256139546633 0.005911893677 0.966621756554 +vn 0.256139546633 0.005911893677 0.966621756554 +vn 0.196217641234 0.079919569194 0.977298080921 +vn 0.067010790110 0.193234190345 0.978861629963 +vn 0.358009755611 -0.281399130821 0.890305280685 +vn 0.194185197353 -0.183894842863 0.963573992252 +vn 0.256139546633 0.005911893677 0.966621756554 +vn 0.256139546633 0.005911893677 0.966621756554 +vn 0.227151930332 0.082373514771 0.970369338989 +vn 0.358009755611 -0.281399130821 0.890305280685 +vn 0.836737871170 -0.128324687481 0.532355606556 +vn 0.709767401218 0.168196678162 0.684061467648 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.352969527245 -0.536707878113 0.766392350197 +vn 0.836737871170 -0.128324687481 0.532355606556 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.709767401218 0.168196678162 0.684061467648 +vn 0.836737871170 -0.128324687481 0.532355606556 +vn 0.836737871170 -0.128324687481 0.532355606556 +vn 0.963498711586 0.237371236086 0.123794898391 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.448288679123 0.297675549984 0.842868030071 +vn 0.709767401218 0.168196678162 0.684061467648 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.448288679123 0.297675549984 0.842868030071 +vn 0.925316154957 0.358393728733 -0.123870611191 +vn 0.760400354862 0.647973775864 0.043833035976 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.963498711586 0.237371236086 0.123794898391 +vn 0.925316154957 0.358393728733 -0.123870611191 +vn 0.405096322298 0.863581359386 0.300206899643 +vn 0.319046318531 0.589759051800 0.741885244846 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.744825839996 0.492822498083 0.449844926596 +vn 0.760400354862 0.647973775864 0.043833035976 +vn 0.405096322298 0.863581359386 0.300206899643 +vn 0.854635655880 0.431288868189 -0.289115548134 +vn 0.682067394257 0.691617667675 -0.237590149045 +vn 0.760400354862 0.647973775864 0.043833035976 +vn 0.760400354862 0.647973775864 0.043833035976 +vn 0.925316154957 0.358393728733 -0.123870611191 +vn 0.854635655880 0.431288868189 -0.289115548134 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.405096322298 0.863581359386 0.300206899643 +vn 0.760400354862 0.647973775864 0.043833035976 +vn 0.760400354862 0.647973775864 0.043833035976 +vn 0.682067394257 0.691617667675 -0.237590149045 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.271541535854 0.878055930138 0.394059598446 +vn 0.405096322298 0.863581359386 0.300206899643 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.318014234304 0.945945560932 -0.063670635223 +vn 0.271541535854 0.878055930138 0.394059598446 +vn 0.714447438717 0.682991147041 -0.151947423816 +vn 0.408882349730 0.910067975521 -0.067760296166 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.682067394257 0.691617667675 -0.237590149045 +vn 0.714447438717 0.682991147041 -0.151947423816 +vn 0.366194635630 0.921540796757 -0.129089444876 +vn 0.318014234304 0.945945560932 -0.063670635223 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.379973024130 0.906289756298 -0.185092836618 +vn 0.408882349730 0.910067975521 -0.067760296166 +vn 0.366194635630 0.921540796757 -0.129089444876 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.714447438717 0.682991147041 -0.151947423816 +vn 0.682067394257 0.691617667675 -0.237590149045 +vn 0.682067394257 0.691617667675 -0.237590149045 +vn 0.854635655880 0.431288868189 -0.289115548134 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.448288679123 0.297675549984 0.842868030071 +vn 0.371716529131 -0.655101001263 0.657776176929 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.709767401218 0.168196678162 0.684061467648 +vn 0.448288679123 0.297675549984 0.842868030071 +vn 0.273815929890 -0.854739964008 0.440958529711 +vn 0.160938441753 -0.757669389248 0.632483959198 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.371716529131 -0.655101001263 0.657776176929 +vn 0.273815929890 -0.854739964008 0.440958529711 +vn 0.274402290583 -0.560791194439 0.781163632870 +vn 0.352969527245 -0.536707878113 0.766392350197 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.348638504744 -0.498758524656 0.793530762196 +vn 0.160938441753 -0.757669389248 0.632483959198 +vn 0.274402290583 -0.560791194439 0.781163632870 +vn 0.167523771524 -0.257773190737 0.951571762562 +vn 0.352969527245 -0.536707878113 0.766392350197 +vn 0.274402290583 -0.560791194439 0.781163632870 +vn 0.274402290583 -0.560791194439 0.781163632870 +vn 0.169235989451 -0.360193341970 0.917398452759 +vn 0.167523771524 -0.257773190737 0.951571762562 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.167523771524 -0.257773190737 0.951571762562 +vn 0.169235989451 -0.360193341970 0.917398452759 +vn 0.169235989451 -0.360193341970 0.917398452759 +vn 0.389436155558 -0.407782554626 0.825864911079 +vn 0.295748770237 -0.295451253653 0.908427894115 +vn 0.946406006813 0.125533640385 0.297585338354 +vn 0.862534463406 -0.244094222784 0.443229347467 +vn 0.830068528652 -0.119470968843 0.544713616371 +vn 0.830068528652 -0.119470968843 0.544713616371 +vn 0.924569845200 0.120250284672 0.361538976431 +vn 0.946406006813 0.125533640385 0.297585338354 +vn 0.555238842964 -0.456454634666 0.695240259171 +vn 0.539327800274 -0.415947258472 0.732197642326 +vn 0.830068528652 -0.119470968843 0.544713616371 +vn 0.830068528652 -0.119470968843 0.544713616371 +vn 0.862534463406 -0.244094222784 0.443229347467 +vn 0.555238842964 -0.456454634666 0.695240259171 +vn 0.606853306293 -0.574624598026 0.549122631550 +vn 0.487581610680 -0.775879859924 0.400343090296 +vn 0.862534463406 -0.244094222784 0.443229347467 +vn 0.862534463406 -0.244094222784 0.443229347467 +vn 0.946406006813 0.125533640385 0.297585338354 +vn 0.606853306293 -0.574624598026 0.549122631550 +vn 0.343629240990 -0.755872249603 0.557293534279 +vn 0.555238842964 -0.456454634666 0.695240259171 +vn 0.862534463406 -0.244094222784 0.443229347467 +vn 0.862534463406 -0.244094222784 0.443229347467 +vn 0.487581610680 -0.775879859924 0.400343090296 +vn 0.343629240990 -0.755872249603 0.557293534279 +vn 0.487581610680 -0.775879859924 0.400343090296 +vn 0.606853306293 -0.574624598026 0.549122631550 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn 0.088904842734 -0.968297600746 0.233443140984 +vn 0.487581610680 -0.775879859924 0.400343090296 +vn 0.487581610680 -0.775879859924 0.400343090296 +vn 0.088904842734 -0.968297600746 0.233443140984 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn 0.343629240990 -0.755872249603 0.557293534279 +vn 0.487581610680 -0.775879859924 0.400343090296 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn -0.315271288157 -0.518904209137 0.794570624828 +vn 0.103528626263 -0.504750728607 0.857034742832 +vn 0.103528626263 -0.504750728607 0.857034742832 +vn 0.343629240990 -0.755872249603 0.557293534279 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn -0.469787657261 0.093729905784 0.877789437771 +vn -0.029381169006 -0.030018234625 0.999117434025 +vn 0.103528626263 -0.504750728607 0.857034742832 +vn 0.103528626263 -0.504750728607 0.857034742832 +vn -0.315271288157 -0.518904209137 0.794570624828 +vn -0.469787657261 0.093729905784 0.877789437771 +vn -0.339029431343 0.284355103970 0.896772682667 +vn 0.067010790110 0.193234190345 0.978861629963 +vn -0.029381169006 -0.030018234625 0.999117434025 +vn -0.029381169006 -0.030018234625 0.999117434025 +vn -0.469787657261 0.093729905784 0.877789437771 +vn -0.339029431343 0.284355103970 0.896772682667 +vn 0.970553517342 -0.047824073583 0.236090585589 +vn 0.948614597321 -0.097721196711 0.300966590643 +vn 0.946406006813 0.125533640385 0.297585338354 +vn 0.946406006813 0.125533640385 0.297585338354 +vn 0.924569845200 0.120250284672 0.361538976431 +vn 0.970553517342 -0.047824073583 0.236090585589 +vn 0.472912132740 -0.407679647207 0.781121909618 +vn 0.606853306293 -0.574624598026 0.549122631550 +vn 0.946406006813 0.125533640385 0.297585338354 +vn 0.946406006813 0.125533640385 0.297585338354 +vn 0.948614597321 -0.097721196711 0.300966590643 +vn 0.472912132740 -0.407679647207 0.781121909618 +vn 0.867050588131 -0.340229004622 0.363960862160 +vn 0.948614597321 -0.097721196711 0.300966590643 +vn 0.970553517342 -0.047824073583 0.236090585589 +vn 0.580778717995 -0.219648644328 0.783868968487 +vn 0.472912132740 -0.407679647207 0.781121909618 +vn 0.948614597321 -0.097721196711 0.300966590643 +vn 0.948614597321 -0.097721196711 0.300966590643 +vn 0.867050588131 -0.340229004622 0.363960862160 +vn 0.580778717995 -0.219648644328 0.783868968487 +vn 0.675949811935 -0.481971591711 0.557490110397 +vn 0.524495065212 -0.158350035548 0.836558520794 +vn 0.580778717995 -0.219648644328 0.783868968487 +vn 0.580778717995 -0.219648644328 0.783868968487 +vn 0.867050588131 -0.340229004622 0.363960862160 +vn 0.675949811935 -0.481971591711 0.557490110397 +vn 0.580778717995 -0.219648644328 0.783868968487 +vn 0.524495065212 -0.158350035548 0.836558520794 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.135852813721 -0.058212291449 0.989017367363 +vn 0.580778717995 -0.219648644328 0.783868968487 +vn 0.371716529131 -0.655101001263 0.657776176929 +vn 0.448288679123 0.297675549984 0.842868030071 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.524495065212 -0.158350035548 0.836558520794 +vn 0.371716529131 -0.655101001263 0.657776176929 +vn 0.273815929890 -0.854739964008 0.440958529711 +vn 0.371716529131 -0.655101001263 0.657776176929 +vn 0.524495065212 -0.158350035548 0.836558520794 +vn 0.524495065212 -0.158350035548 0.836558520794 +vn 0.675949811935 -0.481971591711 0.557490110397 +vn 0.273815929890 -0.854739964008 0.440958529711 +vn -0.626207888126 -0.615593433380 -0.478443711996 +vn -0.492483049631 -0.606667697430 -0.624031007290 +vn 0.177026122808 -0.302125543356 -0.936686635017 +vn 0.177026122808 -0.302125543356 -0.936686635017 +vn 0.057427704334 -0.414175599813 -0.908383548260 +vn -0.626207888126 -0.615593433380 -0.478443711996 +vn -0.240883529186 -0.697934210300 -0.674435257912 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn -0.574005007744 -0.568478524685 -0.589364349842 +vn -0.574005007744 -0.568478524685 -0.589364349842 +vn -0.636359751225 -0.637431919575 -0.434427082539 +vn -0.240883529186 -0.697934210300 -0.674435257912 +vn -0.705403685570 -0.708261907101 0.027761107311 +vn -0.704343855381 -0.707138836384 -0.062083810568 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn 0.358009755611 -0.281399130821 0.890305280685 +vn 0.427608430386 -0.371340870857 0.824170470238 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn 0.248923435807 -0.588823974133 0.768975555897 +vn 0.358009755611 -0.281399130821 0.890305280685 +vn 0.060981951654 -0.674715280533 0.735554575920 +vn 0.134670898318 -0.693116486073 0.708133637905 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn 0.430385142565 -0.512250244617 0.743214845657 +vn 0.427608430386 -0.371340870857 0.824170470238 +vn 0.060981951654 -0.674715280533 0.735554575920 +vn -0.165003806353 -0.884678483009 0.436024934053 +vn -0.831635236740 -0.554599404335 -0.028325177729 +vn -0.826602876186 -0.557232499123 -0.078864529729 +vn -0.826602876186 -0.557232499123 -0.078864529729 +vn -0.201462924480 -0.979488193989 -0.003945601173 +vn -0.165003806353 -0.884678483009 0.436024934053 +vn -0.417517900467 -0.904517471790 -0.086757712066 +vn -0.354307264090 -0.814609885216 -0.459213525057 +vn -0.631180763245 -0.548184394836 -0.548730134964 +vn -0.631180763245 -0.548184394836 -0.548730134964 +vn -0.649726748466 -0.700721383095 -0.294694274664 +vn -0.417517900467 -0.904517471790 -0.086757712066 +vn -0.268584340811 -0.695054829121 0.666904211044 +vn -0.375210881233 -0.925834357738 -0.045249074697 +vn -0.284909248352 -0.955779790878 0.072881773114 +vn -0.284909248352 -0.955779790878 0.072881773114 +vn -0.102928921580 -0.779785394669 0.617527663708 +vn -0.268584340811 -0.695054829121 0.666904211044 +vn -0.424531817436 -0.905397713184 0.005259912461 +vn -0.375210881233 -0.925834357738 -0.045249074697 +vn -0.268584340811 -0.695054829121 0.666904211044 +vn -0.268584340811 -0.695054829121 0.666904211044 +vn -0.726206362247 -0.341912865639 0.596422553062 +vn -0.424531817436 -0.905397713184 0.005259912461 +vn -0.444202423096 -0.895280957222 0.034002799541 +vn -0.424531817436 -0.905397713184 0.005259912461 +vn -0.726206362247 -0.341912865639 0.596422553062 +vn -0.726206362247 -0.341912865639 0.596422553062 +vn -0.964247941971 -0.187405601144 0.187363326550 +vn -0.444202423096 -0.895280957222 0.034002799541 +vn -0.726206362247 -0.341912865639 0.596422553062 +vn -0.706194460392 -0.044653762132 0.706608414650 +vn -0.974349737167 0.170101836324 0.147336244583 +vn -0.974349737167 0.170101836324 0.147336244583 +vn -0.964247941971 -0.187405601144 0.187363326550 +vn -0.726206362247 -0.341912865639 0.596422553062 +vn -0.974349737167 0.170101836324 0.147336244583 +vn -0.985877811909 0.130831107497 -0.104537896812 +vn -0.981363117695 -0.161664009094 -0.103880442679 +vn -0.981363117695 -0.161664009094 -0.103880442679 +vn -0.964247941971 -0.187405601144 0.187363326550 +vn -0.974349737167 0.170101836324 0.147336244583 +vn -0.985877811909 0.130831107497 -0.104537896812 +vn -0.923730432987 -0.023954166099 -0.382293522358 +vn -0.932627201080 -0.223822146654 -0.283037424088 +vn -0.932627201080 -0.223822146654 -0.283037424088 +vn -0.981363117695 -0.161664009094 -0.103880442679 +vn -0.985877811909 0.130831107497 -0.104537896812 +vn -0.923730432987 -0.023954166099 -0.382293522358 +vn -0.618783295155 -0.420402556658 -0.663603007793 +vn -0.702270984650 -0.386405408382 -0.597918331623 +vn -0.702270984650 -0.386405408382 -0.597918331623 +vn -0.932627201080 -0.223822146654 -0.283037424088 +vn -0.923730432987 -0.023954166099 -0.382293522358 +vn -0.923730432987 -0.023954166099 -0.382293522358 +vn -0.985877811909 0.130831107497 -0.104537896812 +vn -0.868382692337 -0.492589503527 -0.057158134878 +vn -0.868382692337 -0.492589503527 -0.057158134878 +vn -0.807064890862 -0.552481949329 -0.208350643516 +vn -0.923730432987 -0.023954166099 -0.382293522358 +vn -0.923730432987 -0.023954166099 -0.382293522358 +vn -0.807064890862 -0.552481949329 -0.208350643516 +vn -0.613461971283 -0.711588799953 -0.342499285936 +vn -0.613461971283 -0.711588799953 -0.342499285936 +vn -0.618783295155 -0.420402556658 -0.663603007793 +vn -0.923730432987 -0.023954166099 -0.382293522358 +vn -0.613461971283 -0.711588799953 -0.342499285936 +vn -0.478329122066 -0.718357503414 -0.505137383938 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.618783295155 -0.420402556658 -0.663603007793 +vn -0.613461971283 -0.711588799953 -0.342499285936 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.407492965460 -0.781558632851 -0.472351163626 +vn -0.702270984650 -0.386405408382 -0.597918331623 +vn -0.702270984650 -0.386405408382 -0.597918331623 +vn -0.618783295155 -0.420402556658 -0.663603007793 +vn -0.477094113827 -0.544931411743 -0.689515054226 +vn -0.468870520592 -0.880146622658 0.074178211391 +vn -0.448362886906 -0.891751825809 0.061232645065 +vn -0.981363117695 -0.161664009094 -0.103880442679 +vn -0.981363117695 -0.161664009094 -0.103880442679 +vn -0.932627201080 -0.223822146654 -0.283037424088 +vn -0.468870520592 -0.880146622658 0.074178211391 +vn -0.444202423096 -0.895280957222 0.034002799541 +vn -0.964247941971 -0.187405601144 0.187363326550 +vn -0.981363117695 -0.161664009094 -0.103880442679 +vn -0.981363117695 -0.161664009094 -0.103880442679 +vn -0.448362886906 -0.891751825809 0.061232645065 +vn -0.444202423096 -0.895280957222 0.034002799541 +vn -0.807450592518 -0.554794609547 -0.200565382838 +vn -0.807064890862 -0.552481949329 -0.208350643516 +vn -0.868382692337 -0.492589503527 -0.057158134878 +vn -0.868382692337 -0.492589503527 -0.057158134878 +vn -0.813132524490 -0.578888535500 -0.060856662691 +vn -0.807450592518 -0.554794609547 -0.200565382838 +vn -0.736113429070 0.674601316452 -0.055227596313 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.534430682659 0.838877797127 0.103285685182 +vn -0.774951875210 0.023437473923 -0.631585538387 +vn -0.843002557755 0.537570774555 -0.019088163972 +vn -0.787490665913 0.559860408306 -0.257710725069 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.889064431190 0.043844252825 -0.455677688122 +vn -0.787490665913 0.559860408306 -0.257710725069 +vn -0.787490665913 0.559860408306 -0.257710725069 +vn -0.534430682659 0.838877797127 0.103285685182 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.787490665913 0.559860408306 -0.257710725069 +vn -0.889064431190 0.043844252825 -0.455677688122 +vn -0.774951875210 0.023437473923 -0.631585538387 +vn -0.811541140079 0.126786649227 -0.570373654366 +vn -0.939724683762 -0.015627166256 0.341574728489 +vn -0.843002557755 0.537570774555 -0.019088163972 +vn -0.843002557755 0.537570774555 -0.019088163972 +vn -0.774951875210 0.023437473923 -0.631585538387 +vn -0.811541140079 0.126786649227 -0.570373654366 +vn -0.843002557755 0.537570774555 -0.019088163972 +vn -0.939724683762 -0.015627166256 0.341574728489 +vn -0.411975830793 0.620765864849 0.667027473450 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.388772368431 0.459267735481 0.798704683781 +vn -0.411975830793 0.620765864849 0.667027473450 +vn -0.411975830793 0.620765864849 0.667027473450 +vn -0.939724683762 -0.015627166256 0.341574728489 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.340392619371 0.609669387341 0.715846419334 +vn -0.318106293678 0.808898806572 0.494460374117 +vn -0.411975830793 0.620765864849 0.667027473450 +vn -0.411975830793 0.620765864849 0.667027473450 +vn -0.388772368431 0.459267735481 0.798704683781 +vn -0.340392619371 0.609669387341 0.715846419334 +vn -0.487536758184 -0.706500649452 0.512995839119 +vn -0.560062587261 -0.186729982495 0.807131826878 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.514525294304 -0.731623828411 0.447202742100 +vn -0.487536758184 -0.706500649452 0.512995839119 +vn -0.477920562029 0.410443186760 0.776613354683 +vn -0.388772368431 0.459267735481 0.798704683781 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.560062587261 -0.186729982495 0.807131826878 +vn -0.477920562029 0.410443186760 0.776613354683 +vn -0.825821697712 -0.556694149971 -0.090056210756 +vn -0.514525294304 -0.731623828411 0.447202742100 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.549822390079 -0.063416108489 0.832870781422 +vn -0.939724683762 -0.015627166256 0.341574728489 +vn -0.825821697712 -0.556694149971 -0.090056210756 +vn -0.674101769924 -0.578337550163 0.459469795227 +vn -0.699011743069 -0.205537945032 0.684935569763 +vn -0.560062587261 -0.186729982495 0.807131826878 +vn -0.560062587261 -0.186729982495 0.807131826878 +vn -0.487536758184 -0.706500649452 0.512995839119 +vn -0.674101769924 -0.578337550163 0.459469795227 +vn -0.587647318840 0.285558760166 0.757051348686 +vn -0.477920562029 0.410443186760 0.776613354683 +vn -0.560062587261 -0.186729982495 0.807131826878 +vn -0.560062587261 -0.186729982495 0.807131826878 +vn -0.699011743069 -0.205537945032 0.684935569763 +vn -0.587647318840 0.285558760166 0.757051348686 +vn -0.807156682014 -0.517316579819 0.284396976233 +vn -0.858911693096 -0.182994604111 0.478313356638 +vn -0.699011743069 -0.205537945032 0.684935569763 +vn -0.699011743069 -0.205537945032 0.684935569763 +vn -0.674101769924 -0.578337550163 0.459469795227 +vn -0.807156682014 -0.517316579819 0.284396976233 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.587647318840 0.285558760166 0.757051348686 +vn -0.699011743069 -0.205537945032 0.684935569763 +vn -0.699011743069 -0.205537945032 0.684935569763 +vn -0.858911693096 -0.182994604111 0.478313356638 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.858911693096 -0.182994604111 0.478313356638 +vn -0.916460096836 0.020301461220 0.399610698223 +vn -0.916460096836 0.020301461220 0.399610698223 +vn -0.655620634556 0.408538043499 0.635026156902 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.655620634556 0.408538043499 0.635026156902 +vn -0.227597177029 0.752148985863 0.618442714214 +vn -0.227597177029 0.752148985863 0.618442714214 +vn -0.369171798229 0.707622945309 0.602479815483 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.369171798229 0.707622945309 0.602479815483 +vn -0.390028774738 0.674186646938 0.627176105976 +vn -0.390028774738 0.674186646938 0.627176105976 +vn -0.587647318840 0.285558760166 0.757051348686 +vn -0.718367397785 0.331862986088 0.611404359341 +vn -0.369171798229 0.707622945309 0.602479815483 +vn -0.227597177029 0.752148985863 0.618442714214 +vn 0.133595734835 0.780554592609 0.610644459724 +vn 0.133595734835 0.780554592609 0.610644459724 +vn -0.087493650615 0.818190336227 0.568251192570 +vn -0.369171798229 0.707622945309 0.602479815483 +vn -0.253249228001 0.791888356209 0.555677652359 +vn -0.390028774738 0.674186646938 0.627176105976 +vn -0.369171798229 0.707622945309 0.602479815483 +vn -0.369171798229 0.707622945309 0.602479815483 +vn -0.087493650615 0.818190336227 0.568251192570 +vn -0.253249228001 0.791888356209 0.555677652359 +vn -0.087493650615 0.818190336227 0.568251192570 +vn 0.133595734835 0.780554592609 0.610644459724 +vn 0.383149057627 0.722431600094 0.575577437878 +vn 0.383149057627 0.722431600094 0.575577437878 +vn 0.224660709500 0.880128324032 0.418212532997 +vn -0.087493650615 0.818190336227 0.568251192570 +vn -0.015306836925 0.932955980301 0.359664946795 +vn -0.253249228001 0.791888356209 0.555677652359 +vn -0.087493650615 0.818190336227 0.568251192570 +vn -0.087493650615 0.818190336227 0.568251192570 +vn 0.224660709500 0.880128324032 0.418212532997 +vn -0.015306836925 0.932955980301 0.359664946795 +vn 0.224660709500 0.880128324032 0.418212532997 +vn 0.383149057627 0.722431600094 0.575577437878 +vn 0.639663100243 0.702030539513 0.313024312258 +vn 0.639663100243 0.702030539513 0.313024312258 +vn 0.569128751755 0.821337521076 0.038692541420 +vn 0.224660709500 0.880128324032 0.418212532997 +vn 0.337324202061 0.937716066837 -0.083071991801 +vn -0.015306836925 0.932955980301 0.359664946795 +vn 0.224660709500 0.880128324032 0.418212532997 +vn 0.224660709500 0.880128324032 0.418212532997 +vn 0.569128751755 0.821337521076 0.038692541420 +vn 0.337324202061 0.937716066837 -0.083071991801 +vn 0.569128751755 0.821337521076 0.038692541420 +vn 0.639663100243 0.702030539513 0.313024312258 +vn 0.831336021423 0.522877693176 -0.188359692693 +vn 0.831336021423 0.522877693176 -0.188359692693 +vn 0.731158316135 0.601349055767 -0.322159647942 +vn 0.569128751755 0.821337521076 0.038692541420 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.337324202061 0.937716066837 -0.083071991801 +vn 0.569128751755 0.821337521076 0.038692541420 +vn 0.569128751755 0.821337521076 0.038692541420 +vn 0.731158316135 0.601349055767 -0.322159647942 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.708833932877 0.250561743975 -0.659373402596 +vn 0.535544693470 0.275787591934 -0.798206150532 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.731158316135 0.601349055767 -0.322159647942 +vn 0.708833932877 0.250561743975 -0.659373402596 +vn 0.264695346355 0.355452001095 -0.896431982517 +vn 0.153611332178 0.712468445301 -0.684684097767 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.535544693470 0.275787591934 -0.798206150532 +vn 0.264695346355 0.355452001095 -0.896431982517 +vn 0.021702494472 0.953724086285 -0.299898922443 +vn 0.337324202061 0.937716066837 -0.083071991801 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.535955786705 0.643807947636 -0.546134352684 +vn 0.153611332178 0.712468445301 -0.684684097767 +vn 0.021702494472 0.953724086285 -0.299898922443 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn -0.052991427481 0.783603668213 -0.618996977806 +vn 0.153611332178 0.712468445301 -0.684684097767 +vn 0.153611332178 0.712468445301 -0.684684097767 +vn 0.264695346355 0.355452001095 -0.896431982517 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn -0.070092804730 0.916692733765 -0.393397301435 +vn 0.021702494472 0.953724086285 -0.299898922443 +vn 0.153611332178 0.712468445301 -0.684684097767 +vn 0.153611332178 0.712468445301 -0.684684097767 +vn -0.052991427481 0.783603668213 -0.618996977806 +vn -0.070092804730 0.916692733765 -0.393397301435 +vn 0.428585141897 -0.040443520993 -0.902595758438 +vn 0.121029257774 -0.027293033898 -0.992273628712 +vn 0.264695346355 0.355452001095 -0.896431982517 +vn 0.264695346355 0.355452001095 -0.896431982517 +vn 0.535544693470 0.275787591934 -0.798206150532 +vn 0.428585141897 -0.040443520993 -0.902595758438 +vn 0.264695346355 0.355452001095 -0.896431982517 +vn 0.121029257774 -0.027293033898 -0.992273628712 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn -0.349258631468 0.184622913599 -0.918658137321 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn 0.121029257774 -0.027293033898 -0.992273628712 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn 0.428585141897 -0.040443520993 -0.902595758438 +vn 0.099108003080 -0.402736932039 -0.909934401512 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn 0.121029257774 -0.027293033898 -0.992273628712 +vn 0.428585141897 -0.040443520993 -0.902595758438 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn -0.206205829978 -0.702378511429 -0.681280851364 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn 0.099108003080 -0.402736932039 -0.909934401512 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn -0.498195052147 -0.115418910980 -0.859348714352 +vn -0.349258631468 0.184622913599 -0.918658137321 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn -0.048779781908 -0.453738659620 -0.889798700809 +vn -0.206205829978 -0.702378511429 -0.681280851364 +vn -0.498195052147 -0.115418910980 -0.859348714352 +vn 0.226864755154 -0.286887109280 -0.930713772774 +vn -0.194933831692 -0.583831667900 -0.788125216961 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn 0.099108003080 -0.402736932039 -0.909934401512 +vn 0.226864755154 -0.286887109280 -0.930713772774 +vn -0.511326909065 -0.718953311443 -0.470798164606 +vn -0.351192057133 -0.756816744804 -0.551264524460 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn -0.194933831692 -0.583831667900 -0.788125216961 +vn -0.511326909065 -0.718953311443 -0.470798164606 +vn -0.211010664701 -0.782586097717 -0.585690617561 +vn -0.206205829978 -0.702378511429 -0.681280851364 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn -0.182425379753 -0.612416327000 -0.769199073315 +vn -0.351192057133 -0.756816744804 -0.551264524460 +vn -0.211010664701 -0.782586097717 -0.585690617561 +vn -0.672055184841 -0.725156843662 -0.149964749813 +vn -0.485435694456 -0.860150992870 -0.156500682235 +vn -0.351192057133 -0.756816744804 -0.551264524460 +vn -0.351192057133 -0.756816744804 -0.551264524460 +vn -0.511326909065 -0.718953311443 -0.470798164606 +vn -0.672055184841 -0.725156843662 -0.149964749813 +vn -0.410868376493 -0.855570673943 -0.314938157797 +vn -0.211010664701 -0.782586097717 -0.585690617561 +vn -0.351192057133 -0.756816744804 -0.551264524460 +vn -0.351192057133 -0.756816744804 -0.551264524460 +vn -0.485435694456 -0.860150992870 -0.156500682235 +vn -0.410868376493 -0.855570673943 -0.314938157797 +vn -0.719724059105 -0.685022294521 0.112879239023 +vn -0.585420906544 -0.788699448109 0.187711238861 +vn -0.485435694456 -0.860150992870 -0.156500682235 +vn -0.485435694456 -0.860150992870 -0.156500682235 +vn -0.672055184841 -0.725156843662 -0.149964749813 +vn -0.719724059105 -0.685022294521 0.112879239023 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.410868376493 -0.855570673943 -0.314938157797 +vn -0.485435694456 -0.860150992870 -0.156500682235 +vn -0.485435694456 -0.860150992870 -0.156500682235 +vn -0.585420906544 -0.788699448109 0.187711238861 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.674101769924 -0.578337550163 0.459469795227 +vn -0.487536758184 -0.706500649452 0.512995839119 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.585420906544 -0.788699448109 0.187711238861 +vn -0.674101769924 -0.578337550163 0.459469795227 +vn -0.514525294304 -0.731623828411 0.447202742100 +vn -0.184225216508 -0.972478866577 -0.142639294267 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.487536758184 -0.706500649452 0.512995839119 +vn -0.514525294304 -0.731623828411 0.447202742100 +vn -0.101952873170 -0.909801363945 -0.402327060699 +vn -0.410868376493 -0.855570673943 -0.314938157797 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.408026278019 -0.912963032722 -0.003611285938 +vn -0.184225216508 -0.972478866577 -0.142639294267 +vn -0.101952873170 -0.909801363945 -0.402327060699 +vn -0.825821697712 -0.556694149971 -0.090056210756 +vn -0.698746025562 -0.547520458698 -0.460407793522 +vn -0.184225216508 -0.972478866577 -0.142639294267 +vn -0.184225216508 -0.972478866577 -0.142639294267 +vn -0.514525294304 -0.731623828411 0.447202742100 +vn -0.825821697712 -0.556694149971 -0.090056210756 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.101952873170 -0.909801363945 -0.402327060699 +vn -0.184225216508 -0.972478866577 -0.142639294267 +vn -0.184225216508 -0.972478866577 -0.142639294267 +vn -0.698746025562 -0.547520458698 -0.460407793522 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.807156682014 -0.517316579819 0.284396976233 +vn -0.674101769924 -0.578337550163 0.459469795227 +vn -0.585420906544 -0.788699448109 0.187711238861 +vn -0.585420906544 -0.788699448109 0.187711238861 +vn -0.719724059105 -0.685022294521 0.112879239023 +vn -0.807156682014 -0.517316579819 0.284396976233 +vn -0.719724059105 -0.685022294521 0.112879239023 +vn -0.672055184841 -0.725156843662 -0.149964749813 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.938371777534 -0.282592266798 -0.198997437954 +vn -0.719724059105 -0.685022294521 0.112879239023 +vn -0.719724059105 -0.685022294521 0.112879239023 +vn -0.938371777534 -0.282592266798 -0.198997437954 +vn -0.949289202690 -0.309554010630 0.055011600256 +vn -0.949289202690 -0.309554010630 0.055011600256 +vn -0.807156682014 -0.517316579819 0.284396976233 +vn -0.719724059105 -0.685022294521 0.112879239023 +vn -0.949289202690 -0.309554010630 0.055011600256 +vn -0.916460096836 0.020301461220 0.399610698223 +vn -0.858911693096 -0.182994604111 0.478313356638 +vn -0.858911693096 -0.182994604111 0.478313356638 +vn -0.807156682014 -0.517316579819 0.284396976233 +vn -0.949289202690 -0.309554010630 0.055011600256 +vn -0.942147135735 0.238965108991 -0.235062733293 +vn -0.859216272831 0.509000778198 -0.051629338413 +vn -0.916460096836 0.020301461220 0.399610698223 +vn -0.916460096836 0.020301461220 0.399610698223 +vn -0.949289202690 -0.309554010630 0.055011600256 +vn -0.942147135735 0.238965108991 -0.235062733293 +vn -0.671189248562 0.679710924625 0.295800745487 +vn -0.655620634556 0.408538043499 0.635026156902 +vn -0.916460096836 0.020301461220 0.399610698223 +vn -0.916460096836 0.020301461220 0.399610698223 +vn -0.859216272831 0.509000778198 -0.051629338413 +vn -0.671189248562 0.679710924625 0.295800745487 +vn -0.671189248562 0.679710924625 0.295800745487 +vn -0.220427542925 0.888312995434 0.402879327536 +vn -0.227597177029 0.752148985863 0.618442714214 +vn -0.227597177029 0.752148985863 0.618442714214 +vn -0.655620634556 0.408538043499 0.635026156902 +vn -0.671189248562 0.679710924625 0.295800745487 +vn 0.179308205843 0.861584722996 0.474889785051 +vn 0.133595734835 0.780554592609 0.610644459724 +vn -0.227597177029 0.752148985863 0.618442714214 +vn -0.227597177029 0.752148985863 0.618442714214 +vn -0.220427542925 0.888312995434 0.402879327536 +vn 0.179308205843 0.861584722996 0.474889785051 +vn 0.360126763582 0.767400383949 0.530476570129 +vn 0.383149057627 0.722431600094 0.575577437878 +vn 0.133595734835 0.780554592609 0.610644459724 +vn 0.133595734835 0.780554592609 0.610644459724 +vn 0.179308205843 0.861584722996 0.474889785051 +vn 0.360126763582 0.767400383949 0.530476570129 +vn 0.741731941700 0.501786887646 0.445020914078 +vn 0.639663100243 0.702030539513 0.313024312258 +vn 0.383149057627 0.722431600094 0.575577437878 +vn 0.383149057627 0.722431600094 0.575577437878 +vn 0.360126763582 0.767400383949 0.530476570129 +vn 0.741731941700 0.501786887646 0.445020914078 +vn 0.965461432934 0.242496728897 0.095286831260 +vn 0.831336021423 0.522877693176 -0.188359692693 +vn 0.639663100243 0.702030539513 0.313024312258 +vn 0.639663100243 0.702030539513 0.313024312258 +vn 0.741731941700 0.501786887646 0.445020914078 +vn 0.965461432934 0.242496728897 0.095286831260 +vn 0.925407707691 -0.005031303037 -0.378939688206 +vn 0.804847180843 0.152762740850 -0.573484599590 +vn 0.831336021423 0.522877693176 -0.188359692693 +vn 0.831336021423 0.522877693176 -0.188359692693 +vn 0.965461432934 0.242496728897 0.095286831260 +vn 0.925407707691 -0.005031303037 -0.378939688206 +vn 0.831336021423 0.522877693176 -0.188359692693 +vn 0.804847180843 0.152762740850 -0.573484599590 +vn 0.708833932877 0.250561743975 -0.659373402596 +vn 0.708833932877 0.250561743975 -0.659373402596 +vn 0.731158316135 0.601349055767 -0.322159647942 +vn 0.831336021423 0.522877693176 -0.188359692693 +vn 0.652328729630 -0.167368456721 -0.739225983620 +vn 0.492782562971 -0.063800342381 -0.867810368538 +vn 0.708833932877 0.250561743975 -0.659373402596 +vn 0.708833932877 0.250561743975 -0.659373402596 +vn 0.804847180843 0.152762740850 -0.573484599590 +vn 0.652328729630 -0.167368456721 -0.739225983620 +vn 0.492782562971 -0.063800342381 -0.867810368538 +vn 0.652328729630 -0.167368456721 -0.739225983620 +vn 0.449785411358 -0.576989471912 -0.681744992733 +vn 0.449785411358 -0.576989471912 -0.681744992733 +vn 0.226864755154 -0.286887109280 -0.930713772774 +vn 0.492782562971 -0.063800342381 -0.867810368538 +vn 0.099108003080 -0.402736932039 -0.909934401512 +vn 0.428585141897 -0.040443520993 -0.902595758438 +vn 0.492782562971 -0.063800342381 -0.867810368538 +vn 0.492782562971 -0.063800342381 -0.867810368538 +vn 0.226864755154 -0.286887109280 -0.930713772774 +vn 0.099108003080 -0.402736932039 -0.909934401512 +vn 0.535544693470 0.275787591934 -0.798206150532 +vn 0.708833932877 0.250561743975 -0.659373402596 +vn 0.492782562971 -0.063800342381 -0.867810368538 +vn 0.492782562971 -0.063800342381 -0.867810368538 +vn 0.428585141897 -0.040443520993 -0.902595758438 +vn 0.535544693470 0.275787591934 -0.798206150532 +vn 0.449785411358 -0.576989471912 -0.681744992733 +vn -0.122597619891 -0.747514247894 -0.652834057808 +vn -0.194933831692 -0.583831667900 -0.788125216961 +vn -0.194933831692 -0.583831667900 -0.788125216961 +vn 0.226864755154 -0.286887109280 -0.930713772774 +vn 0.449785411358 -0.576989471912 -0.681744992733 +vn -0.633255422115 -0.627966761589 -0.452377378941 +vn -0.511326909065 -0.718953311443 -0.470798164606 +vn -0.194933831692 -0.583831667900 -0.788125216961 +vn -0.194933831692 -0.583831667900 -0.788125216961 +vn -0.122597619891 -0.747514247894 -0.652834057808 +vn -0.633255422115 -0.627966761589 -0.452377378941 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.672055184841 -0.725156843662 -0.149964749813 +vn -0.511326909065 -0.718953311443 -0.470798164606 +vn -0.511326909065 -0.718953311443 -0.470798164606 +vn -0.633255422115 -0.627966761589 -0.452377378941 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.620779097080 -0.438473641872 -0.649903237820 +vn -0.869419932365 0.084259010851 -0.486836105585 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.633255422115 -0.627966761589 -0.452377378941 +vn -0.620779097080 -0.438473641872 -0.649903237820 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.938371777534 -0.282592266798 -0.198997437954 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.892944872379 -0.385881245136 -0.231829911470 +vn -0.869419932365 0.084259010851 -0.486836105585 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.663576424122 0.494282841682 -0.561561048031 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.869419932365 0.084259010851 -0.486836105585 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.670200228691 0.606968700886 -0.427107304335 +vn -0.942147135735 0.238965108991 -0.235062733293 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.663576424122 0.494282841682 -0.561561048031 +vn -0.670200228691 0.606968700886 -0.427107304335 +vn -0.949289202690 -0.309554010630 0.055011600256 +vn -0.938371777534 -0.282592266798 -0.198997437954 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.815596401691 0.281203985214 -0.505694448948 +vn -0.942147135735 0.238965108991 -0.235062733293 +vn -0.949289202690 -0.309554010630 0.055011600256 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.637821733952 0.488461166620 -0.595473885536 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.686485171318 0.092494286597 -0.721237063408 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.663576424122 0.494282841682 -0.561561048031 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.637821733952 0.488461166620 -0.595473885536 +vn -0.821825385094 0.395930439234 -0.409685432911 +vn -0.620779097080 -0.438473641872 -0.649903237820 +vn -0.686485171318 0.092494286597 -0.721237063408 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.671606421471 0.450448870659 -0.588252186775 +vn -0.869419932365 0.084259010851 -0.486836105585 +vn -0.620779097080 -0.438473641872 -0.649903237820 +vn -0.245750382543 0.123391754925 -0.961447477341 +vn -0.490629106760 0.237269863486 -0.838442683220 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.264142423868 -0.036704715341 -0.963784992695 +vn -0.245750382543 0.123391754925 -0.961447477341 +vn -0.721844017506 0.195682883263 -0.663814306259 +vn -0.637821733952 0.488461166620 -0.595473885536 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.490629106760 0.237269863486 -0.838442683220 +vn -0.721844017506 0.195682883263 -0.663814306259 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn -0.264142423868 -0.036704715341 -0.963784992695 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.545747458935 0.283221065998 -0.788635253906 +vn -0.686485171318 0.092494286597 -0.721237063408 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn 0.083382159472 -0.056732505560 -0.994901418686 +vn -0.264142423868 -0.036704715341 -0.963784992695 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn 0.329149395227 -0.467716008425 -0.820306301117 +vn 0.083382159472 -0.056732505560 -0.994901418686 +vn -0.620779097080 -0.438473641872 -0.649903237820 +vn -0.046912796795 -0.729911625385 -0.681929767132 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn -0.686485171318 0.092494286597 -0.721237063408 +vn -0.620779097080 -0.438473641872 -0.649903237820 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn 0.329149395227 -0.467716008425 -0.820306301117 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn -0.183073207736 -0.386103332043 -0.904106438160 +vn -0.046912796795 -0.729911625385 -0.681929767132 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn 0.329149395227 -0.467716008425 -0.820306301117 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn 0.681297540665 -0.322972238064 -0.656903803349 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn -0.122597619891 -0.747514247894 -0.652834057808 +vn 0.449785411358 -0.576989471912 -0.681744992733 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn -0.046912796795 -0.729911625385 -0.681929767132 +vn -0.122597619891 -0.747514247894 -0.652834057808 +vn 0.652328729630 -0.167368456721 -0.739225983620 +vn 0.681297540665 -0.322972238064 -0.656903803349 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn 0.478759437799 -0.663799166679 -0.574595510960 +vn 0.449785411358 -0.576989471912 -0.681744992733 +vn 0.652328729630 -0.167368456721 -0.739225983620 +vn 0.640389323235 0.549518227577 -0.536592245102 +vn 0.502841472626 0.152358904481 -0.850844979286 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn 0.941307663918 0.022298494354 -0.336812436581 +vn 0.640389323235 0.549518227577 -0.536592245102 +vn 0.083382159472 -0.056732505560 -0.994901418686 +vn 0.329149395227 -0.467716008425 -0.820306301117 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn 0.502841472626 0.152358904481 -0.850844979286 +vn 0.083382159472 -0.056732505560 -0.994901418686 +vn 0.925407707691 -0.005031303037 -0.378939688206 +vn 0.941307663918 0.022298494354 -0.336812436581 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn 0.673811018467 -0.258386611938 -0.692253589630 +vn 0.681297540665 -0.322972238064 -0.656903803349 +vn 0.925407707691 -0.005031303037 -0.378939688206 +vn 0.392812073231 0.735419094563 -0.552138984203 +vn 0.325470060110 0.351604342461 -0.877749204636 +vn 0.502841472626 0.152358904481 -0.850844979286 +vn 0.502841472626 0.152358904481 -0.850844979286 +vn 0.640389323235 0.549518227577 -0.536592245102 +vn 0.392812073231 0.735419094563 -0.552138984203 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn 0.083382159472 -0.056732505560 -0.994901418686 +vn 0.502841472626 0.152358904481 -0.850844979286 +vn 0.502841472626 0.152358904481 -0.850844979286 +vn 0.325470060110 0.351604342461 -0.877749204636 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn 0.259521037340 0.371823370457 -0.891289055347 +vn -0.025633789599 0.161498978734 -0.986539900303 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn 0.325470060110 0.351604342461 -0.877749204636 +vn 0.259521037340 0.371823370457 -0.891289055347 +vn -0.240199193358 -0.029700530693 -0.970269143581 +vn -0.245750382543 0.123391754925 -0.961447477341 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn -0.025633789599 0.161498978734 -0.986539900303 +vn -0.240199193358 -0.029700530693 -0.970269143581 +vn -0.264142423868 -0.036704715341 -0.963784992695 +vn 0.083382159472 -0.056732505560 -0.994901418686 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn -0.009588683955 0.158294707537 -0.987345337868 +vn -0.245750382543 0.123391754925 -0.961447477341 +vn -0.264142423868 -0.036704715341 -0.963784992695 +vn 0.341846585274 0.284227907658 -0.895742952824 +vn 0.082963459194 0.056872200221 -0.994928419590 +vn -0.025633789599 0.161498978734 -0.986539900303 +vn -0.025633789599 0.161498978734 -0.986539900303 +vn 0.259521037340 0.371823370457 -0.891289055347 +vn 0.341846585274 0.284227907658 -0.895742952824 +vn -0.157724842429 -0.135115936399 -0.978195548058 +vn -0.240199193358 -0.029700530693 -0.970269143581 +vn -0.025633789599 0.161498978734 -0.986539900303 +vn -0.025633789599 0.161498978734 -0.986539900303 +vn 0.082963459194 0.056872200221 -0.994928419590 +vn -0.157724842429 -0.135115936399 -0.978195548058 +vn 0.419903606176 0.134679481387 -0.897520124912 +vn 0.225545078516 -0.033045161515 -0.973672151566 +vn 0.082963459194 0.056872200221 -0.994928419590 +vn 0.082963459194 0.056872200221 -0.994928419590 +vn 0.341846585274 0.284227907658 -0.895742952824 +vn 0.419903606176 0.134679481387 -0.897520124912 +vn 0.019503040239 -0.172679528594 -0.984784960747 +vn -0.157724842429 -0.135115936399 -0.978195548058 +vn 0.082963459194 0.056872200221 -0.994928419590 +vn 0.082963459194 0.056872200221 -0.994928419590 +vn 0.225545078516 -0.033045161515 -0.973672151566 +vn 0.019503040239 -0.172679528594 -0.984784960747 +vn 0.527154386044 -0.303020209074 -0.793906211853 +vn 0.489780098200 -0.209073856473 -0.846406280994 +vn 0.225545078516 -0.033045161515 -0.973672151566 +vn 0.225545078516 -0.033045161515 -0.973672151566 +vn 0.419903606176 0.134679481387 -0.897520124912 +vn 0.527154386044 -0.303020209074 -0.793906211853 +vn 0.269662439823 -0.263775676489 -0.926123380661 +vn 0.019503040239 -0.172679528594 -0.984784960747 +vn 0.225545078516 -0.033045161515 -0.973672151566 +vn 0.225545078516 -0.033045161515 -0.973672151566 +vn 0.489780098200 -0.209073856473 -0.846406280994 +vn 0.269662439823 -0.263775676489 -0.926123380661 +vn 0.545812249184 -0.730485975742 -0.410462200642 +vn 0.892143607140 -0.373993068933 -0.253394812346 +vn 0.489780098200 -0.209073856473 -0.846406280994 +vn 0.489780098200 -0.209073856473 -0.846406280994 +vn 0.527154386044 -0.303020209074 -0.793906211853 +vn 0.545812249184 -0.730485975742 -0.410462200642 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.269662439823 -0.263775676489 -0.926123380661 +vn 0.489780098200 -0.209073856473 -0.846406280994 +vn 0.489780098200 -0.209073856473 -0.846406280994 +vn 0.892143607140 -0.373993068933 -0.253394812346 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.573986172676 -0.693480610847 -0.435458958149 +vn 0.922906994820 -0.375173211098 -0.086531668901 +vn 0.892143607140 -0.373993068933 -0.253394812346 +vn 0.892143607140 -0.373993068933 -0.253394812346 +vn 0.545812249184 -0.730485975742 -0.410462200642 +vn 0.573986172676 -0.693480610847 -0.435458958149 +vn 0.903819084167 -0.127298012376 -0.408541679382 +vn 0.590395748615 -0.458811551332 -0.664021730423 +vn 0.892143607140 -0.373993068933 -0.253394812346 +vn 0.892143607140 -0.373993068933 -0.253394812346 +vn 0.922906994820 -0.375173211098 -0.086531668901 +vn 0.903819084167 -0.127298012376 -0.408541679382 +vn 0.545812249184 -0.730485975742 -0.410462200642 +vn 0.596728801727 -0.251290261745 -0.762081325054 +vn 0.451178431511 -0.619352042675 -0.642527103424 +vn 0.451178431511 -0.619352042675 -0.642527103424 +vn 0.573986172676 -0.693480610847 -0.435458958149 +vn 0.545812249184 -0.730485975742 -0.410462200642 +vn 0.516787350178 -0.512377858162 -0.685856938362 +vn 0.226000085473 -0.775390207767 -0.589655816555 +vn 0.451178431511 -0.619352042675 -0.642527103424 +vn 0.451178431511 -0.619352042675 -0.642527103424 +vn 0.596728801727 -0.251290261745 -0.762081325054 +vn 0.516787350178 -0.512377858162 -0.685856938362 +vn 0.527154386044 -0.303020209074 -0.793906211853 +vn 0.639553129673 0.242772787809 -0.729405999184 +vn 0.596728801727 -0.251290261745 -0.762081325054 +vn 0.596728801727 -0.251290261745 -0.762081325054 +vn 0.545812249184 -0.730485975742 -0.410462200642 +vn 0.527154386044 -0.303020209074 -0.793906211853 +vn 0.846682190895 0.200712263584 -0.492791861296 +vn 0.516787350178 -0.512377858162 -0.685856938362 +vn 0.596728801727 -0.251290261745 -0.762081325054 +vn 0.596728801727 -0.251290261745 -0.762081325054 +vn 0.639553129673 0.242772787809 -0.729405999184 +vn 0.846682190895 0.200712263584 -0.492791861296 +vn 0.419903606176 0.134679481387 -0.897520124912 +vn 0.739929258823 0.304891109467 -0.599621653557 +vn 0.639553129673 0.242772787809 -0.729405999184 +vn 0.639553129673 0.242772787809 -0.729405999184 +vn 0.527154386044 -0.303020209074 -0.793906211853 +vn 0.419903606176 0.134679481387 -0.897520124912 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.846682190895 0.200712263584 -0.492791861296 +vn 0.639553129673 0.242772787809 -0.729405999184 +vn 0.639553129673 0.242772787809 -0.729405999184 +vn 0.739929258823 0.304891109467 -0.599621653557 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.341846585274 0.284227907658 -0.895742952824 +vn 0.673065066338 0.472372084856 -0.569076478481 +vn 0.739929258823 0.304891109467 -0.599621653557 +vn 0.739929258823 0.304891109467 -0.599621653557 +vn 0.419903606176 0.134679481387 -0.897520124912 +vn 0.341846585274 0.284227907658 -0.895742952824 +vn 0.673065066338 0.472372084856 -0.569076478481 +vn 0.714447438717 0.682991147041 -0.151947423816 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.739929258823 0.304891109467 -0.599621653557 +vn 0.673065066338 0.472372084856 -0.569076478481 +vn 0.467311531305 0.620484113693 -0.629777252674 +vn 0.673065066338 0.472372084856 -0.569076478481 +vn 0.341846585274 0.284227907658 -0.895742952824 +vn 0.341846585274 0.284227907658 -0.895742952824 +vn 0.259521037340 0.371823370457 -0.891289055347 +vn 0.467311531305 0.620484113693 -0.629777252674 +vn 0.392812073231 0.735419094563 -0.552138984203 +vn 0.467311531305 0.620484113693 -0.629777252674 +vn 0.259521037340 0.371823370457 -0.891289055347 +vn 0.259521037340 0.371823370457 -0.891289055347 +vn 0.325470060110 0.351604342461 -0.877749204636 +vn 0.392812073231 0.735419094563 -0.552138984203 +vn 0.452918559313 0.890388429165 -0.045532457530 +vn 0.392812073231 0.735419094563 -0.552138984203 +vn 0.640389323235 0.549518227577 -0.536592245102 +vn 0.640389323235 0.549518227577 -0.536592245102 +vn 0.516383767128 0.829848945141 -0.211420193315 +vn 0.452918559313 0.890388429165 -0.045532457530 +vn 0.910326242447 0.412144482136 0.037987414747 +vn 0.516383767128 0.829848945141 -0.211420193315 +vn 0.640389323235 0.549518227577 -0.536592245102 +vn 0.640389323235 0.549518227577 -0.536592245102 +vn 0.941307663918 0.022298494354 -0.336812436581 +vn 0.910326242447 0.412144482136 0.037987414747 +vn 0.925407707691 -0.005031303037 -0.378939688206 +vn 0.965461432934 0.242496728897 0.095286831260 +vn 0.910326242447 0.412144482136 0.037987414747 +vn 0.910326242447 0.412144482136 0.037987414747 +vn 0.941307663918 0.022298494354 -0.336812436581 +vn 0.925407707691 -0.005031303037 -0.378939688206 +vn 0.741731941700 0.501786887646 0.445020914078 +vn 0.614409804344 0.747312724590 0.253030240536 +vn 0.910326242447 0.412144482136 0.037987414747 +vn 0.910326242447 0.412144482136 0.037987414747 +vn 0.965461432934 0.242496728897 0.095286831260 +vn 0.741731941700 0.501786887646 0.445020914078 +vn 0.326792329550 0.941127479076 0.086521036923 +vn 0.080189734697 0.994042217731 0.073822200298 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.366194635630 0.921540796757 -0.129089444876 +vn 0.326792329550 0.941127479076 0.086521036923 +vn 0.326792329550 0.941127479076 0.086521036923 +vn 0.452918559313 0.890388429165 -0.045532457530 +vn 0.516383767128 0.829848945141 -0.211420193315 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.080189734697 0.994042217731 0.073822200298 +vn 0.326792329550 0.941127479076 0.086521036923 +vn 0.326792329550 0.941127479076 0.086521036923 +vn 0.614409804344 0.747312724590 0.253030240536 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.012269859202 0.997172594070 0.074136719108 +vn 0.080189734697 0.994042217731 0.073822200298 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.132539749146 0.945317745209 0.298005938530 +vn 0.012269859202 0.997172594070 0.074136719108 +vn 0.741731941700 0.501786887646 0.445020914078 +vn 0.360126763582 0.767400383949 0.530476570129 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.614409804344 0.747312724590 0.253030240536 +vn 0.741731941700 0.501786887646 0.445020914078 +vn 0.179308205843 0.861584722996 0.474889785051 +vn 0.132539749146 0.945317745209 0.298005938530 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.293927401304 0.907257616520 0.300816118717 +vn 0.360126763582 0.767400383949 0.530476570129 +vn 0.179308205843 0.861584722996 0.474889785051 +vn 0.012269859202 0.997172594070 0.074136719108 +vn -0.239098101854 0.963960468769 -0.116671897471 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn 0.033008869737 0.924311041832 -0.380209892988 +vn 0.012269859202 0.997172594070 0.074136719108 +vn 0.012269859202 0.997172594070 0.074136719108 +vn 0.033008869737 0.924311041832 -0.380209892988 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.273158043623 0.934740722179 -0.227254107594 +vn 0.080189734697 0.994042217731 0.073822200298 +vn 0.012269859202 0.997172594070 0.074136719108 +vn -0.204309478402 0.943660676479 0.260311752558 +vn -0.239098101854 0.963960468769 -0.116671897471 +vn 0.012269859202 0.997172594070 0.074136719108 +vn 0.012269859202 0.997172594070 0.074136719108 +vn 0.132539749146 0.945317745209 0.298005938530 +vn -0.204309478402 0.943660676479 0.260311752558 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn -0.239098101854 0.963960468769 -0.116671897471 +vn -0.347453445196 0.917836844921 -0.191967740655 +vn -0.347453445196 0.917836844921 -0.191967740655 +vn -0.785289108753 0.476154029369 -0.395725131035 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.437514305115 0.716767847538 -0.542977988720 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn -0.785289108753 0.476154029369 -0.395725131035 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.016478214413 0.889357864857 -0.456914693117 +vn 0.033008869737 0.924311041832 -0.380209892988 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn -0.330062657595 0.835152924061 -0.439975202084 +vn -0.437514305115 0.716767847538 -0.542977988720 +vn -0.016478214413 0.889357864857 -0.456914693117 +vn -0.952616810799 -0.174849286675 -0.248895525932 +vn -0.788645088673 -0.409951418638 -0.458234369755 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.785289108753 0.476154029369 -0.395725131035 +vn -0.952616810799 -0.174849286675 -0.248895525932 +vn -0.678252398968 -0.455122470856 -0.576920449734 +vn -0.677218377590 0.363926440477 -0.639478564262 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.788645088673 -0.409951418638 -0.458234369755 +vn -0.678252398968 -0.455122470856 -0.576920449734 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.437514305115 0.716767847538 -0.542977988720 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.768199086189 0.245171323419 -0.591406106949 +vn -0.677218377590 0.363926440477 -0.639478564262 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.984319269657 -0.152193680406 0.089177437127 +vn -0.893771290779 0.433860689402 0.113744199276 +vn -0.677218377590 0.363926440477 -0.639478564262 +vn -0.677218377590 0.363926440477 -0.639478564262 +vn -0.678252398968 -0.455122470856 -0.576920449734 +vn -0.984319269657 -0.152193680406 0.089177437127 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.677218377590 0.363926440477 -0.639478564262 +vn -0.677218377590 0.363926440477 -0.639478564262 +vn -0.893771290779 0.433860689402 0.113744199276 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.662463724613 -0.694501161575 -0.280731111765 +vn -0.569882392883 -0.781691014767 -0.253363668919 +vn -0.678252398968 -0.455122470856 -0.576920449734 +vn -0.678252398968 -0.455122470856 -0.576920449734 +vn -0.788645088673 -0.409951418638 -0.458234369755 +vn -0.662463724613 -0.694501161575 -0.280731111765 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.984319269657 -0.152193680406 0.089177437127 +vn -0.678252398968 -0.455122470856 -0.576920449734 +vn -0.678252398968 -0.455122470856 -0.576920449734 +vn -0.569882392883 -0.781691014767 -0.253363668919 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.528669953346 -0.833349883556 0.161356776953 +vn -0.594703376293 -0.397734880447 0.698666512966 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.569882392883 -0.781691014767 -0.253363668919 +vn -0.528669953346 -0.833349883556 0.161356776953 +vn -0.503477275372 0.329060941935 0.798892676830 +vn -0.411217749119 0.406187385321 0.816034138203 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.594703376293 -0.397734880447 0.698666512966 +vn -0.503477275372 0.329060941935 0.798892676830 +vn -0.370860576630 0.350416839123 0.860040962696 +vn -0.984319269657 -0.152193680406 0.089177437127 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.763610422611 -0.477208584547 0.434937983751 +vn -0.411217749119 0.406187385321 0.816034138203 +vn -0.370860576630 0.350416839123 0.860040962696 +vn -0.399748653173 -0.843661308289 0.358380526304 +vn -0.621104836464 -0.359912663698 0.696197986603 +vn -0.594703376293 -0.397734880447 0.698666512966 +vn -0.594703376293 -0.397734880447 0.698666512966 +vn -0.528669953346 -0.833349883556 0.161356776953 +vn -0.399748653173 -0.843661308289 0.358380526304 +vn -0.502772688866 0.431714475155 0.748894035816 +vn -0.503477275372 0.329060941935 0.798892676830 +vn -0.594703376293 -0.397734880447 0.698666512966 +vn -0.594703376293 -0.397734880447 0.698666512966 +vn -0.621104836464 -0.359912663698 0.696197986603 +vn -0.502772688866 0.431714475155 0.748894035816 +vn -0.211216762662 -0.001241557067 0.977438449860 +vn -0.457814812660 0.521315336227 0.720163822174 +vn -0.502772688866 0.431714475155 0.748894035816 +vn -0.502772688866 0.431714475155 0.748894035816 +vn -0.621104836464 -0.359912663698 0.696197986603 +vn -0.211216762662 -0.001241557067 0.977438449860 +vn 0.505942106247 0.540051519871 0.672582268715 +vn 0.263727605343 0.610503315926 0.746815502644 +vn -0.253069043159 0.614814400673 0.746966719627 +vn -0.253069043159 0.614814400673 0.746966719627 +vn -0.020327450708 0.685757458210 0.727546215057 +vn 0.505942106247 0.540051519871 0.672582268715 +vn 0.370204120874 0.758121490479 0.536843240261 +vn 0.132363051176 0.588919281960 0.797279179096 +vn -0.253069043159 0.614814400673 0.746966719627 +vn -0.253069043159 0.614814400673 0.746966719627 +vn 0.263727605343 0.610503315926 0.746815502644 +vn 0.370204120874 0.758121490479 0.536843240261 +vn 0.453169703484 0.481266558170 0.750346422195 +vn 0.660578846931 0.637442171574 0.396614521742 +vn 0.263727605343 0.610503315926 0.746815502644 +vn 0.263727605343 0.610503315926 0.746815502644 +vn 0.505942106247 0.540051519871 0.672582268715 +vn 0.453169703484 0.481266558170 0.750346422195 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.370204120874 0.758121490479 0.536843240261 +vn 0.263727605343 0.610503315926 0.746815502644 +vn 0.263727605343 0.610503315926 0.746815502644 +vn 0.660578846931 0.637442171574 0.396614521742 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.608070433140 0.728028059006 0.316584140062 +vn 0.536262750626 0.829411447048 0.156521141529 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.660578846931 0.637442171574 0.396614521742 +vn 0.608070433140 0.728028059006 0.316584140062 +vn 0.286273032427 0.950327754021 -0.122167788446 +vn 0.267536640167 0.962516665459 -0.044562082738 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.536262750626 0.829411447048 0.156521141529 +vn 0.286273032427 0.950327754021 -0.122167788446 +vn 0.112411670387 0.934677660465 0.337255597115 +vn 0.370204120874 0.758121490479 0.536843240261 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.542481601238 0.822646200657 0.170196890831 +vn 0.267536640167 0.962516665459 -0.044562082738 +vn 0.112411670387 0.934677660465 0.337255597115 +vn -0.086963027716 0.905135571957 -0.416133403778 +vn -0.047376774251 0.985158741474 0.164977937937 +vn 0.267536640167 0.962516665459 -0.044562082738 +vn 0.267536640167 0.962516665459 -0.044562082738 +vn 0.286273032427 0.950327754021 -0.122167788446 +vn -0.086963027716 0.905135571957 -0.416133403778 +vn -0.408763051033 0.858367443085 0.310029268265 +vn 0.112411670387 0.934677660465 0.337255597115 +vn 0.267536640167 0.962516665459 -0.044562082738 +vn 0.267536640167 0.962516665459 -0.044562082738 +vn -0.047376774251 0.985158741474 0.164977937937 +vn -0.408763051033 0.858367443085 0.310029268265 +vn 0.536262750626 0.829411447048 0.156521141529 +vn 0.608070433140 0.728028059006 0.316584140062 +vn 0.818057775497 0.564850091934 0.108286269009 +vn 0.818057775497 0.564850091934 0.108286269009 +vn 0.518993139267 0.853364884853 -0.049137547612 +vn 0.536262750626 0.829411447048 0.156521141529 +vn 0.518993139267 0.853364884853 -0.049137547612 +vn 0.193438187242 0.920349657536 -0.339909076691 +vn 0.286273032427 0.950327754021 -0.122167788446 +vn 0.286273032427 0.950327754021 -0.122167788446 +vn 0.536262750626 0.829411447048 0.156521141529 +vn 0.518993139267 0.853364884853 -0.049137547612 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.679521858692 0.707831799984 -0.192935630679 +vn 0.518993139267 0.853364884853 -0.049137547612 +vn 0.518993139267 0.853364884853 -0.049137547612 +vn 0.818057775497 0.564850091934 0.108286269009 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.277653843164 0.886079668999 -0.371175289154 +vn 0.193438187242 0.920349657536 -0.339909076691 +vn 0.518993139267 0.853364884853 -0.049137547612 +vn 0.518993139267 0.853364884853 -0.049137547612 +vn 0.679521858692 0.707831799984 -0.192935630679 +vn 0.277653843164 0.886079668999 -0.371175289154 +vn 0.864150702953 0.126768007874 0.487004548311 +vn 0.831018924713 0.197237804532 0.520100772381 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.818057775497 0.564850091934 0.108286269009 +vn 0.864150702953 0.126768007874 0.487004548311 +vn 0.437919378281 0.522179126740 0.731816649437 +vn 0.538406550884 0.777243494987 0.325593203306 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.831018924713 0.197237804532 0.520100772381 +vn 0.437919378281 0.522179126740 0.731816649437 +vn 0.580039501190 0.810850262642 -0.077948980033 +vn 0.679521858692 0.707831799984 -0.192935630679 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.872674405575 0.488287925720 -0.003779047867 +vn 0.538406550884 0.777243494987 0.325593203306 +vn 0.580039501190 0.810850262642 -0.077948980033 +vn 0.219829887152 0.614850819111 0.757385849953 +vn 0.271541535854 0.878055930138 0.394059598446 +vn 0.538406550884 0.777243494987 0.325593203306 +vn 0.538406550884 0.777243494987 0.325593203306 +vn 0.437919378281 0.522179126740 0.731816649437 +vn 0.219829887152 0.614850819111 0.757385849953 +vn 0.318014234304 0.945945560932 -0.063670635223 +vn 0.580039501190 0.810850262642 -0.077948980033 +vn 0.538406550884 0.777243494987 0.325593203306 +vn 0.538406550884 0.777243494987 0.325593203306 +vn 0.271541535854 0.878055930138 0.394059598446 +vn 0.318014234304 0.945945560932 -0.063670635223 +vn 0.518912613392 -0.007385498378 0.854795396328 +vn 0.169710069895 0.354005783796 0.919716477394 +vn 0.437919378281 0.522179126740 0.731816649437 +vn 0.437919378281 0.522179126740 0.731816649437 +vn 0.831018924713 0.197237804532 0.520100772381 +vn 0.518912613392 -0.007385498378 0.854795396328 +vn 0.075094878674 0.432029217482 0.898727715015 +vn 0.219829887152 0.614850819111 0.757385849953 +vn 0.437919378281 0.522179126740 0.731816649437 +vn 0.437919378281 0.522179126740 0.731816649437 +vn 0.169710069895 0.354005783796 0.919716477394 +vn 0.075094878674 0.432029217482 0.898727715015 +vn 0.029441878200 0.010064356960 0.999515831470 +vn -0.035715855658 0.282992452383 0.958456933498 +vn 0.169710069895 0.354005783796 0.919716477394 +vn 0.169710069895 0.354005783796 0.919716477394 +vn 0.518912613392 -0.007385498378 0.854795396328 +vn 0.029441878200 0.010064356960 0.999515831470 +vn -0.050312381238 0.219402447343 0.974336326122 +vn 0.075094878674 0.432029217482 0.898727715015 +vn 0.169710069895 0.354005783796 0.919716477394 +vn 0.169710069895 0.354005783796 0.919716477394 +vn -0.035715855658 0.282992452383 0.958456933498 +vn -0.050312381238 0.219402447343 0.974336326122 +vn -0.193375051022 0.128279089928 0.972702741623 +vn -0.112385883927 -0.013062778860 0.993578791618 +vn -0.050312381238 0.219402447343 0.974336326122 +vn -0.050312381238 0.219402447343 0.974336326122 +vn -0.035715855658 0.282992452383 0.958456933498 +vn -0.193375051022 0.128279089928 0.972702741623 +vn -0.004842369352 -0.090278387070 0.995904803276 +vn -0.085905134678 0.072124846280 0.993689239025 +vn -0.050312381238 0.219402447343 0.974336326122 +vn -0.050312381238 0.219402447343 0.974336326122 +vn -0.112385883927 -0.013062778860 0.993578791618 +vn -0.004842369352 -0.090278387070 0.995904803276 +vn 0.058739125729 0.414347767830 0.908221125603 +vn 0.075094878674 0.432029217482 0.898727715015 +vn -0.050312381238 0.219402447343 0.974336326122 +vn -0.050312381238 0.219402447343 0.974336326122 +vn -0.085905134678 0.072124846280 0.993689239025 +vn 0.058739125729 0.414347767830 0.908221125603 +vn -0.263161271811 0.103435955942 0.959190905094 +vn -0.193375051022 0.128279089928 0.972702741623 +vn -0.035715855658 0.282992452383 0.958456933498 +vn -0.035715855658 0.282992452383 0.958456933498 +vn 0.029441878200 0.010064356960 0.999515831470 +vn -0.263161271811 0.103435955942 0.959190905094 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn -0.263161271811 0.103435955942 0.959190905094 +vn 0.029441878200 0.010064356960 0.999515831470 +vn 0.029441878200 0.010064356960 0.999515831470 +vn 0.135830074549 -0.343074232340 0.929435431957 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn 0.600048422813 -0.203632548451 0.773612141609 +vn 0.135830074549 -0.343074232340 0.929435431957 +vn 0.029441878200 0.010064356960 0.999515831470 +vn 0.029441878200 0.010064356960 0.999515831470 +vn 0.518912613392 -0.007385498378 0.854795396328 +vn 0.600048422813 -0.203632548451 0.773612141609 +vn 0.600048422813 -0.203632548451 0.773612141609 +vn 0.455256909132 0.154836475849 0.876793503761 +vn 0.208336263895 -0.278127074242 0.937678694725 +vn 0.208336263895 -0.278127074242 0.937678694725 +vn 0.135830074549 -0.343074232340 0.929435431957 +vn 0.600048422813 -0.203632548451 0.773612141609 +vn 0.831018924713 0.197237804532 0.520100772381 +vn 0.864150702953 0.126768007874 0.487004548311 +vn 0.600048422813 -0.203632548451 0.773612141609 +vn 0.600048422813 -0.203632548451 0.773612141609 +vn 0.518912613392 -0.007385498378 0.854795396328 +vn 0.831018924713 0.197237804532 0.520100772381 +vn 0.455256909132 0.154836475849 0.876793503761 +vn 0.600048422813 -0.203632548451 0.773612141609 +vn 0.864150702953 0.126768007874 0.487004548311 +vn 0.864150702953 0.126768007874 0.487004548311 +vn 0.512911856174 0.478652119637 0.712610423565 +vn 0.455256909132 0.154836475849 0.876793503761 +vn 0.818057775497 0.564850091934 0.108286269009 +vn 0.608070433140 0.728028059006 0.316584140062 +vn 0.512911856174 0.478652119637 0.712610423565 +vn 0.512911856174 0.478652119637 0.712610423565 +vn 0.864150702953 0.126768007874 0.487004548311 +vn 0.818057775497 0.564850091934 0.108286269009 +vn 0.184182494879 -0.197999864817 0.962742388248 +vn 0.208336263895 -0.278127074242 0.937678694725 +vn 0.455256909132 0.154836475849 0.876793503761 +vn 0.455256909132 0.154836475849 0.876793503761 +vn 0.441284209490 0.209403678775 0.872592866421 +vn 0.184182494879 -0.197999864817 0.962742388248 +vn 0.453169703484 0.481266558170 0.750346422195 +vn 0.441284209490 0.209403678775 0.872592866421 +vn 0.455256909132 0.154836475849 0.876793503761 +vn 0.455256909132 0.154836475849 0.876793503761 +vn 0.512911856174 0.478652119637 0.712610423565 +vn 0.453169703484 0.481266558170 0.750346422195 +vn -0.178030878305 -0.583501636982 0.792357742786 +vn -0.210569992661 -0.581241369247 0.786014497280 +vn 0.208336263895 -0.278127074242 0.937678694725 +vn 0.208336263895 -0.278127074242 0.937678694725 +vn 0.184182494879 -0.197999864817 0.962742388248 +vn -0.178030878305 -0.583501636982 0.792357742786 +vn 0.208336263895 -0.278127074242 0.937678694725 +vn -0.210569992661 -0.581241369247 0.786014497280 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn 0.135830074549 -0.343074232340 0.929435431957 +vn 0.208336263895 -0.278127074242 0.937678694725 +vn -0.673517167568 -0.634575307369 0.379063099623 +vn -0.755936682224 -0.078634925187 0.649904847145 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn -0.265029519796 -0.254425883293 0.930068194866 +vn -0.210569992661 -0.581241369247 0.786014497280 +vn -0.673517167568 -0.634575307369 0.379063099623 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.887668788433 0.052449654788 0.457485646009 +vn -0.755936682224 -0.078634925187 0.649904847145 +vn -0.755936682224 -0.078634925187 0.649904847145 +vn -0.673517167568 -0.634575307369 0.379063099623 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.859815657139 -0.502162754536 -0.092464320362 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.887668788433 0.052449654788 0.457485646009 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.498376756907 -0.793012082577 0.350360482931 +vn -0.600404083729 -0.799385666847 0.022305326536 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.673517167568 -0.634575307369 0.379063099623 +vn -0.498376756907 -0.793012082577 0.350360482931 +vn -0.662463724613 -0.694501161575 -0.280731111765 +vn -0.859815657139 -0.502162754536 -0.092464320362 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.823928177357 -0.558669090271 0.095032870770 +vn -0.600404083729 -0.799385666847 0.022305326536 +vn -0.662463724613 -0.694501161575 -0.280731111765 +vn -0.399748653173 -0.843661308289 0.358380526304 +vn -0.528669953346 -0.833349883556 0.161356776953 +vn -0.600404083729 -0.799385666847 0.022305326536 +vn -0.600404083729 -0.799385666847 0.022305326536 +vn -0.498376756907 -0.793012082577 0.350360482931 +vn -0.399748653173 -0.843661308289 0.358380526304 +vn -0.569882392883 -0.781691014767 -0.253363668919 +vn -0.662463724613 -0.694501161575 -0.280731111765 +vn -0.600404083729 -0.799385666847 0.022305326536 +vn -0.600404083729 -0.799385666847 0.022305326536 +vn -0.528669953346 -0.833349883556 0.161356776953 +vn -0.569882392883 -0.781691014767 -0.253363668919 +vn -0.210569992661 -0.581241369247 0.786014497280 +vn -0.178030878305 -0.583501636982 0.792357742786 +vn -0.498376756907 -0.793012082577 0.350360482931 +vn -0.498376756907 -0.793012082577 0.350360482931 +vn -0.673517167568 -0.634575307369 0.379063099623 +vn -0.210569992661 -0.581241369247 0.786014497280 +vn -0.019606690854 -0.578665554523 0.815329253674 +vn -0.399748653173 -0.843661308289 0.358380526304 +vn -0.498376756907 -0.793012082577 0.350360482931 +vn -0.498376756907 -0.793012082577 0.350360482931 +vn -0.178030878305 -0.583501636982 0.792357742786 +vn -0.019606690854 -0.578665554523 0.815329253674 +vn -0.952616810799 -0.174849286675 -0.248895525932 +vn -0.839950859547 0.531240165234 0.110753878951 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.859815657139 -0.502162754536 -0.092464320362 +vn -0.952616810799 -0.174849286675 -0.248895525932 +vn -0.659432172775 0.712318539619 0.240315511823 +vn -0.727394163609 0.509469330311 0.459715932608 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.839950859547 0.531240165234 0.110753878951 +vn -0.659432172775 0.712318539619 0.240315511823 +vn -0.697707474232 0.421750694513 0.579077363014 +vn -0.887668788433 0.052449654788 0.457485646009 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.944252073765 0.136449009180 0.299615949392 +vn -0.727394163609 0.509469330311 0.459715932608 +vn -0.697707474232 0.421750694513 0.579077363014 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.768063783646 0.480185359716 0.423674464226 +vn -0.727394163609 0.509469330311 0.459715932608 +vn -0.727394163609 0.509469330311 0.459715932608 +vn -0.659432172775 0.712318539619 0.240315511823 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.724714219570 0.435234844685 0.534190952778 +vn -0.697707474232 0.421750694513 0.579077363014 +vn -0.727394163609 0.509469330311 0.459715932608 +vn -0.727394163609 0.509469330311 0.459715932608 +vn -0.768063783646 0.480185359716 0.423674464226 +vn -0.724714219570 0.435234844685 0.534190952778 +vn -0.809710144997 0.519156396389 -0.273580133915 +vn -0.904745161533 0.424362540245 0.036777820438 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.675162792206 0.732949554920 -0.083307720721 +vn -0.809710144997 0.519156396389 -0.273580133915 +vn -0.880949735641 0.343913435936 0.325040131807 +vn -0.768063783646 0.480185359716 0.423674464226 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.904745161533 0.424362540245 0.036777820438 +vn -0.880949735641 0.343913435936 0.325040131807 +vn -0.446603745222 0.894501268864 0.020310429856 +vn -0.675162792206 0.732949554920 -0.083307720721 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.778490006924 0.600795805454 0.181652903557 +vn -0.659432172775 0.712318539619 0.240315511823 +vn -0.446603745222 0.894501268864 0.020310429856 +vn -0.670200228691 0.606968700886 -0.427107304335 +vn -0.809710144997 0.519156396389 -0.273580133915 +vn -0.675162792206 0.732949554920 -0.083307720721 +vn -0.675162792206 0.732949554920 -0.083307720721 +vn -0.649198472500 0.702223300934 -0.292273372412 +vn -0.670200228691 0.606968700886 -0.427107304335 +vn -0.508762955666 0.860877335072 -0.007104512304 +vn -0.649198472500 0.702223300934 -0.292273372412 +vn -0.675162792206 0.732949554920 -0.083307720721 +vn -0.675162792206 0.732949554920 -0.083307720721 +vn -0.446603745222 0.894501268864 0.020310429856 +vn -0.508762955666 0.860877335072 -0.007104512304 +vn -0.671189248562 0.679710924625 0.295800745487 +vn -0.859216272831 0.509000778198 -0.051629338413 +vn -0.649198472500 0.702223300934 -0.292273372412 +vn -0.649198472500 0.702223300934 -0.292273372412 +vn -0.508762955666 0.860877335072 -0.007104512304 +vn -0.671189248562 0.679710924625 0.295800745487 +vn -0.942147135735 0.238965108991 -0.235062733293 +vn -0.670200228691 0.606968700886 -0.427107304335 +vn -0.649198472500 0.702223300934 -0.292273372412 +vn -0.649198472500 0.702223300934 -0.292273372412 +vn -0.859216272831 0.509000778198 -0.051629338413 +vn -0.942147135735 0.238965108991 -0.235062733293 +vn -0.952616810799 -0.174849286675 -0.248895525932 +vn -0.785289108753 0.476154029369 -0.395725131035 +vn -0.347453445196 0.917836844921 -0.191967740655 +vn -0.347453445196 0.917836844921 -0.191967740655 +vn -0.839950859547 0.531240165234 0.110753878951 +vn -0.952616810799 -0.174849286675 -0.248895525932 +vn -0.788645088673 -0.409951418638 -0.458234369755 +vn -0.952616810799 -0.174849286675 -0.248895525932 +vn -0.859815657139 -0.502162754536 -0.092464320362 +vn -0.859815657139 -0.502162754536 -0.092464320362 +vn -0.662463724613 -0.694501161575 -0.280731111765 +vn -0.788645088673 -0.409951418638 -0.458234369755 +vn 0.158309683204 -0.178065404296 0.971200704575 +vn -0.019606690854 -0.578665554523 0.815329253674 +vn -0.178030878305 -0.583501636982 0.792357742786 +vn -0.178030878305 -0.583501636982 0.792357742786 +vn 0.184182494879 -0.197999864817 0.962742388248 +vn 0.158309683204 -0.178065404296 0.971200704575 +vn 0.411596596241 0.156486570835 0.897830843925 +vn 0.158309683204 -0.178065404296 0.971200704575 +vn 0.184182494879 -0.197999864817 0.962742388248 +vn 0.184182494879 -0.197999864817 0.962742388248 +vn 0.441284209490 0.209403678775 0.872592866421 +vn 0.411596596241 0.156486570835 0.897830843925 +vn 0.505942106247 0.540051519871 0.672582268715 +vn 0.411596596241 0.156486570835 0.897830843925 +vn 0.441284209490 0.209403678775 0.872592866421 +vn 0.441284209490 0.209403678775 0.872592866421 +vn 0.453169703484 0.481266558170 0.750346422195 +vn 0.505942106247 0.540051519871 0.672582268715 +vn 0.660578846931 0.637442171574 0.396614521742 +vn 0.453169703484 0.481266558170 0.750346422195 +vn 0.512911856174 0.478652119637 0.712610423565 +vn 0.512911856174 0.478652119637 0.712610423565 +vn 0.608070433140 0.728028059006 0.316584140062 +vn 0.660578846931 0.637442171574 0.396614521742 +vn -0.019606690854 -0.578665554523 0.815329253674 +vn -0.211216762662 -0.001241557067 0.977438449860 +vn -0.621104836464 -0.359912663698 0.696197986603 +vn -0.621104836464 -0.359912663698 0.696197986603 +vn -0.399748653173 -0.843661308289 0.358380526304 +vn -0.019606690854 -0.578665554523 0.815329253674 +vn -0.220427542925 0.888312995434 0.402879327536 +vn -0.204309478402 0.943660676479 0.260311752558 +vn 0.132539749146 0.945317745209 0.298005938530 +vn 0.132539749146 0.945317745209 0.298005938530 +vn 0.179308205843 0.861584722996 0.474889785051 +vn -0.220427542925 0.888312995434 0.402879327536 +vn 0.804847180843 0.152762740850 -0.573484599590 +vn 0.925407707691 -0.005031303037 -0.378939688206 +vn 0.681297540665 -0.322972238064 -0.656903803349 +vn 0.681297540665 -0.322972238064 -0.656903803349 +vn 0.652328729630 -0.167368456721 -0.739225983620 +vn 0.804847180843 0.152762740850 -0.573484599590 +vn -0.633255422115 -0.627966761589 -0.452377378941 +vn -0.122597619891 -0.747514247894 -0.652834057808 +vn -0.046912796795 -0.729911625385 -0.681929767132 +vn -0.046912796795 -0.729911625385 -0.681929767132 +vn -0.620779097080 -0.438473641872 -0.649903237820 +vn -0.633255422115 -0.627966761589 -0.452377378941 +vn -0.220427542925 0.888312995434 0.402879327536 +vn -0.671189248562 0.679710924625 0.295800745487 +vn -0.508762955666 0.860877335072 -0.007104512304 +vn -0.508762955666 0.860877335072 -0.007104512304 +vn -0.204309478402 0.943660676479 0.260311752558 +vn -0.220427542925 0.888312995434 0.402879327536 +vn -0.340392619371 0.609669387341 0.715846419334 +vn -0.390028774738 0.674186646938 0.627176105976 +vn -0.253249228001 0.791888356209 0.555677652359 +vn -0.253249228001 0.791888356209 0.555677652359 +vn -0.318106293678 0.808898806572 0.494460374117 +vn -0.340392619371 0.609669387341 0.715846419334 +vn -0.461934238672 0.250010490417 0.850947439671 +vn -0.447341591120 0.339131593704 0.827571868896 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.283286154270 0.279502421618 0.917402505875 +vn -0.461934238672 0.250010490417 0.850947439671 +vn -0.408763051033 0.858367443085 0.310029268265 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.573439121246 0.774328887463 0.267548710108 +vn -0.447341591120 0.339131593704 0.827571868896 +vn -0.408763051033 0.858367443085 0.310029268265 +vn 0.112411670387 0.934677660465 0.337255597115 +vn -0.408763051033 0.858367443085 0.310029268265 +vn -0.447341591120 0.339131593704 0.827571868896 +vn -0.447341591120 0.339131593704 0.827571868896 +vn -0.387950241566 0.306505471468 0.869223237038 +vn 0.112411670387 0.934677660465 0.337255597115 +vn -0.949271559715 0.198618978262 0.243790954351 +vn -0.880949735641 0.343913435936 0.325040131807 +vn -0.904745161533 0.424362540245 0.036777820438 +vn -0.904745161533 0.424362540245 0.036777820438 +vn -0.971087098122 0.209993973374 -0.113544560969 +vn -0.949271559715 0.198618978262 0.243790954351 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.678752899170 0.244429960847 0.692494392395 +vn -0.678752899170 0.244429960847 0.692494392395 +vn -0.576891720295 -0.135861605406 0.805442452431 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.193375051022 0.128279089928 0.972702741623 +vn -0.263161271811 0.103435955942 0.959190905094 +vn -0.263161271811 0.103435955942 0.959190905094 +vn -0.577125847340 0.201278433204 0.791462421417 +vn -0.355250090361 -0.150804743171 0.922526597977 +vn -0.157724842429 -0.135115936399 -0.978195548058 +vn -0.441548943520 -0.284639060497 -0.850890815258 +vn -0.423912823200 -0.341173976660 -0.838986456394 +vn -0.423912823200 -0.341173976660 -0.838986456394 +vn -0.240199193358 -0.029700530693 -0.970269143581 +vn -0.157724842429 -0.135115936399 -0.978195548058 +vn 0.051451597363 -0.920796453953 0.386635005474 +vn -0.062123641372 -0.885799050331 0.459892094135 +vn -0.015824938193 -0.742880165577 0.669237315655 +vn -0.015824938193 -0.742880165577 0.669237315655 +vn 0.059519782662 -0.753729641438 0.654483735561 +vn 0.051451597363 -0.920796453953 0.386635005474 +vn -0.489858627319 -0.656127095222 0.574052095413 +vn -0.470662862062 -0.460005283356 0.752908766270 +vn -0.281399369240 -0.574816942215 0.768374800682 +vn -0.281399369240 -0.574816942215 0.768374800682 +vn -0.261888325214 -0.752726018429 0.604001641273 +vn -0.489858627319 -0.656127095222 0.574052095413 +vn -0.439621299505 -0.798366189003 0.411514908075 +vn -0.489858627319 -0.656127095222 0.574052095413 +vn -0.261888325214 -0.752726018429 0.604001641273 +vn -0.261888325214 -0.752726018429 0.604001641273 +vn -0.180149838328 -0.906361877918 0.382170349360 +vn -0.439621299505 -0.798366189003 0.411514908075 +vn -0.333943217993 -0.910978615284 0.242074161768 +vn -0.439621299505 -0.798366189003 0.411514908075 +vn -0.180149838328 -0.906361877918 0.382170349360 +vn -0.180149838328 -0.906361877918 0.382170349360 +vn -0.159160330892 -0.964936077595 0.208725690842 +vn -0.333943217993 -0.910978615284 0.242074161768 +vn 0.051451597363 -0.920796453953 0.386635005474 +vn -0.159160330892 -0.964936077595 0.208725690842 +vn -0.180149838328 -0.906361877918 0.382170349360 +vn -0.180149838328 -0.906361877918 0.382170349360 +vn -0.062123641372 -0.885799050331 0.459892094135 +vn 0.051451597363 -0.920796453953 0.386635005474 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.333943217993 -0.910978615284 0.242074161768 +vn -0.159160330892 -0.964936077595 0.208725690842 +vn -0.159160330892 -0.964936077595 0.208725690842 +vn -0.218373641372 -0.969438731670 0.111810170114 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.048545453697 -0.967491388321 0.248201131821 +vn -0.218373641372 -0.969438731670 0.111810170114 +vn -0.159160330892 -0.964936077595 0.208725690842 +vn -0.159160330892 -0.964936077595 0.208725690842 +vn 0.051451597363 -0.920796453953 0.386635005474 +vn -0.048545453697 -0.967491388321 0.248201131821 +vn -0.028921009973 -0.899534881115 0.435890555382 +vn -0.135091811419 -0.937327325344 0.321197301149 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.066201880574 -0.954533576965 0.290659606457 +vn -0.028921009973 -0.899534881115 0.435890555382 +vn -0.435610353947 -0.881730079651 0.181095689535 +vn -0.333943217993 -0.910978615284 0.242074161768 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.135091811419 -0.937327325344 0.321197301149 +vn -0.435610353947 -0.881730079651 0.181095689535 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn -0.066201880574 -0.954533576965 0.290659606457 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.189692094922 -0.955165922642 0.227321282029 +vn -0.218373641372 -0.969438731670 0.111810170114 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn 0.244941085577 -0.836532413960 0.490119814873 +vn -0.066201880574 -0.954533576965 0.290659606457 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn 0.244941085577 -0.836532413960 0.490119814873 +vn -0.048545453697 -0.967491388321 0.248201131821 +vn -0.140495687723 -0.969917178154 0.198800444603 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn -0.218373641372 -0.969438731670 0.111810170114 +vn -0.048545453697 -0.967491388321 0.248201131821 +vn 0.088904842734 -0.968297600746 0.233443140984 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn -0.006470040418 -0.977761268616 0.209621205926 +vn -0.140495687723 -0.969917178154 0.198800444603 +vn 0.088904842734 -0.968297600746 0.233443140984 +vn 0.308790862560 -0.745268821716 0.590950608253 +vn -0.028921009973 -0.899534881115 0.435890555382 +vn -0.066201880574 -0.954533576965 0.290659606457 +vn -0.066201880574 -0.954533576965 0.290659606457 +vn 0.244941085577 -0.836532413960 0.490119814873 +vn 0.308790862560 -0.745268821716 0.590950608253 +vn -0.085905134678 0.072124846280 0.993689239025 +vn 0.135852813721 -0.058212291449 0.989017367363 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.204170882702 0.248477354646 0.946875512600 +vn 0.058739125729 0.414347767830 0.908221125603 +vn -0.085905134678 0.072124846280 0.993689239025 +vn 0.310442298651 -0.483567774296 -0.818405628204 +vn -0.027110569179 -0.011936810799 -0.999561190605 +vn 0.019503040239 -0.172679528594 -0.984784960747 +vn 0.019503040239 -0.172679528594 -0.984784960747 +vn 0.269662439823 -0.263775676489 -0.926123380661 +vn 0.310442298651 -0.483567774296 -0.818405628204 +vn -0.768608272076 -0.485239326954 0.416874170303 +vn -0.583311021328 0.040439106524 0.811241567135 +vn -0.470662862062 -0.460005283356 0.752908766270 +vn -0.470662862062 -0.460005283356 0.752908766270 +vn -0.489858627319 -0.656127095222 0.574052095413 +vn -0.768608272076 -0.485239326954 0.416874170303 +vn -0.075540587306 -0.408239841461 0.909743845463 +vn -0.347360849380 -0.510150015354 0.786821067333 +vn -0.135091811419 -0.937327325344 0.321197301149 +vn -0.135091811419 -0.937327325344 0.321197301149 +vn -0.028921009973 -0.899534881115 0.435890555382 +vn -0.075540587306 -0.408239841461 0.909743845463 +vn 0.422853231430 -0.774249792099 -0.470884710550 +vn 0.252535343170 -0.921323895454 -0.295614898205 +vn 0.125578880310 -0.818379342556 -0.560789823532 +vn 0.125578880310 -0.818379342556 -0.560789823532 +vn 0.310442298651 -0.483567774296 -0.818405628204 +vn 0.422853231430 -0.774249792099 -0.470884710550 +vn -0.136971995234 -0.962700605392 -0.233337238431 +vn 0.000114159702 -0.916326463223 -0.400432020426 +vn 0.057479105890 -0.991644442081 0.115487813950 +vn 0.057479105890 -0.991644442081 0.115487813950 +vn 0.239525496960 -0.963812053204 -0.117020592093 +vn -0.136971995234 -0.962700605392 -0.233337238431 +vn -0.136971995234 -0.962700605392 -0.233337238431 +vn -0.334424287081 -0.422505348921 -0.842407047749 +vn 0.000114159702 -0.916326463223 -0.400432020426 +vn 0.339754194021 -0.900075256824 -0.272821515799 +vn 0.173997506499 -0.880611777306 -0.440735518932 +vn -0.136971995234 -0.962700605392 -0.233337238431 +vn -0.136971995234 -0.962700605392 -0.233337238431 +vn 0.239525496960 -0.963812053204 -0.117020592093 +vn 0.339754194021 -0.900075256824 -0.272821515799 +vn 0.173997506499 -0.880611777306 -0.440735518932 +vn -0.538782417774 -0.202660694718 -0.817705392838 +vn -0.334424287081 -0.422505348921 -0.842407047749 +vn -0.334424287081 -0.422505348921 -0.842407047749 +vn -0.136971995234 -0.962700605392 -0.233337238431 +vn 0.173997506499 -0.880611777306 -0.440735518932 +vn 0.422853231430 -0.774249792099 -0.470884710550 +vn 0.339754194021 -0.900075256824 -0.272821515799 +vn 0.239525496960 -0.963812053204 -0.117020592093 +vn 0.239525496960 -0.963812053204 -0.117020592093 +vn 0.252535343170 -0.921323895454 -0.295614898205 +vn 0.422853231430 -0.774249792099 -0.470884710550 +vn -0.271746575832 -0.111890241504 0.955842256546 +vn -0.051150433719 -0.430328905582 0.901221752167 +vn -0.107788465917 -0.386987119913 0.915763437748 +vn -0.107788465917 -0.386987119913 0.915763437748 +vn -0.147857800126 -0.099749833345 0.983965456486 +vn -0.271746575832 -0.111890241504 0.955842256546 +vn 0.451726198196 -0.783965706825 -0.425841778517 +vn 0.544952988625 -0.759176731110 -0.355916976929 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.601899981499 -0.650427222252 -0.463315069675 +vn 0.451726198196 -0.783965706825 -0.425841778517 +vn 0.451726198196 -0.783965706825 -0.425841778517 +vn 0.173997506499 -0.880611777306 -0.440735518932 +vn 0.339754194021 -0.900075256824 -0.272821515799 +vn 0.339754194021 -0.900075256824 -0.272821515799 +vn 0.544952988625 -0.759176731110 -0.355916976929 +vn 0.451726198196 -0.783965706825 -0.425841778517 +vn -0.572803854942 -0.352588474751 0.739984512329 +vn -0.315271288157 -0.518904209137 0.794570624828 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn -0.054175578058 -0.901394307613 0.429596632719 +vn -0.260502964258 -0.838142514229 0.479223728180 +vn -0.572803854942 -0.352588474751 0.739984512329 +vn -0.260502964258 -0.838142514229 0.479223728180 +vn -0.276620745659 -0.374111890793 0.885167360306 +vn -0.572803854942 -0.352588474751 0.739984512329 +vn -0.303747743368 -0.019316455349 0.952556669712 +vn -0.276620745659 -0.374111890793 0.885167360306 +vn -0.051150433719 -0.430328905582 0.901221752167 +vn -0.051150433719 -0.430328905582 0.901221752167 +vn -0.271746575832 -0.111890241504 0.955842256546 +vn -0.303747743368 -0.019316455349 0.952556669712 +vn -0.034547798336 -0.278813153505 0.959723770618 +vn -0.236986622214 0.101993352175 0.966144263744 +vn -0.147857800126 -0.099749833345 0.983965456486 +vn -0.147857800126 -0.099749833345 0.983965456486 +vn -0.107788465917 -0.386987119913 0.915763437748 +vn -0.034547798336 -0.278813153505 0.959723770618 +vn -0.735418856144 0.087225042284 0.671975374222 +vn -0.303747743368 -0.019316455349 0.952556669712 +vn -0.271746575832 -0.111890241504 0.955842256546 +vn -0.271746575832 -0.111890241504 0.955842256546 +vn -0.523545145988 0.010065250099 0.851938486099 +vn -0.735418856144 0.087225042284 0.671975374222 +vn 0.196217641234 0.079919569194 0.977298080921 +vn 0.154252499342 -0.124288119376 0.980182945728 +vn -0.029381169006 -0.030018234625 0.999117434025 +vn -0.029381169006 -0.030018234625 0.999117434025 +vn 0.067010790110 0.193234190345 0.978861629963 +vn 0.196217641234 0.079919569194 0.977298080921 +vn -0.339029431343 0.284355103970 0.896772682667 +vn -0.590411484241 0.405412644148 0.697893142700 +vn -0.827181220055 -0.138448268175 0.544613003731 +vn -0.827181220055 -0.138448268175 0.544613003731 +vn -0.564102113247 0.009641343728 0.825648725033 +vn -0.339029431343 0.284355103970 0.896772682667 +vn 0.267445057631 -0.192847266793 -0.944077908993 +vn 0.285008758307 -0.406475007534 -0.868071496487 +vn 0.529980838299 -0.488053917885 -0.693486630917 +vn 0.529980838299 -0.488053917885 -0.693486630917 +vn 0.355505973101 -0.143865868449 -0.923535645008 +vn 0.267445057631 -0.192847266793 -0.944077908993 +vn 0.816680550575 -0.101389199495 -0.568113625050 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.516787350178 -0.512377858162 -0.685856938362 +vn 0.516787350178 -0.512377858162 -0.685856938362 +vn 0.846682190895 0.200712263584 -0.492791861296 +vn 0.816680550575 -0.101389199495 -0.568113625050 +vn 0.816680550575 -0.101389199495 -0.568113625050 +vn 0.759303212166 0.159380048513 -0.630917251110 +vn 0.484712213278 -0.006896703970 -0.874646484852 +vn 0.484712213278 -0.006896703970 -0.874646484852 +vn 0.330834299326 -0.371046543121 -0.867682635784 +vn 0.816680550575 -0.101389199495 -0.568113625050 +vn -0.406228005886 -0.041485197842 0.912829577923 +vn -0.806820988655 -0.332564800978 0.488303750753 +vn -0.167441368103 -0.416238933802 0.893704950809 +vn -0.167441368103 -0.416238933802 0.893704950809 +vn 0.176717445254 -0.092994883657 0.979858636856 +vn -0.406228005886 -0.041485197842 0.912829577923 +vn 0.031475782394 -0.144916534424 -0.988943099976 +vn 0.145574510098 0.222784399986 -0.963937342167 +vn 0.209566771984 0.133428663015 -0.968647778034 +vn 0.209566771984 0.133428663015 -0.968647778034 +vn 0.421691358089 -0.146094635129 -0.894892573357 +vn 0.031475782394 -0.144916534424 -0.988943099976 +vn -0.538782417774 -0.202660694718 -0.817705392838 +vn -0.069656006992 0.129356831312 -0.989148557186 +vn -0.631666839123 0.276833325624 -0.724127292633 +vn -0.167441368103 -0.416238933802 0.893704950809 +vn 0.060981951654 -0.674715280533 0.735554575920 +vn 0.427608430386 -0.371340870857 0.824170470238 +vn 0.427608430386 -0.371340870857 0.824170470238 +vn 0.176717445254 -0.092994883657 0.979858636856 +vn -0.167441368103 -0.416238933802 0.893704950809 +vn 0.421691358089 -0.146094635129 -0.894892573357 +vn 0.476563870907 -0.524323523045 -0.705671131611 +vn 0.094840519130 -0.561432182789 -0.822070062160 +vn 0.094840519130 -0.561432182789 -0.822070062160 +vn 0.031475782394 -0.144916534424 -0.988943099976 +vn 0.421691358089 -0.146094635129 -0.894892573357 +vn 0.604858994484 -0.045539114624 0.795029461384 +vn 0.578013658524 0.042303718626 0.814929783344 +vn 0.251756250858 -0.084170669317 0.964123487473 +vn 0.251756250858 -0.084170669317 0.964123487473 +vn -0.090002775192 -0.362050384283 0.927803337574 +vn 0.604858994484 -0.045539114624 0.795029461384 +vn 0.434012651443 -0.235733553767 0.869518637657 +vn -0.447785437107 -0.638254702091 0.626194119453 +vn 0.166393876076 -0.774949491024 0.609726488590 +vn -0.713085711002 -0.687005877495 0.139755845070 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn -0.209138780832 -0.976161360741 0.058051183820 +vn 0.008688014932 -0.035473790020 0.999332845211 +vn 0.800140321255 0.517762780190 0.302815377712 +vn 0.869676053524 0.481602787971 0.108269944787 +vn 0.869676053524 0.481602787971 0.108269944787 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn 0.008688014932 -0.035473790020 0.999332845211 +vn 0.476563870907 -0.524323523045 -0.705671131611 +vn 0.316687047482 -0.489543884993 -0.812438368797 +vn 0.384889483452 -0.623771905899 -0.680271029472 +vn 0.384889483452 -0.623771905899 -0.680271029472 +vn 0.367894500494 -0.700198650360 -0.611862301826 +vn 0.476563870907 -0.524323523045 -0.705671131611 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn 0.316687047482 -0.489543884993 -0.812438368797 +vn 0.476563870907 -0.524323523045 -0.705671131611 +vn 0.476563870907 -0.524323523045 -0.705671131611 +vn 0.421691358089 -0.146094635129 -0.894892573357 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn 0.316687047482 -0.489543884993 -0.812438368797 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn 0.414077520370 -0.196655467153 -0.888744294643 +vn 0.105665363371 -0.365992993116 -0.924599349499 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn 0.028203584254 -0.615325748920 -0.787768244743 +vn 0.384889483452 -0.623771905899 -0.680271029472 +vn 0.316687047482 -0.489543884993 -0.812438368797 +vn 0.028203584254 -0.615325748920 -0.787768244743 +vn 0.316687047482 -0.489543884993 -0.812438368797 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn 0.028203584254 -0.615325748920 -0.787768244743 +vn -0.261296123266 -0.475798040628 -0.839845538139 +vn -0.240883529186 -0.697934210300 -0.674435257912 +vn -0.020327450708 0.685757458210 0.727546215057 +vn -0.087292499840 0.331456899643 0.939423382282 +vn 0.411596596241 0.156486570835 0.897830843925 +vn 0.411596596241 0.156486570835 0.897830843925 +vn 0.505942106247 0.540051519871 0.672582268715 +vn -0.020327450708 0.685757458210 0.727546215057 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.059995397925 0.889339148998 -0.453295111656 +vn -0.016478214413 0.889357864857 -0.456914693117 +vn -0.016478214413 0.889357864857 -0.456914693117 +vn -0.437514305115 0.716767847538 -0.542977988720 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.047376774251 0.985158741474 0.164977937937 +vn -0.086963027716 0.905135571957 -0.416133403778 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.408763051033 0.858367443085 0.310029268265 +vn -0.047376774251 0.985158741474 0.164977937937 +vn -0.534430682659 0.838877797127 0.103285685182 +vn -0.139534607530 0.974310278893 0.176775634289 +vn -0.736113429070 0.674601316452 -0.055227596313 +vn -0.787490665913 0.559860408306 -0.257710725069 +vn -0.843002557755 0.537570774555 -0.019088163972 +vn -0.369516134262 0.895232856274 0.249030083418 +vn -0.318106293678 0.808898806572 0.494460374117 +vn -0.369516134262 0.895232856274 0.249030083418 +vn -0.843002557755 0.537570774555 -0.019088163972 +vn -0.843002557755 0.537570774555 -0.019088163972 +vn -0.411975830793 0.620765864849 0.667027473450 +vn -0.318106293678 0.808898806572 0.494460374117 +vn -0.534430682659 0.838877797127 0.103285685182 +vn -0.369516134262 0.895232856274 0.249030083418 +vn -0.318106293678 0.808898806572 0.494460374117 +vn -0.318106293678 0.808898806572 0.494460374117 +vn -0.139534607530 0.974310278893 0.176775634289 +vn -0.534430682659 0.838877797127 0.103285685182 +vn 0.031475782394 -0.144916534424 -0.988943099976 +vn -0.534120261669 -0.186229407787 -0.824641823769 +vn -0.320949465036 0.043232060969 -0.946109116077 +vn -0.320949465036 0.043232060969 -0.946109116077 +vn 0.145574510098 0.222784399986 -0.963937342167 +vn 0.031475782394 -0.144916534424 -0.988943099976 +vn -0.020327450708 0.685757458210 0.727546215057 +vn -0.647573769093 0.433242529631 0.626856565475 +vn -0.232292786241 0.148990094662 0.961167037487 +vn -0.232292786241 0.148990094662 0.961167037487 +vn -0.087292499840 0.331456899643 0.939423382282 +vn -0.020327450708 0.685757458210 0.727546215057 +vn -0.059995397925 0.889339148998 -0.453295111656 +vn -0.356496870518 0.789703249931 -0.499278217554 +vn -0.086963027716 0.905135571957 -0.416133403778 +vn -0.534430682659 0.838877797127 0.103285685182 +vn -0.787490665913 0.559860408306 -0.257710725069 +vn -0.369516134262 0.895232856274 0.249030083418 +vn -0.387950241566 0.306505471468 0.869223237038 +vn -0.560695827007 0.078877851367 0.824256300926 +vn 0.132363051176 0.588919281960 0.797279179096 +vn -0.736113429070 0.674601316452 -0.055227596313 +vn -0.070092804730 0.916692733765 -0.393397301435 +vn -0.582481026649 0.595602929592 -0.553148269653 +vn -0.308101117611 -0.933596551418 -0.182951375842 +vn -0.323057621717 -0.945225358009 -0.046719886363 +vn -0.375852286816 -0.924159824848 0.068291187286 +vn -0.375852286816 -0.924159824848 0.068291187286 +vn -0.394036650658 -0.827092707157 -0.400815129280 +vn -0.308101117611 -0.933596551418 -0.182951375842 +vn -0.394036650658 -0.827092707157 -0.400815129280 +vn -0.186435729265 -0.727443575859 -0.660354137421 +vn -0.308101117611 -0.933596551418 -0.182951375842 +vn -0.560695827007 0.078877851367 0.824256300926 +vn -0.387950241566 0.306505471468 0.869223237038 +vn -0.447341591120 0.339131593704 0.827571868896 +vn -0.447341591120 0.339131593704 0.827571868896 +vn -0.461934238672 0.250010490417 0.850947439671 +vn -0.560695827007 0.078877851367 0.824256300926 +vn -0.308101117611 -0.933596551418 -0.182951375842 +vn -0.354307264090 -0.814609885216 -0.459213525057 +vn -0.417517900467 -0.904517471790 -0.086757712066 +vn -0.417517900467 -0.904517471790 -0.086757712066 +vn -0.323057621717 -0.945225358009 -0.046719886363 +vn -0.308101117611 -0.933596551418 -0.182951375842 +vn -0.308101117611 -0.933596551418 -0.182951375842 +vn -0.186435729265 -0.727443575859 -0.660354137421 +vn -0.354307264090 -0.814609885216 -0.459213525057 +vn -0.052991427481 0.783603668213 -0.618996977806 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn -0.582481026649 0.595602929592 -0.553148269653 +vn -0.900458395481 0.141342937946 -0.411335438490 +vn -0.698746025562 -0.547520458698 -0.460407793522 +vn -0.866396248341 0.034091062844 -0.498192071915 +vn -0.698746025562 -0.547520458698 -0.460407793522 +vn -0.825821697712 -0.556694149971 -0.090056210756 +vn -0.866396248341 0.034091062844 -0.498192071915 +vn -0.811541140079 0.126786649227 -0.570373654366 +vn -0.866396248341 0.034091062844 -0.498192071915 +vn -0.825821697712 -0.556694149971 -0.090056210756 +vn -0.825821697712 -0.556694149971 -0.090056210756 +vn -0.939724683762 -0.015627166256 0.341574728489 +vn -0.811541140079 0.126786649227 -0.570373654366 +vn 0.854635655880 0.431288868189 -0.289115548134 +vn 0.882223665714 0.299788743258 -0.363053917885 +vn 0.913984477520 0.205607891083 -0.349796772003 +vn 0.913984477520 0.205607891083 -0.349796772003 +vn 0.847370386124 0.434056639671 -0.305872917175 +vn 0.854635655880 0.431288868189 -0.289115548134 +vn 0.854635655880 0.431288868189 -0.289115548134 +vn 0.925316154957 0.358393728733 -0.123870611191 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.957574665546 0.276369482279 -0.081673927605 +vn 0.882223665714 0.299788743258 -0.363053917885 +vn 0.854635655880 0.431288868189 -0.289115548134 +vn 0.952093958855 -0.222135722637 0.210173279047 +vn 0.166393876076 -0.774949491024 0.609726488590 +vn -0.209138780832 -0.976161360741 0.058051183820 +vn -0.209138780832 -0.976161360741 0.058051183820 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn 0.952093958855 -0.222135722637 0.210173279047 +vn 0.952093958855 -0.222135722637 0.210173279047 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn 0.879921913147 0.474158734083 -0.030182171613 +vn 0.879921913147 0.474158734083 -0.030182171613 +vn 0.894741058350 0.330808013678 0.300007522106 +vn 0.952093958855 -0.222135722637 0.210173279047 +vn 0.894741058350 0.330808013678 0.300007522106 +vn 0.434012651443 -0.235733553767 0.869518637657 +vn 0.166393876076 -0.774949491024 0.609726488590 +vn 0.166393876076 -0.774949491024 0.609726488590 +vn 0.952093958855 -0.222135722637 0.210173279047 +vn 0.894741058350 0.330808013678 0.300007522106 +vn 0.879921913147 0.474158734083 -0.030182171613 +vn 0.881415486336 0.472221165895 0.010672469623 +vn 0.902191579342 0.340740293264 -0.264473766088 +vn 0.843217432499 -0.417677789927 -0.338422268629 +vn 0.992158353329 0.027582362294 -0.121905915439 +vn 0.975543797016 -0.094598576427 0.198407247663 +vn 0.975543797016 -0.094598576427 0.198407247663 +vn 0.950541198254 -0.306927442551 0.047613322735 +vn 0.843217432499 -0.417677789927 -0.338422268629 +vn 0.964519500732 0.260759145021 0.041313480586 +vn 0.992158353329 0.027582362294 -0.121905915439 +vn 0.902191579342 0.340740293264 -0.264473766088 +vn 0.902191579342 0.340740293264 -0.264473766088 +vn 0.881415486336 0.472221165895 0.010672469623 +vn 0.964519500732 0.260759145021 0.041313480586 +vn 0.975543797016 -0.094598576427 0.198407247663 +vn 0.992158353329 0.027582362294 -0.121905915439 +vn 0.964519500732 0.260759145021 0.041313480586 +vn 0.339722335339 -0.772119879723 0.537047088146 +vn 0.606853306293 -0.574624598026 0.549122631550 +vn 0.472912132740 -0.407679647207 0.781121909618 +vn 0.614409804344 0.747312724590 0.253030240536 +vn 0.326792329550 0.941127479076 0.086521036923 +vn 0.516383767128 0.829848945141 -0.211420193315 +vn 0.516383767128 0.829848945141 -0.211420193315 +vn 0.910326242447 0.412144482136 0.037987414747 +vn 0.614409804344 0.747312724590 0.253030240536 +vn 0.366194635630 0.921540796757 -0.129089444876 +vn 0.408882349730 0.910067975521 -0.067760296166 +vn 0.452918559313 0.890388429165 -0.045532457530 +vn 0.452918559313 0.890388429165 -0.045532457530 +vn 0.326792329550 0.941127479076 0.086521036923 +vn 0.366194635630 0.921540796757 -0.129089444876 +vn -0.253069043159 0.614814400673 0.746966719627 +vn 0.132363051176 0.588919281960 0.797279179096 +vn -0.457814812660 0.521315336227 0.720163822174 +vn -0.457814812660 0.521315336227 0.720163822174 +vn -0.647573769093 0.433242529631 0.626856565475 +vn -0.253069043159 0.614814400673 0.746966719627 +vn -0.647573769093 0.433242529631 0.626856565475 +vn -0.020327450708 0.685757458210 0.727546215057 +vn -0.253069043159 0.614814400673 0.746966719627 +vn -0.560695827007 0.078877851367 0.824256300926 +vn -0.461934238672 0.250010490417 0.850947439671 +vn -0.503477275372 0.329060941935 0.798892676830 +vn -0.503477275372 0.329060941935 0.798892676830 +vn -0.502772688866 0.431714475155 0.748894035816 +vn -0.560695827007 0.078877851367 0.824256300926 +vn -0.283286154270 0.279502421618 0.917402505875 +vn -0.411217749119 0.406187385321 0.816034138203 +vn -0.503477275372 0.329060941935 0.798892676830 +vn -0.503477275372 0.329060941935 0.798892676830 +vn -0.461934238672 0.250010490417 0.850947439671 +vn -0.283286154270 0.279502421618 0.917402505875 +vn -0.283286154270 0.279502421618 0.917402505875 +vn -0.271056413651 0.279122084379 0.921205341816 +vn -0.370860576630 0.350416839123 0.860040962696 +vn -0.370860576630 0.350416839123 0.860040962696 +vn -0.411217749119 0.406187385321 0.816034138203 +vn -0.283286154270 0.279502421618 0.917402505875 +vn -0.560695827007 0.078877851367 0.824256300926 +vn -0.502772688866 0.431714475155 0.748894035816 +vn -0.457814812660 0.521315336227 0.720163822174 +vn -0.457814812660 0.521315336227 0.720163822174 +vn 0.132363051176 0.588919281960 0.797279179096 +vn -0.560695827007 0.078877851367 0.824256300926 +vn -0.736113429070 0.674601316452 -0.055227596313 +vn -0.582481026649 0.595602929592 -0.553148269653 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.582481026649 0.595602929592 -0.553148269653 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn -0.421104758978 0.313611149788 -0.851069211960 +vn -0.349258631468 0.184622913599 -0.918658137321 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.498195052147 -0.115418910980 -0.859348714352 +vn -0.889064431190 0.043844252825 -0.455677688122 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.907230198383 0.196332752705 -0.372003853321 +vn -0.349258631468 0.184622913599 -0.918658137321 +vn -0.498195052147 -0.115418910980 -0.859348714352 +vn -0.498195052147 -0.115418910980 -0.859348714352 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.889064431190 0.043844252825 -0.455677688122 +vn -0.900458395481 0.141342937946 -0.411335438490 +vn -0.866396248341 0.034091062844 -0.498192071915 +vn -0.811541140079 0.126786649227 -0.570373654366 +vn -0.811541140079 0.126786649227 -0.570373654366 +vn -0.774951875210 0.023437473923 -0.631585538387 +vn -0.900458395481 0.141342937946 -0.411335438490 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.900458395481 0.141342937946 -0.411335438490 +vn -0.774951875210 0.023437473923 -0.631585538387 +vn -0.774951875210 0.023437473923 -0.631585538387 +vn -0.889064431190 0.043844252825 -0.455677688122 +vn -0.616255939007 -0.460302233696 -0.639023005962 +vn -0.239098101854 0.963960468769 -0.116671897471 +vn -0.204309478402 0.943660676479 0.260311752558 +vn -0.508762955666 0.860877335072 -0.007104512304 +vn -0.508762955666 0.860877335072 -0.007104512304 +vn -0.446603745222 0.894501268864 0.020310429856 +vn -0.239098101854 0.963960468769 -0.116671897471 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn -0.680015206337 -0.641033887863 -0.355885982513 +vn -0.749990403652 -0.660737752914 -0.030658992007 +vn -0.749990403652 -0.660737752914 -0.030658992007 +vn -0.209138780832 -0.976161360741 0.058051183820 +vn -0.731709063053 -0.655248463154 -0.187753319740 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.903819084167 -0.127298012376 -0.408541679382 +vn 0.922906994820 -0.375173211098 -0.086531668901 +vn 0.922906994820 -0.375173211098 -0.086531668901 +vn 0.573986172676 -0.693480610847 -0.435458958149 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.326625823975 -0.538841307163 -0.776508629322 +vn 0.355505973101 -0.143865868449 -0.923535645008 +vn 0.529980838299 -0.488053917885 -0.693486630917 +vn 0.529980838299 -0.488053917885 -0.693486630917 +vn 0.226000085473 -0.775390207767 -0.589655816555 +vn 0.326625823975 -0.538841307163 -0.776508629322 +vn 0.226000085473 -0.775390207767 -0.589655816555 +vn 0.529980838299 -0.488053917885 -0.693486630917 +vn 0.601899981499 -0.650427222252 -0.463315069675 +vn 0.601899981499 -0.650427222252 -0.463315069675 +vn 0.451178431511 -0.619352042675 -0.642527103424 +vn 0.226000085473 -0.775390207767 -0.589655816555 +vn 0.451178431511 -0.619352042675 -0.642527103424 +vn 0.601899981499 -0.650427222252 -0.463315069675 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.705796301365 -0.553804755211 -0.441759973764 +vn 0.573986172676 -0.693480610847 -0.435458958149 +vn 0.451178431511 -0.619352042675 -0.642527103424 +vn 0.169235989451 -0.360193341970 0.917398452759 +vn 0.274402290583 -0.560791194439 0.781163632870 +vn 0.539327800274 -0.415947258472 0.732197642326 +vn 0.539327800274 -0.415947258472 0.732197642326 +vn 0.389436155558 -0.407782554626 0.825864911079 +vn 0.169235989451 -0.360193341970 0.917398452759 +vn 0.160938441753 -0.757669389248 0.632483959198 +vn 0.830068528652 -0.119470968843 0.544713616371 +vn 0.539327800274 -0.415947258472 0.732197642326 +vn 0.539327800274 -0.415947258472 0.732197642326 +vn 0.274402290583 -0.560791194439 0.781163632870 +vn 0.160938441753 -0.757669389248 0.632483959198 +vn 0.273815929890 -0.854739964008 0.440958529711 +vn 0.924569845200 0.120250284672 0.361538976431 +vn 0.830068528652 -0.119470968843 0.544713616371 +vn 0.830068528652 -0.119470968843 0.544713616371 +vn 0.160938441753 -0.757669389248 0.632483959198 +vn 0.273815929890 -0.854739964008 0.440958529711 +vn -0.098821595311 -0.750114619732 0.653882503510 +vn -0.051150433719 -0.430328905582 0.901221752167 +vn -0.276620745659 -0.374111890793 0.885167360306 +vn -0.590411484241 0.405412644148 0.697893142700 +vn -0.650010585785 0.251060932875 0.717254936695 +vn -0.735418856144 0.087225042284 0.671975374222 +vn 0.675949811935 -0.481971591711 0.557490110397 +vn 0.970553517342 -0.047824073583 0.236090585589 +vn 0.924569845200 0.120250284672 0.361538976431 +vn 0.924569845200 0.120250284672 0.361538976431 +vn 0.273815929890 -0.854739964008 0.440958529711 +vn 0.675949811935 -0.481971591711 0.557490110397 +vn 0.675949811935 -0.481971591711 0.557490110397 +vn 0.867050588131 -0.340229004622 0.363960862160 +vn 0.970553517342 -0.047824073583 0.236090585589 +vn 0.879921913147 0.474158734083 -0.030182171613 +vn 0.904111444950 -0.175178438425 0.389737099409 +vn 0.881415486336 0.472221165895 0.010672469623 +vn -0.267561286688 -0.597799122334 0.755676627159 +vn 0.248923435807 -0.588823974133 0.768975555897 +vn -0.242862716317 -0.841675460339 0.482286363840 +vn -0.242862716317 -0.841675460339 0.482286363840 +vn -0.621428489685 -0.689511239529 0.372022658587 +vn -0.267561286688 -0.597799122334 0.755676627159 +vn 0.223833784461 -0.794061601162 -0.565123498440 +vn -0.240883529186 -0.697934210300 -0.674435257912 +vn -0.098200760782 -0.989465296268 -0.106372416019 +vn 0.031475782394 -0.144916534424 -0.988943099976 +vn 0.094840519130 -0.561432182789 -0.822070062160 +vn -0.307740598917 -0.471744924784 -0.826288342476 +vn -0.307740598917 -0.471744924784 -0.826288342476 +vn -0.534120261669 -0.186229407787 -0.824641823769 +vn 0.031475782394 -0.144916534424 -0.988943099976 +vn 0.094840519130 -0.561432182789 -0.822070062160 +vn 0.147203862667 -0.777868270874 -0.610943555832 +vn 0.065739303827 -0.746938109398 -0.661635696888 +vn 0.065739303827 -0.746938109398 -0.661635696888 +vn -0.307740598917 -0.471744924784 -0.826288342476 +vn 0.094840519130 -0.561432182789 -0.822070062160 +vn 0.065739303827 -0.746938109398 -0.661635696888 +vn 0.147203862667 -0.777868270874 -0.610943555832 +vn 0.075115866959 -0.905055582523 -0.418607264757 +vn -0.534120261669 -0.186229407787 -0.824641823769 +vn -0.307740598917 -0.471744924784 -0.826288342476 +vn -0.631180763245 -0.548184394836 -0.548730134964 +vn 0.938025355339 0.000610377872 0.346566140652 +vn 0.546886205673 -0.028232229874 0.836730778217 +vn 0.939568758011 0.305846303701 0.153846189380 +vn 0.950614035130 -0.258485972881 -0.171807885170 +vn 0.964954078197 -0.247261434793 -0.087894394994 +vn 0.990055978298 0.139069169760 -0.021188542247 +vn -0.576677322388 0.648915290833 0.496338844299 +vn -0.631175696850 0.324559658766 0.704470157623 +vn -0.321418374777 0.367474496365 0.872727155685 +vn -0.321418374777 0.367474496365 0.872727155685 +vn -0.182598531246 0.715381562710 0.674453139305 +vn -0.576677322388 0.648915290833 0.496338844299 +vn -0.492510139942 -0.097670763731 0.864808738232 +vn -0.074762940407 0.203222677112 0.976274073124 +vn -0.321418374777 0.367474496365 0.872727155685 +vn -0.321418374777 0.367474496365 0.872727155685 +vn -0.631175696850 0.324559658766 0.704470157623 +vn -0.492510139942 -0.097670763731 0.864808738232 +vn -0.321418374777 0.367474496365 0.872727155685 +vn -0.074762940407 0.203222677112 0.976274073124 +vn 0.485629320145 0.230432748795 0.843246638775 +vn 0.485629320145 0.230432748795 0.843246638775 +vn -0.182598531246 0.715381562710 0.674453139305 +vn -0.321418374777 0.367474496365 0.872727155685 +vn -0.279852241278 -0.486823260784 0.827457427979 +vn -0.100082904100 -0.121986940503 0.987472832203 +vn -0.074762940407 0.203222677112 0.976274073124 +vn -0.074762940407 0.203222677112 0.976274073124 +vn -0.492510139942 -0.097670763731 0.864808738232 +vn -0.279852241278 -0.486823260784 0.827457427979 +vn -0.074762940407 0.203222677112 0.976274073124 +vn 0.283379137516 0.492464959621 0.822906136513 +vn 0.573140323162 0.155218109488 0.804622590542 +vn 0.573140323162 0.155218109488 0.804622590542 +vn 0.485629320145 0.230432748795 0.843246638775 +vn -0.074762940407 0.203222677112 0.976274073124 +vn -0.074762940407 0.203222677112 0.976274073124 +vn -0.100082904100 -0.121986940503 0.987472832203 +vn 0.373320966959 0.424053817987 0.825111985207 +vn 0.373320966959 0.424053817987 0.825111985207 +vn 0.283379137516 0.492464959621 0.822906136513 +vn -0.074762940407 0.203222677112 0.976274073124 +vn -0.279852241278 -0.486823260784 0.827457427979 +vn -0.087227329612 -0.761248648167 0.642566621304 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn -0.100082904100 -0.121986940503 0.987472832203 +vn -0.279852241278 -0.486823260784 0.827457427979 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn -0.087227329612 -0.761248648167 0.642566621304 +vn 0.204573646188 -0.914748191833 0.348404049873 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn 0.204573646188 -0.914748191833 0.348404049873 +vn 0.447879314423 -0.893079757690 0.042575549334 +vn 0.447879314423 -0.893079757690 0.042575549334 +vn 0.275597184896 -0.961144804955 0.015710320324 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn 0.083596318960 0.705422341824 0.703840136528 +vn 0.395421296358 0.146563902497 0.906730949879 +vn 0.305486649275 0.190570458770 0.932931303978 +vn 0.305486649275 0.190570458770 0.932931303978 +vn 0.131599500775 0.737507283688 0.662393093109 +vn 0.083596318960 0.705422341824 0.703840136528 +vn 0.131599500775 0.737507283688 0.662393093109 +vn -0.141477271914 0.989577353001 0.026847619563 +vn 0.083596318960 0.705422341824 0.703840136528 +vn 0.083596318960 0.705422341824 0.703840136528 +vn -0.109330229461 0.941514909267 0.318742185831 +vn 0.421047270298 0.334669202566 0.843039572239 +vn 0.421047270298 0.334669202566 0.843039572239 +vn 0.395421296358 0.146563902497 0.906730949879 +vn 0.083596318960 0.705422341824 0.703840136528 +vn -0.431219965219 0.861944854259 0.266646653414 +vn -0.109330229461 0.941514909267 0.318742185831 +vn 0.083596318960 0.705422341824 0.703840136528 +vn 0.083596318960 0.705422341824 0.703840136528 +vn -0.242646485567 0.968250751495 0.060110073537 +vn -0.431219965219 0.861944854259 0.266646653414 +vn -0.328510224819 -0.452966272831 0.828795850277 +vn -0.604831039906 0.008647575043 0.796306848526 +vn -0.668538451195 -0.460031986237 0.584317445755 +vn -0.668538451195 -0.460031986237 0.584317445755 +vn -0.149849325418 -0.801799178123 0.578500866890 +vn -0.328510224819 -0.452966272831 0.828795850277 +vn 0.448826909065 0.613783061504 0.649480342865 +vn 0.131599500775 0.737507283688 0.662393093109 +vn 0.305486649275 0.190570458770 0.932931303978 +vn 0.640595257282 0.556611776352 0.528981089592 +vn 0.448826909065 0.613783061504 0.649480342865 +vn 0.305486649275 0.190570458770 0.932931303978 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn -0.141477271914 0.989577353001 0.026847619563 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.348152428865 0.870052337646 -0.348996847868 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn -0.141477271914 0.989577353001 0.026847619563 +vn 0.131599500775 0.737507283688 0.662393093109 +vn 0.131599500775 0.737507283688 0.662393093109 +vn 0.448826909065 0.613783061504 0.649480342865 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.448826909065 0.613783061504 0.649480342865 +vn 0.640595257282 0.556611776352 0.528981089592 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.640595257282 0.556611776352 0.528981089592 +vn 0.820009887218 0.179416894913 0.543501019478 +vn 0.820009887218 0.179416894913 0.543501019478 +vn 0.714554429054 0.667727410793 0.208691373467 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.880636394024 0.473645627499 0.011806108057 +vn 0.714554429054 0.667727410793 0.208691373467 +vn 0.820009887218 0.179416894913 0.543501019478 +vn 0.880636394024 0.473645627499 0.011806108057 +vn 0.820009887218 0.179416894913 0.543501019478 +vn 0.535769343376 0.346915453672 0.769805729389 +vn 0.535769343376 0.346915453672 0.769805729389 +vn 0.816324055195 0.200977146626 0.541500926018 +vn 0.880636394024 0.473645627499 0.011806108057 +vn 0.880636394024 0.473645627499 0.011806108057 +vn 0.878691315651 0.477109283209 -0.016380488873 +vn 0.836690306664 0.270335048437 -0.476306915283 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.714554429054 0.667727410793 0.208691373467 +vn 0.880636394024 0.473645627499 0.011806108057 +vn 0.880636394024 0.473645627499 0.011806108057 +vn 0.836690306664 0.270335048437 -0.476306915283 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn 0.204573646188 -0.914748191833 0.348404049873 +vn -0.087227329612 -0.761248648167 0.642566621304 +vn -0.087227329612 -0.761248648167 0.642566621304 +vn -0.149849325418 -0.801799178123 0.578500866890 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn 0.541634559631 -0.827475488186 0.148041695356 +vn 0.447879314423 -0.893079757690 0.042575549334 +vn 0.447879314423 -0.893079757690 0.042575549334 +vn 0.204573646188 -0.914748191833 0.348404049873 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn 0.878691315651 0.477109283209 -0.016380488873 +vn 0.880636394024 0.473645627499 0.011806108057 +vn 0.816324055195 0.200977146626 0.541500926018 +vn 0.816324055195 0.200977146626 0.541500926018 +vn 0.943861186504 -0.260932624340 -0.202583923936 +vn 0.878691315651 0.477109283209 -0.016380488873 +vn 0.858834862709 -0.343651831150 -0.379876434803 +vn 0.836690306664 0.270335048437 -0.476306915283 +vn 0.878691315651 0.477109283209 -0.016380488873 +vn 0.878691315651 0.477109283209 -0.016380488873 +vn 0.943861186504 -0.260932624340 -0.202583923936 +vn 0.858834862709 -0.343651831150 -0.379876434803 +vn 0.188408941031 0.017793446779 0.981929481030 +vn 0.119672834873 0.101008400321 0.987661719322 +vn -0.354700446129 0.034820698202 0.934331357479 +vn -0.354700446129 0.034820698202 0.934331357479 +vn -0.306055247784 -0.144851490855 0.940929472446 +vn 0.188408941031 0.017793446779 0.981929481030 +vn 0.694415569305 -0.021816432476 0.719243407249 +vn 0.119672834873 0.101008400321 0.987661719322 +vn 0.188408941031 0.017793446779 0.981929481030 +vn 0.188408941031 0.017793446779 0.981929481030 +vn 0.659638285637 -0.392307132483 0.641071319580 +vn 0.694415569305 -0.021816432476 0.719243407249 +vn -0.314111679792 0.058616135269 0.947574794292 +vn -0.461953103542 0.098662018776 0.881399512291 +vn -0.492519497871 -0.088171571493 0.865823507309 +vn -0.492519497871 -0.088171571493 0.865823507309 +vn -0.354700446129 0.034820698202 0.934331357479 +vn -0.314111679792 0.058616135269 0.947574794292 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.314111679792 0.058616135269 0.947574794292 +vn -0.606130063534 0.280255675316 0.744354128838 +vn -0.606130063534 0.280255675316 0.744354128838 +vn -0.701901853085 0.564634799957 0.434190422297 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.314111679792 0.058616135269 0.947574794292 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.461953103542 0.098662018776 0.881399512291 +vn -0.314111679792 0.058616135269 0.947574794292 +vn -0.354700446129 0.034820698202 0.934331357479 +vn 0.119672834873 0.101008400321 0.987661719322 +vn 0.119672834873 0.101008400321 0.987661719322 +vn 0.112448878586 -0.172594755888 0.978553175926 +vn -0.314111679792 0.058616135269 0.947574794292 +vn -0.306055247784 -0.144851490855 0.940929472446 +vn -0.374189198017 -0.555483102798 0.742577254772 +vn 0.303534507751 -0.735307157040 0.605962216854 +vn 0.188408941031 0.017793446779 0.981929481030 +vn -0.306055247784 -0.144851490855 0.940929472446 +vn 0.303534507751 -0.735307157040 0.605962216854 +vn 0.303534507751 -0.735307157040 0.605962216854 +vn 0.659638285637 -0.392307132483 0.641071319580 +vn 0.188408941031 0.017793446779 0.981929481030 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.578004896641 0.259107351303 0.773804724216 +vn -0.606130063534 0.280255675316 0.744354128838 +vn -0.606130063534 0.280255675316 0.744354128838 +vn -0.314111679792 0.058616135269 0.947574794292 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.314111679792 0.058616135269 0.947574794292 +vn 0.112448878586 -0.172594755888 0.978553175926 +vn 0.112448878586 -0.172594755888 0.978553175926 +vn -0.024860668927 -0.316736102104 0.948187828064 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.129663527012 -0.192400217056 0.972712457180 +vn -0.683165788651 -0.057890441269 0.727965116501 +vn -0.683165788651 -0.057890441269 0.727965116501 +vn -0.578004896641 0.259107351303 0.773804724216 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.024860668927 -0.316736102104 0.948187828064 +vn 0.058332707733 -0.020505351946 0.998086571693 +vn 0.058332707733 -0.020505351946 0.998086571693 +vn 0.027125038207 0.236739024520 0.971194565296 +vn -0.206207558513 0.036233242601 0.977837204933 +vn -0.206207558513 0.036233242601 0.977837204933 +vn 0.027125038207 0.236739024520 0.971194565296 +vn 0.175731316209 -0.003851976711 0.984430611134 +vn 0.175731316209 -0.003851976711 0.984430611134 +vn -0.129663527012 -0.192400217056 0.972712457180 +vn -0.206207558513 0.036233242601 0.977837204933 +vn 0.911755323410 -0.257045537233 0.320358961821 +vn 0.694415569305 -0.021816432476 0.719243407249 +vn 0.659638285637 -0.392307132483 0.641071319580 +vn 0.659638285637 -0.392307132483 0.641071319580 +vn 0.714853286743 -0.650683462620 0.256116777658 +vn 0.911755323410 -0.257045537233 0.320358961821 +vn 0.911755323410 -0.257045537233 0.320358961821 +vn 0.713554799557 -0.435151606798 0.549074351788 +vn 0.543487012386 -0.280511081219 0.791160821915 +vn 0.543487012386 -0.280511081219 0.791160821915 +vn 0.694415569305 -0.021816432476 0.719243407249 +vn 0.911755323410 -0.257045537233 0.320358961821 +vn 0.911755323410 -0.257045537233 0.320358961821 +vn 0.714853286743 -0.650683462620 0.256116777658 +vn 0.742680370808 -0.634518027306 0.214039161801 +vn 0.742680370808 -0.634518027306 0.214039161801 +vn 0.713554799557 -0.435151606798 0.549074351788 +vn 0.911755323410 -0.257045537233 0.320358961821 +vn -0.636651694775 -0.563084363937 0.526887714863 +vn -0.573730945587 -0.763768911362 0.295786827803 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn -0.473156034946 -0.648721933365 0.596056401730 +vn -0.636651694775 -0.563084363937 0.526887714863 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.814631104469 -0.517790317535 0.261284053326 +vn -0.573730945587 -0.763768911362 0.295786827803 +vn -0.573730945587 -0.763768911362 0.295786827803 +vn -0.636651694775 -0.563084363937 0.526887714863 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.636651694775 -0.563084363937 0.526887714863 +vn -0.473156034946 -0.648721933365 0.596056401730 +vn -0.591782271862 -0.301380485296 0.747638642788 +vn -0.591782271862 -0.301380485296 0.747638642788 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.636651694775 -0.563084363937 0.526887714863 +vn -0.784244716167 0.604237020016 0.140917971730 +vn -0.856631577015 0.492435991764 0.153912588954 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.701901853085 0.564634799957 0.434190422297 +vn -0.784244716167 0.604237020016 0.140917971730 +vn -0.701901853085 0.564634799957 0.434190422297 +vn -0.606130063534 0.280255675316 0.744354128838 +vn -0.677267670631 0.631871998310 0.376890242100 +vn -0.677267670631 0.631871998310 0.376890242100 +vn -0.784244716167 0.604237020016 0.140917971730 +vn -0.701901853085 0.564634799957 0.434190422297 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn 0.112957909703 -0.620997428894 0.775630533695 +vn 0.713554799557 -0.435151606798 0.549074351788 +vn 0.713554799557 -0.435151606798 0.549074351788 +vn 0.092231564224 -0.556987345219 0.825383841991 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn 0.713554799557 -0.435151606798 0.549074351788 +vn 0.112957909703 -0.620997428894 0.775630533695 +vn 0.543487012386 -0.280511081219 0.791160821915 +vn 0.742680370808 -0.634518027306 0.214039161801 +vn 0.222196698189 -0.942532956600 0.249520063400 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn 0.713554799557 -0.435151606798 0.549074351788 +vn 0.742680370808 -0.634518027306 0.214039161801 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn 0.092231564224 -0.556987345219 0.825383841991 +vn 0.713554799557 -0.435151606798 0.549074351788 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.875085175037 0.284960567951 -0.391182065010 +vn 0.836690306664 0.270335048437 -0.476306915283 +vn 0.836690306664 0.270335048437 -0.476306915283 +vn 0.858834862709 -0.343651831150 -0.379876434803 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.858834862709 -0.343651831150 -0.379876434803 +vn 0.643597602844 -0.741183161736 -0.190865457058 +vn 0.643597602844 -0.741183161736 -0.190865457058 +vn 0.679533302784 -0.730276048183 0.070223495364 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.987493872643 -0.002295108046 -0.157640531659 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.679533302784 -0.730276048183 0.070223495364 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.879203557968 0.280645579100 -0.385018318892 +vn 0.506191194057 0.784512937069 -0.358203768730 +vn 0.607457041740 0.710641443729 -0.354943275452 +vn 0.607457041740 0.710641443729 -0.354943275452 +vn 0.875085175037 0.284960567951 -0.391182065010 +vn 0.879203557968 0.280645579100 -0.385018318892 +vn 0.879203557968 0.280645579100 -0.385018318892 +vn 0.657837927341 0.378287076950 -0.651266574860 +vn 0.506191194057 0.784512937069 -0.358203768730 +vn 0.882139682770 0.021659230813 -0.470489531755 +vn 0.987493872643 -0.002295108046 -0.157640531659 +vn 0.748724162579 0.597042918205 -0.288013637066 +vn 0.748724162579 0.597042918205 -0.288013637066 +vn 0.614214539528 0.333024352789 -0.715426623821 +vn 0.882139682770 0.021659230813 -0.470489531755 +vn -0.192956984043 -0.339222282171 0.920704007149 +vn -0.173753112555 -0.033539067954 0.984217941761 +vn -0.371392548084 -0.273312330246 0.887337565422 +vn -0.371392548084 -0.273312330246 0.887337565422 +vn -0.086682282388 -0.655554294586 0.750156462193 +vn -0.192956984043 -0.339222282171 0.920704007149 +vn -0.192956984043 -0.339222282171 0.920704007149 +vn 0.453291714191 -0.478627860546 0.751958787441 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn -0.173753112555 -0.033539067954 0.984217941761 +vn -0.192956984043 -0.339222282171 0.920704007149 +vn -0.192956984043 -0.339222282171 0.920704007149 +vn -0.086682282388 -0.655554294586 0.750156462193 +vn 0.392328858376 -0.721172392368 0.570953965187 +vn 0.392328858376 -0.721172392368 0.570953965187 +vn 0.453291714191 -0.478627860546 0.751958787441 +vn -0.192956984043 -0.339222282171 0.920704007149 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn -0.349309086800 -0.879998743534 0.321846753359 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.022242724895 -0.434845775366 0.900230228901 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.577446520329 -0.303569018841 0.757892727852 +vn -0.550928473473 -0.090877428651 0.829589724541 +vn -0.550928473473 -0.090877428651 0.829589724541 +vn -0.202762871981 0.044235628098 0.978228211403 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn -0.334633797407 0.108778014779 0.936048924923 +vn -0.330435961485 0.111589379609 0.937208533287 +vn -0.330435961485 0.111589379609 0.937208533287 +vn -0.173753112555 -0.033539067954 0.984217941761 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn -0.337292581797 -0.545221269131 0.767442166805 +vn -0.328291893005 -0.713074207306 0.619475305080 +vn -0.336106806993 -0.668615162373 0.663314402103 +vn -0.336106806993 -0.668615162373 0.663314402103 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn -0.337292581797 -0.545221269131 0.767442166805 +vn 0.453291714191 -0.478627860546 0.751958787441 +vn 0.392328858376 -0.721172392368 0.570953965187 +vn 0.182218909264 -0.496878981590 0.848473668098 +vn 0.182218909264 -0.496878981590 0.848473668098 +vn 0.281917303801 -0.331665396690 0.900289237499 +vn 0.453291714191 -0.478627860546 0.751958787441 +vn 0.369695425034 0.844070196152 -0.388420820236 +vn 0.410014301538 0.809555232525 -0.420129299164 +vn 0.748724162579 0.597042918205 -0.288013637066 +vn 0.748724162579 0.597042918205 -0.288013637066 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.369695425034 0.844070196152 -0.388420820236 +vn -0.082643136382 0.941257119179 -0.327421933413 +vn -0.141386777163 0.929110169411 -0.341707617044 +vn 0.410014301538 0.809555232525 -0.420129299164 +vn 0.410014301538 0.809555232525 -0.420129299164 +vn 0.369695425034 0.844070196152 -0.388420820236 +vn -0.082643136382 0.941257119179 -0.327421933413 +vn 0.369695425034 0.844070196152 -0.388420820236 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.079247862101 0.969927549362 -0.230131030083 +vn 0.079247862101 0.969927549362 -0.230131030083 +vn -0.082643136382 0.941257119179 -0.327421933413 +vn 0.369695425034 0.844070196152 -0.388420820236 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn 0.078508637846 -0.052543114871 0.995527803898 +vn 0.281917303801 -0.331665396690 0.900289237499 +vn 0.281917303801 -0.331665396690 0.900289237499 +vn 0.363275855780 -0.318919390440 0.875397682190 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn -0.202762871981 0.044235628098 0.978228211403 +vn -0.334633797407 0.108778014779 0.936048924923 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn 0.078508637846 -0.052543114871 0.995527803898 +vn -0.202762871981 0.044235628098 0.978228211403 +vn 0.078508637846 -0.052543114871 0.995527803898 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn -0.202762871981 0.044235628098 0.978228211403 +vn -0.619381129742 -0.464946269989 0.632607281208 +vn -0.675307810307 -0.183331325650 0.714387118816 +vn -0.518619835377 -0.150040104985 0.841737151146 +vn -0.518619835377 -0.150040104985 0.841737151146 +vn -0.358048766851 -0.624385535717 0.694221735001 +vn -0.619381129742 -0.464946269989 0.632607281208 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.636181175709 -0.112482629716 0.763296246529 +vn -0.675307810307 -0.183331325650 0.714387118816 +vn -0.675307810307 -0.183331325650 0.714387118816 +vn -0.619381129742 -0.464946269989 0.632607281208 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.619381129742 -0.464946269989 0.632607281208 +vn -0.358048766851 -0.624385535717 0.694221735001 +vn -0.914469540119 -0.242004066706 0.324313849211 +vn -0.914469540119 -0.242004066706 0.324313849211 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.619381129742 -0.464946269989 0.632607281208 +vn -0.202524766326 -0.771763801575 0.602797091007 +vn -0.557868421078 -0.657093167305 0.506962835789 +vn -0.534343063831 -0.704809904099 0.466605246067 +vn -0.534343063831 -0.704809904099 0.466605246067 +vn -0.385458141565 -0.653668999672 0.651259422302 +vn -0.202524766326 -0.771763801575 0.602797091007 +vn -0.202524766326 -0.771763801575 0.602797091007 +vn -0.385458141565 -0.653668999672 0.651259422302 +vn -0.657310307026 -0.511882245541 0.553100109100 +vn -0.657310307026 -0.511882245541 0.553100109100 +vn -0.248956441879 -0.794233560562 0.554268658161 +vn -0.202524766326 -0.771763801575 0.602797091007 +vn -0.202524766326 -0.771763801575 0.602797091007 +vn -0.248956441879 -0.794233560562 0.554268658161 +vn -0.262534588575 -0.765424966812 0.587537407875 +vn -0.262534588575 -0.765424966812 0.587537407875 +vn -0.557868421078 -0.657093167305 0.506962835789 +vn -0.202524766326 -0.771763801575 0.602797091007 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn -0.022242724895 -0.434845775366 0.900230228901 +vn -0.346841216087 -0.535551905632 0.769990444183 +vn -0.346841216087 -0.535551905632 0.769990444183 +vn -0.364636987448 -0.726501166821 0.582439601421 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn -0.726929843426 -0.403456211090 0.555694282055 +vn -0.364636987448 -0.726501166821 0.582439601421 +vn -0.346841216087 -0.535551905632 0.769990444183 +vn -0.346841216087 -0.535551905632 0.769990444183 +vn -0.392607510090 -0.288638532162 0.873239457607 +vn -0.726929843426 -0.403456211090 0.555694282055 +vn -0.786651909351 -0.153091132641 0.598115265369 +vn -0.727658629417 -0.171462669969 0.664163768291 +vn -0.721782505512 -0.005383551121 0.692098975182 +vn -0.721782505512 -0.005383551121 0.692098975182 +vn -0.657491862774 -0.150105699897 0.738358139992 +vn -0.786651909351 -0.153091132641 0.598115265369 +vn -0.757091164589 -0.360904663801 0.544573962688 +vn -0.640274345875 -0.423490315676 0.640862464905 +vn -0.727658629417 -0.171462669969 0.664163768291 +vn -0.727658629417 -0.171462669969 0.664163768291 +vn -0.786651909351 -0.153091132641 0.598115265369 +vn -0.757091164589 -0.360904663801 0.544573962688 +vn -0.786651909351 -0.153091132641 0.598115265369 +vn -0.657491862774 -0.150105699897 0.738358139992 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.757091164589 -0.360904663801 0.544573962688 +vn -0.786651909351 -0.153091132641 0.598115265369 +vn 0.227208584547 -0.580720245838 0.781754612923 +vn -0.053172789514 -0.616151213646 0.785830974579 +vn -0.555045068264 -0.208258599043 0.805328071117 +vn -0.555045068264 -0.208258599043 0.805328071117 +vn -0.046108797193 -0.511099517345 0.858283877373 +vn 0.227208584547 -0.580720245838 0.781754612923 +vn 0.156231343746 -0.785838067532 0.598372995853 +vn -0.249192371964 -0.776740670204 0.578426361084 +vn -0.053172789514 -0.616151213646 0.785830974579 +vn -0.053172789514 -0.616151213646 0.785830974579 +vn 0.227208584547 -0.580720245838 0.781754612923 +vn 0.156231343746 -0.785838067532 0.598372995853 +vn 0.227208584547 -0.580720245838 0.781754612923 +vn -0.046108797193 -0.511099517345 0.858283877373 +vn 0.441990941763 -0.709040522575 0.549459338188 +vn 0.441990941763 -0.709040522575 0.549459338188 +vn 0.156231343746 -0.785838067532 0.598372995853 +vn 0.227208584547 -0.580720245838 0.781754612923 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.916443407536 0.266949117184 0.298110216856 +vn -0.903918921947 0.398155480623 -0.156213954091 +vn -0.903918921947 0.398155480623 -0.156213954091 +vn -0.892418026924 -0.216831088066 -0.395694732666 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.892418026924 -0.216831088066 -0.395694732666 +vn -0.738621592522 -0.423740774393 -0.524291872978 +vn -0.738621592522 -0.423740774393 -0.524291872978 +vn -0.871245801449 0.175334334373 -0.458463281393 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.555045068264 -0.208258599043 0.805328071117 +vn -0.625582337379 -0.136659100652 0.768095731735 +vn -0.625582337379 -0.136659100652 0.768095731735 +vn -0.916443407536 0.266949117184 0.298110216856 +vn -0.987220883369 0.152396500111 0.046585436910 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.203795030713 0.978946566582 -0.011453438550 +vn 0.327142566442 0.847049534321 0.418909132481 +vn 0.327142566442 0.847049534321 0.418909132481 +vn 0.535930573940 0.770952641964 0.344108164310 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.535930573940 0.770952641964 0.344108164310 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.737706422806 0.663348376751 -0.125531315804 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.303327411413 0.940892398357 0.150711387396 +vn -0.290093451738 0.940565109253 0.176587253809 +vn -0.132732585073 0.987605988979 -0.083764702082 +vn -0.132732585073 0.987605988979 -0.083764702082 +vn 0.203795030713 0.978946566582 -0.011453438550 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.506033003330 0.457370489836 0.731261134148 +vn -0.121771819890 0.907417356968 0.402200639248 +vn -0.121771819890 0.907417356968 0.402200639248 +vn -0.290093451738 0.940565109253 0.176587253809 +vn 0.303327411413 0.940892398357 0.150711387396 +vn -0.631274282932 0.601515531540 -0.489562898874 +vn -0.676860630512 0.594577789307 -0.433978050947 +vn -0.819403469563 0.542005181313 -0.186569884419 +vn -0.819403469563 0.542005181313 -0.186569884419 +vn -0.721555650234 0.631091058254 -0.284748166800 +vn -0.631274282932 0.601515531540 -0.489562898874 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.587254881859 0.526393055916 -0.614851236343 +vn -0.676860630512 0.594577789307 -0.433978050947 +vn -0.676860630512 0.594577789307 -0.433978050947 +vn -0.631274282932 0.601515531540 -0.489562898874 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.631274282932 0.601515531540 -0.489562898874 +vn -0.721555650234 0.631091058254 -0.284748166800 +vn -0.469751149416 0.765853762627 -0.439092069864 +vn -0.469751149416 0.765853762627 -0.439092069864 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.631274282932 0.601515531540 -0.489562898874 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.327255338430 -0.944576919079 0.026045057923 +vn -0.628532528877 -0.762571930885 0.153071716428 +vn -0.628532528877 -0.762571930885 0.153071716428 +vn -0.519463300705 -0.846371293068 -0.117530994117 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.519463300705 -0.846371293068 -0.117530994117 +vn -0.375377774239 -0.755562245846 -0.536858677864 +vn -0.375377774239 -0.755562245846 -0.536858677864 +vn -0.178706854582 -0.840725898743 -0.511120200157 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.254020094872 -0.811730861664 -0.525896191597 +vn -0.416124105453 -0.908334791660 -0.042054574937 +vn -0.416124105453 -0.908334791660 -0.042054574937 +vn -0.327255338430 -0.944576919079 0.026045057923 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.716524899006 -0.209137350321 0.665472507477 +vn -0.840556323528 0.541296303272 0.021526474506 +vn -0.769450485706 -0.472503662109 -0.429751396179 +vn -0.769450485706 -0.472503662109 -0.429751396179 +vn 0.197829738259 -0.940914392471 -0.274851888418 +vn 0.216387555003 -0.792263209820 0.570522069931 +vn 0.216387555003 -0.792263209820 0.570522069931 +vn -0.716524899006 -0.209137350321 0.665472507477 +vn -0.769450485706 -0.472503662109 -0.429751396179 +vn -0.769450485706 -0.472503662109 -0.429751396179 +vn -0.840556323528 0.541296303272 0.021526474506 +vn -0.443723082542 0.653885424137 -0.612816214561 +vn 0.216387555003 -0.792263209820 0.570522069931 +vn 0.197829738259 -0.940914392471 -0.274851888418 +vn 0.524528563023 -0.200460836291 -0.827457070351 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn 0.581949949265 -0.764983475208 0.275924861431 +vn 0.216387555003 -0.792263209820 0.570522069931 +vn 0.216387555003 -0.792263209820 0.570522069931 +vn 0.524528563023 -0.200460836291 -0.827457070351 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn 0.641663014889 -0.747617542744 0.171279326081 +vn 0.641663014889 -0.747617542744 0.171279326081 +vn 0.595780968666 -0.744827687740 0.300460904837 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn 0.524528563023 -0.200460836291 -0.827457070351 +vn -0.443723082542 0.653885424137 -0.612816214561 +vn -0.443723082542 0.653885424137 -0.612816214561 +vn -0.529323875904 0.631218016148 -0.566903889179 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn -0.769450485706 -0.472503662109 -0.429751396179 +vn -0.443723082542 0.653885424137 -0.612816214561 +vn 0.524528563023 -0.200460836291 -0.827457070351 +vn 0.524528563023 -0.200460836291 -0.827457070351 +vn 0.197829738259 -0.940914392471 -0.274851888418 +vn -0.769450485706 -0.472503662109 -0.429751396179 +vn -0.178706854582 -0.840725898743 -0.511120200157 +vn -0.375377774239 -0.755562245846 -0.536858677864 +vn -0.192814096808 -0.594672739506 -0.780504345894 +vn -0.192814096808 -0.594672739506 -0.780504345894 +vn -0.057935588062 -0.779576897621 -0.623621106148 +vn -0.178706854582 -0.840725898743 -0.511120200157 +vn -0.178706854582 -0.840725898743 -0.511120200157 +vn -0.057935588062 -0.779576897621 -0.623621106148 +vn 0.079553619027 -0.875217258930 -0.477143585682 +vn 0.079553619027 -0.875217258930 -0.477143585682 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.178706854582 -0.840725898743 -0.511120200157 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn -0.883379578590 0.453356623650 0.118778400123 +vn -0.672420799732 0.229601070285 0.703657329082 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn -0.672420799732 0.229601070285 0.703657329082 +vn 0.239769145846 -0.773571789265 0.586598157883 +vn 0.239769145846 -0.773571789265 0.586598157883 +vn 0.596639752388 -0.721411108971 0.351549416780 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn 0.222291097045 -0.811474919319 0.540458202362 +vn 0.239769145846 -0.773571789265 0.586598157883 +vn -0.672420799732 0.229601070285 0.703657329082 +vn -0.672420799732 0.229601070285 0.703657329082 +vn -0.645085215569 0.203440889716 0.736530244350 +vn 0.222291097045 -0.811474919319 0.540458202362 +vn 0.222291097045 -0.811474919319 0.540458202362 +vn -0.645085215569 0.203440889716 0.736530244350 +vn -0.426152616739 -0.798374474049 0.425431698561 +vn -0.971202492714 0.043587461114 -0.234234675765 +vn -0.242103204131 -0.685089111328 -0.687050879002 +vn -0.426152616739 -0.798374474049 0.425431698561 +vn -0.971202492714 0.043587461114 -0.234234675765 +vn -0.426152616739 -0.798374474049 0.425431698561 +vn -0.645085215569 0.203440889716 0.736530244350 +vn -0.645085215569 0.203440889716 0.736530244350 +vn -0.628692030907 0.732832312584 -0.260198384523 +vn -0.971202492714 0.043587461114 -0.234234675765 +vn 0.908035099506 -0.210515215993 0.362154066563 +vn 0.991328895092 -0.113044984639 -0.066991284490 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.908035099506 -0.210515215993 0.362154066563 +vn 0.811073362827 -0.208045750856 -0.546696424484 +vn 0.801559090614 0.223377063870 -0.554622173309 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.991328895092 -0.113044984639 -0.066991284490 +vn 0.811073362827 -0.208045750856 -0.546696424484 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.788167059422 0.469254255295 -0.398237556219 +vn 0.724548757076 0.585632026196 -0.363406389952 +vn 0.724548757076 0.585632026196 -0.363406389952 +vn 0.737706422806 0.663348376751 -0.125531315804 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.801559090614 0.223377063870 -0.554622173309 +vn 0.835438132286 0.233318656683 -0.497599750757 +vn 0.835438132286 0.233318656683 -0.497599750757 +vn 0.788167059422 0.469254255295 -0.398237556219 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn -0.971202492714 0.043587461114 -0.234234675765 +vn -0.628692030907 0.732832312584 -0.260198384523 +vn -0.275668442249 0.308932840824 -0.910256803036 +vn -0.971202492714 0.043587461114 -0.234234675765 +vn -0.275668442249 0.308932840824 -0.910256803036 +vn 0.117609016597 -0.507979869843 -0.853302180767 +vn 0.117609016597 -0.507979869843 -0.853302180767 +vn -0.242103204131 -0.685089111328 -0.687050879002 +vn -0.971202492714 0.043587461114 -0.234234675765 +vn -0.242103204131 -0.685089111328 -0.687050879002 +vn 0.117609016597 -0.507979869843 -0.853302180767 +vn 0.472686260939 -0.862592041492 -0.180284857750 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.752022862434 -0.514463245869 -0.412054896355 +vn 0.378839254379 -0.581993818283 -0.719558179379 +vn 0.378839254379 -0.581993818283 -0.719558179379 +vn 0.630308449268 -0.241095229983 -0.737959623337 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.378839254379 -0.581993818283 -0.719558179379 +vn 0.752022862434 -0.514463245869 -0.412054896355 +vn 0.364101141691 -0.929735064507 0.054982718080 +vn 0.364101141691 -0.929735064507 0.054982718080 +vn 0.266588270664 -0.862479686737 -0.430185347795 +vn 0.378839254379 -0.581993818283 -0.719558179379 +vn -0.063990190625 -0.437220007181 -0.897075176239 +vn 0.630308449268 -0.241095229983 -0.737959623337 +vn 0.378839254379 -0.581993818283 -0.719558179379 +vn 0.378839254379 -0.581993818283 -0.719558179379 +vn 0.266588270664 -0.862479686737 -0.430185347795 +vn -0.063990190625 -0.437220007181 -0.897075176239 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn -0.192814096808 -0.594672739506 -0.780504345894 +vn 0.160140171647 -0.822294294834 -0.546065270901 +vn 0.160140171647 -0.822294294834 -0.546065270901 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn 0.108458139002 -0.328526467085 -0.938246846199 +vn 0.108458139002 -0.328526467085 -0.938246846199 +vn 0.054847415537 -0.026922827587 -0.998131692410 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn 0.223080739379 -0.690481960773 -0.688091278076 +vn -0.057935588062 -0.779576897621 -0.623621106148 +vn -0.057935588062 -0.779576897621 -0.623621106148 +vn -0.192814096808 -0.594672739506 -0.780504345894 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn -0.121771819890 0.907417356968 0.402200639248 +vn -0.246833741665 0.934036254883 0.258165508509 +vn -0.473572015762 0.867844879627 0.150249123573 +vn -0.473572015762 0.867844879627 0.150249123573 +vn -0.290093451738 0.940565109253 0.176587253809 +vn -0.121771819890 0.907417356968 0.402200639248 +vn -0.583150744438 0.262040317059 -0.768940865993 +vn -0.493341773748 0.344065487385 -0.798894762993 +vn -0.010878787376 0.047278579324 -0.998822510242 +vn -0.010878787376 0.047278579324 -0.998822510242 +vn -0.174743488431 0.009917460382 -0.984564065933 +vn -0.583150744438 0.262040317059 -0.768940865993 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn -0.760393679142 0.343544006348 -0.551161468029 +vn -0.493341773748 0.344065487385 -0.798894762993 +vn -0.493341773748 0.344065487385 -0.798894762993 +vn -0.583150744438 0.262040317059 -0.768940865993 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn -0.583150744438 0.262040317059 -0.768940865993 +vn -0.174743488431 0.009917460382 -0.984564065933 +vn -0.871813118458 -0.005059626419 -0.489812523127 +vn -0.871813118458 -0.005059626419 -0.489812523127 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn -0.583150744438 0.262040317059 -0.768940865993 +vn 0.861029863358 -0.429624319077 -0.272122204304 +vn 0.837370514870 -0.543764710426 -0.055951450020 +vn 0.907390177250 -0.009350413457 -0.420185178518 +vn 0.907390177250 -0.009350413457 -0.420185178518 +vn 0.608978867531 -0.271527022123 -0.745263576508 +vn 0.861029863358 -0.429624319077 -0.272122204304 +vn 0.907390177250 -0.009350413457 -0.420185178518 +vn 0.754061222076 0.027538735420 -0.656226575375 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.630308449268 -0.241095229983 -0.737959623337 +vn 0.907390177250 -0.009350413457 -0.420185178518 +vn 0.907390177250 -0.009350413457 -0.420185178518 +vn 0.837370514870 -0.543764710426 -0.055951450020 +vn 0.855401635170 -0.481659621000 -0.190504774451 +vn 0.855401635170 -0.481659621000 -0.190504774451 +vn 0.754061222076 0.027538735420 -0.656226575375 +vn 0.907390177250 -0.009350413457 -0.420185178518 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn 0.160140171647 -0.822294294834 -0.546065270901 +vn 0.591400563717 -0.780224919319 -0.203701823950 +vn 0.591400563717 -0.780224919319 -0.203701823950 +vn 0.665769279003 -0.679318904877 -0.308669835329 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn 0.481452792883 -0.399535596371 -0.780111849308 +vn 0.242206633091 -0.299529105425 -0.922831654549 +vn 0.242206633091 -0.299529105425 -0.922831654549 +vn 0.108458139002 -0.328526467085 -0.938246846199 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.559680283070 -0.749737679958 -0.353060066700 +vn 0.752022862434 -0.514463245869 -0.412054896355 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.343803733587 -0.740231871605 -0.577802479267 +vn 0.343803733587 -0.740231871605 -0.577802479267 +vn 0.559680283070 -0.749737679958 -0.353060066700 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.277681350708 -0.025956066325 -0.960322499275 +vn 0.201174870133 -0.087589986622 -0.975631415844 +vn 0.201174870133 -0.087589986622 -0.975631415844 +vn 0.101619660854 -0.255653083324 -0.961413025856 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.101619660854 -0.255653083324 -0.961413025856 +vn -0.026375874877 -0.660482764244 -0.750377774239 +vn -0.026375874877 -0.660482764244 -0.750377774239 +vn 0.343803733587 -0.740231871605 -0.577802479267 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.539959251881 -0.597649097443 -0.592671513557 +vn 0.290766537189 -0.504648089409 -0.812886893749 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.539959251881 -0.597649097443 -0.592671513557 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.290766537189 -0.504648089409 -0.812886893749 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.463207036257 -0.877379715443 -0.125076130033 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.463207036257 -0.877379715443 -0.125076130033 +vn 0.555992066860 -0.656022727489 -0.510398864746 +vn 0.555992066860 -0.656022727489 -0.510398864746 +vn 0.730692684650 -0.553247034550 -0.400007367134 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.244689688087 -0.624031841755 -0.742099225521 +vn 0.223080739379 -0.690481960773 -0.688091278076 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn 0.163060486317 -0.384637802839 -0.908551037312 +vn 0.244689688087 -0.624031841755 -0.742099225521 +vn 0.244689688087 -0.624031841755 -0.742099225521 +vn 0.163060486317 -0.384637802839 -0.908551037312 +vn 0.555992066860 -0.656022727489 -0.510398864746 +vn 0.555992066860 -0.656022727489 -0.510398864746 +vn 0.463207036257 -0.877379715443 -0.125076130033 +vn 0.244689688087 -0.624031841755 -0.742099225521 +vn 0.244689688087 -0.624031841755 -0.742099225521 +vn 0.463207036257 -0.877379715443 -0.125076130033 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.223080739379 -0.690481960773 -0.688091278076 +vn 0.244689688087 -0.624031841755 -0.742099225521 +vn 0.555992066860 -0.656022727489 -0.510398864746 +vn 0.163060486317 -0.384637802839 -0.908551037312 +vn 0.407061606646 0.429488331079 -0.806126892567 +vn 0.407061606646 0.429488331079 -0.806126892567 +vn 0.730692684650 -0.553247034550 -0.400007367134 +vn 0.555992066860 -0.656022727489 -0.510398864746 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.364101141691 -0.929735064507 0.054982718080 +vn 0.240792527795 -0.970571935177 -0.003004235681 +vn 0.240792527795 -0.970571935177 -0.003004235681 +vn 0.227712795138 -0.968599319458 0.099810823798 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.426863461733 -0.857933163643 -0.285898983479 +vn 0.266588270664 -0.862479686737 -0.430185347795 +vn 0.266588270664 -0.862479686737 -0.430185347795 +vn 0.364101141691 -0.929735064507 0.054982718080 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.227712795138 -0.968599319458 0.099810823798 +vn 0.352315664291 -0.931752741337 0.087809689343 +vn 0.352315664291 -0.931752741337 0.087809689343 +vn 0.624742865562 -0.651130437851 0.430958807468 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn -0.096150808036 0.063654631376 0.993329286575 +vn -0.214608341455 0.516929745674 0.828689873219 +vn -0.332097560167 0.081697568297 0.939700365067 +vn -0.332097560167 0.081697568297 0.939700365067 +vn -0.039725661278 -0.290360718966 0.956092298031 +vn -0.096150808036 0.063654631376 0.993329286575 +vn -0.096150808036 0.063654631376 0.993329286575 +vn 0.254643589258 0.460702836514 0.850240886211 +vn 0.054755549878 0.784012436867 0.618325412273 +vn 0.054755549878 0.784012436867 0.618325412273 +vn -0.214608341455 0.516929745674 0.828689873219 +vn -0.096150808036 0.063654631376 0.993329286575 +vn -0.096150808036 0.063654631376 0.993329286575 +vn -0.039725661278 -0.290360718966 0.956092298031 +vn 0.363941878080 0.109785512090 0.924928903580 +vn 0.363941878080 0.109785512090 0.924928903580 +vn 0.254643589258 0.460702836514 0.850240886211 +vn -0.096150808036 0.063654631376 0.993329286575 +vn 0.254643589258 0.460702836514 0.850240886211 +vn 0.363941878080 0.109785512090 0.924928903580 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.054755549878 0.784012436867 0.618325412273 +vn 0.254643589258 0.460702836514 0.850240886211 +vn 0.685769379139 -0.187744989991 -0.703187167645 +vn 0.624556243420 -0.611509680748 -0.485783308744 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.810734689236 -0.513062596321 -0.281915038824 +vn 0.685769379139 -0.187744989991 -0.703187167645 +vn 0.919350385666 0.165112033486 -0.357117384672 +vn 0.894795954227 -0.208162710071 -0.394979119301 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.925209879875 -0.269885331392 0.266736835241 +vn 0.919350385666 0.165112033486 -0.357117384672 +vn 0.778905391693 -0.485527932644 -0.396949648857 +vn 0.810734689236 -0.513062596321 -0.281915038824 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.894795954227 -0.208162710071 -0.394979119301 +vn 0.778905391693 -0.485527932644 -0.396949648857 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn 0.153454333544 -0.469212532043 0.869650125504 +vn 0.324504107237 -0.427837014198 0.843595027924 +vn 0.324504107237 -0.427837014198 0.843595027924 +vn -0.039725661278 -0.290360718966 0.956092298031 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn 0.317261904478 0.790387809277 0.524053394794 +vn -0.141119390726 -0.374258041382 0.916523993015 +vn 0.516634881496 0.036752458662 0.855416655540 +vn 0.516634881496 0.036752458662 0.855416655540 +vn 0.534159302711 0.839426577091 0.100184306502 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.363941878080 0.109785512090 0.924928903580 +vn 0.340282380581 -0.382701039314 0.858922481537 +vn 0.340282380581 -0.382701039314 0.858922481537 +vn -0.141119390726 -0.374258041382 0.916523993015 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.046635005623 0.905606448650 0.421547323465 +vn 0.054755549878 0.784012436867 0.618325412273 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.297269523144 0.952216386795 0.070105269551 +vn 0.046635005623 0.905606448650 0.421547323465 +vn 0.503617525101 0.812182068825 -0.294499009848 +vn 0.297269523144 0.952216386795 0.070105269551 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.317261904478 0.790387809277 0.524053394794 +vn 0.534159302711 0.839426577091 0.100184306502 +vn 0.503617525101 0.812182068825 -0.294499009848 +vn 0.516634881496 0.036752458662 0.855416655540 +vn 0.792448759079 0.608949303627 0.034723557532 +vn 0.757121384144 0.595956921577 -0.267586499453 +vn 0.757121384144 0.595956921577 -0.267586499453 +vn 0.534159302711 0.839426577091 0.100184306502 +vn 0.516634881496 0.036752458662 0.855416655540 +vn 0.516634881496 0.036752458662 0.855416655540 +vn -0.141119390726 -0.374258041382 0.916523993015 +vn 0.999197006226 -0.013656531461 0.037667006254 +vn 0.999197006226 -0.013656531461 0.037667006254 +vn 0.792448759079 0.608949303627 0.034723557532 +vn 0.516634881496 0.036752458662 0.855416655540 +vn 0.925209879875 -0.269885331392 0.266736835241 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.624742865562 -0.651130437851 0.430958807468 +vn 0.624742865562 -0.651130437851 0.430958807468 +vn 0.729452431202 -0.625799298286 0.276178151369 +vn 0.925209879875 -0.269885331392 0.266736835241 +vn 0.838846743107 -0.329071611166 -0.433645069599 +vn 0.919350385666 0.165112033486 -0.357117384672 +vn 0.925209879875 -0.269885331392 0.266736835241 +vn 0.925209879875 -0.269885331392 0.266736835241 +vn 0.729452431202 -0.625799298286 0.276178151369 +vn 0.838846743107 -0.329071611166 -0.433645069599 +vn 0.153454333544 -0.469212532043 0.869650125504 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn -0.325221389532 -0.836283624172 0.441430330276 +vn -0.325221389532 -0.836283624172 0.441430330276 +vn 0.268750041723 -0.944639980793 0.188225045800 +vn 0.153454333544 -0.469212532043 0.869650125504 +vn 0.153454333544 -0.469212532043 0.869650125504 +vn 0.268750041723 -0.944639980793 0.188225045800 +vn 0.798023343086 -0.602499783039 -0.012357043102 +vn 0.798023343086 -0.602499783039 -0.012357043102 +vn 0.324504107237 -0.427837014198 0.843595027924 +vn 0.153454333544 -0.469212532043 0.869650125504 +vn 0.792448759079 0.608949303627 0.034723557532 +vn 0.999197006226 -0.013656531461 0.037667006254 +vn 0.800038218498 0.208430096507 -0.562579572201 +vn 0.800038218498 0.208430096507 -0.562579572201 +vn 0.757121384144 0.595956921577 -0.267586499453 +vn 0.792448759079 0.608949303627 0.034723557532 +vn 0.788941442966 -0.018234614283 -0.614197731018 +vn 0.734331071377 -0.294317692518 -0.611665785313 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.699311733246 -0.076596602798 -0.710701107979 +vn 0.788941442966 -0.018234614283 -0.614197731018 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.734331071377 -0.294317692518 -0.611665785313 +vn 0.778905391693 -0.485527932644 -0.396949648857 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.568980515003 0.064607515931 -0.819809138775 +vn 0.521646261215 0.109020903707 -0.846167623997 +vn 0.521646261215 0.109020903707 -0.846167623997 +vn 0.699311733246 -0.076596602798 -0.710701107979 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.117384985089 0.660975337029 -0.741169571877 +vn 0.176694035530 0.500781595707 -0.847347021103 +vn 0.176694035530 0.500781595707 -0.847347021103 +vn 0.171955436468 0.529781341553 -0.830519735813 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.469751149416 0.765853762627 -0.439092069864 +vn -0.244834110141 0.793942570686 -0.556517302990 +vn -0.244834110141 0.793942570686 -0.556517302990 +vn -0.117384985089 0.660975337029 -0.741169571877 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn 0.171955436468 0.529781341553 -0.830519735813 +vn 0.140470072627 0.209249109030 -0.967720508575 +vn 0.140470072627 0.209249109030 -0.967720508575 +vn -0.350479990244 0.437364995480 -0.828176081181 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.102916389704 -0.977832078934 -0.182353064418 +vn 0.231874272227 -0.820132136345 -0.523084700108 +vn 0.268750041723 -0.944639980793 0.188225045800 +vn 0.268750041723 -0.944639980793 0.188225045800 +vn -0.325221389532 -0.836283624172 0.441430330276 +vn -0.102916389704 -0.977832078934 -0.182353064418 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn -0.626230418682 -0.102859854698 -0.772822916508 +vn -0.765195369720 -0.226806268096 -0.602523803711 +vn -0.765195369720 -0.226806268096 -0.602523803711 +vn -0.211206659675 -0.288128644228 -0.934009432793 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn -0.211206659675 -0.288128644228 -0.934009432793 +vn 0.316609293222 -0.120613738894 -0.940856456757 +vn 0.316609293222 -0.120613738894 -0.940856456757 +vn 0.172254130244 -0.362085193396 -0.916091084480 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn 0.172254130244 -0.362085193396 -0.916091084480 +vn 0.056213788688 -0.686007142067 -0.725420057774 +vn 0.056213788688 -0.686007142067 -0.725420057774 +vn -0.153387278318 -0.832074820995 -0.533032655716 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn 0.729452431202 -0.625799298286 0.276178151369 +vn 0.525851249695 -0.848270535469 -0.062589950860 +vn 0.838846743107 -0.329071611166 -0.433645069599 +vn 0.525851249695 -0.848270535469 -0.062589950860 +vn 0.297565698624 -0.840286493301 -0.453181296587 +vn 0.466906398535 -0.236898526549 -0.851984441280 +vn 0.466906398535 -0.236898526549 -0.851984441280 +vn 0.838846743107 -0.329071611166 -0.433645069599 +vn 0.525851249695 -0.848270535469 -0.062589950860 +vn 0.297565698624 -0.840286493301 -0.453181296587 +vn 0.065242014825 -0.397843718529 -0.915130496025 +vn 0.466906398535 -0.236898526549 -0.851984441280 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.568980515003 0.064607515931 -0.819809138775 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.688086986542 0.005382491741 -0.725608229637 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.688086986542 0.005382491741 -0.725608229637 +vn 0.592370748520 0.167298868299 -0.788103997707 +vn 0.592370748520 0.167298868299 -0.788103997707 +vn 0.291244596243 -0.020018570125 -0.956439137459 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.291244596243 -0.020018570125 -0.956439137459 +vn 0.172254130244 -0.362085193396 -0.916091084480 +vn 0.172254130244 -0.362085193396 -0.916091084480 +vn 0.316609293222 -0.120613738894 -0.940856456757 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.291244596243 -0.020018570125 -0.956439137459 +vn 0.592370748520 0.167298868299 -0.788103997707 +vn 0.466906398535 -0.236898526549 -0.851984441280 +vn 0.466906398535 -0.236898526549 -0.851984441280 +vn 0.065242014825 -0.397843718529 -0.915130496025 +vn 0.291244596243 -0.020018570125 -0.956439137459 +vn 0.291244596243 -0.020018570125 -0.956439137459 +vn 0.065242014825 -0.397843718529 -0.915130496025 +vn 0.056213788688 -0.686007142067 -0.725420057774 +vn 0.056213788688 -0.686007142067 -0.725420057774 +vn 0.172254130244 -0.362085193396 -0.916091084480 +vn 0.291244596243 -0.020018570125 -0.956439137459 +vn 0.592370748520 0.167298868299 -0.788103997707 +vn 0.919350385666 0.165112033486 -0.357117384672 +vn 0.838846743107 -0.329071611166 -0.433645069599 +vn 0.838846743107 -0.329071611166 -0.433645069599 +vn 0.466906398535 -0.236898526549 -0.851984441280 +vn 0.592370748520 0.167298868299 -0.788103997707 +vn 0.592370748520 0.167298868299 -0.788103997707 +vn 0.688086986542 0.005382491741 -0.725608229637 +vn 0.894795954227 -0.208162710071 -0.394979119301 +vn 0.894795954227 -0.208162710071 -0.394979119301 +vn 0.919350385666 0.165112033486 -0.357117384672 +vn 0.592370748520 0.167298868299 -0.788103997707 +vn 0.894795954227 -0.208162710071 -0.394979119301 +vn 0.688086986542 0.005382491741 -0.725608229637 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.730803132057 -0.124241836369 -0.671186089516 +vn 0.778905391693 -0.485527932644 -0.396949648857 +vn 0.894795954227 -0.208162710071 -0.394979119301 +vn 0.570902347565 -0.647958517075 -0.504202604294 +vn 0.810734689236 -0.513062596321 -0.281915038824 +vn 0.778905391693 -0.485527932644 -0.396949648857 +vn 0.778905391693 -0.485527932644 -0.396949648857 +vn 0.734331071377 -0.294317692518 -0.611665785313 +vn 0.570902347565 -0.647958517075 -0.504202604294 +vn 0.570902347565 -0.647958517075 -0.504202604294 +vn 0.734331071377 -0.294317692518 -0.611665785313 +vn 0.811073362827 -0.208045750856 -0.546696424484 +vn 0.811073362827 -0.208045750856 -0.546696424484 +vn 0.582459867001 -0.756581723690 -0.297194570303 +vn 0.570902347565 -0.647958517075 -0.504202604294 +vn 0.663026869297 -0.326852053404 -0.673470914364 +vn 0.570902347565 -0.647958517075 -0.504202604294 +vn 0.582459867001 -0.756581723690 -0.297194570303 +vn 0.582459867001 -0.756581723690 -0.297194570303 +vn 0.748732030392 -0.637023806572 -0.183305755258 +vn 0.663026869297 -0.326852053404 -0.673470914364 +vn 0.991328895092 -0.113044984639 -0.066991284490 +vn 0.634775996208 -0.760179579258 0.138515204191 +vn 0.582459867001 -0.756581723690 -0.297194570303 +vn 0.582459867001 -0.756581723690 -0.297194570303 +vn 0.811073362827 -0.208045750856 -0.546696424484 +vn 0.991328895092 -0.113044984639 -0.066991284490 +vn 0.319824814796 -0.932368159294 0.168527901173 +vn 0.748732030392 -0.637023806572 -0.183305755258 +vn 0.582459867001 -0.756581723690 -0.297194570303 +vn 0.582459867001 -0.756581723690 -0.297194570303 +vn 0.634775996208 -0.760179579258 0.138515204191 +vn 0.319824814796 -0.932368159294 0.168527901173 +vn 0.319824814796 -0.932368159294 0.168527901173 +vn 0.634775996208 -0.760179579258 0.138515204191 +vn 0.511419832706 -0.781244933605 0.357919096947 +vn 0.511419832706 -0.781244933605 0.357919096947 +vn 0.398407310247 -0.854170084000 0.334163308144 +vn 0.319824814796 -0.932368159294 0.168527901173 +vn 0.912563502789 -0.373714834452 0.166027501225 +vn 0.319824814796 -0.932368159294 0.168527901173 +vn 0.398407310247 -0.854170084000 0.334163308144 +vn 0.398407310247 -0.854170084000 0.334163308144 +vn 0.834144592285 -0.284741282463 0.472361266613 +vn 0.912563502789 -0.373714834452 0.166027501225 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.656224668026 -0.205502897501 0.726042509079 +vn 0.398407310247 -0.854170084000 0.334163308144 +vn 0.398407310247 -0.854170084000 0.334163308144 +vn 0.511419832706 -0.781244933605 0.357919096947 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.487584769726 0.575793743134 0.656294643879 +vn 0.834144592285 -0.284741282463 0.472361266613 +vn 0.398407310247 -0.854170084000 0.334163308144 +vn 0.398407310247 -0.854170084000 0.334163308144 +vn 0.656224668026 -0.205502897501 0.726042509079 +vn 0.487584769726 0.575793743134 0.656294643879 +vn 0.487584769726 0.575793743134 0.656294643879 +vn 0.656224668026 -0.205502897501 0.726042509079 +vn 0.288535594940 0.014455531724 0.957360029221 +vn 0.288535594940 0.014455531724 0.957360029221 +vn 0.232914984226 0.237921655178 0.942944288254 +vn 0.487584769726 0.575793743134 0.656294643879 +vn -0.004625395872 0.025178126991 0.999672293663 +vn -0.035672992468 0.077534280717 0.996351301670 +vn 0.232914984226 0.237921655178 0.942944288254 +vn 0.232914984226 0.237921655178 0.942944288254 +vn 0.288535594940 0.014455531724 0.957360029221 +vn -0.004625395872 0.025178126991 0.999672293663 +vn 0.275815635920 -0.256258785725 0.926421701908 +vn 0.459898144007 -0.231092125177 0.857373952866 +vn 0.232914984226 0.237921655178 0.942944288254 +vn 0.232914984226 0.237921655178 0.942944288254 +vn -0.035672992468 0.077534280717 0.996351301670 +vn 0.275815635920 -0.256258785725 0.926421701908 +vn 0.275815635920 -0.256258785725 0.926421701908 +vn -0.035672992468 0.077534280717 0.996351301670 +vn -0.287652492523 -0.039519365877 0.956919133663 +vn -0.287652492523 -0.039519365877 0.956919133663 +vn 0.069301426411 -0.423665106297 0.903163969517 +vn 0.275815635920 -0.256258785725 0.926421701908 +vn 0.069301426411 -0.423665106297 0.903163969517 +vn -0.287652492523 -0.039519365877 0.956919133663 +vn -0.546890854836 -0.178878933191 0.817870855331 +vn -0.546890854836 -0.178878933191 0.817870855331 +vn -0.175124287605 -0.611406266689 0.771695435047 +vn 0.069301426411 -0.423665106297 0.903163969517 +vn -0.684462308884 -0.341979593039 0.643864393234 +vn -0.355224251747 -0.699728786945 0.619834899902 +vn -0.175124287605 -0.611406266689 0.771695435047 +vn -0.175124287605 -0.611406266689 0.771695435047 +vn -0.546890854836 -0.178878933191 0.817870855331 +vn -0.684462308884 -0.341979593039 0.643864393234 +vn 0.069301426411 -0.423665106297 0.903163969517 +vn 0.410304158926 -0.774405479431 0.481608390808 +vn 0.552535414696 -0.620800912380 0.556157231331 +vn 0.552535414696 -0.620800912380 0.556157231331 +vn 0.275815635920 -0.256258785725 0.926421701908 +vn 0.069301426411 -0.423665106297 0.903163969517 +vn 0.069301426411 -0.423665106297 0.903163969517 +vn -0.175124287605 -0.611406266689 0.771695435047 +vn 0.283917009830 -0.872002422810 0.398751676083 +vn 0.283917009830 -0.872002422810 0.398751676083 +vn 0.410304158926 -0.774405479431 0.481608390808 +vn 0.069301426411 -0.423665106297 0.903163969517 +vn 0.283917009830 -0.872002422810 0.398751676083 +vn -0.175124287605 -0.611406266689 0.771695435047 +vn -0.355224251747 -0.699728786945 0.619834899902 +vn -0.355224251747 -0.699728786945 0.619834899902 +vn 0.135520935059 -0.885927915573 0.443582922220 +vn 0.283917009830 -0.872002422810 0.398751676083 +vn 0.528594553471 -0.735937774181 0.423064291477 +vn 0.465447813272 -0.842818975449 0.270211994648 +vn 0.694850206375 -0.184983968735 0.694956183434 +vn 0.694850206375 -0.184983968735 0.694956183434 +vn 0.459898144007 -0.231092125177 0.857373952866 +vn 0.528594553471 -0.735937774181 0.423064291477 +vn 0.528594553471 -0.735937774181 0.423064291477 +vn 0.459898144007 -0.231092125177 0.857373952866 +vn 0.275815635920 -0.256258785725 0.926421701908 +vn 0.275815635920 -0.256258785725 0.926421701908 +vn 0.552535414696 -0.620800912380 0.556157231331 +vn 0.528594553471 -0.735937774181 0.423064291477 +vn 0.487584769726 0.575793743134 0.656294643879 +vn 0.232914984226 0.237921655178 0.942944288254 +vn 0.459898144007 -0.231092125177 0.857373952866 +vn 0.459898144007 -0.231092125177 0.857373952866 +vn 0.694850206375 -0.184983968735 0.694956183434 +vn 0.487584769726 0.575793743134 0.656294643879 +vn 0.487584769726 0.575793743134 0.656294643879 +vn 0.694850206375 -0.184983968735 0.694956183434 +vn 0.867994189262 -0.239089637995 0.435226678848 +vn 0.867994189262 -0.239089637995 0.435226678848 +vn 0.834144592285 -0.284741282463 0.472361266613 +vn 0.487584769726 0.575793743134 0.656294643879 +vn 0.834144592285 -0.284741282463 0.472361266613 +vn 0.867994189262 -0.239089637995 0.435226678848 +vn 0.956435620785 -0.162598088384 0.242472261190 +vn 0.956435620785 -0.162598088384 0.242472261190 +vn 0.912563502789 -0.373714834452 0.166027501225 +vn 0.834144592285 -0.284741282463 0.472361266613 +vn 0.748732030392 -0.637023806572 -0.183305755258 +vn 0.319824814796 -0.932368159294 0.168527901173 +vn 0.912563502789 -0.373714834452 0.166027501225 +vn 0.912563502789 -0.373714834452 0.166027501225 +vn 0.950546622276 0.019457427785 -0.309971868992 +vn 0.748732030392 -0.637023806572 -0.183305755258 +vn 0.748732030392 -0.637023806572 -0.183305755258 +vn 0.950546622276 0.019457427785 -0.309971868992 +vn 0.686465680599 0.170581594110 -0.706871092319 +vn 0.686465680599 0.170581594110 -0.706871092319 +vn 0.663026869297 -0.326852053404 -0.673470914364 +vn 0.748732030392 -0.637023806572 -0.183305755258 +vn 0.523924887180 0.036490101367 -0.850982487202 +vn 0.685769379139 -0.187744989991 -0.703187167645 +vn 0.663026869297 -0.326852053404 -0.673470914364 +vn 0.663026869297 -0.326852053404 -0.673470914364 +vn 0.686465680599 0.170581594110 -0.706871092319 +vn 0.523924887180 0.036490101367 -0.850982487202 +vn 0.810734689236 -0.513062596321 -0.281915038824 +vn 0.570902347565 -0.647958517075 -0.504202604294 +vn 0.663026869297 -0.326852053404 -0.673470914364 +vn 0.663026869297 -0.326852053404 -0.673470914364 +vn 0.685769379139 -0.187744989991 -0.703187167645 +vn 0.810734689236 -0.513062596321 -0.281915038824 +vn 0.274543195963 -0.224540710449 -0.934990644455 +vn 0.624556243420 -0.611509680748 -0.485783308744 +vn 0.685769379139 -0.187744989991 -0.703187167645 +vn 0.685769379139 -0.187744989991 -0.703187167645 +vn 0.523924887180 0.036490101367 -0.850982487202 +vn 0.274543195963 -0.224540710449 -0.934990644455 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn 0.426863461733 -0.857933163643 -0.285898983479 +vn 0.624556243420 -0.611509680748 -0.485783308744 +vn 0.624556243420 -0.611509680748 -0.485783308744 +vn 0.274543195963 -0.224540710449 -0.934990644455 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.624556243420 -0.611509680748 -0.485783308744 +vn 0.624556243420 -0.611509680748 -0.485783308744 +vn 0.426863461733 -0.857933163643 -0.285898983479 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.455409258604 -0.854054450989 0.251383066177 +vn 0.624742865562 -0.651130437851 0.430958807468 +vn 0.866467535496 -0.497229367495 0.044686846435 +vn 0.266588270664 -0.862479686737 -0.430185347795 +vn 0.426863461733 -0.857933163643 -0.285898983479 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn -0.063990190625 -0.437220007181 -0.897075176239 +vn 0.266588270664 -0.862479686737 -0.430185347795 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.427592217922 -0.637055397034 -0.641346454620 +vn 0.274543195963 -0.224540710449 -0.934990644455 +vn 0.274543195963 -0.224540710449 -0.934990644455 +vn 0.523924887180 0.036490101367 -0.850982487202 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.523924887180 0.036490101367 -0.850982487202 +vn 0.686465680599 0.170581594110 -0.706871092319 +vn 0.686465680599 0.170581594110 -0.706871092319 +vn 0.864660620689 -0.347837835550 -0.362451195717 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.864660620689 -0.347837835550 -0.362451195717 +vn 0.686465680599 0.170581594110 -0.706871092319 +vn 0.950546622276 0.019457427785 -0.309971868992 +vn 0.950546622276 0.019457427785 -0.309971868992 +vn 0.980162084103 -0.166142880917 -0.108068868518 +vn 0.864660620689 -0.347837835550 -0.362451195717 +vn 0.912563502789 -0.373714834452 0.166027501225 +vn 0.956435620785 -0.162598088384 0.242472261190 +vn 0.980162084103 -0.166142880917 -0.108068868518 +vn 0.980162084103 -0.166142880917 -0.108068868518 +vn 0.950546622276 0.019457427785 -0.309971868992 +vn 0.912563502789 -0.373714834452 0.166027501225 +vn 0.956435620785 -0.162598088384 0.242472261190 +vn 0.587922394276 -0.743195712566 0.319385975599 +vn 0.643816113472 -0.739150702953 0.197881504893 +vn 0.643816113472 -0.739150702953 0.197881504893 +vn 0.980162084103 -0.166142880917 -0.108068868518 +vn 0.956435620785 -0.162598088384 0.242472261190 +vn 0.956435620785 -0.162598088384 0.242472261190 +vn 0.867994189262 -0.239089637995 0.435226678848 +vn 0.453915089369 -0.848896443844 0.270806014538 +vn 0.453915089369 -0.848896443844 0.270806014538 +vn 0.587922394276 -0.743195712566 0.319385975599 +vn 0.956435620785 -0.162598088384 0.242472261190 +vn 0.867994189262 -0.239089637995 0.435226678848 +vn 0.694850206375 -0.184983968735 0.694956183434 +vn 0.465447813272 -0.842818975449 0.270211994648 +vn 0.465447813272 -0.842818975449 0.270211994648 +vn 0.453915089369 -0.848896443844 0.270806014538 +vn 0.867994189262 -0.239089637995 0.435226678848 +vn 0.643816113472 -0.739150702953 0.197881504893 +vn 0.560174226761 -0.823622524738 0.088604912162 +vn 0.864660620689 -0.347837835550 -0.362451195717 +vn 0.864660620689 -0.347837835550 -0.362451195717 +vn 0.980162084103 -0.166142880917 -0.108068868518 +vn 0.643816113472 -0.739150702953 0.197881504893 +vn 0.560174226761 -0.823622524738 0.088604912162 +vn 0.590715467930 -0.806350469589 -0.029225697741 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.864660620689 -0.347837835550 -0.362451195717 +vn 0.560174226761 -0.823622524738 0.088604912162 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.590715467930 -0.806350469589 -0.029225697741 +vn 0.520828485489 -0.852863729000 -0.036893356591 +vn 0.520828485489 -0.852863729000 -0.036893356591 +vn 0.427592217922 -0.637055397034 -0.641346454620 +vn 0.694869339466 -0.418429195881 -0.584870636463 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn 0.274543195963 -0.224540710449 -0.934990644455 +vn 0.427592217922 -0.637055397034 -0.641346454620 +vn 0.427592217922 -0.637055397034 -0.641346454620 +vn 0.193443819880 -0.738571822643 -0.645825982094 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn 0.193443819880 -0.738571822643 -0.645825982094 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn -0.063990190625 -0.437220007181 -0.897075176239 +vn 0.042917381972 -0.468026548624 -0.882671654224 +vn 0.630308449268 -0.241095229983 -0.737959623337 +vn -0.063990190625 -0.437220007181 -0.897075176239 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn 0.608978867531 -0.271527022123 -0.745263576508 +vn 0.630308449268 -0.241095229983 -0.737959623337 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn 0.409019470215 -0.695324003696 -0.590954840183 +vn 0.499595552683 -0.467188239098 -0.729478895664 +vn 0.499595552683 -0.467188239098 -0.729478895664 +vn 0.608978867531 -0.271527022123 -0.745263576508 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn 0.193443819880 -0.738571822643 -0.645825982094 +vn 0.394156038761 -0.893297255039 -0.216011554003 +vn 0.394156038761 -0.893297255039 -0.216011554003 +vn 0.409019470215 -0.695324003696 -0.590954840183 +vn 0.188240170479 -0.569500625134 -0.800146639347 +vn 0.394156038761 -0.893297255039 -0.216011554003 +vn 0.193443819880 -0.738571822643 -0.645825982094 +vn 0.427592217922 -0.637055397034 -0.641346454620 +vn 0.427592217922 -0.637055397034 -0.641346454620 +vn 0.520828485489 -0.852863729000 -0.036893356591 +vn 0.394156038761 -0.893297255039 -0.216011554003 +vn 0.749511778355 -0.659742295742 0.054518498480 +vn 0.486455798149 -0.718520760536 0.497080177069 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.861029863358 -0.429624319077 -0.272122204304 +vn 0.749511778355 -0.659742295742 0.054518498480 +vn 0.749511778355 -0.659742295742 0.054518498480 +vn 0.861029863358 -0.429624319077 -0.272122204304 +vn 0.608978867531 -0.271527022123 -0.745263576508 +vn 0.608978867531 -0.271527022123 -0.745263576508 +vn 0.499595552683 -0.467188239098 -0.729478895664 +vn 0.749511778355 -0.659742295742 0.054518498480 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.486455798149 -0.718520760536 0.497080177069 +vn 0.554613232613 -0.706817686558 0.439104676247 +vn 0.554613232613 -0.706817686558 0.439104676247 +vn 0.627686858177 -0.765295922756 0.142588213086 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.627686858177 -0.765295922756 0.142588213086 +vn 0.539959251881 -0.597649097443 -0.592671513557 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.837370514870 -0.543764710426 -0.055951450020 +vn 0.861029863358 -0.429624319077 -0.272122204304 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.768759310246 -0.630120694637 -0.109348192811 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.837370514870 -0.543764710426 -0.055951450020 +vn 0.539959251881 -0.597649097443 -0.592671513557 +vn 0.627686858177 -0.765295922756 0.142588213086 +vn 0.564531207085 -0.810247540474 0.157491043210 +vn 0.564531207085 -0.810247540474 0.157491043210 +vn 0.279040306807 -0.729090750217 -0.624950528145 +vn 0.539959251881 -0.597649097443 -0.592671513557 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn 0.290766537189 -0.504648089409 -0.812886893749 +vn 0.539959251881 -0.597649097443 -0.592671513557 +vn 0.539959251881 -0.597649097443 -0.592671513557 +vn 0.279040306807 -0.729090750217 -0.624950528145 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn 0.279040306807 -0.729090750217 -0.624950528145 +vn -0.048961449414 -0.929446697235 -0.365693271160 +vn -0.048961449414 -0.929446697235 -0.365693271160 +vn -0.254020094872 -0.811730861664 -0.525896191597 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn -0.254020094872 -0.811730861664 -0.525896191597 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn -0.161456078291 -0.961875319481 -0.220743775368 +vn 0.079553619027 -0.875217258930 -0.477143585682 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn 0.079553619027 -0.875217258930 -0.477143585682 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.290766537189 -0.504648089409 -0.812886893749 +vn -0.079212263227 -0.595626950264 -0.799345970154 +vn -0.254020094872 -0.811730861664 -0.525896191597 +vn -0.048961449414 -0.929446697235 -0.365693271160 +vn -0.119740322232 -0.991864562035 0.043207794428 +vn -0.119740322232 -0.991864562035 0.043207794428 +vn -0.416124105453 -0.908334791660 -0.042054574937 +vn -0.254020094872 -0.811730861664 -0.525896191597 +vn -0.416124105453 -0.908334791660 -0.042054574937 +vn -0.119740322232 -0.991864562035 0.043207794428 +vn -0.071950569749 -0.950316131115 0.302857011557 +vn -0.071950569749 -0.950316131115 0.302857011557 +vn -0.393807053566 -0.888457477093 0.235710248351 +vn -0.416124105453 -0.908334791660 -0.042054574937 +vn -0.081477582455 -0.860848963261 0.502295136452 +vn -0.504324793816 -0.689210057259 0.520236492157 +vn -0.393807053566 -0.888457477093 0.235710248351 +vn -0.393807053566 -0.888457477093 0.235710248351 +vn -0.071950569749 -0.950316131115 0.302857011557 +vn -0.081477582455 -0.860848963261 0.502295136452 +vn -0.393807053566 -0.888457477093 0.235710248351 +vn -0.504324793816 -0.689210057259 0.520236492157 +vn -0.453740745783 -0.766918957233 0.453822225332 +vn -0.453740745783 -0.766918957233 0.453822225332 +vn -0.366184175014 -0.881492078304 0.298128902912 +vn -0.393807053566 -0.888457477093 0.235710248351 +vn -0.393807053566 -0.888457477093 0.235710248351 +vn -0.366184175014 -0.881492078304 0.298128902912 +vn -0.327255338430 -0.944576919079 0.026045057923 +vn -0.327255338430 -0.944576919079 0.026045057923 +vn -0.416124105453 -0.908334791660 -0.042054574937 +vn -0.393807053566 -0.888457477093 0.235710248351 +vn -0.366184175014 -0.881492078304 0.298128902912 +vn -0.453740745783 -0.766918957233 0.453822225332 +vn -0.731317400932 -0.539573132992 0.417175889015 +vn -0.731317400932 -0.539573132992 0.417175889015 +vn -0.729899942875 -0.569648981094 0.377817600965 +vn -0.366184175014 -0.881492078304 0.298128902912 +vn -0.366184175014 -0.881492078304 0.298128902912 +vn -0.729899942875 -0.569648981094 0.377817600965 +vn -0.628532528877 -0.762571930885 0.153071716428 +vn -0.628532528877 -0.762571930885 0.153071716428 +vn -0.327255338430 -0.944576919079 0.026045057923 +vn -0.366184175014 -0.881492078304 0.298128902912 +vn -0.729899942875 -0.569648981094 0.377817600965 +vn -0.731317400932 -0.539573132992 0.417175889015 +vn -0.709319472313 -0.529251933098 0.465573132038 +vn -0.709319472313 -0.529251933098 0.465573132038 +vn -0.601008892059 -0.672716557980 0.431556135416 +vn -0.729899942875 -0.569648981094 0.377817600965 +vn -0.729899942875 -0.569648981094 0.377817600965 +vn -0.601008892059 -0.672716557980 0.431556135416 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn -0.628532528877 -0.762571930885 0.153071716428 +vn -0.729899942875 -0.569648981094 0.377817600965 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn -0.601008892059 -0.672716557980 0.431556135416 +vn -0.249192371964 -0.776740670204 0.578426361084 +vn -0.249192371964 -0.776740670204 0.578426361084 +vn 0.156231343746 -0.785838067532 0.598372995853 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn 0.156231343746 -0.785838067532 0.598372995853 +vn 0.242176041007 -0.913083732128 0.328068315983 +vn 0.242176041007 -0.913083732128 0.328068315983 +vn -0.291796803474 -0.953618049622 0.073941029608 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn -0.291796803474 -0.953618049622 0.073941029608 +vn -0.519463300705 -0.846371293068 -0.117530994117 +vn -0.519463300705 -0.846371293068 -0.117530994117 +vn -0.628532528877 -0.762571930885 0.153071716428 +vn -0.471601903439 -0.794673979282 0.382210522890 +vn -0.291796803474 -0.953618049622 0.073941029608 +vn 0.242176041007 -0.913083732128 0.328068315983 +vn 0.397055238485 -0.917237818241 0.031967546791 +vn 0.397055238485 -0.917237818241 0.031967546791 +vn -0.070841103792 -0.960352778435 -0.269636899233 +vn -0.291796803474 -0.953618049622 0.073941029608 +vn -0.291796803474 -0.953618049622 0.073941029608 +vn -0.070841103792 -0.960352778435 -0.269636899233 +vn -0.375377774239 -0.755562245846 -0.536858677864 +vn -0.375377774239 -0.755562245846 -0.536858677864 +vn -0.519463300705 -0.846371293068 -0.117530994117 +vn -0.291796803474 -0.953618049622 0.073941029608 +vn -0.070841103792 -0.960352778435 -0.269636899233 +vn 0.397055238485 -0.917237818241 0.031967546791 +vn 0.591400563717 -0.780224919319 -0.203701823950 +vn 0.591400563717 -0.780224919319 -0.203701823950 +vn 0.160140171647 -0.822294294834 -0.546065270901 +vn -0.070841103792 -0.960352778435 -0.269636899233 +vn -0.070841103792 -0.960352778435 -0.269636899233 +vn 0.160140171647 -0.822294294834 -0.546065270901 +vn -0.192814096808 -0.594672739506 -0.780504345894 +vn -0.192814096808 -0.594672739506 -0.780504345894 +vn -0.375377774239 -0.755562245846 -0.536858677864 +vn -0.070841103792 -0.960352778435 -0.269636899233 +vn 0.397055238485 -0.917237818241 0.031967546791 +vn 0.585008740425 -0.782305777073 0.213921636343 +vn 0.701678097248 -0.711883068085 0.029501596466 +vn 0.701678097248 -0.711883068085 0.029501596466 +vn 0.591400563717 -0.780224919319 -0.203701823950 +vn 0.397055238485 -0.917237818241 0.031967546791 +vn 0.397055238485 -0.917237818241 0.031967546791 +vn 0.242176041007 -0.913083732128 0.328068315983 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.585008740425 -0.782305777073 0.213921636343 +vn 0.397055238485 -0.917237818241 0.031967546791 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.508039653301 -0.692776381969 0.511816978455 +vn 0.623058736324 -0.720617711544 0.304151177406 +vn 0.623058736324 -0.720617711544 0.304151177406 +vn 0.585008740425 -0.782305777073 0.213921636343 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.242176041007 -0.913083732128 0.328068315983 +vn 0.156231343746 -0.785838067532 0.598372995853 +vn 0.156231343746 -0.785838067532 0.598372995853 +vn 0.441990941763 -0.709040522575 0.549459338188 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.441990941763 -0.709040522575 0.549459338188 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn 0.508039653301 -0.692776381969 0.511816978455 +vn 0.513081073761 -0.750334918499 0.416827619076 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn 0.426190882921 -0.692445337772 0.582134664059 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn 0.508039653301 -0.692776381969 0.511816978455 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn 0.441990941763 -0.709040522575 0.549459338188 +vn -0.046108797193 -0.511099517345 0.858283877373 +vn -0.046108797193 -0.511099517345 0.858283877373 +vn -0.147812932730 -0.499316662550 0.853717863560 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn -0.147812932730 -0.499316662550 0.853717863560 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn 0.426190882921 -0.692445337772 0.582134664059 +vn 0.417561560869 -0.689145386219 0.592216968536 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn -0.494620203972 -0.327400892973 0.805083572865 +vn 0.356181681156 -0.751746535301 0.554988086224 +vn 0.356181681156 -0.751746535301 0.554988086224 +vn 0.426190882921 -0.692445337772 0.582134664059 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn -0.147812932730 -0.499316662550 0.853717863560 +vn -0.903762876987 0.246395617723 0.350002735853 +vn -0.903762876987 0.246395617723 0.350002735853 +vn -0.926395535469 0.212197542191 0.311068296432 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn -0.926395535469 0.212197542191 0.311068296432 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.494620203972 -0.327400892973 0.805083572865 +vn -0.209151834249 -0.533267676830 0.819683551788 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.840556323528 0.541296303272 0.021526474506 +vn -0.716524899006 -0.209137350321 0.665472507477 +vn -0.716524899006 -0.209137350321 0.665472507477 +vn -0.494620203972 -0.327400892973 0.805083572865 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.926395535469 0.212197542191 0.311068296432 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.529323875904 0.631218016148 -0.566903889179 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.529323875904 0.631218016148 -0.566903889179 +vn -0.443723082542 0.653885424137 -0.612816214561 +vn -0.443723082542 0.653885424137 -0.612816214561 +vn -0.840556323528 0.541296303272 0.021526474506 +vn -0.842809736729 0.524093627930 0.122464656830 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.926395535469 0.212197542191 0.311068296432 +vn -0.903762876987 0.246395617723 0.350002735853 +vn -0.903762876987 0.246395617723 0.350002735853 +vn -0.750016629696 0.569118261337 -0.337015509605 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn -0.275668442249 0.308932840824 -0.910256803036 +vn -0.628692030907 0.732832312584 -0.260198384523 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn -0.609977424145 0.596584975719 -0.521549582481 +vn 0.155823215842 -0.064390845597 -0.985683977604 +vn 0.155823215842 -0.064390845597 -0.985683977604 +vn 0.330104917288 -0.361622065306 -0.871929049492 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn 0.330104917288 -0.361622065306 -0.871929049492 +vn 0.117609016597 -0.507979869843 -0.853302180767 +vn 0.117609016597 -0.507979869843 -0.853302180767 +vn -0.275668442249 0.308932840824 -0.910256803036 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn 0.330104917288 -0.361622065306 -0.871929049492 +vn 0.155823215842 -0.064390845597 -0.985683977604 +vn 0.643263280392 -0.636784613132 -0.425109058619 +vn 0.643263280392 -0.636784613132 -0.425109058619 +vn 0.595358073711 -0.784905374050 -0.171674996614 +vn 0.330104917288 -0.361622065306 -0.871929049492 +vn 0.330104917288 -0.361622065306 -0.871929049492 +vn 0.595358073711 -0.784905374050 -0.171674996614 +vn 0.472686260939 -0.862592041492 -0.180284857750 +vn 0.472686260939 -0.862592041492 -0.180284857750 +vn 0.117609016597 -0.507979869843 -0.853302180767 +vn 0.330104917288 -0.361622065306 -0.871929049492 +vn 0.595358073711 -0.784905374050 -0.171674996614 +vn 0.643263280392 -0.636784613132 -0.425109058619 +vn 0.651124894619 -0.758814871311 0.015374669805 +vn 0.651124894619 -0.758814871311 0.015374669805 +vn 0.239769145846 -0.773571789265 0.586598157883 +vn 0.595358073711 -0.784905374050 -0.171674996614 +vn 0.595358073711 -0.784905374050 -0.171674996614 +vn 0.239769145846 -0.773571789265 0.586598157883 +vn 0.222291097045 -0.811474919319 0.540458202362 +vn 0.222291097045 -0.811474919319 0.540458202362 +vn 0.472686260939 -0.862592041492 -0.180284857750 +vn 0.595358073711 -0.784905374050 -0.171674996614 +vn 0.651124894619 -0.758814871311 0.015374669805 +vn 0.643263280392 -0.636784613132 -0.425109058619 +vn 0.514324247837 -0.516093671322 -0.684921801090 +vn 0.514324247837 -0.516093671322 -0.684921801090 +vn 0.717560648918 -0.694060981274 -0.058189537376 +vn 0.651124894619 -0.758814871311 0.015374669805 +vn 0.651124894619 -0.758814871311 0.015374669805 +vn 0.717560648918 -0.694060981274 -0.058189537376 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.596639752388 -0.721411108971 0.351549416780 +vn 0.651124894619 -0.758814871311 0.015374669805 +vn 0.651124894619 -0.758814871311 0.015374669805 +vn 0.596639752388 -0.721411108971 0.351549416780 +vn 0.239769145846 -0.773571789265 0.586598157883 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.717560648918 -0.694060981274 -0.058189537376 +vn 0.674390673637 -0.636433362961 -0.374365925789 +vn 0.674390673637 -0.636433362961 -0.374365925789 +vn 0.711502373219 -0.696542620659 -0.092697240412 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.711502373219 -0.696542620659 -0.092697240412 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.641663014889 -0.747617542744 0.171279326081 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.641663014889 -0.747617542744 0.171279326081 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn 0.596639752388 -0.721411108971 0.351549416780 +vn 0.679681301117 -0.729310512543 0.078354842961 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.711502373219 -0.696542620659 -0.092697240412 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.701678097248 -0.711883068085 0.029501596466 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.701678097248 -0.711883068085 0.029501596466 +vn 0.585008740425 -0.782305777073 0.213921636343 +vn 0.585008740425 -0.782305777073 0.213921636343 +vn 0.623058736324 -0.720617711544 0.304151177406 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.623058736324 -0.720617711544 0.304151177406 +vn 0.595780968666 -0.744827687740 0.300460904837 +vn 0.595780968666 -0.744827687740 0.300460904837 +vn 0.641663014889 -0.747617542744 0.171279326081 +vn 0.698903441429 -0.711515784264 0.072658590972 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.711502373219 -0.696542620659 -0.092697240412 +vn 0.674390673637 -0.636433362961 -0.374365925789 +vn 0.674390673637 -0.636433362961 -0.374365925789 +vn 0.662599146366 -0.519838631153 -0.539193987846 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.662599146366 -0.519838631153 -0.539193987846 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn 0.665769279003 -0.679318904877 -0.308669835329 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.665769279003 -0.679318904877 -0.308669835329 +vn 0.591400563717 -0.780224919319 -0.203701823950 +vn 0.591400563717 -0.780224919319 -0.203701823950 +vn 0.701678097248 -0.711883068085 0.029501596466 +vn 0.750673115253 -0.641616702080 -0.157536834478 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn 0.662599146366 -0.519838631153 -0.539193987846 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn -0.174743488431 0.009917460382 -0.984564065933 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn -0.174743488431 0.009917460382 -0.984564065933 +vn -0.010878787376 0.047278579324 -0.998822510242 +vn -0.010878787376 0.047278579324 -0.998822510242 +vn 0.481452792883 -0.399535596371 -0.780111849308 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn 0.481452792883 -0.399535596371 -0.780111849308 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn 0.257752180099 -0.654427826405 -0.710836112499 +vn 0.665769279003 -0.679318904877 -0.308669835329 +vn 0.500242888927 -0.405992329121 -0.764805376530 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn 0.294105798006 -0.266938149929 -0.917739510536 +vn -0.527581334114 0.393371969461 -0.752938508987 +vn -0.527581334114 0.393371969461 -0.752938508987 +vn -0.531068980694 0.293644726276 -0.794819831848 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn -0.531068980694 0.293644726276 -0.794819831848 +vn -0.871813118458 -0.005059626419 -0.489812523127 +vn -0.871813118458 -0.005059626419 -0.489812523127 +vn -0.174743488431 0.009917460382 -0.984564065933 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn 0.662599146366 -0.519838631153 -0.539193987846 +vn 0.674390673637 -0.636433362961 -0.374365925789 +vn 0.674390673637 -0.636433362961 -0.374365925789 +vn 0.294105798006 -0.266938149929 -0.917739510536 +vn 0.161422282457 -0.139288842678 -0.977006375790 +vn -0.531068980694 0.293644726276 -0.794819831848 +vn -0.527581334114 0.393371969461 -0.752938508987 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.819572389126 0.387809962034 -0.421787351370 +vn -0.531068980694 0.293644726276 -0.794819831848 +vn -0.531068980694 0.293644726276 -0.794819831848 +vn -0.819572389126 0.387809962034 -0.421787351370 +vn -0.988403439522 -0.062521792948 -0.138382419944 +vn -0.988403439522 -0.062521792948 -0.138382419944 +vn -0.871813118458 -0.005059626419 -0.489812523127 +vn -0.531068980694 0.293644726276 -0.794819831848 +vn -0.988403439522 -0.062521792948 -0.138382419944 +vn -0.900035083294 -0.384015738964 -0.206079438329 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn -0.871813118458 -0.005059626419 -0.489812523127 +vn -0.988403439522 -0.062521792948 -0.138382419944 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.527581334114 0.393371969461 -0.752938508987 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn -0.666667342186 0.591724395752 -0.453229427338 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn 0.155823215842 -0.064390845597 -0.985683977604 +vn -0.609977424145 0.596584975719 -0.521549582481 +vn -0.609977424145 0.596584975719 -0.521549582481 +vn -0.666667342186 0.591724395752 -0.453229427338 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn -0.527581334114 0.393371969461 -0.752938508987 +vn 0.294105798006 -0.266938149929 -0.917739510536 +vn 0.294105798006 -0.266938149929 -0.917739510536 +vn 0.514324247837 -0.516093671322 -0.684921801090 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn 0.514324247837 -0.516093671322 -0.684921801090 +vn 0.643263280392 -0.636784613132 -0.425109058619 +vn 0.643263280392 -0.636784613132 -0.425109058619 +vn 0.155823215842 -0.064390845597 -0.985683977604 +vn -0.301210343838 0.243355542421 -0.921981811523 +vn 0.294105798006 -0.266938149929 -0.917739510536 +vn 0.674390673637 -0.636433362961 -0.374365925789 +vn 0.717560648918 -0.694060981274 -0.058189537376 +vn 0.717560648918 -0.694060981274 -0.058189537376 +vn 0.514324247837 -0.516093671322 -0.684921801090 +vn 0.294105798006 -0.266938149929 -0.917739510536 +vn -0.817677199841 0.405813783407 -0.408312559128 +vn -0.750016629696 0.569118261337 -0.337015509605 +vn -0.903762876987 0.246395617723 0.350002735853 +vn -0.903762876987 0.246395617723 0.350002735853 +vn -0.936993002892 0.101482637227 0.334283322096 +vn -0.817677199841 0.405813783407 -0.408312559128 +vn -0.817677199841 0.405813783407 -0.408312559128 +vn -0.936993002892 0.101482637227 0.334283322096 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.871245801449 0.175334334373 -0.458463281393 +vn -0.817677199841 0.405813783407 -0.408312559128 +vn -0.936993002892 0.101482637227 0.334283322096 +vn -0.903762876987 0.246395617723 0.350002735853 +vn -0.147812932730 -0.499316662550 0.853717863560 +vn -0.147812932730 -0.499316662550 0.853717863560 +vn -0.046108797193 -0.511099517345 0.858283877373 +vn -0.936993002892 0.101482637227 0.334283322096 +vn -0.936993002892 0.101482637227 0.334283322096 +vn -0.046108797193 -0.511099517345 0.858283877373 +vn -0.555045068264 -0.208258599043 0.805328071117 +vn -0.555045068264 -0.208258599043 0.805328071117 +vn -0.987220883369 0.152396500111 0.046585436910 +vn -0.936993002892 0.101482637227 0.334283322096 +vn 0.356181681156 -0.751746535301 0.554988086224 +vn 0.216387555003 -0.792263209820 0.570522069931 +vn 0.581949949265 -0.764983475208 0.275924861431 +vn 0.356181681156 -0.751746535301 0.554988086224 +vn 0.581949949265 -0.764983475208 0.275924861431 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn 0.426190882921 -0.692445337772 0.582134664059 +vn 0.356181681156 -0.751746535301 0.554988086224 +vn 0.356181681156 -0.751746535301 0.554988086224 +vn -0.494620203972 -0.327400892973 0.805083572865 +vn -0.716524899006 -0.209137350321 0.665472507477 +vn -0.716524899006 -0.209137350321 0.665472507477 +vn 0.216387555003 -0.792263209820 0.570522069931 +vn 0.356181681156 -0.751746535301 0.554988086224 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn 0.581949949265 -0.764983475208 0.275924861431 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn 0.595780968666 -0.744827687740 0.300460904837 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn 0.595780968666 -0.744827687740 0.300460904837 +vn 0.623058736324 -0.720617711544 0.304151177406 +vn 0.623058736324 -0.720617711544 0.304151177406 +vn 0.508039653301 -0.692776381969 0.511816978455 +vn 0.528803288937 -0.717596948147 0.453234672546 +vn -0.731317400932 -0.539573132992 0.417175889015 +vn -0.453740745783 -0.766918957233 0.453822225332 +vn -0.248956441879 -0.794233560562 0.554268658161 +vn -0.248956441879 -0.794233560562 0.554268658161 +vn -0.657310307026 -0.511882245541 0.553100109100 +vn -0.731317400932 -0.539573132992 0.417175889015 +vn -0.731317400932 -0.539573132992 0.417175889015 +vn -0.657310307026 -0.511882245541 0.553100109100 +vn -0.757091164589 -0.360904663801 0.544573962688 +vn -0.757091164589 -0.360904663801 0.544573962688 +vn -0.709319472313 -0.529251933098 0.465573132038 +vn -0.731317400932 -0.539573132992 0.417175889015 +vn -0.453740745783 -0.766918957233 0.453822225332 +vn -0.504324793816 -0.689210057259 0.520236492157 +vn -0.262534588575 -0.765424966812 0.587537407875 +vn -0.262534588575 -0.765424966812 0.587537407875 +vn -0.248956441879 -0.794233560562 0.554268658161 +vn -0.453740745783 -0.766918957233 0.453822225332 +vn -0.262534588575 -0.765424966812 0.587537407875 +vn -0.504324793816 -0.689210057259 0.520236492157 +vn -0.336106806993 -0.668615162373 0.663314402103 +vn -0.336106806993 -0.668615162373 0.663314402103 +vn -0.328291893005 -0.713074207306 0.619475305080 +vn -0.262534588575 -0.765424966812 0.587537407875 +vn -0.119740322232 -0.991864562035 0.043207794428 +vn 0.530688881874 -0.768034517765 0.358458191156 +vn 0.591515541077 -0.752557575703 0.289424389601 +vn 0.591515541077 -0.752557575703 0.289424389601 +vn -0.071950569749 -0.950316131115 0.302857011557 +vn -0.119740322232 -0.991864562035 0.043207794428 +vn 0.530688881874 -0.768034517765 0.358458191156 +vn -0.119740322232 -0.991864562035 0.043207794428 +vn 0.476696014404 -0.850157141685 0.223592743278 +vn 0.476696014404 -0.850157141685 0.223592743278 +vn 0.536898553371 -0.759433269501 0.367424845695 +vn 0.530688881874 -0.768034517765 0.358458191156 +vn 0.533105850220 -0.792724728584 0.295610725880 +vn 0.180990353227 -0.796912014484 0.576345145702 +vn 0.322791486979 -0.675322711468 0.663132667542 +vn 0.322791486979 -0.675322711468 0.663132667542 +vn 0.554771304131 -0.800131857395 0.228074103594 +vn 0.533105850220 -0.792724728584 0.295610725880 +vn 0.533105850220 -0.792724728584 0.295610725880 +vn 0.300278335810 -0.889515042305 0.344377607107 +vn -0.284306257963 -0.792260944843 0.539900481701 +vn -0.284306257963 -0.792260944843 0.539900481701 +vn 0.180990353227 -0.796912014484 0.576345145702 +vn 0.533105850220 -0.792724728584 0.295610725880 +vn -0.473556876183 -0.396522194147 0.786456644535 +vn 0.180990353227 -0.796912014484 0.576345145702 +vn -0.284306257963 -0.792260944843 0.539900481701 +vn -0.284306257963 -0.792260944843 0.539900481701 +vn -0.726210057735 -0.395518779755 0.562302231789 +vn -0.473556876183 -0.396522194147 0.786456644535 +vn -0.284306257963 -0.792260944843 0.539900481701 +vn 0.300278335810 -0.889515042305 0.344377607107 +vn 0.135520935059 -0.885927915573 0.443582922220 +vn 0.135520935059 -0.885927915573 0.443582922220 +vn -0.355224251747 -0.699728786945 0.619834899902 +vn -0.284306257963 -0.792260944843 0.539900481701 +vn 0.322791486979 -0.675322711468 0.663132667542 +vn 0.180990353227 -0.796912014484 0.576345145702 +vn -0.473556876183 -0.396522194147 0.786456644535 +vn -0.473556876183 -0.396522194147 0.786456644535 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn 0.322791486979 -0.675322711468 0.663132667542 +vn -0.726210057735 -0.395518779755 0.562302231789 +vn -0.284306257963 -0.792260944843 0.539900481701 +vn -0.355224251747 -0.699728786945 0.619834899902 +vn -0.355224251747 -0.699728786945 0.619834899902 +vn -0.684462308884 -0.341979593039 0.643864393234 +vn -0.726210057735 -0.395518779755 0.562302231789 +vn -0.610466539860 -0.416379898787 0.673764348030 +vn -0.684462308884 -0.341979593039 0.643864393234 +vn -0.546890854836 -0.178878933191 0.817870855331 +vn -0.546890854836 -0.178878933191 0.817870855331 +vn -0.499062180519 -0.256094902754 0.827860116959 +vn -0.610466539860 -0.416379898787 0.673764348030 +vn -0.293638288975 -0.111764669418 0.949360430241 +vn -0.499062180519 -0.256094902754 0.827860116959 +vn -0.546890854836 -0.178878933191 0.817870855331 +vn -0.546890854836 -0.178878933191 0.817870855331 +vn -0.287652492523 -0.039519365877 0.956919133663 +vn -0.293638288975 -0.111764669418 0.949360430241 +vn -0.293638288975 -0.111764669418 0.949360430241 +vn -0.287652492523 -0.039519365877 0.956919133663 +vn -0.035672992468 0.077534280717 0.996351301670 +vn -0.035672992468 0.077534280717 0.996351301670 +vn -0.004625395872 0.025178126991 0.999672293663 +vn -0.293638288975 -0.111764669418 0.949360430241 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn -0.610466539860 -0.416379898787 0.673764348030 +vn -0.499062180519 -0.256094902754 0.827860116959 +vn -0.499062180519 -0.256094902754 0.827860116959 +vn 0.092231564224 -0.556987345219 0.825383841991 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn 0.092231564224 -0.556987345219 0.825383841991 +vn -0.499062180519 -0.256094902754 0.827860116959 +vn -0.499062180519 -0.256094902754 0.827860116959 +vn -0.293638288975 -0.111764669418 0.949360430241 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn -0.293638288975 -0.111764669418 0.949360430241 +vn -0.004625395872 0.025178126991 0.999672293663 +vn -0.004625395872 0.025178126991 0.999672293663 +vn 0.071474067867 -0.435570329428 0.897312641144 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.112957909703 -0.620997428894 0.775630533695 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn 0.017673462629 -0.461896091700 0.886757969856 +vn 0.071474067867 -0.435570329428 0.897312641144 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.071474067867 -0.435570329428 0.897312641144 +vn 0.232008248568 -0.536629438400 0.811295926571 +vn 0.232008248568 -0.536629438400 0.811295926571 +vn 0.229931414127 -0.389015793800 0.892075240612 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.234883025289 0.208845853806 0.949322581291 +vn 0.058332707733 -0.020505351946 0.998086571693 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.229931414127 -0.389015793800 0.892075240612 +vn 0.234883025289 0.208845853806 0.949322581291 +vn -0.024860668927 -0.316736102104 0.948187828064 +vn 0.112957909703 -0.620997428894 0.775630533695 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.071927569807 -0.503380060196 0.861066162586 +vn 0.058332707733 -0.020505351946 0.998086571693 +vn -0.024860668927 -0.316736102104 0.948187828064 +vn 0.543487012386 -0.280511081219 0.791160821915 +vn 0.112957909703 -0.620997428894 0.775630533695 +vn -0.024860668927 -0.316736102104 0.948187828064 +vn -0.024860668927 -0.316736102104 0.948187828064 +vn 0.112448878586 -0.172594755888 0.978553175926 +vn 0.543487012386 -0.280511081219 0.791160821915 +vn 0.694415569305 -0.021816432476 0.719243407249 +vn 0.543487012386 -0.280511081219 0.791160821915 +vn 0.112448878586 -0.172594755888 0.978553175926 +vn 0.112448878586 -0.172594755888 0.978553175926 +vn 0.119672834873 0.101008400321 0.987661719322 +vn 0.694415569305 -0.021816432476 0.719243407249 +vn 0.608824074268 -0.275057256222 0.744094610214 +vn 0.514674782753 0.424443304539 0.744954884052 +vn 0.234883025289 0.208845853806 0.949322581291 +vn 0.234883025289 0.208845853806 0.949322581291 +vn 0.229931414127 -0.389015793800 0.892075240612 +vn 0.608824074268 -0.275057256222 0.744094610214 +vn 0.234883025289 0.208845853806 0.949322581291 +vn 0.514674782753 0.424443304539 0.744954884052 +vn 0.381881237030 0.563686668873 0.732409715652 +vn 0.381881237030 0.563686668873 0.732409715652 +vn 0.221945360303 0.419836610556 0.880044043064 +vn 0.234883025289 0.208845853806 0.949322581291 +vn 0.234883025289 0.208845853806 0.949322581291 +vn 0.221945360303 0.419836610556 0.880044043064 +vn 0.027125038207 0.236739024520 0.971194565296 +vn 0.027125038207 0.236739024520 0.971194565296 +vn 0.058332707733 -0.020505351946 0.998086571693 +vn 0.234883025289 0.208845853806 0.949322581291 +vn 0.221945360303 0.419836610556 0.880044043064 +vn 0.381881237030 0.563686668873 0.732409715652 +vn 0.251433730125 0.644871890545 0.721748828888 +vn 0.251433730125 0.644871890545 0.721748828888 +vn 0.166294232011 0.550812959671 0.817894458771 +vn 0.221945360303 0.419836610556 0.880044043064 +vn 0.221945360303 0.419836610556 0.880044043064 +vn 0.166294232011 0.550812959671 0.817894458771 +vn 0.175731316209 -0.003851976711 0.984430611134 +vn 0.175731316209 -0.003851976711 0.984430611134 +vn 0.027125038207 0.236739024520 0.971194565296 +vn 0.221945360303 0.419836610556 0.880044043064 +vn 0.166294232011 0.550812959671 0.817894458771 +vn 0.251433730125 0.644871890545 0.721748828888 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.584861516953 -0.029748234898 0.810587465763 +vn 0.166294232011 0.550812959671 0.817894458771 +vn 0.166294232011 0.550812959671 0.817894458771 +vn 0.584861516953 -0.029748234898 0.810587465763 +vn 0.291242122650 -0.640502154827 0.710587799549 +vn 0.291242122650 -0.640502154827 0.710587799549 +vn 0.175731316209 -0.003851976711 0.984430611134 +vn 0.166294232011 0.550812959671 0.817894458771 +vn 0.541634559631 -0.827475488186 0.148041695356 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn 0.291242122650 -0.640502154827 0.710587799549 +vn 0.291242122650 -0.640502154827 0.710587799549 +vn 0.584861516953 -0.029748234898 0.810587465763 +vn 0.541634559631 -0.827475488186 0.148041695356 +vn 0.291242122650 -0.640502154827 0.710587799549 +vn -0.268343746662 -0.638682842255 0.721162855625 +vn -0.129663527012 -0.192400217056 0.972712457180 +vn -0.129663527012 -0.192400217056 0.972712457180 +vn 0.175731316209 -0.003851976711 0.984430611134 +vn 0.291242122650 -0.640502154827 0.710587799549 +vn -0.268343746662 -0.638682842255 0.721162855625 +vn -0.872809171677 -0.341396838427 0.348786950111 +vn -0.683165788651 -0.057890441269 0.727965116501 +vn -0.683165788651 -0.057890441269 0.727965116501 +vn -0.129663527012 -0.192400217056 0.972712457180 +vn -0.268343746662 -0.638682842255 0.721162855625 +vn -0.872809171677 -0.341396838427 0.348786950111 +vn -0.938181340694 0.340947598219 -0.059753816575 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.683165788651 -0.057890441269 0.727965116501 +vn -0.872809171677 -0.341396838427 0.348786950111 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.938181340694 0.340947598219 -0.059753816575 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.690027296543 0.696177899837 -0.197986468673 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.690027296543 0.696177899837 -0.197986468673 +vn -0.672298371792 0.739992916584 -0.020625833422 +vn -0.672298371792 0.739992916584 -0.020625833422 +vn -0.789368987083 0.531028747559 0.308066695929 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.789368987083 0.531028747559 0.308066695929 +vn -0.578004896641 0.259107351303 0.773804724216 +vn -0.578004896641 0.259107351303 0.773804724216 +vn -0.683165788651 -0.057890441269 0.727965116501 +vn -0.911608457565 0.391552716494 0.125126004219 +vn -0.789368987083 0.531028747559 0.308066695929 +vn -0.672298371792 0.739992916584 -0.020625833422 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.677267670631 0.631871998310 0.376890242100 +vn -0.789368987083 0.531028747559 0.308066695929 +vn -0.789368987083 0.531028747559 0.308066695929 +vn -0.677267670631 0.631871998310 0.376890242100 +vn -0.606130063534 0.280255675316 0.744354128838 +vn -0.606130063534 0.280255675316 0.744354128838 +vn -0.578004896641 0.259107351303 0.773804724216 +vn -0.789368987083 0.531028747559 0.308066695929 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.672298371792 0.739992916584 -0.020625833422 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.345520466566 0.916609048843 -0.201105564833 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.345520466566 0.916609048843 -0.201105564833 +vn -0.473276704550 0.816994488239 -0.329437643290 +vn -0.473276704550 0.816994488239 -0.329437643290 +vn -0.713334560394 0.697373151779 -0.069458454847 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.713334560394 0.697373151779 -0.069458454847 +vn -0.784244716167 0.604237020016 0.140917971730 +vn -0.784244716167 0.604237020016 0.140917971730 +vn -0.677267670631 0.631871998310 0.376890242100 +vn -0.615168273449 0.781630039215 0.103065654635 +vn -0.713334560394 0.697373151779 -0.069458454847 +vn -0.473276704550 0.816994488239 -0.329437643290 +vn -0.469751149416 0.765853762627 -0.439092069864 +vn -0.469751149416 0.765853762627 -0.439092069864 +vn -0.721555650234 0.631091058254 -0.284748166800 +vn -0.713334560394 0.697373151779 -0.069458454847 +vn -0.713334560394 0.697373151779 -0.069458454847 +vn -0.721555650234 0.631091058254 -0.284748166800 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.784244716167 0.604237020016 0.140917971730 +vn -0.713334560394 0.697373151779 -0.069458454847 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.914469540119 -0.242004066706 0.324313849211 +vn -0.856631577015 0.492435991764 0.153912588954 +vn -0.856631577015 0.492435991764 0.153912588954 +vn -0.784244716167 0.604237020016 0.140917971730 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.721555650234 0.631091058254 -0.284748166800 +vn -0.819403469563 0.542005181313 -0.186569884419 +vn -0.819403469563 0.542005181313 -0.186569884419 +vn -0.945134520531 0.274897247553 0.176500037313 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.945134520531 0.274897247553 0.176500037313 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.914469540119 -0.242004066706 0.324313849211 +vn -0.945204854012 0.321921139956 -0.054355837405 +vn -0.945134520531 0.274897247553 0.176500037313 +vn -0.841622591019 0.437275558710 0.316956669092 +vn -0.785008013248 0.203743636608 0.585022211075 +vn -0.785008013248 0.203743636608 0.585022211075 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.945134520531 0.274897247553 0.176500037313 +vn -0.945134520531 0.274897247553 0.176500037313 +vn -0.819403469563 0.542005181313 -0.186569884419 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.841622591019 0.437275558710 0.316956669092 +vn -0.945134520531 0.274897247553 0.176500037313 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.850674211979 0.522735774517 -0.055684074759 +vn -0.846006751060 0.409653961658 0.341256827116 +vn -0.846006751060 0.409653961658 0.341256827116 +vn -0.841622591019 0.437275558710 0.316956669092 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.819403469563 0.542005181313 -0.186569884419 +vn -0.676860630512 0.594577789307 -0.433978050947 +vn -0.676860630512 0.594577789307 -0.433978050947 +vn -0.678899943829 0.618567526340 -0.395561784506 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.678899943829 0.618567526340 -0.395561784506 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.850674211979 0.522735774517 -0.055684074759 +vn -0.810429036617 0.581710219383 -0.069411993027 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.712247908115 0.508445441723 -0.483927845955 +vn -0.880456626415 0.472398698330 -0.040442653000 +vn -0.880456626415 0.472398698330 -0.040442653000 +vn -0.850674211979 0.522735774517 -0.055684074759 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.678899943829 0.618567526340 -0.395561784506 +vn -0.470546931028 0.462075620890 -0.751712501049 +vn -0.470546931028 0.462075620890 -0.751712501049 +vn -0.448264569044 0.485658913851 -0.750462710857 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.448264569044 0.485658913851 -0.750462710857 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.712247908115 0.508445441723 -0.483927845955 +vn -0.717592597008 0.544949829578 -0.433694094419 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.452509254217 0.396822035313 -0.798603534698 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.712247908115 0.508445441723 -0.483927845955 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.448264569044 0.485658913851 -0.750462710857 +vn -0.078917674720 0.331730693579 -0.940067410469 +vn -0.078917674720 0.331730693579 -0.940067410469 +vn -0.027139838785 0.297324597836 -0.954390645027 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.027139838785 0.297324597836 -0.954390645027 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn -0.452509254217 0.396822035313 -0.798603534698 +vn -0.424883872271 0.424551874399 -0.799518227577 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn -0.010878787376 0.047278579324 -0.998822510242 +vn -0.493341773748 0.344065487385 -0.798894762993 +vn -0.493341773748 0.344065487385 -0.798894762993 +vn -0.452509254217 0.396822035313 -0.798603534698 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn -0.027139838785 0.297324597836 -0.954390645027 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn 0.242206633091 -0.299529105425 -0.922831654549 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn 0.242206633091 -0.299529105425 -0.922831654549 +vn 0.481452792883 -0.399535596371 -0.780111849308 +vn 0.481452792883 -0.399535596371 -0.780111849308 +vn -0.010878787376 0.047278579324 -0.998822510242 +vn -0.040102791041 0.157673552632 -0.986676633358 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn -0.027139838785 0.297324597836 -0.954390645027 +vn -0.078917674720 0.331730693579 -0.940067410469 +vn -0.078917674720 0.331730693579 -0.940067410469 +vn 0.102752819657 0.184994399548 -0.977353036404 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn 0.102752819657 0.184994399548 -0.977353036404 +vn 0.277681350708 -0.025956066325 -0.960322499275 +vn 0.277681350708 -0.025956066325 -0.960322499275 +vn 0.236112982035 -0.001613639994 -0.971724271774 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn 0.236112982035 -0.001613639994 -0.971724271774 +vn 0.108458139002 -0.328526467085 -0.938246846199 +vn 0.108458139002 -0.328526467085 -0.938246846199 +vn 0.242206633091 -0.299529105425 -0.922831654549 +vn 0.240511506796 0.018549861386 -0.970468997955 +vn 0.236112982035 -0.001613639994 -0.971724271774 +vn 0.277681350708 -0.025956066325 -0.960322499275 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.308949559927 0.079883605242 -0.947717666626 +vn 0.236112982035 -0.001613639994 -0.971724271774 +vn 0.236112982035 -0.001613639994 -0.971724271774 +vn 0.308949559927 0.079883605242 -0.947717666626 +vn 0.054847415537 -0.026922827587 -0.998131692410 +vn 0.054847415537 -0.026922827587 -0.998131692410 +vn 0.108458139002 -0.328526467085 -0.938246846199 +vn 0.236112982035 -0.001613639994 -0.971724271774 +vn 0.102752819657 0.184994399548 -0.977353036404 +vn -0.078917674720 0.331730693579 -0.940067410469 +vn -0.210705280304 0.061815194786 -0.975593209267 +vn -0.210705280304 0.061815194786 -0.975593209267 +vn -0.003276867792 -0.080719538033 -0.996731460094 +vn 0.102752819657 0.184994399548 -0.977353036404 +vn 0.102752819657 0.184994399548 -0.977353036404 +vn -0.003276867792 -0.080719538033 -0.996731460094 +vn 0.201174870133 -0.087589986622 -0.975631415844 +vn 0.201174870133 -0.087589986622 -0.975631415844 +vn 0.277681350708 -0.025956066325 -0.960322499275 +vn 0.102752819657 0.184994399548 -0.977353036404 +vn -0.003276867792 -0.080719538033 -0.996731460094 +vn -0.210705280304 0.061815194786 -0.975593209267 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn 0.241303235292 -0.614637672901 -0.750994861126 +vn -0.003276867792 -0.080719538033 -0.996731460094 +vn 0.241303235292 -0.614637672901 -0.750994861126 +vn 0.512817382813 -0.279925793409 -0.811578631401 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn -0.003276867792 -0.080719538033 -0.996731460094 +vn 0.241303235292 -0.614637672901 -0.750994861126 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn 0.201174870133 -0.087589986622 -0.975631415844 +vn -0.003276867792 -0.080719538033 -0.996731460094 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn 0.512817382813 -0.279925793409 -0.811578631401 +vn -0.008919883519 -0.227142065763 -0.973820805550 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn -0.008919883519 -0.227142065763 -0.973820805550 +vn -0.114821292460 -0.062603108585 -0.991411566734 +vn -0.114821292460 -0.062603108585 -0.991411566734 +vn -0.036979392171 -0.187850594521 -0.981501221657 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn -0.036979392171 -0.187850594521 -0.981501221657 +vn 0.101619660854 -0.255653083324 -0.961413025856 +vn 0.101619660854 -0.255653083324 -0.961413025856 +vn 0.201174870133 -0.087589986622 -0.975631415844 +vn 0.316024690866 -0.094793908298 -0.944003462791 +vn -0.036979392171 -0.187850594521 -0.981501221657 +vn -0.114821292460 -0.062603108585 -0.991411566734 +vn -0.272886395454 -0.223364964128 -0.935756981373 +vn -0.272886395454 -0.223364964128 -0.935756981373 +vn -0.229903444648 -0.600790917873 -0.765633523464 +vn -0.036979392171 -0.187850594521 -0.981501221657 +vn -0.036979392171 -0.187850594521 -0.981501221657 +vn -0.229903444648 -0.600790917873 -0.765633523464 +vn -0.026375874877 -0.660482764244 -0.750377774239 +vn -0.026375874877 -0.660482764244 -0.750377774239 +vn 0.101619660854 -0.255653083324 -0.961413025856 +vn -0.036979392171 -0.187850594521 -0.981501221657 +vn -0.229903444648 -0.600790917873 -0.765633523464 +vn -0.272886395454 -0.223364964128 -0.935756981373 +vn -0.433612197638 -0.211576133966 -0.875908672810 +vn -0.433612197638 -0.211576133966 -0.875908672810 +vn -0.425949454308 -0.498663961887 -0.754918098450 +vn -0.229903444648 -0.600790917873 -0.765633523464 +vn -0.229903444648 -0.600790917873 -0.765633523464 +vn -0.425949454308 -0.498663961887 -0.754918098450 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn -0.026375874877 -0.660482764244 -0.750377774239 +vn -0.229903444648 -0.600790917873 -0.765633523464 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn 0.000912307180 -0.956513702869 -0.291685968637 +vn 0.343803733587 -0.740231871605 -0.577802479267 +vn 0.343803733587 -0.740231871605 -0.577802479267 +vn -0.026375874877 -0.660482764244 -0.750377774239 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn -0.425949454308 -0.498663961887 -0.754918098450 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn -0.153387278318 -0.832074820995 -0.533032655716 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn -0.153387278318 -0.832074820995 -0.533032655716 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn 0.000912307180 -0.956513702869 -0.291685968637 +vn -0.201480373740 -0.832634091377 -0.515874087811 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn 0.227712795138 -0.968599319458 0.099810823798 +vn 0.240792527795 -0.970571935177 -0.003004235681 +vn 0.240792527795 -0.970571935177 -0.003004235681 +vn 0.000912307180 -0.956513702869 -0.291685968637 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn -0.153387278318 -0.832074820995 -0.533032655716 +vn 0.056213788688 -0.686007142067 -0.725420057774 +vn 0.056213788688 -0.686007142067 -0.725420057774 +vn 0.144834354520 -0.934874594212 -0.324087142944 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn 0.144834354520 -0.934874594212 -0.324087142944 +vn 0.352315664291 -0.931752741337 0.087809689343 +vn 0.352315664291 -0.931752741337 0.087809689343 +vn 0.227712795138 -0.968599319458 0.099810823798 +vn 0.027616413310 -0.965272784233 -0.259780257940 +vn 0.144834354520 -0.934874594212 -0.324087142944 +vn 0.056213788688 -0.686007142067 -0.725420057774 +vn 0.065242014825 -0.397843718529 -0.915130496025 +vn 0.065242014825 -0.397843718529 -0.915130496025 +vn 0.297565698624 -0.840286493301 -0.453181296587 +vn 0.144834354520 -0.934874594212 -0.324087142944 +vn 0.144834354520 -0.934874594212 -0.324087142944 +vn 0.297565698624 -0.840286493301 -0.453181296587 +vn 0.525851249695 -0.848270535469 -0.062589950860 +vn 0.525851249695 -0.848270535469 -0.062589950860 +vn 0.352315664291 -0.931752741337 0.087809689343 +vn 0.144834354520 -0.934874594212 -0.324087142944 +vn 0.000912307180 -0.956513702869 -0.291685968637 +vn 0.240792527795 -0.970571935177 -0.003004235681 +vn 0.559680283070 -0.749737679958 -0.353060066700 +vn 0.559680283070 -0.749737679958 -0.353060066700 +vn 0.343803733587 -0.740231871605 -0.577802479267 +vn 0.000912307180 -0.956513702869 -0.291685968637 +vn -0.425949454308 -0.498663961887 -0.754918098450 +vn -0.433612197638 -0.211576133966 -0.875908672810 +vn -0.626230418682 -0.102859854698 -0.772822916508 +vn -0.626230418682 -0.102859854698 -0.772822916508 +vn -0.358295381069 -0.487439304590 -0.796258330345 +vn -0.425949454308 -0.498663961887 -0.754918098450 +vn 0.195846781135 -0.780589878559 -0.593568444252 +vn 0.512817382813 -0.279925793409 -0.811578631401 +vn 0.241303235292 -0.614637672901 -0.750994861126 +vn 0.195846781135 -0.780589878559 -0.593568444252 +vn 0.241303235292 -0.614637672901 -0.750994861126 +vn 0.090835489333 -0.963552772999 -0.251624643803 +vn 0.090835489333 -0.963552772999 -0.251624643803 +vn -0.074802413583 -0.821258544922 -0.565631449223 +vn 0.195846781135 -0.780589878559 -0.593568444252 +vn -0.074802413583 -0.821258544922 -0.565631449223 +vn 0.090835489333 -0.963552772999 -0.251624643803 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn -0.544381499290 -0.683503627777 -0.486283451319 +vn -0.074802413583 -0.821258544922 -0.565631449223 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn 0.090835489333 -0.963552772999 -0.251624643803 +vn -0.141708299518 -0.329541563988 -0.933445811272 +vn -0.141708299518 -0.329541563988 -0.933445811272 +vn -0.019057372585 -0.177110031247 -0.984006524086 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn -0.019057372585 -0.177110031247 -0.984006524086 +vn 0.316609293222 -0.120613738894 -0.940856456757 +vn 0.316609293222 -0.120613738894 -0.940856456757 +vn -0.211206659675 -0.288128644228 -0.934009432793 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn -0.211206659675 -0.288128644228 -0.934009432793 +vn -0.765195369720 -0.226806268096 -0.602523803711 +vn -0.765195369720 -0.226806268096 -0.602523803711 +vn -0.544381499290 -0.683503627777 -0.486283451319 +vn -0.382034838200 -0.694504439831 -0.609682679176 +vn -0.019057372585 -0.177110031247 -0.984006524086 +vn -0.141708299518 -0.329541563988 -0.933445811272 +vn -0.350479990244 0.437364995480 -0.828176081181 +vn -0.350479990244 0.437364995480 -0.828176081181 +vn 0.140470072627 0.209249109030 -0.967720508575 +vn -0.019057372585 -0.177110031247 -0.984006524086 +vn -0.019057372585 -0.177110031247 -0.984006524086 +vn 0.140470072627 0.209249109030 -0.967720508575 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.316609293222 -0.120613738894 -0.940856456757 +vn -0.019057372585 -0.177110031247 -0.984006524086 +vn -0.141708299518 -0.329541563988 -0.933445811272 +vn 0.241303235292 -0.614637672901 -0.750994861126 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn -0.350479990244 0.437364995480 -0.828176081181 +vn -0.141708299518 -0.329541563988 -0.933445811272 +vn -0.141708299518 -0.329541563988 -0.933445811272 +vn 0.090835489333 -0.963552772999 -0.251624643803 +vn 0.241303235292 -0.614637672901 -0.750994861126 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn -0.210705280304 0.061815194786 -0.975593209267 +vn -0.470546931028 0.462075620890 -0.751712501049 +vn -0.470546931028 0.462075620890 -0.751712501049 +vn -0.587254881859 0.526393055916 -0.614851236343 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn -0.587254881859 0.526393055916 -0.614851236343 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.347830146551 0.660270571709 -0.665625214577 +vn -0.350479990244 0.437364995480 -0.828176081181 +vn -0.361618489027 0.031844489276 -0.931782186031 +vn -0.210705280304 0.061815194786 -0.975593209267 +vn -0.078917674720 0.331730693579 -0.940067410469 +vn -0.448264569044 0.485658913851 -0.750462710857 +vn -0.448264569044 0.485658913851 -0.750462710857 +vn -0.470546931028 0.462075620890 -0.751712501049 +vn -0.210705280304 0.061815194786 -0.975593209267 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.760393679142 0.343544006348 -0.551161468029 +vn -0.903918921947 0.398155480623 -0.156213954091 +vn -0.903918921947 0.398155480623 -0.156213954091 +vn -0.871990084648 0.489088982344 -0.020622229204 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.871990084648 0.489088982344 -0.020622229204 +vn -0.880456626415 0.472398698330 -0.040442653000 +vn -0.880456626415 0.472398698330 -0.040442653000 +vn -0.712247908115 0.508445441723 -0.483927845955 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.452509254217 0.396822035313 -0.798603534698 +vn -0.493341773748 0.344065487385 -0.798894762993 +vn -0.493341773748 0.344065487385 -0.798894762993 +vn -0.760393679142 0.343544006348 -0.551161468029 +vn -0.692287385464 0.521458029747 -0.498818278313 +vn -0.871990084648 0.489088982344 -0.020622229204 +vn -0.903918921947 0.398155480623 -0.156213954091 +vn -0.916443407536 0.266949117184 0.298110216856 +vn -0.916443407536 0.266949117184 0.298110216856 +vn -0.873160123825 0.306886225939 0.378698021173 +vn -0.871990084648 0.489088982344 -0.020622229204 +vn -0.871990084648 0.489088982344 -0.020622229204 +vn -0.873160123825 0.306886225939 0.378698021173 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.880456626415 0.472398698330 -0.040442653000 +vn -0.871990084648 0.489088982344 -0.020622229204 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.873160123825 0.306886225939 0.378698021173 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.654840648174 0.184742674232 0.732839584351 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.654840648174 0.184742674232 0.732839584351 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.846006751060 0.409653961658 0.341256827116 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.846006751060 0.409653961658 0.341256827116 +vn -0.850674211979 0.522735774517 -0.055684074759 +vn -0.850674211979 0.522735774517 -0.055684074759 +vn -0.880456626415 0.472398698330 -0.040442653000 +vn -0.854712486267 0.359191447496 0.374764025211 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.654840648174 0.184742674232 0.732839584351 +vn -0.647204220295 -0.005476547871 0.762296974659 +vn -0.647204220295 -0.005476547871 0.762296974659 +vn -0.646497070789 0.081178493798 0.758585274220 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.646497070789 0.081178493798 0.758585274220 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.785008013248 0.203743636608 0.585022211075 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.785008013248 0.203743636608 0.585022211075 +vn -0.841622591019 0.437275558710 0.316956669092 +vn -0.841622591019 0.437275558710 0.316956669092 +vn -0.846006751060 0.409653961658 0.341256827116 +vn -0.702346086502 0.236375972629 0.671443521976 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.646497070789 0.081178493798 0.758585274220 +vn -0.557461321354 0.174925819039 0.811565041542 +vn -0.557461321354 0.174925819039 0.811565041542 +vn -0.488049238920 0.155030697584 0.858937382698 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.488049238920 0.155030697584 0.858937382698 +vn -0.550928473473 -0.090877428651 0.829589724541 +vn -0.550928473473 -0.090877428651 0.829589724541 +vn -0.636181175709 -0.112482629716 0.763296246529 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.636181175709 -0.112482629716 0.763296246529 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.877859234810 -0.107805848122 0.466627299786 +vn -0.785008013248 0.203743636608 0.585022211075 +vn -0.619045197964 0.074977569282 0.781768143177 +vn -0.488049238920 0.155030697584 0.858937382698 +vn -0.557461321354 0.174925819039 0.811565041542 +vn -0.330435961485 0.111589379609 0.937208533287 +vn -0.330435961485 0.111589379609 0.937208533287 +vn -0.334633797407 0.108778014779 0.936048924923 +vn -0.488049238920 0.155030697584 0.858937382698 +vn -0.488049238920 0.155030697584 0.858937382698 +vn -0.334633797407 0.108778014779 0.936048924923 +vn -0.202762871981 0.044235628098 0.978228211403 +vn -0.202762871981 0.044235628098 0.978228211403 +vn -0.550928473473 -0.090877428651 0.829589724541 +vn -0.488049238920 0.155030697584 0.858937382698 +vn -0.557461321354 0.174925819039 0.811565041542 +vn -0.653137028217 0.147144690156 0.742805838585 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.330435961485 0.111589379609 0.937208533287 +vn -0.557461321354 0.174925819039 0.811565041542 +vn -0.557461321354 0.174925819039 0.811565041542 +vn -0.646497070789 0.081178493798 0.758585274220 +vn -0.647204220295 -0.005476547871 0.762296974659 +vn -0.647204220295 -0.005476547871 0.762296974659 +vn -0.653137028217 0.147144690156 0.742805838585 +vn -0.557461321354 0.174925819039 0.811565041542 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.501991808414 -0.171072304249 0.847784459591 +vn -0.337292581797 -0.545221269131 0.767442166805 +vn -0.337292581797 -0.545221269131 0.767442166805 +vn -0.371392548084 -0.273312330246 0.887337565422 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.371392548084 -0.273312330246 0.887337565422 +vn -0.173753112555 -0.033539067954 0.984217941761 +vn -0.173753112555 -0.033539067954 0.984217941761 +vn -0.330435961485 0.111589379609 0.937208533287 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.653137028217 0.147144690156 0.742805838585 +vn -0.721782505512 -0.005383551121 0.692098975182 +vn -0.721782505512 -0.005383551121 0.692098975182 +vn -0.501991808414 -0.171072304249 0.847784459591 +vn -0.458910495043 -0.049582216889 0.887097954750 +vn -0.501991808414 -0.171072304249 0.847784459591 +vn -0.253314435482 -0.451992571354 0.855297923088 +vn -0.328291893005 -0.713074207306 0.619475305080 +vn -0.328291893005 -0.713074207306 0.619475305080 +vn -0.337292581797 -0.545221269131 0.767442166805 +vn -0.501991808414 -0.171072304249 0.847784459591 +vn -0.501991808414 -0.171072304249 0.847784459591 +vn -0.721782505512 -0.005383551121 0.692098975182 +vn -0.727658629417 -0.171462669969 0.664163768291 +vn -0.727658629417 -0.171462669969 0.664163768291 +vn -0.253314435482 -0.451992571354 0.855297923088 +vn -0.501991808414 -0.171072304249 0.847784459591 +vn -0.653137028217 0.147144690156 0.742805838585 +vn -0.647204220295 -0.005476547871 0.762296974659 +vn -0.657491862774 -0.150105699897 0.738358139992 +vn -0.657491862774 -0.150105699897 0.738358139992 +vn -0.721782505512 -0.005383551121 0.692098975182 +vn -0.653137028217 0.147144690156 0.742805838585 +vn -0.647204220295 -0.005476547871 0.762296974659 +vn -0.654840648174 0.184742674232 0.732839584351 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.657491862774 -0.150105699897 0.738358139992 +vn -0.647204220295 -0.005476547871 0.762296974659 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.625582337379 -0.136659100652 0.768095731735 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.657491862774 -0.150105699897 0.738358139992 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.873160123825 0.306886225939 0.378698021173 +vn -0.916443407536 0.266949117184 0.298110216856 +vn -0.916443407536 0.266949117184 0.298110216856 +vn -0.625582337379 -0.136659100652 0.768095731735 +vn -0.642937421799 -0.054738871753 0.763960123062 +vn -0.470546931028 0.462075620890 -0.751712501049 +vn -0.678899943829 0.618567526340 -0.395561784506 +vn -0.676860630512 0.594577789307 -0.433978050947 +vn -0.676860630512 0.594577789307 -0.433978050947 +vn -0.587254881859 0.526393055916 -0.614851236343 +vn -0.470546931028 0.462075620890 -0.751712501049 +vn -0.473276704550 0.816994488239 -0.329437643290 +vn -0.345520466566 0.916609048843 -0.201105564833 +vn -0.319511979818 0.905989944935 -0.277658611536 +vn -0.319511979818 0.905989944935 -0.277658611536 +vn -0.277536809444 0.877475261688 -0.391165494919 +vn -0.473276704550 0.816994488239 -0.329437643290 +vn -0.473276704550 0.816994488239 -0.329437643290 +vn -0.277536809444 0.877475261688 -0.391165494919 +vn -0.244834110141 0.793942570686 -0.556517302990 +vn -0.244834110141 0.793942570686 -0.556517302990 +vn -0.469751149416 0.765853762627 -0.439092069864 +vn -0.473276704550 0.816994488239 -0.329437643290 +vn -0.277536809444 0.877475261688 -0.391165494919 +vn -0.319511979818 0.905989944935 -0.277658611536 +vn -0.205601692200 0.946526050568 -0.248628988862 +vn -0.205601692200 0.946526050568 -0.248628988862 +vn -0.273009449244 0.860975801945 -0.429169535637 +vn -0.277536809444 0.877475261688 -0.391165494919 +vn -0.277536809444 0.877475261688 -0.391165494919 +vn -0.273009449244 0.860975801945 -0.429169535637 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.244834110141 0.793942570686 -0.556517302990 +vn -0.277536809444 0.877475261688 -0.391165494919 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.273009449244 0.860975801945 -0.429169535637 +vn -0.658086836338 0.691037118435 -0.298980653286 +vn -0.658086836338 0.691037118435 -0.298980653286 +vn -0.673667073250 0.396585196257 -0.623612761497 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.673667073250 0.396585196257 -0.623612761497 +vn -0.408774822950 0.130344390869 -0.903279304504 +vn -0.408774822950 0.130344390869 -0.903279304504 +vn -0.281692802906 0.468684077263 -0.837248146534 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.281692802906 0.468684077263 -0.837248146534 +vn -0.117384985089 0.660975337029 -0.741169571877 +vn -0.117384985089 0.660975337029 -0.741169571877 +vn -0.244834110141 0.793942570686 -0.556517302990 +vn -0.387393981218 0.713189482689 -0.584197461605 +vn -0.281692802906 0.468684077263 -0.837248146534 +vn -0.408774822950 0.130344390869 -0.903279304504 +vn -0.036002598703 -0.139449045062 -0.989574551582 +vn -0.036002598703 -0.139449045062 -0.989574551582 +vn 0.100804962218 0.148268595338 -0.983796119690 +vn -0.281692802906 0.468684077263 -0.837248146534 +vn -0.281692802906 0.468684077263 -0.837248146534 +vn 0.100804962218 0.148268595338 -0.983796119690 +vn 0.176694035530 0.500781595707 -0.847347021103 +vn 0.176694035530 0.500781595707 -0.847347021103 +vn -0.117384985089 0.660975337029 -0.741169571877 +vn -0.281692802906 0.468684077263 -0.837248146534 +vn 0.100804962218 0.148268595338 -0.983796119690 +vn -0.036002598703 -0.139449045062 -0.989574551582 +vn 0.311450004578 -0.462049156427 -0.830367088318 +vn 0.311450004578 -0.462049156427 -0.830367088318 +vn 0.446126013994 -0.152536511421 -0.881875395775 +vn 0.100804962218 0.148268595338 -0.983796119690 +vn 0.100804962218 0.148268595338 -0.983796119690 +vn 0.446126013994 -0.152536511421 -0.881875395775 +vn 0.521646261215 0.109020903707 -0.846167623997 +vn 0.521646261215 0.109020903707 -0.846167623997 +vn 0.176694035530 0.500781595707 -0.847347021103 +vn 0.100804962218 0.148268595338 -0.983796119690 +vn 0.446126013994 -0.152536511421 -0.881875395775 +vn 0.311450004578 -0.462049156427 -0.830367088318 +vn 0.523449182510 -0.696044564247 -0.491449832916 +vn 0.523449182510 -0.696044564247 -0.491449832916 +vn 0.676580607891 -0.353477507830 -0.645981729031 +vn 0.446126013994 -0.152536511421 -0.881875395775 +vn 0.446126013994 -0.152536511421 -0.881875395775 +vn 0.676580607891 -0.353477507830 -0.645981729031 +vn 0.699311733246 -0.076596602798 -0.710701107979 +vn 0.699311733246 -0.076596602798 -0.710701107979 +vn 0.521646261215 0.109020903707 -0.846167623997 +vn 0.446126013994 -0.152536511421 -0.881875395775 +vn 0.676580607891 -0.353477507830 -0.645981729031 +vn 0.523449182510 -0.696044564247 -0.491449832916 +vn 0.704556524754 -0.690262138844 -0.164736986160 +vn 0.704556524754 -0.690262138844 -0.164736986160 +vn 0.855498135090 -0.216838672757 -0.470216870308 +vn 0.676580607891 -0.353477507830 -0.645981729031 +vn 0.676580607891 -0.353477507830 -0.645981729031 +vn 0.855498135090 -0.216838672757 -0.470216870308 +vn 0.788941442966 -0.018234614283 -0.614197731018 +vn 0.788941442966 -0.018234614283 -0.614197731018 +vn 0.699311733246 -0.076596602798 -0.710701107979 +vn 0.676580607891 -0.353477507830 -0.645981729031 +vn 0.855498135090 -0.216838672757 -0.470216870308 +vn 0.704556524754 -0.690262138844 -0.164736986160 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.835438132286 0.233318656683 -0.497599750757 +vn 0.855498135090 -0.216838672757 -0.470216870308 +vn 0.855498135090 -0.216838672757 -0.470216870308 +vn 0.835438132286 0.233318656683 -0.497599750757 +vn 0.801559090614 0.223377063870 -0.554622173309 +vn 0.801559090614 0.223377063870 -0.554622173309 +vn 0.788941442966 -0.018234614283 -0.614197731018 +vn 0.855498135090 -0.216838672757 -0.470216870308 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.704556524754 -0.690262138844 -0.164736986160 +vn 0.620975375175 -0.783508956432 -0.022433303297 +vn 0.620975375175 -0.783508956432 -0.022433303297 +vn 0.653732180595 -0.718960464001 0.236072242260 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.653732180595 -0.718960464001 0.236072242260 +vn 0.683103263378 -0.540835082531 0.490782380104 +vn 0.683103263378 -0.540835082531 0.490782380104 +vn 0.989614725113 0.143259719014 -0.011802316643 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.989614725113 0.143259719014 -0.011802316643 +vn 0.788167059422 0.469254255295 -0.398237556219 +vn 0.788167059422 0.469254255295 -0.398237556219 +vn 0.835438132286 0.233318656683 -0.497599750757 +vn 0.945405006409 -0.279130101204 -0.168213531375 +vn 0.989614725113 0.143259719014 -0.011802316643 +vn 0.683103263378 -0.540835082531 0.490782380104 +vn 0.564451873302 -0.211039349437 0.798032879829 +vn 0.564451873302 -0.211039349437 0.798032879829 +vn 0.878466308117 0.353272229433 0.321707457304 +vn 0.989614725113 0.143259719014 -0.011802316643 +vn 0.989614725113 0.143259719014 -0.011802316643 +vn 0.878466308117 0.353272229433 0.321707457304 +vn 0.724548757076 0.585632026196 -0.363406389952 +vn 0.724548757076 0.585632026196 -0.363406389952 +vn 0.788167059422 0.469254255295 -0.398237556219 +vn 0.989614725113 0.143259719014 -0.011802316643 +vn 0.683103263378 -0.540835082531 0.490782380104 +vn 0.653732180595 -0.718960464001 0.236072242260 +vn 0.504551768303 -0.829032003880 0.241108819842 +vn 0.504551768303 -0.829032003880 0.241108819842 +vn 0.497199982405 -0.602465748787 0.624361455441 +vn 0.683103263378 -0.540835082531 0.490782380104 +vn 0.683103263378 -0.540835082531 0.490782380104 +vn 0.497199982405 -0.602465748787 0.624361455441 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.564451873302 -0.211039349437 0.798032879829 +vn 0.683103263378 -0.540835082531 0.490782380104 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.497199982405 -0.602465748787 0.624361455441 +vn 0.354534059763 -0.750870287418 0.557224750519 +vn 0.354534059763 -0.750870287418 0.557224750519 +vn 0.270803511143 -0.386747300625 0.881528198719 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.270803511143 -0.386747300625 0.881528198719 +vn 0.125300318003 0.134481579065 0.982962131500 +vn 0.125300318003 0.134481579065 0.982962131500 +vn 0.256296396255 0.374693721533 0.891020059586 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.256296396255 0.374693721533 0.891020059586 +vn 0.506033003330 0.457370489836 0.731261134148 +vn 0.506033003330 0.457370489836 0.731261134148 +vn 0.564451873302 -0.211039349437 0.798032879829 +vn 0.439381361008 -0.207031399012 0.874117851257 +vn 0.256296396255 0.374693721533 0.891020059586 +vn 0.125300318003 0.134481579065 0.982962131500 +vn 0.006276889239 0.523106515408 0.852244198322 +vn 0.006276889239 0.523106515408 0.852244198322 +vn 0.094372428954 0.461883842945 0.881905436516 +vn 0.256296396255 0.374693721533 0.891020059586 +vn 0.256296396255 0.374693721533 0.891020059586 +vn 0.094372428954 0.461883842945 0.881905436516 +vn -0.121771819890 0.907417356968 0.402200639248 +vn -0.121771819890 0.907417356968 0.402200639248 +vn 0.506033003330 0.457370489836 0.731261134148 +vn 0.256296396255 0.374693721533 0.891020059586 +vn 0.006276889239 0.523106515408 0.852244198322 +vn 0.125300318003 0.134481579065 0.982962131500 +vn -0.038040585816 0.040302138776 0.998463153839 +vn -0.038040585816 0.040302138776 0.998463153839 +vn -0.092569380999 0.481423765421 0.871585965157 +vn 0.006276889239 0.523106515408 0.852244198322 +vn 0.006276889239 0.523106515408 0.852244198322 +vn -0.092569380999 0.481423765421 0.871585965157 +vn -0.113789513707 0.780125617981 0.615187764168 +vn -0.113789513707 0.780125617981 0.615187764168 +vn -0.090679392219 0.816002249718 0.570891857147 +vn 0.006276889239 0.523106515408 0.852244198322 +vn 0.006276889239 0.523106515408 0.852244198322 +vn -0.090679392219 0.816002249718 0.570891857147 +vn -0.121771819890 0.907417356968 0.402200639248 +vn -0.121771819890 0.907417356968 0.402200639248 +vn 0.094372428954 0.461883842945 0.881905436516 +vn 0.006276889239 0.523106515408 0.852244198322 +vn -0.090679392219 0.816002249718 0.570891857147 +vn -0.113789513707 0.780125617981 0.615187764168 +vn -0.065149024129 0.968082070351 0.242018088698 +vn -0.065149024129 0.968082070351 0.242018088698 +vn -0.149969920516 0.969446182251 0.194121301174 +vn -0.090679392219 0.816002249718 0.570891857147 +vn -0.090679392219 0.816002249718 0.570891857147 +vn -0.149969920516 0.969446182251 0.194121301174 +vn -0.246833741665 0.934036254883 0.258165508509 +vn -0.246833741665 0.934036254883 0.258165508509 +vn -0.121771819890 0.907417356968 0.402200639248 +vn -0.090679392219 0.816002249718 0.570891857147 +vn -0.149969920516 0.969446182251 0.194121301174 +vn -0.065149024129 0.968082070351 0.242018088698 +vn 0.053862564266 0.980405032635 -0.189485639334 +vn 0.053862564266 0.980405032635 -0.189485639334 +vn -0.095253936946 0.959836602211 -0.263894736767 +vn -0.149969920516 0.969446182251 0.194121301174 +vn -0.149969920516 0.969446182251 0.194121301174 +vn -0.095253936946 0.959836602211 -0.263894736767 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.246833741665 0.934036254883 0.258165508509 +vn -0.149969920516 0.969446182251 0.194121301174 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.695233583450 0.684673905373 -0.218796551228 +vn -0.473572015762 0.867844879627 0.150249123573 +vn -0.473572015762 0.867844879627 0.150249123573 +vn -0.246833741665 0.934036254883 0.258165508509 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.095253936946 0.959836602211 -0.263894736767 +vn 0.002242129063 0.749514043331 -0.661984682083 +vn 0.002242129063 0.749514043331 -0.661984682083 +vn -0.317155778408 0.702843785286 -0.636728227139 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.317155778408 0.702843785286 -0.636728227139 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.695233583450 0.684673905373 -0.218796551228 +vn -0.357779502869 0.923080861568 -0.141122400761 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.673667073250 0.396585196257 -0.623612761497 +vn -0.658086836338 0.691037118435 -0.298980653286 +vn -0.658086836338 0.691037118435 -0.298980653286 +vn -0.695233583450 0.684673905373 -0.218796551228 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.317155778408 0.702843785286 -0.636728227139 +vn -0.155637040734 0.360485523939 -0.919688701630 +vn -0.155637040734 0.360485523939 -0.919688701630 +vn -0.366888701916 0.236831426620 -0.899613022804 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.366888701916 0.236831426620 -0.899613022804 +vn -0.408774822950 0.130344390869 -0.903279304504 +vn -0.408774822950 0.130344390869 -0.903279304504 +vn -0.673667073250 0.396585196257 -0.623612761497 +vn -0.608903050423 0.524954736233 -0.594692826271 +vn -0.366888701916 0.236831426620 -0.899613022804 +vn -0.155637040734 0.360485523939 -0.919688701630 +vn 0.060935895890 -0.076402917504 -0.995213270187 +vn 0.060935895890 -0.076402917504 -0.995213270187 +vn -0.052284561098 -0.164256900549 -0.985030949116 +vn -0.366888701916 0.236831426620 -0.899613022804 +vn -0.366888701916 0.236831426620 -0.899613022804 +vn -0.052284561098 -0.164256900549 -0.985030949116 +vn -0.036002598703 -0.139449045062 -0.989574551582 +vn -0.036002598703 -0.139449045062 -0.989574551582 +vn -0.408774822950 0.130344390869 -0.903279304504 +vn -0.366888701916 0.236831426620 -0.899613022804 +vn -0.052284561098 -0.164256900549 -0.985030949116 +vn 0.060935895890 -0.076402917504 -0.995213270187 +vn 0.289471894503 -0.512713968754 -0.808288574219 +vn 0.289471894503 -0.512713968754 -0.808288574219 +vn 0.236821636558 -0.530136287212 -0.814168930054 +vn -0.052284561098 -0.164256900549 -0.985030949116 +vn -0.052284561098 -0.164256900549 -0.985030949116 +vn 0.236821636558 -0.530136287212 -0.814168930054 +vn 0.311450004578 -0.462049156427 -0.830367088318 +vn 0.311450004578 -0.462049156427 -0.830367088318 +vn -0.036002598703 -0.139449045062 -0.989574551582 +vn -0.052284561098 -0.164256900549 -0.985030949116 +vn 0.236821636558 -0.530136287212 -0.814168930054 +vn 0.289471894503 -0.512713968754 -0.808288574219 +vn 0.467446297407 -0.797998487949 -0.380384445190 +vn 0.467446297407 -0.797998487949 -0.380384445190 +vn 0.476768404245 -0.740061700344 -0.474342286587 +vn 0.236821636558 -0.530136287212 -0.814168930054 +vn 0.236821636558 -0.530136287212 -0.814168930054 +vn 0.476768404245 -0.740061700344 -0.474342286587 +vn 0.523449182510 -0.696044564247 -0.491449832916 +vn 0.523449182510 -0.696044564247 -0.491449832916 +vn 0.311450004578 -0.462049156427 -0.830367088318 +vn 0.236821636558 -0.530136287212 -0.814168930054 +vn 0.476768404245 -0.740061700344 -0.474342286587 +vn 0.467446297407 -0.797998487949 -0.380384445190 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.620975375175 -0.783508956432 -0.022433303297 +vn 0.476768404245 -0.740061700344 -0.474342286587 +vn 0.476768404245 -0.740061700344 -0.474342286587 +vn 0.620975375175 -0.783508956432 -0.022433303297 +vn 0.704556524754 -0.690262138844 -0.164736986160 +vn 0.704556524754 -0.690262138844 -0.164736986160 +vn 0.523449182510 -0.696044564247 -0.491449832916 +vn 0.476768404245 -0.740061700344 -0.474342286587 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.467446297407 -0.797998487949 -0.380384445190 +vn 0.432791292667 -0.800442516804 -0.414708852768 +vn 0.432791292667 -0.800442516804 -0.414708852768 +vn 0.409876346588 -0.911997258663 -0.016198895872 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.409876346588 -0.911997258663 -0.016198895872 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.504551768303 -0.829032003880 0.241108819842 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.504551768303 -0.829032003880 0.241108819842 +vn 0.653732180595 -0.718960464001 0.236072242260 +vn 0.653732180595 -0.718960464001 0.236072242260 +vn 0.620975375175 -0.783508956432 -0.022433303297 +vn 0.518730282784 -0.854915916920 0.006139353849 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.409876346588 -0.911997258663 -0.016198895872 +vn 0.259054720402 -0.960606396198 -0.100628063083 +vn 0.259054720402 -0.960606396198 -0.100628063083 +vn 0.174779847264 -0.957992732525 0.227380603552 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.174779847264 -0.957992732525 0.227380603552 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn 0.354534059763 -0.750870287418 0.557224750519 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.354534059763 -0.750870287418 0.557224750519 +vn 0.497199982405 -0.602465748787 0.624361455441 +vn 0.497199982405 -0.602465748787 0.624361455441 +vn 0.504551768303 -0.829032003880 0.241108819842 +vn 0.382935672998 -0.885049641132 0.264664679766 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn 0.174779847264 -0.957992732525 0.227380603552 +vn -0.038977205753 -0.981028497219 0.189904913306 +vn -0.038977205753 -0.981028497219 0.189904913306 +vn -0.133754879236 -0.847533881664 0.513610720634 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn -0.133754879236 -0.847533881664 0.513610720634 +vn -0.200875982642 -0.531464934349 0.822917878628 +vn -0.200875982642 -0.531464934349 0.822917878628 +vn 0.045098394156 -0.479812443256 0.876211225986 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn 0.045098394156 -0.479812443256 0.876211225986 +vn 0.270803511143 -0.386747300625 0.881528198719 +vn 0.270803511143 -0.386747300625 0.881528198719 +vn 0.354534059763 -0.750870287418 0.557224750519 +vn 0.119527801871 -0.816052436829 0.565483450890 +vn 0.045098394156 -0.479812443256 0.876211225986 +vn -0.200875982642 -0.531464934349 0.822917878628 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.038040585816 0.040302138776 0.998463153839 +vn 0.045098394156 -0.479812443256 0.876211225986 +vn 0.045098394156 -0.479812443256 0.876211225986 +vn -0.038040585816 0.040302138776 0.998463153839 +vn 0.125300318003 0.134481579065 0.982962131500 +vn 0.125300318003 0.134481579065 0.982962131500 +vn 0.270803511143 -0.386747300625 0.881528198719 +vn 0.045098394156 -0.479812443256 0.876211225986 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.200875982642 -0.531464934349 0.822917878628 +vn -0.411269128323 -0.523518621922 0.746180891991 +vn -0.411269128323 -0.523518621922 0.746180891991 +vn -0.423713356256 -0.109792359173 0.899117708206 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.423713356256 -0.109792359173 0.899117708206 +vn -0.336109995842 0.348441511393 0.874996364117 +vn -0.336109995842 0.348441511393 0.874996364117 +vn -0.209088429809 0.424714595079 0.880851626396 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.209088429809 0.424714595079 0.880851626396 +vn -0.092569380999 0.481423765421 0.871585965157 +vn -0.092569380999 0.481423765421 0.871585965157 +vn -0.038040585816 0.040302138776 0.998463153839 +vn -0.234272703528 -0.042228519917 0.971253335476 +vn -0.209088429809 0.424714595079 0.880851626396 +vn -0.336109995842 0.348441511393 0.874996364117 +vn -0.175727561116 0.689686655998 0.702461481094 +vn -0.175727561116 0.689686655998 0.702461481094 +vn -0.128022998571 0.758390307426 0.639104306698 +vn -0.209088429809 0.424714595079 0.880851626396 +vn -0.209088429809 0.424714595079 0.880851626396 +vn -0.128022998571 0.758390307426 0.639104306698 +vn -0.113789513707 0.780125617981 0.615187764168 +vn -0.113789513707 0.780125617981 0.615187764168 +vn -0.092569380999 0.481423765421 0.871585965157 +vn -0.209088429809 0.424714595079 0.880851626396 +vn -0.128022998571 0.758390307426 0.639104306698 +vn -0.175727561116 0.689686655998 0.702461481094 +vn 0.046635005623 0.905606448650 0.421547323465 +vn 0.046635005623 0.905606448650 0.421547323465 +vn -0.004725415260 0.954034984112 0.299657970667 +vn -0.128022998571 0.758390307426 0.639104306698 +vn -0.128022998571 0.758390307426 0.639104306698 +vn -0.004725415260 0.954034984112 0.299657970667 +vn -0.065149024129 0.968082070351 0.242018088698 +vn -0.065149024129 0.968082070351 0.242018088698 +vn -0.113789513707 0.780125617981 0.615187764168 +vn -0.128022998571 0.758390307426 0.639104306698 +vn -0.004725415260 0.954034984112 0.299657970667 +vn 0.046635005623 0.905606448650 0.421547323465 +vn 0.297269523144 0.952216386795 0.070105269551 +vn 0.297269523144 0.952216386795 0.070105269551 +vn 0.156814858317 0.983114242554 -0.094316169620 +vn -0.004725415260 0.954034984112 0.299657970667 +vn -0.004725415260 0.954034984112 0.299657970667 +vn 0.156814858317 0.983114242554 -0.094316169620 +vn 0.053862564266 0.980405032635 -0.189485639334 +vn 0.053862564266 0.980405032635 -0.189485639334 +vn -0.065149024129 0.968082070351 0.242018088698 +vn -0.004725415260 0.954034984112 0.299657970667 +vn 0.156814858317 0.983114242554 -0.094316169620 +vn 0.297269523144 0.952216386795 0.070105269551 +vn 0.503617525101 0.812182068825 -0.294499009848 +vn 0.503617525101 0.812182068825 -0.294499009848 +vn 0.330816537142 0.821879863739 -0.463760614395 +vn 0.156814858317 0.983114242554 -0.094316169620 +vn 0.156814858317 0.983114242554 -0.094316169620 +vn 0.330816537142 0.821879863739 -0.463760614395 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.053862564266 0.980405032635 -0.189485639334 +vn 0.156814858317 0.983114242554 -0.094316169620 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.002242129063 0.749514043331 -0.661984682083 +vn -0.095253936946 0.959836602211 -0.263894736767 +vn -0.095253936946 0.959836602211 -0.263894736767 +vn 0.053862564266 0.980405032635 -0.189485639334 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.330816537142 0.821879863739 -0.463760614395 +vn 0.468820512295 0.504855453968 -0.724795341492 +vn 0.468820512295 0.504855453968 -0.724795341492 +vn 0.322998225689 0.476452618837 -0.817719399929 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.322998225689 0.476452618837 -0.817719399929 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn 0.002242129063 0.749514043331 -0.661984682083 +vn 0.187974944711 0.813540935516 -0.550287723541 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn -0.155637040734 0.360485523939 -0.919688701630 +vn -0.317155778408 0.702843785286 -0.636728227139 +vn -0.317155778408 0.702843785286 -0.636728227139 +vn 0.002242129063 0.749514043331 -0.661984682083 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn 0.322998225689 0.476452618837 -0.817719399929 +vn 0.425416529179 -0.038051687181 -0.904197335243 +vn 0.425416529179 -0.038051687181 -0.904197335243 +vn 0.269014984369 -0.078607410192 -0.959922790527 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn 0.269014984369 -0.078607410192 -0.959922790527 +vn 0.060935895890 -0.076402917504 -0.995213270187 +vn 0.060935895890 -0.076402917504 -0.995213270187 +vn -0.155637040734 0.360485523939 -0.919688701630 +vn 0.129199773073 0.375185638666 -0.917901515961 +vn 0.269014984369 -0.078607410192 -0.959922790527 +vn 0.425416529179 -0.038051687181 -0.904197335243 +vn 0.433478921652 -0.505406737328 -0.746096551418 +vn 0.433478921652 -0.505406737328 -0.746096551418 +vn 0.382335335016 -0.497620224953 -0.778584480286 +vn 0.269014984369 -0.078607410192 -0.959922790527 +vn 0.269014984369 -0.078607410192 -0.959922790527 +vn 0.382335335016 -0.497620224953 -0.778584480286 +vn 0.289471894503 -0.512713968754 -0.808288574219 +vn 0.289471894503 -0.512713968754 -0.808288574219 +vn 0.060935895890 -0.076402917504 -0.995213270187 +vn 0.269014984369 -0.078607410192 -0.959922790527 +vn 0.382335335016 -0.497620224953 -0.778584480286 +vn 0.433478921652 -0.505406737328 -0.746096551418 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.432791292667 -0.800442516804 -0.414708852768 +vn 0.382335335016 -0.497620224953 -0.778584480286 +vn 0.382335335016 -0.497620224953 -0.778584480286 +vn 0.432791292667 -0.800442516804 -0.414708852768 +vn 0.467446297407 -0.797998487949 -0.380384445190 +vn 0.467446297407 -0.797998487949 -0.380384445190 +vn 0.289471894503 -0.512713968754 -0.808288574219 +vn 0.382335335016 -0.497620224953 -0.778584480286 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.433478921652 -0.505406737328 -0.746096551418 +vn 0.455111831427 -0.433408737183 -0.777836799622 +vn 0.455111831427 -0.433408737183 -0.777836799622 +vn 0.304330408573 -0.793034672737 -0.527711093426 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.304330408573 -0.793034672737 -0.527711093426 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn 0.259054720402 -0.960606396198 -0.100628063083 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.259054720402 -0.960606396198 -0.100628063083 +vn 0.409876346588 -0.911997258663 -0.016198895872 +vn 0.409876346588 -0.911997258663 -0.016198895872 +vn 0.432791292667 -0.800442516804 -0.414708852768 +vn 0.365264266729 -0.818917512894 -0.442669272423 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn 0.304330408573 -0.793034672737 -0.527711093426 +vn 0.356513082981 -0.697556674480 -0.621540963650 +vn 0.356513082981 -0.697556674480 -0.621540963650 +vn 0.081253156066 -0.948016583920 -0.307672768831 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn 0.081253156066 -0.948016583920 -0.307672768831 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn -0.038977205753 -0.981028497219 0.189904913306 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn -0.038977205753 -0.981028497219 0.189904913306 +vn 0.174779847264 -0.957992732525 0.227380603552 +vn 0.174779847264 -0.957992732525 0.227380603552 +vn 0.259054720402 -0.960606396198 -0.100628063083 +vn 0.115236766636 -0.977209568024 -0.178274780512 +vn 0.231874272227 -0.820132136345 -0.523084700108 +vn -0.102916389704 -0.977832078934 -0.182353064418 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn 0.081253156066 -0.948016583920 -0.307672768831 +vn 0.231874272227 -0.820132136345 -0.523084700108 +vn -0.325221389532 -0.836283624172 0.441430330276 +vn -0.341652840376 -0.826769411564 0.446906805038 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn -0.102916389704 -0.977832078934 -0.182353064418 +vn -0.325221389532 -0.836283624172 0.441430330276 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn -0.341652840376 -0.826769411564 0.446906805038 +vn -0.133754879236 -0.847533881664 0.513610720634 +vn -0.133754879236 -0.847533881664 0.513610720634 +vn -0.038977205753 -0.981028497219 0.189904913306 +vn -0.168345868587 -0.983503580093 0.066184416413 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn -0.411269128323 -0.523518621922 0.746180891991 +vn -0.341652840376 -0.826769411564 0.446906805038 +vn -0.341652840376 -0.826769411564 0.446906805038 +vn -0.325221389532 -0.836283624172 0.441430330276 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn -0.341652840376 -0.826769411564 0.446906805038 +vn -0.411269128323 -0.523518621922 0.746180891991 +vn -0.200875982642 -0.531464934349 0.822917878628 +vn -0.200875982642 -0.531464934349 0.822917878628 +vn -0.133754879236 -0.847533881664 0.513610720634 +vn -0.341652840376 -0.826769411564 0.446906805038 +vn -0.423713356256 -0.109792359173 0.899117708206 +vn -0.411269128323 -0.523518621922 0.746180891991 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn -0.400463789701 -0.304052025080 0.864396393299 +vn -0.423713356256 -0.109792359173 0.899117708206 +vn -0.423713356256 -0.109792359173 0.899117708206 +vn -0.400463789701 -0.304052025080 0.864396393299 +vn -0.332097560167 0.081697568297 0.939700365067 +vn -0.332097560167 0.081697568297 0.939700365067 +vn -0.336109995842 0.348441511393 0.874996364117 +vn -0.423713356256 -0.109792359173 0.899117708206 +vn -0.336109995842 0.348441511393 0.874996364117 +vn -0.332097560167 0.081697568297 0.939700365067 +vn -0.214608341455 0.516929745674 0.828689873219 +vn -0.214608341455 0.516929745674 0.828689873219 +vn -0.175727561116 0.689686655998 0.702461481094 +vn -0.336109995842 0.348441511393 0.874996364117 +vn -0.175727561116 0.689686655998 0.702461481094 +vn -0.214608341455 0.516929745674 0.828689873219 +vn 0.054755549878 0.784012436867 0.618325412273 +vn 0.054755549878 0.784012436867 0.618325412273 +vn 0.046635005623 0.905606448650 0.421547323465 +vn -0.175727561116 0.689686655998 0.702461481094 +vn 0.231874272227 -0.820132136345 -0.523084700108 +vn 0.081253156066 -0.948016583920 -0.307672768831 +vn 0.356513082981 -0.697556674480 -0.621540963650 +vn 0.356513082981 -0.697556674480 -0.621540963650 +vn 0.584060728550 -0.472724586725 -0.659851908684 +vn 0.231874272227 -0.820132136345 -0.523084700108 +vn 0.560852169991 -0.336584091187 -0.756409943104 +vn 0.736387848854 -0.150494113564 -0.659609317780 +vn 0.584060728550 -0.472724586725 -0.659851908684 +vn 0.584060728550 -0.472724586725 -0.659851908684 +vn 0.356513082981 -0.697556674480 -0.621540963650 +vn 0.560852169991 -0.336584091187 -0.756409943104 +vn 0.584060728550 -0.472724586725 -0.659851908684 +vn 0.736387848854 -0.150494113564 -0.659609317780 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.798023343086 -0.602499783039 -0.012357043102 +vn 0.584060728550 -0.472724586725 -0.659851908684 +vn 0.584060728550 -0.472724586725 -0.659851908684 +vn 0.798023343086 -0.602499783039 -0.012357043102 +vn 0.268750041723 -0.944639980793 0.188225045800 +vn 0.268750041723 -0.944639980793 0.188225045800 +vn 0.231874272227 -0.820132136345 -0.523084700108 +vn 0.584060728550 -0.472724586725 -0.659851908684 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.736387848854 -0.150494113564 -0.659609317780 +vn 0.800038218498 0.208430096507 -0.562579572201 +vn 0.800038218498 0.208430096507 -0.562579572201 +vn 0.999197006226 -0.013656531461 0.037667006254 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.999197006226 -0.013656531461 0.037667006254 +vn -0.141119390726 -0.374258041382 0.916523993015 +vn -0.141119390726 -0.374258041382 0.916523993015 +vn 0.340282380581 -0.382701039314 0.858922481537 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.340282380581 -0.382701039314 0.858922481537 +vn 0.324504107237 -0.427837014198 0.843595027924 +vn 0.324504107237 -0.427837014198 0.843595027924 +vn 0.798023343086 -0.602499783039 -0.012357043102 +vn 0.935255706310 -0.353455752134 0.019125895575 +vn 0.661050438881 0.078701704741 -0.746202647686 +vn 0.800038218498 0.208430096507 -0.562579572201 +vn 0.736387848854 -0.150494113564 -0.659609317780 +vn 0.736387848854 -0.150494113564 -0.659609317780 +vn 0.560852169991 -0.336584091187 -0.756409943104 +vn 0.661050438881 0.078701704741 -0.746202647686 +vn 0.757121384144 0.595956921577 -0.267586499453 +vn 0.800038218498 0.208430096507 -0.562579572201 +vn 0.661050438881 0.078701704741 -0.746202647686 +vn 0.661050438881 0.078701704741 -0.746202647686 +vn 0.638090133667 0.488221794367 -0.595382630825 +vn 0.757121384144 0.595956921577 -0.267586499453 +vn 0.560852169991 -0.336584091187 -0.756409943104 +vn 0.455111831427 -0.433408737183 -0.777836799622 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.661050438881 0.078701704741 -0.746202647686 +vn 0.560852169991 -0.336584091187 -0.756409943104 +vn 0.560852169991 -0.336584091187 -0.756409943104 +vn 0.356513082981 -0.697556674480 -0.621540963650 +vn 0.304330408573 -0.793034672737 -0.527711093426 +vn 0.304330408573 -0.793034672737 -0.527711093426 +vn 0.455111831427 -0.433408737183 -0.777836799622 +vn 0.560852169991 -0.336584091187 -0.756409943104 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.425416529179 -0.038051687181 -0.904197335243 +vn 0.322998225689 0.476452618837 -0.817719399929 +vn 0.322998225689 0.476452618837 -0.817719399929 +vn 0.468820512295 0.504855453968 -0.724795341492 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.468820512295 0.504855453968 -0.724795341492 +vn 0.638090133667 0.488221794367 -0.595382630825 +vn 0.638090133667 0.488221794367 -0.595382630825 +vn 0.661050438881 0.078701704741 -0.746202647686 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.455111831427 -0.433408737183 -0.777836799622 +vn 0.433478921652 -0.505406737328 -0.746096551418 +vn 0.433478921652 -0.505406737328 -0.746096551418 +vn 0.425416529179 -0.038051687181 -0.904197335243 +vn 0.522343158722 0.054986000061 -0.850960731506 +vn 0.757121384144 0.595956921577 -0.267586499453 +vn 0.638090133667 0.488221794367 -0.595382630825 +vn 0.503617525101 0.812182068825 -0.294499009848 +vn 0.503617525101 0.812182068825 -0.294499009848 +vn 0.534159302711 0.839426577091 0.100184306502 +vn 0.757121384144 0.595956921577 -0.267586499453 +vn 0.638090133667 0.488221794367 -0.595382630825 +vn 0.468820512295 0.504855453968 -0.724795341492 +vn 0.330816537142 0.821879863739 -0.463760614395 +vn 0.330816537142 0.821879863739 -0.463760614395 +vn 0.503617525101 0.812182068825 -0.294499009848 +vn 0.638090133667 0.488221794367 -0.595382630825 +vn -0.695233583450 0.684673905373 -0.218796551228 +vn -0.658086836338 0.691037118435 -0.298980653286 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.473572015762 0.867844879627 0.150249123573 +vn -0.695233583450 0.684673905373 -0.218796551228 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.205601692200 0.946526050568 -0.248628988862 +vn 0.079247862101 0.969927549362 -0.230131030083 +vn 0.079247862101 0.969927549362 -0.230131030083 +vn -0.132732585073 0.987605988979 -0.083764702082 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.132732585073 0.987605988979 -0.083764702082 +vn -0.290093451738 0.940565109253 0.176587253809 +vn -0.290093451738 0.940565109253 0.176587253809 +vn -0.473572015762 0.867844879627 0.150249123573 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.658086836338 0.691037118435 -0.298980653286 +vn -0.273009449244 0.860975801945 -0.429169535637 +vn -0.273009449244 0.860975801945 -0.429169535637 +vn -0.205601692200 0.946526050568 -0.248628988862 +vn -0.394390285015 0.915188133717 -0.082987517118 +vn -0.205601692200 0.946526050568 -0.248628988862 +vn -0.319511979818 0.905989944935 -0.277658611536 +vn -0.082643136382 0.941257119179 -0.327421933413 +vn -0.082643136382 0.941257119179 -0.327421933413 +vn 0.079247862101 0.969927549362 -0.230131030083 +vn -0.205601692200 0.946526050568 -0.248628988862 +vn -0.319511979818 0.905989944935 -0.277658611536 +vn -0.345520466566 0.916609048843 -0.201105564833 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.082643136382 0.941257119179 -0.327421933413 +vn -0.319511979818 0.905989944935 -0.277658611536 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.672298371792 0.739992916584 -0.020625833422 +vn -0.690027296543 0.696177899837 -0.197986468673 +vn -0.690027296543 0.696177899837 -0.197986468673 +vn -0.411774367094 0.846359968185 -0.337811619043 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.411774367094 0.846359968185 -0.337811619043 +vn -0.141386777163 0.929110169411 -0.341707617044 +vn -0.141386777163 0.929110169411 -0.341707617044 +vn -0.082643136382 0.941257119179 -0.327421933413 +vn -0.414547055960 0.883300960064 -0.218929663301 +vn -0.411774367094 0.846359968185 -0.337811619043 +vn -0.690027296543 0.696177899837 -0.197986468673 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.453665226698 0.661064624786 -0.597646594048 +vn -0.411774367094 0.846359968185 -0.337811619043 +vn -0.411774367094 0.846359968185 -0.337811619043 +vn -0.453665226698 0.661064624786 -0.597646594048 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn -0.141386777163 0.929110169411 -0.341707617044 +vn -0.411774367094 0.846359968185 -0.337811619043 +vn 0.233906283975 0.632930636406 -0.738028883934 +vn 0.223141282797 0.610668420792 -0.759797394276 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn -0.217604145408 0.731005907059 -0.646744787693 +vn 0.233906283975 0.632930636406 -0.738028883934 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn 0.223141282797 0.610668420792 -0.759797394276 +vn 0.410014301538 0.809555232525 -0.420129299164 +vn 0.410014301538 0.809555232525 -0.420129299164 +vn -0.141386777163 0.929110169411 -0.341707617044 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn 0.657837927341 0.378287076950 -0.651266574860 +vn 0.614214539528 0.333024352789 -0.715426623821 +vn 0.223141282797 0.610668420792 -0.759797394276 +vn 0.223141282797 0.610668420792 -0.759797394276 +vn 0.233906283975 0.632930636406 -0.738028883934 +vn 0.657837927341 0.378287076950 -0.651266574860 +vn 0.223141282797 0.610668420792 -0.759797394276 +vn 0.614214539528 0.333024352789 -0.715426623821 +vn 0.748724162579 0.597042918205 -0.288013637066 +vn 0.748724162579 0.597042918205 -0.288013637066 +vn 0.410014301538 0.809555232525 -0.420129299164 +vn 0.223141282797 0.610668420792 -0.759797394276 +vn 0.882139682770 0.021659230813 -0.470489531755 +vn 0.614214539528 0.333024352789 -0.715426623821 +vn 0.657837927341 0.378287076950 -0.651266574860 +vn 0.657837927341 0.378287076950 -0.651266574860 +vn 0.879203557968 0.280645579100 -0.385018318892 +vn 0.882139682770 0.021659230813 -0.470489531755 +vn 0.879203557968 0.280645579100 -0.385018318892 +vn 0.875085175037 0.284960567951 -0.391182065010 +vn 0.882139682770 0.021659230813 -0.470489531755 +vn 0.233906283975 0.632930636406 -0.738028883934 +vn -0.217604145408 0.731005907059 -0.646744787693 +vn -0.100757867098 0.856254220009 -0.506632566452 +vn -0.100757867098 0.856254220009 -0.506632566452 +vn 0.236852481961 0.874147355556 -0.423989772797 +vn 0.233906283975 0.632930636406 -0.738028883934 +vn 0.233906283975 0.632930636406 -0.738028883934 +vn 0.236852481961 0.874147355556 -0.423989772797 +vn 0.506191194057 0.784512937069 -0.358203768730 +vn 0.506191194057 0.784512937069 -0.358203768730 +vn 0.657837927341 0.378287076950 -0.651266574860 +vn 0.233906283975 0.632930636406 -0.738028883934 +vn 0.236852481961 0.874147355556 -0.423989772797 +vn -0.100757867098 0.856254220009 -0.506632566452 +vn -0.146492078900 0.927200198174 -0.344731599092 +vn -0.146492078900 0.927200198174 -0.344731599092 +vn 0.344998806715 0.866717040539 -0.360246300697 +vn 0.236852481961 0.874147355556 -0.423989772797 +vn 0.236852481961 0.874147355556 -0.423989772797 +vn 0.344998806715 0.866717040539 -0.360246300697 +vn 0.607457041740 0.710641443729 -0.354943275452 +vn 0.607457041740 0.710641443729 -0.354943275452 +vn 0.506191194057 0.784512937069 -0.358203768730 +vn 0.236852481961 0.874147355556 -0.423989772797 +vn 0.344998806715 0.866717040539 -0.360246300697 +vn -0.146492078900 0.927200198174 -0.344731599092 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn 0.348152428865 0.870052337646 -0.348996847868 +vn 0.344998806715 0.866717040539 -0.360246300697 +vn 0.344998806715 0.866717040539 -0.360246300697 +vn 0.348152428865 0.870052337646 -0.348996847868 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.607457041740 0.710641443729 -0.354943275452 +vn 0.344998806715 0.866717040539 -0.360246300697 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.714554429054 0.667727410793 0.208691373467 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.348152428865 0.870052337646 -0.348996847868 +vn 0.376080244780 0.926337480545 -0.021506395191 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.836690306664 0.270335048437 -0.476306915283 +vn 0.875085175037 0.284960567951 -0.391182065010 +vn 0.875085175037 0.284960567951 -0.391182065010 +vn 0.607457041740 0.710641443729 -0.354943275452 +vn 0.604264497757 0.669568955898 -0.431904941797 +vn 0.083596318960 0.705422341824 0.703840136528 +vn -0.141477271914 0.989577353001 0.026847619563 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn -0.242646485567 0.968250751495 0.060110073537 +vn 0.083596318960 0.705422341824 0.703840136528 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn -0.146492078900 0.927200198174 -0.344731599092 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.242646485567 0.968250751495 0.060110073537 +vn 0.037707228214 0.982987165451 -0.179762169719 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.524120569229 0.848639190197 0.071478672326 +vn -0.431219965219 0.861944854259 0.266646653414 +vn -0.431219965219 0.861944854259 0.266646653414 +vn -0.242646485567 0.968250751495 0.060110073537 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.146492078900 0.927200198174 -0.344731599092 +vn -0.100757867098 0.856254220009 -0.506632566452 +vn -0.100757867098 0.856254220009 -0.506632566452 +vn -0.571737766266 0.732720911503 -0.369101554155 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.571737766266 0.732720911503 -0.369101554155 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.524120569229 0.848639190197 0.071478672326 +vn -0.342749416828 0.924339294434 -0.167689189315 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.797018706799 0.597555816174 -0.087682552636 +vn -0.668778121471 0.668187499046 0.325977385044 +vn -0.668778121471 0.668187499046 0.325977385044 +vn -0.524120569229 0.848639190197 0.071478672326 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.571737766266 0.732720911503 -0.369101554155 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn -0.673261463642 0.576191544533 -0.463381379843 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.673261463642 0.576191544533 -0.463381379843 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.797018706799 0.597555816174 -0.087682552636 +vn -0.655902504921 0.742715775967 -0.134778127074 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.981501281261 -0.186295166612 -0.044151421636 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.797018706799 0.597555816174 -0.087682552636 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.938181340694 0.340947598219 -0.059753816575 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.673261463642 0.576191544533 -0.463381379843 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.872809171677 -0.341396838427 0.348786950111 +vn -0.981501281261 -0.186295166612 -0.044151421636 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.871123313904 0.373719185591 -0.318556308746 +vn -0.938181340694 0.340947598219 -0.059753816575 +vn -0.872809171677 -0.341396838427 0.348786950111 +vn -0.545271813869 -0.699797272682 0.461478531361 +vn -0.981501281261 -0.186295166612 -0.044151421636 +vn -0.872809171677 -0.341396838427 0.348786950111 +vn -0.872809171677 -0.341396838427 0.348786950111 +vn -0.268343746662 -0.638682842255 0.721162855625 +vn -0.545271813869 -0.699797272682 0.461478531361 +vn -0.545271813869 -0.699797272682 0.461478531361 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn -0.149849325418 -0.801799178123 0.578500866890 +vn -0.149849325418 -0.801799178123 0.578500866890 +vn -0.668538451195 -0.460031986237 0.584317445755 +vn -0.545271813869 -0.699797272682 0.461478531361 +vn -0.545271813869 -0.699797272682 0.461478531361 +vn -0.668538451195 -0.460031986237 0.584317445755 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.981501281261 -0.186295166612 -0.044151421636 +vn -0.545271813869 -0.699797272682 0.461478531361 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn -0.545271813869 -0.699797272682 0.461478531361 +vn -0.268343746662 -0.638682842255 0.721162855625 +vn -0.268343746662 -0.638682842255 0.721162855625 +vn 0.291242122650 -0.640502154827 0.710587799549 +vn 0.150246888399 -0.894174337387 0.421756029129 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.673261463642 0.576191544533 -0.463381379843 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn -0.453665226698 0.661064624786 -0.597646594048 +vn -0.713754475117 0.560689210892 -0.419740587473 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn -0.453665226698 0.661064624786 -0.597646594048 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn -0.217604145408 0.731005907059 -0.646744787693 +vn -0.176629319787 0.697645485401 -0.694329082966 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.668538451195 -0.460031986237 0.584317445755 +vn -0.604831039906 0.008647575043 0.796306848526 +vn -0.604831039906 0.008647575043 0.796306848526 +vn -0.740443646908 0.314420253038 0.594039678574 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.740443646908 0.314420253038 0.594039678574 +vn -0.668778121471 0.668187499046 0.325977385044 +vn -0.668778121471 0.668187499046 0.325977385044 +vn -0.797018706799 0.597555816174 -0.087682552636 +vn -0.948703587055 0.192561715841 0.250761777163 +vn -0.740443646908 0.314420253038 0.594039678574 +vn -0.604831039906 0.008647575043 0.796306848526 +vn -0.492510139942 -0.097670763731 0.864808738232 +vn -0.492510139942 -0.097670763731 0.864808738232 +vn -0.631175696850 0.324559658766 0.704470157623 +vn -0.740443646908 0.314420253038 0.594039678574 +vn -0.740443646908 0.314420253038 0.594039678574 +vn -0.631175696850 0.324559658766 0.704470157623 +vn -0.576677322388 0.648915290833 0.496338844299 +vn -0.576677322388 0.648915290833 0.496338844299 +vn -0.668778121471 0.668187499046 0.325977385044 +vn -0.740443646908 0.314420253038 0.594039678574 +vn -0.431219965219 0.861944854259 0.266646653414 +vn -0.576677322388 0.648915290833 0.496338844299 +vn -0.182598531246 0.715381562710 0.674453139305 +vn -0.182598531246 0.715381562710 0.674453139305 +vn -0.109330229461 0.941514909267 0.318742185831 +vn -0.431219965219 0.861944854259 0.266646653414 +vn -0.576677322388 0.648915290833 0.496338844299 +vn -0.431219965219 0.861944854259 0.266646653414 +vn -0.524120569229 0.848639190197 0.071478672326 +vn -0.524120569229 0.848639190197 0.071478672326 +vn -0.668778121471 0.668187499046 0.325977385044 +vn -0.576677322388 0.648915290833 0.496338844299 +vn -0.492510139942 -0.097670763731 0.864808738232 +vn -0.604831039906 0.008647575043 0.796306848526 +vn -0.328510224819 -0.452966272831 0.828795850277 +vn -0.328510224819 -0.452966272831 0.828795850277 +vn -0.279852241278 -0.486823260784 0.827457427979 +vn -0.492510139942 -0.097670763731 0.864808738232 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn -0.571737766266 0.732720911503 -0.369101554155 +vn -0.100757867098 0.856254220009 -0.506632566452 +vn -0.100757867098 0.856254220009 -0.506632566452 +vn -0.217604145408 0.731005907059 -0.646744787693 +vn -0.425220996141 0.709233522415 -0.562294363976 +vn 0.541634559631 -0.827475488186 0.148041695356 +vn 0.584861516953 -0.029748234898 0.810587465763 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.679533302784 -0.730276048183 0.070223495364 +vn 0.541634559631 -0.827475488186 0.148041695356 +vn 0.251433730125 0.644871890545 0.721748828888 +vn 0.381881237030 0.563686668873 0.732409715652 +vn 0.535930573940 0.770952641964 0.344108164310 +vn 0.535930573940 0.770952641964 0.344108164310 +vn 0.327142566442 0.847049534321 0.418909132481 +vn 0.251433730125 0.644871890545 0.721748828888 +vn 0.251433730125 0.644871890545 0.721748828888 +vn 0.327142566442 0.847049534321 0.418909132481 +vn 0.600012421608 0.673197388649 0.432192444801 +vn 0.600012421608 0.673197388649 0.432192444801 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.251433730125 0.644871890545 0.721748828888 +vn 0.381881237030 0.563686668873 0.732409715652 +vn 0.514674782753 0.424443304539 0.744954884052 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.535930573940 0.770952641964 0.344108164310 +vn 0.381881237030 0.563686668873 0.732409715652 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.514674782753 0.424443304539 0.744954884052 +vn 0.608824074268 -0.275057256222 0.744094610214 +vn 0.608824074268 -0.275057256222 0.744094610214 +vn 0.908035099506 -0.210515215993 0.362154066563 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.511419832706 -0.781244933605 0.357919096947 +vn 0.908035099506 -0.210515215993 0.362154066563 +vn 0.908035099506 -0.210515215993 0.362154066563 +vn 0.608824074268 -0.275057256222 0.744094610214 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.608824074268 -0.275057256222 0.744094610214 +vn 0.229931414127 -0.389015793800 0.892075240612 +vn 0.229931414127 -0.389015793800 0.892075240612 +vn 0.232008248568 -0.536629438400 0.811295926571 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.991328895092 -0.113044984639 -0.066991284490 +vn 0.908035099506 -0.210515215993 0.362154066563 +vn 0.511419832706 -0.781244933605 0.357919096947 +vn 0.511419832706 -0.781244933605 0.357919096947 +vn 0.634775996208 -0.760179579258 0.138515204191 +vn 0.991328895092 -0.113044984639 -0.066991284490 +vn 0.288535594940 0.014455531724 0.957360029221 +vn 0.656224668026 -0.205502897501 0.726042509079 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.338420450687 -0.825779497623 0.451176017523 +vn 0.232008248568 -0.536629438400 0.811295926571 +vn 0.288535594940 0.014455531724 0.957360029221 +vn 0.288535594940 0.014455531724 0.957360029221 +vn 0.232008248568 -0.536629438400 0.811295926571 +vn 0.071474067867 -0.435570329428 0.897312641144 +vn 0.071474067867 -0.435570329428 0.897312641144 +vn -0.004625395872 0.025178126991 0.999672293663 +vn 0.288535594940 0.014455531724 0.957360029221 +vn 0.801559090614 0.223377063870 -0.554622173309 +vn 0.811073362827 -0.208045750856 -0.546696424484 +vn 0.734331071377 -0.294317692518 -0.611665785313 +vn 0.734331071377 -0.294317692518 -0.611665785313 +vn 0.788941442966 -0.018234614283 -0.614197731018 +vn 0.801559090614 0.223377063870 -0.554622173309 +vn -0.726929843426 -0.403456211090 0.555694282055 +vn -0.610466539860 -0.416379898787 0.673764348030 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn -0.364636987448 -0.726501166821 0.582439601421 +vn -0.726929843426 -0.403456211090 0.555694282055 +vn -0.726210057735 -0.395518779755 0.562302231789 +vn -0.684462308884 -0.341979593039 0.643864393234 +vn -0.610466539860 -0.416379898787 0.673764348030 +vn -0.610466539860 -0.416379898787 0.673764348030 +vn -0.726929843426 -0.403456211090 0.555694282055 +vn -0.726210057735 -0.395518779755 0.562302231789 +vn -0.726210057735 -0.395518779755 0.562302231789 +vn -0.726929843426 -0.403456211090 0.555694282055 +vn -0.392607510090 -0.288638532162 0.873239457607 +vn -0.392607510090 -0.288638532162 0.873239457607 +vn -0.473556876183 -0.396522194147 0.786456644535 +vn -0.726210057735 -0.395518779755 0.562302231789 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.202762871981 0.044235628098 0.978228211403 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn -0.022242724895 -0.434845775366 0.900230228901 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn 0.363275855780 -0.318919390440 0.875397682190 +vn 0.639154016972 -0.695473492146 0.328327208757 +vn 0.639154016972 -0.695473492146 0.328327208757 +vn 0.560032069683 -0.786853432655 0.259279340506 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn 0.560032069683 -0.786853432655 0.259279340506 +vn 0.554771304131 -0.800131857395 0.228074103594 +vn 0.554771304131 -0.800131857395 0.228074103594 +vn 0.322791486979 -0.675322711468 0.663132667542 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn 0.590239226818 -0.761261343956 0.268512219191 +vn 0.526070177555 -0.834664642811 0.163049384952 +vn 0.056576341391 -0.826324164867 0.560345888138 +vn 0.056576341391 -0.826324164867 0.560345888138 +vn -0.081477582455 -0.860848963261 0.502295136452 +vn 0.590239226818 -0.761261343956 0.268512219191 +vn 0.590239226818 -0.761261343956 0.268512219191 +vn -0.081477582455 -0.860848963261 0.502295136452 +vn -0.071950569749 -0.950316131115 0.302857011557 +vn -0.071950569749 -0.950316131115 0.302857011557 +vn 0.591515541077 -0.752557575703 0.289424389601 +vn 0.590239226818 -0.761261343956 0.268512219191 +vn 0.056576341391 -0.826324164867 0.560345888138 +vn 0.526070177555 -0.834664642811 0.163049384952 +vn 0.563823878765 -0.815900862217 0.128095164895 +vn 0.563823878765 -0.815900862217 0.128095164895 +vn 0.104877673090 -0.737829804420 0.666789233685 +vn 0.056576341391 -0.826324164867 0.560345888138 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn -0.336106806993 -0.668615162373 0.663314402103 +vn 0.056576341391 -0.826324164867 0.560345888138 +vn 0.056576341391 -0.826324164867 0.560345888138 +vn 0.104877673090 -0.737829804420 0.666789233685 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn 0.104877673090 -0.737829804420 0.666789233685 +vn 0.261660903692 -0.444394350052 0.856765568256 +vn 0.261660903692 -0.444394350052 0.856765568256 +vn 0.182218909264 -0.496878981590 0.848473668098 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn 0.182218909264 -0.496878981590 0.848473668098 +vn 0.261660903692 -0.444394350052 0.856765568256 +vn 0.363275855780 -0.318919390440 0.875397682190 +vn 0.363275855780 -0.318919390440 0.875397682190 +vn 0.281917303801 -0.331665396690 0.900289237499 +vn 0.182218909264 -0.496878981590 0.848473668098 +vn 0.261660903692 -0.444394350052 0.856765568256 +vn 0.104877673090 -0.737829804420 0.666789233685 +vn 0.563823878765 -0.815900862217 0.128095164895 +vn 0.563823878765 -0.815900862217 0.128095164895 +vn 0.653912723064 -0.623547196388 0.428470611572 +vn 0.261660903692 -0.444394350052 0.856765568256 +vn 0.261660903692 -0.444394350052 0.856765568256 +vn 0.653912723064 -0.623547196388 0.428470611572 +vn 0.639154016972 -0.695473492146 0.328327208757 +vn 0.639154016972 -0.695473492146 0.328327208757 +vn 0.363275855780 -0.318919390440 0.875397682190 +vn 0.261660903692 -0.444394350052 0.856765568256 +vn 0.539303719997 -0.757244586945 0.368418484926 +vn 0.536898553371 -0.759433269501 0.367424845695 +vn 0.476696014404 -0.850157141685 0.223592743278 +vn 0.476696014404 -0.850157141685 0.223592743278 +vn 0.564531207085 -0.810247540474 0.157491043210 +vn 0.539303719997 -0.757244586945 0.368418484926 +vn 0.539303719997 -0.757244586945 0.368418484926 +vn 0.564531207085 -0.810247540474 0.157491043210 +vn 0.627686858177 -0.765295922756 0.142588213086 +vn 0.627686858177 -0.765295922756 0.142588213086 +vn 0.554613232613 -0.706817686558 0.439104676247 +vn 0.539303719997 -0.757244586945 0.368418484926 +vn 0.476696014404 -0.850157141685 0.223592743278 +vn -0.119740322232 -0.991864562035 0.043207794428 +vn -0.048961449414 -0.929446697235 -0.365693271160 +vn 0.476696014404 -0.850157141685 0.223592743278 +vn -0.048961449414 -0.929446697235 -0.365693271160 +vn 0.279040306807 -0.729090750217 -0.624950528145 +vn 0.279040306807 -0.729090750217 -0.624950528145 +vn 0.564531207085 -0.810247540474 0.157491043210 +vn 0.476696014404 -0.850157141685 0.223592743278 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.140470072627 0.209249109030 -0.967720508575 +vn 0.171955436468 0.529781341553 -0.830519735813 +vn 0.171955436468 0.529781341553 -0.830519735813 +vn 0.568980515003 0.064607515931 -0.819809138775 +vn 0.514849841595 0.027653733268 -0.856834232807 +vn 0.525851249695 -0.848270535469 -0.062589950860 +vn 0.729452431202 -0.625799298286 0.276178151369 +vn 0.624742865562 -0.651130437851 0.430958807468 +vn 0.624742865562 -0.651130437851 0.430958807468 +vn 0.352315664291 -0.931752741337 0.087809689343 +vn 0.525851249695 -0.848270535469 -0.062589950860 +vn 0.171955436468 0.529781341553 -0.830519735813 +vn 0.176694035530 0.500781595707 -0.847347021103 +vn 0.521646261215 0.109020903707 -0.846167623997 +vn 0.521646261215 0.109020903707 -0.846167623997 +vn 0.568980515003 0.064607515931 -0.819809138775 +vn 0.171955436468 0.529781341553 -0.830519735813 +vn 0.340282380581 -0.382701039314 0.858922481537 +vn 0.363941878080 0.109785512090 0.924928903580 +vn -0.039725661278 -0.290360718966 0.956092298031 +vn -0.039725661278 -0.290360718966 0.956092298031 +vn 0.324504107237 -0.427837014198 0.843595027924 +vn 0.340282380581 -0.382701039314 0.858922481537 +vn 0.240792527795 -0.970571935177 -0.003004235681 +vn 0.364101141691 -0.929735064507 0.054982718080 +vn 0.752022862434 -0.514463245869 -0.412054896355 +vn 0.752022862434 -0.514463245869 -0.412054896355 +vn 0.559680283070 -0.749737679958 -0.353060066700 +vn 0.240792527795 -0.970571935177 -0.003004235681 +vn 0.163060486317 -0.384637802839 -0.908551037312 +vn -0.074265211821 -0.373613417149 -0.924606800079 +vn 0.054847415537 -0.026922827587 -0.998131692410 +vn 0.054847415537 -0.026922827587 -0.998131692410 +vn 0.407061606646 0.429488331079 -0.806126892567 +vn 0.163060486317 -0.384637802839 -0.908551037312 +vn 0.308949559927 0.079883605242 -0.947717666626 +vn 0.403615891933 -0.100003473461 -0.909446835518 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.827641427517 -0.113630585372 -0.549634158611 +vn 0.754061222076 0.027538735420 -0.656226575375 +vn 0.308949559927 0.079883605242 -0.947717666626 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.079553619027 -0.875217258930 -0.477143585682 +vn -0.057935588062 -0.779576897621 -0.623621106148 +vn -0.057935588062 -0.779576897621 -0.623621106148 +vn 0.223080739379 -0.690481960773 -0.688091278076 +vn 0.363940000534 -0.870755136013 -0.330655604601 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn 0.730692684650 -0.553247034550 -0.400007367134 +vn 0.855401635170 -0.481659621000 -0.190504774451 +vn 0.855401635170 -0.481659621000 -0.190504774451 +vn 0.837370514870 -0.543764710426 -0.055951450020 +vn 0.668449163437 -0.649779140949 -0.361887782812 +vn -0.760393679142 0.343544006348 -0.551161468029 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn -0.892418026924 -0.216831088066 -0.395694732666 +vn -0.892418026924 -0.216831088066 -0.395694732666 +vn -0.903918921947 0.398155480623 -0.156213954091 +vn -0.760393679142 0.343544006348 -0.551161468029 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn -0.900035083294 -0.384015738964 -0.206079438329 +vn -0.738621592522 -0.423740774393 -0.524291872978 +vn -0.738621592522 -0.423740774393 -0.524291872978 +vn -0.892418026924 -0.216831088066 -0.395694732666 +vn -0.878178358078 -0.175636082888 -0.444921076298 +vn 0.472686260939 -0.862592041492 -0.180284857750 +vn 0.222291097045 -0.811474919319 0.540458202362 +vn -0.426152616739 -0.798374474049 0.425431698561 +vn -0.426152616739 -0.798374474049 0.425431698561 +vn -0.242103204131 -0.685089111328 -0.687050879002 +vn 0.472686260939 -0.862592041492 -0.180284857750 +vn -0.628692030907 0.732832312584 -0.260198384523 +vn -0.645085215569 0.203440889716 0.736530244350 +vn -0.672420799732 0.229601070285 0.703657329082 +vn -0.672420799732 0.229601070285 0.703657329082 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn -0.628692030907 0.732832312584 -0.260198384523 +vn -0.132732585073 0.987605988979 -0.083764702082 +vn 0.079247862101 0.969927549362 -0.230131030083 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.203795030713 0.978946566582 -0.011453438550 +vn -0.132732585073 0.987605988979 -0.083764702082 +vn 0.327142566442 0.847049534321 0.418909132481 +vn 0.203795030713 0.978946566582 -0.011453438550 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.600012421608 0.673197388649 0.432192444801 +vn 0.327142566442 0.847049534321 0.418909132481 +vn -0.625582337379 -0.136659100652 0.768095731735 +vn -0.555045068264 -0.208258599043 0.805328071117 +vn -0.053172789514 -0.616151213646 0.785830974579 +vn -0.053172789514 -0.616151213646 0.785830974579 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.625582337379 -0.136659100652 0.768095731735 +vn -0.640274345875 -0.423490315676 0.640862464905 +vn -0.385458141565 -0.653668999672 0.651259422302 +vn -0.534343063831 -0.704809904099 0.466605246067 +vn -0.640274345875 -0.423490315676 0.640862464905 +vn -0.534343063831 -0.704809904099 0.466605246067 +vn -0.253314435482 -0.451992571354 0.855297923088 +vn -0.253314435482 -0.451992571354 0.855297923088 +vn -0.727658629417 -0.171462669969 0.664163768291 +vn -0.640274345875 -0.423490315676 0.640862464905 +vn -0.640274345875 -0.423490315676 0.640862464905 +vn -0.757091164589 -0.360904663801 0.544573962688 +vn -0.657310307026 -0.511882245541 0.553100109100 +vn -0.657310307026 -0.511882245541 0.553100109100 +vn -0.385458141565 -0.653668999672 0.651259422302 +vn -0.640274345875 -0.423490315676 0.640862464905 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn -0.349309086800 -0.879998743534 0.321846753359 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn 0.222196698189 -0.942532956600 0.249520063400 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn 0.222196698189 -0.942532956600 0.249520063400 +vn 0.213522091508 -0.907311439514 0.362207502127 +vn 0.213522091508 -0.907311439514 0.362207502127 +vn -0.473156034946 -0.648721933365 0.596056401730 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn -0.473156034946 -0.648721933365 0.596056401730 +vn 0.213522091508 -0.907311439514 0.362207502127 +vn 0.303534507751 -0.735307157040 0.605962216854 +vn 0.303534507751 -0.735307157040 0.605962216854 +vn -0.374189198017 -0.555483102798 0.742577254772 +vn -0.473156034946 -0.648721933365 0.596056401730 +vn -0.374189198017 -0.555483102798 0.742577254772 +vn -0.492519497871 -0.088171571493 0.865823507309 +vn -0.591782271862 -0.301380485296 0.747638642788 +vn -0.591782271862 -0.301380485296 0.747638642788 +vn -0.473156034946 -0.648721933365 0.596056401730 +vn -0.374189198017 -0.555483102798 0.742577254772 +vn -0.374189198017 -0.555483102798 0.742577254772 +vn -0.306055247784 -0.144851490855 0.940929472446 +vn -0.354700446129 0.034820698202 0.934331357479 +vn -0.354700446129 0.034820698202 0.934331357479 +vn -0.492519497871 -0.088171571493 0.865823507309 +vn -0.374189198017 -0.555483102798 0.742577254772 +vn 0.213522091508 -0.907311439514 0.362207502127 +vn 0.222196698189 -0.942532956600 0.249520063400 +vn 0.742680370808 -0.634518027306 0.214039161801 +vn 0.742680370808 -0.634518027306 0.214039161801 +vn 0.714853286743 -0.650683462620 0.256116777658 +vn 0.213522091508 -0.907311439514 0.362207502127 +vn 0.213522091508 -0.907311439514 0.362207502127 +vn 0.714853286743 -0.650683462620 0.256116777658 +vn 0.659638285637 -0.392307132483 0.641071319580 +vn 0.659638285637 -0.392307132483 0.641071319580 +vn 0.303534507751 -0.735307157040 0.605962216854 +vn 0.213522091508 -0.907311439514 0.362207502127 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.349309086800 -0.879998743534 0.321846753359 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn -0.320037037134 -0.884738564491 0.338842153549 +vn -0.573730945587 -0.763768911362 0.295786827803 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.878214716911 -0.449576526880 0.163155734539 +vn -0.819547474384 -0.149944037199 0.553044915199 +vn -0.819547474384 -0.149944037199 0.553044915199 +vn -0.725175499916 -0.509295403957 0.463399112225 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.725175499916 -0.509295403957 0.463399112225 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.349309086800 -0.879998743534 0.321846753359 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.814631104469 -0.517790317535 0.261284053326 +vn -0.878214716911 -0.449576526880 0.163155734539 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.661074161530 -0.704808950424 0.257342725992 +vn -0.573730945587 -0.763768911362 0.295786827803 +vn -0.814631104469 -0.517790317535 0.261284053326 +vn -0.892477273941 -0.404392063618 0.199878498912 +vn -0.878214716911 -0.449576526880 0.163155734539 +vn -0.814631104469 -0.517790317535 0.261284053326 +vn -0.814631104469 -0.517790317535 0.261284053326 +vn -0.987259328365 -0.150906518102 0.050460640341 +vn -0.892477273941 -0.404392063618 0.199878498912 +vn -0.987259328365 -0.150906518102 0.050460640341 +vn -0.814631104469 -0.517790317535 0.261284053326 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.985003590584 -0.159312814474 0.066237233579 +vn -0.987259328365 -0.150906518102 0.050460640341 +vn -0.985003590584 -0.159312814474 0.066237233579 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.860423803329 -0.202527076006 0.467604160309 +vn -0.860423803329 -0.202527076006 0.467604160309 +vn -0.878785669804 -0.475048571825 0.045437283814 +vn -0.985003590584 -0.159312814474 0.066237233579 +vn -0.684804737568 -0.664337873459 0.299495548010 +vn -0.540508806705 -0.812121748924 0.219791963696 +vn -0.878785669804 -0.475048571825 0.045437283814 +vn -0.878785669804 -0.475048571825 0.045437283814 +vn -0.860423803329 -0.202527076006 0.467604160309 +vn -0.684804737568 -0.664337873459 0.299495548010 +vn -0.540508806705 -0.812121748924 0.219791963696 +vn -0.684804737568 -0.664337873459 0.299495548010 +vn -0.459269702435 -0.773269057274 0.437179893255 +vn -0.459269702435 -0.773269057274 0.437179893255 +vn -0.585892200470 -0.686456024647 0.430706888437 +vn -0.540508806705 -0.812121748924 0.219791963696 +vn -0.585892200470 -0.686456024647 0.430706888437 +vn -0.459269702435 -0.773269057274 0.437179893255 +vn -0.234294578433 -0.665710151196 0.708474457264 +vn -0.234294578433 -0.665710151196 0.708474457264 +vn -0.480690151453 -0.740491211414 0.469691097736 +vn -0.585892200470 -0.686456024647 0.430706888437 +vn -0.480690151453 -0.740491211414 0.469691097736 +vn -0.234294578433 -0.665710151196 0.708474457264 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.562911212444 -0.417130827904 0.713535487652 +vn -0.480690151453 -0.740491211414 0.469691097736 +vn -0.767110168934 -0.116551913321 0.630838811398 +vn -0.562911212444 -0.417130827904 0.713535487652 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.608457267284 0.157792612910 0.777741134167 +vn -0.767110168934 -0.116551913321 0.630838811398 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.234294578433 -0.665710151196 0.708474457264 +vn -0.358048766851 -0.624385535717 0.694221735001 +vn -0.358048766851 -0.624385535717 0.694221735001 +vn -0.518619835377 -0.150040104985 0.841737151146 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.518619835377 -0.150040104985 0.841737151146 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.608457267284 0.157792612910 0.777741134167 +vn -0.351726382971 -0.147820845246 0.924357891083 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.577446520329 -0.303569018841 0.757892727852 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.418743818998 -0.453809380531 0.786581635475 +vn -0.725175499916 -0.509295403957 0.463399112225 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.725175499916 -0.509295403957 0.463399112225 +vn -0.819547474384 -0.149944037199 0.553044915199 +vn -0.819547474384 -0.149944037199 0.553044915199 +vn -0.608457267284 0.157792612910 0.777741134167 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.518619835377 -0.150040104985 0.841737151146 +vn -0.675307810307 -0.183331325650 0.714387118816 +vn -0.675307810307 -0.183331325650 0.714387118816 +vn -0.577446520329 -0.303569018841 0.757892727852 +vn -0.677911162376 -0.171685174108 0.714815080166 +vn -0.608457267284 0.157792612910 0.777741134167 +vn -0.819547474384 -0.149944037199 0.553044915199 +vn -0.894161939621 -0.087291687727 0.439152121544 +vn -0.894161939621 -0.087291687727 0.439152121544 +vn -0.767110168934 -0.116551913321 0.630838811398 +vn -0.608457267284 0.157792612910 0.777741134167 +vn -0.234294578433 -0.665710151196 0.708474457264 +vn -0.459269702435 -0.773269057274 0.437179893255 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.358048766851 -0.624385535717 0.694221735001 +vn -0.234294578433 -0.665710151196 0.708474457264 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.459269702435 -0.773269057274 0.437179893255 +vn -0.684804737568 -0.664337873459 0.299495548010 +vn -0.684804737568 -0.664337873459 0.299495548010 +vn -0.798626184464 -0.023845696822 0.601354777813 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.798626184464 -0.023845696822 0.601354777813 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.856631577015 0.492435991764 0.153912588954 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.856631577015 0.492435991764 0.153912588954 +vn -0.914469540119 -0.242004066706 0.324313849211 +vn -0.914469540119 -0.242004066706 0.324313849211 +vn -0.358048766851 -0.624385535717 0.694221735001 +vn -0.906540632248 -0.160127803683 0.390567809343 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.798626184464 -0.023845696822 0.601354777813 +vn -0.684804737568 -0.664337873459 0.299495548010 +vn -0.684804737568 -0.664337873459 0.299495548010 +vn -0.860423803329 -0.202527076006 0.467604160309 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.798626184464 -0.023845696822 0.601354777813 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.461953103542 0.098662018776 0.881399512291 +vn -0.746172189713 0.359903126955 0.560086369514 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.860423803329 -0.202527076006 0.467604160309 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.809427082539 -0.343396574259 0.476347148418 +vn -0.591782271862 -0.301380485296 0.747638642788 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.591782271862 -0.301380485296 0.747638642788 +vn -0.492519497871 -0.088171571493 0.865823507309 +vn -0.492519497871 -0.088171571493 0.865823507309 +vn -0.461953103542 0.098662018776 0.881399512291 +vn -0.616403996944 -0.046978741884 0.786027431488 +vn -0.892477273941 -0.404392063618 0.199878498912 +vn -0.894161939621 -0.087291687727 0.439152121544 +vn -0.819547474384 -0.149944037199 0.553044915199 +vn -0.819547474384 -0.149944037199 0.553044915199 +vn -0.878214716911 -0.449576526880 0.163155734539 +vn -0.892477273941 -0.404392063618 0.199878498912 +vn -0.636181175709 -0.112482629716 0.763296246529 +vn -0.550928473473 -0.090877428651 0.829589724541 +vn -0.577446520329 -0.303569018841 0.757892727852 +vn -0.577446520329 -0.303569018841 0.757892727852 +vn -0.675307810307 -0.183331325650 0.714387118816 +vn -0.636181175709 -0.112482629716 0.763296246529 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.748724162579 0.597042918205 -0.288013637066 +vn 0.987493872643 -0.002295108046 -0.157640531659 +vn 0.987493872643 -0.002295108046 -0.157640531659 +vn 0.600012421608 0.673197388649 0.432192444801 +vn 0.307974070311 0.947956979275 -0.080805882812 +vn 0.392328858376 -0.721172392368 0.570953965187 +vn -0.086682282388 -0.655554294586 0.750156462193 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn 0.182218909264 -0.496878981590 0.848473668098 +vn 0.392328858376 -0.721172392368 0.570953965187 +vn 0.679533302784 -0.730276048183 0.070223495364 +vn 0.643597602844 -0.741183161736 -0.190865457058 +vn 0.447879314423 -0.893079757690 0.042575549334 +vn 0.447879314423 -0.893079757690 0.042575549334 +vn 0.541634559631 -0.827475488186 0.148041695356 +vn 0.679533302784 -0.730276048183 0.070223495364 +vn 0.767445862293 -0.639363825321 -0.047336645424 +vn 0.643597602844 -0.741183161736 -0.190865457058 +vn 0.858834862709 -0.343651831150 -0.379876434803 +vn 0.858834862709 -0.343651831150 -0.379876434803 +vn 0.943861186504 -0.260932624340 -0.202583923936 +vn 0.767445862293 -0.639363825321 -0.047336645424 +vn 0.275597184896 -0.961144804955 0.015710320324 +vn 0.447879314423 -0.893079757690 0.042575549334 +vn 0.643597602844 -0.741183161736 -0.190865457058 +vn 0.643597602844 -0.741183161736 -0.190865457058 +vn 0.767445862293 -0.639363825321 -0.047336645424 +vn 0.275597184896 -0.961144804955 0.015710320324 +vn 0.767445862293 -0.639363825321 -0.047336645424 +vn 0.943861186504 -0.260932624340 -0.202583923936 +vn 0.816324055195 0.200977146626 0.541500926018 +vn 0.816324055195 0.200977146626 0.541500926018 +vn 0.764400541782 -0.041232846677 0.643421828747 +vn 0.767445862293 -0.639363825321 -0.047336645424 +vn 0.767445862293 -0.639363825321 -0.047336645424 +vn 0.764400541782 -0.041232846677 0.643421828747 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.275597184896 -0.961144804955 0.015710320324 +vn 0.767445862293 -0.639363825321 -0.047336645424 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.764400541782 -0.041232846677 0.643421828747 +vn 0.378446906805 0.448631554842 0.809634268284 +vn 0.378446906805 0.448631554842 0.809634268284 +vn 0.509310722351 0.129563525319 0.850773692131 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.509310722351 0.129563525319 0.850773692131 +vn 0.391355395317 0.211594060063 0.895582973957 +vn 0.391355395317 0.211594060063 0.895582973957 +vn 0.246345400810 -0.477399200201 0.843447685242 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.246345400810 -0.477399200201 0.843447685242 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn 0.275597184896 -0.961144804955 0.015710320324 +vn 0.491151094437 -0.666431069374 0.560927987099 +vn 0.391355395317 0.211594060063 0.895582973957 +vn 0.373320966959 0.424053817987 0.825111985207 +vn -0.100082904100 -0.121986940503 0.987472832203 +vn -0.100082904100 -0.121986940503 0.987472832203 +vn 0.246345400810 -0.477399200201 0.843447685242 +vn 0.391355395317 0.211594060063 0.895582973957 +vn 0.378446906805 0.448631554842 0.809634268284 +vn 0.764400541782 -0.041232846677 0.643421828747 +vn 0.816324055195 0.200977146626 0.541500926018 +vn 0.816324055195 0.200977146626 0.541500926018 +vn 0.535769343376 0.346915453672 0.769805729389 +vn 0.378446906805 0.448631554842 0.809634268284 +vn -0.149849325418 -0.801799178123 0.578500866890 +vn -0.087227329612 -0.761248648167 0.642566621304 +vn -0.279852241278 -0.486823260784 0.827457427979 +vn -0.279852241278 -0.486823260784 0.827457427979 +vn -0.328510224819 -0.452966272831 0.828795850277 +vn -0.149849325418 -0.801799178123 0.578500866890 +vn -0.109330229461 0.941514909267 0.318742185831 +vn -0.182598531246 0.715381562710 0.674453139305 +vn 0.485629320145 0.230432748795 0.843246638775 +vn 0.485629320145 0.230432748795 0.843246638775 +vn 0.421047270298 0.334669202566 0.843039572239 +vn -0.109330229461 0.941514909267 0.318742185831 +vn 0.421047270298 0.334669202566 0.843039572239 +vn 0.485629320145 0.230432748795 0.843246638775 +vn 0.573140323162 0.155218109488 0.804622590542 +vn 0.573140323162 0.155218109488 0.804622590542 +vn 0.395421296358 0.146563902497 0.906730949879 +vn 0.421047270298 0.334669202566 0.843039572239 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn 0.453291714191 -0.478627860546 0.751958787441 +vn 0.281917303801 -0.331665396690 0.900289237499 +vn -0.086682282388 -0.655554294586 0.750156462193 +vn -0.371392548084 -0.273312330246 0.887337565422 +vn -0.337292581797 -0.545221269131 0.767442166805 +vn -0.337292581797 -0.545221269131 0.767442166805 +vn -0.162412509322 -0.601992547512 0.781810164452 +vn -0.086682282388 -0.655554294586 0.750156462193 +vn -0.039725661278 -0.290360718966 0.956092298031 +vn -0.332097560167 0.081697568297 0.939700365067 +vn -0.400463789701 -0.304052025080 0.864396393299 +vn -0.400463789701 -0.304052025080 0.864396393299 +vn -0.225902393460 -0.420675784349 0.878635287285 +vn -0.039725661278 -0.290360718966 0.956092298031 +vn 0.737706422806 0.663348376751 -0.125531315804 +vn 0.724548757076 0.585632026196 -0.363406389952 +vn 0.878466308117 0.353272229433 0.321707457304 +vn 0.878466308117 0.353272229433 0.321707457304 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.737706422806 0.663348376751 -0.125531315804 +vn -0.709319472313 -0.529251933098 0.465573132038 +vn -0.757091164589 -0.360904663801 0.544573962688 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.816449046135 -0.409892588854 0.406692773104 +vn -0.709319472313 -0.529251933098 0.465573132038 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.053172789514 -0.616151213646 0.785830974579 +vn -0.249192371964 -0.776740670204 0.578426361084 +vn -0.249192371964 -0.776740670204 0.578426361084 +vn -0.816449046135 -0.409892588854 0.406692773104 +vn -0.464463710785 -0.464943259954 0.753724873066 +vn -0.249192371964 -0.776740670204 0.578426361084 +vn -0.601008892059 -0.672716557980 0.431556135416 +vn -0.709319472313 -0.529251933098 0.465573132038 +vn -0.709319472313 -0.529251933098 0.465573132038 +vn -0.816449046135 -0.409892588854 0.406692773104 +vn -0.249192371964 -0.776740670204 0.578426361084 +vn 0.754061222076 0.027538735420 -0.656226575375 +vn 0.855401635170 -0.481659621000 -0.190504774451 +vn 0.730692684650 -0.553247034550 -0.400007367134 +vn 0.730692684650 -0.553247034550 -0.400007367134 +vn 0.308949559927 0.079883605242 -0.947717666626 +vn 0.754061222076 0.027538735420 -0.656226575375 +vn 0.730692684650 -0.553247034550 -0.400007367134 +vn 0.407061606646 0.429488331079 -0.806126892567 +vn 0.054847415537 -0.026922827587 -0.998131692410 +vn 0.054847415537 -0.026922827587 -0.998131692410 +vn 0.308949559927 0.079883605242 -0.947717666626 +vn 0.730692684650 -0.553247034550 -0.400007367134 +vn -0.346841216087 -0.535551905632 0.769990444183 +vn -0.022242724895 -0.434845775366 0.900230228901 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn -0.392607510090 -0.288638532162 0.873239457607 +vn -0.346841216087 -0.535551905632 0.769990444183 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn -0.473556876183 -0.396522194147 0.786456644535 +vn -0.392607510090 -0.288638532162 0.873239457607 +vn -0.336106806993 -0.668615162373 0.663314402103 +vn -0.504324793816 -0.689210057259 0.520236492157 +vn -0.081477582455 -0.860848963261 0.502295136452 +vn -0.081477582455 -0.860848963261 0.502295136452 +vn 0.056576341391 -0.826324164867 0.560345888138 +vn -0.336106806993 -0.668615162373 0.663314402103 +vn 0.078508637846 -0.052543114871 0.995527803898 +vn 0.196567177773 -0.151929289103 0.968647956848 +vn 0.281917303801 -0.331665396690 0.900289237499 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn 0.078508637846 -0.052543114871 0.995527803898 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn 0.436046063900 -0.577629566193 0.690078198910 +vn 0.322791486979 -0.675322711468 0.663132667542 +vn 0.032026510686 -0.155209660530 0.987362265587 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn 0.222196698189 -0.942532956600 0.249520063400 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn 0.011259951629 -0.915645122528 0.401829808950 +vn -0.364636987448 -0.726501166821 0.582439601421 +vn -0.034457810223 -0.800295412540 0.598614990711 +vn 0.893638670444 0.390344947577 -0.221451431513 +vn 0.737706422806 0.663348376751 -0.125531315804 +vn 0.789966821671 0.530356287956 0.307692408562 +vn 0.506033003330 0.457370489836 0.731261134148 +vn 0.303327411413 0.940892398357 0.150711387396 +vn 0.878466308117 0.353272229433 0.321707457304 +vn 0.878466308117 0.353272229433 0.321707457304 +vn 0.564451873302 -0.211039349437 0.798032879829 +vn 0.506033003330 0.457370489836 0.731261134148 +vn 0.373320966959 0.424053817987 0.825111985207 +vn 0.391355395317 0.211594060063 0.895582973957 +vn 0.573140323162 0.155218109488 0.804622590542 +vn 0.573140323162 0.155218109488 0.804622590542 +vn 0.283379137516 0.492464959621 0.822906136513 +vn 0.373320966959 0.424053817987 0.825111985207 +vn 0.535769343376 0.346915453672 0.769805729389 +vn 0.820009887218 0.179416894913 0.543501019478 +vn 0.640595257282 0.556611776352 0.528981089592 +vn 0.391355395317 0.211594060063 0.895582973957 +vn 0.509310722351 0.129563525319 0.850773692131 +vn 0.395421296358 0.146563902497 0.906730949879 +vn 0.395421296358 0.146563902497 0.906730949879 +vn 0.573140323162 0.155218109488 0.804622590542 +vn 0.391355395317 0.211594060063 0.895582973957 +vn 0.378446906805 0.448631554842 0.809634268284 +vn 0.305486649275 0.190570458770 0.932931303978 +vn 0.395421296358 0.146563902497 0.906730949879 +vn 0.395421296358 0.146563902497 0.906730949879 +vn 0.509310722351 0.129563525319 0.850773692131 +vn 0.378446906805 0.448631554842 0.809634268284 +vn 0.535769343376 0.346915453672 0.769805729389 +vn 0.640595257282 0.556611776352 0.528981089592 +vn 0.305486649275 0.190570458770 0.932931303978 +vn 0.305486649275 0.190570458770 0.932931303978 +vn 0.378446906805 0.448631554842 0.809634268284 +vn 0.535769343376 0.346915453672 0.769805729389 +vn 0.737881243229 0.138341784477 0.660600364208 +vn 0.600012421608 0.673197388649 0.432192444801 +vn 0.987493872643 -0.002295108046 -0.157640531659 +vn 0.882139682770 0.021659230813 -0.470489531755 +vn 0.875085175037 0.284960567951 -0.391182065010 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.894703328609 -0.337323635817 -0.292777568102 +vn 0.987493872643 -0.002295108046 -0.157640531659 +vn 0.882139682770 0.021659230813 -0.470489531755 +vn 0.030576495454 -0.849807500839 0.526205539703 +vn 0.246345400810 -0.477399200201 0.843447685242 +vn -0.100082904100 -0.121986940503 0.987472832203 +vn -0.544381499290 -0.683503627777 -0.486283451319 +vn -0.765195369720 -0.226806268096 -0.602523803711 +vn -0.626230418682 -0.102859854698 -0.772822916508 +vn -0.626230418682 -0.102859854698 -0.772822916508 +vn -0.433612197638 -0.211576133966 -0.875908672810 +vn -0.544381499290 -0.683503627777 -0.486283451319 +vn -0.008919883519 -0.227142065763 -0.973820805550 +vn 0.512817382813 -0.279925793409 -0.811578631401 +vn 0.195846781135 -0.780589878559 -0.593568444252 +vn 0.195846781135 -0.780589878559 -0.593568444252 +vn -0.074802413583 -0.821258544922 -0.565631449223 +vn -0.114821292460 -0.062603108585 -0.991411566734 +vn -0.114821292460 -0.062603108585 -0.991411566734 +vn -0.008919883519 -0.227142065763 -0.973820805550 +vn 0.195846781135 -0.780589878559 -0.593568444252 +vn -0.074802413583 -0.821258544922 -0.565631449223 +vn -0.544381499290 -0.683503627777 -0.486283451319 +vn -0.433612197638 -0.211576133966 -0.875908672810 +vn -0.433612197638 -0.211576133966 -0.875908672810 +vn -0.114821292460 -0.062603108585 -0.991411566734 +vn -0.074802413583 -0.821258544922 -0.565631449223 +vn -0.433612197638 -0.211576133966 -0.875908672810 +vn -0.272886395454 -0.223364964128 -0.935756981373 +vn -0.114821292460 -0.062603108585 -0.991411566734 +vn -0.878785669804 -0.475048571825 0.045437283814 +vn -0.540508806705 -0.812121748924 0.219791963696 +vn -0.585892200470 -0.686456024647 0.430706888437 +vn -0.767110168934 -0.116551913321 0.630838811398 +vn -0.585892200470 -0.686456024647 0.430706888437 +vn -0.480690151453 -0.740491211414 0.469691097736 +vn -0.480690151453 -0.740491211414 0.469691097736 +vn -0.562911212444 -0.417130827904 0.713535487652 +vn -0.767110168934 -0.116551913321 0.630838811398 +vn -0.585892200470 -0.686456024647 0.430706888437 +vn -0.767110168934 -0.116551913321 0.630838811398 +vn -0.878785669804 -0.475048571825 0.045437283814 +vn -0.878785669804 -0.475048571825 0.045437283814 +vn -0.767110168934 -0.116551913321 0.630838811398 +vn -0.894161939621 -0.087291687727 0.439152121544 +vn -0.894161939621 -0.087291687727 0.439152121544 +vn -0.985003590584 -0.159312814474 0.066237233579 +vn -0.878785669804 -0.475048571825 0.045437283814 +vn -0.987259328365 -0.150906518102 0.050460640341 +vn -0.985003590584 -0.159312814474 0.066237233579 +vn -0.894161939621 -0.087291687727 0.439152121544 +vn -0.894161939621 -0.087291687727 0.439152121544 +vn -0.892477273941 -0.404392063618 0.199878498912 +vn -0.987259328365 -0.150906518102 0.050460640341 +vn -0.328291893005 -0.713074207306 0.619475305080 +vn -0.253314435482 -0.451992571354 0.855297923088 +vn -0.534343063831 -0.704809904099 0.466605246067 +vn -0.534343063831 -0.704809904099 0.466605246067 +vn -0.557868421078 -0.657093167305 0.506962835789 +vn -0.328291893005 -0.713074207306 0.619475305080 +vn -0.557868421078 -0.657093167305 0.506962835789 +vn -0.262534588575 -0.765424966812 0.587537407875 +vn -0.328291893005 -0.713074207306 0.619475305080 +vn -0.871245801449 0.175334334373 -0.458463281393 +vn -0.738621592522 -0.423740774393 -0.524291872978 +vn -0.900035083294 -0.384015738964 -0.206079438329 +vn -0.900035083294 -0.384015738964 -0.206079438329 +vn -0.988403439522 -0.062521792948 -0.138382419944 +vn -0.871245801449 0.175334334373 -0.458463281393 +vn -0.871245801449 0.175334334373 -0.458463281393 +vn -0.988403439522 -0.062521792948 -0.138382419944 +vn -0.819572389126 0.387809962034 -0.421787351370 +vn -0.819572389126 0.387809962034 -0.421787351370 +vn -0.817677199841 0.405813783407 -0.408312559128 +vn -0.871245801449 0.175334334373 -0.458463281393 +vn -0.817677199841 0.405813783407 -0.408312559128 +vn -0.819572389126 0.387809962034 -0.421787351370 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.750016629696 0.569118261337 -0.337015509605 +vn -0.817677199841 0.405813783407 -0.408312559128 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.750016629696 0.569118261337 -0.337015509605 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.745622813702 0.555361211300 -0.368266910315 +vn -0.666667342186 0.591724395752 -0.453229427338 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.666667342186 0.591724395752 -0.453229427338 +vn -0.941008746624 -0.008539366536 -0.338274419308 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.883379578590 0.453356623650 0.118778400123 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn -0.941008746624 -0.008539366536 -0.338274419308 +vn -0.941008746624 -0.008539366536 -0.338274419308 +vn -0.609977424145 0.596584975719 -0.521549582481 +vn -0.883379578590 0.453356623650 0.118778400123 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn -0.672420799732 0.229601070285 0.703657329082 +vn -0.883379578590 0.453356623650 0.118778400123 +vn -0.883379578590 0.453356623650 0.118778400123 +vn -0.609977424145 0.596584975719 -0.521549582481 +vn -0.374333351851 0.575284957886 -0.727270066738 +vn -0.941008746624 -0.008539366536 -0.338274419308 +vn -0.529323875904 0.631218016148 -0.566903889179 +vn -0.745987057686 0.581899583340 -0.323876738548 +vn -0.666667342186 0.591724395752 -0.453229427338 +vn -0.609977424145 0.596584975719 -0.521549582481 +vn -0.941008746624 -0.008539366536 -0.338274419308 +vn 0.052916388959 -0.905325412750 0.421409189701 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn -0.941008746624 -0.008539366536 -0.338274419308 +vn 0.308463364840 -0.924584686756 -0.223592355847 +vn -0.529323875904 0.631218016148 -0.566903889179 +vn -0.941008746624 -0.008539366536 -0.338274419308 +vn 0.608978867531 -0.271527022123 -0.745263576508 +vn 0.907390177250 -0.009350413457 -0.420185178518 +vn 0.630308449268 -0.241095229983 -0.737959623337 +vn -0.549920439720 0.485596776009 0.679546356201 +vn -0.403516948223 0.547950804234 0.732750952244 +vn -0.372962445021 0.479036808014 0.794621169567 +vn -0.372962445021 0.479036808014 0.794621169567 +vn -0.529933810234 0.358376175165 0.768593966961 +vn -0.549920439720 0.485596776009 0.679546356201 +vn -0.686435878277 0.364511430264 0.629235386848 +vn -0.549920439720 0.485596776009 0.679546356201 +vn -0.529933810234 0.358376175165 0.768593966961 +vn -0.529933810234 0.358376175165 0.768593966961 +vn -0.680543184280 0.249560609460 0.688898026943 +vn -0.686435878277 0.364511430264 0.629235386848 +vn -0.680543184280 0.249560609460 0.688898026943 +vn -0.654366791248 0.047013234347 0.754714429379 +vn -0.779409170151 0.133687332273 0.612085759640 +vn -0.779409170151 0.133687332273 0.612085759640 +vn -0.686435878277 0.364511430264 0.629235386848 +vn -0.680543184280 0.249560609460 0.688898026943 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.482880949974 0.671260416508 0.562348186970 +vn -0.344563275576 0.644585311413 0.682485103607 +vn -0.344563275576 0.644585311413 0.682485103607 +vn -0.386426508427 0.578002810478 0.718740105629 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.279472678900 0.108999013901 0.953946650028 +vn -0.372962445021 0.479036808014 0.794621169567 +vn -0.344563275576 0.644585311413 0.682485103607 +vn -0.344563275576 0.644585311413 0.682485103607 +vn -0.027015432715 0.338717550039 0.940500199795 +vn -0.279472678900 0.108999013901 0.953946650028 +vn -0.553700327873 0.070910565555 0.829691290855 +vn -0.529933810234 0.358376175165 0.768593966961 +vn -0.372962445021 0.479036808014 0.794621169567 +vn -0.372962445021 0.479036808014 0.794621169567 +vn -0.279472678900 0.108999013901 0.953946650028 +vn -0.553700327873 0.070910565555 0.829691290855 +vn -0.769504010677 0.079040892422 0.633731842041 +vn -0.680543184280 0.249560609460 0.688898026943 +vn -0.529933810234 0.358376175165 0.768593966961 +vn -0.529933810234 0.358376175165 0.768593966961 +vn -0.553700327873 0.070910565555 0.829691290855 +vn -0.769504010677 0.079040892422 0.633731842041 +vn -0.677909493446 0.067609973252 0.732029795647 +vn -0.654366791248 0.047013234347 0.754714429379 +vn -0.680543184280 0.249560609460 0.688898026943 +vn -0.680543184280 0.249560609460 0.688898026943 +vn -0.769504010677 0.079040892422 0.633731842041 +vn -0.677909493446 0.067609973252 0.732029795647 +vn -0.344563275576 0.644585311413 0.682485103607 +vn -0.482880949974 0.671260416508 0.562348186970 +vn -0.140696853399 0.584784626961 0.798893809319 +vn -0.140696853399 0.584784626961 0.798893809319 +vn -0.027015432715 0.338717550039 0.940500199795 +vn -0.344563275576 0.644585311413 0.682485103607 +vn -0.614093124866 0.430214881897 0.661668241024 +vn -0.482880949974 0.671260416508 0.562348186970 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.647695779800 0.510680079460 0.565416753292 +vn -0.614093124866 0.430214881897 0.661668241024 +vn -0.410691499710 0.290064156055 0.864404559135 +vn -0.140696853399 0.584784626961 0.798893809319 +vn -0.482880949974 0.671260416508 0.562348186970 +vn -0.482880949974 0.671260416508 0.562348186970 +vn -0.614093124866 0.430214881897 0.661668241024 +vn -0.410691499710 0.290064156055 0.864404559135 +vn -0.364242702723 -0.054625615478 0.929700672626 +vn -0.614093124866 0.430214881897 0.661668241024 +vn -0.647695779800 0.510680079460 0.565416753292 +vn -0.647695779800 0.510680079460 0.565416753292 +vn -0.334695070982 0.126260608435 0.933829486370 +vn -0.364242702723 -0.054625615478 0.929700672626 +vn -0.153125435114 -0.193988814950 0.968979299068 +vn -0.410691499710 0.290064156055 0.864404559135 +vn -0.614093124866 0.430214881897 0.661668241024 +vn -0.614093124866 0.430214881897 0.661668241024 +vn -0.364242702723 -0.054625615478 0.929700672626 +vn -0.153125435114 -0.193988814950 0.968979299068 +vn -0.637862801552 -0.223076045513 0.737135112286 +vn -0.654366791248 0.047013234347 0.754714429379 +vn -0.677909493446 0.067609973252 0.732029795647 +vn -0.677909493446 0.067609973252 0.732029795647 +vn -0.606147646904 -0.230062335730 0.761351704597 +vn -0.637862801552 -0.223076045513 0.737135112286 +vn -0.847423136234 -0.037507932633 0.529591500759 +vn -0.779409170151 0.133687332273 0.612085759640 +vn -0.654366791248 0.047013234347 0.754714429379 +vn -0.654366791248 0.047013234347 0.754714429379 +vn -0.637862801552 -0.223076045513 0.737135112286 +vn -0.847423136234 -0.037507932633 0.529591500759 +vn -0.001566139865 -0.462129712105 0.886810958385 +vn -0.364242702723 -0.054625615478 0.929700672626 +vn -0.334695070982 0.126260608435 0.933829486370 +vn -0.334695070982 0.126260608435 0.933829486370 +vn 0.148399889469 0.002237849403 0.988924920559 +vn -0.001566139865 -0.462129712105 0.886810958385 +vn 0.078862175345 -0.381660461426 0.920932173729 +vn -0.153125435114 -0.193988814950 0.968979299068 +vn -0.364242702723 -0.054625615478 0.929700672626 +vn -0.364242702723 -0.054625615478 0.929700672626 +vn -0.001566139865 -0.462129712105 0.886810958385 +vn 0.078862175345 -0.381660461426 0.920932173729 +vn -0.638392686844 -0.365504652262 0.677392899990 +vn -0.637862801552 -0.223076045513 0.737135112286 +vn -0.606147646904 -0.230062335730 0.761351704597 +vn -0.606147646904 -0.230062335730 0.761351704597 +vn -0.599996566772 -0.402166903019 0.691567718983 +vn -0.638392686844 -0.365504652262 0.677392899990 +vn -0.886623203754 -0.054525546730 0.459267079830 +vn -0.847423136234 -0.037507932633 0.529591500759 +vn -0.637862801552 -0.223076045513 0.737135112286 +vn -0.637862801552 -0.223076045513 0.737135112286 +vn -0.638392686844 -0.365504652262 0.677392899990 +vn -0.886623203754 -0.054525546730 0.459267079830 +vn -0.004930214491 -0.283830404282 0.958861827850 +vn -0.001566139865 -0.462129712105 0.886810958385 +vn 0.148399889469 0.002237849403 0.988924920559 +vn 0.148399889469 0.002237849403 0.988924920559 +vn 0.054863095284 0.347303807735 0.936146438122 +vn -0.004930214491 -0.283830404282 0.958861827850 +vn 0.016504848376 -0.369534045458 0.929070591927 +vn 0.078862175345 -0.381660461426 0.920932173729 +vn -0.001566139865 -0.462129712105 0.886810958385 +vn -0.001566139865 -0.462129712105 0.886810958385 +vn -0.004930214491 -0.283830404282 0.958861827850 +vn 0.016504848376 -0.369534045458 0.929070591927 +vn -0.587673306465 -0.199469223619 0.784125089645 +vn -0.638392686844 -0.365504652262 0.677392899990 +vn -0.599996566772 -0.402166903019 0.691567718983 +vn -0.599996566772 -0.402166903019 0.691567718983 +vn -0.428883343935 -0.397854208946 0.811030864716 +vn -0.587673306465 -0.199469223619 0.784125089645 +vn -0.748294830322 0.242019072175 0.617641985416 +vn -0.886623203754 -0.054525546730 0.459267079830 +vn -0.638392686844 -0.365504652262 0.677392899990 +vn -0.638392686844 -0.365504652262 0.677392899990 +vn -0.587673306465 -0.199469223619 0.784125089645 +vn -0.748294830322 0.242019072175 0.617641985416 +vn -0.246305704117 -0.082893215120 0.965640842915 +vn -0.587673306465 -0.199469223619 0.784125089645 +vn -0.428883343935 -0.397854208946 0.811030864716 +vn -0.428883343935 -0.397854208946 0.811030864716 +vn -0.126013457775 -0.373803198338 0.918907940388 +vn -0.246305704117 -0.082893215120 0.965640842915 +vn -0.291076213121 0.481702655554 0.826581597328 +vn -0.748294830322 0.242019072175 0.617641985416 +vn -0.587673306465 -0.199469223619 0.784125089645 +vn -0.587673306465 -0.199469223619 0.784125089645 +vn -0.246305704117 -0.082893215120 0.965640842915 +vn -0.291076213121 0.481702655554 0.826581597328 +vn -0.004930214491 -0.283830404282 0.958861827850 +vn -0.246305704117 -0.082893215120 0.965640842915 +vn -0.126013457775 -0.373803198338 0.918907940388 +vn -0.126013457775 -0.373803198338 0.918907940388 +vn 0.016504848376 -0.369534045458 0.929070591927 +vn -0.004930214491 -0.283830404282 0.958861827850 +vn 0.054863095284 0.347303807735 0.936146438122 +vn -0.291076213121 0.481702655554 0.826581597328 +vn -0.246305704117 -0.082893215120 0.965640842915 +vn -0.246305704117 -0.082893215120 0.965640842915 +vn -0.004930214491 -0.283830404282 0.958861827850 +vn 0.054863095284 0.347303807735 0.936146438122 +vn -0.386426508427 0.578002810478 0.718740105629 +vn -0.344563275576 0.644585311413 0.682485103607 +vn -0.372962445021 0.479036808014 0.794621169567 +vn -0.372962445021 0.479036808014 0.794621169567 +vn -0.403516948223 0.547950804234 0.732750952244 +vn -0.386426508427 0.578002810478 0.718740105629 +vn -0.549920439720 0.485596776009 0.679546356201 +vn -0.623659551144 0.380152404308 0.683032155037 +vn -0.359927237034 0.401224017143 0.842301428318 +vn -0.359927237034 0.401224017143 0.842301428318 +vn -0.403516948223 0.547950804234 0.732750952244 +vn -0.549920439720 0.485596776009 0.679546356201 +vn -0.795666098595 0.317581713200 0.515807449818 +vn -0.623659551144 0.380152404308 0.683032155037 +vn -0.549920439720 0.485596776009 0.679546356201 +vn -0.549920439720 0.485596776009 0.679546356201 +vn -0.686435878277 0.364511430264 0.629235386848 +vn -0.795666098595 0.317581713200 0.515807449818 +vn -0.863167405128 0.192745745182 0.466681003571 +vn -0.795666098595 0.317581713200 0.515807449818 +vn -0.686435878277 0.364511430264 0.629235386848 +vn -0.686435878277 0.364511430264 0.629235386848 +vn -0.779409170151 0.133687332273 0.612085759640 +vn -0.863167405128 0.192745745182 0.466681003571 +vn -0.882100045681 0.079713657498 0.464268475771 +vn -0.863167405128 0.192745745182 0.466681003571 +vn -0.779409170151 0.133687332273 0.612085759640 +vn -0.779409170151 0.133687332273 0.612085759640 +vn -0.847423136234 -0.037507932633 0.529591500759 +vn -0.882100045681 0.079713657498 0.464268475771 +vn -0.847423136234 -0.037507932633 0.529591500759 +vn -0.886623203754 -0.054525546730 0.459267079830 +vn -0.916964530945 0.114480897784 0.382191210985 +vn -0.916964530945 0.114480897784 0.382191210985 +vn -0.882100045681 0.079713657498 0.464268475771 +vn -0.847423136234 -0.037507932633 0.529591500759 +vn -0.886623203754 -0.054525546730 0.459267079830 +vn -0.748294830322 0.242019072175 0.617641985416 +vn -0.762780547142 0.400260478258 0.507895052433 +vn -0.762780547142 0.400260478258 0.507895052433 +vn -0.916964530945 0.114480897784 0.382191210985 +vn -0.886623203754 -0.054525546730 0.459267079830 +vn -0.748294830322 0.242019072175 0.617641985416 +vn -0.291076213121 0.481702655554 0.826581597328 +vn -0.270152628422 0.623499035835 0.733666479588 +vn -0.270152628422 0.623499035835 0.733666479588 +vn -0.762780547142 0.400260478258 0.507895052433 +vn -0.748294830322 0.242019072175 0.617641985416 +vn 0.023788293824 0.573797225952 0.818651854992 +vn -0.270152628422 0.623499035835 0.733666479588 +vn -0.291076213121 0.481702655554 0.826581597328 +vn -0.291076213121 0.481702655554 0.826581597328 +vn 0.054863095284 0.347303807735 0.936146438122 +vn 0.023788293824 0.573797225952 0.818651854992 +vn 0.190369337797 0.409592747688 0.892184555531 +vn 0.023788293824 0.573797225952 0.818651854992 +vn 0.054863095284 0.347303807735 0.936146438122 +vn 0.054863095284 0.347303807735 0.936146438122 +vn 0.148399889469 0.002237849403 0.988924920559 +vn 0.190369337797 0.409592747688 0.892184555531 +vn 0.148399889469 0.002237849403 0.988924920559 +vn -0.334695070982 0.126260608435 0.933829486370 +vn -0.137372553349 0.403856068850 0.904449582100 +vn -0.137372553349 0.403856068850 0.904449582100 +vn 0.190369337797 0.409592747688 0.892184555531 +vn 0.148399889469 0.002237849403 0.988924920559 +vn -0.334695070982 0.126260608435 0.933829486370 +vn -0.647695779800 0.510680079460 0.565416753292 +vn -0.604330658913 0.579120814800 0.547177731991 +vn -0.604330658913 0.579120814800 0.547177731991 +vn -0.137372553349 0.403856068850 0.904449582100 +vn -0.334695070982 0.126260608435 0.933829486370 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.596428692341 0.562675476074 0.572423934937 +vn -0.719880223274 0.496003329754 0.485544234514 +vn -0.719880223274 0.496003329754 0.485544234514 +vn -0.647695779800 0.510680079460 0.565416753292 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.386426508427 0.578002810478 0.718740105629 +vn -0.427337408066 0.314811915159 0.847511768341 +vn -0.427337408066 0.314811915159 0.847511768341 +vn -0.596428692341 0.562675476074 0.572423934937 +vn -0.521575689316 0.572148561478 0.632933557034 +vn -0.427337408066 0.314811915159 0.847511768341 +vn -0.386426508427 0.578002810478 0.718740105629 +vn -0.403516948223 0.547950804234 0.732750952244 +vn -0.403516948223 0.547950804234 0.732750952244 +vn -0.359927237034 0.401224017143 0.842301428318 +vn -0.427337408066 0.314811915159 0.847511768341 +vn -0.359927237034 0.401224017143 0.842301428318 +vn -0.332337766886 0.311493158340 0.890237987041 +vn -0.439757525921 0.140757396817 0.887017846107 +vn -0.439757525921 0.140757396817 0.887017846107 +vn -0.427337408066 0.314811915159 0.847511768341 +vn -0.359927237034 0.401224017143 0.842301428318 +vn -0.604330658913 0.579120814800 0.547177731991 +vn -0.390541195869 0.766919553280 0.509226858616 +vn -0.068840779364 0.560529172421 0.825268447399 +vn -0.068840779364 0.560529172421 0.825268447399 +vn -0.137372553349 0.403856068850 0.904449582100 +vn -0.604330658913 0.579120814800 0.547177731991 +vn -0.774322211742 0.506421625614 0.379423618317 +vn -0.411870986223 0.780674993992 0.470009416342 +vn -0.390541195869 0.766919553280 0.509226858616 +vn -0.390541195869 0.766919553280 0.509226858616 +vn -0.604330658913 0.579120814800 0.547177731991 +vn -0.774322211742 0.506421625614 0.379423618317 +vn -0.427337408066 0.314811915159 0.847511768341 +vn -0.439757525921 0.140757396817 0.887017846107 +vn -0.741860687733 0.398763775826 0.539101243019 +vn -0.741860687733 0.398763775826 0.539101243019 +vn -0.596428692341 0.562675476074 0.572423934937 +vn -0.427337408066 0.314811915159 0.847511768341 +vn -0.745369732380 0.574101984501 0.338866978884 +vn -0.741860687733 0.398763775826 0.539101243019 +vn -0.854340553284 0.087816275656 0.512240648270 +vn -0.854340553284 0.087816275656 0.512240648270 +vn -0.808123826981 0.439913094044 0.391678839922 +vn -0.745369732380 0.574101984501 0.338866978884 +vn -0.741860687733 0.398763775826 0.539101243019 +vn -0.439757525921 0.140757396817 0.887017846107 +vn -0.694828391075 0.219617471099 0.684822380543 +vn -0.694828391075 0.219617471099 0.684822380543 +vn -0.854340553284 0.087816275656 0.512240648270 +vn -0.741860687733 0.398763775826 0.539101243019 +vn -0.694828391075 0.219617471099 0.684822380543 +vn -0.527027726173 -0.021860340610 0.849566876888 +vn -0.625334560871 -0.238754346967 0.742935419083 +vn -0.625334560871 -0.238754346967 0.742935419083 +vn -0.854340553284 0.087816275656 0.512240648270 +vn -0.694828391075 0.219617471099 0.684822380543 +vn -0.625334560871 -0.238754346967 0.742935419083 +vn -0.756767809391 -0.052385684103 0.651581287384 +vn -0.808123826981 0.439913094044 0.391678839922 +vn -0.808123826981 0.439913094044 0.391678839922 +vn -0.854340553284 0.087816275656 0.512240648270 +vn -0.625334560871 -0.238754346967 0.742935419083 +vn 0.143529653549 0.440658539534 0.886125981808 +vn 0.190369337797 0.409592747688 0.892184555531 +vn -0.137372553349 0.403856068850 0.904449582100 +vn -0.137372553349 0.403856068850 0.904449582100 +vn -0.068840779364 0.560529172421 0.825268447399 +vn 0.143529653549 0.440658539534 0.886125981808 +vn -0.299964487553 0.683094441891 0.665885329247 +vn -0.752513349056 0.427093178034 0.501313328743 +vn -0.762780547142 0.400260478258 0.507895052433 +vn -0.762780547142 0.400260478258 0.507895052433 +vn -0.270152628422 0.623499035835 0.733666479588 +vn -0.299964487553 0.683094441891 0.665885329247 +vn -0.299964487553 0.683094441891 0.665885329247 +vn -0.270152628422 0.623499035835 0.733666479588 +vn 0.023788293824 0.573797225952 0.818651854992 +vn 0.023788293824 0.573797225952 0.818651854992 +vn -0.011909886263 0.610265195370 0.792107701302 +vn -0.299964487553 0.683094441891 0.665885329247 +vn -0.011909886263 0.610265195370 0.792107701302 +vn 0.023788293824 0.573797225952 0.818651854992 +vn 0.190369337797 0.409592747688 0.892184555531 +vn 0.190369337797 0.409592747688 0.892184555531 +vn 0.143529653549 0.440658539534 0.886125981808 +vn -0.011909886263 0.610265195370 0.792107701302 +vn -0.863167405128 0.192745745182 0.466681003571 +vn -0.882100045681 0.079713657498 0.464268475771 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.893415629864 0.151184454560 0.423026919365 +vn -0.863167405128 0.192745745182 0.466681003571 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.882100045681 0.079713657498 0.464268475771 +vn -0.916964530945 0.114480897784 0.382191210985 +vn -0.916964530945 0.114480897784 0.382191210985 +vn -0.893567860126 0.130850359797 0.429435312748 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.916964530945 0.114480897784 0.382191210985 +vn -0.762780547142 0.400260478258 0.507895052433 +vn -0.752513349056 0.427093178034 0.501313328743 +vn -0.752513349056 0.427093178034 0.501313328743 +vn -0.893567860126 0.130850359797 0.429435312748 +vn -0.916964530945 0.114480897784 0.382191210985 +vn -0.863167405128 0.192745745182 0.466681003571 +vn -0.893415629864 0.151184454560 0.423026919365 +vn -0.907577753067 0.131067544222 0.398903340101 +vn -0.907577753067 0.131067544222 0.398903340101 +vn -0.795666098595 0.317581713200 0.515807449818 +vn -0.863167405128 0.192745745182 0.466681003571 +vn -0.771863758564 0.521848499775 0.363181054592 +vn -0.469709098339 0.664078414440 0.581698536873 +vn -0.411870986223 0.780674993992 0.470009416342 +vn -0.411870986223 0.780674993992 0.470009416342 +vn -0.774322211742 0.506421625614 0.379423618317 +vn -0.771863758564 0.521848499775 0.363181054592 +vn -0.756767809391 -0.052385684103 0.651581287384 +vn -0.727002084255 0.154723718762 0.668975770473 +vn -0.694979846478 0.558244287968 0.453173667192 +vn -0.694979846478 0.558244287968 0.453173667192 +vn -0.808123826981 0.439913094044 0.391678839922 +vn -0.756767809391 -0.052385684103 0.651581287384 +vn -0.771863758564 0.521848499775 0.363181054592 +vn -0.694979846478 0.558244287968 0.453173667192 +vn -0.727002084255 0.154723718762 0.668975770473 +vn -0.727002084255 0.154723718762 0.668975770473 +vn -0.469709098339 0.664078414440 0.581698536873 +vn -0.771863758564 0.521848499775 0.363181054592 +vn -0.727002084255 0.154723718762 0.668975770473 +vn -0.305853247643 -0.242935404181 0.920562982559 +vn -0.217033192515 0.376930564642 0.900455415249 +vn -0.217033192515 0.376930564642 0.900455415249 +vn -0.469709098339 0.664078414440 0.581698536873 +vn -0.727002084255 0.154723718762 0.668975770473 +vn -0.217033192515 0.376930564642 0.900455415249 +vn -0.305853247643 -0.242935404181 0.920562982559 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn 0.193748310208 0.389752209187 0.900308191776 +vn -0.217033192515 0.376930564642 0.900455415249 +vn 0.080102473497 0.828760683537 0.553840458393 +vn -0.469709098339 0.664078414440 0.581698536873 +vn -0.217033192515 0.376930564642 0.900455415249 +vn -0.217033192515 0.376930564642 0.900455415249 +vn 0.193748310208 0.389752209187 0.900308191776 +vn 0.080102473497 0.828760683537 0.553840458393 +vn 0.065837807953 0.882237017155 0.466179400682 +vn -0.411870986223 0.780674993992 0.470009416342 +vn -0.469709098339 0.664078414440 0.581698536873 +vn -0.469709098339 0.664078414440 0.581698536873 +vn 0.080102473497 0.828760683537 0.553840458393 +vn 0.065837807953 0.882237017155 0.466179400682 +vn -0.745369732380 0.574101984501 0.338866978884 +vn -0.808123826981 0.439913094044 0.391678839922 +vn -0.694979846478 0.558244287968 0.453173667192 +vn -0.694979846478 0.558244287968 0.453173667192 +vn -0.771863758564 0.521848499775 0.363181054592 +vn -0.745369732380 0.574101984501 0.338866978884 +vn -0.771863758564 0.521848499775 0.363181054592 +vn -0.774322211742 0.506421625614 0.379423618317 +vn -0.719880223274 0.496003329754 0.485544234514 +vn -0.719880223274 0.496003329754 0.485544234514 +vn -0.745369732380 0.574101984501 0.338866978884 +vn -0.771863758564 0.521848499775 0.363181054592 +vn 0.057261314243 0.891568779945 0.449250817299 +vn -0.390541195869 0.766919553280 0.509226858616 +vn -0.411870986223 0.780674993992 0.470009416342 +vn -0.411870986223 0.780674993992 0.470009416342 +vn 0.065837807953 0.882237017155 0.466179400682 +vn 0.057261314243 0.891568779945 0.449250817299 +vn 0.150822833180 0.635599315166 0.757143259048 +vn -0.068840779364 0.560529172421 0.825268447399 +vn -0.390541195869 0.766919553280 0.509226858616 +vn -0.390541195869 0.766919553280 0.509226858616 +vn 0.057261314243 0.891568779945 0.449250817299 +vn 0.150822833180 0.635599315166 0.757143259048 +vn 0.198422238231 0.451261907816 0.870052456856 +vn 0.143529653549 0.440658539534 0.886125981808 +vn -0.068840779364 0.560529172421 0.825268447399 +vn -0.068840779364 0.560529172421 0.825268447399 +vn 0.150822833180 0.635599315166 0.757143259048 +vn 0.198422238231 0.451261907816 0.870052456856 +vn 0.143529653549 0.440658539534 0.886125981808 +vn 0.198422238231 0.451261907816 0.870052456856 +vn 0.162006527185 0.616976797581 0.770125627518 +vn 0.162006527185 0.616976797581 0.770125627518 +vn -0.011909886263 0.610265195370 0.792107701302 +vn 0.143529653549 0.440658539534 0.886125981808 +vn 0.162006527185 0.616976797581 0.770125627518 +vn 0.066447027028 0.874545276165 0.480370044708 +vn -0.105991713703 0.867368280888 0.486248910427 +vn -0.105991713703 0.867368280888 0.486248910427 +vn -0.011909886263 0.610265195370 0.792107701302 +vn 0.162006527185 0.616976797581 0.770125627518 +vn -0.011909886263 0.610265195370 0.792107701302 +vn -0.105991713703 0.867368280888 0.486248910427 +vn -0.371073067188 0.842229127884 0.391094416380 +vn -0.371073067188 0.842229127884 0.391094416380 +vn -0.299964487553 0.683094441891 0.665885329247 +vn -0.011909886263 0.610265195370 0.792107701302 +vn -0.753519773483 0.571189284325 0.325500786304 +vn -0.752513349056 0.427093178034 0.501313328743 +vn -0.299964487553 0.683094441891 0.665885329247 +vn -0.299964487553 0.683094441891 0.665885329247 +vn -0.371073067188 0.842229127884 0.391094416380 +vn -0.753519773483 0.571189284325 0.325500786304 +vn -0.896939873695 0.210649311543 0.388748884201 +vn -0.893567860126 0.130850359797 0.429435312748 +vn -0.752513349056 0.427093178034 0.501313328743 +vn -0.752513349056 0.427093178034 0.501313328743 +vn -0.753519773483 0.571189284325 0.325500786304 +vn -0.896939873695 0.210649311543 0.388748884201 +vn -0.896939873695 0.210649311543 0.388748884201 +vn -0.894213795662 0.123666495085 0.430218875408 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.893567860126 0.130850359797 0.429435312748 +vn -0.896939873695 0.210649311543 0.388748884201 +vn -0.891332924366 0.137296840549 0.432059258223 +vn -0.893415629864 0.151184454560 0.423026919365 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.885882377625 0.112097278237 0.450162917376 +vn -0.894213795662 0.123666495085 0.430218875408 +vn -0.891332924366 0.137296840549 0.432059258223 +vn -0.763386487961 0.156498655677 0.626697123051 +vn -0.623659551144 0.380152404308 0.683032155037 +vn -0.795666098595 0.317581713200 0.515807449818 +vn -0.795666098595 0.317581713200 0.515807449818 +vn -0.907577753067 0.131067544222 0.398903340101 +vn -0.763386487961 0.156498655677 0.626697123051 +vn -0.332337766886 0.311493158340 0.890237987041 +vn -0.359927237034 0.401224017143 0.842301428318 +vn -0.623659551144 0.380152404308 0.683032155037 +vn -0.623659551144 0.380152404308 0.683032155037 +vn -0.763386487961 0.156498655677 0.626697123051 +vn -0.332337766886 0.311493158340 0.890237987041 +vn -0.893415629864 0.151184454560 0.423026919365 +vn -0.891332924366 0.137296840549 0.432059258223 +vn -0.878834486008 0.176552668214 0.443259596825 +vn -0.878834486008 0.176552668214 0.443259596825 +vn -0.907577753067 0.131067544222 0.398903340101 +vn -0.893415629864 0.151184454560 0.423026919365 +vn -0.836813807487 0.186702415347 0.514669656754 +vn -0.763386487961 0.156498655677 0.626697123051 +vn -0.907577753067 0.131067544222 0.398903340101 +vn -0.907577753067 0.131067544222 0.398903340101 +vn -0.878834486008 0.176552668214 0.443259596825 +vn -0.836813807487 0.186702415347 0.514669656754 +vn -0.538188695908 0.264146775007 0.800362050533 +vn -0.332337766886 0.311493158340 0.890237987041 +vn -0.763386487961 0.156498655677 0.626697123051 +vn -0.763386487961 0.156498655677 0.626697123051 +vn -0.836813807487 0.186702415347 0.514669656754 +vn -0.538188695908 0.264146775007 0.800362050533 +vn -0.439757525921 0.140757396817 0.887017846107 +vn -0.332337766886 0.311493158340 0.890237987041 +vn -0.315292984247 0.356447100639 0.879508852959 +vn -0.315292984247 0.356447100639 0.879508852959 +vn -0.694828391075 0.219617471099 0.684822380543 +vn -0.439757525921 0.140757396817 0.887017846107 +vn -0.332337766886 0.311493158340 0.890237987041 +vn -0.538188695908 0.264146775007 0.800362050533 +vn -0.307988971472 0.256761282682 0.916087567806 +vn -0.307988971472 0.256761282682 0.916087567806 +vn -0.315292984247 0.356447100639 0.879508852959 +vn -0.332337766886 0.311493158340 0.890237987041 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.527027726173 -0.021860340610 0.849566876888 +vn -0.694828391075 0.219617471099 0.684822380543 +vn -0.694828391075 0.219617471099 0.684822380543 +vn -0.315292984247 0.356447100639 0.879508852959 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.756767809391 -0.052385684103 0.651581287384 +vn -0.314739197493 -0.737429022789 0.597609996796 +vn -0.463801503181 -0.757760345936 0.459007054567 +vn -0.463801503181 -0.757760345936 0.459007054567 +vn -0.727002084255 0.154723718762 0.668975770473 +vn -0.756767809391 -0.052385684103 0.651581287384 +vn -0.527027726173 -0.021860340610 0.849566876888 +vn 0.127255231142 -0.188344046474 0.973823726177 +vn -0.028332799673 -0.666234850883 0.745203554630 +vn -0.028332799673 -0.666234850883 0.745203554630 +vn -0.625334560871 -0.238754346967 0.742935419083 +vn -0.527027726173 -0.021860340610 0.849566876888 +vn -0.756767809391 -0.052385684103 0.651581287384 +vn -0.625334560871 -0.238754346967 0.742935419083 +vn -0.028332799673 -0.666234850883 0.745203554630 +vn -0.028332799673 -0.666234850883 0.745203554630 +vn -0.314739197493 -0.737429022789 0.597609996796 +vn -0.756767809391 -0.052385684103 0.651581287384 +vn -0.305853247643 -0.242935404181 0.920562982559 +vn -0.727002084255 0.154723718762 0.668975770473 +vn -0.463801503181 -0.757760345936 0.459007054567 +vn -0.463801503181 -0.757760345936 0.459007054567 +vn -0.249539628625 -0.831801772118 0.495818287134 +vn -0.305853247643 -0.242935404181 0.920562982559 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn -0.305853247643 -0.242935404181 0.920562982559 +vn -0.249539628625 -0.831801772118 0.495818287134 +vn -0.249539628625 -0.831801772118 0.495818287134 +vn 0.239685952663 -0.807179331779 0.539455413818 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.383693754673 0.415092200041 0.824910640717 +vn 0.127255231142 -0.188344046474 0.973823726177 +vn 0.127255231142 -0.188344046474 0.973823726177 +vn -0.527027726173 -0.021860340610 0.849566876888 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.383693754673 0.415092200041 0.824910640717 +vn -0.489686667919 0.504504680634 0.711113214493 +vn -0.530067265034 0.182262152433 0.828135967255 +vn -0.530067265034 0.182262152433 0.828135967255 +vn 0.127255231142 -0.188344046474 0.973823726177 +vn -0.383693754673 0.415092200041 0.824910640717 +vn -0.489686667919 0.504504680634 0.711113214493 +vn -0.129079088569 0.182803943753 0.974639058113 +vn -0.451884835958 -0.352392107248 0.819524168968 +vn -0.451884835958 -0.352392107248 0.819524168968 +vn -0.530067265034 0.182262152433 0.828135967255 +vn -0.489686667919 0.504504680634 0.711113214493 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn 0.199788928032 -0.930502891541 0.306999534369 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn -0.451884835958 -0.352392107248 0.819524168968 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn 0.239685952663 -0.807179331779 0.539455413818 +vn -0.249539628625 -0.831801772118 0.495818287134 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn 0.199788928032 -0.930502891541 0.306999534369 +vn 0.239685952663 -0.807179331779 0.539455413818 +vn -0.314739197493 -0.737429022789 0.597609996796 +vn 0.312652051449 -0.927255630493 0.206023424864 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn -0.463801503181 -0.757760345936 0.459007054567 +vn -0.314739197493 -0.737429022789 0.597609996796 +vn 0.127255231142 -0.188344046474 0.973823726177 +vn 0.237130910158 -0.530649483204 0.813744485378 +vn 0.494197249413 -0.754905045033 0.431146651506 +vn 0.494197249413 -0.754905045033 0.431146651506 +vn -0.028332799673 -0.666234850883 0.745203554630 +vn 0.127255231142 -0.188344046474 0.973823726177 +vn 0.312652051449 -0.927255630493 0.206023424864 +vn -0.314739197493 -0.737429022789 0.597609996796 +vn -0.028332799673 -0.666234850883 0.745203554630 +vn -0.028332799673 -0.666234850883 0.745203554630 +vn 0.494197249413 -0.754905045033 0.431146651506 +vn 0.312652051449 -0.927255630493 0.206023424864 +vn -0.249539628625 -0.831801772118 0.495818287134 +vn -0.463801503181 -0.757760345936 0.459007054567 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn -0.249539628625 -0.831801772118 0.495818287134 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn -0.658694267273 -0.752078175545 0.022367335856 +vn -0.804074645042 -0.480982899666 0.349455922842 +vn -0.804074645042 -0.480982899666 0.349455922842 +vn -0.451884835958 -0.352392107248 0.819524168968 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn -0.530067265034 0.182262152433 0.828135967255 +vn -0.451884835958 -0.352392107248 0.819524168968 +vn -0.804074645042 -0.480982899666 0.349455922842 +vn -0.804074645042 -0.480982899666 0.349455922842 +vn -0.535760462284 -0.485617697239 0.690750479698 +vn -0.530067265034 0.182262152433 0.828135967255 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn -0.393963932991 -0.907506763935 0.145684033632 +vn -0.658694267273 -0.752078175545 0.022367335856 +vn -0.658694267273 -0.752078175545 0.022367335856 +vn -0.343408226967 -0.915781915188 0.208361029625 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn 0.312652051449 -0.927255630493 0.206023424864 +vn 0.176475107670 -0.932356715202 0.315543144941 +vn 0.176475107670 -0.932356715202 0.315543144941 +vn -0.393963932991 -0.907506763935 0.145684033632 +vn -0.154837504029 -0.986933887005 -0.044574052095 +vn 0.237130910158 -0.530649483204 0.813744485378 +vn 0.127255231142 -0.188344046474 0.973823726177 +vn -0.530067265034 0.182262152433 0.828135967255 +vn -0.530067265034 0.182262152433 0.828135967255 +vn -0.535760462284 -0.485617697239 0.690750479698 +vn 0.237130910158 -0.530649483204 0.813744485378 +vn 0.494197249413 -0.754905045033 0.431146651506 +vn 0.237130910158 -0.530649483204 0.813744485378 +vn 0.176475107670 -0.932356715202 0.315543144941 +vn 0.176475107670 -0.932356715202 0.315543144941 +vn 0.312652051449 -0.927255630493 0.206023424864 +vn 0.494197249413 -0.754905045033 0.431146651506 +vn 0.176475107670 -0.932356715202 0.315543144941 +vn 0.237130910158 -0.530649483204 0.813744485378 +vn -0.535760462284 -0.485617697239 0.690750479698 +vn -0.535760462284 -0.485617697239 0.690750479698 +vn -0.393963932991 -0.907506763935 0.145684033632 +vn 0.176475107670 -0.932356715202 0.315543144941 +vn -0.658694267273 -0.752078175545 0.022367335856 +vn -0.393963932991 -0.907506763935 0.145684033632 +vn -0.535760462284 -0.485617697239 0.690750479698 +vn -0.535760462284 -0.485617697239 0.690750479698 +vn -0.804074645042 -0.480982899666 0.349455922842 +vn -0.658694267273 -0.752078175545 0.022367335856 +vn -0.538188695908 0.264146775007 0.800362050533 +vn -0.543800532818 0.442923873663 0.712810933590 +vn -0.265762388706 0.341355532408 0.901580154896 +vn -0.265762388706 0.341355532408 0.901580154896 +vn -0.307988971472 0.256761282682 0.916087567806 +vn -0.538188695908 0.264146775007 0.800362050533 +vn -0.266749024391 0.631645679474 0.727920830250 +vn -0.265762388706 0.341355532408 0.901580154896 +vn -0.543800532818 0.442923873663 0.712810933590 +vn -0.543800532818 0.442923873663 0.712810933590 +vn -0.466357082129 0.552756190300 0.690631389618 +vn -0.266749024391 0.631645679474 0.727920830250 +vn -0.466357082129 0.552756190300 0.690631389618 +vn -0.435317426920 0.573959171772 0.693591833115 +vn -0.420182943344 0.649817228317 0.633390784264 +vn -0.420182943344 0.649817228317 0.633390784264 +vn -0.266749024391 0.631645679474 0.727920830250 +vn -0.466357082129 0.552756190300 0.690631389618 +vn -0.456825613976 0.516326904297 0.724373459816 +vn -0.526362180710 0.591725170612 0.610576927662 +vn -0.420182943344 0.649817228317 0.633390784264 +vn -0.420182943344 0.649817228317 0.633390784264 +vn -0.435317426920 0.573959171772 0.693591833115 +vn -0.456825613976 0.516326904297 0.724373459816 +vn -0.456825613976 0.516326904297 0.724373459816 +vn -0.391398638487 0.397019624710 0.830170154572 +vn -0.465997457504 0.474939972162 0.746510803699 +vn -0.465997457504 0.474939972162 0.746510803699 +vn -0.526362180710 0.591725170612 0.610576927662 +vn -0.456825613976 0.516326904297 0.724373459816 +vn -0.312441259623 0.395822644234 0.863542079926 +vn -0.465997457504 0.474939972162 0.746510803699 +vn -0.391398638487 0.397019624710 0.830170154572 +vn -0.391398638487 0.397019624710 0.830170154572 +vn -0.267233550549 0.334511578083 0.903708040714 +vn -0.312441259623 0.395822644234 0.863542079926 +vn -0.312441259623 0.395822644234 0.863542079926 +vn -0.267233550549 0.334511578083 0.903708040714 +vn -0.068228773773 0.298730581999 0.951895415783 +vn -0.068228773773 0.298730581999 0.951895415783 +vn -0.104101993144 0.368369311094 0.923832714558 +vn -0.312441259623 0.395822644234 0.863542079926 +vn -0.315292984247 0.356447100639 0.879508852959 +vn -0.307988971472 0.256761282682 0.916087567806 +vn -0.372200131416 0.254434913397 0.892597317696 +vn -0.372200131416 0.254434913397 0.892597317696 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.315292984247 0.356447100639 0.879508852959 +vn -0.307988971472 0.256761282682 0.916087567806 +vn -0.265762388706 0.341355532408 0.901580154896 +vn -0.253103345633 0.215464681387 0.943140327930 +vn -0.253103345633 0.215464681387 0.943140327930 +vn -0.372200131416 0.254434913397 0.892597317696 +vn -0.307988971472 0.256761282682 0.916087567806 +vn -0.265762388706 0.341355532408 0.901580154896 +vn -0.266749024391 0.631645679474 0.727920830250 +vn -0.326112389565 0.647804796696 0.688476324081 +vn -0.326112389565 0.647804796696 0.688476324081 +vn -0.253103345633 0.215464681387 0.943140327930 +vn -0.265762388706 0.341355532408 0.901580154896 +vn -0.266749024391 0.631645679474 0.727920830250 +vn -0.420182943344 0.649817228317 0.633390784264 +vn -0.552081704140 0.668588280678 0.498192220926 +vn -0.552081704140 0.668588280678 0.498192220926 +vn -0.326112389565 0.647804796696 0.688476324081 +vn -0.266749024391 0.631645679474 0.727920830250 +vn -0.420182943344 0.649817228317 0.633390784264 +vn -0.526362180710 0.591725170612 0.610576927662 +vn -0.625428259373 0.495156258345 0.603042125702 +vn -0.625428259373 0.495156258345 0.603042125702 +vn -0.552081704140 0.668588280678 0.498192220926 +vn -0.420182943344 0.649817228317 0.633390784264 +vn -0.526362180710 0.591725170612 0.610576927662 +vn -0.465997457504 0.474939972162 0.746510803699 +vn -0.535713851452 0.407568365335 0.739525973797 +vn -0.535713851452 0.407568365335 0.739525973797 +vn -0.625428259373 0.495156258345 0.603042125702 +vn -0.526362180710 0.591725170612 0.610576927662 +vn -0.465997457504 0.474939972162 0.746510803699 +vn -0.312441259623 0.395822644234 0.863542079926 +vn -0.359362721443 0.378377079964 0.853047013283 +vn -0.359362721443 0.378377079964 0.853047013283 +vn -0.535713851452 0.407568365335 0.739525973797 +vn -0.465997457504 0.474939972162 0.746510803699 +vn 0.174813181162 0.397422939539 0.900830388069 +vn -0.125801399350 0.381812900305 0.915637969971 +vn -0.104101993144 0.368369311094 0.923832714558 +vn -0.104101993144 0.368369311094 0.923832714558 +vn 0.189450860023 0.359886229038 0.913559138775 +vn 0.174813181162 0.397422939539 0.900830388069 +vn -0.625428259373 0.495156258345 0.603042125702 +vn -0.682675838470 0.530749320984 0.502253770828 +vn -0.641178429127 0.678829967976 0.357882797718 +vn -0.641178429127 0.678829967976 0.357882797718 +vn -0.552081704140 0.668588280678 0.498192220926 +vn -0.625428259373 0.495156258345 0.603042125702 +vn -0.625428259373 0.495156258345 0.603042125702 +vn -0.535713851452 0.407568365335 0.739525973797 +vn -0.588860034943 0.466583490372 0.659957349300 +vn -0.588860034943 0.466583490372 0.659957349300 +vn -0.682675838470 0.530749320984 0.502253770828 +vn -0.625428259373 0.495156258345 0.603042125702 +vn -0.535713851452 0.407568365335 0.739525973797 +vn -0.359362721443 0.378377079964 0.853047013283 +vn -0.404190242290 0.454529225826 0.793746471405 +vn -0.404190242290 0.454529225826 0.793746471405 +vn -0.588860034943 0.466583490372 0.659957349300 +vn -0.535713851452 0.407568365335 0.739525973797 +vn -0.413006156683 0.495547741652 0.764106214046 +vn -0.326112389565 0.647804796696 0.688476324081 +vn -0.552081704140 0.668588280678 0.498192220926 +vn -0.552081704140 0.668588280678 0.498192220926 +vn -0.641178429127 0.678829967976 0.357882797718 +vn -0.413006156683 0.495547741652 0.764106214046 +vn -0.253103345633 0.215464681387 0.943140327930 +vn -0.326112389565 0.647804796696 0.688476324081 +vn -0.413006156683 0.495547741652 0.764106214046 +vn -0.413006156683 0.495547741652 0.764106214046 +vn -0.198482468724 0.114406384528 0.973404288292 +vn -0.253103345633 0.215464681387 0.943140327930 +vn -0.198482468724 0.114406384528 0.973404288292 +vn -0.360481590033 0.133366003633 0.923182845116 +vn -0.372200131416 0.254434913397 0.892597317696 +vn -0.372200131416 0.254434913397 0.892597317696 +vn -0.253103345633 0.215464681387 0.943140327930 +vn -0.198482468724 0.114406384528 0.973404288292 +vn -0.451417952776 0.277944266796 0.847920298576 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.372200131416 0.254434913397 0.892597317696 +vn -0.372200131416 0.254434913397 0.892597317696 +vn -0.360481590033 0.133366003633 0.923182845116 +vn -0.451417952776 0.277944266796 0.847920298576 +vn -0.433118402958 0.408091127872 0.803660452366 +vn -0.383693754673 0.415092200041 0.824910640717 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.476249128580 0.384410738945 0.790831923485 +vn -0.451417952776 0.277944266796 0.847920298576 +vn -0.433118402958 0.408091127872 0.803660452366 +vn -0.433118402958 0.408091127872 0.803660452366 +vn -0.358566522598 0.428788691759 0.829198598862 +vn -0.489686667919 0.504504680634 0.711113214493 +vn -0.489686667919 0.504504680634 0.711113214493 +vn -0.383693754673 0.415092200041 0.824910640717 +vn -0.433118402958 0.408091127872 0.803660452366 +vn -0.023426074535 0.341141790152 0.939719915390 +vn -0.129079088569 0.182803943753 0.974639058113 +vn -0.489686667919 0.504504680634 0.711113214493 +vn -0.489686667919 0.504504680634 0.711113214493 +vn -0.358566522598 0.428788691759 0.829198598862 +vn -0.023426074535 0.341141790152 0.939719915390 +vn 0.212365403771 0.248311832547 0.945114910603 +vn 0.256318479776 0.039006829262 0.965804994106 +vn -0.129079088569 0.182803943753 0.974639058113 +vn -0.129079088569 0.182803943753 0.974639058113 +vn -0.023426074535 0.341141790152 0.939719915390 +vn 0.212365403771 0.248311832547 0.945114910603 +vn -0.485179066658 0.696842193604 0.528216063976 +vn -0.404190242290 0.454529225826 0.793746471405 +vn -0.148606613278 0.474946022034 0.867376685143 +vn -0.148606613278 0.474946022034 0.867376685143 +vn -0.253973126411 0.785078167915 0.564933538437 +vn -0.485179066658 0.696842193604 0.528216063976 +vn -0.623957276344 0.639919638634 0.448531210423 +vn -0.588860034943 0.466583490372 0.659957349300 +vn -0.404190242290 0.454529225826 0.793746471405 +vn -0.404190242290 0.454529225826 0.793746471405 +vn -0.485179066658 0.696842193604 0.528216063976 +vn -0.623957276344 0.639919638634 0.448531210423 +vn -0.679444611073 0.610277473927 0.407328456640 +vn -0.682675838470 0.530749320984 0.502253770828 +vn -0.588860034943 0.466583490372 0.659957349300 +vn -0.588860034943 0.466583490372 0.659957349300 +vn -0.623957276344 0.639919638634 0.448531210423 +vn -0.679444611073 0.610277473927 0.407328456640 +vn -0.679444611073 0.610277473927 0.407328456640 +vn -0.647559285164 0.548586845398 0.528885126114 +vn -0.641178429127 0.678829967976 0.357882797718 +vn -0.641178429127 0.678829967976 0.357882797718 +vn -0.682675838470 0.530749320984 0.502253770828 +vn -0.679444611073 0.610277473927 0.407328456640 +vn -0.413006156683 0.495547741652 0.764106214046 +vn -0.641178429127 0.678829967976 0.357882797718 +vn -0.647559285164 0.548586845398 0.528885126114 +vn -0.647559285164 0.548586845398 0.528885126114 +vn -0.388789445162 0.349601566792 0.852420985699 +vn -0.413006156683 0.495547741652 0.764106214046 +vn -0.198482468724 0.114406384528 0.973404288292 +vn -0.413006156683 0.495547741652 0.764106214046 +vn -0.388789445162 0.349601566792 0.852420985699 +vn -0.388789445162 0.349601566792 0.852420985699 +vn -0.258582144976 0.059639494866 0.964146435261 +vn -0.198482468724 0.114406384528 0.973404288292 +vn -0.360481590033 0.133366003633 0.923182845116 +vn -0.198482468724 0.114406384528 0.973404288292 +vn -0.258582144976 0.059639494866 0.964146435261 +vn -0.258582144976 0.059639494866 0.964146435261 +vn -0.499279707670 0.194446042180 0.844340264797 +vn -0.360481590033 0.133366003633 0.923182845116 +vn -0.591052055359 0.431705445051 0.681386709213 +vn -0.451417952776 0.277944266796 0.847920298576 +vn -0.360481590033 0.133366003633 0.923182845116 +vn -0.360481590033 0.133366003633 0.923182845116 +vn -0.499279707670 0.194446042180 0.844340264797 +vn -0.591052055359 0.431705445051 0.681386709213 +vn -0.551266074181 0.579253494740 0.600475728512 +vn -0.433118402958 0.408091127872 0.803660452366 +vn -0.451417952776 0.277944266796 0.847920298576 +vn -0.451417952776 0.277944266796 0.847920298576 +vn -0.591052055359 0.431705445051 0.681386709213 +vn -0.551266074181 0.579253494740 0.600475728512 +vn -0.429581940174 0.658338308334 0.618101954460 +vn -0.358566522598 0.428788691759 0.829198598862 +vn -0.433118402958 0.408091127872 0.803660452366 +vn -0.433118402958 0.408091127872 0.803660452366 +vn -0.551266074181 0.579253494740 0.600475728512 +vn -0.429581940174 0.658338308334 0.618101954460 +vn -0.076032698154 0.722265958786 0.687423348427 +vn -0.023426074535 0.341141790152 0.939719915390 +vn -0.358566522598 0.428788691759 0.829198598862 +vn -0.358566522598 0.428788691759 0.829198598862 +vn -0.429581940174 0.658338308334 0.618101954460 +vn -0.076032698154 0.722265958786 0.687423348427 +vn 0.212365403771 0.248311832547 0.945114910603 +vn -0.023426074535 0.341141790152 0.939719915390 +vn -0.076032698154 0.722265958786 0.687423348427 +vn -0.076032698154 0.722265958786 0.687423348427 +vn 0.055986881256 0.728759109974 0.682477593422 +vn 0.212365403771 0.248311832547 0.945114910603 +vn -0.258582144976 0.059639494866 0.964146435261 +vn -0.388789445162 0.349601566792 0.852420985699 +vn -0.647559285164 0.548586845398 0.528885126114 +vn -0.647559285164 0.548586845398 0.528885126114 +vn -0.499279707670 0.194446042180 0.844340264797 +vn -0.258582144976 0.059639494866 0.964146435261 +vn -0.679444611073 0.610277473927 0.407328456640 +vn -0.591052055359 0.431705445051 0.681386709213 +vn -0.499279707670 0.194446042180 0.844340264797 +vn -0.499279707670 0.194446042180 0.844340264797 +vn -0.647559285164 0.548586845398 0.528885126114 +vn -0.679444611073 0.610277473927 0.407328456640 +vn -0.623957276344 0.639919638634 0.448531210423 +vn -0.551266074181 0.579253494740 0.600475728512 +vn -0.591052055359 0.431705445051 0.681386709213 +vn -0.591052055359 0.431705445051 0.681386709213 +vn -0.679444611073 0.610277473927 0.407328456640 +vn -0.623957276344 0.639919638634 0.448531210423 +vn -0.485179066658 0.696842193604 0.528216063976 +vn -0.429581940174 0.658338308334 0.618101954460 +vn -0.551266074181 0.579253494740 0.600475728512 +vn -0.551266074181 0.579253494740 0.600475728512 +vn -0.623957276344 0.639919638634 0.448531210423 +vn -0.485179066658 0.696842193604 0.528216063976 +vn 0.189450860023 0.359886229038 0.913559138775 +vn -0.104101993144 0.368369311094 0.923832714558 +vn -0.068228773773 0.298730581999 0.951895415783 +vn -0.068228773773 0.298730581999 0.951895415783 +vn 0.200406655669 0.284720838070 0.937427997589 +vn 0.189450860023 0.359886229038 0.913559138775 +vn -0.104101993144 0.368369311094 0.923832714558 +vn -0.125801399350 0.381812900305 0.915637969971 +vn -0.359362721443 0.378377079964 0.853047013283 +vn -0.359362721443 0.378377079964 0.853047013283 +vn -0.312441259623 0.395822644234 0.863542079926 +vn -0.104101993144 0.368369311094 0.923832714558 +vn -0.125801399350 0.381812900305 0.915637969971 +vn -0.148606613278 0.474946022034 0.867376685143 +vn -0.404190242290 0.454529225826 0.793746471405 +vn -0.404190242290 0.454529225826 0.793746471405 +vn -0.359362721443 0.378377079964 0.853047013283 +vn -0.125801399350 0.381812900305 0.915637969971 +vn -0.253973126411 0.785078167915 0.564933538437 +vn -0.148606613278 0.474946022034 0.867376685143 +vn 0.143435344100 0.498812109232 0.854758918285 +vn 0.143435344100 0.498812109232 0.854758918285 +vn -0.012771333568 0.858014822006 0.513466119766 +vn -0.253973126411 0.785078167915 0.564933538437 +vn -0.429581940174 0.658338308334 0.618101954460 +vn -0.485179066658 0.696842193604 0.528216063976 +vn -0.253973126411 0.785078167915 0.564933538437 +vn -0.253973126411 0.785078167915 0.564933538437 +vn -0.076032698154 0.722265958786 0.687423348427 +vn -0.429581940174 0.658338308334 0.618101954460 +vn -0.253973126411 0.785078167915 0.564933538437 +vn -0.012771333568 0.858014822006 0.513466119766 +vn 0.055986881256 0.728759109974 0.682477593422 +vn 0.055986881256 0.728759109974 0.682477593422 +vn -0.076032698154 0.722265958786 0.687423348427 +vn -0.253973126411 0.785078167915 0.564933538437 +vn -0.538188695908 0.264146775007 0.800362050533 +vn -0.836813807487 0.186702415347 0.514669656754 +vn -0.761066019535 0.470063358545 0.447011142969 +vn -0.761066019535 0.470063358545 0.447011142969 +vn -0.543800532818 0.442923873663 0.712810933590 +vn -0.538188695908 0.264146775007 0.800362050533 +vn -0.836813807487 0.186702415347 0.514669656754 +vn -0.878834486008 0.176552668214 0.443259596825 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.761066019535 0.470063358545 0.447011142969 +vn -0.836813807487 0.186702415347 0.514669656754 +vn -0.878834486008 0.176552668214 0.443259596825 +vn -0.891332924366 0.137296840549 0.432059258223 +vn -0.896722614765 0.179688841105 0.404475569725 +vn -0.896722614765 0.179688841105 0.404475569725 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.878834486008 0.176552668214 0.443259596825 +vn -0.734925448895 0.490863144398 0.467908084393 +vn -0.466357082129 0.552756190300 0.690631389618 +vn -0.543800532818 0.442923873663 0.712810933590 +vn -0.543800532818 0.442923873663 0.712810933590 +vn -0.761066019535 0.470063358545 0.447011142969 +vn -0.734925448895 0.490863144398 0.467908084393 +vn -0.698878407478 0.347065120935 0.625391721725 +vn -0.435317426920 0.573959171772 0.693591833115 +vn -0.466357082129 0.552756190300 0.690631389618 +vn -0.466357082129 0.552756190300 0.690631389618 +vn -0.734925448895 0.490863144398 0.467908084393 +vn -0.698878407478 0.347065120935 0.625391721725 +vn -0.591195464134 0.235663145781 0.771330535412 +vn -0.456825613976 0.516326904297 0.724373459816 +vn -0.435317426920 0.573959171772 0.693591833115 +vn -0.435317426920 0.573959171772 0.693591833115 +vn -0.698878407478 0.347065120935 0.625391721725 +vn -0.591195464134 0.235663145781 0.771330535412 +vn -0.434332191944 0.195762410760 0.879222750664 +vn -0.391398638487 0.397019624710 0.830170154572 +vn -0.456825613976 0.516326904297 0.724373459816 +vn -0.456825613976 0.516326904297 0.724373459816 +vn -0.591195464134 0.235663145781 0.771330535412 +vn -0.434332191944 0.195762410760 0.879222750664 +vn -0.267134964466 0.181432187557 0.946425497532 +vn -0.267233550549 0.334511578083 0.903708040714 +vn -0.391398638487 0.397019624710 0.830170154572 +vn -0.391398638487 0.397019624710 0.830170154572 +vn -0.434332191944 0.195762410760 0.879222750664 +vn -0.267134964466 0.181432187557 0.946425497532 +vn -0.067125074565 0.157456219196 0.985242009163 +vn -0.068228773773 0.298730581999 0.951895415783 +vn -0.267233550549 0.334511578083 0.903708040714 +vn -0.267233550549 0.334511578083 0.903708040714 +vn -0.267134964466 0.181432187557 0.946425497532 +vn -0.067125074565 0.157456219196 0.985242009163 +vn -0.067125074565 0.157456219196 0.985242009163 +vn 0.202230855823 0.135011807084 0.969986855984 +vn 0.200406655669 0.284720838070 0.937427997589 +vn 0.200406655669 0.284720838070 0.937427997589 +vn -0.068228773773 0.298730581999 0.951895415783 +vn -0.067125074565 0.157456219196 0.985242009163 +vn -0.872427821159 0.346370130777 0.344814985991 +vn -0.734925448895 0.490863144398 0.467908084393 +vn -0.761066019535 0.470063358545 0.447011142969 +vn -0.761066019535 0.470063358545 0.447011142969 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.872427821159 0.346370130777 0.344814985991 +vn -0.698878407478 0.347065120935 0.625391721725 +vn -0.734925448895 0.490863144398 0.467908084393 +vn -0.872427821159 0.346370130777 0.344814985991 +vn -0.872427821159 0.346370130777 0.344814985991 +vn -0.869322419167 0.077864855528 0.488073319197 +vn -0.698878407478 0.347065120935 0.625391721725 +vn -0.747900903225 -0.163354054093 0.643397033215 +vn -0.591195464134 0.235663145781 0.771330535412 +vn -0.698878407478 0.347065120935 0.625391721725 +vn -0.698878407478 0.347065120935 0.625391721725 +vn -0.869322419167 0.077864855528 0.488073319197 +vn -0.747900903225 -0.163354054093 0.643397033215 +vn -0.591195464134 0.235663145781 0.771330535412 +vn -0.747900903225 -0.163354054093 0.643397033215 +vn -0.567458391190 -0.253882825375 0.783284425735 +vn -0.567458391190 -0.253882825375 0.783284425735 +vn -0.434332191944 0.195762410760 0.879222750664 +vn -0.591195464134 0.235663145781 0.771330535412 +vn -0.351191669703 -0.261454999447 0.899058222771 +vn -0.267134964466 0.181432187557 0.946425497532 +vn -0.434332191944 0.195762410760 0.879222750664 +vn -0.434332191944 0.195762410760 0.879222750664 +vn -0.567458391190 -0.253882825375 0.783284425735 +vn -0.351191669703 -0.261454999447 0.899058222771 +vn -0.079490303993 -0.281491726637 0.956265509129 +vn -0.067125074565 0.157456219196 0.985242009163 +vn -0.267134964466 0.181432187557 0.946425497532 +vn -0.267134964466 0.181432187557 0.946425497532 +vn -0.351191669703 -0.261454999447 0.899058222771 +vn -0.079490303993 -0.281491726637 0.956265509129 +vn -0.067125074565 0.157456219196 0.985242009163 +vn -0.079490303993 -0.281491726637 0.956265509129 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn 0.202230855823 0.135011807084 0.969986855984 +vn -0.067125074565 0.157456219196 0.985242009163 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.910739362240 0.261341512203 0.319772452116 +vn -0.957346260548 0.170727133751 0.233110263944 +vn -0.957346260548 0.170727133751 0.233110263944 +vn -0.872427821159 0.346370130777 0.344814985991 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.940527975559 -0.179164126515 0.288630217314 +vn -0.869322419167 0.077864855528 0.488073319197 +vn -0.872427821159 0.346370130777 0.344814985991 +vn -0.872427821159 0.346370130777 0.344814985991 +vn -0.957346260548 0.170727133751 0.233110263944 +vn -0.940527975559 -0.179164126515 0.288630217314 +vn -0.744308650494 -0.519166171551 0.420084595680 +vn -0.747900903225 -0.163354054093 0.643397033215 +vn -0.869322419167 0.077864855528 0.488073319197 +vn -0.869322419167 0.077864855528 0.488073319197 +vn -0.940527975559 -0.179164126515 0.288630217314 +vn -0.744308650494 -0.519166171551 0.420084595680 +vn -0.532799720764 -0.676156878471 0.508857905865 +vn -0.567458391190 -0.253882825375 0.783284425735 +vn -0.747900903225 -0.163354054093 0.643397033215 +vn -0.747900903225 -0.163354054093 0.643397033215 +vn -0.744308650494 -0.519166171551 0.420084595680 +vn -0.532799720764 -0.676156878471 0.508857905865 +vn -0.324463427067 -0.758725166321 0.564853608608 +vn -0.351191669703 -0.261454999447 0.899058222771 +vn -0.567458391190 -0.253882825375 0.783284425735 +vn -0.567458391190 -0.253882825375 0.783284425735 +vn -0.532799720764 -0.676156878471 0.508857905865 +vn -0.324463427067 -0.758725166321 0.564853608608 +vn -0.112893626094 -0.793193936348 0.598413288593 +vn -0.079490303993 -0.281491726637 0.956265509129 +vn -0.351191669703 -0.261454999447 0.899058222771 +vn -0.351191669703 -0.261454999447 0.899058222771 +vn -0.324463427067 -0.758725166321 0.564853608608 +vn -0.112893626094 -0.793193936348 0.598413288593 +vn -0.112893626094 -0.793193936348 0.598413288593 +vn 0.138890832663 -0.801826655865 0.581191301346 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn -0.079490303993 -0.281491726637 0.956265509129 +vn -0.112893626094 -0.793193936348 0.598413288593 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.896722614765 0.179688841105 0.404475569725 +vn -0.919281125069 0.197047114372 0.340726643801 +vn -0.919281125069 0.197047114372 0.340726643801 +vn -0.910739362240 0.261341512203 0.319772452116 +vn -0.855607628822 0.333090543747 0.396214872599 +vn -0.891332924366 0.137296840549 0.432059258223 +vn -0.894213795662 0.123666495085 0.430218875408 +vn -0.901383638382 0.126723989844 0.414063543081 +vn -0.901383638382 0.126723989844 0.414063543081 +vn -0.896722614765 0.179688841105 0.404475569725 +vn -0.891332924366 0.137296840549 0.432059258223 +vn -0.894213795662 0.123666495085 0.430218875408 +vn -0.896939873695 0.210649311543 0.388748884201 +vn -0.895166754723 0.229004427791 0.382404863834 +vn -0.895166754723 0.229004427791 0.382404863834 +vn -0.901383638382 0.126723989844 0.414063543081 +vn -0.894213795662 0.123666495085 0.430218875408 +vn -0.896939873695 0.210649311543 0.388748884201 +vn -0.753519773483 0.571189284325 0.325500786304 +vn -0.804847061634 0.546090245247 0.232393324375 +vn -0.804847061634 0.546090245247 0.232393324375 +vn -0.895166754723 0.229004427791 0.382404863834 +vn -0.896939873695 0.210649311543 0.388748884201 +vn -0.753519773483 0.571189284325 0.325500786304 +vn -0.371073067188 0.842229127884 0.391094416380 +vn -0.423992425203 0.897252678871 0.123158536851 +vn -0.423992425203 0.897252678871 0.123158536851 +vn -0.804847061634 0.546090245247 0.232393324375 +vn -0.753519773483 0.571189284325 0.325500786304 +vn -0.160930529237 0.977088928223 0.139278993011 +vn -0.423992425203 0.897252678871 0.123158536851 +vn -0.371073067188 0.842229127884 0.391094416380 +vn -0.371073067188 0.842229127884 0.391094416380 +vn -0.105991713703 0.867368280888 0.486248910427 +vn -0.160930529237 0.977088928223 0.139278993011 +vn -0.105991713703 0.867368280888 0.486248910427 +vn 0.066447027028 0.874545276165 0.480370044708 +vn -0.025935206562 0.987000048161 0.158613726497 +vn -0.025935206562 0.987000048161 0.158613726497 +vn -0.160930529237 0.977088928223 0.139278993011 +vn -0.105991713703 0.867368280888 0.486248910427 +vn -0.324463427067 -0.758725166321 0.564853608608 +vn -0.223995730281 -0.905615508556 0.360120028257 +vn -0.042874984443 -0.941498875618 0.334277719259 +vn -0.042874984443 -0.941498875618 0.334277719259 +vn -0.112893626094 -0.793193936348 0.598413288593 +vn -0.324463427067 -0.758725166321 0.564853608608 +vn -0.324463427067 -0.758725166321 0.564853608608 +vn -0.532799720764 -0.676156878471 0.508857905865 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.223995730281 -0.905615508556 0.360120028257 +vn -0.324463427067 -0.758725166321 0.564853608608 +vn -0.744308650494 -0.519166171551 0.420084595680 +vn -0.666060030460 -0.719265341759 0.197538405657 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.532799720764 -0.676156878471 0.508857905865 +vn -0.744308650494 -0.519166171551 0.420084595680 +vn -0.920943319798 -0.369556844234 0.123657345772 +vn -0.666060030460 -0.719265341759 0.197538405657 +vn -0.744308650494 -0.519166171551 0.420084595680 +vn -0.744308650494 -0.519166171551 0.420084595680 +vn -0.940527975559 -0.179164126515 0.288630217314 +vn -0.920943319798 -0.369556844234 0.123657345772 +vn -0.920943319798 -0.369556844234 0.123657345772 +vn -0.940527975559 -0.179164126515 0.288630217314 +vn -0.957346260548 0.170727133751 0.233110263944 +vn -0.957346260548 0.170727133751 0.233110263944 +vn -0.982647716999 0.016579046845 0.184739291668 +vn -0.920943319798 -0.369556844234 0.123657345772 +vn -0.957346260548 0.170727133751 0.233110263944 +vn -0.910739362240 0.261341512203 0.319772452116 +vn -0.946807622910 0.193610027432 0.257041752338 +vn -0.946807622910 0.193610027432 0.257041752338 +vn -0.982647716999 0.016579046845 0.184739291668 +vn -0.957346260548 0.170727133751 0.233110263944 +vn -0.910739362240 0.261341512203 0.319772452116 +vn -0.919281125069 0.197047114372 0.340726643801 +vn -0.951893627644 0.165721222758 0.257749825716 +vn -0.951893627644 0.165721222758 0.257749825716 +vn -0.946807622910 0.193610027432 0.257041752338 +vn -0.910739362240 0.261341512203 0.319772452116 +vn -0.951893627644 0.165721222758 0.257749825716 +vn -0.992123544216 0.107160180807 0.064866028726 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.946807622910 0.193610027432 0.257041752338 +vn -0.951893627644 0.165721222758 0.257749825716 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.982467770576 0.013177152723 0.185966104269 +vn -0.982647716999 0.016579046845 0.184739291668 +vn -0.982647716999 0.016579046845 0.184739291668 +vn -0.946807622910 0.193610027432 0.257041752338 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.982647716999 0.016579046845 0.184739291668 +vn -0.982467770576 0.013177152723 0.185966104269 +vn -0.900042414665 -0.367482185364 0.234265789390 +vn -0.900042414665 -0.367482185364 0.234265789390 +vn -0.920943319798 -0.369556844234 0.123657345772 +vn -0.982647716999 0.016579046845 0.184739291668 +vn -0.920943319798 -0.369556844234 0.123657345772 +vn -0.900042414665 -0.367482185364 0.234265789390 +vn -0.722536802292 -0.635164976120 0.272957891226 +vn -0.722536802292 -0.635164976120 0.272957891226 +vn -0.666060030460 -0.719265341759 0.197538405657 +vn -0.920943319798 -0.369556844234 0.123657345772 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.666060030460 -0.719265341759 0.197538405657 +vn -0.722536802292 -0.635164976120 0.272957891226 +vn -0.722536802292 -0.635164976120 0.272957891226 +vn -0.590967774391 -0.706974327564 0.388515591621 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.370591431856 -0.795985579491 0.478611499071 +vn -0.223995730281 -0.905615508556 0.360120028257 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.465739727020 -0.826660633087 0.315782696009 +vn -0.590967774391 -0.706974327564 0.388515591621 +vn -0.370591431856 -0.795985579491 0.478611499071 +vn -0.132983490825 -0.834781706333 0.534279823303 +vn -0.042874984443 -0.941498875618 0.334277719259 +vn -0.223995730281 -0.905615508556 0.360120028257 +vn -0.223995730281 -0.905615508556 0.360120028257 +vn -0.370591431856 -0.795985579491 0.478611499071 +vn -0.132983490825 -0.834781706333 0.534279823303 +vn 0.099432311952 -0.850939333439 0.515766859055 +vn 0.116708174348 -0.953639626503 0.277399748564 +vn -0.042874984443 -0.941498875618 0.334277719259 +vn -0.042874984443 -0.941498875618 0.334277719259 +vn -0.132983490825 -0.834781706333 0.534279823303 +vn 0.099432311952 -0.850939333439 0.515766859055 +vn -0.964359700680 0.172863632441 -0.200321212411 +vn -0.994616329670 0.103621371090 0.001013222034 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.992123544216 0.107160180807 0.064866028726 +vn -0.964359700680 0.172863632441 -0.200321212411 +vn -0.867924034595 -0.260958462954 0.422621041536 +vn -0.900042414665 -0.367482185364 0.234265789390 +vn -0.982467770576 0.013177152723 0.185966104269 +vn -0.982467770576 0.013177152723 0.185966104269 +vn -0.940244019032 -0.092775426805 0.327618628740 +vn -0.867924034595 -0.260958462954 0.422621041536 +vn -0.725106775761 -0.420382618904 0.545434296131 +vn -0.722536802292 -0.635164976120 0.272957891226 +vn -0.900042414665 -0.367482185364 0.234265789390 +vn -0.900042414665 -0.367482185364 0.234265789390 +vn -0.867924034595 -0.260958462954 0.422621041536 +vn -0.725106775761 -0.420382618904 0.545434296131 +vn -0.722536802292 -0.635164976120 0.272957891226 +vn -0.725106775761 -0.420382618904 0.545434296131 +vn -0.643752753735 -0.493780285120 0.584605395794 +vn -0.643752753735 -0.493780285120 0.584605395794 +vn -0.590967774391 -0.706974327564 0.388515591621 +vn -0.722536802292 -0.635164976120 0.272957891226 +vn -0.533770442009 -0.580261945724 0.615130186081 +vn -0.370591431856 -0.795985579491 0.478611499071 +vn -0.590967774391 -0.706974327564 0.388515591621 +vn -0.590967774391 -0.706974327564 0.388515591621 +vn -0.643752753735 -0.493780285120 0.584605395794 +vn -0.533770442009 -0.580261945724 0.615130186081 +vn -0.399518489838 -0.542610168457 0.738890528679 +vn -0.132983490825 -0.834781706333 0.534279823303 +vn -0.370591431856 -0.795985579491 0.478611499071 +vn -0.370591431856 -0.795985579491 0.478611499071 +vn -0.533770442009 -0.580261945724 0.615130186081 +vn -0.399518489838 -0.542610168457 0.738890528679 +vn -0.011365610175 -0.569823741913 0.821688354015 +vn 0.099432311952 -0.850939333439 0.515766859055 +vn -0.132983490825 -0.834781706333 0.534279823303 +vn -0.132983490825 -0.834781706333 0.534279823303 +vn -0.399518489838 -0.542610168457 0.738890528679 +vn -0.011365610175 -0.569823741913 0.821688354015 +vn -0.399518489838 -0.542610168457 0.738890528679 +vn -0.375407576561 0.093609236181 0.922120630741 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn -0.011365610175 -0.569823741913 0.821688354015 +vn -0.399518489838 -0.542610168457 0.738890528679 +vn -0.399518489838 -0.542610168457 0.738890528679 +vn -0.533770442009 -0.580261945724 0.615130186081 +vn -0.455631524324 -0.168883621693 0.874001264572 +vn -0.455631524324 -0.168883621693 0.874001264572 +vn -0.375407576561 0.093609236181 0.922120630741 +vn -0.399518489838 -0.542610168457 0.738890528679 +vn -0.533770442009 -0.580261945724 0.615130186081 +vn -0.643752753735 -0.493780285120 0.584605395794 +vn -0.602344691753 -0.280756384134 0.747232735157 +vn -0.602344691753 -0.280756384134 0.747232735157 +vn -0.455631524324 -0.168883621693 0.874001264572 +vn -0.533770442009 -0.580261945724 0.615130186081 +vn -0.759057343006 -0.301369190216 0.577068984509 +vn -0.602344691753 -0.280756384134 0.747232735157 +vn -0.643752753735 -0.493780285120 0.584605395794 +vn -0.643752753735 -0.493780285120 0.584605395794 +vn -0.725106775761 -0.420382618904 0.545434296131 +vn -0.759057343006 -0.301369190216 0.577068984509 +vn -0.867924034595 -0.260958462954 0.422621041536 +vn -0.931911706924 -0.215440362692 0.291763722897 +vn -0.759057343006 -0.301369190216 0.577068984509 +vn -0.759057343006 -0.301369190216 0.577068984509 +vn -0.725106775761 -0.420382618904 0.545434296131 +vn -0.867924034595 -0.260958462954 0.422621041536 +vn -0.994666993618 -0.069035917521 0.076626136899 +vn -0.931911706924 -0.215440362692 0.291763722897 +vn -0.867924034595 -0.260958462954 0.422621041536 +vn -0.867924034595 -0.260958462954 0.422621041536 +vn -0.940244019032 -0.092775426805 0.327618628740 +vn -0.994666993618 -0.069035917521 0.076626136899 +vn -0.940244019032 -0.092775426805 0.327618628740 +vn -0.982467770576 0.013177152723 0.185966104269 +vn -0.999725461006 0.019930899143 0.012318536639 +vn -0.999725461006 0.019930899143 0.012318536639 +vn -0.994666993618 -0.069035917521 0.076626136899 +vn -0.940244019032 -0.092775426805 0.327618628740 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.994616329670 0.103621371090 0.001013222034 +vn -0.999725461006 0.019930899143 0.012318536639 +vn -0.999725461006 0.019930899143 0.012318536639 +vn -0.982467770576 0.013177152723 0.185966104269 +vn -0.977001428604 0.139837592840 0.160977154970 +vn -0.746083080769 0.133082449436 -0.652417898178 +vn -0.760778129101 0.260384917259 -0.594488263130 +vn -0.915636658669 0.071842692792 -0.395535230637 +vn -0.915636658669 0.071842692792 -0.395535230637 +vn -0.964359700680 0.172863632441 -0.200321212411 +vn -0.746083080769 0.133082449436 -0.652417898178 +vn -0.989076316357 -0.038925040513 -0.142172202468 +vn -0.999725461006 0.019930899143 0.012318536639 +vn -0.994616329670 0.103621371090 0.001013222034 +vn -0.994616329670 0.103621371090 0.001013222034 +vn -0.971966803074 0.001679895911 -0.235112071037 +vn -0.989076316357 -0.038925040513 -0.142172202468 +vn -0.987796187401 -0.113843455911 -0.106294021010 +vn -0.994666993618 -0.069035917521 0.076626136899 +vn -0.999725461006 0.019930899143 0.012318536639 +vn -0.999725461006 0.019930899143 0.012318536639 +vn -0.989076316357 -0.038925040513 -0.142172202468 +vn -0.987796187401 -0.113843455911 -0.106294021010 +vn -0.964661836624 -0.263473212719 -0.003073681612 +vn -0.931911706924 -0.215440362692 0.291763722897 +vn -0.994666993618 -0.069035917521 0.076626136899 +vn -0.994666993618 -0.069035917521 0.076626136899 +vn -0.987796187401 -0.113843455911 -0.106294021010 +vn -0.964661836624 -0.263473212719 -0.003073681612 +vn -0.915060877800 -0.357950210571 0.185836642981 +vn -0.759057343006 -0.301369190216 0.577068984509 +vn -0.931911706924 -0.215440362692 0.291763722897 +vn -0.931911706924 -0.215440362692 0.291763722897 +vn -0.964661836624 -0.263473212719 -0.003073681612 +vn -0.915060877800 -0.357950210571 0.185836642981 +vn -0.837945520878 -0.316482156515 0.444619327784 +vn -0.602344691753 -0.280756384134 0.747232735157 +vn -0.759057343006 -0.301369190216 0.577068984509 +vn -0.759057343006 -0.301369190216 0.577068984509 +vn -0.915060877800 -0.357950210571 0.185836642981 +vn -0.837945520878 -0.316482156515 0.444619327784 +vn -0.659957766533 -0.041379831731 0.750162303448 +vn -0.455631524324 -0.168883621693 0.874001264572 +vn -0.602344691753 -0.280756384134 0.747232735157 +vn -0.602344691753 -0.280756384134 0.747232735157 +vn -0.837945520878 -0.316482156515 0.444619327784 +vn -0.659957766533 -0.041379831731 0.750162303448 +vn -0.395720273256 0.369814962149 0.840620219707 +vn -0.375407576561 0.093609236181 0.922120630741 +vn -0.455631524324 -0.168883621693 0.874001264572 +vn -0.455631524324 -0.168883621693 0.874001264572 +vn -0.659957766533 -0.041379831731 0.750162303448 +vn -0.395720273256 0.369814962149 0.840620219707 +vn -0.217910498381 0.339262723923 0.915104269981 +vn -0.212129950523 0.227813541889 0.950316727161 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn -0.375407576561 0.093609236181 0.922120630741 +vn -0.217910498381 0.339262723923 0.915104269981 +vn -0.191797509789 0.434196591377 0.880163073540 +vn -0.217910498381 0.339262723923 0.915104269981 +vn -0.375407576561 0.093609236181 0.922120630741 +vn -0.375407576561 0.093609236181 0.922120630741 +vn -0.395720273256 0.369814962149 0.840620219707 +vn -0.191797509789 0.434196591377 0.880163073540 +vn -0.427307009697 0.517403364182 0.741419196129 +vn -0.191797509789 0.434196591377 0.880163073540 +vn -0.395720273256 0.369814962149 0.840620219707 +vn -0.395720273256 0.369814962149 0.840620219707 +vn -0.535577595234 0.507573664188 0.674926340580 +vn -0.427307009697 0.517403364182 0.741419196129 +vn -0.773666918278 0.195886433125 0.602551281452 +vn -0.535577595234 0.507573664188 0.674926340580 +vn -0.395720273256 0.369814962149 0.840620219707 +vn -0.395720273256 0.369814962149 0.840620219707 +vn -0.659957766533 -0.041379831731 0.750162303448 +vn -0.773666918278 0.195886433125 0.602551281452 +vn -0.898037970066 -0.009601750411 0.439813166857 +vn -0.773666918278 0.195886433125 0.602551281452 +vn -0.659957766533 -0.041379831731 0.750162303448 +vn -0.659957766533 -0.041379831731 0.750162303448 +vn -0.837945520878 -0.316482156515 0.444619327784 +vn -0.898037970066 -0.009601750411 0.439813166857 +vn -0.963670790195 -0.085356377065 0.253086805344 +vn -0.898037970066 -0.009601750411 0.439813166857 +vn -0.837945520878 -0.316482156515 0.444619327784 +vn -0.837945520878 -0.316482156515 0.444619327784 +vn -0.915060877800 -0.357950210571 0.185836642981 +vn -0.963670790195 -0.085356377065 0.253086805344 +vn -0.984421253204 -0.134353876114 0.113419070840 +vn -0.963670790195 -0.085356377065 0.253086805344 +vn -0.915060877800 -0.357950210571 0.185836642981 +vn -0.915060877800 -0.357950210571 0.185836642981 +vn -0.964661836624 -0.263473212719 -0.003073681612 +vn -0.984421253204 -0.134353876114 0.113419070840 +vn -0.964661836624 -0.263473212719 -0.003073681612 +vn -0.987796187401 -0.113843455911 -0.106294021010 +vn -0.997844159603 -0.060008797795 0.026569990441 +vn -0.997844159603 -0.060008797795 0.026569990441 +vn -0.984421253204 -0.134353876114 0.113419070840 +vn -0.964661836624 -0.263473212719 -0.003073681612 +vn -0.996333360672 0.068236447871 -0.051610436291 +vn -0.997844159603 -0.060008797795 0.026569990441 +vn -0.987796187401 -0.113843455911 -0.106294021010 +vn -0.987796187401 -0.113843455911 -0.106294021010 +vn -0.989076316357 -0.038925040513 -0.142172202468 +vn -0.996333360672 0.068236447871 -0.051610436291 +vn -0.989076316357 -0.038925040513 -0.142172202468 +vn -0.971966803074 0.001679895911 -0.235112071037 +vn -0.953527510166 0.177026733756 -0.243817120790 +vn -0.953527510166 0.177026733756 -0.243817120790 +vn -0.996333360672 0.068236447871 -0.051610436291 +vn -0.989076316357 -0.038925040513 -0.142172202468 +vn -0.964359700680 0.172863632441 -0.200321212411 +vn -0.915636658669 0.071842692792 -0.395535230637 +vn -0.971966803074 0.001679895911 -0.235112071037 +vn -0.971966803074 0.001679895911 -0.235112071037 +vn -0.994616329670 0.103621371090 0.001013222034 +vn -0.964359700680 0.172863632441 -0.200321212411 +vn -0.971966803074 0.001679895911 -0.235112071037 +vn -0.915636658669 0.071842692792 -0.395535230637 +vn -0.760778129101 0.260384917259 -0.594488263130 +vn -0.760778129101 0.260384917259 -0.594488263130 +vn -0.953527510166 0.177026733756 -0.243817120790 +vn -0.971966803074 0.001679895911 -0.235112071037 +vn -0.746083080769 0.133082449436 -0.652417898178 +vn -0.492909461260 -0.012797347270 -0.869986474514 +vn -0.406314909458 0.302539587021 -0.862193703651 +vn -0.406314909458 0.302539587021 -0.862193703651 +vn -0.760778129101 0.260384917259 -0.594488263130 +vn -0.746083080769 0.133082449436 -0.652417898178 +vn -0.492909461260 -0.012797347270 -0.869986474514 +vn -0.091410763562 -0.033696297556 -0.995243012905 +vn -0.028911255300 0.248572260141 -0.968181788921 +vn -0.028911255300 0.248572260141 -0.968181788921 +vn -0.406314909458 0.302539587021 -0.862193703651 +vn -0.492909461260 -0.012797347270 -0.869986474514 +vn -0.329013854265 0.770135164261 0.546481192112 +vn -0.427307009697 0.517403364182 0.741419196129 +vn -0.535577595234 0.507573664188 0.674926340580 +vn -0.535577595234 0.507573664188 0.674926340580 +vn -0.452492952347 0.644353330135 0.616489171982 +vn -0.329013854265 0.770135164261 0.546481192112 +vn -0.773666918278 0.195886433125 0.602551281452 +vn -0.583555281162 0.562829434872 0.585394084454 +vn -0.452492952347 0.644353330135 0.616489171982 +vn -0.452492952347 0.644353330135 0.616489171982 +vn -0.535577595234 0.507573664188 0.674926340580 +vn -0.773666918278 0.195886433125 0.602551281452 +vn -0.773666918278 0.195886433125 0.602551281452 +vn -0.898037970066 -0.009601750411 0.439813166857 +vn -0.727042436600 0.392065703869 0.563643276691 +vn -0.727042436600 0.392065703869 0.563643276691 +vn -0.583555281162 0.562829434872 0.585394084454 +vn -0.773666918278 0.195886433125 0.602551281452 +vn -0.963670790195 -0.085356377065 0.253086805344 +vn -0.818493127823 0.307605028152 0.485230028629 +vn -0.727042436600 0.392065703869 0.563643276691 +vn -0.727042436600 0.392065703869 0.563643276691 +vn -0.898037970066 -0.009601750411 0.439813166857 +vn -0.963670790195 -0.085356377065 0.253086805344 +vn -0.963670790195 -0.085356377065 0.253086805344 +vn -0.984421253204 -0.134353876114 0.113419070840 +vn -0.876592457294 0.223390161991 0.426242262125 +vn -0.876592457294 0.223390161991 0.426242262125 +vn -0.818493127823 0.307605028152 0.485230028629 +vn -0.963670790195 -0.085356377065 0.253086805344 +vn -0.984421253204 -0.134353876114 0.113419070840 +vn -0.997844159603 -0.060008797795 0.026569990441 +vn -0.916528403759 0.191852614284 0.350953310728 +vn -0.916528403759 0.191852614284 0.350953310728 +vn -0.876592457294 0.223390161991 0.426242262125 +vn -0.984421253204 -0.134353876114 0.113419070840 +vn -0.997844159603 -0.060008797795 0.026569990441 +vn -0.996333360672 0.068236447871 -0.051610436291 +vn -0.928365826607 0.321700394154 0.186133533716 +vn -0.928365826607 0.321700394154 0.186133533716 +vn -0.916528403759 0.191852614284 0.350953310728 +vn -0.997844159603 -0.060008797795 0.026569990441 +vn -0.996333360672 0.068236447871 -0.051610436291 +vn -0.953527510166 0.177026733756 -0.243817120790 +vn -0.855468750000 0.511627614498 -0.080065056682 +vn -0.855468750000 0.511627614498 -0.080065056682 +vn -0.928365826607 0.321700394154 0.186133533716 +vn -0.996333360672 0.068236447871 -0.051610436291 +vn -0.953527510166 0.177026733756 -0.243817120790 +vn -0.760778129101 0.260384917259 -0.594488263130 +vn -0.624914050102 0.641845524311 -0.444428503513 +vn -0.624914050102 0.641845524311 -0.444428503513 +vn -0.855468750000 0.511627614498 -0.080065056682 +vn -0.953527510166 0.177026733756 -0.243817120790 +vn -0.760778129101 0.260384917259 -0.594488263130 +vn -0.406314909458 0.302539587021 -0.862193703651 +vn -0.282768219709 0.664981305599 -0.691261172295 +vn -0.282768219709 0.664981305599 -0.691261172295 +vn -0.624914050102 0.641845524311 -0.444428503513 +vn -0.760778129101 0.260384917259 -0.594488263130 +vn 0.011481816880 0.636885046959 -0.770873308182 +vn -0.282768219709 0.664981305599 -0.691261172295 +vn -0.406314909458 0.302539587021 -0.862193703651 +vn -0.406314909458 0.302539587021 -0.862193703651 +vn -0.028911255300 0.248572260141 -0.968181788921 +vn 0.011481816880 0.636885046959 -0.770873308182 +vn -0.583555281162 0.562829434872 0.585394084454 +vn -0.398361533880 0.768928885460 0.500056445599 +vn -0.329013854265 0.770135164261 0.546481192112 +vn -0.329013854265 0.770135164261 0.546481192112 +vn -0.452492952347 0.644353330135 0.616489171982 +vn -0.583555281162 0.562829434872 0.585394084454 +vn -0.583555281162 0.562829434872 0.585394084454 +vn -0.727042436600 0.392065703869 0.563643276691 +vn -0.561793684959 0.644772768021 0.518320322037 +vn -0.561793684959 0.644772768021 0.518320322037 +vn -0.398361533880 0.768928885460 0.500056445599 +vn -0.583555281162 0.562829434872 0.585394084454 +vn -0.727042436600 0.392065703869 0.563643276691 +vn -0.818493127823 0.307605028152 0.485230028629 +vn -0.698581337929 0.486032783985 0.525124967098 +vn -0.698581337929 0.486032783985 0.525124967098 +vn -0.561793684959 0.644772768021 0.518320322037 +vn -0.727042436600 0.392065703869 0.563643276691 +vn -0.818493127823 0.307605028152 0.485230028629 +vn -0.876592457294 0.223390161991 0.426242262125 +vn -0.762003898621 0.412130415440 0.499498367310 +vn -0.762003898621 0.412130415440 0.499498367310 +vn -0.698581337929 0.486032783985 0.525124967098 +vn -0.818493127823 0.307605028152 0.485230028629 +vn -0.839617133141 0.349256485701 0.416008383036 +vn -0.762003898621 0.412130415440 0.499498367310 +vn -0.876592457294 0.223390161991 0.426242262125 +vn -0.876592457294 0.223390161991 0.426242262125 +vn -0.916528403759 0.191852614284 0.350953310728 +vn -0.839617133141 0.349256485701 0.416008383036 +vn -0.928365826607 0.321700394154 0.186133533716 +vn -0.866007030010 0.441917747259 0.233966961503 +vn -0.839617133141 0.349256485701 0.416008383036 +vn -0.839617133141 0.349256485701 0.416008383036 +vn -0.916528403759 0.191852614284 0.350953310728 +vn -0.928365826607 0.321700394154 0.186133533716 +vn -0.928365826607 0.321700394154 0.186133533716 +vn -0.855468750000 0.511627614498 -0.080065056682 +vn -0.776705801487 0.629756927490 0.011586484499 +vn -0.776705801487 0.629756927490 0.011586484499 +vn -0.866007030010 0.441917747259 0.233966961503 +vn -0.928365826607 0.321700394154 0.186133533716 +vn -0.523762464523 0.784509122372 -0.331991434097 +vn -0.776705801487 0.629756927490 0.011586484499 +vn -0.855468750000 0.511627614498 -0.080065056682 +vn -0.855468750000 0.511627614498 -0.080065056682 +vn -0.624914050102 0.641845524311 -0.444428503513 +vn -0.523762464523 0.784509122372 -0.331991434097 +vn -0.624914050102 0.641845524311 -0.444428503513 +vn -0.282768219709 0.664981305599 -0.691261172295 +vn -0.206527620554 0.787486314774 -0.580699265003 +vn -0.206527620554 0.787486314774 -0.580699265003 +vn -0.523762464523 0.784509122372 -0.331991434097 +vn -0.624914050102 0.641845524311 -0.444428503513 +vn -0.282768219709 0.664981305599 -0.691261172295 +vn 0.011481816880 0.636885046959 -0.770873308182 +vn 0.031884565949 0.757848381996 -0.651651144028 +vn 0.031884565949 0.757848381996 -0.651651144028 +vn -0.206527620554 0.787486314774 -0.580699265003 +vn -0.282768219709 0.664981305599 -0.691261172295 +vn -0.126013457775 -0.373803198338 0.918907940388 +vn -0.102777846158 -0.450431048870 0.886875748634 +vn 0.013011713512 -0.459181368351 0.888247251511 +vn 0.013011713512 -0.459181368351 0.888247251511 +vn 0.016504848376 -0.369534045458 0.929070591927 +vn -0.126013457775 -0.373803198338 0.918907940388 +vn 0.080218009651 -0.410371363163 0.908383429050 +vn 0.078862175345 -0.381660461426 0.920932173729 +vn 0.016504848376 -0.369534045458 0.929070591927 +vn 0.016504848376 -0.369534045458 0.929070591927 +vn 0.013011713512 -0.459181368351 0.888247251511 +vn 0.080218009651 -0.410371363163 0.908383429050 +vn -0.153125435114 -0.193988814950 0.968979299068 +vn 0.078862175345 -0.381660461426 0.920932173729 +vn 0.080218009651 -0.410371363163 0.908383429050 +vn 0.080218009651 -0.410371363163 0.908383429050 +vn -0.063901998103 -0.398544043303 0.914920330048 +vn -0.153125435114 -0.193988814950 0.968979299068 +vn -0.410691499710 0.290064156055 0.864404559135 +vn -0.153125435114 -0.193988814950 0.968979299068 +vn -0.063901998103 -0.398544043303 0.914920330048 +vn -0.063901998103 -0.398544043303 0.914920330048 +vn -0.249645799398 0.220579460263 0.942879438400 +vn -0.410691499710 0.290064156055 0.864404559135 +vn -0.140696853399 0.584784626961 0.798893809319 +vn -0.410691499710 0.290064156055 0.864404559135 +vn -0.249645799398 0.220579460263 0.942879438400 +vn -0.249645799398 0.220579460263 0.942879438400 +vn -0.105937428772 0.694840073586 0.711318850517 +vn -0.140696853399 0.584784626961 0.798893809319 +vn -0.027015432715 0.338717550039 0.940500199795 +vn -0.140696853399 0.584784626961 0.798893809319 +vn -0.105937428772 0.694840073586 0.711318850517 +vn -0.105937428772 0.694840073586 0.711318850517 +vn 0.009658423252 0.446354955435 0.894803881645 +vn -0.027015432715 0.338717550039 0.940500199795 +vn -0.279472678900 0.108999013901 0.953946650028 +vn -0.027015432715 0.338717550039 0.940500199795 +vn 0.009658423252 0.446354955435 0.894803881645 +vn 0.009658423252 0.446354955435 0.894803881645 +vn -0.266394942999 0.146734341979 0.952629387379 +vn -0.279472678900 0.108999013901 0.953946650028 +vn -0.537447929382 0.114899255335 0.835432767868 +vn -0.553700327873 0.070910565555 0.829691290855 +vn -0.279472678900 0.108999013901 0.953946650028 +vn -0.279472678900 0.108999013901 0.953946650028 +vn -0.266394942999 0.146734341979 0.952629387379 +vn -0.537447929382 0.114899255335 0.835432767868 +vn -0.769504010677 0.079040892422 0.633731842041 +vn -0.553700327873 0.070910565555 0.829691290855 +vn -0.537447929382 0.114899255335 0.835432767868 +vn -0.537447929382 0.114899255335 0.835432767868 +vn -0.685811817646 0.249726369977 0.683592677116 +vn -0.769504010677 0.079040892422 0.633731842041 +vn -0.677909493446 0.067609973252 0.732029795647 +vn -0.769504010677 0.079040892422 0.633731842041 +vn -0.685811817646 0.249726369977 0.683592677116 +vn -0.685811817646 0.249726369977 0.683592677116 +vn -0.710882127285 0.139447763562 0.689348161221 +vn -0.677909493446 0.067609973252 0.732029795647 +vn -0.606147646904 -0.230062335730 0.761351704597 +vn -0.677909493446 0.067609973252 0.732029795647 +vn -0.710882127285 0.139447763562 0.689348161221 +vn -0.710882127285 0.139447763562 0.689348161221 +vn -0.630098760128 -0.243901118636 0.737216234207 +vn -0.606147646904 -0.230062335730 0.761351704597 +vn -0.599996566772 -0.402166903019 0.691567718983 +vn -0.606147646904 -0.230062335730 0.761351704597 +vn -0.630098760128 -0.243901118636 0.737216234207 +vn -0.630098760128 -0.243901118636 0.737216234207 +vn -0.503107845783 -0.454628795385 0.734979689121 +vn -0.599996566772 -0.402166903019 0.691567718983 +vn -0.428883343935 -0.397854208946 0.811030864716 +vn -0.599996566772 -0.402166903019 0.691567718983 +vn -0.503107845783 -0.454628795385 0.734979689121 +vn -0.503107845783 -0.454628795385 0.734979689121 +vn -0.273829430342 -0.547039330006 0.791053354740 +vn -0.428883343935 -0.397854208946 0.811030864716 +vn -0.428883343935 -0.397854208946 0.811030864716 +vn -0.273829430342 -0.547039330006 0.791053354740 +vn -0.102777846158 -0.450431048870 0.886875748634 +vn -0.102777846158 -0.450431048870 0.886875748634 +vn -0.126013457775 -0.373803198338 0.918907940388 +vn -0.428883343935 -0.397854208946 0.811030864716 +vn -0.102777846158 -0.450431048870 0.886875748634 +vn 0.036760635674 -0.803918957710 0.593601703644 +vn -0.084034346044 -0.807875812054 0.583330869675 +vn -0.084034346044 -0.807875812054 0.583330869675 +vn 0.013011713512 -0.459181368351 0.888247251511 +vn -0.102777846158 -0.450431048870 0.886875748634 +vn 0.080218009651 -0.410371363163 0.908383429050 +vn 0.013011713512 -0.459181368351 0.888247251511 +vn -0.084034346044 -0.807875812054 0.583330869675 +vn -0.084034346044 -0.807875812054 0.583330869675 +vn -0.109498061240 -0.629230618477 0.769466698170 +vn 0.080218009651 -0.410371363163 0.908383429050 +vn -0.063901998103 -0.398544043303 0.914920330048 +vn 0.080218009651 -0.410371363163 0.908383429050 +vn -0.109498061240 -0.629230618477 0.769466698170 +vn -0.109498061240 -0.629230618477 0.769466698170 +vn -0.221097260714 -0.580378770828 0.783757925034 +vn -0.063901998103 -0.398544043303 0.914920330048 +vn -0.249645799398 0.220579460263 0.942879438400 +vn -0.063901998103 -0.398544043303 0.914920330048 +vn -0.221097260714 -0.580378770828 0.783757925034 +vn -0.221097260714 -0.580378770828 0.783757925034 +vn -0.685548245907 0.317658185959 0.655070185661 +vn -0.249645799398 0.220579460263 0.942879438400 +vn -0.105937428772 0.694840073586 0.711318850517 +vn -0.249645799398 0.220579460263 0.942879438400 +vn -0.685548245907 0.317658185959 0.655070185661 +vn -0.685548245907 0.317658185959 0.655070185661 +vn -0.600660264492 0.792620480061 0.104690179229 +vn -0.105937428772 0.694840073586 0.711318850517 +vn 0.009658423252 0.446354955435 0.894803881645 +vn -0.105937428772 0.694840073586 0.711318850517 +vn -0.600660264492 0.792620480061 0.104690179229 +vn -0.600660264492 0.792620480061 0.104690179229 +vn -0.069257460535 0.874967575073 0.479202568531 +vn 0.009658423252 0.446354955435 0.894803881645 +vn -0.265599220991 0.522465229034 0.810238957405 +vn -0.266394942999 0.146734341979 0.952629387379 +vn 0.009658423252 0.446354955435 0.894803881645 +vn 0.009658423252 0.446354955435 0.894803881645 +vn -0.069257460535 0.874967575073 0.479202568531 +vn -0.265599220991 0.522465229034 0.810238957405 +vn -0.537447929382 0.114899255335 0.835432767868 +vn -0.266394942999 0.146734341979 0.952629387379 +vn -0.265599220991 0.522465229034 0.810238957405 +vn -0.265599220991 0.522465229034 0.810238957405 +vn -0.446344643831 0.362028479576 0.818359255791 +vn -0.537447929382 0.114899255335 0.835432767868 +vn -0.685811817646 0.249726369977 0.683592677116 +vn -0.537447929382 0.114899255335 0.835432767868 +vn -0.446344643831 0.362028479576 0.818359255791 +vn -0.446344643831 0.362028479576 0.818359255791 +vn -0.504875242710 0.559537291527 0.657281517982 +vn -0.685811817646 0.249726369977 0.683592677116 +vn -0.710882127285 0.139447763562 0.689348161221 +vn -0.685811817646 0.249726369977 0.683592677116 +vn -0.504875242710 0.559537291527 0.657281517982 +vn -0.504875242710 0.559537291527 0.657281517982 +vn -0.336613386869 0.544670164585 0.768131375313 +vn -0.710882127285 0.139447763562 0.689348161221 +vn -0.630098760128 -0.243901118636 0.737216234207 +vn -0.710882127285 0.139447763562 0.689348161221 +vn -0.336613386869 0.544670164585 0.768131375313 +vn -0.336613386869 0.544670164585 0.768131375313 +vn -0.102486148477 -0.211847081780 0.971914291382 +vn -0.630098760128 -0.243901118636 0.737216234207 +vn -0.503107845783 -0.454628795385 0.734979689121 +vn -0.630098760128 -0.243901118636 0.737216234207 +vn -0.102486148477 -0.211847081780 0.971914291382 +vn -0.102486148477 -0.211847081780 0.971914291382 +vn -0.255514144897 -0.578030169010 0.774979770184 +vn -0.503107845783 -0.454628795385 0.734979689121 +vn 0.011388301849 -0.758041679859 0.652106702328 +vn -0.273829430342 -0.547039330006 0.791053354740 +vn -0.503107845783 -0.454628795385 0.734979689121 +vn -0.503107845783 -0.454628795385 0.734979689121 +vn -0.255514144897 -0.578030169010 0.774979770184 +vn 0.011388301849 -0.758041679859 0.652106702328 +vn 0.036760635674 -0.803918957710 0.593601703644 +vn -0.102777846158 -0.450431048870 0.886875748634 +vn -0.273829430342 -0.547039330006 0.791053354740 +vn -0.273829430342 -0.547039330006 0.791053354740 +vn 0.011388301849 -0.758041679859 0.652106702328 +vn 0.036760635674 -0.803918957710 0.593601703644 +vn -0.719880223274 0.496003329754 0.485544234514 +vn -0.596428692341 0.562675476074 0.572423934937 +vn -0.741860687733 0.398763775826 0.539101243019 +vn -0.741860687733 0.398763775826 0.539101243019 +vn -0.745369732380 0.574101984501 0.338866978884 +vn -0.719880223274 0.496003329754 0.485544234514 +vn -0.647695779800 0.510680079460 0.565416753292 +vn -0.719880223274 0.496003329754 0.485544234514 +vn -0.774322211742 0.506421625614 0.379423618317 +vn -0.774322211742 0.506421625614 0.379423618317 +vn -0.604330658913 0.579120814800 0.547177731991 +vn -0.647695779800 0.510680079460 0.565416753292 +vn -0.129079088569 0.182803943753 0.974639058113 +vn 0.256318479776 0.039006829262 0.965804994106 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn -0.451884835958 -0.352392107248 0.819524168968 +vn -0.129079088569 0.182803943753 0.974639058113 +vn 0.174813181162 0.397422939539 0.900830388069 +vn 0.143435344100 0.498812109232 0.854758918285 +vn -0.148606613278 0.474946022034 0.867376685143 +vn -0.148606613278 0.474946022034 0.867376685143 +vn -0.125801399350 0.381812900305 0.915637969971 +vn 0.174813181162 0.397422939539 0.900830388069 +vn 0.116708174348 -0.953639626503 0.277399748564 +vn 0.138890832663 -0.801826655865 0.581191301346 +vn -0.112893626094 -0.793193936348 0.598413288593 +vn -0.112893626094 -0.793193936348 0.598413288593 +vn -0.042874984443 -0.941498875618 0.334277719259 +vn 0.116708174348 -0.953639626503 0.277399748564 +vn 0.815317630768 0.471812427044 0.335633963346 +vn 0.868730366230 0.328395128250 0.370761603117 +vn 0.715422451496 0.350363373756 0.604496717453 +vn 0.715422451496 0.350363373756 0.604496717453 +vn 0.712246954441 0.480327963829 0.511848926544 +vn 0.815317630768 0.471812427044 0.335633963346 +vn 0.880656659603 0.431369334459 0.195868119597 +vn 0.913611531258 0.350178182125 0.206613779068 +vn 0.868730366230 0.328395128250 0.370761603117 +vn 0.868730366230 0.328395128250 0.370761603117 +vn 0.815317630768 0.471812427044 0.335633963346 +vn 0.880656659603 0.431369334459 0.195868119597 +vn 0.913611531258 0.350178182125 0.206613779068 +vn 0.880656659603 0.431369334459 0.195868119597 +vn 0.959631383419 0.240150228143 0.146408542991 +vn 0.959631383419 0.240150228143 0.146408542991 +vn 0.932681202888 0.163048297167 0.321746885777 +vn 0.913611531258 0.350178182125 0.206613779068 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.617744982243 0.553522169590 0.558573484421 +vn 0.502289772034 0.579192757607 0.642059743404 +vn 0.502289772034 0.579192757607 0.642059743404 +vn 0.460474193096 0.810446918011 0.362131565809 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.693422079086 0.040879141539 0.719371080399 +vn 0.297506958246 0.235928297043 0.925109446049 +vn 0.502289772034 0.579192757607 0.642059743404 +vn 0.502289772034 0.579192757607 0.642059743404 +vn 0.715422451496 0.350363373756 0.604496717453 +vn 0.693422079086 0.040879141539 0.719371080399 +vn 0.916819691658 0.095807664096 0.387637108564 +vn 0.693422079086 0.040879141539 0.719371080399 +vn 0.715422451496 0.350363373756 0.604496717453 +vn 0.715422451496 0.350363373756 0.604496717453 +vn 0.868730366230 0.328395128250 0.370761603117 +vn 0.916819691658 0.095807664096 0.387637108564 +vn 0.978968083858 0.184593155980 0.086872689426 +vn 0.916819691658 0.095807664096 0.387637108564 +vn 0.868730366230 0.328395128250 0.370761603117 +vn 0.868730366230 0.328395128250 0.370761603117 +vn 0.913611531258 0.350178182125 0.206613779068 +vn 0.978968083858 0.184593155980 0.086872689426 +vn 0.945089697838 0.192533746362 0.264076173306 +vn 0.978968083858 0.184593155980 0.086872689426 +vn 0.913611531258 0.350178182125 0.206613779068 +vn 0.913611531258 0.350178182125 0.206613779068 +vn 0.932681202888 0.163048297167 0.321746885777 +vn 0.945089697838 0.192533746362 0.264076173306 +vn 0.502289772034 0.579192757607 0.642059743404 +vn 0.297506958246 0.235928297043 0.925109446049 +vn 0.184095010161 0.707548022270 0.682264506817 +vn 0.184095010161 0.707548022270 0.682264506817 +vn 0.460474193096 0.810446918011 0.362131565809 +vn 0.502289772034 0.579192757607 0.642059743404 +vn 0.763267517090 0.574969351292 0.294674217701 +vn 0.750932097435 0.635434091091 0.179790079594 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.460474193096 0.810446918011 0.362131565809 +vn 0.763267517090 0.574969351292 0.294674217701 +vn 0.646276831627 0.492995202541 0.582479178905 +vn 0.763267517090 0.574969351292 0.294674217701 +vn 0.460474193096 0.810446918011 0.362131565809 +vn 0.460474193096 0.810446918011 0.362131565809 +vn 0.184095010161 0.707548022270 0.682264506817 +vn 0.646276831627 0.492995202541 0.582479178905 +vn 0.751718580723 0.003752671881 0.659473359585 +vn 0.723643064499 0.199117779732 0.660827338696 +vn 0.750932097435 0.635434091091 0.179790079594 +vn 0.750932097435 0.635434091091 0.179790079594 +vn 0.763267517090 0.574969351292 0.294674217701 +vn 0.751718580723 0.003752671881 0.659473359585 +vn 0.564134895802 -0.143683999777 0.813084661961 +vn 0.751718580723 0.003752671881 0.659473359585 +vn 0.763267517090 0.574969351292 0.294674217701 +vn 0.763267517090 0.574969351292 0.294674217701 +vn 0.646276831627 0.492995202541 0.582479178905 +vn 0.564134895802 -0.143683999777 0.813084661961 +vn 0.946365475655 -0.125464737415 0.297743052244 +vn 0.932904720306 -0.147877126932 0.328361213207 +vn 0.945089697838 0.192533746362 0.264076173306 +vn 0.945089697838 0.192533746362 0.264076173306 +vn 0.932681202888 0.163048297167 0.321746885777 +vn 0.946365475655 -0.125464737415 0.297743052244 +vn 0.995585680008 0.084991008043 0.039821058512 +vn 0.946365475655 -0.125464737415 0.297743052244 +vn 0.932681202888 0.163048297167 0.321746885777 +vn 0.932681202888 0.163048297167 0.321746885777 +vn 0.959631383419 0.240150228143 0.146408542991 +vn 0.995585680008 0.084991008043 0.039821058512 +vn 0.391488641500 -0.397782742977 0.829762339592 +vn 0.332400560379 0.032188046724 0.942588865757 +vn 0.723643064499 0.199117779732 0.660827338696 +vn 0.723643064499 0.199117779732 0.660827338696 +vn 0.751718580723 0.003752671881 0.659473359585 +vn 0.391488641500 -0.397782742977 0.829762339592 +vn 0.274269640446 -0.322407662868 0.905996382236 +vn 0.391488641500 -0.397782742977 0.829762339592 +vn 0.751718580723 0.003752671881 0.659473359585 +vn 0.751718580723 0.003752671881 0.659473359585 +vn 0.564134895802 -0.143683999777 0.813084661961 +vn 0.274269640446 -0.322407662868 0.905996382236 +vn 0.949858725071 -0.240486517549 0.199836567044 +vn 0.940850913525 -0.294875055552 0.166878074408 +vn 0.932904720306 -0.147877126932 0.328361213207 +vn 0.932904720306 -0.147877126932 0.328361213207 +vn 0.946365475655 -0.125464737415 0.297743052244 +vn 0.949858725071 -0.240486517549 0.199836567044 +vn 0.996004641056 0.086562149227 -0.021949866787 +vn 0.949858725071 -0.240486517549 0.199836567044 +vn 0.946365475655 -0.125464737415 0.297743052244 +vn 0.946365475655 -0.125464737415 0.297743052244 +vn 0.995585680008 0.084991008043 0.039821058512 +vn 0.996004641056 0.086562149227 -0.021949866787 +vn 0.437488079071 -0.155996456742 0.885589778423 +vn 0.382308036089 0.393014520407 0.836289525032 +vn 0.332400560379 0.032188046724 0.942588865757 +vn 0.332400560379 0.032188046724 0.942588865757 +vn 0.391488641500 -0.397782742977 0.829762339592 +vn 0.437488079071 -0.155996456742 0.885589778423 +vn 0.377220094204 -0.226272672415 0.898056626320 +vn 0.437488079071 -0.155996456742 0.885589778423 +vn 0.391488641500 -0.397782742977 0.829762339592 +vn 0.391488641500 -0.397782742977 0.829762339592 +vn 0.274269640446 -0.322407662868 0.905996382236 +vn 0.377220094204 -0.226272672415 0.898056626320 +vn 0.938949048519 -0.058859646320 0.338984102011 +vn 0.898053467274 -0.229784309864 0.375098794699 +vn 0.940850913525 -0.294875055552 0.166878074408 +vn 0.940850913525 -0.294875055552 0.166878074408 +vn 0.949858725071 -0.240486517549 0.199836567044 +vn 0.938949048519 -0.058859646320 0.338984102011 +vn 0.921359837055 0.324258625507 0.214364975691 +vn 0.938949048519 -0.058859646320 0.338984102011 +vn 0.949858725071 -0.240486517549 0.199836567044 +vn 0.949858725071 -0.240486517549 0.199836567044 +vn 0.996004641056 0.086562149227 -0.021949866787 +vn 0.921359837055 0.324258625507 0.214364975691 +vn 0.705798804760 0.015210544690 0.708248972893 +vn 0.639572858810 -0.175081178546 0.748527288437 +vn 0.898053467274 -0.229784309864 0.375098794699 +vn 0.898053467274 -0.229784309864 0.375098794699 +vn 0.938949048519 -0.058859646320 0.338984102011 +vn 0.705798804760 0.015210544690 0.708248972893 +vn 0.637871384621 0.505046308041 0.581419229507 +vn 0.705798804760 0.015210544690 0.708248972893 +vn 0.938949048519 -0.058859646320 0.338984102011 +vn 0.938949048519 -0.058859646320 0.338984102011 +vn 0.921359837055 0.324258625507 0.214364975691 +vn 0.637871384621 0.505046308041 0.581419229507 +vn 0.437488079071 -0.155996456742 0.885589778423 +vn 0.377220094204 -0.226272672415 0.898056626320 +vn 0.639572858810 -0.175081178546 0.748527288437 +vn 0.639572858810 -0.175081178546 0.748527288437 +vn 0.705798804760 0.015210544690 0.708248972893 +vn 0.437488079071 -0.155996456742 0.885589778423 +vn 0.382308036089 0.393014520407 0.836289525032 +vn 0.437488079071 -0.155996456742 0.885589778423 +vn 0.705798804760 0.015210544690 0.708248972893 +vn 0.705798804760 0.015210544690 0.708248972893 +vn 0.637871384621 0.505046308041 0.581419229507 +vn 0.382308036089 0.393014520407 0.836289525032 +vn 0.617744982243 0.553522169590 0.558573484421 +vn 0.712246954441 0.480327963829 0.511848926544 +vn 0.715422451496 0.350363373756 0.604496717453 +vn 0.715422451496 0.350363373756 0.604496717453 +vn 0.502289772034 0.579192757607 0.642059743404 +vn 0.617744982243 0.553522169590 0.558573484421 +vn 0.815317630768 0.471812427044 0.335633963346 +vn 0.712246954441 0.480327963829 0.511848926544 +vn 0.694763541222 0.453988581896 0.557851195335 +vn 0.694763541222 0.453988581896 0.557851195335 +vn 0.843756496906 0.439300507307 0.308366686106 +vn 0.815317630768 0.471812427044 0.335633963346 +vn 0.911189258099 0.404794245958 0.076653681695 +vn 0.880656659603 0.431369334459 0.195868119597 +vn 0.815317630768 0.471812427044 0.335633963346 +vn 0.815317630768 0.471812427044 0.335633963346 +vn 0.843756496906 0.439300507307 0.308366686106 +vn 0.911189258099 0.404794245958 0.076653681695 +vn 0.955230534077 0.294983744621 -0.022786777467 +vn 0.959631383419 0.240150228143 0.146408542991 +vn 0.880656659603 0.431369334459 0.195868119597 +vn 0.880656659603 0.431369334459 0.195868119597 +vn 0.911189258099 0.404794245958 0.076653681695 +vn 0.955230534077 0.294983744621 -0.022786777467 +vn 0.978925883770 0.200375735760 -0.039417244494 +vn 0.995585680008 0.084991008043 0.039821058512 +vn 0.959631383419 0.240150228143 0.146408542991 +vn 0.959631383419 0.240150228143 0.146408542991 +vn 0.955230534077 0.294983744621 -0.022786777467 +vn 0.978925883770 0.200375735760 -0.039417244494 +vn 0.995585680008 0.084991008043 0.039821058512 +vn 0.978925883770 0.200375735760 -0.039417244494 +vn 0.963288187981 0.245665282011 -0.108279429376 +vn 0.963288187981 0.245665282011 -0.108279429376 +vn 0.996004641056 0.086562149227 -0.021949866787 +vn 0.995585680008 0.084991008043 0.039821058512 +vn 0.996004641056 0.086562149227 -0.021949866787 +vn 0.963288187981 0.245665282011 -0.108279429376 +vn 0.870324015617 0.476587593555 0.124098449945 +vn 0.870324015617 0.476587593555 0.124098449945 +vn 0.921359837055 0.324258625507 0.214364975691 +vn 0.996004641056 0.086562149227 -0.021949866787 +vn 0.921359837055 0.324258625507 0.214364975691 +vn 0.870324015617 0.476587593555 0.124098449945 +vn 0.561893999577 0.628997325897 0.537249922752 +vn 0.561893999577 0.628997325897 0.537249922752 +vn 0.637871384621 0.505046308041 0.581419229507 +vn 0.921359837055 0.324258625507 0.214364975691 +vn 0.337808459997 0.583175957203 0.738776862621 +vn 0.382308036089 0.393014520407 0.836289525032 +vn 0.637871384621 0.505046308041 0.581419229507 +vn 0.637871384621 0.505046308041 0.581419229507 +vn 0.561893999577 0.628997325897 0.537249922752 +vn 0.337808459997 0.583175957203 0.738776862621 +vn 0.227718770504 0.409422904253 0.883468747139 +vn 0.332400560379 0.032188046724 0.942588865757 +vn 0.382308036089 0.393014520407 0.836289525032 +vn 0.382308036089 0.393014520407 0.836289525032 +vn 0.337808459997 0.583175957203 0.738776862621 +vn 0.227718770504 0.409422904253 0.883468747139 +vn 0.332400560379 0.032188046724 0.942588865757 +vn 0.227718770504 0.409422904253 0.883468747139 +vn 0.513990104198 0.448301106691 0.731327772141 +vn 0.513990104198 0.448301106691 0.731327772141 +vn 0.723643064499 0.199117779732 0.660827338696 +vn 0.332400560379 0.032188046724 0.942588865757 +vn 0.723643064499 0.199117779732 0.660827338696 +vn 0.513990104198 0.448301106691 0.731327772141 +vn 0.713051259518 0.673798978329 0.193785592914 +vn 0.713051259518 0.673798978329 0.193785592914 +vn 0.750932097435 0.635434091091 0.179790079594 +vn 0.723643064499 0.199117779732 0.660827338696 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.750932097435 0.635434091091 0.179790079594 +vn 0.733347594738 0.675600945950 0.075925514102 +vn 0.733347594738 0.675600945950 0.075925514102 +vn 0.708084583282 0.692552626133 0.137793600559 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.708084583282 0.692552626133 0.137793600559 +vn 0.766100347042 0.358995050192 0.533116102219 +vn 0.766100347042 0.358995050192 0.533116102219 +vn 0.617744982243 0.553522169590 0.558573484421 +vn 0.646447479725 0.689189255238 0.327297866344 +vn 0.766100347042 0.358995050192 0.533116102219 +vn 0.694763541222 0.453988581896 0.557851195335 +vn 0.712246954441 0.480327963829 0.511848926544 +vn 0.712246954441 0.480327963829 0.511848926544 +vn 0.617744982243 0.553522169590 0.558573484421 +vn 0.766100347042 0.358995050192 0.533116102219 +vn 0.694763541222 0.453988581896 0.557851195335 +vn 0.766100347042 0.358995050192 0.533116102219 +vn 0.808572351933 0.230919525027 0.541190326214 +vn 0.808572351933 0.230919525027 0.541190326214 +vn 0.695473253727 0.390722751617 0.603036224842 +vn 0.694763541222 0.453988581896 0.557851195335 +vn 0.713051259518 0.673798978329 0.193785592914 +vn 0.513990104198 0.448301106691 0.731327772141 +vn 0.391466438770 0.592203080654 0.704307854176 +vn 0.391466438770 0.592203080654 0.704307854176 +vn 0.484451025724 0.828598141670 0.280592858791 +vn 0.713051259518 0.673798978329 0.193785592914 +vn 0.753422796726 0.657339215279 -0.016101408750 +vn 0.713051259518 0.673798978329 0.193785592914 +vn 0.484451025724 0.828598141670 0.280592858791 +vn 0.484451025724 0.828598141670 0.280592858791 +vn 0.470912784338 0.849372148514 0.238344386220 +vn 0.753422796726 0.657339215279 -0.016101408750 +vn 0.766100347042 0.358995050192 0.533116102219 +vn 0.708084583282 0.692552626133 0.137793600559 +vn 0.839728236198 0.539731502533 0.059551939368 +vn 0.839728236198 0.539731502533 0.059551939368 +vn 0.808572351933 0.230919525027 0.541190326214 +vn 0.766100347042 0.358995050192 0.533116102219 +vn 0.666646242142 0.745317161083 -0.009225846268 +vn 0.802966713905 0.595613062382 0.022125337273 +vn 0.978415131569 0.206477284431 0.008421845734 +vn 0.978415131569 0.206477284431 0.008421845734 +vn 0.839728236198 0.539731502533 0.059551939368 +vn 0.666646242142 0.745317161083 -0.009225846268 +vn 0.839728236198 0.539731502533 0.059551939368 +vn 0.978415131569 0.206477284431 0.008421845734 +vn 0.927650451660 0.292795777321 0.231808677316 +vn 0.927650451660 0.292795777321 0.231808677316 +vn 0.808572351933 0.230919525027 0.541190326214 +vn 0.839728236198 0.539731502533 0.059551939368 +vn 0.927650451660 0.292795777321 0.231808677316 +vn 0.978415131569 0.206477284431 0.008421845734 +vn 0.941774845123 -0.162280142307 0.294491648674 +vn 0.941774845123 -0.162280142307 0.294491648674 +vn 0.881306648254 -0.029563881457 0.471619129181 +vn 0.927650451660 0.292795777321 0.231808677316 +vn 0.941774845123 -0.162280142307 0.294491648674 +vn 0.978415131569 0.206477284431 0.008421845734 +vn 0.802966713905 0.595613062382 0.022125337273 +vn 0.802966713905 0.595613062382 0.022125337273 +vn 0.976824223995 0.065190963447 0.203873768449 +vn 0.941774845123 -0.162280142307 0.294491648674 +vn 0.254763633013 0.450295269489 0.855762600899 +vn 0.391466438770 0.592203080654 0.704307854176 +vn 0.513990104198 0.448301106691 0.731327772141 +vn 0.513990104198 0.448301106691 0.731327772141 +vn 0.227718770504 0.409422904253 0.883468747139 +vn 0.254763633013 0.450295269489 0.855762600899 +vn 0.513759911060 0.724395990372 0.459675103426 +vn 0.561893999577 0.628997325897 0.537249922752 +vn 0.870324015617 0.476587593555 0.124098449945 +vn 0.870324015617 0.476587593555 0.124098449945 +vn 0.844890832901 0.527608036995 0.088256470859 +vn 0.513759911060 0.724395990372 0.459675103426 +vn 0.513759911060 0.724395990372 0.459675103426 +vn 0.323617666960 0.631942093372 0.704216420650 +vn 0.337808459997 0.583175957203 0.738776862621 +vn 0.337808459997 0.583175957203 0.738776862621 +vn 0.561893999577 0.628997325897 0.537249922752 +vn 0.513759911060 0.724395990372 0.459675103426 +vn 0.323617666960 0.631942093372 0.704216420650 +vn 0.254763633013 0.450295269489 0.855762600899 +vn 0.227718770504 0.409422904253 0.883468747139 +vn 0.227718770504 0.409422904253 0.883468747139 +vn 0.337808459997 0.583175957203 0.738776862621 +vn 0.323617666960 0.631942093372 0.704216420650 +vn 0.955230534077 0.294983744621 -0.022786777467 +vn 0.964206695557 0.249121606350 -0.090795695782 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.978925883770 0.200375735760 -0.039417244494 +vn 0.955230534077 0.294983744621 -0.022786777467 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.962731480598 0.260328829288 -0.073327668011 +vn 0.963288187981 0.245665282011 -0.108279429376 +vn 0.963288187981 0.245665282011 -0.108279429376 +vn 0.978925883770 0.200375735760 -0.039417244494 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.963288187981 0.245665282011 -0.108279429376 +vn 0.962731480598 0.260328829288 -0.073327668011 +vn 0.844890832901 0.527608036995 0.088256470859 +vn 0.844890832901 0.527608036995 0.088256470859 +vn 0.870324015617 0.476587593555 0.124098449945 +vn 0.963288187981 0.245665282011 -0.108279429376 +vn 0.955230534077 0.294983744621 -0.022786777467 +vn 0.911189258099 0.404794245958 0.076653681695 +vn 0.970545232296 0.217519640923 -0.103571861982 +vn 0.970545232296 0.217519640923 -0.103571861982 +vn 0.964206695557 0.249121606350 -0.090795695782 +vn 0.955230534077 0.294983744621 -0.022786777467 +vn 0.726919829845 0.686512351036 0.016981491819 +vn 0.753422796726 0.657339215279 -0.016101408750 +vn 0.470912784338 0.849372148514 0.238344386220 +vn 0.470912784338 0.849372148514 0.238344386220 +vn 0.581106901169 0.752690315247 0.309470504522 +vn 0.726919829845 0.686512351036 0.016981491819 +vn 0.976824223995 0.065190963447 0.203873768449 +vn 0.802966713905 0.595613062382 0.022125337273 +vn 0.693223118782 0.698026776314 0.179444551468 +vn 0.693223118782 0.698026776314 0.179444551468 +vn 0.932209432125 0.252634704113 0.259155035019 +vn 0.976824223995 0.065190963447 0.203873768449 +vn 0.726919829845 0.686512351036 0.016981491819 +vn 0.581106901169 0.752690315247 0.309470504522 +vn 0.932209432125 0.252634704113 0.259155035019 +vn 0.932209432125 0.252634704113 0.259155035019 +vn 0.693223118782 0.698026776314 0.179444551468 +vn 0.726919829845 0.686512351036 0.016981491819 +vn 0.932209432125 0.252634704113 0.259155035019 +vn 0.581106901169 0.752690315247 0.309470504522 +vn 0.573244988918 0.426280379295 0.699767947197 +vn 0.573244988918 0.426280379295 0.699767947197 +vn 0.750695765018 -0.204045504332 0.628348052502 +vn 0.932209432125 0.252634704113 0.259155035019 +vn 0.573244988918 0.426280379295 0.699767947197 +vn 0.193748310208 0.389752209187 0.900308191776 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn 0.750695765018 -0.204045504332 0.628348052502 +vn 0.573244988918 0.426280379295 0.699767947197 +vn 0.080102473497 0.828760683537 0.553840458393 +vn 0.193748310208 0.389752209187 0.900308191776 +vn 0.573244988918 0.426280379295 0.699767947197 +vn 0.573244988918 0.426280379295 0.699767947197 +vn 0.581106901169 0.752690315247 0.309470504522 +vn 0.080102473497 0.828760683537 0.553840458393 +vn 0.065837807953 0.882237017155 0.466179400682 +vn 0.080102473497 0.828760683537 0.553840458393 +vn 0.581106901169 0.752690315247 0.309470504522 +vn 0.581106901169 0.752690315247 0.309470504522 +vn 0.470912784338 0.849372148514 0.238344386220 +vn 0.065837807953 0.882237017155 0.466179400682 +vn 0.666646242142 0.745317161083 -0.009225846268 +vn 0.726919829845 0.686512351036 0.016981491819 +vn 0.693223118782 0.698026776314 0.179444551468 +vn 0.693223118782 0.698026776314 0.179444551468 +vn 0.802966713905 0.595613062382 0.022125337273 +vn 0.666646242142 0.745317161083 -0.009225846268 +vn 0.726919829845 0.686512351036 0.016981491819 +vn 0.666646242142 0.745317161083 -0.009225846268 +vn 0.733347594738 0.675600945950 0.075925514102 +vn 0.733347594738 0.675600945950 0.075925514102 +vn 0.753422796726 0.657339215279 -0.016101408750 +vn 0.726919829845 0.686512351036 0.016981491819 +vn 0.057261314243 0.891568779945 0.449250817299 +vn 0.065837807953 0.882237017155 0.466179400682 +vn 0.470912784338 0.849372148514 0.238344386220 +vn 0.470912784338 0.849372148514 0.238344386220 +vn 0.484451025724 0.828598141670 0.280592858791 +vn 0.057261314243 0.891568779945 0.449250817299 +vn 0.150822833180 0.635599315166 0.757143259048 +vn 0.057261314243 0.891568779945 0.449250817299 +vn 0.484451025724 0.828598141670 0.280592858791 +vn 0.484451025724 0.828598141670 0.280592858791 +vn 0.391466438770 0.592203080654 0.704307854176 +vn 0.150822833180 0.635599315166 0.757143259048 +vn 0.198422238231 0.451261907816 0.870052456856 +vn 0.150822833180 0.635599315166 0.757143259048 +vn 0.391466438770 0.592203080654 0.704307854176 +vn 0.391466438770 0.592203080654 0.704307854176 +vn 0.254763633013 0.450295269489 0.855762600899 +vn 0.198422238231 0.451261907816 0.870052456856 +vn 0.254763633013 0.450295269489 0.855762600899 +vn 0.323617666960 0.631942093372 0.704216420650 +vn 0.162006527185 0.616976797581 0.770125627518 +vn 0.162006527185 0.616976797581 0.770125627518 +vn 0.198422238231 0.451261907816 0.870052456856 +vn 0.254763633013 0.450295269489 0.855762600899 +vn 0.162006527185 0.616976797581 0.770125627518 +vn 0.323617666960 0.631942093372 0.704216420650 +vn 0.220619097352 0.888912618160 0.401449382305 +vn 0.220619097352 0.888912618160 0.401449382305 +vn 0.066447027028 0.874545276165 0.480370044708 +vn 0.162006527185 0.616976797581 0.770125627518 +vn 0.323617666960 0.631942093372 0.704216420650 +vn 0.513759911060 0.724395990372 0.459675103426 +vn 0.407246440649 0.894191622734 0.185934543610 +vn 0.407246440649 0.894191622734 0.185934543610 +vn 0.220619097352 0.888912618160 0.401449382305 +vn 0.323617666960 0.631942093372 0.704216420650 +vn 0.736853659153 0.671932935715 -0.074516959488 +vn 0.407246440649 0.894191622734 0.185934543610 +vn 0.513759911060 0.724395990372 0.459675103426 +vn 0.513759911060 0.724395990372 0.459675103426 +vn 0.844890832901 0.527608036995 0.088256470859 +vn 0.736853659153 0.671932935715 -0.074516959488 +vn 0.935479402542 0.335015088320 -0.112441688776 +vn 0.736853659153 0.671932935715 -0.074516959488 +vn 0.844890832901 0.527608036995 0.088256470859 +vn 0.844890832901 0.527608036995 0.088256470859 +vn 0.962731480598 0.260328829288 -0.073327668011 +vn 0.935479402542 0.335015088320 -0.112441688776 +vn 0.935479402542 0.335015088320 -0.112441688776 +vn 0.962731480598 0.260328829288 -0.073327668011 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.968204200268 0.234657734632 -0.086697340012 +vn 0.935479402542 0.335015088320 -0.112441688776 +vn 0.969372093678 0.230969890952 -0.083490356803 +vn 0.968204200268 0.234657734632 -0.086697340012 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.971856832504 0.228067263961 -0.058987963945 +vn 0.964206695557 0.249121606350 -0.090795695782 +vn 0.969372093678 0.230969890952 -0.083490356803 +vn 0.954509973526 0.227643296123 0.192585557699 +vn 0.970545232296 0.217519640923 -0.103571861982 +vn 0.911189258099 0.404794245958 0.076653681695 +vn 0.911189258099 0.404794245958 0.076653681695 +vn 0.843756496906 0.439300507307 0.308366686106 +vn 0.954509973526 0.227643296123 0.192585557699 +vn 0.695473253727 0.390722751617 0.603036224842 +vn 0.954509973526 0.227643296123 0.192585557699 +vn 0.843756496906 0.439300507307 0.308366686106 +vn 0.843756496906 0.439300507307 0.308366686106 +vn 0.694763541222 0.453988581896 0.557851195335 +vn 0.695473253727 0.390722751617 0.603036224842 +vn 0.964206695557 0.249121606350 -0.090795695782 +vn 0.970545232296 0.217519640923 -0.103571861982 +vn 0.966507077217 0.248770341277 -0.063066102564 +vn 0.966507077217 0.248770341277 -0.063066102564 +vn 0.969372093678 0.230969890952 -0.083490356803 +vn 0.964206695557 0.249121606350 -0.090795695782 +vn 0.959213256836 0.278156578541 0.050387240946 +vn 0.966507077217 0.248770341277 -0.063066102564 +vn 0.970545232296 0.217519640923 -0.103571861982 +vn 0.970545232296 0.217519640923 -0.103571861982 +vn 0.954509973526 0.227643296123 0.192585557699 +vn 0.959213256836 0.278156578541 0.050387240946 +vn 0.818397223949 0.368209451437 0.441189020872 +vn 0.959213256836 0.278156578541 0.050387240946 +vn 0.954509973526 0.227643296123 0.192585557699 +vn 0.954509973526 0.227643296123 0.192585557699 +vn 0.695473253727 0.390722751617 0.603036224842 +vn 0.818397223949 0.368209451437 0.441189020872 +vn 0.808572351933 0.230919525027 0.541190326214 +vn 0.927650451660 0.292795777321 0.231808677316 +vn 0.669635236263 0.465004295111 0.579102456570 +vn 0.669635236263 0.465004295111 0.579102456570 +vn 0.695473253727 0.390722751617 0.603036224842 +vn 0.808572351933 0.230919525027 0.541190326214 +vn 0.695473253727 0.390722751617 0.603036224842 +vn 0.669635236263 0.465004295111 0.579102456570 +vn 0.687887787819 0.334090083838 0.644355654716 +vn 0.687887787819 0.334090083838 0.644355654716 +vn 0.818397223949 0.368209451437 0.441189020872 +vn 0.695473253727 0.390722751617 0.603036224842 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.669635236263 0.465004295111 0.579102456570 +vn 0.927650451660 0.292795777321 0.231808677316 +vn 0.927650451660 0.292795777321 0.231808677316 +vn 0.881306648254 -0.029563881457 0.471619129181 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.976824223995 0.065190963447 0.203873768449 +vn 0.932209432125 0.252634704113 0.259155035019 +vn 0.721093952656 -0.689267814159 0.070238180459 +vn 0.721093952656 -0.689267814159 0.070238180459 +vn 0.687712013721 -0.691433250904 0.221296757460 +vn 0.976824223995 0.065190963447 0.203873768449 +vn 0.881306648254 -0.029563881457 0.471619129181 +vn 0.941774845123 -0.162280142307 0.294491648674 +vn 0.530258059502 -0.658419847488 0.534143865108 +vn 0.530258059502 -0.658419847488 0.534143865108 +vn 0.438327252865 -0.163195595145 0.883875787258 +vn 0.881306648254 -0.029563881457 0.471619129181 +vn 0.976824223995 0.065190963447 0.203873768449 +vn 0.687712013721 -0.691433250904 0.221296757460 +vn 0.530258059502 -0.658419847488 0.534143865108 +vn 0.530258059502 -0.658419847488 0.534143865108 +vn 0.941774845123 -0.162280142307 0.294491648674 +vn 0.976824223995 0.065190963447 0.203873768449 +vn 0.750695765018 -0.204045504332 0.628348052502 +vn 0.597214460373 -0.764811575413 0.241656988859 +vn 0.721093952656 -0.689267814159 0.070238180459 +vn 0.721093952656 -0.689267814159 0.070238180459 +vn 0.932209432125 0.252634704113 0.259155035019 +vn 0.750695765018 -0.204045504332 0.628348052502 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn 0.239685952663 -0.807179331779 0.539455413818 +vn 0.597214460373 -0.764811575413 0.241656988859 +vn 0.597214460373 -0.764811575413 0.241656988859 +vn 0.750695765018 -0.204045504332 0.628348052502 +vn 0.274623602629 -0.340901017189 0.899093091488 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.881306648254 -0.029563881457 0.471619129181 +vn 0.438327252865 -0.163195595145 0.883875787258 +vn 0.438327252865 -0.163195595145 0.883875787258 +vn 0.647795736790 0.509497582912 0.566368162632 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.647795736790 0.509497582912 0.566368162632 +vn 0.438327252865 -0.163195595145 0.883875787258 +vn 0.830080926418 0.300810962915 0.469551295042 +vn 0.830080926418 0.300810962915 0.469551295042 +vn 0.660879850388 0.615431725979 0.429513245821 +vn 0.647795736790 0.509497582912 0.566368162632 +vn 0.660879850388 0.615431725979 0.429513245821 +vn 0.830080926418 0.300810962915 0.469551295042 +vn 0.854356050491 -0.257476896048 0.451421499252 +vn 0.854356050491 -0.257476896048 0.451421499252 +vn 0.561187684536 0.239976942539 0.792136013508 +vn 0.660879850388 0.615431725979 0.429513245821 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn 0.854356050491 -0.257476896048 0.451421499252 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.199788928032 -0.930502891541 0.306999534369 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn 0.239685952663 -0.807179331779 0.539455413818 +vn 0.199788928032 -0.930502891541 0.306999534369 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.597214460373 -0.764811575413 0.241656988859 +vn 0.239685952663 -0.807179331779 0.539455413818 +vn 0.687712013721 -0.691433250904 0.221296757460 +vn 0.721093952656 -0.689267814159 0.070238180459 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.060541231185 -0.987986981869 0.142184779048 +vn 0.687712013721 -0.691433250904 0.221296757460 +vn 0.438327252865 -0.163195595145 0.883875787258 +vn 0.530258059502 -0.658419847488 0.534143865108 +vn -0.015889639035 -0.856240689754 0.516332685947 +vn -0.015889639035 -0.856240689754 0.516332685947 +vn 0.362986683846 -0.543438851833 0.756911396980 +vn 0.438327252865 -0.163195595145 0.883875787258 +vn 0.060541231185 -0.987986981869 0.142184779048 +vn -0.015889639035 -0.856240689754 0.516332685947 +vn 0.530258059502 -0.658419847488 0.534143865108 +vn 0.530258059502 -0.658419847488 0.534143865108 +vn 0.687712013721 -0.691433250904 0.221296757460 +vn 0.060541231185 -0.987986981869 0.142184779048 +vn 0.597214460373 -0.764811575413 0.241656988859 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.721093952656 -0.689267814159 0.070238180459 +vn 0.597214460373 -0.764811575413 0.241656988859 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.854356050491 -0.257476896048 0.451421499252 +vn 0.932668745518 -0.338243275881 -0.125381320715 +vn 0.932668745518 -0.338243275881 -0.125381320715 +vn 0.705144464970 -0.621076881886 -0.342103481293 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.830080926418 0.300810962915 0.469551295042 +vn 0.894300460815 -0.354748576880 0.272727280855 +vn 0.932668745518 -0.338243275881 -0.125381320715 +vn 0.932668745518 -0.338243275881 -0.125381320715 +vn 0.854356050491 -0.257476896048 0.451421499252 +vn 0.830080926418 0.300810962915 0.469551295042 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.569580495358 -0.820051550865 -0.055619228631 +vn 0.705144464970 -0.621076881886 -0.342103481293 +vn 0.705144464970 -0.621076881886 -0.342103481293 +vn 0.595596849918 -0.783921420574 -0.175304144621 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.595596849918 -0.783921420574 -0.175304144621 +vn 0.256147146225 -0.944341897964 0.206414595246 +vn 0.256147146225 -0.944341897964 0.206414595246 +vn 0.060541231185 -0.987986981869 0.142184779048 +vn 0.304680794477 -0.922051012516 -0.238728925586 +vn 0.362986683846 -0.543438851833 0.756911396980 +vn 0.894300460815 -0.354748576880 0.272727280855 +vn 0.830080926418 0.300810962915 0.469551295042 +vn 0.830080926418 0.300810962915 0.469551295042 +vn 0.438327252865 -0.163195595145 0.883875787258 +vn 0.362986683846 -0.543438851833 0.756911396980 +vn -0.015889639035 -0.856240689754 0.516332685947 +vn 0.060541231185 -0.987986981869 0.142184779048 +vn 0.256147146225 -0.944341897964 0.206414595246 +vn 0.256147146225 -0.944341897964 0.206414595246 +vn 0.362986683846 -0.543438851833 0.756911396980 +vn -0.015889639035 -0.856240689754 0.516332685947 +vn 0.256147146225 -0.944341897964 0.206414595246 +vn 0.595596849918 -0.783921420574 -0.175304144621 +vn 0.894300460815 -0.354748576880 0.272727280855 +vn 0.894300460815 -0.354748576880 0.272727280855 +vn 0.362986683846 -0.543438851833 0.756911396980 +vn 0.256147146225 -0.944341897964 0.206414595246 +vn 0.705144464970 -0.621076881886 -0.342103481293 +vn 0.932668745518 -0.338243275881 -0.125381320715 +vn 0.894300460815 -0.354748576880 0.272727280855 +vn 0.894300460815 -0.354748576880 0.272727280855 +vn 0.595596849918 -0.783921420574 -0.175304144621 +vn 0.705144464970 -0.621076881886 -0.342103481293 +vn 0.818397223949 0.368209451437 0.441189020872 +vn 0.687887787819 0.334090083838 0.644355654716 +vn 0.653526067734 0.407454669476 0.637874901295 +vn 0.653526067734 0.407454669476 0.637874901295 +vn 0.796820223331 0.531731307507 0.286948263645 +vn 0.818397223949 0.368209451437 0.441189020872 +vn 0.634473979473 0.589673757553 0.499727547169 +vn 0.753260552883 0.553977191448 0.354552984238 +vn 0.796820223331 0.531731307507 0.286948263645 +vn 0.796820223331 0.531731307507 0.286948263645 +vn 0.653526067734 0.407454669476 0.637874901295 +vn 0.634473979473 0.589673757553 0.499727547169 +vn 0.753260552883 0.553977191448 0.354552984238 +vn 0.634473979473 0.589673757553 0.499727547169 +vn 0.698470294476 0.581860423088 0.416626513004 +vn 0.698470294476 0.581860423088 0.416626513004 +vn 0.718876957893 0.542798221111 0.434264868498 +vn 0.753260552883 0.553977191448 0.354552984238 +vn 0.724643111229 0.485672384501 0.488891303539 +vn 0.718876957893 0.542798221111 0.434264868498 +vn 0.698470294476 0.581860423088 0.416626513004 +vn 0.698470294476 0.581860423088 0.416626513004 +vn 0.746993243694 0.532737910748 0.397732883692 +vn 0.724643111229 0.485672384501 0.488891303539 +vn 0.724643111229 0.485672384501 0.488891303539 +vn 0.746993243694 0.532737910748 0.397732883692 +vn 0.730922043324 0.457406550646 0.506490111351 +vn 0.730922043324 0.457406550646 0.506490111351 +vn 0.704077363014 0.383839637041 0.597446382046 +vn 0.724643111229 0.485672384501 0.488891303539 +vn 0.637228786945 0.390339761972 0.664510607719 +vn 0.617557048798 0.317419141531 0.719630718231 +vn 0.704077363014 0.383839637041 0.597446382046 +vn 0.704077363014 0.383839637041 0.597446382046 +vn 0.730922043324 0.457406550646 0.506490111351 +vn 0.637228786945 0.390339761972 0.664510607719 +vn 0.637228786945 0.390339761972 0.664510607719 +vn 0.463531196117 0.361015528440 0.809201240540 +vn 0.452783286572 0.288476914167 0.843663632870 +vn 0.452783286572 0.288476914167 0.843663632870 +vn 0.617557048798 0.317419141531 0.719630718231 +vn 0.637228786945 0.390339761972 0.664510607719 +vn 0.669635236263 0.465004295111 0.579102456570 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.740139663219 0.363552957773 0.565705299377 +vn 0.740139663219 0.363552957773 0.565705299377 +vn 0.687887787819 0.334090083838 0.644355654716 +vn 0.669635236263 0.465004295111 0.579102456570 +vn 0.687887787819 0.334090083838 0.644355654716 +vn 0.740139663219 0.363552957773 0.565705299377 +vn 0.668137073517 0.285563141108 0.687056422234 +vn 0.668137073517 0.285563141108 0.687056422234 +vn 0.653526067734 0.407454669476 0.637874901295 +vn 0.687887787819 0.334090083838 0.644355654716 +vn 0.653526067734 0.407454669476 0.637874901295 +vn 0.668137073517 0.285563141108 0.687056422234 +vn 0.631312608719 0.613184511662 0.474814802408 +vn 0.631312608719 0.613184511662 0.474814802408 +vn 0.634473979473 0.589673757553 0.499727547169 +vn 0.653526067734 0.407454669476 0.637874901295 +vn 0.634473979473 0.589673757553 0.499727547169 +vn 0.631312608719 0.613184511662 0.474814802408 +vn 0.712920784950 0.650831878185 0.261078268290 +vn 0.712920784950 0.650831878185 0.261078268290 +vn 0.698470294476 0.581860423088 0.416626513004 +vn 0.634473979473 0.589673757553 0.499727547169 +vn 0.698470294476 0.581860423088 0.416626513004 +vn 0.712920784950 0.650831878185 0.261078268290 +vn 0.810685992241 0.490832895041 0.319172859192 +vn 0.810685992241 0.490832895041 0.319172859192 +vn 0.746993243694 0.532737910748 0.397732883692 +vn 0.698470294476 0.581860423088 0.416626513004 +vn 0.746993243694 0.532737910748 0.397732883692 +vn 0.810685992241 0.490832895041 0.319172859192 +vn 0.785306930542 0.420944809914 0.453980714083 +vn 0.785306930542 0.420944809914 0.453980714083 +vn 0.730922043324 0.457406550646 0.506490111351 +vn 0.746993243694 0.532737910748 0.397732883692 +vn 0.730922043324 0.457406550646 0.506490111351 +vn 0.785306930542 0.420944809914 0.453980714083 +vn 0.669019818306 0.397284835577 0.628153860569 +vn 0.669019818306 0.397284835577 0.628153860569 +vn 0.637228786945 0.390339761972 0.664510607719 +vn 0.730922043324 0.457406550646 0.506490111351 +vn 0.174813181162 0.397422939539 0.900830388069 +vn 0.189450860023 0.359886229038 0.913559138775 +vn 0.463531196117 0.361015528440 0.809201240540 +vn 0.463531196117 0.361015528440 0.809201240540 +vn 0.464831054211 0.394190609455 0.792808830738 +vn 0.174813181162 0.397422939539 0.900830388069 +vn 0.810685992241 0.490832895041 0.319172859192 +vn 0.712920784950 0.650831878185 0.261078268290 +vn 0.643801271915 0.761630415916 0.073749937117 +vn 0.643801271915 0.761630415916 0.073749937117 +vn 0.754177689552 0.626339972019 0.197266981006 +vn 0.810685992241 0.490832895041 0.319172859192 +vn 0.810685992241 0.490832895041 0.319172859192 +vn 0.754177689552 0.626339972019 0.197266981006 +vn 0.751814782619 0.542736291885 0.374448657036 +vn 0.751814782619 0.542736291885 0.374448657036 +vn 0.785306930542 0.420944809914 0.453980714083 +vn 0.810685992241 0.490832895041 0.319172859192 +vn 0.785306930542 0.420944809914 0.453980714083 +vn 0.751814782619 0.542736291885 0.374448657036 +vn 0.638848066330 0.514054417610 0.572382032871 +vn 0.638848066330 0.514054417610 0.572382032871 +vn 0.669019818306 0.397284835577 0.628153860569 +vn 0.785306930542 0.420944809914 0.453980714083 +vn 0.690789639950 0.523333430290 0.498930633068 +vn 0.643801271915 0.761630415916 0.073749937117 +vn 0.712920784950 0.650831878185 0.261078268290 +vn 0.712920784950 0.650831878185 0.261078268290 +vn 0.631312608719 0.613184511662 0.474814802408 +vn 0.690789639950 0.523333430290 0.498930633068 +vn 0.668137073517 0.285563141108 0.687056422234 +vn 0.656909048557 0.151666134596 0.738557994366 +vn 0.690789639950 0.523333430290 0.498930633068 +vn 0.690789639950 0.523333430290 0.498930633068 +vn 0.631312608719 0.613184511662 0.474814802408 +vn 0.668137073517 0.285563141108 0.687056422234 +vn 0.656909048557 0.151666134596 0.738557994366 +vn 0.668137073517 0.285563141108 0.687056422234 +vn 0.740139663219 0.363552957773 0.565705299377 +vn 0.740139663219 0.363552957773 0.565705299377 +vn 0.775538980961 0.183304697275 0.604101538658 +vn 0.656909048557 0.151666134596 0.738557994366 +vn 0.769935011864 0.395327806473 0.500915110111 +vn 0.775538980961 0.183304697275 0.604101538658 +vn 0.740139663219 0.363552957773 0.565705299377 +vn 0.740139663219 0.363552957773 0.565705299377 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.769935011864 0.395327806473 0.500915110111 +vn 0.674992680550 0.544619321823 0.497769713402 +vn 0.769935011864 0.395327806473 0.500915110111 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.748942732811 0.480127364397 0.456686407328 +vn 0.647795736790 0.509497582912 0.566368162632 +vn 0.674992680550 0.544619321823 0.497769713402 +vn 0.674992680550 0.544619321823 0.497769713402 +vn 0.647795736790 0.509497582912 0.566368162632 +vn 0.660879850388 0.615431725979 0.429513245821 +vn 0.660879850388 0.615431725979 0.429513245821 +vn 0.613109469414 0.536489784718 0.579892635345 +vn 0.674992680550 0.544619321823 0.497769713402 +vn 0.401266843081 0.378328412771 0.834177792072 +vn 0.613109469414 0.536489784718 0.579892635345 +vn 0.660879850388 0.615431725979 0.429513245821 +vn 0.660879850388 0.615431725979 0.429513245821 +vn 0.561187684536 0.239976942539 0.792136013508 +vn 0.401266843081 0.378328412771 0.834177792072 +vn 0.212365403771 0.248311832547 0.945114910603 +vn 0.401266843081 0.378328412771 0.834177792072 +vn 0.561187684536 0.239976942539 0.792136013508 +vn 0.561187684536 0.239976942539 0.792136013508 +vn 0.256318479776 0.039006829262 0.965804994106 +vn 0.212365403771 0.248311832547 0.945114910603 +vn 0.472574830055 0.812009453773 0.342510819435 +vn 0.246009349823 0.853070199490 0.460163712502 +vn 0.421305626631 0.513768494129 0.747357726097 +vn 0.421305626631 0.513768494129 0.747357726097 +vn 0.638848066330 0.514054417610 0.572382032871 +vn 0.472574830055 0.812009453773 0.342510819435 +vn 0.590059459209 0.781824648380 0.201444983482 +vn 0.472574830055 0.812009453773 0.342510819435 +vn 0.638848066330 0.514054417610 0.572382032871 +vn 0.638848066330 0.514054417610 0.572382032871 +vn 0.751814782619 0.542736291885 0.374448657036 +vn 0.590059459209 0.781824648380 0.201444983482 +vn 0.648433148861 0.753310024738 0.109811037779 +vn 0.590059459209 0.781824648380 0.201444983482 +vn 0.751814782619 0.542736291885 0.374448657036 +vn 0.751814782619 0.542736291885 0.374448657036 +vn 0.754177689552 0.626339972019 0.197266981006 +vn 0.648433148861 0.753310024738 0.109811037779 +vn 0.648433148861 0.753310024738 0.109811037779 +vn 0.754177689552 0.626339972019 0.197266981006 +vn 0.643801271915 0.761630415916 0.073749937117 +vn 0.643801271915 0.761630415916 0.073749937117 +vn 0.733649730682 0.647041141987 0.207595452666 +vn 0.648433148861 0.753310024738 0.109811037779 +vn 0.690789639950 0.523333430290 0.498930633068 +vn 0.721213638783 0.367009401321 0.587498903275 +vn 0.733649730682 0.647041141987 0.207595452666 +vn 0.733649730682 0.647041141987 0.207595452666 +vn 0.643801271915 0.761630415916 0.073749937117 +vn 0.690789639950 0.523333430290 0.498930633068 +vn 0.656909048557 0.151666134596 0.738557994366 +vn 0.705344974995 0.077326208353 0.704634010792 +vn 0.721213638783 0.367009401321 0.587498903275 +vn 0.721213638783 0.367009401321 0.587498903275 +vn 0.690789639950 0.523333430290 0.498930633068 +vn 0.656909048557 0.151666134596 0.738557994366 +vn 0.775538980961 0.183304697275 0.604101538658 +vn 0.835132360458 0.253148376942 0.488333761692 +vn 0.705344974995 0.077326208353 0.704634010792 +vn 0.705344974995 0.077326208353 0.704634010792 +vn 0.656909048557 0.151666134596 0.738557994366 +vn 0.775538980961 0.183304697275 0.604101538658 +vn 0.752818822861 0.565508663654 0.336843818426 +vn 0.835132360458 0.253148376942 0.488333761692 +vn 0.775538980961 0.183304697275 0.604101538658 +vn 0.775538980961 0.183304697275 0.604101538658 +vn 0.769935011864 0.395327806473 0.500915110111 +vn 0.752818822861 0.565508663654 0.336843818426 +vn 0.581709802151 0.746405720711 0.323252558708 +vn 0.752818822861 0.565508663654 0.336843818426 +vn 0.769935011864 0.395327806473 0.500915110111 +vn 0.769935011864 0.395327806473 0.500915110111 +vn 0.674992680550 0.544619321823 0.497769713402 +vn 0.581709802151 0.746405720711 0.323252558708 +vn 0.441359281540 0.799569964409 0.407295793295 +vn 0.581709802151 0.746405720711 0.323252558708 +vn 0.674992680550 0.544619321823 0.497769713402 +vn 0.674992680550 0.544619321823 0.497769713402 +vn 0.613109469414 0.536489784718 0.579892635345 +vn 0.441359281540 0.799569964409 0.407295793295 +vn 0.156517177820 0.758275330067 0.632867217064 +vn 0.441359281540 0.799569964409 0.407295793295 +vn 0.613109469414 0.536489784718 0.579892635345 +vn 0.613109469414 0.536489784718 0.579892635345 +vn 0.401266843081 0.378328412771 0.834177792072 +vn 0.156517177820 0.758275330067 0.632867217064 +vn 0.212365403771 0.248311832547 0.945114910603 +vn 0.055986881256 0.728759109974 0.682477593422 +vn 0.156517177820 0.758275330067 0.632867217064 +vn 0.156517177820 0.758275330067 0.632867217064 +vn 0.401266843081 0.378328412771 0.834177792072 +vn 0.212365403771 0.248311832547 0.945114910603 +vn 0.705344974995 0.077326208353 0.704634010792 +vn 0.835132360458 0.253148376942 0.488333761692 +vn 0.733649730682 0.647041141987 0.207595452666 +vn 0.733649730682 0.647041141987 0.207595452666 +vn 0.721213638783 0.367009401321 0.587498903275 +vn 0.705344974995 0.077326208353 0.704634010792 +vn 0.648433148861 0.753310024738 0.109811037779 +vn 0.733649730682 0.647041141987 0.207595452666 +vn 0.835132360458 0.253148376942 0.488333761692 +vn 0.835132360458 0.253148376942 0.488333761692 +vn 0.752818822861 0.565508663654 0.336843818426 +vn 0.648433148861 0.753310024738 0.109811037779 +vn 0.590059459209 0.781824648380 0.201444983482 +vn 0.648433148861 0.753310024738 0.109811037779 +vn 0.752818822861 0.565508663654 0.336843818426 +vn 0.752818822861 0.565508663654 0.336843818426 +vn 0.581709802151 0.746405720711 0.323252558708 +vn 0.590059459209 0.781824648380 0.201444983482 +vn 0.472574830055 0.812009453773 0.342510819435 +vn 0.590059459209 0.781824648380 0.201444983482 +vn 0.581709802151 0.746405720711 0.323252558708 +vn 0.581709802151 0.746405720711 0.323252558708 +vn 0.441359281540 0.799569964409 0.407295793295 +vn 0.472574830055 0.812009453773 0.342510819435 +vn 0.189450860023 0.359886229038 0.913559138775 +vn 0.200406655669 0.284720838070 0.937427997589 +vn 0.452783286572 0.288476914167 0.843663632870 +vn 0.452783286572 0.288476914167 0.843663632870 +vn 0.463531196117 0.361015528440 0.809201240540 +vn 0.189450860023 0.359886229038 0.913559138775 +vn 0.463531196117 0.361015528440 0.809201240540 +vn 0.637228786945 0.390339761972 0.664510607719 +vn 0.669019818306 0.397284835577 0.628153860569 +vn 0.669019818306 0.397284835577 0.628153860569 +vn 0.464831054211 0.394190609455 0.792808830738 +vn 0.463531196117 0.361015528440 0.809201240540 +vn 0.464831054211 0.394190609455 0.792808830738 +vn 0.669019818306 0.397284835577 0.628153860569 +vn 0.638848066330 0.514054417610 0.572382032871 +vn 0.638848066330 0.514054417610 0.572382032871 +vn 0.421305626631 0.513768494129 0.747357726097 +vn 0.464831054211 0.394190609455 0.792808830738 +vn 0.246009349823 0.853070199490 0.460163712502 +vn -0.012771333568 0.858014822006 0.513466119766 +vn 0.143435344100 0.498812109232 0.854758918285 +vn 0.143435344100 0.498812109232 0.854758918285 +vn 0.421305626631 0.513768494129 0.747357726097 +vn 0.246009349823 0.853070199490 0.460163712502 +vn 0.441359281540 0.799569964409 0.407295793295 +vn 0.156517177820 0.758275330067 0.632867217064 +vn 0.246009349823 0.853070199490 0.460163712502 +vn 0.246009349823 0.853070199490 0.460163712502 +vn 0.472574830055 0.812009453773 0.342510819435 +vn 0.441359281540 0.799569964409 0.407295793295 +vn 0.246009349823 0.853070199490 0.460163712502 +vn 0.156517177820 0.758275330067 0.632867217064 +vn 0.055986881256 0.728759109974 0.682477593422 +vn 0.055986881256 0.728759109974 0.682477593422 +vn -0.012771333568 0.858014822006 0.513466119766 +vn 0.246009349823 0.853070199490 0.460163712502 +vn 0.818397223949 0.368209451437 0.441189020872 +vn 0.796820223331 0.531731307507 0.286948263645 +vn 0.847496092319 0.530518829823 -0.017324548215 +vn 0.847496092319 0.530518829823 -0.017324548215 +vn 0.959213256836 0.278156578541 0.050387240946 +vn 0.818397223949 0.368209451437 0.441189020872 +vn 0.959213256836 0.278156578541 0.050387240946 +vn 0.847496092319 0.530518829823 -0.017324548215 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.966507077217 0.248770341277 -0.063066102564 +vn 0.959213256836 0.278156578541 0.050387240946 +vn 0.966507077217 0.248770341277 -0.063066102564 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.959071338177 0.263900458813 -0.102658011019 +vn 0.959071338177 0.263900458813 -0.102658011019 +vn 0.969372093678 0.230969890952 -0.083490356803 +vn 0.966507077217 0.248770341277 -0.063066102564 +vn 0.862550377846 0.504348695278 0.040488097817 +vn 0.847496092319 0.530518829823 -0.017324548215 +vn 0.796820223331 0.531731307507 0.286948263645 +vn 0.796820223331 0.531731307507 0.286948263645 +vn 0.753260552883 0.553977191448 0.354552984238 +vn 0.862550377846 0.504348695278 0.040488097817 +vn 0.906684279442 0.350142270327 0.235210523009 +vn 0.862550377846 0.504348695278 0.040488097817 +vn 0.753260552883 0.553977191448 0.354552984238 +vn 0.753260552883 0.553977191448 0.354552984238 +vn 0.718876957893 0.542798221111 0.434264868498 +vn 0.906684279442 0.350142270327 0.235210523009 +vn 0.869828820229 0.229744896293 0.436594873667 +vn 0.906684279442 0.350142270327 0.235210523009 +vn 0.718876957893 0.542798221111 0.434264868498 +vn 0.718876957893 0.542798221111 0.434264868498 +vn 0.724643111229 0.485672384501 0.488891303539 +vn 0.869828820229 0.229744896293 0.436594873667 +vn 0.763165831566 0.176690846682 0.621577203274 +vn 0.869828820229 0.229744896293 0.436594873667 +vn 0.724643111229 0.485672384501 0.488891303539 +vn 0.724643111229 0.485672384501 0.488891303539 +vn 0.704077363014 0.383839637041 0.597446382046 +vn 0.763165831566 0.176690846682 0.621577203274 +vn 0.629935562611 0.152864024043 0.761454999447 +vn 0.763165831566 0.176690846682 0.621577203274 +vn 0.704077363014 0.383839637041 0.597446382046 +vn 0.704077363014 0.383839637041 0.597446382046 +vn 0.617557048798 0.317419141531 0.719630718231 +vn 0.629935562611 0.152864024043 0.761454999447 +vn 0.457086682320 0.133212804794 0.879389643669 +vn 0.629935562611 0.152864024043 0.761454999447 +vn 0.617557048798 0.317419141531 0.719630718231 +vn 0.617557048798 0.317419141531 0.719630718231 +vn 0.452783286572 0.288476914167 0.843663632870 +vn 0.457086682320 0.133212804794 0.879389643669 +vn 0.457086682320 0.133212804794 0.879389643669 +vn 0.452783286572 0.288476914167 0.843663632870 +vn 0.200406655669 0.284720838070 0.937427997589 +vn 0.200406655669 0.284720838070 0.937427997589 +vn 0.202230855823 0.135011807084 0.969986855984 +vn 0.457086682320 0.133212804794 0.879389643669 +vn 0.924294352531 0.355563312769 -0.138761267066 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.847496092319 0.530518829823 -0.017324548215 +vn 0.847496092319 0.530518829823 -0.017324548215 +vn 0.862550377846 0.504348695278 0.040488097817 +vn 0.924294352531 0.355563312769 -0.138761267066 +vn 0.906684279442 0.350142270327 0.235210523009 +vn 0.998203098774 0.057374663651 0.017284091562 +vn 0.924294352531 0.355563312769 -0.138761267066 +vn 0.924294352531 0.355563312769 -0.138761267066 +vn 0.862550377846 0.504348695278 0.040488097817 +vn 0.906684279442 0.350142270327 0.235210523009 +vn 0.950728535652 -0.205100849271 0.232484206557 +vn 0.998203098774 0.057374663651 0.017284091562 +vn 0.906684279442 0.350142270327 0.235210523009 +vn 0.906684279442 0.350142270327 0.235210523009 +vn 0.869828820229 0.229744896293 0.436594873667 +vn 0.950728535652 -0.205100849271 0.232484206557 +vn 0.869828820229 0.229744896293 0.436594873667 +vn 0.763165831566 0.176690846682 0.621577203274 +vn 0.833590924740 -0.306202918291 0.459745496511 +vn 0.833590924740 -0.306202918291 0.459745496511 +vn 0.950728535652 -0.205100849271 0.232484206557 +vn 0.869828820229 0.229744896293 0.436594873667 +vn 0.678838312626 -0.308879584074 0.666162133217 +vn 0.833590924740 -0.306202918291 0.459745496511 +vn 0.763165831566 0.176690846682 0.621577203274 +vn 0.763165831566 0.176690846682 0.621577203274 +vn 0.629935562611 0.152864024043 0.761454999447 +vn 0.678838312626 -0.308879584074 0.666162133217 +vn 0.464666336775 -0.298411458731 0.833688080311 +vn 0.678838312626 -0.308879584074 0.666162133217 +vn 0.629935562611 0.152864024043 0.761454999447 +vn 0.629935562611 0.152864024043 0.761454999447 +vn 0.457086682320 0.133212804794 0.879389643669 +vn 0.464666336775 -0.298411458731 0.833688080311 +vn 0.457086682320 0.133212804794 0.879389643669 +vn 0.202230855823 0.135011807084 0.969986855984 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn 0.464666336775 -0.298411458731 0.833688080311 +vn 0.457086682320 0.133212804794 0.879389643669 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.924294352531 0.355563312769 -0.138761267066 +vn 0.939284741879 0.113941721618 -0.323668777943 +vn 0.939284741879 0.113941721618 -0.323668777943 +vn 0.934725701809 0.310489326715 -0.172870650887 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.929175615311 -0.269463419914 -0.253026038408 +vn 0.939284741879 0.113941721618 -0.323668777943 +vn 0.924294352531 0.355563312769 -0.138761267066 +vn 0.924294352531 0.355563312769 -0.138761267066 +vn 0.998203098774 0.057374663651 0.017284091562 +vn 0.929175615311 -0.269463419914 -0.253026038408 +vn 0.805370748043 -0.592758417130 -0.003930583131 +vn 0.929175615311 -0.269463419914 -0.253026038408 +vn 0.998203098774 0.057374663651 0.017284091562 +vn 0.998203098774 0.057374663651 0.017284091562 +vn 0.950728535652 -0.205100849271 0.232484206557 +vn 0.805370748043 -0.592758417130 -0.003930583131 +vn 0.662475109100 -0.725363969803 0.187012910843 +vn 0.805370748043 -0.592758417130 -0.003930583131 +vn 0.950728535652 -0.205100849271 0.232484206557 +vn 0.950728535652 -0.205100849271 0.232484206557 +vn 0.833590924740 -0.306202918291 0.459745496511 +vn 0.662475109100 -0.725363969803 0.187012910843 +vn 0.518842935562 -0.785850405693 0.336513310671 +vn 0.662475109100 -0.725363969803 0.187012910843 +vn 0.833590924740 -0.306202918291 0.459745496511 +vn 0.833590924740 -0.306202918291 0.459745496511 +vn 0.678838312626 -0.308879584074 0.666162133217 +vn 0.518842935562 -0.785850405693 0.336513310671 +vn 0.375306636095 -0.805032193661 0.459421426058 +vn 0.518842935562 -0.785850405693 0.336513310671 +vn 0.678838312626 -0.308879584074 0.666162133217 +vn 0.678838312626 -0.308879584074 0.666162133217 +vn 0.464666336775 -0.298411458731 0.833688080311 +vn 0.375306636095 -0.805032193661 0.459421426058 +vn 0.375306636095 -0.805032193661 0.459421426058 +vn 0.464666336775 -0.298411458731 0.833688080311 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn 0.199260234833 -0.289389193058 0.936242103577 +vn 0.138890832663 -0.801826655865 0.581191301346 +vn 0.375306636095 -0.805032193661 0.459421426058 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.934725701809 0.310489326715 -0.172870650887 +vn 0.950457096100 0.270852208138 -0.152546450496 +vn 0.950457096100 0.270852208138 -0.152546450496 +vn 0.959071338177 0.263900458813 -0.102658011019 +vn 0.918455123901 0.385997414589 -0.086291559041 +vn 0.969372093678 0.230969890952 -0.083490356803 +vn 0.959071338177 0.263900458813 -0.102658011019 +vn 0.965679407120 0.234967827797 -0.110695056617 +vn 0.965679407120 0.234967827797 -0.110695056617 +vn 0.968204200268 0.234657734632 -0.086697340012 +vn 0.969372093678 0.230969890952 -0.083490356803 +vn 0.968204200268 0.234657734632 -0.086697340012 +vn 0.965679407120 0.234967827797 -0.110695056617 +vn 0.927285432816 0.353592813015 -0.122938469052 +vn 0.927285432816 0.353592813015 -0.122938469052 +vn 0.935479402542 0.335015088320 -0.112441688776 +vn 0.968204200268 0.234657734632 -0.086697340012 +vn 0.935479402542 0.335015088320 -0.112441688776 +vn 0.927285432816 0.353592813015 -0.122938469052 +vn 0.731829226017 0.655255794525 -0.187258720398 +vn 0.731829226017 0.655255794525 -0.187258720398 +vn 0.736853659153 0.671932935715 -0.074516959488 +vn 0.935479402542 0.335015088320 -0.112441688776 +vn 0.736853659153 0.671932935715 -0.074516959488 +vn 0.731829226017 0.655255794525 -0.187258720398 +vn 0.311583012342 0.947266399860 -0.074849106371 +vn 0.311583012342 0.947266399860 -0.074849106371 +vn 0.407246440649 0.894191622734 0.185934543610 +vn 0.736853659153 0.671932935715 -0.074516959488 +vn 0.084336921573 0.993597984314 0.075168356299 +vn 0.220619097352 0.888912618160 0.401449382305 +vn 0.407246440649 0.894191622734 0.185934543610 +vn 0.407246440649 0.894191622734 0.185934543610 +vn 0.311583012342 0.947266399860 -0.074849106371 +vn 0.084336921573 0.993597984314 0.075168356299 +vn 0.220619097352 0.888912618160 0.401449382305 +vn 0.084336921573 0.993597984314 0.075168356299 +vn -0.025935206562 0.987000048161 0.158613726497 +vn -0.025935206562 0.987000048161 0.158613726497 +vn 0.066447027028 0.874545276165 0.480370044708 +vn 0.220619097352 0.888912618160 0.401449382305 +vn 0.518842935562 -0.785850405693 0.336513310671 +vn 0.375306636095 -0.805032193661 0.459421426058 +vn 0.247673124075 -0.940627634525 0.232115536928 +vn 0.247673124075 -0.940627634525 0.232115536928 +vn 0.353234022856 -0.919000506401 0.175110846758 +vn 0.518842935562 -0.785850405693 0.336513310671 +vn 0.518842935562 -0.785850405693 0.336513310671 +vn 0.353234022856 -0.919000506401 0.175110846758 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.662475109100 -0.725363969803 0.187012910843 +vn 0.518842935562 -0.785850405693 0.336513310671 +vn 0.805370748043 -0.592758417130 -0.003930583131 +vn 0.662475109100 -0.725363969803 0.187012910843 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.564199924469 -0.795334279537 -0.221634536982 +vn 0.805370748043 -0.592758417130 -0.003930583131 +vn 0.696239709854 -0.526411354542 -0.487997263670 +vn 0.929175615311 -0.269463419914 -0.253026038408 +vn 0.805370748043 -0.592758417130 -0.003930583131 +vn 0.805370748043 -0.592758417130 -0.003930583131 +vn 0.564199924469 -0.795334279537 -0.221634536982 +vn 0.696239709854 -0.526411354542 -0.487997263670 +vn 0.696239709854 -0.526411354542 -0.487997263670 +vn 0.895631790161 -0.129716515541 -0.425461292267 +vn 0.939284741879 0.113941721618 -0.323668777943 +vn 0.939284741879 0.113941721618 -0.323668777943 +vn 0.929175615311 -0.269463419914 -0.253026038408 +vn 0.696239709854 -0.526411354542 -0.487997263670 +vn 0.939284741879 0.113941721618 -0.323668777943 +vn 0.895631790161 -0.129716515541 -0.425461292267 +vn 0.946819961071 0.235502317548 -0.219250187278 +vn 0.946819961071 0.235502317548 -0.219250187278 +vn 0.934725701809 0.310489326715 -0.172870650887 +vn 0.939284741879 0.113941721618 -0.323668777943 +vn 0.934725701809 0.310489326715 -0.172870650887 +vn 0.946819961071 0.235502317548 -0.219250187278 +vn 0.948978900909 0.234526768327 -0.210799112916 +vn 0.948978900909 0.234526768327 -0.210799112916 +vn 0.950457096100 0.270852208138 -0.152546450496 +vn 0.934725701809 0.310489326715 -0.172870650887 +vn 0.948978900909 0.234526768327 -0.210799112916 +vn 0.946819961071 0.235502317548 -0.219250187278 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.927901625633 0.165795251727 -0.333931833506 +vn 0.948978900909 0.234526768327 -0.210799112916 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.946819961071 0.235502317548 -0.219250187278 +vn 0.895631790161 -0.129716515541 -0.425461292267 +vn 0.895631790161 -0.129716515541 -0.425461292267 +vn 0.888312399387 -0.198640093207 -0.414056956768 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.895631790161 -0.129716515541 -0.425461292267 +vn 0.696239709854 -0.526411354542 -0.487997263670 +vn 0.672931492329 -0.577748060226 -0.461920291185 +vn 0.672931492329 -0.577748060226 -0.461920291185 +vn 0.888312399387 -0.198640093207 -0.414056956768 +vn 0.895631790161 -0.129716515541 -0.425461292267 +vn 0.696239709854 -0.526411354542 -0.487997263670 +vn 0.564199924469 -0.795334279537 -0.221634536982 +vn 0.602797508240 -0.769893229008 -0.209522381425 +vn 0.602797508240 -0.769893229008 -0.209522381425 +vn 0.672931492329 -0.577748060226 -0.461920291185 +vn 0.696239709854 -0.526411354542 -0.487997263670 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.599060893059 -0.799365341663 0.046272549778 +vn 0.602797508240 -0.769893229008 -0.209522381425 +vn 0.602797508240 -0.769893229008 -0.209522381425 +vn 0.564199924469 -0.795334279537 -0.221634536982 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.470746397972 -0.837257504463 0.278204500675 +vn 0.599060893059 -0.799365341663 0.046272549778 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.489956259727 -0.871741354465 0.003144107526 +vn 0.353234022856 -0.919000506401 0.175110846758 +vn 0.470746397972 -0.837257504463 0.278204500675 +vn 0.295373827219 -0.848388731480 0.439307302237 +vn 0.470746397972 -0.837257504463 0.278204500675 +vn 0.353234022856 -0.919000506401 0.175110846758 +vn 0.353234022856 -0.919000506401 0.175110846758 +vn 0.247673124075 -0.940627634525 0.232115536928 +vn 0.295373827219 -0.848388731480 0.439307302237 +vn 0.099432311952 -0.850939333439 0.515766859055 +vn 0.295373827219 -0.848388731480 0.439307302237 +vn 0.247673124075 -0.940627634525 0.232115536928 +vn 0.247673124075 -0.940627634525 0.232115536928 +vn 0.116708174348 -0.953639626503 0.277399748564 +vn 0.099432311952 -0.850939333439 0.515766859055 +vn 0.826718986034 0.240371182561 -0.508682072163 +vn 0.927901625633 0.165795251727 -0.333931833506 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.949974477291 0.187011525035 -0.250150322914 +vn 0.826718986034 0.240371182561 -0.508682072163 +vn 0.920904278755 -0.372545152903 0.114653512836 +vn 0.969618976116 0.014173090458 0.244209289551 +vn 0.888312399387 -0.198640093207 -0.414056956768 +vn 0.888312399387 -0.198640093207 -0.414056956768 +vn 0.672931492329 -0.577748060226 -0.461920291185 +vn 0.920904278755 -0.372545152903 0.114653512836 +vn 0.810669839382 -0.437342017889 0.389289557934 +vn 0.920904278755 -0.372545152903 0.114653512836 +vn 0.672931492329 -0.577748060226 -0.461920291185 +vn 0.672931492329 -0.577748060226 -0.461920291185 +vn 0.602797508240 -0.769893229008 -0.209522381425 +vn 0.810669839382 -0.437342017889 0.389289557934 +vn 0.602797508240 -0.769893229008 -0.209522381425 +vn 0.599060893059 -0.799365341663 0.046272549778 +vn 0.693751633167 -0.554435610771 0.459684520960 +vn 0.693751633167 -0.554435610771 0.459684520960 +vn 0.810669839382 -0.437342017889 0.389289557934 +vn 0.602797508240 -0.769893229008 -0.209522381425 +vn 0.571297943592 -0.634666800499 0.520400583744 +vn 0.693751633167 -0.554435610771 0.459684520960 +vn 0.599060893059 -0.799365341663 0.046272549778 +vn 0.599060893059 -0.799365341663 0.046272549778 +vn 0.470746397972 -0.837257504463 0.278204500675 +vn 0.571297943592 -0.634666800499 0.520400583744 +vn 0.388656109571 -0.596401989460 0.702318370342 +vn 0.571297943592 -0.634666800499 0.520400583744 +vn 0.470746397972 -0.837257504463 0.278204500675 +vn 0.470746397972 -0.837257504463 0.278204500675 +vn 0.295373827219 -0.848388731480 0.439307302237 +vn 0.388656109571 -0.596401989460 0.702318370342 +vn -0.011365610175 -0.569823741913 0.821688354015 +vn 0.388656109571 -0.596401989460 0.702318370342 +vn 0.295373827219 -0.848388731480 0.439307302237 +vn 0.295373827219 -0.848388731480 0.439307302237 +vn 0.099432311952 -0.850939333439 0.515766859055 +vn -0.011365610175 -0.569823741913 0.821688354015 +vn 0.388656109571 -0.596401989460 0.702318370342 +vn -0.011365610175 -0.569823741913 0.821688354015 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn 0.009567377158 0.062936350703 0.997971653938 +vn 0.388656109571 -0.596401989460 0.702318370342 +vn 0.388656109571 -0.596401989460 0.702318370342 +vn 0.009567377158 0.062936350703 0.997971653938 +vn 0.269091695547 -0.158653467894 0.949957251549 +vn 0.269091695547 -0.158653467894 0.949957251549 +vn 0.571297943592 -0.634666800499 0.520400583744 +vn 0.388656109571 -0.596401989460 0.702318370342 +vn 0.571297943592 -0.634666800499 0.520400583744 +vn 0.269091695547 -0.158653467894 0.949957251549 +vn 0.496513873339 -0.209683701396 0.842322230339 +vn 0.496513873339 -0.209683701396 0.842322230339 +vn 0.693751633167 -0.554435610771 0.459684520960 +vn 0.571297943592 -0.634666800499 0.520400583744 +vn 0.714061379433 -0.126653254032 0.688531279564 +vn 0.810669839382 -0.437342017889 0.389289557934 +vn 0.693751633167 -0.554435610771 0.459684520960 +vn 0.693751633167 -0.554435610771 0.459684520960 +vn 0.496513873339 -0.209683701396 0.842322230339 +vn 0.714061379433 -0.126653254032 0.688531279564 +vn 0.920904278755 -0.372545152903 0.114653512836 +vn 0.810669839382 -0.437342017889 0.389289557934 +vn 0.714061379433 -0.126653254032 0.688531279564 +vn 0.714061379433 -0.126653254032 0.688531279564 +vn 0.946366429329 -0.292681604624 0.136850625277 +vn 0.920904278755 -0.372545152903 0.114653512836 +vn 0.920701980591 -0.219541355968 -0.322659939528 +vn 0.969618976116 0.014173090458 0.244209289551 +vn 0.920904278755 -0.372545152903 0.114653512836 +vn 0.920904278755 -0.372545152903 0.114653512836 +vn 0.946366429329 -0.292681604624 0.136850625277 +vn 0.920701980591 -0.219541355968 -0.322659939528 +vn 0.969618976116 0.014173090458 0.244209289551 +vn 0.920701980591 -0.219541355968 -0.322659939528 +vn 0.935869395733 -0.058511238545 -0.347454905510 +vn 0.935869395733 -0.058511238545 -0.347454905510 +vn 0.888312399387 -0.198640093207 -0.414056956768 +vn 0.969618976116 0.014173090458 0.244209289551 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.888312399387 -0.198640093207 -0.414056956768 +vn 0.935869395733 -0.058511238545 -0.347454905510 +vn 0.935869395733 -0.058511238545 -0.347454905510 +vn 0.949974477291 0.187011525035 -0.250150322914 +vn 0.956887304783 0.187676936388 -0.221684709191 +vn 0.597053110600 0.192763477564 -0.778697490692 +vn 0.826718986034 0.240371182561 -0.508682072163 +vn 0.861497342587 0.166910842061 -0.479544728994 +vn 0.861497342587 0.166910842061 -0.479544728994 +vn 0.699897587299 0.400653809309 -0.591286659241 +vn 0.597053110600 0.192763477564 -0.778697490692 +vn 0.969675958157 -0.006265759468 -0.244313865900 +vn 0.942599773407 0.121348172426 -0.311095267534 +vn 0.949974477291 0.187011525035 -0.250150322914 +vn 0.949974477291 0.187011525035 -0.250150322914 +vn 0.935869395733 -0.058511238545 -0.347454905510 +vn 0.969675958157 -0.006265759468 -0.244313865900 +vn 0.957415223122 -0.181213185191 -0.224761724472 +vn 0.969675958157 -0.006265759468 -0.244313865900 +vn 0.935869395733 -0.058511238545 -0.347454905510 +vn 0.935869395733 -0.058511238545 -0.347454905510 +vn 0.920701980591 -0.219541355968 -0.322659939528 +vn 0.957415223122 -0.181213185191 -0.224761724472 +vn 0.951872944832 -0.304682195187 -0.033267050982 +vn 0.957415223122 -0.181213185191 -0.224761724472 +vn 0.920701980591 -0.219541355968 -0.322659939528 +vn 0.920701980591 -0.219541355968 -0.322659939528 +vn 0.946366429329 -0.292681604624 0.136850625277 +vn 0.951872944832 -0.304682195187 -0.033267050982 +vn 0.887927532196 -0.283699363470 0.362076491117 +vn 0.951872944832 -0.304682195187 -0.033267050982 +vn 0.946366429329 -0.292681604624 0.136850625277 +vn 0.946366429329 -0.292681604624 0.136850625277 +vn 0.714061379433 -0.126653254032 0.688531279564 +vn 0.887927532196 -0.283699363470 0.362076491117 +vn 0.681450366974 -0.170108318329 0.711820542812 +vn 0.887927532196 -0.283699363470 0.362076491117 +vn 0.714061379433 -0.126653254032 0.688531279564 +vn 0.714061379433 -0.126653254032 0.688531279564 +vn 0.496513873339 -0.209683701396 0.842322230339 +vn 0.681450366974 -0.170108318329 0.711820542812 +vn 0.307430177927 0.101323992014 0.946160733700 +vn 0.681450366974 -0.170108318329 0.711820542812 +vn 0.496513873339 -0.209683701396 0.842322230339 +vn 0.496513873339 -0.209683701396 0.842322230339 +vn 0.269091695547 -0.158653467894 0.949957251549 +vn 0.307430177927 0.101323992014 0.946160733700 +vn -0.043281786144 0.417985618114 0.907422006130 +vn 0.307430177927 0.101323992014 0.946160733700 +vn 0.269091695547 -0.158653467894 0.949957251549 +vn 0.269091695547 -0.158653467894 0.949957251549 +vn 0.009567377158 0.062936350703 0.997971653938 +vn -0.043281786144 0.417985618114 0.907422006130 +vn -0.211031064391 0.334258556366 0.918551623821 +vn 0.009567377158 0.062936350703 0.997971653938 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn -0.193377628922 -0.020433094352 0.980911612511 +vn -0.212129950523 0.227813541889 0.950316727161 +vn -0.211031064391 0.334258556366 0.918551623821 +vn -0.252683490515 0.431100577116 0.866200506687 +vn -0.043281786144 0.417985618114 0.907422006130 +vn 0.009567377158 0.062936350703 0.997971653938 +vn 0.009567377158 0.062936350703 0.997971653938 +vn -0.211031064391 0.334258556366 0.918551623821 +vn -0.252683490515 0.431100577116 0.866200506687 +vn -0.005775345955 0.566921889782 0.823751330376 +vn 0.118042111397 0.582126080990 0.804484486580 +vn -0.043281786144 0.417985618114 0.907422006130 +vn -0.043281786144 0.417985618114 0.907422006130 +vn -0.252683490515 0.431100577116 0.866200506687 +vn -0.005775345955 0.566921889782 0.823751330376 +vn 0.421086013317 0.331745862961 0.844174861908 +vn 0.307430177927 0.101323992014 0.946160733700 +vn -0.043281786144 0.417985618114 0.907422006130 +vn -0.043281786144 0.417985618114 0.907422006130 +vn 0.118042111397 0.582126080990 0.804484486580 +vn 0.421086013317 0.331745862961 0.844174861908 +vn 0.655123889446 0.148886278272 0.740706145763 +vn 0.681450366974 -0.170108318329 0.711820542812 +vn 0.307430177927 0.101323992014 0.946160733700 +vn 0.307430177927 0.101323992014 0.946160733700 +vn 0.421086013317 0.331745862961 0.844174861908 +vn 0.655123889446 0.148886278272 0.740706145763 +vn 0.835974216461 0.060734994709 0.545397460461 +vn 0.887927532196 -0.283699363470 0.362076491117 +vn 0.681450366974 -0.170108318329 0.711820542812 +vn 0.681450366974 -0.170108318329 0.711820542812 +vn 0.655123889446 0.148886278272 0.740706145763 +vn 0.835974216461 0.060734994709 0.545397460461 +vn 0.931944012642 -0.003060617950 0.362589240074 +vn 0.951872944832 -0.304682195187 -0.033267050982 +vn 0.887927532196 -0.283699363470 0.362076491117 +vn 0.887927532196 -0.283699363470 0.362076491117 +vn 0.835974216461 0.060734994709 0.545397460461 +vn 0.931944012642 -0.003060617950 0.362589240074 +vn 0.951872944832 -0.304682195187 -0.033267050982 +vn 0.931944012642 -0.003060617950 0.362589240074 +vn 0.956516206264 0.125038489699 0.263518750668 +vn 0.956516206264 0.125038489699 0.263518750668 +vn 0.957415223122 -0.181213185191 -0.224761724472 +vn 0.951872944832 -0.304682195187 -0.033267050982 +vn 0.927957713604 0.333342611790 0.166664868593 +vn 0.969675958157 -0.006265759468 -0.244313865900 +vn 0.957415223122 -0.181213185191 -0.224761724472 +vn 0.957415223122 -0.181213185191 -0.224761724472 +vn 0.956516206264 0.125038489699 0.263518750668 +vn 0.927957713604 0.333342611790 0.166664868593 +vn 0.969675958157 -0.006265759468 -0.244313865900 +vn 0.927957713604 0.333342611790 0.166664868593 +vn 0.898776412010 0.424006968737 -0.111440964043 +vn 0.898776412010 0.424006968737 -0.111440964043 +vn 0.942599773407 0.121348172426 -0.311095267534 +vn 0.969675958157 -0.006265759468 -0.244313865900 +vn 0.826718986034 0.240371182561 -0.508682072163 +vn 0.949974477291 0.187011525035 -0.250150322914 +vn 0.942599773407 0.121348172426 -0.311095267534 +vn 0.942599773407 0.121348172426 -0.311095267534 +vn 0.861497342587 0.166910842061 -0.479544728994 +vn 0.826718986034 0.240371182561 -0.508682072163 +vn 0.942599773407 0.121348172426 -0.311095267534 +vn 0.898776412010 0.424006968737 -0.111440964043 +vn 0.699897587299 0.400653809309 -0.591286659241 +vn 0.699897587299 0.400653809309 -0.591286659241 +vn 0.861497342587 0.166910842061 -0.479544728994 +vn 0.942599773407 0.121348172426 -0.311095267534 +vn 0.597053110600 0.192763477564 -0.778697490692 +vn 0.699897587299 0.400653809309 -0.591286659241 +vn 0.365882277489 0.343775957823 -0.864840030670 +vn 0.365882277489 0.343775957823 -0.864840030670 +vn 0.340949475765 0.080066934228 -0.936665773392 +vn 0.597053110600 0.192763477564 -0.778697490692 +vn 0.340949475765 0.080066934228 -0.936665773392 +vn 0.365882277489 0.343775957823 -0.864840030670 +vn -0.028911255300 0.248572260141 -0.968181788921 +vn -0.028911255300 0.248572260141 -0.968181788921 +vn -0.091410763562 -0.033696297556 -0.995243012905 +vn 0.340949475765 0.080066934228 -0.936665773392 +vn -0.087644666433 0.797944962978 0.596323907375 +vn 0.022682305425 0.700176298618 0.713609576225 +vn 0.118042111397 0.582126080990 0.804484486580 +vn 0.118042111397 0.582126080990 0.804484486580 +vn -0.005775345955 0.566921889782 0.823751330376 +vn -0.087644666433 0.797944962978 0.596323907375 +vn 0.421086013317 0.331745862961 0.844174861908 +vn 0.118042111397 0.582126080990 0.804484486580 +vn 0.022682305425 0.700176298618 0.713609576225 +vn 0.022682305425 0.700176298618 0.713609576225 +vn 0.158913969994 0.649801671505 0.743306219578 +vn 0.421086013317 0.331745862961 0.844174861908 +vn 0.421086013317 0.331745862961 0.844174861908 +vn 0.158913969994 0.649801671505 0.743306219578 +vn 0.326081156731 0.529603064060 0.783065557480 +vn 0.326081156731 0.529603064060 0.783065557480 +vn 0.655123889446 0.148886278272 0.740706145763 +vn 0.421086013317 0.331745862961 0.844174861908 +vn 0.835974216461 0.060734994709 0.545397460461 +vn 0.655123889446 0.148886278272 0.740706145763 +vn 0.326081156731 0.529603064060 0.783065557480 +vn 0.326081156731 0.529603064060 0.783065557480 +vn 0.470974206924 0.477889269590 0.741488456726 +vn 0.835974216461 0.060734994709 0.545397460461 +vn 0.835974216461 0.060734994709 0.545397460461 +vn 0.470974206924 0.477889269590 0.741488456726 +vn 0.573665559292 0.416753500700 0.705141365528 +vn 0.573665559292 0.416753500700 0.705141365528 +vn 0.931944012642 -0.003060617950 0.362589240074 +vn 0.835974216461 0.060734994709 0.545397460461 +vn 0.931944012642 -0.003060617950 0.362589240074 +vn 0.573665559292 0.416753500700 0.705141365528 +vn 0.639803349972 0.412074059248 0.648726940155 +vn 0.639803349972 0.412074059248 0.648726940155 +vn 0.956516206264 0.125038489699 0.263518750668 +vn 0.931944012642 -0.003060617950 0.362589240074 +vn 0.956516206264 0.125038489699 0.263518750668 +vn 0.639803349972 0.412074059248 0.648726940155 +vn 0.654379069805 0.572576820850 0.493906706572 +vn 0.654379069805 0.572576820850 0.493906706572 +vn 0.927957713604 0.333342611790 0.166664868593 +vn 0.956516206264 0.125038489699 0.263518750668 +vn 0.927957713604 0.333342611790 0.166664868593 +vn 0.654379069805 0.572576820850 0.493906706572 +vn 0.628654718399 0.752240359783 0.197300985456 +vn 0.628654718399 0.752240359783 0.197300985456 +vn 0.898776412010 0.424006968737 -0.111440964043 +vn 0.927957713604 0.333342611790 0.166664868593 +vn 0.898776412010 0.424006968737 -0.111440964043 +vn 0.628654718399 0.752240359783 0.197300985456 +vn 0.553518593311 0.789642274380 -0.264730513096 +vn 0.553518593311 0.789642274380 -0.264730513096 +vn 0.699897587299 0.400653809309 -0.591286659241 +vn 0.898776412010 0.424006968737 -0.111440964043 +vn 0.699897587299 0.400653809309 -0.591286659241 +vn 0.553518593311 0.789642274380 -0.264730513096 +vn 0.304938465357 0.703848004341 -0.641568779945 +vn 0.304938465357 0.703848004341 -0.641568779945 +vn 0.365882277489 0.343775957823 -0.864840030670 +vn 0.699897587299 0.400653809309 -0.591286659241 +vn 0.011481816880 0.636885046959 -0.770873308182 +vn -0.028911255300 0.248572260141 -0.968181788921 +vn 0.365882277489 0.343775957823 -0.864840030670 +vn 0.365882277489 0.343775957823 -0.864840030670 +vn 0.304938465357 0.703848004341 -0.641568779945 +vn 0.011481816880 0.636885046959 -0.770873308182 +vn 0.158913969994 0.649801671505 0.743306219578 +vn 0.022682305425 0.700176298618 0.713609576225 +vn -0.087644666433 0.797944962978 0.596323907375 +vn -0.087644666433 0.797944962978 0.596323907375 +vn -0.021405575797 0.810315549374 0.585602700710 +vn 0.158913969994 0.649801671505 0.743306219578 +vn 0.158913969994 0.649801671505 0.743306219578 +vn -0.021405575797 0.810315549374 0.585602700710 +vn 0.135182872415 0.733623564243 0.665974557400 +vn 0.135182872415 0.733623564243 0.665974557400 +vn 0.326081156731 0.529603064060 0.783065557480 +vn 0.158913969994 0.649801671505 0.743306219578 +vn 0.326081156731 0.529603064060 0.783065557480 +vn 0.135182872415 0.733623564243 0.665974557400 +vn 0.297315388918 0.622704029083 0.723770201206 +vn 0.297315388918 0.622704029083 0.723770201206 +vn 0.470974206924 0.477889269590 0.741488456726 +vn 0.326081156731 0.529603064060 0.783065557480 +vn 0.470974206924 0.477889269590 0.741488456726 +vn 0.297315388918 0.622704029083 0.723770201206 +vn 0.389200001955 0.573539316654 0.720816195011 +vn 0.389200001955 0.573539316654 0.720816195011 +vn 0.573665559292 0.416753500700 0.705141365528 +vn 0.470974206924 0.477889269590 0.741488456726 +vn 0.507545232773 0.531004428864 0.678551495075 +vn 0.639803349972 0.412074059248 0.648726940155 +vn 0.573665559292 0.416753500700 0.705141365528 +vn 0.573665559292 0.416753500700 0.705141365528 +vn 0.389200001955 0.573539316654 0.720816195011 +vn 0.507545232773 0.531004428864 0.678551495075 +vn 0.654379069805 0.572576820850 0.493906706572 +vn 0.639803349972 0.412074059248 0.648726940155 +vn 0.507545232773 0.531004428864 0.678551495075 +vn 0.507545232773 0.531004428864 0.678551495075 +vn 0.580223083496 0.617204606533 0.531412839890 +vn 0.654379069805 0.572576820850 0.493906706572 +vn 0.654379069805 0.572576820850 0.493906706572 +vn 0.580223083496 0.617204606533 0.531412839890 +vn 0.527233898640 0.796128153801 0.296992242336 +vn 0.527233898640 0.796128153801 0.296992242336 +vn 0.628654718399 0.752240359783 0.197300985456 +vn 0.654379069805 0.572576820850 0.493906706572 +vn 0.416550189257 0.902303695679 -0.111058652401 +vn 0.553518593311 0.789642274380 -0.264730513096 +vn 0.628654718399 0.752240359783 0.197300985456 +vn 0.628654718399 0.752240359783 0.197300985456 +vn 0.527233898640 0.796128153801 0.296992242336 +vn 0.416550189257 0.902303695679 -0.111058652401 +vn 0.553518593311 0.789642274380 -0.264730513096 +vn 0.416550189257 0.902303695679 -0.111058652401 +vn 0.250042259693 0.829527139664 -0.499363213778 +vn 0.250042259693 0.829527139664 -0.499363213778 +vn 0.304938465357 0.703848004341 -0.641568779945 +vn 0.553518593311 0.789642274380 -0.264730513096 +vn 0.304938465357 0.703848004341 -0.641568779945 +vn 0.250042259693 0.829527139664 -0.499363213778 +vn 0.031884565949 0.757848381996 -0.651651144028 +vn 0.031884565949 0.757848381996 -0.651651144028 +vn 0.011481816880 0.636885046959 -0.770873308182 +vn 0.304938465357 0.703848004341 -0.641568779945 +vn 0.639572858810 -0.175081178546 0.748527288437 +vn 0.377220094204 -0.226272672415 0.898056626320 +vn 0.378185003996 -0.403165251017 0.833326995373 +vn 0.378185003996 -0.403165251017 0.833326995373 +vn 0.602071702480 -0.417796939611 0.680408239365 +vn 0.639572858810 -0.175081178546 0.748527288437 +vn 0.229054272175 -0.404233902693 0.885510623455 +vn 0.378185003996 -0.403165251017 0.833326995373 +vn 0.377220094204 -0.226272672415 0.898056626320 +vn 0.377220094204 -0.226272672415 0.898056626320 +vn 0.274269640446 -0.322407662868 0.905996382236 +vn 0.229054272175 -0.404233902693 0.885510623455 +vn 0.564134895802 -0.143683999777 0.813084661961 +vn 0.420370161533 -0.418006032705 0.805332183838 +vn 0.229054272175 -0.404233902693 0.885510623455 +vn 0.229054272175 -0.404233902693 0.885510623455 +vn 0.274269640446 -0.322407662868 0.905996382236 +vn 0.564134895802 -0.143683999777 0.813084661961 +vn 0.646276831627 0.492995202541 0.582479178905 +vn 0.490524053574 0.461309880018 0.739310026169 +vn 0.420370161533 -0.418006032705 0.805332183838 +vn 0.420370161533 -0.418006032705 0.805332183838 +vn 0.564134895802 -0.143683999777 0.813084661961 +vn 0.646276831627 0.492995202541 0.582479178905 +vn 0.184095010161 0.707548022270 0.682264506817 +vn 0.027354190126 0.848339557648 0.528745472431 +vn 0.490524053574 0.461309880018 0.739310026169 +vn 0.490524053574 0.461309880018 0.739310026169 +vn 0.646276831627 0.492995202541 0.582479178905 +vn 0.184095010161 0.707548022270 0.682264506817 +vn 0.297506958246 0.235928297043 0.925109446049 +vn 0.217779934406 0.618968546391 0.754619002342 +vn 0.027354190126 0.848339557648 0.528745472431 +vn 0.027354190126 0.848339557648 0.528745472431 +vn 0.184095010161 0.707548022270 0.682264506817 +vn 0.297506958246 0.235928297043 0.925109446049 +vn 0.693422079086 0.040879141539 0.719371080399 +vn 0.648735523224 0.337128430605 0.682265818119 +vn 0.217779934406 0.618968546391 0.754619002342 +vn 0.217779934406 0.618968546391 0.754619002342 +vn 0.297506958246 0.235928297043 0.925109446049 +vn 0.693422079086 0.040879141539 0.719371080399 +vn 0.868949472904 0.298117607832 0.395035088062 +vn 0.648735523224 0.337128430605 0.682265818119 +vn 0.693422079086 0.040879141539 0.719371080399 +vn 0.693422079086 0.040879141539 0.719371080399 +vn 0.916819691658 0.095807664096 0.387637108564 +vn 0.868949472904 0.298117607832 0.395035088062 +vn 0.978968083858 0.184593155980 0.086872689426 +vn 0.882189989090 0.458903372288 0.105586610734 +vn 0.868949472904 0.298117607832 0.395035088062 +vn 0.868949472904 0.298117607832 0.395035088062 +vn 0.916819691658 0.095807664096 0.387637108564 +vn 0.978968083858 0.184593155980 0.086872689426 +vn 0.945089697838 0.192533746362 0.264076173306 +vn 0.903099119663 0.412203252316 0.120418034494 +vn 0.882189989090 0.458903372288 0.105586610734 +vn 0.882189989090 0.458903372288 0.105586610734 +vn 0.978968083858 0.184593155980 0.086872689426 +vn 0.945089697838 0.192533746362 0.264076173306 +vn 0.932904720306 -0.147877126932 0.328361213207 +vn 0.961342573166 -0.171136543155 0.215714603662 +vn 0.903099119663 0.412203252316 0.120418034494 +vn 0.903099119663 0.412203252316 0.120418034494 +vn 0.945089697838 0.192533746362 0.264076173306 +vn 0.932904720306 -0.147877126932 0.328361213207 +vn 0.940850913525 -0.294875055552 0.166878074408 +vn 0.865472078323 -0.445646405220 0.228817224503 +vn 0.961342573166 -0.171136543155 0.215714603662 +vn 0.961342573166 -0.171136543155 0.215714603662 +vn 0.932904720306 -0.147877126932 0.328361213207 +vn 0.940850913525 -0.294875055552 0.166878074408 +vn 0.898053467274 -0.229784309864 0.375098794699 +vn 0.758167684078 -0.502615153790 0.415403187275 +vn 0.865472078323 -0.445646405220 0.228817224503 +vn 0.865472078323 -0.445646405220 0.228817224503 +vn 0.940850913525 -0.294875055552 0.166878074408 +vn 0.898053467274 -0.229784309864 0.375098794699 +vn 0.898053467274 -0.229784309864 0.375098794699 +vn 0.639572858810 -0.175081178546 0.748527288437 +vn 0.602071702480 -0.417796939611 0.680408239365 +vn 0.602071702480 -0.417796939611 0.680408239365 +vn 0.758167684078 -0.502615153790 0.415403187275 +vn 0.898053467274 -0.229784309864 0.375098794699 +vn 0.602071702480 -0.417796939611 0.680408239365 +vn 0.378185003996 -0.403165251017 0.833326995373 +vn 0.348717659712 -0.799128830433 0.489682704210 +vn 0.348717659712 -0.799128830433 0.489682704210 +vn 0.336075752974 -0.870628416538 0.359248220921 +vn 0.602071702480 -0.417796939611 0.680408239365 +vn 0.229054272175 -0.404233902693 0.885510623455 +vn 0.340711802244 -0.641201555729 0.687587082386 +vn 0.348717659712 -0.799128830433 0.489682704210 +vn 0.348717659712 -0.799128830433 0.489682704210 +vn 0.378185003996 -0.403165251017 0.833326995373 +vn 0.229054272175 -0.404233902693 0.885510623455 +vn 0.420370161533 -0.418006032705 0.805332183838 +vn 0.487048745155 -0.694580614567 0.529472649097 +vn 0.340711802244 -0.641201555729 0.687587082386 +vn 0.340711802244 -0.641201555729 0.687587082386 +vn 0.229054272175 -0.404233902693 0.885510623455 +vn 0.420370161533 -0.418006032705 0.805332183838 +vn 0.490524053574 0.461309880018 0.739310026169 +vn 0.744322121143 0.657111704350 0.119116656482 +vn 0.487048745155 -0.694580614567 0.529472649097 +vn 0.487048745155 -0.694580614567 0.529472649097 +vn 0.420370161533 -0.418006032705 0.805332183838 +vn 0.490524053574 0.461309880018 0.739310026169 +vn 0.027354190126 0.848339557648 0.528745472431 +vn 0.141101598740 0.945256769657 -0.294244796038 +vn 0.744322121143 0.657111704350 0.119116656482 +vn 0.744322121143 0.657111704350 0.119116656482 +vn 0.490524053574 0.461309880018 0.739310026169 +vn 0.027354190126 0.848339557648 0.528745472431 +vn 0.217779934406 0.618968546391 0.754619002342 +vn -0.089801914990 0.986447930336 0.137317344546 +vn 0.141101598740 0.945256769657 -0.294244796038 +vn 0.141101598740 0.945256769657 -0.294244796038 +vn 0.027354190126 0.848339557648 0.528745472431 +vn 0.217779934406 0.618968546391 0.754619002342 +vn 0.425227582455 0.791610717773 0.438786923885 +vn -0.089801914990 0.986447930336 0.137317344546 +vn 0.217779934406 0.618968546391 0.754619002342 +vn 0.217779934406 0.618968546391 0.754619002342 +vn 0.648735523224 0.337128430605 0.682265818119 +vn 0.425227582455 0.791610717773 0.438786923885 +vn 0.868949472904 0.298117607832 0.395035088062 +vn 0.706862568855 0.568781375885 0.420515179634 +vn 0.425227582455 0.791610717773 0.438786923885 +vn 0.425227582455 0.791610717773 0.438786923885 +vn 0.648735523224 0.337128430605 0.682265818119 +vn 0.868949472904 0.298117607832 0.395035088062 +vn 0.882189989090 0.458903372288 0.105586610734 +vn 0.647108733654 0.750588536263 0.133668154478 +vn 0.706862568855 0.568781375885 0.420515179634 +vn 0.706862568855 0.568781375885 0.420515179634 +vn 0.868949472904 0.298117607832 0.395035088062 +vn 0.882189989090 0.458903372288 0.105586610734 +vn 0.903099119663 0.412203252316 0.120418034494 +vn 0.330178469419 0.915636241436 0.229330360889 +vn 0.647108733654 0.750588536263 0.133668154478 +vn 0.647108733654 0.750588536263 0.133668154478 +vn 0.882189989090 0.458903372288 0.105586610734 +vn 0.903099119663 0.412203252316 0.120418034494 +vn 0.961342573166 -0.171136543155 0.215714603662 +vn 0.677508771420 -0.232246801257 0.697884857655 +vn 0.330178469419 0.915636241436 0.229330360889 +vn 0.330178469419 0.915636241436 0.229330360889 +vn 0.903099119663 0.412203252316 0.120418034494 +vn 0.961342573166 -0.171136543155 0.215714603662 +vn 0.865472078323 -0.445646405220 0.228817224503 +vn 0.647285282612 -0.671119987965 0.361413508654 +vn 0.677508771420 -0.232246801257 0.697884857655 +vn 0.677508771420 -0.232246801257 0.697884857655 +vn 0.961342573166 -0.171136543155 0.215714603662 +vn 0.865472078323 -0.445646405220 0.228817224503 +vn 0.388192862272 -0.845675826073 0.366249561310 +vn 0.647285282612 -0.671119987965 0.361413508654 +vn 0.865472078323 -0.445646405220 0.228817224503 +vn 0.865472078323 -0.445646405220 0.228817224503 +vn 0.758167684078 -0.502615153790 0.415403187275 +vn 0.388192862272 -0.845675826073 0.366249561310 +vn 0.336075752974 -0.870628416538 0.359248220921 +vn 0.388192862272 -0.845675826073 0.366249561310 +vn 0.758167684078 -0.502615153790 0.415403187275 +vn 0.758167684078 -0.502615153790 0.415403187275 +vn 0.602071702480 -0.417796939611 0.680408239365 +vn 0.336075752974 -0.870628416538 0.359248220921 +vn 0.733347594738 0.675600945950 0.075925514102 +vn 0.666646242142 0.745317161083 -0.009225846268 +vn 0.839728236198 0.539731502533 0.059551939368 +vn 0.839728236198 0.539731502533 0.059551939368 +vn 0.708084583282 0.692552626133 0.137793600559 +vn 0.733347594738 0.675600945950 0.075925514102 +vn 0.750932097435 0.635434091091 0.179790079594 +vn 0.713051259518 0.673798978329 0.193785592914 +vn 0.753422796726 0.657339215279 -0.016101408750 +vn 0.753422796726 0.657339215279 -0.016101408750 +vn 0.733347594738 0.675600945950 0.075925514102 +vn 0.750932097435 0.635434091091 0.179790079594 +vn 0.561187684536 0.239976942539 0.792136013508 +vn 0.854356050491 -0.257476896048 0.451421499252 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn 0.284206509590 -0.519967913628 0.805518448353 +vn 0.256318479776 0.039006829262 0.965804994106 +vn 0.561187684536 0.239976942539 0.792136013508 +vn 0.174813181162 0.397422939539 0.900830388069 +vn 0.464831054211 0.394190609455 0.792808830738 +vn 0.421305626631 0.513768494129 0.747357726097 +vn 0.421305626631 0.513768494129 0.747357726097 +vn 0.143435344100 0.498812109232 0.854758918285 +vn 0.174813181162 0.397422939539 0.900830388069 +vn 0.116708174348 -0.953639626503 0.277399748564 +vn 0.247673124075 -0.940627634525 0.232115536928 +vn 0.375306636095 -0.805032193661 0.459421426058 +vn 0.375306636095 -0.805032193661 0.459421426058 +vn 0.138890832663 -0.801826655865 0.581191301346 +vn 0.116708174348 -0.953639626503 0.277399748564 +vn 0.159534424543 0.524704039097 0.836202383041 +vn 0.231967061758 -0.233555212617 0.944268643856 +vn 0.546610355377 -0.258020311594 0.796644628048 +vn 0.546610355377 -0.258020311594 0.796644628048 +vn 0.506390750408 0.538258075714 0.673681437969 +vn 0.159534424543 0.524704039097 0.836202383041 +vn 0.830623030663 -0.231687158346 0.506346166134 +vn 0.781435728073 0.546684145927 0.300823241472 +vn 0.506390750408 0.538258075714 0.673681437969 +vn 0.506390750408 0.538258075714 0.673681437969 +vn 0.546610355377 -0.258020311594 0.796644628048 +vn 0.830623030663 -0.231687158346 0.506346166134 +vn 0.891787886620 0.452209621668 -0.014860952273 +vn 0.781435728073 0.546684145927 0.300823241472 +vn 0.830623030663 -0.231687158346 0.506346166134 +vn 0.830623030663 -0.231687158346 0.506346166134 +vn 0.918158710003 -0.240577429533 0.314812809229 +vn 0.891787886620 0.452209621668 -0.014860952273 +vn 0.937179505825 0.337875336409 -0.086803659797 +vn 0.891787886620 0.452209621668 -0.014860952273 +vn 0.918158710003 -0.240577429533 0.314812809229 +vn 0.918158710003 -0.240577429533 0.314812809229 +vn 0.873789131641 -0.168129771948 0.456316709518 +vn 0.937179505825 0.337875336409 -0.086803659797 +vn 0.873789131641 -0.168129771948 0.456316709518 +vn 0.813842773438 0.072670906782 0.576523065567 +vn 0.945739746094 0.324362844229 -0.019108049572 +vn 0.945739746094 0.324362844229 -0.019108049572 +vn 0.937179505825 0.337875336409 -0.086803659797 +vn 0.873789131641 -0.168129771948 0.456316709518 +vn 0.940660119057 0.304994046688 0.148785516620 +vn 0.945739746094 0.324362844229 -0.019108049572 +vn 0.813842773438 0.072670906782 0.576523065567 +vn 0.813842773438 0.072670906782 0.576523065567 +vn 0.769383728504 0.143628954887 0.622430264950 +vn 0.940660119057 0.304994046688 0.148785516620 +vn 0.705974459648 0.211807489395 0.675823688507 +vn 0.933379650116 0.281861096621 0.222163870931 +vn 0.940660119057 0.304994046688 0.148785516620 +vn 0.940660119057 0.304994046688 0.148785516620 +vn 0.769383728504 0.143628954887 0.622430264950 +vn 0.705974459648 0.211807489395 0.675823688507 +vn 0.963914513588 0.155681833625 0.215944394469 +vn 0.933379650116 0.281861096621 0.222163870931 +vn 0.705974459648 0.211807489395 0.675823688507 +vn 0.705974459648 0.211807489395 0.675823688507 +vn 0.655949294567 -0.360590577126 0.663102567196 +vn 0.963914513588 0.155681833625 0.215944394469 +vn 0.963914513588 0.155681833625 0.215944394469 +vn 0.655949294567 -0.360590577126 0.663102567196 +vn 0.683387815952 -0.673397064209 0.281988471746 +vn 0.683387815952 -0.673397064209 0.281988471746 +vn 0.997646987438 0.040396459401 -0.055394966155 +vn 0.963914513588 0.155681833625 0.215944394469 +vn 0.683387815952 -0.673397064209 0.281988471746 +vn 0.633489966393 -0.757112979889 -0.159594580531 +vn 0.949094235897 0.007942831144 -0.314892143011 +vn 0.949094235897 0.007942831144 -0.314892143011 +vn 0.997646987438 0.040396459401 -0.055394966155 +vn 0.683387815952 -0.673397064209 0.281988471746 +vn 0.633489966393 -0.757112979889 -0.159594580531 +vn 0.408531010151 -0.740816414356 -0.533191740513 +vn 0.761567533016 -0.045328486711 -0.646498441696 +vn 0.761567533016 -0.045328486711 -0.646498441696 +vn 0.949094235897 0.007942831144 -0.314892143011 +vn 0.633489966393 -0.757112979889 -0.159594580531 +vn 0.647427976131 0.019929872826 -0.761865973473 +vn 0.761567533016 -0.045328486711 -0.646498441696 +vn 0.408531010151 -0.740816414356 -0.533191740513 +vn 0.408531010151 -0.740816414356 -0.533191740513 +vn 0.352352052927 -0.675574064255 -0.647647798061 +vn 0.647427976131 0.019929872826 -0.761865973473 +vn -0.182521164417 -0.203338980675 0.961945593357 +vn 0.231967061758 -0.233555212617 0.944268643856 +vn 0.159534424543 0.524704039097 0.836202383041 +vn 0.159534424543 0.524704039097 0.836202383041 +vn -0.299555271864 0.546643376350 0.781951189041 +vn -0.182521164417 -0.203338980675 0.961945593357 +vn -0.182521164417 -0.203338980675 0.961945593357 +vn -0.299555271864 0.546643376350 0.781951189041 +vn -0.705455362797 0.442646503448 0.553531229496 +vn -0.705455362797 0.442646503448 0.553531229496 +vn -0.532182991505 -0.286137044430 0.796810448170 +vn -0.182521164417 -0.203338980675 0.961945593357 +vn -0.602641165257 -0.246796503663 0.758890688419 +vn -0.532182991505 -0.286137044430 0.796810448170 +vn -0.705455362797 0.442646503448 0.553531229496 +vn -0.705455362797 0.442646503448 0.553531229496 +vn -0.889801084995 0.299412399530 0.344392567873 +vn -0.602641165257 -0.246796503663 0.758890688419 +vn -0.602641165257 -0.246796503663 0.758890688419 +vn -0.889801084995 0.299412399530 0.344392567873 +vn -0.874613881111 0.251075208187 0.414743065834 +vn -0.874613881111 0.251075208187 0.414743065834 +vn -0.442798525095 -0.048629581928 0.895301401615 +vn -0.602641165257 -0.246796503663 0.758890688419 +vn -0.821858465672 0.073336854577 0.564951658249 +vn -0.279677391052 -0.181245908141 0.942831099033 +vn -0.304022520781 0.155782133341 0.939841628075 +vn -0.304022520781 0.155782133341 0.939841628075 +vn -0.791023254395 0.166800767183 0.588608264923 +vn -0.821858465672 0.073336854577 0.564951658249 +vn -0.791023254395 0.166800767183 0.588608264923 +vn -0.304022520781 0.155782133341 0.939841628075 +vn -0.365280956030 0.082129344344 0.927267253399 +vn -0.365280956030 0.082129344344 0.927267253399 +vn -0.808350086212 0.203630700707 0.552362799644 +vn -0.791023254395 0.166800767183 0.588608264923 +vn -0.808350086212 0.203630700707 0.552362799644 +vn -0.365280956030 0.082129344344 0.927267253399 +vn -0.442798525095 -0.048629581928 0.895301401615 +vn -0.442798525095 -0.048629581928 0.895301401615 +vn -0.874613881111 0.251075208187 0.414743065834 +vn -0.808350086212 0.203630700707 0.552362799644 +vn -0.815816044807 -0.033233188093 -0.577355861664 +vn -0.436591178179 -0.710123062134 -0.552370667458 +vn -0.479634582996 -0.732783257961 -0.482679367065 +vn -0.479634582996 -0.732783257961 -0.482679367065 +vn -0.936159014702 -0.063873127103 -0.345726042986 +vn -0.815816044807 -0.033233188093 -0.577355861664 +vn -0.936159014702 -0.063873127103 -0.345726042986 +vn -0.479634582996 -0.732783257961 -0.482679367065 +vn -0.494367212057 -0.821183621883 -0.285058826208 +vn -0.494367212057 -0.821183621883 -0.285058826208 +vn -0.984978437424 -0.148210123181 -0.088606998324 +vn -0.936159014702 -0.063873127103 -0.345726042986 +vn -0.984978437424 -0.148210123181 -0.088606998324 +vn -0.494367212057 -0.821183621883 -0.285058826208 +vn -0.462283223867 -0.884084403515 0.068476572633 +vn -0.462283223867 -0.884084403515 0.068476572633 +vn -0.977963626385 -0.174421295524 0.114736154675 +vn -0.984978437424 -0.148210123181 -0.088606998324 +vn -0.977963626385 -0.174421295524 0.114736154675 +vn -0.462283223867 -0.884084403515 0.068476572633 +vn -0.353442579508 -0.812535405159 0.463534832001 +vn -0.353442579508 -0.812535405159 0.463534832001 +vn -0.909234404564 -0.117803066969 0.399268388748 +vn -0.977963626385 -0.174421295524 0.114736154675 +vn -0.353442579508 -0.812535405159 0.463534832001 +vn -0.279677391052 -0.181245908141 0.942831099033 +vn -0.821858465672 0.073336854577 0.564951658249 +vn -0.821858465672 0.073336854577 0.564951658249 +vn -0.909234404564 -0.117803066969 0.399268388748 +vn -0.353442579508 -0.812535405159 0.463534832001 +vn 0.577902257442 -0.002421748824 -0.816102385521 +vn 0.647427976131 0.019929872826 -0.761865973473 +vn 0.352352052927 -0.675574064255 -0.647647798061 +vn 0.352352052927 -0.675574064255 -0.647647798061 +vn 0.264879673719 -0.680946111679 -0.682752609253 +vn 0.577902257442 -0.002421748824 -0.816102385521 +vn 0.212482243776 -0.757902085781 -0.616794705391 +vn 0.398862630129 -0.116559632123 -0.909572660923 +vn 0.577902257442 -0.002421748824 -0.816102385521 +vn 0.577902257442 -0.002421748824 -0.816102385521 +vn 0.264879673719 -0.680946111679 -0.682752609253 +vn 0.212482243776 -0.757902085781 -0.616794705391 +vn 0.079081669450 -0.841114282608 -0.535044729710 +vn 0.042918991297 -0.159098654985 -0.986329317093 +vn 0.398862630129 -0.116559632123 -0.909572660923 +vn 0.398862630129 -0.116559632123 -0.909572660923 +vn 0.212482243776 -0.757902085781 -0.616794705391 +vn 0.079081669450 -0.841114282608 -0.535044729710 +vn -0.155002683401 -0.764973640442 -0.625131547451 +vn -0.316775918007 -0.082177042961 -0.944933831692 +vn 0.042918991297 -0.159098654985 -0.986329317093 +vn 0.042918991297 -0.159098654985 -0.986329317093 +vn 0.079081669450 -0.841114282608 -0.535044729710 +vn -0.155002683401 -0.764973640442 -0.625131547451 +vn -0.587253093719 -0.116071887314 -0.801037490368 +vn -0.316775918007 -0.082177042961 -0.944933831692 +vn -0.155002683401 -0.764973640442 -0.625131547451 +vn -0.155002683401 -0.764973640442 -0.625131547451 +vn -0.284915238619 -0.800749540329 -0.526899874210 +vn -0.587253093719 -0.116071887314 -0.801037490368 +vn 0.051589123905 0.106985323131 -0.992921292782 +vn 0.042918991297 -0.159098654985 -0.986329317093 +vn -0.316775918007 -0.082177042961 -0.944933831692 +vn -0.316775918007 -0.082177042961 -0.944933831692 +vn -0.320609718561 0.092053167522 -0.942727744579 +vn 0.051589123905 0.106985323131 -0.992921292782 +vn -0.643136858940 0.096314810216 -0.759669959545 +vn -0.320609718561 0.092053167522 -0.942727744579 +vn -0.316775918007 -0.082177042961 -0.944933831692 +vn -0.316775918007 -0.082177042961 -0.944933831692 +vn -0.587253093719 -0.116071887314 -0.801037490368 +vn -0.643136858940 0.096314810216 -0.759669959545 +vn -0.587253093719 -0.116071887314 -0.801037490368 +vn -0.815816044807 -0.033233188093 -0.577355861664 +vn -0.882616877556 0.102173909545 -0.458855003119 +vn -0.882616877556 0.102173909545 -0.458855003119 +vn -0.643136858940 0.096314810216 -0.759669959545 +vn -0.587253093719 -0.116071887314 -0.801037490368 +vn -0.815816044807 -0.033233188093 -0.577355861664 +vn -0.936159014702 -0.063873127103 -0.345726042986 +vn -0.950938582420 0.160574719310 -0.264445781708 +vn -0.950938582420 0.160574719310 -0.264445781708 +vn -0.882616877556 0.102173909545 -0.458855003119 +vn -0.815816044807 -0.033233188093 -0.577355861664 +vn -0.936159014702 -0.063873127103 -0.345726042986 +vn -0.984978437424 -0.148210123181 -0.088606998324 +vn -0.975682437420 0.182560175657 -0.121307574213 +vn -0.975682437420 0.182560175657 -0.121307574213 +vn -0.950938582420 0.160574719310 -0.264445781708 +vn -0.936159014702 -0.063873127103 -0.345726042986 +vn -0.909234404564 -0.117803066969 0.399268388748 +vn -0.905587971210 0.151429876685 0.396206259727 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.977963626385 -0.174421295524 0.114736154675 +vn -0.909234404564 -0.117803066969 0.399268388748 +vn -0.808350086212 0.203630700707 0.552362799644 +vn -0.900945067406 0.305853515863 0.307817548513 +vn -0.899425983429 0.198404535651 0.389446407557 +vn -0.899425983429 0.198404535651 0.389446407557 +vn -0.791023254395 0.166800767183 0.588608264923 +vn -0.808350086212 0.203630700707 0.552362799644 +vn -0.909234404564 -0.117803066969 0.399268388748 +vn -0.821858465672 0.073336854577 0.564951658249 +vn -0.791023254395 0.166800767183 0.588608264923 +vn -0.791023254395 0.166800767183 0.588608264923 +vn -0.905587971210 0.151429876685 0.396206259727 +vn -0.909234404564 -0.117803066969 0.399268388748 +vn -0.905587971210 0.151429876685 0.396206259727 +vn -0.791023254395 0.166800767183 0.588608264923 +vn -0.899425983429 0.198404535651 0.389446407557 +vn -0.899425983429 0.198404535651 0.389446407557 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.905587971210 0.151429876685 0.396206259727 +vn 0.458819925785 0.122962743044 -0.879979789257 +vn 0.398862630129 -0.116559632123 -0.909572660923 +vn 0.042918991297 -0.159098654985 -0.986329317093 +vn 0.042918991297 -0.159098654985 -0.986329317093 +vn 0.051589123905 0.106985323131 -0.992921292782 +vn 0.458819925785 0.122962743044 -0.879979789257 +vn 0.649252891541 0.146428629756 -0.746343970299 +vn 0.577902257442 -0.002421748824 -0.816102385521 +vn 0.398862630129 -0.116559632123 -0.909572660923 +vn 0.398862630129 -0.116559632123 -0.909572660923 +vn 0.458819925785 0.122962743044 -0.879979789257 +vn 0.649252891541 0.146428629756 -0.746343970299 +vn 0.577902257442 -0.002421748824 -0.816102385521 +vn 0.649252891541 0.146428629756 -0.746343970299 +vn 0.690404534340 0.159054651856 -0.705721735954 +vn 0.690404534340 0.159054651856 -0.705721735954 +vn 0.647427976131 0.019929872826 -0.761865973473 +vn 0.577902257442 -0.002421748824 -0.816102385521 +vn 0.817821025848 0.123250223696 -0.562119364738 +vn 0.761567533016 -0.045328486711 -0.646498441696 +vn 0.647427976131 0.019929872826 -0.761865973473 +vn 0.647427976131 0.019929872826 -0.761865973473 +vn 0.690404534340 0.159054651856 -0.705721735954 +vn 0.817821025848 0.123250223696 -0.562119364738 +vn 0.943933427334 0.166785299778 -0.284907698631 +vn 0.949094235897 0.007942831144 -0.314892143011 +vn 0.761567533016 -0.045328486711 -0.646498441696 +vn 0.761567533016 -0.045328486711 -0.646498441696 +vn 0.817821025848 0.123250223696 -0.562119364738 +vn 0.943933427334 0.166785299778 -0.284907698631 +vn 0.971110105515 0.234779074788 -0.042708016932 +vn 0.997646987438 0.040396459401 -0.055394966155 +vn 0.949094235897 0.007942831144 -0.314892143011 +vn 0.949094235897 0.007942831144 -0.314892143011 +vn 0.943933427334 0.166785299778 -0.284907698631 +vn 0.971110105515 0.234779074788 -0.042708016932 +vn 0.971110105515 0.234779074788 -0.042708016932 +vn 0.933379650116 0.281861096621 0.222163870931 +vn 0.963914513588 0.155681833625 0.215944394469 +vn 0.963914513588 0.155681833625 0.215944394469 +vn 0.997646987438 0.040396459401 -0.055394966155 +vn 0.971110105515 0.234779074788 -0.042708016932 +vn 0.935305595398 0.353835970163 0.001867453801 +vn 0.940660119057 0.304994046688 0.148785516620 +vn 0.933379650116 0.281861096621 0.222163870931 +vn 0.933379650116 0.281861096621 0.222163870931 +vn 0.971110105515 0.234779074788 -0.042708016932 +vn 0.935305595398 0.353835970163 0.001867453801 +vn 0.940660119057 0.304994046688 0.148785516620 +vn 0.935305595398 0.353835970163 0.001867453801 +vn 0.894793391228 0.437213540077 -0.090493924916 +vn 0.894793391228 0.437213540077 -0.090493924916 +vn 0.945739746094 0.324362844229 -0.019108049572 +vn 0.940660119057 0.304994046688 0.148785516620 +vn 0.945739746094 0.324362844229 -0.019108049572 +vn 0.894793391228 0.437213540077 -0.090493924916 +vn 0.824468553066 0.518499433994 -0.226737543941 +vn 0.824468553066 0.518499433994 -0.226737543941 +vn 0.937179505825 0.337875336409 -0.086803659797 +vn 0.945739746094 0.324362844229 -0.019108049572 +vn 0.709767103195 0.697536826134 -0.098351791501 +vn 0.891787886620 0.452209621668 -0.014860952273 +vn 0.937179505825 0.337875336409 -0.086803659797 +vn 0.937179505825 0.337875336409 -0.086803659797 +vn 0.824468553066 0.518499433994 -0.226737543941 +vn 0.709767103195 0.697536826134 -0.098351791501 +vn 0.583706438541 0.802595734596 0.122991107404 +vn 0.781435728073 0.546684145927 0.300823241472 +vn 0.891787886620 0.452209621668 -0.014860952273 +vn 0.891787886620 0.452209621668 -0.014860952273 +vn 0.709767103195 0.697536826134 -0.098351791501 +vn 0.583706438541 0.802595734596 0.122991107404 +vn 0.384399235249 0.833342432976 0.397212386131 +vn 0.506390750408 0.538258075714 0.673681437969 +vn 0.781435728073 0.546684145927 0.300823241472 +vn 0.781435728073 0.546684145927 0.300823241472 +vn 0.583706438541 0.802595734596 0.122991107404 +vn 0.384399235249 0.833342432976 0.397212386131 +vn 0.506390750408 0.538258075714 0.673681437969 +vn 0.384399235249 0.833342432976 0.397212386131 +vn 0.073365107179 0.805665493011 0.587810039520 +vn 0.073365107179 0.805665493011 0.587810039520 +vn 0.159534424543 0.524704039097 0.836202383041 +vn 0.506390750408 0.538258075714 0.673681437969 +vn -0.299555271864 0.546643376350 0.781951189041 +vn 0.159534424543 0.524704039097 0.836202383041 +vn 0.073365107179 0.805665493011 0.587810039520 +vn 0.073365107179 0.805665493011 0.587810039520 +vn -0.339267462492 0.787710845470 0.514207422733 +vn -0.299555271864 0.546643376350 0.781951189041 +vn -0.665048420429 0.670540630817 0.328764200211 +vn -0.851247549057 0.477446943521 0.217765927315 +vn -0.889801084995 0.299412399530 0.344392567873 +vn -0.889801084995 0.299412399530 0.344392567873 +vn -0.705455362797 0.442646503448 0.553531229496 +vn -0.665048420429 0.670540630817 0.328764200211 +vn -0.874613881111 0.251075208187 0.414743065834 +vn -0.889801084995 0.299412399530 0.344392567873 +vn -0.851247549057 0.477446943521 0.217765927315 +vn -0.851247549057 0.477446943521 0.217765927315 +vn -0.900584936142 0.356063216925 0.249330729246 +vn -0.874613881111 0.251075208187 0.414743065834 +vn -0.900945067406 0.305853515863 0.307817548513 +vn -0.808350086212 0.203630700707 0.552362799644 +vn -0.874613881111 0.251075208187 0.414743065834 +vn -0.874613881111 0.251075208187 0.414743065834 +vn -0.900584936142 0.356063216925 0.249330729246 +vn -0.900945067406 0.305853515863 0.307817548513 +vn -0.900945067406 0.305853515863 0.307817548513 +vn -0.924340128899 0.360457271338 0.125163570046 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.899425983429 0.198404535651 0.389446407557 +vn -0.900945067406 0.305853515863 0.307817548513 +vn -0.960693836212 0.275875806808 -0.030982023105 +vn -0.954860091209 0.286923676729 -0.076921768486 +vn -0.950938582420 0.160574719310 -0.264445781708 +vn -0.950938582420 0.160574719310 -0.264445781708 +vn -0.975682437420 0.182560175657 -0.121307574213 +vn -0.960693836212 0.275875806808 -0.030982023105 +vn -0.911430358887 0.392372965813 0.123847253621 +vn -0.924340128899 0.360457271338 0.125163570046 +vn -0.900945067406 0.305853515863 0.307817548513 +vn -0.900945067406 0.305853515863 0.307817548513 +vn -0.900584936142 0.356063216925 0.249330729246 +vn -0.911430358887 0.392372965813 0.123847253621 +vn -0.950938582420 0.160574719310 -0.264445781708 +vn -0.954860091209 0.286923676729 -0.076921768486 +vn -0.870385944843 0.337260872126 -0.358724743128 +vn -0.870385944843 0.337260872126 -0.358724743128 +vn -0.882616877556 0.102173909545 -0.458855003119 +vn -0.950938582420 0.160574719310 -0.264445781708 +vn -0.882616877556 0.102173909545 -0.458855003119 +vn -0.870385944843 0.337260872126 -0.358724743128 +vn -0.618252098560 0.372385114431 -0.692165970802 +vn -0.618252098560 0.372385114431 -0.692165970802 +vn -0.643136858940 0.096314810216 -0.759669959545 +vn -0.882616877556 0.102173909545 -0.458855003119 +vn -0.643136858940 0.096314810216 -0.759669959545 +vn -0.618252098560 0.372385114431 -0.692165970802 +vn -0.300105422735 0.398083269596 -0.866871654987 +vn -0.300105422735 0.398083269596 -0.866871654987 +vn -0.320609718561 0.092053167522 -0.942727744579 +vn -0.643136858940 0.096314810216 -0.759669959545 +vn 0.082577347755 0.397961974144 -0.913677871227 +vn 0.051589123905 0.106985323131 -0.992921292782 +vn -0.320609718561 0.092053167522 -0.942727744579 +vn -0.320609718561 0.092053167522 -0.942727744579 +vn -0.300105422735 0.398083269596 -0.866871654987 +vn 0.082577347755 0.397961974144 -0.913677871227 +vn 0.682536661625 0.380229771137 -0.624154686928 +vn 0.649252891541 0.146428629756 -0.746343970299 +vn 0.458819925785 0.122962743044 -0.879979789257 +vn 0.458819925785 0.122962743044 -0.879979789257 +vn 0.468114078045 0.390638738871 -0.792635202408 +vn 0.682536661625 0.380229771137 -0.624154686928 +vn 0.906805396080 0.355602860451 -0.226385816932 +vn 0.830051660538 0.501415014267 -0.244125440717 +vn 0.894793391228 0.437213540077 -0.090493924916 +vn 0.894793391228 0.437213540077 -0.090493924916 +vn 0.935305595398 0.353835970163 0.001867453801 +vn 0.906805396080 0.355602860451 -0.226385816932 +vn 0.906805396080 0.355602860451 -0.226385816932 +vn 0.935305595398 0.353835970163 0.001867453801 +vn 0.971110105515 0.234779074788 -0.042708016932 +vn 0.971110105515 0.234779074788 -0.042708016932 +vn 0.943933427334 0.166785299778 -0.284907698631 +vn 0.906805396080 0.355602860451 -0.226385816932 +vn 0.690404534340 0.159054651856 -0.705721735954 +vn 0.783317208290 0.248922675848 -0.569606602192 +vn 0.817821025848 0.123250223696 -0.562119364738 +vn 0.791172683239 0.410195678473 -0.453635632992 +vn 0.783317208290 0.248922675848 -0.569606602192 +vn 0.690404534340 0.159054651856 -0.705721735954 +vn 0.690404534340 0.159054651856 -0.705721735954 +vn 0.746720135212 0.375254184008 -0.549175143242 +vn 0.791172683239 0.410195678473 -0.453635632992 +vn 0.746720135212 0.375254184008 -0.549175143242 +vn 0.690404534340 0.159054651856 -0.705721735954 +vn 0.649252891541 0.146428629756 -0.746343970299 +vn 0.649252891541 0.146428629756 -0.746343970299 +vn 0.682536661625 0.380229771137 -0.624154686928 +vn 0.746720135212 0.375254184008 -0.549175143242 +vn 0.746720135212 0.375254184008 -0.549175143242 +vn 0.682536661625 0.380229771137 -0.624154686928 +vn 0.749483346939 0.541744291782 -0.380509972572 +vn 0.749483346939 0.541744291782 -0.380509972572 +vn 0.830051660538 0.501415014267 -0.244125440717 +vn 0.746720135212 0.375254184008 -0.549175143242 +vn 0.082577347755 0.397961974144 -0.913677871227 +vn 0.468114078045 0.390638738871 -0.792635202408 +vn 0.458819925785 0.122962743044 -0.879979789257 +vn 0.458819925785 0.122962743044 -0.879979789257 +vn 0.051589123905 0.106985323131 -0.992921292782 +vn 0.082577347755 0.397961974144 -0.913677871227 +vn 0.830051660538 0.501415014267 -0.244125440717 +vn 0.749483346939 0.541744291782 -0.380509972572 +vn 0.824468553066 0.518499433994 -0.226737543941 +vn 0.824468553066 0.518499433994 -0.226737543941 +vn 0.894793391228 0.437213540077 -0.090493924916 +vn 0.830051660538 0.501415014267 -0.244125440717 +vn 0.509359657764 0.645855545998 -0.568703174591 +vn 0.749483346939 0.541744291782 -0.380509972572 +vn 0.682536661625 0.380229771137 -0.624154686928 +vn 0.682536661625 0.380229771137 -0.624154686928 +vn 0.468114078045 0.390638738871 -0.792635202408 +vn 0.509359657764 0.645855545998 -0.568703174591 +vn 0.113862566650 0.711150884628 -0.693757712841 +vn 0.509359657764 0.645855545998 -0.568703174591 +vn 0.468114078045 0.390638738871 -0.792635202408 +vn 0.468114078045 0.390638738871 -0.792635202408 +vn 0.082577347755 0.397961974144 -0.913677871227 +vn 0.113862566650 0.711150884628 -0.693757712841 +vn 0.082577347755 0.397961974144 -0.913677871227 +vn -0.300105422735 0.398083269596 -0.866871654987 +vn -0.233893856406 0.712710499763 -0.661314904690 +vn -0.233893856406 0.712710499763 -0.661314904690 +vn 0.113862566650 0.711150884628 -0.693757712841 +vn 0.082577347755 0.397961974144 -0.913677871227 +vn -0.618252098560 0.372385114431 -0.692165970802 +vn -0.524419128895 0.664470672607 -0.532412707806 +vn -0.233893856406 0.712710499763 -0.661314904690 +vn -0.233893856406 0.712710499763 -0.661314904690 +vn -0.300105422735 0.398083269596 -0.866871654987 +vn -0.618252098560 0.372385114431 -0.692165970802 +vn -0.801686048508 0.561523139477 -0.204917788506 +vn -0.524419128895 0.664470672607 -0.532412707806 +vn -0.618252098560 0.372385114431 -0.692165970802 +vn -0.618252098560 0.372385114431 -0.692165970802 +vn -0.870385944843 0.337260872126 -0.358724743128 +vn -0.801686048508 0.561523139477 -0.204917788506 +vn -0.954860091209 0.286923676729 -0.076921768486 +vn -0.960693836212 0.275875806808 -0.030982023105 +vn -0.924340128899 0.360457271338 0.125163570046 +vn -0.924340128899 0.360457271338 0.125163570046 +vn -0.911430358887 0.392372965813 0.123847253621 +vn -0.954860091209 0.286923676729 -0.076921768486 +vn -0.954860091209 0.286923676729 -0.076921768486 +vn -0.911430358887 0.392372965813 0.123847253621 +vn -0.801686048508 0.561523139477 -0.204917788506 +vn -0.801686048508 0.561523139477 -0.204917788506 +vn -0.870385944843 0.337260872126 -0.358724743128 +vn -0.954860091209 0.286923676729 -0.076921768486 +vn -0.879127502441 0.464078336954 0.108471810818 +vn -0.911430358887 0.392372965813 0.123847253621 +vn -0.900584936142 0.356063216925 0.249330729246 +vn -0.900584936142 0.356063216925 0.249330729246 +vn -0.851247549057 0.477446943521 0.217765927315 +vn -0.879127502441 0.464078336954 0.108471810818 +vn -0.911430358887 0.392372965813 0.123847253621 +vn -0.879127502441 0.464078336954 0.108471810818 +vn -0.761753618717 0.646870017052 -0.035924945027 +vn -0.761753618717 0.646870017052 -0.035924945027 +vn -0.801686048508 0.561523139477 -0.204917788506 +vn -0.911430358887 0.392372965813 0.123847253621 +vn -0.707089662552 0.699392676353 0.104278922081 +vn -0.761753618717 0.646870017052 -0.035924945027 +vn -0.879127502441 0.464078336954 0.108471810818 +vn -0.879127502441 0.464078336954 0.108471810818 +vn -0.851247549057 0.477446943521 0.217765927315 +vn -0.707089662552 0.699392676353 0.104278922081 +vn -0.584631860256 0.788804054260 0.189720153809 +vn -0.707089662552 0.699392676353 0.104278922081 +vn -0.851247549057 0.477446943521 0.217765927315 +vn -0.851247549057 0.477446943521 0.217765927315 +vn -0.665048420429 0.670540630817 0.328764200211 +vn -0.584631860256 0.788804054260 0.189720153809 +vn -0.288760930300 0.908043682575 0.303436666727 +vn -0.584631860256 0.788804054260 0.189720153809 +vn -0.665048420429 0.670540630817 0.328764200211 +vn -0.665048420429 0.670540630817 0.328764200211 +vn -0.339267462492 0.787710845470 0.514207422733 +vn -0.288760930300 0.908043682575 0.303436666727 +vn -0.339267462492 0.787710845470 0.514207422733 +vn 0.073365107179 0.805665493011 0.587810039520 +vn 0.022177392617 0.949803769588 0.312059193850 +vn 0.022177392617 0.949803769588 0.312059193850 +vn -0.288760930300 0.908043682575 0.303436666727 +vn -0.339267462492 0.787710845470 0.514207422733 +vn 0.022177392617 0.949803769588 0.312059193850 +vn 0.073365107179 0.805665493011 0.587810039520 +vn 0.384399235249 0.833342432976 0.397212386131 +vn 0.384399235249 0.833342432976 0.397212386131 +vn 0.320996463299 0.929820060730 0.179988548160 +vn 0.022177392617 0.949803769588 0.312059193850 +vn 0.530289411545 0.847510576248 -0.022779457271 +vn 0.320996463299 0.929820060730 0.179988548160 +vn 0.384399235249 0.833342432976 0.397212386131 +vn 0.384399235249 0.833342432976 0.397212386131 +vn 0.583706438541 0.802595734596 0.122991107404 +vn 0.530289411545 0.847510576248 -0.022779457271 +vn 0.598942220211 0.781105816364 -0.176470771432 +vn 0.530289411545 0.847510576248 -0.022779457271 +vn 0.583706438541 0.802595734596 0.122991107404 +vn 0.583706438541 0.802595734596 0.122991107404 +vn 0.709767103195 0.697536826134 -0.098351791501 +vn 0.598942220211 0.781105816364 -0.176470771432 +vn 0.709767103195 0.697536826134 -0.098351791501 +vn 0.824468553066 0.518499433994 -0.226737543941 +vn 0.646529257298 0.697131037712 -0.309851974249 +vn 0.646529257298 0.697131037712 -0.309851974249 +vn 0.598942220211 0.781105816364 -0.176470771432 +vn 0.709767103195 0.697536826134 -0.098351791501 +vn 0.749483346939 0.541744291782 -0.380509972572 +vn 0.509359657764 0.645855545998 -0.568703174591 +vn 0.646529257298 0.697131037712 -0.309851974249 +vn 0.646529257298 0.697131037712 -0.309851974249 +vn 0.824468553066 0.518499433994 -0.226737543941 +vn 0.749483346939 0.541744291782 -0.380509972572 +vn 0.261811822653 0.863229155540 -0.431613206863 +vn 0.646529257298 0.697131037712 -0.309851974249 +vn 0.509359657764 0.645855545998 -0.568703174591 +vn 0.509359657764 0.645855545998 -0.568703174591 +vn 0.113862566650 0.711150884628 -0.693757712841 +vn 0.261811822653 0.863229155540 -0.431613206863 +vn 0.113862566650 0.711150884628 -0.693757712841 +vn -0.233893856406 0.712710499763 -0.661314904690 +vn -0.166509822011 0.881523549557 -0.441803902388 +vn -0.166509822011 0.881523549557 -0.441803902388 +vn 0.261811822653 0.863229155540 -0.431613206863 +vn 0.113862566650 0.711150884628 -0.693757712841 +vn -0.473680764437 0.825297594070 -0.307425469160 +vn -0.166509822011 0.881523549557 -0.441803902388 +vn -0.233893856406 0.712710499763 -0.661314904690 +vn -0.233893856406 0.712710499763 -0.661314904690 +vn -0.524419128895 0.664470672607 -0.532412707806 +vn -0.473680764437 0.825297594070 -0.307425469160 +vn -0.801686048508 0.561523139477 -0.204917788506 +vn -0.761753618717 0.646870017052 -0.035924945027 +vn -0.473680764437 0.825297594070 -0.307425469160 +vn -0.473680764437 0.825297594070 -0.307425469160 +vn -0.524419128895 0.664470672607 -0.532412707806 +vn -0.801686048508 0.561523139477 -0.204917788506 +vn -0.440613836050 0.886203765869 -0.143186286092 +vn -0.473680764437 0.825297594070 -0.307425469160 +vn -0.761753618717 0.646870017052 -0.035924945027 +vn -0.761753618717 0.646870017052 -0.035924945027 +vn -0.707089662552 0.699392676353 0.104278922081 +vn -0.440613836050 0.886203765869 -0.143186286092 +vn -0.473680764437 0.825297594070 -0.307425469160 +vn -0.440613836050 0.886203765869 -0.143186286092 +vn -0.121225893497 0.952505052090 -0.279353648424 +vn -0.121225893497 0.952505052090 -0.279353648424 +vn -0.166509822011 0.881523549557 -0.441803902388 +vn -0.473680764437 0.825297594070 -0.307425469160 +vn 0.281529068947 0.918153464794 -0.278811126947 +vn 0.261811822653 0.863229155540 -0.431613206863 +vn -0.166509822011 0.881523549557 -0.441803902388 +vn -0.166509822011 0.881523549557 -0.441803902388 +vn -0.121225893497 0.952505052090 -0.279353648424 +vn 0.281529068947 0.918153464794 -0.278811126947 +vn 0.646529257298 0.697131037712 -0.309851974249 +vn 0.261811822653 0.863229155540 -0.431613206863 +vn 0.281529068947 0.918153464794 -0.278811126947 +vn 0.281529068947 0.918153464794 -0.278811126947 +vn 0.598942220211 0.781105816364 -0.176470771432 +vn 0.646529257298 0.697131037712 -0.309851974249 +vn 0.598942220211 0.781105816364 -0.176470771432 +vn 0.281529068947 0.918153464794 -0.278811126947 +vn 0.271936625242 0.949670791626 -0.155485764146 +vn 0.271936625242 0.949670791626 -0.155485764146 +vn 0.530289411545 0.847510576248 -0.022779457271 +vn 0.598942220211 0.781105816364 -0.176470771432 +vn 0.530289411545 0.847510576248 -0.022779457271 +vn 0.271936625242 0.949670791626 -0.155485764146 +vn 0.203431159258 0.979057490826 0.007884264924 +vn 0.203431159258 0.979057490826 0.007884264924 +vn 0.320996463299 0.929820060730 0.179988548160 +vn 0.530289411545 0.847510576248 -0.022779457271 +vn -0.009512823075 0.999211311340 0.038552604616 +vn 0.022177392617 0.949803769588 0.312059193850 +vn 0.320996463299 0.929820060730 0.179988548160 +vn 0.320996463299 0.929820060730 0.179988548160 +vn 0.203431159258 0.979057490826 0.007884264924 +vn -0.009512823075 0.999211311340 0.038552604616 +vn 0.022177392617 0.949803769588 0.312059193850 +vn -0.009512823075 0.999211311340 0.038552604616 +vn -0.250993162394 0.964091360569 0.086776979268 +vn -0.250993162394 0.964091360569 0.086776979268 +vn -0.288760930300 0.908043682575 0.303436666727 +vn 0.022177392617 0.949803769588 0.312059193850 +vn -0.288760930300 0.908043682575 0.303436666727 +vn -0.250993162394 0.964091360569 0.086776979268 +vn -0.406076490879 0.913435757160 -0.027146851644 +vn -0.406076490879 0.913435757160 -0.027146851644 +vn -0.584631860256 0.788804054260 0.189720153809 +vn -0.288760930300 0.908043682575 0.303436666727 +vn -0.707089662552 0.699392676353 0.104278922081 +vn -0.584631860256 0.788804054260 0.189720153809 +vn -0.406076490879 0.913435757160 -0.027146851644 +vn -0.406076490879 0.913435757160 -0.027146851644 +vn -0.440613836050 0.886203765869 -0.143186286092 +vn -0.707089662552 0.699392676353 0.104278922081 +vn 0.271936625242 0.949670791626 -0.155485764146 +vn -0.078651353717 0.986206769943 -0.145637229085 +vn -0.009512823075 0.999211311340 0.038552604616 +vn -0.009512823075 0.999211311340 0.038552604616 +vn 0.203431159258 0.979057490826 0.007884264924 +vn 0.271936625242 0.949670791626 -0.155485764146 +vn -0.078651353717 0.986206769943 -0.145637229085 +vn -0.406076490879 0.913435757160 -0.027146851644 +vn -0.250993162394 0.964091360569 0.086776979268 +vn -0.250993162394 0.964091360569 0.086776979268 +vn -0.009512823075 0.999211311340 0.038552604616 +vn -0.078651353717 0.986206769943 -0.145637229085 +vn 0.281529068947 0.918153464794 -0.278811126947 +vn -0.121225893497 0.952505052090 -0.279353648424 +vn -0.078651353717 0.986206769943 -0.145637229085 +vn -0.078651353717 0.986206769943 -0.145637229085 +vn 0.271936625242 0.949670791626 -0.155485764146 +vn 0.281529068947 0.918153464794 -0.278811126947 +vn -0.078651353717 0.986206769943 -0.145637229085 +vn -0.121225893497 0.952505052090 -0.279353648424 +vn -0.440613836050 0.886203765869 -0.143186286092 +vn -0.440613836050 0.886203765869 -0.143186286092 +vn -0.406076490879 0.913435757160 -0.027146851644 +vn -0.078651353717 0.986206769943 -0.145637229085 +vn -0.014092958532 -0.790904879570 0.611776828766 +vn 0.221423864365 -0.754890739918 0.617342233658 +vn 0.231967061758 -0.233555212617 0.944268643856 +vn 0.231967061758 -0.233555212617 0.944268643856 +vn -0.182521164417 -0.203338980675 0.961945593357 +vn -0.014092958532 -0.790904879570 0.611776828766 +vn 0.349241763353 -0.781512439251 0.516980171204 +vn 0.546610355377 -0.258020311594 0.796644628048 +vn 0.231967061758 -0.233555212617 0.944268643856 +vn 0.231967061758 -0.233555212617 0.944268643856 +vn 0.221423864365 -0.754890739918 0.617342233658 +vn 0.349241763353 -0.781512439251 0.516980171204 +vn 0.408381432295 -0.796557366848 0.445781260729 +vn 0.830623030663 -0.231687158346 0.506346166134 +vn 0.546610355377 -0.258020311594 0.796644628048 +vn 0.546610355377 -0.258020311594 0.796644628048 +vn 0.349241763353 -0.781512439251 0.516980171204 +vn 0.408381432295 -0.796557366848 0.445781260729 +vn 0.427210748196 -0.706106841564 0.564715921879 +vn 0.918158710003 -0.240577429533 0.314812809229 +vn 0.830623030663 -0.231687158346 0.506346166134 +vn 0.830623030663 -0.231687158346 0.506346166134 +vn 0.408381432295 -0.796557366848 0.445781260729 +vn 0.427210748196 -0.706106841564 0.564715921879 +vn 0.918158710003 -0.240577429533 0.314812809229 +vn 0.427210748196 -0.706106841564 0.564715921879 +vn 0.428907752037 -0.443769127131 0.786833584309 +vn 0.428907752037 -0.443769127131 0.786833584309 +vn 0.873789131641 -0.168129771948 0.456316709518 +vn 0.918158710003 -0.240577429533 0.314812809229 +vn 0.873789131641 -0.168129771948 0.456316709518 +vn 0.428907752037 -0.443769127131 0.786833584309 +vn 0.417140841484 -0.120375834405 0.900834739208 +vn 0.417140841484 -0.120375834405 0.900834739208 +vn 0.813842773438 0.072670906782 0.576523065567 +vn 0.873789131641 -0.168129771948 0.456316709518 +vn 0.813842773438 0.072670906782 0.576523065567 +vn 0.417140841484 -0.120375834405 0.900834739208 +vn 0.424012660980 0.031315691769 0.905114650726 +vn 0.424012660980 0.031315691769 0.905114650726 +vn 0.769383728504 0.143628954887 0.622430264950 +vn 0.813842773438 0.072670906782 0.576523065567 +vn 0.769383728504 0.143628954887 0.622430264950 +vn 0.424012660980 0.031315691769 0.905114650726 +vn 0.395210921764 0.116690479219 0.911148548126 +vn 0.395210921764 0.116690479219 0.911148548126 +vn 0.705974459648 0.211807489395 0.675823688507 +vn 0.769383728504 0.143628954887 0.622430264950 +vn 0.705974459648 0.211807489395 0.675823688507 +vn 0.395210921764 0.116690479219 0.911148548126 +vn 0.236537411809 -0.417193204165 0.877496361732 +vn 0.236537411809 -0.417193204165 0.877496361732 +vn 0.655949294567 -0.360590577126 0.663102567196 +vn 0.705974459648 0.211807489395 0.675823688507 +vn 0.655949294567 -0.360590577126 0.663102567196 +vn 0.236537411809 -0.417193204165 0.877496361732 +vn -0.004304377362 -0.913099169731 0.407714813948 +vn -0.004304377362 -0.913099169731 0.407714813948 +vn 0.683387815952 -0.673397064209 0.281988471746 +vn 0.655949294567 -0.360590577126 0.663102567196 +vn -0.004304377362 -0.913099169731 0.407714813948 +vn -0.017104798928 -0.994401037693 0.104278236628 +vn 0.633489966393 -0.757112979889 -0.159594580531 +vn 0.633489966393 -0.757112979889 -0.159594580531 +vn 0.683387815952 -0.673397064209 0.281988471746 +vn -0.004304377362 -0.913099169731 0.407714813948 +vn -0.089078962803 -0.979717195034 -0.179496884346 +vn 0.408531010151 -0.740816414356 -0.533191740513 +vn 0.633489966393 -0.757112979889 -0.159594580531 +vn 0.633489966393 -0.757112979889 -0.159594580531 +vn -0.017104798928 -0.994401037693 0.104278236628 +vn -0.089078962803 -0.979717195034 -0.179496884346 +vn -0.141694068909 -0.964558184147 -0.222599074244 +vn 0.352352052927 -0.675574064255 -0.647647798061 +vn 0.408531010151 -0.740816414356 -0.533191740513 +vn 0.408531010151 -0.740816414356 -0.533191740513 +vn -0.089078962803 -0.979717195034 -0.179496884346 +vn -0.141694068909 -0.964558184147 -0.222599074244 +vn 0.352352052927 -0.675574064255 -0.647647798061 +vn -0.141694068909 -0.964558184147 -0.222599074244 +vn -0.164628922939 -0.971865355968 -0.168449014425 +vn -0.164628922939 -0.971865355968 -0.168449014425 +vn 0.264879673719 -0.680946111679 -0.682752609253 +vn 0.352352052927 -0.675574064255 -0.647647798061 +vn 0.264879673719 -0.680946111679 -0.682752609253 +vn -0.164628922939 -0.971865355968 -0.168449014425 +vn -0.106762722135 -0.991933047771 -0.068341821432 +vn -0.106762722135 -0.991933047771 -0.068341821432 +vn 0.212482243776 -0.757902085781 -0.616794705391 +vn 0.264879673719 -0.680946111679 -0.682752609253 +vn 0.212482243776 -0.757902085781 -0.616794705391 +vn -0.106762722135 -0.991933047771 -0.068341821432 +vn 0.032250907272 -0.990156650543 0.136197254062 +vn 0.032250907272 -0.990156650543 0.136197254062 +vn 0.079081669450 -0.841114282608 -0.535044729710 +vn 0.212482243776 -0.757902085781 -0.616794705391 +vn 0.086438052356 -0.988402068615 0.124859288335 +vn -0.155002683401 -0.764973640442 -0.625131547451 +vn 0.079081669450 -0.841114282608 -0.535044729710 +vn 0.079081669450 -0.841114282608 -0.535044729710 +vn 0.032250907272 -0.990156650543 0.136197254062 +vn 0.086438052356 -0.988402068615 0.124859288335 +vn -0.155002683401 -0.764973640442 -0.625131547451 +vn 0.086438052356 -0.988402068615 0.124859288335 +vn 0.156755745411 -0.987137198448 0.031429961324 +vn 0.156755745411 -0.987137198448 0.031429961324 +vn -0.284915238619 -0.800749540329 -0.526899874210 +vn -0.155002683401 -0.764973640442 -0.625131547451 +vn -0.284915238619 -0.800749540329 -0.526899874210 +vn 0.156755745411 -0.987137198448 0.031429961324 +vn 0.129998713732 -0.981209576130 -0.142576515675 +vn 0.129998713732 -0.981209576130 -0.142576515675 +vn -0.436591178179 -0.710123062134 -0.552370667458 +vn -0.284915238619 -0.800749540329 -0.526899874210 +vn -0.479634582996 -0.732783257961 -0.482679367065 +vn 0.160609349608 -0.944374680519 -0.286986321211 +vn 0.171683400869 -0.948143720627 -0.267485111952 +vn 0.171683400869 -0.948143720627 -0.267485111952 +vn -0.494367212057 -0.821183621883 -0.285058826208 +vn -0.479634582996 -0.732783257961 -0.482679367065 +vn -0.494367212057 -0.821183621883 -0.285058826208 +vn 0.171683400869 -0.948143720627 -0.267485111952 +vn 0.200182467699 -0.979581654072 -0.018621146679 +vn 0.200182467699 -0.979581654072 -0.018621146679 +vn -0.462283223867 -0.884084403515 0.068476572633 +vn -0.494367212057 -0.821183621883 -0.285058826208 +vn -0.462283223867 -0.884084403515 0.068476572633 +vn 0.200182467699 -0.979581654072 -0.018621146679 +vn 0.365930229425 -0.888301491737 0.277516782284 +vn 0.365930229425 -0.888301491737 0.277516782284 +vn -0.353442579508 -0.812535405159 0.463534832001 +vn -0.462283223867 -0.884084403515 0.068476572633 +vn -0.353442579508 -0.812535405159 0.463534832001 +vn 0.365930229425 -0.888301491737 0.277516782284 +vn 0.324508875608 -0.535487234592 0.779709815979 +vn 0.324508875608 -0.535487234592 0.779709815979 +vn -0.279677391052 -0.181245908141 0.942831099033 +vn -0.353442579508 -0.812535405159 0.463534832001 +vn -0.279677391052 -0.181245908141 0.942831099033 +vn 0.324508875608 -0.535487234592 0.779709815979 +vn 0.105939380825 0.093255937099 0.989989995956 +vn 0.105939380825 0.093255937099 0.989989995956 +vn -0.304022520781 0.155782133341 0.939841628075 +vn -0.279677391052 -0.181245908141 0.942831099033 +vn -0.304022520781 0.155782133341 0.939841628075 +vn 0.105939380825 0.093255937099 0.989989995956 +vn 0.091720648110 -0.006141365506 0.995765864849 +vn 0.091720648110 -0.006141365506 0.995765864849 +vn -0.365280956030 0.082129344344 0.927267253399 +vn -0.304022520781 0.155782133341 0.939841628075 +vn -0.365280956030 0.082129344344 0.927267253399 +vn 0.091720648110 -0.006141365506 0.995765864849 +vn 0.074245169759 -0.239324852824 0.968096733093 +vn 0.074245169759 -0.239324852824 0.968096733093 +vn -0.442798525095 -0.048629581928 0.895301401615 +vn -0.365280956030 0.082129344344 0.927267253399 +vn -0.442798525095 -0.048629581928 0.895301401615 +vn 0.074245169759 -0.239324852824 0.968096733093 +vn -0.011659302749 -0.585357308388 0.810691654682 +vn -0.011659302749 -0.585357308388 0.810691654682 +vn -0.602641165257 -0.246796503663 0.758890688419 +vn -0.442798525095 -0.048629581928 0.895301401615 +vn -0.602641165257 -0.246796503663 0.758890688419 +vn -0.011659302749 -0.585357308388 0.810691654682 +vn -0.097086712718 -0.792906105518 0.601559698582 +vn -0.097086712718 -0.792906105518 0.601559698582 +vn -0.532182991505 -0.286137044430 0.796810448170 +vn -0.602641165257 -0.246796503663 0.758890688419 +vn -0.532182991505 -0.286137044430 0.796810448170 +vn -0.097086712718 -0.792906105518 0.601559698582 +vn -0.014092958532 -0.790904879570 0.611776828766 +vn -0.014092958532 -0.790904879570 0.611776828766 +vn -0.182521164417 -0.203338980675 0.961945593357 +vn -0.532182991505 -0.286137044430 0.796810448170 +vn 0.105939380825 0.093255937099 0.989989995956 +vn 0.324508875608 -0.535487234592 0.779709815979 +vn 0.344442546368 -0.215144351125 0.913822889328 +vn -0.004304377362 -0.913099169731 0.407714813948 +vn 0.236537411809 -0.417193204165 0.877496361732 +vn -0.016325036064 -0.353321343660 0.935359537601 +vn -0.924340128899 0.360457271338 0.125163570046 +vn -0.960693836212 0.275875806808 -0.030982023105 +vn -0.975682437420 0.182560175657 -0.121307574213 +vn -0.975682437420 0.182560175657 -0.121307574213 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.924340128899 0.360457271338 0.125163570046 +vn 0.830051660538 0.501415014267 -0.244125440717 +vn 0.906805396080 0.355602860451 -0.226385816932 +vn 0.791172683239 0.410195678473 -0.453635632992 +vn 0.906805396080 0.355602860451 -0.226385816932 +vn 0.783317208290 0.248922675848 -0.569606602192 +vn 0.791172683239 0.410195678473 -0.453635632992 +vn 0.783317208290 0.248922675848 -0.569606602192 +vn 0.906805396080 0.355602860451 -0.226385816932 +vn 0.943933427334 0.166785299778 -0.284907698631 +vn 0.943933427334 0.166785299778 -0.284907698631 +vn 0.817821025848 0.123250223696 -0.562119364738 +vn 0.783317208290 0.248922675848 -0.569606602192 +vn 0.791172683239 0.410195678473 -0.453635632992 +vn 0.746720135212 0.375254184008 -0.549175143242 +vn 0.830051660538 0.501415014267 -0.244125440717 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.975682437420 0.182560175657 -0.121307574213 +vn -0.984978437424 -0.148210123181 -0.088606998324 +vn -0.984978437424 -0.148210123181 -0.088606998324 +vn -0.977963626385 -0.174421295524 0.114736154675 +vn -0.974032580853 0.165303468704 0.154710352421 +vn -0.339267462492 0.787710845470 0.514207422733 +vn -0.665048420429 0.670540630817 0.328764200211 +vn -0.705455362797 0.442646503448 0.553531229496 +vn -0.705455362797 0.442646503448 0.553531229496 +vn -0.299555271864 0.546643376350 0.781951189041 +vn -0.339267462492 0.787710845470 0.514207422733 +vn 0.160609349608 -0.944374680519 -0.286986321211 +vn -0.479634582996 -0.732783257961 -0.482679367065 +vn -0.436591178179 -0.710123062134 -0.552370667458 +vn -0.436591178179 -0.710123062134 -0.552370667458 +vn 0.129998713732 -0.981209576130 -0.142576515675 +vn 0.160609349608 -0.944374680519 -0.286986321211 +vn -0.587253093719 -0.116071887314 -0.801037490368 +vn -0.284915238619 -0.800749540329 -0.526899874210 +vn -0.436591178179 -0.710123062134 -0.552370667458 +vn -0.436591178179 -0.710123062134 -0.552370667458 +vn -0.815816044807 -0.033233188093 -0.577355861664 +vn -0.587253093719 -0.116071887314 -0.801037490368 +vn 0.236537411809 -0.417193204165 0.877496361732 +vn 0.395210921764 0.116690479219 0.911148548126 +vn -0.016325036064 -0.353321343660 0.935359537601 +vn 0.324508875608 -0.535487234592 0.779709815979 +vn 0.365930229425 -0.888301491737 0.277516782284 +vn 0.344442546368 -0.215144351125 0.913822889328 +vn 0.676891267300 0.478440582752 0.559386134148 +vn -0.225854665041 0.275281429291 0.934456944466 +vn -0.215249896049 0.259879410267 0.941344857216 +vn -0.215249896049 0.259879410267 0.941344857216 +vn 0.673861861229 0.474872797728 0.566044211388 +vn 0.676891267300 0.478440582752 0.559386134148 +vn -0.225854665041 0.275281429291 0.934456944466 +vn -0.907250344753 -0.188964352012 0.375751674175 +vn -0.900530099869 -0.196758732200 0.387726187706 +vn -0.900530099869 -0.196758732200 0.387726187706 +vn -0.215249896049 0.259879410267 0.941344857216 +vn -0.225854665041 0.275281429291 0.934456944466 +vn -0.907250344753 -0.188964352012 0.375751674175 +vn -0.695992946625 -0.460888862610 -0.550613582134 +vn -0.691453754902 -0.450606733561 -0.564663827419 +vn -0.691453754902 -0.450606733561 -0.564663827419 +vn -0.900530099869 -0.196758732200 0.387726187706 +vn -0.907250344753 -0.188964352012 0.375751674175 +vn -0.695992946625 -0.460888862610 -0.550613582134 +vn 0.224680751562 -0.257442176342 -0.939809620380 +vn 0.218465223908 -0.238150179386 -0.946338951588 +vn 0.218465223908 -0.238150179386 -0.946338951588 +vn -0.691453754902 -0.450606733561 -0.564663827419 +vn -0.695992946625 -0.460888862610 -0.550613582134 +vn 0.224680751562 -0.257442176342 -0.939809620380 +vn 0.904699862003 0.220005586743 -0.364850312471 +vn 0.898511350155 0.228213340044 -0.374961405993 +vn 0.898511350155 0.228213340044 -0.374961405993 +vn 0.218465223908 -0.238150179386 -0.946338951588 +vn 0.224680751562 -0.257442176342 -0.939809620380 +vn 0.904699862003 0.220005586743 -0.364850312471 +vn 0.676891267300 0.478440582752 0.559386134148 +vn 0.673861861229 0.474872797728 0.566044211388 +vn 0.673861861229 0.474872797728 0.566044211388 +vn 0.898511350155 0.228213340044 -0.374961405993 +vn 0.904699862003 0.220005586743 -0.364850312471 +vn -0.277345180511 0.887103021145 -0.368955165148 +vn 0.530799150467 0.680233538151 -0.505504250526 +vn 0.056213334203 0.268312811852 -0.961690306664 +vn 0.056213334203 0.268312811852 -0.961690306664 +vn -0.718087673187 0.217695534229 -0.661028504372 +vn -0.277345180511 0.887103021145 -0.368955165148 +vn -0.277345180511 0.887103021145 -0.368955165148 +vn -0.718087673187 0.217695534229 -0.661028504372 +vn -0.923225998878 0.380098938942 0.056378662586 +vn -0.923225998878 0.380098938942 0.056378662586 +vn -0.347879409790 0.817592084408 0.458827942610 +vn -0.277345180511 0.887103021145 -0.368955165148 +vn 0.384487777948 0.887601256371 0.253639906645 +vn 0.530799150467 0.680233538151 -0.505504250526 +vn -0.277345180511 0.887103021145 -0.368955165148 +vn -0.277345180511 0.887103021145 -0.368955165148 +vn -0.347879409790 0.817592084408 0.458827942610 +vn 0.384487777948 0.887601256371 0.253639906645 +vn -0.347879409790 0.817592084408 0.458827942610 +vn -0.254123061895 0.426116853952 0.868242979050 +vn 0.653510272503 0.565980076790 0.502584218979 +vn 0.653510272503 0.565980076790 0.502584218979 +vn 0.384487777948 0.887601256371 0.253639906645 +vn -0.347879409790 0.817592084408 0.458827942610 +vn -0.923225998878 0.380098938942 0.056378662586 +vn -0.949123442173 -0.061713241041 0.308797955513 +vn -0.254123061895 0.426116853952 0.868242979050 +vn -0.254123061895 0.426116853952 0.868242979050 +vn -0.347879409790 0.817592084408 0.458827942610 +vn -0.923225998878 0.380098938942 0.056378662586 +vn -0.718087673187 0.217695534229 -0.661028504372 +vn -0.718620479107 -0.362539023161 -0.593422293663 +vn -0.949123442173 -0.061713241041 0.308797955513 +vn -0.949123442173 -0.061713241041 0.308797955513 +vn -0.923225998878 0.380098938942 0.056378662586 +vn -0.718087673187 0.217695534229 -0.661028504372 +vn 0.056213334203 0.268312811852 -0.961690306664 +vn 0.226011291146 -0.206536710262 -0.951977670193 +vn -0.718620479107 -0.362539023161 -0.593422293663 +vn -0.718620479107 -0.362539023161 -0.593422293663 +vn -0.718087673187 0.217695534229 -0.661028504372 +vn 0.056213334203 0.268312811852 -0.961690306664 +vn 0.530799150467 0.680233538151 -0.505504250526 +vn 0.881881117821 0.258271634579 -0.394438207150 +vn 0.226011291146 -0.206536710262 -0.951977670193 +vn 0.226011291146 -0.206536710262 -0.951977670193 +vn 0.056213334203 0.268312811852 -0.961690306664 +vn 0.530799150467 0.680233538151 -0.505504250526 +vn 0.384487777948 0.887601256371 0.253639906645 +vn 0.653510272503 0.565980076790 0.502584218979 +vn 0.881881117821 0.258271634579 -0.394438207150 +vn 0.881881117821 0.258271634579 -0.394438207150 +vn 0.530799150467 0.680233538151 -0.505504250526 +vn 0.384487777948 0.887601256371 0.253639906645 +vn 0.685477375984 0.462024539709 0.562720298767 +vn -0.206624403596 0.240915045142 0.948296546936 +vn -0.201308771968 0.240931555629 0.949434995651 +vn -0.201308771968 0.240931555629 0.949434995651 +vn 0.682193696499 0.466817051172 0.562755405903 +vn 0.685477375984 0.462024539709 0.562720298767 +vn -0.240289658308 0.320749431849 0.916177213192 +vn 0.680037975311 0.480506420135 0.553770661354 +vn 0.653510272503 0.565980076790 0.502584218979 +vn 0.653510272503 0.565980076790 0.502584218979 +vn -0.254123061895 0.426116853952 0.868242979050 +vn -0.240289658308 0.320749431849 0.916177213192 +vn -0.221647694707 0.312501966953 0.923696279526 +vn 0.676530897617 0.479380965233 0.559016883373 +vn 0.680037975311 0.480506420135 0.553770661354 +vn 0.680037975311 0.480506420135 0.553770661354 +vn -0.240289658308 0.320749431849 0.916177213192 +vn -0.221647694707 0.312501966953 0.923696279526 +vn -0.219177588820 0.295268416405 0.929934263229 +vn 0.681994259357 0.479156374931 0.552533268929 +vn 0.682748973370 0.479876726866 0.550973832607 +vn 0.682748973370 0.479876726866 0.550973832607 +vn -0.218723073602 0.307124495506 0.926193714142 +vn -0.219177588820 0.295268416405 0.929934263229 +vn -0.225854665041 0.275281429291 0.934456944466 +vn 0.676891267300 0.478440582752 0.559386134148 +vn 0.680287778378 0.480499923229 0.553469419479 +vn 0.680287778378 0.480499923229 0.553469419479 +vn -0.231893524528 0.286410689354 0.929620504379 +vn -0.225854665041 0.275281429291 0.934456944466 +vn -0.206624403596 0.240915045142 0.948296546936 +vn -0.895451784134 -0.211260989308 0.391835272312 +vn -0.892966151237 -0.215754017234 0.395046353340 +vn -0.892966151237 -0.215754017234 0.395046353340 +vn -0.201308771968 0.240931555629 0.949434995651 +vn -0.206624403596 0.240915045142 0.948296546936 +vn -0.921951174736 -0.151050478220 0.356636703014 +vn -0.240289658308 0.320749431849 0.916177213192 +vn -0.254123061895 0.426116853952 0.868242979050 +vn -0.254123061895 0.426116853952 0.868242979050 +vn -0.949123442173 -0.061713241041 0.308797955513 +vn -0.921951174736 -0.151050478220 0.356636703014 +vn -0.919012665749 -0.163916215301 0.358534842730 +vn -0.221647694707 0.312501966953 0.923696279526 +vn -0.240289658308 0.320749431849 0.916177213192 +vn -0.240289658308 0.320749431849 0.916177213192 +vn -0.921951174736 -0.151050478220 0.356636703014 +vn -0.919012665749 -0.163916215301 0.358534842730 +vn -0.909907639027 -0.179549068213 0.373938739300 +vn -0.219177588820 0.295268416405 0.929934263229 +vn -0.218723073602 0.307124495506 0.926193714142 +vn -0.218723073602 0.307124495506 0.926193714142 +vn -0.917439937592 -0.170511052012 0.359485685825 +vn -0.909907639027 -0.179549068213 0.373938739300 +vn -0.907250344753 -0.188964352012 0.375751674175 +vn -0.225854665041 0.275281429291 0.934456944466 +vn -0.231893524528 0.286410689354 0.929620504379 +vn -0.231893524528 0.286410689354 0.929620504379 +vn -0.909621715546 -0.186995491385 0.370973020792 +vn -0.907250344753 -0.188964352012 0.375751674175 +vn -0.895451784134 -0.211260989308 0.391835272312 +vn -0.692713320255 -0.448291033506 -0.564963161945 +vn -0.690826892853 -0.451026529074 -0.565095782280 +vn -0.690826892853 -0.451026529074 -0.565095782280 +vn -0.892966151237 -0.215754017234 0.395046353340 +vn -0.895451784134 -0.211260989308 0.391835272312 +vn -0.688484191895 -0.460392743349 -0.560382068157 +vn -0.921951174736 -0.151050478220 0.356636703014 +vn -0.949123442173 -0.061713241041 0.308797955513 +vn -0.949123442173 -0.061713241041 0.308797955513 +vn -0.718620479107 -0.362539023161 -0.593422293663 +vn -0.688484191895 -0.460392743349 -0.560382068157 +vn -0.681730031967 -0.466094911098 -0.563914597034 +vn -0.919012665749 -0.163916215301 0.358534842730 +vn -0.921951174736 -0.151050478220 0.356636703014 +vn -0.921951174736 -0.151050478220 0.356636703014 +vn -0.688484191895 -0.460392743349 -0.560382068157 +vn -0.681730031967 -0.466094911098 -0.563914597034 +vn -0.683602571487 -0.461759626865 -0.565212845802 +vn -0.909907639027 -0.179549068213 0.373938739300 +vn -0.917439937592 -0.170511052012 0.359485685825 +vn -0.917439937592 -0.170511052012 0.359485685825 +vn -0.670401155949 -0.457893431187 -0.583862960339 +vn -0.683602571487 -0.461759626865 -0.565212845802 +vn -0.695992946625 -0.460888862610 -0.550613582134 +vn -0.907250344753 -0.188964352012 0.375751674175 +vn -0.909621715546 -0.186995491385 0.370973020792 +vn -0.909621715546 -0.186995491385 0.370973020792 +vn -0.691403150558 -0.464157193899 -0.553642272949 +vn -0.695992946625 -0.460888862610 -0.550613582134 +vn -0.692713320255 -0.448291033506 -0.564963161945 +vn 0.203994378448 -0.226881235838 -0.952318847179 +vn 0.197611436248 -0.226847842336 -0.953671753407 +vn 0.197611436248 -0.226847842336 -0.953671753407 +vn -0.690826892853 -0.451026529074 -0.565095782280 +vn -0.692713320255 -0.448291033506 -0.564963161945 +vn 0.236712202430 -0.296670228243 -0.925177872181 +vn -0.688484191895 -0.460392743349 -0.560382068157 +vn -0.718620479107 -0.362539023161 -0.593422293663 +vn -0.718620479107 -0.362539023161 -0.593422293663 +vn 0.226011291146 -0.206536710262 -0.951977670193 +vn 0.236712202430 -0.296670228243 -0.925177872181 +vn 0.231879636645 -0.296164631844 -0.926562666893 +vn -0.681730031967 -0.466094911098 -0.563914597034 +vn -0.688484191895 -0.460392743349 -0.560382068157 +vn -0.688484191895 -0.460392743349 -0.560382068157 +vn 0.236712202430 -0.296670228243 -0.925177872181 +vn 0.231879636645 -0.296164631844 -0.926562666893 +vn 0.236520305276 -0.263811916113 -0.935126423836 +vn -0.683602571487 -0.461759626865 -0.565212845802 +vn -0.670401155949 -0.457893431187 -0.583862960339 +vn -0.670401155949 -0.457893431187 -0.583862960339 +vn 0.232400774956 -0.280038267374 -0.931433558464 +vn 0.236520305276 -0.263811916113 -0.935126423836 +vn 0.224680751562 -0.257442176342 -0.939809620380 +vn -0.695992946625 -0.460888862610 -0.550613582134 +vn -0.691403150558 -0.464157193899 -0.553642272949 +vn -0.691403150558 -0.464157193899 -0.553642272949 +vn 0.232408687472 -0.262927412987 -0.936405539513 +vn 0.224680751562 -0.257442176342 -0.939809620380 +vn 0.203994378448 -0.226881235838 -0.952318847179 +vn 0.892602801323 0.230994895101 -0.387171238661 +vn 0.888792514801 0.234837070107 -0.393572568893 +vn 0.888792514801 0.234837070107 -0.393572568893 +vn 0.197611436248 -0.226847842336 -0.953671753407 +vn 0.203994378448 -0.226881235838 -0.952318847179 +vn 0.916761815548 0.175430729985 -0.358847975731 +vn 0.236712202430 -0.296670228243 -0.925177872181 +vn 0.226011291146 -0.206536710262 -0.951977670193 +vn 0.226011291146 -0.206536710262 -0.951977670193 +vn 0.881881117821 0.258271634579 -0.394438207150 +vn 0.916761815548 0.175430729985 -0.358847975731 +vn 0.917508840561 0.192104980350 -0.348242968321 +vn 0.231879636645 -0.296164631844 -0.926562666893 +vn 0.236712202430 -0.296670228243 -0.925177872181 +vn 0.236712202430 -0.296670228243 -0.925177872181 +vn 0.916761815548 0.175430729985 -0.358847975731 +vn 0.917508840561 0.192104980350 -0.348242968321 +vn 0.908501267433 0.201881110668 -0.365881800652 +vn 0.236520305276 -0.263811916113 -0.935126423836 +vn 0.232400774956 -0.280038267374 -0.931433558464 +vn 0.232400774956 -0.280038267374 -0.931433558464 +vn 0.908105671406 0.180472493172 -0.377854198217 +vn 0.908501267433 0.201881110668 -0.365881800652 +vn 0.904699862003 0.220005586743 -0.364850312471 +vn 0.224680751562 -0.257442176342 -0.939809620380 +vn 0.232408687472 -0.262927412987 -0.936405539513 +vn 0.232408687472 -0.262927412987 -0.936405539513 +vn 0.907337546349 0.210294201970 -0.364025950432 +vn 0.904699862003 0.220005586743 -0.364850312471 +vn 0.892602801323 0.230994895101 -0.387171238661 +vn 0.685477375984 0.462024539709 0.562720298767 +vn 0.682193696499 0.466817051172 0.562755405903 +vn 0.682193696499 0.466817051172 0.562755405903 +vn 0.888792514801 0.234837070107 -0.393572568893 +vn 0.892602801323 0.230994895101 -0.387171238661 +vn 0.653510272503 0.565980076790 0.502584218979 +vn 0.680037975311 0.480506420135 0.553770661354 +vn 0.916761815548 0.175430729985 -0.358847975731 +vn 0.916761815548 0.175430729985 -0.358847975731 +vn 0.881881117821 0.258271634579 -0.394438207150 +vn 0.653510272503 0.565980076790 0.502584218979 +vn 0.676530897617 0.479380965233 0.559016883373 +vn 0.917508840561 0.192104980350 -0.348242968321 +vn 0.916761815548 0.175430729985 -0.358847975731 +vn 0.916761815548 0.175430729985 -0.358847975731 +vn 0.680037975311 0.480506420135 0.553770661354 +vn 0.676530897617 0.479380965233 0.559016883373 +vn 0.681994259357 0.479156374931 0.552533268929 +vn 0.908501267433 0.201881110668 -0.365881800652 +vn 0.908105671406 0.180472493172 -0.377854198217 +vn 0.908105671406 0.180472493172 -0.377854198217 +vn 0.682748973370 0.479876726866 0.550973832607 +vn 0.681994259357 0.479156374931 0.552533268929 +vn 0.676891267300 0.478440582752 0.559386134148 +vn 0.904699862003 0.220005586743 -0.364850312471 +vn 0.907337546349 0.210294201970 -0.364025950432 +vn 0.907337546349 0.210294201970 -0.364025950432 +vn 0.680287778378 0.480499923229 0.553469419479 +vn 0.676891267300 0.478440582752 0.559386134148 +vn 0.658345997334 0.509523391724 0.554045557976 +vn -0.226969450712 0.276726186275 0.933759868145 +vn -0.211771011353 0.234253704548 0.948829948902 +vn -0.211771011353 0.234253704548 0.948829948902 +vn 0.670803904533 0.475809752941 0.568882465363 +vn 0.658345997334 0.509523391724 0.554045557976 +vn 0.750280976295 0.265666365623 0.605392277241 +vn -0.117148451507 0.034600071609 0.992511510849 +vn -0.213284403086 0.286679387093 0.933983266354 +vn -0.213284403086 0.286679387093 0.933983266354 +vn 0.665205776691 0.510107040405 0.545244932175 +vn 0.750280976295 0.265666365623 0.605392277241 +vn -0.226969450712 0.276726186275 0.933759868145 +vn -0.892012178898 -0.212036281824 0.399192839861 +vn -0.885972619057 -0.237013354897 0.398594051600 +vn -0.885972619057 -0.237013354897 0.398594051600 +vn -0.211771011353 0.234253704548 0.948829948902 +vn -0.226969450712 0.276726186275 0.933759868145 +vn -0.117148451507 0.034600071609 0.992511510849 +vn -0.773168981075 -0.442755550146 0.454067409039 +vn -0.895926833153 -0.207023650408 0.393009245396 +vn -0.895926833153 -0.207023650408 0.393009245396 +vn -0.213284403086 0.286679387093 0.933983266354 +vn -0.117148451507 0.034600071609 0.992511510849 +vn -0.892012178898 -0.212036281824 0.399192839861 +vn -0.682163417339 -0.476584762335 -0.554544925690 +vn -0.680139005184 -0.469099432230 -0.563344180584 +vn -0.680139005184 -0.469099432230 -0.563344180584 +vn -0.885972619057 -0.237013354897 0.398594051600 +vn -0.892012178898 -0.212036281824 0.399192839861 +vn -0.773168981075 -0.442755550146 0.454067409039 +vn -0.578914999962 -0.647734820843 -0.495274722576 +vn -0.678995072842 -0.478009134531 -0.557201027870 +vn -0.678995072842 -0.478009134531 -0.557201027870 +vn -0.895926833153 -0.207023650408 0.393009245396 +vn -0.773168981075 -0.442755550146 0.454067409039 +vn -0.682163417339 -0.476584762335 -0.554544925690 +vn 0.213831633329 -0.244800299406 -0.945700168610 +vn 0.217604622245 -0.205104112625 -0.954243421555 +vn 0.217604622245 -0.205104112625 -0.954243421555 +vn -0.680139005184 -0.469099432230 -0.563344180584 +vn -0.682163417339 -0.476584762335 -0.554544925690 +vn -0.578914999962 -0.647734820843 -0.495274722576 +vn 0.266819119453 -0.410633623600 -0.871887385845 +vn 0.207553997636 -0.256860315800 -0.943898379803 +vn 0.207553997636 -0.256860315800 -0.943898379803 +vn -0.678995072842 -0.478009134531 -0.557201027870 +vn -0.578914999962 -0.647734820843 -0.495274722576 +vn 0.213831633329 -0.244800299406 -0.945700168610 +vn 0.887191772461 0.243261545897 -0.392064481974 +vn 0.886675596237 0.257487684488 -0.384065717459 +vn 0.886675596237 0.257487684488 -0.384065717459 +vn 0.217604622245 -0.205104112625 -0.954243421555 +vn 0.213831633329 -0.244800299406 -0.945700168610 +vn 0.266819119453 -0.410633623600 -0.871887385845 +vn 0.933817505836 0.069771841168 -0.350879937410 +vn 0.884813129902 0.235721811652 -0.401921570301 +vn 0.884813129902 0.235721811652 -0.401921570301 +vn 0.207553997636 -0.256860315800 -0.943898379803 +vn 0.266819119453 -0.410633623600 -0.871887385845 +vn 0.887191772461 0.243261545897 -0.392064481974 +vn 0.658345997334 0.509523391724 0.554045557976 +vn 0.670803904533 0.475809752941 0.568882465363 +vn 0.670803904533 0.475809752941 0.568882465363 +vn 0.886675596237 0.257487684488 -0.384065717459 +vn 0.887191772461 0.243261545897 -0.392064481974 +vn 0.933817505836 0.069771841168 -0.350879937410 +vn 0.750280976295 0.265666365623 0.605392277241 +vn 0.665205776691 0.510107040405 0.545244932175 +vn 0.665205776691 0.510107040405 0.545244932175 +vn 0.884813129902 0.235721811652 -0.401921570301 +vn 0.933817505836 0.069771841168 -0.350879937410 +vn 0.520998537540 -0.756937682629 0.394469082355 +vn 0.340784788132 -0.793341636658 0.504454910755 +vn 0.333805084229 -0.795262694359 0.506094276905 +vn 0.333805084229 -0.795262694359 0.506094276905 +vn 0.523602247238 -0.757869243622 0.389197736979 +vn 0.520998537540 -0.756937682629 0.394469082355 +vn 0.585367500782 -0.787940621376 0.191035225987 +vn 0.520998537540 -0.756937682629 0.394469082355 +vn 0.523602247238 -0.757869243622 0.389197736979 +vn 0.523602247238 -0.757869243622 0.389197736979 +vn 0.588895976543 -0.784702122211 0.193504810333 +vn 0.585367500782 -0.787940621376 0.191035225987 +vn 0.428356975317 -0.900839090347 0.070705041289 +vn 0.585367500782 -0.787940621376 0.191035225987 +vn 0.588895976543 -0.784702122211 0.193504810333 +vn 0.588895976543 -0.784702122211 0.193504810333 +vn 0.425227791071 -0.902204632759 0.072167634964 +vn 0.428356975317 -0.900839090347 0.070705041289 +vn 0.244827017188 -0.958182632923 0.148140966892 +vn 0.428356975317 -0.900839090347 0.070705041289 +vn 0.425227791071 -0.902204632759 0.072167634964 +vn 0.425227791071 -0.902204632759 0.072167634964 +vn 0.247534096241 -0.957624971867 0.147245749831 +vn 0.244827017188 -0.958182632923 0.148140966892 +vn 0.238857537508 -0.902638971806 0.358036190271 +vn 0.244827017188 -0.958182632923 0.148140966892 +vn 0.247534096241 -0.957624971867 0.147245749831 +vn 0.247534096241 -0.957624971867 0.147245749831 +vn 0.239870905876 -0.901330232620 0.360646307468 +vn 0.238857537508 -0.902638971806 0.358036190271 +vn 0.340784788132 -0.793341636658 0.504454910755 +vn 0.238857537508 -0.902638971806 0.358036190271 +vn 0.239870905876 -0.901330232620 0.360646307468 +vn 0.239870905876 -0.901330232620 0.360646307468 +vn 0.333805084229 -0.795262694359 0.506094276905 +vn 0.340784788132 -0.793341636658 0.504454910755 +vn -0.351152896881 0.896278381348 -0.270881265402 +vn -0.389907628298 0.882185220718 -0.264047831297 +vn -0.380583465099 0.884880721569 -0.268593341112 +vn -0.380583465099 0.884880721569 -0.268593341112 +vn -0.349539011717 0.894979357719 -0.277190327644 +vn -0.351152896881 0.896278381348 -0.270881265402 +vn -0.315098047256 0.909006059170 -0.272802501917 +vn -0.351152896881 0.896278381348 -0.270881265402 +vn -0.349539011717 0.894979357719 -0.277190327644 +vn -0.349539011717 0.894979357719 -0.277190327644 +vn -0.314274698496 0.905051290989 -0.286554604769 +vn -0.315098047256 0.909006059170 -0.272802501917 +vn -0.324795067310 0.917077064514 -0.231252595782 +vn -0.315098047256 0.909006059170 -0.272802501917 +vn -0.314274698496 0.905051290989 -0.286554604769 +vn -0.314274698496 0.905051290989 -0.286554604769 +vn -0.327561646700 0.916575074196 -0.229332759976 +vn -0.324795067310 0.917077064514 -0.231252595782 +vn -0.376637071371 0.902566313744 -0.208610922098 +vn -0.324795067310 0.917077064514 -0.231252595782 +vn -0.327561646700 0.916575074196 -0.229332759976 +vn -0.327561646700 0.916575074196 -0.229332759976 +vn -0.376510679722 0.902412891388 -0.209500908852 +vn -0.376637071371 0.902566313744 -0.208610922098 +vn -0.409135401249 0.882911443710 -0.230381488800 +vn -0.376637071371 0.902566313744 -0.208610922098 +vn -0.376510679722 0.902412891388 -0.209500908852 +vn -0.376510679722 0.902412891388 -0.209500908852 +vn -0.404935628176 0.884113430977 -0.233175009489 +vn -0.409135401249 0.882911443710 -0.230381488800 +vn -0.389907628298 0.882185220718 -0.264047831297 +vn -0.409135401249 0.882911443710 -0.230381488800 +vn -0.404935628176 0.884113430977 -0.233175009489 +vn -0.404935628176 0.884113430977 -0.233175009489 +vn -0.380583465099 0.884880721569 -0.268593341112 +vn -0.389907628298 0.882185220718 -0.264047831297 +vn 0.570412695408 0.657898664474 0.491730272770 +vn -0.263800501823 0.365938633680 0.892467498779 +vn -0.227320805192 0.221673280001 0.948254287243 +vn -0.227320805192 0.221673280001 0.948254287243 +vn 0.699121236801 0.428781896830 0.572167456150 +vn 0.570412695408 0.657898664474 0.491730272770 +vn 0.760976850986 0.469329386950 -0.447933167219 +vn 0.570412695408 0.657898664474 0.491730272770 +vn 0.699121236801 0.428781896830 0.572167456150 +vn 0.699121236801 0.428781896830 0.572167456150 +vn 0.892048120499 0.221571207047 -0.393898874521 +vn 0.760976850986 0.469329386950 -0.447933167219 +vn 0.106153875589 -0.007835450582 -0.994318842888 +vn 0.760976850986 0.469329386950 -0.447933167219 +vn 0.892048120499 0.221571207047 -0.393898874521 +vn 0.892048120499 0.221571207047 -0.393898874521 +vn 0.232417941093 -0.321322321892 -0.918005347252 +vn 0.106153875589 -0.007835450582 -0.994318842888 +vn -0.749192118645 -0.260680377483 -0.608898103237 +vn 0.106153875589 -0.007835450582 -0.994318842888 +vn 0.232417941093 -0.321322321892 -0.918005347252 +vn 0.232417941093 -0.321322321892 -0.918005347252 +vn -0.622993707657 -0.581864595413 -0.522792935371 +vn -0.749192118645 -0.260680377483 -0.608898103237 +vn -0.945832312107 -0.043938733637 0.321668446064 +vn -0.749192118645 -0.260680377483 -0.608898103237 +vn -0.622993707657 -0.581864595413 -0.522792935371 +vn -0.622993707657 -0.581864595413 -0.522792935371 +vn -0.857758522034 -0.317021489143 0.404657512903 +vn -0.945832312107 -0.043938733637 0.321668446064 +vn -0.263800501823 0.365938633680 0.892467498779 +vn -0.945832312107 -0.043938733637 0.321668446064 +vn -0.857758522034 -0.317021489143 0.404657512903 +vn -0.857758522034 -0.317021489143 0.404657512903 +vn -0.227320805192 0.221673280001 0.948254287243 +vn -0.263800501823 0.365938633680 0.892467498779 +vn -0.153622061014 0.138630852103 0.978356659412 +vn 0.706371426582 0.398818373680 0.584793448448 +vn 0.551810741425 0.698545396328 0.455564767122 +vn 0.551810741425 0.698545396328 0.455564767122 +vn -0.257132411003 0.416455388069 0.872036576271 +vn -0.153622061014 0.138630852103 0.978356659412 +vn -0.809115707874 -0.377030491829 0.450754731894 +vn -0.153622061014 0.138630852103 0.978356659412 +vn -0.257132411003 0.416455388069 0.872036576271 +vn -0.257132411003 0.416455388069 0.872036576271 +vn -0.917856097221 -0.143156483769 0.370197772980 +vn -0.809115707874 -0.377030491829 0.450754731894 +vn -0.639346003532 -0.562029004097 -0.524747669697 +vn -0.809115707874 -0.377030491829 0.450754731894 +vn -0.917856097221 -0.143156483769 0.370197772980 +vn -0.917856097221 -0.143156483769 0.370197772980 +vn -0.723487615585 -0.324982106686 -0.609058499336 +vn -0.639346003532 -0.562029004097 -0.524747669697 +vn 0.238241240382 -0.329128980637 -0.913736939430 +vn -0.639346003532 -0.562029004097 -0.524747669697 +vn -0.723487615585 -0.324982106686 -0.609058499336 +vn -0.723487615585 -0.324982106686 -0.609058499336 +vn 0.159523501992 -0.123263031244 -0.979468464851 +vn 0.238241240382 -0.329128980637 -0.913736939430 +vn 0.923433840275 0.129846125841 -0.361123204231 +vn 0.238241240382 -0.329128980637 -0.913736939430 +vn 0.159523501992 -0.123263031244 -0.979468464851 +vn 0.159523501992 -0.123263031244 -0.979468464851 +vn 0.838533520699 0.315829396248 -0.443974435329 +vn 0.923433840275 0.129846125841 -0.361123204231 +vn 0.706371426582 0.398818373680 0.584793448448 +vn 0.923433840275 0.129846125841 -0.361123204231 +vn 0.838533520699 0.315829396248 -0.443974435329 +vn 0.838533520699 0.315829396248 -0.443974435329 +vn 0.551810741425 0.698545396328 0.455564767122 +vn 0.706371426582 0.398818373680 0.584793448448 +vn 0.543161213398 0.695157170296 0.470884680748 +vn -0.272610336542 0.367797374725 0.889049291611 +vn -0.263800501823 0.365938633680 0.892467498779 +vn -0.263800501823 0.365938633680 0.892467498779 +vn 0.570412695408 0.657898664474 0.491730272770 +vn 0.543161213398 0.695157170296 0.470884680748 +vn 0.722058236599 0.512534260750 -0.464693993330 +vn 0.543161213398 0.695157170296 0.470884680748 +vn 0.570412695408 0.657898664474 0.491730272770 +vn 0.570412695408 0.657898664474 0.491730272770 +vn 0.760976850986 0.469329386950 -0.447933167219 +vn 0.722058236599 0.512534260750 -0.464693993330 +vn 0.055108718574 0.101982802153 -0.993258535862 +vn 0.722058236599 0.512534260750 -0.464693993330 +vn 0.760976850986 0.469329386950 -0.447933167219 +vn 0.760976850986 0.469329386950 -0.447933167219 +vn 0.106153875589 -0.007835450582 -0.994318842888 +vn 0.055108718574 0.101982802153 -0.993258535862 +vn -0.770698904991 -0.121819429100 -0.625446438789 +vn 0.055108718574 0.101982802153 -0.993258535862 +vn 0.106153875589 -0.007835450582 -0.994318842888 +vn 0.106153875589 -0.007835450582 -0.994318842888 +vn -0.749192118645 -0.260680377483 -0.608898103237 +vn -0.770698904991 -0.121819429100 -0.625446438789 +vn -0.960054516792 0.049479231238 0.275403499603 +vn -0.770698904991 -0.121819429100 -0.625446438789 +vn -0.749192118645 -0.260680377483 -0.608898103237 +vn -0.749192118645 -0.260680377483 -0.608898103237 +vn -0.945832312107 -0.043938733637 0.321668446064 +vn -0.960054516792 0.049479231238 0.275403499603 +vn -0.272610336542 0.367797374725 0.889049291611 +vn -0.960054516792 0.049479231238 0.275403499603 +vn -0.945832312107 -0.043938733637 0.321668446064 +vn -0.945832312107 -0.043938733637 0.321668446064 +vn -0.263800501823 0.365938633680 0.892467498779 +vn -0.272610336542 0.367797374725 0.889049291611 +vn -0.117148451507 0.034600071609 0.992511510849 +vn 0.750280976295 0.265666365623 0.605392277241 +vn 0.706371426582 0.398818373680 0.584793448448 +vn 0.706371426582 0.398818373680 0.584793448448 +vn -0.153622061014 0.138630852103 0.978356659412 +vn -0.117148451507 0.034600071609 0.992511510849 +vn -0.773168981075 -0.442755550146 0.454067409039 +vn -0.117148451507 0.034600071609 0.992511510849 +vn -0.153622061014 0.138630852103 0.978356659412 +vn -0.153622061014 0.138630852103 0.978356659412 +vn -0.809115707874 -0.377030491829 0.450754731894 +vn -0.773168981075 -0.442755550146 0.454067409039 +vn -0.578914999962 -0.647734820843 -0.495274722576 +vn -0.773168981075 -0.442755550146 0.454067409039 +vn -0.809115707874 -0.377030491829 0.450754731894 +vn -0.809115707874 -0.377030491829 0.450754731894 +vn -0.639346003532 -0.562029004097 -0.524747669697 +vn -0.578914999962 -0.647734820843 -0.495274722576 +vn 0.266819119453 -0.410633623600 -0.871887385845 +vn -0.578914999962 -0.647734820843 -0.495274722576 +vn -0.639346003532 -0.562029004097 -0.524747669697 +vn -0.639346003532 -0.562029004097 -0.524747669697 +vn 0.238241240382 -0.329128980637 -0.913736939430 +vn 0.266819119453 -0.410633623600 -0.871887385845 +vn 0.933817505836 0.069771841168 -0.350879937410 +vn 0.266819119453 -0.410633623600 -0.871887385845 +vn 0.238241240382 -0.329128980637 -0.913736939430 +vn 0.238241240382 -0.329128980637 -0.913736939430 +vn 0.923433840275 0.129846125841 -0.361123204231 +vn 0.933817505836 0.069771841168 -0.350879937410 +vn 0.750280976295 0.265666365623 0.605392277241 +vn 0.933817505836 0.069771841168 -0.350879937410 +vn 0.923433840275 0.129846125841 -0.361123204231 +vn 0.923433840275 0.129846125841 -0.361123204231 +vn 0.706371426582 0.398818373680 0.584793448448 +vn 0.750280976295 0.265666365623 0.605392277241 +vn 0.332089483738 -0.877025306225 0.347193360329 +vn -0.115704677999 -0.992193222046 -0.046530377120 +vn 0.416424691677 -0.838034331799 -0.352546423674 +vn 0.416424691677 -0.838034331799 -0.352546423674 +vn 0.812869012356 -0.581592381001 0.031531836838 +vn 0.332089483738 -0.877025306225 0.347193360329 +vn 0.332089483738 -0.877025306225 0.347193360329 +vn 0.193432345986 -0.589852690697 0.784001111984 +vn -0.295678406954 -0.832099795341 0.469237923622 +vn -0.295678406954 -0.832099795341 0.469237923622 +vn -0.115704677999 -0.992193222046 -0.046530377120 +vn 0.332089483738 -0.877025306225 0.347193360329 +vn 0.690424919128 -0.371962577105 0.620449244976 +vn 0.193432345986 -0.589852690697 0.784001111984 +vn 0.332089483738 -0.877025306225 0.347193360329 +vn 0.332089483738 -0.877025306225 0.347193360329 +vn 0.812869012356 -0.581592381001 0.031531836838 +vn 0.690424919128 -0.371962577105 0.620449244976 +vn 0.193432345986 -0.589852690697 0.784001111984 +vn 0.690424919128 -0.371962577105 0.620449244976 +vn 0.764939725399 0.154692605138 0.625249862671 +vn 0.764939725399 0.154692605138 0.625249862671 +vn -0.056536089629 -0.104562290013 0.992910087109 +vn 0.193432345986 -0.589852690697 0.784001111984 +vn -0.295678406954 -0.832099795341 0.469237923622 +vn 0.193432345986 -0.589852690697 0.784001111984 +vn -0.056536089629 -0.104562290013 0.992910087109 +vn -0.056536089629 -0.104562290013 0.992910087109 +vn -0.720583796501 -0.519040763378 0.459734320641 +vn -0.295678406954 -0.832099795341 0.469237923622 +vn -0.115704677999 -0.992193222046 -0.046530377120 +vn -0.295678406954 -0.832099795341 0.469237923622 +vn -0.720583796501 -0.519040763378 0.459734320641 +vn -0.720583796501 -0.519040763378 0.459734320641 +vn -0.532744526863 -0.732410252094 -0.423979341984 +vn -0.115704677999 -0.992193222046 -0.046530377120 +vn 0.416424691677 -0.838034331799 -0.352546423674 +vn -0.115704677999 -0.992193222046 -0.046530377120 +vn -0.532744526863 -0.732410252094 -0.423979341984 +vn -0.532744526863 -0.732410252094 -0.423979341984 +vn 0.325455516577 -0.477934837341 -0.815878033638 +vn 0.416424691677 -0.838034331799 -0.352546423674 +vn 0.812869012356 -0.581592381001 0.031531836838 +vn 0.416424691677 -0.838034331799 -0.352546423674 +vn 0.325455516577 -0.477934837341 -0.815878033638 +vn 0.325455516577 -0.477934837341 -0.815878033638 +vn 0.955836892128 -0.063799977303 -0.286889135838 +vn 0.812869012356 -0.581592381001 0.031531836838 +vn 0.690424919128 -0.371962577105 0.620449244976 +vn 0.812869012356 -0.581592381001 0.031531836838 +vn 0.955836892128 -0.063799977303 -0.286889135838 +vn 0.955836892128 -0.063799977303 -0.286889135838 +vn 0.764939725399 0.154692605138 0.625249862671 +vn 0.690424919128 -0.371962577105 0.620449244976 +vn 0.696267127991 0.416324853897 0.584709942341 +vn -0.163892567158 0.169382914901 0.971827507019 +vn -0.168904587626 0.153192564845 0.973654627800 +vn -0.168904587626 0.153192564845 0.973654627800 +vn 0.700519919395 0.417314112186 0.578896164894 +vn 0.696267127991 0.416324853897 0.584709942341 +vn -0.163892567158 0.169382914901 0.971827507019 +vn -0.869695901871 -0.274154037237 0.410449296236 +vn -0.857704401016 -0.305203676224 0.413755863905 +vn -0.857704401016 -0.305203676224 0.413755863905 +vn -0.168904587626 0.153192564845 0.973654627800 +vn -0.163892567158 0.169382914901 0.971827507019 +vn -0.869695901871 -0.274154037237 0.410449296236 +vn -0.680004060268 -0.465699821711 -0.566319882870 +vn -0.669463574886 -0.488497883081 -0.559632301331 +vn -0.669463574886 -0.488497883081 -0.559632301331 +vn -0.857704401016 -0.305203676224 0.413755863905 +vn -0.869695901871 -0.274154037237 0.410449296236 +vn -0.680004060268 -0.465699821711 -0.566319882870 +vn 0.207809269428 -0.215856730938 -0.954055130482 +vn 0.219654008746 -0.233781188726 -0.947152853012 +vn 0.219654008746 -0.233781188726 -0.947152853012 +vn -0.669463574886 -0.488497883081 -0.559632301331 +vn -0.680004060268 -0.465699821711 -0.566319882870 +vn 0.207809269428 -0.215856730938 -0.954055130482 +vn 0.899366557598 0.232333302498 -0.370352536440 +vn 0.905991435051 0.192221090198 -0.377134740353 +vn 0.905991435051 0.192221090198 -0.377134740353 +vn 0.219654008746 -0.233781188726 -0.947152853012 +vn 0.207809269428 -0.215856730938 -0.954055130482 +vn 0.899366557598 0.232333302498 -0.370352536440 +vn 0.696267127991 0.416324853897 0.584709942341 +vn 0.700519919395 0.417314112186 0.578896164894 +vn 0.700519919395 0.417314112186 0.578896164894 +vn 0.905991435051 0.192221090198 -0.377134740353 +vn 0.899366557598 0.232333302498 -0.370352536440 +vn -0.662377238274 -0.626874268055 0.410225600004 +vn -0.382990270853 -0.432740062475 0.816121637821 +vn -0.499279826880 -0.238045200706 0.833099126816 +vn -0.499279826880 -0.238045200706 0.833099126816 +vn -0.804239809513 -0.440206110477 0.399270415306 +vn -0.662377238274 -0.626874268055 0.410225600004 +vn -0.522163152695 -0.246549248695 -0.816430747509 +vn -0.512087404728 -0.264961868525 -0.817044496536 +vn -0.473620533943 -0.329276412725 -0.816860198975 +vn -0.473620533943 -0.329276412725 -0.816860198975 +vn -0.473841011524 -0.329637020826 -0.816586852074 +vn -0.522163152695 -0.246549248695 -0.816430747509 +vn 0.730786740780 0.610652327538 -0.305048257113 +vn 0.382704496384 0.445656538010 -0.809275925159 +vn 0.526769578457 0.236967489123 -0.816308915615 +vn 0.526769578457 0.236967489123 -0.816308915615 +vn 0.847266793251 0.458697319031 -0.267835289240 +vn 0.730786740780 0.610652327538 -0.305048257113 +vn 0.804961979389 0.551999032497 0.217562019825 +vn 0.730786740780 0.610652327538 -0.305048257113 +vn 0.847266793251 0.458697319031 -0.267835289240 +vn 0.847266793251 0.458697319031 -0.267835289240 +vn 0.838858008385 0.494629532099 0.227285787463 +vn 0.804961979389 0.551999032497 0.217562019825 +vn -0.382990270853 -0.432740062475 0.816121637821 +vn 0.048752576113 -0.154843926430 0.986735284328 +vn -0.069586545229 0.022697513923 0.997317671776 +vn -0.069586545229 0.022697513923 0.997317671776 +vn -0.499279826880 -0.238045200706 0.833099126816 +vn -0.382990270853 -0.432740062475 0.816121637821 +vn -0.342832326889 -0.903053998947 0.258765399456 +vn 0.010212839581 -0.767236471176 0.641283035278 +vn -0.382990270853 -0.432740062475 0.816121637821 +vn -0.382990270853 -0.432740062475 0.816121637821 +vn -0.662377238274 -0.626874268055 0.410225600004 +vn -0.342832326889 -0.903053998947 0.258765399456 +vn -0.654632925987 -0.115691319108 -0.747041642666 +vn -0.644643008709 -0.127199381590 -0.753827393055 +vn -0.512087404728 -0.264961868525 -0.817044496536 +vn -0.512087404728 -0.264961868525 -0.817044496536 +vn -0.522163152695 -0.246549248695 -0.816430747509 +vn -0.654632925987 -0.115691319108 -0.747041642666 +vn 0.435036271811 0.891461074352 -0.126651614904 +vn -0.013651727699 0.782738447189 -0.622201085091 +vn 0.382704496384 0.445656538010 -0.809275925159 +vn 0.382704496384 0.445656538010 -0.809275925159 +vn 0.730786740780 0.610652327538 -0.305048257113 +vn 0.435036271811 0.891461074352 -0.126651614904 +vn 0.662259042263 0.684042572975 0.305775582790 +vn 0.435036271811 0.891461074352 -0.126651614904 +vn 0.730786740780 0.610652327538 -0.305048257113 +vn 0.730786740780 0.610652327538 -0.305048257113 +vn 0.804961979389 0.551999032497 0.217562019825 +vn 0.662259042263 0.684042572975 0.305775582790 +vn 0.010212839581 -0.767236471176 0.641283035278 +vn 0.393361032009 -0.415148884058 0.820316076279 +vn 0.048752576113 -0.154843926430 0.986735284328 +vn 0.048752576113 -0.154843926430 0.986735284328 +vn -0.382990270853 -0.432740062475 0.816121637821 +vn 0.010212839581 -0.767236471176 0.641283035278 +vn 0.048680081964 -0.994659066200 -0.091014303267 +vn 0.435790151358 -0.874335944653 0.213596761227 +vn 0.010212839581 -0.767236471176 0.641283035278 +vn 0.010212839581 -0.767236471176 0.641283035278 +vn -0.342832326889 -0.903053998947 0.258765399456 +vn 0.048680081964 -0.994659066200 -0.091014303267 +vn -0.803988158703 -0.094470322132 -0.587093174458 +vn -0.801242232323 -0.099859014153 -0.589948415756 +vn -0.644643008709 -0.127199381590 -0.753827393055 +vn -0.644643008709 -0.127199381590 -0.753827393055 +vn -0.654632925987 -0.115691319108 -0.747041642666 +vn -0.803988158703 -0.094470322132 -0.587093174458 +vn 0.089037470520 0.972759723663 0.214034825563 +vn -0.451572537422 0.873713314533 -0.180851474404 +vn -0.013651727699 0.782738447189 -0.622201085091 +vn -0.013651727699 0.782738447189 -0.622201085091 +vn 0.435036271811 0.891461074352 -0.126651614904 +vn 0.089037470520 0.972759723663 0.214034825563 +vn 0.490652501583 0.740379989147 0.459453642368 +vn 0.089037470520 0.972759723663 0.214034825563 +vn 0.435036271811 0.891461074352 -0.126651614904 +vn 0.435036271811 0.891461074352 -0.126651614904 +vn 0.662259042263 0.684042572975 0.305775582790 +vn 0.490652501583 0.740379989147 0.459453642368 +vn 0.435790151358 -0.874335944653 0.213596761227 +vn 0.712795853615 -0.526864945889 0.462963700294 +vn 0.393361032009 -0.415148884058 0.820316076279 +vn 0.393361032009 -0.415148884058 0.820316076279 +vn 0.010212839581 -0.767236471176 0.641283035278 +vn 0.435790151358 -0.874335944653 0.213596761227 +vn 0.251401871443 -0.758408725262 -0.601342916489 +vn 0.702698290348 -0.607031822205 -0.371116548777 +vn 0.435790151358 -0.874335944653 0.213596761227 +vn 0.435790151358 -0.874335944653 0.213596761227 +vn 0.048680081964 -0.994659066200 -0.091014303267 +vn 0.251401871443 -0.758408725262 -0.601342916489 +vn -0.893262147903 -0.230714723468 -0.385815322399 +vn -0.885544598103 -0.229386016726 -0.403971284628 +vn -0.801242232323 -0.099859014153 -0.589948415756 +vn -0.801242232323 -0.099859014153 -0.589948415756 +vn -0.803988158703 -0.094470322132 -0.587093174458 +vn -0.893262147903 -0.230714723468 -0.385815322399 +vn -0.079347580671 0.714547991753 0.695071995258 +vn -0.715602040291 0.563986122608 0.412108510733 +vn -0.451572537422 0.873713314533 -0.180851474404 +vn -0.451572537422 0.873713314533 -0.180851474404 +vn 0.089037470520 0.972759723663 0.214034825563 +vn -0.079347580671 0.714547991753 0.695071995258 +vn 0.405009925365 0.626119792461 0.666288971901 +vn -0.079347580671 0.714547991753 0.695071995258 +vn 0.089037470520 0.972759723663 0.214034825563 +vn 0.089037470520 0.972759723663 0.214034825563 +vn 0.490652501583 0.740379989147 0.459453642368 +vn 0.405009925365 0.626119792461 0.666288971901 +vn 0.702698290348 -0.607031822205 -0.371116548777 +vn 0.959425985813 -0.281454920769 -0.016879195347 +vn 0.712795853615 -0.526864945889 0.462963700294 +vn 0.712795853615 -0.526864945889 0.462963700294 +vn 0.435790151358 -0.874335944653 0.213596761227 +vn 0.702698290348 -0.607031822205 -0.371116548777 +vn 0.135830551386 -0.277985215187 -0.950933396816 +vn 0.622677326202 -0.050570812076 -0.780842840672 +vn 0.702698290348 -0.607031822205 -0.371116548777 +vn 0.702698290348 -0.607031822205 -0.371116548777 +vn 0.251401871443 -0.758408725262 -0.601342916489 +vn 0.135830551386 -0.277985215187 -0.950933396816 +vn -0.846260547638 -0.440019220114 -0.300376683474 +vn -0.846942424774 -0.425363630056 -0.318989604712 +vn -0.885544598103 -0.229386016726 -0.403971284628 +vn -0.885544598103 -0.229386016726 -0.403971284628 +vn -0.893262147903 -0.230714723468 -0.385815322399 +vn -0.846260547638 -0.440019220114 -0.300376683474 +vn 0.038355976343 0.223484531045 0.973952531815 +vn -0.579691588879 -0.009793659672 0.814777135849 +vn -0.715602040291 0.563986122608 0.412108510733 +vn -0.715602040291 0.563986122608 0.412108510733 +vn -0.079347580671 0.714547991753 0.695071995258 +vn 0.038355976343 0.223484531045 0.973952531815 +vn 0.449782669544 0.419279068708 0.788606762886 +vn 0.038355976343 0.223484531045 0.973952531815 +vn -0.079347580671 0.714547991753 0.695071995258 +vn -0.079347580671 0.714547991753 0.695071995258 +vn 0.405009925365 0.626119792461 0.666288971901 +vn 0.449782669544 0.419279068708 0.788606762886 +vn 0.622677326202 -0.050570812076 -0.780842840672 +vn 0.915183722973 0.209073305130 -0.344568014145 +vn 0.959425985813 -0.281454920769 -0.016879195347 +vn 0.959425985813 -0.281454920769 -0.016879195347 +vn 0.702698290348 -0.607031822205 -0.371116548777 +vn 0.622677326202 -0.050570812076 -0.780842840672 +vn -0.197052255273 0.120570488274 -0.972950756550 +vn 0.307854622602 0.464908808470 -0.830111622810 +vn 0.622677326202 -0.050570812076 -0.780842840672 +vn 0.622677326202 -0.050570812076 -0.780842840672 +vn 0.135830551386 -0.277985215187 -0.950933396816 +vn -0.197052255273 0.120570488274 -0.972950756550 +vn -0.748504459858 -0.580423593521 -0.320701569319 +vn -0.756549417973 -0.568829655647 -0.322592258453 +vn -0.846942424774 -0.425363630056 -0.318989604712 +vn -0.846942424774 -0.425363630056 -0.318989604712 +vn -0.846260547638 -0.440019220114 -0.300376683474 +vn -0.748504459858 -0.580423593521 -0.320701569319 +vn 0.298763692379 -0.113984473050 0.947495520115 +vn -0.239331066608 -0.482139617205 0.842770457268 +vn -0.579691588879 -0.009793659672 0.814777135849 +vn -0.579691588879 -0.009793659672 0.814777135849 +vn 0.038355976343 0.223484531045 0.973952531815 +vn 0.298763692379 -0.113984473050 0.947495520115 +vn 0.573455870152 0.261886984110 0.776249706745 +vn 0.298763692379 -0.113984473050 0.947495520115 +vn 0.038355976343 0.223484531045 0.973952531815 +vn 0.038355976343 0.223484531045 0.973952531815 +vn 0.449782669544 0.419279068708 0.788606762886 +vn 0.573455870152 0.261886984110 0.776249706745 +vn 0.307854622602 0.464908808470 -0.830111622810 +vn 0.657979726791 0.678265154362 -0.327137589455 +vn 0.915183722973 0.209073305130 -0.344568014145 +vn 0.915183722973 0.209073305130 -0.344568014145 +vn 0.622677326202 -0.050570812076 -0.780842840672 +vn 0.307854622602 0.464908808470 -0.830111622810 +vn -0.438953995705 0.307949036360 -0.844089329243 +vn -0.015659844503 0.758790850639 -0.651146113873 +vn 0.307854622602 0.464908808470 -0.830111622810 +vn 0.307854622602 0.464908808470 -0.830111622810 +vn -0.197052255273 0.120570488274 -0.972950756550 +vn -0.438953995705 0.307949036360 -0.844089329243 +vn -0.577075004578 -0.720137119293 -0.385210335255 +vn -0.631202220917 -0.677794516087 -0.377065479755 +vn -0.756549417973 -0.568829655647 -0.322592258453 +vn -0.756549417973 -0.568829655647 -0.322592258453 +vn -0.748504459858 -0.580423593521 -0.320701569319 +vn -0.577075004578 -0.720137119293 -0.385210335255 +vn 0.518678426743 -0.327887445688 0.789596378803 +vn 0.107150927186 -0.772752523422 0.625597476959 +vn -0.239331066608 -0.482139617205 0.842770457268 +vn -0.239331066608 -0.482139617205 0.842770457268 +vn 0.298763692379 -0.113984473050 0.947495520115 +vn 0.518678426743 -0.327887445688 0.789596378803 +vn 0.675563931465 0.163798823953 0.718876481056 +vn 0.518678426743 -0.327887445688 0.789596378803 +vn 0.298763692379 -0.113984473050 0.947495520115 +vn 0.298763692379 -0.113984473050 0.947495520115 +vn 0.573455870152 0.261886984110 0.776249706745 +vn 0.675563931465 0.163798823953 0.718876481056 +vn -0.015659844503 0.758790850639 -0.651146113873 +vn 0.393360197544 0.904708862305 -0.163614228368 +vn 0.657979726791 0.678265154362 -0.327137589455 +vn 0.657979726791 0.678265154362 -0.327137589455 +vn 0.307854622602 0.464908808470 -0.830111622810 +vn -0.015659844503 0.758790850639 -0.651146113873 +vn -0.514398455620 0.378968864679 -0.769270300865 +vn -0.137769415975 0.828296601772 -0.543087780476 +vn -0.015659844503 0.758790850639 -0.651146113873 +vn -0.015659844503 0.758790850639 -0.651146113873 +vn -0.438953995705 0.307949036360 -0.844089329243 +vn -0.514398455620 0.378968864679 -0.769270300865 +vn -0.556825041771 -0.704007327557 -0.440816938877 +vn -0.600282192230 -0.662484288216 -0.448080182076 +vn -0.631202220917 -0.677794516087 -0.377065479755 +vn -0.631202220917 -0.677794516087 -0.377065479755 +vn -0.577075004578 -0.720137119293 -0.385210335255 +vn -0.556825041771 -0.704007327557 -0.440816938877 +vn 0.684020638466 -0.337137818336 0.646880090237 +vn 0.223079264164 -0.842810750008 0.489801704884 +vn 0.107150927186 -0.772752523422 0.625597476959 +vn 0.107150927186 -0.772752523422 0.625597476959 +vn 0.518678426743 -0.327887445688 0.789596378803 +vn 0.684020638466 -0.337137818336 0.646880090237 +vn 0.769818246365 0.161918729544 0.617383360863 +vn 0.684020638466 -0.337137818336 0.646880090237 +vn 0.518678426743 -0.327887445688 0.789596378803 +vn 0.518678426743 -0.327887445688 0.789596378803 +vn 0.675563931465 0.163798823953 0.718876481056 +vn 0.769818246365 0.161918729544 0.617383360863 +vn -0.137769415975 0.828296601772 -0.543087780476 +vn 0.298304438591 0.947766005993 -0.112933620811 +vn 0.393360197544 0.904708862305 -0.163614228368 +vn 0.393360197544 0.904708862305 -0.163614228368 +vn -0.015659844503 0.758790850639 -0.651146113873 +vn -0.137769415975 0.828296601772 -0.543087780476 +vn -0.218723073602 0.307124495506 0.926193714142 +vn 0.682748973370 0.479876726866 0.550973832607 +vn 0.676530897617 0.479380965233 0.559016883373 +vn 0.676530897617 0.479380965233 0.559016883373 +vn -0.221647694707 0.312501966953 0.923696279526 +vn -0.218723073602 0.307124495506 0.926193714142 +vn -0.917439937592 -0.170511052012 0.359485685825 +vn -0.218723073602 0.307124495506 0.926193714142 +vn -0.221647694707 0.312501966953 0.923696279526 +vn -0.221647694707 0.312501966953 0.923696279526 +vn -0.919012665749 -0.163916215301 0.358534842730 +vn -0.917439937592 -0.170511052012 0.359485685825 +vn -0.670401155949 -0.457893431187 -0.583862960339 +vn -0.917439937592 -0.170511052012 0.359485685825 +vn -0.919012665749 -0.163916215301 0.358534842730 +vn -0.919012665749 -0.163916215301 0.358534842730 +vn -0.681730031967 -0.466094911098 -0.563914597034 +vn -0.670401155949 -0.457893431187 -0.583862960339 +vn 0.232400774956 -0.280038267374 -0.931433558464 +vn -0.670401155949 -0.457893431187 -0.583862960339 +vn -0.681730031967 -0.466094911098 -0.563914597034 +vn -0.681730031967 -0.466094911098 -0.563914597034 +vn 0.231879636645 -0.296164631844 -0.926562666893 +vn 0.232400774956 -0.280038267374 -0.931433558464 +vn 0.908105671406 0.180472493172 -0.377854198217 +vn 0.232400774956 -0.280038267374 -0.931433558464 +vn 0.231879636645 -0.296164631844 -0.926562666893 +vn 0.231879636645 -0.296164631844 -0.926562666893 +vn 0.917508840561 0.192104980350 -0.348242968321 +vn 0.908105671406 0.180472493172 -0.377854198217 +vn 0.682748973370 0.479876726866 0.550973832607 +vn 0.908105671406 0.180472493172 -0.377854198217 +vn 0.917508840561 0.192104980350 -0.348242968321 +vn 0.917508840561 0.192104980350 -0.348242968321 +vn 0.676530897617 0.479380965233 0.559016883373 +vn 0.682748973370 0.479876726866 0.550973832607 +vn -0.231893524528 0.286410689354 0.929620504379 +vn 0.680287778378 0.480499923229 0.553469419479 +vn 0.681994259357 0.479156374931 0.552533268929 +vn 0.681994259357 0.479156374931 0.552533268929 +vn -0.219177588820 0.295268416405 0.929934263229 +vn -0.231893524528 0.286410689354 0.929620504379 +vn -0.909621715546 -0.186995491385 0.370973020792 +vn -0.231893524528 0.286410689354 0.929620504379 +vn -0.219177588820 0.295268416405 0.929934263229 +vn -0.219177588820 0.295268416405 0.929934263229 +vn -0.909907639027 -0.179549068213 0.373938739300 +vn -0.909621715546 -0.186995491385 0.370973020792 +vn -0.691403150558 -0.464157193899 -0.553642272949 +vn -0.909621715546 -0.186995491385 0.370973020792 +vn -0.909907639027 -0.179549068213 0.373938739300 +vn -0.909907639027 -0.179549068213 0.373938739300 +vn -0.683602571487 -0.461759626865 -0.565212845802 +vn -0.691403150558 -0.464157193899 -0.553642272949 +vn 0.232408687472 -0.262927412987 -0.936405539513 +vn -0.691403150558 -0.464157193899 -0.553642272949 +vn -0.683602571487 -0.461759626865 -0.565212845802 +vn -0.683602571487 -0.461759626865 -0.565212845802 +vn 0.236520305276 -0.263811916113 -0.935126423836 +vn 0.232408687472 -0.262927412987 -0.936405539513 +vn 0.907337546349 0.210294201970 -0.364025950432 +vn 0.232408687472 -0.262927412987 -0.936405539513 +vn 0.236520305276 -0.263811916113 -0.935126423836 +vn 0.236520305276 -0.263811916113 -0.935126423836 +vn 0.908501267433 0.201881110668 -0.365881800652 +vn 0.907337546349 0.210294201970 -0.364025950432 +vn 0.680287778378 0.480499923229 0.553469419479 +vn 0.907337546349 0.210294201970 -0.364025950432 +vn 0.908501267433 0.201881110668 -0.365881800652 +vn 0.908501267433 0.201881110668 -0.365881800652 +vn 0.681994259357 0.479156374931 0.552533268929 +vn 0.680287778378 0.480499923229 0.553469419479 +vn 0.673861861229 0.474872797728 0.566044211388 +vn -0.215249896049 0.259879410267 0.941344857216 +vn -0.206624403596 0.240915045142 0.948296546936 +vn -0.206624403596 0.240915045142 0.948296546936 +vn 0.685477375984 0.462024539709 0.562720298767 +vn 0.673861861229 0.474872797728 0.566044211388 +vn -0.215249896049 0.259879410267 0.941344857216 +vn -0.900530099869 -0.196758732200 0.387726187706 +vn -0.895451784134 -0.211260989308 0.391835272312 +vn -0.895451784134 -0.211260989308 0.391835272312 +vn -0.206624403596 0.240915045142 0.948296546936 +vn -0.215249896049 0.259879410267 0.941344857216 +vn -0.900530099869 -0.196758732200 0.387726187706 +vn -0.691453754902 -0.450606733561 -0.564663827419 +vn -0.692713320255 -0.448291033506 -0.564963161945 +vn -0.692713320255 -0.448291033506 -0.564963161945 +vn -0.895451784134 -0.211260989308 0.391835272312 +vn -0.900530099869 -0.196758732200 0.387726187706 +vn -0.691453754902 -0.450606733561 -0.564663827419 +vn 0.218465223908 -0.238150179386 -0.946338951588 +vn 0.203994378448 -0.226881235838 -0.952318847179 +vn 0.203994378448 -0.226881235838 -0.952318847179 +vn -0.692713320255 -0.448291033506 -0.564963161945 +vn -0.691453754902 -0.450606733561 -0.564663827419 +vn 0.218465223908 -0.238150179386 -0.946338951588 +vn 0.898511350155 0.228213340044 -0.374961405993 +vn 0.892602801323 0.230994895101 -0.387171238661 +vn 0.892602801323 0.230994895101 -0.387171238661 +vn 0.203994378448 -0.226881235838 -0.952318847179 +vn 0.218465223908 -0.238150179386 -0.946338951588 +vn 0.898511350155 0.228213340044 -0.374961405993 +vn 0.673861861229 0.474872797728 0.566044211388 +vn 0.685477375984 0.462024539709 0.562720298767 +vn 0.685477375984 0.462024539709 0.562720298767 +vn 0.892602801323 0.230994895101 -0.387171238661 +vn 0.898511350155 0.228213340044 -0.374961405993 +vn 0.682193696499 0.466817051172 0.562755405903 +vn -0.201308771968 0.240931555629 0.949434995651 +vn -0.206473186612 0.250022917986 0.945968985558 +vn -0.206473186612 0.250022917986 0.945968985558 +vn 0.672250747681 0.474375575781 0.568372070789 +vn 0.682193696499 0.466817051172 0.562755405903 +vn -0.201308771968 0.240931555629 0.949434995651 +vn -0.892966151237 -0.215754017234 0.395046353340 +vn -0.892609059811 -0.207406908274 0.400289177895 +vn -0.892609059811 -0.207406908274 0.400289177895 +vn -0.206473186612 0.250022917986 0.945968985558 +vn -0.201308771968 0.240931555629 0.949434995651 +vn -0.892966151237 -0.215754017234 0.395046353340 +vn -0.690826892853 -0.451026529074 -0.565095782280 +vn -0.697274863720 -0.451277852058 -0.556916594505 +vn -0.697274863720 -0.451277852058 -0.556916594505 +vn -0.892609059811 -0.207406908274 0.400289177895 +vn -0.892966151237 -0.215754017234 0.395046353340 +vn -0.690826892853 -0.451026529074 -0.565095782280 +vn 0.197611436248 -0.226847842336 -0.953671753407 +vn 0.194074183702 -0.230058833957 -0.953628957272 +vn 0.194074183702 -0.230058833957 -0.953628957272 +vn -0.697274863720 -0.451277852058 -0.556916594505 +vn -0.690826892853 -0.451026529074 -0.565095782280 +vn 0.197611436248 -0.226847842336 -0.953671753407 +vn 0.888792514801 0.234837070107 -0.393572568893 +vn 0.889703333378 0.238144084811 -0.389506608248 +vn 0.889703333378 0.238144084811 -0.389506608248 +vn 0.194074183702 -0.230058833957 -0.953628957272 +vn 0.197611436248 -0.226847842336 -0.953671753407 +vn 0.888792514801 0.234837070107 -0.393572568893 +vn 0.682193696499 0.466817051172 0.562755405903 +vn 0.672250747681 0.474375575781 0.568372070789 +vn 0.672250747681 0.474375575781 0.568372070789 +vn 0.889703333378 0.238144084811 -0.389506608248 +vn 0.888792514801 0.234837070107 -0.393572568893 +vn 0.665205776691 0.510107040405 0.545244932175 +vn -0.213284403086 0.286679387093 0.933983266354 +vn -0.226969450712 0.276726186275 0.933759868145 +vn -0.226969450712 0.276726186275 0.933759868145 +vn 0.658345997334 0.509523391724 0.554045557976 +vn 0.665205776691 0.510107040405 0.545244932175 +vn -0.213284403086 0.286679387093 0.933983266354 +vn -0.895926833153 -0.207023650408 0.393009245396 +vn -0.892012178898 -0.212036281824 0.399192839861 +vn -0.892012178898 -0.212036281824 0.399192839861 +vn -0.226969450712 0.276726186275 0.933759868145 +vn -0.213284403086 0.286679387093 0.933983266354 +vn -0.895926833153 -0.207023650408 0.393009245396 +vn -0.678995072842 -0.478009134531 -0.557201027870 +vn -0.682163417339 -0.476584762335 -0.554544925690 +vn -0.682163417339 -0.476584762335 -0.554544925690 +vn -0.892012178898 -0.212036281824 0.399192839861 +vn -0.895926833153 -0.207023650408 0.393009245396 +vn -0.678995072842 -0.478009134531 -0.557201027870 +vn 0.207553997636 -0.256860315800 -0.943898379803 +vn 0.213831633329 -0.244800299406 -0.945700168610 +vn 0.213831633329 -0.244800299406 -0.945700168610 +vn -0.682163417339 -0.476584762335 -0.554544925690 +vn -0.678995072842 -0.478009134531 -0.557201027870 +vn 0.207553997636 -0.256860315800 -0.943898379803 +vn 0.884813129902 0.235721811652 -0.401921570301 +vn 0.887191772461 0.243261545897 -0.392064481974 +vn 0.887191772461 0.243261545897 -0.392064481974 +vn 0.213831633329 -0.244800299406 -0.945700168610 +vn 0.207553997636 -0.256860315800 -0.943898379803 +vn 0.884813129902 0.235721811652 -0.401921570301 +vn 0.665205776691 0.510107040405 0.545244932175 +vn 0.658345997334 0.509523391724 0.554045557976 +vn 0.658345997334 0.509523391724 0.554045557976 +vn 0.887191772461 0.243261545897 -0.392064481974 +vn 0.884813129902 0.235721811652 -0.401921570301 +vn 0.670803904533 0.475809752941 0.568882465363 +vn -0.211771011353 0.234253704548 0.948829948902 +vn -0.272610336542 0.367797374725 0.889049291611 +vn -0.272610336542 0.367797374725 0.889049291611 +vn 0.543161213398 0.695157170296 0.470884680748 +vn 0.670803904533 0.475809752941 0.568882465363 +vn -0.211771011353 0.234253704548 0.948829948902 +vn -0.885972619057 -0.237013354897 0.398594051600 +vn -0.960054516792 0.049479231238 0.275403499603 +vn -0.960054516792 0.049479231238 0.275403499603 +vn -0.272610336542 0.367797374725 0.889049291611 +vn -0.211771011353 0.234253704548 0.948829948902 +vn -0.885972619057 -0.237013354897 0.398594051600 +vn -0.680139005184 -0.469099432230 -0.563344180584 +vn -0.770698904991 -0.121819429100 -0.625446438789 +vn -0.770698904991 -0.121819429100 -0.625446438789 +vn -0.960054516792 0.049479231238 0.275403499603 +vn -0.885972619057 -0.237013354897 0.398594051600 +vn -0.680139005184 -0.469099432230 -0.563344180584 +vn 0.217604622245 -0.205104112625 -0.954243421555 +vn 0.055108718574 0.101982802153 -0.993258535862 +vn 0.055108718574 0.101982802153 -0.993258535862 +vn -0.770698904991 -0.121819429100 -0.625446438789 +vn -0.680139005184 -0.469099432230 -0.563344180584 +vn 0.217604622245 -0.205104112625 -0.954243421555 +vn 0.886675596237 0.257487684488 -0.384065717459 +vn 0.722058236599 0.512534260750 -0.464693993330 +vn 0.722058236599 0.512534260750 -0.464693993330 +vn 0.055108718574 0.101982802153 -0.993258535862 +vn 0.217604622245 -0.205104112625 -0.954243421555 +vn 0.886675596237 0.257487684488 -0.384065717459 +vn 0.670803904533 0.475809752941 0.568882465363 +vn 0.543161213398 0.695157170296 0.470884680748 +vn 0.543161213398 0.695157170296 0.470884680748 +vn 0.722058236599 0.512534260750 -0.464693993330 +vn 0.886675596237 0.257487684488 -0.384065717459 +vn 0.700519919395 0.417314112186 0.578896164894 +vn -0.168904587626 0.153192564845 0.973654627800 +vn -0.056536089629 -0.104562290013 0.992910087109 +vn -0.056536089629 -0.104562290013 0.992910087109 +vn 0.764939725399 0.154692605138 0.625249862671 +vn 0.700519919395 0.417314112186 0.578896164894 +vn -0.168904587626 0.153192564845 0.973654627800 +vn -0.857704401016 -0.305203676224 0.413755863905 +vn -0.720583796501 -0.519040763378 0.459734320641 +vn -0.720583796501 -0.519040763378 0.459734320641 +vn -0.056536089629 -0.104562290013 0.992910087109 +vn -0.168904587626 0.153192564845 0.973654627800 +vn -0.857704401016 -0.305203676224 0.413755863905 +vn -0.669463574886 -0.488497883081 -0.559632301331 +vn -0.532744526863 -0.732410252094 -0.423979341984 +vn -0.532744526863 -0.732410252094 -0.423979341984 +vn -0.720583796501 -0.519040763378 0.459734320641 +vn -0.857704401016 -0.305203676224 0.413755863905 +vn -0.669463574886 -0.488497883081 -0.559632301331 +vn 0.219654008746 -0.233781188726 -0.947152853012 +vn 0.325455516577 -0.477934837341 -0.815878033638 +vn 0.325455516577 -0.477934837341 -0.815878033638 +vn -0.532744526863 -0.732410252094 -0.423979341984 +vn -0.669463574886 -0.488497883081 -0.559632301331 +vn 0.219654008746 -0.233781188726 -0.947152853012 +vn 0.905991435051 0.192221090198 -0.377134740353 +vn 0.955836892128 -0.063799977303 -0.286889135838 +vn 0.955836892128 -0.063799977303 -0.286889135838 +vn 0.325455516577 -0.477934837341 -0.815878033638 +vn 0.219654008746 -0.233781188726 -0.947152853012 +vn 0.905991435051 0.192221090198 -0.377134740353 +vn 0.700519919395 0.417314112186 0.578896164894 +vn 0.764939725399 0.154692605138 0.625249862671 +vn 0.764939725399 0.154692605138 0.625249862671 +vn 0.955836892128 -0.063799977303 -0.286889135838 +vn 0.905991435051 0.192221090198 -0.377134740353 +vn 0.674613356590 0.471521556377 -0.567947328091 +vn 0.745901107788 0.408829033375 -0.525823473930 +vn 0.800493359566 0.529156804085 0.281431138515 +vn 0.800493359566 0.529156804085 0.281431138515 +vn 0.803459405899 0.538893818855 0.253074049950 +vn 0.674613356590 0.471521556377 -0.567947328091 +vn 0.800493359566 0.529156804085 0.281431138515 +vn 0.745901107788 0.408829033375 -0.525823473930 +vn 0.779463052750 0.515830814838 -0.355465710163 +vn 0.779463052750 0.515830814838 -0.355465710163 +vn 0.696129977703 0.598392426968 0.396647810936 +vn 0.800493359566 0.529156804085 0.281431138515 +vn 0.463969379663 0.813530683517 -0.350571364164 +vn 0.674613356590 0.471521556377 -0.567947328091 +vn 0.803459405899 0.538893818855 0.253074049950 +vn 0.803459405899 0.538893818855 0.253074049950 +vn 0.686181128025 0.609030485153 0.397790521383 +vn 0.463969379663 0.813530683517 -0.350571364164 +vn -0.118776917458 0.966788709164 -0.226299867034 +vn 0.463969379663 0.813530683517 -0.350571364164 +vn 0.686181128025 0.609030485153 0.397790521383 +vn 0.686181128025 0.609030485153 0.397790521383 +vn 0.229584172368 0.852379977703 0.469829171896 +vn -0.118776917458 0.966788709164 -0.226299867034 +vn 0.696129977703 0.598392426968 0.396647810936 +vn 0.779463052750 0.515830814838 -0.355465710163 +vn -0.188115775585 0.482156515121 -0.855650365353 +vn -0.188115775585 0.482156515121 -0.855650365353 +vn 0.260936617851 0.964896023273 -0.029794689268 +vn 0.696129977703 0.598392426968 0.396647810936 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.495753198862 0.131482884288 0.858452677727 +vn 0.229584172368 0.852379977703 0.469829171896 +vn 0.229584172368 0.852379977703 0.469829171896 +vn 0.686181128025 0.609030485153 0.397790521383 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.825260698795 -0.564096808434 -0.027195354924 +vn 0.518000125885 -0.625398337841 0.583568990231 +vn 0.495753198862 0.131482884288 0.858452677727 +vn 0.495753198862 0.131482884288 0.858452677727 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.825260698795 -0.564096808434 -0.027195354924 +vn 0.874474585056 -0.312890410423 -0.370666712523 +vn 0.825260698795 -0.564096808434 -0.027195354924 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.936452150345 0.213357940316 0.278452545404 +vn 0.874474585056 -0.312890410423 -0.370666712523 +vn 0.802102267742 -0.378115504980 -0.462234377861 +vn 0.874474585056 -0.312890410423 -0.370666712523 +vn 0.936452150345 0.213357940316 0.278452545404 +vn 0.936452150345 0.213357940316 0.278452545404 +vn 0.949053943157 0.121953181922 0.290558248758 +vn 0.802102267742 -0.378115504980 -0.462234377861 +vn 0.985347628593 -0.062460951507 0.158709406853 +vn 0.802102267742 -0.378115504980 -0.462234377861 +vn 0.949053943157 0.121953181922 0.290558248758 +vn 0.289707869291 -0.616199791431 -0.732370913029 +vn 0.874474585056 -0.312890410423 -0.370666712523 +vn 0.802102267742 -0.378115504980 -0.462234377861 +vn 0.802102267742 -0.378115504980 -0.462234377861 +vn -0.038995340466 -0.702562272549 -0.710553050041 +vn 0.289707869291 -0.616199791431 -0.732370913029 +vn 0.043186146766 -0.834612667561 -0.549141705036 +vn 0.150375440717 -0.956338346004 0.250607728958 +vn 0.518000125885 -0.625398337841 0.583568990231 +vn 0.518000125885 -0.625398337841 0.583568990231 +vn 0.825260698795 -0.564096808434 -0.027195354924 +vn 0.043186146766 -0.834612667561 -0.549141705036 +vn 0.825260698795 -0.564096808434 -0.027195354924 +vn 0.874474585056 -0.312890410423 -0.370666712523 +vn 0.289707869291 -0.616199791431 -0.732370913029 +vn 0.289707869291 -0.616199791431 -0.732370913029 +vn 0.043186146766 -0.834612667561 -0.549141705036 +vn 0.825260698795 -0.564096808434 -0.027195354924 +vn 0.150375440717 -0.956338346004 0.250607728958 +vn 0.043186146766 -0.834612667561 -0.549141705036 +vn -0.612864077091 -0.559671700001 -0.557821869850 +vn -0.612864077091 -0.559671700001 -0.557821869850 +vn -0.566509664059 -0.823908209801 -0.015559613705 +vn 0.150375440717 -0.956338346004 0.250607728958 +vn 0.043186146766 -0.834612667561 -0.549141705036 +vn 0.289707869291 -0.616199791431 -0.732370913029 +vn -0.417442232370 -0.590895056725 -0.690351366997 +vn -0.417442232370 -0.590895056725 -0.690351366997 +vn -0.612864077091 -0.559671700001 -0.557821869850 +vn 0.043186146766 -0.834612667561 -0.549141705036 +vn -0.417442232370 -0.590895056725 -0.690351366997 +vn 0.289707869291 -0.616199791431 -0.732370913029 +vn -0.038995340466 -0.702562272549 -0.710553050041 +vn -0.038995340466 -0.702562272549 -0.710553050041 +vn -0.621027767658 -0.595708489418 -0.509368121624 +vn -0.417442232370 -0.590895056725 -0.690351366997 +vn 0.802102267742 -0.378115504980 -0.462234377861 +vn 0.985347628593 -0.062460951507 0.158709406853 +vn 0.335055351257 -0.725507557392 -0.601146161556 +vn 0.335055351257 -0.725507557392 -0.601146161556 +vn -0.038995340466 -0.702562272549 -0.710553050041 +vn 0.802102267742 -0.378115504980 -0.462234377861 +vn -0.621027767658 -0.595708489418 -0.509368121624 +vn -0.038995340466 -0.702562272549 -0.710553050041 +vn 0.335055351257 -0.725507557392 -0.601146161556 +vn 0.335055351257 -0.725507557392 -0.601146161556 +vn -0.723464310169 -0.577978670597 -0.377544850111 +vn -0.621027767658 -0.595708489418 -0.509368121624 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.936452150345 0.213357940316 0.278452545404 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.658253967762 0.476895362139 0.582471072674 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.658253967762 0.476895362139 0.582471072674 +vn 0.839455544949 0.190680772066 0.508876383305 +vn 0.686181128025 0.609030485153 0.397790521383 +vn 0.686181128025 0.609030485153 0.397790521383 +vn 0.803459405899 0.538893818855 0.253074049950 +vn 0.658253967762 0.476895362139 0.582471072674 +vn 0.803459405899 0.538893818855 0.253074049950 +vn 0.800493359566 0.529156804085 0.281431138515 +vn 0.658253967762 0.476895362139 0.582471072674 +vn 0.598153293133 0.517687678337 0.611728787422 +vn 0.658253967762 0.476895362139 0.582471072674 +vn 0.800493359566 0.529156804085 0.281431138515 +vn 0.800493359566 0.529156804085 0.281431138515 +vn 0.696129977703 0.598392426968 0.396647810936 +vn 0.598153293133 0.517687678337 0.611728787422 +vn 0.598666012287 0.478592902422 0.642298877239 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.658253967762 0.476895362139 0.582471072674 +vn 0.658253967762 0.476895362139 0.582471072674 +vn 0.598153293133 0.517687678337 0.611728787422 +vn 0.598666012287 0.478592902422 0.642298877239 +vn 0.936452150345 0.213357940316 0.278452545404 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.626911520958 0.404290556908 0.665981292725 +vn 0.626911520958 0.404290556908 0.665981292725 +vn 0.949053943157 0.121953181922 0.290558248758 +vn 0.936452150345 0.213357940316 0.278452545404 +vn 0.626911520958 0.404290556908 0.665981292725 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.596132755280 0.419728368521 0.684436857700 +vn 0.949053943157 0.121953181922 0.290558248758 +vn 0.626911520958 0.404290556908 0.665981292725 +vn 0.616893053055 0.346695452929 0.706572890282 +vn 0.616893053055 0.346695452929 0.706572890282 +vn 0.985347628593 -0.062460951507 0.158709406853 +vn 0.949053943157 0.121953181922 0.290558248758 +vn 0.596132755280 0.419728368521 0.684436857700 +vn 0.605078577995 0.364442020655 0.707857310772 +vn 0.626911520958 0.404290556908 0.665981292725 +vn 0.603666186333 0.348124086857 0.717214584351 +vn 0.616893053055 0.346695452929 0.706572890282 +vn 0.626911520958 0.404290556908 0.665981292725 +vn 0.605078577995 0.364442020655 0.707857310772 +vn 0.603666186333 0.348124086857 0.717214584351 +vn 0.626911520958 0.404290556908 0.665981292725 +vn 0.581736147404 0.413781523705 0.700262784958 +vn 0.582295238972 0.388309806585 0.714246273041 +vn 0.605078577995 0.364442020655 0.707857310772 +vn 0.605078577995 0.364442020655 0.707857310772 +vn 0.596132755280 0.419728368521 0.684436857700 +vn 0.581736147404 0.413781523705 0.700262784958 +vn 0.596132755280 0.419728368521 0.684436857700 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.573984384537 0.438848376274 0.691342175007 +vn 0.573984384537 0.438848376274 0.691342175007 +vn 0.581736147404 0.413781523705 0.700262784958 +vn 0.596132755280 0.419728368521 0.684436857700 +vn 0.566616058350 0.477363884449 0.671617388725 +vn 0.573984384537 0.438848376274 0.691342175007 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.622975468636 0.450315475464 0.639622926712 +vn 0.598666012287 0.478592902422 0.642298877239 +vn 0.566616058350 0.477363884449 0.671617388725 +vn 0.598666012287 0.478592902422 0.642298877239 +vn 0.598153293133 0.517687678337 0.611728787422 +vn 0.558988094330 0.524203598499 0.642450690269 +vn 0.554501175880 0.500465869904 0.664877712727 +vn 0.566616058350 0.477363884449 0.671617388725 +vn 0.598666012287 0.478592902422 0.642298877239 +vn 0.598666012287 0.478592902422 0.642298877239 +vn 0.558988094330 0.524203598499 0.642450690269 +vn 0.554501175880 0.500465869904 0.664877712727 +vn 0.541685938835 0.558042049408 0.628621816635 +vn 0.558988094330 0.524203598499 0.642450690269 +vn 0.553849399090 0.540512084961 0.633322656155 +vn 0.553849399090 0.540512084961 0.633322656155 +vn 0.660991668701 0.493317723274 0.565444648266 +vn 0.541685938835 0.558042049408 0.628621816635 +vn 0.491780072451 0.556345999241 0.669799625874 +vn 0.553849399090 0.540512084961 0.633322656155 +vn 0.383700132370 0.539854407310 0.749220550060 +vn 0.383700132370 0.539854407310 0.749220550060 +vn 0.370886951685 0.612930238247 0.697681427002 +vn 0.491780072451 0.556345999241 0.669799625874 +vn 0.598153293133 0.517687678337 0.611728787422 +vn 0.696129977703 0.598392426968 0.396647810936 +vn 0.383700132370 0.539854407310 0.749220550060 +vn -0.067740865052 0.924975275993 0.373941093683 +vn 0.004882045556 0.808167695999 0.588932156563 +vn 0.696129977703 0.598392426968 0.396647810936 +vn 0.696129977703 0.598392426968 0.396647810936 +vn 0.260936617851 0.964896023273 -0.029794689268 +vn -0.067740865052 0.924975275993 0.373941093683 +vn 0.383700132370 0.539854407310 0.749220550060 +vn -0.062585294247 0.512094378471 0.856646001339 +vn -0.934351325035 0.180582076311 0.307209491730 +vn -0.934351325035 0.180582076311 0.307209491730 +vn -0.923839390278 -0.340887963772 -0.174115538597 +vn 0.383700132370 0.539854407310 0.749220550060 +vn 0.227120384574 0.774927020073 -0.589834272861 +vn 0.229398831725 0.792460381985 -0.565139591694 +vn 0.225670069456 0.764190435410 -0.604223489761 +vn 0.225670069456 0.764190435410 -0.604223489761 +vn 0.221627816558 0.735603809357 -0.640131354332 +vn 0.227120384574 0.774927020073 -0.589834272861 +vn -0.416140437126 0.849503874779 -0.324299782515 +vn 0.199336946011 0.966365575790 -0.162488013506 +vn -0.063228040934 0.967862427235 -0.243401989341 +vn -0.063228040934 0.967862427235 -0.243401989341 +vn -0.526178479195 0.778710901737 -0.341680556536 +vn -0.416140437126 0.849503874779 -0.324299782515 +vn -0.037351265550 -0.659526169300 0.750753045082 +vn -0.005032873247 -0.546992003918 0.837122738361 +vn -0.018200494349 -0.594198882580 0.804112195969 +vn -0.018200494349 -0.594198882580 0.804112195969 +vn -0.058633551002 -0.727339625359 0.683768332005 +vn -0.037351265550 -0.659526169300 0.750753045082 +vn -0.597158789635 -0.182681038976 0.781043529510 +vn -0.709266424179 0.149740710855 0.688853323460 +vn -0.714168488979 0.133881628513 0.687050998211 +vn -0.714168488979 0.133881628513 0.687050998211 +vn -0.601092875004 -0.198408842087 0.774158477783 +vn -0.597158789635 -0.182681038976 0.781043529510 +vn -0.310718089342 0.886000812054 -0.344175636768 +vn -0.286670923233 0.777926385403 -0.559151470661 +vn -0.306549847126 0.864508807659 -0.398311138153 +vn -0.306549847126 0.864508807659 -0.398311138153 +vn -0.316740483046 0.940792977810 -0.120764441788 +vn -0.310718089342 0.886000812054 -0.344175636768 +vn -0.758818030357 0.390478551388 0.521269321442 +vn -0.766251981258 0.386263102293 0.513477087021 +vn -0.688824176788 0.425401031971 0.586988270283 +vn -0.688824176788 0.425401031971 0.586988270283 +vn -0.679944336414 0.429292380810 0.594460844994 +vn -0.758818030357 0.390478551388 0.521269321442 +vn -0.714168488979 0.133881628513 0.687050998211 +vn -0.709266424179 0.149740710855 0.688853323460 +vn -0.755035281181 0.451850354671 0.475134670734 +vn -0.755035281181 0.451850354671 0.475134670734 +vn -0.755384206772 0.451619952917 0.474799036980 +vn -0.714168488979 0.133881628513 0.687050998211 +vn 0.004882045556 0.808167695999 0.588932156563 +vn 0.383700132370 0.539854407310 0.749220550060 +vn 0.696129977703 0.598392426968 0.396647810936 +vn -0.062585294247 0.512094378471 0.856646001339 +vn 0.383700132370 0.539854407310 0.749220550060 +vn 0.004882045556 0.808167695999 0.588932156563 +vn -0.062585294247 0.512094378471 0.856646001339 +vn 0.004882045556 0.808167695999 0.588932156563 +vn -0.944160640240 0.323921054602 -0.060297612101 +vn -0.944160640240 0.323921054602 -0.060297612101 +vn -0.934351325035 0.180582076311 0.307209491730 +vn -0.062585294247 0.512094378471 0.856646001339 +vn -0.067740865052 0.924975275993 0.373941093683 +vn -0.886515855789 0.312364012003 -0.341347783804 +vn -0.944160640240 0.323921054602 -0.060297612101 +vn -0.944160640240 0.323921054602 -0.060297612101 +vn 0.004882045556 0.808167695999 0.588932156563 +vn -0.067740865052 0.924975275993 0.373941093683 +vn -0.886515855789 0.312364012003 -0.341347783804 +vn -0.067740865052 0.924975275993 0.373941093683 +vn 0.260936617851 0.964896023273 -0.029794689268 +vn 0.260936617851 0.964896023273 -0.029794689268 +vn -0.188115775585 0.482156515121 -0.855650365353 +vn -0.886515855789 0.312364012003 -0.341347783804 +vn -0.207069844007 -0.739300668240 0.640746891499 +vn -0.082042597234 -0.496342778206 0.864241182804 +vn -0.082584783435 -0.501806735992 0.861028313637 +vn -0.082584783435 -0.501806735992 0.861028313637 +vn -0.218742683530 -0.747778773308 0.626880049706 +vn -0.207069844007 -0.739300668240 0.640746891499 +vn -0.082042597234 -0.496342778206 0.864241182804 +vn -0.336433708668 -0.580547392368 0.741469502449 +vn -0.329182595015 -0.575041651726 0.748976588249 +vn -0.329182595015 -0.575041651726 0.748976588249 +vn -0.082584783435 -0.501806735992 0.861028313637 +vn -0.082042597234 -0.496342778206 0.864241182804 +vn -0.723464310169 -0.577978670597 -0.377544850111 +vn -0.792546272278 -0.441156685352 -0.421012073755 +vn -0.744350910187 -0.521077871323 -0.417635709047 +vn -0.744350910187 -0.521077871323 -0.417635709047 +vn -0.621027767658 -0.595708489418 -0.509368121624 +vn -0.723464310169 -0.577978670597 -0.377544850111 +vn -0.290420413017 -0.288244158030 0.912453472614 +vn -0.292118996382 -0.289201915264 0.911607801914 +vn -0.343499422073 -0.192366912961 0.919240534306 +vn -0.343499422073 -0.192366912961 0.919240534306 +vn -0.331636220217 -0.201299607754 0.921680986881 +vn -0.290420413017 -0.288244158030 0.912453472614 +vn -0.343499422073 -0.192366912961 0.919240534306 +vn -0.530348896980 -0.108248136938 0.840840280056 +vn -0.531560599804 -0.106481343508 0.840300559998 +vn -0.531560599804 -0.106481343508 0.840300559998 +vn -0.331636220217 -0.201299607754 0.921680986881 +vn -0.343499422073 -0.192366912961 0.919240534306 +vn -0.711355686188 0.047995567322 0.701191484928 +vn -0.715247035027 0.057760063559 0.696480751038 +vn -0.531560599804 -0.106481343508 0.840300559998 +vn -0.531560599804 -0.106481343508 0.840300559998 +vn -0.530348896980 -0.108248136938 0.840840280056 +vn -0.711355686188 0.047995567322 0.701191484928 +vn -0.678254187107 0.233527660370 0.696732461452 +vn -0.676289498806 0.234662115574 0.698259413242 +vn -0.715247035027 0.057760063559 0.696480751038 +vn -0.715247035027 0.057760063559 0.696480751038 +vn -0.711355686188 0.047995567322 0.701191484928 +vn -0.678254187107 0.233527660370 0.696732461452 +vn -0.807819128036 -0.426007598639 -0.407364487648 +vn -0.787681639194 -0.419256091118 -0.451422154903 +vn -0.751621365547 -0.450838387012 -0.481466561556 +vn -0.751621365547 -0.450838387012 -0.481466561556 +vn -0.771373629570 -0.445649206638 -0.454290151596 +vn -0.807819128036 -0.426007598639 -0.407364487648 +vn -0.807143092155 -0.382068574429 -0.450048476458 +vn -0.822031438351 -0.366936504841 -0.435455977917 +vn -0.799885809422 -0.375754773617 -0.467964798212 +vn -0.799885809422 -0.375754773617 -0.467964798212 +vn -0.787681639194 -0.419256091118 -0.451422154903 +vn -0.807143092155 -0.382068574429 -0.450048476458 +vn -0.813188791275 -0.351887822151 -0.463571965694 +vn -0.833994865417 -0.328578948975 -0.443270176649 +vn -0.923839390278 -0.340887963772 -0.174115538597 +vn -0.923839390278 -0.340887963772 -0.174115538597 +vn -0.799885809422 -0.375754773617 -0.467964798212 +vn -0.813188791275 -0.351887822151 -0.463571965694 +vn -0.934351325035 0.180582076311 0.307209491730 +vn -0.944160640240 0.323921054602 -0.060297612101 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.923839390278 -0.340887963772 -0.174115538597 +vn -0.934351325035 0.180582076311 0.307209491730 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.944160640240 0.323921054602 -0.060297612101 +vn -0.886515855789 0.312364012003 -0.341347783804 +vn -0.886515855789 0.312364012003 -0.341347783804 +vn -0.689756512642 -0.386467009783 -0.612273812294 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.116164192557 -0.129425451159 -0.984761357307 +vn -0.689756512642 -0.386467009783 -0.612273812294 +vn -0.886515855789 0.312364012003 -0.341347783804 +vn -0.886515855789 0.312364012003 -0.341347783804 +vn -0.188115775585 0.482156515121 -0.855650365353 +vn -0.116164192557 -0.129425451159 -0.984761357307 +vn -0.159677147865 -0.149930417538 -0.975717186928 +vn -0.690721869469 -0.425349652767 -0.584791421890 +vn -0.116164192557 -0.129425451159 -0.984761357307 +vn -0.159677147865 -0.149930417538 -0.975717186928 +vn -0.116164192557 -0.129425451159 -0.984761357307 +vn 0.779463052750 0.515830814838 -0.355465710163 +vn 0.779463052750 0.515830814838 -0.355465710163 +vn 0.745901107788 0.408829033375 -0.525823473930 +vn -0.159677147865 -0.149930417538 -0.975717186928 +vn -0.116164192557 -0.129425451159 -0.984761357307 +vn -0.188115775585 0.482156515121 -0.855650365353 +vn 0.779463052750 0.515830814838 -0.355465710163 +vn -0.254311680794 -0.167461365461 -0.952513635159 +vn -0.159677147865 -0.149930417538 -0.975717186928 +vn 0.745901107788 0.408829033375 -0.525823473930 +vn 0.745901107788 0.408829033375 -0.525823473930 +vn 0.674613356590 0.471521556377 -0.567947328091 +vn -0.254311680794 -0.167461365461 -0.952513635159 +vn -0.159677147865 -0.149930417538 -0.975717186928 +vn -0.254311680794 -0.167461365461 -0.952513635159 +vn -0.674324989319 -0.420667380095 -0.606897652149 +vn -0.674324989319 -0.420667380095 -0.606897652149 +vn -0.690721869469 -0.425349652767 -0.584791421890 +vn -0.159677147865 -0.149930417538 -0.975717186928 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.755526661873 -0.421179801226 -0.501783847809 +vn -0.755526661873 -0.421179801226 -0.501783847809 +vn -0.923839390278 -0.340887963772 -0.174115538597 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.799885809422 -0.375754773617 -0.467964798212 +vn -0.923839390278 -0.340887963772 -0.174115538597 +vn -0.755526661873 -0.421179801226 -0.501783847809 +vn -0.787681639194 -0.419256091118 -0.451422154903 +vn -0.799885809422 -0.375754773617 -0.467964798212 +vn -0.755526661873 -0.421179801226 -0.501783847809 +vn -0.755526661873 -0.421179801226 -0.501783847809 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.751621365547 -0.450838387012 -0.481466561556 +vn -0.751621365547 -0.450838387012 -0.481466561556 +vn -0.787681639194 -0.419256091118 -0.451422154903 +vn -0.755526661873 -0.421179801226 -0.501783847809 +vn -0.740067958832 -0.484423100948 -0.466512233019 +vn -0.763828694820 -0.489515036345 -0.420643240213 +vn -0.771373629570 -0.445649206638 -0.454290151596 +vn -0.771373629570 -0.445649206638 -0.454290151596 +vn -0.751621365547 -0.450838387012 -0.481466561556 +vn -0.740067958832 -0.484423100948 -0.466512233019 +vn -0.726788640022 -0.502398431301 -0.468373894691 +vn -0.730110049248 -0.523954749107 -0.438646525145 +vn -0.763828694820 -0.489515036345 -0.420643240213 +vn -0.763828694820 -0.489515036345 -0.420643240213 +vn -0.740067958832 -0.484423100948 -0.466512233019 +vn -0.726788640022 -0.502398431301 -0.468373894691 +vn -0.730110049248 -0.523954749107 -0.438646525145 +vn -0.726788640022 -0.502398431301 -0.468373894691 +vn -0.818468391895 -0.371596157551 -0.438207447529 +vn -0.818468391895 -0.371596157551 -0.438207447529 +vn -0.667977154255 -0.468124926090 -0.578502893448 +vn -0.730110049248 -0.523954749107 -0.438646525145 +vn 0.631962656975 -0.748235523701 0.201907843351 +vn 0.605304896832 -0.786918938160 0.119852282107 +vn 0.620291948318 -0.767025291920 0.164042875171 +vn 0.620291948318 -0.767025291920 0.164042875171 +vn 0.644578337669 -0.723311424255 0.247667729855 +vn 0.631962656975 -0.748235523701 0.201907843351 +vn -0.663433015347 0.574735462666 0.479098916054 +vn -0.576117694378 0.644429028034 0.502791821957 +vn -0.603480875492 0.624114632607 0.496277928352 +vn -0.603480875492 0.624114632607 0.496277928352 +vn -0.706421017647 0.534547507763 0.463927060366 +vn -0.663433015347 0.574735462666 0.479098916054 +vn -0.818468391895 -0.371596157551 -0.438207447529 +vn -0.744350910187 -0.521077871323 -0.417635709047 +vn -0.792546272278 -0.441156685352 -0.421012073755 +vn -0.818468391895 -0.371596157551 -0.438207447529 +vn -0.726788640022 -0.502398431301 -0.468373894691 +vn -0.744350910187 -0.521077871323 -0.417635709047 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.690469682217 -0.475103706121 -0.545461297035 +vn -0.740067958832 -0.484423100948 -0.466512233019 +vn -0.740067958832 -0.484423100948 -0.466512233019 +vn -0.751621365547 -0.450838387012 -0.481466561556 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.690469682217 -0.475103706121 -0.545461297035 +vn -0.726788640022 -0.502398431301 -0.468373894691 +vn -0.740067958832 -0.484423100948 -0.466512233019 +vn -0.621027767658 -0.595708489418 -0.509368121624 +vn -0.744350910187 -0.521077871323 -0.417635709047 +vn -0.726788640022 -0.502398431301 -0.468373894691 +vn -0.726788640022 -0.502398431301 -0.468373894691 +vn -0.690469682217 -0.475103706121 -0.545461297035 +vn -0.621027767658 -0.595708489418 -0.509368121624 +vn -0.417442232370 -0.590895056725 -0.690351366997 +vn -0.621027767658 -0.595708489418 -0.509368121624 +vn -0.690469682217 -0.475103706121 -0.545461297035 +vn -0.612864077091 -0.559671700001 -0.557821869850 +vn -0.417442232370 -0.590895056725 -0.690351366997 +vn -0.690469682217 -0.475103706121 -0.545461297035 +vn -0.373882293701 0.310287743807 -0.874032914639 +vn -0.254311680794 -0.167461365461 -0.952513635159 +vn 0.674613356590 0.471521556377 -0.567947328091 +vn 0.674613356590 0.471521556377 -0.567947328091 +vn 0.463969379663 0.813530683517 -0.350571364164 +vn -0.373882293701 0.310287743807 -0.874032914639 +vn -0.626620769501 -0.425015181303 -0.653229296207 +vn -0.254311680794 -0.167461365461 -0.952513635159 +vn -0.373882293701 0.310287743807 -0.874032914639 +vn -0.373882293701 0.310287743807 -0.874032914639 +vn -0.713246285915 -0.308358550072 -0.629440069199 +vn -0.626620769501 -0.425015181303 -0.653229296207 +vn -0.626620769501 -0.425015181303 -0.653229296207 +vn -0.674324989319 -0.420667380095 -0.606897652149 +vn -0.254311680794 -0.167461365461 -0.952513635159 +vn -0.612864077091 -0.559671700001 -0.557821869850 +vn -0.690469682217 -0.475103706121 -0.545461297035 +vn -0.626620769501 -0.425015181303 -0.653229296207 +vn -0.626620769501 -0.425015181303 -0.653229296207 +vn -0.713246285915 -0.308358550072 -0.629440069199 +vn -0.612864077091 -0.559671700001 -0.557821869850 +vn 0.463969379663 0.813530683517 -0.350571364164 +vn -0.118776917458 0.966788709164 -0.226299867034 +vn -0.422723919153 0.738064825535 -0.525894224644 +vn -0.422723919153 0.738064825535 -0.525894224644 +vn -0.373882293701 0.310287743807 -0.874032914639 +vn 0.463969379663 0.813530683517 -0.350571364164 +vn -0.373882293701 0.310287743807 -0.874032914639 +vn -0.422723919153 0.738064825535 -0.525894224644 +vn -0.938056409359 0.055331554264 -0.342035889626 +vn -0.938056409359 0.055331554264 -0.342035889626 +vn -0.713246285915 -0.308358550072 -0.629440069199 +vn -0.373882293701 0.310287743807 -0.874032914639 +vn -0.713246285915 -0.308358550072 -0.629440069199 +vn -0.938056409359 0.055331554264 -0.342035889626 +vn -0.566509664059 -0.823908209801 -0.015559613705 +vn -0.566509664059 -0.823908209801 -0.015559613705 +vn -0.612864077091 -0.559671700001 -0.557821869850 +vn -0.713246285915 -0.308358550072 -0.629440069199 +vn 0.256251752377 0.170163363218 0.951514303684 +vn 0.041993357241 0.797598063946 0.601725757122 +vn 0.229584172368 0.852379977703 0.469829171896 +vn 0.229584172368 0.852379977703 0.469829171896 +vn 0.495753198862 0.131482884288 0.858452677727 +vn 0.256251752377 0.170163363218 0.951514303684 +vn 0.041993357241 0.797598063946 0.601725757122 +vn 0.256251752377 0.170163363218 0.951514303684 +vn 0.603593230247 0.192291274667 0.773756623268 +vn 0.603593230247 0.192291274667 0.773756623268 +vn 0.426158398390 0.826792299747 0.367155998945 +vn 0.041993357241 0.797598063946 0.601725757122 +vn 0.426158398390 0.826792299747 0.367155998945 +vn 0.603593230247 0.192291274667 0.773756623268 +vn 0.922598123550 0.068173386157 0.379690796137 +vn 0.922598123550 0.068173386157 0.379690796137 +vn 0.645867347717 0.759562194347 -0.076946094632 +vn 0.426158398390 0.826792299747 0.367155998945 +vn 0.417796224356 -0.550401687622 0.722844600677 +vn 0.256251752377 0.170163363218 0.951514303684 +vn 0.495753198862 0.131482884288 0.858452677727 +vn 0.495753198862 0.131482884288 0.858452677727 +vn 0.518000125885 -0.625398337841 0.583568990231 +vn 0.417796224356 -0.550401687622 0.722844600677 +vn 0.256251752377 0.170163363218 0.951514303684 +vn 0.417796224356 -0.550401687622 0.722844600677 +vn 0.553593516350 -0.527526497841 0.644398927689 +vn 0.553593516350 -0.527526497841 0.644398927689 +vn 0.603593230247 0.192291274667 0.773756623268 +vn 0.256251752377 0.170163363218 0.951514303684 +vn 0.603593230247 0.192291274667 0.773756623268 +vn 0.553593516350 -0.527526497841 0.644398927689 +vn 0.671063661575 -0.589654684067 0.449422925711 +vn 0.671063661575 -0.589654684067 0.449422925711 +vn 0.922598123550 0.068173386157 0.379690796137 +vn 0.603593230247 0.192291274667 0.773756623268 +vn 0.229584172368 0.852379977703 0.469829171896 +vn 0.041993357241 0.797598063946 0.601725757122 +vn -0.161380723119 0.978026390076 -0.131987363100 +vn -0.161380723119 0.978026390076 -0.131987363100 +vn -0.118776917458 0.966788709164 -0.226299867034 +vn 0.229584172368 0.852379977703 0.469829171896 +vn -0.054437931627 0.979436457157 -0.194269850850 +vn -0.161380723119 0.978026390076 -0.131987363100 +vn 0.041993357241 0.797598063946 0.601725757122 +vn 0.041993357241 0.797598063946 0.601725757122 +vn 0.426158398390 0.826792299747 0.367155998945 +vn -0.054437931627 0.979436457157 -0.194269850850 +vn 0.426158398390 0.826792299747 0.367155998945 +vn 0.645867347717 0.759562194347 -0.076946094632 +vn -0.033968716860 0.937177479267 -0.347195148468 +vn -0.033968716860 0.937177479267 -0.347195148468 +vn -0.054437931627 0.979436457157 -0.194269850850 +vn 0.426158398390 0.826792299747 0.367155998945 +vn 0.684990108013 0.674838602543 -0.274556785822 +vn 0.645867347717 0.759562194347 -0.076946094632 +vn 0.922598123550 0.068173386157 0.379690796137 +vn 0.922598123550 0.068173386157 0.379690796137 +vn 0.995269954205 -0.094131454825 0.024020485580 +vn 0.684990108013 0.674838602543 -0.274556785822 +vn 0.671063661575 -0.589654684067 0.449422925711 +vn 0.640465438366 -0.704728960991 0.305223017931 +vn 0.995269954205 -0.094131454825 0.024020485580 +vn 0.995269954205 -0.094131454825 0.024020485580 +vn 0.922598123550 0.068173386157 0.379690796137 +vn 0.671063661575 -0.589654684067 0.449422925711 +vn 0.645867347717 0.759562194347 -0.076946094632 +vn 0.684990108013 0.674838602543 -0.274556785822 +vn -0.059337425977 0.911660373211 -0.406638026237 +vn -0.059337425977 0.911660373211 -0.406638026237 +vn -0.033968716860 0.937177479267 -0.347195148468 +vn 0.645867347717 0.759562194347 -0.076946094632 +vn 0.884976446629 -0.250451683998 0.392543762922 +vn 0.422761082649 0.905447840691 -0.037911430001 +vn 0.684990108013 0.674838602543 -0.274556785822 +vn 0.684990108013 0.674838602543 -0.274556785822 +vn 0.995269954205 -0.094131454825 0.024020485580 +vn 0.884976446629 -0.250451683998 0.392543762922 +vn 0.429046809673 -0.796191692352 0.426611751318 +vn 0.884976446629 -0.250451683998 0.392543762922 +vn 0.995269954205 -0.094131454825 0.024020485580 +vn 0.995269954205 -0.094131454825 0.024020485580 +vn 0.640465438366 -0.704728960991 0.305223017931 +vn 0.429046809673 -0.796191692352 0.426611751318 +vn 0.684990108013 0.674838602543 -0.274556785822 +vn 0.422761082649 0.905447840691 -0.037911430001 +vn -0.120943859220 0.924671351910 -0.361047744751 +vn -0.120943859220 0.924671351910 -0.361047744751 +vn -0.059337425977 0.911660373211 -0.406638026237 +vn 0.684990108013 0.674838602543 -0.274556785822 +vn -0.804719209671 -0.591550230980 0.049952868372 +vn -0.566509664059 -0.823908209801 -0.015559613705 +vn -0.938056409359 0.055331554264 -0.342035889626 +vn -0.938056409359 0.055331554264 -0.342035889626 +vn -0.981343269348 -0.031429406255 -0.189677640796 +vn -0.804719209671 -0.591550230980 0.049952868372 +vn -0.570844233036 -0.740347564220 -0.354996263981 +vn -0.804719209671 -0.591550230980 0.049952868372 +vn -0.981343269348 -0.031429406255 -0.189677640796 +vn -0.981343269348 -0.031429406255 -0.189677640796 +vn -0.764200329781 -0.186552703381 -0.617410659790 +vn -0.570844233036 -0.740347564220 -0.354996263981 +vn -0.098033927381 -0.756649672985 -0.646429121494 +vn -0.570844233036 -0.740347564220 -0.354996263981 +vn -0.764200329781 -0.186552703381 -0.617410659790 +vn -0.764200329781 -0.186552703381 -0.617410659790 +vn -0.349761039019 -0.113213412464 -0.929973065853 +vn -0.098033927381 -0.756649672985 -0.646429121494 +vn -0.098033927381 -0.756649672985 -0.646429121494 +vn -0.349761039019 -0.113213412464 -0.929973065853 +vn -0.507797300816 -0.014627303928 -0.861352384090 +vn -0.507797300816 -0.014627303928 -0.861352384090 +vn -0.313647478819 -0.631883203983 -0.708765745163 +vn -0.098033927381 -0.756649672985 -0.646429121494 +vn -0.662224650383 0.613074541092 -0.430810958147 +vn -0.981343269348 -0.031429406255 -0.189677640796 +vn -0.938056409359 0.055331554264 -0.342035889626 +vn -0.938056409359 0.055331554264 -0.342035889626 +vn -0.422723919153 0.738064825535 -0.525894224644 +vn -0.662224650383 0.613074541092 -0.430810958147 +vn -0.981343269348 -0.031429406255 -0.189677640796 +vn -0.662224650383 0.613074541092 -0.430810958147 +vn -0.576915979385 0.514074325562 -0.634740591049 +vn -0.576915979385 0.514074325562 -0.634740591049 +vn -0.764200329781 -0.186552703381 -0.617410659790 +vn -0.981343269348 -0.031429406255 -0.189677640796 +vn -0.372853875160 0.596242547035 -0.710967540741 +vn -0.349761039019 -0.113213412464 -0.929973065853 +vn -0.764200329781 -0.186552703381 -0.617410659790 +vn -0.764200329781 -0.186552703381 -0.617410659790 +vn -0.576915979385 0.514074325562 -0.634740591049 +vn -0.372853875160 0.596242547035 -0.710967540741 +vn -0.355150580406 0.699059724808 -0.620631575584 +vn -0.507797300816 -0.014627303928 -0.861352384090 +vn -0.349761039019 -0.113213412464 -0.929973065853 +vn -0.349761039019 -0.113213412464 -0.929973065853 +vn -0.372853875160 0.596242547035 -0.710967540741 +vn -0.355150580406 0.699059724808 -0.620631575584 +vn -0.566509664059 -0.823908209801 -0.015559613705 +vn -0.804719209671 -0.591550230980 0.049952868372 +vn -0.135790631175 -0.961399912834 0.239313766360 +vn -0.135790631175 -0.961399912834 0.239313766360 +vn 0.150375440717 -0.956338346004 0.250607728958 +vn -0.566509664059 -0.823908209801 -0.015559613705 +vn -0.804719209671 -0.591550230980 0.049952868372 +vn -0.570844233036 -0.740347564220 -0.354996263981 +vn -0.072136357427 -0.994475126266 0.076259985566 +vn -0.072136357427 -0.994475126266 0.076259985566 +vn -0.135790631175 -0.961399912834 0.239313766360 +vn -0.804719209671 -0.591550230980 0.049952868372 +vn -0.570844233036 -0.740347564220 -0.354996263981 +vn -0.098033927381 -0.756649672985 -0.646429121494 +vn 0.191048607230 -0.981342017651 -0.021640488878 +vn 0.191048607230 -0.981342017651 -0.021640488878 +vn -0.072136357427 -0.994475126266 0.076259985566 +vn -0.570844233036 -0.740347564220 -0.354996263981 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn 0.191048607230 -0.981342017651 -0.021640488878 +vn -0.098033927381 -0.756649672985 -0.646429121494 +vn -0.098033927381 -0.756649672985 -0.646429121494 +vn -0.313647478819 -0.631883203983 -0.708765745163 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn 0.150375440717 -0.956338346004 0.250607728958 +vn -0.135790631175 -0.961399912834 0.239313766360 +vn 0.417796224356 -0.550401687622 0.722844600677 +vn 0.417796224356 -0.550401687622 0.722844600677 +vn 0.518000125885 -0.625398337841 0.583568990231 +vn 0.150375440717 -0.956338346004 0.250607728958 +vn -0.135790631175 -0.961399912834 0.239313766360 +vn -0.072136357427 -0.994475126266 0.076259985566 +vn 0.553593516350 -0.527526497841 0.644398927689 +vn 0.553593516350 -0.527526497841 0.644398927689 +vn 0.417796224356 -0.550401687622 0.722844600677 +vn -0.135790631175 -0.961399912834 0.239313766360 +vn 0.191048607230 -0.981342017651 -0.021640488878 +vn 0.671063661575 -0.589654684067 0.449422925711 +vn 0.553593516350 -0.527526497841 0.644398927689 +vn 0.553593516350 -0.527526497841 0.644398927689 +vn -0.072136357427 -0.994475126266 0.076259985566 +vn 0.191048607230 -0.981342017651 -0.021640488878 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn 0.640465438366 -0.704728960991 0.305223017931 +vn 0.671063661575 -0.589654684067 0.449422925711 +vn 0.671063661575 -0.589654684067 0.449422925711 +vn 0.191048607230 -0.981342017651 -0.021640488878 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn 0.429046809673 -0.796191692352 0.426611751318 +vn 0.640465438366 -0.704728960991 0.305223017931 +vn -0.161380723119 0.978026390076 -0.131987363100 +vn -0.662224650383 0.613074541092 -0.430810958147 +vn -0.422723919153 0.738064825535 -0.525894224644 +vn -0.422723919153 0.738064825535 -0.525894224644 +vn -0.118776917458 0.966788709164 -0.226299867034 +vn -0.161380723119 0.978026390076 -0.131987363100 +vn -0.054437931627 0.979436457157 -0.194269850850 +vn -0.576915979385 0.514074325562 -0.634740591049 +vn -0.662224650383 0.613074541092 -0.430810958147 +vn -0.662224650383 0.613074541092 -0.430810958147 +vn -0.161380723119 0.978026390076 -0.131987363100 +vn -0.054437931627 0.979436457157 -0.194269850850 +vn -0.033968716860 0.937177479267 -0.347195148468 +vn -0.372853875160 0.596242547035 -0.710967540741 +vn -0.576915979385 0.514074325562 -0.634740591049 +vn -0.576915979385 0.514074325562 -0.634740591049 +vn -0.054437931627 0.979436457157 -0.194269850850 +vn -0.033968716860 0.937177479267 -0.347195148468 +vn -0.033968716860 0.937177479267 -0.347195148468 +vn -0.059337425977 0.911660373211 -0.406638026237 +vn -0.355150580406 0.699059724808 -0.620631575584 +vn -0.355150580406 0.699059724808 -0.620631575584 +vn -0.372853875160 0.596242547035 -0.710967540741 +vn -0.033968716860 0.937177479267 -0.347195148468 +vn -0.059337425977 0.911660373211 -0.406638026237 +vn -0.120943859220 0.924671351910 -0.361047744751 +vn -0.355150580406 0.699059724808 -0.620631575584 +vn -0.486205756664 -0.848186790943 0.210197895765 +vn 0.330415427685 -0.368209093809 0.869049906731 +vn 0.429046809673 -0.796191692352 0.426611751318 +vn 0.429046809673 -0.796191692352 0.426611751318 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn -0.486205756664 -0.848186790943 0.210197895765 +vn 0.429046809673 -0.796191692352 0.426611751318 +vn 0.330415427685 -0.368209093809 0.869049906731 +vn 0.665310978889 0.292275011539 0.686976432800 +vn 0.665310978889 0.292275011539 0.686976432800 +vn 0.884976446629 -0.250451683998 0.392543762922 +vn 0.429046809673 -0.796191692352 0.426611751318 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.486205756664 -0.848186790943 0.210197895765 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn 0.126075819135 -0.991391956806 -0.035311166197 +vn -0.313647478819 -0.631883203983 -0.708765745163 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.507797300816 -0.014627303928 -0.861352384090 +vn -0.785756528378 -0.244205147028 -0.568287372589 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.313647478819 -0.631883203983 -0.708765745163 +vn -0.507797300816 -0.014627303928 -0.861352384090 +vn -0.790524423122 0.521289408207 -0.321447402239 +vn -0.785756528378 -0.244205147028 -0.568287372589 +vn -0.507797300816 -0.014627303928 -0.861352384090 +vn -0.507797300816 -0.014627303928 -0.861352384090 +vn -0.355150580406 0.699059724808 -0.620631575584 +vn -0.790524423122 0.521289408207 -0.321447402239 +vn 0.884976446629 -0.250451683998 0.392543762922 +vn 0.665310978889 0.292275011539 0.686976432800 +vn 0.378463476896 0.783811092377 0.492346972227 +vn 0.378463476896 0.783811092377 0.492346972227 +vn 0.422761082649 0.905447840691 -0.037911430001 +vn 0.884976446629 -0.250451683998 0.392543762922 +vn 0.422761082649 0.905447840691 -0.037911430001 +vn 0.378463476896 0.783811092377 0.492346972227 +vn -0.411167144775 0.906487345695 0.096032403409 +vn -0.411167144775 0.906487345695 0.096032403409 +vn -0.120943859220 0.924671351910 -0.361047744751 +vn 0.422761082649 0.905447840691 -0.037911430001 +vn -0.790524423122 0.521289408207 -0.321447402239 +vn -0.355150580406 0.699059724808 -0.620631575584 +vn -0.120943859220 0.924671351910 -0.361047744751 +vn -0.120943859220 0.924671351910 -0.361047744751 +vn -0.411167144775 0.906487345695 0.096032403409 +vn -0.790524423122 0.521289408207 -0.321447402239 +vn 0.388690173626 0.732356131077 0.559083580971 +vn -0.334084272385 0.786465167999 0.519480764866 +vn -0.411167144775 0.906487345695 0.096032403409 +vn -0.411167144775 0.906487345695 0.096032403409 +vn 0.378463476896 0.783811092377 0.492346972227 +vn 0.388690173626 0.732356131077 0.559083580971 +vn -0.740822911263 0.609460711479 0.282381057739 +vn -0.949991941452 0.066238164902 -0.305168509483 +vn -0.785756528378 -0.244205147028 -0.568287372589 +vn -0.785756528378 -0.244205147028 -0.568287372589 +vn -0.790524423122 0.521289408207 -0.321447402239 +vn -0.740822911263 0.609460711479 0.282381057739 +vn -0.411167144775 0.906487345695 0.096032403409 +vn -0.334084272385 0.786465167999 0.519480764866 +vn -0.740822911263 0.609460711479 0.282381057739 +vn -0.740822911263 0.609460711479 0.282381057739 +vn -0.790524423122 0.521289408207 -0.321447402239 +vn -0.411167144775 0.906487345695 0.096032403409 +vn -0.740822911263 0.609460711479 0.282381057739 +vn -0.334084272385 0.786465167999 0.519480764866 +vn 0.003442640649 0.996815025806 -0.079673819244 +vn 0.003442640649 0.996815025806 -0.079673819244 +vn -0.662668108940 0.436805695295 -0.608335196972 +vn -0.740822911263 0.609460711479 0.282381057739 +vn 0.003442640649 0.996815025806 -0.079673819244 +vn -0.334084272385 0.786465167999 0.519480764866 +vn 0.388690173626 0.732356131077 0.559083580971 +vn -0.662668108940 0.436805695295 -0.608335196972 +vn -0.949991941452 0.066238164902 -0.305168509483 +vn -0.740822911263 0.609460711479 0.282381057739 +vn -0.662668108940 0.436805695295 -0.608335196972 +vn 0.003442640649 0.996815025806 -0.079673819244 +vn 0.543234527111 0.750437855721 -0.376482844353 +vn 0.543234527111 0.750437855721 -0.376482844353 +vn -0.289297044277 0.126304164529 -0.948870122433 +vn -0.662668108940 0.436805695295 -0.608335196972 +vn 0.543234527111 0.750437855721 -0.376482844353 +vn 0.003442640649 0.996815025806 -0.079673819244 +vn 0.388690173626 0.732356131077 0.559083580971 +vn 0.718595862389 0.547037959099 0.429382652044 +vn 0.568385779858 0.633698344231 -0.524751365185 +vn 0.543234527111 0.750437855721 -0.376482844353 +vn 0.543234527111 0.750437855721 -0.376482844353 +vn 0.388690173626 0.732356131077 0.559083580971 +vn 0.718595862389 0.547037959099 0.429382652044 +vn 0.749369800091 0.489035457373 0.446418195963 +vn 0.682607948780 0.602593600750 -0.413433611393 +vn 0.568385779858 0.633698344231 -0.524751365185 +vn 0.568385779858 0.633698344231 -0.524751365185 +vn 0.718595862389 0.547037959099 0.429382652044 +vn 0.749369800091 0.489035457373 0.446418195963 +vn 0.666716694832 0.479019969702 0.570989251137 +vn 0.718595862389 0.547037959099 0.429382652044 +vn 0.388690173626 0.732356131077 0.559083580971 +vn 0.388690173626 0.732356131077 0.559083580971 +vn 0.378463476896 0.783811092377 0.492346972227 +vn 0.666716694832 0.479019969702 0.570989251137 +vn 0.666716694832 0.479019969702 0.570989251137 +vn 0.749369800091 0.489035457373 0.446418195963 +vn 0.718595862389 0.547037959099 0.429382652044 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.767436444759 0.463645577431 0.442802578211 +vn 0.749369800091 0.489035457373 0.446418195963 +vn 0.749369800091 0.489035457373 0.446418195963 +vn 0.666716694832 0.479019969702 0.570989251137 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.812969028950 0.469094514847 0.345009744167 +vn 0.817769885063 0.481556564569 0.315207391977 +vn 0.749369800091 0.489035457373 0.446418195963 +vn 0.749369800091 0.489035457373 0.446418195963 +vn 0.767436444759 0.463645577431 0.442802578211 +vn 0.812969028950 0.469094514847 0.345009744167 +vn 0.806812405586 0.465968638659 0.363217532635 +vn 0.812969028950 0.469094514847 0.345009744167 +vn 0.767436444759 0.463645577431 0.442802578211 +vn 0.767436444759 0.463645577431 0.442802578211 +vn 0.757159888744 0.476233154535 0.447113960981 +vn 0.806812405586 0.465968638659 0.363217532635 +vn 0.757159888744 0.476233154535 0.447113960981 +vn 0.767436444759 0.463645577431 0.442802578211 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.820294380188 0.412772327662 0.395899116993 +vn 0.806812405586 0.465968638659 0.363217532635 +vn 0.757159888744 0.476233154535 0.447113960981 +vn 0.757159888744 0.476233154535 0.447113960981 +vn 0.772460281849 0.431776523590 0.465697467327 +vn 0.820294380188 0.412772327662 0.395899116993 +vn 0.915219843388 0.365772277117 0.169065743685 +vn 0.772460281849 0.431776523590 0.465697467327 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.896686136723 0.435548067093 -0.079068511724 +vn 0.915219843388 0.365772277117 0.169065743685 +vn 0.949957668781 0.131756618619 -0.283232480288 +vn 0.896686136723 0.435548067093 -0.079068511724 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.977639138699 -0.121614255011 0.171556651592 +vn 0.949957668781 0.131756618619 -0.283232480288 +vn 0.757159888744 0.476233154535 0.447113960981 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.772460281849 0.431776523590 0.465697467327 +vn 0.757159888744 0.476233154535 0.447113960981 +vn 0.572836101055 0.156684830785 0.804554939270 +vn 0.585414111614 -0.286889463663 0.758277475834 +vn 0.826030433178 -0.454960823059 0.332692533731 +vn 0.540240406990 0.256953597069 0.801320850849 +vn 0.572836101055 0.156684830785 0.804554939270 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.540240406990 0.256953597069 0.801320850849 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.666716694832 0.479019969702 0.570989251137 +vn 0.378463476896 0.783811092377 0.492346972227 +vn 0.378463476896 0.783811092377 0.492346972227 +vn 0.665310978889 0.292275011539 0.686976432800 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.540240406990 0.256953597069 0.801320850849 +vn 0.681036770344 0.469771593809 0.561697006226 +vn 0.665310978889 0.292275011539 0.686976432800 +vn 0.007833177224 -0.254301071167 0.967093408108 +vn 0.540240406990 0.256953597069 0.801320850849 +vn 0.665310978889 0.292275011539 0.686976432800 +vn 0.665310978889 0.292275011539 0.686976432800 +vn 0.330415427685 -0.368209093809 0.869049906731 +vn 0.007833177224 -0.254301071167 0.967093408108 +vn -0.056767333299 -0.310560673475 0.948856949806 +vn 0.572836101055 0.156684830785 0.804554939270 +vn 0.540240406990 0.256953597069 0.801320850849 +vn 0.540240406990 0.256953597069 0.801320850849 +vn 0.007833177224 -0.254301071167 0.967093408108 +vn -0.056767333299 -0.310560673475 0.948856949806 +vn -0.538350999355 -0.654604792595 0.530726671219 +vn 0.007833177224 -0.254301071167 0.967093408108 +vn 0.330415427685 -0.368209093809 0.869049906731 +vn 0.330415427685 -0.368209093809 0.869049906731 +vn -0.486205756664 -0.848186790943 0.210197895765 +vn -0.538350999355 -0.654604792595 0.530726671219 +vn 0.007833177224 -0.254301071167 0.967093408108 +vn -0.538350999355 -0.654604792595 0.530726671219 +vn -0.577021539211 -0.631674647331 0.517719328403 +vn -0.577021539211 -0.631674647331 0.517719328403 +vn -0.056767333299 -0.310560673475 0.948856949806 +vn 0.007833177224 -0.254301071167 0.967093408108 +vn -0.621671855450 -0.395317047834 -0.676201522350 +vn -0.681711435318 -0.464849233627 -0.564964354038 +vn -0.785756528378 -0.244205147028 -0.568287372589 +vn -0.785756528378 -0.244205147028 -0.568287372589 +vn -0.949991941452 0.066238164902 -0.305168509483 +vn -0.621671855450 -0.395317047834 -0.676201522350 +vn -0.624906539917 -0.432199299335 -0.650150477886 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.681711435318 -0.464849233627 -0.564964354038 +vn -0.681711435318 -0.464849233627 -0.564964354038 +vn -0.621671855450 -0.395317047834 -0.676201522350 +vn -0.624906539917 -0.432199299335 -0.650150477886 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.785756528378 -0.244205147028 -0.568287372589 +vn -0.681711435318 -0.464849233627 -0.564964354038 +vn -0.681711435318 -0.464849233627 -0.564964354038 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.726016998291 -0.656698286533 -0.204075306654 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.949991941452 0.066238164902 -0.305168509483 +vn -0.662668108940 0.436805695295 -0.608335196972 +vn -0.289297044277 0.126304164529 -0.948870122433 +vn -0.289297044277 0.126304164529 -0.948870122433 +vn -0.621671855450 -0.395317047834 -0.676201522350 +vn -0.949991941452 0.066238164902 -0.305168509483 +vn -0.621671855450 -0.395317047834 -0.676201522350 +vn -0.289297044277 0.126304164529 -0.948870122433 +vn -0.304266571999 -0.081515416503 -0.949092745781 +vn -0.304266571999 -0.081515416503 -0.949092745781 +vn -0.624906539917 -0.432199299335 -0.650150477886 +vn -0.621671855450 -0.395317047834 -0.676201522350 +vn 0.568385779858 0.633698344231 -0.524751365185 +vn -0.304266571999 -0.081515416503 -0.949092745781 +vn -0.289297044277 0.126304164529 -0.948870122433 +vn -0.289297044277 0.126304164529 -0.948870122433 +vn 0.543234527111 0.750437855721 -0.376482844353 +vn 0.568385779858 0.633698344231 -0.524751365185 +vn 0.568385779858 0.633698344231 -0.524751365185 +vn 0.682607948780 0.602593600750 -0.413433611393 +vn -0.152807876468 0.003922926262 -0.988248109818 +vn -0.152807876468 0.003922926262 -0.988248109818 +vn -0.304266571999 -0.081515416503 -0.949092745781 +vn 0.568385779858 0.633698344231 -0.524751365185 +vn -0.624906539917 -0.432199299335 -0.650150477886 +vn -0.304266571999 -0.081515416503 -0.949092745781 +vn -0.152807876468 0.003922926262 -0.988248109818 +vn 0.571283638477 0.195726588368 -0.797073483467 +vn 0.581513226032 0.206123635173 -0.786991357803 +vn 0.531929790974 0.057460013777 -0.844836711884 +vn 0.531929790974 0.057460013777 -0.844836711884 +vn 0.559709072113 0.020506501198 -0.828435420990 +vn 0.571283638477 0.195726588368 -0.797073483467 +vn -0.624906539917 -0.432199299335 -0.650150477886 +vn -0.595149517059 -0.417273491621 -0.686789572239 +vn -0.577492237091 -0.461448967457 -0.673474252224 +vn -0.577492237091 -0.461448967457 -0.673474252224 +vn -0.603490769863 -0.486868530512 -0.631472826004 +vn -0.624906539917 -0.432199299335 -0.650150477886 +vn -0.509972751141 0.793636679649 -0.331765860319 +vn -0.537571310997 0.772639870644 -0.337705105543 +vn -0.534661054611 0.774923622608 -0.337091892958 +vn -0.534661054611 0.774923622608 -0.337091892958 +vn -0.495952785015 0.803755402565 -0.328645855188 +vn -0.509972751141 0.793636679649 -0.331765860319 +vn 0.628486037254 -0.765047073364 0.140386179090 +vn 0.629080116749 -0.764525115490 0.140568733215 +vn 0.627358913422 -0.766035020351 0.140039905906 +vn 0.627358913422 -0.766035020351 0.140039905906 +vn 0.627170860767 -0.766199529171 0.139982149005 +vn 0.628486037254 -0.765047073364 0.140386179090 +vn 0.531929790974 0.057460013777 -0.844836711884 +vn 0.601446866989 -0.122731477022 -0.789429366589 +vn 0.618541955948 -0.147163629532 -0.771847546101 +vn 0.618541955948 -0.147163629532 -0.771847546101 +vn 0.559709072113 0.020506501198 -0.828435420990 +vn 0.531929790974 0.057460013777 -0.844836711884 +vn -0.603490769863 -0.486868530512 -0.631472826004 +vn -0.577492237091 -0.461448967457 -0.673474252224 +vn -0.526679396629 -0.509270489216 -0.680626451969 +vn 0.601446866989 -0.122731477022 -0.789429366589 +vn 0.734982609749 -0.236774384975 -0.635404169559 +vn 0.734118044376 -0.247591629624 -0.632272958755 +vn 0.734118044376 -0.247591629624 -0.632272958755 +vn 0.618541955948 -0.147163629532 -0.771847546101 +vn 0.601446866989 -0.122731477022 -0.789429366589 +vn -0.526679396629 -0.509270489216 -0.680626451969 +vn -0.506287515163 -0.536978483200 -0.674779236317 +vn -0.566157758236 -0.520466208458 -0.639202833176 +vn -0.566157758236 -0.520466208458 -0.639202833176 +vn -0.603490769863 -0.486868530512 -0.631472826004 +vn -0.526679396629 -0.509270489216 -0.680626451969 +vn -0.624906539917 -0.432199299335 -0.650150477886 +vn -0.603490769863 -0.486868530512 -0.631472826004 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.603490769863 -0.486868530512 -0.631472826004 +vn -0.566157758236 -0.520466208458 -0.639202833176 +vn 0.734118044376 -0.247591629624 -0.632272958755 +vn 0.734982609749 -0.236774384975 -0.635404169559 +vn 0.604554712772 -0.406347364187 -0.685124337673 +vn 0.604554712772 -0.406347364187 -0.685124337673 +vn 0.599086761475 -0.409433424473 -0.688083827496 +vn 0.734118044376 -0.247591629624 -0.632272958755 +vn -0.506287515163 -0.536978483200 -0.674779236317 +vn -0.700512945652 -0.458336979151 -0.546999812126 +vn 0.208624199033 -0.309199512005 -0.927831649780 +vn 0.208624199033 -0.309199512005 -0.927831649780 +vn -0.566157758236 -0.520466208458 -0.639202833176 +vn -0.506287515163 -0.536978483200 -0.674779236317 +vn -0.045421313494 -0.364519536495 -0.930087327957 +vn -0.597590386868 -0.566873550415 -0.567045092583 +vn -0.566157758236 -0.520466208458 -0.639202833176 +vn -0.566157758236 -0.520466208458 -0.639202833176 +vn 0.208624199033 -0.309199512005 -0.927831649780 +vn -0.045421313494 -0.364519536495 -0.930087327957 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.566157758236 -0.520466208458 -0.639202833176 +vn -0.597590386868 -0.566873550415 -0.567045092583 +vn -0.597590386868 -0.566873550415 -0.567045092583 +vn -0.045421313494 -0.364519536495 -0.930087327957 +vn 0.271968334913 -0.475931823254 -0.836374402046 +vn 0.271968334913 -0.475931823254 -0.836374402046 +vn 0.385559916496 -0.831905722618 -0.399094432592 +vn -0.597590386868 -0.566873550415 -0.567045092583 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.597590386868 -0.566873550415 -0.567045092583 +vn -0.672040104866 -0.656086146832 -0.343384683132 +vn -0.672040104866 -0.656086146832 -0.343384683132 +vn -0.726016998291 -0.656698286533 -0.204075306654 +vn -0.666281819344 -0.495860993862 -0.556947410107 +vn -0.672040104866 -0.656086146832 -0.343384683132 +vn -0.577021539211 -0.631674647331 0.517719328403 +vn -0.538350999355 -0.654604792595 0.530726671219 +vn -0.538350999355 -0.654604792595 0.530726671219 +vn -0.726016998291 -0.656698286533 -0.204075306654 +vn -0.672040104866 -0.656086146832 -0.343384683132 +vn -0.486205756664 -0.848186790943 0.210197895765 +vn -0.669272661209 -0.586196959019 -0.456560224295 +vn -0.726016998291 -0.656698286533 -0.204075306654 +vn -0.726016998291 -0.656698286533 -0.204075306654 +vn -0.538350999355 -0.654604792595 0.530726671219 +vn -0.486205756664 -0.848186790943 0.210197895765 +vn -0.597590386868 -0.566873550415 -0.567045092583 +vn 0.385559916496 -0.831905722618 -0.399094432592 +vn 0.023477902636 -0.918665289879 -0.394338548183 +vn -0.672040104866 -0.656086146832 -0.343384683132 +vn -0.597590386868 -0.566873550415 -0.567045092583 +vn 0.023477902636 -0.918665289879 -0.394338548183 +vn -0.672040104866 -0.656086146832 -0.343384683132 +vn 0.023477902636 -0.918665289879 -0.394338548183 +vn -0.755449414253 -0.654008865356 -0.039605412632 +vn -0.755449414253 -0.654008865356 -0.039605412632 +vn -0.098564960063 -0.946164667606 0.308313846588 +vn -0.577021539211 -0.631674647331 0.517719328403 +vn -0.577021539211 -0.631674647331 0.517719328403 +vn -0.672040104866 -0.656086146832 -0.343384683132 +vn -0.755449414253 -0.654008865356 -0.039605412632 +vn -0.056767333299 -0.310560673475 0.948856949806 +vn -0.577021539211 -0.631674647331 0.517719328403 +vn -0.098564960063 -0.946164667606 0.308313846588 +vn -0.056767333299 -0.310560673475 0.948856949806 +vn -0.098564960063 -0.946164667606 0.308313846588 +vn 0.585414111614 -0.286889463663 0.758277475834 +vn 0.585414111614 -0.286889463663 0.758277475834 +vn 0.572836101055 0.156684830785 0.804554939270 +vn -0.056767333299 -0.310560673475 0.948856949806 +vn 0.355971693993 -0.698756396770 0.620502710342 +vn 0.354127824306 -0.701984345913 0.617908954620 +vn 0.354813098907 -0.700787842274 0.618873238564 +vn 0.354813098907 -0.700787842274 0.618873238564 +vn 0.356339871883 -0.698108613491 0.621020376682 +vn 0.355971693993 -0.698756396770 0.620502710342 +vn -0.045421313494 -0.364519536495 -0.930087327957 +vn 0.896686136723 0.435548067093 -0.079068511724 +vn 0.949957668781 0.131756618619 -0.283232480288 +vn 0.949957668781 0.131756618619 -0.283232480288 +vn 0.271968334913 -0.475931823254 -0.836374402046 +vn -0.045421313494 -0.364519536495 -0.930087327957 +vn 0.896686136723 0.435548067093 -0.079068511724 +vn -0.045421313494 -0.364519536495 -0.930087327957 +vn 0.208624199033 -0.309199512005 -0.927831649780 +vn 0.208624199033 -0.309199512005 -0.927831649780 +vn 0.915219843388 0.365772277117 0.169065743685 +vn 0.896686136723 0.435548067093 -0.079068511724 +vn 0.271968334913 -0.475931823254 -0.836374402046 +vn 0.949957668781 0.131756618619 -0.283232480288 +vn 0.977639138699 -0.121614255011 0.171556651592 +vn 0.977639138699 -0.121614255011 0.171556651592 +vn 0.385559916496 -0.831905722618 -0.399094432592 +vn 0.271968334913 -0.475931823254 -0.836374402046 +vn 0.385559916496 -0.831905722618 -0.399094432592 +vn 0.977639138699 -0.121614255011 0.171556651592 +vn 0.826030433178 -0.454960823059 0.332692533731 +vn 0.826030433178 -0.454960823059 0.332692533731 +vn 0.023477902636 -0.918665289879 -0.394338548183 +vn 0.385559916496 -0.831905722618 -0.399094432592 +vn 0.572836101055 0.156684830785 0.804554939270 +vn 0.826030433178 -0.454960823059 0.332692533731 +vn 0.977639138699 -0.121614255011 0.171556651592 +vn 0.977639138699 -0.121614255011 0.171556651592 +vn 0.737763464451 0.411261945963 0.535321116447 +vn 0.572836101055 0.156684830785 0.804554939270 +vn 0.585414111614 -0.286889463663 0.758277475834 +vn -0.098564960063 -0.946164667606 0.308313846588 +vn 0.023477902636 -0.918665289879 -0.394338548183 +vn 0.023477902636 -0.918665289879 -0.394338548183 +vn 0.826030433178 -0.454960823059 0.332692533731 +vn 0.585414111614 -0.286889463663 0.758277475834 +vn 0.023477902636 -0.918665289879 -0.394338548183 +vn -0.098564960063 -0.946164667606 0.308313846588 +vn -0.755449414253 -0.654008865356 -0.039605412632 +vn 0.558988094330 0.524203598499 0.642450690269 +vn 0.598153293133 0.517687678337 0.611728787422 +vn 0.553849399090 0.540512084961 0.633322656155 +vn 0.553849399090 0.540512084961 0.633322656155 +vn 0.598153293133 0.517687678337 0.611728787422 +vn 0.383700132370 0.539854407310 0.749220550060 +vn 0.830982983112 0.368793278933 0.416483879089 +vn 0.820294380188 0.412772327662 0.395899116993 +vn 0.772460281849 0.431776523590 0.465697467327 +vn 0.772460281849 0.431776523590 0.465697467327 +vn 0.915219843388 0.365772277117 0.169065743685 +vn 0.830982983112 0.368793278933 0.416483879089 +vn -0.626620769501 -0.425015181303 -0.653229296207 +vn -0.690469682217 -0.475103706121 -0.545461297035 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.674324989319 -0.420667380095 -0.606897652149 +vn -0.626620769501 -0.425015181303 -0.653229296207 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.690721869469 -0.425349652767 -0.584791421890 +vn -0.690721869469 -0.425349652767 -0.584791421890 +vn -0.674324989319 -0.420667380095 -0.606897652149 +vn -0.699129939079 -0.454820096493 -0.551684677601 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn -0.689756512642 -0.386467009783 -0.612273812294 +vn -0.116164192557 -0.129425451159 -0.984761357307 +vn -0.116164192557 -0.129425451159 -0.984761357307 +vn -0.690721869469 -0.425349652767 -0.584791421890 +vn -0.742867887020 -0.401135712862 -0.535945415497 +vn 0.344095647335 0.632951617241 0.693520307541 +vn 0.225397258997 0.847410619259 0.480719625950 +vn -0.022359715775 0.783848524094 0.620549440384 +vn -0.022359715775 0.783848524094 0.620549440384 +vn 0.176284044981 0.601203441620 0.779408991337 +vn 0.344095647335 0.632951617241 0.693520307541 +vn 0.176284044981 0.601203441620 0.779408991337 +vn -0.022359715775 0.783848524094 0.620549440384 +vn -0.221020415425 0.617830932140 0.754609107971 +vn -0.221020415425 0.617830932140 0.754609107971 +vn 0.016968332231 0.508910477161 0.860652208328 +vn 0.176284044981 0.601203441620 0.779408991337 +vn 0.016968332231 0.508910477161 0.860652208328 +vn -0.221020415425 0.617830932140 0.754609107971 +vn -0.340275913477 0.374614924192 0.862482428551 +vn -0.340275913477 0.374614924192 0.862482428551 +vn -0.107152707875 0.334624469280 0.936239659786 +vn 0.016968332231 0.508910477161 0.860652208328 +vn -0.107152707875 0.334624469280 0.936239659786 +vn -0.340275913477 0.374614924192 0.862482428551 +vn -0.361942619085 0.091239318252 0.927724599838 +vn -0.361942619085 0.091239318252 0.927724599838 +vn -0.115241959691 0.127359017730 0.985139071941 +vn -0.107152707875 0.334624469280 0.936239659786 +vn -0.115241959691 0.127359017730 0.985139071941 +vn -0.361942619085 0.091239318252 0.927724599838 +vn -0.282722592354 -0.189093366265 0.940378427505 +vn -0.282722592354 -0.189093366265 0.940378427505 +vn -0.057254210114 -0.091495782137 0.994158148766 +vn -0.115241959691 0.127359017730 0.985139071941 +vn -0.057254210114 -0.091495782137 0.994158148766 +vn -0.282722592354 -0.189093366265 0.940378427505 +vn -0.114699073136 -0.423665881157 0.898527324200 +vn -0.114699073136 -0.423665881157 0.898527324200 +vn 0.100197784603 -0.239033892751 0.965827703476 +vn -0.057254210114 -0.091495782137 0.994158148766 +vn 0.100197784603 -0.239033892751 0.965827703476 +vn -0.114699073136 -0.423665881157 0.898527324200 +vn 0.116556644440 -0.576752722263 0.808560967445 +vn 0.116556644440 -0.576752722263 0.808560967445 +vn 0.271152794361 -0.318406075239 0.908346712589 +vn 0.100197784603 -0.239033892751 0.965827703476 +vn 0.271152794361 -0.318406075239 0.908346712589 +vn 0.116556644440 -0.576752722263 0.808560967445 +vn 0.375719875097 -0.625069260597 0.684195160866 +vn 0.375719875097 -0.625069260597 0.684195160866 +vn 0.441843092442 -0.342358052731 0.829195797443 +vn 0.271152794361 -0.318406075239 0.908346712589 +vn 0.441843092442 -0.342358052731 0.829195797443 +vn 0.375719875097 -0.625069260597 0.684195160866 +vn 0.623359560966 -0.561303257942 0.544390976429 +vn 0.623359560966 -0.561303257942 0.544390976429 +vn 0.604076445103 -0.310684293509 0.733871161938 +vn 0.441843092442 -0.342358052731 0.829195797443 +vn 0.604076445103 -0.310684293509 0.733871161938 +vn 0.623359560966 -0.561303257942 0.544390976429 +vn 0.821807086468 -0.395209699869 0.410417407751 +vn 0.821807086468 -0.395209699869 0.410417407751 +vn 0.747208595276 -0.221942380071 0.626435041428 +vn 0.604076445103 -0.310684293509 0.733871161938 +vn 0.747208595276 -0.221942380071 0.626435041428 +vn 0.821807086468 -0.395209699869 0.410417407751 +vn 0.940890491009 -0.152064502239 0.302657306194 +vn 0.940890491009 -0.152064502239 0.302657306194 +vn 0.851525843143 -0.053865674883 0.521538317204 +vn 0.747208595276 -0.221942380071 0.626435041428 +vn 0.851525843143 -0.053865674883 0.521538317204 +vn 0.940890491009 -0.152064502239 0.302657306194 +vn 0.962504327297 0.131084352732 0.237491607666 +vn 0.962504327297 0.131084352732 0.237491607666 +vn 0.863084256649 0.151679724455 0.481745600700 +vn 0.851525843143 -0.053865674883 0.521538317204 +vn 0.863084256649 0.151679724455 0.481745600700 +vn 0.962504327297 0.131084352732 0.237491607666 +vn 0.883385002613 0.411203354597 0.224817082286 +vn 0.883385002613 0.411203354597 0.224817082286 +vn 0.804317176342 0.366487383842 0.467718809843 +vn 0.863084256649 0.151679724455 0.481745600700 +vn 0.804317176342 0.366487383842 0.467718809843 +vn 0.883385002613 0.411203354597 0.224817082286 +vn 0.715548932552 0.645697057247 0.266580253839 +vn 0.715548932552 0.645697057247 0.266580253839 +vn 0.669112265110 0.520763397217 0.530183255672 +vn 0.804317176342 0.366487383842 0.467718809843 +vn 0.669112265110 0.520763397217 0.530183255672 +vn 0.715548932552 0.645697057247 0.266580253839 +vn 0.484497249126 0.798884570599 0.356435000896 +vn 0.484497249126 0.798884570599 0.356435000896 +vn 0.511473476887 0.606199979782 0.609029054642 +vn 0.669112265110 0.520763397217 0.530183255672 +vn 0.511473476887 0.606199979782 0.609029054642 +vn 0.484497249126 0.798884570599 0.356435000896 +vn 0.225397258997 0.847410619259 0.480719625950 +vn 0.225397258997 0.847410619259 0.480719625950 +vn 0.344095647335 0.632951617241 0.693520307541 +vn 0.511473476887 0.606199979782 0.609029054642 +vn 0.225397258997 0.847410619259 0.480719625950 +vn 0.072499595582 0.978071272373 0.195244491100 +vn -0.235830068588 0.898830175400 0.369443446398 +vn -0.235830068588 0.898830175400 0.369443446398 +vn -0.022359715775 0.783848524094 0.620549440384 +vn 0.225397258997 0.847410619259 0.480719625950 +vn -0.022359715775 0.783848524094 0.620549440384 +vn -0.235830068588 0.898830175400 0.369443446398 +vn -0.482984036207 0.692101240158 0.536397576332 +vn -0.482984036207 0.692101240158 0.536397576332 +vn -0.221020415425 0.617830932140 0.754609107971 +vn -0.022359715775 0.783848524094 0.620549440384 +vn -0.221020415425 0.617830932140 0.754609107971 +vn -0.482984036207 0.692101240158 0.536397576332 +vn -0.631313920021 0.389362454414 0.670700788498 +vn -0.631313920021 0.389362454414 0.670700788498 +vn -0.340275913477 0.374614924192 0.862482428551 +vn -0.221020415425 0.617830932140 0.754609107971 +vn -0.340275913477 0.374614924192 0.862482428551 +vn -0.631313920021 0.389362454414 0.670700788498 +vn -0.658245265484 0.036702454090 0.751908302307 +vn -0.658245265484 0.036702454090 0.751908302307 +vn -0.361942619085 0.091239318252 0.927724599838 +vn -0.340275913477 0.374614924192 0.862482428551 +vn -0.361942619085 0.091239318252 0.927724599838 +vn -0.658245265484 0.036702454090 0.751908302307 +vn -0.559685468674 -0.312195211649 0.767649888992 +vn -0.559685468674 -0.312195211649 0.767649888992 +vn -0.282722592354 -0.189093366265 0.940378427505 +vn -0.361942619085 0.091239318252 0.927724599838 +vn -0.282722592354 -0.189093366265 0.940378427505 +vn -0.559685468674 -0.312195211649 0.767649888992 +vn -0.350638359785 -0.604206144810 0.715533137321 +vn -0.350638359785 -0.604206144810 0.715533137321 +vn -0.114699073136 -0.423665881157 0.898527324200 +vn -0.282722592354 -0.189093366265 0.940378427505 +vn -0.114699073136 -0.423665881157 0.898527324200 +vn -0.350638359785 -0.604206144810 0.715533137321 +vn -0.062918022275 -0.794889926910 0.603482663631 +vn -0.062918022275 -0.794889926910 0.603482663631 +vn 0.116556644440 -0.576752722263 0.808560967445 +vn -0.114699073136 -0.423665881157 0.898527324200 +vn 0.116556644440 -0.576752722263 0.808560967445 +vn -0.062918022275 -0.794889926910 0.603482663631 +vn 0.259666293859 -0.855197250843 0.448565602303 +vn 0.259666293859 -0.855197250843 0.448565602303 +vn 0.375719875097 -0.625069260597 0.684195160866 +vn 0.116556644440 -0.576752722263 0.808560967445 +vn 0.375719875097 -0.625069260597 0.684195160866 +vn 0.259666293859 -0.855197250843 0.448565602303 +vn 0.567983329296 -0.775958120823 0.274379104376 +vn 0.567983329296 -0.775958120823 0.274379104376 +vn 0.623359560966 -0.561303257942 0.544390976429 +vn 0.375719875097 -0.625069260597 0.684195160866 +vn 0.623359560966 -0.561303257942 0.544390976429 +vn 0.567983329296 -0.775958120823 0.274379104376 +vn 0.815125644207 -0.569236397743 0.107424795628 +vn 0.815125644207 -0.569236397743 0.107424795628 +vn 0.821807086468 -0.395209699869 0.410417407751 +vn 0.623359560966 -0.561303257942 0.544390976429 +vn 0.821807086468 -0.395209699869 0.410417407751 +vn 0.815125644207 -0.569236397743 0.107424795628 +vn 0.963462889194 -0.266489982605 -0.026876050979 +vn 0.963462889194 -0.266489982605 -0.026876050979 +vn 0.940890491009 -0.152064502239 0.302657306194 +vn 0.821807086468 -0.395209699869 0.410417407751 +vn 0.940890491009 -0.152064502239 0.302657306194 +vn 0.963462889194 -0.266489982605 -0.026876050979 +vn 0.990399360657 0.086185812950 -0.108078926802 +vn 0.990399360657 0.086185812950 -0.108078926802 +vn 0.962504327297 0.131084352732 0.237491607666 +vn 0.940890491009 -0.152064502239 0.302657306194 +vn 0.962504327297 0.131084352732 0.237491607666 +vn 0.990399360657 0.086185812950 -0.108078926802 +vn 0.891834855080 0.435085475445 -0.123819284141 +vn 0.891834855080 0.435085475445 -0.123819284141 +vn 0.883385002613 0.411203354597 0.224817082286 +vn 0.962504327297 0.131084352732 0.237491607666 +vn 0.883385002613 0.411203354597 0.224817082286 +vn 0.891834855080 0.435085475445 -0.123819284141 +vn 0.682788848877 0.727087855339 -0.071712374687 +vn 0.682788848877 0.727087855339 -0.071712374687 +vn 0.715548932552 0.645697057247 0.266580253839 +vn 0.883385002613 0.411203354597 0.224817082286 +vn 0.715548932552 0.645697057247 0.266580253839 +vn 0.682788848877 0.727087855339 -0.071712374687 +vn 0.395072251558 0.917763888836 0.040340516716 +vn 0.395072251558 0.917763888836 0.040340516716 +vn 0.484497249126 0.798884570599 0.356435000896 +vn 0.715548932552 0.645697057247 0.266580253839 +vn 0.484497249126 0.798884570599 0.356435000896 +vn 0.395072251558 0.917763888836 0.040340516716 +vn 0.072499595582 0.978071272373 0.195244491100 +vn 0.072499595582 0.978071272373 0.195244491100 +vn 0.225397258997 0.847410619259 0.480719625950 +vn 0.484497249126 0.798884570599 0.356435000896 +vn 0.072499595582 0.978071272373 0.195244491100 +vn -0.100619047880 0.985560953617 -0.136181518435 +vn -0.432139426470 0.900357484818 0.051106605679 +vn -0.432139426470 0.900357484818 0.051106605679 +vn -0.235830068588 0.898830175400 0.369443446398 +vn 0.072499595582 0.978071272373 0.195244491100 +vn -0.235830068588 0.898830175400 0.369443446398 +vn -0.432139426470 0.900357484818 0.051106605679 +vn -0.697865962982 0.678082287312 0.230624243617 +vn -0.697865962982 0.678082287312 0.230624243617 +vn -0.482984036207 0.692101240158 0.536397576332 +vn -0.235830068588 0.898830175400 0.369443446398 +vn -0.482984036207 0.692101240158 0.536397576332 +vn -0.697865962982 0.678082287312 0.230624243617 +vn -0.857345402241 0.352580279112 0.375027984381 +vn -0.857345402241 0.352580279112 0.375027984381 +vn -0.631313920021 0.389362454414 0.670700788498 +vn -0.482984036207 0.692101240158 0.536397576332 +vn -0.631313920021 0.389362454414 0.670700788498 +vn -0.857345402241 0.352580279112 0.375027984381 +vn -0.886307537556 -0.026594040915 0.462332934141 +vn -0.886307537556 -0.026594040915 0.462332934141 +vn -0.658245265484 0.036702454090 0.751908302307 +vn -0.631313920021 0.389362454414 0.670700788498 +vn -0.658245265484 0.036702454090 0.751908302307 +vn -0.886307537556 -0.026594040915 0.462332934141 +vn -0.780336201191 -0.401725471020 0.479261994362 +vn -0.780336201191 -0.401725471020 0.479261994362 +vn -0.559685468674 -0.312195211649 0.767649888992 +vn -0.658245265484 0.036702454090 0.751908302307 +vn -0.559685468674 -0.312195211649 0.767649888992 +vn -0.780336201191 -0.401725471020 0.479261994362 +vn -0.555568754673 -0.715700089931 0.423221856356 +vn -0.555568754673 -0.715700089931 0.423221856356 +vn -0.350638359785 -0.604206144810 0.715533137321 +vn -0.559685468674 -0.312195211649 0.767649888992 +vn -0.350638359785 -0.604206144810 0.715533137321 +vn -0.555568754673 -0.715700089931 0.423221856356 +vn -0.246219098568 -0.920718669891 0.302742958069 +vn -0.246219098568 -0.920718669891 0.302742958069 +vn -0.062918022275 -0.794889926910 0.603482663631 +vn -0.350638359785 -0.604206144810 0.715533137321 +vn -0.062918022275 -0.794889926910 0.603482663631 +vn -0.246219098568 -0.920718669891 0.302742958069 +vn 0.100627504289 -0.985559940338 0.136182814837 +vn 0.100627504289 -0.985559940338 0.136182814837 +vn 0.259666293859 -0.855197250843 0.448565602303 +vn -0.062918022275 -0.794889926910 0.603482663631 +vn 0.259666293859 -0.855197250843 0.448565602303 +vn 0.100627504289 -0.985559940338 0.136182814837 +vn 0.432129591703 -0.900362253189 -0.051105588675 +vn 0.432129591703 -0.900362253189 -0.051105588675 +vn 0.567983329296 -0.775958120823 0.274379104376 +vn 0.259666293859 -0.855197250843 0.448565602303 +vn 0.567983329296 -0.775958120823 0.274379104376 +vn 0.432129591703 -0.900362253189 -0.051105588675 +vn 0.697853982449 -0.678096115589 -0.230619743466 +vn 0.697853982449 -0.678096115589 -0.230619743466 +vn 0.815125644207 -0.569236397743 0.107424795628 +vn 0.567983329296 -0.775958120823 0.274379104376 +vn 0.815125644207 -0.569236397743 0.107424795628 +vn 0.697853982449 -0.678096115589 -0.230619743466 +vn 0.857345044613 -0.352587401867 -0.375022053719 +vn 0.857345044613 -0.352587401867 -0.375022053719 +vn 0.963462889194 -0.266489982605 -0.026876050979 +vn 0.815125644207 -0.569236397743 0.107424795628 +vn 0.963462889194 -0.266489982605 -0.026876050979 +vn 0.857345044613 -0.352587401867 -0.375022053719 +vn 0.886305391788 0.026597272605 -0.462336778641 +vn 0.886305391788 0.026597272605 -0.462336778641 +vn 0.990399360657 0.086185812950 -0.108078926802 +vn 0.963462889194 -0.266489982605 -0.026876050979 +vn 0.990399360657 0.086185812950 -0.108078926802 +vn 0.886305391788 0.026597272605 -0.462336778641 +vn 0.780332505703 0.401737719774 -0.479257732630 +vn 0.780332505703 0.401737719774 -0.479257732630 +vn 0.891834855080 0.435085475445 -0.123819284141 +vn 0.990399360657 0.086185812950 -0.108078926802 +vn 0.891834855080 0.435085475445 -0.123819284141 +vn 0.780332505703 0.401737719774 -0.479257732630 +vn 0.555568575859 0.715697705746 -0.423226147890 +vn 0.555568575859 0.715697705746 -0.423226147890 +vn 0.682788848877 0.727087855339 -0.071712374687 +vn 0.891834855080 0.435085475445 -0.123819284141 +vn 0.682788848877 0.727087855339 -0.071712374687 +vn 0.555568575859 0.715697705746 -0.423226147890 +vn 0.246223002672 0.920717000961 -0.302744895220 +vn 0.246223002672 0.920717000961 -0.302744895220 +vn 0.395072251558 0.917763888836 0.040340516716 +vn 0.682788848877 0.727087855339 -0.071712374687 +vn 0.395072251558 0.917763888836 0.040340516716 +vn 0.246223002672 0.920717000961 -0.302744895220 +vn -0.100619047880 0.985560953617 -0.136181518435 +vn -0.100619047880 0.985560953617 -0.136181518435 +vn 0.072499595582 0.978071272373 0.195244491100 +vn 0.395072251558 0.917763888836 0.040340516716 +vn -0.100619047880 0.985560953617 -0.136181518435 +vn -0.184946745634 0.935617744923 -0.300689518452 +vn -0.510389328003 0.851969182491 -0.116838611662 +vn -0.510389328003 0.851969182491 -0.116838611662 +vn -0.432139426470 0.900357484818 0.051106605679 +vn -0.100619047880 0.985560953617 -0.136181518435 +vn -0.432139426470 0.900357484818 0.051106605679 +vn -0.510389328003 0.851969182491 -0.116838611662 +vn -0.771237671375 0.633772552013 0.059369832277 +vn -0.771237671375 0.633772552013 0.059369832277 +vn -0.697865962982 0.678082287312 0.230624243617 +vn -0.432139426470 0.900357484818 0.051106605679 +vn -0.697865962982 0.678082287312 0.230624243617 +vn -0.771237671375 0.633772552013 0.059369832277 +vn -0.927791595459 0.314238816500 0.201138496399 +vn -0.927791595459 0.314238816500 0.201138496399 +vn -0.857345402241 0.352580279112 0.375027984381 +vn -0.697865962982 0.678082287312 0.230624243617 +vn -0.857345402241 0.352580279112 0.375027984381 +vn -0.927791595459 0.314238816500 0.201138496399 +vn -0.956224083900 -0.057976730168 0.286834865808 +vn -0.956224083900 -0.057976730168 0.286834865808 +vn -0.886307537556 -0.026594040915 0.462332934141 +vn -0.857345402241 0.352580279112 0.375027984381 +vn -0.886307537556 -0.026594040915 0.462332934141 +vn -0.956224083900 -0.057976730168 0.286834865808 +vn -0.852196872234 -0.426232755184 0.303456902504 +vn -0.852196872234 -0.426232755184 0.303456902504 +vn -0.780336201191 -0.401725471020 0.479261994362 +vn -0.886307537556 -0.026594040915 0.462332934141 +vn -0.780336201191 -0.401725471020 0.479261994362 +vn -0.852196872234 -0.426232755184 0.303456902504 +vn -0.631541669369 -0.734460175037 0.248441949487 +vn -0.631541669369 -0.734460175037 0.248441949487 +vn -0.555568754673 -0.715700089931 0.423221856356 +vn -0.780336201191 -0.401725471020 0.479261994362 +vn -0.555568754673 -0.715700089931 0.423221856356 +vn -0.631541669369 -0.734460175037 0.248441949487 +vn -0.327866882086 -0.935713112354 0.130170091987 +vn -0.327866882086 -0.935713112354 0.130170091987 +vn -0.246219098568 -0.920718669891 0.302742958069 +vn -0.555568754673 -0.715700089931 0.423221856356 +vn -0.246219098568 -0.920718669891 0.302742958069 +vn -0.327866882086 -0.935713112354 0.130170091987 +vn 0.012606930919 -0.999365031719 -0.033325370401 +vn 0.012606930919 -0.999365031719 -0.033325370401 +vn 0.100627504289 -0.985559940338 0.136182814837 +vn -0.246219098568 -0.920718669891 0.302742958069 +vn 0.100627504289 -0.985559940338 0.136182814837 +vn 0.012606930919 -0.999365031719 -0.033325370401 +vn 0.338061541319 -0.915723919868 -0.217173010111 +vn 0.338061541319 -0.915723919868 -0.217173010111 +vn 0.432129591703 -0.900362253189 -0.051105588675 +vn 0.100627504289 -0.985559940338 0.136182814837 +vn 0.432129591703 -0.900362253189 -0.051105588675 +vn 0.338061541319 -0.915723919868 -0.217173010111 +vn 0.598875761032 -0.697550654411 -0.393409401178 +vn 0.598875761032 -0.697550654411 -0.393409401178 +vn 0.697853982449 -0.678096115589 -0.230619743466 +vn 0.432129591703 -0.900362253189 -0.051105588675 +vn 0.697853982449 -0.678096115589 -0.230619743466 +vn 0.598875761032 -0.697550654411 -0.393409401178 +vn 0.755454063416 -0.378001183271 -0.535167455673 +vn 0.755454063416 -0.378001183271 -0.535167455673 +vn 0.857345044613 -0.352587401867 -0.375022053719 +vn 0.697853982449 -0.678096115589 -0.230619743466 +vn 0.857345044613 -0.352587401867 -0.375022053719 +vn 0.755454063416 -0.378001183271 -0.535167455673 +vn 0.783883988857 -0.005762599874 -0.620880603790 +vn 0.783883988857 -0.005762599874 -0.620880603790 +vn 0.886305391788 0.026597272605 -0.462336778641 +vn 0.857345044613 -0.352587401867 -0.375022053719 +vn 0.886305391788 0.026597272605 -0.462336778641 +vn 0.783883988857 -0.005762599874 -0.620880603790 +vn 0.679845094681 0.362510502338 -0.637492597103 +vn 0.679845094681 0.362510502338 -0.637492597103 +vn 0.780332505703 0.401737719774 -0.479257732630 +vn 0.886305391788 0.026597272605 -0.462336778641 +vn 0.780332505703 0.401737719774 -0.479257732630 +vn 0.679845094681 0.362510502338 -0.637492597103 +vn 0.459209173918 0.670695543289 -0.582489907742 +vn 0.459209173918 0.670695543289 -0.582489907742 +vn 0.555568575859 0.715697705746 -0.423226147890 +vn 0.780332505703 0.401737719774 -0.479257732630 +vn 0.555568575859 0.715697705746 -0.423226147890 +vn 0.459209173918 0.670695543289 -0.582489907742 +vn 0.155552893877 0.871945738792 -0.464234739542 +vn 0.155552893877 0.871945738792 -0.464234739542 +vn 0.246223002672 0.920717000961 -0.302744895220 +vn 0.555568575859 0.715697705746 -0.423226147890 +vn 0.246223002672 0.920717000961 -0.302744895220 +vn 0.155552893877 0.871945738792 -0.464234739542 +vn -0.184946745634 0.935617744923 -0.300689518452 +vn -0.184946745634 0.935617744923 -0.300689518452 +vn -0.100619047880 0.985560953617 -0.136181518435 +vn 0.246223002672 0.920717000961 -0.302744895220 +vn 0.667653024197 0.162887707353 0.726434469223 +vn 0.656706690788 0.291235148907 0.695642411709 +vn 0.567347586155 0.336215704679 0.751715183258 +vn 0.567347586155 0.336215704679 0.751715183258 +vn 0.463660359383 0.167292177677 0.870076119900 +vn 0.667653024197 0.162887707353 0.726434469223 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.427116841078 0.346271544695 0.835264742374 +vn 0.363943278790 0.341866672039 0.866413593292 +vn 0.363943278790 0.341866672039 0.866413593292 +vn 0.451448649168 0.167209327221 0.876490235329 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.452623456717 0.167246818542 0.875876963139 +vn 0.489619523287 0.348137021065 0.799420595169 +vn 0.489619523287 0.348137021065 0.799420595169 +vn 0.427116841078 0.346271544695 0.835264742374 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.452623456717 0.167246818542 0.875876963139 +vn 0.463660359383 0.167292177677 0.870076119900 +vn 0.567347586155 0.336215704679 0.751715183258 +vn 0.567347586155 0.336215704679 0.751715183258 +vn 0.489619523287 0.348137021065 0.799420595169 +vn 0.452623456717 0.167246818542 0.875876963139 +vn 0.451448649168 0.167209327221 0.876490235329 +vn 0.363943278790 0.341866672039 0.866413593292 +vn 0.283881247044 0.325743108988 0.901833057404 +vn 0.283881247044 0.325743108988 0.901833057404 +vn 0.440409421921 0.166868761182 0.882153272629 +vn 0.451448649168 0.167209327221 0.876490235329 +vn 0.283881247044 0.325743108988 0.901833057404 +vn 0.169255286455 0.259556770325 0.950780153275 +vn 0.194399654865 0.158964470029 0.967956125736 +vn 0.194399654865 0.158964470029 0.967956125736 +vn 0.440409421921 0.166868761182 0.882153272629 +vn 0.283881247044 0.325743108988 0.901833057404 +vn 0.194399654865 0.158964470029 0.967956125736 +vn 0.197535604239 0.024697216228 0.979984581470 +vn 0.305516988039 -0.015322029591 0.952063322067 +vn 0.305516988039 -0.015322029591 0.952063322067 +vn 0.440409421921 0.166868761182 0.882153272629 +vn 0.194399654865 0.158964470029 0.967956125736 +vn 0.451448649168 0.167209327221 0.876490235329 +vn 0.440409421921 0.166868761182 0.882153272629 +vn 0.305516988039 -0.015322029591 0.952063322067 +vn 0.305516988039 -0.015322029591 0.952063322067 +vn 0.394724458456 -0.022512111813 0.918523728848 +vn 0.451448649168 0.167209327221 0.876490235329 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.451448649168 0.167209327221 0.876490235329 +vn 0.394724458456 -0.022512111813 0.918523728848 +vn 0.394724458456 -0.022512111813 0.918523728848 +vn 0.460756331682 -0.017682855949 0.887350499630 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.521523356438 -0.012042840943 0.853152036667 +vn 0.452623456717 0.167246818542 0.875876963139 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.452018499374 0.167220517993 0.876194357872 +vn 0.460756331682 -0.017682855949 0.887350499630 +vn 0.521523356438 -0.012042840943 0.853152036667 +vn 0.591680169106 0.003373243380 0.806165754795 +vn 0.463660359383 0.167292177677 0.870076119900 +vn 0.452623456717 0.167246818542 0.875876963139 +vn 0.452623456717 0.167246818542 0.875876963139 +vn 0.521523356438 -0.012042840943 0.853152036667 +vn 0.591680169106 0.003373243380 0.806165754795 +vn 0.463660359383 0.167292177677 0.870076119900 +vn 0.591680169106 0.003373243380 0.806165754795 +vn 0.684162914753 0.063145652413 0.726590454578 +vn 0.684162914753 0.063145652413 0.726590454578 +vn 0.667653024197 0.162887707353 0.726434469223 +vn 0.463660359383 0.167292177677 0.870076119900 +vn 0.363943278790 0.341866672039 0.866413593292 +vn 0.427116841078 0.346271544695 0.835264742374 +vn 0.344095647335 0.632951617241 0.693520307541 +vn 0.344095647335 0.632951617241 0.693520307541 +vn 0.176284044981 0.601203441620 0.779408991337 +vn 0.363943278790 0.341866672039 0.866413593292 +vn 0.283881247044 0.325743108988 0.901833057404 +vn 0.363943278790 0.341866672039 0.866413593292 +vn 0.176284044981 0.601203441620 0.779408991337 +vn 0.176284044981 0.601203441620 0.779408991337 +vn 0.016968332231 0.508910477161 0.860652208328 +vn 0.283881247044 0.325743108988 0.901833057404 +vn 0.169255286455 0.259556770325 0.950780153275 +vn 0.283881247044 0.325743108988 0.901833057404 +vn 0.016968332231 0.508910477161 0.860652208328 +vn 0.016968332231 0.508910477161 0.860652208328 +vn -0.107152707875 0.334624469280 0.936239659786 +vn 0.169255286455 0.259556770325 0.950780153275 +vn 0.194399654865 0.158964470029 0.967956125736 +vn 0.169255286455 0.259556770325 0.950780153275 +vn -0.107152707875 0.334624469280 0.936239659786 +vn -0.107152707875 0.334624469280 0.936239659786 +vn -0.115241959691 0.127359017730 0.985139071941 +vn 0.194399654865 0.158964470029 0.967956125736 +vn 0.197535604239 0.024697216228 0.979984581470 +vn 0.194399654865 0.158964470029 0.967956125736 +vn -0.115241959691 0.127359017730 0.985139071941 +vn -0.115241959691 0.127359017730 0.985139071941 +vn -0.057254210114 -0.091495782137 0.994158148766 +vn 0.197535604239 0.024697216228 0.979984581470 +vn 0.305516988039 -0.015322029591 0.952063322067 +vn 0.197535604239 0.024697216228 0.979984581470 +vn -0.057254210114 -0.091495782137 0.994158148766 +vn -0.057254210114 -0.091495782137 0.994158148766 +vn 0.100197784603 -0.239033892751 0.965827703476 +vn 0.305516988039 -0.015322029591 0.952063322067 +vn 0.394724458456 -0.022512111813 0.918523728848 +vn 0.305516988039 -0.015322029591 0.952063322067 +vn 0.100197784603 -0.239033892751 0.965827703476 +vn 0.100197784603 -0.239033892751 0.965827703476 +vn 0.271152794361 -0.318406075239 0.908346712589 +vn 0.394724458456 -0.022512111813 0.918523728848 +vn 0.460756331682 -0.017682855949 0.887350499630 +vn 0.394724458456 -0.022512111813 0.918523728848 +vn 0.271152794361 -0.318406075239 0.908346712589 +vn 0.271152794361 -0.318406075239 0.908346712589 +vn 0.441843092442 -0.342358052731 0.829195797443 +vn 0.460756331682 -0.017682855949 0.887350499630 +vn 0.521523356438 -0.012042840943 0.853152036667 +vn 0.460756331682 -0.017682855949 0.887350499630 +vn 0.441843092442 -0.342358052731 0.829195797443 +vn 0.441843092442 -0.342358052731 0.829195797443 +vn 0.604076445103 -0.310684293509 0.733871161938 +vn 0.521523356438 -0.012042840943 0.853152036667 +vn 0.591680169106 0.003373243380 0.806165754795 +vn 0.521523356438 -0.012042840943 0.853152036667 +vn 0.604076445103 -0.310684293509 0.733871161938 +vn 0.604076445103 -0.310684293509 0.733871161938 +vn 0.747208595276 -0.221942380071 0.626435041428 +vn 0.591680169106 0.003373243380 0.806165754795 +vn 0.684162914753 0.063145652413 0.726590454578 +vn 0.591680169106 0.003373243380 0.806165754795 +vn 0.747208595276 -0.221942380071 0.626435041428 +vn 0.747208595276 -0.221942380071 0.626435041428 +vn 0.851525843143 -0.053865674883 0.521538317204 +vn 0.684162914753 0.063145652413 0.726590454578 +vn 0.667653024197 0.162887707353 0.726434469223 +vn 0.684162914753 0.063145652413 0.726590454578 +vn 0.851525843143 -0.053865674883 0.521538317204 +vn 0.851525843143 -0.053865674883 0.521538317204 +vn 0.863084256649 0.151679724455 0.481745600700 +vn 0.667653024197 0.162887707353 0.726434469223 +vn 0.656706690788 0.291235148907 0.695642411709 +vn 0.667653024197 0.162887707353 0.726434469223 +vn 0.863084256649 0.151679724455 0.481745600700 +vn 0.863084256649 0.151679724455 0.481745600700 +vn 0.804317176342 0.366487383842 0.467718809843 +vn 0.656706690788 0.291235148907 0.695642411709 +vn 0.567347586155 0.336215704679 0.751715183258 +vn 0.656706690788 0.291235148907 0.695642411709 +vn 0.804317176342 0.366487383842 0.467718809843 +vn 0.804317176342 0.366487383842 0.467718809843 +vn 0.669112265110 0.520763397217 0.530183255672 +vn 0.567347586155 0.336215704679 0.751715183258 +vn 0.489619523287 0.348137021065 0.799420595169 +vn 0.567347586155 0.336215704679 0.751715183258 +vn 0.669112265110 0.520763397217 0.530183255672 +vn 0.669112265110 0.520763397217 0.530183255672 +vn 0.511473476887 0.606199979782 0.609029054642 +vn 0.489619523287 0.348137021065 0.799420595169 +vn 0.427116841078 0.346271544695 0.835264742374 +vn 0.489619523287 0.348137021065 0.799420595169 +vn 0.511473476887 0.606199979782 0.609029054642 +vn 0.511473476887 0.606199979782 0.609029054642 +vn 0.344095647335 0.632951617241 0.693520307541 +vn 0.427116841078 0.346271544695 0.835264742374 +vn -0.035729635507 0.607942640781 0.793176591396 +vn 0.155109524727 0.599816203117 0.784959554672 +vn 0.226580724120 0.800231337547 0.555239558220 +vn 0.226580724120 0.800231337547 0.555239558220 +vn -0.063553564250 0.828384757042 0.556542575359 +vn -0.035729635507 0.607942640781 0.793176591396 +vn 0.155109524727 0.599816203117 0.784959554672 +vn 0.343748748302 0.530425429344 0.774910092354 +vn 0.484057068825 0.664243340492 0.569622218609 +vn 0.484057068825 0.664243340492 0.569622218609 +vn 0.226580724120 0.800231337547 0.555239558220 +vn 0.155109524727 0.599816203117 0.784959554672 +vn 0.343748748302 0.530425429344 0.774910092354 +vn 0.509252369404 0.375231623650 0.774508416653 +vn 0.669634461403 0.441104024649 0.597508907318 +vn 0.669634461403 0.441104024649 0.597508907318 +vn 0.484057068825 0.664243340492 0.569622218609 +vn 0.343748748302 0.530425429344 0.774910092354 +vn 0.509252369404 0.375231623650 0.774508416653 +vn 0.565602898598 0.172177463770 0.806503772736 +vn 0.755023717880 0.164784476161 0.634653627872 +vn 0.755023717880 0.164784476161 0.634653627872 +vn 0.669634461403 0.441104024649 0.597508907318 +vn 0.509252369404 0.375231623650 0.774508416653 +vn 0.565602898598 0.172177463770 0.806503772736 +vn 0.546779811382 -0.051727127284 0.835677087307 +vn 0.727189660072 -0.122606091201 0.675398409367 +vn 0.727189660072 -0.122606091201 0.675398409367 +vn 0.755023717880 0.164784476161 0.634653627872 +vn 0.565602898598 0.172177463770 0.806503772736 +vn 0.546779811382 -0.051727127284 0.835677087307 +vn 0.415045827627 -0.218302249908 0.883221983910 +vn 0.590394258499 -0.377241045237 0.713529169559 +vn 0.590394258499 -0.377241045237 0.713529169559 +vn 0.727189660072 -0.122606091201 0.675398409367 +vn 0.546779811382 -0.051727127284 0.835677087307 +vn 0.415045827627 -0.218302249908 0.883221983910 +vn 0.249044612050 -0.319868445396 0.914144933224 +vn 0.365469276905 -0.560368835926 0.743248939514 +vn 0.365469276905 -0.560368835926 0.743248939514 +vn 0.590394258499 -0.377241045237 0.713529169559 +vn 0.415045827627 -0.218302249908 0.883221983910 +vn 0.249044612050 -0.319868445396 0.914144933224 +vn 0.065878793597 -0.367101311684 0.927845120430 +vn 0.086761683226 -0.644093751907 0.760010302067 +vn 0.086761683226 -0.644093751907 0.760010302067 +vn 0.365469276905 -0.560368835926 0.743248939514 +vn 0.249044612050 -0.319868445396 0.914144933224 +vn 0.065878793597 -0.367101311684 0.927845120430 +vn -0.124714381993 -0.358643174171 0.925106167793 +vn -0.203307241201 -0.615718901157 0.761286020279 +vn -0.203307241201 -0.615718901157 0.761286020279 +vn 0.086761683226 -0.644093751907 0.760010302067 +vn 0.065878793597 -0.367101311684 0.927845120430 +vn -0.124714381993 -0.358643174171 0.925106167793 +vn -0.311798155308 -0.291660279036 0.904276609421 +vn -0.460575342178 -0.479621708393 0.746882438660 +vn -0.460575342178 -0.479621708393 0.746882438660 +vn -0.203307241201 -0.615718901157 0.761286020279 +vn -0.124714381993 -0.358643174171 0.925106167793 +vn -0.311798155308 -0.291660279036 0.904276609421 +vn -0.473762780428 -0.141139611602 0.869268894196 +vn -0.645931184292 -0.256549030542 0.718996167183 +vn -0.645931184292 -0.256549030542 0.718996167183 +vn -0.460575342178 -0.479621708393 0.746882438660 +vn -0.311798155308 -0.291660279036 0.904276609421 +vn -0.473762780428 -0.141139611602 0.869268894196 +vn -0.528437733650 0.060071583837 0.846844136715 +vn -0.731200158596 0.019573226571 0.681882083416 +vn -0.731200158596 0.019573226571 0.681882083416 +vn -0.645931184292 -0.256549030542 0.718996167183 +vn -0.473762780428 -0.141139611602 0.869268894196 +vn -0.528437733650 0.060071583837 0.846844136715 +vn -0.510871827602 0.279885828495 0.812818467617 +vn -0.703438580036 0.306727319956 0.641164958477 +vn -0.703438580036 0.306727319956 0.641164958477 +vn -0.731200158596 0.019573226571 0.681882083416 +vn -0.528437733650 0.060071583837 0.846844136715 +vn -0.510871827602 0.279885828495 0.812818467617 +vn -0.382493257523 0.451562076807 0.806095898151 +vn -0.566846191883 0.561266124249 0.603047072887 +vn -0.566846191883 0.561266124249 0.603047072887 +vn -0.703438580036 0.306727319956 0.641164958477 +vn -0.510871827602 0.279885828495 0.812818467617 +vn -0.382493257523 0.451562076807 0.806095898151 +vn -0.218273103237 0.558162093163 0.800507307053 +vn -0.342163980007 0.744452655315 0.573335886002 +vn -0.342163980007 0.744452655315 0.573335886002 +vn -0.566846191883 0.561266124249 0.603047072887 +vn -0.382493257523 0.451562076807 0.806095898151 +vn -0.218273103237 0.558162093163 0.800507307053 +vn -0.035729635507 0.607942640781 0.793176591396 +vn -0.063553564250 0.828384757042 0.556542575359 +vn -0.063553564250 0.828384757042 0.556542575359 +vn -0.342163980007 0.744452655315 0.573335886002 +vn -0.218273103237 0.558162093163 0.800507307053 +vn -0.063553564250 0.828384757042 0.556542575359 +vn 0.226580724120 0.800231337547 0.555239558220 +vn 0.274038642645 0.932397603989 0.235664024949 +vn 0.274038642645 0.932397603989 0.235664024949 +vn -0.087142288685 0.967561662197 0.237130120397 +vn -0.063553564250 0.828384757042 0.556542575359 +vn 0.226580724120 0.800231337547 0.555239558220 +vn 0.484057068825 0.664243340492 0.569622218609 +vn 0.594477415085 0.763044595718 0.253691971302 +vn 0.594477415085 0.763044595718 0.253691971302 +vn 0.274038642645 0.932397603989 0.235664024949 +vn 0.226580724120 0.800231337547 0.555239558220 +vn 0.484057068825 0.664243340492 0.569622218609 +vn 0.669634461403 0.441104024649 0.597508907318 +vn 0.825399279594 0.485264062881 0.288504391909 +vn 0.825399279594 0.485264062881 0.288504391909 +vn 0.594477415085 0.763044595718 0.253691971302 +vn 0.484057068825 0.664243340492 0.569622218609 +vn 0.669634461403 0.441104024649 0.597508907318 +vn 0.755023717880 0.164784476161 0.634653627872 +vn 0.931638896465 0.141375392675 0.334756553173 +vn 0.931638896465 0.141375392675 0.334756553173 +vn 0.825399279594 0.485264062881 0.288504391909 +vn 0.669634461403 0.441104024649 0.597508907318 +vn 0.755023717880 0.164784476161 0.634653627872 +vn 0.727189660072 -0.122606091201 0.675398409367 +vn 0.897019803524 -0.216296717525 0.385449409485 +vn 0.897019803524 -0.216296717525 0.385449409485 +vn 0.931638896465 0.141375392675 0.334756553173 +vn 0.755023717880 0.164784476161 0.634653627872 +vn 0.727189660072 -0.122606091201 0.675398409367 +vn 0.590394258499 -0.377241045237 0.713529169559 +vn 0.726828277111 -0.533273994923 0.432827323675 +vn 0.726828277111 -0.533273994923 0.432827323675 +vn 0.897019803524 -0.216296717525 0.385449409485 +vn 0.727189660072 -0.122606091201 0.675398409367 +vn 0.590394258499 -0.377241045237 0.713529169559 +vn 0.365469276905 -0.560368835926 0.743248939514 +vn 0.446954131126 -0.761327028275 0.469694793224 +vn 0.446954131126 -0.761327028275 0.469694793224 +vn 0.726828277111 -0.533273994923 0.432827323675 +vn 0.590394258499 -0.377241045237 0.713529169559 +vn 0.365469276905 -0.560368835926 0.743248939514 +vn 0.086761683226 -0.644093751907 0.760010302067 +vn 0.100011304021 -0.865711152554 0.490450710058 +vn 0.100011304021 -0.865711152554 0.490450710058 +vn 0.446954131126 -0.761327028275 0.469694793224 +vn 0.365469276905 -0.560368835926 0.743248939514 +vn 0.086761683226 -0.644093751907 0.760010302067 +vn -0.203307241201 -0.615718901157 0.761286020279 +vn -0.261155962944 -0.830548822880 0.491920948029 +vn -0.261155962944 -0.830548822880 0.491920948029 +vn 0.100011304021 -0.865711152554 0.490450710058 +vn 0.086761683226 -0.644093751907 0.760010302067 +vn -0.203307241201 -0.615718901157 0.761286020279 +vn -0.460575342178 -0.479621708393 0.746882438660 +vn -0.581612646580 -0.661173880100 0.473894327879 +vn -0.581612646580 -0.661173880100 0.473894327879 +vn -0.261155962944 -0.830548822880 0.491920948029 +vn -0.203307241201 -0.615718901157 0.761286020279 +vn -0.460575342178 -0.479621708393 0.746882438660 +vn -0.645931184292 -0.256549030542 0.718996167183 +vn -0.812520205975 -0.383413404226 0.439095735550 +vn -0.812520205975 -0.383413404226 0.439095735550 +vn -0.581612646580 -0.661173880100 0.473894327879 +vn -0.460575342178 -0.479621708393 0.746882438660 +vn -0.645931184292 -0.256549030542 0.718996167183 +vn -0.731200158596 0.019573226571 0.681882083416 +vn -0.918760716915 -0.039528399706 0.392831087112 +vn -0.918760716915 -0.039528399706 0.392831087112 +vn -0.812520205975 -0.383413404226 0.439095735550 +vn -0.645931184292 -0.256549030542 0.718996167183 +vn -0.731200158596 0.019573226571 0.681882083416 +vn -0.703438580036 0.306727319956 0.641164958477 +vn -0.884145736694 0.318151026964 0.342149436474 +vn -0.884145736694 0.318151026964 0.342149436474 +vn -0.918760716915 -0.039528399706 0.392831087112 +vn -0.731200158596 0.019573226571 0.681882083416 +vn -0.703438580036 0.306727319956 0.641164958477 +vn -0.566846191883 0.561266124249 0.603047072887 +vn -0.713946640491 0.635133862495 0.294762849808 +vn -0.713946640491 0.635133862495 0.294762849808 +vn -0.884145736694 0.318151026964 0.342149436474 +vn -0.703438580036 0.306727319956 0.641164958477 +vn -0.566846191883 0.561266124249 0.603047072887 +vn -0.342163980007 0.744452655315 0.573335886002 +vn -0.434065520763 0.863180398941 0.257888972759 +vn -0.434065520763 0.863180398941 0.257888972759 +vn -0.713946640491 0.635133862495 0.294762849808 +vn -0.566846191883 0.561266124249 0.603047072887 +vn -0.342163980007 0.744452655315 0.573335886002 +vn -0.063553564250 0.828384757042 0.556542575359 +vn -0.087142288685 0.967561662197 0.237130120397 +vn -0.087142288685 0.967561662197 0.237130120397 +vn -0.434065520763 0.863180398941 0.257888972759 +vn -0.342163980007 0.744452655315 0.573335886002 +vn -0.087142288685 0.967561662197 0.237130120397 +vn 0.274038642645 0.932397603989 0.235664024949 +vn 0.287722229958 0.947753131390 -0.137767583132 +vn 0.287722229958 0.947753131390 -0.137767583132 +vn -0.100611813366 0.985561251640 -0.136184900999 +vn -0.087142288685 0.967561662197 0.237130120397 +vn 0.274038642645 0.932397603989 0.235664024949 +vn 0.594477415085 0.763044595718 0.253691971302 +vn 0.632264733315 0.765655398369 -0.118377074599 +vn 0.632264733315 0.765655398369 -0.118377074599 +vn 0.287722229958 0.947753131390 -0.137767583132 +vn 0.274038642645 0.932397603989 0.235664024949 +vn 0.594477415085 0.763044595718 0.253691971302 +vn 0.825399279594 0.485264062881 0.288504391909 +vn 0.880540430546 0.467004269361 -0.080966107547 +vn 0.880540430546 0.467004269361 -0.080966107547 +vn 0.632264733315 0.765655398369 -0.118377074599 +vn 0.594477415085 0.763044595718 0.253691971302 +vn 0.825399279594 0.485264062881 0.288504391909 +vn 0.931638896465 0.141375392675 0.334756553173 +vn 0.994772076607 0.097234629095 -0.031207935885 +vn 0.994772076607 0.097234629095 -0.031207935885 +vn 0.880540430546 0.467004269361 -0.080966107547 +vn 0.825399279594 0.485264062881 0.288504391909 +vn 0.931638896465 0.141375392675 0.334756553173 +vn 0.897019803524 -0.216296717525 0.385449409485 +vn 0.957554459572 -0.287310987711 0.023277990520 +vn 0.957554459572 -0.287310987711 0.023277990520 +vn 0.994772076607 0.097234629095 -0.031207935885 +vn 0.931638896465 0.141375392675 0.334756553173 +vn 0.897019803524 -0.216296717525 0.385449409485 +vn 0.726828277111 -0.533273994923 0.432827323675 +vn 0.774556040764 -0.628134548664 0.074228972197 +vn 0.774556040764 -0.628134548664 0.074228972197 +vn 0.957554459572 -0.287310987711 0.023277990520 +vn 0.897019803524 -0.216296717525 0.385449409485 +vn 0.726828277111 -0.533273994923 0.432827323675 +vn 0.446954131126 -0.761327028275 0.469694793224 +vn 0.473634302616 -0.873328685760 0.113875091076 +vn 0.473634302616 -0.873328685760 0.113875091076 +vn 0.774556040764 -0.628134548664 0.074228972197 +vn 0.726828277111 -0.533273994923 0.432827323675 +vn 0.446954131126 -0.761327028275 0.469694793224 +vn 0.100011304021 -0.865711152554 0.490450710058 +vn 0.100609168410 -0.985559642315 0.136198222637 +vn 0.100609168410 -0.985559642315 0.136198222637 +vn 0.473634302616 -0.873328685760 0.113875091076 +vn 0.446954131126 -0.761327028275 0.469694793224 +vn 0.100011304021 -0.865711152554 0.490450710058 +vn -0.261155962944 -0.830548822880 0.491920948029 +vn -0.287719607353 -0.947753310204 0.137771964073 +vn -0.287719607353 -0.947753310204 0.137771964073 +vn 0.100609168410 -0.985559642315 0.136198222637 +vn 0.100011304021 -0.865711152554 0.490450710058 +vn -0.261155962944 -0.830548822880 0.491920948029 +vn -0.581612646580 -0.661173880100 0.473894327879 +vn -0.632260084152 -0.765659391880 0.118376106024 +vn -0.632260084152 -0.765659391880 0.118376106024 +vn -0.287719607353 -0.947753310204 0.137771964073 +vn -0.261155962944 -0.830548822880 0.491920948029 +vn -0.581612646580 -0.661173880100 0.473894327879 +vn -0.812520205975 -0.383413404226 0.439095735550 +vn -0.880548179150 -0.466990053654 0.080964274704 +vn -0.880548179150 -0.466990053654 0.080964274704 +vn -0.632260084152 -0.765659391880 0.118376106024 +vn -0.581612646580 -0.661173880100 0.473894327879 +vn -0.812520205975 -0.383413404226 0.439095735550 +vn -0.918760716915 -0.039528399706 0.392831087112 +vn -0.994770646095 -0.097247369587 0.031213214621 +vn -0.994770646095 -0.097247369587 0.031213214621 +vn -0.880548179150 -0.466990053654 0.080964274704 +vn -0.812520205975 -0.383413404226 0.439095735550 +vn -0.918760716915 -0.039528399706 0.392831087112 +vn -0.884145736694 0.318151026964 0.342149436474 +vn -0.957554757595 0.287309199572 -0.023287288845 +vn -0.957554757595 0.287309199572 -0.023287288845 +vn -0.994770646095 -0.097247369587 0.031213214621 +vn -0.918760716915 -0.039528399706 0.392831087112 +vn -0.884145736694 0.318151026964 0.342149436474 +vn -0.713946640491 0.635133862495 0.294762849808 +vn -0.774568021297 0.628118455410 -0.074239954352 +vn -0.774568021297 0.628118455410 -0.074239954352 +vn -0.957554757595 0.287309199572 -0.023287288845 +vn -0.884145736694 0.318151026964 0.342149436474 +vn -0.713946640491 0.635133862495 0.294762849808 +vn -0.434065520763 0.863180398941 0.257888972759 +vn -0.473643004894 0.873323142529 -0.113881506026 +vn -0.473643004894 0.873323142529 -0.113881506026 +vn -0.774568021297 0.628118455410 -0.074239954352 +vn -0.713946640491 0.635133862495 0.294762849808 +vn -0.434065520763 0.863180398941 0.257888972759 +vn -0.087142288685 0.967561662197 0.237130120397 +vn -0.100611813366 0.985561251640 -0.136184900999 +vn -0.100611813366 0.985561251640 -0.136184900999 +vn -0.473643004894 0.873323142529 -0.113881506026 +vn -0.434065520763 0.863180398941 0.257888972759 +vn -0.100611813366 0.985561251640 -0.136184900999 +vn 0.287722229958 0.947753131390 -0.137767583132 +vn 0.279109090567 0.903948545456 -0.323998630047 +vn 0.279109090567 0.903948545456 -0.323998630047 +vn -0.102105967700 0.941065251827 -0.322444617748 +vn -0.100611813366 0.985561251640 -0.136184900999 +vn 0.287722229958 0.947753131390 -0.137767583132 +vn 0.632264733315 0.765655398369 -0.118377074599 +vn 0.617344737053 0.725185930729 -0.304944008589 +vn 0.617344737053 0.725185930729 -0.304944008589 +vn 0.279109090567 0.903948545456 -0.323998630047 +vn 0.287722229958 0.947753131390 -0.137767583132 +vn 0.632264733315 0.765655398369 -0.118377074599 +vn 0.880540430546 0.467004269361 -0.080966107547 +vn 0.861044466496 0.432026088238 -0.268245995045 +vn 0.861044466496 0.432026088238 -0.268245995045 +vn 0.617344737053 0.725185930729 -0.304944008589 +vn 0.632264733315 0.765655398369 -0.118377074599 +vn 0.880540430546 0.467004269361 -0.080966107547 +vn 0.994772076607 0.097234629095 -0.031207935885 +vn 0.973190963268 0.069042496383 -0.219391137362 +vn 0.973190963268 0.069042496383 -0.219391137362 +vn 0.861044466496 0.432026088238 -0.268245995045 +vn 0.880540430546 0.467004269361 -0.080966107547 +vn 0.994772076607 0.097234629095 -0.031207935885 +vn 0.957554459572 -0.287310987711 0.023277990520 +vn 0.936656296253 -0.308471262455 -0.165892928839 +vn 0.936656296253 -0.308471262455 -0.165892928839 +vn 0.973190963268 0.069042496383 -0.219391137362 +vn 0.994772076607 0.097234629095 -0.031207935885 +vn 0.957554459572 -0.287310987711 0.023277990520 +vn 0.774556040764 -0.628134548664 0.074228972197 +vn 0.757012963295 -0.643040478230 -0.115889355540 +vn 0.757012963295 -0.643040478230 -0.115889355540 +vn 0.936656296253 -0.308471262455 -0.165892928839 +vn 0.957554459572 -0.287310987711 0.023277990520 +vn 0.774556040764 -0.628134548664 0.074228972197 +vn 0.473634302616 -0.873328685760 0.113875091076 +vn 0.461620241404 -0.883733093739 -0.076957985759 +vn 0.461620241404 -0.883733093739 -0.076957985759 +vn 0.757012963295 -0.643040478230 -0.115889355540 +vn 0.774556040764 -0.628134548664 0.074228972197 +vn 0.473634302616 -0.873328685760 0.113875091076 +vn 0.100609168410 -0.985559642315 0.136198222637 +vn 0.095433920622 -0.993913292885 -0.055033963174 +vn 0.095433920622 -0.993913292885 -0.055033963174 +vn 0.461620241404 -0.883733093739 -0.076957985759 +vn 0.473634302616 -0.873328685760 0.113875091076 +vn 0.100609168410 -0.985559642315 0.136198222637 +vn -0.287719607353 -0.947753310204 0.137771964073 +vn -0.285777777433 -0.956801950932 -0.053489483893 +vn -0.285777777433 -0.956801950932 -0.053489483893 +vn 0.095433920622 -0.993913292885 -0.055033963174 +vn 0.100609168410 -0.985559642315 0.136198222637 +vn -0.287719607353 -0.947753310204 0.137771964073 +vn -0.632260084152 -0.765659391880 0.118376106024 +vn -0.624005198479 -0.778046429157 -0.072535090148 +vn -0.624005198479 -0.778046429157 -0.072535090148 +vn -0.285777777433 -0.956801950932 -0.053489483893 +vn -0.287719607353 -0.947753310204 0.137771964073 +vn -0.632260084152 -0.765659391880 0.118376106024 +vn -0.880548179150 -0.466990053654 0.080964274704 +vn -0.867740154266 -0.484856963158 -0.109273917973 +vn -0.867740154266 -0.484856963158 -0.109273917973 +vn -0.624005198479 -0.778046429157 -0.072535090148 +vn -0.632260084152 -0.765659391880 0.118376106024 +vn -0.880548179150 -0.466990053654 0.080964274704 +vn -0.994770646095 -0.097247369587 0.031213214621 +vn -0.979872226715 -0.121874794364 -0.158104330301 +vn -0.979872226715 -0.121874794364 -0.158104330301 +vn -0.867740154266 -0.484856963158 -0.109273917973 +vn -0.880548179150 -0.466990053654 0.080964274704 +vn -0.994770646095 -0.097247369587 0.031213214621 +vn -0.957554757595 0.287309199572 -0.023287288845 +vn -0.943332910538 0.255631208420 -0.211602717638 +vn -0.943332910538 0.255631208420 -0.211602717638 +vn -0.979872226715 -0.121874794364 -0.158104330301 +vn -0.994770646095 -0.097247369587 0.031213214621 +vn -0.957554757595 0.287309199572 -0.023287288845 +vn -0.774568021297 0.628118455410 -0.074239954352 +vn -0.763698756695 0.590180635452 -0.261631429195 +vn -0.763698756695 0.590180635452 -0.261631429195 +vn -0.943332910538 0.255631208420 -0.211602717638 +vn -0.957554757595 0.287309199572 -0.023287288845 +vn -0.774568021297 0.628118455410 -0.074239954352 +vn -0.473643004894 0.873323142529 -0.113881506026 +vn -0.468307971954 0.830874264240 -0.300558716059 +vn -0.468307971954 0.830874264240 -0.300558716059 +vn -0.763698756695 0.590180635452 -0.261631429195 +vn -0.774568021297 0.628118455410 -0.074239954352 +vn -0.473643004894 0.873323142529 -0.113881506026 +vn -0.100611813366 0.985561251640 -0.136184900999 +vn -0.102105967700 0.941065251827 -0.322444617748 +vn -0.102105967700 0.941065251827 -0.322444617748 +vn -0.468307971954 0.830874264240 -0.300558716059 +vn -0.473643004894 0.873323142529 -0.113881506026 +vn -0.241403773427 0.103066213429 0.964936017990 +vn 0.004517787136 0.137057393789 0.990552783012 +vn -0.163651511073 0.288096219301 0.943514049053 +vn -0.163651511073 0.288096219301 0.943514049053 +vn -0.262741386890 0.230674043298 0.936886548996 +vn -0.241403773427 0.103066213429 0.964936017990 +vn 0.017514187843 0.138613402843 0.990191698074 +vn 0.018172575161 0.138676419854 0.990171015263 +vn 0.067393772304 0.322359681129 0.944215178490 +vn 0.067393772304 0.322359681129 0.944215178490 +vn -0.002960407641 0.317960262299 0.948099434376 +vn 0.017514187843 0.138613402843 0.990191698074 +vn 0.017514187843 0.138613402843 0.990191698074 +vn -0.002960407641 0.317960262299 0.948099434376 +vn -0.074658878148 0.311024487019 0.947464942932 +vn -0.074658878148 0.311024487019 0.947464942932 +vn 0.016861176118 0.138552471995 0.990211546421 +vn 0.017514187843 0.138613402843 0.990191698074 +vn 0.016861176118 0.138552471995 0.990211546421 +vn -0.074658878148 0.311024487019 0.947464942932 +vn -0.163651511073 0.288096219301 0.943514049053 +vn -0.163651511073 0.288096219301 0.943514049053 +vn 0.004517787136 0.137057393789 0.990552783012 +vn 0.016861176118 0.138552471995 0.990211546421 +vn 0.018172575161 0.138676419854 0.990171015263 +vn 0.030540788546 0.139876529574 0.989697813988 +vn 0.155877947807 0.317323088646 0.935418665409 +vn 0.155877947807 0.317323088646 0.935418665409 +vn 0.067393772304 0.322359681129 0.944215178490 +vn 0.018172575161 0.138676419854 0.990171015263 +vn 0.155877947807 0.317323088646 0.935418665409 +vn 0.030540788546 0.139876529574 0.989697813988 +vn 0.285920530558 0.164982482791 0.943943977356 +vn 0.285920530558 0.164982482791 0.943943977356 +vn 0.286905646324 0.267333179712 0.919901132584 +vn 0.155877947807 0.317323088646 0.935418665409 +vn 0.285920530558 0.164982482791 0.943943977356 +vn 0.030540788546 0.139876529574 0.989697813988 +vn 0.203566029668 -0.022038534284 0.978813171387 +vn 0.203566029668 -0.022038534284 0.978813171387 +vn 0.305570989847 0.031798329204 0.951638162136 +vn 0.285920530558 0.164982482791 0.943943977356 +vn 0.018172575161 0.138676419854 0.990171015263 +vn 0.111007757485 -0.041198842227 0.992965221405 +vn 0.203566029668 -0.022038534284 0.978813171387 +vn 0.203566029668 -0.022038534284 0.978813171387 +vn 0.030540788546 0.139876529574 0.989697813988 +vn 0.018172575161 0.138676419854 0.990171015263 +vn 0.017514187843 0.138613402843 0.990191698074 +vn 0.038118865341 -0.045521553606 0.998235821724 +vn 0.111007757485 -0.041198842227 0.992965221405 +vn 0.111007757485 -0.041198842227 0.992965221405 +vn 0.018172575161 0.138676419854 0.990171015263 +vn 0.017514187843 0.138613402843 0.990191698074 +vn -0.031741838902 -0.048425141722 0.998322308064 +vn 0.038118865341 -0.045521553606 0.998235821724 +vn 0.017514187843 0.138613402843 0.990191698074 +vn 0.017514187843 0.138613402843 0.990191698074 +vn 0.016861176118 0.138552471995 0.990211546421 +vn -0.031741838902 -0.048425141722 0.998322308064 +vn -0.117219403386 -0.043315853924 0.992160975933 +vn -0.031741838902 -0.048425141722 0.998322308064 +vn 0.016861176118 0.138552471995 0.990211546421 +vn 0.016861176118 0.138552471995 0.990211546421 +vn 0.004517787136 0.137057393789 0.990552783012 +vn -0.117219403386 -0.043315853924 0.992160975933 +vn 0.004517787136 0.137057393789 0.990552783012 +vn -0.241403773427 0.103066213429 0.964936017990 +vn -0.243293151259 0.002079511527 0.969950556755 +vn -0.243293151259 0.002079511527 0.969950556755 +vn -0.117219403386 -0.043315853924 0.992160975933 +vn 0.004517787136 0.137057393789 0.990552783012 +vn 0.067393772304 0.322359681129 0.944215178490 +vn 0.155109524727 0.599816203117 0.784959554672 +vn -0.035729635507 0.607942640781 0.793176591396 +vn -0.035729635507 0.607942640781 0.793176591396 +vn -0.002960407641 0.317960262299 0.948099434376 +vn 0.067393772304 0.322359681129 0.944215178490 +vn 0.155877947807 0.317323088646 0.935418665409 +vn 0.343748748302 0.530425429344 0.774910092354 +vn 0.155109524727 0.599816203117 0.784959554672 +vn 0.155109524727 0.599816203117 0.784959554672 +vn 0.067393772304 0.322359681129 0.944215178490 +vn 0.155877947807 0.317323088646 0.935418665409 +vn 0.286905646324 0.267333179712 0.919901132584 +vn 0.509252369404 0.375231623650 0.774508416653 +vn 0.343748748302 0.530425429344 0.774910092354 +vn 0.343748748302 0.530425429344 0.774910092354 +vn 0.155877947807 0.317323088646 0.935418665409 +vn 0.286905646324 0.267333179712 0.919901132584 +vn 0.285920530558 0.164982482791 0.943943977356 +vn 0.565602898598 0.172177463770 0.806503772736 +vn 0.509252369404 0.375231623650 0.774508416653 +vn 0.509252369404 0.375231623650 0.774508416653 +vn 0.286905646324 0.267333179712 0.919901132584 +vn 0.285920530558 0.164982482791 0.943943977356 +vn 0.305570989847 0.031798329204 0.951638162136 +vn 0.546779811382 -0.051727127284 0.835677087307 +vn 0.565602898598 0.172177463770 0.806503772736 +vn 0.565602898598 0.172177463770 0.806503772736 +vn 0.285920530558 0.164982482791 0.943943977356 +vn 0.305570989847 0.031798329204 0.951638162136 +vn 0.203566029668 -0.022038534284 0.978813171387 +vn 0.415045827627 -0.218302249908 0.883221983910 +vn 0.546779811382 -0.051727127284 0.835677087307 +vn 0.546779811382 -0.051727127284 0.835677087307 +vn 0.305570989847 0.031798329204 0.951638162136 +vn 0.203566029668 -0.022038534284 0.978813171387 +vn 0.111007757485 -0.041198842227 0.992965221405 +vn 0.249044612050 -0.319868445396 0.914144933224 +vn 0.415045827627 -0.218302249908 0.883221983910 +vn 0.415045827627 -0.218302249908 0.883221983910 +vn 0.203566029668 -0.022038534284 0.978813171387 +vn 0.111007757485 -0.041198842227 0.992965221405 +vn 0.038118865341 -0.045521553606 0.998235821724 +vn 0.065878793597 -0.367101311684 0.927845120430 +vn 0.249044612050 -0.319868445396 0.914144933224 +vn 0.249044612050 -0.319868445396 0.914144933224 +vn 0.111007757485 -0.041198842227 0.992965221405 +vn 0.038118865341 -0.045521553606 0.998235821724 +vn -0.031741838902 -0.048425141722 0.998322308064 +vn -0.124714381993 -0.358643174171 0.925106167793 +vn 0.065878793597 -0.367101311684 0.927845120430 +vn 0.065878793597 -0.367101311684 0.927845120430 +vn 0.038118865341 -0.045521553606 0.998235821724 +vn -0.031741838902 -0.048425141722 0.998322308064 +vn -0.117219403386 -0.043315853924 0.992160975933 +vn -0.311798155308 -0.291660279036 0.904276609421 +vn -0.124714381993 -0.358643174171 0.925106167793 +vn -0.124714381993 -0.358643174171 0.925106167793 +vn -0.031741838902 -0.048425141722 0.998322308064 +vn -0.117219403386 -0.043315853924 0.992160975933 +vn -0.243293151259 0.002079511527 0.969950556755 +vn -0.473762780428 -0.141139611602 0.869268894196 +vn -0.311798155308 -0.291660279036 0.904276609421 +vn -0.311798155308 -0.291660279036 0.904276609421 +vn -0.117219403386 -0.043315853924 0.992160975933 +vn -0.243293151259 0.002079511527 0.969950556755 +vn -0.241403773427 0.103066213429 0.964936017990 +vn -0.528437733650 0.060071583837 0.846844136715 +vn -0.473762780428 -0.141139611602 0.869268894196 +vn -0.473762780428 -0.141139611602 0.869268894196 +vn -0.243293151259 0.002079511527 0.969950556755 +vn -0.241403773427 0.103066213429 0.964936017990 +vn -0.262741386890 0.230674043298 0.936886548996 +vn -0.510871827602 0.279885828495 0.812818467617 +vn -0.528437733650 0.060071583837 0.846844136715 +vn -0.528437733650 0.060071583837 0.846844136715 +vn -0.241403773427 0.103066213429 0.964936017990 +vn -0.262741386890 0.230674043298 0.936886548996 +vn -0.163651511073 0.288096219301 0.943514049053 +vn -0.382493257523 0.451562076807 0.806095898151 +vn -0.510871827602 0.279885828495 0.812818467617 +vn -0.510871827602 0.279885828495 0.812818467617 +vn -0.262741386890 0.230674043298 0.936886548996 +vn -0.163651511073 0.288096219301 0.943514049053 +vn -0.074658878148 0.311024487019 0.947464942932 +vn -0.218273103237 0.558162093163 0.800507307053 +vn -0.382493257523 0.451562076807 0.806095898151 +vn -0.382493257523 0.451562076807 0.806095898151 +vn -0.163651511073 0.288096219301 0.943514049053 +vn -0.074658878148 0.311024487019 0.947464942932 +vn -0.002960407641 0.317960262299 0.948099434376 +vn -0.035729635507 0.607942640781 0.793176591396 +vn -0.218273103237 0.558162093163 0.800507307053 +vn -0.218273103237 0.558162093163 0.800507307053 +vn -0.074658878148 0.311024487019 0.947464942932 +vn -0.002960407641 0.317960262299 0.948099434376 +vn -0.382902115583 0.072942674160 -0.920904636383 +vn -0.397452175617 0.135070383549 -0.907627522945 +vn -0.517724156380 0.205077111721 -0.830605268478 +vn -0.517724156380 0.205077111721 -0.830605268478 +vn -0.437227338552 0.155448332429 -0.885814905167 +vn -0.382902115583 0.072942674160 -0.920904636383 +vn -0.271599829197 0.028476212174 -0.961988866329 +vn -0.229980155826 0.074654586613 -0.970327675343 +vn -0.397452175617 0.135070383549 -0.907627522945 +vn -0.397452175617 0.135070383549 -0.907627522945 +vn -0.382902115583 0.072942674160 -0.920904636383 +vn -0.271599829197 0.028476212174 -0.961988866329 +vn 0.615159690380 0.029194956645 -0.787861764431 +vn 0.590301692486 0.097231328487 -0.801305174828 +vn 0.826513767242 0.040492236614 -0.561458230019 +vn 0.826513767242 0.040492236614 -0.561458230019 +vn 0.800375282764 0.018794151023 -0.599204599857 +vn 0.615159690380 0.029194956645 -0.787861764431 +vn 0.185881495476 0.003713119309 -0.982565164566 +vn 0.191130816936 0.078426040709 -0.978426456451 +vn 0.372208535671 0.083363167942 -0.924397826195 +vn 0.372208535671 0.083363167942 -0.924397826195 +vn 0.353503555059 0.035152658820 -0.934772431850 +vn 0.185881495476 0.003713119309 -0.982565164566 +vn -0.171981990337 0.040181573480 -0.984280288219 +vn -0.206340491772 0.165451377630 -0.964390695095 +vn 0.006594384555 0.126419976354 -0.991954863071 +vn 0.006594384555 0.126419976354 -0.991954863071 +vn 0.053378995508 0.007072980981 -0.998549282551 +vn -0.171981990337 0.040181573480 -0.984280288219 +vn 0.288816571236 -0.039053402841 -0.956587612629 +vn 0.137395173311 -0.069602020085 -0.988067865372 +vn 0.185881495476 0.003713119309 -0.982565164566 +vn 0.185881495476 0.003713119309 -0.982565164566 +vn 0.353503555059 0.035152658820 -0.934772431850 +vn 0.288816571236 -0.039053402841 -0.956587612629 +vn 0.185881495476 0.003713119309 -0.982565164566 +vn 0.137395173311 -0.069602020085 -0.988067865372 +vn 0.041888136417 -0.060322493315 -0.997299671173 +vn 0.041888136417 -0.060322493315 -0.997299671173 +vn 0.053378995508 0.007072980981 -0.998549282551 +vn 0.185881495476 0.003713119309 -0.982565164566 +vn -0.171981990337 0.040181573480 -0.984280288219 +vn -0.382902115583 0.072942674160 -0.920904636383 +vn -0.437227338552 0.155448332429 -0.885814905167 +vn -0.437227338552 0.155448332429 -0.885814905167 +vn -0.206340491772 0.165451377630 -0.964390695095 +vn -0.171981990337 0.040181573480 -0.984280288219 +vn -0.164049550891 -0.028682840988 -0.986034989357 +vn -0.271599829197 0.028476212174 -0.961988866329 +vn -0.382902115583 0.072942674160 -0.920904636383 +vn -0.382902115583 0.072942674160 -0.920904636383 +vn -0.171981990337 0.040181573480 -0.984280288219 +vn -0.164049550891 -0.028682840988 -0.986034989357 +vn 0.053378995508 0.007072980981 -0.998549282551 +vn 0.006594384555 0.126419976354 -0.991954863071 +vn 0.191130816936 0.078426040709 -0.978426456451 +vn 0.191130816936 0.078426040709 -0.978426456451 +vn 0.185881495476 0.003713119309 -0.982565164566 +vn 0.053378995508 0.007072980981 -0.998549282551 +vn -0.171981990337 0.040181573480 -0.984280288219 +vn 0.053378995508 0.007072980981 -0.998549282551 +vn 0.041888136417 -0.060322493315 -0.997299671173 +vn 0.041888136417 -0.060322493315 -0.997299671173 +vn -0.164049550891 -0.028682840988 -0.986034989357 +vn -0.171981990337 0.040181573480 -0.984280288219 +vn 0.353503555059 0.035152658820 -0.934772431850 +vn 0.372208535671 0.083363167942 -0.924397826195 +vn 0.590301692486 0.097231328487 -0.801305174828 +vn 0.590301692486 0.097231328487 -0.801305174828 +vn 0.615159690380 0.029194956645 -0.787861764431 +vn 0.353503555059 0.035152658820 -0.934772431850 +vn 0.597115218639 0.003556745360 -0.802147567272 +vn 0.288816571236 -0.039053402841 -0.956587612629 +vn 0.353503555059 0.035152658820 -0.934772431850 +vn 0.353503555059 0.035152658820 -0.934772431850 +vn 0.615159690380 0.029194956645 -0.787861764431 +vn 0.597115218639 0.003556745360 -0.802147567272 +vn 0.800375282764 0.018794151023 -0.599204599857 +vn 0.773272275925 0.060861453414 -0.631146490574 +vn 0.597115218639 0.003556745360 -0.802147567272 +vn 0.597115218639 0.003556745360 -0.802147567272 +vn 0.615159690380 0.029194956645 -0.787861764431 +vn 0.800375282764 0.018794151023 -0.599204599857 +vn 0.800375282764 0.018794151023 -0.599204599857 +vn 0.826513767242 0.040492236614 -0.561458230019 +vn 0.984173178673 0.160306110978 -0.075532399118 +vn 0.984173178673 0.160306110978 -0.075532399118 +vn 0.970258474350 0.158947870135 -0.182576209307 +vn 0.800375282764 0.018794151023 -0.599204599857 +vn -0.255096316338 0.111758060753 -0.960435330868 +vn -0.261003404856 0.108527362347 -0.959217905998 +vn -0.229980155826 0.074654586613 -0.970327675343 +vn -0.229980155826 0.074654586613 -0.970327675343 +vn -0.271599829197 0.028476212174 -0.961988866329 +vn -0.255096316338 0.111758060753 -0.960435330868 +vn -0.316408157349 -0.306027173996 -0.897904932499 +vn -0.509320318699 -0.404863327742 -0.759393453598 +vn -0.261003404856 0.108527362347 -0.959217905998 +vn -0.261003404856 0.108527362347 -0.959217905998 +vn -0.255096316338 0.111758060753 -0.960435330868 +vn -0.316408157349 -0.306027173996 -0.897904932499 +vn 0.126697152853 -0.260049194098 -0.957247197628 +vn 0.011043122970 -0.237970724702 -0.971209526062 +vn -0.121076330543 0.077568016946 -0.989607870579 +vn -0.121076330543 0.077568016946 -0.989607870579 +vn 0.087437242270 0.002138112905 -0.996167719364 +vn 0.126697152853 -0.260049194098 -0.957247197628 +vn -0.078926093876 -0.439550966024 -0.894743323326 +vn 0.204631596804 0.028210701421 -0.978432476521 +vn 0.491304695606 0.135842129588 -0.860329389572 +vn 0.491304695606 0.135842129588 -0.860329389572 +vn 0.119680173695 -0.356093317270 -0.926754653454 +vn -0.078926093876 -0.439550966024 -0.894743323326 +vn 0.288816571236 -0.039053402841 -0.956587612629 +vn 0.597115218639 0.003556745360 -0.802147567272 +vn 0.491304695606 0.135842129588 -0.860329389572 +vn 0.491304695606 0.135842129588 -0.860329389572 +vn 0.204631596804 0.028210701421 -0.978432476521 +vn 0.288816571236 -0.039053402841 -0.956587612629 +vn 0.773272275925 0.060861453414 -0.631146490574 +vn 0.800375282764 0.018794151023 -0.599204599857 +vn 0.970258474350 0.158947870135 -0.182576209307 +vn 0.970258474350 0.158947870135 -0.182576209307 +vn 0.967192232609 0.137083888054 -0.213885977864 +vn 0.773272275925 0.060861453414 -0.631146490574 +vn 0.967192232609 0.137083888054 -0.213885977864 +vn 0.969258189201 0.132872030139 -0.207083404064 +vn 0.715357065201 0.252833127975 -0.651413619518 +vn 0.715357065201 0.252833127975 -0.651413619518 +vn 0.773272275925 0.060861453414 -0.631146490574 +vn 0.967192232609 0.137083888054 -0.213885977864 +vn -0.121076330543 0.077568016946 -0.989607870579 +vn -0.164049550891 -0.028682840988 -0.986034989357 +vn 0.041888136417 -0.060322493315 -0.997299671173 +vn 0.041888136417 -0.060322493315 -0.997299671173 +vn 0.087437242270 0.002138112905 -0.996167719364 +vn -0.121076330543 0.077568016946 -0.989607870579 +vn -0.121076330543 0.077568016946 -0.989607870579 +vn -0.255096316338 0.111758060753 -0.960435330868 +vn -0.271599829197 0.028476212174 -0.961988866329 +vn -0.271599829197 0.028476212174 -0.961988866329 +vn -0.164049550891 -0.028682840988 -0.986034989357 +vn -0.121076330543 0.077568016946 -0.989607870579 +vn 0.011043122970 -0.237970724702 -0.971209526062 +vn -0.316408157349 -0.306027173996 -0.897904932499 +vn -0.255096316338 0.111758060753 -0.960435330868 +vn -0.255096316338 0.111758060753 -0.960435330868 +vn -0.121076330543 0.077568016946 -0.989607870579 +vn 0.011043122970 -0.237970724702 -0.971209526062 +vn 0.031643856317 -0.253338366747 -0.966860055923 +vn 0.126697152853 -0.260049194098 -0.957247197628 +vn 0.087437242270 0.002138112905 -0.996167719364 +vn 0.087437242270 0.002138112905 -0.996167719364 +vn 0.136239171028 -0.017071370035 -0.990528881550 +vn 0.031643856317 -0.253338366747 -0.966860055923 +vn 0.087437242270 0.002138112905 -0.996167719364 +vn 0.041888136417 -0.060322493315 -0.997299671173 +vn 0.137395173311 -0.069602020085 -0.988067865372 +vn 0.137395173311 -0.069602020085 -0.988067865372 +vn 0.136239171028 -0.017071370035 -0.990528881550 +vn 0.087437242270 0.002138112905 -0.996167719364 +vn 0.204631596804 0.028210701421 -0.978432476521 +vn -0.078926093876 -0.439550966024 -0.894743323326 +vn 0.031643856317 -0.253338366747 -0.966860055923 +vn 0.031643856317 -0.253338366747 -0.966860055923 +vn 0.136239171028 -0.017071370035 -0.990528881550 +vn 0.204631596804 0.028210701421 -0.978432476521 +vn 0.137395173311 -0.069602020085 -0.988067865372 +vn 0.288816571236 -0.039053402841 -0.956587612629 +vn 0.204631596804 0.028210701421 -0.978432476521 +vn 0.204631596804 0.028210701421 -0.978432476521 +vn 0.136239171028 -0.017071370035 -0.990528881550 +vn 0.137395173311 -0.069602020085 -0.988067865372 +vn 0.773272275925 0.060861453414 -0.631146490574 +vn 0.715357065201 0.252833127975 -0.651413619518 +vn 0.491304695606 0.135842129588 -0.860329389572 +vn 0.491304695606 0.135842129588 -0.860329389572 +vn 0.597115218639 0.003556745360 -0.802147567272 +vn 0.773272275925 0.060861453414 -0.631146490574 +vn 0.715357065201 0.252833127975 -0.651413619518 +vn 0.490402966738 -0.257621675730 -0.832547903061 +vn 0.119680173695 -0.356093317270 -0.926754653454 +vn 0.119680173695 -0.356093317270 -0.926754653454 +vn 0.491304695606 0.135842129588 -0.860329389572 +vn 0.715357065201 0.252833127975 -0.651413619518 +vn 0.969258189201 0.132872030139 -0.207083404064 +vn 0.852056205273 0.085932567716 -0.516348540783 +vn 0.490402966738 -0.257621675730 -0.832547903061 +vn 0.490402966738 -0.257621675730 -0.832547903061 +vn 0.715357065201 0.252833127975 -0.651413619518 +vn 0.969258189201 0.132872030139 -0.207083404064 +vn 0.381064385176 -0.062698408961 0.922420084476 +vn 0.439777612686 -0.138827741146 0.887311935425 +vn 0.505375087261 -0.195974618196 0.840351104736 +vn 0.505375087261 -0.195974618196 0.840351104736 +vn 0.383719682693 -0.125125527382 0.914933204651 +vn 0.381064385176 -0.062698408961 0.922420084476 +vn 0.280457735062 -0.025431802496 0.959529399872 +vn 0.381064385176 -0.062698408961 0.922420084476 +vn 0.383719682693 -0.125125527382 0.914933204651 +vn 0.383719682693 -0.125125527382 0.914933204651 +vn 0.248948097229 -0.072537310421 0.965796649456 +vn 0.280457735062 -0.025431802496 0.959529399872 +vn -0.620553731918 -0.019484132528 0.783921837807 +vn -0.796980798244 -0.012833101675 0.603868305683 +vn -0.819650113583 -0.032982375473 0.571914196014 +vn -0.819650113583 -0.032982375473 0.571914196014 +vn -0.592707335949 -0.091434136033 0.800211071968 +vn -0.620553731918 -0.019484132528 0.783921837807 +vn -0.179953932762 -0.003242430044 0.983669698238 +vn -0.357168287039 -0.031741797924 0.933500528336 +vn -0.371242731810 -0.081995286047 0.924908459187 +vn -0.371242731810 -0.081995286047 0.924908459187 +vn -0.186582252383 -0.074930444360 0.979577720165 +vn -0.179953932762 -0.003242430044 0.983669698238 +vn 0.180568888783 -0.032149348408 0.983036756516 +vn -0.046806681901 -0.005556719378 0.998888492584 +vn -0.004214687273 -0.117233298719 0.993095457554 +vn -0.004214687273 -0.117233298719 0.993095457554 +vn 0.209405109286 -0.154618844390 0.965527057648 +vn 0.180568888783 -0.032149348408 0.983036756516 +vn -0.296823740005 0.040104743093 0.954089760780 +vn -0.357168287039 -0.031741797924 0.933500528336 +vn -0.179953932762 -0.003242430044 0.983669698238 +vn -0.179953932762 -0.003242430044 0.983669698238 +vn -0.135255068541 0.071016401052 0.988262474537 +vn -0.296823740005 0.040104743093 0.954089760780 +vn -0.179953932762 -0.003242430044 0.983669698238 +vn -0.046806681901 -0.005556719378 0.998888492584 +vn -0.030801737681 0.058983106166 0.997783660889 +vn -0.030801737681 0.058983106166 0.997783660889 +vn -0.135255068541 0.071016401052 0.988262474537 +vn -0.179953932762 -0.003242430044 0.983669698238 +vn 0.180568888783 -0.032149348408 0.983036756516 +vn 0.209405109286 -0.154618844390 0.965527057648 +vn 0.439777612686 -0.138827741146 0.887311935425 +vn 0.439777612686 -0.138827741146 0.887311935425 +vn 0.381064385176 -0.062698408961 0.922420084476 +vn 0.180568888783 -0.032149348408 0.983036756516 +vn 0.179345592856 0.032156031579 0.983260452747 +vn 0.180568888783 -0.032149348408 0.983036756516 +vn 0.381064385176 -0.062698408961 0.922420084476 +vn 0.381064385176 -0.062698408961 0.922420084476 +vn 0.280457735062 -0.025431802496 0.959529399872 +vn 0.179345592856 0.032156031579 0.983260452747 +vn -0.046806681901 -0.005556719378 0.998888492584 +vn -0.179953932762 -0.003242430044 0.983669698238 +vn -0.186582252383 -0.074930444360 0.979577720165 +vn -0.186582252383 -0.074930444360 0.979577720165 +vn -0.004214687273 -0.117233298719 0.993095457554 +vn -0.046806681901 -0.005556719378 0.998888492584 +vn 0.180568888783 -0.032149348408 0.983036756516 +vn 0.179345592856 0.032156031579 0.983260452747 +vn -0.030801737681 0.058983106166 0.997783660889 +vn -0.030801737681 0.058983106166 0.997783660889 +vn -0.046806681901 -0.005556719378 0.998888492584 +vn 0.180568888783 -0.032149348408 0.983036756516 +vn -0.357168287039 -0.031741797924 0.933500528336 +vn -0.620553731918 -0.019484132528 0.783921837807 +vn -0.592707335949 -0.091434136033 0.800211071968 +vn -0.592707335949 -0.091434136033 0.800211071968 +vn -0.371242731810 -0.081995286047 0.924908459187 +vn -0.357168287039 -0.031741797924 0.933500528336 +vn -0.608369290829 -0.007743894123 0.793616294861 +vn -0.620553731918 -0.019484132528 0.783921837807 +vn -0.357168287039 -0.031741797924 0.933500528336 +vn -0.357168287039 -0.031741797924 0.933500528336 +vn -0.296823740005 0.040104743093 0.954089760780 +vn -0.608369290829 -0.007743894123 0.793616294861 +vn -0.796980798244 -0.012833101675 0.603868305683 +vn -0.620553731918 -0.019484132528 0.783921837807 +vn -0.608369290829 -0.007743894123 0.793616294861 +vn -0.608369290829 -0.007743894123 0.793616294861 +vn -0.786969006062 -0.049346722662 0.615015983582 +vn -0.796980798244 -0.012833101675 0.603868305683 +vn -0.796980798244 -0.012833101675 0.603868305683 +vn -0.185570269823 0.171825677156 0.967491388321 +vn -0.268814533949 0.206545710564 0.940785646439 +vn -0.268814533949 0.206545710564 0.940785646439 +vn -0.819650113583 -0.032982375473 0.571914196014 +vn -0.796980798244 -0.012833101675 0.603868305683 +vn 0.257878810167 -0.124472789466 0.958125770092 +vn 0.280457735062 -0.025431802496 0.959529399872 +vn 0.248948097229 -0.072537310421 0.965796649456 +vn 0.248948097229 -0.072537310421 0.965796649456 +vn 0.266313046217 -0.114633738995 0.957045674324 +vn 0.257878810167 -0.124472789466 0.958125770092 +vn 0.219091191888 -0.684044837952 0.695759832859 +vn 0.257878810167 -0.124472789466 0.958125770092 +vn 0.266313046217 -0.114633738995 0.957045674324 +vn 0.266313046217 -0.114633738995 0.957045674324 +vn -0.002355504315 -0.820036292076 0.572306632996 +vn 0.219091191888 -0.684044837952 0.695759832859 +vn -0.054789707065 -0.708841145039 0.703236997128 +vn -0.074074417353 -0.006822756957 0.997229397297 +vn 0.127938747406 -0.089620761573 0.987724542618 +vn 0.127938747406 -0.089620761573 0.987724542618 +vn 0.322813808918 -0.785219132900 0.528414785862 +vn -0.054789707065 -0.708841145039 0.703236997128 +vn -0.253998637199 -0.812512278557 0.524698436260 +vn -0.359748840332 -0.730751514435 0.580157697201 +vn -0.498839020729 -0.132146120071 0.856561183929 +vn -0.498839020729 -0.132146120071 0.856561183929 +vn -0.201434418559 -0.024834183976 0.979187130928 +vn -0.253998637199 -0.812512278557 0.524698436260 +vn -0.296823740005 0.040104743093 0.954089760780 +vn -0.201434418559 -0.024834183976 0.979187130928 +vn -0.498839020729 -0.132146120071 0.856561183929 +vn -0.498839020729 -0.132146120071 0.856561183929 +vn -0.608369290829 -0.007743894123 0.793616294861 +vn -0.296823740005 0.040104743093 0.954089760780 +vn -0.786969006062 -0.049346722662 0.615015983582 +vn -0.613033175468 -0.080646120012 0.785930335522 +vn -0.185570269823 0.171825677156 0.967491388321 +vn -0.185570269823 0.171825677156 0.967491388321 +vn -0.796980798244 -0.012833101675 0.603868305683 +vn -0.786969006062 -0.049346722662 0.615015983582 +vn -0.613033175468 -0.080646120012 0.785930335522 +vn -0.786969006062 -0.049346722662 0.615015983582 +vn -0.746446251869 -0.239098697901 0.621007084846 +vn -0.746446251869 -0.239098697901 0.621007084846 +vn -0.431353598833 -0.487713992596 0.758992195129 +vn -0.613033175468 -0.080646120012 0.785930335522 +vn 0.127938747406 -0.089620761573 0.987724542618 +vn -0.074074417353 -0.006822756957 0.997229397297 +vn -0.030801737681 0.058983106166 0.997783660889 +vn -0.030801737681 0.058983106166 0.997783660889 +vn 0.179345592856 0.032156031579 0.983260452747 +vn 0.127938747406 -0.089620761573 0.987724542618 +vn 0.127938747406 -0.089620761573 0.987724542618 +vn 0.179345592856 0.032156031579 0.983260452747 +vn 0.280457735062 -0.025431802496 0.959529399872 +vn 0.280457735062 -0.025431802496 0.959529399872 +vn 0.257878810167 -0.124472789466 0.958125770092 +vn 0.127938747406 -0.089620761573 0.987724542618 +vn 0.322813808918 -0.785219132900 0.528414785862 +vn 0.127938747406 -0.089620761573 0.987724542618 +vn 0.257878810167 -0.124472789466 0.958125770092 +vn 0.257878810167 -0.124472789466 0.958125770092 +vn 0.219091191888 -0.684044837952 0.695759832859 +vn 0.322813808918 -0.785219132900 0.528414785862 +vn -0.249018087983 -0.770230114460 0.587141871452 +vn -0.141732782125 0.018439134583 0.989733219147 +vn -0.074074417353 -0.006822756957 0.997229397297 +vn -0.074074417353 -0.006822756957 0.997229397297 +vn -0.054789707065 -0.708841145039 0.703236997128 +vn -0.249018087983 -0.770230114460 0.587141871452 +vn -0.074074417353 -0.006822756957 0.997229397297 +vn -0.141732782125 0.018439134583 0.989733219147 +vn -0.135255068541 0.071016401052 0.988262474537 +vn -0.135255068541 0.071016401052 0.988262474537 +vn -0.030801737681 0.058983106166 0.997783660889 +vn -0.074074417353 -0.006822756957 0.997229397297 +vn -0.201434418559 -0.024834183976 0.979187130928 +vn -0.141732782125 0.018439134583 0.989733219147 +vn -0.249018087983 -0.770230114460 0.587141871452 +vn -0.249018087983 -0.770230114460 0.587141871452 +vn -0.253998637199 -0.812512278557 0.524698436260 +vn -0.201434418559 -0.024834183976 0.979187130928 +vn -0.135255068541 0.071016401052 0.988262474537 +vn -0.141732782125 0.018439134583 0.989733219147 +vn -0.201434418559 -0.024834183976 0.979187130928 +vn -0.201434418559 -0.024834183976 0.979187130928 +vn -0.296823740005 0.040104743093 0.954089760780 +vn -0.135255068541 0.071016401052 0.988262474537 +vn -0.786969006062 -0.049346722662 0.615015983582 +vn -0.608369290829 -0.007743894123 0.793616294861 +vn -0.498839020729 -0.132146120071 0.856561183929 +vn -0.498839020729 -0.132146120071 0.856561183929 +vn -0.746446251869 -0.239098697901 0.621007084846 +vn -0.786969006062 -0.049346722662 0.615015983582 +vn -0.746446251869 -0.239098697901 0.621007084846 +vn -0.498839020729 -0.132146120071 0.856561183929 +vn -0.359748840332 -0.730751514435 0.580157697201 +vn -0.359748840332 -0.730751514435 0.580157697201 +vn -0.369146257639 -0.922445654869 0.113248042762 +vn -0.746446251869 -0.239098697901 0.621007084846 +vn -0.431353598833 -0.487713992596 0.758992195129 +vn -0.746446251869 -0.239098697901 0.621007084846 +vn -0.369146257639 -0.922445654869 0.113248042762 +vn -0.369146257639 -0.922445654869 0.113248042762 +vn 0.129810020328 -0.933628261089 0.333897590637 +vn -0.431353598833 -0.487713992596 0.758992195129 +vn -0.980981588364 0.145293399692 0.128704696894 +vn -0.990912795067 0.127940833569 0.041508488357 +vn -0.909739613533 0.046079874039 0.412614196539 +vn -0.909739613533 0.046079874039 0.412614196539 +vn -0.956761240959 0.176445245743 0.231246590614 +vn -0.980981588364 0.145293399692 0.128704696894 +vn -0.956761240959 0.176445245743 0.231246590614 +vn -0.972946465015 0.230288386345 0.018504710868 +vn -0.980981588364 0.145293399692 0.128704696894 +vn -0.990912795067 0.127940833569 0.041508488357 +vn -0.951725065708 0.081832073629 0.295842707157 +vn -0.500203728676 0.010609781370 0.865842759609 +vn -0.500203728676 0.010609781370 0.865842759609 +vn -0.909739613533 0.046079874039 0.412614196539 +vn -0.990912795067 0.127940833569 0.041508488357 +vn 0.078747101128 0.966759562492 0.243258908391 +vn 0.173439845443 0.973078310490 0.151780202985 +vn 0.170091286302 0.973490953445 0.152919292450 +vn 0.170091286302 0.973490953445 0.152919292450 +vn 0.063926614821 0.963856279850 0.258639603853 +vn 0.078747101128 0.966759562492 0.243258908391 +vn 0.171049833298 0.970419943333 0.170373469591 +vn 0.083577327430 0.994467854500 0.063627921045 +vn 0.080522112548 0.994727730751 0.063505046070 +vn 0.080522112548 0.994727730751 0.063505046070 +vn 0.173171848059 0.969543695450 0.173195227981 +vn 0.171049833298 0.970419943333 0.170373469591 +vn -0.020135141909 0.994862496853 0.099212974310 +vn -0.086038894951 0.984414279461 0.153381422162 +vn -0.091391056776 0.983691334724 0.154916256666 +vn -0.091391056776 0.983691334724 0.154916256666 +vn -0.023173412308 0.995078146458 0.096345901489 +vn -0.020135141909 0.994862496853 0.099212974310 +vn -0.086038894951 0.984414279461 0.153381422162 +vn -0.191570550203 0.977551102638 0.087718985975 +vn -0.194942057133 0.976504385471 0.091851882637 +vn -0.194942057133 0.976504385471 0.091851882637 +vn -0.091391056776 0.983691334724 0.154916256666 +vn -0.086038894951 0.984414279461 0.153381422162 +vn 0.083577327430 0.994467854500 0.063627921045 +vn -0.020135141909 0.994862496853 0.099212974310 +vn -0.023173412308 0.995078146458 0.096345901489 +vn -0.023173412308 0.995078146458 0.096345901489 +vn 0.080522112548 0.994727730751 0.063505046070 +vn 0.083577327430 0.994467854500 0.063627921045 +vn 0.173439845443 0.973078310490 0.151780202985 +vn 0.171049833298 0.970419943333 0.170373469591 +vn 0.173171848059 0.969543695450 0.173195227981 +vn 0.173171848059 0.969543695450 0.173195227981 +vn 0.170091286302 0.973490953445 0.152919292450 +vn 0.173439845443 0.973078310490 0.151780202985 +vn 0.063926614821 0.963856279850 0.258639603853 +vn -0.375237524509 0.793154478073 0.479690253735 +vn -0.350450277328 0.809412717819 0.471206605434 +vn -0.350450277328 0.809412717819 0.471206605434 +vn 0.078747101128 0.966759562492 0.243258908391 +vn 0.063926614821 0.963856279850 0.258639603853 +vn 0.789331555367 0.258876562119 0.556721329689 +vn 0.577268898487 0.306803852320 0.756724536419 +vn -0.268814533949 0.206545710564 0.940785646439 +vn -0.268814533949 0.206545710564 0.940785646439 +vn -0.185570269823 0.171825677156 0.967491388321 +vn 0.789331555367 0.258876562119 0.556721329689 +vn -0.951725065708 0.081832073629 0.295842707157 +vn -0.999801933765 0.008688983507 0.017906675115 +vn -0.866238534451 -0.039508130401 0.498066157103 +vn -0.866238534451 -0.039508130401 0.498066157103 +vn -0.500203728676 0.010609781370 0.865842759609 +vn -0.951725065708 0.081832073629 0.295842707157 +vn -0.999801933765 0.008688983507 0.017906675115 +vn -0.885119140148 -0.056781947613 0.461887329817 +vn -0.669060587883 -0.077813722193 0.739123106003 +vn -0.669060587883 -0.077813722193 0.739123106003 +vn -0.866238534451 -0.039508130401 0.498066157103 +vn -0.999801933765 0.008688983507 0.017906675115 +vn -0.431490808725 -0.866988837719 -0.249291151762 +vn -0.088624604046 -0.961325287819 -0.260766953230 +vn 0.219091191888 -0.684044837952 0.695759832859 +vn 0.219091191888 -0.684044837952 0.695759832859 +vn -0.002355504315 -0.820036292076 0.572306632996 +vn -0.431490808725 -0.866988837719 -0.249291151762 +vn 0.228643909097 -0.830196857452 -0.508424222469 +vn 0.112375475466 -0.893029689789 -0.435740411282 +vn -0.054789707065 -0.708841145039 0.703236997128 +vn -0.054789707065 -0.708841145039 0.703236997128 +vn 0.322813808918 -0.785219132900 0.528414785862 +vn 0.228643909097 -0.830196857452 -0.508424222469 +vn -0.238835632801 -0.915335536003 -0.324219733477 +vn -0.253018796444 -0.949872851372 -0.183638378978 +vn -0.359748840332 -0.730751514435 0.580157697201 +vn -0.359748840332 -0.730751514435 0.580157697201 +vn -0.253998637199 -0.812512278557 0.524698436260 +vn -0.238835632801 -0.915335536003 -0.324219733477 +vn 0.487122595310 0.042172510177 0.872314751148 +vn 0.789331555367 0.258876562119 0.556721329689 +vn -0.185570269823 0.171825677156 0.967491388321 +vn -0.185570269823 0.171825677156 0.967491388321 +vn -0.613033175468 -0.080646120012 0.785930335522 +vn 0.487122595310 0.042172510177 0.872314751148 +vn 0.622324407101 -0.358227372169 0.695978045464 +vn 0.487122595310 0.042172510177 0.872314751148 +vn -0.613033175468 -0.080646120012 0.785930335522 +vn -0.613033175468 -0.080646120012 0.785930335522 +vn -0.431353598833 -0.487713992596 0.758992195129 +vn 0.622324407101 -0.358227372169 0.695978045464 +vn -0.088624604046 -0.961325287819 -0.260766953230 +vn 0.228643909097 -0.830196857452 -0.508424222469 +vn 0.322813808918 -0.785219132900 0.528414785862 +vn 0.322813808918 -0.785219132900 0.528414785862 +vn 0.219091191888 -0.684044837952 0.695759832859 +vn -0.088624604046 -0.961325287819 -0.260766953230 +vn 0.112375475466 -0.893029689789 -0.435740411282 +vn -0.146188363433 -0.808538675308 -0.569994866848 +vn -0.249018087983 -0.770230114460 0.587141871452 +vn -0.249018087983 -0.770230114460 0.587141871452 +vn -0.054789707065 -0.708841145039 0.703236997128 +vn 0.112375475466 -0.893029689789 -0.435740411282 +vn -0.146188363433 -0.808538675308 -0.569994866848 +vn -0.238835632801 -0.915335536003 -0.324219733477 +vn -0.253998637199 -0.812512278557 0.524698436260 +vn -0.253998637199 -0.812512278557 0.524698436260 +vn -0.249018087983 -0.770230114460 0.587141871452 +vn -0.146188363433 -0.808538675308 -0.569994866848 +vn -0.253018796444 -0.949872851372 -0.183638378978 +vn 0.068400837481 -0.871033847332 -0.486437410116 +vn -0.369146257639 -0.922445654869 0.113248042762 +vn -0.369146257639 -0.922445654869 0.113248042762 +vn -0.359748840332 -0.730751514435 0.580157697201 +vn -0.253018796444 -0.949872851372 -0.183638378978 +vn 0.068400837481 -0.871033847332 -0.486437410116 +vn 0.735630095005 -0.650957882404 -0.187355905771 +vn 0.129810020328 -0.933628261089 0.333897590637 +vn 0.129810020328 -0.933628261089 0.333897590637 +vn -0.369146257639 -0.922445654869 0.113248042762 +vn 0.068400837481 -0.871033847332 -0.486437410116 +vn 0.735630095005 -0.650957882404 -0.187355905771 +vn 0.622324407101 -0.358227372169 0.695978045464 +vn -0.431353598833 -0.487713992596 0.758992195129 +vn -0.431353598833 -0.487713992596 0.758992195129 +vn 0.129810020328 -0.933628261089 0.333897590637 +vn 0.735630095005 -0.650957882404 -0.187355905771 +vn -0.937579154968 0.180314436555 -0.297375231981 +vn -0.990912795067 0.127940833569 0.041508488357 +vn -0.980981588364 0.145293399692 0.128704696894 +vn -0.980981588364 0.145293399692 0.128704696894 +vn -0.972946465015 0.230288386345 0.018504710868 +vn -0.937579154968 0.180314436555 -0.297375231981 +vn -0.896948277950 0.114084340632 -0.427163422108 +vn -0.951725065708 0.081832073629 0.295842707157 +vn -0.990912795067 0.127940833569 0.041508488357 +vn -0.990912795067 0.127940833569 0.041508488357 +vn -0.937579154968 0.180314436555 -0.297375231981 +vn -0.896948277950 0.114084340632 -0.427163422108 +vn 0.984173178673 0.160306110978 -0.075532399118 +vn 0.577268898487 0.306803852320 0.756724536419 +vn 0.789331555367 0.258876562119 0.556721329689 +vn 0.789331555367 0.258876562119 0.556721329689 +vn 0.970258474350 0.158947870135 -0.182576209307 +vn 0.984173178673 0.160306110978 -0.075532399118 +vn -0.880329668522 0.056018378586 -0.471043139696 +vn -0.999801933765 0.008688983507 0.017906675115 +vn -0.951725065708 0.081832073629 0.295842707157 +vn -0.951725065708 0.081832073629 0.295842707157 +vn -0.896948277950 0.114084340632 -0.427163422108 +vn -0.880329668522 0.056018378586 -0.471043139696 +vn -0.316408157349 -0.306027173996 -0.897904932499 +vn -0.088624604046 -0.961325287819 -0.260766953230 +vn -0.431490808725 -0.866988837719 -0.249291151762 +vn -0.431490808725 -0.866988837719 -0.249291151762 +vn -0.509320318699 -0.404863327742 -0.759393453598 +vn -0.316408157349 -0.306027173996 -0.897904932499 +vn -0.995611131191 -0.009796535596 -0.093072362244 +vn -0.885119140148 -0.056781947613 0.461887329817 +vn -0.999801933765 0.008688983507 0.017906675115 +vn -0.999801933765 0.008688983507 0.017906675115 +vn -0.880329668522 0.056018378586 -0.471043139696 +vn -0.995611131191 -0.009796535596 -0.093072362244 +vn 0.126697152853 -0.260049194098 -0.957247197628 +vn 0.112375475466 -0.893029689789 -0.435740411282 +vn 0.228643909097 -0.830196857452 -0.508424222469 +vn 0.228643909097 -0.830196857452 -0.508424222469 +vn 0.011043122970 -0.237970724702 -0.971209526062 +vn 0.126697152853 -0.260049194098 -0.957247197628 +vn 0.119680173695 -0.356093317270 -0.926754653454 +vn -0.253018796444 -0.949872851372 -0.183638378978 +vn -0.238835632801 -0.915335536003 -0.324219733477 +vn -0.238835632801 -0.915335536003 -0.324219733477 +vn -0.078926093876 -0.439550966024 -0.894743323326 +vn 0.119680173695 -0.356093317270 -0.926754653454 +vn 0.970258474350 0.158947870135 -0.182576209307 +vn 0.789331555367 0.258876562119 0.556721329689 +vn 0.487122595310 0.042172510177 0.872314751148 +vn 0.487122595310 0.042172510177 0.872314751148 +vn 0.967192232609 0.137083888054 -0.213885977864 +vn 0.970258474350 0.158947870135 -0.182576209307 +vn 0.967192232609 0.137083888054 -0.213885977864 +vn 0.487122595310 0.042172510177 0.872314751148 +vn 0.622324407101 -0.358227372169 0.695978045464 +vn 0.622324407101 -0.358227372169 0.695978045464 +vn 0.969258189201 0.132872030139 -0.207083404064 +vn 0.967192232609 0.137083888054 -0.213885977864 +vn 0.011043122970 -0.237970724702 -0.971209526062 +vn 0.228643909097 -0.830196857452 -0.508424222469 +vn -0.088624604046 -0.961325287819 -0.260766953230 +vn -0.088624604046 -0.961325287819 -0.260766953230 +vn -0.316408157349 -0.306027173996 -0.897904932499 +vn 0.011043122970 -0.237970724702 -0.971209526062 +vn 0.031643856317 -0.253338366747 -0.966860055923 +vn -0.146188363433 -0.808538675308 -0.569994866848 +vn 0.112375475466 -0.893029689789 -0.435740411282 +vn 0.112375475466 -0.893029689789 -0.435740411282 +vn 0.126697152853 -0.260049194098 -0.957247197628 +vn 0.031643856317 -0.253338366747 -0.966860055923 +vn -0.078926093876 -0.439550966024 -0.894743323326 +vn -0.238835632801 -0.915335536003 -0.324219733477 +vn -0.146188363433 -0.808538675308 -0.569994866848 +vn -0.146188363433 -0.808538675308 -0.569994866848 +vn 0.031643856317 -0.253338366747 -0.966860055923 +vn -0.078926093876 -0.439550966024 -0.894743323326 +vn 0.490402966738 -0.257621675730 -0.832547903061 +vn 0.068400837481 -0.871033847332 -0.486437410116 +vn -0.253018796444 -0.949872851372 -0.183638378978 +vn -0.253018796444 -0.949872851372 -0.183638378978 +vn 0.119680173695 -0.356093317270 -0.926754653454 +vn 0.490402966738 -0.257621675730 -0.832547903061 +vn 0.969258189201 0.132872030139 -0.207083404064 +vn 0.622324407101 -0.358227372169 0.695978045464 +vn 0.735630095005 -0.650957882404 -0.187355905771 +vn 0.735630095005 -0.650957882404 -0.187355905771 +vn 0.852056205273 0.085932567716 -0.516348540783 +vn 0.969258189201 0.132872030139 -0.207083404064 +vn 0.852056205273 0.085932567716 -0.516348540783 +vn 0.735630095005 -0.650957882404 -0.187355905771 +vn 0.068400837481 -0.871033847332 -0.486437410116 +vn 0.068400837481 -0.871033847332 -0.486437410116 +vn 0.490402966738 -0.257621675730 -0.832547903061 +vn 0.852056205273 0.085932567716 -0.516348540783 +vn -0.268814533949 0.206545710564 0.940785646439 +vn 0.577268898487 0.306803852320 0.756724536419 +vn 0.984173178673 0.160306110978 -0.075532399118 +vn -0.194942057133 0.976504385471 0.091851882637 +vn -0.191570550203 0.977551102638 0.087718985975 +vn -0.181678786874 0.971370339394 0.153076708317 +vn -0.181678786874 0.971370339394 0.153076708317 +vn -0.180396959186 0.971246838570 0.155359238386 +vn -0.194942057133 0.976504385471 0.091851882637 +# 32013 vertex normals + +vt 0.377155363560 0.858360707760 0.000000000000 +vt 0.377155363560 0.848666846752 0.000000000000 +vt 0.387879788876 0.848666846752 0.000000000000 +vt 0.387879788876 0.858360707760 0.000000000000 +vt 0.377155363560 0.838978648186 0.000000000000 +vt 0.387879788876 0.838978648186 0.000000000000 +vt 0.377155363560 0.829283058643 0.000000000000 +vt 0.387879788876 0.829283058643 0.000000000000 +vt 0.377155363560 0.984480679035 0.000000000000 +vt 0.377155363560 0.974780797958 0.000000000000 +vt 0.387879788876 0.974780797958 0.000000000000 +vt 0.387879788876 0.984480679035 0.000000000000 +vt 0.377155363560 0.965079963207 0.000000000000 +vt 0.387879788876 0.965079963207 0.000000000000 +vt 0.377155363560 0.955380022526 0.000000000000 +vt 0.387879788876 0.955380022526 0.000000000000 +vt 0.377155363560 0.945681273937 0.000000000000 +vt 0.387879788876 0.945681273937 0.000000000000 +vt 0.377155363560 0.935981333256 0.000000000000 +vt 0.387879788876 0.935981333256 0.000000000000 +vt 0.377155363560 0.926279187202 0.000000000000 +vt 0.387879788876 0.926279187202 0.000000000000 +vt 0.377155363560 0.916576147079 0.000000000000 +vt 0.387879788876 0.916576147079 0.000000000000 +vt 0.377155363560 0.906873524189 0.000000000000 +vt 0.387879788876 0.906873524189 0.000000000000 +vt 0.377155363560 0.897172033787 0.000000000000 +vt 0.387879788876 0.897172033787 0.000000000000 +vt 0.377155363560 0.887470304966 0.000000000000 +vt 0.387879788876 0.887470304966 0.000000000000 +vt 0.377155363560 0.877766370773 0.000000000000 +vt 0.387879788876 0.877766370773 0.000000000000 +vt 0.377155363560 0.868061482906 0.000000000000 +vt 0.387879788876 0.868061482906 0.000000000000 +vt 0.389967858791 0.848666846752 0.000000000000 +vt 0.389967858791 0.858360707760 0.000000000000 +vt 0.389223754406 0.858360707760 0.000000000000 +vt 0.389223754406 0.848666846752 0.000000000000 +vt 0.389967858791 0.838978648186 0.000000000000 +vt 0.389223754406 0.838978648186 0.000000000000 +vt 0.389967858791 0.829283058643 0.000000000000 +vt 0.389223754406 0.829283058643 0.000000000000 +vt 0.389967858791 0.974780797958 0.000000000000 +vt 0.389967858791 0.984480679035 0.000000000000 +vt 0.389223754406 0.984480679035 0.000000000000 +vt 0.389223754406 0.974780797958 0.000000000000 +vt 0.389967858791 0.965079963207 0.000000000000 +vt 0.389223754406 0.965079963207 0.000000000000 +vt 0.389967858791 0.955380022526 0.000000000000 +vt 0.389223754406 0.955380022526 0.000000000000 +vt 0.389967858791 0.945681273937 0.000000000000 +vt 0.389223754406 0.945681273937 0.000000000000 +vt 0.389967858791 0.935981333256 0.000000000000 +vt 0.389223754406 0.935981333256 0.000000000000 +vt 0.389967858791 0.926279187202 0.000000000000 +vt 0.389223754406 0.926279187202 0.000000000000 +vt 0.389967858791 0.916576147079 0.000000000000 +vt 0.389223754406 0.916576147079 0.000000000000 +vt 0.389967858791 0.906873524189 0.000000000000 +vt 0.389223754406 0.906873524189 0.000000000000 +vt 0.389967858791 0.897172033787 0.000000000000 +vt 0.389223754406 0.897172033787 0.000000000000 +vt 0.389967858791 0.887470304966 0.000000000000 +vt 0.389223754406 0.887470304966 0.000000000000 +vt 0.389967858791 0.877766370773 0.000000000000 +vt 0.389223754406 0.877766370773 0.000000000000 +vt 0.389967858791 0.868061482906 0.000000000000 +vt 0.389223754406 0.868061482906 0.000000000000 +vt 0.391293346882 0.858360707760 0.000000000000 +vt 0.391293346882 0.848666846752 0.000000000000 +vt 0.396203100681 0.848666846752 0.000000000000 +vt 0.396203100681 0.858360707760 0.000000000000 +vt 0.391293346882 0.838978648186 0.000000000000 +vt 0.396203100681 0.838978648186 0.000000000000 +vt 0.391293346882 0.829283058643 0.000000000000 +vt 0.396203100681 0.829283058643 0.000000000000 +vt 0.391293346882 0.984480679035 0.000000000000 +vt 0.391293346882 0.974780797958 0.000000000000 +vt 0.396203100681 0.974780797958 0.000000000000 +vt 0.396203100681 0.984480679035 0.000000000000 +vt 0.391293346882 0.965079963207 0.000000000000 +vt 0.396203100681 0.965079963207 0.000000000000 +vt 0.391293346882 0.955380022526 0.000000000000 +vt 0.396203100681 0.955380022526 0.000000000000 +vt 0.391293346882 0.945681273937 0.000000000000 +vt 0.396203100681 0.945681273937 0.000000000000 +vt 0.391293346882 0.935981333256 0.000000000000 +vt 0.396203100681 0.935981333256 0.000000000000 +vt 0.391293346882 0.926279187202 0.000000000000 +vt 0.396203100681 0.926279187202 0.000000000000 +vt 0.391293346882 0.916576147079 0.000000000000 +vt 0.396203100681 0.916576147079 0.000000000000 +vt 0.391293346882 0.906873524189 0.000000000000 +vt 0.396203100681 0.906873524189 0.000000000000 +vt 0.391293346882 0.897172033787 0.000000000000 +vt 0.396203100681 0.897172033787 0.000000000000 +vt 0.391293346882 0.887470304966 0.000000000000 +vt 0.396203100681 0.887470304966 0.000000000000 +vt 0.391293346882 0.877766370773 0.000000000000 +vt 0.396203100681 0.877766370773 0.000000000000 +vt 0.391293346882 0.868061482906 0.000000000000 +vt 0.396203100681 0.868061482906 0.000000000000 +vt 0.409175425768 0.672242879868 0.000000000000 +vt 0.452760726213 0.666515350342 0.000000000000 +vt 0.431881427765 0.692003369331 0.000000000000 +vt 0.481934756041 0.680083930492 0.000000000000 +vt 0.508225858212 0.789766192436 0.000000000000 +vt 0.553140699863 0.792127192020 0.000000000000 +vt 0.543430626392 0.810674130917 0.000000000000 +vt 0.493056267500 0.761313557625 0.000000000000 +vt 0.498380273581 0.738467097282 0.000000000000 +vt 0.515042841434 0.755405724049 0.000000000000 +vt 0.550852000713 0.845992863178 0.000000000000 +vt 0.577347338200 0.824143350124 0.000000000000 +vt 0.609382450581 0.854941427708 0.000000000000 +vt 0.665927231312 0.810042083263 0.000000000000 +vt 0.669713199139 0.747112154961 0.000000000000 +vt 0.691940128803 0.688431560993 0.000000000000 +vt 0.480293363333 0.580234348774 0.000000000000 +vt 0.515759050846 0.550068080425 0.000000000000 +vt 0.567890584469 0.594532608986 0.000000000000 +vt 0.623778641224 0.602010011673 0.000000000000 +vt 0.572804629803 0.544676065445 0.000000000000 +vt 0.631756961346 0.573595166206 0.000000000000 +vt 0.610680639744 0.688212931156 0.000000000000 +vt 0.650606334209 0.643516659737 0.000000000000 +vt 0.631374895573 0.713805377483 0.000000000000 +vt 0.451538383961 0.699487090111 0.000000000000 +vt 0.488095849752 0.712747395039 0.000000000000 +vt 0.505906522274 0.654317796230 0.000000000000 +vt 0.514503896236 0.621594429016 0.000000000000 +vt 0.546522319317 0.636798501015 0.000000000000 +vt 0.620644509792 0.650109648705 0.000000000000 +vt 0.536644995213 0.674807369709 0.000000000000 +vt 0.559180438519 0.677152156830 0.000000000000 +vt 0.546803295612 0.700395822525 0.000000000000 +vt 0.580495297909 0.670894205570 0.000000000000 +vt 0.560229241848 0.708388805389 0.000000000000 +vt 0.583466589451 0.746397972107 0.000000000000 +vt 0.590534269810 0.714147150517 0.000000000000 +vt 0.632254183292 0.742581784725 0.000000000000 +vt 0.392473429441 0.735891520977 0.000000000000 +vt 0.401782691479 0.699883401394 0.000000000000 +vt 0.437636852264 0.750069797039 0.000000000000 +vt 0.443033576012 0.728961050510 0.000000000000 +vt 0.467387497425 0.731456875801 0.000000000000 +vt 0.397550672293 0.599925756454 0.000000000000 +vt 0.443568110466 0.613210141659 0.000000000000 +vt 0.366362631321 0.656876027584 0.000000000000 +vt 0.447481751442 0.559440612793 0.000000000000 +vt 0.601355612278 0.819214940071 0.000000000000 +vt 0.636718928814 0.797729492188 0.000000000000 +vt 0.619128763676 0.819936096668 0.000000000000 +vt 0.559825360775 0.776961624622 0.000000000000 +vt 0.572190821171 0.759399116039 0.000000000000 +vt 0.604671776295 0.773796379566 0.000000000000 +vt 0.554654181004 0.617363810539 0.000000000000 +vt 0.567634403706 0.651618182659 0.000000000000 +vt 0.590938866138 0.618936240673 0.000000000000 +vt 0.596868813038 0.647921144962 0.000000000000 +vt 0.651719510555 0.782778739929 0.000000000000 +vt 0.614525854588 0.755118906498 0.000000000000 +vt 0.455462366343 0.816022455692 0.000000000000 +vt 0.450997769833 0.780333817005 0.000000000000 +vt 0.483516186476 0.802494883537 0.000000000000 +vt 0.485845893621 0.853235423565 0.000000000000 +vt 0.417244762182 0.840927124023 0.000000000000 +vt 0.433641225100 0.829533994198 0.000000000000 +vt 0.477579563856 0.870459556580 0.000000000000 +vt 0.530758202076 0.857129693031 0.000000000000 +vt 0.544338524342 0.876446247101 0.000000000000 +vt 0.532405674458 0.712911307812 0.000000000000 +vt 0.526134669781 0.742851078510 0.000000000000 +vt 0.547361195087 0.739448964596 0.000000000000 +vt 0.567548215389 0.558903396130 0.000000000000 +vt 0.397433131933 0.817093312740 0.000000000000 +vt 0.514106690884 0.777620911598 0.000000000000 +vt 0.462766647339 0.752251565456 0.000000000000 +vt 0.460485816002 0.643762111664 0.000000000000 +vt 0.485318392515 0.636485338211 0.000000000000 +vt 0.480034440756 0.664412677288 0.000000000000 +vt 0.630446612835 0.777688920498 0.000000000000 +vt 0.600008070469 0.799526214600 0.000000000000 +vt 0.476415723562 0.779506325722 0.000000000000 +vt 0.473682790995 0.610604822636 0.000000000000 +vt 0.675627768040 0.625576317310 0.000000000000 +vt 0.565741121769 0.800483822823 0.000000000000 +vt 0.356244146824 0.722902357578 0.000000000000 +vt 0.588402211666 0.811188578606 0.000000000000 +vt 0.518669903278 0.699171006680 0.000000000000 +vt 0.535777628422 0.658217966557 0.000000000000 +vt 0.508222043514 0.539263308048 0.000000000000 +vt 0.648145139217 0.728081822395 0.000000000000 +vt 0.514887988567 0.819228231907 0.000000000000 +vt 0.480209141970 0.748140454292 0.000000000000 +vt 0.594826638699 0.678737699986 0.000000000000 +vt 0.609615743160 0.711115896702 0.000000000000 +vt 0.374209046364 0.788166940212 0.000000000000 +vt 0.696136057377 0.841438889503 0.000000000000 +vt 0.697102844715 0.847001552582 0.000000000000 +vt 0.687970817089 0.838945984840 0.000000000000 +vt 0.676894485950 0.837039768696 0.000000000000 +vt 0.668740808964 0.834839344025 0.000000000000 +vt 0.658680617809 0.855564236641 0.000000000000 +vt 0.651980459690 0.853254318237 0.000000000000 +vt 0.694596707821 0.852629542351 0.000000000000 +vt 0.685916483402 0.854809284210 0.000000000000 +vt 0.674534022808 0.855843186378 0.000000000000 +vt 0.665389955044 0.856125533581 0.000000000000 +vt 0.650012195110 0.834412455559 0.000000000000 +vt 0.656730353832 0.833129286766 0.000000000000 +vt 0.646296203136 0.841373562813 0.000000000000 +vt 0.688886702061 0.834426641464 0.000000000000 +vt 0.699207842350 0.838674664497 0.000000000000 +vt 0.697359144688 0.855724990368 0.000000000000 +vt 0.686487972736 0.859591126442 0.000000000000 +vt 0.702463567257 0.847452104092 0.000000000000 +vt 0.677858173847 0.832566380501 0.000000000000 +vt 0.674788177013 0.860633373260 0.000000000000 +vt 0.656709134579 0.828647792339 0.000000000000 +vt 0.663522779942 0.828503489494 0.000000000000 +vt 0.663026511669 0.833329021931 0.000000000000 +vt 0.665229976177 0.860744595528 0.000000000000 +vt 0.646054327488 0.849184870720 0.000000000000 +vt 0.944440543652 0.577088952065 0.000000000000 +vt 0.934413731098 0.578397750854 0.000000000000 +vt 0.933311760426 0.570732593536 0.000000000000 +vt 0.942559897900 0.569070458412 0.000000000000 +vt 0.878645479679 0.586926877499 0.000000000000 +vt 0.868258655071 0.588900566101 0.000000000000 +vt 0.867458641529 0.580585360527 0.000000000000 +vt 0.877176105976 0.579317748547 0.000000000000 +vt 0.952389657497 0.575497746468 0.000000000000 +vt 0.950832903385 0.567034423351 0.000000000000 +vt 0.923831403255 0.579496085644 0.000000000000 +vt 0.923619329929 0.572405040264 0.000000000000 +vt 0.628452599049 0.873331427574 0.000000000000 +vt 0.632204830647 0.876753568649 0.000000000000 +vt 0.628753483295 0.881655633450 0.000000000000 +vt 0.623970210552 0.878167748451 0.000000000000 +vt 0.646685302258 0.866765677929 0.000000000000 +vt 0.656351864338 0.871634185314 0.000000000000 +vt 0.653122007847 0.874798536301 0.000000000000 +vt 0.645847260952 0.871063649654 0.000000000000 +vt 0.726799309254 0.837845385075 0.000000000000 +vt 0.661485850811 0.880055904388 0.000000000000 +vt 0.656600654125 0.882020831108 0.000000000000 +vt 0.636110603809 0.868256449699 0.000000000000 +vt 0.637845695019 0.872147083282 0.000000000000 +vt 0.649987399578 0.877419590950 0.000000000000 +vt 0.644934833050 0.875803411007 0.000000000000 +vt 0.639724314213 0.875453293324 0.000000000000 +vt 0.650543510914 0.882872819901 0.000000000000 +vt 0.637335002422 0.879814982414 0.000000000000 +vt 0.635132730007 0.885670363903 0.000000000000 +vt 0.643860280514 0.881775856018 0.000000000000 +vt 0.642733037472 0.850792288780 0.000000000000 +vt 0.641889035702 0.840179145336 0.000000000000 +vt 0.669664084911 0.830182671547 0.000000000000 +vt 0.650239527225 0.857445180416 0.000000000000 +vt 0.648015201092 0.831698417664 0.000000000000 +vt 0.642690360546 0.888261675835 0.000000000000 +vt 0.663629949093 0.887337207794 0.000000000000 +vt 0.657781779766 0.889087080956 0.000000000000 +vt 0.889635980129 0.584733188152 0.000000000000 +vt 0.887632310390 0.577965676785 0.000000000000 +vt 0.898609101772 0.583011865616 0.000000000000 +vt 0.896672070026 0.576863348484 0.000000000000 +vt 0.915674507618 0.580389678478 0.000000000000 +vt 0.915229618549 0.574002265930 0.000000000000 +vt 0.657724201679 0.860278069973 0.000000000000 +vt 0.930922925472 0.558675527573 0.000000000000 +vt 0.650379359722 0.889898777008 0.000000000000 +vt 0.939678132534 0.556469440460 0.000000000000 +vt 0.867106497288 0.567602217197 0.000000000000 +vt 0.875806748867 0.567502915859 0.000000000000 +vt 0.947033226490 0.554314255714 0.000000000000 +vt 0.922403037548 0.561220228672 0.000000000000 +vt 0.885274112225 0.567466676235 0.000000000000 +vt 0.658997356892 0.896231293678 0.000000000000 +vt 0.649604141712 0.899704515934 0.000000000000 +vt 0.895252883434 0.566620349884 0.000000000000 +vt 0.719376146793 0.837280273438 0.000000000000 +vt 0.918815433979 0.545299708843 0.000000000000 +vt 0.910051763058 0.547324061394 0.000000000000 +vt 0.907046377659 0.529140114784 0.000000000000 +vt 0.916585505009 0.527373969555 0.000000000000 +vt 0.899707138538 0.530310690403 0.000000000000 +vt 0.641025960445 0.896537065506 0.000000000000 +vt 0.901793301105 0.548481404781 0.000000000000 +vt 0.927321612835 0.542573332787 0.000000000000 +vt 0.632426559925 0.894321084023 0.000000000000 +vt 0.625132262707 0.886998593807 0.000000000000 +vt 0.717746436596 0.831090271473 0.000000000000 +vt 0.725946605206 0.830549895763 0.000000000000 +vt 0.735287845135 0.838093996048 0.000000000000 +vt 0.734414517879 0.830852091312 0.000000000000 +vt 0.717679798603 0.825329720974 0.000000000000 +vt 0.723944962025 0.823542177677 0.000000000000 +vt 0.732950508595 0.823792576790 0.000000000000 +vt 0.739792287350 0.825830638409 0.000000000000 +vt 0.741621911526 0.831147015095 0.000000000000 +vt 0.741378247738 0.836689889431 0.000000000000 +vt 0.665112435818 0.894209623337 0.000000000000 +vt 0.620138943195 0.882827579975 0.000000000000 +vt 0.936108648777 0.539952039719 0.000000000000 +vt 0.867212593555 0.550016939640 0.000000000000 +vt 0.875978291035 0.550476253033 0.000000000000 +vt 0.943726122379 0.537669897079 0.000000000000 +vt 0.884841740131 0.551008760929 0.000000000000 +vt 0.913087069988 0.563861310482 0.000000000000 +vt 0.893644869328 0.550148010254 0.000000000000 +vt 0.892628490925 0.531013190746 0.000000000000 +vt 0.904061496258 0.562744498253 0.000000000000 +vt 0.926213800907 0.525771796703 0.000000000000 +vt 0.934501111507 0.523906171322 0.000000000000 +vt 0.865935027599 0.533409059048 0.000000000000 +vt 0.875216186047 0.532836914063 0.000000000000 +vt 0.942422688007 0.521042168140 0.000000000000 +vt 0.884195983410 0.531999826431 0.000000000000 +vt 0.924653232098 0.517368316650 0.000000000000 +vt 0.932635247707 0.517127633095 0.000000000000 +vt 0.914257109165 0.519580006599 0.000000000000 +vt 0.906176626682 0.522352159023 0.000000000000 +vt 0.899168789387 0.522687613964 0.000000000000 +vt 0.892163813114 0.523706674576 0.000000000000 +vt 0.884188354015 0.523065209389 0.000000000000 +vt 0.873883426189 0.524219810963 0.000000000000 +vt 0.865347802639 0.526163995266 0.000000000000 +vt 0.858433783054 0.526082932949 0.000000000000 +vt 0.859899699688 0.590485215187 0.000000000000 +vt 0.858855664730 0.581898033619 0.000000000000 +vt 0.859369337559 0.568410336971 0.000000000000 +vt 0.859169065952 0.551045894623 0.000000000000 +vt 0.856827557087 0.534337580204 0.000000000000 +vt 0.937964379787 0.513839006424 0.000000000000 +vt 0.693465530872 0.814677596092 0.000000000000 +vt 0.700085699558 0.824197411537 0.000000000000 +vt 0.694888770580 0.822570204735 0.000000000000 +vt 0.692891776562 0.803992629051 0.000000000000 +vt 0.691710650921 0.795865237713 0.000000000000 +vt 0.711294472218 0.782084345818 0.000000000000 +vt 0.712714016438 0.788840830326 0.000000000000 +vt 0.708831012249 0.814877569675 0.000000000000 +vt 0.705738484859 0.822653293610 0.000000000000 +vt 0.711153686047 0.804187417030 0.000000000000 +vt 0.712479650974 0.795391499996 0.000000000000 +vt 0.700650393963 0.775034308434 0.000000000000 +vt 0.691504657269 0.783996403217 0.000000000000 +vt 0.693565666676 0.777675151825 0.000000000000 +vt 0.691854059696 0.825260579586 0.000000000000 +vt 0.688908874989 0.815112352371 0.000000000000 +vt 0.713424861431 0.816177845001 0.000000000000 +vt 0.708342850208 0.825807273388 0.000000000000 +vt 0.699830830097 0.829423010349 0.000000000000 +vt 0.688347995281 0.804415702820 0.000000000000 +vt 0.715837776661 0.805065751076 0.000000000000 +vt 0.690926015377 0.790131390095 0.000000000000 +vt 0.686091244221 0.790077388287 0.000000000000 +vt 0.687085330486 0.783463239670 0.000000000000 +vt 0.717056095600 0.795820415020 0.000000000000 +vt 0.700017035007 0.770576894283 0.000000000000 +vt 0.914225161076 0.695051312447 0.000000000000 +vt 0.916345059872 0.684997260571 0.000000000000 +vt 0.924999296665 0.686340272427 0.000000000000 +vt 0.923253715038 0.697034716606 0.000000000000 +vt 0.917016923428 0.620534837246 0.000000000000 +vt 0.915503799915 0.609951913357 0.000000000000 +vt 0.924802958965 0.608696460724 0.000000000000 +vt 0.925778567791 0.619882166386 0.000000000000 +vt 0.912027418613 0.704157292843 0.000000000000 +vt 0.921499311924 0.705678403378 0.000000000000 +vt 0.918580591679 0.674305975437 0.000000000000 +vt 0.926661670208 0.674895882607 0.000000000000 +vt 0.718583166599 0.876050651073 0.000000000000 +vt 0.713863432407 0.879810035229 0.000000000000 +vt 0.710420310497 0.875060856342 0.000000000000 +vt 0.714020431042 0.871412634850 0.000000000000 +vt 0.697144329548 0.869657814503 0.000000000000 +vt 0.690142214298 0.873365402222 0.000000000000 +vt 0.686877906322 0.870136678219 0.000000000000 +vt 0.696207225323 0.865324914455 0.000000000000 +vt 0.723377764225 0.855088472366 0.000000000000 +vt 0.686818659306 0.880428075790 0.000000000000 +vt 0.681876957417 0.878385961056 0.000000000000 +vt 0.704877674580 0.870628654957 0.000000000000 +vt 0.706442534924 0.866614162922 0.000000000000 +vt 0.698146879673 0.874422729015 0.000000000000 +vt 0.693293511868 0.876017093658 0.000000000000 +vt 0.703139483929 0.874020636082 0.000000000000 +vt 0.692841827869 0.881317675114 0.000000000000 +vt 0.707678377628 0.883993208408 0.000000000000 +vt 0.705496728420 0.878273785114 0.000000000000 +vt 0.700505435467 0.886600732803 0.000000000000 +vt 0.710137546062 0.772817432880 0.000000000000 +vt 0.708110511303 0.775850474834 0.000000000000 +vt 0.686994135380 0.796237647533 0.000000000000 +vt 0.715639293194 0.780954062939 0.000000000000 +vt 0.691104710102 0.775407373905 0.000000000000 +vt 0.699277937412 0.880255401134 0.000000000000 +vt 0.685730040073 0.887317180634 0.000000000000 +vt 0.679790914059 0.885531485081 0.000000000000 +vt 0.918968498707 0.632217705250 0.000000000000 +vt 0.927030384541 0.632067978382 0.000000000000 +vt 0.920924723148 0.642282843590 0.000000000000 +vt 0.928346455097 0.642091691494 0.000000000000 +vt 0.920858919621 0.665029823780 0.000000000000 +vt 0.928194463253 0.665964901447 0.000000000000 +vt 0.717470824718 0.788531899452 0.000000000000 +vt 0.900251805782 0.692512214184 0.000000000000 +vt 0.693121254444 0.888164877892 0.000000000000 +vt 0.902859151363 0.682655394077 0.000000000000 +vt 0.903970539570 0.621789634228 0.000000000000 +vt 0.901585161686 0.612310171127 0.000000000000 +vt 0.898017823696 0.700807869434 0.000000000000 +vt 0.905948698521 0.673050761223 0.000000000000 +vt 0.906874597073 0.632321536541 0.000000000000 +vt 0.693904578686 0.898468434811 0.000000000000 +vt 0.684614479542 0.894367456436 0.000000000000 +vt 0.909317672253 0.643546879292 0.000000000000 +vt 0.731463849545 0.855961382389 0.000000000000 +vt 0.869329869747 0.669516265392 0.000000000000 +vt 0.870946586132 0.660611331463 0.000000000000 +vt 0.890423119068 0.661864340305 0.000000000000 +vt 0.888348281384 0.670855045319 0.000000000000 +vt 0.890978634357 0.652710914612 0.000000000000 +vt 0.702305495739 0.895358145237 0.000000000000 +vt 0.871763646603 0.652749598026 0.000000000000 +vt 0.882360517979 0.689871191978 0.000000000000 +vt 0.710604488850 0.892980515957 0.000000000000 +vt 0.717464387417 0.885056376457 0.000000000000 +vt 0.730221688747 0.863188624382 0.000000000000 +vt 0.722860634327 0.863828301430 0.000000000000 +vt 0.714506924152 0.854860365391 0.000000000000 +vt 0.713789999485 0.863633096218 0.000000000000 +vt 0.724120557308 0.846761763096 0.000000000000 +vt 0.730854570866 0.849116206169 0.000000000000 +vt 0.714706599712 0.846446990967 0.000000000000 +vt 0.706338703632 0.855344653130 0.000000000000 +vt 0.707510411739 0.848723769188 0.000000000000 +vt 0.707069814205 0.861884772778 0.000000000000 +vt 0.678365886211 0.892260015011 0.000000000000 +vt 0.722407639027 0.880594253540 0.000000000000 +vt 0.885312139988 0.679928541183 0.000000000000 +vt 0.886436760426 0.624270200729 0.000000000000 +vt 0.883410274982 0.615363061428 0.000000000000 +vt 0.879997313023 0.698587834835 0.000000000000 +vt 0.889629900455 0.633672416210 0.000000000000 +vt 0.909305155277 0.662700593472 0.000000000000 +vt 0.891184151173 0.643255293369 0.000000000000 +vt 0.871766149998 0.644696950912 0.000000000000 +vt 0.907031238079 0.653394460678 0.000000000000 +vt 0.865283668041 0.687783956528 0.000000000000 +vt 0.867546260357 0.678728938103 0.000000000000 +vt 0.868419826031 0.627362251282 0.000000000000 +vt 0.866138994694 0.618586599827 0.000000000000 +vt 0.862232387066 0.696758449078 0.000000000000 +vt 0.870358645916 0.636041104794 0.000000000000 +vt 0.858235895634 0.685826241970 0.000000000000 +vt 0.858604013920 0.677683055401 0.000000000000 +vt 0.860833942890 0.667493700981 0.000000000000 +vt 0.863862931728 0.659794270992 0.000000000000 +vt 0.864249050617 0.652788579464 0.000000000000 +vt 0.864739954472 0.645918428898 0.000000000000 +vt 0.861379206181 0.638689100742 0.000000000000 +vt 0.859226524830 0.628483951092 0.000000000000 +vt 0.858618676662 0.620088815689 0.000000000000 +vt 0.856225430965 0.613054513931 0.000000000000 +vt 0.914761722088 0.600589513779 0.000000000000 +vt 0.924306929111 0.599584639072 0.000000000000 +vt 0.900618851185 0.603945910931 0.000000000000 +vt 0.882335126400 0.606884181499 0.000000000000 +vt 0.864254891872 0.609210252762 0.000000000000 +vt 0.854927241802 0.691868305206 0.000000000000 +vt 0.837422072887 0.841993212700 0.000000000000 +vt 0.887628972530 0.127281382680 0.000000000000 +vt 0.891492426395 0.109981805086 0.000000000000 +vt 0.853538930416 0.841780006886 0.000000000000 +vt 0.446142524481 0.173150673509 0.000000000000 +vt 0.852221906185 0.869813799858 0.000000000000 +vt 0.834832131863 0.866848766804 0.000000000000 +vt 0.827377617359 0.891240715981 0.000000000000 +vt 0.844508349895 0.896685421467 0.000000000000 +vt 0.876590073109 0.913664817810 0.000000000000 +vt 0.631155192852 0.291285961866 0.000000000000 +vt 0.626378953457 0.296571254730 0.000000000000 +vt 0.619356811047 0.293236494064 0.000000000000 +vt 0.617115795612 0.281405717134 0.000000000000 +vt 0.627076447010 0.304564028978 0.000000000000 +vt 0.612752139568 0.299342244864 0.000000000000 +vt 0.603455007076 0.284176468849 0.000000000000 +vt 0.551565110683 0.292362421751 0.000000000000 +vt 0.563377797604 0.287606924772 0.000000000000 +vt 0.575475394726 0.299903571606 0.000000000000 +vt 0.558976709843 0.303807973862 0.000000000000 +vt 0.562288582325 0.307399660349 0.000000000000 +vt 0.579733312130 0.307971090078 0.000000000000 +vt 0.596043288708 0.307672083378 0.000000000000 +vt 0.594420373440 0.298339635134 0.000000000000 +vt 0.590357482433 0.287719279528 0.000000000000 +vt 0.579626619816 0.290383100510 0.000000000000 +vt 0.573159515858 0.282042890787 0.000000000000 +vt 0.578718960285 0.044730942696 0.000000000000 +vt 0.566518962383 0.050097059458 0.000000000000 +vt 0.561770737171 0.022569365799 0.000000000000 +vt 0.579452574253 0.019849490374 0.000000000000 +vt 0.557008445263 0.060779999942 0.000000000000 +vt 0.548213899136 0.048078324646 0.000000000000 +vt 0.693731248379 0.210530251265 0.000000000000 +vt 0.693874895573 0.194242313504 0.000000000000 +vt 0.701992332935 0.200576603413 0.000000000000 +vt 0.711977064610 0.218270197511 0.000000000000 +vt 0.698697388172 0.178742393851 0.000000000000 +vt 0.704717457294 0.185912460089 0.000000000000 +vt 0.903121650219 0.125584170222 0.000000000000 +vt 0.867082893848 0.928871572018 0.000000000000 +vt 0.847567975521 0.932113111019 0.000000000000 +vt 0.861807763577 0.903646290302 0.000000000000 +vt 0.874533474445 0.941229879856 0.000000000000 +vt 0.854254424572 0.953694105148 0.000000000000 +vt 0.828710377216 0.919355154037 0.000000000000 +vt 0.886985480785 0.898062467575 0.000000000000 +vt 0.872782289982 0.875068247318 0.000000000000 +vt 0.906435072422 0.912213265896 0.000000000000 +vt 0.907167255878 0.936152637005 0.000000000000 +vt 0.888857185841 0.925772547722 0.000000000000 +vt 0.894924700260 0.912269532681 0.000000000000 +vt 0.909523308277 0.137212976813 0.000000000000 +vt 0.900375425816 0.890851438046 0.000000000000 +vt 0.647988855839 0.030116569251 0.000000000000 +vt 0.663214385509 0.030034158379 0.000000000000 +vt 0.655444204807 0.048680160195 0.000000000000 +vt 0.633447468281 0.039773471653 0.000000000000 +vt 0.639170706272 0.061737354845 0.000000000000 +vt 0.625266969204 0.055919121951 0.000000000000 +vt 0.724736869335 0.892238378525 0.000000000000 +vt 0.741851985455 0.899839401245 0.000000000000 +vt 0.725909292698 0.912707686424 0.000000000000 +vt 0.713663756847 0.901688575745 0.000000000000 +vt 0.650711238384 0.327391177416 0.000000000000 +vt 0.634856283665 0.320250153542 0.000000000000 +vt 0.740120351315 0.933756113052 0.000000000000 +vt 0.722898066044 0.930224955082 0.000000000000 +vt 0.640473186970 0.306113332510 0.000000000000 +vt 0.652059733868 0.314922749996 0.000000000000 +vt 0.621949970722 0.313803285360 0.000000000000 +vt 0.583925902843 0.276038467884 0.000000000000 +vt 0.669873058796 0.330044180155 0.000000000000 +vt 0.663455307484 0.311076432467 0.000000000000 +vt 0.653194963932 0.296154946089 0.000000000000 +vt 0.537551581860 0.063254460692 0.000000000000 +vt 0.855031669140 0.035574551672 0.000000000000 +vt 0.837493717670 0.022007379681 0.000000000000 +vt 0.709798753262 0.290995299816 0.000000000000 +vt 0.720909416676 0.320390880108 0.000000000000 +vt 0.708561480045 0.322530746460 0.000000000000 +vt 0.747772991657 0.921521842480 0.000000000000 +vt 0.695623576641 0.297934114933 0.000000000000 +vt 0.680082261562 0.305459260941 0.000000000000 +vt 0.693427860737 0.329764753580 0.000000000000 +vt 0.681907594204 0.278335958719 0.000000000000 +vt 0.667823493481 0.287369400263 0.000000000000 +vt 0.667146265507 0.261673122644 0.000000000000 +vt 0.654371798038 0.271894037724 0.000000000000 +vt 0.641373217106 0.281966120005 0.000000000000 +vt 0.639975368977 0.258212238550 0.000000000000 +vt 0.628611147404 0.269090384245 0.000000000000 +vt 0.626621663570 0.244766697288 0.000000000000 +vt 0.616053998470 0.255464911461 0.000000000000 +vt 0.605184614658 0.264766514301 0.000000000000 +vt 0.605853140354 0.242097690701 0.000000000000 +vt 0.595517814159 0.250885695219 0.000000000000 +vt 0.585814058781 0.256739497185 0.000000000000 +vt 0.595492184162 0.270403504372 0.000000000000 +vt 0.574711024761 0.264054805040 0.000000000000 +vt 0.585790932178 0.239443764091 0.000000000000 +vt 0.572891771793 0.246539995074 0.000000000000 +vt 0.559696972370 0.254923403263 0.000000000000 +vt 0.577001988888 0.228986665606 0.000000000000 +vt 0.564495980740 0.234662607312 0.000000000000 +vt 0.551713407040 0.238481923938 0.000000000000 +vt 0.545511305332 0.261512130499 0.000000000000 +vt 0.538646757603 0.241494938731 0.000000000000 +vt 0.661286294460 0.149169623852 0.000000000000 +vt 0.643085420132 0.133995741606 0.000000000000 +vt 0.684797942638 0.147779509425 0.000000000000 +vt 0.676565825939 0.159141749144 0.000000000000 +vt 0.630804598331 0.144728660583 0.000000000000 +vt 0.649197280407 0.162055477500 0.000000000000 +vt 0.669700562954 0.172124639153 0.000000000000 +vt 0.633624017239 0.171124503016 0.000000000000 +vt 0.617616355419 0.157551243901 0.000000000000 +vt 0.624203979969 0.183554634452 0.000000000000 +vt 0.607319533825 0.173306703568 0.000000000000 +vt 0.645736873150 0.185071289539 0.000000000000 +vt 0.638931095600 0.196221649647 0.000000000000 +vt 0.601086556911 0.187993124127 0.000000000000 +vt 0.617492735386 0.196533486247 0.000000000000 +vt 0.632214725018 0.207936018705 0.000000000000 +vt 0.654465734959 0.209547683597 0.000000000000 +vt 0.646386682987 0.221093416214 0.000000000000 +vt 0.611703574657 0.208597302437 0.000000000000 +vt 0.624510347843 0.219911128283 0.000000000000 +vt 0.636621057987 0.233212843537 0.000000000000 +vt 0.661210715771 0.235190823674 0.000000000000 +vt 0.651021778584 0.247041419148 0.000000000000 +vt 0.615979254246 0.231477782130 0.000000000000 +vt 0.605249464512 0.220229938626 0.000000000000 +vt 0.596773326397 0.230893954635 0.000000000000 +vt 0.592077195644 0.211689129472 0.000000000000 +vt 0.586139500141 0.221562415361 0.000000000000 +vt 0.596748054028 0.200712144375 0.000000000000 +vt 0.686020314693 0.238807246089 0.000000000000 +vt 0.677805483341 0.250549525023 0.000000000000 +vt 0.669185936451 0.222903206944 0.000000000000 +vt 0.691701591015 0.226273551583 0.000000000000 +vt 0.675190150738 0.210060581565 0.000000000000 +vt 0.660946547985 0.197643056512 0.000000000000 +vt 0.679371058941 0.196919396520 0.000000000000 +vt 0.665786325932 0.185841768980 0.000000000000 +vt 0.653169095516 0.177967861295 0.000000000000 +vt 0.682948529720 0.183452650905 0.000000000000 +vt 0.688856303692 0.169335424900 0.000000000000 +vt 0.712051331997 0.240907743573 0.000000000000 +vt 0.705046594143 0.257047295570 0.000000000000 +vt 0.693947613239 0.268588751554 0.000000000000 +vt 0.846441566944 0.016312304884 0.000000000000 +vt 0.725233733654 0.280963063240 0.000000000000 +vt 0.864230215549 0.027330722660 0.000000000000 +vt 0.867542684078 0.077758729458 0.000000000000 +vt 0.873992264271 0.059032347053 0.000000000000 +vt 0.900698363781 0.073607310653 0.000000000000 +vt 0.893409788609 0.088153243065 0.000000000000 +vt 0.837527215481 0.094833135605 0.000000000000 +vt 0.838087618351 0.073169842362 0.000000000000 +vt 0.864491522312 0.098964735866 0.000000000000 +vt 0.839568436146 0.049210395664 0.000000000000 +vt 0.838048279285 0.117027804255 0.000000000000 +vt 0.862743914127 0.119909122586 0.000000000000 +vt 0.839784204960 0.140174224973 0.000000000000 +vt 0.862825214863 0.142299681902 0.000000000000 +vt 0.887471616268 0.147722780704 0.000000000000 +vt 0.864518344402 0.167147815228 0.000000000000 +vt 0.760909855366 0.908550620079 0.000000000000 +vt 0.702537238598 0.924268066883 0.000000000000 +vt 0.688291251659 0.928146779537 0.000000000000 +vt 0.681064426899 0.908967435360 0.000000000000 +vt 0.690809547901 0.908960223198 0.000000000000 +vt 0.831720411777 0.965238690376 0.000000000000 +vt 0.609436690807 0.309842139482 0.000000000000 +vt 0.841262519360 0.982780098915 0.000000000000 +vt 0.824164688587 0.990950345993 0.000000000000 +vt 0.813748776913 0.974472284317 0.000000000000 +vt 0.803931534290 0.981341362000 0.000000000000 +vt 0.813704669476 0.995644569397 0.000000000000 +vt 0.821433365345 0.949445426464 0.000000000000 +vt 0.802491247654 0.961359918118 0.000000000000 +vt 0.792442619801 0.969731867313 0.000000000000 +vt 0.808618605137 0.936246752739 0.000000000000 +vt 0.791009962559 0.950495541096 0.000000000000 +vt 0.780412495136 0.960320413113 0.000000000000 +vt 0.779733002186 0.938618302345 0.000000000000 +vt 0.769098222256 0.949621915817 0.000000000000 +vt 0.795302093029 0.925809264183 0.000000000000 +vt 0.779587566853 0.917365670204 0.000000000000 +vt 0.765330970287 0.930258750916 0.000000000000 +vt 0.755919754505 0.940638661385 0.000000000000 +vt 0.888226568699 0.171349883080 0.000000000000 +vt 0.910776436329 0.175429016352 0.000000000000 +vt 0.910029232502 0.154122352600 0.000000000000 +vt 0.931366503239 0.177302077413 0.000000000000 +vt 0.929215371609 0.158224686980 0.000000000000 +vt 0.927563607693 0.146612986922 0.000000000000 +vt 0.907406389713 0.225816711783 0.000000000000 +vt 0.909843504429 0.199414119124 0.000000000000 +vt 0.930679738522 0.201603308320 0.000000000000 +vt 0.928200304508 0.226828783751 0.000000000000 +vt 0.887493193150 0.252168864012 0.000000000000 +vt 0.887319624424 0.224217891693 0.000000000000 +vt 0.907594621181 0.252231895924 0.000000000000 +vt 0.932080924511 0.253668844700 0.000000000000 +vt 0.888279378414 0.197011262178 0.000000000000 +vt 0.868254363537 0.222412139177 0.000000000000 +vt 0.866531431675 0.193962886930 0.000000000000 +vt 0.850991070271 0.254400819540 0.000000000000 +vt 0.425416767597 0.169557422400 0.000000000000 +vt 0.527126252651 0.054304089397 0.000000000000 +vt 0.537031948566 0.037999924272 0.000000000000 +vt 0.594819605350 0.021248605102 0.000000000000 +vt 0.593616664410 0.041817199439 0.000000000000 +vt 0.611463606358 0.039550118148 0.000000000000 +vt 0.612102329731 0.021802034229 0.000000000000 +vt 0.629308164120 0.021318852901 0.000000000000 +vt 0.684654057026 0.026047337800 0.000000000000 +vt 0.686814010143 0.010275442153 0.000000000000 +vt 0.813150346279 0.910948097706 0.000000000000 +vt 0.795561254025 0.902303934097 0.000000000000 +vt 0.708547055721 0.008438628167 0.000000000000 +vt 0.706763446331 0.024136669934 0.000000000000 +vt 0.681121885777 0.042657937855 0.000000000000 +vt 0.703326165676 0.040577050298 0.000000000000 +vt 0.679071128368 0.059330899268 0.000000000000 +vt 0.697736203671 0.057211738080 0.000000000000 +vt 0.679068386555 0.075802132487 0.000000000000 +vt 0.694422185421 0.074145883322 0.000000000000 +vt 0.660856544971 0.065091490746 0.000000000000 +vt 0.664182245731 0.079712390900 0.000000000000 +vt 0.667562067509 0.093277320266 0.000000000000 +vt 0.658718883991 0.094275429845 0.000000000000 +vt 0.653593957424 0.083498373628 0.000000000000 +vt 0.562429010868 0.070872798562 0.000000000000 +vt 0.561431109905 0.091275691986 0.000000000000 +vt 0.651631176472 0.096843779087 0.000000000000 +vt 0.566199004650 0.079591929913 0.000000000000 +vt 0.568919837475 0.088470026851 0.000000000000 +vt 0.576352179050 0.086408510804 0.000000000000 +vt 0.573891699314 0.075738176703 0.000000000000 +vt 0.570575177670 0.065078660846 0.000000000000 +vt 0.584147036076 0.084593981504 0.000000000000 +vt 0.582864105701 0.072689130902 0.000000000000 +vt 0.580894887447 0.060486171395 0.000000000000 +vt 0.593160688877 0.083160415292 0.000000000000 +vt 0.593804895878 0.070337161422 0.000000000000 +vt 0.593818604946 0.057107713073 0.000000000000 +vt 0.603601753712 0.082686245441 0.000000000000 +vt 0.606147468090 0.069071784616 0.000000000000 +vt 0.609074890614 0.054980006069 0.000000000000 +vt 0.614769279957 0.083682104945 0.000000000000 +vt 0.619084775448 0.069891348481 0.000000000000 +vt 0.610922992229 0.095825180411 0.000000000000 +vt 0.601321876049 0.094617664814 0.000000000000 +vt 0.622694909573 0.086109951138 0.000000000000 +vt 0.617340266705 0.097710400820 0.000000000000 +vt 0.629761517048 0.073689267039 0.000000000000 +vt 0.629895031452 0.090603604913 0.000000000000 +vt 0.623498737812 0.100945651531 0.000000000000 +vt 0.638310372829 0.080408573151 0.000000000000 +vt 0.638113796711 0.097320660949 0.000000000000 +vt 0.645590126514 0.088923722506 0.000000000000 +vt 0.647677242756 0.071726813912 0.000000000000 +vt 0.631511867046 0.105762854218 0.000000000000 +vt 0.638789474964 0.110335975885 0.000000000000 +vt 0.562276422977 0.105178341269 0.000000000000 +vt 0.630611360073 0.128678917885 0.000000000000 +vt 0.623610913754 0.125340327621 0.000000000000 +vt 0.626384556293 0.114658728242 0.000000000000 +vt 0.569847881794 0.105211660266 0.000000000000 +vt 0.570068538189 0.114621803164 0.000000000000 +vt 0.570002615452 0.097111940384 0.000000000000 +vt 0.577380478382 0.104798287153 0.000000000000 +vt 0.576979458332 0.114249393344 0.000000000000 +vt 0.577486932278 0.096096485853 0.000000000000 +vt 0.584565103054 0.104308113456 0.000000000000 +vt 0.583777844906 0.114008486271 0.000000000000 +vt 0.584677040577 0.095082387328 0.000000000000 +vt 0.591241061687 0.104193970561 0.000000000000 +vt 0.589022576809 0.114581719041 0.000000000000 +vt 0.592356622219 0.094391390681 0.000000000000 +vt 0.598587095737 0.105026379228 0.000000000000 +vt 0.594260156155 0.115820080042 0.000000000000 +vt 0.586750924587 0.143253445625 0.000000000000 +vt 0.588111102581 0.125869661570 0.000000000000 +vt 0.593005359173 0.127749264240 0.000000000000 +vt 0.591630995274 0.144661337137 0.000000000000 +vt 0.596110045910 0.146092429757 0.000000000000 +vt 0.598921716213 0.130493223667 0.000000000000 +vt 0.601200044155 0.117737725377 0.000000000000 +vt 0.600308954716 0.147598937154 0.000000000000 +vt 0.605599582195 0.133385121822 0.000000000000 +vt 0.608710825443 0.120034545660 0.000000000000 +vt 0.604579865932 0.149645149708 0.000000000000 +vt 0.611486494541 0.135846063495 0.000000000000 +vt 0.615960538387 0.122533097863 0.000000000000 +vt 0.608992874622 0.150967940688 0.000000000000 +vt 0.617690265179 0.137778565288 0.000000000000 +vt 0.624459326267 0.140183672309 0.000000000000 +vt 0.613782465458 0.152489989996 0.000000000000 +vt 0.570089280605 0.125959947705 0.000000000000 +vt 0.557442963123 0.275540649891 0.000000000000 +vt 0.566006243229 0.270970880985 0.000000000000 +vt 0.775371730328 0.893757700920 0.000000000000 +vt 0.808763206005 0.883916676044 0.000000000000 +vt 0.559562146664 0.264112442732 0.000000000000 +vt 0.554663598537 0.266600191593 0.000000000000 +vt 0.848581612110 0.221785306931 0.000000000000 +vt 0.393582761288 0.484183341265 0.000000000000 +vt 0.396767795086 0.480453461409 0.000000000000 +vt 0.400794714689 0.480809420347 0.000000000000 +vt 0.399765521288 0.485055834055 0.000000000000 +vt 0.439470499754 0.511713802814 0.000000000000 +vt 0.440386444330 0.513542473316 0.000000000000 +vt 0.437012046576 0.514041662216 0.000000000000 +vt 0.437573134899 0.511677742004 0.000000000000 +vt 0.422013103962 0.460037946701 0.000000000000 +vt 0.418047666550 0.470334529877 0.000000000000 +vt 0.412509530783 0.468371391296 0.000000000000 +vt 0.414865106344 0.458373844624 0.000000000000 +vt 0.429023534060 0.476388931274 0.000000000000 +vt 0.423462659121 0.473014324903 0.000000000000 +vt 0.429314196110 0.462833255529 0.000000000000 +vt 0.436214298010 0.467371255159 0.000000000000 +vt 0.406041711569 0.475491911173 0.000000000000 +vt 0.406945496798 0.467524141073 0.000000000000 +vt 0.410694092512 0.476356506348 0.000000000000 +vt 0.435092151165 0.452288359404 0.000000000000 +vt 0.438309162855 0.447881609201 0.000000000000 +vt 0.359971135855 0.090370342135 0.000000000000 +vt 0.368420302868 0.099629849195 0.000000000000 +vt 0.362833082676 0.104876860976 0.000000000000 +vt 0.354921132326 0.096900969744 0.000000000000 +vt 0.352515369654 0.130700588226 0.000000000000 +vt 0.345492541790 0.124132826924 0.000000000000 +vt 0.349532276392 0.119571164250 0.000000000000 +vt 0.358871489763 0.128728002310 0.000000000000 +vt 0.438525289297 0.449985921383 0.000000000000 +vt 0.439274400473 0.451704740524 0.000000000000 +vt 0.449622303247 0.464140743017 0.000000000000 +vt 0.448981046677 0.460056871176 0.000000000000 +vt 0.450336039066 0.460677176714 0.000000000000 +vt 0.452015697956 0.460444808006 0.000000000000 +vt 0.425263881683 0.450979530811 0.000000000000 +vt 0.453179091215 0.473780065775 0.000000000000 +vt 0.449453443289 0.477478682995 0.000000000000 +vt 0.442929327488 0.472293376923 0.000000000000 +vt 0.441622525454 0.459930330515 0.000000000000 +vt 0.444129645824 0.456388652325 0.000000000000 +vt 0.373616009951 0.118581384420 0.000000000000 +vt 0.375112146139 0.115701422095 0.000000000000 +vt 0.377992779016 0.117945536971 0.000000000000 +vt 0.375868886709 0.120479449630 0.000000000000 +vt 0.382243275642 0.107223436236 0.000000000000 +vt 0.383732229471 0.103787556291 0.000000000000 +vt 0.386310935020 0.106139764190 0.000000000000 +vt 0.384451150894 0.109020173550 0.000000000000 +vt 0.409286201000 0.450759083033 0.000000000000 +vt 0.408566385508 0.458585023880 0.000000000000 +vt 0.376690715551 0.126454398036 0.000000000000 +vt 0.381214976311 0.120371833444 0.000000000000 +vt 0.403114914894 0.459155589342 0.000000000000 +vt 0.403876841068 0.452309519053 0.000000000000 +vt 0.454835981131 0.482029527426 0.000000000000 +vt 0.457485169172 0.479463666677 0.000000000000 +vt 0.384555608034 0.122786611319 0.000000000000 +vt 0.382433533669 0.128221631050 0.000000000000 +vt 0.385892122984 0.114606484771 0.000000000000 +vt 0.389199435711 0.119001969695 0.000000000000 +vt 0.416368693113 0.447328180075 0.000000000000 +vt 0.461556434631 0.440214395523 0.000000000000 +vt 0.354810804129 0.135790005326 0.000000000000 +vt 0.356487303972 0.133928865194 0.000000000000 +vt 0.459117084742 0.440935134888 0.000000000000 +vt 0.359035402536 0.136161059141 0.000000000000 +vt 0.356604158878 0.137259811163 0.000000000000 +vt 0.456829965115 0.439723789692 0.000000000000 +vt 0.458451539278 0.437272518873 0.000000000000 +vt 0.454769343138 0.438526421785 0.000000000000 +vt 0.454550951719 0.435967743397 0.000000000000 +vt 0.441826075315 0.444921255112 0.000000000000 +vt 0.443551659584 0.442011803389 0.000000000000 +vt 0.448256731033 0.443818241358 0.000000000000 +vt 0.446299463511 0.446265220642 0.000000000000 +vt 0.455544114113 0.449857115746 0.000000000000 +vt 0.458855003119 0.454671829939 0.000000000000 +vt 0.455724000931 0.457280248404 0.000000000000 +vt 0.453310787678 0.452473431826 0.000000000000 +vt 0.450308114290 0.448847740889 0.000000000000 +vt 0.386408418417 0.101448193192 0.000000000000 +vt 0.387978881598 0.103007167578 0.000000000000 +vt 0.452250301838 0.446324646473 0.000000000000 +vt 0.447152793407 0.437671035528 0.000000000000 +vt 0.450194656849 0.436007380486 0.000000000000 +vt 0.452898085117 0.439646780491 0.000000000000 +vt 0.450881361961 0.441238403320 0.000000000000 +vt 0.458574026823 0.443444490433 0.000000000000 +vt 0.463303625584 0.444895386696 0.000000000000 +vt 0.462563782930 0.448778629303 0.000000000000 +vt 0.457480877638 0.446133941412 0.000000000000 +vt 0.454026341438 0.443802684546 0.000000000000 +vt 0.359097301960 0.132905989885 0.000000000000 +vt 0.361074864864 0.134876102209 0.000000000000 +vt 0.455461025238 0.441745221615 0.000000000000 +vt 0.444298267365 0.448686748743 0.000000000000 +vt 0.442074418068 0.450537770987 0.000000000000 +vt 0.439655810595 0.449115246534 0.000000000000 +vt 0.441199243069 0.447540730238 0.000000000000 +vt 0.451972931623 0.458101630211 0.000000000000 +vt 0.450596332550 0.459385693073 0.000000000000 +vt 0.449565351009 0.457458138466 0.000000000000 +vt 0.450939685106 0.454803764820 0.000000000000 +vt 0.446267724037 0.453737437725 0.000000000000 +vt 0.397592544556 0.132566675544 0.000000000000 +vt 0.395102560520 0.138213351369 0.000000000000 +vt 0.392103701830 0.135889068246 0.000000000000 +vt 0.395304739475 0.130839735270 0.000000000000 +vt 0.399295836687 0.125662967563 0.000000000000 +vt 0.402231425047 0.128127291799 0.000000000000 +vt 0.404049992561 0.137433633208 0.000000000000 +vt 0.405965834856 0.138806402683 0.000000000000 +vt 0.404163688421 0.144568577409 0.000000000000 +vt 0.448208779097 0.451402574778 0.000000000000 +vt 0.449387699366 0.442756623030 0.000000000000 +vt 0.445775300264 0.440066248178 0.000000000000 +vt 0.459970653057 0.451159417629 0.000000000000 +vt 0.456270694733 0.448136717081 0.000000000000 +vt 0.400764316320 0.142388850451 0.000000000000 +vt 0.410871744156 0.135244905949 0.000000000000 +vt 0.407858490944 0.132529079914 0.000000000000 +vt 0.389080792665 0.131361424923 0.000000000000 +vt 0.387762486935 0.129610389471 0.000000000000 +vt 0.389104187489 0.126333042979 0.000000000000 +vt 0.390812218189 0.127695217729 0.000000000000 +vt 0.391797959805 0.123638600111 0.000000000000 +vt 0.393867135048 0.124303475022 0.000000000000 +vt 0.390969157219 0.132123574615 0.000000000000 +vt 0.392821729183 0.129185527563 0.000000000000 +vt 0.395075976849 0.126136258245 0.000000000000 +vt 0.398736566305 0.138166293502 0.000000000000 +vt 0.397700846195 0.136793285608 0.000000000000 +vt 0.399035334587 0.133746489882 0.000000000000 +vt 0.400510340929 0.134889379144 0.000000000000 +vt 0.401520818472 0.131361871958 0.000000000000 +vt 0.403166472912 0.131912827492 0.000000000000 +vt 0.400330662727 0.138775110245 0.000000000000 +vt 0.402200579643 0.136118054390 0.000000000000 +vt 0.404188245535 0.133363723755 0.000000000000 +vt 0.385480999947 0.131040126085 0.000000000000 +vt 0.387488692999 0.124964997172 0.000000000000 +vt 0.392740219831 0.120471790433 0.000000000000 +vt 0.397779881954 0.121211871505 0.000000000000 +vt 0.388019412756 0.135536253452 0.000000000000 +vt 0.406621724367 0.128388255835 0.000000000000 +vt 0.396779060364 0.141935378313 0.000000000000 +vt 0.409657478333 0.141405150294 0.000000000000 +vt 0.408238559961 0.143032342196 0.000000000000 +vt 0.452826261520 0.445473134518 0.000000000000 +vt 0.398223191500 0.453096210957 0.000000000000 +vt 0.397748589516 0.459203541279 0.000000000000 +vt 0.461537957191 0.483292669058 0.000000000000 +vt 0.458966463804 0.486215561628 0.000000000000 +vt 0.417104929686 0.441364258528 0.000000000000 +vt 0.418126702309 0.442871898413 0.000000000000 +vt 0.420422822237 0.444641411304 0.000000000000 +vt 0.433500528336 0.448079735041 0.000000000000 +vt 0.436020672321 0.448221594095 0.000000000000 +vt 0.427099138498 0.446181684732 0.000000000000 +vt 0.438960522413 0.423234313726 0.000000000000 +vt 0.436720907688 0.424649864435 0.000000000000 +vt 0.407253503799 0.142381638288 0.000000000000 +vt 0.408249586821 0.140351876616 0.000000000000 +vt 0.434051692486 0.423569798470 0.000000000000 +vt 0.434879601002 0.420804440975 0.000000000000 +vt 0.431214749813 0.423123985529 0.000000000000 +vt 0.430086702108 0.420641422272 0.000000000000 +vt 0.419274091721 0.434574037790 0.000000000000 +vt 0.420379161835 0.430852890015 0.000000000000 +vt 0.426141530275 0.431651085615 0.000000000000 +vt 0.424853444099 0.434927970171 0.000000000000 +vt 0.436181217432 0.434532612562 0.000000000000 +vt 0.441298097372 0.437351107597 0.000000000000 +vt 0.439914047718 0.441069751978 0.000000000000 +vt 0.435192108154 0.437948435545 0.000000000000 +vt 0.430372446775 0.435908526182 0.000000000000 +vt 0.410810738802 0.139599621296 0.000000000000 +vt 0.409828603268 0.138812705874 0.000000000000 +vt 0.431275308132 0.432643771172 0.000000000000 +vt 0.423234343529 0.424417972565 0.000000000000 +vt 0.425667136908 0.422001600266 0.000000000000 +vt 0.429718136787 0.424738824368 0.000000000000 +vt 0.428410202265 0.426783442497 0.000000000000 +vt 0.437025994062 0.426789969206 0.000000000000 +vt 0.441838681698 0.426870137453 0.000000000000 +vt 0.442383557558 0.430333465338 0.000000000000 +vt 0.436957329512 0.429274797440 0.000000000000 +vt 0.432621270418 0.428078770638 0.000000000000 +vt 0.414452850819 0.144986689091 0.000000000000 +vt 0.409147053957 0.147766679525 0.000000000000 +vt 0.433331876993 0.425908029079 0.000000000000 +vt 0.423957765102 0.438147932291 0.000000000000 +vt 0.422544687986 0.441486746073 0.000000000000 +vt 0.418296456337 0.441183239222 0.000000000000 +vt 0.419304251671 0.438087821007 0.000000000000 +vt 0.437636613846 0.443893879652 0.000000000000 +vt 0.436708301306 0.446964770555 0.000000000000 +vt 0.433489710093 0.444419175386 0.000000000000 +vt 0.434133440256 0.441165685654 0.000000000000 +vt 0.428444206715 0.442456930876 0.000000000000 +vt 0.408575177193 0.144754558802 0.000000000000 +vt 0.411639750004 0.142881035805 0.000000000000 +vt 0.406258314848 0.142990231514 0.000000000000 +vt 0.407059431076 0.139547616243 0.000000000000 +vt 0.410056680441 0.137724533677 0.000000000000 +vt 0.415505886078 0.139094606042 0.000000000000 +vt 0.412565827370 0.139450341463 0.000000000000 +vt 0.364202499390 0.128939658403 0.000000000000 +vt 0.366093575954 0.126167103648 0.000000000000 +vt 0.429390072823 0.439258158207 0.000000000000 +vt 0.427526712418 0.428991526365 0.000000000000 +vt 0.422490209341 0.427620559931 0.000000000000 +vt 0.441317677498 0.433453887701 0.000000000000 +vt 0.436557680368 0.431637555361 0.000000000000 +vt 0.368825376034 0.128782272339 0.000000000000 +vt 0.366221219301 0.131002977490 0.000000000000 +vt 0.377708643675 0.113558173180 0.000000000000 +vt 0.379947811365 0.115249529481 0.000000000000 +vt 0.368792057037 0.124293580651 0.000000000000 +vt 0.370973348618 0.126337096095 0.000000000000 +vt 0.379835903645 0.132157340646 0.000000000000 +vt 0.374702155590 0.134804278612 0.000000000000 +vt 0.371608525515 0.131661787629 0.000000000000 +vt 0.385006606579 0.145867496729 0.000000000000 +vt 0.380806565285 0.150551855564 0.000000000000 +vt 0.378436356783 0.147939816117 0.000000000000 +vt 0.383413165808 0.143897384405 0.000000000000 +vt 0.388382792473 0.140254378319 0.000000000000 +vt 0.390580326319 0.142940923572 0.000000000000 +vt 0.389787077904 0.151387169957 0.000000000000 +vt 0.391084223986 0.152869373560 0.000000000000 +vt 0.387653529644 0.157836511731 0.000000000000 +vt 0.385402202606 0.155462026596 0.000000000000 +vt 0.396483421326 0.150470122695 0.000000000000 +vt 0.394613981247 0.147955358028 0.000000000000 +vt 0.377133131027 0.143021076918 0.000000000000 +vt 0.431962937117 0.430194556713 0.000000000000 +vt 0.398509591818 0.449473470449 0.000000000000 +vt 0.403451532125 0.447545230389 0.000000000000 +vt 0.412772059441 0.443381220102 0.000000000000 +vt 0.415262728930 0.442666351795 0.000000000000 +vt 0.408193081617 0.445362567902 0.000000000000 +vt 0.402572304010 0.417491078377 0.000000000000 +vt 0.401636779308 0.420146107674 0.000000000000 +vt 0.376334518194 0.141268029809 0.000000000000 +vt 0.378864586353 0.138637766242 0.000000000000 +vt 0.398579388857 0.420967459679 0.000000000000 +vt 0.397203922272 0.418318748474 0.000000000000 +vt 0.395930439234 0.422812163830 0.000000000000 +vt 0.393101811409 0.421740859747 0.000000000000 +vt 0.393963277340 0.440714478493 0.000000000000 +vt 0.392591178417 0.436948060989 0.000000000000 +vt 0.397990405560 0.434073746204 0.000000000000 +vt 0.399504780769 0.437697380781 0.000000000000 +vt 0.408009588718 0.428790479898 0.000000000000 +vt 0.414924532175 0.428841352463 0.000000000000 +vt 0.416294604540 0.432789921761 0.000000000000 +vt 0.409434139729 0.432349741459 0.000000000000 +vt 0.404077023268 0.434443891048 0.000000000000 +vt 0.380261212587 0.140083029866 0.000000000000 +vt 0.382164925337 0.137022957206 0.000000000000 +vt 0.402819514275 0.430790752172 0.000000000000 +vt 0.390489786863 0.430026113987 0.000000000000 +vt 0.390550136566 0.426381319761 0.000000000000 +vt 0.395857959986 0.425411134958 0.000000000000 +vt 0.396276742220 0.428331613541 0.000000000000 +vt 0.403288513422 0.421578973532 0.000000000000 +vt 0.408246427774 0.418946474791 0.000000000000 +vt 0.411142379045 0.421542286873 0.000000000000 +vt 0.405009150505 0.423732370138 0.000000000000 +vt 0.400750786066 0.425774753094 0.000000000000 +vt 0.383944779634 0.138014540076 0.000000000000 +vt 0.378778368235 0.144098669291 0.000000000000 +vt 0.399727702141 0.423417359591 0.000000000000 +vt 0.400881379843 0.440771222115 0.000000000000 +vt 0.401966422796 0.443919539452 0.000000000000 +vt 0.396847724915 0.446899026632 0.000000000000 +vt 0.396342486143 0.443651407957 0.000000000000 +vt 0.415956437588 0.436509907246 0.000000000000 +vt 0.416573584080 0.440072774887 0.000000000000 +vt 0.411374956369 0.439379304647 0.000000000000 +vt 0.410169273615 0.436066806316 0.000000000000 +vt 0.406326770782 0.441095888615 0.000000000000 +vt 0.381734192371 0.141807720065 0.000000000000 +vt 0.384717941284 0.139707922935 0.000000000000 +vt 0.384294420481 0.151226192713 0.000000000000 +vt 0.383655220270 0.149787440896 0.000000000000 +vt 0.386135309935 0.147063747048 0.000000000000 +vt 0.387247562408 0.148301199079 0.000000000000 +vt 0.389312237501 0.145468518138 0.000000000000 +vt 0.390688598156 0.146293267608 0.000000000000 +vt 0.385713368654 0.152030900121 0.000000000000 +vt 0.405239045620 0.437882453203 0.000000000000 +vt 0.396997690201 0.430689215660 0.000000000000 +vt 0.392160445452 0.433128327131 0.000000000000 +vt 0.412164151669 0.424938082695 0.000000000000 +vt 0.406307399273 0.426028043032 0.000000000000 +vt 0.388458669186 0.149755924940 0.000000000000 +vt 0.391224920750 0.147718727589 0.000000000000 +vt 0.373405694962 0.142156943679 0.000000000000 +vt 0.377377659082 0.137248560786 0.000000000000 +vt 0.383390426636 0.134469017386 0.000000000000 +vt 0.387974828482 0.136217564344 0.000000000000 +vt 0.374564796686 0.146659821272 0.000000000000 +vt 0.394345581532 0.144419968128 0.000000000000 +vt 0.381775170565 0.154543623328 0.000000000000 +vt 0.393369078636 0.155557274818 0.000000000000 +vt 0.391563802958 0.156876459718 0.000000000000 +vt 0.390937179327 0.156117007136 0.000000000000 +vt 0.392488509417 0.154420018196 0.000000000000 +vt 0.395006179810 0.154078006744 0.000000000000 +vt 0.394348293543 0.153221741319 0.000000000000 +vt 0.396971106529 0.159922137856 0.000000000000 +vt 0.391263425350 0.161551579833 0.000000000000 +vt 0.391377806664 0.158593714237 0.000000000000 +vt 0.394818872213 0.157320469618 0.000000000000 +vt 0.389807134867 0.156631037593 0.000000000000 +vt 0.391787588596 0.153602257371 0.000000000000 +vt 0.395006865263 0.152312338352 0.000000000000 +vt 0.401779532433 0.428116351366 0.000000000000 +vt 0.452458798885 0.462447345257 0.000000000000 +vt 0.452626556158 0.465537369251 0.000000000000 +vt 0.459379166365 0.476943254471 0.000000000000 +vt 0.462601810694 0.480663985014 0.000000000000 +vt 0.455803722143 0.471922338009 0.000000000000 +vt 0.479603260756 0.461800038815 0.000000000000 +vt 0.477074772120 0.461461395025 0.000000000000 +vt 0.399524837732 0.154673993587 0.000000000000 +vt 0.396705895662 0.154279291630 0.000000000000 +vt 0.475300759077 0.459207594395 0.000000000000 +vt 0.477906495333 0.457540988922 0.000000000000 +vt 0.473629444838 0.457062989473 0.000000000000 +vt 0.474505990744 0.454424381256 0.000000000000 +vt 0.457420319319 0.456922262907 0.000000000000 +vt 0.460104405880 0.454761892557 0.000000000000 +vt 0.463730514050 0.459742784500 0.000000000000 +vt 0.461280167103 0.461182653904 0.000000000000 +vt 0.469485044479 0.469264149666 0.000000000000 +vt 0.472566455603 0.474419951439 0.000000000000 +vt 0.469833135605 0.475842684507 0.000000000000 +vt 0.467271775007 0.470811873674 0.000000000000 +vt 0.464453041553 0.465783476830 0.000000000000 +vt 0.371207743883 0.139285087585 0.000000000000 +vt 0.356069415808 0.140628591180 0.000000000000 +vt 0.466606199741 0.464368134737 0.000000000000 +vt 0.466347038746 0.452607154846 0.000000000000 +vt 0.470105797052 0.452469378710 0.000000000000 +vt 0.471197992563 0.457316517830 0.000000000000 +vt 0.468378633261 0.458023726940 0.000000000000 +vt 0.475411504507 0.463598579168 0.000000000000 +vt 0.478970795870 0.466784060001 0.000000000000 +vt 0.476854532957 0.469994544983 0.000000000000 +vt 0.473139971495 0.465840876102 0.000000000000 +vt 0.470534920692 0.462002217770 0.000000000000 +vt 0.361092180014 0.138868093491 0.000000000000 +vt 0.362757891417 0.141520425677 0.000000000000 +vt 0.473011165857 0.460577666759 0.000000000000 +vt 0.458834081888 0.463209271431 0.000000000000 +vt 0.456127494574 0.464871376753 0.000000000000 +vt 0.453364372253 0.461712449789 0.000000000000 +vt 0.455975264311 0.460149645805 0.000000000000 +vt 0.466653943062 0.476451963186 0.000000000000 +vt 0.464873641729 0.479033142328 0.000000000000 +vt 0.462096124887 0.474372893572 0.000000000000 +vt 0.464624851942 0.472282111645 0.000000000000 +vt 0.459239572287 0.469601660967 0.000000000000 +vt 0.358396410942 0.143731668591 0.000000000000 +vt 0.366143107414 0.136179968715 0.000000000000 +vt 0.367462068796 0.140748366714 0.000000000000 +vt 0.367624849081 0.152154952288 0.000000000000 +vt 0.363851904869 0.154144421220 0.000000000000 +vt 0.362488389015 0.151757776737 0.000000000000 +vt 0.366743355989 0.150309801102 0.000000000000 +vt 0.370945870876 0.149034306407 0.000000000000 +vt 0.371946483850 0.151283830404 0.000000000000 +vt 0.461986482143 0.467537879944 0.000000000000 +vt 0.466021031141 0.459026336670 0.000000000000 +vt 0.463648796082 0.454296290874 0.000000000000 +vt 0.474090546370 0.471629172564 0.000000000000 +vt 0.471038132906 0.467538326979 0.000000000000 +vt 0.369695812464 0.157271832228 0.000000000000 +vt 0.370106279850 0.158484742045 0.000000000000 +vt 0.366340100765 0.161045432091 0.000000000000 +vt 0.365696161985 0.158691659570 0.000000000000 +vt 0.374921888113 0.158001109958 0.000000000000 +vt 0.373830109835 0.155684486032 0.000000000000 +vt 0.362566053867 0.147848188877 0.000000000000 +vt 0.362277865410 0.146466180682 0.000000000000 +vt 0.364509135485 0.145325541496 0.000000000000 +vt 0.365181237459 0.146691560745 0.000000000000 +vt 0.366957485676 0.145109176636 0.000000000000 +vt 0.367903143167 0.146292820573 0.000000000000 +vt 0.363559901714 0.149057939649 0.000000000000 +vt 0.365885078907 0.148352980614 0.000000000000 +vt 0.368204176426 0.147704318166 0.000000000000 +vt 0.366324573755 0.155576184392 0.000000000000 +vt 0.366173952818 0.154380381107 0.000000000000 +vt 0.368186831474 0.153372362256 0.000000000000 +vt 0.368705600500 0.154601037502 0.000000000000 +vt 0.370330303907 0.152888730168 0.000000000000 +vt 0.371147632599 0.153870403767 0.000000000000 +vt 0.367092341185 0.156595915556 0.000000000000 +vt 0.369238078594 0.155905812979 0.000000000000 +vt 0.371273934841 0.155043467879 0.000000000000 +vt 0.359594911337 0.146293044090 0.000000000000 +vt 0.363820612431 0.143866091967 0.000000000000 +vt 0.368623167276 0.143500894308 0.000000000000 +vt 0.468312889338 0.463350683451 0.000000000000 +vt 0.396901309490 0.467744559050 0.000000000000 +vt 0.401809483767 0.467451632023 0.000000000000 +vt 0.371416240931 0.146074414253 0.000000000000 +vt 0.359569907188 0.149919614196 0.000000000000 +vt 0.374465495348 0.153269469738 0.000000000000 +vt 0.414790123701 0.478396862745 0.000000000000 +vt 0.447205245495 0.489582329988 0.000000000000 +vt 0.452684849501 0.491852372885 0.000000000000 +vt 0.449784398079 0.494581252337 0.000000000000 +vt 0.442751228809 0.493985742331 0.000000000000 +vt 0.434156626463 0.494034796953 0.000000000000 +vt 0.440118283033 0.488046973944 0.000000000000 +vt 0.434461027384 0.500024855137 0.000000000000 +vt 0.430395841599 0.501698195934 0.000000000000 +vt 0.425874501467 0.499181836843 0.000000000000 +vt 0.446397393942 0.499464601278 0.000000000000 +vt 0.440220713615 0.499364227057 0.000000000000 +vt 0.434654891491 0.512679457664 0.000000000000 +vt 0.435968428850 0.511407136917 0.000000000000 +vt 0.443066686392 0.505874812603 0.000000000000 +vt 0.438906043768 0.505390286446 0.000000000000 +vt 0.439353436232 0.502900302410 0.000000000000 +vt 0.444775164127 0.503243684769 0.000000000000 +vt 0.435113310814 0.505446374416 0.000000000000 +vt 0.434737980366 0.503206968307 0.000000000000 +vt 0.447127133608 0.507210433483 0.000000000000 +vt 0.449805349112 0.505035459995 0.000000000000 +vt 0.363566637039 0.157027080655 0.000000000000 +vt 0.371184110641 0.161255732179 0.000000000000 +vt 0.431567996740 0.505946636200 0.000000000000 +vt 0.430854707956 0.504090666771 0.000000000000 +vt 0.369521766901 0.161624297500 0.000000000000 +vt 0.369182020426 0.160728856921 0.000000000000 +vt 0.370721399784 0.159941717982 0.000000000000 +vt 0.372713804245 0.160549417138 0.000000000000 +vt 0.372284442186 0.159536883235 0.000000000000 +vt 0.372968226671 0.165679350495 0.000000000000 +vt 0.452052175999 0.500936031342 0.000000000000 +vt 0.368058949709 0.165135830641 0.000000000000 +vt 0.368970602751 0.162820771337 0.000000000000 +vt 0.371845602989 0.162883594632 0.000000000000 +vt 0.368251889944 0.160784929991 0.000000000000 +vt 0.370353937149 0.159135669470 0.000000000000 +vt 0.440568357706 0.509817063808 0.000000000000 +vt 0.437990337610 0.509382963181 0.000000000000 +vt 0.435604155064 0.509494423866 0.000000000000 +vt 0.443635433912 0.511720776558 0.000000000000 +vt 0.373006284237 0.158982783556 0.000000000000 +vt 0.376509696245 0.162375643849 0.000000000000 +vt 0.374031394720 0.161057814956 0.000000000000 +vt 0.389625668526 0.108183041215 0.000000000000 +vt 0.393046200275 0.109792903066 0.000000000000 +vt 0.392523407936 0.116342663765 0.000000000000 +vt 0.432401984930 0.510016977787 0.000000000000 +vt 0.438322216272 0.506984829903 0.000000000000 +vt 0.441790044308 0.507623851299 0.000000000000 +vt 0.435307621956 0.507277548313 0.000000000000 +vt 0.444958448410 0.509229838848 0.000000000000 +vt 0.392005532980 0.101636424661 0.000000000000 +vt 0.395671516657 0.103756263852 0.000000000000 +vt 0.407296061516 0.115123912692 0.000000000000 +vt 0.406397461891 0.121328055859 0.000000000000 +vt 0.403196871281 0.120348632336 0.000000000000 +vt 0.404978096485 0.114345774055 0.000000000000 +vt 0.432492733002 0.507707357407 0.000000000000 +vt 0.406864881516 0.108425304294 0.000000000000 +vt 0.409913033247 0.109619542956 0.000000000000 +vt 0.414692848921 0.117440745234 0.000000000000 +vt 0.416797161102 0.118163943291 0.000000000000 +vt 0.416874825954 0.124142721295 0.000000000000 +vt 0.413157969713 0.123205170035 0.000000000000 +vt 0.420296519995 0.113394036889 0.000000000000 +vt 0.416648089886 0.111873343587 0.000000000000 +vt 0.399549156427 0.117066100240 0.000000000000 +vt 0.397761642933 0.115746006370 0.000000000000 +vt 0.444640964270 0.482646912336 0.000000000000 +vt 0.435251086950 0.480776757002 0.000000000000 +vt 0.412997663021 0.489607781172 0.000000000000 +vt 0.415611475706 0.485968559980 0.000000000000 +vt 0.419600337744 0.489331930876 0.000000000000 +vt 0.418021112680 0.495383232832 0.000000000000 +vt 0.418760269880 0.480955928564 0.000000000000 +vt 0.451327174902 0.485552281141 0.000000000000 +vt 0.397986561060 0.111830547452 0.000000000000 +vt 0.400141090155 0.112691327929 0.000000000000 +vt 0.399654954672 0.108637854457 0.000000000000 +vt 0.401813089848 0.108847483993 0.000000000000 +vt 0.401618987322 0.117125526071 0.000000000000 +vt 0.402521193027 0.113518998027 0.000000000000 +vt 0.403585493565 0.110106542706 0.000000000000 +vt 0.409883081913 0.119960919023 0.000000000000 +vt 0.455791562796 0.489336222410 0.000000000000 +vt 0.422770082951 0.483635991812 0.000000000000 +vt 0.423145622015 0.491761177778 0.000000000000 +vt 0.408528327942 0.119000181556 0.000000000000 +vt 0.408956587315 0.115644469857 0.000000000000 +vt 0.410606950521 0.116135522723 0.000000000000 +vt 0.410386979580 0.112677589059 0.000000000000 +vt 0.421489149332 0.498041182756 0.000000000000 +vt 0.426815658808 0.486486226320 0.000000000000 +vt 0.430106759071 0.489818543196 0.000000000000 +vt 0.434814959764 0.486344844103 0.000000000000 +vt 0.426011174917 0.493239969015 0.000000000000 +vt 0.405869930983 0.480812519789 0.000000000000 +vt 0.412047952414 0.112628281116 0.000000000000 +vt 0.406924337149 0.485618025064 0.000000000000 +vt 0.401090562344 0.475320100784 0.000000000000 +vt 0.396311402321 0.475648850203 0.000000000000 +vt 0.411765158176 0.482897728682 0.000000000000 +vt 0.409521043301 0.480445533991 0.000000000000 +vt 0.453219145536 0.496879428625 0.000000000000 +vt 0.411550819874 0.119953945279 0.000000000000 +vt 0.412490606308 0.116729035974 0.000000000000 +vt 0.413484215736 0.113597795367 0.000000000000 +vt 0.395627617836 0.118285313249 0.000000000000 +vt 0.396080166101 0.111090466380 0.000000000000 +vt 0.399283915758 0.105090305209 0.000000000000 +vt 0.404269516468 0.104768797755 0.000000000000 +vt 0.398505777121 0.120832040906 0.000000000000 +vt 0.413978666067 0.108735352755 0.000000000000 +vt 0.409310519695 0.124303475022 0.000000000000 +vt 0.420999675989 0.119554504752 0.000000000000 +vt 0.420234143734 0.121525302529 0.000000000000 +vt 0.419045567513 0.121159419417 0.000000000000 +vt 0.419289410114 0.118994310498 0.000000000000 +vt 0.421489626169 0.117538690567 0.000000000000 +vt 0.420303285122 0.117139488459 0.000000000000 +vt 0.426694989204 0.121457740664 0.000000000000 +vt 0.422340482473 0.125688865781 0.000000000000 +vt 0.420924037695 0.122998699546 0.000000000000 +vt 0.423304349184 0.120309680700 0.000000000000 +vt 0.418264955282 0.122074902058 0.000000000000 +vt 0.417998820543 0.118570342660 0.000000000000 +vt 0.420178323984 0.115989848971 0.000000000000 +vt 0.425800204277 0.115537062287 0.000000000000 +vt 0.423050165176 0.116810753942 0.000000000000 +vt 0.377677112818 0.108308449388 0.000000000000 +vt 0.380777746439 0.100671857595 0.000000000000 +vt 0.387641370296 0.097277656198 0.000000000000 +vt 0.368460386992 0.119178041816 0.000000000000 +vt 0.370848834515 0.112134292722 0.000000000000 +vt 0.361701697111 0.122205942869 0.000000000000 +vt 0.350305467844 0.135973051190 0.000000000000 +vt 0.358212679625 0.109973028302 0.000000000000 +vt 0.353615224361 0.114691153169 0.000000000000 +vt 0.374976605177 0.093655571342 0.000000000000 +vt 0.389860272408 0.064062759280 0.000000000000 +vt 0.392403393984 0.070562094450 0.000000000000 +vt 0.387591153383 0.070836335421 0.000000000000 +vt 0.386600703001 0.064674735069 0.000000000000 +vt 0.390128880739 0.057090383023 0.000000000000 +vt 0.385809719563 0.057704154402 0.000000000000 +vt 0.381569832563 0.070360124111 0.000000000000 +vt 0.378056943417 0.070291683078 0.000000000000 +vt 0.376780331135 0.065116941929 0.000000000000 +vt 0.571491539478 0.142689660192 0.000000000000 +vt 0.576072752476 0.124807611108 0.000000000000 +vt 0.575986921787 0.141870543361 0.000000000000 +vt 0.787393748760 0.876816630363 0.000000000000 +vt 0.764766037464 0.871043145657 0.000000000000 +vt 0.754721701145 0.886201500893 0.000000000000 +vt 0.742770016193 0.866340160370 0.000000000000 +vt 0.734950125217 0.879857540131 0.000000000000 +vt 0.639134943485 0.405957043171 0.000000000000 +vt 0.626996815205 0.399863898754 0.000000000000 +vt 0.634920418262 0.394428640604 0.000000000000 +vt 0.639219582081 0.397930711508 0.000000000000 +vt 0.634795248508 0.383935958147 0.000000000000 +vt 0.643223226070 0.392979323864 0.000000000000 +vt 0.621101796627 0.387013614178 0.000000000000 +vt 0.588396847248 0.330318629742 0.000000000000 +vt 0.604378163815 0.331369876862 0.000000000000 +vt 0.613536059856 0.349697083235 0.000000000000 +vt 0.593470990658 0.343456894159 0.000000000000 +vt 0.615174353123 0.332106143236 0.000000000000 +vt 0.627085506916 0.345775991678 0.000000000000 +vt 0.635642707348 0.359163492918 0.000000000000 +vt 0.624931395054 0.369269371033 0.000000000000 +vt 0.614598810673 0.373340398073 0.000000000000 +vt 0.608756959438 0.360698610544 0.000000000000 +vt 0.595678865910 0.357187539339 0.000000000000 +vt 0.436208903790 0.152205392718 0.000000000000 +vt 0.456390678883 0.160455301404 0.000000000000 +vt 0.470007836819 0.150451436639 0.000000000000 +vt 0.463308125734 0.141743332148 0.000000000000 +vt 0.426335632801 0.240489169955 0.000000000000 +vt 0.436077862978 0.227415770292 0.000000000000 +vt 0.568314850330 0.508301794529 0.000000000000 +vt 0.585736811161 0.522079706192 0.000000000000 +vt 0.563862621784 0.526518404484 0.000000000000 +vt 0.552698671818 0.519208967686 0.000000000000 +vt 0.611942946911 0.313467800617 0.000000000000 +vt 0.543040931225 0.535523951054 0.000000000000 +vt 0.869499862194 0.252641230822 0.000000000000 +vt 0.794922888279 0.858771979809 0.000000000000 +vt 0.771254837513 0.855260670185 0.000000000000 +vt 0.747811377048 0.852186858654 0.000000000000 +vt 0.797975599766 0.840329766273 0.000000000000 +vt 0.773927867413 0.839067518711 0.000000000000 +vt 0.750024020672 0.837795853615 0.000000000000 +vt 0.816554009914 0.862926125526 0.000000000000 +vt 0.819631397724 0.841430306435 0.000000000000 +vt 0.863419592381 0.971586704254 0.000000000000 +vt 0.886208474636 0.956715881824 0.000000000000 +vt 0.845495879650 0.192380949855 0.000000000000 +vt 0.921158373356 0.909126162529 0.000000000000 +vt 0.928987085819 0.927418887615 0.000000000000 +vt 0.914810121059 0.888543367386 0.000000000000 +vt 0.449255734682 0.250441461802 0.000000000000 +vt 0.429135203362 0.255882352591 0.000000000000 +vt 0.454719811678 0.222426101565 0.000000000000 +vt 0.463549941778 0.236386403441 0.000000000000 +vt 0.480748862028 0.132810741663 0.000000000000 +vt 0.460707813501 0.129074752331 0.000000000000 +vt 0.890980184078 0.866303682327 0.000000000000 +vt 0.906893670559 0.863792300224 0.000000000000 +vt 0.901800453663 0.838266909122 0.000000000000 +vt 0.885961711407 0.839472353458 0.000000000000 +vt 0.672634780407 0.403682291508 0.000000000000 +vt 0.870305716991 0.840758919716 0.000000000000 +vt 0.709015905857 0.913828730583 0.000000000000 +vt 0.702005445957 0.906553089619 0.000000000000 +vt 0.664313495159 0.411870300770 0.000000000000 +vt 0.651246488094 0.405295312405 0.000000000000 +vt 0.658828794956 0.392099201679 0.000000000000 +vt 0.648704469204 0.380986869335 0.000000000000 +vt 0.598465621471 0.371364206076 0.000000000000 +vt 0.649795591831 0.422901540995 0.000000000000 +vt 0.666176021099 0.425574362278 0.000000000000 +vt 0.478667050600 0.121633604169 0.000000000000 +vt 0.439155727625 0.188678041101 0.000000000000 +vt 0.419110178947 0.186491340399 0.000000000000 +vt 0.828646361828 0.222074419260 0.000000000000 +vt 0.825475156307 0.193224608898 0.000000000000 +vt 0.842488110065 0.165252909064 0.000000000000 +vt 0.821768820286 0.166762799025 0.000000000000 +vt 0.836636006832 0.816951870918 0.000000000000 +vt 0.852425515652 0.813404560089 0.000000000000 +vt 0.638719737530 0.461908787489 0.000000000000 +vt 0.645538747311 0.442247092724 0.000000000000 +vt 0.666097700596 0.445383280516 0.000000000000 +vt 0.662395417690 0.464661508799 0.000000000000 +vt 0.617127835751 0.458045125008 0.000000000000 +vt 0.627697288990 0.440409153700 0.000000000000 +vt 0.635399162769 0.421377927065 0.000000000000 +vt 0.609715163708 0.435786485672 0.000000000000 +vt 0.619829595089 0.417641699314 0.000000000000 +vt 0.590706527233 0.430238008499 0.000000000000 +vt 0.600633800030 0.414015561342 0.000000000000 +vt 0.605100929737 0.397916287184 0.000000000000 +vt 0.580789983273 0.413832962513 0.000000000000 +vt 0.585207521915 0.396601408720 0.000000000000 +vt 0.583855688572 0.381996691227 0.000000000000 +vt 0.602939188480 0.384962439537 0.000000000000 +vt 0.583396375179 0.371497720480 0.000000000000 +vt 0.567030251026 0.398448109627 0.000000000000 +vt 0.565822064877 0.380739450455 0.000000000000 +vt 0.565940558910 0.366790413857 0.000000000000 +vt 0.546947419643 0.397279322147 0.000000000000 +vt 0.547453343868 0.381623625755 0.000000000000 +vt 0.546291291714 0.366621524096 0.000000000000 +vt 0.529646694660 0.384682595730 0.000000000000 +vt 0.528711616993 0.373113870621 0.000000000000 +vt 0.526230156422 0.363655120134 0.000000000000 +vt 0.543110311031 0.353565901518 0.000000000000 +vt 0.560514271259 0.346006095409 0.000000000000 +vt 0.521848142147 0.354256451130 0.000000000000 +vt 0.537153065205 0.340497672558 0.000000000000 +vt 0.550614297390 0.329262435436 0.000000000000 +vt 0.573693096638 0.334259301424 0.000000000000 +vt 0.565188109875 0.321530610323 0.000000000000 +vt 0.481604665518 0.473584860563 0.000000000000 +vt 0.503952205181 0.484111279249 0.000000000000 +vt 0.523758590221 0.503893256187 0.000000000000 +vt 0.516087591648 0.344791620970 0.000000000000 +vt 0.508227407932 0.335609555244 0.000000000000 +vt 0.518797814846 0.319672405720 0.000000000000 +vt 0.510983765125 0.468507856131 0.000000000000 +vt 0.490077227354 0.435670107603 0.000000000000 +vt 0.502925693989 0.448421299458 0.000000000000 +vt 0.522674977779 0.457363337278 0.000000000000 +vt 0.530655562878 0.477804929018 0.000000000000 +vt 0.538420259953 0.463601946831 0.000000000000 +vt 0.515796720982 0.440703213215 0.000000000000 +vt 0.534934461117 0.448625057936 0.000000000000 +vt 0.549823939800 0.452839523554 0.000000000000 +vt 0.557107031345 0.466927945614 0.000000000000 +vt 0.568541586399 0.456593096256 0.000000000000 +vt 0.547232806683 0.441114574671 0.000000000000 +vt 0.561775863171 0.442336261272 0.000000000000 +vt 0.578855931759 0.444288581610 0.000000000000 +vt 0.586479246616 0.463815152645 0.000000000000 +vt 0.597201764584 0.451105147600 0.000000000000 +vt 0.571721136570 0.429578959942 0.000000000000 +vt 0.557132422924 0.430043905973 0.000000000000 +vt 0.564029395580 0.415538519621 0.000000000000 +vt 0.537347137928 0.424302697182 0.000000000000 +vt 0.544077932835 0.411527603865 0.000000000000 +vt 0.518473088741 0.418114066124 0.000000000000 +vt 0.524959385395 0.408595174551 0.000000000000 +vt 0.528635084629 0.397043138742 0.000000000000 +vt 0.509449779987 0.404620736837 0.000000000000 +vt 0.513173401356 0.395612955093 0.000000000000 +vt 0.514248788357 0.385702759027 0.000000000000 +vt 0.513777077198 0.377086073160 0.000000000000 +vt 0.512884557247 0.370190680027 0.000000000000 +vt 0.510034501553 0.363916963339 0.000000000000 +vt 0.505580484867 0.356326758862 0.000000000000 +vt 0.500341594219 0.348006844521 0.000000000000 +vt 0.481183856726 0.423593431711 0.000000000000 +vt 0.500625789165 0.430742353201 0.000000000000 +vt 0.490146607161 0.420840919018 0.000000000000 +vt 0.498169153929 0.417084664106 0.000000000000 +vt 0.510002553463 0.425448060036 0.000000000000 +vt 0.527178347111 0.433869749308 0.000000000000 +vt 0.503946959972 0.411769419909 0.000000000000 +vt 0.596737325191 0.484501451254 0.000000000000 +vt 0.576489269733 0.474731117487 0.000000000000 +vt 0.606985628605 0.472689867020 0.000000000000 +vt 0.584141671658 0.495642870665 0.000000000000 +vt 0.563076555729 0.485377997160 0.000000000000 +vt 0.546334922314 0.479332834482 0.000000000000 +vt 0.550337493420 0.497008413076 0.000000000000 +vt 0.537908732891 0.494894415140 0.000000000000 +vt 0.526974737644 0.490041226149 0.000000000000 +vt 0.537790954113 0.509640336037 0.000000000000 +vt 0.527427136898 0.525675892830 0.000000000000 +vt 0.605959832668 0.507260859013 0.000000000000 +vt 0.620633423328 0.493587821722 0.000000000000 +vt 0.631438195705 0.478594750166 0.000000000000 +vt 0.817847788334 0.142355754972 0.000000000000 +vt 0.814487040043 0.119411304593 0.000000000000 +vt 0.658278763294 0.481082051992 0.000000000000 +vt 0.811750113964 0.097056999803 0.000000000000 +vt 0.809368431568 0.075157731771 0.000000000000 +vt 0.807133018970 0.053564000875 0.000000000000 +vt 0.831686437130 0.254841685295 0.000000000000 +vt 0.856208741665 0.293983995914 0.000000000000 +vt 0.835455358028 0.290136784315 0.000000000000 +vt 0.873124063015 0.283648252487 0.000000000000 +vt 0.889739573002 0.279546380043 0.000000000000 +vt 0.909207642078 0.276814579964 0.000000000000 +vt 0.929072201252 0.276617109776 0.000000000000 +vt 0.884098351002 0.044427882880 0.000000000000 +vt 0.824312150478 0.028333339840 0.000000000000 +vt 0.804996788502 0.032941136509 0.000000000000 +vt 0.745384037495 0.153986141086 0.000000000000 +vt 0.727315604687 0.170344561338 0.000000000000 +vt 0.831523954868 0.792076110840 0.000000000000 +vt 0.846453726292 0.786361873150 0.000000000000 +vt 0.871971428394 0.766853511333 0.000000000000 +vt 0.860507428646 0.778107702732 0.000000000000 +vt 0.849813520908 0.750272214413 0.000000000000 +vt 0.864782273769 0.752571046352 0.000000000000 +vt 0.641757309437 0.369858145714 0.000000000000 +vt 0.871010005474 0.740061163902 0.000000000000 +vt 0.856036365032 0.728532135487 0.000000000000 +vt 0.833810746670 0.763259589672 0.000000000000 +vt 0.880542218685 0.781249523163 0.000000000000 +vt 0.870216548443 0.805862307549 0.000000000000 +vt 0.895947515965 0.765040814877 0.000000000000 +vt 0.886363804340 0.766362249851 0.000000000000 +vt 0.881665766239 0.753908455372 0.000000000000 +vt 0.896844565868 0.741948008537 0.000000000000 +vt 0.892329037189 0.786806523800 0.000000000000 +vt 0.730150520802 0.779693901539 0.000000000000 +vt 0.720385253429 0.768897235394 0.000000000000 +vt 0.732248246670 0.757981956005 0.000000000000 +vt 0.746850073338 0.773370444775 0.000000000000 +vt 0.746807038784 0.737674295902 0.000000000000 +vt 0.754076421261 0.750202596188 0.000000000000 +vt 0.729847013950 0.741506457329 0.000000000000 +vt 0.766269385815 0.766434729099 0.000000000000 +vt 0.732167899609 0.725132286549 0.000000000000 +vt 0.744101583958 0.727173089981 0.000000000000 +vt 0.726897180080 0.154936745763 0.000000000000 +vt 0.736608207226 0.138647675514 0.000000000000 +vt 0.757733404636 0.048427533358 0.000000000000 +vt 0.748305857182 0.039854753762 0.000000000000 +vt 0.762275159359 0.025697443634 0.000000000000 +vt 0.771673381329 0.029945448041 0.000000000000 +vt 0.737863123417 0.066377580166 0.000000000000 +vt 0.730143487453 0.052494283766 0.000000000000 +vt 0.754568159580 0.099855229259 0.000000000000 +vt 0.731352865696 0.116734221578 0.000000000000 +vt 0.725217759609 0.099748730659 0.000000000000 +vt 0.746904551983 0.081010863185 0.000000000000 +vt 0.718968212605 0.084019616246 0.000000000000 +vt 0.786774814129 0.105366572738 0.000000000000 +vt 0.761492788792 0.119630172849 0.000000000000 +vt 0.781676113605 0.084223598242 0.000000000000 +vt 0.775007426739 0.059413980693 0.000000000000 +vt 0.791212141514 0.126294299960 0.000000000000 +vt 0.767748415470 0.138232484460 0.000000000000 +vt 0.435300618410 0.206924617290 0.000000000000 +vt 0.415769994259 0.205245867372 0.000000000000 +vt 0.415477305651 0.223549634218 0.000000000000 +vt 0.415708750486 0.260153979063 0.000000000000 +vt 0.415216326714 0.241337999701 0.000000000000 +vt 0.431532442570 0.277840822935 0.000000000000 +vt 0.416861325502 0.282650142908 0.000000000000 +vt 0.437933146954 0.297910034657 0.000000000000 +vt 0.422700941563 0.304020076990 0.000000000000 +vt 0.710437953472 0.745294928551 0.000000000000 +vt 0.448528498411 0.274154812098 0.000000000000 +vt 0.453730016947 0.292313814163 0.000000000000 +vt 0.466458499432 0.272584140301 0.000000000000 +vt 0.470066845417 0.288187146187 0.000000000000 +vt 0.483627885580 0.271198511124 0.000000000000 +vt 0.486174434423 0.284226238728 0.000000000000 +vt 0.468398451805 0.256950020790 0.000000000000 +vt 0.484410136938 0.259565204382 0.000000000000 +vt 0.499547928572 0.260835975409 0.000000000000 +vt 0.488594621420 0.251296162605 0.000000000000 +vt 0.500861465931 0.255602240562 0.000000000000 +vt 0.476949125528 0.155961647630 0.000000000000 +vt 0.496368080378 0.154256105423 0.000000000000 +vt 0.493585199118 0.162589550018 0.000000000000 +vt 0.484565943480 0.159969419241 0.000000000000 +vt 0.504522025585 0.250607877970 0.000000000000 +vt 0.490841835737 0.170824587345 0.000000000000 +vt 0.479497641325 0.168406203389 0.000000000000 +vt 0.468820154667 0.165049582720 0.000000000000 +vt 0.487937420607 0.179314747453 0.000000000000 +vt 0.474618524313 0.178034290671 0.000000000000 +vt 0.461312592030 0.176021173596 0.000000000000 +vt 0.485546678305 0.188977956772 0.000000000000 +vt 0.470588952303 0.189741462469 0.000000000000 +vt 0.455546349287 0.189690113068 0.000000000000 +vt 0.484867841005 0.200385212898 0.000000000000 +vt 0.468716144562 0.203217670321 0.000000000000 +vt 0.452557861805 0.205941826105 0.000000000000 +vt 0.486695379019 0.212983325124 0.000000000000 +vt 0.470563501120 0.217475160956 0.000000000000 +vt 0.498891204596 0.197758778930 0.000000000000 +vt 0.500793755054 0.208588525653 0.000000000000 +vt 0.503768861294 0.215860128403 0.000000000000 +vt 0.490694373846 0.221827194095 0.000000000000 +vt 0.476610749960 0.228770300746 0.000000000000 +vt 0.508271515369 0.222307890654 0.000000000000 +vt 0.496900588274 0.229248985648 0.000000000000 +vt 0.485334604979 0.237566873431 0.000000000000 +vt 0.505223691463 0.237320348620 0.000000000000 +vt 0.495418399572 0.244713291526 0.000000000000 +vt 0.475383609533 0.245258644223 0.000000000000 +vt 0.514443337917 0.230237171054 0.000000000000 +vt 0.519902884960 0.237665936351 0.000000000000 +vt 0.511179625988 0.154767423868 0.000000000000 +vt 0.523703515530 0.224226221442 0.000000000000 +vt 0.534955561161 0.219976648688 0.000000000000 +vt 0.539630472660 0.226309135556 0.000000000000 +vt 0.522125780582 0.163012161851 0.000000000000 +vt 0.511400759220 0.162948891521 0.000000000000 +vt 0.502651274204 0.163395151496 0.000000000000 +vt 0.521724998951 0.170782491565 0.000000000000 +vt 0.510841667652 0.171353936195 0.000000000000 +vt 0.501311361790 0.171751782298 0.000000000000 +vt 0.521135985851 0.178479418159 0.000000000000 +vt 0.510029613972 0.179412469268 0.000000000000 +vt 0.499761670828 0.179692775011 0.000000000000 +vt 0.521464765072 0.184219524264 0.000000000000 +vt 0.509710252285 0.186720550060 0.000000000000 +vt 0.498645514250 0.187971740961 0.000000000000 +vt 0.522567331791 0.189815983176 0.000000000000 +vt 0.510646045208 0.194714680314 0.000000000000 +vt 0.552625119686 0.181308269501 0.000000000000 +vt 0.553095877171 0.186058148742 0.000000000000 +vt 0.535693705082 0.186998158693 0.000000000000 +vt 0.534666717052 0.182170838118 0.000000000000 +vt 0.553785145283 0.190441906452 0.000000000000 +vt 0.537737786770 0.193066775799 0.000000000000 +vt 0.524687230587 0.197172924876 0.000000000000 +vt 0.554820120335 0.194571927190 0.000000000000 +vt 0.540497124195 0.200262054801 0.000000000000 +vt 0.527609050274 0.205128788948 0.000000000000 +vt 0.556690990925 0.198639363050 0.000000000000 +vt 0.543533384800 0.206711396575 0.000000000000 +vt 0.531002581120 0.212646707892 0.000000000000 +vt 0.558761537075 0.202166423202 0.000000000000 +vt 0.546805322170 0.212670803070 0.000000000000 +vt 0.550771892071 0.218399211764 0.000000000000 +vt 0.561493337154 0.206085249782 0.000000000000 +vt 0.535221517086 0.163484767079 0.000000000000 +vt 0.552473127842 0.164653763175 0.000000000000 +vt 0.534547865391 0.169898986816 0.000000000000 +vt 0.552217543125 0.170028448105 0.000000000000 +vt 0.534365713596 0.176693260670 0.000000000000 +vt 0.552374064922 0.175845101476 0.000000000000 +vt 0.432602375746 0.133366212249 0.000000000000 +vt 0.579707443714 0.344648867846 0.000000000000 +vt 0.582962691784 0.359227657318 0.000000000000 +vt 0.699510276318 0.760418593884 0.000000000000 +vt 0.690002620220 0.760535240173 0.000000000000 +vt 0.573572456837 0.358697652817 0.000000000000 +vt 0.571034729481 0.348925471306 0.000000000000 +vt 0.795890152454 0.148126482964 0.000000000000 +vt 0.773672997952 0.158082619309 0.000000000000 +vt 0.761886537075 0.368884116411 0.000000000000 +vt 0.756864488125 0.374716073275 0.000000000000 +vt 0.752732694149 0.371530354023 0.000000000000 +vt 0.756020605564 0.368056684732 0.000000000000 +vt 0.745198905468 0.426691144705 0.000000000000 +vt 0.748513877392 0.424927502871 0.000000000000 +vt 0.751336514950 0.428736001253 0.000000000000 +vt 0.745641887188 0.430311173201 0.000000000000 +vt 0.718655884266 0.367600291967 0.000000000000 +vt 0.723707854748 0.362223118544 0.000000000000 +vt 0.731543242931 0.368654459715 0.000000000000 +vt 0.727982223034 0.373404115438 0.000000000000 +vt 0.723776161671 0.384299814701 0.000000000000 +vt 0.712015807629 0.382623314857 0.000000000000 +vt 0.714580357075 0.374560505152 0.000000000000 +vt 0.725447237492 0.378716200590 0.000000000000 +vt 0.743162930012 0.370530217886 0.000000000000 +vt 0.739214956760 0.374083191156 0.000000000000 +vt 0.736095726490 0.364764451981 0.000000000000 +vt 0.470379114151 0.072487622499 0.000000000000 +vt 0.476932018995 0.067091092467 0.000000000000 +vt 0.483967453241 0.075338751078 0.000000000000 +vt 0.477926939726 0.080794483423 0.000000000000 +vt 0.511079013348 0.066174268723 0.000000000000 +vt 0.508617579937 0.072203919291 0.000000000000 +vt 0.499857753515 0.062445472926 0.000000000000 +vt 0.504508316517 0.058762382716 0.000000000000 +vt 0.705864846706 0.371028959751 0.000000000000 +vt 0.701381266117 0.375573486090 0.000000000000 +vt 0.698225557804 0.370354384184 0.000000000000 +vt 0.697068870068 0.367405295372 0.000000000000 +vt 0.701902329922 0.391683101654 0.000000000000 +vt 0.691578447819 0.393901556730 0.000000000000 +vt 0.693959891796 0.392793804407 0.000000000000 +vt 0.699081957340 0.388415664434 0.000000000000 +vt 0.712482511997 0.363048106432 0.000000000000 +vt 0.706260859966 0.399656295776 0.000000000000 +vt 0.710350573063 0.390655279160 0.000000000000 +vt 0.709410727024 0.398413658142 0.000000000000 +vt 0.497506469488 0.086208790541 0.000000000000 +vt 0.499487847090 0.088523834944 0.000000000000 +vt 0.496975511312 0.090857118368 0.000000000000 +vt 0.494485110044 0.087826982141 0.000000000000 +vt 0.485454589128 0.095807611942 0.000000000000 +vt 0.487140089273 0.098796099424 0.000000000000 +vt 0.483731955290 0.100186884403 0.000000000000 +vt 0.481757134199 0.096767678857 0.000000000000 +vt 0.701098263264 0.382279485464 0.000000000000 +vt 0.704454600811 0.381990849972 0.000000000000 +vt 0.505547583103 0.089302882552 0.000000000000 +vt 0.507946908474 0.095191136003 0.000000000000 +vt 0.725627362728 0.354063272476 0.000000000000 +vt 0.730535089970 0.352071553469 0.000000000000 +vt 0.733845055103 0.356517255306 0.000000000000 +vt 0.729133427143 0.358981132507 0.000000000000 +vt 0.502358973026 0.098305702209 0.000000000000 +vt 0.499749034643 0.094421327114 0.000000000000 +vt 0.491939753294 0.100965470076 0.000000000000 +vt 0.499274820089 0.102383270860 0.000000000000 +vt 0.709335625172 0.404707193375 0.000000000000 +vt 0.707483947277 0.405635058880 0.000000000000 +vt 0.516392290592 0.069226473570 0.000000000000 +vt 0.518077909946 0.071355760098 0.000000000000 +vt 0.718284785748 0.355620443821 0.000000000000 +vt 0.516956746578 0.073715612292 0.000000000000 +vt 0.514483392239 0.070643588901 0.000000000000 +vt 0.668390452862 0.386624544859 0.000000000000 +vt 0.667060911655 0.380806088448 0.000000000000 +vt 0.671376407146 0.380861908197 0.000000000000 +vt 0.671312749386 0.384570688009 0.000000000000 +vt 0.669187486172 0.375094115734 0.000000000000 +vt 0.671998560429 0.377249538898 0.000000000000 +vt 0.691448748112 0.370133042336 0.000000000000 +vt 0.690848052502 0.375890284777 0.000000000000 +vt 0.686910808086 0.375525057316 0.000000000000 +vt 0.687306106091 0.369519740343 0.000000000000 +vt 0.686368644238 0.386486738920 0.000000000000 +vt 0.689943373203 0.386325776577 0.000000000000 +vt 0.688951313496 0.392648577690 0.000000000000 +vt 0.685665905476 0.393045514822 0.000000000000 +vt 0.690709650517 0.381118148565 0.000000000000 +vt 0.686853349209 0.380862385035 0.000000000000 +vt 0.480086654425 0.100869327784 0.000000000000 +vt 0.478839308023 0.098695233464 0.000000000000 +vt 0.678826630116 0.369220048189 0.000000000000 +vt 0.679812729359 0.375340670347 0.000000000000 +vt 0.675520837307 0.375914126635 0.000000000000 +vt 0.673433959484 0.370380729437 0.000000000000 +vt 0.674808919430 0.385995447636 0.000000000000 +vt 0.679343521595 0.386584460735 0.000000000000 +vt 0.678030192852 0.392984062433 0.000000000000 +vt 0.672598540783 0.391514003277 0.000000000000 +vt 0.680286943913 0.380828380585 0.000000000000 +vt 0.675836026669 0.380848854780 0.000000000000 +vt 0.515295088291 0.075423642993 0.000000000000 +vt 0.513281047344 0.073069870472 0.000000000000 +vt 0.693681657314 0.376642733812 0.000000000000 +vt 0.693711340427 0.371875762939 0.000000000000 +vt 0.696114480495 0.370918631554 0.000000000000 +vt 0.696933090687 0.376871287823 0.000000000000 +vt 0.691533505917 0.391513794661 0.000000000000 +vt 0.692914068699 0.386218369007 0.000000000000 +vt 0.695932805538 0.386784404516 0.000000000000 +vt 0.693213999271 0.392598807812 0.000000000000 +vt 0.693558990955 0.381606072187 0.000000000000 +vt 0.696726262569 0.381991982460 0.000000000000 +vt 0.512632310390 0.113346979022 0.000000000000 +vt 0.510703504086 0.110827267170 0.000000000000 +vt 0.515379965305 0.107007056475 0.000000000000 +vt 0.518175065517 0.110701844096 0.000000000000 +vt 0.505509078503 0.114236339927 0.000000000000 +vt 0.508307397366 0.117514595389 0.000000000000 +vt 0.518149077892 0.121353730559 0.000000000000 +vt 0.522928655148 0.117672875524 0.000000000000 +vt 0.525190651417 0.121514260769 0.000000000000 +vt 0.683571517467 0.375538796186 0.000000000000 +vt 0.683092653751 0.370623677969 0.000000000000 +vt 0.682278931141 0.392029613256 0.000000000000 +vt 0.683356225491 0.386358857155 0.000000000000 +vt 0.684057652950 0.380769610405 0.000000000000 +vt 0.519570291042 0.123483464122 0.000000000000 +vt 0.516307771206 0.128428325057 0.000000000000 +vt 0.513406455517 0.124672070146 0.000000000000 +vt 0.511565864086 0.103494629264 0.000000000000 +vt 0.507416427135 0.106189742684 0.000000000000 +vt 0.506013691425 0.103982776403 0.000000000000 +vt 0.509203732014 0.102665841579 0.000000000000 +vt 0.504296243191 0.108756288886 0.000000000000 +vt 0.503382742405 0.106384947896 0.000000000000 +vt 0.511651098728 0.106469616294 0.000000000000 +vt 0.509026229382 0.108525276184 0.000000000000 +vt 0.506196796894 0.110484585166 0.000000000000 +vt 0.518708407879 0.115314379334 0.000000000000 +vt 0.515459358692 0.117382884026 0.000000000000 +vt 0.514127433300 0.115409389138 0.000000000000 +vt 0.518203437328 0.112691774964 0.000000000000 +vt 0.512567102909 0.119688019156 0.000000000000 +vt 0.511780798435 0.117559626698 0.000000000000 +vt 0.519389688969 0.117316469550 0.000000000000 +vt 0.516777694225 0.119350507855 0.000000000000 +vt 0.514133274555 0.121143206954 0.000000000000 +vt 0.510631144047 0.099778667092 0.000000000000 +vt 0.504632174969 0.101817682385 0.000000000000 +vt 0.499871104956 0.106421664357 0.000000000000 +vt 0.500889837742 0.111934348941 0.000000000000 +vt 0.514839589596 0.101724907756 0.000000000000 +vt 0.509192049503 0.122385606170 0.000000000000 +vt 0.522657573223 0.113145455718 0.000000000000 +vt 0.522569835186 0.127797886729 0.000000000000 +vt 0.521396934986 0.126231938601 0.000000000000 +vt 0.735525667667 0.349380731583 0.000000000000 +vt 0.738029062748 0.353152751923 0.000000000000 +vt 0.709487140179 0.411515235901 0.000000000000 +vt 0.706850707531 0.412472575903 0.000000000000 +vt 0.713795721531 0.355628103018 0.000000000000 +vt 0.714886367321 0.349705845118 0.000000000000 +vt 0.715047299862 0.346170902252 0.000000000000 +vt 0.700704872608 0.366192162037 0.000000000000 +vt 0.705918371677 0.365258455276 0.000000000000 +vt 0.710480749607 0.361039042473 0.000000000000 +vt 0.523268878460 0.125216260552 0.000000000000 +vt 0.523997724056 0.126300171018 0.000000000000 +vt 0.687866628170 0.342219889164 0.000000000000 +vt 0.691187441349 0.337702393532 0.000000000000 +vt 0.693574011326 0.340425401926 0.000000000000 +vt 0.690801203251 0.342919677496 0.000000000000 +vt 0.696296155453 0.334926456213 0.000000000000 +vt 0.696642935276 0.338050007820 0.000000000000 +vt 0.711912453175 0.345587313175 0.000000000000 +vt 0.707153379917 0.348584800959 0.000000000000 +vt 0.704814493656 0.344684004784 0.000000000000 +vt 0.710185706615 0.341764390469 0.000000000000 +vt 0.695865690708 0.351892799139 0.000000000000 +vt 0.699073016644 0.355076700449 0.000000000000 +vt 0.695596873760 0.359068036079 0.000000000000 +vt 0.692301213741 0.356082707644 0.000000000000 +vt 0.702675044537 0.351823449135 0.000000000000 +vt 0.699874341488 0.348093301058 0.000000000000 +vt 0.520938813686 0.128895744681 0.000000000000 +vt 0.520082056522 0.127839773893 0.000000000000 +vt 0.705446422100 0.335541337729 0.000000000000 +vt 0.701623976231 0.340389162302 0.000000000000 +vt 0.699281990528 0.338887810707 0.000000000000 +vt 0.701398193836 0.333822280169 0.000000000000 +vt 0.691363513470 0.345513224602 0.000000000000 +vt 0.692718684673 0.347970575094 0.000000000000 +vt 0.688071906567 0.350903898478 0.000000000000 +vt 0.686495840549 0.347062766552 0.000000000000 +vt 0.697414934635 0.344720244408 0.000000000000 +vt 0.695644319057 0.342764317989 0.000000000000 +vt 0.526300132275 0.132303252816 0.000000000000 +vt 0.524093449116 0.129697531462 0.000000000000 +vt 0.709353864193 0.352346479893 0.000000000000 +vt 0.712929904461 0.348732739687 0.000000000000 +vt 0.714268267155 0.349192053080 0.000000000000 +vt 0.711979806423 0.354660391808 0.000000000000 +vt 0.699490010738 0.361016511917 0.000000000000 +vt 0.702696144581 0.358416646719 0.000000000000 +vt 0.704991638660 0.361978620291 0.000000000000 +vt 0.700050175190 0.364112406969 0.000000000000 +vt 0.705978453159 0.355808466673 0.000000000000 +vt 0.708694994450 0.358966708183 0.000000000000 +vt 0.525715887547 0.126499876380 0.000000000000 +vt 0.528771936893 0.126690357924 0.000000000000 +vt 0.523779094219 0.124067738652 0.000000000000 +vt 0.520451605320 0.124855801463 0.000000000000 +vt 0.518978536129 0.127953931689 0.000000000000 +vt 0.520814955235 0.130581036210 0.000000000000 +vt 0.520374357700 0.133407860994 0.000000000000 +vt 0.508442223072 0.077186152339 0.000000000000 +vt 0.510329902172 0.079375565052 0.000000000000 +vt 0.703039348125 0.342263132334 0.000000000000 +vt 0.707691013813 0.338801592588 0.000000000000 +vt 0.691107928753 0.352693885565 0.000000000000 +vt 0.694404184818 0.349684000015 0.000000000000 +vt 0.698663651943 0.346254229546 0.000000000000 +vt 0.508014619350 0.081564977765 0.000000000000 +vt 0.505533874035 0.078727111220 0.000000000000 +vt 0.494260638952 0.093220800161 0.000000000000 +vt 0.492302030325 0.090663939714 0.000000000000 +vt 0.505529224873 0.083532154560 0.000000000000 +vt 0.503514945507 0.081306725740 0.000000000000 +vt 0.510711610317 0.084656804800 0.000000000000 +vt 0.514165699482 0.088350698352 0.000000000000 +vt 0.511911690235 0.093188375235 0.000000000000 +vt 0.527652680874 0.098926231265 0.000000000000 +vt 0.525356113911 0.097472637892 0.000000000000 +vt 0.528094470501 0.091692224145 0.000000000000 +vt 0.531258046627 0.093997821212 0.000000000000 +vt 0.521796643734 0.102959886193 0.000000000000 +vt 0.525596559048 0.105276063085 0.000000000000 +vt 0.534857928753 0.104219183326 0.000000000000 +vt 0.537856757641 0.099045574665 0.000000000000 +vt 0.540888249874 0.101543441415 0.000000000000 +vt 0.536647617817 0.105644643307 0.000000000000 +vt 0.534925162792 0.111184135079 0.000000000000 +vt 0.531729161739 0.109336286783 0.000000000000 +vt 0.523591578007 0.091089487076 0.000000000000 +vt 0.730021059513 0.349459081888 0.000000000000 +vt 0.735328376293 0.349237293005 0.000000000000 +vt 0.715811312199 0.346691012383 0.000000000000 +vt 0.720742166042 0.350149869919 0.000000000000 +vt 0.725372970104 0.349892735481 0.000000000000 +vt 0.521666467190 0.094739928842 0.000000000000 +vt 0.520136296749 0.093459248543 0.000000000000 +vt 0.731795966625 0.325470387936 0.000000000000 +vt 0.736351430416 0.326853275299 0.000000000000 +vt 0.734878718853 0.329794704914 0.000000000000 +vt 0.732054173946 0.328241348267 0.000000000000 +vt 0.739810764790 0.330046653748 0.000000000000 +vt 0.737516939640 0.331477284431 0.000000000000 +vt 0.737019240856 0.345520436764 0.000000000000 +vt 0.732173502445 0.343047350645 0.000000000000 +vt 0.734046399593 0.340439140797 0.000000000000 +vt 0.738021910191 0.343094855547 0.000000000000 +vt 0.725114047527 0.336557924747 0.000000000000 +vt 0.723978340626 0.339484244585 0.000000000000 +vt 0.718742549419 0.338676393032 0.000000000000 +vt 0.720449268818 0.335456222296 0.000000000000 +vt 0.728333771229 0.341184616089 0.000000000000 +vt 0.729620277882 0.338552564383 0.000000000000 +vt 0.521848857403 0.090589866042 0.000000000000 +vt 0.519341766834 0.098529517651 0.000000000000 +vt 0.741242706776 0.337124168873 0.000000000000 +vt 0.736575305462 0.336675226688 0.000000000000 +vt 0.737431108952 0.333985060453 0.000000000000 +vt 0.741768896580 0.333650708199 0.000000000000 +vt 0.730156362057 0.329479277134 0.000000000000 +vt 0.728279173374 0.331620484591 0.000000000000 +vt 0.724462211132 0.328425318003 0.000000000000 +vt 0.727317392826 0.325960755348 0.000000000000 +vt 0.732129871845 0.334760516882 0.000000000000 +vt 0.733519494534 0.332428127527 0.000000000000 +vt 0.518350422382 0.096643164754 0.000000000000 +vt 0.524855554104 0.092653632164 0.000000000000 +vt 0.731151521206 0.345263779163 0.000000000000 +vt 0.735784590244 0.347043156624 0.000000000000 +vt 0.736424624920 0.348627597094 0.000000000000 +vt 0.730661809444 0.347184121609 0.000000000000 +vt 0.718040287495 0.341615349054 0.000000000000 +vt 0.723183095455 0.342720180750 0.000000000000 +vt 0.721934854984 0.345855712891 0.000000000000 +vt 0.715493619442 0.344276010990 0.000000000000 +vt 0.727172791958 0.344054907560 0.000000000000 +vt 0.726349413395 0.346510440111 0.000000000000 +vt 0.523354947567 0.096010923386 0.000000000000 +vt 0.521311223507 0.099254280329 0.000000000000 +vt 0.533330857754 0.097978785634 0.000000000000 +vt 0.531335532665 0.101454958320 0.000000000000 +vt 0.529585421085 0.100170671940 0.000000000000 +vt 0.531549036503 0.097181737423 0.000000000000 +vt 0.529571712017 0.105359822512 0.000000000000 +vt 0.528426826000 0.103743880987 0.000000000000 +vt 0.534639537334 0.099621966481 0.000000000000 +vt 0.735392153263 0.338480740786 0.000000000000 +vt 0.739044845104 0.340150952339 0.000000000000 +vt 0.723158061504 0.331868380308 0.000000000000 +vt 0.726885974407 0.334070175886 0.000000000000 +vt 0.730814039707 0.336822479963 0.000000000000 +vt 0.533084571362 0.102829977870 0.000000000000 +vt 0.531313717365 0.105897054076 0.000000000000 +vt 0.521283328533 0.087026789784 0.000000000000 +vt 0.517856895924 0.091663181782 0.000000000000 +vt 0.514960706234 0.097525775433 0.000000000000 +vt 0.517828285694 0.100980103016 0.000000000000 +vt 0.526034533978 0.087389066815 0.000000000000 +vt 0.527589142323 0.109247803688 0.000000000000 +vt 0.535756528378 0.095117062330 0.000000000000 +vt 0.539837419987 0.107863321900 0.000000000000 +vt 0.538558781147 0.107128873467 0.000000000000 +vt 0.539949953556 0.105316147208 0.000000000000 +vt 0.540825903416 0.105864629149 0.000000000000 +vt 0.538582384586 0.109620437026 0.000000000000 +vt 0.537616670132 0.109082773328 0.000000000000 +vt 0.544267117977 0.110548302531 0.000000000000 +vt 0.541652381420 0.108950823545 0.000000000000 +vt 0.542387545109 0.105380535126 0.000000000000 +vt 0.545064866543 0.104814276099 0.000000000000 +vt 0.540196716785 0.104028716683 0.000000000000 +vt 0.537597596645 0.106465324759 0.000000000000 +vt 0.536735951900 0.109748318791 0.000000000000 +vt 0.701508939266 0.396991372108 0.000000000000 +vt 0.695306599140 0.396085560322 0.000000000000 +vt 0.705828607082 0.412745684385 0.000000000000 +vt 0.705876052380 0.406576901674 0.000000000000 +vt 0.704530298710 0.401503235102 0.000000000000 +vt 0.538923561573 0.111143380404 0.000000000000 +vt 0.539531409740 0.113621219993 0.000000000000 +vt 0.688302695751 0.427976310253 0.000000000000 +vt 0.683832943439 0.424098700285 0.000000000000 +vt 0.687000572681 0.421046495438 0.000000000000 +vt 0.689052641392 0.424283087254 0.000000000000 +vt 0.681496918201 0.418339222670 0.000000000000 +vt 0.684903800488 0.417768895626 0.000000000000 +vt 0.690302073956 0.401867091656 0.000000000000 +vt 0.694480240345 0.405638903379 0.000000000000 +vt 0.692191779613 0.407944500446 0.000000000000 +vt 0.687600672245 0.404441058636 0.000000000000 +vt 0.699370443821 0.415826499462 0.000000000000 +vt 0.700973808765 0.413097828627 0.000000000000 +vt 0.704431712627 0.417759448290 0.000000000000 +vt 0.703326642513 0.420762330294 0.000000000000 +vt 0.697867929935 0.408945530653 0.000000000000 +vt 0.695929110050 0.411309421062 0.000000000000 +vt 0.517626106739 0.084983274341 0.000000000000 +vt 0.521136224270 0.070760220289 0.000000000000 +vt 0.683233559132 0.409444689751 0.000000000000 +vt 0.688319623470 0.412122905254 0.000000000000 +vt 0.686133563519 0.414829730988 0.000000000000 +vt 0.680900275707 0.412907809019 0.000000000000 +vt 0.692204892635 0.422975838184 0.000000000000 +vt 0.695665299892 0.420329362154 0.000000000000 +vt 0.698658287525 0.425916135311 0.000000000000 +vt 0.694272696972 0.428446441889 0.000000000000 +vt 0.692554771900 0.415226012468 0.000000000000 +vt 0.689908921719 0.417935758829 0.000000000000 +vt 0.523216187954 0.072577908635 0.000000000000 +vt 0.520890176296 0.077228039503 0.000000000000 +vt 0.697199761868 0.403361231089 0.000000000000 +vt 0.693439781666 0.400654852390 0.000000000000 +vt 0.693814694881 0.397902786732 0.000000000000 +vt 0.699269115925 0.401036739349 0.000000000000 +vt 0.704553306103 0.414974272251 0.000000000000 +vt 0.702452123165 0.410426139832 0.000000000000 +vt 0.703826010227 0.408506244421 0.000000000000 +vt 0.705401599407 0.414679765701 0.000000000000 +vt 0.700053751469 0.406474679708 0.000000000000 +vt 0.701919615269 0.404333680868 0.000000000000 +vt 0.519232571125 0.075901642442 0.000000000000 +vt 0.515266001225 0.080151677132 0.000000000000 +vt 0.519640505314 0.081991866231 0.000000000000 +vt 0.533958613873 0.080200076103 0.000000000000 +vt 0.531604349613 0.079964339733 0.000000000000 +vt 0.532588779926 0.075347989798 0.000000000000 +vt 0.535456359386 0.075775325298 0.000000000000 +vt 0.531062185764 0.084430292249 0.000000000000 +vt 0.534919083118 0.084616497159 0.000000000000 +vt 0.690639078617 0.410164058208 0.000000000000 +vt 0.686743676662 0.408009111881 0.000000000000 +vt 0.700886189938 0.422482520342 0.000000000000 +vt 0.697773873806 0.417764842510 0.000000000000 +vt 0.694584786892 0.413028031588 0.000000000000 +vt 0.543268382549 0.081021666527 0.000000000000 +vt 0.542410075665 0.076548516750 0.000000000000 +vt 0.545253694057 0.076710179448 0.000000000000 +vt 0.544744908810 0.081107899547 0.000000000000 +vt 0.545586764812 0.085359513760 0.000000000000 +vt 0.542715609074 0.085166096687 0.000000000000 +vt 0.528137505054 0.076546490192 0.000000000000 +vt 0.526995480061 0.079263880849 0.000000000000 +vt 0.524926722050 0.078719690442 0.000000000000 +vt 0.526245653629 0.076403737068 0.000000000000 +vt 0.526619493961 0.081934899092 0.000000000000 +vt 0.524678170681 0.081073686481 0.000000000000 +vt 0.529789626598 0.077268108726 0.000000000000 +vt 0.529239356518 0.079652726650 0.000000000000 +vt 0.528736531734 0.081992313266 0.000000000000 +vt 0.539014041424 0.077833026648 0.000000000000 +vt 0.539221823215 0.080529257655 0.000000000000 +vt 0.536268293858 0.080332249403 0.000000000000 +vt 0.536676228046 0.078035444021 0.000000000000 +vt 0.539300858974 0.083174824715 0.000000000000 +vt 0.536652386189 0.082537859678 0.000000000000 +vt 0.541114032269 0.078451976180 0.000000000000 +vt 0.541567981243 0.080870822072 0.000000000000 +vt 0.541349947453 0.083064511418 0.000000000000 +vt 0.525810420513 0.073440477252 0.000000000000 +vt 0.522990167141 0.078078895807 0.000000000000 +vt 0.522753298283 0.083092421293 0.000000000000 +vt 0.744985520840 0.358051896095 0.000000000000 +vt 0.740702569485 0.361511409283 0.000000000000 +vt 0.737015068531 0.377986699343 0.000000000000 +vt 0.527110517025 0.085661664605 0.000000000000 +vt 0.529920637608 0.072953239083 0.000000000000 +vt 0.539422690868 0.086372941732 0.000000000000 +vt 0.720288455486 0.404917716980 0.000000000000 +vt 0.725336492062 0.406646698713 0.000000000000 +vt 0.719956338406 0.413258612156 0.000000000000 +vt 0.717335283756 0.410958647728 0.000000000000 +vt 0.723915517330 0.398037433624 0.000000000000 +vt 0.731581389904 0.399601578712 0.000000000000 +vt 0.741063773632 0.398945480585 0.000000000000 +vt 0.741147696972 0.402583092451 0.000000000000 +vt 0.735348403454 0.405078500509 0.000000000000 +vt 0.724570930004 0.415234774351 0.000000000000 +vt 0.730074822903 0.409371733665 0.000000000000 +vt 0.755069792271 0.423953682184 0.000000000000 +vt 0.751188337803 0.423076480627 0.000000000000 +vt 0.732347548008 0.419561594725 0.000000000000 +vt 0.728611052036 0.417487025261 0.000000000000 +vt 0.734247624874 0.412292242050 0.000000000000 +vt 0.737663686275 0.415086418390 0.000000000000 +vt 0.739005625248 0.408245295286 0.000000000000 +vt 0.742154181004 0.411730021238 0.000000000000 +vt 0.728346526623 0.424829334021 0.000000000000 +vt 0.724365770817 0.423212945461 0.000000000000 +vt 0.539046466351 0.074854224920 0.000000000000 +vt 0.547604382038 0.081218689680 0.000000000000 +vt 0.744521200657 0.403573781252 0.000000000000 +vt 0.746637046337 0.406587243080 0.000000000000 +vt 0.546402513981 0.081313252449 0.000000000000 +vt 0.546436250210 0.079620987177 0.000000000000 +vt 0.547303736210 0.079606115818 0.000000000000 +vt 0.547511637211 0.082779005170 0.000000000000 +vt 0.546545684338 0.082813456655 0.000000000000 +vt 0.551446378231 0.080884099007 0.000000000000 +vt 0.719365775585 0.420285463333 0.000000000000 +vt 0.548926889896 0.081119611859 0.000000000000 +vt 0.547964394093 0.078651010990 0.000000000000 +vt 0.549326121807 0.076903134584 0.000000000000 +vt 0.546006023884 0.078606888652 0.000000000000 +vt 0.545527517796 0.081211924553 0.000000000000 +vt 0.740861833096 0.424791932106 0.000000000000 +vt 0.744636476040 0.421375900507 0.000000000000 +vt 0.748865187168 0.419236689806 0.000000000000 +vt 0.738058149815 0.430005639791 0.000000000000 +vt 0.546189963818 0.083545655012 0.000000000000 +vt 0.548156440258 0.083578765392 0.000000000000 +vt 0.549798786640 0.085083246231 0.000000000000 +vt 0.493128985167 0.107532128692 0.000000000000 +vt 0.487130194902 0.108177408576 0.000000000000 +vt 0.484787672758 0.104095578194 0.000000000000 +vt 0.754294574261 0.415865898132 0.000000000000 +vt 0.741011559963 0.418052166700 0.000000000000 +vt 0.736329138279 0.422021627426 0.000000000000 +vt 0.745218575001 0.415226459503 0.000000000000 +vt 0.732700407505 0.426749676466 0.000000000000 +vt 0.477795451880 0.104249805212 0.000000000000 +vt 0.480690747499 0.109506055713 0.000000000000 +vt 0.493065744638 0.123880639672 0.000000000000 +vt 0.492350906134 0.121099308133 0.000000000000 +vt 0.498245447874 0.118749126792 0.000000000000 +vt 0.499274820089 0.122994199395 0.000000000000 +vt 0.749212324619 0.411244809628 0.000000000000 +vt 0.486499279737 0.122255474329 0.000000000000 +vt 0.487754553556 0.125899389386 0.000000000000 +vt 0.495414823294 0.131725952029 0.000000000000 +vt 0.501138865948 0.129815727472 0.000000000000 +vt 0.501795589924 0.132985696197 0.000000000000 +vt 0.496015042067 0.133395478129 0.000000000000 +vt 0.491779893637 0.137110754848 0.000000000000 +vt 0.490246385336 0.133341893554 0.000000000000 +vt 0.493753403425 0.114416465163 0.000000000000 +vt 0.490512460470 0.116016864777 0.000000000000 +vt 0.716776549816 0.397952318192 0.000000000000 +vt 0.722395479679 0.390428304672 0.000000000000 +vt 0.748906552792 0.386245161295 0.000000000000 +vt 0.748211801052 0.394017070532 0.000000000000 +vt 0.743617475033 0.387832283974 0.000000000000 +vt 0.743471086025 0.384143799543 0.000000000000 +vt 0.735934555531 0.381866127253 0.000000000000 +vt 0.489763349295 0.113667383790 0.000000000000 +vt 0.714425027370 0.404076099396 0.000000000000 +vt 0.492669016123 0.112787023187 0.000000000000 +vt 0.487121194601 0.117388963699 0.000000000000 +vt 0.486971467733 0.115077972412 0.000000000000 +vt 0.494484215975 0.116980090737 0.000000000000 +vt 0.491517156363 0.118607267737 0.000000000000 +vt 0.488306194544 0.119425490499 0.000000000000 +vt 0.498060315847 0.127201452851 0.000000000000 +vt 0.713693201542 0.410189747810 0.000000000000 +vt 0.735486447811 0.385052949190 0.000000000000 +vt 0.746610701084 0.396617144346 0.000000000000 +vt 0.494058936834 0.127958431840 0.000000000000 +vt 0.493515819311 0.126024797559 0.000000000000 +vt 0.496876925230 0.125608488917 0.000000000000 +vt 0.490766674280 0.128856346011 0.000000000000 +vt 0.743014752865 0.389892905951 0.000000000000 +vt 0.735056340694 0.387602627277 0.000000000000 +vt 0.727178633213 0.392949610949 0.000000000000 +vt 0.733748018742 0.392339646816 0.000000000000 +vt 0.739848792553 0.392785251141 0.000000000000 +vt 0.747750461102 0.374964654446 0.000000000000 +vt 0.490720719099 0.127026960254 0.000000000000 +vt 0.750498473644 0.379568845034 0.000000000000 +vt 0.752317011356 0.363459676504 0.000000000000 +vt 0.747864067554 0.366984248161 0.000000000000 +vt 0.743768513203 0.380047321320 0.000000000000 +vt 0.743770778179 0.376911133528 0.000000000000 +vt 0.716933429241 0.416927278042 0.000000000000 +vt 0.497924119234 0.128914669156 0.000000000000 +vt 0.494692295790 0.129884406924 0.000000000000 +vt 0.491763919592 0.130519121885 0.000000000000 +vt 0.495831340551 0.110157430172 0.000000000000 +vt 0.489241451025 0.111455008388 0.000000000000 +vt 0.483312696218 0.114056900144 0.000000000000 +vt 0.482924073935 0.118979677558 0.000000000000 +vt 0.499466627836 0.113667383790 0.000000000000 +vt 0.487026840448 0.130218312144 0.000000000000 +vt 0.502736389637 0.126097753644 0.000000000000 +vt 0.497383981943 0.137650460005 0.000000000000 +vt 0.496828526258 0.135942205787 0.000000000000 +vt 0.498790949583 0.135475009680 0.000000000000 +vt 0.489594787359 0.354463160038 0.000000000000 +vt 0.493529766798 0.348664730787 0.000000000000 +vt 0.466066062450 0.416784971952 0.000000000000 +vt 0.492370694876 0.361383527517 0.000000000000 +vt 0.500243246555 0.364317297935 0.000000000000 +vt 0.494832962751 0.368273258209 0.000000000000 +vt 0.503132641315 0.370268374681 0.000000000000 +vt 0.497408539057 0.374473363161 0.000000000000 +vt 0.505711734295 0.374342322350 0.000000000000 +vt 0.501966536045 0.380494236946 0.000000000000 +vt 0.502037703991 0.387555330992 0.000000000000 +vt 0.500600278378 0.394303470850 0.000000000000 +vt 0.497024863958 0.400832056999 0.000000000000 +vt 0.490292042494 0.406675279140 0.000000000000 +vt 0.490373104811 0.412000209093 0.000000000000 +vt 0.478659600019 0.408653289080 0.000000000000 +vt 0.483080357313 0.413705527782 0.000000000000 +vt 0.483867734671 0.400707095861 0.000000000000 +vt 0.475096553564 0.403399050236 0.000000000000 +vt 0.490063995123 0.397259533405 0.000000000000 +vt 0.493380278349 0.393484354019 0.000000000000 +vt 0.495144337416 0.389038652182 0.000000000000 +vt 0.495407789946 0.384074211121 0.000000000000 +vt 0.493809431791 0.377649396658 0.000000000000 +vt 0.491057127714 0.371400237083 0.000000000000 +vt 0.488305300474 0.365160942078 0.000000000000 +vt 0.485417455435 0.358706206083 0.000000000000 +vt 0.499160021544 0.136612713337 0.000000000000 +vt 0.495681852102 0.138441428542 0.000000000000 +vt 0.495292752981 0.137186184525 0.000000000000 +vt 0.499904841185 0.142935067415 0.000000000000 +vt 0.512892186642 0.203441917896 0.000000000000 +vt 0.515536010265 0.210260972381 0.000000000000 +vt 0.519058048725 0.216575443745 0.000000000000 +vt 0.498339504004 0.139838293195 0.000000000000 +vt 0.500721871853 0.137117296457 0.000000000000 +vt 0.503684222698 0.138030976057 0.000000000000 +vt 0.499697417021 0.134602531791 0.000000000000 +vt 0.496406823397 0.134647563100 0.000000000000 +vt 0.494290322065 0.137108504772 0.000000000000 +vt 0.495159000158 0.139991164207 0.000000000000 +vt 0.493990033865 0.142434999347 0.000000000000 +vt 0.486728996038 0.090575456619 0.000000000000 +vt 0.478315383196 0.092991143465 0.000000000000 +vt 0.474077731371 0.098476827145 0.000000000000 +vt 0.498264402151 0.081063106656 0.000000000000 +vt 0.490895956755 0.083478346467 0.000000000000 +vt 0.501754701138 0.074368119240 0.000000000000 +vt 0.516297876835 0.064490333200 0.000000000000 +vt 0.489585071802 0.070763155818 0.000000000000 +vt 0.494673103094 0.066240236163 0.000000000000 +vt 0.470336109400 0.086715623736 0.000000000000 +vt 0.436086863279 0.092820927501 0.000000000000 +vt 0.438066899776 0.090013250709 0.000000000000 +vt 0.444520950317 0.092675030231 0.000000000000 +vt 0.441438585520 0.096161559224 0.000000000000 +vt 0.428543061018 0.092088505626 0.000000000000 +vt 0.430847972631 0.087048172951 0.000000000000 +vt 0.445708662271 0.087137565017 0.000000000000 +vt 0.440775513649 0.085114762187 0.000000000000 +vt 0.441083967686 0.081669896841 0.000000000000 +vt 0.445867836475 0.084105402231 0.000000000000 +vt 0.434993296862 0.082800179720 0.000000000000 +vt 0.435679793358 0.079566493630 0.000000000000 +vt 0.443775683641 0.089068949223 0.000000000000 +vt 0.439778298140 0.087716892362 0.000000000000 +vt 0.435482561588 0.085728764534 0.000000000000 +vt 0.449968576431 0.082234129310 0.000000000000 +vt 0.441662847996 0.076967298985 0.000000000000 +vt 0.431835711002 0.073218241334 0.000000000000 +vt 0.428974449635 0.081223636866 0.000000000000 +vt 0.450840383768 0.089633405209 0.000000000000 +vt 0.429250478745 0.110776379704 0.000000000000 +vt 0.428867727518 0.107335552573 0.000000000000 +vt 0.431848555803 0.108271300793 0.000000000000 +vt 0.431623846292 0.110644668341 0.000000000000 +vt 0.427443832159 0.110487952828 0.000000000000 +vt 0.426816552877 0.108107388020 0.000000000000 +vt 0.437157928944 0.099945515394 0.000000000000 +vt 0.433482289314 0.098722696304 0.000000000000 +vt 0.434810459614 0.095693901181 0.000000000000 +vt 0.437838792801 0.097269997001 0.000000000000 +vt 0.429327040911 0.097964599729 0.000000000000 +vt 0.431027412415 0.095057398081 0.000000000000 +vt 0.435632973909 0.102705463767 0.000000000000 +vt 0.431967437267 0.102064222097 0.000000000000 +vt 0.428185939789 0.101327285171 0.000000000000 +vt 0.424739956856 0.097438409925 0.000000000000 +vt 0.424326807261 0.104374542832 0.000000000000 +vt 0.430121839046 0.103951931000 0.000000000000 +vt 0.436985909939 0.106490775943 0.000000000000 +vt 0.440761536360 0.101641386747 0.000000000000 +vt 0.429635047913 0.115833595395 0.000000000000 +vt 0.429685264826 0.112943276763 0.000000000000 +vt 0.432830691338 0.111719325185 0.000000000000 +vt 0.435101598501 0.113605901599 0.000000000000 +vt 0.434298694134 0.107984006405 0.000000000000 +vt 0.429523140192 0.105171591043 0.000000000000 +vt 0.425729721785 0.106971934438 0.000000000000 +vt 0.426668196917 0.111298739910 0.000000000000 +vt 0.424650788307 0.112406730652 0.000000000000 +vt 0.509388387203 0.055841218680 0.000000000000 +vt 0.498403996229 0.043372806162 0.000000000000 +vt 0.502433478832 0.048159595579 0.000000000000 +vt 0.497449725866 0.051044743508 0.000000000000 +vt 0.492421835661 0.043788667768 0.000000000000 +vt 0.463615030050 0.077348947525 0.000000000000 +vt 0.455456525087 0.070783421397 0.000000000000 +vt 0.464122295380 0.066180795431 0.000000000000 +vt 0.462868630886 0.093436956406 0.000000000000 +vt 0.458721280098 0.092571005225 0.000000000000 +vt 0.459522604942 0.087591469288 0.000000000000 +vt 0.462670952082 0.086979731917 0.000000000000 +vt 0.471514105797 0.060662243515 0.000000000000 +vt 0.482812136412 0.062291014940 0.000000000000 +vt 0.467946112156 0.095136195421 0.000000000000 +vt 0.458524495363 0.080985873938 0.000000000000 +vt 0.452050387859 0.076159223914 0.000000000000 +vt 0.443986207247 0.071658372879 0.000000000000 +vt 0.445354491472 0.066013723612 0.000000000000 +vt 0.436717092991 0.065082713962 0.000000000000 +vt 0.437832713127 0.058958042413 0.000000000000 +vt 0.456312119961 0.084696203470 0.000000000000 +vt 0.455533295870 0.088533744216 0.000000000000 +vt 0.442759126425 0.026406910270 0.000000000000 +vt 0.439107567072 0.033566392958 0.000000000000 +vt 0.433614879847 0.033746067435 0.000000000000 +vt 0.436550229788 0.040571421385 0.000000000000 +vt 0.431009620428 0.041979093105 0.000000000000 +vt 0.436738461256 0.048520524055 0.000000000000 +vt 0.433239340782 0.050523724407 0.000000000000 +vt 0.439432889223 0.056393977255 0.000000000000 +vt 0.444673389196 0.062197577208 0.000000000000 +vt 0.452080547810 0.064230725169 0.000000000000 +vt 0.459633141756 0.061068650335 0.000000000000 +vt 0.466834276915 0.054884534329 0.000000000000 +vt 0.476173490286 0.048398043960 0.000000000000 +vt 0.478311985731 0.055618535727 0.000000000000 +vt 0.487611383200 0.048637155443 0.000000000000 +vt 0.492559403181 0.054551754147 0.000000000000 +vt 0.450314640999 0.028678275645 0.000000000000 +vt 0.445344805717 0.034261446446 0.000000000000 +vt 0.441385686398 0.039831560105 0.000000000000 +vt 0.440092831850 0.046508762985 0.000000000000 +vt 0.441298097372 0.053300123662 0.000000000000 +vt 0.444251447916 0.058152657002 0.000000000000 +vt 0.449525713921 0.059440102428 0.000000000000 +vt 0.455304324627 0.055676858872 0.000000000000 +vt 0.461506903172 0.049404706806 0.000000000000 +vt 0.469306051731 0.042024347931 0.000000000000 +vt 0.487811952829 0.058225836605 0.000000000000 +vt 0.483524292707 0.052073474973 0.000000000000 +vt 0.484311491251 0.046199399978 0.000000000000 +vt 0.481747001410 0.048475492746 0.000000000000 +vt 0.380680233240 0.065514564514 0.000000000000 +vt 0.376588284969 0.059708710760 0.000000000000 +vt 0.380253583193 0.059918548912 0.000000000000 +vt 0.384085476398 0.069081693888 0.000000000000 +vt 0.495234221220 0.099533021450 0.000000000000 +vt 0.383714437485 0.065352901816 0.000000000000 +vt 0.383114397526 0.061096791178 0.000000000000 +vt 0.374451309443 0.073164209723 0.000000000000 +vt 0.372015357018 0.063677519560 0.000000000000 +vt 0.374059766531 0.053939338773 0.000000000000 +vt 0.381692320108 0.054332684726 0.000000000000 +vt 0.383103370667 0.075196906924 0.000000000000 +vt 0.405146718025 0.062567278743 0.000000000000 +vt 0.405029207468 0.064906865358 0.000000000000 +vt 0.403085887432 0.065327689052 0.000000000000 +vt 0.402291089296 0.062788158655 0.000000000000 +vt 0.404567837715 0.060321133584 0.000000000000 +vt 0.402513980865 0.060236703604 0.000000000000 +vt 0.396065324545 0.068468824029 0.000000000000 +vt 0.393785178661 0.067805290222 0.000000000000 +vt 0.392409473658 0.063877239823 0.000000000000 +vt 0.394892245531 0.063695982099 0.000000000000 +vt 0.392374575138 0.059808004647 0.000000000000 +vt 0.394494861364 0.058848392218 0.000000000000 +vt 0.398127049208 0.067958623171 0.000000000000 +vt 0.397333174944 0.063290476799 0.000000000000 +vt 0.396797299385 0.058876764029 0.000000000000 +vt 0.394452542067 0.054397072643 0.000000000000 +vt 0.399751543999 0.055975642055 0.000000000000 +vt 0.399062365294 0.062898263335 0.000000000000 +vt 0.401548743248 0.070496574044 0.000000000000 +vt 0.397002875805 0.072747439146 0.000000000000 +vt 0.410708278418 0.061957109720 0.000000000000 +vt 0.408443450928 0.068036526442 0.000000000000 +vt 0.406104087830 0.065834060311 0.000000000000 +vt 0.407416969538 0.062223013490 0.000000000000 +vt 0.402603596449 0.067001029849 0.000000000000 +vt 0.400384694338 0.062776446342 0.000000000000 +vt 0.401618093252 0.058767784387 0.000000000000 +vt 0.407653838396 0.056897196919 0.000000000000 +vt 0.405660539865 0.059153925627 0.000000000000 +vt 0.342144489288 0.129252389073 0.000000000000 +vt 0.330034285784 0.118232384324 0.000000000000 +vt 0.331073820591 0.111910715699 0.000000000000 +vt 0.337948709726 0.117126211524 0.000000000000 +vt 0.334675848484 0.122342392802 0.000000000000 +vt 0.364498108625 0.084034025669 0.000000000000 +vt 0.353841513395 0.081475362182 0.000000000000 +vt 0.359023243189 0.072227567434 0.000000000000 +vt 0.383939355612 0.087411120534 0.000000000000 +vt 0.376194030046 0.086917132139 0.000000000000 +vt 0.378380954266 0.083674445748 0.000000000000 +vt 0.385140568018 0.082588523626 0.000000000000 +vt 0.348989427090 0.090118840337 0.000000000000 +vt 0.349848628044 0.102441802621 0.000000000000 +vt 0.384516656399 0.092244535685 0.000000000000 +vt 0.368901699781 0.080153703690 0.000000000000 +vt 0.366300255060 0.072573855519 0.000000000000 +vt 0.362025469542 0.061230536550 0.000000000000 +vt 0.366504251957 0.062840163708 0.000000000000 +vt 0.364860385656 0.049893748015 0.000000000000 +vt 0.368391275406 0.052941676229 0.000000000000 +vt 0.375058352947 0.079524159431 0.000000000000 +vt 0.381066381931 0.079621434212 0.000000000000 +vt 0.369406282902 0.023787003011 0.000000000000 +vt 0.363827377558 0.021882418543 0.000000000000 +vt 0.362167745829 0.013727746904 0.000000000000 +vt 0.369875043631 0.032330740243 0.000000000000 +vt 0.363867014647 0.030249182135 0.000000000000 +vt 0.367265045643 0.040660582483 0.000000000000 +vt 0.362684249878 0.039418853819 0.000000000000 +vt 0.360803991556 0.049217607826 0.000000000000 +vt 0.358212471008 0.058879461139 0.000000000000 +vt 0.354023665190 0.067041784525 0.000000000000 +vt 0.349367916584 0.074845895171 0.000000000000 +vt 0.344372838736 0.084569439292 0.000000000000 +vt 0.343579858541 0.097275629640 0.000000000000 +vt 0.337548166513 0.094781354070 0.000000000000 +vt 0.336168199778 0.107096001506 0.000000000000 +vt 0.341732889414 0.112160399556 0.000000000000 +vt 0.358703076839 0.019574124366 0.000000000000 +vt 0.356585264206 0.011583819985 0.000000000000 +vt 0.359179943800 0.028422724456 0.000000000000 +vt 0.358128011227 0.037861227989 0.000000000000 +vt 0.355775833130 0.047059264034 0.000000000000 +vt 0.352667778730 0.055755432695 0.000000000000 +vt 0.348802536726 0.062798514962 0.000000000000 +vt 0.344516932964 0.069515347481 0.000000000000 +vt 0.339693903923 0.078744009137 0.000000000000 +vt 0.334405004978 0.088547706604 0.000000000000 +vt 0.351488649845 0.008813511580 0.000000000000 +vt 0.353146910667 0.017157759517 0.000000000000 +vt 0.344804912806 0.016256015748 0.000000000000 +vt 0.343273401260 0.007860429585 0.000000000000 +vt 0.353605329990 0.026377867907 0.000000000000 +vt 0.345076918602 0.024861443788 0.000000000000 +vt 0.351858347654 0.035421445966 0.000000000000 +vt 0.343469291925 0.032606557012 0.000000000000 +vt 0.329398661852 0.083495229483 0.000000000000 +vt 0.321584880352 0.080222144723 0.000000000000 +vt 0.345637321472 0.107405588031 0.000000000000 +vt 0.339709669352 0.102807238698 0.000000000000 +vt 0.334294229746 0.103572994471 0.000000000000 +vt 0.336519658566 0.100833073258 0.000000000000 +vt 0.331020236015 0.072261109948 0.000000000000 +vt 0.336660385132 0.064951002598 0.000000000000 +vt 0.434932053089 0.026294331998 0.000000000000 +vt 0.340934514999 0.059087056667 0.000000000000 +vt 0.343839913607 0.051737319678 0.000000000000 +vt 0.346170932055 0.042951311916 0.000000000000 +vt 0.340638875961 0.037561997771 0.000000000000 +vt 0.323255330324 0.073237612844 0.000000000000 +vt 0.695959985256 0.741854548454 0.000000000000 +vt 0.714866340160 0.723106801510 0.000000000000 +vt 0.697431623936 0.719995796680 0.000000000000 +vt 0.483988851309 0.041881825775 0.000000000000 +vt 0.839606106281 0.716192245483 0.000000000000 +vt 0.824899375439 0.704895555973 0.000000000000 +vt 0.836511552334 0.689590156078 0.000000000000 +vt 0.848930418491 0.699052095413 0.000000000000 +vt 0.814055740833 0.694797575474 0.000000000000 +vt 0.477539271116 0.036895312369 0.000000000000 +vt 0.826638519764 0.681990265846 0.000000000000 +vt 0.829895794392 0.731659770012 0.000000000000 +vt 0.813143789768 0.716623902321 0.000000000000 +vt 0.801700055599 0.705101132393 0.000000000000 +vt 0.817305624485 0.743863582611 0.000000000000 +vt 0.801387965679 0.725039482117 0.000000000000 +vt 0.789851725101 0.712394773960 0.000000000000 +vt 0.788582026958 0.734670758247 0.000000000000 +vt 0.777517497540 0.721166849136 0.000000000000 +vt 0.803215801716 0.752814412117 0.000000000000 +vt 0.786242902279 0.759428799152 0.000000000000 +vt 0.773034870625 0.741466820240 0.000000000000 +vt 0.763387620449 0.729409098625 0.000000000000 +vt 0.819508969784 0.771108031273 0.000000000000 +vt 0.801594197750 0.778130888939 0.000000000000 +vt 0.780358016491 0.784393787384 0.000000000000 +vt 0.813161194324 0.798096477985 0.000000000000 +vt 0.791216671467 0.802965700626 0.000000000000 +vt 0.768060982227 0.806276857853 0.000000000000 +vt 0.758998692036 0.789613127708 0.000000000000 +vt 0.745742022991 0.808515787125 0.000000000000 +vt 0.739104449749 0.793780505657 0.000000000000 +vt 0.796912372112 0.821695029736 0.000000000000 +vt 0.772977530956 0.822699189186 0.000000000000 +vt 0.749330580235 0.823236882687 0.000000000000 +vt 0.818778097630 0.819741129875 0.000000000000 +vt 0.864375889301 0.710809707642 0.000000000000 +vt 0.880953133106 0.724374651909 0.000000000000 +vt 0.915635168552 0.748171925545 0.000000000000 +vt 0.908841907978 0.766230940819 0.000000000000 +vt 0.905186593533 0.787342846394 0.000000000000 +vt 0.887137472630 0.812209010124 0.000000000000 +vt 0.901950418949 0.812799155712 0.000000000000 +vt 0.716777384281 0.755539953709 0.000000000000 +vt 0.709918677807 0.762999296188 0.000000000000 +vt 0.751775801182 0.171791642904 0.000000000000 +vt 0.779532253742 0.179935947061 0.000000000000 +vt 0.757754266262 0.191265076399 0.000000000000 +vt 0.738353550434 0.202746644616 0.000000000000 +vt 0.733651459217 0.186159908772 0.000000000000 +vt 0.720768034458 0.212536171079 0.000000000000 +vt 0.718448698521 0.197526648641 0.000000000000 +vt 0.715862095356 0.185371875763 0.000000000000 +vt 0.749988734722 0.241413876414 0.000000000000 +vt 0.731017768383 0.248716101050 0.000000000000 +vt 0.725487768650 0.230310603976 0.000000000000 +vt 0.743789970875 0.221092060208 0.000000000000 +vt 0.774173557758 0.257214367390 0.000000000000 +vt 0.754297435284 0.261839717627 0.000000000000 +vt 0.769551694393 0.234550252557 0.000000000000 +vt 0.731539070606 0.269993722439 0.000000000000 +vt 0.763681709766 0.212278813124 0.000000000000 +vt 0.789024770260 0.228903159499 0.000000000000 +vt 0.784669578075 0.203588500619 0.000000000000 +vt 0.812417447567 0.255994260311 0.000000000000 +vt 0.793350636959 0.255872875452 0.000000000000 +vt 0.808808386326 0.224819734693 0.000000000000 +vt 0.805518686771 0.196942374110 0.000000000000 +vt 0.801068723202 0.171566486359 0.000000000000 +vt 0.816036999226 0.293190568686 0.000000000000 +vt 0.796044886112 0.283715814352 0.000000000000 +vt 0.777438461781 0.280535697937 0.000000000000 +vt 0.757886707783 0.282600164413 0.000000000000 +vt 0.739174664021 0.287719726563 0.000000000000 +vt 0.785341441631 0.033302962780 0.000000000000 +vt 0.582609474659 0.124908477068 0.000000000000 +vt 0.581306993961 0.142187565565 0.000000000000 +vt 0.545368969440 0.011624570936 0.000000000000 +vt 0.646641552448 0.018267553300 0.000000000000 +vt 0.606483757496 0.106701299548 0.000000000000 +vt 0.612616598606 0.108521446586 0.000000000000 +vt 0.618627488613 0.111129656434 0.000000000000 +vt 0.665071904659 0.014743648469 0.000000000000 +vt 0.370113700628 0.016160547733 0.000000000000 +vt 0.331191360950 0.103096559644 0.000000000000 +vt 0.330383718014 0.097089871764 0.000000000000 +vt 0.327046245337 0.092111021280 0.000000000000 +vt 0.319549947977 0.088000133634 0.000000000000 +vt 0.491939753294 0.100965470076 0.000000000000 +vt 0.696907937527 0.156802833080 0.000000000000 +vt 0.707364618778 0.164915174246 0.000000000000 +vt 0.711468279362 0.167301818728 0.000000000000 +vt 0.672648847103 0.136169388890 0.000000000000 +vt 0.654392778873 0.123681157827 0.000000000000 +vt 0.546281397343 0.277987629175 0.000000000000 +vt 0.555889427662 0.542913317680 0.000000000000 +vt 0.598048627377 0.315594613552 0.000000000000 +vt 0.474871605635 0.487518340349 0.000000000000 +vt 0.493717104197 0.499704867601 0.000000000000 +vt 0.510663211346 0.513657331467 0.000000000000 +vt 0.529695570469 0.328777670860 0.000000000000 +vt 0.478573888540 0.439885228872 0.000000000000 +vt 0.489638179541 0.458603054285 0.000000000000 +vt 0.472153753042 0.424974769354 0.000000000000 +vt 0.581608593464 0.316328614950 0.000000000000 +vt 0.469933092594 0.410422533751 0.000000000000 +vt 0.474573940039 0.415574103594 0.000000000000 +vt 0.496727436781 0.356613397598 0.000000000000 +vt 0.467020928860 0.405297100544 0.000000000000 +vt 0.680720627308 0.091846004128 0.000000000000 +vt 0.694580972195 0.090741172433 0.000000000000 +vt 0.547491371632 0.071579337120 0.000000000000 +vt 0.553497970104 0.078128427267 0.000000000000 +vt 0.645280063152 0.102942556143 0.000000000000 +vt 0.557917654514 0.084493562579 0.000000000000 +vt 0.562383949757 0.098196953535 0.000000000000 +vt 0.633653700352 0.118626862764 0.000000000000 +vt 0.562888324261 0.114720419049 0.000000000000 +vt 0.563672840595 0.128326103091 0.000000000000 +vt 0.567211091518 0.144699171185 0.000000000000 +vt 0.500136196613 0.268927842379 0.000000000000 +vt 0.502436935902 0.280043512583 0.000000000000 +vt 0.482790559530 0.140759631991 0.000000000000 +vt 0.485283464193 0.145932793617 0.000000000000 +vt 0.511669576168 0.244729980826 0.000000000000 +vt 0.489596575499 0.150636732578 0.000000000000 +vt 0.503686726093 0.155002936721 0.000000000000 +vt 0.528804123402 0.231279209256 0.000000000000 +vt 0.521844804287 0.155472621322 0.000000000000 +vt 0.536552846432 0.156950756907 0.000000000000 +vt 0.553597509861 0.159783437848 0.000000000000 +vt 0.307654768229 0.609554529190 0.000000000000 +vt 0.290467321873 0.613707244396 0.000000000000 +vt 0.204575508833 0.719810605049 0.000000000000 +vt 0.210707157850 0.703682720661 0.000000000000 +vt 0.284538298845 0.585472345352 0.000000000000 +vt 0.223060980439 0.709351420403 0.000000000000 +vt 0.213785484433 0.729282855988 0.000000000000 +vt 0.294191390276 0.583933651447 0.000000000000 +vt 0.193332836032 0.738901257515 0.000000000000 +vt 0.188829287887 0.728674709797 0.000000000000 +vt 0.197825804353 0.749223530293 0.000000000000 +vt 0.225497603416 0.740132212639 0.000000000000 +vt 0.172644689679 0.756999909878 0.000000000000 +vt 0.173354595900 0.748063921928 0.000000000000 +vt 0.153877779841 0.774228334427 0.000000000000 +vt 0.153797164559 0.760271430016 0.000000000000 +vt 0.173445329070 0.773155450821 0.000000000000 +vt 0.149432986975 0.820051431656 0.000000000000 +vt 0.173765048385 0.821435034275 0.000000000000 +vt 0.175114631653 0.829998791218 0.000000000000 +vt 0.154235765338 0.830059587955 0.000000000000 +vt 0.154094830155 0.792689681053 0.000000000000 +vt 0.177844420075 0.795601427555 0.000000000000 +vt 0.212241590023 0.836606919765 0.000000000000 +vt 0.307616710663 0.586260378361 0.000000000000 +vt 0.319666564465 0.604332268238 0.000000000000 +vt 0.206351310015 0.841337859631 0.000000000000 +vt 0.357945650816 0.653928995132 0.000000000000 +vt 0.205141782761 0.802912175655 0.000000000000 +vt 0.181257992983 0.838490307331 0.000000000000 +vt 0.150479733944 0.836383342743 0.000000000000 +vt 0.202541679144 0.774786055088 0.000000000000 +vt 0.230581372976 0.776787877083 0.000000000000 +vt 0.232835412025 0.808410942554 0.000000000000 +vt 0.153742238879 0.753254890442 0.000000000000 +vt 0.354879945517 0.670894861221 0.000000000000 +vt 0.156122118235 0.742229044437 0.000000000000 +vt 0.325383484364 0.664160490036 0.000000000000 +vt 0.172345682979 0.736270546913 0.000000000000 +vt 0.329998701811 0.649386703968 0.000000000000 +vt 0.344495564699 0.695504546165 0.000000000000 +vt 0.319999575615 0.685368955135 0.000000000000 +vt 0.340014070272 0.705360293388 0.000000000000 +vt 0.316662311554 0.697957396507 0.000000000000 +vt 0.335703253746 0.712217569351 0.000000000000 +vt 0.314472913742 0.703338801861 0.000000000000 +vt 0.298693358898 0.660711348057 0.000000000000 +vt 0.305291980505 0.643745899200 0.000000000000 +vt 0.335656195879 0.638233840466 0.000000000000 +vt 0.170275822282 0.731788814068 0.000000000000 +vt 0.154652982950 0.738835036755 0.000000000000 +vt 0.186667352915 0.724648237228 0.000000000000 +vt 0.232443422079 0.711409807205 0.000000000000 +vt 0.252836883068 0.745151817799 0.000000000000 +vt 0.251037418842 0.715631723404 0.000000000000 +vt 0.257062584162 0.778479039669 0.000000000000 +vt 0.286519646645 0.808762609959 0.000000000000 +vt 0.259915977716 0.810499906540 0.000000000000 +vt 0.282630771399 0.777449607849 0.000000000000 +vt 0.312265455723 0.804308831692 0.000000000000 +vt 0.315088212490 0.835467398167 0.000000000000 +vt 0.288638800383 0.843417167664 0.000000000000 +vt 0.337379038334 0.797992110252 0.000000000000 +vt 0.342023313046 0.826052308083 0.000000000000 +vt 0.314613372087 0.842931270599 0.000000000000 +vt 0.360430896282 0.641259968281 0.000000000000 +vt 0.314939886332 0.630025804043 0.000000000000 +vt 0.289557874203 0.850114881992 0.000000000000 +vt 0.294469684362 0.682716429234 0.000000000000 +vt 0.273877441883 0.659004628658 0.000000000000 +vt 0.280411213636 0.635718882084 0.000000000000 +vt 0.270008593798 0.684478938580 0.000000000000 +vt 0.359717398882 0.625162005424 0.000000000000 +vt 0.343318879604 0.624738991261 0.000000000000 +vt 0.344458639622 0.621523499489 0.000000000000 +vt 0.360369205475 0.621685206890 0.000000000000 +vt 0.360682636499 0.635098338127 0.000000000000 +vt 0.339501827955 0.634016931057 0.000000000000 +vt 0.340652346611 0.835465610027 0.000000000000 +vt 0.309305101633 0.776968240738 0.000000000000 +vt 0.334473401308 0.773887217045 0.000000000000 +vt 0.363107293844 0.791482627392 0.000000000000 +vt 0.368501096964 0.820234537125 0.000000000000 +vt 0.358934253454 0.769033312798 0.000000000000 +vt 0.275969982147 0.743224263191 0.000000000000 +vt 0.305437386036 0.756031274796 0.000000000000 +vt 0.260169744492 0.846379280090 0.000000000000 +vt 0.235436409712 0.844436645508 0.000000000000 +vt 0.262015789747 0.854236066341 0.000000000000 +vt 0.234238356352 0.851540505886 0.000000000000 +vt 0.263981163502 0.715166091919 0.000000000000 +vt 0.267965942621 0.713351130486 0.000000000000 +vt 0.281729459763 0.734891474247 0.000000000000 +vt 0.288172066212 0.722100436687 0.000000000000 +vt 0.277648299932 0.707795619965 0.000000000000 +vt 0.291222691536 0.716961920261 0.000000000000 +vt 0.308623343706 0.723172843456 0.000000000000 +vt 0.307381391525 0.728834807873 0.000000000000 +vt 0.281491696835 0.703531861305 0.000000000000 +vt 0.305040448904 0.743083953857 0.000000000000 +vt 0.201677769423 0.717027664185 0.000000000000 +vt 0.205799683928 0.700485944748 0.000000000000 +vt 0.367262303829 0.829703629017 0.000000000000 +vt 0.341758757830 0.839105904102 0.000000000000 +vt 0.368334710598 0.833229362965 0.000000000000 +vt 0.316586196423 0.847852051258 0.000000000000 +vt 0.290764272213 0.854788422585 0.000000000000 +vt 0.327047795057 0.738471865654 0.000000000000 +vt 0.326124876738 0.730000674725 0.000000000000 +vt 0.330911010504 0.754280507565 0.000000000000 +vt 0.355491876602 0.749867677689 0.000000000000 +vt 0.351486146450 0.739300012589 0.000000000000 +vt 0.326873511076 0.724973142147 0.000000000000 +vt 0.344539195299 0.722123146057 0.000000000000 +vt 0.344190418720 0.726383745670 0.000000000000 +vt 0.261989206076 0.857144653797 0.000000000000 +vt 0.233581811190 0.854094266891 0.000000000000 +vt 0.204417899251 0.849156141281 0.000000000000 +vt 0.326887309551 0.621081113815 0.000000000000 +vt 0.252677500248 0.583962917328 0.000000000000 +vt 0.265231251717 0.586087048054 0.000000000000 +vt 0.256276845932 0.613264143467 0.000000000000 +vt 0.236884176731 0.612185239792 0.000000000000 +vt 0.225397676229 0.592031359673 0.000000000000 +vt 0.240359246731 0.578182041645 0.000000000000 +vt 0.249482765794 0.581659138203 0.000000000000 +vt 0.230406701565 0.604802131653 0.000000000000 +vt 0.221547290683 0.586520910263 0.000000000000 +vt 0.237664133310 0.573132932186 0.000000000000 +vt 0.211196690798 0.601164758205 0.000000000000 +vt 0.209809958935 0.594907939434 0.000000000000 +vt 0.213919267058 0.613228797913 0.000000000000 +vt 0.215259835124 0.621791481972 0.000000000000 +vt 0.233155399561 0.635776519775 0.000000000000 +vt 0.212040349841 0.638687551022 0.000000000000 +vt 0.329966962337 0.616993844509 0.000000000000 +vt 0.252798855305 0.635614156723 0.000000000000 +vt 0.333201110363 0.612495720387 0.000000000000 +vt 0.324382007122 0.598686695099 0.000000000000 +vt 0.311093568802 0.581733644009 0.000000000000 +vt 0.250871539116 0.659518659115 0.000000000000 +vt 0.246007040143 0.695468783379 0.000000000000 +vt 0.267591327429 0.695985734463 0.000000000000 +vt 0.229620695114 0.658928096294 0.000000000000 +vt 0.224895358086 0.685685992241 0.000000000000 +vt 0.202963665128 0.683032333851 0.000000000000 +vt 0.206480368972 0.658463180065 0.000000000000 +vt 0.225187152624 0.694258570671 0.000000000000 +vt 0.267994135618 0.700619399548 0.000000000000 +vt 0.246059074998 0.698300302029 0.000000000000 +vt 0.202539697289 0.691807746887 0.000000000000 +vt 0.292167007923 0.695293128490 0.000000000000 +vt 0.291803628206 0.699824810028 0.000000000000 +vt 0.246173635125 0.686428308487 0.000000000000 +vt 0.225166440010 0.697112381458 0.000000000000 +vt 0.202534750104 0.694576680660 0.000000000000 +vt 0.179447337985 0.689694881439 0.000000000000 +vt 0.179994687438 0.681011319160 0.000000000000 +vt 0.156249374151 0.689290702343 0.000000000000 +vt 0.153237923980 0.680606484413 0.000000000000 +vt 0.181782424450 0.657110214233 0.000000000000 +vt 0.156527668238 0.653305292130 0.000000000000 +vt 0.186954230070 0.638771533966 0.000000000000 +vt 0.162625998259 0.633767902851 0.000000000000 +vt 0.191838979721 0.622671365738 0.000000000000 +vt 0.169981136918 0.618435740471 0.000000000000 +vt 0.179694786668 0.692102015018 0.000000000000 +vt 0.157019853592 0.692945420742 0.000000000000 +vt 0.174810484052 0.610164642334 0.000000000000 +vt 0.181283250451 0.599177777767 0.000000000000 +vt 0.196757718921 0.604870617390 0.000000000000 +vt 0.192525476217 0.616066217422 0.000000000000 +vt 0.183410972357 0.595816195011 0.000000000000 +vt 0.198278859258 0.601250529289 0.000000000000 +vt 0.244824290276 0.579442679882 0.000000000000 +vt 0.273151040077 0.710567533970 0.000000000000 +vt 0.285232663155 0.728684842587 0.000000000000 +vt 0.227200508118 0.598817527294 0.000000000000 +vt 0.212605252862 0.606770217419 0.000000000000 +vt 0.305614590645 0.736904382706 0.000000000000 +vt 0.328240215778 0.744696319103 0.000000000000 +vt 0.178053170443 0.604644119740 0.000000000000 +vt 0.348152697086 0.732621014118 0.000000000000 +vt 0.194131508470 0.610380828381 0.000000000000 +vt 0.313762992620 0.607308149338 0.000000000000 +vt 0.300771087408 0.584314823151 0.000000000000 +vt 0.216887891293 0.707050144672 0.000000000000 +vt 0.208923026919 0.724448800087 0.000000000000 +vt 0.190924808383 0.733412683010 0.000000000000 +vt 0.173134177923 0.741575896740 0.000000000000 +vt 0.154957845807 0.745678186417 0.000000000000 +vt 0.360251009464 0.628313779831 0.000000000000 +vt 0.342385172844 0.628576755524 0.000000000000 +vt 0.322390943766 0.625243067741 0.000000000000 +vt 0.255816608667 0.538961172104 0.000000000000 +vt 0.255609929562 0.531903445721 0.000000000000 +vt 0.276532471180 0.523902297020 0.000000000000 +vt 0.276766628027 0.530665338039 0.000000000000 +vt 0.258155763149 0.542869150639 0.000000000000 +vt 0.239253938198 0.549565970898 0.000000000000 +vt 0.237569808960 0.546314954758 0.000000000000 +vt 0.259632319212 0.557646989822 0.000000000000 +vt 0.278000265360 0.557606041431 0.000000000000 +vt 0.280406028032 0.561680853367 0.000000000000 +vt 0.259857028723 0.562739551067 0.000000000000 +vt 0.301217794418 0.558059513569 0.000000000000 +vt 0.301868736744 0.561496496201 0.000000000000 +vt 0.280528068542 0.552090644836 0.000000000000 +vt 0.277729153633 0.535347640514 0.000000000000 +vt 0.297178983688 0.528205513954 0.000000000000 +vt 0.301819860935 0.553178787231 0.000000000000 +vt 0.296229928732 0.518692255020 0.000000000000 +vt 0.297345817089 0.522403001785 0.000000000000 +vt 0.317796647549 0.513919591904 0.000000000000 +vt 0.319642692804 0.516018092632 0.000000000000 +vt 0.318866372108 0.522611498833 0.000000000000 +vt 0.323723644018 0.553826808929 0.000000000000 +vt 0.342375040054 0.518720626831 0.000000000000 +vt 0.345081865788 0.553842306137 0.000000000000 +vt 0.325454175472 0.558225631714 0.000000000000 +vt 0.324885904789 0.562544107437 0.000000000000 +vt 0.344201058149 0.558419764042 0.000000000000 +vt 0.346064895391 0.561874091625 0.000000000000 +vt 0.367183536291 0.508728206158 0.000000000000 +vt 0.365877866745 0.516082882881 0.000000000000 +vt 0.342823565006 0.511460900307 0.000000000000 +vt 0.365199923515 0.505763173103 0.000000000000 +vt 0.387129127979 0.502111792564 0.000000000000 +vt 0.389222174883 0.506725013256 0.000000000000 +vt 0.341677963734 0.508929491043 0.000000000000 +vt 0.382050991058 0.547588169575 0.000000000000 +vt 0.364945054054 0.550378084183 0.000000000000 +vt 0.388924062252 0.514224946499 0.000000000000 +vt 0.256348222494 0.552059113979 0.000000000000 +vt 0.239861428738 0.565382003784 0.000000000000 +vt 0.239956676960 0.562402725220 0.000000000000 +vt 0.220832422376 0.568670809269 0.000000000000 +vt 0.219239458442 0.567124247551 0.000000000000 +vt 0.203210204840 0.570883214474 0.000000000000 +vt 0.201898008585 0.568920969963 0.000000000000 +vt 0.182944670320 0.570823550224 0.000000000000 +vt 0.183698490262 0.567600429058 0.000000000000 +vt 0.203983396292 0.564405024052 0.000000000000 +vt 0.204041033983 0.557649910450 0.000000000000 +vt 0.220529600978 0.554902791977 0.000000000000 +vt 0.220537245274 0.562811851501 0.000000000000 +vt 0.183808818460 0.564445316792 0.000000000000 +vt 0.182822406292 0.557343244553 0.000000000000 +vt 0.156297102571 0.564277827740 0.000000000000 +vt 0.153392598033 0.552050530910 0.000000000000 +vt 0.137154191732 0.566353738308 0.000000000000 +vt 0.156789526343 0.566984176636 0.000000000000 +vt 0.156581923366 0.569497346878 0.000000000000 +vt 0.138306304812 0.569090723991 0.000000000000 +vt 0.154402419925 0.548665106297 0.000000000000 +vt 0.132301419973 0.547170519829 0.000000000000 +vt 0.131927892566 0.543763041496 0.000000000000 +vt 0.183378085494 0.554381549358 0.000000000000 +vt 0.155377343297 0.546469151974 0.000000000000 +vt 0.182058230042 0.549026727676 0.000000000000 +vt 0.203520476818 0.547020137310 0.000000000000 +vt 0.203194230795 0.553471744061 0.000000000000 +vt 0.219951391220 0.551127851009 0.000000000000 +vt 0.219577863812 0.544329047203 0.000000000000 +vt 0.236548244953 0.540101110935 0.000000000000 +vt 0.239640295506 0.557557404041 0.000000000000 +vt 0.364015817642 0.556429386139 0.000000000000 +vt 0.364667207003 0.559019565582 0.000000000000 +vt 0.385533690453 0.553289771080 0.000000000000 +vt 0.382902741432 0.557026267052 0.000000000000 +vt 0.154217123985 0.713813722134 0.000000000000 +vt 0.157158553600 0.710084676743 0.000000000000 +vt 0.139992043376 0.697338879108 0.000000000000 +vt 0.145032361150 0.694776415825 0.000000000000 +vt 0.129598200321 0.676885545254 0.000000000000 +vt 0.133522659540 0.676785171032 0.000000000000 +vt 0.121781267226 0.655710399151 0.000000000000 +vt 0.125936508179 0.658108294010 0.000000000000 +vt 0.117115393281 0.636653959751 0.000000000000 +vt 0.121172465384 0.637733101845 0.000000000000 +vt 0.116183921695 0.616349458694 0.000000000000 +vt 0.120485514402 0.618173420429 0.000000000000 +vt 0.084196135402 0.636717438698 0.000000000000 +vt 0.084505945444 0.617743194103 0.000000000000 +vt 0.089589498937 0.618903636932 0.000000000000 +vt 0.089312784374 0.636993050575 0.000000000000 +vt 0.080862037838 0.637916862965 0.000000000000 +vt 0.081022799015 0.618841469288 0.000000000000 +vt 0.085008040071 0.598570287228 0.000000000000 +vt 0.090116359293 0.599607348442 0.000000000000 +vt 0.081807009876 0.598996996880 0.000000000000 +vt 0.086025521159 0.666380286217 0.000000000000 +vt 0.083288080990 0.667724907398 0.000000000000 +vt 0.115721911192 0.657637059689 0.000000000000 +vt 0.091839924455 0.665398180485 0.000000000000 +vt 0.112071022391 0.636431932449 0.000000000000 +vt 0.116621181369 0.598775207996 0.000000000000 +vt 0.122074656188 0.598256886005 0.000000000000 +vt 0.117822155356 0.580991744995 0.000000000000 +vt 0.122807092965 0.579663336277 0.000000000000 +vt 0.118204921484 0.561226546764 0.000000000000 +vt 0.122930236161 0.561480045319 0.000000000000 +vt 0.086409181356 0.580696821213 0.000000000000 +vt 0.088303416967 0.563481450081 0.000000000000 +vt 0.092769816518 0.562017738819 0.000000000000 +vt 0.090972624719 0.580980956554 0.000000000000 +vt 0.112636163831 0.581119179726 0.000000000000 +vt 0.110782906413 0.597800493240 0.000000000000 +vt 0.092613331974 0.689584314823 0.000000000000 +vt 0.099071905017 0.688045859337 0.000000000000 +vt 0.108099728823 0.710213482380 0.000000000000 +vt 0.102641746402 0.710727512836 0.000000000000 +vt 0.099205419421 0.711480677128 0.000000000000 +vt 0.090210475028 0.691667914391 0.000000000000 +vt 0.112440273166 0.725039958954 0.000000000000 +vt 0.109685271978 0.733518600464 0.000000000000 +vt 0.120316430926 0.724148333073 0.000000000000 +vt 0.149469718337 0.716144502163 0.000000000000 +vt 0.083509407938 0.581079363823 0.000000000000 +vt 0.085539408028 0.563082933426 0.000000000000 +vt 0.091403126717 0.541651070118 0.000000000000 +vt 0.135661408305 0.562481999397 0.000000000000 +vt 0.112166255713 0.617554724216 0.000000000000 +vt 0.115233764052 0.561244547367 0.000000000000 +vt 0.124406136572 0.679192543030 0.000000000000 +vt 0.135345742106 0.699786543846 0.000000000000 +vt 0.124257989228 0.753876924515 0.000000000000 +vt 0.128552585840 0.751157760620 0.000000000000 +vt 0.165847733617 0.731854498386 0.000000000000 +vt 0.135802805424 0.748261570930 0.000000000000 +vt 0.166685536504 0.724866151810 0.000000000000 +vt 0.170482099056 0.722631275654 0.000000000000 +vt 0.118092343211 0.538387894630 0.000000000000 +vt 0.120958782732 0.537692189217 0.000000000000 +vt 0.098085269332 0.540873169899 0.000000000000 +vt 0.094365492463 0.541822671890 0.000000000000 +vt 0.132603570819 0.540962100029 0.000000000000 +vt 0.113834425807 0.538623392582 0.000000000000 +vt 0.319482028484 0.899047315121 0.000000000000 +vt 0.309817373753 0.903006970882 0.000000000000 +vt 0.303308844566 0.883904874325 0.000000000000 +vt 0.314649820328 0.880987823009 0.000000000000 +vt 0.328109025955 0.880558192730 0.000000000000 +vt 0.328658103943 0.897744834423 0.000000000000 +vt 0.341684728861 0.882348120213 0.000000000000 +vt 0.338721781969 0.899649322033 0.000000000000 +vt 0.355538994074 0.885123133659 0.000000000000 +vt 0.346919715405 0.902684092522 0.000000000000 +vt 0.264496624470 0.923883795738 0.000000000000 +vt 0.285223543644 0.930731534958 0.000000000000 +vt 0.267435461283 0.909074544907 0.000000000000 +vt 0.288075894117 0.921931266785 0.000000000000 +vt 0.274401426315 0.897557139397 0.000000000000 +vt 0.292297661304 0.914312303066 0.000000000000 +vt 0.287088751793 0.890229046345 0.000000000000 +vt 0.300147175789 0.908530831337 0.000000000000 +vt 0.310877472162 0.867308914661 0.000000000000 +vt 0.326778471470 0.865757822990 0.000000000000 +vt 0.343281567097 0.865718007088 0.000000000000 +vt 0.361255347729 0.866305887699 0.000000000000 +vt 0.245798677206 0.914549648762 0.000000000000 +vt 0.250797957182 0.897025287151 0.000000000000 +vt 0.263053983450 0.883340418339 0.000000000000 +vt 0.278658270836 0.875975549221 0.000000000000 +vt 0.297883272171 0.872081577778 0.000000000000 +vt 0.321375846863 0.908167660236 0.000000000000 +vt 0.313384771347 0.911024928093 0.000000000000 +vt 0.312286227942 0.907532513142 0.000000000000 +vt 0.320597171783 0.903883635998 0.000000000000 +vt 0.329484283924 0.906974732876 0.000000000000 +vt 0.329025387764 0.902560055256 0.000000000000 +vt 0.335602283478 0.907388985157 0.000000000000 +vt 0.336900919676 0.903732657433 0.000000000000 +vt 0.340975165367 0.909342050552 0.000000000000 +vt 0.344243913889 0.905984163284 0.000000000000 +vt 0.292275160551 0.931756854057 0.000000000000 +vt 0.288374781609 0.931339025497 0.000000000000 +vt 0.294533699751 0.926007986069 0.000000000000 +vt 0.291681826115 0.923927128315 0.000000000000 +vt 0.298611998558 0.919755756855 0.000000000000 +vt 0.295432448387 0.917401850224 0.000000000000 +vt 0.304809689522 0.915081322193 0.000000000000 +vt 0.302478045225 0.912388324738 0.000000000000 +vt 0.309649169445 0.859347939491 0.000000000000 +vt 0.325541138649 0.857225894928 0.000000000000 +vt 0.326330006123 0.861102938652 0.000000000000 +vt 0.309487581253 0.863262355328 0.000000000000 +vt 0.341508537531 0.857451260090 0.000000000000 +vt 0.343136012554 0.863369047642 0.000000000000 +vt 0.356366693974 0.855853736401 0.000000000000 +vt 0.360483229160 0.861095964909 0.000000000000 +vt 0.237906411290 0.910131931305 0.000000000000 +vt 0.242411300540 0.912403225899 0.000000000000 +vt 0.243345454335 0.892147541046 0.000000000000 +vt 0.247076600790 0.894490242004 0.000000000000 +vt 0.255101680756 0.878566741943 0.000000000000 +vt 0.258435934782 0.881105363369 0.000000000000 +vt 0.274271398783 0.868584036827 0.000000000000 +vt 0.276469051838 0.872065901756 0.000000000000 +vt 0.295189887285 0.862639725208 0.000000000000 +vt 0.297131747007 0.866627097130 0.000000000000 +vt 0.264509558678 0.939163446426 0.000000000000 +vt 0.284231007099 0.939391553402 0.000000000000 +vt 0.245086982846 0.933630704880 0.000000000000 +vt 0.292607039213 0.937922894955 0.000000000000 +vt 0.288247227669 0.939458549023 0.000000000000 +vt 0.234031543136 0.927958786488 0.000000000000 +vt 0.239948898554 0.931120336056 0.000000000000 +vt 0.303108215332 0.259901374578 0.000000000000 +vt 0.299691259861 0.272608458996 0.000000000000 +vt 0.227741092443 0.179622754455 0.000000000000 +vt 0.241408705711 0.177819043398 0.000000000000 +vt 0.288645803928 0.272444993258 0.000000000000 +vt 0.249047771096 0.186873659492 0.000000000000 +vt 0.294585645199 0.259171187878 0.000000000000 +vt 0.304501682520 0.254701167345 0.000000000000 +vt 0.313444852829 0.253634393215 0.000000000000 +vt 0.312482535839 0.259582310915 0.000000000000 +vt 0.296862632036 0.254683613777 0.000000000000 +vt 0.286406427622 0.256932258606 0.000000000000 +vt 0.289906680584 0.252584934235 0.000000000000 +vt 0.279214531183 0.252052009106 0.000000000000 +vt 0.283777058125 0.248220309615 0.000000000000 +vt 0.278458207846 0.270513832569 0.000000000000 +vt 0.212318181992 0.149050965905 0.000000000000 +vt 0.220562011003 0.146735697985 0.000000000000 +vt 0.222703933716 0.152291625738 0.000000000000 +vt 0.213263839483 0.154687494040 0.000000000000 +vt 0.203408792615 0.155836462975 0.000000000000 +vt 0.203189268708 0.150103569031 0.000000000000 +vt 0.193548575044 0.156050369143 0.000000000000 +vt 0.193696498871 0.150199025869 0.000000000000 +vt 0.183689251542 0.155369937420 0.000000000000 +vt 0.184210494161 0.149640426040 0.000000000000 +vt 0.193191483617 0.169719755650 0.000000000000 +vt 0.182228907943 0.169336318970 0.000000000000 +vt 0.268187999725 0.265260279179 0.000000000000 +vt 0.324253201485 0.252125859261 0.000000000000 +vt 0.231818437576 0.195312470198 0.000000000000 +vt 0.212309181690 0.181552782655 0.000000000000 +vt 0.213149681687 0.200687378645 0.000000000000 +vt 0.197734892368 0.182133242488 0.000000000000 +vt 0.196059510112 0.201420485973 0.000000000000 +vt 0.178108111024 0.197619631886 0.000000000000 +vt 0.184773385525 0.179257780313 0.000000000000 +vt 0.193671286106 0.220274075866 0.000000000000 +vt 0.204073458910 0.169701069593 0.000000000000 +vt 0.171984791756 0.217511638999 0.000000000000 +vt 0.196902945638 0.242536947131 0.000000000000 +vt 0.323984831572 0.258038192987 0.000000000000 +vt 0.310539454222 0.271224856377 0.000000000000 +vt 0.324096947908 0.268115252256 0.000000000000 +vt 0.339193135500 0.265587210655 0.000000000000 +vt 0.336792320013 0.254855424166 0.000000000000 +vt 0.340972989798 0.271843373775 0.000000000000 +vt 0.325516790152 0.274833887815 0.000000000000 +vt 0.313507229090 0.275261014700 0.000000000000 +vt 0.171768411994 0.240901872516 0.000000000000 +vt 0.215576186776 0.241010859609 0.000000000000 +vt 0.215113937855 0.219385609031 0.000000000000 +vt 0.179179176688 0.179597318172 0.000000000000 +vt 0.354237109423 0.261272788048 0.000000000000 +vt 0.356365293264 0.266201436520 0.000000000000 +vt 0.348684787750 0.251001656055 0.000000000000 +vt 0.335720360279 0.249260529876 0.000000000000 +vt 0.346057444811 0.245707139373 0.000000000000 +vt 0.367124110460 0.254228800535 0.000000000000 +vt 0.359250634909 0.246444091201 0.000000000000 +vt 0.355434030294 0.241601213813 0.000000000000 +vt 0.369936972857 0.258326172829 0.000000000000 +vt 0.169737070799 0.113030180335 0.000000000000 +vt 0.170575097203 0.120991900563 0.000000000000 +vt 0.297219276428 0.135332033038 0.000000000000 +vt 0.283211469650 0.234442397952 0.000000000000 +vt 0.292599529028 0.237945362926 0.000000000000 +vt 0.298478573561 0.140298739076 0.000000000000 +vt 0.290076673031 0.243708446622 0.000000000000 +vt 0.282434672117 0.239781066775 0.000000000000 +vt 0.305352568626 0.241858348250 0.000000000000 +vt 0.303028285503 0.248206838965 0.000000000000 +vt 0.324729174376 0.241821423173 0.000000000000 +vt 0.321562141180 0.249174103141 0.000000000000 +vt 0.347120851278 0.237402305007 0.000000000000 +vt 0.343635231256 0.232021078467 0.000000000000 +vt 0.357544183731 0.220489770174 0.000000000000 +vt 0.362244993448 0.226528212428 0.000000000000 +vt 0.363515973091 0.202669411898 0.000000000000 +vt 0.368934571743 0.200474381447 0.000000000000 +vt 0.344842731953 0.210690349340 0.000000000000 +vt 0.342417836189 0.185361966491 0.000000000000 +vt 0.364349514246 0.181216180325 0.000000000000 +vt 0.324543416500 0.218253985047 0.000000000000 +vt 0.321842014790 0.191119849682 0.000000000000 +vt 0.337232500315 0.165248394012 0.000000000000 +vt 0.356791496277 0.164284512401 0.000000000000 +vt 0.332506477833 0.147537469864 0.000000000000 +vt 0.347481101751 0.153085976839 0.000000000000 +vt 0.318637371063 0.169776722789 0.000000000000 +vt 0.312718063593 0.146633028984 0.000000000000 +vt 0.370308697224 0.181861028075 0.000000000000 +vt 0.360243141651 0.161985456944 0.000000000000 +vt 0.304652988911 0.221441268921 0.000000000000 +vt 0.303939700127 0.197721183300 0.000000000000 +vt 0.289470791817 0.148055776954 0.000000000000 +vt 0.285560518503 0.142270863056 0.000000000000 +vt 0.291176348925 0.221764370799 0.000000000000 +vt 0.288291871548 0.203909799457 0.000000000000 +vt 0.276085317135 0.156505629420 0.000000000000 +vt 0.272780030966 0.150750204921 0.000000000000 +vt 0.258125126362 0.158074513078 0.000000000000 +vt 0.260224252939 0.163233041763 0.000000000000 +vt 0.243465483189 0.162214890122 0.000000000000 +vt 0.243714034557 0.151190385222 0.000000000000 +vt 0.254636585712 0.146920993924 0.000000000000 +vt 0.229478836060 0.163604542613 0.000000000000 +vt 0.233701616526 0.153107583523 0.000000000000 +vt 0.167218700051 0.121271774173 0.000000000000 +vt 0.166369423270 0.112692907453 0.000000000000 +vt 0.243073940277 0.145069316030 0.000000000000 +vt 0.252761274576 0.141263067722 0.000000000000 +vt 0.263089358807 0.136896863580 0.000000000000 +vt 0.266313344240 0.141587063670 0.000000000000 +vt 0.277861565351 0.135119035840 0.000000000000 +vt 0.273413181305 0.131129965186 0.000000000000 +vt 0.282169669867 0.124930545688 0.000000000000 +vt 0.287077844143 0.128512978554 0.000000000000 +vt 0.289280533791 0.119594141841 0.000000000000 +vt 0.293950706720 0.122467115521 0.000000000000 +vt 0.168387711048 0.136361449957 0.000000000000 +vt 0.172123029828 0.133879333735 0.000000000000 +vt 0.159614548087 0.137594163418 0.000000000000 +vt 0.170139640570 0.142349898815 0.000000000000 +vt 0.159916698933 0.145990878344 0.000000000000 +vt 0.175263956189 0.137986391783 0.000000000000 +vt 0.158946737647 0.121140733361 0.000000000000 +vt 0.158538520336 0.111063912511 0.000000000000 +vt 0.150848120451 0.113286182284 0.000000000000 +vt 0.147537663579 0.113875642419 0.000000000000 +vt 0.150810301304 0.122010722756 0.000000000000 +vt 0.150818631053 0.137049511075 0.000000000000 +vt 0.146893724799 0.134909197688 0.000000000000 +vt 0.234794318676 0.147171825171 0.000000000000 +vt 0.280413031578 0.223018944263 0.000000000000 +vt 0.244322419167 0.167136326432 0.000000000000 +vt 0.215430051088 0.169227793813 0.000000000000 +vt 0.276956439018 0.210102006793 0.000000000000 +vt 0.230842590332 0.168110579252 0.000000000000 +vt 0.304748684168 0.128483712673 0.000000000000 +vt 0.319317579269 0.112706646323 0.000000000000 +vt 0.304126799107 0.108920201659 0.000000000000 +vt 0.306201845407 0.100410684943 0.000000000000 +vt 0.324304103851 0.102940306067 0.000000000000 +vt 0.298506706953 0.108017548919 0.000000000000 +vt 0.227834999561 0.168783783913 0.000000000000 +vt 0.173827692866 0.153802856803 0.000000000000 +vt 0.164431959391 0.150985270739 0.000000000000 +vt 0.166879624128 0.145447134972 0.000000000000 +vt 0.175091713667 0.148140892386 0.000000000000 +vt 0.170737877488 0.168616726995 0.000000000000 +vt 0.158358171582 0.168257147074 0.000000000000 +vt 0.171079888940 0.173917546868 0.000000000000 +vt 0.298551976681 0.176225617528 0.000000000000 +vt 0.284409761429 0.187349408865 0.000000000000 +vt 0.278388887644 0.172707334161 0.000000000000 +vt 0.265587240458 0.188653051853 0.000000000000 +vt 0.263487190008 0.183533251286 0.000000000000 +vt 0.172304287553 0.195576354861 0.000000000000 +vt 0.166341051459 0.215843468904 0.000000000000 +vt 0.246410295367 0.175310358405 0.000000000000 +vt 0.253420293331 0.181435257196 0.000000000000 +vt 0.258993119001 0.199986010790 0.000000000000 +vt 0.238587737083 0.209960162640 0.000000000000 +vt 0.263290882111 0.194039210677 0.000000000000 +vt 0.244794785976 0.230162426829 0.000000000000 +vt 0.267062664032 0.219509899616 0.000000000000 +vt 0.265724569559 0.241132006049 0.000000000000 +vt 0.247063919902 0.252580881119 0.000000000000 +vt 0.260249704123 0.258537381887 0.000000000000 +vt 0.247949019074 0.272692441940 0.000000000000 +vt 0.271840006113 0.241458699107 0.000000000000 +vt 0.267441391945 0.259758830070 0.000000000000 +vt 0.274886131287 0.221160054207 0.000000000000 +vt 0.248786136508 0.278353273869 0.000000000000 +vt 0.233543574810 0.288995474577 0.000000000000 +vt 0.228813290596 0.284420073032 0.000000000000 +vt 0.222581654787 0.263455659151 0.000000000000 +vt 0.201069429517 0.264848470688 0.000000000000 +vt 0.147332772613 0.121980324388 0.000000000000 +vt 0.149485930800 0.143096730113 0.000000000000 +vt 0.144085362554 0.139203354716 0.000000000000 +vt 0.274613022804 0.168164387345 0.000000000000 +vt 0.272586405277 0.198066562414 0.000000000000 +vt 0.292887955904 0.156603798270 0.000000000000 +vt 0.289811223745 0.151691362262 0.000000000000 +vt 0.308121502399 0.141383305192 0.000000000000 +vt 0.331666439772 0.141558468342 0.000000000000 +vt 0.346801817417 0.147019162774 0.000000000000 +vt 0.208444163203 0.284849673510 0.000000000000 +vt 0.207779288292 0.289209812880 0.000000000000 +vt 0.329524755478 0.248061582446 0.000000000000 +vt 0.180802538991 0.263033509254 0.000000000000 +vt 0.364997059107 0.218376457691 0.000000000000 +vt 0.185599476099 0.280001878738 0.000000000000 +vt 0.174449339509 0.263261795044 0.000000000000 +vt 0.192701548338 0.278811007738 0.000000000000 +vt 0.367429643869 0.175568386912 0.000000000000 +vt 0.166094049811 0.244550302625 0.000000000000 +vt 0.159377232194 0.173221364617 0.000000000000 +vt 0.182153701782 0.175170764327 0.000000000000 +vt 0.193075969815 0.175665423274 0.000000000000 +vt 0.313833713531 0.139958515763 0.000000000000 +vt 0.352484732866 0.149898454547 0.000000000000 +vt 0.203923046589 0.175497695804 0.000000000000 +vt 0.214893281460 0.174428433180 0.000000000000 +vt 0.226242244244 0.173432335258 0.000000000000 +vt 0.378087341785 0.245563969016 0.000000000000 +vt 0.380262136459 0.249743267894 0.000000000000 +vt 0.367841005325 0.240881398320 0.000000000000 +vt 0.362897038460 0.237351402640 0.000000000000 +vt 0.300132334232 0.100594177842 0.000000000000 +vt 0.299615830183 0.116130575538 0.000000000000 +vt 0.294845253229 0.114346668124 0.000000000000 +vt 0.312476694584 0.120818093419 0.000000000000 +vt 0.262099564075 0.265859633684 0.000000000000 +vt 0.271560132504 0.212059065700 0.000000000000 +vt 0.224148511887 0.289957106113 0.000000000000 +vt 0.191555723548 0.285657763481 0.000000000000 +vt 0.165448531508 0.236725702882 0.000000000000 +vt 0.048055123538 0.175203412771 0.000000000000 +vt 0.048704918474 0.175287619233 0.000000000000 +vt 0.049519758672 0.175945073366 0.000000000000 +vt 0.048962052912 0.176530927420 0.000000000000 +vt 0.048142258078 0.174550458789 0.000000000000 +vt 0.048840459436 0.174907326698 0.000000000000 +vt 0.048184361309 0.177168339491 0.000000000000 +vt 0.047785613686 0.175479233265 0.000000000000 +vt 0.050077687949 0.175508722663 0.000000000000 +vt 0.049611847848 0.173526674509 0.000000000000 +vt 0.050155591220 0.174321472645 0.000000000000 +vt 0.050484325737 0.174935474992 0.000000000000 +vt 0.049262631685 0.178634554148 0.000000000000 +vt 0.050630893558 0.177782341838 0.000000000000 +vt 0.053486991674 0.179326459765 0.000000000000 +vt 0.051250975579 0.172665014863 0.000000000000 +vt 0.052335549146 0.174432024360 0.000000000000 +vt 0.052290286869 0.172393932939 0.000000000000 +vt 0.060022119433 0.196368679404 0.000000000000 +vt 0.059825789183 0.195150136948 0.000000000000 +vt 0.062848724425 0.193425223231 0.000000000000 +vt 0.063640370965 0.194470614195 0.000000000000 +vt 0.057444769889 0.198157310486 0.000000000000 +vt 0.061123806983 0.204831123352 0.000000000000 +vt 0.054434444755 0.202152684331 0.000000000000 +vt 0.052125032991 0.196384206414 0.000000000000 +vt 0.065405808389 0.200892046094 0.000000000000 +vt 0.053650680929 0.194501906633 0.000000000000 +vt 0.071322210133 0.182865217328 0.000000000000 +vt 0.069051973522 0.180266022682 0.000000000000 +vt 0.072467572987 0.177512601018 0.000000000000 +vt 0.073771677911 0.182455211878 0.000000000000 +vt 0.046373885125 0.201640009880 0.000000000000 +vt 0.047620352358 0.205844104290 0.000000000000 +vt 0.044672172517 0.207344532013 0.000000000000 +vt 0.043322812766 0.201532378793 0.000000000000 +vt 0.048094075173 0.197172701359 0.000000000000 +vt 0.050799090415 0.203515991569 0.000000000000 +vt 0.043212261051 0.193465515971 0.000000000000 +vt 0.038478370756 0.209311038256 0.000000000000 +vt 0.037481162697 0.210909873247 0.000000000000 +vt 0.035782586783 0.208673626184 0.000000000000 +vt 0.036327917129 0.206941053271 0.000000000000 +vt 0.038885008544 0.211182534695 0.000000000000 +vt 0.037817772478 0.205236405134 0.000000000000 +vt 0.037915710360 0.216193586588 0.000000000000 +vt 0.036525826901 0.213128775358 0.000000000000 +vt 0.033292595297 0.211684182286 0.000000000000 +vt 0.032988864928 0.209396824241 0.000000000000 +vt 0.044357400388 0.213697507977 0.000000000000 +vt 0.040415156633 0.211841553450 0.000000000000 +vt 0.041487347335 0.208158016205 0.000000000000 +vt 0.042062167078 0.222331538796 0.000000000000 +vt 0.039700064808 0.219182297587 0.000000000000 +vt 0.046859998256 0.219299152493 0.000000000000 +vt 0.039277669042 0.216008275747 0.000000000000 +vt 0.090955741704 0.182833924890 0.000000000000 +vt 0.095942027867 0.185236781836 0.000000000000 +vt 0.091125510633 0.186936691403 0.000000000000 +vt 0.090062774718 0.185735270381 0.000000000000 +vt 0.091737933457 0.190855517983 0.000000000000 +vt 0.087909393013 0.188273668289 0.000000000000 +vt 0.096602633595 0.188918739557 0.000000000000 +vt 0.094589523971 0.190106213093 0.000000000000 +vt 0.088805288076 0.195824697614 0.000000000000 +vt 0.085034608841 0.192018002272 0.000000000000 +vt 0.037808310241 0.218160092831 0.000000000000 +vt 0.101674705744 0.180272325873 0.000000000000 +vt 0.108147457242 0.181930154562 0.000000000000 +vt 0.084888033569 0.212164208293 0.000000000000 +vt 0.086827971041 0.209401324391 0.000000000000 +vt 0.092867530882 0.213331192732 0.000000000000 +vt 0.090507008135 0.217772141099 0.000000000000 +vt 0.078402668238 0.211174651980 0.000000000000 +vt 0.081946156919 0.206284955144 0.000000000000 +vt 0.064126476645 0.226784884930 0.000000000000 +vt 0.059163603932 0.221614643931 0.000000000000 +vt 0.063531167805 0.218933045864 0.000000000000 +vt 0.066850177944 0.224536255002 0.000000000000 +vt 0.058718021959 0.224759161472 0.000000000000 +vt 0.052740599960 0.222449973226 0.000000000000 +vt 0.051313344389 0.218079030514 0.000000000000 +vt 0.056304361671 0.215266615152 0.000000000000 +vt 0.052650313824 0.225943475962 0.000000000000 +vt 0.101671561599 0.191067621112 0.000000000000 +vt 0.102857217193 0.187916800380 0.000000000000 +vt 0.090246729553 0.206087037921 0.000000000000 +vt 0.085568904877 0.202257156372 0.000000000000 +vt 0.091549478471 0.199667423964 0.000000000000 +vt 0.092842765152 0.201647892594 0.000000000000 +vt 0.092551417649 0.205803573132 0.000000000000 +vt 0.094774819911 0.209103897214 0.000000000000 +vt 0.094059728086 0.210680663586 0.000000000000 +vt 0.095144078135 0.195538073778 0.000000000000 +vt 0.099691078067 0.194344520569 0.000000000000 +vt 0.099405810237 0.196164458990 0.000000000000 +vt 0.099158152938 0.198102816939 0.000000000000 +vt 0.095910727978 0.198648139834 0.000000000000 +vt 0.040310692042 0.223760381341 0.000000000000 +vt 0.038051482290 0.225095763803 0.000000000000 +vt 0.039297934622 0.221828088164 0.000000000000 +vt 0.048715729266 0.226211413741 0.000000000000 +vt 0.048271726817 0.223471954465 0.000000000000 +vt 0.054012056440 0.227152556181 0.000000000000 +vt 0.051328878850 0.229439899325 0.000000000000 +vt 0.050317708403 0.229129895568 0.000000000000 +vt 0.048270147294 0.228640601039 0.000000000000 +vt 0.040398042649 0.225845307112 0.000000000000 +vt 0.043110940605 0.225429221988 0.000000000000 +vt 0.043746557087 0.226806730032 0.000000000000 +vt 0.041524719447 0.227182060480 0.000000000000 +vt 0.039583209902 0.227637097239 0.000000000000 +vt 0.037672769278 0.226903319359 0.000000000000 +vt 0.033523153514 0.225719004869 0.000000000000 +vt 0.036088127643 0.224684417248 0.000000000000 +vt 0.036136310548 0.226817533374 0.000000000000 +vt 0.034433234483 0.227448642254 0.000000000000 +vt 0.027782825753 0.229924663901 0.000000000000 +vt 0.030765233561 0.223758801818 0.000000000000 +vt 0.030333613977 0.231470361352 0.000000000000 +vt 0.110832214355 0.191612944007 0.000000000000 +vt 0.111078530550 0.184968620539 0.000000000000 +vt 0.106155976653 0.192477762699 0.000000000000 +vt 0.041945312172 0.228952214122 0.000000000000 +vt 0.038930263370 0.230628952384 0.000000000000 +vt 0.041834760457 0.232057794929 0.000000000000 +vt 0.044282648712 0.228836938739 0.000000000000 +vt 0.044818740338 0.232165411115 0.000000000000 +vt 0.039072107524 0.234580442309 0.000000000000 +vt 0.036424513906 0.232783898711 0.000000000000 +vt 0.106855750084 0.201680526137 0.000000000000 +vt 0.103606760502 0.198020190001 0.000000000000 +vt 0.104195758700 0.196577385068 0.000000000000 +vt 0.107200011611 0.198694974184 0.000000000000 +vt 0.109750792384 0.200388818979 0.000000000000 +vt 0.109513923526 0.203364923596 0.000000000000 +vt 0.105775907636 0.203093826771 0.000000000000 +vt 0.102690592408 0.199908792973 0.000000000000 +vt 0.050538811833 0.243682101369 0.000000000000 +vt 0.048396233469 0.240920796990 0.000000000000 +vt 0.048424374312 0.237581744790 0.000000000000 +vt 0.051719974726 0.241248175502 0.000000000000 +vt 0.046845819801 0.239993855357 0.000000000000 +vt 0.108550950885 0.195103302598 0.000000000000 +vt 0.107877954841 0.196638181806 0.000000000000 +vt 0.104663178325 0.194704324007 0.000000000000 +vt 0.111446216702 0.196098938584 0.000000000000 +vt 0.110371097922 0.198414430022 0.000000000000 +vt 0.033939246088 0.229781255126 0.000000000000 +vt 0.032943610102 0.235806867480 0.000000000000 +vt 0.036778222769 0.228347703815 0.000000000000 +vt 0.026748239994 0.237935468554 0.000000000000 +vt 0.029005868360 0.239583835006 0.000000000000 +vt 0.024600934237 0.235979780555 0.000000000000 +vt 0.036203410476 0.237542793155 0.000000000000 +vt 0.047933544964 0.242292001843 0.000000000000 +vt 0.048371467739 0.243713185191 0.000000000000 +vt 0.047026615590 0.242233023047 0.000000000000 +vt 0.047408472747 0.243272319436 0.000000000000 +vt 0.112042874098 0.199774816632 0.000000000000 +vt 0.112708196044 0.198945805430 0.000000000000 +vt 0.112421587110 0.201317355037 0.000000000000 +vt 0.115999296308 0.201012045145 0.000000000000 +vt 0.047676410526 0.245324388146 0.000000000000 +vt 0.046835009009 0.243697628379 0.000000000000 +vt 0.046366009861 0.242653593421 0.000000000000 +vt 0.116282775998 0.196683213115 0.000000000000 +vt 0.054629202932 0.245314940810 0.000000000000 +vt 0.055006336421 0.243421837687 0.000000000000 +vt 0.054401572794 0.246826633811 0.000000000000 +vt 0.049971643835 0.245547279716 0.000000000000 +vt 0.045614894480 0.244002953172 0.000000000000 +vt 0.046210203320 0.243990585208 0.000000000000 +vt 0.046083893627 0.245279118419 0.000000000000 +vt 0.044977705926 0.244760379195 0.000000000000 +vt 0.044843737036 0.243163123727 0.000000000000 +vt 0.045724090189 0.242940440774 0.000000000000 +vt 0.044279497117 0.243847146630 0.000000000000 +vt 0.042543780059 0.243463918567 0.000000000000 +vt 0.042998816818 0.241575345397 0.000000000000 +vt 0.043060954660 0.245589390397 0.000000000000 +vt 0.050320636481 0.250064343214 0.000000000000 +vt 0.046863149852 0.247579082847 0.000000000000 +vt 0.044486861676 0.247248783708 0.000000000000 +vt 0.115950897336 0.205869093537 0.000000000000 +vt 0.111902818084 0.203687563539 0.000000000000 +vt 0.067590266466 0.245651528239 0.000000000000 +vt 0.060156088322 0.247964099050 0.000000000000 +vt 0.059522051364 0.246006831527 0.000000000000 +vt 0.064255714417 0.241894826293 0.000000000000 +vt 0.075842648745 0.243643149734 0.000000000000 +vt 0.076406665146 0.251217573881 0.000000000000 +vt 0.068737201393 0.251990318298 0.000000000000 +vt 0.061447802931 0.252729058266 0.000000000000 +vt 0.101252302527 0.229214087129 0.000000000000 +vt 0.107055231929 0.225204750896 0.000000000000 +vt 0.110550090671 0.228503510356 0.000000000000 +vt 0.103125378489 0.234605416656 0.000000000000 +vt 0.093981824815 0.227124422789 0.000000000000 +vt 0.102826148272 0.221592798829 0.000000000000 +vt 0.093353867531 0.237001970410 0.000000000000 +vt 0.031605061144 0.248132273555 0.000000000000 +vt 0.033780287951 0.241846427321 0.000000000000 +vt 0.038934987038 0.242647275329 0.000000000000 +vt 0.038883429021 0.246692433953 0.000000000000 +vt 0.040764149278 0.250432223082 0.000000000000 +vt 0.034480068833 0.253740221262 0.000000000000 +vt 0.026098441333 0.256615221500 0.000000000000 +vt 0.024784889072 0.253078043461 0.000000000000 +vt 0.027103310451 0.246195510030 0.000000000000 +vt 0.022952351719 0.252045035362 0.000000000000 +vt 0.043932076544 0.254584789276 0.000000000000 +vt 0.049854788929 0.255521208048 0.000000000000 +vt 0.035871531814 0.256568402052 0.000000000000 +vt 0.127526775002 0.205384328961 0.000000000000 +vt 0.129298523068 0.208109617233 0.000000000000 +vt 0.124919943511 0.212541341782 0.000000000000 +vt 0.122282020748 0.208313822746 0.000000000000 +vt 0.130605995655 0.199026852846 0.000000000000 +vt 0.134021386504 0.202176094055 0.000000000000 +vt 0.123184211552 0.201524719596 0.000000000000 +vt 0.043590750545 0.262480288744 0.000000000000 +vt 0.045658569783 0.265317708254 0.000000000000 +vt 0.042624827474 0.268781721592 0.000000000000 +vt 0.040003802627 0.268262714148 0.000000000000 +vt 0.049783188850 0.260548025370 0.000000000000 +vt 0.050202202052 0.262952446938 0.000000000000 +vt 0.035101722926 0.267388671637 0.000000000000 +vt 0.036307651550 0.262090772390 0.000000000000 +vt 0.158384069800 0.177545472980 0.000000000000 +vt 0.163128763437 0.177713662386 0.000000000000 +vt 0.161081433296 0.184286177158 0.000000000000 +vt 0.155855119228 0.182891562581 0.000000000000 +vt 0.030163845047 0.266456753016 0.000000000000 +vt 0.028748972341 0.262917995453 0.000000000000 +vt 0.152635857463 0.180741325021 0.000000000000 +vt 0.156146481633 0.174547314644 0.000000000000 +vt 0.108293592930 0.175105020404 0.000000000000 +vt 0.103180319071 0.172587782145 0.000000000000 +vt 0.102925881743 0.166502520442 0.000000000000 +vt 0.107659325004 0.167699888349 0.000000000000 +vt 0.091472923756 0.255974650383 0.000000000000 +vt 0.083825305104 0.257546931505 0.000000000000 +vt 0.084012404084 0.249293193221 0.000000000000 +vt 0.091871894896 0.246349737048 0.000000000000 +vt 0.112725540996 0.167742446065 0.000000000000 +vt 0.113225832582 0.171109184623 0.000000000000 +vt 0.035772006959 0.183283552527 0.000000000000 +vt 0.035782817751 0.183923900127 0.000000000000 +vt 0.033255446702 0.184070467949 0.000000000000 +vt 0.033405173570 0.183254063129 0.000000000000 +vt 0.038481753320 0.182127386332 0.000000000000 +vt 0.038974162191 0.182417154312 0.000000000000 +vt 0.034431885928 0.181669190526 0.000000000000 +vt 0.036685016006 0.180374324322 0.000000000000 +vt 0.144137382507 0.199537962675 0.000000000000 +vt 0.139657467604 0.194585889578 0.000000000000 +vt 0.144188717008 0.186229258776 0.000000000000 +vt 0.148093581200 0.188943728805 0.000000000000 +vt 0.136400818825 0.206110462546 0.000000000000 +vt 0.153703317046 0.190900772810 0.000000000000 +vt 0.151239663363 0.198920801282 0.000000000000 +vt 0.150279834867 0.205067992210 0.000000000000 +vt 0.143856838346 0.206392586231 0.000000000000 +vt 0.163417190313 0.198642060161 0.000000000000 +vt 0.164253860712 0.202018722892 0.000000000000 +vt 0.160158962011 0.199008166790 0.000000000000 +vt 0.162906080484 0.192356184125 0.000000000000 +vt 0.165629789233 0.191846653819 0.000000000000 +vt 0.028680523857 0.176149964333 0.000000000000 +vt 0.028775541112 0.179067075253 0.000000000000 +vt 0.027133254334 0.179045230150 0.000000000000 +vt 0.026841904968 0.175766751170 0.000000000000 +vt 0.107328131795 0.163071155548 0.000000000000 +vt 0.102894365788 0.161774039268 0.000000000000 +vt 0.103162080050 0.158067077398 0.000000000000 +vt 0.107190564275 0.158765062690 0.000000000000 +vt 0.034622143954 0.168636307120 0.000000000000 +vt 0.034757684916 0.167032986879 0.000000000000 +vt 0.037417437881 0.167039290071 0.000000000000 +vt 0.036150719970 0.169255033135 0.000000000000 +vt 0.032856475562 0.170001432300 0.000000000000 +vt 0.031410526484 0.168317034841 0.000000000000 +vt 0.071371294558 0.162234246731 0.000000000000 +vt 0.072683498263 0.160097971559 0.000000000000 +vt 0.074752002954 0.160783797503 0.000000000000 +vt 0.072475455701 0.163342237473 0.000000000000 +vt 0.070219628513 0.164971008897 0.000000000000 +vt 0.067989014089 0.162172779441 0.000000000000 +vt 0.070951156318 0.158560618758 0.000000000000 +vt 0.071128129959 0.166468963027 0.000000000000 +vt 0.069623641670 0.166651114821 0.000000000000 +vt 0.052506666631 0.160904929042 0.000000000000 +vt 0.057779353112 0.165149331093 0.000000000000 +vt 0.056724499911 0.167911082506 0.000000000000 +vt 0.050493102521 0.165551453829 0.000000000000 +vt 0.060259658843 0.168007910252 0.000000000000 +vt 0.059231828898 0.159990578890 0.000000000000 +vt 0.061392862350 0.158380940557 0.000000000000 +vt 0.063771635294 0.161536499858 0.000000000000 +vt 0.063607268035 0.163274914026 0.000000000000 +vt 0.055211450905 0.155678853393 0.000000000000 +vt 0.057744000107 0.153191789985 0.000000000000 +vt 0.058993611485 0.163293376565 0.000000000000 +vt 0.053434979171 0.158556342125 0.000000000000 +vt 0.064857780933 0.162417531013 0.000000000000 +vt 0.064824908972 0.161404550076 0.000000000000 +vt 0.031159481034 0.208711221814 0.000000000000 +vt 0.030880516395 0.210443794727 0.000000000000 +vt 0.029724342749 0.204800054431 0.000000000000 +vt 0.031837198883 0.204756379128 0.000000000000 +vt 0.128212377429 0.176210075617 0.000000000000 +vt 0.128955841064 0.177864745259 0.000000000000 +vt 0.126242950559 0.177906855941 0.000000000000 +vt 0.125418648124 0.176409572363 0.000000000000 +vt 0.129953056574 0.174939975142 0.000000000000 +vt 0.130758658051 0.176998347044 0.000000000000 +vt 0.121036924422 0.175653725863 0.000000000000 +vt 0.121420361102 0.178308978677 0.000000000000 +vt 0.123617418110 0.183743998408 0.000000000000 +vt 0.117588669062 0.183899804950 0.000000000000 +vt 0.115403994918 0.191726654768 0.000000000000 +vt 0.122710488737 0.192234605551 0.000000000000 +vt 0.123056329787 0.196519747376 0.000000000000 +vt 0.128924548626 0.189431414008 0.000000000000 +vt 0.129672512412 0.193513929844 0.000000000000 +vt 0.133775278926 0.185372322798 0.000000000000 +vt 0.134995400906 0.187966778874 0.000000000000 +vt 0.136989831924 0.191276341677 0.000000000000 +vt 0.139916166663 0.181990936399 0.000000000000 +vt 0.141775041819 0.183941915631 0.000000000000 +vt 0.145468041301 0.175736352801 0.000000000000 +vt 0.147888004780 0.177232280374 0.000000000000 +vt 0.149156302214 0.178392961621 0.000000000000 +vt 0.151406511664 0.170416608453 0.000000000000 +vt 0.153140649199 0.171435669065 0.000000000000 +vt 0.026889864355 0.258701503277 0.000000000000 +vt 0.148213580251 0.169269666076 0.000000000000 +vt 0.138399973512 0.180339202285 0.000000000000 +vt 0.143568634987 0.174784168601 0.000000000000 +vt 0.146306514740 0.170045778155 0.000000000000 +vt 0.137052193284 0.178213953972 0.000000000000 +vt 0.141616314650 0.173843026161 0.000000000000 +vt 0.144707694650 0.169350728393 0.000000000000 +vt 0.021730657667 0.250446200371 0.000000000000 +vt 0.024742785841 0.244501665235 0.000000000000 +vt 0.018961701542 0.249092146754 0.000000000000 +vt 0.022073570639 0.243767663836 0.000000000000 +vt 0.023706618696 0.235825523734 0.000000000000 +vt 0.027095658705 0.229019328952 0.000000000000 +vt 0.029609059915 0.222379729152 0.000000000000 +vt 0.030542327091 0.216693878174 0.000000000000 +vt 0.033057313412 0.217472910881 0.000000000000 +vt 0.087314084172 0.175335809588 0.000000000000 +vt 0.094248183072 0.178092375398 0.000000000000 +vt 0.092181935906 0.179499372840 0.000000000000 +vt 0.085963152349 0.177274391055 0.000000000000 +vt 0.081338465214 0.174150139093 0.000000000000 +vt 0.082193829119 0.172002837062 0.000000000000 +vt 0.076521947980 0.167970299721 0.000000000000 +vt 0.077380686998 0.167476311326 0.000000000000 +vt 0.081656381488 0.178617432714 0.000000000000 +vt 0.077681265771 0.174922868609 0.000000000000 +vt 0.087579086423 0.180975034833 0.000000000000 +vt 0.074853092432 0.169260442257 0.000000000000 +vt 0.079015091062 0.179725423455 0.000000000000 +vt 0.076188489795 0.181088745594 0.000000000000 +vt 0.074826754630 0.175708204508 0.000000000000 +vt 0.082938641310 0.183109730482 0.000000000000 +vt 0.078197099268 0.184789612889 0.000000000000 +vt 0.070867173374 0.171145886183 0.000000000000 +vt 0.073829539120 0.169667065144 0.000000000000 +vt 0.031271602958 0.196384206414 0.000000000000 +vt 0.033982921392 0.194425582886 0.000000000000 +vt 0.037058766931 0.199865102768 0.000000000000 +vt 0.034688781947 0.202102705836 0.000000000000 +vt 0.033738177270 0.202948838472 0.000000000000 +vt 0.030448889360 0.197130590677 0.000000000000 +vt 0.028569748625 0.198085710406 0.000000000000 +vt 0.036571081728 0.216693878174 0.000000000000 +vt 0.033219423145 0.214136794209 0.000000000000 +vt 0.035667311400 0.220581635833 0.000000000000 +vt 0.030702864751 0.212936937809 0.000000000000 +vt 0.037512231618 0.221022486687 0.000000000000 +vt 0.039851140231 0.198102816939 0.000000000000 +vt 0.041124176234 0.203433588147 0.000000000000 +vt 0.037788044661 0.191379234195 0.000000000000 +vt 0.041217606515 0.195904180408 0.000000000000 +vt 0.067828707397 0.174960240722 0.000000000000 +vt 0.038927104324 0.189132183790 0.000000000000 +vt 0.041049417108 0.184728831053 0.000000000000 +vt 0.043036188930 0.186458468437 0.000000000000 +vt 0.065335564315 0.175491616130 0.000000000000 +vt 0.064928933978 0.179175376892 0.000000000000 +vt 0.059944216162 0.177007809281 0.000000000000 +vt 0.060216885060 0.175005495548 0.000000000000 +vt 0.055878814310 0.175014957786 0.000000000000 +vt 0.064486503601 0.180831611156 0.000000000000 +vt 0.059665244073 0.178134486079 0.000000000000 +vt 0.055603001267 0.176066651940 0.000000000000 +vt 0.059327062219 0.179134845734 0.000000000000 +vt 0.054891061038 0.176806747913 0.000000000000 +vt 0.052252914757 0.175443425775 0.000000000000 +vt 0.054579224437 0.177642062306 0.000000000000 +vt 0.051933418959 0.176275372505 0.000000000000 +vt 0.054217841476 0.178369775414 0.000000000000 +vt 0.051375713199 0.176691457629 0.000000000000 +vt 0.058970417827 0.180060461164 0.000000000000 +vt 0.058582257479 0.180961072445 0.000000000000 +vt 0.057680051774 0.181828826666 0.000000000000 +vt 0.062502883375 0.183891922235 0.000000000000 +vt 0.061697278172 0.184658572078 0.000000000000 +vt 0.050166402012 0.187552273273 0.000000000000 +vt 0.051037531346 0.187452524900 0.000000000000 +vt 0.054431293160 0.193168088794 0.000000000000 +vt 0.049586858600 0.182190433145 0.000000000000 +vt 0.049161311239 0.182690724730 0.000000000000 +vt 0.048391725868 0.182542562485 0.000000000000 +vt 0.049334455281 0.187815472484 0.000000000000 +vt 0.048377547413 0.188716322184 0.000000000000 +vt 0.047788541764 0.182509928942 0.000000000000 +vt 0.046637099236 0.188832953572 0.000000000000 +vt 0.046065207571 0.182266756892 0.000000000000 +vt 0.047180842608 0.178921401501 0.000000000000 +vt 0.047978799790 0.180811345577 0.000000000000 +vt 0.042535897344 0.180803701282 0.000000000000 +vt 0.063310064375 0.188303396106 0.000000000000 +vt 0.064299397171 0.188258126378 0.000000000000 +vt 0.065667442977 0.187005370855 0.000000000000 +vt 0.067313097417 0.191977471113 0.000000000000 +vt 0.069538079202 0.197437480092 0.000000000000 +vt 0.067683927715 0.207009509206 0.000000000000 +vt 0.063888035715 0.210395619273 0.000000000000 +vt 0.073146872222 0.203862056136 0.000000000000 +vt 0.071523271501 0.214295744896 0.000000000000 +vt 0.073026858270 0.194442689419 0.000000000000 +vt 0.077325977385 0.201174154878 0.000000000000 +vt 0.081237144768 0.196533709764 0.000000000000 +vt 0.076219789684 0.190154388547 0.000000000000 +vt 0.081086061895 0.187698617578 0.000000000000 +vt 0.069806240499 0.189532741904 0.000000000000 +vt 0.071710377932 0.187683090568 0.000000000000 +vt 0.067168101668 0.185359716415 0.000000000000 +vt 0.069611258805 0.183986946940 0.000000000000 +vt 0.063944101334 0.182054877281 0.000000000000 +vt 0.063255354762 0.183039709926 0.000000000000 +vt 0.074488565326 0.222574487329 0.000000000000 +vt 0.069771796465 0.223591953516 0.000000000000 +vt 0.067730538547 0.216421216726 0.000000000000 +vt 0.060474004596 0.213022723794 0.000000000000 +vt 0.053378012031 0.208070665598 0.000000000000 +vt 0.057214211673 0.207134246826 0.000000000000 +vt 0.049100745469 0.211366251111 0.000000000000 +vt 0.064397566020 0.232721552253 0.000000000000 +vt 0.067054398358 0.233078405261 0.000000000000 +vt 0.070033647120 0.233986899257 0.000000000000 +vt 0.075478121638 0.233488187194 0.000000000000 +vt 0.081782467663 0.220023691654 0.000000000000 +vt 0.083951614797 0.230261281133 0.000000000000 +vt 0.084691703320 0.240565523505 0.000000000000 +vt 0.062245752662 0.239568278193 0.000000000000 +vt 0.061321716756 0.238784536719 0.000000000000 +vt 0.063168220222 0.233371362090 0.000000000000 +vt 0.063390895724 0.227339446545 0.000000000000 +vt 0.058965694159 0.225806355476 0.000000000000 +vt 0.050889376551 0.232737079263 0.000000000000 +vt 0.051590736955 0.236221358180 0.000000000000 +vt 0.050666701049 0.236511155963 0.000000000000 +vt 0.049805026501 0.232663914561 0.000000000000 +vt 0.049557130784 0.236889854074 0.000000000000 +vt 0.048572305590 0.232626542449 0.000000000000 +vt 0.052862185985 0.239495113492 0.000000000000 +vt 0.052227925509 0.240581259131 0.000000000000 +vt 0.055151116103 0.242463573813 0.000000000000 +vt 0.058518532664 0.242689415812 0.000000000000 +vt 0.058837804943 0.243750557303 0.000000000000 +vt 0.027835739776 0.198754191399 0.000000000000 +vt 0.102103173733 0.178665846586 0.000000000000 +vt 0.020530804992 0.243255212903 0.000000000000 +vt 0.017403624952 0.246614530683 0.000000000000 +vt 0.142661705613 0.167488694191 0.000000000000 +vt 0.138711810112 0.171222224832 0.000000000000 +vt 0.136936917901 0.169240176678 0.000000000000 +vt 0.140343055129 0.166225120425 0.000000000000 +vt 0.133923217654 0.174637824297 0.000000000000 +vt 0.132665947080 0.181584313512 0.000000000000 +vt 0.128641068935 0.183620840311 0.000000000000 +vt 0.132804647088 0.173296123743 0.000000000000 +vt 0.065053895116 0.163422614336 0.000000000000 +vt 0.063069596887 0.163681775331 0.000000000000 +vt 0.064668200910 0.167430609465 0.000000000000 +vt 0.063209198415 0.168160781264 0.000000000000 +vt 0.063756324351 0.165098443627 0.000000000000 +vt 0.065168723464 0.164823085070 0.000000000000 +vt 0.065913312137 0.169554486871 0.000000000000 +vt 0.062940359116 0.170286476612 0.000000000000 +vt 0.061481129378 0.167505130172 0.000000000000 +vt 0.060151811689 0.170392528176 0.000000000000 +vt 0.060107905418 0.172657802701 0.000000000000 +vt 0.057210605592 0.172009363770 0.000000000000 +vt 0.057532805949 0.170253381133 0.000000000000 +vt 0.063048884273 0.172646328807 0.000000000000 +vt 0.048934575170 0.168896585703 0.000000000000 +vt 0.049731176347 0.167191714048 0.000000000000 +vt 0.042593311518 0.164057999849 0.000000000000 +vt 0.043497528881 0.162384659052 0.000000000000 +vt 0.044287156314 0.160732463002 0.000000000000 +vt 0.033884081990 0.156096965075 0.000000000000 +vt 0.034770067781 0.153932109475 0.000000000000 +vt 0.036515694112 0.150483399630 0.000000000000 +vt 0.046103026718 0.155740767717 0.000000000000 +vt 0.039584781975 0.147428721189 0.000000000000 +vt 0.047613140196 0.151688650250 0.000000000000 +vt 0.043061178178 0.143725812435 0.000000000000 +vt 0.050141181797 0.149046242237 0.000000000000 +vt 0.047894362360 0.140243798494 0.000000000000 +vt 0.053615551442 0.146738171577 0.000000000000 +vt 0.053296964616 0.138070821762 0.000000000000 +vt 0.056939747185 0.144772797823 0.000000000000 +vt 0.060318645090 0.151515960693 0.000000000000 +vt 0.060732934624 0.143554925919 0.000000000000 +vt 0.062500409782 0.150664418936 0.000000000000 +vt 0.064538739622 0.156376838684 0.000000000000 +vt 0.063412509859 0.157254040241 0.000000000000 +vt 0.065951131284 0.161686450243 0.000000000000 +vt 0.064260445535 0.149016290903 0.000000000000 +vt 0.065228387713 0.155802473426 0.000000000000 +vt 0.067762054503 0.156014785171 0.000000000000 +vt 0.067490294576 0.161968335509 0.000000000000 +vt 0.068041928113 0.150318130851 0.000000000000 +vt 0.072004206479 0.152485474944 0.000000000000 +vt 0.068994782865 0.144661113620 0.000000000000 +vt 0.072091117501 0.145224899054 0.000000000000 +vt 0.075190380216 0.145809859037 0.000000000000 +vt 0.074453443289 0.154495447874 0.000000000000 +vt 0.078592248261 0.146916940808 0.000000000000 +vt 0.077539868653 0.155462488532 0.000000000000 +vt 0.083513915539 0.149794429541 0.000000000000 +vt 0.080134786665 0.156474098563 0.000000000000 +vt 0.076403960586 0.162150710821 0.000000000000 +vt 0.082034416497 0.157592907548 0.000000000000 +vt 0.077113650739 0.164572715759 0.000000000000 +vt 0.075192175806 0.166414484382 0.000000000000 +vt 0.073551476002 0.164994657040 0.000000000000 +vt 0.072395749390 0.167818546295 0.000000000000 +vt 0.086013361812 0.151608720422 0.000000000000 +vt 0.082925580442 0.138807758689 0.000000000000 +vt 0.088270992041 0.142190933228 0.000000000000 +vt 0.092381425202 0.144706368446 0.000000000000 +vt 0.033781412989 0.159828022122 0.000000000000 +vt 0.032040510327 0.158961847425 0.000000000000 +vt 0.032221313566 0.155238896608 0.000000000000 +vt 0.033128913492 0.152995914221 0.000000000000 +vt 0.034247931093 0.149646267295 0.000000000000 +vt 0.036089029163 0.146674454212 0.000000000000 +vt 0.039337117225 0.142542183399 0.000000000000 +vt 0.044477183372 0.138003721833 0.000000000000 +vt 0.051182758063 0.134617850184 0.000000000000 +vt 0.057887878269 0.132730364799 0.000000000000 +vt 0.058954205364 0.136307403445 0.000000000000 +vt 0.065197318792 0.135614156723 0.000000000000 +vt 0.065236717463 0.143920347095 0.000000000000 +vt 0.070889234543 0.135065451264 0.000000000000 +vt 0.075503565371 0.136102512479 0.000000000000 +vt 0.079501420259 0.136758163571 0.000000000000 +vt 0.080287218094 0.135892897844 0.000000000000 +vt 0.083798281848 0.137524142861 0.000000000000 +vt 0.089716039598 0.140691623092 0.000000000000 +vt 0.143560752273 0.209685027599 0.000000000000 +vt 0.135448858142 0.212041050196 0.000000000000 +vt 0.136980593204 0.209762930870 0.000000000000 +vt 0.149614498019 0.207925885916 0.000000000000 +vt 0.093936122954 0.143564611673 0.000000000000 +vt 0.131235316396 0.212935358286 0.000000000000 +vt 0.130912885070 0.210914373398 0.000000000000 +vt 0.130802333355 0.214139938354 0.000000000000 +vt 0.126496925950 0.214841082692 0.000000000000 +vt 0.127033010125 0.216304361820 0.000000000000 +vt 0.123436622322 0.220508232713 0.000000000000 +vt 0.122662074864 0.219344407320 0.000000000000 +vt 0.127302527428 0.217270508409 0.000000000000 +vt 0.124103523791 0.221681743860 0.000000000000 +vt 0.121738053858 0.226466968656 0.000000000000 +vt 0.119399368763 0.224682837725 0.000000000000 +vt 0.071574836969 0.132907792926 0.000000000000 +vt 0.076760835946 0.134390205145 0.000000000000 +vt 0.065341189504 0.132802188396 0.000000000000 +vt 0.115896403790 0.229595944285 0.000000000000 +vt 0.113967284560 0.229628607631 0.000000000000 +vt 0.118455067277 0.224354103208 0.000000000000 +vt 0.118444040418 0.231105849147 0.000000000000 +vt 0.116246968508 0.222922116518 0.000000000000 +vt 0.121256656945 0.217508718371 0.000000000000 +vt 0.113348767161 0.220198199153 0.000000000000 +vt 0.118779063225 0.214370504022 0.000000000000 +vt 0.109506264329 0.216642320156 0.000000000000 +vt 0.113111913204 0.210065305233 0.000000000000 +vt 0.106790229678 0.213530674577 0.000000000000 +vt 0.110659286380 0.209100753069 0.000000000000 +vt 0.105615362525 0.211812064052 0.000000000000 +vt 0.108720943332 0.208151713014 0.000000000000 +vt 0.104931339622 0.210859879851 0.000000000000 +vt 0.107262387872 0.207199767232 0.000000000000 +vt 0.104268938303 0.209731861949 0.000000000000 +vt 0.106411516666 0.206867888570 0.000000000000 +vt 0.099854543805 0.210535883904 0.000000000000 +vt 0.101010948420 0.212820082903 0.000000000000 +vt 0.101252302527 0.214150756598 0.000000000000 +vt 0.100541725755 0.216653347015 0.000000000000 +vt 0.109188362956 0.234976246953 0.000000000000 +vt 0.112999781966 0.234926506877 0.000000000000 +vt 0.116525933146 0.235893979669 0.000000000000 +vt 0.113097950816 0.239953324199 0.000000000000 +vt 0.109616830945 0.240531280637 0.000000000000 +vt 0.105305328965 0.241614267230 0.000000000000 +vt 0.103323295712 0.248255476356 0.000000000000 +vt 0.107525810599 0.246296599507 0.000000000000 +vt 0.106832340360 0.251131802797 0.000000000000 +vt 0.103008523583 0.253494113684 0.000000000000 +vt 0.111104875803 0.245297834277 0.000000000000 +vt 0.110048457980 0.249654576182 0.000000000000 +vt 0.096914246678 0.264147579670 0.000000000000 +vt 0.095100626349 0.260864347219 0.000000000000 +vt 0.103348061442 0.257600039244 0.000000000000 +vt 0.106801033020 0.254496067762 0.000000000000 +vt 0.169106185436 0.192728593946 0.000000000000 +vt 0.170338675380 0.195399373770 0.000000000000 +vt 0.099874362350 0.170928612351 0.000000000000 +vt 0.097011074424 0.169942215085 0.000000000000 +vt 0.095663733780 0.165094852448 0.000000000000 +vt 0.099198222160 0.165355354548 0.000000000000 +vt 0.093683719635 0.168949723244 0.000000000000 +vt 0.092458203435 0.165013566613 0.000000000000 +vt 0.090356379747 0.159508973360 0.000000000000 +vt 0.094260796905 0.160128593445 0.000000000000 +vt 0.099197551608 0.159526988864 0.000000000000 +vt 0.033023308963 0.163863465190 0.000000000000 +vt 0.037694837898 0.165538623929 0.000000000000 +vt 0.027775174007 0.166775852442 0.000000000000 +vt 0.088919214904 0.165129065514 0.000000000000 +vt 0.087757416070 0.161358624697 0.000000000000 +vt 0.041305195540 0.168003618717 0.000000000000 +vt 0.039413448423 0.169479295611 0.000000000000 +vt 0.041364412755 0.172144010663 0.000000000000 +vt 0.039971377701 0.172480389476 0.000000000000 +vt 0.038754414767 0.172880932689 0.000000000000 +vt 0.037746172398 0.170685455203 0.000000000000 +vt 0.041679184884 0.177758023143 0.000000000000 +vt 0.040490355343 0.177621126175 0.000000000000 +vt 0.038885232061 0.177430868149 0.000000000000 +vt 0.031558681279 0.181349694729 0.000000000000 +vt 0.032375093549 0.182451382279 0.000000000000 +vt 0.031321812421 0.183208808303 0.000000000000 +vt 0.029306901619 0.181765779853 0.000000000000 +vt 0.030110931024 0.184735804796 0.000000000000 +vt 0.026748467237 0.183448821306 0.000000000000 +vt 0.025492548943 0.179579749703 0.000000000000 +vt 0.025225963444 0.184383660555 0.000000000000 +vt 0.023586835712 0.180322989821 0.000000000000 +vt 0.023586835712 0.175274342299 0.000000000000 +vt 0.025453597307 0.175285145640 0.000000000000 +vt 0.025660742074 0.170873910189 0.000000000000 +vt 0.026788990945 0.172416672111 0.000000000000 +vt 0.028133621439 0.171821355820 0.000000000000 +vt 0.117384001613 0.164725363255 0.000000000000 +vt 0.112397044897 0.164127796888 0.000000000000 +vt 0.111941114068 0.159629434347 0.000000000000 +vt 0.116640761495 0.160034939647 0.000000000000 +vt 0.117678731680 0.167584165931 0.000000000000 +vt 0.121842063963 0.165160596371 0.000000000000 +vt 0.122367806733 0.167285159230 0.000000000000 +vt 0.123244337738 0.169767260551 0.000000000000 +vt 0.118570342660 0.170628488064 0.000000000000 +vt 0.076927222311 0.256597876549 0.000000000000 +vt 0.069735996425 0.256459414959 0.000000000000 +vt 0.126834645867 0.166902616620 0.000000000000 +vt 0.127785488963 0.169480189681 0.000000000000 +vt 0.062401559204 0.256990790367 0.000000000000 +vt 0.061513323337 0.259970039129 0.000000000000 +vt 0.055246125907 0.260234832764 0.000000000000 +vt 0.055534552783 0.256361246109 0.000000000000 +vt 0.055091898888 0.251717656851 0.000000000000 +vt 0.055174525827 0.262654781342 0.000000000000 +vt 0.131237342954 0.166645258665 0.000000000000 +vt 0.126206025481 0.164752155542 0.000000000000 +vt 0.130478784442 0.164564833045 0.000000000000 +vt 0.128323823214 0.157905861735 0.000000000000 +vt 0.124372817576 0.158351898193 0.000000000000 +vt 0.120934464037 0.159285396338 0.000000000000 +vt 0.031951349229 0.187119752169 0.000000000000 +vt 0.032728809863 0.185262441635 0.000000000000 +vt 0.035856213421 0.185055300593 0.000000000000 +vt 0.035672266036 0.187161847949 0.000000000000 +vt 0.028532592580 0.186527818441 0.000000000000 +vt 0.128893464804 0.155811250210 0.000000000000 +vt 0.132322803140 0.155696868896 0.000000000000 +vt 0.132445976138 0.157863765955 0.000000000000 +vt 0.134399861097 0.164290815592 0.000000000000 +vt 0.137302115560 0.158585160971 0.000000000000 +vt 0.138255640864 0.163551405072 0.000000000000 +vt 0.141750499606 0.159247785807 0.000000000000 +vt 0.142176494002 0.162172332406 0.000000000000 +vt 0.167481020093 0.185227319598 0.000000000000 +vt 0.170263931155 0.178922742605 0.000000000000 +vt 0.172615230083 0.181126117706 0.000000000000 +vt 0.170385509729 0.185613691807 0.000000000000 +vt 0.137086644769 0.156343296170 0.000000000000 +vt 0.141829982400 0.156543448567 0.000000000000 +vt 0.084312535822 0.167729392648 0.000000000000 +vt 0.084777034819 0.164774447680 0.000000000000 +vt 0.089359387755 0.168153122067 0.000000000000 +vt 0.136736750603 0.154593154788 0.000000000000 +vt 0.141693994403 0.153399839997 0.000000000000 +vt 0.084533862770 0.161654248834 0.000000000000 +vt 0.132128268480 0.155035361648 0.000000000000 +vt 0.168764844537 0.189312979579 0.000000000000 +vt 0.165124982595 0.185052827001 0.000000000000 +vt 0.167759761214 0.178524002433 0.000000000000 +vt 0.158733054996 0.192014843225 0.000000000000 +vt 0.156409904361 0.199086070061 0.000000000000 +vt 0.155019804835 0.205063492060 0.000000000000 +vt 0.157773226500 0.205484077334 0.000000000000 +vt 0.157165527344 0.207992762327 0.000000000000 +vt 0.154318660498 0.207045525312 0.000000000000 +vt 0.039390247315 0.183007746935 0.000000000000 +vt 0.109839722514 0.252810090780 0.000000000000 +vt 0.161794945598 0.206194669008 0.000000000000 +vt 0.160380065441 0.209382638335 0.000000000000 +vt 0.030997594818 0.172260865569 0.000000000000 +vt 0.028872353956 0.171737149358 0.000000000000 +vt 0.040024068207 0.239364311099 0.000000000000 +vt 0.041931357235 0.237304374576 0.000000000000 +vt 0.044145528227 0.240434691310 0.000000000000 +vt 0.045424859971 0.239937767386 0.000000000000 +vt 0.044002104551 0.236135587096 0.000000000000 +vt 0.100529327989 0.192775428295 0.000000000000 +vt 0.086145527661 0.185369163752 0.000000000000 +vt 0.074024297297 0.186244800687 0.000000000000 +vt 0.062078233808 0.164369389415 0.000000000000 +vt 0.030012762174 0.176220208406 0.000000000000 +vt 0.112108394504 0.179039835930 0.000000000000 +vt 0.112108394504 0.176560640335 0.000000000000 +vt 0.069380022585 0.168249264359 0.000000000000 +vt 0.065014265478 0.171704053879 0.000000000000 +vt 0.048454102129 0.180325239897 0.000000000000 +vt 0.146105453372 0.080951645970 0.000000000000 +vt 0.144684508443 0.079957589507 0.000000000000 +vt 0.149933993816 0.076390907168 0.000000000000 +vt 0.151316225529 0.078695371747 0.000000000000 +vt 0.153613030910 0.080021530390 0.000000000000 +vt 0.145809382200 0.082432046533 0.000000000000 +vt 0.143933385611 0.080989018083 0.000000000000 +vt 0.154818966985 0.082354143262 0.000000000000 +vt 0.145563289523 0.085070192814 0.000000000000 +vt 0.143352255225 0.081543803215 0.000000000000 +vt 0.144436612725 0.082785755396 0.000000000000 +vt 0.143652841449 0.084858089685 0.000000000000 +vt 0.146591797471 0.088287875056 0.000000000000 +vt 0.154597863555 0.085654467344 0.000000000000 +vt 0.153173521161 0.089168235660 0.000000000000 +vt 0.152664005756 0.094450607896 0.000000000000 +vt 0.140441447496 0.090233892202 0.000000000000 +vt 0.138348862529 0.080004423857 0.000000000000 +vt 0.139517411590 0.078812226653 0.000000000000 +vt 0.140799894929 0.078904315829 0.000000000000 +vt 0.140338554978 0.079870223999 0.000000000000 +vt 0.139646649361 0.078048720956 0.000000000000 +vt 0.142411112785 0.080079168081 0.000000000000 +vt 0.142763257027 0.078845098615 0.000000000000 +vt 0.144676625729 0.071552544832 0.000000000000 +vt 0.147951960564 0.073969364166 0.000000000000 +vt 0.165310516953 0.075303182006 0.000000000000 +vt 0.162680253386 0.081052973866 0.000000000000 +vt 0.159637063742 0.079843878746 0.000000000000 +vt 0.160642147064 0.076046422124 0.000000000000 +vt 0.138225704432 0.079229891300 0.000000000000 +vt 0.137284547091 0.079804927111 0.000000000000 +vt 0.137759849429 0.078385323286 0.000000000000 +vt 0.137967005372 0.069246500731 0.000000000000 +vt 0.141144156456 0.069925799966 0.000000000000 +vt 0.135236993432 0.081436410546 0.000000000000 +vt 0.135894671082 0.079535424709 0.000000000000 +vt 0.134577959776 0.080499768257 0.000000000000 +vt 0.135107755661 0.084568321705 0.000000000000 +vt 0.134055823088 0.084435924888 0.000000000000 +vt 0.133896872401 0.080932959914 0.000000000000 +vt 0.133128866553 0.069963172078 0.000000000000 +vt 0.135289907455 0.069450497627 0.000000000000 +vt 0.163844078779 0.085923969746 0.000000000000 +vt 0.162402868271 0.094224542379 0.000000000000 +vt 0.132371440530 0.082354143262 0.000000000000 +vt 0.128753200173 0.071022763848 0.000000000000 +vt 0.105484560132 0.044374290854 0.000000000000 +vt 0.104406282306 0.042068254203 0.000000000000 +vt 0.105255573988 0.042082216591 0.000000000000 +vt 0.106301188469 0.043263372034 0.000000000000 +vt 0.105341121554 0.039797786623 0.000000000000 +vt 0.107362121344 0.040538098663 0.000000000000 +vt 0.102971151471 0.044095326215 0.000000000000 +vt 0.109018579125 0.049298208207 0.000000000000 +vt 0.103879645467 0.048260468990 0.000000000000 +vt 0.106288582087 0.055648040026 0.000000000000 +vt 0.099673971534 0.057078447193 0.000000000000 +vt 0.097955361009 0.055400144309 0.000000000000 +vt 0.110525324941 0.046463962644 0.000000000000 +vt 0.102905854583 0.041538458318 0.000000000000 +vt 0.103917017579 0.039889875799 0.000000000000 +vt 0.118358477950 0.052561160177 0.000000000000 +vt 0.113901987672 0.058519665152 0.000000000000 +vt 0.118132635951 0.047917779535 0.000000000000 +vt 0.118020296097 0.061421241611 0.000000000000 +vt 0.122165165842 0.055722784251 0.000000000000 +vt 0.126941144466 0.044675100595 0.000000000000 +vt 0.128192335367 0.048273082823 0.000000000000 +vt 0.129756718874 0.051271017641 0.000000000000 +vt 0.104457631707 0.038520034403 0.000000000000 +vt 0.106935217977 0.039335094392 0.000000000000 +vt 0.110430315137 0.041719038039 0.000000000000 +vt 0.109509423375 0.038915853947 0.000000000000 +vt 0.103522777557 0.036517728120 0.000000000000 +vt 0.097110807896 0.038964264095 0.000000000000 +vt 0.099772140384 0.040999215096 0.000000000000 +vt 0.097977206111 0.041525851935 0.000000000000 +vt 0.096010699868 0.040015961975 0.000000000000 +vt 0.098011419177 0.043816577643 0.000000000000 +vt 0.095403008163 0.041276607662 0.000000000000 +vt 0.100398525596 0.044103201479 0.000000000000 +vt 0.092719830573 0.059615265578 0.000000000000 +vt 0.090432256460 0.055584091693 0.000000000000 +vt 0.103748843074 0.062081839889 0.000000000000 +vt 0.109088838100 0.036444552243 0.000000000000 +vt 0.116189554334 0.040374409407 0.000000000000 +vt 0.117214694619 0.043208893389 0.000000000000 +vt 0.100217953324 0.036773279309 0.000000000000 +vt 0.101216748357 0.031871203333 0.000000000000 +vt 0.129965662956 0.062457408756 0.000000000000 +vt 0.134202405810 0.063657253981 0.000000000000 +vt 0.126032650471 0.071523055434 0.000000000000 +vt 0.126584276557 0.061618920416 0.000000000000 +vt 0.126425325871 0.056240197271 0.000000000000 +vt 0.131047084928 0.056420769542 0.000000000000 +vt 0.136421307921 0.063021421432 0.000000000000 +vt 0.135489389300 0.060313250870 0.000000000000 +vt 0.137195616961 0.059194456786 0.000000000000 +vt 0.136729776859 0.057686138898 0.000000000000 +vt 0.156631231308 0.049092646688 0.000000000000 +vt 0.157220244408 0.050672557205 0.000000000000 +vt 0.155348747969 0.051238145679 0.000000000000 +vt 0.152967959642 0.049707990140 0.000000000000 +vt 0.072539396584 0.024206470698 0.000000000000 +vt 0.073009975255 0.022490788251 0.000000000000 +vt 0.074167720973 0.023411672562 0.000000000000 +vt 0.075313083827 0.024346742779 0.000000000000 +vt 0.078608684242 0.024770483375 0.000000000000 +vt 0.076113961637 0.022561032325 0.000000000000 +vt 0.074407733977 0.021668069065 0.000000000000 +vt 0.085832558572 0.034895710647 0.000000000000 +vt 0.088694959879 0.030288133770 0.000000000000 +vt 0.092079266906 0.032754708081 0.000000000000 +vt 0.090345121920 0.035805787891 0.000000000000 +vt 0.080766797066 0.037424653769 0.000000000000 +vt 0.083163343370 0.031321149319 0.000000000000 +vt 0.082765944302 0.039579611272 0.000000000000 +vt 0.075439170003 0.026426948607 0.000000000000 +vt 0.079141400754 0.028394807130 0.000000000000 +vt 0.065825045109 0.019637845457 0.000000000000 +vt 0.070792645216 0.020507168025 0.000000000000 +vt 0.069720685482 0.023076642305 0.000000000000 +vt 0.066453002393 0.021015118808 0.000000000000 +vt 0.074630416930 0.020555578172 0.000000000000 +vt 0.078393660486 0.021780196577 0.000000000000 +vt 0.118059247732 0.097139850259 0.000000000000 +vt 0.114740446210 0.098579719663 0.000000000000 +vt 0.114250972867 0.095418095589 0.000000000000 +vt 0.117238104343 0.094657748938 0.000000000000 +vt 0.109638676047 0.091790616512 0.000000000000 +vt 0.115868493915 0.090512856841 0.000000000000 +vt 0.106643870473 0.097877010703 0.000000000000 +vt 0.080275960267 0.020345281810 0.000000000000 +vt 0.084542199969 0.020472947508 0.000000000000 +vt 0.082198783755 0.026802506298 0.000000000000 +vt 0.087908044457 0.024324897677 0.000000000000 +vt 0.082033514977 0.045575719327 0.000000000000 +vt 0.083040185273 0.050441998988 0.000000000000 +vt 0.079672768712 0.048204403371 0.000000000000 +vt 0.080490976572 0.044366639107 0.000000000000 +vt 0.076486371458 0.049105029553 0.000000000000 +vt 0.078130230308 0.043149676174 0.000000000000 +vt 0.081851139665 0.052377205342 0.000000000000 +vt 0.066788040102 0.023179534823 0.000000000000 +vt 0.064600206912 0.023336920887 0.000000000000 +vt 0.064584665000 0.022389467806 0.000000000000 +vt 0.066289320588 0.022115226835 0.000000000000 +vt 0.060966644436 0.023584589362 0.000000000000 +vt 0.061784636229 0.022029668093 0.000000000000 +vt 0.063617177308 0.021110359579 0.000000000000 +vt 0.091050982475 0.028800085187 0.000000000000 +vt 0.094201579690 0.030098102987 0.000000000000 +vt 0.090151712298 0.025628998876 0.000000000000 +vt 0.093743383884 0.027991328388 0.000000000000 +vt 0.066948570311 0.027383632958 0.000000000000 +vt 0.060868475586 0.030944012105 0.000000000000 +vt 0.062462348491 0.027807373554 0.000000000000 +vt 0.066029265523 0.025897156447 0.000000000000 +vt 0.059814978391 0.026431452483 0.000000000000 +vt 0.064851254225 0.024653624743 0.000000000000 +vt 0.054694723338 0.030345775187 0.000000000000 +vt 0.047921154648 0.032958924770 0.000000000000 +vt 0.043463084847 0.030261565000 0.000000000000 +vt 0.047107893974 0.029183298349 0.000000000000 +vt 0.050095032901 0.030151013285 0.000000000000 +vt 0.047431897372 0.026514083147 0.000000000000 +vt 0.050590369850 0.027707632631 0.000000000000 +vt 0.042810361832 0.027617346495 0.000000000000 +vt 0.047869820148 0.042448315769 0.000000000000 +vt 0.045954655856 0.041697423905 0.000000000000 +vt 0.046084117144 0.036520879716 0.000000000000 +vt 0.049386020750 0.038101017475 0.000000000000 +vt 0.044854771346 0.041064735502 0.000000000000 +vt 0.043885473162 0.036986950785 0.000000000000 +vt 0.051757570356 0.034210111946 0.000000000000 +vt 0.154328122735 0.043087299913 0.000000000000 +vt 0.154911056161 0.037254884839 0.000000000000 +vt 0.167563647032 0.034898862243 0.000000000000 +vt 0.161921262741 0.041362386197 0.000000000000 +vt 0.153502255678 0.030707374215 0.000000000000 +vt 0.163250565529 0.027692098171 0.000000000000 +vt 0.103868618608 0.102910131216 0.000000000000 +vt 0.111994698644 0.103447571397 0.000000000000 +vt 0.106992870569 0.109234735370 0.000000000000 +vt 0.101400464773 0.108030393720 0.000000000000 +vt 0.096481271088 0.122771069407 0.000000000000 +vt 0.089952446520 0.124826297164 0.000000000000 +vt 0.088087268174 0.119303897023 0.000000000000 +vt 0.094165779650 0.117781624198 0.000000000000 +vt 0.070482604206 0.058522816747 0.000000000000 +vt 0.077887058258 0.065487995744 0.000000000000 +vt 0.071217961609 0.071155369282 0.000000000000 +vt 0.066381409764 0.064373925328 0.000000000000 +vt 0.070337608457 0.087279632688 0.000000000000 +vt 0.063515856862 0.072370767593 0.000000000000 +vt 0.079217955470 0.082213863730 0.000000000000 +vt 0.050732221454 0.021630693227 0.000000000000 +vt 0.048374619335 0.020630329847 0.000000000000 +vt 0.048564653844 0.016099080443 0.000000000000 +vt 0.051573622972 0.018779102713 0.000000000000 +vt 0.045837800950 0.018292993307 0.000000000000 +vt 0.046268071979 0.015899594873 0.000000000000 +vt 0.051961567253 0.016921799630 0.000000000000 +vt 0.048754904419 0.013884905726 0.000000000000 +vt 0.026494264603 0.028064500540 0.000000000000 +vt 0.026460040361 0.028243724257 0.000000000000 +vt 0.026340033859 0.028218735009 0.000000000000 +vt 0.026315040886 0.028072383255 0.000000000000 +vt 0.026271361858 0.028111334890 0.000000000000 +vt 0.026316616684 0.028287407011 0.000000000000 +vt 0.026220027357 0.028083190322 0.000000000000 +vt 0.025830507278 0.027961608022 0.000000000000 +vt 0.026793498546 0.027743656188 0.000000000000 +vt 0.022305700928 0.037761259824 0.000000000000 +vt 0.020612087101 0.038116555661 0.000000000000 +vt 0.018779549748 0.032605204731 0.000000000000 +vt 0.019568044692 0.032413598150 0.000000000000 +vt 0.026293199509 0.029374904931 0.000000000000 +vt 0.026729550213 0.056939747185 0.000000000000 +vt 0.025282029063 0.059646341950 0.000000000000 +vt 0.023371588439 0.056319449097 0.000000000000 +vt 0.024051103741 0.054049205035 0.000000000000 +vt 0.023613180965 0.061910506338 0.000000000000 +vt 0.020778700709 0.056646820158 0.000000000000 +vt 0.024753816426 0.028824850917 0.000000000000 +vt 0.024046380073 0.029639910907 0.000000000000 +vt 0.021925639361 0.027996055782 0.000000000000 +vt 0.019233010709 0.029932837933 0.000000000000 +vt 0.020827110857 0.032996300608 0.000000000000 +vt 0.018511611968 0.030085492879 0.000000000000 +vt 0.018042616546 0.028514813632 0.000000000000 +vt 0.018695343286 0.028449516743 0.000000000000 +vt 0.018340270966 0.027692098171 0.000000000000 +vt 0.019049059600 0.027235481888 0.000000000000 +vt 0.018784277141 0.027503643185 0.000000000000 +vt 0.018855873495 0.026894371957 0.000000000000 +vt 0.019962288439 0.026958312839 0.000000000000 +vt 0.019748840481 0.027567584068 0.000000000000 +vt 0.160484761000 0.020033445209 0.000000000000 +vt 0.147482961416 0.021641500294 0.000000000000 +vt 0.154410749674 0.015146899968 0.000000000000 +vt 0.161012977362 0.008924962953 0.000000000000 +vt 0.166393518448 0.013308282942 0.000000000000 +vt 0.166352987289 0.025851901621 0.000000000000 +vt 0.166651993990 0.020915377885 0.000000000000 +vt 0.170089438558 0.015492964536 0.000000000000 +vt 0.019588306546 0.027807373554 0.000000000000 +vt 0.019134845585 0.027851056308 0.000000000000 +vt 0.019064817578 0.028270293027 0.000000000000 +vt 0.038729425520 0.090958446264 0.000000000000 +vt 0.036177065223 0.089736983180 0.000000000000 +vt 0.038676287979 0.085981622338 0.000000000000 +vt 0.040239315480 0.089066922665 0.000000000000 +vt 0.042406659573 0.093741580844 0.000000000000 +vt 0.040854658931 0.094687461853 0.000000000000 +vt 0.037749316543 0.094786986709 0.000000000000 +vt 0.027898332104 0.053784426302 0.000000000000 +vt 0.031369995326 0.055613588542 0.000000000000 +vt 0.030157541856 0.062759563327 0.000000000000 +vt 0.033898938447 0.060758832842 0.000000000000 +vt 0.032940682024 0.067951634526 0.000000000000 +vt 0.027729919180 0.065882235765 0.000000000000 +vt 0.093380436301 0.131579592824 0.000000000000 +vt 0.101789981127 0.126331463456 0.000000000000 +vt 0.037756975740 0.051755558699 0.000000000000 +vt 0.035693880171 0.048643913120 0.000000000000 +vt 0.039868485183 0.048481795937 0.000000000000 +vt 0.041482623667 0.049996417016 0.000000000000 +vt 0.042654555291 0.045740988106 0.000000000000 +vt 0.045040067285 0.046664800495 0.000000000000 +vt 0.036985594779 0.046448197216 0.000000000000 +vt 0.034682709724 0.086651682854 0.000000000000 +vt 0.030933646485 0.089648038149 0.000000000000 +vt 0.029764866456 0.085144937038 0.000000000000 +vt 0.031592678279 0.081364586949 0.000000000000 +vt 0.034569006413 0.082026988268 0.000000000000 +vt 0.032102201134 0.080329999328 0.000000000000 +vt 0.028744241223 0.051196273416 0.000000000000 +vt 0.030639147386 0.050709929317 0.000000000000 +vt 0.036769222468 0.056941326708 0.000000000000 +vt 0.034461375326 0.053469661623 0.000000000000 +vt 0.041688408703 0.088625833392 0.000000000000 +vt 0.044041287154 0.087036460638 0.000000000000 +vt 0.042447183281 0.080775573850 0.000000000000 +vt 0.049191255122 0.076541990042 0.000000000000 +vt 0.046822618693 0.081983312964 0.000000000000 +vt 0.044226806611 0.072259977460 0.000000000000 +vt 0.046158861369 0.086456924677 0.000000000000 +vt 0.027991769835 0.075538471341 0.000000000000 +vt 0.027059858665 0.080196022987 0.000000000000 +vt 0.025024902076 0.073586151004 0.000000000000 +vt 0.026086058468 0.070214003325 0.000000000000 +vt 0.026441354305 0.067705318332 0.000000000000 +vt 0.028167841956 0.071457535028 0.000000000000 +vt 0.028880013153 0.073195055127 0.000000000000 +vt 0.030567547306 0.076351955533 0.000000000000 +vt 0.030551789328 0.069745004177 0.000000000000 +vt 0.029026357457 0.069470763206 0.000000000000 +vt 0.030614150688 0.072523415089 0.000000000000 +vt 0.043936815113 0.092527776957 0.000000000000 +vt 0.046364661306 0.097238019109 0.000000000000 +vt 0.044538419694 0.100720718503 0.000000000000 +vt 0.042931716889 0.101345524192 0.000000000000 +vt 0.048817273229 0.100172251463 0.000000000000 +vt 0.048457246274 0.102738559246 0.000000000000 +vt 0.137558788061 0.098332047462 0.000000000000 +vt 0.139102905989 0.097345650196 0.000000000000 +vt 0.138733655214 0.098258882761 0.000000000000 +vt 0.137797236443 0.098970815539 0.000000000000 +vt 0.138197556138 0.099481925368 0.000000000000 +vt 0.139004737139 0.098487854004 0.000000000000 +vt 0.139805614948 0.097956493497 0.000000000000 +vt 0.139377146959 0.099524021149 0.000000000000 +vt 0.050679307431 0.107523784041 0.000000000000 +vt 0.054135438055 0.112569287419 0.000000000000 +vt 0.050330314785 0.114288136363 0.000000000000 +vt 0.047148425132 0.107650101185 0.000000000000 +vt 0.050964351743 0.104889020324 0.000000000000 +vt 0.053239319474 0.103625223041 0.000000000000 +vt 0.055646907538 0.107062682509 0.000000000000 +vt 0.058104019612 0.112983807921 0.000000000000 +vt 0.140801474452 0.096658468246 0.000000000000 +vt 0.138233363628 0.096205011010 0.000000000000 +vt 0.140344858170 0.095949456096 0.000000000000 +vt 0.142007410526 0.098663926125 0.000000000000 +vt 0.140017718077 0.100223585963 0.000000000000 +vt 0.141385748982 0.098199442029 0.000000000000 +vt 0.141155198216 0.097431436181 0.000000000000 +vt 0.133312597871 0.105359598994 0.000000000000 +vt 0.132514864206 0.104310825467 0.000000000000 +vt 0.134183719754 0.106383368373 0.000000000000 +vt 0.140815436840 0.100723877549 0.000000000000 +vt 0.141863986850 0.099782720208 0.000000000000 +vt 0.142421916127 0.100219070911 0.000000000000 +vt 0.142892494798 0.098935022950 0.000000000000 +vt 0.050447177142 0.103112548590 0.000000000000 +vt 0.052483703941 0.102864876390 0.000000000000 +vt 0.144728183746 0.104067876935 0.000000000000 +vt 0.144224733114 0.102514311671 0.000000000000 +vt 0.145186141133 0.101699247956 0.000000000000 +vt 0.146470203996 0.103851273656 0.000000000000 +vt 0.143584400415 0.101527899504 0.000000000000 +vt 0.144430533051 0.100561767817 0.000000000000 +vt 0.141550794244 0.101287886500 0.000000000000 +vt 0.061257999390 0.112659797072 0.000000000000 +vt 0.065134719014 0.115944370627 0.000000000000 +vt 0.061873342842 0.123118489981 0.000000000000 +vt 0.056573864073 0.121722295880 0.000000000000 +vt 0.067445486784 0.110573291779 0.000000000000 +vt 0.063640370965 0.107372716069 0.000000000000 +vt 0.069648854434 0.106004670262 0.000000000000 +vt 0.066685140133 0.100748866796 0.000000000000 +vt 0.072863399982 0.099591121078 0.000000000000 +vt 0.079629309475 0.095017760992 0.000000000000 +vt 0.063420616090 0.097499877214 0.000000000000 +vt 0.064508341253 0.086475610733 0.000000000000 +vt 0.143850758672 0.104326352477 0.000000000000 +vt 0.143411472440 0.103562861681 0.000000000000 +vt 0.056262250990 0.094160601497 0.000000000000 +vt 0.056469622999 0.096354737878 0.000000000000 +vt 0.051992859691 0.094852507114 0.000000000000 +vt 0.052877943963 0.092719376087 0.000000000000 +vt 0.057681854814 0.098607867956 0.000000000000 +vt 0.053764607757 0.098246261477 0.000000000000 +vt 0.051455195993 0.098188623786 0.000000000000 +vt 0.049526061863 0.095104902983 0.000000000000 +vt 0.050771173090 0.101749226451 0.000000000000 +vt 0.052848231047 0.102208778262 0.000000000000 +vt 0.051238592714 0.100907593966 0.000000000000 +vt 0.052483703941 0.100563332438 0.000000000000 +vt 0.057426307350 0.106243103743 0.000000000000 +vt 0.059230696410 0.102589055896 0.000000000000 +vt 0.054297324270 0.103461548686 0.000000000000 +vt 0.054697874933 0.101320534945 0.000000000000 +vt 0.052963506430 0.122161805630 0.000000000000 +vt 0.052379231900 0.131099566817 0.000000000000 +vt 0.048094075173 0.130477920175 0.000000000000 +vt 0.046760257334 0.130856394768 0.000000000000 +vt 0.050066884607 0.122128933668 0.000000000000 +vt 0.156333580613 0.006823139265 0.000000000000 +vt 0.149899765849 0.012613456696 0.000000000000 +vt 0.148388311267 0.011923130602 0.000000000000 +vt 0.154814451933 0.007212657481 0.000000000000 +vt 0.143572017550 0.018695119768 0.000000000000 +vt 0.142008990049 0.017630811781 0.000000000000 +vt 0.141720786691 0.017121285200 0.000000000000 +vt 0.147525057197 0.011396490037 0.000000000000 +vt 0.137385874987 0.025342378765 0.000000000000 +vt 0.135559633374 0.023885395378 0.000000000000 +vt 0.134478226304 0.023776423186 0.000000000000 +vt 0.129616662860 0.030687112361 0.000000000000 +vt 0.127787277102 0.029326722026 0.000000000000 +vt 0.122677840292 0.035132572055 0.000000000000 +vt 0.121847249568 0.031333755702 0.000000000000 +vt 0.121459312737 0.026788320392 0.000000000000 +vt 0.126799300313 0.025711629540 0.000000000000 +vt 0.116022720933 0.031031373888 0.000000000000 +vt 0.116498008370 0.026107456535 0.000000000000 +vt 0.109646543860 0.029707010835 0.000000000000 +vt 0.110188722610 0.025318961591 0.000000000000 +vt 0.102204486728 0.027808953077 0.000000000000 +vt 0.102347925305 0.024181474000 0.000000000000 +vt 0.120979495347 0.024089615792 0.000000000000 +vt 0.116271957755 0.023522447795 0.000000000000 +vt 0.110184207559 0.022347588092 0.000000000000 +vt 0.102416366339 0.022239964455 0.000000000000 +vt 0.133086755872 0.021283280104 0.000000000000 +vt 0.125700771809 0.022800825536 0.000000000000 +vt 0.131805852056 0.019698411226 0.000000000000 +vt 0.140229582787 0.014688935131 0.000000000000 +vt 0.145475924015 0.010294806212 0.000000000000 +vt 0.152886912227 0.006676563993 0.000000000000 +vt 0.047576893121 0.122769504786 0.000000000000 +vt 0.044946629554 0.130904808640 0.000000000000 +vt 0.047352414578 0.114989265800 0.000000000000 +vt 0.044636588544 0.108223572373 0.000000000000 +vt 0.040943596512 0.101545020938 0.000000000000 +vt 0.041778694838 0.117057085037 0.000000000000 +vt 0.038933407515 0.109159991145 0.000000000000 +vt 0.042194779962 0.125491634011 0.000000000000 +vt 0.042258728296 0.131637245417 0.000000000000 +vt 0.150459289551 0.005439335480 0.000000000000 +vt 0.147406622767 0.004468692467 0.000000000000 +vt 0.143596783280 0.008389092982 0.000000000000 +vt 0.139240026474 0.012483991683 0.000000000000 +vt 0.039006810635 0.131603017449 0.000000000000 +vt 0.039525572211 0.125474527478 0.000000000000 +vt 0.038843121380 0.117890611291 0.000000000000 +vt 0.036237854511 0.109794244170 0.000000000000 +vt 0.035265412182 0.101655572653 0.000000000000 +vt 0.032339062542 0.095125168562 0.000000000000 +vt 0.030368058011 0.090082809329 0.000000000000 +vt 0.031399492174 0.094974085689 0.000000000000 +vt 0.033498387784 0.101733475924 0.000000000000 +vt 0.028639992699 0.086095318198 0.000000000000 +vt 0.025852348655 0.081437990069 0.000000000000 +vt 0.022753085941 0.076138511300 0.000000000000 +vt 0.023653708398 0.075184747577 0.000000000000 +vt 0.020847376436 0.069434955716 0.000000000000 +vt 0.021620105952 0.067643180490 0.000000000000 +vt 0.023307643831 0.064264953136 0.000000000000 +vt 0.017721544951 0.061841826886 0.000000000000 +vt 0.020375225693 0.059083905071 0.000000000000 +vt 0.053222205490 0.012929573655 0.000000000000 +vt 0.050235074013 0.010815139860 0.000000000000 +vt 0.056510146707 0.014634449035 0.000000000000 +vt 0.054663654417 0.018612489104 0.000000000000 +vt 0.060259204358 0.016382552683 0.000000000000 +vt 0.059049900621 0.020086579025 0.000000000000 +vt 0.058030847460 0.021122742444 0.000000000000 +vt 0.054247569293 0.019831027836 0.000000000000 +vt 0.056996259838 0.023039262742 0.000000000000 +vt 0.053340639919 0.022660780698 0.000000000000 +vt 0.055484797806 0.025647688657 0.000000000000 +vt 0.052176591009 0.025117896497 0.000000000000 +vt 0.049496565014 0.024186205119 0.000000000000 +vt 0.045745935291 0.023629847914 0.000000000000 +vt 0.047365020961 0.022347588092 0.000000000000 +vt 0.044394996017 0.020589802414 0.000000000000 +vt 0.045242708176 0.019883941859 0.000000000000 +vt 0.024909622967 0.052349288017 0.000000000000 +vt 0.025043588132 0.050973366946 0.000000000000 +vt 0.027739373967 0.047426950186 0.000000000000 +vt 0.024479579180 0.048439692706 0.000000000000 +vt 0.042350593954 0.024865496904 0.000000000000 +vt 0.042051356286 0.021227214485 0.000000000000 +vt 0.036529209465 0.022210467607 0.000000000000 +vt 0.037055846304 0.026330355555 0.000000000000 +vt 0.036963980645 0.028058420867 0.000000000000 +vt 0.031510043889 0.025784809142 0.000000000000 +vt 0.031432140619 0.027294699103 0.000000000000 +vt 0.036716084927 0.029509097338 0.000000000000 +vt 0.031419757754 0.028624013066 0.000000000000 +vt 0.027148788795 0.027899462730 0.000000000000 +vt 0.027295140550 0.028648782521 0.000000000000 +vt 0.036427881569 0.031031373888 0.000000000000 +vt 0.031274754554 0.029678862542 0.000000000000 +vt 0.027111416683 0.029242511839 0.000000000000 +vt 0.030949188396 0.030895829201 0.000000000000 +vt 0.035843607038 0.032156471163 0.000000000000 +vt 0.020707104355 0.028784547001 0.000000000000 +vt 0.022812303156 0.031886737794 0.000000000000 +vt 0.020281784236 0.029052484781 0.000000000000 +vt 0.023458946496 0.031434852630 0.000000000000 +vt 0.022109370679 0.032270174474 0.000000000000 +vt 0.020171005279 0.029769152403 0.000000000000 +vt 0.021504826844 0.032532032579 0.000000000000 +vt 0.025012519211 0.036299776286 0.000000000000 +vt 0.024063490331 0.036756169051 0.000000000000 +vt 0.023340519518 0.037314102054 0.000000000000 +vt 0.027483826503 0.041390310973 0.000000000000 +vt 0.026430319995 0.041890602559 0.000000000000 +vt 0.025338094682 0.042350146919 0.000000000000 +vt 0.029316132888 0.046764533967 0.000000000000 +vt 0.022701527923 0.043102841824 0.000000000000 +vt 0.030600195751 0.046093124896 0.000000000000 +vt 0.032929647714 0.049832727760 0.000000000000 +vt 0.031767170876 0.045388620347 0.000000000000 +vt 0.029398767278 0.040288627148 0.000000000000 +vt 0.032870430499 0.044547211379 0.000000000000 +vt 0.028457617387 0.040873128921 0.000000000000 +vt 0.030336765572 0.039641980082 0.000000000000 +vt 0.033799197525 0.043578144163 0.000000000000 +vt 0.037752252072 0.045114379376 0.000000000000 +vt 0.041783425957 0.044548790902 0.000000000000 +vt 0.025857076049 0.035843163729 0.000000000000 +vt 0.026734281331 0.035361554474 0.000000000000 +vt 0.041914243251 0.032859180123 0.000000000000 +vt 0.040793869644 0.033786371350 0.000000000000 +vt 0.030941305682 0.023799840361 0.000000000000 +vt 0.057466831058 0.013119827956 0.000000000000 +vt 0.054774206132 0.010378789157 0.000000000000 +vt 0.051085937768 0.008826795965 0.000000000000 +vt 0.051754426211 0.007754832506 0.000000000000 +vt 0.088373884559 0.020429264754 0.000000000000 +vt 0.088517308235 0.019399408251 0.000000000000 +vt 0.090854644775 0.019729707390 0.000000000000 +vt 0.090842038393 0.020712960511 0.000000000000 +vt 0.094946391881 0.022414457053 0.000000000000 +vt 0.095091395080 0.020460564643 0.000000000000 +vt 0.094299748540 0.025574509054 0.000000000000 +vt 0.090377770364 0.023751430213 0.000000000000 +vt 0.109390988946 0.033906377852 0.000000000000 +vt 0.101716801524 0.030102606863 0.000000000000 +vt 0.116005614400 0.037482291460 0.000000000000 +vt 0.123491324484 0.037183284760 0.000000000000 +vt 0.125074386597 0.041345056146 0.000000000000 +vt 0.130738392472 0.031681168824 0.000000000000 +vt 0.133287593722 0.035913188010 0.000000000000 +vt 0.135103031993 0.039498783648 0.000000000000 +vt 0.140455409884 0.028768789023 0.000000000000 +vt 0.144802927971 0.035279151052 0.000000000000 +vt 0.146699190140 0.040768656880 0.000000000000 +vt 0.137726977468 0.044129770249 0.000000000000 +vt 0.147504791617 0.045349668711 0.000000000000 +vt 0.138828665018 0.047825690359 0.000000000000 +vt 0.146984457970 0.048285465688 0.000000000000 +vt 0.138644710183 0.050088282675 0.000000000000 +vt 0.129806697369 0.052833821625 0.000000000000 +vt 0.169347777963 0.087803125381 0.000000000000 +vt 0.166878044605 0.096072614193 0.000000000000 +vt 0.123137615621 0.057648766786 0.000000000000 +vt 0.120253384113 0.063675940037 0.000000000000 +vt 0.115961924195 0.067340791225 0.000000000000 +vt 0.118732467294 0.069205984473 0.000000000000 +vt 0.118006333709 0.075494781137 0.000000000000 +vt 0.115131542087 0.074644148350 0.000000000000 +vt 0.109959736466 0.072775810957 0.000000000000 +vt 0.111552253366 0.064712107182 0.000000000000 +vt 0.102553710341 0.070056840777 0.000000000000 +vt 0.109609171748 0.082248091698 0.000000000000 +vt 0.100861445069 0.081328779459 0.000000000000 +vt 0.090299867094 0.080892428756 0.000000000000 +vt 0.091694474220 0.066030398011 0.000000000000 +vt 0.079119786620 0.055774118751 0.000000000000 +vt 0.072969444096 0.053520996124 0.000000000000 +vt 0.071013972163 0.047288250178 0.000000000000 +vt 0.068132661283 0.051054421812 0.000000000000 +vt 0.065332636237 0.054049205035 0.000000000000 +vt 0.061893608421 0.046331342310 0.000000000000 +vt 0.058749314398 0.049416642636 0.000000000000 +vt 0.061658326536 0.058715995401 0.000000000000 +vt 0.055071856827 0.053793657571 0.000000000000 +vt 0.052937161177 0.044756155461 0.000000000000 +vt 0.049072828144 0.049751672894 0.000000000000 +vt 0.058147702366 0.064059153199 0.000000000000 +vt 0.052524227649 0.058092769235 0.000000000000 +vt 0.045923579484 0.053873132914 0.000000000000 +vt 0.046409692615 0.047785166651 0.000000000000 +vt 0.043375950307 0.051665265113 0.000000000000 +vt 0.050428483635 0.061640765518 0.000000000000 +vt 0.043210681528 0.056986581534 0.000000000000 +vt 0.040099035949 0.054348435253 0.000000000000 +vt 0.039909008890 0.059638466686 0.000000000000 +vt 0.047191876918 0.065960139036 0.000000000000 +vt 0.038101460785 0.065509825945 0.000000000000 +vt 0.035400953144 0.074902862310 0.000000000000 +vt 0.055581387132 0.067733466625 0.000000000000 +vt 0.052806120366 0.071872040629 0.000000000000 +vt 0.060378994793 0.075755074620 0.000000000000 +vt 0.058071371168 0.078776419163 0.000000000000 +vt 0.055618759245 0.080065205693 0.000000000000 +vt 0.052734520286 0.079525962472 0.000000000000 +vt 0.053052444011 0.081367731094 0.000000000000 +vt 0.050789859146 0.083292141557 0.000000000000 +vt 0.049432624131 0.082779452205 0.000000000000 +vt 0.049594733864 0.085844501853 0.000000000000 +vt 0.048008512706 0.086075052619 0.000000000000 +vt 0.050535883754 0.089364573359 0.000000000000 +vt 0.049192603678 0.090299412608 0.000000000000 +vt 0.047464769334 0.090754449368 0.000000000000 +vt 0.045393791050 0.091461896896 0.000000000000 +vt 0.047896388918 0.095926046371 0.000000000000 +vt 0.049828443676 0.098826035857 0.000000000000 +vt 0.057419996709 0.081000059843 0.000000000000 +vt 0.060966644436 0.087109863758 0.000000000000 +vt 0.059794712812 0.087519645691 0.000000000000 +vt 0.060287129134 0.094168484211 0.000000000000 +vt 0.059352282435 0.093295782804 0.000000000000 +vt 0.062393907458 0.086673513055 0.000000000000 +vt 0.061801750213 0.096052348614 0.000000000000 +vt 0.049892392009 0.042724128813 0.000000000000 +vt 0.052075494081 0.038878478110 0.000000000000 +vt 0.055960100144 0.041236083955 0.000000000000 +vt 0.055889848620 0.035288382322 0.000000000000 +vt 0.060157891363 0.037993393838 0.000000000000 +vt 0.065116032958 0.042724128813 0.000000000000 +vt 0.064106442034 0.032941814512 0.000000000000 +vt 0.068679787219 0.036249794066 0.000000000000 +vt 0.074156686664 0.040447585285 0.000000000000 +vt 0.073277905583 0.031112428755 0.000000000000 +vt 0.077270135283 0.034540414810 0.000000000000 +vt 0.072071976960 0.025901664048 0.000000000000 +vt 0.069379344583 0.029083553702 0.000000000000 +vt 0.069463558495 0.025113392621 0.000000000000 +vt 0.067841313779 0.024271763861 0.000000000000 +vt 0.099162861705 0.091220304370 0.000000000000 +vt 0.089000269771 0.092127218843 0.000000000000 +vt 0.097078159451 0.097934648395 0.000000000000 +vt 0.087571434677 0.099022373557 0.000000000000 +vt 0.079772509634 0.101554468274 0.000000000000 +vt 0.086257882416 0.102638825774 0.000000000000 +vt 0.079043231905 0.105086937547 0.000000000000 +vt 0.075504690409 0.108024075627 0.000000000000 +vt 0.074613302946 0.105156958103 0.000000000000 +vt 0.073125250638 0.110627785325 0.000000000000 +vt 0.071593523026 0.108968392015 0.000000000000 +vt 0.070599466562 0.114607393742 0.000000000000 +vt 0.069200120866 0.112909048796 0.000000000000 +vt 0.067964471877 0.119090452790 0.000000000000 +vt 0.066672757268 0.117705300450 0.000000000000 +vt 0.065623983741 0.124006733298 0.000000000000 +vt 0.064179614186 0.123651430011 0.000000000000 +vt 0.064288586378 0.130211338401 0.000000000000 +vt 0.062253635377 0.130234748125 0.000000000000 +vt 0.058482732624 0.130786374211 0.000000000000 +vt 0.122141756117 0.148486047983 0.000000000000 +vt 0.127875998616 0.147998362780 0.000000000000 +vt 0.127665698528 0.150818660855 0.000000000000 +vt 0.122073300183 0.151981130242 0.000000000000 +vt 0.133205190301 0.149006605148 0.000000000000 +vt 0.133069649339 0.151248708367 0.000000000000 +vt 0.172021716833 0.016547817737 0.000000000000 +vt 0.169503584504 0.022040475160 0.000000000000 +vt 0.137767508626 0.149533241987 0.000000000000 +vt 0.137985691428 0.152411177754 0.000000000000 +vt 0.168945640326 0.028130020946 0.000000000000 +vt 0.129772469401 0.142226740718 0.000000000000 +vt 0.133960813284 0.145277813077 0.000000000000 +vt 0.137136399746 0.143440544605 0.000000000000 +vt 0.135624930263 0.133524268866 0.000000000000 +vt 0.137717753649 0.134089857340 0.000000000000 +vt 0.109607592225 0.111450493336 0.000000000000 +vt 0.100973561406 0.115215316415 0.000000000000 +vt 0.100111901760 0.112997993827 0.000000000000 +vt 0.109063848853 0.109449759126 0.000000000000 +vt 0.094076842070 0.114406555891 0.000000000000 +vt 0.109662085772 0.113127216697 0.000000000000 +vt 0.101924166083 0.117096036673 0.000000000000 +vt 0.118073418736 0.107520863414 0.000000000000 +vt 0.118896141648 0.109094470739 0.000000000000 +vt 0.119979143143 0.110803857446 0.000000000000 +vt 0.109627857804 0.115891456604 0.000000000000 +vt 0.121512211859 0.112745359540 0.000000000000 +vt 0.113743022084 0.119411528111 0.000000000000 +vt 0.123366601765 0.114860013127 0.000000000000 +vt 0.116215899587 0.122188150883 0.000000000000 +vt 0.104867622256 0.130242630839 0.000000000000 +vt 0.095320373774 0.140049934387 0.000000000000 +vt 0.118313208222 0.124379143119 0.000000000000 +vt 0.107863992453 0.133408755064 0.000000000000 +vt 0.099661588669 0.143760040402 0.000000000000 +vt 0.087192721665 0.108221992850 0.000000000000 +vt 0.082525931299 0.110838308930 0.000000000000 +vt 0.110880628228 0.135783463717 0.000000000000 +vt 0.103619366884 0.146102100611 0.000000000000 +vt 0.078900031745 0.113002493978 0.000000000000 +vt 0.114026710391 0.137971296906 0.000000000000 +vt 0.107220500708 0.147809907794 0.000000000000 +vt 0.075743131340 0.114870831370 0.000000000000 +vt 0.117038622499 0.139775693417 0.000000000000 +vt 0.110938265920 0.149550363421 0.000000000000 +vt 0.072325952351 0.116807609797 0.000000000000 +vt 0.121297188103 0.140570491552 0.000000000000 +vt 0.116660133004 0.148486047983 0.000000000000 +vt 0.070322073996 0.122125789523 0.000000000000 +vt 0.125169411302 0.141371369362 0.000000000000 +vt 0.067821048200 0.126478031278 0.000000000000 +vt 0.126182377338 0.130125775933 0.000000000000 +vt 0.128910809755 0.131200894713 0.000000000000 +vt 0.132871732116 0.132607877254 0.000000000000 +vt 0.133273646235 0.122961118817 0.000000000000 +vt 0.135723099113 0.124199911952 0.000000000000 +vt 0.137808039784 0.124982103705 0.000000000000 +vt 0.138423606753 0.117220535874 0.000000000000 +vt 0.140033245087 0.117920324206 0.000000000000 +vt 0.141472890973 0.118429854512 0.000000000000 +vt 0.139520570636 0.125482171774 0.000000000000 +vt 0.124876491725 0.103963419795 0.000000000000 +vt 0.117411032319 0.105984404683 0.000000000000 +vt 0.124236144125 0.102663815022 0.000000000000 +vt 0.129794090986 0.099442973733 0.000000000000 +vt 0.130341216922 0.100725457072 0.000000000000 +vt 0.131000250578 0.101975068450 0.000000000000 +vt 0.125632330775 0.105312764645 0.000000000000 +vt 0.131731107831 0.103181213140 0.000000000000 +vt 0.126520335674 0.106766596437 0.000000000000 +vt 0.127601757646 0.108326464891 0.000000000000 +vt 0.128798455000 0.109823748469 0.000000000000 +vt 0.130024880171 0.111135736108 0.000000000000 +vt 0.125136762857 0.116662845016 0.000000000000 +vt 0.131293177605 0.112291902304 0.000000000000 +vt 0.126648217440 0.118099555373 0.000000000000 +vt 0.120172336698 0.126228556037 0.000000000000 +vt 0.128081783652 0.119333624840 0.000000000000 +vt 0.122010938823 0.127758711576 0.000000000000 +vt 0.129577711225 0.120530337095 0.000000000000 +vt 0.123975865543 0.129045933485 0.000000000000 +vt 0.131254225969 0.121706768870 0.000000000000 +vt 0.133884489536 0.114366039634 0.000000000000 +vt 0.135243296623 0.115338250995 0.000000000000 +vt 0.136775031686 0.116316780448 0.000000000000 +vt 0.138644710183 0.110085606575 0.000000000000 +vt 0.139880597591 0.110813304782 0.000000000000 +vt 0.141141012311 0.111453637481 0.000000000000 +vt 0.142396926880 0.111997395754 0.000000000000 +vt 0.143704399467 0.112458750606 0.000000000000 +vt 0.137226909399 0.097607508302 0.000000000000 +vt 0.142870649695 0.102392718196 0.000000000000 +vt 0.137440353632 0.109256580472 0.000000000000 +vt 0.142222434282 0.101855054498 0.000000000000 +vt 0.143068566918 0.100842311978 0.000000000000 +vt 0.143592044711 0.099678248167 0.000000000000 +vt 0.136274725199 0.108363851905 0.000000000000 +vt 0.135182499886 0.107386663556 0.000000000000 +vt 0.132592767477 0.113364085555 0.000000000000 +vt 0.095187984407 0.102827504277 0.000000000000 +vt 0.094770319760 0.109039977193 0.000000000000 +vt 0.115190759301 0.083002358675 0.000000000000 +vt 0.117822378874 0.083010017872 0.000000000000 +vt 0.118609294295 0.089811727405 0.000000000000 +vt 0.145974636078 0.053520996124 0.000000000000 +vt 0.146114915609 0.056235466152 0.000000000000 +vt 0.139495581388 0.056631293148 0.000000000000 +vt 0.139889821410 0.054191056639 0.000000000000 +vt 0.119352757931 0.094131112099 0.000000000000 +vt 0.136199980974 0.055359613150 0.000000000000 +vt 0.119957312942 0.096627399325 0.000000000000 +vt 0.133549451828 0.056533124298 0.000000000000 +vt 0.144910335541 0.057005267590 0.000000000000 +vt 0.139738738537 0.057558249682 0.000000000000 +vt 0.145398020744 0.061774957925 0.000000000000 +vt 0.139342918992 0.061978947371 0.000000000000 +vt 0.149662911892 0.063947036862 0.000000000000 +vt 0.153687775135 0.067230239511 0.000000000000 +vt 0.155149489641 0.059760045260 0.000000000000 +vt 0.158387213945 0.062926396728 0.000000000000 +vt 0.157279461622 0.070296630263 0.000000000000 +vt 0.163594841957 0.066641241312 0.000000000000 +vt 0.153912261128 0.057711135596 0.000000000000 +vt 0.159546762705 0.060358505696 0.000000000000 +vt 0.164818108082 0.064783707261 0.000000000000 +vt 0.165087610483 0.069813668728 0.000000000000 +vt 0.167392298579 0.069913417101 0.000000000000 +vt 0.162909239531 0.058806512505 0.000000000000 +vt 0.168085560203 0.065015837550 0.000000000000 +vt 0.170962139964 0.071387514472 0.000000000000 +vt 0.171663269401 0.079518079758 0.000000000000 +vt 0.168453454971 0.075633481145 0.000000000000 +vt 0.154616549611 0.054712962359 0.000000000000 +vt 0.160480037332 0.072431325912 0.000000000000 +vt 0.165078386664 0.102370887995 0.000000000000 +vt 0.160031303763 0.101119697094 0.000000000000 +vt 0.153291955590 0.047032695264 0.000000000000 +vt 0.081070527434 0.018897537142 0.000000000000 +vt 0.085028529167 0.019402559847 0.000000000000 +vt 0.066250368953 0.017697680742 0.000000000000 +vt 0.060628462583 0.015371378511 0.000000000000 +vt 0.066359564662 0.016670975834 0.000000000000 +vt 0.071543760598 0.016661521047 0.000000000000 +vt 0.071405068040 0.017848987132 0.000000000000 +vt 0.075989224017 0.018615640700 0.000000000000 +vt 0.076596923172 0.017573174089 0.000000000000 +vt 0.017198059708 0.064038887620 0.000000000000 +vt 0.020149167627 0.070380836725 0.000000000000 +vt 0.016810115427 0.065315067768 0.000000000000 +vt 0.158577471972 0.046223942190 0.000000000000 +vt 0.102452382445 0.038576319814 0.000000000000 +vt 0.089843250811 0.037739418447 0.000000000000 +vt 0.086650550365 0.040033075958 0.000000000000 +vt 0.086444757879 0.038370531052 0.000000000000 +vt 0.089615844190 0.039254039526 0.000000000000 +vt 0.094363689423 0.042627539486 0.000000000000 +vt 0.089279234409 0.040964987129 0.000000000000 +vt 0.096154123545 0.044999096543 0.000000000000 +vt 0.099321827292 0.047730680555 0.000000000000 +vt 0.097085818648 0.047713566571 0.000000000000 +vt 0.095434077084 0.052601691335 0.000000000000 +vt 0.094276331365 0.051693182439 0.000000000000 +vt 0.089904040098 0.052642215043 0.000000000000 +vt 0.089681141078 0.050836246461 0.000000000000 +vt 0.084422186017 0.049848269671 0.000000000000 +vt 0.086022593081 0.049033429474 0.000000000000 +vt 0.082889109850 0.045797046274 0.000000000000 +vt 0.084425337613 0.045902874321 0.000000000000 +vt 0.084310062230 0.042319070548 0.000000000000 +vt 0.085408590734 0.043013904244 0.000000000000 +vt 0.083744473755 0.041396614164 0.000000000000 +vt 0.087161652744 0.041465062648 0.000000000000 +vt 0.089801147580 0.053888674825 0.000000000000 +vt 0.096400216222 0.053726788610 0.000000000000 +vt 0.101375699043 0.047830428928 0.000000000000 +vt 0.150993570685 0.099017649889 0.000000000000 +vt 0.131135791540 0.085984766483 0.000000000000 +vt 0.137482464314 0.092382773757 0.000000000000 +vt 0.135268285871 0.088904798031 0.000000000000 +vt 0.139503464103 0.089568555355 0.000000000000 +vt 0.136636331677 0.087804690003 0.000000000000 +vt 0.139095246792 0.088097617030 0.000000000000 +vt 0.141262590885 0.086944609880 0.000000000000 +vt 0.143028035760 0.087709680200 0.000000000000 +vt 0.052647162229 0.028242152184 0.000000000000 +vt 0.091367103159 0.114521846175 0.000000000000 +vt 0.024943847209 0.029597807676 0.000000000000 +vt 0.082706280053 0.355134129524 0.000000000000 +vt 0.085947386920 0.363250732422 0.000000000000 +vt 0.082174688578 0.364220470190 0.000000000000 +vt 0.079061470926 0.357818633318 0.000000000000 +vt 0.076576210558 0.349433183670 0.000000000000 +vt 0.074389949441 0.353636831045 0.000000000000 +vt 0.070025764406 0.352275311947 0.000000000000 +vt 0.069683760405 0.347608089447 0.000000000000 +vt 0.084169343114 0.377381920815 0.000000000000 +vt 0.080777153373 0.375979661942 0.000000000000 +vt 0.082553848624 0.370932579041 0.000000000000 +vt 0.086099147797 0.371338099241 0.000000000000 +vt 0.079547807574 0.364964604378 0.000000000000 +vt 0.080153018236 0.370642364025 0.000000000000 +vt 0.076729759574 0.359675943851 0.000000000000 +vt 0.073228374124 0.356270015240 0.000000000000 +vt 0.070341885090 0.355011194944 0.000000000000 +vt 0.078728012741 0.374791979790 0.000000000000 +vt 0.078406266868 0.379009783268 0.000000000000 +vt 0.081292532384 0.382708638906 0.000000000000 +vt 0.077228710055 0.376913607121 0.000000000000 +vt 0.076079964638 0.380043476820 0.000000000000 +vt 0.075517080724 0.383981227875 0.000000000000 +vt 0.075921684504 0.377626001835 0.000000000000 +vt 0.067173950374 0.353658229113 0.000000000000 +vt 0.068672135472 0.355914741755 0.000000000000 +vt 0.064776502550 0.349804252386 0.000000000000 +vt 0.072278216481 0.378946751356 0.000000000000 +vt 0.069932326674 0.382139891386 0.000000000000 +vt 0.073346585035 0.376760721207 0.000000000000 +vt 0.065008409321 0.358051896095 0.000000000000 +vt 0.067364208400 0.359130382538 0.000000000000 +vt 0.061515796930 0.356177270412 0.000000000000 +vt 0.067828252912 0.375058323145 0.000000000000 +vt 0.064983420074 0.377222746611 0.000000000000 +vt 0.069865681231 0.373641878366 0.000000000000 +vt 0.063662886620 0.364159464836 0.000000000000 +vt 0.066595532000 0.364011079073 0.000000000000 +vt 0.059879150242 0.364149570465 0.000000000000 +vt 0.064561255276 0.369833588600 0.000000000000 +vt 0.067180253565 0.369111299515 0.000000000000 +vt 0.061178293079 0.370929658413 0.000000000000 +vt 0.087921552360 0.351186037064 0.000000000000 +vt 0.091303609312 0.361563861370 0.000000000000 +vt 0.079885534942 0.343255817890 0.000000000000 +vt 0.069204851985 0.340724855661 0.000000000000 +vt 0.060809489340 0.344233006239 0.000000000000 +vt 0.055593322963 0.353128671646 0.000000000000 +vt 0.053862329572 0.363875776529 0.000000000000 +vt 0.055507313460 0.372740805149 0.000000000000 +vt 0.060099344701 0.380897492170 0.000000000000 +vt 0.066655874252 0.386289954185 0.000000000000 +vt 0.073765367270 0.388392239809 0.000000000000 +vt 0.081145055592 0.388035595417 0.000000000000 +vt 0.088785246015 0.377678692341 0.000000000000 +vt 0.087788932025 0.382556229830 0.000000000000 +vt 0.090708971024 0.371422529221 0.000000000000 +vt 0.098516449332 0.359101116657 0.000000000000 +vt 0.095570974052 0.371151894331 0.000000000000 +vt 0.081494718790 0.391452759504 0.000000000000 +vt 0.072904601693 0.391978055239 0.000000000000 +vt 0.087930560112 0.387041747570 0.000000000000 +vt 0.089069843292 0.390307635069 0.000000000000 +vt 0.093086160719 0.377379685640 0.000000000000 +vt 0.092234395444 0.382332623005 0.000000000000 +vt 0.096012048423 0.378206431866 0.000000000000 +vt 0.095273993909 0.382441610098 0.000000000000 +vt 0.098627001047 0.372742831707 0.000000000000 +vt 0.100691899657 0.375768691301 0.000000000000 +vt 0.097777709365 0.379422277212 0.000000000000 +vt 0.096909299493 0.382944613695 0.000000000000 +vt 0.064227119088 0.390731811523 0.000000000000 +vt 0.047463636845 0.374592483044 0.000000000000 +vt 0.045266803354 0.362910062075 0.000000000000 +vt 0.053129222244 0.386380702257 0.000000000000 +vt 0.055269774050 0.337182939053 0.000000000000 +vt 0.068264156580 0.332182705402 0.000000000000 +vt 0.047308508307 0.348847329617 0.000000000000 +vt 0.083508059382 0.335973203182 0.000000000000 +vt 0.092679306865 0.386310219765 0.000000000000 +vt 0.094604156911 0.389197170734 0.000000000000 +vt 0.096809998155 0.386411547661 0.000000000000 +vt 0.095029927790 0.385251104832 0.000000000000 +vt 0.098225995898 0.388757675886 0.000000000000 +vt 0.097066685557 0.389816790819 0.000000000000 +vt 0.098929613829 0.391160309315 0.000000000000 +vt 0.097326502204 0.391429573298 0.000000000000 +vt 0.094737671316 0.391862779856 0.000000000000 +vt 0.089453734457 0.392666131258 0.000000000000 +vt 0.081771887839 0.393726825714 0.000000000000 +vt 0.072946928442 0.394806444645 0.000000000000 +vt 0.063999712467 0.395681649446 0.000000000000 +vt 0.053615327924 0.396396279335 0.000000000000 +vt 0.041419353336 0.396926730871 0.000000000000 +vt 0.039976555854 0.386726528406 0.000000000000 +vt 0.037052463740 0.374329954386 0.000000000000 +vt 0.035149227828 0.359872728586 0.000000000000 +vt 0.038212914020 0.342804163694 0.000000000000 +vt 0.049577396363 0.328440159559 0.000000000000 +vt 0.067996665835 0.322506874800 0.000000000000 +vt 0.093688450754 0.346306473017 0.000000000000 +vt 0.088374562562 0.327701002359 0.000000000000 +vt 0.100369259715 0.339963853359 0.000000000000 +vt 0.105655893683 0.350941717625 0.000000000000 +vt 0.103044107556 0.365339487791 0.000000000000 +vt 0.108533605933 0.357757389545 0.000000000000 +vt 0.105408892035 0.369979262352 0.000000000000 +vt 0.098068401217 0.383108973503 0.000000000000 +vt 0.098497763276 0.385625302792 0.000000000000 +vt 0.101734369993 0.380148172379 0.000000000000 +vt 0.098705813289 0.380785822868 0.000000000000 +vt 0.099697157741 0.387924820185 0.000000000000 +vt 0.100644618273 0.390900254250 0.000000000000 +vt 0.105129703879 0.377691507339 0.000000000000 +vt 0.105785802007 0.382571756840 0.000000000000 +vt 0.103088900447 0.383172452450 0.000000000000 +vt 0.106459483504 0.386435866356 0.000000000000 +vt 0.104129120708 0.386695683002 0.000000000000 +vt 0.104879111052 0.390249550343 0.000000000000 +vt 0.102643325925 0.390611141920 0.000000000000 +vt 0.101812496781 0.387293249369 0.000000000000 +vt 0.099612280726 0.383124738932 0.000000000000 +vt 0.100343361497 0.384889960289 0.000000000000 +vt 0.101334720850 0.382499039173 0.000000000000 +vt 0.099765837193 0.381787300110 0.000000000000 +vt 0.101950511336 0.385482788086 0.000000000000 +vt 0.102647826076 0.385179489851 0.000000000000 +vt 0.102046653628 0.383690536022 0.000000000000 +vt 0.101413294673 0.384207725525 0.000000000000 +vt 0.101018831134 0.383238196373 0.000000000000 +vt 0.111804887652 0.347057133913 0.000000000000 +vt 0.113323777914 0.353700101376 0.000000000000 +vt 0.116853311658 0.353322982788 0.000000000000 +vt 0.117552861571 0.346509546041 0.000000000000 +vt 0.123864643276 0.349401652813 0.000000000000 +vt 0.120530322194 0.355773121119 0.000000000000 +vt 0.129755362868 0.355360180140 0.000000000000 +vt 0.124298743904 0.360911160707 0.000000000000 +vt 0.134041413665 0.362597793341 0.000000000000 +vt 0.127354532480 0.367429167032 0.000000000000 +vt 0.129645943642 0.373671829700 0.000000000000 +vt 0.136888504028 0.369591563940 0.000000000000 +vt 0.138823032379 0.375629991293 0.000000000000 +vt 0.131178572774 0.379008889198 0.000000000000 +vt 0.110230609775 0.361257672310 0.000000000000 +vt 0.113775447011 0.356992095709 0.000000000000 +vt 0.115981966257 0.356578052044 0.000000000000 +vt 0.118140742183 0.358845561743 0.000000000000 +vt 0.120337590575 0.363843351603 0.000000000000 +vt 0.122301377356 0.370323300362 0.000000000000 +vt 0.123794607818 0.376463502645 0.000000000000 +vt 0.125330835581 0.385786980391 0.000000000000 +vt 0.124756477773 0.381512612104 0.000000000000 +vt 0.132145613432 0.383721172810 0.000000000000 +vt 0.117319837213 0.365754455328 0.000000000000 +vt 0.116345807910 0.360568702221 0.000000000000 +vt 0.118315473199 0.372491776943 0.000000000000 +vt 0.119095861912 0.378632873297 0.000000000000 +vt 0.115259900689 0.358279764652 0.000000000000 +vt 0.113950163126 0.358692705631 0.000000000000 +vt 0.111850589514 0.362477779388 0.000000000000 +vt 0.109477445483 0.369221389294 0.000000000000 +vt 0.108606114984 0.376295775175 0.000000000000 +vt 0.108548924327 0.381853967905 0.000000000000 +vt 0.108668252826 0.385990947485 0.000000000000 +vt 0.109056636691 0.389389663935 0.000000000000 +vt 0.106977775693 0.389831870794 0.000000000000 +vt 0.115236923099 0.380258053541 0.000000000000 +vt 0.119639605284 0.383368134499 0.000000000000 +vt 0.115580737591 0.384713888168 0.000000000000 +vt 0.114937916398 0.374172329903 0.000000000000 +vt 0.114662095904 0.367107868195 0.000000000000 +vt 0.114699468017 0.361614972353 0.000000000000 +vt 0.114764764905 0.359385490417 0.000000000000 +vt 0.114121511579 0.359670996666 0.000000000000 +vt 0.113303065300 0.362503677607 0.000000000000 +vt 0.112174823880 0.368418276310 0.000000000000 +vt 0.111594587564 0.375343382359 0.000000000000 +vt 0.111402764916 0.381200790405 0.000000000000 +vt 0.111436754465 0.385559558868 0.000000000000 +vt 0.111605182290 0.388848632574 0.000000000000 +vt 0.140208870173 0.380911469460 0.000000000000 +vt 0.120046690106 0.387208133936 0.000000000000 +vt 0.116041406989 0.388132423162 0.000000000000 +vt 0.108075186610 0.335427641869 0.000000000000 +vt 0.097032681108 0.317022114992 0.000000000000 +vt 0.068101368845 0.311556011438 0.000000000000 +vt 0.117994397879 0.334477722645 0.000000000000 +vt 0.128177925944 0.338179260492 0.000000000000 +vt 0.136790558696 0.345966488123 0.000000000000 +vt 0.142394453287 0.355307698250 0.000000000000 +vt 0.145550668240 0.364030212164 0.000000000000 +vt 0.147579327226 0.371295541525 0.000000000000 +vt 0.149121865630 0.377288043499 0.000000000000 +vt 0.117433980107 0.316912233829 0.000000000000 +vt 0.132998272777 0.322530061007 0.000000000000 +vt 0.144912809134 0.333580464125 0.000000000000 +vt 0.151742890477 0.346387058496 0.000000000000 +vt 0.155101761222 0.357449173927 0.000000000000 +vt 0.157138064504 0.366050541401 0.000000000000 +vt 0.158694103360 0.372791916132 0.000000000000 +vt 0.093021988869 0.298639088869 0.000000000000 +vt 0.116434976459 0.299687176943 0.000000000000 +vt 0.137037336826 0.306387364864 0.000000000000 +vt 0.152599602938 0.319078207016 0.000000000000 +vt 0.161577224731 0.334434717894 0.000000000000 +vt 0.165657475591 0.348677575588 0.000000000000 +vt 0.167427644134 0.359111487865 0.000000000000 +vt 0.169053271413 0.366990566254 0.000000000000 +vt 0.066684693098 0.299283713102 0.000000000000 +vt 0.044727105647 0.318464457989 0.000000000000 +vt 0.029994530603 0.333837360144 0.000000000000 +vt 0.023920066655 0.352325320244 0.000000000000 +vt 0.023143958300 0.369406253099 0.000000000000 +vt 0.024057183415 0.384051918983 0.000000000000 +vt 0.024341106415 0.396830379963 0.000000000000 +vt 0.177712291479 0.335085839033 0.000000000000 +vt 0.181121811271 0.347459256649 0.000000000000 +vt 0.170949757099 0.319616109133 0.000000000000 +vt 0.158325985074 0.304390668869 0.000000000000 +vt 0.139046162367 0.292386740446 0.000000000000 +vt 0.114894911647 0.285406500101 0.000000000000 +vt 0.089810602367 0.284732818604 0.000000000000 +vt 0.064246259630 0.287257254124 0.000000000000 +vt 0.060561817139 0.275299966335 0.000000000000 +vt 0.085912264884 0.272128403187 0.000000000000 +vt 0.112814709544 0.271828740835 0.000000000000 +vt 0.139997899532 0.280653685331 0.000000000000 +vt 0.162012219429 0.289723157883 0.000000000000 +vt 0.177664101124 0.300114750862 0.000000000000 +vt 0.190142661333 0.313898980618 0.000000000000 +vt 0.198672652245 0.327432364225 0.000000000000 +vt 0.205239757895 0.340885162354 0.000000000000 +vt 0.183992534876 0.357445776463 0.000000000000 +vt 0.069244705141 0.368339478970 0.000000000000 +vt 0.071158297360 0.372511804104 0.000000000000 +vt 0.073666974902 0.375427126884 0.000000000000 +vt 0.075608938932 0.376399338245 0.000000000000 +vt 0.076639704406 0.375857174397 0.000000000000 +vt 0.077665731311 0.373797893524 0.000000000000 +vt 0.078264869750 0.370282560587 0.000000000000 +vt 0.077448233962 0.365520745516 0.000000000000 +vt 0.075266703963 0.360965639353 0.000000000000 +vt 0.072741590440 0.357893168926 0.000000000000 +vt 0.070687949657 0.356488436460 0.000000000000 +vt 0.069615535438 0.357108056545 0.000000000000 +vt 0.068887837231 0.359731346369 0.000000000000 +vt 0.068630032241 0.363813161850 0.000000000000 +vt 0.070949353278 0.367750674486 0.000000000000 +vt 0.072260208428 0.371762514114 0.000000000000 +vt 0.074021823704 0.374623537064 0.000000000000 +vt 0.075438044965 0.375722974539 0.000000000000 +vt 0.076083339751 0.375304430723 0.000000000000 +vt 0.076256714761 0.373671144247 0.000000000000 +vt 0.077135719359 0.370294928551 0.000000000000 +vt 0.076337769628 0.365889549255 0.000000000000 +vt 0.074512436986 0.361760437489 0.000000000000 +vt 0.072514630854 0.358907490969 0.000000000000 +vt 0.070951603353 0.357409089804 0.000000000000 +vt 0.070442758501 0.357752889395 0.000000000000 +vt 0.070120111108 0.359841883183 0.000000000000 +vt 0.070317119360 0.363489836454 0.000000000000 +vt 0.095527067780 0.433499604464 0.000000000000 +vt 0.089006572962 0.431389659643 0.000000000000 +vt 0.089679561555 0.423253923655 0.000000000000 +vt 0.095813460648 0.423289269209 0.000000000000 +vt 0.090270593762 0.442476540804 0.000000000000 +vt 0.085782580078 0.438130587339 0.000000000000 +vt 0.082391515374 0.447095155716 0.000000000000 +vt 0.081284202635 0.441373258829 0.000000000000 +vt 0.088421173394 0.409246772528 0.000000000000 +vt 0.092461802065 0.414794385433 0.000000000000 +vt 0.088074430823 0.416153192520 0.000000000000 +vt 0.085401162505 0.411531209946 0.000000000000 +vt 0.085601098835 0.423056453466 0.000000000000 +vt 0.085188619792 0.417149722576 0.000000000000 +vt 0.084852233529 0.429683655500 0.000000000000 +vt 0.083113588393 0.435138046741 0.000000000000 +vt 0.080847173929 0.437920957804 0.000000000000 +vt 0.083637073636 0.413283139467 0.000000000000 +vt 0.082392193377 0.409229904413 0.000000000000 +vt 0.084188699722 0.404711484909 0.000000000000 +vt 0.081871181726 0.411629140377 0.000000000000 +vt 0.079863473773 0.408857047558 0.000000000000 +vt 0.078159049153 0.404978066683 0.000000000000 +vt 0.080601528287 0.411386430264 0.000000000000 +vt 0.077497541904 0.440609782934 0.000000000000 +vt 0.078839689493 0.437481015921 0.000000000000 +vt 0.075624249876 0.445949316025 0.000000000000 +vt 0.076512485743 0.410979568958 0.000000000000 +vt 0.072959765792 0.408222317696 0.000000000000 +vt 0.078687265515 0.412980526686 0.000000000000 +vt 0.074185512960 0.435919106007 0.000000000000 +vt 0.076881967485 0.434023529291 0.000000000000 +vt 0.070257902145 0.439116775990 0.000000000000 +vt 0.073384404182 0.416101634502 0.000000000000 +vt 0.069238848984 0.414494931698 0.000000000000 +vt 0.076494477689 0.417049527168 0.000000000000 +vt 0.072321221232 0.429132491350 0.000000000000 +vt 0.075570665300 0.428600221872 0.000000000000 +vt 0.067612551153 0.430139392614 0.000000000000 +vt 0.072135694325 0.422728389502 0.000000000000 +vt 0.075469121337 0.422917068005 0.000000000000 +vt 0.067447289824 0.422248363495 0.000000000000 +vt 0.102335080504 0.423187494278 0.000000000000 +vt 0.103228494525 0.435963690281 0.000000000000 +vt 0.096575386822 0.448499649763 0.000000000000 +vt 0.084121152759 0.455617934465 0.000000000000 +vt 0.072271011770 0.453928828239 0.000000000000 +vt 0.063513830304 0.444215625525 0.000000000000 +vt 0.059691589326 0.431783914566 0.000000000000 +vt 0.059796515852 0.421276837587 0.000000000000 +vt 0.062896229327 0.411542922258 0.000000000000 +vt 0.068578697741 0.404683113098 0.000000000000 +vt 0.075288772583 0.400957018137 0.000000000000 +vt 0.082664631307 0.399442404509 0.000000000000 +vt 0.090280279517 0.402916997671 0.000000000000 +vt 0.092445820570 0.407546848059 0.000000000000 +vt 0.097145929933 0.413269847631 0.000000000000 +vt 0.101524755359 0.411767631769 0.000000000000 +vt 0.108704730868 0.422636747360 0.000000000000 +vt 0.073573760688 0.397591859102 0.000000000000 +vt 0.082102417946 0.395999342203 0.000000000000 +vt 0.089554600418 0.398501247168 0.000000000000 +vt 0.089799568057 0.395039051771 0.000000000000 +vt 0.096459656954 0.406454414129 0.000000000000 +vt 0.094413220882 0.401787608862 0.000000000000 +vt 0.097341135144 0.400798738003 0.000000000000 +vt 0.099026650190 0.404693007469 0.000000000000 +vt 0.103435859084 0.409006088972 0.000000000000 +vt 0.100435674191 0.402943789959 0.000000000000 +vt 0.104281768203 0.405376374722 0.000000000000 +vt 0.098907768726 0.399778544903 0.000000000000 +vt 0.065163768828 0.400598347187 0.000000000000 +vt 0.049860190600 0.420209825039 0.000000000000 +vt 0.048853974789 0.434106171131 0.000000000000 +vt 0.054477673024 0.406693518162 0.000000000000 +vt 0.086032271385 0.466448366642 0.000000000000 +vt 0.067181386054 0.464296758175 0.000000000000 +vt 0.053818415850 0.451216369867 0.000000000000 +vt 0.103748381138 0.455393463373 0.000000000000 +vt 0.094275876880 0.397762984037 0.000000000000 +vt 0.095426648855 0.394399613142 0.000000000000 +vt 0.096762046218 0.398063540459 0.000000000000 +vt 0.098227351904 0.396364301443 0.000000000000 +vt 0.097545132041 0.393038094044 0.000000000000 +vt 0.098932549357 0.393664687872 0.000000000000 +vt 0.040455233306 0.407481104136 0.000000000000 +vt 0.037843432277 0.421338081360 0.000000000000 +vt 0.036472912878 0.438838243484 0.000000000000 +vt 0.042982604355 0.460524737835 0.000000000000 +vt 0.062214907259 0.477089822292 0.000000000000 +vt 0.089566305280 0.478372305632 0.000000000000 +vt 0.111008062959 0.438808530569 0.000000000000 +vt 0.113180801272 0.462344437838 0.000000000000 +vt 0.120472237468 0.442430824041 0.000000000000 +vt 0.117490500212 0.428076952696 0.000000000000 +vt 0.109111800790 0.414127260447 0.000000000000 +vt 0.115140110254 0.419330358505 0.000000000000 +vt 0.109508290887 0.408478111029 0.000000000000 +vt 0.099965557456 0.396614462137 0.000000000000 +vt 0.100016877055 0.399250566959 0.000000000000 +vt 0.101089760661 0.401380300522 0.000000000000 +vt 0.104426547885 0.401133537292 0.000000000000 +vt 0.100525066257 0.394041150808 0.000000000000 +vt 0.108131244779 0.401879489422 0.000000000000 +vt 0.105194106698 0.397765219212 0.000000000000 +vt 0.107807472348 0.397282481194 0.000000000000 +vt 0.105133533478 0.393932640553 0.000000000000 +vt 0.107335999608 0.393302202225 0.000000000000 +vt 0.102719649673 0.394079893827 0.000000000000 +vt 0.101905718446 0.396900862455 0.000000000000 +vt 0.101522728801 0.398900896311 0.000000000000 +vt 0.101974606514 0.400191038847 0.000000000000 +vt 0.103468522429 0.399126052856 0.000000000000 +vt 0.104171678424 0.395909041166 0.000000000000 +vt 0.103377550840 0.395803213120 0.000000000000 +vt 0.103972420096 0.397658735514 0.000000000000 +vt 0.103157803416 0.397318959236 0.000000000000 +vt 0.102937594056 0.398482114077 0.000000000000 +vt 0.120900921524 0.421827554703 0.000000000000 +vt 0.125391185284 0.429458737373 0.000000000000 +vt 0.124984331429 0.420799940825 0.000000000000 +vt 0.132154166698 0.427056103945 0.000000000000 +vt 0.128460273147 0.416311025620 0.000000000000 +vt 0.138081595302 0.420313149691 0.000000000000 +vt 0.142197445035 0.410675615072 0.000000000000 +vt 0.131676614285 0.408927738667 0.000000000000 +vt 0.133587732911 0.401068240404 0.000000000000 +vt 0.143351808190 0.401146143675 0.000000000000 +vt 0.133652120829 0.394226670265 0.000000000000 +vt 0.142618030310 0.392982929945 0.000000000000 +vt 0.132911369205 0.388540625572 0.000000000000 +vt 0.141394317150 0.386369884014 0.000000000000 +vt 0.114809587598 0.414815992117 0.000000000000 +vt 0.119088873267 0.418000578880 0.000000000000 +vt 0.121582247317 0.417691677809 0.000000000000 +vt 0.123152919114 0.414221823215 0.000000000000 +vt 0.124552257359 0.408110886812 0.000000000000 +vt 0.125927954912 0.401200413704 0.000000000000 +vt 0.126286625862 0.395116031170 0.000000000000 +vt 0.125815823674 0.390080004930 0.000000000000 +vt 0.120327234268 0.413139492273 0.000000000000 +vt 0.120299309492 0.407533794641 0.000000000000 +vt 0.120726875961 0.401063978672 0.000000000000 +vt 0.120826847851 0.395488440990 0.000000000000 +vt 0.119930967689 0.416081815958 0.000000000000 +vt 0.118429407477 0.416086316109 0.000000000000 +vt 0.115609556437 0.412894517183 0.000000000000 +vt 0.112695828080 0.407353222370 0.000000000000 +vt 0.111295580864 0.401569455862 0.000000000000 +vt 0.110395416617 0.396767795086 0.000000000000 +vt 0.109471604228 0.392846018076 0.000000000000 +vt 0.116785764694 0.395642906427 0.000000000000 +vt 0.116270169616 0.391529113054 0.000000000000 +vt 0.120401531458 0.391011029482 0.000000000000 +vt 0.117080941796 0.400902092457 0.000000000000 +vt 0.117325022817 0.407227128744 0.000000000000 +vt 0.118285760283 0.412657201290 0.000000000000 +vt 0.118986204267 0.415048807859 0.000000000000 +vt 0.118248149753 0.414979010820 0.000000000000 +vt 0.116768434644 0.412282764912 0.000000000000 +vt 0.114910230041 0.406959205866 0.000000000000 +vt 0.113860324025 0.401094585657 0.000000000000 +vt 0.113027706742 0.396125406027 0.000000000000 +vt 0.112157255411 0.392097175121 0.000000000000 +vt 0.130801886320 0.442939460278 0.000000000000 +vt 0.128610894084 0.468570888042 0.000000000000 +vt 0.094356708229 0.491361290216 0.000000000000 +vt 0.141893029213 0.437752097845 0.000000000000 +vt 0.150102630258 0.427333265543 0.000000000000 +vt 0.154337808490 0.414093464613 0.000000000000 +vt 0.154476270080 0.401521474123 0.000000000000 +vt 0.152643069625 0.391335010529 0.000000000000 +vt 0.150666207075 0.383463352919 0.000000000000 +vt 0.151377916336 0.454670488834 0.000000000000 +vt 0.163681745529 0.437636584044 0.000000000000 +vt 0.168372631073 0.418352723122 0.000000000000 +vt 0.166913852096 0.401432096958 0.000000000000 +vt 0.163569614291 0.388818919659 0.000000000000 +vt 0.160684034228 0.379647225142 0.000000000000 +vt 0.159950926900 0.471008867025 0.000000000000 +vt 0.132880300283 0.489435285330 0.000000000000 +vt 0.177281573415 0.447766780853 0.000000000000 +vt 0.184215664864 0.422988891602 0.000000000000 +vt 0.181977853179 0.401209205389 0.000000000000 +vt 0.176495552063 0.385539740324 0.000000000000 +vt 0.171912297606 0.374865829945 0.000000000000 +vt 0.098764792085 0.505384683609 0.000000000000 +vt 0.058615576476 0.491276592016 0.000000000000 +vt 0.294122487307 0.343028873205 0.000000000000 +vt 0.033512126654 0.473827123642 0.000000000000 +vt 0.022036869079 0.449060529470 0.000000000000 +vt 0.304196149111 0.365502059460 0.000000000000 +vt 0.294669389725 0.374178409576 0.000000000000 +vt 0.283370435238 0.353863328695 0.000000000000 +vt 0.021253105253 0.427221357822 0.000000000000 +vt 0.316540300846 0.419560700655 0.000000000000 +vt 0.308288812637 0.422085821629 0.000000000000 +vt 0.304480075836 0.396445810795 0.000000000000 +vt 0.312906295061 0.403799384832 0.000000000000 +vt 0.320418357849 0.438478231430 0.000000000000 +vt 0.309799134731 0.442829579115 0.000000000000 +vt 0.322631418705 0.453612715006 0.000000000000 +vt 0.308162033558 0.458434849977 0.000000000000 +vt 0.322842836380 0.466000735760 0.000000000000 +vt 0.304739683867 0.470083713531 0.000000000000 +vt 0.321488976479 0.476586610079 0.000000000000 +vt 0.301276564598 0.479211658239 0.000000000000 +vt 0.318110078573 0.486222833395 0.000000000000 +vt 0.298631459475 0.487806051970 0.000000000000 +vt 0.342029422522 0.477887094021 0.000000000000 +vt 0.335520654917 0.489814013243 0.000000000000 +vt 0.338924765587 0.462258905172 0.000000000000 +vt 0.335986942053 0.447854578495 0.000000000000 +vt 0.331019103527 0.432695329189 0.000000000000 +vt 0.324403166771 0.415379106998 0.000000000000 +vt 0.317968666553 0.397860914469 0.000000000000 +vt 0.311544537544 0.382980197668 0.000000000000 +vt 0.292794078588 0.320117980242 0.000000000000 +vt 0.322062432766 0.330567449331 0.000000000000 +vt 0.310178071260 0.344646602869 0.000000000000 +vt 0.321752399206 0.375562220812 0.000000000000 +vt 0.315860539675 0.358816295862 0.000000000000 +vt 0.327765852213 0.391973108053 0.000000000000 +vt 0.334508121014 0.409605920315 0.000000000000 +vt 0.341052263975 0.426227092743 0.000000000000 +vt 0.345613449812 0.441917032003 0.000000000000 +vt 0.349559307098 0.456911921501 0.000000000000 +vt 0.353330194950 0.470938861370 0.000000000000 +vt 0.352067083120 0.491384476423 0.000000000000 +vt 0.346471965313 0.498636275530 0.000000000000 +vt 0.357014626265 0.482859700918 0.000000000000 +vt 0.023049619049 0.410277992487 0.000000000000 +vt 0.188200235367 0.367613345385 0.000000000000 +vt 0.193979293108 0.380675494671 0.000000000000 +vt 0.199914619327 0.400077104568 0.000000000000 +vt 0.200497537851 0.426822185516 0.000000000000 +vt 0.188813567162 0.456079959869 0.000000000000 +vt 0.165967300534 0.483203917742 0.000000000000 +vt 0.135587558150 0.503403544426 0.000000000000 +vt 0.101455852389 0.518397510052 0.000000000000 +vt 0.136549651623 0.514204204082 0.000000000000 +vt 0.102526023984 0.530645966530 0.000000000000 +vt 0.170128390193 0.491040199995 0.000000000000 +vt 0.198282465339 0.460966050625 0.000000000000 +vt 0.217465236783 0.429308772087 0.000000000000 +vt 0.220426246524 0.397770404816 0.000000000000 +vt 0.216484680772 0.373772233725 0.000000000000 +vt 0.211094245315 0.355721533298 0.000000000000 +vt 0.078403115273 0.417854249477 0.000000000000 +vt 0.077661454678 0.423130065203 0.000000000000 +vt 0.361433088779 0.473092228174 0.000000000000 +vt 0.358897387981 0.464050680399 0.000000000000 +vt 0.356920510530 0.451468318701 0.000000000000 +vt 0.079683125019 0.414227455854 0.000000000000 +vt 0.080865636468 0.412698864937 0.000000000000 +vt 0.081717401743 0.412858963013 0.000000000000 +vt 0.082934811711 0.414582073689 0.000000000000 +vt 0.083612754941 0.417999476194 0.000000000000 +vt 0.083627842367 0.422989368439 0.000000000000 +vt 0.355338811874 0.436321228743 0.000000000000 +vt 0.352934360504 0.420035988092 0.000000000000 +vt 0.348425179720 0.402650177479 0.000000000000 +vt 0.342104852200 0.385241180658 0.000000000000 +vt 0.336092978716 0.368649065495 0.000000000000 +vt 0.083053693175 0.428555428982 0.000000000000 +vt 0.331038475037 0.351473778486 0.000000000000 +vt 0.295939028263 0.301119387150 0.000000000000 +vt 0.322564095259 0.306299775839 0.000000000000 +vt 0.297336816788 0.282364428043 0.000000000000 +vt 0.323178768158 0.284241318703 0.000000000000 +vt 0.367684066296 0.461390703917 0.000000000000 +vt 0.363470733166 0.458035647869 0.000000000000 +vt 0.364652335644 0.447590470314 0.000000000000 +vt 0.365994274616 0.432411193848 0.000000000000 +vt 0.366280674934 0.415150791407 0.000000000000 +vt 0.364420890808 0.396647334099 0.000000000000 +vt 0.360572069883 0.378713041544 0.000000000000 +vt 0.356490701437 0.362032413483 0.000000000000 +vt 0.353067219257 0.345778703690 0.000000000000 +vt 0.350522726774 0.327914893627 0.000000000000 +vt 0.348939448595 0.305953025818 0.000000000000 +vt 0.346083581448 0.277952730656 0.000000000000 +vt 0.373975127935 0.447995543480 0.000000000000 +vt 0.379207283258 0.431906849146 0.000000000000 +vt 0.382956564426 0.412491261959 0.000000000000 +vt 0.384116321802 0.392035484314 0.000000000000 +vt 0.382254749537 0.373682171106 0.000000000000 +vt 0.379626274109 0.358964234591 0.000000000000 +vt 0.377992331982 0.345823734999 0.000000000000 +vt 0.377301573753 0.329902321100 0.000000000000 +vt 0.376336544752 0.303653508425 0.000000000000 +vt 0.370527774096 0.266846507788 0.000000000000 +vt 0.216167435050 0.467717558146 0.000000000000 +vt 0.210370138288 0.459447145462 0.000000000000 +vt 0.081996142864 0.433199465275 0.000000000000 +vt 0.222096204758 0.439130961895 0.000000000000 +vt 0.226445078850 0.444121509790 0.000000000000 +vt 0.233966410160 0.386992007494 0.000000000000 +vt 0.231436342001 0.403846651316 0.000000000000 +vt 0.228788286448 0.415274649858 0.000000000000 +vt 0.231669127941 0.390098005533 0.000000000000 +vt 0.233401954174 0.365559697151 0.000000000000 +vt 0.227946877480 0.368952572346 0.000000000000 +vt 0.222369551659 0.352989733219 0.000000000000 +vt 0.231268167496 0.347663909197 0.000000000000 +vt 0.228197038174 0.333069592714 0.000000000000 +vt 0.215772062540 0.341411590576 0.000000000000 +vt 0.225630939007 0.321423888206 0.000000000000 +vt 0.210557922721 0.332115828991 0.000000000000 +vt 0.240293502808 0.310512185097 0.000000000000 +vt 0.238473564386 0.327548325062 0.000000000000 +vt 0.237924396992 0.344880312681 0.000000000000 +vt 0.237548619509 0.364148646593 0.000000000000 +vt 0.080796964467 0.435884207487 0.000000000000 +vt 0.235683202744 0.385488867760 0.000000000000 +vt 0.233118027449 0.406267970800 0.000000000000 +vt 0.231307089329 0.424209684134 0.000000000000 +vt 0.210896104574 0.489333540201 0.000000000000 +vt 0.228112816811 0.462109386921 0.000000000000 +vt 0.236405730247 0.472126305103 0.000000000000 +vt 0.236261844635 0.426290810108 0.000000000000 +vt 0.232935667038 0.445951789618 0.000000000000 +vt 0.237997591496 0.406573981047 0.000000000000 +vt 0.240250259638 0.385305374861 0.000000000000 +vt 0.242734611034 0.364867120981 0.000000000000 +vt 0.244929671288 0.346436828375 0.000000000000 +vt 0.247872665524 0.330308973789 0.000000000000 +vt 0.250990182161 0.316065877676 0.000000000000 +vt 0.249255821109 0.295715004206 0.000000000000 +vt 0.254375159740 0.304102927446 0.000000000000 +vt 0.259052336216 0.313747882843 0.000000000000 +vt 0.256746292114 0.322819858789 0.000000000000 +vt 0.255218595266 0.335408508778 0.000000000000 +vt 0.254195064306 0.350621551275 0.000000000000 +vt 0.252835571766 0.367554813623 0.000000000000 +vt 0.250323951244 0.386674314737 0.000000000000 +vt 0.247343555093 0.407099246979 0.000000000000 +vt 0.244989335537 0.426806420088 0.000000000000 +vt 0.242804884911 0.447076678276 0.000000000000 +vt 0.235569059849 0.496732383966 0.000000000000 +vt 0.210636273026 0.507261335850 0.000000000000 +vt 0.265602082014 0.325080633163 0.000000000000 +vt 0.261477023363 0.328609049320 0.000000000000 +vt 0.262952446938 0.338707923889 0.000000000000 +vt 0.264598786831 0.353362590075 0.000000000000 +vt 0.265408009291 0.370452553034 0.000000000000 +vt 0.264614790678 0.389507651329 0.000000000000 +vt 0.262594908476 0.408623784781 0.000000000000 +vt 0.260723888874 0.426476329565 0.000000000000 +vt 0.259777098894 0.444406121969 0.000000000000 +vt 0.259517729282 0.464280545712 0.000000000000 +vt 0.259723722935 0.488092929125 0.000000000000 +vt 0.272190570831 0.337464153767 0.000000000000 +vt 0.277376800776 0.352163642645 0.000000000000 +vt 0.281132608652 0.370615124702 0.000000000000 +vt 0.283069849014 0.391205787659 0.000000000000 +vt 0.282786369324 0.410528808832 0.000000000000 +vt 0.281975150108 0.425936192274 0.000000000000 +vt 0.281850397587 0.438871800900 0.000000000000 +vt 0.282650381327 0.454188883305 0.000000000000 +vt 0.285106837749 0.479603022337 0.000000000000 +vt 0.079694159329 0.435663342476 0.000000000000 +vt 0.078524023294 0.432797789574 0.000000000000 +vt 0.077620923519 0.428230971098 0.000000000000 +vt 0.079657681286 0.418213814497 0.000000000000 +vt 0.079307116568 0.423214733601 0.000000000000 +vt 0.080295994878 0.414836943150 0.000000000000 +vt 0.080963805318 0.413298457861 0.000000000000 +vt 0.081294111907 0.413456052542 0.000000000000 +vt 0.081488415599 0.414713323116 0.000000000000 +vt 0.082648865879 0.418150305748 0.000000000000 +vt 0.082757845521 0.422904253006 0.000000000000 +vt 0.082332074642 0.427900880575 0.000000000000 +vt 0.081549659371 0.432032704353 0.000000000000 +vt 0.080782778561 0.434659361839 0.000000000000 +vt 0.080355659127 0.434551537037 0.000000000000 +vt 0.079714648426 0.432231515646 0.000000000000 +vt 0.079296082258 0.428110510111 0.000000000000 +vt 0.221947401762 0.311564117670 0.000000000000 +vt 0.206676691771 0.323618710041 0.000000000000 +vt 0.234236359596 0.298808634281 0.000000000000 +vt 0.243671953678 0.288532763720 0.000000000000 +vt 0.210074737668 0.525931179523 0.000000000000 +vt 0.234980046749 0.519074082375 0.000000000000 +vt 0.258448451757 0.516759932041 0.000000000000 +vt 0.285151630640 0.516420423985 0.000000000000 +vt 0.195827364922 0.027920853347 0.000000000000 +vt 0.193216472864 0.025534208864 0.000000000000 +vt 0.208045646548 0.014590993524 0.000000000000 +vt 0.209939867258 0.017815891653 0.000000000000 +vt 0.219733223319 0.012098524719 0.000000000000 +vt 0.219577640295 0.015777334571 0.000000000000 +vt 0.231459319592 0.012075107545 0.000000000000 +vt 0.230521082878 0.016644857824 0.000000000000 +vt 0.243238985538 0.012886568904 0.000000000000 +vt 0.242090910673 0.019283901900 0.000000000000 +vt 0.254986017942 0.014112763107 0.000000000000 +vt 0.254209905863 0.020853456110 0.000000000000 +vt 0.268618255854 0.021859001368 0.000000000000 +vt 0.266599744558 0.015186753124 0.000000000000 +vt 0.278297692537 0.015581674874 0.000000000000 +vt 0.280311465263 0.022918354720 0.000000000000 +vt 0.294243395329 0.017284523696 0.000000000000 +vt 0.290962666273 0.024005178362 0.000000000000 +vt 0.296158790588 0.030226442963 0.000000000000 +vt 0.300414890051 0.029313210398 0.000000000000 +vt 0.303686618805 0.042154934257 0.000000000000 +vt 0.299199730158 0.041589122266 0.000000000000 +vt 0.303400695324 0.052850034088 0.000000000000 +vt 0.299067586660 0.051488291472 0.000000000000 +vt 0.301245510578 0.063028395176 0.000000000000 +vt 0.297050625086 0.061028119177 0.000000000000 +vt 0.188072130084 0.041658472270 0.000000000000 +vt 0.184647515416 0.040359999985 0.000000000000 +vt 0.185590237379 0.054300930351 0.000000000000 +vt 0.180999323726 0.054078709334 0.000000000000 +vt 0.186842098832 0.067733690143 0.000000000000 +vt 0.180815145373 0.066969290376 0.000000000000 +vt 0.187923297286 0.082707628608 0.000000000000 +vt 0.181074976921 0.081876814365 0.000000000000 +vt 0.187377303839 0.107746466994 0.000000000000 +vt 0.187539190054 0.120622426271 0.000000000000 +vt 0.181078135967 0.122370526195 0.000000000000 +vt 0.180750086904 0.106961801648 0.000000000000 +vt 0.181374669075 0.094601452351 0.000000000000 +vt 0.187665045261 0.095849484205 0.000000000000 +vt 0.227798283100 0.129312291741 0.000000000000 +vt 0.238564521074 0.124569609761 0.000000000000 +vt 0.243330389261 0.127270132303 0.000000000000 +vt 0.231010556221 0.133791074157 0.000000000000 +vt 0.220073655248 0.135354548693 0.000000000000 +vt 0.218523919582 0.131200432777 0.000000000000 +vt 0.206768333912 0.135661438107 0.000000000000 +vt 0.206591814756 0.131151124835 0.000000000000 +vt 0.194878339767 0.131718292832 0.000000000000 +vt 0.195264026523 0.127670004964 0.000000000000 +vt 0.297571629286 0.073909014463 0.000000000000 +vt 0.293510973454 0.071692824364 0.000000000000 +vt 0.293531447649 0.085388556123 0.000000000000 +vt 0.288804322481 0.082740962505 0.000000000000 +vt 0.284273296595 0.097582057118 0.000000000000 +vt 0.281252384186 0.094275429845 0.000000000000 +vt 0.270511358976 0.111514881253 0.000000000000 +vt 0.267813563347 0.108745023608 0.000000000000 +vt 0.253925532103 0.117747187614 0.000000000000 +vt 0.256331086159 0.121454820037 0.000000000000 +vt 0.267415255308 0.081492692232 0.000000000000 +vt 0.255906671286 0.094144165516 0.000000000000 +vt 0.244139820337 0.101001486182 0.000000000000 +vt 0.231230318546 0.105198845267 0.000000000000 +vt 0.219598352909 0.110711082816 0.000000000000 +vt 0.213647723198 0.110525771976 0.000000000000 +vt 0.198271200061 0.116921544075 0.000000000000 +vt 0.203886121511 0.110362097621 0.000000000000 +vt 0.196813777089 0.098104864359 0.000000000000 +vt 0.196252465248 0.102853164077 0.000000000000 +vt 0.272518634796 0.073012456298 0.000000000000 +vt 0.276711463928 0.062691569328 0.000000000000 +vt 0.280104994774 0.053172681481 0.000000000000 +vt 0.283575773239 0.045879449695 0.000000000000 +vt 0.283506870270 0.039421103895 0.000000000000 +vt 0.282259076834 0.030528377742 0.000000000000 +vt 0.272425651550 0.030439440161 0.000000000000 +vt 0.257659971714 0.030192218721 0.000000000000 +vt 0.247058525681 0.033215377480 0.000000000000 +vt 0.228341341019 0.025837715715 0.000000000000 +vt 0.218866378069 0.024133518338 0.000000000000 +vt 0.212634310126 0.025178913027 0.000000000000 +vt 0.200903266668 0.032452777028 0.000000000000 +vt 0.194876089692 0.044088792056 0.000000000000 +vt 0.193243041635 0.053994949907 0.000000000000 +vt 0.194931253791 0.067793801427 0.000000000000 +vt 0.198766767979 0.084062173963 0.000000000000 +vt 0.206359907985 0.094736546278 0.000000000000 +vt 0.212366148829 0.098234102130 0.000000000000 +vt 0.217166453600 0.096218973398 0.000000000000 +vt 0.205443292856 0.087112799287 0.000000000000 +vt 0.226509511471 0.090840920806 0.000000000000 +vt 0.237037748098 0.087899029255 0.000000000000 +vt 0.246875688434 0.081057921052 0.000000000000 +vt 0.256278872490 0.072482436895 0.000000000000 +vt 0.260736495256 0.057795342058 0.000000000000 +vt 0.259254723787 0.064904838800 0.000000000000 +vt 0.272691100836 0.038979575038 0.000000000000 +vt 0.262009739876 0.038989257067 0.000000000000 +vt 0.276944041252 0.045822035521 0.000000000000 +vt 0.268426418304 0.047114204615 0.000000000000 +vt 0.269619315863 0.043809827417 0.000000000000 +vt 0.253669768572 0.045147921890 0.000000000000 +vt 0.248847588897 0.056667540222 0.000000000000 +vt 0.246177032590 0.064497530460 0.000000000000 +vt 0.239239543676 0.071869567037 0.000000000000 +vt 0.232059359550 0.077080324292 0.000000000000 +vt 0.222070574760 0.079870447516 0.000000000000 +vt 0.206698760390 0.074161648750 0.000000000000 +vt 0.213897421956 0.072432681918 0.000000000000 +vt 0.205729246140 0.062620416284 0.000000000000 +vt 0.203790888190 0.054370727390 0.000000000000 +vt 0.204770088196 0.045650247484 0.000000000000 +vt 0.208388775587 0.038391694427 0.000000000000 +vt 0.216515302658 0.032267022878 0.000000000000 +vt 0.221525013447 0.031139671803 0.000000000000 +vt 0.229856431484 0.032532032579 0.000000000000 +vt 0.240117192268 0.040356174111 0.000000000000 +vt 0.238003432751 0.049525838345 0.000000000000 +vt 0.230851382017 0.062317129225 0.000000000000 +vt 0.223892956972 0.068100020289 0.000000000000 +vt 0.218158707023 0.060949768871 0.000000000000 +vt 0.224889278412 0.055608633906 0.000000000000 +vt 0.231338173151 0.044668566436 0.000000000000 +vt 0.224949836731 0.040866594762 0.000000000000 +vt 0.220517441630 0.039209909737 0.000000000000 +vt 0.215718701482 0.043925788254 0.000000000000 +vt 0.211569100618 0.049045812339 0.000000000000 +vt 0.212551221251 0.054835002869 0.000000000000 +vt 0.219418004155 0.048615094274 0.000000000000 +vt 0.177896246314 0.039324510843 0.000000000000 +vt 0.189204439521 0.020011376590 0.000000000000 +vt 0.204814672470 0.008875429630 0.000000000000 +vt 0.218808963895 0.005773015320 0.000000000000 +vt 0.232130467892 0.004795841873 0.000000000000 +vt 0.243434399366 0.006405927241 0.000000000000 +vt 0.255707651377 0.007152091712 0.000000000000 +vt 0.266037523746 0.008445382118 0.000000000000 +vt 0.276542603970 0.009638480842 0.000000000000 +vt 0.291882872581 0.013886258006 0.000000000000 +vt 0.305758953094 0.026801381260 0.000000000000 +vt 0.310110300779 0.042010162026 0.000000000000 +vt 0.309658646584 0.054701257497 0.000000000000 +vt 0.307640582323 0.066039174795 0.000000000000 +vt 0.304315268993 0.075605571270 0.000000000000 +vt 0.302689433098 0.083687961102 0.000000000000 +vt 0.289600938559 0.101637110114 0.000000000000 +vt 0.275979250669 0.114943787456 0.000000000000 +vt 0.261293739080 0.125751689076 0.000000000000 +vt 0.248583957553 0.132909372449 0.000000000000 +vt 0.218775406480 0.143254563212 0.000000000000 +vt 0.228658616543 0.143950298429 0.000000000000 +vt 0.206840604544 0.142785564065 0.000000000000 +vt 0.190907508135 0.138325244188 0.000000000000 +vt 0.181003153324 0.126772314310 0.000000000000 +vt 0.174718171358 0.105727061629 0.000000000000 +vt 0.175457358360 0.093386068940 0.000000000000 +vt 0.176170423627 0.080959752202 0.000000000000 +vt 0.175519734621 0.067012742162 0.000000000000 +vt 0.174860477448 0.054189030081 0.000000000000 +vt 0.175442948937 0.118314579129 0.000000000000 +vt 0.299658834934 0.013686995953 0.000000000000 +vt 0.297007620335 0.015501294285 0.000000000000 +vt 0.296986013651 0.094732716680 0.000000000000 +vt 0.178140535951 0.121313422918 0.000000000000 +vt 0.178094834089 0.129377126694 0.000000000000 +vt 0.290370285511 0.010927941650 0.000000000000 +vt 0.240662753582 0.138773083687 0.000000000000 +vt 0.059489179403 0.582100212574 0.000000000000 +vt 0.068415686488 0.582416296005 0.000000000000 +vt 0.067261539400 0.606926023960 0.000000000000 +vt 0.058599364012 0.606609225273 0.000000000000 +vt 0.050634499639 0.581815600395 0.000000000000 +vt 0.050033342093 0.606300354004 0.000000000000 +vt 0.041638877243 0.581597447395 0.000000000000 +vt 0.041299115866 0.606083035469 0.000000000000 +vt 0.032489020377 0.581519067287 0.000000000000 +vt 0.032466728240 0.605973839760 0.000000000000 +vt 0.023544281721 0.581574916840 0.000000000000 +vt 0.023710895330 0.605970263481 0.000000000000 +vt 0.077301658690 0.582797050476 0.000000000000 +vt 0.075893089175 0.607333362103 0.000000000000 +vt 0.035480882972 0.775563001633 0.000000000000 +vt 0.040293347090 0.776472151279 0.000000000000 +vt 0.036699648947 0.779854416847 0.000000000000 +vt 0.032038930804 0.777974605560 0.000000000000 +vt 0.044753897935 0.775144159794 0.000000000000 +vt 0.049120556563 0.776610195637 0.000000000000 +vt 0.044636141509 0.779394447803 0.000000000000 +vt 0.050690788776 0.780745148659 0.000000000000 +vt 0.054302733392 0.776831269264 0.000000000000 +vt 0.056948300451 0.779902398586 0.000000000000 +vt 0.057442288846 0.767054140568 0.000000000000 +vt 0.051350947469 0.766096353531 0.000000000000 +vt 0.045185070485 0.765643537045 0.000000000000 +vt 0.039071660489 0.765589058399 0.000000000000 +vt 0.032788928598 0.766110718250 0.000000000000 +vt 0.026467472315 0.767407417297 0.000000000000 +vt 0.063698008657 0.768436372280 0.000000000000 +vt 0.410184800625 0.205661505461 0.000000000000 +vt 0.061233457178 0.523812234402 0.000000000000 +vt 0.070765629411 0.524310529232 0.000000000000 +vt 0.069685108960 0.554912924767 0.000000000000 +vt 0.060390468687 0.554528176785 0.000000000000 +vt 0.053767081350 0.729990005493 0.000000000000 +vt 0.061261150986 0.730732798576 0.000000000000 +vt 0.054995980114 0.702194809914 0.000000000000 +vt 0.062634825706 0.702704548836 0.000000000000 +vt 0.064006246626 0.678737044334 0.000000000000 +vt 0.055990491062 0.678335130215 0.000000000000 +vt 0.056928943843 0.654432654381 0.000000000000 +vt 0.065110854805 0.654795587063 0.000000000000 +vt 0.066195428371 0.630862057209 0.000000000000 +vt 0.057763587683 0.630513489246 0.000000000000 +vt 0.051746767014 0.523659586906 0.000000000000 +vt 0.051160465926 0.554318308830 0.000000000000 +vt 0.046276170760 0.729541480541 0.000000000000 +vt 0.047176342458 0.701836824417 0.000000000000 +vt 0.047830644995 0.678016304970 0.000000000000 +vt 0.048644352704 0.654150307178 0.000000000000 +vt 0.049303833395 0.630233883858 0.000000000000 +vt 0.042389769107 0.523753523827 0.000000000000 +vt 0.041977059096 0.554233670235 0.000000000000 +vt 0.038769047707 0.729471445084 0.000000000000 +vt 0.039331037551 0.701696574688 0.000000000000 +vt 0.039704795927 0.677826702595 0.000000000000 +vt 0.040310915560 0.653930783272 0.000000000000 +vt 0.040829222649 0.630019962788 0.000000000000 +vt 0.032788697630 0.523885667324 0.000000000000 +vt 0.032603625208 0.554248988628 0.000000000000 +vt 0.031183568761 0.729752242565 0.000000000000 +vt 0.031547192484 0.701745390892 0.000000000000 +vt 0.031793061644 0.677753329277 0.000000000000 +vt 0.032022494823 0.653800427914 0.000000000000 +vt 0.032241348177 0.629892110825 0.000000000000 +vt 0.023286256939 0.523862004280 0.000000000000 +vt 0.023312594742 0.554275989532 0.000000000000 +vt 0.023615654558 0.730087935925 0.000000000000 +vt 0.023773714900 0.701748549938 0.000000000000 +vt 0.023966450244 0.677748382092 0.000000000000 +vt 0.023824151605 0.653813481331 0.000000000000 +vt 0.023755025119 0.629873633385 0.000000000000 +vt 0.080035939813 0.524939179420 0.000000000000 +vt 0.078819200397 0.555354475975 0.000000000000 +vt 0.068714916706 0.731523096561 0.000000000000 +vt 0.070204541087 0.703219473362 0.000000000000 +vt 0.071883074939 0.679210066795 0.000000000000 +vt 0.073152050376 0.655230820179 0.000000000000 +vt 0.074596188962 0.631297707558 0.000000000000 +vt 0.427655726671 0.333007007837 0.000000000000 +vt 0.440372914076 0.328327596188 0.000000000000 +vt 0.444987475872 0.344597071409 0.000000000000 +vt 0.432079792023 0.348230421543 0.000000000000 +vt 0.436833947897 0.363906830549 0.000000000000 +vt 0.449768215418 0.360880523920 0.000000000000 +vt 0.454692780972 0.378165900707 0.000000000000 +vt 0.441895663738 0.381562143564 0.000000000000 +vt 0.414691954851 0.337748318911 0.000000000000 +vt 0.419402211905 0.352767288685 0.000000000000 +vt 0.424107730389 0.368486940861 0.000000000000 +vt 0.429422736168 0.385863065720 0.000000000000 +vt 0.401303559542 0.341026574373 0.000000000000 +vt 0.406823009253 0.357325315475 0.000000000000 +vt 0.411697834730 0.372874319553 0.000000000000 +vt 0.417245209217 0.390449941158 0.000000000000 +vt 0.387970775366 0.344980746508 0.000000000000 +vt 0.393820285797 0.361572891474 0.000000000000 +vt 0.399133056402 0.377458244562 0.000000000000 +vt 0.404806077480 0.394824922085 0.000000000000 +vt 0.453473359346 0.324476778507 0.000000000000 +vt 0.466956764460 0.321778506041 0.000000000000 +vt 0.471398383379 0.338798433542 0.000000000000 +vt 0.458161979914 0.342115193605 0.000000000000 +vt 0.462697505951 0.358080714941 0.000000000000 +vt 0.475638061762 0.355021774769 0.000000000000 +vt 0.480182796717 0.372735410929 0.000000000000 +vt 0.467404156923 0.375559061766 0.000000000000 +vt 0.423334538937 0.312670528889 0.000000000000 +vt 0.433873385191 0.309838533401 0.000000000000 +vt 0.436265200377 0.312351495028 0.000000000000 +vt 0.422530740499 0.315895646811 0.000000000000 +vt 0.447797864676 0.306353360415 0.000000000000 +vt 0.450094014406 0.308744937181 0.000000000000 +vt 0.461704343557 0.302910506725 0.000000000000 +vt 0.463915377855 0.305326640606 0.000000000000 +vt 0.382604420185 0.326017051935 0.000000000000 +vt 0.392749220133 0.322181522846 0.000000000000 +vt 0.395257681608 0.324275016785 0.000000000000 +vt 0.382101863623 0.329265147448 0.000000000000 +vt 0.406064450741 0.317371100187 0.000000000000 +vt 0.408690214157 0.319537758827 0.000000000000 +vt 0.454164594412 0.389897853136 0.000000000000 +vt 0.448823004961 0.391495555639 0.000000000000 +vt 0.443516105413 0.386446684599 0.000000000000 +vt 0.456138074398 0.383067548275 0.000000000000 +vt 0.437463909388 0.395830690861 0.000000000000 +vt 0.431178033352 0.391206234694 0.000000000000 +vt 0.424428552389 0.400618851185 0.000000000000 +vt 0.419008165598 0.395644724369 0.000000000000 +vt 0.412200152874 0.404757648706 0.000000000000 +vt 0.406511843204 0.400167405605 0.000000000000 +vt 0.479276150465 0.385172754526 0.000000000000 +vt 0.473846048117 0.386270821095 0.000000000000 +vt 0.468606919050 0.380785584450 0.000000000000 +vt 0.481370300055 0.378176510334 0.000000000000 +vt 0.436999201775 0.315413832664 0.000000000000 +vt 0.423440814018 0.318899452686 0.000000000000 +vt 0.450722873211 0.311825752258 0.000000000000 +vt 0.464657485485 0.308184534311 0.000000000000 +vt 0.396297454834 0.327027112246 0.000000000000 +vt 0.382932245731 0.332121223211 0.000000000000 +vt 0.409763991833 0.322595357895 0.000000000000 +vt 0.442299365997 0.382790595293 0.000000000000 +vt 0.455049455166 0.379350900650 0.000000000000 +vt 0.429864943027 0.387207239866 0.000000000000 +vt 0.417697101831 0.391777902842 0.000000000000 +vt 0.404973804951 0.396399646997 0.000000000000 +vt 0.467713981867 0.376910001040 0.000000000000 +vt 0.480817049742 0.374158143997 0.000000000000 +vt 0.437278181314 0.316399097443 0.000000000000 +vt 0.423721343279 0.319981753826 0.000000000000 +vt 0.450930684805 0.312892526388 0.000000000000 +vt 0.464460253716 0.309410959482 0.000000000000 +vt 0.396746635437 0.328152865171 0.000000000000 +vt 0.383763283491 0.333080857992 0.000000000000 +vt 0.410141348839 0.323806256056 0.000000000000 +vt 0.371242642403 0.206788405776 0.000000000000 +vt 0.375714451075 0.200254172087 0.000000000000 +vt 0.379231601954 0.206475213170 0.000000000000 +vt 0.375783115625 0.212909027934 0.000000000000 +vt 0.383946120739 0.214252978563 0.000000000000 +vt 0.385994136333 0.206152796745 0.000000000000 +vt 0.383823841810 0.198206618428 0.000000000000 +vt 0.389040261507 0.196492955089 0.000000000000 +vt 0.391231000423 0.205955997109 0.000000000000 +vt 0.388896137476 0.215648040175 0.000000000000 +vt 0.386244505644 0.225284442306 0.000000000000 +vt 0.381366074085 0.234502539039 0.000000000000 +vt 0.377654612064 0.230434879661 0.000000000000 +vt 0.380352199078 0.177962914109 0.000000000000 +vt 0.385863542557 0.187034189701 0.000000000000 +vt 0.376735985279 0.182071089745 0.000000000000 +vt 0.400243073702 0.205795019865 0.000000000000 +vt 0.398853629827 0.194475561380 0.000000000000 +vt 0.398457139730 0.217155665159 0.000000000000 +vt 0.395268946886 0.228200212121 0.000000000000 +vt 0.391248136759 0.239007428288 0.000000000000 +vt 0.395271182060 0.183712929487 0.000000000000 +vt 0.390099167824 0.173236235976 0.000000000000 +vt 0.404895007610 0.295395046473 0.000000000000 +vt 0.401947498322 0.296175211668 0.000000000000 +vt 0.399637848139 0.292153716087 0.000000000000 +vt 0.401830643415 0.291295886040 0.000000000000 +vt 0.399310708046 0.296199768782 0.000000000000 +vt 0.397574305534 0.292755782604 0.000000000000 +vt 0.408904105425 0.288272053003 0.000000000000 +vt 0.407307982445 0.290285140276 0.000000000000 +vt 0.404559284449 0.287732571363 0.000000000000 +vt 0.406326085329 0.285840153694 0.000000000000 +vt 0.406662702560 0.292970359325 0.000000000000 +vt 0.403447926044 0.289671152830 0.000000000000 +vt 0.396660417318 0.287977755070 0.000000000000 +vt 0.398700773716 0.286984145641 0.000000000000 +vt 0.394956201315 0.288790345192 0.000000000000 +vt 0.401856094599 0.284300088882 0.000000000000 +vt 0.403861761093 0.282722651958 0.000000000000 +vt 0.400499969721 0.285655498505 0.000000000000 +vt 0.393806338310 0.283442467451 0.000000000000 +vt 0.395833194256 0.282441198826 0.000000000000 +vt 0.392093360424 0.284306377172 0.000000000000 +vt 0.399467855692 0.280218929052 0.000000000000 +vt 0.401700288057 0.278968840837 0.000000000000 +vt 0.397831201553 0.281272202730 0.000000000000 +vt 0.391297876835 0.278489261866 0.000000000000 +vt 0.393293648958 0.277554869652 0.000000000000 +vt 0.389414459467 0.279250085354 0.000000000000 +vt 0.397396445274 0.275657951832 0.000000000000 +vt 0.399793207645 0.274844229221 0.000000000000 +vt 0.395377457142 0.276584476233 0.000000000000 +vt 0.389087766409 0.272915095091 0.000000000000 +vt 0.391173362732 0.272055685520 0.000000000000 +vt 0.386810988188 0.273582458496 0.000000000000 +vt 0.395762920380 0.270275622606 0.000000000000 +vt 0.398250907660 0.270135104656 0.000000000000 +vt 0.393281280994 0.271341711283 0.000000000000 +vt 0.387520015240 0.266913384199 0.000000000000 +vt 0.389951229095 0.266276419163 0.000000000000 +vt 0.384966522455 0.267515212297 0.000000000000 +vt 0.394670933485 0.264871448278 0.000000000000 +vt 0.397267192602 0.265005409718 0.000000000000 +vt 0.392056882381 0.265746623278 0.000000000000 +vt 0.386280536652 0.262535691261 0.000000000000 +vt 0.389030128717 0.261800318956 0.000000000000 +vt 0.383825421333 0.263225555420 0.000000000000 +vt 0.394305050373 0.261209517717 0.000000000000 +vt 0.396993845701 0.261318951845 0.000000000000 +vt 0.391601622105 0.261423856020 0.000000000000 +vt 0.384926229715 0.259148895741 0.000000000000 +vt 0.388205587864 0.257940262556 0.000000000000 +vt 0.382767438889 0.261004865170 0.000000000000 +vt 0.394367873669 0.258704215288 0.000000000000 +vt 0.397562384605 0.259168028831 0.000000000000 +vt 0.391579329967 0.257740765810 0.000000000000 +vt 0.062066528946 0.497222512960 0.000000000000 +vt 0.071865737438 0.497819632292 0.000000000000 +vt 0.052253138274 0.497047573328 0.000000000000 +vt 0.042627077550 0.497259229422 0.000000000000 +vt 0.032757628709 0.497487276793 0.000000000000 +vt 0.022930733860 0.497487515211 0.000000000000 +vt 0.081421323121 0.498642355204 0.000000000000 +vt 0.408895790577 0.192783519626 0.000000000000 +vt 0.405064105988 0.180669501424 0.000000000000 +vt 0.400167405605 0.169291511178 0.000000000000 +vt 0.401480078697 0.242461070418 0.000000000000 +vt 0.405161798000 0.230870768428 0.000000000000 +vt 0.408491641283 0.218653172255 0.000000000000 +vt 0.380247503519 0.189571470022 0.000000000000 +vt 0.381086647511 0.223131284118 0.000000000000 +vt 0.420218378305 0.313499540091 0.000000000000 +vt 0.442574709654 0.393686324358 0.000000000000 +vt 0.437170535326 0.308998465538 0.000000000000 +vt 0.450992375612 0.305552929640 0.000000000000 +vt 0.395807057619 0.321048557758 0.000000000000 +vt 0.409543335438 0.316259503365 0.000000000000 +vt 0.460468471050 0.388684481382 0.000000000000 +vt 0.429571330547 0.398836284876 0.000000000000 +vt 0.417428702116 0.402817249298 0.000000000000 +vt 0.465852618217 0.387890368700 0.000000000000 +vt 0.165486067533 0.985748410225 0.000000000000 +vt 0.153918713331 0.884558439255 0.000000000000 +vt 0.153763413429 0.881860136986 0.000000000000 +vt 0.204113468528 0.982658386230 0.000000000000 +vt 0.204646229744 0.989186286926 0.000000000000 +vt 0.186044186354 0.877731442451 0.000000000000 +vt 0.185995131731 0.879323482513 0.000000000000 +vt 0.165391892195 0.991528987885 0.000000000000 +vt 0.215989306569 0.874527692795 0.000000000000 +vt 0.239299163222 0.979033589363 0.000000000000 +vt 0.216438904405 0.876245737076 0.000000000000 +vt 0.147602885962 0.884569108486 0.000000000000 +vt 0.252690643072 0.979669451714 0.000000000000 +vt 0.252580404282 0.986951112747 0.000000000000 +vt 0.149314463139 0.881703615189 0.000000000000 +vt 0.239499345422 0.986131906509 0.000000000000 +vt 0.139916136861 0.872989058495 0.000000000000 +vt 0.153603509068 0.992006182671 0.000000000000 +vt 0.153609484434 0.990444540977 0.000000000000 +vt 0.010600453243 0.824086070061 0.000000000000 +vt 0.012143557891 0.805372476578 0.000000000000 +vt 0.018072610721 0.805904865265 0.000000000000 +vt 0.018011515960 0.835803985596 0.000000000000 +vt 0.854685604572 0.394145637751 0.000000000000 +vt 0.856347262859 0.406974732876 0.000000000000 +vt 0.854803860188 0.407253265381 0.000000000000 +vt 0.852515399456 0.394508123398 0.000000000000 +vt 0.014217739925 0.786286652088 0.000000000000 +vt 0.141516894102 0.871268332005 0.000000000000 +vt 0.236085057259 0.870658397675 0.000000000000 +vt 0.235590070486 0.871755778790 0.000000000000 +vt 0.115637660027 0.902860224247 0.000000000000 +vt 0.110983915627 0.890343248844 0.000000000000 +vt 0.113721966743 0.903127968311 0.000000000000 +vt 0.108955033123 0.891542613506 0.000000000000 +vt 0.094152219594 0.932179987431 0.000000000000 +vt 0.092673666775 0.930834054947 0.000000000000 +vt 0.070010572672 0.963107407093 0.000000000000 +vt 0.068242847919 0.961778044701 0.000000000000 +vt 0.061999842525 0.971761763096 0.000000000000 +vt 0.174994021654 0.927675366402 0.000000000000 +vt 0.144831538200 0.970289051533 0.000000000000 +vt 0.200194299221 0.932316362858 0.000000000000 +vt 0.170293733478 0.964262902737 0.000000000000 +vt 0.108677349985 0.981302440166 0.000000000000 +vt 0.124079853296 0.982393920422 0.000000000000 +vt 0.078137099743 0.979704558849 0.000000000000 +vt 0.109282203019 0.983950555325 0.000000000000 +vt 0.105039052665 0.987083256245 0.000000000000 +vt 0.125474229455 0.988127648830 0.000000000000 +vt 0.111332640052 0.988403081894 0.000000000000 +vt 0.149527281523 0.983822643757 0.000000000000 +vt 0.175797849894 0.974198222160 0.000000000000 +vt 0.200493484735 0.947993755341 0.000000000000 +vt 0.202181890607 0.953875601292 0.000000000000 +vt 0.210946768522 0.941928744316 0.000000000000 +vt 0.204716980457 0.950321793556 0.000000000000 +vt 0.211182147264 0.940664827824 0.000000000000 +vt 0.221946761012 0.927524268627 0.000000000000 +vt 0.212981313467 0.939730703831 0.000000000000 +vt 0.219961285591 0.926237881184 0.000000000000 +vt 0.236418157816 0.878085970879 0.000000000000 +vt 0.009088402614 0.867007911205 0.000000000000 +vt 0.233274430037 0.900619506836 0.000000000000 +vt 0.223317831755 0.925070583820 0.000000000000 +vt 0.222155556083 0.926465988159 0.000000000000 +vt 0.221913784742 0.924954414368 0.000000000000 +vt 0.222598418593 0.927596032619 0.000000000000 +vt 0.201231330633 0.949153244495 0.000000000000 +vt 0.203538969159 0.953897118568 0.000000000000 +vt 0.818132102489 0.385249525309 0.000000000000 +vt 0.205010369420 0.951609432697 0.000000000000 +vt 0.213920146227 0.940414905548 0.000000000000 +vt 0.818589150906 0.383544415236 0.000000000000 +vt 0.780589759350 0.374358534813 0.000000000000 +vt 0.016577487811 0.868200361729 0.000000000000 +vt 0.016604727134 0.872863054276 0.000000000000 +vt 0.010927146301 0.873423874378 0.000000000000 +vt 0.781472146511 0.373139113188 0.000000000000 +vt 0.775797307491 0.355791121721 0.000000000000 +vt 0.767820060253 0.372488409281 0.000000000000 +vt 0.802661955357 0.343176126480 0.000000000000 +vt 0.212836444378 0.942034363747 0.000000000000 +vt 0.794418156147 0.332618147135 0.000000000000 +vt 0.017825072631 0.886228740215 0.000000000000 +vt 0.859027683735 0.311750322580 0.000000000000 +vt 0.856714665890 0.300876915455 0.000000000000 +vt 0.011322205886 0.886385619640 0.000000000000 +vt 0.890980184078 0.300591170788 0.000000000000 +vt 0.212094113231 0.942788124084 0.000000000000 +vt 0.234720200300 0.900862038136 0.000000000000 +vt 0.237578302622 0.878117561340 0.000000000000 +vt 0.077356182039 0.981415390968 0.000000000000 +vt 0.060611370951 0.973357379436 0.000000000000 +vt 0.105943888426 0.988982677460 0.000000000000 +vt 0.258138507605 0.974806785583 0.000000000000 +vt 0.257529258728 0.990823626518 0.000000000000 +vt 0.264203071594 0.971977353096 0.000000000000 +vt 0.263009667397 0.993429660797 0.000000000000 +vt 0.271215617657 0.974126696587 0.000000000000 +vt 0.269773542881 0.993223547935 0.000000000000 +vt 0.125471040606 0.989767909050 0.000000000000 +vt 0.110437445343 0.990312933922 0.000000000000 +vt 0.276588261127 0.979046463966 0.000000000000 +vt 0.273934006691 0.990138053894 0.000000000000 +vt 0.150033578277 0.985471129417 0.000000000000 +vt 0.176784589887 0.975747346878 0.000000000000 +vt 0.276720821857 0.986530065536 0.000000000000 +vt 0.022495752200 0.890904963017 0.000000000000 +vt 0.891464889050 0.306228846312 0.000000000000 +vt 0.904646217823 0.305932313204 0.000000000000 +vt 0.893834292889 0.301968216896 0.000000000000 +vt 0.904706299305 0.304305553436 0.000000000000 +vt 0.921183407307 0.310902148485 0.000000000000 +vt 0.906808555126 0.304849773645 0.000000000000 +vt 0.921672403812 0.309491783381 0.000000000000 +vt 0.938244044781 0.337644517422 0.000000000000 +vt 0.005772059783 0.892303645611 0.000000000000 +vt 0.024704044685 0.895432829857 0.000000000000 +vt 0.004067962989 0.897250592709 0.000000000000 +vt 0.023151105270 0.902699828148 0.000000000000 +vt 0.006364827976 0.903177917004 0.000000000000 +vt 0.019447928295 0.907367289066 0.000000000000 +vt 0.011597758159 0.909153997898 0.000000000000 +vt 0.018155282363 0.909749448299 0.000000000000 +vt 0.289794445038 0.979737758636 0.000000000000 +vt 0.289097309113 0.986868619919 0.000000000000 +vt 0.108699530363 0.986913800240 0.000000000000 +vt 0.923338353634 0.310172647238 0.000000000000 +vt 0.947028934956 0.322753190994 0.000000000000 +vt 0.017324453220 0.921973764896 0.000000000000 +vt 0.107475332916 0.990945875645 0.000000000000 +vt 0.012956982478 0.921561121941 0.000000000000 +vt 0.109573453665 0.884426295757 0.000000000000 +vt 0.020662194118 0.973094761372 0.000000000000 +vt 0.018618410453 0.972752928734 0.000000000000 +vt 0.963379323483 0.338597148657 0.000000000000 +vt 0.020546024665 0.981108963490 0.000000000000 +vt 0.018002038822 0.980931103230 0.000000000000 +vt 0.135590508580 0.867567420006 0.000000000000 +vt 0.106516152620 0.878543734550 0.000000000000 +vt 0.131759136915 0.862308800220 0.000000000000 +vt 0.101919859648 0.872579514980 0.000000000000 +vt 0.127446323633 0.855293273926 0.000000000000 +vt 0.106182672083 0.886078596115 0.000000000000 +vt 0.102917589247 0.880396783352 0.000000000000 +vt 0.099388279021 0.873800635338 0.000000000000 +vt 0.137774154544 0.865794837475 0.000000000000 +vt 0.134449630976 0.860945940018 0.000000000000 +vt 0.129994958639 0.853814363480 0.000000000000 +vt 0.098041392863 0.867455244064 0.000000000000 +vt 0.123956769705 0.849580526352 0.000000000000 +vt 0.096607387066 0.868979096413 0.000000000000 +vt 0.126601263881 0.848501205444 0.000000000000 +vt 0.095606558025 0.864713788033 0.000000000000 +vt 0.123283371329 0.847612500191 0.000000000000 +vt 0.093895524740 0.865760445595 0.000000000000 +vt 0.125174984336 0.846612274647 0.000000000000 +vt 0.090208120644 0.853443682194 0.000000000000 +vt 0.088275067508 0.855292141438 0.000000000000 +vt 0.116189479828 0.837091147900 0.000000000000 +vt 0.119325831532 0.836723268032 0.000000000000 +vt 0.133553490043 0.788949906826 0.000000000000 +vt 0.293736696243 0.986775279045 0.000000000000 +vt 0.295940577984 0.980653762817 0.000000000000 +vt 0.340545475483 0.984447240829 0.000000000000 +vt 0.340072214603 0.986525893211 0.000000000000 +vt 0.950552880764 0.345313966274 0.000000000000 +vt 0.967208921909 0.344859838486 0.000000000000 +vt 0.950094163418 0.353987187147 0.000000000000 +vt 0.933797061443 0.363659620285 0.000000000000 +vt 0.136295691133 0.788761913776 0.000000000000 +vt 0.138059511781 0.780847370625 0.000000000000 +vt 0.130408823490 0.777872502804 0.000000000000 +vt 0.131355047226 0.775953590870 0.000000000000 +vt 0.138569056988 0.778319716454 0.000000000000 +vt 0.118060231209 0.785308957100 0.000000000000 +vt 0.896019995213 0.384664356709 0.000000000000 +vt 0.115173012018 0.774169325829 0.000000000000 +vt 0.898356497288 0.351344764233 0.000000000000 +vt 0.096679173410 0.785911738873 0.000000000000 +vt 0.095730684698 0.772729396820 0.000000000000 +vt 0.104705169797 0.831313431263 0.000000000000 +vt 0.902008712292 0.319425404072 0.000000000000 +vt 0.086956694722 0.837567865849 0.000000000000 +vt 0.082478508353 0.790962874889 0.000000000000 +vt 0.833729565144 0.320394694805 0.000000000000 +vt 0.348657131195 0.984760761261 0.000000000000 +vt 0.081306569278 0.775940597057 0.000000000000 +vt 0.089978247881 0.773647964001 0.000000000000 +vt 0.829791605473 0.309479862452 0.000000000000 +vt 0.816609799862 0.333315908909 0.000000000000 +vt 0.807817518711 0.321131646633 0.000000000000 +vt 0.797316968441 0.333731085062 0.000000000000 +vt 0.795922100544 0.331054210663 0.000000000000 +vt 0.852600395679 0.366287618876 0.000000000000 +vt 0.888158023357 0.389725148678 0.000000000000 +vt 0.891561090946 0.383528649807 0.000000000000 +vt 0.892443001270 0.390044867992 0.000000000000 +vt 0.890115559101 0.403733402491 0.000000000000 +vt 0.893740594387 0.402232736349 0.000000000000 +vt 0.889661490917 0.409355312586 0.000000000000 +vt 0.859144628048 0.413082540035 0.000000000000 +vt 0.889299809933 0.416188776493 0.000000000000 +vt 0.860674321651 0.420680373907 0.000000000000 +vt 0.890587747097 0.423362225294 0.000000000000 +vt 0.861845076084 0.428339481354 0.000000000000 +vt 0.893469750881 0.431529492140 0.000000000000 +vt 0.863975346088 0.435634076595 0.000000000000 +vt 0.892712771893 0.409693717957 0.000000000000 +vt 0.893171131611 0.415372341871 0.000000000000 +vt 0.894341528416 0.422278076410 0.000000000000 +vt 0.895548760891 0.430168658495 0.000000000000 +vt 0.856991708279 0.413939237595 0.000000000000 +vt 0.858568608761 0.420849025249 0.000000000000 +vt 0.860028803349 0.428554058075 0.000000000000 +vt 0.861705243587 0.435540854931 0.000000000000 +vt 0.862937510014 0.448144823313 0.000000000000 +vt 0.865016877651 0.448156058788 0.000000000000 +vt 0.894014537334 0.443118661642 0.000000000000 +vt 0.896675527096 0.441695034504 0.000000000000 +vt 0.942015469074 0.465249389410 0.000000000000 +vt 0.938968360424 0.467184603214 0.000000000000 +vt 0.947230279446 0.471932232380 0.000000000000 +vt 0.929851353168 0.479779750109 0.000000000000 +vt 0.884821474552 0.455685496330 0.000000000000 +vt 0.911414802074 0.493092268705 0.000000000000 +vt 0.871183216572 0.461694657803 0.000000000000 +vt 0.860978066921 0.452166974545 0.000000000000 +vt 0.943686783314 0.478628307581 0.000000000000 +vt 0.933102667332 0.492131799459 0.000000000000 +vt 0.919620096684 0.505386710167 0.000000000000 +vt 0.891063272953 0.499169915915 0.000000000000 +vt 0.916852533817 0.507224857807 0.000000000000 +vt 0.908044636250 0.511230826378 0.000000000000 +vt 0.888901054859 0.516245007515 0.000000000000 +vt 0.869810879230 0.502536654472 0.000000000000 +vt 0.873295843601 0.517087996006 0.000000000000 +vt 0.852177441120 0.511175870895 0.000000000000 +vt 0.852176964283 0.514577090740 0.000000000000 +vt 0.850538194180 0.510758638382 0.000000000000 +vt 0.846698939800 0.494376987219 0.000000000000 +vt 0.847678959370 0.512833237648 0.000000000000 +vt 0.836011469364 0.506721198559 0.000000000000 +vt 0.830273568630 0.488239735365 0.000000000000 +vt 0.829936563969 0.486338347197 0.000000000000 +vt 0.858301818371 0.452152788639 0.000000000000 +vt 0.827840387821 0.498115986586 0.000000000000 +vt 0.829935252666 0.487876564264 0.000000000000 +vt 0.823986113071 0.491719275713 0.000000000000 +vt 0.069046996534 0.797405838966 0.000000000000 +vt 0.063239946961 0.785030543804 0.000000000000 +vt 0.056414369494 0.807498395443 0.000000000000 +vt 0.050693791360 0.794903695583 0.000000000000 +vt 0.038561563939 0.813347876072 0.000000000000 +vt 0.035990972072 0.810181796551 0.000000000000 +vt 0.047508850694 0.830956161022 0.000000000000 +vt 0.037681039423 0.814844489098 0.000000000000 +vt 0.029368514195 0.826868057251 0.000000000000 +vt 0.033771704882 0.815734088421 0.000000000000 +vt 0.038801524788 0.845296800137 0.000000000000 +vt 0.029519105330 0.846085309982 0.000000000000 +vt 0.027892099693 0.839723408222 0.000000000000 +vt 0.084708891809 0.852553844452 0.000000000000 +vt 0.083767443895 0.854980945587 0.000000000000 +vt 0.037650745362 0.847761273384 0.000000000000 +vt 0.114381492138 0.771946310997 0.000000000000 +vt 0.094816014171 0.771821796894 0.000000000000 +vt 0.080136142671 0.774619162083 0.000000000000 +vt 0.090211994946 0.772520661354 0.000000000000 +vt 0.095953144133 0.783221781254 0.000000000000 +vt 0.062365397811 0.784237205982 0.000000000000 +vt 0.049735300243 0.794033586979 0.000000000000 +vt 0.035117056221 0.810181081295 0.000000000000 +vt 0.028672711924 0.846871018410 0.000000000000 +vt 0.036163691431 0.812595427036 0.000000000000 +vt 0.032508853823 0.815019369125 0.000000000000 +vt 0.035413723439 0.813524901867 0.000000000000 +vt 0.028211543337 0.827950716019 0.000000000000 +vt 0.026609050110 0.839356005192 0.000000000000 +vt 0.896258294582 0.381265163422 0.000000000000 +vt 0.934112012386 0.361818969250 0.000000000000 +vt 0.059123776853 0.925175607204 0.000000000000 +vt 0.055362485349 0.926216900349 0.000000000000 +vt 0.054541967809 0.924610912800 0.000000000000 +vt 0.057503841817 0.922102153301 0.000000000000 +vt 0.059521101415 0.928506195545 0.000000000000 +vt 0.055455230176 0.928037106991 0.000000000000 +vt 0.058347843587 0.931667983532 0.000000000000 +vt 0.054807446897 0.929809391499 0.000000000000 +vt 0.056133113801 0.934393584728 0.000000000000 +vt 0.053610645235 0.931369364262 0.000000000000 +vt 0.053249321878 0.936173141003 0.000000000000 +vt 0.051895163953 0.932276666164 0.000000000000 +vt 0.049887977540 0.936500608921 0.000000000000 +vt 0.050015471876 0.932548344135 0.000000000000 +vt 0.046488307416 0.935653746128 0.000000000000 +vt 0.048176728189 0.932161509991 0.000000000000 +vt 0.043682835996 0.933717668056 0.000000000000 +vt 0.046699486673 0.931114256382 0.000000000000 +vt 0.042096994817 0.930674016476 0.000000000000 +vt 0.045871280134 0.929518997669 0.000000000000 +vt 0.041774652898 0.927204310894 0.000000000000 +vt 0.045793555677 0.927666127682 0.000000000000 +vt 0.042907558382 0.923894703388 0.000000000000 +vt 0.046437762678 0.925861775875 0.000000000000 +vt 0.045091055334 0.921195805073 0.000000000000 +vt 0.047651670873 0.924327433109 0.000000000000 +vt 0.048192583025 0.919690430164 0.000000000000 +vt 0.049426577985 0.923481881618 0.000000000000 +vt 0.051677010953 0.919228494167 0.000000000000 +vt 0.051336131990 0.923179805279 0.000000000000 +vt 0.054966412485 0.919925153255 0.000000000000 +vt 0.053134106100 0.923531472683 0.000000000000 +vt 0.063366554677 0.923810899258 0.000000000000 +vt 0.060973726213 0.919329464436 0.000000000000 +vt 0.064595483243 0.929011166096 0.000000000000 +vt 0.062306247652 0.933849632740 0.000000000000 +vt 0.059110067785 0.937792122364 0.000000000000 +vt 0.054868541658 0.941029012203 0.000000000000 +vt 0.049543462694 0.940982162952 0.000000000000 +vt 0.044648133218 0.939702689648 0.000000000000 +vt 0.040030620992 0.937077343464 0.000000000000 +vt 0.037820480764 0.932063996792 0.000000000000 +vt 0.036892317235 0.926711142063 0.000000000000 +vt 0.038925252855 0.921679198742 0.000000000000 +vt 0.042036972940 0.917214572430 0.000000000000 +vt 0.046976409853 0.915347874165 0.000000000000 +vt 0.051998518407 0.914744794369 0.000000000000 +vt 0.057310722768 0.915426671505 0.000000000000 +vt 0.067497454584 0.921644866467 0.000000000000 +vt 0.065058015287 0.917089760303 0.000000000000 +vt 0.069694779813 0.926195323467 0.000000000000 +vt 0.065975569189 0.936767637730 0.000000000000 +vt 0.062733851373 0.940771758556 0.000000000000 +vt 0.059423707426 0.944580018520 0.000000000000 +vt 0.048389576375 0.945518910885 0.000000000000 +vt 0.043406806886 0.944201171398 0.000000000000 +vt 0.038586281240 0.942701995373 0.000000000000 +vt 0.033321164548 0.933438599110 0.000000000000 +vt 0.031816206872 0.928624808788 0.000000000000 +vt 0.034770034254 0.919423639774 0.000000000000 +vt 0.037123106420 0.914970576763 0.000000000000 +vt 0.046392939985 0.910692512989 0.000000000000 +vt 0.051504157484 0.910091817379 0.000000000000 +vt 0.056533597410 0.909688174725 0.000000000000 +vt 0.071821056306 0.919187366962 0.000000000000 +vt 0.069497846067 0.914850890636 0.000000000000 +vt 0.074104093015 0.923345625401 0.000000000000 +vt 0.069763801992 0.939998447895 0.000000000000 +vt 0.066682241857 0.943804800510 0.000000000000 +vt 0.063756071031 0.947524607182 0.000000000000 +vt 0.046995721757 0.950295627117 0.000000000000 +vt 0.042247436941 0.949036777020 0.000000000000 +vt 0.037652872503 0.947865664959 0.000000000000 +vt 0.028527699411 0.934890091419 0.000000000000 +vt 0.027052603662 0.930507719517 0.000000000000 +vt 0.030363760889 0.917036354542 0.000000000000 +vt 0.032438538969 0.912907421589 0.000000000000 +vt 0.045932315290 0.905737102032 0.000000000000 +vt 0.050800107419 0.905163943768 0.000000000000 +vt 0.055495165288 0.904551923275 0.000000000000 +vt 0.050987325609 0.924352467060 0.000000000000 +vt 0.048744998872 0.925625741482 0.000000000000 +vt 0.048258863389 0.925050437450 0.000000000000 +vt 0.049704097211 0.924391329288 0.000000000000 +vt 0.054107807577 0.926788032055 0.000000000000 +vt 0.051701687276 0.929121911526 0.000000000000 +vt 0.050647579134 0.927882850170 0.000000000000 +vt 0.053451858461 0.925569355488 0.000000000000 +vt 0.052362285554 0.924720108509 0.000000000000 +vt 0.049598239362 0.926641643047 0.000000000000 +vt 0.054247222841 0.928189814091 0.000000000000 +vt 0.052564702928 0.930132806301 0.000000000000 +vt 0.053045056760 0.930693566799 0.000000000000 +vt 0.053973041475 0.929413259029 0.000000000000 +vt 0.050350688398 0.931418359280 0.000000000000 +vt 0.051625333726 0.931378662586 0.000000000000 +vt 0.048955641687 0.931039512157 0.000000000000 +vt 0.047835491598 0.930190026760 0.000000000000 +vt 0.047166489065 0.928965747356 0.000000000000 +vt 0.047026477754 0.927548825741 0.000000000000 +vt 0.047300122678 0.926310837269 0.000000000000 +vt 0.076263017952 0.889852464199 0.000000000000 +vt 0.072937078774 0.890983402729 0.000000000000 +vt 0.072223909199 0.886963069439 0.000000000000 +vt 0.073955483735 0.886285126209 0.000000000000 +vt 0.078647918999 0.887252748013 0.000000000000 +vt 0.075236566365 0.884860932827 0.000000000000 +vt 0.080082006752 0.883868515491 0.000000000000 +vt 0.075974173844 0.882985889912 0.000000000000 +vt 0.080343849957 0.880316436291 0.000000000000 +vt 0.076127000153 0.880949914455 0.000000000000 +vt 0.078979976475 0.877020061016 0.000000000000 +vt 0.075315542519 0.879069387913 0.000000000000 +vt 0.076549418271 0.874237835407 0.000000000000 +vt 0.074006743729 0.877511203289 0.000000000000 +vt 0.073425479233 0.872460305691 0.000000000000 +vt 0.072319932282 0.876525342464 0.000000000000 +vt 0.069821424782 0.872302711010 0.000000000000 +vt 0.070436544716 0.876380264759 0.000000000000 +vt 0.066397853196 0.873569548130 0.000000000000 +vt 0.068679399788 0.877089798450 0.000000000000 +vt 0.063854344189 0.876202642918 0.000000000000 +vt 0.067366369069 0.878527104855 0.000000000000 +vt 0.062428124249 0.879545271397 0.000000000000 +vt 0.066652543843 0.880400240421 0.000000000000 +vt 0.062527008355 0.883167207241 0.000000000000 +vt 0.066598244011 0.882463753223 0.000000000000 +vt 0.063823170960 0.886639058590 0.000000000000 +vt 0.067381329834 0.884392201900 0.000000000000 +vt 0.066064722836 0.889388978481 0.000000000000 +vt 0.068642385304 0.885931313038 0.000000000000 +vt 0.069291241467 0.890806376934 0.000000000000 +vt 0.070335276425 0.886830031872 0.000000000000 +vt 0.079105265439 0.894360721111 0.000000000000 +vt 0.073614127934 0.895603239536 0.000000000000 +vt 0.082558877766 0.889905154705 0.000000000000 +vt 0.084692724049 0.885016143322 0.000000000000 +vt 0.085654027760 0.879498064518 0.000000000000 +vt 0.083038873971 0.874549567699 0.000000000000 +vt 0.079515941441 0.870571315289 0.000000000000 +vt 0.074898667634 0.867442429066 0.000000000000 +vt 0.069151528180 0.867639601231 0.000000000000 +vt 0.063656993210 0.869233548641 0.000000000000 +vt 0.059899874032 0.873542368412 0.000000000000 +vt 0.057234056294 0.878605186939 0.000000000000 +vt 0.057885952294 0.884120523930 0.000000000000 +vt 0.059755094349 0.889095604420 0.000000000000 +vt 0.062920100987 0.893733680248 0.000000000000 +vt 0.068280227482 0.895384490490 0.000000000000 +vt 0.078785724938 0.900479376316 0.000000000000 +vt 0.073472566903 0.900497257710 0.000000000000 +vt 0.087039537728 0.891929209232 0.000000000000 +vt 0.089219875634 0.886968076229 0.000000000000 +vt 0.091177947819 0.882038056850 0.000000000000 +vt 0.086754925549 0.871306598186 0.000000000000 +vt 0.083158977330 0.867264211178 0.000000000000 +vt 0.079480238259 0.863445341587 0.000000000000 +vt 0.068381793797 0.862759649754 0.000000000000 +vt 0.063137896359 0.863549411297 0.000000000000 +vt 0.055807478726 0.870739161968 0.000000000000 +vt 0.052770502865 0.875079214573 0.000000000000 +vt 0.053255327046 0.885821878910 0.000000000000 +vt 0.055160112679 0.890882432461 0.000000000000 +vt 0.057204969227 0.895774066448 0.000000000000 +vt 0.068046040833 0.900283634663 0.000000000000 +vt 0.078120060265 0.905958473682 0.000000000000 +vt 0.073138959706 0.905713617802 0.000000000000 +vt 0.091880030930 0.893913924694 0.000000000000 +vt 0.093954570591 0.889196693897 0.000000000000 +vt 0.096018739045 0.884667575359 0.000000000000 +vt 0.090575344861 0.867730081081 0.000000000000 +vt 0.087147958577 0.863881051540 0.000000000000 +vt 0.083878643811 0.860125720501 0.000000000000 +vt 0.067553706467 0.857561290264 0.000000000000 +vt 0.062731571496 0.858179271221 0.000000000000 +vt 0.051463313401 0.867761790752 0.000000000000 +vt 0.048594601452 0.871683299541 0.000000000000 +vt 0.048404522240 0.887782871723 0.000000000000 +vt 0.050217278302 0.892602741718 0.000000000000 +vt 0.051908619702 0.897282183170 0.000000000000 +vt 0.067971713841 0.905510962009 0.000000000000 +vt 0.069196112454 0.884744703770 0.000000000000 +vt 0.068222053349 0.883839309216 0.000000000000 +vt 0.067552991211 0.882304251194 0.000000000000 +vt 0.068320401013 0.882175028324 0.000000000000 +vt 0.073343880475 0.884937107563 0.000000000000 +vt 0.071995504200 0.885450780392 0.000000000000 +vt 0.071372933686 0.881675302982 0.000000000000 +vt 0.073059923947 0.881411254406 0.000000000000 +vt 0.070542402565 0.885377347469 0.000000000000 +vt 0.069689460099 0.881946742535 0.000000000000 +vt 0.074404723942 0.883906543255 0.000000000000 +vt 0.074438758194 0.881199419498 0.000000000000 +vt 0.075204439461 0.881086766720 0.000000000000 +vt 0.075038559735 0.882739722729 0.000000000000 +vt 0.073512084782 0.878659069538 0.000000000000 +vt 0.074500329792 0.879579484463 0.000000000000 +vt 0.072161979973 0.877989232540 0.000000000000 +vt 0.070704765618 0.877902209759 0.000000000000 +vt 0.069342859089 0.878422200680 0.000000000000 +vt 0.068271823227 0.879460871220 0.000000000000 +vt 0.067647464573 0.880636036396 0.000000000000 +vt 0.069012485445 0.932736814022 0.000000000000 +vt 0.053315483034 0.946615636349 0.000000000000 +vt 0.034739337862 0.938278734684 0.000000000000 +vt 0.032324932516 0.923826873302 0.000000000000 +vt 0.041412316263 0.911473333836 0.000000000000 +vt 0.062483809888 0.912739932537 0.000000000000 +vt 0.072793565691 0.936362326145 0.000000000000 +vt 0.051563642919 0.951559722424 0.000000000000 +vt 0.029731415212 0.939354598522 0.000000000000 +vt 0.028038166463 0.921029269695 0.000000000000 +vt 0.041223250329 0.906235873699 0.000000000000 +vt 0.067299149930 0.910646736622 0.000000000000 +vt 0.084724672139 0.896705806255 0.000000000000 +vt 0.090130694211 0.875394165516 0.000000000000 +vt 0.073611505330 0.861880958080 0.000000000000 +vt 0.058759339154 0.866340816021 0.000000000000 +vt 0.051577635109 0.880795300007 0.000000000000 +vt 0.062752433121 0.899852573872 0.000000000000 +vt 0.089935369790 0.898496687412 0.000000000000 +vt 0.093930847943 0.871406018734 0.000000000000 +vt 0.072329230607 0.856650412083 0.000000000000 +vt 0.054085560143 0.863671362400 0.000000000000 +vt 0.046596772969 0.883146226406 0.000000000000 +vt 0.062987215817 0.905366241932 0.000000000000 +vt 0.724434196949 0.690520286560 0.000000000000 +vt 0.714673578739 0.670199394226 0.000000000000 +vt 0.738192379475 0.658733546734 0.000000000000 +vt 0.749425828457 0.679554581642 0.000000000000 +vt 0.766880452633 0.648001551628 0.000000000000 +vt 0.778476417065 0.667455196381 0.000000000000 +vt 0.658123552799 0.561918437481 0.000000000000 +vt 0.681013524532 0.545336842537 0.000000000000 +vt 0.691574394703 0.565115392208 0.000000000000 +vt 0.668605864048 0.578333139420 0.000000000000 +vt 0.678273379803 0.596119463444 0.000000000000 +vt 0.700517117977 0.582515180111 0.000000000000 +vt 0.708820402622 0.600191891193 0.000000000000 +vt 0.686416089535 0.614063024521 0.000000000000 +vt 0.693850934505 0.631938755512 0.000000000000 +vt 0.717175424099 0.619349181652 0.000000000000 +vt 0.726578891277 0.638749718666 0.000000000000 +vt 0.702835142612 0.650949716568 0.000000000000 +vt 0.727393448353 0.566789627075 0.000000000000 +vt 0.737516939640 0.584310531616 0.000000000000 +vt 0.746533215046 0.605367720127 0.000000000000 +vt 0.755558550358 0.627303957939 0.000000000000 +vt 0.717193305492 0.550311207771 0.000000000000 +vt 0.707122027874 0.527874290943 0.000000000000 +vt 0.648476541042 0.550091445446 0.000000000000 +vt 0.670800983906 0.526029586792 0.000000000000 +vt 0.796826541424 0.635315418243 0.000000000000 +vt 0.810074508190 0.653544664383 0.000000000000 +vt 0.828041613102 0.628299355507 0.000000000000 +vt 0.837326347828 0.640173137188 0.000000000000 +vt 0.784561932087 0.614920377731 0.000000000000 +vt 0.774542272091 0.593422353268 0.000000000000 +vt 0.802680790424 0.583606719971 0.000000000000 +vt 0.815609514713 0.603868663311 0.000000000000 +vt 0.744441092014 0.531438291073 0.000000000000 +vt 0.776179373264 0.512288391590 0.000000000000 +vt 0.783609092236 0.532737612724 0.000000000000 +vt 0.755129158497 0.549743592739 0.000000000000 +vt 0.697984158993 0.500902295113 0.000000000000 +vt 0.737360656261 0.508947730064 0.000000000000 +vt 0.730104506016 0.483820885420 0.000000000000 +vt 0.765154659748 0.571034491062 0.000000000000 +vt 0.792746603489 0.558559775352 0.000000000000 +vt 0.768725693226 0.492010682821 0.000000000000 +vt 0.757663547993 0.472875863314 0.000000000000 +vt 0.725043118000 0.693508327007 0.000000000000 +vt 0.750067889690 0.685739338398 0.000000000000 +vt 0.791203796864 0.399861633778 0.000000000000 +vt 0.779777586460 0.399193614721 0.000000000000 +vt 0.752974689007 0.710415661335 0.000000000000 +vt 0.804506599903 0.398513197899 0.000000000000 +vt 0.782004177570 0.452414214611 0.000000000000 +vt 0.780603945255 0.444166988134 0.000000000000 +vt 0.791876137257 0.443759024143 0.000000000000 +vt 0.793968260288 0.453128397465 0.000000000000 +vt 0.779418051243 0.435353308916 0.000000000000 +vt 0.778252422810 0.426639556885 0.000000000000 +vt 0.789694845676 0.427197962999 0.000000000000 +vt 0.790620148182 0.435532063246 0.000000000000 +vt 0.777533710003 0.418020188808 0.000000000000 +vt 0.777940571308 0.408807516098 0.000000000000 +vt 0.789442360401 0.409360051155 0.000000000000 +vt 0.789057195187 0.418372094631 0.000000000000 +vt 0.803890883923 0.427518129349 0.000000000000 +vt 0.804031312466 0.435820281506 0.000000000000 +vt 0.803060233593 0.417909622192 0.000000000000 +vt 0.802897393703 0.408120334148 0.000000000000 +vt 0.804555714130 0.443755626678 0.000000000000 +vt 0.807329356670 0.454006284475 0.000000000000 +vt 0.725099384785 0.716310918331 0.000000000000 +vt 0.779836833477 0.674231469631 0.000000000000 +vt 0.783605754375 0.697045505047 0.000000000000 +vt 0.818779408932 0.398010879755 0.000000000000 +vt 0.643724501133 0.545761525631 0.000000000000 +vt 0.628008902073 0.541231870651 0.000000000000 +vt 0.816486179829 0.407289743423 0.000000000000 +vt 0.643818080425 0.512760996819 0.000000000000 +vt 0.665438830853 0.521224975586 0.000000000000 +vt 0.815758764744 0.416817396879 0.000000000000 +vt 0.818642079830 0.444537609816 0.000000000000 +vt 0.817937195301 0.436300307512 0.000000000000 +vt 0.811494052410 0.658484101295 0.000000000000 +vt 0.816042482853 0.680989921093 0.000000000000 +vt 0.840249359608 0.645133495331 0.000000000000 +vt 0.822369277477 0.453545153141 0.000000000000 +vt 0.847676336765 0.654553532600 0.000000000000 +vt 0.848686635494 0.579840302467 0.000000000000 +vt 0.816775619984 0.426806628704 0.000000000000 +vt 0.821314275265 0.600943446159 0.000000000000 +vt 0.813257277012 0.578419387341 0.000000000000 +vt 0.838545382023 0.561789393425 0.000000000000 +vt 0.819137394428 0.502666831017 0.000000000000 +vt 0.823779404163 0.522105157375 0.000000000000 +vt 0.790229976177 0.529961049557 0.000000000000 +vt 0.781899273396 0.510464847088 0.000000000000 +vt 0.668055117130 0.483010739088 0.000000000000 +vt 0.692842900753 0.497021466494 0.000000000000 +vt 0.808572947979 0.481489390135 0.000000000000 +vt 0.704506456852 0.458266437054 0.000000000000 +vt 0.801172792912 0.554602205753 0.000000000000 +vt 0.830090582371 0.542637288570 0.000000000000 +vt 0.773884236813 0.490298360586 0.000000000000 +vt 0.726107180119 0.478320568800 0.000000000000 +vt 0.745716154575 0.441092967987 0.000000000000 +vt 0.753030359745 0.462626129389 0.000000000000 +vt 0.722523391247 0.691917836666 0.000000000000 +vt 0.749568045139 0.682414948940 0.000000000000 +vt 0.779008090496 0.670675337315 0.000000000000 +vt 0.667049825191 0.578830957413 0.000000000000 +vt 0.684892475605 0.614746153355 0.000000000000 +vt 0.676726400852 0.596634447575 0.000000000000 +vt 0.701373159885 0.652009308338 0.000000000000 +vt 0.692301928997 0.632841825485 0.000000000000 +vt 0.646996915340 0.549704909325 0.000000000000 +vt 0.667850673199 0.524221837521 0.000000000000 +vt 0.810716688633 0.655620336533 0.000000000000 +vt 0.839727461338 0.639870941639 0.000000000000 +vt 0.830280363560 0.627509713173 0.000000000000 +vt 0.818201720715 0.602329492569 0.000000000000 +vt 0.807740032673 0.580971300602 0.000000000000 +vt 0.786967098713 0.531335592270 0.000000000000 +vt 0.778827011585 0.511309623718 0.000000000000 +vt 0.695696294308 0.499585956335 0.000000000000 +vt 0.728171169758 0.480036228895 0.000000000000 +vt 0.796798646450 0.556795895100 0.000000000000 +vt 0.771090447903 0.491387873888 0.000000000000 +vt 0.755518972874 0.467876076698 0.000000000000 +vt 0.857891857624 0.600561559200 0.000000000000 +vt 0.832526981831 0.625968098640 0.000000000000 +vt 0.721892893314 0.690372586250 0.000000000000 +vt 0.713340461254 0.671590626240 0.000000000000 +vt 0.646686851978 0.550678908825 0.000000000000 +vt 0.656452476978 0.562453389168 0.000000000000 +vt 0.842236578465 0.638690054417 0.000000000000 +vt 0.764252245426 0.471054345369 0.000000000000 +vt 0.725051343441 0.691869199276 0.000000000000 +vt 0.646329224110 0.548061668873 0.000000000000 +vt 0.838410317898 0.642666935921 0.000000000000 +vt 0.759749114513 0.472487002611 0.000000000000 +# 6542 texture coords + +g Box001 +usemtl Material__283 +s 1 +f 18/3/1 17/4/2 1/1/3 +f 1/1/4 2/2/5 18/3/6 +f 19/6/7 18/3/8 2/2/9 +f 2/2/10 3/5/11 19/6/12 +f 20/8/13 19/6/14 3/5/15 +f 3/5/16 4/7/17 20/8/18 +f 21/11/19 20/12/20 4/9/21 +f 4/9/22 5/10/23 21/11/24 +f 22/14/25 21/11/26 5/10/27 +f 5/10/28 6/13/29 22/14/30 +f 23/16/31 22/14/32 6/13/33 +f 6/13/34 7/15/35 23/16/36 +f 24/18/37 23/16/38 7/15/39 +f 7/15/40 8/17/41 24/18/42 +f 25/20/43 24/18/44 8/17/45 +f 8/17/46 9/19/47 25/20/48 +f 26/22/49 25/20/50 9/19/51 +f 9/19/52 10/21/53 26/22/54 +f 27/24/55 26/22/56 10/21/57 +f 10/21/58 11/23/59 27/24/60 +f 28/26/61 27/24/62 11/23/63 +f 11/23/64 12/25/65 28/26/66 +f 29/28/67 28/26/68 12/25/69 +f 12/25/70 13/27/71 29/28/72 +f 30/30/73 29/28/74 13/27/75 +f 13/27/76 14/29/77 30/30/78 +f 31/32/79 30/30/80 14/29/81 +f 14/29/82 15/31/83 31/32/84 +f 32/34/85 31/32/86 15/31/87 +f 15/31/88 16/33/89 32/34/90 +f 17/4/91 32/34/92 16/33/93 +f 16/33/94 1/1/95 17/4/96 +f 65/37/97 67/38/98 68/35/99 +f 68/35/100 66/36/101 65/37/102 +f 67/38/103 69/40/104 70/39/105 +f 70/39/106 68/35/107 67/38/108 +f 69/40/109 71/42/110 72/41/111 +f 72/41/112 70/39/113 69/40/114 +f 71/45/115 73/46/116 74/43/117 +f 74/43/118 72/44/119 71/45/120 +f 73/46/121 75/48/122 76/47/123 +f 76/47/124 74/43/125 73/46/126 +f 75/48/127 77/50/128 78/49/129 +f 78/49/130 76/47/131 75/48/132 +f 77/50/133 79/52/134 80/51/135 +f 80/51/136 78/49/137 77/50/138 +f 79/52/139 81/54/140 82/53/141 +f 82/53/142 80/51/143 79/52/144 +f 81/54/145 83/56/146 84/55/147 +f 84/55/148 82/53/149 81/54/150 +f 83/56/151 85/58/152 86/57/153 +f 86/57/154 84/55/155 83/56/156 +f 85/58/157 87/60/158 88/59/159 +f 88/59/160 86/57/161 85/58/162 +f 87/60/163 89/62/164 90/61/165 +f 90/61/166 88/59/167 87/60/168 +f 89/62/169 91/64/170 92/63/171 +f 92/63/172 90/61/173 89/62/174 +f 91/64/175 93/66/176 94/65/177 +f 94/65/178 92/63/179 91/64/180 +f 93/66/181 95/68/182 96/67/183 +f 96/67/184 94/65/185 93/66/186 +f 95/68/187 65/37/188 66/36/189 +f 66/36/190 96/67/191 95/68/192 +f 50/71/193 49/72/194 33/69/195 +f 33/69/196 34/70/197 50/71/198 +f 51/74/199 50/71/200 34/70/201 +f 34/70/202 35/73/203 51/74/204 +f 52/76/205 51/74/206 35/73/207 +f 35/73/208 36/75/209 52/76/210 +f 53/79/211 52/80/212 36/77/213 +f 36/77/214 37/78/215 53/79/216 +f 54/82/217 53/79/218 37/78/219 +f 37/78/220 38/81/221 54/82/222 +f 55/84/223 54/82/224 38/81/225 +f 38/81/226 39/83/227 55/84/228 +f 56/86/229 55/84/230 39/83/231 +f 39/83/232 40/85/233 56/86/234 +f 57/88/235 56/86/236 40/85/237 +f 40/85/238 41/87/239 57/88/240 +f 58/90/241 57/88/242 41/87/243 +f 41/87/244 42/89/245 58/90/246 +f 59/92/247 58/90/248 42/89/249 +f 42/89/250 43/91/251 59/92/252 +f 60/94/253 59/92/254 43/91/255 +f 43/91/256 44/93/257 60/94/258 +f 61/96/259 60/94/260 44/93/261 +f 44/93/262 45/95/263 61/96/264 +f 62/98/265 61/96/266 45/95/267 +f 45/95/268 46/97/269 62/98/270 +f 63/100/271 62/98/272 46/97/273 +f 46/97/274 47/99/275 63/100/276 +f 64/102/277 63/100/278 47/99/279 +f 47/99/280 48/101/281 64/102/282 +f 49/72/283 64/102/284 48/101/285 +f 48/101/286 33/69/287 49/72/288 +f 66/36/289 68/35/290 34/70/291 +f 34/70/292 33/69/293 66/36/294 +f 67/38/295 65/37/296 17/4/297 +f 17/4/298 18/3/299 67/38/300 +f 68/35/301 70/39/302 35/73/303 +f 35/73/304 34/70/305 68/35/306 +f 69/40/307 67/38/308 18/3/309 +f 18/3/310 19/6/311 69/40/312 +f 70/39/313 72/41/314 36/75/315 +f 36/75/316 35/73/317 70/39/318 +f 71/42/319 69/40/320 19/6/321 +f 19/6/322 20/8/323 71/42/324 +f 72/44/325 74/43/326 37/78/327 +f 37/78/328 36/77/329 72/44/330 +f 73/46/331 71/45/332 20/12/333 +f 20/12/334 21/11/335 73/46/336 +f 74/43/337 76/47/338 38/81/339 +f 38/81/340 37/78/341 74/43/342 +f 75/48/343 73/46/344 21/11/345 +f 21/11/346 22/14/347 75/48/348 +f 76/47/349 78/49/350 39/83/351 +f 39/83/352 38/81/353 76/47/354 +f 77/50/355 75/48/356 22/14/357 +f 22/14/358 23/16/359 77/50/360 +f 78/49/361 80/51/362 40/85/363 +f 40/85/364 39/83/365 78/49/366 +f 79/52/367 77/50/368 23/16/369 +f 23/16/370 24/18/371 79/52/372 +f 80/51/373 82/53/374 41/87/375 +f 41/87/376 40/85/377 80/51/378 +f 81/54/379 79/52/380 24/18/381 +f 24/18/382 25/20/383 81/54/384 +f 82/53/385 84/55/386 42/89/387 +f 42/89/388 41/87/389 82/53/390 +f 83/56/391 81/54/392 25/20/393 +f 25/20/394 26/22/395 83/56/396 +f 84/55/397 86/57/398 43/91/399 +f 43/91/400 42/89/401 84/55/402 +f 85/58/403 83/56/404 26/22/405 +f 26/22/406 27/24/407 85/58/408 +f 86/57/409 88/59/410 44/93/411 +f 44/93/412 43/91/413 86/57/414 +f 87/60/415 85/58/416 27/24/417 +f 27/24/418 28/26/419 87/60/420 +f 88/59/421 90/61/422 45/95/423 +f 45/95/424 44/93/425 88/59/426 +f 89/62/427 87/60/428 28/26/429 +f 28/26/430 29/28/431 89/62/432 +f 90/61/433 92/63/434 46/97/435 +f 46/97/436 45/95/437 90/61/438 +f 91/64/439 89/62/440 29/28/441 +f 29/28/442 30/30/443 91/64/444 +f 92/63/445 94/65/446 47/99/447 +f 47/99/448 46/97/449 92/63/450 +f 93/66/451 91/64/452 30/30/453 +f 30/30/454 31/32/455 93/66/456 +f 94/65/457 96/67/458 48/101/459 +f 48/101/460 47/99/461 94/65/462 +f 95/68/463 93/66/464 31/32/465 +f 31/32/466 32/34/467 95/68/468 +f 96/67/469 66/36/470 33/69/471 +f 33/69/472 48/101/473 96/67/474 +f 65/37/475 95/68/476 32/34/477 +f 32/34/478 17/4/479 65/37/480 +f 188/103/481 158/104/482 108/105/483 +f 108/105/484 158/104/485 135/106/486 +f 99/107/487 190/108/488 114/109/489 +f 151/110/490 140/111/491 131/112/492 +f 142/113/493 133/114/494 149/115/495 +f 113/116/496 145/117/497 132/118/498 +f 109/119/499 121/120/500 181/121/501 +f 123/122/502 119/123/503 102/124/504 +f 177/125/505 130/126/506 141/127/507 +f 176/128/508 135/106/509 167/129/510 +f 138/130/511 143/131/512 111/132/513 +f 116/133/514 123/122/515 130/126/516 +f 104/134/517 150/135/518 183/136/519 +f 150/135/520 179/137/521 162/138/522 +f 120/139/523 189/140/524 153/141/525 +f 168/142/526 152/143/527 122/144/528 +f 152/143/529 161/145/530 122/144/531 +f 176/128/532 167/129/533 124/146/534 +f 192/147/535 185/148/536 97/149/537 +f 192/147/538 100/150/539 185/148/540 +f 134/151/541 163/152/542 101/153/543 +f 175/154/544 180/155/545 127/156/546 +f 143/131/547 181/121/548 184/157/549 +f 169/158/550 103/159/551 174/160/552 +f 165/161/553 145/117/554 113/116/555 +f 120/139/556 153/141/557 159/162/558 +f 142/113/559 114/109/560 133/114/561 +f 115/163/562 128/164/563 172/165/564 +f 115/163/565 172/165/566 117/166/567 +f 107/167/568 125/168/569 166/169/570 +f 177/125/571 116/133/572 130/126/573 +f 125/168/574 117/166/575 166/169/576 +f 166/169/577 182/170/578 157/171/579 +f 104/134/580 183/136/581 118/172/582 +f 131/112/583 155/173/584 106/174/585 +f 100/150/586 121/120/587 109/119/588 +f 162/138/589 189/140/590 120/139/591 +f 175/154/592 106/174/593 180/155/594 +f 121/120/595 136/175/596 181/121/597 +f 122/144/598 128/164/599 170/176/600 +f 103/159/601 123/122/602 116/133/603 +f 181/121/604 136/175/605 123/122/606 +f 99/107/607 186/177/608 190/108/609 +f 122/144/610 144/178/611 128/164/612 +f 115/163/613 117/166/614 125/168/615 +f 129/179/616 126/180/617 191/181/618 +f 109/119/619 181/121/620 143/131/621 +f 127/156/622 112/182/623 137/183/624 +f 159/162/625 153/141/626 112/182/627 +f 128/164/628 144/178/629 164/184/630 +f 128/164/631 164/184/632 172/165/633 +f 129/179/634 173/185/635 126/180/636 +f 188/103/637 185/148/638 158/104/639 +f 123/122/640 102/124/641 130/126/642 +f 141/127/643 130/126/644 156/186/645 +f 186/177/646 175/154/647 190/108/648 +f 175/154/649 127/156/650 137/183/651 +f 130/126/652 102/124/653 156/186/654 +f 110/187/655 133/114/656 114/109/657 +f 133/114/658 134/151/659 149/115/660 +f 97/149/661 185/148/662 188/103/663 +f 147/188/664 152/143/665 168/142/666 +f 190/108/667 175/154/668 137/183/669 +f 133/114/670 110/187/671 178/189/672 +f 135/106/673 154/190/674 167/129/675 +f 138/130/676 171/191/677 104/134/678 +f 136/175/679 119/123/680 123/122/681 +f 139/192/682 119/123/683 136/175/684 +f 137/183/685 112/182/686 134/151/687 +f 133/114/688 178/189/689 134/151/690 +f 138/130/691 104/134/692 135/106/693 +f 191/181/694 126/180/695 138/130/696 +f 112/182/697 163/152/698 134/151/699 +f 112/182/700 98/193/701 165/161/702 +f 139/192/703 136/175/704 121/120/705 +f 100/150/706 139/192/707 121/120/708 +f 131/112/709 140/111/710 155/173/711 +f 154/190/712 118/172/713 167/129/714 +f 141/127/715 156/186/716 98/193/717 +f 153/141/718 98/193/719 112/182/720 +f 166/169/721 117/166/722 182/170/723 +f 117/166/724 160/194/725 182/170/726 +f 126/180/727 143/131/728 138/130/729 +f 173/185/730 143/131/731 126/180/732 +f 144/178/733 146/195/734 164/184/735 +f 161/145/736 176/128/737 124/146/738 +f 98/193/739 145/117/740 165/161/741 +f 98/193/742 132/118/743 145/117/744 +f 161/145/745 124/146/746 144/178/747 +f 124/146/748 140/111/749 146/195/750 +f 97/149/751 152/143/752 147/188/753 +f 177/125/754 148/196/755 116/133/756 +f 103/159/757 116/133/758 174/160/759 +f 134/151/760 101/153/761 149/115/762 +f 169/158/763 179/137/764 150/135/765 +f 138/130/766 111/132/767 171/191/768 +f 140/111/769 151/110/770 146/195/771 +f 146/195/772 151/110/773 164/184/774 +f 152/143/775 97/149/776 188/103/777 +f 188/103/778 108/105/779 152/143/780 +f 105/197/781 141/127/782 153/141/783 +f 141/127/784 98/193/785 153/141/786 +f 135/106/787 104/134/788 154/190/789 +f 154/190/790 104/134/791 118/172/792 +f 122/144/793 161/145/794 144/178/795 +f 155/173/796 118/172/797 106/174/798 +f 167/129/799 118/172/800 155/173/801 +f 98/193/802 156/186/803 132/118/804 +f 142/113/805 149/115/806 157/171/807 +f 129/179/808 191/181/809 158/104/810 +f 158/104/811 185/148/812 129/179/813 +f 120/139/814 159/162/815 127/156/816 +f 127/156/817 159/162/818 112/182/819 +f 160/194/820 114/109/821 142/113/822 +f 99/107/823 114/109/824 160/194/825 +f 108/105/826 161/145/827 152/143/828 +f 176/128/829 108/105/830 135/106/831 +f 118/172/832 162/138/833 106/174/834 +f 106/174/835 162/138/836 120/139/837 +f 165/161/838 113/116/839 163/152/840 +f 164/184/841 186/177/842 99/107/843 +f 164/184/844 99/107/845 172/165/846 +f 112/182/847 165/161/848 163/152/849 +f 167/129/850 155/173/851 140/111/852 +f 124/146/853 167/129/854 140/111/855 +f 100/150/856 109/119/857 185/148/858 +f 109/119/859 143/131/860 173/185/861 +f 189/140/862 105/197/863 153/141/864 +f 170/176/865 125/168/866 107/167/867 +f 172/165/868 99/107/869 160/194/870 +f 172/165/871 160/194/872 117/166/873 +f 171/191/874 111/132/875 169/158/876 +f 184/157/877 103/159/878 169/158/879 +f 187/198/880 168/142/881 122/144/882 +f 147/188/883 168/142/884 187/198/885 +f 171/191/886 150/135/887 104/134/888 +f 171/191/889 169/158/890 150/135/891 +f 109/119/892 173/185/893 185/148/894 +f 185/148/895 173/185/896 129/179/897 +f 169/158/898 174/160/899 179/137/900 +f 148/196/901 174/160/902 116/133/903 +f 131/112/904 175/154/905 186/177/906 +f 131/112/907 106/174/908 175/154/909 +f 161/145/910 108/105/911 176/128/912 +f 105/197/913 177/125/914 141/127/915 +f 177/125/916 105/197/917 189/140/918 +f 178/189/919 137/183/920 134/151/921 +f 110/187/922 137/183/923 178/189/924 +f 179/137/925 174/160/926 148/196/927 +f 179/137/928 148/196/929 162/138/930 +f 180/155/931 120/139/932 127/156/933 +f 106/174/934 120/139/935 180/155/936 +f 103/159/937 181/121/938 123/122/939 +f 184/157/940 181/121/941 103/159/942 +f 182/170/943 142/113/944 157/171/945 +f 160/194/946 142/113/947 182/170/948 +f 183/136/949 150/135/950 162/138/951 +f 118/172/952 183/136/953 162/138/954 +f 111/132/955 184/157/956 169/158/957 +f 143/131/958 184/157/959 111/132/960 +f 164/184/961 151/110/962 186/177/963 +f 151/110/964 131/112/965 186/177/966 +f 149/115/967 101/153/968 163/152/969 +f 163/152/970 113/116/971 149/115/972 +f 187/198/973 122/144/974 170/176/975 +f 189/140/976 162/138/977 148/196/978 +f 189/140/979 148/196/980 177/125/981 +f 190/108/982 137/183/983 110/187/984 +f 190/108/985 110/187/986 114/109/987 +f 191/181/988 138/130/989 135/106/990 +f 158/104/991 191/181/992 135/106/993 +f 125/168/994 170/176/995 128/164/996 +f 128/164/997 115/163/998 125/168/999 +f 124/146/1000 146/195/1001 144/178/1002 +s 2 +f 207/213/1003 205/214/1004 193/199/1005 +f 193/199/1006 195/201/1007 207/213/1008 +f 206/215/1009 208/216/1010 196/207/1011 +f 196/207/1012 194/206/1013 206/215/1014 +f 205/214/1015 215/217/1016 203/200/1017 +f 203/200/1018 193/199/1019 205/214/1020 +f 209/218/1021 207/213/1022 195/201/1023 +f 195/201/1024 197/202/1025 209/218/1026 +f 208/216/1027 210/219/1028 198/208/1029 +f 198/208/1030 196/207/1031 208/216/1032 +f 213/221/1033 201/222/1034 253/211/1035 +f 253/211/1036 255/220/1037 213/221/1038 +f 266/223/1039 267/209/1040 198/208/1041 +f 198/208/1042 210/219/1043 266/223/1044 +f 212/257/1045 216/258/1046 204/212/1047 +f 204/212/1048 200/224/1049 212/257/1050 +f 209/218/1051 197/202/1052 268/203/1053 +f 268/203/1054 269/259/1055 209/218/1056 +f 212/257/1057 200/224/1058 254/205/1059 +f 254/205/1060 256/260/1061 212/257/1062 +f 215/217/1063 206/215/1064 194/206/1065 +f 194/206/1066 203/200/1067 215/217/1068 +f 216/258/1069 211/261/1070 199/210/1071 +f 199/210/1072 204/212/1073 216/258/1074 +f 219/227/1075 217/228/1076 205/225/1077 +f 205/225/1078 207/226/1079 219/227/1080 +f 218/231/1081 220/232/1082 208/229/1083 +f 208/229/1084 206/230/1085 218/231/1086 +f 217/228/1087 226/234/1088 215/233/1089 +f 215/233/1090 205/225/1091 217/228/1092 +f 221/236/1093 219/227/1094 207/226/1095 +f 207/226/1096 209/235/1097 221/236/1098 +f 220/232/1099 222/266/1100 210/265/1101 +f 210/265/1102 208/229/1103 220/232/1104 +f 225/239/1105 213/240/1106 255/237/1107 +f 255/237/1108 257/238/1109 225/239/1110 +f 222/266/1111 265/268/1112 266/267/1113 +f 266/267/1114 210/265/1115 222/266/1116 +f 224/243/1117 227/244/1118 216/241/1119 +f 216/241/1120 212/242/1121 224/243/1122 +f 270/270/1123 221/236/1124 209/235/1125 +f 209/235/1126 269/269/1127 270/270/1128 +f 224/243/1129 212/242/1130 256/246/1131 +f 256/246/1132 258/247/1133 224/243/1134 +f 226/332/1135 218/231/1136 206/230/1137 +f 206/230/1138 215/331/1139 226/332/1140 +f 227/244/1141 223/249/1142 211/248/1143 +f 211/248/1144 216/241/1145 227/244/1146 +f 228/250/1147 229/251/1148 227/244/1149 +f 227/244/1150 224/243/1151 228/250/1152 +f 229/251/1153 232/252/1154 223/249/1155 +f 223/249/1156 227/244/1157 229/251/1158 +f 258/247/1159 259/253/1160 228/250/1161 +f 228/250/1162 224/243/1163 258/247/1164 +f 260/254/1165 264/255/1166 225/239/1167 +f 225/239/1168 257/238/1169 260/254/1170 +f 244/274/1171 217/228/1172 219/227/1173 +f 219/227/1174 246/272/1175 244/274/1176 +f 247/276/1177 220/232/1178 218/231/1179 +f 218/231/1180 245/275/1181 247/276/1182 +f 250/277/1183 226/234/1184 217/228/1185 +f 217/228/1186 244/274/1187 250/277/1188 +f 246/272/1189 219/227/1190 221/236/1191 +f 221/236/1192 248/278/1193 246/272/1194 +f 249/279/1195 222/266/1196 220/232/1197 +f 220/232/1198 247/276/1199 249/279/1200 +f 245/275/1201 218/231/1202 226/332/1203 +f 226/332/1204 250/333/1205 245/275/1206 +f 231/282/1207 265/268/1208 222/266/1209 +f 222/266/1210 249/279/1211 231/282/1212 +f 252/286/1213 238/287/1214 279/284/1215 +f 279/284/1216 273/285/1217 252/286/1218 +f 273/285/1219 271/290/1220 242/288/1221 +f 242/288/1222 252/286/1223 273/285/1224 +f 291/294/1225 241/295/1226 289/245/1227 +f 289/245/1228 290/283/1229 291/294/1230 +f 241/295/1231 281/297/1232 288/296/1233 +f 288/296/1234 289/245/1235 241/295/1236 +f 283/299/1237 241/295/1238 291/294/1239 +f 291/294/1240 282/298/1241 283/299/1242 +f 281/297/1243 241/295/1244 283/299/1245 +f 283/299/1246 284/300/1247 281/297/1248 +f 263/262/1249 264/255/1250 260/254/1251 +f 260/254/1252 261/256/1253 263/262/1254 +f 261/256/1255 229/251/1256 228/250/1257 +f 228/250/1258 259/253/1259 261/256/1260 +f 275/306/1261 244/274/1262 246/272/1263 +f 246/272/1264 277/291/1265 275/306/1266 +f 247/276/1267 245/275/1268 276/307/1269 +f 276/307/1270 278/308/1271 247/276/1272 +f 280/309/1273 250/277/1274 244/274/1275 +f 244/274/1276 275/306/1277 280/309/1278 +f 246/272/1279 248/278/1280 279/284/1281 +f 279/284/1282 277/291/1283 246/272/1284 +f 274/310/1285 249/279/1286 247/276/1287 +f 247/276/1288 278/308/1289 274/310/1290 +f 245/275/1291 250/333/1292 280/334/1293 +f 280/334/1294 276/307/1295 245/275/1296 +f 233/311/1297 248/278/1298 221/236/1299 +f 221/236/1300 270/270/1301 233/311/1302 +f 272/312/1303 231/282/1304 249/279/1305 +f 249/279/1306 274/310/1307 272/312/1308 +f 272/312/1309 251/313/1310 242/288/1311 +f 242/288/1312 271/290/1313 272/312/1314 +f 255/220/1315 253/211/1316 199/210/1317 +f 199/210/1318 211/261/1319 255/220/1320 +f 256/260/1321 254/205/1322 202/204/1323 +f 202/204/1324 214/271/1325 256/260/1326 +f 257/238/1327 255/237/1328 211/248/1329 +f 211/248/1330 223/249/1331 257/238/1332 +f 258/247/1333 256/246/1334 214/263/1335 +f 214/263/1336 230/264/1337 258/247/1338 +f 259/253/1339 258/247/1340 230/264/1341 +f 230/264/1342 262/273/1343 259/253/1344 +f 232/252/1345 260/254/1346 257/238/1347 +f 257/238/1348 223/249/1349 232/252/1350 +f 261/256/1351 260/254/1352 232/252/1353 +f 232/252/1354 229/251/1355 261/256/1356 +f 263/262/1357 261/256/1358 259/253/1359 +f 259/253/1360 262/273/1361 263/262/1362 +f 231/281/1363 262/273/1364 230/264/1365 +f 230/264/1366 265/280/1367 231/281/1368 +f 243/289/1369 263/262/1370 262/273/1371 +f 262/273/1372 231/281/1373 243/289/1374 +f 264/255/1375 263/262/1376 243/289/1377 +f 243/289/1378 233/292/1379 264/255/1380 +f 270/293/1381 225/239/1382 264/255/1383 +f 264/255/1384 233/292/1385 270/293/1386 +f 266/304/1387 265/280/1388 230/264/1389 +f 230/264/1390 214/263/1391 266/304/1392 +f 267/209/1393 266/223/1394 214/271/1395 +f 214/271/1396 202/204/1397 267/209/1398 +f 269/259/1399 268/203/1400 201/222/1401 +f 201/222/1402 213/221/1403 269/259/1404 +f 225/239/1405 270/293/1406 269/305/1407 +f 269/305/1408 213/240/1409 225/239/1410 +f 243/314/1411 271/290/1412 273/285/1413 +f 273/285/1414 233/311/1415 243/314/1416 +f 231/282/1417 272/312/1418 271/290/1419 +f 271/290/1420 243/314/1421 231/282/1422 +f 234/316/1423 275/306/1424 277/291/1425 +f 277/291/1426 236/315/1427 234/316/1428 +f 278/308/1429 276/307/1430 235/317/1431 +f 235/317/1432 237/318/1433 278/308/1434 +f 240/319/1435 280/309/1436 275/306/1437 +f 275/306/1438 234/316/1439 240/319/1440 +f 277/291/1441 279/284/1442 238/287/1443 +f 238/287/1444 236/315/1445 277/291/1446 +f 239/320/1447 274/310/1448 278/308/1449 +f 278/308/1450 237/318/1451 239/320/1452 +f 276/307/1453 280/334/1454 240/335/1455 +f 240/335/1456 235/317/1457 276/307/1458 +f 251/313/1459 272/312/1460 274/310/1461 +f 274/310/1462 239/320/1463 251/313/1464 +f 273/285/1465 279/284/1466 248/278/1467 +f 248/278/1468 233/311/1469 273/285/1470 +f 281/297/1471 284/300/1472 285/301/1473 +f 285/301/1474 286/302/1475 281/297/1476 +f 287/303/1477 288/296/1478 281/297/1479 +f 281/297/1480 286/302/1481 287/303/1482 +f 283/321/1483 282/322/1484 234/316/1485 +f 234/316/1486 236/315/1487 283/321/1488 +f 284/323/1489 283/321/1490 236/315/1491 +f 236/315/1492 238/287/1493 284/323/1494 +f 285/324/1495 284/323/1496 238/287/1497 +f 238/287/1498 252/286/1499 285/324/1500 +f 286/325/1501 285/324/1502 252/286/1503 +f 252/286/1504 242/288/1505 286/325/1506 +f 287/326/1507 286/325/1508 242/288/1509 +f 242/288/1510 251/313/1511 287/326/1512 +f 288/327/1513 287/326/1514 251/313/1515 +f 251/313/1516 239/320/1517 288/327/1518 +f 289/328/1519 288/327/1520 239/320/1521 +f 239/320/1522 237/318/1523 289/328/1524 +f 290/329/1525 289/328/1526 237/318/1527 +f 237/318/1528 235/317/1529 290/329/1530 +f 291/330/1531 290/329/1532 235/317/1533 +f 235/317/1534 240/335/1535 291/330/1536 +f 282/322/1537 291/336/1538 240/319/1539 +f 240/319/1540 234/316/1541 282/322/1542 +s 1 +f 294/337/1543 292/339/1544 304/351/1545 +f 304/351/1546 306/352/1547 294/337/1548 +f 293/345/1549 295/344/1550 307/353/1551 +f 307/353/1552 305/354/1553 293/345/1554 +f 292/339/1555 302/338/1556 314/355/1557 +f 314/355/1558 304/351/1559 292/339/1560 +f 296/340/1561 294/337/1562 306/352/1563 +f 306/352/1564 308/356/1565 296/340/1566 +f 295/344/1567 297/346/1568 309/357/1569 +f 309/357/1570 307/353/1571 295/344/1572 +f 354/360/1573 352/349/1574 300/358/1575 +f 300/358/1576 312/359/1577 354/360/1578 +f 309/357/1579 297/346/1580 366/347/1581 +f 366/347/1582 365/361/1583 309/357/1584 +f 299/396/1585 303/348/1586 315/362/1587 +f 315/362/1588 311/395/1589 299/396/1590 +f 368/397/1591 367/341/1592 296/340/1593 +f 296/340/1594 308/356/1595 368/397/1596 +f 355/398/1597 353/342/1598 299/396/1599 +f 299/396/1600 311/395/1601 355/398/1602 +f 302/338/1603 293/345/1604 305/354/1605 +f 305/354/1606 314/355/1607 302/338/1608 +f 303/348/1609 298/350/1610 310/399/1611 +f 310/399/1612 315/362/1613 303/348/1614 +f 306/365/1615 304/366/1616 316/363/1617 +f 316/363/1618 318/364/1619 306/365/1620 +f 305/369/1621 307/370/1622 319/367/1623 +f 319/367/1624 317/368/1625 305/369/1626 +f 304/366/1627 314/372/1628 325/371/1629 +f 325/371/1630 316/363/1631 304/366/1632 +f 308/374/1633 306/365/1634 318/364/1635 +f 318/364/1636 320/373/1637 308/374/1638 +f 307/370/1639 309/404/1640 321/403/1641 +f 321/403/1642 319/367/1643 307/370/1644 +f 356/377/1645 354/378/1646 312/375/1647 +f 312/375/1648 324/376/1649 356/377/1650 +f 309/404/1651 365/406/1652 364/405/1653 +f 364/405/1654 321/403/1655 309/404/1656 +f 311/381/1657 315/382/1658 326/379/1659 +f 326/379/1660 323/380/1661 311/381/1662 +f 368/408/1663 308/374/1664 320/373/1665 +f 320/373/1666 369/407/1667 368/408/1668 +f 357/384/1669 355/385/1670 311/381/1671 +f 311/381/1672 323/380/1673 357/384/1674 +f 314/470/1675 305/369/1676 317/368/1677 +f 317/368/1678 325/469/1679 314/470/1680 +f 315/382/1681 310/387/1682 322/386/1683 +f 322/386/1684 326/379/1685 315/382/1686 +f 323/380/1687 326/379/1688 328/388/1689 +f 328/388/1690 327/389/1691 323/380/1692 +f 326/379/1693 322/386/1694 331/390/1695 +f 331/390/1696 328/388/1697 326/379/1698 +f 323/380/1699 327/389/1700 358/391/1701 +f 358/391/1702 357/384/1703 323/380/1704 +f 356/377/1705 324/376/1706 363/392/1707 +f 363/392/1708 359/393/1709 356/377/1710 +f 345/412/1711 318/364/1712 316/363/1713 +f 316/363/1714 343/410/1715 345/412/1716 +f 344/414/1717 317/368/1718 319/367/1719 +f 319/367/1720 346/413/1721 344/414/1722 +f 343/410/1723 316/363/1724 325/371/1725 +f 325/371/1726 349/415/1727 343/410/1728 +f 347/416/1729 320/373/1730 318/364/1731 +f 318/364/1732 345/412/1733 347/416/1734 +f 346/413/1735 319/367/1736 321/403/1737 +f 321/403/1738 348/417/1739 346/413/1740 +f 349/471/1741 325/469/1742 317/368/1743 +f 317/368/1744 344/414/1745 349/471/1746 +f 348/417/1747 321/403/1748 364/405/1749 +f 364/405/1750 330/420/1751 348/417/1752 +f 372/424/1753 378/425/1754 337/422/1755 +f 337/422/1756 351/423/1757 372/424/1758 +f 351/423/1759 341/428/1760 370/426/1761 +f 370/426/1762 372/424/1763 351/423/1764 +f 389/432/1765 388/433/1766 340/383/1767 +f 340/383/1768 390/421/1769 389/432/1770 +f 388/433/1771 387/435/1772 380/434/1773 +f 380/434/1774 340/383/1775 388/433/1776 +f 381/437/1777 390/421/1778 340/383/1779 +f 340/383/1780 382/436/1781 381/437/1782 +f 383/438/1783 382/436/1784 340/383/1785 +f 340/383/1786 380/434/1787 383/438/1788 +f 360/400/1789 359/393/1790 363/392/1791 +f 363/392/1792 362/394/1793 360/400/1794 +f 358/391/1795 327/389/1796 328/388/1797 +f 328/388/1798 360/400/1799 358/391/1800 +f 376/444/1801 345/412/1802 343/410/1803 +f 343/410/1804 374/429/1805 376/444/1806 +f 377/445/1807 375/446/1808 344/414/1809 +f 344/414/1810 346/413/1811 377/445/1812 +f 374/429/1813 343/410/1814 349/415/1815 +f 349/415/1816 379/447/1817 374/429/1818 +f 376/444/1819 378/425/1820 347/416/1821 +f 347/416/1822 345/412/1823 376/444/1824 +f 377/445/1825 346/413/1826 348/417/1827 +f 348/417/1828 373/448/1829 377/445/1830 +f 375/446/1831 379/472/1832 349/471/1833 +f 349/471/1834 344/414/1835 375/446/1836 +f 369/407/1837 320/373/1838 347/416/1839 +f 347/416/1840 332/449/1841 369/407/1842 +f 373/448/1843 348/417/1844 330/420/1845 +f 330/420/1846 371/450/1847 373/448/1848 +f 370/426/1849 341/428/1850 350/451/1851 +f 350/451/1852 371/450/1853 370/426/1854 +f 310/399/1855 298/350/1856 352/349/1857 +f 352/349/1858 354/360/1859 310/399/1860 +f 313/409/1861 301/343/1862 353/342/1863 +f 353/342/1864 355/398/1865 313/409/1866 +f 322/386/1867 310/387/1868 354/378/1869 +f 354/378/1870 356/377/1871 322/386/1872 +f 329/401/1873 313/402/1874 355/385/1875 +f 355/385/1876 357/384/1877 329/401/1878 +f 361/411/1879 329/401/1880 357/384/1881 +f 357/384/1882 358/391/1883 361/411/1884 +f 322/386/1885 356/377/1886 359/393/1887 +f 359/393/1888 331/390/1889 322/386/1890 +f 328/388/1891 331/390/1892 359/393/1893 +f 359/393/1894 360/400/1895 328/388/1896 +f 361/411/1897 358/391/1898 360/400/1899 +f 360/400/1900 362/394/1901 361/411/1902 +f 364/419/1903 329/401/1904 361/411/1905 +f 361/411/1906 330/418/1907 364/419/1908 +f 330/418/1909 361/411/1910 362/394/1911 +f 362/394/1912 342/427/1913 330/418/1914 +f 332/430/1915 342/427/1916 362/394/1917 +f 362/394/1918 363/392/1919 332/430/1920 +f 332/430/1921 363/392/1922 324/376/1923 +f 324/376/1924 369/431/1925 332/430/1926 +f 313/402/1927 329/401/1928 364/419/1929 +f 364/419/1930 365/442/1931 313/402/1932 +f 301/343/1933 313/409/1934 365/361/1935 +f 365/361/1936 366/347/1937 301/343/1938 +f 312/359/1939 300/358/1940 367/341/1941 +f 367/341/1942 368/397/1943 312/359/1944 +f 312/375/1945 368/443/1946 369/431/1947 +f 369/431/1948 324/376/1949 312/375/1950 +f 332/449/1951 372/424/1952 370/426/1953 +f 370/426/1954 342/452/1955 332/449/1956 +f 342/452/1957 370/426/1958 371/450/1959 +f 371/450/1960 330/420/1961 342/452/1962 +f 335/454/1963 376/444/1964 374/429/1965 +f 374/429/1966 333/453/1967 335/454/1968 +f 336/455/1969 334/456/1970 375/446/1971 +f 375/446/1972 377/445/1973 336/455/1974 +f 333/453/1975 374/429/1976 379/447/1977 +f 379/447/1978 339/457/1979 333/453/1980 +f 335/454/1981 337/422/1982 378/425/1983 +f 378/425/1984 376/444/1985 335/454/1986 +f 336/455/1987 377/445/1988 373/448/1989 +f 373/448/1990 338/458/1991 336/455/1992 +f 334/456/1993 339/473/1994 379/472/1995 +f 379/472/1996 375/446/1997 334/456/1998 +f 338/458/1999 373/448/2000 371/450/2001 +f 371/450/2002 350/451/2003 338/458/2004 +f 332/449/2005 347/416/2006 378/425/2007 +f 378/425/2008 372/424/2009 332/449/2010 +f 385/439/2011 384/440/2012 383/438/2013 +f 383/438/2014 380/434/2015 385/439/2016 +f 385/439/2017 380/434/2018 387/435/2019 +f 387/435/2020 386/441/2021 385/439/2022 +f 335/454/2023 333/453/2024 381/459/2025 +f 381/459/2026 382/460/2027 335/454/2028 +f 337/422/2029 335/454/2030 382/460/2031 +f 382/460/2032 383/461/2033 337/422/2034 +f 351/423/2035 337/422/2036 383/461/2037 +f 383/461/2038 384/462/2039 351/423/2040 +f 341/428/2041 351/423/2042 384/462/2043 +f 384/462/2044 385/463/2045 341/428/2046 +f 350/451/2047 341/428/2048 385/463/2049 +f 385/463/2050 386/464/2051 350/451/2052 +f 338/458/2053 350/451/2054 386/464/2055 +f 386/464/2056 387/465/2057 338/458/2058 +f 336/455/2059 338/458/2060 387/465/2061 +f 387/465/2062 388/466/2063 336/455/2064 +f 334/456/2065 336/455/2066 388/466/2067 +f 388/466/2068 389/467/2069 334/456/2070 +f 339/473/2071 334/456/2072 389/467/2073 +f 389/467/2074 390/468/2075 339/473/2076 +f 333/453/2077 339/457/2078 390/474/2079 +f 390/474/2080 381/459/2081 333/453/2082 +f 396/480/2083 398/481/2084 397/475/2085 +f 397/475/2086 1269/478/2087 396/480/2088 +f 396/480/2089 400/483/2090 399/482/2091 +f 399/482/2092 398/481/2093 396/480/2094 +f 401/487/2095 404/488/2096 403/485/2097 +f 403/485/2098 402/486/2099 401/487/2100 +f 405/490/2101 401/487/2102 402/486/2103 +f 402/486/2104 406/489/2105 405/490/2106 +f 401/487/2107 405/490/2108 407/491/2109 +f 407/491/2110 404/488/2111 401/487/2112 +f 408/494/2113 411/495/2114 410/492/2115 +f 410/492/2116 409/493/2117 408/494/2118 +f 408/494/2119 413/497/2120 412/496/2121 +f 412/496/2122 411/495/2123 408/494/2124 +f 408/494/2125 415/499/2126 414/498/2127 +f 414/498/2128 413/497/2129 408/494/2130 +f 408/494/2131 417/501/2132 416/500/2133 +f 416/500/2134 415/499/2135 408/494/2136 +f 408/494/2137 409/493/2138 418/502/2139 +f 418/502/2140 417/501/2141 408/494/2142 +f 419/505/2143 422/506/2144 421/503/2145 +f 421/503/2146 420/504/2147 419/505/2148 +f 419/505/2149 420/504/2150 424/507/2151 +f 424/507/2152 423/508/2153 419/505/2154 +f 425/511/2155 428/512/2156 427/509/2157 +f 427/509/2158 426/510/2159 425/511/2160 +f 429/514/2161 425/511/2162 426/510/2163 +f 426/510/2164 430/513/2165 429/514/2166 +f 425/515/2167 429/528/2168 431/476/2169 +f 431/476/2170 428/477/2171 425/515/2172 +f 432/517/2173 435/518/2174 434/484/2175 +f 434/484/2176 433/516/2177 432/517/2178 +f 432/517/2179 433/516/2180 437/519/2181 +f 437/519/2182 436/520/2183 432/517/2184 +f 432/517/2185 438/521/2186 400/483/2187 +f 400/483/2188 435/518/2189 432/517/2190 +f 435/518/2191 440/523/2192 439/522/2193 +f 439/522/2194 434/484/2195 435/518/2196 +f 443/526/2197 442/527/2198 441/524/2199 +f 441/524/2200 444/525/2201 443/526/2202 +f 442/527/2203 443/526/2204 434/484/2205 +f 434/484/2206 439/522/2207 442/527/2208 +f 442/527/2209 439/522/2210 445/529/2211 +f 445/529/2212 441/524/2213 442/527/2214 +f 446/532/2215 449/533/2216 448/530/2217 +f 448/530/2218 447/531/2219 446/532/2220 +f 451/534/2221 450/535/2222 449/533/2223 +f 449/533/2224 446/532/2225 451/534/2226 +f 433/516/2227 434/484/2228 443/526/2229 +f 443/526/2230 437/519/2231 433/516/2232 +f 452/538/2233 455/539/2234 454/536/2235 +f 454/536/2236 453/537/2237 452/538/2238 +f 452/538/2239 458/557/2240 457/542/2241 +f 457/542/2242 456/543/2243 452/538/2244 +f 452/538/2245 453/537/2246 459/644/2247 +f 459/644/2248 458/557/2249 452/538/2250 +f 460/544/2251 462/545/2252 457/540/2253 +f 457/540/2254 461/541/2255 460/544/2256 +f 460/544/2257 406/489/2258 402/486/2259 +f 402/486/2260 403/485/2261 460/544/2262 +f 460/544/2263 461/541/2264 463/546/2265 +f 463/546/2266 406/489/2267 460/544/2268 +f 417/501/2269 418/502/2270 464/547/2271 +f 464/547/2272 416/500/2273 417/501/2274 +f 462/545/2275 465/549/2276 456/548/2277 +f 456/548/2278 457/540/2279 462/545/2280 +f 462/545/2281 460/544/2282 466/550/2283 +f 466/550/2284 465/549/2285 462/545/2286 +f 1342/688/2287 423/508/2288 467/551/2289 +f 467/551/2290 1341/687/2291 1342/688/2292 +f 468/627/2293 471/629/2294 470/552/2295 +f 470/552/2296 469/553/2297 468/627/2298 +f 468/647/2299 473/648/2300 472/645/2301 +f 472/645/2302 471/646/2303 468/647/2304 +f 471/556/2305 475/558/2306 474/554/2307 +f 474/554/2308 470/555/2309 471/556/2310 +f 471/556/2311 472/560/2312 476/559/2313 +f 476/559/2314 475/558/2315 471/556/2316 +f 476/559/2317 478/562/2318 477/561/2319 +f 477/561/2320 475/558/2321 476/559/2322 +f 476/559/2323 465/549/2324 466/550/2325 +f 466/550/2326 478/562/2327 476/559/2328 +f 476/559/2329 472/560/2330 456/548/2331 +f 456/548/2332 465/549/2333 476/559/2334 +f 478/562/2335 480/564/2336 479/563/2337 +f 479/563/2338 477/561/2339 478/562/2340 +f 478/562/2341 466/550/2342 481/565/2343 +f 481/565/2344 480/564/2345 478/562/2346 +f 481/565/2347 483/567/2348 482/566/2349 +f 482/566/2350 480/564/2351 481/565/2352 +f 481/565/2353 403/485/2354 404/488/2355 +f 404/488/2356 483/567/2357 481/565/2358 +f 481/565/2359 466/550/2360 460/544/2361 +f 460/544/2362 403/485/2363 481/565/2364 +f 483/567/2365 485/569/2366 484/568/2367 +f 484/568/2368 482/566/2369 483/567/2370 +f 483/567/2371 404/488/2372 486/570/2373 +f 486/570/2374 485/569/2375 483/567/2376 +f 486/570/2377 488/572/2378 487/571/2379 +f 487/571/2380 485/569/2381 486/570/2382 +f 486/570/2383 490/574/2384 489/573/2385 +f 489/573/2386 488/572/2387 486/570/2388 +f 486/570/2389 404/488/2390 407/491/2391 +f 407/491/2392 490/574/2393 486/570/2394 +f 490/574/2395 464/547/2396 491/575/2397 +f 491/575/2398 489/573/2399 490/574/2400 +f 490/574/2401 407/491/2402 416/500/2403 +f 416/500/2404 464/547/2405 490/574/2406 +f 489/573/2407 493/577/2408 492/576/2409 +f 492/576/2410 488/572/2411 489/573/2412 +f 489/573/2413 491/575/2414 494/578/2415 +f 494/578/2416 493/577/2417 489/573/2418 +f 493/577/2419 496/580/2420 495/579/2421 +f 495/579/2422 492/576/2423 493/577/2424 +f 493/577/2425 494/578/2426 497/581/2427 +f 497/581/2428 496/580/2429 493/577/2430 +f 497/581/2431 494/578/2432 499/582/2433 +f 499/582/2434 498/583/2435 497/581/2436 +f 498/2584/2437 499/2583/2438 501/584/2439 +f 501/584/2440 500/585/2441 498/2584/2442 +f 501/584/2443 499/2583/2444 503/586/2445 +f 503/586/2446 502/587/2447 501/584/2448 +f 501/584/2449 505/589/2450 504/588/2451 +f 504/588/2452 500/585/2453 501/584/2454 +f 501/584/2455 502/587/2456 506/590/2457 +f 506/590/2458 505/589/2459 501/584/2460 +f 504/588/2461 505/589/2462 508/591/2463 +f 508/591/2464 507/592/2465 504/588/2466 +f 507/592/2467 508/591/2468 510/593/2469 +f 510/593/2470 509/594/2471 507/592/2472 +f 510/593/2473 508/591/2474 512/595/2475 +f 512/595/2476 511/596/2477 510/593/2478 +f 510/593/2479 514/598/2480 513/597/2481 +f 513/597/2482 509/594/2483 510/593/2484 +f 510/593/2485 511/596/2486 515/599/2487 +f 515/599/2488 514/598/2489 510/593/2490 +f 515/599/2491 511/596/2492 517/600/2493 +f 517/600/2494 516/601/2495 515/599/2496 +f 515/599/2497 519/603/2498 518/602/2499 +f 518/602/2500 514/598/2501 515/599/2502 +f 515/599/2503 516/601/2504 520/604/2505 +f 520/604/2506 519/603/2507 515/599/2508 +f 520/604/2509 516/601/2510 522/605/2511 +f 522/605/2512 521/606/2513 520/604/2514 +f 520/604/2515 484/568/2516 523/607/2517 +f 523/607/2518 519/603/2519 520/604/2520 +f 520/604/2521 521/606/2522 482/566/2523 +f 482/566/2524 484/568/2525 520/604/2526 +f 523/607/2527 524/608/2528 518/602/2529 +f 518/602/2530 519/603/2531 523/607/2532 +f 523/607/2533 487/571/2534 525/609/2535 +f 525/609/2536 524/608/2537 523/607/2538 +f 523/607/2539 484/568/2540 485/569/2541 +f 485/569/2542 487/571/2543 523/607/2544 +f 525/609/2545 527/611/2546 526/610/2547 +f 526/610/2548 524/608/2549 525/609/2550 +f 525/609/2551 492/576/2552 495/579/2553 +f 495/579/2554 527/611/2555 525/609/2556 +f 525/609/2557 487/571/2558 488/572/2559 +f 488/572/2560 492/576/2561 525/609/2562 +f 528/612/2563 513/597/2564 514/598/2565 +f 514/598/2566 518/602/2567 528/612/2568 +f 528/612/2569 518/602/2570 524/608/2571 +f 524/608/2572 526/610/2573 528/612/2574 +f 522/605/2575 531/615/2576 530/613/2577 +f 530/613/2578 529/614/2579 522/605/2580 +f 522/605/2581 516/601/2582 517/600/2583 +f 517/600/2584 531/615/2585 522/605/2586 +f 522/605/2587 529/614/2588 479/563/2589 +f 479/563/2590 521/606/2591 522/605/2592 +f 531/615/2593 533/617/2594 532/616/2595 +f 532/616/2596 530/613/2597 531/615/2598 +f 531/615/2599 517/600/2600 534/618/2601 +f 534/618/2602 533/617/2603 531/615/2604 +f 534/618/2605 536/620/2606 535/619/2607 +f 535/619/2608 533/617/2609 534/618/2610 +f 534/618/2611 512/595/2612 537/621/2613 +f 537/621/2614 536/620/2615 534/618/2616 +f 534/618/2617 517/600/2618 511/596/2619 +f 511/596/2620 512/595/2621 534/618/2622 +f 535/619/2623 538/622/2624 426/510/2625 +f 426/510/2626 427/509/2627 535/619/2628 +f 535/619/2629 536/620/2630 506/590/2631 +f 506/590/2632 538/622/2633 535/619/2634 +f 535/619/2635 427/509/2636 532/616/2637 +f 532/616/2638 533/617/2639 535/619/2640 +f 538/622/2641 539/623/2642 430/513/2643 +f 430/513/2644 426/510/2645 538/622/2646 +f 538/622/2647 506/590/2648 502/587/2649 +f 502/587/2650 539/623/2651 538/622/2652 +f 539/623/2653 410/2580/2654 411/2581/2655 +f 411/2581/2656 430/513/2657 539/623/2658 +f 539/623/2659 502/587/2660 503/586/2661 +f 503/586/2662 410/2580/2663 539/623/2664 +f 532/616/2665 427/509/2666 428/512/2667 +f 428/512/2668 540/624/2669 532/616/2670 +f 532/616/2671 540/624/2672 541/625/2673 +f 541/625/2674 530/613/2675 532/616/2676 +f 541/632/2677 540/633/2678 543/630/2679 +f 543/630/2680 542/631/2681 541/632/2682 +f 541/625/2683 544/626/2684 529/614/2685 +f 529/614/2686 530/613/2687 541/625/2688 +f 541/625/2689 542/628/2690 474/554/2691 +f 474/554/2692 544/626/2693 541/625/2694 +f 544/626/2695 477/561/2696 479/563/2697 +f 479/563/2698 529/614/2699 544/626/2700 +f 544/626/2701 474/554/2702 475/558/2703 +f 475/558/2704 477/561/2705 544/626/2706 +f 543/630/2707 547/636/2708 546/634/2709 +f 546/634/2710 545/635/2711 543/630/2712 +f 543/630/2713 540/633/2714 428/477/2715 +f 428/477/2716 547/636/2717 543/630/2718 +f 543/630/2719 545/635/2720 548/637/2721 +f 548/637/2722 542/631/2723 543/630/2724 +f 547/636/2725 550/639/2726 549/638/2727 +f 549/638/2728 546/634/2729 547/636/2730 +f 547/636/2731 428/477/2732 431/476/2733 +f 431/476/2734 550/639/2735 547/636/2736 +f 550/639/2737 552/641/2738 551/640/2739 +f 551/640/2740 549/638/2741 550/639/2742 +f 550/639/2743 431/476/2744 553/642/2745 +f 553/642/2746 552/641/2747 550/639/2748 +f 553/642/2749 555/668/2750 554/643/2751 +f 554/643/2752 552/641/2753 553/642/2754 +f 553/642/2755 557/670/2756 556/669/2757 +f 556/669/2758 555/668/2759 553/642/2760 +f 553/642/2761 431/476/2762 429/528/2763 +f 429/528/2764 557/670/2765 553/642/2766 +f 557/670/2767 559/672/2768 558/671/2769 +f 558/671/2770 556/669/2771 557/670/2772 +f 557/670/2773 429/528/2774 412/673/2775 +f 412/673/2776 559/672/2777 557/670/2778 +f 559/652/2779 561/653/2780 560/649/2781 +f 560/649/2782 558/651/2783 559/652/2784 +f 559/652/2785 412/655/2786 413/654/2787 +f 413/654/2788 561/653/2789 559/652/2790 +f 561/653/2791 563/657/2792 562/656/2793 +f 562/656/2794 560/649/2795 561/653/2796 +f 561/653/2797 413/654/2798 414/658/2799 +f 414/658/2800 563/657/2801 561/653/2802 +f 563/657/2803 565/660/2804 564/659/2805 +f 564/659/2806 562/656/2807 563/657/2808 +f 563/657/2809 414/658/2810 566/661/2811 +f 566/661/2812 565/660/2813 563/657/2814 +f 566/661/2815 463/663/2816 567/662/2817 +f 567/662/2818 565/660/2819 566/661/2820 +f 566/650/2821 405/490/2822 406/489/2823 +f 406/489/2824 463/546/2825 566/650/2826 +f 566/650/2827 414/498/2828 415/499/2829 +f 415/499/2830 405/490/2831 566/650/2832 +f 567/662/2833 568/664/2834 564/659/2835 +f 564/659/2836 565/660/2837 567/662/2838 +f 567/662/2839 570/666/2840 569/665/2841 +f 569/665/2842 568/664/2843 567/662/2844 +f 567/662/2845 463/663/2846 461/667/2847 +f 461/667/2848 570/666/2849 567/662/2850 +f 570/666/2851 458/557/2852 459/644/2853 +f 459/644/2854 569/665/2855 570/666/2856 +f 570/666/2857 461/667/2858 457/542/2859 +f 457/542/2860 458/557/2861 570/666/2862 +f 569/665/2863 572/697/2864 571/696/2865 +f 571/696/2866 568/664/2867 569/665/2868 +f 569/665/2869 459/644/2870 573/781/2871 +f 573/781/2872 572/697/2873 569/665/2874 +f 573/781/2875 575/1353/2876 574/782/2877 +f 574/782/2878 572/697/2879 573/781/2880 +f 573/781/2881 577/1355/2882 576/1354/2883 +f 576/1354/2884 575/1353/2885 573/781/2886 +f 573/781/2887 459/644/2888 453/537/2889 +f 453/537/2890 577/1355/2891 573/781/2892 +f 577/1355/2893 579/1357/2894 578/1356/2895 +f 578/1356/2896 576/1354/2897 577/1355/2898 +f 577/1355/2899 453/537/2900 454/536/2901 +f 454/536/2902 579/1357/2903 577/1355/2904 +f 576/1354/2905 581/1390/2906 580/1389/2907 +f 580/1389/2908 575/1353/2909 576/1354/2910 +f 576/1354/2911 578/1356/2912 582/1391/2913 +f 582/1391/2914 581/1390/2915 576/1354/2916 +f 581/1390/2917 1483/1393/2918 1482/1392/2919 +f 1482/1392/2920 580/1389/2921 581/1390/2922 +f 581/1390/2923 582/1391/2924 1484/1394/2925 +f 1484/1394/2926 1483/1393/2927 581/1390/2928 +f 1482/1392/2929 391/1396/2930 583/1395/2931 +f 583/1395/2932 580/1389/2933 1482/1392/2934 +f 391/1396/2935 397/475/2936 398/481/2937 +f 398/481/2938 583/1395/2939 391/1396/2940 +f 583/1395/2941 574/782/2942 575/1353/2943 +f 575/1353/2944 580/1389/2945 583/1395/2946 +f 583/1395/2947 398/481/2948 399/482/2949 +f 399/482/2950 574/782/2951 583/1395/2952 +f 574/782/2953 399/482/2954 571/696/2955 +f 571/696/2956 572/697/2957 574/782/2958 +f 571/696/2959 399/482/2960 400/483/2961 +f 400/483/2962 438/521/2963 571/696/2964 +f 571/696/2965 438/521/2966 564/659/2967 +f 564/659/2968 568/664/2969 571/696/2970 +f 564/659/2971 438/521/2972 432/517/2973 +f 432/517/2974 562/656/2975 564/659/2976 +f 562/656/2977 432/517/2978 436/520/2979 +f 436/520/2980 560/649/2981 562/656/2982 +f 560/649/2983 436/520/2984 584/1397/2985 +f 584/1397/2986 558/651/2987 560/649/2988 +f 584/676/2989 587/677/2990 586/674/2991 +f 586/674/2992 585/675/2993 584/676/2994 +f 584/1397/2995 436/520/2996 437/519/2997 +f 437/519/2998 587/1398/2999 584/1397/3000 +f 584/676/3001 585/675/3002 556/669/3003 +f 556/669/3004 558/671/3005 584/676/3006 +f 586/674/3007 590/680/3008 589/678/3009 +f 589/678/3010 588/679/3011 586/674/3012 +f 586/674/3013 587/677/3014 444/681/3015 +f 444/681/3016 590/680/3017 586/674/3018 +f 586/674/3019 588/679/3020 591/682/3021 +f 591/682/3022 585/675/3023 586/674/3024 +f 591/682/3025 588/679/3026 593/683/3027 +f 593/683/3028 592/684/3029 591/682/3030 +f 591/682/3031 555/668/3032 556/669/3033 +f 556/669/3034 585/675/3035 591/682/3036 +f 591/682/3037 592/684/3038 554/643/3039 +f 554/643/3040 555/668/3041 591/682/3042 +f 593/683/3043 596/1388/3044 595/685/3045 +f 595/685/3046 594/785/3047 593/683/3048 +f 593/683/3049 588/679/3050 589/678/3051 +f 589/678/3052 596/1388/3053 593/683/3054 +f 593/683/3055 594/785/3056 597/1399/3057 +f 597/1399/3058 592/684/3059 593/683/3060 +f 597/1399/3061 594/785/3062 1500/1427/3063 +f 1500/1427/3064 1501/1428/3065 597/1399/3066 +f 597/1399/3067 598/1429/3068 554/643/3069 +f 554/643/3070 592/684/3071 597/1399/3072 +f 597/1399/3073 1501/1428/3074 392/1430/3075 +f 392/1430/3076 598/1429/3077 597/1399/3078 +f 392/1430/3079 1503/1525/3080 551/640/3081 +f 551/640/3082 598/1429/3083 392/1430/3084 +f 1503/1525/3085 599/1526/3086 549/638/3087 +f 549/638/3088 551/640/3089 1503/1525/3090 +f 599/1526/3091 1504/1528/3092 546/634/3093 +f 546/634/3094 549/638/3095 599/1526/3096 +f 1504/1528/3097 600/1529/3098 545/635/3099 +f 545/635/3100 546/634/3101 1504/1528/3102 +f 600/1529/3103 601/1530/3104 548/637/3105 +f 548/637/3106 545/635/3107 600/1529/3108 +f 598/1429/3109 551/640/3110 552/641/3111 +f 552/641/3112 554/643/3113 598/1429/3114 +f 1500/1427/3115 594/785/3116 595/685/3117 +f 595/685/3118 393/1531/3119 1500/1427/3120 +f 393/1531/3121 595/685/3122 419/1532/3123 +f 419/1532/3124 602/1533/3125 393/1531/3126 +f 596/1388/3127 422/1534/3128 419/1532/3129 +f 419/1532/3130 595/685/3131 596/1388/3132 +f 596/1388/3133 589/678/3134 603/1535/3135 +f 603/1535/3136 422/1534/3137 596/1388/3138 +f 603/689/3139 604/690/3140 421/503/3141 +f 421/503/3142 422/506/3143 603/689/3144 +f 603/689/3145 606/692/3146 605/691/3147 +f 605/691/3148 604/690/3149 603/689/3150 +f 603/1535/3151 589/678/3152 590/680/3153 +f 590/680/3154 606/1536/3155 603/1535/3156 +f 607/693/3157 449/533/3158 605/691/3159 +f 605/691/3160 606/692/3161 607/693/3162 +f 606/1536/3163 590/680/3164 444/681/3165 +f 444/681/3166 607/1537/3167 606/1536/3168 +f 607/1401/3169 444/525/3170 441/524/3171 +f 441/524/3172 608/1400/3173 607/1401/3174 +f 608/1400/3175 441/524/3176 445/529/3177 +f 445/529/3178 609/1402/3179 608/1400/3180 +f 609/1402/3181 445/529/3182 612/1409/3183 +f 612/1409/3184 611/1410/3185 609/1402/3186 +f 612/1409/3187 445/529/3188 439/522/3189 +f 439/522/3190 440/523/3191 612/1409/3192 +f 612/1409/3193 613/1412/3194 1515/1411/3195 +f 1515/1411/3196 611/1410/3197 612/1409/3198 +f 612/1409/3199 440/523/3200 394/1414/3201 +f 394/1414/3202 613/1412/3203 612/1409/3204 +f 1515/698/3205 395/699/3206 610/694/3207 +f 610/694/3208 611/695/3209 1515/698/3210 +f 395/699/3211 1517/701/3212 614/700/3213 +f 614/700/3214 610/694/3215 395/699/3216 +f 1517/701/3217 1519/703/3218 615/702/3219 +f 615/702/3220 614/700/3221 1517/701/3222 +f 1519/703/3223 1521/705/3224 616/704/3225 +f 616/704/3226 615/702/3227 1519/703/3228 +f 1521/705/3229 1341/2601/3230 467/2600/3231 +f 467/2600/3232 616/704/3233 1521/705/3234 +f 616/704/3235 618/707/3236 617/706/3237 +f 617/706/3238 615/702/3239 616/704/3240 +f 616/704/3241 467/2600/3242 619/708/3243 +f 619/708/3244 618/707/3245 616/704/3246 +f 620/710/3247 618/707/3248 619/708/3249 +f 619/708/3250 621/709/3251 620/710/3252 +f 424/507/3253 622/711/3254 621/2603/3255 +f 621/2603/3256 619/2602/3257 424/507/3258 +f 619/2602/3259 467/551/3260 423/508/3261 +f 423/508/3262 424/507/3263 619/2602/3264 +f 623/714/3265 626/715/3266 625/712/3267 +f 625/712/3268 624/2605/3269 623/714/3270 +f 623/714/3271 628/717/3272 627/716/3273 +f 627/716/3274 626/715/3275 623/714/3276 +f 622/711/3277 629/718/3278 628/717/3279 +f 628/717/3280 623/714/3281 622/711/3282 +f 628/717/3283 631/720/3284 630/719/3285 +f 630/719/3286 627/716/3287 628/717/3288 +f 629/718/3289 632/721/3290 631/720/3291 +f 631/720/3292 628/717/3293 629/718/3294 +f 631/720/3295 634/723/3296 633/722/3297 +f 633/722/3298 630/719/3299 631/720/3300 +f 632/721/3301 635/724/3302 634/723/3303 +f 634/723/3304 631/720/3305 632/721/3306 +f 634/723/3307 637/726/3308 636/725/3309 +f 636/725/3310 633/722/3311 634/723/3312 +f 635/724/3313 638/727/3314 637/726/3315 +f 637/726/3316 634/723/3317 635/724/3318 +f 637/726/3319 640/729/3320 639/728/3321 +f 639/728/3322 636/725/3323 637/726/3324 +f 638/727/3325 450/535/3326 640/729/3327 +f 640/729/3328 637/726/3329 638/727/3330 +f 642/730/3331 641/731/3332 636/725/3333 +f 636/725/3334 639/728/3335 642/730/3336 +f 644/732/3337 643/733/3338 642/730/3339 +f 642/730/3340 639/728/3341 644/732/3342 +f 639/728/3343 640/729/3344 645/734/3345 +f 645/734/3346 644/732/3347 639/728/3348 +f 647/735/3349 646/736/3350 643/733/3351 +f 643/733/3352 644/732/3353 647/735/3354 +f 644/732/3355 645/734/3356 648/737/3357 +f 648/737/3358 647/735/3359 644/732/3360 +f 648/737/3361 650/739/3362 649/738/3363 +f 649/738/3364 647/735/3365 648/737/3366 +f 620/710/3367 650/739/3368 648/737/3369 +f 648/737/3370 651/740/3371 620/710/3372 +f 645/734/3373 451/534/3374 651/740/3375 +f 651/740/3376 648/737/3377 645/734/3378 +f 646/736/3379 647/735/3380 649/738/3381 +f 649/738/3382 652/741/3383 646/736/3384 +f 653/742/3385 652/741/3386 649/738/3387 +f 649/738/3388 625/2604/3389 653/742/3390 +f 649/738/3391 650/739/3392 624/713/3393 +f 624/713/3394 625/2604/3395 649/738/3396 +f 656/745/3397 655/746/3398 654/2607/3399 +f 654/2607/3400 657/744/3401 656/745/3402 +f 659/747/3403 658/748/3404 657/2608/3405 +f 657/2608/3406 654/743/3407 659/747/3408 +f 653/2606/3409 660/749/3410 659/747/3411 +f 659/747/3412 654/743/3413 653/2606/3414 +f 662/750/3415 661/751/3416 658/748/3417 +f 658/748/3418 659/747/3419 662/750/3420 +f 660/749/3421 663/752/3422 662/750/3423 +f 662/750/3424 659/747/3425 660/749/3426 +f 665/753/3427 664/754/3428 661/751/3429 +f 661/751/3430 662/750/3431 665/753/3432 +f 663/752/3433 666/755/3434 665/753/3435 +f 665/753/3436 662/750/3437 663/752/3438 +f 667/757/3439 664/754/3440 665/753/3441 +f 665/753/3442 668/756/3443 667/757/3444 +f 666/755/3445 669/758/3446 668/756/3447 +f 668/756/3448 665/753/3449 666/755/3450 +f 670/760/3451 667/757/3452 668/756/3453 +f 668/756/3454 671/759/3455 670/760/3456 +f 641/731/3457 671/759/3458 668/756/3459 +f 668/756/3460 669/758/3461 641/731/3462 +f 672/763/3463 675/764/3464 674/761/3465 +f 674/761/3466 673/762/3467 672/763/3468 +f 672/763/3469 677/766/3470 676/765/3471 +f 676/765/3472 675/764/3473 672/763/3474 +f 670/760/3475 678/767/3476 677/766/3477 +f 677/766/3478 672/763/3479 670/760/3480 +f 677/766/3481 680/769/3482 679/768/3483 +f 679/768/3484 676/765/3485 677/766/3486 +f 678/767/3487 681/770/3488 680/769/3489 +f 680/769/3490 677/766/3491 678/767/3492 +f 680/769/3493 683/772/3494 682/771/3495 +f 682/771/3496 679/768/3497 680/769/3498 +f 681/770/3499 684/773/3500 683/772/3501 +f 683/772/3502 680/769/3503 681/770/3504 +f 683/772/3505 686/775/3506 685/774/3507 +f 685/774/3508 682/771/3509 683/772/3510 +f 656/745/3511 686/775/3512 683/772/3513 +f 683/772/3514 684/773/3515 656/745/3516 +f 685/774/3517 686/775/3518 688/776/3519 +f 688/776/3520 687/777/3521 685/774/3522 +f 687/2610/3523 688/2609/3524 690/778/3525 +f 690/778/3526 689/1350/3527 687/2610/3528 +f 689/1350/3529 690/778/3530 692/1351/3531 +f 692/1351/3532 691/1352/3533 689/1350/3534 +f 691/1352/3535 692/1351/3536 694/2566/3537 +f 694/2566/3538 693/2567/3539 691/1352/3540 +f 693/2567/3541 694/2566/3542 673/762/3543 +f 673/762/3544 674/761/3545 693/2567/3546 +f 617/706/3547 446/532/3548 614/700/3549 +f 614/700/3550 615/702/3551 617/706/3552 +f 542/631/3553 548/637/3554 470/552/3555 +f 470/552/3556 474/1538/3557 542/631/3558 +f 521/606/3559 479/563/3560 480/564/3561 +f 480/564/3562 482/566/3563 521/606/3564 +f 503/2585/3565 695/779/3566 409/493/3567 +f 409/493/3568 410/492/3569 503/2585/3570 +f 491/575/3571 464/547/3572 418/502/3573 +f 418/502/3574 696/780/3575 491/575/3576 +f 455/539/3577 452/538/3578 698/1415/3579 +f 698/1415/3580 697/1416/3581 455/539/3582 +f 430/513/3583 411/2581/3584 412/2582/3585 +f 412/2582/3586 429/514/3587 430/513/3588 +f 1342/688/3589 602/2568/3590 419/505/3591 +f 419/505/3592 423/508/3593 1342/688/3594 +f 698/1415/3595 472/645/3596 473/648/3597 +f 473/648/3598 697/1416/3599 698/1415/3600 +f 698/1415/3601 452/538/3602 456/543/3603 +f 456/543/3604 472/645/3605 698/1415/3606 +f 418/502/3607 409/493/3608 695/779/3609 +f 695/779/3610 696/780/3611 418/502/3612 +f 416/500/3613 407/491/3614 405/490/3615 +f 405/490/3616 415/499/3617 416/500/3618 +f 1269/478/3619 394/1414/3620 440/523/3621 +f 440/523/3622 396/480/3623 1269/478/3624 +f 537/621/3625 505/589/3626 506/590/3627 +f 506/590/3628 536/620/3629 537/621/3630 +f 537/621/3631 512/595/3632 508/591/3633 +f 508/591/3634 505/589/3635 537/621/3636 +f 435/518/3637 400/483/3638 396/480/3639 +f 396/480/3640 440/523/3641 435/518/3642 +f 695/779/3643 700/784/3644 699/783/3645 +f 699/783/3646 696/780/3647 695/779/3648 +f 491/575/3649 696/780/3650 699/783/3651 +f 699/783/3652 494/578/3653 491/575/3654 +f 700/784/3655 499/582/3656 494/578/3657 +f 494/578/3658 699/783/3659 700/784/3660 +f 503/2585/3661 499/582/3662 700/784/3663 +f 700/784/3664 695/779/3665 503/2585/3666 +f 601/1530/3667 1607/1540/3668 701/1539/3669 +f 701/1539/3670 548/637/3671 601/1530/3672 +f 548/637/3673 701/1539/3674 469/553/3675 +f 469/553/3676 470/552/3677 548/637/3678 +f 703/788/3679 702/789/3680 705/786/3681 +f 705/786/3682 704/787/3683 703/788/3684 +f 1129/792/3685 707/793/3686 706/790/3687 +f 706/790/3688 708/791/3689 1129/792/3690 +f 711/796/3691 710/797/3692 709/794/3693 +f 709/794/3694 712/795/3695 711/796/3696 +f 714/800/3697 713/801/3698 716/798/3699 +f 716/798/3700 715/799/3701 714/800/3702 +f 711/796/3703 718/804/3704 717/802/3705 +f 717/802/3706 719/803/3707 711/796/3708 +f 724/809/3709 723/810/3710 726/807/3711 +f 726/807/3712 725/808/3713 724/809/3714 +f 728/813/3715 727/814/3716 730/811/3717 +f 730/811/3718 729/812/3719 728/813/3720 +f 733/815/3721 732/816/3722 731/805/3723 +f 731/805/3724 734/806/3725 733/815/3726 +f 736/819/3727 735/820/3728 738/817/3729 +f 738/817/3730 737/818/3731 736/819/3732 +f 739/821/3733 731/805/3734 714/800/3735 +f 714/800/3736 709/794/3737 739/821/3738 +f 741/824/3739 738/817/3740 740/822/3741 +f 740/822/3742 742/823/3743 741/824/3744 +f 744/829/3745 743/830/3746 746/827/3747 +f 746/827/3748 745/828/3749 744/829/3750 +f 747/833/3751 750/834/3752 749/831/3753 +f 749/831/3754 748/832/3755 747/833/3756 +f 751/826/3757 737/818/3758 738/817/3759 +f 738/817/3760 752/825/3761 751/826/3762 +f 751/826/3763 752/825/3764 731/805/3765 +f 731/805/3766 732/816/3767 751/826/3768 +f 753/843/3769 733/844/3770 734/837/3771 +f 734/837/3772 754/838/3773 753/843/3774 +f 753/843/3775 754/838/3776 735/845/3777 +f 735/845/3778 736/846/3779 753/843/3780 +f 755/839/3781 758/840/3782 757/835/3783 +f 757/835/3784 756/836/3785 755/839/3786 +f 761/852/3787 760/853/3788 759/849/3789 +f 759/849/3790 762/850/3791 761/852/3792 +f 740/822/3793 764/842/3794 763/841/3795 +f 763/841/3796 742/823/3797 740/822/3798 +f 765/867/3799 766/868/3800 747/833/3801 +f 747/833/3802 748/832/3803 765/867/3804 +f 710/797/3805 767/847/3806 739/821/3807 +f 739/821/3808 709/794/3809 710/797/3810 +f 768/879/3811 769/880/3812 761/852/3813 +f 761/852/3814 762/850/3815 768/879/3816 +f 770/854/3817 721/855/3818 722/848/3819 +f 722/848/3820 771/851/3821 770/854/3822 +f 772/856/3823 720/857/3824 721/855/3825 +f 721/855/3826 770/854/3827 772/856/3828 +f 775/860/3829 774/861/3830 773/858/3831 +f 773/858/3832 776/859/3833 775/860/3834 +f 778/864/3835 777/865/3836 780/862/3837 +f 780/862/3838 779/863/3839 778/864/3840 +f 780/862/3841 777/865/3842 781/866/3843 +f 781/866/3844 782/869/3845 780/862/3846 +f 781/866/3847 774/861/3848 775/860/3849 +f 775/860/3850 782/869/3851 781/866/3852 +f 773/893/3853 783/894/3854 784/891/3855 +f 784/891/3856 776/892/3857 773/893/3858 +f 784/891/3859 783/894/3860 778/895/3861 +f 778/895/3862 779/896/3863 784/891/3864 +f 787/872/3865 786/873/3866 785/870/3867 +f 785/870/3868 788/871/3869 787/872/3870 +f 790/876/3871 789/877/3872 792/874/3873 +f 792/874/3874 791/875/3875 790/876/3876 +f 792/874/3877 789/877/3878 793/878/3879 +f 793/878/3880 794/881/3881 792/874/3882 +f 793/878/3883 786/873/3884 787/872/3885 +f 787/872/3886 794/881/3887 793/878/3888 +f 788/899/3889 785/905/3890 795/897/3891 +f 795/897/3892 796/898/3893 788/899/3894 +f 795/897/3895 790/907/3896 791/906/3897 +f 791/906/3898 796/898/3899 795/897/3900 +f 797/884/3901 800/885/3902 799/882/3903 +f 799/882/3904 798/883/3905 797/884/3906 +f 801/888/3907 804/889/3908 803/886/3909 +f 803/886/3910 802/887/3911 801/888/3912 +f 805/890/3913 806/900/3914 804/889/3915 +f 804/889/3916 801/888/3917 805/890/3918 +f 798/883/3919 799/882/3920 806/900/3921 +f 806/900/3922 805/890/3923 798/883/3924 +f 807/910/3925 810/911/3926 809/908/3927 +f 809/908/3928 808/909/3929 807/910/3930 +f 811/912/3931 812/913/3932 810/911/3933 +f 810/911/3934 807/910/3935 811/912/3936 +f 800/885/3937 773/858/3938 774/861/3939 +f 774/861/3940 799/882/3941 800/885/3942 +f 804/889/3943 777/865/3944 778/864/3945 +f 778/864/3946 803/886/3947 804/889/3948 +f 806/900/3949 781/866/3950 777/865/3951 +f 777/865/3952 804/889/3953 806/900/3954 +f 799/882/3955 774/861/3956 781/866/3957 +f 781/866/3958 806/900/3959 799/882/3960 +f 810/911/3961 814/915/3962 813/914/3963 +f 813/914/3964 809/908/3965 810/911/3966 +f 812/913/3967 815/916/3968 814/915/3969 +f 814/915/3970 810/911/3971 812/913/3972 +f 776/859/3973 817/902/3974 816/901/3975 +f 816/901/3976 775/860/3977 776/859/3978 +f 780/862/3979 819/904/3980 818/903/3981 +f 818/903/3982 779/863/3983 780/862/3984 +f 782/869/3985 820/935/3986 819/904/3987 +f 819/904/3988 780/862/3989 782/869/3990 +f 775/860/3991 816/901/3992 820/935/3993 +f 820/935/3994 782/869/3995 775/860/3996 +f 821/919/3997 824/920/3998 823/917/3999 +f 823/917/4000 822/918/4001 821/919/4002 +f 825/921/4003 826/922/4004 824/920/4005 +f 824/920/4006 821/919/4007 825/921/4008 +f 817/902/4009 785/870/4010 786/873/4011 +f 786/873/4012 816/901/4013 817/902/4014 +f 819/904/4015 789/877/4016 790/876/4017 +f 790/876/4018 818/903/4019 819/904/4020 +f 820/935/4021 793/878/4022 789/877/4023 +f 789/877/4024 819/904/4025 820/935/4026 +f 816/901/4027 786/873/4028 793/878/4029 +f 793/878/4030 820/935/4031 816/901/4032 +f 824/920/4033 828/924/4034 827/923/4035 +f 827/923/4036 823/917/4037 824/920/4038 +f 826/922/4039 829/925/4040 828/924/4041 +f 828/924/4042 824/920/4043 826/922/4044 +f 807/910/4045 808/909/4046 797/926/4047 +f 797/926/4048 830/927/4049 807/910/4050 +f 811/912/4051 807/910/4052 830/927/4053 +f 830/927/4054 802/928/4055 811/912/4056 +f 812/913/4057 811/912/4058 802/928/4059 +f 802/928/4060 803/929/4061 812/913/4062 +f 815/916/4063 812/913/4064 803/929/4065 +f 803/929/4066 778/895/4067 815/916/4068 +f 814/915/4069 815/916/4070 778/895/4071 +f 778/895/4072 783/894/4073 814/915/4074 +f 813/914/4075 814/915/4076 783/894/4077 +f 783/894/4078 773/893/4079 813/914/4080 +f 809/908/4081 813/914/4082 773/893/4083 +f 773/893/4084 800/930/4085 809/908/4086 +f 808/909/4087 809/908/4088 800/930/4089 +f 800/930/4090 797/926/4091 808/909/4092 +f 821/919/4093 822/918/4094 776/892/4095 +f 776/892/4096 784/891/4097 821/919/4098 +f 825/921/4099 821/919/4100 784/891/4101 +f 784/891/4102 779/896/4103 825/921/4104 +f 826/922/4105 825/921/4106 779/896/4107 +f 779/896/4108 818/931/4109 826/922/4110 +f 829/925/4111 826/922/4112 818/931/4113 +f 818/931/4114 790/907/4115 829/925/4116 +f 828/924/4117 829/925/4118 790/907/4119 +f 790/907/4120 795/897/4121 828/924/4122 +f 827/923/4123 828/924/4124 795/897/4125 +f 795/897/4126 785/905/4127 827/923/4128 +f 823/917/4129 827/923/4130 785/905/4131 +f 785/905/4132 817/932/4133 823/917/4134 +f 822/918/4135 823/917/4136 817/932/4137 +f 817/932/4138 776/892/4139 822/918/4140 +f 772/856/4141 787/872/4142 788/871/4143 +f 788/871/4144 720/857/4145 772/856/4146 +f 791/875/4147 792/874/4148 771/851/4149 +f 771/851/4150 722/848/4151 791/875/4152 +f 771/851/4153 792/874/4154 794/881/4155 +f 794/881/4156 770/854/4157 771/851/4158 +f 794/881/4159 787/872/4160 772/856/4161 +f 772/856/4162 770/854/4163 794/881/4164 +f 832/948/4165 831/949/4166 834/933/4167 +f 834/933/4168 833/934/4169 832/948/4170 +f 831/949/4171 835/964/4172 836/963/4173 +f 836/963/4174 834/933/4175 831/949/4176 +f 838/987/4177 837/988/4178 721/975/4179 +f 721/975/4180 720/976/4181 838/987/4182 +f 839/989/4183 838/987/4184 720/976/4185 +f 720/976/4186 788/899/4187 839/989/4188 +f 840/990/4189 839/989/4190 788/899/4191 +f 788/899/4192 796/898/4193 840/990/4194 +f 841/991/4195 840/990/4196 796/898/4197 +f 796/898/4198 791/906/4199 841/991/4200 +f 842/993/4201 841/991/4202 791/906/4203 +f 791/906/4204 722/992/4205 842/993/4206 +f 837/988/4207 842/993/4208 722/992/4209 +f 722/992/4210 721/975/4211 837/988/4212 +f 833/934/4213 834/933/4214 837/988/4215 +f 837/988/4216 838/987/4217 833/934/4218 +f 832/948/4219 833/934/4220 838/987/4221 +f 838/987/4222 839/989/4223 832/948/4224 +f 831/949/4225 832/948/4226 839/989/4227 +f 839/989/4228 840/990/4229 831/949/4230 +f 835/964/4231 831/949/4232 840/990/4233 +f 840/990/4234 841/991/4235 835/964/4236 +f 836/963/4237 835/964/4238 841/991/4239 +f 841/991/4240 842/993/4241 836/963/4242 +f 834/933/4243 836/963/4244 842/993/4245 +f 842/993/4246 837/988/4247 834/933/4248 +f 845/1001/4249 844/1002/4250 843/994/4251 +f 843/994/4252 846/995/4253 845/1001/4254 +f 848/1003/4255 847/1004/4256 744/829/4257 +f 744/829/4258 745/828/4259 848/1003/4260 +f 850/1005/4261 849/1006/4262 845/1001/4263 +f 845/1001/4264 846/995/4265 850/1005/4266 +f 714/800/4267 731/805/4268 752/825/4269 +f 752/825/4270 713/801/4271 714/800/4272 +f 752/825/4273 738/817/4274 741/824/4275 +f 741/824/4276 713/801/4277 752/825/4278 +f 757/835/4279 767/847/4280 710/797/4281 +f 710/797/4282 756/836/4283 757/835/4284 +f 755/839/4285 851/937/4286 852/936/4287 +f 852/936/4288 758/840/4289 755/839/4290 +f 853/939/4291 763/841/4292 764/842/4293 +f 764/842/4294 854/938/4295 853/939/4296 +f 732/816/4297 733/815/4298 797/884/4299 +f 797/884/4300 798/883/4301 732/816/4302 +f 802/887/4303 736/819/4304 737/818/4305 +f 737/818/4306 801/888/4307 802/887/4308 +f 737/818/4309 751/826/4310 805/890/4311 +f 805/890/4312 801/888/4313 737/818/4314 +f 805/890/4315 751/826/4316 732/816/4317 +f 732/816/4318 798/883/4319 805/890/4320 +f 733/844/4321 753/843/4322 830/927/4323 +f 830/927/4324 797/926/4325 733/844/4326 +f 830/927/4327 753/843/4328 736/846/4329 +f 736/846/4330 802/928/4331 830/927/4332 +f 859/941/4333 858/942/4334 767/847/4335 +f 767/847/4336 860/940/4337 859/941/4338 +f 861/944/4339 734/806/4340 731/805/4341 +f 731/805/4342 862/943/4343 861/944/4344 +f 863/945/4345 862/943/4346 731/805/4347 +f 731/805/4348 739/821/4349 863/945/4350 +f 863/945/4351 739/821/4352 767/847/4353 +f 767/847/4354 858/942/4355 863/945/4356 +f 865/1008/4357 864/1009/4358 734/837/4359 +f 734/837/4360 861/1007/4361 865/1008/4362 +f 866/950/4363 856/951/4364 857/946/4365 +f 857/946/4366 867/947/4367 866/950/4368 +f 868/952/4369 855/953/4370 856/951/4371 +f 856/951/4372 866/950/4373 868/952/4374 +f 871/956/4375 870/957/4376 869/954/4377 +f 869/954/4378 872/955/4379 871/956/4380 +f 874/960/4381 873/961/4382 876/958/4383 +f 876/958/4384 875/959/4385 874/960/4386 +f 876/958/4387 873/961/4388 877/962/4389 +f 877/962/4390 878/965/4391 876/958/4392 +f 877/962/4393 870/957/4394 871/956/4395 +f 871/956/4396 878/965/4397 877/962/4398 +f 869/1012/4399 879/1013/4400 880/1010/4401 +f 880/1010/4402 872/1011/4403 869/1012/4404 +f 880/1010/4405 879/1013/4406 874/1014/4407 +f 874/1014/4408 875/1015/4409 880/1010/4410 +f 883/968/4411 882/969/4412 881/966/4413 +f 881/966/4414 884/967/4415 883/968/4416 +f 886/972/4417 885/973/4418 888/970/4419 +f 888/970/4420 887/971/4421 886/972/4422 +f 888/970/4423 885/973/4424 889/974/4425 +f 889/974/4426 890/977/4427 888/970/4428 +f 889/974/4429 882/969/4430 883/968/4431 +f 883/968/4432 890/977/4433 889/974/4434 +f 884/1018/4435 881/1019/4436 891/1016/4437 +f 891/1016/4438 892/1017/4439 884/1018/4440 +f 891/1016/4441 886/1021/4442 887/1020/4443 +f 887/1020/4444 892/1017/4445 891/1016/4446 +f 893/980/4447 896/981/4448 895/978/4449 +f 895/978/4450 894/979/4451 893/980/4452 +f 897/984/4453 900/985/4454 899/982/4455 +f 899/982/4456 898/983/4457 897/984/4458 +f 901/986/4459 902/996/4460 900/985/4461 +f 900/985/4462 897/984/4463 901/986/4464 +f 894/979/4465 895/978/4466 902/996/4467 +f 902/996/4468 901/986/4469 894/979/4470 +f 903/1032/4471 906/1046/4472 905/1022/4473 +f 905/1022/4474 904/1031/4475 903/1032/4476 +f 907/1047/4477 908/1058/4478 906/1046/4479 +f 906/1046/4480 903/1032/4481 907/1047/4482 +f 896/981/4483 869/954/4484 870/957/4485 +f 870/957/4486 895/978/4487 896/981/4488 +f 900/985/4489 873/961/4490 874/960/4491 +f 874/960/4492 899/982/4493 900/985/4494 +f 902/996/4495 877/962/4496 873/961/4497 +f 873/961/4498 900/985/4499 902/996/4500 +f 895/978/4501 870/957/4502 877/962/4503 +f 877/962/4504 902/996/4505 895/978/4506 +f 906/1046/4507 910/1070/4508 909/1059/4509 +f 909/1059/4510 905/1022/4511 906/1046/4512 +f 908/1058/4513 911/1071/4514 910/1070/4515 +f 910/1070/4516 906/1046/4517 908/1058/4518 +f 872/955/4519 913/998/4520 912/997/4521 +f 912/997/4522 871/956/4523 872/955/4524 +f 876/958/4525 915/1000/4526 914/999/4527 +f 914/999/4528 875/959/4529 876/958/4530 +f 878/965/4531 916/1023/4532 915/1000/4533 +f 915/1000/4534 876/958/4535 878/965/4536 +f 871/956/4537 912/997/4538 916/1023/4539 +f 916/1023/4540 878/965/4541 871/956/4542 +f 917/1074/4543 920/1075/4544 919/1072/4545 +f 919/1072/4546 918/1073/4547 917/1074/4548 +f 921/1076/4549 922/1077/4550 920/1075/4551 +f 920/1075/4552 917/1074/4553 921/1076/4554 +f 913/998/4555 881/966/4556 882/969/4557 +f 882/969/4558 912/997/4559 913/998/4560 +f 915/1000/4561 885/973/4562 886/972/4563 +f 886/972/4564 914/999/4565 915/1000/4566 +f 916/1023/4567 889/974/4568 885/973/4569 +f 885/973/4570 915/1000/4571 916/1023/4572 +f 912/997/4573 882/969/4574 889/974/4575 +f 889/974/4576 916/1023/4577 912/997/4578 +f 920/1075/4579 924/1084/4580 923/1078/4581 +f 923/1078/4582 919/1072/4583 920/1075/4584 +f 922/1077/4585 925/1085/4586 924/1084/4587 +f 924/1084/4588 920/1075/4589 922/1077/4590 +f 903/1032/4591 904/1031/4592 893/1086/4593 +f 893/1086/4594 926/1087/4595 903/1032/4596 +f 907/1047/4597 903/1032/4598 926/1087/4599 +f 926/1087/4600 898/1088/4601 907/1047/4602 +f 908/1058/4603 907/1047/4604 898/1088/4605 +f 898/1088/4606 899/1089/4607 908/1058/4608 +f 911/1071/4609 908/1058/4610 899/1089/4611 +f 899/1089/4612 874/1014/4613 911/1071/4614 +f 910/1070/4615 911/1071/4616 874/1014/4617 +f 874/1014/4618 879/1013/4619 910/1070/4620 +f 909/1059/4621 910/1070/4622 879/1013/4623 +f 879/1013/4624 869/1012/4625 909/1059/4626 +f 905/1022/4627 909/1059/4628 869/1012/4629 +f 869/1012/4630 896/1090/4631 905/1022/4632 +f 904/1031/4633 905/1022/4634 896/1090/4635 +f 896/1090/4636 893/1086/4637 904/1031/4638 +f 917/1074/4639 918/1073/4640 872/1011/4641 +f 872/1011/4642 880/1010/4643 917/1074/4644 +f 921/1076/4645 917/1074/4646 880/1010/4647 +f 880/1010/4648 875/1015/4649 921/1076/4650 +f 922/1077/4651 921/1076/4652 875/1015/4653 +f 875/1015/4654 914/1091/4655 922/1077/4656 +f 925/1085/4657 922/1077/4658 914/1091/4659 +f 914/1091/4660 886/1021/4661 925/1085/4662 +f 924/1084/4663 925/1085/4664 886/1021/4665 +f 886/1021/4666 891/1016/4667 924/1084/4668 +f 923/1078/4669 924/1084/4670 891/1016/4671 +f 891/1016/4672 881/1019/4673 923/1078/4674 +f 919/1072/4675 923/1078/4676 881/1019/4677 +f 881/1019/4678 913/1092/4679 919/1072/4680 +f 918/1073/4681 919/1072/4682 913/1092/4683 +f 913/1092/4684 872/1011/4685 918/1073/4686 +f 868/952/4687 883/968/4688 884/967/4689 +f 884/967/4690 855/953/4691 868/952/4692 +f 887/971/4693 888/970/4694 867/947/4695 +f 867/947/4696 857/946/4697 887/971/4698 +f 867/947/4699 888/970/4700 890/977/4701 +f 890/977/4702 866/950/4703 867/947/4704 +f 890/977/4705 883/968/4706 868/952/4707 +f 868/952/4708 866/950/4709 890/977/4710 +f 928/1095/4711 927/1096/4712 930/1093/4713 +f 930/1093/4714 929/1094/4715 928/1095/4716 +f 927/1096/4717 931/1098/4718 932/1097/4719 +f 932/1097/4720 930/1093/4721 927/1096/4722 +f 934/1101/4723 933/1102/4724 856/1099/4725 +f 856/1099/4726 855/1100/4727 934/1101/4728 +f 935/1103/4729 934/1101/4730 855/1100/4731 +f 855/1100/4732 884/1018/4733 935/1103/4734 +f 936/1104/4735 935/1103/4736 884/1018/4737 +f 884/1018/4738 892/1017/4739 936/1104/4740 +f 937/1105/4741 936/1104/4742 892/1017/4743 +f 892/1017/4744 887/1020/4745 937/1105/4746 +f 938/1115/4747 937/1105/4748 887/1020/4749 +f 887/1020/4750 857/1114/4751 938/1115/4752 +f 933/1102/4753 938/1115/4754 857/1114/4755 +f 857/1114/4756 856/1099/4757 933/1102/4758 +f 929/1094/4759 930/1093/4760 933/1102/4761 +f 933/1102/4762 934/1101/4763 929/1094/4764 +f 928/1095/4765 929/1094/4766 934/1101/4767 +f 934/1101/4768 935/1103/4769 928/1095/4770 +f 927/1096/4771 928/1095/4772 935/1103/4773 +f 935/1103/4774 936/1104/4775 927/1096/4776 +f 931/1098/4777 927/1096/4778 936/1104/4779 +f 936/1104/4780 937/1105/4781 931/1098/4782 +f 932/1097/4783 931/1098/4784 937/1105/4785 +f 937/1105/4786 938/1115/4787 932/1097/4788 +f 930/1093/4789 932/1097/4790 938/1115/4791 +f 938/1115/4792 933/1102/4793 930/1093/4794 +f 858/942/4795 859/941/4796 893/980/4797 +f 893/980/4798 894/979/4799 858/942/4800 +f 898/983/4801 861/944/4802 862/943/4803 +f 862/943/4804 897/984/4805 898/983/4806 +f 862/943/4807 863/945/4808 901/986/4809 +f 901/986/4810 897/984/4811 862/943/4812 +f 901/986/4813 863/945/4814 858/942/4815 +f 858/942/4816 894/979/4817 901/986/4818 +f 859/1129/4819 865/1008/4820 926/1087/4821 +f 926/1087/4822 893/1086/4823 859/1129/4824 +f 926/1087/4825 865/1008/4826 861/1007/4827 +f 861/1007/4828 898/1088/4829 926/1087/4830 +f 943/1024/4831 942/1025/4832 758/840/4833 +f 758/840/4834 852/936/4835 943/1024/4836 +f 944/1027/4837 860/940/4838 767/847/4839 +f 767/847/4840 945/1026/4841 944/1027/4842 +f 946/1028/4843 945/1026/4844 767/847/4845 +f 767/847/4846 757/835/4847 946/1028/4848 +f 946/1028/4849 757/835/4850 758/840/4851 +f 758/840/4852 942/1025/4853 946/1028/4854 +f 947/1142/4855 943/1153/4856 852/1130/4857 +f 852/1130/4858 948/1141/4859 947/1142/4860 +f 947/1142/4861 948/1141/4862 860/1154/4863 +f 860/1154/4864 944/1155/4865 947/1142/4866 +f 949/1033/4867 940/1034/4868 941/1029/4869 +f 941/1029/4870 950/1030/4871 949/1033/4872 +f 951/1035/4873 939/1036/4874 940/1034/4875 +f 940/1034/4876 949/1033/4877 951/1035/4878 +f 954/1039/4879 953/1040/4880 952/1037/4881 +f 952/1037/4882 955/1038/4883 954/1039/4884 +f 957/1043/4885 956/1044/4886 959/1041/4887 +f 959/1041/4888 958/1042/4889 957/1043/4890 +f 959/1041/4891 956/1044/4892 960/1045/4893 +f 960/1045/4894 961/1048/4895 959/1041/4896 +f 960/1045/4897 953/1040/4898 954/1039/4899 +f 954/1039/4900 961/1048/4901 960/1045/4902 +f 952/1158/4903 962/1159/4904 963/1156/4905 +f 963/1156/4906 955/1157/4907 952/1158/4908 +f 963/1156/4909 962/1159/4910 957/1160/4911 +f 957/1160/4912 958/1161/4913 963/1156/4914 +f 966/1051/4915 965/1052/4916 964/1049/4917 +f 964/1049/4918 967/1050/4919 966/1051/4920 +f 969/1055/4921 968/1056/4922 971/1053/4923 +f 971/1053/4924 970/1054/4925 969/1055/4926 +f 971/1053/4927 968/1056/4928 972/1057/4929 +f 972/1057/4930 973/1060/4931 971/1053/4932 +f 972/1057/4933 965/1052/4934 966/1051/4935 +f 966/1051/4936 973/1060/4937 972/1057/4938 +f 967/1169/4939 964/1170/4940 974/1167/4941 +f 974/1167/4942 975/1168/4943 967/1169/4944 +f 974/1167/4945 969/1172/4946 970/1171/4947 +f 970/1171/4948 975/1168/4949 974/1167/4950 +f 976/1063/4951 979/1064/4952 978/1061/4953 +f 978/1061/4954 977/1062/4955 976/1063/4956 +f 980/1067/4957 983/1068/4958 982/1065/4959 +f 982/1065/4960 981/1066/4961 980/1067/4962 +f 984/1069/4963 985/1079/4964 983/1068/4965 +f 983/1068/4966 980/1067/4967 984/1069/4968 +f 977/1062/4969 978/1061/4970 985/1079/4971 +f 985/1079/4972 984/1069/4973 977/1062/4974 +f 986/1175/4975 989/1176/4976 988/1173/4977 +f 988/1173/4978 987/1174/4979 986/1175/4980 +f 990/1177/4981 991/1178/4982 989/1176/4983 +f 989/1176/4984 986/1175/4985 990/1177/4986 +f 979/1064/4987 952/1037/4988 953/1040/4989 +f 953/1040/4990 978/1061/4991 979/1064/4992 +f 983/1068/4993 956/1044/4994 957/1043/4995 +f 957/1043/4996 982/1065/4997 983/1068/4998 +f 985/1079/4999 960/1045/5000 956/1044/5001 +f 956/1044/5002 983/1068/5003 985/1079/5004 +f 978/1061/5005 953/1040/5006 960/1045/5007 +f 960/1045/5008 985/1079/5009 978/1061/5010 +f 989/1176/5011 993/1180/5012 992/1179/5013 +f 992/1179/5014 988/1173/5015 989/1176/5016 +f 991/1178/5017 994/1181/5018 993/1180/5019 +f 993/1180/5020 989/1176/5021 991/1178/5022 +f 955/1038/5023 996/1081/5024 995/1080/5025 +f 995/1080/5026 954/1039/5027 955/1038/5028 +f 959/1041/5029 998/1083/5030 997/1082/5031 +f 997/1082/5032 958/1042/5033 959/1041/5034 +f 961/1048/5035 999/1106/5036 998/1083/5037 +f 998/1083/5038 959/1041/5039 961/1048/5040 +f 954/1039/5041 995/1080/5042 999/1106/5043 +f 999/1106/5044 961/1048/5045 954/1039/5046 +f 1000/1184/5047 1003/1185/5048 1002/1182/5049 +f 1002/1182/5050 1001/1183/5051 1000/1184/5052 +f 1004/1186/5053 1005/1187/5054 1003/1185/5055 +f 1003/1185/5056 1000/1184/5057 1004/1186/5058 +f 996/1081/5059 964/1049/5060 965/1052/5061 +f 965/1052/5062 995/1080/5063 996/1081/5064 +f 998/1083/5065 968/1056/5066 969/1055/5067 +f 969/1055/5068 997/1082/5069 998/1083/5070 +f 999/1106/5071 972/1057/5072 968/1056/5073 +f 968/1056/5074 998/1083/5075 999/1106/5076 +f 995/1080/5077 965/1052/5078 972/1057/5079 +f 972/1057/5080 999/1106/5081 995/1080/5082 +f 1003/1185/5083 1007/1189/5084 1006/1188/5085 +f 1006/1188/5086 1002/1182/5087 1003/1185/5088 +f 1005/1187/5089 1008/1190/5090 1007/1189/5091 +f 1007/1189/5092 1003/1185/5093 1005/1187/5094 +f 986/1175/5095 987/1174/5096 976/1191/5097 +f 976/1191/5098 1009/1192/5099 986/1175/5100 +f 990/1177/5101 986/1175/5102 1009/1192/5103 +f 1009/1192/5104 981/1193/5105 990/1177/5106 +f 991/1178/5107 990/1177/5108 981/1193/5109 +f 981/1193/5110 982/1197/5111 991/1178/5112 +f 994/1181/5113 991/1178/5114 982/1197/5115 +f 982/1197/5116 957/1160/5117 994/1181/5118 +f 993/1180/5119 994/1181/5120 957/1160/5121 +f 957/1160/5122 962/1159/5123 993/1180/5124 +f 992/1179/5125 993/1180/5126 962/1159/5127 +f 962/1159/5128 952/1158/5129 992/1179/5130 +f 988/1173/5131 992/1179/5132 952/1158/5133 +f 952/1158/5134 979/1198/5135 988/1173/5136 +f 987/1174/5137 988/1173/5138 979/1198/5139 +f 979/1198/5140 976/1191/5141 987/1174/5142 +f 1000/1184/5143 1001/1183/5144 955/1157/5145 +f 955/1157/5146 963/1156/5147 1000/1184/5148 +f 1004/1186/5149 1000/1184/5150 963/1156/5151 +f 963/1156/5152 958/1161/5153 1004/1186/5154 +f 1005/1187/5155 1004/1186/5156 958/1161/5157 +f 958/1161/5158 997/1199/5159 1005/1187/5160 +f 1008/1190/5161 1005/1187/5162 997/1199/5163 +f 997/1199/5164 969/1172/5165 1008/1190/5166 +f 1007/1189/5167 1008/1190/5168 969/1172/5169 +f 969/1172/5170 974/1167/5171 1007/1189/5172 +f 1006/1188/5173 1007/1189/5174 974/1167/5175 +f 974/1167/5176 964/1170/5177 1006/1188/5178 +f 1002/1182/5179 1006/1188/5180 964/1170/5181 +f 964/1170/5182 996/1222/5183 1002/1182/5184 +f 1001/1183/5185 1002/1182/5186 996/1222/5187 +f 996/1222/5188 955/1157/5189 1001/1183/5190 +f 951/1035/5191 966/1051/5192 967/1050/5193 +f 967/1050/5194 939/1036/5195 951/1035/5196 +f 970/1054/5197 971/1053/5198 950/1030/5199 +f 950/1030/5200 941/1029/5201 970/1054/5202 +f 950/1030/5203 971/1053/5204 973/1060/5205 +f 973/1060/5206 949/1033/5207 950/1030/5208 +f 973/1060/5209 966/1051/5210 951/1035/5211 +f 951/1035/5212 949/1033/5213 973/1060/5214 +f 1011/1227/5215 1010/1228/5216 1013/1223/5217 +f 1013/1223/5218 1012/1226/5219 1011/1227/5220 +f 1010/1228/5221 1014/1230/5222 1015/1229/5223 +f 1015/1229/5224 1013/1223/5225 1010/1228/5226 +f 1017/1234/5227 1016/1235/5228 940/1231/5229 +f 940/1231/5230 939/1233/5231 1017/1234/5232 +f 1018/1236/5233 1017/1234/5234 939/1233/5235 +f 939/1233/5236 967/1169/5237 1018/1236/5238 +f 1019/1237/5239 1018/1236/5240 967/1169/5241 +f 967/1169/5242 975/1168/5243 1019/1237/5244 +f 1020/1242/5245 1019/1237/5246 975/1168/5247 +f 975/1168/5248 970/1171/5249 1020/1242/5250 +f 1021/1244/5251 1020/1242/5252 970/1171/5253 +f 970/1171/5254 941/1243/5255 1021/1244/5256 +f 1016/1235/5257 1021/1244/5258 941/1243/5259 +f 941/1243/5260 940/1231/5261 1016/1235/5262 +f 1012/1226/5263 1013/1223/5264 1016/1235/5265 +f 1016/1235/5266 1017/1234/5267 1012/1226/5268 +f 1011/1227/5269 1012/1226/5270 1017/1234/5271 +f 1017/1234/5272 1018/1236/5273 1011/1227/5274 +f 1010/1228/5275 1011/1227/5276 1018/1236/5277 +f 1018/1236/5278 1019/1237/5279 1010/1228/5280 +f 1014/1230/5281 1010/1228/5282 1019/1237/5283 +f 1019/1237/5284 1020/1242/5285 1014/1230/5286 +f 1015/1229/5287 1014/1230/5288 1020/1242/5289 +f 1020/1242/5290 1021/1244/5291 1015/1229/5292 +f 1013/1223/5293 1015/1229/5294 1021/1244/5295 +f 1021/1244/5296 1016/1235/5297 1013/1223/5298 +f 942/1025/5299 943/1024/5300 976/1063/5301 +f 976/1063/5302 977/1062/5303 942/1025/5304 +f 981/1066/5305 944/1027/5306 945/1026/5307 +f 945/1026/5308 980/1067/5309 981/1066/5310 +f 945/1026/5311 946/1028/5312 984/1069/5313 +f 984/1069/5314 980/1067/5315 945/1026/5316 +f 984/1069/5317 946/1028/5318 942/1025/5319 +f 942/1025/5320 977/1062/5321 984/1069/5322 +f 943/1153/5323 947/1142/5324 1009/1192/5325 +f 1009/1192/5326 976/1191/5327 943/1153/5328 +f 1009/1192/5329 947/1142/5330 944/1155/5331 +f 944/1155/5332 981/1193/5333 1009/1192/5334 +f 1026/1107/5335 1025/1108/5336 738/817/5337 +f 738/817/5338 735/820/5339 1026/1107/5340 +f 1027/1110/5341 854/938/5342 764/842/5343 +f 764/842/5344 1028/1109/5345 1027/1110/5346 +f 1029/1111/5347 1028/1109/5348 764/842/5349 +f 764/842/5350 740/822/5351 1029/1111/5352 +f 1029/1111/5353 740/822/5354 738/817/5355 +f 738/817/5356 1025/1108/5357 1029/1111/5358 +f 1030/1246/5359 1026/1247/5360 735/845/5361 +f 735/845/5362 1031/1245/5363 1030/1246/5364 +f 1030/1246/5365 1031/1245/5366 854/1253/5367 +f 854/1253/5368 1027/1254/5369 1030/1246/5370 +f 1032/1116/5371 1023/1117/5372 1024/1112/5373 +f 1024/1112/5374 1033/1113/5375 1032/1116/5376 +f 1034/1118/5377 1022/1119/5378 1023/1117/5379 +f 1023/1117/5380 1032/1116/5381 1034/1118/5382 +f 1037/1122/5383 1036/1123/5384 1035/1120/5385 +f 1035/1120/5386 1038/1121/5387 1037/1122/5388 +f 1040/1126/5389 1039/1127/5390 1042/1124/5391 +f 1042/1124/5392 1041/1125/5393 1040/1126/5394 +f 1042/1124/5395 1039/1127/5396 1043/1128/5397 +f 1043/1128/5398 1044/1131/5399 1042/1124/5400 +f 1043/1128/5401 1036/1123/5402 1037/1122/5403 +f 1037/1122/5404 1044/1131/5405 1043/1128/5406 +f 1035/1257/5407 1045/1258/5408 1046/1255/5409 +f 1046/1255/5410 1038/1256/5411 1035/1257/5412 +f 1046/1255/5413 1045/1258/5414 1040/1260/5415 +f 1040/1260/5416 1041/1261/5417 1046/1255/5418 +f 1049/1134/5419 1048/1135/5420 1047/1132/5421 +f 1047/1132/5422 1050/1133/5423 1049/1134/5424 +f 1052/1138/5425 1051/1139/5426 1054/1136/5427 +f 1054/1136/5428 1053/1137/5429 1052/1138/5430 +f 1054/1136/5431 1051/1139/5432 1055/1140/5433 +f 1055/1140/5434 1056/1143/5435 1054/1136/5436 +f 1055/1140/5437 1048/1135/5438 1049/1134/5439 +f 1049/1134/5440 1056/1143/5441 1055/1140/5442 +f 1050/1264/5443 1047/1265/5444 1057/1262/5445 +f 1057/1262/5446 1058/1263/5447 1050/1264/5448 +f 1057/1262/5449 1052/1267/5450 1053/1266/5451 +f 1053/1266/5452 1058/1263/5453 1057/1262/5454 +f 1059/1146/5455 1062/1147/5456 1061/1144/5457 +f 1061/1144/5458 1060/1145/5459 1059/1146/5460 +f 1063/1150/5461 1066/1151/5462 1065/1148/5463 +f 1065/1148/5464 1064/1149/5465 1063/1150/5466 +f 1067/1152/5467 1068/1162/5468 1066/1151/5469 +f 1066/1151/5470 1063/1150/5471 1067/1152/5472 +f 1060/1145/5473 1061/1144/5474 1068/1162/5475 +f 1068/1162/5476 1067/1152/5477 1060/1145/5478 +f 1069/1278/5479 1072/1279/5480 1071/1268/5481 +f 1071/1268/5482 1070/1269/5483 1069/1278/5484 +f 1073/1280/5485 1074/1281/5486 1072/1279/5487 +f 1072/1279/5488 1069/1278/5489 1073/1280/5490 +f 1062/1147/5491 1035/1120/5492 1036/1123/5493 +f 1036/1123/5494 1061/1144/5495 1062/1147/5496 +f 1066/1151/5497 1039/1127/5498 1040/1126/5499 +f 1040/1126/5500 1065/1148/5501 1066/1151/5502 +f 1068/1162/5503 1043/1128/5504 1039/1127/5505 +f 1039/1127/5506 1066/1151/5507 1068/1162/5508 +f 1061/1144/5509 1036/1123/5510 1043/1128/5511 +f 1043/1128/5512 1068/1162/5513 1061/1144/5514 +f 1072/1279/5515 1076/1283/5516 1075/1282/5517 +f 1075/1282/5518 1071/1268/5519 1072/1279/5520 +f 1074/1281/5521 1077/1284/5522 1076/1283/5523 +f 1076/1283/5524 1072/1279/5525 1074/1281/5526 +f 1038/1121/5527 1079/1164/5528 1078/1163/5529 +f 1078/1163/5530 1037/1122/5531 1038/1121/5532 +f 1042/1124/5533 1081/1166/5534 1080/1165/5535 +f 1080/1165/5536 1041/1125/5537 1042/1124/5538 +f 1044/1131/5539 1082/1194/5540 1081/1166/5541 +f 1081/1166/5542 1042/1124/5543 1044/1131/5544 +f 1037/1122/5545 1078/1163/5546 1082/1194/5547 +f 1082/1194/5548 1044/1131/5549 1037/1122/5550 +f 1083/1290/5551 1086/1291/5552 1085/1285/5553 +f 1085/1285/5554 1084/1289/5555 1083/1290/5556 +f 1087/1292/5557 1088/1299/5558 1086/1291/5559 +f 1086/1291/5560 1083/1290/5561 1087/1292/5562 +f 1079/1164/5563 1047/1132/5564 1048/1135/5565 +f 1048/1135/5566 1078/1163/5567 1079/1164/5568 +f 1081/1166/5569 1051/1139/5570 1052/1138/5571 +f 1052/1138/5572 1080/1165/5573 1081/1166/5574 +f 1082/1194/5575 1055/1140/5576 1051/1139/5577 +f 1051/1139/5578 1081/1166/5579 1082/1194/5580 +f 1078/1163/5581 1048/1135/5582 1055/1140/5583 +f 1055/1140/5584 1082/1194/5585 1078/1163/5586 +f 1086/1291/5587 1090/1307/5588 1089/1306/5589 +f 1089/1306/5590 1085/1285/5591 1086/1291/5592 +f 1088/1299/5593 1091/1308/5594 1090/1307/5595 +f 1090/1307/5596 1086/1291/5597 1088/1299/5598 +f 1069/1278/5599 1070/1269/5600 1059/1309/5601 +f 1059/1309/5602 1092/1310/5603 1069/1278/5604 +f 1073/1280/5605 1069/1278/5606 1092/1310/5607 +f 1092/1310/5608 1064/1311/5609 1073/1280/5610 +f 1074/1281/5611 1073/1280/5612 1064/1311/5613 +f 1064/1311/5614 1065/1312/5615 1074/1281/5616 +f 1077/1284/5617 1074/1281/5618 1065/1312/5619 +f 1065/1312/5620 1040/1260/5621 1077/1284/5622 +f 1076/1283/5623 1077/1284/5624 1040/1260/5625 +f 1040/1260/5626 1045/1258/5627 1076/1283/5628 +f 1075/1282/5629 1076/1283/5630 1045/1258/5631 +f 1045/1258/5632 1035/1257/5633 1075/1282/5634 +f 1071/1268/5635 1075/1282/5636 1035/1257/5637 +f 1035/1257/5638 1062/1313/5639 1071/1268/5640 +f 1070/1269/5641 1071/1268/5642 1062/1313/5643 +f 1062/1313/5644 1059/1309/5645 1070/1269/5646 +f 1083/1290/5647 1084/1289/5648 1038/1256/5649 +f 1038/1256/5650 1046/1255/5651 1083/1290/5652 +f 1087/1292/5653 1083/1290/5654 1046/1255/5655 +f 1046/1255/5656 1041/1261/5657 1087/1292/5658 +f 1088/1299/5659 1087/1292/5660 1041/1261/5661 +f 1041/1261/5662 1080/1314/5663 1088/1299/5664 +f 1091/1308/5665 1088/1299/5666 1080/1314/5667 +f 1080/1314/5668 1052/1267/5669 1091/1308/5670 +f 1090/1307/5671 1091/1308/5672 1052/1267/5673 +f 1052/1267/5674 1057/1262/5675 1090/1307/5676 +f 1089/1306/5677 1090/1307/5678 1057/1262/5679 +f 1057/1262/5680 1047/1265/5681 1089/1306/5682 +f 1085/1285/5683 1089/1306/5684 1047/1265/5685 +f 1047/1265/5686 1079/1315/5687 1085/1285/5688 +f 1084/1289/5689 1085/1285/5690 1079/1315/5691 +f 1079/1315/5692 1038/1256/5693 1084/1289/5694 +f 1034/1118/5695 1049/1134/5696 1050/1133/5697 +f 1050/1133/5698 1022/1119/5699 1034/1118/5700 +f 1053/1137/5701 1054/1136/5702 1033/1113/5703 +f 1033/1113/5704 1024/1112/5705 1053/1137/5706 +f 1033/1113/5707 1054/1136/5708 1056/1143/5709 +f 1056/1143/5710 1032/1116/5711 1033/1113/5712 +f 1056/1143/5713 1049/1134/5714 1034/1118/5715 +f 1034/1118/5716 1032/1116/5717 1056/1143/5718 +f 1094/1318/5719 1093/1319/5720 1096/1316/5721 +f 1096/1316/5722 1095/1317/5723 1094/1318/5724 +f 1093/1319/5725 1097/1321/5726 1098/1320/5727 +f 1098/1320/5728 1096/1316/5729 1093/1319/5730 +f 1100/1324/5731 1099/1325/5732 1023/1322/5733 +f 1023/1322/5734 1022/1323/5735 1100/1324/5736 +f 1101/1326/5737 1100/1324/5738 1022/1323/5739 +f 1022/1323/5740 1050/1264/5741 1101/1326/5742 +f 1102/1327/5743 1101/1326/5744 1050/1264/5745 +f 1050/1264/5746 1058/1263/5747 1102/1327/5748 +f 1103/1328/5749 1102/1327/5750 1058/1263/5751 +f 1058/1263/5752 1053/1266/5753 1103/1328/5754 +f 1104/1330/5755 1103/1328/5756 1053/1266/5757 +f 1053/1266/5758 1024/1329/5759 1104/1330/5760 +f 1099/1325/5761 1104/1330/5762 1024/1329/5763 +f 1024/1329/5764 1023/1322/5765 1099/1325/5766 +f 1095/1317/5767 1096/1316/5768 1099/1325/5769 +f 1099/1325/5770 1100/1324/5771 1095/1317/5772 +f 1094/1318/5773 1095/1317/5774 1100/1324/5775 +f 1100/1324/5776 1101/1326/5777 1094/1318/5778 +f 1093/1319/5779 1094/1318/5780 1101/1326/5781 +f 1101/1326/5782 1102/1327/5783 1093/1319/5784 +f 1097/1321/5785 1093/1319/5786 1102/1327/5787 +f 1102/1327/5788 1103/1328/5789 1097/1321/5790 +f 1098/1320/5791 1097/1321/5792 1103/1328/5793 +f 1103/1328/5794 1104/1330/5795 1098/1320/5796 +f 1096/1316/5797 1098/1320/5798 1104/1330/5799 +f 1104/1330/5800 1099/1325/5801 1096/1316/5802 +f 1025/1108/5803 1026/1107/5804 1059/1146/5805 +f 1059/1146/5806 1060/1145/5807 1025/1108/5808 +f 1064/1149/5809 1027/1110/5810 1028/1109/5811 +f 1028/1109/5812 1063/1150/5813 1064/1149/5814 +f 1028/1109/5815 1029/1111/5816 1067/1152/5817 +f 1067/1152/5818 1063/1150/5819 1028/1109/5820 +f 1067/1152/5821 1029/1111/5822 1025/1108/5823 +f 1025/1108/5824 1060/1145/5825 1067/1152/5826 +f 1026/1247/5827 1030/1246/5828 1092/1310/5829 +f 1092/1310/5830 1059/1309/5831 1026/1247/5832 +f 1092/1310/5833 1030/1246/5834 1027/1254/5835 +f 1027/1254/5836 1064/1311/5837 1092/1310/5838 +f 750/834/5839 747/833/5840 1031/1245/5841 +f 1031/1245/5842 735/845/5843 750/834/5844 +f 749/831/5845 750/834/5846 735/845/5847 +f 735/845/5848 1105/1331/5849 749/831/5850 +f 748/832/5851 749/831/5852 1105/1331/5853 +f 1105/1331/5854 1106/1332/5855 748/832/5856 +f 765/867/5857 748/832/5858 1106/1332/5859 +f 1106/1332/5860 853/1333/5861 765/867/5862 +f 766/868/5863 765/867/5864 853/1333/5865 +f 853/1333/5866 854/1253/5867 766/868/5868 +f 747/833/5869 766/868/5870 854/1253/5871 +f 854/1253/5872 1031/1245/5873 747/833/5874 +f 743/830/5875 744/829/5876 754/838/5877 +f 754/838/5878 734/837/5879 743/830/5880 +f 746/827/5881 743/830/5882 734/837/5883 +f 734/837/5884 1107/1334/5885 746/827/5886 +f 745/828/5887 746/827/5888 1107/1334/5889 +f 1107/1334/5890 1108/1335/5891 745/828/5892 +f 848/1003/5893 745/828/5894 1108/1335/5895 +f 1108/1335/5896 1105/1331/5897 848/1003/5898 +f 847/1004/5899 848/1003/5900 1105/1331/5901 +f 1105/1331/5902 735/845/5903 847/1004/5904 +f 744/829/5905 847/1004/5906 735/845/5907 +f 735/845/5908 754/838/5909 744/829/5910 +f 845/1001/5911 849/1006/5912 734/837/5913 +f 734/837/5914 864/1009/5915 845/1001/5916 +f 844/1002/5917 845/1001/5918 864/1009/5919 +f 864/1009/5920 860/1154/5921 844/1002/5922 +f 843/994/5923 844/1002/5924 860/1154/5925 +f 860/1154/5926 727/814/5927 843/994/5928 +f 846/995/5929 843/994/5930 727/814/5931 +f 727/814/5932 1109/1336/5933 846/995/5934 +f 850/1005/5935 846/995/5936 1109/1336/5937 +f 1109/1336/5938 1107/1334/5939 850/1005/5940 +f 849/1006/5941 850/1005/5942 1107/1334/5943 +f 1107/1334/5944 734/837/5945 849/1006/5946 +f 760/853/5947 761/852/5948 948/1141/5949 +f 948/1141/5950 852/1130/5951 760/853/5952 +f 759/849/5953 760/853/5954 852/1130/5955 +f 852/1130/5956 851/1337/5957 759/849/5958 +f 762/850/5959 759/849/5960 851/1337/5961 +f 851/1337/5962 730/811/5963 762/850/5964 +f 768/879/5965 762/850/5966 730/811/5967 +f 730/811/5968 727/814/5969 768/879/5970 +f 769/880/5971 768/879/5972 727/814/5973 +f 727/814/5974 860/1154/5975 769/880/5976 +f 761/852/5977 769/880/5978 860/1154/5979 +f 860/1154/5980 948/1141/5981 761/852/5982 +f 859/1129/5983 860/1154/5984 864/1009/5985 +f 864/1009/5986 865/1008/5987 859/1129/5988 +f 755/839/5989 1111/1196/5990 1110/1195/5991 +f 1110/1195/5992 851/937/5993 755/839/5994 +f 712/795/5995 1112/1200/5996 718/804/5997 +f 718/804/5998 711/796/5999 712/795/6000 +f 1109/1336/6001 1114/1339/6002 1113/1338/6003 +f 1113/1338/6004 1107/1334/6005 1109/1336/6006 +f 719/803/6007 756/836/6008 710/797/6009 +f 710/797/6010 711/796/6011 719/803/6012 +f 725/808/6013 1115/1340/6014 1106/1332/6015 +f 1106/1332/6016 1105/1331/6017 725/808/6018 +f 1108/1335/6019 724/809/6020 725/808/6021 +f 725/808/6022 1105/1331/6023 1108/1335/6024 +f 1118/1203/6025 1117/1204/6026 1116/1201/6027 +f 1116/1201/6028 1119/1202/6029 1118/1203/6030 +f 1121/1205/6031 1120/1206/6032 1116/1201/6033 +f 1116/1201/6034 1117/1204/6035 1121/1205/6036 +f 1123/1208/6037 1122/1209/6038 1121/1205/6039 +f 1121/1205/6040 1124/1207/6041 1123/1208/6042 +f 1117/1204/6043 1118/1203/6044 1126/1210/6045 +f 1126/1210/6046 1125/1211/6047 1117/1204/6048 +f 1124/1207/6049 1121/1205/6050 1117/1204/6051 +f 1117/1204/6052 1125/1211/6053 1124/1207/6054 +f 707/793/6055 1129/792/6056 1127/1212/6057 +f 1127/1212/6058 1128/1213/6059 707/793/6060 +f 1131/1216/6061 1130/1217/6062 1133/1214/6063 +f 1133/1214/6064 1132/1215/6065 1131/1216/6066 +f 1135/1218/6067 1134/1219/6068 1131/1216/6069 +f 1131/1216/6070 1132/1215/6071 1135/1218/6072 +f 1130/1217/6073 1136/1221/6074 1137/1220/6075 +f 1137/1220/6076 1133/1214/6077 1130/1217/6078 +f 1136/1343/6079 1138/1344/6080 1139/1341/6081 +f 1139/1341/6082 1137/1342/6083 1136/1343/6084 +f 1138/1344/6085 1140/1346/6086 1141/1345/6087 +f 1141/1345/6088 1139/1341/6089 1138/1344/6090 +f 1141/1224/6091 1140/1225/6092 1134/1219/6093 +f 1134/1219/6094 1135/1218/6095 1141/1224/6096 +f 1142/1349/6097 1145/2379/6098 1144/1347/6099 +f 1144/1347/6100 1143/1348/6101 1142/1349/6102 +f 1146/2380/6103 1147/2381/6104 1145/2379/6105 +f 1145/2379/6106 1142/1349/6107 1146/2380/6108 +f 1126/1210/6109 1130/1217/6110 1131/1216/6111 +f 1131/1216/6112 1125/1211/6113 1126/1210/6114 +f 1125/1211/6115 1131/1216/6116 1134/1219/6117 +f 1134/1219/6118 1124/1207/6119 1125/1211/6120 +f 1148/1232/6121 1136/1221/6122 1130/1217/6123 +f 1130/1217/6124 1126/1210/6125 1148/1232/6126 +f 1145/2379/6127 1150/2384/6128 1149/2382/6129 +f 1149/2382/6130 1144/1347/6131 1145/2379/6132 +f 1147/2381/6133 1151/2385/6134 1150/2384/6135 +f 1150/2384/6136 1145/2379/6137 1147/2381/6138 +f 1124/1207/6139 1134/1219/6140 1140/1225/6141 +f 1140/1225/6142 1123/1208/6143 1124/1207/6144 +f 1142/1349/6145 1143/1348/6146 1152/2386/6147 +f 1152/2386/6148 1153/2387/6149 1142/1349/6150 +f 1146/2380/6151 1142/1349/6152 1153/2387/6153 +f 1153/2387/6154 1122/2388/6155 1146/2380/6156 +f 1147/2381/6157 1146/2380/6158 1122/2388/6159 +f 1122/2388/6160 1123/2389/6161 1147/2381/6162 +f 1151/2385/6163 1147/2381/6164 1123/2389/6165 +f 1123/2389/6166 1140/1346/6167 1151/2385/6168 +f 1150/2384/6169 1151/2385/6170 1140/1346/6171 +f 1140/1346/6172 1138/1344/6173 1150/2384/6174 +f 1149/2382/6175 1150/2384/6176 1138/1344/6177 +f 1138/1344/6178 1136/1343/6179 1149/2382/6180 +f 1144/1347/6181 1149/2382/6182 1136/1343/6183 +f 1136/1343/6184 1148/2390/6185 1144/1347/6186 +f 1143/1348/6187 1144/1347/6188 1148/2390/6189 +f 1148/2390/6190 1152/2386/6191 1143/1348/6192 +f 707/793/6193 1155/1239/6194 1154/1238/6195 +f 1154/1238/6196 706/790/6197 707/793/6198 +f 1128/1213/6199 1156/1240/6200 1155/1239/6201 +f 1155/1239/6202 707/793/6203 1128/1213/6204 +f 1154/1238/6205 1157/1241/6206 708/791/6207 +f 708/791/6208 706/790/6209 1154/1238/6210 +f 1159/2393/6211 1158/2394/6212 1161/2391/6213 +f 1161/2391/6214 1160/2392/6215 1159/2393/6216 +f 1158/2394/6217 1162/2396/6218 1163/2395/6219 +f 1163/2395/6220 1161/2391/6221 1158/2394/6222 +f 1164/1248/6223 1156/1240/6224 1128/1213/6225 +f 1128/1213/6226 1127/1212/6227 1164/1248/6228 +f 1133/1214/6229 1166/1250/6230 1165/1249/6231 +f 1165/1249/6232 1132/1215/6233 1133/1214/6234 +f 1132/1215/6235 1165/1249/6236 1167/1251/6237 +f 1167/1251/6238 1135/1218/6239 1132/1215/6240 +f 1137/1220/6241 1168/1252/6242 1166/1250/6243 +f 1166/1250/6244 1133/1214/6245 1137/1220/6246 +f 1169/2399/6247 1172/2400/6248 1171/2397/6249 +f 1171/2397/6250 1170/2398/6251 1169/2399/6252 +f 1173/2401/6253 1174/2402/6254 1172/2400/6255 +f 1172/2400/6256 1169/2399/6257 1173/2401/6258 +f 1135/1218/6259 1167/1251/6260 1175/1259/6261 +f 1175/1259/6262 1141/1224/6263 1135/1218/6264 +f 1166/1250/6265 1154/1238/6266 1155/1239/6267 +f 1155/1239/6268 1165/1249/6269 1166/1250/6270 +f 1165/1249/6271 1155/1239/6272 1156/1240/6273 +f 1156/1240/6274 1167/1251/6275 1165/1249/6276 +f 1168/1252/6277 1157/1241/6278 1154/1238/6279 +f 1154/1238/6280 1166/1250/6281 1168/1252/6282 +f 1172/2400/6283 1177/2404/6284 1176/2403/6285 +f 1176/2403/6286 1171/2397/6287 1172/2400/6288 +f 1174/2402/6289 1178/2405/6290 1177/2404/6291 +f 1177/2404/6292 1172/2400/6293 1174/2402/6294 +f 1167/1251/6295 1156/1240/6296 1164/1248/6297 +f 1164/1248/6298 1175/1259/6299 1167/1251/6300 +f 1169/2399/6301 1170/2398/6302 1137/1342/6303 +f 1137/1342/6304 1139/1341/6305 1169/2399/6306 +f 1173/2401/6307 1169/2399/6308 1139/1341/6309 +f 1139/1341/6310 1141/1345/6311 1173/2401/6312 +f 1174/2402/6313 1173/2401/6314 1141/1345/6315 +f 1141/1345/6316 1175/2406/6317 1174/2402/6318 +f 1178/2405/6319 1174/2402/6320 1175/2406/6321 +f 1175/2406/6322 1164/2407/6323 1178/2405/6324 +f 1177/2404/6325 1178/2405/6326 1164/2407/6327 +f 1164/2407/6328 1179/2408/6329 1177/2404/6330 +f 1176/2403/6331 1177/2404/6332 1179/2408/6333 +f 1179/2408/6334 1157/2409/6335 1176/2403/6336 +f 1171/2397/6337 1176/2403/6338 1157/2409/6339 +f 1157/2409/6340 1168/2410/6341 1171/2397/6342 +f 1170/2398/6343 1171/2397/6344 1168/2410/6345 +f 1168/2410/6346 1137/1342/6347 1170/2398/6348 +f 1181/2413/6349 1180/2414/6350 1129/2411/6351 +f 1129/2411/6352 708/2412/6353 1181/2413/6354 +f 1182/2415/6355 1181/2413/6356 708/2412/6357 +f 708/2412/6358 1157/2409/6359 1182/2415/6360 +f 1183/2416/6361 1182/2415/6362 1157/2409/6363 +f 1157/2409/6364 1179/2408/6365 1183/2416/6366 +f 1184/2417/6367 1183/2416/6368 1179/2408/6369 +f 1179/2408/6370 1164/2407/6371 1184/2417/6372 +f 1185/2419/6373 1184/2417/6374 1164/2407/6375 +f 1164/2407/6376 1127/2418/6377 1185/2419/6378 +f 1180/2414/6379 1185/2419/6380 1127/2418/6381 +f 1127/2418/6382 1129/2411/6383 1180/2414/6384 +f 1160/2392/6385 1161/2391/6386 1180/2414/6387 +f 1180/2414/6388 1181/2413/6389 1160/2392/6390 +f 1159/2393/6391 1160/2392/6392 1181/2413/6393 +f 1181/2413/6394 1182/2415/6395 1159/2393/6396 +f 1158/2394/6397 1159/2393/6398 1182/2415/6399 +f 1182/2415/6400 1183/2416/6401 1158/2394/6402 +f 1162/2396/6403 1158/2394/6404 1183/2416/6405 +f 1183/2416/6406 1184/2417/6407 1162/2396/6408 +f 1163/2395/6409 1162/2396/6410 1184/2417/6411 +f 1184/2417/6412 1185/2419/6413 1163/2395/6414 +f 1161/2391/6415 1163/2395/6416 1185/2419/6417 +f 1185/2419/6418 1180/2414/6419 1161/2391/6420 +f 741/824/6421 742/823/6422 1186/1270/6423 +f 1186/1270/6424 1187/1271/6425 741/824/6426 +f 1188/1274/6427 1191/1275/6428 1190/1272/6429 +f 1190/1272/6430 1189/1273/6431 1188/1274/6432 +f 1192/1276/6433 1112/1200/6434 712/795/6435 +f 712/795/6436 715/799/6437 1192/1276/6438 +f 1110/2420/6439 729/812/6440 730/811/6441 +f 730/811/6442 851/1337/6443 1110/2420/6444 +f 1194/2423/6445 1193/2424/6446 704/2421/6447 +f 704/2421/6448 705/2422/6449 1194/2423/6450 +f 728/813/6451 1114/1339/6452 1109/1336/6453 +f 1109/1336/6454 727/814/6455 728/813/6456 +f 1197/2426/6457 1196/2427/6458 1195/2425/6459 +f 1195/2425/6460 726/807/6461 1197/2426/6462 +f 725/808/6463 726/807/6464 1195/2425/6465 +f 1195/2425/6466 1115/1340/6467 725/808/6468 +f 1198/2430/6469 1118/2431/6470 1119/2428/6471 +f 1119/2428/6472 1199/2429/6473 1198/2430/6474 +f 1113/1338/6475 724/809/6476 1108/1335/6477 +f 1108/1335/6478 1107/1334/6479 1113/1338/6480 +f 1197/2426/6481 726/807/6482 723/810/6483 +f 723/810/6484 1200/2432/6485 1197/2426/6486 +f 1113/1338/6487 1201/2433/6488 723/810/6489 +f 723/810/6490 724/809/6491 1113/1338/6492 +f 1202/1277/6493 1186/1270/6494 742/823/6495 +f 742/823/6496 763/841/6497 1202/1277/6498 +f 853/939/6499 1203/1286/6500 1202/1277/6501 +f 1202/1277/6502 763/841/6503 853/939/6504 +f 1106/1332/6505 1115/1340/6506 1203/2434/6507 +f 1203/2434/6508 853/1333/6509 1106/1332/6510 +f 1204/1287/6511 1192/1276/6512 715/799/6513 +f 715/799/6514 716/798/6515 1204/1287/6516 +f 1205/2435/6517 1199/2429/6518 1115/1340/6519 +f 1115/1340/6520 1195/2425/6521 1205/2435/6522 +f 1206/2436/6523 1205/2435/6524 1195/2425/6525 +f 1195/2425/6526 1196/2427/6527 1206/2436/6528 +f 1207/2438/6529 1206/2436/6530 1196/2427/6531 +f 1196/2427/6532 1208/2437/6533 1207/2438/6534 +f 1209/2440/6535 1207/2438/6536 1208/2437/6537 +f 1208/2437/6538 1191/2439/6539 1209/2440/6540 +f 1210/1288/6541 1209/1293/6542 1191/1275/6543 +f 1191/1275/6544 1188/1274/6545 1210/1288/6546 +f 1187/1271/6547 1211/1294/6548 1204/1287/6549 +f 1204/1287/6550 716/798/6551 1187/1271/6552 +f 1211/1294/6553 1210/1288/6554 1188/1274/6555 +f 1188/1274/6556 1204/1287/6557 1211/1294/6558 +f 1213/1295/6559 1212/1296/6560 1120/1206/6561 +f 1120/1206/6562 1121/1205/6563 1213/1295/6564 +f 1153/2387/6565 1152/2386/6566 1206/2436/6567 +f 1206/2436/6568 1207/2438/6569 1153/2387/6570 +f 1209/2440/6571 1122/2388/6572 1153/2387/6573 +f 1153/2387/6574 1207/2438/6575 1209/2440/6576 +f 1214/1297/6577 1122/1209/6578 1209/1293/6579 +f 1209/1293/6580 1210/1288/6581 1214/1297/6582 +f 1211/1294/6583 1213/1295/6584 1214/1297/6585 +f 1214/1297/6586 1210/1288/6587 1211/1294/6588 +f 1187/1271/6589 1212/1296/6590 1213/1295/6591 +f 1213/1295/6592 1211/1294/6593 1187/1271/6594 +f 1186/1270/6595 1120/1206/6596 1212/1296/6597 +f 1212/1296/6598 1187/1271/6599 1186/1270/6600 +f 1203/1286/6601 1119/1202/6602 1116/1201/6603 +f 1116/1201/6604 1202/1277/6605 1203/1286/6606 +f 1199/2429/6607 1119/2428/6608 1203/2434/6609 +f 1203/2434/6610 1115/1340/6611 1199/2429/6612 +f 1206/2436/6613 1152/2386/6614 1215/2441/6615 +f 1215/2441/6616 1205/2435/6617 1206/2436/6618 +f 1116/1201/6619 1120/1206/6620 1186/1270/6621 +f 1186/1270/6622 1202/1277/6623 1116/1201/6624 +f 1198/2430/6625 1199/2429/6626 1205/2435/6627 +f 1205/2435/6628 1215/2441/6629 1198/2430/6630 +f 1198/2430/6631 1215/2441/6632 1216/2442/6633 +f 1216/2442/6634 1118/2431/6635 1198/2430/6636 +f 702/789/6637 703/788/6638 1217/1298/6639 +f 1217/1298/6640 1218/1300/6641 702/789/6642 +f 755/839/6643 756/836/6644 719/803/6645 +f 719/803/6646 1111/1196/6647 755/839/6648 +f 1194/2423/6649 729/812/6650 1110/2420/6651 +f 1110/2420/6652 1193/2424/6653 1194/2423/6654 +f 1219/1301/6655 1193/1302/6656 1110/1195/6657 +f 1110/1195/6658 1111/1196/6659 1219/1301/6660 +f 717/802/6661 1219/1301/6662 1111/1196/6663 +f 1111/1196/6664 719/803/6665 717/802/6666 +f 716/798/6667 713/801/6668 741/824/6669 +f 741/824/6670 1187/1271/6671 716/798/6672 +f 715/799/6673 712/795/6674 709/794/6675 +f 709/794/6676 714/800/6677 715/799/6678 +f 1112/1200/6679 1192/1276/6680 1189/1273/6681 +f 1189/1273/6682 1220/1303/6683 1112/1200/6684 +f 1204/1287/6685 1188/1274/6686 1189/1273/6687 +f 1189/1273/6688 1192/1276/6689 1204/1287/6690 +f 1217/1298/6691 1221/1304/6692 1220/1303/6693 +f 1220/1303/6694 1218/1300/6695 1217/1298/6696 +f 703/788/6697 704/787/6698 1193/1302/6699 +f 1193/1302/6700 1219/1301/6701 703/788/6702 +f 717/802/6703 1217/1298/6704 703/788/6705 +f 703/788/6706 1219/1301/6707 717/802/6708 +f 1221/1304/6709 1217/1298/6710 717/802/6711 +f 717/802/6712 718/804/6713 1221/1304/6714 +f 1112/1200/6715 1220/1303/6716 1221/1304/6717 +f 1221/1304/6718 718/804/6719 1112/1200/6720 +f 1190/1272/6721 1218/1300/6722 1220/1303/6723 +f 1220/1303/6724 1189/1273/6725 1190/1272/6726 +f 1223/2444/6727 1222/2445/6728 705/2574/6729 +f 705/2574/6730 702/2443/6731 1223/2444/6732 +f 1224/2447/6733 1223/2444/6734 702/2443/6735 +f 702/2443/6736 1218/2446/6737 1224/2447/6738 +f 1225/2449/6739 1224/2447/6740 1218/2446/6741 +f 1218/2446/6742 1190/2448/6743 1225/2449/6744 +f 1226/2450/6745 1225/2449/6746 1190/2448/6747 +f 1190/2448/6748 1191/2439/6749 1226/2450/6750 +f 1227/2451/6751 1226/2450/6752 1191/2439/6753 +f 1191/2439/6754 1208/2437/6755 1227/2451/6756 +f 1228/2452/6757 1227/2451/6758 1208/2437/6759 +f 1208/2437/6760 1196/2427/6761 1228/2452/6762 +f 1229/2453/6763 1228/2452/6764 1196/2427/6765 +f 1196/2427/6766 1197/2426/6767 1229/2453/6768 +f 1230/2454/6769 1229/2453/6770 1197/2426/6771 +f 1197/2426/6772 1200/2432/6773 1230/2454/6774 +f 1231/2456/6775 1230/2454/6776 1200/2432/6777 +f 1200/2432/6778 1232/2455/6779 1231/2456/6780 +f 1194/2423/6781 705/2422/6782 1233/2457/6783 +f 1233/2457/6784 1234/2458/6785 1194/2423/6786 +f 1201/2433/6787 1232/2455/6788 1200/2432/6789 +f 1200/2432/6790 723/810/6791 1201/2433/6792 +f 1235/2460/6793 1222/2445/6794 1223/2444/6795 +f 1223/2444/6796 1236/2459/6797 1235/2460/6798 +f 1237/2461/6799 1236/2459/6800 1223/2444/6801 +f 1223/2444/6802 1224/2447/6803 1237/2461/6804 +f 1237/2461/6805 1224/2447/6806 1225/2449/6807 +f 1225/2449/6808 1238/2462/6809 1237/2461/6810 +f 1238/2462/6811 1225/2449/6812 1226/2450/6813 +f 1226/2450/6814 1239/2463/6815 1238/2462/6816 +f 1239/2463/6817 1226/2450/6818 1227/2451/6819 +f 1227/2451/6820 1240/2464/6821 1239/2463/6822 +f 1241/2465/6823 1240/2464/6824 1227/2451/6825 +f 1227/2451/6826 1228/2452/6827 1241/2465/6828 +f 1242/2466/6829 1241/2465/6830 1228/2452/6831 +f 1228/2452/6832 1229/2453/6833 1242/2466/6834 +f 1243/2467/6835 1242/2466/6836 1229/2453/6837 +f 1229/2453/6838 1230/2454/6839 1243/2467/6840 +f 1243/2467/6841 1230/2454/6842 1231/2456/6843 +f 1231/2456/6844 1244/2468/6845 1243/2467/6846 +f 1244/2468/6847 1231/2456/6848 1222/2575/6849 +f 1222/2575/6850 1235/2576/6851 1244/2468/6852 +f 1213/1295/6853 1121/1205/6854 1122/1209/6855 +f 1122/1209/6856 1214/1297/6857 1213/1295/6858 +f 1118/1203/6859 1216/1305/6860 1148/1232/6861 +f 1148/1232/6862 1126/1210/6863 1118/1203/6864 +f 1148/2390/6865 1216/2442/6866 1215/2441/6867 +f 1215/2441/6868 1152/2386/6869 1148/2390/6870 +f 1247/2471/6871 1246/2472/6872 1245/2469/6873 +f 1245/2469/6874 1248/2470/6875 1247/2471/6876 +f 1250/2473/6877 1249/2474/6878 1247/2471/6879 +f 1247/2471/6880 1248/2470/6881 1250/2473/6882 +f 1251/2476/6883 1249/2474/6884 1250/2473/6885 +f 1250/2473/6886 1252/2475/6887 1251/2476/6888 +f 1246/2578/6889 1261/2478/6890 1260/2477/6891 +f 1260/2477/6892 1245/2577/6893 1246/2578/6894 +f 1194/2423/6895 1234/2458/6896 728/813/6897 +f 728/813/6898 729/812/6899 1194/2423/6900 +f 1262/2479/6901 1114/1339/6902 728/813/6903 +f 728/813/6904 1234/2458/6905 1262/2479/6906 +f 1114/1339/6907 1262/2479/6908 1201/2433/6909 +f 1201/2433/6910 1113/1338/6911 1114/1339/6912 +f 1263/2480/6913 1262/2479/6914 1234/2458/6915 +f 1234/2458/6916 1233/2457/6917 1263/2480/6918 +f 1264/2481/6919 1233/2457/6920 705/2422/6921 +f 705/2422/6922 1222/2575/6923 1264/2481/6924 +f 1231/2456/6925 1265/2482/6926 1264/2481/6927 +f 1264/2481/6928 1222/2575/6929 1231/2456/6930 +f 1263/2480/6931 1233/2457/6932 1264/2481/6933 +f 1264/2481/6934 1265/2482/6935 1263/2480/6936 +f 1232/2455/6937 1263/2480/6938 1265/2482/6939 +f 1265/2482/6940 1231/2456/6941 1232/2455/6942 +f 1262/2479/6943 1263/2480/6944 1232/2455/6945 +f 1232/2455/6946 1201/2433/6947 1262/2479/6948 +f 1260/2477/6949 1258/2483/6950 1243/2467/6951 +f 1243/2467/6952 1244/2468/6953 1260/2477/6954 +f 1257/2484/6955 1242/2466/6956 1243/2467/6957 +f 1243/2467/6958 1258/2483/6959 1257/2484/6960 +f 1256/2486/6961 1241/2465/6962 1242/2466/6963 +f 1242/2466/6964 1257/2484/6965 1256/2486/6966 +f 1255/2487/6967 1240/2464/6968 1241/2465/6969 +f 1241/2465/6970 1256/2486/6971 1255/2487/6972 +f 1254/2488/6973 1239/2463/6974 1240/2464/6975 +f 1240/2464/6976 1255/2487/6977 1254/2488/6978 +f 1252/2475/6979 1254/2488/6980 1253/2489/6981 +f 1253/2489/6982 1251/2476/6983 1252/2475/6984 +f 1237/2461/6985 1238/2462/6986 1252/2475/6987 +f 1252/2475/6988 1250/2473/6989 1237/2461/6990 +f 1236/2459/6991 1237/2461/6992 1250/2473/6993 +f 1250/2473/6994 1248/2470/6995 1236/2459/6996 +f 1245/2469/6997 1235/2460/6998 1236/2459/6999 +f 1236/2459/7000 1248/2470/7001 1245/2469/7002 +f 1244/2468/7003 1235/2576/7004 1245/2577/7005 +f 1245/2577/7006 1260/2477/7007 1244/2468/7008 +f 1260/2477/7009 1261/2478/7010 1259/2490/7011 +f 1259/2490/7012 1258/2483/7013 1260/2477/7014 +f 1252/2475/7015 1238/2462/7016 1239/2463/7017 +f 1239/2463/7018 1254/2488/7019 1252/2475/7020 +f 587/1398/7021 437/519/7022 443/526/7023 +f 443/526/7024 444/525/7025 587/1398/7026 +f 645/734/7027 640/729/7028 450/535/7029 +f 450/535/7030 451/534/7031 645/734/7032 +f 621/709/7033 624/713/7034 650/739/7035 +f 650/739/7036 620/710/7037 621/709/7038 +f 622/711/7039 623/714/7040 624/2605/7041 +f 624/2605/7042 621/2603/7043 622/711/7044 +f 424/507/7045 420/504/7046 629/718/7047 +f 629/718/7048 622/711/7049 424/507/7050 +f 420/504/7051 421/503/7052 632/721/7053 +f 632/721/7054 629/718/7055 420/504/7056 +f 421/503/7057 604/690/7058 635/724/7059 +f 635/724/7060 632/721/7061 421/503/7062 +f 604/690/7063 605/691/7064 638/727/7065 +f 638/727/7066 635/724/7067 604/690/7068 +f 605/691/7069 449/533/7070 450/535/7071 +f 450/535/7072 638/727/7073 605/691/7074 +f 651/740/7075 617/706/7076 618/707/7077 +f 618/707/7078 620/710/7079 651/740/7080 +f 451/534/7081 446/532/7082 617/706/7083 +f 617/706/7084 651/740/7085 451/534/7086 +f 607/693/7087 608/2569/7088 448/530/7089 +f 448/530/7090 449/533/7091 607/693/7092 +f 642/730/7093 1266/2570/7094 671/759/7095 +f 671/759/7096 641/731/7097 642/730/7098 +f 643/733/7099 1267/2571/7100 1266/2570/7101 +f 1266/2570/7102 642/730/7103 643/733/7104 +f 1268/2572/7105 1267/2571/7106 643/733/7107 +f 643/733/7108 646/736/7109 1268/2572/7110 +f 655/746/7111 1268/2572/7112 646/736/7113 +f 646/736/7114 652/741/7115 655/746/7116 +f 654/2607/7117 655/746/7118 652/741/7119 +f 652/741/7120 653/742/7121 654/2607/7122 +f 653/2606/7123 625/712/7124 626/715/7125 +f 626/715/7126 660/749/7127 653/2606/7128 +f 626/715/7129 627/716/7130 663/752/7131 +f 663/752/7132 660/749/7133 626/715/7134 +f 627/716/7135 630/719/7136 666/755/7137 +f 666/755/7138 663/752/7139 627/716/7140 +f 630/719/7141 633/722/7142 669/758/7143 +f 669/758/7144 666/755/7145 630/719/7146 +f 633/722/7147 636/725/7148 641/731/7149 +f 641/731/7150 669/758/7151 633/722/7152 +f 657/744/7153 688/776/7154 686/775/7155 +f 686/775/7156 656/745/7157 657/744/7158 +f 658/748/7159 690/778/7160 688/2609/7161 +f 688/2609/7162 657/2608/7163 658/748/7164 +f 661/751/7165 692/1351/7166 690/778/7167 +f 690/778/7168 658/748/7169 661/751/7170 +f 664/754/7171 694/2566/7172 692/1351/7173 +f 692/1351/7174 661/751/7175 664/754/7176 +f 673/762/7177 694/2566/7178 664/754/7179 +f 664/754/7180 667/757/7181 673/762/7182 +f 672/763/7183 673/762/7184 667/757/7185 +f 667/757/7186 670/760/7187 672/763/7188 +f 671/759/7189 1266/2570/7190 678/767/7191 +f 678/767/7192 670/760/7193 671/759/7194 +f 1266/2570/7195 1267/2571/7196 681/770/7197 +f 681/770/7198 678/767/7199 1266/2570/7200 +f 1267/2571/7201 1268/2572/7202 684/773/7203 +f 684/773/7204 681/770/7205 1267/2571/7206 +f 684/773/7207 1268/2572/7208 655/746/7209 +f 655/746/7210 656/745/7211 684/773/7212 +f 1270/1432/7213 1269/478/7214 397/475/7215 +f 397/475/7216 1271/1431/7217 1270/1432/7218 +f 1270/1432/7219 1271/1431/7220 1272/1543/7221 +f 1272/1543/7222 1273/1544/7223 1270/1432/7224 +f 1276/1360/7225 1275/1361/7226 1274/1358/7227 +f 1274/1358/7228 1277/1359/7229 1276/1360/7230 +f 1279/1362/7231 1278/1363/7232 1275/1361/7233 +f 1275/1361/7234 1276/1360/7235 1279/1362/7236 +f 1276/1360/7237 1277/1359/7238 1280/1364/7239 +f 1280/1364/7240 1279/1362/7241 1276/1360/7242 +f 1283/1367/7243 1282/1368/7244 1281/1365/7245 +f 1281/1365/7246 1284/1366/7247 1283/1367/7248 +f 1283/1367/7249 1284/1366/7250 1285/1369/7251 +f 1285/1369/7252 1286/1370/7253 1283/1367/7254 +f 1283/1367/7255 1286/1370/7256 1287/1371/7257 +f 1287/1371/7258 1288/1372/7259 1283/1367/7260 +f 1283/1367/7261 1288/1372/7262 1289/1373/7263 +f 1289/1373/7264 1290/1374/7265 1283/1367/7266 +f 1283/1367/7267 1290/1374/7268 1291/1375/7269 +f 1291/1375/7270 1282/1368/7271 1283/1367/7272 +f 1294/1376/7273 1293/1377/7274 1292/479/7275 +f 1292/479/7276 1295/686/7277 1294/1376/7278 +f 1294/1376/7279 1297/1379/7280 1296/1378/7281 +f 1296/1378/7282 1293/1377/7283 1294/1376/7284 +f 1300/1384/7285 1299/1385/7286 1298/1382/7287 +f 1298/1382/7288 1301/1383/7289 1300/1384/7290 +f 1303/2586/7291 1302/1387/7292 1299/1385/7293 +f 1299/1385/7294 1300/1384/7295 1303/2586/7296 +f 1300/1570/7297 1301/1571/7298 1304/1541/7299 +f 1304/1541/7300 1303/1542/7301 1300/1570/7302 +f 1307/1547/7303 1306/1548/7304 1305/1545/7305 +f 1305/1545/7306 1308/1546/7307 1307/1547/7308 +f 1307/1547/7309 1310/1551/7310 1309/1550/7311 +f 1309/1550/7312 1306/1548/7313 1307/1547/7314 +f 1307/1547/7315 1308/1546/7316 1273/1544/7317 +f 1273/1544/7318 1311/1552/7319 1307/1547/7320 +f 1308/1546/7321 1305/1545/7322 1312/1553/7323 +f 1312/1553/7324 1313/1554/7325 1308/1546/7326 +f 1316/1557/7327 1315/1558/7328 1314/1555/7329 +f 1314/1555/7330 1317/1556/7331 1316/1557/7332 +f 1317/1556/7333 1312/1553/7334 1305/1545/7335 +f 1305/1545/7336 1316/1557/7337 1317/1556/7338 +f 1317/1556/7339 1314/1555/7340 1318/1559/7341 +f 1318/1559/7342 1312/1553/7343 1317/1556/7344 +f 1321/1403/7345 1320/1404/7346 1319/1380/7347 +f 1319/1380/7348 1322/1381/7349 1321/1403/7350 +f 1323/1406/7351 1321/1403/7352 1322/1381/7353 +f 1322/1381/7354 1324/1405/7355 1323/1406/7356 +f 1306/1548/7357 1309/1550/7358 1316/1557/7359 +f 1316/1557/7360 1305/1545/7361 1306/1548/7362 +f 1327/1562/7363 1326/1563/7364 1325/1560/7365 +f 1325/1560/7366 1328/1561/7367 1327/1562/7368 +f 1327/1562/7369 1330/1566/7370 1329/1564/7371 +f 1329/1564/7372 1331/1565/7373 1327/1562/7374 +f 1327/1562/7375 1331/1565/7376 1332/1567/7377 +f 1332/1567/7378 1326/1563/7379 1327/1562/7380 +f 1334/1418/7381 1333/1419/7382 1329/1413/7383 +f 1329/1413/7384 1335/1417/7385 1334/1418/7386 +f 1334/1418/7387 1274/1358/7388 1275/1361/7389 +f 1275/1361/7390 1278/1363/7391 1334/1418/7392 +f 1334/1418/7393 1278/1363/7394 1336/1420/7395 +f 1336/1420/7396 1333/1419/7397 1334/1418/7398 +f 1290/1374/7399 1289/1373/7400 1337/1421/7401 +f 1337/1421/7402 1291/1375/7403 1290/1374/7404 +f 1335/1569/7405 1329/1564/7406 1330/1566/7407 +f 1330/1566/7408 1338/1568/7409 1335/1569/7410 +f 1335/1417/7411 1338/1423/7412 1339/1422/7413 +f 1339/1422/7414 1334/1418/7415 1335/1417/7416 +f 1342/1408/7417 1341/1424/7418 1340/1407/7419 +f 1340/1407/7420 1297/1379/7421 1342/1408/7422 +f 1345/1574/7423 1344/1575/7424 1343/1572/7425 +f 1343/1572/7426 1346/1573/7427 1345/1574/7428 +f 1345/1687/7429 1346/2491/7430 1347/1598/7431 +f 1347/1598/7432 1348/1686/7433 1345/1687/7434 +f 1346/1573/7435 1343/1572/7436 1349/1576/7437 +f 1349/1576/7438 1350/1577/7439 1346/1573/7440 +f 1346/2491/7441 1350/2493/7442 1351/2492/7443 +f 1351/2492/7444 1347/1598/7445 1346/2491/7446 +f 1351/1435/7447 1350/1436/7448 1352/1433/7449 +f 1352/1433/7450 1353/1434/7451 1351/1435/7452 +f 1351/1435/7453 1353/1434/7454 1339/1422/7455 +f 1339/1422/7456 1338/1423/7457 1351/1435/7458 +f 1351/2492/7459 1338/1568/7460 1330/1566/7461 +f 1330/1566/7462 1347/1598/7463 1351/2492/7464 +f 1353/1434/7465 1352/1433/7466 1354/1437/7467 +f 1354/1437/7468 1355/1438/7469 1353/1434/7470 +f 1353/1434/7471 1355/1438/7472 1356/1439/7473 +f 1356/1439/7474 1339/1422/7475 1353/1434/7476 +f 1356/1439/7477 1355/1438/7478 1357/1440/7479 +f 1357/1440/7480 1358/1441/7481 1356/1439/7482 +f 1356/1439/7483 1358/1441/7484 1277/1359/7485 +f 1277/1359/7486 1274/1358/7487 1356/1439/7488 +f 1356/1439/7489 1274/1358/7490 1334/1418/7491 +f 1334/1418/7492 1339/1422/7493 1356/1439/7494 +f 1358/1441/7495 1357/1440/7496 1359/1442/7497 +f 1359/1442/7498 1360/1443/7499 1358/1441/7500 +f 1358/1441/7501 1360/1443/7502 1361/1444/7503 +f 1361/1444/7504 1277/1359/7505 1358/1441/7506 +f 1361/1444/7507 1360/1443/7508 1362/1445/7509 +f 1362/1445/7510 1363/1446/7511 1361/1444/7512 +f 1361/1444/7513 1363/1446/7514 1364/1447/7515 +f 1364/1447/7516 1365/1448/7517 1361/1444/7518 +f 1361/1444/7519 1365/1448/7520 1280/1364/7521 +f 1280/1364/7522 1277/1359/7523 1361/1444/7524 +f 1365/1448/7525 1364/1447/7526 1366/1449/7527 +f 1366/1449/7528 1337/1421/7529 1365/1448/7530 +f 1365/1448/7531 1337/1421/7532 1289/1373/7533 +f 1289/1373/7534 1280/1364/7535 1365/1448/7536 +f 1364/1447/7537 1363/1446/7538 1367/1450/7539 +f 1367/1450/7540 1368/1451/7541 1364/1447/7542 +f 1364/1447/7543 1368/1451/7544 1369/1452/7545 +f 1369/1452/7546 1366/1449/7547 1364/1447/7548 +f 1368/1451/7549 1367/1450/7550 1370/1453/7551 +f 1370/1453/7552 1371/1454/7553 1368/1451/7554 +f 1368/1451/7555 1371/1454/7556 1372/1455/7557 +f 1372/1455/7558 1369/1452/7559 1368/1451/7560 +f 1372/1455/7561 1371/1454/7562 1373/1456/7563 +f 1373/1456/7564 1374/1457/7565 1372/1455/7566 +f 1372/1455/7567 1374/1457/7568 1375/1458/7569 +f 1375/1458/7570 1376/1459/7571 1372/1455/7572 +f 1372/1455/7573 1376/1459/7574 1377/1460/7575 +f 1377/1460/7576 1369/1452/7577 1372/1455/7578 +f 1376/1459/7579 1375/1458/7580 1378/1461/7581 +f 1378/1461/7582 1379/1462/7583 1376/1459/7584 +f 1376/1459/7585 1379/1462/7586 1380/1463/7587 +f 1380/1463/7588 1377/1460/7589 1376/1459/7590 +f 1380/1463/7591 1382/1465/7592 1381/1464/7593 +f 1381/1464/7594 1377/1460/7595 1380/1463/7596 +f 1380/2589/7597 1379/2588/7598 1383/1466/7599 +f 1383/1466/7600 1384/1467/7601 1380/2589/7602 +f 1380/2589/7603 1384/1467/7604 1385/1468/7605 +f 1385/1468/7606 1382/2590/7607 1380/2589/7608 +f 1383/2591/7609 1379/1462/7610 1378/1461/7611 +f 1378/1461/7612 1386/1469/7613 1383/2591/7614 +f 1383/2591/7615 1386/1469/7616 1387/1470/7617 +f 1387/1470/7618 1388/1471/7619 1383/2591/7620 +f 1383/1466/7621 1388/2593/7622 1389/1472/7623 +f 1389/1472/7624 1384/1467/7625 1383/1466/7626 +f 1388/2593/7627 1387/2592/7628 1390/1473/7629 +f 1390/1473/7630 1391/1474/7631 1388/2593/7632 +f 1388/2593/7633 1391/1474/7634 1392/1475/7635 +f 1392/1475/7636 1389/1472/7637 1388/2593/7638 +f 1392/1475/7639 1394/1477/7640 1393/1476/7641 +f 1393/1476/7642 1389/1472/7643 1392/1475/7644 +f 1392/1475/7645 1391/1474/7646 1395/1478/7647 +f 1395/1478/7648 1396/1479/7649 1392/1475/7650 +f 1392/1475/7651 1396/1479/7652 1397/1480/7653 +f 1397/1480/7654 1394/1477/7655 1392/1475/7656 +f 1397/1480/7657 1399/1482/7658 1398/1481/7659 +f 1398/1481/7660 1394/1477/7661 1397/1480/7662 +f 1397/1480/7663 1396/1479/7664 1400/1483/7665 +f 1400/1483/7666 1401/1484/7667 1397/1480/7668 +f 1397/1480/7669 1401/1484/7670 1402/1485/7671 +f 1402/1485/7672 1399/1482/7673 1397/1480/7674 +f 1402/1485/7675 1404/1487/7676 1403/1486/7677 +f 1403/1486/7678 1399/1482/7679 1402/1485/7680 +f 1402/1485/7681 1401/1484/7682 1405/1488/7683 +f 1405/1488/7684 1359/1442/7685 1402/1485/7686 +f 1402/1485/7687 1359/1442/7688 1357/1440/7689 +f 1357/1440/7690 1404/1487/7691 1402/1485/7692 +f 1405/1488/7693 1401/1484/7694 1400/1483/7695 +f 1400/1483/7696 1406/1489/7697 1405/1488/7698 +f 1405/1488/7699 1406/1489/7700 1407/1490/7701 +f 1407/1490/7702 1362/1445/7703 1405/1488/7704 +f 1405/1488/7705 1362/1445/7706 1360/1443/7707 +f 1360/1443/7708 1359/1442/7709 1405/1488/7710 +f 1407/1490/7711 1406/1489/7712 1408/1491/7713 +f 1408/1491/7714 1409/1492/7715 1407/1490/7716 +f 1407/1490/7717 1409/1492/7718 1370/1453/7719 +f 1370/1453/7720 1367/1450/7721 1407/1490/7722 +f 1407/1490/7723 1367/1450/7724 1363/1446/7725 +f 1363/1446/7726 1362/1445/7727 1407/1490/7728 +f 1409/1492/7729 1408/1491/7730 1410/1493/7731 +f 1410/1493/7732 1411/1494/7733 1409/1492/7734 +f 1409/1492/7735 1411/1494/7736 1412/1495/7737 +f 1412/1495/7738 1370/1453/7739 1409/1492/7740 +f 1412/1495/7741 1411/1494/7742 1413/1496/7743 +f 1413/1496/7744 1414/1497/7745 1412/1495/7746 +f 1412/1495/7747 1414/1497/7748 1415/1498/7749 +f 1415/1498/7750 1373/1456/7751 1412/1495/7752 +f 1412/1495/7753 1373/1456/7754 1371/1454/7755 +f 1371/1454/7756 1370/1453/7757 1412/1495/7758 +f 1415/1498/7759 1416/1499/7760 1374/1457/7761 +f 1374/1457/7762 1373/1456/7763 1415/1498/7764 +f 1416/1499/7765 1417/1500/7766 1375/1458/7767 +f 1375/1458/7768 1374/1457/7769 1416/1499/7770 +f 1417/1500/7771 1418/1501/7772 1378/1461/7773 +f 1378/1461/7774 1375/1458/7775 1417/1500/7776 +f 1418/1501/7777 1419/1502/7778 1386/1469/7779 +f 1386/1469/7780 1378/1461/7781 1418/1501/7782 +f 1419/1502/7783 1420/1503/7784 1387/1470/7785 +f 1387/1470/7786 1386/1469/7787 1419/1502/7788 +f 1420/2594/7789 1421/1504/7790 1390/1473/7791 +f 1390/1473/7792 1387/2592/7793 1420/2594/7794 +f 1421/1504/7795 1423/1506/7796 1422/1505/7797 +f 1422/1505/7798 1390/1473/7799 1421/1504/7800 +f 1422/1505/7801 1395/1478/7802 1391/1474/7803 +f 1391/1474/7804 1390/1473/7805 1422/1505/7806 +f 1422/1505/7807 1423/1506/7808 1424/1507/7809 +f 1424/1507/7810 1425/1508/7811 1422/1505/7812 +f 1422/1505/7813 1425/1508/7814 1426/1509/7815 +f 1426/1509/7816 1395/1478/7817 1422/1505/7818 +f 1426/1509/7819 1400/1483/7820 1396/1479/7821 +f 1396/1479/7822 1395/1478/7823 1426/1509/7824 +f 1426/1509/7825 1425/1508/7826 1410/1493/7827 +f 1410/1493/7828 1408/1491/7829 1426/1509/7830 +f 1426/1509/7831 1408/1491/7832 1406/1489/7833 +f 1406/1489/7834 1400/1483/7835 1426/1509/7836 +f 1425/1508/7837 1424/1507/7838 1427/1510/7839 +f 1427/1510/7840 1410/1493/7841 1425/1508/7842 +f 1427/1510/7843 1413/1496/7844 1411/1494/7845 +f 1411/1494/7846 1410/1493/7847 1427/1510/7848 +f 1403/1486/7849 1429/1513/7850 1428/1511/7851 +f 1428/1511/7852 1430/1512/7853 1403/1486/7854 +f 1403/1486/7855 1430/1512/7856 1398/1481/7857 +f 1398/1481/7858 1399/1482/7859 1403/1486/7860 +f 1403/1486/7861 1404/1487/7862 1354/1437/7863 +f 1354/1437/7864 1429/1513/7865 1403/1486/7866 +f 1430/1512/7867 1428/1511/7868 1431/1514/7869 +f 1431/1514/7870 1432/1515/7871 1430/1512/7872 +f 1430/1512/7873 1432/1515/7874 1433/1516/7875 +f 1433/1516/7876 1398/1481/7877 1430/1512/7878 +f 1433/1516/7879 1432/1515/7880 1434/1517/7881 +f 1434/1517/7882 1435/1518/7883 1433/1516/7884 +f 1433/1516/7885 1435/1518/7886 1436/1519/7887 +f 1436/1519/7888 1393/1476/7889 1433/1516/7890 +f 1433/1516/7891 1393/1476/7892 1394/1477/7893 +f 1394/1477/7894 1398/1481/7895 1433/1516/7896 +f 1434/1517/7897 1298/1382/7898 1299/1385/7899 +f 1299/1385/7900 1437/1520/7901 1434/1517/7902 +f 1434/1517/7903 1437/1520/7904 1385/1468/7905 +f 1385/1468/7906 1435/1518/7907 1434/1517/7908 +f 1434/1517/7909 1432/1515/7910 1431/1514/7911 +f 1431/1514/7912 1298/1382/7913 1434/1517/7914 +f 1437/1520/7915 1299/1385/7916 1302/1387/7917 +f 1302/1387/7918 1438/1521/7919 1437/1520/7920 +f 1437/1520/7921 1438/1521/7922 1382/2590/7923 +f 1382/2590/7924 1385/1468/7925 1437/1520/7926 +f 1438/2595/7927 1302/2587/7928 1284/1366/7929 +f 1284/1366/7930 1281/1365/7931 1438/2595/7932 +f 1438/2595/7933 1281/1365/7934 1381/1464/7935 +f 1381/1464/7936 1382/1465/7937 1438/2595/7938 +f 1431/1514/7939 1439/1522/7940 1301/1383/7941 +f 1301/1383/7942 1298/1382/7943 1431/1514/7944 +f 1431/1514/7945 1428/1511/7946 1440/1523/7947 +f 1440/1523/7948 1439/1522/7949 1431/1514/7950 +f 1440/1580/7951 1442/1581/7952 1441/1578/7953 +f 1441/1578/7954 1439/1579/7955 1440/1580/7956 +f 1440/1523/7957 1428/1511/7958 1429/1513/7959 +f 1429/1513/7960 1443/1524/7961 1440/1523/7962 +f 1440/1580/7963 1443/1582/7964 1349/1576/7965 +f 1349/1576/7966 1442/1581/7967 1440/1580/7968 +f 1443/1524/7969 1429/1513/7970 1354/1437/7971 +f 1354/1437/7972 1352/1433/7973 1443/1524/7974 +f 1443/1524/7975 1352/1433/7976 1350/1436/7977 +f 1350/1436/7978 1349/1527/7979 1443/1524/7980 +f 1441/1578/7981 1445/1585/7982 1444/1583/7983 +f 1444/1583/7984 1446/1584/7985 1441/1578/7986 +f 1441/1578/7987 1446/1584/7988 1301/1571/7989 +f 1301/1571/7990 1439/1579/7991 1441/1578/7992 +f 1441/1578/7993 1442/1581/7994 1447/1586/7995 +f 1447/1586/7996 1445/1585/7997 1441/1578/7998 +f 1446/1584/7999 1444/1583/8000 1448/1587/8001 +f 1448/1587/8002 1449/1588/8003 1446/1584/8004 +f 1446/1584/8005 1449/1588/8006 1304/1541/8007 +f 1304/1541/8008 1301/1571/8009 1446/1584/8010 +f 1449/1588/8011 1448/1587/8012 1450/1690/8013 +f 1450/1690/8014 1451/1691/8015 1449/1588/8016 +f 1449/1588/8017 1451/1691/8018 1452/2536/8019 +f 1452/2536/8020 1304/1541/8021 1449/1588/8022 +f 1452/2536/8023 1451/1691/8024 1453/2537/8025 +f 1453/2537/8026 1454/2538/8027 1452/2536/8028 +f 1452/2536/8029 1454/2538/8030 1455/2539/8031 +f 1455/2539/8032 1456/2540/8033 1452/2536/8034 +f 1452/2536/8035 1456/2540/8036 1303/1542/8037 +f 1303/1542/8038 1304/1541/8039 1452/2536/8040 +f 1456/2540/8041 1455/2539/8042 1457/2541/8043 +f 1457/2541/8044 1458/2542/8045 1456/2540/8046 +f 1456/2540/8047 1458/2542/8048 1285/2543/8049 +f 1285/2543/8050 1303/1542/8051 1456/2540/8052 +f 1458/2497/8053 1457/2498/8054 1459/2495/8055 +f 1459/2495/8056 1460/2496/8057 1458/2497/8058 +f 1458/2497/8059 1460/2496/8060 1286/2499/8061 +f 1286/2499/8062 1285/2501/8063 1458/2497/8064 +f 1460/2496/8065 1459/2495/8066 1461/2502/8067 +f 1461/2502/8068 1462/2503/8069 1460/2496/8070 +f 1460/2496/8071 1462/2503/8072 1287/2504/8073 +f 1287/2504/8074 1286/2499/8075 1460/2496/8076 +f 1462/2503/8077 1461/2502/8078 1463/2505/8079 +f 1463/2505/8080 1464/2506/8081 1462/2503/8082 +f 1462/2503/8083 1464/2506/8084 1465/2507/8085 +f 1465/2507/8086 1287/2504/8087 1462/2503/8088 +f 1465/2507/8089 1464/2506/8090 1466/2508/8091 +f 1466/2508/8092 1336/2509/8093 1465/2507/8094 +f 1465/1549/8095 1336/1420/8096 1278/1363/8097 +f 1278/1363/8098 1279/1362/8099 1465/1549/8100 +f 1465/1549/8101 1279/1362/8102 1288/1372/8103 +f 1288/1372/8104 1287/1371/8105 1465/1549/8106 +f 1466/2508/8107 1464/2506/8108 1463/2505/8109 +f 1463/2505/8110 1467/2510/8111 1466/2508/8112 +f 1466/2508/8113 1467/2510/8114 1468/2511/8115 +f 1468/2511/8116 1469/2512/8117 1466/2508/8118 +f 1466/2508/8119 1469/2512/8120 1333/2513/8121 +f 1333/2513/8122 1336/2509/8123 1466/2508/8124 +f 1469/2512/8125 1468/2511/8126 1332/1567/8127 +f 1332/1567/8128 1331/1565/8129 1469/2512/8130 +f 1469/2512/8131 1331/1565/8132 1329/1564/8133 +f 1329/1564/8134 1333/2513/8135 1469/2512/8136 +f 1468/2511/8137 1467/2510/8138 1470/2514/8139 +f 1470/2514/8140 1471/2515/8141 1468/2511/8142 +f 1468/2511/8143 1471/2515/8144 1472/2516/8145 +f 1472/2516/8146 1332/1567/8147 1468/2511/8148 +f 1472/2516/8149 1471/2515/8150 1473/2517/8151 +f 1473/2517/8152 1474/2518/8153 1472/2516/8154 +f 1472/2516/8155 1474/2518/8156 1475/2519/8157 +f 1475/2519/8158 1476/2520/8159 1472/2516/8160 +f 1472/2516/8161 1476/2520/8162 1326/1563/8163 +f 1326/1563/8164 1332/1567/8165 1472/2516/8166 +f 1476/2520/8167 1475/2519/8168 1477/2521/8169 +f 1477/2521/8170 1478/2522/8171 1476/2520/8172 +f 1476/2520/8173 1478/2522/8174 1325/1560/8175 +f 1325/1560/8176 1326/1563/8177 1476/2520/8178 +f 1475/2519/8179 1474/2518/8180 1479/2523/8181 +f 1479/2523/8182 1480/2524/8183 1475/2519/8184 +f 1475/2519/8185 1480/2524/8186 1481/2525/8187 +f 1481/2525/8188 1477/2521/8189 1475/2519/8190 +f 1480/2524/8191 1479/2523/8192 1482/1392/8193 +f 1482/1392/8194 1483/1393/8195 1480/2524/8196 +f 1480/2524/8197 1483/1393/8198 1484/1394/8199 +f 1484/1394/8200 1481/2525/8201 1480/2524/8202 +f 1482/1392/8203 1479/2523/8204 1485/2526/8205 +f 1485/2526/8206 391/1396/8207 1482/1392/8208 +f 391/1396/8209 1485/2526/8210 1271/1431/8211 +f 1271/1431/8212 397/475/8213 391/1396/8214 +f 1485/2526/8215 1479/2523/8216 1474/2518/8217 +f 1474/2518/8218 1473/2517/8219 1485/2526/8220 +f 1485/2526/8221 1473/2517/8222 1272/1543/8223 +f 1272/1543/8224 1271/1431/8225 1485/2526/8226 +f 1473/2517/8227 1471/2515/8228 1470/2514/8229 +f 1470/2514/8230 1272/1543/8231 1473/2517/8232 +f 1470/2514/8233 1311/1552/8234 1273/1544/8235 +f 1273/1544/8236 1272/1543/8237 1470/2514/8238 +f 1470/2514/8239 1467/2510/8240 1463/2505/8241 +f 1463/2505/8242 1311/1552/8243 1470/2514/8244 +f 1463/2505/8245 1461/2502/8246 1307/1547/8247 +f 1307/1547/8248 1311/1552/8249 1463/2505/8250 +f 1461/2502/8251 1459/2495/8252 1310/1551/8253 +f 1310/1551/8254 1307/1547/8255 1461/2502/8256 +f 1459/2495/8257 1457/2498/8258 1486/2527/8259 +f 1486/2527/8260 1310/1551/8261 1459/2495/8262 +f 1486/2546/8263 1488/2547/8264 1487/2544/8265 +f 1487/2544/8266 1489/2545/8267 1486/2546/8268 +f 1486/2527/8269 1489/2528/8270 1309/1550/8271 +f 1309/1550/8272 1310/1551/8273 1486/2527/8274 +f 1486/2546/8275 1457/2541/8276 1455/2539/8277 +f 1455/2539/8278 1488/2547/8279 1486/2546/8280 +f 1487/2544/8281 1491/2550/8282 1490/2548/8283 +f 1490/2548/8284 1492/2549/8285 1487/2544/8286 +f 1487/2544/8287 1492/2549/8288 1315/2551/8289 +f 1315/2551/8290 1489/2545/8291 1487/2544/8292 +f 1487/2544/8293 1488/2547/8294 1493/2552/8295 +f 1493/2552/8296 1491/2550/8297 1487/2544/8298 +f 1493/2552/8299 1495/2554/8300 1494/2553/8301 +f 1494/2553/8302 1491/2550/8303 1493/2552/8304 +f 1493/2552/8305 1488/2547/8306 1455/2539/8307 +f 1455/2539/8308 1454/2538/8309 1493/2552/8310 +f 1493/2552/8311 1454/2538/8312 1453/2537/8313 +f 1453/2537/8314 1495/2554/8315 1493/2552/8316 +f 1494/2553/8317 1497/2557/8318 1496/2555/8319 +f 1496/2555/8320 1498/2556/8321 1494/2553/8322 +f 1494/2553/8323 1498/2556/8324 1490/2548/8325 +f 1490/2548/8326 1491/2550/8327 1494/2553/8328 +f 1494/2553/8329 1495/2554/8330 1499/2558/8331 +f 1499/2558/8332 1497/2557/8333 1494/2553/8334 +f 1499/2558/8335 1501/1428/8336 1500/1427/8337 +f 1500/1427/8338 1497/2557/8339 1499/2558/8340 +f 1499/2558/8341 1495/2554/8342 1453/2537/8343 +f 1453/2537/8344 1502/2559/8345 1499/2558/8346 +f 1499/2558/8347 1502/2559/8348 392/1430/8349 +f 392/1430/8350 1501/1428/8351 1499/2558/8352 +f 392/1430/8353 1502/2559/8354 1450/1690/8355 +f 1450/1690/8356 1503/1525/8357 392/1430/8358 +f 1503/1525/8359 1450/1690/8360 1448/1587/8361 +f 1448/1587/8362 599/1526/8363 1503/1525/8364 +f 599/1526/8365 1448/1587/8366 1444/1583/8367 +f 1444/1583/8368 1504/1528/8369 599/1526/8370 +f 1504/1528/8371 1444/1583/8372 1445/1585/8373 +f 1445/1585/8374 600/1529/8375 1504/1528/8376 +f 600/1529/8377 1445/1585/8378 1447/1586/8379 +f 1447/1586/8380 601/1530/8381 600/1529/8382 +f 1502/2559/8383 1453/2537/8384 1451/1691/8385 +f 1451/1691/8386 1450/1690/8387 1502/2559/8388 +f 1500/1427/8389 393/1531/8390 1496/2555/8391 +f 1496/2555/8392 1497/2557/8393 1500/1427/8394 +f 393/1531/8395 602/1533/8396 1294/2560/8397 +f 1294/2560/8398 1496/2555/8399 393/1531/8400 +f 1498/2556/8401 1496/2555/8402 1294/2560/8403 +f 1294/2560/8404 1295/2561/8405 1498/2556/8406 +f 1498/2556/8407 1295/2561/8408 1505/2562/8409 +f 1505/2562/8410 1490/2548/8411 1498/2556/8412 +f 1505/1426/8413 1295/686/8414 1292/479/8415 +f 1292/479/8416 1506/1425/8417 1505/1426/8418 +f 1505/1426/8419 1506/1425/8420 1507/1589/8421 +f 1507/1589/8422 1508/1590/8423 1505/1426/8424 +f 1505/2562/8425 1508/2563/8426 1492/2549/8427 +f 1492/2549/8428 1490/2548/8429 1505/2562/8430 +f 1509/1591/8431 1508/1590/8432 1507/1589/8433 +f 1507/1589/8434 1322/1381/8435 1509/1591/8436 +f 1508/2563/8437 1509/2564/8438 1315/2551/8439 +f 1315/2551/8440 1492/2549/8441 1508/2563/8442 +f 1509/2529/8443 1510/2530/8444 1314/1555/8445 +f 1314/1555/8446 1315/1558/8447 1509/2529/8448 +f 1510/1593/8449 1319/1380/8450 1320/1404/8451 +f 1320/1404/8452 1511/1592/8453 1510/1593/8454 +f 1510/2530/8455 1511/2531/8456 1318/1559/8457 +f 1318/1559/8458 1314/1555/8459 1510/2530/8460 +f 1511/1592/8461 1320/1404/8462 1512/1594/8463 +f 1512/1594/8464 1513/1595/8465 1511/1592/8466 +f 1511/2531/8467 1513/2533/8468 1514/2532/8469 +f 1514/2532/8470 1318/1559/8471 1511/2531/8472 +f 1514/2532/8473 1313/1554/8474 1312/1553/8475 +f 1312/1553/8476 1318/1559/8477 1514/2532/8478 +f 1514/2532/8479 1513/2533/8480 1515/1411/8481 +f 1515/1411/8482 613/1412/8483 1514/2532/8484 +f 1514/2532/8485 613/1412/8486 394/1414/8487 +f 394/1414/8488 1313/1554/8489 1514/2532/8490 +f 1515/1597/8491 1513/1595/8492 1512/1594/8493 +f 1512/1594/8494 395/1596/8495 1515/1597/8496 +f 395/1596/8497 1512/1594/8498 1516/1599/8499 +f 1516/1599/8500 1517/1600/8501 395/1596/8502 +f 1517/1600/8503 1516/1599/8504 1518/1601/8505 +f 1518/1601/8506 1519/1602/8507 1517/1600/8508 +f 1519/1602/8509 1518/1601/8510 1520/1603/8511 +f 1520/1603/8512 1521/1604/8513 1519/1602/8514 +f 1521/1604/8515 1520/1603/8516 1340/2611/8517 +f 1340/2611/8518 1341/2612/8519 1521/1604/8520 +f 1520/1603/8521 1518/1601/8522 1522/1605/8523 +f 1522/1605/8524 1523/1606/8525 1520/1603/8526 +f 1520/1603/8527 1523/1606/8528 1524/1607/8529 +f 1524/1607/8530 1340/2611/8531 1520/1603/8532 +f 1526/1608/8533 1525/1609/8534 1524/1607/8535 +f 1524/1607/8536 1523/1606/8537 1526/1608/8538 +f 1296/1378/8539 1524/2613/8540 1525/2614/8541 +f 1525/2614/8542 1527/1610/8543 1296/1378/8544 +f 1524/2613/8545 1296/1378/8546 1297/1379/8547 +f 1297/1379/8548 1340/1407/8549 1524/2613/8550 +f 1530/1613/8551 1529/2616/8552 1528/1611/8553 +f 1528/1611/8554 1531/1612/8555 1530/1613/8556 +f 1530/1613/8557 1531/1612/8558 1532/1615/8559 +f 1532/1615/8560 1533/1616/8561 1530/1613/8562 +f 1527/1610/8563 1530/1613/8564 1533/1616/8565 +f 1533/1616/8566 1534/1617/8567 1527/1610/8568 +f 1533/1616/8569 1532/1615/8570 1535/1618/8571 +f 1535/1618/8572 1536/1619/8573 1533/1616/8574 +f 1534/1617/8575 1533/1616/8576 1536/1619/8577 +f 1536/1619/8578 1537/1620/8579 1534/1617/8580 +f 1536/1619/8581 1535/1618/8582 1538/1621/8583 +f 1538/1621/8584 1539/1622/8585 1536/1619/8586 +f 1537/1620/8587 1536/1619/8588 1539/1622/8589 +f 1539/1622/8590 1540/1623/8591 1537/1620/8592 +f 1539/1622/8593 1538/1621/8594 1541/1624/8595 +f 1541/1624/8596 1542/1625/8597 1539/1622/8598 +f 1540/1623/8599 1539/1622/8600 1542/1625/8601 +f 1542/1625/8602 1543/1626/8603 1540/1623/8604 +f 1542/1625/8605 1541/1624/8606 1544/1627/8607 +f 1544/1627/8608 1545/1628/8609 1542/1625/8610 +f 1543/1626/8611 1542/1625/8612 1545/1628/8613 +f 1545/1628/8614 1324/1405/8615 1543/1626/8616 +f 1546/1630/8617 1544/1627/8618 1541/1624/8619 +f 1541/1624/8620 1547/1629/8621 1546/1630/8622 +f 1548/1632/8623 1544/1627/8624 1546/1630/8625 +f 1546/1630/8626 1549/1631/8627 1548/1632/8628 +f 1544/1627/8629 1548/1632/8630 1550/1633/8631 +f 1550/1633/8632 1545/1628/8633 1544/1627/8634 +f 1551/1635/8635 1548/1632/8636 1549/1631/8637 +f 1549/1631/8638 1552/1634/8639 1551/1635/8640 +f 1548/1632/8641 1551/1635/8642 1553/1636/8643 +f 1553/1636/8644 1550/1633/8645 1548/1632/8646 +f 1553/1636/8647 1551/1635/8648 1554/1637/8649 +f 1554/1637/8650 1555/1638/8651 1553/1636/8652 +f 1526/1608/8653 1556/1639/8654 1553/1636/8655 +f 1553/1636/8656 1555/1638/8657 1526/1608/8658 +f 1550/1633/8659 1553/1636/8660 1556/1639/8661 +f 1556/1639/8662 1323/1406/8663 1550/1633/8664 +f 1552/1634/8665 1557/1640/8666 1554/1637/8667 +f 1554/1637/8668 1551/1635/8669 1552/1634/8670 +f 1558/1641/8671 1528/2615/8672 1554/1637/8673 +f 1554/1637/8674 1557/1640/8675 1558/1641/8676 +f 1554/1637/8677 1528/2615/8678 1529/1614/8679 +f 1529/1614/8680 1555/1638/8681 1554/1637/8682 +f 1561/1644/8683 1560/1645/8684 1559/2618/8685 +f 1559/2618/8686 1562/1643/8687 1561/1644/8688 +f 1563/1647/8689 1559/1642/8690 1560/2619/8691 +f 1560/2619/8692 1564/1646/8693 1563/1647/8694 +f 1558/2617/8695 1559/1642/8696 1563/1647/8697 +f 1563/1647/8698 1565/1648/8699 1558/2617/8700 +f 1566/1650/8701 1563/1647/8702 1564/1646/8703 +f 1564/1646/8704 1567/1649/8705 1566/1650/8706 +f 1565/1648/8707 1563/1647/8708 1566/1650/8709 +f 1566/1650/8710 1568/1651/8711 1565/1648/8712 +f 1569/1653/8713 1566/1650/8714 1567/1649/8715 +f 1567/1649/8716 1570/1652/8717 1569/1653/8718 +f 1568/1651/8719 1566/1650/8720 1569/1653/8721 +f 1569/1653/8722 1571/1654/8723 1568/1651/8724 +f 1573/1655/8725 1572/1656/8726 1569/1653/8727 +f 1569/1653/8728 1570/1652/8729 1573/1655/8730 +f 1571/1654/8731 1569/1653/8732 1572/1656/8733 +f 1572/1656/8734 1574/1657/8735 1571/1654/8736 +f 1576/1658/8737 1575/1659/8738 1572/1656/8739 +f 1572/1656/8740 1573/1655/8741 1576/1658/8742 +f 1547/1629/8743 1574/1657/8744 1572/1656/8745 +f 1572/1656/8746 1575/1659/8747 1547/1629/8748 +f 1579/1662/8749 1578/1663/8750 1577/1660/8751 +f 1577/1660/8752 1580/1661/8753 1579/1662/8754 +f 1579/1662/8755 1580/1661/8756 1581/1664/8757 +f 1581/1664/8758 1582/1665/8759 1579/1662/8760 +f 1576/1658/8761 1579/1662/8762 1582/1665/8763 +f 1582/1665/8764 1583/1666/8765 1576/1658/8766 +f 1582/1665/8767 1581/1664/8768 1584/1667/8769 +f 1584/1667/8770 1585/1668/8771 1582/1665/8772 +f 1583/1666/8773 1582/1665/8774 1585/1668/8775 +f 1585/1668/8776 1586/1669/8777 1583/1666/8778 +f 1585/1668/8779 1584/1667/8780 1587/1670/8781 +f 1587/1670/8782 1588/1671/8783 1585/1668/8784 +f 1586/1669/8785 1585/1668/8786 1588/1671/8787 +f 1588/1671/8788 1589/1672/8789 1586/1669/8790 +f 1588/1671/8791 1587/1670/8792 1590/1673/8793 +f 1590/1673/8794 1591/1674/8795 1588/1671/8796 +f 1561/1644/8797 1589/1672/8798 1588/1671/8799 +f 1588/1671/8800 1591/1674/8801 1561/1644/8802 +f 1590/1673/8803 1592/1676/8804 1593/1675/8805 +f 1593/1675/8806 1591/1674/8807 1590/1673/8808 +f 1592/2621/8809 1594/1678/8810 1595/1677/8811 +f 1595/1677/8812 1593/2620/8813 1592/2621/8814 +f 1594/1678/8815 1596/1680/8816 1597/1679/8817 +f 1597/1679/8818 1595/1677/8819 1594/1678/8820 +f 1596/1680/8821 1598/1682/8822 1599/1681/8823 +f 1599/1681/8824 1597/1679/8825 1596/1680/8826 +f 1598/1682/8827 1577/1660/8828 1578/1663/8829 +f 1578/1663/8830 1599/1681/8831 1598/1682/8832 +f 1522/1605/8833 1518/1601/8834 1516/1599/8835 +f 1516/1599/8836 1321/1403/8837 1522/1605/8838 +f 1516/1599/8839 1512/1594/8840 1320/1404/8841 +f 1320/1404/8842 1321/1403/8843 1516/1599/8844 +f 1442/1581/8845 1349/1576/8846 1343/1572/8847 +f 1343/1572/8848 1447/1586/8849 1442/1581/8850 +f 1404/1487/8851 1357/1440/8852 1355/1438/8853 +f 1355/1438/8854 1354/1437/8855 1404/1487/8856 +f 1381/1464/8857 1281/1365/8858 1282/1368/8859 +f 1282/1368/8860 1600/1684/8861 1381/1464/8862 +f 1366/1449/8863 1601/1685/8864 1291/1375/8865 +f 1291/1375/8866 1337/1421/8867 1366/1449/8868 +f 1328/1561/8869 1603/2535/8870 1602/2534/8871 +f 1602/2534/8872 1327/1562/8873 1328/1561/8874 +f 1302/2587/8875 1303/1386/8876 1285/1369/8877 +f 1285/1369/8878 1284/1366/8879 1302/2587/8880 +f 1342/1408/8881 1297/1379/8882 1294/1376/8883 +f 1294/1376/8884 602/1683/8885 1342/1408/8886 +f 1602/2534/8887 1603/2535/8888 1348/1686/8889 +f 1348/1686/8890 1347/1598/8891 1602/2534/8892 +f 1602/2534/8893 1347/1598/8894 1330/1566/8895 +f 1330/1566/8896 1327/1562/8897 1602/2534/8898 +f 1291/1375/8899 1601/1685/8900 1600/1684/8901 +f 1600/1684/8902 1282/1368/8903 1291/1375/8904 +f 1289/1373/8905 1288/1372/8906 1279/1362/8907 +f 1279/1362/8908 1280/1364/8909 1289/1373/8910 +f 1269/478/8911 1270/1432/8912 1313/1554/8913 +f 1313/1554/8914 394/1414/8915 1269/478/8916 +f 1436/1519/8917 1435/1518/8918 1385/1468/8919 +f 1385/1468/8920 1384/1467/8921 1436/1519/8922 +f 1436/1519/8923 1384/1467/8924 1389/1472/8925 +f 1389/1472/8926 1393/1476/8927 1436/1519/8928 +f 1308/1546/8929 1313/1554/8930 1270/1432/8931 +f 1270/1432/8932 1273/1544/8933 1308/1546/8934 +f 1600/1684/8935 1601/1685/8936 1604/1688/8937 +f 1604/1688/8938 1605/1689/8939 1600/1684/8940 +f 1366/1449/8941 1369/1452/8942 1604/1688/8943 +f 1604/1688/8944 1601/1685/8945 1366/1449/8946 +f 1605/1689/8947 1604/1688/8948 1369/1452/8949 +f 1369/1452/8950 1377/1460/8951 1605/1689/8952 +f 1381/1464/8953 1600/1684/8954 1605/1689/8955 +f 1605/1689/8956 1377/1460/8957 1381/1464/8958 +f 601/1530/8959 1447/1586/8960 1606/2565/8961 +f 1606/2565/8962 1607/1540/8963 601/1530/8964 +f 1447/1586/8965 1343/1572/8966 1344/1575/8967 +f 1344/1575/8968 1606/2565/8969 1447/1586/8970 +f 1610/1694/8971 1609/1695/8972 1608/1692/8973 +f 1608/1692/8974 1611/1693/8975 1610/1694/8976 +f 1614/1698/8977 1613/1699/8978 1612/1696/8979 +f 1612/1696/8980 1615/1697/8981 1614/1698/8982 +f 1618/1702/8983 1617/1703/8984 1616/1700/8985 +f 1616/1700/8986 1619/1701/8987 1618/1702/8988 +f 1622/1706/8989 1621/1707/8990 1620/1704/8991 +f 1620/1704/8992 1623/1705/8993 1622/1706/8994 +f 1618/1702/8995 1625/1710/8996 1624/1708/8997 +f 1624/1708/8998 1626/1709/8999 1618/1702/9000 +f 1629/1713/9001 1628/1714/9002 1627/1711/9003 +f 1627/1711/9004 1630/1712/9005 1629/1713/9006 +f 1633/1717/9007 1632/1718/9008 1631/1715/9009 +f 1631/1715/9010 1634/1716/9011 1633/1717/9012 +f 1637/1721/9013 1636/1722/9014 1635/1719/9015 +f 1635/1719/9016 1638/1720/9017 1637/1721/9018 +f 1641/1725/9019 1640/1726/9020 1639/1723/9021 +f 1639/1723/9022 1642/1724/9023 1641/1725/9024 +f 1643/1727/9025 1616/1700/9026 1622/1706/9027 +f 1622/1706/9028 1635/1719/9029 1643/1727/9030 +f 1646/1729/9031 1645/1730/9032 1644/1728/9033 +f 1644/1728/9034 1639/1723/9035 1646/1729/9036 +f 1649/1733/9037 1648/1734/9038 1647/1731/9039 +f 1647/1731/9040 1650/1732/9041 1649/1733/9042 +f 1653/1737/9043 1652/1738/9044 1651/1735/9045 +f 1651/1735/9046 1654/1736/9047 1653/1737/9048 +f 1656/1739/9049 1655/1740/9050 1639/1723/9051 +f 1639/1723/9052 1640/1726/9053 1656/1739/9054 +f 1656/1739/9055 1638/1720/9056 1635/1719/9057 +f 1635/1719/9058 1655/1740/9059 1656/1739/9060 +f 1658/1747/9061 1657/1748/9062 1636/1741/9063 +f 1636/1741/9064 1637/1742/9065 1658/1747/9066 +f 1658/1747/9067 1641/1750/9068 1642/2383/9069 +f 1642/2383/9070 1657/1748/9071 1658/1747/9072 +f 1661/1745/9073 1660/1746/9074 1659/1743/9075 +f 1659/1743/9076 1662/1744/9077 1661/1745/9078 +f 1665/1756/9079 1664/1757/9080 1663/1753/9081 +f 1663/1753/9082 1666/1754/9083 1665/1756/9084 +f 1644/1728/9085 1645/1730/9086 1667/1751/9087 +f 1667/1751/9088 1668/1752/9089 1644/1728/9090 +f 1669/1775/9091 1652/1738/9092 1653/1737/9093 +f 1653/1737/9094 1670/1774/9095 1669/1775/9096 +f 1619/1701/9097 1616/1700/9098 1643/1727/9099 +f 1643/1727/9100 1671/1755/9101 1619/1701/9102 +f 1672/1787/9103 1664/1757/9104 1665/1756/9105 +f 1665/1756/9106 1673/1786/9107 1672/1787/9108 +f 1676/1760/9109 1675/1761/9110 1674/1758/9111 +f 1674/1758/9112 1677/1759/9113 1676/1760/9114 +f 1678/1763/9115 1676/1760/9116 1677/1759/9117 +f 1677/1759/9118 1679/1762/9119 1678/1763/9120 +f 1682/1766/9121 1681/1767/9122 1680/1764/9123 +f 1680/1764/9124 1683/1765/9125 1682/1766/9126 +f 1686/1770/9127 1685/1771/9128 1684/1768/9129 +f 1684/1768/9130 1687/1769/9131 1686/1770/9132 +f 1684/1768/9133 1689/1773/9134 1688/1772/9135 +f 1688/1772/9136 1687/1769/9137 1684/1768/9138 +f 1688/1772/9139 1689/1773/9140 1682/1766/9141 +f 1682/1766/9142 1683/1765/9143 1688/1772/9144 +f 1680/1800/9145 1681/1801/9146 1690/1798/9147 +f 1690/1798/9148 1691/1799/9149 1680/1800/9150 +f 1690/1798/9151 1685/1803/9152 1686/1802/9153 +f 1686/1802/9154 1691/1799/9155 1690/1798/9156 +f 1694/1778/9157 1693/1779/9158 1692/1776/9159 +f 1692/1776/9160 1695/1777/9161 1694/1778/9162 +f 1698/1782/9163 1697/1783/9164 1696/1780/9165 +f 1696/1780/9166 1699/1781/9167 1698/1782/9168 +f 1696/1780/9169 1701/1785/9170 1700/1784/9171 +f 1700/1784/9172 1699/1781/9173 1696/1780/9174 +f 1700/1784/9175 1701/1785/9176 1694/1778/9177 +f 1694/1778/9178 1695/1777/9179 1700/1784/9180 +f 1693/1806/9181 1703/1812/9182 1702/1804/9183 +f 1702/1804/9184 1692/1805/9185 1693/1806/9186 +f 1702/1804/9187 1703/1812/9188 1697/1813/9189 +f 1697/1813/9190 1698/1814/9191 1702/1804/9192 +f 1706/1790/9193 1705/1791/9194 1704/1788/9195 +f 1704/1788/9196 1707/1789/9197 1706/1790/9198 +f 1710/1794/9199 1709/1795/9200 1708/1792/9201 +f 1708/1792/9202 1711/1793/9203 1710/1794/9204 +f 1712/1797/9205 1710/1794/9206 1711/1793/9207 +f 1711/1793/9208 1713/1796/9209 1712/1797/9210 +f 1705/1791/9211 1712/1797/9212 1713/1796/9213 +f 1713/1796/9214 1704/1788/9215 1705/1791/9216 +f 1716/1817/9217 1715/1818/9218 1714/1815/9219 +f 1714/1815/9220 1717/1816/9221 1716/1817/9222 +f 1718/1820/9223 1716/1817/9224 1717/1816/9225 +f 1717/1816/9226 1719/1819/9227 1718/1820/9228 +f 1707/1789/9229 1704/1788/9230 1683/1765/9231 +f 1683/1765/9232 1680/1764/9233 1707/1789/9234 +f 1711/1793/9235 1708/1792/9236 1686/1770/9237 +f 1686/1770/9238 1687/1769/9239 1711/1793/9240 +f 1713/1796/9241 1711/1793/9242 1687/1769/9243 +f 1687/1769/9244 1688/1772/9245 1713/1796/9246 +f 1704/1788/9247 1713/1796/9248 1688/1772/9249 +f 1688/1772/9250 1683/1765/9251 1704/1788/9252 +f 1717/1816/9253 1714/1815/9254 1720/1821/9255 +f 1720/1821/9256 1721/1822/9257 1717/1816/9258 +f 1719/1819/9259 1717/1816/9260 1721/1822/9261 +f 1721/1822/9262 1722/1823/9263 1719/1819/9264 +f 1681/1767/9265 1682/1766/9266 1723/1807/9267 +f 1723/1807/9268 1724/1808/9269 1681/1767/9270 +f 1684/1768/9271 1685/1771/9272 1725/1809/9273 +f 1725/1809/9274 1726/1810/9275 1684/1768/9276 +f 1689/1773/9277 1684/1768/9278 1726/1810/9279 +f 1726/1810/9280 1727/1811/9281 1689/1773/9282 +f 1682/1766/9283 1689/1773/9284 1727/1811/9285 +f 1727/1811/9286 1723/1807/9287 1682/1766/9288 +f 1730/1826/9289 1729/1827/9290 1728/1824/9291 +f 1728/1824/9292 1731/1825/9293 1730/1826/9294 +f 1732/1829/9295 1730/1826/9296 1731/1825/9297 +f 1731/1825/9298 1733/1828/9299 1732/1829/9300 +f 1724/1808/9301 1723/1807/9302 1695/1777/9303 +f 1695/1777/9304 1692/1776/9305 1724/1808/9306 +f 1726/1810/9307 1725/1809/9308 1698/1782/9309 +f 1698/1782/9310 1699/1781/9311 1726/1810/9312 +f 1727/1811/9313 1726/1810/9314 1699/1781/9315 +f 1699/1781/9316 1700/1784/9317 1727/1811/9318 +f 1723/1807/9319 1727/1811/9320 1700/1784/9321 +f 1700/1784/9322 1695/1777/9323 1723/1807/9324 +f 1731/1825/9325 1728/1824/9326 1734/1830/9327 +f 1734/1830/9328 1735/1831/9329 1731/1825/9330 +f 1733/1828/9331 1731/1825/9332 1735/1831/9333 +f 1735/1831/9334 1736/1832/9335 1733/1828/9336 +f 1716/1817/9337 1737/1834/9338 1706/1833/9339 +f 1706/1833/9340 1715/1818/9341 1716/1817/9342 +f 1718/1820/9343 1709/1835/9344 1737/1834/9345 +f 1737/1834/9346 1716/1817/9347 1718/1820/9348 +f 1719/1819/9349 1708/1836/9350 1709/1835/9351 +f 1709/1835/9352 1718/1820/9353 1719/1819/9354 +f 1722/1823/9355 1686/1802/9356 1708/1836/9357 +f 1708/1836/9358 1719/1819/9359 1722/1823/9360 +f 1721/1822/9361 1691/1799/9362 1686/1802/9363 +f 1686/1802/9364 1722/1823/9365 1721/1822/9366 +f 1720/1821/9367 1680/1800/9368 1691/1799/9369 +f 1691/1799/9370 1721/1822/9371 1720/1821/9372 +f 1714/1815/9373 1707/1837/9374 1680/1800/9375 +f 1680/1800/9376 1720/1821/9377 1714/1815/9378 +f 1715/1818/9379 1706/1833/9380 1707/1837/9381 +f 1707/1837/9382 1714/1815/9383 1715/1818/9384 +f 1730/1826/9385 1690/1798/9386 1681/1801/9387 +f 1681/1801/9388 1729/1827/9389 1730/1826/9390 +f 1732/1829/9391 1685/1803/9392 1690/1798/9393 +f 1690/1798/9394 1730/1826/9395 1732/1829/9396 +f 1733/1828/9397 1725/1838/9398 1685/1803/9399 +f 1685/1803/9400 1732/1829/9401 1733/1828/9402 +f 1736/1832/9403 1698/1814/9404 1725/1838/9405 +f 1725/1838/9406 1733/1828/9407 1736/1832/9408 +f 1735/1831/9409 1702/1804/9410 1698/1814/9411 +f 1698/1814/9412 1736/1832/9413 1735/1831/9414 +f 1734/1830/9415 1692/1805/9416 1702/1804/9417 +f 1702/1804/9418 1735/1831/9419 1734/1830/9420 +f 1728/1824/9421 1724/1839/9422 1692/1805/9423 +f 1692/1805/9424 1734/1830/9425 1728/1824/9426 +f 1729/1827/9427 1681/1801/9428 1724/1839/9429 +f 1724/1839/9430 1728/1824/9431 1729/1827/9432 +f 1678/1763/9433 1679/1762/9434 1693/1779/9435 +f 1693/1779/9436 1694/1778/9437 1678/1763/9438 +f 1697/1783/9439 1674/1758/9440 1675/1761/9441 +f 1675/1761/9442 1696/1780/9443 1697/1783/9444 +f 1675/1761/9445 1676/1760/9446 1701/1785/9447 +f 1701/1785/9448 1696/1780/9449 1675/1761/9450 +f 1701/1785/9451 1676/1760/9452 1678/1763/9453 +f 1678/1763/9454 1694/1778/9455 1701/1785/9456 +f 1740/1852/9457 1739/1853/9458 1738/1840/9459 +f 1738/1840/9460 1741/1841/9461 1740/1852/9462 +f 1741/1841/9463 1738/1840/9464 1742/1870/9465 +f 1742/1870/9466 1743/1871/9467 1741/1841/9468 +f 1744/1894/9469 1679/1895/9470 1677/1882/9471 +f 1677/1882/9472 1745/1883/9473 1744/1894/9474 +f 1746/1896/9475 1693/1806/9476 1679/1895/9477 +f 1679/1895/9478 1744/1894/9479 1746/1896/9480 +f 1747/1897/9481 1703/1812/9482 1693/1806/9483 +f 1693/1806/9484 1746/1896/9485 1747/1897/9486 +f 1748/1898/9487 1697/1813/9488 1703/1812/9489 +f 1703/1812/9490 1747/1897/9491 1748/1898/9492 +f 1749/1899/9493 1674/1900/9494 1697/1813/9495 +f 1697/1813/9496 1748/1898/9497 1749/1899/9498 +f 1745/1883/9499 1677/1882/9500 1674/1900/9501 +f 1674/1900/9502 1749/1899/9503 1745/1883/9504 +f 1739/1853/9505 1744/1894/9506 1745/1883/9507 +f 1745/1883/9508 1738/1840/9509 1739/1853/9510 +f 1740/1852/9511 1746/1896/9512 1744/1894/9513 +f 1744/1894/9514 1739/1853/9515 1740/1852/9516 +f 1741/1841/9517 1747/1897/9518 1746/1896/9519 +f 1746/1896/9520 1740/1852/9521 1741/1841/9522 +f 1743/1871/9523 1748/1898/9524 1747/1897/9525 +f 1747/1897/9526 1741/1841/9527 1743/1871/9528 +f 1742/1870/9529 1749/1899/9530 1748/1898/9531 +f 1748/1898/9532 1743/1871/9533 1742/1870/9534 +f 1738/1840/9535 1745/1883/9536 1749/1899/9537 +f 1749/1899/9538 1742/1870/9539 1738/1840/9540 +f 1752/1908/9541 1751/1909/9542 1750/1901/9543 +f 1750/1901/9544 1753/1902/9545 1752/1908/9546 +f 1754/1911/9547 1648/1734/9548 1649/1733/9549 +f 1649/1733/9550 1755/1910/9551 1754/1911/9552 +f 1756/1913/9553 1751/1909/9554 1752/1908/9555 +f 1752/1908/9556 1757/1912/9557 1756/1913/9558 +f 1622/1706/9559 1623/1705/9560 1655/1740/9561 +f 1655/1740/9562 1635/1719/9563 1622/1706/9564 +f 1655/1740/9565 1623/1705/9566 1646/1729/9567 +f 1646/1729/9568 1639/1723/9569 1655/1740/9570 +f 1659/1743/9571 1660/1746/9572 1619/1701/9573 +f 1619/1701/9574 1671/1755/9575 1659/1743/9576 +f 1661/1745/9577 1662/1744/9578 1758/1842/9579 +f 1758/1842/9580 1759/1843/9581 1661/1745/9582 +f 1761/1844/9583 1760/1845/9584 1668/1752/9585 +f 1668/1752/9586 1667/1751/9587 1761/1844/9588 +f 1638/1720/9589 1705/1791/9590 1706/1790/9591 +f 1706/1790/9592 1637/1721/9593 1638/1720/9594 +f 1709/1795/9595 1710/1794/9596 1640/1726/9597 +f 1640/1726/9598 1641/1725/9599 1709/1795/9600 +f 1640/1726/9601 1710/1794/9602 1712/1797/9603 +f 1712/1797/9604 1656/1739/9605 1640/1726/9606 +f 1712/1797/9607 1705/1791/9608 1638/1720/9609 +f 1638/1720/9610 1656/1739/9611 1712/1797/9612 +f 1637/1742/9613 1706/1833/9614 1737/1834/9615 +f 1737/1834/9616 1658/1747/9617 1637/1742/9618 +f 1737/1834/9619 1709/1835/9620 1641/1750/9621 +f 1641/1750/9622 1658/1747/9623 1737/1834/9624 +f 1763/1847/9625 1762/1848/9626 1671/1755/9627 +f 1671/1755/9628 1764/1846/9629 1763/1847/9630 +f 1766/1849/9631 1765/1850/9632 1635/1719/9633 +f 1635/1719/9634 1636/1722/9635 1766/1849/9636 +f 1767/1851/9637 1643/1727/9638 1635/1719/9639 +f 1635/1719/9640 1765/1850/9641 1767/1851/9642 +f 1767/1851/9643 1764/1846/9644 1671/1755/9645 +f 1671/1755/9646 1643/1727/9647 1767/1851/9648 +f 1768/1915/9649 1766/1916/9650 1636/1741/9651 +f 1636/1741/9652 1769/1914/9653 1768/1915/9654 +f 1772/1856/9655 1771/1857/9656 1770/1854/9657 +f 1770/1854/9658 1773/1855/9659 1772/1856/9660 +f 1774/1859/9661 1772/1856/9662 1773/1855/9663 +f 1773/1855/9664 1775/1858/9665 1774/1859/9666 +f 1778/1862/9667 1777/1863/9668 1776/1860/9669 +f 1776/1860/9670 1779/1861/9671 1778/1862/9672 +f 1782/1866/9673 1781/1867/9674 1780/1864/9675 +f 1780/1864/9676 1783/1865/9677 1782/1866/9678 +f 1780/1864/9679 1785/1869/9680 1784/1868/9681 +f 1784/1868/9682 1783/1865/9683 1780/1864/9684 +f 1784/1868/9685 1785/1869/9686 1778/1862/9687 +f 1778/1862/9688 1779/1861/9689 1784/1868/9690 +f 1776/1919/9691 1777/1920/9692 1786/1917/9693 +f 1786/1917/9694 1787/1918/9695 1776/1919/9696 +f 1786/1917/9697 1781/1922/9698 1782/1921/9699 +f 1782/1921/9700 1787/1918/9701 1786/1917/9702 +f 1790/1874/9703 1789/1875/9704 1788/1872/9705 +f 1788/1872/9706 1791/1873/9707 1790/1874/9708 +f 1794/1878/9709 1793/1879/9710 1792/1876/9711 +f 1792/1876/9712 1795/1877/9713 1794/1878/9714 +f 1792/1876/9715 1797/1881/9716 1796/1880/9717 +f 1796/1880/9718 1795/1877/9719 1792/1876/9720 +f 1796/1880/9721 1797/1881/9722 1790/1874/9723 +f 1790/1874/9724 1791/1873/9725 1796/1880/9726 +f 1789/1925/9727 1799/1926/9728 1798/1923/9729 +f 1798/1923/9730 1788/1924/9731 1789/1925/9732 +f 1798/1923/9733 1799/1926/9734 1793/1927/9735 +f 1793/1927/9736 1794/1928/9737 1798/1923/9738 +f 1802/1886/9739 1801/1887/9740 1800/1884/9741 +f 1800/1884/9742 1803/1885/9743 1802/1886/9744 +f 1806/1890/9745 1805/1891/9746 1804/1888/9747 +f 1804/1888/9748 1807/1889/9749 1806/1890/9750 +f 1808/1893/9751 1806/1890/9752 1807/1889/9753 +f 1807/1889/9754 1809/1892/9755 1808/1893/9756 +f 1801/1887/9757 1808/1893/9758 1809/1892/9759 +f 1809/1892/9760 1800/1884/9761 1801/1887/9762 +f 1812/1936/9763 1811/1953/9764 1810/1929/9765 +f 1810/1929/9766 1813/1935/9767 1812/1936/9768 +f 1814/1965/9769 1812/1936/9770 1813/1935/9771 +f 1813/1935/9772 1815/1954/9773 1814/1965/9774 +f 1803/1885/9775 1800/1884/9776 1779/1861/9777 +f 1779/1861/9778 1776/1860/9779 1803/1885/9780 +f 1807/1889/9781 1804/1888/9782 1782/1866/9783 +f 1782/1866/9784 1783/1865/9785 1807/1889/9786 +f 1809/1892/9787 1807/1889/9788 1783/1865/9789 +f 1783/1865/9790 1784/1868/9791 1809/1892/9792 +f 1800/1884/9793 1809/1892/9794 1784/1868/9795 +f 1784/1868/9796 1779/1861/9797 1800/1884/9798 +f 1813/1935/9799 1810/1929/9800 1816/1966/9801 +f 1816/1966/9802 1817/1977/9803 1813/1935/9804 +f 1815/1954/9805 1813/1935/9806 1817/1977/9807 +f 1817/1977/9808 1818/1978/9809 1815/1954/9810 +f 1777/1863/9811 1778/1862/9812 1819/1903/9813 +f 1819/1903/9814 1820/1904/9815 1777/1863/9816 +f 1780/1864/9817 1781/1867/9818 1821/1905/9819 +f 1821/1905/9820 1822/1906/9821 1780/1864/9822 +f 1785/1869/9823 1780/1864/9824 1822/1906/9825 +f 1822/1906/9826 1823/1907/9827 1785/1869/9828 +f 1778/1862/9829 1785/1869/9830 1823/1907/9831 +f 1823/1907/9832 1819/1903/9833 1778/1862/9834 +f 1826/1981/9835 1825/1982/9836 1824/1979/9837 +f 1824/1979/9838 1827/1980/9839 1826/1981/9840 +f 1828/1984/9841 1826/1981/9842 1827/1980/9843 +f 1827/1980/9844 1829/1983/9845 1828/1984/9846 +f 1820/1904/9847 1819/1903/9848 1791/1873/9849 +f 1791/1873/9850 1788/1872/9851 1820/1904/9852 +f 1822/1906/9853 1821/1905/9854 1794/1878/9855 +f 1794/1878/9856 1795/1877/9857 1822/1906/9858 +f 1823/1907/9859 1822/1906/9860 1795/1877/9861 +f 1795/1877/9862 1796/1880/9863 1823/1907/9864 +f 1819/1903/9865 1823/1907/9866 1796/1880/9867 +f 1796/1880/9868 1791/1873/9869 1819/1903/9870 +f 1827/1980/9871 1824/1979/9872 1830/1985/9873 +f 1830/1985/9874 1831/1991/9875 1827/1980/9876 +f 1829/1983/9877 1827/1980/9878 1831/1991/9879 +f 1831/1991/9880 1832/1992/9881 1829/1983/9882 +f 1812/1936/9883 1833/1994/9884 1802/1993/9885 +f 1802/1993/9886 1811/1953/9887 1812/1936/9888 +f 1814/1965/9889 1805/1995/9890 1833/1994/9891 +f 1833/1994/9892 1812/1936/9893 1814/1965/9894 +f 1815/1954/9895 1804/1996/9896 1805/1995/9897 +f 1805/1995/9898 1814/1965/9899 1815/1954/9900 +f 1818/1978/9901 1782/1921/9902 1804/1996/9903 +f 1804/1996/9904 1815/1954/9905 1818/1978/9906 +f 1817/1977/9907 1787/1918/9908 1782/1921/9909 +f 1782/1921/9910 1818/1978/9911 1817/1977/9912 +f 1816/1966/9913 1776/1919/9914 1787/1918/9915 +f 1787/1918/9916 1817/1977/9917 1816/1966/9918 +f 1810/1929/9919 1803/1997/9920 1776/1919/9921 +f 1776/1919/9922 1816/1966/9923 1810/1929/9924 +f 1811/1953/9925 1802/1993/9926 1803/1997/9927 +f 1803/1997/9928 1810/1929/9929 1811/1953/9930 +f 1826/1981/9931 1786/1917/9932 1777/1920/9933 +f 1777/1920/9934 1825/1982/9935 1826/1981/9936 +f 1828/1984/9937 1781/1922/9938 1786/1917/9939 +f 1786/1917/9940 1826/1981/9941 1828/1984/9942 +f 1829/1983/9943 1821/1998/9944 1781/1922/9945 +f 1781/1922/9946 1828/1984/9947 1829/1983/9948 +f 1832/1992/9949 1794/1928/9950 1821/1998/9951 +f 1821/1998/9952 1829/1983/9953 1832/1992/9954 +f 1831/1991/9955 1798/1923/9956 1794/1928/9957 +f 1794/1928/9958 1832/1992/9959 1831/1991/9960 +f 1830/1985/9961 1788/1924/9962 1798/1923/9963 +f 1798/1923/9964 1831/1991/9965 1830/1985/9966 +f 1824/1979/9967 1820/1999/9968 1788/1924/9969 +f 1788/1924/9970 1830/1985/9971 1824/1979/9972 +f 1825/1982/9973 1777/1920/9974 1820/1999/9975 +f 1820/1999/9976 1824/1979/9977 1825/1982/9978 +f 1774/1859/9979 1775/1858/9980 1789/1875/9981 +f 1789/1875/9982 1790/1874/9983 1774/1859/9984 +f 1793/1879/9985 1770/1854/9986 1771/1857/9987 +f 1771/1857/9988 1792/1876/9989 1793/1879/9990 +f 1771/1857/9991 1772/1856/9992 1797/1881/9993 +f 1797/1881/9994 1792/1876/9995 1771/1857/9996 +f 1797/1881/9997 1772/1856/9998 1774/1859/9999 +f 1774/1859/10000 1790/1874/10001 1797/1881/10002 +f 1836/2002/10003 1835/2003/10004 1834/2000/10005 +f 1834/2000/10006 1837/2001/10007 1836/2002/10008 +f 1837/2001/10009 1834/2000/10010 1838/2004/10011 +f 1838/2004/10012 1839/2005/10013 1837/2001/10014 +f 1840/2008/10015 1775/2009/10016 1773/2006/10017 +f 1773/2006/10018 1841/2007/10019 1840/2008/10020 +f 1842/2010/10021 1789/1925/10022 1775/2009/10023 +f 1775/2009/10024 1840/2008/10025 1842/2010/10026 +f 1843/2011/10027 1799/1926/10028 1789/1925/10029 +f 1789/1925/10030 1842/2010/10031 1843/2011/10032 +f 1844/2012/10033 1793/1927/10034 1799/1926/10035 +f 1799/1926/10036 1843/2011/10037 1844/2012/10038 +f 1845/2018/10039 1770/2019/10040 1793/1927/10041 +f 1793/1927/10042 1844/2012/10043 1845/2018/10044 +f 1841/2007/10045 1773/2006/10046 1770/2019/10047 +f 1770/2019/10048 1845/2018/10049 1841/2007/10050 +f 1835/2003/10051 1840/2008/10052 1841/2007/10053 +f 1841/2007/10054 1834/2000/10055 1835/2003/10056 +f 1836/2002/10057 1842/2010/10058 1840/2008/10059 +f 1840/2008/10060 1835/2003/10061 1836/2002/10062 +f 1837/2001/10063 1843/2011/10064 1842/2010/10065 +f 1842/2010/10066 1836/2002/10067 1837/2001/10068 +f 1839/2005/10069 1844/2012/10070 1843/2011/10071 +f 1843/2011/10072 1837/2001/10073 1839/2005/10074 +f 1838/2004/10075 1845/2018/10076 1844/2012/10077 +f 1844/2012/10078 1839/2005/10079 1838/2004/10080 +f 1834/2000/10081 1841/2007/10082 1845/2018/10083 +f 1845/2018/10084 1838/2004/10085 1834/2000/10086 +f 1764/1846/10087 1801/1887/10088 1802/1886/10089 +f 1802/1886/10090 1763/1847/10091 1764/1846/10092 +f 1805/1891/10093 1806/1890/10094 1765/1850/10095 +f 1765/1850/10096 1766/1849/10097 1805/1891/10098 +f 1765/1850/10099 1806/1890/10100 1808/1893/10101 +f 1808/1893/10102 1767/1851/10103 1765/1850/10104 +f 1808/1893/10105 1801/1887/10106 1764/1846/10107 +f 1764/1846/10108 1767/1851/10109 1808/1893/10110 +f 1763/2036/10111 1802/1993/10112 1833/1994/10113 +f 1833/1994/10114 1768/1915/10115 1763/2036/10116 +f 1833/1994/10117 1805/1995/10118 1766/1916/10119 +f 1766/1916/10120 1768/1915/10121 1833/1994/10122 +f 1846/1931/10123 1758/1842/10124 1662/1744/10125 +f 1662/1744/10126 1847/1930/10127 1846/1931/10128 +f 1849/1932/10129 1848/1933/10130 1671/1755/10131 +f 1671/1755/10132 1762/1848/10133 1849/1932/10134 +f 1850/1934/10135 1659/1743/10136 1671/1755/10137 +f 1671/1755/10138 1848/1933/10139 1850/1934/10140 +f 1850/1934/10141 1847/1930/10142 1662/1744/10143 +f 1662/1744/10144 1659/1743/10145 1850/1934/10146 +f 1852/2049/10147 1851/2060/10148 1758/2037/10149 +f 1758/2037/10150 1846/2048/10151 1852/2049/10152 +f 1852/2049/10153 1849/2062/10154 1762/2061/10155 +f 1762/2061/10156 1851/2060/10157 1852/2049/10158 +f 1855/1939/10159 1854/1940/10160 1853/1937/10161 +f 1853/1937/10162 1856/1938/10163 1855/1939/10164 +f 1857/1942/10165 1855/1939/10166 1856/1938/10167 +f 1856/1938/10168 1858/1941/10169 1857/1942/10170 +f 1861/1945/10171 1860/1946/10172 1859/1943/10173 +f 1859/1943/10174 1862/1944/10175 1861/1945/10176 +f 1865/1949/10177 1864/1950/10178 1863/1947/10179 +f 1863/1947/10180 1866/1948/10181 1865/1949/10182 +f 1863/1947/10183 1868/1952/10184 1867/1951/10185 +f 1867/1951/10186 1866/1948/10187 1863/1947/10188 +f 1867/1951/10189 1868/1952/10190 1861/1945/10191 +f 1861/1945/10192 1862/1944/10193 1867/1951/10194 +f 1859/2065/10195 1860/2066/10196 1869/2063/10197 +f 1869/2063/10198 1870/2064/10199 1859/2065/10200 +f 1869/2063/10201 1864/2068/10202 1865/2067/10203 +f 1865/2067/10204 1870/2064/10205 1869/2063/10206 +f 1873/1957/10207 1872/1958/10208 1871/1955/10209 +f 1871/1955/10210 1874/1956/10211 1873/1957/10212 +f 1877/1961/10213 1876/1962/10214 1875/1959/10215 +f 1875/1959/10216 1878/1960/10217 1877/1961/10218 +f 1875/1959/10219 1880/1964/10220 1879/1963/10221 +f 1879/1963/10222 1878/1960/10223 1875/1959/10224 +f 1879/1963/10225 1880/1964/10226 1873/1957/10227 +f 1873/1957/10228 1874/1956/10229 1879/1963/10230 +f 1872/2076/10231 1882/2077/10232 1881/2074/10233 +f 1881/2074/10234 1871/2075/10235 1872/2076/10236 +f 1881/2074/10237 1882/2077/10238 1876/2078/10239 +f 1876/2078/10240 1877/2079/10241 1881/2074/10242 +f 1885/1969/10243 1884/1970/10244 1883/1967/10245 +f 1883/1967/10246 1886/1968/10247 1885/1969/10248 +f 1889/1973/10249 1888/1974/10250 1887/1971/10251 +f 1887/1971/10252 1890/1972/10253 1889/1973/10254 +f 1891/1976/10255 1889/1973/10256 1890/1972/10257 +f 1890/1972/10258 1892/1975/10259 1891/1976/10260 +f 1884/1970/10261 1891/1976/10262 1892/1975/10263 +f 1892/1975/10264 1883/1967/10265 1884/1970/10266 +f 1895/2082/10267 1894/2083/10268 1893/2080/10269 +f 1893/2080/10270 1896/2081/10271 1895/2082/10272 +f 1897/2085/10273 1895/2082/10274 1896/2081/10275 +f 1896/2081/10276 1898/2084/10277 1897/2085/10278 +f 1886/1968/10279 1883/1967/10280 1862/1944/10281 +f 1862/1944/10282 1859/1943/10283 1886/1968/10284 +f 1890/1972/10285 1887/1971/10286 1865/1949/10287 +f 1865/1949/10288 1866/1948/10289 1890/1972/10290 +f 1892/1975/10291 1890/1972/10292 1866/1948/10293 +f 1866/1948/10294 1867/1951/10295 1892/1975/10296 +f 1883/1967/10297 1892/1975/10298 1867/1951/10299 +f 1867/1951/10300 1862/1944/10301 1883/1967/10302 +f 1896/2081/10303 1893/2080/10304 1899/2086/10305 +f 1899/2086/10306 1900/2087/10307 1896/2081/10308 +f 1898/2084/10309 1896/2081/10310 1900/2087/10311 +f 1900/2087/10312 1901/2088/10313 1898/2084/10314 +f 1860/1946/10315 1861/1945/10316 1902/1986/10317 +f 1902/1986/10318 1903/1987/10319 1860/1946/10320 +f 1863/1947/10321 1864/1950/10322 1904/1988/10323 +f 1904/1988/10324 1905/1989/10325 1863/1947/10326 +f 1868/1952/10327 1863/1947/10328 1905/1989/10329 +f 1905/1989/10330 1906/1990/10331 1868/1952/10332 +f 1861/1945/10333 1868/1952/10334 1906/1990/10335 +f 1906/1990/10336 1902/1986/10337 1861/1945/10338 +f 1909/2091/10339 1908/2092/10340 1907/2089/10341 +f 1907/2089/10342 1910/2090/10343 1909/2091/10344 +f 1911/2094/10345 1909/2091/10346 1910/2090/10347 +f 1910/2090/10348 1912/2093/10349 1911/2094/10350 +f 1903/1987/10351 1902/1986/10352 1874/1956/10353 +f 1874/1956/10354 1871/1955/10355 1903/1987/10356 +f 1905/1989/10357 1904/1988/10358 1877/1961/10359 +f 1877/1961/10360 1878/1960/10361 1905/1989/10362 +f 1906/1990/10363 1905/1989/10364 1878/1960/10365 +f 1878/1960/10366 1879/1963/10367 1906/1990/10368 +f 1902/1986/10369 1906/1990/10370 1879/1963/10371 +f 1879/1963/10372 1874/1956/10373 1902/1986/10374 +f 1910/2090/10375 1907/2089/10376 1913/2095/10377 +f 1913/2095/10378 1914/2096/10379 1910/2090/10380 +f 1912/2093/10381 1910/2090/10382 1914/2096/10383 +f 1914/2096/10384 1915/2097/10385 1912/2093/10386 +f 1895/2082/10387 1916/2099/10388 1885/2098/10389 +f 1885/2098/10390 1894/2083/10391 1895/2082/10392 +f 1897/2085/10393 1888/2100/10394 1916/2099/10395 +f 1916/2099/10396 1895/2082/10397 1897/2085/10398 +f 1898/2084/10399 1887/2104/10400 1888/2100/10401 +f 1888/2100/10402 1897/2085/10403 1898/2084/10404 +f 1901/2088/10405 1865/2067/10406 1887/2104/10407 +f 1887/2104/10408 1898/2084/10409 1901/2088/10410 +f 1900/2087/10411 1870/2064/10412 1865/2067/10413 +f 1865/2067/10414 1901/2088/10415 1900/2087/10416 +f 1899/2086/10417 1859/2065/10418 1870/2064/10419 +f 1870/2064/10420 1900/2087/10421 1899/2086/10422 +f 1893/2080/10423 1886/2105/10424 1859/2065/10425 +f 1859/2065/10426 1899/2086/10427 1893/2080/10428 +f 1894/2083/10429 1885/2098/10430 1886/2105/10431 +f 1886/2105/10432 1893/2080/10433 1894/2083/10434 +f 1909/2091/10435 1869/2063/10436 1860/2066/10437 +f 1860/2066/10438 1908/2092/10439 1909/2091/10440 +f 1911/2094/10441 1864/2068/10442 1869/2063/10443 +f 1869/2063/10444 1909/2091/10445 1911/2094/10446 +f 1912/2093/10447 1904/2106/10448 1864/2068/10449 +f 1864/2068/10450 1911/2094/10451 1912/2093/10452 +f 1915/2097/10453 1877/2079/10454 1904/2106/10455 +f 1904/2106/10456 1912/2093/10457 1915/2097/10458 +f 1914/2096/10459 1881/2074/10460 1877/2079/10461 +f 1877/2079/10462 1915/2097/10463 1914/2096/10464 +f 1913/2095/10465 1871/2075/10466 1881/2074/10467 +f 1881/2074/10468 1914/2096/10469 1913/2095/10470 +f 1907/2089/10471 1903/2128/10472 1871/2075/10473 +f 1871/2075/10474 1913/2095/10475 1907/2089/10476 +f 1908/2092/10477 1860/2066/10478 1903/2128/10479 +f 1903/2128/10480 1907/2089/10481 1908/2092/10482 +f 1857/1942/10483 1858/1941/10484 1872/1958/10485 +f 1872/1958/10486 1873/1957/10487 1857/1942/10488 +f 1876/1962/10489 1853/1937/10490 1854/1940/10491 +f 1854/1940/10492 1875/1959/10493 1876/1962/10494 +f 1854/1940/10495 1855/1939/10496 1880/1964/10497 +f 1880/1964/10498 1875/1959/10499 1854/1940/10500 +f 1880/1964/10501 1855/1939/10502 1857/1942/10503 +f 1857/1942/10504 1873/1957/10505 1880/1964/10506 +f 1919/2133/10507 1918/2134/10508 1917/2129/10509 +f 1917/2129/10510 1920/2132/10511 1919/2133/10512 +f 1920/2132/10513 1917/2129/10514 1921/2135/10515 +f 1921/2135/10516 1922/2136/10517 1920/2132/10518 +f 1923/2140/10519 1858/2141/10520 1856/2137/10521 +f 1856/2137/10522 1924/2139/10523 1923/2140/10524 +f 1925/2142/10525 1872/2076/10526 1858/2141/10527 +f 1858/2141/10528 1923/2140/10529 1925/2142/10530 +f 1926/2143/10531 1882/2077/10532 1872/2076/10533 +f 1872/2076/10534 1925/2142/10535 1926/2143/10536 +f 1927/2148/10537 1876/2078/10538 1882/2077/10539 +f 1882/2077/10540 1926/2143/10541 1927/2148/10542 +f 1928/2149/10543 1853/2150/10544 1876/2078/10545 +f 1876/2078/10546 1927/2148/10547 1928/2149/10548 +f 1924/2139/10549 1856/2137/10550 1853/2150/10551 +f 1853/2150/10552 1928/2149/10553 1924/2139/10554 +f 1918/2134/10555 1923/2140/10556 1924/2139/10557 +f 1924/2139/10558 1917/2129/10559 1918/2134/10560 +f 1919/2133/10561 1925/2142/10562 1923/2140/10563 +f 1923/2140/10564 1918/2134/10565 1919/2133/10566 +f 1920/2132/10567 1926/2143/10568 1925/2142/10569 +f 1925/2142/10570 1919/2133/10571 1920/2132/10572 +f 1922/2136/10573 1927/2148/10574 1926/2143/10575 +f 1926/2143/10576 1920/2132/10577 1922/2136/10578 +f 1921/2135/10579 1928/2149/10580 1927/2148/10581 +f 1927/2148/10582 1922/2136/10583 1921/2135/10584 +f 1917/2129/10585 1924/2139/10586 1928/2149/10587 +f 1928/2149/10588 1921/2135/10589 1917/2129/10590 +f 1847/1930/10591 1884/1970/10592 1885/1969/10593 +f 1885/1969/10594 1846/1931/10595 1847/1930/10596 +f 1888/1974/10597 1889/1973/10598 1848/1933/10599 +f 1848/1933/10600 1849/1932/10601 1888/1974/10602 +f 1848/1933/10603 1889/1973/10604 1891/1976/10605 +f 1891/1976/10606 1850/1934/10607 1848/1933/10608 +f 1891/1976/10609 1884/1970/10610 1847/1930/10611 +f 1847/1930/10612 1850/1934/10613 1891/1976/10614 +f 1846/2048/10615 1885/2098/10616 1916/2099/10617 +f 1916/2099/10618 1852/2049/10619 1846/2048/10620 +f 1916/2099/10621 1888/2100/10622 1849/2062/10623 +f 1849/2062/10624 1852/2049/10625 1916/2099/10626 +f 1929/2014/10627 1642/1724/10628 1639/1723/10629 +f 1639/1723/10630 1930/2013/10631 1929/2014/10632 +f 1932/2015/10633 1931/2016/10634 1668/1752/10635 +f 1668/1752/10636 1760/1845/10637 1932/2015/10638 +f 1933/2017/10639 1644/1728/10640 1668/1752/10641 +f 1668/1752/10642 1931/2016/10643 1933/2017/10644 +f 1933/2017/10645 1930/2013/10646 1639/1723/10647 +f 1639/1723/10648 1644/1728/10649 1933/2017/10650 +f 1935/2152/10651 1934/2153/10652 1642/1749/10653 +f 1642/1749/10654 1929/2151/10655 1935/2152/10656 +f 1935/2152/10657 1932/2160/10658 1760/2159/10659 +f 1760/2159/10660 1934/2153/10661 1935/2152/10662 +f 1938/2022/10663 1937/2023/10664 1936/2020/10665 +f 1936/2020/10666 1939/2021/10667 1938/2022/10668 +f 1940/2025/10669 1938/2022/10670 1939/2021/10671 +f 1939/2021/10672 1941/2024/10673 1940/2025/10674 +f 1944/2028/10675 1943/2029/10676 1942/2026/10677 +f 1942/2026/10678 1945/2027/10679 1944/2028/10680 +f 1948/2032/10681 1947/2033/10682 1946/2030/10683 +f 1946/2030/10684 1949/2031/10685 1948/2032/10686 +f 1946/2030/10687 1951/2035/10688 1950/2034/10689 +f 1950/2034/10690 1949/2031/10691 1946/2030/10692 +f 1950/2034/10693 1951/2035/10694 1944/2028/10695 +f 1944/2028/10696 1945/2027/10697 1950/2034/10698 +f 1942/2163/10699 1943/2164/10700 1952/2161/10701 +f 1952/2161/10702 1953/2162/10703 1942/2163/10704 +f 1952/2161/10705 1947/2167/10706 1948/2166/10707 +f 1948/2166/10708 1953/2162/10709 1952/2161/10710 +f 1956/2040/10711 1955/2041/10712 1954/2038/10713 +f 1954/2038/10714 1957/2039/10715 1956/2040/10716 +f 1960/2044/10717 1959/2045/10718 1958/2042/10719 +f 1958/2042/10720 1961/2043/10721 1960/2044/10722 +f 1958/2042/10723 1963/2047/10724 1962/2046/10725 +f 1962/2046/10726 1961/2043/10727 1958/2042/10728 +f 1962/2046/10729 1963/2047/10730 1956/2040/10731 +f 1956/2040/10732 1957/2039/10733 1962/2046/10734 +f 1955/2170/10735 1965/2171/10736 1964/2168/10737 +f 1964/2168/10738 1954/2169/10739 1955/2170/10740 +f 1964/2168/10741 1965/2171/10742 1959/2172/10743 +f 1959/2172/10744 1960/2173/10745 1964/2168/10746 +f 1968/2052/10747 1967/2053/10748 1966/2050/10749 +f 1966/2050/10750 1969/2051/10751 1968/2052/10752 +f 1972/2056/10753 1971/2057/10754 1970/2054/10755 +f 1970/2054/10756 1973/2055/10757 1972/2056/10758 +f 1974/2059/10759 1972/2056/10760 1973/2055/10761 +f 1973/2055/10762 1975/2058/10763 1974/2059/10764 +f 1967/2053/10765 1974/2059/10766 1975/2058/10767 +f 1975/2058/10768 1966/2050/10769 1967/2053/10770 +f 1978/2183/10771 1977/2185/10772 1976/2174/10773 +f 1976/2174/10774 1979/2175/10775 1978/2183/10776 +f 1980/2187/10777 1978/2183/10778 1979/2175/10779 +f 1979/2175/10780 1981/2186/10781 1980/2187/10782 +f 1969/2051/10783 1966/2050/10784 1945/2027/10785 +f 1945/2027/10786 1942/2026/10787 1969/2051/10788 +f 1973/2055/10789 1970/2054/10790 1948/2032/10791 +f 1948/2032/10792 1949/2031/10793 1973/2055/10794 +f 1975/2058/10795 1973/2055/10796 1949/2031/10797 +f 1949/2031/10798 1950/2034/10799 1975/2058/10800 +f 1966/2050/10801 1975/2058/10802 1950/2034/10803 +f 1950/2034/10804 1945/2027/10805 1966/2050/10806 +f 1979/2175/10807 1976/2174/10808 1982/2188/10809 +f 1982/2188/10810 1983/2189/10811 1979/2175/10812 +f 1981/2186/10813 1979/2175/10814 1983/2189/10815 +f 1983/2189/10816 1984/2190/10817 1981/2186/10818 +f 1943/2029/10819 1944/2028/10820 1985/2069/10821 +f 1985/2069/10822 1986/2070/10823 1943/2029/10824 +f 1946/2030/10825 1947/2033/10826 1987/2071/10827 +f 1987/2071/10828 1988/2072/10829 1946/2030/10830 +f 1951/2035/10831 1946/2030/10832 1988/2072/10833 +f 1988/2072/10834 1989/2073/10835 1951/2035/10836 +f 1944/2028/10837 1951/2035/10838 1989/2073/10839 +f 1989/2073/10840 1985/2069/10841 1944/2028/10842 +f 1992/2196/10843 1991/2197/10844 1990/2191/10845 +f 1990/2191/10846 1993/2195/10847 1992/2196/10848 +f 1994/2205/10849 1992/2196/10850 1993/2195/10851 +f 1993/2195/10852 1995/2198/10853 1994/2205/10854 +f 1986/2070/10855 1985/2069/10856 1957/2039/10857 +f 1957/2039/10858 1954/2038/10859 1986/2070/10860 +f 1988/2072/10861 1987/2071/10862 1960/2044/10863 +f 1960/2044/10864 1961/2043/10865 1988/2072/10866 +f 1989/2073/10867 1988/2072/10868 1961/2043/10869 +f 1961/2043/10870 1962/2046/10871 1989/2073/10872 +f 1985/2069/10873 1989/2073/10874 1962/2046/10875 +f 1962/2046/10876 1957/2039/10877 1985/2069/10878 +f 1993/2195/10879 1990/2191/10880 1996/2212/10881 +f 1996/2212/10882 1997/2213/10883 1993/2195/10884 +f 1995/2198/10885 1993/2195/10886 1997/2213/10887 +f 1997/2213/10888 1998/2214/10889 1995/2198/10890 +f 1978/2183/10891 1999/2216/10892 1968/2215/10893 +f 1968/2215/10894 1977/2185/10895 1978/2183/10896 +f 1980/2187/10897 1971/2217/10898 1999/2216/10899 +f 1999/2216/10900 1978/2183/10901 1980/2187/10902 +f 1981/2186/10903 1970/2218/10904 1971/2217/10905 +f 1971/2217/10906 1980/2187/10907 1981/2186/10908 +f 1984/2190/10909 1948/2166/10910 1970/2218/10911 +f 1970/2218/10912 1981/2186/10913 1984/2190/10914 +f 1983/2189/10915 1953/2162/10916 1948/2166/10917 +f 1948/2166/10918 1984/2190/10919 1983/2189/10920 +f 1982/2188/10921 1942/2163/10922 1953/2162/10923 +f 1953/2162/10924 1983/2189/10925 1982/2188/10926 +f 1976/2174/10927 1969/2219/10928 1942/2163/10929 +f 1942/2163/10930 1982/2188/10931 1976/2174/10932 +f 1977/2185/10933 1968/2215/10934 1969/2219/10935 +f 1969/2219/10936 1976/2174/10937 1977/2185/10938 +f 1992/2196/10939 1952/2161/10940 1943/2164/10941 +f 1943/2164/10942 1991/2197/10943 1992/2196/10944 +f 1994/2205/10945 1947/2167/10946 1952/2161/10947 +f 1952/2161/10948 1992/2196/10949 1994/2205/10950 +f 1995/2198/10951 1987/2220/10952 1947/2167/10953 +f 1947/2167/10954 1994/2205/10955 1995/2198/10956 +f 1998/2214/10957 1960/2173/10958 1987/2220/10959 +f 1987/2220/10960 1995/2198/10961 1998/2214/10962 +f 1997/2213/10963 1964/2168/10964 1960/2173/10965 +f 1960/2173/10966 1998/2214/10967 1997/2213/10968 +f 1996/2212/10969 1954/2169/10970 1964/2168/10971 +f 1964/2168/10972 1997/2213/10973 1996/2212/10974 +f 1990/2191/10975 1986/2221/10976 1954/2169/10977 +f 1954/2169/10978 1996/2212/10979 1990/2191/10980 +f 1991/2197/10981 1943/2164/10982 1986/2221/10983 +f 1986/2221/10984 1990/2191/10985 1991/2197/10986 +f 1940/2025/10987 1941/2024/10988 1955/2041/10989 +f 1955/2041/10990 1956/2040/10991 1940/2025/10992 +f 1959/2045/10993 1936/2020/10994 1937/2023/10995 +f 1937/2023/10996 1958/2042/10997 1959/2045/10998 +f 1937/2023/10999 1938/2022/11000 1963/2047/11001 +f 1963/2047/11002 1958/2042/11003 1937/2023/11004 +f 1963/2047/11005 1938/2022/11006 1940/2025/11007 +f 1940/2025/11008 1956/2040/11009 1963/2047/11010 +f 2002/2224/11011 2001/2252/11012 2000/2222/11013 +f 2000/2222/11014 2003/2223/11015 2002/2224/11016 +f 2003/2223/11017 2000/2222/11018 2004/2253/11019 +f 2004/2253/11020 2005/2254/11021 2003/2223/11022 +f 2006/2260/11023 1941/2261/11024 1939/2255/11025 +f 1939/2255/11026 2007/2259/11027 2006/2260/11028 +f 2008/2262/11029 1955/2170/11030 1941/2261/11031 +f 1941/2261/11032 2006/2260/11033 2008/2262/11034 +f 2009/2263/11035 1965/2171/11036 1955/2170/11037 +f 1955/2170/11038 2008/2262/11039 2009/2263/11040 +f 2010/2264/11041 1959/2172/11042 1965/2171/11043 +f 1965/2171/11044 2009/2263/11045 2010/2264/11046 +f 2011/2265/11047 1936/2266/11048 1959/2172/11049 +f 1959/2172/11050 2010/2264/11051 2011/2265/11052 +f 2007/2259/11053 1939/2255/11054 1936/2266/11055 +f 1936/2266/11056 2011/2265/11057 2007/2259/11058 +f 2001/2252/11059 2006/2260/11060 2007/2259/11061 +f 2007/2259/11062 2000/2222/11063 2001/2252/11064 +f 2002/2224/11065 2008/2262/11066 2006/2260/11067 +f 2006/2260/11068 2001/2252/11069 2002/2224/11070 +f 2003/2223/11071 2009/2263/11072 2008/2262/11073 +f 2008/2262/11074 2002/2224/11075 2003/2223/11076 +f 2005/2254/11077 2010/2264/11078 2009/2263/11079 +f 2009/2263/11080 2003/2223/11081 2005/2254/11082 +f 2004/2253/11083 2011/2265/11084 2010/2264/11085 +f 2010/2264/11086 2005/2254/11087 2004/2253/11088 +f 2000/2222/11089 2007/2259/11090 2011/2265/11091 +f 2011/2265/11092 2004/2253/11093 2000/2222/11094 +f 1930/2013/11095 1967/2053/11096 1968/2052/11097 +f 1968/2052/11098 1929/2014/11099 1930/2013/11100 +f 1971/2057/11101 1972/2056/11102 1931/2016/11103 +f 1931/2016/11104 1932/2015/11105 1971/2057/11106 +f 1931/2016/11107 1972/2056/11108 1974/2059/11109 +f 1974/2059/11110 1933/2017/11111 1931/2016/11112 +f 1974/2059/11113 1967/2053/11114 1930/2013/11115 +f 1930/2013/11116 1933/2017/11117 1974/2059/11118 +f 1929/2151/11119 1968/2215/11120 1999/2216/11121 +f 1999/2216/11122 1935/2152/11123 1929/2151/11124 +f 1999/2216/11125 1971/2217/11126 1932/2160/11127 +f 1932/2160/11128 1935/2152/11129 1999/2216/11130 +f 1654/1736/11131 1642/1749/11132 1934/2153/11133 +f 1934/2153/11134 1653/1737/11135 1654/1736/11136 +f 1651/1735/11137 2012/2267/11138 1642/2579/11139 +f 1642/2579/11140 1654/1736/11141 1651/1735/11142 +f 1652/1738/11143 2013/2268/11144 2012/2267/11145 +f 2012/2267/11146 1651/1735/11147 1652/1738/11148 +f 1669/1775/11149 1761/2269/11150 2013/2268/11151 +f 2013/2268/11152 1652/1738/11153 1669/1775/11154 +f 1670/1774/11155 1760/2159/11156 1761/2269/11157 +f 1761/2269/11158 1669/1775/11159 1670/1774/11160 +f 1653/1737/11161 1934/2153/11162 1760/2159/11163 +f 1760/2159/11164 1670/1774/11165 1653/1737/11166 +f 1650/1732/11167 1636/1741/11168 1657/1748/11169 +f 1657/1748/11170 1649/1733/11171 1650/1732/11172 +f 1647/1731/11173 2014/2270/11174 1636/1741/11175 +f 1636/1741/11176 1650/1732/11177 1647/1731/11178 +f 1648/1734/11179 2015/2271/11180 2014/2270/11181 +f 2014/2270/11182 1647/1731/11183 1648/1734/11184 +f 1754/1911/11185 2012/2267/11186 2015/2271/11187 +f 2015/2271/11188 1648/1734/11189 1754/1911/11190 +f 1755/1910/11191 1642/2579/11192 2012/2267/11193 +f 2012/2267/11194 1754/1911/11195 1755/1910/11196 +f 1649/1733/11197 1657/1748/11198 1642/2383/11199 +f 1642/2383/11200 1755/1910/11201 1649/1733/11202 +f 1752/1908/11203 1769/1914/11204 1636/1741/11205 +f 1636/1741/11206 1757/1912/11207 1752/1908/11208 +f 1753/1902/11209 1762/2061/11210 1769/1914/11211 +f 1769/1914/11212 1752/1908/11213 1753/1902/11214 +f 1750/1901/11215 1634/1716/11216 1762/2061/11217 +f 1762/2061/11218 1753/1902/11219 1750/1901/11220 +f 1751/1909/11221 2016/2272/11222 1634/1716/11223 +f 1634/1716/11224 1750/1901/11225 1751/1909/11226 +f 1756/1913/11227 2014/2270/11228 2016/2272/11229 +f 2016/2272/11230 1751/1909/11231 1756/1913/11232 +f 1757/1912/11233 1636/1741/11234 2014/2270/11235 +f 2014/2270/11236 1756/1913/11237 1757/1912/11238 +f 1666/1754/11239 1758/2037/11240 1851/2060/11241 +f 1851/2060/11242 1665/1756/11243 1666/1754/11244 +f 1663/1753/11245 1759/2273/11246 1758/2037/11247 +f 1758/2037/11248 1666/1754/11249 1663/1753/11250 +f 1664/1757/11251 1631/1715/11252 1759/2273/11253 +f 1759/2273/11254 1663/1753/11255 1664/1757/11256 +f 1672/1787/11257 1634/1716/11258 1631/1715/11259 +f 1631/1715/11260 1664/1757/11261 1672/1787/11262 +f 1673/1786/11263 1762/2061/11264 1634/1716/11265 +f 1634/1716/11266 1672/1787/11267 1673/1786/11268 +f 1665/1756/11269 1851/2060/11270 1762/2061/11271 +f 1762/2061/11272 1673/1786/11273 1665/1756/11274 +f 1763/2036/11275 1768/1915/11276 1769/1914/11277 +f 1769/1914/11278 1762/2061/11279 1763/2036/11280 +f 1661/1745/11281 1759/1843/11282 2017/2101/11283 +f 2017/2101/11284 2018/2102/11285 1661/1745/11286 +f 1617/1703/11287 1618/1702/11288 1626/1709/11289 +f 1626/1709/11290 2019/2103/11291 1617/1703/11292 +f 2016/2272/11293 2014/2270/11294 2020/2274/11295 +f 2020/2274/11296 2021/2275/11297 2016/2272/11298 +f 1625/1710/11299 1618/1702/11300 1619/1701/11301 +f 1619/1701/11302 1660/1746/11303 1625/1710/11304 +f 1628/1714/11305 2012/2267/11306 2013/2268/11307 +f 2013/2268/11308 2022/2276/11309 1628/1714/11310 +f 2015/2271/11311 2012/2267/11312 1628/1714/11313 +f 1628/1714/11314 1629/1713/11315 2015/2271/11316 +f 2025/2109/11317 2024/2110/11318 2023/2107/11319 +f 2023/2107/11320 2026/2108/11321 2025/2109/11322 +f 2027/2112/11323 2026/2108/11324 2023/2107/11325 +f 2023/2107/11326 2028/2111/11327 2027/2112/11328 +f 2030/2114/11329 2029/2115/11330 2027/2112/11331 +f 2027/2112/11332 2031/2113/11333 2030/2114/11334 +f 2026/2108/11335 2033/2117/11336 2032/2116/11337 +f 2032/2116/11338 2025/2109/11339 2026/2108/11340 +f 2029/2115/11341 2033/2117/11342 2026/2108/11343 +f 2026/2108/11344 2027/2112/11345 2029/2115/11346 +f 1615/1697/11347 2035/2119/11348 2034/2118/11349 +f 2034/2118/11350 1614/1698/11351 1615/1697/11352 +f 2038/2122/11353 2037/2123/11354 2036/2120/11355 +f 2036/2120/11356 2039/2121/11357 2038/2122/11358 +f 2040/2125/11359 2037/2123/11360 2038/2122/11361 +f 2038/2122/11362 2041/2124/11363 2040/2125/11364 +f 2039/2121/11365 2036/2120/11366 2042/2126/11367 +f 2042/2126/11368 2043/2127/11369 2039/2121/11370 +f 2043/2279/11371 2042/2280/11372 2044/2277/11373 +f 2044/2277/11374 2045/2278/11375 2043/2279/11376 +f 2045/2278/11377 2044/2277/11378 2046/2281/11379 +f 2046/2281/11380 2047/2282/11381 2045/2278/11382 +f 2046/2131/11383 2040/2125/11384 2041/2124/11385 +f 2041/2124/11386 2047/2130/11387 2046/2131/11388 +f 2050/2285/11389 2049/2286/11390 2048/2283/11391 +f 2048/2283/11392 2051/2284/11393 2050/2285/11394 +f 2052/2288/11395 2050/2285/11396 2051/2284/11397 +f 2051/2284/11398 2053/2287/11399 2052/2288/11400 +f 2032/2116/11401 2033/2117/11402 2038/2122/11403 +f 2038/2122/11404 2039/2121/11405 2032/2116/11406 +f 2033/2117/11407 2029/2115/11408 2041/2124/11409 +f 2041/2124/11410 2038/2122/11411 2033/2117/11412 +f 2054/2138/11413 2032/2116/11414 2039/2121/11415 +f 2039/2121/11416 2043/2127/11417 2054/2138/11418 +f 2051/2284/11419 2048/2283/11420 2055/2289/11421 +f 2055/2289/11422 2056/2290/11423 2051/2284/11424 +f 2053/2287/11425 2051/2284/11426 2056/2290/11427 +f 2056/2290/11428 2057/2291/11429 2053/2287/11430 +f 2029/2115/11431 2030/2114/11432 2047/2130/11433 +f 2047/2130/11434 2041/2124/11435 2029/2115/11436 +f 2050/2285/11437 2059/2293/11438 2058/2292/11439 +f 2058/2292/11440 2049/2286/11441 2050/2285/11442 +f 2052/2288/11443 2031/2294/11444 2059/2293/11445 +f 2059/2293/11446 2050/2285/11447 2052/2288/11448 +f 2053/2287/11449 2030/2295/11450 2031/2294/11451 +f 2031/2294/11452 2052/2288/11453 2053/2287/11454 +f 2057/2291/11455 2047/2282/11456 2030/2295/11457 +f 2030/2295/11458 2053/2287/11459 2057/2291/11460 +f 2056/2290/11461 2045/2278/11462 2047/2282/11463 +f 2047/2282/11464 2057/2291/11465 2056/2290/11466 +f 2055/2289/11467 2043/2279/11468 2045/2278/11469 +f 2045/2278/11470 2056/2290/11471 2055/2289/11472 +f 2048/2283/11473 2054/2296/11474 2043/2279/11475 +f 2043/2279/11476 2055/2289/11477 2048/2283/11478 +f 2049/2286/11479 2058/2292/11480 2054/2296/11481 +f 2054/2296/11482 2048/2283/11483 2049/2286/11484 +f 1615/1697/11485 1612/1696/11486 2060/2144/11487 +f 2060/2144/11488 2061/2145/11489 1615/1697/11490 +f 2035/2119/11491 1615/1697/11492 2061/2145/11493 +f 2061/2145/11494 2062/2146/11495 2035/2119/11496 +f 2060/2144/11497 1612/1696/11498 1613/1699/11499 +f 1613/1699/11500 2063/2147/11501 2060/2144/11502 +f 2066/2299/11503 2065/2300/11504 2064/2297/11505 +f 2064/2297/11506 2067/2298/11507 2066/2299/11508 +f 2067/2298/11509 2064/2297/11510 2068/2301/11511 +f 2068/2301/11512 2069/2302/11513 2067/2298/11514 +f 2070/2154/11515 2034/2118/11516 2035/2119/11517 +f 2035/2119/11518 2062/2146/11519 2070/2154/11520 +f 2036/2120/11521 2037/2123/11522 2071/2155/11523 +f 2071/2155/11524 2072/2156/11525 2036/2120/11526 +f 2037/2123/11527 2040/2125/11528 2073/2157/11529 +f 2073/2157/11530 2071/2155/11531 2037/2123/11532 +f 2042/2126/11533 2036/2120/11534 2072/2156/11535 +f 2072/2156/11536 2074/2158/11537 2042/2126/11538 +f 2077/2305/11539 2076/2306/11540 2075/2303/11541 +f 2075/2303/11542 2078/2304/11543 2077/2305/11544 +f 2079/2308/11545 2077/2305/11546 2078/2304/11547 +f 2078/2304/11548 2080/2307/11549 2079/2308/11550 +f 2040/2125/11551 2046/2131/11552 2081/2165/11553 +f 2081/2165/11554 2073/2157/11555 2040/2125/11556 +f 2072/2156/11557 2071/2155/11558 2061/2145/11559 +f 2061/2145/11560 2060/2144/11561 2072/2156/11562 +f 2071/2155/11563 2073/2157/11564 2062/2146/11565 +f 2062/2146/11566 2061/2145/11567 2071/2155/11568 +f 2074/2158/11569 2072/2156/11570 2060/2144/11571 +f 2060/2144/11572 2063/2147/11573 2074/2158/11574 +f 2078/2304/11575 2075/2303/11576 2082/2309/11577 +f 2082/2309/11578 2083/2310/11579 2078/2304/11580 +f 2080/2307/11581 2078/2304/11582 2083/2310/11583 +f 2083/2310/11584 2084/2311/11585 2080/2307/11586 +f 2073/2157/11587 2081/2165/11588 2070/2154/11589 +f 2070/2154/11590 2062/2146/11591 2073/2157/11592 +f 2077/2305/11593 2044/2277/11594 2042/2280/11595 +f 2042/2280/11596 2076/2306/11597 2077/2305/11598 +f 2079/2308/11599 2046/2281/11600 2044/2277/11601 +f 2044/2277/11602 2077/2305/11603 2079/2308/11604 +f 2080/2307/11605 2081/2312/11606 2046/2281/11607 +f 2046/2281/11608 2079/2308/11609 2080/2307/11610 +f 2084/2311/11611 2070/2313/11612 2081/2312/11613 +f 2081/2312/11614 2080/2307/11615 2084/2311/11616 +f 2083/2310/11617 2085/2314/11618 2070/2313/11619 +f 2070/2313/11620 2084/2311/11621 2083/2310/11622 +f 2082/2309/11623 2063/2315/11624 2085/2314/11625 +f 2085/2314/11626 2083/2310/11627 2082/2309/11628 +f 2075/2303/11629 2074/2316/11630 2063/2315/11631 +f 2063/2315/11632 2082/2309/11633 2075/2303/11634 +f 2076/2306/11635 2042/2280/11636 2074/2316/11637 +f 2074/2316/11638 2075/2303/11639 2076/2306/11640 +f 2086/2319/11641 1613/2320/11642 1614/2317/11643 +f 1614/2317/11644 2087/2318/11645 2086/2319/11646 +f 2088/2321/11647 2063/2315/11648 1613/2320/11649 +f 1613/2320/11650 2086/2319/11651 2088/2321/11652 +f 2089/2322/11653 2085/2314/11654 2063/2315/11655 +f 2063/2315/11656 2088/2321/11657 2089/2322/11658 +f 2090/2323/11659 2070/2313/11660 2085/2314/11661 +f 2085/2314/11662 2089/2322/11663 2090/2323/11664 +f 2091/2324/11665 2034/2325/11666 2070/2313/11667 +f 2070/2313/11668 2090/2323/11669 2091/2324/11670 +f 2087/2318/11671 1614/2317/11672 2034/2325/11673 +f 2034/2325/11674 2091/2324/11675 2087/2318/11676 +f 2065/2300/11677 2086/2319/11678 2087/2318/11679 +f 2087/2318/11680 2064/2297/11681 2065/2300/11682 +f 2066/2299/11683 2088/2321/11684 2086/2319/11685 +f 2086/2319/11686 2065/2300/11687 2066/2299/11688 +f 2067/2298/11689 2089/2322/11690 2088/2321/11691 +f 2088/2321/11692 2066/2299/11693 2067/2298/11694 +f 2069/2302/11695 2090/2323/11696 2089/2322/11697 +f 2089/2322/11698 2067/2298/11699 2069/2302/11700 +f 2068/2301/11701 2091/2324/11702 2090/2323/11703 +f 2090/2323/11704 2069/2302/11705 2068/2301/11706 +f 2064/2297/11707 2087/2318/11708 2091/2324/11709 +f 2091/2324/11710 2068/2301/11711 2064/2297/11712 +f 1646/1729/11713 2093/2177/11714 2092/2176/11715 +f 2092/2176/11716 1645/1730/11717 1646/1729/11718 +f 2096/2180/11719 2095/2181/11720 2094/2178/11721 +f 2094/2178/11722 2097/2179/11723 2096/2180/11724 +f 2098/2182/11725 1621/1707/11726 1617/1703/11727 +f 1617/1703/11728 2019/2103/11729 2098/2182/11730 +f 2017/2326/11731 1759/2273/11732 1631/1715/11733 +f 1631/1715/11734 1632/1718/11735 2017/2326/11736 +f 2099/2329/11737 1608/2330/11738 1609/2327/11739 +f 1609/2327/11740 2100/2328/11741 2099/2329/11742 +f 1633/1717/11743 1634/1716/11744 2016/2272/11745 +f 2016/2272/11746 2021/2275/11747 1633/1717/11748 +f 2102/2333/11749 1627/1711/11750 2101/2331/11751 +f 2101/2331/11752 2103/2332/11753 2102/2333/11754 +f 1628/1714/11755 2022/2276/11756 2101/2331/11757 +f 2101/2331/11758 1627/1711/11759 1628/1714/11760 +f 2105/2336/11761 2104/2337/11762 2024/2334/11763 +f 2024/2334/11764 2025/2335/11765 2105/2336/11766 +f 2020/2274/11767 2014/2270/11768 2015/2271/11769 +f 2015/2271/11770 1629/1713/11771 2020/2274/11772 +f 2102/2333/11773 2106/2338/11774 1630/1712/11775 +f 1630/1712/11776 1627/1711/11777 2102/2333/11778 +f 2020/2274/11779 1629/1713/11780 1630/1712/11781 +f 1630/1712/11782 2107/2339/11783 2020/2274/11784 +f 2108/2184/11785 1667/1751/11786 1645/1730/11787 +f 1645/1730/11788 2092/2176/11789 2108/2184/11790 +f 1761/1844/11791 1667/1751/11792 2108/2184/11793 +f 2108/2184/11794 2109/2192/11795 1761/1844/11796 +f 2013/2268/11797 1761/2269/11798 2109/2340/11799 +f 2109/2340/11800 2022/2276/11801 2013/2268/11802 +f 2110/2193/11803 1620/1704/11804 1621/1707/11805 +f 1621/1707/11806 2098/2182/11807 2110/2193/11808 +f 2111/2341/11809 2101/2331/11810 2022/2276/11811 +f 2022/2276/11812 2104/2337/11813 2111/2341/11814 +f 2112/2342/11815 2103/2332/11816 2101/2331/11817 +f 2101/2331/11818 2111/2341/11819 2112/2342/11820 +f 2114/2343/11821 2113/2344/11822 2103/2332/11823 +f 2103/2332/11824 2112/2342/11825 2114/2343/11826 +f 2115/2345/11827 2097/2346/11828 2113/2344/11829 +f 2113/2344/11830 2114/2343/11831 2115/2345/11832 +f 2116/2199/11833 2096/2180/11834 2097/2179/11835 +f 2097/2179/11836 2115/2194/11837 2116/2199/11838 +f 2093/2177/11839 1620/1704/11840 2110/2193/11841 +f 2110/2193/11842 2117/2200/11843 2093/2177/11844 +f 2117/2200/11845 2110/2193/11846 2096/2180/11847 +f 2096/2180/11848 2116/2199/11849 2117/2200/11850 +f 2118/2202/11851 2027/2112/11852 2028/2111/11853 +f 2028/2111/11854 2119/2201/11855 2118/2202/11856 +f 2059/2293/11857 2114/2343/11858 2112/2342/11859 +f 2112/2342/11860 2058/2292/11861 2059/2293/11862 +f 2115/2345/11863 2114/2343/11864 2059/2293/11865 +f 2059/2293/11866 2031/2294/11867 2115/2345/11868 +f 2120/2203/11869 2116/2199/11870 2115/2194/11871 +f 2115/2194/11872 2031/2113/11873 2120/2203/11874 +f 2117/2200/11875 2116/2199/11876 2120/2203/11877 +f 2120/2203/11878 2118/2202/11879 2117/2200/11880 +f 2093/2177/11881 2117/2200/11882 2118/2202/11883 +f 2118/2202/11884 2119/2201/11885 2093/2177/11886 +f 2092/2176/11887 2093/2177/11888 2119/2201/11889 +f 2119/2201/11890 2028/2111/11891 2092/2176/11892 +f 2109/2192/11893 2108/2184/11894 2023/2107/11895 +f 2023/2107/11896 2024/2110/11897 2109/2192/11898 +f 2104/2337/11899 2022/2276/11900 2109/2340/11901 +f 2109/2340/11902 2024/2334/11903 2104/2337/11904 +f 2112/2342/11905 2111/2341/11906 2121/2347/11907 +f 2121/2347/11908 2058/2292/11909 2112/2342/11910 +f 2023/2107/11911 2108/2184/11912 2092/2176/11913 +f 2092/2176/11914 2028/2111/11915 2023/2107/11916 +f 2105/2336/11917 2121/2347/11918 2111/2341/11919 +f 2111/2341/11920 2104/2337/11921 2105/2336/11922 +f 2105/2336/11923 2025/2335/11924 2122/2348/11925 +f 2122/2348/11926 2121/2347/11927 2105/2336/11928 +f 1611/1693/11929 2124/2206/11930 2123/2204/11931 +f 2123/2204/11932 1610/1694/11933 1611/1693/11934 +f 1661/1745/11935 2018/2102/11936 1625/1710/11937 +f 1625/1710/11938 1660/1746/11939 1661/1745/11940 +f 2099/2329/11941 2100/2328/11942 2017/2326/11943 +f 2017/2326/11944 1632/1718/11945 2099/2329/11946 +f 2125/2208/11947 2018/2102/11948 2017/2101/11949 +f 2017/2101/11950 2100/2207/11951 2125/2208/11952 +f 1624/1708/11953 1625/1710/11954 2018/2102/11955 +f 2018/2102/11956 2125/2208/11957 1624/1708/11958 +f 1620/1704/11959 2093/2177/11960 1646/1729/11961 +f 1646/1729/11962 1623/1705/11963 1620/1704/11964 +f 1621/1707/11965 1622/1706/11966 1616/1700/11967 +f 1616/1700/11968 1617/1703/11969 1621/1707/11970 +f 2019/2103/11971 2126/2209/11972 2095/2181/11973 +f 2095/2181/11974 2098/2182/11975 2019/2103/11976 +f 2110/2193/11977 2098/2182/11978 2095/2181/11979 +f 2095/2181/11980 2096/2180/11981 2110/2193/11982 +f 2123/2204/11983 2124/2206/11984 2126/2209/11985 +f 2126/2209/11986 2127/2210/11987 2123/2204/11988 +f 1610/1694/11989 2125/2208/11990 2100/2207/11991 +f 2100/2207/11992 1609/1695/11993 1610/1694/11994 +f 1624/1708/11995 2125/2208/11996 1610/1694/11997 +f 1610/1694/11998 2123/2204/11999 1624/1708/12000 +f 2127/2210/12001 1626/1709/12002 1624/1708/12003 +f 1624/1708/12004 2123/2204/12005 2127/2210/12006 +f 2019/2103/12007 1626/1709/12008 2127/2210/12009 +f 2127/2210/12010 2126/2209/12011 2019/2103/12012 +f 2094/2178/12013 2095/2181/12014 2126/2209/12015 +f 2126/2209/12016 2124/2206/12017 2094/2178/12018 +f 2128/2350/12019 1611/2351/12020 1608/2485/12021 +f 1608/2485/12022 2129/2349/12023 2128/2350/12024 +f 2130/2352/12025 2124/2353/12026 1611/2351/12027 +f 1611/2351/12028 2128/2350/12029 2130/2352/12030 +f 2131/2354/12031 2094/2355/12032 2124/2353/12033 +f 2124/2353/12034 2130/2352/12035 2131/2354/12036 +f 2132/2356/12037 2097/2346/12038 2094/2355/12039 +f 2094/2355/12040 2131/2354/12041 2132/2356/12042 +f 2133/2357/12043 2113/2344/12044 2097/2346/12045 +f 2097/2346/12046 2132/2356/12047 2133/2357/12048 +f 2134/2358/12049 2103/2332/12050 2113/2344/12051 +f 2113/2344/12052 2133/2357/12053 2134/2358/12054 +f 2135/2359/12055 2102/2333/12056 2103/2332/12057 +f 2103/2332/12058 2134/2358/12059 2135/2359/12060 +f 2136/2360/12061 2106/2338/12062 2102/2333/12063 +f 2102/2333/12064 2135/2359/12065 2136/2360/12066 +f 2138/2361/12067 2137/2362/12068 2106/2338/12069 +f 2106/2338/12070 2136/2360/12071 2138/2361/12072 +f 2099/2329/12073 2140/2364/12074 2139/2363/12075 +f 2139/2363/12076 1608/2330/12077 2099/2329/12078 +f 2107/2339/12079 1630/1712/12080 2106/2338/12081 +f 2106/2338/12082 2137/2362/12083 2107/2339/12084 +f 2142/2365/12085 2141/2366/12086 2128/2350/12087 +f 2128/2350/12088 2129/2349/12089 2142/2365/12090 +f 2143/2367/12091 2130/2352/12092 2128/2350/12093 +f 2128/2350/12094 2141/2366/12095 2143/2367/12096 +f 2143/2367/12097 2144/2368/12098 2131/2354/12099 +f 2131/2354/12100 2130/2352/12101 2143/2367/12102 +f 2144/2368/12103 2145/2369/12104 2132/2356/12105 +f 2132/2356/12106 2131/2354/12107 2144/2368/12108 +f 2145/2369/12109 2146/2370/12110 2133/2357/12111 +f 2133/2357/12112 2132/2356/12113 2145/2369/12114 +f 2147/2371/12115 2134/2358/12116 2133/2357/12117 +f 2133/2357/12118 2146/2370/12119 2147/2371/12120 +f 2148/2372/12121 2135/2359/12122 2134/2358/12123 +f 2134/2358/12124 2147/2371/12125 2148/2372/12126 +f 2149/2373/12127 2136/2360/12128 2135/2359/12129 +f 2135/2359/12130 2148/2372/12131 2149/2373/12132 +f 2149/2373/12133 2150/2374/12134 2138/2361/12135 +f 2138/2361/12136 2136/2360/12137 2149/2373/12138 +f 2150/2374/12139 2142/2500/12140 2129/2494/12141 +f 2129/2494/12142 2138/2361/12143 2150/2374/12144 +f 2118/2202/12145 2120/2203/12146 2031/2113/12147 +f 2031/2113/12148 2027/2112/12149 2118/2202/12150 +f 2025/2109/12151 2032/2116/12152 2054/2138/12153 +f 2054/2138/12154 2122/2211/12155 2025/2109/12156 +f 2054/2296/12157 2058/2292/12158 2121/2347/12159 +f 2121/2347/12160 2122/2348/12161 2054/2296/12162 +f 2153/2598/12163 2152/2228/12164 2151/2225/12165 +f 2151/2225/12166 2154/2226/12167 2153/2598/12168 +f 2155/2230/12169 2152/2228/12170 2153/2598/12171 +f 2153/2598/12172 2156/2229/12173 2155/2230/12174 +f 2158/2231/12175 2157/2232/12176 2155/2230/12177 +f 2155/2230/12178 2156/2229/12179 2158/2231/12180 +f 1416/1499/12181 2160/2234/12182 2159/2233/12183 +f 2159/2233/12184 1417/1500/12185 1416/1499/12186 +f 1415/1498/12187 2161/2235/12188 2160/2234/12189 +f 2160/2234/12190 1416/1499/12191 1415/1498/12192 +f 2162/2236/12193 2161/2235/12194 1415/1498/12195 +f 1415/1498/12196 1414/1497/12197 2162/2236/12198 +f 2163/2237/12199 2162/2236/12200 1414/1497/12201 +f 1414/1497/12202 1413/1496/12203 2163/2237/12204 +f 2164/2238/12205 2163/2237/12206 1413/1496/12207 +f 1413/1496/12208 1427/1510/12209 2164/2238/12210 +f 1427/1510/12211 1424/1507/12212 2165/2239/12213 +f 2165/2239/12214 2164/2238/12215 1427/1510/12216 +f 2154/2597/12217 2151/2596/12218 2166/2240/12219 +f 2166/2240/12220 2167/2241/12221 2154/2597/12222 +f 2099/2329/12223 1632/1718/12224 1633/1717/12225 +f 1633/1717/12226 2140/2364/12227 2099/2329/12228 +f 2168/2375/12229 2140/2364/12230 1633/1717/12231 +f 1633/1717/12232 2021/2275/12233 2168/2375/12234 +f 2021/2275/12235 2020/2274/12236 2107/2339/12237 +f 2107/2339/12238 2168/2375/12239 2021/2275/12240 +f 2169/2376/12241 2139/2363/12242 2140/2364/12243 +f 2140/2364/12244 2168/2375/12245 2169/2376/12246 +f 2170/2377/12247 2129/2494/12248 1608/2330/12249 +f 1608/2330/12250 2139/2363/12251 2170/2377/12252 +f 2138/2361/12253 2129/2494/12254 2170/2377/12255 +f 2170/2377/12256 2171/2378/12257 2138/2361/12258 +f 2169/2376/12259 2171/2378/12260 2170/2377/12261 +f 2170/2377/12262 2139/2363/12263 2169/2376/12264 +f 2137/2362/12265 2138/2361/12266 2171/2378/12267 +f 2171/2378/12268 2169/2376/12269 2137/2362/12270 +f 2168/2375/12271 2107/2339/12272 2137/2362/12273 +f 2137/2362/12274 2169/2376/12275 2168/2375/12276 +f 2166/2240/12277 2150/2243/12278 2149/2242/12279 +f 2149/2242/12280 2164/2238/12281 2166/2240/12282 +f 2163/2237/12283 2164/2238/12284 2149/2242/12285 +f 2149/2242/12286 2148/2244/12287 2163/2237/12288 +f 2162/2236/12289 2163/2237/12290 2148/2244/12291 +f 2148/2244/12292 2147/2245/12293 2162/2236/12294 +f 2161/2235/12295 2162/2236/12296 2147/2245/12297 +f 2147/2245/12298 2146/2246/12299 2161/2235/12300 +f 2160/2234/12301 2161/2235/12302 2146/2246/12303 +f 2146/2246/12304 2145/2247/12305 2160/2234/12306 +f 2157/2232/12307 2158/2231/12308 2159/2233/12309 +f 2159/2233/12310 2160/2234/12311 2157/2232/12312 +f 2143/2249/12313 2155/2230/12314 2157/2232/12315 +f 2157/2232/12316 2144/2248/12317 2143/2249/12318 +f 2141/2250/12319 2152/2228/12320 2155/2230/12321 +f 2155/2230/12322 2143/2249/12323 2141/2250/12324 +f 2151/2225/12325 2152/2228/12326 2141/2250/12327 +f 2141/2250/12328 2142/2251/12329 2151/2225/12330 +f 2150/2243/12331 2166/2240/12332 2151/2596/12333 +f 2151/2596/12334 2142/2599/12335 2150/2243/12336 +f 1423/1506/12337 2167/2241/12338 2165/2239/12339 +f 2165/2239/12340 1424/1507/12341 1423/1506/12342 +f 1421/1504/12343 2154/2597/12344 2167/2241/12345 +f 2167/2241/12346 1423/1506/12347 1421/1504/12348 +f 1420/2594/12349 2153/2227/12350 2154/2597/12351 +f 2154/2597/12352 1421/1504/12353 1420/2594/12354 +f 2156/2229/12355 2153/2598/12356 1420/1503/12357 +f 1420/1503/12358 1419/1502/12359 2156/2229/12360 +f 2158/2231/12361 2156/2229/12362 1419/1502/12363 +f 1419/1502/12364 1418/1501/12365 2158/2231/12366 +f 1417/1500/12367 2159/2233/12368 2158/2231/12369 +f 2158/2231/12370 1418/1501/12371 1417/1500/12372 +f 2166/2240/12373 2164/2238/12374 2165/2239/12375 +f 2165/2239/12376 2167/2241/12377 2166/2240/12378 +f 2157/2232/12379 2160/2234/12380 2145/2247/12381 +f 2145/2247/12382 2144/2248/12383 2157/2232/12384 +f 1489/2528/12385 1315/1558/12386 1316/1557/12387 +f 1316/1557/12388 1309/1550/12389 1489/2528/12390 +f 1550/1633/12391 1323/1406/12392 1324/1405/12393 +f 1324/1405/12394 1545/1628/12395 1550/1633/12396 +f 1525/1609/12397 1526/1608/12398 1555/1638/12399 +f 1555/1638/12400 1529/1614/12401 1525/1609/12402 +f 1527/1610/12403 1525/2614/12404 1529/2616/12405 +f 1529/2616/12406 1530/1613/12407 1527/1610/12408 +f 1296/1378/12409 1527/1610/12410 1534/1617/12411 +f 1534/1617/12412 1293/1377/12413 1296/1378/12414 +f 1293/1377/12415 1534/1617/12416 1537/1620/12417 +f 1537/1620/12418 1292/479/12419 1293/1377/12420 +f 1292/479/12421 1537/1620/12422 1540/1623/12423 +f 1540/1623/12424 1506/1425/12425 1292/479/12426 +f 1506/1425/12427 1540/1623/12428 1543/1626/12429 +f 1543/1626/12430 1507/1589/12431 1506/1425/12432 +f 1507/1589/12433 1543/1626/12434 1324/1405/12435 +f 1324/1405/12436 1322/1381/12437 1507/1589/12438 +f 1556/1639/12439 1526/1608/12440 1523/1606/12441 +f 1523/1606/12442 1522/1605/12443 1556/1639/12444 +f 1323/1406/12445 1556/1639/12446 1522/1605/12447 +f 1522/1605/12448 1321/1403/12449 1323/1406/12450 +f 1509/1591/12451 1322/1381/12452 1319/1380/12453 +f 1319/1380/12454 1510/1593/12455 1509/1591/12456 +f 1546/1630/12457 1547/1629/12458 1575/1659/12459 +f 1575/1659/12460 2172/2256/12461 1546/1630/12462 +f 1549/1631/12463 1546/1630/12464 2172/2256/12465 +f 2172/2256/12466 2173/2257/12467 1549/1631/12468 +f 2174/2258/12469 1552/1634/12470 1549/1631/12471 +f 1549/1631/12472 2173/2257/12473 2174/2258/12474 +f 1562/1643/12475 1557/1640/12476 1552/1634/12477 +f 1552/1634/12478 2174/2258/12479 1562/1643/12480 +f 1559/2618/12481 1558/1641/12482 1557/1640/12483 +f 1557/1640/12484 1562/1643/12485 1559/2618/12486 +f 1558/2617/12487 1565/1648/12488 1531/1612/12489 +f 1531/1612/12490 1528/1611/12491 1558/2617/12492 +f 1531/1612/12493 1565/1648/12494 1568/1651/12495 +f 1568/1651/12496 1532/1615/12497 1531/1612/12498 +f 1532/1615/12499 1568/1651/12500 1571/1654/12501 +f 1571/1654/12502 1535/1618/12503 1532/1615/12504 +f 1535/1618/12505 1571/1654/12506 1574/1657/12507 +f 1574/1657/12508 1538/1621/12509 1535/1618/12510 +f 1538/1621/12511 1574/1657/12512 1547/1629/12513 +f 1547/1629/12514 1541/1624/12515 1538/1621/12516 +f 1560/1645/12517 1561/1644/12518 1591/1674/12519 +f 1591/1674/12520 1593/1675/12521 1560/1645/12522 +f 1564/1646/12523 1560/2619/12524 1593/2620/12525 +f 1593/2620/12526 1595/1677/12527 1564/1646/12528 +f 1567/1649/12529 1564/1646/12530 1595/1677/12531 +f 1595/1677/12532 1597/1679/12533 1567/1649/12534 +f 1570/1652/12535 1567/1649/12536 1597/1679/12537 +f 1597/1679/12538 1599/1681/12539 1570/1652/12540 +f 1578/1663/12541 1573/1655/12542 1570/1652/12543 +f 1570/1652/12544 1599/1681/12545 1578/1663/12546 +f 1579/1662/12547 1576/1658/12548 1573/1655/12549 +f 1573/1655/12550 1578/1663/12551 1579/1662/12552 +f 1575/1659/12553 1576/1658/12554 1583/1666/12555 +f 1583/1666/12556 2172/2256/12557 1575/1659/12558 +f 2172/2256/12559 1583/1666/12560 1586/1669/12561 +f 1586/1669/12562 2173/2257/12563 2172/2256/12564 +f 2173/2257/12565 1586/1669/12566 1589/1672/12567 +f 1589/1672/12568 2174/2258/12569 2173/2257/12570 +f 1589/1672/12571 1561/1644/12572 1562/1643/12573 +f 1562/1643/12574 2174/2258/12575 1589/1672/12576 +f 608/2569/12577 609/2573/12578 447/531/12579 +f 447/531/12580 448/530/12581 608/2569/12582 +f 609/2573/12583 611/695/12584 610/694/12585 +f 610/694/12586 447/531/12587 609/2573/12588 +f 614/700/12589 446/532/12590 447/531/12591 +f 447/531/12592 610/694/12593 614/700/12594 +f 2175/2622/12595 2176/2623/12596 2177/2626/12597 +f 2177/2626/12598 2178/2629/12599 2175/2622/12600 +f 2330/2806/12601 2331/2807/12602 2179/2646/12603 +f 2179/2646/12604 2180/2647/12605 2330/2806/12606 +f 2181/2624/12607 2179/2625/12608 2331/2808/12609 +f 2331/2808/12610 2332/2809/12611 2181/2624/12612 +f 2181/2624/12613 2332/2809/12614 2333/2810/12615 +f 2333/2810/12616 2184/2631/12617 2181/2624/12618 +f 2185/2632/12619 2183/2630/12620 2182/2628/12621 +f 2182/2628/12622 2186/2633/12623 2185/2632/12624 +f 2187/2634/12625 2188/2635/12626 2183/2630/12627 +f 2183/2630/12628 2185/2632/12629 2187/2634/12630 +f 2189/2636/12631 2190/2637/12632 2187/2634/12633 +f 2187/2634/12634 2191/2638/12635 2189/2636/12636 +f 2189/2649/12637 2192/2657/12638 2193/2659/12639 +f 2193/2659/12640 2194/2661/12641 2189/2649/12642 +f 2192/2657/12643 2195/2662/12644 2196/2663/12645 +f 2196/2663/12646 2193/2659/12647 2192/2657/12648 +s 2 +f 2195/2639/12649 2197/2640/12650 2198/2641/12651 +f 2198/2641/12652 2199/2642/12653 2195/2639/12654 +s 1 +f 2192/2643/12655 2200/2644/12656 2197/2640/12657 +f 2197/2640/12658 2195/2639/12659 2192/2643/12660 +s 2 +f 2201/2645/12661 2202/2648/12662 2198/2641/12663 +f 2198/2641/12664 2197/2640/12665 2201/2645/12666 +s 1 +f 2200/2644/12667 2203/2650/12668 2201/2645/12669 +f 2201/2645/12670 2197/2640/12671 2200/2644/12672 +s 2 +f 2196/2663/12673 2195/2662/12674 2199/2664/12675 +f 2199/2664/12676 2204/2665/12677 2196/2663/12678 +s 1 +f 2205/2666/12679 2206/2667/12680 2204/2665/12681 +f 2204/2665/12682 2199/2664/12683 2205/2666/12684 +f 2198/2641/12685 2207/2651/12686 2205/2652/12687 +f 2205/2652/12688 2199/2642/12689 2198/2641/12690 +f 2194/2661/12691 2193/2659/12692 2208/2668/12693 +f 2208/2668/12694 2209/2669/12695 2194/2661/12696 +f 2194/2661/12697 2210/2670/12698 2190/2687/12699 +f 2190/2687/12700 2189/2649/12701 2194/2661/12702 +f 2209/2669/12703 2211/2688/12704 2210/2670/12705 +f 2210/2670/12706 2194/2661/12707 2209/2669/12708 +f 2212/2690/12709 2208/2668/12710 2193/2659/12711 +f 2193/2659/12712 2196/2663/12713 2212/2690/12714 +f 2213/2691/12715 2214/2692/12716 2209/2669/12717 +f 2209/2669/12718 2208/2668/12719 2213/2691/12720 +f 2213/2691/12721 2208/2668/12722 2212/2690/12723 +f 2212/2690/12724 2215/2693/12725 2213/2691/12726 +f 2189/2636/12727 2191/2638/12728 2200/2644/12729 +f 2200/2644/12730 2192/2643/12731 2189/2636/12732 +f 2191/2638/12733 2216/2653/12734 2203/2650/12735 +f 2203/2650/12736 2200/2644/12737 2191/2638/12738 +f 2216/2653/12739 2217/2654/12740 2218/2655/12741 +f 2218/2655/12742 2203/2650/12743 2216/2653/12744 +f 2217/2654/12745 2216/2653/12746 2185/2632/12747 +f 2185/2632/12748 2186/2633/12749 2217/2654/12750 +f 2185/2632/12751 2216/2653/12752 2191/2638/12753 +f 2191/2638/12754 2187/2634/12755 2185/2632/12756 +f 2219/2656/12757 2188/2635/12758 2187/2634/12759 +f 2187/2634/12760 2190/2637/12761 2219/2656/12762 +f 2335/2812/12763 2220/2658/12764 2221/2660/12765 +f 2221/2660/12766 2334/2811/12767 2335/2812/12768 +s 2 +f 2220/2694/12769 2222/2695/12770 2223/2696/12771 +f 2223/2696/12772 2224/2697/12773 2220/2694/12774 +s 1 +f 2335/2813/12775 2336/2814/12776 2222/2695/12777 +f 2222/2695/12778 2220/2694/12779 2335/2813/12780 +f 2226/2740/12781 2227/2757/12782 2222/2695/12783 +f 2222/2695/12784 2336/2814/12785 2226/2740/12786 +f 2210/2670/12787 2211/2688/12788 2337/2815/12789 +f 2337/2815/12790 2225/2699/12791 2210/2670/12792 +f 2190/2687/12793 2210/2670/12794 2225/2699/12795 +f 2225/2699/12796 2219/2698/12797 2190/2687/12798 +s 4 +f 2227/2757/12799 2228/2759/12800 2223/2696/12801 +f 2223/2696/12802 2222/2695/12803 2227/2757/12804 +s 8 +f 2228/2759/12805 2227/2757/12806 2180/2647/12807 +f 2180/2647/12808 2229/2760/12809 2228/2759/12810 +s 2 +f 2230/2671/12811 2221/2660/12812 2220/2658/12813 +f 2220/2658/12814 2224/2672/12815 2230/2671/12816 +f 2221/2660/12817 2230/2671/12818 2231/2673/12819 +f 2231/2673/12820 2184/2631/12821 2221/2660/12822 +s 1 +f 2334/2811/12823 2221/2660/12824 2184/2631/12825 +f 2184/2631/12826 2333/2810/12827 2334/2811/12828 +f 2177/2674/12829 2186/2633/12830 2182/2628/12831 +f 2182/2628/12832 2178/2627/12833 2177/2674/12834 +f 2232/2675/12835 2186/2633/12836 2177/2674/12837 +f 2177/2674/12838 2233/2676/12839 2232/2675/12840 +f 2232/2675/12841 2234/2677/12842 2217/2654/12843 +f 2217/2654/12844 2186/2633/12845 2232/2675/12846 +f 2235/2678/12847 2236/2679/12848 2234/2677/12849 +f 2234/2677/12850 2237/2680/12851 2235/2678/12852 +f 2235/2678/12853 2238/2681/12854 2239/2682/12855 +f 2239/2682/12856 2240/2683/12857 2235/2678/12858 +f 2239/2682/12859 2238/2681/12860 2241/2684/12861 +f 2241/2684/12862 2242/2685/12863 2239/2682/12864 +s 2 +f 2239/2682/12865 2243/2686/12866 2244/2689/12867 +f 2244/2689/12868 2240/2683/12869 2239/2682/12870 +f 2243/2686/12871 2239/2682/12872 2242/2685/12873 +f 2242/2685/12874 2245/2700/12875 2243/2686/12876 +s 1 +f 2238/2681/12877 2246/2701/12878 2247/2702/12879 +f 2247/2702/12880 2241/2684/12881 2238/2681/12882 +f 2241/2684/12883 2248/2703/12884 2249/2704/12885 +f 2249/2704/12886 2242/2685/12887 2241/2684/12888 +f 2247/2702/12889 2250/2705/12890 2248/2703/12891 +f 2248/2703/12892 2241/2684/12893 2247/2702/12894 +f 2237/2680/12895 2246/2701/12896 2238/2681/12897 +f 2238/2681/12898 2235/2678/12899 2237/2680/12900 +f 2251/2706/12901 2252/2707/12902 2246/2701/12903 +f 2246/2701/12904 2237/2680/12905 2251/2706/12906 +f 2234/2677/12907 2232/2675/12908 2251/2706/12909 +f 2251/2706/12910 2237/2680/12911 2234/2677/12912 +f 2236/2679/12913 2235/2678/12914 2240/2683/12915 +f 2240/2683/12916 2253/2708/12917 2236/2679/12918 +f 2217/2654/12919 2234/2677/12920 2236/2679/12921 +f 2236/2679/12922 2218/2655/12923 2217/2654/12924 +f 2236/2679/12925 2253/2708/12926 2254/2709/12927 +f 2254/2709/12928 2218/2655/12929 2236/2679/12930 +s 2 +f 2254/2709/12931 2253/2708/12932 2255/2710/12933 +f 2255/2710/12934 2256/2711/12935 2254/2709/12936 +f 2240/2683/12937 2244/2689/12938 2255/2710/12939 +f 2255/2710/12940 2253/2708/12941 2240/2683/12942 +s 1 +f 2233/2676/12943 2257/2712/12944 2251/2706/12945 +f 2251/2706/12946 2232/2675/12947 2233/2676/12948 +f 2257/2741/12949 2233/2742/12950 2258/2743/12951 +f 2258/2743/12952 2259/2744/12953 2257/2741/12954 +s 2 +f 2251/2706/12955 2257/2712/12956 2260/2713/12957 +f 2260/2713/12958 2261/2714/12959 2251/2706/12960 +s 1 +f 2262/2745/12961 2263/2746/12962 2322/2796/12963 +f 2322/2796/12964 2324/2799/12965 2262/2745/12966 +s 2 +f 2262/2745/12967 2265/2749/12968 2266/2750/12969 +f 2266/2750/12970 2263/2746/12971 2262/2745/12972 +f 2265/2749/12973 2262/2745/12974 2267/2751/12975 +f 2267/2751/12976 2268/2752/12977 2265/2749/12978 +s 1 +f 2324/2799/12979 2325/2800/12980 2267/2751/12981 +f 2267/2751/12982 2262/2745/12983 2324/2799/12984 +f 2259/2744/12985 2264/2748/12986 2260/2747/12987 +f 2260/2747/12988 2257/2741/12989 2259/2744/12990 +f 2259/2744/12991 2270/2754/12992 2269/2753/12993 +f 2269/2753/12994 2264/2748/12995 2259/2744/12996 +f 2259/2744/12997 2271/2755/12998 2272/2756/12999 +f 2272/2756/13000 2270/2754/13001 2259/2744/13002 +f 2273/2758/13003 2271/2755/13004 2259/2744/13005 +f 2259/2744/13006 2258/2743/13007 2273/2758/13008 +f 2274/2715/13009 2323/2798/13010 2322/2797/13011 +f 2322/2797/13012 2263/2716/13013 2274/2715/13014 +s 2 +f 2274/2715/13015 2275/2717/13016 2276/2718/13017 +f 2276/2718/13018 2277/2719/13019 2274/2715/13020 +s 4 +f 2275/2717/13021 2274/2715/13022 2263/2716/13023 +f 2263/2716/13024 2266/2720/13025 2275/2717/13026 +s 1 +f 2323/2798/13027 2274/2715/13028 2277/2719/13029 +f 2277/2719/13030 2326/2801/13031 2323/2798/13032 +f 2177/2626/13033 2176/2623/13034 2258/2743/13035 +f 2258/2743/13036 2233/2742/13037 2177/2626/13038 +s 8 +f 2279/2722/13039 2280/2723/13040 2179/2625/13041 +f 2179/2625/13042 2181/2624/13043 2279/2722/13044 +s 2 +f 2184/2631/13045 2231/2673/13046 2279/2722/13047 +f 2279/2722/13048 2181/2624/13049 2184/2631/13050 +s 8 +f 2280/2761/13051 2229/2760/13052 2180/2647/13053 +f 2180/2647/13054 2179/2646/13055 2280/2761/13056 +s 1 +f 2176/2623/13057 2175/2622/13058 2337/2815/13059 +f 2337/2815/13060 2211/2688/13061 2176/2623/13062 +f 2227/2757/13063 2226/2740/13064 2330/2806/13065 +f 2330/2806/13066 2180/2647/13067 2227/2757/13068 +f 2214/2692/13069 2273/2758/13070 2258/2743/13071 +f 2258/2743/13072 2176/2623/13073 2214/2692/13074 +f 2176/2623/13075 2211/2688/13076 2209/2669/13077 +f 2209/2669/13078 2214/2692/13079 2176/2623/13080 +f 2214/2692/13081 2213/2691/13082 2281/2762/13083 +f 2281/2762/13084 2273/2758/13085 2214/2692/13086 +f 2281/2762/13087 2282/2765/13088 2271/2755/13089 +f 2271/2755/13090 2273/2758/13091 2281/2762/13092 +f 2282/2765/13093 2283/2766/13094 2284/2767/13095 +f 2284/2767/13096 2285/2768/13097 2282/2765/13098 +s 2 +f 2283/2766/13099 2286/2769/13100 2287/2772/13101 +f 2287/2772/13102 2284/2767/13103 2283/2766/13104 +s 1 +f 2286/2769/13105 2288/2763/13106 2289/2771/13107 +f 2289/2771/13108 2290/2776/13109 2286/2769/13110 +f 2288/2763/13111 2291/2764/13112 2292/2770/13113 +f 2292/2770/13114 2289/2771/13115 2288/2763/13116 +f 2293/2773/13117 2294/2774/13118 2292/2770/13119 +f 2292/2770/13120 2291/2764/13121 2293/2773/13122 +f 2294/2774/13123 2293/2773/13124 2204/2665/13125 +f 2204/2665/13126 2206/2667/13127 2294/2774/13128 +s 2 +f 2212/2690/13129 2196/2663/13130 2204/2665/13131 +f 2204/2665/13132 2293/2773/13133 2212/2690/13134 +f 2215/2693/13135 2212/2690/13136 2293/2773/13137 +f 2293/2773/13138 2291/2764/13139 2215/2693/13140 +f 2215/2693/13141 2291/2764/13142 2288/2763/13143 +f 2288/2763/13144 2295/2775/13145 2215/2693/13146 +f 2288/2763/13147 2286/2769/13148 2283/2766/13149 +f 2283/2766/13150 2295/2775/13151 2288/2763/13152 +s 1 +f 2213/2691/13153 2215/2693/13154 2295/2775/13155 +f 2295/2775/13156 2281/2762/13157 2213/2691/13158 +f 2281/2762/13159 2295/2775/13160 2283/2766/13161 +f 2283/2766/13162 2282/2765/13163 2281/2762/13164 +f 2287/2772/13165 2286/2769/13166 2290/2776/13167 +f 2290/2776/13168 2296/2777/13169 2287/2772/13170 +s 2 +f 2287/2772/13171 2297/2778/13172 2298/2779/13173 +f 2298/2779/13174 2284/2767/13175 2287/2772/13176 +f 2298/2779/13177 2297/2778/13178 2299/2780/13179 +f 2299/2780/13180 2249/2781/13181 2298/2779/13182 +s 1 +f 2298/2779/13183 2300/2782/13184 2285/2768/13185 +f 2285/2768/13186 2284/2767/13187 2298/2779/13188 +f 2298/2779/13189 2249/2781/13190 2248/2783/13191 +f 2248/2783/13192 2300/2782/13193 2298/2779/13194 +f 2300/2782/13195 2301/2784/13196 2272/2756/13197 +f 2272/2756/13198 2285/2768/13199 2300/2782/13200 +f 2301/2784/13201 2300/2782/13202 2248/2783/13203 +f 2248/2783/13204 2250/2785/13205 2301/2784/13206 +f 2270/2754/13207 2272/2756/13208 2301/2784/13209 +f 2301/2784/13210 2302/2786/13211 2270/2754/13212 +f 2250/2785/13213 2303/2787/13214 2302/2786/13215 +f 2302/2786/13216 2301/2784/13217 2250/2785/13218 +f 2271/2755/13219 2282/2765/13220 2285/2768/13221 +f 2285/2768/13222 2272/2756/13223 2271/2755/13224 +s 2 +f 2242/2685/13225 2249/2704/13226 2299/2724/13227 +f 2299/2724/13228 2245/2700/13229 2242/2685/13230 +s 1 +f 2304/2725/13231 2245/2700/13232 2299/2724/13233 +f 2299/2724/13234 2305/2726/13235 2304/2725/13236 +f 2306/2727/13237 2243/2686/13238 2245/2700/13239 +f 2245/2700/13240 2304/2725/13241 2306/2727/13242 +f 2244/2689/13243 2243/2686/13244 2306/2727/13245 +f 2306/2727/13246 2307/2728/13247 2244/2689/13248 +f 2299/2780/13249 2297/2778/13250 2308/2788/13251 +f 2308/2788/13252 2305/2789/13253 2299/2780/13254 +f 2287/2772/13255 2296/2777/13256 2308/2788/13257 +f 2308/2788/13258 2297/2778/13259 2287/2772/13260 +f 2254/2709/13261 2201/2645/13262 2203/2650/13263 +f 2203/2650/13264 2218/2655/13265 2254/2709/13266 +s 2 +f 2254/2709/13267 2256/2711/13268 2202/2648/13269 +f 2202/2648/13270 2201/2645/13271 2254/2709/13272 +s 1 +f 2261/2714/13273 2278/2721/13274 2252/2707/13275 +f 2252/2707/13276 2251/2706/13277 2261/2714/13278 +f 2309/2729/13279 2326/2801/13280 2277/2719/13281 +f 2277/2719/13282 2310/2730/13283 2309/2729/13284 +f 2278/2721/13285 2327/2802/13286 2311/2731/13287 +f 2311/2731/13288 2252/2707/13289 2278/2721/13290 +f 2247/2702/13291 2246/2701/13292 2252/2707/13293 +f 2252/2707/13294 2311/2731/13295 2247/2702/13296 +f 2303/2732/13297 2250/2705/13298 2247/2702/13299 +f 2247/2702/13300 2311/2731/13301 2303/2732/13302 +f 2312/2733/13303 2303/2732/13304 2311/2731/13305 +f 2311/2731/13306 2327/2802/13307 2312/2733/13308 +f 2328/2803/13309 2313/2791/13310 2314/2792/13311 +f 2314/2792/13312 2329/2805/13313 2328/2803/13314 +s 4 +f 2316/2794/13315 2317/2795/13316 2314/2792/13317 +f 2314/2792/13318 2313/2791/13319 2316/2794/13320 +f 2318/2734/13321 2316/2735/13322 2313/2736/13323 +f 2313/2736/13324 2310/2730/13325 2318/2734/13326 +f 2276/2718/13327 2318/2734/13328 2310/2730/13329 +f 2310/2730/13330 2277/2719/13331 2276/2718/13332 +s 1 +f 2328/2804/13333 2309/2729/13334 2310/2730/13335 +f 2310/2730/13336 2313/2736/13337 2328/2804/13338 +s 8 +f 2314/2792/13339 2317/2795/13340 2268/2752/13341 +f 2268/2752/13342 2267/2751/13343 2314/2792/13344 +s 1 +f 2325/2800/13345 2329/2805/13346 2314/2792/13347 +f 2314/2792/13348 2267/2751/13349 2325/2800/13350 +f 2302/2786/13351 2303/2787/13352 2312/2790/13353 +f 2312/2790/13354 2315/2793/13355 2302/2786/13356 +f 2315/2793/13357 2269/2753/13358 2270/2754/13359 +f 2270/2754/13360 2302/2786/13361 2315/2793/13362 +f 2319/2737/13363 2255/2710/13364 2244/2689/13365 +f 2244/2689/13366 2307/2728/13367 2319/2737/13368 +f 2320/2738/13369 2256/2711/13370 2255/2710/13371 +f 2255/2710/13372 2319/2737/13373 2320/2738/13374 +f 2256/2711/13375 2320/2738/13376 2321/2739/13377 +f 2321/2739/13378 2202/2648/13379 2256/2711/13380 +f 2321/2739/13381 2207/2651/13382 2198/2641/13383 +f 2198/2641/13384 2202/2648/13385 2321/2739/13386 +f 2260/2713/13387 2322/2797/13388 2323/2798/13389 +f 2323/2798/13390 2261/2714/13391 2260/2713/13392 +f 2322/2796/13393 2260/2747/13394 2264/2748/13395 +f 2264/2748/13396 2324/2799/13397 2322/2796/13398 +f 2324/2799/13399 2264/2748/13400 2269/2753/13401 +f 2269/2753/13402 2325/2800/13403 2324/2799/13404 +f 2326/2801/13405 2278/2721/13406 2261/2714/13407 +f 2261/2714/13408 2323/2798/13409 2326/2801/13410 +f 2309/2729/13411 2327/2802/13412 2278/2721/13413 +f 2278/2721/13414 2326/2801/13415 2309/2729/13416 +f 2327/2802/13417 2309/2729/13418 2328/2804/13419 +f 2328/2804/13420 2312/2733/13421 2327/2802/13422 +f 2329/2805/13423 2315/2793/13424 2312/2790/13425 +f 2312/2790/13426 2328/2803/13427 2329/2805/13428 +f 2325/2800/13429 2269/2753/13430 2315/2793/13431 +f 2315/2793/13432 2329/2805/13433 2325/2800/13434 +f 2178/2629/13435 2331/2807/13436 2330/2806/13437 +f 2330/2806/13438 2175/2622/13439 2178/2629/13440 +f 2331/2808/13441 2178/2627/13442 2182/2628/13443 +f 2182/2628/13444 2332/2809/13445 2331/2808/13446 +f 2332/2809/13447 2182/2628/13448 2183/2630/13449 +f 2183/2630/13450 2333/2810/13451 2332/2809/13452 +f 2188/2635/13453 2334/2811/13454 2333/2810/13455 +f 2333/2810/13456 2183/2630/13457 2188/2635/13458 +f 2219/2656/13459 2335/2812/13460 2334/2811/13461 +f 2334/2811/13462 2188/2635/13463 2219/2656/13464 +f 2335/2813/13465 2219/2698/13466 2225/2699/13467 +f 2225/2699/13468 2336/2814/13469 2335/2813/13470 +f 2336/2814/13471 2225/2699/13472 2337/2815/13473 +f 2337/2815/13474 2226/2740/13475 2336/2814/13476 +f 2175/2622/13477 2330/2806/13478 2226/2740/13479 +f 2226/2740/13480 2337/2815/13481 2175/2622/13482 +f 2340/2818/13483 2341/2819/13484 2338/2816/13485 +f 2338/2816/13486 2339/2817/13487 2340/2818/13488 +f 2426/2820/13489 2427/2821/13490 2344/2822/13491 +f 2344/2822/13492 2338/2816/13493 2426/2820/13494 +f 2346/2825/13495 2347/2826/13496 2448/2823/13497 +f 2448/2823/13498 2450/2824/13499 2346/2825/13500 +f 2451/2827/13501 2349/2828/13502 2346/2825/13503 +f 2346/2825/13504 2450/2824/13505 2451/2827/13506 +f 2428/2830/13507 2429/2831/13508 2348/2832/13509 +f 2348/2832/13510 2345/2829/13511 2428/2830/13512 +f 2351/2833/13513 2350/2834/13514 2341/2819/13515 +f 2341/2819/13516 2340/2818/13517 2351/2833/13518 +f 2352/2835/13519 2353/2836/13520 2350/2834/13521 +f 2350/2834/13522 2351/2833/13523 2352/2835/13524 +f 2350/2834/13525 2353/2836/13526 2430/2837/13527 +f 2430/2837/13528 2429/2831/13529 2350/2834/13530 +f 2354/2838/13531 2430/2837/13532 2431/2839/13533 +f 2431/2839/13534 2356/2840/13535 2354/2838/13536 +f 2357/2842/13537 2349/2828/13538 2451/2827/13539 +f 2451/2827/13540 2452/2841/13541 2357/2842/13542 +f 2358/2844/13543 2357/2842/13544 2452/2841/13545 +f 2452/2841/13546 2453/2843/13547 2358/2844/13548 +f 2432/2846/13549 2431/2839/13550 2355/2847/13551 +f 2355/2847/13552 2359/2845/13553 2432/2846/13554 +f 2362/2849/13555 2363/2850/13556 2359/2845/13557 +f 2359/2845/13558 2361/2848/13559 2362/2849/13560 +f 2361/2848/13561 2359/2845/13562 2355/2847/13563 +f 2355/2847/13564 2364/2851/13565 2361/2848/13566 +f 2365/2852/13567 2360/2853/13568 2432/2846/13569 +f 2432/2846/13570 2433/2854/13571 2365/2852/13572 +f 2355/2847/13573 2353/2836/13574 2352/2835/13575 +f 2352/2835/13576 2364/2851/13577 2355/2847/13578 +f 2345/2829/13579 2342/2855/13580 2426/2820/13581 +f 2426/2820/13582 2428/2830/13583 2345/2829/13584 +f 2366/2856/13585 2343/2857/13586 2448/2823/13587 +f 2448/2823/13588 2347/2826/13589 2366/2856/13590 +f 2368/2859/13591 2343/2857/13592 2366/2856/13593 +f 2366/2856/13594 2367/2858/13595 2368/2859/13596 +f 2370/2861/13597 2368/2859/13598 2367/2858/13599 +f 2367/2858/13600 2369/2860/13601 2370/2861/13602 +f 2371/2862/13603 2372/2863/13604 2370/2861/13605 +f 2370/2861/13606 2369/2860/13607 2371/2862/13608 +f 2434/2865/13609 2435/2866/13610 2456/2867/13611 +f 2456/2867/13612 2457/2864/13613 2434/2865/13614 +f 2458/2868/13615 2436/2869/13616 2434/2865/13617 +f 2434/2865/13618 2457/2864/13619 2458/2868/13620 +f 2459/2870/13621 2437/2871/13622 2436/2869/13623 +f 2436/2869/13624 2458/2868/13625 2459/2870/13626 +f 2379/2874/13627 2380/2875/13628 2378/2872/13629 +f 2378/2872/13630 2376/2873/13631 2379/2874/13632 +f 2371/2862/13633 2379/2874/13634 2376/2873/13635 +f 2376/2873/13636 2372/2863/13637 2371/2862/13638 +f 2377/2876/13639 2437/2871/13640 2438/2877/13641 +f 2438/2877/13642 2381/2878/13643 2377/2876/13644 +f 2382/2880/13645 2383/2881/13646 2375/2879/13647 +f 2375/2879/13648 2377/2876/13649 2382/2880/13650 +f 2375/2879/13651 2383/2881/13652 2384/2882/13653 +f 2384/2882/13654 2373/2883/13655 2375/2879/13656 +f 2384/2882/13657 2385/2885/13658 2374/2884/13659 +f 2374/2884/13660 2373/2883/13661 2384/2882/13662 +f 2386/2886/13663 2344/2822/13664 2374/2884/13665 +f 2374/2884/13666 2385/2885/13667 2386/2886/13668 +f 2344/2822/13669 2386/2886/13670 2339/2817/13671 +f 2339/2817/13672 2338/2816/13673 2344/2822/13674 +f 2449/2887/13675 2456/2867/13676 2435/2866/13677 +f 2435/2866/13678 2427/2821/13679 2449/2887/13680 +f 2454/2888/13681 2387/2889/13682 2358/2844/13683 +f 2358/2844/13684 2453/2843/13685 2454/2888/13686 +f 2388/2891/13687 2387/2889/13688 2454/2888/13689 +f 2454/2888/13690 2455/2890/13691 2388/2891/13692 +f 2390/2893/13693 2388/2953/13694 2455/2952/13695 +f 2455/2952/13696 2461/2892/13697 2390/2893/13698 +f 2392/2895/13699 2390/2893/13700 2461/2892/13701 +f 2461/2892/13702 2462/2894/13703 2392/2895/13704 +f 2392/2895/13705 2462/2894/13706 2463/2896/13707 +f 2463/2896/13708 2394/2897/13709 2392/2895/13710 +f 2394/2897/13711 2463/2896/13712 2464/2898/13713 +f 2464/2898/13714 2396/2899/13715 2394/2897/13716 +f 2396/2899/13717 2464/2898/13718 2465/2900/13719 +f 2465/2900/13720 2398/2901/13721 2396/2899/13722 +f 2400/2903/13723 2398/2901/13724 2465/2900/13725 +f 2465/2900/13726 2466/2902/13727 2400/2903/13728 +f 2402/2905/13729 2439/2906/13730 2440/2907/13731 +f 2440/2907/13732 2401/2904/13733 2402/2905/13734 +f 2403/2908/13735 2404/2909/13736 2402/2905/13737 +f 2402/2905/13738 2401/2904/13739 2403/2908/13740 +f 2405/2910/13741 2441/2911/13742 2439/2906/13743 +f 2439/2906/13744 2402/2905/13745 2405/2910/13746 +f 2405/2910/13747 2402/2905/13748 2404/2909/13749 +f 2404/2909/13750 2407/2912/13751 2405/2910/13752 +f 2409/2914/13753 2403/2908/13754 2401/2904/13755 +f 2401/2904/13756 2408/2913/13757 2409/2914/13758 +f 2442/2916/13759 2440/2907/13760 2397/2917/13761 +f 2397/2917/13762 2395/2915/13763 2442/2916/13764 +f 2467/2918/13765 2410/2919/13766 2400/2903/13767 +f 2400/2903/13768 2466/2902/13769 2467/2918/13770 +f 2412/2921/13771 2410/2919/13772 2467/2918/13773 +f 2467/2918/13774 2468/2920/13775 2412/2921/13776 +f 2413/2922/13777 2414/2923/13778 2412/2921/13779 +f 2412/2921/13780 2468/2920/13781 2413/2922/13782 +f 2416/2925/13783 2443/2926/13784 2444/2927/13785 +f 2444/2927/13786 2415/2924/13787 2416/2925/13788 +f 2406/2929/13789 2441/2911/13790 2444/2927/13791 +f 2444/2927/13792 2411/2928/13793 2406/2929/13794 +f 2417/2930/13795 2408/2913/13796 2442/2916/13797 +f 2442/2916/13798 2445/2931/13799 2417/2930/13800 +f 2445/2931/13801 2446/2932/13802 2418/2933/13803 +f 2418/2933/13804 2417/2930/13805 2445/2931/13806 +f 2420/2935/13807 2417/2930/13808 2418/2933/13809 +f 2418/2933/13810 2419/2934/13811 2420/2935/13812 +f 2422/2937/13813 2419/2934/13814 2418/2933/13815 +f 2418/2933/13816 2421/2936/13817 2422/2937/13818 +f 2421/2936/13819 2418/2933/13820 2446/2932/13821 +f 2446/2932/13822 2447/2938/13823 2421/2936/13824 +f 2363/2949/13825 2362/2948/13826 2422/2937/13827 +f 2422/2937/13828 2421/2936/13829 2363/2949/13830 +f 2433/2951/13831 2447/2938/13832 2389/2939/13833 +f 2389/2939/13834 2365/2950/13835 2433/2951/13836 +f 2409/2914/13837 2408/2913/13838 2417/2930/13839 +f 2417/2930/13840 2420/2935/13841 2409/2914/13842 +f 2405/2910/13843 2407/2912/13844 2423/2940/13845 +f 2423/2940/13846 2415/2924/13847 2405/2910/13848 +f 2423/2940/13849 2424/2941/13850 2416/2925/13851 +f 2416/2925/13852 2415/2924/13853 2423/2940/13854 +f 2425/2942/13855 2381/2957/13856 2416/2925/13857 +f 2416/2925/13858 2424/2941/13859 2425/2942/13860 +f 2377/2876/13861 2381/2878/13862 2425/2958/13863 +f 2425/2958/13864 2382/2880/13865 2377/2876/13866 +f 2381/2957/13867 2438/2956/13868 2443/2926/13869 +f 2443/2926/13870 2416/2925/13871 2381/2957/13872 +f 2378/2954/13873 2380/2955/13874 2414/2923/13875 +f 2414/2923/13876 2413/2922/13877 2378/2954/13878 +f 2342/2855/13879 2449/2887/13880 2427/2821/13881 +f 2427/2821/13882 2426/2820/13883 2342/2855/13884 +f 2341/2819/13885 2350/2834/13886 2429/2831/13887 +f 2429/2831/13888 2428/2830/13889 2341/2819/13890 +f 2430/2837/13891 2354/2838/13892 2348/2832/13893 +f 2348/2832/13894 2429/2831/13895 2430/2837/13896 +f 2353/2836/13897 2355/2847/13898 2431/2839/13899 +f 2431/2839/13900 2430/2837/13901 2353/2836/13902 +f 2360/2853/13903 2356/2840/13904 2431/2839/13905 +f 2431/2839/13906 2432/2846/13907 2360/2853/13908 +f 2359/2845/13909 2363/2850/13910 2433/2854/13911 +f 2433/2854/13912 2432/2846/13913 2359/2845/13914 +f 2338/2816/13915 2341/2819/13916 2428/2830/13917 +f 2428/2830/13918 2426/2820/13919 2338/2816/13920 +f 2373/2883/13921 2374/2884/13922 2435/2866/13923 +f 2435/2866/13924 2434/2865/13925 2373/2883/13926 +f 2436/2869/13927 2375/2879/13928 2373/2883/13929 +f 2373/2883/13930 2434/2865/13931 2436/2869/13932 +f 2437/2871/13933 2377/2876/13934 2375/2879/13935 +f 2375/2879/13936 2436/2869/13937 2437/2871/13938 +f 2437/2871/13939 2459/2870/13940 2460/2943/13941 +f 2460/2943/13942 2438/2877/13943 2437/2871/13944 +f 2374/2884/13945 2344/2822/13946 2427/2821/13947 +f 2427/2821/13948 2435/2866/13949 2374/2884/13950 +f 2399/2944/13951 2397/2917/13952 2440/2907/13953 +f 2440/2907/13954 2439/2906/13955 2399/2944/13956 +f 2441/2911/13957 2406/2929/13958 2399/2944/13959 +f 2399/2944/13960 2439/2906/13961 2441/2911/13962 +f 2442/2916/13963 2408/2913/13964 2401/2904/13965 +f 2401/2904/13966 2440/2907/13967 2442/2916/13968 +f 2443/2926/13969 2469/2945/13970 2411/2928/13971 +f 2411/2928/13972 2444/2927/13973 2443/2926/13974 +f 2441/2911/13975 2405/2910/13976 2415/2924/13977 +f 2415/2924/13978 2444/2927/13979 2441/2911/13980 +f 2395/2915/13981 2393/2946/13982 2445/2931/13983 +f 2445/2931/13984 2442/2916/13985 2395/2915/13986 +f 2393/2946/13987 2391/2947/13988 2446/2932/13989 +f 2446/2932/13990 2445/2931/13991 2393/2946/13992 +f 2391/2947/13993 2389/2939/13994 2447/2938/13995 +f 2447/2938/13996 2446/2932/13997 2391/2947/13998 +f 2363/2949/13999 2421/2936/14000 2447/2938/14001 +f 2447/2938/14002 2433/2951/14003 2363/2949/14004 +f 2438/2956/14005 2460/2959/14006 2469/2945/14007 +f 2469/2945/14008 2443/2926/14009 2438/2956/14010 +f 2342/2855/14011 2448/2823/14012 2343/2857/14013 +f 2343/2857/14014 2449/2887/14015 2342/2855/14016 +f 2448/2823/14017 2342/2855/14018 2345/2829/14019 +f 2345/2829/14020 2450/2824/14021 2448/2823/14022 +f 2450/2824/14023 2345/2829/14024 2348/2832/14025 +f 2348/2832/14026 2451/2827/14027 2450/2824/14028 +f 2354/2838/14029 2452/2841/14030 2451/2827/14031 +f 2451/2827/14032 2348/2832/14033 2354/2838/14034 +f 2356/2840/14035 2453/2843/14036 2452/2841/14037 +f 2452/2841/14038 2354/2838/14039 2356/2840/14040 +f 2360/2853/14041 2454/2888/14042 2453/2843/14043 +f 2453/2843/14044 2356/2840/14045 2360/2853/14046 +f 2365/2852/14047 2455/2890/14048 2454/2888/14049 +f 2454/2888/14050 2360/2853/14051 2365/2852/14052 +f 2368/2859/14053 2456/2867/14054 2449/2887/14055 +f 2449/2887/14056 2343/2857/14057 2368/2859/14058 +f 2370/2861/14059 2457/2864/14060 2456/2867/14061 +f 2456/2867/14062 2368/2859/14063 2370/2861/14064 +f 2372/2863/14065 2458/2868/14066 2457/2864/14067 +f 2457/2864/14068 2370/2861/14069 2372/2863/14070 +f 2458/2868/14071 2372/2863/14072 2376/2873/14073 +f 2376/2873/14074 2459/2870/14075 2458/2868/14076 +f 2378/2872/14077 2460/2943/14078 2459/2870/14079 +f 2459/2870/14080 2376/2873/14081 2378/2872/14082 +f 2455/2952/14083 2365/2950/14084 2389/2939/14085 +f 2389/2939/14086 2461/2892/14087 2455/2952/14088 +f 2461/2892/14089 2389/2939/14090 2391/2947/14091 +f 2391/2947/14092 2462/2894/14093 2461/2892/14094 +f 2462/2894/14095 2391/2947/14096 2393/2946/14097 +f 2393/2946/14098 2463/2896/14099 2462/2894/14100 +f 2463/2896/14101 2393/2946/14102 2395/2915/14103 +f 2395/2915/14104 2464/2898/14105 2463/2896/14106 +f 2464/2898/14107 2395/2915/14108 2397/2917/14109 +f 2397/2917/14110 2465/2900/14111 2464/2898/14112 +f 2465/2900/14113 2397/2917/14114 2399/2944/14115 +f 2399/2944/14116 2466/2902/14117 2465/2900/14118 +f 2406/2929/14119 2467/2918/14120 2466/2902/14121 +f 2466/2902/14122 2399/2944/14123 2406/2929/14124 +f 2467/2918/14125 2406/2929/14126 2411/2928/14127 +f 2411/2928/14128 2468/2920/14129 2467/2918/14130 +f 2468/2920/14131 2411/2928/14132 2469/2945/14133 +f 2469/2945/14134 2413/2922/14135 2468/2920/14136 +f 2460/2959/14137 2378/2954/14138 2413/2922/14139 +f 2413/2922/14140 2469/2945/14141 2460/2959/14142 +f 2486/2962/14143 2487/2963/14144 2524/2960/14145 +f 2524/2960/14146 2532/2961/14147 2486/2962/14148 +f 2471/2965/14149 2524/2960/14150 2487/2963/14151 +f 2487/2963/14152 2479/2964/14153 2471/2965/14154 +f 2472/2967/14155 2471/2965/14156 2479/2964/14157 +f 2479/2964/14158 2480/2966/14159 2472/2967/14160 +f 2473/2969/14161 2472/2967/14162 2480/2966/14163 +f 2480/2966/14164 2481/2968/14165 2473/2969/14166 +f 2474/2971/14167 2473/3024/14168 2481/3023/14169 +f 2481/3023/14170 2482/2970/14171 2474/2971/14172 +f 2475/2973/14173 2474/2971/14174 2482/2970/14175 +f 2482/2970/14176 2483/2972/14177 2475/2973/14178 +f 2476/2975/14179 2475/2973/14180 2483/2972/14181 +f 2483/2972/14182 2484/2974/14183 2476/2975/14184 +f 2477/2977/14185 2476/2975/14186 2484/2974/14187 +f 2484/2974/14188 2485/2976/14189 2477/2977/14190 +f 2532/2961/14191 2477/2977/14192 2485/2976/14193 +f 2485/2976/14194 2486/2962/14195 2532/2961/14196 +f 2495/2978/14197 2494/2979/14198 2479/2964/14199 +f 2479/2964/14200 2487/2963/14201 2495/2978/14202 +f 2480/2966/14203 2479/2964/14204 2494/2979/14205 +f 2494/2979/14206 2493/2980/14207 2480/2966/14208 +f 2481/2968/14209 2480/2966/14210 2493/2980/14211 +f 2493/2980/14212 2492/2981/14213 2481/2968/14214 +f 2482/2970/14215 2481/3023/14216 2492/3025/14217 +f 2492/3025/14218 2491/2982/14219 2482/2970/14220 +f 2483/2972/14221 2482/2970/14222 2491/2982/14223 +f 2491/2982/14224 2490/2983/14225 2483/2972/14226 +f 2484/2974/14227 2483/2972/14228 2490/2983/14229 +f 2490/2983/14230 2489/2984/14231 2484/2974/14232 +f 2485/2976/14233 2484/2974/14234 2489/2984/14235 +f 2489/2984/14236 2488/2985/14237 2485/2976/14238 +f 2486/2962/14239 2485/2976/14240 2488/2985/14241 +f 2488/2985/14242 2496/2986/14243 2486/2962/14244 +f 2487/2963/14245 2486/2962/14246 2496/2986/14247 +f 2496/2986/14248 2495/2978/14249 2487/2963/14250 +f 2478/2989/14251 2470/2990/14252 2497/2987/14253 +f 2497/2987/14254 2505/2988/14255 2478/2989/14256 +f 2470/2990/14257 2525/2992/14258 2498/2991/14259 +f 2498/2991/14260 2497/2987/14261 2470/2990/14262 +f 2525/2992/14263 2526/2994/14264 2499/2993/14265 +f 2499/2993/14266 2498/2991/14267 2525/2992/14268 +f 2526/2994/14269 2527/2996/14270 2500/2995/14271 +f 2500/2995/14272 2499/2993/14273 2526/2994/14274 +f 2527/3027/14275 2528/2998/14276 2501/2997/14277 +f 2501/2997/14278 2500/3026/14279 2527/3027/14280 +f 2528/2998/14281 2529/3000/14282 2502/2999/14283 +f 2502/2999/14284 2501/2997/14285 2528/2998/14286 +f 2529/3000/14287 2530/3002/14288 2503/3001/14289 +f 2503/3001/14290 2502/2999/14291 2529/3000/14292 +f 2530/3002/14293 2531/3004/14294 2504/3003/14295 +f 2504/3003/14296 2503/3001/14297 2530/3002/14298 +f 2531/3004/14299 2478/2989/14300 2505/2988/14301 +f 2505/2988/14302 2504/3003/14303 2531/3004/14304 +f 2521/3007/14305 2522/3008/14306 2513/3005/14307 +f 2513/3005/14308 2512/3006/14309 2521/3007/14310 +f 2520/3010/14311 2521/3007/14312 2512/3006/14313 +f 2512/3006/14314 2511/3009/14315 2520/3010/14316 +f 2519/3012/14317 2520/3010/14318 2511/3009/14319 +f 2511/3009/14320 2510/3011/14321 2519/3012/14322 +f 2518/3014/14323 2519/3029/14324 2510/3028/14325 +f 2510/3028/14326 2509/3013/14327 2518/3014/14328 +f 2517/3016/14329 2518/3014/14330 2509/3013/14331 +f 2509/3013/14332 2508/3015/14333 2517/3016/14334 +f 2516/3018/14335 2517/3016/14336 2508/3015/14337 +f 2508/3015/14338 2507/3017/14339 2516/3018/14340 +f 2515/3020/14341 2516/3018/14342 2507/3017/14343 +f 2507/3017/14344 2506/3019/14345 2515/3020/14346 +f 2523/3022/14347 2515/3020/14348 2506/3019/14349 +f 2506/3019/14350 2514/3021/14351 2523/3022/14352 +f 2522/3008/14353 2523/3022/14354 2514/3021/14355 +f 2514/3021/14356 2513/3005/14357 2522/3008/14358 +f 2495/2978/14359 2522/3008/14360 2521/3007/14361 +f 2521/3007/14362 2494/2979/14363 2495/2978/14364 +f 2494/2979/14365 2521/3007/14366 2520/3010/14367 +f 2520/3010/14368 2493/2980/14369 2494/2979/14370 +f 2493/2980/14371 2520/3010/14372 2519/3012/14373 +f 2519/3012/14374 2492/2981/14375 2493/2980/14376 +f 2492/3025/14377 2519/3029/14378 2518/3014/14379 +f 2518/3014/14380 2491/2982/14381 2492/3025/14382 +f 2491/2982/14383 2518/3014/14384 2517/3016/14385 +f 2517/3016/14386 2490/2983/14387 2491/2982/14388 +f 2490/2983/14389 2517/3016/14390 2516/3018/14391 +f 2516/3018/14392 2489/2984/14393 2490/2983/14394 +f 2489/2984/14395 2516/3018/14396 2515/3020/14397 +f 2515/3020/14398 2488/2985/14399 2489/2984/14400 +f 2488/2985/14401 2515/3020/14402 2523/3022/14403 +f 2523/3022/14404 2496/2986/14405 2488/2985/14406 +f 2496/2986/14407 2523/3022/14408 2522/3008/14409 +f 2522/3008/14410 2495/2978/14411 2496/2986/14412 +f 2524/2960/14413 2470/2990/14414 2478/2989/14415 +f 2478/2989/14416 2532/2961/14417 2524/2960/14418 +f 2471/2965/14419 2525/2992/14420 2470/2990/14421 +f 2470/2990/14422 2524/2960/14423 2471/2965/14424 +f 2472/2967/14425 2526/2994/14426 2525/2992/14427 +f 2525/2992/14428 2471/2965/14429 2472/2967/14430 +f 2473/2969/14431 2527/2996/14432 2526/2994/14433 +f 2526/2994/14434 2472/2967/14435 2473/2969/14436 +f 2474/2971/14437 2528/2998/14438 2527/3027/14439 +f 2527/3027/14440 2473/3024/14441 2474/2971/14442 +f 2475/2973/14443 2529/3000/14444 2528/2998/14445 +f 2528/2998/14446 2474/2971/14447 2475/2973/14448 +f 2476/2975/14449 2530/3002/14450 2529/3000/14451 +f 2529/3000/14452 2475/2973/14453 2476/2975/14454 +f 2477/2977/14455 2531/3004/14456 2530/3002/14457 +f 2530/3002/14458 2476/2975/14459 2477/2977/14460 +f 2532/2961/14461 2478/2989/14462 2531/3004/14463 +f 2531/3004/14464 2477/2977/14465 2532/2961/14466 +f 2535/3035/14467 2536/3060/14468 2533/3032/14469 +f 2533/3032/14470 2534/3033/14471 2535/3035/14472 +f 2536/3060/14473 2538/3062/14474 2537/3061/14475 +f 2537/3061/14476 2533/3032/14477 2536/3060/14478 +f 2537/3034/14479 2540/3036/14480 2539/3030/14481 +f 2539/3030/14482 2533/3031/14483 2537/3034/14484 +f 2542/3038/14485 2543/3039/14486 2539/3030/14487 +f 2539/3030/14488 2541/3037/14489 2542/3038/14490 +f 2539/3030/14491 2540/3036/14492 2544/3040/14493 +f 2544/3040/14494 2541/3037/14495 2539/3030/14496 +f 2544/3040/14497 2540/3036/14498 2545/3041/14499 +f 2545/3041/14500 2546/3042/14501 2544/3040/14502 +f 2548/3044/14503 2546/3042/14504 2545/3041/14505 +f 2545/3041/14506 2547/3043/14507 2548/3044/14508 +f 2547/3048/14509 2550/3049/14510 2549/3046/14511 +f 2549/3046/14512 2548/3047/14513 2547/3048/14514 +f 2549/3046/14515 2550/3049/14516 2551/3050/14517 +f 2551/3050/14518 2552/3051/14519 2549/3046/14520 +f 2554/3053/14521 2552/3051/14522 2551/3050/14523 +f 2551/3050/14524 2553/3052/14525 2554/3053/14526 +f 2555/3054/14527 2556/3055/14528 2554/3053/14529 +f 2554/3053/14530 2553/3052/14531 2555/3054/14532 +f 2557/3056/14533 2558/3057/14534 2555/3054/14535 +f 2555/3054/14536 2553/3052/14537 2557/3056/14538 +f 2559/3068/14539 2557/3056/14540 2553/3052/14541 +f 2553/3052/14542 2551/3050/14543 2559/3068/14544 +f 2559/3068/14545 2551/3050/14546 2550/3049/14547 +f 2550/3049/14548 2560/3166/14549 2559/3068/14550 +f 2550/3049/14551 2547/3048/14552 2561/3175/14553 +f 2561/3175/14554 2560/3166/14555 2550/3049/14556 +f 2562/3045/14557 2561/3058/14558 2547/3043/14559 +f 2547/3043/14560 2545/3041/14561 2562/3045/14562 +f 2564/3065/14563 2561/3066/14564 2562/3063/14565 +f 2562/3063/14566 2563/3064/14567 2564/3065/14568 +f 2566/3069/14569 2564/3065/14570 2563/3064/14571 +f 2563/3064/14572 2565/3067/14573 2566/3069/14574 +f 2567/3070/14575 2568/3079/14576 2566/3069/14577 +f 2566/3069/14578 2565/3067/14579 2567/3070/14580 +f 2565/3067/14581 2570/3081/14582 2569/3080/14583 +f 2569/3080/14584 2567/3070/14585 2565/3067/14586 +f 2538/3062/14587 2570/3081/14588 2565/3067/14589 +f 2565/3067/14590 2563/3064/14591 2538/3062/14592 +f 2564/3065/14593 2572/3188/14594 2571/3082/14595 +f 2571/3082/14596 2561/3066/14597 2564/3065/14598 +f 2566/3069/14599 2573/3189/14600 2572/3188/14601 +f 2572/3188/14602 2564/3065/14603 2566/3069/14604 +f 2538/3062/14605 2563/3064/14606 2562/3063/14607 +f 2562/3063/14608 2537/3061/14609 2538/3062/14610 +f 2562/3045/14611 2545/3041/14612 2540/3036/14613 +f 2540/3036/14614 2537/3034/14615 2562/3045/14616 +f 2574/3059/14617 2575/3071/14618 2543/3039/14619 +f 2543/3039/14620 2542/3038/14621 2574/3059/14622 +f 2539/3030/14623 2543/3039/14624 2534/3072/14625 +f 2534/3072/14626 2533/3031/14627 2539/3030/14628 +f 2576/3073/14629 2534/3072/14630 2543/3039/14631 +f 2543/3039/14632 2575/3071/14633 2576/3073/14634 +f 2575/3071/14635 2578/3075/14636 2577/3074/14637 +f 2577/3074/14638 2576/3073/14639 2575/3071/14640 +f 2579/3076/14641 2580/3077/14642 2576/3073/14643 +f 2576/3073/14644 2577/3074/14645 2579/3076/14646 +f 2576/3073/14647 2580/3077/14648 2581/3078/14649 +f 2581/3078/14650 2534/3072/14651 2576/3073/14652 +f 2581/3190/14653 2582/3191/14654 2535/3035/14655 +f 2535/3035/14656 2534/3033/14657 2581/3190/14658 +f 2584/3193/14659 2536/3060/14660 2535/3035/14661 +f 2535/3035/14662 2583/3192/14663 2584/3193/14664 +f 2585/3194/14665 2583/3192/14666 2535/3035/14667 +f 2535/3035/14668 2582/3191/14669 2585/3194/14670 +f 2586/3083/14671 2587/3084/14672 2579/3076/14673 +f 2579/3076/14674 2577/3074/14675 2586/3083/14676 +f 2577/3074/14677 2578/3075/14678 2588/3085/14679 +f 2588/3085/14680 2586/3083/14681 2577/3074/14682 +f 2589/3086/14683 2590/3087/14684 2588/3085/14685 +f 2588/3085/14686 2578/3075/14687 2589/3086/14688 +f 2588/3085/14689 2592/3089/14690 2591/3088/14691 +f 2591/3088/14692 2586/3083/14693 2588/3085/14694 +f 2588/3085/14695 2590/3087/14696 2593/3090/14697 +f 2593/3090/14698 2592/3089/14699 2588/3085/14700 +f 2587/3084/14701 2586/3083/14702 2591/3088/14703 +f 2591/3088/14704 2594/3091/14705 2587/3084/14706 +f 2594/3091/14707 2591/3088/14708 2595/3237/14709 +f 2595/3237/14710 2596/3238/14711 2594/3091/14712 +f 2578/3075/14713 2575/3071/14714 2574/3059/14715 +f 2574/3059/14716 2589/3086/14717 2578/3075/14718 +f 2599/3098/14719 2600/3099/14720 2597/3095/14721 +f 2597/3095/14722 2598/3096/14723 2599/3098/14724 +f 2602/3101/14725 2599/3098/14726 2598/3096/14727 +f 2598/3096/14728 2601/3100/14729 2602/3101/14730 +f 2604/3103/14731 2602/3101/14732 2601/3100/14733 +f 2601/3100/14734 2603/3102/14735 2604/3103/14736 +f 2603/3102/14737 2606/3105/14738 2605/3104/14739 +f 2605/3104/14740 2604/3221/14741 2603/3102/14742 +f 2605/3104/14743 2606/3105/14744 2607/3106/14745 +f 2607/3106/14746 2608/3107/14747 2605/3104/14748 +f 2608/3223/14749 2607/3106/14750 2609/3108/14751 +f 2609/3108/14752 2610/3109/14753 2608/3223/14754 +f 2612/3111/14755 2613/3112/14756 2609/3108/14757 +f 2609/3108/14758 2611/3110/14759 2612/3111/14760 +f 2606/3105/14761 2603/3102/14762 2614/3113/14763 +f 2614/3113/14764 2611/3110/14765 2606/3105/14766 +f 2614/3113/14767 2615/3114/14768 2612/3111/14769 +f 2612/3111/14770 2611/3110/14771 2614/3113/14772 +f 2617/3116/14773 2613/3112/14774 2612/3111/14775 +f 2612/3111/14776 2616/3115/14777 2617/3116/14778 +f 2618/3117/14779 2619/3118/14780 2617/3116/14781 +f 2617/3116/14782 2616/3115/14783 2618/3117/14784 +f 2621/3120/14785 2618/3117/14786 2616/3115/14787 +f 2616/3115/14788 2620/3119/14789 2621/3120/14790 +f 2612/3111/14791 2615/3114/14792 2620/3119/14793 +f 2620/3119/14794 2616/3115/14795 2612/3111/14796 +f 2610/3109/14797 2609/3108/14798 2613/3112/14799 +f 2613/3112/14800 2622/3121/14801 2610/3109/14802 +f 2623/3122/14803 2622/3227/14804 2613/3112/14805 +f 2613/3112/14806 2617/3116/14807 2623/3122/14808 +f 2615/3114/14809 2614/3113/14810 2624/3123/14811 +f 2624/3123/14812 2625/3124/14813 2615/3114/14814 +f 2627/3128/14815 2625/3124/14816 2624/3123/14817 +f 2624/3123/14818 2626/3127/14819 2627/3128/14820 +f 2601/3100/14821 2598/3096/14822 2626/3127/14823 +f 2626/3127/14824 2624/3123/14825 2601/3100/14826 +f 2629/3167/14827 2627/3128/14828 2626/3127/14829 +f 2626/3127/14830 2628/3164/14831 2629/3167/14832 +f 2628/3164/14833 2626/3127/14834 2598/3096/14835 +f 2598/3096/14836 2597/3095/14837 2628/3164/14838 +f 2630/3183/14839 2620/3119/14840 2615/3114/14841 +f 2615/3114/14842 2625/3124/14843 2630/3183/14844 +f 2631/3184/14845 2630/3183/14846 2625/3124/14847 +f 2625/3124/14848 2627/3128/14849 2631/3184/14850 +f 2614/3113/14851 2603/3102/14852 2601/3100/14853 +f 2601/3100/14854 2624/3123/14855 2614/3113/14856 +f 2606/3105/14857 2611/3110/14858 2609/3108/14859 +f 2609/3108/14860 2607/3106/14861 2606/3105/14862 +f 2632/3125/14863 2633/3126/14864 2597/3094/14865 +f 2597/3094/14866 2600/3097/14867 2632/3125/14868 +f 2633/3126/14869 2632/3125/14870 2634/3129/14871 +f 2634/3129/14872 2635/3130/14873 2633/3126/14874 +f 2634/3129/14875 2637/3132/14876 2636/3131/14877 +f 2636/3131/14878 2635/3130/14879 2634/3129/14880 +f 2639/3134/14881 2640/3135/14882 2636/3131/14883 +f 2636/3131/14884 2638/3133/14885 2639/3134/14886 +f 2641/3136/14887 2642/3137/14888 2639/3134/14889 +f 2639/3134/14890 2638/3133/14891 2641/3136/14892 +f 2643/3140/14893 2644/3141/14894 2640/3135/14895 +f 2640/3135/14896 2639/3134/14897 2643/3140/14898 +f 2646/3143/14899 2640/3135/14900 2644/3141/14901 +f 2644/3141/14902 2645/3142/14903 2646/3143/14904 +f 2645/3142/14905 2648/3145/14906 2647/3144/14907 +f 2647/3144/14908 2646/3143/14909 2645/3142/14910 +f 2650/3147/14911 2647/3144/14912 2648/3145/14913 +f 2648/3145/14914 2649/3146/14915 2650/3147/14916 +f 2650/3147/14917 2649/3146/14918 2651/3148/14919 +f 2651/3148/14920 2652/3149/14921 2650/3147/14922 +f 2635/3130/14923 2646/3143/14924 2647/3144/14925 +f 2647/3144/14926 2633/3126/14927 2635/3130/14928 +f 2647/3144/14929 2650/3147/14930 2597/3094/14931 +f 2597/3094/14932 2633/3126/14933 2647/3144/14934 +f 2640/3135/14935 2646/3143/14936 2635/3130/14937 +f 2635/3130/14938 2636/3131/14939 2640/3135/14940 +f 2639/3134/14941 2642/3137/14942 2653/3163/14943 +f 2653/3163/14944 2643/3140/14945 2639/3134/14946 +f 2654/3138/14947 2655/3139/14948 2653/3092/14949 +f 2653/3092/14950 2642/3093/14951 2654/3138/14952 +f 2642/3093/14953 2641/3151/14954 2656/3150/14955 +f 2656/3150/14956 2654/3138/14957 2642/3093/14958 +f 2658/3153/14959 2659/3154/14960 2657/3152/14961 +f 2657/3152/14962 2656/3150/14963 2658/3153/14964 +f 2656/3150/14965 2641/3151/14966 2660/3155/14967 +f 2660/3155/14968 2658/3153/14969 2656/3150/14970 +f 2657/3152/14971 2661/3156/14972 2654/3138/14973 +f 2654/3138/14974 2656/3150/14975 2657/3152/14976 +s 2 +f 2662/3157/14977 2653/3092/14978 2655/3139/14979 +s 4 +f 2662/3157/14980 2663/3158/14981 2664/3159/14982 +s 1 +f 2662/3157/14983 2661/3156/14984 2665/3160/14985 +f 2665/3160/14986 2663/3158/14987 2662/3157/14988 +f 2661/3156/14989 2662/3157/14990 2655/3139/14991 +f 2655/3139/14992 2654/3138/14993 2661/3156/14994 +f 2660/3168/14995 2641/3136/14996 2638/3133/14997 +f 2638/3133/14998 2666/3165/14999 2660/3168/15000 +f 2666/3165/15001 2638/3133/15002 2636/3131/15003 +f 2636/3131/15004 2637/3132/15005 2666/3165/15006 +f 2650/3147/15007 2652/3149/15008 2628/3169/15009 +f 2628/3169/15010 2597/3094/15011 2650/3147/15012 +f 2669/3187/15013 2670/3212/15014 2667/3185/15015 +f 2667/3185/15016 2668/3186/15017 2669/3187/15018 +f 2631/3184/15019 2671/3213/15020 2668/3186/15021 +f 2668/3186/15022 2667/3185/15023 2631/3184/15024 +f 2673/3172/15025 2668/3173/15026 2671/3170/15027 +f 2671/3170/15028 2672/3171/15029 2673/3172/15030 +f 2675/3241/15031 2673/3172/15032 2672/3171/15033 +f 2672/3171/15034 2674/3174/15035 2675/3241/15036 +f 2676/3242/15037 2677/3243/15038 2674/3174/15039 +f 2674/3174/15040 2672/3171/15041 2676/3242/15042 +f 2652/3149/15043 2651/3148/15044 2677/3243/15045 +f 2677/3243/15046 2676/3242/15047 2652/3149/15048 +f 2652/3149/15049 2676/3242/15050 2629/3244/15051 +f 2629/3244/15052 2628/3169/15053 2652/3149/15054 +f 2672/3171/15055 2671/3170/15056 2629/3244/15057 +f 2629/3244/15058 2676/3242/15059 2672/3171/15060 +f 2675/3178/15061 2679/3179/15062 2678/3176/15063 +f 2678/3176/15064 2673/3177/15065 2675/3178/15066 +f 2558/3057/15067 2680/3180/15068 2678/3176/15069 +f 2678/3176/15070 2555/3054/15071 2558/3057/15072 +f 2680/3180/15073 2668/3181/15074 2673/3177/15075 +f 2673/3177/15076 2678/3176/15077 2680/3180/15078 +f 2669/3229/15079 2668/3181/15080 2680/3180/15081 +f 2680/3180/15082 2681/3182/15083 2669/3229/15084 +f 2682/3230/15085 2681/3182/15086 2680/3180/15087 +f 2680/3180/15088 2558/3057/15089 2682/3230/15090 +f 2682/3230/15091 2558/3057/15092 2557/3056/15093 +f 2557/3056/15094 2683/3231/15095 2682/3230/15096 +f 2557/3056/15097 2559/3068/15098 2684/3234/15099 +f 2684/3234/15100 2683/3231/15101 2557/3056/15102 +f 2684/3234/15103 2559/3068/15104 2560/3166/15105 +f 2560/3166/15106 2685/3235/15107 2684/3234/15108 +f 2556/3055/15109 2555/3054/15110 2678/3176/15111 +f 2678/3176/15112 2679/3179/15113 2556/3055/15114 +f 2631/3184/15115 2627/3128/15116 2629/3167/15117 +f 2629/3167/15118 2671/3213/15119 2631/3184/15120 +f 2686/3214/15121 2630/3183/15122 2631/3184/15123 +f 2631/3184/15124 2667/3185/15125 2686/3214/15126 +f 2620/3119/15127 2630/3183/15128 2686/3214/15129 +f 2686/3214/15130 2621/3120/15131 2620/3119/15132 +f 2621/3120/15133 2686/3214/15134 2687/3215/15135 +f 2687/3215/15136 2688/3216/15137 2621/3120/15138 +f 2670/3212/15139 2687/3215/15140 2686/3214/15141 +f 2686/3214/15142 2667/3185/15143 2670/3212/15144 +f 2689/3217/15145 2618/3117/15146 2621/3120/15147 +f 2621/3120/15148 2688/3232/15149 2689/3217/15150 +f 2690/3218/15151 2619/3118/15152 2618/3117/15153 +f 2618/3117/15154 2689/3217/15155 2690/3218/15156 +f 2690/3233/15157 2623/3122/15158 2617/3116/15159 +f 2617/3116/15160 2619/3118/15161 2690/3233/15162 +f 2561/3175/15163 2571/3236/15164 2685/3235/15165 +f 2685/3235/15166 2560/3166/15167 2561/3175/15168 +f 2584/3193/15169 2570/3081/15170 2538/3062/15171 +f 2538/3062/15172 2536/3060/15173 2584/3193/15174 +f 2691/3195/15175 2569/3080/15176 2570/3081/15177 +f 2570/3081/15178 2584/3193/15179 2691/3195/15180 +f 2691/3195/15181 2584/3193/15182 2583/3192/15183 +f 2583/3192/15184 2692/3196/15185 2691/3195/15186 +f 2694/3198/15187 2691/3195/15188 2692/3196/15189 +f 2692/3196/15190 2693/3197/15191 2694/3198/15192 +f 2696/3200/15193 2694/3198/15194 2693/3197/15195 +f 2693/3197/15196 2695/3199/15197 2696/3200/15198 +f 2698/3202/15199 2695/3199/15200 2693/3197/15201 +f 2693/3197/15202 2697/3201/15203 2698/3202/15204 +f 2692/3196/15205 2699/3203/15206 2697/3201/15207 +f 2697/3201/15208 2693/3197/15209 2692/3196/15210 +f 2583/3192/15211 2585/3194/15212 2699/3246/15213 +f 2699/3246/15214 2692/3196/15215 2583/3192/15216 +f 2696/3200/15217 2695/3199/15218 2698/3245/15219 +f 2698/3245/15220 2700/3204/15221 2696/3200/15222 +f 2701/3205/15223 2702/3206/15224 2696/3200/15225 +f 2696/3200/15226 2700/3204/15227 2701/3205/15228 +f 2696/3200/15229 2702/3206/15230 2703/3207/15231 +f 2703/3207/15232 2694/3198/15233 2696/3200/15234 +f 2567/3070/15235 2569/3080/15236 2703/3207/15237 +f 2703/3207/15238 2704/3208/15239 2567/3070/15240 +f 2705/3219/15241 2704/3208/15242 2703/3207/15243 +f 2703/3207/15244 2702/3206/15245 2705/3219/15246 +f 2701/3247/15247 2706/3220/15248 2705/3219/15249 +f 2705/3219/15250 2702/3206/15251 2701/3247/15252 +f 2704/3208/15253 2707/3222/15254 2568/3079/15255 +f 2568/3079/15256 2567/3070/15257 2704/3208/15258 +f 2707/3222/15259 2710/3226/15260 2708/3224/15261 +f 2708/3224/15262 2709/3225/15263 2707/3222/15264 +f 2710/3226/15265 2707/3222/15266 2704/3208/15267 +f 2704/3208/15268 2705/3219/15269 2710/3226/15270 +f 2707/3222/15271 2709/3225/15272 2711/3228/15273 +f 2711/3228/15274 2568/3079/15275 2707/3222/15276 +f 2694/3198/15277 2703/3207/15278 2569/3080/15279 +f 2569/3080/15280 2691/3195/15281 2694/3198/15282 +f 2712/3161/15283 2665/3160/15284 2661/3156/15285 +f 2661/3156/15286 2657/3152/15287 2712/3161/15288 +f 2595/3162/15289 2713/3209/15290 2665/3160/15291 +f 2665/3160/15292 2712/3161/15293 2595/3162/15294 +f 2591/3088/15295 2592/3089/15296 2713/3239/15297 +f 2713/3239/15298 2595/3237/15299 2591/3088/15300 +f 2664/3159/15301 2663/3158/15302 2665/3160/15303 +f 2665/3160/15304 2713/3209/15305 2664/3159/15306 +f 2592/3089/15307 2593/3090/15308 2664/3240/15309 +f 2664/3240/15310 2713/3239/15311 2592/3089/15312 +f 2714/3210/15313 2596/3211/15314 2595/3162/15315 +f 2595/3162/15316 2712/3161/15317 2714/3210/15318 +f 2659/3154/15319 2714/3210/15320 2712/3161/15321 +f 2712/3161/15322 2657/3152/15323 2659/3154/15324 +f 2573/3189/15325 2566/3069/15326 2568/3079/15327 +f 2568/3079/15328 2711/3249/15329 2573/3189/15330 +f 2708/3248/15331 2710/3226/15332 2705/3219/15333 +f 2705/3219/15334 2706/3220/15335 2708/3248/15336 +f 2716/3252/15337 2715/3253/15338 2718/3250/15339 +f 2718/3250/15340 2717/3251/15341 2716/3252/15342 +f 2719/3255/15343 2717/3251/15344 2718/3250/15345 +f 2718/3250/15346 2720/3254/15347 2719/3255/15348 +f 2721/3256/15349 2720/3257/15350 2718/3250/15351 +f 2718/3250/15352 2715/3253/15353 2721/3256/15354 +f 2722/3258/15355 2716/3252/15356 2717/3251/15357 +f 2717/3251/15358 2719/3255/15359 2722/3258/15360 +f 2723/3260/15361 2719/3255/15362 2720/3254/15363 +f 2720/3254/15364 2721/3259/15365 2723/3260/15366 +f 2719/3255/15367 2723/3260/15368 2724/3261/15369 +f 2724/3261/15370 2722/3258/15371 2719/3255/15372 +f 2727/3262/15373 2726/3263/15374 2725/3264/15375 +f 2723/3260/15376 2721/3259/15377 2727/3265/15378 +f 2727/3265/15379 2728/3266/15380 2723/3260/15381 +f 2727/3265/15382 2729/3267/15383 2728/3266/15384 +f 2731/3270/15385 2730/3271/15386 2733/3268/15387 +f 2733/3268/15388 2732/3269/15389 2731/3270/15390 +f 2735/3274/15391 2734/3275/15392 2737/3272/15393 +f 2737/3272/15394 2736/3273/15395 2735/3274/15396 +f 2738/3276/15397 2736/3273/15398 2737/3272/15399 +f 2737/3272/15400 2733/3268/15401 2738/3276/15402 +f 2739/3277/15403 2733/3268/15404 2737/3272/15405 +f 2737/3272/15406 2734/3275/15407 2739/3277/15408 +f 2741/3280/15409 2740/3281/15410 2743/3278/15411 +f 2743/3278/15412 2742/3279/15413 2741/3280/15414 +f 2745/3284/15415 2744/3285/15416 2747/3282/15417 +f 2747/3282/15418 2746/3283/15419 2745/3284/15420 +f 2746/3283/15421 2747/3282/15422 2749/3286/15423 +f 2749/3286/15424 2748/3287/15425 2746/3283/15426 +f 2747/3282/15427 2750/3288/15428 2749/3286/15429 +f 2752/3291/15430 2751/3292/15431 2754/3289/15432 +f 2754/3289/15433 2753/3290/15434 2752/3291/15435 +f 2754/3289/15436 2755/3293/15437 2753/3290/15438 +f 2754/3289/15439 2751/3292/15440 2756/3294/15441 +f 2753/3290/15442 2755/3293/15443 2758/3295/15444 +f 2758/3295/15445 2757/3296/15446 2753/3290/15447 +f 2752/3291/15448 2753/3290/15449 2757/3296/15450 +f 2752/3291/15451 2757/3296/15452 2760/3297/15453 +f 2760/3297/15454 2759/3298/15455 2752/3291/15456 +f 2761/3301/15457 2745/3284/15458 2763/3299/15459 +f 2763/3299/15460 2762/3300/15461 2761/3301/15462 +f 2763/3299/15463 2764/3304/15464 2766/3302/15465 +f 2766/3302/15466 2765/3303/15467 2763/3299/15468 +f 2763/3299/15469 2765/3303/15470 2767/3305/15471 +f 2767/3305/15472 2762/3300/15473 2763/3299/15474 +f 2769/3308/15475 2768/3309/15476 2771/3306/15477 +f 2771/3306/15478 2770/3307/15479 2769/3308/15480 +f 2773/3310/15481 2772/3311/15482 2768/3309/15483 +f 2768/3309/15484 2769/3308/15485 2773/3310/15486 +f 2774/3313/15487 2769/3308/15488 2770/3307/15489 +f 2770/3307/15490 2775/3312/15491 2774/3313/15492 +f 2776/3315/15493 2772/3311/15494 2773/3310/15495 +f 2773/3310/15496 2777/3314/15497 2776/3315/15498 +f 2778/3316/15499 2758/3295/15500 2767/3305/15501 +f 2767/3305/15502 2765/3303/15503 2778/3316/15504 +f 2770/3307/15505 2771/3306/15506 2780/3317/15507 +f 2780/3317/15508 2779/3318/15509 2770/3307/15510 +f 2782/3321/15511 2781/3322/15512 2784/3319/15513 +f 2784/3319/15514 2783/3320/15515 2782/3321/15516 +f 2783/3320/15517 2784/3319/15518 2786/3323/15519 +f 2786/3323/15520 2785/3324/15521 2783/3320/15522 +f 2788/3327/15523 2787/3328/15524 2790/3325/15525 +f 2790/3325/15526 2789/3326/15527 2788/3327/15528 +f 2789/3326/15529 2790/3325/15530 2791/3329/15531 +f 2793/3331/15532 2792/3332/15533 2789/3326/15534 +f 2789/3326/15535 2794/3330/15536 2793/3331/15537 +f 2795/3333/15538 2794/3330/15539 2789/3326/15540 +f 2789/3326/15541 2791/3329/15542 2795/3333/15543 +f 2770/3307/15544 2796/3335/15545 2797/3334/15546 +f 2797/3334/15547 2775/3312/15548 2770/3307/15549 +f 2777/3314/15550 2798/3338/15551 2800/3336/15552 +f 2800/3336/15553 2799/3337/15554 2777/3314/15555 +f 2802/3339/15556 2801/3340/15557 2800/3336/15558 +f 2800/3336/15559 2798/3338/15560 2802/3339/15561 +f 2804/3341/15562 2803/3342/15563 2800/3336/15564 +f 2800/3336/15565 2801/3340/15566 2804/3341/15567 +f 2777/3314/15568 2773/3310/15569 2805/3343/15570 +f 2805/3343/15571 2798/3338/15572 2777/3314/15573 +f 2805/3343/15574 2773/3310/15575 2774/3313/15576 +f 2774/3313/15577 2806/3344/15578 2805/3343/15579 +f 2805/3343/15580 2806/3344/15581 2807/3345/15582 +f 2809/3346/15583 2808/3347/15584 2805/3343/15585 +f 2805/3343/15586 2807/3345/15587 2809/3346/15588 +f 2812/3348/15589 2811/3349/15590 2810/3350/15591 +f 2813/3352/15592 2794/3330/15593 2795/3333/15594 +f 2795/3333/15595 2814/3351/15596 2813/3352/15597 +f 2816/3354/15598 2815/3355/15599 2795/3333/15600 +f 2795/3333/15601 2817/3353/15602 2816/3354/15603 +f 2818/3356/15604 2814/3351/15605 2795/3333/15606 +f 2795/3333/15607 2815/3355/15608 2818/3356/15609 +f 2820/3359/15610 2819/3360/15611 2822/3357/15612 +f 2822/3357/15613 2821/3358/15614 2820/3359/15615 +f 2766/3302/15616 2821/3358/15617 2822/3357/15618 +f 2822/3357/15619 2812/3348/15620 2766/3302/15621 +f 2819/3360/15622 2823/3361/15623 2822/3357/15624 +f 2822/3357/15625 2823/3361/15626 2824/3362/15627 +f 2822/3357/15628 2824/3362/15629 2811/3349/15630 +f 2826/3365/15631 2825/3366/15632 2828/3363/15633 +f 2828/3363/15634 2827/3364/15635 2826/3365/15636 +f 2828/3363/15637 2829/3369/15638 2831/3367/15639 +f 2831/3367/15640 2830/3368/15641 2828/3363/15642 +f 2796/3335/15643 2832/3371/15644 2833/3370/15645 +f 2833/3370/15646 2797/3334/15647 2796/3335/15648 +f 2833/3370/15649 2834/3372/15650 2797/3334/15651 +f 2770/3307/15652 2779/3318/15653 2832/3371/15654 +f 2832/3371/15655 2796/3335/15656 2770/3307/15657 +f 2836/3373/15658 2835/3374/15659 2823/3361/15660 +f 2838/3376/15661 2837/3377/15662 2839/3375/15663 +f 2839/3375/15664 2836/3373/15665 2838/3376/15666 +f 2840/3379/15667 2835/3374/15668 2839/3375/15669 +f 2839/3375/15670 2841/3378/15671 2840/3379/15672 +f 2839/3375/15673 2835/3374/15674 2836/3373/15675 +f 2843/3382/15676 2842/3383/15677 2845/3380/15678 +f 2845/3380/15679 2844/3381/15680 2843/3382/15681 +f 2847/3384/15682 2846/3385/15683 2845/3380/15684 +f 2845/3380/15685 2842/3383/15686 2847/3384/15687 +f 2848/3387/15688 2844/3381/15689 2845/3380/15690 +f 2845/3380/15691 2849/3386/15692 2848/3387/15693 +f 2851/3390/15694 2850/3391/15695 2853/3388/15696 +f 2853/3388/15697 2852/3389/15698 2851/3390/15699 +f 2852/3389/15700 2854/3392/15701 2851/3390/15702 +f 2855/3395/15703 2834/3372/15704 2857/3393/15705 +f 2857/3393/15706 2856/3394/15707 2855/3395/15708 +f 2856/3394/15709 2857/3393/15710 2859/3396/15711 +f 2859/3396/15712 2858/3397/15713 2856/3394/15714 +f 2833/3370/15715 2859/3396/15716 2857/3393/15717 +f 2857/3393/15718 2834/3372/15719 2833/3370/15720 +f 2860/3399/15721 2829/3369/15722 2861/3398/15723 +f 2861/3398/15724 2840/3379/15725 2860/3399/15726 +f 2840/3379/15727 2861/3398/15728 2862/3400/15729 +f 2862/3400/15730 2835/3374/15731 2840/3379/15732 +f 2860/3399/15733 2863/3402/15734 2864/3401/15735 +f 2864/3401/15736 2829/3369/15737 2860/3399/15738 +f 2829/3369/15739 2864/3401/15740 2865/3403/15741 +f 2865/3403/15742 2831/3367/15743 2829/3369/15744 +f 2866/3404/15745 2860/3399/15746 2840/3379/15747 +f 2840/3379/15748 2841/3378/15749 2866/3404/15750 +f 2853/3388/15751 2867/3406/15752 2868/3405/15753 +f 2868/3405/15754 2852/3389/15755 2853/3388/15756 +f 2854/3392/15757 2852/3389/15758 2868/3405/15759 +f 2868/3405/15760 2869/3407/15761 2854/3392/15762 +f 2870/3408/15763 2869/3407/15764 2868/3405/15765 +f 2868/3405/15766 2867/3406/15767 2870/3408/15768 +f 2859/3396/15769 2871/3410/15770 2872/3409/15771 +f 2872/3409/15772 2858/3397/15773 2859/3396/15774 +f 2847/3384/15775 2858/3397/15776 2872/3409/15777 +f 2872/3409/15778 2873/3411/15779 2847/3384/15780 +f 2874/3412/15781 2873/3411/15782 2872/3409/15783 +f 2872/3409/15784 2871/3410/15785 2874/3412/15786 +f 2876/3413/15787 2875/3414/15788 2870/3408/15789 +f 2870/3408/15790 2867/3406/15791 2876/3413/15792 +f 2877/3415/15793 2869/3407/15794 2870/3408/15795 +f 2870/3408/15796 2875/3414/15797 2877/3415/15798 +f 2878/3416/15799 2874/3412/15800 2871/3410/15801 +f 2871/3410/15802 2859/3396/15803 2878/3416/15804 +f 2850/3391/15805 2879/3418/15806 2880/3417/15807 +f 2880/3417/15808 2853/3388/15809 2850/3391/15810 +f 2882/3419/15811 2881/3420/15812 2853/3388/15813 +f 2853/3388/15814 2880/3417/15815 2882/3419/15816 +f 2876/3413/15817 2867/3406/15818 2853/3388/15819 +f 2853/3388/15820 2881/3420/15821 2876/3413/15822 +f 2884/3423/15823 2883/3424/15824 2886/3421/15825 +f 2886/3421/15826 2885/3422/15827 2884/3423/15828 +f 2887/3426/15829 2885/3422/15830 2886/3421/15831 +f 2886/3421/15832 2888/3425/15833 2887/3426/15834 +f 2889/3427/15835 2888/3425/15836 2886/3421/15837 +f 2886/3421/15838 2883/3424/15839 2889/3427/15840 +f 2890/3429/15841 2888/3425/15842 2889/3427/15843 +f 2889/3427/15844 2891/3428/15845 2890/3429/15846 +f 2892/3430/15847 2891/3428/15848 2889/3427/15849 +f 2889/3427/15850 2883/3424/15851 2892/3430/15852 +f 2894/3431/15853 2893/3432/15854 2876/3413/15855 +f 2876/3413/15856 2881/3420/15857 2894/3431/15858 +f 2885/3422/15859 2875/3414/15860 2876/3413/15861 +f 2876/3413/15862 2884/3423/15863 2885/3422/15864 +f 2895/3433/15865 2884/3423/15866 2876/3413/15867 +f 2876/3413/15868 2893/3432/15869 2895/3433/15870 +f 2896/3435/15871 2873/3411/15872 2874/3412/15873 +f 2874/3412/15874 2897/3434/15875 2896/3435/15876 +f 2899/3438/15877 2898/3439/15878 2901/3436/15879 +f 2901/3436/15880 2900/3437/15881 2899/3438/15882 +f 2903/3441/15883 2902/3442/15884 2901/3436/15885 +f 2901/3436/15886 2904/3440/15887 2903/3441/15888 +f 2905/3443/15889 2900/3437/15890 2901/3436/15891 +f 2901/3436/15892 2902/3442/15893 2905/3443/15894 +f 2907/3446/15895 2906/3447/15896 2909/3444/15897 +f 2909/3444/15898 2908/3445/15899 2907/3446/15900 +f 2910/3449/15901 2908/3445/15902 2909/3444/15903 +f 2909/3444/15904 2911/3448/15905 2910/3449/15906 +f 2912/3450/15907 2911/3448/15908 2909/3444/15909 +f 2909/3444/15910 2906/3447/15911 2912/3450/15912 +f 2914/3453/15913 2913/3454/15914 2916/3451/15915 +f 2916/3451/15916 2915/3452/15917 2914/3453/15918 +f 2918/3455/15919 2917/3456/15920 2916/3451/15921 +f 2916/3451/15922 2913/3454/15923 2918/3455/15924 +f 2920/3457/15925 2919/3458/15926 2916/3451/15927 +f 2916/3451/15928 2917/3456/15929 2920/3457/15930 +f 2863/3402/15931 2915/3452/15932 2916/3451/15933 +f 2916/3451/15934 2921/3459/15935 2863/3402/15936 +f 2922/3460/15937 2921/3459/15938 2916/3451/15939 +f 2916/3451/15940 2919/3458/15941 2922/3460/15942 +f 2895/3433/15943 2893/3432/15944 2923/3461/15945 +f 2923/3461/15946 2918/3455/15947 2895/3433/15948 +f 2894/3431/15949 2924/3462/15950 2923/3461/15951 +f 2923/3461/15952 2893/3432/15953 2894/3431/15954 +f 2917/3456/15955 2918/3455/15956 2923/3461/15957 +f 2923/3461/15958 2925/3463/15959 2917/3456/15960 +f 2927/3466/15961 2926/3467/15962 2929/3464/15963 +f 2929/3464/15964 2928/3465/15965 2927/3466/15966 +f 2928/3465/15967 2929/3464/15968 2931/3468/15969 +f 2931/3468/15970 2930/3469/15971 2928/3465/15972 +f 2932/3470/15973 2931/3468/15974 2929/3464/15975 +f 2929/3464/15976 2926/3467/15977 2932/3470/15978 +f 2934/3473/15979 2933/3474/15980 2936/3471/15981 +f 2936/3471/15982 2935/3472/15983 2934/3473/15984 +f 2937/3476/15985 2935/3472/15986 2936/3471/15987 +f 2936/3471/15988 2938/3475/15989 2937/3476/15990 +f 2940/3477/15991 2939/3478/15992 2936/3471/15993 +f 2936/3471/15994 2933/3474/15995 2940/3477/15996 +f 2942/3481/15997 2941/3482/15998 2943/3479/15999 +f 2943/3479/16000 2940/3480/16001 2942/3481/16002 +f 2939/3478/16003 2940/3477/16004 2943/3483/16005 +f 2943/3483/16006 2944/3484/16007 2939/3478/16008 +f 2945/3485/16009 2944/3486/16010 2943/3479/16011 +f 2943/3479/16012 2941/3482/16013 2945/3485/16014 +f 2947/3489/16015 2946/3490/16016 2949/3487/16017 +f 2949/3487/16018 2948/3488/16019 2947/3489/16020 +f 2951/3493/16021 2950/3494/16022 2949/3491/16023 +f 2949/3491/16024 2952/3492/16025 2951/3493/16026 +f 2953/3495/16027 2952/3496/16028 2949/3487/16029 +f 2949/3487/16030 2946/3490/16031 2953/3495/16032 +f 2955/3499/16033 2954/3500/16034 2957/3497/16035 +f 2957/3497/16036 2956/3498/16037 2955/3499/16038 +f 2958/3502/16039 2956/3498/16040 2957/3497/16041 +f 2957/3497/16042 2959/3501/16043 2958/3502/16044 +f 2960/3504/16045 2959/3501/16046 2957/3497/16047 +f 2957/3497/16048 2961/3503/16049 2960/3504/16050 +f 2963/3507/16051 2962/3508/16052 2965/3505/16053 +f 2965/3505/16054 2964/3506/16055 2963/3507/16056 +f 2930/3469/16057 2964/3506/16058 2965/3505/16059 +f 2965/3505/16060 2966/3509/16061 2930/3469/16062 +f 2968/3510/16063 2967/3511/16064 2965/3505/16065 +f 2965/3505/16066 2962/3508/16067 2968/3510/16068 +f 2970/3512/16069 2969/3513/16070 2965/3505/16071 +f 2965/3505/16072 2967/3511/16073 2970/3512/16074 +f 2973/3514/16075 2972/3515/16076 2971/3516/16077 +f 2975/3517/16078 2974/3518/16079 2973/3514/16080 +f 2973/3514/16081 2971/3516/16082 2975/3517/16083 +f 2977/3521/16084 2976/3522/16085 2979/3519/16086 +f 2979/3519/16087 2978/3520/16088 2977/3521/16089 +f 2981/3525/16090 2980/3526/16091 2983/3523/16092 +f 2983/3523/16093 2982/3524/16094 2981/3525/16095 +f 2946/3490/16096 2947/3489/16097 2982/3524/16098 +f 2982/3524/16099 2983/3523/16100 2946/3490/16101 +f 2985/3529/16102 2984/3530/16103 2987/3527/16104 +f 2987/3527/16105 2986/3528/16106 2985/3529/16107 +f 2988/3532/16108 2986/3528/16109 2987/3527/16110 +f 2987/3527/16111 2989/3531/16112 2988/3532/16113 +f 2991/3535/16114 2990/3536/16115 2993/3533/16116 +f 2993/3533/16117 2992/3534/16118 2991/3535/16119 +f 2995/3537/16120 2994/3538/16121 2993/3533/16122 +f 2993/3533/16123 2990/3536/16124 2995/3537/16125 +f 2996/3539/16126 2992/3534/16127 2993/3533/16128 +f 2993/3533/16129 2994/3538/16130 2996/3539/16131 +f 2998/3540/16132 2997/3541/16133 2995/3537/16134 +f 3000/3544/16135 2999/3545/16136 3002/3542/16137 +f 3002/3542/16138 3001/3543/16139 3000/3544/16140 +f 3001/3543/16141 3003/3546/16142 3000/3544/16143 +f 3005/3549/16144 3004/3550/16145 3007/3547/16146 +f 3007/3547/16147 3006/3548/16148 3005/3549/16149 +f 3008/3552/16150 3006/3548/16151 3007/3547/16152 +f 3007/3547/16153 3009/3551/16154 3008/3552/16155 +f 3010/3554/16156 3009/3551/16157 3007/3547/16158 +f 3007/3547/16159 3011/3553/16160 3010/3554/16161 +f 3013/3555/16162 3005/3549/16163 3012/3556/16164 +f 2760/3297/16165 3014/3558/16166 3015/3557/16167 +f 3015/3557/16168 2759/3298/16169 2760/3297/16170 +f 3016/3560/16171 2759/3298/16172 3015/3557/16173 +f 3015/3557/16174 3017/3559/16175 3016/3560/16176 +f 3019/3563/16177 3018/3564/16178 3021/3561/16179 +f 3021/3561/16180 3020/3562/16181 3019/3563/16182 +f 3022/3566/16183 3020/3562/16184 3021/3561/16185 +f 3021/3561/16186 3023/3565/16187 3022/3566/16188 +f 3019/3563/16189 3024/3568/16190 3025/3567/16191 +f 3025/3567/16192 3018/3564/16193 3019/3563/16194 +f 3024/3568/16195 3019/3563/16196 3027/3569/16197 +f 3027/3569/16198 3026/3570/16199 3024/3568/16200 +f 3024/3568/16201 3026/3570/16202 2832/3371/16203 +f 2832/3371/16204 2779/3318/16205 3024/3568/16206 +f 2833/3370/16207 2832/3371/16208 3026/3570/16209 +f 3026/3570/16210 3028/3571/16211 2833/3370/16212 +f 3028/3571/16213 3026/3570/16214 3027/3569/16215 +f 3027/3569/16216 3029/3572/16217 3028/3571/16218 +f 3030/3573/16219 2878/3416/16220 3028/3571/16221 +f 3028/3571/16222 3029/3572/16223 3030/3573/16224 +f 2859/3396/16225 2833/3370/16226 3028/3571/16227 +f 3028/3571/16228 2878/3416/16229 2859/3396/16230 +f 3032/3574/16231 3031/3575/16232 3030/3573/16233 +f 3030/3573/16234 3029/3572/16235 3032/3574/16236 +f 2931/3468/16237 2932/3470/16238 3030/3573/16239 +f 3030/3573/16240 3031/3575/16241 2931/3468/16242 +f 2874/3412/16243 2878/3416/16244 3030/3573/16245 +f 3030/3573/16246 2932/3470/16247 2874/3412/16248 +f 3034/3576/16249 3033/3577/16250 3031/3575/16251 +f 3031/3575/16252 3032/3574/16253 3034/3576/16254 +f 3035/3578/16255 2931/3468/16256 3031/3575/16257 +f 3031/3575/16258 3033/3577/16259 3035/3578/16260 +f 3037/3579/16261 3036/3580/16262 3035/3578/16263 +f 3035/3578/16264 3033/3577/16265 3037/3579/16266 +f 2963/3507/16267 2964/3506/16268 3035/3578/16269 +f 3035/3578/16270 3036/3580/16271 2963/3507/16272 +f 2930/3469/16273 2931/3468/16274 3035/3578/16275 +f 3035/3578/16276 2964/3506/16277 2930/3469/16278 +f 3039/3581/16279 3038/3582/16280 3036/3580/16281 +f 3036/3580/16282 3037/3579/16283 3039/3581/16284 +f 3040/3583/16285 2963/3507/16286 3036/3580/16287 +f 3036/3580/16288 3038/3582/16289 3040/3583/16290 +f 2920/3584/16291 3041/3585/16292 3040/3583/16293 +f 3040/3583/16294 3038/3582/16295 2920/3584/16296 +f 2944/3486/16297 2945/3485/16298 3040/3583/16299 +f 3040/3583/16300 3041/3585/16301 2944/3486/16302 +f 2962/3508/16303 2963/3507/16304 3040/3583/16305 +f 3040/3583/16306 2945/3485/16307 2962/3508/16308 +f 2917/3456/16309 2925/3463/16310 3041/3586/16311 +f 3041/3586/16312 2920/3457/16313 2917/3456/16314 +f 2939/3478/16315 2944/3484/16316 3041/3586/16317 +f 3041/3586/16318 2925/3463/16319 2939/3478/16320 +f 2919/3587/16321 2920/3584/16322 3038/3582/16323 +f 3038/3582/16324 3039/3581/16325 2919/3587/16326 +f 3043/3588/16327 3042/3589/16328 3039/3581/16329 +f 3039/3581/16330 3037/3579/16331 3043/3588/16332 +f 2922/3590/16333 2919/3587/16334 3039/3581/16335 +f 3039/3581/16336 3042/3589/16337 2922/3590/16338 +f 3042/3589/16339 3043/3588/16340 3045/3591/16341 +f 3045/3591/16342 3044/3592/16343 3042/3589/16344 +f 3042/3589/16345 3044/3592/16346 3046/3593/16347 +f 3046/3593/16348 2922/3590/16349 3042/3589/16350 +f 3046/3594/16351 3047/3595/16352 2921/3459/16353 +f 2921/3459/16354 2922/3460/16355 3046/3594/16356 +f 3047/3595/16357 2864/3401/16358 2863/3402/16359 +f 2863/3402/16360 2921/3459/16361 3047/3595/16362 +f 3047/3595/16363 3046/3594/16364 3049/3596/16365 +f 3049/3596/16366 3048/3597/16367 3047/3595/16368 +f 3047/3595/16369 3048/3597/16370 2865/3403/16371 +f 2865/3403/16372 2864/3401/16373 3047/3595/16374 +f 3051/3598/16375 3050/3599/16376 2831/3367/16377 +f 2831/3367/16378 2865/3403/16379 3051/3598/16380 +f 3052/3600/16381 2830/3368/16382 2831/3367/16383 +f 2831/3367/16384 3050/3599/16385 3052/3600/16386 +f 3053/3602/16387 2830/3368/16388 3052/3600/16389 +f 3052/3600/16390 3054/3601/16391 3053/3602/16392 +f 3056/3605/16393 3055/3606/16394 3058/3603/16395 +f 3058/3603/16396 3057/3604/16397 3056/3605/16398 +f 3060/3607/16399 3059/3608/16400 3058/3603/16401 +f 3058/3603/16402 3055/3606/16403 3060/3607/16404 +f 3061/3610/16405 3059/3608/16406 3060/3607/16407 +f 3060/3607/16408 3062/3609/16409 3061/3610/16410 +f 3060/3607/16411 3055/3606/16412 3064/3611/16413 +f 3064/3611/16414 3063/3612/16415 3060/3607/16416 +f 3055/3606/16417 3056/3605/16418 3065/3613/16419 +f 3065/3613/16420 3064/3611/16421 3055/3606/16422 +f 3056/3605/16423 2780/3317/16424 2771/3306/16425 +f 3063/3612/16426 3066/3614/16427 3062/3609/16428 +f 3062/3609/16429 3060/3607/16430 3063/3612/16431 +f 3067/3617/16432 3063/3612/16433 3069/3615/16434 +f 3069/3615/16435 3068/3616/16436 3067/3617/16437 +f 3070/3619/16438 3068/3616/16439 3069/3615/16440 +f 3069/3615/16441 3071/3618/16442 3070/3619/16443 +f 3073/3620/16444 3072/3621/16445 3067/3617/16446 +f 3067/3617/16447 2741/3280/16448 3073/3620/16449 +f 3066/3614/16450 3063/3612/16451 3067/3617/16452 +f 3067/3617/16453 3072/3621/16454 3066/3614/16455 +f 2740/3281/16456 2741/3280/16457 3067/3617/16458 +f 3067/3617/16459 3068/3616/16460 2740/3281/16461 +f 3075/3624/16462 3074/3625/16463 3072/3622/16464 +f 3072/3622/16465 3073/3623/16466 3075/3624/16467 +f 3076/3626/16468 3066/3627/16469 3072/3622/16470 +f 3072/3622/16471 3074/3625/16472 3076/3626/16473 +f 2751/3292/16474 2752/3291/16475 3076/3626/16476 +f 3076/3626/16477 3074/3625/16478 2751/3292/16479 +f 3076/3626/16480 2752/3291/16481 2759/3298/16482 +f 2759/3298/16483 3016/3560/16484 3076/3626/16485 +f 3076/3626/16486 3016/3560/16487 3062/3628/16488 +f 3062/3628/16489 3066/3627/16490 3076/3626/16491 +f 3078/3629/16492 3077/3630/16493 2760/3297/16494 +f 2760/3297/16495 2757/3296/16496 3078/3629/16497 +f 3077/3630/16498 3078/3629/16499 3079/3631/16500 +f 3079/3631/16501 3053/3602/16502 3077/3630/16503 +f 3054/3601/16504 3080/3632/16505 3077/3630/16506 +f 3077/3630/16507 3053/3602/16508 3054/3601/16509 +f 3014/3558/16510 2760/3297/16511 3077/3630/16512 +f 3077/3630/16513 3080/3632/16514 3014/3558/16515 +f 3079/3631/16516 2828/3363/16517 2830/3368/16518 +f 2830/3368/16519 3053/3602/16520 3079/3631/16521 +f 2778/3316/16522 3081/3633/16523 3079/3631/16524 +f 3079/3631/16525 3078/3629/16526 2778/3316/16527 +f 2827/3364/16528 2828/3363/16529 3079/3631/16530 +f 3079/3631/16531 3081/3633/16532 2827/3364/16533 +f 2765/3303/16534 2810/3350/16535 3081/3633/16536 +f 3081/3633/16537 2778/3316/16538 2765/3303/16539 +f 2811/3349/16540 2827/3364/16541 3081/3633/16542 +f 3081/3633/16543 2810/3350/16544 2811/3349/16545 +f 2758/3295/16546 2778/3316/16547 3078/3629/16548 +f 3078/3629/16549 2757/3296/16550 2758/3295/16551 +f 2756/3294/16552 2751/3292/16553 3074/3625/16554 +f 3074/3625/16555 3075/3624/16556 2756/3294/16557 +f 3082/3635/16558 2756/3294/16559 3075/3624/16560 +f 3075/3624/16561 3083/3634/16562 3082/3635/16563 +f 3084/3636/16564 3083/3634/16565 3075/3624/16566 +f 3075/3624/16567 3073/3623/16568 3084/3636/16569 +f 3084/3636/16570 3085/3637/16571 3083/3634/16572 +f 3084/3638/16573 3073/3620/16574 2741/3280/16575 +f 3082/3635/16576 3083/3634/16577 3085/3637/16578 +f 3085/3637/16579 2744/3285/16580 3082/3635/16581 +f 3086/3639/16582 2750/3288/16583 3085/3637/16584 +f 3085/3637/16585 3084/3636/16586 3086/3639/16587 +f 3087/3641/16588 2750/3288/16589 3086/3639/16590 +f 3086/3639/16591 3088/3640/16592 3087/3641/16593 +f 2742/3279/16594 3089/3643/16595 3086/3642/16596 +f 3086/3642/16597 3084/3638/16598 2742/3279/16599 +f 3090/3644/16600 3088/3645/16601 3086/3642/16602 +f 3086/3642/16603 3089/3643/16604 3090/3644/16605 +f 3090/3644/16606 3091/3646/16607 3088/3645/16608 +f 3093/3647/16609 3092/3648/16610 3090/3644/16611 +f 3090/3644/16612 3089/3643/16613 3093/3647/16614 +f 3094/3649/16615 3091/3646/16616 3090/3644/16617 +f 3090/3644/16618 3092/3648/16619 3094/3649/16620 +f 3096/3650/16621 3095/3651/16622 3094/3649/16623 +f 3094/3649/16624 3092/3648/16625 3096/3650/16626 +f 3097/3652/16627 2728/3266/16628 3094/3649/16629 +f 3094/3649/16630 3095/3651/16631 3097/3652/16632 +f 2723/3260/16633 2728/3266/16634 3097/3652/16635 +f 3097/3652/16636 2724/3261/16637 2723/3260/16638 +f 3099/3653/16639 3098/3654/16640 3097/3652/16641 +f 3097/3652/16642 3095/3651/16643 3099/3653/16644 +f 2722/3258/16645 2724/3261/16646 3097/3652/16647 +f 3097/3652/16648 3098/3654/16649 2722/3258/16650 +f 3101/3655/16651 3100/3656/16652 3098/3654/16653 +f 3098/3654/16654 3099/3653/16655 3101/3655/16656 +f 2716/3252/16657 2722/3258/16658 3098/3654/16659 +f 3098/3654/16660 3100/3656/16661 2716/3252/16662 +f 2725/3264/16663 2726/3263/16664 3100/3656/16665 +f 3100/3656/16666 3101/3655/16667 2725/3264/16668 +f 2715/3253/16669 2716/3252/16670 3100/3656/16671 +f 3100/3656/16672 2726/3263/16673 2715/3253/16674 +f 3103/3657/16675 3102/3658/16676 3101/3655/16677 +f 3101/3655/16678 3099/3653/16679 3103/3657/16680 +f 3104/3659/16681 2725/3264/16682 3101/3655/16683 +f 3101/3655/16684 3102/3658/16685 3104/3659/16686 +f 3106/3660/16687 3105/3661/16688 3104/3659/16689 +f 3104/3659/16690 3102/3658/16691 3106/3660/16692 +f 3104/3659/16693 2727/3262/16694 2725/3264/16695 +f 3107/3664/16696 2739/3277/16697 3109/3662/16698 +f 3109/3662/16699 3108/3663/16700 3107/3664/16701 +f 3109/3662/16702 3110/3666/16703 3111/3665/16704 +f 3111/3665/16705 3108/3663/16706 3109/3662/16707 +f 3109/3662/16708 3112/3668/16709 3113/3667/16710 +f 3113/3667/16711 3110/3666/16712 3109/3662/16713 +f 2734/3275/16714 3114/3669/16715 3112/3668/16716 +f 3112/3668/16717 2739/3277/16718 2734/3275/16719 +f 3114/3669/16720 3115/3670/16721 3113/3667/16722 +f 3113/3667/16723 3112/3668/16724 3114/3669/16725 +f 2749/3286/16726 3116/3671/16727 3114/3669/16728 +f 3114/3669/16729 2734/3275/16730 2749/3286/16731 +f 3116/3671/16732 3117/3672/16733 3115/3670/16734 +f 3115/3670/16735 3114/3669/16736 3116/3671/16737 +f 3118/3674/16738 3115/3670/16739 3117/3672/16740 +f 3117/3672/16741 2729/3673/16742 3118/3674/16743 +f 3116/3671/16744 3087/3641/16745 3091/3675/16746 +f 3091/3675/16747 3117/3672/16748 3116/3671/16749 +f 3116/3671/16750 2749/3286/16751 2750/3288/16752 +f 2750/3288/16753 3087/3641/16754 3116/3671/16755 +f 2733/3268/16756 2739/3277/16757 3107/3664/16758 +f 3107/3664/16759 2732/3269/16760 2733/3268/16761 +f 3106/3660/16762 3119/3677/16763 3120/3676/16764 +f 3120/3676/16765 3105/3661/16766 3106/3660/16767 +f 2730/3271/16768 2731/3270/16769 3120/3676/16770 +f 3120/3676/16771 3119/3677/16772 2730/3271/16773 +f 3122/3678/16774 3121/3679/16775 2730/3271/16776 +f 2730/3271/16777 3119/3677/16778 3122/3678/16779 +f 2738/3276/16780 2730/3271/16781 3121/3679/16782 +f 3121/3679/16783 3123/3680/16784 2738/3276/16785 +f 3124/3682/16786 2736/3273/16787 2738/3276/16788 +f 2738/3276/16789 3125/3681/16790 3124/3682/16791 +f 3126/3683/16792 3125/3681/16793 2738/3276/16794 +f 2738/3276/16795 3123/3680/16796 3126/3683/16797 +f 3127/3684/16798 3125/3681/16799 3126/3683/16800 +f 3126/3683/16801 2786/3323/16802 3127/3684/16803 +f 3129/3685/16804 3128/3686/16805 3126/3683/16806 +f 3126/3683/16807 3123/3680/16808 3129/3685/16809 +f 2785/3324/16810 2786/3323/16811 3126/3683/16812 +f 3126/3683/16813 3128/3686/16814 2785/3324/16815 +f 3129/3685/16816 3130/3688/16817 3131/3687/16818 +f 3131/3687/16819 3128/3686/16820 3129/3685/16821 +f 2799/3337/16822 2785/3324/16823 3128/3686/16824 +f 3128/3686/16825 3131/3687/16826 2799/3337/16827 +f 3132/3689/16828 2776/3315/16829 3131/3687/16830 +f 3131/3687/16831 3130/3688/16832 3132/3689/16833 +f 2776/3315/16834 2777/3314/16835 2799/3337/16836 +f 2799/3337/16837 3131/3687/16838 2776/3315/16839 +f 3121/3679/16840 3133/3690/16841 3129/3685/16842 +f 3129/3685/16843 3123/3680/16844 3121/3679/16845 +f 3133/3690/16846 3134/3691/16847 3130/3688/16848 +f 3130/3688/16849 3129/3685/16850 3133/3690/16851 +f 3122/3678/16852 3135/3692/16853 3133/3690/16854 +f 3133/3690/16855 3121/3679/16856 3122/3678/16857 +f 3135/3692/16858 3136/3693/16859 3134/3691/16860 +f 3134/3691/16861 3133/3690/16862 3135/3692/16863 +f 3137/3694/16864 3093/3647/16865 3136/3693/16866 +f 3136/3693/16867 3135/3692/16868 3137/3694/16869 +f 3138/3695/16870 3137/3694/16871 3135/3692/16872 +f 3135/3692/16873 3122/3678/16874 3138/3695/16875 +f 3096/3650/16876 3137/3694/16877 3138/3695/16878 +f 3138/3695/16879 3103/3657/16880 3096/3650/16881 +f 3119/3677/16882 3106/3660/16883 3138/3695/16884 +f 3138/3695/16885 3122/3678/16886 3119/3677/16887 +f 3102/3658/16888 3103/3657/16889 3138/3695/16890 +f 3138/3695/16891 3106/3660/16892 3102/3658/16893 +f 3092/3648/16894 3093/3647/16895 3137/3694/16896 +f 3137/3694/16897 3096/3650/16898 3092/3648/16899 +f 3140/3697/16900 3139/3698/16901 3127/3684/16902 +f 3127/3684/16903 3141/3696/16904 3140/3697/16905 +f 3124/3682/16906 3125/3681/16907 3127/3684/16908 +f 3127/3684/16909 3139/3698/16910 3124/3682/16911 +f 2787/3328/16912 2788/3327/16913 3139/3698/16914 +f 3139/3698/16915 3140/3697/16916 2787/3328/16917 +f 3142/3699/16918 3124/3682/16919 3139/3698/16920 +f 3139/3698/16921 2788/3327/16922 3142/3699/16923 +f 2789/3326/16924 2792/3332/16925 3142/3699/16926 +f 3142/3699/16927 2788/3327/16928 2789/3326/16929 +f 3144/3700/16930 3143/3701/16931 3142/3699/16932 +f 3142/3699/16933 2792/3332/16934 3144/3700/16935 +f 2736/3273/16936 3124/3682/16937 3142/3699/16938 +f 3142/3699/16939 3143/3701/16940 2736/3273/16941 +f 2748/3287/16942 2735/3274/16943 3143/3701/16944 +f 3143/3701/16945 3144/3700/16946 2748/3287/16947 +f 3143/3701/16948 2735/3274/16949 2736/3273/16950 +f 2793/3331/16951 3145/3702/16952 3144/3700/16953 +f 3144/3700/16954 2792/3332/16955 2793/3331/16956 +f 2746/3283/16957 2748/3287/16958 3144/3700/16959 +f 3144/3700/16960 3145/3702/16961 2746/3283/16962 +f 2764/3304/16963 2763/3299/16964 3145/3702/16965 +f 3145/3702/16966 2793/3331/16967 2764/3304/16968 +f 2745/3284/16969 2746/3283/16970 3145/3702/16971 +f 3145/3702/16972 2763/3299/16973 2745/3284/16974 +f 2787/3328/16975 3146/3704/16976 3147/3703/16977 +f 3147/3703/16978 2790/3325/16979 2787/3328/16980 +f 3148/3705/16981 3146/3704/16982 2787/3328/16983 +f 2787/3328/16984 3140/3697/16985 3148/3705/16986 +f 2898/3439/16987 3146/3704/16988 3148/3705/16989 +f 3148/3705/16990 2901/3436/16991 2898/3439/16992 +f 3141/3696/16993 3149/3706/16994 3148/3705/16995 +f 3148/3705/16996 3140/3697/16997 3141/3696/16998 +f 2904/3440/16999 2901/3436/17000 3148/3705/17001 +f 3148/3705/17002 3149/3706/17003 2904/3440/17004 +f 3151/3707/17005 3150/3708/17006 3149/3706/17007 +f 3149/3706/17008 3141/3696/17009 3151/3707/17010 +f 3152/3709/17011 2904/3440/17012 3149/3706/17013 +f 3149/3706/17014 3150/3708/17015 3152/3709/17016 +f 2903/3441/17017 2904/3440/17018 3152/3709/17019 +f 3152/3709/17020 2951/3493/17021 2903/3441/17022 +f 2911/3448/17023 2912/3450/17024 3152/3709/17025 +f 3152/3709/17026 3150/3708/17027 2911/3448/17028 +f 2950/3494/17029 2951/3493/17030 3152/3709/17031 +f 3152/3709/17032 2912/3450/17033 2950/3494/17034 +f 2781/3322/17035 2911/3448/17036 3150/3708/17037 +f 3150/3708/17038 3151/3707/17039 2781/3322/17040 +f 2898/3439/17041 3153/3710/17042 3147/3703/17043 +f 3147/3703/17044 3146/3704/17045 2898/3439/17046 +f 3155/3711/17047 3154/3712/17048 3147/3703/17049 +f 3147/3703/17050 3153/3710/17051 3155/3711/17052 +f 3156/3713/17053 2790/3325/17054 3147/3703/17055 +f 3147/3703/17056 3154/3712/17057 3156/3713/17058 +f 2791/3329/17059 2790/3325/17060 3156/3713/17061 +f 3156/3713/17062 3157/3714/17063 2791/3329/17064 +f 2795/3333/17065 2791/3329/17066 3157/3714/17067 +f 3157/3714/17068 2817/3353/17069 2795/3333/17070 +f 3159/3717/17071 3158/3718/17072 3161/3715/17073 +f 3161/3715/17074 3160/3716/17075 3159/3717/17076 +f 2815/3355/17077 2816/3354/17078 3161/3715/17079 +f 3161/3715/17080 3158/3718/17081 2815/3355/17082 +f 3163/3719/17083 3162/3720/17084 3158/3718/17085 +f 3158/3718/17086 3159/3717/17087 3163/3719/17088 +f 2818/3356/17089 2815/3355/17090 3158/3718/17091 +f 3158/3718/17092 3162/3720/17093 2818/3356/17094 +f 3162/3720/17095 3163/3719/17096 2851/3390/17097 +f 2851/3390/17098 2837/3377/17099 3162/3720/17100 +f 3162/3720/17101 2837/3377/17102 2838/3376/17103 +f 2838/3376/17104 2818/3356/17105 3162/3720/17106 +f 2838/3376/17107 2820/3359/17108 2814/3351/17109 +f 2814/3351/17110 2818/3356/17111 2838/3376/17112 +f 2821/3358/17113 2813/3352/17114 2814/3351/17115 +f 2814/3351/17116 2820/3359/17117 2821/3358/17118 +f 2766/3302/17119 2764/3304/17120 2813/3352/17121 +f 2813/3352/17122 2821/3358/17123 2766/3302/17124 +f 3165/3721/17125 3164/3722/17126 3159/3717/17127 +f 3159/3717/17128 3160/3716/17129 3165/3721/17130 +f 2850/3391/17131 3163/3719/17132 3159/3717/17133 +f 3159/3717/17134 3164/3722/17135 2850/3391/17136 +f 3166/3723/17137 3164/3722/17138 3165/3721/17139 +f 2879/3418/17140 2850/3391/17141 3164/3722/17142 +f 3164/3722/17143 3166/3723/17144 2879/3418/17145 +f 3168/3724/17146 3167/3725/17147 2879/3418/17148 +f 2879/3418/17149 3166/3723/17150 3168/3724/17151 +f 2879/3418/17152 3167/3725/17153 2899/3438/17154 +f 2899/3438/17155 2880/3417/17156 2879/3418/17157 +f 3153/3710/17158 2898/3439/17159 2899/3438/17160 +f 2899/3438/17161 3167/3725/17162 3153/3710/17163 +f 3155/3711/17164 3153/3710/17165 3167/3725/17166 +f 3167/3725/17167 3168/3724/17168 3155/3711/17169 +f 3095/3651/17170 3096/3650/17171 3103/3657/17172 +f 3103/3657/17173 3099/3653/17174 3095/3651/17175 +f 2742/3279/17176 3136/3693/17177 3093/3647/17178 +f 3093/3647/17179 3089/3643/17180 2742/3279/17181 +f 3087/3641/17182 3088/3640/17183 3091/3675/17184 +f 2745/3284/17185 2761/3301/17186 3082/3635/17187 +f 3082/3635/17188 2744/3285/17189 2745/3284/17190 +f 2754/3289/17191 2756/3294/17192 3082/3635/17193 +f 3082/3635/17194 2761/3301/17195 2754/3289/17196 +f 3016/3560/17197 3017/3559/17198 3061/3726/17199 +f 3061/3726/17200 3062/3628/17201 3016/3560/17202 +f 3169/3727/17203 2780/3317/17204 3056/3605/17205 +f 3056/3605/17206 3057/3604/17207 3169/3727/17208 +f 3048/3597/17209 3170/3728/17210 3051/3598/17211 +f 3051/3598/17212 2865/3403/17213 3048/3597/17214 +f 3171/3729/17215 3170/3728/17216 3048/3597/17217 +f 3048/3597/17218 3049/3596/17219 3171/3729/17220 +f 3172/3732/17221 3171/3733/17222 3049/3730/17223 +f 3049/3730/17224 3173/3731/17225 3172/3732/17226 +f 3049/3730/17227 3046/3593/17228 3044/3592/17229 +f 3044/3592/17230 3173/3731/17231 3049/3730/17232 +f 3044/3592/17233 3045/3591/17234 3174/3734/17235 +f 3174/3734/17236 3173/3731/17237 3044/3592/17238 +f 3045/3591/17239 3175/3735/17240 3022/3566/17241 +f 3022/3566/17242 3174/3734/17243 3045/3591/17244 +f 3175/3735/17245 3176/3736/17246 3020/3562/17247 +f 3020/3562/17248 3022/3566/17249 3175/3735/17250 +f 3175/3735/17251 3045/3591/17252 3043/3588/17253 +f 3043/3588/17254 3034/3576/17255 3175/3735/17256 +f 3175/3735/17257 3034/3576/17258 3032/3574/17259 +f 3032/3574/17260 3176/3736/17261 3175/3735/17262 +f 3032/3574/17263 3029/3572/17264 3027/3569/17265 +f 3027/3569/17266 3176/3736/17267 3032/3574/17268 +f 3027/3569/17269 3019/3563/17270 3020/3562/17271 +f 3020/3562/17272 3176/3736/17273 3027/3569/17274 +f 3023/3565/17275 3177/3737/17276 3174/3734/17277 +f 3174/3734/17278 3022/3566/17279 3023/3565/17280 +f 3172/3732/17281 3173/3731/17282 3174/3734/17283 +f 3174/3734/17284 3177/3737/17285 3172/3732/17286 +f 3033/3577/17287 3034/3576/17288 3043/3588/17289 +f 3043/3588/17290 3037/3579/17291 3033/3577/17292 +f 3004/3550/17293 3179/3738/17294 3178/3739/17295 +f 3182/3740/17296 3181/3741/17297 3180/3742/17298 +f 3179/3738/17299 3183/3743/17300 3180/3742/17301 +f 3180/3742/17302 3178/3739/17303 3179/3738/17304 +f 3180/3742/17305 3183/3743/17306 3182/3740/17307 +f 3185/3744/17308 3184/3745/17309 3181/3741/17310 +f 3181/3741/17311 3182/3740/17312 3185/3744/17313 +f 3181/3741/17314 3184/3745/17315 3186/3746/17316 +f 3187/3747/17317 3003/3546/17318 3186/3746/17319 +f 3186/3746/17320 3184/3745/17321 3187/3747/17322 +f 3001/3543/17323 3011/3553/17324 3186/3746/17325 +f 3186/3746/17326 3003/3546/17327 3001/3543/17328 +f 3189/3749/17329 3188/3750/17330 3187/3747/17331 +f 3187/3747/17332 3190/3748/17333 3189/3749/17334 +f 3000/3544/17335 3003/3546/17336 3187/3747/17337 +f 3187/3747/17338 3188/3750/17339 3000/3544/17340 +f 3191/3751/17341 3190/3748/17342 3187/3747/17343 +f 3187/3747/17344 3184/3745/17345 3191/3751/17346 +f 3193/3752/17347 3192/3753/17348 3188/3750/17349 +f 3188/3750/17350 3189/3749/17351 3193/3752/17352 +f 2999/3545/17353 3000/3544/17354 3188/3750/17355 +f 3188/3750/17356 3192/3753/17357 2999/3545/17358 +f 3195/3754/17359 3194/3755/17360 3192/3753/17361 +f 3192/3753/17362 3193/3752/17363 3195/3754/17364 +f 3196/3756/17365 2999/3545/17366 3192/3753/17367 +f 3192/3753/17368 3194/3755/17369 3196/3756/17370 +f 3196/3756/17371 3194/3755/17372 3198/3757/17373 +f 3198/3757/17374 3197/3758/17375 3196/3756/17376 +f 3196/3756/17377 3197/3758/17378 3200/3759/17379 +f 3200/3759/17380 3199/3760/17381 3196/3756/17382 +f 3196/3756/17383 3199/3760/17384 3002/3542/17385 +f 3002/3542/17386 2999/3545/17387 3196/3756/17388 +f 3199/3760/17389 3200/3759/17390 3202/3761/17391 +f 3202/3761/17392 3201/3762/17393 3199/3760/17394 +f 3010/3554/17395 3002/3542/17396 3199/3760/17397 +f 3199/3760/17398 3201/3762/17399 3010/3554/17400 +f 3201/3762/17401 3202/3761/17402 3204/3763/17403 +f 3204/3763/17404 3203/3764/17405 3201/3762/17406 +f 3009/3551/17407 3010/3554/17408 3201/3762/17409 +f 3201/3762/17410 3203/3764/17411 3009/3551/17412 +f 3203/3764/17413 3204/3763/17414 3206/3765/17415 +f 3206/3765/17416 3205/3766/17417 3203/3764/17418 +f 3008/3552/17419 3009/3551/17420 3203/3764/17421 +f 3203/3764/17422 3205/3766/17423 3008/3552/17424 +f 3205/3766/17425 3206/3765/17426 3208/3767/17427 +f 3208/3767/17428 3207/3768/17429 3205/3766/17430 +f 3209/3769/17431 3008/3552/17432 3205/3766/17433 +f 3205/3766/17434 3207/3768/17435 3209/3769/17436 +f 3211/3770/17437 3210/3771/17438 3209/3769/17439 +f 3209/3769/17440 3207/3768/17441 3211/3770/17442 +f 3213/3772/17443 3212/3773/17444 3209/3769/17445 +f 3209/3769/17446 3210/3771/17447 3213/3772/17448 +f 3006/3548/17449 3008/3552/17450 3209/3769/17451 +f 3209/3769/17452 3212/3773/17453 3006/3548/17454 +f 3214/3774/17455 3012/3556/17456 3212/3773/17457 +f 3212/3773/17458 3213/3772/17459 3214/3774/17460 +f 3005/3549/17461 3006/3548/17462 3212/3773/17463 +f 3212/3773/17464 3012/3556/17465 3005/3549/17466 +f 3216/3775/17467 3215/3776/17468 3213/3772/17469 +f 3213/3772/17470 3210/3771/17471 3216/3775/17472 +f 3213/3772/17473 3215/3776/17474 3214/3774/17475 +f 3218/3777/17476 3217/3778/17477 3214/3774/17478 +f 3214/3774/17479 3215/3776/17480 3218/3777/17481 +f 3216/3775/17482 3219/3779/17483 3218/3777/17484 +f 3218/3777/17485 3215/3776/17486 3216/3775/17487 +f 3220/3780/17488 2996/3539/17489 3218/3777/17490 +f 3218/3777/17491 3219/3779/17492 3220/3780/17493 +f 2994/3538/17494 3217/3778/17495 3218/3777/17496 +f 3218/3777/17497 2996/3539/17498 2994/3538/17499 +f 3222/3781/17500 3221/3782/17501 3220/3780/17502 +f 3220/3780/17503 3219/3779/17504 3222/3781/17505 +f 3224/3783/17506 3223/3784/17507 3220/3780/17508 +f 3220/3780/17509 3221/3782/17510 3224/3783/17511 +f 2992/3534/17512 2996/3539/17513 3220/3780/17514 +f 3220/3780/17515 3223/3784/17516 2992/3534/17517 +f 3226/3785/17518 3225/3786/17519 3223/3784/17520 +f 3223/3784/17521 3224/3783/17522 3226/3785/17523 +f 2991/3535/17524 2992/3534/17525 3223/3784/17526 +f 3223/3784/17527 3225/3786/17528 2991/3535/17529 +f 3228/3787/17530 3227/3788/17531 3225/3786/17532 +f 3225/3786/17533 3226/3785/17534 3228/3787/17535 +f 3229/3789/17536 2991/3535/17537 3225/3786/17538 +f 3225/3786/17539 3227/3788/17540 3229/3789/17541 +f 3193/3790/17542 3189/3791/17543 3229/3789/17544 +f 3229/3789/17545 3227/3788/17546 3193/3790/17547 +f 3190/3792/17548 3230/3793/17549 3229/3789/17550 +f 3229/3789/17551 3189/3791/17552 3190/3792/17553 +f 2990/3536/17554 2991/3535/17555 3229/3789/17556 +f 3229/3789/17557 3230/3793/17558 2990/3536/17559 +f 3191/3794/17560 2998/3540/17561 3230/3793/17562 +f 3230/3793/17563 3190/3792/17564 3191/3794/17565 +f 2995/3537/17566 2990/3536/17567 3230/3793/17568 +f 3230/3793/17569 2998/3540/17570 2995/3537/17571 +f 3195/3795/17572 3193/3790/17573 3227/3788/17574 +f 3227/3788/17575 3228/3787/17576 3195/3795/17577 +f 3228/3787/17578 3226/3785/17579 3232/3796/17580 +f 3232/3796/17581 3231/3797/17582 3228/3787/17583 +f 3228/3787/17584 3231/3797/17585 3233/3798/17586 +f 3233/3798/17587 3195/3795/17588 3228/3787/17589 +f 3233/3799/17590 3198/3757/17591 3194/3755/17592 +f 3194/3755/17593 3195/3754/17594 3233/3799/17595 +f 3235/3800/17596 3234/3801/17597 3198/3757/17598 +f 3198/3757/17599 3233/3799/17600 3235/3800/17601 +f 3236/3802/17602 3197/3758/17603 3198/3757/17604 +f 3198/3757/17605 3234/3801/17606 3236/3802/17607 +f 3236/3802/17608 3237/3803/17609 3200/3759/17610 +f 3200/3759/17611 3197/3758/17612 3236/3802/17613 +f 3238/3804/17614 3202/3761/17615 3200/3759/17616 +f 3200/3759/17617 3237/3803/17618 3238/3804/17619 +f 3239/3805/17620 3204/3763/17621 3202/3761/17622 +f 3202/3761/17623 3238/3804/17624 3239/3805/17625 +f 3240/3806/17626 3206/3765/17627 3204/3763/17628 +f 3204/3763/17629 3239/3805/17630 3240/3806/17631 +f 3241/3807/17632 3208/3767/17633 3206/3765/17634 +f 3206/3765/17635 3240/3806/17636 3241/3807/17637 +f 3243/3808/17638 3242/3809/17639 3208/3767/17640 +f 3208/3767/17641 3241/3807/17642 3243/3808/17643 +f 3208/3767/17644 3242/3809/17645 3211/3770/17646 +f 3211/3770/17647 3207/3768/17648 3208/3767/17649 +f 3245/3810/17650 3244/3811/17651 3211/3770/17652 +f 3211/3770/17653 3242/3809/17654 3245/3810/17655 +f 3244/3811/17656 3245/3810/17657 3246/3812/17658 +f 3246/3812/17659 3222/3781/17660 3244/3811/17661 +f 3219/3779/17662 3216/3775/17663 3244/3811/17664 +f 3244/3811/17665 3222/3781/17666 3219/3779/17667 +f 3210/3771/17668 3211/3770/17669 3244/3811/17670 +f 3244/3811/17671 3216/3775/17672 3210/3771/17673 +f 3246/3812/17674 3247/3813/17675 3221/3782/17676 +f 3221/3782/17677 3222/3781/17678 3246/3812/17679 +f 3248/3814/17680 3224/3783/17681 3221/3782/17682 +f 3221/3782/17683 3247/3813/17684 3248/3814/17685 +f 3232/3796/17686 3226/3785/17687 3224/3783/17688 +f 3224/3783/17689 3248/3814/17690 3232/3796/17691 +f 3250/3815/17692 3249/3816/17693 3232/3796/17694 +f 3232/3796/17695 3248/3814/17696 3250/3815/17697 +f 3251/3817/17698 3231/3797/17699 3232/3796/17700 +f 3232/3796/17701 3249/3816/17702 3251/3817/17703 +f 3252/3820/17704 2969/3513/17705 3251/3818/17706 +f 3251/3818/17707 3249/3819/17708 3252/3820/17709 +f 2970/3512/17710 3235/3821/17711 3251/3818/17712 +f 3251/3818/17713 2969/3513/17714 2970/3512/17715 +f 3233/3798/17716 3231/3797/17717 3251/3817/17718 +f 3251/3817/17719 3235/3822/17720 3233/3798/17721 +f 3253/3824/17722 2966/3509/17723 3252/3820/17724 +f 3252/3820/17725 3254/3823/17726 3253/3824/17727 +f 2965/3505/17728 2969/3513/17729 3252/3820/17730 +f 3252/3820/17731 2966/3509/17732 2965/3505/17733 +f 3250/3825/17734 3254/3823/17735 3252/3820/17736 +f 3252/3820/17737 3249/3819/17738 3250/3825/17739 +f 2927/3466/17740 2928/3465/17741 3253/3824/17742 +f 3253/3824/17743 3255/3826/17744 2927/3466/17745 +f 2930/3469/17746 2966/3509/17747 3253/3824/17748 +f 3253/3824/17749 2928/3465/17750 2930/3469/17751 +f 3256/3827/17752 3255/3826/17753 3253/3824/17754 +f 3253/3824/17755 3254/3823/17756 3256/3827/17757 +f 3257/3829/17758 3255/3826/17759 3256/3827/17760 +f 3256/3827/17761 3258/3828/17762 3257/3829/17763 +f 3250/3825/17764 3259/3830/17765 3256/3827/17766 +f 3256/3827/17767 3254/3823/17768 3250/3825/17769 +f 3260/3831/17770 3258/3828/17771 3256/3827/17772 +f 3256/3827/17773 3259/3830/17774 3260/3831/17775 +f 3261/3833/17776 3258/3828/17777 3260/3831/17778 +f 3260/3831/17779 3262/3832/17780 3261/3833/17781 +f 3247/3813/17782 3246/3812/17783 3260/3834/17784 +f 3260/3834/17785 3259/3835/17786 3247/3813/17787 +f 3245/3810/17788 3262/3836/17789 3260/3834/17790 +f 3260/3834/17791 3246/3812/17792 3245/3810/17793 +f 3264/3838/17794 3263/3839/17795 3261/3833/17796 +f 3261/3833/17797 3265/3837/17798 3264/3838/17799 +f 3257/3829/17800 3258/3828/17801 3261/3833/17802 +f 3261/3833/17803 3263/3839/17804 3257/3829/17805 +f 3243/3840/17806 3265/3837/17807 3261/3833/17808 +f 3261/3833/17809 3262/3832/17810 3243/3840/17811 +f 2907/3446/17812 3266/3841/17813 3263/3839/17814 +f 3263/3839/17815 3264/3838/17816 2907/3446/17817 +f 3267/3842/17818 3257/3829/17819 3263/3839/17820 +f 3263/3839/17821 3266/3841/17822 3267/3842/17823 +f 3269/3843/17824 3268/3844/17825 3267/3842/17826 +f 3267/3842/17827 3266/3841/17828 3269/3843/17829 +f 2926/3467/17830 2927/3466/17831 3267/3842/17832 +f 3267/3842/17833 3268/3844/17834 2926/3467/17835 +f 3255/3826/17836 3257/3829/17837 3267/3842/17838 +f 3267/3842/17839 2927/3466/17840 3255/3826/17841 +f 3271/3845/17842 3270/3846/17843 3268/3844/17844 +f 3268/3844/17845 3269/3843/17846 3271/3845/17847 +f 2897/3434/17848 2926/3467/17849 3268/3844/17850 +f 3268/3844/17851 3270/3846/17852 2897/3434/17853 +f 3273/3847/17854 3272/3848/17855 3270/3846/17856 +f 3270/3846/17857 3271/3845/17858 3273/3847/17859 +f 2896/3435/17860 2897/3434/17861 3270/3846/17862 +f 3270/3846/17863 3272/3848/17864 2896/3435/17865 +f 3275/3849/17866 3274/3850/17867 3272/3848/17868 +f 3272/3848/17869 3273/3847/17870 3275/3849/17871 +f 2846/3385/17872 2896/3435/17873 3272/3848/17874 +f 3272/3848/17875 3274/3850/17876 2846/3385/17877 +f 3277/3851/17878 3276/3852/17879 3274/3850/17880 +f 3274/3850/17881 3275/3849/17882 3277/3851/17883 +f 2845/3380/17884 2846/3385/17885 3274/3850/17886 +f 3274/3850/17887 3276/3852/17888 2845/3380/17889 +f 3279/3853/17890 3278/3854/17891 3276/3852/17892 +f 3276/3852/17893 3277/3851/17894 3279/3853/17895 +f 2849/3386/17896 2845/3380/17897 3276/3852/17898 +f 3276/3852/17899 3278/3854/17900 2849/3386/17901 +f 3277/3851/17902 3280/3856/17903 3281/3855/17904 +f 3281/3855/17905 3279/3853/17906 3277/3851/17907 +f 2803/3342/17908 2804/3341/17909 3281/3855/17910 +f 3281/3855/17911 3280/3856/17912 2803/3342/17913 +f 3275/3849/17914 3282/3857/17915 3280/3856/17916 +f 3280/3856/17917 3277/3851/17918 3275/3849/17919 +f 2782/3321/17920 2803/3342/17921 3280/3856/17922 +f 3280/3856/17923 3282/3857/17924 2782/3321/17925 +f 3273/3847/17926 3283/3858/17927 3282/3857/17928 +f 3282/3857/17929 3275/3849/17930 3273/3847/17931 +f 2781/3322/17932 2782/3321/17933 3282/3857/17934 +f 3282/3857/17935 3283/3858/17936 2781/3322/17937 +f 3271/3845/17938 2910/3449/17939 3283/3858/17940 +f 3283/3858/17941 3273/3847/17942 3271/3845/17943 +f 2910/3449/17944 2911/3448/17945 2781/3322/17946 +f 2781/3322/17947 3283/3858/17948 2910/3449/17949 +f 2908/3445/17950 2910/3449/17951 3271/3845/17952 +f 3271/3845/17953 3269/3843/17954 2908/3445/17955 +f 2907/3446/17956 2908/3445/17957 3269/3843/17958 +f 3269/3843/17959 3266/3841/17960 2907/3446/17961 +f 2906/3447/17962 2907/3446/17963 3264/3838/17964 +f 3264/3838/17965 3284/3859/17966 2906/3447/17967 +f 3285/3860/17968 3284/3859/17969 3264/3838/17970 +f 3264/3838/17971 3265/3837/17972 3285/3860/17973 +f 3243/3840/17974 3241/3861/17975 3285/3860/17976 +f 3285/3860/17977 3265/3837/17978 3243/3840/17979 +f 3240/3862/17980 3286/3863/17981 3285/3860/17982 +f 3285/3860/17983 3241/3861/17984 3240/3862/17985 +f 3288/3864/17986 3287/3865/17987 2949/3491/17988 +f 2949/3491/17989 2950/3494/17990 3288/3864/17991 +f 3288/3864/17992 2906/3447/17993 3284/3859/17994 +f 3289/3866/17995 3287/3865/17996 3288/3864/17997 +f 3288/3864/17998 3286/3863/17999 3289/3866/18000 +f 3290/3868/18001 3287/3865/18002 3289/3866/18003 +f 3289/3866/18004 3291/3867/18005 3290/3868/18006 +f 3240/3862/18007 3239/3869/18008 3289/3866/18009 +f 3289/3866/18010 3286/3863/18011 3240/3862/18012 +f 3238/3870/18013 3291/3867/18014 3289/3866/18015 +f 3289/3866/18016 3239/3869/18017 3238/3870/18018 +f 3290/3868/18019 2972/3873/18020 3292/3871/18021 +f 3292/3871/18022 2948/3872/18023 3290/3868/18024 +f 3290/3868/18025 2948/3872/18026 2949/3491/18027 +f 2949/3491/18028 3287/3865/18029 3290/3868/18030 +f 3293/3874/18031 2972/3873/18032 3290/3868/18033 +f 3290/3868/18034 3291/3867/18035 3293/3874/18036 +f 3292/3876/18037 2972/3515/18038 2973/3514/18039 +f 2973/3514/18040 3294/3875/18041 3292/3876/18042 +f 3296/3879/18043 3295/3880/18044 3292/3877/18045 +f 3292/3877/18046 3294/3878/18047 3296/3879/18048 +f 2947/3489/18049 2948/3488/18050 3292/3877/18051 +f 3292/3877/18052 3295/3880/18053 2947/3489/18054 +f 3298/3881/18055 3297/3882/18056 3296/3879/18057 +f 3296/3879/18058 3294/3878/18059 3298/3881/18060 +f 3300/3883/18061 3299/3884/18062 3296/3879/18063 +f 3296/3879/18064 3297/3882/18065 3300/3883/18066 +f 3301/3885/18067 3295/3880/18068 3296/3879/18069 +f 3296/3879/18070 3299/3884/18071 3301/3885/18072 +f 2985/3529/18073 2986/3528/18074 3299/3886/18075 +f 3299/3886/18076 3300/3887/18077 2985/3529/18078 +f 2988/3532/18079 3301/3888/18080 3299/3886/18081 +f 3299/3886/18082 2986/3528/18083 2988/3532/18084 +f 3303/3889/18085 3302/3890/18086 3300/3883/18087 +f 3300/3883/18088 3297/3882/18089 3303/3889/18090 +f 3304/3892/18091 2985/3529/18092 3300/3887/18093 +f 3300/3887/18094 3302/3891/18095 3304/3892/18096 +f 3306/3893/18097 3305/3894/18098 3304/3892/18099 +f 3304/3892/18100 3302/3891/18101 3306/3893/18102 +f 3308/3895/18103 3307/3896/18104 3304/3892/18105 +f 3304/3892/18106 3305/3894/18107 3308/3895/18108 +f 2984/3530/18109 2985/3529/18110 3304/3892/18111 +f 3304/3892/18112 3307/3896/18113 2984/3530/18114 +f 3310/3897/18115 3309/3898/18116 3305/3894/18117 +f 3305/3894/18118 3306/3893/18119 3310/3897/18120 +f 3311/3899/18121 3308/3895/18122 3305/3894/18123 +f 3305/3894/18124 3309/3898/18125 3311/3899/18126 +f 2959/3501/18127 2960/3504/18128 3311/3899/18129 +f 3311/3899/18130 3309/3898/18131 2959/3501/18132 +f 3313/3902/18133 3312/3903/18134 3315/3900/18135 +f 3315/3900/18136 3314/3901/18137 3313/3902/18138 +f 2977/3521/18139 2978/3520/18140 3315/3900/18141 +f 3315/3900/18142 3312/3903/18143 2977/3521/18144 +f 3317/3904/18145 3316/3905/18146 3312/3903/18147 +f 3312/3903/18148 3313/3902/18149 3317/3904/18150 +f 3318/3906/18151 2977/3521/18152 3312/3903/18153 +f 3312/3903/18154 3316/3905/18155 3318/3906/18156 +f 3320/3907/18157 3319/3908/18158 3318/3906/18159 +f 3318/3906/18160 3316/3905/18161 3320/3907/18162 +f 2980/3909/18163 3321/3910/18164 3318/3906/18165 +f 3318/3906/18166 3319/3908/18167 2980/3909/18168 +f 2976/3522/18169 2977/3521/18170 3318/3906/18171 +f 3318/3906/18172 3321/3910/18173 2976/3522/18174 +f 2981/3911/18175 3322/3912/18176 3321/3910/18177 +f 3321/3910/18178 2980/3909/18179 2981/3911/18180 +f 3323/3913/18181 2976/3522/18182 3321/3910/18183 +f 3321/3910/18184 3322/3912/18185 3323/3913/18186 +f 3319/3916/18187 3320/3917/18188 3325/3914/18189 +f 3325/3914/18190 3324/3915/18191 3319/3916/18192 +f 3324/3915/18193 2983/3523/18194 2980/3526/18195 +f 2980/3526/18196 3319/3916/18197 3324/3915/18198 +f 3326/3918/18199 2953/3495/18200 3324/3915/18201 +f 3324/3915/18202 3325/3914/18203 3326/3918/18204 +f 2946/3490/18205 2983/3523/18206 3324/3915/18207 +f 3324/3915/18208 2953/3495/18209 2946/3490/18210 +f 3328/3919/18211 3327/3920/18212 3326/3918/18213 +f 3326/3918/18214 3325/3914/18215 3328/3919/18216 +f 3330/3921/18217 3329/3922/18218 3326/3918/18219 +f 3326/3918/18220 3327/3920/18221 3330/3921/18222 +f 2952/3496/18223 2953/3495/18224 3326/3918/18225 +f 3326/3918/18226 3329/3922/18227 2952/3496/18228 +f 2902/3442/18229 2903/3441/18230 3329/3923/18231 +f 3329/3923/18232 3330/3924/18233 2902/3442/18234 +f 2951/3493/18235 2952/3492/18236 3329/3923/18237 +f 3329/3923/18238 2903/3441/18239 2951/3493/18240 +f 3332/3925/18241 3331/3926/18242 3330/3921/18243 +f 3330/3921/18244 3327/3920/18245 3332/3925/18246 +f 2905/3443/18247 2902/3442/18248 3330/3924/18249 +f 3330/3924/18250 3331/3927/18251 2905/3443/18252 +f 3334/3929/18253 3333/3930/18254 3331/3927/18255 +f 3331/3927/18256 3332/3928/18257 3334/3929/18258 +f 3335/3931/18259 2905/3443/18260 3331/3927/18261 +f 3331/3927/18262 3333/3930/18263 3335/3931/18264 +f 2924/3462/18265 2894/3431/18266 3335/3931/18267 +f 3335/3931/18268 3333/3930/18269 2924/3462/18270 +f 2881/3420/18271 2882/3419/18272 3335/3931/18273 +f 3335/3931/18274 2894/3431/18275 2881/3420/18276 +f 2900/3437/18277 2905/3443/18278 3335/3931/18279 +f 3335/3931/18280 2882/3419/18281 2900/3437/18282 +f 2938/3475/18283 2924/3462/18284 3333/3930/18285 +f 3333/3930/18286 3334/3929/18287 2938/3475/18288 +f 2937/3476/18289 2938/3475/18290 3334/3929/18291 +f 3334/3929/18292 3336/3932/18293 2937/3476/18294 +f 3337/3934/18295 3336/3935/18296 3334/3933/18297 +f 3334/3933/18298 3332/3925/18299 3337/3934/18300 +f 3337/3934/18301 3338/3937/18302 3339/3936/18303 +f 3339/3936/18304 3336/3935/18305 3337/3934/18306 +f 3327/3920/18307 3328/3919/18308 3337/3934/18309 +f 3337/3934/18310 3332/3925/18311 3327/3920/18312 +f 3338/3937/18313 3337/3934/18314 3328/3919/18315 +f 3328/3919/18316 3340/3938/18317 3338/3937/18318 +f 3325/3914/18319 3320/3917/18320 3340/3938/18321 +f 3340/3938/18322 3328/3919/18323 3325/3914/18324 +f 3341/3941/18325 3339/3942/18326 3338/3939/18327 +f 3338/3939/18328 3342/3940/18329 3341/3941/18330 +f 3317/3904/18331 3342/3940/18332 3338/3939/18333 +f 3338/3939/18334 3340/3943/18335 3317/3904/18336 +f 3344/3945/18337 3343/3946/18338 3339/3936/18339 +f 3339/3936/18340 3341/3944/18341 3344/3945/18342 +f 3339/3936/18343 3343/3946/18344 2937/3947/18345 +f 2937/3947/18346 3336/3935/18347 3339/3936/18348 +f 3345/3948/18349 2935/3949/18350 2937/3947/18351 +f 2937/3947/18352 3343/3946/18353 3345/3948/18354 +f 3346/3950/18355 2934/3951/18356 2935/3949/18357 +f 2935/3949/18358 3345/3948/18359 3346/3950/18360 +f 3346/3954/18361 3347/3955/18362 3348/3952/18363 +f 3348/3952/18364 2934/3953/18365 3346/3954/18366 +f 3350/3956/18367 3349/3957/18368 3346/3950/18369 +f 3346/3950/18370 3345/3948/18371 3350/3956/18372 +f 3303/3889/18373 3347/3960/18374 3346/3958/18375 +f 3346/3958/18376 3349/3959/18377 3303/3889/18378 +f 3310/3961/18379 3306/3962/18380 3349/3957/18381 +f 3349/3957/18382 3350/3956/18383 3310/3961/18384 +f 3302/3890/18385 3303/3889/18386 3349/3959/18387 +f 3349/3959/18388 3306/3963/18389 3302/3890/18390 +f 3343/3946/18391 3344/3945/18392 3350/3956/18393 +f 3350/3956/18394 3345/3948/18395 3343/3946/18396 +f 2958/3964/18397 3310/3961/18398 3350/3956/18399 +f 3350/3956/18400 3344/3945/18401 2958/3964/18402 +f 3298/3965/18403 2974/3518/18404 3348/3952/18405 +f 3348/3952/18406 3347/3955/18407 3298/3965/18408 +f 2975/3517/18409 3351/3966/18410 3348/3952/18411 +f 3348/3952/18412 2974/3518/18413 2975/3517/18414 +f 2933/3967/18415 2934/3953/18416 3348/3952/18417 +f 3348/3952/18418 3351/3966/18419 2933/3967/18420 +f 3352/3968/18421 2942/3481/18422 3351/3966/18423 +f 3351/3966/18424 2975/3517/18425 3352/3968/18426 +f 2940/3480/18427 2933/3967/18428 3351/3966/18429 +f 3351/3966/18430 2942/3481/18431 2940/3480/18432 +f 2967/3511/18433 2968/3510/18434 3352/3968/18435 +f 3352/3968/18436 3353/3969/18437 2967/3511/18438 +f 2941/3482/18439 2942/3481/18440 3352/3968/18441 +f 3352/3968/18442 2968/3510/18443 2941/3482/18444 +f 2971/3516/18445 3353/3969/18446 3352/3968/18447 +f 3352/3968/18448 2975/3517/18449 2971/3516/18450 +f 2970/3512/18451 2967/3511/18452 3353/3969/18453 +f 3353/3969/18454 3354/3970/18455 2970/3512/18456 +f 3355/3971/18457 3354/3970/18458 3353/3969/18459 +f 3353/3969/18460 2971/3516/18461 3355/3971/18462 +f 3236/3972/18463 3234/3973/18464 3354/3970/18465 +f 3354/3970/18466 3355/3971/18467 3236/3972/18468 +f 3235/3821/18469 2970/3512/18470 3354/3970/18471 +f 3354/3970/18472 3234/3973/18473 3235/3821/18474 +f 3298/3965/18475 3294/3875/18476 2973/3514/18477 +f 2973/3514/18478 2974/3518/18479 3298/3965/18480 +f 3297/3882/18481 3298/3881/18482 3347/3960/18483 +f 3347/3960/18484 3303/3889/18485 3297/3882/18486 +f 2956/3498/18487 2958/3502/18488 3344/3974/18489 +f 3344/3974/18490 3341/3941/18491 2956/3498/18492 +f 2955/3499/18493 2956/3498/18494 3341/3941/18495 +f 3341/3941/18496 3342/3940/18497 2955/3499/18498 +f 3313/3902/18499 2955/3499/18500 3342/3940/18501 +f 3342/3940/18502 3317/3904/18503 3313/3902/18504 +f 3316/3905/18505 3317/3904/18506 3340/3943/18507 +f 3340/3943/18508 3320/3907/18509 3316/3905/18510 +f 2958/3502/18511 2959/3501/18512 3309/3898/18513 +f 3309/3898/18514 3310/3897/18515 2958/3502/18516 +f 3237/3975/18517 3293/3874/18518 3291/3867/18519 +f 3291/3867/18520 3238/3870/18521 3237/3975/18522 +f 3242/3809/18523 3243/3808/18524 3262/3836/18525 +f 3262/3836/18526 3245/3810/18527 3242/3809/18528 +f 3248/3814/18529 3247/3813/18530 3259/3835/18531 +f 3259/3835/18532 3250/3815/18533 3248/3814/18534 +f 3237/3977/18535 3236/3972/18536 3355/3971/18537 +f 3355/3971/18538 3293/3976/18539 3237/3977/18540 +f 3001/3543/18541 3002/3542/18542 3010/3554/18543 +f 3010/3554/18544 3011/3553/18545 3001/3543/18546 +f 3357/3978/18547 3356/3979/18548 2988/3532/18549 +f 2988/3532/18550 2989/3531/18551 3357/3978/18552 +f 3323/3913/18553 3301/3888/18554 2988/3532/18555 +f 2988/3532/18556 3356/3979/18557 3323/3913/18558 +f 2976/3522/18559 3323/3913/18560 3356/3979/18561 +f 3356/3979/18562 2979/3519/18563 2976/3522/18564 +f 2945/3485/18565 2941/3482/18566 2968/3510/18567 +f 2968/3510/18568 2962/3508/18569 2945/3485/18570 +f 2923/3461/18571 2936/3471/18572 2939/3478/18573 +f 2939/3478/18574 2925/3463/18575 2923/3461/18576 +f 2923/3461/18577 2924/3462/18578 2938/3475/18579 +f 2938/3475/18580 2936/3471/18581 2923/3461/18582 +f 2897/3434/18583 2874/3412/18584 2932/3470/18585 +f 2932/3470/18586 2926/3467/18587 2897/3434/18588 +f 2866/3404/18589 2915/3452/18590 2863/3402/18591 +f 2863/3402/18592 2860/3399/18593 2866/3404/18594 +f 2892/3430/18595 2895/3433/18596 2918/3455/18597 +f 2918/3455/18598 2913/3454/18599 2892/3430/18600 +f 2891/3428/18601 2892/3430/18602 2913/3454/18603 +f 2913/3454/18604 2914/3453/18605 2891/3428/18606 +f 2890/3429/18607 2891/3428/18608 2914/3453/18609 +f 2914/3453/18610 3358/3980/18611 2890/3429/18612 +f 2866/3404/18613 3358/3980/18614 2914/3453/18615 +f 2914/3453/18616 2915/3452/18617 2866/3404/18618 +f 3359/3982/18619 2890/3429/18620 3358/3980/18621 +f 3358/3980/18622 3360/3981/18623 3359/3982/18624 +f 2841/3378/18625 3360/3981/18626 3358/3980/18627 +f 3358/3980/18628 2866/3404/18629 2841/3378/18630 +f 2877/3415/18631 2887/3426/18632 3359/3982/18633 +f 3359/3982/18634 3361/3983/18635 2877/3415/18636 +f 2888/3425/18637 2890/3429/18638 3359/3982/18639 +f 3359/3982/18640 2887/3426/18641 2888/3425/18642 +f 3362/3984/18643 3361/3983/18644 3359/3982/18645 +f 3359/3982/18646 3360/3981/18647 3362/3984/18648 +f 2854/3392/18649 3361/3983/18650 3362/3984/18651 +f 3362/3984/18652 2851/3390/18653 2854/3392/18654 +f 2841/3378/18655 2839/3375/18656 3362/3984/18657 +f 3362/3984/18658 3360/3981/18659 2841/3378/18660 +f 2837/3377/18661 2851/3390/18662 3362/3984/18663 +f 3362/3984/18664 2839/3375/18665 2837/3377/18666 +f 2869/3407/18667 2877/3415/18668 3361/3983/18669 +f 3361/3983/18670 2854/3392/18671 2869/3407/18672 +f 2882/3419/18673 2880/3417/18674 2899/3438/18675 +f 2899/3438/18676 2900/3437/18677 2882/3419/18678 +f 2847/3384/18679 2873/3411/18680 2896/3435/18681 +f 2896/3435/18682 2846/3385/18683 2847/3384/18684 +f 2883/3424/18685 2884/3423/18686 2895/3433/18687 +f 2895/3433/18688 2892/3430/18689 2883/3424/18690 +f 2875/3414/18691 2885/3422/18692 2887/3426/18693 +f 2887/3426/18694 2877/3415/18695 2875/3414/18696 +f 2842/3383/18697 2856/3394/18698 2858/3397/18699 +f 2858/3397/18700 2847/3384/18701 2842/3383/18702 +f 3363/3985/18703 2797/3334/18704 2834/3372/18705 +f 2834/3372/18706 2855/3395/18707 3363/3985/18708 +f 3363/3985/18709 2775/3312/18710 2797/3334/18711 +f 2843/3382/18712 2806/3344/18713 3363/3985/18714 +f 3363/3985/18715 2855/3395/18716 2843/3382/18717 +f 2806/3344/18718 2774/3313/18719 2775/3312/18720 +f 2775/3312/18721 3363/3985/18722 2806/3344/18723 +f 2842/3383/18724 2843/3382/18725 2855/3395/18726 +f 2855/3395/18727 2856/3394/18728 2842/3383/18729 +f 2826/3365/18730 2862/3400/18731 2861/3398/18732 +f 2861/3398/18733 2825/3366/18734 2826/3365/18735 +f 2807/3345/18736 2844/3381/18737 2848/3387/18738 +f 2848/3387/18739 2809/3346/18740 2807/3345/18741 +f 2807/3345/18742 2806/3344/18743 2843/3382/18744 +f 2843/3382/18745 2844/3381/18746 2807/3345/18747 +f 2819/3360/18748 2820/3359/18749 2838/3376/18750 +f 2838/3376/18751 2836/3373/18752 2819/3360/18753 +f 2836/3373/18754 2823/3361/18755 2819/3360/18756 +f 2824/3362/18757 2823/3361/18758 2862/3400/18759 +f 2862/3400/18760 2826/3365/18761 2824/3362/18762 +f 2829/3369/18763 2828/3363/18764 2825/3366/18765 +f 2825/3366/18766 2861/3398/18767 2829/3369/18768 +f 2811/3349/18769 2824/3362/18770 2826/3365/18771 +f 2826/3365/18772 2827/3364/18773 2811/3349/18774 +f 2793/3331/18775 2794/3330/18776 2813/3352/18777 +f 2813/3352/18778 2764/3304/18779 2793/3331/18780 +f 2766/3302/18781 2812/3348/18782 2810/3350/18783 +f 2810/3350/18784 2765/3303/18785 2766/3302/18786 +f 2798/3338/18787 2805/3343/18788 2808/3347/18789 +f 2808/3347/18790 2802/3339/18791 2798/3338/18792 +f 2783/3320/18793 2800/3336/18794 2803/3342/18795 +f 2803/3342/18796 2782/3321/18797 2783/3320/18798 +f 2783/3320/18799 2785/3324/18800 2799/3337/18801 +f 2799/3337/18802 2800/3336/18803 2783/3320/18804 +f 2767/3305/18805 2758/3295/18806 2755/3293/18807 +f 2755/3293/18808 2762/3300/18809 2767/3305/18810 +f 3364/3986/18811 2772/3311/18812 2776/3315/18813 +f 2776/3315/18814 3132/3689/18815 3364/3986/18816 +f 2774/3313/18817 2773/3310/18818 2769/3308/18819 +f 2755/3293/18820 2754/3289/18821 2761/3301/18822 +f 2761/3301/18823 2762/3300/18824 2755/3293/18825 +f 3132/3689/18826 3070/3619/18827 3071/3618/18828 +f 3071/3618/18829 3364/3986/18830 3132/3689/18831 +f 2734/3275/18832 2735/3274/18833 2748/3287/18834 +f 2748/3287/18835 2749/3286/18836 2734/3275/18837 +f 3113/3667/18838 3115/3670/18839 3118/3674/18840 +f 3117/3672/18841 3091/3675/18842 2729/3673/18843 +f 2721/3256/18844 2715/3253/18845 2726/3263/18846 +f 2726/3263/18847 2727/3262/18848 2721/3256/18849 +f 3070/3619/18850 3365/3987/18851 2740/3281/18852 +f 2740/3281/18853 3068/3616/18854 3070/3619/18855 +f 3130/3688/18856 3365/3987/18857 3070/3619/18858 +f 3070/3619/18859 3132/3689/18860 3130/3688/18861 +f 3136/3693/18862 3365/3987/18863 3130/3688/18864 +f 3130/3688/18865 3134/3691/18866 3136/3693/18867 +f 2743/3278/18868 2740/3281/18869 3365/3987/18870 +f 2743/3278/18871 3365/3987/18872 3136/3693/18873 +f 2743/3278/18874 3136/3693/18875 2742/3279/18876 +f 3314/3901/18877 2954/3500/18878 2955/3499/18879 +f 2955/3499/18880 3313/3902/18881 3314/3901/18882 +f 3301/3885/18883 2982/3524/18884 2947/3489/18885 +f 2947/3489/18886 3295/3880/18887 3301/3885/18888 +f 3322/3912/18889 2981/3911/18890 3301/3888/18891 +f 3301/3888/18892 3323/3913/18893 3322/3912/18894 +f 3178/3739/18895 3007/3547/18896 3004/3550/18897 +f 3180/3742/18898 3181/3741/18899 3366/3988/18900 +f 3011/3553/18901 3366/3988/18902 3181/3741/18903 +f 3181/3741/18904 3186/3746/18905 3011/3553/18906 +f 3178/3739/18907 3366/3988/18908 3011/3553/18909 +f 3011/3553/18910 3007/3547/18911 3178/3739/18912 +f 3364/3986/18913 2771/3306/18914 2768/3309/18915 +f 2768/3309/18916 2772/3311/18917 3364/3986/18918 +f 3314/3901/18919 2961/3503/18920 2957/3497/18921 +f 2957/3497/18922 2954/3500/18923 3314/3901/18924 +f 2982/3524/18925 3301/3885/18926 2981/3525/18927 +f 3178/3739/18928 3180/3742/18929 3366/3988/18930 +f 2979/3519/18931 3367/3989/18932 2978/3520/18933 +f 3004/3550/18934 3005/3549/18935 3013/3555/18936 +f 3369/3990/18937 3368/3991/18938 3025/3567/18939 +f 3025/3567/18940 3024/3568/18941 3369/3990/18942 +f 3024/3568/18943 2779/3318/18944 3369/3990/18945 +f 3367/3989/18946 2979/3519/18947 3356/3979/18948 +f 3356/3979/18949 3357/3978/18950 3367/3989/18951 +f 3369/3990/18952 2780/3317/18953 3169/3727/18954 +f 3169/3727/18955 3368/3991/18956 3369/3990/18957 +f 3369/3990/18958 2779/3318/18959 2780/3317/18960 +f 3012/3556/18961 3214/3774/18962 3013/3555/18963 +f 2997/3541/18964 2998/3540/18965 3370/3992/18966 +f 2998/3540/18967 3191/3794/18968 3370/3992/18969 +f 3185/3744/18970 3370/3993/18971 3191/3751/18972 +f 3191/3751/18973 3184/3745/18974 3185/3744/18975 +f 3151/3707/18976 2786/3323/18977 2784/3319/18978 +f 2784/3319/18979 2781/3322/18980 3151/3707/18981 +f 3151/3707/18982 3141/3696/18983 3127/3684/18984 +f 3127/3684/18985 2786/3323/18986 3151/3707/18987 +f 3371/3994/18988 3118/3674/18989 2729/3673/18990 +f 2729/3673/18991 2727/3262/18992 3371/3994/18993 +f 3371/3994/18994 2727/3262/18995 3111/3665/18996 +f 3111/3665/18997 3110/3666/18998 3371/3994/18999 +f 3110/3666/19000 3113/3667/19001 3118/3674/19002 +f 3118/3674/19003 3371/3994/19004 3110/3666/19005 +f 3111/3665/19006 3104/3659/19007 3108/3663/19008 +f 2732/3269/19009 3107/3664/19010 3120/3676/19011 +f 3120/3676/19012 2731/3270/19013 2732/3269/19014 +f 3105/3661/19015 3107/3664/19016 3108/3663/19017 +f 3108/3663/19018 3104/3659/19019 3105/3661/19020 +f 3120/3676/19021 3107/3664/19022 3105/3661/19023 +f 2851/3390/19024 3163/3719/19025 2850/3391/19026 +f 3286/3863/19027 3288/3864/19028 3284/3859/19029 +f 3284/3859/19030 3285/3860/19031 3286/3863/19032 +f 2950/3494/19033 2912/3450/19034 2906/3447/19035 +f 2906/3447/19036 3288/3864/19037 2950/3494/19038 +f 3315/3900/19039 2978/3520/19040 2960/3504/19041 +f 2960/3504/19042 2961/3503/19043 3315/3900/19044 +f 2961/3503/19045 3314/3901/19046 3315/3900/19047 +f 3367/3989/19048 3357/3978/19049 3308/3895/19050 +f 3308/3895/19051 3311/3899/19052 3367/3989/19053 +f 2989/3531/19054 3307/3896/19055 3308/3895/19056 +f 3308/3895/19057 3357/3978/19058 2989/3531/19059 +f 2989/3531/19060 2987/3527/19061 2984/3530/19062 +f 2984/3530/19063 3307/3896/19064 2989/3531/19065 +f 3367/3989/19066 3311/3899/19067 2960/3504/19068 +f 2960/3504/19069 2978/3520/19070 3367/3989/19071 +f 3004/3550/19072 3013/3555/19073 3179/3738/19074 +f 3179/3738/19075 3013/3555/19076 3214/3774/19077 +f 3214/3774/19078 3217/3778/19079 3179/3738/19080 +f 2994/3538/19081 3183/3743/19082 3179/3738/19083 +f 3179/3738/19084 3217/3778/19085 2994/3538/19086 +f 2994/3538/19087 2995/3537/19088 3183/3743/19089 +f 2997/3541/19090 3370/3992/19091 3185/3744/19092 +f 3185/3744/19093 3182/3740/19094 2997/3541/19095 +f 2995/3537/19096 2997/3541/19097 3182/3740/19098 +f 3182/3740/19099 3183/3743/19100 2995/3537/19101 +f 2972/3515/19102 3293/3976/19103 3355/3971/19104 +f 3355/3971/19105 2971/3516/19106 2972/3515/19107 +f 3091/3646/19108 3094/3649/19109 2728/3266/19110 +f 2728/3266/19111 2729/3267/19112 3091/3646/19113 +f 2848/3387/19114 2849/3386/19115 3278/3854/19116 +f 3278/3854/19117 3279/3853/19118 2848/3387/19119 +f 2801/3340/19120 2802/3339/19121 2808/3347/19122 +f 2808/3347/19123 2804/3341/19124 2801/3340/19125 +f 2804/3341/19126 2808/3347/19127 2809/3346/19128 +f 2809/3346/19129 3281/3855/19130 2804/3341/19131 +f 3281/3855/19132 2809/3346/19133 2848/3387/19134 +f 2848/3387/19135 3279/3853/19136 3281/3855/19137 +f 3157/3714/19138 3156/3713/19139 2816/3354/19140 +f 2816/3354/19141 2817/3353/19142 3157/3714/19143 +f 3154/3712/19144 3161/3715/19145 2816/3354/19146 +f 2816/3354/19147 3156/3713/19148 3154/3712/19149 +f 3155/3711/19150 3160/3716/19151 3161/3715/19152 +f 3161/3715/19153 3154/3712/19154 3155/3711/19155 +f 2835/3374/19156 2862/3400/19157 2823/3361/19158 +f 2812/3348/19159 2822/3357/19160 2811/3349/19161 +f 3168/3724/19162 3165/3721/19163 3160/3716/19164 +f 3160/3716/19165 3155/3711/19166 3168/3724/19167 +f 3168/3724/19168 3166/3723/19169 3165/3721/19170 +f 3111/3665/19171 2727/3262/19172 3104/3659/19173 +f 2747/3282/19174 2744/3285/19175 3085/3637/19176 +f 3085/3637/19177 2750/3288/19178 2747/3282/19179 +f 2741/3280/19180 2742/3279/19181 3084/3638/19182 +f 3364/3986/19183 3071/3618/19184 3065/3613/19185 +f 3065/3613/19186 2771/3306/19187 3364/3986/19188 +f 3071/3618/19189 3069/3615/19190 3064/3611/19191 +f 3064/3611/19192 3065/3613/19193 3071/3618/19194 +f 3064/3611/19195 3069/3615/19196 3063/3612/19197 +f 2771/3306/19198 3065/3613/19199 3056/3605/19200 +f 2739/3277/19201 3112/3668/19202 3109/3662/19203 +f 2733/3268/19204 2730/3271/19205 2738/3276/19206 +f 3373/3997/19207 3372/3998/19208 3375/3995/19209 +f 3375/3995/19210 3374/3996/19211 3373/3997/19212 +f 3377/3999/19213 3376/4000/19214 3375/3995/19215 +f 3375/3995/19216 3372/3998/19217 3377/3999/19218 +f 3375/3995/19219 3376/4000/19220 3378/4001/19221 +f 3378/4001/19222 3374/3996/19223 3375/3995/19224 +f 3380/4002/19225 3379/4003/19226 3376/4000/19227 +f 3376/4000/19228 3377/3999/19229 3380/4002/19230 +f 3376/4000/19231 3381/4005/19232 3382/4004/19233 +f 3382/4004/19234 3378/4001/19235 3376/4000/19236 +f 3376/4000/19237 3379/4003/19238 3383/4006/19239 +f 3383/4006/19240 3381/4005/19241 3376/4000/19242 +f 3380/4002/19243 3384/4008/19244 3385/4007/19245 +f 3385/4007/19246 3379/4003/19247 3380/4002/19248 +f 3385/4007/19249 3384/4008/19250 3386/4009/19251 +f 3385/4007/19252 3386/4009/19253 3388/4010/19254 +f 3388/4010/19255 3387/4011/19256 3385/4007/19257 +f 3390/4014/19258 3389/4015/19259 3392/4012/19260 +f 3392/4012/19261 3391/4013/19262 3390/4014/19263 +f 3391/4013/19264 3393/4016/19265 3390/4014/19266 +f 3390/4014/19267 3394/4018/19268 3395/4017/19269 +f 3395/4017/19270 3389/4015/19271 3390/4014/19272 +f 3396/4020/19273 3394/4018/19274 3390/4014/19275 +f 3390/4014/19276 3397/4019/19277 3396/4020/19278 +f 3399/4023/19279 3398/4024/19280 3401/4021/19281 +f 3401/4021/19282 3400/4022/19283 3399/4023/19284 +f 3402/4025/19285 3391/4013/19286 3392/4012/19287 +f 3403/4026/19288 3402/4025/19289 3392/4012/19290 +f 3404/4029/19291 3393/4016/19292 3406/4027/19293 +f 3406/4027/19294 3405/4028/19295 3404/4029/19296 +f 3406/4027/19297 3393/4016/19298 3391/4013/19299 +f 3391/4013/19300 3402/4025/19301 3406/4027/19302 +f 3402/4025/19303 3403/4026/19304 3406/4027/19305 +f 3406/4027/19306 3403/4026/19307 3408/4030/19308 +f 3408/4030/19309 3407/4031/19310 3406/4027/19311 +f 3409/4032/19312 3407/4031/19313 3408/4030/19314 +f 3409/4032/19315 3408/4030/19316 3411/4033/19317 +f 3411/4033/19318 3410/4034/19319 3409/4032/19320 +f 3409/4032/19321 3413/4035/19322 3412/4036/19323 +f 3414/4037/19324 3407/4031/19325 3409/4032/19326 +f 3409/4032/19327 3412/4036/19328 3414/4037/19329 +f 3415/4038/19330 3386/4009/19331 3384/4008/19332 +f 3384/4008/19333 3400/4022/19334 3415/4038/19335 +f 3415/4038/19336 3416/4039/19337 3388/4010/19338 +f 3388/4010/19339 3386/4009/19340 3415/4038/19341 +f 3413/4035/19342 3409/4032/19343 3410/4034/19344 +f 3410/4034/19345 3417/4040/19346 3413/4035/19347 +f 3418/4041/19348 3412/4036/19349 3413/4035/19350 +f 3413/4035/19351 3417/4040/19352 3418/4041/19353 +f 3420/4044/19354 3419/4045/19355 3422/4042/19356 +f 3422/4042/19357 3421/4043/19358 3420/4044/19359 +f 3423/4047/19360 3419/4045/19361 3420/4044/19362 +f 3420/4044/19363 3424/4046/19364 3423/4047/19365 +f 3426/4049/19366 3425/4050/19367 3427/4048/19368 +f 3427/4048/19369 3422/4042/19370 3426/4049/19371 +f 3428/4053/19372 3426/4049/19373 3430/4051/19374 +f 3430/4051/19375 3429/4052/19376 3428/4053/19377 +f 3426/4049/19378 3428/4053/19379 3425/4050/19380 +f 3426/4049/19381 3422/4042/19382 3419/4045/19383 +f 3419/4045/19384 3431/4054/19385 3426/4049/19386 +f 3421/4043/19387 3433/4055/19388 3432/4056/19389 +f 3420/4044/19390 3421/4043/19391 3432/4056/19392 +f 3432/4056/19393 3424/4046/19394 3420/4044/19395 +f 3435/4057/19396 3434/4058/19397 3430/4051/19398 +f 3430/4051/19399 3426/4049/19400 3435/4057/19401 +f 3435/4057/19402 3426/4049/19403 3431/4054/19404 +f 3431/4054/19405 3436/4059/19406 3435/4057/19407 +f 3435/4057/19408 3437/4061/19409 3438/4060/19410 +f 3438/4060/19411 3434/4058/19412 3435/4057/19413 +f 3435/4057/19414 3436/4059/19415 3440/4062/19416 +f 3440/4062/19417 3439/4063/19418 3435/4057/19419 +f 3435/4057/19420 3439/4063/19421 3441/4064/19422 +f 3441/4064/19423 3437/4061/19424 3435/4057/19425 +f 3442/4066/19426 3423/4047/19427 3424/4046/19428 +f 3424/4046/19429 3443/4065/19430 3442/4066/19431 +f 3442/4066/19432 3444/4068/19433 3445/4067/19434 +f 3445/4067/19435 3423/4047/19436 3442/4066/19437 +f 3442/4066/19438 3443/4065/19439 3446/4069/19440 +f 3446/4069/19441 3444/4068/19442 3442/4066/19443 +f 3448/4072/19444 3447/4073/19445 3450/4070/19446 +f 3450/4070/19447 3449/4071/19448 3448/4072/19449 +f 3452/4074/19450 3451/4075/19451 3447/4073/19452 +f 3447/4073/19453 3448/4072/19454 3452/4074/19455 +f 3448/4072/19456 3449/4071/19457 3453/4076/19458 +f 3453/4076/19459 3452/4074/19460 3448/4072/19461 +f 3455/4077/19462 3454/4078/19463 3428/4053/19464 +f 3428/4053/19465 3429/4052/19466 3455/4077/19467 +f 3429/4052/19468 3430/4051/19469 3456/4079/19470 +f 3456/4079/19471 3455/4077/19472 3429/4052/19473 +f 3458/4081/19474 3457/4082/19475 3444/4068/19476 +f 3444/4068/19477 3459/4080/19478 3458/4081/19479 +f 3444/4068/19480 3457/4082/19481 3445/4067/19482 +f 3446/4069/19483 3461/4083/19484 3460/4084/19485 +f 3444/4068/19486 3446/4069/19487 3460/4084/19488 +f 3460/4084/19489 3459/4080/19490 3444/4068/19491 +f 3463/4085/19492 3462/4086/19493 3412/4036/19494 +f 3412/4036/19495 3418/4041/19496 3463/4085/19497 +f 3463/4085/19498 3418/4041/19499 3465/4087/19500 +f 3465/4087/19501 3464/4088/19502 3463/4085/19503 +f 3467/4089/19504 3466/4090/19505 3463/4085/19506 +f 3463/4085/19507 3464/4088/19508 3467/4089/19509 +f 3469/4092/19510 3468/4093/19511 3470/4091/19512 +f 3470/4091/19513 3462/4086/19514 3469/4092/19515 +f 3469/4092/19516 3471/4094/19517 3468/4093/19518 +f 3472/4097/19519 3466/4098/19520 3474/4095/19521 +f 3474/4095/19522 3473/4096/19523 3472/4097/19524 +f 3476/4101/19525 3475/4102/19526 3478/4099/19527 +f 3478/4099/19528 3477/4100/19529 3476/4101/19530 +f 3476/4101/19531 3479/4104/19532 3480/4103/19533 +f 3480/4103/19534 3475/4102/19535 3476/4101/19536 +f 3476/4101/19537 3477/4100/19538 3481/4105/19539 +f 3481/4105/19540 3479/4104/19541 3476/4101/19542 +f 3483/4108/19543 3482/4109/19544 3485/4106/19545 +f 3485/4106/19546 3484/4107/19547 3483/4108/19548 +f 3485/4106/19549 3486/4112/19550 3488/4110/19551 +f 3488/4110/19552 3487/4111/19553 3485/4106/19554 +f 3480/4103/19555 3489/4114/19556 3490/4113/19557 +f 3490/4113/19558 3475/4102/19559 3480/4103/19560 +f 3492/4117/19561 3491/4118/19562 3494/4115/19563 +f 3494/4115/19564 3493/4116/19565 3492/4117/19566 +f 3479/4104/19567 3481/4105/19568 3496/4119/19569 +f 3496/4119/19570 3495/4120/19571 3479/4104/19572 +f 3498/4123/19573 3497/4124/19574 3474/4121/19575 +f 3474/4121/19576 3499/4122/19577 3498/4123/19578 +f 3501/4125/19579 3500/4126/19580 3497/4124/19581 +f 3497/4124/19582 3498/4123/19583 3501/4125/19584 +f 3498/4123/19585 3499/4122/19586 3502/4127/19587 +f 3502/4127/19588 3501/4125/19589 3498/4123/19590 +f 3504/4129/19591 3503/4130/19592 3495/4120/19593 +f 3495/4120/19594 3505/4128/19595 3504/4129/19596 +f 3487/4111/19597 3489/4114/19598 3480/4103/19599 +f 3480/4103/19600 3503/4130/19601 3487/4111/19602 +f 3503/4130/19603 3506/4131/19604 3487/4111/19605 +f 3508/4134/19606 3507/4135/19607 3510/4132/19608 +f 3510/4132/19609 3509/4133/19610 3508/4134/19611 +f 3512/4136/19612 3511/4137/19613 3507/4135/19614 +f 3507/4135/19615 3508/4134/19616 3512/4136/19617 +f 3508/4134/19618 3509/4133/19619 3513/4138/19620 +f 3513/4138/19621 3512/4136/19622 3508/4134/19623 +f 3515/4141/19624 3514/4142/19625 3517/4139/19626 +f 3517/4139/19627 3516/4140/19628 3515/4141/19629 +f 3515/4141/19630 3516/4140/19631 3519/4143/19632 +f 3519/4143/19633 3518/4144/19634 3515/4141/19635 +f 3515/4141/19636 3518/4144/19637 3520/4145/19638 +f 3520/4145/19639 3514/4142/19640 3515/4141/19641 +f 3483/4108/19642 3484/4107/19643 3522/4146/19644 +f 3522/4146/19645 3521/4147/19646 3483/4108/19647 +f 3523/4149/19648 3521/4147/19649 3522/4146/19650 +f 3522/4146/19651 3524/4148/19652 3523/4149/19653 +f 3526/4152/19654 3525/4153/19655 3528/4150/19656 +f 3528/4150/19657 3527/4151/19658 3526/4152/19659 +f 3530/4154/19660 3529/4155/19661 3525/4153/19662 +f 3525/4153/19663 3526/4152/19664 3530/4154/19665 +f 3526/4152/19666 3527/4151/19667 3531/4156/19668 +f 3531/4156/19669 3530/4154/19670 3526/4152/19671 +f 3533/4159/19672 3532/4160/19673 3535/4157/19674 +f 3535/4157/19675 3534/4158/19676 3533/4159/19677 +f 3537/4161/19678 3536/4162/19679 3532/4160/19680 +f 3532/4160/19681 3533/4159/19682 3537/4161/19683 +f 3533/4159/19684 3534/4158/19685 3538/4163/19686 +f 3538/4163/19687 3537/4161/19688 3533/4159/19689 +f 3540/4166/19690 3539/4167/19691 3542/4164/19692 +f 3542/4164/19693 3541/4165/19694 3540/4166/19695 +f 3540/4166/19696 3541/4165/19697 3544/4168/19698 +f 3544/4168/19699 3543/4169/19700 3540/4166/19701 +f 3540/4166/19702 3535/4157/19703 3545/4170/19704 +f 3545/4170/19705 3539/4167/19706 3540/4166/19707 +f 3547/4173/19708 3546/4174/19709 3549/4171/19710 +f 3549/4171/19711 3548/4172/19712 3547/4173/19713 +f 3547/4173/19714 3548/4172/19715 3551/4175/19716 +f 3551/4175/19717 3550/4176/19718 3547/4173/19719 +f 3547/4179/19720 3552/4180/19721 3553/4177/19722 +f 3553/4177/19723 3546/4178/19724 3547/4179/19725 +f 3547/4183/19726 3554/4184/19727 3555/4181/19728 +f 3555/4181/19729 3552/4182/19730 3547/4183/19731 +f 3557/4187/19732 3556/4188/19733 3559/4185/19734 +f 3559/4185/19735 3558/4186/19736 3557/4187/19737 +f 3561/4189/19738 3560/4190/19739 3556/4188/19740 +f 3556/4188/19741 3557/4187/19742 3561/4189/19743 +f 3557/4187/19744 3558/4186/19745 3562/4191/19746 +f 3562/4191/19747 3561/4189/19748 3557/4187/19749 +f 3564/4194/19750 3563/4195/19751 3566/4192/19752 +f 3566/4192/19753 3565/4193/19754 3564/4194/19755 +f 3564/4194/19756 3565/4193/19757 3568/4196/19758 +f 3568/4196/19759 3567/4197/19760 3564/4194/19761 +f 3564/4194/19762 3569/4199/19763 3570/4198/19764 +f 3570/4198/19765 3563/4195/19766 3564/4194/19767 +f 3573/4200/19768 3572/4201/19769 3571/4202/19770 +f 3571/4202/19771 3574/4204/19772 3575/4203/19773 +f 3575/4203/19774 3573/4200/19775 3571/4202/19776 +f 3571/4202/19777 3572/4201/19778 3576/4205/19779 +f 3575/4203/19780 3574/4204/19781 3577/4206/19782 +f 3579/4207/19783 3578/4208/19784 3575/4203/19785 +f 3575/4203/19786 3577/4206/19787 3579/4207/19788 +f 3579/4211/19789 3580/4212/19790 3582/4209/19791 +f 3582/4209/19792 3581/4210/19793 3579/4211/19794 +f 3579/4207/19795 3577/4206/19796 3576/4205/19797 +f 3576/4205/19798 3583/4213/19799 3579/4207/19800 +f 3571/4202/19801 3576/4205/19802 3577/4206/19803 +f 3577/4206/19804 3574/4204/19805 3571/4202/19806 +f 3567/4216/19807 3568/4217/19808 3585/4214/19809 +f 3585/4214/19810 3584/4215/19811 3567/4216/19812 +f 3567/4216/19813 3584/4215/19814 3586/4218/19815 +f 3586/4218/19816 3564/4219/19817 3567/4216/19818 +f 3580/4220/19819 3588/4221/19820 3587/4222/19821 +f 3580/4212/19822 3587/4225/19823 3590/4223/19824 +f 3590/4223/19825 3589/4224/19826 3580/4212/19827 +f 3591/4227/19828 3590/4223/19829 3587/4225/19830 +f 3587/4225/19831 3592/4226/19832 3591/4227/19833 +f 3591/4227/19834 3592/4226/19835 3593/4228/19836 +f 3595/4229/19837 3594/4230/19838 3593/4231/19839 +f 3595/4229/19840 3593/4231/19841 3592/4232/19842 +f 3592/4232/19843 3596/4233/19844 3595/4229/19845 +f 3598/4235/19846 3597/4236/19847 3599/4234/19848 +f 3599/4234/19849 3551/4175/19850 3598/4235/19851 +f 3601/4237/19852 3600/4238/19853 3599/4234/19854 +f 3599/4234/19855 3597/4236/19856 3601/4237/19857 +f 3599/4234/19858 3602/4240/19859 3603/4239/19860 +f 3603/4239/19861 3550/4176/19862 3599/4234/19863 +f 3599/4234/19864 3600/4238/19865 3604/4241/19866 +f 3604/4241/19867 3602/4240/19868 3599/4234/19869 +f 3595/4229/19870 3596/4233/19871 3605/4242/19872 +f 3595/4229/19873 3605/4242/19874 3606/4243/19875 +f 3606/4243/19876 3594/4230/19877 3595/4229/19878 +f 3594/4230/19879 3606/4243/19880 3607/4244/19881 +f 3609/4247/19882 3608/4248/19883 3611/4245/19884 +f 3611/4245/19885 3610/4246/19886 3609/4247/19887 +f 3611/4245/19888 3608/4248/19889 3613/4249/19890 +f 3613/4249/19891 3612/4250/19892 3611/4245/19893 +f 3614/4251/19894 3610/4246/19895 3611/4245/19896 +f 3611/4245/19897 3612/4250/19898 3614/4251/19899 +f 3615/4254/19900 3585/4214/19901 3617/4252/19902 +f 3617/4252/19903 3616/4253/19904 3615/4254/19905 +f 3615/4254/19906 3616/4253/19907 3619/4255/19908 +f 3619/4255/19909 3618/4256/19910 3615/4254/19911 +f 3615/4254/19912 3620/4257/19913 3584/4215/19914 +f 3584/4215/19915 3585/4214/19916 3615/4254/19917 +f 3555/4181/19918 3621/4259/19919 3622/4258/19920 +f 3622/4258/19921 3552/4182/19922 3555/4181/19923 +f 3624/4262/19924 3623/4263/19925 3626/4260/19926 +f 3626/4260/19927 3625/4261/19928 3624/4262/19929 +f 3628/4264/19930 3627/4265/19931 3623/4263/19932 +f 3623/4263/19933 3624/4262/19934 3628/4264/19935 +f 3624/4262/19936 3625/4261/19937 3629/4266/19938 +f 3629/4266/19939 3628/4264/19940 3624/4262/19941 +f 3631/4269/19942 3630/4270/19943 3633/4267/19944 +f 3633/4267/19945 3632/4268/19946 3631/4269/19947 +f 3633/4267/19948 3634/4271/19949 3609/4247/19950 +f 3609/4247/19951 3610/4246/19952 3633/4267/19953 +f 3633/4267/19954 3630/4270/19955 3635/4272/19956 +f 3635/4272/19957 3634/4271/19958 3633/4267/19959 +f 3616/4253/19960 3617/4252/19961 3637/4273/19962 +f 3637/4273/19963 3636/4274/19964 3616/4253/19965 +f 3616/4253/19966 3638/4276/19967 3639/4275/19968 +f 3639/4275/19969 3619/4255/19970 3616/4253/19971 +f 3609/4247/19972 3640/4277/19973 3608/4248/19974 +f 3609/4247/19975 3641/4279/19976 3642/4278/19977 +f 3642/4278/19978 3640/4277/19979 3609/4247/19980 +f 3641/4279/19981 3643/4282/19982 3645/4280/19983 +f 3645/4280/19984 3644/4281/19985 3641/4279/19986 +f 3641/4279/19987 3644/4281/19988 3646/4283/19989 +f 3646/4283/19990 3642/4278/19991 3641/4279/19992 +f 3648/4286/19993 3647/4287/19994 3650/4284/19995 +f 3650/4284/19996 3649/4285/19997 3648/4286/19998 +f 3650/4284/19999 3647/4287/20000 3652/4288/20001 +f 3652/4288/20002 3651/4289/20003 3650/4284/20004 +f 3650/4284/20005 3651/4289/20006 3654/4290/20007 +f 3654/4290/20008 3653/4291/20009 3650/4284/20010 +f 3655/4293/20011 3620/4257/20012 3615/4254/20013 +f 3615/4254/20014 3656/4292/20015 3655/4293/20016 +f 3655/4293/20017 3656/4292/20018 3654/4290/20019 +f 3654/4290/20020 3651/4289/20021 3655/4293/20022 +f 3655/4293/20023 3651/4289/20024 3652/4288/20025 +f 3652/4288/20026 3620/4257/20027 3655/4293/20028 +f 3654/4290/20029 3656/4292/20030 3657/4294/20031 +f 3657/4294/20032 3653/4291/20033 3654/4290/20034 +f 3658/4297/20035 3613/4249/20036 3660/4295/20037 +f 3660/4295/20038 3659/4296/20039 3658/4297/20040 +f 3658/4297/20041 3661/4298/20042 3612/4250/20043 +f 3612/4250/20044 3613/4249/20045 3658/4297/20046 +f 3658/4297/20047 3659/4296/20048 3663/4299/20049 +f 3663/4299/20050 3662/4300/20051 3658/4297/20052 +f 3665/4303/20053 3664/4304/20054 3667/4301/20055 +f 3667/4301/20056 3666/4302/20057 3665/4303/20058 +f 3665/4303/20059 3668/4306/20060 3669/4305/20061 +f 3669/4305/20062 3664/4304/20063 3665/4303/20064 +f 3665/4303/20065 3666/4302/20066 3670/4307/20067 +f 3670/4307/20068 3668/4306/20069 3665/4303/20070 +f 3668/4306/20071 3670/4307/20072 3671/4308/20073 +f 3671/4308/20074 3669/4305/20075 3668/4306/20076 +f 3673/4311/20077 3672/4312/20078 3675/4309/20079 +f 3675/4309/20080 3674/4310/20081 3673/4311/20082 +f 3677/4314/20083 3676/4315/20084 3675/4309/20085 +f 3675/4309/20086 3678/4313/20087 3677/4314/20088 +f 3679/4316/20089 3674/4310/20090 3675/4309/20091 +f 3675/4309/20092 3676/4315/20093 3679/4316/20094 +f 3681/4318/20095 3680/4319/20096 3682/4317/20097 +f 3682/4317/20098 3666/4302/20099 3681/4318/20100 +f 3671/4308/20101 3683/4322/20102 3685/4320/20103 +f 3685/4320/20104 3684/4321/20105 3671/4308/20106 +f 3671/4308/20107 3670/4307/20108 3686/4323/20109 +f 3686/4323/20110 3683/4322/20111 3671/4308/20112 +f 3687/4325/20113 3669/4305/20114 3671/4308/20115 +f 3671/4308/20116 3688/4324/20117 3687/4325/20118 +f 3689/4326/20119 3688/4324/20120 3671/4308/20121 +f 3671/4308/20122 3684/4321/20123 3689/4326/20124 +f 3685/4320/20125 3690/4328/20126 3691/4327/20127 +f 3691/4327/20128 3684/4321/20129 3685/4320/20130 +f 3685/4320/20131 3683/4330/20132 3692/4329/20133 +f 3692/4329/20134 3690/4328/20135 3685/4320/20136 +f 3678/4313/20137 3675/4309/20138 3662/4300/20139 +f 3662/4300/20140 3693/4331/20141 3678/4313/20142 +f 3694/4332/20143 3677/4314/20144 3678/4313/20145 +f 3678/4313/20146 3693/4331/20147 3694/4332/20148 +f 3680/4335/20149 3681/4336/20150 3696/4333/20151 +f 3696/4333/20152 3695/4334/20153 3680/4335/20154 +f 3680/4335/20155 3695/4334/20156 3697/4337/20157 +f 3697/4337/20158 3682/4338/20159 3680/4335/20160 +f 3690/4328/20161 3692/4329/20162 3698/4339/20163 +f 3698/4339/20164 3691/4327/20165 3690/4328/20166 +f 3700/4342/20167 3699/4343/20168 3702/4340/20169 +f 3702/4340/20170 3701/4341/20171 3700/4342/20172 +f 3702/4340/20173 3699/4343/20174 3679/4316/20175 +f 3702/4340/20176 3703/4345/20177 3704/4344/20178 +f 3704/4344/20179 3701/4341/20180 3702/4340/20181 +f 3561/4189/20182 3705/4348/20183 3707/4346/20184 +f 3707/4346/20185 3706/4347/20186 3561/4189/20187 +f 3561/4189/20188 3562/4191/20189 3708/4349/20190 +f 3708/4349/20191 3705/4348/20192 3561/4189/20193 +f 3561/4189/20194 3706/4347/20195 3710/4350/20196 +f 3710/4350/20197 3709/4351/20198 3561/4189/20199 +f 3712/4352/20200 3711/4353/20201 3695/4334/20202 +f 3695/4334/20203 3696/4333/20204 3712/4352/20205 +f 3714/4356/20206 3713/4357/20207 3716/4354/20208 +f 3716/4354/20209 3715/4355/20210 3714/4356/20211 +f 3714/4356/20212 3715/4355/20213 3718/4358/20214 +f 3718/4358/20215 3717/4359/20216 3714/4356/20217 +f 3714/4356/20218 3717/4359/20219 3720/4360/20220 +f 3720/4360/20221 3719/4361/20222 3714/4356/20223 +f 3693/4331/20224 3721/4362/20225 3694/4332/20226 +f 3721/4362/20227 3722/4364/20228 3723/4363/20229 +f 3723/4363/20230 3694/4332/20231 3721/4362/20232 +f 3722/4364/20233 3724/4365/20234 3723/4363/20235 +f 3725/4367/20236 3703/4345/20237 3702/4340/20238 +f 3702/4340/20239 3726/4366/20240 3725/4367/20241 +f 3725/4367/20242 3726/4366/20243 3728/4368/20244 +f 3728/4368/20245 3727/4369/20246 3725/4367/20247 +f 3725/4367/20248 3727/4369/20249 3717/4359/20250 +f 3717/4359/20251 3718/4358/20252 3725/4367/20253 +f 3727/4369/20254 3728/4368/20255 3723/4363/20256 +f 3723/4363/20257 3724/4365/20258 3727/4369/20259 +f 3727/4369/20260 3724/4365/20261 3720/4360/20262 +f 3720/4360/20263 3717/4359/20264 3727/4369/20265 +f 3728/4368/20266 3677/4314/20267 3694/4332/20268 +f 3694/4332/20269 3723/4363/20270 3728/4368/20271 +f 3728/4368/20272 3726/4366/20273 3676/4315/20274 +f 3676/4315/20275 3677/4314/20276 3728/4368/20277 +f 3676/4315/20278 3726/4366/20279 3702/4340/20280 +f 3702/4340/20281 3679/4316/20282 3676/4315/20283 +f 3729/4370/20284 3674/4310/20285 3679/4316/20286 +f 3679/4316/20287 3699/4343/20288 3729/4370/20289 +f 3729/4370/20290 3699/4343/20291 3601/4371/20292 +f 3601/4371/20293 3730/4372/20294 3729/4370/20295 +f 3731/4374/20296 3729/4370/20297 3730/4372/20298 +f 3730/4372/20299 3732/4373/20300 3731/4374/20301 +f 3597/4236/20302 3733/4376/20303 3730/4375/20304 +f 3730/4375/20305 3601/4237/20306 3597/4236/20307 +f 3734/4377/20308 3732/4378/20309 3730/4375/20310 +f 3730/4375/20311 3733/4376/20312 3734/4377/20313 +f 3734/4377/20314 3733/4376/20315 3736/4379/20316 +f 3736/4379/20317 3735/4380/20318 3734/4377/20319 +f 3737/4382/20320 3734/4377/20321 3735/4380/20322 +f 3735/4380/20323 3738/4381/20324 3737/4382/20325 +f 3740/4383/20326 3739/4384/20327 3735/4380/20328 +f 3735/4380/20329 3736/4379/20330 3740/4383/20331 +f 3741/4385/20332 3738/4381/20333 3735/4380/20334 +f 3735/4380/20335 3739/4384/20336 3741/4385/20337 +f 3741/4385/20338 3739/4384/20339 3743/4386/20340 +f 3743/4386/20341 3742/4387/20342 3741/4385/20343 +f 3745/4388/20344 3744/4389/20345 3742/4387/20346 +f 3742/4387/20347 3743/4386/20348 3745/4388/20349 +f 3747/4390/20350 3746/4391/20351 3742/4387/20352 +f 3742/4387/20353 3744/4389/20354 3747/4390/20355 +f 3747/4390/20356 3744/4389/20357 3749/4392/20358 +f 3749/4392/20359 3748/4393/20360 3747/4390/20361 +f 3748/4393/20362 3749/4392/20363 3751/4394/20364 +f 3751/4394/20365 3750/4395/20366 3748/4393/20367 +f 3753/4396/20368 3752/4397/20369 3750/4395/20370 +f 3750/4395/20371 3751/4394/20372 3753/4396/20373 +f 3748/4393/20374 3754/4399/20375 3755/4398/20376 +f 3755/4398/20377 3747/4390/20378 3748/4393/20379 +f 3748/4393/20380 3750/4395/20381 3756/4400/20382 +f 3756/4400/20383 3754/4399/20384 3748/4393/20385 +f 3756/4400/20386 3750/4395/20387 3752/4397/20388 +f 3752/4397/20389 3757/4401/20390 3756/4400/20391 +f 3759/4403/20392 3758/4404/20393 3760/4402/20394 +f 3760/4402/20395 3746/4391/20396 3759/4403/20397 +f 3759/4403/20398 3746/4391/20399 3747/4390/20400 +f 3747/4390/20401 3755/4398/20402 3759/4403/20403 +f 3741/4385/20404 3742/4387/20405 3746/4391/20406 +f 3746/4391/20407 3760/4402/20408 3741/4385/20409 +f 3741/4385/20410 3760/4402/20411 3761/4405/20412 +f 3761/4405/20413 3738/4381/20414 3741/4385/20415 +f 3738/4381/20416 3761/4405/20417 3762/4406/20418 +f 3762/4406/20419 3737/4382/20420 3738/4381/20421 +f 3732/4378/20422 3734/4377/20423 3737/4382/20424 +f 3737/4382/20425 3763/4407/20426 3732/4378/20427 +f 3732/4373/20428 3763/4409/20429 3764/4408/20430 +f 3764/4408/20431 3731/4374/20432 3732/4373/20433 +f 3765/4410/20434 3673/4311/20435 3731/4374/20436 +f 3731/4374/20437 3764/4408/20438 3765/4410/20439 +f 3674/4310/20440 3729/4370/20441 3731/4374/20442 +f 3731/4374/20443 3673/4311/20444 3674/4310/20445 +f 3766/4411/20446 3672/4312/20447 3673/4311/20448 +f 3673/4311/20449 3765/4410/20450 3766/4411/20451 +f 3767/4412/20452 3661/4298/20453 3672/4312/20454 +f 3672/4312/20455 3766/4411/20456 3767/4412/20457 +f 3658/4297/20458 3675/4309/20459 3672/4312/20460 +f 3672/4312/20461 3661/4298/20462 3658/4297/20463 +f 3658/4297/20464 3662/4300/20465 3675/4309/20466 +f 3612/4250/20467 3661/4298/20468 3767/4412/20469 +f 3767/4412/20470 3614/4251/20471 3612/4250/20472 +f 3769/4413/20473 3768/4414/20474 3766/4411/20475 +f 3766/4411/20476 3765/4410/20477 3769/4413/20478 +f 3769/4413/20479 3765/4410/20480 3764/4408/20481 +f 3764/4408/20482 3770/4415/20483 3769/4413/20484 +f 3770/4415/20485 3764/4408/20486 3763/4409/20487 +f 3763/4409/20488 3771/4416/20489 3770/4415/20490 +f 3737/4382/20491 3762/4406/20492 3771/4417/20493 +f 3771/4417/20494 3763/4407/20495 3737/4382/20496 +f 3762/4406/20497 3772/4419/20498 3773/4418/20499 +f 3773/4418/20500 3771/4417/20501 3762/4406/20502 +f 3762/4406/20503 3761/4405/20504 3774/4420/20505 +f 3774/4420/20506 3772/4419/20507 3762/4406/20508 +f 3761/4405/20509 3760/4402/20510 3758/4404/20511 +f 3758/4404/20512 3774/4420/20513 3761/4405/20514 +f 3773/4421/20515 3775/4422/20516 3770/4415/20517 +f 3770/4415/20518 3771/4416/20519 3773/4421/20520 +f 3775/4422/20521 3776/4423/20522 3769/4413/20523 +f 3769/4413/20524 3770/4415/20525 3775/4422/20526 +f 3769/4413/20527 3776/4423/20528 3777/4424/20529 +f 3777/4424/20530 3768/4414/20531 3769/4413/20532 +f 3767/4412/20533 3766/4411/20534 3768/4414/20535 +f 3768/4414/20536 3778/4425/20537 3767/4412/20538 +f 3767/4412/20539 3778/4425/20540 3779/4426/20541 +f 3779/4426/20542 3614/4251/20543 3767/4412/20544 +f 3610/4246/20545 3614/4251/20546 3779/4426/20547 +f 3779/4426/20548 3632/4268/20549 3610/4246/20550 +f 3779/4426/20551 3780/4428/20552 3781/4427/20553 +f 3781/4427/20554 3632/4268/20555 3779/4426/20556 +f 3779/4426/20557 3778/4425/20558 3782/4429/20559 +f 3782/4429/20560 3780/4428/20561 3779/4426/20562 +f 3782/4429/20563 3778/4425/20564 3768/4414/20565 +f 3768/4414/20566 3777/4424/20567 3782/4429/20568 +f 3784/4430/20569 3783/4431/20570 3649/4285/20571 +f 3649/4285/20572 3631/4269/20573 3784/4430/20574 +f 3784/4430/20575 3631/4269/20576 3632/4268/20577 +f 3632/4268/20578 3781/4427/20579 3784/4430/20580 +f 3649/4285/20581 3783/4431/20582 3786/4432/20583 +f 3786/4432/20584 3785/4433/20585 3649/4285/20586 +f 3785/4433/20587 3648/4286/20588 3649/4285/20589 +f 3630/4270/20590 3631/4269/20591 3649/4285/20592 +f 3649/4285/20593 3650/4284/20594 3630/4270/20595 +f 3648/4286/20596 3785/4433/20597 3788/4434/20598 +f 3788/4434/20599 3787/4435/20600 3648/4286/20601 +f 3789/4436/20602 3647/4287/20603 3648/4286/20604 +f 3648/4286/20605 3787/4435/20606 3789/4436/20607 +f 3789/4436/20608 3787/4435/20609 3790/4437/20610 +f 3790/4437/20611 3569/4438/20612 3789/4436/20613 +f 3789/4436/20614 3569/4438/20615 3564/4219/20616 +f 3564/4219/20617 3586/4218/20618 3789/4436/20619 +f 3789/4436/20620 3586/4218/20621 3652/4288/20622 +f 3652/4288/20623 3647/4287/20624 3789/4436/20625 +f 3569/4199/20626 3790/4440/20627 3791/4439/20628 +f 3791/4439/20629 3570/4198/20630 3569/4199/20631 +f 3570/4198/20632 3791/4439/20633 3793/4441/20634 +f 3793/4441/20635 3792/4442/20636 3570/4198/20637 +f 3795/4443/20638 3794/4444/20639 3792/4442/20640 +f 3792/4442/20641 3793/4441/20642 3795/4443/20643 +f 3792/4442/20644 3794/4444/20645 3797/4445/20646 +f 3797/4445/20647 3796/4446/20648 3792/4442/20649 +f 3792/4442/20650 3796/4446/20651 3563/4195/20652 +f 3563/4195/20653 3570/4198/20654 3792/4442/20655 +f 3796/4446/20656 3797/4445/20657 3799/4447/20658 +f 3799/4447/20659 3798/4448/20660 3796/4446/20661 +f 3796/4446/20662 3798/4448/20663 3566/4192/20664 +f 3566/4192/20665 3563/4195/20666 3796/4446/20667 +f 3798/4448/20668 3799/4447/20669 3801/4449/20670 +f 3801/4449/20671 3800/4450/20672 3798/4448/20673 +f 3798/4448/20674 3800/4450/20675 3802/4451/20676 +f 3802/4451/20677 3566/4192/20678 3798/4448/20679 +f 3802/4451/20680 3800/4450/20681 3536/4162/20682 +f 3536/4162/20683 3537/4161/20684 3802/4451/20685 +f 3802/4451/20686 3537/4161/20687 3804/4452/20688 +f 3804/4452/20689 3803/4453/20690 3802/4451/20691 +f 3802/4451/20692 3803/4453/20693 3565/4193/20694 +f 3565/4193/20695 3566/4192/20696 3802/4451/20697 +f 3803/4453/20698 3804/4452/20699 3806/4454/20700 +f 3806/4454/20701 3805/4455/20702 3803/4453/20703 +f 3803/4453/20704 3805/4455/20705 3568/4196/20706 +f 3568/4196/20707 3565/4193/20708 3803/4453/20709 +f 3805/4456/20710 3806/4457/20711 3637/4273/20712 +f 3637/4273/20713 3617/4252/20714 3805/4456/20715 +f 3805/4456/20716 3617/4252/20717 3585/4214/20718 +f 3585/4214/20719 3568/4217/20720 3805/4456/20721 +f 3806/4457/20722 3807/4459/20723 3808/4458/20724 +f 3808/4458/20725 3637/4273/20726 3806/4457/20727 +f 3806/4454/20728 3804/4452/20729 3809/4460/20730 +f 3809/4460/20731 3807/4461/20732 3806/4454/20733 +f 3809/4460/20734 3810/4463/20735 3811/4462/20736 +f 3811/4462/20737 3807/4461/20738 3809/4460/20739 +f 3809/4460/20740 3804/4452/20741 3537/4161/20742 +f 3537/4161/20743 3538/4163/20744 3809/4460/20745 +f 3809/4460/20746 3538/4163/20747 3812/4464/20748 +f 3812/4464/20749 3810/4463/20750 3809/4460/20751 +f 3812/4464/20752 3813/4466/20753 3814/4465/20754 +f 3814/4465/20755 3810/4463/20756 3812/4464/20757 +f 3812/4464/20758 3538/4163/20759 3534/4158/20760 +f 3534/4158/20761 3815/4467/20762 3812/4464/20763 +f 3812/4464/20764 3815/4467/20765 3816/4468/20766 +f 3816/4468/20767 3813/4466/20768 3812/4464/20769 +f 3816/4468/20770 3817/4470/20771 3818/4469/20772 +f 3818/4469/20773 3813/4466/20774 3816/4468/20775 +f 3816/4468/20776 3815/4467/20777 3820/4471/20778 +f 3820/4471/20779 3819/4472/20780 3816/4468/20781 +f 3816/4468/20782 3819/4472/20783 3821/4473/20784 +f 3821/4473/20785 3817/4470/20786 3816/4468/20787 +f 3821/4473/20788 3572/4201/20789 3573/4200/20790 +f 3573/4200/20791 3817/4470/20792 3821/4473/20793 +f 3821/4473/20794 3819/4472/20795 3822/4474/20796 +f 3822/4474/20797 3583/4213/20798 3821/4473/20799 +f 3821/4473/20800 3583/4213/20801 3576/4205/20802 +f 3576/4205/20803 3572/4201/20804 3821/4473/20805 +f 3822/4474/20806 3819/4472/20807 3820/4471/20808 +f 3820/4471/20809 3823/4475/20810 3822/4474/20811 +f 3824/4476/20812 3605/4242/20813 3596/4233/20814 +f 3824/4476/20815 3825/4479/20816 3827/4477/20817 +f 3827/4477/20818 3826/4478/20819 3824/4476/20820 +f 3824/4476/20821 3826/4478/20822 3606/4243/20823 +f 3606/4243/20824 3605/4242/20825 3824/4476/20826 +f 3826/4478/20827 3827/4477/20828 3829/4480/20829 +f 3829/4480/20830 3828/4481/20831 3826/4478/20832 +f 3826/4478/20833 3828/4481/20834 3607/4244/20835 +f 3607/4244/20836 3606/4243/20837 3826/4478/20838 +f 3828/4481/20839 3829/4480/20840 3830/4482/20841 +f 3830/4482/20842 3590/4223/20843 3828/4481/20844 +f 3828/4481/20845 3590/4223/20846 3591/4227/20847 +f 3591/4227/20848 3607/4244/20849 3828/4481/20850 +f 3830/4482/20851 3829/4480/20852 3832/4483/20853 +f 3832/4483/20854 3831/4484/20855 3830/4482/20856 +f 3830/4482/20857 3831/4484/20858 3833/4485/20859 +f 3833/4485/20860 3589/4224/20861 3830/4482/20862 +f 3830/4482/20863 3589/4224/20864 3590/4223/20865 +f 3833/4485/20866 3831/4484/20867 3835/4486/20868 +f 3835/4486/20869 3834/4487/20870 3833/4485/20871 +f 3833/4485/20872 3834/4487/20873 3836/4488/20874 +f 3836/4488/20875 3582/4209/20876 3833/4485/20877 +f 3833/4485/20878 3582/4209/20879 3580/4212/20880 +f 3580/4212/20881 3589/4224/20882 3833/4485/20883 +f 3836/4488/20884 3834/4487/20885 3837/4489/20886 +f 3837/4489/20887 3808/4458/20888 3836/4488/20889 +f 3836/4488/20890 3808/4458/20891 3807/4459/20892 +f 3807/4459/20893 3811/4490/20894 3836/4488/20895 +f 3836/4488/20896 3811/4490/20897 3581/4210/20898 +f 3581/4210/20899 3582/4209/20900 3836/4488/20901 +f 3837/4489/20902 3834/4487/20903 3835/4486/20904 +f 3835/4486/20905 3838/4491/20906 3837/4489/20907 +f 3837/4489/20908 3838/4491/20909 3839/4492/20910 +f 3839/4492/20911 3636/4274/20912 3837/4489/20913 +f 3837/4489/20914 3636/4274/20915 3637/4273/20916 +f 3637/4273/20917 3808/4458/20918 3837/4489/20919 +f 3839/4492/20920 3838/4491/20921 3840/4493/20922 +f 3840/4493/20923 3625/4261/20924 3839/4492/20925 +f 3839/4492/20926 3625/4261/20927 3626/4260/20928 +f 3626/4260/20929 3638/4276/20930 3839/4492/20931 +f 3839/4492/20932 3638/4276/20933 3616/4253/20934 +f 3616/4253/20935 3636/4274/20936 3839/4492/20937 +f 3840/4493/20938 3841/4496/20939 3843/4494/20940 +f 3843/4494/20941 3842/4495/20942 3840/4493/20943 +f 3840/4493/20944 3842/4495/20945 3629/4266/20946 +f 3629/4266/20947 3625/4261/20948 3840/4493/20949 +f 3840/4493/20950 3838/4491/20951 3835/4486/20952 +f 3835/4486/20953 3841/4496/20954 3840/4493/20955 +f 3842/4495/20956 3843/4494/20957 3845/4497/20958 +f 3845/4497/20959 3844/4498/20960 3842/4495/20961 +f 3842/4495/20962 3844/4498/20963 3846/4499/20964 +f 3846/4499/20965 3629/4266/20966 3842/4495/20967 +f 3846/4499/20968 3847/4500/20969 3628/4264/20970 +f 3628/4264/20971 3629/4266/20972 3846/4499/20973 +f 3845/4497/20974 3843/4494/20975 3849/4501/20976 +f 3849/4501/20977 3848/4502/20978 3845/4497/20979 +f 3849/4501/20980 3827/4477/20981 3825/4479/20982 +f 3825/4479/20983 3848/4502/20984 3849/4501/20985 +f 3849/4501/20986 3843/4494/20987 3841/4496/20988 +f 3841/4496/20989 3832/4483/20990 3849/4501/20991 +f 3849/4501/20992 3832/4483/20993 3829/4480/20994 +f 3829/4480/20995 3827/4477/20996 3849/4501/20997 +f 3841/4496/20998 3835/4486/20999 3831/4484/21000 +f 3831/4484/21001 3832/4483/21002 3841/4496/21003 +f 3850/4504/21004 3823/4475/21005 3820/4471/21006 +f 3820/4471/21007 3851/4503/21008 3850/4504/21009 +f 3850/4504/21010 3851/4503/21011 3540/4166/21012 +f 3540/4166/21013 3543/4169/21014 3850/4504/21015 +f 3851/4503/21016 3820/4471/21017 3815/4467/21018 +f 3815/4467/21019 3534/4158/21020 3851/4503/21021 +f 3851/4503/21022 3534/4158/21023 3535/4157/21024 +f 3535/4157/21025 3540/4166/21026 3851/4503/21027 +f 3818/4469/21028 3575/4203/21029 3578/4208/21030 +f 3818/4469/21031 3578/4208/21032 3814/4465/21033 +f 3814/4465/21034 3813/4466/21035 3818/4469/21036 +f 3818/4469/21037 3817/4470/21038 3573/4200/21039 +f 3573/4200/21040 3575/4203/21041 3818/4469/21042 +f 3814/4465/21043 3578/4208/21044 3579/4207/21045 +f 3579/4207/21046 3581/4505/21047 3814/4465/21048 +f 3814/4465/21049 3581/4505/21050 3811/4462/21051 +f 3811/4462/21052 3810/4463/21053 3814/4465/21054 +f 3799/4447/21055 3797/4445/21056 3518/4144/21057 +f 3518/4144/21058 3519/4143/21059 3799/4447/21060 +f 3799/4447/21061 3519/4143/21062 3530/4154/21063 +f 3530/4154/21064 3801/4449/21065 3799/4447/21066 +f 3797/4445/21067 3794/4444/21068 3520/4145/21069 +f 3520/4145/21070 3518/4144/21071 3797/4445/21072 +f 3520/4145/21073 3794/4444/21074 3494/4115/21075 +f 3494/4115/21076 3491/4118/21077 3520/4145/21078 +f 3791/4439/21079 3852/4507/21080 3853/4506/21081 +f 3853/4506/21082 3793/4441/21083 3791/4439/21084 +f 3852/4507/21085 3791/4439/21086 3855/4508/21087 +f 3855/4508/21088 3854/4509/21089 3852/4507/21090 +f 3857/4512/21091 3856/4513/21092 3859/4510/21093 +f 3859/4510/21094 3858/4511/21095 3857/4512/21096 +f 3857/4512/21097 3860/4515/21098 3861/4514/21099 +f 3861/4514/21100 3856/4513/21101 3857/4512/21102 +f 3862/4517/21103 3856/4513/21104 3861/4514/21105 +f 3861/4514/21106 3863/4516/21107 3862/4517/21108 +f 3861/4514/21109 3860/4515/21110 3757/4401/21111 +f 3757/4401/21112 3752/4397/21113 3861/4514/21114 +f 3859/4510/21115 3856/4513/21116 3862/4517/21117 +f 3862/4517/21118 3506/4131/21119 3859/4510/21120 +f 3863/4516/21121 3861/4514/21122 3752/4397/21123 +f 3752/4397/21124 3753/4396/21125 3863/4516/21126 +f 3864/4519/21127 3753/4396/21128 3751/4394/21129 +f 3751/4394/21130 3865/4518/21131 3864/4519/21132 +f 3866/4520/21133 3865/4518/21134 3751/4394/21135 +f 3751/4394/21136 3749/4392/21137 3866/4520/21138 +f 3866/4520/21139 3749/4392/21140 3744/4389/21141 +f 3744/4389/21142 3745/4388/21143 3866/4520/21144 +f 3460/4084/21145 3864/4519/21146 3865/4518/21147 +f 3865/4518/21148 3459/4080/21149 3460/4084/21150 +f 3458/4081/21151 3459/4080/21152 3865/4518/21153 +f 3865/4518/21154 3866/4520/21155 3458/4081/21156 +f 3458/4081/21157 3866/4520/21158 3745/4388/21159 +f 3745/4388/21160 3867/4521/21161 3458/4081/21162 +f 3868/4522/21163 3457/4082/21164 3458/4081/21165 +f 3458/4081/21166 3867/4521/21167 3868/4522/21168 +f 3868/4522/21169 3867/4521/21170 3870/4523/21171 +f 3870/4523/21172 3869/4524/21173 3868/4522/21174 +f 3871/4525/21175 3440/4062/21176 3868/4522/21177 +f 3868/4522/21178 3869/4524/21179 3871/4525/21180 +f 3436/4059/21181 3457/4082/21182 3868/4522/21183 +f 3868/4522/21184 3440/4062/21185 3436/4059/21186 +f 3445/4067/21187 3457/4082/21188 3436/4059/21189 +f 3436/4059/21190 3431/4054/21191 3445/4067/21192 +f 3423/4047/21193 3445/4067/21194 3431/4054/21195 +f 3431/4054/21196 3419/4045/21197 3423/4047/21198 +f 3873/4526/21199 3872/4527/21200 3871/4525/21201 +f 3871/4525/21202 3869/4524/21203 3873/4526/21204 +f 3871/4525/21205 3872/4527/21206 3875/4528/21207 +f 3875/4528/21208 3874/4529/21209 3871/4525/21210 +f 3871/4525/21211 3874/4529/21212 3439/4063/21213 +f 3439/4063/21214 3440/4062/21215 3871/4525/21216 +f 3874/4529/21217 3875/4528/21218 3877/4530/21219 +f 3877/4530/21220 3876/4531/21221 3874/4529/21222 +f 3874/4529/21223 3876/4531/21224 3441/4064/21225 +f 3441/4064/21226 3439/4063/21227 3874/4529/21228 +f 3876/4531/21229 3877/4530/21230 3467/4532/21231 +f 3467/4532/21232 3878/4533/21233 3876/4531/21234 +f 3876/4531/21235 3878/4533/21236 3879/4534/21237 +f 3879/4534/21238 3441/4064/21239 3876/4531/21240 +f 3416/4039/21241 3415/4038/21242 3879/4535/21243 +f 3879/4535/21244 3878/4536/21245 3416/4039/21246 +f 3879/4534/21247 3880/4537/21248 3437/4061/21249 +f 3437/4061/21250 3441/4064/21251 3879/4534/21252 +f 3880/4537/21253 3881/4538/21254 3438/4060/21255 +f 3438/4060/21256 3437/4061/21257 3880/4537/21258 +f 3881/4538/21259 3882/4540/21260 3883/4539/21261 +f 3883/4539/21262 3438/4060/21263 3881/4538/21264 +f 3883/4539/21265 3882/4540/21266 3885/4541/21267 +f 3885/4541/21268 3884/4542/21269 3883/4539/21270 +f 3883/4539/21271 3884/4542/21272 3887/4543/21273 +f 3887/4543/21274 3886/4544/21275 3883/4539/21276 +f 3883/4539/21277 3886/4544/21278 3434/4058/21279 +f 3434/4058/21280 3438/4060/21281 3883/4539/21282 +f 3886/4544/21283 3887/4543/21284 3888/4545/21285 +f 3888/4545/21286 3456/4079/21287 3886/4544/21288 +f 3886/4544/21289 3456/4079/21290 3430/4051/21291 +f 3430/4051/21292 3434/4058/21293 3886/4544/21294 +f 3888/4545/21295 3887/4543/21296 3890/4546/21297 +f 3890/4546/21298 3889/4547/21299 3888/4545/21300 +f 3888/4545/21301 3889/4547/21302 3892/4548/21303 +f 3892/4548/21304 3891/4549/21305 3888/4545/21306 +f 3888/4545/21307 3891/4549/21308 3455/4077/21309 +f 3455/4077/21310 3456/4079/21311 3888/4545/21312 +f 3891/4549/21313 3892/4548/21314 3562/4191/21315 +f 3562/4191/21316 3558/4186/21317 3891/4549/21318 +f 3891/4549/21319 3558/4186/21320 3893/4550/21321 +f 3893/4550/21322 3455/4077/21323 3891/4549/21324 +f 3893/4550/21325 3513/4138/21326 3454/4078/21327 +f 3454/4078/21328 3455/4077/21329 3893/4550/21330 +f 3893/4550/21331 3558/4186/21332 3559/4185/21333 +f 3559/4185/21334 3894/4551/21335 3893/4550/21336 +f 3893/4550/21337 3894/4551/21338 3512/4136/21339 +f 3512/4136/21340 3513/4138/21341 3893/4550/21342 +f 3894/4551/21343 3895/4553/21344 3896/4552/21345 +f 3896/4552/21346 3512/4136/21347 3894/4551/21348 +f 3894/4551/21349 3559/4185/21350 3897/4554/21351 +f 3897/4554/21352 3895/4553/21353 3894/4551/21354 +f 3897/4554/21355 3898/4556/21356 3899/4555/21357 +f 3899/4555/21358 3895/4553/21359 3897/4554/21360 +f 3897/4554/21361 3559/4185/21362 3556/4188/21363 +f 3556/4188/21364 3900/4557/21365 3897/4554/21366 +f 3897/4554/21367 3900/4557/21368 3901/4558/21369 +f 3901/4558/21370 3898/4556/21371 3897/4554/21372 +f 3901/4558/21373 3902/4560/21374 3903/4559/21375 +f 3903/4559/21376 3898/4556/21377 3901/4558/21378 +f 3901/4558/21379 3900/4557/21380 3905/4561/21381 +f 3905/4561/21382 3904/4562/21383 3901/4558/21384 +f 3901/4558/21385 3904/4562/21386 3906/4563/21387 +f 3906/4563/21388 3902/4560/21389 3901/4558/21390 +f 3906/4563/21391 3907/4565/21392 3908/4564/21393 +f 3908/4564/21394 3902/4560/21395 3906/4563/21396 +f 3906/4563/21397 3904/4562/21398 3910/4566/21399 +f 3910/4566/21400 3909/4567/21401 3906/4563/21402 +f 3906/4563/21403 3909/4567/21404 3911/4568/21405 +f 3911/4568/21406 3907/4565/21407 3906/4563/21408 +f 3911/4568/21409 3626/4260/21410 3623/4263/21411 +f 3623/4263/21412 3907/4565/21413 3911/4568/21414 +f 3911/4568/21415 3909/4567/21416 3912/4569/21417 +f 3912/4569/21418 3639/4275/21419 3911/4568/21420 +f 3911/4568/21421 3639/4275/21422 3638/4276/21423 +f 3638/4276/21424 3626/4260/21425 3911/4568/21426 +f 3912/4569/21427 3909/4567/21428 3910/4566/21429 +f 3910/4566/21430 3913/4570/21431 3912/4569/21432 +f 3912/4569/21433 3913/4570/21434 3643/4282/21435 +f 3643/4282/21436 3914/4571/21437 3912/4569/21438 +f 3912/4569/21439 3914/4571/21440 3619/4255/21441 +f 3619/4255/21442 3639/4275/21443 3912/4569/21444 +f 3914/4571/21445 3643/4282/21446 3641/4279/21447 +f 3641/4279/21448 3915/4572/21449 3914/4571/21450 +f 3914/4571/21451 3915/4572/21452 3618/4256/21453 +f 3618/4256/21454 3619/4255/21455 3914/4571/21456 +f 3913/4570/21457 3910/4566/21458 3917/4573/21459 +f 3917/4573/21460 3916/4574/21461 3913/4570/21462 +f 3913/4570/21463 3916/4574/21464 3645/4280/21465 +f 3645/4280/21466 3643/4282/21467 3913/4570/21468 +f 3916/4574/21469 3917/4573/21470 3919/4575/21471 +f 3919/4575/21472 3918/4576/21473 3916/4574/21474 +f 3918/4576/21475 3921/4577/21476 3920/4578/21477 +f 3916/4574/21478 3918/4576/21479 3920/4578/21480 +f 3920/4578/21481 3645/4280/21482 3916/4574/21483 +f 3920/4578/21484 3921/4577/21485 3922/4579/21486 +f 3920/4578/21487 3922/4579/21488 3924/4580/21489 +f 3924/4580/21490 3923/4581/21491 3920/4578/21492 +f 3920/4578/21493 3923/4581/21494 3644/4281/21495 +f 3644/4281/21496 3645/4280/21497 3920/4578/21498 +f 3923/4581/21499 3924/4580/21500 3926/4582/21501 +f 3926/4582/21502 3925/4583/21503 3923/4581/21504 +f 3923/4581/21505 3925/4583/21506 3646/4283/21507 +f 3646/4283/21508 3644/4281/21509 3923/4581/21510 +f 3925/4583/21511 3926/4582/21512 3928/4584/21513 +f 3928/4584/21514 3927/4585/21515 3925/4583/21516 +f 3925/4583/21517 3927/4585/21518 3929/4586/21519 +f 3929/4586/21520 3646/4283/21521 3925/4583/21522 +f 3929/4586/21523 3930/4587/21524 3642/4278/21525 +f 3642/4278/21526 3646/4283/21527 3929/4586/21528 +f 3929/4586/21529 3927/4585/21530 3714/4356/21531 +f 3714/4356/21532 3719/4361/21533 3929/4586/21534 +f 3929/4586/21535 3719/4361/21536 3931/4588/21537 +f 3931/4588/21538 3930/4587/21539 3929/4586/21540 +f 3931/4588/21541 3659/4296/21542 3660/4295/21543 +f 3660/4295/21544 3930/4587/21545 3931/4588/21546 +f 3931/4588/21547 3719/4361/21548 3720/4360/21549 +f 3720/4360/21550 3932/4589/21551 3931/4588/21552 +f 3931/4588/21553 3932/4589/21554 3663/4299/21555 +f 3663/4299/21556 3659/4296/21557 3931/4588/21558 +f 3932/4589/21559 3720/4360/21560 3724/4365/21561 +f 3724/4365/21562 3722/4364/21563 3932/4589/21564 +f 3932/4589/21565 3722/4364/21566 3721/4362/21567 +f 3721/4362/21568 3663/4299/21569 3932/4589/21570 +f 3930/4587/21571 3660/4295/21572 3640/4277/21573 +f 3640/4277/21574 3642/4278/21575 3930/4587/21576 +f 3927/4585/21577 3928/4584/21578 3713/4357/21579 +f 3713/4357/21580 3714/4356/21581 3927/4585/21582 +f 3933/4590/21583 3921/4577/21584 3918/4576/21585 +f 3933/4590/21586 3918/4576/21587 3935/4591/21588 +f 3935/4591/21589 3934/4592/21590 3933/4590/21591 +f 3934/4592/21592 3935/4591/21593 3937/4593/21594 +f 3937/4593/21595 3936/4594/21596 3934/4592/21597 +f 3937/4593/21598 3935/4591/21599 3939/4595/21600 +f 3939/4595/21601 3938/4596/21602 3937/4593/21603 +f 3937/4593/21604 3938/4596/21605 3718/4358/21606 +f 3718/4358/21607 3715/4355/21608 3937/4593/21609 +f 3937/4593/21610 3715/4355/21611 3716/4354/21612 +f 3716/4354/21613 3936/4594/21614 3937/4593/21615 +f 3938/4596/21616 3939/4595/21617 3709/4351/21618 +f 3709/4351/21619 3710/4350/21620 3938/4596/21621 +f 3938/4596/21622 3710/4350/21623 3725/4367/21624 +f 3725/4367/21625 3718/4358/21626 3938/4596/21627 +f 3939/4595/21628 3918/4576/21629 3919/4575/21630 +f 3919/4575/21631 3709/4351/21632 3939/4595/21633 +f 3939/4595/21634 3935/4591/21635 3918/4576/21636 +f 3919/4575/21637 3917/4573/21638 3905/4561/21639 +f 3905/4561/21640 3560/4190/21641 3919/4575/21642 +f 3919/4575/21643 3560/4190/21644 3561/4189/21645 +f 3561/4189/21646 3709/4351/21647 3919/4575/21648 +f 3917/4573/21649 3910/4566/21650 3904/4562/21651 +f 3904/4562/21652 3905/4561/21653 3917/4573/21654 +f 3908/4564/21655 3627/4265/21656 3542/4164/21657 +f 3542/4164/21658 3940/4597/21659 3908/4564/21660 +f 3908/4564/21661 3940/4597/21662 3903/4559/21663 +f 3903/4559/21664 3902/4560/21665 3908/4564/21666 +f 3908/4564/21667 3907/4565/21668 3623/4263/21669 +f 3623/4263/21670 3627/4265/21671 3908/4564/21672 +f 3940/4597/21673 3542/4164/21674 3539/4167/21675 +f 3539/4167/21676 3941/4598/21677 3940/4597/21678 +f 3940/4597/21679 3941/4598/21680 3942/4599/21681 +f 3942/4599/21682 3903/4559/21683 3940/4597/21684 +f 3942/4599/21685 3941/4598/21686 3944/4600/21687 +f 3944/4600/21688 3943/4601/21689 3942/4599/21690 +f 3942/4599/21691 3943/4601/21692 3945/4602/21693 +f 3945/4602/21694 3899/4555/21695 3942/4599/21696 +f 3942/4599/21697 3899/4555/21698 3898/4556/21699 +f 3898/4556/21700 3903/4559/21701 3942/4599/21702 +f 3945/4602/21703 3943/4601/21704 3947/4603/21705 +f 3947/4603/21706 3946/4604/21707 3945/4602/21708 +f 3945/4602/21709 3946/4604/21710 3948/4605/21711 +f 3948/4605/21712 3896/4552/21713 3945/4602/21714 +f 3945/4602/21715 3896/4552/21716 3895/4553/21717 +f 3895/4553/21718 3899/4555/21719 3945/4602/21720 +f 3948/4605/21721 3946/4604/21722 3950/4606/21723 +f 3950/4606/21724 3949/4607/21725 3948/4605/21726 +f 3948/4605/21727 3949/4607/21728 3488/4110/21729 +f 3488/4110/21730 3511/4137/21731 3948/4605/21732 +f 3948/4605/21733 3511/4137/21734 3512/4136/21735 +f 3512/4136/21736 3896/4552/21737 3948/4605/21738 +f 3949/4607/21739 3950/4606/21740 3490/4113/21741 +f 3490/4113/21742 3489/4114/21743 3949/4607/21744 +f 3949/4607/21745 3489/4114/21746 3487/4111/21747 +f 3487/4111/21748 3488/4110/21749 3949/4607/21750 +f 3950/4606/21751 3951/4609/21752 3952/4608/21753 +f 3952/4608/21754 3490/4113/21755 3950/4606/21756 +f 3950/4606/21757 3946/4604/21758 3947/4603/21759 +f 3947/4603/21760 3951/4609/21761 3950/4606/21762 +f 3952/4608/21763 3953/4610/21764 3492/4117/21765 +f 3492/4117/21766 3478/4099/21767 3952/4608/21768 +f 3952/4608/21769 3478/4099/21770 3475/4102/21771 +f 3475/4102/21772 3490/4113/21773 3952/4608/21774 +f 3952/4608/21775 3951/4609/21776 3528/4150/21777 +f 3528/4150/21778 3953/4610/21779 3952/4608/21780 +f 3953/4610/21781 3954/4611/21782 3491/4118/21783 +f 3491/4118/21784 3492/4117/21785 3953/4610/21786 +f 3953/4610/21787 3528/4150/21788 3525/4153/21789 +f 3525/4153/21790 3954/4611/21791 3953/4610/21792 +f 3951/4609/21793 3947/4603/21794 3527/4151/21795 +f 3527/4151/21796 3528/4150/21797 3951/4609/21798 +f 3947/4603/21799 3943/4601/21800 3944/4600/21801 +f 3944/4600/21802 3527/4151/21803 3947/4603/21804 +f 3944/4600/21805 3545/4170/21806 3531/4156/21807 +f 3531/4156/21808 3527/4151/21809 3944/4600/21810 +f 3944/4600/21811 3941/4598/21812 3539/4167/21813 +f 3539/4167/21814 3545/4170/21815 3944/4600/21816 +f 3905/4561/21817 3900/4557/21818 3556/4188/21819 +f 3556/4188/21820 3560/4190/21821 3905/4561/21822 +f 3892/4548/21823 3889/4547/21824 3956/4612/21825 +f 3956/4612/21826 3955/4613/21827 3892/4548/21828 +f 3892/4548/21829 3955/4613/21830 3708/4349/21831 +f 3708/4349/21832 3562/4191/21833 3892/4548/21834 +f 3955/4613/21835 3956/4612/21836 3958/4614/21837 +f 3958/4614/21838 3957/4615/21839 3955/4613/21840 +f 3955/4613/21841 3957/4615/21842 3959/4616/21843 +f 3959/4616/21844 3708/4349/21845 3955/4613/21846 +f 3959/4616/21847 3957/4615/21848 3961/4617/21849 +f 3961/4617/21850 3960/4618/21851 3959/4616/21852 +f 3959/4616/21853 3960/4618/21854 3963/4619/21855 +f 3963/4619/21856 3962/4620/21857 3959/4616/21858 +f 3959/4616/21859 3962/4620/21860 3705/4348/21861 +f 3705/4348/21862 3708/4349/21863 3959/4616/21864 +f 3962/4620/21865 3963/4619/21866 3965/4621/21867 +f 3965/4621/21868 3964/4622/21869 3962/4620/21870 +f 3962/4620/21871 3964/4622/21872 3707/4346/21873 +f 3707/4346/21874 3705/4348/21875 3962/4620/21876 +f 3964/4622/21877 3965/4621/21878 3967/4623/21879 +f 3967/4623/21880 3966/4624/21881 3964/4622/21882 +f 3964/4622/21883 3966/4624/21884 3704/4344/21885 +f 3704/4344/21886 3707/4346/21887 3964/4622/21888 +f 3966/4624/21889 3967/4623/21890 3969/4625/21891 +f 3969/4625/21892 3968/4626/21893 3966/4624/21894 +f 3966/4624/21895 3968/4626/21896 3701/4341/21897 +f 3701/4341/21898 3704/4344/21899 3966/4624/21900 +f 3968/4626/21901 3969/4625/21902 3971/4627/21903 +f 3971/4627/21904 3970/4628/21905 3968/4626/21906 +f 3968/4626/21907 3970/4628/21908 3700/4342/21909 +f 3700/4342/21910 3701/4341/21911 3968/4626/21912 +f 3970/4628/21913 3971/4627/21914 3972/4629/21915 +f 3972/4629/21916 3604/4630/21917 3970/4628/21918 +f 3970/4628/21919 3604/4630/21920 3600/4631/21921 +f 3600/4631/21922 3700/4342/21923 3970/4628/21924 +f 3972/4634/21925 3971/4635/21926 3974/4632/21927 +f 3974/4632/21928 3973/4633/21929 3972/4634/21930 +f 3972/4634/21931 3973/4633/21932 3976/4636/21933 +f 3976/4636/21934 3975/4637/21935 3972/4634/21936 +f 3972/4638/21937 3975/4639/21938 3602/4240/21939 +f 3602/4240/21940 3604/4241/21941 3972/4638/21942 +f 3975/4637/21943 3976/4636/21944 3978/4640/21945 +f 3978/4640/21946 3977/4641/21947 3975/4637/21948 +f 3975/4639/21949 3977/4642/21950 3603/4239/21951 +f 3603/4239/21952 3602/4240/21953 3975/4639/21954 +f 3976/4636/21955 3973/4633/21956 3980/4643/21957 +f 3980/4643/21958 3979/4644/21959 3976/4636/21960 +f 3976/4636/21961 3979/4644/21962 3981/4645/21963 +f 3981/4645/21964 3978/4640/21965 3976/4636/21966 +f 3981/4645/21967 3979/4644/21968 3983/4646/21969 +f 3983/4646/21970 3982/4647/21971 3981/4645/21972 +f 3981/4650/21973 3982/4651/21974 3985/4648/21975 +f 3985/4648/21976 3984/4649/21977 3981/4650/21978 +f 3981/4650/21979 3984/4649/21980 3554/4184/21981 +f 3554/4184/21982 3978/4652/21983 3981/4650/21984 +f 3984/4649/21985 3985/4648/21986 3987/4653/21987 +f 3987/4653/21988 3986/4654/21989 3984/4649/21990 +f 3984/4649/21991 3986/4654/21992 3555/4181/21993 +f 3555/4181/21994 3554/4184/21995 3984/4649/21996 +f 3987/4653/21997 3985/4648/21998 3989/4655/21999 +f 3989/4655/22000 3988/4656/22001 3987/4653/22002 +f 3987/4653/22003 3988/4656/22004 3991/4657/22005 +f 3991/4657/22006 3990/4658/22007 3987/4653/22008 +f 3987/4653/22009 3990/4658/22010 3555/4181/22011 +f 3555/4181/22012 3986/4654/22013 3987/4653/22014 +f 3990/4658/22015 3991/4657/22016 3993/4659/22017 +f 3993/4659/22018 3992/4660/22019 3990/4658/22020 +f 3990/4658/22021 3992/4660/22022 3621/4259/22023 +f 3621/4259/22024 3555/4181/22025 3990/4658/22026 +f 3992/4660/22027 3993/4659/22028 3995/4661/22029 +f 3995/4661/22030 3994/4662/22031 3992/4660/22032 +f 3992/4660/22033 3994/4662/22034 3996/4663/22035 +f 3996/4663/22036 3621/4259/22037 3992/4660/22038 +f 3996/4663/22039 3997/4664/22040 3622/4258/22041 +f 3622/4258/22042 3621/4259/22043 3996/4663/22044 +f 3996/4663/22045 3994/4662/22046 3999/4665/22047 +f 3999/4665/22048 3998/4666/22049 3996/4663/22050 +f 3996/4663/22051 3998/4666/22052 4000/4667/22053 +f 4000/4667/22054 3997/4664/22055 3996/4663/22056 +f 4000/4669/22057 3960/4618/22058 3961/4617/22059 +f 3961/4617/22060 3997/4668/22061 4000/4669/22062 +f 4000/4667/22063 3998/4666/22064 4002/4670/22065 +f 4002/4670/22066 4001/4671/22067 4000/4667/22068 +f 4000/4669/22069 4001/4672/22070 3963/4619/22071 +f 3963/4619/22072 3960/4618/22073 4000/4669/22074 +f 4001/4671/22075 4002/4670/22076 4004/4673/22077 +f 4004/4673/22078 4003/4674/22079 4001/4671/22080 +f 4001/4672/22081 4003/4675/22082 3965/4621/22083 +f 3965/4621/22084 3963/4619/22085 4001/4672/22086 +f 4003/4674/22087 4004/4673/22088 4006/4676/22089 +f 4006/4676/22090 4005/4677/22091 4003/4674/22092 +f 4003/4675/22093 4005/4678/22094 3967/4623/22095 +f 3967/4623/22096 3965/4621/22097 4003/4675/22098 +f 4005/4677/22099 4006/4676/22100 4008/4679/22101 +f 4008/4679/22102 4007/4680/22103 4005/4677/22104 +f 4005/4678/22105 4007/4681/22106 3969/4625/22107 +f 3969/4625/22108 3967/4623/22109 4005/4678/22110 +f 4007/4680/22111 4008/4679/22112 4009/4682/22113 +f 4009/4682/22114 3974/4632/22115 4007/4680/22116 +f 4007/4681/22117 3974/4683/22118 3971/4627/22119 +f 3971/4627/22120 3969/4625/22121 4007/4681/22122 +f 4009/4682/22123 4008/4679/22124 4011/4684/22125 +f 4011/4684/22126 4010/4685/22127 4009/4682/22128 +f 4009/4682/22129 4010/4685/22130 4012/4686/22131 +f 4012/4686/22132 3980/4643/22133 4009/4682/22134 +f 4009/4682/22135 3980/4643/22136 3973/4633/22137 +f 3973/4633/22138 3974/4632/22139 4009/4682/22140 +f 4012/4686/22141 4010/4685/22142 4014/4687/22143 +f 4014/4687/22144 4013/4688/22145 4012/4686/22146 +f 4012/4686/22147 4013/4688/22148 4015/4689/22149 +f 4015/4689/22150 3983/4646/22151 4012/4686/22152 +f 4012/4686/22153 3983/4646/22154 3979/4644/22155 +f 3979/4644/22156 3980/4643/22157 4012/4686/22158 +f 4015/4689/22159 4013/4688/22160 4017/4690/22161 +f 4017/4690/22162 4016/4691/22163 4015/4689/22164 +f 4015/4689/22165 4016/4691/22166 4019/4692/22167 +f 4019/4692/22168 4018/4693/22169 4015/4689/22170 +f 4015/4689/22171 4018/4693/22172 3982/4647/22173 +f 3982/4647/22174 3983/4646/22175 4015/4689/22176 +f 4018/4695/22177 4019/4696/22178 4020/4694/22179 +f 4020/4694/22180 3989/4655/22181 4018/4695/22182 +f 4018/4695/22183 3989/4655/22184 3985/4648/22185 +f 3985/4648/22186 3982/4651/22187 4018/4695/22188 +f 4020/4694/22189 4019/4696/22190 4022/4697/22191 +f 4022/4697/22192 4021/4698/22193 4020/4694/22194 +f 4020/4694/22195 4021/4698/22196 4024/4699/22197 +f 4024/4699/22198 4023/4700/22199 4020/4694/22200 +f 4020/4694/22201 4023/4700/22202 3988/4656/22203 +f 3988/4656/22204 3989/4655/22205 4020/4694/22206 +f 4023/4700/22207 4024/4699/22208 4026/4701/22209 +f 4026/4701/22210 4025/4702/22211 4023/4700/22212 +f 4023/4700/22213 4025/4702/22214 3991/4657/22215 +f 3991/4657/22216 3988/4656/22217 4023/4700/22218 +f 4025/4702/22219 4026/4701/22220 3687/4325/22221 +f 3687/4325/22222 4027/4703/22223 4025/4702/22224 +f 4025/4702/22225 4027/4703/22226 3993/4659/22227 +f 3993/4659/22228 3991/4657/22229 4025/4702/22230 +f 4027/4703/22231 3687/4325/22232 3688/4324/22233 +f 3688/4324/22234 4028/4704/22235 4027/4703/22236 +f 4027/4703/22237 4028/4704/22238 3995/4661/22239 +f 3995/4661/22240 3993/4659/22241 4027/4703/22242 +f 4028/4704/22243 3688/4324/22244 3689/4326/22245 +f 3689/4326/22246 4029/4705/22247 4028/4704/22248 +f 4028/4704/22249 4029/4705/22250 4030/4706/22251 +f 4030/4706/22252 3995/4661/22253 4028/4704/22254 +f 4030/4706/22255 3999/4665/22256 3994/4662/22257 +f 3994/4662/22258 3995/4661/22259 4030/4706/22260 +f 4030/4706/22261 4029/4705/22262 4032/4707/22263 +f 4032/4707/22264 4031/4708/22265 4030/4706/22266 +f 4030/4706/22267 4031/4708/22268 4033/4709/22269 +f 4033/4709/22270 3999/4665/22271 4030/4706/22272 +f 4033/4709/22273 4002/4670/22274 3998/4666/22275 +f 3998/4666/22276 3999/4665/22277 4033/4709/22278 +f 4033/4709/22279 4031/4708/22280 4035/4710/22281 +f 4035/4710/22282 4034/4711/22283 4033/4709/22284 +f 4033/4709/22285 4034/4711/22286 4004/4673/22287 +f 4004/4673/22288 4002/4670/22289 4033/4709/22290 +f 4034/4711/22291 4035/4710/22292 4037/4712/22293 +f 4037/4712/22294 4036/4713/22295 4034/4711/22296 +f 4034/4711/22297 4036/4713/22298 4006/4676/22299 +f 4006/4676/22300 4004/4673/22301 4034/4711/22302 +f 4036/4713/22303 4037/4712/22304 4038/4714/22305 +f 4038/4714/22306 4011/4684/22307 4036/4713/22308 +f 4036/4713/22309 4011/4684/22310 4008/4679/22311 +f 4008/4679/22312 4006/4676/22313 4036/4713/22314 +f 4038/4714/22315 4037/4712/22316 4040/4715/22317 +f 4040/4715/22318 4039/4716/22319 4038/4714/22320 +f 4038/4714/22321 4039/4716/22322 4041/4717/22323 +f 4041/4717/22324 4014/4687/22325 4038/4714/22326 +f 4038/4714/22327 4014/4687/22328 4010/4685/22329 +f 4010/4685/22330 4011/4684/22331 4038/4714/22332 +f 4041/4717/22333 4039/4716/22334 4043/4718/22335 +f 4043/4718/22336 4042/4719/22337 4041/4717/22338 +f 4041/4717/22339 4042/4719/22340 4044/4720/22341 +f 4044/4720/22342 4017/4690/22343 4041/4717/22344 +f 4041/4717/22345 4017/4690/22346 4013/4688/22347 +f 4013/4688/22348 4014/4687/22349 4041/4717/22350 +f 3711/4353/22351 3712/4352/22352 4044/4720/22353 +f 4044/4720/22354 4042/4719/22355 3711/4353/22356 +f 3696/4333/22357 4045/4721/22358 4044/4720/22359 +f 4044/4720/22360 3712/4352/22361 3696/4333/22362 +f 4044/4720/22363 4045/4721/22364 4016/4691/22365 +f 4016/4691/22366 4017/4690/22367 4044/4720/22368 +f 3681/4336/22369 4022/4722/22370 4045/4721/22371 +f 4045/4721/22372 3696/4333/22373 3681/4336/22374 +f 4045/4721/22375 4022/4722/22376 4019/4692/22377 +f 4019/4692/22378 4016/4691/22379 4045/4721/22380 +f 4021/4698/22381 4022/4697/22382 3681/4318/22383 +f 3681/4318/22384 4046/4723/22385 4021/4698/22386 +f 4021/4698/22387 4046/4723/22388 3667/4301/22389 +f 3667/4301/22390 4024/4699/22391 4021/4698/22392 +f 4024/4699/22393 3667/4301/22394 3664/4304/22395 +f 3664/4304/22396 4026/4701/22397 4024/4699/22398 +f 4026/4701/22399 3664/4304/22400 3669/4305/22401 +f 3669/4305/22402 3687/4325/22403 4026/4701/22404 +f 3711/4353/22405 4042/4719/22406 4043/4718/22407 +f 4043/4718/22408 4047/4724/22409 3711/4353/22410 +f 4049/4725/22411 4048/4726/22412 4047/4724/22413 +f 4047/4724/22414 4043/4718/22415 4049/4725/22416 +f 4047/4724/22417 4048/4726/22418 4050/4727/22419 +f 4050/4727/22420 3697/4337/22421 4047/4724/22422 +f 4047/4724/22423 3697/4337/22424 3695/4334/22425 +f 3695/4334/22426 3711/4353/22427 4047/4724/22428 +f 4050/4727/22429 4048/4726/22430 3698/4339/22431 +f 3698/4339/22432 3692/4329/22433 4050/4727/22434 +f 4050/4727/22435 3692/4329/22436 3683/4330/22437 +f 3683/4330/22438 3686/4728/22439 4050/4727/22440 +f 4050/4727/22441 3686/4728/22442 3682/4338/22443 +f 3682/4338/22444 3697/4337/22445 4050/4727/22446 +f 4051/4729/22447 3698/4339/22448 4048/4726/22449 +f 4048/4726/22450 4049/4725/22451 4051/4729/22452 +f 3691/4327/22453 3698/4339/22454 4051/4729/22455 +f 4051/4729/22456 4052/4730/22457 3691/4327/22458 +f 4049/4725/22459 4040/4715/22460 4053/4731/22461 +f 4053/4731/22462 4051/4729/22463 4049/4725/22464 +f 4049/4725/22465 4043/4718/22466 4039/4716/22467 +f 4039/4716/22468 4040/4715/22469 4049/4725/22470 +f 4053/4731/22471 4035/4710/22472 4031/4708/22473 +f 4031/4708/22474 4032/4707/22475 4053/4731/22476 +f 4053/4731/22477 4032/4707/22478 4052/4730/22479 +f 4052/4730/22480 4051/4729/22481 4053/4731/22482 +f 4053/4731/22483 4040/4715/22484 4037/4712/22485 +f 4037/4712/22486 4035/4710/22487 4053/4731/22488 +f 3691/4327/22489 4052/4730/22490 3689/4326/22491 +f 3689/4326/22492 3684/4321/22493 3691/4327/22494 +f 4052/4730/22495 4032/4707/22496 4029/4705/22497 +f 4029/4705/22498 3689/4326/22499 4052/4730/22500 +f 3997/4668/22501 3961/4617/22502 4054/4732/22503 +f 4054/4732/22504 3622/4733/22505 3997/4668/22506 +f 4054/4732/22507 3958/4614/22508 3502/4127/22509 +f 3502/4127/22510 3553/4177/22511 4054/4732/22512 +f 4054/4732/22513 3553/4177/22514 3552/4180/22515 +f 3552/4180/22516 3622/4733/22517 4054/4732/22518 +f 4054/4732/22519 3961/4617/22520 3957/4615/22521 +f 3957/4615/22522 3958/4614/22523 4054/4732/22524 +f 3958/4614/22525 3956/4612/22526 3501/4125/22527 +f 3501/4125/22528 3502/4127/22529 3958/4614/22530 +f 3956/4612/22531 3889/4547/22532 3890/4546/22533 +f 3890/4546/22534 3501/4125/22535 3956/4612/22536 +f 3890/4546/22537 3887/4543/22538 3884/4542/22539 +f 3884/4542/22540 4055/4734/22541 3890/4546/22542 +f 3890/4546/22543 4055/4734/22544 3500/4126/22545 +f 3500/4126/22546 3501/4125/22547 3890/4546/22548 +f 4055/4734/22549 3884/4542/22550 3885/4541/22551 +f 3885/4541/22552 4056/4735/22553 4055/4734/22554 +f 4055/4734/22555 4056/4735/22556 4057/4736/22557 +f 4057/4736/22558 3500/4126/22559 4055/4734/22560 +f 4059/4739/22561 4058/4740/22562 4057/4737/22563 +f 4057/4737/22564 4060/4738/22565 4059/4739/22566 +f 4057/4736/22567 4058/4741/22568 3497/4124/22569 +f 3497/4124/22570 3500/4126/22571 4057/4736/22572 +f 3471/4094/22573 3473/4742/22574 4058/4740/22575 +f 4058/4740/22576 4059/4739/22577 3471/4094/22578 +f 4058/4741/22579 3473/4743/22580 3474/4121/22581 +f 3474/4121/22582 3497/4124/22583 4058/4741/22584 +f 3472/4744/22585 3473/4742/22586 3471/4094/22587 +f 3471/4094/22588 3469/4092/22589 3472/4744/22590 +f 3469/4092/22591 3462/4086/22592 3472/4744/22593 +f 4059/4739/22594 4060/4738/22595 4062/4745/22596 +f 4062/4745/22597 4061/4746/22598 4059/4739/22599 +f 4059/4739/22600 4061/4746/22601 3468/4093/22602 +f 3468/4093/22603 3471/4094/22604 4059/4739/22605 +f 4061/4746/22606 4062/4745/22607 4064/4747/22608 +f 4064/4747/22609 4063/4748/22610 4061/4746/22611 +f 4061/4746/22612 4063/4748/22613 3470/4091/22614 +f 3470/4091/22615 3468/4093/22616 4061/4746/22617 +f 4063/4748/22618 4064/4747/22619 3404/4029/22620 +f 3404/4029/22621 3405/4028/22622 4063/4748/22623 +f 4063/4748/22624 3405/4028/22625 3414/4037/22626 +f 3414/4037/22627 3470/4091/22628 4063/4748/22629 +f 3406/4027/22630 3407/4031/22631 3414/4037/22632 +f 3414/4037/22633 3405/4028/22634 3406/4027/22635 +f 3414/4037/22636 3412/4036/22637 3462/4086/22638 +f 3462/4086/22639 3470/4091/22640 3414/4037/22641 +f 3390/4014/22642 3393/4016/22643 3404/4029/22644 +f 3404/4029/22645 3397/4019/22646 3390/4014/22647 +f 3404/4029/22648 4064/4747/22649 4065/4749/22650 +f 4065/4749/22651 3397/4019/22652 3404/4029/22653 +f 4065/4749/22654 4066/4750/22655 3396/4020/22656 +f 3396/4020/22657 3397/4019/22658 4065/4749/22659 +f 4065/4749/22660 4064/4747/22661 4062/4745/22662 +f 4062/4745/22663 4067/4751/22664 4065/4749/22665 +f 4065/4749/22666 4067/4751/22667 4068/4752/22668 +f 4068/4752/22669 4066/4750/22670 4065/4749/22671 +f 4068/4752/22672 4069/4754/22673 4070/4753/22674 +f 4070/4753/22675 4066/4750/22676 4068/4752/22677 +f 4068/4752/22678 4067/4751/22679 4072/4755/22680 +f 4072/4755/22681 4071/4756/22682 4068/4752/22683 +f 4068/4752/22684 4071/4756/22685 4073/4757/22686 +f 4073/4757/22687 4069/4754/22688 4068/4752/22689 +f 4073/4757/22690 4074/4759/22691 4075/4758/22692 +f 4075/4758/22693 4069/4754/22694 4073/4757/22695 +f 3885/4760/22696 3882/4761/22697 4073/4757/22698 +f 4073/4757/22699 4071/4756/22700 3885/4760/22701 +f 3881/4762/22702 4074/4759/22703 4073/4757/22704 +f 4073/4757/22705 3882/4761/22706 3881/4762/22707 +f 4076/4764/22708 4074/4759/22709 3881/4762/22710 +f 3881/4762/22711 3880/4763/22712 4076/4764/22713 +f 4076/4764/22714 3415/4038/22715 3400/4022/22716 +f 3400/4022/22717 3401/4021/22718 4076/4764/22719 +f 4076/4764/22720 3401/4021/22721 4075/4758/22722 +f 4075/4758/22723 4074/4759/22724 4076/4764/22725 +f 3415/4038/22726 4076/4764/22727 3880/4763/22728 +f 3880/4763/22729 3879/4535/22730 3415/4038/22731 +f 3885/4760/22732 4071/4756/22733 4072/4755/22734 +f 4072/4755/22735 4056/4765/22736 3885/4760/22737 +f 4057/4737/22738 4056/4765/22739 4072/4755/22740 +f 4072/4755/22741 4060/4738/22742 4057/4737/22743 +f 4075/4758/22744 3401/4021/22745 3398/4024/22746 +f 3398/4024/22747 4077/4766/22748 4075/4758/22749 +f 4075/4758/22750 4077/4766/22751 4070/4753/22752 +f 4070/4753/22753 4069/4754/22754 4075/4758/22755 +f 4077/4766/22756 3398/4024/22757 3377/3999/22758 +f 3377/3999/22759 3372/3998/22760 4077/4766/22761 +f 4077/4766/22762 3372/3998/22763 3373/3997/22764 +f 3373/3997/22765 4070/4753/22766 4077/4766/22767 +f 3396/4020/22768 3373/3997/22769 3374/3996/22770 +f 3374/3996/22771 3394/4018/22772 3396/4020/22773 +f 3373/3997/22774 3396/4020/22775 4066/4750/22776 +f 4066/4750/22777 4070/4753/22778 3373/3997/22779 +f 3377/3999/22780 3398/4024/22781 3399/4023/22782 +f 3399/4023/22783 3380/4002/22784 3377/3999/22785 +f 4072/4755/22786 4067/4751/22787 4062/4745/22788 +f 4062/4745/22789 4060/4738/22790 4072/4755/22791 +f 3416/4039/22792 3878/4536/22793 3467/4767/22794 +f 3467/4767/22795 3464/4768/22796 3416/4039/22797 +f 3877/4530/22798 3875/4528/22799 3548/4172/22800 +f 3548/4172/22801 3549/4171/22802 3877/4530/22803 +f 3877/4530/22804 3549/4171/22805 4078/4769/22806 +f 4078/4769/22807 3467/4532/22808 3877/4530/22809 +f 3875/4528/22810 3872/4527/22811 3551/4175/22812 +f 3551/4175/22813 3548/4172/22814 3875/4528/22815 +f 3551/4175/22816 3872/4527/22817 3873/4526/22818 +f 3873/4526/22819 3598/4235/22820 3551/4175/22821 +f 3740/4383/22822 3736/4379/22823 3598/4235/22824 +f 3598/4235/22825 3873/4526/22826 3740/4383/22827 +f 3740/4383/22828 3873/4526/22829 3869/4524/22830 +f 3869/4524/22831 3870/4523/22832 3740/4383/22833 +f 3597/4236/22834 3598/4235/22835 3736/4379/22836 +f 3736/4379/22837 3733/4376/22838 3597/4236/22839 +f 3743/4386/22840 3739/4384/22841 3740/4383/22842 +f 3740/4383/22843 3870/4523/22844 3743/4386/22845 +f 3743/4386/22846 3870/4523/22847 3867/4521/22848 +f 3867/4521/22849 3745/4388/22850 3743/4386/22851 +f 3600/4631/22852 3601/4371/22853 3699/4343/22854 +f 3699/4343/22855 3700/4342/22856 3600/4631/22857 +f 3523/4149/22858 3864/4519/22859 3460/4084/22860 +f 3460/4084/22861 3521/4147/22862 3523/4149/22863 +f 3863/4516/22864 3753/4396/22865 3864/4519/22866 +f 3864/4519/22867 3523/4149/22868 3863/4516/22869 +f 3863/4516/22870 3523/4149/22871 3524/4148/22872 +f 3524/4148/22873 3862/4517/22874 3863/4516/22875 +f 3485/4106/22876 3487/4111/22877 3506/4131/22878 +f 3506/4131/22879 3484/4107/22880 3485/4106/22881 +f 3504/4129/22882 3505/4128/22883 4080/4770/22884 +f 4080/4770/22885 4079/4771/22886 3504/4129/22887 +f 3504/4129/22888 4079/4771/22889 3858/4511/22890 +f 3858/4511/22891 3859/4510/22892 3504/4129/22893 +f 4082/4773/22894 4081/4774/22895 4083/4772/22896 +f 4083/4772/22897 3795/4443/22898 4082/4773/22899 +f 4082/4773/22900 3795/4443/22901 3793/4441/22902 +f 3793/4441/22903 3853/4506/22904 4082/4773/22905 +f 4083/4772/22906 4081/4774/22907 4085/4775/22908 +f 4085/4775/22909 4084/4776/22910 4083/4772/22911 +f 3493/4116/22912 3494/4115/22913 4083/4772/22914 +f 4083/4772/22915 4084/4776/22916 3493/4116/22917 +f 3493/4116/22918 4084/4776/22919 4086/4777/22920 +f 4086/4777/22921 3496/4119/22922 3493/4116/22923 +f 3496/4119/22924 4086/4777/22925 3505/4128/22926 +f 3505/4128/22927 3495/4120/22928 3496/4119/22929 +f 4086/4777/22930 4084/4776/22931 4085/4775/22932 +f 4085/4775/22933 4087/4778/22934 4086/4777/22935 +f 4086/4777/22936 4087/4778/22937 4080/4770/22938 +f 4080/4770/22939 3505/4128/22940 4086/4777/22941 +f 4088/4780/22942 3854/4781/22943 3855/4779/22944 +f 3855/4779/22945 3788/4434/22946 4088/4780/22947 +f 4088/4780/22948 3788/4434/22949 3785/4433/22950 +f 3785/4433/22951 3786/4432/22952 4088/4780/22953 +f 3855/4508/22954 3791/4439/22955 3790/4440/22956 +f 3855/4779/22957 3790/4437/22958 3787/4435/22959 +f 3787/4435/22960 3788/4434/22961 3855/4779/22962 +f 3725/4367/22963 3710/4350/22964 3706/4347/22965 +f 3706/4347/22966 3703/4345/22967 3725/4367/22968 +f 3721/4362/22969 3693/4331/22970 3662/4300/22971 +f 3662/4300/22972 3663/4299/22973 3721/4362/22974 +f 3706/4347/22975 3707/4346/22976 3704/4344/22977 +f 3704/4344/22978 3703/4345/22979 3706/4347/22980 +f 3686/4323/22981 3670/4307/22982 3666/4302/22983 +f 3666/4302/22984 3682/4317/22985 3686/4323/22986 +f 3660/4295/22987 3613/4249/22988 3608/4248/22989 +f 3608/4248/22990 3640/4277/22991 3660/4295/22992 +f 3656/4292/22993 3615/4254/22994 3618/4256/22995 +f 3618/4256/22996 3657/4294/22997 3656/4292/22998 +f 3915/4572/22999 3641/4279/23000 3609/4247/23001 +f 3609/4247/23002 3634/4271/23003 3915/4572/23004 +f 3652/4288/23005 3586/4218/23006 3584/4215/23007 +f 3584/4215/23008 3620/4257/23009 3652/4288/23010 +f 3650/4284/23011 3653/4291/23012 3635/4272/23013 +f 3635/4272/23014 3630/4270/23015 3650/4284/23016 +f 3627/4265/23017 3628/4264/23018 3541/4165/23019 +f 3541/4165/23020 3542/4164/23021 3627/4265/23022 +f 3628/4264/23023 3847/4500/23024 3544/4168/23025 +f 3544/4168/23026 3541/4165/23027 3628/4264/23028 +f 3607/4244/23029 3591/4227/23030 3593/4228/23031 +f 3593/4228/23032 3594/4230/23033 3607/4244/23034 +f 3596/4233/23035 3592/4232/23036 3587/4222/23037 +f 3587/4222/23038 3824/4476/23039 3596/4233/23040 +f 3553/4177/23041 3502/4127/23042 3499/4122/23043 +f 3499/4122/23044 3546/4178/23045 3553/4177/23046 +f 3549/4171/23047 3546/4174/23048 3499/4782/23049 +f 3499/4782/23050 4078/4769/23051 3549/4171/23052 +f 3545/4170/23053 3535/4157/23054 3532/4160/23055 +f 3532/4160/23056 3531/4156/23057 3545/4170/23058 +f 3529/4155/23059 3516/4140/23060 3517/4139/23061 +f 3529/4155/23062 3517/4139/23063 3954/4611/23064 +f 3954/4611/23065 3525/4153/23066 3529/4155/23067 +f 3529/4155/23068 3530/4154/23069 3519/4143/23070 +f 3519/4143/23071 3516/4140/23072 3529/4155/23073 +f 3450/4070/23074 3482/4109/23075 3483/4108/23076 +f 3483/4108/23077 3461/4083/23078 3450/4070/23079 +f 3450/4070/23080 3461/4083/23081 4089/4783/23082 +f 4089/4783/23083 3449/4071/23084 3450/4070/23085 +f 3449/4071/23086 4089/4783/23087 3432/4056/23088 +f 3432/4056/23089 3433/4055/23090 3449/4071/23091 +f 3433/4055/23092 3427/4048/23093 3453/4076/23094 +f 3453/4076/23095 3449/4071/23096 3433/4055/23097 +f 3433/4055/23098 3421/4043/23099 3422/4042/23100 +f 3422/4042/23101 3427/4048/23102 3433/4055/23103 +f 4089/4783/23104 3461/4083/23105 3446/4069/23106 +f 3446/4069/23107 3443/4065/23108 4089/4783/23109 +f 4089/4783/23110 3443/4065/23111 3424/4046/23112 +f 3424/4046/23113 3432/4056/23114 4089/4783/23115 +f 4090/4784/23116 3482/4109/23117 3450/4070/23118 +f 3450/4070/23119 3447/4073/23120 4090/4784/23121 +f 4090/4784/23122 4091/4787/23123 4093/4785/23124 +f 4093/4785/23125 4092/4786/23126 4090/4784/23127 +f 4090/4784/23128 4092/4786/23129 3485/4106/23130 +f 3485/4106/23131 3482/4109/23132 4090/4784/23133 +f 3451/4075/23134 4091/4787/23135 4090/4784/23136 +f 4090/4784/23137 3447/4073/23138 3451/4075/23139 +f 4094/4789/23140 4091/4787/23141 3451/4075/23142 +f 3451/4075/23143 4095/4788/23144 4094/4789/23145 +f 4095/4788/23146 3451/4075/23147 3452/4074/23148 +f 3452/4074/23149 4096/4790/23150 4095/4788/23151 +f 4096/4790/23152 3452/4074/23153 4098/4791/23154 +f 4098/4791/23155 4097/4792/23156 4096/4790/23157 +f 4100/4793/23158 4099/4794/23159 4097/4792/23160 +f 4097/4792/23161 4098/4791/23162 4100/4793/23163 +f 4099/4794/23164 4100/4793/23165 4102/4795/23166 +f 4102/4795/23167 4101/4796/23168 4099/4794/23169 +f 4101/4796/23170 4102/4795/23171 4104/4797/23172 +f 4104/4797/23173 4103/4798/23174 4101/4796/23175 +f 4103/4798/23176 4104/4797/23177 4106/4799/23178 +f 4106/4799/23179 4105/4800/23180 4103/4798/23181 +f 4107/4802/23182 4105/4800/23183 4106/4799/23184 +f 4106/4799/23185 4108/4801/23186 4107/4802/23187 +f 4106/4799/23188 4104/4797/23189 3509/4133/23190 +f 3509/4133/23191 3510/4132/23192 4106/4799/23193 +f 4106/4799/23194 3510/4132/23195 4109/4803/23196 +f 4109/4803/23197 4108/4801/23198 4106/4799/23199 +f 4109/4803/23200 3486/4112/23201 3485/4106/23202 +f 3485/4106/23203 4092/4786/23204 4109/4803/23205 +f 4109/4803/23206 4092/4786/23207 4093/4785/23208 +f 4093/4785/23209 4108/4801/23210 4109/4803/23211 +f 4109/4803/23212 3510/4132/23213 3507/4135/23214 +f 3507/4135/23215 3486/4112/23216 4109/4803/23217 +f 4108/4801/23218 4093/4785/23219 4110/4804/23220 +f 4110/4804/23221 4107/4802/23222 4108/4801/23223 +f 4104/4797/23224 4102/4795/23225 4111/4805/23226 +f 4111/4805/23227 3509/4133/23228 4104/4797/23229 +f 4111/4805/23230 4102/4795/23231 4100/4793/23232 +f 4100/4793/23233 4112/4806/23234 4111/4805/23235 +f 4111/4805/23236 4112/4806/23237 3428/4053/23238 +f 3428/4053/23239 3454/4078/23240 4111/4805/23241 +f 4111/4805/23242 3454/4078/23243 3513/4138/23244 +f 3513/4138/23245 3509/4133/23246 4111/4805/23247 +f 4113/4807/23248 4112/4806/23249 4100/4793/23250 +f 4100/4793/23251 4098/4791/23252 4113/4807/23253 +f 3428/4053/23254 4112/4806/23255 4113/4807/23256 +f 4113/4807/23257 3425/4050/23258 3428/4053/23259 +f 4113/4807/23260 4098/4791/23261 3452/4074/23262 +f 3452/4074/23263 3453/4076/23264 4113/4807/23265 +f 4113/4807/23266 3453/4076/23267 3427/4048/23268 +f 3427/4048/23269 3425/4050/23270 4113/4807/23271 +f 4094/4789/23272 4110/4804/23273 4093/4785/23274 +f 4093/4785/23275 4091/4787/23276 4094/4789/23277 +f 3511/4137/23278 3488/4110/23279 3486/4112/23280 +f 3486/4112/23281 3507/4135/23282 3511/4137/23283 +f 3499/4782/23284 3474/4095/23285 3466/4098/23286 +f 3466/4098/23287 4078/4769/23288 3499/4782/23289 +f 3481/4105/23290 3477/4100/23291 3493/4116/23292 +f 3493/4116/23293 3496/4119/23294 3481/4105/23295 +f 3464/4768/23296 3465/4808/23297 3388/4010/23298 +f 3388/4010/23299 3416/4039/23300 3464/4768/23301 +f 4114/4809/23302 3465/4087/23303 3418/4041/23304 +f 3418/4041/23305 3417/4040/23306 4114/4809/23307 +f 3387/4011/23308 3388/4010/23309 3465/4808/23310 +f 3465/4808/23311 4114/4810/23312 3387/4011/23313 +f 4114/4809/23314 3417/4040/23315 3410/4034/23316 +f 3410/4034/23317 4115/4811/23318 4114/4809/23319 +f 4114/4810/23320 4115/4811/23321 4116/4812/23322 +f 4116/4812/23323 3387/4011/23324 4114/4810/23325 +f 4116/4812/23326 4115/4811/23327 4118/4813/23328 +f 4118/4813/23329 4117/4814/23330 4116/4812/23331 +f 4116/4812/23332 4117/4814/23333 4120/4815/23334 +f 4120/4815/23335 4119/4816/23336 4116/4812/23337 +f 4116/4812/23338 4119/4816/23339 3385/4007/23340 +f 3385/4007/23341 3387/4011/23342 4116/4812/23343 +f 4120/4815/23344 3383/4006/23345 3379/4003/23346 +f 3379/4003/23347 4119/4816/23348 4120/4815/23349 +f 4118/4813/23350 4115/4811/23351 3410/4034/23352 +f 3410/4034/23353 3411/4033/23354 4118/4813/23355 +f 3400/4022/23356 3384/4008/23357 3380/4002/23358 +f 3380/4002/23359 3399/4023/23360 3400/4022/23361 +f 3394/4018/23362 3374/3996/23363 3378/4001/23364 +f 3378/4001/23365 3395/4017/23366 3394/4018/23367 +f 3395/4017/23368 3378/4001/23369 3382/4004/23370 +f 3382/4004/23371 3389/4015/23372 3395/4017/23373 +f 3480/4103/23374 3479/4104/23375 3495/4120/23376 +f 3477/4100/23377 3478/4099/23378 3492/4117/23379 +f 3492/4117/23380 3493/4116/23381 3477/4100/23382 +f 3666/4302/23383 3667/4301/23384 4046/4723/23385 +f 4046/4723/23386 3681/4318/23387 3666/4302/23388 +f 3550/4176/23389 3603/4239/23390 3977/4642/23391 +f 3977/4642/23392 3547/4173/23393 3550/4176/23394 +f 3801/4449/23395 3530/4154/23396 3531/4156/23397 +f 3531/4156/23398 4121/4817/23399 3801/4449/23400 +f 3531/4156/23401 3532/4160/23402 3536/4162/23403 +f 3536/4162/23404 4121/4817/23405 3531/4156/23406 +f 3536/4162/23407 3800/4450/23408 3801/4449/23409 +f 3801/4449/23410 4121/4817/23411 3536/4162/23412 +f 3634/4271/23413 3635/4272/23414 3653/4291/23415 +f 3653/4291/23416 3915/4572/23417 3634/4271/23418 +f 3653/4291/23419 3657/4294/23420 3618/4256/23421 +f 3618/4256/23422 3915/4572/23423 3653/4291/23424 +f 3522/4146/23425 3484/4107/23426 3506/4131/23427 +f 3506/4131/23428 3524/4148/23429 3522/4146/23430 +f 3506/4131/23431 3862/4517/23432 3524/4148/23433 +f 3494/4115/23434 3794/4444/23435 3795/4443/23436 +f 3795/4443/23437 4083/4772/23438 3494/4115/23439 +f 3503/4130/23440 3480/4103/23441 3495/4120/23442 +f 3506/4131/23443 3503/4130/23444 3504/4129/23445 +f 3504/4129/23446 3859/4510/23447 3506/4131/23448 +f 3460/4084/23449 3461/4083/23450 3483/4108/23451 +f 3483/4108/23452 3521/4147/23453 3460/4084/23454 +f 3599/4234/23455 3550/4176/23456 3551/4175/23457 +f 3554/4184/23458 3547/4183/23459 3977/4818/23460 +f 3977/4818/23461 3978/4652/23462 3554/4184/23463 +f 3383/4006/23464 4120/4815/23465 3382/4004/23466 +f 3382/4004/23467 3381/4005/23468 3383/4006/23469 +f 3411/4033/23470 3408/4030/23471 3403/4026/23472 +f 4120/4815/23473 4117/4814/23474 3389/4015/23475 +f 3389/4015/23476 3382/4004/23477 4120/4815/23478 +f 4118/4813/23479 3392/4012/23480 3389/4015/23481 +f 3389/4015/23482 4117/4814/23483 4118/4813/23484 +f 3411/4033/23485 3403/4026/23486 3392/4012/23487 +f 3392/4012/23488 4118/4813/23489 3411/4033/23490 +f 3467/4532/23491 4078/4769/23492 3466/4098/23493 +f 3472/4744/23494 3462/4086/23495 3463/4085/23496 +f 3463/4085/23497 3466/4090/23498 3472/4744/23499 +f 3385/4007/23500 4119/4816/23501 3379/4003/23502 +f 3936/4594/23503 3716/4354/23504 3713/4357/23505 +f 3713/4357/23506 3928/4584/23507 3936/4594/23508 +f 3922/4579/23509 3921/4577/23510 3933/4590/23511 +f 3933/4590/23512 3934/4592/23513 3924/4580/23514 +f 3924/4580/23515 3922/4579/23516 3933/4590/23517 +f 3934/4592/23518 3936/4594/23519 3928/4584/23520 +f 3928/4584/23521 3924/4580/23522 3934/4592/23523 +f 3928/4584/23524 3926/4582/23525 3924/4580/23526 +f 4097/4792/23527 4099/4794/23528 4101/4796/23529 +f 4107/4802/23530 4101/4796/23531 4103/4798/23532 +f 4103/4798/23533 4105/4800/23534 4107/4802/23535 +f 4101/4796/23536 4107/4802/23537 4097/4792/23538 +f 4097/4792/23539 4107/4802/23540 4110/4804/23541 +f 4110/4804/23542 4096/4790/23543 4097/4792/23544 +f 4095/4788/23545 4096/4790/23546 4110/4804/23547 +f 4110/4804/23548 4094/4789/23549 4095/4788/23550 +f 3491/4118/23551 3954/4611/23552 3517/4139/23553 +f 3517/4139/23554 3514/4142/23555 3491/4118/23556 +f 3514/4142/23557 3520/4145/23558 3491/4118/23559 +f 3543/4169/23560 3544/4168/23561 3847/4500/23562 +f 3847/4500/23563 3846/4499/23564 3543/4169/23565 +f 3543/4169/23566 3846/4499/23567 3844/4498/23568 +f 3844/4498/23569 3850/4504/23570 3543/4169/23571 +f 3850/4504/23572 3844/4498/23573 3845/4497/23574 +f 3845/4497/23575 3823/4475/23576 3850/4504/23577 +f 3822/4474/23578 3823/4475/23579 3845/4497/23580 +f 3845/4497/23581 3848/4502/23582 3822/4474/23583 +f 3848/4502/23584 4122/4819/23585 3822/4474/23586 +f 3588/4221/23587 3580/4220/23588 4122/4819/23589 +f 4122/4819/23590 3825/4479/23591 3588/4221/23592 +f 3824/4476/23593 3587/4222/23594 3588/4221/23595 +f 3588/4221/23596 3825/4479/23597 3824/4476/23598 +f 4122/4819/23599 3583/4213/23600 3822/4474/23601 +f 3848/4502/23602 3825/4479/23603 4122/4819/23604 +f 3580/4220/23605 3579/4207/23606 4122/4819/23607 +f 3579/4207/23608 3583/4213/23609 4122/4819/23610 +f 3632/4268/23611 3633/4267/23612 3610/4246/23613 +f 4288/4820/23614 4281/4821/23615 4290/4822/23616 +f 4290/4822/23617 4289/4823/23618 4288/4820/23619 +f 4344/4824/23620 4288/4820/23621 4289/4823/23622 +f 4289/4823/23623 4153/4825/23624 4344/4824/23625 +f 4153/4825/23626 4329/4826/23627 4328/4827/23628 +f 4328/4827/23629 4344/4824/23630 4153/4825/23631 +f 4293/4828/23632 4185/4829/23633 4280/4830/23634 +f 4280/4830/23635 4279/4831/23636 4293/4828/23637 +f 4166/4832/23638 4290/4822/23639 4280/4830/23640 +f 4280/4830/23641 4169/4833/23642 4166/4832/23643 +f 4146/4834/23644 4289/4823/23645 4290/4822/23646 +f 4290/4822/23647 4166/4832/23648 4146/4834/23649 +f 4154/4835/23650 4153/4825/23651 4289/4823/23652 +f 4289/4823/23653 4146/4834/23654 4154/4835/23655 +f 4155/4836/23656 4329/4826/23657 4153/4825/23658 +f 4153/4825/23659 4154/4835/23660 4155/4836/23661 +f 4280/4830/23662 4185/4829/23663 4191/4837/23664 +f 4191/4837/23665 4169/4833/23666 4280/4830/23667 +f 4186/4838/23668 4185/4829/23669 4293/4828/23670 +f 4293/4828/23671 4180/4839/23672 4186/4838/23673 +f 4192/4840/23674 4191/4837/23675 4185/4829/23676 +f 4185/4829/23677 4186/4838/23678 4192/4840/23679 +f 4200/4841/23680 4186/4838/23681 4180/4839/23682 +f 4180/4839/23683 4183/4842/23684 4200/4841/23685 +f 4193/4843/23686 4192/4840/23687 4186/4838/23688 +f 4186/4838/23689 4200/4841/23690 4193/4843/23691 +f 4330/4844/23692 4329/4826/23693 4155/4836/23694 +f 4155/4836/23695 4156/4845/23696 4330/4844/23697 +f 4331/4846/23698 4328/4827/23699 4329/4826/23700 +f 4329/4826/23701 4330/4844/23702 4331/4846/23703 +f 4181/4847/23704 4200/4841/23705 4183/4842/23706 +f 4183/4842/23707 4184/4848/23708 4181/4847/23709 +f 4182/4849/23710 4193/4843/23711 4200/4841/23712 +f 4200/4841/23713 4181/4847/23714 4182/4849/23715 +f 4149/4850/23716 4330/4844/23717 4156/4845/23718 +f 4156/4845/23719 4150/4851/23720 4149/4850/23721 +f 4327/4852/23722 4331/4846/23723 4330/4844/23724 +f 4330/4844/23725 4149/4850/23726 4327/4852/23727 +f 4136/4853/23728 4181/4847/23729 4184/4848/23730 +f 4184/4848/23731 4135/4854/23732 4136/4853/23733 +f 4137/4855/23734 4182/4849/23735 4181/4847/23736 +f 4181/4847/23737 4136/4853/23738 4137/4855/23739 +f 4141/4856/23740 4149/4850/23741 4150/4851/23742 +f 4150/4851/23743 4142/4857/23744 4141/4856/23745 +f 4139/4858/23746 4327/4852/23747 4149/4850/23748 +f 4149/4850/23749 4141/4856/23750 4139/4858/23751 +f 4133/4859/23752 4141/4856/23753 4142/4857/23754 +f 4142/4857/23755 4143/4860/23756 4133/4859/23757 +f 4134/4861/23758 4139/4858/23759 4141/4856/23760 +f 4141/4856/23761 4133/4859/23762 4134/4861/23763 +f 4136/4853/23764 4133/4859/23765 4143/4860/23766 +f 4143/4860/23767 4137/4855/23768 4136/4853/23769 +f 4135/4854/23770 4134/4861/23771 4133/4859/23772 +f 4133/4859/23773 4136/4853/23774 4135/4854/23775 +f 4279/4831/23776 4280/4830/23777 4290/4822/23778 +f 4290/4822/23779 4281/4821/23780 4279/4831/23781 +f 4288/4820/23782 4201/4862/23783 4283/4863/23784 +f 4283/4863/23785 4281/4821/23786 4288/4820/23787 +f 4332/4864/23788 4201/4862/23789 4288/4820/23790 +f 4288/4820/23791 4344/4824/23792 4332/4864/23793 +f 4333/4865/23794 4332/4864/23795 4344/4824/23796 +f 4344/4824/23797 4328/4827/23798 4333/4865/23799 +f 4315/4866/23800 4333/4865/23801 4328/4827/23802 +f 4328/4827/23803 4331/4846/23804 4315/4866/23805 +f 4331/4846/23806 4327/4852/23807 4313/4867/23808 +f 4313/4867/23809 4315/4866/23810 4331/4846/23811 +f 4327/4852/23812 4139/4858/23813 4140/4868/23814 +f 4140/4868/23815 4313/4867/23816 4327/4852/23817 +f 4139/4858/23818 4134/4861/23819 4127/4869/23820 +f 4127/4869/23821 4140/4868/23822 4139/4858/23823 +f 4172/4870/23824 4127/4869/23825 4134/4861/23826 +f 4134/4861/23827 4135/4854/23828 4172/4870/23829 +f 4173/4871/23830 4172/4870/23831 4135/4854/23832 +f 4135/4854/23833 4184/4848/23834 4173/4871/23835 +f 4184/4848/23836 4183/4842/23837 4179/4872/23838 +f 4179/4872/23839 4173/4871/23840 4184/4848/23841 +f 4183/4842/23842 4180/4839/23843 4187/4873/23844 +f 4187/4873/23845 4179/4872/23846 4183/4842/23847 +f 4293/4828/23848 4291/4874/23849 4222/4875/23850 +f 4222/4875/23851 4180/4839/23852 4293/4828/23853 +f 4293/4828/23854 4279/4831/23855 4282/4876/23856 +f 4282/4876/23857 4291/4874/23858 4293/4828/23859 +f 4282/4876/23860 4279/4831/23861 4281/4821/23862 +f 4281/4821/23863 4283/4863/23864 4282/4876/23865 +f 4283/4863/23866 4284/4877/23867 4285/4878/23868 +f 4285/4878/23869 4282/4876/23870 4283/4863/23871 +f 4187/4873/23872 4188/4879/23873 4175/4880/23874 +f 4175/4880/23875 4179/4872/23876 4187/4873/23877 +f 4126/4881/23878 4123/4882/23879 4188/4879/23880 +f 4188/4879/23881 4187/4873/23882 4126/4881/23883 +f 4282/4876/23884 4285/4878/23885 4292/4883/23886 +f 4292/4883/23887 4291/4874/23888 4282/4876/23889 +f 4223/4884/23890 4292/4883/23891 4230/4885/23892 +f 4230/4885/23893 4224/4886/23894 4223/4884/23895 +f 4292/4883/23896 4285/4878/23897 4294/4887/23898 +f 4294/4887/23899 4230/4885/23900 4292/4883/23901 +f 4294/4887/23902 4232/4888/23903 4231/4889/23904 +f 4231/4889/23905 4230/4885/23906 4294/4887/23907 +f 4231/4889/23908 4219/4890/23909 4224/4886/23910 +f 4224/4886/23911 4230/4885/23912 4231/4889/23913 +f 4177/4891/23914 4173/4871/23915 4179/4872/23916 +f 4179/4872/23917 4175/4880/23918 4177/4891/23919 +f 4128/4892/23920 4322/4893/23921 4140/4868/23922 +f 4140/4868/23923 4127/4869/23924 4128/4892/23925 +f 4128/4892/23926 4127/4869/23927 4172/4870/23928 +f 4172/4870/23929 4131/4894/23930 4128/4892/23931 +f 4131/4894/23932 4172/4870/23933 4173/4871/23934 +f 4173/4871/23935 4177/4891/23936 4131/4894/23937 +f 4333/4865/23938 4315/4866/23939 4316/4895/23940 +f 4316/4895/23941 4335/4896/23942 4333/4865/23943 +f 4316/4895/23944 4315/4866/23945 4313/4867/23946 +f 4313/4867/23947 4314/4897/23948 4316/4895/23949 +f 4313/4867/23950 4140/4868/23951 4322/4893/23952 +f 4322/4893/23953 4314/4897/23954 4313/4867/23955 +f 4333/4865/23956 4335/4896/23957 4334/4898/23958 +f 4334/4898/23959 4332/4864/23960 4333/4865/23961 +f 4218/4899/23962 4211/4900/23963 4123/4882/23964 +f 4123/4882/23965 4126/4881/23966 4218/4899/23967 +f 4219/4890/23968 4209/4901/23969 4220/4902/23970 +f 4220/4902/23971 4224/4886/23972 4219/4890/23973 +f 4218/4899/23974 4220/4902/23975 4209/4901/23976 +f 4209/4901/23977 4211/4900/23978 4218/4899/23979 +f 4209/4901/23980 4214/4903/23981 4213/4904/23982 +f 4213/4904/23983 4211/4900/23984 4209/4901/23985 +f 4213/4904/23986 4214/4903/23987 4216/4905/23988 +f 4216/4905/23989 4210/4906/23990 4213/4904/23991 +f 4212/4907/23992 4211/4900/23993 4213/4904/23994 +f 4213/4904/23995 4210/4906/23996 4212/4907/23997 +f 4124/4908/23998 4123/4882/23999 4211/4900/24000 +f 4211/4900/24001 4212/4907/24002 4124/4908/24003 +f 4223/4884/24004 4224/4886/24005 4220/4902/24006 +f 4220/4902/24007 4218/4899/24008 4223/4884/24009 +f 4218/4899/24010 4126/4881/24011 4222/4875/24012 +f 4222/4875/24013 4223/4884/24014 4218/4899/24015 +f 4125/4909/24016 4188/4879/24017 4123/4882/24018 +f 4123/4882/24019 4124/4908/24020 4125/4909/24021 +f 4174/4910/24022 4175/4880/24023 4188/4879/24024 +f 4188/4879/24025 4125/4909/24026 4174/4910/24027 +f 4178/4911/24028 4177/4891/24029 4175/4880/24030 +f 4175/4880/24031 4174/4910/24032 4178/4911/24033 +f 4177/4891/24034 4178/4911/24035 4132/4912/24036 +f 4132/4912/24037 4131/4894/24038 4177/4891/24039 +f 4132/4912/24040 4130/4913/24041 4129/4914/24042 +f 4129/4914/24043 4131/4894/24044 4132/4912/24045 +f 4131/4894/24046 4129/4914/24047 4321/4915/24048 +f 4321/4915/24049 4128/4892/24050 4131/4894/24051 +f 4320/4916/24052 4322/4893/24053 4128/4892/24054 +f 4128/4892/24055 4321/4915/24056 4320/4916/24057 +f 4312/4917/24058 4314/4897/24059 4322/4893/24060 +f 4322/4893/24061 4320/4916/24062 4312/4917/24063 +f 4312/4917/24064 4318/4918/24065 4316/4895/24066 +f 4316/4895/24067 4314/4897/24068 4312/4917/24069 +f 4339/4919/24070 4335/4896/24071 4316/4895/24072 +f 4316/4895/24073 4318/4918/24074 4339/4919/24075 +f 4202/4920/24076 4201/4862/24077 4332/4864/24078 +f 4332/4864/24079 4334/4898/24080 4202/4920/24081 +f 4284/4877/24082 4283/4863/24083 4201/4862/24084 +f 4201/4862/24085 4202/4920/24086 4284/4877/24087 +f 4335/4896/24088 4339/4919/24089 4336/4921/24090 +f 4336/4921/24091 4334/4898/24092 4335/4896/24093 +f 4206/4922/24094 4202/4920/24095 4334/4898/24096 +f 4334/4898/24097 4336/4921/24098 4206/4922/24099 +f 4296/4923/24100 4284/4877/24101 4202/4920/24102 +f 4202/4920/24103 4206/4922/24104 4296/4923/24105 +f 4285/4878/24106 4284/4877/24107 4286/4924/24108 +f 4286/4924/24109 4294/4887/24110 4285/4878/24111 +f 4284/4877/24112 4296/4923/24113 4297/4925/24114 +f 4297/4925/24115 4286/4924/24116 4284/4877/24117 +f 4287/4926/24118 4232/4888/24119 4294/4887/24120 +f 4294/4887/24121 4286/4924/24122 4287/4926/24123 +f 4219/4890/24124 4221/4927/24125 4227/4928/24126 +f 4227/4928/24127 4209/4901/24128 4219/4890/24129 +f 4232/4888/24130 4234/4929/24131 4233/4930/24132 +f 4233/4930/24133 4231/4889/24134 4232/4888/24135 +f 4219/4890/24136 4231/4889/24137 4233/4930/24138 +f 4233/4930/24139 4221/4927/24140 4219/4890/24141 +f 4214/4903/24142 4209/4901/24143 4227/4928/24144 +f 4227/4928/24145 4215/4931/24146 4214/4903/24147 +f 4216/4905/24148 4214/4903/24149 4215/4931/24150 +f 4215/4931/24151 4217/4932/24152 4216/4905/24153 +f 4287/4926/24154 4237/4933/24155 4234/4929/24156 +f 4234/4929/24157 4232/4888/24158 4287/4926/24159 +f 4237/4933/24160 4253/4934/24161 4251/4935/24162 +f 4251/4935/24163 4234/4929/24164 4237/4933/24165 +f 4253/4934/24166 4245/4936/24167 4239/4937/24168 +f 4239/4937/24169 4251/4935/24170 4253/4934/24171 +f 4247/4938/24172 4244/4939/24173 4240/4940/24174 +f 4240/4940/24175 4239/4937/24176 4247/4938/24177 +f 4217/4932/24178 4215/4931/24179 4240/4940/24180 +f 4240/4940/24181 4244/4939/24182 4217/4932/24183 +f 4221/4927/24184 4225/4941/24185 4228/4942/24186 +f 4228/4942/24187 4227/4928/24188 4221/4927/24189 +f 4234/4929/24190 4236/4943/24191 4235/4944/24192 +f 4235/4944/24193 4233/4930/24194 4234/4929/24195 +f 4225/4941/24196 4221/4927/24197 4233/4930/24198 +f 4233/4930/24199 4235/4944/24200 4225/4941/24201 +f 4215/4931/24202 4227/4928/24203 4228/4942/24204 +f 4228/4942/24205 4240/4940/24206 4215/4931/24207 +f 4240/4940/24208 4242/4945/24209 4241/4946/24210 +f 4241/4946/24211 4239/4937/24212 4240/4940/24213 +f 4251/4935/24214 4239/4937/24215 4241/4946/24216 +f 4241/4946/24217 4252/4947/24218 4251/4935/24219 +f 4228/4942/24220 4243/4948/24221 4242/4945/24222 +f 4242/4945/24223 4240/4940/24224 4228/4942/24225 +f 4228/4942/24226 4225/4941/24227 4226/4949/24228 +f 4226/4949/24229 4243/4948/24230 4228/4942/24231 +f 4236/4943/24232 4234/4929/24233 4251/4935/24234 +f 4251/4935/24235 4252/4947/24236 4236/4943/24237 +f 4235/4944/24238 4236/4943/24239 4226/4949/24240 +f 4226/4949/24241 4225/4941/24242 4235/4944/24243 +f 4226/4949/24244 4236/4943/24245 4252/4947/24246 +f 4252/4947/24247 4243/4948/24248 4226/4949/24249 +f 4242/4945/24250 4243/4948/24251 4252/4947/24252 +f 4252/4947/24253 4241/4946/24254 4242/4945/24255 +f 4296/4923/24256 4203/4950/24257 4298/4951/24258 +f 4298/4951/24259 4297/4925/24260 4296/4923/24261 +f 4310/4952/24262 4298/4951/24263 4203/4950/24264 +f 4203/4950/24265 4205/4953/24266 4310/4952/24267 +f 4205/4953/24268 4204/4954/24269 4308/4955/24270 +f 4308/4955/24271 4310/4952/24272 4205/4953/24273 +f 4551/4956/24274 4261/4957/24275 4308/4955/24276 +f 4308/4955/24277 4204/4954/24278 4551/4956/24279 +f 4551/4956/24280 4549/4958/24281 4259/4959/24282 +f 4259/4959/24283 4261/4957/24284 4551/4956/24285 +f 4268/4960/24286 4259/4959/24287 4549/4958/24288 +f 4549/4958/24289 4553/4961/24290 4268/4960/24291 +f 4268/4960/24292 4553/4961/24293 4554/4962/24294 +f 4554/4962/24295 4269/4963/24296 4268/4960/24297 +f 4286/4924/24298 4297/4925/24299 4299/4964/24300 +f 4299/4964/24301 4287/4926/24302 4286/4924/24303 +f 4297/4925/24304 4298/4951/24305 4295/4965/24306 +f 4295/4965/24307 4299/4964/24308 4297/4925/24309 +f 4298/4951/24310 4310/4952/24311 4309/4966/24312 +f 4309/4966/24313 4295/4965/24314 4298/4951/24315 +f 4310/4952/24316 4308/4955/24317 4311/4967/24318 +f 4311/4967/24319 4309/4966/24320 4310/4952/24321 +f 4308/4955/24322 4261/4957/24323 4260/4968/24324 +f 4260/4968/24325 4311/4967/24326 4308/4955/24327 +f 4261/4957/24328 4259/4959/24329 4258/4969/24330 +f 4258/4969/24331 4260/4968/24332 4261/4957/24333 +f 4259/4959/24334 4268/4960/24335 4267/4970/24336 +f 4267/4970/24337 4258/4969/24338 4259/4959/24339 +f 4272/4971/24340 4271/4972/24341 4269/4963/24342 +f 4269/4963/24343 4270/4973/24344 4272/4971/24345 +f 4260/4968/24346 4256/4974/24347 4300/4975/24348 +f 4300/4975/24349 4311/4967/24350 4260/4968/24351 +f 4260/4968/24352 4258/4969/24353 4276/4976/24354 +f 4276/4976/24355 4256/4974/24356 4260/4968/24357 +f 4258/4969/24358 4267/4970/24359 4262/4977/24360 +f 4262/4977/24361 4276/4976/24362 4258/4969/24363 +f 4301/4978/24364 4309/4966/24365 4311/4967/24366 +f 4311/4967/24367 4300/4975/24368 4301/4978/24369 +f 4295/4965/24370 4309/4966/24371 4301/4978/24372 +f 4301/4978/24373 4302/4979/24374 4295/4965/24375 +f 4302/4979/24376 4306/4980/24377 4299/4964/24378 +f 4299/4964/24379 4295/4965/24380 4302/4979/24381 +f 4254/4981/24382 4287/4926/24383 4299/4964/24384 +f 4299/4964/24385 4306/4980/24386 4254/4981/24387 +f 4238/4982/24388 4237/4933/24389 4287/4926/24390 +f 4287/4926/24391 4254/4981/24392 4238/4982/24393 +f 4238/4982/24394 4229/4983/24395 4253/4934/24396 +f 4253/4934/24397 4237/4933/24398 4238/4982/24399 +f 4246/4984/24400 4245/4936/24401 4253/4934/24402 +f 4253/4934/24403 4229/4983/24404 4246/4984/24405 +f 4249/4985/24406 4248/4986/24407 4245/4936/24408 +f 4245/4936/24409 4246/4984/24410 4249/4985/24411 +f 4274/4987/24412 4262/4977/24413 4265/4988/24414 +f 4265/4988/24415 4263/4989/24416 4274/4987/24417 +f 4273/4990/24418 4276/4976/24419 4262/4977/24420 +f 4262/4977/24421 4274/4987/24422 4273/4990/24423 +f 4257/4991/24424 4256/4974/24425 4276/4976/24426 +f 4276/4976/24427 4273/4990/24428 4257/4991/24429 +f 4257/4991/24430 4303/4992/24431 4300/4975/24432 +f 4300/4975/24433 4256/4974/24434 4257/4991/24435 +f 4301/4978/24436 4300/4975/24437 4303/4992/24438 +f 4303/4992/24439 4304/4993/24440 4301/4978/24441 +f 4302/4979/24442 4301/4978/24443 4304/4993/24444 +f 4304/4993/24445 4305/4994/24446 4302/4979/24447 +f 4306/4980/24448 4302/4979/24449 4305/4994/24450 +f 4305/4994/24451 4307/4995/24452 4306/4980/24453 +f 4255/4996/24454 4254/4981/24455 4306/4980/24456 +f 4306/4980/24457 4307/4995/24458 4255/4996/24459 +f 4277/4997/24460 4238/4982/24461 4254/4981/24462 +f 4254/4981/24463 4255/4996/24464 4277/4997/24465 +f 4275/4998/24466 4229/4983/24467 4238/4982/24468 +f 4238/4982/24469 4277/4997/24470 4275/4998/24471 +f 4278/4999/24472 4246/4984/24473 4229/4983/24474 +f 4229/4983/24475 4275/4998/24476 4278/4999/24477 +f 4249/4985/24478 4246/4984/24479 4278/4999/24480 +f 4278/4999/24481 4250/5000/24482 4249/4985/24483 +f 4305/4994/24484 4304/4993/24485 4303/4992/24486 +f 4303/4992/24487 4307/4995/24488 4305/4994/24489 +f 4257/4991/24490 4255/4996/24491 4307/4995/24492 +f 4307/4995/24493 4303/4992/24494 4257/4991/24495 +f 4273/4990/24496 4277/4997/24497 4255/4996/24498 +f 4255/4996/24499 4257/4991/24500 4273/4990/24501 +f 4274/4987/24502 4275/4998/24503 4277/4997/24504 +f 4277/4997/24505 4273/4990/24506 4274/4987/24507 +f 4270/4973/24508 4269/4963/24509 4554/4962/24510 +f 4554/4962/24511 4555/5001/24512 4270/4973/24513 +f 4269/4963/24514 4271/4972/24515 4267/4970/24516 +f 4267/4970/24517 4268/4960/24518 4269/4963/24519 +f 4271/4972/24520 4265/4988/24521 4262/4977/24522 +f 4262/4977/24523 4267/4970/24524 4271/4972/24525 +f 4263/4989/24526 4265/4988/24527 4266/5002/24528 +f 4266/5002/24529 4264/5003/24530 4263/4989/24531 +f 4275/4998/24532 4274/4987/24533 4263/4989/24534 +f 4263/4989/24535 4278/4999/24536 4275/4998/24537 +f 4263/4989/24538 4264/5003/24539 4250/5000/24540 +f 4250/5000/24541 4278/4999/24542 4263/4989/24543 +f 4296/4923/24544 4206/4922/24545 4208/5004/24546 +f 4208/5004/24547 4203/4950/24548 4296/4923/24549 +f 4206/4922/24550 4336/4921/24551 4337/5005/24552 +f 4337/5005/24553 4208/5004/24554 4206/4922/24555 +f 4336/4921/24556 4339/4919/24557 4340/5006/24558 +f 4340/5006/24559 4337/5005/24560 4336/4921/24561 +f 4207/5007/24562 4205/4953/24563 4203/4950/24564 +f 4203/4950/24565 4208/5004/24566 4207/5007/24567 +f 4547/5008/24568 4204/4954/24569 4205/4953/24570 +f 4205/4953/24571 4207/5007/24572 4547/5008/24573 +f 4545/5009/24574 4551/4956/24575 4204/4954/24576 +f 4204/4954/24577 4547/5008/24578 4545/5009/24579 +f 4552/5010/24580 4549/4958/24581 4551/4956/24582 +f 4551/4956/24583 4545/5009/24584 4552/5010/24585 +f 4550/5011/24586 4553/4961/24587 4549/4958/24588 +f 4549/4958/24589 4552/5010/24590 4550/5011/24591 +f 4556/5012/24592 4554/4962/24593 4553/4961/24594 +f 4553/4961/24595 4550/5011/24596 4556/5012/24597 +f 4556/5012/24598 4557/5013/24599 4555/5001/24600 +f 4555/5001/24601 4554/4962/24602 4556/5012/24603 +f 4338/5014/24604 4207/5007/24605 4208/5004/24606 +f 4208/5004/24607 4337/5005/24608 4338/5014/24609 +f 4547/5008/24610 4207/5007/24611 4338/5014/24612 +f 4338/5014/24613 4569/5015/24614 4547/5008/24615 +f 4548/5016/24616 4545/5009/24617 4547/5008/24618 +f 4547/5008/24619 4569/5015/24620 4548/5016/24621 +f 4545/5009/24622 4548/5016/24623 4546/5017/24624 +f 4546/5017/24625 4552/5010/24626 4545/5009/24627 +f 4558/5018/24628 4550/5011/24629 4552/5010/24630 +f 4552/5010/24631 4546/5017/24632 4558/5018/24633 +f 4559/5019/24634 4556/5012/24635 4550/5011/24636 +f 4550/5011/24637 4558/5018/24638 4559/5019/24639 +f 4556/5012/24640 4559/5019/24641 4560/5020/24642 +f 4560/5020/24643 4557/5013/24644 4556/5012/24645 +f 4337/5005/24646 4342/5021/24647 4574/5022/24648 +f 4574/5022/24649 4338/5014/24650 4337/5005/24651 +f 4570/5023/24652 4569/5015/24653 4338/5014/24654 +f 4338/5014/24655 4574/5022/24656 4570/5023/24657 +f 4571/5024/24658 4548/5016/24659 4569/5015/24660 +f 4569/5015/24661 4570/5023/24662 4571/5024/24663 +f 4561/5025/24664 4546/5017/24665 4548/5016/24666 +f 4548/5016/24667 4571/5024/24668 4561/5025/24669 +f 4563/5026/24670 4558/5018/24671 4546/5017/24672 +f 4546/5017/24673 4561/5025/24674 4563/5026/24675 +f 4565/5027/24676 4559/5019/24677 4558/5018/24678 +f 4558/5018/24679 4563/5026/24680 4565/5027/24681 +f 4565/5027/24682 4564/5028/24683 4560/5020/24684 +f 4560/5020/24685 4559/5019/24686 4565/5027/24687 +f 4337/5005/24688 4340/5006/24689 4341/5029/24690 +f 4341/5029/24691 4342/5021/24692 4337/5005/24693 +f 4339/4919/24694 4318/4918/24695 4319/5030/24696 +f 4319/5030/24697 4340/5006/24698 4339/4919/24699 +f 4318/4918/24700 4312/4917/24701 4317/5031/24702 +f 4317/5031/24703 4319/5030/24704 4318/4918/24705 +f 4312/4917/24706 4320/4916/24707 4323/5032/24708 +f 4323/5032/24709 4317/5031/24710 4312/4917/24711 +f 4320/4916/24712 4321/4915/24713 4324/5033/24714 +f 4324/5033/24715 4323/5032/24716 4320/4916/24717 +f 4325/5034/24718 4324/5033/24719 4321/4915/24720 +f 4321/4915/24721 4129/4914/24722 4325/5034/24723 +f 4129/4914/24724 4130/4913/24725 4326/5035/24726 +f 4326/5035/24727 4325/5034/24728 4129/4914/24729 +f 4563/5026/24730 4566/5036/24731 4567/5037/24732 +f 4567/5037/24733 4565/5027/24734 4563/5026/24735 +f 4563/5026/24736 4561/5025/24737 4562/5038/24738 +f 4562/5038/24739 4566/5036/24740 4563/5026/24741 +f 4571/5024/24742 4572/5039/24743 4562/5038/24744 +f 4562/5038/24745 4561/5025/24746 4571/5024/24747 +f 4579/5040/24748 4572/5039/24749 4571/5024/24750 +f 4571/5024/24751 4570/5023/24752 4579/5040/24753 +f 4579/5040/24754 4570/5023/24755 4574/5022/24756 +f 4574/5022/24757 4575/5041/24758 4579/5040/24759 +f 4574/5022/24760 4342/5021/24761 4343/5042/24762 +f 4343/5042/24763 4575/5041/24764 4574/5022/24765 +f 4342/5021/24766 4341/5029/24767 4679/5043/24768 +f 4679/5043/24769 4343/5042/24770 4342/5021/24771 +f 4679/5043/24772 4680/5044/24773 4682/5045/24774 +f 4682/5045/24775 4343/5042/24776 4679/5043/24777 +f 4682/5045/24778 4576/5046/24779 4575/5041/24780 +f 4575/5041/24781 4343/5042/24782 4682/5045/24783 +f 4575/5041/24784 4576/5046/24785 4581/5047/24786 +f 4581/5047/24787 4579/5040/24788 4575/5041/24789 +f 4579/5040/24790 4581/5047/24791 4573/5048/24792 +f 4573/5048/24793 4572/5039/24794 4579/5040/24795 +f 4562/5038/24796 4572/5039/24797 4573/5048/24798 +f 4573/5048/24799 4597/5049/24800 4562/5038/24801 +f 4598/5050/24802 4566/5036/24803 4562/5038/24804 +f 4562/5038/24805 4597/5049/24806 4598/5050/24807 +f 4604/5051/24808 4567/5037/24809 4566/5036/24810 +f 4566/5036/24811 4598/5050/24812 4604/5051/24813 +f 4605/5052/24814 4568/5053/24815 4567/5037/24816 +f 4567/5037/24817 4604/5051/24818 4605/5052/24819 +f 4681/5270/24820 4684/5273/24821 4682/5274/24822 +f 4682/5274/24823 4680/5275/24824 4681/5270/24825 +f 4582/5277/24826 4581/5278/24827 4576/5279/24828 +f 4576/5279/24829 4577/5280/24830 4582/5277/24831 +f 4583/5281/24832 4573/5282/24833 4581/5278/24834 +f 4581/5278/24835 4582/5277/24836 4583/5281/24837 +f 4573/5282/24838 4583/5281/24839 4599/5283/24840 +f 4599/5283/24841 4597/5284/24842 4573/5282/24843 +f 4601/5285/24844 4598/5286/24845 4597/5284/24846 +f 4597/5284/24847 4599/5283/24848 4601/5285/24849 +f 4607/5287/24850 4604/5288/24851 4598/5286/24852 +f 4598/5286/24853 4601/5285/24854 4607/5287/24855 +f 4606/5289/24856 4605/5290/24857 4604/5288/24858 +f 4604/5288/24859 4607/5287/24860 4606/5289/24861 +f 4607/5287/24862 4614/5291/24863 4615/5292/24864 +f 4615/5292/24865 4606/5289/24866 4607/5287/24867 +f 4607/5287/24868 4601/5285/24869 4603/5293/24870 +f 4603/5293/24871 4614/5291/24872 4607/5287/24873 +f 4601/5285/24874 4599/5283/24875 4600/5294/24876 +f 4600/5294/24877 4603/5293/24878 4601/5285/24879 +f 4584/5295/24880 4600/5294/24881 4599/5283/24882 +f 4599/5283/24883 4583/5281/24884 4584/5295/24885 +f 4582/5277/24886 4580/5296/24887 4584/5295/24888 +f 4584/5295/24889 4583/5281/24890 4582/5277/24891 +f 4578/5297/24892 4580/5296/24893 4582/5277/24894 +f 4582/5277/24895 4577/5280/24896 4578/5297/24897 +f 4577/5280/24898 4576/5279/24899 4683/5298/24900 +f 4683/5298/24901 4578/5297/24902 4577/5280/24903 +f 4682/5274/24904 4684/5273/24905 4683/5298/24906 +f 4683/5298/24907 4576/5279/24908 4682/5274/24909 +f 4678/5299/24910 4688/5300/24911 4686/5301/24912 +f 4686/5301/24913 4681/5270/24914 4678/5299/24915 +f 4711/5302/24916 4683/5298/24917 4684/5273/24918 +f 4684/5273/24919 4685/5303/24920 4711/5302/24921 +f 4712/5304/24922 4578/5297/24923 4683/5298/24924 +f 4683/5298/24925 4711/5302/24926 4712/5304/24927 +f 4586/5305/24928 4580/5296/24929 4578/5297/24930 +f 4578/5297/24931 4712/5304/24932 4586/5305/24933 +f 4585/5306/24934 4584/5295/24935 4580/5296/24936 +f 4580/5296/24937 4586/5305/24938 4585/5306/24939 +f 4590/5307/24940 4600/5294/24941 4584/5295/24942 +f 4584/5295/24943 4585/5306/24944 4590/5307/24945 +f 4602/5308/24946 4603/5293/24947 4600/5294/24948 +f 4600/5294/24949 4590/5307/24950 4602/5308/24951 +f 4609/5309/24952 4614/5291/24953 4603/5293/24954 +f 4603/5293/24955 4602/5308/24956 4609/5309/24957 +f 4612/5310/24958 4613/5311/24959 4615/5292/24960 +f 4615/5292/24961 4614/5291/24962 4612/5310/24963 +f 4611/5312/24964 4612/5310/24965 4614/5291/24966 +f 4614/5291/24967 4609/5309/24968 4611/5312/24969 +f 4610/5332/24970 4611/5312/24971 4609/5309/24972 +f 4609/5309/24973 4608/5333/24974 4610/5332/24975 +f 4592/5334/24976 4608/5333/24977 4609/5309/24978 +f 4609/5309/24979 4602/5308/24980 4592/5334/24981 +f 4591/5341/24982 4592/5334/24983 4602/5308/24984 +f 4602/5308/24985 4590/5307/24986 4591/5341/24987 +f 4593/5342/24988 4591/5341/24989 4590/5307/24990 +f 4590/5307/24991 4585/5306/24992 4593/5342/24993 +f 4716/5343/24994 4593/5342/24995 4585/5306/24996 +f 4585/5306/24997 4586/5305/24998 4716/5343/24999 +f 4586/5305/25000 4712/5304/25001 4713/5344/25002 +f 4713/5344/25003 4716/5343/25004 4586/5305/25005 +f 4714/5345/25006 4713/5344/25007 4712/5304/25008 +f 4712/5304/25009 4711/5302/25010 4714/5345/25011 +f 4711/5302/25012 4685/5303/25013 4687/5347/25014 +f 4687/5347/25015 4714/5345/25016 4711/5302/25017 +f 4681/5270/25018 4686/5301/25019 4685/5303/25020 +f 4685/5303/25021 4684/5273/25022 4681/5270/25023 +f 4685/5303/25024 4686/5301/25025 4688/5300/25026 +f 4688/5300/25027 4687/5347/25028 4685/5303/25029 +f 4678/5299/25030 4689/5348/25031 4692/5349/25032 +f 4692/5349/25033 4688/5300/25034 4678/5299/25035 +f 4689/5348/25036 4690/5350/25037 4693/5351/25038 +f 4693/5351/25039 4692/5349/25040 4689/5348/25041 +f 4588/5352/25042 4610/5332/25043 4608/5333/25044 +f 4608/5333/25045 4587/5353/25046 4588/5352/25047 +f 4592/5334/25048 4596/5354/25049 4587/5353/25050 +f 4587/5353/25051 4608/5333/25052 4592/5334/25053 +f 4592/5334/25054 4591/5341/25055 4594/5355/25056 +f 4594/5355/25057 4596/5354/25058 4592/5334/25059 +f 4593/5342/25060 4724/5356/25061 4594/5355/25062 +f 4594/5355/25063 4591/5341/25064 4593/5342/25065 +f 4593/5342/25066 4716/5343/25067 4715/5357/25068 +f 4715/5357/25069 4724/5356/25070 4593/5342/25071 +f 4716/5343/25072 4713/5344/25073 4719/5358/25074 +f 4719/5358/25075 4715/5357/25076 4716/5343/25077 +f 4713/5344/25078 4714/5345/25079 4717/5359/25080 +f 4717/5359/25081 4719/5358/25082 4713/5344/25083 +f 4714/5345/25084 4687/5347/25085 4718/5360/25086 +f 4718/5360/25087 4717/5359/25088 4714/5345/25089 +f 4687/5347/25090 4688/5300/25091 4691/5361/25092 +f 4691/5361/25093 4718/5360/25094 4687/5347/25095 +f 4688/5300/25096 4692/5349/25097 4694/5362/25098 +f 4694/5362/25099 4691/5361/25100 4688/5300/25101 +f 4695/5363/25102 4694/5362/25103 4692/5349/25104 +f 4692/5349/25105 4693/5351/25106 4695/5363/25107 +f 4596/5354/25108 4595/5364/25109 4588/5352/25110 +f 4588/5352/25111 4587/5353/25112 4596/5354/25113 +f 4596/5354/25114 4594/5355/25115 4589/5365/25116 +f 4589/5365/25117 4595/5364/25118 4596/5354/25119 +f 4594/5355/25120 4724/5356/25121 4722/5366/25122 +f 4722/5366/25123 4589/5365/25124 4594/5355/25125 +f 4724/5356/25126 4715/5357/25127 4723/5367/25128 +f 4723/5367/25129 4722/5366/25130 4724/5356/25131 +f 4721/5368/25132 4723/5367/25133 4715/5357/25134 +f 4715/5357/25135 4719/5358/25136 4721/5368/25137 +f 4717/5359/25138 4720/5369/25139 4721/5368/25140 +f 4721/5368/25141 4719/5358/25142 4717/5359/25143 +f 4717/5359/25144 4718/5360/25145 4725/5370/25146 +f 4725/5370/25147 4720/5369/25148 4717/5359/25149 +f 4726/5371/25150 4725/5370/25151 4718/5360/25152 +f 4718/5360/25153 4691/5361/25154 4726/5371/25155 +f 4691/5361/25156 4694/5362/25157 4727/5372/25158 +f 4727/5372/25159 4726/5371/25160 4691/5361/25161 +f 4694/5362/25162 4695/5363/25163 4728/5373/25164 +f 4728/5373/25165 4727/5372/25166 4694/5362/25167 +f 4143/4860/25168 4163/5054/25169 4138/5055/25170 +f 4138/5055/25171 4137/4855/25172 4143/4860/25173 +f 4189/5056/25174 4182/4849/25175 4137/4855/25176 +f 4137/4855/25177 4138/5055/25178 4189/5056/25179 +f 4193/4843/25180 4182/4849/25181 4189/5056/25182 +f 4189/5056/25183 4194/5057/25184 4193/4843/25185 +f 4192/4840/25186 4193/4843/25187 4194/5057/25188 +f 4194/5057/25189 4195/5058/25190 4192/4840/25191 +f 4191/4837/25192 4192/4840/25193 4195/5058/25194 +f 4195/5058/25195 4196/5059/25196 4191/4837/25197 +f 4169/4833/25198 4191/4837/25199 4196/5059/25200 +f 4196/5059/25201 4170/5060/25202 4169/4833/25203 +f 4166/4832/25204 4169/4833/25205 4170/5060/25206 +f 4170/5060/25207 4167/5061/25208 4166/4832/25209 +f 4147/5062/25210 4146/4834/25211 4166/4832/25212 +f 4166/4832/25213 4167/5061/25214 4147/5062/25215 +f 4154/4835/25216 4146/4834/25217 4147/5062/25218 +f 4147/5062/25219 4157/5063/25220 4154/4835/25221 +f 4155/4836/25222 4154/4835/25223 4157/5063/25224 +f 4157/5063/25225 4158/5064/25226 4155/4836/25227 +f 4156/4845/25228 4155/4836/25229 4158/5064/25230 +f 4158/5064/25231 4159/5065/25232 4156/4845/25233 +f 4150/4851/25234 4156/4845/25235 4159/5065/25236 +f 4159/5065/25237 4151/5066/25238 4150/4851/25239 +f 4142/4857/25240 4150/4851/25241 4151/5066/25242 +f 4151/5066/25243 4144/5067/25244 4142/4857/25245 +f 4142/4857/25246 4144/5067/25247 4163/5054/25248 +f 4163/5054/25249 4143/4860/25250 4142/4857/25251 +f 4163/5054/25252 4164/5068/25253 4165/5069/25254 +f 4165/5069/25255 4138/5055/25256 4163/5054/25257 +f 4189/5056/25258 4138/5055/25259 4165/5069/25260 +f 4165/5069/25261 4190/5070/25262 4189/5056/25263 +f 4194/5057/25264 4189/5056/25265 4190/5070/25266 +f 4190/5070/25267 4197/5071/25268 4194/5057/25269 +f 4195/5058/25270 4194/5057/25271 4197/5071/25272 +f 4197/5071/25273 4198/5072/25274 4195/5058/25275 +f 4196/5059/25276 4195/5058/25277 4198/5072/25278 +f 4198/5072/25279 4199/5073/25280 4196/5059/25281 +f 4170/5060/25282 4196/5059/25283 4199/5073/25284 +f 4199/5073/25285 4171/5074/25286 4170/5060/25287 +f 4168/5075/25288 4167/5061/25289 4170/5060/25290 +f 4170/5060/25291 4171/5074/25292 4168/5075/25293 +f 4147/5062/25294 4167/5061/25295 4168/5075/25296 +f 4168/5075/25297 4148/5076/25298 4147/5062/25299 +f 4157/5063/25300 4147/5062/25301 4148/5076/25302 +f 4148/5076/25303 4160/5077/25304 4157/5063/25305 +f 4158/5064/25306 4157/5063/25307 4160/5077/25308 +f 4160/5077/25309 4161/5078/25310 4158/5064/25311 +f 4159/5065/25312 4158/5064/25313 4161/5078/25314 +f 4161/5078/25315 4162/5079/25316 4159/5065/25317 +f 4151/5066/25318 4159/5065/25319 4162/5079/25320 +f 4162/5079/25321 4152/5080/25322 4151/5066/25323 +f 4145/5081/25324 4144/5067/25325 4151/5066/25326 +f 4151/5066/25327 4152/5080/25328 4145/5081/25329 +f 4164/5068/25330 4163/5054/25331 4144/5067/25332 +f 4144/5067/25333 4145/5081/25334 4164/5068/25335 +f 4222/4875/25336 4291/4874/25337 4292/4883/25338 +f 4292/4883/25339 4223/4884/25340 4222/4875/25341 +f 4180/4839/25342 4222/4875/25343 4126/4881/25344 +f 4126/4881/25345 4187/4873/25346 4180/4839/25347 +f 4245/4936/25348 4248/4986/25349 4247/4938/25350 +f 4247/4938/25351 4239/4937/25352 4245/4936/25353 +f 4272/4971/25354 4266/5002/25355 4265/4988/25356 +f 4265/4988/25357 4271/4972/25358 4272/4971/25359 +f 4568/5053/25360 4564/5028/25361 4565/5027/25362 +f 4565/5027/25363 4567/5037/25364 4568/5053/25365 +f 4487/5082/25366 4486/5083/25367 4485/5084/25368 +f 4485/5084/25369 4482/5085/25370 4487/5082/25371 +f 4532/5086/25372 4411/5087/25373 4486/5083/25374 +f 4486/5083/25375 4487/5082/25376 4532/5086/25377 +f 4411/5087/25378 4532/5086/25379 4522/5088/25380 +f 4522/5088/25381 4523/5089/25382 4411/5087/25383 +f 4474/5090/25384 4475/5091/25385 4476/5092/25386 +f 4476/5092/25387 4367/5093/25388 4474/5090/25389 +f 4394/5094/25390 4381/5095/25391 4476/5092/25392 +f 4476/5092/25393 4485/5084/25394 4394/5094/25395 +f 4397/5096/25396 4394/5094/25397 4485/5084/25398 +f 4485/5084/25399 4486/5083/25400 4397/5096/25401 +f 4412/5097/25402 4397/5096/25403 4486/5083/25404 +f 4486/5083/25405 4411/5087/25406 4412/5097/25407 +f 4413/5098/25408 4412/5097/25409 4411/5087/25410 +f 4411/5087/25411 4523/5089/25412 4413/5098/25413 +f 4476/5092/25414 4381/5095/25415 4372/5099/25416 +f 4372/5099/25417 4367/5093/25418 4476/5092/25419 +f 4361/5100/25420 4358/5101/25421 4474/5090/25422 +f 4474/5090/25423 4367/5093/25424 4361/5100/25425 +f 4373/5102/25426 4361/5100/25427 4367/5093/25428 +f 4367/5093/25429 4372/5099/25430 4373/5102/25431 +f 4368/5103/25432 4359/5104/25433 4358/5101/25434 +f 4358/5101/25435 4361/5100/25436 4368/5103/25437 +f 4374/5105/25438 4368/5103/25439 4361/5100/25440 +f 4361/5100/25441 4373/5102/25442 4374/5105/25443 +f 4524/5106/25444 4414/5107/25445 4413/5098/25446 +f 4413/5098/25447 4523/5089/25448 4524/5106/25449 +f 4525/5108/25450 4524/5106/25451 4523/5089/25452 +f 4523/5089/25453 4522/5088/25454 4525/5108/25455 +f 4362/5109/25456 4360/5110/25457 4359/5104/25458 +f 4359/5104/25459 4368/5103/25460 4362/5109/25461 +f 4363/5111/25462 4362/5109/25463 4368/5103/25464 +f 4368/5103/25465 4374/5105/25466 4363/5111/25467 +f 4409/5112/25468 4410/5113/25469 4414/5107/25470 +f 4414/5107/25471 4524/5106/25472 4409/5112/25473 +f 4521/5114/25474 4409/5112/25475 4524/5106/25476 +f 4524/5106/25477 4525/5108/25478 4521/5114/25479 +f 4364/5115/25480 4355/5116/25481 4360/5110/25482 +f 4360/5110/25483 4362/5109/25484 4364/5115/25485 +f 4365/5117/25486 4364/5115/25487 4362/5109/25488 +f 4362/5109/25489 4363/5111/25490 4365/5117/25491 +f 4408/5118/25492 4390/5119/25493 4410/5113/25494 +f 4410/5113/25495 4409/5112/25496 4408/5118/25497 +f 4386/5120/25498 4408/5118/25499 4409/5112/25500 +f 4409/5112/25501 4521/5114/25502 4386/5120/25503 +f 4384/5121/25504 4391/5122/25505 4390/5119/25506 +f 4390/5119/25507 4408/5118/25508 4384/5121/25509 +f 4385/5123/25510 4384/5121/25511 4408/5118/25512 +f 4408/5118/25513 4386/5120/25514 4385/5123/25515 +f 4364/5115/25516 4365/5117/25517 4391/5122/25518 +f 4391/5122/25519 4384/5121/25520 4364/5115/25521 +f 4355/5116/25522 4364/5115/25523 4384/5121/25524 +f 4384/5121/25525 4385/5123/25526 4355/5116/25527 +f 4475/5091/25528 4482/5085/25529 4485/5084/25530 +f 4485/5084/25531 4476/5092/25532 4475/5091/25533 +f 4487/5082/25534 4482/5085/25535 4483/5124/25536 +f 4483/5124/25537 4488/5125/25538 4487/5082/25539 +f 4533/5126/25540 4532/5086/25541 4487/5082/25542 +f 4487/5082/25543 4488/5125/25544 4533/5126/25545 +f 4534/5127/25546 4522/5088/25547 4532/5086/25548 +f 4532/5086/25549 4533/5126/25550 4534/5127/25551 +f 4527/5128/25552 4525/5108/25553 4522/5088/25554 +f 4522/5088/25555 4534/5127/25556 4527/5128/25557 +f 4525/5108/25558 4527/5128/25559 4520/5129/25560 +f 4520/5129/25561 4521/5114/25562 4525/5108/25563 +f 4521/5114/25564 4520/5129/25565 4387/5130/25566 +f 4387/5130/25567 4386/5120/25568 4521/5114/25569 +f 4386/5120/25570 4387/5130/25571 4349/5131/25572 +f 4349/5131/25573 4385/5123/25574 4386/5120/25575 +f 4354/5132/25576 4355/5116/25577 4385/5123/25578 +f 4385/5123/25579 4349/5131/25580 4354/5132/25581 +f 4353/5133/25582 4360/5110/25583 4355/5116/25584 +f 4355/5116/25585 4354/5132/25586 4353/5133/25587 +f 4360/5110/25588 4353/5133/25589 4352/5134/25590 +f 4352/5134/25591 4359/5104/25592 4360/5110/25593 +f 4359/5104/25594 4352/5134/25595 4356/5135/25596 +f 4356/5135/25597 4358/5101/25598 4359/5104/25599 +f 4474/5090/25600 4358/5101/25601 4423/5136/25602 +f 4423/5136/25603 4472/5137/25604 4474/5090/25605 +f 4474/5090/25606 4472/5137/25607 4477/5138/25608 +f 4477/5138/25609 4475/5091/25610 4474/5090/25611 +f 4477/5138/25612 4483/5124/25613 4482/5085/25614 +f 4482/5085/25615 4475/5091/25616 4477/5138/25617 +f 4483/5124/25618 4477/5138/25619 4479/5139/25620 +f 4479/5139/25621 4484/5140/25622 4483/5124/25623 +f 4356/5135/25624 4352/5134/25625 4176/5141/25626 +f 4176/5141/25627 4357/5142/25628 4356/5135/25629 +f 4346/5143/25630 4356/5135/25631 4357/5142/25632 +f 4357/5142/25633 4345/5144/25634 4346/5143/25635 +f 4477/5138/25636 4472/5137/25637 4473/5145/25638 +f 4473/5145/25639 4479/5139/25640 4477/5138/25641 +f 4427/5146/25642 4428/5147/25643 4445/5148/25644 +f 4445/5148/25645 4473/5145/25646 4427/5146/25647 +f 4473/5145/25648 4445/5148/25649 4478/5149/25650 +f 4478/5149/25651 4479/5139/25652 4473/5145/25653 +f 4478/5149/25654 4445/5148/25655 4446/5150/25656 +f 4446/5150/25657 4447/5151/25658 4478/5149/25659 +f 4446/5150/25660 4445/5148/25661 4428/5147/25662 +f 4428/5147/25663 4426/5152/25664 4446/5150/25665 +f 4351/5153/25666 4176/5141/25667 4352/5134/25668 +f 4352/5134/25669 4353/5133/25670 4351/5153/25671 +f 4350/5154/25672 4349/5131/25673 4387/5130/25674 +f 4387/5130/25675 4517/5155/25676 4350/5154/25677 +f 4350/5154/25678 4348/5156/25679 4354/5132/25680 +f 4354/5132/25681 4349/5131/25682 4350/5154/25683 +f 4348/5156/25684 4351/5153/25685 4353/5133/25686 +f 4353/5133/25687 4354/5132/25688 4348/5156/25689 +f 4534/5127/25690 4535/5157/25691 4528/5158/25692 +f 4528/5158/25693 4527/5128/25694 4534/5127/25695 +f 4528/5158/25696 4526/5159/25697 4520/5129/25698 +f 4520/5129/25699 4527/5128/25700 4528/5158/25701 +f 4520/5129/25702 4526/5159/25703 4517/5155/25704 +f 4517/5155/25705 4387/5130/25706 4520/5129/25707 +f 4534/5127/25708 4533/5126/25709 4536/5160/25710 +f 4536/5160/25711 4535/5157/25712 4534/5127/25713 +f 4420/5161/25714 4346/5143/25715 4345/5144/25716 +f 4345/5144/25717 4415/5162/25718 4420/5161/25719 +f 4426/5152/25720 4428/5147/25721 4421/5163/25722 +f 4421/5163/25723 4417/5164/25724 4426/5152/25725 +f 4420/5161/25726 4415/5162/25727 4417/5164/25728 +f 4417/5164/25729 4421/5163/25730 4420/5161/25731 +f 4417/5164/25732 4415/5162/25733 4416/5165/25734 +f 4416/5165/25735 4418/5166/25736 4417/5164/25737 +f 4416/5165/25738 4210/4906/25739 4216/4905/25740 +f 4216/4905/25741 4418/5166/25742 4416/5165/25743 +f 4212/4907/25744 4210/4906/25745 4416/5165/25746 +f 4416/5165/25747 4415/5162/25748 4212/4907/25749 +f 4124/4908/25750 4212/4907/25751 4415/5162/25752 +f 4415/5162/25753 4345/5144/25754 4124/4908/25755 +f 4427/5146/25756 4420/5161/25757 4421/5163/25758 +f 4421/5163/25759 4428/5147/25760 4427/5146/25761 +f 4420/5161/25762 4427/5146/25763 4423/5136/25764 +f 4423/5136/25765 4346/5143/25766 4420/5161/25767 +f 4125/4909/25768 4124/4908/25769 4345/5144/25770 +f 4345/5144/25771 4357/5142/25772 4125/4909/25773 +f 4174/4910/25774 4125/4909/25775 4357/5142/25776 +f 4357/5142/25777 4176/5141/25778 4174/4910/25779 +f 4178/4911/25780 4174/4910/25781 4176/5141/25782 +f 4176/5141/25783 4351/5153/25784 4178/4911/25785 +f 4351/5153/25786 4348/5156/25787 4132/4912/25788 +f 4132/4912/25789 4178/4911/25790 4351/5153/25791 +f 4132/4912/25792 4348/5156/25793 4347/5167/25794 +f 4347/5167/25795 4130/4913/25796 4132/4912/25797 +f 4348/5156/25798 4350/5154/25799 4514/5168/25800 +f 4514/5168/25801 4347/5167/25802 4348/5156/25803 +f 4516/5169/25804 4514/5168/25805 4350/5154/25806 +f 4350/5154/25807 4517/5155/25808 4516/5169/25809 +f 4519/5170/25810 4516/5169/25811 4517/5155/25812 +f 4517/5155/25813 4526/5159/25814 4519/5170/25815 +f 4519/5170/25816 4526/5159/25817 4528/5158/25818 +f 4528/5158/25819 4530/5171/25820 4519/5170/25821 +f 4540/5172/25822 4530/5171/25823 4528/5158/25824 +f 4528/5158/25825 4535/5157/25826 4540/5172/25827 +f 4489/5173/25828 4536/5160/25829 4533/5126/25830 +f 4533/5126/25831 4488/5125/25832 4489/5173/25833 +f 4484/5140/25834 4489/5173/25835 4488/5125/25836 +f 4488/5125/25837 4483/5124/25838 4484/5140/25839 +f 4535/5157/25840 4536/5160/25841 4537/5174/25842 +f 4537/5174/25843 4540/5172/25844 4535/5157/25845 +f 4510/5175/25846 4537/5174/25847 4536/5160/25848 +f 4536/5160/25849 4489/5173/25850 4510/5175/25851 +f 4502/5176/25852 4510/5175/25853 4489/5173/25854 +f 4489/5173/25855 4484/5140/25856 4502/5176/25857 +f 4479/5139/25858 4478/5149/25859 4480/5177/25860 +f 4480/5177/25861 4484/5140/25862 4479/5139/25863 +f 4484/5140/25864 4480/5177/25865 4500/5178/25866 +f 4500/5178/25867 4502/5176/25868 4484/5140/25869 +f 4481/5179/25870 4480/5177/25871 4478/5149/25872 +f 4478/5149/25873 4447/5151/25874 4481/5179/25875 +f 4426/5152/25876 4417/5164/25877 4434/5180/25878 +f 4434/5180/25879 4422/5181/25880 4426/5152/25881 +f 4447/5151/25882 4446/5150/25883 4448/5182/25884 +f 4448/5182/25885 4441/5183/25886 4447/5151/25887 +f 4426/5152/25888 4422/5181/25889 4448/5182/25890 +f 4448/5182/25891 4446/5150/25892 4426/5152/25893 +f 4418/5166/25894 4419/5184/25895 4434/5180/25896 +f 4434/5180/25897 4417/5164/25898 4418/5166/25899 +f 4216/4905/25900 4217/4932/25901 4419/5184/25902 +f 4419/5184/25903 4418/5166/25904 4216/4905/25905 +f 4481/5179/25906 4447/5151/25907 4441/5183/25908 +f 4441/5183/25909 4449/5185/25910 4481/5179/25911 +f 4449/5185/25912 4441/5183/25913 4439/5186/25914 +f 4439/5186/25915 4444/5187/25916 4449/5185/25917 +f 4444/5187/25918 4439/5186/25919 4429/5188/25920 +f 4429/5188/25921 4436/5189/25922 4444/5187/25923 +f 4247/4938/25924 4429/5188/25925 4430/5190/25926 +f 4430/5190/25927 4244/4939/25928 4247/4938/25929 +f 4217/4932/25930 4244/4939/25931 4430/5190/25932 +f 4430/5190/25933 4419/5184/25934 4217/4932/25935 +f 4422/5181/25936 4434/5180/25937 4435/5191/25938 +f 4435/5191/25939 4424/5192/25940 4422/5181/25941 +f 4441/5183/25942 4448/5182/25943 4442/5193/25944 +f 4442/5193/25945 4443/5194/25946 4441/5183/25947 +f 4424/5192/25948 4442/5193/25949 4448/5182/25950 +f 4448/5182/25951 4422/5181/25952 4424/5192/25953 +f 4419/5184/25954 4430/5190/25955 4435/5191/25956 +f 4435/5191/25957 4434/5180/25958 4419/5184/25959 +f 4430/5190/25960 4429/5188/25961 4431/5195/25962 +f 4431/5195/25963 4432/5196/25964 4430/5190/25965 +f 4439/5186/25966 4440/5197/25967 4431/5195/25968 +f 4431/5195/25969 4429/5188/25970 4439/5186/25971 +f 4435/5191/25972 4430/5190/25973 4432/5196/25974 +f 4432/5196/25975 4433/5198/25976 4435/5191/25977 +f 4435/5191/25978 4433/5198/25979 4425/5199/25980 +f 4425/5199/25981 4424/5192/25982 4435/5191/25983 +f 4443/5194/25984 4440/5197/25985 4439/5186/25986 +f 4439/5186/25987 4441/5183/25988 4443/5194/25989 +f 4442/5193/25990 4424/5192/25991 4425/5199/25992 +f 4425/5199/25993 4443/5194/25994 4442/5193/25995 +f 4425/5199/25996 4433/5198/25997 4440/5197/25998 +f 4440/5197/25999 4443/5194/26000 4425/5199/26001 +f 4432/5196/26002 4431/5195/26003 4440/5197/26004 +f 4440/5197/26005 4433/5198/26006 4432/5196/26007 +f 4502/5176/26008 4500/5178/26009 4501/5200/26010 +f 4501/5200/26011 4503/5201/26012 4502/5176/26013 +f 4507/5202/26014 4509/5203/26015 4503/5201/26016 +f 4503/5201/26017 4501/5200/26018 4507/5202/26019 +f 4509/5203/26020 4507/5202/26021 4505/5204/26022 +f 4505/5204/26023 4508/5205/26024 4509/5203/26025 +f 4621/5206/26026 4508/5205/26027 4505/5204/26028 +f 4505/5204/26029 4471/5207/26030 4621/5206/26031 +f 4621/5206/26032 4471/5207/26033 4469/5208/26034 +f 4469/5208/26035 4620/5209/26036 4621/5206/26037 +f 4457/5210/26038 4617/5211/26039 4620/5209/26040 +f 4620/5209/26041 4469/5208/26042 4457/5210/26043 +f 4457/5210/26044 4454/5212/26045 4616/5213/26046 +f 4616/5213/26047 4617/5211/26048 4457/5210/26049 +f 4480/5177/26050 4481/5179/26051 4492/5214/26052 +f 4492/5214/26053 4500/5178/26054 4480/5177/26055 +f 4500/5178/26056 4492/5214/26057 4499/5215/26058 +f 4499/5215/26059 4501/5200/26060 4500/5178/26061 +f 4501/5200/26062 4499/5215/26063 4506/5216/26064 +f 4506/5216/26065 4507/5202/26066 4501/5200/26067 +f 4507/5202/26068 4506/5216/26069 4504/5217/26070 +f 4504/5217/26071 4505/5204/26072 4507/5202/26073 +f 4505/5204/26074 4504/5217/26075 4470/5218/26076 +f 4470/5218/26077 4471/5207/26078 4505/5204/26079 +f 4471/5207/26080 4470/5218/26081 4468/5219/26082 +f 4468/5219/26083 4469/5208/26084 4471/5207/26085 +f 4469/5208/26086 4468/5219/26087 4456/5220/26088 +f 4456/5220/26089 4457/5210/26090 4469/5208/26091 +f 4272/4971/26092 4270/4973/26093 4454/5212/26094 +f 4454/5212/26095 4455/5221/26096 4272/4971/26097 +f 4470/5218/26098 4504/5217/26099 4493/5222/26100 +f 4493/5222/26101 4466/5223/26102 4470/5218/26103 +f 4470/5218/26104 4466/5223/26105 4462/5224/26106 +f 4462/5224/26107 4468/5219/26108 4470/5218/26109 +f 4468/5219/26110 4462/5224/26111 4453/5225/26112 +f 4453/5225/26113 4456/5220/26114 4468/5219/26115 +f 4494/5226/26116 4493/5222/26117 4504/5217/26118 +f 4504/5217/26119 4506/5216/26120 4494/5226/26121 +f 4499/5215/26122 4495/5227/26123 4494/5226/26124 +f 4494/5226/26125 4506/5216/26126 4499/5215/26127 +f 4495/5227/26128 4499/5215/26129 4492/5214/26130 +f 4492/5214/26131 4490/5228/26132 4495/5227/26133 +f 4464/5229/26134 4490/5228/26135 4492/5214/26136 +f 4492/5214/26137 4481/5179/26138 4464/5229/26139 +f 4450/5230/26140 4464/5229/26141 4481/5179/26142 +f 4481/5179/26143 4449/5185/26144 4450/5230/26145 +f 4450/5230/26146 4449/5185/26147 4444/5187/26148 +f 4444/5187/26149 4438/5231/26150 4450/5230/26151 +f 4437/5232/26152 4438/5231/26153 4444/5187/26154 +f 4444/5187/26155 4436/5189/26156 4437/5232/26157 +f 4249/4985/26158 4437/5232/26159 4436/5189/26160 +f 4436/5189/26161 4248/4986/26162 4249/4985/26163 +f 4459/5233/26164 4451/5234/26165 4452/5235/26166 +f 4452/5235/26167 4453/5225/26168 4459/5233/26169 +f 4461/5236/26170 4459/5233/26171 4453/5225/26172 +f 4453/5225/26173 4462/5224/26174 4461/5236/26175 +f 4467/5237/26176 4461/5236/26177 4462/5224/26178 +f 4462/5224/26179 4466/5223/26180 4467/5237/26181 +f 4467/5237/26182 4466/5223/26183 4493/5222/26184 +f 4493/5222/26185 4496/5238/26186 4467/5237/26187 +f 4494/5226/26188 4497/5239/26189 4496/5238/26190 +f 4496/5238/26191 4493/5222/26192 4494/5226/26193 +f 4495/5227/26194 4498/5240/26195 4497/5239/26196 +f 4497/5239/26197 4494/5226/26198 4495/5227/26199 +f 4490/5228/26200 4491/5241/26201 4498/5240/26202 +f 4498/5240/26203 4495/5227/26204 4490/5228/26205 +f 4465/5242/26206 4491/5241/26207 4490/5228/26208 +f 4490/5228/26209 4464/5229/26210 4465/5242/26211 +f 4463/5243/26212 4465/5242/26213 4464/5229/26214 +f 4464/5229/26215 4450/5230/26216 4463/5243/26217 +f 4460/5244/26218 4463/5243/26219 4450/5230/26220 +f 4450/5230/26221 4438/5231/26222 4460/5244/26223 +f 4458/5245/26224 4460/5244/26225 4438/5231/26226 +f 4438/5231/26227 4437/5232/26228 4458/5245/26229 +f 4249/4985/26230 4250/5000/26231 4458/5245/26232 +f 4458/5245/26233 4437/5232/26234 4249/4985/26235 +f 4498/5240/26236 4491/5241/26237 4496/5238/26238 +f 4496/5238/26239 4497/5239/26240 4498/5240/26241 +f 4467/5237/26242 4496/5238/26243 4491/5241/26244 +f 4491/5241/26245 4465/5242/26246 4467/5237/26247 +f 4461/5236/26248 4467/5237/26249 4465/5242/26250 +f 4465/5242/26251 4463/5243/26252 4461/5236/26253 +f 4459/5233/26254 4461/5236/26255 4463/5243/26256 +f 4463/5243/26257 4460/5244/26258 4459/5233/26259 +f 4270/4973/26260 4555/5001/26261 4616/5213/26262 +f 4616/5213/26263 4454/5212/26264 4270/4973/26265 +f 4454/5212/26266 4457/5210/26267 4456/5220/26268 +f 4456/5220/26269 4455/5221/26270 4454/5212/26271 +f 4455/5221/26272 4456/5220/26273 4453/5225/26274 +f 4453/5225/26275 4452/5235/26276 4455/5221/26277 +f 4451/5234/26278 4264/5003/26279 4266/5002/26280 +f 4266/5002/26281 4452/5235/26282 4451/5234/26283 +f 4460/5244/26284 4458/5245/26285 4451/5234/26286 +f 4451/5234/26287 4459/5233/26288 4460/5244/26289 +f 4451/5234/26290 4458/5245/26291 4250/5000/26292 +f 4250/5000/26293 4264/5003/26294 4451/5234/26295 +f 4502/5176/26296 4503/5201/26297 4512/5246/26298 +f 4512/5246/26299 4510/5175/26300 4502/5176/26301 +f 4510/5175/26302 4512/5246/26303 4538/5247/26304 +f 4538/5247/26305 4537/5174/26306 4510/5175/26307 +f 4537/5174/26308 4538/5247/26309 4541/5248/26310 +f 4541/5248/26311 4540/5172/26312 4537/5174/26313 +f 4511/5249/26314 4512/5246/26315 4503/5201/26316 +f 4503/5201/26317 4509/5203/26318 4511/5249/26319 +f 4629/5250/26320 4511/5249/26321 4509/5203/26322 +f 4509/5203/26323 4508/5205/26324 4629/5250/26325 +f 4628/5251/26326 4629/5250/26327 4508/5205/26328 +f 4508/5205/26329 4621/5206/26330 4628/5251/26331 +f 4622/5252/26332 4628/5251/26333 4621/5206/26334 +f 4621/5206/26335 4620/5209/26336 4622/5252/26337 +f 4619/5253/26338 4622/5252/26339 4620/5209/26340 +f 4620/5209/26341 4617/5211/26342 4619/5253/26343 +f 4618/5254/26344 4619/5253/26345 4617/5211/26346 +f 4617/5211/26347 4616/5213/26348 4618/5254/26349 +f 4618/5254/26350 4616/5213/26351 4555/5001/26352 +f 4555/5001/26353 4557/5013/26354 4618/5254/26355 +f 4539/5255/26356 4538/5247/26357 4512/5246/26358 +f 4512/5246/26359 4511/5249/26360 4539/5255/26361 +f 4629/5250/26362 4638/5256/26363 4539/5255/26364 +f 4539/5255/26365 4511/5249/26366 4629/5250/26367 +f 4630/5257/26368 4638/5256/26369 4629/5250/26370 +f 4629/5250/26371 4628/5251/26372 4630/5257/26373 +f 4628/5251/26374 4622/5252/26375 4625/5258/26376 +f 4625/5258/26377 4630/5257/26378 4628/5251/26379 +f 4624/5259/26380 4625/5258/26381 4622/5252/26382 +f 4622/5252/26383 4619/5253/26384 4624/5259/26385 +f 4623/5260/26386 4624/5259/26387 4619/5253/26388 +f 4619/5253/26389 4618/5254/26390 4623/5260/26391 +f 4618/5254/26392 4557/5013/26393 4560/5020/26394 +f 4560/5020/26395 4623/5260/26396 4618/5254/26397 +f 4538/5247/26398 4539/5255/26399 4642/5261/26400 +f 4642/5261/26401 4543/5262/26402 4538/5247/26403 +f 4639/5263/26404 4642/5261/26405 4539/5255/26406 +f 4539/5255/26407 4638/5256/26408 4639/5263/26409 +f 4640/5264/26410 4639/5263/26411 4638/5256/26412 +f 4638/5256/26413 4630/5257/26414 4640/5264/26415 +f 4626/5265/26416 4640/5264/26417 4630/5257/26418 +f 4630/5257/26419 4625/5258/26420 4626/5265/26421 +f 4632/5266/26422 4626/5265/26423 4625/5258/26424 +f 4625/5258/26425 4624/5259/26426 4632/5266/26427 +f 4631/5267/26428 4632/5266/26429 4624/5259/26430 +f 4624/5259/26431 4623/5260/26432 4631/5267/26433 +f 4631/5267/26434 4623/5260/26435 4560/5020/26436 +f 4560/5020/26437 4564/5028/26438 4631/5267/26439 +f 4538/5247/26440 4543/5262/26441 4542/5268/26442 +f 4542/5268/26443 4541/5248/26444 4538/5247/26445 +f 4540/5172/26446 4541/5248/26447 4531/5269/26448 +f 4531/5269/26449 4530/5171/26450 4540/5172/26451 +f 4530/5171/26452 4531/5269/26453 4529/5271/26454 +f 4529/5271/26455 4519/5170/26456 4530/5171/26457 +f 4519/5170/26458 4529/5271/26459 4518/5272/26460 +f 4518/5272/26461 4516/5169/26462 4519/5170/26463 +f 4516/5169/26464 4518/5272/26465 4515/5276/26466 +f 4515/5276/26467 4514/5168/26468 4516/5169/26469 +f 4513/5313/26470 4347/5167/26471 4514/5168/26472 +f 4514/5168/26473 4515/5276/26474 4513/5313/26475 +f 4347/5167/26476 4513/5313/26477 4326/5035/26478 +f 4326/5035/26479 4130/4913/26480 4347/5167/26481 +f 4632/5266/26482 4631/5267/26483 4633/5314/26484 +f 4633/5314/26485 4634/5315/26486 4632/5266/26487 +f 4632/5266/26488 4634/5315/26489 4627/5316/26490 +f 4627/5316/26491 4626/5265/26492 4632/5266/26493 +f 4640/5264/26494 4626/5265/26495 4627/5316/26496 +f 4627/5316/26497 4641/5317/26498 4640/5264/26499 +f 4649/5318/26500 4639/5263/26501 4640/5264/26502 +f 4640/5264/26503 4641/5317/26504 4649/5318/26505 +f 4649/5318/26506 4643/5319/26507 4642/5261/26508 +f 4642/5261/26509 4639/5263/26510 4649/5318/26511 +f 4642/5261/26512 4643/5319/26513 4544/5320/26514 +f 4544/5320/26515 4543/5262/26516 4642/5261/26517 +f 4543/5262/26518 4544/5320/26519 4698/5321/26520 +f 4698/5321/26521 4542/5268/26522 4543/5262/26523 +f 4698/5321/26524 4544/5320/26525 4701/5322/26526 +f 4701/5322/26527 4699/5323/26528 4698/5321/26529 +f 4701/5322/26530 4544/5320/26531 4643/5319/26532 +f 4643/5319/26533 4644/5324/26534 4701/5322/26535 +f 4643/5319/26536 4649/5318/26537 4647/5325/26538 +f 4647/5325/26539 4644/5324/26540 4643/5319/26541 +f 4649/5318/26542 4641/5317/26543 4635/5326/26544 +f 4635/5326/26545 4647/5325/26546 4649/5318/26547 +f 4627/5316/26548 4658/5327/26549 4635/5326/26550 +f 4635/5326/26551 4641/5317/26552 4627/5316/26553 +f 4654/5328/26554 4658/5327/26555 4627/5316/26556 +f 4627/5316/26557 4634/5315/26558 4654/5328/26559 +f 4653/5329/26560 4654/5328/26561 4634/5315/26562 +f 4634/5315/26563 4633/5314/26564 4653/5329/26565 +f 4605/5052/26566 4653/5329/26567 4633/5314/26568 +f 4633/5314/26569 4568/5053/26570 4605/5052/26571 +f 4700/5374/26572 4699/5375/26573 4701/5377/26574 +f 4701/5377/26575 4704/5378/26576 4700/5374/26577 +f 4648/5379/26578 4645/5380/26579 4644/5381/26580 +f 4644/5381/26581 4647/5382/26582 4648/5379/26583 +f 4636/5383/26584 4648/5379/26585 4647/5382/26586 +f 4647/5382/26587 4635/5384/26588 4636/5383/26589 +f 4635/5384/26590 4658/5385/26591 4659/5386/26592 +f 4659/5386/26593 4636/5383/26594 4635/5384/26595 +f 4655/5387/26596 4659/5386/26597 4658/5385/26598 +f 4658/5385/26599 4654/5388/26600 4655/5387/26601 +f 4656/5389/26602 4655/5387/26603 4654/5388/26604 +f 4654/5388/26605 4653/5390/26606 4656/5389/26607 +f 4606/5460/26608 4656/5389/26609 4653/5390/26610 +f 4653/5390/26611 4605/5461/26612 4606/5460/26613 +f 4656/5389/26614 4606/5460/26615 4615/5462/26616 +f 4615/5462/26617 4663/5391/26618 4656/5389/26619 +f 4656/5389/26620 4663/5391/26621 4657/5392/26622 +f 4657/5392/26623 4655/5387/26624 4656/5389/26625 +f 4655/5387/26626 4657/5392/26627 4660/5393/26628 +f 4660/5393/26629 4659/5386/26630 4655/5387/26631 +f 4637/5394/26632 4636/5383/26633 4659/5386/26634 +f 4659/5386/26635 4660/5393/26636 4637/5394/26637 +f 4648/5379/26638 4636/5383/26639 4637/5394/26640 +f 4637/5394/26641 4650/5396/26642 4648/5379/26643 +f 4646/5397/26644 4645/5380/26645 4648/5379/26646 +f 4648/5379/26647 4650/5396/26648 4646/5397/26649 +f 4645/5380/26650 4646/5397/26651 4702/5398/26652 +f 4702/5398/26653 4644/5381/26654 4645/5380/26655 +f 4701/5377/26656 4644/5381/26657 4702/5398/26658 +f 4702/5398/26659 4704/5378/26660 4701/5377/26661 +f 4696/5399/26662 4700/5374/26663 4705/5400/26664 +f 4705/5400/26665 4697/5401/26666 4696/5399/26667 +f 4729/5402/26668 4703/5403/26669 4704/5378/26670 +f 4704/5378/26671 4702/5398/26672 4729/5402/26673 +f 4730/5404/26674 4729/5402/26675 4702/5398/26676 +f 4702/5398/26677 4646/5397/26678 4730/5404/26679 +f 4652/5405/26680 4730/5404/26681 4646/5397/26682 +f 4646/5397/26683 4650/5396/26684 4652/5405/26685 +f 4651/5406/26686 4652/5405/26687 4650/5396/26688 +f 4650/5396/26689 4637/5394/26690 4651/5406/26691 +f 4670/5407/26692 4651/5406/26693 4637/5394/26694 +f 4637/5394/26695 4660/5393/26696 4670/5407/26697 +f 4661/5408/26698 4670/5407/26699 4660/5393/26700 +f 4660/5393/26701 4657/5392/26702 4661/5408/26703 +f 4665/5409/26704 4661/5408/26705 4657/5392/26706 +f 4657/5392/26707 4663/5391/26708 4665/5409/26709 +f 4662/5410/26710 4663/5391/26711 4615/5462/26712 +f 4615/5462/26713 4613/5463/26714 4662/5410/26715 +f 4664/5411/26716 4665/5409/26717 4663/5391/26718 +f 4663/5391/26719 4662/5410/26720 4664/5411/26721 +f 4669/5412/26722 4666/5413/26723 4665/5409/26724 +f 4665/5409/26725 4664/5411/26726 4669/5412/26727 +f 4671/5414/26728 4661/5408/26729 4665/5409/26730 +f 4665/5409/26731 4666/5413/26732 4671/5414/26733 +f 4672/5415/26734 4670/5407/26735 4661/5408/26736 +f 4661/5408/26737 4671/5414/26738 4672/5415/26739 +f 4673/5416/26740 4651/5406/26741 4670/5407/26742 +f 4670/5407/26743 4672/5415/26744 4673/5416/26745 +f 4733/5417/26746 4652/5405/26747 4651/5406/26748 +f 4651/5406/26749 4673/5416/26750 4733/5417/26751 +f 4652/5405/26752 4733/5417/26753 4731/5418/26754 +f 4731/5418/26755 4730/5404/26756 4652/5405/26757 +f 4732/5419/26758 4729/5402/26759 4730/5404/26760 +f 4730/5404/26761 4731/5418/26762 4732/5419/26763 +f 4729/5402/26764 4732/5419/26765 4706/5420/26766 +f 4706/5420/26767 4703/5403/26768 4729/5402/26769 +f 4700/5374/26770 4704/5378/26771 4703/5403/26772 +f 4703/5403/26773 4705/5400/26774 4700/5374/26775 +f 4703/5403/26776 4706/5420/26777 4697/5401/26778 +f 4697/5401/26779 4705/5400/26780 4703/5403/26781 +f 4696/5399/26782 4697/5401/26783 4708/5421/26784 +f 4708/5421/26785 4707/5422/26786 4696/5399/26787 +f 4707/5422/26788 4708/5421/26789 4693/5465/26790 +f 4693/5465/26791 4690/5464/26792 4707/5422/26793 +f 4668/5423/26794 4667/5424/26795 4666/5413/26796 +f 4666/5413/26797 4669/5412/26798 4668/5423/26799 +f 4671/5414/26800 4666/5413/26801 4667/5424/26802 +f 4667/5424/26803 4676/5425/26804 4671/5414/26805 +f 4671/5414/26806 4676/5425/26807 4674/5426/26808 +f 4674/5426/26809 4672/5415/26810 4671/5414/26811 +f 4673/5416/26812 4672/5415/26813 4674/5426/26814 +f 4674/5426/26815 4740/5427/26816 4673/5416/26817 +f 4673/5416/26818 4740/5427/26819 4734/5428/26820 +f 4734/5428/26821 4733/5417/26822 4673/5416/26823 +f 4733/5417/26824 4734/5428/26825 4737/5429/26826 +f 4737/5429/26827 4731/5418/26828 4733/5417/26829 +f 4731/5418/26830 4737/5429/26831 4735/5430/26832 +f 4735/5430/26833 4732/5419/26834 4731/5418/26835 +f 4732/5419/26836 4735/5430/26837 4736/5431/26838 +f 4736/5431/26839 4706/5420/26840 4732/5419/26841 +f 4706/5420/26842 4736/5431/26843 4710/5432/26844 +f 4710/5432/26845 4697/5401/26846 4706/5420/26847 +f 4697/5401/26848 4710/5432/26849 4709/5433/26850 +f 4709/5433/26851 4708/5421/26852 4697/5401/26853 +f 4695/5466/26854 4693/5465/26855 4708/5421/26856 +f 4708/5421/26857 4709/5433/26858 4695/5466/26859 +f 4676/5425/26860 4667/5424/26861 4668/5423/26862 +f 4668/5423/26863 4677/5434/26864 4676/5425/26865 +f 4676/5425/26866 4677/5434/26867 4675/5435/26868 +f 4675/5435/26869 4674/5426/26870 4676/5425/26871 +f 4674/5426/26872 4675/5435/26873 4741/5436/26874 +f 4741/5436/26875 4740/5427/26876 4674/5426/26877 +f 4740/5427/26878 4741/5436/26879 4742/5437/26880 +f 4742/5437/26881 4734/5428/26882 4740/5427/26883 +f 4739/5438/26884 4737/5429/26885 4734/5428/26886 +f 4734/5428/26887 4742/5437/26888 4739/5438/26889 +f 4735/5430/26890 4737/5429/26891 4739/5438/26892 +f 4739/5438/26893 4738/5439/26894 4735/5430/26895 +f 4735/5430/26896 4738/5439/26897 4744/5440/26898 +f 4744/5440/26899 4736/5431/26900 4735/5430/26901 +f 4745/5441/26902 4710/5432/26903 4736/5431/26904 +f 4736/5431/26905 4744/5440/26906 4745/5441/26907 +f 4710/5432/26908 4745/5441/26909 4743/5442/26910 +f 4743/5442/26911 4709/5433/26912 4710/5432/26913 +f 4709/5433/26914 4743/5442/26915 4728/5467/26916 +f 4728/5467/26917 4695/5466/26918 4709/5433/26919 +f 4391/5122/26920 4365/5117/26921 4366/5330/26922 +f 4366/5330/26923 4388/5331/26924 4391/5122/26925 +f 4369/5335/26926 4366/5330/26927 4365/5117/26928 +f 4365/5117/26929 4363/5111/26930 4369/5335/26931 +f 4374/5105/26932 4375/5336/26933 4369/5335/26934 +f 4369/5335/26935 4363/5111/26936 4374/5105/26937 +f 4373/5102/26938 4376/5337/26939 4375/5336/26940 +f 4375/5336/26941 4374/5105/26942 4373/5102/26943 +f 4372/5099/26944 4377/5338/26945 4376/5337/26946 +f 4376/5337/26947 4373/5102/26948 4372/5099/26949 +f 4381/5095/26950 4382/5339/26951 4377/5338/26952 +f 4377/5338/26953 4372/5099/26954 4381/5095/26955 +f 4394/5094/26956 4395/5340/26957 4382/5339/26958 +f 4382/5339/26959 4381/5095/26960 4394/5094/26961 +f 4398/5346/26962 4395/5340/26963 4394/5094/26964 +f 4394/5094/26965 4397/5096/26966 4398/5346/26967 +f 4412/5097/26968 4402/5376/26969 4398/5346/26970 +f 4398/5346/26971 4397/5096/26972 4412/5097/26973 +f 4413/5098/26974 4403/5395/26975 4402/5376/26976 +f 4402/5376/26977 4412/5097/26978 4413/5098/26979 +f 4414/5107/26980 4404/5443/26981 4403/5395/26982 +f 4403/5395/26983 4413/5098/26984 4414/5107/26985 +f 4410/5113/26986 4400/5444/26987 4404/5443/26988 +f 4404/5443/26989 4414/5107/26990 4410/5113/26991 +f 4390/5119/26992 4392/5445/26993 4400/5444/26994 +f 4400/5444/26995 4410/5113/26996 4390/5119/26997 +f 4390/5119/26998 4391/5122/26999 4388/5331/27000 +f 4388/5331/27001 4392/5445/27002 4390/5119/27003 +f 4388/5331/27004 4366/5330/27005 4371/5446/27006 +f 4371/5446/27007 4389/5447/27008 4388/5331/27009 +f 4369/5335/27010 4370/5448/27011 4371/5446/27012 +f 4371/5446/27013 4366/5330/27014 4369/5335/27015 +f 4375/5336/27016 4378/5449/27017 4370/5448/27018 +f 4370/5448/27019 4369/5335/27020 4375/5336/27021 +f 4376/5337/27022 4379/5450/27023 4378/5449/27024 +f 4378/5449/27025 4375/5336/27026 4376/5337/27027 +f 4377/5338/27028 4380/5451/27029 4379/5450/27030 +f 4379/5450/27031 4376/5337/27032 4377/5338/27033 +f 4382/5339/27034 4383/5452/27035 4380/5451/27036 +f 4380/5451/27037 4377/5338/27038 4382/5339/27039 +f 4396/5453/27040 4383/5452/27041 4382/5339/27042 +f 4382/5339/27043 4395/5340/27044 4396/5453/27045 +f 4398/5346/27046 4399/5454/27047 4396/5453/27048 +f 4396/5453/27049 4395/5340/27050 4398/5346/27051 +f 4402/5376/27052 4405/5455/27053 4399/5454/27054 +f 4399/5454/27055 4398/5346/27056 4402/5376/27057 +f 4403/5395/27058 4406/5456/27059 4405/5455/27060 +f 4405/5455/27061 4402/5376/27062 4403/5395/27063 +f 4404/5443/27064 4407/5457/27065 4406/5456/27066 +f 4406/5456/27067 4403/5395/27068 4404/5443/27069 +f 4400/5444/27070 4401/5458/27071 4407/5457/27072 +f 4407/5457/27073 4404/5443/27074 4400/5444/27075 +f 4393/5459/27076 4401/5458/27077 4400/5444/27078 +f 4400/5444/27079 4392/5445/27080 4393/5459/27081 +f 4389/5447/27082 4393/5459/27083 4392/5445/27084 +f 4392/5445/27085 4388/5331/27086 4389/5447/27087 +f 4423/5136/27088 4427/5146/27089 4473/5145/27090 +f 4473/5145/27091 4472/5137/27092 4423/5136/27093 +f 4358/5101/27094 4356/5135/27095 4346/5143/27096 +f 4346/5143/27097 4423/5136/27098 4358/5101/27099 +f 4436/5189/27100 4429/5188/27101 4247/4938/27102 +f 4247/4938/27103 4248/4986/27104 4436/5189/27105 +f 4272/4971/27106 4455/5221/27107 4452/5235/27108 +f 4452/5235/27109 4266/5002/27110 4272/4971/27111 +f 4568/5053/27112 4633/5314/27113 4631/5267/27114 +f 4631/5267/27115 4564/5028/27116 4568/5053/27117 +f 4770/5468/27118 4771/5469/27119 4746/5470/27120 +f 4746/5470/27121 4747/5471/27122 4770/5468/27123 +f 4749/5472/27124 4748/5473/27125 4747/5471/27126 +f 4747/5471/27127 4746/5470/27128 4749/5472/27129 +f 4750/5475/27130 4748/5473/27131 4749/5472/27132 +f 4749/5472/27133 4751/5474/27134 4750/5475/27135 +f 4752/5477/27136 4750/5475/27137 4751/5474/27138 +f 4751/5474/27139 4753/5476/27140 4752/5477/27141 +f 4753/5476/27142 4755/5478/27143 4754/5479/27144 +f 4754/5479/27145 4752/5477/27146 4753/5476/27147 +f 4757/5480/27148 4754/5479/27149 4755/5478/27150 +f 4755/5478/27151 4756/5481/27152 4757/5480/27153 +f 4758/5482/27154 4759/5483/27155 4757/5480/27156 +f 4757/5480/27157 4756/5481/27158 4758/5482/27159 +f 4761/5485/27160 4759/5483/27161 4758/5482/27162 +f 4758/5482/27163 4760/5484/27164 4761/5485/27165 +f 4761/5485/27166 4760/5484/27167 4763/5487/27168 +f 4763/5487/27169 4762/5486/27170 4761/5485/27171 +f 4763/5487/27172 4765/5488/27173 4764/5489/27174 +f 4764/5489/27175 4762/5486/27176 4763/5487/27177 +f 4765/5488/27178 4767/5490/27179 4766/5491/27180 +f 4766/5491/27181 4764/5489/27182 4765/5488/27183 +f 4768/5493/27184 4766/5491/27185 4767/5490/27186 +f 4767/5490/27187 4769/5492/27188 4768/5493/27189 +f 4773/5495/27190 4771/5469/27191 4770/5468/27192 +f 4770/5468/27193 4772/5494/27194 4773/5495/27195 +f 4773/5495/27196 4772/5494/27197 4774/5496/27198 +f 4774/5496/27199 4775/5497/27200 4773/5495/27201 +f 4777/5499/27202 4775/5497/27203 4774/5496/27204 +f 4774/5496/27205 4776/5498/27206 4777/5499/27207 +f 4777/5499/27208 4776/5498/27209 4778/5500/27210 +f 4778/5500/27211 4779/5501/27212 4777/5499/27213 +f 4784/5503/27214 4785/5504/27215 4783/5505/27216 +f 4783/5505/27217 4782/5502/27218 4784/5503/27219 +f 4782/5502/27220 4783/5505/27221 4781/5506/27222 +f 4781/5506/27223 4780/5507/27224 4782/5502/27225 +f 4780/5507/27226 4781/5506/27227 4779/5501/27228 +f 4779/5501/27229 4778/5500/27230 4780/5507/27231 +f 4794/5509/27232 4795/5510/27233 4793/5511/27234 +f 4793/5511/27235 4792/5508/27236 4794/5509/27237 +f 4792/5508/27238 4793/5511/27239 4791/5512/27240 +f 4791/5512/27241 4790/5513/27242 4792/5508/27243 +f 4790/5513/27244 4791/5512/27245 4789/5514/27246 +f 4789/5514/27247 4788/5515/27248 4790/5513/27249 +f 4788/5515/27250 4789/5514/27251 4787/5516/27252 +f 4787/5516/27253 4786/5517/27254 4788/5515/27255 +f 4787/5516/27256 4785/5504/27257 4784/5503/27258 +f 4784/5503/27259 4786/5517/27260 4787/5516/27261 +f 4804/5519/27262 4768/5493/27263 4769/5492/27264 +f 4769/5492/27265 4805/5518/27266 4804/5519/27267 +f 4803/5520/27268 4802/5521/27269 4804/5519/27270 +f 4804/5519/27271 4805/5518/27272 4803/5520/27273 +f 4801/5522/27274 4800/5523/27275 4802/5521/27276 +f 4802/5521/27277 4803/5520/27278 4801/5522/27279 +f 4799/5524/27280 4798/5525/27281 4800/5523/27282 +f 4800/5523/27283 4801/5522/27284 4799/5524/27285 +f 4796/5526/27286 4798/5525/27287 4799/5524/27288 +f 4799/5524/27289 4797/5527/27290 4796/5526/27291 +f 4806/5528/27292 4800/5523/27293 4798/5525/27294 +f 4798/5525/27295 4807/5529/27296 4806/5528/27297 +f 4808/5530/27298 4807/5529/27299 4798/5525/27300 +f 4798/5525/27301 4796/5526/27302 4808/5530/27303 +f 4796/5526/27304 4794/5509/27305 4809/5531/27306 +f 4809/5531/27307 4808/5530/27308 4796/5526/27309 +f 4794/5509/27310 4792/5508/27311 4810/5532/27312 +f 4810/5532/27313 4809/5531/27314 4794/5509/27315 +f 4792/5508/27316 4790/5513/27317 4811/5533/27318 +f 4811/5533/27319 4810/5532/27320 4792/5508/27321 +f 4786/5517/27322 4813/5534/27323 4812/5535/27324 +f 4812/5535/27325 4788/5515/27326 4786/5517/27327 +f 4780/5507/27328 4815/5536/27329 4814/5537/27330 +f 4814/5537/27331 4782/5502/27332 4780/5507/27333 +f 4786/5517/27334 4784/5503/27335 4782/5502/27336 +f 4782/5502/27337 4813/5534/27338 4786/5517/27339 +f 4813/5534/27340 4782/5502/27341 4814/5537/27342 +f 4814/5537/27343 4812/5535/27344 4813/5534/27345 +f 4816/5538/27346 4802/5521/27347 4800/5523/27348 +f 4800/5523/27349 4806/5528/27350 4816/5538/27351 +f 4817/5539/27352 4804/5519/27353 4802/5521/27354 +f 4802/5521/27355 4816/5538/27356 4817/5539/27357 +f 4804/5519/27358 4817/5539/27359 4818/5540/27360 +f 4818/5540/27361 4768/5493/27362 4804/5519/27363 +f 4907/5541/27364 4766/5491/27365 4768/5493/27366 +f 4768/5493/27367 4818/5540/27368 4907/5541/27369 +f 4842/5542/27370 4764/5489/27371 4766/5491/27372 +f 4766/5491/27373 4907/5541/27374 4842/5542/27375 +f 4819/5543/27376 4762/5486/27377 4764/5489/27378 +f 4764/5489/27379 4842/5542/27380 4819/5543/27381 +f 4819/5543/27382 4759/5483/27383 4761/5485/27384 +f 4761/5485/27385 4762/5486/27386 4819/5543/27387 +f 4820/5544/27388 4757/5480/27389 4759/5483/27390 +f 4759/5483/27391 4819/5543/27392 4820/5544/27393 +f 4757/5480/27394 4820/5544/27395 4821/5545/27396 +f 4821/5545/27397 4754/5479/27398 4757/5480/27399 +f 4754/5479/27400 4821/5545/27401 4822/5546/27402 +f 4822/5546/27403 4752/5477/27404 4754/5479/27405 +f 4823/5547/27406 4750/5475/27407 4752/5477/27408 +f 4752/5477/27409 4822/5546/27410 4823/5547/27411 +f 4824/5548/27412 4748/5473/27413 4750/5475/27414 +f 4750/5475/27415 4823/5547/27416 4824/5548/27417 +f 4825/5549/27418 4747/5471/27419 4748/5473/27420 +f 4748/5473/27421 4824/5548/27422 4825/5549/27423 +f 4747/5471/27424 4825/5549/27425 4826/5550/27426 +f 4826/5550/27427 4770/5468/27428 4747/5471/27429 +f 4772/5494/27430 4770/5468/27431 4826/5550/27432 +f 4826/5550/27433 4827/5551/27434 4772/5494/27435 +f 4828/5552/27436 4829/5553/27437 4776/5498/27438 +f 4776/5498/27439 4774/5496/27440 4828/5552/27441 +f 4778/5500/27442 4776/5498/27443 4829/5553/27444 +f 4829/5553/27445 4830/5554/27446 4778/5500/27447 +f 4815/5536/27448 4780/5507/27449 4778/5500/27450 +f 4778/5500/27451 4830/5554/27452 4815/5536/27453 +f 4815/5536/27454 4831/5555/27455 4812/5535/27456 +f 4812/5535/27457 4814/5537/27458 4815/5536/27459 +f 4832/5556/27460 4833/5557/27461 4810/5532/27462 +f 4810/5532/27463 4811/5533/27464 4832/5556/27465 +f 4834/5558/27466 4831/5555/27467 4815/5536/27468 +f 4815/5536/27469 4830/5554/27470 4834/5558/27471 +f 4810/5532/27472 4833/5557/27473 4835/5559/27474 +f 4835/5559/27475 4809/5531/27476 4810/5532/27477 +f 4809/5531/27478 4835/5559/27479 4836/5560/27480 +f 4836/5560/27481 4808/5530/27482 4809/5531/27483 +f 4808/5530/27484 4836/5560/27485 4837/5561/27486 +f 4837/5561/27487 4807/5529/27488 4808/5530/27489 +f 4845/5562/27490 4806/5528/27491 4807/5529/27492 +f 4807/5529/27493 4837/5561/27494 4845/5562/27495 +f 4839/5563/27496 4817/5539/27497 4816/5538/27498 +f 4816/5538/27499 4838/5564/27500 4839/5563/27501 +f 4841/5565/27502 4840/5566/27503 4821/5545/27504 +f 4821/5545/27505 4820/5544/27506 4841/5565/27507 +f 4841/5565/27508 4820/5544/27509 4819/5543/27510 +f 4819/5543/27511 4842/5542/27512 4841/5565/27513 +f 4818/5540/27514 4906/5567/27515 4907/5541/27516 +f 4905/5569/27517 4906/5567/27518 4818/5540/27519 +f 4818/5540/27520 4843/5568/27521 4905/5569/27522 +f 4843/5568/27523 4818/5540/27524 4817/5539/27525 +f 4817/5539/27526 4839/5563/27527 4843/5568/27528 +f 4843/5568/27529 4839/5563/27530 4844/5570/27531 +f 4844/5570/27532 4840/5566/27533 4843/5568/27534 +f 4845/5562/27535 4838/5564/27536 4816/5538/27537 +f 4816/5538/27538 4806/5528/27539 4845/5562/27540 +f 4840/5566/27541 4844/5570/27542 4822/5546/27543 +f 4822/5546/27544 4821/5545/27545 4840/5566/27546 +f 4846/5571/27547 4844/5570/27548 4839/5563/27549 +f 4839/5563/27550 4838/5564/27551 4846/5571/27552 +f 4847/5572/27553 4846/5571/27554 4838/5564/27555 +f 4838/5564/27556 4845/5562/27557 4847/5572/27558 +f 4845/5562/27559 4837/5561/27560 4848/5573/27561 +f 4848/5573/27562 4847/5572/27563 4845/5562/27564 +f 4836/5560/27565 4849/5574/27566 4848/5573/27567 +f 4848/5573/27568 4837/5561/27569 4836/5560/27570 +f 4850/5575/27571 4849/5574/27572 4836/5560/27573 +f 4836/5560/27574 4835/5559/27575 4850/5575/27576 +f 4833/5557/27577 4832/5556/27578 4831/5555/27579 +f 4831/5555/27580 4834/5558/27581 4833/5557/27582 +f 4833/5557/27583 4834/5558/27584 4850/5575/27585 +f 4850/5575/27586 4835/5559/27587 4833/5557/27588 +f 4851/5576/27589 4834/5558/27590 4830/5554/27591 +f 4830/5554/27592 4829/5553/27593 4851/5576/27594 +f 4834/5558/27595 4851/5576/27596 4852/5577/27597 +f 4852/5577/27598 4850/5575/27599 4834/5558/27600 +f 4853/5578/27601 4852/5577/27602 4851/5576/27603 +f 4851/5576/27604 4829/5553/27605 4853/5578/27606 +f 4854/5579/27607 4853/5578/27608 4829/5553/27609 +f 4829/5553/27610 4828/5552/27611 4854/5579/27612 +f 4855/5580/27613 4854/5579/27614 4828/5552/27615 +f 4828/5552/27616 4827/5551/27617 4855/5580/27618 +f 4827/5551/27619 4826/5550/27620 4856/5581/27621 +f 4856/5581/27622 4855/5580/27623 4827/5551/27624 +f 4856/5581/27625 4826/5550/27626 4825/5549/27627 +f 4825/5549/27628 4857/5582/27629 4856/5581/27630 +f 4858/5583/27631 4857/5582/27632 4825/5549/27633 +f 4825/5549/27634 4824/5548/27635 4858/5583/27636 +f 4859/5584/27637 4858/5583/27638 4824/5548/27639 +f 4824/5548/27640 4823/5547/27641 4859/5584/27642 +f 4823/5547/27643 4822/5546/27644 4860/5585/27645 +f 4860/5585/27646 4859/5584/27647 4823/5547/27648 +f 4844/5570/27649 4846/5571/27650 4860/5585/27651 +f 4860/5585/27652 4822/5546/27653 4844/5570/27654 +f 4861/5586/27655 4860/5585/27656 4846/5571/27657 +f 4846/5571/27658 4847/5572/27659 4861/5586/27660 +f 4847/5572/27661 4848/5573/27662 4862/5587/27663 +f 4862/5587/27664 4861/5586/27665 4847/5572/27666 +f 4863/5588/27667 4862/5587/27668 4848/5573/27669 +f 4848/5573/27670 4849/5574/27671 4863/5588/27672 +f 4850/5575/27673 4852/5577/27674 4863/5588/27675 +f 4863/5588/27676 4849/5574/27677 4850/5575/27678 +f 4864/5589/27679 4863/5588/27680 4852/5577/27681 +f 4852/5577/27682 4853/5578/27683 4864/5589/27684 +f 4863/5588/27685 4864/5589/27686 4865/5590/27687 +f 4865/5590/27688 4862/5587/27689 4863/5588/27690 +f 4866/5591/27691 4861/5586/27692 4862/5587/27693 +f 4862/5587/27694 4865/5590/27695 4866/5591/27696 +f 4860/5585/27697 4861/5586/27698 4866/5591/27699 +f 4866/5591/27700 4859/5584/27701 4860/5585/27702 +f 4859/5584/27703 4866/5591/27704 4867/5592/27705 +f 4867/5592/27706 4858/5583/27707 4859/5584/27708 +f 4858/5583/27709 4867/5592/27710 4868/5593/27711 +f 4868/5593/27712 4857/5582/27713 4858/5583/27714 +f 4869/5594/27715 4856/5581/27716 4857/5582/27717 +f 4857/5582/27718 4868/5593/27719 4869/5594/27720 +f 4856/5581/27721 4869/5594/27722 4870/5595/27723 +f 4870/5595/27724 4855/5580/27725 4856/5581/27726 +f 4855/5580/27727 4870/5595/27728 4871/5596/27729 +f 4871/5596/27730 4854/5579/27731 4855/5580/27732 +f 4853/5578/27733 4854/5579/27734 4871/5596/27735 +f 4871/5596/27736 4864/5589/27737 4853/5578/27738 +f 4867/5592/27739 4872/5597/27740 4869/5594/27741 +f 4869/5594/27742 4868/5593/27743 4867/5592/27744 +f 4872/5597/27745 4871/5596/27746 4870/5595/27747 +f 4870/5595/27748 4869/5594/27749 4872/5597/27750 +f 4866/5591/27751 4865/5590/27752 4872/5597/27753 +f 4872/5597/27754 4867/5592/27755 4866/5591/27756 +f 4872/5597/27757 4865/5590/27758 4864/5589/27759 +f 4864/5589/27760 4871/5596/27761 4872/5597/27762 +f 4873/5598/27763 4874/5599/27764 4771/5469/27765 +f 4771/5469/27766 4773/5495/27767 4873/5598/27768 +f 4875/5600/27769 4746/5470/27770 4771/5469/27771 +f 4771/5469/27772 4874/5599/27773 4875/5600/27774 +f 4876/5601/27775 4749/5472/27776 4746/5470/27777 +f 4746/5470/27778 4875/5600/27779 4876/5601/27780 +f 4877/5602/27781 4751/5474/27782 4749/5472/27783 +f 4749/5472/27784 4876/5601/27785 4877/5602/27786 +f 4751/5474/27787 4877/5602/27788 4878/5603/27789 +f 4878/5603/27790 4753/5476/27791 4751/5474/27792 +f 4753/5476/27793 4878/5603/27794 4879/5604/27795 +f 4879/5604/27796 4755/5478/27797 4753/5476/27798 +f 4755/5478/27799 4879/5604/27800 4880/5605/27801 +f 4880/5605/27802 4756/5481/27803 4755/5478/27804 +f 4756/5481/27805 4880/5605/27806 4881/5606/27807 +f 4881/5606/27808 4758/5482/27809 4756/5481/27810 +f 4758/5482/27811 4881/5606/27812 4882/5607/27813 +f 4882/5607/27814 4760/5484/27815 4758/5482/27816 +f 4760/5484/27817 4882/5630/27818 4883/5608/27819 +f 4883/5608/27820 4763/5487/27821 4760/5484/27822 +f 4883/5608/27823 4884/5609/27824 4765/5488/27825 +f 4765/5488/27826 4763/5487/27827 4883/5608/27828 +f 4885/5610/27829 4767/5490/27830 4765/5488/27831 +f 4765/5488/27832 4884/5609/27833 4885/5610/27834 +f 4886/5611/27835 4769/5492/27836 4767/5490/27837 +f 4767/5490/27838 4885/5610/27839 4886/5611/27840 +f 4769/5492/27841 4886/5611/27842 4887/5612/27843 +f 4887/5612/27844 4805/5518/27845 4769/5492/27846 +f 4805/5518/27847 4887/5612/27848 4888/5613/27849 +f 4888/5613/27850 4803/5520/27851 4805/5518/27852 +f 4803/5520/27853 4888/5631/27854 4889/5614/27855 +f 4889/5614/27856 4801/5522/27857 4803/5520/27858 +f 4890/5615/27859 4799/5524/27860 4801/5522/27861 +f 4801/5522/27862 4889/5614/27863 4890/5615/27864 +f 4799/5524/27865 4890/5615/27866 4891/5616/27867 +f 4891/5616/27868 4797/5527/27869 4799/5524/27870 +f 4797/5527/27871 4891/5616/27872 4892/5617/27873 +f 4892/5617/27874 4795/5510/27875 4797/5527/27876 +f 4793/5511/27877 4893/5619/27878 4894/5618/27879 +f 4894/5618/27880 4791/5512/27881 4793/5511/27882 +f 4791/5512/27883 4894/5618/27884 4895/5620/27885 +f 4895/5620/27886 4789/5514/27887 4791/5512/27888 +f 4789/5514/27889 4895/5620/27890 4896/5621/27891 +f 4896/5621/27892 4787/5516/27893 4789/5514/27894 +f 4787/5516/27895 4896/5621/27896 4897/5622/27897 +f 4897/5622/27898 4785/5504/27899 4787/5516/27900 +f 4785/5504/27901 4897/5632/27902 4898/5623/27903 +f 4898/5623/27904 4783/5505/27905 4785/5504/27906 +f 4783/5505/27907 4898/5623/27908 4899/5624/27909 +f 4899/5624/27910 4781/5506/27911 4783/5505/27912 +f 4781/5506/27913 4899/5624/27914 4900/5625/27915 +f 4900/5625/27916 4779/5501/27917 4781/5506/27918 +f 4779/5501/27919 4900/5625/27920 4901/5626/27921 +f 4901/5626/27922 4777/5499/27923 4779/5501/27924 +f 4777/5499/27925 4901/5626/27926 4902/5627/27927 +f 4902/5627/27928 4775/5497/27929 4777/5499/27930 +f 4775/5497/27931 4902/5627/27932 4873/5598/27933 +f 4873/5598/27934 4773/5495/27935 4775/5497/27936 +f 4898/5623/27937 4897/5632/27938 4903/5628/27939 +f 4883/5608/27940 4882/5630/27941 4904/5629/27942 +f 4831/5555/27943 4832/5556/27944 4811/5533/27945 +f 4811/5533/27946 4812/5535/27947 4831/5555/27948 +f 4840/5566/27949 4841/5565/27950 4905/5569/27951 +f 4841/5565/27952 4906/5567/27953 4905/5569/27954 +f 4906/5567/27955 4841/5565/27956 4842/5542/27957 +f 4842/5542/27958 4907/5541/27959 4906/5567/27960 +f 4905/5569/27961 4843/5568/27962 4840/5566/27963 +f 4812/5535/27964 4811/5533/27965 4790/5513/27966 +f 4790/5513/27967 4788/5515/27968 4812/5535/27969 +f 4827/5551/27970 4828/5552/27971 4774/5496/27972 +f 4774/5496/27973 4772/5494/27974 4827/5551/27975 +f 4893/5635/27976 4793/5511/27977 4795/5510/27978 +f 4795/5510/27979 4892/5617/27980 4893/5635/27981 +f 4796/5526/27982 4797/5527/27983 4795/5510/27984 +f 4795/5510/27985 4794/5509/27986 4796/5526/27987 +f 4882/5607/27988 4881/5606/27989 4904/5634/27990 +f 4897/5622/27991 4896/5621/27992 4903/5633/27993 +f 4929/5638/27994 4924/5639/27995 5081/5636/27996 +f 5081/5636/27997 5082/5637/27998 4929/5638/27999 +f 4924/5639/28000 4936/5641/28001 5083/5640/28002 +f 5083/5640/28003 5081/5636/28004 4924/5639/28005 +f 4936/5641/28006 4942/5643/28007 5084/5642/28008 +f 5084/5642/28009 5083/5640/28010 4936/5641/28011 +f 4942/5643/28012 4948/5645/28013 5085/5644/28014 +f 5085/5644/28015 5084/5642/28016 4942/5643/28017 +f 4948/5645/28018 4954/5647/28019 5086/5646/28020 +f 5086/5646/28021 5085/5644/28022 4948/5645/28023 +f 4954/5649/28024 4929/5638/28025 5082/5637/28026 +f 5082/5637/28027 5086/5648/28028 4954/5649/28029 +f 4914/5652/28030 4920/5653/28031 4912/5650/28032 +f 4912/5650/28033 4911/5651/28034 4914/5652/28035 +f 4914/5656/28036 4911/5651/28037 4910/5654/28038 +f 4910/5654/28039 4909/5655/28040 4914/5656/28041 +f 4915/5658/28042 4920/5659/28043 4914/5657/28044 +f 4914/5657/28045 4909/5655/28046 4915/5658/28047 +f 4909/5655/28048 4916/5661/28049 4908/5660/28050 +f 4908/5660/28051 4915/5658/28052 4909/5655/28053 +f 4910/5654/28054 4917/5662/28055 4916/5661/28056 +f 4916/5661/28057 4909/5655/28058 4910/5654/28059 +f 4911/5651/28060 4918/5663/28061 4917/5662/28062 +f 4917/5662/28063 4910/5654/28064 4911/5651/28065 +f 4912/5650/28066 4919/5664/28067 4918/5663/28068 +f 4918/5663/28069 4911/5651/28070 4912/5650/28071 +f 4920/5653/28072 4913/5665/28073 4919/5664/28074 +f 4919/5664/28075 4912/5650/28076 4920/5653/28077 +f 4915/5658/28078 4908/5660/28079 4913/5666/28080 +f 4913/5666/28081 4920/5659/28082 4915/5658/28083 +f 4928/5670/28084 4925/5671/28085 5087/5668/28086 +f 5087/5668/28087 5088/5669/28088 4928/5670/28089 +f 4921/5672/28090 4932/5673/28091 4908/5660/28092 +f 4908/5660/28093 4916/5661/28094 4921/5672/28095 +f 4922/5674/28096 4931/5675/28097 4932/5673/28098 +f 4932/5673/28099 4921/5672/28100 4922/5674/28101 +f 4923/5678/28102 4930/5679/28103 5070/5676/28104 +f 5070/5676/28105 5069/5677/28106 4923/5678/28107 +f 4924/5639/28108 4929/5638/28109 5076/5680/28110 +f 5076/5680/28111 5075/5681/28112 4924/5639/28113 +f 4925/5671/28114 4937/5683/28115 5089/5682/28116 +f 5089/5682/28117 5087/5668/28118 4925/5671/28119 +f 4933/5684/28120 4921/5672/28121 4916/5661/28122 +f 4916/5661/28123 4917/5662/28124 4933/5684/28125 +f 4934/5685/28126 4922/5674/28127 4921/5672/28128 +f 4921/5672/28129 4933/5684/28130 4934/5685/28131 +f 4935/5687/28132 4923/5678/28133 5069/5677/28134 +f 5069/5677/28135 5071/5686/28136 4935/5687/28137 +f 4936/5641/28138 4924/5639/28139 5075/5681/28140 +f 5075/5681/28141 5077/5688/28142 4936/5641/28143 +f 4937/5683/28144 4943/5690/28145 5090/5689/28146 +f 5090/5689/28147 5089/5682/28148 4937/5683/28149 +f 4939/5691/28150 4933/5684/28151 4917/5662/28152 +f 4917/5662/28153 4918/5663/28154 4939/5691/28155 +f 4940/5692/28156 4934/5685/28157 4933/5684/28158 +f 4933/5684/28159 4939/5691/28160 4940/5692/28161 +f 4941/5694/28162 4935/5687/28163 5071/5686/28164 +f 5071/5686/28165 5072/5693/28166 4941/5694/28167 +f 4942/5643/28168 4936/5641/28169 5077/5688/28170 +f 5077/5688/28171 5078/5695/28172 4942/5643/28173 +f 4943/5690/28174 4949/5697/28175 5091/5696/28176 +f 5091/5696/28177 5090/5689/28178 4943/5690/28179 +f 4945/5698/28180 4939/5691/28181 4918/5663/28182 +f 4918/5663/28183 4919/5664/28184 4945/5698/28185 +f 4946/5699/28186 4940/5692/28187 4939/5691/28188 +f 4939/5691/28189 4945/5698/28190 4946/5699/28191 +f 4947/5701/28192 4941/5694/28193 5072/5693/28194 +f 5072/5693/28195 5073/5700/28196 4947/5701/28197 +f 4948/5645/28198 4942/5643/28199 5078/5695/28200 +f 5078/5695/28201 5079/5702/28202 4948/5645/28203 +f 4949/5697/28204 4955/5704/28205 5092/5703/28206 +f 5092/5703/28207 5091/5696/28208 4949/5697/28209 +f 4951/5705/28210 4945/5698/28211 4919/5664/28212 +f 4919/5664/28213 4913/5665/28214 4951/5705/28215 +f 4952/5706/28216 4946/5699/28217 4945/5698/28218 +f 4945/5698/28219 4951/5705/28220 4952/5706/28221 +f 4953/5708/28222 4947/5701/28223 5073/5700/28224 +f 5073/5700/28225 5074/5707/28226 4953/5708/28227 +f 4954/5647/28228 4948/5645/28229 5079/5702/28230 +f 5079/5702/28231 5080/5709/28232 4954/5647/28233 +f 4955/5711/28234 4928/5670/28235 5088/5669/28236 +f 5088/5669/28237 5092/5710/28238 4955/5711/28239 +f 4908/5660/28240 4932/5673/28241 4951/5712/28242 +f 4951/5712/28243 4913/5666/28244 4908/5660/28245 +f 4931/5675/28246 4952/5713/28247 4951/5712/28248 +f 4951/5712/28249 4932/5673/28250 4931/5675/28251 +f 4930/5679/28252 4953/5715/28253 5074/5714/28254 +f 5074/5714/28255 5070/5676/28256 4930/5679/28257 +f 4929/5638/28258 4954/5649/28259 5080/5716/28260 +f 5080/5716/28261 5076/5680/28262 4929/5638/28263 +f 4958/5719/28264 4957/5720/28265 5100/5717/28266 +f 5100/5717/28267 5099/5718/28268 4958/5719/28269 +f 5003/5723/28270 5004/5724/28271 5094/5721/28272 +f 5094/5721/28273 5093/5722/28274 5003/5723/28275 +f 4957/5720/28276 4962/5726/28277 5101/5725/28278 +f 5101/5725/28279 5100/5717/28280 4957/5720/28281 +f 5004/5724/28282 5005/5728/28283 5095/5727/28284 +f 5095/5727/28285 5094/5721/28286 5004/5724/28287 +f 4962/5726/28288 4965/5730/28289 5102/5729/28290 +f 5102/5729/28291 5101/5725/28292 4962/5726/28293 +f 5005/5728/28294 5006/5732/28295 5096/5731/28296 +f 5096/5731/28297 5095/5727/28298 5005/5728/28299 +f 4965/5730/28300 4968/5734/28301 5103/5733/28302 +f 5103/5733/28303 5102/5729/28304 4965/5730/28305 +f 5006/5732/28306 5007/5736/28307 5097/5735/28308 +f 5097/5735/28309 5096/5731/28310 5006/5732/28311 +f 4968/5739/28312 4971/5740/28313 5104/5737/28314 +f 5104/5737/28315 5103/5738/28316 4968/5739/28317 +f 5007/5743/28318 5008/5744/28319 5098/5741/28320 +f 5098/5741/28321 5097/5742/28322 5007/5743/28323 +f 4971/5740/28324 4958/5719/28325 5099/5718/28326 +f 5099/5718/28327 5104/5737/28328 4971/5740/28329 +f 5008/5744/28330 5003/5723/28331 5093/5722/28332 +f 5093/5722/28333 5098/5741/28334 5008/5744/28335 +s 2 +f 4974/5747/28336 4973/5748/28337 5020/5745/28338 +f 5020/5745/28339 5021/5746/28340 4974/5747/28341 +f 4975/5750/28342 4974/5747/28343 5021/5888/28344 +f 5021/5888/28345 4970/5749/28346 4975/5750/28347 +f 4976/5752/28348 4975/5750/28349 4970/5889/28350 +f 4970/5889/28351 4967/5751/28352 4976/5752/28353 +f 4977/5755/28354 4976/5756/28355 4967/5753/28356 +f 4967/5753/28357 4964/5754/28358 4977/5755/28359 +f 4978/5758/28360 4977/5755/28361 4964/5890/28362 +f 4964/5890/28363 4961/5757/28364 4978/5758/28365 +f 4973/5748/28366 4978/5758/28367 4961/5891/28368 +f 4961/5891/28369 5020/5886/28370 4973/5748/28371 +f 4980/5761/28372 4979/5762/28373 4960/5759/28374 +f 4960/5759/28375 4959/5760/28376 4980/5761/28377 +f 4981/5764/28378 4980/5761/28379 4959/5887/28380 +f 4959/5887/28381 4963/5763/28382 4981/5764/28383 +f 4982/5766/28384 4981/5764/28385 4963/5893/28386 +f 4963/5893/28387 4966/5765/28388 4982/5766/28389 +f 4983/5768/28390 4982/5766/28391 4966/5894/28392 +f 4966/5894/28393 4969/5767/28394 4983/5768/28395 +f 4984/5771/28396 4983/5772/28397 4969/5769/28398 +f 4969/5769/28399 4972/5770/28400 4984/5771/28401 +f 4979/5762/28402 4984/5771/28403 4972/5895/28404 +f 4972/5895/28405 4960/5892/28406 4979/5762/28407 +s 1 +f 4986/5773/28408 4985/5774/28409 4973/5748/28410 +f 4973/5748/28411 4974/5747/28412 4986/5773/28413 +f 4987/5775/28414 4986/5773/28415 4974/5747/28416 +f 4974/5747/28417 4975/5750/28418 4987/5775/28419 +f 4988/5776/28420 4987/5775/28421 4975/5750/28422 +f 4975/5750/28423 4976/5752/28424 4988/5776/28425 +f 4989/5777/28426 4988/5778/28427 4976/5756/28428 +f 4976/5756/28429 4977/5755/28430 4989/5777/28431 +f 4990/5779/28432 4989/5777/28433 4977/5755/28434 +f 4977/5755/28435 4978/5758/28436 4990/5779/28437 +f 4985/5774/28438 4990/5779/28439 4978/5758/28440 +f 4978/5758/28441 4973/5748/28442 4985/5774/28443 +f 4992/5780/28444 4991/5781/28445 4979/5762/28446 +f 4979/5762/28447 4980/5761/28448 4992/5780/28449 +f 4993/5782/28450 4992/5780/28451 4980/5761/28452 +f 4980/5761/28453 4981/5764/28454 4993/5782/28455 +f 4994/5783/28456 4993/5782/28457 4981/5764/28458 +f 4981/5764/28459 4982/5766/28460 4994/5783/28461 +f 4995/5784/28462 4994/5783/28463 4982/5766/28464 +f 4982/5766/28465 4983/5768/28466 4995/5784/28467 +f 4996/5785/28468 4995/5786/28469 4983/5772/28470 +f 4983/5772/28471 4984/5771/28472 4996/5785/28473 +f 4991/5781/28474 4996/5785/28475 4984/5771/28476 +f 4984/5771/28477 4979/5762/28478 4991/5781/28479 +f 4998/5787/28480 4997/5788/28481 4985/5774/28482 +f 4985/5774/28483 4986/5773/28484 4998/5787/28485 +f 4999/5789/28486 4998/5787/28487 4986/5773/28488 +f 4986/5773/28489 4987/5775/28490 4999/5789/28491 +f 5000/5790/28492 4999/5789/28493 4987/5775/28494 +f 4987/5775/28495 4988/5776/28496 5000/5790/28497 +f 5001/5791/28498 5000/5792/28499 4988/5778/28500 +f 4988/5778/28501 4989/5777/28502 5001/5791/28503 +f 5002/5793/28504 5001/5791/28505 4989/5777/28506 +f 4989/5777/28507 4990/5779/28508 5002/5793/28509 +f 4997/5788/28510 5002/5793/28511 4990/5779/28512 +f 4990/5779/28513 4985/5774/28514 4997/5788/28515 +f 5004/5724/28516 5003/5723/28517 4991/5781/28518 +f 4991/5781/28519 4992/5780/28520 5004/5724/28521 +f 5005/5728/28522 5004/5724/28523 4992/5780/28524 +f 4992/5780/28525 4993/5782/28526 5005/5728/28527 +f 5006/5732/28528 5005/5728/28529 4993/5782/28530 +f 4993/5782/28531 4994/5783/28532 5006/5732/28533 +f 5007/5736/28534 5006/5732/28535 4994/5783/28536 +f 4994/5783/28537 4995/5784/28538 5007/5736/28539 +f 5008/5744/28540 5007/5743/28541 4995/5786/28542 +f 4995/5786/28543 4996/5785/28544 5008/5744/28545 +f 5003/5723/28546 5008/5744/28547 4996/5785/28548 +f 4996/5785/28549 4991/5781/28550 5003/5723/28551 +f 5012/5796/28552 5011/5797/28553 5010/5794/28554 +f 5010/5794/28555 5009/5795/28556 5012/5796/28557 +f 5012/5796/28558 5014/5799/28559 5013/5798/28560 +f 5013/5798/28561 5011/5797/28562 5012/5796/28563 +f 5015/5800/28564 5014/5799/28565 5012/5796/28566 +f 5012/5796/28567 5009/5795/28568 5015/5800/28569 +f 5014/5799/28570 5015/5800/28571 5016/5801/28572 +f 5016/5801/28573 5017/5802/28574 5014/5799/28575 +f 5013/5798/28576 5014/5799/28577 5017/5802/28578 +f 5017/5802/28579 5022/5803/28580 5013/5798/28581 +f 5011/5885/28582 5013/5798/28583 5022/5803/28584 +f 5022/5803/28585 5018/5804/28586 5011/5885/28587 +f 5010/5806/28588 5011/5885/28589 5018/5804/28590 +f 5018/5804/28591 5019/5805/28592 5010/5806/28593 +f 5009/5884/28594 5010/5809/28595 5019/5807/28596 +f 5019/5807/28597 5023/5808/28598 5009/5884/28599 +f 5015/5800/28600 5009/5884/28601 5023/5808/28602 +f 5023/5808/28603 5016/5801/28604 5015/5800/28605 +f 5021/5878/28606 5020/5667/28607 5105/5810/28608 +f 5105/5810/28609 5106/5811/28610 5021/5878/28611 +f 5020/5667/28612 4961/5883/28613 5107/5812/28614 +f 5107/5812/28615 5105/5810/28616 5020/5667/28617 +f 4961/5883/28618 4964/5882/28619 5108/5813/28620 +f 5108/5813/28621 5107/5812/28622 4961/5883/28623 +f 4964/5882/28624 4967/5881/28625 5109/5814/28626 +f 5109/5814/28627 5108/5813/28628 4964/5882/28629 +f 4967/5880/28630 4970/5879/28631 5110/5815/28632 +f 5110/5815/28633 5109/5816/28634 4967/5880/28635 +f 4970/5879/28636 5021/5878/28637 5106/5811/28638 +f 5106/5811/28639 5110/5815/28640 4970/5879/28641 +f 5030/5819/28642 5029/5820/28643 5024/5817/28644 +f 5024/5817/28645 5025/5818/28646 5030/5819/28647 +s 2 +f 5031/5822/28648 5030/5819/28649 5025/5818/28650 +f 5025/5818/28651 5026/5821/28652 5031/5822/28653 +s 4 +f 5032/5825/28654 5031/5826/28655 5026/5823/28656 +f 5026/5823/28657 5027/5824/28658 5032/5825/28659 +f 5033/5828/28660 5032/5825/28661 5027/5824/28662 +f 5027/5824/28663 5028/5827/28664 5033/5828/28665 +s 1 +f 5029/5820/28666 5033/5828/28667 5028/5827/28668 +f 5028/5827/28669 5024/5817/28670 5029/5820/28671 +f 5035/5829/28672 5034/5830/28673 5029/5820/28674 +f 5029/5820/28675 5030/5819/28676 5035/5829/28677 +s 2 +f 5036/5831/28678 5035/5829/28679 5030/5819/28680 +f 5030/5819/28681 5031/5822/28682 5036/5831/28683 +s 4 +f 5037/5832/28684 5036/5833/28685 5031/5826/28686 +f 5031/5826/28687 5032/5825/28688 5037/5832/28689 +f 5038/5834/28690 5037/5832/28691 5032/5825/28692 +f 5032/5825/28693 5033/5828/28694 5038/5834/28695 +s 1 +f 5034/5830/28696 5038/5834/28697 5033/5828/28698 +f 5033/5828/28699 5029/5820/28700 5034/5830/28701 +f 5040/5835/28702 5039/5836/28703 5034/5830/28704 +f 5034/5830/28705 5035/5829/28706 5040/5835/28707 +s 2 +f 5041/5837/28708 5040/5835/28709 5035/5829/28710 +f 5035/5829/28711 5036/5831/28712 5041/5837/28713 +s 4 +f 5042/5838/28714 5041/5839/28715 5036/5833/28716 +f 5036/5833/28717 5037/5832/28718 5042/5838/28719 +f 5043/5840/28720 5042/5838/28721 5037/5832/28722 +f 5037/5832/28723 5038/5834/28724 5043/5840/28725 +s 1 +f 5039/5836/28726 5043/5840/28727 5038/5834/28728 +f 5038/5834/28729 5034/5830/28730 5039/5836/28731 +f 5045/5841/28732 5044/5842/28733 5039/5836/28734 +f 5039/5836/28735 5040/5835/28736 5045/5841/28737 +s 2 +f 5046/5843/28738 5045/5841/28739 5040/5835/28740 +f 5040/5835/28741 5041/5837/28742 5046/5843/28743 +s 4 +f 5047/5844/28744 5046/5845/28745 5041/5839/28746 +f 5041/5839/28747 5042/5838/28748 5047/5844/28749 +f 5048/5846/28750 5047/5844/28751 5042/5838/28752 +f 5042/5838/28753 5043/5840/28754 5048/5846/28755 +s 1 +f 5044/5842/28756 5048/5846/28757 5043/5840/28758 +f 5043/5840/28759 5039/5836/28760 5044/5842/28761 +f 5050/5847/28762 5049/5848/28763 5044/5842/28764 +f 5044/5842/28765 5045/5841/28766 5050/5847/28767 +s 2 +f 5051/5849/28768 5050/5847/28769 5045/5841/28770 +f 5045/5841/28771 5046/5843/28772 5051/5849/28773 +s 4 +f 5052/5850/28774 5051/5851/28775 5046/5845/28776 +f 5046/5845/28777 5047/5844/28778 5052/5850/28779 +f 5053/5852/28780 5052/5850/28781 5047/5844/28782 +f 5047/5844/28783 5048/5846/28784 5053/5852/28785 +s 1 +f 5049/5848/28786 5053/5852/28787 5048/5846/28788 +f 5048/5846/28789 5044/5842/28790 5049/5848/28791 +f 5055/5853/28792 5054/5854/28793 5049/5848/28794 +f 5049/5848/28795 5050/5847/28796 5055/5853/28797 +s 2 +f 5056/5855/28798 5055/5853/28799 5050/5847/28800 +f 5050/5847/28801 5051/5849/28802 5056/5855/28803 +s 4 +f 5057/5856/28804 5056/5857/28805 5051/5851/28806 +f 5051/5851/28807 5052/5850/28808 5057/5856/28809 +f 5058/5858/28810 5057/5856/28811 5052/5850/28812 +f 5052/5850/28813 5053/5852/28814 5058/5858/28815 +s 1 +f 5054/5854/28816 5058/5858/28817 5053/5852/28818 +f 5053/5852/28819 5049/5848/28820 5054/5854/28821 +f 5060/5859/28822 5059/5860/28823 5054/5854/28824 +f 5054/5854/28825 5055/5853/28826 5060/5859/28827 +s 2 +f 5061/5861/28828 5060/5859/28829 5055/5853/28830 +f 5055/5853/28831 5056/5855/28832 5061/5861/28833 +s 4 +f 5062/5862/28834 5061/5863/28835 5056/5857/28836 +f 5056/5857/28837 5057/5856/28838 5062/5862/28839 +f 5063/5864/28840 5062/5862/28841 5057/5856/28842 +f 5057/5856/28843 5058/5858/28844 5063/5864/28845 +s 1 +f 5059/5860/28846 5063/5864/28847 5058/5858/28848 +f 5058/5858/28849 5054/5854/28850 5059/5860/28851 +f 5065/5865/28852 5064/5866/28853 5059/5860/28854 +f 5059/5860/28855 5060/5859/28856 5065/5865/28857 +s 2 +f 5066/5867/28858 5065/5865/28859 5060/5859/28860 +f 5060/5859/28861 5061/5861/28862 5066/5867/28863 +s 4 +f 5067/5868/28864 5066/5869/28865 5061/5863/28866 +f 5061/5863/28867 5062/5862/28868 5067/5868/28869 +f 5068/5870/28870 5067/5868/28871 5062/5862/28872 +f 5062/5862/28873 5063/5864/28874 5068/5870/28875 +s 1 +f 5064/5866/28876 5068/5870/28877 5063/5864/28878 +f 5063/5864/28879 5059/5860/28880 5064/5866/28881 +f 5069/5677/28882 5070/5676/28883 4931/5675/28884 +f 4931/5675/28885 4922/5674/28886 5069/5677/28887 +f 5071/5686/28888 5069/5677/28889 4922/5674/28890 +f 4922/5674/28891 4934/5685/28892 5071/5686/28893 +f 5072/5693/28894 5071/5686/28895 4934/5685/28896 +f 4934/5685/28897 4940/5692/28898 5072/5693/28899 +f 5073/5700/28900 5072/5693/28901 4940/5692/28902 +f 4940/5692/28903 4946/5699/28904 5073/5700/28905 +f 5074/5707/28906 5073/5700/28907 4946/5699/28908 +f 4946/5699/28909 4952/5706/28910 5074/5707/28911 +f 5070/5676/28912 5074/5714/28913 4952/5713/28914 +f 4952/5713/28915 4931/5675/28916 5070/5676/28917 +f 5075/5681/28918 5076/5680/28919 4930/5679/28920 +f 4930/5679/28921 4923/5678/28922 5075/5681/28923 +f 5077/5688/28924 5075/5681/28925 4923/5678/28926 +f 4923/5678/28927 4935/5687/28928 5077/5688/28929 +f 5078/5695/28930 5077/5688/28931 4935/5687/28932 +f 4935/5687/28933 4941/5694/28934 5078/5695/28935 +f 5079/5702/28936 5078/5695/28937 4941/5694/28938 +f 4941/5694/28939 4947/5701/28940 5079/5702/28941 +f 5080/5709/28942 5079/5702/28943 4947/5701/28944 +f 4947/5701/28945 4953/5708/28946 5080/5709/28947 +f 5076/5680/28948 5080/5716/28949 4953/5715/28950 +f 4953/5715/28951 4930/5679/28952 5076/5680/28953 +f 5082/5637/28954 5081/5636/28955 4925/5671/28956 +f 4925/5671/28957 4928/5670/28958 5082/5637/28959 +f 5081/5636/28960 5083/5640/28961 4937/5683/28962 +f 4937/5683/28963 4925/5671/28964 5081/5636/28965 +f 5083/5640/28966 5084/5642/28967 4943/5690/28968 +f 4943/5690/28969 4937/5683/28970 5083/5640/28971 +f 5084/5642/28972 5085/5644/28973 4949/5697/28974 +f 4949/5697/28975 4943/5690/28976 5084/5642/28977 +f 5085/5644/28978 5086/5646/28979 4955/5704/28980 +f 4955/5704/28981 4949/5697/28982 5085/5644/28983 +f 5086/5648/28984 5082/5637/28985 4928/5670/28986 +f 4928/5670/28987 4955/5711/28988 5086/5648/28989 +f 5088/5669/28990 5087/5668/28991 4926/5871/28992 +f 4926/5871/28993 4927/5872/28994 5088/5669/28995 +f 5087/5668/28996 5089/5682/28997 4938/5873/28998 +f 4938/5873/28999 4926/5871/29000 5087/5668/29001 +f 5089/5682/29002 5090/5689/29003 4944/5874/29004 +f 4944/5874/29005 4938/5873/29006 5089/5682/29007 +f 5090/5689/29008 5091/5696/29009 4950/5875/29010 +f 4950/5875/29011 4944/5874/29012 5090/5689/29013 +f 5091/5696/29014 5092/5703/29015 4956/5876/29016 +f 4956/5876/29017 4950/5875/29018 5091/5696/29019 +f 5092/5710/29020 5088/5669/29021 4927/5872/29022 +f 4927/5872/29023 4956/5877/29024 5092/5710/29025 +f 5093/5722/29026 5094/5721/29027 4957/5720/29028 +f 4957/5720/29029 4958/5719/29030 5093/5722/29031 +f 5094/5721/29032 5095/5727/29033 4962/5726/29034 +f 4962/5726/29035 4957/5720/29036 5094/5721/29037 +f 5095/5727/29038 5096/5731/29039 4965/5730/29040 +f 4965/5730/29041 4962/5726/29042 5095/5727/29043 +f 5096/5731/29044 5097/5735/29045 4968/5734/29046 +f 4968/5734/29047 4965/5730/29048 5096/5731/29049 +f 5097/5742/29050 5098/5741/29051 4971/5740/29052 +f 4971/5740/29053 4968/5739/29054 5097/5742/29055 +f 5098/5741/29056 5093/5722/29057 4958/5719/29058 +f 4958/5719/29059 4971/5740/29060 5098/5741/29061 +f 5099/5718/29062 5100/5717/29063 4997/5788/29064 +f 4997/5788/29065 4998/5787/29066 5099/5718/29067 +f 5100/5717/29068 5101/5725/29069 5002/5793/29070 +f 5002/5793/29071 4997/5788/29072 5100/5717/29073 +f 5101/5725/29074 5102/5729/29075 5001/5791/29076 +f 5001/5791/29077 5002/5793/29078 5101/5725/29079 +f 5102/5729/29080 5103/5733/29081 5000/5792/29082 +f 5000/5792/29083 5001/5791/29084 5102/5729/29085 +f 5103/5738/29086 5104/5737/29087 4999/5789/29088 +f 4999/5789/29089 5000/5790/29090 5103/5738/29091 +f 5104/5737/29092 5099/5718/29093 4998/5787/29094 +f 4998/5787/29095 4999/5789/29096 5104/5737/29097 +f 5106/5811/29098 5105/5810/29099 5017/5802/29100 +f 5017/5802/29101 5016/5801/29102 5106/5811/29103 +f 5105/5810/29104 5107/5812/29105 5022/5803/29106 +f 5022/5803/29107 5017/5802/29108 5105/5810/29109 +f 5107/5812/29110 5108/5813/29111 5018/5804/29112 +f 5018/5804/29113 5022/5803/29114 5107/5812/29115 +f 5108/5813/29116 5109/5814/29117 5019/5805/29118 +f 5019/5805/29119 5018/5804/29120 5108/5813/29121 +f 5109/5816/29122 5110/5815/29123 5023/5808/29124 +f 5023/5808/29125 5019/5807/29126 5109/5816/29127 +f 5110/5815/29128 5106/5811/29129 5016/5801/29130 +f 5016/5801/29131 5023/5808/29132 5110/5815/29133 +f 5111/5898/29134 5114/5901/29135 5113/5902/29136 +f 5113/5902/29137 5112/5897/29138 5111/5898/29139 +f 5113/5902/29140 5114/5901/29141 5115/5904/29142 +f 5115/5904/29143 5116/5906/29144 5113/5902/29145 +f 5118/5910/29146 5111/5898/29147 5112/5897/29148 +f 5112/5897/29149 5117/5907/29150 5118/5910/29151 +f 5120/5924/29152 5118/5910/29153 5117/5907/29154 +f 5117/5907/29155 5119/5912/29156 5120/5924/29157 +f 5116/5906/29158 5115/5904/29159 5173/5925/29160 +f 5173/5925/29161 5172/5926/29162 5116/5906/29163 +f 5121/5927/29164 5122/5928/29165 5119/5912/29166 +f 5119/5912/29167 5117/5907/29168 5121/5927/29169 +f 5123/5929/29170 5124/5930/29171 5122/5928/29172 +f 5122/5928/29173 5121/5927/29174 5123/5929/29175 +f 5126/5932/29176 5123/5929/29177 5121/5927/29178 +f 5121/5927/29179 5125/5931/29180 5126/5932/29181 +f 5128/5934/29182 5126/5932/29183 5125/5931/29184 +f 5125/5931/29185 5127/5933/29186 5128/5934/29187 +f 5129/5935/29188 5128/5934/29189 5127/5933/29190 +f 5131/5899/29191 5126/5900/29192 5128/5903/29193 +f 5128/5903/29194 5130/5896/29195 5131/5899/29196 +f 5132/5905/29197 5133/5908/29198 5124/5909/29199 +f 5124/5909/29200 5123/5911/29201 5132/5905/29202 +f 5123/5911/29203 5126/5900/29204 5131/5899/29205 +f 5131/5899/29206 5132/5905/29207 5123/5911/29208 +f 5133/5921/29209 5132/5922/29210 5134/5919/29211 +f 5134/5919/29212 5135/5920/29213 5133/5921/29214 +f 5132/5922/29215 5131/5966/29216 5136/5969/29217 +f 5136/5969/29218 5134/5919/29219 5132/5922/29220 +f 5136/5969/29221 5131/5966/29222 5130/5970/29223 +f 5130/5970/29224 5137/5974/29225 5136/5969/29226 +f 5128/5903/29227 5129/5913/29228 5138/5914/29229 +f 5138/5914/29230 5130/5896/29231 5128/5903/29232 +f 5137/5974/29233 5130/5970/29234 5138/5976/29235 +f 5138/5976/29236 5139/5975/29237 5137/5974/29238 +f 5142/5937/29239 5125/5931/29240 5121/5927/29241 +f 5121/5927/29242 5140/5936/29243 5142/5937/29244 +f 5140/5936/29245 5121/5927/29246 5117/5907/29247 +f 5117/5907/29248 5112/5897/29249 5140/5936/29250 +f 5112/5897/29251 5113/5902/29252 5140/5936/29253 +f 5141/5938/29254 5140/5936/29255 5113/5902/29256 +f 5113/5902/29257 5116/5906/29258 5141/5938/29259 +f 5143/5939/29260 5142/5937/29261 5140/5936/29262 +f 5140/5936/29263 5141/5938/29264 5143/5939/29265 +f 5125/5931/29266 5142/5937/29267 5144/5940/29268 +f 5144/5940/29269 5127/5933/29270 5125/5931/29271 +f 5144/5940/29272 5142/5937/29273 5145/5941/29274 +f 5127/5933/29275 5144/5940/29276 5146/5942/29277 +f 5146/5942/29278 5129/5935/29279 5127/5933/29280 +f 5145/5941/29281 5148/5943/29282 5144/5940/29283 +f 5147/5944/29284 5146/5942/29285 5144/5940/29286 +f 5148/5943/29287 5147/5944/29288 5144/5940/29289 +f 5149/5945/29290 5150/5946/29291 5148/5943/29292 +f 5148/5943/29293 5145/5941/29294 5149/5945/29295 +f 5145/5941/29296 5142/5937/29297 5151/5947/29298 +f 5151/5947/29299 5149/5945/29300 5145/5941/29301 +f 5152/5948/29302 5151/5947/29303 5142/5937/29304 +f 5142/5937/29305 5143/5939/29306 5152/5948/29307 +f 5143/5939/29308 5141/5938/29309 5154/5949/29310 +f 5153/5950/29311 5152/5948/29312 5143/5939/29313 +f 5143/5939/29314 5154/5949/29315 5153/5950/29316 +f 5156/5952/29317 5154/5949/29318 5157/5953/29319 +f 5157/5953/29320 5155/5951/29321 5156/5952/29322 +f 5159/5955/29323 5157/5953/29324 5161/5956/29325 +f 5161/5956/29326 5158/5954/29327 5159/5955/29328 +f 5141/5938/29329 5116/5906/29330 5161/5956/29331 +f 5160/5957/29332 5169/5959/29333 5116/5906/29334 +f 5116/5906/29335 5172/5926/29336 5160/5957/29337 +f 5161/5956/29338 5162/5962/29339 5163/5960/29340 +f 5163/5960/29341 5183/5961/29342 5161/5956/29343 +s 2 +f 5161/5956/29344 5183/5961/29345 5164/5963/29346 +f 5164/5963/29347 5158/5954/29348 5161/5956/29349 +f 5165/5964/29350 5180/5965/29351 5153/5950/29352 +f 5153/5950/29353 5154/5949/29354 5165/5964/29355 +s 4 +f 5166/5967/29356 5165/5964/29357 5154/5949/29358 +f 5154/5949/29359 5156/5952/29360 5166/5967/29361 +f 5157/5953/29362 5159/5955/29363 5167/5968/29364 +f 5167/5968/29365 5182/5978/29366 5157/5953/29367 +s 2 +f 5157/5953/29368 5182/5978/29369 5168/5985/29370 +f 5168/5985/29371 5155/5951/29372 5157/5953/29373 +s 8 +f 5166/5967/29374 5156/5952/29375 5155/5951/29376 +f 5155/5951/29377 5168/5985/29378 5166/5967/29379 +s 4 +f 5167/5968/29380 5159/5955/29381 5158/5954/29382 +f 5158/5954/29383 5164/5963/29384 5167/5968/29385 +s 1 +f 5169/5959/29386 5161/5956/29387 5116/5906/29388 +f 5162/5962/29389 5161/5956/29390 5169/5959/29391 +f 5162/5962/29392 5169/5959/29393 5170/5986/29394 +f 5170/5986/29395 5163/5960/29396 5162/5962/29397 +f 5160/5957/29398 5171/5987/29399 5170/5986/29400 +f 5170/5986/29401 5169/5959/29402 5160/5957/29403 +f 5171/5987/29404 5160/5957/29405 5172/5926/29406 +f 5172/5926/29407 5173/5925/29408 5171/5987/29409 +s 2 +f 5129/5935/29410 5146/5942/29411 5139/5988/29412 +f 5139/5988/29413 5138/5989/29414 5129/5935/29415 +f 5146/5942/29416 5147/5944/29417 5174/5990/29418 +f 5174/5990/29419 5139/5988/29420 5146/5942/29421 +s 1 +f 5139/5975/29422 5174/5979/29423 5175/5977/29424 +f 5175/5977/29425 5137/5974/29426 5139/5975/29427 +s 4 +f 5177/5998/29428 5150/5946/29429 5149/5945/29430 +f 5149/5945/29431 5176/5997/29432 5177/5998/29433 +f 5149/5945/29434 5151/5947/29435 5178/6001/29436 +f 5178/6001/29437 5176/5997/29438 5149/5945/29439 +f 5152/5948/29440 5179/6002/29441 5178/6001/29442 +f 5178/6001/29443 5151/5947/29444 5152/5948/29445 +f 5153/5950/29446 5180/5965/29447 5179/6002/29448 +f 5179/6002/29449 5152/5948/29450 5153/5950/29451 +s 1 +f 5180/5984/29452 5165/6005/29453 5181/5981/29454 +f 5181/5981/29455 5179/5982/29456 5180/5984/29457 +f 5166/6007/29458 5168/6008/29459 5182/6006/29460 +f 5182/6006/29461 5165/6005/29462 5166/6007/29463 +f 5167/6010/29464 5164/6011/29465 5183/6009/29466 +f 5183/6009/29467 5182/6006/29468 5167/6010/29469 +f 5163/6024/29470 5170/6025/29471 5184/6012/29472 +f 5184/6012/29473 5183/6009/29474 5163/6024/29475 +f 5184/6012/29476 5170/6025/29477 5171/6032/29478 +f 5171/6032/29479 5185/6063/29480 5184/6012/29481 +f 5186/6065/29482 5185/6063/29483 5171/6032/29484 +f 5171/6032/29485 5173/6064/29486 5186/6065/29487 +f 5188/6066/29488 5303/6177/29489 5186/6065/29490 +f 5188/5915/29491 5186/5916/29492 5115/5917/29493 +f 5115/5917/29494 5114/5918/29495 5188/5915/29496 +f 5186/5916/29497 5173/5923/29498 5115/5917/29499 +f 5187/5958/29500 5188/5915/29501 5114/5918/29502 +f 5114/5918/29503 5111/5971/29504 5187/5958/29505 +f 5188/6066/29506 5187/6073/29507 5302/6176/29508 +f 5302/6176/29509 5303/6177/29510 5188/6066/29511 +f 5184/6012/29512 5189/6075/29513 5190/6079/29514 +f 5190/6079/29515 5183/6009/29516 5184/6012/29517 +f 5182/6006/29518 5183/6009/29519 5190/6079/29520 +f 5165/6005/29521 5182/6006/29522 5190/6079/29523 +f 5190/6079/29524 5189/6075/29525 5181/5981/29526 +f 5181/5981/29527 5165/6005/29528 5190/6079/29529 +f 5191/6082/29530 5178/6086/29531 5179/5982/29532 +f 5179/5982/29533 5181/5981/29534 5191/6082/29535 +f 5192/6087/29536 5176/6088/29537 5178/6086/29538 +f 5178/6086/29539 5191/6082/29540 5192/6087/29541 +f 5176/6088/29542 5192/6087/29543 5193/6089/29544 +f 5193/6089/29545 5177/6090/29546 5176/6088/29547 +s 2 +f 5148/5943/29548 5150/5946/29549 5177/5998/29550 +f 5177/5998/29551 5193/6023/29552 5148/5943/29553 +s 4 +f 5147/5944/29554 5148/5943/29555 5193/6023/29556 +f 5193/6023/29557 5174/5990/29558 5147/5944/29559 +s 1 +f 5193/6023/29560 5175/6027/29561 5174/5990/29562 +f 5193/6089/29563 5192/6087/29564 5175/5977/29565 +f 5189/6075/29566 5194/6091/29567 5191/6082/29568 +f 5191/6082/29569 5181/5981/29570 5189/6075/29571 +f 5194/6091/29572 5192/6087/29573 5191/6082/29574 +f 5137/5974/29575 5175/5977/29576 5192/6087/29577 +f 5192/6087/29578 5194/6091/29579 5137/5974/29580 +f 5136/5969/29581 5137/5974/29582 5194/6091/29583 +f 5134/5919/29584 5136/5969/29585 5194/6091/29586 +f 5195/5973/29587 5187/5958/29588 5111/5971/29589 +f 5111/5971/29590 5118/5972/29591 5195/5973/29592 +f 5197/6093/29593 5187/6073/29594 5195/6094/29595 +f 5195/6094/29596 5196/6092/29597 5197/6093/29598 +f 5197/6093/29599 5302/6176/29600 5187/6073/29601 +f 5134/5919/29602 5194/6091/29603 5197/6093/29604 +f 5197/6093/29605 5196/6092/29606 5134/5919/29607 +f 5118/5972/29608 5120/5980/29609 5198/5983/29610 +f 5198/5983/29611 5195/5973/29612 5118/5972/29613 +f 5195/6094/29614 5198/6096/29615 5199/6095/29616 +f 5199/6095/29617 5196/6092/29618 5195/6094/29619 +f 5196/6092/29620 5199/6095/29621 5135/5920/29622 +f 5135/5920/29623 5134/5919/29624 5196/6092/29625 +f 5200/6029/29626 5201/6035/29627 5119/5912/29628 +f 5119/5912/29629 5122/5928/29630 5200/6029/29631 +f 5201/6035/29632 5200/6029/29633 5202/6036/29634 +f 5202/6036/29635 5203/6037/29636 5201/6035/29637 +f 5203/6037/29638 5202/6036/29639 5204/6038/29640 +f 5204/6038/29641 5205/6039/29642 5203/6037/29643 +f 5206/6040/29644 5200/6029/29645 5122/5928/29646 +f 5122/5928/29647 5124/5930/29648 5206/6040/29649 +f 5200/6029/29650 5206/6040/29651 5207/6041/29652 +f 5207/6041/29653 5202/6036/29654 5200/6029/29655 +f 5202/6036/29656 5207/6041/29657 5208/6042/29658 +f 5208/6042/29659 5204/6038/29660 5202/6036/29661 +f 5119/5912/29662 5201/6035/29663 5209/6043/29664 +f 5209/6043/29665 5120/5924/29666 5119/5912/29667 +f 5210/6044/29668 5209/6043/29669 5201/6035/29670 +f 5201/6035/29671 5203/6037/29672 5210/6044/29673 +f 5203/6037/29674 5205/6039/29675 5211/6045/29676 +f 5211/6045/29677 5210/6044/29678 5203/6037/29679 +f 5213/6047/29680 5205/6039/29681 5204/6038/29682 +f 5204/6038/29683 5212/6046/29684 5213/6047/29685 +f 5208/6042/29686 5214/6048/29687 5212/6046/29688 +f 5212/6046/29689 5204/6038/29690 5208/6042/29691 +f 5205/6039/29692 5213/6047/29693 5215/6049/29694 +f 5215/6049/29695 5211/6045/29696 5205/6039/29697 +f 5216/6050/29698 5217/6051/29699 5213/6047/29700 +f 5213/6047/29701 5212/6046/29702 5216/6050/29703 +f 5218/6052/29704 5216/6050/29705 5212/6046/29706 +f 5212/6046/29707 5214/6048/29708 5218/6052/29709 +f 5213/6047/29710 5217/6051/29711 5219/6053/29712 +f 5219/6053/29713 5215/6049/29714 5213/6047/29715 +f 5221/6098/29716 5135/5920/29717 5199/6095/29718 +f 5199/6095/29719 5220/6097/29720 5221/6098/29721 +f 5223/6100/29722 5221/6098/29723 5220/6097/29724 +f 5220/6097/29725 5222/6099/29726 5223/6100/29727 +f 5225/6102/29728 5223/6100/29729 5222/6099/29730 +f 5222/6099/29731 5224/6101/29732 5225/6102/29733 +f 5225/6102/29734 5224/6101/29735 5226/6103/29736 +f 5226/6103/29737 5227/6104/29738 5225/6102/29739 +f 5228/6105/29740 5220/6097/29741 5199/6095/29742 +f 5199/6095/29743 5198/6096/29744 5228/6105/29745 +f 5220/6097/29746 5228/6105/29747 5229/6106/29748 +f 5229/6106/29749 5222/6099/29750 5220/6097/29751 +f 5230/6107/29752 5224/6101/29753 5222/6099/29754 +f 5222/6099/29755 5229/6106/29756 5230/6107/29757 +f 5231/6108/29758 5226/6103/29759 5224/6101/29760 +f 5224/6101/29761 5230/6107/29762 5231/6108/29763 +f 5135/5920/29764 5221/6098/29765 5232/6109/29766 +f 5232/6109/29767 5133/5921/29768 5135/5920/29769 +f 5221/6098/29770 5223/6100/29771 5233/6110/29772 +f 5233/6110/29773 5232/6109/29774 5221/6098/29775 +f 5223/6100/29776 5225/6102/29777 5234/6111/29778 +f 5234/6111/29779 5233/6110/29780 5223/6100/29781 +f 5235/6112/29782 5234/6111/29783 5225/6102/29784 +f 5225/6102/29785 5227/6104/29786 5235/6112/29787 +f 5133/5908/29788 5232/5991/29789 5206/5992/29790 +f 5206/5992/29791 5124/5909/29792 5133/5908/29793 +f 5232/5991/29794 5233/5993/29795 5207/5994/29796 +f 5207/5994/29797 5206/5992/29798 5232/5991/29799 +f 5234/5995/29800 5208/5996/29801 5207/5994/29802 +f 5207/5994/29803 5233/5993/29804 5234/5995/29805 +f 5235/5999/29806 5214/6000/29807 5208/5996/29808 +f 5208/5996/29809 5234/5995/29810 5235/5999/29811 +f 5235/5999/29812 5218/6003/29813 5214/6000/29814 +f 5209/6004/29815 5228/6013/29816 5198/5983/29817 +f 5198/5983/29818 5120/5980/29819 5209/6004/29820 +f 5210/6014/29821 5229/6015/29822 5228/6013/29823 +f 5228/6013/29824 5209/6004/29825 5210/6014/29826 +f 5211/6016/29827 5230/6017/29828 5229/6015/29829 +f 5229/6015/29830 5210/6014/29831 5211/6016/29832 +f 5211/6016/29833 5215/6018/29834 5231/6019/29835 +f 5231/6019/29836 5230/6017/29837 5211/6016/29838 +f 5215/6018/29839 5219/6020/29840 5231/6019/29841 +f 5236/6021/29842 5237/6022/29843 5218/6003/29844 +f 5218/6003/29845 5235/5999/29846 5236/6021/29847 +f 5218/6052/29848 5237/6055/29849 5238/6054/29850 +f 5238/6054/29851 5216/6050/29852 5218/6052/29853 +f 5239/6114/29854 5236/6113/29855 5235/6112/29856 +f 5235/6112/29857 5227/6104/29858 5239/6114/29859 +f 5226/6103/29860 5240/6115/29861 5239/6114/29862 +f 5239/6114/29863 5227/6104/29864 5226/6103/29865 +f 5241/6116/29866 5240/6115/29867 5226/6103/29868 +f 5226/6103/29869 5231/6108/29870 5241/6116/29871 +f 5216/6050/29872 5238/6054/29873 5242/6056/29874 +f 5242/6056/29875 5217/6051/29876 5216/6050/29877 +f 5217/6051/29878 5242/6056/29879 5243/6057/29880 +f 5243/6057/29881 5219/6053/29882 5217/6051/29883 +f 5241/6028/29884 5231/6019/29885 5219/6020/29886 +f 5219/6020/29887 5243/6026/29888 5241/6028/29889 +f 5244/6058/29890 5245/6067/29891 5243/6057/29892 +f 5243/6057/29893 5242/6056/29894 5244/6058/29895 +f 5246/6117/29896 5247/6118/29897 5240/6115/29898 +f 5240/6115/29899 5241/6116/29900 5246/6117/29901 +f 5243/6026/29902 5245/6030/29903 5246/6031/29904 +f 5246/6031/29905 5241/6028/29906 5243/6026/29907 +f 5246/6031/29908 5245/6030/29909 5248/6033/29910 +f 5248/6033/29911 5249/6034/29912 5246/6031/29913 +f 5248/6068/29914 5245/6067/29915 5244/6058/29916 +f 5249/6119/29917 5247/6118/29918 5246/6117/29919 +f 5249/6071/29920 5248/6068/29921 5250/6069/29922 +f 5250/6069/29923 5251/6070/29924 5249/6071/29925 +f 5250/6069/29926 5248/6068/29927 5244/6058/29928 +f 5252/6072/29929 5253/6074/29930 5250/6069/29931 +f 5250/6069/29932 5244/6058/29933 5252/6072/29934 +f 5254/6076/29935 5255/6077/29936 5253/6074/29937 +f 5253/6074/29938 5252/6072/29939 5254/6076/29940 +f 5256/6078/29941 5252/6072/29942 5244/6058/29943 +f 5244/6058/29944 5242/6056/29945 5256/6078/29946 +f 5256/6078/29947 5254/6076/29948 5252/6072/29949 +f 5257/6080/29950 5258/6081/29951 5254/6076/29952 +f 5254/6076/29953 5256/6078/29954 5257/6080/29955 +f 5259/6084/29956 5260/6085/29957 5254/6076/29958 +f 5254/6076/29959 5258/6081/29960 5259/6084/29961 +f 5262/6147/29962 5259/6084/29963 5258/6081/29964 +f 5258/6081/29965 5261/6146/29966 5262/6147/29967 +f 5261/6146/29968 5258/6081/29969 5257/6080/29970 +f 5264/6149/29971 5262/6147/29972 5261/6146/29973 +f 5261/6146/29974 5263/6148/29975 5264/6149/29976 +f 5265/6150/29977 5263/6148/29978 5267/6152/29979 +f 5267/6152/29980 5268/6153/29981 5265/6150/29982 +f 5270/6155/29983 5268/6153/29984 5267/6152/29985 +f 5267/6152/29986 5269/6154/29987 5270/6155/29988 +f 5261/6146/29989 5257/6080/29990 5267/6152/29991 +f 5267/6152/29992 5263/6148/29993 5261/6146/29994 +f 5271/6156/29995 5272/6157/29996 5299/6158/29997 +f 5273/6159/29998 5271/6156/29999 5267/6152/30000 +f 5267/6152/30001 5257/6080/30002 5273/6159/30003 +f 5257/6080/30004 5256/6078/30005 5242/6056/30006 +f 5242/6056/30007 5238/6054/30008 5257/6080/30009 +f 5273/6159/30010 5257/6080/30011 5238/6054/30012 +f 5274/6160/30013 5273/6159/30014 5238/6054/30015 +f 5238/6054/30016 5237/6055/30017 5274/6160/30018 +f 5275/6161/30019 5271/6156/30020 5273/6159/30021 +f 5273/6159/30022 5274/6160/30023 5275/6161/30024 +f 5276/6060/30025 5274/6059/30026 5237/6022/30027 +f 5237/6022/30028 5236/6021/30029 5276/6060/30030 +f 5274/6059/30031 5276/6060/30032 5277/6061/30033 +f 5277/6061/30034 5275/6062/30035 5274/6059/30036 +f 5278/6120/30037 5279/6121/30038 5240/6115/30039 +f 5240/6115/30040 5247/6118/30041 5278/6120/30042 +f 5286/6122/30043 5280/6123/30044 5279/6121/30045 +f 5279/6121/30046 5278/6120/30047 5286/6122/30048 +f 5239/6114/30049 5240/6115/30050 5279/6121/30051 +f 5279/6121/30052 5280/6123/30053 5239/6114/30054 +f 5281/6124/30055 5239/6114/30056 5280/6123/30057 +f 5247/6118/30058 5249/6119/30059 5251/6125/30060 +f 5251/6125/30061 5278/6120/30062 5247/6118/30063 +f 5278/6120/30064 5251/6125/30065 5282/6126/30066 +f 5282/6126/30067 5286/6122/30068 5278/6120/30069 +f 5253/6074/30070 5282/6162/30071 5251/6070/30072 +f 5251/6070/30073 5250/6069/30074 5253/6074/30075 +f 5253/6074/30076 5255/6077/30077 5283/6163/30078 +f 5283/6163/30079 5282/6162/30080 5253/6074/30081 +f 5286/6122/30082 5282/6126/30083 5283/6127/30084 +s 2 +f 5285/6165/30085 5260/6085/30086 5259/6084/30087 +f 5259/6084/30088 5284/6164/30089 5285/6165/30090 +s 1 +f 5286/6122/30091 5285/6129/30092 5284/6130/30093 +f 5284/6130/30094 5288/6128/30095 5286/6122/30096 +s 4 +f 5285/6165/30097 5286/6166/30098 5254/6076/30099 +f 5254/6076/30100 5260/6085/30101 5285/6165/30102 +s 2 +f 5283/6163/30103 5255/6077/30104 5254/6076/30105 +f 5254/6076/30106 5286/6166/30107 5283/6163/30108 +f 5259/6084/30109 5262/6147/30110 5287/6167/30111 +f 5287/6167/30112 5284/6164/30113 5259/6084/30114 +s 1 +f 5288/6128/30115 5284/6130/30116 5287/6131/30117 +s 2 +f 5262/6147/30118 5264/6149/30119 5289/6168/30120 +f 5289/6168/30121 5287/6167/30122 5262/6147/30123 +s 1 +f 5287/6131/30124 5289/6133/30125 5290/6132/30126 +f 5290/6132/30127 5288/6128/30128 5287/6131/30129 +f 5286/6122/30130 5288/6128/30131 5280/6123/30132 +f 5280/6123/30133 5288/6128/30134 5290/6132/30135 +s 2 +f 5289/6168/30136 5264/6149/30137 5266/6151/30138 +f 5266/6151/30139 5291/6169/30140 5289/6168/30141 +s 1 +f 5289/6133/30142 5291/6135/30143 5292/6134/30144 +f 5292/6134/30145 5290/6132/30146 5289/6133/30147 +f 5293/6136/30148 5294/6137/30149 5290/6132/30150 +f 5290/6132/30151 5292/6134/30152 5293/6136/30153 +f 5280/6123/30154 5290/6132/30155 5294/6137/30156 +f 5294/6137/30157 5293/6136/30158 5295/6138/30159 +f 5295/6138/30160 5296/6139/30161 5294/6137/30162 +f 5280/6123/30163 5294/6137/30164 5297/6140/30165 +f 5297/6140/30166 5281/6124/30167 5280/6123/30168 +f 5297/6140/30169 5277/6141/30170 5276/6142/30171 +f 5276/6142/30172 5281/6124/30173 5297/6140/30174 +f 5236/6113/30175 5239/6114/30176 5281/6124/30177 +f 5281/6124/30178 5276/6142/30179 5236/6113/30180 +f 5294/6137/30181 5296/6139/30182 5300/6143/30183 +f 5297/6140/30184 5294/6137/30185 5300/6143/30186 +f 5297/6140/30187 5300/6143/30188 5301/6144/30189 +f 5301/6144/30190 5298/6145/30191 5277/6141/30192 +f 5277/6141/30193 5297/6140/30194 5301/6144/30195 +f 5275/6062/30196 5277/6061/30197 5298/6083/30198 +f 5275/6161/30199 5298/6170/30200 5272/6157/30201 +f 5272/6157/30202 5271/6156/30203 5275/6161/30204 +s 4 +f 5292/6171/30205 5291/6169/30206 5266/6151/30207 +f 5266/6151/30208 5265/6150/30209 5292/6171/30210 +s 1 +f 5293/6173/30211 5268/6153/30212 5270/6155/30213 +f 5270/6155/30214 5295/6172/30215 5293/6173/30216 +f 5268/6153/30217 5293/6173/30218 5292/6171/30219 +f 5292/6171/30220 5265/6150/30221 5268/6153/30222 +f 5295/6172/30223 5270/6155/30224 5269/6154/30225 +f 5269/6154/30226 5296/6174/30227 5295/6172/30228 +f 5296/6174/30229 5269/6154/30230 5299/6158/30231 +f 5299/6158/30232 5300/6175/30233 5296/6174/30234 +f 5271/6156/30235 5299/6158/30236 5269/6154/30237 +f 5269/6154/30238 5267/6152/30239 5271/6156/30240 +f 5272/6157/30241 5298/6170/30242 5300/6175/30243 +f 5300/6175/30244 5299/6158/30245 5272/6157/30246 +f 5300/6143/30247 5298/6145/30248 5301/6144/30249 +f 5154/5949/30250 5141/5938/30251 5157/5953/30252 +f 5157/5953/30253 5141/5938/30254 5161/5956/30255 +f 5266/6151/30256 5264/6149/30257 5263/6148/30258 +f 5263/6148/30259 5265/6150/30260 5266/6151/30261 +f 5197/6093/30262 5194/6091/30263 5189/6075/30264 +f 5189/6075/30265 5302/6176/30266 5197/6093/30267 +f 5189/6075/30268 5184/6012/30269 5303/6177/30270 +f 5303/6177/30271 5302/6176/30272 5189/6075/30273 +f 5184/6012/30274 5185/6063/30275 5186/6065/30276 +f 5186/6065/30277 5303/6177/30278 5184/6012/30279 +f 5304/6180/30280 5320/6181/30281 5321/6178/30282 +f 5321/6178/30283 5305/6179/30284 5304/6180/30285 +f 5305/6179/30286 5321/6178/30287 5322/6182/30288 +f 5322/6182/30289 5306/6183/30290 5305/6179/30291 +f 5306/6183/30292 5322/6182/30293 5323/6184/30294 +f 5323/6184/30295 5307/6185/30296 5306/6183/30297 +f 5307/6185/30298 5323/6184/30299 5324/6186/30300 +f 5324/6186/30301 5308/6187/30302 5307/6185/30303 +f 5308/6187/30304 5324/6186/30305 5325/6188/30306 +f 5325/6188/30307 5309/6189/30308 5308/6187/30309 +f 5309/6189/30310 5325/6188/30311 5326/6190/30312 +f 5326/6190/30313 5310/6191/30314 5309/6189/30315 +f 5310/6191/30316 5326/6190/30317 5327/6192/30318 +f 5327/6192/30319 5311/6193/30320 5310/6191/30321 +f 5311/6193/30322 5327/6192/30323 5328/6194/30324 +f 5328/6194/30325 5312/6195/30326 5311/6193/30327 +f 5312/6195/30328 5328/6194/30329 5329/6196/30330 +f 5329/6196/30331 5313/6197/30332 5312/6195/30333 +f 5313/6197/30334 5329/6196/30335 5330/6198/30336 +f 5330/6198/30337 5314/6199/30338 5313/6197/30339 +f 5314/6199/30340 5330/6198/30341 5331/6200/30342 +f 5331/6200/30343 5315/6201/30344 5314/6199/30345 +f 5315/6201/30346 5331/6200/30347 5332/6202/30348 +f 5332/6202/30349 5316/6203/30350 5315/6201/30351 +f 5316/6203/30352 5332/6202/30353 5333/6204/30354 +f 5333/6204/30355 5317/6205/30356 5316/6203/30357 +f 5317/6205/30358 5333/6204/30359 5334/6206/30360 +f 5334/6206/30361 5318/6207/30362 5317/6205/30363 +f 5318/6207/30364 5334/6206/30365 5335/6208/30366 +f 5335/6208/30367 5319/6209/30368 5318/6207/30369 +f 5319/6209/30370 5335/6208/30371 5320/6181/30372 +f 5320/6181/30373 5304/6180/30374 5319/6209/30375 +f 5320/6181/30376 5336/6211/30377 5337/6210/30378 +f 5337/6210/30379 5321/6178/30380 5320/6181/30381 +f 5321/6178/30382 5337/6210/30383 5338/6212/30384 +f 5338/6212/30385 5322/6182/30386 5321/6178/30387 +f 5322/6182/30388 5338/6212/30389 5339/6213/30390 +f 5339/6213/30391 5323/6184/30392 5322/6182/30393 +f 5323/6184/30394 5339/6213/30395 5340/6214/30396 +f 5340/6214/30397 5324/6186/30398 5323/6184/30399 +f 5324/6186/30400 5340/6214/30401 5341/6215/30402 +f 5341/6215/30403 5325/6188/30404 5324/6186/30405 +f 5325/6188/30406 5341/6215/30407 5342/6216/30408 +f 5342/6216/30409 5326/6190/30410 5325/6188/30411 +f 5326/6190/30412 5342/6216/30413 5343/6217/30414 +f 5343/6217/30415 5327/6192/30416 5326/6190/30417 +f 5327/6192/30418 5343/6217/30419 5344/6218/30420 +f 5344/6218/30421 5328/6194/30422 5327/6192/30423 +f 5328/6194/30424 5344/6218/30425 5345/6219/30426 +f 5345/6219/30427 5329/6196/30428 5328/6194/30429 +f 5329/6196/30430 5345/6219/30431 5346/6220/30432 +f 5346/6220/30433 5330/6198/30434 5329/6196/30435 +f 5330/6198/30436 5346/6220/30437 5347/6221/30438 +f 5347/6221/30439 5331/6200/30440 5330/6198/30441 +f 5331/6200/30442 5347/6221/30443 5348/6222/30444 +f 5348/6222/30445 5332/6202/30446 5331/6200/30447 +f 5332/6202/30448 5348/6222/30449 5349/6223/30450 +f 5349/6223/30451 5333/6204/30452 5332/6202/30453 +f 5333/6204/30454 5349/6223/30455 5350/6224/30456 +f 5350/6224/30457 5334/6206/30458 5333/6204/30459 +f 5334/6206/30460 5350/6224/30461 5351/6225/30462 +f 5351/6225/30463 5335/6208/30464 5334/6206/30465 +f 5335/6208/30466 5351/6225/30467 5336/6211/30468 +f 5336/6211/30469 5320/6181/30470 5335/6208/30471 +f 5336/6211/30472 5352/6227/30473 5353/6226/30474 +f 5353/6226/30475 5337/6210/30476 5336/6211/30477 +f 5337/6210/30478 5353/6226/30479 5354/6228/30480 +f 5354/6228/30481 5338/6212/30482 5337/6210/30483 +f 5338/6212/30484 5354/6380/30485 5355/6229/30486 +f 5355/6229/30487 5339/6213/30488 5338/6212/30489 +f 5339/6213/30490 5355/6229/30491 5356/6230/30492 +f 5356/6230/30493 5340/6214/30494 5339/6213/30495 +f 5340/6214/30496 5356/6230/30497 5357/6231/30498 +f 5357/6231/30499 5341/6215/30500 5340/6214/30501 +f 5341/6215/30502 5357/6381/30503 5358/6232/30504 +f 5358/6232/30505 5342/6216/30506 5341/6215/30507 +f 5342/6216/30508 5358/6232/30509 5359/6233/30510 +f 5359/6233/30511 5343/6217/30512 5342/6216/30513 +f 5343/6217/30514 5359/6233/30515 5360/6234/30516 +f 5360/6234/30517 5344/6218/30518 5343/6217/30519 +f 5344/6218/30520 5360/6382/30521 5361/6235/30522 +f 5361/6235/30523 5345/6219/30524 5344/6218/30525 +f 5345/6219/30526 5361/6235/30527 5362/6236/30528 +f 5362/6236/30529 5346/6220/30530 5345/6219/30531 +f 5346/6220/30532 5362/6383/30533 5363/6237/30534 +f 5363/6237/30535 5347/6221/30536 5346/6220/30537 +f 5347/6221/30538 5363/6237/30539 5364/6238/30540 +f 5364/6238/30541 5348/6222/30542 5347/6221/30543 +f 5348/6222/30544 5364/6384/30545 5365/6239/30546 +f 5365/6239/30547 5349/6223/30548 5348/6222/30549 +f 5349/6223/30550 5365/6239/30551 5366/6240/30552 +f 5366/6240/30553 5350/6224/30554 5349/6223/30555 +f 5350/6224/30556 5366/6240/30557 5367/6241/30558 +f 5367/6241/30559 5351/6225/30560 5350/6224/30561 +f 5351/6225/30562 5367/6385/30563 5352/6227/30564 +f 5352/6227/30565 5336/6211/30566 5351/6225/30567 +f 5352/6227/30568 5368/6243/30569 5369/6242/30570 +f 5369/6242/30571 5353/6226/30572 5352/6227/30573 +f 5353/6226/30574 5369/6242/30575 5370/6244/30576 +f 5370/6244/30577 5354/6228/30578 5353/6226/30579 +f 5354/6380/30580 5370/6386/30581 5371/6245/30582 +f 5371/6245/30583 5355/6229/30584 5354/6380/30585 +f 5355/6229/30586 5371/6245/30587 5372/6246/30588 +f 5372/6246/30589 5356/6230/30590 5355/6229/30591 +f 5356/6230/30592 5372/6246/30593 5373/6247/30594 +f 5373/6247/30595 5357/6231/30596 5356/6230/30597 +f 5357/6381/30598 5373/6387/30599 5374/6248/30600 +f 5374/6248/30601 5358/6232/30602 5357/6381/30603 +f 5358/6232/30604 5374/6248/30605 5375/6249/30606 +f 5375/6249/30607 5359/6233/30608 5358/6232/30609 +f 5359/6233/30610 5375/6249/30611 5376/6250/30612 +f 5376/6250/30613 5360/6234/30614 5359/6233/30615 +f 5360/6382/30616 5376/6388/30617 5377/6251/30618 +f 5377/6251/30619 5361/6235/30620 5360/6382/30621 +f 5361/6235/30622 5377/6251/30623 5378/6252/30624 +f 5378/6252/30625 5362/6236/30626 5361/6235/30627 +f 5362/6383/30628 5378/6389/30629 5379/6253/30630 +f 5379/6253/30631 5363/6237/30632 5362/6383/30633 +f 5363/6237/30634 5379/6253/30635 5380/6254/30636 +f 5380/6254/30637 5364/6238/30638 5363/6237/30639 +f 5364/6384/30640 5380/6390/30641 5381/6255/30642 +f 5381/6255/30643 5365/6239/30644 5364/6384/30645 +f 5365/6239/30646 5381/6255/30647 5382/6256/30648 +f 5382/6256/30649 5366/6240/30650 5365/6239/30651 +f 5366/6240/30652 5382/6256/30653 5383/6257/30654 +f 5383/6257/30655 5367/6241/30656 5366/6240/30657 +f 5367/6385/30658 5383/6391/30659 5368/6243/30660 +f 5368/6243/30661 5352/6227/30662 5367/6385/30663 +f 5401/6260/30664 5402/6261/30665 5403/6258/30666 +f 5403/6258/30667 5388/6259/30668 5401/6260/30669 +f 5386/6264/30670 5389/6265/30671 5390/6262/30672 +f 5390/6262/30673 5385/6263/30674 5386/6264/30675 +f 5386/6264/30676 5387/6267/30677 5404/6266/30678 +f 5404/6266/30679 5389/6265/30680 5386/6264/30681 +f 5387/6267/30682 5388/6259/30683 5403/6258/30684 +f 5403/6258/30685 5404/6266/30686 5387/6267/30687 +f 5385/6263/30688 5390/6262/30689 5391/6268/30690 +f 5391/6268/30691 5384/6269/30692 5385/6263/30693 +f 5391/6268/30694 5392/6271/30695 5393/6270/30696 +f 5393/6270/30697 5384/6269/30698 5391/6268/30699 +f 5393/6270/30700 5394/6273/30701 5395/6272/30702 +f 5395/6272/30703 5384/6269/30704 5393/6270/30705 +f 5385/6263/30706 5384/6269/30707 5395/6272/30708 +f 5395/6272/30709 5396/6274/30710 5385/6263/30711 +f 5386/6264/30712 5385/6263/30713 5396/6274/30714 +f 5396/6274/30715 5397/6275/30716 5386/6264/30717 +f 5398/6276/30718 5387/6267/30719 5386/6264/30720 +f 5386/6264/30721 5397/6275/30722 5398/6276/30723 +f 5399/6277/30724 5388/6259/30725 5387/6267/30726 +f 5387/6267/30727 5398/6276/30728 5399/6277/30729 +f 5388/6259/30730 5399/6277/30731 5400/6278/30732 +f 5400/6278/30733 5401/6260/30734 5388/6259/30735 +f 5390/6262/30736 5389/6265/30737 5304/6180/30738 +f 5304/6180/30739 5305/6179/30740 5390/6262/30741 +f 5391/6268/30742 5390/6262/30743 5305/6179/30744 +f 5305/6179/30745 5306/6183/30746 5391/6268/30747 +f 5392/6271/30748 5391/6268/30749 5306/6183/30750 +f 5306/6183/30751 5307/6185/30752 5392/6271/30753 +f 5393/6270/30754 5392/6271/30755 5307/6185/30756 +f 5307/6185/30757 5308/6187/30758 5393/6270/30759 +f 5394/6273/30760 5393/6270/30761 5308/6187/30762 +f 5308/6187/30763 5309/6189/30764 5394/6273/30765 +f 5395/6272/30766 5394/6273/30767 5309/6189/30768 +f 5309/6189/30769 5310/6191/30770 5395/6272/30771 +f 5396/6274/30772 5395/6272/30773 5310/6191/30774 +f 5310/6191/30775 5311/6193/30776 5396/6274/30777 +f 5397/6275/30778 5396/6274/30779 5311/6193/30780 +f 5311/6193/30781 5312/6195/30782 5397/6275/30783 +f 5398/6276/30784 5397/6275/30785 5312/6195/30786 +f 5312/6195/30787 5313/6197/30788 5398/6276/30789 +f 5399/6277/30790 5398/6276/30791 5313/6197/30792 +f 5313/6197/30793 5314/6199/30794 5399/6277/30795 +f 5400/6278/30796 5399/6277/30797 5314/6199/30798 +f 5314/6199/30799 5315/6201/30800 5400/6278/30801 +f 5401/6260/30802 5400/6278/30803 5315/6201/30804 +f 5315/6201/30805 5316/6203/30806 5401/6260/30807 +f 5402/6261/30808 5401/6260/30809 5316/6203/30810 +f 5316/6203/30811 5317/6205/30812 5402/6261/30813 +f 5403/6258/30814 5402/6261/30815 5317/6205/30816 +f 5317/6205/30817 5318/6207/30818 5403/6258/30819 +f 5404/6266/30820 5403/6258/30821 5318/6207/30822 +f 5318/6207/30823 5319/6209/30824 5404/6266/30825 +f 5389/6265/30826 5404/6266/30827 5319/6209/30828 +f 5319/6209/30829 5304/6180/30830 5389/6265/30831 +f 5405/6281/30832 5408/6282/30833 5407/6279/30834 +f 5407/6279/30835 5406/6280/30836 5405/6281/30837 +f 5408/6282/30838 5410/6284/30839 5409/6283/30840 +f 5409/6283/30841 5407/6279/30842 5408/6282/30843 +f 5410/6284/30844 5412/6286/30845 5411/6285/30846 +f 5411/6285/30847 5409/6283/30848 5410/6284/30849 +f 5412/6286/30850 5414/6288/30851 5413/6287/30852 +f 5413/6287/30853 5411/6285/30854 5412/6286/30855 +f 5414/6288/30856 5416/6290/30857 5415/6289/30858 +f 5415/6289/30859 5413/6287/30860 5414/6288/30861 +f 5416/6290/30862 5418/6292/30863 5417/6291/30864 +f 5417/6291/30865 5415/6289/30866 5416/6290/30867 +f 5418/6292/30868 5420/6294/30869 5419/6293/30870 +f 5419/6293/30871 5417/6291/30872 5418/6292/30873 +f 5420/6294/30874 5422/6296/30875 5421/6295/30876 +f 5421/6295/30877 5419/6293/30878 5420/6294/30879 +f 5422/6296/30880 5424/6298/30881 5423/6297/30882 +f 5423/6297/30883 5421/6295/30884 5422/6296/30885 +f 5424/6298/30886 5426/6300/30887 5425/6299/30888 +f 5425/6299/30889 5423/6297/30890 5424/6298/30891 +f 5426/6300/30892 5428/6302/30893 5427/6301/30894 +f 5427/6301/30895 5425/6299/30896 5426/6300/30897 +f 5428/6302/30898 5430/6304/30899 5429/6303/30900 +f 5429/6303/30901 5427/6301/30902 5428/6302/30903 +f 5430/6304/30904 5432/6306/30905 5431/6305/30906 +f 5431/6305/30907 5429/6303/30908 5430/6304/30909 +f 5432/6306/30910 5434/6308/30911 5433/6307/30912 +f 5433/6307/30913 5431/6305/30914 5432/6306/30915 +f 5434/6308/30916 5436/6310/30917 5435/6309/30918 +f 5435/6309/30919 5433/6307/30920 5434/6308/30921 +f 5436/6310/30922 5405/6281/30923 5406/6280/30924 +f 5406/6280/30925 5435/6309/30926 5436/6310/30927 +f 5406/6280/30928 5407/6279/30929 5438/6311/30930 +f 5438/6311/30931 5437/6312/30932 5406/6280/30933 +f 5407/6279/30934 5409/6283/30935 5439/6313/30936 +f 5439/6313/30937 5438/6311/30938 5407/6279/30939 +f 5409/6283/30940 5411/6285/30941 5440/6314/30942 +f 5440/6314/30943 5439/6313/30944 5409/6283/30945 +f 5411/6285/30946 5413/6287/30947 5441/6315/30948 +f 5441/6315/30949 5440/6314/30950 5411/6285/30951 +f 5413/6287/30952 5415/6289/30953 5442/6316/30954 +f 5442/6316/30955 5441/6315/30956 5413/6287/30957 +f 5415/6289/30958 5417/6291/30959 5443/6317/30960 +f 5443/6317/30961 5442/6316/30962 5415/6289/30963 +f 5417/6291/30964 5419/6293/30965 5444/6318/30966 +f 5444/6318/30967 5443/6317/30968 5417/6291/30969 +f 5419/6293/30970 5421/6295/30971 5445/6319/30972 +f 5445/6319/30973 5444/6318/30974 5419/6293/30975 +f 5421/6295/30976 5423/6297/30977 5446/6320/30978 +f 5446/6320/30979 5445/6319/30980 5421/6295/30981 +f 5423/6297/30982 5425/6299/30983 5447/6321/30984 +f 5447/6321/30985 5446/6320/30986 5423/6297/30987 +f 5425/6299/30988 5427/6301/30989 5448/6322/30990 +f 5448/6322/30991 5447/6321/30992 5425/6299/30993 +f 5427/6301/30994 5429/6303/30995 5449/6323/30996 +f 5449/6323/30997 5448/6322/30998 5427/6301/30999 +f 5429/6303/31000 5431/6305/31001 5450/6324/31002 +f 5450/6324/31003 5449/6323/31004 5429/6303/31005 +f 5431/6305/31006 5433/6307/31007 5451/6325/31008 +f 5451/6325/31009 5450/6324/31010 5431/6305/31011 +f 5433/6307/31012 5435/6309/31013 5452/6326/31014 +f 5452/6326/31015 5451/6325/31016 5433/6307/31017 +f 5435/6309/31018 5406/6280/31019 5437/6312/31020 +f 5437/6312/31021 5452/6326/31022 5435/6309/31023 +f 5437/6312/31024 5438/6311/31025 5454/6327/31026 +f 5454/6327/31027 5453/6328/31028 5437/6312/31029 +f 5438/6311/31030 5439/6313/31031 5455/6329/31032 +f 5455/6329/31033 5454/6392/31034 5438/6311/31035 +f 5439/6313/31036 5440/6314/31037 5456/6330/31038 +f 5456/6330/31039 5455/6329/31040 5439/6313/31041 +f 5440/6314/31042 5441/6315/31043 5457/6331/31044 +f 5457/6331/31045 5456/6330/31046 5440/6314/31047 +f 5441/6315/31048 5442/6316/31049 5458/6332/31050 +f 5458/6332/31051 5457/6393/31052 5441/6315/31053 +f 5442/6316/31054 5443/6317/31055 5459/6333/31056 +f 5459/6333/31057 5458/6332/31058 5442/6316/31059 +f 5443/6317/31060 5444/6318/31061 5460/6334/31062 +f 5460/6334/31063 5459/6333/31064 5443/6317/31065 +f 5444/6318/31066 5445/6319/31067 5461/6335/31068 +f 5461/6335/31069 5460/6394/31070 5444/6318/31071 +f 5445/6319/31072 5446/6320/31073 5462/6336/31074 +f 5462/6336/31075 5461/6335/31076 5445/6319/31077 +f 5446/6320/31078 5447/6321/31079 5463/6337/31080 +f 5463/6337/31081 5462/6395/31082 5446/6320/31083 +f 5447/6321/31084 5448/6322/31085 5464/6338/31086 +f 5464/6338/31087 5463/6337/31088 5447/6321/31089 +f 5448/6322/31090 5449/6323/31091 5465/6339/31092 +f 5465/6339/31093 5464/6396/31094 5448/6322/31095 +f 5449/6323/31096 5450/6324/31097 5466/6340/31098 +f 5466/6340/31099 5465/6339/31100 5449/6323/31101 +f 5450/6324/31102 5451/6325/31103 5467/6341/31104 +f 5467/6341/31105 5466/6340/31106 5450/6324/31107 +f 5451/6325/31108 5452/6326/31109 5468/6342/31110 +f 5468/6342/31111 5467/6397/31112 5451/6325/31113 +f 5452/6326/31114 5437/6312/31115 5453/6328/31116 +f 5453/6328/31117 5468/6342/31118 5452/6326/31119 +f 5453/6328/31120 5454/6327/31121 5470/6343/31122 +f 5470/6343/31123 5469/6344/31124 5453/6328/31125 +f 5454/6392/31126 5455/6329/31127 5471/6345/31128 +f 5471/6345/31129 5470/6398/31130 5454/6392/31131 +f 5455/6329/31132 5456/6330/31133 5472/6346/31134 +f 5472/6346/31135 5471/6345/31136 5455/6329/31137 +f 5456/6330/31138 5457/6331/31139 5473/6347/31140 +f 5473/6347/31141 5472/6346/31142 5456/6330/31143 +f 5457/6393/31144 5458/6332/31145 5474/6348/31146 +f 5474/6348/31147 5473/6399/31148 5457/6393/31149 +f 5458/6332/31150 5459/6333/31151 5475/6349/31152 +f 5475/6349/31153 5474/6348/31154 5458/6332/31155 +f 5459/6333/31156 5460/6334/31157 5476/6350/31158 +f 5476/6350/31159 5475/6349/31160 5459/6333/31161 +f 5460/6394/31162 5461/6335/31163 5477/6351/31164 +f 5477/6351/31165 5476/6400/31166 5460/6394/31167 +f 5461/6335/31168 5462/6336/31169 5478/6352/31170 +f 5478/6352/31171 5477/6351/31172 5461/6335/31173 +f 5462/6395/31174 5463/6337/31175 5479/6353/31176 +f 5479/6353/31177 5478/6401/31178 5462/6395/31179 +f 5463/6337/31180 5464/6338/31181 5480/6354/31182 +f 5480/6354/31183 5479/6353/31184 5463/6337/31185 +f 5464/6396/31186 5465/6339/31187 5481/6355/31188 +f 5481/6355/31189 5480/6402/31190 5464/6396/31191 +f 5465/6339/31192 5466/6340/31193 5482/6356/31194 +f 5482/6356/31195 5481/6355/31196 5465/6339/31197 +f 5466/6340/31198 5467/6341/31199 5483/6357/31200 +f 5483/6357/31201 5482/6356/31202 5466/6340/31203 +f 5467/6397/31204 5468/6342/31205 5484/6358/31206 +f 5484/6358/31207 5483/6403/31208 5467/6397/31209 +f 5468/6342/31210 5453/6328/31211 5469/6344/31212 +f 5469/6344/31213 5484/6358/31214 5468/6342/31215 +f 5485/6361/31216 5488/6362/31217 5487/6359/31218 +f 5487/6359/31219 5486/6360/31220 5485/6361/31221 +f 5492/6365/31222 5491/6366/31223 5490/6363/31224 +f 5490/6363/31225 5489/6364/31226 5492/6365/31227 +f 5492/6365/31228 5489/6364/31229 5493/6367/31230 +f 5493/6367/31231 5494/6368/31232 5492/6365/31233 +f 5494/6368/31234 5493/6367/31235 5487/6359/31236 +f 5487/6359/31237 5488/6362/31238 5494/6368/31239 +f 5491/6366/31240 5496/6370/31241 5495/6369/31242 +f 5495/6369/31243 5490/6363/31244 5491/6366/31245 +f 5495/6369/31246 5496/6370/31247 5498/6371/31248 +f 5498/6371/31249 5497/6372/31250 5495/6369/31251 +f 5498/6371/31252 5496/6370/31253 5500/6373/31254 +f 5500/6373/31255 5499/6374/31256 5498/6371/31257 +f 5491/6366/31258 5501/6375/31259 5500/6373/31260 +f 5500/6373/31261 5496/6370/31262 5491/6366/31263 +f 5492/6365/31264 5502/6376/31265 5501/6375/31266 +f 5501/6375/31267 5491/6366/31268 5492/6365/31269 +f 5503/6377/31270 5502/6376/31271 5492/6365/31272 +f 5492/6365/31273 5494/6368/31274 5503/6377/31275 +f 5504/6378/31276 5503/6377/31277 5494/6368/31278 +f 5494/6368/31279 5488/6362/31280 5504/6378/31281 +f 5488/6362/31282 5485/6361/31283 5505/6379/31284 +f 5505/6379/31285 5504/6378/31286 5488/6362/31287 +f 5490/6363/31288 5408/6282/31289 5405/6281/31290 +f 5405/6281/31291 5489/6364/31292 5490/6363/31293 +f 5495/6369/31294 5410/6284/31295 5408/6282/31296 +f 5408/6282/31297 5490/6363/31298 5495/6369/31299 +f 5497/6372/31300 5412/6286/31301 5410/6284/31302 +f 5410/6284/31303 5495/6369/31304 5497/6372/31305 +f 5498/6371/31306 5414/6288/31307 5412/6286/31308 +f 5412/6286/31309 5497/6372/31310 5498/6371/31311 +f 5499/6374/31312 5416/6290/31313 5414/6288/31314 +f 5414/6288/31315 5498/6371/31316 5499/6374/31317 +f 5500/6373/31318 5418/6292/31319 5416/6290/31320 +f 5416/6290/31321 5499/6374/31322 5500/6373/31323 +f 5501/6375/31324 5420/6294/31325 5418/6292/31326 +f 5418/6292/31327 5500/6373/31328 5501/6375/31329 +f 5502/6376/31330 5422/6296/31331 5420/6294/31332 +f 5420/6294/31333 5501/6375/31334 5502/6376/31335 +f 5503/6377/31336 5424/6298/31337 5422/6296/31338 +f 5422/6296/31339 5502/6376/31340 5503/6377/31341 +f 5504/6378/31342 5426/6300/31343 5424/6298/31344 +f 5424/6298/31345 5503/6377/31346 5504/6378/31347 +f 5505/6379/31348 5428/6302/31349 5426/6300/31350 +f 5426/6300/31351 5504/6378/31352 5505/6379/31353 +f 5485/6361/31354 5430/6304/31355 5428/6302/31356 +f 5428/6302/31357 5505/6379/31358 5485/6361/31359 +f 5486/6360/31360 5432/6306/31361 5430/6304/31362 +f 5430/6304/31363 5485/6361/31364 5486/6360/31365 +f 5487/6359/31366 5434/6308/31367 5432/6306/31368 +f 5432/6306/31369 5486/6360/31370 5487/6359/31371 +f 5493/6367/31372 5436/6310/31373 5434/6308/31374 +f 5434/6308/31375 5487/6359/31376 5493/6367/31377 +f 5489/6364/31378 5405/6281/31379 5436/6310/31380 +f 5436/6310/31381 5493/6367/31382 5489/6364/31383 +f 5520/6406/31384 5507/6407/31385 5596/6404/31386 +f 5596/6404/31387 5521/6405/31388 5520/6406/31389 +f 5522/6408/31390 5510/6409/31391 5507/6407/31392 +f 5507/6407/31393 5520/6406/31394 5522/6408/31395 +f 5515/6412/31396 5516/6413/31397 5531/6410/31398 +f 5531/6410/31399 5529/6411/31400 5515/6412/31401 +f 5519/6416/31402 5518/6417/31403 5528/6414/31404 +f 5528/6414/31405 5527/6415/31406 5519/6416/31407 +f 5508/6420/31408 5509/6421/31409 5524/6418/31410 +f 5524/6418/31411 5523/6419/31412 5508/6420/31413 +f 5526/6422/31414 5513/6423/31415 5519/6416/31416 +f 5519/6416/31417 5527/6415/31418 5526/6422/31419 +f 5519/6416/31420 5513/6423/31421 5525/6424/31422 +f 5525/6424/31423 5523/6419/31424 5519/6416/31425 +f 5508/6420/31426 5520/6406/31427 5521/6405/31428 +f 5521/6405/31429 5509/6421/31430 5508/6420/31431 +f 5511/6425/31432 5522/6408/31433 5520/6406/31434 +f 5520/6406/31435 5508/6420/31436 5511/6425/31437 +f 5523/6419/31438 5524/6418/31439 5518/6417/31440 +f 5518/6417/31441 5519/6416/31442 5523/6419/31443 +f 5508/6420/31444 5523/6419/31445 5525/6424/31446 +f 5525/6424/31447 5511/6425/31448 5508/6420/31449 +f 5527/6415/31450 5528/6414/31451 5516/6413/31452 +f 5516/6413/31453 5515/6412/31454 5527/6415/31455 +f 5512/6426/31456 5526/6422/31457 5527/6415/31458 +f 5527/6415/31459 5515/6412/31460 5512/6426/31461 +f 5529/6411/31462 5530/6427/31463 5512/6426/31464 +f 5512/6426/31465 5515/6412/31466 5529/6411/31467 +f 5529/6411/31468 5531/6410/31469 5517/6428/31470 +f 5517/6428/31471 5599/6429/31472 5529/6411/31473 +f 5542/6430/31474 5532/6431/31475 5510/6409/31476 +f 5510/6409/31477 5522/6408/31478 5542/6430/31479 +f 5543/6432/31480 5534/6433/31481 5532/6431/31482 +f 5532/6431/31483 5542/6430/31484 5543/6432/31485 +f 5544/6436/31486 5535/6437/31487 5533/6434/31488 +f 5533/6434/31489 5545/6435/31490 5544/6436/31491 +f 5547/6440/31492 5546/6441/31493 5538/6438/31494 +f 5538/6438/31495 5539/6439/31496 5547/6440/31497 +f 5526/6422/31498 5512/6426/31499 5538/6438/31500 +f 5538/6438/31501 5546/6441/31502 5526/6422/31503 +f 5530/6427/31504 5529/6411/31505 5599/6429/31506 +f 5599/6429/31507 5606/6442/31508 5530/6427/31509 +f 5606/6442/31510 5607/6444/31511 5548/6443/31512 +f 5548/6443/31513 5530/6427/31514 5606/6442/31515 +f 5533/6434/31516 5511/6425/31517 5525/6424/31518 +f 5525/6424/31519 5545/6435/31520 5533/6434/31521 +f 5533/6434/31522 5542/6430/31523 5522/6408/31524 +f 5522/6408/31525 5511/6425/31526 5533/6434/31527 +f 5535/6437/31528 5543/6432/31529 5542/6430/31530 +f 5542/6430/31531 5533/6434/31532 5535/6437/31533 +f 5536/6446/31534 5544/6436/31535 5545/6435/31536 +f 5545/6435/31537 5537/6445/31538 5536/6446/31539 +f 5545/6435/31540 5525/6424/31541 5513/6423/31542 +f 5513/6423/31543 5537/6445/31544 5545/6435/31545 +f 5546/6441/31546 5547/6440/31547 5536/6446/31548 +f 5536/6446/31549 5537/6445/31550 5546/6441/31551 +f 5513/6423/31552 5526/6422/31553 5546/6441/31554 +f 5546/6441/31555 5537/6445/31556 5513/6423/31557 +f 5530/6427/31558 5548/6443/31559 5538/6438/31560 +f 5538/6438/31561 5512/6426/31562 5530/6427/31563 +f 5548/6443/31564 5549/6447/31565 5539/6439/31566 +f 5539/6439/31567 5538/6438/31568 5548/6443/31569 +f 5607/6444/31570 5612/6448/31571 5549/6447/31572 +f 5549/6447/31573 5548/6443/31574 5607/6444/31575 +f 5565/6453/31576 5566/6473/31577 5551/6449/31578 +f 5551/6449/31579 5552/6450/31580 5565/6453/31581 +f 5567/6475/31582 5565/6453/31583 5552/6450/31584 +f 5552/6450/31585 5555/6474/31586 5567/6475/31587 +f 5560/6457/31588 5574/6458/31589 5576/6455/31590 +f 5576/6455/31591 5561/6456/31592 5560/6457/31593 +f 5564/6461/31594 5572/6462/31595 5573/6459/31596 +f 5573/6459/31597 5563/6460/31598 5564/6461/31599 +f 5553/6465/31600 5568/6466/31601 5569/6463/31602 +f 5569/6463/31603 5554/6464/31604 5553/6465/31605 +f 5571/6468/31606 5572/6462/31607 5564/6461/31608 +f 5564/6461/31609 5558/6467/31610 5571/6468/31611 +f 5564/6461/31612 5568/6466/31613 5570/6469/31614 +f 5570/6469/31615 5558/6467/31616 5564/6461/31617 +f 5553/6465/31618 5554/6464/31619 5566/6452/31620 +f 5566/6452/31621 5565/6451/31622 5553/6465/31623 +f 5556/6470/31624 5553/6465/31625 5565/6451/31626 +f 5565/6451/31627 5567/6454/31628 5556/6470/31629 +f 5568/6466/31630 5564/6461/31631 5563/6460/31632 +f 5563/6460/31633 5569/6463/31634 5568/6466/31635 +f 5553/6465/31636 5556/6470/31637 5570/6469/31638 +f 5570/6469/31639 5568/6466/31640 5553/6465/31641 +f 5572/6462/31642 5560/6457/31643 5561/6456/31644 +f 5561/6456/31645 5573/6459/31646 5572/6462/31647 +f 5557/6471/31648 5560/6457/31649 5572/6462/31650 +f 5572/6462/31651 5571/6468/31652 5557/6471/31653 +f 5574/6458/31654 5560/6457/31655 5557/6471/31656 +f 5557/6471/31657 5575/6472/31658 5574/6458/31659 +f 5574/6480/31660 5559/6481/31661 5562/6477/31662 +f 5562/6477/31663 5576/6478/31664 5574/6480/31665 +f 5587/6486/31666 5567/6475/31667 5555/6474/31668 +f 5555/6474/31669 5577/6485/31670 5587/6486/31671 +f 5588/6489/31672 5587/6486/31673 5577/6485/31674 +f 5577/6485/31675 5579/6487/31676 5588/6489/31677 +f 5589/6493/31678 5590/6494/31679 5578/6490/31680 +f 5578/6490/31681 5580/6492/31682 5589/6493/31683 +f 5592/6497/31684 5584/6498/31685 5583/6495/31686 +f 5583/6495/31687 5591/6496/31688 5592/6497/31689 +f 5571/6468/31690 5591/6484/31691 5583/6483/31692 +f 5583/6483/31693 5557/6471/31694 5571/6468/31695 +f 5575/6499/31696 5585/6500/31697 5559/6481/31698 +f 5559/6481/31699 5574/6480/31700 5575/6499/31701 +f 5585/6500/31702 5575/6499/31703 5593/6502/31704 +f 5593/6502/31705 5586/6506/31706 5585/6500/31707 +f 5578/6479/31708 5590/6482/31709 5570/6469/31710 +f 5570/6469/31711 5556/6470/31712 5578/6479/31713 +f 5578/6479/31714 5556/6470/31715 5567/6454/31716 +f 5567/6454/31717 5587/6476/31718 5578/6479/31719 +f 5580/6492/31720 5578/6490/31721 5587/6531/31722 +f 5587/6531/31723 5588/6532/31724 5580/6492/31725 +f 5581/6503/31726 5582/6504/31727 5590/6494/31728 +f 5590/6494/31729 5589/6493/31730 5581/6503/31731 +f 5590/6482/31732 5582/6491/31733 5558/6467/31734 +f 5558/6467/31735 5570/6469/31736 5590/6482/31737 +f 5591/6496/31738 5582/6504/31739 5581/6503/31740 +f 5581/6503/31741 5592/6497/31742 5591/6496/31743 +f 5558/6467/31744 5582/6491/31745 5591/6484/31746 +f 5591/6484/31747 5571/6468/31748 5558/6467/31749 +f 5575/6472/31750 5557/6471/31751 5583/6483/31752 +f 5583/6483/31753 5593/6488/31754 5575/6472/31755 +f 5593/6501/31756 5583/6495/31757 5584/6498/31758 +f 5584/6498/31759 5594/6505/31760 5593/6501/31761 +f 5586/6506/31762 5593/6502/31763 5594/6507/31764 +f 5594/6507/31765 5595/6508/31766 5586/6506/31767 +s 2 +f 5506/6539/31768 5597/6510/31769 5552/6450/31770 +f 5552/6450/31771 5551/6449/31772 5506/6539/31773 +f 5551/6533/31774 5596/6404/31775 5506/6509/31776 +f 5597/6510/31777 5598/6511/31778 5555/6474/31779 +f 5555/6474/31780 5552/6450/31781 5597/6510/31782 +s 4 +f 5531/6410/31783 5516/6413/31784 5561/6512/31785 +f 5561/6512/31786 5576/6536/31787 5531/6410/31788 +f 5528/6414/31789 5518/6417/31790 5563/6513/31791 +f 5563/6513/31792 5573/6514/31793 5528/6414/31794 +f 5524/6418/31795 5509/6421/31796 5554/6515/31797 +f 5554/6515/31798 5569/6516/31799 5524/6418/31800 +f 5509/6421/31801 5521/6405/31802 5566/6534/31803 +f 5566/6534/31804 5554/6515/31805 5509/6421/31806 +f 5518/6417/31807 5524/6418/31808 5569/6516/31809 +f 5569/6516/31810 5563/6513/31811 5518/6417/31812 +f 5516/6413/31813 5528/6414/31814 5573/6514/31815 +f 5573/6514/31816 5561/6512/31817 5516/6413/31818 +f 5576/6536/31819 5562/6535/31820 5517/6428/31821 +f 5517/6428/31822 5531/6410/31823 5576/6536/31824 +s 1 +f 5514/6518/31825 5600/6540/31826 5562/6477/31827 +f 5562/6477/31828 5559/6481/31829 5514/6518/31830 +s 2 +f 5598/6511/31831 5601/6519/31832 5577/6485/31833 +f 5577/6485/31834 5555/6474/31835 5598/6511/31836 +f 5601/6519/31837 5602/6541/31838 5579/6487/31839 +f 5579/6487/31840 5577/6485/31841 5601/6519/31842 +s 1 +f 5602/6520/31843 5608/6521/31844 5588/6532/31845 +f 5588/6532/31846 5579/6537/31847 5602/6520/31848 +f 5603/6522/31849 5609/6523/31850 5589/6493/31851 +f 5589/6493/31852 5580/6492/31853 5603/6522/31854 +f 5610/6524/31855 5605/6525/31856 5584/6498/31857 +f 5584/6498/31858 5592/6497/31859 5610/6524/31860 +f 5540/6526/31861 5514/6518/31862 5559/6481/31863 +f 5559/6481/31864 5585/6500/31865 5540/6526/31866 +f 5541/6527/31867 5540/6526/31868 5585/6500/31869 +f 5585/6500/31870 5586/6506/31871 5541/6527/31872 +f 5608/6521/31873 5603/6522/31874 5580/6492/31875 +f 5580/6492/31876 5588/6532/31877 5608/6521/31878 +f 5609/6523/31879 5604/6528/31880 5581/6503/31881 +f 5581/6503/31882 5589/6493/31883 5609/6523/31884 +f 5604/6528/31885 5610/6524/31886 5592/6497/31887 +f 5592/6497/31888 5581/6503/31889 5604/6528/31890 +f 5605/6525/31891 5611/6529/31892 5594/6505/31893 +f 5594/6505/31894 5584/6498/31895 5605/6525/31896 +f 5611/6529/31897 5550/6542/31898 5595/6538/31899 +f 5595/6538/31900 5594/6505/31901 5611/6529/31902 +f 5550/6530/31903 5541/6527/31904 5586/6506/31905 +f 5586/6506/31906 5595/6508/31907 5550/6530/31908 +s 2 +f 5507/6407/31909 5597/6510/31910 5506/6539/31911 +f 5506/6539/31912 5596/6404/31913 5507/6407/31914 +f 5510/6409/31915 5598/6511/31916 5597/6510/31917 +f 5597/6510/31918 5507/6407/31919 5510/6409/31920 +s 1 +f 5517/6428/31921 5600/6540/31922 5514/6518/31923 +f 5514/6518/31924 5599/6429/31925 5517/6428/31926 +s 2 +f 5532/6431/31927 5601/6519/31928 5598/6511/31929 +f 5598/6511/31930 5510/6409/31931 5532/6431/31932 +s 1 +f 5543/6432/31933 5608/6521/31934 5602/6520/31935 +f 5602/6520/31936 5534/6433/31937 5543/6432/31938 +s 2 +f 5534/6433/31939 5602/6541/31940 5601/6519/31941 +f 5601/6519/31942 5532/6431/31943 5534/6433/31944 +s 1 +f 5544/6436/31945 5609/6523/31946 5603/6522/31947 +f 5603/6522/31948 5535/6437/31949 5544/6436/31950 +f 5539/6439/31951 5605/6525/31952 5610/6524/31953 +f 5610/6524/31954 5547/6440/31955 5539/6439/31956 +f 5599/6429/31957 5514/6518/31958 5540/6526/31959 +f 5540/6526/31960 5606/6442/31961 5599/6429/31962 +f 5606/6442/31963 5540/6526/31964 5541/6527/31965 +f 5541/6527/31966 5607/6444/31967 5606/6442/31968 +f 5535/6437/31969 5603/6522/31970 5608/6521/31971 +f 5608/6521/31972 5543/6432/31973 5535/6437/31974 +f 5536/6446/31975 5604/6528/31976 5609/6523/31977 +f 5609/6523/31978 5544/6436/31979 5536/6446/31980 +f 5547/6440/31981 5610/6524/31982 5604/6528/31983 +f 5604/6528/31984 5536/6446/31985 5547/6440/31986 +f 5549/6447/31987 5611/6529/31988 5605/6525/31989 +f 5605/6525/31990 5539/6439/31991 5549/6447/31992 +f 5607/6444/31993 5541/6527/31994 5550/6530/31995 +f 5550/6530/31996 5612/6448/31997 5607/6444/31998 +f 5612/6448/31999 5550/6542/32000 5611/6529/32001 +f 5611/6529/32002 5549/6447/32003 5612/6448/32004 +f 5562/6535/32005 5600/6517/32006 5517/6428/32007 +s 4 +f 5566/6534/32008 5521/6405/32009 5596/6404/32010 +f 5596/6404/32011 5551/6533/32012 5566/6534/32013 +# 10671 faces + diff --git a/docs/examples/web/shaders/resources/model/dwarf_diffuse.png b/docs/examples/web/shaders/resources/model/dwarf_diffuse.png new file mode 100644 index 00000000..15dee61f Binary files /dev/null and b/docs/examples/web/shaders/resources/model/dwarf_diffuse.png differ diff --git a/docs/examples/web/shaders/resources/model/dwarf_normal.png b/docs/examples/web/shaders/resources/model/dwarf_normal.png new file mode 100644 index 00000000..ae2babfd Binary files /dev/null and b/docs/examples/web/shaders/resources/model/dwarf_normal.png differ diff --git a/docs/examples/web/shaders/resources/model/dwarf_specular.png b/docs/examples/web/shaders/resources/model/dwarf_specular.png new file mode 100644 index 00000000..5f51039f Binary files /dev/null and b/docs/examples/web/shaders/resources/model/dwarf_specular.png differ diff --git a/docs/examples/web/shaders/resources/shaders/glsl100/base.vs b/docs/examples/web/shaders/resources/shaders/glsl100/base.vs new file mode 100644 index 00000000..e9386939 --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl100/base.vs @@ -0,0 +1,26 @@ +#version 100 + +// Input vertex attributes +attribute vec3 vertexPosition; +attribute vec2 vertexTexCoord; +attribute vec3 vertexNormal; +attribute vec4 vertexColor; + +// Input uniform values +uniform mat4 mvpMatrix; + +// Output vertex attributes (to fragment shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + + // Calculate final vertex position + gl_Position = mvpMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl100/bloom.fs b/docs/examples/web/shaders/resources/shaders/glsl100/bloom.fs new file mode 100644 index 00000000..a8e1d20f --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl100/bloom.fs @@ -0,0 +1,39 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add here your custom variables + +const vec2 size = vec2(800, 450); // render size +const float samples = 5.0; // pixels per axis; higher = bigger glow, worse performance +const float quality = 2.5; // lower = smaller glow, better quality + +void main() +{ + vec4 sum = vec4(0); + vec2 sizeFactor = vec2(1)/size*quality; + + // Texel color fetching from texture sampler + vec4 source = texture2D(texture0, fragTexCoord); + + const int range = 2; // should be = (samples - 1)/2; + + for (int x = -range; x <= range; x++) + { + for (int y = -range; y <= range; y++) + { + sum += texture2D(texture0, fragTexCoord + vec2(x, y)*sizeFactor); + } + } + + // Calculate final fragment color + gl_FragColor = ((sum/(samples*samples)) + source)*colDiffuse; +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl100/distortion.fs b/docs/examples/web/shaders/resources/shaders/glsl100/distortion.fs new file mode 100644 index 00000000..50116ce0 --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl100/distortion.fs @@ -0,0 +1,54 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; + +// Input uniform values +uniform sampler2D texture0; + +// NOTE: Default parameters for Oculus Rift DK2 device +const vec2 LeftLensCenter = vec2(0.2863248, 0.5); +const vec2 RightLensCenter = vec2(0.7136753, 0.5); +const vec2 LeftScreenCenter = vec2(0.25, 0.5); +const vec2 RightScreenCenter = vec2(0.75, 0.5); +const vec2 Scale = vec2(0.25, 0.45); +const vec2 ScaleIn = vec2(4.0, 2.5); +const vec4 HmdWarpParam = vec4(1.0, 0.22, 0.24, 0.0); +const vec4 ChromaAbParam = vec4(0.996, -0.004, 1.014, 0.0); + +void main() +{ + // The following two variables need to be set per eye + vec2 LensCenter = fragTexCoord.x < 0.5 ? LeftLensCenter : RightLensCenter; + vec2 ScreenCenter = fragTexCoord.x < 0.5 ? LeftScreenCenter : RightScreenCenter; + + // Scales input texture coordinates for distortion: vec2 HmdWarp(vec2 fragTexCoord, vec2 LensCenter) + vec2 theta = (fragTexCoord - LensCenter)*ScaleIn; // Scales to [-1, 1] + float rSq = theta.x*theta.x + theta.y*theta.y; + vec2 theta1 = theta*(HmdWarpParam.x + HmdWarpParam.y*rSq + HmdWarpParam.z*rSq*rSq + HmdWarpParam.w*rSq*rSq*rSq); + //vec2 tc = LensCenter + Scale*theta1; + + // Detect whether blue texture coordinates are out of range since these will scaled out the furthest + vec2 thetaBlue = theta1*(ChromaAbParam.z + ChromaAbParam.w*rSq); + vec2 tcBlue = LensCenter + Scale*thetaBlue; + + if (any(bvec2(clamp(tcBlue, ScreenCenter - vec2(0.25, 0.5), ScreenCenter + vec2(0.25, 0.5)) - tcBlue))) gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + else + { + // Do blue texture lookup + float blue = texture2D(texture0, tcBlue).b; + + // Do green lookup (no scaling) + vec2 tcGreen = LensCenter + Scale*theta1; + float green = texture2D(texture0, tcGreen).g; + + // Do red scale and lookup + vec2 thetaRed = theta1*(ChromaAbParam.x + ChromaAbParam.y*rSq); + vec2 tcRed = LensCenter + Scale*thetaRed; + float red = texture2D(texture0, tcRed).r; + + gl_FragColor = vec4(red, green, blue, 1.0); + } +} diff --git a/docs/examples/web/shaders/resources/shaders/glsl100/grayscale.fs b/docs/examples/web/shaders/resources/shaders/glsl100/grayscale.fs new file mode 100644 index 00000000..15174ea5 --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl100/grayscale.fs @@ -0,0 +1,25 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add here your custom variables + +void main() +{ + // Texel color fetching from texture sampler + vec4 texelColor = texture2D(texture0, fragTexCoord)*colDiffuse*fragColor; + + // Convert texel color to grayscale using NTSC conversion weights + float gray = dot(texelColor.rgb, vec3(0.299, 0.587, 0.114)); + + // Calculate final fragment color + gl_FragColor = vec4(gray, gray, gray, texelColor.a); +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl100/swirl.fs b/docs/examples/web/shaders/resources/shaders/glsl100/swirl.fs new file mode 100644 index 00000000..ca7668b2 --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl100/swirl.fs @@ -0,0 +1,45 @@ +#version 100 + +precision mediump float; + +// Input vertex attributes (from vertex shader) +varying vec2 fragTexCoord; +varying vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// NOTE: Add here your custom variables + +const float renderWidth = 800.0; // HARDCODED for example! +const float renderHeight = 480.0; // Use uniforms instead... + +float radius = 250.0; +float angle = 0.8; + +uniform vec2 center; + +void main() +{ + vec2 texSize = vec2(renderWidth, renderHeight); + vec2 tc = fragTexCoord*texSize; + tc -= center; + + float dist = length(tc); + + if (dist < radius) + { + float percent = (radius - dist)/radius; + float theta = percent*percent*angle*8.0; + float s = sin(theta); + float c = cos(theta); + + tc = vec2(dot(tc, vec2(c, -s)), dot(tc, vec2(s, c))); + } + + tc += center; + vec4 color = texture2D(texture0, tc/texSize)*colDiffuse*fragColor;; + + gl_FragColor = vec4(color.rgb, 1.0);; +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl330/base.vs b/docs/examples/web/shaders/resources/shaders/glsl330/base.vs new file mode 100644 index 00000000..638cb8ae --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl330/base.vs @@ -0,0 +1,26 @@ +#version 330 + +// Input vertex attributes +in vec3 vertexPosition; +in vec2 vertexTexCoord; +in vec3 vertexNormal; +in vec4 vertexColor; + +// Input uniform values +uniform mat4 mvpMatrix; + +// Output vertex attributes (to fragment shader) +out vec2 fragTexCoord; +out vec4 fragColor; + +// NOTE: Add here your custom variables + +void main() +{ + // Send vertex attributes to fragment shader + fragTexCoord = vertexTexCoord; + fragColor = vertexColor; + + // Calculate final vertex position + gl_Position = mvpMatrix*vec4(vertexPosition, 1.0); +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl330/bloom.fs b/docs/examples/web/shaders/resources/shaders/glsl330/bloom.fs new file mode 100644 index 00000000..333d5b05 --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl330/bloom.fs @@ -0,0 +1,40 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Add here your custom variables + +const vec2 size = vec2(800, 450); // render size +const float samples = 5.0; // pixels per axis; higher = bigger glow, worse performance +const float quality = 2.5; // lower = smaller glow, better quality + +void main() +{ + vec4 sum = vec4(0); + vec2 sizeFactor = vec2(1)/size*quality; + + // Texel color fetching from texture sampler + vec4 source = texture(texture0, fragTexCoord); + + const int range = 2; // should be = (samples - 1)/2; + + for (int x = -range; x <= range; x++) + { + for (int y = -range; y <= range; y++) + { + sum += texture(texture0, fragTexCoord + vec2(x, y)*sizeFactor); + } + } + + // Calculate final fragment color + finalColor = ((sum/(samples*samples)) + source)*colDiffuse; +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl330/depth.fs b/docs/examples/web/shaders/resources/shaders/glsl330/depth.fs new file mode 100644 index 00000000..06d399f9 --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl330/depth.fs @@ -0,0 +1,27 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; // Depth texture +uniform vec4 fragTintColor; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Add here your custom variables + +void main() +{ + float zNear = 0.01; // camera z near + float zFar = 10.0; // camera z far + float z = texture(texture0, fragTexCoord).x; + + // Linearize depth value + float depth = (2.0*zNear)/(zFar + zNear - z*(zFar - zNear)); + + // Calculate final fragment color + finalColor = vec4(depth, depth, depth, 1.0f); +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl330/distortion.fs b/docs/examples/web/shaders/resources/shaders/glsl330/distortion.fs new file mode 100644 index 00000000..cb4be8fc --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl330/distortion.fs @@ -0,0 +1,56 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; + +// Input uniform values +uniform sampler2D texture0; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Default parameters for Oculus Rift DK2 device +const vec2 LeftLensCenter = vec2(0.2863248, 0.5); +const vec2 RightLensCenter = vec2(0.7136753, 0.5); +const vec2 LeftScreenCenter = vec2(0.25, 0.5); +const vec2 RightScreenCenter = vec2(0.75, 0.5); +const vec2 Scale = vec2(0.25, 0.45); +const vec2 ScaleIn = vec2(4.0, 2.5); +const vec4 HmdWarpParam = vec4(1.0, 0.22, 0.24, 0.0); +const vec4 ChromaAbParam = vec4(0.996, -0.004, 1.014, 0.0); + +void main() +{ + // The following two variables need to be set per eye + vec2 LensCenter = fragTexCoord.x < 0.5 ? LeftLensCenter : RightLensCenter; + vec2 ScreenCenter = fragTexCoord.x < 0.5 ? LeftScreenCenter : RightScreenCenter; + + // Scales input texture coordinates for distortion: vec2 HmdWarp(vec2 fragTexCoord, vec2 LensCenter) + vec2 theta = (fragTexCoord - LensCenter)*ScaleIn; // Scales to [-1, 1] + float rSq = theta.x*theta.x + theta.y*theta.y; + vec2 theta1 = theta*(HmdWarpParam.x + HmdWarpParam.y*rSq + HmdWarpParam.z*rSq*rSq + HmdWarpParam.w*rSq*rSq*rSq); + //vec2 tc = LensCenter + Scale*theta1; + + // Detect whether blue texture coordinates are out of range since these will scaled out the furthest + vec2 thetaBlue = theta1*(ChromaAbParam.z + ChromaAbParam.w*rSq); + vec2 tcBlue = LensCenter + Scale*thetaBlue; + + if (any(bvec2(clamp(tcBlue, ScreenCenter - vec2(0.25, 0.5), ScreenCenter + vec2(0.25, 0.5)) - tcBlue))) finalColor = vec4(0.0, 0.0, 0.0, 1.0); + else + { + // Do blue texture lookup + float blue = texture(texture0, tcBlue).b; + + // Do green lookup (no scaling) + vec2 tcGreen = LensCenter + Scale*theta1; + float green = texture(texture0, tcGreen).g; + + // Do red scale and lookup + vec2 thetaRed = theta1*(ChromaAbParam.x + ChromaAbParam.y*rSq); + vec2 tcRed = LensCenter + Scale*thetaRed; + float red = texture(texture0, tcRed).r; + + finalColor = vec4(red, green, blue, 1.0); + } +} + diff --git a/docs/examples/web/shaders/resources/shaders/glsl330/grayscale.fs b/docs/examples/web/shaders/resources/shaders/glsl330/grayscale.fs new file mode 100644 index 00000000..5b3e11be --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl330/grayscale.fs @@ -0,0 +1,26 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Add here your custom variables + +void main() +{ + // Texel color fetching from texture sampler + vec4 texelColor = texture(texture0, fragTexCoord)*colDiffuse*fragColor; + + // Convert texel color to grayscale using NTSC conversion weights + float gray = dot(texelColor.rgb, vec3(0.299, 0.587, 0.114)); + + // Calculate final fragment color + finalColor = vec4(gray, gray, gray, texelColor.a); +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/shaders/glsl330/swirl.fs b/docs/examples/web/shaders/resources/shaders/glsl330/swirl.fs new file mode 100644 index 00000000..5d238ac9 --- /dev/null +++ b/docs/examples/web/shaders/resources/shaders/glsl330/swirl.fs @@ -0,0 +1,46 @@ +#version 330 + +// Input vertex attributes (from vertex shader) +in vec2 fragTexCoord; +in vec4 fragColor; + +// Input uniform values +uniform sampler2D texture0; +uniform vec4 colDiffuse; + +// Output fragment color +out vec4 finalColor; + +// NOTE: Add here your custom variables + +const float renderWidth = 800.0; // HARDCODED for example! +const float renderHeight = 480.0; // Use uniforms instead... + +float radius = 250.0; +float angle = 0.8; + +uniform vec2 center = vec2(200.0, 200.0); + +void main() +{ + vec2 texSize = vec2(renderWidth, renderHeight); + vec2 tc = fragTexCoord*texSize; + tc -= center; + + float dist = length(tc); + + if (dist < radius) + { + float percent = (radius - dist)/radius; + float theta = percent*percent*angle*8.0; + float s = sin(theta); + float c = cos(theta); + + tc = vec2(dot(tc, vec2(c, -s)), dot(tc, vec2(s, c))); + } + + tc += center; + vec4 color = texture2D(texture0, tc/texSize)*colDiffuse*fragColor;; + + finalColor = vec4(color.rgb, 1.0);; +} \ No newline at end of file diff --git a/docs/examples/web/shaders/resources/sonic.png b/docs/examples/web/shaders/resources/sonic.png new file mode 100644 index 00000000..7a096847 Binary files /dev/null and b/docs/examples/web/shaders/resources/sonic.png differ -- cgit v1.2.3 From 881f134f4d2fb4419d50382284e19b4f8ca4660e Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 17 Apr 2017 16:42:01 +0200 Subject: Review and recompile web examples --- docs/common/js/examples.js | 66 +- docs/common/js/games.js | 4 - docs/examples/img/audio/audio_module_playing.png | Bin 50681 -> 0 bytes docs/examples/img/audio/audio_music_stream.png | Bin 15043 -> 0 bytes docs/examples/img/audio/audio_raw_stream.png | Bin 16736 -> 0 bytes docs/examples/img/audio/audio_sound_loading.png | Bin 15438 -> 0 bytes docs/examples/img/core/core_2d_camera.png | Bin 21470 -> 0 bytes .../img/core/core_3d_camera_first_person.png | Bin 17403 -> 0 bytes docs/examples/img/core/core_3d_camera_free.png | Bin 25317 -> 0 bytes docs/examples/img/core/core_3d_mode.png | Bin 8492 -> 0 bytes docs/examples/img/core/core_3d_picking.png | Bin 24402 -> 0 bytes docs/examples/img/core/core_basic_window.png | Bin 10297 -> 0 bytes docs/examples/img/core/core_color_select.png | Bin 14328 -> 0 bytes docs/examples/img/core/core_drop_files.png | Bin 4682 -> 0 bytes docs/examples/img/core/core_gestures_detection.png | Bin 19480 -> 0 bytes docs/examples/img/core/core_input_gamepad.png | Bin 38066 -> 0 bytes docs/examples/img/core/core_input_keys.png | Bin 10379 -> 0 bytes docs/examples/img/core/core_input_mouse.png | Bin 15444 -> 0 bytes docs/examples/img/core/core_mouse_wheel.png | Bin 15375 -> 0 bytes docs/examples/img/core/core_oculus_rift.png | Bin 177237 -> 0 bytes docs/examples/img/core/core_random_values.png | Bin 15247 -> 0 bytes docs/examples/img/core/core_storage_values.png | Bin 16147 -> 0 bytes docs/examples/img/core/core_world_screen.png | Bin 23813 -> 0 bytes docs/examples/img/models/models_billboard.png | Bin 54859 -> 0 bytes docs/examples/img/models/models_box_collisions.png | Bin 22077 -> 0 bytes docs/examples/img/models/models_cubicmap.png | Bin 412536 -> 0 bytes .../img/models/models_geometric_shapes.png | Bin 33973 -> 0 bytes docs/examples/img/models/models_heightmap.png | Bin 96976 -> 0 bytes docs/examples/img/models/models_obj_loading.png | Bin 127720 -> 0 bytes docs/examples/img/physac/physics_demo.png | Bin 23466 -> 0 bytes docs/examples/img/physac/physics_friction.png | Bin 18150 -> 0 bytes docs/examples/img/physac/physics_movement.png | Bin 15947 -> 0 bytes docs/examples/img/physac/physics_restitution.png | Bin 17833 -> 0 bytes docs/examples/img/physac/physics_shatter.png | Bin 23197 -> 0 bytes .../img/shaders/shaders_custom_uniform.png | Bin 257677 -> 0 bytes docs/examples/img/shaders/shaders_model_shader.png | Bin 141964 -> 0 bytes .../img/shaders/shaders_postprocessing.png | Bin 237145 -> 0 bytes .../img/shaders/shaders_shapes_textures.png | Bin 110700 -> 0 bytes .../img/shaders/shaders_standard_lighting.png | Bin 251479 -> 0 bytes docs/examples/img/shapes/shapes_basic_shapes.png | Bin 30382 -> 0 bytes docs/examples/img/shapes/shapes_colors_palette.png | Bin 5230 -> 0 bytes docs/examples/img/shapes/shapes_logo_raylib.png | Bin 12676 -> 0 bytes .../img/shapes/shapes_logo_raylib_anim.png | Bin 4787 -> 0 bytes docs/examples/img/text/text_bmfont_ttf.png | Bin 19542 -> 0 bytes docs/examples/img/text/text_bmfont_unordered.png | Bin 18713 -> 0 bytes docs/examples/img/text/text_font_select.png | Bin 16261 -> 0 bytes docs/examples/img/text/text_format_text.png | Bin 15481 -> 0 bytes docs/examples/img/text/text_rbmf_fonts.png | Bin 19458 -> 0 bytes docs/examples/img/text/text_sprite_fonts.png | Bin 19567 -> 0 bytes docs/examples/img/text/text_ttf_loading.png | Bin 55588 -> 0 bytes docs/examples/img/text/text_writing_anim.png | Bin 15773 -> 0 bytes .../img/textures/textures_formats_loading.png | Bin 125797 -> 0 bytes .../img/textures/textures_image_drawing.png | Bin 420135 -> 0 bytes .../img/textures/textures_image_loading.png | Bin 17200 -> 0 bytes .../img/textures/textures_image_processing.png | Bin 259470 -> 0 bytes .../examples/img/textures/textures_logo_raylib.png | Bin 15442 -> 0 bytes .../textures/textures_particles_trail_blending.png | Bin 358260 -> 0 bytes docs/examples/img/textures/textures_raw_data.png | Bin 87424 -> 0 bytes docs/examples/img/textures/textures_rectangle.png | Bin 109993 -> 0 bytes .../img/textures/textures_srcrec_dstrec.png | Bin 47563 -> 0 bytes docs/examples/img/textures/textures_to_image.png | Bin 17200 -> 0 bytes docs/examples/src/audio/audio_module_playing.c | 6 +- docs/examples/src/audio/audio_music_stream.c | 4 +- docs/examples/src/audio/audio_raw_stream.c | 29 +- docs/examples/src/audio/audio_sound_loading.c | 4 +- docs/examples/src/core/core_input_gamepad.c | 4 +- docs/examples/src/core/core_vr_simulator.c | 41 +- docs/examples/src/models/models_mesh_picking.c | 195 + docs/examples/src/physac/physics_demo.c | 14 +- docs/examples/src/physac/physics_friction.c | 15 +- docs/examples/src/physac/physics_movement.c | 17 +- docs/examples/src/physac/physics_restitution.c | 15 +- docs/examples/src/physac/physics_shatter.c | 15 +- .../examples/src/shaders/shaders_shapes_textures.c | 21 +- docs/examples/src/shapes/shapes_lines_bezier.c | 59 + docs/examples/src/text/text_bmfont_ttf.c | 12 +- docs/examples/src/text/text_bmfont_unordered.c | 8 +- docs/examples/src/text/text_input_box.c | 116 + docs/examples/src/text/text_raylib_fonts.c | 103 + docs/examples/src/text/text_rbmf_fonts.c | 97 - docs/examples/src/text/text_sprite_fonts.c | 24 +- docs/examples/src/text/text_ttf_loading.c | 4 +- .../src/textures/textures_particles_blending.c | 135 + docs/examples/src/textures/textures_raw_data.c | 24 +- docs/examples/src/textures/textures_rectangle.c | 55 +- .../examples/src/textures/textures_srcrec_dstrec.c | 12 +- docs/examples/web/audio/audio_module_playing.data | Bin 0 -> 25676 bytes docs/examples/web/audio/audio_module_playing.js | 9776 +--- docs/examples/web/audio/audio_music_stream.data | Bin 0 -> 506938 bytes docs/examples/web/audio/audio_music_stream.js | 9812 +--- docs/examples/web/audio/audio_raw_stream.js | 219 +- docs/examples/web/audio/audio_sound_loading.data | Bin 0 -> 63574 bytes docs/examples/web/audio/audio_sound_loading.js | 459 +- docs/examples/web/core/core_2d_camera.js | 96 +- .../web/core/core_3d_camera_first_person.js | 126 +- docs/examples/web/core/core_3d_camera_free.js | 126 +- docs/examples/web/core/core_3d_mode.js | 126 +- docs/examples/web/core/core_3d_picking.js | 126 +- docs/examples/web/core/core_basic_window.js | 96 +- docs/examples/web/core/core_color_select.js | 96 +- docs/examples/web/core/core_gestures_detection.js | 96 +- docs/examples/web/core/core_input_gamepad.js | 2971 +- docs/examples/web/core/core_input_keys.js | 96 +- docs/examples/web/core/core_input_mouse.js | 96 +- docs/examples/web/core/core_mouse_wheel.js | 96 +- docs/examples/web/core/core_random_values.js | 96 +- docs/examples/web/core/core_vr_simulator.js | 126 +- docs/examples/web/core/core_world_screen.js | 126 +- docs/examples/web/loader.html | 209 - docs/examples/web/makefile | 113 +- docs/examples/web/models/models_billboard.js | 3163 +- docs/examples/web/models/models_box_collisions.js | 126 +- docs/examples/web/models/models_cubicmap.js | 3205 +- .../examples/web/models/models_geometric_shapes.js | 126 +- docs/examples/web/models/models_heightmap.js | 3201 +- docs/examples/web/models/models_mesh_picking.c | 238 + docs/examples/web/models/models_mesh_picking.data | 554 + docs/examples/web/models/models_mesh_picking.js | 47546 ++++++++++++++++++ docs/examples/web/models/models_obj_loading.js | 3149 +- docs/examples/web/models/models_ray_picking.c | 239 - docs/examples/web/models/models_ray_picking.data | 554 - docs/examples/web/models/models_ray_picking.js | 47583 ------------------ .../examples/web/others/particles_trail_blending.c | 163 - docs/examples/web/physac/physics_demo.js | 28789 +++++++++++ docs/examples/web/physac/physics_demo.png | Bin 0 -> 23466 bytes docs/examples/web/physac/physics_friction.js | 28579 +++++++++++ docs/examples/web/physac/physics_friction.png | Bin 0 -> 18150 bytes docs/examples/web/physac/physics_movement.js | 28387 +++++++++++ docs/examples/web/physac/physics_movement.png | Bin 0 -> 15947 bytes docs/examples/web/physac/physics_restitution.js | 28733 +++++++++++ docs/examples/web/physac/physics_restitution.png | Bin 0 -> 17833 bytes docs/examples/web/physac/physics_shatter.js | 28756 +++++++++++ docs/examples/web/physac/physics_shatter.png | Bin 0 -> 23197 bytes docs/examples/web/shaders/resources/fudesumi.png | Bin 0 -> 219234 bytes docs/examples/web/shaders/resources/sonic.png | Bin 116512 -> 0 bytes .../examples/web/shaders/shaders_custom_uniform.js | 3327 +- docs/examples/web/shaders/shaders_model_shader.js | 3295 +- .../examples/web/shaders/shaders_postprocessing.js | 3311 +- .../examples/web/shaders/shaders_shapes_textures.c | 23 +- .../web/shaders/shaders_shapes_textures.data | Bin 117782 -> 220504 bytes .../web/shaders/shaders_shapes_textures.js | 3247 +- docs/examples/web/shapes/shapes_basic_shapes.c | 1 - docs/examples/web/shapes/shapes_basic_shapes.js | 96 +- docs/examples/web/shapes/shapes_basic_shapes.png | Bin 0 -> 30382 bytes docs/examples/web/shapes/shapes_colors_palette.js | 96 +- docs/examples/web/shapes/shapes_colors_palette.png | Bin 0 -> 5230 bytes docs/examples/web/shapes/shapes_lines_bezier.c | 88 + docs/examples/web/shapes/shapes_lines_bezier.js | 24332 +++++++++ docs/examples/web/shapes/shapes_lines_bezier.png | Bin 0 -> 17537 bytes docs/examples/web/shapes/shapes_logo_raylib.js | 96 +- docs/examples/web/shapes/shapes_logo_raylib.png | Bin 0 -> 12676 bytes .../examples/web/shapes/shapes_logo_raylib_anim.js | 96 +- .../web/shapes/shapes_logo_raylib_anim.png | Bin 0 -> 4787 bytes docs/examples/web/text/resources/fonts/alagard.png | Bin 0 -> 4424 bytes .../examples/web/text/resources/fonts/alagard.rbmf | Bin 2159 -> 0 bytes .../web/text/resources/fonts/alpha_beta.png | Bin 0 -> 2442 bytes .../web/text/resources/fonts/alpha_beta.rbmf | Bin 2160 -> 0 bytes .../web/text/resources/fonts/jupiter_crash.png | Bin 0 -> 3478 bytes .../web/text/resources/fonts/jupiter_crash.rbmf | Bin 2160 -> 0 bytes docs/examples/web/text/resources/fonts/mecha.png | Bin 0 -> 2399 bytes docs/examples/web/text/resources/fonts/mecha.rbmf | Bin 2160 -> 0 bytes .../web/text/resources/fonts/pixantiqua.fnt | 188 - .../web/text/resources/fonts/pixantiqua.png | Bin 0 -> 3003 bytes .../web/text/resources/fonts/pixantiqua.rbmf | Bin 2160 -> 0 bytes .../web/text/resources/fonts/pixelplay.png | Bin 0 -> 2912 bytes .../web/text/resources/fonts/pixelplay.rbmf | Bin 2160 -> 0 bytes docs/examples/web/text/resources/fonts/romulus.png | Bin 0 -> 2932 bytes .../examples/web/text/resources/fonts/romulus.rbmf | Bin 2160 -> 0 bytes docs/examples/web/text/resources/fonts/setback.png | Bin 0 -> 2539 bytes .../examples/web/text/resources/fonts/setback.rbmf | Bin 2160 -> 0 bytes docs/examples/web/text/resources/pixantiqua.fnt | 188 + docs/examples/web/text/text_bmfont_ttf.js | 3141 +- docs/examples/web/text/text_bmfont_ttf.png | Bin 0 -> 19542 bytes docs/examples/web/text/text_bmfont_unordered.data | Bin 4531 -> 25807 bytes docs/examples/web/text/text_bmfont_unordered.js | 3127 +- docs/examples/web/text/text_bmfont_unordered.png | Bin 0 -> 18713 bytes docs/examples/web/text/text_format_text.js | 96 +- docs/examples/web/text/text_format_text.png | Bin 0 -> 15481 bytes docs/examples/web/text/text_input_box.c | 145 + docs/examples/web/text/text_input_box.js | 24740 ++++++++++ docs/examples/web/text/text_input_box.png | Bin 0 -> 15484 bytes docs/examples/web/text/text_raylib_fonts.c | 133 + docs/examples/web/text/text_raylib_fonts.data | Bin 0 -> 24129 bytes docs/examples/web/text/text_raylib_fonts.js | 49234 ++++++++++++++++++ docs/examples/web/text/text_raylib_fonts.png | Bin 0 -> 20204 bytes docs/examples/web/text/text_rbmf_fonts.c | 126 - docs/examples/web/text/text_rbmf_fonts.data | Bin 17279 -> 0 bytes docs/examples/web/text/text_rbmf_fonts.js | 49263 ------------------- docs/examples/web/text/text_sprite_fonts.js | 3173 +- docs/examples/web/text/text_sprite_fonts.png | Bin 0 -> 19567 bytes docs/examples/web/text/text_ttf_loading.js | 160 +- docs/examples/web/text/text_ttf_loading.png | Bin 0 -> 55588 bytes docs/examples/web/text/text_writing_anim.js | 96 +- docs/examples/web/text/text_writing_anim.png | Bin 0 -> 15773 bytes docs/examples/web/textures/resources/fudesumi.png | Bin 0 -> 219234 bytes docs/examples/web/textures/resources/fudesumi.raw | Bin 0 -> 786432 bytes .../web/textures/textures_image_drawing.js | 4032 +- .../web/textures/textures_image_drawing.png | Bin 0 -> 420135 bytes .../web/textures/textures_image_loading.js | 2945 +- .../web/textures/textures_image_loading.png | Bin 0 -> 17200 bytes .../web/textures/textures_image_processing.js | 3081 +- .../web/textures/textures_image_processing.png | Bin 0 -> 259470 bytes docs/examples/web/textures/textures_logo_raylib.js | 2947 +- .../examples/web/textures/textures_logo_raylib.png | Bin 0 -> 15442 bytes .../web/textures/textures_particles__blending.png | Bin 0 -> 358260 bytes .../web/textures/textures_particles_blending.c | 163 + .../web/textures/textures_particles_blending.data | Bin 0 -> 15427 bytes .../web/textures/textures_particles_blending.js | 38697 +++++++++++++++ docs/examples/web/textures/textures_raw_data.c | 26 +- docs/examples/web/textures/textures_raw_data.data | Bin 0 -> 786432 bytes docs/examples/web/textures/textures_raw_data.js | 2925 +- docs/examples/web/textures/textures_raw_data.png | Bin 0 -> 246014 bytes docs/examples/web/textures/textures_rectangle.js | 3001 +- docs/examples/web/textures/textures_rectangle.png | Bin 0 -> 39809 bytes .../examples/web/textures/textures_srcrec_dstrec.c | 17 +- .../web/textures/textures_srcrec_dstrec.js | 3571 +- .../web/textures/textures_srcrec_dstrec.png | Bin 0 -> 37887 bytes docs/examples/web/textures/textures_to_image.js | 2967 +- docs/examples/web/textures/textures_to_image.png | Bin 0 -> 17200 bytes examples/Makefile | 84 +- release/html5/libraylib.bc | Bin 788572 -> 595768 bytes release/html5/raylib.h | 214 +- templates/web_shell/shell.html | 2 +- 223 files changed, 368021 insertions(+), 147742 deletions(-) delete mode 100644 docs/examples/img/audio/audio_module_playing.png delete mode 100644 docs/examples/img/audio/audio_music_stream.png delete mode 100644 docs/examples/img/audio/audio_raw_stream.png delete mode 100644 docs/examples/img/audio/audio_sound_loading.png delete mode 100644 docs/examples/img/core/core_2d_camera.png delete mode 100644 docs/examples/img/core/core_3d_camera_first_person.png delete mode 100644 docs/examples/img/core/core_3d_camera_free.png delete mode 100644 docs/examples/img/core/core_3d_mode.png delete mode 100644 docs/examples/img/core/core_3d_picking.png delete mode 100644 docs/examples/img/core/core_basic_window.png delete mode 100644 docs/examples/img/core/core_color_select.png delete mode 100644 docs/examples/img/core/core_drop_files.png delete mode 100644 docs/examples/img/core/core_gestures_detection.png delete mode 100644 docs/examples/img/core/core_input_gamepad.png delete mode 100644 docs/examples/img/core/core_input_keys.png delete mode 100644 docs/examples/img/core/core_input_mouse.png delete mode 100644 docs/examples/img/core/core_mouse_wheel.png delete mode 100644 docs/examples/img/core/core_oculus_rift.png delete mode 100644 docs/examples/img/core/core_random_values.png delete mode 100644 docs/examples/img/core/core_storage_values.png delete mode 100644 docs/examples/img/core/core_world_screen.png delete mode 100644 docs/examples/img/models/models_billboard.png delete mode 100644 docs/examples/img/models/models_box_collisions.png delete mode 100644 docs/examples/img/models/models_cubicmap.png delete mode 100644 docs/examples/img/models/models_geometric_shapes.png delete mode 100644 docs/examples/img/models/models_heightmap.png delete mode 100644 docs/examples/img/models/models_obj_loading.png delete mode 100644 docs/examples/img/physac/physics_demo.png delete mode 100644 docs/examples/img/physac/physics_friction.png delete mode 100644 docs/examples/img/physac/physics_movement.png delete mode 100644 docs/examples/img/physac/physics_restitution.png delete mode 100644 docs/examples/img/physac/physics_shatter.png delete mode 100644 docs/examples/img/shaders/shaders_custom_uniform.png delete mode 100644 docs/examples/img/shaders/shaders_model_shader.png delete mode 100644 docs/examples/img/shaders/shaders_postprocessing.png delete mode 100644 docs/examples/img/shaders/shaders_shapes_textures.png delete mode 100644 docs/examples/img/shaders/shaders_standard_lighting.png delete mode 100644 docs/examples/img/shapes/shapes_basic_shapes.png delete mode 100644 docs/examples/img/shapes/shapes_colors_palette.png delete mode 100644 docs/examples/img/shapes/shapes_logo_raylib.png delete mode 100644 docs/examples/img/shapes/shapes_logo_raylib_anim.png delete mode 100644 docs/examples/img/text/text_bmfont_ttf.png delete mode 100644 docs/examples/img/text/text_bmfont_unordered.png delete mode 100644 docs/examples/img/text/text_font_select.png delete mode 100644 docs/examples/img/text/text_format_text.png delete mode 100644 docs/examples/img/text/text_rbmf_fonts.png delete mode 100644 docs/examples/img/text/text_sprite_fonts.png delete mode 100644 docs/examples/img/text/text_ttf_loading.png delete mode 100644 docs/examples/img/text/text_writing_anim.png delete mode 100644 docs/examples/img/textures/textures_formats_loading.png delete mode 100644 docs/examples/img/textures/textures_image_drawing.png delete mode 100644 docs/examples/img/textures/textures_image_loading.png delete mode 100644 docs/examples/img/textures/textures_image_processing.png delete mode 100644 docs/examples/img/textures/textures_logo_raylib.png delete mode 100644 docs/examples/img/textures/textures_particles_trail_blending.png delete mode 100644 docs/examples/img/textures/textures_raw_data.png delete mode 100644 docs/examples/img/textures/textures_rectangle.png delete mode 100644 docs/examples/img/textures/textures_srcrec_dstrec.png delete mode 100644 docs/examples/img/textures/textures_to_image.png create mode 100644 docs/examples/src/models/models_mesh_picking.c create mode 100644 docs/examples/src/shapes/shapes_lines_bezier.c create mode 100644 docs/examples/src/text/text_input_box.c create mode 100644 docs/examples/src/text/text_raylib_fonts.c delete mode 100644 docs/examples/src/text/text_rbmf_fonts.c create mode 100644 docs/examples/src/textures/textures_particles_blending.c create mode 100644 docs/examples/web/audio/audio_module_playing.data create mode 100644 docs/examples/web/audio/audio_music_stream.data create mode 100644 docs/examples/web/audio/audio_sound_loading.data delete mode 100644 docs/examples/web/loader.html create mode 100644 docs/examples/web/models/models_mesh_picking.c create mode 100644 docs/examples/web/models/models_mesh_picking.data create mode 100644 docs/examples/web/models/models_mesh_picking.js delete mode 100644 docs/examples/web/models/models_ray_picking.c delete mode 100644 docs/examples/web/models/models_ray_picking.data delete mode 100644 docs/examples/web/models/models_ray_picking.js delete mode 100644 docs/examples/web/others/particles_trail_blending.c create mode 100644 docs/examples/web/physac/physics_demo.js create mode 100644 docs/examples/web/physac/physics_demo.png create mode 100644 docs/examples/web/physac/physics_friction.js create mode 100644 docs/examples/web/physac/physics_friction.png create mode 100644 docs/examples/web/physac/physics_movement.js create mode 100644 docs/examples/web/physac/physics_movement.png create mode 100644 docs/examples/web/physac/physics_restitution.js create mode 100644 docs/examples/web/physac/physics_restitution.png create mode 100644 docs/examples/web/physac/physics_shatter.js create mode 100644 docs/examples/web/physac/physics_shatter.png create mode 100644 docs/examples/web/shaders/resources/fudesumi.png delete mode 100644 docs/examples/web/shaders/resources/sonic.png create mode 100644 docs/examples/web/shapes/shapes_basic_shapes.png create mode 100644 docs/examples/web/shapes/shapes_colors_palette.png create mode 100644 docs/examples/web/shapes/shapes_lines_bezier.c create mode 100644 docs/examples/web/shapes/shapes_lines_bezier.js create mode 100644 docs/examples/web/shapes/shapes_lines_bezier.png create mode 100644 docs/examples/web/shapes/shapes_logo_raylib.png create mode 100644 docs/examples/web/shapes/shapes_logo_raylib_anim.png create mode 100644 docs/examples/web/text/resources/fonts/alagard.png delete mode 100644 docs/examples/web/text/resources/fonts/alagard.rbmf create mode 100644 docs/examples/web/text/resources/fonts/alpha_beta.png delete mode 100644 docs/examples/web/text/resources/fonts/alpha_beta.rbmf create mode 100644 docs/examples/web/text/resources/fonts/jupiter_crash.png delete mode 100644 docs/examples/web/text/resources/fonts/jupiter_crash.rbmf create mode 100644 docs/examples/web/text/resources/fonts/mecha.png delete mode 100644 docs/examples/web/text/resources/fonts/mecha.rbmf delete mode 100644 docs/examples/web/text/resources/fonts/pixantiqua.fnt create mode 100644 docs/examples/web/text/resources/fonts/pixantiqua.png delete mode 100644 docs/examples/web/text/resources/fonts/pixantiqua.rbmf create mode 100644 docs/examples/web/text/resources/fonts/pixelplay.png delete mode 100644 docs/examples/web/text/resources/fonts/pixelplay.rbmf create mode 100644 docs/examples/web/text/resources/fonts/romulus.png delete mode 100644 docs/examples/web/text/resources/fonts/romulus.rbmf create mode 100644 docs/examples/web/text/resources/fonts/setback.png delete mode 100644 docs/examples/web/text/resources/fonts/setback.rbmf create mode 100644 docs/examples/web/text/resources/pixantiqua.fnt create mode 100644 docs/examples/web/text/text_bmfont_ttf.png create mode 100644 docs/examples/web/text/text_bmfont_unordered.png create mode 100644 docs/examples/web/text/text_format_text.png create mode 100644 docs/examples/web/text/text_input_box.c create mode 100644 docs/examples/web/text/text_input_box.js create mode 100644 docs/examples/web/text/text_input_box.png create mode 100644 docs/examples/web/text/text_raylib_fonts.c create mode 100644 docs/examples/web/text/text_raylib_fonts.data create mode 100644 docs/examples/web/text/text_raylib_fonts.js create mode 100644 docs/examples/web/text/text_raylib_fonts.png delete mode 100644 docs/examples/web/text/text_rbmf_fonts.c delete mode 100644 docs/examples/web/text/text_rbmf_fonts.data delete mode 100644 docs/examples/web/text/text_rbmf_fonts.js create mode 100644 docs/examples/web/text/text_sprite_fonts.png create mode 100644 docs/examples/web/text/text_ttf_loading.png create mode 100644 docs/examples/web/text/text_writing_anim.png create mode 100644 docs/examples/web/textures/resources/fudesumi.png create mode 100644 docs/examples/web/textures/resources/fudesumi.raw create mode 100644 docs/examples/web/textures/textures_image_drawing.png create mode 100644 docs/examples/web/textures/textures_image_loading.png create mode 100644 docs/examples/web/textures/textures_image_processing.png create mode 100644 docs/examples/web/textures/textures_logo_raylib.png create mode 100644 docs/examples/web/textures/textures_particles__blending.png create mode 100644 docs/examples/web/textures/textures_particles_blending.c create mode 100644 docs/examples/web/textures/textures_particles_blending.data create mode 100644 docs/examples/web/textures/textures_particles_blending.js create mode 100644 docs/examples/web/textures/textures_raw_data.data create mode 100644 docs/examples/web/textures/textures_raw_data.png create mode 100644 docs/examples/web/textures/textures_rectangle.png create mode 100644 docs/examples/web/textures/textures_srcrec_dstrec.png create mode 100644 docs/examples/web/textures/textures_to_image.png (limited to 'docs/examples/web/shaders/resources') diff --git a/docs/common/js/examples.js b/docs/common/js/examples.js index 01f7611f..a06f4502 100644 --- a/docs/common/js/examples.js +++ b/docs/common/js/examples.js @@ -25,6 +25,7 @@ $(document).ready(function() { 'shapes_basic_shapes', 'shapes_colors_palette', 'shapes_logo_raylib_anim', + 'shapes_lines_bezier', 'textures_logo_raylib', 'textures_image_loading', 'textures_rectangle', @@ -35,18 +36,19 @@ $(document).ready(function() { 'textures_image_drawing', 'text_sprite_fonts', 'text_bmfont_ttf', - 'text_rbmf_fonts', + 'text_raylib_fonts', 'text_format_text', 'text_writing_anim', 'text_ttf_loading', 'text_bmfont_unordered', + 'text_input_box', 'models_geometric_shapes', 'models_box_collisions', 'models_billboard', 'models_obj_loading', 'models_heightmap', 'models_cubicmap', - 'models_ray_picking', + 'models_mesh_picking', 'shaders_model_shader', 'shaders_shapes_textures', 'shaders_custom_uniform', @@ -56,68 +58,16 @@ $(document).ready(function() { 'audio_module_playing', 'audio_raw_stream']; - var exampleDesc = [ - 'basic window', - 'input keys', - 'input mouse', - 'mouse wheel', - 'input gamepad', - 'random values', - 'color select', - 'drop files', - 'storage values', - 'gestures detection', - '3d mode', - '3d picking', - '3d camera free', - '3d camera first person', - '2d camera', - 'world screen', - 'vr simulator', - 'logo raylib shapes', - 'basic shapes', - 'colors palette', - 'logo raylib anim', - 'logo raylib texture', - 'image loading', - 'texture rectangle', - 'src-dest. rectangles', - 'texture to image', - 'raw data loading', - 'image processing', - 'image drawing', - 'sprite fonts', - 'bmfonts ttf', - 'rbmf fonts', - 'text formatting', - 'writing animation', - 'ttf loading', - 'bmfont unordered', - 'geometric shapes', - 'box collisions', - 'billboard drawing', - 'obj loading', - 'heightmap loading', - 'cubesmap loading', - 'mesh ray picking', - 'model shader', - 'shapes textures shader', - 'custom uniform in shaders', - 'postprocessing shaders', - 'standard lighting', - 'sound loading', - 'music streaming', - 'module playing', - 'raw stream']; - for (var i = 0; i < exampleName.length; i++) { var filterType = exampleName[i].substring(0, exampleName[i].indexOf("_")); + var exampleBase = exampleName[i].slice(exampleName[i].indexOf('_') + 1); + var exampleDesc = exampleBase.replace('_', ' '); $('#container').append( ''); $('#container a .extext').hide(); diff --git a/docs/common/js/games.js b/docs/common/js/games.js index 659c2a1a..7f4a3987 100644 --- a/docs/common/js/games.js +++ b/docs/common/js/games.js @@ -16,7 +16,6 @@ $(document).ready(function() { 'sample_tetris', 'sample_gold_fever', 'sample_doom', - 'game_raylib_features', 'game_drturtle', 'game_just_do', 'game_skully_escape', @@ -42,7 +41,6 @@ $(document).ready(function() { 'tetris', 'gold fever', 'doom', - 'raylib Features DEMO', 'Dr Turtle & Mr Gamera', 'JUST DO', 'Skully Escape', @@ -83,8 +81,6 @@ $(document).ready(function() { */ } - if (exampleName[i] == 'game_koala_seasons') linkTag = ''; - $('#container').append( '
' + linkTag + '

' + exampleDesc[i] + '

' + diff --git a/docs/examples/img/audio/audio_module_playing.png b/docs/examples/img/audio/audio_module_playing.png deleted file mode 100644 index ed181fa0..00000000 Binary files a/docs/examples/img/audio/audio_module_playing.png and /dev/null differ diff --git a/docs/examples/img/audio/audio_music_stream.png b/docs/examples/img/audio/audio_music_stream.png deleted file mode 100644 index f8b14e15..00000000 Binary files a/docs/examples/img/audio/audio_music_stream.png and /dev/null differ diff --git a/docs/examples/img/audio/audio_raw_stream.png b/docs/examples/img/audio/audio_raw_stream.png deleted file mode 100644 index 344f4a71..00000000 Binary files a/docs/examples/img/audio/audio_raw_stream.png and /dev/null differ diff --git a/docs/examples/img/audio/audio_sound_loading.png b/docs/examples/img/audio/audio_sound_loading.png deleted file mode 100644 index 24071ce3..00000000 Binary files a/docs/examples/img/audio/audio_sound_loading.png and /dev/null differ diff --git a/docs/examples/img/core/core_2d_camera.png b/docs/examples/img/core/core_2d_camera.png deleted file mode 100644 index d2f9e634..00000000 Binary files a/docs/examples/img/core/core_2d_camera.png and /dev/null differ diff --git a/docs/examples/img/core/core_3d_camera_first_person.png b/docs/examples/img/core/core_3d_camera_first_person.png deleted file mode 100644 index a995591f..00000000 Binary files a/docs/examples/img/core/core_3d_camera_first_person.png and /dev/null differ diff --git a/docs/examples/img/core/core_3d_camera_free.png b/docs/examples/img/core/core_3d_camera_free.png deleted file mode 100644 index 7874eedc..00000000 Binary files a/docs/examples/img/core/core_3d_camera_free.png and /dev/null differ diff --git a/docs/examples/img/core/core_3d_mode.png b/docs/examples/img/core/core_3d_mode.png deleted file mode 100644 index de65daeb..00000000 Binary files a/docs/examples/img/core/core_3d_mode.png and /dev/null differ diff --git a/docs/examples/img/core/core_3d_picking.png b/docs/examples/img/core/core_3d_picking.png deleted file mode 100644 index 254f2f88..00000000 Binary files a/docs/examples/img/core/core_3d_picking.png and /dev/null differ diff --git a/docs/examples/img/core/core_basic_window.png b/docs/examples/img/core/core_basic_window.png deleted file mode 100644 index 34618441..00000000 Binary files a/docs/examples/img/core/core_basic_window.png and /dev/null differ diff --git a/docs/examples/img/core/core_color_select.png b/docs/examples/img/core/core_color_select.png deleted file mode 100644 index 93ab83ae..00000000 Binary files a/docs/examples/img/core/core_color_select.png and /dev/null differ diff --git a/docs/examples/img/core/core_drop_files.png b/docs/examples/img/core/core_drop_files.png deleted file mode 100644 index d46c44cf..00000000 Binary files a/docs/examples/img/core/core_drop_files.png and /dev/null differ diff --git a/docs/examples/img/core/core_gestures_detection.png b/docs/examples/img/core/core_gestures_detection.png deleted file mode 100644 index d2bbb5d7..00000000 Binary files a/docs/examples/img/core/core_gestures_detection.png and /dev/null differ diff --git a/docs/examples/img/core/core_input_gamepad.png b/docs/examples/img/core/core_input_gamepad.png deleted file mode 100644 index 5996eece..00000000 Binary files a/docs/examples/img/core/core_input_gamepad.png and /dev/null differ diff --git a/docs/examples/img/core/core_input_keys.png b/docs/examples/img/core/core_input_keys.png deleted file mode 100644 index 48370321..00000000 Binary files a/docs/examples/img/core/core_input_keys.png and /dev/null differ diff --git a/docs/examples/img/core/core_input_mouse.png b/docs/examples/img/core/core_input_mouse.png deleted file mode 100644 index a96e7faf..00000000 Binary files a/docs/examples/img/core/core_input_mouse.png and /dev/null differ diff --git a/docs/examples/img/core/core_mouse_wheel.png b/docs/examples/img/core/core_mouse_wheel.png deleted file mode 100644 index 26a1f243..00000000 Binary files a/docs/examples/img/core/core_mouse_wheel.png and /dev/null differ diff --git a/docs/examples/img/core/core_oculus_rift.png b/docs/examples/img/core/core_oculus_rift.png deleted file mode 100644 index aa4d0932..00000000 Binary files a/docs/examples/img/core/core_oculus_rift.png and /dev/null differ diff --git a/docs/examples/img/core/core_random_values.png b/docs/examples/img/core/core_random_values.png deleted file mode 100644 index 6dd49475..00000000 Binary files a/docs/examples/img/core/core_random_values.png and /dev/null differ diff --git a/docs/examples/img/core/core_storage_values.png b/docs/examples/img/core/core_storage_values.png deleted file mode 100644 index 6cfd552d..00000000 Binary files a/docs/examples/img/core/core_storage_values.png and /dev/null differ diff --git a/docs/examples/img/core/core_world_screen.png b/docs/examples/img/core/core_world_screen.png deleted file mode 100644 index b4853b45..00000000 Binary files a/docs/examples/img/core/core_world_screen.png and /dev/null differ diff --git a/docs/examples/img/models/models_billboard.png b/docs/examples/img/models/models_billboard.png deleted file mode 100644 index dad1e55b..00000000 Binary files a/docs/examples/img/models/models_billboard.png and /dev/null differ diff --git a/docs/examples/img/models/models_box_collisions.png b/docs/examples/img/models/models_box_collisions.png deleted file mode 100644 index d01fd9dd..00000000 Binary files a/docs/examples/img/models/models_box_collisions.png and /dev/null differ diff --git a/docs/examples/img/models/models_cubicmap.png b/docs/examples/img/models/models_cubicmap.png deleted file mode 100644 index 9cb854cb..00000000 Binary files a/docs/examples/img/models/models_cubicmap.png and /dev/null differ diff --git a/docs/examples/img/models/models_geometric_shapes.png b/docs/examples/img/models/models_geometric_shapes.png deleted file mode 100644 index 6076b429..00000000 Binary files a/docs/examples/img/models/models_geometric_shapes.png and /dev/null differ diff --git a/docs/examples/img/models/models_heightmap.png b/docs/examples/img/models/models_heightmap.png deleted file mode 100644 index 6dcf01f0..00000000 Binary files a/docs/examples/img/models/models_heightmap.png and /dev/null differ diff --git a/docs/examples/img/models/models_obj_loading.png b/docs/examples/img/models/models_obj_loading.png deleted file mode 100644 index 560348b4..00000000 Binary files a/docs/examples/img/models/models_obj_loading.png and /dev/null differ diff --git a/docs/examples/img/physac/physics_demo.png b/docs/examples/img/physac/physics_demo.png deleted file mode 100644 index 12dc7e72..00000000 Binary files a/docs/examples/img/physac/physics_demo.png and /dev/null differ diff --git a/docs/examples/img/physac/physics_friction.png b/docs/examples/img/physac/physics_friction.png deleted file mode 100644 index e791ec2b..00000000 Binary files a/docs/examples/img/physac/physics_friction.png and /dev/null differ diff --git a/docs/examples/img/physac/physics_movement.png b/docs/examples/img/physac/physics_movement.png deleted file mode 100644 index a88a7d79..00000000 Binary files a/docs/examples/img/physac/physics_movement.png and /dev/null differ diff --git a/docs/examples/img/physac/physics_restitution.png b/docs/examples/img/physac/physics_restitution.png deleted file mode 100644 index 8ec4b3f3..00000000 Binary files a/docs/examples/img/physac/physics_restitution.png and /dev/null differ diff --git a/docs/examples/img/physac/physics_shatter.png b/docs/examples/img/physac/physics_shatter.png deleted file mode 100644 index 68f9a1b7..00000000 Binary files a/docs/examples/img/physac/physics_shatter.png and /dev/null differ diff --git a/docs/examples/img/shaders/shaders_custom_uniform.png b/docs/examples/img/shaders/shaders_custom_uniform.png deleted file mode 100644 index dfddc3a7..00000000 Binary files a/docs/examples/img/shaders/shaders_custom_uniform.png and /dev/null differ diff --git a/docs/examples/img/shaders/shaders_model_shader.png b/docs/examples/img/shaders/shaders_model_shader.png deleted file mode 100644 index b829dea5..00000000 Binary files a/docs/examples/img/shaders/shaders_model_shader.png and /dev/null differ diff --git a/docs/examples/img/shaders/shaders_postprocessing.png b/docs/examples/img/shaders/shaders_postprocessing.png deleted file mode 100644 index 684cbd41..00000000 Binary files a/docs/examples/img/shaders/shaders_postprocessing.png and /dev/null differ diff --git a/docs/examples/img/shaders/shaders_shapes_textures.png b/docs/examples/img/shaders/shaders_shapes_textures.png deleted file mode 100644 index ee5fed42..00000000 Binary files a/docs/examples/img/shaders/shaders_shapes_textures.png and /dev/null differ diff --git a/docs/examples/img/shaders/shaders_standard_lighting.png b/docs/examples/img/shaders/shaders_standard_lighting.png deleted file mode 100644 index 65efe47f..00000000 Binary files a/docs/examples/img/shaders/shaders_standard_lighting.png and /dev/null differ diff --git a/docs/examples/img/shapes/shapes_basic_shapes.png b/docs/examples/img/shapes/shapes_basic_shapes.png deleted file mode 100644 index a7d4a991..00000000 Binary files a/docs/examples/img/shapes/shapes_basic_shapes.png and /dev/null differ diff --git a/docs/examples/img/shapes/shapes_colors_palette.png b/docs/examples/img/shapes/shapes_colors_palette.png deleted file mode 100644 index dd3cf4a5..00000000 Binary files a/docs/examples/img/shapes/shapes_colors_palette.png and /dev/null differ diff --git a/docs/examples/img/shapes/shapes_logo_raylib.png b/docs/examples/img/shapes/shapes_logo_raylib.png deleted file mode 100644 index 6b385f7c..00000000 Binary files a/docs/examples/img/shapes/shapes_logo_raylib.png and /dev/null differ diff --git a/docs/examples/img/shapes/shapes_logo_raylib_anim.png b/docs/examples/img/shapes/shapes_logo_raylib_anim.png deleted file mode 100644 index 103dfc4a..00000000 Binary files a/docs/examples/img/shapes/shapes_logo_raylib_anim.png and /dev/null differ diff --git a/docs/examples/img/text/text_bmfont_ttf.png b/docs/examples/img/text/text_bmfont_ttf.png deleted file mode 100644 index 8305d36b..00000000 Binary files a/docs/examples/img/text/text_bmfont_ttf.png and /dev/null differ diff --git a/docs/examples/img/text/text_bmfont_unordered.png b/docs/examples/img/text/text_bmfont_unordered.png deleted file mode 100644 index c6767567..00000000 Binary files a/docs/examples/img/text/text_bmfont_unordered.png and /dev/null differ diff --git a/docs/examples/img/text/text_font_select.png b/docs/examples/img/text/text_font_select.png deleted file mode 100644 index 65040df6..00000000 Binary files a/docs/examples/img/text/text_font_select.png and /dev/null differ diff --git a/docs/examples/img/text/text_format_text.png b/docs/examples/img/text/text_format_text.png deleted file mode 100644 index cf9a1dda..00000000 Binary files a/docs/examples/img/text/text_format_text.png and /dev/null differ diff --git a/docs/examples/img/text/text_rbmf_fonts.png b/docs/examples/img/text/text_rbmf_fonts.png deleted file mode 100644 index c047c503..00000000 Binary files a/docs/examples/img/text/text_rbmf_fonts.png and /dev/null differ diff --git a/docs/examples/img/text/text_sprite_fonts.png b/docs/examples/img/text/text_sprite_fonts.png deleted file mode 100644 index 1bd4aa03..00000000 Binary files a/docs/examples/img/text/text_sprite_fonts.png and /dev/null differ diff --git a/docs/examples/img/text/text_ttf_loading.png b/docs/examples/img/text/text_ttf_loading.png deleted file mode 100644 index 29ea263a..00000000 Binary files a/docs/examples/img/text/text_ttf_loading.png and /dev/null differ diff --git a/docs/examples/img/text/text_writing_anim.png b/docs/examples/img/text/text_writing_anim.png deleted file mode 100644 index d6752dd8..00000000 Binary files a/docs/examples/img/text/text_writing_anim.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_formats_loading.png b/docs/examples/img/textures/textures_formats_loading.png deleted file mode 100644 index 6778080f..00000000 Binary files a/docs/examples/img/textures/textures_formats_loading.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_image_drawing.png b/docs/examples/img/textures/textures_image_drawing.png deleted file mode 100644 index acfee069..00000000 Binary files a/docs/examples/img/textures/textures_image_drawing.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_image_loading.png b/docs/examples/img/textures/textures_image_loading.png deleted file mode 100644 index 410103a5..00000000 Binary files a/docs/examples/img/textures/textures_image_loading.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_image_processing.png b/docs/examples/img/textures/textures_image_processing.png deleted file mode 100644 index c15e19f9..00000000 Binary files a/docs/examples/img/textures/textures_image_processing.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_logo_raylib.png b/docs/examples/img/textures/textures_logo_raylib.png deleted file mode 100644 index c18bf880..00000000 Binary files a/docs/examples/img/textures/textures_logo_raylib.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_particles_trail_blending.png b/docs/examples/img/textures/textures_particles_trail_blending.png deleted file mode 100644 index b0c40fd2..00000000 Binary files a/docs/examples/img/textures/textures_particles_trail_blending.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_raw_data.png b/docs/examples/img/textures/textures_raw_data.png deleted file mode 100644 index 374d2266..00000000 Binary files a/docs/examples/img/textures/textures_raw_data.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_rectangle.png b/docs/examples/img/textures/textures_rectangle.png deleted file mode 100644 index d89404ab..00000000 Binary files a/docs/examples/img/textures/textures_rectangle.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_srcrec_dstrec.png b/docs/examples/img/textures/textures_srcrec_dstrec.png deleted file mode 100644 index 9ea00fe4..00000000 Binary files a/docs/examples/img/textures/textures_srcrec_dstrec.png and /dev/null differ diff --git a/docs/examples/img/textures/textures_to_image.png b/docs/examples/img/textures/textures_to_image.png deleted file mode 100644 index 410103a5..00000000 Binary files a/docs/examples/img/textures/textures_to_image.png and /dev/null differ diff --git a/docs/examples/src/audio/audio_module_playing.c b/docs/examples/src/audio/audio_module_playing.c index a9ee4619..671a119f 100644 --- a/docs/examples/src/audio/audio_module_playing.c +++ b/docs/examples/src/audio/audio_module_playing.c @@ -52,7 +52,7 @@ int main() circles[i].color = colors[GetRandomValue(0, 13)]; } - Music xm = LoadMusicStream("resources/audio/mini1111.xm"); + Music xm = LoadMusicStream("resources/mini1111.xm"); PlayMusicStream(xm); @@ -86,7 +86,7 @@ int main() } // Get timePlayed scaled to bar dimensions - timePlayed = (GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40))*2; + timePlayed = GetMusicTimePlayed(xm)/GetMusicTimeLength(xm)*(screenWidth - 40); // Color circles animation for (int i = MAX_CIRCLES - 1; (i >= 0) && !pause; i--) @@ -112,7 +112,7 @@ int main() //---------------------------------------------------------------------------------- BeginDrawing(); - ClearBackground(WHITE); + ClearBackground(RAYWHITE); for (int i = MAX_CIRCLES - 1; i >= 0; i--) { diff --git a/docs/examples/src/audio/audio_music_stream.c b/docs/examples/src/audio/audio_music_stream.c index dc9d4355..f9fe23d2 100644 --- a/docs/examples/src/audio/audio_music_stream.c +++ b/docs/examples/src/audio/audio_music_stream.c @@ -24,7 +24,7 @@ int main() InitAudioDevice(); // Initialize audio device - Music music = LoadMusicStream("resources/audio/guitar_noodling.ogg"); + Music music = LoadMusicStream("resources/guitar_noodling.ogg"); PlayMusicStream(music); @@ -58,7 +58,7 @@ int main() } // Get timePlayed scaled to bar dimensions (400 pixels) - timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*100*4; + timePlayed = GetMusicTimePlayed(music)/GetMusicTimeLength(music)*400; //---------------------------------------------------------------------------------- // Draw diff --git a/docs/examples/src/audio/audio_raw_stream.c b/docs/examples/src/audio/audio_raw_stream.c index c044a7e0..80c83e96 100644 --- a/docs/examples/src/audio/audio_raw_stream.c +++ b/docs/examples/src/audio/audio_raw_stream.c @@ -16,7 +16,8 @@ #include // Required for: malloc(), free() #include // Required for: sinf() -#define MAX_SAMPLES 20000 +#define MAX_SAMPLES 22050 +#define MAX_SAMPLES_PER_UPDATE 4096 int main() { @@ -29,21 +30,20 @@ int main() InitAudioDevice(); // Initialize audio device - // Init raw audio stream (sample rate: 22050, sample size: 32bit-float, channels: 1-mono) - AudioStream stream = InitAudioStream(22050, 32, 1); + // Init raw audio stream (sample rate: 22050, sample size: 16bit-short, channels: 1-mono) + AudioStream stream = InitAudioStream(22050, 16, 1); - // Fill audio stream with some samples (sine wave) - float *data = (float *)malloc(sizeof(float)*MAX_SAMPLES); + // Generate samples data from sine wave + short *data = (short *)malloc(sizeof(short)*MAX_SAMPLES); + // TODO: Review data generation, it seems data is discontinued for loop, + // for that reason, there is a clip everytime audio stream is looped... for (int i = 0; i < MAX_SAMPLES; i++) { - data[i] = sinf(((2*PI*(float)i)/2)*DEG2RAD); + data[i] = (short)(sinf(((2*PI*(float)i)/2)*DEG2RAD)*32000); } - // NOTE: The generated MAX_SAMPLES do not fit to close a perfect loop - // for that reason, there is a clip everytime audio stream is looped - - PlayAudioStream(stream); + PlayAudioStream(stream); // Start processing stream buffer (no data loaded currently) int totalSamples = MAX_SAMPLES; int samplesLeft = totalSamples; @@ -60,10 +60,13 @@ int main() //---------------------------------------------------------------------------------- // Refill audio stream if required + // NOTE: Every update we check if stream data has been already consumed and we update + // buffer with new data from the generated samples, we upload data at a rate (MAX_SAMPLES_PER_UPDATE), + // but notice that at some point we update < MAX_SAMPLES_PER_UPDATE data... if (IsAudioBufferProcessed(stream)) { int numSamples = 0; - if (samplesLeft >= 4096) numSamples = 4096; + if (samplesLeft >= MAX_SAMPLES_PER_UPDATE) numSamples = MAX_SAMPLES_PER_UPDATE; else numSamples = samplesLeft; UpdateAudioStream(stream, data + (totalSamples - samplesLeft), numSamples); @@ -83,11 +86,11 @@ int main() DrawText("SINE WAVE SHOULD BE PLAYING!", 240, 140, 20, LIGHTGRAY); - // NOTE: Draw a part of the sine wave (only screen width) + // NOTE: Draw a part of the sine wave (only screen width, proportional values) for (int i = 0; i < GetScreenWidth(); i++) { position.x = i; - position.y = 250 + 50*data[i]; + position.y = 250 + 50*data[i]/32000; DrawPixelV(position, RED); } diff --git a/docs/examples/src/audio/audio_sound_loading.c b/docs/examples/src/audio/audio_sound_loading.c index f081e8ed..00e58326 100644 --- a/docs/examples/src/audio/audio_sound_loading.c +++ b/docs/examples/src/audio/audio_sound_loading.c @@ -24,8 +24,8 @@ int main() InitAudioDevice(); // Initialize audio device - Sound fxWav = LoadSound("resources/audio/weird.wav"); // Load WAV audio file - Sound fxOgg = LoadSound("resources/audio/tanatana.ogg"); // Load OGG audio file + Sound fxWav = LoadSound("resources/sound.wav"); // Load WAV audio file + Sound fxOgg = LoadSound("resources/tanatana.ogg"); // Load OGG audio file SetTargetFPS(60); //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/core/core_input_gamepad.c b/docs/examples/src/core/core_input_gamepad.c index f98885e3..64520a47 100644 --- a/docs/examples/src/core/core_input_gamepad.c +++ b/docs/examples/src/core/core_input_gamepad.c @@ -4,8 +4,8 @@ * * NOTE: This example requires a Gamepad connected to the system * raylib is configured to work with the following gamepads: -* Xbox 360 Controller (Xbox 360, Xbox One) -* PLAYSTATION(R)3 Controller +* - Xbox 360 Controller (Xbox 360, Xbox One) +* - PLAYSTATION(R)3 Controller * Check raylib.h for buttons configuration * * This example has been created using raylib 1.6 (www.raylib.com) diff --git a/docs/examples/src/core/core_vr_simulator.c b/docs/examples/src/core/core_vr_simulator.c index eb628cd7..69e0f849 100644 --- a/docs/examples/src/core/core_vr_simulator.c +++ b/docs/examples/src/core/core_vr_simulator.c @@ -1,14 +1,11 @@ /******************************************************************************************* * -* raylib [core] example - Oculus Rift CV1 +* raylib [core] example - VR Simulator (Oculus Rift CV1 parameters) * -* Compile example using: -* gcc -o $(NAME_PART).exe $(FILE_NAME) -L. -L..\src\external\OculusSDK\LibOVR -lLibOVRRT32_1 -lraylib -lglfw3 -lopengl32 -lgdi32 -std=c99 -* -* This example has been created using raylib 1.5 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * -* Copyright (c) 2016 Ramon Santamaria (@raysan5) +* Copyright (c) 2017 Ramon Santamaria (@raysan5) * ********************************************************************************************/ @@ -23,10 +20,9 @@ int main() // NOTE: screenWidth/screenHeight should match VR device aspect ratio - InitWindow(screenWidth, screenHeight, "raylib [core] example - oculus rift"); - - // NOTE: If device is not available, it fallbacks to default device (simulator) - InitVrDevice(HMD_OCULUS_RIFT_CV1); // Init VR device (Oculus Rift CV1) + InitWindow(screenWidth, screenHeight, "raylib [core] example - vr simulator"); + + InitVrSimulator(HMD_OCULUS_RIFT_CV1); // Init VR simulator (Oculus Rift CV1 parameters) // Define the camera to look into our 3d world Camera camera; @@ -47,10 +43,9 @@ int main() { // Update //---------------------------------------------------------------------------------- - if (IsVrSimulator()) UpdateCamera(&camera); // Update camera (simulator mode) - else if (IsVrDeviceReady()) UpdateVrTracking(&camera); // Update camera with device tracking data - - if (IsKeyPressed(KEY_SPACE)) ToggleVrMode(); // Toggle VR mode + UpdateCamera(&camera); // Update camera (simulator mode) + + if (IsKeyPressed(KEY_SPACE)) ToggleVrMode(); // Toggle VR mode //---------------------------------------------------------------------------------- // Draw @@ -58,15 +53,19 @@ int main() BeginDrawing(); ClearBackground(RAYWHITE); + + BeginVrDrawing(); - Begin3dMode(camera); + Begin3dMode(camera); - DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); - DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); + DrawCube(cubePosition, 2.0f, 2.0f, 2.0f, RED); + DrawCubeWires(cubePosition, 2.0f, 2.0f, 2.0f, MAROON); - DrawGrid(40, 1.0f); + DrawGrid(40, 1.0f); - End3dMode(); + End3dMode(); + + EndVrDrawing(); DrawFPS(10, 10); @@ -76,10 +75,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - CloseVrDevice(); // Close VR device + CloseVrSimulator(); // Close VR simulator CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; -} +} \ No newline at end of file diff --git a/docs/examples/src/models/models_mesh_picking.c b/docs/examples/src/models/models_mesh_picking.c new file mode 100644 index 00000000..0b5247ec --- /dev/null +++ b/docs/examples/src/models/models_mesh_picking.c @@ -0,0 +1,195 @@ +/******************************************************************************************* +* +* raylib [models] example - Mesh picking in 3d mode, ground plane, triangle, mesh +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* Example contributed by Joel Davis (@joeld42) +* +********************************************************************************************/ + +#include "raylib.h" +#include "raymath.h" + +#define FLT_MAX 3.40282347E+38F // Maximum value of a float, defined in + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [models] example - mesh picking"); + + // Define the camera to look into our 3d world + Camera camera; + camera.position = (Vector3){ 10.0f, 8.0f, 10.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 2.3f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.6f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + + Ray ray; // Picking ray + + Model tower = LoadModel("resources/tower.obj"); // Load OBJ model + Texture2D texture = LoadTexture("resources/tower.png"); // Load model texture + tower.material.texDiffuse = texture; // Set model diffuse texture + + Vector3 towerPos = { 0.0f, 0.0f, 0.0f }; // Set model position + BoundingBox towerBBox = CalculateBoundingBox(tower.mesh); + bool hitMeshBBox = false; + bool hitTriangle = false; + + // Test triangle + Vector3 ta = (Vector3){ -25.0, 0.5, 0.0 }; + Vector3 tb = (Vector3){ -4.0, 2.5, 1.0 }; + Vector3 tc = (Vector3){ -8.0, 6.5, 0.0 }; + + Vector3 bary = { 0.0f, 0.0f, 0.0f }; + + SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera); // Update camera + + // Display information about closest hit + RayHitInfo nearestHit; + char *hitObjectName = "None"; + nearestHit.distance = FLT_MAX; + nearestHit.hit = false; + Color cursorColor = WHITE; + + // Get ray and test against ground, triangle, and mesh + ray = GetMouseRay(GetMousePosition(), camera); + + // Check ray collision aginst ground plane + RayHitInfo groundHitInfo = GetCollisionRayGround(ray, 0.0f); + + if ((groundHitInfo.hit) && (groundHitInfo.distance < nearestHit.distance)) + { + nearestHit = groundHitInfo; + cursorColor = GREEN; + hitObjectName = "Ground"; + } + + // Check ray collision against test triangle + RayHitInfo triHitInfo = GetCollisionRayTriangle(ray, ta, tb, tc); + + if ((triHitInfo.hit) && (triHitInfo.distance < nearestHit.distance)) + { + nearestHit = triHitInfo; + cursorColor = PURPLE; + hitObjectName = "Triangle"; + + bary = VectorBarycenter(nearestHit.hitPosition, ta, tb, tc); + hitTriangle = true; + } + else hitTriangle = false; + + RayHitInfo meshHitInfo; + + // Check ray collision against bounding box first, before trying the full ray-mesh test + if (CheckCollisionRayBox(ray, towerBBox)) + { + hitMeshBBox = true; + + // Check ray collision against mesh + meshHitInfo = GetCollisionRayMesh(ray, &tower.mesh); + + if ((meshHitInfo.hit) && (meshHitInfo.distance < nearestHit.distance)) + { + nearestHit = meshHitInfo; + cursorColor = ORANGE; + hitObjectName = "Mesh"; + } + + } hitMeshBBox = false; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + Begin3dMode(camera); + + // Draw the tower + DrawModel(tower, towerPos, 1.0, WHITE); + + // Draw the test triangle + DrawLine3D(ta, tb, PURPLE); + DrawLine3D(tb, tc, PURPLE); + DrawLine3D(tc, ta, PURPLE); + + // Draw the mesh bbox if we hit it + if (hitMeshBBox) DrawBoundingBox(towerBBox, LIME); + + // If we hit something, draw the cursor at the hit point + if (nearestHit.hit) + { + DrawCube(nearestHit.hitPosition, 0.3, 0.3, 0.3, cursorColor); + DrawCubeWires(nearestHit.hitPosition, 0.3, 0.3, 0.3, RED); + + Vector3 normalEnd; + normalEnd.x = nearestHit.hitPosition.x + nearestHit.hitNormal.x; + normalEnd.y = nearestHit.hitPosition.y + nearestHit.hitNormal.y; + normalEnd.z = nearestHit.hitPosition.z + nearestHit.hitNormal.z; + + DrawLine3D(nearestHit.hitPosition, normalEnd, RED); + } + + DrawRay(ray, MAROON); + + DrawGrid(100, 1.0f); + + End3dMode(); + + // Draw some debug GUI text + DrawText(FormatText("Hit Object: %s", hitObjectName), 10, 50, 10, BLACK); + + if (nearestHit.hit) + { + int ypos = 70; + + DrawText(FormatText("Distance: %3.2f", nearestHit.distance), 10, ypos, 10, BLACK); + + DrawText(FormatText("Hit Pos: %3.2f %3.2f %3.2f", + nearestHit.hitPosition.x, + nearestHit.hitPosition.y, + nearestHit.hitPosition.z), 10, ypos + 15, 10, BLACK); + + DrawText(FormatText("Hit Norm: %3.2f %3.2f %3.2f", + nearestHit.hitNormal.x, + nearestHit.hitNormal.y, + nearestHit.hitNormal.z), 10, ypos + 30, 10, BLACK); + + if (hitTriangle) DrawText(FormatText("Barycenter: %3.2f %3.2f %3.2f", bary.x, bary.y, bary.z), 10, ypos + 45, 10, BLACK); + } + + DrawText("Use Mouse to Move Camera", 10, 430, 10, GRAY); + + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadModel(tower); // Unload model + UnloadTexture(texture); // Unload texture + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/docs/examples/src/physac/physics_demo.c b/docs/examples/src/physac/physics_demo.c index bed7c94d..9bf04d50 100644 --- a/docs/examples/src/physac/physics_demo.c +++ b/docs/examples/src/physac/physics_demo.c @@ -2,17 +2,22 @@ * * Physac - Physics demo * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -120,3 +125,4 @@ int main() return 0; } + diff --git a/docs/examples/src/physac/physics_friction.c b/docs/examples/src/physac/physics_friction.c index 28d3c4b8..25f31d3f 100644 --- a/docs/examples/src/physac/physics_friction.c +++ b/docs/examples/src/physac/physics_friction.c @@ -2,17 +2,22 @@ * * Physac - Physics friction * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -129,8 +134,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/physac/physics_movement.c b/docs/examples/src/physac/physics_movement.c index ca18f3df..f81316ed 100644 --- a/docs/examples/src/physac/physics_movement.c +++ b/docs/examples/src/physac/physics_movement.c @@ -2,19 +2,24 @@ * * Physac - Physics movement * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" -#define VELOCITY 0.5f +#define VELOCITY 0.5f int main() { @@ -115,8 +120,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/physac/physics_restitution.c b/docs/examples/src/physac/physics_restitution.c index 3543db69..d58ec6e3 100644 --- a/docs/examples/src/physac/physics_restitution.c +++ b/docs/examples/src/physac/physics_restitution.c @@ -2,17 +2,22 @@ * * Physac - Physics restitution * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -108,8 +113,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/physac/physics_shatter.c b/docs/examples/src/physac/physics_shatter.c index 2cb9d195..4e3b0cb6 100644 --- a/docs/examples/src/physac/physics_shatter.c +++ b/docs/examples/src/physac/physics_shatter.c @@ -2,17 +2,22 @@ * * Physac - Body shatter * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. -* The file pthreadGC2.dll is required to run the program; you can find it in 'src\external' +* NOTE 1: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* NOTE 2: Physac requires static C library linkage to avoid dependency on MinGW DLL (-static -lpthread) * -* Copyright (c) 2016 Victor Fisac +* Use the following line to compile: +* +* gcc -o $(NAME_PART).exe $(FILE_NAME) -s $(RAYLIB_DIR)\raylib\raylib_icon -static -lraylib -lpthread +* -lglfw3 -lopengl32 -lgdi32 -lopenal32 -lwinmm -std=c99 -Wl,--subsystem,windows -Wl,-allow-multiple-definition +* +* Copyright (c) 2017 Victor Fisac * ********************************************************************************************/ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "..\src\physac.h" +#include "physac.h" int main() { @@ -100,8 +105,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; } + diff --git a/docs/examples/src/shaders/shaders_shapes_textures.c b/docs/examples/src/shaders/shaders_shapes_textures.c index 0a14469f..40e99a8f 100644 --- a/docs/examples/src/shaders/shaders_shapes_textures.c +++ b/docs/examples/src/shaders/shaders_shapes_textures.c @@ -9,7 +9,7 @@ * on OpenGL ES 2.0 platforms (Android, Raspberry Pi, HTML5), use #version 100 shaders * raylib comes with shaders ready for both versions, check raylib/shaders install folder * -* This example has been created using raylib 1.3 (www.raylib.com) +* This example has been created using raylib 1.7 (www.raylib.com) * raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) * * Copyright (c) 2015 Ramon Santamaria (@raysan5) @@ -18,9 +18,6 @@ #include "raylib.h" -#include -#include - int main() { // Initialization @@ -30,14 +27,12 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes and texture shaders"); - Texture2D sonic = LoadTexture("resources/texture_formats/sonic.png"); + Texture2D fudesumi = LoadTexture("resources/fudesumi.png"); // NOTE: Using GLSL 330 shader version, on OpenGL ES 2.0 use GLSL 100 shader version Shader shader = LoadShader("resources/shaders/glsl330/base.vs", "resources/shaders/glsl330/grayscale.fs"); - - // Shader usage is also different than models/postprocessing, shader is just activated when required - + SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -91,21 +86,23 @@ int main() // Activate our custom shader to be applied on next shapes/textures drawings BeginShaderMode(shader); - DrawTexture(sonic, 380, -10, WHITE); // Using custom shader + DrawTexture(fudesumi, 500, -30, WHITE); // Using custom shader // Activate our default shader for next drawings EndShaderMode(); + DrawText("(c) Fudesumi sprite by Eiden Marsal", 380, screenHeight - 20, 10, GRAY); + EndDrawing(); //---------------------------------------------------------------------------------- } // De-Initialization //-------------------------------------------------------------------------------------- - UnloadShader(shader); // Unload shader - UnloadTexture(sonic); // Unload texture + UnloadShader(shader); // Unload shader + UnloadTexture(fudesumi); // Unload texture - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; diff --git a/docs/examples/src/shapes/shapes_lines_bezier.c b/docs/examples/src/shapes/shapes_lines_bezier.c new file mode 100644 index 00000000..f4133459 --- /dev/null +++ b/docs/examples/src/shapes/shapes_lines_bezier.c @@ -0,0 +1,59 @@ +/******************************************************************************************* +* +* raylib [shapes] example - Cubic-bezier lines +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + SetConfigFlags(FLAG_MSAA_4X_HINT); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - cubic-bezier lines"); + + Vector2 start = { 0, 0 }; + Vector2 end = { screenWidth, screenHeight }; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) start = GetMousePosition(); + else if (IsMouseButtonDown(MOUSE_RIGHT_BUTTON)) end = GetMousePosition(); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("USE MOUSE LEFT-RIGHT CLICK to DEFINE LINE START and END POINTS", 15, 20, 20, GRAY); + + DrawLineBezier(start, end, 2.0f, RED); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} diff --git a/docs/examples/src/text/text_bmfont_ttf.c b/docs/examples/src/text/text_bmfont_ttf.c index caece548..0778fd11 100644 --- a/docs/examples/src/text/text_bmfont_ttf.c +++ b/docs/examples/src/text/text_bmfont_ttf.c @@ -24,13 +24,13 @@ int main() const char msgTtf[64] = "THIS SPRITE FONT has been GENERATED from a TTF"; // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont fontBm = LoadSpriteFont("resources/fonts/bmfont.fnt"); // BMFont (AngelCode) - SpriteFont fontTtf = LoadSpriteFont("resources/fonts/pixantiqua.ttf"); // TTF font + SpriteFont fontBm = LoadSpriteFont("resources/bmfont.fnt"); // BMFont (AngelCode) + SpriteFont fontTtf = LoadSpriteFont("resources/pixantiqua.ttf"); // TTF font Vector2 fontPosition; - fontPosition.x = screenWidth/2 - MeasureTextEx(fontBm, msgBm, fontBm.size, 0).x/2; - fontPosition.y = screenHeight/2 - fontBm.size/2 - 80; + fontPosition.x = screenWidth/2 - MeasureTextEx(fontBm, msgBm, fontBm.baseSize, 0).x/2; + fontPosition.y = screenHeight/2 - fontBm.baseSize/2 - 80; SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -49,8 +49,8 @@ int main() ClearBackground(RAYWHITE); - DrawTextEx(fontBm, msgBm, fontPosition, fontBm.size, 0, MAROON); - DrawTextEx(fontTtf, msgTtf, (Vector2){ 75.0f, 240.0f }, fontTtf.size*0.8f, 2, LIME); + DrawTextEx(fontBm, msgBm, fontPosition, fontBm.baseSize, 0, MAROON); + DrawTextEx(fontTtf, msgTtf, (Vector2){ 75.0f, 240.0f }, fontTtf.baseSize*0.8f, 2, LIME); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/src/text/text_bmfont_unordered.c b/docs/examples/src/text/text_bmfont_unordered.c index b29c5f8b..01561bec 100644 --- a/docs/examples/src/text/text_bmfont_unordered.c +++ b/docs/examples/src/text/text_bmfont_unordered.c @@ -25,7 +25,7 @@ int main() const char msg[256] = "ASCII extended characters:\n¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆ\nÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæ\nçèéêëìíîïðñòóôõö÷øùúûüýþÿ"; // NOTE: Loaded font has an unordered list of characters (chars in the range 32..255) - SpriteFont font = LoadSpriteFont("resources/fonts/pixantiqua.fnt"); // BMFont (AngelCode) + SpriteFont font = LoadSpriteFont("resources/pixantiqua.fnt"); // BMFont (AngelCode) SetTargetFPS(60); //-------------------------------------------------------------------------------------- @@ -45,10 +45,10 @@ int main() ClearBackground(RAYWHITE); DrawText("Font name: PixAntiqua", 40, 50, 20, GRAY); - DrawText(FormatText("Font base size: %i", font.size), 40, 80, 20, GRAY); - DrawText(FormatText("Font chars number: %i", font.numChars), 40, 110, 20, GRAY); + DrawText(FormatText("Font base size: %i", font.baseSize), 40, 80, 20, GRAY); + DrawText(FormatText("Font chars number: %i", font.charsCount), 40, 110, 20, GRAY); - DrawTextEx(font, msg, (Vector2){ 40, 180 }, font.size, 0, MAROON); + DrawTextEx(font, msg, (Vector2){ 40, 180 }, font.baseSize, 0, MAROON); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/src/text/text_input_box.c b/docs/examples/src/text/text_input_box.c new file mode 100644 index 00000000..54eebf40 --- /dev/null +++ b/docs/examples/src/text/text_input_box.c @@ -0,0 +1,116 @@ +/******************************************************************************************* +* +* raylib [text] example - Input Box +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_INPUT_CHARS 9 + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [text] example - input box"); + + char name[MAX_INPUT_CHARS + 1] = "\0"; // NOTE: One extra space required for line ending char '\0' + int letterCount = 0; + + Rectangle textBox = { screenWidth/2 - 100, 180, 225, 50 }; + bool mouseOnText = false; + + int framesCounter = 0; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + if (CheckCollisionPointRec(GetMousePosition(), textBox)) mouseOnText = true; + else mouseOnText = false; + + if (mouseOnText) + { + int key = GetKeyPressed(); + + // NOTE: Only allow keys in range [32..125] + if ((key >= 32) && (key <= 125) && (letterCount < MAX_INPUT_CHARS)) + { + name[letterCount] = (char)key; + letterCount++; + } + + if (key == KEY_BACKSPACE) + { + letterCount--; + name[letterCount] = '\0'; + + if (letterCount < 0) letterCount = 0; + } + } + + if (mouseOnText) framesCounter++; + else framesCounter = 0; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("PLACE MOUSE OVER INPUT BOX!", 240, 140, 20, GRAY); + + DrawRectangleRec(textBox, LIGHTGRAY); + if (mouseOnText) DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, RED); + else DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, DARKGRAY); + + DrawText(name, textBox.x + 5, textBox.y + 8, 40, MAROON); + + DrawText(FormatText("INPUT CHARS: %i/%i", letterCount, MAX_INPUT_CHARS), 315, 250, 20, DARKGRAY); + + if (mouseOnText) + { + if (letterCount < MAX_INPUT_CHARS) + { + // Draw blinking underscore char + if (((framesCounter/20)%2) == 0) DrawText("_", textBox.x + 8 + MeasureText(name, 40), textBox.y + 12, 40, MAROON); + } + else DrawText("Press BACKSPACE to delete chars...", 230, 300, 20, GRAY); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +// Check if any key is pressed +// NOTE: We limit keys check to keys between 32 (KEY_SPACE) and 126 +bool IsAnyKeyPressed() +{ + bool keyPressed = false; + int key = GetKeyPressed(); + + if ((key >= 32) && (key <= 126)) keyPressed = true; + + return keyPressed; +} \ No newline at end of file diff --git a/docs/examples/src/text/text_raylib_fonts.c b/docs/examples/src/text/text_raylib_fonts.c new file mode 100644 index 00000000..6d8ef2b6 --- /dev/null +++ b/docs/examples/src/text/text_raylib_fonts.c @@ -0,0 +1,103 @@ +/******************************************************************************************* +* +* raylib [text] example - raylib font loading and usage +* +* NOTE: raylib is distributed with some free to use fonts (even for commercial pourposes!) +* To view details and credits for those fonts, check raylib license file +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_FONTS 8 + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [text] example - raylib fonts"); + + // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) + SpriteFont fonts[MAX_FONTS]; + + fonts[0] = LoadSpriteFont("resources/fonts/alagard.png"); + fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.png"); + fonts[2] = LoadSpriteFont("resources/fonts/mecha.png"); + fonts[3] = LoadSpriteFont("resources/fonts/setback.png"); + fonts[4] = LoadSpriteFont("resources/fonts/romulus.png"); + fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.png"); + fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.png"); + fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.png"); + + const char *messages[MAX_FONTS] = { "ALAGARD FONT designed by Hewett Tsoi", + "PIXELPLAY FONT designed by Aleksander Shevchuk", + "MECHA FONT designed by Captain Falcon", + "SETBACK FONT designed by Brian Kent (AEnigma)", + "ROMULUS FONT designed by Hewett Tsoi", + "PIXANTIQUA FONT designed by Gerhard Grossmann", + "ALPHA_BETA FONT designed by Brian Kent (AEnigma)", + "JUPITER_CRASH FONT designed by Brian Kent (AEnigma)" }; + + const int spacings[MAX_FONTS] = { 2, 4, 8, 4, 3, 4, 4, 1 }; + + Vector2 positions[MAX_FONTS]; + + for (int i = 0; i < MAX_FONTS; i++) + { + positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].baseSize*2, spacings[i]).x/2; + positions[i].y = 60 + fonts[i].baseSize + 45*i; + } + + // Small Y position corrections + positions[3].y += 8; + positions[4].y += 2; + positions[7].y -= 8; + + Color colors[MAX_FONTS] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, RED }; + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + // TODO: Update your variables here + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("free fonts included with raylib", 250, 20, 20, DARKGRAY); + DrawLine(220, 50, 590, 50, DARKGRAY); + + for (int i = 0; i < MAX_FONTS; i++) + { + DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].baseSize*2, spacings[i], colors[i]); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + + // SpriteFonts unloading + for (int i = 0; i < MAX_FONTS; i++) UnloadSpriteFont(fonts[i]); + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/docs/examples/src/text/text_rbmf_fonts.c b/docs/examples/src/text/text_rbmf_fonts.c deleted file mode 100644 index b4bd851b..00000000 --- a/docs/examples/src/text/text_rbmf_fonts.c +++ /dev/null @@ -1,97 +0,0 @@ -/******************************************************************************************* -* -* raylib [text] example - raylib bitmap font (rbmf) loading and usage -* -* NOTE: raylib is distributed with some free to use fonts (even for commercial pourposes!) -* To view details and credits for those fonts, check raylib license file -* -* This example has been created using raylib 1.3 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [text] example - rBMF fonts"); - - // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont fonts[8]; - - fonts[0] = LoadSpriteFont("resources/fonts/alagard.rbmf"); // rBMF font loading - fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.rbmf"); // rBMF font loading - fonts[2] = LoadSpriteFont("resources/fonts/mecha.rbmf"); // rBMF font loading - fonts[3] = LoadSpriteFont("resources/fonts/setback.rbmf"); // rBMF font loading - fonts[4] = LoadSpriteFont("resources/fonts/romulus.rbmf"); // rBMF font loading - fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf"); // rBMF font loading - fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf"); // rBMF font loading - fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf"); // rBMF font loading - - const char *messages[8] = { "ALAGARD FONT designed by Hewett Tsoi", - "PIXELPLAY FONT designed by Aleksander Shevchuk", - "MECHA FONT designed by Captain Falcon", - "SETBACK FONT designed by Brian Kent (AEnigma)", - "ROMULUS FONT designed by Hewett Tsoi", - "PIXANTIQUA FONT designed by Gerhard Grossmann", - "ALPHA_BETA FONT designed by Brian Kent (AEnigma)", - "JUPITER_CRASH FONT designed by Brian Kent (AEnigma)" }; - - const int spacings[8] = { 2, 4, 8, 4, 3, 4, 4, 1 }; - - Vector2 positions[8]; - - for (int i = 0; i < 8; i++) - { - positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].size*2, spacings[i]).x/2; - positions[i].y = 60 + fonts[i].size + 50*i; - } - - Color colors[8] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD }; - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - // TODO: Update your variables here - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText("free fonts included with raylib", 250, 20, 20, DARKGRAY); - DrawLine(220, 50, 590, 50, DARKGRAY); - - for (int i = 0; i < 8; i++) - { - DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].size*2, spacings[i], colors[i]); - } - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - for (int i = 0; i < 8; i++) - { - UnloadSpriteFont(fonts[i]); // SpriteFont unloading - } - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} \ No newline at end of file diff --git a/docs/examples/src/text/text_sprite_fonts.c b/docs/examples/src/text/text_sprite_fonts.c index c73eda85..aefbfd1f 100644 --- a/docs/examples/src/text/text_sprite_fonts.c +++ b/docs/examples/src/text/text_sprite_fonts.c @@ -25,20 +25,20 @@ int main() const char msg3[50] = "...and a THIRD one! GREAT! :D"; // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) - SpriteFont font1 = LoadSpriteFont("resources/fonts/custom_mecha.png"); // SpriteFont loading - SpriteFont font2 = LoadSpriteFont("resources/fonts/custom_alagard.png"); // SpriteFont loading - SpriteFont font3 = LoadSpriteFont("resources/fonts/custom_jupiter_crash.png"); // SpriteFont loading + SpriteFont font1 = LoadSpriteFont("resources/custom_mecha.png"); // SpriteFont loading + SpriteFont font2 = LoadSpriteFont("resources/custom_alagard.png"); // SpriteFont loading + SpriteFont font3 = LoadSpriteFont("resources/custom_jupiter_crash.png"); // SpriteFont loading Vector2 fontPosition1, fontPosition2, fontPosition3; - fontPosition1.x = screenWidth/2 - MeasureTextEx(font1, msg1, font1.size, -3).x/2; - fontPosition1.y = screenHeight/2 - font1.size/2 - 80; + fontPosition1.x = screenWidth/2 - MeasureTextEx(font1, msg1, font1.baseSize, -3).x/2; + fontPosition1.y = screenHeight/2 - font1.baseSize/2 - 80; - fontPosition2.x = screenWidth/2 - MeasureTextEx(font2, msg2, font2.size, -2).x/2; - fontPosition2.y = screenHeight/2 - font2.size/2 - 10; + fontPosition2.x = screenWidth/2 - MeasureTextEx(font2, msg2, font2.baseSize, -2).x/2; + fontPosition2.y = screenHeight/2 - font2.baseSize/2 - 10; - fontPosition3.x = screenWidth/2 - MeasureTextEx(font3, msg3, font3.size, 2).x/2; - fontPosition3.y = screenHeight/2 - font3.size/2 + 50; + fontPosition3.x = screenWidth/2 - MeasureTextEx(font3, msg3, font3.baseSize, 2).x/2; + fontPosition3.y = screenHeight/2 - font3.baseSize/2 + 50; //-------------------------------------------------------------------------------------- @@ -56,9 +56,9 @@ int main() ClearBackground(RAYWHITE); - DrawTextEx(font1, msg1, fontPosition1, font1.size, -3, WHITE); - DrawTextEx(font2, msg2, fontPosition2, font2.size, -2, WHITE); - DrawTextEx(font3, msg3, fontPosition3, font3.size, 2, WHITE); + DrawTextEx(font1, msg1, fontPosition1, font1.baseSize, -3, WHITE); + DrawTextEx(font2, msg2, fontPosition2, font2.baseSize, -2, WHITE); + DrawTextEx(font3, msg3, fontPosition3, font3.baseSize, 2, WHITE); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/src/text/text_ttf_loading.c b/docs/examples/src/text/text_ttf_loading.c index 33cda7f5..4e490399 100644 --- a/docs/examples/src/text/text_ttf_loading.c +++ b/docs/examples/src/text/text_ttf_loading.c @@ -25,13 +25,13 @@ int main() // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) // TTF SpriteFont loading with custom generation parameters - SpriteFont font = LoadSpriteFontTTF("resources/fonts/KAISG.ttf", 96, 0, 0); + SpriteFont font = LoadSpriteFontTTF("resources/KAISG.ttf", 96, 0, 0); // Generate mipmap levels to use trilinear filtering // NOTE: On 2D drawing it won't be noticeable, it looks like FILTER_BILINEAR GenTextureMipmaps(&font.texture); - float fontSize = font.size; + float fontSize = font.baseSize; Vector2 fontPosition = { 40, screenHeight/2 + 50 }; Vector2 textSize; diff --git a/docs/examples/src/textures/textures_particles_blending.c b/docs/examples/src/textures/textures_particles_blending.c new file mode 100644 index 00000000..842ac77d --- /dev/null +++ b/docs/examples/src/textures/textures_particles_blending.c @@ -0,0 +1,135 @@ +/******************************************************************************************* +* +* raylib example - particles blending +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_PARTICLES 200 + +// Particle structure with basic data +typedef struct { + Vector2 position; + Color color; + float alpha; + float size; + float rotation; + bool active; // NOTE: Use it to activate/deactive particle +} Particle; + +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles blending"); + + // Particles pool, reuse them! + Particle mouseTail[MAX_PARTICLES]; + + // Initialize particles + for (int i = 0; i < MAX_PARTICLES; i++) + { + mouseTail[i].position = (Vector2){ 0, 0 }; + mouseTail[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + mouseTail[i].alpha = 1.0f; + mouseTail[i].size = (float)GetRandomValue(1, 30)/20.0f; + mouseTail[i].rotation = GetRandomValue(0, 360); + mouseTail[i].active = false; + } + + float gravity = 3.0f; + + Texture2D smoke = LoadTexture("resources/smoke.png"); + + int blending = BLEND_ALPHA; + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + + // Activate one particle every frame and Update active particles + // NOTE: Particles initial position should be mouse position when activated + // NOTE: Particles fall down with gravity and rotation... and disappear after 2 seconds (alpha = 0) + // NOTE: When a particle disappears, active = false and it can be reused. + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!mouseTail[i].active) + { + mouseTail[i].active = true; + mouseTail[i].alpha = 1.0f; + mouseTail[i].position = GetMousePosition(); + i = MAX_PARTICLES; + } + } + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (mouseTail[i].active) + { + mouseTail[i].position.y += gravity; + mouseTail[i].alpha -= 0.01f; + + if (mouseTail[i].alpha <= 0.0f) mouseTail[i].active = false; + + mouseTail[i].rotation += 5.0f; + } + } + + if (IsKeyPressed(KEY_SPACE)) + { + if (blending == BLEND_ALPHA) blending = BLEND_ADDITIVE; + else blending = BLEND_ALPHA; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(DARKGRAY); + + BeginBlendMode(blending); + + // Draw active particles + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (mouseTail[i].active) DrawTexturePro(smoke, (Rectangle){ 0, 0, smoke.width, smoke.height }, + (Rectangle){ mouseTail[i].position.x, mouseTail[i].position.y, smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size }, + (Vector2){ smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2 }, mouseTail[i].rotation, + Fade(mouseTail[i].color, mouseTail[i].alpha)); + } + + EndBlendMode(); + + DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, BLACK); + + if (blending == BLEND_ALPHA) DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK); + else DrawText("ADDITIVE BLENDING", 280, screenHeight - 40, 20, RAYWHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadTexture(smoke); + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} \ No newline at end of file diff --git a/docs/examples/src/textures/textures_raw_data.c b/docs/examples/src/textures/textures_raw_data.c index d1922180..b038792b 100644 --- a/docs/examples/src/textures/textures_raw_data.c +++ b/docs/examples/src/textures/textures_raw_data.c @@ -27,9 +27,9 @@ int main() // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) // Load RAW image data (512x512, 32bit RGBA, no file header) - Image sonicRaw = LoadImageRaw("resources/texture_formats/sonic_R8G8B8A8.raw", 512, 512, UNCOMPRESSED_R8G8B8A8, 0); - Texture2D sonic = LoadTextureFromImage(sonicRaw); // Upload CPU (RAM) image to GPU (VRAM) - UnloadImage(sonicRaw); // Unload CPU (RAM) image data + Image fudesumiRaw = LoadImageRaw("resources/fudesumi.raw", 384, 512, UNCOMPRESSED_R8G8B8A8, 0); + Texture2D fudesumi = LoadTextureFromImage(fudesumiRaw); // Upload CPU (RAM) image to GPU (VRAM) + UnloadImage(fudesumiRaw); // Unload CPU (RAM) image data // Generate a checked texture by code (1024x1024 pixels) int width = 1024; @@ -42,8 +42,8 @@ int main() { for (int x = 0; x < width; x++) { - if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = DARKBLUE; - else pixels[y*height + x] = SKYBLUE; + if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = ORANGE; + else pixels[y*height + x] = GOLD; } } @@ -70,12 +70,14 @@ int main() ClearBackground(RAYWHITE); - DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.3f)); - DrawTexture(sonic, 330, -20, WHITE); + DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.5f)); + DrawTexture(fudesumi, 430, -30, WHITE); - DrawText("CHECKED TEXTURE ", 84, 100, 30, DARKBLUE); - DrawText("GENERATED by CODE", 72, 164, 30, DARKBLUE); - DrawText("and RAW IMAGE LOADING", 46, 226, 30, DARKBLUE); + DrawText("CHECKED TEXTURE ", 84, 100, 30, BROWN); + DrawText("GENERATED by CODE", 72, 164, 30, BROWN); + DrawText("and RAW IMAGE LOADING", 46, 226, 30, BROWN); + + DrawText("(c) Fudesumi sprite by Eiden Marsal", 310, screenHeight - 20, 10, BROWN); EndDrawing(); //---------------------------------------------------------------------------------- @@ -83,7 +85,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(sonic); // Texture unloading + UnloadTexture(fudesumi); // Texture unloading UnloadTexture(checked); // Texture unloading CloseWindow(); // Close window and OpenGL context diff --git a/docs/examples/src/textures/textures_rectangle.c b/docs/examples/src/textures/textures_rectangle.c index cca5b216..c90db8ac 100644 --- a/docs/examples/src/textures/textures_rectangle.c +++ b/docs/examples/src/textures/textures_rectangle.c @@ -11,6 +11,9 @@ #include "raylib.h" +#define MAX_FRAME_SPEED 15 +#define MIN_FRAME_SPEED 1 + int main() { // Initialization @@ -21,11 +24,16 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [texture] example - texture rectangle"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - Texture2D guybrush = LoadTexture("resources/guybrush.png"); // Texture loading + Texture2D scarfy = LoadTexture("resources/scarfy.png"); // Texture loading - Vector2 position = { 350.0f, 240.0f }; - Rectangle frameRec = { 0, 0, guybrush.width/7, guybrush.height }; + Vector2 position = { 350.0f, 280.0f }; + Rectangle frameRec = { 0, 0, scarfy.width/6, scarfy.height }; int currentFrame = 0; + + int framesCounter = 0; + int framesSpeed = 8; // Number of spritesheet frames shown by second + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second //-------------------------------------------------------------------------------------- // Main game loop @@ -33,14 +41,23 @@ int main() { // Update //---------------------------------------------------------------------------------- - if (IsKeyPressed(KEY_RIGHT)) + framesCounter++; + + if (framesCounter >= (60/framesSpeed)) { + framesCounter = 0; currentFrame++; - if (currentFrame > 6) currentFrame = 0; + if (currentFrame > 5) currentFrame = 0; - frameRec.x = currentFrame*guybrush.width/7; + frameRec.x = currentFrame*scarfy.width/6; } + + if (IsKeyPressed(KEY_RIGHT)) framesSpeed++; + else if (IsKeyPressed(KEY_LEFT)) framesSpeed--; + + if (framesSpeed > MAX_FRAME_SPEED) framesSpeed = MAX_FRAME_SPEED; + else if (framesSpeed < MIN_FRAME_SPEED) framesSpeed = MIN_FRAME_SPEED; //---------------------------------------------------------------------------------- // Draw @@ -49,19 +66,23 @@ int main() ClearBackground(RAYWHITE); - DrawTexture(guybrush, 35, 40, WHITE); - DrawRectangleLines(35, 40, guybrush.width, guybrush.height, LIME); - - DrawTextureRec(guybrush, frameRec, position, WHITE); // Draw part of the texture + DrawTexture(scarfy, 15, 40, WHITE); + DrawRectangleLines(15, 40, scarfy.width, scarfy.height, LIME); + DrawRectangleLines(15 + frameRec.x, 40 + frameRec.y, frameRec.width, frameRec.height, RED); - DrawRectangleLines(35 + frameRec.x, 40 + frameRec.y, frameRec.width, frameRec.height, RED); + DrawText("FRAME SPEED: ", 165, 210, 10, DARKGRAY); + DrawText(FormatText("%02i FPS", framesSpeed), 575, 210, 10, DARKGRAY); + DrawText("PRESS RIGHT/LEFT KEYS to CHANGE SPEED!", 290, 240, 10, DARKGRAY); - DrawText("PRESS RIGHT KEY to", 540, 310, 10, GRAY); - DrawText("CHANGE DRAWING RECTANGLE", 520, 330, 10, GRAY); + for (int i = 0; i < MAX_FRAME_SPEED; i++) + { + if (i < framesSpeed) DrawRectangle(250 + 21*i, 205, 20, 20, RED); + DrawRectangleLines(250 + 21*i, 205, 20, 20, MAROON); + } - DrawText("Guybrush Ulysses Threepwood,", 100, 300, 10, GRAY); - DrawText("main character of the Monkey Island series", 80, 320, 10, GRAY); - DrawText("of computer adventure games by LucasArts.", 80, 340, 10, GRAY); + DrawTextureRec(scarfy, frameRec, position, WHITE); // Draw part of the texture + + DrawText("(c) Scarfy sprite by Eiden Marsal", screenWidth - 200, screenHeight - 20, 10, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- @@ -69,7 +90,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(guybrush); // Texture unloading + UnloadTexture(scarfy); // Texture unloading CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/textures/textures_srcrec_dstrec.c b/docs/examples/src/textures/textures_srcrec_dstrec.c index 6d824ce6..53ffd1d0 100644 --- a/docs/examples/src/textures/textures_srcrec_dstrec.c +++ b/docs/examples/src/textures/textures_srcrec_dstrec.c @@ -21,10 +21,10 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [textures] examples - texture source and destination rectangles"); // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) - Texture2D guybrush = LoadTexture("resources/guybrush.png"); // Texture loading + Texture2D scarfy = LoadTexture("resources/scarfy.png"); // Texture loading - int frameWidth = guybrush.width/7; - int frameHeight = guybrush.height; + int frameWidth = scarfy.width/6; + int frameHeight = scarfy.height; // NOTE: Source rectangle (part of the texture to use for drawing) Rectangle sourceRec = { 0, 0, frameWidth, frameHeight }; @@ -59,10 +59,12 @@ int main() // destRec defines the rectangle where our texture part will fit (scaling it to fit) // origin defines the point of the texture used as reference for rotation and scaling // rotation defines the texture rotation (using origin as rotation point) - DrawTexturePro(guybrush, sourceRec, destRec, origin, rotation, WHITE); + DrawTexturePro(scarfy, sourceRec, destRec, origin, rotation, WHITE); DrawLine(destRec.x, 0, destRec.x, screenHeight, GRAY); DrawLine(0, destRec.y, screenWidth, destRec.y, GRAY); + + DrawText("(c) Scarfy sprite by Eiden Marsal", screenWidth - 200, screenHeight - 20, 10, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- @@ -70,7 +72,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(guybrush); // Texture unloading + UnloadTexture(scarfy); // Texture unloading CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/web/audio/audio_module_playing.data b/docs/examples/web/audio/audio_module_playing.data new file mode 100644 index 00000000..a185c1a2 Binary files /dev/null and b/docs/examples/web/audio/audio_module_playing.data differ diff --git a/docs/examples/web/audio/audio_module_playing.js b/docs/examples/web/audio/audio_module_playing.js index cca61da3..2ac2cc66 100644 --- a/docs/examples/web/audio/audio_module_playing.js +++ b/docs/examples/web/audio/audio_module_playing.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'audio/audio_module_playing.data'; + var REMOTE_PACKAGE_BASE = 'audio_module_playing.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_audio/audio_module_playing.data'); + + }; + Module['addRunDependency']('datafile_audio/audio_module_playing.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 25676, "filename": "/resources/mini1111.xm"}], "remote_package_size": 25676, "package_uuid": "7074b939-a8f9-4156-b9d3-4dee5c5b8125"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1587,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24464; +STATICTOP = STATIC_BASE + 23504; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,64,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,131,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,139,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,255,161,0,255,230,41,55,255,255,203,0,255,0,158,47,255,0,121,241,255,135,60,190,255,127,106,79,255,200,200,200,255,255,109,194,255,253,249,0,255,0,228,48,255,102,191,255,255,200,122,255,255,211,176,131,255,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,117,108,101,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,109,105,110,105,49,49,49,49,46,120,109,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114,111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,203,87,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,255,161,0,255,230,41,55,255,255,203,0,255,0,158,47,255,0,121,241,255,135,60,190,255,127,106,79,255,200,200,200,255,255,109,194,255,253,249,0,255,0,228,48,255,102,191,255,255,200,122,255,255,211,176,131,255,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,117,108,101,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,109,105,110,105,49,49,49,49,46,120,109,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -8692,21 +8880,6 @@ function copyTempDouble(ptr) { AL.setSourceState(src, 0x1014 /* AL_STOPPED */); } - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { @@ -9696,8 +9869,19 @@ function copyTempDouble(ptr) { clearInterval(AL.contexts[context - 1].interval); } - function _llvm_exp2_f32(x) { - return Math.pow(2, x); + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } } function _glGetShaderiv(shader, pname, p) { @@ -10649,7 +10833,7 @@ function invoke_viiii(index,a1,a2,a3,a4) { 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; @@ -10899,7 +11083,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; var _exit=env._exit; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _glGetString=env._glGetString; var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _alSourcef=env._alSourcef; @@ -10980,7 +11163,7 @@ var asm = (function(global, env, buffer) { var _glDeleteShader=env._glDeleteShader; var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _glGetProgramiv=env._glGetProgramiv; - var _llvm_exp2_f32=env._llvm_exp2_f32; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; @@ -11111,15 +11294,15 @@ function _main() { sp = STACKTOP; $0 = HEAP32[2]|0; $1 = HEAP32[3]|0; - _InitWindow($0,$1,4742); + _InitWindow($0,$1,4456); _InitAudioDevice(); $$013 = 31; while(1) { - $4 = (((17492 + (($$013*24)|0)|0)) + 12|0); + $4 = (((16540 + (($$013*24)|0)|0)) + 12|0); HEAPF32[$4>>2] = 0.0; $5 = (_GetRandomValue(10,40)|0); $6 = (+($5|0)); - $7 = (((17492 + (($$013*24)|0)|0)) + 8|0); + $7 = (((16540 + (($$013*24)|0)|0)) + 8|0); HEAPF32[$7>>2] = $6; $8 = (~~(($6))); $9 = HEAP32[2]|0; @@ -11128,7 +11311,7 @@ function _main() { $12 = (~~(($11))); $13 = (_GetRandomValue($8,$12)|0); $14 = (+($13|0)); - $15 = (17492 + (($$013*24)|0)|0); + $15 = (16540 + (($$013*24)|0)|0); HEAPF32[$15>>2] = $14; $16 = +HEAPF32[$7>>2]; $17 = (~~(($16))); @@ -11138,16 +11321,16 @@ function _main() { $21 = (~~(($20))); $22 = (_GetRandomValue($17,$21)|0); $23 = (+($22|0)); - $24 = (((17492 + (($$013*24)|0)|0)) + 4|0); + $24 = (((16540 + (($$013*24)|0)|0)) + 4|0); HEAPF32[$24>>2] = $23; $25 = (_GetRandomValue(1,100)|0); $26 = (+($25|0)); $27 = $26 / 2.0E+4; - $28 = (((17492 + (($$013*24)|0)|0)) + 16|0); + $28 = (((16540 + (($$013*24)|0)|0)) + 16|0); HEAPF32[$28>>2] = $27; $29 = (_GetRandomValue(0,13)|0); - $30 = (((17492 + (($$013*24)|0)|0)) + 20|0); - $31 = (4686 + ($29<<2)|0); + $30 = (((16540 + (($$013*24)|0)|0)) + 20|0); + $31 = (4400 + ($29<<2)|0); $32 = HEAPU8[$31>>0]|(HEAPU8[$31+1>>0]<<8)|(HEAPU8[$31+2>>0]<<16)|(HEAPU8[$31+3>>0]<<24); HEAP32[$30>>2] = $32; $33 = (($$013) + -1)|0; @@ -11158,11 +11341,11 @@ function _main() { break; } } - $2 = (_LoadMusicStream(4794)|0); - HEAP32[4565] = $2; + $2 = (_LoadMusicStream(4508)|0); + HEAP32[4327] = $2; _PlayMusicStream($2); _emscripten_set_main_loop((1|0),0,1); - $3 = HEAP32[4565]|0; + $3 = HEAP32[4327]|0; _UnloadMusicStream($3); _CloseAudioDevice(); _CloseWindow(); @@ -11184,25 +11367,25 @@ function _UpdateDrawFrame() { $2 = sp + 16|0; $3 = sp + 12|0; $4 = sp + 8|0; - $5 = HEAP32[4565]|0; + $5 = HEAP32[4327]|0; _UpdateMusicStream($5); $6 = (_IsKeyPressed(32)|0); $7 = ($6|0)==(0); if (!($7)) { - $8 = HEAP32[4565]|0; + $8 = HEAP32[4327]|0; _StopMusicStream($8); - $9 = HEAP32[4565]|0; + $9 = HEAP32[4327]|0; _PlayMusicStream($9); } $10 = (_IsKeyPressed(80)|0); $11 = ($10|0)==(0); do { if (!($11)) { - $12 = HEAP32[4566]|0; + $12 = HEAP32[4328]|0; $13 = ($12|0)==(0); $14 = $13&1; - HEAP32[4566] = $14; - $15 = HEAP32[4565]|0; + HEAP32[4328] = $14; + $15 = HEAP32[4327]|0; if ($13) { _PauseMusicStream($15); break; @@ -11212,26 +11395,26 @@ function _UpdateDrawFrame() { } } } while(0); - $16 = HEAP32[4565]|0; + $16 = HEAP32[4327]|0; $17 = (+_GetMusicTimePlayed($16)); - $18 = HEAP32[4565]|0; + $18 = HEAP32[4327]|0; $19 = (+_GetMusicTimeLength($18)); $20 = $17 / $19; $21 = HEAP32[2]|0; $22 = (($21) + -40)|0; $23 = (+($22|0)); $24 = $20 * $23; - HEAPF32[4372] = $24; + HEAPF32[4134] = $24; $$02830 = 31; while(1) { - $28 = (((17492 + (($$02830*24)|0)|0)) + 16|0); + $28 = (((16540 + (($$02830*24)|0)|0)) + 16|0); $29 = +HEAPF32[$28>>2]; - $30 = (((17492 + (($$02830*24)|0)|0)) + 12|0); + $30 = (((16540 + (($$02830*24)|0)|0)) + 12|0); $31 = +HEAPF32[$30>>2]; $32 = $29 + $31; HEAPF32[$30>>2] = $32; $33 = $29 * 10.0; - $34 = (((17492 + (($$02830*24)|0)|0)) + 8|0); + $34 = (((16540 + (($$02830*24)|0)|0)) + 8|0); $35 = +HEAPF32[$34>>2]; $36 = $33 + $35; HEAPF32[$34>>2] = $36; @@ -11253,7 +11436,7 @@ function _UpdateDrawFrame() { $46 = (~~(($45))); $47 = (_GetRandomValue($42,$46)|0); $48 = (+($47|0)); - $49 = (17492 + (($$02830*24)|0)|0); + $49 = (16540 + (($$02830*24)|0)|0); HEAPF32[$49>>2] = $48; $50 = +HEAPF32[$34>>2]; $51 = (~~(($50))); @@ -11263,11 +11446,11 @@ function _UpdateDrawFrame() { $55 = (~~(($54))); $56 = (_GetRandomValue($51,$55)|0); $57 = (+($56|0)); - $58 = (((17492 + (($$02830*24)|0)|0)) + 4|0); + $58 = (((16540 + (($$02830*24)|0)|0)) + 4|0); HEAPF32[$58>>2] = $57; $59 = (_GetRandomValue(0,13)|0); - $60 = (((17492 + (($$02830*24)|0)|0)) + 20|0); - $61 = (4686 + ($59<<2)|0); + $60 = (((16540 + (($$02830*24)|0)|0)) + 20|0); + $61 = (4400 + ($59<<2)|0); $62 = HEAPU8[$61>>0]|(HEAPU8[$61+1>>0]<<8)|(HEAPU8[$61+2>>0]<<16)|(HEAPU8[$61+3>>0]<<24); HEAP32[$60>>2] = $62; $63 = (_GetRandomValue(1,100)|0); @@ -11295,11 +11478,11 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy6); $$029 = 31; while(1) { - $89 = (17492 + (($$029*24)|0)|0); - $90 = (((17492 + (($$029*24)|0)|0)) + 8|0); + $89 = (16540 + (($$029*24)|0)|0); + $90 = (((16540 + (($$029*24)|0)|0)) + 8|0); $91 = +HEAPF32[$90>>2]; - $92 = (((17492 + (($$029*24)|0)|0)) + 20|0); - $93 = (((17492 + (($$029*24)|0)|0)) + 12|0); + $92 = (((16540 + (($$029*24)|0)|0)) + 20|0); + $93 = (((16540 + (($$029*24)|0)|0)) + 12|0); $94 = +HEAPF32[$93>>2]; ;HEAP8[$$byval_copy6>>0]=HEAP8[$92>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$92+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$92+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$92+3>>0]|0; _Fade($1,$$byval_copy6,$94); @@ -11329,7 +11512,7 @@ function _UpdateDrawFrame() { _DrawRectangle(20,$69,$71,12,$$byval_copy6); $75 = HEAP32[3]|0; $76 = (($75) + -32)|0; - $77 = +HEAPF32[4372]; + $77 = +HEAPF32[4134]; $78 = (~~(($77))); HEAP8[$3>>0] = -66; $79 = ((($3)) + 1|0); @@ -11356,6 +11539,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorTransform($0,$1) { $0 = $0|0; $1 = $1|0; @@ -11414,13 +11647,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11814,7 +12040,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4568] = $2; + HEAP32[4330] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11827,7 +12053,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17216; + $95 = 16264; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11840,48 +12066,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17256; + $106 = 16304; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4314]; - $111 = +HEAPF32[4304]; + $110 = +HEAPF32[4076]; + $111 = +HEAPF32[4066]; $112 = $110 - $111; - HEAPF32[4316] = $112; - $113 = +HEAPF32[(17260)>>2]; - $114 = +HEAPF32[(17220)>>2]; + HEAPF32[4078] = $112; + $113 = +HEAPF32[(16308)>>2]; + $114 = +HEAPF32[(16268)>>2]; $115 = $113 - $114; - HEAPF32[(17268)>>2] = $115; - HEAP32[4567] = 4; + HEAPF32[(16316)>>2] = $115; + HEAP32[4329] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16296+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4573] = $116; - $117 = 17248; + HEAPF32[4335] = $116; + $117 = 16296; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17216; + $123 = 16264; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17272; + $127 = 16320; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17256; + $133 = 16304; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11894,7 +12120,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17248; + $144 = 16296; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11907,27 +12133,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17272; + $155 = 16320; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4318]; - $160 = +HEAPF32[4312]; + $159 = +HEAPF32[4080]; + $160 = +HEAPF32[4074]; $161 = $159 - $160; - HEAPF32[4316] = $161; - $162 = +HEAPF32[(17276)>>2]; - $163 = +HEAPF32[(17252)>>2]; + HEAPF32[4078] = $161; + $162 = +HEAPF32[(16324)>>2]; + $163 = +HEAPF32[(16300)>>2]; $164 = $162 - $163; - HEAPF32[(17268)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17248+4>>2]|0; + HEAPF32[(16316)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16296+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17256>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17256+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11939,31 +12165,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16296+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4573]; + $170 = +HEAPF32[4335]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4567] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17272+4>>2]|0; + HEAP32[4329] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16296+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4574] = $174; + HEAPF32[4336] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4573] = 0.0; - HEAPF32[4574] = 0.0; - HEAPF32[4316] = 0.0; - HEAPF32[(17268)>>2] = 0.0; - HEAP32[4568] = 0; - HEAP32[4567] = 0; + HEAPF32[4335] = 0.0; + HEAPF32[4336] = 0.0; + HEAPF32[4078] = 0.0; + HEAPF32[(16316)>>2] = 0.0; + HEAP32[4330] = 0; + HEAP32[4329] = 0; STACKTOP = sp;return; break; } @@ -11973,22 +12199,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4569]|0; + $6 = HEAP32[4331]|0; $7 = (($6) + 1)|0; - HEAP32[4569] = $7; - $8 = HEAP32[4567]|0; + HEAP32[4331] = $7; + $8 = HEAP32[4329]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4567] = 2; - HEAP32[4569] = 0; + HEAP32[4329] = 2; + HEAP32[4331] = 0; } else { label = 6; } @@ -11996,8 +12222,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4569] = 1; - HEAP32[4567] = 1; + HEAP32[4331] = 1; + HEAP32[4329] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12006,19 +12232,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17216; + $21 = 16264; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17224; + $25 = 16272; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17232; + $29 = 16280; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12027,13 +12253,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4310] = 0.0; - HEAPF32[(17244)>>2] = 0.0; + HEAPF32[4072] = 0.0; + HEAPF32[(16292)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4567]|0; + $35 = HEAP32[4329]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12043,19 +12269,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17232; + $44 = 16280; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16280>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16280+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4570] = $49; - HEAP32[4571] = 0; + HEAPF32[4332] = $49; + HEAP32[4333] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -12063,11 +12289,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16280>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16280+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4572] = $56; + HEAPF32[4334] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12098,22 +12324,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4570] = 0.0; - HEAPF32[4572] = 0.0; + HEAPF32[4332] = 0.0; + HEAPF32[4334] = 0.0; $$sink10 = 0; } - HEAP32[4567] = $$sink10; - HEAPF32[4306] = 0.0; - HEAPF32[(17228)>>2] = 0.0; - HEAP32[4568] = 0; + HEAP32[4329] = $$sink10; + HEAPF32[4068] = 0.0; + HEAPF32[(16276)>>2] = 0.0; + HEAP32[4330] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4571]|0; + $65 = HEAP32[4333]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4571] = 1; + HEAP32[4333] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12122,31 +12348,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17248; + $74 = 16296; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4567]|0; + $78 = HEAP32[4329]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17248+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16264>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16264+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16296>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16296+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4567] = 8; + HEAP32[4329] = 8; } } - $82 = +HEAPF32[4312]; - $83 = +HEAPF32[4306]; + $82 = +HEAPF32[4074]; + $83 = +HEAPF32[4068]; $84 = $82 - $83; - HEAPF32[4310] = $84; - $85 = +HEAPF32[(17252)>>2]; - $86 = +HEAPF32[(17228)>>2]; + HEAPF32[4072] = $84; + $85 = +HEAPF32[(16300)>>2]; + $86 = +HEAPF32[(16276)>>2]; $87 = $85 - $86; - HEAPF32[(17244)>>2] = $87; + HEAPF32[(16292)>>2] = $87; STACKTOP = sp;return; break; } @@ -12155,58 +12381,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4567]|0; + $0 = HEAP32[4329]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4568]|0; + $2 = HEAP32[4330]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4567] = 4; + HEAP32[4329] = 4; } - $4 = HEAP32[4567]|0; + $4 = HEAP32[4329]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12219,14 +12406,14 @@ function _UpdateGestures() { return; } } - HEAP32[4567] = 0; + HEAP32[4329] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 17280; + $1 = 16328; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12243,13 +12430,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4577]|0; + $0 = HEAP32[4339]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4576]|0; + $0 = HEAP32[4338]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12260,29 +12447,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4816,$vararg_buffer); - HEAP32[4579] = $2; + _TraceLog(0,4530,$vararg_buffer); + HEAP32[4341] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4845|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4845|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4845|0),(0|0),1,(7|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4577]|0; + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); + (_emscripten_set_keypress_callback((4559|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((4559|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((4559|0),(0|0),1,(6|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); + $3 = HEAP32[4339]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4320] = $5; - $6 = HEAP32[4576]|0; + HEAPF32[4082] = $5; + $6 = HEAP32[4338]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17284)>>2] = $8; - $9 = HEAP32[4580]|0; + HEAPF32[(16332)>>2] = $8; + $9 = HEAP32[4342]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12301,11 +12488,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17320>>0]=HEAP8[9374>>0]|0;HEAP8[17320+1>>0]=HEAP8[9374+1>>0]|0;HEAP8[17320+2>>0]=HEAP8[9374+2>>0]|0;HEAP8[17320+3>>0]=HEAP8[9374+3>>0]|0;HEAP8[17320+4>>0]=HEAP8[9374+4>>0]|0;HEAP8[17320+5>>0]=HEAP8[9374+5>>0]|0;HEAP8[17320+6>>0]=HEAP8[9374+6>>0]|0; + ;HEAP8[16368>>0]=HEAP8[9088>>0]|0;HEAP8[16368+1>>0]=HEAP8[9088+1>>0]|0;HEAP8[16368+2>>0]=HEAP8[9088+2>>0]|0;HEAP8[16368+3>>0]=HEAP8[9088+3>>0]|0;HEAP8[16368+4>>0]=HEAP8[9088+4>>0]|0;HEAP8[16368+5>>0]=HEAP8[9088+5>>0]|0;HEAP8[16368+6>>0]=HEAP8[9088+6>>0]|0; break; } case 1: { - $3 = 17320; + $3 = 16368; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12314,11 +12501,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17320; src=9381; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16368; src=9095; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17320; + $7 = 16368; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12329,16 +12516,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17320,$1)|0); - $strlen = (_strlen(17320)|0); - $endptr = (17320 + ($strlen)|0); + (_strcat(16368,$1)|0); + $strlen = (_strlen(16368)|0); + $endptr = (16368 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17320,$2)|0); + (_vprintf(16368,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12370,22 +12557,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4577] = $0; - HEAP32[4576] = $1; + HEAP32[4339] = $0; + HEAP32[4338] = $1; _MatrixIdentity($2); - dest=18396; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17444; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((1|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,5516,$vararg_buffer); + _TraceLog(1,5230,$vararg_buffer); } - $6 = HEAP32[4577]|0; - HEAP32[4615] = $6; - $7 = HEAP32[4576]|0; - HEAP32[4616] = $7; + $6 = HEAP32[4339]|0; + HEAP32[4377] = $6; + $7 = HEAP32[4338]|0; + HEAP32[4378] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22132]|0; + $8 = HEAP8[21180]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12393,18 +12580,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22132]|0; + $11 = HEAP8[21180]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22132]|0; + $14 = HEAP8[21180]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,5542,$vararg_buffer1); + _TraceLog(0,5256,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12421,18 +12608,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4617]|0; + $21 = HEAP32[4379]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4577]|0; - $48 = HEAP32[4576]|0; - $49 = HEAP32[4579]|0; + $47 = HEAP32[4339]|0; + $48 = HEAP32[4338]|0; + $49 = HEAP32[4341]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4575] = $50; - $51 = HEAP32[4577]|0; - HEAP32[4618] = $51; - $52 = HEAP32[4576]|0; - HEAP32[4619] = $52; + HEAP32[4337] = $50; + $51 = HEAP32[4339]|0; + HEAP32[4380] = $51; + $52 = HEAP32[4338]|0; + HEAP32[4381] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12441,9 +12628,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4577]|0; + $27 = HEAP32[4339]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4576]|0; + $29 = HEAP32[4338]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12465,87 +12652,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4615] = $31; - HEAP32[4616] = $34; + HEAP32[4377] = $31; + HEAP32[4378] = $34; } } while(0); - $38 = HEAP32[4615]|0; - $39 = HEAP32[4616]|0; + $38 = HEAP32[4377]|0; + $39 = HEAP32[4378]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5567,$vararg_buffer3); - $40 = HEAP32[4615]|0; - $41 = HEAP32[4616]|0; + _TraceLog(2,5281,$vararg_buffer3); + $40 = HEAP32[4377]|0; + $41 = HEAP32[4378]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4615]|0; - $43 = HEAP32[4616]|0; - $44 = HEAP32[4579]|0; + $42 = HEAP32[4377]|0; + $43 = HEAP32[4378]|0; + $44 = HEAP32[4341]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4575] = $46; + HEAP32[4337] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,5605,$vararg_buffer6); + _TraceLog(1,5319,$vararg_buffer6); } else { - _TraceLog(0,5638,$vararg_buffer8); - $55 = HEAP32[4618]|0; - $56 = HEAP32[4619]|0; + _TraceLog(0,5352,$vararg_buffer8); + $55 = HEAP32[4380]|0; + $56 = HEAP32[4381]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5678,$vararg_buffer10); - $57 = HEAP32[4577]|0; - $58 = HEAP32[4576]|0; + _TraceLog(0,5392,$vararg_buffer10); + $57 = HEAP32[4339]|0; + $58 = HEAP32[4338]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5699,$vararg_buffer14); - $59 = HEAP32[4620]|0; - $60 = HEAP32[4621]|0; + _TraceLog(0,5413,$vararg_buffer14); + $59 = HEAP32[4382]|0; + $60 = HEAP32[4383]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5720,$vararg_buffer18); + _TraceLog(0,5434,$vararg_buffer18); } - $61 = HEAP32[4575]|0; + $61 = HEAP32[4337]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4575]|0; + $62 = HEAP32[4337]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[4575]|0; + $63 = HEAP32[4337]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4575]|0; + $64 = HEAP32[4337]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4575]|0; + $65 = HEAP32[4337]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4575]|0; + $66 = HEAP32[4337]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[4575]|0; + $67 = HEAP32[4337]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4575]|0; + $68 = HEAP32[4337]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[4575]|0; + $69 = HEAP32[4337]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22132]|0; + $70 = HEAP8[21180]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4577]|0; - $74 = HEAP32[4576]|0; + $73 = HEAP32[4339]|0; + $74 = HEAP32[4338]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4618]|0; - $76 = HEAP32[4620]|0; + $75 = HEAP32[4380]|0; + $76 = HEAP32[4382]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4619]|0; - $80 = HEAP32[4621]|0; + $79 = HEAP32[4381]|0; + $80 = HEAP32[4383]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12563,19 +12750,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,5745,$vararg_buffer22); - $73 = HEAP32[4577]|0; - $74 = HEAP32[4576]|0; + _TraceLog(0,5459,$vararg_buffer22); + $73 = HEAP32[4339]|0; + $74 = HEAP32[4338]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4618]|0; - $76 = HEAP32[4620]|0; + $75 = HEAP32[4380]|0; + $76 = HEAP32[4382]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4619]|0; - $80 = HEAP32[4621]|0; + $79 = HEAP32[4381]|0; + $80 = HEAP32[4383]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12603,7 +12790,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18364)>>2] = 224; + HEAP32[(17412)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12644,27 +12831,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18340>>2]=HEAP32[$1>>2]|0;HEAP32[18340+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18340+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18340+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18340+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17388>>2]=HEAP32[$1>>2]|0;HEAP32[17388+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17388+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17388+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17388+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18364)>>2]|0; + $5 = HEAP32[(17412)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18368)>>2] = $7; + HEAP32[(17416)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18360)>>2] = $23; - $24 = HEAP32[4585]|0; + HEAP32[(17408)>>2] = $23; + $24 = HEAP32[4347]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5040,$vararg_buffer); + _TraceLog(0,4754,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18344)>>2]|0; - $10 = HEAP32[(18364)>>2]|0; - $11 = HEAP32[(18368)>>2]|0; + $9 = HEAP32[(17392)>>2]|0; + $10 = HEAP32[(17412)>>2]|0; + $11 = HEAP32[(17416)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12713,10 +12900,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18360)>>2] = $23; - $24 = HEAP32[4585]|0; + HEAP32[(17408)>>2] = $23; + $24 = HEAP32[4347]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5040,$vararg_buffer); + _TraceLog(0,4754,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12725,7 +12912,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2164] = $1; + HEAPF64[2045] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12755,7 +12942,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4973,$vararg_buffer4); + _TraceLog(0,4687,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12765,7 +12952,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4904,$vararg_buffer); + _TraceLog(0,4618,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12781,7 +12968,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4897)|0); + $5 = (_strcmp($4,4611)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12884,7 +13071,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17296; + $31 = 16344; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12897,7 +13084,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17304); + $42 = (16352); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12953,7 +13140,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18324 + ($10<<2)|0); + $11 = (17372 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12967,19 +13154,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2161] = $$; + HEAPF64[2042] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4853,$vararg_buffer); + _TraceLog(0,4567,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4580] = 0; + HEAP32[4342] = 0; return; } function _GetTime() { @@ -13078,7 +13265,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,5416,$vararg_buffer); + _TraceLog(2,5130,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13555,52 +13742,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4593]|0; + $6 = HEAP32[4355]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,5085,$vararg_buffer); + _TraceLog(2,4799,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4594]|0; + $9 = HEAP32[4356]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,5129,$vararg_buffer1); + _TraceLog(2,4843,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4595]|0; + $12 = HEAP32[4357]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,5174,$vararg_buffer3); + _TraceLog(2,4888,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4596]|0; + $15 = HEAP32[4358]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,5219,$vararg_buffer5); + _TraceLog(2,4933,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4597]|0; + $18 = HEAP32[4359]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,5264,$vararg_buffer7); + _TraceLog(2,4978,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13638,7 +13825,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4593]|0; + $22 = HEAP32[4355]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13646,7 +13833,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4593]|0; + $24 = HEAP32[4355]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13654,7 +13841,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4593]|0; + $26 = HEAP32[4355]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13662,7 +13849,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4593]|0; + $28 = HEAP32[4355]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13670,7 +13857,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4594]|0; + $30 = HEAP32[4356]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13678,7 +13865,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4595]|0; + $32 = HEAP32[4357]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13686,7 +13873,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4595]|0; + $34 = HEAP32[4357]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13694,7 +13881,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4596]|0; + $36 = HEAP32[4358]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13702,7 +13889,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4596]|0; + $38 = HEAP32[4358]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13710,7 +13897,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4597]|0; + $40 = HEAP32[4359]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13718,7 +13905,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4597]|0; + $42 = HEAP32[4359]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13726,11 +13913,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,5309,$vararg_buffer9); + _TraceLog(2,5023,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4598]|0; + $44 = HEAP32[4360]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13745,7 +13932,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,5387,$vararg_buffer15); + _TraceLog(2,5101,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13754,7 +13941,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5338,$vararg_buffer11); + _TraceLog(0,5052,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14028,7 +14215,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,5470,$vararg_buffer); + _TraceLog(2,5184,$vararg_buffer); $$1 = $$0106; } } @@ -14055,7 +14242,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9336,$vararg_buffer); + _TraceLog(2,9050,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14076,20 +14263,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4577]|0; + $3 = HEAP32[4339]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4576]|0; + $5 = HEAP32[4338]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4618] = $3; - HEAP32[4619] = $5; - HEAP32[4620] = 0; - HEAP32[4621] = 0; + HEAP32[4380] = $3; + HEAP32[4381] = $5; + HEAP32[4382] = 0; + HEAP32[4383] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14099,13 +14286,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9270,$vararg_buffer8); + _TraceLog(0,8984,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4577]|0; + $35 = HEAP32[4339]|0; $36 = (+($35|0)); - $37 = HEAP32[4576]|0; + $37 = HEAP32[4338]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14113,26 +14300,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4618] = $45; - HEAP32[4619] = $37; + HEAP32[4380] = $45; + HEAP32[4381] = $37; $46 = (($45) - ($35))|0; - HEAP32[4620] = $46; + HEAP32[4382] = $46; $$sink1 = 0; } else { - HEAP32[4618] = $35; + HEAP32[4380] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4619] = $42; - HEAP32[4620] = 0; + HEAP32[4381] = $42; + HEAP32[4382] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4621] = $$sink1; + HEAP32[4383] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4576]|0; + $7 = HEAP32[4338]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14140,13 +14327,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,9127,$vararg_buffer); + _TraceLog(2,8841,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4577]|0; + $9 = HEAP32[4339]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4576]|0; + $13 = HEAP32[4338]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14154,37 +14341,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4618] = $23; - HEAP32[4619] = $1; + HEAP32[4380] = $23; + HEAP32[4381] = $1; $24 = (($0) - ($23))|0; - HEAP32[4620] = $24; + HEAP32[4382] = $24; $$sink = 0; } else { - HEAP32[4618] = $0; - $17 = HEAP32[4576]|0; + HEAP32[4380] = $0; + $17 = HEAP32[4338]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4619] = $20; - HEAP32[4620] = 0; + HEAP32[4381] = $20; + HEAP32[4382] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4621] = $$sink; - $25 = HEAP32[4618]|0; + HEAP32[4383] = $$sink; + $25 = HEAP32[4380]|0; $26 = (+($25|0)); - $27 = HEAP32[4577]|0; + $27 = HEAP32[4339]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18396; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4618] = $0; - HEAP32[4619] = $1; + dest=17444; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4380] = $0; + HEAP32[4381] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9205,$vararg_buffer4); + _TraceLog(2,8919,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14202,10 +14389,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4577] = $1; - HEAP32[4576] = $2; - HEAP32[4618] = $1; - HEAP32[4619] = $2; + HEAP32[4339] = $1; + HEAP32[4338] = $2; + HEAP32[4380] = $1; + HEAP32[4381] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14232,7 +14419,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22139 + ($1)|0); + $9 = (21187 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14253,7 +14440,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22133 + ($1)|0); + $7 = (21181 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14332,7 +14519,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17296; + $15 = 16344; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14367,7 +14554,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4991] = $3; + HEAP32[4753] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14377,7 +14564,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4990] = $$sink; + HEAP32[4752] = $$sink; return; } function _rlglInit($0,$1) { @@ -14417,16 +14604,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5768,$vararg_buffer); + _TraceLog(0,5482,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5786,$vararg_buffer1); + _TraceLog(0,5500,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5804,$vararg_buffer4); + _TraceLog(0,5518,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5822,$vararg_buffer7); + _TraceLog(0,5536,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14434,7 +14621,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5840)|0); + $15 = (_strtok($$sink63,5554)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14448,41 +14635,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5842,$vararg_buffer10); + _TraceLog(0,5556,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5877)|0); + $25 = (_strcmp($24,5591)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4656] = 1; - $27 = (_eglGetProcAddress((5904|0))|0); - HEAP32[4657] = $27; - $28 = (_eglGetProcAddress((5925|0))|0); - HEAP32[4658] = $28; - $29 = (_eglGetProcAddress((5946|0))|0); - HEAP32[4659] = $29; - } - $30 = (_strcmp($24,5970)|0); + HEAP32[4418] = 1; + $27 = (_eglGetProcAddress((5618|0))|0); + HEAP32[4419] = $27; + $28 = (_eglGetProcAddress((5639|0))|0); + HEAP32[4420] = $28; + $29 = (_eglGetProcAddress((5660|0))|0); + HEAP32[4421] = $29; + } + $30 = (_strcmp($24,5684)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4598] = 1; + HEAP32[4360] = 1; } - $32 = (_strcmp($24,5990)|0); + $32 = (_strcmp($24,5704)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,6022)|0); + $35 = (_strcmp($34,5736)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,6055)|0); + $37 = (_strcmp($34,5769)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14491,15 +14678,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4593] = 1; + HEAP32[4355] = 1; } - $39 = (_strcmp($24,6095)|0); + $39 = (_strcmp($24,5809)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,6131)|0); + $42 = (_strcmp($41,5845)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14507,35 +14694,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4594] = 1; + HEAP32[4356] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6164)|0); + $45 = (_strcmp($44,5878)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4595] = 1; + HEAP32[4357] = 1; } - $47 = (_strcmp($44,6189)|0); + $47 = (_strcmp($44,5903)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4596] = 1; + HEAP32[4358] = 1; } - $49 = (_strcmp($44,6222)|0); + $49 = (_strcmp($44,5936)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4597] = 1; + HEAP32[4359] = 1; } - $51 = (_strcmp($44,6258)|0); + $51 = (_strcmp($44,5972)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4660] = 1; - _glGetFloatv(34047,(18644|0)); + HEAP32[4422] = 1; + _glGetFloatv(34047,(17692|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6292)|0); + $54 = (_strcmp($53,6006)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4662] = 1; + HEAP32[4424] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14546,77 +14733,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4656]|0; + $21 = HEAP32[4418]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,6395,$vararg_buffer15); + _TraceLog(2,6109,$vararg_buffer15); } else { - _TraceLog(0,6320,$vararg_buffer13); + _TraceLog(0,6034,$vararg_buffer13); } - $57 = HEAP32[4598]|0; + $57 = HEAP32[4360]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,6531,$vararg_buffer19); + _TraceLog(2,6245,$vararg_buffer19); } else { - _TraceLog(0,6456,$vararg_buffer17); + _TraceLog(0,6170,$vararg_buffer17); } - $59 = HEAP32[4593]|0; + $59 = HEAP32[4355]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,6623,$vararg_buffer21); + _TraceLog(0,6337,$vararg_buffer21); } - $61 = HEAP32[4594]|0; + $61 = HEAP32[4356]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6669,$vararg_buffer23); + _TraceLog(0,6383,$vararg_buffer23); } - $63 = HEAP32[4595]|0; + $63 = HEAP32[4357]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,6716,$vararg_buffer25); + _TraceLog(0,6430,$vararg_buffer25); } - $65 = HEAP32[4596]|0; + $65 = HEAP32[4358]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6767,$vararg_buffer27); + _TraceLog(0,6481,$vararg_buffer27); } - $67 = HEAP32[4597]|0; + $67 = HEAP32[4359]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6814,$vararg_buffer29); + _TraceLog(0,6528,$vararg_buffer29); } - $69 = HEAP32[4660]|0; + $69 = HEAP32[4422]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4661]; + $71 = +HEAPF32[4423]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6861,$vararg_buffer31); + _TraceLog(0,6575,$vararg_buffer31); } - $73 = HEAP32[4662]|0; + $73 = HEAP32[4424]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6927,$vararg_buffer34); + _TraceLog(0,6641,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4663] = $75; + HEAP32[4425] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,7031,$vararg_buffer39); + _TraceLog(2,6745,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6980,$vararg_buffer36); + _TraceLog(0,6694,$vararg_buffer36); } _LoadDefaultShader($2); - dest=18656; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18712; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17704; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17760; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4692] = $77; + HEAP32[4454] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4692]|0; + $79 = HEAP32[4454]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14629,7 +14816,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4693] = $78; + HEAP32[4455] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14644,48 +14831,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4694] = 1; - $85 = HEAP32[4663]|0; + HEAP32[4456] = 1; + $85 = HEAP32[4425]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4695] = 4; + HEAP32[4457] = 4; _MatrixIdentity($4); - dest=18784; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17832; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18848); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17896); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18912); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17960); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18976); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18024); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19040); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18088); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19104); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19168); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19232); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18280); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19296); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18344); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19360); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18408); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19424); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18472); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19488); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18536); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19552); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18600); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19616); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18664); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19680); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18728); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19744); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18792); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=18492; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17540; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=18556; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4622] = 18556; + dest=17604; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4384] = 17604; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14696,21 +14883,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4952] = $0; - HEAP32[4953] = $1; - _TraceLog(0,7070,$vararg_buffer41); + HEAP32[4714] = $0; + HEAP32[4715] = $1; + _TraceLog(0,6784,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4620]|0; + $0 = HEAP32[4382]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4621]|0; + $2 = HEAP32[4383]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4618]|0; + $4 = HEAP32[4380]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4619]|0; + $6 = HEAP32[4381]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14721,12 +14908,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 18492; + $modelview$sink = 17540; label = 3; break; } case 5888: { - $modelview$sink = 18556; + $modelview$sink = 17604; label = 3; break; } @@ -14734,9 +14921,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4622] = $modelview$sink; + HEAP32[4384] = $modelview$sink; } - HEAP32[4655] = $0; + HEAP32[4417] = $0; return; } function _rlLoadIdentity() { @@ -14744,7 +14931,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4622]|0; + $1 = HEAP32[4384]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14765,7 +14952,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4622]|0; + $8 = HEAP32[4384]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14824,17 +15011,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7646|0),489)|0; - _memcpy(($3|0),(8135|0),441)|0; + _memcpy(($2|0),(7360|0),489)|0; + _memcpy(($3|0),(7849|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8624,$vararg_buffer1); + _TraceLog(2,8338,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8576,$vararg_buffer); + _TraceLog(0,8290,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14862,15 +15049,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(19828)>>2] = $0; + HEAP32[(18876)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(19836)>>2] = $1; - HEAP32[(19832)>>2] = 0; - HEAP32[(19840)>>2] = 0; + HEAP32[(18884)>>2] = $1; + HEAP32[(18880)>>2] = 0; + HEAP32[(18888)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(19836)>>2]|0; + $2 = HEAP32[(18884)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14881,19 +15068,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4954] = 0; - HEAP32[(19824)>>2] = 0; - HEAP32[(19820)>>2] = 0; + HEAP32[4716] = 0; + HEAP32[(18872)>>2] = 0; + HEAP32[(18868)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19876)>>2] = $5; + HEAP32[(18924)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19884)>>2] = $6; - HEAP32[(19880)>>2] = 0; - HEAP32[(19888)>>2] = 0; + HEAP32[(18932)>>2] = $6; + HEAP32[(18928)>>2] = 0; + HEAP32[(18936)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19884)>>2]|0; + $7 = HEAP32[(18932)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14904,24 +15091,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4966] = 0; - HEAP32[(19872)>>2] = 0; - HEAP32[(19868)>>2] = 0; + HEAP32[4728] = 0; + HEAP32[(18920)>>2] = 0; + HEAP32[(18916)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19924)>>2] = $10; + HEAP32[(18972)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19928)>>2] = $11; + HEAP32[(18976)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19932)>>2] = $12; + HEAP32[(18980)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19936)>>2] = $13; - $14 = HEAP32[(19924)>>2]|0; + HEAP32[(18984)>>2] = $13; + $14 = HEAP32[(18972)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19928)>>2]|0; + $15 = HEAP32[(18976)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19932)>>2]|0; + $17 = HEAP32[(18980)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14932,7 +15119,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19936)>>2]|0; + $16 = HEAP32[(18984)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14969,140 +15156,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4978] = 0; - HEAP32[(19916)>>2] = 0; - HEAP32[(19920)>>2] = 0; - _TraceLog(0,7117,$vararg_buffer); - $20 = HEAP32[4656]|0; + HEAP32[4740] = 0; + HEAP32[(18964)>>2] = 0; + HEAP32[(18968)>>2] = 0; + _TraceLog(0,6831,$vararg_buffer); + $20 = HEAP32[4418]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4657]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19844)); - $44 = HEAP32[4658]|0; - $45 = HEAP32[(19844)>>2]|0; + $43 = HEAP32[4419]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18892)); + $44 = HEAP32[4420]|0; + $45 = HEAP32[(18892)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19848)|0)); - $46 = HEAP32[(19848)>>2]|0; + _glGenBuffers(2,((18896)|0)); + $46 = HEAP32[(18896)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19828)>>2]|0; + $47 = HEAP32[(18876)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18716)>>2]|0; + $48 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18716)>>2]|0; + $49 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19852)|0)); - $50 = HEAP32[(19852)>>2]|0; + _glGenBuffers(2,((18900)|0)); + $50 = HEAP32[(18900)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19836)>>2]|0; + $51 = HEAP32[(18884)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18736)>>2]|0; + $52 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18736)>>2]|0; + $53 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4656]|0; + $54 = HEAP32[4418]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19848)>>2]|0; - $58 = HEAP32[(19852)>>2]|0; + $57 = HEAP32[(18896)>>2]|0; + $58 = HEAP32[(18900)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7255,$vararg_buffer3); + _TraceLog(0,6969,$vararg_buffer3); } else { - $56 = HEAP32[(19844)>>2]|0; + $56 = HEAP32[(18892)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7190,$vararg_buffer1); + _TraceLog(0,6904,$vararg_buffer1); } - $59 = HEAP32[4656]|0; + $59 = HEAP32[4418]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4657]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19892)); - $62 = HEAP32[4658]|0; - $63 = HEAP32[(19892)>>2]|0; + $61 = HEAP32[4419]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18940)); + $62 = HEAP32[4420]|0; + $63 = HEAP32[(18940)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19896)|0)); - $64 = HEAP32[(19896)>>2]|0; + _glGenBuffers(1,((18944)|0)); + $64 = HEAP32[(18944)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19876)>>2]|0; + $65 = HEAP32[(18924)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18716)>>2]|0; + $66 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18716)>>2]|0; + $67 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19900)|0)); - $68 = HEAP32[(19900)>>2]|0; + _glGenBuffers(1,((18948)|0)); + $68 = HEAP32[(18948)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19884)>>2]|0; + $69 = HEAP32[(18932)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18736)>>2]|0; + $70 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18736)>>2]|0; + $71 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4656]|0; + $72 = HEAP32[4418]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19896)>>2]|0; - $76 = HEAP32[(19900)>>2]|0; + $75 = HEAP32[(18944)>>2]|0; + $76 = HEAP32[(18948)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7401,$vararg_buffer10); + _TraceLog(0,7115,$vararg_buffer10); } else { - $74 = HEAP32[(19892)>>2]|0; + $74 = HEAP32[(18940)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7332,$vararg_buffer7); + _TraceLog(0,7046,$vararg_buffer7); } - $77 = HEAP32[4656]|0; + $77 = HEAP32[4418]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4657]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19940)); - $80 = HEAP32[4658]|0; - $81 = HEAP32[(19940)>>2]|0; + $79 = HEAP32[4419]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18988)); + $80 = HEAP32[4420]|0; + $81 = HEAP32[(18988)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19944)|0)); - $82 = HEAP32[(19944)>>2]|0; + _glGenBuffers(1,((18992)|0)); + $82 = HEAP32[(18992)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19924)>>2]|0; + $83 = HEAP32[(18972)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18716)>>2]|0; + $84 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18716)>>2]|0; + $85 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19948)|0)); - $86 = HEAP32[(19948)>>2]|0; + _glGenBuffers(1,((18996)|0)); + $86 = HEAP32[(18996)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19928)>>2]|0; + $87 = HEAP32[(18976)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18720)>>2]|0; + $88 = HEAP32[(17768)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18720)>>2]|0; + $89 = HEAP32[(17768)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19952)|0)); - $90 = HEAP32[(19952)>>2]|0; + _glGenBuffers(1,((19000)|0)); + $90 = HEAP32[(19000)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19932)>>2]|0; + $91 = HEAP32[(18980)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18736)>>2]|0; + $92 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18736)>>2]|0; + $93 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19956)|0)); - $94 = HEAP32[(19956)>>2]|0; + _glGenBuffers(1,((19004)|0)); + $94 = HEAP32[(19004)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19936)>>2]|0; + $95 = HEAP32[(18984)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4656]|0; + $96 = HEAP32[4418]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19944)>>2]|0; - $100 = HEAP32[(19948)>>2]|0; - $101 = HEAP32[(19952)>>2]|0; - $102 = HEAP32[(19956)>>2]|0; + $99 = HEAP32[(18992)>>2]|0; + $100 = HEAP32[(18996)>>2]|0; + $101 = HEAP32[(19000)>>2]|0; + $102 = HEAP32[(19004)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15110,18 +15297,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7547,$vararg_buffer17); + _TraceLog(0,7261,$vararg_buffer17); } else { - $98 = HEAP32[(19940)>>2]|0; + $98 = HEAP32[(18988)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7482,$vararg_buffer14); + _TraceLog(0,7196,$vararg_buffer14); } - $103 = HEAP32[4656]|0; + $103 = HEAP32[4418]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4658]|0; + $105 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15158,10 +15345,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8880,$vararg_buffer4); + _TraceLog(0,8594,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8828,$vararg_buffer); + _TraceLog(2,8542,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15171,7 +15358,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8877,$vararg_buffer1); + _TraceLog(0,8591,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15180,10 +15367,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8981,$vararg_buffer13); + _TraceLog(0,8695,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8930,$vararg_buffer7); + _TraceLog(2,8644,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15193,25 +15380,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8877,$vararg_buffer10); + _TraceLog(0,8591,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8672|0)); - _glBindAttribLocation(($20|0),1,(8687|0)); - _glBindAttribLocation(($20|0),2,(8718|0)); - _glBindAttribLocation(($20|0),3,(8745|0)); - _glBindAttribLocation(($20|0),4,(8731|0)); - _glBindAttribLocation(($20|0),5,(8702|0)); + _glBindAttribLocation(($20|0),0,(8386|0)); + _glBindAttribLocation(($20|0),1,(8401|0)); + _glBindAttribLocation(($20|0),2,(8432|0)); + _glBindAttribLocation(($20|0),3,(8459|0)); + _glBindAttribLocation(($20|0),4,(8445|0)); + _glBindAttribLocation(($20|0),5,(8416|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,9033,$vararg_buffer16); + _TraceLog(2,8747,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15221,7 +15408,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8877,$vararg_buffer19); + _TraceLog(0,8591,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15230,7 +15417,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,9079,$vararg_buffer22); + _TraceLog(0,8793,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15245,55 +15432,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8672|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8386|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8687|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8401|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8702|0))|0); + $8 = (_glGetAttribLocation(($7|0),(8416|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8718|0))|0); + $11 = (_glGetAttribLocation(($10|0),(8432|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8731|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8445|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8745|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8459|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8757|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8471|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8767|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8481|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8778|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8492|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8789|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8503|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8801|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8515|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8810|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8524|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8819|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8533|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15302,9 +15489,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22133 + ($0)|0); + $1 = (21181 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22136 + ($0)|0); + $3 = (21184 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15316,9 +15503,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22133 + ($0)|0); + $1 = (21181 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22136 + ($0)|0); + $3 = (21184 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15339,10 +15526,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4575]|0; + $0 = HEAP32[4337]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,9391,$vararg_buffer); + _TraceLog(0,9105,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15350,9 +15537,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18340>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18340+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18340+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18340+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18340+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17388>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17388+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17388+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17388+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17388+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18368)>>2]|0; + $0 = HEAP32[(17416)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15363,11 +15550,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18652|0)); - $0 = HEAP32[4663]|0; + _glDeleteTextures(1,(17700|0)); + $0 = HEAP32[4425]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9418,$vararg_buffer); - $1 = HEAP32[4693]|0; + _TraceLog(0,9132,$vararg_buffer); + $1 = HEAP32[4455]|0; _free($1); STACKTOP = sp;return; } @@ -15375,17 +15562,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4664]|0; + $0 = HEAP32[4426]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4656]|0; + $0 = HEAP32[4418]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4658]|0; + $2 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15394,39 +15581,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19848)|0)); - _glDeleteBuffers(1,((19852)|0)); - _glDeleteBuffers(1,((19896)|0)); - _glDeleteBuffers(1,((19900)|0)); - _glDeleteBuffers(1,((19944)|0)); - _glDeleteBuffers(1,((19948)|0)); - _glDeleteBuffers(1,((19952)|0)); - _glDeleteBuffers(1,((19956)|0)); - $3 = HEAP32[4656]|0; + _glDeleteBuffers(1,((18896)|0)); + _glDeleteBuffers(1,((18900)|0)); + _glDeleteBuffers(1,((18944)|0)); + _glDeleteBuffers(1,((18948)|0)); + _glDeleteBuffers(1,((18992)|0)); + _glDeleteBuffers(1,((18996)|0)); + _glDeleteBuffers(1,((19000)|0)); + _glDeleteBuffers(1,((19004)|0)); + $3 = HEAP32[4418]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4659]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19844)); - $6 = HEAP32[4659]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19892)); - $7 = HEAP32[4659]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19940)); - } - $8 = HEAP32[(19828)>>2]|0; + $5 = HEAP32[4421]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18892)); + $6 = HEAP32[4421]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18940)); + $7 = HEAP32[4421]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18988)); + } + $8 = HEAP32[(18876)>>2]|0; _free($8); - $9 = HEAP32[(19836)>>2]|0; + $9 = HEAP32[(18884)>>2]|0; _free($9); - $10 = HEAP32[(19876)>>2]|0; + $10 = HEAP32[(18924)>>2]|0; _free($10); - $11 = HEAP32[(19884)>>2]|0; + $11 = HEAP32[(18932)>>2]|0; _free($11); - $12 = HEAP32[(19924)>>2]|0; + $12 = HEAP32[(18972)>>2]|0; _free($12); - $13 = HEAP32[(19928)>>2]|0; + $13 = HEAP32[(18976)>>2]|0; _free($13); - $14 = HEAP32[(19932)>>2]|0; + $14 = HEAP32[(18980)>>2]|0; _free($14); - $15 = HEAP32[(19936)>>2]|0; + $15 = HEAP32[(18984)>>2]|0; _free($15); return; } @@ -15444,7 +15631,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9483,$vararg_buffer); + _TraceLog(0,9197,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15466,16 +15653,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2181] = $0; - $1 = +HEAPF64[2164]; + HEAPF64[2062] = $0; + $1 = +HEAPF64[2045]; $2 = $0 - $1; - HEAPF64[2182] = $2; - HEAPF64[2164] = $0; + HEAPF64[2063] = $2; + HEAPF64[2045] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18396; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17444; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19968); + _rlMultMatrixf(19016); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15484,53 +15671,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4992] = $1; + HEAP32[4754] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19972)>>2] = $3; + HEAP32[(19020)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19976)>>2] = $5; + HEAP32[(19024)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19980)>>2] = $7; + HEAP32[(19028)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19984)>>2] = $9; + HEAP32[(19032)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19988)>>2] = $11; + HEAP32[(19036)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19992)>>2] = $13; + HEAP32[(19040)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19996)>>2] = $15; + HEAP32[(19044)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20000)>>2] = $17; + HEAP32[(19048)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20004)>>2] = $19; + HEAP32[(19052)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20008)>>2] = $21; + HEAP32[(19056)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20012)>>2] = $23; + HEAP32[(19060)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20016)>>2] = $25; + HEAP32[(19064)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20020)>>2] = $27; + HEAP32[(19068)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20024)>>2] = $29; + HEAP32[(19072)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20028)>>2] = $31; - return (19968|0); + HEAP32[(19076)>>2] = $31; + return (19016|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15605,7 +15792,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4622]|0; + $49 = HEAP32[4384]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15619,15 +15806,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2181] = $0; - $1 = +HEAPF64[2164]; + HEAPF64[2062] = $0; + $1 = +HEAPF64[2045]; $2 = $0 - $1; - HEAPF64[2183] = $2; - HEAPF64[2164] = $0; - $3 = +HEAPF64[2182]; + HEAPF64[2064] = $2; + HEAPF64[2045] = $0; + $3 = +HEAPF64[2063]; $4 = $2 + $3; - HEAPF64[2184] = $4; - $5 = +HEAPF64[2161]; + HEAPF64[2065] = $4; + $5 = +HEAPF64[2042]; $6 = $4 < $5; if (!($6)) { return; @@ -15637,13 +15824,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2181] = $10; - $11 = +HEAPF64[2164]; + HEAPF64[2062] = $10; + $11 = +HEAPF64[2045]; $12 = $10 - $11; - HEAPF64[2164] = $10; - $13 = +HEAPF64[2184]; + HEAPF64[2045] = $10; + $13 = +HEAPF64[2065]; $14 = $12 + $13; - HEAPF64[2184] = $14; + HEAPF64[2065] = $14; return; } function _rlglDraw() { @@ -15656,7 +15843,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4575]|0; + $0 = HEAP32[4337]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15672,20 +15859,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5008] = 0; - $3 = HEAP32[4575]|0; + HEAP32[4770] = 0; + $3 = HEAP32[4337]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4320] = $5; + HEAPF32[4082] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17284)>>2] = $7; - _memcpy((22651|0),(22139|0),512)|0; - ;HEAP8[22136>>0]=HEAP8[22133>>0]|0;HEAP8[22136+1>>0]=HEAP8[22133+1>>0]|0;HEAP8[22136+2>>0]=HEAP8[22133+2>>0]|0; - $8 = HEAP32[4991]|0; - HEAP32[4578] = $8; - HEAP32[4991] = 0; + HEAPF32[(16332)>>2] = $7; + _memcpy((21699|0),(21187|0),512)|0; + ;HEAP8[21184>>0]=HEAP8[21181>>0]|0;HEAP8[21184+1>>0]=HEAP8[21181+1>>0]|0;HEAP8[21184+2>>0]=HEAP8[21181+2>>0]|0; + $8 = HEAP32[4753]|0; + HEAP32[4340] = $8; + HEAP32[4753] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15695,8 +15882,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23163 + ($$05160<<5)|0); - $scevgep67 = (23291 + ($$05160<<5)|0); + $scevgep = (22211 + ($$05160<<5)|0); + $scevgep67 = (22339 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15710,7 +15897,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23291 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((22339 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15737,7 +15924,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20036 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((19084 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15753,7 +15940,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5008] = $$lcssa; + HEAP32[4770] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15794,87 +15981,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4954]|0; + $0 = HEAP32[4716]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4656]|0; + $2 = HEAP32[4418]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4658]|0; - $5 = HEAP32[(19844)>>2]|0; + $4 = HEAP32[4420]|0; + $5 = HEAP32[(18892)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19848)>>2]|0; + $6 = HEAP32[(18896)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4954]|0; + $7 = HEAP32[4716]|0; $8 = ($7*12)|0; - $9 = HEAP32[(19828)>>2]|0; + $9 = HEAP32[(18876)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19852)>>2]|0; + $10 = HEAP32[(18900)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19824)>>2]|0; + $11 = HEAP32[(18872)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(19836)>>2]|0; + $13 = HEAP32[(18884)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4966]|0; + $14 = HEAP32[4728]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4656]|0; + $16 = HEAP32[4418]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4658]|0; - $19 = HEAP32[(19892)>>2]|0; + $18 = HEAP32[4420]|0; + $19 = HEAP32[(18940)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19896)>>2]|0; + $20 = HEAP32[(18944)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4966]|0; + $21 = HEAP32[4728]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19876)>>2]|0; + $23 = HEAP32[(18924)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19900)>>2]|0; + $24 = HEAP32[(18948)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19872)>>2]|0; + $25 = HEAP32[(18920)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19884)>>2]|0; + $27 = HEAP32[(18932)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4978]|0; + $28 = HEAP32[4740]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4656]|0; + $30 = HEAP32[4418]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4658]|0; - $33 = HEAP32[(19940)>>2]|0; + $32 = HEAP32[4420]|0; + $33 = HEAP32[(18988)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19944)>>2]|0; + $34 = HEAP32[(18992)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4978]|0; + $35 = HEAP32[4740]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19924)>>2]|0; + $37 = HEAP32[(18972)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19948)>>2]|0; + $38 = HEAP32[(18996)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4978]|0; + $39 = HEAP32[4740]|0; $40 = $39 << 3; - $41 = HEAP32[(19928)>>2]|0; + $41 = HEAP32[(18976)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19952)>>2]|0; + $42 = HEAP32[(19000)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4978]|0; + $43 = HEAP32[4740]|0; $44 = $43 << 2; - $45 = HEAP32[(19932)>>2]|0; + $45 = HEAP32[(18980)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4656]|0; + $46 = HEAP32[4418]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4658]|0; + $48 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15892,9 +16079,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=18492; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=18556; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5041]|0; + dest=$0; src=17540; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17604; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4803]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15904,134 +16091,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4954]|0; + $8 = HEAP32[4716]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4966]|0; + $10 = HEAP32[4728]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4978]|0; + $12 = HEAP32[4740]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4678]|0; + $14 = HEAP32[4440]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18556; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=18492; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17604; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17540; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18740)>>2]|0; + $15 = HEAP32[(17788)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18744)>>2]|0; + $17 = HEAP32[(17792)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18756)>>2]|0; + $18 = HEAP32[(17804)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4954]|0; + $19 = HEAP32[4716]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4663]|0; + $21 = HEAP32[4425]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4656]|0; + $22 = HEAP32[4418]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19848)>>2]|0; + $26 = HEAP32[(18896)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18716)>>2]|0; + $27 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18716)>>2]|0; + $28 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19852)>>2]|0; + $29 = HEAP32[(18900)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18736)>>2]|0; + $30 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18736)>>2]|0; + $31 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4658]|0; - $25 = HEAP32[(19844)>>2]|0; + $24 = HEAP32[4420]|0; + $25 = HEAP32[(18892)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4954]|0; + $32 = HEAP32[4716]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4656]|0; + $33 = HEAP32[4418]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4966]|0; + $35 = HEAP32[4728]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4663]|0; + $37 = HEAP32[4425]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4656]|0; + $38 = HEAP32[4418]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19896)>>2]|0; + $42 = HEAP32[(18944)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18716)>>2]|0; + $43 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18716)>>2]|0; + $44 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19900)>>2]|0; + $45 = HEAP32[(18948)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18736)>>2]|0; + $46 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18736)>>2]|0; + $47 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4658]|0; - $41 = HEAP32[(19892)>>2]|0; + $40 = HEAP32[4420]|0; + $41 = HEAP32[(18940)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4966]|0; + $48 = HEAP32[4728]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4656]|0; + $49 = HEAP32[4418]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4978]|0; + $51 = HEAP32[4740]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4656]|0; + $53 = HEAP32[4418]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19944)>>2]|0; + $57 = HEAP32[(18992)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18716)>>2]|0; + $58 = HEAP32[(17764)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18716)>>2]|0; + $59 = HEAP32[(17764)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19948)>>2]|0; + $60 = HEAP32[(18996)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18720)>>2]|0; + $61 = HEAP32[(17768)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18720)>>2]|0; + $62 = HEAP32[(17768)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19952)>>2]|0; + $63 = HEAP32[(19000)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18736)>>2]|0; + $64 = HEAP32[(17784)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18736)>>2]|0; + $65 = HEAP32[(17784)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19956)>>2]|0; + $66 = HEAP32[(19004)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4658]|0; - $56 = HEAP32[(19940)>>2]|0; + $55 = HEAP32[4420]|0; + $56 = HEAP32[(18988)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4694]|0; + $67 = HEAP32[4456]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4693]|0; + $71 = HEAP32[4455]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16042,14 +16229,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4693]|0; + $80 = HEAP32[4455]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4694]|0; + $87 = HEAP32[4456]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16058,7 +16245,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4656]|0; + $69 = HEAP32[4418]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16066,10 +16253,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4656]|0; + $89 = HEAP32[4418]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4658]|0; + $91 = HEAP32[4420]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16081,22 +16268,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4694] = 1; - $5 = HEAP32[4663]|0; - $6 = HEAP32[4693]|0; + HEAP32[4456] = 1; + $5 = HEAP32[4425]|0; + $6 = HEAP32[4455]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4954] = 0; - HEAP32[(19824)>>2] = 0; - HEAP32[4966] = 0; - HEAP32[(19872)>>2] = 0; - HEAP32[4978] = 0; - HEAP32[(19916)>>2] = 0; - HEAP32[(19920)>>2] = 0; + HEAP32[4716] = 0; + HEAP32[(18872)>>2] = 0; + HEAP32[4728] = 0; + HEAP32[(18920)>>2] = 0; + HEAP32[4740] = 0; + HEAP32[(18964)>>2] = 0; + HEAP32[(18968)>>2] = 0; HEAPF32[744] = -1.0; - dest=18492; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18556; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17540; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17604; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16111,17 +16298,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4952]|0; + $5 = HEAP32[4714]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4953]|0; + $9 = HEAP32[4715]|0; _rlViewport($7,0,$8,$9); - $10 = (20396 + ($0<<6)|0); + $10 = (19444 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20268 + ($0<<6)|0); + $11 = (19316 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16133,14 +16320,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18556; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17604; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18492; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17540; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _GetRandomValue($0,$1) { @@ -16218,9 +16405,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22139 + ($0)|0); + $1 = (21187 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22651 + ($0)|0); + $3 = (21699 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16232,7 +16419,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4695] = $0; + HEAP32[4457] = $0; return; } function _rlEnd() { @@ -16248,21 +16435,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5131]|0; + $0 = HEAP32[4893]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5132]|0; + $2 = HEAP32[4894]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4692]|0; + $6 = HEAP32[4454]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4622]|0; + $8 = HEAP32[4384]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5132]|0; + $5 = HEAP32[4894]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16270,12 +16457,12 @@ function _rlEnd() { break; } } - HEAP32[5131] = 0; + HEAP32[4893] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4692]|0; + $11 = HEAP32[4454]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16284,7 +16471,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5132]|0; + $19 = HEAP32[4894]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16294,15 +16481,15 @@ function _rlEnd() { } } } else { - HEAP32[5131] = 0; + HEAP32[4893] = 0; } - HEAP32[5132] = 0; + HEAP32[4894] = 0; } - $21 = HEAP32[4695]|0; + $21 = HEAP32[4457]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4954]|0; - $23 = HEAP32[(19824)>>2]|0; + $22 = HEAP32[4716]|0; + $23 = HEAP32[(18872)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -16321,16 +16508,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(19836)>>2]|0; - $28 = HEAP32[(19824)>>2]|0; + $27 = HEAP32[(18884)>>2]|0; + $28 = HEAP32[(18872)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(19836)>>2]|0; - $35 = HEAP32[(19824)>>2]|0; + $34 = HEAP32[(18884)>>2]|0; + $35 = HEAP32[(18872)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16338,8 +16525,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(19836)>>2]|0; - $43 = HEAP32[(19824)>>2]|0; + $42 = HEAP32[(18884)>>2]|0; + $43 = HEAP32[(18872)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16347,8 +16534,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(19836)>>2]|0; - $51 = HEAP32[(19824)>>2]|0; + $50 = HEAP32[(18884)>>2]|0; + $51 = HEAP32[(18872)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16356,9 +16543,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(19824)>>2]|0; + $58 = HEAP32[(18872)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(19824)>>2] = $59; + HEAP32[(18872)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16374,8 +16561,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4966]|0; - $62 = HEAP32[(19872)>>2]|0; + $61 = HEAP32[4728]|0; + $62 = HEAP32[(18920)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16394,16 +16581,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19884)>>2]|0; - $67 = HEAP32[(19872)>>2]|0; + $66 = HEAP32[(18932)>>2]|0; + $67 = HEAP32[(18920)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19884)>>2]|0; - $74 = HEAP32[(19872)>>2]|0; + $73 = HEAP32[(18932)>>2]|0; + $74 = HEAP32[(18920)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16411,8 +16598,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19884)>>2]|0; - $82 = HEAP32[(19872)>>2]|0; + $81 = HEAP32[(18932)>>2]|0; + $82 = HEAP32[(18920)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16420,8 +16607,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19884)>>2]|0; - $90 = HEAP32[(19872)>>2]|0; + $89 = HEAP32[(18932)>>2]|0; + $90 = HEAP32[(18920)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16429,9 +16616,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19872)>>2]|0; + $97 = HEAP32[(18920)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19872)>>2] = $98; + HEAP32[(18920)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16447,8 +16634,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4978]|0; - $101 = HEAP32[(19920)>>2]|0; + $100 = HEAP32[4740]|0; + $101 = HEAP32[(18968)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16456,16 +16643,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19932)>>2]|0; - $106 = HEAP32[(19920)>>2]|0; + $105 = HEAP32[(18980)>>2]|0; + $106 = HEAP32[(18968)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19932)>>2]|0; - $113 = HEAP32[(19920)>>2]|0; + $112 = HEAP32[(18980)>>2]|0; + $113 = HEAP32[(18968)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16473,8 +16660,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19932)>>2]|0; - $121 = HEAP32[(19920)>>2]|0; + $120 = HEAP32[(18980)>>2]|0; + $121 = HEAP32[(18968)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16482,8 +16669,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19932)>>2]|0; - $129 = HEAP32[(19920)>>2]|0; + $128 = HEAP32[(18980)>>2]|0; + $129 = HEAP32[(18968)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16491,9 +16678,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19920)>>2]|0; + $136 = HEAP32[(18968)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19920)>>2] = $137; + HEAP32[(18968)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16504,8 +16691,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4978]|0; - $140 = HEAP32[(19916)>>2]|0; + $139 = HEAP32[4740]|0; + $140 = HEAP32[(18964)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16513,8 +16700,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19928)>>2]|0; - $$promoted = HEAP32[(19916)>>2]|0; + $142 = HEAP32[(18976)>>2]|0; + $$promoted = HEAP32[(18964)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16522,7 +16709,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19916)>>2] = $147; + HEAP32[(18964)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16549,11 +16736,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5131]|0; + $3 = HEAP32[4893]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4692]|0; - $6 = HEAP32[5132]|0; + $5 = HEAP32[4454]|0; + $6 = HEAP32[4894]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16561,16 +16748,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5132] = $10; + HEAP32[4894] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4695]|0; + $11 = HEAP32[4457]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4954]|0; + $12 = HEAP32[4716]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(19828)>>2]|0; + $14 = HEAP32[(18876)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16581,19 +16768,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4954] = $21; + HEAP32[4716] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,9533,$vararg_buffer); + _TraceLog(1,9247,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4966]|0; + $22 = HEAP32[4728]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19876)>>2]|0; + $24 = HEAP32[(18924)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16604,19 +16791,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4966] = $31; + HEAP32[4728] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,9558,$vararg_buffer1); + _TraceLog(1,9272,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4978]|0; + $32 = HEAP32[4740]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19924)>>2]|0; + $34 = HEAP32[(18972)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16627,9 +16814,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4978] = $41; - $42 = HEAP32[4693]|0; - $43 = HEAP32[4694]|0; + HEAP32[4740] = $41; + $42 = HEAP32[4455]|0; + $43 = HEAP32[4456]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16637,7 +16824,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,9587,$vararg_buffer3); + _TraceLog(1,9301,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16672,13 +16859,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4695]|0; + $2 = HEAP32[4457]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19928)>>2]|0; - $5 = HEAP32[(19916)>>2]|0; + $4 = HEAP32[(18976)>>2]|0; + $5 = HEAP32[(18964)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16686,7 +16873,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19916)>>2] = $10; + HEAP32[(18964)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16705,18 +16892,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4695]|0; + $4 = HEAP32[4457]|0; switch ($4|0) { case 1: { - $$sink37 = (19824);$$sink38 = (19836); + $$sink37 = (18872);$$sink38 = (18884); break; } case 4: { - $$sink37 = (19872);$$sink38 = (19884); + $$sink37 = (18920);$$sink38 = (18932); break; } case 7: { - $$sink37 = (19920);$$sink38 = (19932); + $$sink37 = (18968);$$sink38 = (18980); break; } default: { @@ -16755,8 +16942,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4693]|0; - $2 = HEAP32[4694]|0; + $1 = HEAP32[4455]|0; + $2 = HEAP32[4456]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16769,9 +16956,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4694] = $10; + HEAP32[4456] = $10; } - $11 = HEAP32[4694]|0; + $11 = HEAP32[4456]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16782,7 +16969,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4978]|0; + $0 = HEAP32[4740]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16794,7 +16981,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4663]|0; + $1 = HEAP32[4425]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16864,6058 +17051,297 @@ function _DrawCircleV($0,$1,$2) { break; } } - _rlEnd(); - STACKTOP = sp;return; - } - $36 = (_rlGetVersion()|0); - $37 = ($36|0)==(2); - if (!($37)) { - $38 = (_rlGetVersion()|0); - $39 = ($38|0)==(3); - if (!($39)) { - $40 = (_rlGetVersion()|0); - $41 = ($40|0)==(4); - if (!($41)) { - STACKTOP = sp;return; - } - } - } - _GetDefaultTexture($3); - $42 = HEAP32[$3>>2]|0; - _rlEnableTexture($42); - _rlBegin(7); - $43 = HEAP8[$2>>0]|0; - $44 = ((($2)) + 1|0); - $45 = HEAP8[$44>>0]|0; - $46 = ((($2)) + 2|0); - $47 = HEAP8[$46>>0]|0; - $48 = ((($2)) + 3|0); - $49 = HEAP8[$48>>0]|0; - $50 = +HEAPF32[$0>>2]; - $51 = ((($0)) + 4|0); - $$028 = 0; - while(1) { - _rlColor4ub($43,$45,$47,$49); - $52 = +HEAPF32[$51>>2]; - _rlVertex2f($50,$52); - $53 = (+($$028|0)); - $54 = $53 * 0.01745329238474369; - $55 = (+Math_sin((+$54))); - $56 = $55 * $1; - $57 = $50 + $56; - $58 = +HEAPF32[$51>>2]; - $59 = (+Math_cos((+$54))); - $60 = $59 * $1; - $61 = $58 + $60; - _rlVertex2f($57,$61); - $62 = (($$028) + 10)|0; - $63 = (+($62|0)); - $64 = $63 * 0.01745329238474369; - $65 = (+Math_sin((+$64))); - $66 = $65 * $1; - $67 = $50 + $66; - $68 = +HEAPF32[$51>>2]; - $69 = (+Math_cos((+$64))); - $70 = $69 * $1; - $71 = $68 + $70; - _rlVertex2f($67,$71); - $72 = (($$028) + 20)|0; - $73 = (+($72|0)); - $74 = $73 * 0.01745329238474369; - $75 = (+Math_sin((+$74))); - $76 = $75 * $1; - $77 = $50 + $76; - $78 = +HEAPF32[$51>>2]; - $79 = (+Math_cos((+$74))); - $80 = $79 * $1; - $81 = $78 + $80; - _rlVertex2f($77,$81); - $82 = ($72|0)<(360); - if ($82) { - $$028 = $72; - } else { - break; - } - } - _rlEnd(); - _rlDisableTexture(); - STACKTOP = sp;return; -} -function _DrawRectangle($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy2 = sp + 32|0; - $$byval_copy1 = sp + 24|0; - $$byval_copy = sp + 16|0; - $5 = sp + 8|0; - $6 = sp; - $7 = (+($0|0)); - HEAPF32[$5>>2] = $7; - $8 = ((($5)) + 4|0); - $9 = (+($1|0)); - HEAPF32[$8>>2] = $9; - $10 = (+($2|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($3|0)); - HEAPF32[$11>>2] = $12; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawRectangleV($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; - var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; - var $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.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $3 = sp; - $4 = (_rlGetVersion()|0); - $5 = ($4|0)==(1); - if ($5) { - _rlBegin(4); - $6 = HEAP8[$2>>0]|0; - $7 = ((($2)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($2)) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = ((($2)) + 3|0); - $12 = HEAP8[$11>>0]|0; - _rlColor4ub($6,$8,$10,$12); - $13 = +HEAPF32[$0>>2]; - $14 = (~~(($13))); - $15 = ((($0)) + 4|0); - $16 = +HEAPF32[$15>>2]; - $17 = (~~(($16))); - _rlVertex2i($14,$17); - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = $16 + $19; - $21 = (~~(($20))); - _rlVertex2i($14,$21); - $22 = +HEAPF32[$0>>2]; - $23 = +HEAPF32[$1>>2]; - $24 = $22 + $23; - $25 = (~~(($24))); - $26 = +HEAPF32[$15>>2]; - $27 = +HEAPF32[$18>>2]; - $28 = $26 + $27; - $29 = (~~(($28))); - _rlVertex2i($25,$29); - $30 = +HEAPF32[$0>>2]; - $31 = (~~(($30))); - $32 = +HEAPF32[$15>>2]; - $33 = (~~(($32))); - _rlVertex2i($31,$33); - $34 = +HEAPF32[$1>>2]; - $35 = $30 + $34; - $36 = (~~(($35))); - $37 = +HEAPF32[$18>>2]; - $38 = $32 + $37; - $39 = (~~(($38))); - _rlVertex2i($36,$39); - $40 = +HEAPF32[$0>>2]; - $41 = +HEAPF32[$1>>2]; - $42 = $40 + $41; - $43 = (~~(($42))); - $44 = +HEAPF32[$15>>2]; - $45 = (~~(($44))); - _rlVertex2i($43,$45); - _rlEnd(); - STACKTOP = sp;return; - } - $46 = (_rlGetVersion()|0); - $47 = ($46|0)==(2); - if (!($47)) { - $48 = (_rlGetVersion()|0); - $49 = ($48|0)==(3); - if (!($49)) { - $50 = (_rlGetVersion()|0); - $51 = ($50|0)==(4); - if (!($51)) { - STACKTOP = sp;return; - } - } - } - _GetDefaultTexture($3); - $52 = HEAP32[$3>>2]|0; - _rlEnableTexture($52); - _rlBegin(7); - $53 = HEAP8[$2>>0]|0; - $54 = ((($2)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = ((($2)) + 2|0); - $57 = HEAP8[$56>>0]|0; - $58 = ((($2)) + 3|0); - $59 = HEAP8[$58>>0]|0; - _rlColor4ub($53,$55,$57,$59); - _rlTexCoord2f(0.0,0.0); - $60 = +HEAPF32[$0>>2]; - $61 = ((($0)) + 4|0); - $62 = +HEAPF32[$61>>2]; - _rlVertex2f($60,$62); - _rlTexCoord2f(0.0,1.0); - $63 = ((($1)) + 4|0); - $64 = +HEAPF32[$63>>2]; - $65 = $62 + $64; - _rlVertex2f($60,$65); - _rlTexCoord2f(1.0,1.0); - $66 = +HEAPF32[$0>>2]; - $67 = +HEAPF32[$1>>2]; - $68 = $66 + $67; - $69 = +HEAPF32[$61>>2]; - $70 = +HEAPF32[$63>>2]; - $71 = $69 + $70; - _rlVertex2f($68,$71); - _rlTexCoord2f(1.0,0.0); - $72 = +HEAPF32[$0>>2]; - $73 = +HEAPF32[$1>>2]; - $74 = $72 + $73; - $75 = +HEAPF32[$61>>2]; - _rlVertex2f($74,$75); - _rlEnd(); - _rlDisableTexture(); - STACKTOP = sp;return; -} -function _DrawRectangleLines($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy3 = 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, $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); - $$byval_copy3 = sp; - $5 = (_rlGetVersion()|0); - $6 = ($5|0)==(1); - if ($6) { - _rlBegin(1); - $7 = HEAP8[$4>>0]|0; - $8 = ((($4)) + 1|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($4)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ((($4)) + 3|0); - $13 = HEAP8[$12>>0]|0; - _rlColor4ub($7,$9,$11,$13); - $14 = (($0) + 1)|0; - $15 = (($1) + 1)|0; - _rlVertex2i($14,$15); - $16 = (($2) + ($0))|0; - _rlVertex2i($16,$15); - _rlVertex2i($16,$15); - $17 = (($3) + ($1))|0; - _rlVertex2i($16,$17); - _rlVertex2i($16,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$17); - _rlVertex2i($14,$15); - _rlEnd(); - STACKTOP = sp;return; - } - $18 = (_rlGetVersion()|0); - $19 = ($18|0)==(2); - if (!($19)) { - $20 = (_rlGetVersion()|0); - $21 = ($20|0)==(3); - if (!($21)) { - $22 = (_rlGetVersion()|0); - $23 = ($22|0)==(4); - if (!($23)) { - STACKTOP = sp;return; - } - } - } - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$1,$2,1,$$byval_copy3); - $24 = (($0) + -1)|0; - $25 = (($24) + ($2))|0; - $26 = (($1) + 1)|0; - $27 = (($3) + -2)|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($25,$26,1,$27,$$byval_copy3); - $28 = (($1) + -1)|0; - $29 = (($28) + ($3))|0; - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$29,$2,1,$$byval_copy3); - ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; - _DrawRectangle($0,$26,1,$27,$$byval_copy3); - STACKTOP = sp;return; -} -function _jar_xm_generate_samples_16bit($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 << 1; - $4 = $2 << 3; - $5 = (_malloc($4)|0); - _jar_xm_generate_samples($0,$5,$2); - $6 = ($1|0)!=(0|0); - $7 = ($3|0)!=(0); - $or$cond = $6 & $7; - if ($or$cond) { - $$015 = 0; - } else { - _free($5); - return; - } - while(1) { - $8 = (($5) + ($$015<<2)|0); - $9 = +HEAPF32[$8>>2]; - $10 = $9 * 32767.0; - $11 = (~~(($10))); - $12 = (($1) + ($$015<<1)|0); - HEAP16[$12>>1] = $11; - $13 = (($$015) + 1)|0; - $exitcond = ($13|0)==($3|0); - if ($exitcond) { - break; - } else { - $$015 = $13; - } - } - _free($5); - return; -} -function _jar_xm_generate_samples($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$013 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)!=(0|0); - $4 = ($1|0)!=(0|0); - $or$cond = $3 & $4; - if (!($or$cond)) { - return; - } - $5 = ((($0)) + 360|0); - $6 = $5; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); - $13 = tempRet0; - $14 = $5; - $15 = $14; - HEAP32[$15>>2] = $12; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = $13; - $18 = ($2|0)==(0); - if ($18) { - return; - } else { - $$013 = 0; - } - while(1) { - $19 = $$013 << 1; - $20 = (($1) + ($19<<2)|0); - $21 = $19 | 1; - $22 = (($1) + ($21<<2)|0); - _jar_xm_sample($0,$20,$22); - $23 = (($$013) + 1)|0; - $exitcond = ($23|0)==($2|0); - if ($exitcond) { - break; - } else { - $$013 = $23; - } - } - return; -} -function _jar_xm_sample($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$072 = 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.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; - var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 352|0); - $4 = +HEAPF32[$3>>2]; - $5 = !($4 <= 0.0); - if (!($5)) { - _jar_xm_tick($0); - } - $6 = +HEAPF32[$3>>2]; - $7 = $6 + -1.0; - HEAPF32[$3>>2] = $7; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$2>>2] = 0.0; - $8 = ((($0)) + 385|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if (!($10)) { - $11 = ((($0)) + 384|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12&255)<($9&255); - if (!($13)) { - return; - } - } - $14 = ((($0)) + 50|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)==(0); - if (!($16)) { - $17 = ((($0)) + 388|0); - $18 = ((($0)) + 340|0); - $19 = ((($0)) + 344|0); - $20 = ((($0)) + 344|0); - $21 = ((($0)) + 340|0); - $$072 = 0;$33 = 0; - while(1) { - $31 = HEAP32[$17>>2]|0; - $32 = (($31) + (($33*304)|0)|0); - $34 = (((($31) + (($33*304)|0)|0)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - do { - if (!($36)) { - $37 = (((($31) + (($33*304)|0)|0)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = (((($31) + (($33*304)|0)|0)) + 20|0); - $41 = +HEAPF32[$40>>2]; - $42 = $41 < 0.0; - if (!($42)) { - $43 = (+_jar_xm_next_of_sample($32)); - $44 = (((($31) + (($33*304)|0)|0)) + 152|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - $47 = HEAP32[$34>>2]|0; - $48 = ((($47)) + 272|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = (((($31) + (($33*304)|0)|0)) + 300|0); - $52 = +HEAPF32[$51>>2]; - $53 = $43 * $52; - $54 = (((($31) + (($33*304)|0)|0)) + 296|0); - $55 = +HEAPF32[$54>>2]; - $56 = 1.0 - $55; - $57 = $53 * $56; - $58 = +HEAPF32[$1>>2]; - $59 = $58 + $57; - HEAPF32[$1>>2] = $59; - $60 = +HEAPF32[$51>>2]; - $61 = $43 * $60; - $62 = +HEAPF32[$54>>2]; - $63 = $61 * $62; - $64 = +HEAPF32[$2>>2]; - $65 = $64 + $63; - HEAPF32[$2>>2] = $65; - } - } - $66 = (((($31) + (($33*304)|0)|0)) + 164|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - $69 = (((($31) + (($33*304)|0)|0)) + 300|0); - $70 = +HEAPF32[$69>>2]; - $71 = (((($31) + (($33*304)|0)|0)) + 160|0); - $72 = +HEAPF32[$71>>2]; - $73 = $70 > $72; - if ($73) { - $74 = +HEAPF32[$18>>2]; - $75 = $70 - $74; - HEAPF32[$69>>2] = $75; - $76 = $75 < $72; - if ($76) { - HEAPF32[$69>>2] = $72; - } - } else { - $77 = $70 < $72; - if ($77) { - $78 = +HEAPF32[$21>>2]; - $79 = $70 + $78; - HEAPF32[$69>>2] = $79; - $80 = $79 > $72; - if ($80) { - HEAPF32[$69>>2] = $72; - } - } - } - $81 = (((($31) + (($33*304)|0)|0)) + 296|0); - $82 = +HEAPF32[$81>>2]; - $83 = (((($31) + (($33*304)|0)|0)) + 156|0); - $84 = +HEAPF32[$83>>2]; - $85 = $82 > $84; - if ($85) { - $86 = +HEAPF32[$19>>2]; - $87 = $82 - $86; - HEAPF32[$81>>2] = $87; - $88 = $87 < $84; - if (!($88)) { - break; - } - HEAPF32[$81>>2] = $84; - break; - } - $89 = $82 < $84; - if ($89) { - $90 = +HEAPF32[$20>>2]; - $91 = $82 + $90; - HEAPF32[$81>>2] = $91; - $92 = $91 > $84; - if ($92) { - HEAPF32[$81>>2] = $84; - } - } - } - } - } - } while(0); - $93 = (($$072) + 1)<<24>>24; - $94 = $93&255; - $95 = HEAP16[$14>>1]|0; - $96 = $95&65535; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - $$072 = $93;$33 = $94; - } else { - break; - } - } - } - $22 = ((($0)) + 332|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 336|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - $27 = +HEAPF32[$1>>2]; - $28 = $27 * $26; - HEAPF32[$1>>2] = $28; - $29 = +HEAPF32[$2>>2]; - $30 = $26 * $29; - HEAPF32[$2>>2] = $30; - return; -} -function _jar_xm_tick($0) { - $0 = $0|0; - var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 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; - var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.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; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0.0; - var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.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; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; - var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; - var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.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 $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, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 350|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - _jar_xm_row($0); - } - $4 = ((($0)) + 50|0); - $5 = HEAP16[$4>>1]|0; - $6 = ($5<<16>>16)==(0); - L4: do { - if (!($6)) { - $7 = ((($0)) + 388|0); - $8 = ((($0)) + 328|0); - $9 = ((($0)) + 332|0); - $$0195202 = 0;$23 = 0; - while(1) { - $21 = HEAP32[$7>>2]|0; - $22 = (($21) + (($23*304)|0)|0); - _jar_xm_envelopes($22); - _jar_xm_autovibrato($0,$22); - $24 = (((($21) + (($23*304)|0)|0)) + 76|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0); - do { - if (!($26)) { - $27 = (((($21) + (($23*304)|0)|0)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($28)) + 4|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - break; - } - } - HEAP32[$24>>2] = 0; - $35 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$35>>0] = 0; - _jar_xm_update_frequency($0,$22); - } - } while(0); - $36 = (((($21) + (($23*304)|0)|0)) + 100|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0); - if (!($38)) { - $39 = (((($21) + (($23*304)|0)|0)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($40)) + 3|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(4); - if (!($43)) { - $44 = ((($40)) + 4|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(6); - if (!($46)) { - $47 = ((($40)) + 2|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48 & -16; - $50 = ($49<<24>>24)==(-80); - if (!($50)) { - $51 = (((($21) + (($23*304)|0)|0)) + 116|0); - HEAP32[$36>>2] = 0; - HEAPF32[$51>>2] = 0.0; - _jar_xm_update_frequency($0,$22); - } - } - } - } - $52 = (((($21) + (($23*304)|0)|0)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 2|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $trunc = ($55&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 6: { - $57 = HEAP16[$1>>1]|0; - $58 = ($57<<16>>16)==(0); - if (!($58)) { - $59 = $56 & 15; - $60 = $59&255; - _jar_xm_volume_slide($22,$60); - } - break; - } - case 7: { - $61 = HEAP16[$1>>1]|0; - $62 = ($61<<16>>16)==(0); - if (!($62)) { - $63 = $56 << 4; - $64 = $63&255; - _jar_xm_volume_slide($22,$64); - } - break; - } - case 11: { - $65 = HEAP16[$1>>1]|0; - $66 = ($65<<16>>16)==(0); - if (!($66)) { - HEAP32[$36>>2] = 0; - $67 = (((($21) + (($23*304)|0)|0)) + 112|0); - $68 = HEAP8[$67>>0]|0; - $69 = (((($21) + (($23*304)|0)|0)) + 114|0); - $70 = HEAP16[$69>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$69>>1] = $71; - _jar_xm_vibrato($0,$22,$68,$70); - } - break; - } - case 13: { - $72 = HEAP16[$1>>1]|0; - $73 = ($72<<16>>16)==(0); - if (!($73)) { - $74 = $56 & 15; - $75 = $74&255; - _jar_xm_panning_slide($22,$75); - } - break; - } - case 14: { - $76 = HEAP16[$1>>1]|0; - $77 = ($76<<16>>16)==(0); - if (!($77)) { - $78 = $56 << 4; - $79 = $78&255; - _jar_xm_panning_slide($22,$79); - } - break; - } - case 15: { - $80 = HEAP16[$1>>1]|0; - $81 = ($80<<16>>16)==(0); - if (!($81)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - default: { - } - } - $82 = HEAP32[$52>>2]|0; - $83 = ((($82)) + 3|0); - $84 = HEAP8[$83>>0]|0; - L34: do { - switch ($84<<24>>24) { - case 0: { - $85 = ((($82)) + 4|0); - $86 = HEAP8[$85>>0]|0; - $87 = ($86<<24>>24)==(0); - if (!($87)) { - $88 = HEAP16[$8>>1]|0; - $89 = (($88&65535) % 3)&-1; - $90 = $89&65535; - $trunc200 = $89&255; - $trunc200$clear = $trunc200 & 3; - switch ($trunc200$clear<<24>>24) { - case 2: { - $91 = HEAP16[$1>>1]|0; - $92 = ($91<<16>>16)==(1); - if ($92) { - HEAP32[$24>>2] = 1; - $93 = ($86&255) >>> 4; - $94 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$94>>0] = $93; - _jar_xm_update_frequency($0,$22); - break L34; - } else { - $96 = $91; - label = 34; - } - break; - } - case 1: { - $$pr = HEAP16[$1>>1]|0; - $96 = $$pr; - label = 34; - break; - } - case 0: { - break; - } - default: { - break L34; - } - } - if ((label|0) == 34) { - label = 0; - $95 = ($96<<16>>16)==(0); - if ($95) { - HEAP32[$24>>2] = 0; - $97 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$97>>0] = 0; - _jar_xm_update_frequency($0,$22); - break L34; - } - } - $98 = HEAP32[$52>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP8[$99>>0]|0; - $101 = HEAP16[$1>>1]|0; - $102 = $101&65535; - $103 = (($102) - ($90))|0; - $104 = $103&65535; - _jar_xm_arpeggio($0,$22,$100,$104); - } - break; - } - case 1: { - $105 = HEAP16[$1>>1]|0; - $106 = ($105<<16>>16)==(0); - if (!($106)) { - $107 = (((($21) + (($23*304)|0)|0)) + 85|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (0 - ($109))|0; - $111 = (+($110|0)); - _jar_xm_pitch_slide($0,$22,$111); - } - break; - } - case 2: { - $112 = HEAP16[$1>>1]|0; - $113 = ($112<<16>>16)==(0); - if (!($113)) { - $114 = (((($21) + (($23*304)|0)|0)) + 86|0); - $115 = HEAP8[$114>>0]|0; - $116 = (+($115&255)); - _jar_xm_pitch_slide($0,$22,$116); - } - break; - } - case 3: { - $117 = HEAP16[$1>>1]|0; - $118 = ($117<<16>>16)==(0); - if (!($118)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - case 4: { - $119 = HEAP16[$1>>1]|0; - $120 = ($119<<16>>16)==(0); - if (!($120)) { - HEAP32[$36>>2] = 1; - $121 = (((($21) + (($23*304)|0)|0)) + 112|0); - $122 = HEAP8[$121>>0]|0; - $123 = (((($21) + (($23*304)|0)|0)) + 114|0); - $124 = HEAP16[$123>>1]|0; - $125 = (($124) + 1)<<16>>16; - HEAP16[$123>>1] = $125; - _jar_xm_vibrato($0,$22,$122,$124); - } - break; - } - case 5: { - $126 = HEAP16[$1>>1]|0; - $127 = ($126<<16>>16)==(0); - if (!($127)) { - $128 = (((($21) + (($23*304)|0)|0)) + 81|0); - _jar_xm_tone_portamento($0,$22); - $129 = HEAP8[$128>>0]|0; - _jar_xm_volume_slide($22,$129); - } - break; - } - case 6: { - $130 = HEAP16[$1>>1]|0; - $131 = ($130<<16>>16)==(0); - if (!($131)) { - HEAP32[$36>>2] = 1; - $132 = (((($21) + (($23*304)|0)|0)) + 112|0); - $133 = HEAP8[$132>>0]|0; - $134 = (((($21) + (($23*304)|0)|0)) + 114|0); - $135 = HEAP16[$134>>1]|0; - $136 = (($135) + 1)<<16>>16; - HEAP16[$134>>1] = $136; - _jar_xm_vibrato($0,$22,$133,$135); - $137 = (((($21) + (($23*304)|0)|0)) + 81|0); - $138 = HEAP8[$137>>0]|0; - _jar_xm_volume_slide($22,$138); - } - break; - } - case 7: { - $139 = HEAP16[$1>>1]|0; - $140 = ($139<<16>>16)==(0); - if (!($140)) { - $141 = (((($21) + (($23*304)|0)|0)) + 128|0); - $142 = HEAP8[$141>>0]|0; - $143 = (((($21) + (($23*304)|0)|0)) + 129|0); - $144 = HEAP8[$143>>0]|0; - $145 = (($144) + 1)<<24>>24; - HEAP8[$143>>0] = $145; - $146 = $144&255; - _jar_xm_tremolo($22,$142,$146); - } - break; - } - case 10: { - $147 = HEAP16[$1>>1]|0; - $148 = ($147<<16>>16)==(0); - if (!($148)) { - $149 = (((($21) + (($23*304)|0)|0)) + 81|0); - $150 = HEAP8[$149>>0]|0; - _jar_xm_volume_slide($22,$150); - } - break; - } - case 14: { - $151 = ((($82)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $trunc199 = ($152&255) >>> 4; - $trunc199$clear = $trunc199 & 15; - switch ($trunc199$clear<<24>>24) { - case 9: { - $154 = HEAP16[$1>>1]|0; - $155 = $154&65535; - $156 = ($154<<16>>16)==(0); - if ($156) { - break L34; - } - $157 = $153 & 15; - $158 = ($157|0)==(0); - if ($158) { - break L34; - } - $159 = (($155>>>0) % ($157>>>0))&-1; - $160 = ($159|0)==(0); - if (!($160)) { - break L34; - } - _jar_xm_trigger_note($0,$22,0); - _jar_xm_envelopes($22); - break L34; - break; - } - case 12: { - $161 = $153 & 15; - $162 = HEAP16[$1>>1]|0; - $163 = $162&65535; - $164 = ($161|0)==($163|0); - if (!($164)) { - break L34; - } - _jar_xm_cut_note($22); - break L34; - break; - } - case 13: { - $165 = (((($21) + (($23*304)|0)|0)) + 97|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = HEAP16[$1>>1]|0; - $169 = $168&65535; - $170 = ($167|0)==($169|0); - if (!($170)) { - break L34; - } - _jar_xm_handle_note_and_instrument($0,$22,$82); - _jar_xm_envelopes($22); - break L34; - break; - } - default: { - break L34; - } - } - break; - } - case 17: { - $171 = HEAP16[$1>>1]|0; - $172 = ($171<<16>>16)==(0); - if (!($172)) { - $173 = (((($21) + (($23*304)|0)|0)) + 83|0); - $174 = HEAP8[$173>>0]|0; - $175 = $174&255; - $176 = $175 & 240; - $177 = ($176|0)!=(0); - $$not = $177 ^ 1; - $178 = $175 & 15; - $179 = ($178|0)==(0); - $or$cond = $179 | $$not; - if ($or$cond) { - $180 = +HEAPF32[$9>>2]; - if ($177) { - $181 = $175 >>> 4; - $182 = (+($181|0)); - $183 = $182 * 0.015625; - $184 = $183 + $180; - $185 = $184 > 1.0; - $storemerge198 = $185 ? 1.0 : $184; - HEAPF32[$9>>2] = $storemerge198; - break L34; - } else { - $186 = (+($178|0)); - $187 = $186 * 0.015625; - $188 = $180 - $187; - $189 = $188 < 0.0; - $storemerge = $189 ? 0.0 : $188; - HEAPF32[$9>>2] = $storemerge; - break L34; - } - } - } - break; - } - case 20: { - $190 = HEAP16[$1>>1]|0; - $191 = $190&65535; - $192 = ((($82)) + 4|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $195 = ($191|0)==($194|0); - if ($195) { - _jar_xm_key_off($22); - } - break; - } - case 25: { - $196 = HEAP16[$1>>1]|0; - $197 = ($196<<16>>16)==(0); - if (!($197)) { - $198 = (((($21) + (($23*304)|0)|0)) + 84|0); - $199 = HEAP8[$198>>0]|0; - _jar_xm_panning_slide($22,$199); - } - break; - } - case 27: { - $200 = HEAP16[$1>>1]|0; - $201 = $200&65535; - $202 = ($200<<16>>16)==(0); - if (!($202)) { - $203 = (((($21) + (($23*304)|0)|0)) + 96|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = $205 & 15; - $207 = ($206|0)==(0); - if (!($207)) { - $208 = (($201>>>0) % ($206>>>0))&-1; - $209 = ($208|0)==(0); - if ($209) { - $210 = (((($21) + (($23*304)|0)|0)) + 40|0); - $211 = +HEAPF32[$210>>2]; - $212 = $205 >>> 4; - $213 = (2980 + ($212<<2)|0); - $214 = +HEAPF32[$213>>2]; - $215 = $211 * $214; - $216 = (3044 + ($212<<2)|0); - $217 = +HEAPF32[$216>>2]; - $218 = $215 + $217; - $219 = $218 > 1.0; - if ($219) { - $$0196 = 1.0; - } else { - $220 = $218 < 0.0; - if ($220) { - $$0196 = 0.0; - } else { - $$0196 = $218; - } - } - _jar_xm_trigger_note($0,$22,0); - HEAPF32[$210>>2] = $$0196; - } - } - } - break; - } - case 29: { - $221 = HEAP16[$1>>1]|0; - $222 = ($221<<16>>16)==(0); - if (!($222)) { - $223 = $221&65535; - $224 = (($223) + -1)|0; - $225 = (((($21) + (($23*304)|0)|0)) + 136|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = $227 >>> 4; - $229 = $227 & 15; - $230 = (($229) + 2)|0; - $231 = (($230) + ($228))|0; - $232 = (($224|0) % ($231|0))&-1; - $233 = ($232|0)>($228|0); - $234 = $233&1; - $235 = (((($21) + (($23*304)|0)|0)) + 140|0); - HEAP32[$235>>2] = $234; - } - break; - } - default: { - } - } - } while(0); - $236 = (((($21) + (($23*304)|0)|0)) + 44|0); - $237 = +HEAPF32[$236>>2]; - $238 = (((($21) + (($23*304)|0)|0)) + 64|0); - $239 = +HEAPF32[$238>>2]; - $240 = $239 + -0.5; - $241 = $237 + -0.5; - $242 = (+Math_abs((+$241))); - $243 = 0.5 - $242; - $244 = $240 * $243; - $245 = $244 * 2.0; - $246 = $237 + $245; - $247 = (((($21) + (($23*304)|0)|0)) + 140|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)==(0); - if ($249) { - $250 = (((($21) + (($23*304)|0)|0)) + 40|0); - $251 = +HEAPF32[$250>>2]; - $252 = (((($21) + (($23*304)|0)|0)) + 132|0); - $253 = +HEAPF32[$252>>2]; - $254 = $251 + $253; - $255 = $254 > 1.0; - if ($255) { - $$0 = 1.0; - } else { - $256 = $254 < 0.0; - if ($256) { - $$0 = 0.0; - } else { - $$0 = $254; - } - } - $257 = (((($21) + (($23*304)|0)|0)) + 56|0); - $258 = +HEAPF32[$257>>2]; - $259 = (((($21) + (($23*304)|0)|0)) + 60|0); - $260 = +HEAPF32[$259>>2]; - $261 = $258 * $260; - $262 = $$0 * $261; - $$1 = $262; - } else { - $$1 = 0.0; - } - $263 = (((($21) + (($23*304)|0)|0)) + 156|0); - HEAPF32[$263>>2] = $246; - $264 = (((($21) + (($23*304)|0)|0)) + 160|0); - HEAPF32[$264>>2] = $$1; - $265 = (($$0195202) + 1)<<24>>24; - $266 = $265&255; - $267 = HEAP16[$4>>1]|0; - $268 = $267&65535; - $269 = ($266>>>0)<($268>>>0); - if ($269) { - $$0195202 = $265;$23 = $266; - } else { - break L4; - } - } - } - } while(0); - $10 = HEAP16[$1>>1]|0; - $11 = (($10) + 1)<<16>>16; - HEAP16[$1>>1] = $11; - $12 = $11&65535; - $13 = ((($0)) + 328|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = ((($0)) + 378|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($18) + ($15))|0; - $20 = ($12>>>0)<($19>>>0); - if ($20) { - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; - } - HEAP16[$1>>1] = 0; - HEAP16[$16>>1] = 0; - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; -} -function _jar_xm_next_of_sample($0) { - $0 = $0|0; - var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; - var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; - var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($0)) + 20|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 < 0.0; - if (!($9)) { - $20 = ((($5)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - $$1 = 0.0; - return (+$$1); - } - $23 = (~~(($8))>>>0); - $24 = (($23) + 1)|0; - $25 = (+($23>>>0)); - $26 = $8 - $25; - $27 = ((($5)) + 72|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($23<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($5)) + 48|0); - $32 = HEAP32[$31>>2]|0; - L8: do { - switch ($32|0) { - case 0: { - $33 = ($24>>>0)<($21>>>0); - if ($33) { - $34 = (($28) + ($24<<2)|0); - $35 = +HEAPF32[$34>>2]; - $135 = $35; - } else { - $135 = 0.0; - } - $36 = ((($0)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = +HEAPF32[$7>>2]; - $39 = $37 + $38; - HEAPF32[$7>>2] = $39; - $40 = HEAP32[$4>>2]|0; - $41 = ((($40)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = (+($42>>>0)); - $44 = !($39 >= $43); - if ($44) { - $$0100 = $30;$$0101 = $135; - } else { - HEAPF32[$7>>2] = -1.0; - $$0100 = $30;$$0101 = $135; - } - break; - } - case 1: { - $45 = ((($5)) + 36|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($24|0)==($46|0); - if ($47) { - $48 = ((($5)) + 28|0); - $49 = HEAP32[$48>>2]|0; - $51 = $49; - } else { - $51 = $24; - } - $50 = (($28) + ($51<<2)|0); - $52 = +HEAPF32[$50>>2]; - $53 = ((($0)) + 32|0); - $54 = +HEAPF32[$53>>2]; - $55 = +HEAPF32[$7>>2]; - $56 = $54 + $55; - HEAPF32[$7>>2] = $56; - $57 = HEAP32[$4>>2]|0; - $58 = ((($57)) + 36|0); - $59 = HEAP32[$58>>2]|0; - $60 = (+($59>>>0)); - $61 = !($56 >= $60); - if ($61) { - $$0100 = $30;$$0101 = $52; - } else { - $62 = HEAP32[$4>>2]|0; - $63 = ((($62)) + 36|0); - $64 = HEAP32[$63>>2]|0; - $65 = (+($64>>>0)); - $67 = $57;$storemerge106 = $56; - while(1) { - $66 = ((($67)) + 32|0); - $68 = HEAP32[$66>>2]|0; - $69 = (+($68>>>0)); - $70 = $storemerge106 - $69; - $71 = !($70 >= $65); - if ($71) { - break; - } else { - $67 = $62;$storemerge106 = $70; - } - } - HEAPF32[$7>>2] = $70; - $$0100 = $30;$$0101 = $52; - } - break; - } - case 2: { - $72 = ((($0)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0); - $75 = ((($0)) + 32|0); - $76 = +HEAPF32[$75>>2]; - $77 = -$76; - $$sink$p = $74 ? $76 : $77; - $$sink = $8 + $$sink$p; - HEAPF32[$7>>2] = $$sink; - if ($74) { - $78 = HEAP32[$4>>2]|0; - $79 = ((($78)) + 36|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($24>>>0)>=($80>>>0); - $82 = ((($78)) + 72|0); - $83 = HEAP32[$82>>2]|0; - $$sink2 = $81 ? $23 : $24; - $84 = (($83) + ($$sink2<<2)|0); - $85 = +HEAPF32[$84>>2]; - $86 = (+($80>>>0)); - $87 = !($$sink >= $86); - if (!($87)) { - $88 = $80 << 1; - $89 = (+($88>>>0)); - HEAP32[$72>>2] = 0; - $90 = +HEAPF32[$7>>2]; - $91 = $89 - $90; - HEAPF32[$7>>2] = $91; - } - $92 = +HEAPF32[$7>>2]; - $93 = ((($78)) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = (+($94>>>0)); - $96 = !($92 >= $95); - if ($96) { - $$0100 = $30;$$0101 = $85; - break L8; - } - $97 = (($94) + -1)|0; - $98 = (+($97>>>0)); - $99 = $92 - $98; - HEAP32[$72>>2] = 0; - HEAPF32[$7>>2] = $99; - $$0100 = $30;$$0101 = $85; - break L8; - } - $100 = ($23|0)==(0); - if ($100) { - label = 24; - } else { - $101 = (($23) + -1)|0; - $102 = HEAP32[$4>>2]|0; - $103 = ((($102)) + 28|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($101>>>0)>($104>>>0); - if ($105) { - $$sink103 = $101;$$sink105 = $102; - } else { - label = 24; - } - } - if ((label|0) == 24) { - $106 = HEAP32[$4>>2]|0; - $$sink103 = $23;$$sink105 = $106; - } - $107 = ((($$sink105)) + 72|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($108) + ($$sink103<<2)|0); - $110 = +HEAPF32[$109>>2]; - $111 = +HEAPF32[$7>>2]; - $112 = HEAP32[$4>>2]|0; - $113 = ((($112)) + 28|0); - $114 = HEAP32[$113>>2]|0; - $115 = (+($114>>>0)); - $116 = !($111 <= $115); - $117 = $114 << 1; - $118 = (+($117>>>0)); - $119 = $118 - $111; - if ($116) { - $$pr = +HEAPF32[$7>>2]; - $121 = $$pr; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = $119; - $121 = $119; - } - $120 = !($121 <= 0.0); - if ($120) { - $$0100 = $110;$$0101 = $30; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = 0.0; - $$0100 = $110;$$0101 = $30; - } - break; - } - default: { - $$0100 = $30;$$0101 = 0.0; - } - } - } while(0); - $122 = $$0101 - $$0100; - $123 = $26 * $122; - $124 = $$0100 + $123; - $125 = ((($0)) + 164|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126>>>0)<(32); - if (!($127)) { - $$1 = $124; - return (+$$1); - } - $128 = (+($126>>>0)); - $129 = $128 * 0.03125; - $130 = (((($0)) + 168|0) + ($126<<2)|0); - $131 = +HEAPF32[$130>>2]; - $132 = $124 - $131; - $133 = $129 * $132; - $134 = $131 + $133; - $$1 = $134; - return (+$$1); - } - } - } - $10 = ((($0)) + 164|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11>>>0)<(32); - if (!($12)) { - $$1 = 0.0; - return (+$$1); - } - $13 = (+($11>>>0)); - $14 = $13 * 0.03125; - $15 = (((($0)) + 168|0) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = 0.0 - $16; - $18 = $14 * $17; - $19 = $16 + $18; - $$1 = $19; - return (+$$1); -} -function _jar_xm_row($0) { - $0 = $0|0; - var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$mask = 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; - 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, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $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, $76 = 0, $77 = 0; - var $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 368|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - $11 = ((($0)) + 372|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - $14 = ((($0)) + 348|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($15) + 1)<<24>>24; - HEAP8[$14>>0] = $16; - $17 = ((($0)) + 377|0); - $18 = HEAP8[$17>>0]|0; - $19 = ((($0)) + 349|0); - HEAP8[$19>>0] = $18; - HEAP32[$11>>2] = 0; - HEAP8[$17>>0] = 0; - _jar_xm_post_pattern_change($0); - } - } else { - $4 = ((($0)) + 376|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 348|0); - HEAP8[$6>>0] = $5; - $7 = ((($0)) + 377|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($0)) + 349|0); - HEAP8[$9>>0] = $8; - HEAP32[$1>>2] = 0; - $10 = ((($0)) + 372|0); - HEAP32[$10>>2] = 0; - HEAP8[$7>>0] = 0; - _jar_xm_post_pattern_change($0); - } - $20 = ((($0)) + 316|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($0)) + 348|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = (((($0)) + 60|0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ((($0)) + 50|0); - $29 = HEAP16[$28>>1]|0; - $30 = ($29<<16>>16)==(0); - if ($30) { - label = 15; - } else { - $31 = $29&65535; - $32 = (((($21) + ($27<<3)|0)) + 4|0); - $33 = ((($0)) + 349|0); - $34 = ((($0)) + 388|0); - $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; - while(1) { - $36 = HEAP32[$32>>2]|0; - $37 = HEAP8[$33>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $40)|0; - $41 = (($36) + (($39*5)|0)|0); - $42 = (($41) + (($43*5)|0)|0); - $44 = HEAP32[$34>>2]|0; - $45 = (($44) + (($43*304)|0)|0); - $46 = (((($44) + (($43*304)|0)|0)) + 16|0); - HEAP32[$46>>2] = $42; - $47 = ((($42)) + 3|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)==(14); - if ($49) { - $50 = ((($42)) + 4|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $$mask = $52 & 240; - $53 = ($$mask|0)==(208); - if ($53) { - $54 = $52 & 15; - $55 = $54&255; - $56 = (((($44) + (($43*304)|0)|0)) + 97|0); - HEAP8[$56>>0] = $55; - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - _jar_xm_handle_note_and_instrument($0,$45,$42); - } - $57 = ($$062|0)==(0); - if ($57) { - $58 = (((($44) + (($43*304)|0)|0)) + 99|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(0); - $$0$ = $60 ? $$062 : 1; - $$1 = $$0$; - } else { - $$1 = $$062; - } - $61 = (($$06061) + 1)<<24>>24; - $62 = $61&255; - $63 = HEAP16[$28>>1]|0; - $64 = $63&65535; - $65 = ($62>>>0)<($64>>>0); - if ($65) { - $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; - } else { - break; - } - } - $35 = ($$1|0)==(0); - if ($35) { - label = 15; - } - } - if ((label|0) == 15) { - $66 = ((($0)) + 380|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP8[$22>>0]|0; - $69 = $68&255; - $70 = $69 << 8; - $71 = ((($0)) + 349|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $70 | $73; - $75 = (($67) + ($74)|0); - $76 = HEAP8[$75>>0]|0; - $77 = (($76) + 1)<<24>>24; - HEAP8[$75>>0] = $77; - $78 = ((($0)) + 384|0); - HEAP8[$78>>0] = $76; - } - $79 = ((($0)) + 349|0); - $80 = HEAP8[$79>>0]|0; - $81 = (($80) + 1)<<24>>24; - HEAP8[$79>>0] = $81; - $82 = HEAP32[$1>>2]|0; - $83 = ($82|0)==(0); - if (!($83)) { - return; - } - $84 = ((($0)) + 372|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)==(0); - if (!($86)) { - return; - } - $87 = $81&255; - $88 = (($21) + ($27<<3)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = ($87>>>0)>=($90>>>0); - $92 = ($81<<24>>24)==(0); - $or$cond = $92 | $91; - if (!($or$cond)) { - return; - } - $93 = HEAP8[$22>>0]|0; - $94 = (($93) + 1)<<24>>24; - HEAP8[$22>>0] = $94; - $95 = ((($0)) + 377|0); - $96 = HEAP8[$95>>0]|0; - HEAP8[$79>>0] = $96; - HEAP8[$95>>0] = 0; - _jar_xm_post_pattern_change($0); - return; -} -function _jar_xm_envelopes($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - $4 = ((($2)) + 176|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = ((($0)) + 52|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($2)) + 260|0); - $11 = HEAP16[$10>>1]|0; - $12 = (+($11&65535)); - $13 = $12 * 1.52587890625E-5; - $14 = ((($0)) + 56|0); - $15 = +HEAPF32[$14>>2]; - $16 = $15 - $13; - HEAPF32[$14>>2] = $16; - $17 = $16 < 0.0; - if ($17) { - HEAPF32[$14>>2] = 0.0; - } - } - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 124|0); - $20 = ((($0)) + 68|0); - $21 = ((($0)) + 60|0); - _jar_xm_envelope_tick($0,$19,$20,$21); - } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 240|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - return; - } - $26 = ((($22)) + 188|0); - $27 = ((($0)) + 70|0); - $28 = ((($0)) + 64|0); - _jar_xm_envelope_tick($0,$26,$27,$28); - return; -} -function _jar_xm_autovibrato($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - return; - } - $5 = ((($3)) + 257|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ((($3)) + 256|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($10>>>0)<($13>>>0); - $15 = (+($9&65535)); - $16 = (+($12&255)); - $17 = $15 / $16; - $18 = $17 + 0.0; - $$ = $14 ? $18 : 1.0; - $19 = (($9) + 1)<<16>>16; - HEAP16[$8>>1] = $19; - $20 = ((($3)) + 258|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = Math_imul($22, $10)|0; - $24 = $23 >>> 2; - $25 = ((($3)) + 252|0); - $26 = HEAP32[$25>>2]|0; - $27 = $24&255; - $28 = (+_jar_xm_waveform($26,$27)); - $29 = $28 * 0.25; - $30 = HEAP8[$5>>0]|0; - $31 = (+($30&255)); - $32 = $29 * $31; - $33 = $32 / 15.0; - $34 = $$ * $33; - $35 = ((($1)) + 72|0); - HEAPF32[$35>>2] = $34; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_update_frequency($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 24|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($1)) + 80|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - $8 = ((($1)) + 116|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($1)) + 72|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 + $11; - $13 = $12; - } else { - $7 = (+($5&255)); - $13 = $7; - } - $14 = (+_jar_xm_frequency($0,$3,$13)); - $15 = ((($1)) + 28|0); - HEAPF32[$15>>2] = $14; - $16 = ((($0)) + 324|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17>>>0)); - $19 = $14 / $18; - $20 = ((($1)) + 32|0); - HEAPF32[$20>>2] = $19; - return; -} -function _jar_xm_volume_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 40|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 * 0.015625; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 * 0.015625; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_vibrato($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $3&65535; - $5 = $2&255; - $6 = $5 >>> 4; - $7 = Math_imul($4, $6)|0; - $8 = ((($1)) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = $7&255; - $11 = (+_jar_xm_waveform($9,$10)); - $12 = $11 * 2.0; - $13 = $5 & 15; - $14 = (+($13|0)); - $15 = $14 * $12; - $16 = $15 / 15.0; - $17 = ((($1)) + 116|0); - HEAPF32[$17>>2] = $16; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_panning_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 44|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 / 255.0; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 / 255.0; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_tone_portamento($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 92|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 == 0.0; - if ($4) { - return; - } - $5 = ((($1)) + 24|0); - $6 = +HEAPF32[$5>>2]; - $7 = $6 != $3; - if (!($7)) { - return; - } - $8 = $6 > $3; - if ($8) { - $9 = ((($0)) + 56|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - $12 = $11 ? 4.0 : 1.0; - $13 = ((($1)) + 91|0); - $14 = HEAP8[$13>>0]|0; - $15 = (+($14&255)); - $16 = $12 * $15; - $17 = $6 - $16; - HEAPF32[$5>>2] = $17; - $18 = $17 < $3; - if ($18) { - HEAPF32[$5>>2] = $3; - } - } else { - $19 = $6 < $3; - if ($19) { - $20 = ((($0)) + 56|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $23 = $22 ? 4.0 : 1.0; - $24 = ((($1)) + 91|0); - $25 = HEAP8[$24>>0]|0; - $26 = (+($25&255)); - $27 = $23 * $26; - $28 = $6 + $27; - HEAPF32[$5>>2] = $28; - $29 = $28 > $3; - if ($29) { - HEAPF32[$5>>2] = $3; - } - } - } - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_arpeggio($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (($3&65535) % 3)&-1; - $trunc = $4&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $5 = ((($1)) + 76|0); - HEAP32[$5>>2] = 0; - $$sink = 0; - break; - } - case 2: { - $6 = ((($1)) + 76|0); - HEAP32[$6>>2] = 1; - $7 = ($2&255) >>> 4; - $$sink = $7; - break; - } - case 1: { - $8 = ((($1)) + 76|0); - HEAP32[$8>>2] = 1; - $9 = $2 & 15; - $$sink = $9; - break; - } - default: { - _jar_xm_update_frequency($0,$1); - return; - } - } - $10 = ((($1)) + 80|0); - HEAP8[$10>>0] = $$sink; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_pitch_slide($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = $2 * 4.0; - $$ = $5 ? $6 : $2; - $7 = ((($1)) + 24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 + $$; - $10 = $9 < 0.0; - $storemerge = $10 ? 0.0 : $9; - HEAPF32[$7>>2] = $storemerge; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_tremolo($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = $1&255; - $5 = $4 >>> 4; - $6 = Math_imul($3, $5)|0; - $7 = ((($0)) + 120|0); - $8 = HEAP32[$7>>2]|0; - $9 = $6&255; - $10 = (+_jar_xm_waveform($8,$9)); - $11 = $4 & 15; - $12 = (+($11|0)); - $13 = $12 * $10; - $14 = -$13; - $15 = $14 / 15.0; - $16 = ((($0)) + 132|0); - HEAPF32[$16>>2] = $15; - return; -} -function _jar_xm_trigger_note($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $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, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $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, $65 = 0; - var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 & 4; - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($1)) + 20|0); - HEAPF32[$5>>2] = 0.0; - $6 = ((($1)) + 36|0); - HEAP32[$6>>2] = 1; - } - $7 = ((($1)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - $10 = $2 & 1; - $11 = ($10|0)==(0); - if ($11) { - $12 = ((($8)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($1)) + 40|0); - HEAP32[$14>>2] = $13; - } - $15 = ((($8)) + 52|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($1)) + 44|0); - HEAP32[$17>>2] = $16; - } - $18 = ((($1)) + 52|0); - HEAP32[$18>>2] = 1; - $19 = ((($1)) + 60|0); - HEAPF32[$19>>2] = 1.0; - $20 = ((($1)) + 56|0); - HEAPF32[$20>>2] = 1.0; - $21 = ((($1)) + 64|0); - HEAPF32[$21>>2] = 0.5; - $22 = ((($1)) + 70|0); - HEAP16[$22>>1] = 0; - $23 = ((($1)) + 68|0); - HEAP16[$23>>1] = 0; - $24 = ((($1)) + 116|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($1)) + 132|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($1)) + 140|0); - HEAP32[$26>>2] = 0; - $27 = ((($1)) + 48|0); - HEAP16[$27>>1] = 0; - $28 = ((($1)) + 108|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $31 = ((($1)) + 114|0); - HEAP16[$31>>1] = 0; - } - $32 = ((($1)) + 124|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); - if (!($34)) { - $35 = ((($1)) + 129|0); - HEAP8[$35>>0] = 0; - } - $36 = $2 & 2; - $37 = ($36|0)==(0); - if ($37) { - $38 = +HEAPF32[$1>>2]; - $39 = (+_jar_xm_period($0,$38)); - $40 = ((($1)) + 24|0); - HEAPF32[$40>>2] = $39; - _jar_xm_update_frequency($0,$1); - } - $41 = ((($0)) + 360|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ((($1)) + 144|0); - $49 = $48; - $50 = $49; - HEAP32[$50>>2] = $44; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $47; - $53 = ((($1)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if (!($55)) { - $56 = ((($54)) + 264|0); - $57 = $56; - $58 = $57; - HEAP32[$58>>2] = $44; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = $47; - } - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - return; - } - $63 = ((($61)) + 64|0); - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = $44; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $47; - return; -} -function _jar_xm_cut_note($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 40|0); - HEAPF32[$1>>2] = 0.0; - return; -} -function _jar_xm_handle_note_and_instrument($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.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, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.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; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.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, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0; - var $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, $287 = 0.0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.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; - var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $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, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $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; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $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, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; - var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; - var $415 = 0, $416 = 0, $417 = 0, $418 = 0.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; - var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $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, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - do { - if (!($5)) { - $6 = ((($1)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 3|0); - $9 = HEAP8[$8>>0]|0; - switch ($9<<24>>24) { - case 5: case 3: { - label = 4; - break; - } - default: { - $10 = ((($7)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11&255)>(239); - if ($12) { - label = 4; - } - } - } - if ((label|0) == 4) { - $13 = ((($1)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - $16 = ((($1)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _jar_xm_trigger_note($0,$1,6); - break; - } - } - } - $19 = HEAP8[$3>>0]|0; - $20 = $19&255; - $21 = ((($0)) + 54|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = ($20>>>0)>($23>>>0); - if ($24) { - _jar_xm_cut_note($1); - $25 = ((($1)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($1)) + 12|0); - HEAP32[$26>>2] = 0; - break; - } - $27 = ((($0)) + 320|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($20) + -1)|0; - $30 = (($28) + (($29*280)|0)|0); - $31 = ((($1)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = HEAP8[$2>>0]|0; - $33 = ($32<<24>>24)==(0); - if ($33) { - $34 = ((($1)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - _jar_xm_trigger_note($0,$1,4); - } - } - } - } while(0); - $37 = HEAP8[$2>>0]|0; - $$off = (($37) + -1)<<24>>24; - $38 = ($$off&255)<(96); - do { - if ($38) { - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($1)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 3|0); - $44 = HEAP8[$43>>0]|0; - $$old1 = ($40|0)!=(0|0); - switch ($44<<24>>24) { - case 5: case 3: { - if ($$old1) { - label = 16; - } - break; - } - default: { - $45 = ((($42)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = ($46&255)>(239); - $or$cond = $$old1 & $47; - if ($or$cond) { - label = 16; - } else { - $66 = ($40|0)==(0|0); - if (!($66)) { - label = 19; - } - } - } - } - if ((label|0) == 16) { - $48 = ((($1)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { - label = 19; - } else { - $51 = HEAP8[$2>>0]|0; - $52 = $51&255; - $53 = ((($49)) + 56|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54 << 24 >> 24; - $56 = (($55) + ($52))|0; - $57 = (+($56|0)); - $58 = ((($49)) + 44|0); - $59 = HEAP8[$58>>0]|0; - $60 = (+($59<<24>>24)); - $61 = $60 * 0.0078125; - $62 = $57 + $61; - $63 = $62 + -1.0; - HEAPF32[$1>>2] = $63; - $64 = (+_jar_xm_period($0,$63)); - $65 = ((($1)) + 92|0); - HEAPF32[$65>>2] = $64; - break; - } - } - if ((label|0) == 19) { - $67 = HEAP32[$39>>2]|0; - $68 = ((($67)) + 24|0); - $69 = HEAP16[$68>>1]|0; - $70 = ($69<<16>>16)==(0); - if (!($70)) { - $71 = HEAP8[$2>>0]|0; - $72 = $71&255; - $73 = (($72) + -1)|0; - $74 = (((($40)) + 26|0) + ($73)|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ((($40)) + 24|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78&65535; - $80 = ($76>>>0)<($79>>>0); - if ($80) { - $$0275 = 0; - } else { - _jar_xm_cut_note($1); - break; - } - while(1) { - $106 = (+_jar_xm_next_of_sample($1)); - $107 = (((($1)) + 168|0) + ($$0275<<2)|0); - HEAPF32[$107>>2] = $106; - $108 = (($$0275) + 1)|0; - $exitcond = ($108|0)==(32); - if ($exitcond) { - break; - } else { - $$0275 = $108; - } - } - $81 = ((($1)) + 164|0); - HEAP32[$81>>2] = 0; - $82 = ((($40)) + 276|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP8[$2>>0]|0; - $85 = $84&255; - $86 = (($85) + -1)|0; - $87 = (((($40)) + 26|0) + ($86)|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = (($83) + (($89*80)|0)|0); - $91 = ((($1)) + 12|0); - HEAP32[$91>>2] = $90; - $92 = (((($83) + (($89*80)|0)|0)) + 56|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93 << 24 >> 24; - $95 = (($94) + ($85))|0; - $96 = (+($95|0)); - $97 = (((($83) + (($89*80)|0)|0)) + 44|0); - $98 = HEAP8[$97>>0]|0; - $99 = (+($98<<24>>24)); - $100 = $99 * 0.0078125; - $101 = $96 + $100; - $102 = $101 + -1.0; - HEAPF32[$1>>2] = $102; - $103 = ((($1)) + 4|0); - HEAPF32[$103>>2] = $102; - $104 = HEAP8[$3>>0]|0; - $105 = ($104<<24>>24)==(0); - if ($105) { - _jar_xm_trigger_note($0,$1,1); - break; - } else { - _jar_xm_trigger_note($0,$1,0); - break; - } - } - } - _jar_xm_cut_note($1); - } else { - $109 = ($37<<24>>24)==(97); - if ($109) { - _jar_xm_key_off($1); - } - } - } while(0); - $110 = ((($2)) + 2|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $trunc = ($111&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 5: { - $113 = ($111&255)>(80); - if (!($113)) { - label = 31; - } - break; - } - case 4: case 3: case 2: case 1: { - label = 31; - break; - } - case 8: { - $118 = $112 & 15; - $119 = $118&255; - _jar_xm_volume_slide($1,$119); - break; - } - case 9: { - $120 = $112 << 4; - $121 = $120&255; - _jar_xm_volume_slide($1,$121); - break; - } - case 10: { - $122 = ((($1)) + 112|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123 & 15; - $125 = $124&255; - $126 = $112 << 4; - $127 = $125 | $126; - $128 = $127&255; - HEAP8[$122>>0] = $128; - break; - } - case 12: { - $129 = $112 & 15; - $130 = $129 << 4; - $131 = $130 | $129; - $132 = (+($131|0)); - $133 = $132 / 255.0; - $134 = ((($1)) + 44|0); - HEAPF32[$134>>2] = $133; - break; - } - case 15: { - $135 = $112 & 15; - $136 = ($135|0)==(0); - if (!($136)) { - $137 = ((($1)) + 91|0); - $138 = $112 << 4; - $139 = $138 | $135; - $140 = $139&255; - HEAP8[$137>>0] = $140; - } - break; - } - default: { - } - } - if ((label|0) == 31) { - $114 = (($112) + -16)|0; - $115 = (+($114|0)); - $116 = $115 * 0.015625; - $117 = ((($1)) + 40|0); - HEAPF32[$117>>2] = $116; - } - $141 = ((($2)) + 3|0); - $142 = HEAP8[$141>>0]|0; - do { - switch ($142<<24>>24) { - case 1: { - $143 = ((($2)) + 4|0); - $144 = HEAP8[$143>>0]|0; - $145 = ($144<<24>>24)==(0); - if ($145) { - return; - } - $146 = ((($1)) + 85|0); - HEAP8[$146>>0] = $144; - return; - break; - } - case 2: { - $147 = ((($2)) + 4|0); - $148 = HEAP8[$147>>0]|0; - $149 = ($148<<24>>24)==(0); - if ($149) { - return; - } - $150 = ((($1)) + 86|0); - HEAP8[$150>>0] = $148; - return; - break; - } - case 3: { - $151 = ((($2)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = ($152<<24>>24)==(0); - if ($153) { - return; - } - $154 = ((($1)) + 91|0); - HEAP8[$154>>0] = $152; - return; - break; - } - case 4: { - $155 = ((($2)) + 4|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = $157 & 15; - $159 = ($158|0)==(0); - if (!($159)) { - $160 = ((($1)) + 112|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161 & -16; - $163 = $162&255; - $164 = $163 | $158; - $165 = $164&255; - HEAP8[$160>>0] = $165; - } - $$mask266 = $157 & 240; - $166 = ($$mask266|0)==(0); - if ($166) { - return; - } - $167 = ((($1)) + 112|0); - $168 = HEAP8[$167>>0]|0; - $169 = $168 & 15; - $170 = $169&255; - $171 = $170 | $$mask266; - $172 = $171&255; - HEAP8[$167>>0] = $172; - return; - break; - } - case 5: { - $173 = ((($2)) + 4|0); - $174 = HEAP8[$173>>0]|0; - $175 = ($174<<24>>24)==(0); - if ($175) { - return; - } - $176 = ((($1)) + 81|0); - HEAP8[$176>>0] = $174; - return; - break; - } - case 6: { - $177 = ((($2)) + 4|0); - $178 = HEAP8[$177>>0]|0; - $179 = ($178<<24>>24)==(0); - if ($179) { - return; - } - $180 = ((($1)) + 81|0); - HEAP8[$180>>0] = $178; - return; - break; - } - case 7: { - $181 = ((($2)) + 4|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = $183 & 15; - $185 = ($184|0)==(0); - if (!($185)) { - $186 = ((($1)) + 128|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 & -16; - $189 = $188&255; - $190 = $189 | $184; - $191 = $190&255; - HEAP8[$186>>0] = $191; - } - $$mask265 = $183 & 240; - $192 = ($$mask265|0)==(0); - if ($192) { - return; - } - $193 = ((($1)) + 128|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194 & 15; - $196 = $195&255; - $197 = $196 | $$mask265; - $198 = $197&255; - HEAP8[$193>>0] = $198; - return; - break; - } - case 8: { - $199 = ((($2)) + 4|0); - $200 = HEAP8[$199>>0]|0; - $201 = (+($200&255)); - $202 = $201 / 255.0; - $203 = ((($1)) + 44|0); - HEAPF32[$203>>2] = $202; - return; - break; - } - case 9: { - $204 = ((($1)) + 12|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - if ($206) { - return; - } - $207 = HEAP8[$2>>0]|0; - $$off274 = (($207) + -1)<<24>>24; - $208 = ($$off274&255)<(96); - if (!($208)) { - return; - } - $209 = ((($2)) + 4|0); - $210 = HEAP8[$209>>0]|0; - $211 = $210&255; - $212 = ((($205)) + 23|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(16); - $215 = $214 ? 7 : 8; - $216 = $211 << $215; - $217 = ((($205)) + 24|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { - $221 = (+($216>>>0)); - $222 = ((($1)) + 20|0); - HEAPF32[$222>>2] = $221; - return; - } else { - $220 = ((($1)) + 20|0); - HEAPF32[$220>>2] = -1.0; - return; - } - break; - } - case 10: { - $223 = ((($2)) + 4|0); - $224 = HEAP8[$223>>0]|0; - $225 = ($224<<24>>24)==(0); - if ($225) { - return; - } - $226 = ((($1)) + 81|0); - HEAP8[$226>>0] = $224; - return; - break; - } - case 11: { - $227 = ((($2)) + 4|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = ((($0)) + 46|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231&65535; - $233 = ($229>>>0)<($232>>>0); - if (!($233)) { - return; - } - $234 = ((($0)) + 368|0); - HEAP32[$234>>2] = 1; - $235 = ((($0)) + 376|0); - HEAP8[$235>>0] = $228; - return; - break; - } - case 12: { - $236 = ((($2)) + 4|0); - $237 = HEAP8[$236>>0]|0; - $238 = ($237&255)>(64); - $phitmp263 = (+($237&255)); - $phitmp264 = $phitmp263 * 0.015625; - $239 = $238 ? 1.0 : $phitmp264; - $240 = ((($1)) + 40|0); - HEAPF32[$240>>2] = $239; - return; - break; - } - case 13: { - $241 = ((($0)) + 372|0); - HEAP32[$241>>2] = 1; - $242 = ((($2)) + 4|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = $244 >>> 4; - $246 = ($245*10)|0; - $247 = $244 & 15; - $248 = (($246) + ($247))|0; - $249 = $248&255; - $250 = ((($0)) + 377|0); - HEAP8[$250>>0] = $249; - return; - break; - } - case 14: { - $251 = ((($2)) + 4|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $trunc261 = ($252&255) >>> 4; - $trunc261$clear = $trunc261 & 15; - do { - switch ($trunc261$clear<<24>>24) { - case 1: { - $254 = $253 & 15; - $255 = ($254|0)==(0); - if (!($255)) { - $256 = $254&255; - $257 = ((($1)) + 87|0); - HEAP8[$257>>0] = $256; - } - $258 = ((($1)) + 87|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (0 - ($260))|0; - $262 = (+($261|0)); - _jar_xm_pitch_slide($0,$1,$262); - return; - break; - } - case 2: { - $263 = $253 & 15; - $264 = ($263|0)==(0); - if (!($264)) { - $265 = $263&255; - $266 = ((($1)) + 88|0); - HEAP8[$266>>0] = $265; - } - $267 = ((($1)) + 88|0); - $268 = HEAP8[$267>>0]|0; - $269 = (+($268&255)); - _jar_xm_pitch_slide($0,$1,$269); - return; - break; - } - case 4: { - $270 = $253 & 3; - $271 = ((($1)) + 104|0); - HEAP32[$271>>2] = $270; - $272 = $253 >>> 2; - $$lobit262 = $272 & 1; - $273 = $$lobit262 ^ 1; - $274 = ((($1)) + 108|0); - HEAP32[$274>>2] = $273; - return; - break; - } - case 5: { - $275 = ((($1)) + 16|0); - $276 = HEAP32[$275>>2]|0; - $277 = HEAP8[$276>>0]|0; - $278 = $277&255; - $$off273 = (($277) + -1)<<24>>24; - $279 = ($$off273&255)<(96); - if (!($279)) { - return; - } - $280 = ((($1)) + 12|0); - $281 = HEAP32[$280>>2]|0; - $282 = ($281|0)==(0|0); - if ($282) { - return; - } - $283 = ((($281)) + 56|0); - $284 = HEAP8[$283>>0]|0; - $285 = $284 << 24 >> 24; - $286 = (($285) + ($278))|0; - $287 = (+($286|0)); - $288 = $253 << 4; - $289 = $288 & 240; - $290 = (($289) + -128)|0; - $291 = (+($290|0)); - $292 = $291 * 0.0078125; - $293 = $292 + $287; - $294 = $293 + -1.0; - HEAPF32[$1>>2] = $294; - $295 = (+_jar_xm_period($0,$294)); - $296 = ((($1)) + 24|0); - HEAPF32[$296>>2] = $295; - _jar_xm_update_frequency($0,$1); - return; - break; - } - case 6: { - $297 = $253 & 15; - $298 = ($297|0)==(0); - if ($298) { - $311 = ((($0)) + 349|0); - $312 = HEAP8[$311>>0]|0; - $313 = ((($1)) + 98|0); - HEAP8[$313>>0] = $312; - $314 = ((($0)) + 377|0); - HEAP8[$314>>0] = $312; - return; - } - $299 = ((($1)) + 99|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $302 = ($297|0)==($301|0); - if ($302) { - HEAP8[$299>>0] = 0; - return; - } else { - $303 = (($300) + 1)<<24>>24; - HEAP8[$299>>0] = $303; - $304 = ((($0)) + 368|0); - HEAP32[$304>>2] = 1; - $305 = ((($1)) + 98|0); - $306 = HEAP8[$305>>0]|0; - $307 = ((($0)) + 377|0); - HEAP8[$307>>0] = $306; - $308 = ((($0)) + 348|0); - $309 = HEAP8[$308>>0]|0; - $310 = ((($0)) + 376|0); - HEAP8[$310>>0] = $309; - return; - } - break; - } - case 7: { - $315 = $253 & 3; - $316 = ((($1)) + 120|0); - HEAP32[$316>>2] = $315; - $317 = $253 >>> 2; - $$lobit = $317 & 1; - $318 = $$lobit ^ 1; - $319 = ((($1)) + 124|0); - HEAP32[$319>>2] = $318; - return; - break; - } - case 10: { - $320 = $253 & 15; - $321 = ($320|0)==(0); - if (!($321)) { - $322 = $320&255; - $323 = ((($1)) + 82|0); - HEAP8[$323>>0] = $322; - } - $324 = ((($1)) + 82|0); - $325 = HEAP8[$324>>0]|0; - $326 = $325&255; - $327 = $326 << 4; - $328 = $327&255; - _jar_xm_volume_slide($1,$328); - return; - break; - } - case 11: { - $329 = $253 & 15; - $330 = ($329|0)==(0); - if (!($330)) { - $331 = $329&255; - $332 = ((($1)) + 82|0); - HEAP8[$332>>0] = $331; - } - $333 = ((($1)) + 82|0); - $334 = HEAP8[$333>>0]|0; - _jar_xm_volume_slide($1,$334); - return; - break; - } - case 13: { - $335 = HEAP8[$2>>0]|0; - $336 = ($335<<24>>24)==(0); - if (!($336)) { - return; - } - $337 = HEAP8[$3>>0]|0; - $338 = ($337<<24>>24)==(0); - if (!($338)) { - return; - } - $339 = ((($1)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $341 = ((($340)) + 4|0); - $342 = HEAP8[$341>>0]|0; - $343 = $342 & 15; - $344 = ($343<<24>>24)==(0); - if ($344) { - _jar_xm_trigger_note($0,$1,7); - return; - } else { - $345 = ((($1)) + 4|0); - $346 = HEAP32[$345>>2]|0; - HEAP32[$1>>2] = $346; - _jar_xm_trigger_note($0,$1,1); - return; - } - break; - } - case 14: { - $347 = ((($1)) + 16|0); - $348 = HEAP32[$347>>2]|0; - $349 = ((($348)) + 4|0); - $350 = HEAP8[$349>>0]|0; - $351 = $350 & 15; - $352 = $351&255; - $353 = ((($0)) + 328|0); - $354 = HEAP16[$353>>1]|0; - $355 = $354&65535; - $356 = Math_imul($352, $355)|0; - $357 = $356&65535; - $358 = ((($0)) + 378|0); - HEAP16[$358>>1] = $357; - return; - break; - } - default: { - return; - } - } - } while(0); - break; - } - case 15: { - $359 = ((($2)) + 4|0); - $360 = HEAP8[$359>>0]|0; - $361 = ($360<<24>>24)==(0); - if ($361) { - return; - } - $362 = ($360&255)<(32); - $363 = $360&255; - if ($362) { - $364 = ((($0)) + 328|0); - HEAP16[$364>>1] = $363; - return; - } else { - $365 = ((($0)) + 330|0); - HEAP16[$365>>1] = $363; - return; - } - break; - } - case 16: { - $366 = ((($2)) + 4|0); - $367 = HEAP8[$366>>0]|0; - $368 = ($367&255)>(64); - $phitmp = (+($367&255)); - $phitmp260 = $phitmp * 0.015625; - $369 = $368 ? 1.0 : $phitmp260; - $370 = ((($0)) + 332|0); - HEAPF32[$370>>2] = $369; - return; - break; - } - case 17: { - $371 = ((($2)) + 4|0); - $372 = HEAP8[$371>>0]|0; - $373 = ($372<<24>>24)==(0); - if ($373) { - return; - } - $374 = ((($1)) + 83|0); - HEAP8[$374>>0] = $372; - return; - break; - } - case 21: { - $375 = ((($2)) + 4|0); - $376 = HEAP8[$375>>0]|0; - $377 = $376&255; - $378 = ((($1)) + 68|0); - HEAP16[$378>>1] = $377; - $379 = ((($1)) + 70|0); - HEAP16[$379>>1] = $377; - return; - break; - } - case 25: { - $380 = ((($2)) + 4|0); - $381 = HEAP8[$380>>0]|0; - $382 = ($381<<24>>24)==(0); - if ($382) { - return; - } - $383 = ((($1)) + 84|0); - HEAP8[$383>>0] = $381; - return; - break; - } - case 27: { - $384 = ((($2)) + 4|0); - $385 = HEAP8[$384>>0]|0; - $386 = $385&255; - $387 = ($385<<24>>24)==(0); - if ($387) { - return; - } - $$mask = $386 & 240; - $388 = ($$mask|0)==(0); - if ($388) { - $389 = ((($1)) + 96|0); - $390 = HEAP8[$389>>0]|0; - $391 = $390 & -16; - $392 = $391&255; - $393 = $386 & 15; - $394 = $392 | $393; - $395 = $394&255; - $$sink = $395; - } else { - $$sink = $385; - } - $396 = ((($1)) + 96|0); - HEAP8[$396>>0] = $$sink; - return; - break; - } - case 29: { - $397 = ((($2)) + 4|0); - $398 = HEAP8[$397>>0]|0; - $399 = ($398<<24>>24)==(0); - if ($399) { - return; - } - $400 = ((($1)) + 136|0); - HEAP8[$400>>0] = $398; - return; - break; - } - case 33: { - $401 = ((($2)) + 4|0); - $402 = HEAP8[$401>>0]|0; - $403 = $402&255; - $trunc259 = ($402&255) >>> 4; - $trunc259$clear = $trunc259 & 15; - switch ($trunc259$clear<<24>>24) { - case 1: { - $404 = $403 & 15; - $405 = ($404|0)==(0); - if (!($405)) { - $406 = $404&255; - $407 = ((($1)) + 89|0); - HEAP8[$407>>0] = $406; - } - $408 = ((($1)) + 89|0); - $409 = HEAP8[$408>>0]|0; - $410 = (+($409&255)); - $411 = -$410; - _jar_xm_pitch_slide($0,$1,$411); - return; - break; - } - case 2: { - $412 = $403 & 15; - $413 = ($412|0)==(0); - if (!($413)) { - $414 = $412&255; - $415 = ((($1)) + 90|0); - HEAP8[$415>>0] = $414; - } - $416 = ((($1)) + 90|0); - $417 = HEAP8[$416>>0]|0; - $418 = (+($417&255)); - _jar_xm_pitch_slide($0,$1,$418); - return; - break; - } - default: { - return; - } - } - break; - } - default: { - return; - } - } - } while(0); -} -function _jar_xm_key_off($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 52|0); - HEAP32[$1>>2] = 0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $5 = ((($3)) + 176|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - return; - } - } - _jar_xm_cut_note($0); - return; -} -function _jar_xm_period($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 56|0); - $3 = HEAP32[$2>>2]|0; - switch ($3|0) { - case 0: { - $4 = (+_jar_xm_linear_period($1)); - $$0 = $4; - break; - } - case 1: { - $5 = (+_jar_xm_amiga_period($1)); - $$0 = $5; - break; - } - default: { - $$0 = 0.0; - } - } - return (+$$0); -} -function _jar_xm_linear_period($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 * 64.0; - $2 = 7680.0 - $1; - return (+$2); -} -function _jar_xm_amiga_period($0) { - $0 = +$0; - var $$0 = 0, $$023 = 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; - var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (~~(($0))>>>0); - $2 = (($1>>>0) % 12)&-1; - $3 = $0 / 12.0; - $4 = $3 + -2.0; - $5 = (~~(($4))); - $6 = (4660 + ($2<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = (($2) + 1)|0; - $9 = (4660 + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $5 << 24 >> 24; - $12 = ($5<<24>>24)>(0); - if ($12) { - $13 = $7&65535; - $14 = $13 >>> $11; - $15 = $14&65535; - $16 = $10&65535; - $17 = $16 >>> $11; - $18 = $17&65535; - $$0 = $18;$$023 = $15; - } else { - $19 = ($5<<24>>24)<(0); - $20 = (0 - ($11))|0; - if ($19) { - $21 = $10&65535; - $22 = $21 << $20; - $23 = $7&65535; - $24 = $23 << $20; - $25 = $24&65535; - $26 = $22&65535; - $$0 = $26;$$023 = $25; - } else { - $$0 = $10;$$023 = $7; - } - } - $27 = $$023&65535; - $28 = (+($$023&65535)); - $29 = (+($1>>>0)); - $30 = $0 - $29; - $31 = $$0&65535; - $32 = (($31) - ($27))|0; - $33 = (+($32|0)); - $34 = $30 * $33; - $35 = $28 + $34; - return (+$35); -} -function _jar_xm_waveform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 63; - switch ($0|0) { - case 0: { - $3 = (+($2&255)); - $4 = $3 * 6.2831840515136719; - $5 = $4 * 0.015625; - $6 = (+Math_sin((+$5))); - $7 = -$6; - $$0 = $7; - return (+$$0); - break; - } - case 1: { - $8 = $2&255; - $9 = (32 - ($8))|0; - $10 = (+($9|0)); - $11 = $10 * 0.03125; - $$0 = $11; - return (+$$0); - break; - } - case 2: { - $12 = ($2&255)>(31); - $13 = $12 ? 1.0 : -1.0; - $$0 = $13; - return (+$$0); - break; - } - case 3: { - $14 = HEAP32[777]|0; - $15 = Math_imul($14, 1103515245)|0; - $16 = (($15) + 12345)|0; - HEAP32[777] = $16; - $17 = $16 >>> 16; - $18 = $17 & 32767; - $19 = (+($18>>>0)); - $20 = $19 * 6.103515625E-5; - $21 = $20 + -1.0; - $$0 = $21; - return (+$$0); - break; - } - case 4: { - $22 = $2&255; - $23 = (($22) + -32)|0; - $24 = (+($23|0)); - $25 = $24 * 0.03125; - $$0 = $25; - return (+$$0); - break; - } - default: { - $$0 = 0.0; - return (+$$0); - } - } - return +(0.0); -} -function _jar_xm_frequency($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.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.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; - var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - switch ($4|0) { - case 0: { - $5 = $2 * 64.0; - $6 = $1 - $5; - $7 = (+_jar_xm_linear_frequency($6)); - $$050 = $7; - return (+$$050); - break; - } - case 1: { - $8 = $2 == 0.0; - if ($8) { - $9 = (+_jar_xm_amiga_frequency($1)); - $$050 = $9; - return (+$$050); - } - $10 = $1 > 1712.0; - if ($10) { - $$051 = -1; - while(1) { - $11 = $$051 << 24 >> 24; - $12 = (0 - ($11))|0; - $13 = 1712 << $12; - $14 = (+($13|0)); - $15 = $14 < $1; - $16 = (($$051) + -1)<<24>>24; - if ($15) { - $$051 = $16; - } else { - $$253 = $$051; - break; - } - } - } else { - $17 = $1 < 856.0; - if ($17) { - $$152 = 1; - while(1) { - $18 = $$152 << 24 >> 24; - $19 = 856 >>> $18; - $20 = (+($19|0)); - $21 = $20 > $1; - $22 = (($$152) + 1)<<24>>24; - if ($21) { - $$152 = $22; - } else { - $$253 = $$152; - break; - } - } - } else { - $$253 = 0; - } - } - $23 = $$253 << 24 >> 24; - $24 = ($$253<<24>>24)>(0); - $25 = ($$253<<24>>24)<(0); - $26 = (0 - ($23))|0; - $indvars$iv = 0; - while(1) { - $27 = (4660 + ($indvars$iv<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = (($indvars$iv) + 1)|0; - $30 = (4660 + ($29<<1)|0); - $31 = HEAP16[$30>>1]|0; - if ($24) { - $32 = $28&65535; - $33 = $32 >>> $23; - $34 = $33&65535; - $35 = $31&65535; - $36 = $35 >>> $23; - $37 = $36&65535; - $$1 = $37;$$148 = $34; - } else { - if ($25) { - $38 = $31&65535; - $39 = $38 << $26; - $40 = $28&65535; - $41 = $40 << $26; - $42 = $41&65535; - $43 = $39&65535; - $$1 = $43;$$148 = $42; - } else { - $$1 = $31;$$148 = $28; - } - } - $44 = (+($$1&65535)); - $45 = !($44 <= $1); - $46 = (+($$148&65535)); - $47 = !($46 >= $1); - $or$cond = $47 | $45; - $48 = $indvars$iv&255; - if (!($or$cond)) { - $$054 = $48; - break; - } - $indvars$iv$next = (($indvars$iv) + 1)|0; - $49 = ($indvars$iv$next>>>0)<(12); - if ($49) { - $indvars$iv = $indvars$iv$next; - } else { - $$054 = 0; - break; - } - } - $50 = $$253 << 24 >> 24; - $51 = (($50) + 2)|0; - $52 = (+($51|0)); - $53 = $52 * 12.0; - $54 = (+($$054&255)); - $55 = $53 + $54; - $56 = $$148&65535; - $57 = (+($$148&65535)); - $58 = $1 - $57; - $59 = $$1&65535; - $60 = (($59) - ($56))|0; - $61 = (+($60|0)); - $62 = $58 / $61; - $63 = $55 + $62; - $64 = $63 + $2; - $65 = (+_jar_xm_amiga_period($64)); - $66 = (+_jar_xm_amiga_frequency($65)); - $$050 = $66; - return (+$$050); - break; - } - default: { - $$050 = 0.0; - return (+$$050); - } - } - return +(0.0); -} -function _jar_xm_linear_frequency($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 4608.0 - $0; - $2 = $1 / 768.0; - $exp2 = (+_llvm_exp2_f32((+$2))); - $3 = $exp2 * 8363.0; - return (+$3); -} -function _jar_xm_amiga_frequency($0) { - $0 = +$0; - var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 == 0.0; - $2 = $0 * 2.0; - $3 = 7093789.0 / $2; - $$0 = $1 ? 0.0 : $3; - return (+$$0); -} -function _jar_xm_envelope_tick($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 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; - var $27 = 0, $28 = 0, $29 = 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.0, $56 = 0.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, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($1)) + 48|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5&255)<(2); - if ($6) { - $7 = ($5<<24>>24)==(1); - if (!($7)) { - return; - } - $8 = ((($1)) + 2|0); - $9 = HEAP16[$8>>1]|0; - $10 = (+($9&65535)); - $11 = $10 * 0.015625; - HEAPF32[$3>>2] = $11; - $12 = $11 > 1.0; - if (!($12)) { - return; - } - HEAPF32[$3>>2] = 1.0; - return; - } - $13 = ((($1)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0); - if (!($15)) { - $16 = ((($1)) + 51|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($1) + ($18<<2)|0); - $20 = HEAP16[$19>>1]|0; - $21 = HEAP16[$2>>1]|0; - $22 = ($21&65535)<($20&65535); - if (!($22)) { - $23 = $21&65535; - $24 = $20&65535; - $25 = ((($1)) + 50|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (($1) + ($27<<2)|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (($23) - ($24))|0; - $32 = (($31) + ($30))|0; - $33 = $32&65535; - HEAP16[$2>>1] = $33; - } - } - $34 = HEAP8[$4>>0]|0; - $35 = ($34&255)>(2); - $36 = HEAP16[$2>>1]|0; - L15: do { - if ($35) { - $$043 = 0;$38 = 0;$41 = $36; - while(1) { - $37 = (($1) + ($38<<2)|0); - $39 = HEAP16[$37>>1]|0; - $40 = ($39&65535)>($41&65535); - if (!($40)) { - $42 = (($38) + 1)|0; - $43 = (($1) + ($42<<2)|0); - $44 = HEAP16[$43>>1]|0; - $45 = ($44&65535)<($41&65535); - if (!($45)) { - $$lcssa = $41;$$lcssa42 = $38; - break L15; - } - } - $46 = (($$043) + 1)<<24>>24; - $47 = $46&255; - $48 = HEAP8[$4>>0]|0; - $49 = $48&255; - $50 = (($49) + -2)|0; - $51 = ($47|0)<($50|0); - $52 = HEAP16[$2>>1]|0; - if ($51) { - $$043 = $46;$38 = $47;$41 = $52; - } else { - $$lcssa = $52;$$lcssa42 = $47; - break; - } - } - } else { - $$lcssa = $36;$$lcssa42 = 0; - } - } while(0); - $53 = (($1) + ($$lcssa42<<2)|0); - $54 = ((($53)) + 4|0); - $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); - $56 = $55 * 0.015625; - HEAPF32[$3>>2] = $56; - $57 = ((($0)) + 52|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = ((($1)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0); - if (!($62)) { - $63 = HEAP16[$2>>1]|0; - $64 = ((($1)) + 49|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($1) + ($66<<2)|0); - $68 = HEAP16[$67>>1]|0; - $69 = ($63<<16>>16)==($68<<16>>16); - if ($69) { - return; - } - } - } - $70 = HEAP16[$2>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$2>>1] = $71; - return; -} -function _jar_xm_envelope_lerp($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.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = HEAP16[$0>>1]|0; - $5 = $4&65535; - $6 = ($4&65535)<($2&65535); - if (!($6)) { - $7 = ((($0)) + 2|0); - $8 = HEAP16[$7>>1]|0; - $9 = (+($8&65535)); - $$0 = $9; - return (+$$0); - } - $10 = HEAP16[$1>>1]|0; - $11 = ($10&65535)>($2&65535); - $12 = ((($1)) + 2|0); - $13 = HEAP16[$12>>1]|0; - if ($11) { - $15 = $10&65535; - $16 = (($3) - ($5))|0; - $17 = (+($16|0)); - $18 = (($15) - ($5))|0; - $19 = (+($18|0)); - $20 = $17 / $19; - $21 = ((($0)) + 2|0); - $22 = HEAP16[$21>>1]|0; - $23 = (+($22&65535)); - $24 = 1.0 - $20; - $25 = $24 * $23; - $26 = (+($13&65535)); - $27 = $26 * $20; - $28 = $27 + $25; - $$0 = $28; - return (+$$0); - } else { - $14 = (+($13&65535)); - $$0 = $14; - return (+$$0); - } - return +(0.0); -} -function _jar_xm_post_pattern_change($0) { - $0 = $0|0; - var $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; - $1 = ((($0)) + 348|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ((($0)) + 46|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = ($3>>>0)<($6>>>0); - if ($7) { - return; - } - $8 = ((($0)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&255; - HEAP8[$1>>0] = $10; - return; -} -function _jar_xm_create_context_safe($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$06364 = 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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer6 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $4 = (_jar_xm_check_sanity_preload($1,$2)|0); - $5 = ($4|0)==(0); - if (!($5)) { - $6 = HEAP32[1039]|0; - HEAP32[$vararg_buffer>>2] = 9689; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $4; - (_fprintf($6,9612,$vararg_buffer)|0); - (_fflush($6)|0); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); - $8 = (_malloc($7)|0); - $9 = ($8|0)==(0|0); - $10 = ($7|0)!=(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = HEAP32[1039]|0; - HEAP32[$vararg_buffer2>>2] = 9689; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - (_fprintf($11,9716,$vararg_buffer2)|0); - (_fflush($11)|0); - $$0 = 2; - STACKTOP = sp;return ($$0|0); - } - _memset(($8|0),0,($7|0))|0; - HEAP32[$0>>2] = $8; - HEAP32[$8>>2] = $8; - $12 = ((($8)) + 392|0); - $13 = ((($8)) + 324|0); - HEAP32[$13>>2] = $3; - $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); - $15 = ((($8)) + 388|0); - HEAP32[$15>>2] = $14; - $16 = ((($8)) + 50|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = ($18*304)|0; - $20 = (($14) + ($19)|0); - $21 = ((($8)) + 332|0); - HEAPF32[$21>>2] = 1.0; - $22 = ((($8)) + 336|0); - HEAPF32[$22>>2] = 0.25; - $23 = ((($8)) + 340|0); - HEAPF32[$23>>2] = 0.0078125; - $24 = ((($8)) + 344|0); - HEAPF32[$24>>2] = 0.0078125; - $25 = HEAP16[$16>>1]|0; - $26 = ($25<<16>>16)==(0); - if (!($26)) { - $27 = HEAP32[$15>>2]|0; - $28 = HEAP16[$16>>1]|0; - $29 = $28&65535; - $$06364 = 0;$34 = 0; - while(1) { - $33 = (((($27) + (($34*304)|0)|0)) + 36|0); - HEAP32[$33>>2] = 1; - $35 = (((($27) + (($34*304)|0)|0)) + 104|0); - HEAP32[$35>>2] = 0; - $36 = (((($27) + (($34*304)|0)|0)) + 108|0); - HEAP32[$36>>2] = 1; - $37 = (((($27) + (($34*304)|0)|0)) + 120|0); - HEAP32[$37>>2] = 0; - $38 = (((($27) + (($34*304)|0)|0)) + 124|0); - HEAP32[$38>>2] = 1; - $39 = (((($27) + (($34*304)|0)|0)) + 56|0); - HEAPF32[$39>>2] = 1.0; - $40 = (((($27) + (($34*304)|0)|0)) + 60|0); - HEAPF32[$40>>2] = 1.0; - $41 = (((($27) + (($34*304)|0)|0)) + 40|0); - HEAPF32[$41>>2] = 1.0; - $42 = (((($27) + (($34*304)|0)|0)) + 64|0); - HEAPF32[$42>>2] = 0.5; - $43 = (((($27) + (($34*304)|0)|0)) + 44|0); - HEAPF32[$43>>2] = 0.5; - $44 = (((($27) + (($34*304)|0)|0)) + 300|0); - HEAPF32[$44>>2] = 0.0; - $45 = (((($27) + (($34*304)|0)|0)) + 296|0); - HEAPF32[$45>>2] = 0.5; - $46 = (($$06364) + 1)<<24>>24; - $47 = $46&255; - $48 = ($47>>>0)<($29>>>0); - if ($48) { - $$06364 = $46;$34 = $47; - } else { - break; - } - } - } - $30 = ((($8)) + 380|0); - HEAP32[$30>>2] = $20; - $31 = (_jar_xm_check_sanity_postload($8)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = HEAP32[1039]|0; - HEAP32[$vararg_buffer6>>2] = 9689; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $31; - (_fprintf($49,9760,$vararg_buffer6)|0); - (_fflush($49)|0); - _jar_xm_free_context($8); - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _jar_xm_check_sanity_preload($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 = ($1>>>0)<(60); - if ($2) { - $$0 = 4; - return ($$0|0); - } - $3 = (_memcmp(9977,$0,17)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = ((($0)) + 37|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(26); - if (!($7)) { - $$0 = 2; - return ($$0|0); - } - $8 = ((($0)) + 59|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(1); - if ($10) { - $11 = ((($0)) + 58|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(4); - $$ = $13 ? 0 : 3; - return ($$|0); - } else { - $$0 = 3; - return ($$0|0); - } - return (0)|0; -} -function _jar_xm_get_memory_needed_for_context($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; - var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 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; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; - var $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, $287 = 0, $288 = 0, $289 = 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, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(68); - $3 = ($1>>>0)>(69); - if ($2) { - $4 = ((($0)) + 68|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $12 = $6; - } else { - $12 = 0; - } - do { - if ($3) { - $7 = ((($0)) + 69|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 << 8; - $11 = $10 | $12; - $13 = ($1|0)==(70); - do { - if ($13) { - $$ph = 0;$$ph233 = 0;$$ph234 = 0; - } else { - $14 = ((($0)) + 70|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($1>>>0)>(71); - if (!($17)) { - $18 = $16 << 3; - $$ph = $18;$$ph233 = 0;$$ph234 = $16; - break; - } - $19 = ((($0)) + 71|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 << 8; - $23 = $22 | $16; - $24 = $23 << 3; - $25 = ($1|0)==(72); - if ($25) { - $$ph = $24;$$ph233 = 0;$$ph234 = $23; - } else { - $26 = ((($0)) + 72|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = ($1>>>0)>(73); - if ($29) { - $30 = ((($0)) + 73|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $phitmp294 = $32 << 8; - $$ph228 = $phitmp294; - } else { - $$ph228 = 0; - } - $33 = $$ph228 | $28; - $34 = ($33*280)|0; - $35 = (($34) + ($24))|0; - $$ph = $35;$$ph233 = $33;$$ph234 = $23; - } - } - } while(0); - $37 = ((($0)) + 64|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; - label = 14; - } else { - $36 = ($1>>>0)>(64); - if ($36) { - $40 = ((($0)) + 64|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($1|0)==(65); - if ($43) { - $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; - label = 15; - break; - } else { - $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; - label = 14; - break; - } - } - $61 = ($1>>>0)>(62); - if (!($61)) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } - $62 = ((($0)) + 61|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 << 8; - $66 = ((($0)) + 60|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $65 | $68; - $70 = ((($0)) + 62|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($1|0)==(63); - if ($73) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; - } - } - } while(0); - if ((label|0) == 14) { - $44 = ((($0)) + 65|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $phitmp = $46 << 8; - $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; - label = 15; - } - if ((label|0) == 15) { - $47 = $$ph242 | $$ph237; - $48 = $47 << 8; - $49 = (($48) + ($$ph241))|0; - $50 = ((($0)) + 60|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = ((($0)) + 61|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $55 << 8; - $57 = $56 | $52; - $58 = ((($0)) + 62|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; - } - $74 = ((($0)) + 63|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = $76 << 8; - $78 = $77 | $79; - $80 = $78 << 16; - $81 = $80 | $82; - $83 = (($81) + 60)|0; - $84 = ($85|0)==(0); - if ($84) { - $$0$lcssa = $289;$$0209$lcssa = $83; - } else { - $86 = ($87*5)|0; - $$0209274 = $83;$$0216273 = 0;$$0275 = $289; - while(1) { - $90 = (($$0209274) + 5)|0; - $91 = ($90>>>0)<($1>>>0); - if ($91) { - $92 = (($0) + ($90)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $103 = $94; - } else { - $103 = 0; - } - $95 = (($$0209274) + 6)|0; - $96 = ($95>>>0)<($1>>>0); - if ($96) { - $97 = (($0) + ($95)|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $101 = $99; - } else { - $101 = 0; - } - $100 = $101 << 8; - $102 = $100 | $103; - $104 = Math_imul($86, $102)|0; - $105 = (($104) + ($$0275))|0; - $106 = ($$0209274>>>0)<($1>>>0); - if ($106) { - $107 = (($0) + ($$0209274)|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $118 = $109; - } else { - $118 = 0; - } - $110 = (($$0209274) + 1)|0; - $111 = ($110>>>0)<($1>>>0); - if ($111) { - $112 = (($0) + ($110)|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113&255; - $116 = $114; - } else { - $116 = 0; - } - $115 = $116 << 8; - $117 = $115 | $118; - $119 = (($$0209274) + 2)|0; - $120 = ($119>>>0)<($1>>>0); - if ($120) { - $121 = (($0) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $132 = $123; - } else { - $132 = 0; - } - $124 = (($$0209274) + 3)|0; - $125 = ($124>>>0)<($1>>>0); - if ($125) { - $126 = (($0) + ($124)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $130 = $128; - } else { - $130 = 0; - } - $129 = $130 << 8; - $131 = $129 | $132; - $133 = $131 << 16; - $134 = $117 | $133; - $135 = (($$0209274) + 7)|0; - $136 = ($135>>>0)<($1>>>0); - if ($136) { - $137 = (($0) + ($135)|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $148 = $139; - } else { - $148 = 0; - } - $140 = (($$0209274) + 8)|0; - $141 = ($140>>>0)<($1>>>0); - if ($141) { - $142 = (($0) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $146 = $144; - } else { - $146 = 0; - } - $145 = $146 << 8; - $147 = $145 | $148; - $149 = (($134) + ($$0209274))|0; - $150 = (($149) + ($147))|0; - $151 = (($$0216273) + 1)<<16>>16; - $152 = $151&65535; - $153 = ($152>>>0)<($85>>>0); - if ($153) { - $$0209274 = $150;$$0216273 = $151;$$0275 = $105; - } else { - $$0$lcssa = $105;$$0209$lcssa = $150; - break; - } - } - } - $88 = ($89|0)==(0); - if ($88) { - $$1$lcssa = $$0$lcssa;$155 = $87; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; - } - while(1) { - $158 = (($$1210268) + 27)|0; - $159 = ($158>>>0)<($1>>>0); - if ($159) { - $160 = (($0) + ($158)|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $171 = $162; - } else { - $171 = 0; - } - $163 = (($$1210268) + 28)|0; - $164 = ($163>>>0)<($1>>>0); - if ($164) { - $165 = (($0) + ($163)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $169 = $167; - } else { - $169 = 0; - } - $168 = $169 << 8; - $170 = $168 | $171; - $172 = ($170*80)|0; - $173 = (($172) + ($$1269))|0; - $174 = ($170|0)==(0); - if ($174) { - $$0214 = 0; - } else { - $175 = (($$1210268) + 29)|0; - $176 = ($175>>>0)<($1>>>0); - if ($176) { - $177 = (($0) + ($175)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $188 = $179; - } else { - $188 = 0; - } - $180 = (($$1210268) + 30)|0; - $181 = ($180>>>0)<($1>>>0); - if ($181) { - $182 = (($0) + ($180)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $186 = $184; - } else { - $186 = 0; - } - $185 = $186 << 8; - $187 = $185 | $188; - $189 = (($$1210268) + 31)|0; - $190 = ($189>>>0)<($1>>>0); - if ($190) { - $191 = (($0) + ($189)|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $202 = $193; - } else { - $202 = 0; - } - $194 = (($$1210268) + 32)|0; - $195 = ($194>>>0)<($1>>>0); - if ($195) { - $196 = (($0) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = $197&255; - $200 = $198; - } else { - $200 = 0; - } - $199 = $200 << 8; - $201 = $199 | $202; - $203 = $201 << 16; - $204 = $187 | $203; - $$0214 = $204; - } - $205 = ($$1210268>>>0)<($1>>>0); - if ($205) { - $206 = (($0) + ($$1210268)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$1210268) + 1)|0; - $210 = ($209>>>0)<($1>>>0); - if ($210) { - $211 = (($0) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = (($$1210268) + 2)|0; - $219 = ($218>>>0)<($1>>>0); - if ($219) { - $220 = (($0) + ($218)|0); - $221 = HEAP8[$220>>0]|0; - $222 = $221&255; - $231 = $222; - } else { - $231 = 0; - } - $223 = (($$1210268) + 3)|0; - $224 = ($223>>>0)<($1>>>0); - if ($224) { - $225 = (($0) + ($223)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $229 = $227; - } else { - $229 = 0; - } - $228 = $229 << 8; - $230 = $228 | $231; - $232 = $230 << 16; - $233 = $216 | $232; - $234 = (($233) + ($$1210268))|0; - $235 = ($170|0)==(0); - if ($235) { - $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; - } else { - $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; - while(1) { - $240 = ($$2211263>>>0)<($1>>>0); - if ($240) { - $241 = (($0) + ($$2211263)|0); - $242 = HEAP8[$241>>0]|0; - $243 = $242&255; - $252 = $243; - } else { - $252 = 0; - } - $244 = (($$2211263) + 1)|0; - $245 = ($244>>>0)<($1>>>0); - if ($245) { - $246 = (($0) + ($244)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $250 = $248; - } else { - $250 = 0; - } - $249 = $250 << 8; - $251 = $249 | $252; - $253 = (($$2211263) + 2)|0; - $254 = ($253>>>0)<($1>>>0); - if ($254) { - $255 = (($0) + ($253)|0); - $256 = HEAP8[$255>>0]|0; - $257 = $256&255; - $266 = $257; - } else { - $266 = 0; - } - $258 = (($$2211263) + 3)|0; - $259 = ($258>>>0)<($1>>>0); - if ($259) { - $260 = (($0) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264 << 8; - $265 = $263 | $266; - $267 = $265 << 16; - $268 = $251 | $267; - $269 = (($$2211263) + 14)|0; - $270 = ($269>>>0)<($1>>>0); - if ($270) { - $271 = (($0) + ($269)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $276 = $273; - } else { - $276 = 0; - } - $274 = (($268) + ($$0213261))|0; - $275 = $276 >>> 4; - $277 = $275 & 1; - $278 = (2 - ($277))|0; - $279 = $268 << $278; - $$3 = (($279) + ($$2264))|0; - $280 = (($$2211263) + ($$0214))|0; - $281 = (($$0212262) + 1)<<16>>16; - $282 = $281&65535; - $283 = ($282>>>0)<($170>>>0); - if ($283) { - $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; - } else { - $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; - break; - } - } - } - $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; - $237 = (($$0215267) + 1)<<16>>16; - $238 = $237&65535; - $239 = ($238>>>0)<($89>>>0); - if ($239) { - $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; - } else { - $$1$lcssa = $$2$lcssa;$155 = $87; - break; - } - } - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); -} -function _jar_xm_load_module($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; - var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; - var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $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, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $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; - var $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, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $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; - var $4 = 0, $40 = 0, $400 = 0, $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; - var $417 = 0, $418 = 0, $419 = 0, $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; - var $435 = 0, $436 = 0, $437 = 0, $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; - var $453 = 0, $454 = 0, $455 = 0, $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; - var $471 = 0, $472 = 0, $473 = 0, $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; - var $49 = 0, $490 = 0, $491 = 0, $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; - var $507 = 0, $508 = 0, $509 = 0, $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; - var $525 = 0, $526 = 0, $527 = 0, $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; - var $543 = 0, $544 = 0, $545 = 0, $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; - var $561 = 0, $562 = 0, $563 = 0, $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; - var $58 = 0, $580 = 0, $581 = 0, $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; - var $598 = 0, $599 = 0, $6 = 0, $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; - var $615 = 0, $616 = 0, $617 = 0, $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; - var $633 = 0, $634 = 0, $635 = 0, $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; - var $651 = 0, $652 = 0, $653 = 0, $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; - var $67 = 0, $670 = 0, $671 = 0, $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; - var $688 = 0, $689 = 0, $69 = 0, $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; - var $705 = 0, $706 = 0, $707 = 0, $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; - var $723 = 0, $724 = 0, $725 = 0, $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; - var $741 = 0, $742 = 0, $743 = 0, $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; - var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; - var $778 = 0, $779 = 0, $78 = 0, $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; - var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0.0, $802 = 0, $803 = 0.0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; - var $813 = 0, $814 = 0, $815 = 0, $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; - var $831 = 0, $832 = 0, $833 = 0, $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; - var $85 = 0, $850 = 0, $851 = 0, $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.0, $866 = 0.0, $867 = 0; - var $868 = 0, $869 = 0, $87 = 0, $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.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; - var $886 = 0, $887 = 0, $888 = 0, $889 = 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, $exitcond = 0, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; - var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($0)) + 4|0); - _memcpy_pad($4,20,$1,$2,17); - $5 = ((($0)) + 25|0); - _memcpy_pad($5,20,$1,$2,38); - $6 = ($2>>>0)>(60); - if ($6) { - $7 = ((($1)) + 60|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($2|0)==(61); - if ($10) { - $$ph700 = 0;$$ph701 = $9; - label = 5; - } else { - $11 = ((($1)) + 61|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 << 8; - $15 = $14 | $9; - $16 = ($2>>>0)>(62); - if ($16) { - $17 = ((($1)) + 62|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($2|0)==(63); - if ($20) { - $$ph700 = $19;$$ph701 = $15; - label = 5; - } else { - $23 = ((($1)) + 63|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $26 | $19; - $28 = $27 << 16; - $29 = $28 | $15; - $30 = ($2>>>0)>(64); - if ($30) { - $31 = ((($1)) + 64|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($2|0)==(65); - if ($34) { - $$ph707 = $33;$$ph708 = $29; - label = 8; - } else { - $37 = ((($1)) + 65|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 << 8; - $41 = $40 | $33; - $42 = $41&65535; - $43 = ((($0)) + 46|0); - HEAP16[$43>>1] = $42; - $44 = ($2>>>0)>(66); - if ($44) { - $45 = ((($1)) + 66|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($2|0)==(67); - if ($48) { - $$ph714 = $47;$$ph715 = $29; - label = 11; - } else { - $51 = ((($1)) + 67|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $53 << 8; - $55 = $54 | $47; - $56 = $55&65535; - $57 = ((($0)) + 48|0); - HEAP16[$57>>1] = $56; - $58 = ($2>>>0)>(68); - if ($58) { - $59 = ((($1)) + 68|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($2|0)==(69); - if ($62) { - $$ph721 = $61;$$ph722 = $29; - label = 14; - } else { - $65 = ((($1)) + 69|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 << 8; - $69 = $68 | $61; - $70 = $69&65535; - $71 = ((($0)) + 50|0); - HEAP16[$71>>1] = $70; - $72 = ($2>>>0)>(70); - if ($72) { - $73 = ((($1)) + 70|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($2|0)==(71); - if ($76) { - $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; - label = 17; - } else { - $79 = ((($1)) + 71|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = $82 | $75; - $84 = $83&65535; - $85 = ((($0)) + 52|0); - HEAP16[$85>>1] = $84; - $86 = ($2>>>0)>(72); - if ($86) { - $87 = ((($1)) + 72|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = ($2|0)==(73); - if ($90) { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; - } else { - $91 = ((($1)) + 73|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $phitmp = $93 << 8; - $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; - } - } else { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; - } - } - } else { - $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; - label = 17; - } - } - } else { - $$ph721 = 0;$$ph722 = $29; - label = 14; - } - } - } else { - $$ph714 = 0;$$ph715 = $29; - label = 11; - } - } - } else { - $$ph707 = 0;$$ph708 = $29; - label = 8; - } - } - } else { - $$ph700 = 0;$$ph701 = $15; - label = 5; - } - } - } else { - $$ph700 = 0;$$ph701 = 0; - label = 5; - } - if ((label|0) == 5) { - $21 = $$ph700 << 16; - $22 = $$ph701 | $21; - $$ph707 = 0;$$ph708 = $22; - label = 8; - } - if ((label|0) == 8) { - $35 = $$ph707&65535; - $36 = ((($0)) + 46|0); - HEAP16[$36>>1] = $35; - $$ph714 = 0;$$ph715 = $$ph708; - label = 11; - } - if ((label|0) == 11) { - $49 = $$ph714&65535; - $50 = ((($0)) + 48|0); - HEAP16[$50>>1] = $49; - $$ph721 = 0;$$ph722 = $$ph715; - label = 14; - } - if ((label|0) == 14) { - $63 = $$ph721&65535; - $64 = ((($0)) + 50|0); - HEAP16[$64>>1] = $63; - $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; - label = 17; - } - if ((label|0) == 17) { - $77 = $$ph729&65535; - $78 = ((($0)) + 52|0); - HEAP16[$78>>1] = $77; - $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; - } - $94 = $95 | $96; - $97 = $94&65535; - $98 = ((($0)) + 54|0); - HEAP16[$98>>1] = $97; - $99 = ((($0)) + 316|0); - HEAP32[$99>>2] = $3; - $100 = HEAP16[$101>>1]|0; - $102 = $100&65535; - $103 = $102 << 3; - $104 = (($3) + ($103)|0); - $105 = ((($0)) + 320|0); - HEAP32[$105>>2] = $104; - $106 = HEAP16[$98>>1]|0; - $107 = $106&65535; - $108 = ($107*280)|0; - $109 = (($104) + ($108)|0); - $110 = ($2>>>0)>(74); - if ($110) { - $112 = ((($1)) + 74|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($2>>>0)>(76); - $115 = $113 & 1; - $116 = $115 ^ 1; - $117 = $116&255; - $118 = ((($0)) + 56|0); - HEAP32[$118>>2] = $117; - if ($114) { - $119 = ($2|0)==(77); - $120 = ((($1)) + 76|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - if ($119) { - $$ph740 = $122; - label = 25; - } else { - $125 = ((($1)) + 77|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = $127 << 8; - $129 = $128 | $122; - $130 = $129&65535; - $131 = ((($0)) + 328|0); - HEAP16[$131>>1] = $130; - $132 = ($2>>>0)>(78); - if ($132) { - $133 = ((($1)) + 78|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = ($2|0)==(79); - if ($136) { - $141 = 0;$142 = $135; - } else { - $137 = ((($1)) + 79|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $phitmp804 = $139 << 8; - $141 = $phitmp804;$142 = $135; - } - } else { - $141 = 0;$142 = 0; - } - } - } else { - $$ph740 = 0; - label = 25; - } - } else { - $111 = ((($0)) + 56|0); - HEAP32[$111>>2] = 1; - $$ph740 = 0; - label = 25; - } - if ((label|0) == 25) { - $123 = $$ph740&65535; - $124 = ((($0)) + 328|0); - HEAP16[$124>>1] = $123; - $141 = 0;$142 = 0; - } - $140 = $141 | $142; - $143 = $140&65535; - $144 = ((($0)) + 330|0); - HEAP16[$144>>1] = $143; - $145 = ((($0)) + 60|0); - _memcpy_pad($145,256,$1,$2,80); - $146 = (($147) + 60)|0; - $148 = HEAP16[$101>>1]|0; - $149 = ($148<<16>>16)==(0); - if ($149) { - $$0671$lcssa = $109;$$0672$lcssa = $146; - } else { - $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; - while(1) { - $152 = (($$0672786) + 7)|0; - $153 = ($152>>>0)<($2>>>0); - if ($153) { - $154 = (($1) + ($152)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $165 = $156; - } else { - $165 = 0; - } - $157 = (($$0672786) + 8)|0; - $158 = ($157>>>0)<($2>>>0); - if ($158) { - $159 = (($1) + ($157)|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $163 = $161; - } else { - $163 = 0; - } - $162 = $163 << 8; - $164 = $162 | $165; - $166 = HEAP32[$99>>2]|0; - $167 = (($$0672786) + 5)|0; - $168 = ($167>>>0)<($2>>>0); - if ($168) { - $169 = (($1) + ($167)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $180 = $171; - } else { - $180 = 0; - } - $172 = (($$0672786) + 6)|0; - $173 = ($172>>>0)<($2>>>0); - if ($173) { - $174 = (($1) + ($172)|0); - $175 = HEAP8[$174>>0]|0; - $176 = $175&255; - $178 = $176; - } else { - $178 = 0; - } - $177 = $178 << 8; - $179 = $177 | $180; - $181 = $179&65535; - $182 = (($166) + ($183<<3)|0); - HEAP16[$182>>1] = $181; - $184 = (((($166) + ($183<<3)|0)) + 4|0); - HEAP32[$184>>2] = $$0671787; - $185 = HEAP16[$186>>1]|0; - $187 = $185&65535; - $188 = ($179*5)|0; - $189 = Math_imul($188, $187)|0; - $190 = (($$0671787) + ($189)|0); - $191 = ($$0672786>>>0)<($2>>>0); - if ($191) { - $192 = (($1) + ($$0672786)|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $203 = $194; - } else { - $203 = 0; - } - $195 = (($$0672786) + 1)|0; - $196 = ($195>>>0)<($2>>>0); - if ($196) { - $197 = (($1) + ($195)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $201 = $199; - } else { - $201 = 0; - } - $200 = $201 << 8; - $202 = $200 | $203; - $204 = (($$0672786) + 2)|0; - $205 = ($204>>>0)<($2>>>0); - if ($205) { - $206 = (($1) + ($204)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$0672786) + 3)|0; - $210 = ($209>>>0)<($2>>>0); - if ($210) { - $211 = (($1) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = $216 << 16; - $219 = $202 | $218; - $220 = (($219) + ($$0672786))|0; - $221 = ($164|0)==(0); - if ($221) { - $222 = HEAP32[$184>>2]|0; - $223 = HEAP16[$182>>1]|0; - $224 = $223&65535; - $225 = ($224*5)|0; - $226 = HEAP16[$186>>1]|0; - $227 = $226&65535; - $228 = Math_imul($225, $227)|0; - _memset(($222|0),0,($228|0))|0; - } else { - $$0682783 = 0;$$0689782 = 0;$230 = 0; - while(1) { - $229 = (($230) + ($220))|0; - $231 = ($229>>>0)<($2>>>0); - do { - if ($231) { - $235 = (($1) + ($229)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = HEAP32[$184>>2]|0; - $239 = $$0689782&65535; - $240 = (($238) + (($239*5)|0)|0); - $241 = $237 & 128; - $242 = ($241|0)==(0); - if ($242) { - $308 = $237;$309 = $240;$318 = $238;$319 = $239; - label = 77; - } else { - $243 = (($$0682783) + 1)<<16>>16; - $244 = $237 & 1; - $245 = ($244|0)==(0); - if ($245) { - HEAP8[$240>>0] = 0; - $$1683 = $243; - } else { - $246 = $243&65535; - $247 = (($246) + ($220))|0; - $248 = ($247>>>0)<($2>>>0); - if ($248) { - $249 = (($1) + ($247)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $253 = $251; - } else { - $253 = 0; - } - $252 = $253&255; - HEAP8[$240>>0] = $252; - $254 = (($$0682783) + 2)<<16>>16; - $$1683 = $254; - } - $255 = $237 & 2; - $256 = ($255|0)==(0); - if ($256) { - $267 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$267>>0] = 0; - $$2684 = $$1683; - } else { - $257 = $$1683&65535; - $258 = (($257) + ($220))|0; - $259 = ($258>>>0)<($2>>>0); - if ($259) { - $260 = (($1) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264&255; - $265 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$265>>0] = $263; - $266 = (($$1683) + 1)<<16>>16; - $$2684 = $266; - } - $268 = $237 & 4; - $269 = ($268|0)==(0); - if ($269) { - $280 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$280>>0] = 0; - $$3685 = $$2684; - } else { - $270 = $$2684&65535; - $271 = (($270) + ($220))|0; - $272 = ($271>>>0)<($2>>>0); - if ($272) { - $273 = (($1) + ($271)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $277 = $275; - } else { - $277 = 0; - } - $276 = $277&255; - $278 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$278>>0] = $276; - $279 = (($$2684) + 1)<<16>>16; - $$3685 = $279; - } - $281 = $237 & 8; - $282 = ($281|0)==(0); - if ($282) { - $293 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$293>>0] = 0; - $$4686 = $$3685; - } else { - $283 = $$3685&65535; - $284 = (($283) + ($220))|0; - $285 = ($284>>>0)<($2>>>0); - if ($285) { - $286 = (($1) + ($284)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $290 = $288; - } else { - $290 = 0; - } - $289 = $290&255; - $291 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$291>>0] = $289; - $292 = (($$3685) + 1)<<16>>16; - $$4686 = $292; - } - $294 = $237 & 16; - $295 = ($294|0)==(0); - if ($295) { - $306 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$306>>0] = 0; - $$5 = $$4686; - break; - } - $296 = $$4686&65535; - $297 = (($296) + ($220))|0; - $298 = ($297>>>0)<($2>>>0); - if ($298) { - $299 = (($1) + ($297)|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $303 = $301; - } else { - $303 = 0; - } - $302 = $303&255; - $304 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$304>>0] = $302; - $305 = (($$4686) + 1)<<16>>16; - $$5 = $305; - } - } else { - $232 = HEAP32[$184>>2]|0; - $233 = $$0689782&65535; - $234 = (($232) + (($233*5)|0)|0); - $308 = 0;$309 = $234;$318 = $232;$319 = $233; - label = 77; - } - } while(0); - if ((label|0) == 77) { - label = 0; - $307 = $308&255; - HEAP8[$309>>0] = $307; - $310 = (($229) + 1)|0; - $311 = ($310>>>0)<($2>>>0); - if ($311) { - $312 = (($1) + ($310)|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $316 = $314; - } else { - $316 = 0; - } - $315 = $316&255; - $317 = (((($318) + (($319*5)|0)|0)) + 1|0); - HEAP8[$317>>0] = $315; - $320 = (($229) + 2)|0; - $321 = ($320>>>0)<($2>>>0); - if ($321) { - $322 = (($1) + ($320)|0); - $323 = HEAP8[$322>>0]|0; - $324 = $323&255; - $326 = $324; - } else { - $326 = 0; - } - $325 = $326&255; - $327 = (((($318) + (($319*5)|0)|0)) + 2|0); - HEAP8[$327>>0] = $325; - $328 = (($229) + 3)|0; - $329 = ($328>>>0)<($2>>>0); - if ($329) { - $330 = (($1) + ($328)|0); - $331 = HEAP8[$330>>0]|0; - $332 = $331&255; - $334 = $332; - } else { - $334 = 0; - } - $333 = $334&255; - $335 = (((($318) + (($319*5)|0)|0)) + 3|0); - HEAP8[$335>>0] = $333; - $336 = (($229) + 4)|0; - $337 = ($336>>>0)<($2>>>0); - if ($337) { - $338 = (($1) + ($336)|0); - $339 = HEAP8[$338>>0]|0; - $340 = $339&255; - $342 = $340; - } else { - $342 = 0; - } - $341 = $342&255; - $343 = (((($318) + (($319*5)|0)|0)) + 4|0); - HEAP8[$343>>0] = $341; - $344 = (($230) + 5)|0; - $345 = $344&65535; - $$5 = $345; - } - $346 = (($$0689782) + 1)<<16>>16; - $347 = $$5&65535; - $348 = ($347>>>0)<($164>>>0); - if ($348) { - $$0682783 = $$5;$$0689782 = $346;$230 = $347; - } else { - break; - } - } - } - $349 = (($220) + ($164))|0; - $350 = (($$0678785) + 1)<<16>>16; - $351 = $350&65535; - $352 = HEAP16[$101>>1]|0; - $353 = ($350&65535)<($352&65535); - if ($353) { - $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; - } else { - $$0671$lcssa = $190;$$0672$lcssa = $349; - break; - } - } - } - $150 = HEAP16[$98>>1]|0; - $151 = ($150<<16>>16)==(0); - if ($151) { - $$1$lcssa = $$0671$lcssa; - return ($$1$lcssa|0); - } else { - $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; - } - while(1) { - $354 = $$0688776&65535; - $355 = HEAP32[$105>>2]|0; - $356 = (($355) + (($354*280)|0)|0); - $357 = (($$1673777) + 4)|0; - _memcpy_pad($356,22,$1,$2,$357); - $358 = (($$1673777) + 27)|0; - $359 = ($358>>>0)<($2>>>0); - if ($359) { - $360 = (($1) + ($358)|0); - $361 = HEAP8[$360>>0]|0; - $362 = $361&255; - $371 = $362; - } else { - $371 = 0; - } - $363 = (($$1673777) + 28)|0; - $364 = ($363>>>0)<($2>>>0); - if ($364) { - $365 = (($1) + ($363)|0); - $366 = HEAP8[$365>>0]|0; - $367 = $366&255; - $369 = $367; - } else { - $369 = 0; - } - $368 = $369 << 8; - $370 = $368 | $371; - $372 = $370&65535; - $373 = (((($355) + (($354*280)|0)|0)) + 24|0); - HEAP16[$373>>1] = $372; - $374 = ($370|0)==(0); - if ($374) { - $629 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$629>>2] = 0; - $$0687 = 0;$$2 = $$1778; - } else { - $375 = (($$1673777) + 29)|0; - $376 = ($375>>>0)<($2>>>0); - if ($376) { - $377 = (($1) + ($375)|0); - $378 = HEAP8[$377>>0]|0; - $379 = $378&255; - $388 = $379; - } else { - $388 = 0; - } - $380 = (($$1673777) + 30)|0; - $381 = ($380>>>0)<($2>>>0); - if ($381) { - $382 = (($1) + ($380)|0); - $383 = HEAP8[$382>>0]|0; - $384 = $383&255; - $386 = $384; - } else { - $386 = 0; - } - $385 = $386 << 8; - $387 = $385 | $388; - $389 = (($$1673777) + 31)|0; - $390 = ($389>>>0)<($2>>>0); - if ($390) { - $391 = (($1) + ($389)|0); - $392 = HEAP8[$391>>0]|0; - $393 = $392&255; - $402 = $393; - } else { - $402 = 0; - } - $394 = (($$1673777) + 32)|0; - $395 = ($394>>>0)<($2>>>0); - if ($395) { - $396 = (($1) + ($394)|0); - $397 = HEAP8[$396>>0]|0; - $398 = $397&255; - $400 = $398; - } else { - $400 = 0; - } - $399 = $400 << 8; - $401 = $399 | $402; - $403 = $401 << 16; - $404 = $387 | $403; - $405 = (((($355) + (($354*280)|0)|0)) + 26|0); - $406 = (($$1673777) + 33)|0; - _memcpy_pad($405,96,$1,$2,$406); - $407 = (($$1673777) + 225)|0; - $408 = ($407>>>0)<($2>>>0); - if ($408) { - $409 = (($1) + ($407)|0); - $410 = HEAP8[$409>>0]|0; - $411 = $410&255; - $413 = $411; - } else { - $413 = 0; - } - $412 = $413&255; - $414 = (((($355) + (($354*280)|0)|0)) + 172|0); - HEAP8[$414>>0] = $412; - $415 = (($$1673777) + 226)|0; - $416 = ($415>>>0)<($2>>>0); - if ($416) { - $417 = (($1) + ($415)|0); - $418 = HEAP8[$417>>0]|0; - $419 = $418&255; - $421 = $419; - } else { - $421 = 0; - } - $420 = $421&255; - $422 = (((($355) + (($354*280)|0)|0)) + 236|0); - HEAP8[$422>>0] = $420; - $423 = HEAP8[$414>>0]|0; - $424 = ($423<<24>>24)==(0); - if ($424) { - $427 = $420; - } else { - $425 = (($$1673777) + 129)|0; - $$0681752 = 0;$430 = 0; - while(1) { - $429 = $430 << 2; - $431 = (($425) + ($429))|0; - $432 = ($431>>>0)<($2>>>0); - if ($432) { - $433 = (($1) + ($431)|0); - $434 = HEAP8[$433>>0]|0; - $435 = $434&255; - $444 = $435; - } else { - $444 = 0; - } - $436 = (($431) + 1)|0; - $437 = ($436>>>0)<($2>>>0); - if ($437) { - $438 = (($1) + ($436)|0); - $439 = HEAP8[$438>>0]|0; - $440 = $439&255; - $442 = $440; - } else { - $442 = 0; - } - $441 = $442 << 8; - $443 = $441 | $444; - $445 = $443&65535; - $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); - HEAP16[$446>>1] = $445; - $447 = (($431) + 2)|0; - $448 = ($447>>>0)<($2>>>0); - if ($448) { - $449 = (($1) + ($447)|0); - $450 = HEAP8[$449>>0]|0; - $451 = $450&255; - $460 = $451; - } else { - $460 = 0; - } - $452 = (($431) + 3)|0; - $453 = ($452>>>0)<($2>>>0); - if ($453) { - $454 = (($1) + ($452)|0); - $455 = HEAP8[$454>>0]|0; - $456 = $455&255; - $458 = $456; - } else { - $458 = 0; - } - $457 = $458 << 8; - $459 = $457 | $460; - $461 = $459&65535; - $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); - HEAP16[$462>>1] = $461; - $463 = (($$0681752) + 1)<<24>>24; - $464 = $463&255; - $465 = HEAP8[$414>>0]|0; - $466 = ($463&255)<($465&255); - if ($466) { - $$0681752 = $463;$430 = $464; - } else { - break; - } - } - $$pr = HEAP8[$422>>0]|0; - $427 = $$pr; - } - $426 = ($427<<24>>24)==(0); - if (!($426)) { - $428 = (($$1673777) + 177)|0; - $$0680753 = 0;$470 = 0; - while(1) { - $469 = $470 << 2; - $471 = (($428) + ($469))|0; - $472 = ($471>>>0)<($2>>>0); - if ($472) { - $473 = (($1) + ($471)|0); - $474 = HEAP8[$473>>0]|0; - $475 = $474&255; - $484 = $475; - } else { - $484 = 0; - } - $476 = (($471) + 1)|0; - $477 = ($476>>>0)<($2>>>0); - if ($477) { - $478 = (($1) + ($476)|0); - $479 = HEAP8[$478>>0]|0; - $480 = $479&255; - $482 = $480; - } else { - $482 = 0; - } - $481 = $482 << 8; - $483 = $481 | $484; - $485 = $483&65535; - $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); - HEAP16[$486>>1] = $485; - $487 = (($471) + 2)|0; - $488 = ($487>>>0)<($2>>>0); - if ($488) { - $489 = (($1) + ($487)|0); - $490 = HEAP8[$489>>0]|0; - $491 = $490&255; - $500 = $491; - } else { - $500 = 0; - } - $492 = (($471) + 3)|0; - $493 = ($492>>>0)<($2>>>0); - if ($493) { - $494 = (($1) + ($492)|0); - $495 = HEAP8[$494>>0]|0; - $496 = $495&255; - $498 = $496; - } else { - $498 = 0; - } - $497 = $498 << 8; - $499 = $497 | $500; - $501 = $499&65535; - $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); - HEAP16[$502>>1] = $501; - $503 = (($$0680753) + 1)<<24>>24; - $504 = $503&255; - $505 = HEAP8[$422>>0]|0; - $506 = ($503&255)<($505&255); - if ($506) { - $$0680753 = $503;$470 = $504; - } else { - break; - } - } - } - $467 = (($$1673777) + 227)|0; - $468 = ($467>>>0)<($2>>>0); - if ($468) { - $507 = (($1) + ($467)|0); - $508 = HEAP8[$507>>0]|0; - $509 = $508&255; - $511 = $509; - } else { - $511 = 0; - } - $510 = $511&255; - $512 = (((($355) + (($354*280)|0)|0)) + 173|0); - HEAP8[$512>>0] = $510; - $513 = (($$1673777) + 228)|0; - $514 = ($513>>>0)<($2>>>0); - if ($514) { - $515 = (($1) + ($513)|0); - $516 = HEAP8[$515>>0]|0; - $517 = $516&255; - $519 = $517; - } else { - $519 = 0; - } - $518 = $519&255; - $520 = (((($355) + (($354*280)|0)|0)) + 174|0); - HEAP8[$520>>0] = $518; - $521 = (($$1673777) + 229)|0; - $522 = ($521>>>0)<($2>>>0); - if ($522) { - $523 = (($1) + ($521)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - $528 = (((($355) + (($354*280)|0)|0)) + 175|0); - HEAP8[$528>>0] = $526; - $529 = (($$1673777) + 230)|0; - $530 = ($529>>>0)<($2>>>0); - if ($530) { - $531 = (($1) + ($529)|0); - $532 = HEAP8[$531>>0]|0; - $533 = $532&255; - $535 = $533; - } else { - $535 = 0; - } - $534 = $535&255; - $536 = (((($355) + (($354*280)|0)|0)) + 237|0); - HEAP8[$536>>0] = $534; - $537 = (($$1673777) + 231)|0; - $538 = ($537>>>0)<($2>>>0); - if ($538) { - $539 = (($1) + ($537)|0); - $540 = HEAP8[$539>>0]|0; - $541 = $540&255; - $543 = $541; - } else { - $543 = 0; - } - $542 = $543&255; - $544 = (((($355) + (($354*280)|0)|0)) + 238|0); - HEAP8[$544>>0] = $542; - $545 = (($$1673777) + 232)|0; - $546 = ($545>>>0)<($2>>>0); - if ($546) { - $547 = (($1) + ($545)|0); - $548 = HEAP8[$547>>0]|0; - $549 = $548&255; - $551 = $549; - } else { - $551 = 0; - } - $550 = $551&255; - $552 = (((($355) + (($354*280)|0)|0)) + 239|0); - HEAP8[$552>>0] = $550; - $553 = (($$1673777) + 233)|0; - $554 = ($553>>>0)<($2>>>0); - if ($554) { - $555 = (($1) + ($553)|0); - $556 = HEAP8[$555>>0]|0; - $557 = $556&255; - $559 = $557; - } else { - $559 = 0; - } - $558 = $559 & 1; - $560 = (((($355) + (($354*280)|0)|0)) + 176|0); - HEAP32[$560>>2] = $558; - $561 = $559 & 2; - $562 = (((($355) + (($354*280)|0)|0)) + 180|0); - HEAP32[$562>>2] = $561; - $563 = $559 & 4; - $564 = (((($355) + (($354*280)|0)|0)) + 184|0); - HEAP32[$564>>2] = $563; - $565 = (($$1673777) + 234)|0; - $566 = ($565>>>0)<($2>>>0); - if ($566) { - $567 = (($1) + ($565)|0); - $568 = HEAP8[$567>>0]|0; - $569 = $568&255; - $571 = $569; - } else { - $571 = 0; - } - $570 = $571 & 1; - $572 = (((($355) + (($354*280)|0)|0)) + 240|0); - HEAP32[$572>>2] = $570; - $573 = $571 & 2; - $574 = (((($355) + (($354*280)|0)|0)) + 244|0); - HEAP32[$574>>2] = $573; - $575 = $571 & 4; - $576 = (((($355) + (($354*280)|0)|0)) + 248|0); - HEAP32[$576>>2] = $575; - $577 = (($$1673777) + 235)|0; - $578 = ($577>>>0)<($2>>>0); - L213: do { - if ($578) { - $580 = (($1) + ($577)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $581&255; - $583 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$583>>2] = $582; - switch ($581<<24>>24) { - case 2: { - $$sink694 = 1; - break; - } - case 1: { - $$sink694 = 2; - break; - } - default: { - break L213; - } - } - HEAP32[$583>>2] = $$sink694; - } else { - $579 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$579>>2] = 0; - } - } while(0); - $584 = (($$1673777) + 236)|0; - $585 = ($584>>>0)<($2>>>0); - if ($585) { - $586 = (($1) + ($584)|0); - $587 = HEAP8[$586>>0]|0; - $588 = $587&255; - $590 = $588; - } else { - $590 = 0; - } - $589 = $590&255; - $591 = (((($355) + (($354*280)|0)|0)) + 256|0); - HEAP8[$591>>0] = $589; - $592 = (($$1673777) + 237)|0; - $593 = ($592>>>0)<($2>>>0); - if ($593) { - $594 = (($1) + ($592)|0); - $595 = HEAP8[$594>>0]|0; - $596 = $595&255; - $598 = $596; - } else { - $598 = 0; - } - $597 = $598&255; - $599 = (((($355) + (($354*280)|0)|0)) + 257|0); - HEAP8[$599>>0] = $597; - $600 = (($$1673777) + 238)|0; - $601 = ($600>>>0)<($2>>>0); - if ($601) { - $602 = (($1) + ($600)|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $606 = $604; - } else { - $606 = 0; - } - $605 = $606&255; - $607 = (((($355) + (($354*280)|0)|0)) + 258|0); - HEAP8[$607>>0] = $605; - $608 = (($$1673777) + 239)|0; - $609 = ($608>>>0)<($2>>>0); - if ($609) { - $610 = (($1) + ($608)|0); - $611 = HEAP8[$610>>0]|0; - $612 = $611&255; - $621 = $612; - } else { - $621 = 0; - } - $613 = (($$1673777) + 240)|0; - $614 = ($613>>>0)<($2>>>0); - if ($614) { - $615 = (($1) + ($613)|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $619 = $617; - } else { - $619 = 0; - } - $618 = $619 << 8; - $620 = $618 | $621; - $622 = $620&65535; - $623 = (((($355) + (($354*280)|0)|0)) + 260|0); - HEAP16[$623>>1] = $622; - $624 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$624>>2] = $$1778; - $625 = HEAP16[$373>>1]|0; - $626 = $625&65535; - $627 = ($626*80)|0; - $628 = (($$1778) + ($627)|0); - $$0687 = $404;$$2 = $628; - } - $630 = ($$1673777>>>0)<($2>>>0); - if ($630) { - $631 = (($1) + ($$1673777)|0); - $632 = HEAP8[$631>>0]|0; - $633 = $632&255; - $642 = $633; - } else { - $642 = 0; - } - $634 = (($$1673777) + 1)|0; - $635 = ($634>>>0)<($2>>>0); - if ($635) { - $636 = (($1) + ($634)|0); - $637 = HEAP8[$636>>0]|0; - $638 = $637&255; - $640 = $638; - } else { - $640 = 0; - } - $639 = $640 << 8; - $641 = $639 | $642; - $643 = (($$1673777) + 2)|0; - $644 = ($643>>>0)<($2>>>0); - if ($644) { - $645 = (($1) + ($643)|0); - $646 = HEAP8[$645>>0]|0; - $647 = $646&255; - $656 = $647; - } else { - $656 = 0; - } - $648 = (($$1673777) + 3)|0; - $649 = ($648>>>0)<($2>>>0); - if ($649) { - $650 = (($1) + ($648)|0); - $651 = HEAP8[$650>>0]|0; - $652 = $651&255; - $654 = $652; - } else { - $654 = 0; - } - $653 = $654 << 8; - $655 = $653 | $656; - $657 = $655 << 16; - $658 = $641 | $657; - $659 = (($658) + ($$1673777))|0; - $660 = HEAP16[$373>>1]|0; - $661 = ($660<<16>>16)==(0); - if ($661) { - $$3$lcssa794 = $$2;$$3675$lcssa = $659; - } else { - $662 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; - while(1) { - $666 = $$0679755&65535; - $667 = HEAP32[$662>>2]|0; - $668 = ($$2674756>>>0)<($2>>>0); - if ($668) { - $669 = (($1) + ($$2674756)|0); - $670 = HEAP8[$669>>0]|0; - $671 = $670&255; - $680 = $671; - } else { - $680 = 0; - } - $672 = (($$2674756) + 1)|0; - $673 = ($672>>>0)<($2>>>0); - if ($673) { - $674 = (($1) + ($672)|0); - $675 = HEAP8[$674>>0]|0; - $676 = $675&255; - $678 = $676; - } else { - $678 = 0; - } - $677 = $678 << 8; - $679 = $677 | $680; - $681 = (($$2674756) + 2)|0; - $682 = ($681>>>0)<($2>>>0); - if ($682) { - $683 = (($1) + ($681)|0); - $684 = HEAP8[$683>>0]|0; - $685 = $684&255; - $694 = $685; - } else { - $694 = 0; - } - $686 = (($$2674756) + 3)|0; - $687 = ($686>>>0)<($2>>>0); - if ($687) { - $688 = (($1) + ($686)|0); - $689 = HEAP8[$688>>0]|0; - $690 = $689&255; - $692 = $690; - } else { - $692 = 0; - } - $691 = $692 << 8; - $693 = $691 | $694; - $695 = $693 << 16; - $696 = $679 | $695; - $697 = (((($667) + (($666*80)|0)|0)) + 24|0); - HEAP32[$697>>2] = $696; - $698 = (($$2674756) + 4)|0; - $699 = ($698>>>0)<($2>>>0); - if ($699) { - $700 = (($1) + ($698)|0); - $701 = HEAP8[$700>>0]|0; - $702 = $701&255; - $711 = $702; - } else { - $711 = 0; - } - $703 = (($$2674756) + 5)|0; - $704 = ($703>>>0)<($2>>>0); - if ($704) { - $705 = (($1) + ($703)|0); - $706 = HEAP8[$705>>0]|0; - $707 = $706&255; - $709 = $707; - } else { - $709 = 0; - } - $708 = $709 << 8; - $710 = $708 | $711; - $712 = (($$2674756) + 6)|0; - $713 = ($712>>>0)<($2>>>0); - if ($713) { - $714 = (($1) + ($712)|0); - $715 = HEAP8[$714>>0]|0; - $716 = $715&255; - $725 = $716; - } else { - $725 = 0; - } - $717 = (($$2674756) + 7)|0; - $718 = ($717>>>0)<($2>>>0); - if ($718) { - $719 = (($1) + ($717)|0); - $720 = HEAP8[$719>>0]|0; - $721 = $720&255; - $723 = $721; - } else { - $723 = 0; - } - $722 = $723 << 8; - $724 = $722 | $725; - $726 = $724 << 16; - $727 = $710 | $726; - $728 = (((($667) + (($666*80)|0)|0)) + 28|0); - HEAP32[$728>>2] = $727; - $729 = (($$2674756) + 8)|0; - $730 = ($729>>>0)<($2>>>0); - if ($730) { - $731 = (($1) + ($729)|0); - $732 = HEAP8[$731>>0]|0; - $733 = $732&255; - $742 = $733; - } else { - $742 = 0; - } - $734 = (($$2674756) + 9)|0; - $735 = ($734>>>0)<($2>>>0); - if ($735) { - $736 = (($1) + ($734)|0); - $737 = HEAP8[$736>>0]|0; - $738 = $737&255; - $740 = $738; - } else { - $740 = 0; - } - $739 = $740 << 8; - $741 = $739 | $742; - $743 = (($$2674756) + 10)|0; - $744 = ($743>>>0)<($2>>>0); - if ($744) { - $745 = (($1) + ($743)|0); - $746 = HEAP8[$745>>0]|0; - $747 = $746&255; - $756 = $747; - } else { - $756 = 0; - } - $748 = (($$2674756) + 11)|0; - $749 = ($748>>>0)<($2>>>0); - if ($749) { - $750 = (($1) + ($748)|0); - $751 = HEAP8[$750>>0]|0; - $752 = $751&255; - $754 = $752; - } else { - $754 = 0; - } - $753 = $754 << 8; - $755 = $753 | $756; - $757 = $755 << 16; - $758 = $741 | $757; - $759 = (((($667) + (($666*80)|0)|0)) + 32|0); - HEAP32[$759>>2] = $758; - $760 = HEAP32[$728>>2]|0; - $761 = (($758) + ($760))|0; - $762 = (((($667) + (($666*80)|0)|0)) + 36|0); - HEAP32[$762>>2] = $761; - $763 = (($$2674756) + 12)|0; - $764 = ($763>>>0)<($2>>>0); - if ($764) { - $765 = (($1) + ($763)|0); - $766 = HEAP8[$765>>0]|0; - $767 = $766&255; - $769 = $767; - } else { - $769 = 0; - } - $768 = (+($769|0)); - $770 = $768 * 0.015625; - $771 = (((($667) + (($666*80)|0)|0)) + 40|0); - HEAPF32[$771>>2] = $770; - $772 = (($$2674756) + 13)|0; - $773 = ($772>>>0)<($2>>>0); - if ($773) { - $774 = (($1) + ($772)|0); - $775 = HEAP8[$774>>0]|0; - $776 = $775&255; - $778 = $776; - } else { - $778 = 0; - } - $777 = $778&255; - $779 = (((($667) + (($666*80)|0)|0)) + 44|0); - HEAP8[$779>>0] = $777; - $780 = (($$2674756) + 14)|0; - $781 = ($780>>>0)<($2>>>0); - do { - if ($781) { - $782 = (($1) + ($780)|0); - $783 = HEAP8[$782>>0]|0; - $784 = $783&255; - $785 = $784 & 3; - $786 = ($785|0)==(0); - if ($786) { - $889 = $784; - label = 204; - break; - } - $788 = ($785|0)==(1); - $789 = (((($667) + (($666*80)|0)|0)) + 48|0); - $$sink = $788 ? 1 : 2; - HEAP32[$789>>2] = $$sink; - $791 = $784; - } else { - $889 = 0; - label = 204; - } - } while(0); - if ((label|0) == 204) { - label = 0; - $787 = (((($667) + (($666*80)|0)|0)) + 48|0); - HEAP32[$787>>2] = 0; - $791 = $889; - } - $790 = $791 >>> 1; - $792 = $790 & 8; - $793 = (($792) + 8)|0; - $794 = $793&255; - $795 = (((($667) + (($666*80)|0)|0)) + 23|0); - HEAP8[$795>>0] = $794; - $796 = (($$2674756) + 15)|0; - $797 = ($796>>>0)<($2>>>0); - if ($797) { - $798 = (($1) + ($796)|0); - $799 = HEAP8[$798>>0]|0; - $800 = $799&255; - $802 = $800; - } else { - $802 = 0; - } - $801 = (+($802|0)); - $803 = $801 / 255.0; - $804 = (((($667) + (($666*80)|0)|0)) + 52|0); - HEAPF32[$804>>2] = $803; - $805 = (($$2674756) + 16)|0; - $806 = ($805>>>0)<($2>>>0); - if ($806) { - $807 = (($1) + ($805)|0); - $808 = HEAP8[$807>>0]|0; - $809 = $808&255; - $811 = $809; - } else { - $811 = 0; - } - $810 = $811&255; - $812 = (((($667) + (($666*80)|0)|0)) + 56|0); - HEAP8[$812>>0] = $810; - $813 = (($667) + (($666*80)|0)|0); - _memcpy_pad($813,22,$1,$2,18); - $814 = (((($667) + (($666*80)|0)|0)) + 72|0); - HEAP32[$814>>2] = $$3757; - $815 = HEAP8[$795>>0]|0; - $816 = ($815<<24>>24)==(16); - $817 = HEAP32[$697>>2]|0; - if ($816) { - $818 = $817 << 1; - $819 = HEAP32[$728>>2]|0; - $820 = $819 >>> 1; - HEAP32[$728>>2] = $820; - $821 = HEAP32[$759>>2]|0; - $822 = $821 >>> 1; - HEAP32[$759>>2] = $822; - $823 = HEAP32[$762>>2]|0; - $824 = $823 >>> 1; - HEAP32[$762>>2] = $824; - $825 = HEAP32[$697>>2]|0; - $826 = $825 >>> 1; - HEAP32[$697>>2] = $826; - $$pn693 = $818; - } else { - $827 = $817 << 2; - $$pn693 = $827; - } - $$4 = (($$3757) + ($$pn693)|0); - $828 = (($$2674756) + ($$0687))|0; - $829 = (($$0679755) + 1)<<16>>16; - $664 = HEAP16[$373>>1]|0; - $830 = ($829&65535)<($664&65535); - if ($830) { - $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; - } else { - break; - } - } - $663 = ($664<<16>>16)==(0); - if ($663) { - $$3$lcssa794 = $$4;$$3675$lcssa = $828; - } else { - $665 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0677769 = 0;$$3675770 = $828; - while(1) { - $834 = $$0677769&65535; - $835 = HEAP32[$665>>2]|0; - $836 = (((($835) + (($834*80)|0)|0)) + 24|0); - $837 = HEAP32[$836>>2]|0; - $838 = (((($835) + (($834*80)|0)|0)) + 23|0); - $839 = HEAP8[$838>>0]|0; - $840 = ($839<<24>>24)==(16); - $841 = ($837|0)!=(0); - if ($840) { - if ($841) { - $843 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0669766 = 0;$$0670765 = 0; - while(1) { - $sext691 = $$0670765 << 16; - $846 = $sext691 >> 16; - $847 = $$0669766 << 1; - $848 = (($847) + ($$3675770))|0; - $849 = ($848>>>0)<($2>>>0); - if ($849) { - $850 = (($1) + ($848)|0); - $851 = HEAP8[$850>>0]|0; - $852 = $851&255; - $861 = $852; - } else { - $861 = 0; - } - $853 = (($848) + 1)|0; - $854 = ($853>>>0)<($2>>>0); - if ($854) { - $855 = (($1) + ($853)|0); - $856 = HEAP8[$855>>0]|0; - $857 = $856&255; - $859 = $857; - } else { - $859 = 0; - } - $858 = $859 << 8; - $860 = $858 | $861; - $sext692 = $860 << 16; - $862 = $sext692 >> 16; - $863 = (($862) + ($846))|0; - $864 = $863&65535; - $865 = (+($864<<16>>16)); - $866 = $865 * 3.0517578125E-5; - $867 = HEAP32[$843>>2]|0; - $868 = (($867) + ($$0669766<<2)|0); - HEAPF32[$868>>2] = $866; - $869 = (($$0669766) + 1)|0; - $exitcond793 = ($869|0)==($837|0); - if ($exitcond793) { - break; - } else { - $$0669766 = $869;$$0670765 = $863; - } - } - } - $844 = HEAP32[$836>>2]|0; - $845 = $844 << 1; - $$pn = $845; - } else { - if ($841) { - $842 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0668761 = 0;$$0762 = 0; - while(1) { - $sext = $$0668761 << 24; - $871 = $sext >> 24; - $872 = (($$0762) + ($$3675770))|0; - $873 = ($872>>>0)<($2>>>0); - if ($873) { - $874 = (($1) + ($872)|0); - $875 = HEAP8[$874>>0]|0; - $876 = $875&255; - $877 = $876; - } else { - $877 = 0; - } - $sext690 = $877 << 24; - $878 = $sext690 >> 24; - $879 = (($878) + ($871))|0; - $880 = $879&255; - $881 = (+($880<<24>>24)); - $882 = $881 * 0.0078125; - $883 = HEAP32[$842>>2]|0; - $884 = (($883) + ($$0762<<2)|0); - HEAPF32[$884>>2] = $882; - $885 = (($$0762) + 1)|0; - $exitcond = ($885|0)==($837|0); - if ($exitcond) { - break; - } else { - $$0668761 = $879;$$0762 = $885; - } - } - } - $870 = HEAP32[$836>>2]|0; - $$pn = $870; - } - $$4676 = (($$pn) + ($$3675770))|0; - $886 = (($$0677769) + 1)<<16>>16; - $887 = HEAP16[$373>>1]|0; - $888 = ($886&65535)<($887&65535); - if ($888) { - $$0677769 = $886;$$3675770 = $$4676; - } else { - $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; - break; - } - } - } - } - $831 = (($$0688776) + 1)<<16>>16; - $832 = HEAP16[$98>>1]|0; - $833 = ($831&65535)<($832&65535); - if ($833) { - $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; - } else { - $$1$lcssa = $$3$lcssa794; - break; - } - } - return ($$1$lcssa|0); -} -function _jar_xm_check_sanity_postload($0) { - $0 = $0|0; - var $$01520 = 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, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $1 = ((($0)) + 46|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - $26 = 0; - STACKTOP = sp;return ($26|0); + _rlEnd(); + STACKTOP = sp;return; } - $4 = $2&65535; - $5 = ((($0)) + 52|0); - $6 = HEAP32[1039]|0; - $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; - while(1) { - $7 = (((($0)) + 60|0) + ($8)|0); - $9 = HEAP8[$7>>0]|0; - $10 = $9&255; - $11 = HEAP16[$5>>1]|0; - $12 = $11&65535; - $13 = ($10>>>0)<($12>>>0); - if (!($13)) { - $14 = (($8) + 1)|0; - $15 = ($14|0)==($16|0); - $17 = ($18&65535)>(1); - $or$cond = $17 & $15; - if (!($or$cond)) { - break; + $36 = (_rlGetVersion()|0); + $37 = ($36|0)==(2); + if (!($37)) { + $38 = (_rlGetVersion()|0); + $39 = ($38|0)==(3); + if (!($39)) { + $40 = (_rlGetVersion()|0); + $41 = ($40|0)==(4); + if (!($41)) { + STACKTOP = sp;return; } - $19 = (($18) + -1)<<16>>16; - HEAP16[$1>>1] = $19; - HEAP32[$vararg_buffer>>2] = 9876; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - (_fprintf($6,9838,$vararg_buffer)|0); - (_fflush($6)|0); } - $20 = (($$01520) + 1)<<24>>24; - $21 = $20&255; - $22 = HEAP16[$1>>1]|0; - $23 = $22&65535; - $24 = ($21>>>0)<($23>>>0); - if ($24) { - $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; + } + _GetDefaultTexture($3); + $42 = HEAP32[$3>>2]|0; + _rlEnableTexture($42); + _rlBegin(7); + $43 = HEAP8[$2>>0]|0; + $44 = ((($2)) + 1|0); + $45 = HEAP8[$44>>0]|0; + $46 = ((($2)) + 2|0); + $47 = HEAP8[$46>>0]|0; + $48 = ((($2)) + 3|0); + $49 = HEAP8[$48>>0]|0; + $50 = +HEAPF32[$0>>2]; + $51 = ((($0)) + 4|0); + $$028 = 0; + while(1) { + _rlColor4ub($43,$45,$47,$49); + $52 = +HEAPF32[$51>>2]; + _rlVertex2f($50,$52); + $53 = (+($$028|0)); + $54 = $53 * 0.01745329238474369; + $55 = (+Math_sin((+$54))); + $56 = $55 * $1; + $57 = $50 + $56; + $58 = +HEAPF32[$51>>2]; + $59 = (+Math_cos((+$54))); + $60 = $59 * $1; + $61 = $58 + $60; + _rlVertex2f($57,$61); + $62 = (($$028) + 10)|0; + $63 = (+($62|0)); + $64 = $63 * 0.01745329238474369; + $65 = (+Math_sin((+$64))); + $66 = $65 * $1; + $67 = $50 + $66; + $68 = +HEAPF32[$51>>2]; + $69 = (+Math_cos((+$64))); + $70 = $69 * $1; + $71 = $68 + $70; + _rlVertex2f($67,$71); + $72 = (($$028) + 20)|0; + $73 = (+($72|0)); + $74 = $73 * 0.01745329238474369; + $75 = (+Math_sin((+$74))); + $76 = $75 * $1; + $77 = $50 + $76; + $78 = +HEAPF32[$51>>2]; + $79 = (+Math_cos((+$74))); + $80 = $79 * $1; + $81 = $78 + $80; + _rlVertex2f($77,$81); + $82 = ($72|0)<(360); + if ($82) { + $$028 = $72; } else { - $26 = 0; - label = 8; break; } } - if ((label|0) == 8) { - STACKTOP = sp;return ($26|0); - } - HEAP32[$vararg_buffer2>>2] = 9876; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr6>>2] = $10; - (_fprintf($6,9905,$vararg_buffer2)|0); - $25 = HEAP32[1039]|0; - (_fflush($25)|0); - $26 = 1; - STACKTOP = sp;return ($26|0); -} -function _jar_xm_free_context($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - _free($1); - return; + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; } -function _memcpy_pad($0,$1,$2,$3,$4) { +function _DrawRectangle($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; - var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($3>>>0)<($4>>>0); - $6 = (($3) - ($4))|0; - $$ = $5 ? 0 : $6; - $7 = ($$>>>0)>($1>>>0); - $8 = $7 ? $1 : $$; - $9 = (($2) + ($4)|0); - _memcpy(($0|0),($9|0),($8|0))|0; - $10 = (($0) + ($8)|0); - $11 = (($1) - ($8))|0; - _memset(($10|0),0,($11|0))|0; - return; -} -function _jar_xm_set_max_loop_count($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 385|0); - HEAP8[$2>>0] = $1; - return; -} -function _jar_xm_get_loop_count($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 384|0); - $2 = HEAP8[$1>>0]|0; - return ($2|0); + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; } -function _jar_xm_get_remaining_samples($0) { +function _DrawRectangleV($0,$1,$2) { $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.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $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.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_jar_xm_get_loop_count($0)|0); - _jar_xm_set_max_loop_count($0,0); - $2 = (_jar_xm_get_loop_count($0)|0); - $3 = ($2<<24>>24)==($1<<24>>24); - if (!($3)) { - $15 = 0;$16 = 0; - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); - } - $4 = ((($0)) + 352|0); - $6 = 0;$7 = 0; - while(1) { - $5 = +HEAPF32[$4>>2]; - $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); - $9 = $8 + $5; - $10 = (~~$9)>>>0; - $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; - HEAPF32[$4>>2] = 0.0; - _jar_xm_tick($0); - $12 = (_jar_xm_get_loop_count($0)|0); - $13 = ($12<<24>>24)==($1<<24>>24); - if ($13) { - $6 = $10;$7 = $11; - } else { - $15 = $11;$16 = $10; - break; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } } } - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; } -function _jar_xm_create_context_from_file($0,$1,$2) { +function _DrawRectangleLines($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$1 = 0, $$1$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($2,10958)|0); - $4 = ($3|0)==(0|0); - L1: do { - if ($4) { - $5 = HEAP32[1039]|0; - (_fwrite(9995,25,1,$5)|0); - (_fflush($5)|0); - $$1$ph = 3; - } else { - (_fseek($3,0,2)|0); - $6 = (_ftell($3)|0); - _rewind($3); - $7 = ($6|0)==(-1); - if ($7) { - (_fclose($3)|0); - $8 = HEAP32[1039]|0; - (_fwrite(10021,14,1,$8)|0); - (_fflush($8)|0); - $$1$ph = 4; - break; - } - $9 = (($6) + 1)|0; - $10 = (_malloc($9)|0); - $11 = (_fread($10,1,$6,$3)|0); - $12 = ($11>>>0)<($6>>>0); - (_fclose($3)|0); - if ($12) { - $13 = HEAP32[1039]|0; - (_fwrite(10036,14,1,$13)|0); - (_fflush($13)|0); - $$1$ph = 5; - break; - } - $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); - switch ($14|0) { - case 1: { - $15 = HEAP32[1039]|0; - (_fwrite(10051,45,1,$15)|0); - (_fflush($15)|0); - $$1$ph = 1; - break L1; - break; - } - case 2: { - $16 = HEAP32[1039]|0; - (_fwrite(10097,40,1,$16)|0); - (_fflush($16)|0); - _exit(1); - // unreachable; - break; - } - case 0: { - $$1 = 0; - return ($$1|0); - break; - } - default: { - $17 = HEAP32[1039]|0; - (_fwrite(10138,40,1,$17)|0); - (_fflush($17)|0); - _exit(1); - // unreachable; - } + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy3 = sp; + $5 = (_rlGetVersion()|0); + $6 = ($5|0)==(1); + if ($6) { + _rlBegin(1); + $7 = HEAP8[$4>>0]|0; + $8 = ((($4)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 3|0); + $13 = HEAP8[$12>>0]|0; + _rlColor4ub($7,$9,$11,$13); + $14 = (($0) + 1)|0; + $15 = (($1) + 1)|0; + _rlVertex2i($14,$15); + $16 = (($2) + ($0))|0; + _rlVertex2i($16,$15); + _rlVertex2i($16,$15); + $17 = (($3) + ($1))|0; + _rlVertex2i($16,$17); + _rlVertex2i($16,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$15); + _rlEnd(); + STACKTOP = sp;return; + } + $18 = (_rlGetVersion()|0); + $19 = ($18|0)==(2); + if (!($19)) { + $20 = (_rlGetVersion()|0); + $21 = ($20|0)==(3); + if (!($21)) { + $22 = (_rlGetVersion()|0); + $23 = ($22|0)==(4); + if (!($23)) { + STACKTOP = sp;return; } } - } while(0); - HEAP32[$0>>2] = 0; - $$1 = $$1$ph; - return ($$1|0); + } + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$1,$2,1,$$byval_copy3); + $24 = (($0) + -1)|0; + $25 = (($24) + ($2))|0; + $26 = (($1) + 1)|0; + $27 = (($3) + -2)|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$26,1,$27,$$byval_copy3); + $28 = (($1) + -1)|0; + $29 = (($28) + ($3))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$29,$2,1,$$byval_copy3); + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$26,1,$27,$$byval_copy3); + STACKTOP = sp;return; } function _InitAudioDevice() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; @@ -22927,7 +17353,7 @@ function _InitAudioDevice() { $0 = (_alcOpenDevice((0|0))|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(1,10179,$vararg_buffer); + _TraceLog(1,9326,$vararg_buffer); STACKTOP = sp;return; } $2 = (_alcCreateContext(($0|0),(0|0))|0); @@ -22942,7 +17368,7 @@ function _InitAudioDevice() { } $5 = (_alcGetString(($0|0),4101)|0); HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,10247,$vararg_buffer3); + _TraceLog(0,9394,$vararg_buffer3); _alListener3f(4100,0.0,0.0,0.0); _alListener3f(4102,0.0,0.0,0.0); _alListener3f(4111,0.0,0.0,-1.0); @@ -22951,7 +17377,7 @@ function _InitAudioDevice() { } } while(0); (_alcCloseDevice(($0|0))|0); - _TraceLog(1,10212,$vararg_buffer1); + _TraceLog(1,9359,$vararg_buffer1); STACKTOP = sp;return; } function _CloseAudioDevice() { @@ -22963,13 +17389,13 @@ function _CloseAudioDevice() { $0 = (_alcGetCurrentContext()|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(2,10301,$vararg_buffer); + _TraceLog(2,9448,$vararg_buffer); } $2 = (_alcGetContextsDevice(($0|0))|0); (_alcMakeContextCurrent((0|0))|0); _alcDestroyContext(($0|0)); (_alcCloseDevice(($2|0))|0); - _TraceLog(0,10349,$vararg_buffer1); + _TraceLog(0,9496,$vararg_buffer1); STACKTOP = sp;return; } function _stb_vorbis_open_filename($0,$1,$2) { @@ -22978,7 +17404,7 @@ function _stb_vorbis_open_filename($0,$1,$2) { $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($0,10958)|0); + $3 = (_fopen($0,10105)|0); $4 = ($3|0)==(0|0); if ($4) { $6 = ($1|0)==(0|0); @@ -23455,7 +17881,7 @@ function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { if ($9) { $$04956 = 0; } else { - ___assert_fail((10870|0),(10457|0),4749,(10881|0)); + ___assert_fail((10017|0),(9604|0),4759,(10028|0)); // unreachable; } while(1) { @@ -23791,7 +18217,7 @@ function _get_window($0,$1) { if ($8) { $$sink = 1; } else { - ___assert_fail((10455|0),(10457|0),2655,(10479|0)); + ___assert_fail((9602|0),(9604|0),2658,(9626|0)); // unreachable; } } @@ -23874,7 +18300,7 @@ function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { $28 = HEAP32[$27>>2]|0; $29 = ($26|0)==($28|0); if (!($29)) { - ___assert_fail((10490|0),(10457|0),2734,(10848|0)); + ___assert_fail((9637|0),(9604|0),2737,(9995|0)); // unreachable; } } @@ -24046,7 +18472,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = (($52) + -1)|0; - $54 = (3112 + ($53<<2)|0); + $54 = (2980 + ($53<<2)|0); $55 = HEAP32[$54>>2]|0; $56 = (((($0)) + 996|0) + ($$041263<<2)|0); $57 = HEAP32[$56>>2]|0; @@ -24369,7 +18795,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $223 = HEAP32[$222>>2]|0; $224 = ($221|0)==($223|0); if (!($224)) { - ___assert_fail((10490|0),(10457|0),2883,(10546|0)); + ___assert_fail((9637|0),(9604|0),2886,(9693|0)); // unreachable; } } @@ -24493,7 +18919,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $281 = HEAP32[$280>>2]|0; $282 = ($279|0)==($281|0); if (!($282)) { - ___assert_fail((10490|0),(10457|0),2916,(10546|0)); + ___assert_fail((9637|0),(9604|0),2919,(9693|0)); // unreachable; } } @@ -24722,7 +19148,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $390 = HEAP32[$389>>2]|0; $391 = ($388|0)==($390|0); if (!($391)) { - ___assert_fail((10490|0),(10457|0),3032,(10546|0)); + ___assert_fail((9637|0),(9604|0),3035,(9693|0)); // unreachable; } } @@ -24814,69 +19240,82 @@ function _get_bits($0,$1) { function _ilog($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 $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, label = 0, sp = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ($0|0)<(16384); + $1 = ($0|0)<(0); if ($1) { - $2 = ($0|0)<(16); - if ($2) { - $3 = (10832 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $$0 = $5; + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (9979 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; return ($$0|0); } - $6 = ($0|0)<(512); - if ($6) { - $7 = $0 >>> 5; - $8 = (10832 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) + 5)|0; - $$0 = $11; + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (9979 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; return ($$0|0); } else { - $12 = $0 >>> 10; - $13 = (10832 + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = (($15) + 10)|0; - $$0 = $16; + $13 = $0 >>> 10; + $14 = (9979 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; return ($$0|0); } } - $17 = ($0|0)<(16777216); - if (!($17)) { - $29 = ($0|0)<(536870912); - if (!($29)) { - $$0 = 0; + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (9979 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (9979 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; return ($$0|0); } - $30 = $0 >>> 25; - $31 = (10832 + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = (($33) + 25)|0; - $$0 = $34; - return ($$0|0); - } - $18 = ($0|0)<(524288); - if ($18) { - $19 = $0 >>> 15; - $20 = (10832 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = (($22) + 15)|0; - $$0 = $23; - return ($$0|0); } else { - $24 = $0 >>> 20; - $25 = (10832 + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = (($27) + 20)|0; - $$0 = $28; - return ($$0|0); + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (9979 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (9979 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } } return (0)|0; } @@ -25040,7 +19479,7 @@ function _codebook_decode_scalar_raw($0,$1) { $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)==(0); if (!($51)) { - ___assert_fail((10794|0),(10457|0),1251,(10805|0)); + ___assert_fail((9941|0),(9604|0),1254,(9952|0)); // unreachable; } $52 = HEAP32[$8>>2]|0; @@ -25959,7 +20398,7 @@ function _do_floor($0,$1,$2,$3,$4,$5) { if (!($46)) { return; } - $47 = (3128 + ($$062$lcssa<<2)|0); + $47 = (2996 + ($$062$lcssa<<2)|0); $48 = +HEAPF32[$47>>2]; $$0661 = $$063$lcssa; while(1) { @@ -26590,7 +21029,7 @@ function _get8_packet_raw($0) { $$pr = HEAP8[$1>>0]|0; $9 = ($$pr<<24>>24)==(0); if ($9) { - ___assert_fail((10572|0),(10457|0),1135,(10592|0)); + ___assert_fail((9719|0),(9604|0),1138,(9739|0)); // unreachable; } else { $11 = $$pr; @@ -26669,7 +21108,7 @@ function _next_segment($0) { $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if (!($29)) { - ___assert_fail((10608|0),(10457|0),1121,(10629|0)); + ___assert_fail((9755|0),(9604|0),1124,(9776|0)); // unreachable; } HEAP8[$27>>0] = $20; @@ -26977,7 +21416,7 @@ function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { $6 = $0 & 3; $7 = ($6|0)==(0); if (!($7)) { - ___assert_fail((10642|0),(10457|0),2004,(10655|0)); + ___assert_fail((9789|0),(9604|0),2007,(9802|0)); // unreachable; } $8 = $0 >> 2; @@ -27593,7 +22032,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { if (!($16)) { return; } - $17 = (3128 + ($2<<2)|0); + $17 = (2996 + ($2<<2)|0); $18 = +HEAPF32[$17>>2]; $19 = (($0) + ($1<<2)|0); $20 = +HEAPF32[$19>>2]; @@ -27614,7 +22053,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { $$1 = (($23) - ($26))|0; $$0$pn = (($$155$sink67) + ($9))|0; $$155 = (($$0$pn) + ($25))|0; - $27 = (3128 + ($$155<<2)|0); + $27 = (2996 + ($$155<<2)|0); $28 = +HEAPF32[$27>>2]; $29 = (($0) + ($$05669<<2)|0); $30 = +HEAPF32[$29>>2]; @@ -27833,7 +22272,7 @@ function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 12) { - ___assert_fail((10722|0),(10457|0),1433,(10758|0)); + ___assert_fail((9869|0),(9604|0),1436,(9905|0)); // unreachable; } $46 = ((($0)) + 1376|0); @@ -28130,7 +22569,7 @@ function _codebook_decode_start($0,$1) { $29 = HEAP32[$28>>2]|0; $30 = ($$1|0)<($29|0); if (!($30)) { - ___assert_fail((10678|0),(10457|0),1339,(10700|0)); + ___assert_fail((9825|0),(9604|0),1342,(9847|0)); // unreachable; } } @@ -28349,7 +22788,7 @@ function _compute_stereo_samples($0,$1,$2,$3,$4) { $17 = (($$07593) + ($3))|0; $$07488 = 0; while(1) { - $20 = ((10916 + (($1*6)|0)|0) + ($$07488)|0); + $20 = ((10063 + (($1*6)|0)|0) + ($$07488)|0); $21 = HEAP8[$20>>0]|0; $trunc = $21 & 6; $trunc$clear = $trunc & 7; @@ -28683,15 +23122,15 @@ function _vorbis_find_page($0,$1,$2) { break; } $72 = (_get8($0)|0); - $73 = HEAP8[(4153)>>0]|0; + $73 = HEAP8[(4021)>>0]|0; $74 = ($72<<24>>24)==($73<<24>>24); if ($74) { $75 = (_get8($0)|0); - $76 = HEAP8[(4154)>>0]|0; + $76 = HEAP8[(4022)>>0]|0; $77 = ($75<<24>>24)==($76<<24>>24); if ($77) { $198 = (_get8($0)|0); - $199 = HEAP8[(4155)>>0]|0; + $199 = HEAP8[(4023)>>0]|0; $200 = ($198<<24>>24)==($199<<24>>24); $$ = $200 ? 4 : 3; $$082$lcssa = $$; @@ -28711,7 +23150,7 @@ function _vorbis_find_page($0,$1,$2) { $80 = ($$082$lcssa|0)==(4); L13: do { if ($80) { - $81 = HEAP32[1038]|0; + $81 = HEAP32[1005]|0; HEAP32[$3>>2] = $81; $82 = (_get8($0)|0); HEAP8[$15>>0] = $82; @@ -28948,7 +23387,7 @@ function _crc32_update($0,$1) { $3 = $1&255; $4 = $0 >>> 24; $5 = $3 ^ $4; - $6 = (20532 + ($5<<2)|0); + $6 = (19580 + ($5<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = $7 ^ $2; return ($8|0); @@ -28995,7 +23434,7 @@ function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { $14 = ($13|0)==(0|0); if (!($14)) { _memcpy(($13|0),($5|0),1512)|0; - _vorbis_pump_first_frame($13); + (_vorbis_pump_first_frame($13)|0); $$0 = $13; STACKTOP = sp;return ($$0|0); } @@ -31256,7 +25695,7 @@ function _start_decoder($0) { $868 = HEAP32[$867>>2]|0; $869 = ($866|0)==($868|0); if (!($869)) { - ___assert_fail((10961|0),(10457|0),3709,(11017|0)); + ___assert_fail((10108|0),(9604|0),3714,(10164|0)); // unreachable; } $870 = ((($0)) + 88|0); @@ -31297,13 +25736,13 @@ function _vorbis_pump_first_frame($0) { $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); $5 = ($4|0)==(0); if ($5) { - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$2>>2]|0; (_vorbis_finish_frame($0,$6,$7,$8)|0); - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } function _setup_malloc($0,$1) { $0 = $0|0; @@ -31350,7 +25789,7 @@ function _vorbis_validate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_memcmp($0,11333,6)|0); + $1 = (_memcmp($0,10480,6)|0); $2 = ($1|0)==(0); $3 = $2&1; return ($3|0); @@ -31471,7 +25910,7 @@ function _is_whole_packet_present($0,$1) { label = 12; break; } - $32 = (_memcmp($$274,4152,4)|0); + $32 = (_memcmp($$274,4020,4)|0); $33 = ($32|0)==(0); if (!($33)) { label = 14; @@ -31647,7 +26086,7 @@ function _crc32_init() { $30 = $25 >> 31; $31 = $30 & 79764919; $32 = $31 ^ $29; - $33 = (20532 + ($$01417<<2)|0); + $33 = (19580 + ($$01417<<2)|0); HEAP32[$33>>2] = $32; $34 = (($$01417) + 1)|0; $exitcond = ($34|0)==(256); @@ -31728,7 +26167,7 @@ function _compute_codewords($0,$1,$2,$3) { $$2 = 1; STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((11230|0),(10457|0),662,(11253|0)); + ___assert_fail((10377|0),(9604|0),665,(10400|0)); // unreachable; } } @@ -31861,15 +26300,15 @@ function _compute_codewords($0,$1,$2,$3) { } } if ((label|0) == 17) { - ___assert_fail((11271|0),(10457|0),685,(11253|0)); + ___assert_fail((10418|0),(9604|0),688,(10400|0)); // unreachable; } else if ((label|0) == 21) { - ___assert_fail((11288|0),(10457|0),690,(11253|0)); + ___assert_fail((10435|0),(9604|0),693,(10400|0)); // unreachable; } else if ((label|0) == 23) { - ___assert_fail((11315|0),(10457|0),692,(11253|0)); + ___assert_fail((10462|0),(9604|0),695,(10400|0)); // unreachable; } else if ((label|0) == 25) { @@ -31934,7 +26373,7 @@ function _compute_sorted_huffman($0,$1,$2) { $33 = HEAP32[$32>>2]|0; $34 = ($$084$lcssa|0)==($33|0); if (!($34)) { - ___assert_fail((11122|0),(10457|0),759,(11145|0)); + ___assert_fail((10269|0),(9604|0),762,(10292|0)); // unreachable; } } else { @@ -32068,7 +26507,7 @@ function _compute_sorted_huffman($0,$1,$2) { } } if ((label|0) == 21) { - ___assert_fail((11168|0),(10457|0),789,(11145|0)); + ___assert_fail((10315|0),(9604|0),792,(10292|0)); // unreachable; } else if ((label|0) == 26) { @@ -32203,7 +26642,7 @@ function _lookup1_values($0,$1) { $24 = (+($0|0)); $25 = $23 > $24; if (!($25)) { - ___assert_fail((11031|0),(10457|0),814,(11063|0)); + ___assert_fail((10178|0),(9604|0),817,(10210|0)); // unreachable; } $26 = $20; @@ -32212,7 +26651,7 @@ function _lookup1_values($0,$1) { $29 = (~~(($28))); $30 = ($29|0)>($0|0); if ($30) { - ___assert_fail((11078|0),(10457|0),815,(11063|0)); + ___assert_fail((10225|0),(9604|0),818,(10210|0)); // unreachable; } else { return ($$|0); @@ -32524,7 +26963,7 @@ function _include_in_sort($0,$1) { return ($$$|0); } if ($5) { - ___assert_fail((11199|0),(10457|0),739,(11214|0)); + ___assert_fail((10346|0),(9604|0),742,(10361|0)); // unreachable; } else { return 1; @@ -32579,119 +27018,74 @@ function _add_entry($0,$1,$2,$3,$4,$5) { } function _LoadMusicStream($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, $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.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $vararg_buffer28 = sp + 72|0; - $vararg_buffer25 = sp + 64|0; - $vararg_buffer21 = sp + 48|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $vararg_buffer17 = sp + 40|0; $vararg_buffer13 = sp + 32|0; $vararg_buffer9 = sp + 24|0; $vararg_buffer5 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $1 = sp + 136|0; - $2 = sp + 104|0; - $3 = sp + 76|0; - $4 = (_malloc(52)|0); - $5 = (_IsFileExtension($0,10382)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stb_vorbis_open_filename($0,0,0)|0); - $8 = ((($4)) + 4|0); - HEAP32[$8>>2] = $7; - $9 = ($7|0)==(0|0); - if ($9) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11339,$vararg_buffer); - STACKTOP = sp;return ($4|0); - } else { - $10 = HEAP32[$8>>2]|0; - _stb_vorbis_get_info($1,$10); - $11 = ((($4)) + 12|0); - $12 = HEAP32[$1>>2]|0; - $13 = ((($1)) + 4|0); - $14 = HEAP32[$13>>2]|0; - _InitAudioStream($2,$12,16,$14); - ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; - $15 = HEAP32[$8>>2]|0; - $16 = (_stb_vorbis_stream_length_in_samples($15)|0); - $17 = ((($4)) + 44|0); - HEAP32[$17>>2] = $16; - $18 = ((($4)) + 48|0); - HEAP32[$18>>2] = $16; - HEAP32[$4>>2] = 0; - $19 = ((($4)) + 40|0); - HEAP32[$19>>2] = -1; - $20 = HEAP32[$17>>2]|0; - HEAP32[$vararg_buffer1>>2] = $0; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $20; - _TraceLog(3,11379,$vararg_buffer1); - $21 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer5>>2] = $0; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $21; - _TraceLog(3,11407,$vararg_buffer5); - $22 = HEAP32[$13>>2]|0; - HEAP32[$vararg_buffer9>>2] = $0; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $22; - _TraceLog(3,11432,$vararg_buffer9); - $23 = ((($1)) + 16|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer13>>2] = $0; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = $24; - _TraceLog(3,11454,$vararg_buffer13); - STACKTOP = sp;return ($4|0); - } - } - $25 = (_IsFileExtension($0,11483)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[$vararg_buffer28>>2] = $0; - _TraceLog(2,10387,$vararg_buffer28); - STACKTOP = sp;return ($4|0); - } - $27 = ((($4)) + 8|0); - $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$27>>2]|0; - _jar_xm_set_max_loop_count($30,0); - $31 = ((($4)) + 12|0); - _InitAudioStream($3,48000,16,2); - ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; - $32 = (_jar_xm_get_remaining_samples($30)|0); - $33 = tempRet0; - $34 = ((($4)) + 44|0); - HEAP32[$34>>2] = $32; - $35 = ((($4)) + 48|0); - HEAP32[$35>>2] = $32; - HEAP32[$4>>2] = 2; - $36 = ((($4)) + 40|0); - HEAP32[$36>>2] = -1; - $37 = HEAP32[$34>>2]|0; + $1 = sp + 72|0; + $2 = sp + 44|0; + $3 = (_malloc(48)|0); + $4 = (_IsFileExtension($0,9529)|0); + $5 = ($4|0)==(0); + if ($5) { HEAP32[$vararg_buffer17>>2] = $0; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $37; - _TraceLog(3,11487,$vararg_buffer17); - $38 = (+($37>>>0)); - $39 = $38 / 48000.0; - $40 = $39; - HEAP32[$vararg_buffer21>>2] = $0; - $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); - HEAPF64[$vararg_ptr24>>3] = $40; - _TraceLog(3,11517,$vararg_buffer21); - STACKTOP = sp;return ($4|0); + _TraceLog(2,9534,$vararg_buffer17); + STACKTOP = sp;return ($3|0); + } + $6 = (_stb_vorbis_open_filename($0,0,0)|0); + $7 = ((($3)) + 4|0); + HEAP32[$7>>2] = $6; + $8 = ($6|0)==(0|0); + if ($8) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,10486,$vararg_buffer); + STACKTOP = sp;return ($3|0); } else { - HEAP32[$vararg_buffer25>>2] = $0; - _TraceLog(2,11550,$vararg_buffer25); - STACKTOP = sp;return ($4|0); + $9 = HEAP32[$7>>2]|0; + _stb_vorbis_get_info($1,$9); + $10 = ((($3)) + 8|0); + $11 = HEAP32[$1>>2]|0; + $12 = ((($1)) + 4|0); + $13 = HEAP32[$12>>2]|0; + _InitAudioStream($2,$11,16,$13); + ;HEAP32[$10>>2]=HEAP32[$2>>2]|0;HEAP32[$10+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$10+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$10+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$10+24>>2]=HEAP32[$2+24>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (_stb_vorbis_stream_length_in_samples($14)|0); + $16 = ((($3)) + 40|0); + HEAP32[$16>>2] = $15; + $17 = ((($3)) + 44|0); + HEAP32[$17>>2] = $15; + HEAP32[$3>>2] = 0; + $18 = ((($3)) + 36|0); + HEAP32[$18>>2] = -1; + $19 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $19; + _TraceLog(3,10526,$vararg_buffer1); + $20 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $20; + _TraceLog(3,10554,$vararg_buffer5); + $21 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $21; + _TraceLog(3,10579,$vararg_buffer9); + $22 = ((($1)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $23; + _TraceLog(3,10601,$vararg_buffer13); + STACKTOP = sp;return ($3|0); } return (0)|0; } @@ -32761,14 +27155,14 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer4>>2] = $2; - _TraceLog(2,11639,$vararg_buffer4); + _TraceLog(2,10686,$vararg_buffer4); $26 = $9; break L1; } } } else { HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(2,11583,$vararg_buffer); + _TraceLog(2,10630,$vararg_buffer); $8 = ((($4)) + 8|0); HEAP32[$8>>2] = 1; $55 = $8; @@ -32801,7 +27195,7 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer1>>2] = $2; - _TraceLog(2,11639,$vararg_buffer1); + _TraceLog(2,10686,$vararg_buffer1); $26 = $55; break L10; } @@ -32855,7 +27249,7 @@ function _InitAudioStream($0,$1,$2,$3) { $51 = HEAP32[$6>>2]|0; $52 = HEAP32[$26>>2]|0; $53 = ($52|0)==(1); - $54 = $53 ? 10443 : 10448; + $54 = $53 ? 9590 : 9595; HEAP32[$vararg_buffer7>>2] = $49; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $50; @@ -32863,42 +27257,30 @@ function _InitAudioStream($0,$1,$2,$3) { HEAP32[$vararg_ptr11>>2] = $51; $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); HEAP32[$vararg_ptr12>>2] = $54; - _TraceLog(0,11688,$vararg_buffer7); + _TraceLog(0,10735,$vararg_buffer7); ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; STACKTOP = sp;return; } function _UnloadMusicStream($0) { $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - $1 = ((($0)) + 12|0); + $1 = ((($0)) + 8|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; _CloseAudioStream($$byval_copy); $2 = HEAP32[$0>>2]|0; - switch ($2|0) { - case 0: { - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - _stb_vorbis_close($4); - _free($0); - STACKTOP = sp;return; - break; - } - case 2: { - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - _jar_xm_free_context($6); - _free($0); - STACKTOP = sp;return; - break; - } - default: { + $3 = ($2|0)==(0); + if (!($3)) { _free($0); STACKTOP = sp;return; } - } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + _stb_vorbis_close($5); + _free($0); + STACKTOP = sp;return; } function _CloseAudioStream($0) { $0 = $0|0; @@ -32935,14 +27317,14 @@ function _CloseAudioStream($0) { _alDeleteBuffers(2,($11|0)); $12 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $12; - _TraceLog(0,11753,$vararg_buffer); + _TraceLog(0,10800,$vararg_buffer); STACKTOP = sp;return; } function _PlayMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePlay(($2|0)); return; @@ -32951,7 +27333,7 @@ function _PauseMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePause(($2|0)); return; @@ -32962,7 +27344,7 @@ function _ResumeMusicStream($0) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; - $2 = ((($0)) + 28|0); + $2 = ((($0)) + 24|0); $3 = HEAP32[$2>>2]|0; _alGetSourcei(($3|0),4112,($1|0)); $4 = HEAP32[$1>>2]|0; @@ -32979,20 +27361,20 @@ function _StopMusicStream($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourceStop(($2|0)); - $3 = ((($0)) + 16|0); + $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = $4 << 9; $6 = $5 & 536870400; - $7 = ((($0)) + 20|0); + $7 = ((($0)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = Math_imul($6, $8)|0; $10 = (_calloc($9,1)|0); - $11 = ((($0)) + 24|0); - $12 = ((($0)) + 12|0); - $13 = ((($0)) + 32|0); + $11 = ((($0)) + 20|0); + $12 = ((($0)) + 8|0); + $13 = ((($0)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$11>>2]|0; $16 = HEAP32[$3>>2]|0; @@ -33002,7 +27384,7 @@ function _StopMusicStream($0) { $20 = Math_imul($18, $19)|0; $21 = HEAP32[$12>>2]|0; _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); - $22 = ((($0)) + 36|0); + $22 = ((($0)) + 32|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$11>>2]|0; $25 = HEAP32[$3>>2]|0; @@ -33016,24 +27398,24 @@ function _StopMusicStream($0) { $31 = HEAP32[$0>>2]|0; $cond = ($31|0)==(0); if (!($cond)) { - $34 = ((($0)) + 44|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } $32 = ((($0)) + 4|0); $33 = HEAP32[$32>>2]|0; - _stb_vorbis_seek_start($33); - $34 = ((($0)) + 44|0); + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } function _stb_vorbis_seek_start($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; + 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; $1 = ((($0)) + 48|0); $2 = HEAP8[$1>>0]|0; @@ -33048,18 +27430,21 @@ function _stb_vorbis_seek_start($0) { HEAP8[$7>>0] = 1; $8 = ((($0)) + 1380|0); HEAP32[$8>>2] = -1; - _vorbis_pump_first_frame($0); - return; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); } else { _error($0,2); - return; + $$0 = 0; + return ($$0|0); } + return (0)|0; } function _UpdateMusicStream($0) { $0 = $0|0; - var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $$ = 0, $$0 = 0, $$03840 = 0, $$byval_copy = 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; + 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $$byval_copy = sp + 12|0; @@ -33067,8 +27452,8 @@ function _UpdateMusicStream($0) { $1 = sp + 8|0; $2 = sp + 4|0; HEAP32[$2>>2] = 0; - $3 = ((($0)) + 12|0); - $4 = ((($0)) + 28|0); + $3 = ((($0)) + 8|0); + $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; _alGetSourcei(($5|0),4112,($1|0)); $6 = HEAP32[$4>>2]|0; @@ -33078,10 +27463,10 @@ function _UpdateMusicStream($0) { if (!($8)) { STACKTOP = sp;return; } - $9 = ((($0)) + 20|0); + $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = $10 << 12; - $12 = ((($0)) + 16|0); + $12 = ((($0)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = Math_imul($11, $13)|0; $15 = $14 >>> 3; @@ -33090,74 +27475,64 @@ function _UpdateMusicStream($0) { $18 = ($17|0)>(0); L4: do { if ($18) { - $19 = ((($0)) + 48|0); + $19 = ((($0)) + 44|0); $20 = ((($0)) + 4|0); - $21 = ((($0)) + 8|0); - $$04143 = 0; + $$03840 = 0; while(1) { - $24 = HEAP32[$19>>2]|0; - $25 = ($24>>>0)<(4096); - $$ = $25 ? $24 : 4096; - $26 = HEAP32[$0>>2]|0; - switch ($26|0) { - case 0: { - $27 = HEAP32[$20>>2]|0; - $28 = HEAP32[$9>>2]|0; - $29 = Math_imul($28, $$)|0; - (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); - break; - } - case 2: { - $30 = HEAP32[$21>>2]|0; - _jar_xm_generate_samples_16bit($30,$16,$$); - break; - } - default: { - } + $23 = HEAP32[$19>>2]|0; + $24 = ($23>>>0)<(4096); + $$ = $24 ? $23 : 4096; + $25 = HEAP32[$0>>2]|0; + $cond = ($25|0)==(0); + if ($cond) { + $26 = HEAP32[$20>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = Math_imul($27, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($26,$27,$16,$28)|0); } ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; _UpdateAudioStream($$byval_copy,$16,$$); - $31 = HEAP32[$19>>2]|0; - $32 = (($31) - ($$))|0; - HEAP32[$19>>2] = $32; - $33 = ($32|0)==(0); - $23 = (($$04143) + 1)|0; - if ($33) { + $29 = HEAP32[$19>>2]|0; + $30 = (($29) - ($$))|0; + HEAP32[$19>>2] = $30; + $31 = ($30|0)==(0); + $22 = (($$03840) + 1)|0; + if ($31) { $$0 = 0; break L4; } - $22 = ($23|0)<($17|0); - if ($22) { - $$04143 = $23; + $21 = ($22|0)<($17|0); + if ($21) { + $$03840 = $22; } else { $$0 = 1; - break L4; + break; } } } else { $$0 = 1; } } while(0); - $34 = (_alGetError()|0); - $35 = ($34|0)==(40963); - if ($35) { - _TraceLog(2,11792,$vararg_buffer); + $32 = (_alGetError()|0); + $33 = ($32|0)==(40963); + if ($33) { + _TraceLog(2,10839,$vararg_buffer); } - $36 = ($$0|0)==(0); - if ($36) { + $34 = ($$0|0)==(0); + if ($34) { _StopMusicStream($0); - $37 = ((($0)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $40 = (($38) + -1)|0; - HEAP32[$37>>2] = $40; + $35 = ((($0)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = (($36) + -1)|0; + HEAP32[$35>>2] = $38; _PlayMusicStream($0); } } else { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)==(4114); - if (!($42)) { + $39 = HEAP32[$1>>2]|0; + $40 = ($39|0)==(4114); + if (!($40)) { _PlayMusicStream($0); } } @@ -33201,10 +27576,10 @@ function _GetMusicTimeLength($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = (+($2>>>0)); - $4 = ((($0)) + 12|0); + $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = (+($5>>>0)); $7 = $3 / $6; @@ -33214,13 +27589,13 @@ function _GetMusicTimePlayed($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 48|0); + $3 = ((($0)) + 44|0); $4 = HEAP32[$3>>2]|0; $5 = (($2) - ($4))|0; $6 = (+($5>>>0)); - $7 = ((($0)) + 12|0); + $7 = ((($0)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (+($8>>>0)); $10 = $6 / $9; @@ -33272,7 +27647,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11824)|0); + $12 = (_strstr($11,10871)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -33281,7 +27656,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11828)|0); + $17 = (_strstr($16,10875)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -33290,7 +27665,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11832)|0); + $22 = (_strstr($21,10879)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -33299,7 +27674,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11836)|0); + $27 = (_strstr($26,10883)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -33308,1210 +27683,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11842)|0); + $32 = (_strcmp($31,10889)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11880)|0); + $35 = (_strcmp($34,10927)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11899; + HEAP32[$3>>2] = 10946; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11912)|0); + $38 = (_strcmp($37,10959)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11933; + HEAP32[$3>>2] = 10980; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11948)|0); + $41 = (_strcmp($40,10995)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11963; + HEAP32[$3>>2] = 11010; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11978)|0); + $44 = (_strcmp($43,11025)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11993; + HEAP32[$3>>2] = 11040; } } else { - HEAP32[$3>>2] = 11864; + HEAP32[$3>>2] = 10911; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12008)|0); + $47 = (_strcmp($46,11055)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12022)|0); + $50 = (_strcmp($49,11069)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 2; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12034)|0); + $53 = (_strcmp($52,11081)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12048)|0); + $56 = (_strcmp($55,11095)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12060)|0); + $59 = (_strcmp($58,11107)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12074)|0); + $62 = (_strcmp($61,11121)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12088)|0); + $65 = (_strcmp($64,11135)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12105)|0); + $68 = (_strcmp($67,11152)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12128)|0); + $71 = (_strcmp($70,11175)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12154)|0); + $74 = (_strcmp($73,11201)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12167)|0); + $77 = (_strcmp($76,11214)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12183)|0); + $80 = (_strcmp($79,11230)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12196)|0); + $83 = (_strcmp($82,11243)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12210)|0); + $86 = (_strcmp($85,11257)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12230)|0); + $89 = (_strcmp($88,11277)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12250)|0); + $92 = (_strcmp($91,11297)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12267)|0); + $95 = (_strcmp($94,11314)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12284)|0); + $98 = (_strcmp($97,11331)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 3; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12296)|0); + $101 = (_strcmp($100,11343)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12309)|0); + $104 = (_strcmp($103,11356)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12325)|0); + $107 = (_strcmp($106,11372)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12348)|0); + $110 = (_strcmp($109,11395)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12361)|0); + $113 = (_strcmp($112,11408)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12377)|0); + $116 = (_strcmp($115,11424)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 4; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12388)|0); + $119 = (_strcmp($118,11435)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12407)|0); + $122 = (_strcmp($121,11454)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12429)|0); + $125 = (_strcmp($124,11476)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12448)|0); + $128 = (_strcmp($127,11495)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12477)|0); + $131 = (_strcmp($130,11524)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 5; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12494)|0); + $134 = (_strcmp($133,11541)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12509)|0); + $137 = (_strcmp($136,11556)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12524)|0); + $140 = (_strcmp($139,11571)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 3; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12545)|0); + $143 = (_strcmp($142,11592)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12565)|0); + $146 = (_strcmp($145,11612)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12585)|0); + $149 = (_strcmp($148,11632)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12611)|0); + $152 = (_strcmp($151,11658)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12630)|0); + $155 = (_strcmp($154,11677)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12642)|0); + $158 = (_strcmp($157,11689)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12654)|0); + $161 = (_strcmp($160,11701)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12666)|0); + $164 = (_strcmp($163,11713)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12678)|0); + $167 = (_strcmp($166,11725)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12690)|0); + $170 = (_strcmp($169,11737)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12702)|0); + $173 = (_strcmp($172,11749)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12714)|0); + $176 = (_strcmp($175,11761)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12726)|0); + $179 = (_strcmp($178,11773)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12739)|0); + $182 = (_strcmp($181,11786)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12752)|0); + $185 = (_strcmp($184,11799)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12765)|0); + $188 = (_strcmp($187,11812)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12778)|0); + $191 = (_strcmp($190,11825)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12791)|0); + $194 = (_strcmp($193,11838)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12804)|0); + $197 = (_strcmp($196,11851)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12817)|0); + $200 = (_strcmp($199,11864)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12830)|0); + $203 = (_strcmp($202,11877)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12849)|0); + $206 = (_strcmp($205,11896)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12868)|0); + $209 = (_strcmp($208,11915)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12887)|0); + $212 = (_strcmp($211,11934)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12900)|0); + $215 = (_strcmp($214,11947)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12918)|0); + $218 = (_strcmp($217,11965)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12936)|0); + $221 = (_strcmp($220,11983)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12954)|0); + $224 = (_strcmp($223,12001)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12972)|0); + $227 = (_strcmp($226,12019)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 4; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12992)|0); + $230 = (_strcmp($229,12039)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11933)|0); + $233 = (_strcmp($232,10980)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 6; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13010)|0); + $236 = (_strcmp($235,12057)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13025)|0); + $239 = (_strcmp($238,12072)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13046)|0); + $242 = (_strcmp($241,12093)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13061)|0); + $245 = (_strcmp($244,12108)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13079)|0); + $248 = (_strcmp($247,12126)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13095)|0); + $251 = (_strcmp($250,12142)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13114)|0); + $254 = (_strcmp($253,12161)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13128)|0); + $257 = (_strcmp($256,12175)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13143)|0); + $260 = (_strcmp($259,12190)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 7; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11864)|0); + $263 = (_strcmp($262,10911)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13154)|0); + $266 = (_strcmp($265,12201)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11963)|0); + $269 = (_strcmp($268,11010)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11993)|0); + $272 = (_strcmp($271,11040)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13170)|0); + $275 = (_strcmp($274,12217)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13197)|0); + $278 = (_strcmp($277,12244)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13211)|0); + $281 = (_strcmp($280,12258)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11899)|0); + $284 = (_strcmp($283,10946)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13231)|0); + $287 = (_strcmp($286,12278)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13249)|0); + $290 = (_strcmp($289,12296)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 8; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13261)|0); + $293 = (_strcmp($292,12308)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13282)|0); + $296 = (_strcmp($295,12329)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13300)|0); + $299 = (_strcmp($298,12347)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13318)|0); + $302 = (_strcmp($301,12365)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13339)|0); + $305 = (_strcmp($304,12386)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13365)|0); + $308 = (_strcmp($307,12412)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13388)|0); + $311 = (_strcmp($310,12435)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13426)|0); + $314 = (_strcmp($313,12473)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 9; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13442)|0); + $317 = (_strcmp($316,12489)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13457)|0); + $320 = (_strcmp($319,12504)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13480)|0); + $323 = (_strcmp($322,12527)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13493)|0); + $326 = (_strcmp($325,12540)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13507)|0); + $329 = (_strcmp($328,12554)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13521)|0); + $332 = (_strcmp($331,12568)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13541)|0); + $335 = (_strcmp($334,12588)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13561)|0); + $338 = (_strcmp($337,12608)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13577)|0); + $341 = (_strcmp($340,12624)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13595)|0); + $344 = (_strcmp($343,12642)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13611)|0); + $347 = (_strcmp($346,12658)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13626)|0); + $350 = (_strcmp($349,12673)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13648)|0); + $353 = (_strcmp($352,12695)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13666)|0); + $356 = (_strcmp($355,12713)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13687)|0); + $359 = (_strcmp($358,12734)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13705)|0); + $362 = (_strcmp($361,12752)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13718)|0); + $365 = (_strcmp($364,12765)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13733)|0); + $368 = (_strcmp($367,12780)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13747)|0); + $371 = (_strcmp($370,12794)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13757)|0); + $374 = (_strcmp($373,12804)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13767)|0); + $377 = (_strcmp($376,12814)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13789)|0); + $380 = (_strcmp($379,12836)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13815)|0); + $383 = (_strcmp($382,12862)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13842)|0); + $386 = (_strcmp($385,12889)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13855)|0); + $389 = (_strcmp($388,12902)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13870)|0); + $392 = (_strcmp($391,12917)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13885)|0); + $395 = (_strcmp($394,12932)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13909)|0); + $398 = (_strcmp($397,12956)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13920)|0); + $401 = (_strcmp($400,12967)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13942)|0); + $404 = (_strcmp($403,12989)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13964)|0); + $407 = (_strcmp($406,13011)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13988)|0); + $410 = (_strcmp($409,13035)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13997)|0); + $413 = (_strcmp($412,13044)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14005)|0); + $416 = (_strcmp($415,13052)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14018)|0); + $419 = (_strcmp($418,13065)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14032)|0); + $422 = (_strcmp($421,13079)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14044)|0); + $425 = (_strcmp($424,13091)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14053)|0); + $428 = (_strcmp($427,13100)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14063)|0); + $431 = (_strcmp($430,13110)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14075)|0); + $434 = (_strcmp($433,13122)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14086)|0); + $437 = (_strcmp($436,13133)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14094)|0); + $440 = (_strcmp($439,13141)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14106)|0); + $443 = (_strcmp($442,13153)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14121)|0); + $446 = (_strcmp($445,13168)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14133)|0); + $449 = (_strcmp($448,13180)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14147)|0); + $452 = (_strcmp($451,13194)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 10; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14172)|0); + $455 = (_strcmp($454,13219)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14189)|0); + $458 = (_strcmp($457,13236)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14205)|0); + $461 = (_strcmp($460,13252)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14221)|0); + $464 = (_strcmp($463,13268)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 11; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14233)|0); + $467 = (_strcmp($466,13280)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14245)|0); + $470 = (_strcmp($469,13292)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14269)|0); + $473 = (_strcmp($472,13316)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14282)|0); + $476 = (_strcmp($475,13329)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14296)|0); + $479 = (_strcmp($478,13343)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14318)|0); + $482 = (_strcmp($481,13365)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14325)|0); + $485 = (_strcmp($484,13372)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14341)|0); + $488 = (_strcmp($487,13388)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14358)|0); + $491 = (_strcmp($490,13405)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14375)|0); + $494 = (_strcmp($493,13422)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14391)|0); + $497 = (_strcmp($496,13438)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14407)|0); + $500 = (_strcmp($499,13454)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14424)|0); + $503 = (_strcmp($502,13471)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14438)|0); + $506 = (_strcmp($505,13485)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14450)|0); + $509 = (_strcmp($508,13497)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14461)|0); + $512 = (_strcmp($511,13508)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14474)|0); + $515 = (_strcmp($514,13521)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14484)|0); + $518 = (_strcmp($517,13531)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14501)|0); + $521 = (_strcmp($520,13548)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14513)|0); + $524 = (_strcmp($523,13560)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14535)|0); + $527 = (_strcmp($526,13582)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14555)|0); + $530 = (_strcmp($529,13602)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14568)|0); + $533 = (_strcmp($532,13615)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14590)|0); + $536 = (_strcmp($535,13637)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14610)|0); + $539 = (_strcmp($538,13657)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14627)|0); + $542 = (_strcmp($541,13674)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14644)|0); + $545 = (_strcmp($544,13691)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14664)|0); + $548 = (_strcmp($547,13711)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -34533,7 +28908,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21556|0); + return (20604|0); } function ___stdio_close($0) { $0 = $0|0; @@ -34726,7 +29101,7 @@ function ___pthread_self_108() { function _pthread_self() { var label = 0, sp = 0; sp = STACKTOP; - return (4284|0); + return (4024|0); } function _dummy_738($0) { $0 = $0|0; @@ -34816,7 +29191,7 @@ function ___stdout_write($0,$1,$2) { $vararg_buffer = sp; $3 = sp + 16|0; $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 1; + HEAP32[$4>>2] = 8; $5 = HEAP32[$0>>2]|0; $6 = $5 & 64; $7 = ($6|0)==(0); @@ -35422,7 +29797,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14780 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((13827 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35600,7 +29975,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15244;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14291;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35621,7 +29996,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15244;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14291;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35629,8 +30004,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15244 : (15246); - $$$ = $238 ? $$ : (15245); + $$ = $240 ? 14291 : (14293); + $$$ = $238 ? $$ : (14292); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35647,7 +30022,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15244;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14291;$242 = $167;$243 = $170; label = 66; break; } @@ -35660,7 +30035,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15244;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14291;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35674,7 +30049,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15254; + $271 = $270 ? $269 : 14301; $$1 = $271; label = 71; break; @@ -35714,7 +30089,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15244;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14291;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35736,8 +30111,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15244 + ($208)|0); - $$289 = $or$cond283 ? 15244 : $209; + $209 = (14291 + ($208)|0); + $$289 = $or$cond283 ? 14291 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35758,7 +30133,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15244;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14291;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -36288,7 +30663,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15296 + ($7)|0); + $9 = (14343 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36646,14 +31021,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15261; + $$0471 = $14;$$0520 = 1;$$0521 = 14308; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15262) : (15267); - $$$ = $16 ? $$ : (15264); + $$ = $18 ? (14309) : (14314); + $$$ = $16 ? $$ : (14311); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36752,7 +31127,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15296 + ($80)|0); + $81 = (14343 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -37363,7 +31738,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15312,1); + _out($0,14359,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -37444,7 +31819,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15312,1); + _out($0,14359,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37501,9 +31876,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15280 : 15284; + $29 = $28 ? 14327 : 14331; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 15288 : 15292; + $31 = $28 ? 14335 : 14339; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37713,7 +32088,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15314 + ($$016)|0); + $3 = (14361 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37724,7 +32099,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15402;$$115 = 87; + $$01214 = 14449;$$115 = 87; label = 5; break; } else { @@ -37734,9 +32109,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15402; + $$012$lcssa = 14449; } else { - $$01214 = 15402;$$115 = $$016; + $$01214 = 14449;$$115 = $$016; label = 5; } } @@ -38880,42 +33255,6 @@ function _ldexp($0,$1) { $2 = (+_scalbn($0,$1)); return (+$2); } -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) { - $13 = $11; - } else { - ___unlockfile($3); - $13 = $11; - } - } else { - $9 = (___fwritex($0,$4,$3)|0); - $13 = $9; - } - $12 = ($13|0)==($4|0); - if ($12) { - $15 = $$; - } else { - $14 = (($13>>>0) / ($1>>>0))&-1; - $15 = $14; - } - return ($15|0); -} function ___unlist_locked_file($0) { $0 = $0|0; var $$pre = 0, $$sink = 0, $1 = 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; @@ -38965,7 +33304,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17206,$3,4)|0); + $memchr = (_memchr(16253,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -39054,7 +33393,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17206,$4,4)|0); + $memchr = (_memchr(16253,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -39140,12 +33479,12 @@ function ___fdopen($0,$1) { $34 = ((($7)) + 32|0); HEAP32[$34>>2] = 9; $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 1; + HEAP32[$35>>2] = 8; $36 = ((($7)) + 40|0); HEAP32[$36>>2] = 2; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 1; - $38 = HEAP32[(21560)>>2]|0; + $38 = HEAP32[(20608)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -39178,13 +33517,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21620|0)); - return (21628|0); + ___lock((20668|0)); + return (20676|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21620|0)); + ___unlock((20668|0)); return; } function _fclose($0) { @@ -39259,12 +33598,12 @@ function _fflush($0) { $1 = ($0|0)==(0|0); do { if ($1) { - $8 = HEAP32[1164]|0; + $8 = HEAP32[1099]|0; $9 = ($8|0)==(0|0); if ($9) { $29 = 0; } else { - $10 = HEAP32[1164]|0; + $10 = HEAP32[1099]|0; $11 = (_fflush($10)|0); $29 = $11; } @@ -39393,18 +33732,6 @@ function _fseek($0,$1,$2) { $3 = (___fseeko($0,$1,$2)|0); return ($3|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 ___fseeko($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -40233,7 +34560,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17480; + $2 = 16528; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40244,7 +34571,7 @@ function _srand($0) { function _rand() { var $0 = 0, $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; - $0 = 17480; + $0 = 16528; $1 = $0; $2 = HEAP32[$1>>2]|0; $3 = (($0) + 4)|0; @@ -40254,7 +34581,7 @@ function _rand() { $7 = tempRet0; $8 = (_i64Add(($6|0),($7|0),1,0)|0); $9 = tempRet0; - $10 = 17480; + $10 = 16528; $11 = $10; HEAP32[$11>>2] = $8; $12 = (($10) + 4)|0; @@ -40491,37 +34818,12 @@ function _ftell($0) { $1 = (___ftello($0)|0); return ($1|0); } -function _rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} function _vprintf($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[1132]|0; + $2 = HEAP32[1067]|0; $3 = (_vfprintf($2,$0,$1)|0); return ($3|0); } @@ -40628,7 +34930,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5408]|0; + $3 = HEAP32[5170]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40647,22 +34949,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5408] = 0; + HEAP32[5170] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5408] = $10; + HEAP32[5170] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5408] = 0; + HEAP32[5170] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5408] = $13; + HEAP32[5170] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40743,7 +35045,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5409]|0; + $8 = HEAP32[5171]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40752,7 +35054,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21676 + ($15<<2)|0); + $16 = (20724 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40763,9 +35065,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5409] = $24; + HEAP32[5171] = $24; } else { - $25 = HEAP32[(21652)>>2]|0; + $25 = HEAP32[(20700)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40796,7 +35098,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21644)>>2]|0; + $37 = HEAP32[(20692)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40830,7 +35132,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21676 + ($68<<2)|0); + $69 = (20724 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40841,10 +35143,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5409] = $77; + HEAP32[5171] = $77; $98 = $77; } else { - $78 = HEAP32[(21652)>>2]|0; + $78 = HEAP32[(20700)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40877,22 +35179,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21656)>>2]|0; + $92 = HEAP32[(20704)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21676 + ($94<<2)|0); + $95 = (20724 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5409] = $100; + HEAP32[5171] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21652)>>2]|0; + $103 = HEAP32[(20700)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40909,12 +35211,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21644)>>2] = $84; - HEAP32[(21656)>>2] = $87; + HEAP32[(20692)>>2] = $84; + HEAP32[(20704)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21640)>>2]|0; + $108 = HEAP32[(20688)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40942,7 +35244,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21940 + ($132<<2)|0); + $133 = (20988 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -40982,7 +35284,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21652)>>2]|0; + $155 = HEAP32[(20700)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -41077,7 +35379,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21940 + ($188<<2)|0); + $189 = (20988 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -41088,11 +35390,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21640)>>2] = $194; + HEAP32[(20688)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21652)>>2]|0; + $195 = HEAP32[(20700)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41113,7 +35415,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21652)>>2]|0; + $201 = HEAP32[(20700)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41143,7 +35445,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21652)>>2]|0; + $213 = HEAP32[(20700)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41180,22 +35482,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21656)>>2]|0; + $231 = HEAP32[(20704)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21676 + ($233<<2)|0); + $234 = (20724 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5409] = $238; + HEAP32[5171] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21652)>>2]|0; + $241 = HEAP32[(20700)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41212,8 +35514,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21644)>>2] = $$0193$lcssa$i; - HEAP32[(21656)>>2] = $157; + HEAP32[(20692)>>2] = $$0193$lcssa$i; + HEAP32[(20704)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41229,7 +35531,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21640)>>2]|0; + $250 = HEAP32[(20688)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41269,7 +35571,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21940 + ($$0358$i<<2)|0); + $278 = (20988 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41361,7 +35663,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21940 + ($330<<2)|0); + $331 = (20988 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41405,11 +35707,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21644)>>2]|0; + $345 = HEAP32[(20692)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21652)>>2]|0; + $348 = HEAP32[(20700)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41506,7 +35808,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21940 + ($381<<2)|0); + $382 = (20988 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41517,12 +35819,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21640)>>2] = $387; + HEAP32[(20688)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21652)>>2]|0; + $388 = HEAP32[(20700)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41544,7 +35846,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21652)>>2]|0; + $394 = HEAP32[(20700)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41576,7 +35878,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21652)>>2]|0; + $406 = HEAP32[(20700)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41617,20 +35919,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21676 + ($425<<2)|0); - $427 = HEAP32[5409]|0; + $426 = (20724 + ($425<<2)|0); + $427 = HEAP32[5171]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5409] = $431; + HEAP32[5171] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21652)>>2]|0; + $434 = HEAP32[(20700)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41682,7 +35984,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21940 + ($$0361$i<<2)|0); + $464 = (20988 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41694,7 +35996,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21640)>>2] = $472; + HEAP32[(20688)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41733,7 +36035,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21652)>>2]|0; + $491 = HEAP32[(20700)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41752,7 +36054,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21652)>>2]|0; + $498 = HEAP32[(20700)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41785,16 +36087,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21644)>>2]|0; + $506 = HEAP32[(20692)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21656)>>2]|0; + $509 = HEAP32[(20704)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21656)>>2] = $511; - HEAP32[(21644)>>2] = $508; + HEAP32[(20704)>>2] = $511; + HEAP32[(20692)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41804,8 +36106,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21644)>>2] = 0; - HEAP32[(21656)>>2] = 0; + HEAP32[(20692)>>2] = 0; + HEAP32[(20704)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41819,14 +36121,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21648)>>2]|0; + $524 = HEAP32[(20696)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21648)>>2] = $526; - $527 = HEAP32[(21660)>>2]|0; + HEAP32[(20696)>>2] = $526; + $527 = HEAP32[(20708)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21660)>>2] = $528; + HEAP32[(20708)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41837,23 +36139,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5527]|0; + $534 = HEAP32[5289]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22116)>>2] = 4096; - HEAP32[(22112)>>2] = 4096; - HEAP32[(22120)>>2] = -1; - HEAP32[(22124)>>2] = -1; - HEAP32[(22128)>>2] = 0; - HEAP32[(22080)>>2] = 0; + HEAP32[(21164)>>2] = 4096; + HEAP32[(21160)>>2] = 4096; + HEAP32[(21168)>>2] = -1; + HEAP32[(21172)>>2] = -1; + HEAP32[(21176)>>2] = 0; + HEAP32[(21128)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5527] = $538; + HEAP32[5289] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22116)>>2]|0; + $$pre$i212 = HEAP32[(21164)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41866,10 +36168,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22076)>>2]|0; + $546 = HEAP32[(21124)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(22068)>>2]|0; + $548 = HEAP32[(21116)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41879,18 +36181,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22080)>>2]|0; + $552 = HEAP32[(21128)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21660)>>2]|0; + $555 = HEAP32[(20708)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22084); + $$0$i$i = (21132); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41948,7 +36250,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22112)>>2]|0; + $569 = HEAP32[(21160)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41958,13 +36260,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22068)>>2]|0; + $578 = HEAP32[(21116)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22076)>>2]|0; + $582 = HEAP32[(21124)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -42010,7 +36312,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22116)>>2]|0; + $601 = HEAP32[(21164)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -42035,9 +36337,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22080)>>2]|0; + $611 = HEAP32[(21128)>>2]|0; $612 = $611 | 4; - HEAP32[(22080)>>2] = $612; + HEAP32[(21128)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -42073,35 +36375,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(22068)>>2]|0; + $626 = HEAP32[(21116)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(22068)>>2] = $627; - $628 = HEAP32[(22072)>>2]|0; + HEAP32[(21116)>>2] = $627; + $628 = HEAP32[(21120)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(22072)>>2] = $627; + HEAP32[(21120)>>2] = $627; } - $630 = HEAP32[(21660)>>2]|0; + $630 = HEAP32[(20708)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21652)>>2]|0; + $632 = HEAP32[(20700)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21652)>>2] = $$749$i; - } - HEAP32[(22084)>>2] = $$749$i; - HEAP32[(22088)>>2] = $$723948$i; - HEAP32[(22096)>>2] = 0; - $635 = HEAP32[5527]|0; - HEAP32[(21672)>>2] = $635; - HEAP32[(21668)>>2] = -1; + HEAP32[(20700)>>2] = $$749$i; + } + HEAP32[(21132)>>2] = $$749$i; + HEAP32[(21136)>>2] = $$723948$i; + HEAP32[(21144)>>2] = 0; + $635 = HEAP32[5289]|0; + HEAP32[(20720)>>2] = $635; + HEAP32[(20716)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21676 + ($636<<2)|0); + $637 = (20724 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42124,18 +36426,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21660)>>2] = $649; - HEAP32[(21648)>>2] = $650; + HEAP32[(20708)>>2] = $649; + HEAP32[(20696)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22124)>>2]|0; - HEAP32[(21664)>>2] = $655; + $655 = HEAP32[(21172)>>2]|0; + HEAP32[(20712)>>2] = $655; } else { - $$024371$i = (22084); + $$024371$i = (21132); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42167,7 +36469,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21648)>>2]|0; + $671 = HEAP32[(20696)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42178,30 +36480,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21660)>>2] = $679; - HEAP32[(21648)>>2] = $681; + HEAP32[(20708)>>2] = $679; + HEAP32[(20696)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22124)>>2]|0; - HEAP32[(21664)>>2] = $686; + $686 = HEAP32[(21172)>>2]|0; + HEAP32[(20712)>>2] = $686; break; } } } - $687 = HEAP32[(21652)>>2]|0; + $687 = HEAP32[(20700)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21652)>>2] = $$749$i; + HEAP32[(20700)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22084); + $$124470$i = (21132); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42256,21 +36558,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21648)>>2]|0; + $726 = HEAP32[(20696)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21648)>>2] = $727; - HEAP32[(21660)>>2] = $721; + HEAP32[(20696)>>2] = $727; + HEAP32[(20708)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21656)>>2]|0; + $730 = HEAP32[(20704)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21644)>>2]|0; + $732 = HEAP32[(20692)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21644)>>2] = $733; - HEAP32[(21656)>>2] = $721; + HEAP32[(20692)>>2] = $733; + HEAP32[(20704)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42293,7 +36595,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21676 + ($748<<2)|0); + $749 = (20724 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42316,9 +36618,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5409]|0; + $759 = HEAP32[5171]|0; $760 = $759 & $758; - HEAP32[5409] = $760; + HEAP32[5171] = $760; break; } $761 = ($747|0)==($749|0); @@ -42431,7 +36733,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21940 + ($796<<2)|0); + $797 = (20988 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42443,12 +36745,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21640)>>2]|0; + $802 = HEAP32[(20688)>>2]|0; $803 = $802 & $801; - HEAP32[(21640)>>2] = $803; + HEAP32[(20688)>>2] = $803; break L314; } else { - $804 = HEAP32[(21652)>>2]|0; + $804 = HEAP32[(20700)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42469,7 +36771,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21652)>>2]|0; + $810 = HEAP32[(20700)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42501,7 +36803,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21652)>>2]|0; + $822 = HEAP32[(20700)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42534,21 +36836,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21676 + ($836<<2)|0); - $838 = HEAP32[5409]|0; + $837 = (20724 + ($836<<2)|0); + $838 = HEAP32[5171]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5409] = $842; + HEAP32[5171] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21652)>>2]|0; + $845 = HEAP32[(20700)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42603,20 +36905,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21940 + ($$0296$i$i<<2)|0); + $875 = (20988 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21640)>>2]|0; + $879 = HEAP32[(20688)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21640)>>2] = $883; + HEAP32[(20688)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42655,7 +36957,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21652)>>2]|0; + $902 = HEAP32[(20700)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42674,7 +36976,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21652)>>2]|0; + $909 = HEAP32[(20700)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42701,7 +37003,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22084); + $$0$i$i$i = (21132); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42742,23 +37044,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21660)>>2] = $946; - HEAP32[(21648)>>2] = $947; + HEAP32[(20708)>>2] = $946; + HEAP32[(20696)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22124)>>2]|0; - HEAP32[(21664)>>2] = $952; + $952 = HEAP32[(21172)>>2]|0; + HEAP32[(20712)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22084)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22084)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22084)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22084)+12>>2]|0; - HEAP32[(22084)>>2] = $$749$i; - HEAP32[(22088)>>2] = $$723948$i; - HEAP32[(22096)>>2] = 0; - HEAP32[(22092)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21132)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21132)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21132)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21132)+12>>2]|0; + HEAP32[(21132)>>2] = $$749$i; + HEAP32[(21136)>>2] = $$723948$i; + HEAP32[(21144)>>2] = 0; + HEAP32[(21140)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42787,20 +37089,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21676 + ($968<<2)|0); - $970 = HEAP32[5409]|0; + $969 = (20724 + ($968<<2)|0); + $970 = HEAP32[5171]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5409] = $974; + HEAP32[5171] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21652)>>2]|0; + $977 = HEAP32[(20700)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42852,19 +37154,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21940 + ($$0212$i$i<<2)|0); + $1007 = (20988 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21640)>>2]|0; + $1010 = HEAP32[(20688)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21640)>>2] = $1014; + HEAP32[(20688)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42903,7 +37205,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21652)>>2]|0; + $1033 = HEAP32[(20700)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42922,7 +37224,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21652)>>2]|0; + $1040 = HEAP32[(20700)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42945,14 +37247,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21648)>>2]|0; + $1048 = HEAP32[(20696)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21648)>>2] = $1050; - $1051 = HEAP32[(21660)>>2]|0; + HEAP32[(20696)>>2] = $1050; + $1051 = HEAP32[(20708)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21660)>>2] = $1052; + HEAP32[(20708)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -42995,7 +37297,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21652)>>2]|0; + $3 = HEAP32[(20700)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -43028,7 +37330,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21656)>>2]|0; + $19 = HEAP32[(20704)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -43043,7 +37345,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21644)>>2] = $17; + HEAP32[(20692)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -43057,7 +37359,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21676 + ($27<<2)|0); + $28 = (20724 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -43077,9 +37379,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5409]|0; + $37 = HEAP32[5171]|0; $38 = $37 & $36; - HEAP32[5409] = $38; + HEAP32[5171] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43193,7 +37495,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21940 + ($74<<2)|0); + $75 = (20988 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43203,14 +37505,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21640)>>2]|0; + $80 = HEAP32[(20688)>>2]|0; $81 = $80 & $79; - HEAP32[(21640)>>2] = $81; + HEAP32[(20688)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21652)>>2]|0; + $82 = HEAP32[(20700)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43232,7 +37534,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21652)>>2]|0; + $88 = HEAP32[(20700)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43264,7 +37566,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21652)>>2]|0; + $100 = HEAP32[(20700)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43299,14 +37601,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21660)>>2]|0; + $120 = HEAP32[(20708)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21656)>>2]|0; + $122 = HEAP32[(20704)>>2]|0; if ($121) { - $123 = HEAP32[(21648)>>2]|0; + $123 = HEAP32[(20696)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21648)>>2] = $124; - HEAP32[(21660)>>2] = $$1; + HEAP32[(20696)>>2] = $124; + HEAP32[(20708)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43314,16 +37616,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21656)>>2] = 0; - HEAP32[(21644)>>2] = 0; + HEAP32[(20704)>>2] = 0; + HEAP32[(20692)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21644)>>2]|0; + $129 = HEAP32[(20692)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21644)>>2] = $130; - HEAP32[(21656)>>2] = $113; + HEAP32[(20692)>>2] = $130; + HEAP32[(20704)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43342,10 +37644,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21676 + ($142<<2)|0); + $143 = (20724 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21652)>>2]|0; + $145 = HEAP32[(20700)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43363,9 +37665,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5409]|0; + $153 = HEAP32[5171]|0; $154 = $153 & $152; - HEAP32[5409] = $154; + HEAP32[5171] = $154; break; } $155 = ($141|0)==($143|0); @@ -43373,7 +37675,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21652)>>2]|0; + $156 = HEAP32[(20700)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43433,7 +37735,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21652)>>2]|0; + $189 = HEAP32[(20700)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43446,7 +37748,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21652)>>2]|0; + $169 = HEAP32[(20700)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43477,7 +37779,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21940 + ($193<<2)|0); + $194 = (20988 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43487,13 +37789,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21640)>>2]|0; + $199 = HEAP32[(20688)>>2]|0; $200 = $199 & $198; - HEAP32[(21640)>>2] = $200; + HEAP32[(20688)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21652)>>2]|0; + $201 = HEAP32[(20700)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43514,7 +37816,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21652)>>2]|0; + $207 = HEAP32[(20700)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43544,7 +37846,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21652)>>2]|0; + $219 = HEAP32[(20700)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43565,10 +37867,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21656)>>2]|0; + $226 = HEAP32[(20704)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21644)>>2] = $135; + HEAP32[(20692)>>2] = $135; return; } else { $$2 = $135; @@ -43587,20 +37889,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21676 + ($234<<2)|0); - $236 = HEAP32[5409]|0; + $235 = (20724 + ($234<<2)|0); + $236 = HEAP32[5171]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5409] = $240; + HEAP32[5171] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21652)>>2]|0; + $243 = HEAP32[(20700)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43652,21 +37954,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21940 + ($$0396<<2)|0); + $273 = (20988 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21640)>>2]|0; + $277 = HEAP32[(20688)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21640)>>2] = $281; + HEAP32[(20688)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43704,7 +38006,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21652)>>2]|0; + $300 = HEAP32[(20700)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43723,7 +38025,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21652)>>2]|0; + $307 = HEAP32[(20700)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43745,12 +38047,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21668)>>2]|0; + $314 = HEAP32[(20716)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21668)>>2] = $315; + HEAP32[(20716)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22092); + $$0212$in$i = (21140); } else { return; } @@ -43764,7 +38066,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21668)>>2] = -1; + HEAP32[(20716)>>2] = -1; return; } function _calloc($0,$1) { @@ -45025,7 +39327,7 @@ var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_ var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,___stdio_write,___stdio_seek,___stdout_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8,b8,b8]; var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; diff --git a/docs/examples/web/audio/audio_music_stream.data b/docs/examples/web/audio/audio_music_stream.data new file mode 100644 index 00000000..f5022040 Binary files /dev/null and b/docs/examples/web/audio/audio_music_stream.data differ diff --git a/docs/examples/web/audio/audio_music_stream.js b/docs/examples/web/audio/audio_music_stream.js index d2fdbc2a..b1e95b68 100644 --- a/docs/examples/web/audio/audio_music_stream.js +++ b/docs/examples/web/audio/audio_music_stream.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'audio/audio_music_stream.data'; + var REMOTE_PACKAGE_BASE = 'audio_music_stream.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_audio/audio_music_stream.data'); + + }; + Module['addRunDependency']('datafile_audio/audio_music_stream.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 506938, "filename": "/resources/guitar_noodling.ogg"}], "remote_package_size": 506938, "package_uuid": "9a508b29-a452-4ce3-a8f6-df548014b1c0"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1587,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 23776; +STATICTOP = STATIC_BASE + 22816; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,170,42,63,0,0,0,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,192,63,0,0,0,64,0,0,0,0,0,0,128,191,0,0,0,192,0,0,128,192,0,0,0,193,0,0,128,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,64,0,0,128,64,0,0,0,65,0,0,128,65,0,0,0,0,0,0,0,0,172,95,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,64,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,207,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,215,88,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,17,0,0,176,6,80,6,245,5,160,5,77,5,1,5,185,4,117,4,53,4,249,3,193,3,139,3,88,3,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,117,115,105,99,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,103,117,105,116,97,114,95,110,111,111,100,108,105,110,103,46,111,103,103,0,77,85,83,73,67,32,83,72,79,85,76,68,32,66,69,32,80,76,65,89,73,78,71,33,0,80,82,69,83,83,32,83,80,65,67,69,32,84,79,32,82,69,83,84,65,82,84,32,77,85,83,73,67,0,80,82,69,83,83,32,80,32,84,79,32,80,65,85,83,69,47,82,69,83,85,77,69,32,77,85,83,73,67,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,114,101,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,108,111,97,100,10,0,106,97,114,95,120,109,95,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,115,97,102,101,0,37,115,40,41,58,32,99,97,108,108,32,116,111,32,109,97,108,108,111,99,40,41,32,102,97,105,108,101,100,44,32,114,101,116,117,114,110,101,100,32,37,112,10,0,37,115,40,41,58,32,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,40,41,32,114,101,116,117,114,110,101,100,32,37,105,44,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,102,101,32,116,111,32,112,108,97,121,10,0,37,115,40,41,58,32,116,114,105,109,109,105,110,103,32,105,110,118,97,108,105,100,32,80,79,84,32,97,116,32,112,111,115,32,37,88,10,0,106,97,114,95,120,109,95,99,104,101,99,107,95,115,97,110,105,116,121,95,112,111,115,116,108,111,97,100,0,37,115,40,41,58,32,109,111,100,117,108,101,32,104,97,115,32,105,110,118,97,108,105,100,32,80,79,84,44,32,112,111,115,32,37,88,32,114,101,102,101,114,101,110,99,101,115,32,110,111,110,101,120,105,115,116,101,110,116,32,112,97,116,116,101,114,110,32,37,88,10,0,69,120,116,101,110,100,101,100,32,77,111,100,117,108,101,58,32,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,105,110,112,117,116,32,102,105,108,101,0,102,115,101,101,107,40,41,32,102,97,105,108,101,100,0,102,114,101,97,100,40,41,32,102,97,105,108,101,100,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,111,100,117,108,101,32,105,115,32,110,111,116,32,115,97,110,101,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,109,97,108,108,111,99,32,102,97,105,108,101,100,10,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97,116,101,32,99,111,110,116,101,120,116,58,32,117,110,107,110,111,119,110,32,101,114,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([111,114,10,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,46,120,109,0,91,37,115,93,32,88,77,32,110,117,109,98,101,114,32,111,102,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,88,77,32,116,114,97,99,107,32,108,101,110,103,116,104,58,32,37,49,49,46,54,102,32,115,101,99,0,91,37,115,93,32,88,77,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,23,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,16,0,0,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,109,117,115,105,99,32,112,108,97,121,105,110,103,32,40,115,116,114,101,97,109,105,110,103,41,0,114,101,115,111,117,114,99,101,115,47,103,117,105,116,97,114,95,110,111,111,100,108,105,110,103,46,111,103,103,0,77,85,83,73,67,32,83,72,79,85,76,68,32,66,69,32,80,76,65,89,73,78,71,33,0,80,82,69,83,83,32,83,80,65,67,69,32,84,79,32,82,69,83,84,65,82,84,32,77,85,83,73,67,0,80,82,69,83,83,32,80,32,84,79,32,80,65,85,83,69,47,82,69,83,85,77,69,32,77,85,83,73,67,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,111,103,103,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,77,111,110,111,0,83,116,101,114,101,111,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,79,71,71,32,97,117,100,105,111,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,70,76,65,67,32,116,111,116,97,108,32,115,97,109,112,108,101,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,115,97,109,112,108,101,32,114,97,116,101,58,32,37,105,0,91,37,115,93,32,79,71,71,32,99,104,97,110,110,101,108,115,58,32,37,105,0,91,37,115,93,32,79,71,71,32,109,101,109,111,114,121,32,114,101,113,117,105,114,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,73,110,105,116,32,97,117,100,105,111,32,115,116,114,101,97,109,58,32,83,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,65,85,68,32,73,68,32,37,105,93,32,65,117,100,105,111,32,115,116,114,101,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,65,85,68,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,97,117,100,105,111,32,115,116,114,101,97,109,32,100,97,116,97,0,79,112,101,110,65,76,58,32,69,114,114,111,114,32,98,117,102,102,101,114,105,110,103,32,100,97,116,97,46,46,46,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -8692,21 +8880,6 @@ function copyTempDouble(ptr) { AL.setSourceState(src, 0x1014 /* AL_STOPPED */); } - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { @@ -9694,8 +9867,19 @@ function copyTempDouble(ptr) { clearInterval(AL.contexts[context - 1].interval); } - function _llvm_exp2_f32(x) { - return Math.pow(2, x); + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } } function _glGetShaderiv(shader, pname, p) { @@ -10647,7 +10831,7 @@ function invoke_viiii(index,a1,a2,a3,a4) { 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_llvm_exp2_f32": _llvm_exp2_f32, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "___syscall221": ___syscall221, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_alSourcePause": _alSourcePause, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "___syscall146": ___syscall146, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "___syscall145": ___syscall145, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { 'use asm'; @@ -10897,7 +11081,6 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; var _exit=env._exit; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _glGetString=env._glGetString; var _emscripten_glUniform4i=env._emscripten_glUniform4i; var _alSourcef=env._alSourcef; @@ -10978,7 +11161,7 @@ var asm = (function(global, env, buffer) { var _glDeleteShader=env._glDeleteShader; var _emscripten_glUniform1f=env._emscripten_glUniform1f; var _glGetProgramiv=env._glGetProgramiv; - var _llvm_exp2_f32=env._llvm_exp2_f32; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; @@ -11108,13 +11291,13 @@ function _main() { sp = STACKTOP; $0 = HEAP32[2]|0; $1 = HEAP32[3]|0; - _InitWindow($0,$1,4686); + _InitWindow($0,$1,4400); _InitAudioDevice(); - $2 = (_LoadMusicStream(4737)|0); - HEAP32[4391] = $2; + $2 = (_LoadMusicStream(4451)|0); + HEAP32[4153] = $2; _PlayMusicStream($2); _emscripten_set_main_loop((1|0),0,1); - $3 = HEAP32[4391]|0; + $3 = HEAP32[4153]|0; _UnloadMusicStream($3); _CloseAudioDevice(); _CloseWindow(); @@ -11134,25 +11317,25 @@ function _UpdateDrawFrame() { $4 = sp + 8|0; $5 = sp + 4|0; $6 = sp; - $7 = HEAP32[4391]|0; + $7 = HEAP32[4153]|0; _UpdateMusicStream($7); $8 = (_IsKeyPressed(32)|0); $9 = ($8|0)==(0); if (!($9)) { - $10 = HEAP32[4391]|0; + $10 = HEAP32[4153]|0; _StopMusicStream($10); - $11 = HEAP32[4391]|0; + $11 = HEAP32[4153]|0; _PlayMusicStream($11); } $12 = (_IsKeyPressed(80)|0); $13 = ($12|0)==(0); do { if (!($13)) { - $14 = HEAP32[4392]|0; + $14 = HEAP32[4154]|0; $15 = ($14|0)==(0); $16 = $15&1; - HEAP32[4392] = $16; - $17 = HEAP32[4391]|0; + HEAP32[4154] = $16; + $17 = HEAP32[4153]|0; if ($15) { _PauseMusicStream($17); break; @@ -11162,13 +11345,13 @@ function _UpdateDrawFrame() { } } } while(0); - $18 = HEAP32[4391]|0; + $18 = HEAP32[4153]|0; $19 = (+_GetMusicTimePlayed($18)); - $20 = HEAP32[4391]|0; + $20 = HEAP32[4153]|0; $21 = (+_GetMusicTimeLength($20)); $22 = $19 / $21; $23 = $22 * 400.0; - HEAPF32[4390] = $23; + HEAPF32[4152] = $23; _BeginDrawing(); HEAP8[$0>>0] = -11; $24 = ((($0)) + 1|0); @@ -11187,7 +11370,7 @@ function _UpdateDrawFrame() { $29 = ((($1)) + 3|0); HEAP8[$29>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(4767,255,150,20,$$byval_copy6); + _DrawText(4481,255,150,20,$$byval_copy6); HEAP8[$2>>0] = -56; $30 = ((($2)) + 1|0); HEAP8[$30>>0] = -56; @@ -11197,7 +11380,7 @@ function _UpdateDrawFrame() { HEAP8[$32>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$2+3>>0]|0; _DrawRectangle(200,200,400,12,$$byval_copy6); - $33 = +HEAPF32[4390]; + $33 = +HEAPF32[4152]; $34 = (~~(($33))); HEAP8[$3>>0] = -66; $35 = ((($3)) + 1|0); @@ -11225,7 +11408,7 @@ function _UpdateDrawFrame() { $43 = ((($5)) + 3|0); HEAP8[$43>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(4792,215,250,20,$$byval_copy6); + _DrawText(4506,215,250,20,$$byval_copy6); HEAP8[$6>>0] = -56; $44 = ((($6)) + 1|0); HEAP8[$44>>0] = -56; @@ -11234,10 +11417,60 @@ function _UpdateDrawFrame() { $46 = ((($6)) + 3|0); HEAP8[$46>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(4821,208,280,20,$$byval_copy6); + _DrawText(4535,208,280,20,$$byval_copy6); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -11337,13 +11570,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11953,7 +12179,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4394] = $2; + HEAP32[4156] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11966,7 +12192,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17288; + $95 = 16336; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11979,48 +12205,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17328; + $106 = 16376; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4332]; - $111 = +HEAPF32[4322]; + $110 = +HEAPF32[4094]; + $111 = +HEAPF32[4084]; $112 = $110 - $111; - HEAPF32[4334] = $112; - $113 = +HEAPF32[(17332)>>2]; - $114 = +HEAPF32[(17292)>>2]; + HEAPF32[4096] = $112; + $113 = +HEAPF32[(16380)>>2]; + $114 = +HEAPF32[(16340)>>2]; $115 = $113 - $114; - HEAPF32[(17340)>>2] = $115; - HEAP32[4393] = 4; + HEAPF32[(16388)>>2] = $115; + HEAP32[4155] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17320+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4399] = $116; - $117 = 17320; + HEAPF32[4161] = $116; + $117 = 16368; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17288; + $123 = 16336; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17344; + $127 = 16392; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17328; + $133 = 16376; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12033,7 +12259,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17320; + $144 = 16368; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12046,27 +12272,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17344; + $155 = 16392; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4336]; - $160 = +HEAPF32[4330]; + $159 = +HEAPF32[4098]; + $160 = +HEAPF32[4092]; $161 = $159 - $160; - HEAPF32[4334] = $161; - $162 = +HEAPF32[(17348)>>2]; - $163 = +HEAPF32[(17324)>>2]; + HEAPF32[4096] = $161; + $162 = +HEAPF32[(16396)>>2]; + $163 = +HEAPF32[(16372)>>2]; $164 = $162 - $163; - HEAPF32[(17340)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17320+4>>2]|0; + HEAPF32[(16388)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12078,31 +12304,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17320+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4399]; + $170 = +HEAPF32[4161]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4393] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17320+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17344+4>>2]|0; + HEAP32[4155] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16392+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4400] = $174; + HEAPF32[4162] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4399] = 0.0; - HEAPF32[4400] = 0.0; - HEAPF32[4334] = 0.0; - HEAPF32[(17340)>>2] = 0.0; - HEAP32[4394] = 0; - HEAP32[4393] = 0; + HEAPF32[4161] = 0.0; + HEAPF32[4162] = 0.0; + HEAPF32[4096] = 0.0; + HEAPF32[(16388)>>2] = 0.0; + HEAP32[4156] = 0; + HEAP32[4155] = 0; STACKTOP = sp;return; break; } @@ -12112,22 +12338,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4395]|0; + $6 = HEAP32[4157]|0; $7 = (($6) + 1)|0; - HEAP32[4395] = $7; - $8 = HEAP32[4393]|0; + HEAP32[4157] = $7; + $8 = HEAP32[4155]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4393] = 2; - HEAP32[4395] = 0; + HEAP32[4155] = 2; + HEAP32[4157] = 0; } else { label = 6; } @@ -12135,8 +12361,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4395] = 1; - HEAP32[4393] = 1; + HEAP32[4157] = 1; + HEAP32[4155] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12145,19 +12371,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17288; + $21 = 16336; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17296; + $25 = 16344; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17304; + $29 = 16352; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12166,13 +12392,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4328] = 0.0; - HEAPF32[(17316)>>2] = 0.0; + HEAPF32[4090] = 0.0; + HEAPF32[(16364)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4393]|0; + $35 = HEAP32[4155]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12182,19 +12408,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17304; + $44 = 16352; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17304>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17304+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16352+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4396] = $49; - HEAP32[4397] = 0; + HEAPF32[4158] = $49; + HEAP32[4159] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -12202,11 +12428,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17304>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17304+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16352+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4398] = $56; + HEAPF32[4160] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12237,22 +12463,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4396] = 0.0; - HEAPF32[4398] = 0.0; + HEAPF32[4158] = 0.0; + HEAPF32[4160] = 0.0; $$sink10 = 0; } - HEAP32[4393] = $$sink10; - HEAPF32[4324] = 0.0; - HEAPF32[(17300)>>2] = 0.0; - HEAP32[4394] = 0; + HEAP32[4155] = $$sink10; + HEAPF32[4086] = 0.0; + HEAPF32[(16348)>>2] = 0.0; + HEAP32[4156] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4397]|0; + $65 = HEAP32[4159]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4397] = 1; + HEAP32[4159] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12261,31 +12487,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17320; + $74 = 16368; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4393]|0; + $78 = HEAP32[4155]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17288>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17288+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17320+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4393] = 8; + HEAP32[4155] = 8; } } - $82 = +HEAPF32[4330]; - $83 = +HEAPF32[4324]; + $82 = +HEAPF32[4092]; + $83 = +HEAPF32[4086]; $84 = $82 - $83; - HEAPF32[4328] = $84; - $85 = +HEAPF32[(17324)>>2]; - $86 = +HEAPF32[(17300)>>2]; + HEAPF32[4090] = $84; + $85 = +HEAPF32[(16372)>>2]; + $86 = +HEAPF32[(16348)>>2]; $87 = $85 - $86; - HEAPF32[(17316)>>2] = $87; + HEAPF32[(16364)>>2] = $87; STACKTOP = sp;return; break; } @@ -12294,58 +12520,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4393]|0; + $0 = HEAP32[4155]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4394]|0; + $2 = HEAP32[4156]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4393] = 4; + HEAP32[4155] = 4; } - $4 = HEAP32[4393]|0; + $4 = HEAP32[4155]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12358,14 +12545,14 @@ function _UpdateGestures() { return; } } - HEAP32[4393] = 0; + HEAP32[4155] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 17352; + $1 = 16400; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12382,13 +12569,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4403]|0; + $0 = HEAP32[4165]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4402]|0; + $0 = HEAP32[4164]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12399,29 +12586,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4851,$vararg_buffer); - HEAP32[4405] = $2; + _TraceLog(0,4565,$vararg_buffer); + HEAP32[4167] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4880|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4880|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4880|0),(0|0),1,(7|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4403]|0; + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); + (_emscripten_set_keypress_callback((4594|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((4594|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((4594|0),(0|0),1,(6|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); + $3 = HEAP32[4165]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4338] = $5; - $6 = HEAP32[4402]|0; + HEAPF32[4100] = $5; + $6 = HEAP32[4164]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17356)>>2] = $8; - $9 = HEAP32[4406]|0; + HEAPF32[(16404)>>2] = $8; + $9 = HEAP32[4168]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12440,11 +12627,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17392>>0]=HEAP8[9409>>0]|0;HEAP8[17392+1>>0]=HEAP8[9409+1>>0]|0;HEAP8[17392+2>>0]=HEAP8[9409+2>>0]|0;HEAP8[17392+3>>0]=HEAP8[9409+3>>0]|0;HEAP8[17392+4>>0]=HEAP8[9409+4>>0]|0;HEAP8[17392+5>>0]=HEAP8[9409+5>>0]|0;HEAP8[17392+6>>0]=HEAP8[9409+6>>0]|0; + ;HEAP8[16440>>0]=HEAP8[9123>>0]|0;HEAP8[16440+1>>0]=HEAP8[9123+1>>0]|0;HEAP8[16440+2>>0]=HEAP8[9123+2>>0]|0;HEAP8[16440+3>>0]=HEAP8[9123+3>>0]|0;HEAP8[16440+4>>0]=HEAP8[9123+4>>0]|0;HEAP8[16440+5>>0]=HEAP8[9123+5>>0]|0;HEAP8[16440+6>>0]=HEAP8[9123+6>>0]|0; break; } case 1: { - $3 = 17392; + $3 = 16440; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12453,11 +12640,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17392; src=9416; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16440; src=9130; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17392; + $7 = 16440; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12468,16 +12655,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17392,$1)|0); - $strlen = (_strlen(17392)|0); - $endptr = (17392 + ($strlen)|0); + (_strcat(16440,$1)|0); + $strlen = (_strlen(16440)|0); + $endptr = (16440 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17392,$2)|0); + (_vprintf(16440,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12509,22 +12696,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4403] = $0; - HEAP32[4402] = $1; + HEAP32[4165] = $0; + HEAP32[4164] = $1; _MatrixIdentity($2); - dest=17700; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16748; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((1|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,5551,$vararg_buffer); + _TraceLog(1,5265,$vararg_buffer); } - $6 = HEAP32[4403]|0; - HEAP32[4441] = $6; - $7 = HEAP32[4402]|0; - HEAP32[4442] = $7; + $6 = HEAP32[4165]|0; + HEAP32[4203] = $6; + $7 = HEAP32[4164]|0; + HEAP32[4204] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21440]|0; + $8 = HEAP8[20488]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12532,18 +12719,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21440]|0; + $11 = HEAP8[20488]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21440]|0; + $14 = HEAP8[20488]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,5577,$vararg_buffer1); + _TraceLog(0,5291,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12560,18 +12747,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4443]|0; + $21 = HEAP32[4205]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4403]|0; - $48 = HEAP32[4402]|0; - $49 = HEAP32[4405]|0; + $47 = HEAP32[4165]|0; + $48 = HEAP32[4164]|0; + $49 = HEAP32[4167]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4401] = $50; - $51 = HEAP32[4403]|0; - HEAP32[4444] = $51; - $52 = HEAP32[4402]|0; - HEAP32[4445] = $52; + HEAP32[4163] = $50; + $51 = HEAP32[4165]|0; + HEAP32[4206] = $51; + $52 = HEAP32[4164]|0; + HEAP32[4207] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12580,9 +12767,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4403]|0; + $27 = HEAP32[4165]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4402]|0; + $29 = HEAP32[4164]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12604,87 +12791,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4441] = $31; - HEAP32[4442] = $34; + HEAP32[4203] = $31; + HEAP32[4204] = $34; } } while(0); - $38 = HEAP32[4441]|0; - $39 = HEAP32[4442]|0; + $38 = HEAP32[4203]|0; + $39 = HEAP32[4204]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5602,$vararg_buffer3); - $40 = HEAP32[4441]|0; - $41 = HEAP32[4442]|0; + _TraceLog(2,5316,$vararg_buffer3); + $40 = HEAP32[4203]|0; + $41 = HEAP32[4204]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4441]|0; - $43 = HEAP32[4442]|0; - $44 = HEAP32[4405]|0; + $42 = HEAP32[4203]|0; + $43 = HEAP32[4204]|0; + $44 = HEAP32[4167]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4401] = $46; + HEAP32[4163] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,5640,$vararg_buffer6); + _TraceLog(1,5354,$vararg_buffer6); } else { - _TraceLog(0,5673,$vararg_buffer8); - $55 = HEAP32[4444]|0; - $56 = HEAP32[4445]|0; + _TraceLog(0,5387,$vararg_buffer8); + $55 = HEAP32[4206]|0; + $56 = HEAP32[4207]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5713,$vararg_buffer10); - $57 = HEAP32[4403]|0; - $58 = HEAP32[4402]|0; + _TraceLog(0,5427,$vararg_buffer10); + $57 = HEAP32[4165]|0; + $58 = HEAP32[4164]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5734,$vararg_buffer14); - $59 = HEAP32[4446]|0; - $60 = HEAP32[4447]|0; + _TraceLog(0,5448,$vararg_buffer14); + $59 = HEAP32[4208]|0; + $60 = HEAP32[4209]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5755,$vararg_buffer18); + _TraceLog(0,5469,$vararg_buffer18); } - $61 = HEAP32[4401]|0; + $61 = HEAP32[4163]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4401]|0; + $62 = HEAP32[4163]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[4401]|0; + $63 = HEAP32[4163]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4401]|0; + $64 = HEAP32[4163]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4401]|0; + $65 = HEAP32[4163]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4401]|0; + $66 = HEAP32[4163]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[4401]|0; + $67 = HEAP32[4163]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4401]|0; + $68 = HEAP32[4163]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[4401]|0; + $69 = HEAP32[4163]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21440]|0; + $70 = HEAP8[20488]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4403]|0; - $74 = HEAP32[4402]|0; + $73 = HEAP32[4165]|0; + $74 = HEAP32[4164]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4444]|0; - $76 = HEAP32[4446]|0; + $75 = HEAP32[4206]|0; + $76 = HEAP32[4208]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4445]|0; - $80 = HEAP32[4447]|0; + $79 = HEAP32[4207]|0; + $80 = HEAP32[4209]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12702,19 +12889,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,5780,$vararg_buffer22); - $73 = HEAP32[4403]|0; - $74 = HEAP32[4402]|0; + _TraceLog(0,5494,$vararg_buffer22); + $73 = HEAP32[4165]|0; + $74 = HEAP32[4164]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4444]|0; - $76 = HEAP32[4446]|0; + $75 = HEAP32[4206]|0; + $76 = HEAP32[4208]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4445]|0; - $80 = HEAP32[4447]|0; + $79 = HEAP32[4207]|0; + $80 = HEAP32[4209]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12742,7 +12929,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(17668)>>2] = 224; + HEAP32[(16716)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12783,27 +12970,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[17644>>2]=HEAP32[$1>>2]|0;HEAP32[17644+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17644+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17644+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17644+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16692>>2]=HEAP32[$1>>2]|0;HEAP32[16692+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16692+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16692+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16692+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(17668)>>2]|0; + $5 = HEAP32[(16716)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(17672)>>2] = $7; + HEAP32[(16720)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17664)>>2] = $23; - $24 = HEAP32[4411]|0; + HEAP32[(16712)>>2] = $23; + $24 = HEAP32[4173]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5075,$vararg_buffer); + _TraceLog(0,4789,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(17648)>>2]|0; - $10 = HEAP32[(17668)>>2]|0; - $11 = HEAP32[(17672)>>2]|0; + $9 = HEAP32[(16696)>>2]|0; + $10 = HEAP32[(16716)>>2]|0; + $11 = HEAP32[(16720)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12852,10 +13039,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17664)>>2] = $23; - $24 = HEAP32[4411]|0; + HEAP32[(16712)>>2] = $23; + $24 = HEAP32[4173]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5075,$vararg_buffer); + _TraceLog(0,4789,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12864,7 +13051,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2173] = $1; + HEAPF64[2054] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12894,7 +13081,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,5008,$vararg_buffer4); + _TraceLog(0,4722,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12904,7 +13091,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4939,$vararg_buffer); + _TraceLog(0,4653,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12920,7 +13107,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4932)|0); + $5 = (_strcmp($4,4646)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -13023,7 +13210,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17368; + $31 = 16416; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13036,7 +13223,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17376); + $42 = (16424); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13092,7 +13279,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (17628 + ($10<<2)|0); + $11 = (16676 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13106,19 +13293,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2170] = $$; + HEAPF64[2051] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4888,$vararg_buffer); + _TraceLog(0,4602,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4406] = 0; + HEAP32[4168] = 0; return; } function _GetTime() { @@ -13217,7 +13404,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,5451,$vararg_buffer); + _TraceLog(2,5165,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13694,52 +13881,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4419]|0; + $6 = HEAP32[4181]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,5120,$vararg_buffer); + _TraceLog(2,4834,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4420]|0; + $9 = HEAP32[4182]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,5164,$vararg_buffer1); + _TraceLog(2,4878,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4421]|0; + $12 = HEAP32[4183]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,5209,$vararg_buffer3); + _TraceLog(2,4923,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4422]|0; + $15 = HEAP32[4184]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,5254,$vararg_buffer5); + _TraceLog(2,4968,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4423]|0; + $18 = HEAP32[4185]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,5299,$vararg_buffer7); + _TraceLog(2,5013,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13777,7 +13964,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4419]|0; + $22 = HEAP32[4181]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13785,7 +13972,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4419]|0; + $24 = HEAP32[4181]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13793,7 +13980,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4419]|0; + $26 = HEAP32[4181]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13801,7 +13988,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4419]|0; + $28 = HEAP32[4181]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13809,7 +13996,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4420]|0; + $30 = HEAP32[4182]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13817,7 +14004,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4421]|0; + $32 = HEAP32[4183]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13825,7 +14012,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4421]|0; + $34 = HEAP32[4183]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13833,7 +14020,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4422]|0; + $36 = HEAP32[4184]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13841,7 +14028,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4422]|0; + $38 = HEAP32[4184]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13849,7 +14036,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4423]|0; + $40 = HEAP32[4185]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13857,7 +14044,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4423]|0; + $42 = HEAP32[4185]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13865,11 +14052,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,5344,$vararg_buffer9); + _TraceLog(2,5058,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4424]|0; + $44 = HEAP32[4186]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13884,7 +14071,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,5422,$vararg_buffer15); + _TraceLog(2,5136,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13893,7 +14080,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5373,$vararg_buffer11); + _TraceLog(0,5087,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14167,7 +14354,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,5505,$vararg_buffer); + _TraceLog(2,5219,$vararg_buffer); $$1 = $$0106; } } @@ -14194,7 +14381,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9371,$vararg_buffer); + _TraceLog(2,9085,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14215,20 +14402,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4403]|0; + $3 = HEAP32[4165]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4402]|0; + $5 = HEAP32[4164]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4444] = $3; - HEAP32[4445] = $5; - HEAP32[4446] = 0; - HEAP32[4447] = 0; + HEAP32[4206] = $3; + HEAP32[4207] = $5; + HEAP32[4208] = 0; + HEAP32[4209] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14238,13 +14425,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9305,$vararg_buffer8); + _TraceLog(0,9019,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4403]|0; + $35 = HEAP32[4165]|0; $36 = (+($35|0)); - $37 = HEAP32[4402]|0; + $37 = HEAP32[4164]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14252,26 +14439,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4444] = $45; - HEAP32[4445] = $37; + HEAP32[4206] = $45; + HEAP32[4207] = $37; $46 = (($45) - ($35))|0; - HEAP32[4446] = $46; + HEAP32[4208] = $46; $$sink1 = 0; } else { - HEAP32[4444] = $35; + HEAP32[4206] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4445] = $42; - HEAP32[4446] = 0; + HEAP32[4207] = $42; + HEAP32[4208] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4447] = $$sink1; + HEAP32[4209] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4402]|0; + $7 = HEAP32[4164]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14279,13 +14466,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,9162,$vararg_buffer); + _TraceLog(2,8876,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4403]|0; + $9 = HEAP32[4165]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4402]|0; + $13 = HEAP32[4164]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14293,37 +14480,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4444] = $23; - HEAP32[4445] = $1; + HEAP32[4206] = $23; + HEAP32[4207] = $1; $24 = (($0) - ($23))|0; - HEAP32[4446] = $24; + HEAP32[4208] = $24; $$sink = 0; } else { - HEAP32[4444] = $0; - $17 = HEAP32[4402]|0; + HEAP32[4206] = $0; + $17 = HEAP32[4164]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4445] = $20; - HEAP32[4446] = 0; + HEAP32[4207] = $20; + HEAP32[4208] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4447] = $$sink; - $25 = HEAP32[4444]|0; + HEAP32[4209] = $$sink; + $25 = HEAP32[4206]|0; $26 = (+($25|0)); - $27 = HEAP32[4403]|0; + $27 = HEAP32[4165]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17700; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4444] = $0; - HEAP32[4445] = $1; + dest=16748; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4206] = $0; + HEAP32[4207] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9240,$vararg_buffer4); + _TraceLog(2,8954,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14341,10 +14528,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4403] = $1; - HEAP32[4402] = $2; - HEAP32[4444] = $1; - HEAP32[4445] = $2; + HEAP32[4165] = $1; + HEAP32[4164] = $2; + HEAP32[4206] = $1; + HEAP32[4207] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14371,7 +14558,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21447 + ($1)|0); + $9 = (20495 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14392,7 +14579,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21441 + ($1)|0); + $7 = (20489 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14471,7 +14658,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17368; + $15 = 16416; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14506,7 +14693,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4817] = $3; + HEAP32[4579] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14516,7 +14703,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4816] = $$sink; + HEAP32[4578] = $$sink; return; } function _rlglInit($0,$1) { @@ -14556,16 +14743,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5803,$vararg_buffer); + _TraceLog(0,5517,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5821,$vararg_buffer1); + _TraceLog(0,5535,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5839,$vararg_buffer4); + _TraceLog(0,5553,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5857,$vararg_buffer7); + _TraceLog(0,5571,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14573,7 +14760,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5875)|0); + $15 = (_strtok($$sink63,5589)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14587,41 +14774,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5877,$vararg_buffer10); + _TraceLog(0,5591,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5912)|0); + $25 = (_strcmp($24,5626)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4482] = 1; - $27 = (_eglGetProcAddress((5939|0))|0); - HEAP32[4483] = $27; - $28 = (_eglGetProcAddress((5960|0))|0); - HEAP32[4484] = $28; - $29 = (_eglGetProcAddress((5981|0))|0); - HEAP32[4485] = $29; - } - $30 = (_strcmp($24,6005)|0); + HEAP32[4244] = 1; + $27 = (_eglGetProcAddress((5653|0))|0); + HEAP32[4245] = $27; + $28 = (_eglGetProcAddress((5674|0))|0); + HEAP32[4246] = $28; + $29 = (_eglGetProcAddress((5695|0))|0); + HEAP32[4247] = $29; + } + $30 = (_strcmp($24,5719)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4424] = 1; + HEAP32[4186] = 1; } - $32 = (_strcmp($24,6025)|0); + $32 = (_strcmp($24,5739)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,6057)|0); + $35 = (_strcmp($34,5771)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,6090)|0); + $37 = (_strcmp($34,5804)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14630,15 +14817,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4419] = 1; + HEAP32[4181] = 1; } - $39 = (_strcmp($24,6130)|0); + $39 = (_strcmp($24,5844)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,6166)|0); + $42 = (_strcmp($41,5880)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14646,35 +14833,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4420] = 1; + HEAP32[4182] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6199)|0); + $45 = (_strcmp($44,5913)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4421] = 1; + HEAP32[4183] = 1; } - $47 = (_strcmp($44,6224)|0); + $47 = (_strcmp($44,5938)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4422] = 1; + HEAP32[4184] = 1; } - $49 = (_strcmp($44,6257)|0); + $49 = (_strcmp($44,5971)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4423] = 1; + HEAP32[4185] = 1; } - $51 = (_strcmp($44,6293)|0); + $51 = (_strcmp($44,6007)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4486] = 1; - _glGetFloatv(34047,(17948|0)); + HEAP32[4248] = 1; + _glGetFloatv(34047,(16996|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6327)|0); + $54 = (_strcmp($53,6041)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4488] = 1; + HEAP32[4250] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14685,77 +14872,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4482]|0; + $21 = HEAP32[4244]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,6430,$vararg_buffer15); + _TraceLog(2,6144,$vararg_buffer15); } else { - _TraceLog(0,6355,$vararg_buffer13); + _TraceLog(0,6069,$vararg_buffer13); } - $57 = HEAP32[4424]|0; + $57 = HEAP32[4186]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,6566,$vararg_buffer19); + _TraceLog(2,6280,$vararg_buffer19); } else { - _TraceLog(0,6491,$vararg_buffer17); + _TraceLog(0,6205,$vararg_buffer17); } - $59 = HEAP32[4419]|0; + $59 = HEAP32[4181]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,6658,$vararg_buffer21); + _TraceLog(0,6372,$vararg_buffer21); } - $61 = HEAP32[4420]|0; + $61 = HEAP32[4182]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6704,$vararg_buffer23); + _TraceLog(0,6418,$vararg_buffer23); } - $63 = HEAP32[4421]|0; + $63 = HEAP32[4183]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,6751,$vararg_buffer25); + _TraceLog(0,6465,$vararg_buffer25); } - $65 = HEAP32[4422]|0; + $65 = HEAP32[4184]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6802,$vararg_buffer27); + _TraceLog(0,6516,$vararg_buffer27); } - $67 = HEAP32[4423]|0; + $67 = HEAP32[4185]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6849,$vararg_buffer29); + _TraceLog(0,6563,$vararg_buffer29); } - $69 = HEAP32[4486]|0; + $69 = HEAP32[4248]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4487]; + $71 = +HEAPF32[4249]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6896,$vararg_buffer31); + _TraceLog(0,6610,$vararg_buffer31); } - $73 = HEAP32[4488]|0; + $73 = HEAP32[4250]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6962,$vararg_buffer34); + _TraceLog(0,6676,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4489] = $75; + HEAP32[4251] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,7066,$vararg_buffer39); + _TraceLog(2,6780,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,7015,$vararg_buffer36); + _TraceLog(0,6729,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17960; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18016; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17008; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17064; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4518] = $77; + HEAP32[4280] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4518]|0; + $79 = HEAP32[4280]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14768,7 +14955,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4519] = $78; + HEAP32[4281] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14783,48 +14970,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4520] = 1; - $85 = HEAP32[4489]|0; + HEAP32[4282] = 1; + $85 = HEAP32[4251]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4521] = 4; + HEAP32[4283] = 4; _MatrixIdentity($4); - dest=18088; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17136; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17200); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17264); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18280); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17328); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18344); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17392); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18408); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17456); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18472); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17520); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18536); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17584); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18600); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17648); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18664); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17712); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18728); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17776); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18792); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17840); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18856); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17904); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18920); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17968); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18984); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18032); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19048); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18096); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=17796; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16844; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=17860; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4448] = 17860; + dest=16908; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4210] = 16908; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14835,21 +15022,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4778] = $0; - HEAP32[4779] = $1; - _TraceLog(0,7105,$vararg_buffer41); + HEAP32[4540] = $0; + HEAP32[4541] = $1; + _TraceLog(0,6819,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4446]|0; + $0 = HEAP32[4208]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4447]|0; + $2 = HEAP32[4209]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4444]|0; + $4 = HEAP32[4206]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4445]|0; + $6 = HEAP32[4207]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14860,12 +15047,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17796; + $modelview$sink = 16844; label = 3; break; } case 5888: { - $modelview$sink = 17860; + $modelview$sink = 16908; label = 3; break; } @@ -14873,9 +15060,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4448] = $modelview$sink; + HEAP32[4210] = $modelview$sink; } - HEAP32[4481] = $0; + HEAP32[4243] = $0; return; } function _rlLoadIdentity() { @@ -14883,7 +15070,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4448]|0; + $1 = HEAP32[4210]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14904,7 +15091,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4448]|0; + $8 = HEAP32[4210]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14963,17 +15150,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7681|0),489)|0; - _memcpy(($3|0),(8170|0),441)|0; + _memcpy(($2|0),(7395|0),489)|0; + _memcpy(($3|0),(7884|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8659,$vararg_buffer1); + _TraceLog(2,8373,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8611,$vararg_buffer); + _TraceLog(0,8325,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -15001,15 +15188,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(19132)>>2] = $0; + HEAP32[(18180)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(19140)>>2] = $1; - HEAP32[(19136)>>2] = 0; - HEAP32[(19144)>>2] = 0; + HEAP32[(18188)>>2] = $1; + HEAP32[(18184)>>2] = 0; + HEAP32[(18192)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(19140)>>2]|0; + $2 = HEAP32[(18188)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15020,19 +15207,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4780] = 0; - HEAP32[(19128)>>2] = 0; - HEAP32[(19124)>>2] = 0; + HEAP32[4542] = 0; + HEAP32[(18176)>>2] = 0; + HEAP32[(18172)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19180)>>2] = $5; + HEAP32[(18228)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19188)>>2] = $6; - HEAP32[(19184)>>2] = 0; - HEAP32[(19192)>>2] = 0; + HEAP32[(18236)>>2] = $6; + HEAP32[(18232)>>2] = 0; + HEAP32[(18240)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19188)>>2]|0; + $7 = HEAP32[(18236)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15043,24 +15230,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4792] = 0; - HEAP32[(19176)>>2] = 0; - HEAP32[(19172)>>2] = 0; + HEAP32[4554] = 0; + HEAP32[(18224)>>2] = 0; + HEAP32[(18220)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19228)>>2] = $10; + HEAP32[(18276)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19232)>>2] = $11; + HEAP32[(18280)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19236)>>2] = $12; + HEAP32[(18284)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19240)>>2] = $13; - $14 = HEAP32[(19228)>>2]|0; + HEAP32[(18288)>>2] = $13; + $14 = HEAP32[(18276)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19232)>>2]|0; + $15 = HEAP32[(18280)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19236)>>2]|0; + $17 = HEAP32[(18284)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15071,7 +15258,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19240)>>2]|0; + $16 = HEAP32[(18288)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15108,140 +15295,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4804] = 0; - HEAP32[(19220)>>2] = 0; - HEAP32[(19224)>>2] = 0; - _TraceLog(0,7152,$vararg_buffer); - $20 = HEAP32[4482]|0; + HEAP32[4566] = 0; + HEAP32[(18268)>>2] = 0; + HEAP32[(18272)>>2] = 0; + _TraceLog(0,6866,$vararg_buffer); + $20 = HEAP32[4244]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4483]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19148)); - $44 = HEAP32[4484]|0; - $45 = HEAP32[(19148)>>2]|0; + $43 = HEAP32[4245]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18196)); + $44 = HEAP32[4246]|0; + $45 = HEAP32[(18196)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19152)|0)); - $46 = HEAP32[(19152)>>2]|0; + _glGenBuffers(2,((18200)|0)); + $46 = HEAP32[(18200)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19132)>>2]|0; + $47 = HEAP32[(18180)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18020)>>2]|0; + $48 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18020)>>2]|0; + $49 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19156)|0)); - $50 = HEAP32[(19156)>>2]|0; + _glGenBuffers(2,((18204)|0)); + $50 = HEAP32[(18204)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19140)>>2]|0; + $51 = HEAP32[(18188)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18040)>>2]|0; + $52 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18040)>>2]|0; + $53 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4482]|0; + $54 = HEAP32[4244]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19152)>>2]|0; - $58 = HEAP32[(19156)>>2]|0; + $57 = HEAP32[(18200)>>2]|0; + $58 = HEAP32[(18204)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7290,$vararg_buffer3); + _TraceLog(0,7004,$vararg_buffer3); } else { - $56 = HEAP32[(19148)>>2]|0; + $56 = HEAP32[(18196)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7225,$vararg_buffer1); + _TraceLog(0,6939,$vararg_buffer1); } - $59 = HEAP32[4482]|0; + $59 = HEAP32[4244]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4483]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19196)); - $62 = HEAP32[4484]|0; - $63 = HEAP32[(19196)>>2]|0; + $61 = HEAP32[4245]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18244)); + $62 = HEAP32[4246]|0; + $63 = HEAP32[(18244)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19200)|0)); - $64 = HEAP32[(19200)>>2]|0; + _glGenBuffers(1,((18248)|0)); + $64 = HEAP32[(18248)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19180)>>2]|0; + $65 = HEAP32[(18228)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18020)>>2]|0; + $66 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18020)>>2]|0; + $67 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19204)|0)); - $68 = HEAP32[(19204)>>2]|0; + _glGenBuffers(1,((18252)|0)); + $68 = HEAP32[(18252)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19188)>>2]|0; + $69 = HEAP32[(18236)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18040)>>2]|0; + $70 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18040)>>2]|0; + $71 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4482]|0; + $72 = HEAP32[4244]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19200)>>2]|0; - $76 = HEAP32[(19204)>>2]|0; + $75 = HEAP32[(18248)>>2]|0; + $76 = HEAP32[(18252)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7436,$vararg_buffer10); + _TraceLog(0,7150,$vararg_buffer10); } else { - $74 = HEAP32[(19196)>>2]|0; + $74 = HEAP32[(18244)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7367,$vararg_buffer7); + _TraceLog(0,7081,$vararg_buffer7); } - $77 = HEAP32[4482]|0; + $77 = HEAP32[4244]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4483]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19244)); - $80 = HEAP32[4484]|0; - $81 = HEAP32[(19244)>>2]|0; + $79 = HEAP32[4245]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18292)); + $80 = HEAP32[4246]|0; + $81 = HEAP32[(18292)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19248)|0)); - $82 = HEAP32[(19248)>>2]|0; + _glGenBuffers(1,((18296)|0)); + $82 = HEAP32[(18296)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19228)>>2]|0; + $83 = HEAP32[(18276)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18020)>>2]|0; + $84 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18020)>>2]|0; + $85 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19252)|0)); - $86 = HEAP32[(19252)>>2]|0; + _glGenBuffers(1,((18300)|0)); + $86 = HEAP32[(18300)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19232)>>2]|0; + $87 = HEAP32[(18280)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18024)>>2]|0; + $88 = HEAP32[(17072)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18024)>>2]|0; + $89 = HEAP32[(17072)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19256)|0)); - $90 = HEAP32[(19256)>>2]|0; + _glGenBuffers(1,((18304)|0)); + $90 = HEAP32[(18304)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19236)>>2]|0; + $91 = HEAP32[(18284)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18040)>>2]|0; + $92 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18040)>>2]|0; + $93 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19260)|0)); - $94 = HEAP32[(19260)>>2]|0; + _glGenBuffers(1,((18308)|0)); + $94 = HEAP32[(18308)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19240)>>2]|0; + $95 = HEAP32[(18288)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4482]|0; + $96 = HEAP32[4244]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19248)>>2]|0; - $100 = HEAP32[(19252)>>2]|0; - $101 = HEAP32[(19256)>>2]|0; - $102 = HEAP32[(19260)>>2]|0; + $99 = HEAP32[(18296)>>2]|0; + $100 = HEAP32[(18300)>>2]|0; + $101 = HEAP32[(18304)>>2]|0; + $102 = HEAP32[(18308)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15249,18 +15436,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7582,$vararg_buffer17); + _TraceLog(0,7296,$vararg_buffer17); } else { - $98 = HEAP32[(19244)>>2]|0; + $98 = HEAP32[(18292)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7517,$vararg_buffer14); + _TraceLog(0,7231,$vararg_buffer14); } - $103 = HEAP32[4482]|0; + $103 = HEAP32[4244]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4484]|0; + $105 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15297,10 +15484,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8915,$vararg_buffer4); + _TraceLog(0,8629,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8863,$vararg_buffer); + _TraceLog(2,8577,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15310,7 +15497,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8912,$vararg_buffer1); + _TraceLog(0,8626,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15319,10 +15506,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,9016,$vararg_buffer13); + _TraceLog(0,8730,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8965,$vararg_buffer7); + _TraceLog(2,8679,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15332,25 +15519,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8912,$vararg_buffer10); + _TraceLog(0,8626,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8707|0)); - _glBindAttribLocation(($20|0),1,(8722|0)); - _glBindAttribLocation(($20|0),2,(8753|0)); - _glBindAttribLocation(($20|0),3,(8780|0)); - _glBindAttribLocation(($20|0),4,(8766|0)); - _glBindAttribLocation(($20|0),5,(8737|0)); + _glBindAttribLocation(($20|0),0,(8421|0)); + _glBindAttribLocation(($20|0),1,(8436|0)); + _glBindAttribLocation(($20|0),2,(8467|0)); + _glBindAttribLocation(($20|0),3,(8494|0)); + _glBindAttribLocation(($20|0),4,(8480|0)); + _glBindAttribLocation(($20|0),5,(8451|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,9068,$vararg_buffer16); + _TraceLog(2,8782,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15360,7 +15547,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8912,$vararg_buffer19); + _TraceLog(0,8626,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15369,7 +15556,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,9114,$vararg_buffer22); + _TraceLog(0,8828,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15384,55 +15571,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8707|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8421|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8722|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8436|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8737|0))|0); + $8 = (_glGetAttribLocation(($7|0),(8451|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8753|0))|0); + $11 = (_glGetAttribLocation(($10|0),(8467|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8766|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8480|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8780|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8494|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8792|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8506|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8802|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8516|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8813|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8527|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8824|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8538|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8836|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8550|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8845|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8559|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8854|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8568|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15441,9 +15628,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21441 + ($0)|0); + $1 = (20489 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21444 + ($0)|0); + $3 = (20492 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15455,9 +15642,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21441 + ($0)|0); + $1 = (20489 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21444 + ($0)|0); + $3 = (20492 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15478,10 +15665,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4401]|0; + $0 = HEAP32[4163]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,9426,$vararg_buffer); + _TraceLog(0,9140,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15489,9 +15676,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[17644>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17644+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17644+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17644+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17644+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16692>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16692+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(17672)>>2]|0; + $0 = HEAP32[(16720)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15502,11 +15689,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17956|0)); - $0 = HEAP32[4489]|0; + _glDeleteTextures(1,(17004|0)); + $0 = HEAP32[4251]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9453,$vararg_buffer); - $1 = HEAP32[4519]|0; + _TraceLog(0,9167,$vararg_buffer); + $1 = HEAP32[4281]|0; _free($1); STACKTOP = sp;return; } @@ -15514,17 +15701,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4490]|0; + $0 = HEAP32[4252]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4482]|0; + $0 = HEAP32[4244]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4484]|0; + $2 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15533,39 +15720,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19152)|0)); - _glDeleteBuffers(1,((19156)|0)); - _glDeleteBuffers(1,((19200)|0)); - _glDeleteBuffers(1,((19204)|0)); - _glDeleteBuffers(1,((19248)|0)); - _glDeleteBuffers(1,((19252)|0)); - _glDeleteBuffers(1,((19256)|0)); - _glDeleteBuffers(1,((19260)|0)); - $3 = HEAP32[4482]|0; + _glDeleteBuffers(1,((18200)|0)); + _glDeleteBuffers(1,((18204)|0)); + _glDeleteBuffers(1,((18248)|0)); + _glDeleteBuffers(1,((18252)|0)); + _glDeleteBuffers(1,((18296)|0)); + _glDeleteBuffers(1,((18300)|0)); + _glDeleteBuffers(1,((18304)|0)); + _glDeleteBuffers(1,((18308)|0)); + $3 = HEAP32[4244]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4485]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19148)); - $6 = HEAP32[4485]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19196)); - $7 = HEAP32[4485]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19244)); - } - $8 = HEAP32[(19132)>>2]|0; + $5 = HEAP32[4247]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18196)); + $6 = HEAP32[4247]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18244)); + $7 = HEAP32[4247]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18292)); + } + $8 = HEAP32[(18180)>>2]|0; _free($8); - $9 = HEAP32[(19140)>>2]|0; + $9 = HEAP32[(18188)>>2]|0; _free($9); - $10 = HEAP32[(19180)>>2]|0; + $10 = HEAP32[(18228)>>2]|0; _free($10); - $11 = HEAP32[(19188)>>2]|0; + $11 = HEAP32[(18236)>>2]|0; _free($11); - $12 = HEAP32[(19228)>>2]|0; + $12 = HEAP32[(18276)>>2]|0; _free($12); - $13 = HEAP32[(19232)>>2]|0; + $13 = HEAP32[(18280)>>2]|0; _free($13); - $14 = HEAP32[(19236)>>2]|0; + $14 = HEAP32[(18284)>>2]|0; _free($14); - $15 = HEAP32[(19240)>>2]|0; + $15 = HEAP32[(18288)>>2]|0; _free($15); return; } @@ -15583,7 +15770,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9518,$vararg_buffer); + _TraceLog(0,9232,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15605,16 +15792,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2190] = $0; - $1 = +HEAPF64[2173]; + HEAPF64[2071] = $0; + $1 = +HEAPF64[2054]; $2 = $0 - $1; - HEAPF64[2191] = $2; - HEAPF64[2173] = $0; + HEAPF64[2072] = $2; + HEAPF64[2054] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17700; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=16748; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19272); + _rlMultMatrixf(18320); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15623,53 +15810,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4818] = $1; + HEAP32[4580] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19276)>>2] = $3; + HEAP32[(18324)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19280)>>2] = $5; + HEAP32[(18328)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19284)>>2] = $7; + HEAP32[(18332)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19288)>>2] = $9; + HEAP32[(18336)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19292)>>2] = $11; + HEAP32[(18340)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19296)>>2] = $13; + HEAP32[(18344)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19300)>>2] = $15; + HEAP32[(18348)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19304)>>2] = $17; + HEAP32[(18352)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19308)>>2] = $19; + HEAP32[(18356)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19312)>>2] = $21; + HEAP32[(18360)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19316)>>2] = $23; + HEAP32[(18364)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19320)>>2] = $25; + HEAP32[(18368)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19324)>>2] = $27; + HEAP32[(18372)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19328)>>2] = $29; + HEAP32[(18376)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19332)>>2] = $31; - return (19272|0); + HEAP32[(18380)>>2] = $31; + return (18320|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15744,7 +15931,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4448]|0; + $49 = HEAP32[4210]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15758,15 +15945,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2190] = $0; - $1 = +HEAPF64[2173]; + HEAPF64[2071] = $0; + $1 = +HEAPF64[2054]; $2 = $0 - $1; - HEAPF64[2192] = $2; - HEAPF64[2173] = $0; - $3 = +HEAPF64[2191]; + HEAPF64[2073] = $2; + HEAPF64[2054] = $0; + $3 = +HEAPF64[2072]; $4 = $2 + $3; - HEAPF64[2193] = $4; - $5 = +HEAPF64[2170]; + HEAPF64[2074] = $4; + $5 = +HEAPF64[2051]; $6 = $4 < $5; if (!($6)) { return; @@ -15776,13 +15963,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2190] = $10; - $11 = +HEAPF64[2173]; + HEAPF64[2071] = $10; + $11 = +HEAPF64[2054]; $12 = $10 - $11; - HEAPF64[2173] = $10; - $13 = +HEAPF64[2193]; + HEAPF64[2054] = $10; + $13 = +HEAPF64[2074]; $14 = $12 + $13; - HEAPF64[2193] = $14; + HEAPF64[2074] = $14; return; } function _rlglDraw() { @@ -15795,7 +15982,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4401]|0; + $0 = HEAP32[4163]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15811,20 +15998,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4834] = 0; - $3 = HEAP32[4401]|0; + HEAP32[4596] = 0; + $3 = HEAP32[4163]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4338] = $5; + HEAPF32[4100] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17356)>>2] = $7; - _memcpy((21959|0),(21447|0),512)|0; - ;HEAP8[21444>>0]=HEAP8[21441>>0]|0;HEAP8[21444+1>>0]=HEAP8[21441+1>>0]|0;HEAP8[21444+2>>0]=HEAP8[21441+2>>0]|0; - $8 = HEAP32[4817]|0; - HEAP32[4404] = $8; - HEAP32[4817] = 0; + HEAPF32[(16404)>>2] = $7; + _memcpy((21007|0),(20495|0),512)|0; + ;HEAP8[20492>>0]=HEAP8[20489>>0]|0;HEAP8[20492+1>>0]=HEAP8[20489+1>>0]|0;HEAP8[20492+2>>0]=HEAP8[20489+2>>0]|0; + $8 = HEAP32[4579]|0; + HEAP32[4166] = $8; + HEAP32[4579] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15834,8 +16021,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22471 + ($$05160<<5)|0); - $scevgep67 = (22599 + ($$05160<<5)|0); + $scevgep = (21519 + ($$05160<<5)|0); + $scevgep67 = (21647 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15849,7 +16036,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22599 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21647 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15876,7 +16063,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19340 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18388 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15892,7 +16079,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4834] = $$lcssa; + HEAP32[4596] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15933,87 +16120,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4780]|0; + $0 = HEAP32[4542]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4482]|0; + $2 = HEAP32[4244]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4484]|0; - $5 = HEAP32[(19148)>>2]|0; + $4 = HEAP32[4246]|0; + $5 = HEAP32[(18196)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19152)>>2]|0; + $6 = HEAP32[(18200)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4780]|0; + $7 = HEAP32[4542]|0; $8 = ($7*12)|0; - $9 = HEAP32[(19132)>>2]|0; + $9 = HEAP32[(18180)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19156)>>2]|0; + $10 = HEAP32[(18204)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19128)>>2]|0; + $11 = HEAP32[(18176)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(19140)>>2]|0; + $13 = HEAP32[(18188)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4792]|0; + $14 = HEAP32[4554]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4482]|0; + $16 = HEAP32[4244]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4484]|0; - $19 = HEAP32[(19196)>>2]|0; + $18 = HEAP32[4246]|0; + $19 = HEAP32[(18244)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19200)>>2]|0; + $20 = HEAP32[(18248)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4792]|0; + $21 = HEAP32[4554]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19180)>>2]|0; + $23 = HEAP32[(18228)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19204)>>2]|0; + $24 = HEAP32[(18252)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19176)>>2]|0; + $25 = HEAP32[(18224)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19188)>>2]|0; + $27 = HEAP32[(18236)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4804]|0; + $28 = HEAP32[4566]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4482]|0; + $30 = HEAP32[4244]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4484]|0; - $33 = HEAP32[(19244)>>2]|0; + $32 = HEAP32[4246]|0; + $33 = HEAP32[(18292)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19248)>>2]|0; + $34 = HEAP32[(18296)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4804]|0; + $35 = HEAP32[4566]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19228)>>2]|0; + $37 = HEAP32[(18276)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19252)>>2]|0; + $38 = HEAP32[(18300)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4804]|0; + $39 = HEAP32[4566]|0; $40 = $39 << 3; - $41 = HEAP32[(19232)>>2]|0; + $41 = HEAP32[(18280)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19256)>>2]|0; + $42 = HEAP32[(18304)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4804]|0; + $43 = HEAP32[4566]|0; $44 = $43 << 2; - $45 = HEAP32[(19236)>>2]|0; + $45 = HEAP32[(18284)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4482]|0; + $46 = HEAP32[4244]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4484]|0; + $48 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16031,9 +16218,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17796; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=17860; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4867]|0; + dest=$0; src=16844; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=16908; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4629]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16043,134 +16230,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4780]|0; + $8 = HEAP32[4542]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4792]|0; + $10 = HEAP32[4554]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4804]|0; + $12 = HEAP32[4566]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4504]|0; + $14 = HEAP32[4266]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17860; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=17796; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=16908; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=16844; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18044)>>2]|0; + $15 = HEAP32[(17092)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18048)>>2]|0; + $17 = HEAP32[(17096)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18060)>>2]|0; + $18 = HEAP32[(17108)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4780]|0; + $19 = HEAP32[4542]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4489]|0; + $21 = HEAP32[4251]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4482]|0; + $22 = HEAP32[4244]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19152)>>2]|0; + $26 = HEAP32[(18200)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18020)>>2]|0; + $27 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18020)>>2]|0; + $28 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19156)>>2]|0; + $29 = HEAP32[(18204)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18040)>>2]|0; + $30 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18040)>>2]|0; + $31 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4484]|0; - $25 = HEAP32[(19148)>>2]|0; + $24 = HEAP32[4246]|0; + $25 = HEAP32[(18196)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4780]|0; + $32 = HEAP32[4542]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4482]|0; + $33 = HEAP32[4244]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4792]|0; + $35 = HEAP32[4554]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4489]|0; + $37 = HEAP32[4251]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4482]|0; + $38 = HEAP32[4244]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19200)>>2]|0; + $42 = HEAP32[(18248)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18020)>>2]|0; + $43 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18020)>>2]|0; + $44 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19204)>>2]|0; + $45 = HEAP32[(18252)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18040)>>2]|0; + $46 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18040)>>2]|0; + $47 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4484]|0; - $41 = HEAP32[(19196)>>2]|0; + $40 = HEAP32[4246]|0; + $41 = HEAP32[(18244)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4792]|0; + $48 = HEAP32[4554]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4482]|0; + $49 = HEAP32[4244]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4804]|0; + $51 = HEAP32[4566]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4482]|0; + $53 = HEAP32[4244]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19248)>>2]|0; + $57 = HEAP32[(18296)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18020)>>2]|0; + $58 = HEAP32[(17068)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18020)>>2]|0; + $59 = HEAP32[(17068)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19252)>>2]|0; + $60 = HEAP32[(18300)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18024)>>2]|0; + $61 = HEAP32[(17072)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18024)>>2]|0; + $62 = HEAP32[(17072)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19256)>>2]|0; + $63 = HEAP32[(18304)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18040)>>2]|0; + $64 = HEAP32[(17088)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18040)>>2]|0; + $65 = HEAP32[(17088)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19260)>>2]|0; + $66 = HEAP32[(18308)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4484]|0; - $56 = HEAP32[(19244)>>2]|0; + $55 = HEAP32[4246]|0; + $56 = HEAP32[(18292)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4520]|0; + $67 = HEAP32[4282]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4519]|0; + $71 = HEAP32[4281]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16181,14 +16368,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4519]|0; + $80 = HEAP32[4281]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4520]|0; + $87 = HEAP32[4282]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16197,7 +16384,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4482]|0; + $69 = HEAP32[4244]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16205,10 +16392,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4482]|0; + $89 = HEAP32[4244]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4484]|0; + $91 = HEAP32[4246]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16220,22 +16407,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4520] = 1; - $5 = HEAP32[4489]|0; - $6 = HEAP32[4519]|0; + HEAP32[4282] = 1; + $5 = HEAP32[4251]|0; + $6 = HEAP32[4281]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4780] = 0; - HEAP32[(19128)>>2] = 0; - HEAP32[4792] = 0; - HEAP32[(19176)>>2] = 0; - HEAP32[4804] = 0; - HEAP32[(19220)>>2] = 0; - HEAP32[(19224)>>2] = 0; + HEAP32[4542] = 0; + HEAP32[(18176)>>2] = 0; + HEAP32[4554] = 0; + HEAP32[(18224)>>2] = 0; + HEAP32[4566] = 0; + HEAP32[(18268)>>2] = 0; + HEAP32[(18272)>>2] = 0; HEAPF32[744] = -1.0; - dest=17796; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17860; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16844; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16908; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16250,17 +16437,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4778]|0; + $5 = HEAP32[4540]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4779]|0; + $9 = HEAP32[4541]|0; _rlViewport($7,0,$8,$9); - $10 = (19700 + ($0<<6)|0); + $10 = (18748 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19572 + ($0<<6)|0); + $11 = (18620 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16272,14 +16459,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17860; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16908; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17796; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16844; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -16287,43 +16474,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4957]|0; + $0 = HEAP32[4719]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,9568,$vararg_buffer); + _TraceLog(1,9282,$vararg_buffer); } - $2 = HEAP32[4957]|0; - $3 = (18088 + ($2<<6)|0); - $4 = HEAP32[4448]|0; + $2 = HEAP32[4719]|0; + $3 = (17136 + ($2<<6)|0); + $4 = HEAP32[4210]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4957]|0; + $5 = HEAP32[4719]|0; $6 = (($5) + 1)|0; - HEAP32[4957] = $6; - $7 = HEAP32[4481]|0; + HEAP32[4719] = $6; + $7 = HEAP32[4243]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4958] = 1; + HEAP32[4720] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4957]|0; + $0 = HEAP32[4719]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4957]|0; + $2 = HEAP32[4719]|0; $3 = (($2) + -1)|0; - $4 = (18088 + ($3<<6)|0); - $5 = HEAP32[4448]|0; + $4 = (17136 + ($3<<6)|0); + $5 = HEAP32[4210]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4957] = $6; + HEAP32[4719] = $6; return; } function _IsFileExtension($0,$1) { @@ -16347,9 +16534,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21447 + ($0)|0); + $1 = (20495 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21959 + ($0)|0); + $3 = (21007 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16370,7 +16557,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4448]|0; + $5 = HEAP32[4210]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16403,7 +16590,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4448]|0; + $11 = HEAP32[4210]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16414,7 +16601,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4521] = $0; + HEAP32[4283] = $0; return; } function _rlEnd() { @@ -16430,21 +16617,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4958]|0; + $0 = HEAP32[4720]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4959]|0; + $2 = HEAP32[4721]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4518]|0; + $6 = HEAP32[4280]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4448]|0; + $8 = HEAP32[4210]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4959]|0; + $5 = HEAP32[4721]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16452,12 +16639,12 @@ function _rlEnd() { break; } } - HEAP32[4958] = 0; + HEAP32[4720] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4518]|0; + $11 = HEAP32[4280]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16466,7 +16653,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4959]|0; + $19 = HEAP32[4721]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16476,15 +16663,15 @@ function _rlEnd() { } } } else { - HEAP32[4958] = 0; + HEAP32[4720] = 0; } - HEAP32[4959] = 0; + HEAP32[4721] = 0; } - $21 = HEAP32[4521]|0; + $21 = HEAP32[4283]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4780]|0; - $23 = HEAP32[(19128)>>2]|0; + $22 = HEAP32[4542]|0; + $23 = HEAP32[(18176)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -16503,16 +16690,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(19140)>>2]|0; - $28 = HEAP32[(19128)>>2]|0; + $27 = HEAP32[(18188)>>2]|0; + $28 = HEAP32[(18176)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(19140)>>2]|0; - $35 = HEAP32[(19128)>>2]|0; + $34 = HEAP32[(18188)>>2]|0; + $35 = HEAP32[(18176)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16520,8 +16707,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(19140)>>2]|0; - $43 = HEAP32[(19128)>>2]|0; + $42 = HEAP32[(18188)>>2]|0; + $43 = HEAP32[(18176)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16529,8 +16716,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(19140)>>2]|0; - $51 = HEAP32[(19128)>>2]|0; + $50 = HEAP32[(18188)>>2]|0; + $51 = HEAP32[(18176)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16538,9 +16725,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(19128)>>2]|0; + $58 = HEAP32[(18176)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(19128)>>2] = $59; + HEAP32[(18176)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16556,8 +16743,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4792]|0; - $62 = HEAP32[(19176)>>2]|0; + $61 = HEAP32[4554]|0; + $62 = HEAP32[(18224)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16576,16 +16763,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19188)>>2]|0; - $67 = HEAP32[(19176)>>2]|0; + $66 = HEAP32[(18236)>>2]|0; + $67 = HEAP32[(18224)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19188)>>2]|0; - $74 = HEAP32[(19176)>>2]|0; + $73 = HEAP32[(18236)>>2]|0; + $74 = HEAP32[(18224)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16593,8 +16780,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19188)>>2]|0; - $82 = HEAP32[(19176)>>2]|0; + $81 = HEAP32[(18236)>>2]|0; + $82 = HEAP32[(18224)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16602,8 +16789,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19188)>>2]|0; - $90 = HEAP32[(19176)>>2]|0; + $89 = HEAP32[(18236)>>2]|0; + $90 = HEAP32[(18224)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16611,9 +16798,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19176)>>2]|0; + $97 = HEAP32[(18224)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19176)>>2] = $98; + HEAP32[(18224)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16629,8 +16816,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4804]|0; - $101 = HEAP32[(19224)>>2]|0; + $100 = HEAP32[4566]|0; + $101 = HEAP32[(18272)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16638,16 +16825,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19236)>>2]|0; - $106 = HEAP32[(19224)>>2]|0; + $105 = HEAP32[(18284)>>2]|0; + $106 = HEAP32[(18272)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19236)>>2]|0; - $113 = HEAP32[(19224)>>2]|0; + $112 = HEAP32[(18284)>>2]|0; + $113 = HEAP32[(18272)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16655,8 +16842,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19236)>>2]|0; - $121 = HEAP32[(19224)>>2]|0; + $120 = HEAP32[(18284)>>2]|0; + $121 = HEAP32[(18272)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16664,8 +16851,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19236)>>2]|0; - $129 = HEAP32[(19224)>>2]|0; + $128 = HEAP32[(18284)>>2]|0; + $129 = HEAP32[(18272)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16673,9 +16860,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19224)>>2]|0; + $136 = HEAP32[(18272)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19224)>>2] = $137; + HEAP32[(18272)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16686,8 +16873,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4804]|0; - $140 = HEAP32[(19220)>>2]|0; + $139 = HEAP32[4566]|0; + $140 = HEAP32[(18268)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16695,8 +16882,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19232)>>2]|0; - $$promoted = HEAP32[(19220)>>2]|0; + $142 = HEAP32[(18280)>>2]|0; + $$promoted = HEAP32[(18268)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16704,7 +16891,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19220)>>2] = $147; + HEAP32[(18268)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16731,11 +16918,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4958]|0; + $3 = HEAP32[4720]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4518]|0; - $6 = HEAP32[4959]|0; + $5 = HEAP32[4280]|0; + $6 = HEAP32[4721]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16743,16 +16930,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4959] = $10; + HEAP32[4721] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4521]|0; + $11 = HEAP32[4283]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4780]|0; + $12 = HEAP32[4542]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(19132)>>2]|0; + $14 = HEAP32[(18180)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16763,19 +16950,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4780] = $21; + HEAP32[4542] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,9606,$vararg_buffer); + _TraceLog(1,9320,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4792]|0; + $22 = HEAP32[4554]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19180)>>2]|0; + $24 = HEAP32[(18228)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16786,19 +16973,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4792] = $31; + HEAP32[4554] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,9631,$vararg_buffer1); + _TraceLog(1,9345,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4804]|0; + $32 = HEAP32[4566]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19228)>>2]|0; + $34 = HEAP32[(18276)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16809,9 +16996,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4804] = $41; - $42 = HEAP32[4519]|0; - $43 = HEAP32[4520]|0; + HEAP32[4566] = $41; + $42 = HEAP32[4281]|0; + $43 = HEAP32[4282]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16819,7 +17006,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,9660,$vararg_buffer3); + _TraceLog(1,9374,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16854,13 +17041,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4521]|0; + $2 = HEAP32[4283]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19232)>>2]|0; - $5 = HEAP32[(19220)>>2]|0; + $4 = HEAP32[(18280)>>2]|0; + $5 = HEAP32[(18268)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16868,7 +17055,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19220)>>2] = $10; + HEAP32[(18268)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16887,18 +17074,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4521]|0; + $4 = HEAP32[4283]|0; switch ($4|0) { case 1: { - $$sink37 = (19128);$$sink38 = (19140); + $$sink37 = (18176);$$sink38 = (18188); break; } case 4: { - $$sink37 = (19176);$$sink38 = (19188); + $$sink37 = (18224);$$sink38 = (18236); break; } case 7: { - $$sink37 = (19224);$$sink38 = (19236); + $$sink37 = (18272);$$sink38 = (18284); break; } default: { @@ -16937,8 +17124,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4519]|0; - $2 = HEAP32[4520]|0; + $1 = HEAP32[4281]|0; + $2 = HEAP32[4282]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16951,9 +17138,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4520] = $10; + HEAP32[4282] = $10; } - $11 = HEAP32[4520]|0; + $11 = HEAP32[4282]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16964,7 +17151,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4804]|0; + $0 = HEAP32[4566]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16976,7 +17163,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4489]|0; + $1 = HEAP32[4251]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17207,7 +17394,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[17644>>2]|0;HEAP32[$0+4>>2]=HEAP32[17644+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17644+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17644+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17644+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17644+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17644+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17644+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[16692>>2]|0;HEAP32[$0+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16692+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16692+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16692+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16692+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -17281,6066 +17468,305 @@ function _DrawTexturePro($0,$1,$2,$3,$4,$5) { $15 = ($14|0)<(0); if ($15) { $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - switch ($23<<24>>24) { - case 10: { - $24 = HEAP32[$9>>2]|0; - $25 = (($24|0) / 2)&-1; - $26 = (($25) + ($24))|0; - $27 = (+($26|0)); - $28 = $12 * $27; - $29 = (~~(($28))); - $30 = (($29) + ($$05153))|0; - $$150 = 0;$$152 = $30;$$2 = $$055; - break; - } - case -62: { - $31 = (($$055) + 1)|0; - $32 = (($1) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $$1 = $31;$$sink = $34; - label = 9; - break; - } - case -61: { - $35 = (($$055) + 1)|0; - $36 = (($1) + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = (($38) + 64)|0; - $$1 = $35;$$sink = $39; - label = 9; - break; - } - default: { - $40 = $23 << 24 >> 24; - $$1 = $$055;$$sink = $40; - label = 9; - } - } - do { - if ((label|0) == 9) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _jar_xm_generate_samples_16bit($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$015 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 << 1; - $4 = $2 << 3; - $5 = (_malloc($4)|0); - _jar_xm_generate_samples($0,$5,$2); - $6 = ($1|0)!=(0|0); - $7 = ($3|0)!=(0); - $or$cond = $6 & $7; - if ($or$cond) { - $$015 = 0; - } else { - _free($5); - return; - } - while(1) { - $8 = (($5) + ($$015<<2)|0); - $9 = +HEAPF32[$8>>2]; - $10 = $9 * 32767.0; - $11 = (~~(($10))); - $12 = (($1) + ($$015<<1)|0); - HEAP16[$12>>1] = $11; - $13 = (($$015) + 1)|0; - $exitcond = ($13|0)==($3|0); - if ($exitcond) { - break; - } else { - $$015 = $13; - } - } - _free($5); - return; -} -function _jar_xm_generate_samples($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$013 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)!=(0|0); - $4 = ($1|0)!=(0|0); - $or$cond = $3 & $4; - if (!($or$cond)) { - return; - } - $5 = ((($0)) + 360|0); - $6 = $5; - $7 = $6; - $8 = HEAP32[$7>>2]|0; - $9 = (($6) + 4)|0; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (_i64Add(($8|0),($11|0),($2|0),0)|0); - $13 = tempRet0; - $14 = $5; - $15 = $14; - HEAP32[$15>>2] = $12; - $16 = (($14) + 4)|0; - $17 = $16; - HEAP32[$17>>2] = $13; - $18 = ($2|0)==(0); - if ($18) { - return; - } else { - $$013 = 0; - } - while(1) { - $19 = $$013 << 1; - $20 = (($1) + ($19<<2)|0); - $21 = $19 | 1; - $22 = (($1) + ($21<<2)|0); - _jar_xm_sample($0,$20,$22); - $23 = (($$013) + 1)|0; - $exitcond = ($23|0)==($2|0); - if ($exitcond) { - break; - } else { - $$013 = $23; - } - } - return; -} -function _jar_xm_sample($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$072 = 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.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0; - var $83 = 0, $84 = 0.0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 352|0); - $4 = +HEAPF32[$3>>2]; - $5 = !($4 <= 0.0); - if (!($5)) { - _jar_xm_tick($0); - } - $6 = +HEAPF32[$3>>2]; - $7 = $6 + -1.0; - HEAPF32[$3>>2] = $7; - HEAPF32[$1>>2] = 0.0; - HEAPF32[$2>>2] = 0.0; - $8 = ((($0)) + 385|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if (!($10)) { - $11 = ((($0)) + 384|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12&255)<($9&255); - if (!($13)) { - return; - } - } - $14 = ((($0)) + 50|0); - $15 = HEAP16[$14>>1]|0; - $16 = ($15<<16>>16)==(0); - if (!($16)) { - $17 = ((($0)) + 388|0); - $18 = ((($0)) + 340|0); - $19 = ((($0)) + 344|0); - $20 = ((($0)) + 344|0); - $21 = ((($0)) + 340|0); - $$072 = 0;$33 = 0; - while(1) { - $31 = HEAP32[$17>>2]|0; - $32 = (($31) + (($33*304)|0)|0); - $34 = (((($31) + (($33*304)|0)|0)) + 8|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - do { - if (!($36)) { - $37 = (((($31) + (($33*304)|0)|0)) + 12|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0|0); - if (!($39)) { - $40 = (((($31) + (($33*304)|0)|0)) + 20|0); - $41 = +HEAPF32[$40>>2]; - $42 = $41 < 0.0; - if (!($42)) { - $43 = (+_jar_xm_next_of_sample($32)); - $44 = (((($31) + (($33*304)|0)|0)) + 152|0); - $45 = HEAP32[$44>>2]|0; - $46 = ($45|0)==(0); - if ($46) { - $47 = HEAP32[$34>>2]|0; - $48 = ((($47)) + 272|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0); - if ($50) { - $51 = (((($31) + (($33*304)|0)|0)) + 300|0); - $52 = +HEAPF32[$51>>2]; - $53 = $43 * $52; - $54 = (((($31) + (($33*304)|0)|0)) + 296|0); - $55 = +HEAPF32[$54>>2]; - $56 = 1.0 - $55; - $57 = $53 * $56; - $58 = +HEAPF32[$1>>2]; - $59 = $58 + $57; - HEAPF32[$1>>2] = $59; - $60 = +HEAPF32[$51>>2]; - $61 = $43 * $60; - $62 = +HEAPF32[$54>>2]; - $63 = $61 * $62; - $64 = +HEAPF32[$2>>2]; - $65 = $64 + $63; - HEAPF32[$2>>2] = $65; - } - } - $66 = (((($31) + (($33*304)|0)|0)) + 164|0); - $67 = HEAP32[$66>>2]|0; - $68 = (($67) + 1)|0; - HEAP32[$66>>2] = $68; - $69 = (((($31) + (($33*304)|0)|0)) + 300|0); - $70 = +HEAPF32[$69>>2]; - $71 = (((($31) + (($33*304)|0)|0)) + 160|0); - $72 = +HEAPF32[$71>>2]; - $73 = $70 > $72; - if ($73) { - $74 = +HEAPF32[$18>>2]; - $75 = $70 - $74; - HEAPF32[$69>>2] = $75; - $76 = $75 < $72; - if ($76) { - HEAPF32[$69>>2] = $72; - } - } else { - $77 = $70 < $72; - if ($77) { - $78 = +HEAPF32[$21>>2]; - $79 = $70 + $78; - HEAPF32[$69>>2] = $79; - $80 = $79 > $72; - if ($80) { - HEAPF32[$69>>2] = $72; - } - } - } - $81 = (((($31) + (($33*304)|0)|0)) + 296|0); - $82 = +HEAPF32[$81>>2]; - $83 = (((($31) + (($33*304)|0)|0)) + 156|0); - $84 = +HEAPF32[$83>>2]; - $85 = $82 > $84; - if ($85) { - $86 = +HEAPF32[$19>>2]; - $87 = $82 - $86; - HEAPF32[$81>>2] = $87; - $88 = $87 < $84; - if (!($88)) { - break; - } - HEAPF32[$81>>2] = $84; - break; - } - $89 = $82 < $84; - if ($89) { - $90 = +HEAPF32[$20>>2]; - $91 = $82 + $90; - HEAPF32[$81>>2] = $91; - $92 = $91 > $84; - if ($92) { - HEAPF32[$81>>2] = $84; - } - } - } - } - } - } while(0); - $93 = (($$072) + 1)<<24>>24; - $94 = $93&255; - $95 = HEAP16[$14>>1]|0; - $96 = $95&65535; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - $$072 = $93;$33 = $94; - } else { - break; - } - } - } - $22 = ((($0)) + 332|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 336|0); - $25 = +HEAPF32[$24>>2]; - $26 = $23 * $25; - $27 = +HEAPF32[$1>>2]; - $28 = $27 * $26; - HEAPF32[$1>>2] = $28; - $29 = +HEAPF32[$2>>2]; - $30 = $26 * $29; - HEAPF32[$2>>2] = $30; - return; -} -function _jar_xm_tick($0) { - $0 = $0|0; - var $$0 = 0.0, $$0195202 = 0, $$0196 = 0.0, $$1 = 0.0, $$not = 0, $$pr = 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; - var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.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; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0, $182 = 0.0, $183 = 0.0; - var $184 = 0.0, $185 = 0, $186 = 0.0, $187 = 0.0, $188 = 0.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; - var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0, $215 = 0.0, $216 = 0, $217 = 0.0, $218 = 0.0, $219 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0.0; - var $238 = 0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0.0, $252 = 0, $253 = 0.0, $254 = 0.0, $255 = 0; - var $256 = 0, $257 = 0, $258 = 0.0, $259 = 0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0.0, $273 = 0; - var $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.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 $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, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $storemerge = 0.0, $storemerge198 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc199 = 0, $trunc199$clear = 0, $trunc200 = 0, $trunc200$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 350|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - _jar_xm_row($0); - } - $4 = ((($0)) + 50|0); - $5 = HEAP16[$4>>1]|0; - $6 = ($5<<16>>16)==(0); - L4: do { - if (!($6)) { - $7 = ((($0)) + 388|0); - $8 = ((($0)) + 328|0); - $9 = ((($0)) + 332|0); - $$0195202 = 0;$23 = 0; - while(1) { - $21 = HEAP32[$7>>2]|0; - $22 = (($21) + (($23*304)|0)|0); - _jar_xm_envelopes($22); - _jar_xm_autovibrato($0,$22); - $24 = (((($21) + (($23*304)|0)|0)) + 76|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0); - do { - if (!($26)) { - $27 = (((($21) + (($23*304)|0)|0)) + 16|0); - $28 = HEAP32[$27>>2]|0; - $29 = ((($28)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = ($30<<24>>24)==(0); - if ($31) { - $32 = ((($28)) + 4|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if (!($34)) { - break; - } - } - HEAP32[$24>>2] = 0; - $35 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$35>>0] = 0; - _jar_xm_update_frequency($0,$22); - } - } while(0); - $36 = (((($21) + (($23*304)|0)|0)) + 100|0); - $37 = HEAP32[$36>>2]|0; - $38 = ($37|0)==(0); - if (!($38)) { - $39 = (((($21) + (($23*304)|0)|0)) + 16|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($40)) + 3|0); - $42 = HEAP8[$41>>0]|0; - $43 = ($42<<24>>24)==(4); - if (!($43)) { - $44 = ((($40)) + 4|0); - $45 = HEAP8[$44>>0]|0; - $46 = ($45<<24>>24)==(6); - if (!($46)) { - $47 = ((($40)) + 2|0); - $48 = HEAP8[$47>>0]|0; - $49 = $48 & -16; - $50 = ($49<<24>>24)==(-80); - if (!($50)) { - $51 = (((($21) + (($23*304)|0)|0)) + 116|0); - HEAP32[$36>>2] = 0; - HEAPF32[$51>>2] = 0.0; - _jar_xm_update_frequency($0,$22); - } - } - } - } - $52 = (((($21) + (($23*304)|0)|0)) + 16|0); - $53 = HEAP32[$52>>2]|0; - $54 = ((($53)) + 2|0); - $55 = HEAP8[$54>>0]|0; - $56 = $55&255; - $trunc = ($55&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 6: { - $57 = HEAP16[$1>>1]|0; - $58 = ($57<<16>>16)==(0); - if (!($58)) { - $59 = $56 & 15; - $60 = $59&255; - _jar_xm_volume_slide($22,$60); - } - break; - } - case 7: { - $61 = HEAP16[$1>>1]|0; - $62 = ($61<<16>>16)==(0); - if (!($62)) { - $63 = $56 << 4; - $64 = $63&255; - _jar_xm_volume_slide($22,$64); - } - break; - } - case 11: { - $65 = HEAP16[$1>>1]|0; - $66 = ($65<<16>>16)==(0); - if (!($66)) { - HEAP32[$36>>2] = 0; - $67 = (((($21) + (($23*304)|0)|0)) + 112|0); - $68 = HEAP8[$67>>0]|0; - $69 = (((($21) + (($23*304)|0)|0)) + 114|0); - $70 = HEAP16[$69>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$69>>1] = $71; - _jar_xm_vibrato($0,$22,$68,$70); - } - break; - } - case 13: { - $72 = HEAP16[$1>>1]|0; - $73 = ($72<<16>>16)==(0); - if (!($73)) { - $74 = $56 & 15; - $75 = $74&255; - _jar_xm_panning_slide($22,$75); - } - break; - } - case 14: { - $76 = HEAP16[$1>>1]|0; - $77 = ($76<<16>>16)==(0); - if (!($77)) { - $78 = $56 << 4; - $79 = $78&255; - _jar_xm_panning_slide($22,$79); - } - break; - } - case 15: { - $80 = HEAP16[$1>>1]|0; - $81 = ($80<<16>>16)==(0); - if (!($81)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - default: { - } - } - $82 = HEAP32[$52>>2]|0; - $83 = ((($82)) + 3|0); - $84 = HEAP8[$83>>0]|0; - L34: do { - switch ($84<<24>>24) { - case 0: { - $85 = ((($82)) + 4|0); - $86 = HEAP8[$85>>0]|0; - $87 = ($86<<24>>24)==(0); - if (!($87)) { - $88 = HEAP16[$8>>1]|0; - $89 = (($88&65535) % 3)&-1; - $90 = $89&65535; - $trunc200 = $89&255; - $trunc200$clear = $trunc200 & 3; - switch ($trunc200$clear<<24>>24) { - case 2: { - $91 = HEAP16[$1>>1]|0; - $92 = ($91<<16>>16)==(1); - if ($92) { - HEAP32[$24>>2] = 1; - $93 = ($86&255) >>> 4; - $94 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$94>>0] = $93; - _jar_xm_update_frequency($0,$22); - break L34; - } else { - $96 = $91; - label = 34; - } - break; - } - case 1: { - $$pr = HEAP16[$1>>1]|0; - $96 = $$pr; - label = 34; - break; - } - case 0: { - break; - } - default: { - break L34; - } - } - if ((label|0) == 34) { - label = 0; - $95 = ($96<<16>>16)==(0); - if ($95) { - HEAP32[$24>>2] = 0; - $97 = (((($21) + (($23*304)|0)|0)) + 80|0); - HEAP8[$97>>0] = 0; - _jar_xm_update_frequency($0,$22); - break L34; - } - } - $98 = HEAP32[$52>>2]|0; - $99 = ((($98)) + 4|0); - $100 = HEAP8[$99>>0]|0; - $101 = HEAP16[$1>>1]|0; - $102 = $101&65535; - $103 = (($102) - ($90))|0; - $104 = $103&65535; - _jar_xm_arpeggio($0,$22,$100,$104); - } - break; - } - case 1: { - $105 = HEAP16[$1>>1]|0; - $106 = ($105<<16>>16)==(0); - if (!($106)) { - $107 = (((($21) + (($23*304)|0)|0)) + 85|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (0 - ($109))|0; - $111 = (+($110|0)); - _jar_xm_pitch_slide($0,$22,$111); - } - break; - } - case 2: { - $112 = HEAP16[$1>>1]|0; - $113 = ($112<<16>>16)==(0); - if (!($113)) { - $114 = (((($21) + (($23*304)|0)|0)) + 86|0); - $115 = HEAP8[$114>>0]|0; - $116 = (+($115&255)); - _jar_xm_pitch_slide($0,$22,$116); - } - break; - } - case 3: { - $117 = HEAP16[$1>>1]|0; - $118 = ($117<<16>>16)==(0); - if (!($118)) { - _jar_xm_tone_portamento($0,$22); - } - break; - } - case 4: { - $119 = HEAP16[$1>>1]|0; - $120 = ($119<<16>>16)==(0); - if (!($120)) { - HEAP32[$36>>2] = 1; - $121 = (((($21) + (($23*304)|0)|0)) + 112|0); - $122 = HEAP8[$121>>0]|0; - $123 = (((($21) + (($23*304)|0)|0)) + 114|0); - $124 = HEAP16[$123>>1]|0; - $125 = (($124) + 1)<<16>>16; - HEAP16[$123>>1] = $125; - _jar_xm_vibrato($0,$22,$122,$124); - } - break; - } - case 5: { - $126 = HEAP16[$1>>1]|0; - $127 = ($126<<16>>16)==(0); - if (!($127)) { - $128 = (((($21) + (($23*304)|0)|0)) + 81|0); - _jar_xm_tone_portamento($0,$22); - $129 = HEAP8[$128>>0]|0; - _jar_xm_volume_slide($22,$129); - } - break; - } - case 6: { - $130 = HEAP16[$1>>1]|0; - $131 = ($130<<16>>16)==(0); - if (!($131)) { - HEAP32[$36>>2] = 1; - $132 = (((($21) + (($23*304)|0)|0)) + 112|0); - $133 = HEAP8[$132>>0]|0; - $134 = (((($21) + (($23*304)|0)|0)) + 114|0); - $135 = HEAP16[$134>>1]|0; - $136 = (($135) + 1)<<16>>16; - HEAP16[$134>>1] = $136; - _jar_xm_vibrato($0,$22,$133,$135); - $137 = (((($21) + (($23*304)|0)|0)) + 81|0); - $138 = HEAP8[$137>>0]|0; - _jar_xm_volume_slide($22,$138); - } - break; - } - case 7: { - $139 = HEAP16[$1>>1]|0; - $140 = ($139<<16>>16)==(0); - if (!($140)) { - $141 = (((($21) + (($23*304)|0)|0)) + 128|0); - $142 = HEAP8[$141>>0]|0; - $143 = (((($21) + (($23*304)|0)|0)) + 129|0); - $144 = HEAP8[$143>>0]|0; - $145 = (($144) + 1)<<24>>24; - HEAP8[$143>>0] = $145; - $146 = $144&255; - _jar_xm_tremolo($22,$142,$146); - } - break; - } - case 10: { - $147 = HEAP16[$1>>1]|0; - $148 = ($147<<16>>16)==(0); - if (!($148)) { - $149 = (((($21) + (($23*304)|0)|0)) + 81|0); - $150 = HEAP8[$149>>0]|0; - _jar_xm_volume_slide($22,$150); - } - break; - } - case 14: { - $151 = ((($82)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = $152&255; - $trunc199 = ($152&255) >>> 4; - $trunc199$clear = $trunc199 & 15; - switch ($trunc199$clear<<24>>24) { - case 9: { - $154 = HEAP16[$1>>1]|0; - $155 = $154&65535; - $156 = ($154<<16>>16)==(0); - if ($156) { - break L34; - } - $157 = $153 & 15; - $158 = ($157|0)==(0); - if ($158) { - break L34; - } - $159 = (($155>>>0) % ($157>>>0))&-1; - $160 = ($159|0)==(0); - if (!($160)) { - break L34; - } - _jar_xm_trigger_note($0,$22,0); - _jar_xm_envelopes($22); - break L34; - break; - } - case 12: { - $161 = $153 & 15; - $162 = HEAP16[$1>>1]|0; - $163 = $162&65535; - $164 = ($161|0)==($163|0); - if (!($164)) { - break L34; - } - _jar_xm_cut_note($22); - break L34; - break; - } - case 13: { - $165 = (((($21) + (($23*304)|0)|0)) + 97|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $168 = HEAP16[$1>>1]|0; - $169 = $168&65535; - $170 = ($167|0)==($169|0); - if (!($170)) { - break L34; - } - _jar_xm_handle_note_and_instrument($0,$22,$82); - _jar_xm_envelopes($22); - break L34; - break; - } - default: { - break L34; - } - } - break; - } - case 17: { - $171 = HEAP16[$1>>1]|0; - $172 = ($171<<16>>16)==(0); - if (!($172)) { - $173 = (((($21) + (($23*304)|0)|0)) + 83|0); - $174 = HEAP8[$173>>0]|0; - $175 = $174&255; - $176 = $175 & 240; - $177 = ($176|0)!=(0); - $$not = $177 ^ 1; - $178 = $175 & 15; - $179 = ($178|0)==(0); - $or$cond = $179 | $$not; - if ($or$cond) { - $180 = +HEAPF32[$9>>2]; - if ($177) { - $181 = $175 >>> 4; - $182 = (+($181|0)); - $183 = $182 * 0.015625; - $184 = $183 + $180; - $185 = $184 > 1.0; - $storemerge198 = $185 ? 1.0 : $184; - HEAPF32[$9>>2] = $storemerge198; - break L34; - } else { - $186 = (+($178|0)); - $187 = $186 * 0.015625; - $188 = $180 - $187; - $189 = $188 < 0.0; - $storemerge = $189 ? 0.0 : $188; - HEAPF32[$9>>2] = $storemerge; - break L34; - } - } - } - break; - } - case 20: { - $190 = HEAP16[$1>>1]|0; - $191 = $190&65535; - $192 = ((($82)) + 4|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $195 = ($191|0)==($194|0); - if ($195) { - _jar_xm_key_off($22); - } - break; - } - case 25: { - $196 = HEAP16[$1>>1]|0; - $197 = ($196<<16>>16)==(0); - if (!($197)) { - $198 = (((($21) + (($23*304)|0)|0)) + 84|0); - $199 = HEAP8[$198>>0]|0; - _jar_xm_panning_slide($22,$199); - } - break; - } - case 27: { - $200 = HEAP16[$1>>1]|0; - $201 = $200&65535; - $202 = ($200<<16>>16)==(0); - if (!($202)) { - $203 = (((($21) + (($23*304)|0)|0)) + 96|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204&255; - $206 = $205 & 15; - $207 = ($206|0)==(0); - if (!($207)) { - $208 = (($201>>>0) % ($206>>>0))&-1; - $209 = ($208|0)==(0); - if ($209) { - $210 = (((($21) + (($23*304)|0)|0)) + 40|0); - $211 = +HEAPF32[$210>>2]; - $212 = $205 >>> 4; - $213 = (2980 + ($212<<2)|0); - $214 = +HEAPF32[$213>>2]; - $215 = $211 * $214; - $216 = (3044 + ($212<<2)|0); - $217 = +HEAPF32[$216>>2]; - $218 = $215 + $217; - $219 = $218 > 1.0; - if ($219) { - $$0196 = 1.0; - } else { - $220 = $218 < 0.0; - if ($220) { - $$0196 = 0.0; - } else { - $$0196 = $218; - } - } - _jar_xm_trigger_note($0,$22,0); - HEAPF32[$210>>2] = $$0196; - } - } - } - break; - } - case 29: { - $221 = HEAP16[$1>>1]|0; - $222 = ($221<<16>>16)==(0); - if (!($222)) { - $223 = $221&65535; - $224 = (($223) + -1)|0; - $225 = (((($21) + (($23*304)|0)|0)) + 136|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $228 = $227 >>> 4; - $229 = $227 & 15; - $230 = (($229) + 2)|0; - $231 = (($230) + ($228))|0; - $232 = (($224|0) % ($231|0))&-1; - $233 = ($232|0)>($228|0); - $234 = $233&1; - $235 = (((($21) + (($23*304)|0)|0)) + 140|0); - HEAP32[$235>>2] = $234; - } - break; - } - default: { - } - } - } while(0); - $236 = (((($21) + (($23*304)|0)|0)) + 44|0); - $237 = +HEAPF32[$236>>2]; - $238 = (((($21) + (($23*304)|0)|0)) + 64|0); - $239 = +HEAPF32[$238>>2]; - $240 = $239 + -0.5; - $241 = $237 + -0.5; - $242 = (+Math_abs((+$241))); - $243 = 0.5 - $242; - $244 = $240 * $243; - $245 = $244 * 2.0; - $246 = $237 + $245; - $247 = (((($21) + (($23*304)|0)|0)) + 140|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)==(0); - if ($249) { - $250 = (((($21) + (($23*304)|0)|0)) + 40|0); - $251 = +HEAPF32[$250>>2]; - $252 = (((($21) + (($23*304)|0)|0)) + 132|0); - $253 = +HEAPF32[$252>>2]; - $254 = $251 + $253; - $255 = $254 > 1.0; - if ($255) { - $$0 = 1.0; - } else { - $256 = $254 < 0.0; - if ($256) { - $$0 = 0.0; - } else { - $$0 = $254; - } - } - $257 = (((($21) + (($23*304)|0)|0)) + 56|0); - $258 = +HEAPF32[$257>>2]; - $259 = (((($21) + (($23*304)|0)|0)) + 60|0); - $260 = +HEAPF32[$259>>2]; - $261 = $258 * $260; - $262 = $$0 * $261; - $$1 = $262; - } else { - $$1 = 0.0; - } - $263 = (((($21) + (($23*304)|0)|0)) + 156|0); - HEAPF32[$263>>2] = $246; - $264 = (((($21) + (($23*304)|0)|0)) + 160|0); - HEAPF32[$264>>2] = $$1; - $265 = (($$0195202) + 1)<<24>>24; - $266 = $265&255; - $267 = HEAP16[$4>>1]|0; - $268 = $267&65535; - $269 = ($266>>>0)<($268>>>0); - if ($269) { - $$0195202 = $265;$23 = $266; - } else { - break L4; - } - } - } - } while(0); - $10 = HEAP16[$1>>1]|0; - $11 = (($10) + 1)<<16>>16; - HEAP16[$1>>1] = $11; - $12 = $11&65535; - $13 = ((($0)) + 328|0); - $14 = HEAP16[$13>>1]|0; - $15 = $14&65535; - $16 = ((($0)) + 378|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($18) + ($15))|0; - $20 = ($12>>>0)<($19>>>0); - if ($20) { - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; - } - HEAP16[$1>>1] = 0; - HEAP16[$16>>1] = 0; - $270 = ((($0)) + 324|0); - $271 = HEAP32[$270>>2]|0; - $272 = (+($271>>>0)); - $273 = ((($0)) + 330|0); - $274 = HEAP16[$273>>1]|0; - $275 = (+($274&65535)); - $276 = $275 * 0.40000000596046448; - $277 = $272 / $276; - $278 = ((($0)) + 352|0); - $279 = +HEAPF32[$278>>2]; - $280 = $279 + $277; - HEAPF32[$278>>2] = $280; - return; -} -function _jar_xm_next_of_sample($0) { - $0 = $0|0; - var $$0100 = 0.0, $$0101 = 0.0, $$1 = 0.0, $$pr = 0.0, $$sink = 0.0, $$sink$p = 0.0, $$sink103 = 0, $$sink105 = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $109 = 0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0; - var $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0; - var $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0; - var $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0; - var $78 = 0, $79 = 0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0.0; - var $96 = 0, $97 = 0, $98 = 0.0, $99 = 0.0, $storemerge106 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - $7 = ((($0)) + 20|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 < 0.0; - if (!($9)) { - $20 = ((($5)) + 24|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - $$1 = 0.0; - return (+$$1); - } - $23 = (~~(($8))>>>0); - $24 = (($23) + 1)|0; - $25 = (+($23>>>0)); - $26 = $8 - $25; - $27 = ((($5)) + 72|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($28) + ($23<<2)|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($5)) + 48|0); - $32 = HEAP32[$31>>2]|0; - L8: do { - switch ($32|0) { - case 0: { - $33 = ($24>>>0)<($21>>>0); - if ($33) { - $34 = (($28) + ($24<<2)|0); - $35 = +HEAPF32[$34>>2]; - $135 = $35; - } else { - $135 = 0.0; - } - $36 = ((($0)) + 32|0); - $37 = +HEAPF32[$36>>2]; - $38 = +HEAPF32[$7>>2]; - $39 = $37 + $38; - HEAPF32[$7>>2] = $39; - $40 = HEAP32[$4>>2]|0; - $41 = ((($40)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = (+($42>>>0)); - $44 = !($39 >= $43); - if ($44) { - $$0100 = $30;$$0101 = $135; - } else { - HEAPF32[$7>>2] = -1.0; - $$0100 = $30;$$0101 = $135; - } - break; - } - case 1: { - $45 = ((($5)) + 36|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($24|0)==($46|0); - if ($47) { - $48 = ((($5)) + 28|0); - $49 = HEAP32[$48>>2]|0; - $51 = $49; - } else { - $51 = $24; - } - $50 = (($28) + ($51<<2)|0); - $52 = +HEAPF32[$50>>2]; - $53 = ((($0)) + 32|0); - $54 = +HEAPF32[$53>>2]; - $55 = +HEAPF32[$7>>2]; - $56 = $54 + $55; - HEAPF32[$7>>2] = $56; - $57 = HEAP32[$4>>2]|0; - $58 = ((($57)) + 36|0); - $59 = HEAP32[$58>>2]|0; - $60 = (+($59>>>0)); - $61 = !($56 >= $60); - if ($61) { - $$0100 = $30;$$0101 = $52; - } else { - $62 = HEAP32[$4>>2]|0; - $63 = ((($62)) + 36|0); - $64 = HEAP32[$63>>2]|0; - $65 = (+($64>>>0)); - $67 = $57;$storemerge106 = $56; - while(1) { - $66 = ((($67)) + 32|0); - $68 = HEAP32[$66>>2]|0; - $69 = (+($68>>>0)); - $70 = $storemerge106 - $69; - $71 = !($70 >= $65); - if ($71) { - break; - } else { - $67 = $62;$storemerge106 = $70; - } - } - HEAPF32[$7>>2] = $70; - $$0100 = $30;$$0101 = $52; - } - break; - } - case 2: { - $72 = ((($0)) + 36|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)!=(0); - $75 = ((($0)) + 32|0); - $76 = +HEAPF32[$75>>2]; - $77 = -$76; - $$sink$p = $74 ? $76 : $77; - $$sink = $8 + $$sink$p; - HEAPF32[$7>>2] = $$sink; - if ($74) { - $78 = HEAP32[$4>>2]|0; - $79 = ((($78)) + 36|0); - $80 = HEAP32[$79>>2]|0; - $81 = ($24>>>0)>=($80>>>0); - $82 = ((($78)) + 72|0); - $83 = HEAP32[$82>>2]|0; - $$sink2 = $81 ? $23 : $24; - $84 = (($83) + ($$sink2<<2)|0); - $85 = +HEAPF32[$84>>2]; - $86 = (+($80>>>0)); - $87 = !($$sink >= $86); - if (!($87)) { - $88 = $80 << 1; - $89 = (+($88>>>0)); - HEAP32[$72>>2] = 0; - $90 = +HEAPF32[$7>>2]; - $91 = $89 - $90; - HEAPF32[$7>>2] = $91; - } - $92 = +HEAPF32[$7>>2]; - $93 = ((($78)) + 24|0); - $94 = HEAP32[$93>>2]|0; - $95 = (+($94>>>0)); - $96 = !($92 >= $95); - if ($96) { - $$0100 = $30;$$0101 = $85; - break L8; - } - $97 = (($94) + -1)|0; - $98 = (+($97>>>0)); - $99 = $92 - $98; - HEAP32[$72>>2] = 0; - HEAPF32[$7>>2] = $99; - $$0100 = $30;$$0101 = $85; - break L8; - } - $100 = ($23|0)==(0); - if ($100) { - label = 24; - } else { - $101 = (($23) + -1)|0; - $102 = HEAP32[$4>>2]|0; - $103 = ((($102)) + 28|0); - $104 = HEAP32[$103>>2]|0; - $105 = ($101>>>0)>($104>>>0); - if ($105) { - $$sink103 = $101;$$sink105 = $102; - } else { - label = 24; - } - } - if ((label|0) == 24) { - $106 = HEAP32[$4>>2]|0; - $$sink103 = $23;$$sink105 = $106; - } - $107 = ((($$sink105)) + 72|0); - $108 = HEAP32[$107>>2]|0; - $109 = (($108) + ($$sink103<<2)|0); - $110 = +HEAPF32[$109>>2]; - $111 = +HEAPF32[$7>>2]; - $112 = HEAP32[$4>>2]|0; - $113 = ((($112)) + 28|0); - $114 = HEAP32[$113>>2]|0; - $115 = (+($114>>>0)); - $116 = !($111 <= $115); - $117 = $114 << 1; - $118 = (+($117>>>0)); - $119 = $118 - $111; - if ($116) { - $$pr = +HEAPF32[$7>>2]; - $121 = $$pr; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = $119; - $121 = $119; - } - $120 = !($121 <= 0.0); - if ($120) { - $$0100 = $110;$$0101 = $30; - } else { - HEAP32[$72>>2] = 1; - HEAPF32[$7>>2] = 0.0; - $$0100 = $110;$$0101 = $30; - } - break; - } - default: { - $$0100 = $30;$$0101 = 0.0; - } - } - } while(0); - $122 = $$0101 - $$0100; - $123 = $26 * $122; - $124 = $$0100 + $123; - $125 = ((($0)) + 164|0); - $126 = HEAP32[$125>>2]|0; - $127 = ($126>>>0)<(32); - if (!($127)) { - $$1 = $124; - return (+$$1); - } - $128 = (+($126>>>0)); - $129 = $128 * 0.03125; - $130 = (((($0)) + 168|0) + ($126<<2)|0); - $131 = +HEAPF32[$130>>2]; - $132 = $124 - $131; - $133 = $129 * $132; - $134 = $131 + $133; - $$1 = $134; - return (+$$1); - } - } - } - $10 = ((($0)) + 164|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11>>>0)<(32); - if (!($12)) { - $$1 = 0.0; - return (+$$1); - } - $13 = (+($11>>>0)); - $14 = $13 * 0.03125; - $15 = (((($0)) + 168|0) + ($11<<2)|0); - $16 = +HEAPF32[$15>>2]; - $17 = 0.0 - $16; - $18 = $14 * $17; - $19 = $16 + $18; - $$1 = $19; - return (+$$1); -} -function _jar_xm_row($0) { - $0 = $0|0; - var $$0$ = 0, $$06061 = 0, $$062 = 0, $$1 = 0, $$mask = 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; - 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, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; - var $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, $76 = 0, $77 = 0; - var $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 368|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0); - if ($3) { - $11 = ((($0)) + 372|0); - $12 = HEAP32[$11>>2]|0; - $13 = ($12|0)==(0); - if (!($13)) { - $14 = ((($0)) + 348|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($15) + 1)<<24>>24; - HEAP8[$14>>0] = $16; - $17 = ((($0)) + 377|0); - $18 = HEAP8[$17>>0]|0; - $19 = ((($0)) + 349|0); - HEAP8[$19>>0] = $18; - HEAP32[$11>>2] = 0; - HEAP8[$17>>0] = 0; - _jar_xm_post_pattern_change($0); - } - } else { - $4 = ((($0)) + 376|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 348|0); - HEAP8[$6>>0] = $5; - $7 = ((($0)) + 377|0); - $8 = HEAP8[$7>>0]|0; - $9 = ((($0)) + 349|0); - HEAP8[$9>>0] = $8; - HEAP32[$1>>2] = 0; - $10 = ((($0)) + 372|0); - HEAP32[$10>>2] = 0; - HEAP8[$7>>0] = 0; - _jar_xm_post_pattern_change($0); - } - $20 = ((($0)) + 316|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($0)) + 348|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = (((($0)) + 60|0) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = ((($0)) + 50|0); - $29 = HEAP16[$28>>1]|0; - $30 = ($29<<16>>16)==(0); - if ($30) { - label = 15; - } else { - $31 = $29&65535; - $32 = (((($21) + ($27<<3)|0)) + 4|0); - $33 = ((($0)) + 349|0); - $34 = ((($0)) + 388|0); - $$06061 = 0;$$062 = 0;$40 = $31;$43 = 0; - while(1) { - $36 = HEAP32[$32>>2]|0; - $37 = HEAP8[$33>>0]|0; - $38 = $37&255; - $39 = Math_imul($38, $40)|0; - $41 = (($36) + (($39*5)|0)|0); - $42 = (($41) + (($43*5)|0)|0); - $44 = HEAP32[$34>>2]|0; - $45 = (($44) + (($43*304)|0)|0); - $46 = (((($44) + (($43*304)|0)|0)) + 16|0); - HEAP32[$46>>2] = $42; - $47 = ((($42)) + 3|0); - $48 = HEAP8[$47>>0]|0; - $49 = ($48<<24>>24)==(14); - if ($49) { - $50 = ((($42)) + 4|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $$mask = $52 & 240; - $53 = ($$mask|0)==(208); - if ($53) { - $54 = $52 & 15; - $55 = $54&255; - $56 = (((($44) + (($43*304)|0)|0)) + 97|0); - HEAP8[$56>>0] = $55; - } else { - label = 10; - } - } else { - label = 10; - } - if ((label|0) == 10) { - label = 0; - _jar_xm_handle_note_and_instrument($0,$45,$42); - } - $57 = ($$062|0)==(0); - if ($57) { - $58 = (((($44) + (($43*304)|0)|0)) + 99|0); - $59 = HEAP8[$58>>0]|0; - $60 = ($59<<24>>24)==(0); - $$0$ = $60 ? $$062 : 1; - $$1 = $$0$; - } else { - $$1 = $$062; - } - $61 = (($$06061) + 1)<<24>>24; - $62 = $61&255; - $63 = HEAP16[$28>>1]|0; - $64 = $63&65535; - $65 = ($62>>>0)<($64>>>0); - if ($65) { - $$06061 = $61;$$062 = $$1;$40 = $64;$43 = $62; - } else { - break; - } - } - $35 = ($$1|0)==(0); - if ($35) { - label = 15; - } - } - if ((label|0) == 15) { - $66 = ((($0)) + 380|0); - $67 = HEAP32[$66>>2]|0; - $68 = HEAP8[$22>>0]|0; - $69 = $68&255; - $70 = $69 << 8; - $71 = ((($0)) + 349|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = $70 | $73; - $75 = (($67) + ($74)|0); - $76 = HEAP8[$75>>0]|0; - $77 = (($76) + 1)<<24>>24; - HEAP8[$75>>0] = $77; - $78 = ((($0)) + 384|0); - HEAP8[$78>>0] = $76; - } - $79 = ((($0)) + 349|0); - $80 = HEAP8[$79>>0]|0; - $81 = (($80) + 1)<<24>>24; - HEAP8[$79>>0] = $81; - $82 = HEAP32[$1>>2]|0; - $83 = ($82|0)==(0); - if (!($83)) { - return; - } - $84 = ((($0)) + 372|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)==(0); - if (!($86)) { - return; - } - $87 = $81&255; - $88 = (($21) + ($27<<3)|0); - $89 = HEAP16[$88>>1]|0; - $90 = $89&65535; - $91 = ($87>>>0)>=($90>>>0); - $92 = ($81<<24>>24)==(0); - $or$cond = $92 | $91; - if (!($or$cond)) { - return; - } - $93 = HEAP8[$22>>0]|0; - $94 = (($93) + 1)<<24>>24; - HEAP8[$22>>0] = $94; - $95 = ((($0)) + 377|0); - $96 = HEAP8[$95>>0]|0; - HEAP8[$79>>0] = $96; - HEAP8[$95>>0] = 0; - _jar_xm_post_pattern_change($0); - return; -} -function _jar_xm_envelopes($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - $4 = ((($2)) + 176|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if (!($6)) { - $7 = ((($0)) + 52|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($2)) + 260|0); - $11 = HEAP16[$10>>1]|0; - $12 = (+($11&65535)); - $13 = $12 * 1.52587890625E-5; - $14 = ((($0)) + 56|0); - $15 = +HEAPF32[$14>>2]; - $16 = $15 - $13; - HEAPF32[$14>>2] = $16; - $17 = $16 < 0.0; - if ($17) { - HEAPF32[$14>>2] = 0.0; - } - } - $18 = HEAP32[$1>>2]|0; - $19 = ((($18)) + 124|0); - $20 = ((($0)) + 68|0); - $21 = ((($0)) + 60|0); - _jar_xm_envelope_tick($0,$19,$20,$21); - } - $22 = HEAP32[$1>>2]|0; - $23 = ((($22)) + 240|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(0); - if ($25) { - return; - } - $26 = ((($22)) + 188|0); - $27 = ((($0)) + 70|0); - $28 = ((($0)) + 64|0); - _jar_xm_envelope_tick($0,$26,$27,$28); - return; -} -function _jar_xm_autovibrato($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0; - var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if ($4) { - return; - } - $5 = ((($3)) + 257|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ((($3)) + 256|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = ($10>>>0)<($13>>>0); - $15 = (+($9&65535)); - $16 = (+($12&255)); - $17 = $15 / $16; - $18 = $17 + 0.0; - $$ = $14 ? $18 : 1.0; - $19 = (($9) + 1)<<16>>16; - HEAP16[$8>>1] = $19; - $20 = ((($3)) + 258|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = Math_imul($22, $10)|0; - $24 = $23 >>> 2; - $25 = ((($3)) + 252|0); - $26 = HEAP32[$25>>2]|0; - $27 = $24&255; - $28 = (+_jar_xm_waveform($26,$27)); - $29 = $28 * 0.25; - $30 = HEAP8[$5>>0]|0; - $31 = (+($30&255)); - $32 = $29 * $31; - $33 = $32 / 15.0; - $34 = $$ * $33; - $35 = ((($1)) + 72|0); - HEAPF32[$35>>2] = $34; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_update_frequency($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 24|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($1)) + 80|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5<<24>>24)==(0); - if ($6) { - $8 = ((($1)) + 116|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($1)) + 72|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 + $11; - $13 = $12; - } else { - $7 = (+($5&255)); - $13 = $7; - } - $14 = (+_jar_xm_frequency($0,$3,$13)); - $15 = ((($1)) + 28|0); - HEAPF32[$15>>2] = $14; - $16 = ((($0)) + 324|0); - $17 = HEAP32[$16>>2]|0; - $18 = (+($17>>>0)); - $19 = $14 / $18; - $20 = ((($1)) + 32|0); - HEAPF32[$20>>2] = $19; - return; -} -function _jar_xm_volume_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 40|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 * 0.015625; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 * 0.015625; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_vibrato($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $3&65535; - $5 = $2&255; - $6 = $5 >>> 4; - $7 = Math_imul($4, $6)|0; - $8 = ((($1)) + 104|0); - $9 = HEAP32[$8>>2]|0; - $10 = $7&255; - $11 = (+_jar_xm_waveform($9,$10)); - $12 = $11 * 2.0; - $13 = $5 & 15; - $14 = (+($13|0)); - $15 = $14 * $12; - $16 = $15 / 15.0; - $17 = ((($1)) + 116|0); - HEAPF32[$17>>2] = $16; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_panning_slide($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$not = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1&255; - $3 = $2 & 240; - $4 = ($3|0)!=(0); - $$not = $4 ^ 1; - $5 = $2 & 15; - $6 = ($5|0)==(0); - $or$cond = $6 | $$not; - if (!($or$cond)) { - return; - } - $7 = ((($0)) + 44|0); - $8 = +HEAPF32[$7>>2]; - if ($4) { - $9 = $2 >>> 4; - $10 = (+($9|0)); - $11 = $10 / 255.0; - $12 = $11 + $8; - HEAPF32[$7>>2] = $12; - $13 = $12 > 1.0; - if (!($13)) { - return; - } - HEAPF32[$7>>2] = 1.0; - return; - } else { - $14 = (+($5|0)); - $15 = $14 / 255.0; - $16 = $8 - $15; - HEAPF32[$7>>2] = $16; - $17 = $16 < 0.0; - if (!($17)) { - return; - } - HEAPF32[$7>>2] = 0.0; - return; - } -} -function _jar_xm_tone_portamento($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $29 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 92|0); - $3 = +HEAPF32[$2>>2]; - $4 = $3 == 0.0; - if ($4) { - return; - } - $5 = ((($1)) + 24|0); - $6 = +HEAPF32[$5>>2]; - $7 = $6 != $3; - if (!($7)) { - return; - } - $8 = $6 > $3; - if ($8) { - $9 = ((($0)) + 56|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0); - $12 = $11 ? 4.0 : 1.0; - $13 = ((($1)) + 91|0); - $14 = HEAP8[$13>>0]|0; - $15 = (+($14&255)); - $16 = $12 * $15; - $17 = $6 - $16; - HEAPF32[$5>>2] = $17; - $18 = $17 < $3; - if ($18) { - HEAPF32[$5>>2] = $3; - } - } else { - $19 = $6 < $3; - if ($19) { - $20 = ((($0)) + 56|0); - $21 = HEAP32[$20>>2]|0; - $22 = ($21|0)==(0); - $23 = $22 ? 4.0 : 1.0; - $24 = ((($1)) + 91|0); - $25 = HEAP8[$24>>0]|0; - $26 = (+($25&255)); - $27 = $23 * $26; - $28 = $6 + $27; - HEAPF32[$5>>2] = $28; - $29 = $28 > $3; - if ($29) { - HEAPF32[$5>>2] = $3; - } - } - } - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_arpeggio($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc = 0, $trunc$clear = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (($3&65535) % 3)&-1; - $trunc = $4&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $5 = ((($1)) + 76|0); - HEAP32[$5>>2] = 0; - $$sink = 0; - break; - } - case 2: { - $6 = ((($1)) + 76|0); - HEAP32[$6>>2] = 1; - $7 = ($2&255) >>> 4; - $$sink = $7; - break; - } - case 1: { - $8 = ((($1)) + 76|0); - HEAP32[$8>>2] = 1; - $9 = $2 & 15; - $$sink = $9; - break; - } - default: { - _jar_xm_update_frequency($0,$1); - return; - } - } - $10 = ((($1)) + 80|0); - HEAP8[$10>>0] = $$sink; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_pitch_slide($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - $6 = $2 * 4.0; - $$ = $5 ? $6 : $2; - $7 = ((($1)) + 24|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 + $$; - $10 = $9 < 0.0; - $storemerge = $10 ? 0.0 : $9; - HEAPF32[$7>>2] = $storemerge; - _jar_xm_update_frequency($0,$1); - return; -} -function _jar_xm_tremolo($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = $1&255; - $5 = $4 >>> 4; - $6 = Math_imul($3, $5)|0; - $7 = ((($0)) + 120|0); - $8 = HEAP32[$7>>2]|0; - $9 = $6&255; - $10 = (+_jar_xm_waveform($8,$9)); - $11 = $4 & 15; - $12 = (+($11|0)); - $13 = $12 * $10; - $14 = -$13; - $15 = $14 / 15.0; - $16 = ((($0)) + 132|0); - HEAPF32[$16>>2] = $15; - return; -} -function _jar_xm_trigger_note($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $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, $29 = 0; - var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0; - var $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, $65 = 0; - var $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 & 4; - $4 = ($3|0)==(0); - if ($4) { - $5 = ((($1)) + 20|0); - HEAPF32[$5>>2] = 0.0; - $6 = ((($1)) + 36|0); - HEAP32[$6>>2] = 1; - } - $7 = ((($1)) + 12|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - $10 = $2 & 1; - $11 = ($10|0)==(0); - if ($11) { - $12 = ((($8)) + 40|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($1)) + 40|0); - HEAP32[$14>>2] = $13; - } - $15 = ((($8)) + 52|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($1)) + 44|0); - HEAP32[$17>>2] = $16; - } - $18 = ((($1)) + 52|0); - HEAP32[$18>>2] = 1; - $19 = ((($1)) + 60|0); - HEAPF32[$19>>2] = 1.0; - $20 = ((($1)) + 56|0); - HEAPF32[$20>>2] = 1.0; - $21 = ((($1)) + 64|0); - HEAPF32[$21>>2] = 0.5; - $22 = ((($1)) + 70|0); - HEAP16[$22>>1] = 0; - $23 = ((($1)) + 68|0); - HEAP16[$23>>1] = 0; - $24 = ((($1)) + 116|0); - HEAPF32[$24>>2] = 0.0; - $25 = ((($1)) + 132|0); - HEAPF32[$25>>2] = 0.0; - $26 = ((($1)) + 140|0); - HEAP32[$26>>2] = 0; - $27 = ((($1)) + 48|0); - HEAP16[$27>>1] = 0; - $28 = ((($1)) + 108|0); - $29 = HEAP32[$28>>2]|0; - $30 = ($29|0)==(0); - if (!($30)) { - $31 = ((($1)) + 114|0); - HEAP16[$31>>1] = 0; - } - $32 = ((($1)) + 124|0); - $33 = HEAP32[$32>>2]|0; - $34 = ($33|0)==(0); - if (!($34)) { - $35 = ((($1)) + 129|0); - HEAP8[$35>>0] = 0; - } - $36 = $2 & 2; - $37 = ($36|0)==(0); - if ($37) { - $38 = +HEAPF32[$1>>2]; - $39 = (+_jar_xm_period($0,$38)); - $40 = ((($1)) + 24|0); - HEAPF32[$40>>2] = $39; - _jar_xm_update_frequency($0,$1); - } - $41 = ((($0)) + 360|0); - $42 = $41; - $43 = $42; - $44 = HEAP32[$43>>2]|0; - $45 = (($42) + 4)|0; - $46 = $45; - $47 = HEAP32[$46>>2]|0; - $48 = ((($1)) + 144|0); - $49 = $48; - $50 = $49; - HEAP32[$50>>2] = $44; - $51 = (($49) + 4)|0; - $52 = $51; - HEAP32[$52>>2] = $47; - $53 = ((($1)) + 8|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if (!($55)) { - $56 = ((($54)) + 264|0); - $57 = $56; - $58 = $57; - HEAP32[$58>>2] = $44; - $59 = (($57) + 4)|0; - $60 = $59; - HEAP32[$60>>2] = $47; - } - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - return; - } - $63 = ((($61)) + 64|0); - $64 = $63; - $65 = $64; - HEAP32[$65>>2] = $44; - $66 = (($64) + 4)|0; - $67 = $66; - HEAP32[$67>>2] = $47; - return; -} -function _jar_xm_cut_note($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 40|0); - HEAPF32[$1>>2] = 0.0; - return; -} -function _jar_xm_handle_note_and_instrument($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0275 = 0, $$lobit = 0, $$lobit262 = 0, $$mask = 0, $$mask265 = 0, $$mask266 = 0, $$off = 0, $$off273 = 0, $$off274 = 0, $$old1 = 0, $$sink = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0, $106 = 0.0, $107 = 0; - var $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0; - var $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0.0, $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $20 = 0, $200 = 0, $201 = 0.0, $202 = 0.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, $214 = 0, $215 = 0, $216 = 0; - var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0.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; - var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.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, $250 = 0, $251 = 0, $252 = 0; - var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0.0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0.0, $27 = 0, $270 = 0; - var $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, $287 = 0.0, $288 = 0, $289 = 0; - var $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.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; - var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0; - var $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, $340 = 0, $341 = 0, $342 = 0; - var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $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; - var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0.0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0; - var $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, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0; - var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0.0, $411 = 0.0, $412 = 0, $413 = 0, $414 = 0; - var $415 = 0, $416 = 0, $417 = 0, $418 = 0.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; - var $57 = 0.0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $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, $91 = 0, $92 = 0; - var $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $exitcond = 0, $or$cond = 0, $phitmp = 0.0, $phitmp260 = 0.0, $phitmp263 = 0.0, $phitmp264 = 0.0, $trunc = 0, $trunc$clear = 0, $trunc259 = 0, $trunc259$clear = 0, $trunc261 = 0, $trunc261$clear = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($4<<24>>24)==(0); - do { - if (!($5)) { - $6 = ((($1)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($7)) + 3|0); - $9 = HEAP8[$8>>0]|0; - switch ($9<<24>>24) { - case 5: case 3: { - label = 4; - break; - } - default: { - $10 = ((($7)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11&255)>(239); - if ($12) { - label = 4; - } - } - } - if ((label|0) == 4) { - $13 = ((($1)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - $16 = ((($1)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _jar_xm_trigger_note($0,$1,6); - break; - } - } - } - $19 = HEAP8[$3>>0]|0; - $20 = $19&255; - $21 = ((($0)) + 54|0); - $22 = HEAP16[$21>>1]|0; - $23 = $22&65535; - $24 = ($20>>>0)>($23>>>0); - if ($24) { - _jar_xm_cut_note($1); - $25 = ((($1)) + 8|0); - HEAP32[$25>>2] = 0; - $26 = ((($1)) + 12|0); - HEAP32[$26>>2] = 0; - break; - } - $27 = ((($0)) + 320|0); - $28 = HEAP32[$27>>2]|0; - $29 = (($20) + -1)|0; - $30 = (($28) + (($29*280)|0)|0); - $31 = ((($1)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = HEAP8[$2>>0]|0; - $33 = ($32<<24>>24)==(0); - if ($33) { - $34 = ((($1)) + 12|0); - $35 = HEAP32[$34>>2]|0; - $36 = ($35|0)==(0|0); - if (!($36)) { - _jar_xm_trigger_note($0,$1,4); - } - } - } - } while(0); - $37 = HEAP8[$2>>0]|0; - $$off = (($37) + -1)<<24>>24; - $38 = ($$off&255)<(96); - do { - if ($38) { - $39 = ((($1)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($1)) + 16|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($42)) + 3|0); - $44 = HEAP8[$43>>0]|0; - $$old1 = ($40|0)!=(0|0); - switch ($44<<24>>24) { - case 5: case 3: { - if ($$old1) { - label = 16; - } - break; - } - default: { - $45 = ((($42)) + 2|0); - $46 = HEAP8[$45>>0]|0; - $47 = ($46&255)>(239); - $or$cond = $$old1 & $47; - if ($or$cond) { - label = 16; - } else { - $66 = ($40|0)==(0|0); - if (!($66)) { - label = 19; - } - } - } - } - if ((label|0) == 16) { - $48 = ((($1)) + 12|0); - $49 = HEAP32[$48>>2]|0; - $50 = ($49|0)==(0|0); - if ($50) { - label = 19; - } else { - $51 = HEAP8[$2>>0]|0; - $52 = $51&255; - $53 = ((($49)) + 56|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54 << 24 >> 24; - $56 = (($55) + ($52))|0; - $57 = (+($56|0)); - $58 = ((($49)) + 44|0); - $59 = HEAP8[$58>>0]|0; - $60 = (+($59<<24>>24)); - $61 = $60 * 0.0078125; - $62 = $57 + $61; - $63 = $62 + -1.0; - HEAPF32[$1>>2] = $63; - $64 = (+_jar_xm_period($0,$63)); - $65 = ((($1)) + 92|0); - HEAPF32[$65>>2] = $64; - break; - } - } - if ((label|0) == 19) { - $67 = HEAP32[$39>>2]|0; - $68 = ((($67)) + 24|0); - $69 = HEAP16[$68>>1]|0; - $70 = ($69<<16>>16)==(0); - if (!($70)) { - $71 = HEAP8[$2>>0]|0; - $72 = $71&255; - $73 = (($72) + -1)|0; - $74 = (((($40)) + 26|0) + ($73)|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = ((($40)) + 24|0); - $78 = HEAP16[$77>>1]|0; - $79 = $78&65535; - $80 = ($76>>>0)<($79>>>0); - if ($80) { - $$0275 = 0; - } else { - _jar_xm_cut_note($1); - break; - } - while(1) { - $106 = (+_jar_xm_next_of_sample($1)); - $107 = (((($1)) + 168|0) + ($$0275<<2)|0); - HEAPF32[$107>>2] = $106; - $108 = (($$0275) + 1)|0; - $exitcond = ($108|0)==(32); - if ($exitcond) { - break; - } else { - $$0275 = $108; - } - } - $81 = ((($1)) + 164|0); - HEAP32[$81>>2] = 0; - $82 = ((($40)) + 276|0); - $83 = HEAP32[$82>>2]|0; - $84 = HEAP8[$2>>0]|0; - $85 = $84&255; - $86 = (($85) + -1)|0; - $87 = (((($40)) + 26|0) + ($86)|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = (($83) + (($89*80)|0)|0); - $91 = ((($1)) + 12|0); - HEAP32[$91>>2] = $90; - $92 = (((($83) + (($89*80)|0)|0)) + 56|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93 << 24 >> 24; - $95 = (($94) + ($85))|0; - $96 = (+($95|0)); - $97 = (((($83) + (($89*80)|0)|0)) + 44|0); - $98 = HEAP8[$97>>0]|0; - $99 = (+($98<<24>>24)); - $100 = $99 * 0.0078125; - $101 = $96 + $100; - $102 = $101 + -1.0; - HEAPF32[$1>>2] = $102; - $103 = ((($1)) + 4|0); - HEAPF32[$103>>2] = $102; - $104 = HEAP8[$3>>0]|0; - $105 = ($104<<24>>24)==(0); - if ($105) { - _jar_xm_trigger_note($0,$1,1); - break; - } else { - _jar_xm_trigger_note($0,$1,0); - break; - } - } - } - _jar_xm_cut_note($1); - } else { - $109 = ($37<<24>>24)==(97); - if ($109) { - _jar_xm_key_off($1); - } - } - } while(0); - $110 = ((($2)) + 2|0); - $111 = HEAP8[$110>>0]|0; - $112 = $111&255; - $trunc = ($111&255) >>> 4; - $trunc$clear = $trunc & 15; - switch ($trunc$clear<<24>>24) { - case 5: { - $113 = ($111&255)>(80); - if (!($113)) { - label = 31; - } - break; - } - case 4: case 3: case 2: case 1: { - label = 31; - break; - } - case 8: { - $118 = $112 & 15; - $119 = $118&255; - _jar_xm_volume_slide($1,$119); - break; - } - case 9: { - $120 = $112 << 4; - $121 = $120&255; - _jar_xm_volume_slide($1,$121); - break; - } - case 10: { - $122 = ((($1)) + 112|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123 & 15; - $125 = $124&255; - $126 = $112 << 4; - $127 = $125 | $126; - $128 = $127&255; - HEAP8[$122>>0] = $128; - break; - } - case 12: { - $129 = $112 & 15; - $130 = $129 << 4; - $131 = $130 | $129; - $132 = (+($131|0)); - $133 = $132 / 255.0; - $134 = ((($1)) + 44|0); - HEAPF32[$134>>2] = $133; - break; - } - case 15: { - $135 = $112 & 15; - $136 = ($135|0)==(0); - if (!($136)) { - $137 = ((($1)) + 91|0); - $138 = $112 << 4; - $139 = $138 | $135; - $140 = $139&255; - HEAP8[$137>>0] = $140; - } - break; - } - default: { - } - } - if ((label|0) == 31) { - $114 = (($112) + -16)|0; - $115 = (+($114|0)); - $116 = $115 * 0.015625; - $117 = ((($1)) + 40|0); - HEAPF32[$117>>2] = $116; - } - $141 = ((($2)) + 3|0); - $142 = HEAP8[$141>>0]|0; - do { - switch ($142<<24>>24) { - case 1: { - $143 = ((($2)) + 4|0); - $144 = HEAP8[$143>>0]|0; - $145 = ($144<<24>>24)==(0); - if ($145) { - return; - } - $146 = ((($1)) + 85|0); - HEAP8[$146>>0] = $144; - return; - break; - } - case 2: { - $147 = ((($2)) + 4|0); - $148 = HEAP8[$147>>0]|0; - $149 = ($148<<24>>24)==(0); - if ($149) { - return; - } - $150 = ((($1)) + 86|0); - HEAP8[$150>>0] = $148; - return; - break; - } - case 3: { - $151 = ((($2)) + 4|0); - $152 = HEAP8[$151>>0]|0; - $153 = ($152<<24>>24)==(0); - if ($153) { - return; - } - $154 = ((($1)) + 91|0); - HEAP8[$154>>0] = $152; - return; - break; - } - case 4: { - $155 = ((($2)) + 4|0); - $156 = HEAP8[$155>>0]|0; - $157 = $156&255; - $158 = $157 & 15; - $159 = ($158|0)==(0); - if (!($159)) { - $160 = ((($1)) + 112|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161 & -16; - $163 = $162&255; - $164 = $163 | $158; - $165 = $164&255; - HEAP8[$160>>0] = $165; - } - $$mask266 = $157 & 240; - $166 = ($$mask266|0)==(0); - if ($166) { - return; - } - $167 = ((($1)) + 112|0); - $168 = HEAP8[$167>>0]|0; - $169 = $168 & 15; - $170 = $169&255; - $171 = $170 | $$mask266; - $172 = $171&255; - HEAP8[$167>>0] = $172; - return; - break; - } - case 5: { - $173 = ((($2)) + 4|0); - $174 = HEAP8[$173>>0]|0; - $175 = ($174<<24>>24)==(0); - if ($175) { - return; - } - $176 = ((($1)) + 81|0); - HEAP8[$176>>0] = $174; - return; - break; - } - case 6: { - $177 = ((($2)) + 4|0); - $178 = HEAP8[$177>>0]|0; - $179 = ($178<<24>>24)==(0); - if ($179) { - return; - } - $180 = ((($1)) + 81|0); - HEAP8[$180>>0] = $178; - return; - break; - } - case 7: { - $181 = ((($2)) + 4|0); - $182 = HEAP8[$181>>0]|0; - $183 = $182&255; - $184 = $183 & 15; - $185 = ($184|0)==(0); - if (!($185)) { - $186 = ((($1)) + 128|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 & -16; - $189 = $188&255; - $190 = $189 | $184; - $191 = $190&255; - HEAP8[$186>>0] = $191; - } - $$mask265 = $183 & 240; - $192 = ($$mask265|0)==(0); - if ($192) { - return; - } - $193 = ((($1)) + 128|0); - $194 = HEAP8[$193>>0]|0; - $195 = $194 & 15; - $196 = $195&255; - $197 = $196 | $$mask265; - $198 = $197&255; - HEAP8[$193>>0] = $198; - return; - break; - } - case 8: { - $199 = ((($2)) + 4|0); - $200 = HEAP8[$199>>0]|0; - $201 = (+($200&255)); - $202 = $201 / 255.0; - $203 = ((($1)) + 44|0); - HEAPF32[$203>>2] = $202; - return; - break; - } - case 9: { - $204 = ((($1)) + 12|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - if ($206) { - return; - } - $207 = HEAP8[$2>>0]|0; - $$off274 = (($207) + -1)<<24>>24; - $208 = ($$off274&255)<(96); - if (!($208)) { - return; - } - $209 = ((($2)) + 4|0); - $210 = HEAP8[$209>>0]|0; - $211 = $210&255; - $212 = ((($205)) + 23|0); - $213 = HEAP8[$212>>0]|0; - $214 = ($213<<24>>24)==(16); - $215 = $214 ? 7 : 8; - $216 = $211 << $215; - $217 = ((($205)) + 24|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($216>>>0)<($218>>>0); - if ($219) { - $221 = (+($216>>>0)); - $222 = ((($1)) + 20|0); - HEAPF32[$222>>2] = $221; - return; - } else { - $220 = ((($1)) + 20|0); - HEAPF32[$220>>2] = -1.0; - return; - } - break; - } - case 10: { - $223 = ((($2)) + 4|0); - $224 = HEAP8[$223>>0]|0; - $225 = ($224<<24>>24)==(0); - if ($225) { - return; - } - $226 = ((($1)) + 81|0); - HEAP8[$226>>0] = $224; - return; - break; - } - case 11: { - $227 = ((($2)) + 4|0); - $228 = HEAP8[$227>>0]|0; - $229 = $228&255; - $230 = ((($0)) + 46|0); - $231 = HEAP16[$230>>1]|0; - $232 = $231&65535; - $233 = ($229>>>0)<($232>>>0); - if (!($233)) { - return; - } - $234 = ((($0)) + 368|0); - HEAP32[$234>>2] = 1; - $235 = ((($0)) + 376|0); - HEAP8[$235>>0] = $228; - return; - break; - } - case 12: { - $236 = ((($2)) + 4|0); - $237 = HEAP8[$236>>0]|0; - $238 = ($237&255)>(64); - $phitmp263 = (+($237&255)); - $phitmp264 = $phitmp263 * 0.015625; - $239 = $238 ? 1.0 : $phitmp264; - $240 = ((($1)) + 40|0); - HEAPF32[$240>>2] = $239; - return; - break; - } - case 13: { - $241 = ((($0)) + 372|0); - HEAP32[$241>>2] = 1; - $242 = ((($2)) + 4|0); - $243 = HEAP8[$242>>0]|0; - $244 = $243&255; - $245 = $244 >>> 4; - $246 = ($245*10)|0; - $247 = $244 & 15; - $248 = (($246) + ($247))|0; - $249 = $248&255; - $250 = ((($0)) + 377|0); - HEAP8[$250>>0] = $249; - return; - break; - } - case 14: { - $251 = ((($2)) + 4|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $trunc261 = ($252&255) >>> 4; - $trunc261$clear = $trunc261 & 15; - do { - switch ($trunc261$clear<<24>>24) { - case 1: { - $254 = $253 & 15; - $255 = ($254|0)==(0); - if (!($255)) { - $256 = $254&255; - $257 = ((($1)) + 87|0); - HEAP8[$257>>0] = $256; - } - $258 = ((($1)) + 87|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (0 - ($260))|0; - $262 = (+($261|0)); - _jar_xm_pitch_slide($0,$1,$262); - return; - break; - } - case 2: { - $263 = $253 & 15; - $264 = ($263|0)==(0); - if (!($264)) { - $265 = $263&255; - $266 = ((($1)) + 88|0); - HEAP8[$266>>0] = $265; - } - $267 = ((($1)) + 88|0); - $268 = HEAP8[$267>>0]|0; - $269 = (+($268&255)); - _jar_xm_pitch_slide($0,$1,$269); - return; - break; - } - case 4: { - $270 = $253 & 3; - $271 = ((($1)) + 104|0); - HEAP32[$271>>2] = $270; - $272 = $253 >>> 2; - $$lobit262 = $272 & 1; - $273 = $$lobit262 ^ 1; - $274 = ((($1)) + 108|0); - HEAP32[$274>>2] = $273; - return; - break; - } - case 5: { - $275 = ((($1)) + 16|0); - $276 = HEAP32[$275>>2]|0; - $277 = HEAP8[$276>>0]|0; - $278 = $277&255; - $$off273 = (($277) + -1)<<24>>24; - $279 = ($$off273&255)<(96); - if (!($279)) { - return; - } - $280 = ((($1)) + 12|0); - $281 = HEAP32[$280>>2]|0; - $282 = ($281|0)==(0|0); - if ($282) { - return; - } - $283 = ((($281)) + 56|0); - $284 = HEAP8[$283>>0]|0; - $285 = $284 << 24 >> 24; - $286 = (($285) + ($278))|0; - $287 = (+($286|0)); - $288 = $253 << 4; - $289 = $288 & 240; - $290 = (($289) + -128)|0; - $291 = (+($290|0)); - $292 = $291 * 0.0078125; - $293 = $292 + $287; - $294 = $293 + -1.0; - HEAPF32[$1>>2] = $294; - $295 = (+_jar_xm_period($0,$294)); - $296 = ((($1)) + 24|0); - HEAPF32[$296>>2] = $295; - _jar_xm_update_frequency($0,$1); - return; - break; - } - case 6: { - $297 = $253 & 15; - $298 = ($297|0)==(0); - if ($298) { - $311 = ((($0)) + 349|0); - $312 = HEAP8[$311>>0]|0; - $313 = ((($1)) + 98|0); - HEAP8[$313>>0] = $312; - $314 = ((($0)) + 377|0); - HEAP8[$314>>0] = $312; - return; - } - $299 = ((($1)) + 99|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $302 = ($297|0)==($301|0); - if ($302) { - HEAP8[$299>>0] = 0; - return; - } else { - $303 = (($300) + 1)<<24>>24; - HEAP8[$299>>0] = $303; - $304 = ((($0)) + 368|0); - HEAP32[$304>>2] = 1; - $305 = ((($1)) + 98|0); - $306 = HEAP8[$305>>0]|0; - $307 = ((($0)) + 377|0); - HEAP8[$307>>0] = $306; - $308 = ((($0)) + 348|0); - $309 = HEAP8[$308>>0]|0; - $310 = ((($0)) + 376|0); - HEAP8[$310>>0] = $309; - return; - } - break; - } - case 7: { - $315 = $253 & 3; - $316 = ((($1)) + 120|0); - HEAP32[$316>>2] = $315; - $317 = $253 >>> 2; - $$lobit = $317 & 1; - $318 = $$lobit ^ 1; - $319 = ((($1)) + 124|0); - HEAP32[$319>>2] = $318; - return; - break; - } - case 10: { - $320 = $253 & 15; - $321 = ($320|0)==(0); - if (!($321)) { - $322 = $320&255; - $323 = ((($1)) + 82|0); - HEAP8[$323>>0] = $322; - } - $324 = ((($1)) + 82|0); - $325 = HEAP8[$324>>0]|0; - $326 = $325&255; - $327 = $326 << 4; - $328 = $327&255; - _jar_xm_volume_slide($1,$328); - return; - break; - } - case 11: { - $329 = $253 & 15; - $330 = ($329|0)==(0); - if (!($330)) { - $331 = $329&255; - $332 = ((($1)) + 82|0); - HEAP8[$332>>0] = $331; - } - $333 = ((($1)) + 82|0); - $334 = HEAP8[$333>>0]|0; - _jar_xm_volume_slide($1,$334); - return; - break; - } - case 13: { - $335 = HEAP8[$2>>0]|0; - $336 = ($335<<24>>24)==(0); - if (!($336)) { - return; - } - $337 = HEAP8[$3>>0]|0; - $338 = ($337<<24>>24)==(0); - if (!($338)) { - return; - } - $339 = ((($1)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $341 = ((($340)) + 4|0); - $342 = HEAP8[$341>>0]|0; - $343 = $342 & 15; - $344 = ($343<<24>>24)==(0); - if ($344) { - _jar_xm_trigger_note($0,$1,7); - return; - } else { - $345 = ((($1)) + 4|0); - $346 = HEAP32[$345>>2]|0; - HEAP32[$1>>2] = $346; - _jar_xm_trigger_note($0,$1,1); - return; - } - break; - } - case 14: { - $347 = ((($1)) + 16|0); - $348 = HEAP32[$347>>2]|0; - $349 = ((($348)) + 4|0); - $350 = HEAP8[$349>>0]|0; - $351 = $350 & 15; - $352 = $351&255; - $353 = ((($0)) + 328|0); - $354 = HEAP16[$353>>1]|0; - $355 = $354&65535; - $356 = Math_imul($352, $355)|0; - $357 = $356&65535; - $358 = ((($0)) + 378|0); - HEAP16[$358>>1] = $357; - return; - break; - } - default: { - return; - } - } - } while(0); - break; - } - case 15: { - $359 = ((($2)) + 4|0); - $360 = HEAP8[$359>>0]|0; - $361 = ($360<<24>>24)==(0); - if ($361) { - return; - } - $362 = ($360&255)<(32); - $363 = $360&255; - if ($362) { - $364 = ((($0)) + 328|0); - HEAP16[$364>>1] = $363; - return; - } else { - $365 = ((($0)) + 330|0); - HEAP16[$365>>1] = $363; - return; - } - break; - } - case 16: { - $366 = ((($2)) + 4|0); - $367 = HEAP8[$366>>0]|0; - $368 = ($367&255)>(64); - $phitmp = (+($367&255)); - $phitmp260 = $phitmp * 0.015625; - $369 = $368 ? 1.0 : $phitmp260; - $370 = ((($0)) + 332|0); - HEAPF32[$370>>2] = $369; - return; - break; - } - case 17: { - $371 = ((($2)) + 4|0); - $372 = HEAP8[$371>>0]|0; - $373 = ($372<<24>>24)==(0); - if ($373) { - return; - } - $374 = ((($1)) + 83|0); - HEAP8[$374>>0] = $372; - return; - break; - } - case 21: { - $375 = ((($2)) + 4|0); - $376 = HEAP8[$375>>0]|0; - $377 = $376&255; - $378 = ((($1)) + 68|0); - HEAP16[$378>>1] = $377; - $379 = ((($1)) + 70|0); - HEAP16[$379>>1] = $377; - return; - break; - } - case 25: { - $380 = ((($2)) + 4|0); - $381 = HEAP8[$380>>0]|0; - $382 = ($381<<24>>24)==(0); - if ($382) { - return; - } - $383 = ((($1)) + 84|0); - HEAP8[$383>>0] = $381; - return; - break; - } - case 27: { - $384 = ((($2)) + 4|0); - $385 = HEAP8[$384>>0]|0; - $386 = $385&255; - $387 = ($385<<24>>24)==(0); - if ($387) { - return; - } - $$mask = $386 & 240; - $388 = ($$mask|0)==(0); - if ($388) { - $389 = ((($1)) + 96|0); - $390 = HEAP8[$389>>0]|0; - $391 = $390 & -16; - $392 = $391&255; - $393 = $386 & 15; - $394 = $392 | $393; - $395 = $394&255; - $$sink = $395; - } else { - $$sink = $385; - } - $396 = ((($1)) + 96|0); - HEAP8[$396>>0] = $$sink; - return; - break; - } - case 29: { - $397 = ((($2)) + 4|0); - $398 = HEAP8[$397>>0]|0; - $399 = ($398<<24>>24)==(0); - if ($399) { - return; - } - $400 = ((($1)) + 136|0); - HEAP8[$400>>0] = $398; - return; - break; - } - case 33: { - $401 = ((($2)) + 4|0); - $402 = HEAP8[$401>>0]|0; - $403 = $402&255; - $trunc259 = ($402&255) >>> 4; - $trunc259$clear = $trunc259 & 15; - switch ($trunc259$clear<<24>>24) { - case 1: { - $404 = $403 & 15; - $405 = ($404|0)==(0); - if (!($405)) { - $406 = $404&255; - $407 = ((($1)) + 89|0); - HEAP8[$407>>0] = $406; - } - $408 = ((($1)) + 89|0); - $409 = HEAP8[$408>>0]|0; - $410 = (+($409&255)); - $411 = -$410; - _jar_xm_pitch_slide($0,$1,$411); - return; - break; - } - case 2: { - $412 = $403 & 15; - $413 = ($412|0)==(0); - if (!($413)) { - $414 = $412&255; - $415 = ((($1)) + 90|0); - HEAP8[$415>>0] = $414; - } - $416 = ((($1)) + 90|0); - $417 = HEAP8[$416>>0]|0; - $418 = (+($417&255)); - _jar_xm_pitch_slide($0,$1,$418); - return; - break; - } - default: { - return; - } - } - break; - } - default: { - return; - } - } - } while(0); -} -function _jar_xm_key_off($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 52|0); - HEAP32[$1>>2] = 0; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0|0); - if (!($4)) { - $5 = ((($3)) + 176|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - return; - } - } - _jar_xm_cut_note($0); - return; -} -function _jar_xm_period($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$0 = 0.0, $2 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 56|0); - $3 = HEAP32[$2>>2]|0; - switch ($3|0) { - case 0: { - $4 = (+_jar_xm_linear_period($1)); - $$0 = $4; - break; - } - case 1: { - $5 = (+_jar_xm_amiga_period($1)); - $$0 = $5; - break; - } - default: { - $$0 = 0.0; - } - } - return (+$$0); -} -function _jar_xm_linear_period($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 * 64.0; - $2 = 7680.0 - $1; - return (+$2); -} -function _jar_xm_amiga_period($0) { - $0 = +$0; - var $$0 = 0, $$023 = 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; - var $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (~~(($0))>>>0); - $2 = (($1>>>0) % 12)&-1; - $3 = $0 / 12.0; - $4 = $3 + -2.0; - $5 = (~~(($4))); - $6 = (4660 + ($2<<1)|0); - $7 = HEAP16[$6>>1]|0; - $8 = (($2) + 1)|0; - $9 = (4660 + ($8<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = $5 << 24 >> 24; - $12 = ($5<<24>>24)>(0); - if ($12) { - $13 = $7&65535; - $14 = $13 >>> $11; - $15 = $14&65535; - $16 = $10&65535; - $17 = $16 >>> $11; - $18 = $17&65535; - $$0 = $18;$$023 = $15; - } else { - $19 = ($5<<24>>24)<(0); - $20 = (0 - ($11))|0; - if ($19) { - $21 = $10&65535; - $22 = $21 << $20; - $23 = $7&65535; - $24 = $23 << $20; - $25 = $24&65535; - $26 = $22&65535; - $$0 = $26;$$023 = $25; - } else { - $$0 = $10;$$023 = $7; - } - } - $27 = $$023&65535; - $28 = (+($$023&65535)); - $29 = (+($1>>>0)); - $30 = $0 - $29; - $31 = $$0&65535; - $32 = (($31) - ($27))|0; - $33 = (+($32|0)); - $34 = $30 * $33; - $35 = $28 + $34; - return (+$35); -} -function _jar_xm_waveform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $3 = 0.0, $4 = 0.0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 63; - switch ($0|0) { - case 0: { - $3 = (+($2&255)); - $4 = $3 * 6.2831840515136719; - $5 = $4 * 0.015625; - $6 = (+Math_sin((+$5))); - $7 = -$6; - $$0 = $7; - return (+$$0); - break; - } - case 1: { - $8 = $2&255; - $9 = (32 - ($8))|0; - $10 = (+($9|0)); - $11 = $10 * 0.03125; - $$0 = $11; - return (+$$0); - break; - } - case 2: { - $12 = ($2&255)>(31); - $13 = $12 ? 1.0 : -1.0; - $$0 = $13; - return (+$$0); - break; - } - case 3: { - $14 = HEAP32[777]|0; - $15 = Math_imul($14, 1103515245)|0; - $16 = (($15) + 12345)|0; - HEAP32[777] = $16; - $17 = $16 >>> 16; - $18 = $17 & 32767; - $19 = (+($18>>>0)); - $20 = $19 * 6.103515625E-5; - $21 = $20 + -1.0; - $$0 = $21; - return (+$$0); - break; - } - case 4: { - $22 = $2&255; - $23 = (($22) + -32)|0; - $24 = (+($23|0)); - $25 = $24 * 0.03125; - $$0 = $25; - return (+$$0); - break; - } - default: { - $$0 = 0.0; - return (+$$0); - } - } - return +(0.0); -} -function _jar_xm_frequency($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$050 = 0.0, $$051 = 0, $$054 = 0, $$1 = 0, $$148 = 0, $$152 = 0, $$253 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.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.0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0; - var $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $indvars$iv = 0, $indvars$iv$next = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - switch ($4|0) { - case 0: { - $5 = $2 * 64.0; - $6 = $1 - $5; - $7 = (+_jar_xm_linear_frequency($6)); - $$050 = $7; - return (+$$050); - break; - } - case 1: { - $8 = $2 == 0.0; - if ($8) { - $9 = (+_jar_xm_amiga_frequency($1)); - $$050 = $9; - return (+$$050); - } - $10 = $1 > 1712.0; - if ($10) { - $$051 = -1; - while(1) { - $11 = $$051 << 24 >> 24; - $12 = (0 - ($11))|0; - $13 = 1712 << $12; - $14 = (+($13|0)); - $15 = $14 < $1; - $16 = (($$051) + -1)<<24>>24; - if ($15) { - $$051 = $16; - } else { - $$253 = $$051; - break; - } - } - } else { - $17 = $1 < 856.0; - if ($17) { - $$152 = 1; - while(1) { - $18 = $$152 << 24 >> 24; - $19 = 856 >>> $18; - $20 = (+($19|0)); - $21 = $20 > $1; - $22 = (($$152) + 1)<<24>>24; - if ($21) { - $$152 = $22; - } else { - $$253 = $$152; - break; - } - } - } else { - $$253 = 0; - } - } - $23 = $$253 << 24 >> 24; - $24 = ($$253<<24>>24)>(0); - $25 = ($$253<<24>>24)<(0); - $26 = (0 - ($23))|0; - $indvars$iv = 0; - while(1) { - $27 = (4660 + ($indvars$iv<<1)|0); - $28 = HEAP16[$27>>1]|0; - $29 = (($indvars$iv) + 1)|0; - $30 = (4660 + ($29<<1)|0); - $31 = HEAP16[$30>>1]|0; - if ($24) { - $32 = $28&65535; - $33 = $32 >>> $23; - $34 = $33&65535; - $35 = $31&65535; - $36 = $35 >>> $23; - $37 = $36&65535; - $$1 = $37;$$148 = $34; - } else { - if ($25) { - $38 = $31&65535; - $39 = $38 << $26; - $40 = $28&65535; - $41 = $40 << $26; - $42 = $41&65535; - $43 = $39&65535; - $$1 = $43;$$148 = $42; - } else { - $$1 = $31;$$148 = $28; - } - } - $44 = (+($$1&65535)); - $45 = !($44 <= $1); - $46 = (+($$148&65535)); - $47 = !($46 >= $1); - $or$cond = $47 | $45; - $48 = $indvars$iv&255; - if (!($or$cond)) { - $$054 = $48; - break; - } - $indvars$iv$next = (($indvars$iv) + 1)|0; - $49 = ($indvars$iv$next>>>0)<(12); - if ($49) { - $indvars$iv = $indvars$iv$next; - } else { - $$054 = 0; - break; - } - } - $50 = $$253 << 24 >> 24; - $51 = (($50) + 2)|0; - $52 = (+($51|0)); - $53 = $52 * 12.0; - $54 = (+($$054&255)); - $55 = $53 + $54; - $56 = $$148&65535; - $57 = (+($$148&65535)); - $58 = $1 - $57; - $59 = $$1&65535; - $60 = (($59) - ($56))|0; - $61 = (+($60|0)); - $62 = $58 / $61; - $63 = $55 + $62; - $64 = $63 + $2; - $65 = (+_jar_xm_amiga_period($64)); - $66 = (+_jar_xm_amiga_frequency($65)); - $$050 = $66; - return (+$$050); - break; - } - default: { - $$050 = 0.0; - return (+$$050); - } - } - return +(0.0); -} -function _jar_xm_linear_frequency($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $exp2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = 4608.0 - $0; - $2 = $1 / 768.0; - $exp2 = (+_llvm_exp2_f32((+$2))); - $3 = $exp2 * 8363.0; - return (+$3); -} -function _jar_xm_amiga_frequency($0) { - $0 = +$0; - var $$0 = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = $0 == 0.0; - $2 = $0 * 2.0; - $3 = 7093789.0 / $2; - $$0 = $1 ? 0.0 : $3; - return (+$$0); -} -function _jar_xm_envelope_tick($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$043 = 0, $$lcssa = 0, $$lcssa42 = 0, $10 = 0.0, $11 = 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; - var $27 = 0, $28 = 0, $29 = 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.0, $56 = 0.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, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($1)) + 48|0); - $5 = HEAP8[$4>>0]|0; - $6 = ($5&255)<(2); - if ($6) { - $7 = ($5<<24>>24)==(1); - if (!($7)) { - return; - } - $8 = ((($1)) + 2|0); - $9 = HEAP16[$8>>1]|0; - $10 = (+($9&65535)); - $11 = $10 * 0.015625; - HEAPF32[$3>>2] = $11; - $12 = $11 > 1.0; - if (!($12)) { - return; - } - HEAPF32[$3>>2] = 1.0; - return; - } - $13 = ((($1)) + 60|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0); - if (!($15)) { - $16 = ((($1)) + 51|0); - $17 = HEAP8[$16>>0]|0; - $18 = $17&255; - $19 = (($1) + ($18<<2)|0); - $20 = HEAP16[$19>>1]|0; - $21 = HEAP16[$2>>1]|0; - $22 = ($21&65535)<($20&65535); - if (!($22)) { - $23 = $21&65535; - $24 = $20&65535; - $25 = ((($1)) + 50|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26&255; - $28 = (($1) + ($27<<2)|0); - $29 = HEAP16[$28>>1]|0; - $30 = $29&65535; - $31 = (($23) - ($24))|0; - $32 = (($31) + ($30))|0; - $33 = $32&65535; - HEAP16[$2>>1] = $33; - } - } - $34 = HEAP8[$4>>0]|0; - $35 = ($34&255)>(2); - $36 = HEAP16[$2>>1]|0; - L15: do { - if ($35) { - $$043 = 0;$38 = 0;$41 = $36; - while(1) { - $37 = (($1) + ($38<<2)|0); - $39 = HEAP16[$37>>1]|0; - $40 = ($39&65535)>($41&65535); - if (!($40)) { - $42 = (($38) + 1)|0; - $43 = (($1) + ($42<<2)|0); - $44 = HEAP16[$43>>1]|0; - $45 = ($44&65535)<($41&65535); - if (!($45)) { - $$lcssa = $41;$$lcssa42 = $38; - break L15; - } - } - $46 = (($$043) + 1)<<24>>24; - $47 = $46&255; - $48 = HEAP8[$4>>0]|0; - $49 = $48&255; - $50 = (($49) + -2)|0; - $51 = ($47|0)<($50|0); - $52 = HEAP16[$2>>1]|0; - if ($51) { - $$043 = $46;$38 = $47;$41 = $52; - } else { - $$lcssa = $52;$$lcssa42 = $47; - break; - } - } - } else { - $$lcssa = $36;$$lcssa42 = 0; - } - } while(0); - $53 = (($1) + ($$lcssa42<<2)|0); - $54 = ((($53)) + 4|0); - $55 = (+_jar_xm_envelope_lerp($53,$54,$$lcssa)); - $56 = $55 * 0.015625; - HEAPF32[$3>>2] = $56; - $57 = ((($0)) + 52|0); - $58 = HEAP32[$57>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = ((($1)) + 56|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0); - if (!($62)) { - $63 = HEAP16[$2>>1]|0; - $64 = ((($1)) + 49|0); - $65 = HEAP8[$64>>0]|0; - $66 = $65&255; - $67 = (($1) + ($66<<2)|0); - $68 = HEAP16[$67>>1]|0; - $69 = ($63<<16>>16)==($68<<16>>16); - if ($69) { - return; - } - } - } - $70 = HEAP16[$2>>1]|0; - $71 = (($70) + 1)<<16>>16; - HEAP16[$2>>1] = $71; - return; -} -function _jar_xm_envelope_lerp($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.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2&65535; - $4 = HEAP16[$0>>1]|0; - $5 = $4&65535; - $6 = ($4&65535)<($2&65535); - if (!($6)) { - $7 = ((($0)) + 2|0); - $8 = HEAP16[$7>>1]|0; - $9 = (+($8&65535)); - $$0 = $9; - return (+$$0); - } - $10 = HEAP16[$1>>1]|0; - $11 = ($10&65535)>($2&65535); - $12 = ((($1)) + 2|0); - $13 = HEAP16[$12>>1]|0; - if ($11) { - $15 = $10&65535; - $16 = (($3) - ($5))|0; - $17 = (+($16|0)); - $18 = (($15) - ($5))|0; - $19 = (+($18|0)); - $20 = $17 / $19; - $21 = ((($0)) + 2|0); - $22 = HEAP16[$21>>1]|0; - $23 = (+($22&65535)); - $24 = 1.0 - $20; - $25 = $24 * $23; - $26 = (+($13&65535)); - $27 = $26 * $20; - $28 = $27 + $25; - $$0 = $28; - return (+$$0); - } else { - $14 = (+($13&65535)); - $$0 = $14; - return (+$$0); - } - return +(0.0); -} -function _jar_xm_post_pattern_change($0) { - $0 = $0|0; - var $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; - $1 = ((($0)) + 348|0); - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = ((($0)) + 46|0); - $5 = HEAP16[$4>>1]|0; - $6 = $5&65535; - $7 = ($3>>>0)<($6>>>0); - if ($7) { - return; - } - $8 = ((($0)) + 48|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&255; - HEAP8[$1>>0] = $10; - return; -} -function _jar_xm_create_context_safe($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$06364 = 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, $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer6 = sp + 16|0; - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $4 = (_jar_xm_check_sanity_preload($1,$2)|0); - $5 = ($4|0)==(0); - if (!($5)) { - $6 = HEAP32[1039]|0; - HEAP32[$vararg_buffer>>2] = 9762; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $4; - (_fprintf($6,9685,$vararg_buffer)|0); - (_fflush($6)|0); - $$0 = 1; - STACKTOP = sp;return ($$0|0); - } - $7 = (_jar_xm_get_memory_needed_for_context($1,$2)|0); - $8 = (_malloc($7)|0); - $9 = ($8|0)==(0|0); - $10 = ($7|0)!=(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = HEAP32[1039]|0; - HEAP32[$vararg_buffer2>>2] = 9762; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - (_fprintf($11,9789,$vararg_buffer2)|0); - (_fflush($11)|0); - $$0 = 2; - STACKTOP = sp;return ($$0|0); - } - _memset(($8|0),0,($7|0))|0; - HEAP32[$0>>2] = $8; - HEAP32[$8>>2] = $8; - $12 = ((($8)) + 392|0); - $13 = ((($8)) + 324|0); - HEAP32[$13>>2] = $3; - $14 = (_jar_xm_load_module($8,$1,$2,$12)|0); - $15 = ((($8)) + 388|0); - HEAP32[$15>>2] = $14; - $16 = ((($8)) + 50|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = ($18*304)|0; - $20 = (($14) + ($19)|0); - $21 = ((($8)) + 332|0); - HEAPF32[$21>>2] = 1.0; - $22 = ((($8)) + 336|0); - HEAPF32[$22>>2] = 0.25; - $23 = ((($8)) + 340|0); - HEAPF32[$23>>2] = 0.0078125; - $24 = ((($8)) + 344|0); - HEAPF32[$24>>2] = 0.0078125; - $25 = HEAP16[$16>>1]|0; - $26 = ($25<<16>>16)==(0); - if (!($26)) { - $27 = HEAP32[$15>>2]|0; - $28 = HEAP16[$16>>1]|0; - $29 = $28&65535; - $$06364 = 0;$34 = 0; - while(1) { - $33 = (((($27) + (($34*304)|0)|0)) + 36|0); - HEAP32[$33>>2] = 1; - $35 = (((($27) + (($34*304)|0)|0)) + 104|0); - HEAP32[$35>>2] = 0; - $36 = (((($27) + (($34*304)|0)|0)) + 108|0); - HEAP32[$36>>2] = 1; - $37 = (((($27) + (($34*304)|0)|0)) + 120|0); - HEAP32[$37>>2] = 0; - $38 = (((($27) + (($34*304)|0)|0)) + 124|0); - HEAP32[$38>>2] = 1; - $39 = (((($27) + (($34*304)|0)|0)) + 56|0); - HEAPF32[$39>>2] = 1.0; - $40 = (((($27) + (($34*304)|0)|0)) + 60|0); - HEAPF32[$40>>2] = 1.0; - $41 = (((($27) + (($34*304)|0)|0)) + 40|0); - HEAPF32[$41>>2] = 1.0; - $42 = (((($27) + (($34*304)|0)|0)) + 64|0); - HEAPF32[$42>>2] = 0.5; - $43 = (((($27) + (($34*304)|0)|0)) + 44|0); - HEAPF32[$43>>2] = 0.5; - $44 = (((($27) + (($34*304)|0)|0)) + 300|0); - HEAPF32[$44>>2] = 0.0; - $45 = (((($27) + (($34*304)|0)|0)) + 296|0); - HEAPF32[$45>>2] = 0.5; - $46 = (($$06364) + 1)<<24>>24; - $47 = $46&255; - $48 = ($47>>>0)<($29>>>0); - if ($48) { - $$06364 = $46;$34 = $47; - } else { - break; - } - } - } - $30 = ((($8)) + 380|0); - HEAP32[$30>>2] = $20; - $31 = (_jar_xm_check_sanity_postload($8)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $49 = HEAP32[1039]|0; - HEAP32[$vararg_buffer6>>2] = 9762; - $vararg_ptr9 = ((($vararg_buffer6)) + 4|0); - HEAP32[$vararg_ptr9>>2] = $31; - (_fprintf($49,9833,$vararg_buffer6)|0); - (_fflush($49)|0); - _jar_xm_free_context($8); - $$0 = 1; - STACKTOP = sp;return ($$0|0); -} -function _jar_xm_check_sanity_preload($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 = ($1>>>0)<(60); - if ($2) { - $$0 = 4; - return ($$0|0); - } - $3 = (_memcmp(10050,$0,17)|0); - $4 = ($3|0)==(0); - if (!($4)) { - $$0 = 1; - return ($$0|0); - } - $5 = ((($0)) + 37|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(26); - if (!($7)) { - $$0 = 2; - return ($$0|0); - } - $8 = ((($0)) + 59|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(1); - if ($10) { - $11 = ((($0)) + 58|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(4); - $$ = $13 ? 0 : 3; - return ($$|0); - } else { - $$0 = 3; - return ($$0|0); - } - return (0)|0; -} -function _jar_xm_get_memory_needed_for_context($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$0209$lcssa = 0, $$0209274 = 0, $$0212262 = 0, $$0213$lcssa = 0, $$0213261 = 0, $$0214 = 0, $$0215267 = 0, $$0216273 = 0, $$0275 = 0, $$1$lcssa = 0, $$1210268 = 0, $$1269 = 0, $$2$lcssa = 0, $$2211$lcssa = 0, $$2211263 = 0, $$2264 = 0, $$3 = 0, $$ph = 0, $$ph228 = 0; - var $$ph233 = 0, $$ph234 = 0, $$ph237 = 0, $$ph238 = 0, $$ph239 = 0, $$ph240 = 0, $$ph241 = 0, $$ph242 = 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; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0; - var $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, $287 = 0, $288 = 0, $289 = 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, $phitmp = 0, $phitmp294 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1>>>0)>(68); - $3 = ($1>>>0)>(69); - if ($2) { - $4 = ((($0)) + 68|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $12 = $6; - } else { - $12 = 0; - } - do { - if ($3) { - $7 = ((($0)) + 69|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = $9 << 8; - $11 = $10 | $12; - $13 = ($1|0)==(70); - do { - if ($13) { - $$ph = 0;$$ph233 = 0;$$ph234 = 0; - } else { - $14 = ((($0)) + 70|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = ($1>>>0)>(71); - if (!($17)) { - $18 = $16 << 3; - $$ph = $18;$$ph233 = 0;$$ph234 = $16; - break; - } - $19 = ((($0)) + 71|0); - $20 = HEAP8[$19>>0]|0; - $21 = $20&255; - $22 = $21 << 8; - $23 = $22 | $16; - $24 = $23 << 3; - $25 = ($1|0)==(72); - if ($25) { - $$ph = $24;$$ph233 = 0;$$ph234 = $23; - } else { - $26 = ((($0)) + 72|0); - $27 = HEAP8[$26>>0]|0; - $28 = $27&255; - $29 = ($1>>>0)>(73); - if ($29) { - $30 = ((($0)) + 73|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $phitmp294 = $32 << 8; - $$ph228 = $phitmp294; - } else { - $$ph228 = 0; - } - $33 = $$ph228 | $28; - $34 = ($33*280)|0; - $35 = (($34) + ($24))|0; - $$ph = $35;$$ph233 = $33;$$ph234 = $23; - } - } - } while(0); - $37 = ((($0)) + 64|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $284 = $39;$285 = $11;$286 = $$ph234;$287 = $$ph233;$288 = $$ph; - label = 14; - } else { - $36 = ($1>>>0)>(64); - if ($36) { - $40 = ((($0)) + 64|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = ($1|0)==(65); - if ($43) { - $$ph237 = $42;$$ph238 = $12;$$ph239 = 0;$$ph240 = 0;$$ph241 = 0;$$ph242 = 0; - label = 15; - break; - } else { - $284 = $42;$285 = $12;$286 = 0;$287 = 0;$288 = 0; - label = 14; - break; - } - } - $61 = ($1>>>0)>(62); - if (!($61)) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } - $62 = ((($0)) + 61|0); - $63 = HEAP8[$62>>0]|0; - $64 = $63&255; - $65 = $64 << 8; - $66 = ((($0)) + 60|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $65 | $68; - $70 = ((($0)) + 62|0); - $71 = HEAP8[$70>>0]|0; - $72 = $71&255; - $73 = ($1|0)==(63); - if ($73) { - $$1$lcssa = 0;$155 = $12; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $289 = 0;$79 = $72;$82 = $69;$85 = 0;$87 = $12;$89 = 0; - } - } - } while(0); - if ((label|0) == 14) { - $44 = ((($0)) + 65|0); - $45 = HEAP8[$44>>0]|0; - $46 = $45&255; - $phitmp = $46 << 8; - $$ph237 = $284;$$ph238 = $285;$$ph239 = $286;$$ph240 = $287;$$ph241 = $288;$$ph242 = $phitmp; - label = 15; - } - if ((label|0) == 15) { - $47 = $$ph242 | $$ph237; - $48 = $47 << 8; - $49 = (($48) + ($$ph241))|0; - $50 = ((($0)) + 60|0); - $51 = HEAP8[$50>>0]|0; - $52 = $51&255; - $53 = ((($0)) + 61|0); - $54 = HEAP8[$53>>0]|0; - $55 = $54&255; - $56 = $55 << 8; - $57 = $56 | $52; - $58 = ((($0)) + 62|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59&255; - $289 = $49;$79 = $60;$82 = $57;$85 = $$ph239;$87 = $$ph238;$89 = $$ph240; - } - $74 = ((($0)) + 63|0); - $75 = HEAP8[$74>>0]|0; - $76 = $75&255; - $77 = $76 << 8; - $78 = $77 | $79; - $80 = $78 << 16; - $81 = $80 | $82; - $83 = (($81) + 60)|0; - $84 = ($85|0)==(0); - if ($84) { - $$0$lcssa = $289;$$0209$lcssa = $83; - } else { - $86 = ($87*5)|0; - $$0209274 = $83;$$0216273 = 0;$$0275 = $289; - while(1) { - $90 = (($$0209274) + 5)|0; - $91 = ($90>>>0)<($1>>>0); - if ($91) { - $92 = (($0) + ($90)|0); - $93 = HEAP8[$92>>0]|0; - $94 = $93&255; - $103 = $94; - } else { - $103 = 0; - } - $95 = (($$0209274) + 6)|0; - $96 = ($95>>>0)<($1>>>0); - if ($96) { - $97 = (($0) + ($95)|0); - $98 = HEAP8[$97>>0]|0; - $99 = $98&255; - $101 = $99; - } else { - $101 = 0; - } - $100 = $101 << 8; - $102 = $100 | $103; - $104 = Math_imul($86, $102)|0; - $105 = (($104) + ($$0275))|0; - $106 = ($$0209274>>>0)<($1>>>0); - if ($106) { - $107 = (($0) + ($$0209274)|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $118 = $109; - } else { - $118 = 0; - } - $110 = (($$0209274) + 1)|0; - $111 = ($110>>>0)<($1>>>0); - if ($111) { - $112 = (($0) + ($110)|0); - $113 = HEAP8[$112>>0]|0; - $114 = $113&255; - $116 = $114; - } else { - $116 = 0; - } - $115 = $116 << 8; - $117 = $115 | $118; - $119 = (($$0209274) + 2)|0; - $120 = ($119>>>0)<($1>>>0); - if ($120) { - $121 = (($0) + ($119)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $132 = $123; - } else { - $132 = 0; - } - $124 = (($$0209274) + 3)|0; - $125 = ($124>>>0)<($1>>>0); - if ($125) { - $126 = (($0) + ($124)|0); - $127 = HEAP8[$126>>0]|0; - $128 = $127&255; - $130 = $128; - } else { - $130 = 0; - } - $129 = $130 << 8; - $131 = $129 | $132; - $133 = $131 << 16; - $134 = $117 | $133; - $135 = (($$0209274) + 7)|0; - $136 = ($135>>>0)<($1>>>0); - if ($136) { - $137 = (($0) + ($135)|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $148 = $139; - } else { - $148 = 0; - } - $140 = (($$0209274) + 8)|0; - $141 = ($140>>>0)<($1>>>0); - if ($141) { - $142 = (($0) + ($140)|0); - $143 = HEAP8[$142>>0]|0; - $144 = $143&255; - $146 = $144; - } else { - $146 = 0; - } - $145 = $146 << 8; - $147 = $145 | $148; - $149 = (($134) + ($$0209274))|0; - $150 = (($149) + ($147))|0; - $151 = (($$0216273) + 1)<<16>>16; - $152 = $151&65535; - $153 = ($152>>>0)<($85>>>0); - if ($153) { - $$0209274 = $150;$$0216273 = $151;$$0275 = $105; - } else { - $$0$lcssa = $105;$$0209$lcssa = $150; - break; - } - } - } - $88 = ($89|0)==(0); - if ($88) { - $$1$lcssa = $$0$lcssa;$155 = $87; - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); - } else { - $$0215267 = 0;$$1210268 = $$0209$lcssa;$$1269 = $$0$lcssa; - } - while(1) { - $158 = (($$1210268) + 27)|0; - $159 = ($158>>>0)<($1>>>0); - if ($159) { - $160 = (($0) + ($158)|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $171 = $162; - } else { - $171 = 0; - } - $163 = (($$1210268) + 28)|0; - $164 = ($163>>>0)<($1>>>0); - if ($164) { - $165 = (($0) + ($163)|0); - $166 = HEAP8[$165>>0]|0; - $167 = $166&255; - $169 = $167; - } else { - $169 = 0; - } - $168 = $169 << 8; - $170 = $168 | $171; - $172 = ($170*80)|0; - $173 = (($172) + ($$1269))|0; - $174 = ($170|0)==(0); - if ($174) { - $$0214 = 0; - } else { - $175 = (($$1210268) + 29)|0; - $176 = ($175>>>0)<($1>>>0); - if ($176) { - $177 = (($0) + ($175)|0); - $178 = HEAP8[$177>>0]|0; - $179 = $178&255; - $188 = $179; - } else { - $188 = 0; - } - $180 = (($$1210268) + 30)|0; - $181 = ($180>>>0)<($1>>>0); - if ($181) { - $182 = (($0) + ($180)|0); - $183 = HEAP8[$182>>0]|0; - $184 = $183&255; - $186 = $184; - } else { - $186 = 0; - } - $185 = $186 << 8; - $187 = $185 | $188; - $189 = (($$1210268) + 31)|0; - $190 = ($189>>>0)<($1>>>0); - if ($190) { - $191 = (($0) + ($189)|0); - $192 = HEAP8[$191>>0]|0; - $193 = $192&255; - $202 = $193; - } else { - $202 = 0; - } - $194 = (($$1210268) + 32)|0; - $195 = ($194>>>0)<($1>>>0); - if ($195) { - $196 = (($0) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = $197&255; - $200 = $198; - } else { - $200 = 0; - } - $199 = $200 << 8; - $201 = $199 | $202; - $203 = $201 << 16; - $204 = $187 | $203; - $$0214 = $204; - } - $205 = ($$1210268>>>0)<($1>>>0); - if ($205) { - $206 = (($0) + ($$1210268)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$1210268) + 1)|0; - $210 = ($209>>>0)<($1>>>0); - if ($210) { - $211 = (($0) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = (($$1210268) + 2)|0; - $219 = ($218>>>0)<($1>>>0); - if ($219) { - $220 = (($0) + ($218)|0); - $221 = HEAP8[$220>>0]|0; - $222 = $221&255; - $231 = $222; - } else { - $231 = 0; - } - $223 = (($$1210268) + 3)|0; - $224 = ($223>>>0)<($1>>>0); - if ($224) { - $225 = (($0) + ($223)|0); - $226 = HEAP8[$225>>0]|0; - $227 = $226&255; - $229 = $227; - } else { - $229 = 0; - } - $228 = $229 << 8; - $230 = $228 | $231; - $232 = $230 << 16; - $233 = $216 | $232; - $234 = (($233) + ($$1210268))|0; - $235 = ($170|0)==(0); - if ($235) { - $$0213$lcssa = 0;$$2$lcssa = $173;$$2211$lcssa = $234; - } else { - $$0212262 = 0;$$0213261 = 0;$$2211263 = $234;$$2264 = $173; - while(1) { - $240 = ($$2211263>>>0)<($1>>>0); - if ($240) { - $241 = (($0) + ($$2211263)|0); - $242 = HEAP8[$241>>0]|0; - $243 = $242&255; - $252 = $243; - } else { - $252 = 0; - } - $244 = (($$2211263) + 1)|0; - $245 = ($244>>>0)<($1>>>0); - if ($245) { - $246 = (($0) + ($244)|0); - $247 = HEAP8[$246>>0]|0; - $248 = $247&255; - $250 = $248; - } else { - $250 = 0; - } - $249 = $250 << 8; - $251 = $249 | $252; - $253 = (($$2211263) + 2)|0; - $254 = ($253>>>0)<($1>>>0); - if ($254) { - $255 = (($0) + ($253)|0); - $256 = HEAP8[$255>>0]|0; - $257 = $256&255; - $266 = $257; - } else { - $266 = 0; - } - $258 = (($$2211263) + 3)|0; - $259 = ($258>>>0)<($1>>>0); - if ($259) { - $260 = (($0) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264 << 8; - $265 = $263 | $266; - $267 = $265 << 16; - $268 = $251 | $267; - $269 = (($$2211263) + 14)|0; - $270 = ($269>>>0)<($1>>>0); - if ($270) { - $271 = (($0) + ($269)|0); - $272 = HEAP8[$271>>0]|0; - $273 = $272&255; - $276 = $273; - } else { - $276 = 0; - } - $274 = (($268) + ($$0213261))|0; - $275 = $276 >>> 4; - $277 = $275 & 1; - $278 = (2 - ($277))|0; - $279 = $268 << $278; - $$3 = (($279) + ($$2264))|0; - $280 = (($$2211263) + ($$0214))|0; - $281 = (($$0212262) + 1)<<16>>16; - $282 = $281&65535; - $283 = ($282>>>0)<($170>>>0); - if ($283) { - $$0212262 = $281;$$0213261 = $274;$$2211263 = $280;$$2264 = $$3; - } else { - $$0213$lcssa = $274;$$2$lcssa = $$3;$$2211$lcssa = $280; - break; - } - } - } - $236 = (($$2211$lcssa) + ($$0213$lcssa))|0; - $237 = (($$0215267) + 1)<<16>>16; - $238 = $237&65535; - $239 = ($238>>>0)<($89>>>0); - if ($239) { - $$0215267 = $237;$$1210268 = $236;$$1269 = $$2$lcssa; - } else { - $$1$lcssa = $$2$lcssa;$155 = $87; - break; - } - } - $154 = ($155*304)|0; - $156 = (($154) + 392)|0; - $157 = (($156) + ($$1$lcssa))|0; - return ($157|0); -} -function _jar_xm_load_module($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0668761 = 0, $$0669766 = 0, $$0670765 = 0, $$0671$lcssa = 0, $$0671787 = 0, $$0672$lcssa = 0, $$0672786 = 0, $$0677769 = 0, $$0678785 = 0, $$0679755 = 0, $$0680753 = 0, $$0681752 = 0, $$0682783 = 0, $$0687 = 0, $$0688776 = 0, $$0689782 = 0, $$0762 = 0, $$1$lcssa = 0, $$1673777 = 0, $$1683 = 0; - var $$1778 = 0, $$2 = 0, $$2674756 = 0, $$2684 = 0, $$3$lcssa794 = 0, $$3675$lcssa = 0, $$3675770 = 0, $$3685 = 0, $$3757 = 0, $$4 = 0, $$4676 = 0, $$4686 = 0, $$5 = 0, $$ph700 = 0, $$ph701 = 0, $$ph707 = 0, $$ph708 = 0, $$ph714 = 0, $$ph715 = 0, $$ph721 = 0; - var $$ph722 = 0, $$ph729 = 0, $$ph730 = 0, $$ph731 = 0, $$ph740 = 0, $$pn = 0, $$pn693 = 0, $$pr = 0, $$sink = 0, $$sink694 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $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, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $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; - var $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, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $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; - var $4 = 0, $40 = 0, $400 = 0, $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; - var $417 = 0, $418 = 0, $419 = 0, $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; - var $435 = 0, $436 = 0, $437 = 0, $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; - var $453 = 0, $454 = 0, $455 = 0, $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; - var $471 = 0, $472 = 0, $473 = 0, $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; - var $49 = 0, $490 = 0, $491 = 0, $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; - var $507 = 0, $508 = 0, $509 = 0, $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; - var $525 = 0, $526 = 0, $527 = 0, $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; - var $543 = 0, $544 = 0, $545 = 0, $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; - var $561 = 0, $562 = 0, $563 = 0, $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; - var $58 = 0, $580 = 0, $581 = 0, $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; - var $598 = 0, $599 = 0, $6 = 0, $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; - var $615 = 0, $616 = 0, $617 = 0, $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; - var $633 = 0, $634 = 0, $635 = 0, $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; - var $651 = 0, $652 = 0, $653 = 0, $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; - var $67 = 0, $670 = 0, $671 = 0, $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; - var $688 = 0, $689 = 0, $69 = 0, $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; - var $705 = 0, $706 = 0, $707 = 0, $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; - var $723 = 0, $724 = 0, $725 = 0, $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; - var $741 = 0, $742 = 0, $743 = 0, $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; - var $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0.0, $769 = 0, $77 = 0, $770 = 0.0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0; - var $778 = 0, $779 = 0, $78 = 0, $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; - var $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0.0, $802 = 0, $803 = 0.0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0; - var $813 = 0, $814 = 0, $815 = 0, $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; - var $831 = 0, $832 = 0, $833 = 0, $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; - var $85 = 0, $850 = 0, $851 = 0, $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.0, $866 = 0.0, $867 = 0; - var $868 = 0, $869 = 0, $87 = 0, $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.0, $882 = 0.0, $883 = 0, $884 = 0, $885 = 0; - var $886 = 0, $887 = 0, $888 = 0, $889 = 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, $exitcond = 0, $exitcond793 = 0, $phitmp = 0, $phitmp804 = 0; - var $sext = 0, $sext690 = 0, $sext691 = 0, $sext692 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($0)) + 4|0); - _memcpy_pad($4,20,$1,$2,17); - $5 = ((($0)) + 25|0); - _memcpy_pad($5,20,$1,$2,38); - $6 = ($2>>>0)>(60); - if ($6) { - $7 = ((($1)) + 60|0); - $8 = HEAP8[$7>>0]|0; - $9 = $8&255; - $10 = ($2|0)==(61); - if ($10) { - $$ph700 = 0;$$ph701 = $9; - label = 5; - } else { - $11 = ((($1)) + 61|0); - $12 = HEAP8[$11>>0]|0; - $13 = $12&255; - $14 = $13 << 8; - $15 = $14 | $9; - $16 = ($2>>>0)>(62); - if ($16) { - $17 = ((($1)) + 62|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = ($2|0)==(63); - if ($20) { - $$ph700 = $19;$$ph701 = $15; - label = 5; - } else { - $23 = ((($1)) + 63|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $26 | $19; - $28 = $27 << 16; - $29 = $28 | $15; - $30 = ($2>>>0)>(64); - if ($30) { - $31 = ((($1)) + 64|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32&255; - $34 = ($2|0)==(65); - if ($34) { - $$ph707 = $33;$$ph708 = $29; - label = 8; - } else { - $37 = ((($1)) + 65|0); - $38 = HEAP8[$37>>0]|0; - $39 = $38&255; - $40 = $39 << 8; - $41 = $40 | $33; - $42 = $41&65535; - $43 = ((($0)) + 46|0); - HEAP16[$43>>1] = $42; - $44 = ($2>>>0)>(66); - if ($44) { - $45 = ((($1)) + 66|0); - $46 = HEAP8[$45>>0]|0; - $47 = $46&255; - $48 = ($2|0)==(67); - if ($48) { - $$ph714 = $47;$$ph715 = $29; - label = 11; - } else { - $51 = ((($1)) + 67|0); - $52 = HEAP8[$51>>0]|0; - $53 = $52&255; - $54 = $53 << 8; - $55 = $54 | $47; - $56 = $55&65535; - $57 = ((($0)) + 48|0); - HEAP16[$57>>1] = $56; - $58 = ($2>>>0)>(68); - if ($58) { - $59 = ((($1)) + 68|0); - $60 = HEAP8[$59>>0]|0; - $61 = $60&255; - $62 = ($2|0)==(69); - if ($62) { - $$ph721 = $61;$$ph722 = $29; - label = 14; - } else { - $65 = ((($1)) + 69|0); - $66 = HEAP8[$65>>0]|0; - $67 = $66&255; - $68 = $67 << 8; - $69 = $68 | $61; - $70 = $69&65535; - $71 = ((($0)) + 50|0); - HEAP16[$71>>1] = $70; - $72 = ($2>>>0)>(70); - if ($72) { - $73 = ((($1)) + 70|0); - $74 = HEAP8[$73>>0]|0; - $75 = $74&255; - $76 = ($2|0)==(71); - if ($76) { - $$ph729 = $75;$$ph730 = $29;$$ph731 = $71; - label = 17; - } else { - $79 = ((($1)) + 71|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $81 << 8; - $83 = $82 | $75; - $84 = $83&65535; - $85 = ((($0)) + 52|0); - HEAP16[$85>>1] = $84; - $86 = ($2>>>0)>(72); - if ($86) { - $87 = ((($1)) + 72|0); - $88 = HEAP8[$87>>0]|0; - $89 = $88&255; - $90 = ($2|0)==(73); - if ($90) { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = $89; - } else { - $91 = ((($1)) + 73|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $phitmp = $93 << 8; - $101 = $85;$147 = $29;$186 = $71;$95 = $phitmp;$96 = $89; - } - } else { - $101 = $85;$147 = $29;$186 = $71;$95 = 0;$96 = 0; - } - } - } else { - $$ph729 = 0;$$ph730 = $29;$$ph731 = $71; - label = 17; - } - } - } else { - $$ph721 = 0;$$ph722 = $29; - label = 14; - } - } - } else { - $$ph714 = 0;$$ph715 = $29; - label = 11; - } - } - } else { - $$ph707 = 0;$$ph708 = $29; - label = 8; - } - } - } else { - $$ph700 = 0;$$ph701 = $15; - label = 5; - } - } - } else { - $$ph700 = 0;$$ph701 = 0; - label = 5; - } - if ((label|0) == 5) { - $21 = $$ph700 << 16; - $22 = $$ph701 | $21; - $$ph707 = 0;$$ph708 = $22; - label = 8; - } - if ((label|0) == 8) { - $35 = $$ph707&65535; - $36 = ((($0)) + 46|0); - HEAP16[$36>>1] = $35; - $$ph714 = 0;$$ph715 = $$ph708; - label = 11; - } - if ((label|0) == 11) { - $49 = $$ph714&65535; - $50 = ((($0)) + 48|0); - HEAP16[$50>>1] = $49; - $$ph721 = 0;$$ph722 = $$ph715; - label = 14; - } - if ((label|0) == 14) { - $63 = $$ph721&65535; - $64 = ((($0)) + 50|0); - HEAP16[$64>>1] = $63; - $$ph729 = 0;$$ph730 = $$ph722;$$ph731 = $64; - label = 17; - } - if ((label|0) == 17) { - $77 = $$ph729&65535; - $78 = ((($0)) + 52|0); - HEAP16[$78>>1] = $77; - $101 = $78;$147 = $$ph730;$186 = $$ph731;$95 = 0;$96 = 0; - } - $94 = $95 | $96; - $97 = $94&65535; - $98 = ((($0)) + 54|0); - HEAP16[$98>>1] = $97; - $99 = ((($0)) + 316|0); - HEAP32[$99>>2] = $3; - $100 = HEAP16[$101>>1]|0; - $102 = $100&65535; - $103 = $102 << 3; - $104 = (($3) + ($103)|0); - $105 = ((($0)) + 320|0); - HEAP32[$105>>2] = $104; - $106 = HEAP16[$98>>1]|0; - $107 = $106&65535; - $108 = ($107*280)|0; - $109 = (($104) + ($108)|0); - $110 = ($2>>>0)>(74); - if ($110) { - $112 = ((($1)) + 74|0); - $113 = HEAP8[$112>>0]|0; - $114 = ($2>>>0)>(76); - $115 = $113 & 1; - $116 = $115 ^ 1; - $117 = $116&255; - $118 = ((($0)) + 56|0); - HEAP32[$118>>2] = $117; - if ($114) { - $119 = ($2|0)==(77); - $120 = ((($1)) + 76|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - if ($119) { - $$ph740 = $122; - label = 25; - } else { - $125 = ((($1)) + 77|0); - $126 = HEAP8[$125>>0]|0; - $127 = $126&255; - $128 = $127 << 8; - $129 = $128 | $122; - $130 = $129&65535; - $131 = ((($0)) + 328|0); - HEAP16[$131>>1] = $130; - $132 = ($2>>>0)>(78); - if ($132) { - $133 = ((($1)) + 78|0); - $134 = HEAP8[$133>>0]|0; - $135 = $134&255; - $136 = ($2|0)==(79); - if ($136) { - $141 = 0;$142 = $135; - } else { - $137 = ((($1)) + 79|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $phitmp804 = $139 << 8; - $141 = $phitmp804;$142 = $135; - } - } else { - $141 = 0;$142 = 0; - } - } - } else { - $$ph740 = 0; - label = 25; - } - } else { - $111 = ((($0)) + 56|0); - HEAP32[$111>>2] = 1; - $$ph740 = 0; - label = 25; - } - if ((label|0) == 25) { - $123 = $$ph740&65535; - $124 = ((($0)) + 328|0); - HEAP16[$124>>1] = $123; - $141 = 0;$142 = 0; - } - $140 = $141 | $142; - $143 = $140&65535; - $144 = ((($0)) + 330|0); - HEAP16[$144>>1] = $143; - $145 = ((($0)) + 60|0); - _memcpy_pad($145,256,$1,$2,80); - $146 = (($147) + 60)|0; - $148 = HEAP16[$101>>1]|0; - $149 = ($148<<16>>16)==(0); - if ($149) { - $$0671$lcssa = $109;$$0672$lcssa = $146; - } else { - $$0671787 = $109;$$0672786 = $146;$$0678785 = 0;$183 = 0; - while(1) { - $152 = (($$0672786) + 7)|0; - $153 = ($152>>>0)<($2>>>0); - if ($153) { - $154 = (($1) + ($152)|0); - $155 = HEAP8[$154>>0]|0; - $156 = $155&255; - $165 = $156; - } else { - $165 = 0; - } - $157 = (($$0672786) + 8)|0; - $158 = ($157>>>0)<($2>>>0); - if ($158) { - $159 = (($1) + ($157)|0); - $160 = HEAP8[$159>>0]|0; - $161 = $160&255; - $163 = $161; - } else { - $163 = 0; - } - $162 = $163 << 8; - $164 = $162 | $165; - $166 = HEAP32[$99>>2]|0; - $167 = (($$0672786) + 5)|0; - $168 = ($167>>>0)<($2>>>0); - if ($168) { - $169 = (($1) + ($167)|0); - $170 = HEAP8[$169>>0]|0; - $171 = $170&255; - $180 = $171; - } else { - $180 = 0; - } - $172 = (($$0672786) + 6)|0; - $173 = ($172>>>0)<($2>>>0); - if ($173) { - $174 = (($1) + ($172)|0); - $175 = HEAP8[$174>>0]|0; - $176 = $175&255; - $178 = $176; - } else { - $178 = 0; - } - $177 = $178 << 8; - $179 = $177 | $180; - $181 = $179&65535; - $182 = (($166) + ($183<<3)|0); - HEAP16[$182>>1] = $181; - $184 = (((($166) + ($183<<3)|0)) + 4|0); - HEAP32[$184>>2] = $$0671787; - $185 = HEAP16[$186>>1]|0; - $187 = $185&65535; - $188 = ($179*5)|0; - $189 = Math_imul($188, $187)|0; - $190 = (($$0671787) + ($189)|0); - $191 = ($$0672786>>>0)<($2>>>0); - if ($191) { - $192 = (($1) + ($$0672786)|0); - $193 = HEAP8[$192>>0]|0; - $194 = $193&255; - $203 = $194; - } else { - $203 = 0; - } - $195 = (($$0672786) + 1)|0; - $196 = ($195>>>0)<($2>>>0); - if ($196) { - $197 = (($1) + ($195)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $201 = $199; - } else { - $201 = 0; - } - $200 = $201 << 8; - $202 = $200 | $203; - $204 = (($$0672786) + 2)|0; - $205 = ($204>>>0)<($2>>>0); - if ($205) { - $206 = (($1) + ($204)|0); - $207 = HEAP8[$206>>0]|0; - $208 = $207&255; - $217 = $208; - } else { - $217 = 0; - } - $209 = (($$0672786) + 3)|0; - $210 = ($209>>>0)<($2>>>0); - if ($210) { - $211 = (($1) + ($209)|0); - $212 = HEAP8[$211>>0]|0; - $213 = $212&255; - $215 = $213; - } else { - $215 = 0; - } - $214 = $215 << 8; - $216 = $214 | $217; - $218 = $216 << 16; - $219 = $202 | $218; - $220 = (($219) + ($$0672786))|0; - $221 = ($164|0)==(0); - if ($221) { - $222 = HEAP32[$184>>2]|0; - $223 = HEAP16[$182>>1]|0; - $224 = $223&65535; - $225 = ($224*5)|0; - $226 = HEAP16[$186>>1]|0; - $227 = $226&65535; - $228 = Math_imul($225, $227)|0; - _memset(($222|0),0,($228|0))|0; - } else { - $$0682783 = 0;$$0689782 = 0;$230 = 0; - while(1) { - $229 = (($230) + ($220))|0; - $231 = ($229>>>0)<($2>>>0); - do { - if ($231) { - $235 = (($1) + ($229)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = HEAP32[$184>>2]|0; - $239 = $$0689782&65535; - $240 = (($238) + (($239*5)|0)|0); - $241 = $237 & 128; - $242 = ($241|0)==(0); - if ($242) { - $308 = $237;$309 = $240;$318 = $238;$319 = $239; - label = 77; - } else { - $243 = (($$0682783) + 1)<<16>>16; - $244 = $237 & 1; - $245 = ($244|0)==(0); - if ($245) { - HEAP8[$240>>0] = 0; - $$1683 = $243; - } else { - $246 = $243&65535; - $247 = (($246) + ($220))|0; - $248 = ($247>>>0)<($2>>>0); - if ($248) { - $249 = (($1) + ($247)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $253 = $251; - } else { - $253 = 0; - } - $252 = $253&255; - HEAP8[$240>>0] = $252; - $254 = (($$0682783) + 2)<<16>>16; - $$1683 = $254; - } - $255 = $237 & 2; - $256 = ($255|0)==(0); - if ($256) { - $267 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$267>>0] = 0; - $$2684 = $$1683; - } else { - $257 = $$1683&65535; - $258 = (($257) + ($220))|0; - $259 = ($258>>>0)<($2>>>0); - if ($259) { - $260 = (($1) + ($258)|0); - $261 = HEAP8[$260>>0]|0; - $262 = $261&255; - $264 = $262; - } else { - $264 = 0; - } - $263 = $264&255; - $265 = (((($238) + (($239*5)|0)|0)) + 1|0); - HEAP8[$265>>0] = $263; - $266 = (($$1683) + 1)<<16>>16; - $$2684 = $266; - } - $268 = $237 & 4; - $269 = ($268|0)==(0); - if ($269) { - $280 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$280>>0] = 0; - $$3685 = $$2684; - } else { - $270 = $$2684&65535; - $271 = (($270) + ($220))|0; - $272 = ($271>>>0)<($2>>>0); - if ($272) { - $273 = (($1) + ($271)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $277 = $275; - } else { - $277 = 0; - } - $276 = $277&255; - $278 = (((($238) + (($239*5)|0)|0)) + 2|0); - HEAP8[$278>>0] = $276; - $279 = (($$2684) + 1)<<16>>16; - $$3685 = $279; - } - $281 = $237 & 8; - $282 = ($281|0)==(0); - if ($282) { - $293 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$293>>0] = 0; - $$4686 = $$3685; - } else { - $283 = $$3685&65535; - $284 = (($283) + ($220))|0; - $285 = ($284>>>0)<($2>>>0); - if ($285) { - $286 = (($1) + ($284)|0); - $287 = HEAP8[$286>>0]|0; - $288 = $287&255; - $290 = $288; - } else { - $290 = 0; - } - $289 = $290&255; - $291 = (((($238) + (($239*5)|0)|0)) + 3|0); - HEAP8[$291>>0] = $289; - $292 = (($$3685) + 1)<<16>>16; - $$4686 = $292; - } - $294 = $237 & 16; - $295 = ($294|0)==(0); - if ($295) { - $306 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$306>>0] = 0; - $$5 = $$4686; - break; - } - $296 = $$4686&65535; - $297 = (($296) + ($220))|0; - $298 = ($297>>>0)<($2>>>0); - if ($298) { - $299 = (($1) + ($297)|0); - $300 = HEAP8[$299>>0]|0; - $301 = $300&255; - $303 = $301; - } else { - $303 = 0; - } - $302 = $303&255; - $304 = (((($238) + (($239*5)|0)|0)) + 4|0); - HEAP8[$304>>0] = $302; - $305 = (($$4686) + 1)<<16>>16; - $$5 = $305; - } - } else { - $232 = HEAP32[$184>>2]|0; - $233 = $$0689782&65535; - $234 = (($232) + (($233*5)|0)|0); - $308 = 0;$309 = $234;$318 = $232;$319 = $233; - label = 77; - } - } while(0); - if ((label|0) == 77) { - label = 0; - $307 = $308&255; - HEAP8[$309>>0] = $307; - $310 = (($229) + 1)|0; - $311 = ($310>>>0)<($2>>>0); - if ($311) { - $312 = (($1) + ($310)|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $316 = $314; - } else { - $316 = 0; - } - $315 = $316&255; - $317 = (((($318) + (($319*5)|0)|0)) + 1|0); - HEAP8[$317>>0] = $315; - $320 = (($229) + 2)|0; - $321 = ($320>>>0)<($2>>>0); - if ($321) { - $322 = (($1) + ($320)|0); - $323 = HEAP8[$322>>0]|0; - $324 = $323&255; - $326 = $324; - } else { - $326 = 0; - } - $325 = $326&255; - $327 = (((($318) + (($319*5)|0)|0)) + 2|0); - HEAP8[$327>>0] = $325; - $328 = (($229) + 3)|0; - $329 = ($328>>>0)<($2>>>0); - if ($329) { - $330 = (($1) + ($328)|0); - $331 = HEAP8[$330>>0]|0; - $332 = $331&255; - $334 = $332; - } else { - $334 = 0; - } - $333 = $334&255; - $335 = (((($318) + (($319*5)|0)|0)) + 3|0); - HEAP8[$335>>0] = $333; - $336 = (($229) + 4)|0; - $337 = ($336>>>0)<($2>>>0); - if ($337) { - $338 = (($1) + ($336)|0); - $339 = HEAP8[$338>>0]|0; - $340 = $339&255; - $342 = $340; - } else { - $342 = 0; - } - $341 = $342&255; - $343 = (((($318) + (($319*5)|0)|0)) + 4|0); - HEAP8[$343>>0] = $341; - $344 = (($230) + 5)|0; - $345 = $344&65535; - $$5 = $345; - } - $346 = (($$0689782) + 1)<<16>>16; - $347 = $$5&65535; - $348 = ($347>>>0)<($164>>>0); - if ($348) { - $$0682783 = $$5;$$0689782 = $346;$230 = $347; - } else { - break; - } - } - } - $349 = (($220) + ($164))|0; - $350 = (($$0678785) + 1)<<16>>16; - $351 = $350&65535; - $352 = HEAP16[$101>>1]|0; - $353 = ($350&65535)<($352&65535); - if ($353) { - $$0671787 = $190;$$0672786 = $349;$$0678785 = $350;$183 = $351; - } else { - $$0671$lcssa = $190;$$0672$lcssa = $349; - break; - } - } - } - $150 = HEAP16[$98>>1]|0; - $151 = ($150<<16>>16)==(0); - if ($151) { - $$1$lcssa = $$0671$lcssa; - return ($$1$lcssa|0); - } else { - $$0688776 = 0;$$1673777 = $$0672$lcssa;$$1778 = $$0671$lcssa; - } - while(1) { - $354 = $$0688776&65535; - $355 = HEAP32[$105>>2]|0; - $356 = (($355) + (($354*280)|0)|0); - $357 = (($$1673777) + 4)|0; - _memcpy_pad($356,22,$1,$2,$357); - $358 = (($$1673777) + 27)|0; - $359 = ($358>>>0)<($2>>>0); - if ($359) { - $360 = (($1) + ($358)|0); - $361 = HEAP8[$360>>0]|0; - $362 = $361&255; - $371 = $362; - } else { - $371 = 0; - } - $363 = (($$1673777) + 28)|0; - $364 = ($363>>>0)<($2>>>0); - if ($364) { - $365 = (($1) + ($363)|0); - $366 = HEAP8[$365>>0]|0; - $367 = $366&255; - $369 = $367; - } else { - $369 = 0; - } - $368 = $369 << 8; - $370 = $368 | $371; - $372 = $370&65535; - $373 = (((($355) + (($354*280)|0)|0)) + 24|0); - HEAP16[$373>>1] = $372; - $374 = ($370|0)==(0); - if ($374) { - $629 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$629>>2] = 0; - $$0687 = 0;$$2 = $$1778; - } else { - $375 = (($$1673777) + 29)|0; - $376 = ($375>>>0)<($2>>>0); - if ($376) { - $377 = (($1) + ($375)|0); - $378 = HEAP8[$377>>0]|0; - $379 = $378&255; - $388 = $379; - } else { - $388 = 0; - } - $380 = (($$1673777) + 30)|0; - $381 = ($380>>>0)<($2>>>0); - if ($381) { - $382 = (($1) + ($380)|0); - $383 = HEAP8[$382>>0]|0; - $384 = $383&255; - $386 = $384; - } else { - $386 = 0; - } - $385 = $386 << 8; - $387 = $385 | $388; - $389 = (($$1673777) + 31)|0; - $390 = ($389>>>0)<($2>>>0); - if ($390) { - $391 = (($1) + ($389)|0); - $392 = HEAP8[$391>>0]|0; - $393 = $392&255; - $402 = $393; - } else { - $402 = 0; - } - $394 = (($$1673777) + 32)|0; - $395 = ($394>>>0)<($2>>>0); - if ($395) { - $396 = (($1) + ($394)|0); - $397 = HEAP8[$396>>0]|0; - $398 = $397&255; - $400 = $398; - } else { - $400 = 0; - } - $399 = $400 << 8; - $401 = $399 | $402; - $403 = $401 << 16; - $404 = $387 | $403; - $405 = (((($355) + (($354*280)|0)|0)) + 26|0); - $406 = (($$1673777) + 33)|0; - _memcpy_pad($405,96,$1,$2,$406); - $407 = (($$1673777) + 225)|0; - $408 = ($407>>>0)<($2>>>0); - if ($408) { - $409 = (($1) + ($407)|0); - $410 = HEAP8[$409>>0]|0; - $411 = $410&255; - $413 = $411; - } else { - $413 = 0; - } - $412 = $413&255; - $414 = (((($355) + (($354*280)|0)|0)) + 172|0); - HEAP8[$414>>0] = $412; - $415 = (($$1673777) + 226)|0; - $416 = ($415>>>0)<($2>>>0); - if ($416) { - $417 = (($1) + ($415)|0); - $418 = HEAP8[$417>>0]|0; - $419 = $418&255; - $421 = $419; - } else { - $421 = 0; - } - $420 = $421&255; - $422 = (((($355) + (($354*280)|0)|0)) + 236|0); - HEAP8[$422>>0] = $420; - $423 = HEAP8[$414>>0]|0; - $424 = ($423<<24>>24)==(0); - if ($424) { - $427 = $420; - } else { - $425 = (($$1673777) + 129)|0; - $$0681752 = 0;$430 = 0; - while(1) { - $429 = $430 << 2; - $431 = (($425) + ($429))|0; - $432 = ($431>>>0)<($2>>>0); - if ($432) { - $433 = (($1) + ($431)|0); - $434 = HEAP8[$433>>0]|0; - $435 = $434&255; - $444 = $435; - } else { - $444 = 0; - } - $436 = (($431) + 1)|0; - $437 = ($436>>>0)<($2>>>0); - if ($437) { - $438 = (($1) + ($436)|0); - $439 = HEAP8[$438>>0]|0; - $440 = $439&255; - $442 = $440; - } else { - $442 = 0; - } - $441 = $442 << 8; - $443 = $441 | $444; - $445 = $443&65535; - $446 = ((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0); - HEAP16[$446>>1] = $445; - $447 = (($431) + 2)|0; - $448 = ($447>>>0)<($2>>>0); - if ($448) { - $449 = (($1) + ($447)|0); - $450 = HEAP8[$449>>0]|0; - $451 = $450&255; - $460 = $451; - } else { - $460 = 0; - } - $452 = (($431) + 3)|0; - $453 = ($452>>>0)<($2>>>0); - if ($453) { - $454 = (($1) + ($452)|0); - $455 = HEAP8[$454>>0]|0; - $456 = $455&255; - $458 = $456; - } else { - $458 = 0; - } - $457 = $458 << 8; - $459 = $457 | $460; - $461 = $459&65535; - $462 = ((((((($355) + (($354*280)|0)|0)) + 124|0) + ($430<<2)|0)) + 2|0); - HEAP16[$462>>1] = $461; - $463 = (($$0681752) + 1)<<24>>24; - $464 = $463&255; - $465 = HEAP8[$414>>0]|0; - $466 = ($463&255)<($465&255); - if ($466) { - $$0681752 = $463;$430 = $464; - } else { - break; - } - } - $$pr = HEAP8[$422>>0]|0; - $427 = $$pr; - } - $426 = ($427<<24>>24)==(0); - if (!($426)) { - $428 = (($$1673777) + 177)|0; - $$0680753 = 0;$470 = 0; - while(1) { - $469 = $470 << 2; - $471 = (($428) + ($469))|0; - $472 = ($471>>>0)<($2>>>0); - if ($472) { - $473 = (($1) + ($471)|0); - $474 = HEAP8[$473>>0]|0; - $475 = $474&255; - $484 = $475; - } else { - $484 = 0; - } - $476 = (($471) + 1)|0; - $477 = ($476>>>0)<($2>>>0); - if ($477) { - $478 = (($1) + ($476)|0); - $479 = HEAP8[$478>>0]|0; - $480 = $479&255; - $482 = $480; - } else { - $482 = 0; - } - $481 = $482 << 8; - $483 = $481 | $484; - $485 = $483&65535; - $486 = ((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0); - HEAP16[$486>>1] = $485; - $487 = (($471) + 2)|0; - $488 = ($487>>>0)<($2>>>0); - if ($488) { - $489 = (($1) + ($487)|0); - $490 = HEAP8[$489>>0]|0; - $491 = $490&255; - $500 = $491; - } else { - $500 = 0; - } - $492 = (($471) + 3)|0; - $493 = ($492>>>0)<($2>>>0); - if ($493) { - $494 = (($1) + ($492)|0); - $495 = HEAP8[$494>>0]|0; - $496 = $495&255; - $498 = $496; - } else { - $498 = 0; - } - $497 = $498 << 8; - $499 = $497 | $500; - $501 = $499&65535; - $502 = ((((((($355) + (($354*280)|0)|0)) + 188|0) + ($470<<2)|0)) + 2|0); - HEAP16[$502>>1] = $501; - $503 = (($$0680753) + 1)<<24>>24; - $504 = $503&255; - $505 = HEAP8[$422>>0]|0; - $506 = ($503&255)<($505&255); - if ($506) { - $$0680753 = $503;$470 = $504; - } else { - break; - } - } - } - $467 = (($$1673777) + 227)|0; - $468 = ($467>>>0)<($2>>>0); - if ($468) { - $507 = (($1) + ($467)|0); - $508 = HEAP8[$507>>0]|0; - $509 = $508&255; - $511 = $509; - } else { - $511 = 0; - } - $510 = $511&255; - $512 = (((($355) + (($354*280)|0)|0)) + 173|0); - HEAP8[$512>>0] = $510; - $513 = (($$1673777) + 228)|0; - $514 = ($513>>>0)<($2>>>0); - if ($514) { - $515 = (($1) + ($513)|0); - $516 = HEAP8[$515>>0]|0; - $517 = $516&255; - $519 = $517; - } else { - $519 = 0; - } - $518 = $519&255; - $520 = (((($355) + (($354*280)|0)|0)) + 174|0); - HEAP8[$520>>0] = $518; - $521 = (($$1673777) + 229)|0; - $522 = ($521>>>0)<($2>>>0); - if ($522) { - $523 = (($1) + ($521)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - $528 = (((($355) + (($354*280)|0)|0)) + 175|0); - HEAP8[$528>>0] = $526; - $529 = (($$1673777) + 230)|0; - $530 = ($529>>>0)<($2>>>0); - if ($530) { - $531 = (($1) + ($529)|0); - $532 = HEAP8[$531>>0]|0; - $533 = $532&255; - $535 = $533; - } else { - $535 = 0; - } - $534 = $535&255; - $536 = (((($355) + (($354*280)|0)|0)) + 237|0); - HEAP8[$536>>0] = $534; - $537 = (($$1673777) + 231)|0; - $538 = ($537>>>0)<($2>>>0); - if ($538) { - $539 = (($1) + ($537)|0); - $540 = HEAP8[$539>>0]|0; - $541 = $540&255; - $543 = $541; - } else { - $543 = 0; - } - $542 = $543&255; - $544 = (((($355) + (($354*280)|0)|0)) + 238|0); - HEAP8[$544>>0] = $542; - $545 = (($$1673777) + 232)|0; - $546 = ($545>>>0)<($2>>>0); - if ($546) { - $547 = (($1) + ($545)|0); - $548 = HEAP8[$547>>0]|0; - $549 = $548&255; - $551 = $549; - } else { - $551 = 0; - } - $550 = $551&255; - $552 = (((($355) + (($354*280)|0)|0)) + 239|0); - HEAP8[$552>>0] = $550; - $553 = (($$1673777) + 233)|0; - $554 = ($553>>>0)<($2>>>0); - if ($554) { - $555 = (($1) + ($553)|0); - $556 = HEAP8[$555>>0]|0; - $557 = $556&255; - $559 = $557; - } else { - $559 = 0; - } - $558 = $559 & 1; - $560 = (((($355) + (($354*280)|0)|0)) + 176|0); - HEAP32[$560>>2] = $558; - $561 = $559 & 2; - $562 = (((($355) + (($354*280)|0)|0)) + 180|0); - HEAP32[$562>>2] = $561; - $563 = $559 & 4; - $564 = (((($355) + (($354*280)|0)|0)) + 184|0); - HEAP32[$564>>2] = $563; - $565 = (($$1673777) + 234)|0; - $566 = ($565>>>0)<($2>>>0); - if ($566) { - $567 = (($1) + ($565)|0); - $568 = HEAP8[$567>>0]|0; - $569 = $568&255; - $571 = $569; - } else { - $571 = 0; - } - $570 = $571 & 1; - $572 = (((($355) + (($354*280)|0)|0)) + 240|0); - HEAP32[$572>>2] = $570; - $573 = $571 & 2; - $574 = (((($355) + (($354*280)|0)|0)) + 244|0); - HEAP32[$574>>2] = $573; - $575 = $571 & 4; - $576 = (((($355) + (($354*280)|0)|0)) + 248|0); - HEAP32[$576>>2] = $575; - $577 = (($$1673777) + 235)|0; - $578 = ($577>>>0)<($2>>>0); - L213: do { - if ($578) { - $580 = (($1) + ($577)|0); - $581 = HEAP8[$580>>0]|0; - $582 = $581&255; - $583 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$583>>2] = $582; - switch ($581<<24>>24) { - case 2: { - $$sink694 = 1; - break; - } - case 1: { - $$sink694 = 2; - break; - } - default: { - break L213; - } - } - HEAP32[$583>>2] = $$sink694; - } else { - $579 = (((($355) + (($354*280)|0)|0)) + 252|0); - HEAP32[$579>>2] = 0; - } - } while(0); - $584 = (($$1673777) + 236)|0; - $585 = ($584>>>0)<($2>>>0); - if ($585) { - $586 = (($1) + ($584)|0); - $587 = HEAP8[$586>>0]|0; - $588 = $587&255; - $590 = $588; - } else { - $590 = 0; - } - $589 = $590&255; - $591 = (((($355) + (($354*280)|0)|0)) + 256|0); - HEAP8[$591>>0] = $589; - $592 = (($$1673777) + 237)|0; - $593 = ($592>>>0)<($2>>>0); - if ($593) { - $594 = (($1) + ($592)|0); - $595 = HEAP8[$594>>0]|0; - $596 = $595&255; - $598 = $596; - } else { - $598 = 0; - } - $597 = $598&255; - $599 = (((($355) + (($354*280)|0)|0)) + 257|0); - HEAP8[$599>>0] = $597; - $600 = (($$1673777) + 238)|0; - $601 = ($600>>>0)<($2>>>0); - if ($601) { - $602 = (($1) + ($600)|0); - $603 = HEAP8[$602>>0]|0; - $604 = $603&255; - $606 = $604; - } else { - $606 = 0; - } - $605 = $606&255; - $607 = (((($355) + (($354*280)|0)|0)) + 258|0); - HEAP8[$607>>0] = $605; - $608 = (($$1673777) + 239)|0; - $609 = ($608>>>0)<($2>>>0); - if ($609) { - $610 = (($1) + ($608)|0); - $611 = HEAP8[$610>>0]|0; - $612 = $611&255; - $621 = $612; - } else { - $621 = 0; - } - $613 = (($$1673777) + 240)|0; - $614 = ($613>>>0)<($2>>>0); - if ($614) { - $615 = (($1) + ($613)|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $619 = $617; - } else { - $619 = 0; - } - $618 = $619 << 8; - $620 = $618 | $621; - $622 = $620&65535; - $623 = (((($355) + (($354*280)|0)|0)) + 260|0); - HEAP16[$623>>1] = $622; - $624 = (((($355) + (($354*280)|0)|0)) + 276|0); - HEAP32[$624>>2] = $$1778; - $625 = HEAP16[$373>>1]|0; - $626 = $625&65535; - $627 = ($626*80)|0; - $628 = (($$1778) + ($627)|0); - $$0687 = $404;$$2 = $628; - } - $630 = ($$1673777>>>0)<($2>>>0); - if ($630) { - $631 = (($1) + ($$1673777)|0); - $632 = HEAP8[$631>>0]|0; - $633 = $632&255; - $642 = $633; - } else { - $642 = 0; - } - $634 = (($$1673777) + 1)|0; - $635 = ($634>>>0)<($2>>>0); - if ($635) { - $636 = (($1) + ($634)|0); - $637 = HEAP8[$636>>0]|0; - $638 = $637&255; - $640 = $638; - } else { - $640 = 0; - } - $639 = $640 << 8; - $641 = $639 | $642; - $643 = (($$1673777) + 2)|0; - $644 = ($643>>>0)<($2>>>0); - if ($644) { - $645 = (($1) + ($643)|0); - $646 = HEAP8[$645>>0]|0; - $647 = $646&255; - $656 = $647; - } else { - $656 = 0; - } - $648 = (($$1673777) + 3)|0; - $649 = ($648>>>0)<($2>>>0); - if ($649) { - $650 = (($1) + ($648)|0); - $651 = HEAP8[$650>>0]|0; - $652 = $651&255; - $654 = $652; - } else { - $654 = 0; - } - $653 = $654 << 8; - $655 = $653 | $656; - $657 = $655 << 16; - $658 = $641 | $657; - $659 = (($658) + ($$1673777))|0; - $660 = HEAP16[$373>>1]|0; - $661 = ($660<<16>>16)==(0); - if ($661) { - $$3$lcssa794 = $$2;$$3675$lcssa = $659; - } else { - $662 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0679755 = 0;$$2674756 = $659;$$3757 = $$2; - while(1) { - $666 = $$0679755&65535; - $667 = HEAP32[$662>>2]|0; - $668 = ($$2674756>>>0)<($2>>>0); - if ($668) { - $669 = (($1) + ($$2674756)|0); - $670 = HEAP8[$669>>0]|0; - $671 = $670&255; - $680 = $671; - } else { - $680 = 0; - } - $672 = (($$2674756) + 1)|0; - $673 = ($672>>>0)<($2>>>0); - if ($673) { - $674 = (($1) + ($672)|0); - $675 = HEAP8[$674>>0]|0; - $676 = $675&255; - $678 = $676; - } else { - $678 = 0; - } - $677 = $678 << 8; - $679 = $677 | $680; - $681 = (($$2674756) + 2)|0; - $682 = ($681>>>0)<($2>>>0); - if ($682) { - $683 = (($1) + ($681)|0); - $684 = HEAP8[$683>>0]|0; - $685 = $684&255; - $694 = $685; - } else { - $694 = 0; - } - $686 = (($$2674756) + 3)|0; - $687 = ($686>>>0)<($2>>>0); - if ($687) { - $688 = (($1) + ($686)|0); - $689 = HEAP8[$688>>0]|0; - $690 = $689&255; - $692 = $690; - } else { - $692 = 0; - } - $691 = $692 << 8; - $693 = $691 | $694; - $695 = $693 << 16; - $696 = $679 | $695; - $697 = (((($667) + (($666*80)|0)|0)) + 24|0); - HEAP32[$697>>2] = $696; - $698 = (($$2674756) + 4)|0; - $699 = ($698>>>0)<($2>>>0); - if ($699) { - $700 = (($1) + ($698)|0); - $701 = HEAP8[$700>>0]|0; - $702 = $701&255; - $711 = $702; - } else { - $711 = 0; - } - $703 = (($$2674756) + 5)|0; - $704 = ($703>>>0)<($2>>>0); - if ($704) { - $705 = (($1) + ($703)|0); - $706 = HEAP8[$705>>0]|0; - $707 = $706&255; - $709 = $707; - } else { - $709 = 0; - } - $708 = $709 << 8; - $710 = $708 | $711; - $712 = (($$2674756) + 6)|0; - $713 = ($712>>>0)<($2>>>0); - if ($713) { - $714 = (($1) + ($712)|0); - $715 = HEAP8[$714>>0]|0; - $716 = $715&255; - $725 = $716; - } else { - $725 = 0; - } - $717 = (($$2674756) + 7)|0; - $718 = ($717>>>0)<($2>>>0); - if ($718) { - $719 = (($1) + ($717)|0); - $720 = HEAP8[$719>>0]|0; - $721 = $720&255; - $723 = $721; - } else { - $723 = 0; - } - $722 = $723 << 8; - $724 = $722 | $725; - $726 = $724 << 16; - $727 = $710 | $726; - $728 = (((($667) + (($666*80)|0)|0)) + 28|0); - HEAP32[$728>>2] = $727; - $729 = (($$2674756) + 8)|0; - $730 = ($729>>>0)<($2>>>0); - if ($730) { - $731 = (($1) + ($729)|0); - $732 = HEAP8[$731>>0]|0; - $733 = $732&255; - $742 = $733; - } else { - $742 = 0; - } - $734 = (($$2674756) + 9)|0; - $735 = ($734>>>0)<($2>>>0); - if ($735) { - $736 = (($1) + ($734)|0); - $737 = HEAP8[$736>>0]|0; - $738 = $737&255; - $740 = $738; - } else { - $740 = 0; - } - $739 = $740 << 8; - $741 = $739 | $742; - $743 = (($$2674756) + 10)|0; - $744 = ($743>>>0)<($2>>>0); - if ($744) { - $745 = (($1) + ($743)|0); - $746 = HEAP8[$745>>0]|0; - $747 = $746&255; - $756 = $747; - } else { - $756 = 0; - } - $748 = (($$2674756) + 11)|0; - $749 = ($748>>>0)<($2>>>0); - if ($749) { - $750 = (($1) + ($748)|0); - $751 = HEAP8[$750>>0]|0; - $752 = $751&255; - $754 = $752; - } else { - $754 = 0; - } - $753 = $754 << 8; - $755 = $753 | $756; - $757 = $755 << 16; - $758 = $741 | $757; - $759 = (((($667) + (($666*80)|0)|0)) + 32|0); - HEAP32[$759>>2] = $758; - $760 = HEAP32[$728>>2]|0; - $761 = (($758) + ($760))|0; - $762 = (((($667) + (($666*80)|0)|0)) + 36|0); - HEAP32[$762>>2] = $761; - $763 = (($$2674756) + 12)|0; - $764 = ($763>>>0)<($2>>>0); - if ($764) { - $765 = (($1) + ($763)|0); - $766 = HEAP8[$765>>0]|0; - $767 = $766&255; - $769 = $767; - } else { - $769 = 0; - } - $768 = (+($769|0)); - $770 = $768 * 0.015625; - $771 = (((($667) + (($666*80)|0)|0)) + 40|0); - HEAPF32[$771>>2] = $770; - $772 = (($$2674756) + 13)|0; - $773 = ($772>>>0)<($2>>>0); - if ($773) { - $774 = (($1) + ($772)|0); - $775 = HEAP8[$774>>0]|0; - $776 = $775&255; - $778 = $776; - } else { - $778 = 0; - } - $777 = $778&255; - $779 = (((($667) + (($666*80)|0)|0)) + 44|0); - HEAP8[$779>>0] = $777; - $780 = (($$2674756) + 14)|0; - $781 = ($780>>>0)<($2>>>0); - do { - if ($781) { - $782 = (($1) + ($780)|0); - $783 = HEAP8[$782>>0]|0; - $784 = $783&255; - $785 = $784 & 3; - $786 = ($785|0)==(0); - if ($786) { - $889 = $784; - label = 204; - break; - } - $788 = ($785|0)==(1); - $789 = (((($667) + (($666*80)|0)|0)) + 48|0); - $$sink = $788 ? 1 : 2; - HEAP32[$789>>2] = $$sink; - $791 = $784; - } else { - $889 = 0; - label = 204; - } - } while(0); - if ((label|0) == 204) { - label = 0; - $787 = (((($667) + (($666*80)|0)|0)) + 48|0); - HEAP32[$787>>2] = 0; - $791 = $889; - } - $790 = $791 >>> 1; - $792 = $790 & 8; - $793 = (($792) + 8)|0; - $794 = $793&255; - $795 = (((($667) + (($666*80)|0)|0)) + 23|0); - HEAP8[$795>>0] = $794; - $796 = (($$2674756) + 15)|0; - $797 = ($796>>>0)<($2>>>0); - if ($797) { - $798 = (($1) + ($796)|0); - $799 = HEAP8[$798>>0]|0; - $800 = $799&255; - $802 = $800; - } else { - $802 = 0; - } - $801 = (+($802|0)); - $803 = $801 / 255.0; - $804 = (((($667) + (($666*80)|0)|0)) + 52|0); - HEAPF32[$804>>2] = $803; - $805 = (($$2674756) + 16)|0; - $806 = ($805>>>0)<($2>>>0); - if ($806) { - $807 = (($1) + ($805)|0); - $808 = HEAP8[$807>>0]|0; - $809 = $808&255; - $811 = $809; - } else { - $811 = 0; - } - $810 = $811&255; - $812 = (((($667) + (($666*80)|0)|0)) + 56|0); - HEAP8[$812>>0] = $810; - $813 = (($667) + (($666*80)|0)|0); - _memcpy_pad($813,22,$1,$2,18); - $814 = (((($667) + (($666*80)|0)|0)) + 72|0); - HEAP32[$814>>2] = $$3757; - $815 = HEAP8[$795>>0]|0; - $816 = ($815<<24>>24)==(16); - $817 = HEAP32[$697>>2]|0; - if ($816) { - $818 = $817 << 1; - $819 = HEAP32[$728>>2]|0; - $820 = $819 >>> 1; - HEAP32[$728>>2] = $820; - $821 = HEAP32[$759>>2]|0; - $822 = $821 >>> 1; - HEAP32[$759>>2] = $822; - $823 = HEAP32[$762>>2]|0; - $824 = $823 >>> 1; - HEAP32[$762>>2] = $824; - $825 = HEAP32[$697>>2]|0; - $826 = $825 >>> 1; - HEAP32[$697>>2] = $826; - $$pn693 = $818; - } else { - $827 = $817 << 2; - $$pn693 = $827; - } - $$4 = (($$3757) + ($$pn693)|0); - $828 = (($$2674756) + ($$0687))|0; - $829 = (($$0679755) + 1)<<16>>16; - $664 = HEAP16[$373>>1]|0; - $830 = ($829&65535)<($664&65535); - if ($830) { - $$0679755 = $829;$$2674756 = $828;$$3757 = $$4; - } else { - break; - } - } - $663 = ($664<<16>>16)==(0); - if ($663) { - $$3$lcssa794 = $$4;$$3675$lcssa = $828; - } else { - $665 = (((($355) + (($354*280)|0)|0)) + 276|0); - $$0677769 = 0;$$3675770 = $828; - while(1) { - $834 = $$0677769&65535; - $835 = HEAP32[$665>>2]|0; - $836 = (((($835) + (($834*80)|0)|0)) + 24|0); - $837 = HEAP32[$836>>2]|0; - $838 = (((($835) + (($834*80)|0)|0)) + 23|0); - $839 = HEAP8[$838>>0]|0; - $840 = ($839<<24>>24)==(16); - $841 = ($837|0)!=(0); - if ($840) { - if ($841) { - $843 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0669766 = 0;$$0670765 = 0; - while(1) { - $sext691 = $$0670765 << 16; - $846 = $sext691 >> 16; - $847 = $$0669766 << 1; - $848 = (($847) + ($$3675770))|0; - $849 = ($848>>>0)<($2>>>0); - if ($849) { - $850 = (($1) + ($848)|0); - $851 = HEAP8[$850>>0]|0; - $852 = $851&255; - $861 = $852; - } else { - $861 = 0; - } - $853 = (($848) + 1)|0; - $854 = ($853>>>0)<($2>>>0); - if ($854) { - $855 = (($1) + ($853)|0); - $856 = HEAP8[$855>>0]|0; - $857 = $856&255; - $859 = $857; - } else { - $859 = 0; - } - $858 = $859 << 8; - $860 = $858 | $861; - $sext692 = $860 << 16; - $862 = $sext692 >> 16; - $863 = (($862) + ($846))|0; - $864 = $863&65535; - $865 = (+($864<<16>>16)); - $866 = $865 * 3.0517578125E-5; - $867 = HEAP32[$843>>2]|0; - $868 = (($867) + ($$0669766<<2)|0); - HEAPF32[$868>>2] = $866; - $869 = (($$0669766) + 1)|0; - $exitcond793 = ($869|0)==($837|0); - if ($exitcond793) { - break; - } else { - $$0669766 = $869;$$0670765 = $863; - } - } - } - $844 = HEAP32[$836>>2]|0; - $845 = $844 << 1; - $$pn = $845; - } else { - if ($841) { - $842 = (((($835) + (($834*80)|0)|0)) + 72|0); - $$0668761 = 0;$$0762 = 0; - while(1) { - $sext = $$0668761 << 24; - $871 = $sext >> 24; - $872 = (($$0762) + ($$3675770))|0; - $873 = ($872>>>0)<($2>>>0); - if ($873) { - $874 = (($1) + ($872)|0); - $875 = HEAP8[$874>>0]|0; - $876 = $875&255; - $877 = $876; - } else { - $877 = 0; - } - $sext690 = $877 << 24; - $878 = $sext690 >> 24; - $879 = (($878) + ($871))|0; - $880 = $879&255; - $881 = (+($880<<24>>24)); - $882 = $881 * 0.0078125; - $883 = HEAP32[$842>>2]|0; - $884 = (($883) + ($$0762<<2)|0); - HEAPF32[$884>>2] = $882; - $885 = (($$0762) + 1)|0; - $exitcond = ($885|0)==($837|0); - if ($exitcond) { - break; - } else { - $$0668761 = $879;$$0762 = $885; - } - } - } - $870 = HEAP32[$836>>2]|0; - $$pn = $870; - } - $$4676 = (($$pn) + ($$3675770))|0; - $886 = (($$0677769) + 1)<<16>>16; - $887 = HEAP16[$373>>1]|0; - $888 = ($886&65535)<($887&65535); - if ($888) { - $$0677769 = $886;$$3675770 = $$4676; - } else { - $$3$lcssa794 = $$4;$$3675$lcssa = $$4676; - break; - } - } - } - } - $831 = (($$0688776) + 1)<<16>>16; - $832 = HEAP16[$98>>1]|0; - $833 = ($831&65535)<($832&65535); - if ($833) { - $$0688776 = $831;$$1673777 = $$3675$lcssa;$$1778 = $$3$lcssa794; - } else { - $$1$lcssa = $$3$lcssa794; - break; - } - } - return ($$1$lcssa|0); -} -function _jar_xm_check_sanity_postload($0) { - $0 = $0|0; - var $$01520 = 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, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer2 = sp + 8|0; - $vararg_buffer = sp; - $1 = ((($0)) + 46|0); - $2 = HEAP16[$1>>1]|0; - $3 = ($2<<16>>16)==(0); - if ($3) { - $26 = 0; - STACKTOP = sp;return ($26|0); - } - $4 = $2&65535; - $5 = ((($0)) + 52|0); - $6 = HEAP32[1039]|0; - $$01520 = 0;$16 = $4;$18 = $2;$8 = 0; - while(1) { - $7 = (((($0)) + 60|0) + ($8)|0); - $9 = HEAP8[$7>>0]|0; - $10 = $9&255; - $11 = HEAP16[$5>>1]|0; - $12 = $11&65535; - $13 = ($10>>>0)<($12>>>0); - if (!($13)) { - $14 = (($8) + 1)|0; - $15 = ($14|0)==($16|0); - $17 = ($18&65535)>(1); - $or$cond = $17 & $15; - if (!($or$cond)) { - break; - } - $19 = (($18) + -1)<<16>>16; - HEAP16[$1>>1] = $19; - HEAP32[$vararg_buffer>>2] = 9949; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - (_fprintf($6,9911,$vararg_buffer)|0); - (_fflush($6)|0); - } - $20 = (($$01520) + 1)<<24>>24; - $21 = $20&255; - $22 = HEAP16[$1>>1]|0; - $23 = $22&65535; - $24 = ($21>>>0)<($23>>>0); - if ($24) { - $$01520 = $20;$16 = $23;$18 = $22;$8 = $21; - } else { - $26 = 0; - label = 8; - break; - } - } - if ((label|0) == 8) { - STACKTOP = sp;return ($26|0); - } - HEAP32[$vararg_buffer2>>2] = 9949; - $vararg_ptr5 = ((($vararg_buffer2)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $8; - $vararg_ptr6 = ((($vararg_buffer2)) + 8|0); - HEAP32[$vararg_ptr6>>2] = $10; - (_fprintf($6,9978,$vararg_buffer2)|0); - $25 = HEAP32[1039]|0; - (_fflush($25)|0); - $26 = 1; - STACKTOP = sp;return ($26|0); -} -function _jar_xm_free_context($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - _free($1); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); return; } -function _memcpy_pad($0,$1,$2,$3,$4) { +function _DrawText($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; $2 = $2|0; $3 = $3|0; $4 = $4|0; - var $$ = 0, $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($3>>>0)<($4>>>0); - $6 = (($3) - ($4))|0; - $$ = $5 ? 0 : $6; - $7 = ($$>>>0)>($1>>>0); - $8 = $7 ? $1 : $$; - $9 = (($2) + ($4)|0); - _memcpy(($0|0),($9|0),($8|0))|0; - $10 = (($0) + ($8)|0); - $11 = (($1) - ($8))|0; - _memset(($10|0),0,($11|0))|0; - return; -} -function _jar_xm_set_max_loop_count($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 385|0); - HEAP8[$2>>0] = $1; - return; -} -function _jar_xm_get_loop_count($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 384|0); - $2 = HEAP8[$1>>0]|0; - return ($2|0); -} -function _jar_xm_get_remaining_samples($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.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_jar_xm_get_loop_count($0)|0); - _jar_xm_set_max_loop_count($0,0); - $2 = (_jar_xm_get_loop_count($0)|0); - $3 = ($2<<24>>24)==($1<<24>>24); - if (!($3)) { - $15 = 0;$16 = 0; - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); - } - $4 = ((($0)) + 352|0); - $6 = 0;$7 = 0; - while(1) { - $5 = +HEAPF32[$4>>2]; - $8 = (+($6>>>0)) + (4294967296.0*(+($7>>>0))); - $9 = $8 + $5; - $10 = (~~$9)>>>0; - $11 = +Math_abs($9) >= 1.0 ? $9 > 0.0 ? (~~+Math_min(+Math_floor($9 / 4294967296.0), 4294967295.0)) >>> 0 : ~~+Math_ceil(($9 - +(~~$9 >>> 0)) / 4294967296.0) >>> 0 : 0; - HEAPF32[$4>>2] = 0.0; - _jar_xm_tick($0); - $12 = (_jar_xm_get_loop_count($0)|0); - $13 = ($12<<24>>24)==($1<<24>>24); - if ($13) { - $6 = $10;$7 = $11; - } else { - $15 = $11;$16 = $10; - break; - } + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; } - $14 = ((($0)) + 384|0); - HEAP8[$14>>0] = $1; - tempRet0 = ($15); - return ($16|0); + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; } -function _jar_xm_create_context_from_file($0,$1,$2) { +function _DrawTextEx($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$1 = 0, $$1$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($2,11031)|0); - $4 = ($3|0)==(0|0); - L1: do { - if ($4) { - $5 = HEAP32[1039]|0; - (_fwrite(10068,25,1,$5)|0); - (_fflush($5)|0); - $$1$ph = 3; - } else { - (_fseek($3,0,2)|0); - $6 = (_ftell($3)|0); - _rewind($3); - $7 = ($6|0)==(-1); - if ($7) { - (_fclose($3)|0); - $8 = HEAP32[1039]|0; - (_fwrite(10094,14,1,$8)|0); - (_fflush($8)|0); - $$1$ph = 4; - break; - } - $9 = (($6) + 1)|0; - $10 = (_malloc($9)|0); - $11 = (_fread($10,1,$6,$3)|0); - $12 = ($11>>>0)<($6>>>0); - (_fclose($3)|0); - if ($12) { - $13 = HEAP32[1039]|0; - (_fwrite(10109,14,1,$13)|0); - (_fflush($13)|0); - $$1$ph = 5; - break; - } - $14 = (_jar_xm_create_context_safe($0,$10,$6,$1)|0); - switch ($14|0) { - case 1: { - $15 = HEAP32[1039]|0; - (_fwrite(10124,45,1,$15)|0); - (_fflush($15)|0); - $$1$ph = 1; - break L1; - break; - } - case 2: { - $16 = HEAP32[1039]|0; - (_fwrite(10170,40,1,$16)|0); - (_fflush($16)|0); - _exit(1); - // unreachable; - break; - } - case 0: { - $$1 = 0; - return ($$1|0); - break; - } - default: { - $17 = HEAP32[1039]|0; - (_fwrite(10211,40,1,$17)|0); - (_fflush($17)|0); - _exit(1); - // unreachable; - } + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; } - } while(0); - HEAP32[$0>>2] = 0; - $$1 = $$1$ph; - return ($$1|0); + } + STACKTOP = sp;return; } function _InitAudioDevice() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; @@ -23352,7 +17778,7 @@ function _InitAudioDevice() { $0 = (_alcOpenDevice((0|0))|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(1,10252,$vararg_buffer); + _TraceLog(1,9399,$vararg_buffer); STACKTOP = sp;return; } $2 = (_alcCreateContext(($0|0),(0|0))|0); @@ -23367,7 +17793,7 @@ function _InitAudioDevice() { } $5 = (_alcGetString(($0|0),4101)|0); HEAP32[$vararg_buffer3>>2] = $5; - _TraceLog(0,10320,$vararg_buffer3); + _TraceLog(0,9467,$vararg_buffer3); _alListener3f(4100,0.0,0.0,0.0); _alListener3f(4102,0.0,0.0,0.0); _alListener3f(4111,0.0,0.0,-1.0); @@ -23376,7 +17802,7 @@ function _InitAudioDevice() { } } while(0); (_alcCloseDevice(($0|0))|0); - _TraceLog(1,10285,$vararg_buffer1); + _TraceLog(1,9432,$vararg_buffer1); STACKTOP = sp;return; } function _CloseAudioDevice() { @@ -23388,13 +17814,13 @@ function _CloseAudioDevice() { $0 = (_alcGetCurrentContext()|0); $1 = ($0|0)==(0|0); if ($1) { - _TraceLog(2,10374,$vararg_buffer); + _TraceLog(2,9521,$vararg_buffer); } $2 = (_alcGetContextsDevice(($0|0))|0); (_alcMakeContextCurrent((0|0))|0); _alcDestroyContext(($0|0)); (_alcCloseDevice(($2|0))|0); - _TraceLog(0,10422,$vararg_buffer1); + _TraceLog(0,9569,$vararg_buffer1); STACKTOP = sp;return; } function _stb_vorbis_open_filename($0,$1,$2) { @@ -23403,7 +17829,7 @@ function _stb_vorbis_open_filename($0,$1,$2) { $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($0,11031)|0); + $3 = (_fopen($0,10178)|0); $4 = ($3|0)==(0|0); if ($4) { $6 = ($1|0)==(0|0); @@ -23880,7 +18306,7 @@ function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { if ($9) { $$04956 = 0; } else { - ___assert_fail((10943|0),(10530|0),4749,(10954|0)); + ___assert_fail((10090|0),(9677|0),4759,(10101|0)); // unreachable; } while(1) { @@ -24216,7 +18642,7 @@ function _get_window($0,$1) { if ($8) { $$sink = 1; } else { - ___assert_fail((10528|0),(10530|0),2655,(10552|0)); + ___assert_fail((9675|0),(9677|0),2658,(9699|0)); // unreachable; } } @@ -24299,7 +18725,7 @@ function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { $28 = HEAP32[$27>>2]|0; $29 = ($26|0)==($28|0); if (!($29)) { - ___assert_fail((10563|0),(10530|0),2734,(10921|0)); + ___assert_fail((9710|0),(9677|0),2737,(10068|0)); // unreachable; } } @@ -24471,7 +18897,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $51 = HEAP8[$50>>0]|0; $52 = $51&255; $53 = (($52) + -1)|0; - $54 = (3112 + ($53<<2)|0); + $54 = (2980 + ($53<<2)|0); $55 = HEAP32[$54>>2]|0; $56 = (((($0)) + 996|0) + ($$041263<<2)|0); $57 = HEAP32[$56>>2]|0; @@ -24794,7 +19220,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $223 = HEAP32[$222>>2]|0; $224 = ($221|0)==($223|0); if (!($224)) { - ___assert_fail((10563|0),(10530|0),2883,(10619|0)); + ___assert_fail((9710|0),(9677|0),2886,(9766|0)); // unreachable; } } @@ -24918,7 +19344,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $281 = HEAP32[$280>>2]|0; $282 = ($279|0)==($281|0); if (!($282)) { - ___assert_fail((10563|0),(10530|0),2916,(10619|0)); + ___assert_fail((9710|0),(9677|0),2919,(9766|0)); // unreachable; } } @@ -25147,7 +19573,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $390 = HEAP32[$389>>2]|0; $391 = ($388|0)==($390|0); if (!($391)) { - ___assert_fail((10563|0),(10530|0),3032,(10619|0)); + ___assert_fail((9710|0),(9677|0),3035,(9766|0)); // unreachable; } } @@ -25239,69 +19665,82 @@ function _get_bits($0,$1) { function _ilog($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 $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, label = 0, sp = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ($0|0)<(16384); + $1 = ($0|0)<(0); if ($1) { - $2 = ($0|0)<(16); - if ($2) { - $3 = (10905 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $$0 = $5; + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (10052 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; return ($$0|0); } - $6 = ($0|0)<(512); - if ($6) { - $7 = $0 >>> 5; - $8 = (10905 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) + 5)|0; - $$0 = $11; + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (10052 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; return ($$0|0); } else { - $12 = $0 >>> 10; - $13 = (10905 + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = (($15) + 10)|0; - $$0 = $16; + $13 = $0 >>> 10; + $14 = (10052 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; return ($$0|0); } } - $17 = ($0|0)<(16777216); - if (!($17)) { - $29 = ($0|0)<(536870912); - if (!($29)) { - $$0 = 0; + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (10052 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (10052 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; return ($$0|0); } - $30 = $0 >>> 25; - $31 = (10905 + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = (($33) + 25)|0; - $$0 = $34; - return ($$0|0); - } - $18 = ($0|0)<(524288); - if ($18) { - $19 = $0 >>> 15; - $20 = (10905 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = (($22) + 15)|0; - $$0 = $23; - return ($$0|0); } else { - $24 = $0 >>> 20; - $25 = (10905 + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = (($27) + 20)|0; - $$0 = $28; - return ($$0|0); + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (10052 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (10052 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } } return (0)|0; } @@ -25465,7 +19904,7 @@ function _codebook_decode_scalar_raw($0,$1) { $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)==(0); if (!($51)) { - ___assert_fail((10867|0),(10530|0),1251,(10878|0)); + ___assert_fail((10014|0),(9677|0),1254,(10025|0)); // unreachable; } $52 = HEAP32[$8>>2]|0; @@ -26384,7 +20823,7 @@ function _do_floor($0,$1,$2,$3,$4,$5) { if (!($46)) { return; } - $47 = (3128 + ($$062$lcssa<<2)|0); + $47 = (2996 + ($$062$lcssa<<2)|0); $48 = +HEAPF32[$47>>2]; $$0661 = $$063$lcssa; while(1) { @@ -27015,7 +21454,7 @@ function _get8_packet_raw($0) { $$pr = HEAP8[$1>>0]|0; $9 = ($$pr<<24>>24)==(0); if ($9) { - ___assert_fail((10645|0),(10530|0),1135,(10665|0)); + ___assert_fail((9792|0),(9677|0),1138,(9812|0)); // unreachable; } else { $11 = $$pr; @@ -27094,7 +21533,7 @@ function _next_segment($0) { $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if (!($29)) { - ___assert_fail((10681|0),(10530|0),1121,(10702|0)); + ___assert_fail((9828|0),(9677|0),1124,(9849|0)); // unreachable; } HEAP8[$27>>0] = $20; @@ -27402,7 +21841,7 @@ function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { $6 = $0 & 3; $7 = ($6|0)==(0); if (!($7)) { - ___assert_fail((10715|0),(10530|0),2004,(10728|0)); + ___assert_fail((9862|0),(9677|0),2007,(9875|0)); // unreachable; } $8 = $0 >> 2; @@ -28018,7 +22457,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { if (!($16)) { return; } - $17 = (3128 + ($2<<2)|0); + $17 = (2996 + ($2<<2)|0); $18 = +HEAPF32[$17>>2]; $19 = (($0) + ($1<<2)|0); $20 = +HEAPF32[$19>>2]; @@ -28039,7 +22478,7 @@ function _draw_line($0,$1,$2,$3,$4,$5) { $$1 = (($23) - ($26))|0; $$0$pn = (($$155$sink67) + ($9))|0; $$155 = (($$0$pn) + ($25))|0; - $27 = (3128 + ($$155<<2)|0); + $27 = (2996 + ($$155<<2)|0); $28 = +HEAPF32[$27>>2]; $29 = (($0) + ($$05669<<2)|0); $30 = +HEAPF32[$29>>2]; @@ -28258,7 +22697,7 @@ function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 12) { - ___assert_fail((10795|0),(10530|0),1433,(10831|0)); + ___assert_fail((9942|0),(9677|0),1436,(9978|0)); // unreachable; } $46 = ((($0)) + 1376|0); @@ -28555,7 +22994,7 @@ function _codebook_decode_start($0,$1) { $29 = HEAP32[$28>>2]|0; $30 = ($$1|0)<($29|0); if (!($30)) { - ___assert_fail((10751|0),(10530|0),1339,(10773|0)); + ___assert_fail((9898|0),(9677|0),1342,(9920|0)); // unreachable; } } @@ -28774,7 +23213,7 @@ function _compute_stereo_samples($0,$1,$2,$3,$4) { $17 = (($$07593) + ($3))|0; $$07488 = 0; while(1) { - $20 = ((10989 + (($1*6)|0)|0) + ($$07488)|0); + $20 = ((10136 + (($1*6)|0)|0) + ($$07488)|0); $21 = HEAP8[$20>>0]|0; $trunc = $21 & 6; $trunc$clear = $trunc & 7; @@ -29108,15 +23547,15 @@ function _vorbis_find_page($0,$1,$2) { break; } $72 = (_get8($0)|0); - $73 = HEAP8[(4153)>>0]|0; + $73 = HEAP8[(4021)>>0]|0; $74 = ($72<<24>>24)==($73<<24>>24); if ($74) { $75 = (_get8($0)|0); - $76 = HEAP8[(4154)>>0]|0; + $76 = HEAP8[(4022)>>0]|0; $77 = ($75<<24>>24)==($76<<24>>24); if ($77) { $198 = (_get8($0)|0); - $199 = HEAP8[(4155)>>0]|0; + $199 = HEAP8[(4023)>>0]|0; $200 = ($198<<24>>24)==($199<<24>>24); $$ = $200 ? 4 : 3; $$082$lcssa = $$; @@ -29136,7 +23575,7 @@ function _vorbis_find_page($0,$1,$2) { $80 = ($$082$lcssa|0)==(4); L13: do { if ($80) { - $81 = HEAP32[1038]|0; + $81 = HEAP32[1005]|0; HEAP32[$3>>2] = $81; $82 = (_get8($0)|0); HEAP8[$15>>0] = $82; @@ -29373,7 +23812,7 @@ function _crc32_update($0,$1) { $3 = $1&255; $4 = $0 >>> 24; $5 = $3 ^ $4; - $6 = (19840 + ($5<<2)|0); + $6 = (18888 + ($5<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = $7 ^ $2; return ($8|0); @@ -29420,7 +23859,7 @@ function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { $14 = ($13|0)==(0|0); if (!($14)) { _memcpy(($13|0),($5|0),1512)|0; - _vorbis_pump_first_frame($13); + (_vorbis_pump_first_frame($13)|0); $$0 = $13; STACKTOP = sp;return ($$0|0); } @@ -31681,7 +26120,7 @@ function _start_decoder($0) { $868 = HEAP32[$867>>2]|0; $869 = ($866|0)==($868|0); if (!($869)) { - ___assert_fail((11034|0),(10530|0),3709,(11090|0)); + ___assert_fail((10181|0),(9677|0),3714,(10237|0)); // unreachable; } $870 = ((($0)) + 88|0); @@ -31722,13 +26161,13 @@ function _vorbis_pump_first_frame($0) { $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); $5 = ($4|0)==(0); if ($5) { - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$2>>2]|0; (_vorbis_finish_frame($0,$6,$7,$8)|0); - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } function _setup_malloc($0,$1) { $0 = $0|0; @@ -31775,7 +26214,7 @@ function _vorbis_validate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_memcmp($0,11406,6)|0); + $1 = (_memcmp($0,10553,6)|0); $2 = ($1|0)==(0); $3 = $2&1; return ($3|0); @@ -31896,7 +26335,7 @@ function _is_whole_packet_present($0,$1) { label = 12; break; } - $32 = (_memcmp($$274,4152,4)|0); + $32 = (_memcmp($$274,4020,4)|0); $33 = ($32|0)==(0); if (!($33)) { label = 14; @@ -32072,7 +26511,7 @@ function _crc32_init() { $30 = $25 >> 31; $31 = $30 & 79764919; $32 = $31 ^ $29; - $33 = (19840 + ($$01417<<2)|0); + $33 = (18888 + ($$01417<<2)|0); HEAP32[$33>>2] = $32; $34 = (($$01417) + 1)|0; $exitcond = ($34|0)==(256); @@ -32153,7 +26592,7 @@ function _compute_codewords($0,$1,$2,$3) { $$2 = 1; STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((11303|0),(10530|0),662,(11326|0)); + ___assert_fail((10450|0),(9677|0),665,(10473|0)); // unreachable; } } @@ -32286,15 +26725,15 @@ function _compute_codewords($0,$1,$2,$3) { } } if ((label|0) == 17) { - ___assert_fail((11344|0),(10530|0),685,(11326|0)); + ___assert_fail((10491|0),(9677|0),688,(10473|0)); // unreachable; } else if ((label|0) == 21) { - ___assert_fail((11361|0),(10530|0),690,(11326|0)); + ___assert_fail((10508|0),(9677|0),693,(10473|0)); // unreachable; } else if ((label|0) == 23) { - ___assert_fail((11388|0),(10530|0),692,(11326|0)); + ___assert_fail((10535|0),(9677|0),695,(10473|0)); // unreachable; } else if ((label|0) == 25) { @@ -32359,7 +26798,7 @@ function _compute_sorted_huffman($0,$1,$2) { $33 = HEAP32[$32>>2]|0; $34 = ($$084$lcssa|0)==($33|0); if (!($34)) { - ___assert_fail((11195|0),(10530|0),759,(11218|0)); + ___assert_fail((10342|0),(9677|0),762,(10365|0)); // unreachable; } } else { @@ -32493,7 +26932,7 @@ function _compute_sorted_huffman($0,$1,$2) { } } if ((label|0) == 21) { - ___assert_fail((11241|0),(10530|0),789,(11218|0)); + ___assert_fail((10388|0),(9677|0),792,(10365|0)); // unreachable; } else if ((label|0) == 26) { @@ -32628,7 +27067,7 @@ function _lookup1_values($0,$1) { $24 = (+($0|0)); $25 = $23 > $24; if (!($25)) { - ___assert_fail((11104|0),(10530|0),814,(11136|0)); + ___assert_fail((10251|0),(9677|0),817,(10283|0)); // unreachable; } $26 = $20; @@ -32637,7 +27076,7 @@ function _lookup1_values($0,$1) { $29 = (~~(($28))); $30 = ($29|0)>($0|0); if ($30) { - ___assert_fail((11151|0),(10530|0),815,(11136|0)); + ___assert_fail((10298|0),(9677|0),818,(10283|0)); // unreachable; } else { return ($$|0); @@ -32949,7 +27388,7 @@ function _include_in_sort($0,$1) { return ($$$|0); } if ($5) { - ___assert_fail((11272|0),(10530|0),739,(11287|0)); + ___assert_fail((10419|0),(9677|0),742,(10434|0)); // unreachable; } else { return 1; @@ -33004,119 +27443,74 @@ function _add_entry($0,$1,$2,$3,$4,$5) { } function _LoadMusicStream($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, $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.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer25 = 0, $vararg_buffer28 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr20 = 0, $vararg_ptr24 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr16 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $vararg_buffer28 = sp + 72|0; - $vararg_buffer25 = sp + 64|0; - $vararg_buffer21 = sp + 48|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); $vararg_buffer17 = sp + 40|0; $vararg_buffer13 = sp + 32|0; $vararg_buffer9 = sp + 24|0; $vararg_buffer5 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $1 = sp + 136|0; - $2 = sp + 104|0; - $3 = sp + 76|0; - $4 = (_malloc(52)|0); - $5 = (_IsFileExtension($0,10455)|0); - $6 = ($5|0)==(0); - if (!($6)) { - $7 = (_stb_vorbis_open_filename($0,0,0)|0); - $8 = ((($4)) + 4|0); - HEAP32[$8>>2] = $7; - $9 = ($7|0)==(0|0); - if ($9) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11412,$vararg_buffer); - STACKTOP = sp;return ($4|0); - } else { - $10 = HEAP32[$8>>2]|0; - _stb_vorbis_get_info($1,$10); - $11 = ((($4)) + 12|0); - $12 = HEAP32[$1>>2]|0; - $13 = ((($1)) + 4|0); - $14 = HEAP32[$13>>2]|0; - _InitAudioStream($2,$12,16,$14); - ;HEAP32[$11>>2]=HEAP32[$2>>2]|0;HEAP32[$11+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[$2+24>>2]|0; - $15 = HEAP32[$8>>2]|0; - $16 = (_stb_vorbis_stream_length_in_samples($15)|0); - $17 = ((($4)) + 44|0); - HEAP32[$17>>2] = $16; - $18 = ((($4)) + 48|0); - HEAP32[$18>>2] = $16; - HEAP32[$4>>2] = 0; - $19 = ((($4)) + 40|0); - HEAP32[$19>>2] = -1; - $20 = HEAP32[$17>>2]|0; - HEAP32[$vararg_buffer1>>2] = $0; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $20; - _TraceLog(3,11452,$vararg_buffer1); - $21 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer5>>2] = $0; - $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); - HEAP32[$vararg_ptr8>>2] = $21; - _TraceLog(3,11480,$vararg_buffer5); - $22 = HEAP32[$13>>2]|0; - HEAP32[$vararg_buffer9>>2] = $0; - $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); - HEAP32[$vararg_ptr12>>2] = $22; - _TraceLog(3,11505,$vararg_buffer9); - $23 = ((($1)) + 16|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$vararg_buffer13>>2] = $0; - $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); - HEAP32[$vararg_ptr16>>2] = $24; - _TraceLog(3,11527,$vararg_buffer13); - STACKTOP = sp;return ($4|0); - } - } - $25 = (_IsFileExtension($0,11556)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[$vararg_buffer28>>2] = $0; - _TraceLog(2,10460,$vararg_buffer28); - STACKTOP = sp;return ($4|0); - } - $27 = ((($4)) + 8|0); - $28 = (_jar_xm_create_context_from_file($27,48000,$0)|0); - $29 = ($28|0)==(0); - if ($29) { - $30 = HEAP32[$27>>2]|0; - _jar_xm_set_max_loop_count($30,0); - $31 = ((($4)) + 12|0); - _InitAudioStream($3,48000,16,2); - ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$31+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$31+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$31+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$31+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$31+24>>2]=HEAP32[$3+24>>2]|0; - $32 = (_jar_xm_get_remaining_samples($30)|0); - $33 = tempRet0; - $34 = ((($4)) + 44|0); - HEAP32[$34>>2] = $32; - $35 = ((($4)) + 48|0); - HEAP32[$35>>2] = $32; - HEAP32[$4>>2] = 2; - $36 = ((($4)) + 40|0); - HEAP32[$36>>2] = -1; - $37 = HEAP32[$34>>2]|0; + $1 = sp + 72|0; + $2 = sp + 44|0; + $3 = (_malloc(48)|0); + $4 = (_IsFileExtension($0,9602)|0); + $5 = ($4|0)==(0); + if ($5) { HEAP32[$vararg_buffer17>>2] = $0; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $37; - _TraceLog(3,11560,$vararg_buffer17); - $38 = (+($37>>>0)); - $39 = $38 / 48000.0; - $40 = $39; - HEAP32[$vararg_buffer21>>2] = $0; - $vararg_ptr24 = ((($vararg_buffer21)) + 8|0); - HEAPF64[$vararg_ptr24>>3] = $40; - _TraceLog(3,11590,$vararg_buffer21); - STACKTOP = sp;return ($4|0); + _TraceLog(2,9607,$vararg_buffer17); + STACKTOP = sp;return ($3|0); + } + $6 = (_stb_vorbis_open_filename($0,0,0)|0); + $7 = ((($3)) + 4|0); + HEAP32[$7>>2] = $6; + $8 = ($6|0)==(0|0); + if ($8) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,10559,$vararg_buffer); + STACKTOP = sp;return ($3|0); } else { - HEAP32[$vararg_buffer25>>2] = $0; - _TraceLog(2,11623,$vararg_buffer25); - STACKTOP = sp;return ($4|0); + $9 = HEAP32[$7>>2]|0; + _stb_vorbis_get_info($1,$9); + $10 = ((($3)) + 8|0); + $11 = HEAP32[$1>>2]|0; + $12 = ((($1)) + 4|0); + $13 = HEAP32[$12>>2]|0; + _InitAudioStream($2,$11,16,$13); + ;HEAP32[$10>>2]=HEAP32[$2>>2]|0;HEAP32[$10+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$10+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$10+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$10+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$10+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$10+24>>2]=HEAP32[$2+24>>2]|0; + $14 = HEAP32[$7>>2]|0; + $15 = (_stb_vorbis_stream_length_in_samples($14)|0); + $16 = ((($3)) + 40|0); + HEAP32[$16>>2] = $15; + $17 = ((($3)) + 44|0); + HEAP32[$17>>2] = $15; + HEAP32[$3>>2] = 0; + $18 = ((($3)) + 36|0); + HEAP32[$18>>2] = -1; + $19 = HEAP32[$16>>2]|0; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $19; + _TraceLog(3,10599,$vararg_buffer1); + $20 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer5>>2] = $0; + $vararg_ptr8 = ((($vararg_buffer5)) + 4|0); + HEAP32[$vararg_ptr8>>2] = $20; + _TraceLog(3,10627,$vararg_buffer5); + $21 = HEAP32[$12>>2]|0; + HEAP32[$vararg_buffer9>>2] = $0; + $vararg_ptr12 = ((($vararg_buffer9)) + 4|0); + HEAP32[$vararg_ptr12>>2] = $21; + _TraceLog(3,10652,$vararg_buffer9); + $22 = ((($1)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[$vararg_buffer13>>2] = $0; + $vararg_ptr16 = ((($vararg_buffer13)) + 4|0); + HEAP32[$vararg_ptr16>>2] = $23; + _TraceLog(3,10674,$vararg_buffer13); + STACKTOP = sp;return ($3|0); } return (0)|0; } @@ -33186,14 +27580,14 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer4>>2] = $2; - _TraceLog(2,11712,$vararg_buffer4); + _TraceLog(2,10759,$vararg_buffer4); $26 = $9; break L1; } } } else { HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(2,11656,$vararg_buffer); + _TraceLog(2,10703,$vararg_buffer); $8 = ((($4)) + 8|0); HEAP32[$8>>2] = 1; $55 = $8; @@ -33226,7 +27620,7 @@ function _InitAudioStream($0,$1,$2,$3) { } default: { HEAP32[$vararg_buffer1>>2] = $2; - _TraceLog(2,11712,$vararg_buffer1); + _TraceLog(2,10759,$vararg_buffer1); $26 = $55; break L10; } @@ -33280,7 +27674,7 @@ function _InitAudioStream($0,$1,$2,$3) { $51 = HEAP32[$6>>2]|0; $52 = HEAP32[$26>>2]|0; $53 = ($52|0)==(1); - $54 = $53 ? 10516 : 10521; + $54 = $53 ? 9663 : 9668; HEAP32[$vararg_buffer7>>2] = $49; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $50; @@ -33288,42 +27682,30 @@ function _InitAudioStream($0,$1,$2,$3) { HEAP32[$vararg_ptr11>>2] = $51; $vararg_ptr12 = ((($vararg_buffer7)) + 12|0); HEAP32[$vararg_ptr12>>2] = $54; - _TraceLog(0,11761,$vararg_buffer7); + _TraceLog(0,10808,$vararg_buffer7); ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0; STACKTOP = sp;return; } function _UnloadMusicStream($0) { $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - $1 = ((($0)) + 12|0); + $1 = ((($0)) + 8|0); ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0; _CloseAudioStream($$byval_copy); $2 = HEAP32[$0>>2]|0; - switch ($2|0) { - case 0: { - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - _stb_vorbis_close($4); - _free($0); - STACKTOP = sp;return; - break; - } - case 2: { - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - _jar_xm_free_context($6); - _free($0); - STACKTOP = sp;return; - break; - } - default: { + $3 = ($2|0)==(0); + if (!($3)) { _free($0); STACKTOP = sp;return; } - } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + _stb_vorbis_close($5); + _free($0); + STACKTOP = sp;return; } function _CloseAudioStream($0) { $0 = $0|0; @@ -33360,14 +27742,14 @@ function _CloseAudioStream($0) { _alDeleteBuffers(2,($11|0)); $12 = HEAP32[$3>>2]|0; HEAP32[$vararg_buffer>>2] = $12; - _TraceLog(0,11826,$vararg_buffer); + _TraceLog(0,10873,$vararg_buffer); STACKTOP = sp;return; } function _PlayMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePlay(($2|0)); return; @@ -33376,7 +27758,7 @@ function _PauseMusicStream($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourcePause(($2|0)); return; @@ -33387,7 +27769,7 @@ function _ResumeMusicStream($0) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; - $2 = ((($0)) + 28|0); + $2 = ((($0)) + 24|0); $3 = HEAP32[$2>>2]|0; _alGetSourcei(($3|0),4112,($1|0)); $4 = HEAP32[$1>>2]|0; @@ -33404,20 +27786,20 @@ function _StopMusicStream($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 28|0); + $1 = ((($0)) + 24|0); $2 = HEAP32[$1>>2]|0; _alSourceStop(($2|0)); - $3 = ((($0)) + 16|0); + $3 = ((($0)) + 12|0); $4 = HEAP32[$3>>2]|0; $5 = $4 << 9; $6 = $5 & 536870400; - $7 = ((($0)) + 20|0); + $7 = ((($0)) + 16|0); $8 = HEAP32[$7>>2]|0; $9 = Math_imul($6, $8)|0; $10 = (_calloc($9,1)|0); - $11 = ((($0)) + 24|0); - $12 = ((($0)) + 12|0); - $13 = ((($0)) + 32|0); + $11 = ((($0)) + 20|0); + $12 = ((($0)) + 8|0); + $13 = ((($0)) + 28|0); $14 = HEAP32[$13>>2]|0; $15 = HEAP32[$11>>2]|0; $16 = HEAP32[$3>>2]|0; @@ -33427,7 +27809,7 @@ function _StopMusicStream($0) { $20 = Math_imul($18, $19)|0; $21 = HEAP32[$12>>2]|0; _alBufferData(($14|0),($15|0),($10|0),($20|0),($21|0)); - $22 = ((($0)) + 36|0); + $22 = ((($0)) + 32|0); $23 = HEAP32[$22>>2]|0; $24 = HEAP32[$11>>2]|0; $25 = HEAP32[$3>>2]|0; @@ -33441,24 +27823,24 @@ function _StopMusicStream($0) { $31 = HEAP32[$0>>2]|0; $cond = ($31|0)==(0); if (!($cond)) { - $34 = ((($0)) + 44|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } $32 = ((($0)) + 4|0); $33 = HEAP32[$32>>2]|0; - _stb_vorbis_seek_start($33); - $34 = ((($0)) + 44|0); + (_stb_vorbis_seek_start($33)|0); + $34 = ((($0)) + 40|0); $35 = HEAP32[$34>>2]|0; - $36 = ((($0)) + 48|0); + $36 = ((($0)) + 44|0); HEAP32[$36>>2] = $35; return; } function _stb_vorbis_seek_start($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; + 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; $1 = ((($0)) + 48|0); $2 = HEAP8[$1>>0]|0; @@ -33473,18 +27855,21 @@ function _stb_vorbis_seek_start($0) { HEAP8[$7>>0] = 1; $8 = ((($0)) + 1380|0); HEAP32[$8>>2] = -1; - _vorbis_pump_first_frame($0); - return; + $9 = (_vorbis_pump_first_frame($0)|0); + $$0 = $9; + return ($$0|0); } else { _error($0,2); - return; + $$0 = 0; + return ($$0|0); } + return (0)|0; } function _UpdateMusicStream($0) { $0 = $0|0; - var $$ = 0, $$0 = 0, $$04143 = 0, $$byval_copy = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + var $$ = 0, $$0 = 0, $$03840 = 0, $$byval_copy = 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; + 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, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); $$byval_copy = sp + 12|0; @@ -33492,8 +27877,8 @@ function _UpdateMusicStream($0) { $1 = sp + 8|0; $2 = sp + 4|0; HEAP32[$2>>2] = 0; - $3 = ((($0)) + 12|0); - $4 = ((($0)) + 28|0); + $3 = ((($0)) + 8|0); + $4 = ((($0)) + 24|0); $5 = HEAP32[$4>>2]|0; _alGetSourcei(($5|0),4112,($1|0)); $6 = HEAP32[$4>>2]|0; @@ -33503,10 +27888,10 @@ function _UpdateMusicStream($0) { if (!($8)) { STACKTOP = sp;return; } - $9 = ((($0)) + 20|0); + $9 = ((($0)) + 16|0); $10 = HEAP32[$9>>2]|0; $11 = $10 << 12; - $12 = ((($0)) + 16|0); + $12 = ((($0)) + 12|0); $13 = HEAP32[$12>>2]|0; $14 = Math_imul($11, $13)|0; $15 = $14 >>> 3; @@ -33515,74 +27900,64 @@ function _UpdateMusicStream($0) { $18 = ($17|0)>(0); L4: do { if ($18) { - $19 = ((($0)) + 48|0); + $19 = ((($0)) + 44|0); $20 = ((($0)) + 4|0); - $21 = ((($0)) + 8|0); - $$04143 = 0; + $$03840 = 0; while(1) { - $24 = HEAP32[$19>>2]|0; - $25 = ($24>>>0)<(4096); - $$ = $25 ? $24 : 4096; - $26 = HEAP32[$0>>2]|0; - switch ($26|0) { - case 0: { - $27 = HEAP32[$20>>2]|0; - $28 = HEAP32[$9>>2]|0; - $29 = Math_imul($28, $$)|0; - (_stb_vorbis_get_samples_short_interleaved($27,$28,$16,$29)|0); - break; - } - case 2: { - $30 = HEAP32[$21>>2]|0; - _jar_xm_generate_samples_16bit($30,$16,$$); - break; - } - default: { - } + $23 = HEAP32[$19>>2]|0; + $24 = ($23>>>0)<(4096); + $$ = $24 ? $23 : 4096; + $25 = HEAP32[$0>>2]|0; + $cond = ($25|0)==(0); + if ($cond) { + $26 = HEAP32[$20>>2]|0; + $27 = HEAP32[$9>>2]|0; + $28 = Math_imul($27, $$)|0; + (_stb_vorbis_get_samples_short_interleaved($26,$27,$16,$28)|0); } ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0; _UpdateAudioStream($$byval_copy,$16,$$); - $31 = HEAP32[$19>>2]|0; - $32 = (($31) - ($$))|0; - HEAP32[$19>>2] = $32; - $33 = ($32|0)==(0); - $23 = (($$04143) + 1)|0; - if ($33) { + $29 = HEAP32[$19>>2]|0; + $30 = (($29) - ($$))|0; + HEAP32[$19>>2] = $30; + $31 = ($30|0)==(0); + $22 = (($$03840) + 1)|0; + if ($31) { $$0 = 0; break L4; } - $22 = ($23|0)<($17|0); - if ($22) { - $$04143 = $23; + $21 = ($22|0)<($17|0); + if ($21) { + $$03840 = $22; } else { $$0 = 1; - break L4; + break; } } } else { $$0 = 1; } } while(0); - $34 = (_alGetError()|0); - $35 = ($34|0)==(40963); - if ($35) { - _TraceLog(2,11865,$vararg_buffer); + $32 = (_alGetError()|0); + $33 = ($32|0)==(40963); + if ($33) { + _TraceLog(2,10912,$vararg_buffer); } - $36 = ($$0|0)==(0); - if ($36) { + $34 = ($$0|0)==(0); + if ($34) { _StopMusicStream($0); - $37 = ((($0)) + 40|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)>(0); - if ($39) { - $40 = (($38) + -1)|0; - HEAP32[$37>>2] = $40; + $35 = ((($0)) + 36|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)>(0); + if ($37) { + $38 = (($36) + -1)|0; + HEAP32[$35>>2] = $38; _PlayMusicStream($0); } } else { - $41 = HEAP32[$1>>2]|0; - $42 = ($41|0)==(4114); - if (!($42)) { + $39 = HEAP32[$1>>2]|0; + $40 = ($39|0)==(4114); + if (!($40)) { _PlayMusicStream($0); } } @@ -33626,10 +28001,10 @@ function _GetMusicTimeLength($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; $3 = (+($2>>>0)); - $4 = ((($0)) + 12|0); + $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; $6 = (+($5>>>0)); $7 = $3 / $6; @@ -33639,13 +28014,13 @@ function _GetMusicTimePlayed($0) { $0 = $0|0; var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $1 = ((($0)) + 44|0); + $1 = ((($0)) + 40|0); $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 48|0); + $3 = ((($0)) + 44|0); $4 = HEAP32[$3>>2]|0; $5 = (($2) - ($4))|0; $6 = (+($5>>>0)); - $7 = ((($0)) + 12|0); + $7 = ((($0)) + 8|0); $8 = HEAP32[$7>>2]|0; $9 = (+($8>>>0)); $10 = $6 / $9; @@ -33697,7 +28072,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11897)|0); + $12 = (_strstr($11,10944)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -33706,7 +28081,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11901)|0); + $17 = (_strstr($16,10948)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -33715,7 +28090,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11905)|0); + $22 = (_strstr($21,10952)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -33724,7 +28099,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11909)|0); + $27 = (_strstr($26,10956)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -33733,1210 +28108,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11915)|0); + $32 = (_strcmp($31,10962)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11953)|0); + $35 = (_strcmp($34,11000)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11972; + HEAP32[$3>>2] = 11019; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11985)|0); + $38 = (_strcmp($37,11032)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12006; + HEAP32[$3>>2] = 11053; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12021)|0); + $41 = (_strcmp($40,11068)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12036; + HEAP32[$3>>2] = 11083; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12051)|0); + $44 = (_strcmp($43,11098)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12066; + HEAP32[$3>>2] = 11113; } } else { - HEAP32[$3>>2] = 11937; + HEAP32[$3>>2] = 10984; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12081)|0); + $47 = (_strcmp($46,11128)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12095)|0); + $50 = (_strcmp($49,11142)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 2; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12107)|0); + $53 = (_strcmp($52,11154)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12121)|0); + $56 = (_strcmp($55,11168)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12133)|0); + $59 = (_strcmp($58,11180)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12147)|0); + $62 = (_strcmp($61,11194)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12161)|0); + $65 = (_strcmp($64,11208)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12178)|0); + $68 = (_strcmp($67,11225)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12201)|0); + $71 = (_strcmp($70,11248)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12227)|0); + $74 = (_strcmp($73,11274)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12240)|0); + $77 = (_strcmp($76,11287)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12256)|0); + $80 = (_strcmp($79,11303)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12269)|0); + $83 = (_strcmp($82,11316)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12283)|0); + $86 = (_strcmp($85,11330)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12303)|0); + $89 = (_strcmp($88,11350)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12323)|0); + $92 = (_strcmp($91,11370)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12340)|0); + $95 = (_strcmp($94,11387)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12357)|0); + $98 = (_strcmp($97,11404)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 3; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12369)|0); + $101 = (_strcmp($100,11416)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12382)|0); + $104 = (_strcmp($103,11429)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12398)|0); + $107 = (_strcmp($106,11445)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12421)|0); + $110 = (_strcmp($109,11468)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12434)|0); + $113 = (_strcmp($112,11481)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12450)|0); + $116 = (_strcmp($115,11497)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 4; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12461)|0); + $119 = (_strcmp($118,11508)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12480)|0); + $122 = (_strcmp($121,11527)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12502)|0); + $125 = (_strcmp($124,11549)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12521)|0); + $128 = (_strcmp($127,11568)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12550)|0); + $131 = (_strcmp($130,11597)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 5; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12567)|0); + $134 = (_strcmp($133,11614)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12582)|0); + $137 = (_strcmp($136,11629)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12597)|0); + $140 = (_strcmp($139,11644)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 3; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12618)|0); + $143 = (_strcmp($142,11665)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12638)|0); + $146 = (_strcmp($145,11685)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12658)|0); + $149 = (_strcmp($148,11705)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12684)|0); + $152 = (_strcmp($151,11731)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12703)|0); + $155 = (_strcmp($154,11750)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12715)|0); + $158 = (_strcmp($157,11762)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12727)|0); + $161 = (_strcmp($160,11774)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12739)|0); + $164 = (_strcmp($163,11786)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12751)|0); + $167 = (_strcmp($166,11798)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12763)|0); + $170 = (_strcmp($169,11810)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12775)|0); + $173 = (_strcmp($172,11822)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12787)|0); + $176 = (_strcmp($175,11834)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12799)|0); + $179 = (_strcmp($178,11846)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12812)|0); + $182 = (_strcmp($181,11859)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12825)|0); + $185 = (_strcmp($184,11872)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12838)|0); + $188 = (_strcmp($187,11885)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12851)|0); + $191 = (_strcmp($190,11898)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12864)|0); + $194 = (_strcmp($193,11911)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12877)|0); + $197 = (_strcmp($196,11924)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12890)|0); + $200 = (_strcmp($199,11937)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12903)|0); + $203 = (_strcmp($202,11950)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12922)|0); + $206 = (_strcmp($205,11969)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12941)|0); + $209 = (_strcmp($208,11988)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12960)|0); + $212 = (_strcmp($211,12007)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12973)|0); + $215 = (_strcmp($214,12020)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12991)|0); + $218 = (_strcmp($217,12038)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13009)|0); + $221 = (_strcmp($220,12056)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13027)|0); + $224 = (_strcmp($223,12074)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13045)|0); + $227 = (_strcmp($226,12092)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 4; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13065)|0); + $230 = (_strcmp($229,12112)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12006)|0); + $233 = (_strcmp($232,11053)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 6; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13083)|0); + $236 = (_strcmp($235,12130)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13098)|0); + $239 = (_strcmp($238,12145)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13119)|0); + $242 = (_strcmp($241,12166)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13134)|0); + $245 = (_strcmp($244,12181)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13152)|0); + $248 = (_strcmp($247,12199)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13168)|0); + $251 = (_strcmp($250,12215)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13187)|0); + $254 = (_strcmp($253,12234)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13201)|0); + $257 = (_strcmp($256,12248)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13216)|0); + $260 = (_strcmp($259,12263)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 7; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11937)|0); + $263 = (_strcmp($262,10984)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13227)|0); + $266 = (_strcmp($265,12274)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12036)|0); + $269 = (_strcmp($268,11083)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12066)|0); + $272 = (_strcmp($271,11113)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13243)|0); + $275 = (_strcmp($274,12290)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13270)|0); + $278 = (_strcmp($277,12317)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13284)|0); + $281 = (_strcmp($280,12331)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11972)|0); + $284 = (_strcmp($283,11019)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13304)|0); + $287 = (_strcmp($286,12351)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13322)|0); + $290 = (_strcmp($289,12369)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 8; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13334)|0); + $293 = (_strcmp($292,12381)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13355)|0); + $296 = (_strcmp($295,12402)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13373)|0); + $299 = (_strcmp($298,12420)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13391)|0); + $302 = (_strcmp($301,12438)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13412)|0); + $305 = (_strcmp($304,12459)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13438)|0); + $308 = (_strcmp($307,12485)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13461)|0); + $311 = (_strcmp($310,12508)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13499)|0); + $314 = (_strcmp($313,12546)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 9; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13515)|0); + $317 = (_strcmp($316,12562)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13530)|0); + $320 = (_strcmp($319,12577)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13553)|0); + $323 = (_strcmp($322,12600)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13566)|0); + $326 = (_strcmp($325,12613)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13580)|0); + $329 = (_strcmp($328,12627)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13594)|0); + $332 = (_strcmp($331,12641)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13614)|0); + $335 = (_strcmp($334,12661)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13634)|0); + $338 = (_strcmp($337,12681)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13650)|0); + $341 = (_strcmp($340,12697)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13668)|0); + $344 = (_strcmp($343,12715)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13684)|0); + $347 = (_strcmp($346,12731)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13699)|0); + $350 = (_strcmp($349,12746)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13721)|0); + $353 = (_strcmp($352,12768)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13739)|0); + $356 = (_strcmp($355,12786)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13760)|0); + $359 = (_strcmp($358,12807)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13778)|0); + $362 = (_strcmp($361,12825)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13791)|0); + $365 = (_strcmp($364,12838)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13806)|0); + $368 = (_strcmp($367,12853)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13820)|0); + $371 = (_strcmp($370,12867)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13830)|0); + $374 = (_strcmp($373,12877)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13840)|0); + $377 = (_strcmp($376,12887)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13862)|0); + $380 = (_strcmp($379,12909)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13888)|0); + $383 = (_strcmp($382,12935)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13915)|0); + $386 = (_strcmp($385,12962)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13928)|0); + $389 = (_strcmp($388,12975)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13943)|0); + $392 = (_strcmp($391,12990)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13958)|0); + $395 = (_strcmp($394,13005)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13982)|0); + $398 = (_strcmp($397,13029)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13993)|0); + $401 = (_strcmp($400,13040)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14015)|0); + $404 = (_strcmp($403,13062)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14037)|0); + $407 = (_strcmp($406,13084)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14061)|0); + $410 = (_strcmp($409,13108)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14070)|0); + $413 = (_strcmp($412,13117)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14078)|0); + $416 = (_strcmp($415,13125)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14091)|0); + $419 = (_strcmp($418,13138)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14105)|0); + $422 = (_strcmp($421,13152)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14117)|0); + $425 = (_strcmp($424,13164)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14126)|0); + $428 = (_strcmp($427,13173)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14136)|0); + $431 = (_strcmp($430,13183)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14148)|0); + $434 = (_strcmp($433,13195)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14159)|0); + $437 = (_strcmp($436,13206)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14167)|0); + $440 = (_strcmp($439,13214)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14179)|0); + $443 = (_strcmp($442,13226)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14194)|0); + $446 = (_strcmp($445,13241)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14206)|0); + $449 = (_strcmp($448,13253)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14220)|0); + $452 = (_strcmp($451,13267)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 10; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14245)|0); + $455 = (_strcmp($454,13292)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14262)|0); + $458 = (_strcmp($457,13309)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14278)|0); + $461 = (_strcmp($460,13325)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14294)|0); + $464 = (_strcmp($463,13341)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 11; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14306)|0); + $467 = (_strcmp($466,13353)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14318)|0); + $470 = (_strcmp($469,13365)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14342)|0); + $473 = (_strcmp($472,13389)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14355)|0); + $476 = (_strcmp($475,13402)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14369)|0); + $479 = (_strcmp($478,13416)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14391)|0); + $482 = (_strcmp($481,13438)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14398)|0); + $485 = (_strcmp($484,13445)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14414)|0); + $488 = (_strcmp($487,13461)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14431)|0); + $491 = (_strcmp($490,13478)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14448)|0); + $494 = (_strcmp($493,13495)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14464)|0); + $497 = (_strcmp($496,13511)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14480)|0); + $500 = (_strcmp($499,13527)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14497)|0); + $503 = (_strcmp($502,13544)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14511)|0); + $506 = (_strcmp($505,13558)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14523)|0); + $509 = (_strcmp($508,13570)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14534)|0); + $512 = (_strcmp($511,13581)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14547)|0); + $515 = (_strcmp($514,13594)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14557)|0); + $518 = (_strcmp($517,13604)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14574)|0); + $521 = (_strcmp($520,13621)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14586)|0); + $524 = (_strcmp($523,13633)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14608)|0); + $527 = (_strcmp($526,13655)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14628)|0); + $530 = (_strcmp($529,13675)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14641)|0); + $533 = (_strcmp($532,13688)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14663)|0); + $536 = (_strcmp($535,13710)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14683)|0); + $539 = (_strcmp($538,13730)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14700)|0); + $542 = (_strcmp($541,13747)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14717)|0); + $545 = (_strcmp($544,13764)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14737)|0); + $548 = (_strcmp($547,13784)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -34958,7 +29333,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (20864|0); + return (19912|0); } function ___stdio_close($0) { $0 = $0|0; @@ -35151,7 +29526,7 @@ function ___pthread_self_108() { function _pthread_self() { var label = 0, sp = 0; sp = STACKTOP; - return (4284|0); + return (4024|0); } function _dummy_738($0) { $0 = $0|0; @@ -35241,7 +29616,7 @@ function ___stdout_write($0,$1,$2) { $vararg_buffer = sp; $3 = sp + 16|0; $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 1; + HEAP32[$4>>2] = 8; $5 = HEAP32[$0>>2]|0; $6 = $5 & 64; $7 = ($6|0)==(0); @@ -35847,7 +30222,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14853 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((13900 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -36025,7 +30400,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15317;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14364;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -36046,7 +30421,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15317;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14364;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -36054,8 +30429,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15317 : (15319); - $$$ = $238 ? $$ : (15318); + $$ = $240 ? 14364 : (14366); + $$$ = $238 ? $$ : (14365); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -36072,7 +30447,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15317;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14364;$242 = $167;$243 = $170; label = 66; break; } @@ -36085,7 +30460,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15317;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14364;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -36099,7 +30474,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15327; + $271 = $270 ? $269 : 14374; $$1 = $271; label = 71; break; @@ -36139,7 +30514,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15317;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14364;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -36161,8 +30536,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15317 + ($208)|0); - $$289 = $or$cond283 ? 15317 : $209; + $209 = (14364 + ($208)|0); + $$289 = $or$cond283 ? 14364 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -36183,7 +30558,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15317;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14364;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -36713,7 +31088,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15369 + ($7)|0); + $9 = (14416 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -37071,14 +31446,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15334; + $$0471 = $14;$$0520 = 1;$$0521 = 14381; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15335) : (15340); - $$$ = $16 ? $$ : (15337); + $$ = $18 ? (14382) : (14387); + $$$ = $16 ? $$ : (14384); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -37177,7 +31552,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15369 + ($80)|0); + $81 = (14416 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -37788,7 +32163,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15385,1); + _out($0,14432,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -37869,7 +32244,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15385,1); + _out($0,14432,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37926,9 +32301,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15353 : 15357; + $29 = $28 ? 14400 : 14404; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 15361 : 15365; + $31 = $28 ? 14408 : 14412; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -38138,7 +32513,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15387 + ($$016)|0); + $3 = (14434 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -38149,7 +32524,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15475;$$115 = 87; + $$01214 = 14522;$$115 = 87; label = 5; break; } else { @@ -38159,9 +32534,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15475; + $$012$lcssa = 14522; } else { - $$01214 = 15475;$$115 = $$016; + $$01214 = 14522;$$115 = $$016; label = 5; } } @@ -39305,42 +33680,6 @@ function _ldexp($0,$1) { $2 = (+_scalbn($0,$1)); return (+$2); } -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) { - $13 = $11; - } else { - ___unlockfile($3); - $13 = $11; - } - } else { - $9 = (___fwritex($0,$4,$3)|0); - $13 = $9; - } - $12 = ($13|0)==($4|0); - if ($12) { - $15 = $$; - } else { - $14 = (($13>>>0) / ($1>>>0))&-1; - $15 = $14; - } - return ($15|0); -} function ___unlist_locked_file($0) { $0 = $0|0; var $$pre = 0, $$sink = 0, $1 = 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; @@ -39390,7 +33729,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17279,$3,4)|0); + $memchr = (_memchr(16326,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -39479,7 +33818,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17279,$4,4)|0); + $memchr = (_memchr(16326,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -39565,12 +33904,12 @@ function ___fdopen($0,$1) { $34 = ((($7)) + 32|0); HEAP32[$34>>2] = 9; $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 1; + HEAP32[$35>>2] = 8; $36 = ((($7)) + 40|0); HEAP32[$36>>2] = 2; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 1; - $38 = HEAP32[(20868)>>2]|0; + $38 = HEAP32[(19916)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -39603,13 +33942,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((20928|0)); - return (20936|0); + ___lock((19976|0)); + return (19984|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((20928|0)); + ___unlock((19976|0)); return; } function _fclose($0) { @@ -39684,12 +34023,12 @@ function _fflush($0) { $1 = ($0|0)==(0|0); do { if ($1) { - $8 = HEAP32[1164]|0; + $8 = HEAP32[1099]|0; $9 = ($8|0)==(0|0); if ($9) { $29 = 0; } else { - $10 = HEAP32[1164]|0; + $10 = HEAP32[1099]|0; $11 = (_fflush($10)|0); $29 = $11; } @@ -39818,18 +34157,6 @@ function _fseek($0,$1,$2) { $3 = (___fseeko($0,$1,$2)|0); return ($3|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 ___fseeko($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -40658,7 +34985,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17552; + $2 = 16600; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40893,37 +35220,12 @@ function _ftell($0) { $1 = (___ftello($0)|0); return ($1|0); } -function _rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} function _vprintf($0,$1) { $0 = $0|0; $1 = $1|0; var $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[1132]|0; + $2 = HEAP32[1067]|0; $3 = (_vfprintf($2,$0,$1)|0); return ($3|0); } @@ -41030,7 +35332,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5235]|0; + $3 = HEAP32[4997]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -41049,22 +35351,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5235] = 0; + HEAP32[4997] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5235] = $10; + HEAP32[4997] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5235] = 0; + HEAP32[4997] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5235] = $13; + HEAP32[4997] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -41145,7 +35447,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5236]|0; + $8 = HEAP32[4998]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -41154,7 +35456,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (20984 + ($15<<2)|0); + $16 = (20032 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -41165,9 +35467,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5236] = $24; + HEAP32[4998] = $24; } else { - $25 = HEAP32[(20960)>>2]|0; + $25 = HEAP32[(20008)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -41198,7 +35500,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(20952)>>2]|0; + $37 = HEAP32[(20000)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -41232,7 +35534,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (20984 + ($68<<2)|0); + $69 = (20032 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -41243,10 +35545,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5236] = $77; + HEAP32[4998] = $77; $98 = $77; } else { - $78 = HEAP32[(20960)>>2]|0; + $78 = HEAP32[(20008)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -41279,22 +35581,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(20964)>>2]|0; + $92 = HEAP32[(20012)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (20984 + ($94<<2)|0); + $95 = (20032 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5236] = $100; + HEAP32[4998] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20960)>>2]|0; + $103 = HEAP32[(20008)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -41311,12 +35613,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(20952)>>2] = $84; - HEAP32[(20964)>>2] = $87; + HEAP32[(20000)>>2] = $84; + HEAP32[(20012)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(20948)>>2]|0; + $108 = HEAP32[(19996)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -41344,7 +35646,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21248 + ($132<<2)|0); + $133 = (20296 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -41384,7 +35686,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(20960)>>2]|0; + $155 = HEAP32[(20008)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -41479,7 +35781,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21248 + ($188<<2)|0); + $189 = (20296 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -41490,11 +35792,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(20948)>>2] = $194; + HEAP32[(19996)>>2] = $194; break L73; } } else { - $195 = HEAP32[(20960)>>2]|0; + $195 = HEAP32[(20008)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41515,7 +35817,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(20960)>>2]|0; + $201 = HEAP32[(20008)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41545,7 +35847,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(20960)>>2]|0; + $213 = HEAP32[(20008)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41582,22 +35884,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(20964)>>2]|0; + $231 = HEAP32[(20012)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (20984 + ($233<<2)|0); + $234 = (20032 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5236] = $238; + HEAP32[4998] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20960)>>2]|0; + $241 = HEAP32[(20008)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41614,8 +35916,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(20952)>>2] = $$0193$lcssa$i; - HEAP32[(20964)>>2] = $157; + HEAP32[(20000)>>2] = $$0193$lcssa$i; + HEAP32[(20012)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41631,7 +35933,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(20948)>>2]|0; + $250 = HEAP32[(19996)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41671,7 +35973,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21248 + ($$0358$i<<2)|0); + $278 = (20296 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41763,7 +36065,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21248 + ($330<<2)|0); + $331 = (20296 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41807,11 +36109,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(20952)>>2]|0; + $345 = HEAP32[(20000)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(20960)>>2]|0; + $348 = HEAP32[(20008)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41908,7 +36210,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21248 + ($381<<2)|0); + $382 = (20296 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41919,12 +36221,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(20948)>>2] = $387; + HEAP32[(19996)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(20960)>>2]|0; + $388 = HEAP32[(20008)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41946,7 +36248,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(20960)>>2]|0; + $394 = HEAP32[(20008)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41978,7 +36280,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(20960)>>2]|0; + $406 = HEAP32[(20008)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -42019,20 +36321,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (20984 + ($425<<2)|0); - $427 = HEAP32[5236]|0; + $426 = (20032 + ($425<<2)|0); + $427 = HEAP32[4998]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5236] = $431; + HEAP32[4998] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20960)>>2]|0; + $434 = HEAP32[(20008)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -42084,7 +36386,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21248 + ($$0361$i<<2)|0); + $464 = (20296 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -42096,7 +36398,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(20948)>>2] = $472; + HEAP32[(19996)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -42135,7 +36437,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(20960)>>2]|0; + $491 = HEAP32[(20008)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -42154,7 +36456,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20960)>>2]|0; + $498 = HEAP32[(20008)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -42187,16 +36489,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(20952)>>2]|0; + $506 = HEAP32[(20000)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20964)>>2]|0; + $509 = HEAP32[(20012)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(20964)>>2] = $511; - HEAP32[(20952)>>2] = $508; + HEAP32[(20012)>>2] = $511; + HEAP32[(20000)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -42206,8 +36508,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(20952)>>2] = 0; - HEAP32[(20964)>>2] = 0; + HEAP32[(20000)>>2] = 0; + HEAP32[(20012)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -42221,14 +36523,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(20956)>>2]|0; + $524 = HEAP32[(20004)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(20956)>>2] = $526; - $527 = HEAP32[(20968)>>2]|0; + HEAP32[(20004)>>2] = $526; + $527 = HEAP32[(20016)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(20968)>>2] = $528; + HEAP32[(20016)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -42239,23 +36541,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5354]|0; + $534 = HEAP32[5116]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21424)>>2] = 4096; - HEAP32[(21420)>>2] = 4096; - HEAP32[(21428)>>2] = -1; - HEAP32[(21432)>>2] = -1; - HEAP32[(21436)>>2] = 0; - HEAP32[(21388)>>2] = 0; + HEAP32[(20472)>>2] = 4096; + HEAP32[(20468)>>2] = 4096; + HEAP32[(20476)>>2] = -1; + HEAP32[(20480)>>2] = -1; + HEAP32[(20484)>>2] = 0; + HEAP32[(20436)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5354] = $538; + HEAP32[5116] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21424)>>2]|0; + $$pre$i212 = HEAP32[(20472)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -42268,10 +36570,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21384)>>2]|0; + $546 = HEAP32[(20432)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21376)>>2]|0; + $548 = HEAP32[(20424)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -42281,18 +36583,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21388)>>2]|0; + $552 = HEAP32[(20436)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(20968)>>2]|0; + $555 = HEAP32[(20016)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21392); + $$0$i$i = (20440); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -42350,7 +36652,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21420)>>2]|0; + $569 = HEAP32[(20468)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -42360,13 +36662,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21376)>>2]|0; + $578 = HEAP32[(20424)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21384)>>2]|0; + $582 = HEAP32[(20432)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -42412,7 +36714,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21424)>>2]|0; + $601 = HEAP32[(20472)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -42437,9 +36739,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21388)>>2]|0; + $611 = HEAP32[(20436)>>2]|0; $612 = $611 | 4; - HEAP32[(21388)>>2] = $612; + HEAP32[(20436)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -42475,35 +36777,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21376)>>2]|0; + $626 = HEAP32[(20424)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21376)>>2] = $627; - $628 = HEAP32[(21380)>>2]|0; + HEAP32[(20424)>>2] = $627; + $628 = HEAP32[(20428)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21380)>>2] = $627; + HEAP32[(20428)>>2] = $627; } - $630 = HEAP32[(20968)>>2]|0; + $630 = HEAP32[(20016)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(20960)>>2]|0; + $632 = HEAP32[(20008)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(20960)>>2] = $$749$i; - } - HEAP32[(21392)>>2] = $$749$i; - HEAP32[(21396)>>2] = $$723948$i; - HEAP32[(21404)>>2] = 0; - $635 = HEAP32[5354]|0; - HEAP32[(20980)>>2] = $635; - HEAP32[(20976)>>2] = -1; + HEAP32[(20008)>>2] = $$749$i; + } + HEAP32[(20440)>>2] = $$749$i; + HEAP32[(20444)>>2] = $$723948$i; + HEAP32[(20452)>>2] = 0; + $635 = HEAP32[5116]|0; + HEAP32[(20028)>>2] = $635; + HEAP32[(20024)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (20984 + ($636<<2)|0); + $637 = (20032 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42526,18 +36828,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(20968)>>2] = $649; - HEAP32[(20956)>>2] = $650; + HEAP32[(20016)>>2] = $649; + HEAP32[(20004)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21432)>>2]|0; - HEAP32[(20972)>>2] = $655; + $655 = HEAP32[(20480)>>2]|0; + HEAP32[(20020)>>2] = $655; } else { - $$024371$i = (21392); + $$024371$i = (20440); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42569,7 +36871,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(20956)>>2]|0; + $671 = HEAP32[(20004)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42580,30 +36882,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(20968)>>2] = $679; - HEAP32[(20956)>>2] = $681; + HEAP32[(20016)>>2] = $679; + HEAP32[(20004)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21432)>>2]|0; - HEAP32[(20972)>>2] = $686; + $686 = HEAP32[(20480)>>2]|0; + HEAP32[(20020)>>2] = $686; break; } } } - $687 = HEAP32[(20960)>>2]|0; + $687 = HEAP32[(20008)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(20960)>>2] = $$749$i; + HEAP32[(20008)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21392); + $$124470$i = (20440); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42658,21 +36960,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(20956)>>2]|0; + $726 = HEAP32[(20004)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(20956)>>2] = $727; - HEAP32[(20968)>>2] = $721; + HEAP32[(20004)>>2] = $727; + HEAP32[(20016)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(20964)>>2]|0; + $730 = HEAP32[(20012)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(20952)>>2]|0; + $732 = HEAP32[(20000)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(20952)>>2] = $733; - HEAP32[(20964)>>2] = $721; + HEAP32[(20000)>>2] = $733; + HEAP32[(20012)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42695,7 +36997,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (20984 + ($748<<2)|0); + $749 = (20032 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42718,9 +37020,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5236]|0; + $759 = HEAP32[4998]|0; $760 = $759 & $758; - HEAP32[5236] = $760; + HEAP32[4998] = $760; break; } $761 = ($747|0)==($749|0); @@ -42833,7 +37135,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21248 + ($796<<2)|0); + $797 = (20296 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42845,12 +37147,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(20948)>>2]|0; + $802 = HEAP32[(19996)>>2]|0; $803 = $802 & $801; - HEAP32[(20948)>>2] = $803; + HEAP32[(19996)>>2] = $803; break L314; } else { - $804 = HEAP32[(20960)>>2]|0; + $804 = HEAP32[(20008)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42871,7 +37173,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(20960)>>2]|0; + $810 = HEAP32[(20008)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42903,7 +37205,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(20960)>>2]|0; + $822 = HEAP32[(20008)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42936,21 +37238,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (20984 + ($836<<2)|0); - $838 = HEAP32[5236]|0; + $837 = (20032 + ($836<<2)|0); + $838 = HEAP32[4998]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5236] = $842; + HEAP32[4998] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20960)>>2]|0; + $845 = HEAP32[(20008)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -43005,20 +37307,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21248 + ($$0296$i$i<<2)|0); + $875 = (20296 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(20948)>>2]|0; + $879 = HEAP32[(19996)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(20948)>>2] = $883; + HEAP32[(19996)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -43057,7 +37359,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(20960)>>2]|0; + $902 = HEAP32[(20008)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -43076,7 +37378,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20960)>>2]|0; + $909 = HEAP32[(20008)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -43103,7 +37405,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21392); + $$0$i$i$i = (20440); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -43144,23 +37446,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(20968)>>2] = $946; - HEAP32[(20956)>>2] = $947; + HEAP32[(20016)>>2] = $946; + HEAP32[(20004)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21432)>>2]|0; - HEAP32[(20972)>>2] = $952; + $952 = HEAP32[(20480)>>2]|0; + HEAP32[(20020)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21392)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21392)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21392)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21392)+12>>2]|0; - HEAP32[(21392)>>2] = $$749$i; - HEAP32[(21396)>>2] = $$723948$i; - HEAP32[(21404)>>2] = 0; - HEAP32[(21400)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(20440)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20440)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20440)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20440)+12>>2]|0; + HEAP32[(20440)>>2] = $$749$i; + HEAP32[(20444)>>2] = $$723948$i; + HEAP32[(20452)>>2] = 0; + HEAP32[(20448)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -43189,20 +37491,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (20984 + ($968<<2)|0); - $970 = HEAP32[5236]|0; + $969 = (20032 + ($968<<2)|0); + $970 = HEAP32[4998]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5236] = $974; + HEAP32[4998] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20960)>>2]|0; + $977 = HEAP32[(20008)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -43254,19 +37556,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21248 + ($$0212$i$i<<2)|0); + $1007 = (20296 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20948)>>2]|0; + $1010 = HEAP32[(19996)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(20948)>>2] = $1014; + HEAP32[(19996)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -43305,7 +37607,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(20960)>>2]|0; + $1033 = HEAP32[(20008)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -43324,7 +37626,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20960)>>2]|0; + $1040 = HEAP32[(20008)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -43347,14 +37649,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(20956)>>2]|0; + $1048 = HEAP32[(20004)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(20956)>>2] = $1050; - $1051 = HEAP32[(20968)>>2]|0; + HEAP32[(20004)>>2] = $1050; + $1051 = HEAP32[(20016)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(20968)>>2] = $1052; + HEAP32[(20016)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -43397,7 +37699,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(20960)>>2]|0; + $3 = HEAP32[(20008)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -43430,7 +37732,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(20964)>>2]|0; + $19 = HEAP32[(20012)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -43445,7 +37747,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(20952)>>2] = $17; + HEAP32[(20000)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -43459,7 +37761,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (20984 + ($27<<2)|0); + $28 = (20032 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -43479,9 +37781,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5236]|0; + $37 = HEAP32[4998]|0; $38 = $37 & $36; - HEAP32[5236] = $38; + HEAP32[4998] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43595,7 +37897,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21248 + ($74<<2)|0); + $75 = (20296 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43605,14 +37907,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(20948)>>2]|0; + $80 = HEAP32[(19996)>>2]|0; $81 = $80 & $79; - HEAP32[(20948)>>2] = $81; + HEAP32[(19996)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(20960)>>2]|0; + $82 = HEAP32[(20008)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43634,7 +37936,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(20960)>>2]|0; + $88 = HEAP32[(20008)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43666,7 +37968,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(20960)>>2]|0; + $100 = HEAP32[(20008)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43701,14 +38003,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(20968)>>2]|0; + $120 = HEAP32[(20016)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(20964)>>2]|0; + $122 = HEAP32[(20012)>>2]|0; if ($121) { - $123 = HEAP32[(20956)>>2]|0; + $123 = HEAP32[(20004)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(20956)>>2] = $124; - HEAP32[(20968)>>2] = $$1; + HEAP32[(20004)>>2] = $124; + HEAP32[(20016)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43716,16 +38018,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(20964)>>2] = 0; - HEAP32[(20952)>>2] = 0; + HEAP32[(20012)>>2] = 0; + HEAP32[(20000)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(20952)>>2]|0; + $129 = HEAP32[(20000)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(20952)>>2] = $130; - HEAP32[(20964)>>2] = $113; + HEAP32[(20000)>>2] = $130; + HEAP32[(20012)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43744,10 +38046,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (20984 + ($142<<2)|0); + $143 = (20032 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(20960)>>2]|0; + $145 = HEAP32[(20008)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43765,9 +38067,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5236]|0; + $153 = HEAP32[4998]|0; $154 = $153 & $152; - HEAP32[5236] = $154; + HEAP32[4998] = $154; break; } $155 = ($141|0)==($143|0); @@ -43775,7 +38077,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(20960)>>2]|0; + $156 = HEAP32[(20008)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43835,7 +38137,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(20960)>>2]|0; + $189 = HEAP32[(20008)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43848,7 +38150,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20960)>>2]|0; + $169 = HEAP32[(20008)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43879,7 +38181,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21248 + ($193<<2)|0); + $194 = (20296 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43889,13 +38191,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(20948)>>2]|0; + $199 = HEAP32[(19996)>>2]|0; $200 = $199 & $198; - HEAP32[(20948)>>2] = $200; + HEAP32[(19996)>>2] = $200; break L108; } } else { - $201 = HEAP32[(20960)>>2]|0; + $201 = HEAP32[(20008)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43916,7 +38218,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(20960)>>2]|0; + $207 = HEAP32[(20008)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43946,7 +38248,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(20960)>>2]|0; + $219 = HEAP32[(20008)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43967,10 +38269,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(20964)>>2]|0; + $226 = HEAP32[(20012)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(20952)>>2] = $135; + HEAP32[(20000)>>2] = $135; return; } else { $$2 = $135; @@ -43989,20 +38291,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (20984 + ($234<<2)|0); - $236 = HEAP32[5236]|0; + $235 = (20032 + ($234<<2)|0); + $236 = HEAP32[4998]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5236] = $240; + HEAP32[4998] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20960)>>2]|0; + $243 = HEAP32[(20008)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -44054,21 +38356,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21248 + ($$0396<<2)|0); + $273 = (20296 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(20948)>>2]|0; + $277 = HEAP32[(19996)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(20948)>>2] = $281; + HEAP32[(19996)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -44106,7 +38408,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(20960)>>2]|0; + $300 = HEAP32[(20008)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -44125,7 +38427,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20960)>>2]|0; + $307 = HEAP32[(20008)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -44147,12 +38449,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(20976)>>2]|0; + $314 = HEAP32[(20024)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(20976)>>2] = $315; + HEAP32[(20024)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21400); + $$0212$in$i = (20448); } else { return; } @@ -44166,7 +38468,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(20976)>>2] = -1; + HEAP32[(20024)>>2] = -1; return; } function _calloc($0,$1) { @@ -45421,7 +39723,7 @@ var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_ var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,___stdio_write,___stdio_seek,___stdout_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_read,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8,b8,b8]; var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; diff --git a/docs/examples/web/audio/audio_raw_stream.js b/docs/examples/web/audio/audio_raw_stream.js index 6b38e6b1..6d540f31 100644 --- a/docs/examples/web/audio/audio_raw_stream.js +++ b/docs/examples/web/audio/audio_raw_stream.js @@ -1205,11 +1205,82 @@ 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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 '); } +if (!Module['reallocBuffer']) Module['reallocBuffer'] = function(size) { + var ret; + try { + if (ArrayBuffer.transfer) { + ret = ArrayBuffer.transfer(buffer, size); + } else { + var oldHEAP8 = HEAP8; + ret = new ArrayBuffer(size); + var temp = new Int8Array(ret); + temp.set(oldHEAP8); + } + } catch(e) { + return false; + } + var success = _emscripten_replace_memory(ret); + if (!success) return false; + return ret; +}; function enlargeMemory() { - abortOnCannotGrowMemory(); + // TOTAL_MEMORY is the current size of the actual array, and DYNAMICTOP is the new top. + assert(HEAP32[DYNAMICTOP_PTR>>2] > TOTAL_MEMORY); // This function should only ever be called after the ceiling of the dynamic heap has already been bumped to exceed the current total size of the asm.js heap. + + + var PAGE_MULTIPLE = Module["usingWasm"] ? WASM_PAGE_SIZE : ASMJS_PAGE_SIZE; // In wasm, heap size must be a multiple of 64KB. In asm.js, they need to be multiples of 16MB. + var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum. + + if (HEAP32[DYNAMICTOP_PTR>>2] > LIMIT) { + Module.printErr('Cannot enlarge memory, asked to go up to ' + HEAP32[DYNAMICTOP_PTR>>2] + ' bytes, but the limit is ' + LIMIT + ' bytes!'); + return false; + } + + var OLD_TOTAL_MEMORY = TOTAL_MEMORY; + TOTAL_MEMORY = Math.max(TOTAL_MEMORY, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB. + + while (TOTAL_MEMORY < HEAP32[DYNAMICTOP_PTR>>2]) { // Keep incrementing the heap size as long as it's less than what is requested. + if (TOTAL_MEMORY <= 536870912) { + TOTAL_MEMORY = alignUp(2 * TOTAL_MEMORY, PAGE_MULTIPLE); // Simple heuristic: double until 1GB... + } else { + TOTAL_MEMORY = Math.min(alignUp((3 * TOTAL_MEMORY + 2147483648) / 4, PAGE_MULTIPLE), LIMIT); // ..., but after that, add smaller increments towards 2GB, which we cannot reach + } + } + + var start = Date.now(); + + var replacement = Module['reallocBuffer'](TOTAL_MEMORY); + if (!replacement || replacement.byteLength != TOTAL_MEMORY) { + Module.printErr('Failed to grow the heap from ' + OLD_TOTAL_MEMORY + ' bytes to ' + TOTAL_MEMORY + ' bytes, not enough memory!'); + if (replacement) { + Module.printErr('Expected to get back a buffer of size ' + TOTAL_MEMORY + ' bytes, but instead got back a buffer of size ' + replacement.byteLength); + } + return false; + } + + // everything worked + + updateGlobalBuffer(replacement); + updateGlobalBufferViews(); + + Module.printErr('enlarged memory arrays from ' + OLD_TOTAL_MEMORY + ' to ' + TOTAL_MEMORY + ', took ' + (Date.now() - start) + ' ms (has ArrayBuffer.transfer? ' + (!!ArrayBuffer.transfer) + ')'); + + if (!Module["usingWasm"]) { + Module.printErr('Warning: Enlarging memory arrays, this is not fast! ' + [OLD_TOTAL_MEMORY, TOTAL_MEMORY]); + } + + + return true; } +var byteLength; +try { + byteLength = Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get); + byteLength(new ArrayBuffer(4)); // can fail on older ie +} catch(e) { // can fail on older node/v8 + byteLength = function(buffer) { return buffer.byteLength; }; +} var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880; var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216; @@ -7510,22 +7581,31 @@ function invoke_viiii(index,a1,a2,a3,a4) { } } -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.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity, "byteLength": byteLength }; Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_alBufferData": _alBufferData, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_alSource3f": _alSource3f, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_alcGetString": _alcGetString, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_alSourcePlay": _alSourcePlay, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_alcCreateContext": _alcCreateContext, "_glfwTerminate": _glfwTerminate, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_alGetSourcei": _alGetSourcei, "_glBufferSubData": _glBufferSubData, "_alcMakeContextCurrent": _alcMakeContextCurrent, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_alSourceQueueBuffers": _alSourceQueueBuffers, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_alcGetCurrentContext": _alcGetCurrentContext, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_alGenBuffers": _alGenBuffers, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_alDeleteSources": _alDeleteSources, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_alSourceUnqueueBuffers": _alSourceUnqueueBuffers, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_alGetError": _alGetError, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_glGetString": _glGetString, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_alSourcef": _alSourcef, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_glfwSwapInterval": _glfwSwapInterval, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_alcDestroyContext": _alcDestroyContext, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_alListenerf": _alListenerf, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_alSourceStop": _alSourceStop, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_alcCloseDevice": _alcCloseDevice, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_alcGetContextsDevice": _alcGetContextsDevice, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetCursorPos": _glfwGetCursorPos, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_alListener3f": _alListener3f, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_alDeleteBuffers": _alDeleteBuffers, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_alGenSources": _alGenSources, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_alcOpenDevice": _alcOpenDevice, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; // EMSCRIPTEN_START_ASM var asm = (function(global, env, buffer) { - 'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); + 'almost asm'; + + + var Int8View = global.Int8Array; + var Int16View = global.Int16Array; + var Int32View = global.Int32Array; + var Uint8View = global.Uint8Array; + var Uint16View = global.Uint16Array; + var Uint32View = global.Uint32Array; + var Float32View = global.Float32Array; + var Float64View = global.Float64Array; + var HEAP8 = new Int8View(buffer); + var HEAP16 = new Int16View(buffer); + var HEAP32 = new Int32View(buffer); + var HEAPU8 = new Uint8View(buffer); + var HEAPU16 = new Uint16View(buffer); + var HEAPU32 = new Uint32View(buffer); + var HEAPF32 = new Float32View(buffer); + var HEAPF64 = new Float64View(buffer); + var byteLength = global.byteLength; var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0; @@ -7918,6 +7998,20 @@ var asm = (function(global, env, buffer) { var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; var tempFloat = 0.0; +function _emscripten_replace_memory(newBuffer) { + if ((byteLength(newBuffer) & 0xffffff || byteLength(newBuffer) <= 0xffffff) || byteLength(newBuffer) > 0x80000000) return false; + HEAP8 = new Int8View(newBuffer); + HEAP16 = new Int16View(newBuffer); + HEAP32 = new Int32View(newBuffer); + HEAPU8 = new Uint8View(newBuffer); + HEAPU16 = new Uint16View(newBuffer); + HEAPU32 = new Uint32View(newBuffer); + HEAPF32 = new Float32View(newBuffer); + HEAPF64 = new Float64View(newBuffer); + buffer = newBuffer; + return true; +} + // EMSCRIPTEN_START_FUNCS function stackAlloc(size) { @@ -8094,6 +8188,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -8193,13 +8337,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -9150,45 +9287,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -24865,7 +24963,7 @@ var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, _emscripten_replace_memory: _emscripten_replace_memory, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; }) // EMSCRIPTEN_END_ASM (Module.asmGlobalArg, Module.asmLibraryArg, buffer); @@ -25061,6 +25159,7 @@ var _memmove = Module["_memmove"] = asm["_memmove"]; var _strstr = Module["_strstr"] = asm["_strstr"]; var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var _malloc = Module["_malloc"] = asm["_malloc"]; +var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; diff --git a/docs/examples/web/audio/audio_sound_loading.data b/docs/examples/web/audio/audio_sound_loading.data new file mode 100644 index 00000000..f8a9c027 Binary files /dev/null and b/docs/examples/web/audio/audio_sound_loading.data differ diff --git a/docs/examples/web/audio/audio_sound_loading.js b/docs/examples/web/audio/audio_sound_loading.js index 240e14f7..8ace4af8 100644 --- a/docs/examples/web/audio/audio_sound_loading.js +++ b/docs/examples/web/audio/audio_sound_loading.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'audio/audio_sound_loading.data'; + var REMOTE_PACKAGE_BASE = 'audio_sound_loading.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_audio/audio_sound_loading.data'); + + }; + Module['addRunDependency']('datafile_audio/audio_sound_loading.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 1, "start": 0, "crunched": 0, "end": 6246, "filename": "/resources/weird.wav"}, {"audio": 1, "start": 6246, "crunched": 0, "end": 63574, "filename": "/resources/tanatana.ogg"}], "remote_package_size": 63574, "package_uuid": "68f841aa-743f-48ff-b28d-eb8c71787251"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1592,7 +1780,7 @@ STATICTOP = STATIC_BASE + 24256; /* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,1,0,0,128,0,0,0,86,0,0,0,64,0,0,0,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,79,103,103,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,18,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,187,90,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,18,0,0,114,97,121,108,105,98,32,91,97,117,100,105,111,93,32,101,120,97,109,112,108,101,32,45,32,115,111,117,110,100,32,108,111,97,100,105,110,103,32,97,110,100,32,112,108,97,121,105,110,103,0,114,101,115,111,117,114,99,101,115,47,119,101,105,114,100,46,119,97,118,0,114,101,115,111,117,114,99,101,115,47,116,97,110,97,116,97,110,97,46,111,103,103,0,80,114,101,115,115,32,83,80,65,67,69,32,116,111,32,80,76,65,89,32,116,104,101,32,87,65,86,32,115,111,117,110,100,33,0,80,114,101,115,115,32,69,78,84,69,82,32,116,111,32,80,76,65,89,32,116,104,101,32,79,71,71,32,115,111,117,110,100,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,114,98,0,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,111,117,108,100,32,110,111,116,32,105,110,105,116,105,97,108,105,122,101,32,97,117,100,105,111,32,99,111,110,116,101,120,116,0,65,117,100,105,111,32,100,101,118,105,99,101,32,97,110,100,32,99,111,110,116,101,120,116,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,58,32,37,115,0,67,111,117,108,100,32,110,111,116,32,103,101,116,32,99,117,114,114,101,110,116,32,97,117,100,105,111,32,99,111,110,116,101,120,116,32,102,111,114,32,99,108,111,115,105,110,103,0,65,117,100,105,111,32,100,101,118,105,99,101,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,46,119,97,118,0,46,111,103,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,119,97,118,101,32,100,97,116,97,0,91,37,115,93,32,65,117,100,105,111,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,105,116,32,99,97,110,39,116,32,98,101,32,108,111,97,100,101,100,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,79,103,103,32,97,117,100,105,111,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,49,48,32,115,101,99,111,110,100,115,32,40,37,102,41,44,32,116,104,97,116,39,115,32,97,32,98,105,103,32,102,105,108,101,32,105,110,32,109,101,109,111,114,121,44,32,99,111,110,115,105,100,101,114,32,109,117,115,105,99,32,115,116,114,101,97,109,105,110,103,0,91,37,115,93,32,83,97,109,112,108,101,115,32,111,98,116,97,105,110,101,100,58,32,37,105,0,77,111,110,111,0,83,116,101,114,101,111,0,91,37,115,93,32,79,71,71,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,48,0,101,120,116,101,114,110,97,108,47,115,116,98,95,118,111,114,98,105,115,46,99,0,103,101,116,95,119,105,110,100,111,119,0,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,32,61,61,32,102,45,62,116,101,109,112,95,111,102,102,115,101,116,0,118,111,114,98,105,115,95,100,101,99,111,100,101,95,112,97,99,107,101,116,95,114,101,115,116,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,62,32,48,0,103,101,116,56,95,112,97,99,107,101,116,95,114,97,119,0,102,45,62,98,121,116,101,115,95,105,110,95,115,101,103,32,61,61,32,48,0,110,101,120,116,95,115,101,103,109,101,110,116,0,40,110,32,38,32,51,41,32,61,61,32,48,0,105,109,100,99,116,95,115,116,101,112,51,95,105,116,101,114,48,95,108,111,111,112,0,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,116,97,114,116,0,33,99,45,62,115,112,97,114,115,101,32,124,124,32,122,32,60,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,100,101,105,110,116,101,114,108,101,97,118,101,95,114,101,112,101,97,116,0,33,99,45,62,115,112,97,114,115,101,0,99,111,100,101,98,111,111,107,95,100,101,99,111,100,101,95,115,99,97,108,97,114,95,114,97,119,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,118,111,114,98,105,115,95,100,101,99,111,100,101,95,105,110,105,116,105,97,108,0,98,117,102,95,99,32,61,61,32,50,0,99,111,110,118,101,114,116,95,99,104,97,110,110,101,108,115,95,115,104,111,114,116,95,105,110,116,101,114,108,101,97,118,101,100,0,0,0,0,0,0,0,7,0,0,0,0,0,3,5,0,0,0,0,3,7,5,0,0,0,3,5,3,5,0,0,3,7,5,3,5,0,3,7,5,3,5,7,102,45,62,116,101,109,112,95,111,102,102,115,101,116,32,61,61,32,102,45,62,97,108,108,111,99,46,97,108,108,111,99,95,98,117,102,102,101,114,95,108,101,110,103,116,104,95,105,110,95,98,121,116,101,115,0,115,116,97,114,116,95,100,101,99,111,100,101,114,0,112,111,119,40,40,102,108,111,97,116,41,32,114,43,49,44,32,100,105,109,41,32,62,32,101,110,116,114,105,101,115,0,108,111,111,107,117,112,49,95,118,97,108,117,101,115,0,40,105,110,116,41,32,102,108,111,111,114,40,112,111,119,40,40,102,108,111,97,116,41,32,114,44,32,100,105,109,41,41,32,60,61,32,101,110,116,114,105,101,115,0,107,32,61,61,32,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,0,99,111,109,112,117,116,101,95,115,111,114,116,101,100,95,104,117,102,102,109,97,110,0,99,45,62,115,111,114,116,101,100,95,99,111,100,101,119,111,114,100,115,91,120,93,32,61,61,32,99,111,100,101,0,108,101,110,32,33,61,32,78,79,95,67,79,68,69,0,105,110,99,108,117,100,101,95,105,110,95,115,111,114,116,0,99,45,62,115,111,114,116,101,100,95,101,110,116,114,105,101,115,32,61,61,32,48,0,99,111,109,112,117,116,101,95,99,111,100,101,119,111,114,100,115,0,122,32,62,61,32,48,32,38,38,32,122,32,60,32,51,50,0,108,101,110,91,105,93,32,62,61,32,48,32,38,38,32,108,101,110,91,105,93,32,60,32,51,50,0,97,118,97,105,108,97,98,108,101,91,121,93,32,61,61,32,48,0,118,111,114,98,105,115,114,98,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,82,73,70,70,0,87,65,86,69,0,91,37,115,93,32,73,110,118,97,108,105,100,32,82,73,70,70,32,111,114,32,87,65,86,69,32,72,101,97,100,101,114,0,91,37,115,93,32,73,110,118,97,108,105,100,32,87,97,118,101,32,102,111,114,109,97,116,0,91,37,115,93,32,73,110,118,97,108,105,100,32,100,97,116,97,32,104,101,97,100,101,114,0,91,37,115,93,32,87,65,86,32,115,97,109,112,108,101,32,115,105,122,101,32,40,37,105,98,105,116,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,49,54,98,105,116,0,91,37,115,93,32,87,65,86,32,99,104,97,110,110,101,108,115,32,110,117,109,98,101,114,32,40,37,105,41,32,110,111,116,32,115,117,112,112,111,114,116,101,100,44,32,99,111,110,118,101,114,116,101,100,32,116,111,32,50,32,99,104,97,110,110,101,108,115,0,91,37,115,93,32,87,65,86,32,102,105,108,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,85,110,108,111,97,100,101,100,32,119,97,118,101,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,87,97,118,101,32,115,97,109,112,108,101,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,87,97,118,101,32,110,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,58,32,37,105,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,83,111,117,110,100,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,32,72,122,44,32,37,105,32,98,105,116,44,32,37,115,41,0,91,83,78,68,32,73,68,32,37,105,93,91,66,85,70,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,111,117,110,100,32,100,97,116,97,32,102,114,111,109,32,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -11089,6 +11277,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -11188,13 +11426,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -12145,45 +12376,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -16828,7 +17020,7 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11451)|0); + $4 = (_fopen($0,11829)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; @@ -20570,7 +20762,7 @@ function _LoadWAV($0,$1) { $4 = sp + 88|0; $5 = sp + 64|0; ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0;HEAP32[$5+12>>2]=0|0;HEAP32[$5+16>>2]=0|0; - $6 = (_fopen($1,11451)|0); + $6 = (_fopen($1,11829)|0); $7 = ($6|0)==(0|0); if ($7) { HEAP32[$vararg_buffer>>2] = $1; @@ -21224,7 +21416,7 @@ function _stb_vorbis_open_filename($0,$1,$2) { $2 = $2|0; var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = (_fopen($0,11451)|0); + $3 = (_fopen($0,11829)|0); $4 = ($3|0)==(0|0); if ($4) { $6 = ($1|0)==(0|0); @@ -21712,7 +21904,7 @@ function _convert_channels_short_interleaved($0,$1,$2,$3,$4,$5) { if ($9) { $$04956 = 0; } else { - ___assert_fail((11363|0),(10950|0),4749,(11374|0)); + ___assert_fail((11363|0),(10950|0),4759,(11374|0)); // unreachable; } while(1) { @@ -22048,7 +22240,7 @@ function _get_window($0,$1) { if ($8) { $$sink = 1; } else { - ___assert_fail((10948|0),(10950|0),2655,(10972|0)); + ___assert_fail((10948|0),(10950|0),2658,(10972|0)); // unreachable; } } @@ -22131,7 +22323,7 @@ function _vorbis_decode_initial($0,$1,$2,$3,$4,$5) { $28 = HEAP32[$27>>2]|0; $29 = ($26|0)==($28|0); if (!($29)) { - ___assert_fail((10983|0),(10950|0),2734,(11341|0)); + ___assert_fail((10983|0),(10950|0),2737,(11341|0)); // unreachable; } } @@ -22626,7 +22818,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $223 = HEAP32[$222>>2]|0; $224 = ($221|0)==($223|0); if (!($224)) { - ___assert_fail((10983|0),(10950|0),2883,(11039|0)); + ___assert_fail((10983|0),(10950|0),2886,(11039|0)); // unreachable; } } @@ -22750,7 +22942,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $281 = HEAP32[$280>>2]|0; $282 = ($279|0)==($281|0); if (!($282)) { - ___assert_fail((10983|0),(10950|0),2916,(11039|0)); + ___assert_fail((10983|0),(10950|0),2919,(11039|0)); // unreachable; } } @@ -22979,7 +23171,7 @@ function _vorbis_decode_packet_rest($0,$1,$2,$3,$4,$5,$6) { $390 = HEAP32[$389>>2]|0; $391 = ($388|0)==($390|0); if (!($391)) { - ___assert_fail((10983|0),(10950|0),3032,(11039|0)); + ___assert_fail((10983|0),(10950|0),3035,(11039|0)); // unreachable; } } @@ -23071,69 +23263,82 @@ function _get_bits($0,$1) { function _ilog($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 $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, label = 0, sp = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = ($0|0)<(16384); + $1 = ($0|0)<(0); if ($1) { - $2 = ($0|0)<(16); - if ($2) { - $3 = (11325 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = $4 << 24 >> 24; - $$0 = $5; + $$0 = 0; + return ($$0|0); + } + $2 = ($0|0)<(16384); + if ($2) { + $3 = ($0|0)<(16); + if ($3) { + $4 = (11325 + ($0)|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5 << 24 >> 24; + $$0 = $6; return ($$0|0); } - $6 = ($0|0)<(512); - if ($6) { - $7 = $0 >>> 5; - $8 = (11325 + ($7)|0); - $9 = HEAP8[$8>>0]|0; - $10 = $9 << 24 >> 24; - $11 = (($10) + 5)|0; - $$0 = $11; + $7 = ($0|0)<(512); + if ($7) { + $8 = $0 >>> 5; + $9 = (11325 + ($8)|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10 << 24 >> 24; + $12 = (($11) + 5)|0; + $$0 = $12; return ($$0|0); } else { - $12 = $0 >>> 10; - $13 = (11325 + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14 << 24 >> 24; - $16 = (($15) + 10)|0; - $$0 = $16; + $13 = $0 >>> 10; + $14 = (11325 + ($13)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15 << 24 >> 24; + $17 = (($16) + 10)|0; + $$0 = $17; return ($$0|0); } } - $17 = ($0|0)<(16777216); - if (!($17)) { - $29 = ($0|0)<(536870912); - if (!($29)) { - $$0 = 0; + $18 = ($0|0)<(16777216); + if ($18) { + $19 = ($0|0)<(524288); + if ($19) { + $20 = $0 >>> 15; + $21 = (11325 + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22 << 24 >> 24; + $24 = (($23) + 15)|0; + $$0 = $24; + return ($$0|0); + } else { + $25 = $0 >>> 20; + $26 = (11325 + ($25)|0); + $27 = HEAP8[$26>>0]|0; + $28 = $27 << 24 >> 24; + $29 = (($28) + 20)|0; + $$0 = $29; return ($$0|0); } - $30 = $0 >>> 25; - $31 = (11325 + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = $32 << 24 >> 24; - $34 = (($33) + 25)|0; - $$0 = $34; - return ($$0|0); - } - $18 = ($0|0)<(524288); - if ($18) { - $19 = $0 >>> 15; - $20 = (11325 + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21 << 24 >> 24; - $23 = (($22) + 15)|0; - $$0 = $23; - return ($$0|0); } else { - $24 = $0 >>> 20; - $25 = (11325 + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = $26 << 24 >> 24; - $28 = (($27) + 20)|0; - $$0 = $28; - return ($$0|0); + $30 = ($0|0)<(536870912); + if ($30) { + $31 = $0 >>> 25; + $32 = (11325 + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33 << 24 >> 24; + $35 = (($34) + 25)|0; + $$0 = $35; + return ($$0|0); + } else { + $36 = $0 >>> 30; + $37 = (11325 + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = $38 << 24 >> 24; + $40 = (($39) + 30)|0; + $$0 = $40; + return ($$0|0); + } } return (0)|0; } @@ -23297,7 +23502,7 @@ function _codebook_decode_scalar_raw($0,$1) { $50 = HEAP8[$49>>0]|0; $51 = ($50<<24>>24)==(0); if (!($51)) { - ___assert_fail((11287|0),(10950|0),1251,(11298|0)); + ___assert_fail((11287|0),(10950|0),1254,(11298|0)); // unreachable; } $52 = HEAP32[$8>>2]|0; @@ -24847,7 +25052,7 @@ function _get8_packet_raw($0) { $$pr = HEAP8[$1>>0]|0; $9 = ($$pr<<24>>24)==(0); if ($9) { - ___assert_fail((11065|0),(10950|0),1135,(11085|0)); + ___assert_fail((11065|0),(10950|0),1138,(11085|0)); // unreachable; } else { $11 = $$pr; @@ -24926,7 +25131,7 @@ function _next_segment($0) { $28 = HEAP8[$27>>0]|0; $29 = ($28<<24>>24)==(0); if (!($29)) { - ___assert_fail((11101|0),(10950|0),1121,(11122|0)); + ___assert_fail((11101|0),(10950|0),1124,(11122|0)); // unreachable; } HEAP8[$27>>0] = $20; @@ -25234,7 +25439,7 @@ function _imdct_step3_iter0_loop($0,$1,$2,$3,$4) { $6 = $0 & 3; $7 = ($6|0)==(0); if (!($7)) { - ___assert_fail((11135|0),(10950|0),2004,(11148|0)); + ___assert_fail((11135|0),(10950|0),2007,(11148|0)); // unreachable; } $8 = $0 >> 2; @@ -26090,7 +26295,7 @@ function _codebook_decode_deinterleave_repeat($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 12) { - ___assert_fail((11215|0),(10950|0),1433,(11251|0)); + ___assert_fail((11215|0),(10950|0),1436,(11251|0)); // unreachable; } $46 = ((($0)) + 1376|0); @@ -26387,7 +26592,7 @@ function _codebook_decode_start($0,$1) { $29 = HEAP32[$28>>2]|0; $30 = ($$1|0)<($29|0); if (!($30)) { - ___assert_fail((11171|0),(10950|0),1339,(11193|0)); + ___assert_fail((11171|0),(10950|0),1342,(11193|0)); // unreachable; } } @@ -27252,7 +27457,7 @@ function _stb_vorbis_open_file_section($0,$1,$2,$3,$4) { $14 = ($13|0)==(0|0); if (!($14)) { _memcpy(($13|0),($5|0),1512)|0; - _vorbis_pump_first_frame($13); + (_vorbis_pump_first_frame($13)|0); $$0 = $13; STACKTOP = sp;return ($$0|0); } @@ -29513,7 +29718,7 @@ function _start_decoder($0) { $868 = HEAP32[$867>>2]|0; $869 = ($866|0)==($868|0); if (!($869)) { - ___assert_fail((11454|0),(10950|0),3709,(11510|0)); + ___assert_fail((11451|0),(10950|0),3714,(11507|0)); // unreachable; } $870 = ((($0)) + 88|0); @@ -29554,13 +29759,13 @@ function _vorbis_pump_first_frame($0) { $4 = (_vorbis_decode_packet($0,$1,$3,$2)|0); $5 = ($4|0)==(0); if ($5) { - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } $6 = HEAP32[$1>>2]|0; $7 = HEAP32[$3>>2]|0; $8 = HEAP32[$2>>2]|0; (_vorbis_finish_frame($0,$6,$7,$8)|0); - STACKTOP = sp;return; + STACKTOP = sp;return ($4|0); } function _setup_malloc($0,$1) { $0 = $0|0; @@ -29607,7 +29812,7 @@ function _vorbis_validate($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (_memcmp($0,11826,6)|0); + $1 = (_memcmp($0,11823,6)|0); $2 = ($1|0)==(0); $3 = $2&1; return ($3|0); @@ -29985,7 +30190,7 @@ function _compute_codewords($0,$1,$2,$3) { $$2 = 1; STACKTOP = sp;return ($$2|0); } else { - ___assert_fail((11723|0),(10950|0),662,(11746|0)); + ___assert_fail((11720|0),(10950|0),665,(11743|0)); // unreachable; } } @@ -30118,15 +30323,15 @@ function _compute_codewords($0,$1,$2,$3) { } } if ((label|0) == 17) { - ___assert_fail((11764|0),(10950|0),685,(11746|0)); + ___assert_fail((11761|0),(10950|0),688,(11743|0)); // unreachable; } else if ((label|0) == 21) { - ___assert_fail((11781|0),(10950|0),690,(11746|0)); + ___assert_fail((11778|0),(10950|0),693,(11743|0)); // unreachable; } else if ((label|0) == 23) { - ___assert_fail((11808|0),(10950|0),692,(11746|0)); + ___assert_fail((11805|0),(10950|0),695,(11743|0)); // unreachable; } else if ((label|0) == 25) { @@ -30191,7 +30396,7 @@ function _compute_sorted_huffman($0,$1,$2) { $33 = HEAP32[$32>>2]|0; $34 = ($$084$lcssa|0)==($33|0); if (!($34)) { - ___assert_fail((11615|0),(10950|0),759,(11638|0)); + ___assert_fail((11612|0),(10950|0),762,(11635|0)); // unreachable; } } else { @@ -30325,7 +30530,7 @@ function _compute_sorted_huffman($0,$1,$2) { } } if ((label|0) == 21) { - ___assert_fail((11661|0),(10950|0),789,(11638|0)); + ___assert_fail((11658|0),(10950|0),792,(11635|0)); // unreachable; } else if ((label|0) == 26) { @@ -30460,7 +30665,7 @@ function _lookup1_values($0,$1) { $24 = (+($0|0)); $25 = $23 > $24; if (!($25)) { - ___assert_fail((11524|0),(10950|0),814,(11556|0)); + ___assert_fail((11521|0),(10950|0),817,(11553|0)); // unreachable; } $26 = $20; @@ -30469,7 +30674,7 @@ function _lookup1_values($0,$1) { $29 = (~~(($28))); $30 = ($29|0)>($0|0); if ($30) { - ___assert_fail((11571|0),(10950|0),815,(11556|0)); + ___assert_fail((11568|0),(10950|0),818,(11553|0)); // unreachable; } else { return ($$|0); @@ -30781,7 +30986,7 @@ function _include_in_sort($0,$1) { return ($$$|0); } if ($5) { - ___assert_fail((11692|0),(10950|0),739,(11707|0)); + ___assert_fail((11689|0),(10950|0),742,(11704|0)); // unreachable; } else { return 1; diff --git a/docs/examples/web/core/core_2d_camera.js b/docs/examples/web/core/core_2d_camera.js index 7215991c..c8f52ab5 100644 --- a/docs/examples/web/core/core_2d_camera.js +++ b/docs/examples/web/core/core_2d_camera.js @@ -7541,6 +7541,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7640,13 +7690,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8597,45 +8640,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_3d_camera_first_person.js b/docs/examples/web/core/core_3d_camera_first_person.js index b436e2cc..8ffd215f 100644 --- a/docs/examples/web/core/core_3d_camera_first_person.js +++ b/docs/examples/web/core/core_3d_camera_first_person.js @@ -7407,30 +7407,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7565,13 +7615,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8694,45 +8737,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_3d_camera_free.js b/docs/examples/web/core/core_3d_camera_free.js index 7e0492c7..c47a9300 100644 --- a/docs/examples/web/core/core_3d_camera_free.js +++ b/docs/examples/web/core/core_3d_camera_free.js @@ -7319,30 +7319,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7477,13 +7527,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8606,45 +8649,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_3d_mode.js b/docs/examples/web/core/core_3d_mode.js index 5e2694f2..586523d8 100644 --- a/docs/examples/web/core/core_3d_mode.js +++ b/docs/examples/web/core/core_3d_mode.js @@ -7226,30 +7226,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7384,13 +7434,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8513,45 +8556,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_3d_picking.js b/docs/examples/web/core/core_3d_picking.js index e57a9027..bede3216 100644 --- a/docs/examples/web/core/core_3d_picking.js +++ b/docs/examples/web/core/core_3d_picking.js @@ -7390,30 +7390,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7548,13 +7598,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8982,45 +9025,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_basic_window.js b/docs/examples/web/core/core_basic_window.js index aa5dd7f3..c91e59a9 100644 --- a/docs/examples/web/core/core_basic_window.js +++ b/docs/examples/web/core/core_basic_window.js @@ -7190,6 +7190,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7289,13 +7339,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8246,45 +8289,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_color_select.js b/docs/examples/web/core/core_color_select.js index ee9cc089..71fd0cde 100644 --- a/docs/examples/web/core/core_color_select.js +++ b/docs/examples/web/core/core_color_select.js @@ -7327,6 +7327,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorTransform($0,$1) { $0 = $0|0; $1 = $1|0; @@ -7385,13 +7435,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8126,45 +8169,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_gestures_detection.js b/docs/examples/web/core/core_gestures_detection.js index b873dd24..8079be19 100644 --- a/docs/examples/web/core/core_gestures_detection.js +++ b/docs/examples/web/core/core_gestures_detection.js @@ -7477,6 +7477,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7576,13 +7626,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8533,45 +8576,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_input_gamepad.js b/docs/examples/web/core/core_input_gamepad.js index 9307e124..42e72549 100644 --- a/docs/examples/web/core/core_input_gamepad.js +++ b/docs/examples/web/core/core_input_gamepad.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 19345, "filename": "/resources/ps3.png"}, {"audio": 0, "start": 19345, "crunched": 0, "end": 35522, "filename": "/resources/xbox.png"}], "remote_package_size": 35522, "package_uuid": "29c15fea-3ce8-47b7-b6e2-bef9193ab6d3"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 19345, "filename": "/resources/ps3.png"}, {"audio": 0, "start": 19345, "crunched": 0, "end": 35522, "filename": "/resources/xbox.png"}], "remote_package_size": 35522, "package_uuid": "b936cb1a-6a6f-4da0-8fc1-94233d0138ba"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22288; +STATICTOP = STATIC_BASE + 22272; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,99,111,114,101,93,32,101,120,97,109,112,108,101,32,45,32,103,97,109,101,112,97,100,32,105,110,112,117,116,0,114,101,115,111,117,114,99,101,115,47,112,115,51,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,120,98,111,120,46,112,110,103,0,71,80,49,58,32,37,115,0,88,98,111,120,32,51,54,48,32,67,111,110,116,114,111,108,108,101,114,0,80,76,65,89,83,84,65,84,73,79,78,40,82,41,51,32,67,111,110,116,114,111,108,108,101,114,0,45,32,71,69,78,69,82,73,67,32,71,65,77,69,80,65,68,32,45,0,68,69,84,69,67,84,69,68,32,65,88,73,83,32,91,37,105,93,58,0,65,88,73,83,32,37,105,58,32,37,46,48,50,102,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,37,105,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,78,79,78,69,0,71,80,49,58,32,78,79,84,32,68,69,84,69,67,84,69,68,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,251,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,99,111,114,101,93,32,101,120,97,109,112,108,101,32,45,32,103,97,109,101,112,97,100,32,105,110,112,117,116,0,114,101,115,111,117,114,99,101,115,47,112,115,51,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,120,98,111,120,46,112,110,103,0,71,80,49,58,32,37,115,0,88,98,111,120,32,51,54,48,32,67,111,110,116,114,111,108,108,101,114,0,80,76,65,89,83,84,65,84,73,79,78,40,82,41,51,32,67,111,110,116,114,111,108,108,101,114,0,45,32,71,69,78,69,82,73,67,32,71,65,77,69,80,65,68,32,45,0,68,69,84,69,67,84,69,68,32,65,88,73,83,32,91,37,105,93,58,0,65,88,73,83,32,37,105,58,32,37,46,48,50,102,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,37,105,0,68,69,84,69,67,84,69,68,32,66,85,84,84,79,78,58,32,78,79,78,69,0,71,80,49,58,32,78,79,84,32,68,69,84,69,67,84,69,68,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10471,13 +10471,13 @@ function _main() { $3 = HEAP32[3]|0; _InitWindow($2,$3,4120); _LoadTexture($0,4158); - ;HEAP32[16672>>2]=HEAP32[$0>>2]|0;HEAP32[16672+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16672+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16672+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16672+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[16984>>2]=HEAP32[$0>>2]|0;HEAP32[16984+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16984+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16984+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16984+16>>2]=HEAP32[$0+16>>2]|0; _LoadTexture($1,4176); - ;HEAP32[16692>>2]=HEAP32[$1>>2]|0;HEAP32[16692+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16692+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16692+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16692+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17004>>2]=HEAP32[$1>>2]|0;HEAP32[17004+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17004+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17004+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17004+16>>2]=HEAP32[$1+16>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[16672>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[16672+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[16672+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[16672+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[16672+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[16984>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[16984+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[16984+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[16984+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[16984+16>>2]|0; _UnloadTexture($texXboxPad$byval_copy); - ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[16692>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[16692+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy>>2]=HEAP32[17004>>2]|0;HEAP32[$texXboxPad$byval_copy+4>>2]=HEAP32[17004+4>>2]|0;HEAP32[$texXboxPad$byval_copy+8>>2]=HEAP32[17004+8>>2]|0;HEAP32[$texXboxPad$byval_copy+12>>2]=HEAP32[17004+12>>2]|0;HEAP32[$texXboxPad$byval_copy+16>>2]=HEAP32[17004+16>>2]|0; _UnloadTexture($texXboxPad$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10605,7 +10605,7 @@ function _UpdateDrawFrame() { HEAP8[$376>>0] = -56; $377 = ((($63)) + 3|0); HEAP8[$377>>0] = -1; - ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16692>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16692+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[17004>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[17004+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[17004+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[17004+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[17004+16>>2]|0; ;HEAP8[$$byval_copy74>>0]=HEAP8[$63>>0]|0;HEAP8[$$byval_copy74+1>>0]=HEAP8[$63+1>>0]|0;HEAP8[$$byval_copy74+2>>0]=HEAP8[$63+2>>0]|0;HEAP8[$$byval_copy74+3>>0]=HEAP8[$63+3>>0]|0; _DrawTexture($texXboxPad$byval_copy73,0,0,$$byval_copy74); _EndDrawing(); @@ -10648,7 +10648,7 @@ function _UpdateDrawFrame() { HEAP8[$209>>0] = 80; $210 = ((($28)) + 3|0); HEAP8[$210>>0] = -1; - ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16672>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16672+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16672+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16672+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16672+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16984>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16984+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16984+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16984+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16984+16>>2]|0; ;HEAP8[$$byval_copy74>>0]=HEAP8[$28>>0]|0;HEAP8[$$byval_copy74+1>>0]=HEAP8[$28+1>>0]|0;HEAP8[$$byval_copy74+2>>0]=HEAP8[$28+2>>0]|0;HEAP8[$$byval_copy74+3>>0]=HEAP8[$28+3>>0]|0; _DrawTexture($texXboxPad$byval_copy73,0,0,$$byval_copy74); $211 = (_IsGamepadButtonDown(0,12)|0); @@ -10974,7 +10974,7 @@ function _UpdateDrawFrame() { HEAP8[$77>>0] = 80; $78 = ((($2)) + 3|0); HEAP8[$78>>0] = -1; - ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[16692>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[16692+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[16692+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[16692+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[16692+16>>2]|0; + ;HEAP32[$texXboxPad$byval_copy73>>2]=HEAP32[17004>>2]|0;HEAP32[$texXboxPad$byval_copy73+4>>2]=HEAP32[17004+4>>2]|0;HEAP32[$texXboxPad$byval_copy73+8>>2]=HEAP32[17004+8>>2]|0;HEAP32[$texXboxPad$byval_copy73+12>>2]=HEAP32[17004+12>>2]|0;HEAP32[$texXboxPad$byval_copy73+16>>2]=HEAP32[17004+16>>2]|0; ;HEAP8[$$byval_copy74>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy74+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy74+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy74+3>>0]=HEAP8[$2+3>>0]|0; _DrawTexture($texXboxPad$byval_copy73,0,0,$$byval_copy74); $79 = (_IsGamepadButtonDown(0,8)|0); @@ -11357,6 +11357,56 @@ function _UpdateDrawFrame() { STACKTOP = sp;return; } } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -11456,13 +11506,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -12072,7 +12115,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4179] = $2; + HEAP32[4257] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -12085,7 +12128,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16400; + $95 = 16712; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -12098,48 +12141,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16440; + $106 = 16752; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4110]; - $111 = +HEAPF32[4100]; + $110 = +HEAPF32[4188]; + $111 = +HEAPF32[4178]; $112 = $110 - $111; - HEAPF32[4112] = $112; - $113 = +HEAPF32[(16444)>>2]; - $114 = +HEAPF32[(16404)>>2]; + HEAPF32[4190] = $112; + $113 = +HEAPF32[(16756)>>2]; + $114 = +HEAPF32[(16716)>>2]; $115 = $113 - $114; - HEAPF32[(16452)>>2] = $115; - HEAP32[4178] = 4; + HEAPF32[(16764)>>2] = $115; + HEAP32[4256] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16432+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16744+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4184] = $116; - $117 = 16432; + HEAPF32[4262] = $116; + $117 = 16744; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16400; + $123 = 16712; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16456; + $127 = 16768; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16440; + $133 = 16752; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12152,7 +12195,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16432; + $144 = 16744; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12165,27 +12208,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16456; + $155 = 16768; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4114]; - $160 = +HEAPF32[4108]; + $159 = +HEAPF32[4192]; + $160 = +HEAPF32[4186]; $161 = $159 - $160; - HEAPF32[4112] = $161; - $162 = +HEAPF32[(16460)>>2]; - $163 = +HEAPF32[(16436)>>2]; + HEAPF32[4190] = $161; + $162 = +HEAPF32[(16772)>>2]; + $163 = +HEAPF32[(16748)>>2]; $164 = $162 - $163; - HEAPF32[(16452)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16432+4>>2]|0; + HEAPF32[(16764)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16744+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12197,31 +12240,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16432+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16744+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4184]; + $170 = +HEAPF32[4262]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4178] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16432+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; + HEAP32[4256] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16744+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16768+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4185] = $174; + HEAPF32[4263] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4184] = 0.0; - HEAPF32[4185] = 0.0; - HEAPF32[4112] = 0.0; - HEAPF32[(16452)>>2] = 0.0; - HEAP32[4179] = 0; - HEAP32[4178] = 0; + HEAPF32[4262] = 0.0; + HEAPF32[4263] = 0.0; + HEAPF32[4190] = 0.0; + HEAPF32[(16764)>>2] = 0.0; + HEAP32[4257] = 0; + HEAP32[4256] = 0; STACKTOP = sp;return; break; } @@ -12231,22 +12274,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4180]|0; + $6 = HEAP32[4258]|0; $7 = (($6) + 1)|0; - HEAP32[4180] = $7; - $8 = HEAP32[4178]|0; + HEAP32[4258] = $7; + $8 = HEAP32[4256]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4178] = 2; - HEAP32[4180] = 0; + HEAP32[4256] = 2; + HEAP32[4258] = 0; } else { label = 6; } @@ -12254,8 +12297,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4180] = 1; - HEAP32[4178] = 1; + HEAP32[4258] = 1; + HEAP32[4256] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12264,19 +12307,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16400; + $21 = 16712; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16408; + $25 = 16720; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16416; + $29 = 16728; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12285,13 +12328,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4106] = 0.0; - HEAPF32[(16428)>>2] = 0.0; + HEAPF32[4184] = 0.0; + HEAPF32[(16740)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4178]|0; + $35 = HEAP32[4256]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12301,19 +12344,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16416; + $44 = 16728; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16416>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16416+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4181] = $49; - HEAP32[4182] = 0; + HEAPF32[4259] = $49; + HEAP32[4260] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -12321,11 +12364,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16416>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16416+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4183] = $56; + HEAPF32[4261] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12356,22 +12399,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4181] = 0.0; - HEAPF32[4183] = 0.0; + HEAPF32[4259] = 0.0; + HEAPF32[4261] = 0.0; $$sink10 = 0; } - HEAP32[4178] = $$sink10; - HEAPF32[4102] = 0.0; - HEAPF32[(16412)>>2] = 0.0; - HEAP32[4179] = 0; + HEAP32[4256] = $$sink10; + HEAPF32[4180] = 0.0; + HEAPF32[(16724)>>2] = 0.0; + HEAP32[4257] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4182]|0; + $65 = HEAP32[4260]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4182] = 1; + HEAP32[4260] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12380,31 +12423,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16432; + $74 = 16744; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4178]|0; + $78 = HEAP32[4256]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16400+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16432>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16432+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16744>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16744+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4178] = 8; + HEAP32[4256] = 8; } } - $82 = +HEAPF32[4108]; - $83 = +HEAPF32[4102]; + $82 = +HEAPF32[4186]; + $83 = +HEAPF32[4180]; $84 = $82 - $83; - HEAPF32[4106] = $84; - $85 = +HEAPF32[(16436)>>2]; - $86 = +HEAPF32[(16412)>>2]; + HEAPF32[4184] = $84; + $85 = +HEAPF32[(16748)>>2]; + $86 = +HEAPF32[(16724)>>2]; $87 = $85 - $86; - HEAPF32[(16428)>>2] = $87; + HEAPF32[(16740)>>2] = $87; STACKTOP = sp;return; break; } @@ -12413,58 +12456,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4178]|0; + $0 = HEAP32[4256]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4179]|0; + $2 = HEAP32[4257]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4178] = 4; + HEAP32[4256] = 4; } - $4 = HEAP32[4178]|0; + $4 = HEAP32[4256]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12477,14 +12481,14 @@ function _UpdateGestures() { return; } } - HEAP32[4178] = 0; + HEAP32[4256] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16464; + $1 = 16776; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12501,13 +12505,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4188]|0; + $0 = HEAP32[4266]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4187]|0; + $0 = HEAP32[4265]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12519,7 +12523,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4365,$vararg_buffer); - HEAP32[4190] = $2; + HEAP32[4268] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -12532,15 +12536,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4394|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4188]|0; + $3 = HEAP32[4266]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4116] = $5; - $6 = HEAP32[4187]|0; + HEAPF32[4194] = $5; + $6 = HEAP32[4265]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16468)>>2] = $8; - $9 = HEAP32[4191]|0; + HEAPF32[(16780)>>2] = $8; + $9 = HEAP32[4269]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12559,11 +12563,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16504>>0]=HEAP8[8894>>0]|0;HEAP8[16504+1>>0]=HEAP8[8894+1>>0]|0;HEAP8[16504+2>>0]=HEAP8[8894+2>>0]|0;HEAP8[16504+3>>0]=HEAP8[8894+3>>0]|0;HEAP8[16504+4>>0]=HEAP8[8894+4>>0]|0;HEAP8[16504+5>>0]=HEAP8[8894+5>>0]|0;HEAP8[16504+6>>0]=HEAP8[8894+6>>0]|0; + ;HEAP8[16816>>0]=HEAP8[8894>>0]|0;HEAP8[16816+1>>0]=HEAP8[8894+1>>0]|0;HEAP8[16816+2>>0]=HEAP8[8894+2>>0]|0;HEAP8[16816+3>>0]=HEAP8[8894+3>>0]|0;HEAP8[16816+4>>0]=HEAP8[8894+4>>0]|0;HEAP8[16816+5>>0]=HEAP8[8894+5>>0]|0;HEAP8[16816+6>>0]=HEAP8[8894+6>>0]|0; break; } case 1: { - $3 = 16504; + $3 = 16816; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12572,11 +12576,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16504; src=8901; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16816; src=8901; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16504; + $7 = 16816; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12587,16 +12591,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16504,$1)|0); - $strlen = (_strlen(16504)|0); - $endptr = (16504 + ($strlen)|0); + (_strcat(16816,$1)|0); + $strlen = (_strlen(16816)|0); + $endptr = (16816 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16504,$2)|0); + (_vprintf(16816,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12628,22 +12632,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4188] = $0; - HEAP32[4187] = $1; + HEAP32[4266] = $0; + HEAP32[4265] = $1; _MatrixIdentity($2); - dest=16840; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17152; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5036,$vararg_buffer); } - $6 = HEAP32[4188]|0; - HEAP32[4226] = $6; - $7 = HEAP32[4187]|0; - HEAP32[4227] = $7; + $6 = HEAP32[4266]|0; + HEAP32[4304] = $6; + $7 = HEAP32[4265]|0; + HEAP32[4305] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19572]|0; + $8 = HEAP8[19884]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12651,13 +12655,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19572]|0; + $11 = HEAP8[19884]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19572]|0; + $14 = HEAP8[19884]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12679,18 +12683,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4228]|0; + $21 = HEAP32[4306]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4188]|0; - $48 = HEAP32[4187]|0; - $49 = HEAP32[4190]|0; + $47 = HEAP32[4266]|0; + $48 = HEAP32[4265]|0; + $49 = HEAP32[4268]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4186] = $50; - $51 = HEAP32[4188]|0; - HEAP32[4229] = $51; - $52 = HEAP32[4187]|0; - HEAP32[4230] = $52; + HEAP32[4264] = $50; + $51 = HEAP32[4266]|0; + HEAP32[4307] = $51; + $52 = HEAP32[4265]|0; + HEAP32[4308] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12699,9 +12703,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4188]|0; + $27 = HEAP32[4266]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4187]|0; + $29 = HEAP32[4265]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12723,25 +12727,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4226] = $31; - HEAP32[4227] = $34; + HEAP32[4304] = $31; + HEAP32[4305] = $34; } } while(0); - $38 = HEAP32[4226]|0; - $39 = HEAP32[4227]|0; + $38 = HEAP32[4304]|0; + $39 = HEAP32[4305]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5087,$vararg_buffer3); - $40 = HEAP32[4226]|0; - $41 = HEAP32[4227]|0; + $40 = HEAP32[4304]|0; + $41 = HEAP32[4305]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4226]|0; - $43 = HEAP32[4227]|0; - $44 = HEAP32[4190]|0; + $42 = HEAP32[4304]|0; + $43 = HEAP32[4305]|0; + $44 = HEAP32[4268]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4186] = $46; + HEAP32[4264] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12750,60 +12754,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5125,$vararg_buffer6); } else { _TraceLog(0,5158,$vararg_buffer8); - $55 = HEAP32[4229]|0; - $56 = HEAP32[4230]|0; + $55 = HEAP32[4307]|0; + $56 = HEAP32[4308]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5198,$vararg_buffer10); - $57 = HEAP32[4188]|0; - $58 = HEAP32[4187]|0; + $57 = HEAP32[4266]|0; + $58 = HEAP32[4265]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5219,$vararg_buffer14); - $59 = HEAP32[4231]|0; - $60 = HEAP32[4232]|0; + $59 = HEAP32[4309]|0; + $60 = HEAP32[4310]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5240,$vararg_buffer18); } - $61 = HEAP32[4186]|0; + $61 = HEAP32[4264]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4186]|0; + $62 = HEAP32[4264]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4186]|0; + $63 = HEAP32[4264]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4186]|0; + $64 = HEAP32[4264]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4186]|0; + $65 = HEAP32[4264]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4186]|0; + $66 = HEAP32[4264]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4186]|0; + $67 = HEAP32[4264]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4186]|0; + $68 = HEAP32[4264]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4186]|0; + $69 = HEAP32[4264]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19572]|0; + $70 = HEAP8[19884]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4188]|0; - $74 = HEAP32[4187]|0; + $73 = HEAP32[4266]|0; + $74 = HEAP32[4265]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4229]|0; - $76 = HEAP32[4231]|0; + $75 = HEAP32[4307]|0; + $76 = HEAP32[4309]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4230]|0; - $80 = HEAP32[4232]|0; + $79 = HEAP32[4308]|0; + $80 = HEAP32[4310]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12822,18 +12826,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5265,$vararg_buffer22); - $73 = HEAP32[4188]|0; - $74 = HEAP32[4187]|0; + $73 = HEAP32[4266]|0; + $74 = HEAP32[4265]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4229]|0; - $76 = HEAP32[4231]|0; + $75 = HEAP32[4307]|0; + $76 = HEAP32[4309]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4230]|0; - $80 = HEAP32[4232]|0; + $79 = HEAP32[4308]|0; + $80 = HEAP32[4310]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12861,7 +12865,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16808)>>2] = 224; + HEAP32[(17120)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12902,27 +12906,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16784>>2]=HEAP32[$1>>2]|0;HEAP32[16784+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16784+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16784+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16784+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17096>>2]=HEAP32[$1>>2]|0;HEAP32[17096+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17096+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17096+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17096+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16808)>>2]|0; + $5 = HEAP32[(17120)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16812)>>2] = $7; + HEAP32[(17124)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16804)>>2] = $23; - $24 = HEAP32[4196]|0; + HEAP32[(17116)>>2] = $23; + $24 = HEAP32[4274]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4589,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16788)>>2]|0; - $10 = HEAP32[(16808)>>2]|0; - $11 = HEAP32[(16812)>>2]|0; + $9 = HEAP32[(17100)>>2]|0; + $10 = HEAP32[(17120)>>2]|0; + $11 = HEAP32[(17124)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12971,8 +12975,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16804)>>2] = $23; - $24 = HEAP32[4196]|0; + HEAP32[(17116)>>2] = $23; + $24 = HEAP32[4274]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4589,$vararg_buffer); STACKTOP = sp;return; @@ -12983,7 +12987,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2062] = $1; + HEAPF64[2101] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13142,7 +13146,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16480; + $31 = 16792; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13155,7 +13159,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16488); + $42 = (16800); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13211,7 +13215,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16768 + ($10<<2)|0); + $11 = (17080 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13225,7 +13229,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2059] = $$; + HEAPF64[2098] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13237,7 +13241,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4191] = 0; + HEAP32[4269] = 0; return; } function _GetTime() { @@ -13813,7 +13817,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4204]|0; + $6 = HEAP32[4282]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13823,7 +13827,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4205]|0; + $9 = HEAP32[4283]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13832,7 +13836,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4206]|0; + $12 = HEAP32[4284]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13842,7 +13846,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4207]|0; + $15 = HEAP32[4285]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13852,7 +13856,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4208]|0; + $18 = HEAP32[4286]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13896,7 +13900,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4204]|0; + $22 = HEAP32[4282]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13904,7 +13908,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4204]|0; + $24 = HEAP32[4282]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13912,7 +13916,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4204]|0; + $26 = HEAP32[4282]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13920,7 +13924,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4204]|0; + $28 = HEAP32[4282]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13928,7 +13932,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4205]|0; + $30 = HEAP32[4283]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13936,7 +13940,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4206]|0; + $32 = HEAP32[4284]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13944,7 +13948,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4206]|0; + $34 = HEAP32[4284]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13952,7 +13956,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4207]|0; + $36 = HEAP32[4285]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13960,7 +13964,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4207]|0; + $38 = HEAP32[4285]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13968,7 +13972,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4208]|0; + $40 = HEAP32[4286]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13976,7 +13980,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4208]|0; + $42 = HEAP32[4286]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13988,7 +13992,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4209]|0; + $44 = HEAP32[4287]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14003,7 +14007,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10985,$vararg_buffer15); + _TraceLog(2,11293,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14334,20 +14338,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4188]|0; + $3 = HEAP32[4266]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4187]|0; + $5 = HEAP32[4265]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4229] = $3; - HEAP32[4230] = $5; - HEAP32[4231] = 0; - HEAP32[4232] = 0; + HEAP32[4307] = $3; + HEAP32[4308] = $5; + HEAP32[4309] = 0; + HEAP32[4310] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14361,9 +14365,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4188]|0; + $35 = HEAP32[4266]|0; $36 = (+($35|0)); - $37 = HEAP32[4187]|0; + $37 = HEAP32[4265]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14371,26 +14375,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4229] = $45; - HEAP32[4230] = $37; + HEAP32[4307] = $45; + HEAP32[4308] = $37; $46 = (($45) - ($35))|0; - HEAP32[4231] = $46; + HEAP32[4309] = $46; $$sink1 = 0; } else { - HEAP32[4229] = $35; + HEAP32[4307] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4230] = $42; - HEAP32[4231] = 0; + HEAP32[4308] = $42; + HEAP32[4309] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4232] = $$sink1; + HEAP32[4310] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4187]|0; + $7 = HEAP32[4265]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14400,11 +14404,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8647,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4188]|0; + $9 = HEAP32[4266]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4187]|0; + $13 = HEAP32[4265]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14412,33 +14416,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4229] = $23; - HEAP32[4230] = $1; + HEAP32[4307] = $23; + HEAP32[4308] = $1; $24 = (($0) - ($23))|0; - HEAP32[4231] = $24; + HEAP32[4309] = $24; $$sink = 0; } else { - HEAP32[4229] = $0; - $17 = HEAP32[4187]|0; + HEAP32[4307] = $0; + $17 = HEAP32[4265]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4230] = $20; - HEAP32[4231] = 0; + HEAP32[4308] = $20; + HEAP32[4309] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4232] = $$sink; - $25 = HEAP32[4229]|0; + HEAP32[4310] = $$sink; + $25 = HEAP32[4307]|0; $26 = (+($25|0)); - $27 = HEAP32[4188]|0; + $27 = HEAP32[4266]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16840; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4229] = $0; - HEAP32[4230] = $1; + dest=17152; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4307] = $0; + HEAP32[4308] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14460,10 +14464,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4188] = $1; - HEAP32[4187] = $2; - HEAP32[4229] = $1; - HEAP32[4230] = $2; + HEAP32[4266] = $1; + HEAP32[4265] = $2; + HEAP32[4307] = $1; + HEAP32[4308] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14490,7 +14494,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19579 + ($1)|0); + $9 = (19891 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14511,7 +14515,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19573 + ($1)|0); + $7 = (19885 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14590,7 +14594,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16480; + $15 = 16792; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14625,7 +14629,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4602] = $3; + HEAP32[4680] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14635,7 +14639,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4601] = $$sink; + HEAP32[4679] = $$sink; return; } function _rlglInit($0,$1) { @@ -14716,18 +14720,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5397)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4267] = 1; + HEAP32[4345] = 1; $27 = (_eglGetProcAddress((5424|0))|0); - HEAP32[4268] = $27; + HEAP32[4346] = $27; $28 = (_eglGetProcAddress((5445|0))|0); - HEAP32[4269] = $28; + HEAP32[4347] = $28; $29 = (_eglGetProcAddress((5466|0))|0); - HEAP32[4270] = $29; + HEAP32[4348] = $29; } $30 = (_strcmp($24,5490)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4209] = 1; + HEAP32[4287] = 1; } $32 = (_strcmp($24,5510)|0); $33 = ($32|0)==(0); @@ -14749,7 +14753,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4204] = 1; + HEAP32[4282] = 1; } $39 = (_strcmp($24,5615)|0); $40 = ($39|0)==(0); @@ -14765,35 +14769,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4205] = 1; + HEAP32[4283] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5684)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4206] = 1; + HEAP32[4284] = 1; } $47 = (_strcmp($44,5709)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4207] = 1; + HEAP32[4285] = 1; } $49 = (_strcmp($44,5742)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4208] = 1; + HEAP32[4286] = 1; } $51 = (_strcmp($44,5778)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4271] = 1; - _glGetFloatv(34047,(17088|0)); + HEAP32[4349] = 1; + _glGetFloatv(34047,(17400|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5812)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4273] = 1; + HEAP32[4351] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14804,61 +14808,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4267]|0; + $21 = HEAP32[4345]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5915,$vararg_buffer15); } else { _TraceLog(0,5840,$vararg_buffer13); } - $57 = HEAP32[4209]|0; + $57 = HEAP32[4287]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6051,$vararg_buffer19); } else { _TraceLog(0,5976,$vararg_buffer17); } - $59 = HEAP32[4204]|0; + $59 = HEAP32[4282]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6143,$vararg_buffer21); } - $61 = HEAP32[4205]|0; + $61 = HEAP32[4283]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6189,$vararg_buffer23); } - $63 = HEAP32[4206]|0; + $63 = HEAP32[4284]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6236,$vararg_buffer25); } - $65 = HEAP32[4207]|0; + $65 = HEAP32[4285]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6287,$vararg_buffer27); } - $67 = HEAP32[4208]|0; + $67 = HEAP32[4286]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6334,$vararg_buffer29); } - $69 = HEAP32[4271]|0; + $69 = HEAP32[4349]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4272]; + $71 = +HEAPF32[4350]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6381,$vararg_buffer31); } - $73 = HEAP32[4273]|0; + $73 = HEAP32[4351]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6447,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4274] = $75; + HEAP32[4352] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6551,$vararg_buffer39); @@ -14867,14 +14871,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6500,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17100; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17156; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17412; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17468; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4303] = $77; + HEAP32[4381] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4303]|0; + $79 = HEAP32[4381]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14887,7 +14891,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4304] = $78; + HEAP32[4382] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14902,48 +14906,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4305] = 1; - $85 = HEAP32[4274]|0; + HEAP32[4383] = 1; + $85 = HEAP32[4352]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4306] = 4; + HEAP32[4384] = 4; _MatrixIdentity($4); - dest=17228; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17540; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17292); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17604); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17356); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17668); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17420); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17732); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17484); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17796); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17548); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17860); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17612); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17924); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17676); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17988); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17740); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18052); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17804); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18116); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17868); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18180); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17932); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18244); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17996); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18308); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18060); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18372); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18124); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18436); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18188); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18500); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16936; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17248; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=17000; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4233] = 17000; + dest=17312; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4311] = 17312; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14954,21 +14958,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4563] = $0; - HEAP32[4564] = $1; + HEAP32[4641] = $0; + HEAP32[4642] = $1; _TraceLog(0,6590,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4231]|0; + $0 = HEAP32[4309]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4232]|0; + $2 = HEAP32[4310]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4229]|0; + $4 = HEAP32[4307]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4230]|0; + $6 = HEAP32[4308]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14979,12 +14983,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16936; + $modelview$sink = 17248; label = 3; break; } case 5888: { - $modelview$sink = 17000; + $modelview$sink = 17312; label = 3; break; } @@ -14992,9 +14996,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4233] = $modelview$sink; + HEAP32[4311] = $modelview$sink; } - HEAP32[4266] = $0; + HEAP32[4344] = $0; return; } function _rlLoadIdentity() { @@ -15002,7 +15006,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4233]|0; + $1 = HEAP32[4311]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -15023,7 +15027,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4233]|0; + $8 = HEAP32[4311]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15120,15 +15124,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18272)>>2] = $0; + HEAP32[(18584)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18280)>>2] = $1; - HEAP32[(18276)>>2] = 0; - HEAP32[(18284)>>2] = 0; + HEAP32[(18592)>>2] = $1; + HEAP32[(18588)>>2] = 0; + HEAP32[(18596)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18280)>>2]|0; + $2 = HEAP32[(18592)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15139,19 +15143,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4565] = 0; - HEAP32[(18268)>>2] = 0; - HEAP32[(18264)>>2] = 0; + HEAP32[4643] = 0; + HEAP32[(18580)>>2] = 0; + HEAP32[(18576)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18320)>>2] = $5; + HEAP32[(18632)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18328)>>2] = $6; - HEAP32[(18324)>>2] = 0; - HEAP32[(18332)>>2] = 0; + HEAP32[(18640)>>2] = $6; + HEAP32[(18636)>>2] = 0; + HEAP32[(18644)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18328)>>2]|0; + $7 = HEAP32[(18640)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15162,24 +15166,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4577] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[(18312)>>2] = 0; + HEAP32[4655] = 0; + HEAP32[(18628)>>2] = 0; + HEAP32[(18624)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18368)>>2] = $10; + HEAP32[(18680)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18372)>>2] = $11; + HEAP32[(18684)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18376)>>2] = $12; + HEAP32[(18688)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18380)>>2] = $13; - $14 = HEAP32[(18368)>>2]|0; + HEAP32[(18692)>>2] = $13; + $14 = HEAP32[(18680)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18372)>>2]|0; + $15 = HEAP32[(18684)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18376)>>2]|0; + $17 = HEAP32[(18688)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15190,7 +15194,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18380)>>2]|0; + $16 = HEAP32[(18692)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15227,140 +15231,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4589] = 0; - HEAP32[(18360)>>2] = 0; - HEAP32[(18364)>>2] = 0; + HEAP32[4667] = 0; + HEAP32[(18672)>>2] = 0; + HEAP32[(18676)>>2] = 0; _TraceLog(0,6637,$vararg_buffer); - $20 = HEAP32[4267]|0; + $20 = HEAP32[4345]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4268]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18288)); - $44 = HEAP32[4269]|0; - $45 = HEAP32[(18288)>>2]|0; + $43 = HEAP32[4346]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18600)); + $44 = HEAP32[4347]|0; + $45 = HEAP32[(18600)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18292)|0)); - $46 = HEAP32[(18292)>>2]|0; + _glGenBuffers(2,((18604)|0)); + $46 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18272)>>2]|0; + $47 = HEAP32[(18584)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17160)>>2]|0; + $48 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17160)>>2]|0; + $49 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18296)|0)); - $50 = HEAP32[(18296)>>2]|0; + _glGenBuffers(2,((18608)|0)); + $50 = HEAP32[(18608)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18280)>>2]|0; + $51 = HEAP32[(18592)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17180)>>2]|0; + $52 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17180)>>2]|0; + $53 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4267]|0; + $54 = HEAP32[4345]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18292)>>2]|0; - $58 = HEAP32[(18296)>>2]|0; + $57 = HEAP32[(18604)>>2]|0; + $58 = HEAP32[(18608)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6775,$vararg_buffer3); } else { - $56 = HEAP32[(18288)>>2]|0; + $56 = HEAP32[(18600)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6710,$vararg_buffer1); } - $59 = HEAP32[4267]|0; + $59 = HEAP32[4345]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4268]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18336)); - $62 = HEAP32[4269]|0; - $63 = HEAP32[(18336)>>2]|0; + $61 = HEAP32[4346]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18648)); + $62 = HEAP32[4347]|0; + $63 = HEAP32[(18648)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18340)|0)); - $64 = HEAP32[(18340)>>2]|0; + _glGenBuffers(1,((18652)|0)); + $64 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18320)>>2]|0; + $65 = HEAP32[(18632)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17160)>>2]|0; + $66 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17160)>>2]|0; + $67 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18344)|0)); - $68 = HEAP32[(18344)>>2]|0; + _glGenBuffers(1,((18656)|0)); + $68 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18328)>>2]|0; + $69 = HEAP32[(18640)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17180)>>2]|0; + $70 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17180)>>2]|0; + $71 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4267]|0; + $72 = HEAP32[4345]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18340)>>2]|0; - $76 = HEAP32[(18344)>>2]|0; + $75 = HEAP32[(18652)>>2]|0; + $76 = HEAP32[(18656)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6921,$vararg_buffer10); } else { - $74 = HEAP32[(18336)>>2]|0; + $74 = HEAP32[(18648)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6852,$vararg_buffer7); } - $77 = HEAP32[4267]|0; + $77 = HEAP32[4345]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4268]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18384)); - $80 = HEAP32[4269]|0; - $81 = HEAP32[(18384)>>2]|0; + $79 = HEAP32[4346]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18696)); + $80 = HEAP32[4347]|0; + $81 = HEAP32[(18696)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18388)|0)); - $82 = HEAP32[(18388)>>2]|0; + _glGenBuffers(1,((18700)|0)); + $82 = HEAP32[(18700)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18368)>>2]|0; + $83 = HEAP32[(18680)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17160)>>2]|0; + $84 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17160)>>2]|0; + $85 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18392)|0)); - $86 = HEAP32[(18392)>>2]|0; + _glGenBuffers(1,((18704)|0)); + $86 = HEAP32[(18704)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18372)>>2]|0; + $87 = HEAP32[(18684)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17164)>>2]|0; + $88 = HEAP32[(17476)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17164)>>2]|0; + $89 = HEAP32[(17476)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18396)|0)); - $90 = HEAP32[(18396)>>2]|0; + _glGenBuffers(1,((18708)|0)); + $90 = HEAP32[(18708)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18376)>>2]|0; + $91 = HEAP32[(18688)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17180)>>2]|0; + $92 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17180)>>2]|0; + $93 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18400)|0)); - $94 = HEAP32[(18400)>>2]|0; + _glGenBuffers(1,((18712)|0)); + $94 = HEAP32[(18712)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18380)>>2]|0; + $95 = HEAP32[(18692)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4267]|0; + $96 = HEAP32[4345]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18388)>>2]|0; - $100 = HEAP32[(18392)>>2]|0; - $101 = HEAP32[(18396)>>2]|0; - $102 = HEAP32[(18400)>>2]|0; + $99 = HEAP32[(18700)>>2]|0; + $100 = HEAP32[(18704)>>2]|0; + $101 = HEAP32[(18708)>>2]|0; + $102 = HEAP32[(18712)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15370,16 +15374,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7067,$vararg_buffer17); } else { - $98 = HEAP32[(18384)>>2]|0; + $98 = HEAP32[(18696)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7002,$vararg_buffer14); } - $103 = HEAP32[4267]|0; + $103 = HEAP32[4345]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4269]|0; + $105 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15560,9 +15564,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19573 + ($0)|0); + $1 = (19885 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19576 + ($0)|0); + $3 = (19888 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15574,9 +15578,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19573 + ($0)|0); + $1 = (19885 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19576 + ($0)|0); + $3 = (19888 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15597,7 +15601,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4186]|0; + $0 = HEAP32[4264]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8911,$vararg_buffer); @@ -15608,9 +15612,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16784>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16784+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16784+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16784+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16784+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17096>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17096+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17096+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17096+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17096+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16812)>>2]|0; + $0 = HEAP32[(17124)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15621,11 +15625,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17096|0)); - $0 = HEAP32[4274]|0; + _glDeleteTextures(1,(17408|0)); + $0 = HEAP32[4352]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8938,$vararg_buffer); - $1 = HEAP32[4304]|0; + $1 = HEAP32[4382]|0; _free($1); STACKTOP = sp;return; } @@ -15633,17 +15637,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4275]|0; + $0 = HEAP32[4353]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4267]|0; + $0 = HEAP32[4345]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4269]|0; + $2 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15652,39 +15656,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18292)|0)); - _glDeleteBuffers(1,((18296)|0)); - _glDeleteBuffers(1,((18340)|0)); - _glDeleteBuffers(1,((18344)|0)); - _glDeleteBuffers(1,((18388)|0)); - _glDeleteBuffers(1,((18392)|0)); - _glDeleteBuffers(1,((18396)|0)); - _glDeleteBuffers(1,((18400)|0)); - $3 = HEAP32[4267]|0; + _glDeleteBuffers(1,((18604)|0)); + _glDeleteBuffers(1,((18608)|0)); + _glDeleteBuffers(1,((18652)|0)); + _glDeleteBuffers(1,((18656)|0)); + _glDeleteBuffers(1,((18700)|0)); + _glDeleteBuffers(1,((18704)|0)); + _glDeleteBuffers(1,((18708)|0)); + _glDeleteBuffers(1,((18712)|0)); + $3 = HEAP32[4345]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4270]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18288)); - $6 = HEAP32[4270]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18336)); - $7 = HEAP32[4270]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18384)); - } - $8 = HEAP32[(18272)>>2]|0; + $5 = HEAP32[4348]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18600)); + $6 = HEAP32[4348]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18648)); + $7 = HEAP32[4348]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18696)); + } + $8 = HEAP32[(18584)>>2]|0; _free($8); - $9 = HEAP32[(18280)>>2]|0; + $9 = HEAP32[(18592)>>2]|0; _free($9); - $10 = HEAP32[(18320)>>2]|0; + $10 = HEAP32[(18632)>>2]|0; _free($10); - $11 = HEAP32[(18328)>>2]|0; + $11 = HEAP32[(18640)>>2]|0; _free($11); - $12 = HEAP32[(18368)>>2]|0; + $12 = HEAP32[(18680)>>2]|0; _free($12); - $13 = HEAP32[(18372)>>2]|0; + $13 = HEAP32[(18684)>>2]|0; _free($13); - $14 = HEAP32[(18376)>>2]|0; + $14 = HEAP32[(18688)>>2]|0; _free($14); - $15 = HEAP32[(18380)>>2]|0; + $15 = HEAP32[(18692)>>2]|0; _free($15); return; } @@ -15724,16 +15728,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2079] = $0; - $1 = +HEAPF64[2062]; + HEAPF64[2118] = $0; + $1 = +HEAPF64[2101]; $2 = $0 - $1; - HEAPF64[2080] = $2; - HEAPF64[2062] = $0; + HEAPF64[2119] = $2; + HEAPF64[2101] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16840; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17152; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18412); + _rlMultMatrixf(18724); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15742,53 +15746,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4603] = $1; + HEAP32[4681] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18416)>>2] = $3; + HEAP32[(18728)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18420)>>2] = $5; + HEAP32[(18732)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18424)>>2] = $7; + HEAP32[(18736)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18428)>>2] = $9; + HEAP32[(18740)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18432)>>2] = $11; + HEAP32[(18744)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18436)>>2] = $13; + HEAP32[(18748)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18440)>>2] = $15; + HEAP32[(18752)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18444)>>2] = $17; + HEAP32[(18756)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18448)>>2] = $19; + HEAP32[(18760)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18452)>>2] = $21; + HEAP32[(18764)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18456)>>2] = $23; + HEAP32[(18768)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18460)>>2] = $25; + HEAP32[(18772)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18464)>>2] = $27; + HEAP32[(18776)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18468)>>2] = $29; + HEAP32[(18780)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18472)>>2] = $31; - return (18412|0); + HEAP32[(18784)>>2] = $31; + return (18724|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15863,7 +15867,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4233]|0; + $49 = HEAP32[4311]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15877,15 +15881,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2079] = $0; - $1 = +HEAPF64[2062]; + HEAPF64[2118] = $0; + $1 = +HEAPF64[2101]; $2 = $0 - $1; - HEAPF64[2081] = $2; - HEAPF64[2062] = $0; - $3 = +HEAPF64[2080]; + HEAPF64[2120] = $2; + HEAPF64[2101] = $0; + $3 = +HEAPF64[2119]; $4 = $2 + $3; - HEAPF64[2082] = $4; - $5 = +HEAPF64[2059]; + HEAPF64[2121] = $4; + $5 = +HEAPF64[2098]; $6 = $4 < $5; if (!($6)) { return; @@ -15895,13 +15899,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2079] = $10; - $11 = +HEAPF64[2062]; + HEAPF64[2118] = $10; + $11 = +HEAPF64[2101]; $12 = $10 - $11; - HEAPF64[2062] = $10; - $13 = +HEAPF64[2082]; + HEAPF64[2101] = $10; + $13 = +HEAPF64[2121]; $14 = $12 + $13; - HEAPF64[2082] = $14; + HEAPF64[2121] = $14; return; } function _rlglDraw() { @@ -15914,7 +15918,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4186]|0; + $0 = HEAP32[4264]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15930,20 +15934,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4619] = 0; - $3 = HEAP32[4186]|0; + HEAP32[4697] = 0; + $3 = HEAP32[4264]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4116] = $5; + HEAPF32[4194] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16468)>>2] = $7; - _memcpy((20091|0),(19579|0),512)|0; - ;HEAP8[19576>>0]=HEAP8[19573>>0]|0;HEAP8[19576+1>>0]=HEAP8[19573+1>>0]|0;HEAP8[19576+2>>0]=HEAP8[19573+2>>0]|0; - $8 = HEAP32[4602]|0; - HEAP32[4189] = $8; - HEAP32[4602] = 0; + HEAPF32[(16780)>>2] = $7; + _memcpy((20403|0),(19891|0),512)|0; + ;HEAP8[19888>>0]=HEAP8[19885>>0]|0;HEAP8[19888+1>>0]=HEAP8[19885+1>>0]|0;HEAP8[19888+2>>0]=HEAP8[19885+2>>0]|0; + $8 = HEAP32[4680]|0; + HEAP32[4267] = $8; + HEAP32[4680] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15953,8 +15957,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20603 + ($$05160<<5)|0); - $scevgep67 = (20731 + ($$05160<<5)|0); + $scevgep = (20915 + ($$05160<<5)|0); + $scevgep67 = (21043 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15968,7 +15972,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20731 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21043 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15995,7 +15999,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18480 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18792 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16011,7 +16015,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4619] = $$lcssa; + HEAP32[4697] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16052,87 +16056,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4565]|0; + $0 = HEAP32[4643]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4267]|0; + $2 = HEAP32[4345]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4269]|0; - $5 = HEAP32[(18288)>>2]|0; + $4 = HEAP32[4347]|0; + $5 = HEAP32[(18600)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18292)>>2]|0; + $6 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4565]|0; + $7 = HEAP32[4643]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18272)>>2]|0; + $9 = HEAP32[(18584)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18296)>>2]|0; + $10 = HEAP32[(18608)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18268)>>2]|0; + $11 = HEAP32[(18580)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18280)>>2]|0; + $13 = HEAP32[(18592)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4577]|0; + $14 = HEAP32[4655]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4267]|0; + $16 = HEAP32[4345]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4269]|0; - $19 = HEAP32[(18336)>>2]|0; + $18 = HEAP32[4347]|0; + $19 = HEAP32[(18648)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18340)>>2]|0; + $20 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4577]|0; + $21 = HEAP32[4655]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18320)>>2]|0; + $23 = HEAP32[(18632)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18344)>>2]|0; + $24 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18316)>>2]|0; + $25 = HEAP32[(18628)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18328)>>2]|0; + $27 = HEAP32[(18640)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4589]|0; + $28 = HEAP32[4667]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4267]|0; + $30 = HEAP32[4345]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4269]|0; - $33 = HEAP32[(18384)>>2]|0; + $32 = HEAP32[4347]|0; + $33 = HEAP32[(18696)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18388)>>2]|0; + $34 = HEAP32[(18700)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4589]|0; + $35 = HEAP32[4667]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18368)>>2]|0; + $37 = HEAP32[(18680)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18392)>>2]|0; + $38 = HEAP32[(18704)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4589]|0; + $39 = HEAP32[4667]|0; $40 = $39 << 3; - $41 = HEAP32[(18372)>>2]|0; + $41 = HEAP32[(18684)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18396)>>2]|0; + $42 = HEAP32[(18708)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4589]|0; + $43 = HEAP32[4667]|0; $44 = $43 << 2; - $45 = HEAP32[(18376)>>2]|0; + $45 = HEAP32[(18688)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4267]|0; + $46 = HEAP32[4345]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4269]|0; + $48 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16150,9 +16154,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16936; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=17000; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4652]|0; + dest=$0; src=17248; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17312; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4730]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16162,134 +16166,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4565]|0; + $8 = HEAP32[4643]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4577]|0; + $10 = HEAP32[4655]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4589]|0; + $12 = HEAP32[4667]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4289]|0; + $14 = HEAP32[4367]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17000; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16936; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17312; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17248; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17184)>>2]|0; + $15 = HEAP32[(17496)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17188)>>2]|0; + $17 = HEAP32[(17500)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17200)>>2]|0; + $18 = HEAP32[(17512)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4565]|0; + $19 = HEAP32[4643]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4274]|0; + $21 = HEAP32[4352]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4267]|0; + $22 = HEAP32[4345]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18292)>>2]|0; + $26 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17160)>>2]|0; + $27 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17160)>>2]|0; + $28 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18296)>>2]|0; + $29 = HEAP32[(18608)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17180)>>2]|0; + $30 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17180)>>2]|0; + $31 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4269]|0; - $25 = HEAP32[(18288)>>2]|0; + $24 = HEAP32[4347]|0; + $25 = HEAP32[(18600)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4565]|0; + $32 = HEAP32[4643]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4267]|0; + $33 = HEAP32[4345]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4577]|0; + $35 = HEAP32[4655]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4274]|0; + $37 = HEAP32[4352]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4267]|0; + $38 = HEAP32[4345]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18340)>>2]|0; + $42 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17160)>>2]|0; + $43 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17160)>>2]|0; + $44 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18344)>>2]|0; + $45 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17180)>>2]|0; + $46 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17180)>>2]|0; + $47 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4269]|0; - $41 = HEAP32[(18336)>>2]|0; + $40 = HEAP32[4347]|0; + $41 = HEAP32[(18648)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4577]|0; + $48 = HEAP32[4655]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4267]|0; + $49 = HEAP32[4345]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4589]|0; + $51 = HEAP32[4667]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4267]|0; + $53 = HEAP32[4345]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18388)>>2]|0; + $57 = HEAP32[(18700)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17160)>>2]|0; + $58 = HEAP32[(17472)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17160)>>2]|0; + $59 = HEAP32[(17472)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18392)>>2]|0; + $60 = HEAP32[(18704)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17164)>>2]|0; + $61 = HEAP32[(17476)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17164)>>2]|0; + $62 = HEAP32[(17476)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18396)>>2]|0; + $63 = HEAP32[(18708)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17180)>>2]|0; + $64 = HEAP32[(17492)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17180)>>2]|0; + $65 = HEAP32[(17492)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18400)>>2]|0; + $66 = HEAP32[(18712)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4269]|0; - $56 = HEAP32[(18384)>>2]|0; + $55 = HEAP32[4347]|0; + $56 = HEAP32[(18696)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4305]|0; + $67 = HEAP32[4383]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4304]|0; + $71 = HEAP32[4382]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16300,14 +16304,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4304]|0; + $80 = HEAP32[4382]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4305]|0; + $87 = HEAP32[4383]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16316,7 +16320,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4267]|0; + $69 = HEAP32[4345]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16324,10 +16328,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4267]|0; + $89 = HEAP32[4345]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4269]|0; + $91 = HEAP32[4347]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16339,22 +16343,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4305] = 1; - $5 = HEAP32[4274]|0; - $6 = HEAP32[4304]|0; + HEAP32[4383] = 1; + $5 = HEAP32[4352]|0; + $6 = HEAP32[4382]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4565] = 0; - HEAP32[(18268)>>2] = 0; - HEAP32[4577] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[4589] = 0; - HEAP32[(18360)>>2] = 0; - HEAP32[(18364)>>2] = 0; + HEAP32[4643] = 0; + HEAP32[(18580)>>2] = 0; + HEAP32[4655] = 0; + HEAP32[(18628)>>2] = 0; + HEAP32[4667] = 0; + HEAP32[(18672)>>2] = 0; + HEAP32[(18676)>>2] = 0; HEAPF32[744] = -1.0; - dest=16936; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17000; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17248; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17312; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16369,17 +16373,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4563]|0; + $5 = HEAP32[4641]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4564]|0; + $9 = HEAP32[4642]|0; _rlViewport($7,0,$8,$9); - $10 = (18840 + ($0<<6)|0); + $10 = (19152 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18712 + ($0<<6)|0); + $11 = (19024 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16391,14 +16395,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17000; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17312; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16936; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17248; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -16406,43 +16410,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4742]|0; + $0 = HEAP32[4820]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9053,$vararg_buffer); } - $2 = HEAP32[4742]|0; - $3 = (17228 + ($2<<6)|0); - $4 = HEAP32[4233]|0; + $2 = HEAP32[4820]|0; + $3 = (17540 + ($2<<6)|0); + $4 = HEAP32[4311]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4742]|0; + $5 = HEAP32[4820]|0; $6 = (($5) + 1)|0; - HEAP32[4742] = $6; - $7 = HEAP32[4266]|0; + HEAP32[4820] = $6; + $7 = HEAP32[4344]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4743] = 1; + HEAP32[4821] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4742]|0; + $0 = HEAP32[4820]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4742]|0; + $2 = HEAP32[4820]|0; $3 = (($2) + -1)|0; - $4 = (17228 + ($3<<6)|0); - $5 = HEAP32[4233]|0; + $4 = (17540 + ($3<<6)|0); + $5 = HEAP32[4311]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4742] = $6; + HEAP32[4820] = $6; return; } function _IsFileExtension($0,$1) { @@ -16468,7 +16472,7 @@ function _IsGamepadAvailable($0) { sp = STACKTOP; $1 = ($0|0)<(4); if ($1) { - $2 = (16768 + ($0<<2)|0); + $2 = (17080 + ($0<<2)|0); $3 = HEAP32[$2>>2]|0; $not$ = ($3|0)!=(0); $$ = $not$&1; @@ -16495,7 +16499,7 @@ function _GetGamepadAxisCount($0) { $0 = $0|0; var $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4619]|0; + $1 = HEAP32[4697]|0; return ($1|0); } function _GetGamepadAxisMovement($0,$1) { @@ -16508,7 +16512,7 @@ function _GetGamepadAxisMovement($0,$1) { $$0 = 0.0; return (+$$0); } - $3 = (16768 + ($0<<2)|0); + $3 = (17080 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0); $6 = ($1|0)<(8); @@ -16517,7 +16521,7 @@ function _GetGamepadAxisMovement($0,$1) { $$0 = 0.0; return (+$$0); } - $7 = ((18480 + ($0<<5)|0) + ($1<<2)|0); + $7 = ((18792 + ($0<<5)|0) + ($1<<2)|0); $8 = +HEAPF32[$7>>2]; $$0 = $8; return (+$$0); @@ -16531,13 +16535,13 @@ function _IsGamepadButtonDown($0,$1) { if (!($2)) { return 0; } - $3 = (16768 + ($0<<2)|0); + $3 = (17080 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)!=(0); $6 = ($1|0)<(32); $or$cond = $6 & $5; if ($or$cond) { - $7 = ((20731 + ($0<<5)|0) + ($1)|0); + $7 = ((21043 + ($0<<5)|0) + ($1)|0); $8 = HEAP8[$7>>0]|0; $9 = ($8<<24>>24)==(1); $$ = $9&1; @@ -16566,7 +16570,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4233]|0; + $5 = HEAP32[4311]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16599,7 +16603,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4233]|0; + $11 = HEAP32[4311]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16610,7 +16614,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4306] = $0; + HEAP32[4384] = $0; return; } function _rlEnd() { @@ -16626,21 +16630,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4743]|0; + $0 = HEAP32[4821]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4744]|0; + $2 = HEAP32[4822]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4303]|0; + $6 = HEAP32[4381]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4233]|0; + $8 = HEAP32[4311]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4744]|0; + $5 = HEAP32[4822]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16648,12 +16652,12 @@ function _rlEnd() { break; } } - HEAP32[4743] = 0; + HEAP32[4821] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4303]|0; + $11 = HEAP32[4381]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16662,7 +16666,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4744]|0; + $19 = HEAP32[4822]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16672,15 +16676,15 @@ function _rlEnd() { } } } else { - HEAP32[4743] = 0; + HEAP32[4821] = 0; } - HEAP32[4744] = 0; + HEAP32[4822] = 0; } - $21 = HEAP32[4306]|0; + $21 = HEAP32[4384]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4565]|0; - $23 = HEAP32[(18268)>>2]|0; + $22 = HEAP32[4643]|0; + $23 = HEAP32[(18580)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -16699,16 +16703,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18280)>>2]|0; - $28 = HEAP32[(18268)>>2]|0; + $27 = HEAP32[(18592)>>2]|0; + $28 = HEAP32[(18580)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18280)>>2]|0; - $35 = HEAP32[(18268)>>2]|0; + $34 = HEAP32[(18592)>>2]|0; + $35 = HEAP32[(18580)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16716,8 +16720,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18280)>>2]|0; - $43 = HEAP32[(18268)>>2]|0; + $42 = HEAP32[(18592)>>2]|0; + $43 = HEAP32[(18580)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16725,8 +16729,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18280)>>2]|0; - $51 = HEAP32[(18268)>>2]|0; + $50 = HEAP32[(18592)>>2]|0; + $51 = HEAP32[(18580)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16734,9 +16738,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18268)>>2]|0; + $58 = HEAP32[(18580)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18268)>>2] = $59; + HEAP32[(18580)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16752,8 +16756,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4577]|0; - $62 = HEAP32[(18316)>>2]|0; + $61 = HEAP32[4655]|0; + $62 = HEAP32[(18628)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16772,16 +16776,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18328)>>2]|0; - $67 = HEAP32[(18316)>>2]|0; + $66 = HEAP32[(18640)>>2]|0; + $67 = HEAP32[(18628)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18328)>>2]|0; - $74 = HEAP32[(18316)>>2]|0; + $73 = HEAP32[(18640)>>2]|0; + $74 = HEAP32[(18628)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16789,8 +16793,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18328)>>2]|0; - $82 = HEAP32[(18316)>>2]|0; + $81 = HEAP32[(18640)>>2]|0; + $82 = HEAP32[(18628)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16798,8 +16802,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18328)>>2]|0; - $90 = HEAP32[(18316)>>2]|0; + $89 = HEAP32[(18640)>>2]|0; + $90 = HEAP32[(18628)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16807,9 +16811,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18316)>>2]|0; + $97 = HEAP32[(18628)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18316)>>2] = $98; + HEAP32[(18628)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16825,8 +16829,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4589]|0; - $101 = HEAP32[(18364)>>2]|0; + $100 = HEAP32[4667]|0; + $101 = HEAP32[(18676)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16834,16 +16838,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18376)>>2]|0; - $106 = HEAP32[(18364)>>2]|0; + $105 = HEAP32[(18688)>>2]|0; + $106 = HEAP32[(18676)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18376)>>2]|0; - $113 = HEAP32[(18364)>>2]|0; + $112 = HEAP32[(18688)>>2]|0; + $113 = HEAP32[(18676)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16851,8 +16855,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18376)>>2]|0; - $121 = HEAP32[(18364)>>2]|0; + $120 = HEAP32[(18688)>>2]|0; + $121 = HEAP32[(18676)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16860,8 +16864,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18376)>>2]|0; - $129 = HEAP32[(18364)>>2]|0; + $128 = HEAP32[(18688)>>2]|0; + $129 = HEAP32[(18676)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16869,9 +16873,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18364)>>2]|0; + $136 = HEAP32[(18676)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18364)>>2] = $137; + HEAP32[(18676)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16882,8 +16886,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4589]|0; - $140 = HEAP32[(18360)>>2]|0; + $139 = HEAP32[4667]|0; + $140 = HEAP32[(18672)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16891,8 +16895,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18372)>>2]|0; - $$promoted = HEAP32[(18360)>>2]|0; + $142 = HEAP32[(18684)>>2]|0; + $$promoted = HEAP32[(18672)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16900,7 +16904,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18360)>>2] = $147; + HEAP32[(18672)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16927,11 +16931,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4743]|0; + $3 = HEAP32[4821]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4303]|0; - $6 = HEAP32[4744]|0; + $5 = HEAP32[4381]|0; + $6 = HEAP32[4822]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16939,16 +16943,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4744] = $10; + HEAP32[4822] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4306]|0; + $11 = HEAP32[4384]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4565]|0; + $12 = HEAP32[4643]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18272)>>2]|0; + $14 = HEAP32[(18584)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16959,7 +16963,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4565] = $21; + HEAP32[4643] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9091,$vararg_buffer); @@ -16968,10 +16972,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4577]|0; + $22 = HEAP32[4655]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18320)>>2]|0; + $24 = HEAP32[(18632)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16982,7 +16986,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4577] = $31; + HEAP32[4655] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9116,$vararg_buffer1); @@ -16991,10 +16995,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4589]|0; + $32 = HEAP32[4667]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18368)>>2]|0; + $34 = HEAP32[(18680)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17005,9 +17009,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4589] = $41; - $42 = HEAP32[4304]|0; - $43 = HEAP32[4305]|0; + HEAP32[4667] = $41; + $42 = HEAP32[4382]|0; + $43 = HEAP32[4383]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17050,13 +17054,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4306]|0; + $2 = HEAP32[4384]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18372)>>2]|0; - $5 = HEAP32[(18360)>>2]|0; + $4 = HEAP32[(18684)>>2]|0; + $5 = HEAP32[(18672)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17064,7 +17068,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18360)>>2] = $10; + HEAP32[(18672)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17083,18 +17087,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4306]|0; + $4 = HEAP32[4384]|0; switch ($4|0) { case 1: { - $$sink37 = (18268);$$sink38 = (18280); + $$sink37 = (18580);$$sink38 = (18592); break; } case 4: { - $$sink37 = (18316);$$sink38 = (18328); + $$sink37 = (18628);$$sink38 = (18640); break; } case 7: { - $$sink37 = (18364);$$sink38 = (18376); + $$sink37 = (18676);$$sink38 = (18688); break; } default: { @@ -17133,8 +17137,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4304]|0; - $2 = HEAP32[4305]|0; + $1 = HEAP32[4382]|0; + $2 = HEAP32[4383]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17147,9 +17151,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4305] = $10; + HEAP32[4383] = $10; } - $11 = HEAP32[4305]|0; + $11 = HEAP32[4383]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17160,7 +17164,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4589]|0; + $0 = HEAP32[4667]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17172,7 +17176,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4274]|0; + $1 = HEAP32[4352]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17568,40 +17572,11 @@ function _DrawTriangle($0,$1,$2,$3) { _rlDisableTexture(); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9170); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10503)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4745] = $0; + HEAP32[4823] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17665,7 +17640,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9182|0),(9208|0),1125,(9231|0)); + ___assert_fail((9170|0),(9196|0),1041,(9219|0)); // unreachable; } } @@ -17683,7 +17658,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4746]|0; + $15 = HEAP32[4824]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17776,7 +17751,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9272); + _stbi__err(9260); $$0 = 0; return ($$0|0); } else { @@ -17798,7 +17773,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9263); + _stbi__err(9251); $$0 = 0; return ($$0|0); } @@ -17868,7 +17843,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9291); + _stbi__err(9279); $$045 = 0; return ($$045|0); } @@ -18429,7 +18404,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9607 + ($120)|0); + $121 = (9595 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18471,97 +18446,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9381); + _stbi__err(9369); $$6$ph = 0; break; } case 9: { - _stbi__err(9395); + _stbi__err(9383); $$6$ph = 0; break; } case 11: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 13: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 15: { - _stbi__err(9418); + _stbi__err(9406); $$6$ph = 0; break; } case 17: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 20: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 22: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 24: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 26: { - _stbi__err(9464); + _stbi__err(9452); $$6$ph = 0; break; } case 28: { - _stbi__err(9482); + _stbi__err(9470); $$6$ph = 0; break; } case 31: { - _stbi__err(9503); + _stbi__err(9491); $$6$ph = 0; break; } case 34: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 37: { - _stbi__err(9408); + _stbi__err(9396); $$6$ph = 0; break; } case 39: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 41: { - _stbi__err(9532); + _stbi__err(9520); $$6$ph = 0; break; } case 44: { - _stbi__err(9532); + _stbi__err(9520); $$6$ph = 0; break; } case 47: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 49: { - _stbi__err(9545); + _stbi__err(9533); $$6$ph = 0; break; } @@ -18572,32 +18547,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9561); + _stbi__err(9549); $$6$ph = 0; break; } case 58: { - _stbi__err(9578); + _stbi__err(9566); $$6$ph = 0; break; } case 61: { - _stbi__err(9591); + _stbi__err(9579); $$6$ph = 0; break; } case 63: { - _stbi__err(9578); + _stbi__err(9566); $$6$ph = 0; break; } case 70: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 72: { - _stbi__err(9616); + _stbi__err(9604); $$6$ph = 0; break; } @@ -18609,12 +18584,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9263); + _stbi__err(9251); $$6$ph = 0; break; } case 83: { - _stbi__err(9624); + _stbi__err(9612); $$6$ph = 0; break; } @@ -18627,7 +18602,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9634); + _stbi__err(9622); $$4 = 0; break; } @@ -18692,7 +18667,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4747]|0; + $193 = HEAP32[4825]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18725,7 +18700,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9517); + _stbi__err(9505); $$4 = 0; } } while(0); @@ -18733,24 +18708,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9517); + _stbi__err(9505); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9642] = $206; + HEAP8[9630] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9643)>>0] = $209; + HEAP8[(9631)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9644)>>0] = $211; + HEAP8[(9632)>>0] = $211; $212 = $207&255; - HEAP8[(9645)>>0] = $212; - _stbi__err(9642); + HEAP8[(9633)>>0] = $212; + _stbi__err(9630); $$6$ph = 0; break; } @@ -18784,14 +18759,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9304|0),(9208|0),1561,(9360|0)); + ___assert_fail((9292|0),(9196|0),1477,(9348|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9263); + _stbi__err(9251); $$0163 = 0; return ($$0163|0); } @@ -19154,7 +19129,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9358|0),(9208|0),1590,(9360|0)); + ___assert_fail((9346|0),(9196|0),1506,(9348|0)); // unreachable; } } while(0); @@ -19188,7 +19163,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9304|0),(9208|0),1610,(9335|0)); + ___assert_fail((9292|0),(9196|0),1526,(9323|0)); // unreachable; } $7 = $2 << 1; @@ -19198,7 +19173,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9263); + _stbi__err(9251); $$0163 = 0; return ($$0163|0); } @@ -19561,7 +19536,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9358|0),(9208|0),1639,(9335|0)); + ___assert_fail((9346|0),(9196|0),1555,(9323|0)); // unreachable; } } while(0); @@ -19709,7 +19684,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10299); + _stbi__err(10607); $$05 = 0; return ($$05|0); } @@ -20146,7 +20121,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9701|0),(9208|0),4568,(9753|0)); + ___assert_fail((9689|0),(9196|0),4569,(9741|0)); // unreachable; } } @@ -20233,7 +20208,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9701|0),(9208|0),4543,(9726|0)); + ___assert_fail((9689|0),(9196|0),4544,(9714|0)); // unreachable; } } @@ -20280,7 +20255,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4748]|0; + $16 = HEAP32[4826]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20355,7 +20330,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9667|0),(9208|0),4649,(9685|0)); + ___assert_fail((9655|0),(9196|0),4650,(9673|0)); // unreachable; } } @@ -20378,7 +20353,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9263); + _stbi__err(9251); $$0 = 0; return ($$0|0); } @@ -20555,7 +20530,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9782|0),(9208|0),4294,(9823|0)); + ___assert_fail((9770|0),(9196|0),4294,(9811|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20563,7 +20538,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9263); + _stbi__err(9251); $$2 = 0; return ($$2|0); } @@ -20582,7 +20557,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9850); + _stbi__err(9838); $$2 = 0; return ($$2|0); } @@ -20595,7 +20570,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9850); + _stbi__err(9838); $$2 = 0; return ($$2|0); } @@ -20603,12 +20578,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20631,33 +20606,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9889 + ($56)|0); + $60 = (9877 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20667,24 +20642,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20694,10 +20669,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20708,10 +20683,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20722,14 +20697,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20759,7 +20734,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20774,12 +20749,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21356,15 +21331,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9868|0),(9208|0),4315,(9823|0)); + ___assert_fail((9856|0),(9196|0),4315,(9811|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9894|0),(9208|0),4376,(9823|0)); + ___assert_fail((9882|0),(9196|0),4377,(9811|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9911); + _stbi__err(9899); $$2 = 0; return ($$2|0); } @@ -21414,7 +21389,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9607 + ($6)|0); + $336 = (9595 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21855,7 +21830,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9926|0),(9208|0),4465,(9823|0)); + ___assert_fail((9914|0),(9196|0),4466,(9811|0)); // unreachable; } else if ((label|0) == 151) { @@ -21915,8 +21890,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21931,15 +21906,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21948,65 +21923,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20890)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9925,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20891,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20859,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10213,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -22025,14 +21995,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10252); + _stbi__err(10560); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10268); + _stbi__err(10576); $$0 = 0; return ($$0|0); } @@ -22041,7 +22011,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10283); + _stbi__err(10591); $$0 = 0; return ($$0|0); } @@ -22124,7 +22094,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10174|0),(9208|0),4048,(10191|0)); + ___assert_fail((10482|0),(9196|0),4033,(10499|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -22161,7 +22131,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10222); + _stbi__err(10530); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22171,7 +22141,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10235); + _stbi__err(10543); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22201,21 +22171,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20891|0),8,144)|0; - dest=(21035); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21147); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21171); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20859; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22349,7 +22304,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10112); + _stbi__err(10420); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22438,7 +22393,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10164); + _stbi__err(10472); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22467,7 +22422,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10958 + ($$06579)|0); + $14 = (11266 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22558,21 +22513,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10128|0),(9208|0),4021,(10136|0)); + ___assert_fail((10436|0),(9196|0),4006,(10444|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22582,7 +22537,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10112); + _stbi__err(10420); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22746,7 +22701,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9937); + _stbi__err(10245); $$3$ph = 0; return ($$3$ph|0); } @@ -22756,12 +22711,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9937); + _stbi__err(10245); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9954); + _stbi__err(10262); $$3$ph = 0; return ($$3$ph|0); } @@ -22818,7 +22773,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9963); + _stbi__err(10271); $$0 = 0; return ($$0|0); } @@ -22844,7 +22799,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9263); + _stbi__err(9251); $$0 = 0; return ($$0|0); } else { @@ -22889,7 +22844,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10059|0),(9208|0),3863,(10096|0)); + ___assert_fail((10367|0),(9196|0),3848,(10404|0)); // unreachable; } else if ((label|0) == 5) { @@ -22937,7 +22892,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9983|0),(9208|0),3891,(9999|0)); + ___assert_fail((10291|0),(9196|0),3876,(10307|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22965,7 +22920,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10030|0),(9208|0),3781,(10041|0)); + ___assert_fail((10338|0),(9196|0),3766,(10349|0)); // unreachable; } return (0)|0; @@ -23111,10 +23066,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -23125,27 +23080,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10311)|0); + $6 = (_IsFileExtension($1,10619)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10364)|0); + $19 = (_IsFileExtension($1,10672)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10369,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10677,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10811)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -23173,7 +23129,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -23190,18 +23146,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10317,$vararg_buffer); + _TraceLog(2,10625,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -23210,34 +23166,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10405,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10444,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10713,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10752,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -23256,11 +23219,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10503)|0); + $4 = (_fopen($0,10811)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10506,$vararg_buffer); + _TraceLog(2,10814,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23359,7 +23322,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10603,$vararg_buffer4); + _TraceLog(0,10911,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23394,14 +23357,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10649,$vararg_buffer8); + _TraceLog(2,10957,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10557,$vararg_buffer1); + _TraceLog(2,10865,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23491,7 +23454,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10475,$vararg_buffer); + _TraceLog(2,10783,$vararg_buffer); $$0 = $6; } } @@ -23536,27 +23499,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10699,$vararg_buffer); + _TraceLog(2,11007,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10738,$vararg_buffer1); + _TraceLog(2,11046,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10764,$vararg_buffer3); + _TraceLog(2,11072,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10827,$vararg_buffer5); + _TraceLog(2,11135,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10862,$vararg_buffer7); + _TraceLog(2,11170,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10897,$vararg_buffer10); + _TraceLog(0,11205,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24739,7 +24702,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10954 + ($$361133)|0); + $199 = (11262 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -25169,7 +25132,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10954 + ($$331130)|0); + $186 = (11262 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -25207,7 +25170,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10954 + ($$371134)|0); + $203 = (11262 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -25246,7 +25209,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10958 + ($$421139)|0); + $235 = (11266 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25653,7 +25616,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10977 + ($495)|0); + $496 = (11285 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25690,7 +25653,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10981 + ($515)|0); + $516 = (11289 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26602,7 +26565,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10985,$vararg_buffer); + _TraceLog(2,11293,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26623,7 +26586,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16784>>2]|0;HEAP32[$0+4>>2]=HEAP32[16784+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16784+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16784+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16784+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16784+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16784+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16784+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17096>>2]|0;HEAP32[$0+4>>2]=HEAP32[17096+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17096+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17096+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17096+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17096+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17096+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17096+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -27091,8 +27054,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21179,$0,$1)|0); - STACKTOP = sp;return (21179|0); + (_vsprintf(21171,$0,$1)|0); + STACKTOP = sp;return (21171|0); } function _emscripten_GetProcAddress($0) { $0 = $0|0; @@ -27140,7 +27103,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11014)|0); + $12 = (_strstr($11,11322)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -27149,7 +27112,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11018)|0); + $17 = (_strstr($16,11326)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -27158,7 +27121,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11022)|0); + $22 = (_strstr($21,11330)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -27167,7 +27130,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11026)|0); + $27 = (_strstr($26,11334)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -27176,1210 +27139,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11032)|0); + $32 = (_strcmp($31,11340)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11070)|0); + $35 = (_strcmp($34,11378)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11089; + HEAP32[$3>>2] = 11397; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11102)|0); + $38 = (_strcmp($37,11410)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11123; + HEAP32[$3>>2] = 11431; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11138)|0); + $41 = (_strcmp($40,11446)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11153; + HEAP32[$3>>2] = 11461; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11168)|0); + $44 = (_strcmp($43,11476)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11183; + HEAP32[$3>>2] = 11491; } } else { - HEAP32[$3>>2] = 11054; + HEAP32[$3>>2] = 11362; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11198)|0); + $47 = (_strcmp($46,11506)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11212)|0); + $50 = (_strcmp($49,11520)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11224)|0); + $53 = (_strcmp($52,11532)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11238)|0); + $56 = (_strcmp($55,11546)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11250)|0); + $59 = (_strcmp($58,11558)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11264)|0); + $62 = (_strcmp($61,11572)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11278)|0); + $65 = (_strcmp($64,11586)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11295)|0); + $68 = (_strcmp($67,11603)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11318)|0); + $71 = (_strcmp($70,11626)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11344)|0); + $74 = (_strcmp($73,11652)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11357)|0); + $77 = (_strcmp($76,11665)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11373)|0); + $80 = (_strcmp($79,11681)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11386)|0); + $83 = (_strcmp($82,11694)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11400)|0); + $86 = (_strcmp($85,11708)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11420)|0); + $89 = (_strcmp($88,11728)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11440)|0); + $92 = (_strcmp($91,11748)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11457)|0); + $95 = (_strcmp($94,11765)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11474)|0); + $98 = (_strcmp($97,11782)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11486)|0); + $101 = (_strcmp($100,11794)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11499)|0); + $104 = (_strcmp($103,11807)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11515)|0); + $107 = (_strcmp($106,11823)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11538)|0); + $110 = (_strcmp($109,11846)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11551)|0); + $113 = (_strcmp($112,11859)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11567)|0); + $116 = (_strcmp($115,11875)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11578)|0); + $119 = (_strcmp($118,11886)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11597)|0); + $122 = (_strcmp($121,11905)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11619)|0); + $125 = (_strcmp($124,11927)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11638)|0); + $128 = (_strcmp($127,11946)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11667)|0); + $131 = (_strcmp($130,11975)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11684)|0); + $134 = (_strcmp($133,11992)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11699)|0); + $137 = (_strcmp($136,12007)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11714)|0); + $140 = (_strcmp($139,12022)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11735)|0); + $143 = (_strcmp($142,12043)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11755)|0); + $146 = (_strcmp($145,12063)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11775)|0); + $149 = (_strcmp($148,12083)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11801)|0); + $152 = (_strcmp($151,12109)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11820)|0); + $155 = (_strcmp($154,12128)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11832)|0); + $158 = (_strcmp($157,12140)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11844)|0); + $161 = (_strcmp($160,12152)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11856)|0); + $164 = (_strcmp($163,12164)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11868)|0); + $167 = (_strcmp($166,12176)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11880)|0); + $170 = (_strcmp($169,12188)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11892)|0); + $173 = (_strcmp($172,12200)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11904)|0); + $176 = (_strcmp($175,12212)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11916)|0); + $179 = (_strcmp($178,12224)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11929)|0); + $182 = (_strcmp($181,12237)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11942)|0); + $185 = (_strcmp($184,12250)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11955)|0); + $188 = (_strcmp($187,12263)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11968)|0); + $191 = (_strcmp($190,12276)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11981)|0); + $194 = (_strcmp($193,12289)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11994)|0); + $197 = (_strcmp($196,12302)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12007)|0); + $200 = (_strcmp($199,12315)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12020)|0); + $203 = (_strcmp($202,12328)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12039)|0); + $206 = (_strcmp($205,12347)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12058)|0); + $209 = (_strcmp($208,12366)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12077)|0); + $212 = (_strcmp($211,12385)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12090)|0); + $215 = (_strcmp($214,12398)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12108)|0); + $218 = (_strcmp($217,12416)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12126)|0); + $221 = (_strcmp($220,12434)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12144)|0); + $224 = (_strcmp($223,12452)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12162)|0); + $227 = (_strcmp($226,12470)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12182)|0); + $230 = (_strcmp($229,12490)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11123)|0); + $233 = (_strcmp($232,11431)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12200)|0); + $236 = (_strcmp($235,12508)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12215)|0); + $239 = (_strcmp($238,12523)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12236)|0); + $242 = (_strcmp($241,12544)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12251)|0); + $245 = (_strcmp($244,12559)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12269)|0); + $248 = (_strcmp($247,12577)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12285)|0); + $251 = (_strcmp($250,12593)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12304)|0); + $254 = (_strcmp($253,12612)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12318)|0); + $257 = (_strcmp($256,12626)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12333)|0); + $260 = (_strcmp($259,12641)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11054)|0); + $263 = (_strcmp($262,11362)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12344)|0); + $266 = (_strcmp($265,12652)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11153)|0); + $269 = (_strcmp($268,11461)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11183)|0); + $272 = (_strcmp($271,11491)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12360)|0); + $275 = (_strcmp($274,12668)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12387)|0); + $278 = (_strcmp($277,12695)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12401)|0); + $281 = (_strcmp($280,12709)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11089)|0); + $284 = (_strcmp($283,11397)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12421)|0); + $287 = (_strcmp($286,12729)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12439)|0); + $290 = (_strcmp($289,12747)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12451)|0); + $293 = (_strcmp($292,12759)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12472)|0); + $296 = (_strcmp($295,12780)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12490)|0); + $299 = (_strcmp($298,12798)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12508)|0); + $302 = (_strcmp($301,12816)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12529)|0); + $305 = (_strcmp($304,12837)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12555)|0); + $308 = (_strcmp($307,12863)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12578)|0); + $311 = (_strcmp($310,12886)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12616)|0); + $314 = (_strcmp($313,12924)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12632)|0); + $317 = (_strcmp($316,12940)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12647)|0); + $320 = (_strcmp($319,12955)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12670)|0); + $323 = (_strcmp($322,12978)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12683)|0); + $326 = (_strcmp($325,12991)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12697)|0); + $329 = (_strcmp($328,13005)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12711)|0); + $332 = (_strcmp($331,13019)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12731)|0); + $335 = (_strcmp($334,13039)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12751)|0); + $338 = (_strcmp($337,13059)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12767)|0); + $341 = (_strcmp($340,13075)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12785)|0); + $344 = (_strcmp($343,13093)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12801)|0); + $347 = (_strcmp($346,13109)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12816)|0); + $350 = (_strcmp($349,13124)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12838)|0); + $353 = (_strcmp($352,13146)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12856)|0); + $356 = (_strcmp($355,13164)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12877)|0); + $359 = (_strcmp($358,13185)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12895)|0); + $362 = (_strcmp($361,13203)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12908)|0); + $365 = (_strcmp($364,13216)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12923)|0); + $368 = (_strcmp($367,13231)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12937)|0); + $371 = (_strcmp($370,13245)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12947)|0); + $374 = (_strcmp($373,13255)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12957)|0); + $377 = (_strcmp($376,13265)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12979)|0); + $380 = (_strcmp($379,13287)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13005)|0); + $383 = (_strcmp($382,13313)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13032)|0); + $386 = (_strcmp($385,13340)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13045)|0); + $389 = (_strcmp($388,13353)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13060)|0); + $392 = (_strcmp($391,13368)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13075)|0); + $395 = (_strcmp($394,13383)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13099)|0); + $398 = (_strcmp($397,13407)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13110)|0); + $401 = (_strcmp($400,13418)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13132)|0); + $404 = (_strcmp($403,13440)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13154)|0); + $407 = (_strcmp($406,13462)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13178)|0); + $410 = (_strcmp($409,13486)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13187)|0); + $413 = (_strcmp($412,13495)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13195)|0); + $416 = (_strcmp($415,13503)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13208)|0); + $419 = (_strcmp($418,13516)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13222)|0); + $422 = (_strcmp($421,13530)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13234)|0); + $425 = (_strcmp($424,13542)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13243)|0); + $428 = (_strcmp($427,13551)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13253)|0); + $431 = (_strcmp($430,13561)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13265)|0); + $434 = (_strcmp($433,13573)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13276)|0); + $437 = (_strcmp($436,13584)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13284)|0); + $440 = (_strcmp($439,13592)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13296)|0); + $443 = (_strcmp($442,13604)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13311)|0); + $446 = (_strcmp($445,13619)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13323)|0); + $449 = (_strcmp($448,13631)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13337)|0); + $452 = (_strcmp($451,13645)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13362)|0); + $455 = (_strcmp($454,13670)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13379)|0); + $458 = (_strcmp($457,13687)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13395)|0); + $461 = (_strcmp($460,13703)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13411)|0); + $464 = (_strcmp($463,13719)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13423)|0); + $467 = (_strcmp($466,13731)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13435)|0); + $470 = (_strcmp($469,13743)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13459)|0); + $473 = (_strcmp($472,13767)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13472)|0); + $476 = (_strcmp($475,13780)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13486)|0); + $479 = (_strcmp($478,13794)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13508)|0); + $482 = (_strcmp($481,13816)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13515)|0); + $485 = (_strcmp($484,13823)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13531)|0); + $488 = (_strcmp($487,13839)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13548)|0); + $491 = (_strcmp($490,13856)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13565)|0); + $494 = (_strcmp($493,13873)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13581)|0); + $497 = (_strcmp($496,13889)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13597)|0); + $500 = (_strcmp($499,13905)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13614)|0); + $503 = (_strcmp($502,13922)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13628)|0); + $506 = (_strcmp($505,13936)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13640)|0); + $509 = (_strcmp($508,13948)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13651)|0); + $512 = (_strcmp($511,13959)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13664)|0); + $515 = (_strcmp($514,13972)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13674)|0); + $518 = (_strcmp($517,13982)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13691)|0); + $521 = (_strcmp($520,13999)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13703)|0); + $524 = (_strcmp($523,14011)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13725)|0); + $527 = (_strcmp($526,14033)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13745)|0); + $530 = (_strcmp($529,14053)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13758)|0); + $533 = (_strcmp($532,14066)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13780)|0); + $536 = (_strcmp($535,14088)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13800)|0); + $539 = (_strcmp($538,14108)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13817)|0); + $542 = (_strcmp($541,14125)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13834)|0); + $545 = (_strcmp($544,14142)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13854)|0); + $548 = (_strcmp($547,14162)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28401,7 +28364,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18996|0); + return (19308|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29334,7 +29297,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13970 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14278 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29512,7 +29475,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14434;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14742;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29533,7 +29496,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14434;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14742;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29541,8 +29504,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14434 : (14436); - $$$ = $238 ? $$ : (14435); + $$ = $240 ? 14742 : (14744); + $$$ = $238 ? $$ : (14743); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29559,7 +29522,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14434;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14742;$242 = $167;$243 = $170; label = 66; break; } @@ -29572,7 +29535,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14434;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14742;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29586,7 +29549,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14444; + $271 = $270 ? $269 : 14752; $$1 = $271; label = 71; break; @@ -29626,7 +29589,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14434;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14742;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29648,8 +29611,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14434 + ($208)|0); - $$289 = $or$cond283 ? 14434 : $209; + $209 = (14742 + ($208)|0); + $$289 = $or$cond283 ? 14742 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29670,7 +29633,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14434;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14742;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -30200,7 +30163,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14486 + ($7)|0); + $9 = (14794 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30558,14 +30521,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14451; + $$0471 = $14;$$0520 = 1;$$0521 = 14759; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14452) : (14457); - $$$ = $16 ? $$ : (14454); + $$ = $18 ? (14760) : (14765); + $$$ = $16 ? $$ : (14762); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30664,7 +30627,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14486 + ($80)|0); + $81 = (14794 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -31275,7 +31238,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14502,1); + _out($0,14810,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -31356,7 +31319,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14502,1); + _out($0,14810,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31413,9 +31376,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14470 : 14474; + $29 = $28 ? 14778 : 14782; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14478 : 14482; + $31 = $28 ? 14786 : 14790; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31625,7 +31588,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14504 + ($$016)|0); + $3 = (14812 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31636,7 +31599,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14592;$$115 = 87; + $$01214 = 14900;$$115 = 87; label = 5; break; } else { @@ -31646,9 +31609,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14592; + $$012$lcssa = 14900; } else { - $$01214 = 14592;$$115 = $$016; + $$01214 = 14900;$$115 = $$016; label = 5; } } @@ -32331,7 +32294,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16396,$3,4)|0); + $memchr = (_memchr(16704,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32420,7 +32383,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16396,$4,4)|0); + $memchr = (_memchr(16704,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32511,7 +32474,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19000)>>2]|0; + $38 = HEAP32[(19312)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32544,13 +32507,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19060|0)); - return (19068|0); + ___lock((19372|0)); + return (19380|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19060|0)); + ___unlock((19372|0)); return; } function _fclose($0) { @@ -33614,7 +33577,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16664; + $2 = 16976; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33831,7 +33794,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4768]|0; + $3 = HEAP32[4846]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33850,22 +33813,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4768] = 0; + HEAP32[4846] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4768] = $10; + HEAP32[4846] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4768] = 0; + HEAP32[4846] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4768] = $13; + HEAP32[4846] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33946,7 +33909,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4769]|0; + $8 = HEAP32[4847]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33955,7 +33918,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19116 + ($15<<2)|0); + $16 = (19428 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33966,9 +33929,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4769] = $24; + HEAP32[4847] = $24; } else { - $25 = HEAP32[(19092)>>2]|0; + $25 = HEAP32[(19404)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33999,7 +33962,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19084)>>2]|0; + $37 = HEAP32[(19396)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -34033,7 +33996,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19116 + ($68<<2)|0); + $69 = (19428 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -34044,10 +34007,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4769] = $77; + HEAP32[4847] = $77; $98 = $77; } else { - $78 = HEAP32[(19092)>>2]|0; + $78 = HEAP32[(19404)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -34080,22 +34043,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19096)>>2]|0; + $92 = HEAP32[(19408)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19116 + ($94<<2)|0); + $95 = (19428 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4769] = $100; + HEAP32[4847] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19092)>>2]|0; + $103 = HEAP32[(19404)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -34112,12 +34075,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19084)>>2] = $84; - HEAP32[(19096)>>2] = $87; + HEAP32[(19396)>>2] = $84; + HEAP32[(19408)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19080)>>2]|0; + $108 = HEAP32[(19392)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -34145,7 +34108,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19380 + ($132<<2)|0); + $133 = (19692 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -34185,7 +34148,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19092)>>2]|0; + $155 = HEAP32[(19404)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -34280,7 +34243,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19380 + ($188<<2)|0); + $189 = (19692 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -34291,11 +34254,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19080)>>2] = $194; + HEAP32[(19392)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19092)>>2]|0; + $195 = HEAP32[(19404)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34316,7 +34279,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19092)>>2]|0; + $201 = HEAP32[(19404)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34346,7 +34309,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19092)>>2]|0; + $213 = HEAP32[(19404)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34383,22 +34346,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19096)>>2]|0; + $231 = HEAP32[(19408)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19116 + ($233<<2)|0); + $234 = (19428 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4769] = $238; + HEAP32[4847] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19092)>>2]|0; + $241 = HEAP32[(19404)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34415,8 +34378,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19084)>>2] = $$0193$lcssa$i; - HEAP32[(19096)>>2] = $157; + HEAP32[(19396)>>2] = $$0193$lcssa$i; + HEAP32[(19408)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34432,7 +34395,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19080)>>2]|0; + $250 = HEAP32[(19392)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34472,7 +34435,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19380 + ($$0358$i<<2)|0); + $278 = (19692 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34564,7 +34527,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19380 + ($330<<2)|0); + $331 = (19692 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34608,11 +34571,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19084)>>2]|0; + $345 = HEAP32[(19396)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19092)>>2]|0; + $348 = HEAP32[(19404)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34709,7 +34672,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19380 + ($381<<2)|0); + $382 = (19692 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34720,12 +34683,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19080)>>2] = $387; + HEAP32[(19392)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19092)>>2]|0; + $388 = HEAP32[(19404)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34747,7 +34710,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19092)>>2]|0; + $394 = HEAP32[(19404)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34779,7 +34742,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19092)>>2]|0; + $406 = HEAP32[(19404)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34820,20 +34783,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19116 + ($425<<2)|0); - $427 = HEAP32[4769]|0; + $426 = (19428 + ($425<<2)|0); + $427 = HEAP32[4847]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4769] = $431; + HEAP32[4847] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19092)>>2]|0; + $434 = HEAP32[(19404)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34885,7 +34848,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19380 + ($$0361$i<<2)|0); + $464 = (19692 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34897,7 +34860,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19080)>>2] = $472; + HEAP32[(19392)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34936,7 +34899,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19092)>>2]|0; + $491 = HEAP32[(19404)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34955,7 +34918,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19092)>>2]|0; + $498 = HEAP32[(19404)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34988,16 +34951,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19084)>>2]|0; + $506 = HEAP32[(19396)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19096)>>2]|0; + $509 = HEAP32[(19408)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19096)>>2] = $511; - HEAP32[(19084)>>2] = $508; + HEAP32[(19408)>>2] = $511; + HEAP32[(19396)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -35007,8 +34970,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19084)>>2] = 0; - HEAP32[(19096)>>2] = 0; + HEAP32[(19396)>>2] = 0; + HEAP32[(19408)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -35022,14 +34985,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19088)>>2]|0; + $524 = HEAP32[(19400)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19088)>>2] = $526; - $527 = HEAP32[(19100)>>2]|0; + HEAP32[(19400)>>2] = $526; + $527 = HEAP32[(19412)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19100)>>2] = $528; + HEAP32[(19412)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -35040,23 +35003,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4887]|0; + $534 = HEAP32[4965]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19556)>>2] = 4096; - HEAP32[(19552)>>2] = 4096; - HEAP32[(19560)>>2] = -1; - HEAP32[(19564)>>2] = -1; - HEAP32[(19568)>>2] = 0; - HEAP32[(19520)>>2] = 0; + HEAP32[(19868)>>2] = 4096; + HEAP32[(19864)>>2] = 4096; + HEAP32[(19872)>>2] = -1; + HEAP32[(19876)>>2] = -1; + HEAP32[(19880)>>2] = 0; + HEAP32[(19832)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4887] = $538; + HEAP32[4965] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19556)>>2]|0; + $$pre$i212 = HEAP32[(19868)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -35069,10 +35032,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19516)>>2]|0; + $546 = HEAP32[(19828)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19508)>>2]|0; + $548 = HEAP32[(19820)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -35082,18 +35045,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19520)>>2]|0; + $552 = HEAP32[(19832)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19100)>>2]|0; + $555 = HEAP32[(19412)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19524); + $$0$i$i = (19836); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -35151,7 +35114,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19552)>>2]|0; + $569 = HEAP32[(19864)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -35161,13 +35124,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19508)>>2]|0; + $578 = HEAP32[(19820)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19516)>>2]|0; + $582 = HEAP32[(19828)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -35213,7 +35176,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19556)>>2]|0; + $601 = HEAP32[(19868)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -35238,9 +35201,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19520)>>2]|0; + $611 = HEAP32[(19832)>>2]|0; $612 = $611 | 4; - HEAP32[(19520)>>2] = $612; + HEAP32[(19832)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -35276,35 +35239,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19508)>>2]|0; + $626 = HEAP32[(19820)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19508)>>2] = $627; - $628 = HEAP32[(19512)>>2]|0; + HEAP32[(19820)>>2] = $627; + $628 = HEAP32[(19824)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19512)>>2] = $627; + HEAP32[(19824)>>2] = $627; } - $630 = HEAP32[(19100)>>2]|0; + $630 = HEAP32[(19412)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19092)>>2]|0; + $632 = HEAP32[(19404)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19092)>>2] = $$749$i; - } - HEAP32[(19524)>>2] = $$749$i; - HEAP32[(19528)>>2] = $$723948$i; - HEAP32[(19536)>>2] = 0; - $635 = HEAP32[4887]|0; - HEAP32[(19112)>>2] = $635; - HEAP32[(19108)>>2] = -1; + HEAP32[(19404)>>2] = $$749$i; + } + HEAP32[(19836)>>2] = $$749$i; + HEAP32[(19840)>>2] = $$723948$i; + HEAP32[(19848)>>2] = 0; + $635 = HEAP32[4965]|0; + HEAP32[(19424)>>2] = $635; + HEAP32[(19420)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19116 + ($636<<2)|0); + $637 = (19428 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35327,18 +35290,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19100)>>2] = $649; - HEAP32[(19088)>>2] = $650; + HEAP32[(19412)>>2] = $649; + HEAP32[(19400)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19564)>>2]|0; - HEAP32[(19104)>>2] = $655; + $655 = HEAP32[(19876)>>2]|0; + HEAP32[(19416)>>2] = $655; } else { - $$024371$i = (19524); + $$024371$i = (19836); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35370,7 +35333,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19088)>>2]|0; + $671 = HEAP32[(19400)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35381,30 +35344,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19100)>>2] = $679; - HEAP32[(19088)>>2] = $681; + HEAP32[(19412)>>2] = $679; + HEAP32[(19400)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19564)>>2]|0; - HEAP32[(19104)>>2] = $686; + $686 = HEAP32[(19876)>>2]|0; + HEAP32[(19416)>>2] = $686; break; } } } - $687 = HEAP32[(19092)>>2]|0; + $687 = HEAP32[(19404)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19092)>>2] = $$749$i; + HEAP32[(19404)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19524); + $$124470$i = (19836); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35459,21 +35422,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19088)>>2]|0; + $726 = HEAP32[(19400)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19088)>>2] = $727; - HEAP32[(19100)>>2] = $721; + HEAP32[(19400)>>2] = $727; + HEAP32[(19412)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19096)>>2]|0; + $730 = HEAP32[(19408)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19084)>>2]|0; + $732 = HEAP32[(19396)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19084)>>2] = $733; - HEAP32[(19096)>>2] = $721; + HEAP32[(19396)>>2] = $733; + HEAP32[(19408)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35496,7 +35459,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19116 + ($748<<2)|0); + $749 = (19428 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35519,9 +35482,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4769]|0; + $759 = HEAP32[4847]|0; $760 = $759 & $758; - HEAP32[4769] = $760; + HEAP32[4847] = $760; break; } $761 = ($747|0)==($749|0); @@ -35634,7 +35597,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19380 + ($796<<2)|0); + $797 = (19692 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35646,12 +35609,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19080)>>2]|0; + $802 = HEAP32[(19392)>>2]|0; $803 = $802 & $801; - HEAP32[(19080)>>2] = $803; + HEAP32[(19392)>>2] = $803; break L314; } else { - $804 = HEAP32[(19092)>>2]|0; + $804 = HEAP32[(19404)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35672,7 +35635,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19092)>>2]|0; + $810 = HEAP32[(19404)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35704,7 +35667,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19092)>>2]|0; + $822 = HEAP32[(19404)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35737,21 +35700,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19116 + ($836<<2)|0); - $838 = HEAP32[4769]|0; + $837 = (19428 + ($836<<2)|0); + $838 = HEAP32[4847]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4769] = $842; + HEAP32[4847] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19092)>>2]|0; + $845 = HEAP32[(19404)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35806,20 +35769,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19380 + ($$0296$i$i<<2)|0); + $875 = (19692 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19080)>>2]|0; + $879 = HEAP32[(19392)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19080)>>2] = $883; + HEAP32[(19392)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35858,7 +35821,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19092)>>2]|0; + $902 = HEAP32[(19404)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35877,7 +35840,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19092)>>2]|0; + $909 = HEAP32[(19404)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35904,7 +35867,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19524); + $$0$i$i$i = (19836); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35945,23 +35908,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19100)>>2] = $946; - HEAP32[(19088)>>2] = $947; + HEAP32[(19412)>>2] = $946; + HEAP32[(19400)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19564)>>2]|0; - HEAP32[(19104)>>2] = $952; + $952 = HEAP32[(19876)>>2]|0; + HEAP32[(19416)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19524)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19524)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19524)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19524)+12>>2]|0; - HEAP32[(19524)>>2] = $$749$i; - HEAP32[(19528)>>2] = $$723948$i; - HEAP32[(19536)>>2] = 0; - HEAP32[(19532)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19836)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19836)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19836)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19836)+12>>2]|0; + HEAP32[(19836)>>2] = $$749$i; + HEAP32[(19840)>>2] = $$723948$i; + HEAP32[(19848)>>2] = 0; + HEAP32[(19844)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35990,20 +35953,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19116 + ($968<<2)|0); - $970 = HEAP32[4769]|0; + $969 = (19428 + ($968<<2)|0); + $970 = HEAP32[4847]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4769] = $974; + HEAP32[4847] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19092)>>2]|0; + $977 = HEAP32[(19404)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -36055,19 +36018,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19380 + ($$0212$i$i<<2)|0); + $1007 = (19692 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19080)>>2]|0; + $1010 = HEAP32[(19392)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19080)>>2] = $1014; + HEAP32[(19392)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -36106,7 +36069,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19092)>>2]|0; + $1033 = HEAP32[(19404)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -36125,7 +36088,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19092)>>2]|0; + $1040 = HEAP32[(19404)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -36148,14 +36111,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19088)>>2]|0; + $1048 = HEAP32[(19400)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19088)>>2] = $1050; - $1051 = HEAP32[(19100)>>2]|0; + HEAP32[(19400)>>2] = $1050; + $1051 = HEAP32[(19412)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19100)>>2] = $1052; + HEAP32[(19412)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -36198,7 +36161,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19092)>>2]|0; + $3 = HEAP32[(19404)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -36231,7 +36194,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19096)>>2]|0; + $19 = HEAP32[(19408)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -36246,7 +36209,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19084)>>2] = $17; + HEAP32[(19396)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -36260,7 +36223,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19116 + ($27<<2)|0); + $28 = (19428 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -36280,9 +36243,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4769]|0; + $37 = HEAP32[4847]|0; $38 = $37 & $36; - HEAP32[4769] = $38; + HEAP32[4847] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36396,7 +36359,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19380 + ($74<<2)|0); + $75 = (19692 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36406,14 +36369,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19080)>>2]|0; + $80 = HEAP32[(19392)>>2]|0; $81 = $80 & $79; - HEAP32[(19080)>>2] = $81; + HEAP32[(19392)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19092)>>2]|0; + $82 = HEAP32[(19404)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36435,7 +36398,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19092)>>2]|0; + $88 = HEAP32[(19404)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36467,7 +36430,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19092)>>2]|0; + $100 = HEAP32[(19404)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36502,14 +36465,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19100)>>2]|0; + $120 = HEAP32[(19412)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19096)>>2]|0; + $122 = HEAP32[(19408)>>2]|0; if ($121) { - $123 = HEAP32[(19088)>>2]|0; + $123 = HEAP32[(19400)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19088)>>2] = $124; - HEAP32[(19100)>>2] = $$1; + HEAP32[(19400)>>2] = $124; + HEAP32[(19412)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36517,16 +36480,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19096)>>2] = 0; - HEAP32[(19084)>>2] = 0; + HEAP32[(19408)>>2] = 0; + HEAP32[(19396)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19084)>>2]|0; + $129 = HEAP32[(19396)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19084)>>2] = $130; - HEAP32[(19096)>>2] = $113; + HEAP32[(19396)>>2] = $130; + HEAP32[(19408)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36545,10 +36508,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19116 + ($142<<2)|0); + $143 = (19428 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19092)>>2]|0; + $145 = HEAP32[(19404)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36566,9 +36529,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4769]|0; + $153 = HEAP32[4847]|0; $154 = $153 & $152; - HEAP32[4769] = $154; + HEAP32[4847] = $154; break; } $155 = ($141|0)==($143|0); @@ -36576,7 +36539,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19092)>>2]|0; + $156 = HEAP32[(19404)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36636,7 +36599,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19092)>>2]|0; + $189 = HEAP32[(19404)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36649,7 +36612,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19092)>>2]|0; + $169 = HEAP32[(19404)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36680,7 +36643,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19380 + ($193<<2)|0); + $194 = (19692 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36690,13 +36653,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19080)>>2]|0; + $199 = HEAP32[(19392)>>2]|0; $200 = $199 & $198; - HEAP32[(19080)>>2] = $200; + HEAP32[(19392)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19092)>>2]|0; + $201 = HEAP32[(19404)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36717,7 +36680,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19092)>>2]|0; + $207 = HEAP32[(19404)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36747,7 +36710,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19092)>>2]|0; + $219 = HEAP32[(19404)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36768,10 +36731,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19096)>>2]|0; + $226 = HEAP32[(19408)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19084)>>2] = $135; + HEAP32[(19396)>>2] = $135; return; } else { $$2 = $135; @@ -36790,20 +36753,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19116 + ($234<<2)|0); - $236 = HEAP32[4769]|0; + $235 = (19428 + ($234<<2)|0); + $236 = HEAP32[4847]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4769] = $240; + HEAP32[4847] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19092)>>2]|0; + $243 = HEAP32[(19404)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36855,21 +36818,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19380 + ($$0396<<2)|0); + $273 = (19692 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19080)>>2]|0; + $277 = HEAP32[(19392)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19080)>>2] = $281; + HEAP32[(19392)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36907,7 +36870,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19092)>>2]|0; + $300 = HEAP32[(19404)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36926,7 +36889,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19092)>>2]|0; + $307 = HEAP32[(19404)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36948,12 +36911,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19108)>>2]|0; + $314 = HEAP32[(19420)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19108)>>2] = $315; + HEAP32[(19420)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19532); + $$0212$in$i = (19844); } else { return; } @@ -36967,7 +36930,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19108)>>2] = -1; + HEAP32[(19420)>>2] = -1; return; } function _realloc($0,$1) { @@ -37039,7 +37002,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19092)>>2]|0; + $6 = HEAP32[(19404)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -37069,7 +37032,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19556)>>2]|0; + $18 = HEAP32[(19868)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -37105,10 +37068,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19100)>>2]|0; + $34 = HEAP32[(19412)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19088)>>2]|0; + $36 = HEAP32[(19400)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -37124,15 +37087,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19100)>>2] = $40; - HEAP32[(19088)>>2] = $39; + HEAP32[(19412)>>2] = $40; + HEAP32[(19400)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19096)>>2]|0; + $46 = HEAP32[(19408)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19084)>>2]|0; + $48 = HEAP32[(19396)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -37168,8 +37131,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19084)>>2] = $storemerge1; - HEAP32[(19096)>>2] = $storemerge; + HEAP32[(19396)>>2] = $storemerge1; + HEAP32[(19408)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -37196,7 +37159,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19116 + ($81<<2)|0); + $82 = (19428 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -37216,9 +37179,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4769]|0; + $91 = HEAP32[4847]|0; $92 = $91 & $90; - HEAP32[4769] = $92; + HEAP32[4847] = $92; break; } $93 = ($80|0)==($82|0); @@ -37327,7 +37290,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19380 + ($128<<2)|0); + $129 = (19692 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37337,13 +37300,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19080)>>2]|0; + $134 = HEAP32[(19392)>>2]|0; $135 = $134 & $133; - HEAP32[(19080)>>2] = $135; + HEAP32[(19392)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19092)>>2]|0; + $136 = HEAP32[(19404)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37364,7 +37327,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19092)>>2]|0; + $142 = HEAP32[(19404)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37394,7 +37357,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19092)>>2]|0; + $154 = HEAP32[(19404)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37479,13 +37442,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19092)>>2]|0; + $13 = HEAP32[(19404)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19096)>>2]|0; + $15 = HEAP32[(19408)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37500,7 +37463,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19084)>>2] = $12; + HEAP32[(19396)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37514,7 +37477,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19116 + ($23<<2)|0); + $24 = (19428 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37534,9 +37497,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4769]|0; + $33 = HEAP32[4847]|0; $34 = $33 & $32; - HEAP32[4769] = $34; + HEAP32[4847] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37650,7 +37613,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19380 + ($70<<2)|0); + $71 = (19692 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37660,14 +37623,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19080)>>2]|0; + $76 = HEAP32[(19392)>>2]|0; $77 = $76 & $75; - HEAP32[(19080)>>2] = $77; + HEAP32[(19392)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19092)>>2]|0; + $78 = HEAP32[(19404)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37689,7 +37652,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19092)>>2]|0; + $84 = HEAP32[(19404)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37721,7 +37684,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19092)>>2]|0; + $96 = HEAP32[(19404)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37740,7 +37703,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19092)>>2]|0; + $108 = HEAP32[(19404)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37751,14 +37714,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19100)>>2]|0; + $114 = HEAP32[(19412)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19096)>>2]|0; + $116 = HEAP32[(19408)>>2]|0; if ($115) { - $117 = HEAP32[(19088)>>2]|0; + $117 = HEAP32[(19400)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19088)>>2] = $118; - HEAP32[(19100)>>2] = $$1; + HEAP32[(19400)>>2] = $118; + HEAP32[(19412)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37766,16 +37729,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19096)>>2] = 0; - HEAP32[(19084)>>2] = 0; + HEAP32[(19408)>>2] = 0; + HEAP32[(19396)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19084)>>2]|0; + $123 = HEAP32[(19396)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19084)>>2] = $124; - HEAP32[(19096)>>2] = $$1; + HEAP32[(19396)>>2] = $124; + HEAP32[(19408)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37794,7 +37757,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19116 + ($136<<2)|0); + $137 = (19428 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37814,9 +37777,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4769]|0; + $146 = HEAP32[4847]|0; $147 = $146 & $145; - HEAP32[4769] = $147; + HEAP32[4847] = $147; break; } $148 = ($135|0)==($137|0); @@ -37925,7 +37888,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19380 + ($183<<2)|0); + $184 = (19692 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37935,13 +37898,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19080)>>2]|0; + $189 = HEAP32[(19392)>>2]|0; $190 = $189 & $188; - HEAP32[(19080)>>2] = $190; + HEAP32[(19392)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19092)>>2]|0; + $191 = HEAP32[(19404)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37962,7 +37925,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19092)>>2]|0; + $197 = HEAP32[(19404)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37992,7 +37955,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19092)>>2]|0; + $209 = HEAP32[(19404)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -38013,10 +37976,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19096)>>2]|0; + $216 = HEAP32[(19408)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19084)>>2] = $129; + HEAP32[(19396)>>2] = $129; return; } else { $$2 = $129; @@ -38035,20 +37998,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19116 + ($224<<2)|0); - $226 = HEAP32[4769]|0; + $225 = (19428 + ($224<<2)|0); + $226 = HEAP32[4847]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4769] = $230; + HEAP32[4847] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19092)>>2]|0; + $233 = HEAP32[(19404)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -38100,20 +38063,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19380 + ($$0431<<2)|0); + $263 = (19692 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19080)>>2]|0; + $267 = HEAP32[(19392)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19080)>>2] = $271; + HEAP32[(19392)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -38152,7 +38115,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19092)>>2]|0; + $290 = HEAP32[(19404)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -38170,7 +38133,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19092)>>2]|0; + $297 = HEAP32[(19404)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/core/core_input_keys.js b/docs/examples/web/core/core_input_keys.js index 7993046a..6e37e03f 100644 --- a/docs/examples/web/core/core_input_keys.js +++ b/docs/examples/web/core/core_input_keys.js @@ -7244,6 +7244,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7343,13 +7393,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8300,45 +8343,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_input_mouse.js b/docs/examples/web/core/core_input_mouse.js index 2584ac70..87dd1d33 100644 --- a/docs/examples/web/core/core_input_mouse.js +++ b/docs/examples/web/core/core_input_mouse.js @@ -7235,6 +7235,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7334,13 +7384,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8291,45 +8334,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_mouse_wheel.js b/docs/examples/web/core/core_mouse_wheel.js index 23dff6b0..84f893ac 100644 --- a/docs/examples/web/core/core_mouse_wheel.js +++ b/docs/examples/web/core/core_mouse_wheel.js @@ -7229,6 +7229,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7328,13 +7378,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8285,45 +8328,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_random_values.js b/docs/examples/web/core/core_random_values.js index aa90fc4d..fd275ac2 100644 --- a/docs/examples/web/core/core_random_values.js +++ b/docs/examples/web/core/core_random_values.js @@ -7223,6 +7223,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7322,13 +7372,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8279,45 +8322,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_vr_simulator.js b/docs/examples/web/core/core_vr_simulator.js index b79ecba9..0997fdc2 100644 --- a/docs/examples/web/core/core_vr_simulator.js +++ b/docs/examples/web/core/core_vr_simulator.js @@ -7391,30 +7391,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7549,13 +7599,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8696,45 +8739,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/core/core_world_screen.js b/docs/examples/web/core/core_world_screen.js index 1c7761aa..b9baaa24 100644 --- a/docs/examples/web/core/core_world_screen.js +++ b/docs/examples/web/core/core_world_screen.js @@ -7287,30 +7287,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7445,13 +7495,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8672,45 +8715,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/loader.html b/docs/examples/web/loader.html deleted file mode 100644 index 84a41d05..00000000 --- a/docs/examples/web/loader.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - loading... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - -
- - - -
- - - - - - - - - \ No newline at end of file diff --git a/docs/examples/web/makefile b/docs/examples/web/makefile index 62c17f65..8771555a 100644 --- a/docs/examples/web/makefile +++ b/docs/examples/web/makefile @@ -29,10 +29,14 @@ PLATFORM ?= PLATFORM_DESKTOP # define NO to use OpenAL Soft as static library (shared by default) -SHARED_OPENAL ?= NO +SHARED_OPENAL ?= YES + +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif # define raylib directory for include and library -RAYLIB_PATH = C:\GitHub\raylib +RAYLIB_PATH = D:\GitHub\raylib # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) @@ -77,7 +81,7 @@ endif # -std=gnu99 defines C language mode (GNU C from 1999 revision) # -fgnu89-inline declaring inline functions support (GCC optimized) # -Wno-missing-braces ignore invalid warning (GCC bug 53119) -# -D_DEFAULT_SOURCE use with -std=c99 on Linux to enable timespec and drflac +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) CFLAGS = -O2 -s -Wall -std=c99 @@ -90,11 +94,12 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - CFLAGS = -O1 -Wall -std=c99 -s USE_GLFW=3 -s ASSERTIONS=1 --profiling - # -O2 # if used, also set --memory-init-file 0 - # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # -preload-file file.res # embbed file.res resource into .data file endif ifeq ($(PLATFORM),PLATFORM_RPI) CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline @@ -236,28 +241,31 @@ EXAMPLES = \ shapes/shapes_basic_shapes \ shapes/shapes_colors_palette \ shapes/shapes_logo_raylib_anim \ + shapes/shapes_lines_bezier \ textures/textures_logo_raylib \ textures/textures_image_loading \ textures/textures_rectangle \ textures/textures_srcrec_dstrec \ textures/textures_to_image \ textures/textures_raw_data \ + textures/textures_particles_blending \ textures/textures_image_processing \ textures/textures_image_drawing \ text/text_sprite_fonts \ text/text_bmfont_ttf \ - text/text_rbmf_fonts \ + text/text_raylib_fonts \ text/text_format_text \ text/text_writing_anim \ text/text_ttf_loading \ text/text_bmfont_unordered \ + text/text_input_box \ models/models_geometric_shapes \ models/models_box_collisions \ models/models_billboard \ models/models_obj_loading \ models/models_heightmap \ models/models_cubicmap \ - models/models_ray_picking \ + models/models_mesh_picking \ shaders/shaders_model_shader \ shaders/shaders_shapes_textures \ shaders/shaders_custom_uniform \ @@ -266,6 +274,11 @@ EXAMPLES = \ audio/audio_music_stream \ audio/audio_module_playing \ audio/audio_raw_stream \ + physac/physics_demo \ + physac/physics_friction \ + physac/physics_movement \ + physac/physics_restitution \ + physac/physics_shatter \ # typing 'make' will invoke the default target entry called 'all', @@ -372,6 +385,10 @@ shapes/shapes_colors_palette: shapes/shapes_colors_palette.c # compile [shapes] example - raylib logo animation shapes/shapes_logo_raylib_anim: shapes/shapes_logo_raylib_anim.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + +# compile [shapes] example - lines bezier +shapes/shapes_lines_bezier: shapes/shapes_lines_bezier.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) # compile [textures] example - raylib logo texture loading textures/textures_logo_raylib: textures/textures_logo_raylib.c @@ -399,7 +416,13 @@ textures/textures_to_image: textures/textures_to_image.c # compile [textures] example - texture raw data textures/textures_raw_data: textures/textures_raw_data.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ + --preload-file textures/resources/fudesumi.raw@resources/fudesumi.raw + +# compile [textures] example - texture particles blending +textures/textures_particles_blending: textures/textures_particles_blending.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ + --preload-file textures/resources/smoke.png@resources/smoke.png # compile [textures] example - texture image processing textures/textures_image_processing: textures/textures_image_processing.c @@ -426,17 +449,17 @@ text/text_bmfont_ttf: text/text_bmfont_ttf.c --preload-file text/resources/bmfont.png@resources/bmfont.png \ --preload-file text/resources/pixantiqua.ttf@resources/pixantiqua.ttf -# compile [text] example - raylib bitmap fonts (rBMF) -text/text_rbmf_fonts: text/text_rbmf_fonts.c +# compile [text] example - raylib fonts +text/text_raylib_fonts: text/text_raylib_fonts.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ - --preload-file text/resources/fonts/alagard.rbmf \ - --preload-file text/resources/fonts/pixelplay.rbmf \ - --preload-file text/resources/fonts/mecha.rbmf \ - --preload-file text/resources/fonts/setback.rbmf \ - --preload-file text/resources/fonts/romulus.rbmf \ - --preload-file text/resources/fonts/pixantiqua.rbmf \ - --preload-file text/resources/fonts/alpha_beta.rbmf \ - --preload-file text/resources/fonts/jupiter_crash.rbmf + --preload-file text/resources/fonts/alagard.png@resources/fonts/alagard.png \ + --preload-file text/resources/fonts/pixelplay.png@resources/fonts/pixelplay.png \ + --preload-file text/resources/fonts/mecha.png@resources/fonts/mecha.png \ + --preload-file text/resources/fonts/setback.png@resources/fonts/setback.png \ + --preload-file text/resources/fonts/romulus.png@resources/fonts/romulus.png \ + --preload-file text/resources/fonts/pixantiqua.png@resources/fonts/pixantiqua.png \ + --preload-file text/resources/fonts/alpha_beta.png@resources/fonts/alpha_beta.png \ + --preload-file text/resources/fonts/jupiter_crash.png@resources/fonts/jupiter_crash.png # compile [text] example - text formatting text/text_format_text: text/text_format_text.c @@ -457,6 +480,10 @@ text/text_bmfont_unordered: text/text_bmfont_unordered.c --preload-file text/resources/pixantiqua.fnt@resources/pixantiqua.fnt \ --preload-file text/resources/pixantiqua_0.png@resources/pixantiqua_0.png +# compile [text] example - text input box +text/text_input_box: text/text_input_box.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + # compile [models] example - basic geometric 3d shapes models/models_geometric_shapes: models/models_geometric_shapes.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) @@ -491,8 +518,8 @@ models/models_cubicmap: models/models_cubicmap.c --preload-file models/resources/cubicmap.png@resources/cubicmap.png \ --preload-file models/resources/cubicmap_atlas.png@resources/cubicmap_atlas.png -# compile [models] example - model ray picking -models/models_ray_picking: models/models_ray_picking.c +# compile [models] example - model mesh picking +models/models_mesh_picking: models/models_mesh_picking.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file models/resources/tower.obj@resources/tower.obj \ --preload-file models/resources/tower.png@resources/tower.png @@ -508,7 +535,7 @@ shaders/shaders_model_shader: shaders/shaders_model_shader.c # compile [shaders] example - shapes texture shader shaders/shaders_shapes_textures: shaders/shaders_shapes_textures.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ - --preload-file shaders/resources/sonic.png@resources/sonic.png \ + --preload-file shaders/resources/fudesumi.png@resources/fudesumi.png \ --preload-file shaders/resources/shaders/glsl100/base.vs@resources/shaders/glsl100/base.vs \ --preload-file shaders/resources/shaders/glsl100/grayscale.fs@resources/shaders/glsl100/grayscale.fs @@ -529,26 +556,45 @@ shaders/shaders_postprocessing: shaders/shaders_postprocessing.c --preload-file shaders/resources/shaders/glsl100/bloom.fs@resources/shaders/glsl100/bloom.fs # compile [audio] example - sound loading and playing (WAV and OGG) -audio_sound_loading: audio_sound_loading.c +audio/audio_sound_loading: audio/audio_sound_loading.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file audio/resources/weird.wav@resources/weird.wav \ --preload-file audio/resources/tanatana.ogg@resources/tanatana.ogg # compile [audio] example - music stream playing (OGG) -audio_music_stream: audio_music_stream.c +audio/audio_music_stream: audio/audio_music_stream.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file audio/resources/guitar_noodling.ogg@resources/guitar_noodling.ogg -# compile [audio] example - music stream playing (OGG) -audio_module_playing: audio_module_playing.c +# compile [audio] example - module playing (XM) +audio/audio_module_playing: audio/audio_module_playing.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) \ --preload-file audio/resources/mini1111.xm@resources/mini1111.xm -# compile [audio] example - music stream playing (OGG) -audio_raw_stream: audio_raw_stream.c +# compile [audio] example - raw audio streaming +audio/audio_raw_stream: audio/audio_raw_stream.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s ALLOW_MEMORY_GROWTH=1 - +# compile [physac] example - physics demo +physac/physics_demo: physac/physics_demo.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + +# compile [physac] example - physics friction +physac/physics_friction: physac/physics_friction.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + +# compile [physac] example - physics movement +physac/physics_movement: physac/physics_movement.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + +# compile [physac] example - physics restitution +physac/physics_restitution: physac/physics_restitution.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + +# compile [physac] example - physics shatter +physac/physics_shatter: physac/physics_shatter.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + # fix dylib install path name for each executable (MAC) fix_dylib: ifeq ($(PLATFORM_OS),OSX) @@ -565,7 +611,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif @@ -574,6 +620,7 @@ ifeq ($(PLATFORM),PLATFORM_RPI) rm -f *.o endif ifeq ($(PLATFORM),PLATFORM_WEB) - del *.o *.html *.js + # TODO: Remove all generated files in all folders... avoid deleting loader.html! + del *.o *.html *.js *.data endif @echo Cleaning done diff --git a/docs/examples/web/models/models_billboard.js b/docs/examples/web/models/models_billboard.js index 6f3f6836..1d677c1a 100644 --- a/docs/examples/web/models/models_billboard.js +++ b/docs/examples/web/models/models_billboard.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 22439, "filename": "/resources/billboard.png"}], "remote_package_size": 22439, "package_uuid": "d5a232e4-08f5-4e5c-94ec-edbc16e09e53"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 22439, "filename": "/resources/billboard.png"}], "remote_package_size": 22439, "package_uuid": "b2ae9e61-c19e-44f5-a191-b007fd6e7a1d"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22240; +STATICTOP = STATIC_BASE + 22224; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,160,64,0,0,128,64,0,0,160,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,0,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,223,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,100,114,97,119,105,110,103,32,98,105,108,108,98,111,97,114,100,115,0,114,101,115,111,117,114,99,101,115,47,98,105,108,108,98,111,97,114,100,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,160,64,0,0,128,64,0,0,160,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,0,0,0,0,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,207,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,100,114,97,119,105,110,103,32,98,105,108,108,98,111,97,114,100,115,0,114,101,115,111,117,114,99,101,115,47,98,105,108,108,98,111,97,114,100,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10485,11 +10485,11 @@ function _main() { $2 = HEAP32[3]|0; _InitWindow($1,$2,4228); _LoadTexture($0,4273); - ;HEAP32[16624>>2]=HEAP32[$0>>2]|0;HEAP32[16624+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16624+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16624+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16624+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[16928>>2]=HEAP32[$0>>2]|0;HEAP32[16928+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16928+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16928+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16928+16>>2]=HEAP32[$0+16>>2]|0; dest=$bill$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($bill$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$bill$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; + ;HEAP32[$bill$byval_copy>>2]=HEAP32[16928>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16928+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16928+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16928+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16928+16>>2]|0; _UnloadTexture($bill$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10519,7 +10519,7 @@ function _UpdateDrawFrame() { _Begin3dMode($tmpcast$byval_copy); HEAP32[$1>>2] = -1; dest=$camera$byval_copy1; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[$bill$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; + ;HEAP32[$bill$byval_copy>>2]=HEAP32[16928>>2]|0;HEAP32[$bill$byval_copy+4>>2]=HEAP32[16928+4>>2]|0;HEAP32[$bill$byval_copy+8>>2]=HEAP32[16928+8>>2]|0;HEAP32[$bill$byval_copy+12>>2]=HEAP32[16928+12>>2]|0;HEAP32[$bill$byval_copy+16>>2]=HEAP32[16928+16>>2]|0; ;HEAP32[$billPosition$byval_copy>>2]=HEAP32[56>>2]|0;HEAP32[$billPosition$byval_copy+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$billPosition$byval_copy+8>>2]=HEAP32[56+8>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; _DrawBillboard($camera$byval_copy1,$bill$byval_copy,$billPosition$byval_copy,2.0,$tmpcast$byval_copy); @@ -10529,56 +10529,106 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorAdd($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 + $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 + $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 + $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 + $16; + HEAPF32[$12>>2] = $17; return; } function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10731,13 +10781,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11519,7 +11562,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4162] = $2; + HEAP32[4238] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11532,7 +11575,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16344; + $95 = 16648; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11545,48 +11588,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16384; + $106 = 16688; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4096]; - $111 = +HEAPF32[4086]; + $110 = +HEAPF32[4172]; + $111 = +HEAPF32[4162]; $112 = $110 - $111; - HEAPF32[4098] = $112; - $113 = +HEAPF32[(16388)>>2]; - $114 = +HEAPF32[(16348)>>2]; + HEAPF32[4174] = $112; + $113 = +HEAPF32[(16692)>>2]; + $114 = +HEAPF32[(16652)>>2]; $115 = $113 - $114; - HEAPF32[(16396)>>2] = $115; - HEAP32[4161] = 4; + HEAPF32[(16700)>>2] = $115; + HEAP32[4237] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4167] = $116; - $117 = 16376; + HEAPF32[4243] = $116; + $117 = 16680; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16344; + $123 = 16648; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16400; + $127 = 16704; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16384; + $133 = 16688; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11599,7 +11642,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16376; + $144 = 16680; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11612,27 +11655,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16400; + $155 = 16704; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4100]; - $160 = +HEAPF32[4094]; + $159 = +HEAPF32[4176]; + $160 = +HEAPF32[4170]; $161 = $159 - $160; - HEAPF32[4098] = $161; - $162 = +HEAPF32[(16404)>>2]; - $163 = +HEAPF32[(16380)>>2]; + HEAPF32[4174] = $161; + $162 = +HEAPF32[(16708)>>2]; + $163 = +HEAPF32[(16684)>>2]; $164 = $162 - $163; - HEAPF32[(16396)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16376+4>>2]|0; + HEAPF32[(16700)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16688+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11644,31 +11687,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4167]; + $170 = +HEAPF32[4243]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4161] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16376+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16400>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16400+4>>2]|0; + HEAP32[4237] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4168] = $174; + HEAPF32[4244] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4167] = 0.0; - HEAPF32[4168] = 0.0; - HEAPF32[4098] = 0.0; - HEAPF32[(16396)>>2] = 0.0; - HEAP32[4162] = 0; - HEAP32[4161] = 0; + HEAPF32[4243] = 0.0; + HEAPF32[4244] = 0.0; + HEAPF32[4174] = 0.0; + HEAPF32[(16700)>>2] = 0.0; + HEAP32[4238] = 0; + HEAP32[4237] = 0; STACKTOP = sp;return; break; } @@ -11678,22 +11721,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4163]|0; + $6 = HEAP32[4239]|0; $7 = (($6) + 1)|0; - HEAP32[4163] = $7; - $8 = HEAP32[4161]|0; + HEAP32[4239] = $7; + $8 = HEAP32[4237]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4161] = 2; - HEAP32[4163] = 0; + HEAP32[4237] = 2; + HEAP32[4239] = 0; } else { label = 6; } @@ -11701,8 +11744,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4163] = 1; - HEAP32[4161] = 1; + HEAP32[4239] = 1; + HEAP32[4237] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11711,19 +11754,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16344; + $21 = 16648; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16352; + $25 = 16656; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16360; + $29 = 16664; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11732,13 +11775,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[17] = $34; - HEAPF32[4092] = 0.0; - HEAPF32[(16372)>>2] = 0.0; + HEAPF32[4168] = 0.0; + HEAPF32[(16676)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4161]|0; + $35 = HEAP32[4237]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11748,19 +11791,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16360; + $44 = 16664; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4164] = $49; - HEAP32[4165] = 0; + HEAPF32[4240] = $49; + HEAP32[4241] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[17]|0; @@ -11768,11 +11811,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4166] = $56; + HEAPF32[4242] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11803,22 +11846,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4164] = 0.0; - HEAPF32[4166] = 0.0; + HEAPF32[4240] = 0.0; + HEAPF32[4242] = 0.0; $$sink10 = 0; } - HEAP32[4161] = $$sink10; - HEAPF32[4088] = 0.0; - HEAPF32[(16356)>>2] = 0.0; - HEAP32[4162] = 0; + HEAP32[4237] = $$sink10; + HEAPF32[4164] = 0.0; + HEAPF32[(16660)>>2] = 0.0; + HEAP32[4238] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4165]|0; + $65 = HEAP32[4241]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4165] = 1; + HEAP32[4241] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11827,31 +11870,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16376; + $74 = 16680; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4161]|0; + $78 = HEAP32[4237]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16376>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16376+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4161] = 8; + HEAP32[4237] = 8; } } - $82 = +HEAPF32[4094]; - $83 = +HEAPF32[4088]; + $82 = +HEAPF32[4170]; + $83 = +HEAPF32[4164]; $84 = $82 - $83; - HEAPF32[4092] = $84; - $85 = +HEAPF32[(16380)>>2]; - $86 = +HEAPF32[(16356)>>2]; + HEAPF32[4168] = $84; + $85 = +HEAPF32[(16684)>>2]; + $86 = +HEAPF32[(16660)>>2]; $87 = $85 - $86; - HEAPF32[(16372)>>2] = $87; + HEAPF32[(16676)>>2] = $87; STACKTOP = sp;return; break; } @@ -11860,58 +11903,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4161]|0; + $0 = HEAP32[4237]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4162]|0; + $2 = HEAP32[4238]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4161] = 4; + HEAP32[4237] = 4; } - $4 = HEAP32[4161]|0; + $4 = HEAP32[4237]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11924,7 +11928,7 @@ function _UpdateGestures() { return; } } - HEAP32[4161] = 0; + HEAP32[4237] = 0; return; } function _SetCameraMode($0,$1) { @@ -11953,22 +11957,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4169] = $10; + HEAPF32[4245] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4170] = $16; + HEAPF32[4246] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4171] = $20; + HEAPF32[4247] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[18] = $21; - HEAP32[4172] = $1; + HEAP32[4248] = $1; return; } function _UpdateCamera($0) { @@ -12037,7 +12041,7 @@ function _UpdateCamera($0) { $30 = HEAP32[27]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4172]|0; + $32 = HEAP32[4248]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12109,9 +12113,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4102]; + $64 = +HEAPF32[4178]; $65 = $37 - $64; - $66 = +HEAPF32[(16412)>>2]; + $66 = +HEAPF32[(16716)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12119,11 +12123,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4102]; + $69 = +HEAPF32[4178]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(16412)>>2]; + $73 = +HEAPF32[(16716)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12135,16 +12139,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 16408; + $81 = 16712; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4172]|0; + $$pr = HEAP32[4248]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4169]; + $85 = +HEAPF32[4245]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12153,10 +12157,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4169] = $90; + HEAPF32[4245] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4169] = 120.0; + HEAPF32[4245] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12235,12 +12239,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4169] = $148; + HEAPF32[4245] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4169] = 0.30000001192092896; + HEAPF32[4245] = 0.30000001192092896; break; } } @@ -12262,7 +12266,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4169]; + $164 = +HEAPF32[4245]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12294,7 +12298,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4169]; + $188 = +HEAPF32[4245]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12318,12 +12322,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4169]; + $205 = +HEAPF32[4245]; $206 = $205 - $204; - HEAPF32[4169] = $206; + HEAPF32[4245] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4169] = 0.30000001192092896; + HEAPF32[4245] = 0.30000001192092896; } } } @@ -12337,17 +12341,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4170]; + $223 = +HEAPF32[4246]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4171]; + $229 = +HEAPF32[4247]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4169]; + $233 = +HEAPF32[4245]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12377,23 +12381,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4169]; + $212 = +HEAPF32[4245]; $213 = $211 + $212; - HEAPF32[4169] = $213; + HEAPF32[4245] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4170]; + $215 = +HEAPF32[4246]; $216 = $215 - $214; - HEAPF32[4170] = $216; + HEAPF32[4246] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4171]; + $218 = +HEAPF32[4247]; $219 = $218 - $217; - HEAPF32[4171] = $219; + HEAPF32[4247] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4171] = 1.483529806137085; + HEAPF32[4247] = 1.483529806137085; label = 58; break L1; } @@ -12402,32 +12406,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4171] = -1.483529806137085; + HEAPF32[4247] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4170]; + $254 = +HEAPF32[4246]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4170] = $255; + HEAPF32[4246] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4169]; + $258 = +HEAPF32[4245]; $259 = $258 - $257; - HEAPF32[4169] = $259; + HEAPF32[4245] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4169] = 1.2000000476837158; + HEAPF32[4245] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4170]; + $264 = +HEAPF32[4246]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12449,7 +12453,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4171]; + $285 = +HEAPF32[4247]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12517,14 +12521,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4170]; + $314 = +HEAPF32[4246]; $315 = $314 - $313; - HEAPF32[4170] = $315; + HEAPF32[4246] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4171]; + $317 = +HEAPF32[4247]; $318 = $317 - $316; - HEAPF32[4171] = $318; - $319 = HEAP32[4172]|0; + HEAPF32[4247] = $318; + $319 = HEAP32[4248]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12539,17 +12543,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4171] = $$sink26; + HEAPF32[4247] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4169]; + $325 = +HEAPF32[4245]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4169] = $storemerge; + HEAPF32[4245] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4170]; + $329 = +HEAPF32[4246]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12580,17 +12584,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4171] = $$sink28; + HEAPF32[4247] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4170]; + $347 = +HEAPF32[4246]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4171]; + $353 = +HEAPF32[4247]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12604,12 +12608,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4173]|0; + $364 = HEAP32[4249]|0; $365 = (($364) + 1)|0; - HEAP32[4173] = $365; + HEAP32[4249] = $365; } $366 = +HEAPF32[18]; - $367 = HEAP32[4173]|0; + $367 = HEAP32[4249]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12639,7 +12643,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4172]|0; + $$pr190 = HEAP32[4248]|0; $380 = $$pr190; } switch ($380|0) { @@ -12650,11 +12654,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4170]; + $381 = +HEAPF32[4246]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4169]; + $383 = +HEAPF32[4245]; $384 = $382 * $383; - $385 = +HEAPF32[4171]; + $385 = +HEAPF32[4247]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12663,7 +12667,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4169]; + $393 = +HEAPF32[4245]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12687,7 +12691,7 @@ function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16416; + $1 = 16720; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12704,7 +12708,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4178]|0; + $0 = HEAP32[4254]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12729,19 +12733,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4177]|0; + $0 = HEAP32[4253]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4176]|0; + $0 = HEAP32[4252]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4174] = 1; + HEAP32[4250] = 1; return; } function _SetMousePosition($0) { @@ -12754,13 +12758,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 16416; + $7 = 16720; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4175]|0; + $11 = HEAP32[4251]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -12772,14 +12776,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4174] = 0; + HEAP32[4250] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4175]|0; + $1 = HEAP32[4251]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -12787,7 +12791,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4175]|0; + $1 = HEAP32[4251]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -12800,7 +12804,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4297,$vararg_buffer); - HEAP32[4179] = $2; + HEAP32[4255] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -12813,15 +12817,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4326|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4177]|0; + $3 = HEAP32[4253]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4104] = $5; - $6 = HEAP32[4176]|0; + HEAPF32[4180] = $5; + $6 = HEAP32[4252]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16420)>>2] = $8; - $9 = HEAP32[4180]|0; + HEAPF32[(16724)>>2] = $8; + $9 = HEAP32[4256]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12840,11 +12844,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16456>>0]=HEAP8[8826>>0]|0;HEAP8[16456+1>>0]=HEAP8[8826+1>>0]|0;HEAP8[16456+2>>0]=HEAP8[8826+2>>0]|0;HEAP8[16456+3>>0]=HEAP8[8826+3>>0]|0;HEAP8[16456+4>>0]=HEAP8[8826+4>>0]|0;HEAP8[16456+5>>0]=HEAP8[8826+5>>0]|0;HEAP8[16456+6>>0]=HEAP8[8826+6>>0]|0; + ;HEAP8[16760>>0]=HEAP8[8826>>0]|0;HEAP8[16760+1>>0]=HEAP8[8826+1>>0]|0;HEAP8[16760+2>>0]=HEAP8[8826+2>>0]|0;HEAP8[16760+3>>0]=HEAP8[8826+3>>0]|0;HEAP8[16760+4>>0]=HEAP8[8826+4>>0]|0;HEAP8[16760+5>>0]=HEAP8[8826+5>>0]|0;HEAP8[16760+6>>0]=HEAP8[8826+6>>0]|0; break; } case 1: { - $3 = 16456; + $3 = 16760; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12853,11 +12857,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16456; src=8833; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16760; src=8833; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16456; + $7 = 16760; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12868,16 +12872,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16456,$1)|0); - $strlen = (_strlen(16456)|0); - $endptr = (16456 + ($strlen)|0); + (_strcat(16760,$1)|0); + $strlen = (_strlen(16760)|0); + $endptr = (16760 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16456,$2)|0); + (_vprintf(16760,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12909,22 +12913,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4177] = $0; - HEAP32[4176] = $1; + HEAP32[4253] = $0; + HEAP32[4252] = $1; _MatrixIdentity($2); - dest=16796; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17100; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4968,$vararg_buffer); } - $6 = HEAP32[4177]|0; - HEAP32[4215] = $6; - $7 = HEAP32[4176]|0; - HEAP32[4216] = $7; + $6 = HEAP32[4253]|0; + HEAP32[4291] = $6; + $7 = HEAP32[4252]|0; + HEAP32[4292] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19536]|0; + $8 = HEAP8[19840]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12932,13 +12936,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19536]|0; + $11 = HEAP8[19840]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19536]|0; + $14 = HEAP8[19840]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12960,18 +12964,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4217]|0; + $21 = HEAP32[4293]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4177]|0; - $48 = HEAP32[4176]|0; - $49 = HEAP32[4179]|0; + $47 = HEAP32[4253]|0; + $48 = HEAP32[4252]|0; + $49 = HEAP32[4255]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4175] = $50; - $51 = HEAP32[4177]|0; - HEAP32[4218] = $51; - $52 = HEAP32[4176]|0; - HEAP32[4219] = $52; + HEAP32[4251] = $50; + $51 = HEAP32[4253]|0; + HEAP32[4294] = $51; + $52 = HEAP32[4252]|0; + HEAP32[4295] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12980,9 +12984,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4177]|0; + $27 = HEAP32[4253]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4176]|0; + $29 = HEAP32[4252]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13004,25 +13008,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4215] = $31; - HEAP32[4216] = $34; + HEAP32[4291] = $31; + HEAP32[4292] = $34; } } while(0); - $38 = HEAP32[4215]|0; - $39 = HEAP32[4216]|0; + $38 = HEAP32[4291]|0; + $39 = HEAP32[4292]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5019,$vararg_buffer3); - $40 = HEAP32[4215]|0; - $41 = HEAP32[4216]|0; + $40 = HEAP32[4291]|0; + $41 = HEAP32[4292]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4215]|0; - $43 = HEAP32[4216]|0; - $44 = HEAP32[4179]|0; + $42 = HEAP32[4291]|0; + $43 = HEAP32[4292]|0; + $44 = HEAP32[4255]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4175] = $46; + HEAP32[4251] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13031,60 +13035,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5057,$vararg_buffer6); } else { _TraceLog(0,5090,$vararg_buffer8); - $55 = HEAP32[4218]|0; - $56 = HEAP32[4219]|0; + $55 = HEAP32[4294]|0; + $56 = HEAP32[4295]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5130,$vararg_buffer10); - $57 = HEAP32[4177]|0; - $58 = HEAP32[4176]|0; + $57 = HEAP32[4253]|0; + $58 = HEAP32[4252]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5151,$vararg_buffer14); - $59 = HEAP32[4220]|0; - $60 = HEAP32[4221]|0; + $59 = HEAP32[4296]|0; + $60 = HEAP32[4297]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5172,$vararg_buffer18); } - $61 = HEAP32[4175]|0; + $61 = HEAP32[4251]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4175]|0; + $62 = HEAP32[4251]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4175]|0; + $63 = HEAP32[4251]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4175]|0; + $64 = HEAP32[4251]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4175]|0; + $65 = HEAP32[4251]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4175]|0; + $66 = HEAP32[4251]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4175]|0; + $67 = HEAP32[4251]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4175]|0; + $68 = HEAP32[4251]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4175]|0; + $69 = HEAP32[4251]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19536]|0; + $70 = HEAP8[19840]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4177]|0; - $74 = HEAP32[4176]|0; + $73 = HEAP32[4253]|0; + $74 = HEAP32[4252]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4218]|0; - $76 = HEAP32[4220]|0; + $75 = HEAP32[4294]|0; + $76 = HEAP32[4296]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4219]|0; - $80 = HEAP32[4221]|0; + $79 = HEAP32[4295]|0; + $80 = HEAP32[4297]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13103,18 +13107,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5197,$vararg_buffer22); - $73 = HEAP32[4177]|0; - $74 = HEAP32[4176]|0; + $73 = HEAP32[4253]|0; + $74 = HEAP32[4252]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4218]|0; - $76 = HEAP32[4220]|0; + $75 = HEAP32[4294]|0; + $76 = HEAP32[4296]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4219]|0; - $80 = HEAP32[4221]|0; + $79 = HEAP32[4295]|0; + $80 = HEAP32[4297]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13142,7 +13146,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16764)>>2] = 224; + HEAP32[(17068)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13183,27 +13187,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16740>>2]=HEAP32[$1>>2]|0;HEAP32[16740+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16740+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16740+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16740+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17044>>2]=HEAP32[$1>>2]|0;HEAP32[17044+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17044+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17044+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17044+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16764)>>2]|0; + $5 = HEAP32[(17068)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16768)>>2] = $7; + HEAP32[(17072)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16760)>>2] = $23; - $24 = HEAP32[4185]|0; + HEAP32[(17064)>>2] = $23; + $24 = HEAP32[4261]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4521,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16744)>>2]|0; - $10 = HEAP32[(16764)>>2]|0; - $11 = HEAP32[(16768)>>2]|0; + $9 = HEAP32[(17048)>>2]|0; + $10 = HEAP32[(17068)>>2]|0; + $11 = HEAP32[(17072)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13252,8 +13256,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16760)>>2] = $23; - $24 = HEAP32[4185]|0; + HEAP32[(17064)>>2] = $23; + $24 = HEAP32[4261]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4521,$vararg_buffer); STACKTOP = sp;return; @@ -13264,7 +13268,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2056] = $1; + HEAPF64[2094] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13423,7 +13427,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16432; + $31 = 16736; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13436,7 +13440,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16440); + $42 = (16744); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13492,7 +13496,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16724 + ($10<<2)|0); + $11 = (17028 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13506,7 +13510,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2053] = $$; + HEAPF64[2091] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13518,7 +13522,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4180] = 0; + HEAP32[4256] = 0; return; } function _GetTime() { @@ -14094,7 +14098,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4193]|0; + $6 = HEAP32[4269]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14104,7 +14108,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4194]|0; + $9 = HEAP32[4270]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14113,7 +14117,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4195]|0; + $12 = HEAP32[4271]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14123,7 +14127,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4196]|0; + $15 = HEAP32[4272]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14133,7 +14137,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4197]|0; + $18 = HEAP32[4273]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14177,7 +14181,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4193]|0; + $22 = HEAP32[4269]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14185,7 +14189,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4193]|0; + $24 = HEAP32[4269]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14193,7 +14197,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4193]|0; + $26 = HEAP32[4269]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14201,7 +14205,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4193]|0; + $28 = HEAP32[4269]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14209,7 +14213,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4194]|0; + $30 = HEAP32[4270]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14217,7 +14221,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4195]|0; + $32 = HEAP32[4271]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14225,7 +14229,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4195]|0; + $34 = HEAP32[4271]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14233,7 +14237,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4196]|0; + $36 = HEAP32[4272]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14241,7 +14245,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4196]|0; + $38 = HEAP32[4272]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14249,7 +14253,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4197]|0; + $40 = HEAP32[4273]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14257,7 +14261,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4197]|0; + $42 = HEAP32[4273]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14269,7 +14273,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4198]|0; + $44 = HEAP32[4274]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14284,7 +14288,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10917,$vararg_buffer15); + _TraceLog(2,11225,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14615,20 +14619,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4177]|0; + $3 = HEAP32[4253]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4176]|0; + $5 = HEAP32[4252]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4218] = $3; - HEAP32[4219] = $5; - HEAP32[4220] = 0; - HEAP32[4221] = 0; + HEAP32[4294] = $3; + HEAP32[4295] = $5; + HEAP32[4296] = 0; + HEAP32[4297] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14642,9 +14646,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4177]|0; + $35 = HEAP32[4253]|0; $36 = (+($35|0)); - $37 = HEAP32[4176]|0; + $37 = HEAP32[4252]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14652,26 +14656,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4218] = $45; - HEAP32[4219] = $37; + HEAP32[4294] = $45; + HEAP32[4295] = $37; $46 = (($45) - ($35))|0; - HEAP32[4220] = $46; + HEAP32[4296] = $46; $$sink1 = 0; } else { - HEAP32[4218] = $35; + HEAP32[4294] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4219] = $42; - HEAP32[4220] = 0; + HEAP32[4295] = $42; + HEAP32[4296] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4221] = $$sink1; + HEAP32[4297] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4176]|0; + $7 = HEAP32[4252]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14681,11 +14685,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8579,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4177]|0; + $9 = HEAP32[4253]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4176]|0; + $13 = HEAP32[4252]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14693,33 +14697,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4218] = $23; - HEAP32[4219] = $1; + HEAP32[4294] = $23; + HEAP32[4295] = $1; $24 = (($0) - ($23))|0; - HEAP32[4220] = $24; + HEAP32[4296] = $24; $$sink = 0; } else { - HEAP32[4218] = $0; - $17 = HEAP32[4176]|0; + HEAP32[4294] = $0; + $17 = HEAP32[4252]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4219] = $20; - HEAP32[4220] = 0; + HEAP32[4295] = $20; + HEAP32[4296] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4221] = $$sink; - $25 = HEAP32[4218]|0; + HEAP32[4297] = $$sink; + $25 = HEAP32[4294]|0; $26 = (+($25|0)); - $27 = HEAP32[4177]|0; + $27 = HEAP32[4253]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16796; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4218] = $0; - HEAP32[4219] = $1; + dest=17100; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4294] = $0; + HEAP32[4295] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14741,10 +14745,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4177] = $1; - HEAP32[4176] = $2; - HEAP32[4218] = $1; - HEAP32[4219] = $2; + HEAP32[4253] = $1; + HEAP32[4252] = $2; + HEAP32[4294] = $1; + HEAP32[4295] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14771,7 +14775,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19543 + ($1)|0); + $9 = (19847 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14792,7 +14796,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19537 + ($1)|0); + $7 = (19841 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14871,7 +14875,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16432; + $15 = 16736; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14906,7 +14910,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4591] = $3; + HEAP32[4667] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14916,7 +14920,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4590] = $$sink; + HEAP32[4666] = $$sink; return; } function _rlglInit($0,$1) { @@ -14997,18 +15001,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5329)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4256] = 1; + HEAP32[4332] = 1; $27 = (_eglGetProcAddress((5356|0))|0); - HEAP32[4257] = $27; + HEAP32[4333] = $27; $28 = (_eglGetProcAddress((5377|0))|0); - HEAP32[4258] = $28; + HEAP32[4334] = $28; $29 = (_eglGetProcAddress((5398|0))|0); - HEAP32[4259] = $29; + HEAP32[4335] = $29; } $30 = (_strcmp($24,5422)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4198] = 1; + HEAP32[4274] = 1; } $32 = (_strcmp($24,5442)|0); $33 = ($32|0)==(0); @@ -15030,7 +15034,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4193] = 1; + HEAP32[4269] = 1; } $39 = (_strcmp($24,5547)|0); $40 = ($39|0)==(0); @@ -15046,35 +15050,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4194] = 1; + HEAP32[4270] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5616)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4195] = 1; + HEAP32[4271] = 1; } $47 = (_strcmp($44,5641)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4196] = 1; + HEAP32[4272] = 1; } $49 = (_strcmp($44,5674)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4197] = 1; + HEAP32[4273] = 1; } $51 = (_strcmp($44,5710)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4260] = 1; - _glGetFloatv(34047,(17044|0)); + HEAP32[4336] = 1; + _glGetFloatv(34047,(17348|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5744)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4262] = 1; + HEAP32[4338] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15085,61 +15089,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4256]|0; + $21 = HEAP32[4332]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5847,$vararg_buffer15); } else { _TraceLog(0,5772,$vararg_buffer13); } - $57 = HEAP32[4198]|0; + $57 = HEAP32[4274]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5983,$vararg_buffer19); } else { _TraceLog(0,5908,$vararg_buffer17); } - $59 = HEAP32[4193]|0; + $59 = HEAP32[4269]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6075,$vararg_buffer21); } - $61 = HEAP32[4194]|0; + $61 = HEAP32[4270]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6121,$vararg_buffer23); } - $63 = HEAP32[4195]|0; + $63 = HEAP32[4271]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6168,$vararg_buffer25); } - $65 = HEAP32[4196]|0; + $65 = HEAP32[4272]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6219,$vararg_buffer27); } - $67 = HEAP32[4197]|0; + $67 = HEAP32[4273]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6266,$vararg_buffer29); } - $69 = HEAP32[4260]|0; + $69 = HEAP32[4336]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4261]; + $71 = +HEAPF32[4337]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6313,$vararg_buffer31); } - $73 = HEAP32[4262]|0; + $73 = HEAP32[4338]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6379,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4263] = $75; + HEAP32[4339] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6483,$vararg_buffer39); @@ -15148,14 +15152,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6432,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17056; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17112; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17360; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17416; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4292] = $77; + HEAP32[4368] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4292]|0; + $79 = HEAP32[4368]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15168,7 +15172,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4293] = $78; + HEAP32[4369] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15183,48 +15187,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4294] = 1; - $85 = HEAP32[4263]|0; + HEAP32[4370] = 1; + $85 = HEAP32[4339]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4295] = 4; + HEAP32[4371] = 4; _MatrixIdentity($4); - dest=17184; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17488; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17248); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17552); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17312); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17616); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17376); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17680); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17440); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17744); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17504); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17808); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17568); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17872); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17632); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17936); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17696); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18000); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17760); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18064); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17824); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18128); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17888); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18192); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17952); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18256); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18016); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18320); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18384); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18448); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16892; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17196; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=16956; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4222] = 16956; + dest=17260; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4298] = 17260; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15235,21 +15239,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4552] = $0; - HEAP32[4553] = $1; + HEAP32[4628] = $0; + HEAP32[4629] = $1; _TraceLog(0,6522,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4220]|0; + $0 = HEAP32[4296]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4221]|0; + $2 = HEAP32[4297]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4218]|0; + $4 = HEAP32[4294]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4219]|0; + $6 = HEAP32[4295]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15260,12 +15264,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16892; + $modelview$sink = 17196; label = 3; break; } case 5888: { - $modelview$sink = 16956; + $modelview$sink = 17260; label = 3; break; } @@ -15273,9 +15277,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4222] = $modelview$sink; + HEAP32[4298] = $modelview$sink; } - HEAP32[4255] = $0; + HEAP32[4331] = $0; return; } function _rlLoadIdentity() { @@ -15283,7 +15287,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4222]|0; + $1 = HEAP32[4298]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -15304,7 +15308,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4222]|0; + $8 = HEAP32[4298]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15401,15 +15405,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18228)>>2] = $0; + HEAP32[(18532)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18236)>>2] = $1; - HEAP32[(18232)>>2] = 0; - HEAP32[(18240)>>2] = 0; + HEAP32[(18540)>>2] = $1; + HEAP32[(18536)>>2] = 0; + HEAP32[(18544)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18236)>>2]|0; + $2 = HEAP32[(18540)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15420,19 +15424,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4554] = 0; - HEAP32[(18224)>>2] = 0; - HEAP32[(18220)>>2] = 0; + HEAP32[4630] = 0; + HEAP32[(18528)>>2] = 0; + HEAP32[(18524)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18276)>>2] = $5; + HEAP32[(18580)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18284)>>2] = $6; - HEAP32[(18280)>>2] = 0; - HEAP32[(18288)>>2] = 0; + HEAP32[(18588)>>2] = $6; + HEAP32[(18584)>>2] = 0; + HEAP32[(18592)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18284)>>2]|0; + $7 = HEAP32[(18588)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15443,24 +15447,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4566] = 0; - HEAP32[(18272)>>2] = 0; - HEAP32[(18268)>>2] = 0; + HEAP32[4642] = 0; + HEAP32[(18576)>>2] = 0; + HEAP32[(18572)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18324)>>2] = $10; + HEAP32[(18628)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18328)>>2] = $11; + HEAP32[(18632)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18332)>>2] = $12; + HEAP32[(18636)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18336)>>2] = $13; - $14 = HEAP32[(18324)>>2]|0; + HEAP32[(18640)>>2] = $13; + $14 = HEAP32[(18628)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18328)>>2]|0; + $15 = HEAP32[(18632)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18332)>>2]|0; + $17 = HEAP32[(18636)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15471,7 +15475,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18336)>>2]|0; + $16 = HEAP32[(18640)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15508,140 +15512,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4578] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[(18320)>>2] = 0; + HEAP32[4654] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[(18624)>>2] = 0; _TraceLog(0,6569,$vararg_buffer); - $20 = HEAP32[4256]|0; + $20 = HEAP32[4332]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4257]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18244)); - $44 = HEAP32[4258]|0; - $45 = HEAP32[(18244)>>2]|0; + $43 = HEAP32[4333]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18548)); + $44 = HEAP32[4334]|0; + $45 = HEAP32[(18548)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18248)|0)); - $46 = HEAP32[(18248)>>2]|0; + _glGenBuffers(2,((18552)|0)); + $46 = HEAP32[(18552)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18228)>>2]|0; + $47 = HEAP32[(18532)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17116)>>2]|0; + $48 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17116)>>2]|0; + $49 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18252)|0)); - $50 = HEAP32[(18252)>>2]|0; + _glGenBuffers(2,((18556)|0)); + $50 = HEAP32[(18556)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18236)>>2]|0; + $51 = HEAP32[(18540)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17136)>>2]|0; + $52 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17136)>>2]|0; + $53 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4256]|0; + $54 = HEAP32[4332]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18248)>>2]|0; - $58 = HEAP32[(18252)>>2]|0; + $57 = HEAP32[(18552)>>2]|0; + $58 = HEAP32[(18556)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6707,$vararg_buffer3); } else { - $56 = HEAP32[(18244)>>2]|0; + $56 = HEAP32[(18548)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6642,$vararg_buffer1); } - $59 = HEAP32[4256]|0; + $59 = HEAP32[4332]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4257]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18292)); - $62 = HEAP32[4258]|0; - $63 = HEAP32[(18292)>>2]|0; + $61 = HEAP32[4333]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18596)); + $62 = HEAP32[4334]|0; + $63 = HEAP32[(18596)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18296)|0)); - $64 = HEAP32[(18296)>>2]|0; + _glGenBuffers(1,((18600)|0)); + $64 = HEAP32[(18600)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18276)>>2]|0; + $65 = HEAP32[(18580)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17116)>>2]|0; + $66 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17116)>>2]|0; + $67 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18300)|0)); - $68 = HEAP32[(18300)>>2]|0; + _glGenBuffers(1,((18604)|0)); + $68 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18284)>>2]|0; + $69 = HEAP32[(18588)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17136)>>2]|0; + $70 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17136)>>2]|0; + $71 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4256]|0; + $72 = HEAP32[4332]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18296)>>2]|0; - $76 = HEAP32[(18300)>>2]|0; + $75 = HEAP32[(18600)>>2]|0; + $76 = HEAP32[(18604)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6853,$vararg_buffer10); } else { - $74 = HEAP32[(18292)>>2]|0; + $74 = HEAP32[(18596)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6784,$vararg_buffer7); } - $77 = HEAP32[4256]|0; + $77 = HEAP32[4332]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4257]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18340)); - $80 = HEAP32[4258]|0; - $81 = HEAP32[(18340)>>2]|0; + $79 = HEAP32[4333]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18644)); + $80 = HEAP32[4334]|0; + $81 = HEAP32[(18644)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18344)|0)); - $82 = HEAP32[(18344)>>2]|0; + _glGenBuffers(1,((18648)|0)); + $82 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18324)>>2]|0; + $83 = HEAP32[(18628)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17116)>>2]|0; + $84 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17116)>>2]|0; + $85 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18348)|0)); - $86 = HEAP32[(18348)>>2]|0; + _glGenBuffers(1,((18652)|0)); + $86 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18328)>>2]|0; + $87 = HEAP32[(18632)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17120)>>2]|0; + $88 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17120)>>2]|0; + $89 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18352)|0)); - $90 = HEAP32[(18352)>>2]|0; + _glGenBuffers(1,((18656)|0)); + $90 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18332)>>2]|0; + $91 = HEAP32[(18636)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17136)>>2]|0; + $92 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17136)>>2]|0; + $93 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18356)|0)); - $94 = HEAP32[(18356)>>2]|0; + _glGenBuffers(1,((18660)|0)); + $94 = HEAP32[(18660)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18336)>>2]|0; + $95 = HEAP32[(18640)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4256]|0; + $96 = HEAP32[4332]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18344)>>2]|0; - $100 = HEAP32[(18348)>>2]|0; - $101 = HEAP32[(18352)>>2]|0; - $102 = HEAP32[(18356)>>2]|0; + $99 = HEAP32[(18648)>>2]|0; + $100 = HEAP32[(18652)>>2]|0; + $101 = HEAP32[(18656)>>2]|0; + $102 = HEAP32[(18660)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15651,16 +15655,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6999,$vararg_buffer17); } else { - $98 = HEAP32[(18340)>>2]|0; + $98 = HEAP32[(18644)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6934,$vararg_buffer14); } - $103 = HEAP32[4256]|0; + $103 = HEAP32[4332]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4258]|0; + $105 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15841,9 +15845,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19537 + ($0)|0); + $1 = (19841 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19540 + ($0)|0); + $3 = (19844 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15855,9 +15859,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19537 + ($0)|0); + $1 = (19841 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19540 + ($0)|0); + $3 = (19844 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15878,7 +15882,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4175]|0; + $0 = HEAP32[4251]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8843,$vararg_buffer); @@ -15889,9 +15893,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16740>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16740+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16740+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16740+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16740+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17044>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17044+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17044+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17044+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17044+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16768)>>2]|0; + $0 = HEAP32[(17072)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15902,11 +15906,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17052|0)); - $0 = HEAP32[4263]|0; + _glDeleteTextures(1,(17356|0)); + $0 = HEAP32[4339]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8870,$vararg_buffer); - $1 = HEAP32[4293]|0; + $1 = HEAP32[4369]|0; _free($1); STACKTOP = sp;return; } @@ -15914,17 +15918,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4264]|0; + $0 = HEAP32[4340]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4256]|0; + $0 = HEAP32[4332]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4258]|0; + $2 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15933,39 +15937,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18248)|0)); - _glDeleteBuffers(1,((18252)|0)); - _glDeleteBuffers(1,((18296)|0)); - _glDeleteBuffers(1,((18300)|0)); - _glDeleteBuffers(1,((18344)|0)); - _glDeleteBuffers(1,((18348)|0)); - _glDeleteBuffers(1,((18352)|0)); - _glDeleteBuffers(1,((18356)|0)); - $3 = HEAP32[4256]|0; + _glDeleteBuffers(1,((18552)|0)); + _glDeleteBuffers(1,((18556)|0)); + _glDeleteBuffers(1,((18600)|0)); + _glDeleteBuffers(1,((18604)|0)); + _glDeleteBuffers(1,((18648)|0)); + _glDeleteBuffers(1,((18652)|0)); + _glDeleteBuffers(1,((18656)|0)); + _glDeleteBuffers(1,((18660)|0)); + $3 = HEAP32[4332]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4259]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18244)); - $6 = HEAP32[4259]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18292)); - $7 = HEAP32[4259]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18340)); - } - $8 = HEAP32[(18228)>>2]|0; + $5 = HEAP32[4335]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18548)); + $6 = HEAP32[4335]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18596)); + $7 = HEAP32[4335]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18644)); + } + $8 = HEAP32[(18532)>>2]|0; _free($8); - $9 = HEAP32[(18236)>>2]|0; + $9 = HEAP32[(18540)>>2]|0; _free($9); - $10 = HEAP32[(18276)>>2]|0; + $10 = HEAP32[(18580)>>2]|0; _free($10); - $11 = HEAP32[(18284)>>2]|0; + $11 = HEAP32[(18588)>>2]|0; _free($11); - $12 = HEAP32[(18324)>>2]|0; + $12 = HEAP32[(18628)>>2]|0; _free($12); - $13 = HEAP32[(18328)>>2]|0; + $13 = HEAP32[(18632)>>2]|0; _free($13); - $14 = HEAP32[(18332)>>2]|0; + $14 = HEAP32[(18636)>>2]|0; _free($14); - $15 = HEAP32[(18336)>>2]|0; + $15 = HEAP32[(18640)>>2]|0; _free($15); return; } @@ -16005,16 +16009,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2111] = $0; + $1 = +HEAPF64[2094]; $2 = $0 - $1; - HEAPF64[2074] = $2; - HEAPF64[2056] = $0; + HEAPF64[2112] = $2; + HEAPF64[2094] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16796; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17100; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18368); + _rlMultMatrixf(18672); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16023,53 +16027,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4592] = $1; + HEAP32[4668] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18372)>>2] = $3; + HEAP32[(18676)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18376)>>2] = $5; + HEAP32[(18680)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18380)>>2] = $7; + HEAP32[(18684)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18384)>>2] = $9; + HEAP32[(18688)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18388)>>2] = $11; + HEAP32[(18692)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18392)>>2] = $13; + HEAP32[(18696)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18396)>>2] = $15; + HEAP32[(18700)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18400)>>2] = $17; + HEAP32[(18704)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18404)>>2] = $19; + HEAP32[(18708)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18408)>>2] = $21; + HEAP32[(18712)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18412)>>2] = $23; + HEAP32[(18716)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18416)>>2] = $25; + HEAP32[(18720)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18420)>>2] = $27; + HEAP32[(18724)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18424)>>2] = $29; + HEAP32[(18728)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18428)>>2] = $31; - return (18368|0); + HEAP32[(18732)>>2] = $31; + return (18672|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16144,7 +16148,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4222]|0; + $49 = HEAP32[4298]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16158,15 +16162,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2111] = $0; + $1 = +HEAPF64[2094]; $2 = $0 - $1; - HEAPF64[2075] = $2; - HEAPF64[2056] = $0; - $3 = +HEAPF64[2074]; + HEAPF64[2113] = $2; + HEAPF64[2094] = $0; + $3 = +HEAPF64[2112]; $4 = $2 + $3; - HEAPF64[2076] = $4; - $5 = +HEAPF64[2053]; + HEAPF64[2114] = $4; + $5 = +HEAPF64[2091]; $6 = $4 < $5; if (!($6)) { return; @@ -16176,13 +16180,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2073] = $10; - $11 = +HEAPF64[2056]; + HEAPF64[2111] = $10; + $11 = +HEAPF64[2094]; $12 = $10 - $11; - HEAPF64[2056] = $10; - $13 = +HEAPF64[2076]; + HEAPF64[2094] = $10; + $13 = +HEAPF64[2114]; $14 = $12 + $13; - HEAPF64[2076] = $14; + HEAPF64[2114] = $14; return; } function _rlglDraw() { @@ -16195,7 +16199,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4175]|0; + $0 = HEAP32[4251]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16211,20 +16215,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[764] = -1; HEAP32[766] = -1; - HEAP32[4608] = 0; - $3 = HEAP32[4175]|0; + HEAP32[4684] = 0; + $3 = HEAP32[4251]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4104] = $5; + HEAPF32[4180] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16420)>>2] = $7; - _memcpy((20055|0),(19543|0),512)|0; - ;HEAP8[19540>>0]=HEAP8[19537>>0]|0;HEAP8[19540+1>>0]=HEAP8[19537+1>>0]|0;HEAP8[19540+2>>0]=HEAP8[19537+2>>0]|0; - $8 = HEAP32[4591]|0; - HEAP32[4178] = $8; - HEAP32[4591] = 0; + HEAPF32[(16724)>>2] = $7; + _memcpy((20359|0),(19847|0),512)|0; + ;HEAP8[19844>>0]=HEAP8[19841>>0]|0;HEAP8[19844+1>>0]=HEAP8[19841+1>>0]|0;HEAP8[19844+2>>0]=HEAP8[19841+2>>0]|0; + $8 = HEAP32[4667]|0; + HEAP32[4254] = $8; + HEAP32[4667] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16234,8 +16238,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20567 + ($$05160<<5)|0); - $scevgep67 = (20695 + ($$05160<<5)|0); + $scevgep = (20871 + ($$05160<<5)|0); + $scevgep67 = (20999 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16249,7 +16253,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20695 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20999 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[766] = $$04857; @@ -16276,7 +16280,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18436 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18740 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16292,7 +16296,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4608] = $$lcssa; + HEAP32[4684] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16333,87 +16337,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4554]|0; + $0 = HEAP32[4630]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4256]|0; + $2 = HEAP32[4332]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4258]|0; - $5 = HEAP32[(18244)>>2]|0; + $4 = HEAP32[4334]|0; + $5 = HEAP32[(18548)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18248)>>2]|0; + $6 = HEAP32[(18552)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4554]|0; + $7 = HEAP32[4630]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18228)>>2]|0; + $9 = HEAP32[(18532)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18252)>>2]|0; + $10 = HEAP32[(18556)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18224)>>2]|0; + $11 = HEAP32[(18528)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18236)>>2]|0; + $13 = HEAP32[(18540)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4566]|0; + $14 = HEAP32[4642]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4256]|0; + $16 = HEAP32[4332]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4258]|0; - $19 = HEAP32[(18292)>>2]|0; + $18 = HEAP32[4334]|0; + $19 = HEAP32[(18596)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18296)>>2]|0; + $20 = HEAP32[(18600)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4566]|0; + $21 = HEAP32[4642]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18276)>>2]|0; + $23 = HEAP32[(18580)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18300)>>2]|0; + $24 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18272)>>2]|0; + $25 = HEAP32[(18576)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18284)>>2]|0; + $27 = HEAP32[(18588)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4578]|0; + $28 = HEAP32[4654]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4256]|0; + $30 = HEAP32[4332]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4258]|0; - $33 = HEAP32[(18340)>>2]|0; + $32 = HEAP32[4334]|0; + $33 = HEAP32[(18644)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18344)>>2]|0; + $34 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4578]|0; + $35 = HEAP32[4654]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18324)>>2]|0; + $37 = HEAP32[(18628)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18348)>>2]|0; + $38 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4578]|0; + $39 = HEAP32[4654]|0; $40 = $39 << 3; - $41 = HEAP32[(18328)>>2]|0; + $41 = HEAP32[(18632)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18352)>>2]|0; + $42 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4578]|0; + $43 = HEAP32[4654]|0; $44 = $43 << 2; - $45 = HEAP32[(18332)>>2]|0; + $45 = HEAP32[(18636)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4256]|0; + $46 = HEAP32[4332]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4258]|0; + $48 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16431,9 +16435,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16892; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=16956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4641]|0; + dest=$0; src=17196; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17260; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4717]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16443,134 +16447,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4554]|0; + $8 = HEAP32[4630]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4566]|0; + $10 = HEAP32[4642]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4578]|0; + $12 = HEAP32[4654]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4278]|0; + $14 = HEAP32[4354]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16892; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17260; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17196; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17140)>>2]|0; + $15 = HEAP32[(17444)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17144)>>2]|0; + $17 = HEAP32[(17448)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17156)>>2]|0; + $18 = HEAP32[(17460)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4554]|0; + $19 = HEAP32[4630]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4263]|0; + $21 = HEAP32[4339]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4256]|0; + $22 = HEAP32[4332]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18248)>>2]|0; + $26 = HEAP32[(18552)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17116)>>2]|0; + $27 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17116)>>2]|0; + $28 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18252)>>2]|0; + $29 = HEAP32[(18556)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17136)>>2]|0; + $30 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17136)>>2]|0; + $31 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4258]|0; - $25 = HEAP32[(18244)>>2]|0; + $24 = HEAP32[4334]|0; + $25 = HEAP32[(18548)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4554]|0; + $32 = HEAP32[4630]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4256]|0; + $33 = HEAP32[4332]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4566]|0; + $35 = HEAP32[4642]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4263]|0; + $37 = HEAP32[4339]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4256]|0; + $38 = HEAP32[4332]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18296)>>2]|0; + $42 = HEAP32[(18600)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17116)>>2]|0; + $43 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17116)>>2]|0; + $44 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18300)>>2]|0; + $45 = HEAP32[(18604)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17136)>>2]|0; + $46 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17136)>>2]|0; + $47 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4258]|0; - $41 = HEAP32[(18292)>>2]|0; + $40 = HEAP32[4334]|0; + $41 = HEAP32[(18596)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4566]|0; + $48 = HEAP32[4642]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4256]|0; + $49 = HEAP32[4332]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4578]|0; + $51 = HEAP32[4654]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4256]|0; + $53 = HEAP32[4332]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18344)>>2]|0; + $57 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17116)>>2]|0; + $58 = HEAP32[(17420)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17116)>>2]|0; + $59 = HEAP32[(17420)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18348)>>2]|0; + $60 = HEAP32[(18652)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17120)>>2]|0; + $61 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17120)>>2]|0; + $62 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18352)>>2]|0; + $63 = HEAP32[(18656)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17136)>>2]|0; + $64 = HEAP32[(17440)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17136)>>2]|0; + $65 = HEAP32[(17440)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18356)>>2]|0; + $66 = HEAP32[(18660)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4258]|0; - $56 = HEAP32[(18340)>>2]|0; + $55 = HEAP32[4334]|0; + $56 = HEAP32[(18644)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4294]|0; + $67 = HEAP32[4370]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4293]|0; + $71 = HEAP32[4369]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16581,14 +16585,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4293]|0; + $80 = HEAP32[4369]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4294]|0; + $87 = HEAP32[4370]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16597,7 +16601,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4256]|0; + $69 = HEAP32[4332]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16605,10 +16609,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4256]|0; + $89 = HEAP32[4332]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4258]|0; + $91 = HEAP32[4334]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16620,22 +16624,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4294] = 1; - $5 = HEAP32[4263]|0; - $6 = HEAP32[4293]|0; + HEAP32[4370] = 1; + $5 = HEAP32[4339]|0; + $6 = HEAP32[4369]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4554] = 0; - HEAP32[(18224)>>2] = 0; - HEAP32[4566] = 0; - HEAP32[(18272)>>2] = 0; - HEAP32[4578] = 0; - HEAP32[(18316)>>2] = 0; - HEAP32[(18320)>>2] = 0; + HEAP32[4630] = 0; + HEAP32[(18528)>>2] = 0; + HEAP32[4642] = 0; + HEAP32[(18576)>>2] = 0; + HEAP32[4654] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[(18624)>>2] = 0; HEAPF32[767] = -1.0; - dest=16892; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16956; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17196; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17260; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16650,17 +16654,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4552]|0; + $5 = HEAP32[4628]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4553]|0; + $9 = HEAP32[4629]|0; _rlViewport($7,0,$8,$9); - $10 = (18796 + ($0<<6)|0); + $10 = (19100 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18668 + ($0<<6)|0); + $11 = (18972 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16672,14 +16676,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16956; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17260; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16892; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17196; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -16696,9 +16700,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4177]|0; + $2 = HEAP32[4253]|0; $3 = (+($2|0)); - $4 = HEAP32[4176]|0; + $4 = HEAP32[4252]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16723,7 +16727,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(18368); + _rlMultMatrixf(18672); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16732,26 +16736,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4731]|0; + $0 = HEAP32[4807]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8985,$vararg_buffer); } - $2 = HEAP32[4731]|0; - $3 = (17184 + ($2<<6)|0); - $4 = HEAP32[4222]|0; + $2 = HEAP32[4807]|0; + $3 = (17488 + ($2<<6)|0); + $4 = HEAP32[4298]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4731]|0; + $5 = HEAP32[4807]|0; $6 = (($5) + 1)|0; - HEAP32[4731] = $6; - $7 = HEAP32[4255]|0; + HEAP32[4807] = $6; + $7 = HEAP32[4331]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4732] = 1; + HEAP32[4808] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -16770,7 +16774,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4222]|0; + $8 = HEAP32[4298]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -16797,18 +16801,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4731]|0; + $0 = HEAP32[4807]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4731]|0; + $2 = HEAP32[4807]|0; $3 = (($2) + -1)|0; - $4 = (17184 + ($3<<6)|0); - $5 = HEAP32[4222]|0; + $4 = (17488 + ($3<<6)|0); + $5 = HEAP32[4298]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4731] = $6; + HEAP32[4807] = $6; return; } function _rlDisableDepthTest() { @@ -16828,7 +16832,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2076]; + $0 = +HEAPF64[2114]; $1 = $0; return (+$1); } @@ -16862,7 +16866,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4222]|0; + $5 = HEAP32[4298]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16895,7 +16899,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4222]|0; + $11 = HEAP32[4298]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16906,7 +16910,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4295] = $0; + HEAP32[4371] = $0; return; } function _rlEnd() { @@ -16922,21 +16926,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4732]|0; + $0 = HEAP32[4808]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4733]|0; + $2 = HEAP32[4809]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4292]|0; + $6 = HEAP32[4368]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4222]|0; + $8 = HEAP32[4298]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4733]|0; + $5 = HEAP32[4809]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16944,12 +16948,12 @@ function _rlEnd() { break; } } - HEAP32[4732] = 0; + HEAP32[4808] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4292]|0; + $11 = HEAP32[4368]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16958,7 +16962,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4733]|0; + $19 = HEAP32[4809]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16968,15 +16972,15 @@ function _rlEnd() { } } } else { - HEAP32[4732] = 0; + HEAP32[4808] = 0; } - HEAP32[4733] = 0; + HEAP32[4809] = 0; } - $21 = HEAP32[4295]|0; + $21 = HEAP32[4371]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4554]|0; - $23 = HEAP32[(18224)>>2]|0; + $22 = HEAP32[4630]|0; + $23 = HEAP32[(18528)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[767]; @@ -16995,16 +16999,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18236)>>2]|0; - $28 = HEAP32[(18224)>>2]|0; + $27 = HEAP32[(18540)>>2]|0; + $28 = HEAP32[(18528)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18236)>>2]|0; - $35 = HEAP32[(18224)>>2]|0; + $34 = HEAP32[(18540)>>2]|0; + $35 = HEAP32[(18528)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17012,8 +17016,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18236)>>2]|0; - $43 = HEAP32[(18224)>>2]|0; + $42 = HEAP32[(18540)>>2]|0; + $43 = HEAP32[(18528)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17021,8 +17025,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18236)>>2]|0; - $51 = HEAP32[(18224)>>2]|0; + $50 = HEAP32[(18540)>>2]|0; + $51 = HEAP32[(18528)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17030,9 +17034,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18224)>>2]|0; + $58 = HEAP32[(18528)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18224)>>2] = $59; + HEAP32[(18528)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17048,8 +17052,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4566]|0; - $62 = HEAP32[(18272)>>2]|0; + $61 = HEAP32[4642]|0; + $62 = HEAP32[(18576)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[767]; @@ -17068,16 +17072,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18284)>>2]|0; - $67 = HEAP32[(18272)>>2]|0; + $66 = HEAP32[(18588)>>2]|0; + $67 = HEAP32[(18576)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18284)>>2]|0; - $74 = HEAP32[(18272)>>2]|0; + $73 = HEAP32[(18588)>>2]|0; + $74 = HEAP32[(18576)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17085,8 +17089,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18284)>>2]|0; - $82 = HEAP32[(18272)>>2]|0; + $81 = HEAP32[(18588)>>2]|0; + $82 = HEAP32[(18576)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17094,8 +17098,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18284)>>2]|0; - $90 = HEAP32[(18272)>>2]|0; + $89 = HEAP32[(18588)>>2]|0; + $90 = HEAP32[(18576)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17103,9 +17107,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18272)>>2]|0; + $97 = HEAP32[(18576)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18272)>>2] = $98; + HEAP32[(18576)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17121,8 +17125,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4578]|0; - $101 = HEAP32[(18320)>>2]|0; + $100 = HEAP32[4654]|0; + $101 = HEAP32[(18624)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17130,16 +17134,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18332)>>2]|0; - $106 = HEAP32[(18320)>>2]|0; + $105 = HEAP32[(18636)>>2]|0; + $106 = HEAP32[(18624)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18332)>>2]|0; - $113 = HEAP32[(18320)>>2]|0; + $112 = HEAP32[(18636)>>2]|0; + $113 = HEAP32[(18624)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17147,8 +17151,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18332)>>2]|0; - $121 = HEAP32[(18320)>>2]|0; + $120 = HEAP32[(18636)>>2]|0; + $121 = HEAP32[(18624)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17156,8 +17160,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18332)>>2]|0; - $129 = HEAP32[(18320)>>2]|0; + $128 = HEAP32[(18636)>>2]|0; + $129 = HEAP32[(18624)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17165,9 +17169,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18320)>>2]|0; + $136 = HEAP32[(18624)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18320)>>2] = $137; + HEAP32[(18624)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17178,8 +17182,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4578]|0; - $140 = HEAP32[(18316)>>2]|0; + $139 = HEAP32[4654]|0; + $140 = HEAP32[(18620)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[767]; @@ -17187,8 +17191,8 @@ function _rlEnd() { HEAPF32[767] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18328)>>2]|0; - $$promoted = HEAP32[(18316)>>2]|0; + $142 = HEAP32[(18632)>>2]|0; + $$promoted = HEAP32[(18620)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17196,7 +17200,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18316)>>2] = $147; + HEAP32[(18620)>>2] = $147; $148 = +HEAPF32[767]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[767] = $149; @@ -17223,11 +17227,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4732]|0; + $3 = HEAP32[4808]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4292]|0; - $6 = HEAP32[4733]|0; + $5 = HEAP32[4368]|0; + $6 = HEAP32[4809]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17235,16 +17239,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4733] = $10; + HEAP32[4809] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4295]|0; + $11 = HEAP32[4371]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4554]|0; + $12 = HEAP32[4630]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18228)>>2]|0; + $14 = HEAP32[(18532)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17255,7 +17259,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4554] = $21; + HEAP32[4630] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9023,$vararg_buffer); @@ -17264,10 +17268,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4566]|0; + $22 = HEAP32[4642]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18276)>>2]|0; + $24 = HEAP32[(18580)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17278,7 +17282,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4566] = $31; + HEAP32[4642] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9048,$vararg_buffer1); @@ -17287,10 +17291,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4578]|0; + $32 = HEAP32[4654]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18324)>>2]|0; + $34 = HEAP32[(18628)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17301,9 +17305,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4578] = $41; - $42 = HEAP32[4293]|0; - $43 = HEAP32[4294]|0; + HEAP32[4654] = $41; + $42 = HEAP32[4369]|0; + $43 = HEAP32[4370]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17335,13 +17339,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4295]|0; + $2 = HEAP32[4371]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18328)>>2]|0; - $5 = HEAP32[(18316)>>2]|0; + $4 = HEAP32[(18632)>>2]|0; + $5 = HEAP32[(18620)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17349,7 +17353,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18316)>>2] = $10; + HEAP32[(18620)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17368,18 +17372,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4295]|0; + $4 = HEAP32[4371]|0; switch ($4|0) { case 1: { - $$sink37 = (18224);$$sink38 = (18236); + $$sink37 = (18528);$$sink38 = (18540); break; } case 4: { - $$sink37 = (18272);$$sink38 = (18284); + $$sink37 = (18576);$$sink38 = (18588); break; } case 7: { - $$sink37 = (18320);$$sink38 = (18332); + $$sink37 = (18624);$$sink38 = (18636); break; } default: { @@ -17433,8 +17437,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4293]|0; - $2 = HEAP32[4294]|0; + $1 = HEAP32[4369]|0; + $2 = HEAP32[4370]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17447,9 +17451,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4294] = $10; + HEAP32[4370] = $10; } - $11 = HEAP32[4294]|0; + $11 = HEAP32[4370]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17460,7 +17464,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4578]|0; + $0 = HEAP32[4654]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17468,40 +17472,11 @@ function _rlDisableTexture() { _rlglDraw(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9102); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10435)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4734] = $0; + HEAP32[4810] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17565,7 +17540,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9114|0),(9140|0),1125,(9163|0)); + ___assert_fail((9102|0),(9128|0),1041,(9151|0)); // unreachable; } } @@ -17583,7 +17558,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4735]|0; + $15 = HEAP32[4811]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17676,7 +17651,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9204); + _stbi__err(9192); $$0 = 0; return ($$0|0); } else { @@ -17698,7 +17673,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9195); + _stbi__err(9183); $$0 = 0; return ($$0|0); } @@ -17768,7 +17743,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9223); + _stbi__err(9211); $$045 = 0; return ($$045|0); } @@ -18329,7 +18304,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9539 + ($120)|0); + $121 = (9527 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18371,97 +18346,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9313); + _stbi__err(9301); $$6$ph = 0; break; } case 9: { - _stbi__err(9327); + _stbi__err(9315); $$6$ph = 0; break; } case 11: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 13: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 15: { - _stbi__err(9350); + _stbi__err(9338); $$6$ph = 0; break; } case 17: { - _stbi__err(9370); + _stbi__err(9358); $$6$ph = 0; break; } case 20: { - _stbi__err(9370); + _stbi__err(9358); $$6$ph = 0; break; } case 22: { - _stbi__err(9370); + _stbi__err(9358); $$6$ph = 0; break; } case 24: { - _stbi__err(9380); + _stbi__err(9368); $$6$ph = 0; break; } case 26: { - _stbi__err(9396); + _stbi__err(9384); $$6$ph = 0; break; } case 28: { - _stbi__err(9414); + _stbi__err(9402); $$6$ph = 0; break; } case 31: { - _stbi__err(9435); + _stbi__err(9423); $$6$ph = 0; break; } case 34: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 37: { - _stbi__err(9340); + _stbi__err(9328); $$6$ph = 0; break; } case 39: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 41: { - _stbi__err(9464); + _stbi__err(9452); $$6$ph = 0; break; } case 44: { - _stbi__err(9464); + _stbi__err(9452); $$6$ph = 0; break; } case 47: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 49: { - _stbi__err(9477); + _stbi__err(9465); $$6$ph = 0; break; } @@ -18472,32 +18447,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9493); + _stbi__err(9481); $$6$ph = 0; break; } case 58: { - _stbi__err(9510); + _stbi__err(9498); $$6$ph = 0; break; } case 61: { - _stbi__err(9523); + _stbi__err(9511); $$6$ph = 0; break; } case 63: { - _stbi__err(9510); + _stbi__err(9498); $$6$ph = 0; break; } case 70: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 72: { - _stbi__err(9548); + _stbi__err(9536); $$6$ph = 0; break; } @@ -18509,12 +18484,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9195); + _stbi__err(9183); $$6$ph = 0; break; } case 83: { - _stbi__err(9556); + _stbi__err(9544); $$6$ph = 0; break; } @@ -18527,7 +18502,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9566); + _stbi__err(9554); $$4 = 0; break; } @@ -18592,7 +18567,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4736]|0; + $193 = HEAP32[4812]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18625,7 +18600,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9449); + _stbi__err(9437); $$4 = 0; } } while(0); @@ -18633,24 +18608,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9449); + _stbi__err(9437); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9574] = $206; + HEAP8[9562] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9575)>>0] = $209; + HEAP8[(9563)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9576)>>0] = $211; + HEAP8[(9564)>>0] = $211; $212 = $207&255; - HEAP8[(9577)>>0] = $212; - _stbi__err(9574); + HEAP8[(9565)>>0] = $212; + _stbi__err(9562); $$6$ph = 0; break; } @@ -18684,14 +18659,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9236|0),(9140|0),1561,(9292|0)); + ___assert_fail((9224|0),(9128|0),1477,(9280|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9195); + _stbi__err(9183); $$0163 = 0; return ($$0163|0); } @@ -19054,7 +19029,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9290|0),(9140|0),1590,(9292|0)); + ___assert_fail((9278|0),(9128|0),1506,(9280|0)); // unreachable; } } while(0); @@ -19088,7 +19063,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9236|0),(9140|0),1610,(9267|0)); + ___assert_fail((9224|0),(9128|0),1526,(9255|0)); // unreachable; } $7 = $2 << 1; @@ -19098,7 +19073,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9195); + _stbi__err(9183); $$0163 = 0; return ($$0163|0); } @@ -19461,7 +19436,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9290|0),(9140|0),1639,(9267|0)); + ___assert_fail((9278|0),(9128|0),1555,(9255|0)); // unreachable; } } while(0); @@ -19609,7 +19584,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10231); + _stbi__err(10539); $$05 = 0; return ($$05|0); } @@ -20046,7 +20021,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9633|0),(9140|0),4568,(9685|0)); + ___assert_fail((9621|0),(9128|0),4569,(9673|0)); // unreachable; } } @@ -20133,7 +20108,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9633|0),(9140|0),4543,(9658|0)); + ___assert_fail((9621|0),(9128|0),4544,(9646|0)); // unreachable; } } @@ -20180,7 +20155,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4737]|0; + $16 = HEAP32[4813]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20255,7 +20230,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9599|0),(9140|0),4649,(9617|0)); + ___assert_fail((9587|0),(9128|0),4650,(9605|0)); // unreachable; } } @@ -20278,7 +20253,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9195); + _stbi__err(9183); $$0 = 0; return ($$0|0); } @@ -20455,7 +20430,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9714|0),(9140|0),4294,(9755|0)); + ___assert_fail((9702|0),(9128|0),4294,(9743|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20463,7 +20438,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9195); + _stbi__err(9183); $$2 = 0; return ($$2|0); } @@ -20482,7 +20457,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9782); + _stbi__err(9770); $$2 = 0; return ($$2|0); } @@ -20495,7 +20470,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9782); + _stbi__err(9770); $$2 = 0; return ($$2|0); } @@ -20503,12 +20478,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20531,33 +20506,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9821 + ($56)|0); + $60 = (9809 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20567,24 +20542,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20594,10 +20569,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20608,10 +20583,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20622,14 +20597,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20659,7 +20634,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20674,12 +20649,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21256,15 +21231,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9800|0),(9140|0),4315,(9755|0)); + ___assert_fail((9788|0),(9128|0),4315,(9743|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9826|0),(9140|0),4376,(9755|0)); + ___assert_fail((9814|0),(9128|0),4377,(9743|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9843); + _stbi__err(9831); $$2 = 0; return ($$2|0); } @@ -21314,7 +21289,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9539 + ($6)|0); + $336 = (9527 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21755,7 +21730,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9858|0),(9140|0),4465,(9755|0)); + ___assert_fail((9846|0),(9128|0),4466,(9743|0)); // unreachable; } else if ((label|0) == 151) { @@ -21815,8 +21790,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21831,15 +21806,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21848,65 +21823,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20854)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9857,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20855,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20823,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10145,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21925,14 +21895,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10184); + _stbi__err(10492); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10200); + _stbi__err(10508); $$0 = 0; return ($$0|0); } @@ -21941,7 +21911,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10215); + _stbi__err(10523); $$0 = 0; return ($$0|0); } @@ -22024,7 +21994,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10106|0),(9140|0),4048,(10123|0)); + ___assert_fail((10414|0),(9128|0),4033,(10431|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -22061,7 +22031,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10154); + _stbi__err(10462); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22071,7 +22041,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10167); + _stbi__err(10475); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22101,21 +22071,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20855|0),8,144)|0; - dest=(20999); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21111); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21135); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20823; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22249,7 +22204,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10044); + _stbi__err(10352); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22338,7 +22293,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10096); + _stbi__err(10404); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22367,7 +22322,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10890 + ($$06579)|0); + $14 = (11198 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22458,21 +22413,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10060|0),(9140|0),4021,(10068|0)); + ___assert_fail((10368|0),(9128|0),4006,(10376|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22482,7 +22437,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10044); + _stbi__err(10352); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22646,7 +22601,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9869); + _stbi__err(10177); $$3$ph = 0; return ($$3$ph|0); } @@ -22656,12 +22611,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9869); + _stbi__err(10177); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9886); + _stbi__err(10194); $$3$ph = 0; return ($$3$ph|0); } @@ -22718,7 +22673,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9895); + _stbi__err(10203); $$0 = 0; return ($$0|0); } @@ -22744,7 +22699,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9195); + _stbi__err(9183); $$0 = 0; return ($$0|0); } else { @@ -22789,7 +22744,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9991|0),(9140|0),3863,(10028|0)); + ___assert_fail((10299|0),(9128|0),3848,(10336|0)); // unreachable; } else if ((label|0) == 5) { @@ -22837,7 +22792,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9915|0),(9140|0),3891,(9931|0)); + ___assert_fail((10223|0),(9128|0),3876,(10239|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22865,7 +22820,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9962|0),(9140|0),3781,(9973|0)); + ___assert_fail((10270|0),(9128|0),3766,(10281|0)); // unreachable; } return (0)|0; @@ -23011,10 +22966,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -23025,27 +22980,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10243)|0); + $6 = (_IsFileExtension($1,10551)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10296)|0); + $19 = (_IsFileExtension($1,10604)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10301,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10609,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10743)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -23073,7 +23029,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -23090,18 +23046,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10249,$vararg_buffer); + _TraceLog(2,10557,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -23110,34 +23066,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10337,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10376,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10645,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10684,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -23156,11 +23119,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10435)|0); + $4 = (_fopen($0,10743)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10438,$vararg_buffer); + _TraceLog(2,10746,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23259,7 +23222,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10535,$vararg_buffer4); + _TraceLog(0,10843,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23294,14 +23257,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10581,$vararg_buffer8); + _TraceLog(2,10889,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10489,$vararg_buffer1); + _TraceLog(2,10797,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23391,7 +23354,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10407,$vararg_buffer); + _TraceLog(2,10715,$vararg_buffer); $$0 = $6; } } @@ -23436,27 +23399,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10631,$vararg_buffer); + _TraceLog(2,10939,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10670,$vararg_buffer1); + _TraceLog(2,10978,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10696,$vararg_buffer3); + _TraceLog(2,11004,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10759,$vararg_buffer5); + _TraceLog(2,11067,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10794,$vararg_buffer7); + _TraceLog(2,11102,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10829,$vararg_buffer10); + _TraceLog(0,11137,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24639,7 +24602,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10886 + ($$361133)|0); + $199 = (11194 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -25069,7 +25032,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10886 + ($$331130)|0); + $186 = (11194 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -25107,7 +25070,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10886 + ($$371134)|0); + $203 = (11194 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -25146,7 +25109,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10890 + ($$421139)|0); + $235 = (11198 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25553,7 +25516,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10909 + ($495)|0); + $496 = (11217 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25590,7 +25553,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10913 + ($515)|0); + $516 = (11221 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26502,7 +26465,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10917,$vararg_buffer); + _TraceLog(2,11225,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26523,7 +26486,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16740>>2]|0;HEAP32[$0+4>>2]=HEAP32[16740+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16740+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16740+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16740+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16740+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16740+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16740+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17044>>2]|0;HEAP32[$0+4>>2]=HEAP32[17044+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17044+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17044+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17044+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17044+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17044+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17044+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26905,8 +26868,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21143,$0,$1)|0); - STACKTOP = sp;return (21143|0); + (_vsprintf(21127,$0,$1)|0); + STACKTOP = sp;return (21127|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -26916,7 +26879,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[4738]|0; + $3 = HEAP32[4814]|0; $4 = HEAP32[928]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -26924,14 +26887,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[4739] = $7; + HEAP32[4815] = $7; HEAP32[928] = $7; $$sink = 0; } - HEAP32[4738] = $$sink; - $8 = HEAP32[4739]|0; + HEAP32[4814] = $$sink; + $8 = HEAP32[4815]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(10946,$$byval_copy)|0); + (_FormatText(11254,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -26940,7 +26903,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21143,$0,$1,20,$$byval_copy); + _DrawText(21127,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -27239,7 +27202,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10954)|0); + $12 = (_strstr($11,11262)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -27248,7 +27211,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10958)|0); + $17 = (_strstr($16,11266)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -27257,7 +27220,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10962)|0); + $22 = (_strstr($21,11270)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -27266,7 +27229,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10966)|0); + $27 = (_strstr($26,11274)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -27275,1210 +27238,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10972)|0); + $32 = (_strcmp($31,11280)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11010)|0); + $35 = (_strcmp($34,11318)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11029; + HEAP32[$3>>2] = 11337; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11042)|0); + $38 = (_strcmp($37,11350)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11063; + HEAP32[$3>>2] = 11371; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11078)|0); + $41 = (_strcmp($40,11386)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11093; + HEAP32[$3>>2] = 11401; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11108)|0); + $44 = (_strcmp($43,11416)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11123; + HEAP32[$3>>2] = 11431; } } else { - HEAP32[$3>>2] = 10994; + HEAP32[$3>>2] = 11302; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11138)|0); + $47 = (_strcmp($46,11446)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11152)|0); + $50 = (_strcmp($49,11460)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11164)|0); + $53 = (_strcmp($52,11472)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11178)|0); + $56 = (_strcmp($55,11486)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11190)|0); + $59 = (_strcmp($58,11498)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11204)|0); + $62 = (_strcmp($61,11512)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11218)|0); + $65 = (_strcmp($64,11526)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11235)|0); + $68 = (_strcmp($67,11543)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11258)|0); + $71 = (_strcmp($70,11566)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11284)|0); + $74 = (_strcmp($73,11592)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11297)|0); + $77 = (_strcmp($76,11605)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11313)|0); + $80 = (_strcmp($79,11621)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11326)|0); + $83 = (_strcmp($82,11634)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11340)|0); + $86 = (_strcmp($85,11648)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11360)|0); + $89 = (_strcmp($88,11668)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11380)|0); + $92 = (_strcmp($91,11688)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11397)|0); + $95 = (_strcmp($94,11705)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11414)|0); + $98 = (_strcmp($97,11722)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11426)|0); + $101 = (_strcmp($100,11734)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11439)|0); + $104 = (_strcmp($103,11747)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11455)|0); + $107 = (_strcmp($106,11763)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11478)|0); + $110 = (_strcmp($109,11786)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11491)|0); + $113 = (_strcmp($112,11799)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11507)|0); + $116 = (_strcmp($115,11815)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11518)|0); + $119 = (_strcmp($118,11826)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11537)|0); + $122 = (_strcmp($121,11845)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11559)|0); + $125 = (_strcmp($124,11867)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11578)|0); + $128 = (_strcmp($127,11886)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11607)|0); + $131 = (_strcmp($130,11915)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11624)|0); + $134 = (_strcmp($133,11932)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11639)|0); + $137 = (_strcmp($136,11947)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11654)|0); + $140 = (_strcmp($139,11962)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11675)|0); + $143 = (_strcmp($142,11983)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11695)|0); + $146 = (_strcmp($145,12003)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11715)|0); + $149 = (_strcmp($148,12023)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11741)|0); + $152 = (_strcmp($151,12049)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11760)|0); + $155 = (_strcmp($154,12068)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11772)|0); + $158 = (_strcmp($157,12080)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11784)|0); + $161 = (_strcmp($160,12092)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11796)|0); + $164 = (_strcmp($163,12104)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11808)|0); + $167 = (_strcmp($166,12116)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11820)|0); + $170 = (_strcmp($169,12128)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11832)|0); + $173 = (_strcmp($172,12140)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11844)|0); + $176 = (_strcmp($175,12152)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11856)|0); + $179 = (_strcmp($178,12164)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11869)|0); + $182 = (_strcmp($181,12177)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11882)|0); + $185 = (_strcmp($184,12190)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11895)|0); + $188 = (_strcmp($187,12203)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11908)|0); + $191 = (_strcmp($190,12216)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11921)|0); + $194 = (_strcmp($193,12229)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11934)|0); + $197 = (_strcmp($196,12242)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11947)|0); + $200 = (_strcmp($199,12255)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11960)|0); + $203 = (_strcmp($202,12268)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11979)|0); + $206 = (_strcmp($205,12287)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11998)|0); + $209 = (_strcmp($208,12306)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12017)|0); + $212 = (_strcmp($211,12325)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12030)|0); + $215 = (_strcmp($214,12338)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12048)|0); + $218 = (_strcmp($217,12356)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12066)|0); + $221 = (_strcmp($220,12374)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12084)|0); + $224 = (_strcmp($223,12392)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12102)|0); + $227 = (_strcmp($226,12410)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12122)|0); + $230 = (_strcmp($229,12430)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11063)|0); + $233 = (_strcmp($232,11371)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12140)|0); + $236 = (_strcmp($235,12448)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12155)|0); + $239 = (_strcmp($238,12463)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12176)|0); + $242 = (_strcmp($241,12484)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12191)|0); + $245 = (_strcmp($244,12499)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12209)|0); + $248 = (_strcmp($247,12517)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12225)|0); + $251 = (_strcmp($250,12533)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12244)|0); + $254 = (_strcmp($253,12552)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12258)|0); + $257 = (_strcmp($256,12566)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12273)|0); + $260 = (_strcmp($259,12581)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10994)|0); + $263 = (_strcmp($262,11302)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12284)|0); + $266 = (_strcmp($265,12592)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11093)|0); + $269 = (_strcmp($268,11401)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11123)|0); + $272 = (_strcmp($271,11431)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12300)|0); + $275 = (_strcmp($274,12608)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12327)|0); + $278 = (_strcmp($277,12635)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12341)|0); + $281 = (_strcmp($280,12649)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11029)|0); + $284 = (_strcmp($283,11337)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12361)|0); + $287 = (_strcmp($286,12669)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12379)|0); + $290 = (_strcmp($289,12687)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12391)|0); + $293 = (_strcmp($292,12699)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12412)|0); + $296 = (_strcmp($295,12720)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12430)|0); + $299 = (_strcmp($298,12738)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12448)|0); + $302 = (_strcmp($301,12756)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12469)|0); + $305 = (_strcmp($304,12777)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12495)|0); + $308 = (_strcmp($307,12803)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12518)|0); + $311 = (_strcmp($310,12826)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12556)|0); + $314 = (_strcmp($313,12864)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12572)|0); + $317 = (_strcmp($316,12880)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12587)|0); + $320 = (_strcmp($319,12895)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12610)|0); + $323 = (_strcmp($322,12918)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12623)|0); + $326 = (_strcmp($325,12931)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12637)|0); + $329 = (_strcmp($328,12945)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12651)|0); + $332 = (_strcmp($331,12959)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12671)|0); + $335 = (_strcmp($334,12979)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12691)|0); + $338 = (_strcmp($337,12999)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12707)|0); + $341 = (_strcmp($340,13015)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12725)|0); + $344 = (_strcmp($343,13033)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12741)|0); + $347 = (_strcmp($346,13049)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12756)|0); + $350 = (_strcmp($349,13064)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12778)|0); + $353 = (_strcmp($352,13086)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12796)|0); + $356 = (_strcmp($355,13104)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12817)|0); + $359 = (_strcmp($358,13125)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12835)|0); + $362 = (_strcmp($361,13143)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12848)|0); + $365 = (_strcmp($364,13156)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12863)|0); + $368 = (_strcmp($367,13171)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12877)|0); + $371 = (_strcmp($370,13185)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12887)|0); + $374 = (_strcmp($373,13195)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12897)|0); + $377 = (_strcmp($376,13205)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12919)|0); + $380 = (_strcmp($379,13227)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12945)|0); + $383 = (_strcmp($382,13253)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12972)|0); + $386 = (_strcmp($385,13280)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12985)|0); + $389 = (_strcmp($388,13293)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13000)|0); + $392 = (_strcmp($391,13308)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13015)|0); + $395 = (_strcmp($394,13323)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13039)|0); + $398 = (_strcmp($397,13347)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13050)|0); + $401 = (_strcmp($400,13358)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13072)|0); + $404 = (_strcmp($403,13380)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13094)|0); + $407 = (_strcmp($406,13402)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13118)|0); + $410 = (_strcmp($409,13426)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13127)|0); + $413 = (_strcmp($412,13435)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13135)|0); + $416 = (_strcmp($415,13443)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13148)|0); + $419 = (_strcmp($418,13456)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13162)|0); + $422 = (_strcmp($421,13470)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13174)|0); + $425 = (_strcmp($424,13482)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13183)|0); + $428 = (_strcmp($427,13491)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13193)|0); + $431 = (_strcmp($430,13501)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13205)|0); + $434 = (_strcmp($433,13513)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13216)|0); + $437 = (_strcmp($436,13524)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13224)|0); + $440 = (_strcmp($439,13532)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13236)|0); + $443 = (_strcmp($442,13544)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13251)|0); + $446 = (_strcmp($445,13559)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13263)|0); + $449 = (_strcmp($448,13571)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13277)|0); + $452 = (_strcmp($451,13585)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13302)|0); + $455 = (_strcmp($454,13610)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13319)|0); + $458 = (_strcmp($457,13627)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13335)|0); + $461 = (_strcmp($460,13643)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13351)|0); + $464 = (_strcmp($463,13659)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13363)|0); + $467 = (_strcmp($466,13671)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13375)|0); + $470 = (_strcmp($469,13683)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13399)|0); + $473 = (_strcmp($472,13707)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13412)|0); + $476 = (_strcmp($475,13720)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13426)|0); + $479 = (_strcmp($478,13734)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13448)|0); + $482 = (_strcmp($481,13756)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13455)|0); + $485 = (_strcmp($484,13763)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13471)|0); + $488 = (_strcmp($487,13779)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13488)|0); + $491 = (_strcmp($490,13796)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13505)|0); + $494 = (_strcmp($493,13813)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13521)|0); + $497 = (_strcmp($496,13829)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13537)|0); + $500 = (_strcmp($499,13845)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13554)|0); + $503 = (_strcmp($502,13862)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13568)|0); + $506 = (_strcmp($505,13876)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13580)|0); + $509 = (_strcmp($508,13888)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13591)|0); + $512 = (_strcmp($511,13899)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13604)|0); + $515 = (_strcmp($514,13912)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13614)|0); + $518 = (_strcmp($517,13922)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13631)|0); + $521 = (_strcmp($520,13939)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13643)|0); + $524 = (_strcmp($523,13951)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13665)|0); + $527 = (_strcmp($526,13973)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13685)|0); + $530 = (_strcmp($529,13993)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13698)|0); + $533 = (_strcmp($532,14006)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13720)|0); + $536 = (_strcmp($535,14028)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13740)|0); + $539 = (_strcmp($538,14048)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13757)|0); + $542 = (_strcmp($541,14065)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13774)|0); + $545 = (_strcmp($544,14082)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13794)|0); + $548 = (_strcmp($547,14102)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28500,7 +28463,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18960|0); + return (19264|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29433,7 +29396,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13910 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14218 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29611,7 +29574,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14374;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14682;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29632,7 +29595,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14374;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14682;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29640,8 +29603,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14374 : (14376); - $$$ = $238 ? $$ : (14375); + $$ = $240 ? 14682 : (14684); + $$$ = $238 ? $$ : (14683); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29658,7 +29621,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14374;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14682;$242 = $167;$243 = $170; label = 66; break; } @@ -29671,7 +29634,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14374;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14682;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29685,7 +29648,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14384; + $271 = $270 ? $269 : 14692; $$1 = $271; label = 71; break; @@ -29725,7 +29688,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14374;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14682;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29747,8 +29710,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14374 + ($208)|0); - $$289 = $or$cond283 ? 14374 : $209; + $209 = (14682 + ($208)|0); + $$289 = $or$cond283 ? 14682 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29769,7 +29732,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14374;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14682;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -30299,7 +30262,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14426 + ($7)|0); + $9 = (14734 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30657,14 +30620,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14391; + $$0471 = $14;$$0520 = 1;$$0521 = 14699; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14392) : (14397); - $$$ = $16 ? $$ : (14394); + $$ = $18 ? (14700) : (14705); + $$$ = $16 ? $$ : (14702); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30763,7 +30726,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14426 + ($80)|0); + $81 = (14734 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -31374,7 +31337,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14442,1); + _out($0,14750,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -31455,7 +31418,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14442,1); + _out($0,14750,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31512,9 +31475,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14410 : 14414; + $29 = $28 ? 14718 : 14722; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14418 : 14422; + $31 = $28 ? 14726 : 14730; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31724,7 +31687,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14444 + ($$016)|0); + $3 = (14752 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31735,7 +31698,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14532;$$115 = 87; + $$01214 = 14840;$$115 = 87; label = 5; break; } else { @@ -31745,9 +31708,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14532; + $$012$lcssa = 14840; } else { - $$01214 = 14532;$$115 = $$016; + $$01214 = 14840;$$115 = $$016; label = 5; } } @@ -32430,7 +32393,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16336,$3,4)|0); + $memchr = (_memchr(16644,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32519,7 +32482,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16336,$4,4)|0); + $memchr = (_memchr(16644,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32610,7 +32573,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18964)>>2]|0; + $38 = HEAP32[(19268)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32643,13 +32606,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19024|0)); - return (19032|0); + ___lock((19328|0)); + return (19336|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19024|0)); + ___unlock((19328|0)); return; } function _fclose($0) { @@ -33713,7 +33676,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16616; + $2 = 16920; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33930,7 +33893,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4759]|0; + $3 = HEAP32[4835]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33949,22 +33912,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4759] = 0; + HEAP32[4835] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4759] = $10; + HEAP32[4835] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4759] = 0; + HEAP32[4835] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4759] = $13; + HEAP32[4835] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -34045,7 +34008,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4760]|0; + $8 = HEAP32[4836]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -34054,7 +34017,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19080 + ($15<<2)|0); + $16 = (19384 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -34065,9 +34028,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4760] = $24; + HEAP32[4836] = $24; } else { - $25 = HEAP32[(19056)>>2]|0; + $25 = HEAP32[(19360)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -34098,7 +34061,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19048)>>2]|0; + $37 = HEAP32[(19352)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -34132,7 +34095,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19080 + ($68<<2)|0); + $69 = (19384 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -34143,10 +34106,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4760] = $77; + HEAP32[4836] = $77; $98 = $77; } else { - $78 = HEAP32[(19056)>>2]|0; + $78 = HEAP32[(19360)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -34179,22 +34142,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19060)>>2]|0; + $92 = HEAP32[(19364)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19080 + ($94<<2)|0); + $95 = (19384 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4760] = $100; + HEAP32[4836] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19056)>>2]|0; + $103 = HEAP32[(19360)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -34211,12 +34174,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19048)>>2] = $84; - HEAP32[(19060)>>2] = $87; + HEAP32[(19352)>>2] = $84; + HEAP32[(19364)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19044)>>2]|0; + $108 = HEAP32[(19348)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -34244,7 +34207,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19344 + ($132<<2)|0); + $133 = (19648 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -34284,7 +34247,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19056)>>2]|0; + $155 = HEAP32[(19360)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -34379,7 +34342,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19344 + ($188<<2)|0); + $189 = (19648 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -34390,11 +34353,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19044)>>2] = $194; + HEAP32[(19348)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19056)>>2]|0; + $195 = HEAP32[(19360)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34415,7 +34378,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19056)>>2]|0; + $201 = HEAP32[(19360)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34445,7 +34408,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19056)>>2]|0; + $213 = HEAP32[(19360)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34482,22 +34445,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19060)>>2]|0; + $231 = HEAP32[(19364)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19080 + ($233<<2)|0); + $234 = (19384 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4760] = $238; + HEAP32[4836] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19056)>>2]|0; + $241 = HEAP32[(19360)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34514,8 +34477,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19048)>>2] = $$0193$lcssa$i; - HEAP32[(19060)>>2] = $157; + HEAP32[(19352)>>2] = $$0193$lcssa$i; + HEAP32[(19364)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34531,7 +34494,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19044)>>2]|0; + $250 = HEAP32[(19348)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34571,7 +34534,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19344 + ($$0358$i<<2)|0); + $278 = (19648 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34663,7 +34626,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19344 + ($330<<2)|0); + $331 = (19648 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34707,11 +34670,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19048)>>2]|0; + $345 = HEAP32[(19352)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19056)>>2]|0; + $348 = HEAP32[(19360)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34808,7 +34771,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19344 + ($381<<2)|0); + $382 = (19648 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34819,12 +34782,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19044)>>2] = $387; + HEAP32[(19348)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19056)>>2]|0; + $388 = HEAP32[(19360)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34846,7 +34809,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19056)>>2]|0; + $394 = HEAP32[(19360)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34878,7 +34841,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19056)>>2]|0; + $406 = HEAP32[(19360)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34919,20 +34882,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19080 + ($425<<2)|0); - $427 = HEAP32[4760]|0; + $426 = (19384 + ($425<<2)|0); + $427 = HEAP32[4836]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4760] = $431; + HEAP32[4836] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19056)>>2]|0; + $434 = HEAP32[(19360)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34984,7 +34947,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19344 + ($$0361$i<<2)|0); + $464 = (19648 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34996,7 +34959,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19044)>>2] = $472; + HEAP32[(19348)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -35035,7 +34998,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19056)>>2]|0; + $491 = HEAP32[(19360)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -35054,7 +35017,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19056)>>2]|0; + $498 = HEAP32[(19360)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -35087,16 +35050,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19048)>>2]|0; + $506 = HEAP32[(19352)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19060)>>2]|0; + $509 = HEAP32[(19364)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19060)>>2] = $511; - HEAP32[(19048)>>2] = $508; + HEAP32[(19364)>>2] = $511; + HEAP32[(19352)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -35106,8 +35069,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19048)>>2] = 0; - HEAP32[(19060)>>2] = 0; + HEAP32[(19352)>>2] = 0; + HEAP32[(19364)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -35121,14 +35084,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19052)>>2]|0; + $524 = HEAP32[(19356)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19052)>>2] = $526; - $527 = HEAP32[(19064)>>2]|0; + HEAP32[(19356)>>2] = $526; + $527 = HEAP32[(19368)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19064)>>2] = $528; + HEAP32[(19368)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -35139,23 +35102,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4878]|0; + $534 = HEAP32[4954]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19520)>>2] = 4096; - HEAP32[(19516)>>2] = 4096; - HEAP32[(19524)>>2] = -1; - HEAP32[(19528)>>2] = -1; - HEAP32[(19532)>>2] = 0; - HEAP32[(19484)>>2] = 0; + HEAP32[(19824)>>2] = 4096; + HEAP32[(19820)>>2] = 4096; + HEAP32[(19828)>>2] = -1; + HEAP32[(19832)>>2] = -1; + HEAP32[(19836)>>2] = 0; + HEAP32[(19788)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4878] = $538; + HEAP32[4954] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19520)>>2]|0; + $$pre$i212 = HEAP32[(19824)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -35168,10 +35131,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19480)>>2]|0; + $546 = HEAP32[(19784)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19472)>>2]|0; + $548 = HEAP32[(19776)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -35181,18 +35144,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19484)>>2]|0; + $552 = HEAP32[(19788)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19064)>>2]|0; + $555 = HEAP32[(19368)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19488); + $$0$i$i = (19792); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -35250,7 +35213,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19516)>>2]|0; + $569 = HEAP32[(19820)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -35260,13 +35223,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19472)>>2]|0; + $578 = HEAP32[(19776)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19480)>>2]|0; + $582 = HEAP32[(19784)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -35312,7 +35275,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19520)>>2]|0; + $601 = HEAP32[(19824)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -35337,9 +35300,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19484)>>2]|0; + $611 = HEAP32[(19788)>>2]|0; $612 = $611 | 4; - HEAP32[(19484)>>2] = $612; + HEAP32[(19788)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -35375,35 +35338,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19472)>>2]|0; + $626 = HEAP32[(19776)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19472)>>2] = $627; - $628 = HEAP32[(19476)>>2]|0; + HEAP32[(19776)>>2] = $627; + $628 = HEAP32[(19780)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19476)>>2] = $627; + HEAP32[(19780)>>2] = $627; } - $630 = HEAP32[(19064)>>2]|0; + $630 = HEAP32[(19368)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19056)>>2]|0; + $632 = HEAP32[(19360)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19056)>>2] = $$749$i; - } - HEAP32[(19488)>>2] = $$749$i; - HEAP32[(19492)>>2] = $$723948$i; - HEAP32[(19500)>>2] = 0; - $635 = HEAP32[4878]|0; - HEAP32[(19076)>>2] = $635; - HEAP32[(19072)>>2] = -1; + HEAP32[(19360)>>2] = $$749$i; + } + HEAP32[(19792)>>2] = $$749$i; + HEAP32[(19796)>>2] = $$723948$i; + HEAP32[(19804)>>2] = 0; + $635 = HEAP32[4954]|0; + HEAP32[(19380)>>2] = $635; + HEAP32[(19376)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19080 + ($636<<2)|0); + $637 = (19384 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35426,18 +35389,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19064)>>2] = $649; - HEAP32[(19052)>>2] = $650; + HEAP32[(19368)>>2] = $649; + HEAP32[(19356)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19528)>>2]|0; - HEAP32[(19068)>>2] = $655; + $655 = HEAP32[(19832)>>2]|0; + HEAP32[(19372)>>2] = $655; } else { - $$024371$i = (19488); + $$024371$i = (19792); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35469,7 +35432,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19052)>>2]|0; + $671 = HEAP32[(19356)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35480,30 +35443,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19064)>>2] = $679; - HEAP32[(19052)>>2] = $681; + HEAP32[(19368)>>2] = $679; + HEAP32[(19356)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19528)>>2]|0; - HEAP32[(19068)>>2] = $686; + $686 = HEAP32[(19832)>>2]|0; + HEAP32[(19372)>>2] = $686; break; } } } - $687 = HEAP32[(19056)>>2]|0; + $687 = HEAP32[(19360)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19056)>>2] = $$749$i; + HEAP32[(19360)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19488); + $$124470$i = (19792); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35558,21 +35521,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19052)>>2]|0; + $726 = HEAP32[(19356)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19052)>>2] = $727; - HEAP32[(19064)>>2] = $721; + HEAP32[(19356)>>2] = $727; + HEAP32[(19368)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19060)>>2]|0; + $730 = HEAP32[(19364)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19048)>>2]|0; + $732 = HEAP32[(19352)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19048)>>2] = $733; - HEAP32[(19060)>>2] = $721; + HEAP32[(19352)>>2] = $733; + HEAP32[(19364)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35595,7 +35558,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19080 + ($748<<2)|0); + $749 = (19384 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35618,9 +35581,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4760]|0; + $759 = HEAP32[4836]|0; $760 = $759 & $758; - HEAP32[4760] = $760; + HEAP32[4836] = $760; break; } $761 = ($747|0)==($749|0); @@ -35733,7 +35696,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19344 + ($796<<2)|0); + $797 = (19648 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35745,12 +35708,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19044)>>2]|0; + $802 = HEAP32[(19348)>>2]|0; $803 = $802 & $801; - HEAP32[(19044)>>2] = $803; + HEAP32[(19348)>>2] = $803; break L314; } else { - $804 = HEAP32[(19056)>>2]|0; + $804 = HEAP32[(19360)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35771,7 +35734,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19056)>>2]|0; + $810 = HEAP32[(19360)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35803,7 +35766,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19056)>>2]|0; + $822 = HEAP32[(19360)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35836,21 +35799,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19080 + ($836<<2)|0); - $838 = HEAP32[4760]|0; + $837 = (19384 + ($836<<2)|0); + $838 = HEAP32[4836]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4760] = $842; + HEAP32[4836] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19056)>>2]|0; + $845 = HEAP32[(19360)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35905,20 +35868,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19344 + ($$0296$i$i<<2)|0); + $875 = (19648 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19044)>>2]|0; + $879 = HEAP32[(19348)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19044)>>2] = $883; + HEAP32[(19348)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35957,7 +35920,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19056)>>2]|0; + $902 = HEAP32[(19360)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35976,7 +35939,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19056)>>2]|0; + $909 = HEAP32[(19360)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -36003,7 +35966,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19488); + $$0$i$i$i = (19792); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -36044,23 +36007,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19064)>>2] = $946; - HEAP32[(19052)>>2] = $947; + HEAP32[(19368)>>2] = $946; + HEAP32[(19356)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19528)>>2]|0; - HEAP32[(19068)>>2] = $952; + $952 = HEAP32[(19832)>>2]|0; + HEAP32[(19372)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19488)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19488)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19488)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19488)+12>>2]|0; - HEAP32[(19488)>>2] = $$749$i; - HEAP32[(19492)>>2] = $$723948$i; - HEAP32[(19500)>>2] = 0; - HEAP32[(19496)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19792)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19792)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19792)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19792)+12>>2]|0; + HEAP32[(19792)>>2] = $$749$i; + HEAP32[(19796)>>2] = $$723948$i; + HEAP32[(19804)>>2] = 0; + HEAP32[(19800)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -36089,20 +36052,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19080 + ($968<<2)|0); - $970 = HEAP32[4760]|0; + $969 = (19384 + ($968<<2)|0); + $970 = HEAP32[4836]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4760] = $974; + HEAP32[4836] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19056)>>2]|0; + $977 = HEAP32[(19360)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -36154,19 +36117,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19344 + ($$0212$i$i<<2)|0); + $1007 = (19648 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19044)>>2]|0; + $1010 = HEAP32[(19348)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19044)>>2] = $1014; + HEAP32[(19348)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -36205,7 +36168,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19056)>>2]|0; + $1033 = HEAP32[(19360)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -36224,7 +36187,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19056)>>2]|0; + $1040 = HEAP32[(19360)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -36247,14 +36210,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19052)>>2]|0; + $1048 = HEAP32[(19356)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19052)>>2] = $1050; - $1051 = HEAP32[(19064)>>2]|0; + HEAP32[(19356)>>2] = $1050; + $1051 = HEAP32[(19368)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19064)>>2] = $1052; + HEAP32[(19368)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -36297,7 +36260,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19056)>>2]|0; + $3 = HEAP32[(19360)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -36330,7 +36293,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19060)>>2]|0; + $19 = HEAP32[(19364)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -36345,7 +36308,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19048)>>2] = $17; + HEAP32[(19352)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -36359,7 +36322,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19080 + ($27<<2)|0); + $28 = (19384 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -36379,9 +36342,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4760]|0; + $37 = HEAP32[4836]|0; $38 = $37 & $36; - HEAP32[4760] = $38; + HEAP32[4836] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36495,7 +36458,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19344 + ($74<<2)|0); + $75 = (19648 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36505,14 +36468,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19044)>>2]|0; + $80 = HEAP32[(19348)>>2]|0; $81 = $80 & $79; - HEAP32[(19044)>>2] = $81; + HEAP32[(19348)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19056)>>2]|0; + $82 = HEAP32[(19360)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36534,7 +36497,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19056)>>2]|0; + $88 = HEAP32[(19360)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36566,7 +36529,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19056)>>2]|0; + $100 = HEAP32[(19360)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36601,14 +36564,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19064)>>2]|0; + $120 = HEAP32[(19368)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19060)>>2]|0; + $122 = HEAP32[(19364)>>2]|0; if ($121) { - $123 = HEAP32[(19052)>>2]|0; + $123 = HEAP32[(19356)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19052)>>2] = $124; - HEAP32[(19064)>>2] = $$1; + HEAP32[(19356)>>2] = $124; + HEAP32[(19368)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36616,16 +36579,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19060)>>2] = 0; - HEAP32[(19048)>>2] = 0; + HEAP32[(19364)>>2] = 0; + HEAP32[(19352)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19048)>>2]|0; + $129 = HEAP32[(19352)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19048)>>2] = $130; - HEAP32[(19060)>>2] = $113; + HEAP32[(19352)>>2] = $130; + HEAP32[(19364)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36644,10 +36607,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19080 + ($142<<2)|0); + $143 = (19384 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19056)>>2]|0; + $145 = HEAP32[(19360)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36665,9 +36628,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4760]|0; + $153 = HEAP32[4836]|0; $154 = $153 & $152; - HEAP32[4760] = $154; + HEAP32[4836] = $154; break; } $155 = ($141|0)==($143|0); @@ -36675,7 +36638,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19056)>>2]|0; + $156 = HEAP32[(19360)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36735,7 +36698,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19056)>>2]|0; + $189 = HEAP32[(19360)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36748,7 +36711,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19056)>>2]|0; + $169 = HEAP32[(19360)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36779,7 +36742,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19344 + ($193<<2)|0); + $194 = (19648 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36789,13 +36752,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19044)>>2]|0; + $199 = HEAP32[(19348)>>2]|0; $200 = $199 & $198; - HEAP32[(19044)>>2] = $200; + HEAP32[(19348)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19056)>>2]|0; + $201 = HEAP32[(19360)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36816,7 +36779,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19056)>>2]|0; + $207 = HEAP32[(19360)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36846,7 +36809,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19056)>>2]|0; + $219 = HEAP32[(19360)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36867,10 +36830,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19060)>>2]|0; + $226 = HEAP32[(19364)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19048)>>2] = $135; + HEAP32[(19352)>>2] = $135; return; } else { $$2 = $135; @@ -36889,20 +36852,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19080 + ($234<<2)|0); - $236 = HEAP32[4760]|0; + $235 = (19384 + ($234<<2)|0); + $236 = HEAP32[4836]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4760] = $240; + HEAP32[4836] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19056)>>2]|0; + $243 = HEAP32[(19360)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36954,21 +36917,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19344 + ($$0396<<2)|0); + $273 = (19648 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19044)>>2]|0; + $277 = HEAP32[(19348)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19044)>>2] = $281; + HEAP32[(19348)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -37006,7 +36969,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19056)>>2]|0; + $300 = HEAP32[(19360)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -37025,7 +36988,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19056)>>2]|0; + $307 = HEAP32[(19360)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -37047,12 +37010,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19072)>>2]|0; + $314 = HEAP32[(19376)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19072)>>2] = $315; + HEAP32[(19376)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19496); + $$0212$in$i = (19800); } else { return; } @@ -37066,7 +37029,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19072)>>2] = -1; + HEAP32[(19376)>>2] = -1; return; } function _realloc($0,$1) { @@ -37138,7 +37101,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19056)>>2]|0; + $6 = HEAP32[(19360)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -37168,7 +37131,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19520)>>2]|0; + $18 = HEAP32[(19824)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -37204,10 +37167,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19064)>>2]|0; + $34 = HEAP32[(19368)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19052)>>2]|0; + $36 = HEAP32[(19356)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -37223,15 +37186,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19064)>>2] = $40; - HEAP32[(19052)>>2] = $39; + HEAP32[(19368)>>2] = $40; + HEAP32[(19356)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19060)>>2]|0; + $46 = HEAP32[(19364)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19048)>>2]|0; + $48 = HEAP32[(19352)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -37267,8 +37230,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19048)>>2] = $storemerge1; - HEAP32[(19060)>>2] = $storemerge; + HEAP32[(19352)>>2] = $storemerge1; + HEAP32[(19364)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -37295,7 +37258,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19080 + ($81<<2)|0); + $82 = (19384 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -37315,9 +37278,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4760]|0; + $91 = HEAP32[4836]|0; $92 = $91 & $90; - HEAP32[4760] = $92; + HEAP32[4836] = $92; break; } $93 = ($80|0)==($82|0); @@ -37426,7 +37389,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19344 + ($128<<2)|0); + $129 = (19648 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37436,13 +37399,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19044)>>2]|0; + $134 = HEAP32[(19348)>>2]|0; $135 = $134 & $133; - HEAP32[(19044)>>2] = $135; + HEAP32[(19348)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19056)>>2]|0; + $136 = HEAP32[(19360)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37463,7 +37426,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19056)>>2]|0; + $142 = HEAP32[(19360)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37493,7 +37456,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19056)>>2]|0; + $154 = HEAP32[(19360)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37578,13 +37541,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19056)>>2]|0; + $13 = HEAP32[(19360)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19060)>>2]|0; + $15 = HEAP32[(19364)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37599,7 +37562,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19048)>>2] = $12; + HEAP32[(19352)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37613,7 +37576,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19080 + ($23<<2)|0); + $24 = (19384 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37633,9 +37596,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4760]|0; + $33 = HEAP32[4836]|0; $34 = $33 & $32; - HEAP32[4760] = $34; + HEAP32[4836] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37749,7 +37712,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19344 + ($70<<2)|0); + $71 = (19648 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37759,14 +37722,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19044)>>2]|0; + $76 = HEAP32[(19348)>>2]|0; $77 = $76 & $75; - HEAP32[(19044)>>2] = $77; + HEAP32[(19348)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19056)>>2]|0; + $78 = HEAP32[(19360)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37788,7 +37751,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19056)>>2]|0; + $84 = HEAP32[(19360)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37820,7 +37783,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19056)>>2]|0; + $96 = HEAP32[(19360)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37839,7 +37802,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19056)>>2]|0; + $108 = HEAP32[(19360)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37850,14 +37813,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19064)>>2]|0; + $114 = HEAP32[(19368)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19060)>>2]|0; + $116 = HEAP32[(19364)>>2]|0; if ($115) { - $117 = HEAP32[(19052)>>2]|0; + $117 = HEAP32[(19356)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19052)>>2] = $118; - HEAP32[(19064)>>2] = $$1; + HEAP32[(19356)>>2] = $118; + HEAP32[(19368)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37865,16 +37828,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19060)>>2] = 0; - HEAP32[(19048)>>2] = 0; + HEAP32[(19364)>>2] = 0; + HEAP32[(19352)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19048)>>2]|0; + $123 = HEAP32[(19352)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19048)>>2] = $124; - HEAP32[(19060)>>2] = $$1; + HEAP32[(19352)>>2] = $124; + HEAP32[(19364)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37893,7 +37856,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19080 + ($136<<2)|0); + $137 = (19384 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37913,9 +37876,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4760]|0; + $146 = HEAP32[4836]|0; $147 = $146 & $145; - HEAP32[4760] = $147; + HEAP32[4836] = $147; break; } $148 = ($135|0)==($137|0); @@ -38024,7 +37987,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19344 + ($183<<2)|0); + $184 = (19648 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -38034,13 +37997,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19044)>>2]|0; + $189 = HEAP32[(19348)>>2]|0; $190 = $189 & $188; - HEAP32[(19044)>>2] = $190; + HEAP32[(19348)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19056)>>2]|0; + $191 = HEAP32[(19360)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -38061,7 +38024,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19056)>>2]|0; + $197 = HEAP32[(19360)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -38091,7 +38054,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19056)>>2]|0; + $209 = HEAP32[(19360)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -38112,10 +38075,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19060)>>2]|0; + $216 = HEAP32[(19364)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19048)>>2] = $129; + HEAP32[(19352)>>2] = $129; return; } else { $$2 = $129; @@ -38134,20 +38097,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19080 + ($224<<2)|0); - $226 = HEAP32[4760]|0; + $225 = (19384 + ($224<<2)|0); + $226 = HEAP32[4836]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4760] = $230; + HEAP32[4836] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19056)>>2]|0; + $233 = HEAP32[(19360)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -38199,20 +38162,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19344 + ($$0431<<2)|0); + $263 = (19648 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19044)>>2]|0; + $267 = HEAP32[(19348)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19044)>>2] = $271; + HEAP32[(19348)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -38251,7 +38214,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19056)>>2]|0; + $290 = HEAP32[(19360)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -38269,7 +38232,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19056)>>2]|0; + $297 = HEAP32[(19360)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/models/models_box_collisions.js b/docs/examples/web/models/models_box_collisions.js index 6986cec2..d3f15137 100644 --- a/docs/examples/web/models/models_box_collisions.js +++ b/docs/examples/web/models/models_box_collisions.js @@ -7406,30 +7406,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7564,13 +7614,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8693,45 +8736,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/models/models_cubicmap.js b/docs/examples/web/models/models_cubicmap.js index c0d9d209..5e93d6af 100644 --- a/docs/examples/web/models/models_cubicmap.js +++ b/docs/examples/web/models/models_cubicmap.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 201, "filename": "/resources/cubicmap.png"}, {"audio": 0, "start": 201, "crunched": 0, "end": 37426, "filename": "/resources/cubicmap_atlas.png"}], "remote_package_size": 37426, "package_uuid": "4f94625e-fddb-4843-968b-9477a887e12e"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 201, "filename": "/resources/cubicmap.png"}, {"audio": 0, "start": 201, "crunched": 0, "end": 37426, "filename": "/resources/cubicmap_atlas.png"}], "remote_package_size": 37426, "package_uuid": "68436111-ec50-4203-a7c7-1199499cedf4"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 23008; +STATICTOP = STATIC_BASE + 22992; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,128,65,0,0,96,65,0,0,128,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,128,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,215,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,98,101,115,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,95,97,116,108,97,115,46,112,110,103,0,99,117,98,105,99,109,97,112,32,105,109,97,103,101,32,117,115,101,100,32,116,111,0,103,101,110,101,114,97,116,101,32,109,97,112,32,51,100,32,109,111,100,101,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,128,65,0,0,96,65,0,0,128,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,128,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,128,63,0,0,128,63,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,207,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,98,101,115,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,98,105,99,109,97,112,95,97,116,108,97,115,46,112,110,103,0,99,117,98,105,99,109,97,112,32,105,109,97,103,101,32,117,115,101,100,32,116,111,0,103,101,110,101,114,97,116,101,32,109,97,112,32,51,100,32,109,111,100,101,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10512,22 +10512,22 @@ function _main() { _LoadImage($0,4343); ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$map$byval_copy); - ;HEAP32[17120>>2]=HEAP32[$1>>2]|0;HEAP32[17120+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17120+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17120+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17120+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17432>>2]=HEAP32[$1>>2]|0;HEAP32[17432+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17432+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17432+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17432+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadCubicmap($2,$map$byval_copy); - _memcpy((17140|0),($2|0),264)|0; + _memcpy((17452|0),($2|0),264)|0; _LoadTexture($3,4366); - ;HEAP32[(17328)>>2]=HEAP32[$3>>2]|0;HEAP32[(17328)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(17328)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(17328)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(17328)+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[(17640)>>2]=HEAP32[$3>>2]|0;HEAP32[(17640)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(17640)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(17640)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(17640)+16>>2]=HEAP32[$3+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($map$byval_copy); dest=$map$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($map$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$map$byval_copy>>2]=HEAP32[17120>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[17120+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[17120+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[17120+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[17120+16>>2]|0; + ;HEAP32[$map$byval_copy>>2]=HEAP32[17432>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[17432+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[17432+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[17432+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[17432+16>>2]|0; _UnloadTexture($map$byval_copy); ;HEAP32[$map$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$3+16>>2]|0; _UnloadTexture($map$byval_copy); - _memcpy(($map$byval_copy|0),(17140|0),264)|0; + _memcpy(($map$byval_copy|0),(17452|0),264)|0; _UnloadModel($map$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10562,13 +10562,13 @@ function _UpdateDrawFrame() { dest=$$byval_copy4; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy4); HEAP32[$1>>2] = -1; - _memcpy(($cubicmap$byval_copy|0),(17140|0),264)|0; + _memcpy(($cubicmap$byval_copy|0),(17452|0),264)|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[56>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[56+8>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($cubicmap$byval_copy,$$byval_copy1,1.0,$$byval_copy4); _End3dMode(); $10 = HEAP32[2]|0; - $11 = HEAP32[(17124)>>2]|0; + $11 = HEAP32[(17436)>>2]|0; $12 = $11 << 2; $13 = (($10) + -20)|0; $14 = (($13) - ($12))|0; @@ -10577,16 +10577,16 @@ function _UpdateDrawFrame() { $16 = ((($2)) + 4|0); HEAPF32[$16>>2] = 20.0; HEAP32[$3>>2] = -1; - ;HEAP32[$cubicmap$byval_copy>>2]=HEAP32[17120>>2]|0;HEAP32[$cubicmap$byval_copy+4>>2]=HEAP32[17120+4>>2]|0;HEAP32[$cubicmap$byval_copy+8>>2]=HEAP32[17120+8>>2]|0;HEAP32[$cubicmap$byval_copy+12>>2]=HEAP32[17120+12>>2]|0;HEAP32[$cubicmap$byval_copy+16>>2]=HEAP32[17120+16>>2]|0; + ;HEAP32[$cubicmap$byval_copy>>2]=HEAP32[17432>>2]|0;HEAP32[$cubicmap$byval_copy+4>>2]=HEAP32[17432+4>>2]|0;HEAP32[$cubicmap$byval_copy+8>>2]=HEAP32[17432+8>>2]|0;HEAP32[$cubicmap$byval_copy+12>>2]=HEAP32[17432+12>>2]|0;HEAP32[$cubicmap$byval_copy+16>>2]=HEAP32[17432+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextureEx($cubicmap$byval_copy,$$byval_copy1,0.0,4.0,$$byval_copy4); $17 = HEAP32[2]|0; - $18 = HEAP32[(17124)>>2]|0; + $18 = HEAP32[(17436)>>2]|0; $19 = $18 << 2; $20 = (($17) + -20)|0; $21 = (($20) - ($19))|0; - $22 = HEAP32[(17128)>>2]|0; + $22 = HEAP32[(17440)>>2]|0; $23 = $22 << 2; HEAP8[$4>>0] = 0; $24 = ((($4)) + 1|0); @@ -10619,30 +10619,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10777,13 +10827,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11772,7 +11815,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4352] = $2; + HEAP32[4430] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11785,7 +11828,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16840; + $95 = 17152; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11798,48 +11841,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16880; + $106 = 17192; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4220]; - $111 = +HEAPF32[4210]; + $110 = +HEAPF32[4298]; + $111 = +HEAPF32[4288]; $112 = $110 - $111; - HEAPF32[4222] = $112; - $113 = +HEAPF32[(16884)>>2]; - $114 = +HEAPF32[(16844)>>2]; + HEAPF32[4300] = $112; + $113 = +HEAPF32[(17196)>>2]; + $114 = +HEAPF32[(17156)>>2]; $115 = $113 - $114; - HEAPF32[(16892)>>2] = $115; - HEAP32[4351] = 4; + HEAPF32[(17204)>>2] = $115; + HEAP32[4429] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4357] = $116; - $117 = 16872; + HEAPF32[4435] = $116; + $117 = 17184; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16840; + $123 = 17152; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16896; + $127 = 17208; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16880; + $133 = 17192; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11852,7 +11895,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16872; + $144 = 17184; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11865,27 +11908,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16896; + $155 = 17208; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4224]; - $160 = +HEAPF32[4218]; + $159 = +HEAPF32[4302]; + $160 = +HEAPF32[4296]; $161 = $159 - $160; - HEAPF32[4222] = $161; - $162 = +HEAPF32[(16900)>>2]; - $163 = +HEAPF32[(16876)>>2]; + HEAPF32[4300] = $161; + $162 = +HEAPF32[(17212)>>2]; + $163 = +HEAPF32[(17188)>>2]; $164 = $162 - $163; - HEAPF32[(16892)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16872+4>>2]|0; + HEAPF32[(17204)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17184+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17192+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11897,31 +11940,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4357]; + $170 = +HEAPF32[4435]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4351] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16896+4>>2]|0; + HEAP32[4429] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17208+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4358] = $174; + HEAPF32[4436] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4357] = 0.0; - HEAPF32[4358] = 0.0; - HEAPF32[4222] = 0.0; - HEAPF32[(16892)>>2] = 0.0; - HEAP32[4352] = 0; - HEAP32[4351] = 0; + HEAPF32[4435] = 0.0; + HEAPF32[4436] = 0.0; + HEAPF32[4300] = 0.0; + HEAPF32[(17204)>>2] = 0.0; + HEAP32[4430] = 0; + HEAP32[4429] = 0; STACKTOP = sp;return; break; } @@ -11931,22 +11974,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4353]|0; + $6 = HEAP32[4431]|0; $7 = (($6) + 1)|0; - HEAP32[4353] = $7; - $8 = HEAP32[4351]|0; + HEAP32[4431] = $7; + $8 = HEAP32[4429]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4351] = 2; - HEAP32[4353] = 0; + HEAP32[4429] = 2; + HEAP32[4431] = 0; } else { label = 6; } @@ -11954,8 +11997,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4353] = 1; - HEAP32[4351] = 1; + HEAP32[4431] = 1; + HEAP32[4429] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11964,19 +12007,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16840; + $21 = 17152; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16848; + $25 = 17160; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16856; + $29 = 17168; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11985,13 +12028,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[17] = $34; - HEAPF32[4216] = 0.0; - HEAPF32[(16868)>>2] = 0.0; + HEAPF32[4294] = 0.0; + HEAPF32[(17180)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4351]|0; + $35 = HEAP32[4429]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12001,19 +12044,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16856; + $44 = 17168; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17168+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4354] = $49; - HEAP32[4355] = 0; + HEAPF32[4432] = $49; + HEAP32[4433] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[17]|0; @@ -12021,11 +12064,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17168+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4356] = $56; + HEAPF32[4434] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12056,22 +12099,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4354] = 0.0; - HEAPF32[4356] = 0.0; + HEAPF32[4432] = 0.0; + HEAPF32[4434] = 0.0; $$sink10 = 0; } - HEAP32[4351] = $$sink10; - HEAPF32[4212] = 0.0; - HEAPF32[(16852)>>2] = 0.0; - HEAP32[4352] = 0; + HEAP32[4429] = $$sink10; + HEAPF32[4290] = 0.0; + HEAPF32[(17164)>>2] = 0.0; + HEAP32[4430] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4355]|0; + $65 = HEAP32[4433]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4355] = 1; + HEAP32[4433] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12080,31 +12123,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16872; + $74 = 17184; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4351]|0; + $78 = HEAP32[4429]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17184+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4351] = 8; + HEAP32[4429] = 8; } } - $82 = +HEAPF32[4218]; - $83 = +HEAPF32[4212]; + $82 = +HEAPF32[4296]; + $83 = +HEAPF32[4290]; $84 = $82 - $83; - HEAPF32[4216] = $84; - $85 = +HEAPF32[(16876)>>2]; - $86 = +HEAPF32[(16852)>>2]; + HEAPF32[4294] = $84; + $85 = +HEAPF32[(17188)>>2]; + $86 = +HEAPF32[(17164)>>2]; $87 = $85 - $86; - HEAPF32[(16868)>>2] = $87; + HEAPF32[(17180)>>2] = $87; STACKTOP = sp;return; break; } @@ -12113,58 +12156,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4351]|0; + $0 = HEAP32[4429]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4352]|0; + $2 = HEAP32[4430]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4351] = 4; + HEAP32[4429] = 4; } - $4 = HEAP32[4351]|0; + $4 = HEAP32[4429]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12177,7 +12181,7 @@ function _UpdateGestures() { return; } } - HEAP32[4351] = 0; + HEAP32[4429] = 0; return; } function _SetCameraMode($0,$1) { @@ -12206,22 +12210,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4359] = $10; + HEAPF32[4437] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4360] = $16; + HEAPF32[4438] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4361] = $20; + HEAPF32[4439] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[18] = $21; - HEAP32[4362] = $1; + HEAP32[4440] = $1; return; } function _UpdateCamera($0) { @@ -12290,7 +12294,7 @@ function _UpdateCamera($0) { $30 = HEAP32[27]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4362]|0; + $32 = HEAP32[4440]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12362,9 +12366,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4226]; + $64 = +HEAPF32[4304]; $65 = $37 - $64; - $66 = +HEAPF32[(16908)>>2]; + $66 = +HEAPF32[(17220)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12372,11 +12376,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4226]; + $69 = +HEAPF32[4304]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(16908)>>2]; + $73 = +HEAPF32[(17220)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12388,16 +12392,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 16904; + $81 = 17216; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4362]|0; + $$pr = HEAP32[4440]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4359]; + $85 = +HEAPF32[4437]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12406,10 +12410,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4359] = $90; + HEAPF32[4437] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4359] = 120.0; + HEAPF32[4437] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12488,12 +12492,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4359] = $148; + HEAPF32[4437] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4359] = 0.30000001192092896; + HEAPF32[4437] = 0.30000001192092896; break; } } @@ -12515,7 +12519,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4359]; + $164 = +HEAPF32[4437]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12547,7 +12551,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4359]; + $188 = +HEAPF32[4437]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12571,12 +12575,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4359]; + $205 = +HEAPF32[4437]; $206 = $205 - $204; - HEAPF32[4359] = $206; + HEAPF32[4437] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4359] = 0.30000001192092896; + HEAPF32[4437] = 0.30000001192092896; } } } @@ -12590,17 +12594,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4360]; + $223 = +HEAPF32[4438]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4361]; + $229 = +HEAPF32[4439]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4359]; + $233 = +HEAPF32[4437]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12630,23 +12634,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4359]; + $212 = +HEAPF32[4437]; $213 = $211 + $212; - HEAPF32[4359] = $213; + HEAPF32[4437] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4360]; + $215 = +HEAPF32[4438]; $216 = $215 - $214; - HEAPF32[4360] = $216; + HEAPF32[4438] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4361]; + $218 = +HEAPF32[4439]; $219 = $218 - $217; - HEAPF32[4361] = $219; + HEAPF32[4439] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4361] = 1.483529806137085; + HEAPF32[4439] = 1.483529806137085; label = 58; break L1; } @@ -12655,32 +12659,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4361] = -1.483529806137085; + HEAPF32[4439] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4360]; + $254 = +HEAPF32[4438]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4360] = $255; + HEAPF32[4438] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4359]; + $258 = +HEAPF32[4437]; $259 = $258 - $257; - HEAPF32[4359] = $259; + HEAPF32[4437] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4359] = 1.2000000476837158; + HEAPF32[4437] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4360]; + $264 = +HEAPF32[4438]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12702,7 +12706,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4361]; + $285 = +HEAPF32[4439]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12770,14 +12774,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4360]; + $314 = +HEAPF32[4438]; $315 = $314 - $313; - HEAPF32[4360] = $315; + HEAPF32[4438] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4361]; + $317 = +HEAPF32[4439]; $318 = $317 - $316; - HEAPF32[4361] = $318; - $319 = HEAP32[4362]|0; + HEAPF32[4439] = $318; + $319 = HEAP32[4440]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12792,17 +12796,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4361] = $$sink26; + HEAPF32[4439] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4359]; + $325 = +HEAPF32[4437]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4359] = $storemerge; + HEAPF32[4437] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4360]; + $329 = +HEAPF32[4438]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12833,17 +12837,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4361] = $$sink28; + HEAPF32[4439] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4360]; + $347 = +HEAPF32[4438]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4361]; + $353 = +HEAPF32[4439]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12857,12 +12861,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4363]|0; + $364 = HEAP32[4441]|0; $365 = (($364) + 1)|0; - HEAP32[4363] = $365; + HEAP32[4441] = $365; } $366 = +HEAPF32[18]; - $367 = HEAP32[4363]|0; + $367 = HEAP32[4441]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12892,7 +12896,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4362]|0; + $$pr190 = HEAP32[4440]|0; $380 = $$pr190; } switch ($380|0) { @@ -12903,11 +12907,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4360]; + $381 = +HEAPF32[4438]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4359]; + $383 = +HEAPF32[4437]; $384 = $382 * $383; - $385 = +HEAPF32[4361]; + $385 = +HEAPF32[4439]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12916,7 +12920,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4359]; + $393 = +HEAPF32[4437]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12940,7 +12944,7 @@ function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16912; + $1 = 17224; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12957,7 +12961,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4368]|0; + $0 = HEAP32[4446]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12982,19 +12986,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4367]|0; + $0 = HEAP32[4445]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4366]|0; + $0 = HEAP32[4444]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4364] = 1; + HEAP32[4442] = 1; return; } function _SetMousePosition($0) { @@ -13007,13 +13011,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 16912; + $7 = 17224; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4365]|0; + $11 = HEAP32[4443]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13025,14 +13029,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4364] = 0; + HEAP32[4442] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4365]|0; + $1 = HEAP32[4443]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13040,7 +13044,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4365]|0; + $1 = HEAP32[4443]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13053,7 +13057,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4440,$vararg_buffer); - HEAP32[4369] = $2; + HEAP32[4447] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13066,15 +13070,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4469|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4367]|0; + $3 = HEAP32[4445]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4228] = $5; - $6 = HEAP32[4366]|0; + HEAPF32[4306] = $5; + $6 = HEAP32[4444]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16916)>>2] = $8; - $9 = HEAP32[4370]|0; + HEAPF32[(17228)>>2] = $8; + $9 = HEAP32[4448]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13093,11 +13097,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16952>>0]=HEAP8[8969>>0]|0;HEAP8[16952+1>>0]=HEAP8[8969+1>>0]|0;HEAP8[16952+2>>0]=HEAP8[8969+2>>0]|0;HEAP8[16952+3>>0]=HEAP8[8969+3>>0]|0;HEAP8[16952+4>>0]=HEAP8[8969+4>>0]|0;HEAP8[16952+5>>0]=HEAP8[8969+5>>0]|0;HEAP8[16952+6>>0]=HEAP8[8969+6>>0]|0; + ;HEAP8[17264>>0]=HEAP8[8969>>0]|0;HEAP8[17264+1>>0]=HEAP8[8969+1>>0]|0;HEAP8[17264+2>>0]=HEAP8[8969+2>>0]|0;HEAP8[17264+3>>0]=HEAP8[8969+3>>0]|0;HEAP8[17264+4>>0]=HEAP8[8969+4>>0]|0;HEAP8[17264+5>>0]=HEAP8[8969+5>>0]|0;HEAP8[17264+6>>0]=HEAP8[8969+6>>0]|0; break; } case 1: { - $3 = 16952; + $3 = 17264; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13106,11 +13110,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16952; src=8976; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=17264; src=8976; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16952; + $7 = 17264; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13121,16 +13125,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16952,$1)|0); - $strlen = (_strlen(16952)|0); - $endptr = (16952 + ($strlen)|0); + (_strcat(17264,$1)|0); + $strlen = (_strlen(17264)|0); + $endptr = (17264 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16952,$2)|0); + (_vprintf(17264,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13162,22 +13166,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4367] = $0; - HEAP32[4366] = $1; + HEAP32[4445] = $0; + HEAP32[4444] = $1; _MatrixIdentity($2); - dest=17556; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17868; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5111,$vararg_buffer); } - $6 = HEAP32[4367]|0; - HEAP32[4405] = $6; - $7 = HEAP32[4366]|0; - HEAP32[4406] = $7; + $6 = HEAP32[4445]|0; + HEAP32[4483] = $6; + $7 = HEAP32[4444]|0; + HEAP32[4484] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[20296]|0; + $8 = HEAP8[20608]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13185,13 +13189,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[20296]|0; + $11 = HEAP8[20608]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[20296]|0; + $14 = HEAP8[20608]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13213,18 +13217,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4407]|0; + $21 = HEAP32[4485]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4367]|0; - $48 = HEAP32[4366]|0; - $49 = HEAP32[4369]|0; + $47 = HEAP32[4445]|0; + $48 = HEAP32[4444]|0; + $49 = HEAP32[4447]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4365] = $50; - $51 = HEAP32[4367]|0; - HEAP32[4408] = $51; - $52 = HEAP32[4366]|0; - HEAP32[4409] = $52; + HEAP32[4443] = $50; + $51 = HEAP32[4445]|0; + HEAP32[4486] = $51; + $52 = HEAP32[4444]|0; + HEAP32[4487] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13233,9 +13237,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4367]|0; + $27 = HEAP32[4445]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4366]|0; + $29 = HEAP32[4444]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13257,25 +13261,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4405] = $31; - HEAP32[4406] = $34; + HEAP32[4483] = $31; + HEAP32[4484] = $34; } } while(0); - $38 = HEAP32[4405]|0; - $39 = HEAP32[4406]|0; + $38 = HEAP32[4483]|0; + $39 = HEAP32[4484]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5162,$vararg_buffer3); - $40 = HEAP32[4405]|0; - $41 = HEAP32[4406]|0; + $40 = HEAP32[4483]|0; + $41 = HEAP32[4484]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4405]|0; - $43 = HEAP32[4406]|0; - $44 = HEAP32[4369]|0; + $42 = HEAP32[4483]|0; + $43 = HEAP32[4484]|0; + $44 = HEAP32[4447]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4365] = $46; + HEAP32[4443] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13284,60 +13288,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5200,$vararg_buffer6); } else { _TraceLog(0,5233,$vararg_buffer8); - $55 = HEAP32[4408]|0; - $56 = HEAP32[4409]|0; + $55 = HEAP32[4486]|0; + $56 = HEAP32[4487]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5273,$vararg_buffer10); - $57 = HEAP32[4367]|0; - $58 = HEAP32[4366]|0; + $57 = HEAP32[4445]|0; + $58 = HEAP32[4444]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5294,$vararg_buffer14); - $59 = HEAP32[4410]|0; - $60 = HEAP32[4411]|0; + $59 = HEAP32[4488]|0; + $60 = HEAP32[4489]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5315,$vararg_buffer18); } - $61 = HEAP32[4365]|0; + $61 = HEAP32[4443]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4365]|0; + $62 = HEAP32[4443]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4365]|0; + $63 = HEAP32[4443]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4365]|0; + $64 = HEAP32[4443]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4365]|0; + $65 = HEAP32[4443]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4365]|0; + $66 = HEAP32[4443]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4365]|0; + $67 = HEAP32[4443]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4365]|0; + $68 = HEAP32[4443]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4365]|0; + $69 = HEAP32[4443]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[20296]|0; + $70 = HEAP8[20608]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4367]|0; - $74 = HEAP32[4366]|0; + $73 = HEAP32[4445]|0; + $74 = HEAP32[4444]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4408]|0; - $76 = HEAP32[4410]|0; + $75 = HEAP32[4486]|0; + $76 = HEAP32[4488]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4409]|0; - $80 = HEAP32[4411]|0; + $79 = HEAP32[4487]|0; + $80 = HEAP32[4489]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13356,18 +13360,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5340,$vararg_buffer22); - $73 = HEAP32[4367]|0; - $74 = HEAP32[4366]|0; + $73 = HEAP32[4445]|0; + $74 = HEAP32[4444]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4408]|0; - $76 = HEAP32[4410]|0; + $75 = HEAP32[4486]|0; + $76 = HEAP32[4488]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4409]|0; - $80 = HEAP32[4411]|0; + $79 = HEAP32[4487]|0; + $80 = HEAP32[4489]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13395,7 +13399,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(17524)>>2] = 224; + HEAP32[(17836)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13436,27 +13440,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[17500>>2]=HEAP32[$1>>2]|0;HEAP32[17500+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17500+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17500+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17500+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17812>>2]=HEAP32[$1>>2]|0;HEAP32[17812+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17812+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17812+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17812+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(17524)>>2]|0; + $5 = HEAP32[(17836)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(17528)>>2] = $7; + HEAP32[(17840)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17520)>>2] = $23; - $24 = HEAP32[4375]|0; + HEAP32[(17832)>>2] = $23; + $24 = HEAP32[4453]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4664,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(17504)>>2]|0; - $10 = HEAP32[(17524)>>2]|0; - $11 = HEAP32[(17528)>>2]|0; + $9 = HEAP32[(17816)>>2]|0; + $10 = HEAP32[(17836)>>2]|0; + $11 = HEAP32[(17840)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13505,8 +13509,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17520)>>2] = $23; - $24 = HEAP32[4375]|0; + HEAP32[(17832)>>2] = $23; + $24 = HEAP32[4453]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4664,$vararg_buffer); STACKTOP = sp;return; @@ -13517,7 +13521,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2118] = $1; + HEAPF64[2157] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13676,7 +13680,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16928; + $31 = 17240; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13689,7 +13693,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16936); + $42 = (17248); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13745,7 +13749,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (17484 + ($10<<2)|0); + $11 = (17796 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13759,7 +13763,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2115] = $$; + HEAPF64[2154] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13771,7 +13775,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4370] = 0; + HEAP32[4448] = 0; return; } function _GetTime() { @@ -14347,7 +14351,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4383]|0; + $6 = HEAP32[4461]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14357,7 +14361,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4384]|0; + $9 = HEAP32[4462]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14366,7 +14370,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4385]|0; + $12 = HEAP32[4463]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14376,7 +14380,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4386]|0; + $15 = HEAP32[4464]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14386,7 +14390,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4387]|0; + $18 = HEAP32[4465]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14430,7 +14434,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4383]|0; + $22 = HEAP32[4461]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14438,7 +14442,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4383]|0; + $24 = HEAP32[4461]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14446,7 +14450,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4383]|0; + $26 = HEAP32[4461]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14454,7 +14458,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4383]|0; + $28 = HEAP32[4461]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14462,7 +14466,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4384]|0; + $30 = HEAP32[4462]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14470,7 +14474,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4385]|0; + $32 = HEAP32[4463]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14478,7 +14482,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4385]|0; + $34 = HEAP32[4463]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14486,7 +14490,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4386]|0; + $36 = HEAP32[4464]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14494,7 +14498,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4386]|0; + $38 = HEAP32[4464]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14502,7 +14506,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4387]|0; + $40 = HEAP32[4465]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14510,7 +14514,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4387]|0; + $42 = HEAP32[4465]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14522,7 +14526,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4388]|0; + $44 = HEAP32[4466]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14537,7 +14541,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11358,$vararg_buffer15); + _TraceLog(2,11666,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14868,20 +14872,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4367]|0; + $3 = HEAP32[4445]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4366]|0; + $5 = HEAP32[4444]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4408] = $3; - HEAP32[4409] = $5; - HEAP32[4410] = 0; - HEAP32[4411] = 0; + HEAP32[4486] = $3; + HEAP32[4487] = $5; + HEAP32[4488] = 0; + HEAP32[4489] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14895,9 +14899,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4367]|0; + $35 = HEAP32[4445]|0; $36 = (+($35|0)); - $37 = HEAP32[4366]|0; + $37 = HEAP32[4444]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14905,26 +14909,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4408] = $45; - HEAP32[4409] = $37; + HEAP32[4486] = $45; + HEAP32[4487] = $37; $46 = (($45) - ($35))|0; - HEAP32[4410] = $46; + HEAP32[4488] = $46; $$sink1 = 0; } else { - HEAP32[4408] = $35; + HEAP32[4486] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4409] = $42; - HEAP32[4410] = 0; + HEAP32[4487] = $42; + HEAP32[4488] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4411] = $$sink1; + HEAP32[4489] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4366]|0; + $7 = HEAP32[4444]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14934,11 +14938,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8722,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4367]|0; + $9 = HEAP32[4445]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4366]|0; + $13 = HEAP32[4444]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14946,33 +14950,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4408] = $23; - HEAP32[4409] = $1; + HEAP32[4486] = $23; + HEAP32[4487] = $1; $24 = (($0) - ($23))|0; - HEAP32[4410] = $24; + HEAP32[4488] = $24; $$sink = 0; } else { - HEAP32[4408] = $0; - $17 = HEAP32[4366]|0; + HEAP32[4486] = $0; + $17 = HEAP32[4444]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4409] = $20; - HEAP32[4410] = 0; + HEAP32[4487] = $20; + HEAP32[4488] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4411] = $$sink; - $25 = HEAP32[4408]|0; + HEAP32[4489] = $$sink; + $25 = HEAP32[4486]|0; $26 = (+($25|0)); - $27 = HEAP32[4367]|0; + $27 = HEAP32[4445]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17556; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4408] = $0; - HEAP32[4409] = $1; + dest=17868; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4486] = $0; + HEAP32[4487] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14994,10 +14998,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4367] = $1; - HEAP32[4366] = $2; - HEAP32[4408] = $1; - HEAP32[4409] = $2; + HEAP32[4445] = $1; + HEAP32[4444] = $2; + HEAP32[4486] = $1; + HEAP32[4487] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15024,7 +15028,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (20303 + ($1)|0); + $9 = (20615 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15045,7 +15049,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (20297 + ($1)|0); + $7 = (20609 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15124,7 +15128,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16928; + $15 = 17240; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15159,7 +15163,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4781] = $3; + HEAP32[4859] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15169,7 +15173,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4780] = $$sink; + HEAP32[4858] = $$sink; return; } function _rlglInit($0,$1) { @@ -15250,18 +15254,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5472)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4446] = 1; + HEAP32[4524] = 1; $27 = (_eglGetProcAddress((5499|0))|0); - HEAP32[4447] = $27; + HEAP32[4525] = $27; $28 = (_eglGetProcAddress((5520|0))|0); - HEAP32[4448] = $28; + HEAP32[4526] = $28; $29 = (_eglGetProcAddress((5541|0))|0); - HEAP32[4449] = $29; + HEAP32[4527] = $29; } $30 = (_strcmp($24,5565)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4388] = 1; + HEAP32[4466] = 1; } $32 = (_strcmp($24,5585)|0); $33 = ($32|0)==(0); @@ -15283,7 +15287,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4383] = 1; + HEAP32[4461] = 1; } $39 = (_strcmp($24,5690)|0); $40 = ($39|0)==(0); @@ -15299,35 +15303,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4384] = 1; + HEAP32[4462] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5759)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4385] = 1; + HEAP32[4463] = 1; } $47 = (_strcmp($44,5784)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4386] = 1; + HEAP32[4464] = 1; } $49 = (_strcmp($44,5817)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4387] = 1; + HEAP32[4465] = 1; } $51 = (_strcmp($44,5853)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4450] = 1; - _glGetFloatv(34047,(17804|0)); + HEAP32[4528] = 1; + _glGetFloatv(34047,(18116|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5887)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4452] = 1; + HEAP32[4530] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15338,61 +15342,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4446]|0; + $21 = HEAP32[4524]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5990,$vararg_buffer15); } else { _TraceLog(0,5915,$vararg_buffer13); } - $57 = HEAP32[4388]|0; + $57 = HEAP32[4466]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6126,$vararg_buffer19); } else { _TraceLog(0,6051,$vararg_buffer17); } - $59 = HEAP32[4383]|0; + $59 = HEAP32[4461]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6218,$vararg_buffer21); } - $61 = HEAP32[4384]|0; + $61 = HEAP32[4462]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6264,$vararg_buffer23); } - $63 = HEAP32[4385]|0; + $63 = HEAP32[4463]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6311,$vararg_buffer25); } - $65 = HEAP32[4386]|0; + $65 = HEAP32[4464]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6362,$vararg_buffer27); } - $67 = HEAP32[4387]|0; + $67 = HEAP32[4465]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6409,$vararg_buffer29); } - $69 = HEAP32[4450]|0; + $69 = HEAP32[4528]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4451]; + $71 = +HEAPF32[4529]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6456,$vararg_buffer31); } - $73 = HEAP32[4452]|0; + $73 = HEAP32[4530]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6522,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4453] = $75; + HEAP32[4531] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6626,$vararg_buffer39); @@ -15401,14 +15405,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6575,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17816; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17872; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18128; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18184; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4482] = $77; + HEAP32[4560] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4482]|0; + $79 = HEAP32[4560]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15421,7 +15425,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4483] = $78; + HEAP32[4561] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15436,48 +15440,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4484] = 1; - $85 = HEAP32[4453]|0; + HEAP32[4562] = 1; + $85 = HEAP32[4531]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4485] = 4; + HEAP32[4563] = 4; _MatrixIdentity($4); - dest=17944; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18256; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18008); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18320); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18072); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18384); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18136); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18448); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18200); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18512); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18264); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18576); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18328); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18640); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18392); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18704); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18456); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18768); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18520); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18832); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18584); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18896); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18648); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18960); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18712); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19024); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18776); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19088); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18840); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18904); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=17652; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17964; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=17716; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4412] = 17716; + dest=18028; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4490] = 18028; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15488,21 +15492,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4742] = $0; - HEAP32[4743] = $1; + HEAP32[4820] = $0; + HEAP32[4821] = $1; _TraceLog(0,6665,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4410]|0; + $0 = HEAP32[4488]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4411]|0; + $2 = HEAP32[4489]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4408]|0; + $4 = HEAP32[4486]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4409]|0; + $6 = HEAP32[4487]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15513,12 +15517,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17652; + $modelview$sink = 17964; label = 3; break; } case 5888: { - $modelview$sink = 17716; + $modelview$sink = 18028; label = 3; break; } @@ -15526,9 +15530,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4412] = $modelview$sink; + HEAP32[4490] = $modelview$sink; } - HEAP32[4445] = $0; + HEAP32[4523] = $0; return; } function _rlLoadIdentity() { @@ -15536,7 +15540,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4412]|0; + $1 = HEAP32[4490]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -15557,7 +15561,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4412]|0; + $8 = HEAP32[4490]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15654,15 +15658,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18988)>>2] = $0; + HEAP32[(19300)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18996)>>2] = $1; - HEAP32[(18992)>>2] = 0; - HEAP32[(19000)>>2] = 0; + HEAP32[(19308)>>2] = $1; + HEAP32[(19304)>>2] = 0; + HEAP32[(19312)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18996)>>2]|0; + $2 = HEAP32[(19308)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15673,19 +15677,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4744] = 0; - HEAP32[(18984)>>2] = 0; - HEAP32[(18980)>>2] = 0; + HEAP32[4822] = 0; + HEAP32[(19296)>>2] = 0; + HEAP32[(19292)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19036)>>2] = $5; + HEAP32[(19348)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19044)>>2] = $6; - HEAP32[(19040)>>2] = 0; - HEAP32[(19048)>>2] = 0; + HEAP32[(19356)>>2] = $6; + HEAP32[(19352)>>2] = 0; + HEAP32[(19360)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19044)>>2]|0; + $7 = HEAP32[(19356)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15696,24 +15700,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4756] = 0; - HEAP32[(19032)>>2] = 0; - HEAP32[(19028)>>2] = 0; + HEAP32[4834] = 0; + HEAP32[(19344)>>2] = 0; + HEAP32[(19340)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19084)>>2] = $10; + HEAP32[(19396)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19088)>>2] = $11; + HEAP32[(19400)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19092)>>2] = $12; + HEAP32[(19404)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19096)>>2] = $13; - $14 = HEAP32[(19084)>>2]|0; + HEAP32[(19408)>>2] = $13; + $14 = HEAP32[(19396)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19088)>>2]|0; + $15 = HEAP32[(19400)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19092)>>2]|0; + $17 = HEAP32[(19404)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15724,7 +15728,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19096)>>2]|0; + $16 = HEAP32[(19408)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15761,140 +15765,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4768] = 0; - HEAP32[(19076)>>2] = 0; - HEAP32[(19080)>>2] = 0; + HEAP32[4846] = 0; + HEAP32[(19388)>>2] = 0; + HEAP32[(19392)>>2] = 0; _TraceLog(0,6712,$vararg_buffer); - $20 = HEAP32[4446]|0; + $20 = HEAP32[4524]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4447]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19004)); - $44 = HEAP32[4448]|0; - $45 = HEAP32[(19004)>>2]|0; + $43 = HEAP32[4525]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(19316)); + $44 = HEAP32[4526]|0; + $45 = HEAP32[(19316)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19008)|0)); - $46 = HEAP32[(19008)>>2]|0; + _glGenBuffers(2,((19320)|0)); + $46 = HEAP32[(19320)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18988)>>2]|0; + $47 = HEAP32[(19300)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17876)>>2]|0; + $48 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17876)>>2]|0; + $49 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19012)|0)); - $50 = HEAP32[(19012)>>2]|0; + _glGenBuffers(2,((19324)|0)); + $50 = HEAP32[(19324)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18996)>>2]|0; + $51 = HEAP32[(19308)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17896)>>2]|0; + $52 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17896)>>2]|0; + $53 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4446]|0; + $54 = HEAP32[4524]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19008)>>2]|0; - $58 = HEAP32[(19012)>>2]|0; + $57 = HEAP32[(19320)>>2]|0; + $58 = HEAP32[(19324)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6850,$vararg_buffer3); } else { - $56 = HEAP32[(19004)>>2]|0; + $56 = HEAP32[(19316)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6785,$vararg_buffer1); } - $59 = HEAP32[4446]|0; + $59 = HEAP32[4524]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4447]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19052)); - $62 = HEAP32[4448]|0; - $63 = HEAP32[(19052)>>2]|0; + $61 = HEAP32[4525]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(19364)); + $62 = HEAP32[4526]|0; + $63 = HEAP32[(19364)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19056)|0)); - $64 = HEAP32[(19056)>>2]|0; + _glGenBuffers(1,((19368)|0)); + $64 = HEAP32[(19368)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19036)>>2]|0; + $65 = HEAP32[(19348)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17876)>>2]|0; + $66 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17876)>>2]|0; + $67 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19060)|0)); - $68 = HEAP32[(19060)>>2]|0; + _glGenBuffers(1,((19372)|0)); + $68 = HEAP32[(19372)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19044)>>2]|0; + $69 = HEAP32[(19356)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17896)>>2]|0; + $70 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17896)>>2]|0; + $71 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4446]|0; + $72 = HEAP32[4524]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19056)>>2]|0; - $76 = HEAP32[(19060)>>2]|0; + $75 = HEAP32[(19368)>>2]|0; + $76 = HEAP32[(19372)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6996,$vararg_buffer10); } else { - $74 = HEAP32[(19052)>>2]|0; + $74 = HEAP32[(19364)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6927,$vararg_buffer7); } - $77 = HEAP32[4446]|0; + $77 = HEAP32[4524]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4447]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19100)); - $80 = HEAP32[4448]|0; - $81 = HEAP32[(19100)>>2]|0; + $79 = HEAP32[4525]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(19412)); + $80 = HEAP32[4526]|0; + $81 = HEAP32[(19412)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19104)|0)); - $82 = HEAP32[(19104)>>2]|0; + _glGenBuffers(1,((19416)|0)); + $82 = HEAP32[(19416)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19084)>>2]|0; + $83 = HEAP32[(19396)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17876)>>2]|0; + $84 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17876)>>2]|0; + $85 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19108)|0)); - $86 = HEAP32[(19108)>>2]|0; + _glGenBuffers(1,((19420)|0)); + $86 = HEAP32[(19420)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19088)>>2]|0; + $87 = HEAP32[(19400)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17880)>>2]|0; + $88 = HEAP32[(18192)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17880)>>2]|0; + $89 = HEAP32[(18192)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19112)|0)); - $90 = HEAP32[(19112)>>2]|0; + _glGenBuffers(1,((19424)|0)); + $90 = HEAP32[(19424)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19092)>>2]|0; + $91 = HEAP32[(19404)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17896)>>2]|0; + $92 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17896)>>2]|0; + $93 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19116)|0)); - $94 = HEAP32[(19116)>>2]|0; + _glGenBuffers(1,((19428)|0)); + $94 = HEAP32[(19428)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19096)>>2]|0; + $95 = HEAP32[(19408)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4446]|0; + $96 = HEAP32[4524]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19104)>>2]|0; - $100 = HEAP32[(19108)>>2]|0; - $101 = HEAP32[(19112)>>2]|0; - $102 = HEAP32[(19116)>>2]|0; + $99 = HEAP32[(19416)>>2]|0; + $100 = HEAP32[(19420)>>2]|0; + $101 = HEAP32[(19424)>>2]|0; + $102 = HEAP32[(19428)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15904,16 +15908,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7142,$vararg_buffer17); } else { - $98 = HEAP32[(19100)>>2]|0; + $98 = HEAP32[(19412)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7077,$vararg_buffer14); } - $103 = HEAP32[4446]|0; + $103 = HEAP32[4524]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4448]|0; + $105 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16094,9 +16098,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20297 + ($0)|0); + $1 = (20609 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20300 + ($0)|0); + $3 = (20612 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16108,9 +16112,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20297 + ($0)|0); + $1 = (20609 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20300 + ($0)|0); + $3 = (20612 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16131,7 +16135,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4365]|0; + $0 = HEAP32[4443]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8986,$vararg_buffer); @@ -16142,9 +16146,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[17500>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17500+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17500+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17500+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17500+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17812>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17812+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17812+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17812+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17812+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(17528)>>2]|0; + $0 = HEAP32[(17840)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16155,11 +16159,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17812|0)); - $0 = HEAP32[4453]|0; + _glDeleteTextures(1,(18124|0)); + $0 = HEAP32[4531]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9013,$vararg_buffer); - $1 = HEAP32[4483]|0; + $1 = HEAP32[4561]|0; _free($1); STACKTOP = sp;return; } @@ -16167,17 +16171,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4454]|0; + $0 = HEAP32[4532]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4446]|0; + $0 = HEAP32[4524]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4448]|0; + $2 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16186,39 +16190,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19008)|0)); - _glDeleteBuffers(1,((19012)|0)); - _glDeleteBuffers(1,((19056)|0)); - _glDeleteBuffers(1,((19060)|0)); - _glDeleteBuffers(1,((19104)|0)); - _glDeleteBuffers(1,((19108)|0)); - _glDeleteBuffers(1,((19112)|0)); - _glDeleteBuffers(1,((19116)|0)); - $3 = HEAP32[4446]|0; + _glDeleteBuffers(1,((19320)|0)); + _glDeleteBuffers(1,((19324)|0)); + _glDeleteBuffers(1,((19368)|0)); + _glDeleteBuffers(1,((19372)|0)); + _glDeleteBuffers(1,((19416)|0)); + _glDeleteBuffers(1,((19420)|0)); + _glDeleteBuffers(1,((19424)|0)); + _glDeleteBuffers(1,((19428)|0)); + $3 = HEAP32[4524]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4449]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19004)); - $6 = HEAP32[4449]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19052)); - $7 = HEAP32[4449]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19100)); - } - $8 = HEAP32[(18988)>>2]|0; + $5 = HEAP32[4527]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(19316)); + $6 = HEAP32[4527]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(19364)); + $7 = HEAP32[4527]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(19412)); + } + $8 = HEAP32[(19300)>>2]|0; _free($8); - $9 = HEAP32[(18996)>>2]|0; + $9 = HEAP32[(19308)>>2]|0; _free($9); - $10 = HEAP32[(19036)>>2]|0; + $10 = HEAP32[(19348)>>2]|0; _free($10); - $11 = HEAP32[(19044)>>2]|0; + $11 = HEAP32[(19356)>>2]|0; _free($11); - $12 = HEAP32[(19084)>>2]|0; + $12 = HEAP32[(19396)>>2]|0; _free($12); - $13 = HEAP32[(19088)>>2]|0; + $13 = HEAP32[(19400)>>2]|0; _free($13); - $14 = HEAP32[(19092)>>2]|0; + $14 = HEAP32[(19404)>>2]|0; _free($14); - $15 = HEAP32[(19096)>>2]|0; + $15 = HEAP32[(19408)>>2]|0; _free($15); return; } @@ -16258,16 +16262,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2135] = $0; - $1 = +HEAPF64[2118]; + HEAPF64[2174] = $0; + $1 = +HEAPF64[2157]; $2 = $0 - $1; - HEAPF64[2136] = $2; - HEAPF64[2118] = $0; + HEAPF64[2175] = $2; + HEAPF64[2157] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17556; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17868; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19128); + _rlMultMatrixf(19440); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16276,53 +16280,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4782] = $1; + HEAP32[4860] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19132)>>2] = $3; + HEAP32[(19444)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19136)>>2] = $5; + HEAP32[(19448)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19140)>>2] = $7; + HEAP32[(19452)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19144)>>2] = $9; + HEAP32[(19456)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19148)>>2] = $11; + HEAP32[(19460)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19152)>>2] = $13; + HEAP32[(19464)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19156)>>2] = $15; + HEAP32[(19468)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19160)>>2] = $17; + HEAP32[(19472)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19164)>>2] = $19; + HEAP32[(19476)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19168)>>2] = $21; + HEAP32[(19480)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19172)>>2] = $23; + HEAP32[(19484)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19176)>>2] = $25; + HEAP32[(19488)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19180)>>2] = $27; + HEAP32[(19492)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19184)>>2] = $29; + HEAP32[(19496)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19188)>>2] = $31; - return (19128|0); + HEAP32[(19500)>>2] = $31; + return (19440|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16397,7 +16401,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4412]|0; + $49 = HEAP32[4490]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16411,15 +16415,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2135] = $0; - $1 = +HEAPF64[2118]; + HEAPF64[2174] = $0; + $1 = +HEAPF64[2157]; $2 = $0 - $1; - HEAPF64[2137] = $2; - HEAPF64[2118] = $0; - $3 = +HEAPF64[2136]; + HEAPF64[2176] = $2; + HEAPF64[2157] = $0; + $3 = +HEAPF64[2175]; $4 = $2 + $3; - HEAPF64[2138] = $4; - $5 = +HEAPF64[2115]; + HEAPF64[2177] = $4; + $5 = +HEAPF64[2154]; $6 = $4 < $5; if (!($6)) { return; @@ -16429,13 +16433,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2135] = $10; - $11 = +HEAPF64[2118]; + HEAPF64[2174] = $10; + $11 = +HEAPF64[2157]; $12 = $10 - $11; - HEAPF64[2118] = $10; - $13 = +HEAPF64[2138]; + HEAPF64[2157] = $10; + $13 = +HEAPF64[2177]; $14 = $12 + $13; - HEAPF64[2138] = $14; + HEAPF64[2177] = $14; return; } function _rlglDraw() { @@ -16448,7 +16452,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4365]|0; + $0 = HEAP32[4443]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16464,20 +16468,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[764] = -1; HEAP32[766] = -1; - HEAP32[4798] = 0; - $3 = HEAP32[4365]|0; + HEAP32[4876] = 0; + $3 = HEAP32[4443]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4228] = $5; + HEAPF32[4306] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16916)>>2] = $7; - _memcpy((20815|0),(20303|0),512)|0; - ;HEAP8[20300>>0]=HEAP8[20297>>0]|0;HEAP8[20300+1>>0]=HEAP8[20297+1>>0]|0;HEAP8[20300+2>>0]=HEAP8[20297+2>>0]|0; - $8 = HEAP32[4781]|0; - HEAP32[4368] = $8; - HEAP32[4781] = 0; + HEAPF32[(17228)>>2] = $7; + _memcpy((21127|0),(20615|0),512)|0; + ;HEAP8[20612>>0]=HEAP8[20609>>0]|0;HEAP8[20612+1>>0]=HEAP8[20609+1>>0]|0;HEAP8[20612+2>>0]=HEAP8[20609+2>>0]|0; + $8 = HEAP32[4859]|0; + HEAP32[4446] = $8; + HEAP32[4859] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16487,8 +16491,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (21327 + ($$05160<<5)|0); - $scevgep67 = (21455 + ($$05160<<5)|0); + $scevgep = (21639 + ($$05160<<5)|0); + $scevgep67 = (21767 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16502,7 +16506,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((21455 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21767 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[766] = $$04857; @@ -16529,7 +16533,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19196 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((19508 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16545,7 +16549,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4798] = $$lcssa; + HEAP32[4876] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16586,87 +16590,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4744]|0; + $0 = HEAP32[4822]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4446]|0; + $2 = HEAP32[4524]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4448]|0; - $5 = HEAP32[(19004)>>2]|0; + $4 = HEAP32[4526]|0; + $5 = HEAP32[(19316)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19008)>>2]|0; + $6 = HEAP32[(19320)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4744]|0; + $7 = HEAP32[4822]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18988)>>2]|0; + $9 = HEAP32[(19300)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19012)>>2]|0; + $10 = HEAP32[(19324)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18984)>>2]|0; + $11 = HEAP32[(19296)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18996)>>2]|0; + $13 = HEAP32[(19308)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4756]|0; + $14 = HEAP32[4834]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4446]|0; + $16 = HEAP32[4524]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4448]|0; - $19 = HEAP32[(19052)>>2]|0; + $18 = HEAP32[4526]|0; + $19 = HEAP32[(19364)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19056)>>2]|0; + $20 = HEAP32[(19368)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4756]|0; + $21 = HEAP32[4834]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19036)>>2]|0; + $23 = HEAP32[(19348)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19060)>>2]|0; + $24 = HEAP32[(19372)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19032)>>2]|0; + $25 = HEAP32[(19344)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19044)>>2]|0; + $27 = HEAP32[(19356)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4768]|0; + $28 = HEAP32[4846]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4446]|0; + $30 = HEAP32[4524]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4448]|0; - $33 = HEAP32[(19100)>>2]|0; + $32 = HEAP32[4526]|0; + $33 = HEAP32[(19412)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19104)>>2]|0; + $34 = HEAP32[(19416)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4768]|0; + $35 = HEAP32[4846]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19084)>>2]|0; + $37 = HEAP32[(19396)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19108)>>2]|0; + $38 = HEAP32[(19420)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4768]|0; + $39 = HEAP32[4846]|0; $40 = $39 << 3; - $41 = HEAP32[(19088)>>2]|0; + $41 = HEAP32[(19400)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19112)>>2]|0; + $42 = HEAP32[(19424)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4768]|0; + $43 = HEAP32[4846]|0; $44 = $43 << 2; - $45 = HEAP32[(19092)>>2]|0; + $45 = HEAP32[(19404)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4446]|0; + $46 = HEAP32[4524]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4448]|0; + $48 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16684,9 +16688,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17652; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=17716; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4831]|0; + dest=$0; src=17964; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=18028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4909]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16696,134 +16700,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4744]|0; + $8 = HEAP32[4822]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4756]|0; + $10 = HEAP32[4834]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4768]|0; + $12 = HEAP32[4846]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4468]|0; + $14 = HEAP32[4546]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17716; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=17652; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=18028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17964; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17900)>>2]|0; + $15 = HEAP32[(18212)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17904)>>2]|0; + $17 = HEAP32[(18216)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17916)>>2]|0; + $18 = HEAP32[(18228)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4744]|0; + $19 = HEAP32[4822]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4453]|0; + $21 = HEAP32[4531]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4446]|0; + $22 = HEAP32[4524]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19008)>>2]|0; + $26 = HEAP32[(19320)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17876)>>2]|0; + $27 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17876)>>2]|0; + $28 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19012)>>2]|0; + $29 = HEAP32[(19324)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17896)>>2]|0; + $30 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17896)>>2]|0; + $31 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4448]|0; - $25 = HEAP32[(19004)>>2]|0; + $24 = HEAP32[4526]|0; + $25 = HEAP32[(19316)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4744]|0; + $32 = HEAP32[4822]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4446]|0; + $33 = HEAP32[4524]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4756]|0; + $35 = HEAP32[4834]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4453]|0; + $37 = HEAP32[4531]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4446]|0; + $38 = HEAP32[4524]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19056)>>2]|0; + $42 = HEAP32[(19368)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17876)>>2]|0; + $43 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17876)>>2]|0; + $44 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19060)>>2]|0; + $45 = HEAP32[(19372)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17896)>>2]|0; + $46 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17896)>>2]|0; + $47 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4448]|0; - $41 = HEAP32[(19052)>>2]|0; + $40 = HEAP32[4526]|0; + $41 = HEAP32[(19364)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4756]|0; + $48 = HEAP32[4834]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4446]|0; + $49 = HEAP32[4524]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4768]|0; + $51 = HEAP32[4846]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4446]|0; + $53 = HEAP32[4524]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19104)>>2]|0; + $57 = HEAP32[(19416)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17876)>>2]|0; + $58 = HEAP32[(18188)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17876)>>2]|0; + $59 = HEAP32[(18188)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19108)>>2]|0; + $60 = HEAP32[(19420)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17880)>>2]|0; + $61 = HEAP32[(18192)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17880)>>2]|0; + $62 = HEAP32[(18192)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19112)>>2]|0; + $63 = HEAP32[(19424)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17896)>>2]|0; + $64 = HEAP32[(18208)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17896)>>2]|0; + $65 = HEAP32[(18208)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19116)>>2]|0; + $66 = HEAP32[(19428)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4448]|0; - $56 = HEAP32[(19100)>>2]|0; + $55 = HEAP32[4526]|0; + $56 = HEAP32[(19412)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4484]|0; + $67 = HEAP32[4562]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4483]|0; + $71 = HEAP32[4561]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16834,14 +16838,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4483]|0; + $80 = HEAP32[4561]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4484]|0; + $87 = HEAP32[4562]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16850,7 +16854,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4446]|0; + $69 = HEAP32[4524]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16858,10 +16862,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4446]|0; + $89 = HEAP32[4524]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4448]|0; + $91 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16873,22 +16877,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4484] = 1; - $5 = HEAP32[4453]|0; - $6 = HEAP32[4483]|0; + HEAP32[4562] = 1; + $5 = HEAP32[4531]|0; + $6 = HEAP32[4561]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4744] = 0; - HEAP32[(18984)>>2] = 0; - HEAP32[4756] = 0; - HEAP32[(19032)>>2] = 0; - HEAP32[4768] = 0; - HEAP32[(19076)>>2] = 0; - HEAP32[(19080)>>2] = 0; + HEAP32[4822] = 0; + HEAP32[(19296)>>2] = 0; + HEAP32[4834] = 0; + HEAP32[(19344)>>2] = 0; + HEAP32[4846] = 0; + HEAP32[(19388)>>2] = 0; + HEAP32[(19392)>>2] = 0; HEAPF32[767] = -1.0; - dest=17652; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17716; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17964; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18028; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16903,17 +16907,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4742]|0; + $5 = HEAP32[4820]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4743]|0; + $9 = HEAP32[4821]|0; _rlViewport($7,0,$8,$9); - $10 = (19556 + ($0<<6)|0); + $10 = (19868 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19428 + ($0<<6)|0); + $11 = (19740 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16925,14 +16929,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17716; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18028; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17652; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17964; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -16949,9 +16953,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4367]|0; + $2 = HEAP32[4445]|0; $3 = (+($2|0)); - $4 = HEAP32[4366]|0; + $4 = HEAP32[4444]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16976,7 +16980,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(19128); + _rlMultMatrixf(19440); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16985,26 +16989,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4921]|0; + $0 = HEAP32[4999]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9128,$vararg_buffer); } - $2 = HEAP32[4921]|0; - $3 = (17944 + ($2<<6)|0); - $4 = HEAP32[4412]|0; + $2 = HEAP32[4999]|0; + $3 = (18256 + ($2<<6)|0); + $4 = HEAP32[4490]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4921]|0; + $5 = HEAP32[4999]|0; $6 = (($5) + 1)|0; - HEAP32[4921] = $6; - $7 = HEAP32[4445]|0; + HEAP32[4999] = $6; + $7 = HEAP32[4523]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4922] = 1; + HEAP32[5000] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17023,7 +17027,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4412]|0; + $8 = HEAP32[4490]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17050,18 +17054,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4921]|0; + $0 = HEAP32[4999]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4921]|0; + $2 = HEAP32[4999]|0; $3 = (($2) + -1)|0; - $4 = (17944 + ($3<<6)|0); - $5 = HEAP32[4412]|0; + $4 = (18256 + ($3<<6)|0); + $5 = HEAP32[4490]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4921] = $6; + HEAP32[4999] = $6; return; } function _rlDisableDepthTest() { @@ -17081,7 +17085,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2138]; + $0 = +HEAPF64[2177]; $1 = $0; return (+$1); } @@ -17115,7 +17119,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4412]|0; + $5 = HEAP32[4490]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17148,7 +17152,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4412]|0; + $11 = HEAP32[4490]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17159,7 +17163,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4485] = $0; + HEAP32[4563] = $0; return; } function _rlEnd() { @@ -17175,21 +17179,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4922]|0; + $0 = HEAP32[5000]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4923]|0; + $2 = HEAP32[5001]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4482]|0; + $6 = HEAP32[4560]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4412]|0; + $8 = HEAP32[4490]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4923]|0; + $5 = HEAP32[5001]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17197,12 +17201,12 @@ function _rlEnd() { break; } } - HEAP32[4922] = 0; + HEAP32[5000] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4482]|0; + $11 = HEAP32[4560]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17211,7 +17215,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4923]|0; + $19 = HEAP32[5001]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17221,15 +17225,15 @@ function _rlEnd() { } } } else { - HEAP32[4922] = 0; + HEAP32[5000] = 0; } - HEAP32[4923] = 0; + HEAP32[5001] = 0; } - $21 = HEAP32[4485]|0; + $21 = HEAP32[4563]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4744]|0; - $23 = HEAP32[(18984)>>2]|0; + $22 = HEAP32[4822]|0; + $23 = HEAP32[(19296)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[767]; @@ -17248,16 +17252,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18996)>>2]|0; - $28 = HEAP32[(18984)>>2]|0; + $27 = HEAP32[(19308)>>2]|0; + $28 = HEAP32[(19296)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18996)>>2]|0; - $35 = HEAP32[(18984)>>2]|0; + $34 = HEAP32[(19308)>>2]|0; + $35 = HEAP32[(19296)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17265,8 +17269,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18996)>>2]|0; - $43 = HEAP32[(18984)>>2]|0; + $42 = HEAP32[(19308)>>2]|0; + $43 = HEAP32[(19296)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17274,8 +17278,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18996)>>2]|0; - $51 = HEAP32[(18984)>>2]|0; + $50 = HEAP32[(19308)>>2]|0; + $51 = HEAP32[(19296)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17283,9 +17287,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18984)>>2]|0; + $58 = HEAP32[(19296)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18984)>>2] = $59; + HEAP32[(19296)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17301,8 +17305,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4756]|0; - $62 = HEAP32[(19032)>>2]|0; + $61 = HEAP32[4834]|0; + $62 = HEAP32[(19344)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[767]; @@ -17321,16 +17325,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19044)>>2]|0; - $67 = HEAP32[(19032)>>2]|0; + $66 = HEAP32[(19356)>>2]|0; + $67 = HEAP32[(19344)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19044)>>2]|0; - $74 = HEAP32[(19032)>>2]|0; + $73 = HEAP32[(19356)>>2]|0; + $74 = HEAP32[(19344)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17338,8 +17342,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19044)>>2]|0; - $82 = HEAP32[(19032)>>2]|0; + $81 = HEAP32[(19356)>>2]|0; + $82 = HEAP32[(19344)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17347,8 +17351,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19044)>>2]|0; - $90 = HEAP32[(19032)>>2]|0; + $89 = HEAP32[(19356)>>2]|0; + $90 = HEAP32[(19344)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17356,9 +17360,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19032)>>2]|0; + $97 = HEAP32[(19344)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19032)>>2] = $98; + HEAP32[(19344)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17374,8 +17378,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4768]|0; - $101 = HEAP32[(19080)>>2]|0; + $100 = HEAP32[4846]|0; + $101 = HEAP32[(19392)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17383,16 +17387,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19092)>>2]|0; - $106 = HEAP32[(19080)>>2]|0; + $105 = HEAP32[(19404)>>2]|0; + $106 = HEAP32[(19392)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19092)>>2]|0; - $113 = HEAP32[(19080)>>2]|0; + $112 = HEAP32[(19404)>>2]|0; + $113 = HEAP32[(19392)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17400,8 +17404,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19092)>>2]|0; - $121 = HEAP32[(19080)>>2]|0; + $120 = HEAP32[(19404)>>2]|0; + $121 = HEAP32[(19392)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17409,8 +17413,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19092)>>2]|0; - $129 = HEAP32[(19080)>>2]|0; + $128 = HEAP32[(19404)>>2]|0; + $129 = HEAP32[(19392)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17418,9 +17422,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19080)>>2]|0; + $136 = HEAP32[(19392)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19080)>>2] = $137; + HEAP32[(19392)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17431,8 +17435,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4768]|0; - $140 = HEAP32[(19076)>>2]|0; + $139 = HEAP32[4846]|0; + $140 = HEAP32[(19388)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[767]; @@ -17440,8 +17444,8 @@ function _rlEnd() { HEAPF32[767] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19088)>>2]|0; - $$promoted = HEAP32[(19076)>>2]|0; + $142 = HEAP32[(19400)>>2]|0; + $$promoted = HEAP32[(19388)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17449,7 +17453,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19076)>>2] = $147; + HEAP32[(19388)>>2] = $147; $148 = +HEAPF32[767]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[767] = $149; @@ -17476,11 +17480,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4922]|0; + $3 = HEAP32[5000]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4482]|0; - $6 = HEAP32[4923]|0; + $5 = HEAP32[4560]|0; + $6 = HEAP32[5001]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17488,16 +17492,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4923] = $10; + HEAP32[5001] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4485]|0; + $11 = HEAP32[4563]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4744]|0; + $12 = HEAP32[4822]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18988)>>2]|0; + $14 = HEAP32[(19300)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17508,7 +17512,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4744] = $21; + HEAP32[4822] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9166,$vararg_buffer); @@ -17517,10 +17521,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4756]|0; + $22 = HEAP32[4834]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19036)>>2]|0; + $24 = HEAP32[(19348)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17531,7 +17535,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4756] = $31; + HEAP32[4834] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9191,$vararg_buffer1); @@ -17540,10 +17544,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4768]|0; + $32 = HEAP32[4846]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19084)>>2]|0; + $34 = HEAP32[(19396)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17554,9 +17558,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4768] = $41; - $42 = HEAP32[4483]|0; - $43 = HEAP32[4484]|0; + HEAP32[4846] = $41; + $42 = HEAP32[4561]|0; + $43 = HEAP32[4562]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17599,13 +17603,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4485]|0; + $2 = HEAP32[4563]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19088)>>2]|0; - $5 = HEAP32[(19076)>>2]|0; + $4 = HEAP32[(19400)>>2]|0; + $5 = HEAP32[(19388)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17613,7 +17617,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19076)>>2] = $10; + HEAP32[(19388)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17632,18 +17636,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4485]|0; + $4 = HEAP32[4563]|0; switch ($4|0) { case 1: { - $$sink37 = (18984);$$sink38 = (18996); + $$sink37 = (19296);$$sink38 = (19308); break; } case 4: { - $$sink37 = (19032);$$sink38 = (19044); + $$sink37 = (19344);$$sink38 = (19356); break; } case 7: { - $$sink37 = (19080);$$sink38 = (19092); + $$sink37 = (19392);$$sink38 = (19404); break; } default: { @@ -17682,8 +17686,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4483]|0; - $2 = HEAP32[4484]|0; + $1 = HEAP32[4561]|0; + $2 = HEAP32[4562]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17696,9 +17700,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4484] = $10; + HEAP32[4562] = $10; } - $11 = HEAP32[4484]|0; + $11 = HEAP32[4562]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17709,7 +17713,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4768]|0; + $0 = HEAP32[4846]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17725,14 +17729,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4446]|0; + $2 = HEAP32[4524]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4449]|0; + $5 = HEAP32[4527]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17753,7 +17757,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4446]|0; + $3 = HEAP32[4524]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -17791,12 +17795,12 @@ function _rlglLoadMesh($0,$1) { ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; HEAP32[$2>>2] = 0; ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4446]|0; + $13 = HEAP32[4524]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4447]|0; + $15 = HEAP32[4525]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4448]|0; + $16 = HEAP32[4526]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17926,7 +17930,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4446]|0; + $82 = HEAP32[4524]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9442,$vararg_buffer3); @@ -18031,13 +18035,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=17716; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=17652; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=18028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$4; src=17964; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=17716; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=18028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4454]|0; + $65 = HEAP32[4532]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9490|0))|0); @@ -18113,7 +18117,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4446]|0; + $107 = HEAP32[4524]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18193,16 +18197,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(19116)>>2]|0; + $153 = HEAP32[(19428)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4448]|0; + $109 = HEAP32[4526]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[4831]|0; + $154 = HEAP32[4909]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18216,10 +18220,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=17716; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18028; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } - dest=$modelview$byval_copy4; src=17716; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=17652; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy4; src=18028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=17964; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -18256,14 +18260,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4446]|0; + $172 = HEAP32[4524]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4448]|0; + $174 = HEAP32[4526]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=17652; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17716; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17964; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18028; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18272,14 +18276,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=17652; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17716; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17964; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18028; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=17652; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17716; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17964; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18028; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18359,7 +18363,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4453]|0; + $1 = HEAP32[4531]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18375,7 +18379,7 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=17816; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=18128; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _DrawRectangle($0,$1,$2,$3,$4) { @@ -18593,40 +18597,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9543); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10876)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4924] = $0; + HEAP32[5002] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18690,7 +18665,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9555|0),(9581|0),1125,(9604|0)); + ___assert_fail((9543|0),(9569|0),1041,(9592|0)); // unreachable; } } @@ -18708,7 +18683,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4925]|0; + $15 = HEAP32[5003]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18801,7 +18776,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9645); + _stbi__err(9633); $$0 = 0; return ($$0|0); } else { @@ -18823,7 +18798,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9636); + _stbi__err(9624); $$0 = 0; return ($$0|0); } @@ -18893,7 +18868,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9664); + _stbi__err(9652); $$045 = 0; return ($$045|0); } @@ -19454,7 +19429,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9980 + ($120)|0); + $121 = (9968 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19496,97 +19471,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9754); + _stbi__err(9742); $$6$ph = 0; break; } case 9: { - _stbi__err(9768); + _stbi__err(9756); $$6$ph = 0; break; } case 11: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 13: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 15: { - _stbi__err(9791); + _stbi__err(9779); $$6$ph = 0; break; } case 17: { - _stbi__err(9811); + _stbi__err(9799); $$6$ph = 0; break; } case 20: { - _stbi__err(9811); + _stbi__err(9799); $$6$ph = 0; break; } case 22: { - _stbi__err(9811); + _stbi__err(9799); $$6$ph = 0; break; } case 24: { - _stbi__err(9821); + _stbi__err(9809); $$6$ph = 0; break; } case 26: { - _stbi__err(9837); + _stbi__err(9825); $$6$ph = 0; break; } case 28: { - _stbi__err(9855); + _stbi__err(9843); $$6$ph = 0; break; } case 31: { - _stbi__err(9876); + _stbi__err(9864); $$6$ph = 0; break; } case 34: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 37: { - _stbi__err(9781); + _stbi__err(9769); $$6$ph = 0; break; } case 39: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 41: { - _stbi__err(9905); + _stbi__err(9893); $$6$ph = 0; break; } case 44: { - _stbi__err(9905); + _stbi__err(9893); $$6$ph = 0; break; } case 47: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 49: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } @@ -19597,32 +19572,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9934); + _stbi__err(9922); $$6$ph = 0; break; } case 58: { - _stbi__err(9951); + _stbi__err(9939); $$6$ph = 0; break; } case 61: { - _stbi__err(9964); + _stbi__err(9952); $$6$ph = 0; break; } case 63: { - _stbi__err(9951); + _stbi__err(9939); $$6$ph = 0; break; } case 70: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 72: { - _stbi__err(9989); + _stbi__err(9977); $$6$ph = 0; break; } @@ -19634,12 +19609,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9636); + _stbi__err(9624); $$6$ph = 0; break; } case 83: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } @@ -19652,7 +19627,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10007); + _stbi__err(9995); $$4 = 0; break; } @@ -19717,7 +19692,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4926]|0; + $193 = HEAP32[5004]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19750,7 +19725,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9890); + _stbi__err(9878); $$4 = 0; } } while(0); @@ -19758,24 +19733,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9890); + _stbi__err(9878); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10015] = $206; + HEAP8[10003] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10016)>>0] = $209; + HEAP8[(10004)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10017)>>0] = $211; + HEAP8[(10005)>>0] = $211; $212 = $207&255; - HEAP8[(10018)>>0] = $212; - _stbi__err(10015); + HEAP8[(10006)>>0] = $212; + _stbi__err(10003); $$6$ph = 0; break; } @@ -19809,14 +19784,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9677|0),(9581|0),1561,(9733|0)); + ___assert_fail((9665|0),(9569|0),1477,(9721|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9636); + _stbi__err(9624); $$0163 = 0; return ($$0163|0); } @@ -20179,7 +20154,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9731|0),(9581|0),1590,(9733|0)); + ___assert_fail((9719|0),(9569|0),1506,(9721|0)); // unreachable; } } while(0); @@ -20213,7 +20188,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9677|0),(9581|0),1610,(9708|0)); + ___assert_fail((9665|0),(9569|0),1526,(9696|0)); // unreachable; } $7 = $2 << 1; @@ -20223,7 +20198,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9636); + _stbi__err(9624); $$0163 = 0; return ($$0163|0); } @@ -20586,7 +20561,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9731|0),(9581|0),1639,(9708|0)); + ___assert_fail((9719|0),(9569|0),1555,(9696|0)); // unreachable; } } while(0); @@ -20734,7 +20709,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10672); + _stbi__err(10980); $$05 = 0; return ($$05|0); } @@ -21171,7 +21146,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10074|0),(9581|0),4568,(10126|0)); + ___assert_fail((10062|0),(9569|0),4569,(10114|0)); // unreachable; } } @@ -21258,7 +21233,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10074|0),(9581|0),4543,(10099|0)); + ___assert_fail((10062|0),(9569|0),4544,(10087|0)); // unreachable; } } @@ -21305,7 +21280,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4927]|0; + $16 = HEAP32[5005]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21380,7 +21355,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10040|0),(9581|0),4649,(10058|0)); + ___assert_fail((10028|0),(9569|0),4650,(10046|0)); // unreachable; } } @@ -21403,7 +21378,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9636); + _stbi__err(9624); $$0 = 0; return ($$0|0); } @@ -21580,7 +21555,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10155|0),(9581|0),4294,(10196|0)); + ___assert_fail((10143|0),(9569|0),4294,(10184|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21588,7 +21563,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9636); + _stbi__err(9624); $$2 = 0; return ($$2|0); } @@ -21607,7 +21582,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10223); + _stbi__err(10211); $$2 = 0; return ($$2|0); } @@ -21620,7 +21595,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10223); + _stbi__err(10211); $$2 = 0; return ($$2|0); } @@ -21628,12 +21603,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21656,33 +21631,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10262 + ($56)|0); + $60 = (10250 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21692,24 +21667,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21719,10 +21694,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21733,10 +21708,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21747,14 +21722,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21784,7 +21759,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21799,12 +21774,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22381,15 +22356,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10241|0),(9581|0),4315,(10196|0)); + ___assert_fail((10229|0),(9569|0),4315,(10184|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10267|0),(9581|0),4376,(10196|0)); + ___assert_fail((10255|0),(9569|0),4377,(10184|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10284); + _stbi__err(10272); $$2 = 0; return ($$2|0); } @@ -22439,7 +22414,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9980 + ($6)|0); + $336 = (9968 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -22880,7 +22855,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10299|0),(9581|0),4465,(10196|0)); + ___assert_fail((10287|0),(9569|0),4466,(10184|0)); // unreachable; } else if ((label|0) == 151) { @@ -22940,8 +22915,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -22956,15 +22931,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -22973,65 +22948,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(21614)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10298,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,21615,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,21583,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10586,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23050,14 +23020,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10625); + _stbi__err(10933); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10641); + _stbi__err(10949); $$0 = 0; return ($$0|0); } @@ -23066,7 +23036,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10656); + _stbi__err(10964); $$0 = 0; return ($$0|0); } @@ -23149,7 +23119,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10547|0),(9581|0),4048,(10564|0)); + ___assert_fail((10855|0),(9569|0),4033,(10872|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23186,7 +23156,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10595); + _stbi__err(10903); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23196,7 +23166,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10608); + _stbi__err(10916); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23226,21 +23196,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((21615|0),8,144)|0; - dest=(21759); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21871); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21895); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=21583; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23374,7 +23329,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10485); + _stbi__err(10793); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23463,7 +23418,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10537); + _stbi__err(10845); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23492,7 +23447,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11331 + ($$06579)|0); + $14 = (11639 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23583,21 +23538,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10501|0),(9581|0),4021,(10509|0)); + ___assert_fail((10809|0),(9569|0),4006,(10817|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23607,7 +23562,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10485); + _stbi__err(10793); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23771,7 +23726,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10310); + _stbi__err(10618); $$3$ph = 0; return ($$3$ph|0); } @@ -23781,12 +23736,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10310); + _stbi__err(10618); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10327); + _stbi__err(10635); $$3$ph = 0; return ($$3$ph|0); } @@ -23843,7 +23798,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10336); + _stbi__err(10644); $$0 = 0; return ($$0|0); } @@ -23869,7 +23824,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9636); + _stbi__err(9624); $$0 = 0; return ($$0|0); } else { @@ -23914,7 +23869,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10432|0),(9581|0),3863,(10469|0)); + ___assert_fail((10740|0),(9569|0),3848,(10777|0)); // unreachable; } else if ((label|0) == 5) { @@ -23962,7 +23917,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10356|0),(9581|0),3891,(10372|0)); + ___assert_fail((10664|0),(9569|0),3876,(10680|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -23990,7 +23945,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10403|0),(9581|0),3781,(10414|0)); + ___assert_fail((10711|0),(9569|0),3766,(10722|0)); // unreachable; } return (0)|0; @@ -24136,10 +24091,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24150,27 +24105,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10684)|0); + $6 = (_IsFileExtension($1,10992)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10737)|0); + $19 = (_IsFileExtension($1,11045)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10742,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11050,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11184)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24198,7 +24154,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24215,18 +24171,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10690,$vararg_buffer); + _TraceLog(2,10998,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24235,34 +24191,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10778,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10817,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,11086,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11125,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24281,11 +24244,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10876)|0); + $4 = (_fopen($0,11184)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10879,$vararg_buffer); + _TraceLog(2,11187,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24384,7 +24347,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10976,$vararg_buffer4); + _TraceLog(0,11284,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24419,14 +24382,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11022,$vararg_buffer8); + _TraceLog(2,11330,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10930,$vararg_buffer1); + _TraceLog(2,11238,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24516,7 +24479,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10848,$vararg_buffer); + _TraceLog(2,11156,$vararg_buffer); $$0 = $6; } } @@ -24561,27 +24524,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11072,$vararg_buffer); + _TraceLog(2,11380,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11111,$vararg_buffer1); + _TraceLog(2,11419,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11137,$vararg_buffer3); + _TraceLog(2,11445,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11200,$vararg_buffer5); + _TraceLog(2,11508,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11235,$vararg_buffer7); + _TraceLog(2,11543,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11270,$vararg_buffer10); + _TraceLog(0,11578,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25764,7 +25727,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11327 + ($$361133)|0); + $199 = (11635 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26194,7 +26157,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11327 + ($$331130)|0); + $186 = (11635 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26232,7 +26195,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11327 + ($$371134)|0); + $203 = (11635 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26271,7 +26234,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11331 + ($$421139)|0); + $235 = (11639 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26678,7 +26641,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11350 + ($495)|0); + $496 = (11658 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26715,7 +26678,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11354 + ($515)|0); + $516 = (11662 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27627,7 +27590,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11358,$vararg_buffer); + _TraceLog(2,11666,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27648,7 +27611,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[17500>>2]|0;HEAP32[$0+4>>2]=HEAP32[17500+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17500+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17500+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17500+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17500+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17500+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17500+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17812>>2]|0;HEAP32[$0+4>>2]=HEAP32[17812+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17812+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17812+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17812+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17812+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17812+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17812+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28093,8 +28056,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21903,$0,$1)|0); - STACKTOP = sp;return (21903|0); + (_vsprintf(21895,$0,$1)|0); + STACKTOP = sp;return (21895|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28104,7 +28067,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[4928]|0; + $3 = HEAP32[5006]|0; $4 = HEAP32[928]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28112,14 +28075,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[4929] = $7; + HEAP32[5007] = $7; HEAP32[928] = $7; $$sink = 0; } - HEAP32[4928] = $$sink; - $8 = HEAP32[4929]|0; + HEAP32[5006] = $$sink; + $8 = HEAP32[5007]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11387,$$byval_copy)|0); + (_FormatText(11695,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28128,7 +28091,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21903,$0,$1,20,$$byval_copy); + _DrawText(21895,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _LoadDefaultMaterial($0) { @@ -29376,7 +29339,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,11395,$vararg_buffer); + _TraceLog(0,11703,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29521,7 +29484,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11453)|0); + $12 = (_strstr($11,11761)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29530,7 +29493,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11457)|0); + $17 = (_strstr($16,11765)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29539,7 +29502,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11461)|0); + $22 = (_strstr($21,11769)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29548,7 +29511,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11465)|0); + $27 = (_strstr($26,11773)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29557,1210 +29520,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11471)|0); + $32 = (_strcmp($31,11779)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11509)|0); + $35 = (_strcmp($34,11817)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11528; + HEAP32[$3>>2] = 11836; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11541)|0); + $38 = (_strcmp($37,11849)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11562; + HEAP32[$3>>2] = 11870; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11577)|0); + $41 = (_strcmp($40,11885)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11592; + HEAP32[$3>>2] = 11900; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11607)|0); + $44 = (_strcmp($43,11915)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11622; + HEAP32[$3>>2] = 11930; } } else { - HEAP32[$3>>2] = 11493; + HEAP32[$3>>2] = 11801; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11637)|0); + $47 = (_strcmp($46,11945)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11651)|0); + $50 = (_strcmp($49,11959)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11663)|0); + $53 = (_strcmp($52,11971)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11677)|0); + $56 = (_strcmp($55,11985)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11689)|0); + $59 = (_strcmp($58,11997)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11703)|0); + $62 = (_strcmp($61,12011)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11717)|0); + $65 = (_strcmp($64,12025)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11734)|0); + $68 = (_strcmp($67,12042)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11757)|0); + $71 = (_strcmp($70,12065)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11783)|0); + $74 = (_strcmp($73,12091)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11796)|0); + $77 = (_strcmp($76,12104)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11812)|0); + $80 = (_strcmp($79,12120)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11825)|0); + $83 = (_strcmp($82,12133)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11839)|0); + $86 = (_strcmp($85,12147)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11859)|0); + $89 = (_strcmp($88,12167)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11879)|0); + $92 = (_strcmp($91,12187)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11896)|0); + $95 = (_strcmp($94,12204)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11913)|0); + $98 = (_strcmp($97,12221)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11925)|0); + $101 = (_strcmp($100,12233)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11938)|0); + $104 = (_strcmp($103,12246)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11954)|0); + $107 = (_strcmp($106,12262)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11977)|0); + $110 = (_strcmp($109,12285)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11990)|0); + $113 = (_strcmp($112,12298)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12006)|0); + $116 = (_strcmp($115,12314)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12017)|0); + $119 = (_strcmp($118,12325)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12036)|0); + $122 = (_strcmp($121,12344)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12058)|0); + $125 = (_strcmp($124,12366)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12077)|0); + $128 = (_strcmp($127,12385)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12106)|0); + $131 = (_strcmp($130,12414)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12123)|0); + $134 = (_strcmp($133,12431)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12138)|0); + $137 = (_strcmp($136,12446)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12153)|0); + $140 = (_strcmp($139,12461)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12174)|0); + $143 = (_strcmp($142,12482)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12194)|0); + $146 = (_strcmp($145,12502)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12214)|0); + $149 = (_strcmp($148,12522)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12240)|0); + $152 = (_strcmp($151,12548)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12259)|0); + $155 = (_strcmp($154,12567)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12271)|0); + $158 = (_strcmp($157,12579)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12283)|0); + $161 = (_strcmp($160,12591)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12295)|0); + $164 = (_strcmp($163,12603)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12307)|0); + $167 = (_strcmp($166,12615)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12319)|0); + $170 = (_strcmp($169,12627)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12331)|0); + $173 = (_strcmp($172,12639)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12343)|0); + $176 = (_strcmp($175,12651)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12355)|0); + $179 = (_strcmp($178,12663)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12368)|0); + $182 = (_strcmp($181,12676)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12381)|0); + $185 = (_strcmp($184,12689)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12394)|0); + $188 = (_strcmp($187,12702)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12407)|0); + $191 = (_strcmp($190,12715)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12420)|0); + $194 = (_strcmp($193,12728)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12433)|0); + $197 = (_strcmp($196,12741)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12446)|0); + $200 = (_strcmp($199,12754)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12459)|0); + $203 = (_strcmp($202,12767)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12478)|0); + $206 = (_strcmp($205,12786)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12497)|0); + $209 = (_strcmp($208,12805)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12516)|0); + $212 = (_strcmp($211,12824)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12529)|0); + $215 = (_strcmp($214,12837)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12547)|0); + $218 = (_strcmp($217,12855)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12565)|0); + $221 = (_strcmp($220,12873)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12583)|0); + $224 = (_strcmp($223,12891)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12601)|0); + $227 = (_strcmp($226,12909)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12621)|0); + $230 = (_strcmp($229,12929)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11562)|0); + $233 = (_strcmp($232,11870)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12639)|0); + $236 = (_strcmp($235,12947)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12654)|0); + $239 = (_strcmp($238,12962)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12675)|0); + $242 = (_strcmp($241,12983)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12690)|0); + $245 = (_strcmp($244,12998)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12708)|0); + $248 = (_strcmp($247,13016)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12724)|0); + $251 = (_strcmp($250,13032)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12743)|0); + $254 = (_strcmp($253,13051)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12757)|0); + $257 = (_strcmp($256,13065)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12772)|0); + $260 = (_strcmp($259,13080)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11493)|0); + $263 = (_strcmp($262,11801)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12783)|0); + $266 = (_strcmp($265,13091)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11592)|0); + $269 = (_strcmp($268,11900)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11622)|0); + $272 = (_strcmp($271,11930)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12799)|0); + $275 = (_strcmp($274,13107)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12826)|0); + $278 = (_strcmp($277,13134)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12840)|0); + $281 = (_strcmp($280,13148)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11528)|0); + $284 = (_strcmp($283,11836)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12860)|0); + $287 = (_strcmp($286,13168)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12878)|0); + $290 = (_strcmp($289,13186)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12890)|0); + $293 = (_strcmp($292,13198)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12911)|0); + $296 = (_strcmp($295,13219)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12929)|0); + $299 = (_strcmp($298,13237)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12947)|0); + $302 = (_strcmp($301,13255)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12968)|0); + $305 = (_strcmp($304,13276)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12994)|0); + $308 = (_strcmp($307,13302)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13017)|0); + $311 = (_strcmp($310,13325)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13055)|0); + $314 = (_strcmp($313,13363)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13071)|0); + $317 = (_strcmp($316,13379)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13086)|0); + $320 = (_strcmp($319,13394)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13109)|0); + $323 = (_strcmp($322,13417)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13122)|0); + $326 = (_strcmp($325,13430)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13136)|0); + $329 = (_strcmp($328,13444)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13150)|0); + $332 = (_strcmp($331,13458)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13170)|0); + $335 = (_strcmp($334,13478)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13190)|0); + $338 = (_strcmp($337,13498)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13206)|0); + $341 = (_strcmp($340,13514)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13224)|0); + $344 = (_strcmp($343,13532)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13240)|0); + $347 = (_strcmp($346,13548)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13255)|0); + $350 = (_strcmp($349,13563)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13277)|0); + $353 = (_strcmp($352,13585)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13295)|0); + $356 = (_strcmp($355,13603)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13316)|0); + $359 = (_strcmp($358,13624)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13334)|0); + $362 = (_strcmp($361,13642)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13347)|0); + $365 = (_strcmp($364,13655)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13362)|0); + $368 = (_strcmp($367,13670)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13376)|0); + $371 = (_strcmp($370,13684)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13386)|0); + $374 = (_strcmp($373,13694)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13396)|0); + $377 = (_strcmp($376,13704)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13418)|0); + $380 = (_strcmp($379,13726)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13444)|0); + $383 = (_strcmp($382,13752)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13471)|0); + $386 = (_strcmp($385,13779)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13484)|0); + $389 = (_strcmp($388,13792)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13499)|0); + $392 = (_strcmp($391,13807)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13514)|0); + $395 = (_strcmp($394,13822)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13538)|0); + $398 = (_strcmp($397,13846)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13549)|0); + $401 = (_strcmp($400,13857)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13571)|0); + $404 = (_strcmp($403,13879)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13593)|0); + $407 = (_strcmp($406,13901)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13617)|0); + $410 = (_strcmp($409,13925)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13626)|0); + $413 = (_strcmp($412,13934)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13634)|0); + $416 = (_strcmp($415,13942)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13647)|0); + $419 = (_strcmp($418,13955)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13661)|0); + $422 = (_strcmp($421,13969)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13673)|0); + $425 = (_strcmp($424,13981)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13682)|0); + $428 = (_strcmp($427,13990)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13692)|0); + $431 = (_strcmp($430,14000)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13704)|0); + $434 = (_strcmp($433,14012)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13715)|0); + $437 = (_strcmp($436,14023)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13723)|0); + $440 = (_strcmp($439,14031)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13735)|0); + $443 = (_strcmp($442,14043)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13750)|0); + $446 = (_strcmp($445,14058)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13762)|0); + $449 = (_strcmp($448,14070)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13776)|0); + $452 = (_strcmp($451,14084)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13801)|0); + $455 = (_strcmp($454,14109)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13818)|0); + $458 = (_strcmp($457,14126)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13834)|0); + $461 = (_strcmp($460,14142)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13850)|0); + $464 = (_strcmp($463,14158)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13862)|0); + $467 = (_strcmp($466,14170)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13874)|0); + $470 = (_strcmp($469,14182)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13898)|0); + $473 = (_strcmp($472,14206)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13911)|0); + $476 = (_strcmp($475,14219)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13925)|0); + $479 = (_strcmp($478,14233)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13947)|0); + $482 = (_strcmp($481,14255)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13954)|0); + $485 = (_strcmp($484,14262)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13970)|0); + $488 = (_strcmp($487,14278)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13987)|0); + $491 = (_strcmp($490,14295)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14004)|0); + $494 = (_strcmp($493,14312)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14020)|0); + $497 = (_strcmp($496,14328)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14036)|0); + $500 = (_strcmp($499,14344)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14053)|0); + $503 = (_strcmp($502,14361)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14067)|0); + $506 = (_strcmp($505,14375)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14079)|0); + $509 = (_strcmp($508,14387)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14090)|0); + $512 = (_strcmp($511,14398)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14103)|0); + $515 = (_strcmp($514,14411)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14113)|0); + $518 = (_strcmp($517,14421)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14130)|0); + $521 = (_strcmp($520,14438)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14142)|0); + $524 = (_strcmp($523,14450)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14164)|0); + $527 = (_strcmp($526,14472)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14184)|0); + $530 = (_strcmp($529,14492)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14197)|0); + $533 = (_strcmp($532,14505)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14219)|0); + $536 = (_strcmp($535,14527)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14239)|0); + $539 = (_strcmp($538,14547)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14256)|0); + $542 = (_strcmp($541,14564)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14273)|0); + $545 = (_strcmp($544,14581)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14293)|0); + $548 = (_strcmp($547,14601)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30782,7 +30745,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19720|0); + return (20032|0); } function ___stdio_close($0) { $0 = $0|0; @@ -31715,7 +31678,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14409 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14717 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -31893,7 +31856,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14873;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 15181;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -31914,7 +31877,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14873;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 15181;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -31922,8 +31885,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14873 : (14875); - $$$ = $238 ? $$ : (14874); + $$ = $240 ? 15181 : (15183); + $$$ = $238 ? $$ : (15182); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -31940,7 +31903,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14873;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 15181;$242 = $167;$243 = $170; label = 66; break; } @@ -31953,7 +31916,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14873;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 15181;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -31967,7 +31930,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14883; + $271 = $270 ? $269 : 15191; $$1 = $271; label = 71; break; @@ -32007,7 +31970,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14873;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 15181;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32029,8 +31992,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14873 + ($208)|0); - $$289 = $or$cond283 ? 14873 : $209; + $209 = (15181 + ($208)|0); + $$289 = $or$cond283 ? 15181 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32051,7 +32014,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14873;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 15181;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -32581,7 +32544,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14925 + ($7)|0); + $9 = (15233 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -32939,14 +32902,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14890; + $$0471 = $14;$$0520 = 1;$$0521 = 15198; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14891) : (14896); - $$$ = $16 ? $$ : (14893); + $$ = $18 ? (15199) : (15204); + $$$ = $16 ? $$ : (15201); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33045,7 +33008,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14925 + ($80)|0); + $81 = (15233 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -33656,7 +33619,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14941,1); + _out($0,15249,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -33737,7 +33700,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14941,1); + _out($0,15249,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -33794,9 +33757,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14909 : 14913; + $29 = $28 ? 15217 : 15221; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14917 : 14921; + $31 = $28 ? 15225 : 15229; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34006,7 +33969,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14943 + ($$016)|0); + $3 = (15251 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34017,7 +33980,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15031;$$115 = 87; + $$01214 = 15339;$$115 = 87; label = 5; break; } else { @@ -34027,9 +33990,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15031; + $$012$lcssa = 15339; } else { - $$01214 = 15031;$$115 = $$016; + $$01214 = 15339;$$115 = $$016; label = 5; } } @@ -34712,7 +34675,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16835,$3,4)|0); + $memchr = (_memchr(17143,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -34801,7 +34764,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16835,$4,4)|0); + $memchr = (_memchr(17143,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -34892,7 +34855,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19724)>>2]|0; + $38 = HEAP32[(20036)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -34925,13 +34888,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19784|0)); - return (19792|0); + ___lock((20096|0)); + return (20104|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19784|0)); + ___unlock((20096|0)); return; } function _fclose($0) { @@ -35995,7 +35958,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17112; + $2 = 17424; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -36212,7 +36175,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4949]|0; + $3 = HEAP32[5027]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -36231,22 +36194,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4949] = 0; + HEAP32[5027] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4949] = $10; + HEAP32[5027] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4949] = 0; + HEAP32[5027] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4949] = $13; + HEAP32[5027] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -36327,7 +36290,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4950]|0; + $8 = HEAP32[5028]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -36336,7 +36299,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19840 + ($15<<2)|0); + $16 = (20152 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -36347,9 +36310,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4950] = $24; + HEAP32[5028] = $24; } else { - $25 = HEAP32[(19816)>>2]|0; + $25 = HEAP32[(20128)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -36380,7 +36343,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19808)>>2]|0; + $37 = HEAP32[(20120)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -36414,7 +36377,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19840 + ($68<<2)|0); + $69 = (20152 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -36425,10 +36388,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4950] = $77; + HEAP32[5028] = $77; $98 = $77; } else { - $78 = HEAP32[(19816)>>2]|0; + $78 = HEAP32[(20128)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -36461,22 +36424,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19820)>>2]|0; + $92 = HEAP32[(20132)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19840 + ($94<<2)|0); + $95 = (20152 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4950] = $100; + HEAP32[5028] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19816)>>2]|0; + $103 = HEAP32[(20128)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -36493,12 +36456,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19808)>>2] = $84; - HEAP32[(19820)>>2] = $87; + HEAP32[(20120)>>2] = $84; + HEAP32[(20132)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19804)>>2]|0; + $108 = HEAP32[(20116)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -36526,7 +36489,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (20104 + ($132<<2)|0); + $133 = (20416 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -36566,7 +36529,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19816)>>2]|0; + $155 = HEAP32[(20128)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -36661,7 +36624,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (20104 + ($188<<2)|0); + $189 = (20416 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -36672,11 +36635,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19804)>>2] = $194; + HEAP32[(20116)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19816)>>2]|0; + $195 = HEAP32[(20128)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -36697,7 +36660,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19816)>>2]|0; + $201 = HEAP32[(20128)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -36727,7 +36690,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19816)>>2]|0; + $213 = HEAP32[(20128)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -36764,22 +36727,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19820)>>2]|0; + $231 = HEAP32[(20132)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19840 + ($233<<2)|0); + $234 = (20152 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4950] = $238; + HEAP32[5028] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19816)>>2]|0; + $241 = HEAP32[(20128)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -36796,8 +36759,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19808)>>2] = $$0193$lcssa$i; - HEAP32[(19820)>>2] = $157; + HEAP32[(20120)>>2] = $$0193$lcssa$i; + HEAP32[(20132)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -36813,7 +36776,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19804)>>2]|0; + $250 = HEAP32[(20116)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -36853,7 +36816,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (20104 + ($$0358$i<<2)|0); + $278 = (20416 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -36945,7 +36908,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (20104 + ($330<<2)|0); + $331 = (20416 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -36989,11 +36952,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19808)>>2]|0; + $345 = HEAP32[(20120)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19816)>>2]|0; + $348 = HEAP32[(20128)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -37090,7 +37053,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (20104 + ($381<<2)|0); + $382 = (20416 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -37101,12 +37064,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19804)>>2] = $387; + HEAP32[(20116)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19816)>>2]|0; + $388 = HEAP32[(20128)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -37128,7 +37091,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19816)>>2]|0; + $394 = HEAP32[(20128)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -37160,7 +37123,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19816)>>2]|0; + $406 = HEAP32[(20128)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -37201,20 +37164,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19840 + ($425<<2)|0); - $427 = HEAP32[4950]|0; + $426 = (20152 + ($425<<2)|0); + $427 = HEAP32[5028]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4950] = $431; + HEAP32[5028] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19816)>>2]|0; + $434 = HEAP32[(20128)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -37266,7 +37229,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (20104 + ($$0361$i<<2)|0); + $464 = (20416 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -37278,7 +37241,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19804)>>2] = $472; + HEAP32[(20116)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -37317,7 +37280,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19816)>>2]|0; + $491 = HEAP32[(20128)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -37336,7 +37299,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19816)>>2]|0; + $498 = HEAP32[(20128)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -37369,16 +37332,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19808)>>2]|0; + $506 = HEAP32[(20120)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19820)>>2]|0; + $509 = HEAP32[(20132)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19820)>>2] = $511; - HEAP32[(19808)>>2] = $508; + HEAP32[(20132)>>2] = $511; + HEAP32[(20120)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -37388,8 +37351,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19808)>>2] = 0; - HEAP32[(19820)>>2] = 0; + HEAP32[(20120)>>2] = 0; + HEAP32[(20132)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -37403,14 +37366,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19812)>>2]|0; + $524 = HEAP32[(20124)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19812)>>2] = $526; - $527 = HEAP32[(19824)>>2]|0; + HEAP32[(20124)>>2] = $526; + $527 = HEAP32[(20136)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19824)>>2] = $528; + HEAP32[(20136)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -37421,23 +37384,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5068]|0; + $534 = HEAP32[5146]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(20280)>>2] = 4096; - HEAP32[(20276)>>2] = 4096; - HEAP32[(20284)>>2] = -1; - HEAP32[(20288)>>2] = -1; - HEAP32[(20292)>>2] = 0; - HEAP32[(20244)>>2] = 0; + HEAP32[(20592)>>2] = 4096; + HEAP32[(20588)>>2] = 4096; + HEAP32[(20596)>>2] = -1; + HEAP32[(20600)>>2] = -1; + HEAP32[(20604)>>2] = 0; + HEAP32[(20556)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5068] = $538; + HEAP32[5146] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(20280)>>2]|0; + $$pre$i212 = HEAP32[(20592)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -37450,10 +37413,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(20240)>>2]|0; + $546 = HEAP32[(20552)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(20232)>>2]|0; + $548 = HEAP32[(20544)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -37463,18 +37426,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(20244)>>2]|0; + $552 = HEAP32[(20556)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19824)>>2]|0; + $555 = HEAP32[(20136)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (20248); + $$0$i$i = (20560); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -37532,7 +37495,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(20276)>>2]|0; + $569 = HEAP32[(20588)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -37542,13 +37505,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(20232)>>2]|0; + $578 = HEAP32[(20544)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(20240)>>2]|0; + $582 = HEAP32[(20552)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -37594,7 +37557,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(20280)>>2]|0; + $601 = HEAP32[(20592)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -37619,9 +37582,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(20244)>>2]|0; + $611 = HEAP32[(20556)>>2]|0; $612 = $611 | 4; - HEAP32[(20244)>>2] = $612; + HEAP32[(20556)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -37657,35 +37620,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(20232)>>2]|0; + $626 = HEAP32[(20544)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(20232)>>2] = $627; - $628 = HEAP32[(20236)>>2]|0; + HEAP32[(20544)>>2] = $627; + $628 = HEAP32[(20548)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(20236)>>2] = $627; + HEAP32[(20548)>>2] = $627; } - $630 = HEAP32[(19824)>>2]|0; + $630 = HEAP32[(20136)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19816)>>2]|0; + $632 = HEAP32[(20128)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19816)>>2] = $$749$i; - } - HEAP32[(20248)>>2] = $$749$i; - HEAP32[(20252)>>2] = $$723948$i; - HEAP32[(20260)>>2] = 0; - $635 = HEAP32[5068]|0; - HEAP32[(19836)>>2] = $635; - HEAP32[(19832)>>2] = -1; + HEAP32[(20128)>>2] = $$749$i; + } + HEAP32[(20560)>>2] = $$749$i; + HEAP32[(20564)>>2] = $$723948$i; + HEAP32[(20572)>>2] = 0; + $635 = HEAP32[5146]|0; + HEAP32[(20148)>>2] = $635; + HEAP32[(20144)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19840 + ($636<<2)|0); + $637 = (20152 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -37708,18 +37671,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19824)>>2] = $649; - HEAP32[(19812)>>2] = $650; + HEAP32[(20136)>>2] = $649; + HEAP32[(20124)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(20288)>>2]|0; - HEAP32[(19828)>>2] = $655; + $655 = HEAP32[(20600)>>2]|0; + HEAP32[(20140)>>2] = $655; } else { - $$024371$i = (20248); + $$024371$i = (20560); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -37751,7 +37714,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19812)>>2]|0; + $671 = HEAP32[(20124)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -37762,30 +37725,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19824)>>2] = $679; - HEAP32[(19812)>>2] = $681; + HEAP32[(20136)>>2] = $679; + HEAP32[(20124)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(20288)>>2]|0; - HEAP32[(19828)>>2] = $686; + $686 = HEAP32[(20600)>>2]|0; + HEAP32[(20140)>>2] = $686; break; } } } - $687 = HEAP32[(19816)>>2]|0; + $687 = HEAP32[(20128)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19816)>>2] = $$749$i; + HEAP32[(20128)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (20248); + $$124470$i = (20560); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -37840,21 +37803,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19812)>>2]|0; + $726 = HEAP32[(20124)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19812)>>2] = $727; - HEAP32[(19824)>>2] = $721; + HEAP32[(20124)>>2] = $727; + HEAP32[(20136)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19820)>>2]|0; + $730 = HEAP32[(20132)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19808)>>2]|0; + $732 = HEAP32[(20120)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19808)>>2] = $733; - HEAP32[(19820)>>2] = $721; + HEAP32[(20120)>>2] = $733; + HEAP32[(20132)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -37877,7 +37840,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19840 + ($748<<2)|0); + $749 = (20152 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -37900,9 +37863,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4950]|0; + $759 = HEAP32[5028]|0; $760 = $759 & $758; - HEAP32[4950] = $760; + HEAP32[5028] = $760; break; } $761 = ($747|0)==($749|0); @@ -38015,7 +37978,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (20104 + ($796<<2)|0); + $797 = (20416 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -38027,12 +37990,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19804)>>2]|0; + $802 = HEAP32[(20116)>>2]|0; $803 = $802 & $801; - HEAP32[(19804)>>2] = $803; + HEAP32[(20116)>>2] = $803; break L314; } else { - $804 = HEAP32[(19816)>>2]|0; + $804 = HEAP32[(20128)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -38053,7 +38016,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19816)>>2]|0; + $810 = HEAP32[(20128)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -38085,7 +38048,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19816)>>2]|0; + $822 = HEAP32[(20128)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -38118,21 +38081,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19840 + ($836<<2)|0); - $838 = HEAP32[4950]|0; + $837 = (20152 + ($836<<2)|0); + $838 = HEAP32[5028]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4950] = $842; + HEAP32[5028] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19816)>>2]|0; + $845 = HEAP32[(20128)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -38187,20 +38150,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (20104 + ($$0296$i$i<<2)|0); + $875 = (20416 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19804)>>2]|0; + $879 = HEAP32[(20116)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19804)>>2] = $883; + HEAP32[(20116)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -38239,7 +38202,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19816)>>2]|0; + $902 = HEAP32[(20128)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -38258,7 +38221,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19816)>>2]|0; + $909 = HEAP32[(20128)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -38285,7 +38248,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (20248); + $$0$i$i$i = (20560); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -38326,23 +38289,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19824)>>2] = $946; - HEAP32[(19812)>>2] = $947; + HEAP32[(20136)>>2] = $946; + HEAP32[(20124)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(20288)>>2]|0; - HEAP32[(19828)>>2] = $952; + $952 = HEAP32[(20600)>>2]|0; + HEAP32[(20140)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(20248)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20248)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20248)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20248)+12>>2]|0; - HEAP32[(20248)>>2] = $$749$i; - HEAP32[(20252)>>2] = $$723948$i; - HEAP32[(20260)>>2] = 0; - HEAP32[(20256)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(20560)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20560)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20560)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20560)+12>>2]|0; + HEAP32[(20560)>>2] = $$749$i; + HEAP32[(20564)>>2] = $$723948$i; + HEAP32[(20572)>>2] = 0; + HEAP32[(20568)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -38371,20 +38334,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19840 + ($968<<2)|0); - $970 = HEAP32[4950]|0; + $969 = (20152 + ($968<<2)|0); + $970 = HEAP32[5028]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4950] = $974; + HEAP32[5028] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19816)>>2]|0; + $977 = HEAP32[(20128)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -38436,19 +38399,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (20104 + ($$0212$i$i<<2)|0); + $1007 = (20416 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19804)>>2]|0; + $1010 = HEAP32[(20116)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19804)>>2] = $1014; + HEAP32[(20116)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -38487,7 +38450,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19816)>>2]|0; + $1033 = HEAP32[(20128)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -38506,7 +38469,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19816)>>2]|0; + $1040 = HEAP32[(20128)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -38529,14 +38492,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19812)>>2]|0; + $1048 = HEAP32[(20124)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19812)>>2] = $1050; - $1051 = HEAP32[(19824)>>2]|0; + HEAP32[(20124)>>2] = $1050; + $1051 = HEAP32[(20136)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19824)>>2] = $1052; + HEAP32[(20136)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -38579,7 +38542,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19816)>>2]|0; + $3 = HEAP32[(20128)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -38612,7 +38575,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19820)>>2]|0; + $19 = HEAP32[(20132)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -38627,7 +38590,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19808)>>2] = $17; + HEAP32[(20120)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -38641,7 +38604,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19840 + ($27<<2)|0); + $28 = (20152 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -38661,9 +38624,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4950]|0; + $37 = HEAP32[5028]|0; $38 = $37 & $36; - HEAP32[4950] = $38; + HEAP32[5028] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -38777,7 +38740,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (20104 + ($74<<2)|0); + $75 = (20416 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -38787,14 +38750,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19804)>>2]|0; + $80 = HEAP32[(20116)>>2]|0; $81 = $80 & $79; - HEAP32[(19804)>>2] = $81; + HEAP32[(20116)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19816)>>2]|0; + $82 = HEAP32[(20128)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -38816,7 +38779,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19816)>>2]|0; + $88 = HEAP32[(20128)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -38848,7 +38811,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19816)>>2]|0; + $100 = HEAP32[(20128)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -38883,14 +38846,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19824)>>2]|0; + $120 = HEAP32[(20136)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19820)>>2]|0; + $122 = HEAP32[(20132)>>2]|0; if ($121) { - $123 = HEAP32[(19812)>>2]|0; + $123 = HEAP32[(20124)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19812)>>2] = $124; - HEAP32[(19824)>>2] = $$1; + HEAP32[(20124)>>2] = $124; + HEAP32[(20136)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -38898,16 +38861,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19820)>>2] = 0; - HEAP32[(19808)>>2] = 0; + HEAP32[(20132)>>2] = 0; + HEAP32[(20120)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19808)>>2]|0; + $129 = HEAP32[(20120)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19808)>>2] = $130; - HEAP32[(19820)>>2] = $113; + HEAP32[(20120)>>2] = $130; + HEAP32[(20132)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -38926,10 +38889,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19840 + ($142<<2)|0); + $143 = (20152 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19816)>>2]|0; + $145 = HEAP32[(20128)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -38947,9 +38910,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4950]|0; + $153 = HEAP32[5028]|0; $154 = $153 & $152; - HEAP32[4950] = $154; + HEAP32[5028] = $154; break; } $155 = ($141|0)==($143|0); @@ -38957,7 +38920,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19816)>>2]|0; + $156 = HEAP32[(20128)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -39017,7 +38980,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19816)>>2]|0; + $189 = HEAP32[(20128)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -39030,7 +38993,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19816)>>2]|0; + $169 = HEAP32[(20128)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -39061,7 +39024,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (20104 + ($193<<2)|0); + $194 = (20416 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -39071,13 +39034,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19804)>>2]|0; + $199 = HEAP32[(20116)>>2]|0; $200 = $199 & $198; - HEAP32[(19804)>>2] = $200; + HEAP32[(20116)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19816)>>2]|0; + $201 = HEAP32[(20128)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -39098,7 +39061,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19816)>>2]|0; + $207 = HEAP32[(20128)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -39128,7 +39091,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19816)>>2]|0; + $219 = HEAP32[(20128)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -39149,10 +39112,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19820)>>2]|0; + $226 = HEAP32[(20132)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19808)>>2] = $135; + HEAP32[(20120)>>2] = $135; return; } else { $$2 = $135; @@ -39171,20 +39134,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19840 + ($234<<2)|0); - $236 = HEAP32[4950]|0; + $235 = (20152 + ($234<<2)|0); + $236 = HEAP32[5028]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4950] = $240; + HEAP32[5028] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19816)>>2]|0; + $243 = HEAP32[(20128)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -39236,21 +39199,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (20104 + ($$0396<<2)|0); + $273 = (20416 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19804)>>2]|0; + $277 = HEAP32[(20116)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19804)>>2] = $281; + HEAP32[(20116)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -39288,7 +39251,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19816)>>2]|0; + $300 = HEAP32[(20128)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -39307,7 +39270,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19816)>>2]|0; + $307 = HEAP32[(20128)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -39329,12 +39292,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19832)>>2]|0; + $314 = HEAP32[(20144)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19832)>>2] = $315; + HEAP32[(20144)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (20256); + $$0212$in$i = (20568); } else { return; } @@ -39348,7 +39311,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19832)>>2] = -1; + HEAP32[(20144)>>2] = -1; return; } function _realloc($0,$1) { @@ -39420,7 +39383,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19816)>>2]|0; + $6 = HEAP32[(20128)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -39450,7 +39413,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(20280)>>2]|0; + $18 = HEAP32[(20592)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -39486,10 +39449,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19824)>>2]|0; + $34 = HEAP32[(20136)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19812)>>2]|0; + $36 = HEAP32[(20124)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -39505,15 +39468,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19824)>>2] = $40; - HEAP32[(19812)>>2] = $39; + HEAP32[(20136)>>2] = $40; + HEAP32[(20124)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19820)>>2]|0; + $46 = HEAP32[(20132)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19808)>>2]|0; + $48 = HEAP32[(20120)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -39549,8 +39512,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19808)>>2] = $storemerge1; - HEAP32[(19820)>>2] = $storemerge; + HEAP32[(20120)>>2] = $storemerge1; + HEAP32[(20132)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -39577,7 +39540,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19840 + ($81<<2)|0); + $82 = (20152 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -39597,9 +39560,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4950]|0; + $91 = HEAP32[5028]|0; $92 = $91 & $90; - HEAP32[4950] = $92; + HEAP32[5028] = $92; break; } $93 = ($80|0)==($82|0); @@ -39708,7 +39671,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (20104 + ($128<<2)|0); + $129 = (20416 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -39718,13 +39681,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19804)>>2]|0; + $134 = HEAP32[(20116)>>2]|0; $135 = $134 & $133; - HEAP32[(19804)>>2] = $135; + HEAP32[(20116)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19816)>>2]|0; + $136 = HEAP32[(20128)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -39745,7 +39708,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19816)>>2]|0; + $142 = HEAP32[(20128)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -39775,7 +39738,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19816)>>2]|0; + $154 = HEAP32[(20128)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -39860,13 +39823,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19816)>>2]|0; + $13 = HEAP32[(20128)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19820)>>2]|0; + $15 = HEAP32[(20132)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -39881,7 +39844,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19808)>>2] = $12; + HEAP32[(20120)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -39895,7 +39858,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19840 + ($23<<2)|0); + $24 = (20152 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -39915,9 +39878,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4950]|0; + $33 = HEAP32[5028]|0; $34 = $33 & $32; - HEAP32[4950] = $34; + HEAP32[5028] = $34; $$1 = $11;$$1418 = $12; break; } @@ -40031,7 +39994,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (20104 + ($70<<2)|0); + $71 = (20416 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -40041,14 +40004,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19804)>>2]|0; + $76 = HEAP32[(20116)>>2]|0; $77 = $76 & $75; - HEAP32[(19804)>>2] = $77; + HEAP32[(20116)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19816)>>2]|0; + $78 = HEAP32[(20128)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -40070,7 +40033,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19816)>>2]|0; + $84 = HEAP32[(20128)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -40102,7 +40065,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19816)>>2]|0; + $96 = HEAP32[(20128)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -40121,7 +40084,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19816)>>2]|0; + $108 = HEAP32[(20128)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -40132,14 +40095,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19824)>>2]|0; + $114 = HEAP32[(20136)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19820)>>2]|0; + $116 = HEAP32[(20132)>>2]|0; if ($115) { - $117 = HEAP32[(19812)>>2]|0; + $117 = HEAP32[(20124)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19812)>>2] = $118; - HEAP32[(19824)>>2] = $$1; + HEAP32[(20124)>>2] = $118; + HEAP32[(20136)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -40147,16 +40110,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19820)>>2] = 0; - HEAP32[(19808)>>2] = 0; + HEAP32[(20132)>>2] = 0; + HEAP32[(20120)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19808)>>2]|0; + $123 = HEAP32[(20120)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19808)>>2] = $124; - HEAP32[(19820)>>2] = $$1; + HEAP32[(20120)>>2] = $124; + HEAP32[(20132)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -40175,7 +40138,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19840 + ($136<<2)|0); + $137 = (20152 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -40195,9 +40158,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4950]|0; + $146 = HEAP32[5028]|0; $147 = $146 & $145; - HEAP32[4950] = $147; + HEAP32[5028] = $147; break; } $148 = ($135|0)==($137|0); @@ -40306,7 +40269,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (20104 + ($183<<2)|0); + $184 = (20416 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -40316,13 +40279,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19804)>>2]|0; + $189 = HEAP32[(20116)>>2]|0; $190 = $189 & $188; - HEAP32[(19804)>>2] = $190; + HEAP32[(20116)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19816)>>2]|0; + $191 = HEAP32[(20128)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -40343,7 +40306,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19816)>>2]|0; + $197 = HEAP32[(20128)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -40373,7 +40336,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19816)>>2]|0; + $209 = HEAP32[(20128)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -40394,10 +40357,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19820)>>2]|0; + $216 = HEAP32[(20132)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19808)>>2] = $129; + HEAP32[(20120)>>2] = $129; return; } else { $$2 = $129; @@ -40416,20 +40379,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19840 + ($224<<2)|0); - $226 = HEAP32[4950]|0; + $225 = (20152 + ($224<<2)|0); + $226 = HEAP32[5028]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4950] = $230; + HEAP32[5028] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19816)>>2]|0; + $233 = HEAP32[(20128)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -40481,20 +40444,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (20104 + ($$0431<<2)|0); + $263 = (20416 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19804)>>2]|0; + $267 = HEAP32[(20116)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19804)>>2] = $271; + HEAP32[(20116)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -40533,7 +40496,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19816)>>2]|0; + $290 = HEAP32[(20128)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -40551,7 +40514,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19816)>>2]|0; + $297 = HEAP32[(20128)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/models/models_geometric_shapes.js b/docs/examples/web/models/models_geometric_shapes.js index e2b47d83..75202919 100644 --- a/docs/examples/web/models/models_geometric_shapes.js +++ b/docs/examples/web/models/models_geometric_shapes.js @@ -7360,30 +7360,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -7518,13 +7568,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8647,45 +8690,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/models/models_heightmap.js b/docs/examples/web/models/models_heightmap.js index 5ac8502c..391a2310 100644 --- a/docs/examples/web/models/models_heightmap.js +++ b/docs/examples/web/models/models_heightmap.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 10920, "filename": "/resources/heightmap.png"}], "remote_package_size": 10920, "package_uuid": "7b43fdef-dea0-425b-82b9-1635762b9925"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 10920, "filename": "/resources/heightmap.png"}], "remote_package_size": 10920, "package_uuid": "706b22d7-42c7-4f1a-b627-ecca0390bb5a"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22864; +STATICTOP = STATIC_BASE + 22848; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,144,65,0,0,128,65,0,0,144,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,71,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,104,101,105,103,104,116,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,104,101,105,103,104,116,109,97,112,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,144,65,0,0,128,65,0,0,144,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,0,0,0,193,0,0,0,0,0,0,0,193,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,63,85,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,104,101,105,103,104,116,109,97,112,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,104,101,105,103,104,116,109,97,112,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,37,50,105,32,70,80,83,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10513,7 +10513,7 @@ function _main() { _LoadImage($0,4272); ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$map$byval_copy); - ;HEAP32[16976>>2]=HEAP32[$1>>2]|0;HEAP32[16976+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16976+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16976+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16976+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17288>>2]=HEAP32[$1>>2]|0;HEAP32[17288+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17288+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17288+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17288+16>>2]=HEAP32[$1+16>>2]|0; HEAPF32[$2>>2] = 16.0; $6 = ((($2)) + 4|0); HEAPF32[$6>>2] = 8.0; @@ -10522,16 +10522,16 @@ function _main() { ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; _LoadHeightmap($3,$$byval_copy1,$map$byval_copy); - _memcpy((16996|0),($3|0),264)|0; - ;HEAP32[(17184)>>2]=HEAP32[16976>>2]|0;HEAP32[(17184)+4>>2]=HEAP32[16976+4>>2]|0;HEAP32[(17184)+8>>2]=HEAP32[16976+8>>2]|0;HEAP32[(17184)+12>>2]=HEAP32[16976+12>>2]|0;HEAP32[(17184)+16>>2]=HEAP32[16976+16>>2]|0; + _memcpy((17308|0),($3|0),264)|0; + ;HEAP32[(17496)>>2]=HEAP32[17288>>2]|0;HEAP32[(17496)+4>>2]=HEAP32[17288+4>>2]|0;HEAP32[(17496)+8>>2]=HEAP32[17288+8>>2]|0;HEAP32[(17496)+12>>2]=HEAP32[17288+12>>2]|0;HEAP32[(17496)+16>>2]=HEAP32[17288+16>>2]|0; ;HEAP32[$map$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($map$byval_copy); dest=$map$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($map$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$map$byval_copy>>2]=HEAP32[16976>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[16976+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[16976+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[16976+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[16976+16>>2]|0; + ;HEAP32[$map$byval_copy>>2]=HEAP32[17288>>2]|0;HEAP32[$map$byval_copy+4>>2]=HEAP32[17288+4>>2]|0;HEAP32[$map$byval_copy+8>>2]=HEAP32[17288+8>>2]|0;HEAP32[$map$byval_copy+12>>2]=HEAP32[17288+12>>2]|0;HEAP32[$map$byval_copy+16>>2]=HEAP32[17288+16>>2]|0; _UnloadTexture($map$byval_copy); - _memcpy(($map$byval_copy|0),(16996|0),264)|0; + _memcpy(($map$byval_copy|0),(17308|0),264)|0; _UnloadModel($map$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10568,25 +10568,25 @@ function _UpdateDrawFrame() { HEAP8[$8>>0] = 55; $9 = ((($1)) + 3|0); HEAP8[$9>>0] = -1; - _memcpy(($map$byval_copy|0),(16996|0),264)|0; + _memcpy(($map$byval_copy|0),(17308|0),264)|0; ;HEAP32[$texture$byval_copy>>2]=HEAP32[56>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[56+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[56+8>>2]|0; ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($map$byval_copy,$texture$byval_copy,1.0,$$byval_copy2); _DrawGrid(20,1.0); _End3dMode(); $10 = HEAP32[2]|0; - $11 = HEAP32[(16980)>>2]|0; + $11 = HEAP32[(17292)>>2]|0; $12 = (($10) + -20)|0; $13 = (($12) - ($11))|0; HEAP32[$2>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16976>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16976+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16976+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16976+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16976+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[17288>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[17288+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[17288+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[17288+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[17288+16>>2]|0; ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; _DrawTexture($texture$byval_copy,$13,20,$$byval_copy2); $14 = HEAP32[2]|0; - $15 = HEAP32[(16980)>>2]|0; + $15 = HEAP32[(17292)>>2]|0; $16 = (($14) + -20)|0; $17 = (($16) - ($15))|0; - $18 = HEAP32[(16984)>>2]|0; + $18 = HEAP32[(17296)>>2]|0; HEAP8[$3>>0] = 0; $19 = ((($3)) + 1|0); HEAP8[$19>>0] = -28; @@ -10600,30 +10600,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10758,13 +10808,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11753,7 +11796,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4316] = $2; + HEAP32[4394] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11766,7 +11809,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16696; + $95 = 17008; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11779,48 +11822,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16736; + $106 = 17048; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4184]; - $111 = +HEAPF32[4174]; + $110 = +HEAPF32[4262]; + $111 = +HEAPF32[4252]; $112 = $110 - $111; - HEAPF32[4186] = $112; - $113 = +HEAPF32[(16740)>>2]; - $114 = +HEAPF32[(16700)>>2]; + HEAPF32[4264] = $112; + $113 = +HEAPF32[(17052)>>2]; + $114 = +HEAPF32[(17012)>>2]; $115 = $113 - $114; - HEAPF32[(16748)>>2] = $115; - HEAP32[4315] = 4; + HEAPF32[(17060)>>2] = $115; + HEAP32[4393] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16728+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4321] = $116; - $117 = 16728; + HEAPF32[4399] = $116; + $117 = 17040; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16696; + $123 = 17008; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16752; + $127 = 17064; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16736; + $133 = 17048; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11833,7 +11876,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16728; + $144 = 17040; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11846,27 +11889,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16752; + $155 = 17064; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4188]; - $160 = +HEAPF32[4182]; + $159 = +HEAPF32[4266]; + $160 = +HEAPF32[4260]; $161 = $159 - $160; - HEAPF32[4186] = $161; - $162 = +HEAPF32[(16756)>>2]; - $163 = +HEAPF32[(16732)>>2]; + HEAPF32[4264] = $161; + $162 = +HEAPF32[(17068)>>2]; + $163 = +HEAPF32[(17044)>>2]; $164 = $162 - $163; - HEAPF32[(16748)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; + HEAPF32[(17060)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17040+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17048>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17048+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11878,31 +11921,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16728+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4321]; + $170 = +HEAPF32[4399]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4315] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16728+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16752+4>>2]|0; + HEAP32[4393] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17064+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4322] = $174; + HEAPF32[4400] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4321] = 0.0; - HEAPF32[4322] = 0.0; - HEAPF32[4186] = 0.0; - HEAPF32[(16748)>>2] = 0.0; - HEAP32[4316] = 0; - HEAP32[4315] = 0; + HEAPF32[4399] = 0.0; + HEAPF32[4400] = 0.0; + HEAPF32[4264] = 0.0; + HEAPF32[(17060)>>2] = 0.0; + HEAP32[4394] = 0; + HEAP32[4393] = 0; STACKTOP = sp;return; break; } @@ -11912,22 +11955,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4317]|0; + $6 = HEAP32[4395]|0; $7 = (($6) + 1)|0; - HEAP32[4317] = $7; - $8 = HEAP32[4315]|0; + HEAP32[4395] = $7; + $8 = HEAP32[4393]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4315] = 2; - HEAP32[4317] = 0; + HEAP32[4393] = 2; + HEAP32[4395] = 0; } else { label = 6; } @@ -11935,8 +11978,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4317] = 1; - HEAP32[4315] = 1; + HEAP32[4395] = 1; + HEAP32[4393] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11945,19 +11988,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16696; + $21 = 17008; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16704; + $25 = 17016; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16712; + $29 = 17024; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11966,13 +12009,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[17] = $34; - HEAPF32[4180] = 0.0; - HEAPF32[(16724)>>2] = 0.0; + HEAPF32[4258] = 0.0; + HEAPF32[(17036)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4315]|0; + $35 = HEAP32[4393]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11982,19 +12025,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16712; + $44 = 17024; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17024+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4318] = $49; - HEAP32[4319] = 0; + HEAPF32[4396] = $49; + HEAP32[4397] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[17]|0; @@ -12002,11 +12045,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16712+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17024+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4320] = $56; + HEAPF32[4398] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12037,22 +12080,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4318] = 0.0; - HEAPF32[4320] = 0.0; + HEAPF32[4396] = 0.0; + HEAPF32[4398] = 0.0; $$sink10 = 0; } - HEAP32[4315] = $$sink10; - HEAPF32[4176] = 0.0; - HEAPF32[(16708)>>2] = 0.0; - HEAP32[4316] = 0; + HEAP32[4393] = $$sink10; + HEAPF32[4254] = 0.0; + HEAPF32[(17020)>>2] = 0.0; + HEAP32[4394] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4319]|0; + $65 = HEAP32[4397]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4319] = 1; + HEAP32[4397] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12061,31 +12104,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16728; + $74 = 17040; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4315]|0; + $78 = HEAP32[4393]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16696>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16696+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16728>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16728+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17040+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4315] = 8; + HEAP32[4393] = 8; } } - $82 = +HEAPF32[4182]; - $83 = +HEAPF32[4176]; + $82 = +HEAPF32[4260]; + $83 = +HEAPF32[4254]; $84 = $82 - $83; - HEAPF32[4180] = $84; - $85 = +HEAPF32[(16732)>>2]; - $86 = +HEAPF32[(16708)>>2]; + HEAPF32[4258] = $84; + $85 = +HEAPF32[(17044)>>2]; + $86 = +HEAPF32[(17020)>>2]; $87 = $85 - $86; - HEAPF32[(16724)>>2] = $87; + HEAPF32[(17036)>>2] = $87; STACKTOP = sp;return; break; } @@ -12094,58 +12137,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4315]|0; + $0 = HEAP32[4393]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4316]|0; + $2 = HEAP32[4394]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4315] = 4; + HEAP32[4393] = 4; } - $4 = HEAP32[4315]|0; + $4 = HEAP32[4393]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12158,7 +12162,7 @@ function _UpdateGestures() { return; } } - HEAP32[4315] = 0; + HEAP32[4393] = 0; return; } function _SetCameraMode($0,$1) { @@ -12187,22 +12191,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4323] = $10; + HEAPF32[4401] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4324] = $16; + HEAPF32[4402] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4325] = $20; + HEAPF32[4403] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[18] = $21; - HEAP32[4326] = $1; + HEAP32[4404] = $1; return; } function _UpdateCamera($0) { @@ -12271,7 +12275,7 @@ function _UpdateCamera($0) { $30 = HEAP32[27]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4326]|0; + $32 = HEAP32[4404]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12343,9 +12347,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4190]; + $64 = +HEAPF32[4268]; $65 = $37 - $64; - $66 = +HEAPF32[(16764)>>2]; + $66 = +HEAPF32[(17076)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12353,11 +12357,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4190]; + $69 = +HEAPF32[4268]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(16764)>>2]; + $73 = +HEAPF32[(17076)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12369,16 +12373,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 16760; + $81 = 17072; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4326]|0; + $$pr = HEAP32[4404]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4323]; + $85 = +HEAPF32[4401]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12387,10 +12391,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4323] = $90; + HEAPF32[4401] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4323] = 120.0; + HEAPF32[4401] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12469,12 +12473,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4323] = $148; + HEAPF32[4401] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4323] = 0.30000001192092896; + HEAPF32[4401] = 0.30000001192092896; break; } } @@ -12496,7 +12500,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4323]; + $164 = +HEAPF32[4401]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12528,7 +12532,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4323]; + $188 = +HEAPF32[4401]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12552,12 +12556,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4323]; + $205 = +HEAPF32[4401]; $206 = $205 - $204; - HEAPF32[4323] = $206; + HEAPF32[4401] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4323] = 0.30000001192092896; + HEAPF32[4401] = 0.30000001192092896; } } } @@ -12571,17 +12575,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4324]; + $223 = +HEAPF32[4402]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4325]; + $229 = +HEAPF32[4403]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4323]; + $233 = +HEAPF32[4401]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12611,23 +12615,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4323]; + $212 = +HEAPF32[4401]; $213 = $211 + $212; - HEAPF32[4323] = $213; + HEAPF32[4401] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4324]; + $215 = +HEAPF32[4402]; $216 = $215 - $214; - HEAPF32[4324] = $216; + HEAPF32[4402] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4325]; + $218 = +HEAPF32[4403]; $219 = $218 - $217; - HEAPF32[4325] = $219; + HEAPF32[4403] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4325] = 1.483529806137085; + HEAPF32[4403] = 1.483529806137085; label = 58; break L1; } @@ -12636,32 +12640,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4325] = -1.483529806137085; + HEAPF32[4403] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4324]; + $254 = +HEAPF32[4402]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4324] = $255; + HEAPF32[4402] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4323]; + $258 = +HEAPF32[4401]; $259 = $258 - $257; - HEAPF32[4323] = $259; + HEAPF32[4401] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4323] = 1.2000000476837158; + HEAPF32[4401] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4324]; + $264 = +HEAPF32[4402]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12683,7 +12687,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4325]; + $285 = +HEAPF32[4403]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12751,14 +12755,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4324]; + $314 = +HEAPF32[4402]; $315 = $314 - $313; - HEAPF32[4324] = $315; + HEAPF32[4402] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4325]; + $317 = +HEAPF32[4403]; $318 = $317 - $316; - HEAPF32[4325] = $318; - $319 = HEAP32[4326]|0; + HEAPF32[4403] = $318; + $319 = HEAP32[4404]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12773,17 +12777,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4325] = $$sink26; + HEAPF32[4403] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4323]; + $325 = +HEAPF32[4401]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4323] = $storemerge; + HEAPF32[4401] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4324]; + $329 = +HEAPF32[4402]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12814,17 +12818,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4325] = $$sink28; + HEAPF32[4403] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4324]; + $347 = +HEAPF32[4402]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4325]; + $353 = +HEAPF32[4403]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12838,12 +12842,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4327]|0; + $364 = HEAP32[4405]|0; $365 = (($364) + 1)|0; - HEAP32[4327] = $365; + HEAP32[4405] = $365; } $366 = +HEAPF32[18]; - $367 = HEAP32[4327]|0; + $367 = HEAP32[4405]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12873,7 +12877,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4326]|0; + $$pr190 = HEAP32[4404]|0; $380 = $$pr190; } switch ($380|0) { @@ -12884,11 +12888,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4324]; + $381 = +HEAPF32[4402]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4323]; + $383 = +HEAPF32[4401]; $384 = $382 * $383; - $385 = +HEAPF32[4325]; + $385 = +HEAPF32[4403]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12897,7 +12901,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4323]; + $393 = +HEAPF32[4401]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12921,7 +12925,7 @@ function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16768; + $1 = 17080; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12938,7 +12942,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4332]|0; + $0 = HEAP32[4410]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12963,19 +12967,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4331]|0; + $0 = HEAP32[4409]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4330]|0; + $0 = HEAP32[4408]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4328] = 1; + HEAP32[4406] = 1; return; } function _SetMousePosition($0) { @@ -12988,13 +12992,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 16768; + $7 = 17080; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4329]|0; + $11 = HEAP32[4407]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13006,14 +13010,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4328] = 0; + HEAP32[4406] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4329]|0; + $1 = HEAP32[4407]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13021,7 +13025,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4329]|0; + $1 = HEAP32[4407]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13034,7 +13038,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4296,$vararg_buffer); - HEAP32[4333] = $2; + HEAP32[4411] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13047,15 +13051,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4325|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4331]|0; + $3 = HEAP32[4409]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4192] = $5; - $6 = HEAP32[4330]|0; + HEAPF32[4270] = $5; + $6 = HEAP32[4408]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16772)>>2] = $8; - $9 = HEAP32[4334]|0; + HEAPF32[(17084)>>2] = $8; + $9 = HEAP32[4412]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13074,11 +13078,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16808>>0]=HEAP8[8854>>0]|0;HEAP8[16808+1>>0]=HEAP8[8854+1>>0]|0;HEAP8[16808+2>>0]=HEAP8[8854+2>>0]|0;HEAP8[16808+3>>0]=HEAP8[8854+3>>0]|0;HEAP8[16808+4>>0]=HEAP8[8854+4>>0]|0;HEAP8[16808+5>>0]=HEAP8[8854+5>>0]|0;HEAP8[16808+6>>0]=HEAP8[8854+6>>0]|0; + ;HEAP8[17120>>0]=HEAP8[8854>>0]|0;HEAP8[17120+1>>0]=HEAP8[8854+1>>0]|0;HEAP8[17120+2>>0]=HEAP8[8854+2>>0]|0;HEAP8[17120+3>>0]=HEAP8[8854+3>>0]|0;HEAP8[17120+4>>0]=HEAP8[8854+4>>0]|0;HEAP8[17120+5>>0]=HEAP8[8854+5>>0]|0;HEAP8[17120+6>>0]=HEAP8[8854+6>>0]|0; break; } case 1: { - $3 = 16808; + $3 = 17120; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13087,11 +13091,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16808; src=8861; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=17120; src=8861; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16808; + $7 = 17120; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13102,16 +13106,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16808,$1)|0); - $strlen = (_strlen(16808)|0); - $endptr = (16808 + ($strlen)|0); + (_strcat(17120,$1)|0); + $strlen = (_strlen(17120)|0); + $endptr = (17120 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16808,$2)|0); + (_vprintf(17120,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13143,22 +13147,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4331] = $0; - HEAP32[4330] = $1; + HEAP32[4409] = $0; + HEAP32[4408] = $1; _MatrixIdentity($2); - dest=17412; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17724; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4996,$vararg_buffer); } - $6 = HEAP32[4331]|0; - HEAP32[4369] = $6; - $7 = HEAP32[4330]|0; - HEAP32[4370] = $7; + $6 = HEAP32[4409]|0; + HEAP32[4447] = $6; + $7 = HEAP32[4408]|0; + HEAP32[4448] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[20152]|0; + $8 = HEAP8[20464]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13166,13 +13170,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[20152]|0; + $11 = HEAP8[20464]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[20152]|0; + $14 = HEAP8[20464]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13194,18 +13198,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4371]|0; + $21 = HEAP32[4449]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4331]|0; - $48 = HEAP32[4330]|0; - $49 = HEAP32[4333]|0; + $47 = HEAP32[4409]|0; + $48 = HEAP32[4408]|0; + $49 = HEAP32[4411]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4329] = $50; - $51 = HEAP32[4331]|0; - HEAP32[4372] = $51; - $52 = HEAP32[4330]|0; - HEAP32[4373] = $52; + HEAP32[4407] = $50; + $51 = HEAP32[4409]|0; + HEAP32[4450] = $51; + $52 = HEAP32[4408]|0; + HEAP32[4451] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13214,9 +13218,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4331]|0; + $27 = HEAP32[4409]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4330]|0; + $29 = HEAP32[4408]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13238,25 +13242,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4369] = $31; - HEAP32[4370] = $34; + HEAP32[4447] = $31; + HEAP32[4448] = $34; } } while(0); - $38 = HEAP32[4369]|0; - $39 = HEAP32[4370]|0; + $38 = HEAP32[4447]|0; + $39 = HEAP32[4448]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5047,$vararg_buffer3); - $40 = HEAP32[4369]|0; - $41 = HEAP32[4370]|0; + $40 = HEAP32[4447]|0; + $41 = HEAP32[4448]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4369]|0; - $43 = HEAP32[4370]|0; - $44 = HEAP32[4333]|0; + $42 = HEAP32[4447]|0; + $43 = HEAP32[4448]|0; + $44 = HEAP32[4411]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4329] = $46; + HEAP32[4407] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13265,60 +13269,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5085,$vararg_buffer6); } else { _TraceLog(0,5118,$vararg_buffer8); - $55 = HEAP32[4372]|0; - $56 = HEAP32[4373]|0; + $55 = HEAP32[4450]|0; + $56 = HEAP32[4451]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5158,$vararg_buffer10); - $57 = HEAP32[4331]|0; - $58 = HEAP32[4330]|0; + $57 = HEAP32[4409]|0; + $58 = HEAP32[4408]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5179,$vararg_buffer14); - $59 = HEAP32[4374]|0; - $60 = HEAP32[4375]|0; + $59 = HEAP32[4452]|0; + $60 = HEAP32[4453]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5200,$vararg_buffer18); } - $61 = HEAP32[4329]|0; + $61 = HEAP32[4407]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4329]|0; + $62 = HEAP32[4407]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4329]|0; + $63 = HEAP32[4407]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4329]|0; + $64 = HEAP32[4407]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4329]|0; + $65 = HEAP32[4407]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4329]|0; + $66 = HEAP32[4407]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4329]|0; + $67 = HEAP32[4407]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4329]|0; + $68 = HEAP32[4407]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4329]|0; + $69 = HEAP32[4407]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[20152]|0; + $70 = HEAP8[20464]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4331]|0; - $74 = HEAP32[4330]|0; + $73 = HEAP32[4409]|0; + $74 = HEAP32[4408]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4372]|0; - $76 = HEAP32[4374]|0; + $75 = HEAP32[4450]|0; + $76 = HEAP32[4452]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4373]|0; - $80 = HEAP32[4375]|0; + $79 = HEAP32[4451]|0; + $80 = HEAP32[4453]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13337,18 +13341,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5225,$vararg_buffer22); - $73 = HEAP32[4331]|0; - $74 = HEAP32[4330]|0; + $73 = HEAP32[4409]|0; + $74 = HEAP32[4408]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4372]|0; - $76 = HEAP32[4374]|0; + $75 = HEAP32[4450]|0; + $76 = HEAP32[4452]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4373]|0; - $80 = HEAP32[4375]|0; + $79 = HEAP32[4451]|0; + $80 = HEAP32[4453]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13376,7 +13380,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(17380)>>2] = 224; + HEAP32[(17692)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13417,27 +13421,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[17356>>2]=HEAP32[$1>>2]|0;HEAP32[17356+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17356+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17356+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17356+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17668>>2]=HEAP32[$1>>2]|0;HEAP32[17668+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17668+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17668+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17668+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(17380)>>2]|0; + $5 = HEAP32[(17692)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(17384)>>2] = $7; + HEAP32[(17696)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17376)>>2] = $23; - $24 = HEAP32[4339]|0; + HEAP32[(17688)>>2] = $23; + $24 = HEAP32[4417]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4520,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(17360)>>2]|0; - $10 = HEAP32[(17380)>>2]|0; - $11 = HEAP32[(17384)>>2]|0; + $9 = HEAP32[(17672)>>2]|0; + $10 = HEAP32[(17692)>>2]|0; + $11 = HEAP32[(17696)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13486,8 +13490,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(17376)>>2] = $23; - $24 = HEAP32[4339]|0; + HEAP32[(17688)>>2] = $23; + $24 = HEAP32[4417]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4520,$vararg_buffer); STACKTOP = sp;return; @@ -13498,7 +13502,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2100] = $1; + HEAPF64[2139] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13657,7 +13661,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16784; + $31 = 17096; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13670,7 +13674,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16792); + $42 = (17104); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13726,7 +13730,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (17340 + ($10<<2)|0); + $11 = (17652 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13740,7 +13744,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2097] = $$; + HEAPF64[2136] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13752,7 +13756,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4334] = 0; + HEAP32[4412] = 0; return; } function _GetTime() { @@ -14328,7 +14332,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4347]|0; + $6 = HEAP32[4425]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14338,7 +14342,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4348]|0; + $9 = HEAP32[4426]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14347,7 +14351,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4349]|0; + $12 = HEAP32[4427]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14357,7 +14361,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4350]|0; + $15 = HEAP32[4428]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14367,7 +14371,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4351]|0; + $18 = HEAP32[4429]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14411,7 +14415,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4347]|0; + $22 = HEAP32[4425]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14419,7 +14423,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4347]|0; + $24 = HEAP32[4425]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14427,7 +14431,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4347]|0; + $26 = HEAP32[4425]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14435,7 +14439,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4347]|0; + $28 = HEAP32[4425]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14443,7 +14447,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4348]|0; + $30 = HEAP32[4426]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14451,7 +14455,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4349]|0; + $32 = HEAP32[4427]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14459,7 +14463,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4349]|0; + $34 = HEAP32[4427]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14467,7 +14471,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4350]|0; + $36 = HEAP32[4428]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14475,7 +14479,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4350]|0; + $38 = HEAP32[4428]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14483,7 +14487,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4351]|0; + $40 = HEAP32[4429]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14491,7 +14495,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4351]|0; + $42 = HEAP32[4429]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14503,7 +14507,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4352]|0; + $44 = HEAP32[4430]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14849,20 +14853,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4331]|0; + $3 = HEAP32[4409]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4330]|0; + $5 = HEAP32[4408]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4372] = $3; - HEAP32[4373] = $5; - HEAP32[4374] = 0; - HEAP32[4375] = 0; + HEAP32[4450] = $3; + HEAP32[4451] = $5; + HEAP32[4452] = 0; + HEAP32[4453] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14876,9 +14880,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4331]|0; + $35 = HEAP32[4409]|0; $36 = (+($35|0)); - $37 = HEAP32[4330]|0; + $37 = HEAP32[4408]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14886,26 +14890,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4372] = $45; - HEAP32[4373] = $37; + HEAP32[4450] = $45; + HEAP32[4451] = $37; $46 = (($45) - ($35))|0; - HEAP32[4374] = $46; + HEAP32[4452] = $46; $$sink1 = 0; } else { - HEAP32[4372] = $35; + HEAP32[4450] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4373] = $42; - HEAP32[4374] = 0; + HEAP32[4451] = $42; + HEAP32[4452] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4375] = $$sink1; + HEAP32[4453] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4330]|0; + $7 = HEAP32[4408]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14915,11 +14919,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8607,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4331]|0; + $9 = HEAP32[4409]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4330]|0; + $13 = HEAP32[4408]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14927,33 +14931,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4372] = $23; - HEAP32[4373] = $1; + HEAP32[4450] = $23; + HEAP32[4451] = $1; $24 = (($0) - ($23))|0; - HEAP32[4374] = $24; + HEAP32[4452] = $24; $$sink = 0; } else { - HEAP32[4372] = $0; - $17 = HEAP32[4330]|0; + HEAP32[4450] = $0; + $17 = HEAP32[4408]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4373] = $20; - HEAP32[4374] = 0; + HEAP32[4451] = $20; + HEAP32[4452] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4375] = $$sink; - $25 = HEAP32[4372]|0; + HEAP32[4453] = $$sink; + $25 = HEAP32[4450]|0; $26 = (+($25|0)); - $27 = HEAP32[4331]|0; + $27 = HEAP32[4409]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17412; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4372] = $0; - HEAP32[4373] = $1; + dest=17724; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4450] = $0; + HEAP32[4451] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14975,10 +14979,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4331] = $1; - HEAP32[4330] = $2; - HEAP32[4372] = $1; - HEAP32[4373] = $2; + HEAP32[4409] = $1; + HEAP32[4408] = $2; + HEAP32[4450] = $1; + HEAP32[4451] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15005,7 +15009,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (20159 + ($1)|0); + $9 = (20471 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15026,7 +15030,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (20153 + ($1)|0); + $7 = (20465 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15105,7 +15109,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16784; + $15 = 17096; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15140,7 +15144,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4745] = $3; + HEAP32[4823] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15150,7 +15154,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4744] = $$sink; + HEAP32[4822] = $$sink; return; } function _rlglInit($0,$1) { @@ -15231,18 +15235,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5357)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4410] = 1; + HEAP32[4488] = 1; $27 = (_eglGetProcAddress((5384|0))|0); - HEAP32[4411] = $27; + HEAP32[4489] = $27; $28 = (_eglGetProcAddress((5405|0))|0); - HEAP32[4412] = $28; + HEAP32[4490] = $28; $29 = (_eglGetProcAddress((5426|0))|0); - HEAP32[4413] = $29; + HEAP32[4491] = $29; } $30 = (_strcmp($24,5450)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4352] = 1; + HEAP32[4430] = 1; } $32 = (_strcmp($24,5470)|0); $33 = ($32|0)==(0); @@ -15264,7 +15268,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4347] = 1; + HEAP32[4425] = 1; } $39 = (_strcmp($24,5575)|0); $40 = ($39|0)==(0); @@ -15280,35 +15284,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4348] = 1; + HEAP32[4426] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5644)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4349] = 1; + HEAP32[4427] = 1; } $47 = (_strcmp($44,5669)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4350] = 1; + HEAP32[4428] = 1; } $49 = (_strcmp($44,5702)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4351] = 1; + HEAP32[4429] = 1; } $51 = (_strcmp($44,5738)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4414] = 1; - _glGetFloatv(34047,(17660|0)); + HEAP32[4492] = 1; + _glGetFloatv(34047,(17972|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5772)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4416] = 1; + HEAP32[4494] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15319,61 +15323,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4410]|0; + $21 = HEAP32[4488]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5875,$vararg_buffer15); } else { _TraceLog(0,5800,$vararg_buffer13); } - $57 = HEAP32[4352]|0; + $57 = HEAP32[4430]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6011,$vararg_buffer19); } else { _TraceLog(0,5936,$vararg_buffer17); } - $59 = HEAP32[4347]|0; + $59 = HEAP32[4425]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6103,$vararg_buffer21); } - $61 = HEAP32[4348]|0; + $61 = HEAP32[4426]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6149,$vararg_buffer23); } - $63 = HEAP32[4349]|0; + $63 = HEAP32[4427]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6196,$vararg_buffer25); } - $65 = HEAP32[4350]|0; + $65 = HEAP32[4428]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6247,$vararg_buffer27); } - $67 = HEAP32[4351]|0; + $67 = HEAP32[4429]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6294,$vararg_buffer29); } - $69 = HEAP32[4414]|0; + $69 = HEAP32[4492]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4415]; + $71 = +HEAPF32[4493]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6341,$vararg_buffer31); } - $73 = HEAP32[4416]|0; + $73 = HEAP32[4494]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6407,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4417] = $75; + HEAP32[4495] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6511,$vararg_buffer39); @@ -15382,14 +15386,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6460,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17672; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17728; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17984; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18040; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4446] = $77; + HEAP32[4524] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4446]|0; + $79 = HEAP32[4524]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15402,7 +15406,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4447] = $78; + HEAP32[4525] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15417,48 +15421,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4448] = 1; - $85 = HEAP32[4417]|0; + HEAP32[4526] = 1; + $85 = HEAP32[4495]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4449] = 4; + HEAP32[4527] = 4; _MatrixIdentity($4); - dest=17800; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18112; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17864); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18176); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17928); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18240); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17992); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18304); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18056); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18368); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18120); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18432); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18184); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18496); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18248); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18560); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18312); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18624); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18376); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18688); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18440); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18752); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18504); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18816); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18568); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18880); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18632); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18944); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18696); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19008); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18760); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19072); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=17508; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17820; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=17572; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4376] = 17572; + dest=17884; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4454] = 17884; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15469,21 +15473,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4706] = $0; - HEAP32[4707] = $1; + HEAP32[4784] = $0; + HEAP32[4785] = $1; _TraceLog(0,6550,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4374]|0; + $0 = HEAP32[4452]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4375]|0; + $2 = HEAP32[4453]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4372]|0; + $4 = HEAP32[4450]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4373]|0; + $6 = HEAP32[4451]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15494,12 +15498,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17508; + $modelview$sink = 17820; label = 3; break; } case 5888: { - $modelview$sink = 17572; + $modelview$sink = 17884; label = 3; break; } @@ -15507,9 +15511,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4376] = $modelview$sink; + HEAP32[4454] = $modelview$sink; } - HEAP32[4409] = $0; + HEAP32[4487] = $0; return; } function _rlLoadIdentity() { @@ -15517,7 +15521,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4376]|0; + $1 = HEAP32[4454]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -15538,7 +15542,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4376]|0; + $8 = HEAP32[4454]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15635,15 +15639,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18844)>>2] = $0; + HEAP32[(19156)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18852)>>2] = $1; - HEAP32[(18848)>>2] = 0; - HEAP32[(18856)>>2] = 0; + HEAP32[(19164)>>2] = $1; + HEAP32[(19160)>>2] = 0; + HEAP32[(19168)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18852)>>2]|0; + $2 = HEAP32[(19164)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15654,19 +15658,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4708] = 0; - HEAP32[(18840)>>2] = 0; - HEAP32[(18836)>>2] = 0; + HEAP32[4786] = 0; + HEAP32[(19152)>>2] = 0; + HEAP32[(19148)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18892)>>2] = $5; + HEAP32[(19204)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18900)>>2] = $6; - HEAP32[(18896)>>2] = 0; - HEAP32[(18904)>>2] = 0; + HEAP32[(19212)>>2] = $6; + HEAP32[(19208)>>2] = 0; + HEAP32[(19216)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18900)>>2]|0; + $7 = HEAP32[(19212)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15677,24 +15681,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4720] = 0; - HEAP32[(18888)>>2] = 0; - HEAP32[(18884)>>2] = 0; + HEAP32[4798] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[(19196)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18940)>>2] = $10; + HEAP32[(19252)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18944)>>2] = $11; + HEAP32[(19256)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18948)>>2] = $12; + HEAP32[(19260)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18952)>>2] = $13; - $14 = HEAP32[(18940)>>2]|0; + HEAP32[(19264)>>2] = $13; + $14 = HEAP32[(19252)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18944)>>2]|0; + $15 = HEAP32[(19256)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18948)>>2]|0; + $17 = HEAP32[(19260)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15705,7 +15709,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18952)>>2]|0; + $16 = HEAP32[(19264)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15742,140 +15746,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4732] = 0; - HEAP32[(18932)>>2] = 0; - HEAP32[(18936)>>2] = 0; + HEAP32[4810] = 0; + HEAP32[(19244)>>2] = 0; + HEAP32[(19248)>>2] = 0; _TraceLog(0,6597,$vararg_buffer); - $20 = HEAP32[4410]|0; + $20 = HEAP32[4488]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4411]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18860)); - $44 = HEAP32[4412]|0; - $45 = HEAP32[(18860)>>2]|0; + $43 = HEAP32[4489]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(19172)); + $44 = HEAP32[4490]|0; + $45 = HEAP32[(19172)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18864)|0)); - $46 = HEAP32[(18864)>>2]|0; + _glGenBuffers(2,((19176)|0)); + $46 = HEAP32[(19176)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18844)>>2]|0; + $47 = HEAP32[(19156)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17732)>>2]|0; + $48 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17732)>>2]|0; + $49 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18868)|0)); - $50 = HEAP32[(18868)>>2]|0; + _glGenBuffers(2,((19180)|0)); + $50 = HEAP32[(19180)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18852)>>2]|0; + $51 = HEAP32[(19164)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17752)>>2]|0; + $52 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17752)>>2]|0; + $53 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4410]|0; + $54 = HEAP32[4488]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18864)>>2]|0; - $58 = HEAP32[(18868)>>2]|0; + $57 = HEAP32[(19176)>>2]|0; + $58 = HEAP32[(19180)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6735,$vararg_buffer3); } else { - $56 = HEAP32[(18860)>>2]|0; + $56 = HEAP32[(19172)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6670,$vararg_buffer1); } - $59 = HEAP32[4410]|0; + $59 = HEAP32[4488]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4411]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18908)); - $62 = HEAP32[4412]|0; - $63 = HEAP32[(18908)>>2]|0; + $61 = HEAP32[4489]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(19220)); + $62 = HEAP32[4490]|0; + $63 = HEAP32[(19220)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18912)|0)); - $64 = HEAP32[(18912)>>2]|0; + _glGenBuffers(1,((19224)|0)); + $64 = HEAP32[(19224)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18892)>>2]|0; + $65 = HEAP32[(19204)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17732)>>2]|0; + $66 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17732)>>2]|0; + $67 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18916)|0)); - $68 = HEAP32[(18916)>>2]|0; + _glGenBuffers(1,((19228)|0)); + $68 = HEAP32[(19228)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18900)>>2]|0; + $69 = HEAP32[(19212)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17752)>>2]|0; + $70 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17752)>>2]|0; + $71 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4410]|0; + $72 = HEAP32[4488]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18912)>>2]|0; - $76 = HEAP32[(18916)>>2]|0; + $75 = HEAP32[(19224)>>2]|0; + $76 = HEAP32[(19228)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6881,$vararg_buffer10); } else { - $74 = HEAP32[(18908)>>2]|0; + $74 = HEAP32[(19220)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6812,$vararg_buffer7); } - $77 = HEAP32[4410]|0; + $77 = HEAP32[4488]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4411]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18956)); - $80 = HEAP32[4412]|0; - $81 = HEAP32[(18956)>>2]|0; + $79 = HEAP32[4489]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(19268)); + $80 = HEAP32[4490]|0; + $81 = HEAP32[(19268)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18960)|0)); - $82 = HEAP32[(18960)>>2]|0; + _glGenBuffers(1,((19272)|0)); + $82 = HEAP32[(19272)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18940)>>2]|0; + $83 = HEAP32[(19252)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17732)>>2]|0; + $84 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17732)>>2]|0; + $85 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18964)|0)); - $86 = HEAP32[(18964)>>2]|0; + _glGenBuffers(1,((19276)|0)); + $86 = HEAP32[(19276)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18944)>>2]|0; + $87 = HEAP32[(19256)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17736)>>2]|0; + $88 = HEAP32[(18048)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17736)>>2]|0; + $89 = HEAP32[(18048)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18968)|0)); - $90 = HEAP32[(18968)>>2]|0; + _glGenBuffers(1,((19280)|0)); + $90 = HEAP32[(19280)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18948)>>2]|0; + $91 = HEAP32[(19260)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17752)>>2]|0; + $92 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17752)>>2]|0; + $93 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18972)|0)); - $94 = HEAP32[(18972)>>2]|0; + _glGenBuffers(1,((19284)|0)); + $94 = HEAP32[(19284)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18952)>>2]|0; + $95 = HEAP32[(19264)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4410]|0; + $96 = HEAP32[4488]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18960)>>2]|0; - $100 = HEAP32[(18964)>>2]|0; - $101 = HEAP32[(18968)>>2]|0; - $102 = HEAP32[(18972)>>2]|0; + $99 = HEAP32[(19272)>>2]|0; + $100 = HEAP32[(19276)>>2]|0; + $101 = HEAP32[(19280)>>2]|0; + $102 = HEAP32[(19284)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15885,16 +15889,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7027,$vararg_buffer17); } else { - $98 = HEAP32[(18956)>>2]|0; + $98 = HEAP32[(19268)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6962,$vararg_buffer14); } - $103 = HEAP32[4410]|0; + $103 = HEAP32[4488]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4412]|0; + $105 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16075,9 +16079,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20153 + ($0)|0); + $1 = (20465 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20156 + ($0)|0); + $3 = (20468 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16089,9 +16093,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (20153 + ($0)|0); + $1 = (20465 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20156 + ($0)|0); + $3 = (20468 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16112,7 +16116,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4329]|0; + $0 = HEAP32[4407]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8871,$vararg_buffer); @@ -16123,9 +16127,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[17356>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17356+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17356+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17356+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17356+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17668>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17668+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17668+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17668+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17668+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(17384)>>2]|0; + $0 = HEAP32[(17696)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16136,11 +16140,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17668|0)); - $0 = HEAP32[4417]|0; + _glDeleteTextures(1,(17980|0)); + $0 = HEAP32[4495]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8898,$vararg_buffer); - $1 = HEAP32[4447]|0; + $1 = HEAP32[4525]|0; _free($1); STACKTOP = sp;return; } @@ -16148,17 +16152,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4418]|0; + $0 = HEAP32[4496]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4410]|0; + $0 = HEAP32[4488]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4412]|0; + $2 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16167,39 +16171,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18864)|0)); - _glDeleteBuffers(1,((18868)|0)); - _glDeleteBuffers(1,((18912)|0)); - _glDeleteBuffers(1,((18916)|0)); - _glDeleteBuffers(1,((18960)|0)); - _glDeleteBuffers(1,((18964)|0)); - _glDeleteBuffers(1,((18968)|0)); - _glDeleteBuffers(1,((18972)|0)); - $3 = HEAP32[4410]|0; + _glDeleteBuffers(1,((19176)|0)); + _glDeleteBuffers(1,((19180)|0)); + _glDeleteBuffers(1,((19224)|0)); + _glDeleteBuffers(1,((19228)|0)); + _glDeleteBuffers(1,((19272)|0)); + _glDeleteBuffers(1,((19276)|0)); + _glDeleteBuffers(1,((19280)|0)); + _glDeleteBuffers(1,((19284)|0)); + $3 = HEAP32[4488]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4413]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18860)); - $6 = HEAP32[4413]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18908)); - $7 = HEAP32[4413]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18956)); - } - $8 = HEAP32[(18844)>>2]|0; + $5 = HEAP32[4491]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(19172)); + $6 = HEAP32[4491]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(19220)); + $7 = HEAP32[4491]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(19268)); + } + $8 = HEAP32[(19156)>>2]|0; _free($8); - $9 = HEAP32[(18852)>>2]|0; + $9 = HEAP32[(19164)>>2]|0; _free($9); - $10 = HEAP32[(18892)>>2]|0; + $10 = HEAP32[(19204)>>2]|0; _free($10); - $11 = HEAP32[(18900)>>2]|0; + $11 = HEAP32[(19212)>>2]|0; _free($11); - $12 = HEAP32[(18940)>>2]|0; + $12 = HEAP32[(19252)>>2]|0; _free($12); - $13 = HEAP32[(18944)>>2]|0; + $13 = HEAP32[(19256)>>2]|0; _free($13); - $14 = HEAP32[(18948)>>2]|0; + $14 = HEAP32[(19260)>>2]|0; _free($14); - $15 = HEAP32[(18952)>>2]|0; + $15 = HEAP32[(19264)>>2]|0; _free($15); return; } @@ -16239,16 +16243,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2117] = $0; - $1 = +HEAPF64[2100]; + HEAPF64[2156] = $0; + $1 = +HEAPF64[2139]; $2 = $0 - $1; - HEAPF64[2118] = $2; - HEAPF64[2100] = $0; + HEAPF64[2157] = $2; + HEAPF64[2139] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17412; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17724; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18984); + _rlMultMatrixf(19296); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16257,53 +16261,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4746] = $1; + HEAP32[4824] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18988)>>2] = $3; + HEAP32[(19300)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18992)>>2] = $5; + HEAP32[(19304)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18996)>>2] = $7; + HEAP32[(19308)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19000)>>2] = $9; + HEAP32[(19312)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19004)>>2] = $11; + HEAP32[(19316)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19008)>>2] = $13; + HEAP32[(19320)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19012)>>2] = $15; + HEAP32[(19324)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19016)>>2] = $17; + HEAP32[(19328)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19020)>>2] = $19; + HEAP32[(19332)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19024)>>2] = $21; + HEAP32[(19336)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19028)>>2] = $23; + HEAP32[(19340)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19032)>>2] = $25; + HEAP32[(19344)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19036)>>2] = $27; + HEAP32[(19348)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19040)>>2] = $29; + HEAP32[(19352)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19044)>>2] = $31; - return (18984|0); + HEAP32[(19356)>>2] = $31; + return (19296|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16378,7 +16382,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4376]|0; + $49 = HEAP32[4454]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16392,15 +16396,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2117] = $0; - $1 = +HEAPF64[2100]; + HEAPF64[2156] = $0; + $1 = +HEAPF64[2139]; $2 = $0 - $1; - HEAPF64[2119] = $2; - HEAPF64[2100] = $0; - $3 = +HEAPF64[2118]; + HEAPF64[2158] = $2; + HEAPF64[2139] = $0; + $3 = +HEAPF64[2157]; $4 = $2 + $3; - HEAPF64[2120] = $4; - $5 = +HEAPF64[2097]; + HEAPF64[2159] = $4; + $5 = +HEAPF64[2136]; $6 = $4 < $5; if (!($6)) { return; @@ -16410,13 +16414,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2117] = $10; - $11 = +HEAPF64[2100]; + HEAPF64[2156] = $10; + $11 = +HEAPF64[2139]; $12 = $10 - $11; - HEAPF64[2100] = $10; - $13 = +HEAPF64[2120]; + HEAPF64[2139] = $10; + $13 = +HEAPF64[2159]; $14 = $12 + $13; - HEAPF64[2120] = $14; + HEAPF64[2159] = $14; return; } function _rlglDraw() { @@ -16429,7 +16433,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4329]|0; + $0 = HEAP32[4407]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16445,20 +16449,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[764] = -1; HEAP32[766] = -1; - HEAP32[4762] = 0; - $3 = HEAP32[4329]|0; + HEAP32[4840] = 0; + $3 = HEAP32[4407]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4192] = $5; + HEAPF32[4270] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16772)>>2] = $7; - _memcpy((20671|0),(20159|0),512)|0; - ;HEAP8[20156>>0]=HEAP8[20153>>0]|0;HEAP8[20156+1>>0]=HEAP8[20153+1>>0]|0;HEAP8[20156+2>>0]=HEAP8[20153+2>>0]|0; - $8 = HEAP32[4745]|0; - HEAP32[4332] = $8; - HEAP32[4745] = 0; + HEAPF32[(17084)>>2] = $7; + _memcpy((20983|0),(20471|0),512)|0; + ;HEAP8[20468>>0]=HEAP8[20465>>0]|0;HEAP8[20468+1>>0]=HEAP8[20465+1>>0]|0;HEAP8[20468+2>>0]=HEAP8[20465+2>>0]|0; + $8 = HEAP32[4823]|0; + HEAP32[4410] = $8; + HEAP32[4823] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16468,8 +16472,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (21183 + ($$05160<<5)|0); - $scevgep67 = (21311 + ($$05160<<5)|0); + $scevgep = (21495 + ($$05160<<5)|0); + $scevgep67 = (21623 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16483,7 +16487,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((21311 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21623 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[766] = $$04857; @@ -16510,7 +16514,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19052 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((19364 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16526,7 +16530,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4762] = $$lcssa; + HEAP32[4840] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16567,87 +16571,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4708]|0; + $0 = HEAP32[4786]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4410]|0; + $2 = HEAP32[4488]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4412]|0; - $5 = HEAP32[(18860)>>2]|0; + $4 = HEAP32[4490]|0; + $5 = HEAP32[(19172)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18864)>>2]|0; + $6 = HEAP32[(19176)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4708]|0; + $7 = HEAP32[4786]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18844)>>2]|0; + $9 = HEAP32[(19156)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18868)>>2]|0; + $10 = HEAP32[(19180)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18840)>>2]|0; + $11 = HEAP32[(19152)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18852)>>2]|0; + $13 = HEAP32[(19164)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4720]|0; + $14 = HEAP32[4798]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4410]|0; + $16 = HEAP32[4488]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4412]|0; - $19 = HEAP32[(18908)>>2]|0; + $18 = HEAP32[4490]|0; + $19 = HEAP32[(19220)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18912)>>2]|0; + $20 = HEAP32[(19224)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4720]|0; + $21 = HEAP32[4798]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18892)>>2]|0; + $23 = HEAP32[(19204)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18916)>>2]|0; + $24 = HEAP32[(19228)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18888)>>2]|0; + $25 = HEAP32[(19200)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18900)>>2]|0; + $27 = HEAP32[(19212)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4732]|0; + $28 = HEAP32[4810]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4410]|0; + $30 = HEAP32[4488]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4412]|0; - $33 = HEAP32[(18956)>>2]|0; + $32 = HEAP32[4490]|0; + $33 = HEAP32[(19268)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18960)>>2]|0; + $34 = HEAP32[(19272)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4732]|0; + $35 = HEAP32[4810]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18940)>>2]|0; + $37 = HEAP32[(19252)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18964)>>2]|0; + $38 = HEAP32[(19276)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4732]|0; + $39 = HEAP32[4810]|0; $40 = $39 << 3; - $41 = HEAP32[(18944)>>2]|0; + $41 = HEAP32[(19256)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18968)>>2]|0; + $42 = HEAP32[(19280)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4732]|0; + $43 = HEAP32[4810]|0; $44 = $43 << 2; - $45 = HEAP32[(18948)>>2]|0; + $45 = HEAP32[(19260)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4410]|0; + $46 = HEAP32[4488]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4412]|0; + $48 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16665,9 +16669,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17508; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=17572; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4795]|0; + dest=$0; src=17820; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17884; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4873]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16677,134 +16681,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4708]|0; + $8 = HEAP32[4786]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4720]|0; + $10 = HEAP32[4798]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4732]|0; + $12 = HEAP32[4810]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4432]|0; + $14 = HEAP32[4510]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17572; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=17508; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17884; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17820; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17756)>>2]|0; + $15 = HEAP32[(18068)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17760)>>2]|0; + $17 = HEAP32[(18072)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17772)>>2]|0; + $18 = HEAP32[(18084)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4708]|0; + $19 = HEAP32[4786]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4417]|0; + $21 = HEAP32[4495]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4410]|0; + $22 = HEAP32[4488]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18864)>>2]|0; + $26 = HEAP32[(19176)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17732)>>2]|0; + $27 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17732)>>2]|0; + $28 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18868)>>2]|0; + $29 = HEAP32[(19180)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17752)>>2]|0; + $30 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17752)>>2]|0; + $31 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4412]|0; - $25 = HEAP32[(18860)>>2]|0; + $24 = HEAP32[4490]|0; + $25 = HEAP32[(19172)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4708]|0; + $32 = HEAP32[4786]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4410]|0; + $33 = HEAP32[4488]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4720]|0; + $35 = HEAP32[4798]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4417]|0; + $37 = HEAP32[4495]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4410]|0; + $38 = HEAP32[4488]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18912)>>2]|0; + $42 = HEAP32[(19224)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17732)>>2]|0; + $43 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17732)>>2]|0; + $44 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18916)>>2]|0; + $45 = HEAP32[(19228)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17752)>>2]|0; + $46 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17752)>>2]|0; + $47 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4412]|0; - $41 = HEAP32[(18908)>>2]|0; + $40 = HEAP32[4490]|0; + $41 = HEAP32[(19220)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4720]|0; + $48 = HEAP32[4798]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4410]|0; + $49 = HEAP32[4488]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4732]|0; + $51 = HEAP32[4810]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4410]|0; + $53 = HEAP32[4488]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18960)>>2]|0; + $57 = HEAP32[(19272)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17732)>>2]|0; + $58 = HEAP32[(18044)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17732)>>2]|0; + $59 = HEAP32[(18044)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18964)>>2]|0; + $60 = HEAP32[(19276)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17736)>>2]|0; + $61 = HEAP32[(18048)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17736)>>2]|0; + $62 = HEAP32[(18048)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18968)>>2]|0; + $63 = HEAP32[(19280)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17752)>>2]|0; + $64 = HEAP32[(18064)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17752)>>2]|0; + $65 = HEAP32[(18064)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18972)>>2]|0; + $66 = HEAP32[(19284)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4412]|0; - $56 = HEAP32[(18956)>>2]|0; + $55 = HEAP32[4490]|0; + $56 = HEAP32[(19268)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4448]|0; + $67 = HEAP32[4526]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4447]|0; + $71 = HEAP32[4525]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16815,14 +16819,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4447]|0; + $80 = HEAP32[4525]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4448]|0; + $87 = HEAP32[4526]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16831,7 +16835,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4410]|0; + $69 = HEAP32[4488]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16839,10 +16843,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4410]|0; + $89 = HEAP32[4488]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4412]|0; + $91 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16854,22 +16858,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4448] = 1; - $5 = HEAP32[4417]|0; - $6 = HEAP32[4447]|0; + HEAP32[4526] = 1; + $5 = HEAP32[4495]|0; + $6 = HEAP32[4525]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4708] = 0; - HEAP32[(18840)>>2] = 0; - HEAP32[4720] = 0; - HEAP32[(18888)>>2] = 0; - HEAP32[4732] = 0; - HEAP32[(18932)>>2] = 0; - HEAP32[(18936)>>2] = 0; + HEAP32[4786] = 0; + HEAP32[(19152)>>2] = 0; + HEAP32[4798] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[4810] = 0; + HEAP32[(19244)>>2] = 0; + HEAP32[(19248)>>2] = 0; HEAPF32[767] = -1.0; - dest=17508; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17572; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17820; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17884; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16884,17 +16888,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4706]|0; + $5 = HEAP32[4784]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4707]|0; + $9 = HEAP32[4785]|0; _rlViewport($7,0,$8,$9); - $10 = (19412 + ($0<<6)|0); + $10 = (19724 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (19284 + ($0<<6)|0); + $11 = (19596 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16906,14 +16910,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17572; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17884; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17508; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17820; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -16930,9 +16934,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4331]|0; + $2 = HEAP32[4409]|0; $3 = (+($2|0)); - $4 = HEAP32[4330]|0; + $4 = HEAP32[4408]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16957,7 +16961,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(18984); + _rlMultMatrixf(19296); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16966,26 +16970,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4885]|0; + $0 = HEAP32[4963]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9013,$vararg_buffer); } - $2 = HEAP32[4885]|0; - $3 = (17800 + ($2<<6)|0); - $4 = HEAP32[4376]|0; + $2 = HEAP32[4963]|0; + $3 = (18112 + ($2<<6)|0); + $4 = HEAP32[4454]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4885]|0; + $5 = HEAP32[4963]|0; $6 = (($5) + 1)|0; - HEAP32[4885] = $6; - $7 = HEAP32[4409]|0; + HEAP32[4963] = $6; + $7 = HEAP32[4487]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4886] = 1; + HEAP32[4964] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17004,7 +17008,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4376]|0; + $8 = HEAP32[4454]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17031,18 +17035,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4885]|0; + $0 = HEAP32[4963]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4885]|0; + $2 = HEAP32[4963]|0; $3 = (($2) + -1)|0; - $4 = (17800 + ($3<<6)|0); - $5 = HEAP32[4376]|0; + $4 = (18112 + ($3<<6)|0); + $5 = HEAP32[4454]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4885] = $6; + HEAP32[4963] = $6; return; } function _rlDisableDepthTest() { @@ -17062,7 +17066,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2120]; + $0 = +HEAPF64[2159]; $1 = $0; return (+$1); } @@ -17096,7 +17100,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4376]|0; + $5 = HEAP32[4454]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17129,7 +17133,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4376]|0; + $11 = HEAP32[4454]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17140,7 +17144,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4449] = $0; + HEAP32[4527] = $0; return; } function _rlEnd() { @@ -17156,21 +17160,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4886]|0; + $0 = HEAP32[4964]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4887]|0; + $2 = HEAP32[4965]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4446]|0; + $6 = HEAP32[4524]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4376]|0; + $8 = HEAP32[4454]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4887]|0; + $5 = HEAP32[4965]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17178,12 +17182,12 @@ function _rlEnd() { break; } } - HEAP32[4886] = 0; + HEAP32[4964] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4446]|0; + $11 = HEAP32[4524]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17192,7 +17196,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4887]|0; + $19 = HEAP32[4965]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17202,15 +17206,15 @@ function _rlEnd() { } } } else { - HEAP32[4886] = 0; + HEAP32[4964] = 0; } - HEAP32[4887] = 0; + HEAP32[4965] = 0; } - $21 = HEAP32[4449]|0; + $21 = HEAP32[4527]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4708]|0; - $23 = HEAP32[(18840)>>2]|0; + $22 = HEAP32[4786]|0; + $23 = HEAP32[(19152)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[767]; @@ -17229,16 +17233,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18852)>>2]|0; - $28 = HEAP32[(18840)>>2]|0; + $27 = HEAP32[(19164)>>2]|0; + $28 = HEAP32[(19152)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18852)>>2]|0; - $35 = HEAP32[(18840)>>2]|0; + $34 = HEAP32[(19164)>>2]|0; + $35 = HEAP32[(19152)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17246,8 +17250,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18852)>>2]|0; - $43 = HEAP32[(18840)>>2]|0; + $42 = HEAP32[(19164)>>2]|0; + $43 = HEAP32[(19152)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17255,8 +17259,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18852)>>2]|0; - $51 = HEAP32[(18840)>>2]|0; + $50 = HEAP32[(19164)>>2]|0; + $51 = HEAP32[(19152)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17264,9 +17268,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18840)>>2]|0; + $58 = HEAP32[(19152)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18840)>>2] = $59; + HEAP32[(19152)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17282,8 +17286,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4720]|0; - $62 = HEAP32[(18888)>>2]|0; + $61 = HEAP32[4798]|0; + $62 = HEAP32[(19200)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[767]; @@ -17302,16 +17306,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18900)>>2]|0; - $67 = HEAP32[(18888)>>2]|0; + $66 = HEAP32[(19212)>>2]|0; + $67 = HEAP32[(19200)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18900)>>2]|0; - $74 = HEAP32[(18888)>>2]|0; + $73 = HEAP32[(19212)>>2]|0; + $74 = HEAP32[(19200)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17319,8 +17323,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18900)>>2]|0; - $82 = HEAP32[(18888)>>2]|0; + $81 = HEAP32[(19212)>>2]|0; + $82 = HEAP32[(19200)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17328,8 +17332,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18900)>>2]|0; - $90 = HEAP32[(18888)>>2]|0; + $89 = HEAP32[(19212)>>2]|0; + $90 = HEAP32[(19200)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17337,9 +17341,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18888)>>2]|0; + $97 = HEAP32[(19200)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18888)>>2] = $98; + HEAP32[(19200)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17355,8 +17359,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4732]|0; - $101 = HEAP32[(18936)>>2]|0; + $100 = HEAP32[4810]|0; + $101 = HEAP32[(19248)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17364,16 +17368,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18948)>>2]|0; - $106 = HEAP32[(18936)>>2]|0; + $105 = HEAP32[(19260)>>2]|0; + $106 = HEAP32[(19248)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18948)>>2]|0; - $113 = HEAP32[(18936)>>2]|0; + $112 = HEAP32[(19260)>>2]|0; + $113 = HEAP32[(19248)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17381,8 +17385,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18948)>>2]|0; - $121 = HEAP32[(18936)>>2]|0; + $120 = HEAP32[(19260)>>2]|0; + $121 = HEAP32[(19248)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17390,8 +17394,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18948)>>2]|0; - $129 = HEAP32[(18936)>>2]|0; + $128 = HEAP32[(19260)>>2]|0; + $129 = HEAP32[(19248)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17399,9 +17403,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18936)>>2]|0; + $136 = HEAP32[(19248)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18936)>>2] = $137; + HEAP32[(19248)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17412,8 +17416,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4732]|0; - $140 = HEAP32[(18932)>>2]|0; + $139 = HEAP32[4810]|0; + $140 = HEAP32[(19244)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[767]; @@ -17421,8 +17425,8 @@ function _rlEnd() { HEAPF32[767] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18944)>>2]|0; - $$promoted = HEAP32[(18932)>>2]|0; + $142 = HEAP32[(19256)>>2]|0; + $$promoted = HEAP32[(19244)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17430,7 +17434,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18932)>>2] = $147; + HEAP32[(19244)>>2] = $147; $148 = +HEAPF32[767]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[767] = $149; @@ -17457,11 +17461,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4886]|0; + $3 = HEAP32[4964]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4446]|0; - $6 = HEAP32[4887]|0; + $5 = HEAP32[4524]|0; + $6 = HEAP32[4965]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17469,16 +17473,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4887] = $10; + HEAP32[4965] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4449]|0; + $11 = HEAP32[4527]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4708]|0; + $12 = HEAP32[4786]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18844)>>2]|0; + $14 = HEAP32[(19156)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17489,7 +17493,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4708] = $21; + HEAP32[4786] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9051,$vararg_buffer); @@ -17498,10 +17502,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4720]|0; + $22 = HEAP32[4798]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18892)>>2]|0; + $24 = HEAP32[(19204)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17512,7 +17516,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4720] = $31; + HEAP32[4798] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9076,$vararg_buffer1); @@ -17521,10 +17525,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4732]|0; + $32 = HEAP32[4810]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18940)>>2]|0; + $34 = HEAP32[(19252)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17535,9 +17539,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4732] = $41; - $42 = HEAP32[4447]|0; - $43 = HEAP32[4448]|0; + HEAP32[4810] = $41; + $42 = HEAP32[4525]|0; + $43 = HEAP32[4526]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17580,13 +17584,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4449]|0; + $2 = HEAP32[4527]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18944)>>2]|0; - $5 = HEAP32[(18932)>>2]|0; + $4 = HEAP32[(19256)>>2]|0; + $5 = HEAP32[(19244)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17594,7 +17598,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18932)>>2] = $10; + HEAP32[(19244)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17613,18 +17617,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4449]|0; + $4 = HEAP32[4527]|0; switch ($4|0) { case 1: { - $$sink37 = (18840);$$sink38 = (18852); + $$sink37 = (19152);$$sink38 = (19164); break; } case 4: { - $$sink37 = (18888);$$sink38 = (18900); + $$sink37 = (19200);$$sink38 = (19212); break; } case 7: { - $$sink37 = (18936);$$sink38 = (18948); + $$sink37 = (19248);$$sink38 = (19260); break; } default: { @@ -17678,8 +17682,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4447]|0; - $2 = HEAP32[4448]|0; + $1 = HEAP32[4525]|0; + $2 = HEAP32[4526]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17692,9 +17696,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4448] = $10; + HEAP32[4526] = $10; } - $11 = HEAP32[4448]|0; + $11 = HEAP32[4526]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17705,7 +17709,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4732]|0; + $0 = HEAP32[4810]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17721,14 +17725,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4410]|0; + $2 = HEAP32[4488]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4413]|0; + $5 = HEAP32[4491]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17749,7 +17753,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4410]|0; + $3 = HEAP32[4488]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -17787,12 +17791,12 @@ function _rlglLoadMesh($0,$1) { ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; HEAP32[$2>>2] = 0; ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4410]|0; + $13 = HEAP32[4488]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4411]|0; + $15 = HEAP32[4489]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4412]|0; + $16 = HEAP32[4490]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17922,7 +17926,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4410]|0; + $82 = HEAP32[4488]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9327,$vararg_buffer3); @@ -18027,13 +18031,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=17572; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=17508; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=17884; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$4; src=17820; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=17572; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=17884; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4418]|0; + $65 = HEAP32[4496]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9375|0))|0); @@ -18109,7 +18113,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4410]|0; + $107 = HEAP32[4488]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18189,16 +18193,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(18972)>>2]|0; + $153 = HEAP32[(19284)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4412]|0; + $109 = HEAP32[4490]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[4795]|0; + $154 = HEAP32[4873]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18212,10 +18216,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=17572; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17884; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } - dest=$modelview$byval_copy4; src=17572; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=17508; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy4; src=17884; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=17820; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -18252,14 +18256,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4410]|0; + $172 = HEAP32[4488]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4412]|0; + $174 = HEAP32[4490]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=17508; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17572; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17820; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17884; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18268,14 +18272,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=17508; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17572; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17820; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17884; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=17508; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17572; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17820; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17884; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18355,7 +18359,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4417]|0; + $1 = HEAP32[4495]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18371,7 +18375,7 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=17672; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=17984; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _DrawRectangle($0,$1,$2,$3,$4) { @@ -18589,40 +18593,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9428); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10761)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4888] = $0; + HEAP32[4966] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18686,7 +18661,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9440|0),(9466|0),1125,(9489|0)); + ___assert_fail((9428|0),(9454|0),1041,(9477|0)); // unreachable; } } @@ -18704,7 +18679,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4889]|0; + $15 = HEAP32[4967]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18797,7 +18772,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9530); + _stbi__err(9518); $$0 = 0; return ($$0|0); } else { @@ -18819,7 +18794,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9521); + _stbi__err(9509); $$0 = 0; return ($$0|0); } @@ -18889,7 +18864,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9549); + _stbi__err(9537); $$045 = 0; return ($$045|0); } @@ -19450,7 +19425,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9865 + ($120)|0); + $121 = (9853 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19492,97 +19467,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9639); + _stbi__err(9627); $$6$ph = 0; break; } case 9: { - _stbi__err(9653); + _stbi__err(9641); $$6$ph = 0; break; } case 11: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 13: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 15: { - _stbi__err(9676); + _stbi__err(9664); $$6$ph = 0; break; } case 17: { - _stbi__err(9696); + _stbi__err(9684); $$6$ph = 0; break; } case 20: { - _stbi__err(9696); + _stbi__err(9684); $$6$ph = 0; break; } case 22: { - _stbi__err(9696); + _stbi__err(9684); $$6$ph = 0; break; } case 24: { - _stbi__err(9706); + _stbi__err(9694); $$6$ph = 0; break; } case 26: { - _stbi__err(9722); + _stbi__err(9710); $$6$ph = 0; break; } case 28: { - _stbi__err(9740); + _stbi__err(9728); $$6$ph = 0; break; } case 31: { - _stbi__err(9761); + _stbi__err(9749); $$6$ph = 0; break; } case 34: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 37: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 39: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 41: { - _stbi__err(9790); + _stbi__err(9778); $$6$ph = 0; break; } case 44: { - _stbi__err(9790); + _stbi__err(9778); $$6$ph = 0; break; } case 47: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 49: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } @@ -19593,32 +19568,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9819); + _stbi__err(9807); $$6$ph = 0; break; } case 58: { - _stbi__err(9836); + _stbi__err(9824); $$6$ph = 0; break; } case 61: { - _stbi__err(9849); + _stbi__err(9837); $$6$ph = 0; break; } case 63: { - _stbi__err(9836); + _stbi__err(9824); $$6$ph = 0; break; } case 70: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 72: { - _stbi__err(9874); + _stbi__err(9862); $$6$ph = 0; break; } @@ -19630,12 +19605,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9521); + _stbi__err(9509); $$6$ph = 0; break; } case 83: { - _stbi__err(9882); + _stbi__err(9870); $$6$ph = 0; break; } @@ -19648,7 +19623,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9892); + _stbi__err(9880); $$4 = 0; break; } @@ -19713,7 +19688,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4890]|0; + $193 = HEAP32[4968]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19746,7 +19721,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9775); + _stbi__err(9763); $$4 = 0; } } while(0); @@ -19754,24 +19729,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9775); + _stbi__err(9763); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9900] = $206; + HEAP8[9888] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9901)>>0] = $209; + HEAP8[(9889)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9902)>>0] = $211; + HEAP8[(9890)>>0] = $211; $212 = $207&255; - HEAP8[(9903)>>0] = $212; - _stbi__err(9900); + HEAP8[(9891)>>0] = $212; + _stbi__err(9888); $$6$ph = 0; break; } @@ -19805,14 +19780,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9562|0),(9466|0),1561,(9618|0)); + ___assert_fail((9550|0),(9454|0),1477,(9606|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9521); + _stbi__err(9509); $$0163 = 0; return ($$0163|0); } @@ -20175,7 +20150,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9616|0),(9466|0),1590,(9618|0)); + ___assert_fail((9604|0),(9454|0),1506,(9606|0)); // unreachable; } } while(0); @@ -20209,7 +20184,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9562|0),(9466|0),1610,(9593|0)); + ___assert_fail((9550|0),(9454|0),1526,(9581|0)); // unreachable; } $7 = $2 << 1; @@ -20219,7 +20194,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9521); + _stbi__err(9509); $$0163 = 0; return ($$0163|0); } @@ -20582,7 +20557,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9616|0),(9466|0),1639,(9593|0)); + ___assert_fail((9604|0),(9454|0),1555,(9581|0)); // unreachable; } } while(0); @@ -20730,7 +20705,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10557); + _stbi__err(10865); $$05 = 0; return ($$05|0); } @@ -21167,7 +21142,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9959|0),(9466|0),4568,(10011|0)); + ___assert_fail((9947|0),(9454|0),4569,(9999|0)); // unreachable; } } @@ -21254,7 +21229,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9959|0),(9466|0),4543,(9984|0)); + ___assert_fail((9947|0),(9454|0),4544,(9972|0)); // unreachable; } } @@ -21301,7 +21276,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4891]|0; + $16 = HEAP32[4969]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21376,7 +21351,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9925|0),(9466|0),4649,(9943|0)); + ___assert_fail((9913|0),(9454|0),4650,(9931|0)); // unreachable; } } @@ -21399,7 +21374,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9521); + _stbi__err(9509); $$0 = 0; return ($$0|0); } @@ -21576,7 +21551,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10040|0),(9466|0),4294,(10081|0)); + ___assert_fail((10028|0),(9454|0),4294,(10069|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21584,7 +21559,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9521); + _stbi__err(9509); $$2 = 0; return ($$2|0); } @@ -21603,7 +21578,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10108); + _stbi__err(10096); $$2 = 0; return ($$2|0); } @@ -21616,7 +21591,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10108); + _stbi__err(10096); $$2 = 0; return ($$2|0); } @@ -21624,12 +21599,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21652,33 +21627,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10147 + ($56)|0); + $60 = (10135 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21688,24 +21663,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21715,10 +21690,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21729,10 +21704,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21743,14 +21718,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21780,7 +21755,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21795,12 +21770,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22377,15 +22352,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10126|0),(9466|0),4315,(10081|0)); + ___assert_fail((10114|0),(9454|0),4315,(10069|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10152|0),(9466|0),4376,(10081|0)); + ___assert_fail((10140|0),(9454|0),4377,(10069|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10169); + _stbi__err(10157); $$2 = 0; return ($$2|0); } @@ -22435,7 +22410,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9865 + ($6)|0); + $336 = (9853 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -22876,7 +22851,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10184|0),(9466|0),4465,(10081|0)); + ___assert_fail((10172|0),(9454|0),4466,(10069|0)); // unreachable; } else if ((label|0) == 151) { @@ -22936,8 +22911,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -22952,15 +22927,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -22969,65 +22944,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(21470)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10183,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,21471,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,21439,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10471,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23046,14 +23016,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10510); + _stbi__err(10818); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10526); + _stbi__err(10834); $$0 = 0; return ($$0|0); } @@ -23062,7 +23032,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10541); + _stbi__err(10849); $$0 = 0; return ($$0|0); } @@ -23145,7 +23115,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10432|0),(9466|0),4048,(10449|0)); + ___assert_fail((10740|0),(9454|0),4033,(10757|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23182,7 +23152,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10480); + _stbi__err(10788); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23192,7 +23162,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10493); + _stbi__err(10801); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23222,21 +23192,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((21471|0),8,144)|0; - dest=(21615); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21727); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21751); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=21439; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23370,7 +23325,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10370); + _stbi__err(10678); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23459,7 +23414,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10422); + _stbi__err(10730); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23488,7 +23443,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11216 + ($$06579)|0); + $14 = (11524 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23579,21 +23534,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10386|0),(9466|0),4021,(10394|0)); + ___assert_fail((10694|0),(9454|0),4006,(10702|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23603,7 +23558,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10370); + _stbi__err(10678); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23767,7 +23722,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10195); + _stbi__err(10503); $$3$ph = 0; return ($$3$ph|0); } @@ -23777,12 +23732,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10195); + _stbi__err(10503); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10212); + _stbi__err(10520); $$3$ph = 0; return ($$3$ph|0); } @@ -23839,7 +23794,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10221); + _stbi__err(10529); $$0 = 0; return ($$0|0); } @@ -23865,7 +23820,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9521); + _stbi__err(9509); $$0 = 0; return ($$0|0); } else { @@ -23910,7 +23865,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10317|0),(9466|0),3863,(10354|0)); + ___assert_fail((10625|0),(9454|0),3848,(10662|0)); // unreachable; } else if ((label|0) == 5) { @@ -23958,7 +23913,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10241|0),(9466|0),3891,(10257|0)); + ___assert_fail((10549|0),(9454|0),3876,(10565|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -23986,7 +23941,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10288|0),(9466|0),3781,(10299|0)); + ___assert_fail((10596|0),(9454|0),3766,(10607|0)); // unreachable; } return (0)|0; @@ -24132,10 +24087,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24146,27 +24101,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10569)|0); + $6 = (_IsFileExtension($1,10877)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10622)|0); + $19 = (_IsFileExtension($1,10930)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10627,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10935,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11069)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24194,7 +24150,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24211,18 +24167,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10575,$vararg_buffer); + _TraceLog(2,10883,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24231,34 +24187,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10663,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10702,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10971,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11010,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24277,11 +24240,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10761)|0); + $4 = (_fopen($0,11069)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10764,$vararg_buffer); + _TraceLog(2,11072,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24380,7 +24343,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10861,$vararg_buffer4); + _TraceLog(0,11169,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24415,14 +24378,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10907,$vararg_buffer8); + _TraceLog(2,11215,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10815,$vararg_buffer1); + _TraceLog(2,11123,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24512,7 +24475,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10733,$vararg_buffer); + _TraceLog(2,11041,$vararg_buffer); $$0 = $6; } } @@ -24557,27 +24520,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10957,$vararg_buffer); + _TraceLog(2,11265,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10996,$vararg_buffer1); + _TraceLog(2,11304,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11022,$vararg_buffer3); + _TraceLog(2,11330,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11085,$vararg_buffer5); + _TraceLog(2,11393,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11120,$vararg_buffer7); + _TraceLog(2,11428,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11155,$vararg_buffer10); + _TraceLog(0,11463,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25760,7 +25723,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11212 + ($$361133)|0); + $199 = (11520 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26190,7 +26153,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11212 + ($$331130)|0); + $186 = (11520 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26228,7 +26191,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11212 + ($$371134)|0); + $203 = (11520 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26267,7 +26230,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11216 + ($$421139)|0); + $235 = (11524 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26674,7 +26637,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11235 + ($495)|0); + $496 = (11543 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26711,7 +26674,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11239 + ($515)|0); + $516 = (11547 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27612,7 +27575,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[17356>>2]|0;HEAP32[$0+4>>2]=HEAP32[17356+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17356+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17356+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17356+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17356+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17356+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17356+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17668>>2]|0;HEAP32[$0+4>>2]=HEAP32[17668+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17668+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17668+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17668+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17668+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17668+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17668+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28080,8 +28043,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21759,$0,$1)|0); - STACKTOP = sp;return (21759|0); + (_vsprintf(21751,$0,$1)|0); + STACKTOP = sp;return (21751|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28091,7 +28054,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[4892]|0; + $3 = HEAP32[4970]|0; $4 = HEAP32[928]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28099,14 +28062,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[4893] = $7; + HEAP32[4971] = $7; HEAP32[928] = $7; $$sink = 0; } - HEAP32[4892] = $$sink; - $8 = HEAP32[4893]|0; + HEAP32[4970] = $$sink; + $8 = HEAP32[4971]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11243,$$byval_copy)|0); + (_FormatText(11551,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28115,7 +28078,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(21759,$0,$1,20,$$byval_copy); + _DrawText(21751,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28582,7 +28545,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,11251,$vararg_buffer); + _TraceLog(0,11559,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -28727,7 +28690,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11309)|0); + $12 = (_strstr($11,11617)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -28736,7 +28699,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11313)|0); + $17 = (_strstr($16,11621)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -28745,7 +28708,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11317)|0); + $22 = (_strstr($21,11625)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -28754,7 +28717,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11321)|0); + $27 = (_strstr($26,11629)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -28763,1210 +28726,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11327)|0); + $32 = (_strcmp($31,11635)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11365)|0); + $35 = (_strcmp($34,11673)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11384; + HEAP32[$3>>2] = 11692; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11397)|0); + $38 = (_strcmp($37,11705)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11418; + HEAP32[$3>>2] = 11726; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11433)|0); + $41 = (_strcmp($40,11741)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11448; + HEAP32[$3>>2] = 11756; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11463)|0); + $44 = (_strcmp($43,11771)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11478; + HEAP32[$3>>2] = 11786; } } else { - HEAP32[$3>>2] = 11349; + HEAP32[$3>>2] = 11657; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11493)|0); + $47 = (_strcmp($46,11801)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11507)|0); + $50 = (_strcmp($49,11815)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11519)|0); + $53 = (_strcmp($52,11827)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11533)|0); + $56 = (_strcmp($55,11841)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11545)|0); + $59 = (_strcmp($58,11853)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11559)|0); + $62 = (_strcmp($61,11867)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11573)|0); + $65 = (_strcmp($64,11881)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11590)|0); + $68 = (_strcmp($67,11898)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11613)|0); + $71 = (_strcmp($70,11921)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11639)|0); + $74 = (_strcmp($73,11947)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11652)|0); + $77 = (_strcmp($76,11960)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11668)|0); + $80 = (_strcmp($79,11976)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11681)|0); + $83 = (_strcmp($82,11989)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11695)|0); + $86 = (_strcmp($85,12003)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11715)|0); + $89 = (_strcmp($88,12023)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11735)|0); + $92 = (_strcmp($91,12043)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11752)|0); + $95 = (_strcmp($94,12060)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11769)|0); + $98 = (_strcmp($97,12077)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11781)|0); + $101 = (_strcmp($100,12089)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11794)|0); + $104 = (_strcmp($103,12102)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11810)|0); + $107 = (_strcmp($106,12118)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11833)|0); + $110 = (_strcmp($109,12141)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11846)|0); + $113 = (_strcmp($112,12154)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11862)|0); + $116 = (_strcmp($115,12170)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11873)|0); + $119 = (_strcmp($118,12181)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11892)|0); + $122 = (_strcmp($121,12200)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11914)|0); + $125 = (_strcmp($124,12222)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11933)|0); + $128 = (_strcmp($127,12241)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11962)|0); + $131 = (_strcmp($130,12270)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11979)|0); + $134 = (_strcmp($133,12287)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11994)|0); + $137 = (_strcmp($136,12302)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12009)|0); + $140 = (_strcmp($139,12317)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12030)|0); + $143 = (_strcmp($142,12338)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12050)|0); + $146 = (_strcmp($145,12358)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12070)|0); + $149 = (_strcmp($148,12378)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12096)|0); + $152 = (_strcmp($151,12404)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12115)|0); + $155 = (_strcmp($154,12423)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12127)|0); + $158 = (_strcmp($157,12435)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12139)|0); + $161 = (_strcmp($160,12447)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12151)|0); + $164 = (_strcmp($163,12459)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12163)|0); + $167 = (_strcmp($166,12471)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12175)|0); + $170 = (_strcmp($169,12483)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12187)|0); + $173 = (_strcmp($172,12495)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12199)|0); + $176 = (_strcmp($175,12507)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12211)|0); + $179 = (_strcmp($178,12519)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12224)|0); + $182 = (_strcmp($181,12532)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12237)|0); + $185 = (_strcmp($184,12545)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12250)|0); + $188 = (_strcmp($187,12558)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12263)|0); + $191 = (_strcmp($190,12571)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12276)|0); + $194 = (_strcmp($193,12584)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12289)|0); + $197 = (_strcmp($196,12597)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12302)|0); + $200 = (_strcmp($199,12610)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12315)|0); + $203 = (_strcmp($202,12623)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12334)|0); + $206 = (_strcmp($205,12642)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12353)|0); + $209 = (_strcmp($208,12661)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12372)|0); + $212 = (_strcmp($211,12680)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12385)|0); + $215 = (_strcmp($214,12693)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12403)|0); + $218 = (_strcmp($217,12711)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12421)|0); + $221 = (_strcmp($220,12729)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12439)|0); + $224 = (_strcmp($223,12747)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12457)|0); + $227 = (_strcmp($226,12765)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12477)|0); + $230 = (_strcmp($229,12785)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11418)|0); + $233 = (_strcmp($232,11726)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12495)|0); + $236 = (_strcmp($235,12803)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12510)|0); + $239 = (_strcmp($238,12818)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12531)|0); + $242 = (_strcmp($241,12839)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12546)|0); + $245 = (_strcmp($244,12854)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12564)|0); + $248 = (_strcmp($247,12872)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12580)|0); + $251 = (_strcmp($250,12888)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12599)|0); + $254 = (_strcmp($253,12907)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12613)|0); + $257 = (_strcmp($256,12921)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12628)|0); + $260 = (_strcmp($259,12936)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11349)|0); + $263 = (_strcmp($262,11657)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12639)|0); + $266 = (_strcmp($265,12947)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11448)|0); + $269 = (_strcmp($268,11756)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11478)|0); + $272 = (_strcmp($271,11786)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12655)|0); + $275 = (_strcmp($274,12963)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12682)|0); + $278 = (_strcmp($277,12990)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12696)|0); + $281 = (_strcmp($280,13004)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11384)|0); + $284 = (_strcmp($283,11692)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12716)|0); + $287 = (_strcmp($286,13024)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12734)|0); + $290 = (_strcmp($289,13042)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12746)|0); + $293 = (_strcmp($292,13054)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12767)|0); + $296 = (_strcmp($295,13075)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12785)|0); + $299 = (_strcmp($298,13093)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12803)|0); + $302 = (_strcmp($301,13111)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12824)|0); + $305 = (_strcmp($304,13132)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12850)|0); + $308 = (_strcmp($307,13158)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12873)|0); + $311 = (_strcmp($310,13181)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12911)|0); + $314 = (_strcmp($313,13219)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12927)|0); + $317 = (_strcmp($316,13235)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12942)|0); + $320 = (_strcmp($319,13250)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12965)|0); + $323 = (_strcmp($322,13273)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12978)|0); + $326 = (_strcmp($325,13286)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12992)|0); + $329 = (_strcmp($328,13300)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13006)|0); + $332 = (_strcmp($331,13314)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13026)|0); + $335 = (_strcmp($334,13334)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13046)|0); + $338 = (_strcmp($337,13354)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13062)|0); + $341 = (_strcmp($340,13370)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13080)|0); + $344 = (_strcmp($343,13388)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13096)|0); + $347 = (_strcmp($346,13404)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13111)|0); + $350 = (_strcmp($349,13419)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13133)|0); + $353 = (_strcmp($352,13441)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13151)|0); + $356 = (_strcmp($355,13459)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13172)|0); + $359 = (_strcmp($358,13480)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13190)|0); + $362 = (_strcmp($361,13498)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13203)|0); + $365 = (_strcmp($364,13511)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13218)|0); + $368 = (_strcmp($367,13526)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13232)|0); + $371 = (_strcmp($370,13540)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13242)|0); + $374 = (_strcmp($373,13550)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13252)|0); + $377 = (_strcmp($376,13560)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13274)|0); + $380 = (_strcmp($379,13582)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13300)|0); + $383 = (_strcmp($382,13608)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13327)|0); + $386 = (_strcmp($385,13635)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13340)|0); + $389 = (_strcmp($388,13648)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13355)|0); + $392 = (_strcmp($391,13663)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13370)|0); + $395 = (_strcmp($394,13678)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13394)|0); + $398 = (_strcmp($397,13702)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13405)|0); + $401 = (_strcmp($400,13713)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13427)|0); + $404 = (_strcmp($403,13735)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13449)|0); + $407 = (_strcmp($406,13757)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13473)|0); + $410 = (_strcmp($409,13781)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13482)|0); + $413 = (_strcmp($412,13790)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13490)|0); + $416 = (_strcmp($415,13798)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13503)|0); + $419 = (_strcmp($418,13811)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13517)|0); + $422 = (_strcmp($421,13825)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13529)|0); + $425 = (_strcmp($424,13837)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13538)|0); + $428 = (_strcmp($427,13846)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13548)|0); + $431 = (_strcmp($430,13856)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13560)|0); + $434 = (_strcmp($433,13868)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13571)|0); + $437 = (_strcmp($436,13879)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13579)|0); + $440 = (_strcmp($439,13887)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13591)|0); + $443 = (_strcmp($442,13899)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13606)|0); + $446 = (_strcmp($445,13914)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13618)|0); + $449 = (_strcmp($448,13926)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13632)|0); + $452 = (_strcmp($451,13940)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13657)|0); + $455 = (_strcmp($454,13965)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13674)|0); + $458 = (_strcmp($457,13982)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13690)|0); + $461 = (_strcmp($460,13998)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13706)|0); + $464 = (_strcmp($463,14014)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13718)|0); + $467 = (_strcmp($466,14026)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13730)|0); + $470 = (_strcmp($469,14038)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13754)|0); + $473 = (_strcmp($472,14062)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13767)|0); + $476 = (_strcmp($475,14075)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13781)|0); + $479 = (_strcmp($478,14089)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13803)|0); + $482 = (_strcmp($481,14111)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13810)|0); + $485 = (_strcmp($484,14118)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13826)|0); + $488 = (_strcmp($487,14134)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13843)|0); + $491 = (_strcmp($490,14151)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13860)|0); + $494 = (_strcmp($493,14168)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13876)|0); + $497 = (_strcmp($496,14184)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13892)|0); + $500 = (_strcmp($499,14200)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13909)|0); + $503 = (_strcmp($502,14217)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13923)|0); + $506 = (_strcmp($505,14231)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13935)|0); + $509 = (_strcmp($508,14243)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13946)|0); + $512 = (_strcmp($511,14254)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13959)|0); + $515 = (_strcmp($514,14267)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13969)|0); + $518 = (_strcmp($517,14277)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13986)|0); + $521 = (_strcmp($520,14294)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13998)|0); + $524 = (_strcmp($523,14306)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14020)|0); + $527 = (_strcmp($526,14328)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14040)|0); + $530 = (_strcmp($529,14348)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14053)|0); + $533 = (_strcmp($532,14361)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14075)|0); + $536 = (_strcmp($535,14383)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14095)|0); + $539 = (_strcmp($538,14403)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14112)|0); + $542 = (_strcmp($541,14420)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14129)|0); + $545 = (_strcmp($544,14437)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14149)|0); + $548 = (_strcmp($547,14457)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -29988,7 +29951,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19576|0); + return (19888|0); } function ___stdio_close($0) { $0 = $0|0; @@ -30921,7 +30884,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14265 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14573 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -31099,7 +31062,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14729;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 15037;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -31120,7 +31083,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14729;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 15037;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -31128,8 +31091,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14729 : (14731); - $$$ = $238 ? $$ : (14730); + $$ = $240 ? 15037 : (15039); + $$$ = $238 ? $$ : (15038); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -31146,7 +31109,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14729;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 15037;$242 = $167;$243 = $170; label = 66; break; } @@ -31159,7 +31122,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14729;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 15037;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -31173,7 +31136,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14739; + $271 = $270 ? $269 : 15047; $$1 = $271; label = 71; break; @@ -31213,7 +31176,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14729;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 15037;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -31235,8 +31198,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14729 + ($208)|0); - $$289 = $or$cond283 ? 14729 : $209; + $209 = (15037 + ($208)|0); + $$289 = $or$cond283 ? 15037 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -31257,7 +31220,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14729;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 15037;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -31787,7 +31750,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14781 + ($7)|0); + $9 = (15089 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -32145,14 +32108,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14746; + $$0471 = $14;$$0520 = 1;$$0521 = 15054; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14747) : (14752); - $$$ = $16 ? $$ : (14749); + $$ = $18 ? (15055) : (15060); + $$$ = $16 ? $$ : (15057); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -32251,7 +32214,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14781 + ($80)|0); + $81 = (15089 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -32862,7 +32825,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14797,1); + _out($0,15105,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -32943,7 +32906,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14797,1); + _out($0,15105,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -33000,9 +32963,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14765 : 14769; + $29 = $28 ? 15073 : 15077; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14773 : 14777; + $31 = $28 ? 15081 : 15085; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -33212,7 +33175,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14799 + ($$016)|0); + $3 = (15107 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -33223,7 +33186,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14887;$$115 = 87; + $$01214 = 15195;$$115 = 87; label = 5; break; } else { @@ -33233,9 +33196,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14887; + $$012$lcssa = 15195; } else { - $$01214 = 14887;$$115 = $$016; + $$01214 = 15195;$$115 = $$016; label = 5; } } @@ -33918,7 +33881,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16691,$3,4)|0); + $memchr = (_memchr(16999,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -34007,7 +33970,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16691,$4,4)|0); + $memchr = (_memchr(16999,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -34098,7 +34061,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19580)>>2]|0; + $38 = HEAP32[(19892)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -34131,13 +34094,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19640|0)); - return (19648|0); + ___lock((19952|0)); + return (19960|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19640|0)); + ___unlock((19952|0)); return; } function _fclose($0) { @@ -35201,7 +35164,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16968; + $2 = 17280; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -35418,7 +35381,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4913]|0; + $3 = HEAP32[4991]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -35437,22 +35400,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4913] = 0; + HEAP32[4991] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4913] = $10; + HEAP32[4991] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4913] = 0; + HEAP32[4991] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4913] = $13; + HEAP32[4991] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -35533,7 +35496,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4914]|0; + $8 = HEAP32[4992]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -35542,7 +35505,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19696 + ($15<<2)|0); + $16 = (20008 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -35553,9 +35516,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4914] = $24; + HEAP32[4992] = $24; } else { - $25 = HEAP32[(19672)>>2]|0; + $25 = HEAP32[(19984)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -35586,7 +35549,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19664)>>2]|0; + $37 = HEAP32[(19976)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -35620,7 +35583,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19696 + ($68<<2)|0); + $69 = (20008 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -35631,10 +35594,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4914] = $77; + HEAP32[4992] = $77; $98 = $77; } else { - $78 = HEAP32[(19672)>>2]|0; + $78 = HEAP32[(19984)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -35667,22 +35630,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19676)>>2]|0; + $92 = HEAP32[(19988)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19696 + ($94<<2)|0); + $95 = (20008 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4914] = $100; + HEAP32[4992] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19672)>>2]|0; + $103 = HEAP32[(19984)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -35699,12 +35662,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19664)>>2] = $84; - HEAP32[(19676)>>2] = $87; + HEAP32[(19976)>>2] = $84; + HEAP32[(19988)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19660)>>2]|0; + $108 = HEAP32[(19972)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -35732,7 +35695,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19960 + ($132<<2)|0); + $133 = (20272 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -35772,7 +35735,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19672)>>2]|0; + $155 = HEAP32[(19984)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -35867,7 +35830,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19960 + ($188<<2)|0); + $189 = (20272 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -35878,11 +35841,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19660)>>2] = $194; + HEAP32[(19972)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19672)>>2]|0; + $195 = HEAP32[(19984)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -35903,7 +35866,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19672)>>2]|0; + $201 = HEAP32[(19984)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -35933,7 +35896,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19672)>>2]|0; + $213 = HEAP32[(19984)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -35970,22 +35933,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19676)>>2]|0; + $231 = HEAP32[(19988)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19696 + ($233<<2)|0); + $234 = (20008 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4914] = $238; + HEAP32[4992] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19672)>>2]|0; + $241 = HEAP32[(19984)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -36002,8 +35965,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19664)>>2] = $$0193$lcssa$i; - HEAP32[(19676)>>2] = $157; + HEAP32[(19976)>>2] = $$0193$lcssa$i; + HEAP32[(19988)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -36019,7 +35982,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19660)>>2]|0; + $250 = HEAP32[(19972)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -36059,7 +36022,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19960 + ($$0358$i<<2)|0); + $278 = (20272 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -36151,7 +36114,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19960 + ($330<<2)|0); + $331 = (20272 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -36195,11 +36158,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19664)>>2]|0; + $345 = HEAP32[(19976)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19672)>>2]|0; + $348 = HEAP32[(19984)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -36296,7 +36259,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19960 + ($381<<2)|0); + $382 = (20272 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -36307,12 +36270,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19660)>>2] = $387; + HEAP32[(19972)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19672)>>2]|0; + $388 = HEAP32[(19984)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -36334,7 +36297,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19672)>>2]|0; + $394 = HEAP32[(19984)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -36366,7 +36329,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19672)>>2]|0; + $406 = HEAP32[(19984)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -36407,20 +36370,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19696 + ($425<<2)|0); - $427 = HEAP32[4914]|0; + $426 = (20008 + ($425<<2)|0); + $427 = HEAP32[4992]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4914] = $431; + HEAP32[4992] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19672)>>2]|0; + $434 = HEAP32[(19984)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -36472,7 +36435,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19960 + ($$0361$i<<2)|0); + $464 = (20272 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -36484,7 +36447,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19660)>>2] = $472; + HEAP32[(19972)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -36523,7 +36486,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19672)>>2]|0; + $491 = HEAP32[(19984)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -36542,7 +36505,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19672)>>2]|0; + $498 = HEAP32[(19984)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -36575,16 +36538,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19664)>>2]|0; + $506 = HEAP32[(19976)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19676)>>2]|0; + $509 = HEAP32[(19988)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19676)>>2] = $511; - HEAP32[(19664)>>2] = $508; + HEAP32[(19988)>>2] = $511; + HEAP32[(19976)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -36594,8 +36557,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19664)>>2] = 0; - HEAP32[(19676)>>2] = 0; + HEAP32[(19976)>>2] = 0; + HEAP32[(19988)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -36609,14 +36572,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19668)>>2]|0; + $524 = HEAP32[(19980)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19668)>>2] = $526; - $527 = HEAP32[(19680)>>2]|0; + HEAP32[(19980)>>2] = $526; + $527 = HEAP32[(19992)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19680)>>2] = $528; + HEAP32[(19992)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -36627,23 +36590,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5032]|0; + $534 = HEAP32[5110]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(20136)>>2] = 4096; - HEAP32[(20132)>>2] = 4096; - HEAP32[(20140)>>2] = -1; - HEAP32[(20144)>>2] = -1; - HEAP32[(20148)>>2] = 0; - HEAP32[(20100)>>2] = 0; + HEAP32[(20448)>>2] = 4096; + HEAP32[(20444)>>2] = 4096; + HEAP32[(20452)>>2] = -1; + HEAP32[(20456)>>2] = -1; + HEAP32[(20460)>>2] = 0; + HEAP32[(20412)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5032] = $538; + HEAP32[5110] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(20136)>>2]|0; + $$pre$i212 = HEAP32[(20448)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -36656,10 +36619,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(20096)>>2]|0; + $546 = HEAP32[(20408)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(20088)>>2]|0; + $548 = HEAP32[(20400)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -36669,18 +36632,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(20100)>>2]|0; + $552 = HEAP32[(20412)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19680)>>2]|0; + $555 = HEAP32[(19992)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (20104); + $$0$i$i = (20416); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -36738,7 +36701,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(20132)>>2]|0; + $569 = HEAP32[(20444)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -36748,13 +36711,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(20088)>>2]|0; + $578 = HEAP32[(20400)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(20096)>>2]|0; + $582 = HEAP32[(20408)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -36800,7 +36763,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(20136)>>2]|0; + $601 = HEAP32[(20448)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -36825,9 +36788,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(20100)>>2]|0; + $611 = HEAP32[(20412)>>2]|0; $612 = $611 | 4; - HEAP32[(20100)>>2] = $612; + HEAP32[(20412)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -36863,35 +36826,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(20088)>>2]|0; + $626 = HEAP32[(20400)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(20088)>>2] = $627; - $628 = HEAP32[(20092)>>2]|0; + HEAP32[(20400)>>2] = $627; + $628 = HEAP32[(20404)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(20092)>>2] = $627; + HEAP32[(20404)>>2] = $627; } - $630 = HEAP32[(19680)>>2]|0; + $630 = HEAP32[(19992)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19672)>>2]|0; + $632 = HEAP32[(19984)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19672)>>2] = $$749$i; - } - HEAP32[(20104)>>2] = $$749$i; - HEAP32[(20108)>>2] = $$723948$i; - HEAP32[(20116)>>2] = 0; - $635 = HEAP32[5032]|0; - HEAP32[(19692)>>2] = $635; - HEAP32[(19688)>>2] = -1; + HEAP32[(19984)>>2] = $$749$i; + } + HEAP32[(20416)>>2] = $$749$i; + HEAP32[(20420)>>2] = $$723948$i; + HEAP32[(20428)>>2] = 0; + $635 = HEAP32[5110]|0; + HEAP32[(20004)>>2] = $635; + HEAP32[(20000)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19696 + ($636<<2)|0); + $637 = (20008 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -36914,18 +36877,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19680)>>2] = $649; - HEAP32[(19668)>>2] = $650; + HEAP32[(19992)>>2] = $649; + HEAP32[(19980)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(20144)>>2]|0; - HEAP32[(19684)>>2] = $655; + $655 = HEAP32[(20456)>>2]|0; + HEAP32[(19996)>>2] = $655; } else { - $$024371$i = (20104); + $$024371$i = (20416); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -36957,7 +36920,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19668)>>2]|0; + $671 = HEAP32[(19980)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -36968,30 +36931,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19680)>>2] = $679; - HEAP32[(19668)>>2] = $681; + HEAP32[(19992)>>2] = $679; + HEAP32[(19980)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(20144)>>2]|0; - HEAP32[(19684)>>2] = $686; + $686 = HEAP32[(20456)>>2]|0; + HEAP32[(19996)>>2] = $686; break; } } } - $687 = HEAP32[(19672)>>2]|0; + $687 = HEAP32[(19984)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19672)>>2] = $$749$i; + HEAP32[(19984)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (20104); + $$124470$i = (20416); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -37046,21 +37009,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19668)>>2]|0; + $726 = HEAP32[(19980)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19668)>>2] = $727; - HEAP32[(19680)>>2] = $721; + HEAP32[(19980)>>2] = $727; + HEAP32[(19992)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19676)>>2]|0; + $730 = HEAP32[(19988)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19664)>>2]|0; + $732 = HEAP32[(19976)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19664)>>2] = $733; - HEAP32[(19676)>>2] = $721; + HEAP32[(19976)>>2] = $733; + HEAP32[(19988)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -37083,7 +37046,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19696 + ($748<<2)|0); + $749 = (20008 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -37106,9 +37069,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4914]|0; + $759 = HEAP32[4992]|0; $760 = $759 & $758; - HEAP32[4914] = $760; + HEAP32[4992] = $760; break; } $761 = ($747|0)==($749|0); @@ -37221,7 +37184,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19960 + ($796<<2)|0); + $797 = (20272 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -37233,12 +37196,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19660)>>2]|0; + $802 = HEAP32[(19972)>>2]|0; $803 = $802 & $801; - HEAP32[(19660)>>2] = $803; + HEAP32[(19972)>>2] = $803; break L314; } else { - $804 = HEAP32[(19672)>>2]|0; + $804 = HEAP32[(19984)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -37259,7 +37222,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19672)>>2]|0; + $810 = HEAP32[(19984)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -37291,7 +37254,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19672)>>2]|0; + $822 = HEAP32[(19984)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -37324,21 +37287,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19696 + ($836<<2)|0); - $838 = HEAP32[4914]|0; + $837 = (20008 + ($836<<2)|0); + $838 = HEAP32[4992]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4914] = $842; + HEAP32[4992] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19672)>>2]|0; + $845 = HEAP32[(19984)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -37393,20 +37356,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19960 + ($$0296$i$i<<2)|0); + $875 = (20272 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19660)>>2]|0; + $879 = HEAP32[(19972)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19660)>>2] = $883; + HEAP32[(19972)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -37445,7 +37408,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19672)>>2]|0; + $902 = HEAP32[(19984)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -37464,7 +37427,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19672)>>2]|0; + $909 = HEAP32[(19984)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -37491,7 +37454,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (20104); + $$0$i$i$i = (20416); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -37532,23 +37495,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19680)>>2] = $946; - HEAP32[(19668)>>2] = $947; + HEAP32[(19992)>>2] = $946; + HEAP32[(19980)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(20144)>>2]|0; - HEAP32[(19684)>>2] = $952; + $952 = HEAP32[(20456)>>2]|0; + HEAP32[(19996)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(20104)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20104)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20104)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20104)+12>>2]|0; - HEAP32[(20104)>>2] = $$749$i; - HEAP32[(20108)>>2] = $$723948$i; - HEAP32[(20116)>>2] = 0; - HEAP32[(20112)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(20416)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(20416)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(20416)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(20416)+12>>2]|0; + HEAP32[(20416)>>2] = $$749$i; + HEAP32[(20420)>>2] = $$723948$i; + HEAP32[(20428)>>2] = 0; + HEAP32[(20424)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -37577,20 +37540,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19696 + ($968<<2)|0); - $970 = HEAP32[4914]|0; + $969 = (20008 + ($968<<2)|0); + $970 = HEAP32[4992]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4914] = $974; + HEAP32[4992] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19672)>>2]|0; + $977 = HEAP32[(19984)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -37642,19 +37605,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19960 + ($$0212$i$i<<2)|0); + $1007 = (20272 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19660)>>2]|0; + $1010 = HEAP32[(19972)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19660)>>2] = $1014; + HEAP32[(19972)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -37693,7 +37656,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19672)>>2]|0; + $1033 = HEAP32[(19984)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -37712,7 +37675,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19672)>>2]|0; + $1040 = HEAP32[(19984)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -37735,14 +37698,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19668)>>2]|0; + $1048 = HEAP32[(19980)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19668)>>2] = $1050; - $1051 = HEAP32[(19680)>>2]|0; + HEAP32[(19980)>>2] = $1050; + $1051 = HEAP32[(19992)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19680)>>2] = $1052; + HEAP32[(19992)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -37785,7 +37748,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19672)>>2]|0; + $3 = HEAP32[(19984)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -37818,7 +37781,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19676)>>2]|0; + $19 = HEAP32[(19988)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -37833,7 +37796,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19664)>>2] = $17; + HEAP32[(19976)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -37847,7 +37810,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19696 + ($27<<2)|0); + $28 = (20008 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -37867,9 +37830,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4914]|0; + $37 = HEAP32[4992]|0; $38 = $37 & $36; - HEAP32[4914] = $38; + HEAP32[4992] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -37983,7 +37946,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19960 + ($74<<2)|0); + $75 = (20272 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -37993,14 +37956,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19660)>>2]|0; + $80 = HEAP32[(19972)>>2]|0; $81 = $80 & $79; - HEAP32[(19660)>>2] = $81; + HEAP32[(19972)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19672)>>2]|0; + $82 = HEAP32[(19984)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -38022,7 +37985,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19672)>>2]|0; + $88 = HEAP32[(19984)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -38054,7 +38017,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19672)>>2]|0; + $100 = HEAP32[(19984)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -38089,14 +38052,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19680)>>2]|0; + $120 = HEAP32[(19992)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19676)>>2]|0; + $122 = HEAP32[(19988)>>2]|0; if ($121) { - $123 = HEAP32[(19668)>>2]|0; + $123 = HEAP32[(19980)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19668)>>2] = $124; - HEAP32[(19680)>>2] = $$1; + HEAP32[(19980)>>2] = $124; + HEAP32[(19992)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -38104,16 +38067,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19676)>>2] = 0; - HEAP32[(19664)>>2] = 0; + HEAP32[(19988)>>2] = 0; + HEAP32[(19976)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19664)>>2]|0; + $129 = HEAP32[(19976)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19664)>>2] = $130; - HEAP32[(19676)>>2] = $113; + HEAP32[(19976)>>2] = $130; + HEAP32[(19988)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -38132,10 +38095,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19696 + ($142<<2)|0); + $143 = (20008 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19672)>>2]|0; + $145 = HEAP32[(19984)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -38153,9 +38116,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4914]|0; + $153 = HEAP32[4992]|0; $154 = $153 & $152; - HEAP32[4914] = $154; + HEAP32[4992] = $154; break; } $155 = ($141|0)==($143|0); @@ -38163,7 +38126,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19672)>>2]|0; + $156 = HEAP32[(19984)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -38223,7 +38186,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19672)>>2]|0; + $189 = HEAP32[(19984)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -38236,7 +38199,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19672)>>2]|0; + $169 = HEAP32[(19984)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -38267,7 +38230,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19960 + ($193<<2)|0); + $194 = (20272 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -38277,13 +38240,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19660)>>2]|0; + $199 = HEAP32[(19972)>>2]|0; $200 = $199 & $198; - HEAP32[(19660)>>2] = $200; + HEAP32[(19972)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19672)>>2]|0; + $201 = HEAP32[(19984)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -38304,7 +38267,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19672)>>2]|0; + $207 = HEAP32[(19984)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -38334,7 +38297,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19672)>>2]|0; + $219 = HEAP32[(19984)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -38355,10 +38318,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19676)>>2]|0; + $226 = HEAP32[(19988)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19664)>>2] = $135; + HEAP32[(19976)>>2] = $135; return; } else { $$2 = $135; @@ -38377,20 +38340,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19696 + ($234<<2)|0); - $236 = HEAP32[4914]|0; + $235 = (20008 + ($234<<2)|0); + $236 = HEAP32[4992]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4914] = $240; + HEAP32[4992] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19672)>>2]|0; + $243 = HEAP32[(19984)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -38442,21 +38405,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19960 + ($$0396<<2)|0); + $273 = (20272 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19660)>>2]|0; + $277 = HEAP32[(19972)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19660)>>2] = $281; + HEAP32[(19972)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -38494,7 +38457,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19672)>>2]|0; + $300 = HEAP32[(19984)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -38513,7 +38476,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19672)>>2]|0; + $307 = HEAP32[(19984)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -38535,12 +38498,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19688)>>2]|0; + $314 = HEAP32[(20000)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19688)>>2] = $315; + HEAP32[(20000)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (20112); + $$0212$in$i = (20424); } else { return; } @@ -38554,7 +38517,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19688)>>2] = -1; + HEAP32[(20000)>>2] = -1; return; } function _realloc($0,$1) { @@ -38626,7 +38589,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19672)>>2]|0; + $6 = HEAP32[(19984)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -38656,7 +38619,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(20136)>>2]|0; + $18 = HEAP32[(20448)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -38692,10 +38655,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19680)>>2]|0; + $34 = HEAP32[(19992)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19668)>>2]|0; + $36 = HEAP32[(19980)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -38711,15 +38674,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19680)>>2] = $40; - HEAP32[(19668)>>2] = $39; + HEAP32[(19992)>>2] = $40; + HEAP32[(19980)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19676)>>2]|0; + $46 = HEAP32[(19988)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19664)>>2]|0; + $48 = HEAP32[(19976)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -38755,8 +38718,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19664)>>2] = $storemerge1; - HEAP32[(19676)>>2] = $storemerge; + HEAP32[(19976)>>2] = $storemerge1; + HEAP32[(19988)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -38783,7 +38746,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19696 + ($81<<2)|0); + $82 = (20008 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -38803,9 +38766,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4914]|0; + $91 = HEAP32[4992]|0; $92 = $91 & $90; - HEAP32[4914] = $92; + HEAP32[4992] = $92; break; } $93 = ($80|0)==($82|0); @@ -38914,7 +38877,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19960 + ($128<<2)|0); + $129 = (20272 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -38924,13 +38887,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19660)>>2]|0; + $134 = HEAP32[(19972)>>2]|0; $135 = $134 & $133; - HEAP32[(19660)>>2] = $135; + HEAP32[(19972)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19672)>>2]|0; + $136 = HEAP32[(19984)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -38951,7 +38914,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19672)>>2]|0; + $142 = HEAP32[(19984)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -38981,7 +38944,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19672)>>2]|0; + $154 = HEAP32[(19984)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -39066,13 +39029,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19672)>>2]|0; + $13 = HEAP32[(19984)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19676)>>2]|0; + $15 = HEAP32[(19988)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -39087,7 +39050,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19664)>>2] = $12; + HEAP32[(19976)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -39101,7 +39064,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19696 + ($23<<2)|0); + $24 = (20008 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -39121,9 +39084,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4914]|0; + $33 = HEAP32[4992]|0; $34 = $33 & $32; - HEAP32[4914] = $34; + HEAP32[4992] = $34; $$1 = $11;$$1418 = $12; break; } @@ -39237,7 +39200,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19960 + ($70<<2)|0); + $71 = (20272 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -39247,14 +39210,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19660)>>2]|0; + $76 = HEAP32[(19972)>>2]|0; $77 = $76 & $75; - HEAP32[(19660)>>2] = $77; + HEAP32[(19972)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19672)>>2]|0; + $78 = HEAP32[(19984)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -39276,7 +39239,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19672)>>2]|0; + $84 = HEAP32[(19984)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -39308,7 +39271,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19672)>>2]|0; + $96 = HEAP32[(19984)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -39327,7 +39290,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19672)>>2]|0; + $108 = HEAP32[(19984)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -39338,14 +39301,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19680)>>2]|0; + $114 = HEAP32[(19992)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19676)>>2]|0; + $116 = HEAP32[(19988)>>2]|0; if ($115) { - $117 = HEAP32[(19668)>>2]|0; + $117 = HEAP32[(19980)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19668)>>2] = $118; - HEAP32[(19680)>>2] = $$1; + HEAP32[(19980)>>2] = $118; + HEAP32[(19992)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -39353,16 +39316,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19676)>>2] = 0; - HEAP32[(19664)>>2] = 0; + HEAP32[(19988)>>2] = 0; + HEAP32[(19976)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19664)>>2]|0; + $123 = HEAP32[(19976)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19664)>>2] = $124; - HEAP32[(19676)>>2] = $$1; + HEAP32[(19976)>>2] = $124; + HEAP32[(19988)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -39381,7 +39344,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19696 + ($136<<2)|0); + $137 = (20008 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -39401,9 +39364,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4914]|0; + $146 = HEAP32[4992]|0; $147 = $146 & $145; - HEAP32[4914] = $147; + HEAP32[4992] = $147; break; } $148 = ($135|0)==($137|0); @@ -39512,7 +39475,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19960 + ($183<<2)|0); + $184 = (20272 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -39522,13 +39485,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19660)>>2]|0; + $189 = HEAP32[(19972)>>2]|0; $190 = $189 & $188; - HEAP32[(19660)>>2] = $190; + HEAP32[(19972)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19672)>>2]|0; + $191 = HEAP32[(19984)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -39549,7 +39512,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19672)>>2]|0; + $197 = HEAP32[(19984)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -39579,7 +39542,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19672)>>2]|0; + $209 = HEAP32[(19984)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -39600,10 +39563,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19676)>>2]|0; + $216 = HEAP32[(19988)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19664)>>2] = $129; + HEAP32[(19976)>>2] = $129; return; } else { $$2 = $129; @@ -39622,20 +39585,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19696 + ($224<<2)|0); - $226 = HEAP32[4914]|0; + $225 = (20008 + ($224<<2)|0); + $226 = HEAP32[4992]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4914] = $230; + HEAP32[4992] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19672)>>2]|0; + $233 = HEAP32[(19984)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -39687,20 +39650,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19960 + ($$0431<<2)|0); + $263 = (20272 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19660)>>2]|0; + $267 = HEAP32[(19972)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19660)>>2] = $271; + HEAP32[(19972)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -39739,7 +39702,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19672)>>2]|0; + $290 = HEAP32[(19984)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -39757,7 +39720,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19672)>>2]|0; + $297 = HEAP32[(19984)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/models/models_mesh_picking.c b/docs/examples/web/models/models_mesh_picking.c new file mode 100644 index 00000000..332fa20c --- /dev/null +++ b/docs/examples/web/models/models_mesh_picking.c @@ -0,0 +1,238 @@ +/******************************************************************************************* +* +* raylib [models] example - Mesh picking in 3d mode, ground plane, triangle, mesh +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* Example contributed by Joel Davis (@joeld42) +* +********************************************************************************************/ + +#include "raylib.h" +#include "raymath.h" + +#define FLT_MAX 3.40282347E+38F // Maximum value of a float, defined in + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +const int screenWidth = 800; +const int screenHeight = 450; + +Camera camera; + +Vector3 cubePosition = { 0.0f, 1.0f, 0.0f }; +Vector3 cubeSize = { 2.0f, 2.0f, 2.0f }; + +Ray ray; // Picking line ray + +Model tower; +Texture2D texture; + +Vector3 towerPos = { 0.0f, 0.0f, 0.0f }; +BoundingBox towerBBox; +bool hitMeshBBox = false; +bool hitTriangle = false; + +// Test triangle +Vector3 ta = (Vector3){ -25.0, 0.5, 0.0 }; +Vector3 tb = (Vector3){ -4.0, 2.5, 1.0 }; +Vector3 tc = (Vector3){ -8.0, 6.5, 0.0 }; + +Vector3 bary = { 0.0f, 0.0f, 0.0f }; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d mesh picking"); + + // Define the camera to look into our 3d world + camera.position = (Vector3){ 10.0f, 8.0f, 10.0f }; // Camera position + camera.target = (Vector3){ 0.0f, 2.3f, 0.0f }; // Camera looking at point + camera.up = (Vector3){ 0.0f, 1.6f, 0.0f }; // Camera up vector (rotation towards target) + camera.fovy = 45.0f; // Camera field-of-view Y + + tower = LoadModel("resources/tower.obj"); // Load OBJ model + texture = LoadTexture("resources/tower.png"); // Load model texture + tower.material.texDiffuse = texture; // Set model diffuse texture + + towerBBox = CalculateBoundingBox(tower.mesh); + + SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode + + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadModel(tower); // Unload model from GPU + UnloadTexture(texture); // Unload texture from GPU + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + UpdateCamera(&camera); // Update camera + + // Display information about closest hit + RayHitInfo nearestHit; + char *hitObjectName = "None"; + nearestHit.distance = FLT_MAX; + nearestHit.hit = false; + Color cursorColor = WHITE; + + // Get ray and test against ground, triangle, and mesh + ray = GetMouseRay(GetMousePosition(), camera); + + // Check ray collision aginst ground plane + RayHitInfo groundHitInfo = GetCollisionRayGround(ray, 0.0f); + + if ((groundHitInfo.hit) && (groundHitInfo.distance < nearestHit.distance)) + { + nearestHit = groundHitInfo; + cursorColor = GREEN; + hitObjectName = "Ground"; + } + + // Check ray collision against test triangle + RayHitInfo triHitInfo = GetCollisionRayTriangle(ray, ta, tb, tc); + + if ((triHitInfo.hit) && (triHitInfo.distance < nearestHit.distance)) + { + nearestHit = triHitInfo; + cursorColor = PURPLE; + hitObjectName = "Triangle"; + + bary = VectorBarycenter(nearestHit.hitPosition, ta, tb, tc); + hitTriangle = true; + } + else hitTriangle = false; + + RayHitInfo meshHitInfo; + + // Check ray collision against bounding box first, before trying the full ray-mesh test + if (CheckCollisionRayBox(ray, towerBBox)) + { + hitMeshBBox = true; + + // Check ray collision against mesh + meshHitInfo = GetCollisionRayMesh(ray, &tower.mesh); + + if ((meshHitInfo.hit) && (meshHitInfo.distance < nearestHit.distance)) + { + nearestHit = meshHitInfo; + cursorColor = ORANGE; + hitObjectName = "Mesh"; + } + + } hitMeshBBox = false; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + Begin3dMode(camera); + + // Draw the tower + DrawModel(tower, towerPos, 1.0, WHITE); + + // Draw the test triangle + DrawLine3D(ta, tb, PURPLE); + DrawLine3D(tb, tc, PURPLE); + DrawLine3D(tc, ta, PURPLE); + + // Draw the mesh bbox if we hit it + if (hitMeshBBox) DrawBoundingBox(towerBBox, LIME); + + // If we hit something, draw the cursor at the hit point + if (nearestHit.hit) + { + DrawCube(nearestHit.hitPosition, 0.5, 0.5, 0.5, cursorColor); + DrawCubeWires(nearestHit.hitPosition, 0.5, 0.5, 0.5, YELLOW); + + Vector3 normalEnd; + normalEnd.x = nearestHit.hitPosition.x + nearestHit.hitNormal.x; + normalEnd.y = nearestHit.hitPosition.y + nearestHit.hitNormal.y; + normalEnd.z = nearestHit.hitPosition.z + nearestHit.hitNormal.z; + + DrawLine3D(nearestHit.hitPosition, normalEnd, YELLOW); + } + + DrawRay(ray, MAROON); + + DrawGrid(100, 1.0f); + + End3dMode(); + + // Draw some debug GUI text + DrawText(FormatText("Hit Object: %s", hitObjectName), 10, 50, 10, BLACK); + + if (nearestHit.hit) + { + int ypos = 70; + + DrawText(FormatText("Distance: %3.2f", nearestHit.distance), 10, ypos, 10, BLACK); + + DrawText(FormatText("Hit Pos: %3.2f %3.2f %3.2f", + nearestHit.hitPosition.x, + nearestHit.hitPosition.y, + nearestHit.hitPosition.z), 10, ypos + 15, 10, BLACK); + + DrawText(FormatText("Hit Norm: %3.2f %3.2f %3.2f", + nearestHit.hitNormal.x, + nearestHit.hitNormal.y, + nearestHit.hitNormal.z), 10, ypos + 30, 10, BLACK); + + if (hitTriangle) DrawText(FormatText("Barycenter: %3.2f %3.2f %3.2f", bary.x, bary.y, bary.z), 10, ypos + 45, 10, BLACK); + } + + DrawText("Use Mouse to Move Camera", 10, 430, 10, GRAY); + + DrawFPS(10, 10); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/docs/examples/web/models/models_mesh_picking.data b/docs/examples/web/models/models_mesh_picking.data new file mode 100644 index 00000000..3e8be3b6 --- /dev/null +++ b/docs/examples/web/models/models_mesh_picking.data @@ -0,0 +1,554 @@ +# Blender v2.78 (sub 0) OBJ File: 'lowpoly-tower.blend' +# www.blender.org +o Grid +v -4.000000 0.000000 4.000000 +v -2.327363 0.000000 4.654725 +v 0.000000 0.000000 4.654725 +v 2.327363 0.000000 4.654725 +v 4.000000 0.000000 4.000000 +v -4.654725 0.955085 2.327363 +v -2.000000 0.815050 2.000000 +v 0.000000 0.476341 2.423448 +v 2.000000 0.476341 2.000000 +v 4.654725 0.000000 2.327363 +v -4.654725 1.649076 0.000000 +v -2.423448 1.092402 0.000000 +v 2.423448 0.198579 0.000000 +v 4.654725 0.000000 0.000000 +v -4.654725 1.649076 -2.327363 +v -2.000000 1.092402 -2.000000 +v 0.000000 0.476341 -2.423448 +v 2.000000 -0.012791 -2.000000 +v 4.654725 0.000000 -2.612731 +v -4.000000 0.955085 -4.000000 +v -2.327363 0.955085 -4.654725 +v 0.000000 0.955085 -4.654725 +v 2.327363 0.000000 -4.654725 +v 4.000000 0.000000 -4.000000 +v 2.423448 0.682825 0.000000 +v 2.000000 0.565423 -2.000000 +v -4.654725 -0.020560 2.327363 +v -4.654725 0.000000 0.000000 +v -4.654725 0.000000 -2.327363 +v -4.000000 0.000000 -4.000000 +v -2.327363 0.000000 -4.654725 +v 0.000000 -0.020560 -4.654725 +v 0.000000 0.709880 -1.230535 +v -0.000000 7.395413 0.000000 +v 0.962071 0.709880 -0.767226 +v -0.533909 0.709880 1.108674 +v -1.199683 0.709880 0.273820 +v -0.962071 0.709880 -0.767226 +v 1.506076 0.859071 1.325337 +v 1.199683 0.709880 0.273820 +v 0.533909 0.709880 1.108674 +v 0.000000 1.875340 -1.177842 +v -0.000000 2.293973 -0.649884 +v -0.000000 4.365648 -0.627970 +v 0.000000 6.167194 -0.942957 +v 0.000000 6.232434 -1.708677 +v 1.335898 6.232434 -1.065343 +v 0.737233 6.167195 -0.587924 +v 0.490966 4.365648 -0.391533 +v 0.508100 2.293973 -0.405196 +v 0.920874 1.875340 -0.734372 +v -0.741367 6.232434 1.539465 +v -0.409133 6.167195 0.849574 +v -0.272466 4.365648 0.565781 +v -0.281974 2.293973 0.585526 +v -0.511047 1.875340 1.061199 +v -1.665837 6.232434 0.380217 +v -0.919314 6.167195 0.209828 +v -0.612225 4.365648 0.139736 +v -0.633590 2.293973 0.144613 +v -1.148311 1.875340 0.262095 +v -1.335898 6.232434 -1.065343 +v -0.737233 6.167195 -0.587924 +v -0.490967 4.365648 -0.391533 +v -0.508100 2.293973 -0.405196 +v -0.920874 1.875340 -0.734372 +v 1.665837 6.232434 0.380216 +v 0.919315 6.167195 0.209828 +v 0.612225 4.365648 0.139736 +v 0.633590 2.293973 0.144613 +v 1.148311 1.875340 0.262095 +v 0.741367 6.232434 1.539465 +v 0.409133 6.167195 0.849575 +v 0.272466 4.365648 0.565781 +v 0.281974 2.293973 0.585526 +v 0.511046 1.875340 1.061199 +v 0.000000 5.012550 -0.969733 +v 0.758168 5.012550 -0.604618 +v -0.420751 5.012550 0.873699 +v -0.945419 5.012550 0.215786 +v -0.758168 5.012550 -0.604618 +v 0.945419 5.012550 0.215786 +v 0.420751 5.012550 0.873699 +vt 0.0523 0.5444 +vt 0.1817 0.4284 +vt 0.1641 0.5859 +vt 0.0177 0.4451 +vt 0.1526 0.3090 +vt 0.0189 0.1737 +vt 0.0188 0.3088 +vt 0.0561 0.0762 +vt 0.1757 0.1924 +vt 0.3024 0.4534 +vt 0.3071 0.5902 +vt 0.3413 0.2459 +vt 0.2906 0.1614 +vt 0.4116 0.1801 +vt 0.2834 0.3774 +vt 0.1526 0.0362 +vt 0.2917 0.1622 +vt 0.4446 0.5865 +vt 0.4443 0.2989 +vt 0.3711 0.3021 +vt 0.4396 0.0275 +vt 0.4094 0.1829 +vt 0.4219 0.4255 +vt 0.5474 0.5381 +vt 0.5811 0.4376 +vt 0.5715 0.1505 +vt 0.5811 0.2997 +vt 0.5272 0.0533 +vt 0.2208 0.2194 +vt 0.3456 0.3610 +vt 0.2878 0.0321 +vt 0.2321 0.3392 +vt 0.4432 0.0177 +vt 0.7347 0.7934 +vt 0.7382 0.7595 +vt 0.8982 0.7768 +vt 0.6169 0.7595 +vt 0.6139 0.7879 +vt 0.4951 0.7634 +vt 0.1551 0.6832 +vt 0.2925 0.6268 +vt 0.2925 0.6832 +vt 0.7795 0.6832 +vt 0.6421 0.6268 +vt 0.7795 0.6255 +vt 0.5046 0.7241 +vt 0.6421 0.7241 +vt 0.3986 0.6268 +vt 0.3986 0.6832 +vt 0.5046 0.6268 +vt 0.0177 0.6268 +vt 0.1551 0.6255 +vt 0.8856 0.6268 +vt 0.1899 0.9579 +vt 0.1194 0.8696 +vt 0.2324 0.8696 +vt 0.1899 0.7813 +vt 0.0943 0.7595 +vt 0.0177 0.8206 +vt 0.0177 0.9186 +vt 0.0943 0.9797 +vt 0.2793 0.2349 +vt 0.2304 0.2758 +vt 0.6597 0.0177 +vt 0.6954 0.0993 +vt 0.6367 0.0768 +vt 0.7558 0.0777 +vt 0.7238 0.0440 +vt 0.8840 0.1330 +vt 0.7385 0.1141 +vt 0.9157 0.0886 +vt 0.9781 0.1232 +vt 0.9224 0.1276 +vt 0.2677 0.8141 +vt 0.3463 0.8037 +vt 0.3086 0.8339 +vt 0.6387 0.3550 +vt 0.7130 0.3801 +vt 0.6596 0.4053 +vt 0.7245 0.3245 +vt 0.6919 0.3383 +vt 0.8655 0.3566 +vt 0.7351 0.3577 +vt 0.9770 0.3365 +vt 0.9078 0.3751 +vt 0.9174 0.3282 +vt 0.2677 0.9018 +vt 0.3086 0.8821 +vt 0.6803 0.2948 +vt 0.6251 0.3035 +vt 0.7194 0.2854 +vt 0.8764 0.2832 +vt 0.9221 0.2861 +vt 0.3363 0.9565 +vt 0.3464 0.9122 +vt 0.6751 0.2482 +vt 0.6178 0.2499 +vt 0.7179 0.2431 +vt 0.9823 0.2484 +vt 0.9247 0.2452 +vt 0.3935 0.9014 +vt 0.6755 0.1996 +vt 0.6164 0.1941 +vt 0.7201 0.1992 +vt 0.8793 0.2446 +vt 0.9823 0.2060 +vt 0.9257 0.2051 +vt 0.4598 0.8580 +vt 0.4144 0.8579 +vt 0.6819 0.1498 +vt 0.6222 0.1361 +vt 0.7266 0.1555 +vt 0.8831 0.1684 +vt 0.9252 0.1659 +vt 0.4218 0.7790 +vt 0.3934 0.8145 +vt 0.3363 0.7595 +vt 0.8815 0.2060 +vt 0.8720 0.3208 +vt 0.8825 0.1012 +vt 0.9735 0.0816 +vt 0.9718 0.3817 +vt 0.9807 0.2918 +vt 0.4218 0.9370 +vt 0.9810 0.1644 +vn 0.1035 0.8806 0.4623 +vn 0.0964 0.9481 0.3030 +vn 0.0000 0.9780 0.2088 +vn 0.0659 0.9835 0.1683 +vn 0.2325 0.9320 0.2779 +vn 0.0553 0.9960 -0.0702 +vn 0.2827 0.9564 0.0728 +vn 0.1873 0.9776 -0.0961 +vn 0.2421 0.9703 0.0000 +vn 0.0921 0.9772 -0.1913 +vn -0.0277 0.9947 -0.0993 +vn 0.2308 0.9274 -0.2944 +vn 0.2771 0.9572 -0.0837 +vn 0.3724 0.9074 0.1947 +vn 0.0777 0.9770 -0.1985 +vn -0.1094 0.9539 0.2794 +vn 0.0364 0.9844 0.1721 +vn 0.1683 0.9835 0.0659 +vn 0.0674 0.9901 0.1230 +vn 0.4338 0.8823 0.1829 +vn 0.2845 0.9565 0.0649 +vn 0.0886 0.9961 0.0000 +vn 0.2000 0.9789 0.0424 +vn 0.1417 0.9830 0.1171 +vn 0.3021 0.9524 0.0412 +vn -0.0193 0.9986 -0.0493 +vn 0.0000 0.9777 0.2098 +vn 0.0005 0.9781 -0.2083 +vn 0.1879 0.9782 -0.0887 +vn 0.2249 0.0000 0.9744 +vn 0.9783 0.0000 -0.2071 +vn 0.9783 0.0000 0.2071 +vn 0.0000 0.0000 -1.0000 +vn -1.0000 0.0000 0.0000 +vn -0.3645 0.0000 -0.9312 +vn -0.9312 0.0000 -0.3645 +vn -0.9312 0.0000 0.3645 +vn 0.2615 0.7979 -0.5431 +vn 0.5877 0.7979 -0.1341 +vn 0.4713 0.7979 0.3758 +vn -0.0000 0.7979 0.6028 +vn -0.4713 0.7979 0.3758 +vn -0.5877 0.7979 -0.1341 +vn -0.2615 0.7979 -0.5431 +vn -0.1285 0.9864 -0.1025 +vn 0.0929 0.8937 0.4389 +vn -0.4335 0.0407 -0.9002 +vn -0.2867 0.7507 -0.5952 +vn -0.4339 0.0095 -0.9009 +vn -0.4338 0.0209 -0.9008 +vn -0.0408 -0.9956 -0.0848 +vn -0.9741 0.0407 -0.2223 +vn -0.6441 0.7507 -0.1470 +vn -0.9749 0.0095 -0.2225 +vn -0.9747 0.0209 -0.2225 +vn -0.0918 -0.9956 -0.0209 +vn -0.7812 0.0407 0.6230 +vn -0.5165 0.7507 0.4119 +vn -0.7818 0.0095 0.6235 +vn -0.7817 0.0209 0.6234 +vn -0.0736 -0.9956 0.0587 +vn -0.0000 0.0407 0.9992 +vn 0.0000 0.7507 0.6607 +vn 0.0000 0.0095 1.0000 +vn -0.0000 0.0209 0.9998 +vn -0.0000 -0.9956 0.0941 +vn 0.7812 0.0407 0.6230 +vn 0.5165 0.7507 0.4119 +vn 0.7818 0.0095 0.6235 +vn 0.7817 0.0209 0.6234 +vn 0.0736 -0.9956 0.0587 +vn 0.9741 0.0407 -0.2223 +vn 0.6441 0.7507 -0.1470 +vn 0.9749 0.0095 -0.2225 +vn 0.9747 0.0209 -0.2225 +vn 0.0918 -0.9956 -0.0209 +vn 0.4335 0.0407 -0.9002 +vn 0.2867 0.7507 -0.5952 +vn 0.4339 0.0095 -0.9009 +vn 0.4338 0.0209 -0.9008 +vn 0.0408 -0.9956 -0.0848 +vn 0.3918 -0.4298 -0.8135 +vn 0.8803 -0.4298 -0.2009 +vn 0.7059 -0.4298 0.5630 +vn -0.0000 -0.4298 0.9029 +vn -0.7059 -0.4298 0.5630 +vn -0.8803 -0.4298 -0.2009 +vn -0.3918 -0.4298 -0.8135 +vn 0.0210 0.9998 -0.0048 +vn 0.0482 0.9981 -0.0385 +vn -0.0166 0.9914 -0.1301 +vn -0.0090 0.9904 -0.1379 +vn 0.2820 0.9576 0.0597 +vn -0.0000 0.9846 0.1749 +vn -0.0921 0.9772 -0.1913 +vn -0.1734 0.9794 0.1036 +s off +f 1/1/1 7/2/1 6/3/1 +f 2/4/2 8/5/2 7/2/2 +f 4/6/3 8/5/3 3/7/3 +f 5/8/4 9/9/4 4/6/4 +f 6/3/5 12/10/5 11/11/5 +f 35/12/6 25/13/6 26/14/6 +f 7/2/7 37/15/7 12/10/7 +f 10/16/8 13/17/8 9/9/8 +f 12/10/9 15/18/9 11/11/9 +f 35/12/10 17/19/10 33/20/10 +f 13/17/11 19/21/11 18/22/11 +f 16/23/12 20/24/12 15/18/12 +f 17/19/13 21/25/13 16/23/13 +f 17/19/14 23/26/14 22/27/14 +f 26/14/15 24/28/15 23/26/15 +f 1/1/16 2/4/16 7/2/16 +f 2/4/3 3/7/3 8/5/3 +f 4/6/17 9/9/17 8/5/17 +f 5/8/18 10/16/18 9/9/18 +f 6/3/19 7/2/19 12/10/19 +f 25/13/20 39/29/20 9/9/20 +f 38/30/21 12/10/21 37/15/21 +f 10/16/22 14/31/22 13/17/22 +f 12/10/23 16/23/23 15/18/23 +f 8/5/24 36/32/24 7/2/24 +f 38/30/25 17/19/25 16/23/25 +f 13/17/22 14/31/22 19/21/22 +f 16/23/26 21/25/26 20/24/26 +f 17/19/27 22/27/27 21/25/27 +f 17/19/28 26/14/28 23/26/28 +f 26/14/29 19/33/29 24/28/29 +f 26/34/30 18/35/30 19/36/30 +f 26/34/31 13/37/31 18/35/31 +f 25/38/32 9/39/32 13/37/32 +f 22/40/33 31/41/33 21/42/33 +f 6/43/34 28/44/34 27/45/34 +f 15/46/34 28/44/34 11/47/34 +f 21/42/35 30/48/35 20/49/35 +f 20/49/36 29/50/36 15/46/36 +f 22/40/33 23/51/33 32/52/33 +f 6/43/37 27/45/37 1/53/37 +f 46/54/38 34/55/38 47/56/38 +f 47/56/39 34/55/39 67/57/39 +f 67/57/40 34/55/40 72/58/40 +f 72/58/41 34/55/41 52/59/41 +f 52/59/42 34/55/42 57/60/42 +f 57/60/43 34/55/43 62/61/43 +f 62/61/44 34/55/44 46/54/44 +f 40/62/45 41/63/45 39/29/45 +f 39/29/46 8/5/46 9/9/46 +f 38/64/47 42/65/47 33/66/47 +f 65/67/48 42/65/48 66/68/48 +f 65/67/49 44/69/49 43/70/49 +f 81/71/50 45/72/50 77/73/50 +f 62/74/51 45/75/51 63/76/51 +f 37/77/52 66/78/52 38/79/52 +f 60/80/53 66/78/53 61/81/53 +f 60/80/54 64/82/54 65/83/54 +f 58/84/55 81/85/55 80/86/55 +f 57/87/56 63/76/56 58/88/56 +f 56/89/57 37/77/57 36/90/57 +f 55/91/58 61/81/58 56/89/58 +f 54/92/59 60/80/59 55/91/59 +f 79/93/60 58/84/60 80/86/60 +f 52/94/61 58/88/61 53/95/61 +f 76/96/62 36/90/62 41/97/62 +f 75/98/63 56/89/63 76/96/63 +f 75/98/64 54/92/64 55/91/64 +f 73/99/65 79/93/65 83/100/65 +f 73/101/66 52/94/66 53/95/66 +f 71/102/67 41/97/67 40/103/67 +f 70/104/68 76/96/68 71/102/68 +f 70/104/69 74/105/69 75/98/69 +f 68/106/70 83/100/70 82/107/70 +f 67/108/71 73/101/71 68/109/71 +f 51/110/72 40/103/72 35/111/72 +f 50/112/73 71/102/73 51/110/73 +f 49/113/74 70/104/74 50/112/74 +f 78/114/75 68/106/75 82/107/75 +f 47/115/76 68/109/76 48/116/76 +f 42/65/77 35/111/77 33/66/77 +f 43/70/78 51/110/78 42/65/78 +f 44/69/79 50/112/79 43/70/79 +f 45/72/80 78/114/80 77/73/80 +f 46/117/81 48/116/81 45/75/81 +f 44/69/82 78/114/82 49/113/82 +f 49/113/83 82/107/83 69/118/83 +f 82/107/84 74/105/84 69/118/84 +f 83/100/85 54/92/85 74/105/85 +f 79/93/86 59/119/86 54/92/86 +f 80/86/87 64/82/87 59/119/87 +f 64/120/88 77/73/88 44/69/88 +f 35/12/89 40/62/89 25/13/89 +f 7/2/90 36/32/90 37/15/90 +f 35/12/91 26/14/91 17/19/91 +f 25/13/92 40/62/92 39/29/92 +f 38/30/93 16/23/93 12/10/93 +f 8/5/94 41/63/94 36/32/94 +f 38/30/95 33/20/95 17/19/95 +f 26/34/31 25/38/31 13/37/31 +f 22/40/33 32/52/33 31/41/33 +f 6/43/34 11/47/34 28/44/34 +f 15/46/34 29/50/34 28/44/34 +f 21/42/35 31/41/35 30/48/35 +f 20/49/36 30/48/36 29/50/36 +f 39/29/96 41/63/96 8/5/96 +f 38/64/47 66/68/47 42/65/47 +f 65/67/48 43/70/48 42/65/48 +f 65/67/49 64/120/49 44/69/49 +f 81/71/50 63/121/50 45/72/50 +f 62/74/51 46/117/51 45/75/51 +f 37/77/52 61/81/52 66/78/52 +f 60/80/53 65/83/53 66/78/53 +f 60/80/54 59/119/54 64/82/54 +f 58/84/55 63/122/55 81/85/55 +f 57/87/56 62/74/56 63/76/56 +f 56/89/57 61/81/57 37/77/57 +f 55/91/58 60/80/58 61/81/58 +f 54/92/59 59/119/59 60/80/59 +f 79/93/60 53/123/60 58/84/60 +f 52/94/61 57/87/61 58/88/61 +f 76/96/62 56/89/62 36/90/62 +f 75/98/63 55/91/63 56/89/63 +f 75/98/64 74/105/64 54/92/64 +f 73/99/65 53/123/65 79/93/65 +f 73/101/66 72/124/66 52/94/66 +f 71/102/67 76/96/67 41/97/67 +f 70/104/68 75/98/68 76/96/68 +f 70/104/69 69/118/69 74/105/69 +f 68/106/70 73/99/70 83/100/70 +f 67/108/71 72/124/71 73/101/71 +f 51/110/72 71/102/72 40/103/72 +f 50/112/73 70/104/73 71/102/73 +f 49/113/74 69/118/74 70/104/74 +f 78/114/75 48/125/75 68/106/75 +f 47/115/76 67/108/76 68/109/76 +f 42/65/77 51/110/77 35/111/77 +f 43/70/78 50/112/78 51/110/78 +f 44/69/79 49/113/79 50/112/79 +f 45/72/80 48/125/80 78/114/80 +f 46/117/81 47/115/81 48/116/81 +f 44/69/82 77/73/82 78/114/82 +f 49/113/83 78/114/83 82/107/83 +f 82/107/84 83/100/84 74/105/84 +f 83/100/85 79/93/85 54/92/85 +f 79/93/86 80/86/86 59/119/86 +f 80/86/87 81/85/87 64/82/87 +f 64/120/88 81/71/88 77/73/88 +PNG + + IHDR>agAMA a cHRMz&u0`:pQ<bKGDC pHYs  ~`IDATxw|]$Iq/^L %FBMo JB˓'lBǸH!Fcܭ.IV[f~3lLy~;ms\P(R@K@!BH`-ܱ:@ +aC 5\*/B4?g}9 o$0"\;\ss/?`~A c"$.?Sot:Ʊ)3.\}=3tB\E8i9}+;l!FMR`R$*$#߃d"|<"HF E%}L?{O}5~ͱR"k#A@2As4 +;B~sq9ړ+Ou4#[y<O.z?W?7Kq{#=hBHZH\MfzM)Osopl{o4H1߹M{gϑڷԾEZ>GH IYrC* "c&.MPX扅yro'< RwY3$##Dj%d*%[JY?u6!Ǣȇp!* ;AEҶy!߃T"Ɵ|+c4$w,SZa w)_"@¾5e= ++ hN9^}!Hgϫ*xAgJZBjEFw!׷—E)#z# [$BxG0‰KNAqR]]$ @mM 9zw~`'Õ[,-v!đOyt D^"R62餁AQ$9;,^\`ٲe\~_xGO,h_H~IoOJ.|s'D]@~-YK C]Jey=W/J^+>Gl+=@sS#WLKK O,|[EE T}H?D2Lہ Nہ5>d :@r" :{U +DZm'|18؎²mP`;mJA&DJR!rL WQ^ġ#LOST7+tu 4l cѴM)&q=_KBk\AلMY>fm&ݺ9O-zCO܀=Bi1(EہG|ZQZ_A.G~:b#oaE>{4H$ޣGw|jZc g𝳧qSr18b L{D{?&@}"_!.H kWm4{ӐRdps} ̌ PY]$ ll.{Lk99{ +ZS̅gO$N .;y'JEi>{ߢmۉ5 7q767xf݆O$A2TJ19@#}h*멬9IѳV$3Kї.l1m6T388NKU%.Ge!_7Iý +.++$1s&uI#z 3غvNAiUs +)D^Yd@yXFqW0Yt)4H 8QPqm>p.UW @l}xOD,D]7#C 4| ڎGpJ e[IJ@J0S@}'bR]sd1! M^_M}o$RR$,Á1Q {.C/?磈r~P]]} FQ%Wl>[Hx*A^\PwG$a1 @Ѻo9Bap9]KCҫW/E"Hb#e d͚ ߰͛}1#B'(0Sdӏ>PouCB{=s;]^QSwy֔/sJ镬(gYG }Np!xW2[`{ ;+;1w0O\lOoT*XE$IW޿}OJ + $7'j!\y2Ӻ +)Y*ֽ'ahPJ`׎ "C!__"p-NgXS$]M1yW)h 9a-۸GqXuضEe8J]8Qdǻ,EckNS[$ ڵ8Nj0iS2 *}!t "2CDxs'>x];~O9,[eѺ]AZ}뾋RJ#$#lbewqRKNbԷS;8Nc]8Bʄm!{iP5f<gˆLF5{  Z"Դwz!אCs t32tY۶PF~G"X{lBjV|OY|+LbG9ѣGJcS3y0 #U4-`D6խ@OBU{Qqڢʡ-ض،ލh4J8`kj>5IB>/HC~W֊L">XAMA + (,ZHЃet.3L ̫L СCﷵb6 45:@,#B" פp.E4ױMu{PIǧrr@$ +!8t4K_tU@)8 -q8ph=euG^jt}}^Gm457D"jj|Xb1,+m8v(|e6X'DDc +HO s0pxFg-E:B"GTu@ku9,:t(5444RZR#BL&NOVvߓAzF"~/eGc1kkIMQ) R|Ht8,xȇA(//Ʋb8eYGT#4W(.=޳;YYdfӧo3?=W~ǟ$vXPI)q[pX8 $#@|}0#=7 55UTaAzinnÆ&BfC_G +#mAVϞ 8ݻLKS m"4 L0Np#H۳ץP'8pf8釂#!PXPD}CH;i0x !#'+CEID!#+ +_t:wq9](*Đ e4JQx#"KeVWOGi C~MC}uH@YY9ha$é~{Q%𩧟#ΕvOC&뫬!J +ዮ"q_ rsՕ>!DiBغ,$ގPH9q!C!t#x p("Z??j}<oG|tdHFnu_9Ȭp(N8@W,7y8 yn"s_E~U:ܳdJo:"#>%OXgHw<82 +u!P +Gz;8xv|睉{1r4 ;(pc9kDS=WnN+%dq`̞uwuџ{k6& ힱR?ԇ+Jgz/HA19L 0ͭ<(%N*(aW.(ǽeDV]u7yL +rt ȊvN8s_<ʭD s~ţk׮ZDBFFfg+̃#ʓG|88V5R=vR/=wHv5EEܣ<&soTWW&t;wFرcu}G.5R}_ 'uݡ=gy;.#YH_G ǞRq;ܤH)8cxG< ?gtos?90 HÕWw'/{Aon'=:pc)24 } ,6n\OmnSJ$̞2,/g]n3&SŚ1"Q8̘ۨ/?))3Rӱ٣G"uK2{8oc\ p%8@<~~[]":e* -~6rӹmj+ӎaۑ~}@2sQ,\`z|tW'Wpowĥ{ @ZwpeEJ4KVʡ (]\ٵ{pKԸmu?!?n9Z6l1SuW,_X?)pٓ'NgG]\O2/$ +ش~R̽lpo{ʇ =h."E83n;wo>~Ht5}VwM%=Fٺ'ѠAٵakBU;fx!Qbv|Rb#+C~ +m0nDxڱ)D0eTbk֔>شq#.8e[[[+M{uhLr7fV_8M{cMئ9fU eGEo~ʅcq +)++E9"TVUZ(P1S'hQyvH'Ţv"2O!yLOGdOy)SqՐ ,{3Br2])0Cw^:~Coc;ʶlރqƎ])^ca-hX{%(/+ӫkPYQR~ M +Z5q~]G~%}ΐeY6"DO(>`c2|9wx.Z_snql-͖]X6.Uǎa]Zv;fOրx YIXʔ{;J6禜r<68n\ѻW]5-rzF55RVcVnw'"}s]}5b1C>=S#[ykff73O<|WbGc} $-XJma/ιU5/%zoE:(= Ue# m[|Zq)Q)صgكP\aɚRmBma%emi'Q +'n>€(mδeQ}Z6(Ft|/n%%SH}m.qһW/MNN4|WxW8sO9'ˊT[[ͪ/TsBѹcm2 Ź +ho=w~%ıef$ &f(F]q&< e$аƷoIj}+9θ[5wbwq c#m pQlݾ Jd臷^mr?* *cvXUa(bc@A^ 8߲IlinǶlb:g,iz;*ɜ6;+&lw `ׁRB)p(x)(*94$a00 3'4+HbGpRwH7B: +tRxpc^bϯo'{D?+9o  (x oWp=B8 +*5yIf6b) sygbl*P8n>m@0{wx>~p)5K$88ʲzwlG?doru?gġUHH +>HAQaRhCa1RfowzN|`b?pŹ#vq-'GF,;Fޚzgm5H)R`[im[>YCpE0} +M-aEc ܅ j + A+js&xjz \:ܱS+88H~'Kmhi"+$cF.kjOhz|v$ItICb>Gk~2Z!xMykv'ld](f0-9e4y[ +7v<8 jya΍XveJj Y^+er +r8EsNj qg3eV4Һb!-LWxPW_9/PUUkNJB&o8_##4ڎ-YW jomd< }bPƏ߼m0!76[mEMu._eܹ!}/;Hmq10 I֘R$ݲqlVzdA]uϨ%N[hԎnؘ^ Ѳ;W@EȹCp:D@DŽ8q8[>2Ci2ٸqG:e*「`q"@vL: #Roi/w?waS2Bj( &r(޳Ǐe81ݺIR~:NZO^rMKO{ PSS?^W1Cf3h Co  +ѽ[f0/cؖvGyVrX,F{{{Vrl;.ˈ4Pf88vӽ6nHΨ@{Tz b<}uO"-̻b}y|ן]Dz,X\WG'.t e+?4-m|ח|?o>e;7k-:|#+Y=!++bZ_PPQO_O^#vw^z:ѕV=O0pb/xȷq)ϔ xWǮ߈Ktnn'0yd6oL)BS[O"oMcǍc68r([<Ӕ=F\;d8m^> ;v >=dmi]A[Z]VRzߐJ p9A2aVJFцΆ2 SRF"xDHPFRH ^.N'mc>z%̾qr;/Ongbo؁՗sٽg'g[uQ %bq;i"J]; vOmk+ `Ƕ؋ƽ5\~~5_G ,]رц6h Dz &U,;+knG7x``0FJUEKГ(IK[" <gG~tM_ ktl!*]%*Y|+f!s?]ޟ^#f·N +n_O}7y@ 7D&K6o=u8W)TkjeHv+naEZkl^Xr D[;qIS`LW|Cr5eH Þi_x1GaEb6ҫwoB "-#LFv**`,gt1CöR}20i.M~B' 'iu(/ ө },s0D}6[!kQ`$XBjl@96V<|+ni]CO8ܵ5աg?ZOZfz2}iFʔeٯ:饡C}= ncZkq,ɧRkiFٝxLOT<:D@6i\tvV *h3QHI}]!L(1-W9D ꉋRnmB.0ܿ-%uqmYojB_%@TAԁI7b. $?kw1r5,I` [Fb$`1?*iHf aKKQ"1)tӮDڹљ?.u, kk3w)gTn:j}B".?d;zWOCҐ@4E&In]A 4 a x^3o {w|PXNŷGA1GroX (L/3w.n-ϣȕp ?j&\m <~e,ܰo\:q(w"KxaQ#()*ı j5Q؎9PB.Jo r0,ACCG8F6p90/iA_moˎ"+bBOiJh?Yqk-?]_#kR4nd `c vG@ Κd;Kߓڢ +;Vkܬ3-n1 i?f۹r(L3 n-EpwHXQٟͪmug({$ċ<JX=RG@@=u҉Rin(lC@zV&퍭(ǐF`A4D_rlƶ~zUJF{8Fff!b&,HxEB{\sGA4,K8jLQI?TZ49r$S wn?NjUQSRii.cц] uy,2Q l;n3tPx>=_xYé.&=iւf$ Y#/-D(=@Z@Z@84 !2 kaJ葉ns4L3H]]=$`nk'-MpaN:3̉9)!!E';e𑵼$@-jíۄ4OJ0 Us0D.aB\0`bfj, w8i9GzM8b忖cR[?N{{m)(r4hEŤnɱbjWmis}z0> .}} #``0p FtWd4"?H(FM7"MSjkNGѴi +a*9cz a?Z9p#F(h& +Sϒx$y#"nqGiFtg7R?8{}Ѳ2OĩV7ԖTAmQ,s .}/ڥS?| k uhxeuEql{I$F=^cH0׶ZPzH+fZ@#SH4$E^N\gI`a!QVZ +TCU~ 9Z6f{H< &N@JGhjkw\.]S)o8xO$qGA +Ȝ]L8qQ6PUZ7P@3nG+}NVGp![=pAr  ’ +aw.ڏ;,{?sۊ5 RڇSQQP΀T]aȀIZ/sW&P=&gP_TԕWЭ_MIBxұH)1CAE0"QX\(ƌ_;hߘlf.n1%Woo㥭V"ttTQ#(wFy8E#ㄎ SӠ0 mQ ='@о=@m64z,]b.^͢9?sY]bϺ"X˟y5\q|VW\u1[PJ3/4Q}v,{|'ҁ5( +E0D 4MM4! z 8] m +vQRAZ8 gC8,( 7Np͙Lic:0 6; Ц8P9NE 9z,.|ft6ў;_CrFx|Vlݺ_C^D)$^] ,|r?+pG%.߸ڢ +BhSUXtE +@J!%=2Л`8gΒOJغi3f(1ժo.[xn ,]S®a2pX +%= , 4Kv`6lH'=Td`W!5: sa6/jD" \Wi?P +&;o|TyZ uF +u(Gn[SST(غu35Epf| 4ٲE`-jNJ[65_G1m`3S`dEY>7jkMg*M܎m+m;Aܫ)Lɮti`hqu7MZ'U&p*!'R&AǵY;tEgpԠ8AוkoqCb[9yϾ Αw2`pbwG:K_\A7{!~ lGDEW7mJ55p`-o~] $M^ @ -H,)Kٿ\yb0'̜HYO0$Fji/3E4ךy(m.'& +>3B&yxzT +LӤf$;/;fbHM0 t}P.lMAG8h~VdҐҍ++{w b[#Pd =hw X1L&N9PSz''z$zu-G]aqq8)N6%N(UŢu{UhGfş0 6m@mY%yN_ -.W[~/Qe+E  ر7d]V`%yrXL#M'l'Ғ$ТVQ$XrrF{>1;ێDيڒ +νşe"vr̘c1/VZ0 z@ŞJ'Q83w .z< tmϼc7) ~x +G1K6bFe!1߫~_ٗ!%xnOƇL+Iv{I8_75r>4ذZ&(e9 ;{6"us\@`Zд0@Bp\N`h~M@wk*|hϘ}n~\y(>bIZcsq#y|-qX͞ -"U`Iφ{dH#ܖҥCJISsi3rەc*V(c@kigfٟ]7LH yFfO?% +S>ǟoEwPYݯqG#ʔZ*g9E{+_cu{N9Js)`?tsoho(ٜNh:M#%6ӶÍTN z u.ܜrS Y3Mg~^{Ƕ ֝8b|vܡeX8Ï5NIݝ5 I=ƾEOp', )>K]~#GEֈL<oRp 3m-CF!եwg}tOsY|AnlM&?ftWRY ŒrMR9agnۚ6PKzpF͚`l?Tǵ%OYYA[l7kgf Gf̸rF'{x_}P{ER+ OOVUQu*ofWZFdLSS#g챓A3B~&?!%.k۶ TYO٧;8M'L5; m-`ɜqX.)ALC^$[ }|w>OOצ;,ڤś4 7Qh/_tS;э혓hH ,[mM u \\M?vm`„I +&͛7Q[RjzV[v$8SJyi)Vq e  KKq7ls/LL^yqC6JKK@+me{KQð:y dZJ0[6mB'Mvi^b'k.FfЀ m3r^^dlu P\$L7C$p"ݷ*V8͚FC."1 SGm*!kdfݫ`g.Wd&[mW`IlB}IR +ι5>CPF-ĎY|'Hi0dPmۇcCa' ;_>(-/N^:|Wp#M 7;o +Aٖ]_8~8ؖG6Ѹ>Šv1aZ%P 6d kkz6x.!HAz (܄Z0MA4ue+G_$0o<#ml+~A["NQig,'͝[5?3u{} )@] ) ?,xFޅvmv6 6A}).+jP,%.  ^YKHÊD9rQ+ESe|)%ESEȯ +fŒy?gETp{ `10#dW汛V>4^5+zNˢyc==gQSBiYlG9Uv\4;'h[L'45= hЂO~7\>?BDJ@g0i"[]{;V&)7t_sʝnQ#W_'ƍǎu)]5*E[Cm3scؾ)3`ҝ9L֚`΂3pKվxv/'A~W=2 +`/#(v}l74]M{[Ԥ-}'EzPy[mgy} ϡ4G1MMdD9E%c ) \ߒ#IarsOv1][3o~b7`~ȝϾ/!_;Z%MT~~YL=8̀ɕgbȀfèѣ)-+Z0g*7/a?w&8RtR#9䓧'CIi)H=Ƌ܅mX_UDzm>h6wcu715\GQ:J94hP4}=eӰJp_Ś>3xByoLgk PS/|!pGv0󹿢ǰx.0-`}3Ow2i9 ާ'1O_̓WS)uh^ ďN+" IaaOJwHA˾=,nu9"kv.ɨ#<(ssu?aԣݸ ('Op+n P1Vb'ʉ('os!ݠ-9iPQ/A)(wqn{ +fBZ iq_V7)JWnY6WoŮ?[Yͬ{ݦFnzXᮇз 8GF7\i{~wΩ`!~eƝ ~p|UF9{h_ˣ?(G9? 7Rx ?J x2[Jy%m[e),n2m1e0[l$Vr5B +>ˋ;R` ^ALᅤR`+y7U2?O6sHv $ 5w1 ,kr2!M1U@ܲlZO5j[A]HKkpl*^ ,[_•ǻ}"? 2p, nձ];+ӱg!hoj@c}P"܍|SPG럦A}y "WTe2y'61|D"ڽζ!(** t)`+-o@O?ϕj{lk55rCӮƆwcfv7<'I l' 6]PlsꏙuQ̾q?+IJ`g5?\_ϱa/dĎƱqjV`5ۊ WvJfbҔwKY zGEE΃O͕\,RR[ZEְL7!]osAZDRp((.X9&'^vH-.daaOe~Ik۠}fR'Ꚗfi%&X=%ff?^c~;3``m@;jHת?v, ih6D;b0vl ?|y"wq zR(sePSk#1*++ Lן|>YG94E ߠ+ +iK_whwtw)6LȀ·}D*e(<'˧)5=^1󋃘akQV:C {~5>O則fbw 0?^C]Z"Mt_wf~PڴSBl&-3] wL:|!#GvY:x{_Q#G@[0t~"o;+d DސcaN2s=D}OKb[Ppo*;V!WVO+L+V@:[QU-AnݺUGOZ]3/Ky+x7t/FD %~9?8/cL|x+B6CnkiVEbaLOölZQb'Di\AOցR >HS h(>t'Q%A9A5ӸW91,7]exoCX174.5QDW> n9\knfm{Xq~ ;fqόt<>-- wضE= sl;lm+ED +'N"Fj~@O>4 ۱p_?qo RJ~?oJyhz~R{W?WVswrD).q; k+iw7bz rll 6DK +I@ ;Hɚ5L:6EeZAM {B8D;&q#?3xVY/>3bb+xal-؁tȸ 38S7 oj%劕V3 M`o_8[4g,PSv/4 [,xf'RWY,D'p$ +nakG)fѰ~{9uMNPB%:$=t0;h"Nc>=wwy\Tw..)B68;ͦu +L9x~BU߿_sZ.. B0 }KlmQP_ñj5HdyWʂL >0$νA |BtzX8vHO˘oW>V"o1'<-BJGnNTflDM)]xN<ܵbo2vhöl@Hr9 j_Ii%{o+QЁ"l~r0V)e%}FHg^q\{*.Bli{AAQQN؋5J?fIF2q-M`ڐl|$DưNJ(!8:xCFW` + Kl-m/0ȴ45[cD6# 9首ͻu;yZ?pS,]5 OAw 6CI97U^Qɠ5VRLp~m_y9',1,!`Zpnjqw&k[~'nFHՍHC򫟞̓OЌ!`A'g"oe){h۔^ghW'l۶nNUB].+gC{(Kgm, Ro+_+u[np'L ,{(e=ڵ6-"36@Τ  +=.Q^Brlľ%[^nX[X >5jHm۷;yjLҁ!%;w@x ={v "xv,8%Qh[ͦ%Ro|Mub-ScY) N 3̳f +Uޖ-6дi3N`~I)A +u㇮-[-mphPw3apxո!w|0@,˟mC=Nb'}δr@QiH Ä@Q<6V;EZϺJJHF{] ) =vp]k0~3o-7X6=I{_ڨF'z~:ijyױf^:h1Ql)󽊽j'[+7ݴ7mi!xwx5ACC=vhGf0ӂ3iF րai"Ě۩(ǀ(>R  t?In}5dq 6.h|%@ 'z-_Re!-0D#~iאFsvG8fXvށ4 p +^7߿EzO90 z˜͒UHC\@Aһ: jSpan}f5%Pf g[e~2J1zh +\1 o<>כI+癷Ӽ1:/&= \ uVO)v=Lhܕn$ 5PAH +l!(?O0`㈭BDV`V /IfN?;^xɷ +>ߍubycVW/^{7Uz+g %oE Q!֗[_sV0=6i߃^=Hɠ@B +]&!0{ry3-G ܁fer + + :!?ZH2jm_ -_ou@3I8.Eӈ hP^7P!q~Pv^Q +[ٝ9wWߖO]q%9+d%p;̼_3GhwG oeR +ƌ;9/7jQvQg]%\qp|Xtǁ;e<AÇ̀ҋ3wS1 iֳ2HZ8|ZsSSS'( Lw9{[mo4+!|?*{!ᷘ;Sjw-xV?Cb>qHX^*Xjۥ5B's:"?L]I`a9X떑tb3 ѶݔQ̻%ٹs3;wmiTY^y%uWN[bиn104|^뗠ۢ <[v-#m +$0 86[!Q\Tb7,QH 5oG~_ڻ"xN]q=/0w7QW<% +ٱkG +1Ϲ")E-8}J9|B@1w7! N9y:vZ 0eyf,$+svwK!dҕۙS9K($c-!aT8(ֽO477cu떯Bq+0 %E̜1ܕo@9cgȯ{uʻ,io?irƥd[ɡEDٲE(0MlK8{5(Xq)4?~<X +|X-<}^9]]SFJ~wNz̻!$W>k7~vcCgHR4w{159o}h+C9¥K VB^"rE+UB^ݏz)>0yOaW?xMWH(s-KW1*v54sn1~*0^r|$+O/y<,r?(hΝ;{E*DV=LLtqɔR,^ܵl HsCeUmD4aiam80}4ޣض'Jcc ĢC>/g\W8oՋWrO=sz7w\N^vw {}nj4a}[ pu ;wH9dUqd{5p-[6PW[<۶AAӏ L&CRm7qptY B}w(Ho,-y8w_θ]/<)<^C* +|iUX|XHy$P_v`֩# r?*Ҋ Aުk̽Y* 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 24064; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([0,0,200,193,0,0,0,63,0,0,0,0,0,0,128,192,0,0,32,64,0,0,128,63,0,0,0,193,0,0,208,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,251,89,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,51,100,32,109,101,115,104,32,112,105,99,107,105,110,103,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,112,110,103,0,78,111,110,101,0,71,114,111,117,110,100,0,84,114,105,97,110,103,108,101,0,77,101,115,104,0,72,105,116,32,79,98,106,101,99,116,58,32,37,115,0,68,105,115,116,97,110,99,101,58,32,37,51,46,50,102,0,72,105,116,32,80,111,115,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,72,105,116,32,78,111,114,109,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,66,97,114,121,99,101,110,116,101,114,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,85,115,101,32,77,111,117,115,101,32,116,111,32,77,111,118,101,32,67,97,109,101,114,97,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,68,101,118,105,99,101,32,99,111,111,114,100,105,110,97,116,101,115,58,32,40,37,102,44,32,37,102,44,32,37,102,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + return parts; + },normalize:function (path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function (path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function (path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function (path) { + return PATH.splitPath(path)[3]; + },join:function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function (l, r) { + return PATH.normalize(l + '/' + r); + },resolve:function () { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function (dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function (stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + },close:function (stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function (stream) { + stream.tty.ops.flush(stream.tty); + },read:function (stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion + + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (usingDevice) { fs.closeSync(fd); } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + + } else if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function (tty, val) { + if (val === null || val === 10) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function (mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function (node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function (node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function (node, newCapacity) { + // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file + // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to + // increase the size. + if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { + node.contents = MEMFS.getFileDataAsRegularArray(node); + node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. + } + + if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + } + // Not using a typed array to back the file storage. Use a standard JS array instead. + if (!node.contents && newCapacity > 0) node.contents = []; + while (node.contents.length < newCapacity) node.contents.push(0); + },resizeFileStorage:function (node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function (node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function (parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT]; + },mknod:function (parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function (old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function (parent, name) { + delete parent.contents[name]; + },rmdir:function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + },readdir:function (node) { + var entries = ['.', '..'] + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position+length); + return length; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + },allocate:function (stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if ( !(flags & 2) && + (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var IDBFS={dbs:{},indexedDB:function () { + if (typeof indexedDB !== 'undefined') return indexedDB; + var ret = null; + if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, 'IDBFS used, but indexedDB not supported'); + return ret; + },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { + // reuse all of the core MEMFS functionality + return MEMFS.mount.apply(null, arguments); + },syncfs:function (mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + + var src = populate ? remote : local; + var dst = populate ? local : remote; + + IDBFS.reconcile(src, dst, callback); + }); + }); + },getDB:function (name, callback) { + // check the cache first + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db); + } + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); + } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + + var fileStore; + + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); + } + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + } + }; + req.onsuccess = function() { + db = req.result; + + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); + } + }; + + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + + while (check.length) { + var path = check.pop(); + var stat; + + try { + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); + } + + entries[path] = { timestamp: stat.mtime }; + } + + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; + + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); + + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } + + entries[cursor.primaryKey] = { timestamp: cursor.key }; + + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; + + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + return callback(null, { timestamp: stat.mtime, mode: stat.mode }); + } else if (FS.isFile(stat.mode)) { + // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. + // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); + } else { + return callback(new Error('node type not supported')); + } + },storeLocalEntry:function (path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode); + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); + } else { + return callback(new Error('node type not supported')); + } + + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } + + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); + } + } catch (e) { + return callback(e); + } + + callback(null); + },loadRemoteEntry:function (store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { callback(null, event.target.result); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },storeRemoteEntry:function (store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },removeRemoteEntry:function (store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },reconcile:function (src, dst, callback) { + var total = 0; + + var create = []; + Object.keys(src.entries).forEach(function (key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++; + } + }); + + var remove = []; + Object.keys(dst.entries).forEach(function (key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++; + } + }); + + if (!total) { + return callback(null); + } + + var errored = false; + var completed = 0; + var db = src.type === 'remote' ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err); + } + return; + } + if (++completed >= total) { + return callback(null); + } + }; + + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; + + // sort paths in ascending order so directory entries are created + // before the files inside them + create.sort().forEach(function (path) { + if (dst.type === 'local') { + IDBFS.loadRemoteEntry(store, path, function (err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); + } else { + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); + } + }); + + // sort paths in descending order so files are deleted before their + // parent directories + remove.sort().reverse().forEach(function(path) { + if (dst.type === 'local') { + IDBFS.removeLocalEntry(path, done); + } else { + IDBFS.removeRemoteEntry(store, path, done); + } + }); + }}; + + var NODEFS={isWindows:false,staticInit:function () { + NODEFS.isWindows = !!process.platform.match(/^win/); + },mount:function (mount) { + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); + },createNode:function (parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + },getMode:function (path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } else { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + },node_ops:{getattr:function (node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. + // See http://support.microsoft.com/kb/140365 + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + },setattr:function (node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + // update the common node structure mode as well + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },lookup:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + },mknod:function (parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + // create the backing node for this in the fs root as well + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, '', { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return node; + },rename:function (oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },unlink:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },rmdir:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readdir:function (node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },symlink:function (parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readlink:function (node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }},stream_ops:{open:function (stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },close:function (stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },read:function (stream, buffer, offset, length, position) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + } + + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + return position; + }}}; + + var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + // return the parent node, creating subdirs as necessary + var parts = path.split('/'); + var parent = root; + for (var i = 0; i < parts.length-1; i++) { + var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; + } + // We also accept FileList here, by using Array.prototype + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack['metadata'].files.forEach(function(file) { + var name = file.filename.substr(1); // remove initial slash + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); + }); + }); + return root; + },createNode:function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + },node_ops:{getattr:function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096), + }; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rename:function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },unlink:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rmdir:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readdir:function (node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readlink:function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + },write:function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }}}; + + var _stdin=STATICTOP; STATICTOP += 16;; + + var _stdout=STATICTOP; STATICTOP += 16;; + + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); + },lookupPath:function (path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function (parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function (parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + + FS.FSNode.prototype = {}; + + // compatibility + var readMode = 292 | 73; + var writeMode = 146; + + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { return (this.mode & readMode) === readMode; }, + set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } + }, + write: { + get: function() { return (this.mode & writeMode) === writeMode; }, + set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(this.mode); } + }, + isDevice: { + get: function() { return FS.isChrdev(this.mode); } + } + }); + } + + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function (node) { + FS.hashRemoveNode(node); + },isRoot:function (node) { + return node === node.parent; + },isMountpoint:function (node) { + return !!node.mounted; + },isFile:function (mode) { + return (mode & 61440) === 32768; + },isDir:function (mode) { + return (mode & 61440) === 16384; + },isLink:function (mode) { + return (mode & 61440) === 40960; + },isChrdev:function (mode) { + return (mode & 61440) === 8192; + },isBlkdev:function (mode) { + return (mode & 61440) === 24576; + },isFIFO:function (mode) { + return (mode & 61440) === 4096; + },isSocket:function (mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function (flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function (node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES; + } + return 0; + },mayLookup:function (dir) { + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; + return 0; + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return ERRNO_CODES.EBUSY; + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT; + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return ERRNO_CODES.EISDIR; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function(){}; + FS.FSStream.prototype = {}; + // compatibility + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }); + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function (fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function (stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + }},major:function (dev) { + return ((dev) >> 8); + },minor:function (dev) { + return ((dev) & 0xff); + },makedev:function (ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function (dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function (dev) { + return FS.devices[dev]; + },getMounts:function (mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function (type, opts, mountpoint) { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function (parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function (path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function (path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function (old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + // new path should not be an ancestor of the old path + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + err = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + return node.node_ops.readdir(node); + },unlink:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function (path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return node.node_ops.getattr(node); + },lstat:function (path) { + return FS.stat(path, true); + },chmod:function (path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function (path, mode) { + FS.chmod(path, mode, true); + },fchmod:function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chmod(stream.node, mode); + },chown:function (path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function (path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.nodePermissions(node, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + FS.truncate(stream.node, len); + },utime:function (path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function (path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + Module['printErr']('read file: ' + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + },llseek:function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // TODO if PROT is PROT_WRITE, make sure we have write access + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function (stream) { + return 0; + },ioctl:function (stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + FS.close(stream); + },cwd:function () { + return FS.currentPath; + },chdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + var err = FS.nodePermissions(lookup.node, 'x'); + if (err) { + throw new FS.ErrnoError(err); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function () { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function () { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto !== 'undefined') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else if (ENVIRONMENT_IS_NODE) { + // for nodejs + random_device = function() { return require('crypto').randomBytes(1)[0]; }; + } else { + // default for ES5 platforms + random_device = function() { return (Math.random()*256)|0; }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function () { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + + var stdout = FS.open('/dev/stdout', 'w'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + + var stderr = FS.open('/dev/stderr', 'w'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [ERRNO_CODES.ENOENT].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function () { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + 'IDBFS': IDBFS, + 'NODEFS': NODEFS, + 'WORKERFS': WORKERFS, + }; + },init:function (input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function () { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function (relative, base) { + return PATH.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function (parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function (parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function (parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function (parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function (parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (Module['read']) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(Module['read'](obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success; + },createLazyFile:function (parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + } + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + } + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function () { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + HEAP32[(((buf)+(36))>>2)]=stat.size; + HEAP32[(((buf)+(40))>>2)]=4096; + HEAP32[(((buf)+(44))>>2)]=stat.blocks; + HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(52))>>2)]=0; + HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=stat.ino; + return 0; + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },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; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _glfwGetMouseButton(winid, button) { + return GLFW.getMouseButton(winid, button); + } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; + try { + // readv + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___udivdi3"] = ___udivdi3; + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _glfwSetCursorPos(winid, x, y) { + GLFW.setCursorPos(winid, x, y); + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _glfwGetKey(winid, key) { + return GLFW.getKey(winid, key); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + default: { + return -ERRNO_CODES.EINVAL; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glHint": _emscripten_glHint, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_glUniform3f": _glUniform3f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glVertexAttrib2f": _glVertexAttrib2f, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_glfwSetCursorPos": _glfwSetCursorPos, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_glUniform1f": _glUniform1f, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _glVertexAttrib4f=env._glVertexAttrib4f; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _glVertexAttrib3f=env._glVertexAttrib3f; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var ___syscall145=env.___syscall145; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glHint=env._emscripten_glHint; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _glUniform3f=env._glUniform3f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _glVertexAttrib2f=env._glVertexAttrib2f; + var _glGenTextures=env._glGenTextures; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _glfwSetCursorPos=env._glfwSetCursorPos; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _glfwGetMouseButton=env._glfwGetMouseButton; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _glActiveTexture=env._glActiveTexture; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _glUniform1f=env._glUniform1f; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _glfwGetKey=env._glfwGetKey; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $0 = 0, $1 = 0, $2 = 0, $texture$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 576|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(576|0); + $texture$byval_copy = sp + 312|0; + $0 = sp + 48|0; + $1 = sp + 24|0; + $2 = sp; + _InitWindow(800,450,4436); + HEAPF32[4602] = 10.0; + HEAPF32[(18412)>>2] = 8.0; + HEAPF32[(18416)>>2] = 10.0; + HEAPF32[(18420)>>2] = 0.0; + HEAPF32[(18424)>>2] = 2.2999999523162842; + HEAPF32[(18428)>>2] = 0.0; + HEAPF32[(18432)>>2] = 0.0; + HEAPF32[(18436)>>2] = 1.6000000238418579; + HEAPF32[(18440)>>2] = 0.0; + HEAPF32[(18444)>>2] = 45.0; + _LoadModel($0,4478); + _memcpy((18448|0),($0|0),264)|0; + _LoadTexture($1,4498); + ;HEAP32[18712>>2]=HEAP32[$1>>2]|0;HEAP32[18712+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18712+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18712+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18712+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(18636)>>2]=HEAP32[$1>>2]|0;HEAP32[(18636)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18636)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18636)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18636)+16>>2]=HEAP32[$1+16>>2]|0; + dest=$texture$byval_copy; src=18448; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _CalculateBoundingBox($2,$texture$byval_copy); + ;HEAP32[18732>>2]=HEAP32[$2>>2]|0;HEAP32[18732+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[18732+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[18732+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[18732+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[18732+20>>2]=HEAP32[$2+20>>2]|0; + dest=$texture$byval_copy; src=18408; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetCameraMode($texture$byval_copy,1); + _SetTargetFPS(60); + _emscripten_set_main_loop((1|0),0,1); + _memcpy(($texture$byval_copy|0),(18448|0),264)|0; + _UnloadModel($texture$byval_copy); + ;HEAP32[$texture$byval_copy>>2]=HEAP32[18712>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[18712+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[18712+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[18712+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[18712+16>>2]|0; + _UnloadTexture($texture$byval_copy); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy20 = 0, $$byval_copy42 = 0, $$byval_copy52 = 0, $$sink = 0, $$sroa$05$0$copyload = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$221$0$$sroa_idx = 0, $$sroa$225$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$322$0$$sroa_idx = 0, $$sroa$326$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$423$0$$sroa_idx = 0, $$sroa$427$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx9 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$6$0$$sroa_idx = 0; + var $$sroa$6$0$$sroa_idx14 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0.0; + var $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0; + var $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; + var $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, $60 = 0; + var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0; + var $8 = 0, $80 = 0.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.0, $95 = 0.0, $96 = 0, $97 = 0; + var $98 = 0, $99 = 0, $or$cond = 0, $ray$byval_copy45 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); + $$byval_copy52 = sp + 608|0; + $ray$byval_copy45 = sp + 584|0; + $$byval_copy42 = sp + 320|0; + $$byval_copy20 = sp + 88|0; + $vararg_buffer14 = sp + 64|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 200|0; + $1 = sp + 192|0; + $2 = sp + 312|0; + $3 = sp + 288|0; + $4 = sp + 160|0; + $5 = sp + 128|0; + $6 = sp + 272|0; + $7 = sp + 240|0; + $8 = sp + 700|0; + $9 = sp + 232|0; + $10 = sp + 696|0; + $11 = sp + 692|0; + $12 = sp + 688|0; + $13 = sp + 684|0; + $14 = sp + 680|0; + $15 = sp + 112|0; + $16 = sp + 676|0; + $17 = sp + 672|0; + $18 = sp + 668|0; + $19 = sp + 664|0; + $20 = sp + 660|0; + $21 = sp + 656|0; + $22 = sp + 652|0; + $23 = sp + 648|0; + _UpdateCamera(18408); + $24 = ((($0)) + 4|0); + HEAPF32[$24>>2] = 3.4028234663852886E+38; + HEAP32[$0>>2] = 0; + HEAP32[$1>>2] = -1; + _GetMousePosition($2); + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$2>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$2+4>>2]|0; + dest=$$byval_copy52; src=18408; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _GetMouseRay($3,$ray$byval_copy45,$$byval_copy52); + ;HEAP32[18756>>2]=HEAP32[$3>>2]|0;HEAP32[18756+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[18756+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[18756+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[18756+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[18756+20>>2]=HEAP32[$3+20>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$3+20>>2]|0; + _GetCollisionRayGround($4,$$byval_copy52,0.0); + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0); + if ($26) { + $$0 = 4518; + } else { + $27 = ((($4)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = +HEAPF32[$24>>2]; + $30 = $28 < $29; + if ($30) { + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$4+28>>2]|0; + HEAP8[$1>>0] = 0; + $$sroa$225$0$$sroa_idx = ((($1)) + 1|0); + HEAP8[$$sroa$225$0$$sroa_idx>>0] = -28; + $$sroa$326$0$$sroa_idx = ((($1)) + 2|0); + HEAP8[$$sroa$326$0$$sroa_idx>>0] = 48; + $$sroa$427$0$$sroa_idx = ((($1)) + 3|0); + HEAP8[$$sroa$427$0$$sroa_idx>>0] = -1; + $$0 = 4523; + } else { + $$0 = 4518; + } + } + ;HEAP32[$$byval_copy20>>2]=HEAP32[18756>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[18756+20>>2]|0; + ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; + _GetCollisionRayTriangle($5,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$1 = $$0;$$sink = 0; + } else { + $33 = ((($5)) + 4|0); + $34 = +HEAPF32[$33>>2]; + $35 = +HEAPF32[$24>>2]; + $36 = $34 < $35; + if ($36) { + ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$5+28>>2]|0; + HEAP8[$1>>0] = -56; + $$sroa$221$0$$sroa_idx = ((($1)) + 1|0); + HEAP8[$$sroa$221$0$$sroa_idx>>0] = 122; + $$sroa$322$0$$sroa_idx = ((($1)) + 2|0); + HEAP8[$$sroa$322$0$$sroa_idx>>0] = -1; + $$sroa$423$0$$sroa_idx = ((($1)) + 3|0); + HEAP8[$$sroa$423$0$$sroa_idx>>0] = -1; + $37 = ((($0)) + 8|0); + ;HEAP32[$$byval_copy20>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$37+8>>2]|0; + ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; + _VectorBarycenter($6,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); + ;HEAP32[18396>>2]=HEAP32[$6>>2]|0;HEAP32[18396+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[18396+8>>2]=HEAP32[$6+8>>2]|0; + $$1 = 4530;$$sink = 1; + } else { + $$1 = $$0;$$sink = 0; + } + } + HEAP32[4598] = $$sink; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18756>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18756+20>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[18732>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18732+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18732+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18732+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18732+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18732+20>>2]|0; + $38 = (_CheckCollisionRayBox($ray$byval_copy45,$$byval_copy52)|0); + $39 = ($38|0)==(0); + if ($39) { + $$2 = $$1; + } else { + HEAP32[4597] = 1; + ;HEAP32[$$byval_copy52>>2]=HEAP32[18756>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18756+20>>2]|0; + _GetCollisionRayMesh($7,$$byval_copy52,18448); + $$sroa$05$0$copyload = HEAP32[$7>>2]|0; + $$sroa$5$0$$sroa_idx9 = ((($7)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx9>>2]; + $$sroa$6$0$$sroa_idx = ((($7)) + 8|0); + ;HEAP32[$$byval_copy20>>2]=HEAP32[$$sroa$6$0$$sroa_idx>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$$sroa$6$0$$sroa_idx+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$$sroa$6$0$$sroa_idx+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[$$sroa$6$0$$sroa_idx+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[$$sroa$6$0$$sroa_idx+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[$$sroa$6$0$$sroa_idx+20>>2]|0; + $40 = ($$sroa$05$0$copyload|0)!=(0); + $41 = +HEAPF32[$24>>2]; + $42 = $$sroa$5$0$copyload < $41; + $or$cond = $40 & $42; + if ($or$cond) { + HEAP32[$0>>2] = $$sroa$05$0$copyload; + HEAPF32[$24>>2] = $$sroa$5$0$copyload; + $$sroa$6$0$$sroa_idx14 = ((($0)) + 8|0); + ;HEAP32[$$sroa$6$0$$sroa_idx14>>2]=HEAP32[$$byval_copy20>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+4>>2]=HEAP32[$$byval_copy20+4>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+8>>2]=HEAP32[$$byval_copy20+8>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+12>>2]=HEAP32[$$byval_copy20+12>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+16>>2]=HEAP32[$$byval_copy20+16>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+20>>2]=HEAP32[$$byval_copy20+20>>2]|0; + HEAP8[$1>>0] = -1; + $$sroa$2$0$$sroa_idx = ((($1)) + 1|0); + HEAP8[$$sroa$2$0$$sroa_idx>>0] = -95; + $$sroa$3$0$$sroa_idx = ((($1)) + 2|0); + HEAP8[$$sroa$3$0$$sroa_idx>>0] = 0; + $$sroa$4$0$$sroa_idx = ((($1)) + 3|0); + HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; + $$2 = 4539; + } else { + $$2 = $$1; + } + } + HEAP32[4597] = 0; + _BeginDrawing(); + HEAP8[$8>>0] = -11; + $43 = ((($8)) + 1|0); + HEAP8[$43>>0] = -11; + $44 = ((($8)) + 2|0); + HEAP8[$44>>0] = -11; + $45 = ((($8)) + 3|0); + HEAP8[$45>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$8+3>>0]|0; + _ClearBackground($$byval_copy52); + dest=$$byval_copy52; src=18408; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _Begin3dMode($$byval_copy52); + HEAP32[$9>>2] = -1; + _memcpy(($$byval_copy42|0),(18448|0),264)|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18376>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18376+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18376+8>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$9+3>>0]|0; + _DrawModel($$byval_copy42,$ray$byval_copy45,1.0,$$byval_copy52); + HEAP8[$10>>0] = -56; + $46 = ((($10)) + 1|0); + HEAP8[$46>>0] = 122; + $47 = ((($10)) + 2|0); + HEAP8[$47>>0] = -1; + $48 = ((($10)) + 3|0); + HEAP8[$48>>0] = -1; + ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$10+3>>0]|0; + _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); + HEAP8[$11>>0] = -56; + $49 = ((($11)) + 1|0); + HEAP8[$49>>0] = 122; + $50 = ((($11)) + 2|0); + HEAP8[$50>>0] = -1; + $51 = ((($11)) + 3|0); + HEAP8[$51>>0] = -1; + ;HEAP32[$$byval_copy42>>2]=HEAP32[20>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[20+8>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[32>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[32+8>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$11+3>>0]|0; + _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); + HEAP8[$12>>0] = -56; + $52 = ((($12)) + 1|0); + HEAP8[$52>>0] = 122; + $53 = ((($12)) + 2|0); + HEAP8[$53>>0] = -1; + $54 = ((($12)) + 3|0); + HEAP8[$54>>0] = -1; + ;HEAP32[$$byval_copy42>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[32+8>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[8>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[8+8>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$12+3>>0]|0; + _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); + $55 = HEAP32[4597]|0; + $56 = ($55|0)==(0); + if (!($56)) { + HEAP8[$13>>0] = 0; + $57 = ((($13)) + 1|0); + HEAP8[$57>>0] = -98; + $58 = ((($13)) + 2|0); + HEAP8[$58>>0] = 47; + $59 = ((($13)) + 3|0); + HEAP8[$59>>0] = -1; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18732>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18732+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18732+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18732+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18732+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18732+20>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$13+3>>0]|0; + _DrawBoundingBox($ray$byval_copy45,$$byval_copy52); + } + $60 = HEAP32[$0>>2]|0; + $61 = ($60|0)==(0); + if (!($61)) { + $62 = ((($0)) + 8|0); + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$62>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$62+8>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$1+3>>0]|0; + _DrawCube($ray$byval_copy45,0.5,0.5,0.5,$$byval_copy52); + HEAP8[$14>>0] = -3; + $63 = ((($14)) + 1|0); + HEAP8[$63>>0] = -7; + $64 = ((($14)) + 2|0); + HEAP8[$64>>0] = 0; + $65 = ((($14)) + 3|0); + HEAP8[$65>>0] = -1; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$62>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$62+8>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$14+3>>0]|0; + _DrawCubeWires($ray$byval_copy45,0.5,0.5,0.5,$$byval_copy52); + $66 = +HEAPF32[$62>>2]; + $67 = ((($0)) + 20|0); + $68 = +HEAPF32[$67>>2]; + $69 = $66 + $68; + HEAPF32[$15>>2] = $69; + $70 = ((($0)) + 12|0); + $71 = +HEAPF32[$70>>2]; + $72 = ((($0)) + 24|0); + $73 = +HEAPF32[$72>>2]; + $74 = $71 + $73; + $75 = ((($15)) + 4|0); + HEAPF32[$75>>2] = $74; + $76 = ((($0)) + 16|0); + $77 = +HEAPF32[$76>>2]; + $78 = ((($0)) + 28|0); + $79 = +HEAPF32[$78>>2]; + $80 = $77 + $79; + $81 = ((($15)) + 8|0); + HEAPF32[$81>>2] = $80; + HEAP8[$16>>0] = -3; + $82 = ((($16)) + 1|0); + HEAP8[$82>>0] = -7; + $83 = ((($16)) + 2|0); + HEAP8[$83>>0] = 0; + $84 = ((($16)) + 3|0); + HEAP8[$84>>0] = -1; + ;HEAP32[$$byval_copy42>>2]=HEAP32[$62>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[$62+8>>2]|0; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$15>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$15+8>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$16+3>>0]|0; + _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); + } + HEAP8[$17>>0] = -66; + $85 = ((($17)) + 1|0); + HEAP8[$85>>0] = 33; + $86 = ((($17)) + 2|0); + HEAP8[$86>>0] = 55; + $87 = ((($17)) + 3|0); + HEAP8[$87>>0] = -1; + ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18756>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18756+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18756+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18756+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18756+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18756+20>>2]|0; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$17+3>>0]|0; + _DrawRay($ray$byval_copy45,$$byval_copy52); + _DrawGrid(100,1.0); + _End3dMode(); + HEAP32[$vararg_buffer>>2] = $$2; + $88 = (_FormatText(4544,$vararg_buffer)|0); + HEAP8[$18>>0] = 0; + $89 = ((($18)) + 1|0); + HEAP8[$89>>0] = 0; + $90 = ((($18)) + 2|0); + HEAP8[$90>>0] = 0; + $91 = ((($18)) + 3|0); + HEAP8[$91>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$18+3>>0]|0; + _DrawText($88,10,50,10,$$byval_copy52); + $92 = HEAP32[$0>>2]|0; + $93 = ($92|0)==(0); + if ($93) { + HEAP8[$23>>0] = -126; + $138 = ((($23)) + 1|0); + HEAP8[$138>>0] = -126; + $139 = ((($23)) + 2|0); + HEAP8[$139>>0] = -126; + $140 = ((($23)) + 3|0); + HEAP8[$140>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; + _DrawText(4660,10,430,10,$$byval_copy52); + _DrawFPS(10,10); + _EndDrawing(); + STACKTOP = sp;return; + } + $94 = +HEAPF32[$24>>2]; + $95 = $94; + HEAPF64[$vararg_buffer1>>3] = $95; + $96 = (_FormatText(4559,$vararg_buffer1)|0); + HEAP8[$19>>0] = 0; + $97 = ((($19)) + 1|0); + HEAP8[$97>>0] = 0; + $98 = ((($19)) + 2|0); + HEAP8[$98>>0] = 0; + $99 = ((($19)) + 3|0); + HEAP8[$99>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$19+3>>0]|0; + _DrawText($96,10,70,10,$$byval_copy52); + $100 = ((($0)) + 8|0); + $101 = +HEAPF32[$100>>2]; + $102 = $101; + $103 = ((($0)) + 12|0); + $104 = +HEAPF32[$103>>2]; + $105 = $104; + $106 = ((($0)) + 16|0); + $107 = +HEAPF32[$106>>2]; + $108 = $107; + HEAPF64[$vararg_buffer4>>3] = $102; + $vararg_ptr7 = ((($vararg_buffer4)) + 8|0); + HEAPF64[$vararg_ptr7>>3] = $105; + $vararg_ptr8 = ((($vararg_buffer4)) + 16|0); + HEAPF64[$vararg_ptr8>>3] = $108; + $109 = (_FormatText(4575,$vararg_buffer4)|0); + HEAP8[$20>>0] = 0; + $110 = ((($20)) + 1|0); + HEAP8[$110>>0] = 0; + $111 = ((($20)) + 2|0); + HEAP8[$111>>0] = 0; + $112 = ((($20)) + 3|0); + HEAP8[$112>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$20+3>>0]|0; + _DrawText($109,10,85,10,$$byval_copy52); + $113 = ((($0)) + 20|0); + $114 = +HEAPF32[$113>>2]; + $115 = $114; + $116 = ((($0)) + 24|0); + $117 = +HEAPF32[$116>>2]; + $118 = $117; + $119 = ((($0)) + 28|0); + $120 = +HEAPF32[$119>>2]; + $121 = $120; + HEAPF64[$vararg_buffer9>>3] = $115; + $vararg_ptr12 = ((($vararg_buffer9)) + 8|0); + HEAPF64[$vararg_ptr12>>3] = $118; + $vararg_ptr13 = ((($vararg_buffer9)) + 16|0); + HEAPF64[$vararg_ptr13>>3] = $121; + $122 = (_FormatText(4602,$vararg_buffer9)|0); + HEAP8[$21>>0] = 0; + $123 = ((($21)) + 1|0); + HEAP8[$123>>0] = 0; + $124 = ((($21)) + 2|0); + HEAP8[$124>>0] = 0; + $125 = ((($21)) + 3|0); + HEAP8[$125>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$21+3>>0]|0; + _DrawText($122,10,100,10,$$byval_copy52); + $126 = HEAP32[4598]|0; + $127 = ($126|0)==(0); + if ($127) { + HEAP8[$23>>0] = -126; + $138 = ((($23)) + 1|0); + HEAP8[$138>>0] = -126; + $139 = ((($23)) + 2|0); + HEAP8[$139>>0] = -126; + $140 = ((($23)) + 3|0); + HEAP8[$140>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; + _DrawText(4660,10,430,10,$$byval_copy52); + _DrawFPS(10,10); + _EndDrawing(); + STACKTOP = sp;return; + } + $128 = +HEAPF32[4599]; + $129 = $128; + $130 = +HEAPF32[(18400)>>2]; + $131 = $130; + $132 = +HEAPF32[(18404)>>2]; + $133 = $132; + HEAPF64[$vararg_buffer14>>3] = $129; + $vararg_ptr17 = ((($vararg_buffer14)) + 8|0); + HEAPF64[$vararg_ptr17>>3] = $131; + $vararg_ptr18 = ((($vararg_buffer14)) + 16|0); + HEAPF64[$vararg_ptr18>>3] = $133; + $134 = (_FormatText(4630,$vararg_buffer14)|0); + HEAP8[$22>>0] = 0; + $135 = ((($22)) + 1|0); + HEAP8[$135>>0] = 0; + $136 = ((($22)) + 2|0); + HEAP8[$136>>0] = 0; + $137 = ((($22)) + 3|0); + HEAP8[$137>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$22+3>>0]|0; + _DrawText($134,10,115,10,$$byval_copy52); + HEAP8[$23>>0] = -126; + $138 = ((($23)) + 1|0); + HEAP8[$138>>0] = -126; + $139 = ((($23)) + 2|0); + HEAP8[$139>>0] = -126; + $140 = ((($23)) + 3|0); + HEAP8[$140>>0] = -1; + ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; + _DrawText(4660,10,430,10,$$byval_copy52); + _DrawFPS(10,10); + _EndDrawing(); + STACKTOP = sp;return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorAdd($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 + $16; + HEAPF32[$12>>2] = $17; + return; +} +function _VectorSubtract($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; + return; +} +function _VectorCrossProduct($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($2)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = $4 * $6; + $8 = ((($1)) + 8|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($2)) + 4|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 * $11; + $13 = $7 - $12; + $14 = +HEAPF32[$2>>2]; + $15 = $9 * $14; + $16 = +HEAPF32[$1>>2]; + $17 = $6 * $16; + $18 = $15 - $17; + $19 = $11 * $16; + $20 = $4 * $14; + $21 = $19 - $20; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorDotProduct($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + $11 = ((($0)) + 8|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $12 * $14; + $16 = $10 + $15; + return (+$16); +} +function _VectorScale($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = $2 * $1; + HEAPF32[$0>>2] = $3; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5 * $1; + HEAPF32[$4>>2] = $6; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _VectorMin($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = (+_fminf($3,$4)); + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (+_fminf($7,$9)); + $11 = ((($1)) + 8|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($2)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = (+_fminf($12,$14)); + HEAPF32[$0>>2] = $5; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + return; +} +function _VectorMax($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = (+_fmaxf($3,$4)); + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = (+_fmaxf($7,$9)); + $11 = ((($1)) + 8|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($2)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = (+_fmaxf($12,$14)); + HEAPF32[$0>>2] = $5; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + return; +} +function _VectorBarycenter($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy14 = 0, $$byval_copy15 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$6$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy15 = sp + 48|0; + $$byval_copy14 = sp + 36|0; + $5 = sp + 24|0; + $6 = sp + 12|0; + $7 = sp; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; + _VectorSubtract($5,$$byval_copy14,$$byval_copy15); + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$4+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; + _VectorSubtract($6,$$byval_copy14,$$byval_copy15); + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$1+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; + _VectorSubtract($7,$$byval_copy14,$$byval_copy15); + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$5+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$5+8>>2]|0; + $8 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$5+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; + $9 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); + ;HEAP32[$$byval_copy14>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$6+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; + $10 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); + ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$5+8>>2]|0; + $11 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); + ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; + ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; + $12 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); + $13 = $8 * $10; + $14 = $9 * $9; + $15 = $13 - $14; + $16 = $10 * $11; + $17 = $9 * $12; + $18 = $16 - $17; + $19 = $18 / $15; + $20 = $8 * $12; + $21 = $9 * $11; + $22 = $20 - $21; + $23 = $22 / $15; + $24 = $23 + $19; + $25 = 1.0 - $24; + HEAPF32[$0>>2] = $25; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $19; + $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$6$0$$sroa_idx4>>2] = $23; + STACKTOP = sp;return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixInvert($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; + var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; + var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; + var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; + var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; + var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; + var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; + var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = ((($0)) + 16|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 32|0); + $5 = +HEAPF32[$4>>2]; + $6 = ((($0)) + 48|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($0)) + 20|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($0)) + 36|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($0)) + 52|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + $18 = ((($0)) + 24|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($0)) + 40|0); + $21 = +HEAPF32[$20>>2]; + $22 = ((($0)) + 56|0); + $23 = +HEAPF32[$22>>2]; + $24 = ((($0)) + 12|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($0)) + 28|0); + $27 = +HEAPF32[$26>>2]; + $28 = ((($0)) + 44|0); + $29 = +HEAPF32[$28>>2]; + $30 = ((($0)) + 60|0); + $31 = +HEAPF32[$30>>2]; + $32 = $1 * $11; + $33 = $3 * $9; + $34 = $32 - $33; + $35 = $1 * $13; + $36 = $5 * $9; + $37 = $35 - $36; + $38 = $1 * $15; + $39 = $7 * $9; + $40 = $38 - $39; + $41 = $3 * $13; + $42 = $5 * $11; + $43 = $41 - $42; + $44 = $3 * $15; + $45 = $7 * $11; + $46 = $44 - $45; + $47 = $5 * $15; + $48 = $7 * $13; + $49 = $47 - $48; + $50 = $17 * $27; + $51 = $19 * $25; + $52 = $50 - $51; + $53 = $17 * $29; + $54 = $21 * $25; + $55 = $53 - $54; + $56 = $17 * $31; + $57 = $23 * $25; + $58 = $56 - $57; + $59 = $19 * $29; + $60 = $21 * $27; + $61 = $59 - $60; + $62 = $19 * $31; + $63 = $23 * $27; + $64 = $62 - $63; + $65 = $21 * $31; + $66 = $23 * $29; + $67 = $65 - $66; + $68 = $34 * $67; + $69 = $37 * $64; + $70 = $68 - $69; + $71 = $40 * $61; + $72 = $71 + $70; + $73 = $43 * $58; + $74 = $73 + $72; + $75 = $46 * $55; + $76 = $74 - $75; + $77 = $49 * $52; + $78 = $77 + $76; + $79 = 1.0 / $78; + $80 = $11 * $67; + $81 = $13 * $64; + $82 = $80 - $81; + $83 = $15 * $61; + $84 = $83 + $82; + $85 = $84 * $79; + $86 = $3 * $67; + $87 = $5 * $64; + $88 = $87 - $86; + $89 = $7 * $61; + $90 = $88 - $89; + $91 = $90 * $79; + $92 = $49 * $27; + $93 = $46 * $29; + $94 = $92 - $93; + $95 = $43 * $31; + $96 = $94 + $95; + $97 = $96 * $79; + $98 = $19 * $49; + $99 = $46 * $21; + $100 = $99 - $98; + $101 = $43 * $23; + $102 = $100 - $101; + $103 = $102 * $79; + $104 = -$9; + $105 = $67 * $104; + $106 = $13 * $58; + $107 = $105 + $106; + $108 = $15 * $55; + $109 = $107 - $108; + $110 = $109 * $79; + $111 = $1 * $67; + $112 = $5 * $58; + $113 = $111 - $112; + $114 = $7 * $55; + $115 = $114 + $113; + $116 = $115 * $79; + $117 = -$25; + $118 = $49 * $117; + $119 = $40 * $29; + $120 = $118 + $119; + $121 = $37 * $31; + $122 = $120 - $121; + $123 = $122 * $79; + $124 = $17 * $49; + $125 = $40 * $21; + $126 = $124 - $125; + $127 = $37 * $23; + $128 = $126 + $127; + $129 = $128 * $79; + $130 = $9 * $64; + $131 = $11 * $58; + $132 = $130 - $131; + $133 = $15 * $52; + $134 = $133 + $132; + $135 = $134 * $79; + $136 = $1 * $64; + $137 = $3 * $58; + $138 = $137 - $136; + $139 = $7 * $52; + $140 = $138 - $139; + $141 = $140 * $79; + $142 = $46 * $25; + $143 = $40 * $27; + $144 = $142 - $143; + $145 = $34 * $31; + $146 = $144 + $145; + $147 = $146 * $79; + $148 = $17 * $46; + $149 = $19 * $40; + $150 = $149 - $148; + $151 = $34 * $23; + $152 = $150 - $151; + $153 = $152 * $79; + $154 = $61 * $104; + $155 = $11 * $55; + $156 = $154 + $155; + $157 = $13 * $52; + $158 = $156 - $157; + $159 = $158 * $79; + $160 = $1 * $61; + $161 = $3 * $55; + $162 = $160 - $161; + $163 = $5 * $52; + $164 = $163 + $162; + $165 = $164 * $79; + $166 = $43 * $117; + $167 = $37 * $27; + $168 = $166 + $167; + $169 = $34 * $29; + $170 = $168 - $169; + $171 = $170 * $79; + $172 = $17 * $43; + $173 = $37 * $19; + $174 = $172 - $173; + $175 = $34 * $21; + $176 = $174 + $175; + $177 = $176 * $79; + HEAPF32[$0>>2] = $85; + HEAPF32[$8>>2] = $110; + HEAPF32[$16>>2] = $135; + HEAPF32[$24>>2] = $159; + HEAPF32[$2>>2] = $91; + HEAPF32[$10>>2] = $116; + HEAPF32[$18>>2] = $141; + HEAPF32[$26>>2] = $165; + HEAPF32[$4>>2] = $97; + HEAPF32[$12>>2] = $123; + HEAPF32[$20>>2] = $147; + HEAPF32[$28>>2] = $171; + HEAPF32[$6>>2] = $103; + HEAPF32[$14>>2] = $129; + HEAPF32[$22>>2] = $153; + HEAPF32[$30>>2] = $177; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; + var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = $5 * 2.0; + $14 = $8; + $15 = $13 / $14; + $16 = $15; + $17 = $10; + $18 = $13 / $17; + $19 = $18; + $20 = $1 + $2; + $21 = $20 / $14; + $22 = $21; + $23 = $3 + $4; + $24 = $23 / $17; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + $31 = $5 * $6; + $32 = $31 * 2.0; + $33 = -$32; + $34 = $33 / $28; + $35 = $34; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; + return; +} +function _MatrixPerspective($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + var $10 = 0.0, $11 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $1 * 3.1415927410125732; + $6 = $5 / 360.0; + $7 = (+Math_tan((+$6))); + $8 = $7 * $3; + $9 = $8 * $2; + $10 = -$9; + $11 = -$8; + _MatrixFrustum($0,$10,$9,$11,$8,$3,$4); + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _MatrixLookAt($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy4 = 0, $$byval_copy5 = 0, $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0, $11 = 0.0, $12 = 0.0; + var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; + var $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy5 = sp + 48|0; + $$byval_copy4 = sp + 36|0; + $4 = sp + 24|0; + $5 = sp + 12|0; + $6 = sp; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; + _VectorSubtract($4,$$byval_copy4,$$byval_copy5); + _VectorNormalize($4); + ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$4+8>>2]|0; + _VectorCrossProduct($5,$$byval_copy4,$$byval_copy5); + _VectorNormalize($5); + ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$4+8>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; + _VectorCrossProduct($6,$$byval_copy4,$$byval_copy5); + _VectorNormalize($6); + $7 = +HEAPF32[$5>>2]; + $8 = ((($5)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($5)) + 8|0); + $11 = +HEAPF32[$10>>2]; + $12 = +HEAPF32[$1>>2]; + $13 = $7 * $12; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $9 * $15; + $17 = $13 + $16; + $18 = ((($1)) + 8|0); + $19 = +HEAPF32[$18>>2]; + $20 = $11 * $19; + $21 = $17 + $20; + $22 = -$21; + $23 = +HEAPF32[$6>>2]; + $24 = ((($6)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($6)) + 8|0); + $27 = +HEAPF32[$26>>2]; + $28 = $12 * $23; + $29 = $15 * $25; + $30 = $28 + $29; + $31 = $19 * $27; + $32 = $30 + $31; + $33 = -$32; + $34 = +HEAPF32[$4>>2]; + $35 = ((($4)) + 4|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($4)) + 8|0); + $38 = +HEAPF32[$37>>2]; + $39 = $12 * $34; + $40 = $15 * $36; + $41 = $39 + $40; + $42 = $19 * $38; + $43 = $41 + $42; + $44 = -$43; + HEAPF32[$0>>2] = $7; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $23; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $34; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = 0.0; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $9; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $25; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $36; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = 0.0; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $11; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $27; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $38; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $22; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $33; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $44; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + STACKTOP = sp;return; +} +function _QuaternionTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0; + var $65 = 0.0, $66 = 0.0, $67 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($0)) + 12|0); + $8 = +HEAPF32[$7>>2]; + $9 = +HEAPF32[$1>>2]; + $10 = $2 * $9; + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $4 * $12; + $14 = $10 + $13; + $15 = ((($1)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $6 * $16; + $18 = $14 + $17; + $19 = ((($1)) + 12|0); + $20 = +HEAPF32[$19>>2]; + $21 = $8 * $20; + $22 = $18 + $21; + HEAPF32[$0>>2] = $22; + $23 = ((($1)) + 16|0); + $24 = +HEAPF32[$23>>2]; + $25 = $2 * $24; + $26 = ((($1)) + 20|0); + $27 = +HEAPF32[$26>>2]; + $28 = $4 * $27; + $29 = $25 + $28; + $30 = ((($1)) + 24|0); + $31 = +HEAPF32[$30>>2]; + $32 = $6 * $31; + $33 = $29 + $32; + $34 = ((($1)) + 28|0); + $35 = +HEAPF32[$34>>2]; + $36 = $8 * $35; + $37 = $33 + $36; + HEAPF32[$3>>2] = $37; + $38 = ((($1)) + 32|0); + $39 = +HEAPF32[$38>>2]; + $40 = $2 * $39; + $41 = ((($1)) + 36|0); + $42 = +HEAPF32[$41>>2]; + $43 = $4 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 40|0); + $46 = +HEAPF32[$45>>2]; + $47 = $6 * $46; + $48 = $44 + $47; + $49 = ((($1)) + 44|0); + $50 = +HEAPF32[$49>>2]; + $51 = $8 * $50; + $52 = $48 + $51; + HEAPF32[$5>>2] = $52; + $53 = ((($1)) + 48|0); + $54 = +HEAPF32[$53>>2]; + $55 = $2 * $54; + $56 = ((($1)) + 52|0); + $57 = +HEAPF32[$56>>2]; + $58 = $4 * $57; + $59 = $55 + $58; + $60 = ((($1)) + 56|0); + $61 = +HEAPF32[$60>>2]; + $62 = $6 * $61; + $63 = $59 + $62; + $64 = ((($1)) + 60|0); + $65 = +HEAPF32[$64>>2]; + $66 = $8 * $65; + $67 = $63 + $66; + HEAPF32[$7>>2] = $67; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[4696] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 18096; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 18136; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[4534]; + $111 = +HEAPF32[4524]; + $112 = $110 - $111; + HEAPF32[4536] = $112; + $113 = +HEAPF32[(18140)>>2]; + $114 = +HEAPF32[(18100)>>2]; + $115 = $113 - $114; + HEAPF32[(18148)>>2] = $115; + HEAP32[4695] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[4701] = $116; + $117 = 18128; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 18096; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 18152; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 18136; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 18128; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 18152; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[4538]; + $160 = +HEAPF32[4532]; + $161 = $159 - $160; + HEAPF32[4536] = $161; + $162 = +HEAPF32[(18156)>>2]; + $163 = +HEAPF32[(18132)>>2]; + $164 = $162 - $163; + HEAPF32[(18148)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18136+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[4701]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[4695] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[4702] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[4701] = 0.0; + HEAPF32[4702] = 0.0; + HEAPF32[4536] = 0.0; + HEAPF32[(18148)>>2] = 0.0; + HEAP32[4696] = 0; + HEAP32[4695] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[4697]|0; + $7 = (($6) + 1)|0; + HEAP32[4697] = $7; + $8 = HEAP32[4695]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[4695] = 2; + HEAP32[4697] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[4697] = 1; + HEAP32[4695] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 18096; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 18104; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 18112; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[11] = $34; + HEAPF32[4530] = 0.0; + HEAPF32[(18124)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[4695]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 18112; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[4698] = $49; + HEAP32[4699] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[11]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[4700] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[4698] = 0.0; + HEAPF32[4700] = 0.0; + $$sink10 = 0; + } + HEAP32[4695] = $$sink10; + HEAPF32[4526] = 0.0; + HEAPF32[(18108)>>2] = 0.0; + HEAP32[4696] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[4699]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[4699] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 18128; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[4695]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[4695] = 8; + } + } + $82 = +HEAPF32[4532]; + $83 = +HEAPF32[4526]; + $84 = $82 - $83; + HEAPF32[4530] = $84; + $85 = +HEAPF32[(18132)>>2]; + $86 = +HEAPF32[(18108)>>2]; + $87 = $85 - $86; + HEAPF32[(18124)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4695]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[4696]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[4695] = 4; + } + $4 = HEAP32[4695]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[4695] = 0; + return; +} +function _SetCameraMode($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$023$0$$sroa_idx = 0, $$sroa$023$0$copyload = 0.0, $$sroa$030$0$copyload = 0.0, $$sroa$4$0$$sroa_idx25 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$432$0$$sroa_idx33 = 0, $$sroa$432$0$copyload = 0.0, $$sroa$527$0$$sroa_idx28 = 0, $$sroa$527$0$copyload = 0.0, $$sroa$535$0$$sroa_idx36 = 0, $$sroa$535$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; + var $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$030$0$copyload = +HEAPF32[$0>>2]; + $$sroa$432$0$$sroa_idx33 = ((($0)) + 4|0); + $$sroa$432$0$copyload = +HEAPF32[$$sroa$432$0$$sroa_idx33>>2]; + $$sroa$535$0$$sroa_idx36 = ((($0)) + 8|0); + $$sroa$535$0$copyload = +HEAPF32[$$sroa$535$0$$sroa_idx36>>2]; + $$sroa$023$0$$sroa_idx = ((($0)) + 12|0); + $$sroa$023$0$copyload = +HEAPF32[$$sroa$023$0$$sroa_idx>>2]; + $$sroa$4$0$$sroa_idx25 = ((($0)) + 16|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx25>>2]; + $$sroa$527$0$$sroa_idx28 = ((($0)) + 20|0); + $$sroa$527$0$copyload = +HEAPF32[$$sroa$527$0$$sroa_idx28>>2]; + $2 = $$sroa$023$0$copyload - $$sroa$030$0$copyload; + $3 = $$sroa$4$0$copyload - $$sroa$432$0$copyload; + $4 = $$sroa$527$0$copyload - $$sroa$535$0$copyload; + $5 = $2 * $2; + $6 = $3 * $3; + $7 = $5 + $6; + $8 = $4 * $4; + $9 = $7 + $8; + $10 = (+Math_sqrt((+$9))); + HEAPF32[4703] = $10; + $11 = $5 + $8; + $12 = (+Math_sqrt((+$11))); + $13 = (+Math_sqrt((+$7))); + $14 = (+Math_abs((+$2))); + $15 = $14 / $12; + $16 = (+Math_asin((+$15))); + HEAPF32[4704] = $16; + $17 = (+Math_abs((+$3))); + $18 = $17 / $13; + $19 = (+Math_asin((+$18))); + $20 = -$19; + HEAPF32[4705] = $20; + $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; + HEAP32[12] = $21; + HEAP32[4706] = $1; + return; +} +function _UpdateCamera($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$byval_copy3 = 0, $$not = 0, $$not188 = 0, $$off187 = 0, $$pr = 0, $$pr190 = 0, $$sink = 0.0, $$sink17 = 0, $$sink22 = 0.0, $$sink22$p = 0.0, $$sink26 = 0.0, $$sink28 = 0.0, $$sroa$095$0 = 0.0, $$sroa$9$0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0; + var $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0.0; + var $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0; + var $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0; + var $175 = 0.0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0.0; + var $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; + var $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0.0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0; + var $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0; + var $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0.0; + var $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0; + var $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0.0, $287 = 0.0, $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0; + var $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0.0; + var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0; + var $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0, $345 = 0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0.0, $35 = 0, $350 = 0.0, $351 = 0, $352 = 0.0, $353 = 0.0, $354 = 0.0; + var $355 = 0.0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0.0, $37 = 0.0, $370 = 0.0, $371 = 0.0, $372 = 0.0; + var $373 = 0.0, $374 = 0.0, $375 = 0.0, $376 = 0, $377 = 0.0, $378 = 0.0, $379 = 0, $38 = 0.0, $380 = 0, $381 = 0.0, $382 = 0.0, $383 = 0.0, $384 = 0.0, $385 = 0.0, $386 = 0.0, $387 = 0.0, $388 = 0, $389 = 0.0, $39 = 0.0, $390 = 0.0; + var $391 = 0, $392 = 0.0, $393 = 0.0, $394 = 0, $395 = 0.0, $396 = 0.0, $397 = 0.0, $398 = 0.0, $399 = 0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0.0, $402 = 0.0, $403 = 0, $404 = 0.0, $405 = 0.0, $406 = 0, $407 = 0, $408 = 0; + var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; + var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0.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.0, $86 = 0, $87 = 0; + var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond189 = 0, $or$cond3 = 0; + var $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $storemerge = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy3 = sp + 72|0; + $1 = sp + 56|0; + $2 = sp + 16|0; + $3 = sp + 64|0; + $4 = sp + 48|0; + $5 = sp + 40|0; + $6 = sp + 8|0; + $7 = sp; + _GetMousePosition($1); + $8 = (_GetMouseWheelMove()|0); + $9 = HEAP32[13]|0; + $10 = (_IsMouseButtonDown($9)|0); + $11 = HEAP32[14]|0; + $12 = (_IsKeyDown($11)|0); + $13 = HEAP32[15]|0; + $14 = (_IsKeyDown($13)|0); + $15 = HEAP32[16]|0; + $16 = (_IsKeyDown($15)|0); + HEAP32[$2>>2] = $16; + $17 = ((($2)) + 4|0); + $18 = HEAP32[17]|0; + $19 = (_IsKeyDown($18)|0); + HEAP32[$17>>2] = $19; + $20 = ((($2)) + 8|0); + $21 = HEAP32[18]|0; + $22 = (_IsKeyDown($21)|0); + HEAP32[$20>>2] = $22; + $23 = ((($2)) + 12|0); + $24 = HEAP32[19]|0; + $25 = (_IsKeyDown($24)|0); + HEAP32[$23>>2] = $25; + $26 = ((($2)) + 16|0); + $27 = HEAP32[20]|0; + $28 = (_IsKeyDown($27)|0); + HEAP32[$26>>2] = $28; + $29 = ((($2)) + 20|0); + $30 = HEAP32[21]|0; + $31 = (_IsKeyDown($30)|0); + HEAP32[$29>>2] = $31; + $32 = HEAP32[4706]|0; + $33 = ($32|0)==(0); + L1: do { + if ($33) { + label = 58; + } else { + $34 = (_GetScreenWidth()|0); + $35 = (_GetScreenHeight()|0); + $$off187 = (($32) + -3)|0; + $36 = ($$off187>>>0)<(2); + do { + if ($36) { + _HideCursor(); + $37 = +HEAPF32[$1>>2]; + $38 = (+($35|0)); + $39 = $38 / 3.0; + $40 = $37 < $39; + $41 = ((($1)) + 4|0); + $42 = +HEAPF32[$41>>2]; + if ($40) { + $43 = (($35|0) / 3)&-1; + $44 = (($34) - ($43))|0; + $45 = (+($44|0)); + HEAPF32[$3>>2] = $45; + $46 = ((($3)) + 4|0); + HEAPF32[$46>>2] = $42; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; + _SetMousePosition($$byval_copy3); + $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; + break; + } + $47 = $42 < $39; + if ($47) { + HEAPF32[$4>>2] = $37; + $48 = ((($4)) + 4|0); + $49 = (($35|0) / 3)&-1; + $50 = (($35) - ($49))|0; + $51 = (+($50|0)); + HEAPF32[$48>>2] = $51; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _SetMousePosition($$byval_copy3); + $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; + break; + } + $52 = (+($34|0)); + $53 = $52 - $39; + $54 = $37 > $53; + if ($54) { + $55 = (($35|0) / 3)&-1; + $56 = (+($55|0)); + HEAPF32[$5>>2] = $56; + $57 = ((($5)) + 4|0); + $58 = HEAP32[$41>>2]|0; + HEAP32[$57>>2] = $58; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0; + _SetMousePosition($$byval_copy3); + $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; + break; + } + $59 = $38 - $39; + $60 = $42 > $59; + if ($60) { + HEAPF32[$6>>2] = $37; + $61 = ((($6)) + 4|0); + $62 = (($35|0) / 3)&-1; + $63 = (+($62|0)); + HEAPF32[$61>>2] = $63; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0; + _SetMousePosition($$byval_copy3); + $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; + break; + } else { + $64 = +HEAPF32[4540]; + $65 = $37 - $64; + $66 = +HEAPF32[(18164)>>2]; + $67 = $42 - $66; + $$sroa$095$0 = $65;$$sroa$9$0 = $67; + break; + } + } else { + _ShowCursor(); + $68 = +HEAPF32[$1>>2]; + $69 = +HEAPF32[4540]; + $70 = $68 - $69; + $71 = ((($1)) + 4|0); + $72 = +HEAPF32[$71>>2]; + $73 = +HEAPF32[(18164)>>2]; + $74 = $72 - $73; + $$sroa$095$0 = $70;$$sroa$9$0 = $74; + } + } while(0); + _GetMousePosition($7); + $75 = $7; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = (($75) + 4)|0; + $79 = $78; + $80 = HEAP32[$79>>2]|0; + $81 = 18160; + $82 = $81; + HEAP32[$82>>2] = $77; + $83 = (($81) + 4)|0; + $84 = $83; + HEAP32[$84>>2] = $80; + $$pr = HEAP32[4706]|0; + switch ($$pr|0) { + case 1: { + $85 = +HEAPF32[4703]; + $86 = $85 < 120.0; + $87 = ($8|0)<(0); + $or$cond3 = $87 & $86; + do { + if ($or$cond3) { + $88 = (+($8|0)); + $89 = $88 * 1.5; + $90 = $85 - $89; + HEAPF32[4703] = $90; + $91 = $90 > 120.0; + if ($91) { + HEAPF32[4703] = 120.0; + } + } else { + $92 = ((($0)) + 4|0); + $93 = +HEAPF32[$92>>2]; + $94 = ((($0)) + 12|0); + $95 = ((($0)) + 16|0); + $96 = +HEAPF32[$95>>2]; + $97 = $93 > $96; + $98 = $85 == 120.0; + $or$cond5 = $98 & $97; + $or$cond7 = $87 & $or$cond5; + if ($or$cond7) { + $99 = (+($8|0)); + $100 = +HEAPF32[$94>>2]; + $101 = +HEAPF32[$0>>2]; + $102 = $100 - $101; + $103 = $99 * $102; + $104 = $103 * 1.5; + $105 = $104 / $85; + $106 = $100 + $105; + HEAPF32[$94>>2] = $106; + $107 = $96 - $93; + $108 = $99 * $107; + $109 = $108 * 1.5; + $110 = $109 / $85; + $111 = $96 + $110; + HEAPF32[$95>>2] = $111; + $112 = ((($0)) + 20|0); + $113 = +HEAPF32[$112>>2]; + $114 = ((($0)) + 8|0); + $115 = +HEAPF32[$114>>2]; + $116 = $113 - $115; + $117 = $99 * $116; + $118 = $117 * 1.5; + $119 = $118 / $85; + $120 = $113 + $119; + HEAPF32[$112>>2] = $120; + break; + } + $$not = $97 ^ 1; + $121 = !($96 >= 0.0); + $or$cond = $121 | $$not; + if (!($or$cond)) { + $122 = (+($8|0)); + $123 = +HEAPF32[$94>>2]; + $124 = +HEAPF32[$0>>2]; + $125 = $123 - $124; + $126 = $122 * $125; + $127 = $126 * 1.5; + $128 = $127 / $85; + $129 = $123 + $128; + HEAPF32[$94>>2] = $129; + $130 = $96 - $93; + $131 = $122 * $130; + $132 = $131 * 1.5; + $133 = $132 / $85; + $134 = $96 + $133; + HEAPF32[$95>>2] = $134; + $135 = ((($0)) + 20|0); + $136 = +HEAPF32[$135>>2]; + $137 = ((($0)) + 8|0); + $138 = +HEAPF32[$137>>2]; + $139 = $136 - $138; + $140 = $122 * $139; + $141 = $140 * 1.5; + $142 = $141 / $85; + $143 = $136 + $142; + HEAPF32[$135>>2] = $143; + break; + } + if ($97) { + $144 = $96 < 0.0; + $145 = ($8|0)>(0); + $or$cond9 = $145 & $144; + if ($or$cond9) { + $146 = (+($8|0)); + $147 = $146 * 1.5; + $148 = $85 - $147; + HEAPF32[4703] = $148; + $149 = $148 < 0.30000001192092896; + if (!($149)) { + break; + } + HEAPF32[4703] = 0.30000001192092896; + break; + } + } + $150 = $93 < $96; + $or$cond11 = $98 & $150; + $or$cond13 = $87 & $or$cond11; + $151 = +HEAPF32[$95>>2]; + $152 = +HEAPF32[$92>>2]; + if ($or$cond13) { + $153 = (+($8|0)); + $154 = +HEAPF32[$94>>2]; + $155 = +HEAPF32[$0>>2]; + $156 = $154 - $155; + $157 = $153 * $156; + $158 = $157 * 1.5; + $159 = $158 / $85; + $160 = $154 + $159; + HEAPF32[$94>>2] = $160; + $161 = $151 - $152; + $162 = $153 * $161; + $163 = $162 * 1.5; + $164 = +HEAPF32[4703]; + $165 = $163 / $164; + $166 = $151 + $165; + HEAPF32[$95>>2] = $166; + $167 = ((($0)) + 20|0); + $168 = +HEAPF32[$167>>2]; + $169 = ((($0)) + 8|0); + $170 = +HEAPF32[$169>>2]; + $171 = $168 - $170; + $172 = $153 * $171; + $173 = $172 * 1.5; + $174 = $173 / $164; + $175 = $168 + $174; + HEAPF32[$167>>2] = $175; + break; + } + $$not188 = $150 ^ 1; + $176 = !($96 <= 0.0); + $or$cond189 = $176 | $$not188; + if (!($or$cond189)) { + $177 = (+($8|0)); + $178 = +HEAPF32[$94>>2]; + $179 = +HEAPF32[$0>>2]; + $180 = $178 - $179; + $181 = $177 * $180; + $182 = $181 * 1.5; + $183 = $182 / $85; + $184 = $178 + $183; + HEAPF32[$94>>2] = $184; + $185 = $151 - $152; + $186 = $177 * $185; + $187 = $186 * 1.5; + $188 = +HEAPF32[4703]; + $189 = $187 / $188; + $190 = $151 + $189; + HEAPF32[$95>>2] = $190; + $191 = ((($0)) + 20|0); + $192 = +HEAPF32[$191>>2]; + $193 = ((($0)) + 8|0); + $194 = +HEAPF32[$193>>2]; + $195 = $192 - $194; + $196 = $177 * $195; + $197 = $196 * 1.5; + $198 = $197 / $188; + $199 = $192 + $198; + HEAPF32[$191>>2] = $199; + break; + } + $200 = $152 < $151; + if ($200) { + $201 = $151 > 0.0; + $202 = ($8|0)>(0); + $or$cond15 = $202 & $201; + if ($or$cond15) { + $203 = (+($8|0)); + $204 = $203 * 1.5; + $205 = +HEAPF32[4703]; + $206 = $205 - $204; + HEAPF32[4703] = $206; + $207 = $206 < 0.30000001192092896; + if ($207) { + HEAPF32[4703] = 0.30000001192092896; + } + } + } + } + } while(0); + $208 = ($10|0)==(0); + if ($208) { + label = 58; + break L1; + } + $209 = ($12|0)==(0); + if ($209) { + $222 = $$sroa$095$0 * -0.0099999997764825821; + $223 = +HEAPF32[4704]; + $224 = (+Math_cos((+$223))); + $225 = $222 * $224; + $226 = $$sroa$9$0 * 0.0099999997764825821; + $227 = (+Math_sin((+$223))); + $228 = $226 * $227; + $229 = +HEAPF32[4705]; + $230 = (+Math_sin((+$229))); + $231 = $228 * $230; + $232 = $225 + $231; + $233 = +HEAPF32[4703]; + $234 = $233 / 5.0999999046325684; + $235 = $232 * $234; + $236 = ((($0)) + 12|0); + $237 = +HEAPF32[$236>>2]; + $238 = $237 + $235; + HEAPF32[$236>>2] = $238; + $239 = (+Math_cos((+$229))); + $240 = $226 * $239; + $241 = $234 * $240; + $242 = ((($0)) + 16|0); + $243 = +HEAPF32[$242>>2]; + $244 = $243 + $241; + HEAPF32[$242>>2] = $244; + $245 = $$sroa$095$0 * 0.0099999997764825821; + $246 = $245 * $227; + $247 = $226 * $224; + $248 = $247 * $230; + $249 = $246 + $248; + $250 = $249 * $234; + $251 = ((($0)) + 20|0); + $252 = +HEAPF32[$251>>2]; + $253 = $250 + $252; + HEAPF32[$251>>2] = $253; + label = 58; + break L1; + } + $210 = ($14|0)==(0); + if (!($210)) { + $211 = $$sroa$9$0 * 0.05000000074505806; + $212 = +HEAPF32[4703]; + $213 = $211 + $212; + HEAPF32[4703] = $213; + label = 58; + break L1; + } + $214 = $$sroa$095$0 * 0.0099999997764825821; + $215 = +HEAPF32[4704]; + $216 = $215 - $214; + HEAPF32[4704] = $216; + $217 = $$sroa$9$0 * 0.0099999997764825821; + $218 = +HEAPF32[4705]; + $219 = $218 - $217; + HEAPF32[4705] = $219; + $220 = $219 > 1.483529806137085; + if ($220) { + HEAPF32[4705] = 1.483529806137085; + label = 58; + break L1; + } + $221 = $219 < -1.483529806137085; + if (!($221)) { + label = 58; + break L1; + } + HEAPF32[4705] = -1.483529806137085; + label = 58; + break L1; + break; + } + case 2: { + $254 = +HEAPF32[4704]; + $255 = $254 + 0.0099999997764825821; + HEAPF32[4704] = $255; + $256 = (+($8|0)); + $257 = $256 * 1.5; + $258 = +HEAPF32[4703]; + $259 = $258 - $257; + HEAPF32[4703] = $259; + $260 = $259 < 1.2000000476837158; + if (!($260)) { + label = 58; + break L1; + } + HEAPF32[4703] = 1.2000000476837158; + label = 58; + break L1; + break; + } + case 4: case 3: { + $264 = +HEAPF32[4704]; + $265 = (+Math_sin((+$264))); + $266 = HEAP32[$17>>2]|0; + $267 = (+($266>>>0)); + $268 = $265 * $267; + $269 = HEAP32[$2>>2]|0; + $270 = (+($269>>>0)); + $271 = $265 * $270; + $272 = $268 - $271; + $273 = (+Math_cos((+$264))); + $274 = HEAP32[$23>>2]|0; + $275 = (+($274>>>0)); + $276 = $273 * $275; + $277 = $272 - $276; + $278 = HEAP32[$20>>2]|0; + $279 = (+($278>>>0)); + $280 = $273 * $279; + $281 = $277 + $280; + $282 = $281 / 20.0; + $283 = +HEAPF32[$0>>2]; + $284 = $283 + $282; + HEAPF32[$0>>2] = $284; + $285 = +HEAPF32[4705]; + $286 = (+Math_sin((+$285))); + $287 = $270 * $286; + $288 = $267 * $286; + $289 = $287 - $288; + $290 = HEAP32[$26>>2]|0; + $291 = (+($290>>>0)); + $292 = $289 + $291; + $293 = HEAP32[$29>>2]|0; + $294 = (+($293>>>0)); + $295 = $292 - $294; + $296 = $295 / 20.0; + $297 = ((($0)) + 4|0); + $298 = +HEAPF32[$297>>2]; + $299 = $298 + $296; + HEAPF32[$297>>2] = $299; + $300 = $267 * $273; + $301 = $273 * $270; + $302 = $300 - $301; + $303 = $265 * $275; + $304 = $302 + $303; + $305 = $265 * $279; + $306 = $304 - $305; + $307 = $306 / 20.0; + $308 = ((($0)) + 8|0); + $309 = +HEAPF32[$308>>2]; + $310 = $307 + $309; + HEAPF32[$308>>2] = $310; + $311 = HEAP32[$2>>2]|0; + $312 = ($311|0)==(0); + if ($312) { + $261 = ((($2)) + 4|0); + $262 = HEAP32[$261>>2]|0; + $263 = ($262|0)==(0); + if ($263) { + $407 = ((($2)) + 8|0); + $408 = HEAP32[$407>>2]|0; + $409 = ($408|0)==(0); + if ($409) { + $410 = ((($2)) + 12|0); + $411 = HEAP32[$410>>2]|0; + $412 = ($411|0)==(0); + if ($412) { + $413 = ((($2)) + 16|0); + $414 = HEAP32[$413>>2]|0; + $415 = ($414|0)==(0); + if ($415) { + $416 = ((($2)) + 20|0); + $417 = HEAP32[$416>>2]|0; + $not$ = ($417|0)!=(0); + $$ = $not$&1; + $$0 = $$; + } else { + $$0 = 1; + } + } else { + $$0 = 1; + } + } else { + $$0 = 1; + } + } else { + $$0 = 1; + } + } else { + $$0 = 1; + } + $313 = $$sroa$095$0 * 0.0030000000260770321; + $314 = +HEAPF32[4704]; + $315 = $314 - $313; + HEAPF32[4704] = $315; + $316 = $$sroa$9$0 * 0.0030000000260770321; + $317 = +HEAPF32[4705]; + $318 = $317 - $316; + HEAPF32[4705] = $318; + $319 = HEAP32[4706]|0; + $320 = ($319|0)==(4); + if ($320) { + $321 = $318 > 0.087266460061073303; + if ($321) { + $$sink26 = 0.087266460061073303; + label = 49; + } else { + $322 = $318 < -1.483529806137085; + if ($322) { + $$sink26 = -1.483529806137085; + label = 49; + } + } + if ((label|0) == 49) { + HEAPF32[4705] = $$sink26; + } + $323 = (+($8|0)); + $324 = $323 * 1.5; + $325 = +HEAPF32[4703]; + $326 = $325 - $324; + $327 = $326 < 1.2000000476837158; + $storemerge = $327 ? 1.2000000476837158 : $326; + HEAPF32[4703] = $storemerge; + $328 = +HEAPF32[$0>>2]; + $329 = +HEAPF32[4704]; + $330 = (+Math_cos((+$329))); + $331 = $330 * 0.40000000596046448; + $332 = $328 + $331; + $333 = (+Math_sin((+$329))); + $334 = $333 * 0.0; + $335 = $332 + $334; + $336 = ((($0)) + 12|0); + HEAPF32[$336>>2] = $335; + $337 = +HEAPF32[$297>>2]; + $338 = $337 + 0.0; + $339 = ((($0)) + 16|0); + HEAPF32[$339>>2] = $338; + $340 = +HEAPF32[$308>>2]; + $341 = $334 + $340; + $342 = $333 * 0.40000000596046448; + $343 = $341 - $342; + $$sink = $343;$$sink17 = $336; + } else { + $344 = $318 > 1.483529806137085; + if ($344) { + $$sink28 = 1.483529806137085; + label = 53; + } else { + $345 = $318 < -1.483529806137085; + if ($345) { + $$sink28 = -1.483529806137085; + label = 53; + } + } + if ((label|0) == 53) { + HEAPF32[4705] = $$sink28; + } + $346 = +HEAPF32[$0>>2]; + $347 = +HEAPF32[4704]; + $348 = (+Math_sin((+$347))); + $349 = $348 * 25.0; + $350 = $346 - $349; + $351 = ((($0)) + 12|0); + HEAPF32[$351>>2] = $350; + $352 = +HEAPF32[$297>>2]; + $353 = +HEAPF32[4705]; + $354 = (+Math_sin((+$353))); + $355 = $354 * 25.0; + $356 = $352 + $355; + $357 = ((($0)) + 16|0); + HEAPF32[$357>>2] = $356; + $358 = +HEAPF32[$308>>2]; + $359 = (+Math_cos((+$347))); + $360 = $359 * 25.0; + $361 = $358 - $360; + $362 = ((($0)) + 20|0); + HEAPF32[$362>>2] = $361; + $363 = ($$0|0)==(0); + if (!($363)) { + $364 = HEAP32[4707]|0; + $365 = (($364) + 1)|0; + HEAP32[4707] = $365; + } + $366 = +HEAPF32[12]; + $367 = HEAP32[4707]|0; + $368 = (+($367|0)); + $369 = $368 / 5.0; + $370 = (+Math_sin((+$369))); + $371 = $370 / 30.0; + $372 = $366 - $371; + HEAPF32[$297>>2] = $372; + $373 = $368 / 10.0; + $374 = (+Math_sin((+$373))); + $375 = $374 / 200.0; + $376 = ((($0)) + 24|0); + HEAPF32[$376>>2] = $375; + $377 = -$374; + $378 = $377 / 200.0; + $$sink = $378;$$sink17 = $376; + } + $379 = ((($$sink17)) + 8|0); + HEAPF32[$379>>2] = $$sink; + label = 58; + break L1; + break; + } + default: { + $380 = $$pr; + break L1; + } + } + } + } while(0); + if ((label|0) == 58) { + $$pr190 = HEAP32[4706]|0; + $380 = $$pr190; + } + switch ($380|0) { + case 1: case 2: case 4: { + break; + } + default: { + STACKTOP = sp;return; + } + } + $381 = +HEAPF32[4704]; + $382 = (+Math_sin((+$381))); + $383 = +HEAPF32[4703]; + $384 = $382 * $383; + $385 = +HEAPF32[4705]; + $386 = (+Math_cos((+$385))); + $387 = $384 * $386; + $388 = ((($0)) + 12|0); + $389 = +HEAPF32[$388>>2]; + $390 = $387 + $389; + HEAPF32[$0>>2] = $390; + $391 = !($385 <= 0.0); + $392 = (+Math_sin((+$385))); + $393 = +HEAPF32[4703]; + $394 = ((($0)) + 16|0); + $395 = +HEAPF32[$394>>2]; + $396 = $392 * $393; + $397 = $392 * $396; + $398 = -$397; + $$sink22$p = $391 ? $398 : $397; + $$sink22 = $395 + $$sink22$p; + $399 = ((($0)) + 4|0); + HEAPF32[$399>>2] = $$sink22; + $400 = (+Math_cos((+$381))); + $401 = $393 * $400; + $402 = $386 * $401; + $403 = ((($0)) + 20|0); + $404 = +HEAPF32[$403>>2]; + $405 = $404 + $402; + $406 = ((($0)) + 8|0); + HEAPF32[$406>>2] = $405; + STACKTOP = sp;return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 18168; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetMouseWheelMove() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4712]|0; + $1 = (($0|0) / 100)&-1; + return ($1|0); +} +function _IsMouseButtonDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetMouseButtonStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _IsKeyDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetKeyStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4711]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4710]|0; + return ($0|0); +} +function _HideCursor() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[4708] = 1; + return; +} +function _SetMousePosition($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.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; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = 18168; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + $11 = HEAP32[4709]|0; + $12 = +HEAPF32[$0>>2]; + $13 = $12; + $14 = ((($0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + _glfwSetCursorPos(($11|0),(+$13),(+$16)); + return; +} +function _ShowCursor() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[4708] = 0; + return; +} +function _GetKeyStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[4709]|0; + $2 = (_glfwGetKey(($1|0),($0|0))|0); + return ($2|0); +} +function _GetMouseButtonStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[4709]|0; + $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,4685,$vararg_buffer); + HEAP32[4713] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); + (_emscripten_set_keypress_callback((4714|0),(0|0),1,(6|0))|0); + (_emscripten_set_click_callback((4714|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchstart_callback((4714|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchend_callback((4714|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchmove_callback((4714|0),(0|0),1,(8|0))|0); + (_emscripten_set_touchcancel_callback((4714|0),(0|0),1,(8|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); + $3 = HEAP32[4711]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[4542] = $5; + $6 = HEAP32[4710]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(18172)>>2] = $8; + $9 = HEAP32[4714]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[18208>>0]=HEAP8[9214>>0]|0;HEAP8[18208+1>>0]=HEAP8[9214+1>>0]|0;HEAP8[18208+2>>0]=HEAP8[9214+2>>0]|0;HEAP8[18208+3>>0]=HEAP8[9214+3>>0]|0;HEAP8[18208+4>>0]=HEAP8[9214+4>>0]|0;HEAP8[18208+5>>0]=HEAP8[9214+5>>0]|0;HEAP8[18208+6>>0]=HEAP8[9214+6>>0]|0; + break; + } + case 1: { + $3 = 18208; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=18208; src=9221; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 18208; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(18208,$1)|0); + $strlen = (_strlen(18208)|0); + $endptr = (18208 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(18208,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[4711] = $0; + HEAP32[4710] = $1; + _MatrixIdentity($2); + dest=18932; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,5356,$vararg_buffer); + } + $6 = HEAP32[4711]|0; + HEAP32[4749] = $6; + $7 = HEAP32[4710]|0; + HEAP32[4750] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[21676]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[21676]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[21676]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,5382,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[4751]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[4711]|0; + $48 = HEAP32[4710]|0; + $49 = HEAP32[4713]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[4709] = $50; + $51 = HEAP32[4711]|0; + HEAP32[4752] = $51; + $52 = HEAP32[4710]|0; + HEAP32[4753] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[4711]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[4710]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[4749] = $31; + HEAP32[4750] = $34; + } + } while(0); + $38 = HEAP32[4749]|0; + $39 = HEAP32[4750]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,5407,$vararg_buffer3); + $40 = HEAP32[4749]|0; + $41 = HEAP32[4750]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[4749]|0; + $43 = HEAP32[4750]|0; + $44 = HEAP32[4713]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[4709] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,5445,$vararg_buffer6); + } else { + _TraceLog(0,5478,$vararg_buffer8); + $55 = HEAP32[4752]|0; + $56 = HEAP32[4753]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,5518,$vararg_buffer10); + $57 = HEAP32[4711]|0; + $58 = HEAP32[4710]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,5539,$vararg_buffer14); + $59 = HEAP32[4754]|0; + $60 = HEAP32[4755]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,5560,$vararg_buffer18); + } + $61 = HEAP32[4709]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[4709]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[4709]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[4709]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[4709]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[4709]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[4709]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[4709]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[4709]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[21676]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[4711]|0; + $74 = HEAP32[4710]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[4752]|0; + $76 = HEAP32[4754]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[4753]|0; + $80 = HEAP32[4755]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,5585,$vararg_buffer22); + $73 = HEAP32[4711]|0; + $74 = HEAP32[4710]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[4752]|0; + $76 = HEAP32[4754]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[4753]|0; + $80 = HEAP32[4755]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(18900)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (88 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[18876>>2]=HEAP32[$1>>2]|0;HEAP32[18876+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18876+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18876+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18876+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(18900)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(18904)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(18896)>>2] = $23; + $24 = HEAP32[4719]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,4909,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(18880)>>2]|0; + $10 = HEAP32[(18900)>>2]|0; + $11 = HEAP32[(18904)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2136 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(18896)>>2] = $23; + $24 = HEAP32[4719]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,4909,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[2275] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,4842,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,4773,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,4766)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 18184; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (18192); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (18860 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[2272] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,4722,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[4714] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,5256,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[4727]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,4954,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[4728]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,4998,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[4729]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,5043,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[4730]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,5088,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[4731]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,5133,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[4727]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[4727]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[4727]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[4727]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[4728]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[4729]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[4729]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[4730]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[4730]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[4731]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[4731]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,5178,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[4732]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,11944,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,5207,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,5310,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,9176,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[4711]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[4710]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[4752] = $3; + HEAP32[4753] = $5; + HEAP32[4754] = 0; + HEAP32[4755] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,9110,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[4711]|0; + $36 = (+($35|0)); + $37 = HEAP32[4710]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[4752] = $45; + HEAP32[4753] = $37; + $46 = (($45) - ($35))|0; + HEAP32[4754] = $46; + $$sink1 = 0; + } else { + HEAP32[4752] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[4753] = $42; + HEAP32[4754] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[4755] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[4710]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,8967,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[4711]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[4710]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[4752] = $23; + HEAP32[4753] = $1; + $24 = (($0) - ($23))|0; + HEAP32[4754] = $24; + $$sink = 0; + } else { + HEAP32[4752] = $0; + $17 = HEAP32[4710]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[4753] = $20; + HEAP32[4754] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[4755] = $$sink; + $25 = HEAP32[4752]|0; + $26 = (+($25|0)); + $27 = HEAP32[4711]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=18932; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4752] = $0; + HEAP32[4753] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,9045,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[4711] = $1; + HEAP32[4710] = $2; + HEAP32[4752] = $1; + HEAP32[4753] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[759]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (21683 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[758] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (21677 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 18184; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[758] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[5125] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[5124] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,5608,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,5626,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,5644,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,5662,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,5680)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,5682,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,5717)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[4790] = 1; + $27 = (_eglGetProcAddress((5744|0))|0); + HEAP32[4791] = $27; + $28 = (_eglGetProcAddress((5765|0))|0); + HEAP32[4792] = $28; + $29 = (_eglGetProcAddress((5786|0))|0); + HEAP32[4793] = $29; + } + $30 = (_strcmp($24,5810)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[4732] = 1; + } + $32 = (_strcmp($24,5830)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,5862)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,5895)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[4727] = 1; + } + $39 = (_strcmp($24,5935)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,5971)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[4728] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,6004)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[4729] = 1; + } + $47 = (_strcmp($44,6029)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[4730] = 1; + } + $49 = (_strcmp($44,6062)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[4731] = 1; + } + $51 = (_strcmp($44,6098)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[4794] = 1; + _glGetFloatv(34047,(19180|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,6132)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[4796] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[4790]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,6235,$vararg_buffer15); + } else { + _TraceLog(0,6160,$vararg_buffer13); + } + $57 = HEAP32[4732]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,6371,$vararg_buffer19); + } else { + _TraceLog(0,6296,$vararg_buffer17); + } + $59 = HEAP32[4727]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,6463,$vararg_buffer21); + } + $61 = HEAP32[4728]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,6509,$vararg_buffer23); + } + $63 = HEAP32[4729]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,6556,$vararg_buffer25); + } + $65 = HEAP32[4730]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,6607,$vararg_buffer27); + } + $67 = HEAP32[4731]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,6654,$vararg_buffer29); + } + $69 = HEAP32[4794]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[4795]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,6701,$vararg_buffer31); + } + $73 = HEAP32[4796]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,6767,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[4797] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,6871,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,6820,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=19192; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19248; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[4826] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[4826]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[4827] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[4828] = 1; + $85 = HEAP32[4797]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[4829] = 4; + _MatrixIdentity($4); + dest=19320; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19384); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19448); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19512); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19576); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19640); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19704); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19768); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19832); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19896); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(19960); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(20024); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(20088); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(20152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(20216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(20280); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=19028; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=19092; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4756] = 19092; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[5086] = $0; + HEAP32[5087] = $1; + _TraceLog(0,6910,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4754]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[4755]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[4752]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[4753]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 19028; + label = 3; + break; + } + case 5888: { + $modelview$sink = 19092; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[4756] = $modelview$sink; + } + HEAP32[4789] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[4756]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[4756]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(7486|0),489)|0; + _memcpy(($3|0),(7975|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,8464,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,8416,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(20364)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(20372)>>2] = $1; + HEAP32[(20368)>>2] = 0; + HEAP32[(20376)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(20372)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[5088] = 0; + HEAP32[(20360)>>2] = 0; + HEAP32[(20356)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(20412)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(20420)>>2] = $6; + HEAP32[(20416)>>2] = 0; + HEAP32[(20424)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(20420)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[5100] = 0; + HEAP32[(20408)>>2] = 0; + HEAP32[(20404)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(20460)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(20464)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(20468)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(20472)>>2] = $13; + $14 = HEAP32[(20460)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(20464)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(20468)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(20472)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[5112] = 0; + HEAP32[(20452)>>2] = 0; + HEAP32[(20456)>>2] = 0; + _TraceLog(0,6957,$vararg_buffer); + $20 = HEAP32[4790]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[4791]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20380)); + $44 = HEAP32[4792]|0; + $45 = HEAP32[(20380)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((20384)|0)); + $46 = HEAP32[(20384)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(20364)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(19252)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(19252)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((20388)|0)); + $50 = HEAP32[(20388)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(20372)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(19272)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(19272)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[4790]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(20384)>>2]|0; + $58 = HEAP32[(20388)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,7095,$vararg_buffer3); + } else { + $56 = HEAP32[(20380)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,7030,$vararg_buffer1); + } + $59 = HEAP32[4790]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[4791]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20428)); + $62 = HEAP32[4792]|0; + $63 = HEAP32[(20428)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((20432)|0)); + $64 = HEAP32[(20432)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(20412)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(19252)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(19252)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((20436)|0)); + $68 = HEAP32[(20436)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(20420)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(19272)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(19272)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[4790]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(20432)>>2]|0; + $76 = HEAP32[(20436)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,7241,$vararg_buffer10); + } else { + $74 = HEAP32[(20428)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,7172,$vararg_buffer7); + } + $77 = HEAP32[4790]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[4791]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20476)); + $80 = HEAP32[4792]|0; + $81 = HEAP32[(20476)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((20480)|0)); + $82 = HEAP32[(20480)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(20460)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(19252)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(19252)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((20484)|0)); + $86 = HEAP32[(20484)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(20464)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(19256)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(19256)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((20488)|0)); + $90 = HEAP32[(20488)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(20468)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(19272)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(19272)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((20492)|0)); + $94 = HEAP32[(20492)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(20472)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[4790]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(20480)>>2]|0; + $100 = HEAP32[(20484)>>2]|0; + $101 = HEAP32[(20488)>>2]|0; + $102 = HEAP32[(20492)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,7387,$vararg_buffer17); + } else { + $98 = HEAP32[(20476)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,7322,$vararg_buffer14); + } + $103 = HEAP32[4790]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[4792]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,8720,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,8668,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,8717,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,8821,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,8770,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,8717,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(8512|0)); + _glBindAttribLocation(($20|0),1,(8527|0)); + _glBindAttribLocation(($20|0),2,(8558|0)); + _glBindAttribLocation(($20|0),3,(8585|0)); + _glBindAttribLocation(($20|0),4,(8571|0)); + _glBindAttribLocation(($20|0),5,(8542|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,8873,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,8717,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,8919,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(8512|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(8527|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(8542|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(8558|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(8571|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(8585|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(8597|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(8607|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(8618|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(8629|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(8641|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(8650|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(8659|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (21677 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (21680 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (21677 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (21680 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[4709]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,9231,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[18876>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18876+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18876+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18876+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18876+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(18904)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(19188|0)); + $0 = HEAP32[4797]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,9258,$vararg_buffer); + $1 = HEAP32[4827]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[4798]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[4790]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[4792]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((20384)|0)); + _glDeleteBuffers(1,((20388)|0)); + _glDeleteBuffers(1,((20432)|0)); + _glDeleteBuffers(1,((20436)|0)); + _glDeleteBuffers(1,((20480)|0)); + _glDeleteBuffers(1,((20484)|0)); + _glDeleteBuffers(1,((20488)|0)); + _glDeleteBuffers(1,((20492)|0)); + $3 = HEAP32[4790]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[4793]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20380)); + $6 = HEAP32[4793]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20428)); + $7 = HEAP32[4793]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20476)); + } + $8 = HEAP32[(20364)>>2]|0; + _free($8); + $9 = HEAP32[(20372)>>2]|0; + _free($9); + $10 = HEAP32[(20412)>>2]|0; + _free($10); + $11 = HEAP32[(20420)>>2]|0; + _free($11); + $12 = HEAP32[(20460)>>2]|0; + _free($12); + $13 = HEAP32[(20464)>>2]|0; + _free($13); + $14 = HEAP32[(20468)>>2]|0; + _free($14); + $15 = HEAP32[(20472)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,9323,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[2292] = $0; + $1 = +HEAPF64[2275]; + $2 = $0 - $1; + HEAPF64[2293] = $2; + HEAPF64[2275] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=18932; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(20504); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[5126] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(20508)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(20512)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(20516)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(20520)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(20524)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(20528)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(20532)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(20536)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(20540)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(20544)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(20548)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(20552)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(20556)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(20560)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(20564)>>2] = $31; + return (20504|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[4756]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[2292] = $0; + $1 = +HEAPF64[2275]; + $2 = $0 - $1; + HEAPF64[2294] = $2; + HEAPF64[2275] = $0; + $3 = +HEAPF64[2293]; + $4 = $2 + $3; + HEAPF64[2295] = $4; + $5 = +HEAPF64[2272]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[2292] = $10; + $11 = +HEAPF64[2275]; + $12 = $10 - $11; + HEAPF64[2275] = $10; + $13 = +HEAPF64[2295]; + $14 = $12 + $13; + HEAPF64[2295] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4709]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[758] = -1; + HEAP32[760] = -1; + HEAP32[5142] = 0; + $3 = HEAP32[4709]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[4542] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(18172)>>2] = $7; + _memcpy((22195|0),(21683|0),512)|0; + ;HEAP8[21680>>0]=HEAP8[21677>>0]|0;HEAP8[21680+1>>0]=HEAP8[21677+1>>0]|0;HEAP8[21680+2>>0]=HEAP8[21677+2>>0]|0; + $8 = HEAP32[5125]|0; + HEAP32[4712] = $8; + HEAP32[5125] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (22707 + ($$05160<<5)|0); + $scevgep67 = (22835 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((22835 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[760] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((20572 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[5142] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5088]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[4790]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[4792]|0; + $5 = HEAP32[(20380)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(20384)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[5088]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(20364)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(20388)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(20360)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(20372)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[5100]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[4790]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[4792]|0; + $19 = HEAP32[(20428)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(20432)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[5100]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(20412)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(20436)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(20408)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(20420)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[5112]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[4790]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[4792]|0; + $33 = HEAP32[(20476)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(20480)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[5112]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(20460)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(20484)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[5112]|0; + $40 = $39 << 3; + $41 = HEAP32[(20464)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(20488)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[5112]|0; + $44 = $43 << 2; + $45 = HEAP32[(20468)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[4790]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[4792]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=19028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=19092; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5175]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[5088]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[5100]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[5112]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[4812]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=19092; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=19028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(19276)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(19280)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(19292)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[5088]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[4797]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[4790]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(20384)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(19252)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(19252)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(20388)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(19272)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(19272)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[4792]|0; + $25 = HEAP32[(20380)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[5088]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[4790]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[5100]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[4797]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[4790]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(20432)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(19252)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(19252)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(20436)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(19272)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(19272)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[4792]|0; + $41 = HEAP32[(20428)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[5100]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[4790]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[5112]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[4790]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(20480)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(19252)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(19252)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(20484)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(19256)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(19256)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(20488)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(19272)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(19272)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(20492)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[4792]|0; + $56 = HEAP32[(20476)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[4828]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[4827]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[4827]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[4828]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[4790]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[4790]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[4792]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[4828] = 1; + $5 = HEAP32[4797]|0; + $6 = HEAP32[4827]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[5088] = 0; + HEAP32[(20360)>>2] = 0; + HEAP32[5100] = 0; + HEAP32[(20408)>>2] = 0; + HEAP32[5112] = 0; + HEAP32[(20452)>>2] = 0; + HEAP32[(20456)>>2] = 0; + HEAPF32[761] = -1.0; + dest=19028; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19092; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[5086]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[5087]|0; + _rlViewport($7,0,$8,$9); + $10 = (20932 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (20804 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=19092; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=19028; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _Begin3dMode($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; + var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $$byval_copy3 = sp + 88|0; + $$byval_copy1 = sp + 76|0; + $$byval_copy = sp + 64|0; + $1 = sp; + _rlglDraw(); + _rlMatrixMode(5889); + _rlPushMatrix(); + _rlLoadIdentity(); + $2 = HEAP32[4711]|0; + $3 = (+($2|0)); + $4 = HEAP32[4710]|0; + $5 = (+($4|0)); + $6 = $3 / $5; + $7 = ((($0)) + 36|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * 3.1415927410125732; + $10 = $9; + $11 = $10 / 360.0; + $12 = (+Math_tan((+$11))); + $13 = $12 * 0.01; + $14 = $6; + $15 = $13 * $14; + $16 = -$15; + $17 = -$13; + _rlFrustum($16,$15,$17,$13,0.01,1000.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + $18 = ((($0)) + 12|0); + $19 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; + _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); + dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($$byval_copy3)|0); + _rlMultMatrixf(20504); + _rlEnableDepthTest(); + STACKTOP = sp;return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[5265]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,9373,$vararg_buffer); + } + $2 = HEAP32[5265]|0; + $3 = (19320 + ($2<<6)|0); + $4 = HEAP32[4756]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[5265]|0; + $6 = (($5) + 1)|0; + HEAP32[5265] = $6; + $7 = HEAP32[4789]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[5266] = 1; + STACKTOP = sp;return; +} +function _rlFrustum($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[4756]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlEnableDepthTest() { + var label = 0, sp = 0; + sp = STACKTOP; + _glEnable(2929); + return; +} +function _End3dMode() { + var label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _rlMatrixMode(5889); + _rlPopMatrix(); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlDisableDepthTest(); + return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5265]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[5265]|0; + $3 = (($2) + -1)|0; + $4 = (19320 + ($3<<6)|0); + $5 = HEAP32[4756]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[5265] = $6; + return; +} +function _rlDisableDepthTest() { + var label = 0, sp = 0; + sp = STACKTOP; + _glDisable(2929); + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[2295]; + $1 = $0; + return (+$1); +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _GetMouseRay($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; + var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0; + var $7 = 0, $8 = 0, $9 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 416|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(416|0); + $$byval_copy10 = sp; + $$byval_copy9 = sp + 352|0; + $$byval_copy = sp + 288|0; + $3 = sp + 264|0; + $4 = sp + 200|0; + $5 = sp + 136|0; + $6 = sp + 120|0; + $7 = sp + 104|0; + $8 = sp + 88|0; + $9 = sp + 76|0; + $10 = sp + 64|0; + $11 = +HEAPF32[$1>>2]; + $12 = $11 * 2.0; + $13 = (_GetScreenWidth()|0); + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = $15 + -1.0; + $17 = ((($1)) + 4|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 * 2.0; + $20 = (_GetScreenHeight()|0); + $21 = (+($20|0)); + $22 = $19 / $21; + $23 = 1.0 - $22; + $24 = $16; + $25 = $23; + HEAPF64[$$byval_copy10>>3] = $24; + $vararg_ptr1 = ((($$byval_copy10)) + 8|0); + HEAPF64[$vararg_ptr1>>3] = $25; + $vararg_ptr2 = ((($$byval_copy10)) + 16|0); + HEAPF64[$vararg_ptr2>>3] = 1.0; + _TraceLog(3,9411,$$byval_copy10); + $26 = ((($2)) + 36|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = (_GetScreenWidth()|0); + $30 = (+($29|0)); + $31 = (_GetScreenHeight()|0); + $32 = (+($31|0)); + $33 = $30 / $32; + _MatrixPerspective($4,$28,$33,0.01,1000.0); + $34 = ((($2)) + 12|0); + $35 = ((($2)) + 24|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$34+8>>2]|0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[$35+8>>2]|0; + _MatrixLookAt($5,$$byval_copy,$$byval_copy9,$$byval_copy10); + _MatrixTranspose($5); + dest=$$byval_copy9; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($$byval_copy,$$byval_copy9,$$byval_copy10); + _MatrixInvert($$byval_copy); + HEAPF32[$6>>2] = $16; + $36 = ((($6)) + 4|0); + HEAPF32[$36>>2] = $23; + $37 = ((($6)) + 8|0); + HEAPF32[$37>>2] = 0.0; + $38 = ((($6)) + 12|0); + HEAPF32[$38>>2] = 1.0; + HEAPF32[$7>>2] = $16; + $39 = ((($7)) + 4|0); + HEAPF32[$39>>2] = $23; + $40 = ((($7)) + 8|0); + HEAPF32[$40>>2] = 1.0; + $41 = ((($7)) + 12|0); + HEAPF32[$41>>2] = 1.0; + dest=$$byval_copy10; src=$$byval_copy; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _QuaternionTransform($6,$$byval_copy10); + dest=$$byval_copy10; src=$$byval_copy; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _QuaternionTransform($7,$$byval_copy10); + $42 = +HEAPF32[$6>>2]; + $43 = +HEAPF32[$38>>2]; + $44 = $42 / $43; + HEAPF32[$8>>2] = $44; + $45 = ((($8)) + 4|0); + $46 = +HEAPF32[$36>>2]; + $47 = $46 / $43; + HEAPF32[$45>>2] = $47; + $48 = ((($8)) + 8|0); + $49 = +HEAPF32[$37>>2]; + $50 = +HEAPF32[$38>>2]; + $51 = $49 / $50; + HEAPF32[$48>>2] = $51; + $52 = +HEAPF32[$7>>2]; + $53 = +HEAPF32[$41>>2]; + $54 = $52 / $53; + HEAPF32[$9>>2] = $54; + $55 = ((($9)) + 4|0); + $56 = +HEAPF32[$39>>2]; + $57 = $56 / $53; + HEAPF32[$55>>2] = $57; + $58 = ((($9)) + 8|0); + $59 = +HEAPF32[$40>>2]; + $60 = +HEAPF32[$41>>2]; + $61 = $59 / $60; + HEAPF32[$58>>2] = $61; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$9+8>>2]|0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[$8+8>>2]|0; + _VectorSubtract($10,$$byval_copy9,$$byval_copy10); + _VectorNormalize($10); + ;HEAP32[$3>>2]=HEAP32[$2>>2]|0;HEAP32[$3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$2+8>>2]|0; + $62 = ((($3)) + 12|0); + ;HEAP32[$62>>2]=HEAP32[$10>>2]|0;HEAP32[$62+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$62+8>>2]=HEAP32[$10+8>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$3+20>>2]|0; + STACKTOP = sp;return; +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[4756]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[4756]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[4829] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[5266]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[5267]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[4826]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[4756]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[5267]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[5266] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[4826]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[5267]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[5266] = 0; + } + HEAP32[5267] = 0; + } + $21 = HEAP32[4829]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[5088]|0; + $23 = HEAP32[(20360)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(20372)>>2]|0; + $28 = HEAP32[(20360)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(20372)>>2]|0; + $35 = HEAP32[(20360)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(20372)>>2]|0; + $43 = HEAP32[(20360)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(20372)>>2]|0; + $51 = HEAP32[(20360)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(20360)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(20360)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[5100]|0; + $62 = HEAP32[(20408)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(20420)>>2]|0; + $67 = HEAP32[(20408)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(20420)>>2]|0; + $74 = HEAP32[(20408)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(20420)>>2]|0; + $82 = HEAP32[(20408)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(20420)>>2]|0; + $90 = HEAP32[(20408)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(20408)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(20408)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[5112]|0; + $101 = HEAP32[(20456)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(20468)>>2]|0; + $106 = HEAP32[(20456)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(20468)>>2]|0; + $113 = HEAP32[(20456)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(20468)>>2]|0; + $121 = HEAP32[(20456)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(20468)>>2]|0; + $129 = HEAP32[(20456)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(20456)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(20456)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[5112]|0; + $140 = HEAP32[(20452)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(20464)>>2]|0; + $$promoted = HEAP32[(20452)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(20452)>>2] = $147; + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[761]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[761] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[5266]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[4826]|0; + $6 = HEAP32[5267]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[5267] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[4829]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[5088]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(20364)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[5088] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,9444,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[5100]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(20412)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[5100] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,9469,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[5112]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(20460)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[5112] = $41; + $42 = HEAP32[4827]|0; + $43 = HEAP32[4828]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,9498,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[761]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[4829]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(20464)>>2]|0; + $5 = HEAP32[(20452)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(20452)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[4829]|0; + switch ($4|0) { + case 1: { + $$sink37 = (20360);$$sink38 = (20372); + break; + } + case 4: { + $$sink37 = (20408);$$sink38 = (20420); + break; + } + case 7: { + $$sink37 = (20456);$$sink38 = (20468); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlColor3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0 * 255.0; + $4 = (~~(($3))&255); + $5 = $1 * 255.0; + $6 = (~~(($5))&255); + $7 = $2 * 255.0; + $8 = (~~(($7))&255); + _rlColor4ub($4,$6,$8,-1); + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[4827]|0; + $2 = HEAP32[4828]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[4828] = $10; + } + $11 = HEAP32[4828]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5112]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _rlDeleteVertexArrays($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 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 = sp + 4|0; + HEAP32[$1>>2] = $0; + $2 = HEAP32[4790]|0; + $3 = ($2|0)==(0); + if ($3) { + STACKTOP = sp;return; + } + $4 = ($0|0)==(0); + if (!($4)) { + $5 = HEAP32[4793]|0; + FUNCTION_TABLE_vii[$5 & 63](1,$1); + } + $6 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(0,9523,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteBuffers($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 = sp + 4|0; + HEAP32[$1>>2] = $0; + $2 = ($0|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _glDeleteBuffers(1,($1|0)); + $3 = HEAP32[4790]|0; + $4 = ($3|0)==(0); + if (!($4)) { + STACKTOP = sp;return; + } + $5 = HEAP32[$1>>2]|0; + HEAP32[$vararg_buffer>>2] = $5; + _TraceLog(0,9571,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlglLoadMesh($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 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, $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, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 20|0; + $4 = ((($0)) + 36|0); + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 44|0); + $7 = ((($0)) + 48|0); + $8 = ((($0)) + 52|0); + $9 = ((($0)) + 56|0); + $10 = ((($0)) + 60|0); + $11 = ((($0)) + 64|0); + $12 = ($1|0)!=(0); + $$ = $12 ? 35048 : 35044; + ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; + HEAP32[$2>>2] = 0; + ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; + $13 = HEAP32[4790]|0; + $14 = ($13|0)==(0); + if (!($14)) { + $15 = HEAP32[4791]|0; + FUNCTION_TABLE_vii[$15 & 63](1,$2); + $16 = HEAP32[4792]|0; + $17 = HEAP32[$2>>2]|0; + FUNCTION_TABLE_vi[$16 & 31]($17); + } + _glGenBuffers(1,($3|0)); + $18 = HEAP32[$3>>2]|0; + _glBindBuffer(34962,($18|0)); + $19 = HEAP32[$0>>2]|0; + $20 = ($19*12)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + _glBufferData(34962,($20|0),($22|0),($$|0)); + _glVertexAttribPointer(0,3,5126,0,0,(0|0)); + _glEnableVertexAttribArray(0); + $23 = ((($3)) + 4|0); + _glGenBuffers(1,($23|0)); + $24 = HEAP32[$23>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[$0>>2]|0; + $26 = $25 << 3; + $27 = ((($0)) + 12|0); + $28 = HEAP32[$27>>2]|0; + _glBufferData(34962,($26|0),($28|0),($$|0)); + _glVertexAttribPointer(1,2,5126,0,0,(0|0)); + _glEnableVertexAttribArray(1); + $29 = ((($0)) + 20|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0|0); + if ($31) { + _glVertexAttrib3f(2,1.0,1.0,1.0); + _glDisableVertexAttribArray(2); + } else { + $32 = ((($3)) + 8|0); + _glGenBuffers(1,($32|0)); + $33 = HEAP32[$32>>2]|0; + _glBindBuffer(34962,($33|0)); + $34 = HEAP32[$0>>2]|0; + $35 = ($34*12)|0; + $36 = HEAP32[$29>>2]|0; + _glBufferData(34962,($35|0),($36|0),($$|0)); + _glVertexAttribPointer(2,3,5126,0,0,(0|0)); + _glEnableVertexAttribArray(2); + } + $37 = ((($0)) + 28|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(0|0); + if ($39) { + _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); + _glDisableVertexAttribArray(3); + } else { + $40 = ((($3)) + 12|0); + _glGenBuffers(1,($40|0)); + $41 = HEAP32[$40>>2]|0; + _glBindBuffer(34962,($41|0)); + $42 = HEAP32[$0>>2]|0; + $43 = $42 << 2; + $44 = HEAP32[$37>>2]|0; + _glBufferData(34962,($43|0),($44|0),($$|0)); + _glVertexAttribPointer(3,4,5121,1,0,(0|0)); + _glEnableVertexAttribArray(3); + } + $45 = ((($0)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)==(0|0); + if ($47) { + _glVertexAttrib3f(4,0.0,0.0,0.0); + _glDisableVertexAttribArray(4); + } else { + $48 = ((($3)) + 16|0); + _glGenBuffers(1,($48|0)); + $49 = HEAP32[$48>>2]|0; + _glBindBuffer(34962,($49|0)); + $50 = HEAP32[$0>>2]|0; + $51 = ($50*12)|0; + $52 = HEAP32[$45>>2]|0; + _glBufferData(34962,($51|0),($52|0),($$|0)); + _glVertexAttribPointer(4,3,5126,0,0,(0|0)); + _glEnableVertexAttribArray(4); + } + $53 = ((($0)) + 16|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==(0|0); + if ($55) { + _glVertexAttrib2f(5,0.0,0.0); + _glDisableVertexAttribArray(5); + } else { + $56 = ((($3)) + 20|0); + _glGenBuffers(1,($56|0)); + $57 = HEAP32[$56>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[$0>>2]|0; + $59 = $58 << 3; + $60 = HEAP32[$53>>2]|0; + _glBufferData(34962,($59|0),($60|0),($$|0)); + _glVertexAttribPointer(5,2,5126,0,0,(0|0)); + _glEnableVertexAttribArray(5); + } + $61 = ((($0)) + 32|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $64 = ((($3)) + 24|0); + _glGenBuffers(1,($64|0)); + $65 = HEAP32[$64>>2]|0; + _glBindBuffer(34963,($65|0)); + $66 = ((($0)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = ($67*6)|0; + $69 = HEAP32[$61>>2]|0; + _glBufferData(34963,($68|0),($69|0),35044); + } + $70 = HEAP32[$3>>2]|0; + HEAP32[$5>>2] = $70; + $71 = HEAP32[$23>>2]|0; + HEAP32[$6>>2] = $71; + $72 = ((($3)) + 8|0); + $73 = HEAP32[$72>>2]|0; + HEAP32[$7>>2] = $73; + $74 = ((($3)) + 12|0); + $75 = HEAP32[$74>>2]|0; + HEAP32[$8>>2] = $75; + $76 = ((($3)) + 16|0); + $77 = HEAP32[$76>>2]|0; + HEAP32[$9>>2] = $77; + $78 = ((($3)) + 20|0); + $79 = HEAP32[$78>>2]|0; + HEAP32[$10>>2] = $79; + $80 = ((($3)) + 24|0); + $81 = HEAP32[$80>>2]|0; + HEAP32[$11>>2] = $81; + $82 = HEAP32[4790]|0; + $83 = ($82|0)==(0); + if ($83) { + _TraceLog(0,9720,$vararg_buffer3); + STACKTOP = sp;return; + } + $84 = HEAP32[$2>>2]|0; + $85 = ($84|0)==(0); + if ($85) { + _TraceLog(2,9679,$vararg_buffer1); + STACKTOP = sp;return; + } else { + HEAP32[$4>>2] = $84; + HEAP32[$vararg_buffer>>2] = $84; + _TraceLog(0,9626,$vararg_buffer); + STACKTOP = sp;return; + } +} +function _rlglDrawMesh($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$020 = 0, $$byval_copy5 = 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, $113 = 0, $114 = 0; + var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0; + var $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, $15 = 0, $150 = 0; + var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0.0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; + var $17 = 0.0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0; + var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.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.0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.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, $modelview$byval_copy4 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 384|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(384|0); + $$byval_copy5 = sp + 320|0; + $modelview$byval_copy4 = sp + 256|0; + $3 = sp + 192|0; + $4 = sp + 128|0; + $5 = sp + 64|0; + $6 = sp; + $7 = HEAP32[$1>>2]|0; + _glUseProgram(($7|0)); + $8 = ((($1)) + 32|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($1)) + 116|0); + $11 = HEAP8[$10>>0]|0; + $12 = (+($11&255)); + $13 = $12 / 255.0; + $14 = ((($1)) + 117|0); + $15 = HEAP8[$14>>0]|0; + $16 = (+($15&255)); + $17 = $16 / 255.0; + $18 = ((($1)) + 118|0); + $19 = HEAP8[$18>>0]|0; + $20 = (+($19&255)); + $21 = $20 / 255.0; + $22 = ((($1)) + 119|0); + $23 = HEAP8[$22>>0]|0; + $24 = (+($23&255)); + $25 = $24 / 255.0; + _glUniform4f(($9|0),(+$13),(+$17),(+$21),(+$25)); + $26 = ((($1)) + 36|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(-1); + if (!($28)) { + $29 = ((($1)) + 120|0); + $30 = HEAP8[$29>>0]|0; + $31 = (+($30&255)); + $32 = $31 / 255.0; + $33 = ((($1)) + 121|0); + $34 = HEAP8[$33>>0]|0; + $35 = (+($34&255)); + $36 = $35 / 255.0; + $37 = ((($1)) + 122|0); + $38 = HEAP8[$37>>0]|0; + $39 = (+($38&255)); + $40 = $39 / 255.0; + $41 = ((($1)) + 123|0); + $42 = HEAP8[$41>>0]|0; + $43 = (+($42&255)); + $44 = $43 / 255.0; + _glUniform4f(($27|0),(+$32),(+$36),(+$40),(+$44)); + } + $45 = ((($1)) + 40|0); + $46 = HEAP32[$45>>2]|0; + $47 = ($46|0)==(-1); + if (!($47)) { + $48 = ((($1)) + 124|0); + $49 = HEAP8[$48>>0]|0; + $50 = (+($49&255)); + $51 = $50 / 255.0; + $52 = ((($1)) + 125|0); + $53 = HEAP8[$52>>0]|0; + $54 = (+($53&255)); + $55 = $54 / 255.0; + $56 = ((($1)) + 126|0); + $57 = HEAP8[$56>>0]|0; + $58 = (+($57&255)); + $59 = $58 / 255.0; + $60 = ((($1)) + 127|0); + $61 = HEAP8[$60>>0]|0; + $62 = (+($61&255)); + $63 = $62 / 255.0; + _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); + } + dest=$3; src=19092; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$4; src=19028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19092; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); + $64 = HEAP32[$1>>2]|0; + $65 = HEAP32[4798]|0; + $66 = ($64|0)==($65|0); + if (!($66)) { + $67 = (_glGetUniformLocation(($64|0),(9768|0))|0); + $68 = ($67|0)==(-1); + if (!($68)) { + dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($modelview$byval_copy4); + _MatrixInvert($modelview$byval_copy4); + dest=$$byval_copy5; src=$modelview$byval_copy4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $69 = (_MatrixToFloat($$byval_copy5)|0); + _glUniformMatrix4fv(($67|0),1,0,($69|0)); + } + $70 = HEAP32[$1>>2]|0; + $71 = (_glGetUniformLocation(($70|0),(9780|0))|0); + $72 = ($71|0)==(-1); + if (!($72)) { + $73 = ((($3)) + 8|0); + $74 = +HEAPF32[$73>>2]; + $75 = ((($3)) + 24|0); + $76 = +HEAPF32[$75>>2]; + $77 = ((($3)) + 40|0); + $78 = +HEAPF32[$77>>2]; + _glUniform3f(($71|0),(+$74),(+$76),(+$78)); + } + $79 = (_glGetUniformLocation(($70|0),(9788|0))|0); + $80 = ($79|0)==(-1); + if (!($80)) { + $81 = ((($1)) + 128|0); + $82 = +HEAPF32[$81>>2]; + _glUniform1f(($79|0),(+$82)); + } + } + _glActiveTexture(33984); + $83 = ((($1)) + 56|0); + $84 = HEAP32[$83>>2]|0; + _glBindTexture(3553,($84|0)); + $85 = ((($1)) + 44|0); + $86 = HEAP32[$85>>2]|0; + _glUniform1i(($86|0),0); + $87 = ((($1)) + 76|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0); + if (!($89)) { + $90 = ((($1)) + 48|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)==(-1); + if (!($92)) { + $93 = HEAP32[$1>>2]|0; + $94 = (_glGetUniformLocation(($93|0),(9799|0))|0); + _glUniform1i(($94|0),1); + _glActiveTexture(33985); + $95 = HEAP32[$87>>2]|0; + _glBindTexture(3553,($95|0)); + $96 = HEAP32[$90>>2]|0; + _glUniform1i(($96|0),1); + } + } + $97 = ((($1)) + 96|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0); + if (!($99)) { + $100 = ((($1)) + 52|0); + $101 = HEAP32[$100>>2]|0; + $102 = ($101|0)==(-1); + if (!($102)) { + $103 = HEAP32[$1>>2]|0; + $104 = (_glGetUniformLocation(($103|0),(9809|0))|0); + _glUniform1i(($104|0),1); + _glActiveTexture(33986); + $105 = HEAP32[$97>>2]|0; + _glBindTexture(3553,($105|0)); + $106 = HEAP32[$100>>2]|0; + _glUniform1i(($106|0),2); + } + } + $107 = HEAP32[4790]|0; + $108 = ($107|0)==(0); + if ($108) { + $112 = ((($0)) + 40|0); + $113 = HEAP32[$112>>2]|0; + _glBindBuffer(34962,($113|0)); + $114 = ((($1)) + 4|0); + $115 = HEAP32[$114>>2]|0; + _glVertexAttribPointer(($115|0),3,5126,0,0,(0|0)); + _glEnableVertexAttribArray(($115|0)); + $116 = ((($0)) + 44|0); + $117 = HEAP32[$116>>2]|0; + _glBindBuffer(34962,($117|0)); + $118 = ((($1)) + 8|0); + $119 = HEAP32[$118>>2]|0; + _glVertexAttribPointer(($119|0),2,5126,0,0,(0|0)); + _glEnableVertexAttribArray(($119|0)); + $120 = ((($1)) + 16|0); + $121 = HEAP32[$120>>2]|0; + $122 = ($121|0)==(-1); + if (!($122)) { + $123 = ((($0)) + 48|0); + $124 = HEAP32[$123>>2]|0; + _glBindBuffer(34962,($124|0)); + $125 = HEAP32[$120>>2]|0; + _glVertexAttribPointer(($125|0),3,5126,0,0,(0|0)); + $126 = HEAP32[$120>>2]|0; + _glEnableVertexAttribArray(($126|0)); + } + $127 = ((($1)) + 24|0); + $128 = HEAP32[$127>>2]|0; + $129 = ($128|0)==(-1); + do { + if (!($129)) { + $130 = ((($0)) + 52|0); + $131 = HEAP32[$130>>2]|0; + $132 = ($131|0)==(0); + if ($132) { + _glVertexAttrib4f(($128|0),1.0,1.0,1.0,1.0); + $135 = HEAP32[$127>>2]|0; + _glDisableVertexAttribArray(($135|0)); + break; + } else { + _glBindBuffer(34962,($131|0)); + $133 = HEAP32[$127>>2]|0; + _glVertexAttribPointer(($133|0),4,5121,1,0,(0|0)); + $134 = HEAP32[$127>>2]|0; + _glEnableVertexAttribArray(($134|0)); + break; + } + } + } while(0); + $136 = ((($1)) + 20|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(-1); + if (!($138)) { + $139 = ((($0)) + 56|0); + $140 = HEAP32[$139>>2]|0; + _glBindBuffer(34962,($140|0)); + $141 = HEAP32[$136>>2]|0; + _glVertexAttribPointer(($141|0),3,5126,0,0,(0|0)); + $142 = HEAP32[$136>>2]|0; + _glEnableVertexAttribArray(($142|0)); + } + $143 = ((($1)) + 12|0); + $144 = HEAP32[$143>>2]|0; + $145 = ($144|0)==(-1); + if (!($145)) { + $146 = ((($0)) + 60|0); + $147 = HEAP32[$146>>2]|0; + _glBindBuffer(34962,($147|0)); + $148 = HEAP32[$143>>2]|0; + _glVertexAttribPointer(($148|0),2,5126,0,0,(0|0)); + $149 = HEAP32[$143>>2]|0; + _glEnableVertexAttribArray(($149|0)); + } + $150 = ((($0)) + 32|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==(0|0); + if (!($152)) { + $153 = HEAP32[(20492)>>2]|0; + _glBindBuffer(34963,($153|0)); + } + } else { + $109 = HEAP32[4792]|0; + $110 = ((($0)) + 36|0); + $111 = HEAP32[$110>>2]|0; + FUNCTION_TABLE_vi[$109 & 31]($111); + } + $154 = HEAP32[5175]|0; + $155 = ($154|0)!=(0); + $$ = $155 ? 2 : 1; + $156 = ((($1)) + 28|0); + $157 = ((($0)) + 32|0); + $158 = HEAP32[$0>>2]|0; + $159 = ((($0)) + 4|0); + $$020 = 0; + while(1) { + if ($155) { + dest=$modelview$byval_copy4; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); + } else { + dest=19092; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + } + dest=$modelview$byval_copy4; src=19092; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); + $162 = HEAP32[$156>>2]|0; + dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $163 = (_MatrixToFloat($$byval_copy5)|0); + _glUniformMatrix4fv(($162|0),1,0,($163|0)); + $164 = HEAP32[$157>>2]|0; + $165 = ($164|0)==(0|0); + if ($165) { + _glDrawArrays(4,0,($158|0)); + } else { + $166 = HEAP32[$159>>2]|0; + $167 = ($166*3)|0; + _glDrawElements(4,($167|0),5123,(0|0)); + } + $168 = (($$020) + 1)|0; + $169 = ($168|0)<($$|0); + if ($169) { + $$020 = $168; + } else { + break; + } + } + $160 = HEAP32[$87>>2]|0; + $161 = ($160|0)==(0); + if (!($161)) { + _glActiveTexture(33985); + _glBindTexture(3553,0); + } + $170 = HEAP32[$97>>2]|0; + $171 = ($170|0)==(0); + if (!($171)) { + _glActiveTexture(33986); + _glBindTexture(3553,0); + } + _glActiveTexture(33984); + _glBindTexture(3553,0); + $172 = HEAP32[4790]|0; + $173 = ($172|0)==(0); + if (!($173)) { + $174 = HEAP32[4792]|0; + FUNCTION_TABLE_vi[$174 & 31](0); + _glUseProgram(0); + dest=19028; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19092; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; + } + _glBindBuffer(34962,0); + $175 = ((($0)) + 32|0); + $176 = HEAP32[$175>>2]|0; + $177 = ($176|0)==(0|0); + if ($177) { + _glUseProgram(0); + dest=19028; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19092; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; + } + _glBindBuffer(34963,0); + _glUseProgram(0); + dest=19028; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19092; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlglUnloadMesh($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + _free($2); + } + $4 = ((($0)) + 12|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + _free($5); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if (!($9)) { + _free($8); + } + $10 = ((($0)) + 28|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if (!($12)) { + _free($11); + } + $13 = ((($0)) + 24|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)==(0|0); + if (!($15)) { + _free($14); + } + $16 = ((($0)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(0|0); + if (!($18)) { + _free($17); + } + $19 = ((($0)) + 32|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + _free($20); + } + $22 = ((($0)) + 40|0); + $23 = HEAP32[$22>>2]|0; + _rlDeleteBuffers($23); + $24 = ((($0)) + 44|0); + $25 = HEAP32[$24>>2]|0; + _rlDeleteBuffers($25); + $26 = ((($0)) + 48|0); + $27 = HEAP32[$26>>2]|0; + _rlDeleteBuffers($27); + $28 = ((($0)) + 52|0); + $29 = HEAP32[$28>>2]|0; + _rlDeleteBuffers($29); + $30 = ((($0)) + 56|0); + $31 = HEAP32[$30>>2]|0; + _rlDeleteBuffers($31); + $32 = ((($0)) + 60|0); + $33 = HEAP32[$32>>2]|0; + _rlDeleteBuffers($33); + $34 = ((($0)) + 64|0); + $35 = HEAP32[$34>>2]|0; + _rlDeleteBuffers($35); + $36 = ((($0)) + 36|0); + $37 = HEAP32[$36>>2]|0; + _rlDeleteVertexArrays($37); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[4797]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _GetDefaultShader($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=$0; src=19192; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5268] = $0; + return; +} +function _stbi_load_from_file($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3160,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 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; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((9821|0),(9847|0),1041,(9870|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[5269]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(9911); + $$0 = 0; + return ($$0|0); + } else { + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(9902); + $$0 = 0; + return ($$0|0); + } + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; + while(1) { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { + break; + } else { + $$01819 = $14; + } + } + } + _free($0); + $$0 = $6; + return ($$0|0); +} +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_malloc($0)|0); + return ($1|0); +} +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 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; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(9930); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; + } else { + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; + } else { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; + } else { + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } + } + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; + } + } + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); +} +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $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, $123 = 0, $124 = 0; + var $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, $141 = 0, $142 = 0; + var $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, $16 = 0, $160 = 0; + var $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, $178 = 0, $179 = 0; + var $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, $196 = 0, $197 = 0; + var $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, $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, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } + } else { + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (10246 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } + } + } while(0); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; + } + switch (label|0) { + case 7: { + _stbi__err(10020); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(10034); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(10047); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(10047); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(10057); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(10077); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(10077); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(10077); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(10087); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(10103); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(10121); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(10142); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(10047); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(10047); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(10156); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(10171); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(10171); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(10156); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(10184); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(10200); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(10217); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(10230); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(10217); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(10156); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(10255); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(9902); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(10263); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(10273); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[5270]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(10156); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(10156); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[10281] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(10282)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(10283)>>0] = $211; + $212 = $207&255; + HEAP8[(10284)>>0] = $212; + _stbi__err(10281); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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, $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; + 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, label = 0; + var sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((9943|0),(9847|0),1477,(9999|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(9902); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((9997|0),(9847|0),1506,(9999|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 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, $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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((9943|0),(9847|0),1526,(9974|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(9902); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((9997|0),(9847|0),1555,(9974|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 0, $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; + $1 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(11258); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 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)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$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, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 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; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (3048 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3076 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3104 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3132 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((10340|0),(9847|0),4569,(10392|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((10340|0),(9847|0),4544,(10365|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[5271]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((10306|0),(9847|0),4650,(10324|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 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; + var $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, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(9902); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 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, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $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, $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; + 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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 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, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; + var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; + var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $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; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((10421|0),(9847|0),4294,(10462|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(9902); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(10489); + $$2 = 0; + return ($$2|0); + } + } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(10489); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (10528 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((10507|0),(9847|0),4315,(10462|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((10533|0),(9847|0),4377,(10462|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(10550); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (10246 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } + break; + } + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } + break; + } + default: { + } + } + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } + } + } + } while(0); + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; + } + } + if ((label|0) == 144) { + ___assert_fail((10565|0),(9847|0),4466,(10462|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,10576,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,10864,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } + } + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(11211); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(11227); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(11242); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 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)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $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; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((11133|0),(9847|0),4033,(11150|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(11181); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(11194); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $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; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(11071); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(11123); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (11917 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(11071); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(11071); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((11087|0),(9847|0),4006,(11095|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(11071); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(11071); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3308 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3184 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3560 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3432 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(10896); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(10896); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(10913); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_decode($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(10922); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(9902); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($0) { + $0 = $0|0; + var $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)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((11018|0),(9847|0),3848,(11055|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; + } +} +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((10942|0),(9847|0),3876,(10958|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((10989|0),(9847|0),3766,(11000|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($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; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($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; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; + return; + } +} +function _stbi__rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; + return; +} +function _stbi__start_callbacks($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,11270)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,11323)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(2,11328,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,11462)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$15$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$15$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,11276,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; + _TraceLog(0,11364,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11403,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 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; + 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, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,11462)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,11465,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,11562,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(2,11608,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(2,11516,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(2,11434,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(2,11658,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(2,11697,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(2,11723,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(2,11786,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(2,11821,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,11856,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $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, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $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; + var $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, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $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; + var $527 = 0, $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; + var $545 = 0, $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; + var $563 = 0, $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; + var $581 = 0, $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; + 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, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (11913 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (11913 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (11913 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3172 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (11917 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (11936 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (11940 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3432 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3560 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3184 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3308 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } + } + } + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy1 = sp + 60|0; + $vararg_buffer = sp + 16|0; + $$sroa$5 = sp; + $2 = sp + 20|0; + $3 = sp + 40|0; + _LoadImage($2,$1); + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(2,11944,$vararg_buffer); + $$sroa$0$0 = 0; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy1); + $$sroa$0$0$copyload = HEAP32[$3>>2]|0; + $$sroa$5$0$$sroa_idx = ((($3)) + 4|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$5+12>>2]=HEAP32[$$sroa$5$0$$sroa_idx+12>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy1); + $$sroa$0$0 = $$sroa$0$0$copyload; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx5 = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[18876>>2]|0;HEAP32[$0+4>>2]=HEAP32[18876+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18876+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18876+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18876+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18876+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18876+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18876+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 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; + (_vsprintf(22963,$0,$1)|0); + STACKTOP = sp;return (22963|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[5272]|0; + $4 = HEAP32[922]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[5273] = $7; + HEAP32[922] = $7; + $$sink = 0; + } + HEAP32[5272] = $$sink; + $8 = HEAP32[5273]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(11973,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(22963,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _DrawLine3D($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($0)) + 8|0); + $14 = +HEAPF32[$13>>2]; + _rlVertex3f($10,$12,$14); + $15 = +HEAPF32[$1>>2]; + $16 = ((($1)) + 4|0); + $17 = +HEAPF32[$16>>2]; + $18 = ((($1)) + 8|0); + $19 = +HEAPF32[$18>>2]; + _rlVertex3f($15,$17,$19); + _rlEnd(); + return; +} +function _DrawCube($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlPushMatrix(); + $5 = +HEAPF32[$0>>2]; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + 8|0); + $9 = +HEAPF32[$8>>2]; + _rlTranslatef($5,$7,$9); + _rlBegin(4); + $10 = HEAP8[$4>>0]|0; + $11 = ((($4)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ((($4)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ((($4)) + 3|0); + $16 = HEAP8[$15>>0]|0; + _rlColor4ub($10,$12,$14,$16); + $17 = $1 * 0.5; + $18 = 0.0 - $17; + $19 = $2 * 0.5; + $20 = 0.0 - $19; + $21 = $3 * 0.5; + $22 = $21 + 0.0; + _rlVertex3f($18,$20,$22); + $23 = $17 + 0.0; + _rlVertex3f($23,$20,$22); + $24 = $19 + 0.0; + _rlVertex3f($18,$24,$22); + _rlVertex3f($23,$24,$22); + _rlVertex3f($18,$24,$22); + _rlVertex3f($23,$20,$22); + $25 = 0.0 - $21; + _rlVertex3f($18,$20,$25); + _rlVertex3f($18,$24,$25); + _rlVertex3f($23,$20,$25); + _rlVertex3f($23,$24,$25); + _rlVertex3f($23,$20,$25); + _rlVertex3f($18,$24,$25); + _rlVertex3f($18,$24,$25); + _rlVertex3f($18,$24,$22); + _rlVertex3f($23,$24,$22); + _rlVertex3f($23,$24,$25); + _rlVertex3f($18,$24,$25); + _rlVertex3f($23,$24,$22); + _rlVertex3f($18,$20,$25); + _rlVertex3f($23,$20,$22); + _rlVertex3f($18,$20,$22); + _rlVertex3f($23,$20,$25); + _rlVertex3f($23,$20,$22); + _rlVertex3f($18,$20,$25); + _rlVertex3f($23,$20,$25); + _rlVertex3f($23,$24,$25); + _rlVertex3f($23,$24,$22); + _rlVertex3f($23,$20,$22); + _rlVertex3f($23,$20,$25); + _rlVertex3f($23,$24,$22); + _rlVertex3f($18,$20,$25); + _rlVertex3f($18,$24,$22); + _rlVertex3f($18,$24,$25); + _rlVertex3f($18,$20,$22); + _rlVertex3f($18,$24,$22); + _rlVertex3f($18,$20,$25); + _rlEnd(); + _rlPopMatrix(); + return; +} +function _DrawCubeWires($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlPushMatrix(); + $5 = +HEAPF32[$0>>2]; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($0)) + 8|0); + $9 = +HEAPF32[$8>>2]; + _rlTranslatef($5,$7,$9); + _rlBegin(1); + $10 = HEAP8[$4>>0]|0; + $11 = ((($4)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ((($4)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ((($4)) + 3|0); + $16 = HEAP8[$15>>0]|0; + _rlColor4ub($10,$12,$14,$16); + $17 = $1 * 0.5; + $18 = 0.0 - $17; + $19 = $2 * 0.5; + $20 = 0.0 - $19; + $21 = $3 * 0.5; + $22 = $21 + 0.0; + _rlVertex3f($18,$20,$22); + $23 = $17 + 0.0; + _rlVertex3f($23,$20,$22); + _rlVertex3f($23,$20,$22); + $24 = $19 + 0.0; + _rlVertex3f($23,$24,$22); + _rlVertex3f($23,$24,$22); + _rlVertex3f($18,$24,$22); + _rlVertex3f($18,$24,$22); + _rlVertex3f($18,$20,$22); + $25 = 0.0 - $21; + _rlVertex3f($18,$20,$25); + _rlVertex3f($23,$20,$25); + _rlVertex3f($23,$20,$25); + _rlVertex3f($23,$24,$25); + _rlVertex3f($23,$24,$25); + _rlVertex3f($18,$24,$25); + _rlVertex3f($18,$24,$25); + _rlVertex3f($18,$20,$25); + _rlVertex3f($18,$24,$22); + _rlVertex3f($18,$24,$25); + _rlVertex3f($23,$24,$22); + _rlVertex3f($23,$24,$25); + _rlVertex3f($18,$20,$22); + _rlVertex3f($18,$20,$25); + _rlVertex3f($23,$20,$22); + _rlVertex3f($23,$20,$25); + _rlEnd(); + _rlPopMatrix(); + return; +} +function _DrawRay($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $2 = HEAP8[$1>>0]|0; + $3 = ((($1)) + 1|0); + $4 = HEAP8[$3>>0]|0; + $5 = ((($1)) + 2|0); + $6 = HEAP8[$5>>0]|0; + $7 = ((($1)) + 3|0); + $8 = HEAP8[$7>>0]|0; + _rlColor4ub($2,$4,$6,$8); + $9 = HEAP8[$1>>0]|0; + $10 = HEAP8[$3>>0]|0; + _rlColor4ub($9,$10,$6,$8); + $11 = +HEAPF32[$0>>2]; + $12 = ((($0)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($0)) + 8|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex3f($11,$13,$15); + $16 = ((($0)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * 1.0E+4; + $19 = $11 + $18; + $20 = +HEAPF32[$12>>2]; + $21 = ((($0)) + 16|0); + $22 = +HEAPF32[$21>>2]; + $23 = $22 * 1.0E+4; + $24 = $20 + $23; + $25 = +HEAPF32[$14>>2]; + $26 = ((($0)) + 20|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27 * 1.0E+4; + $29 = $25 + $28; + _rlVertex3f($19,$24,$29); + _rlEnd(); + return; +} +function _DrawGrid($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0|0) / 2)&-1; + _rlBegin(1); + $3 = (0 - ($2))|0; + $4 = ($2|0)<($3|0); + if ($4) { + _rlEnd(); + return; + } + $5 = (+($3|0)); + $6 = $5 * $1; + $7 = (+($2|0)); + $8 = $7 * $1; + $$024 = $3; + while(1) { + $9 = ($$024|0)==(0); + if ($9) { + _rlColor3f(0.5,0.5,0.5); + _rlColor3f(0.5,0.5,0.5); + _rlColor3f(0.5,0.5,0.5); + _rlColor3f(0.5,0.5,0.5); + } else { + _rlColor3f(0.75,0.75,0.75); + _rlColor3f(0.75,0.75,0.75); + _rlColor3f(0.75,0.75,0.75); + _rlColor3f(0.75,0.75,0.75); + } + $10 = (+($$024|0)); + $11 = $10 * $1; + _rlVertex3f($11,0.0,$6); + _rlVertex3f($11,0.0,$8); + _rlVertex3f($6,0.0,$11); + _rlVertex3f($8,0.0,$11); + $12 = (($$024) + 1)|0; + $13 = ($$024|0)<($2|0); + if ($13) { + $$024 = $12; + } else { + break; + } + } + _rlEnd(); + return; +} +function _LoadMesh($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 4|0; + dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = (_IsFileExtension($1,11981)|0); + $5 = ($4|0)==(0); + if (!($5)) { + _LoadOBJ($3,$1); + dest=$2; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + } + $6 = HEAP32[$2>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + _TraceLog(2,11986,$vararg_buffer); + } else { + _rlglLoadMesh($2,0); + } + dest=$0; src=$2; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadOBJ($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$ph374433 = 0, $$0$ph377422 = 0, $$0$ph379$lcssa386 = 0, $$0$ph379412 = 0, $$0$ph445 = 0, $$0344$ph373432 = 0, $$0344$ph376$lcssa388 = 0, $$0344$ph376421 = 0, $$0344$ph444 = 0, $$0345$ph372$lcssa389 = 0, $$0345$ph372431 = 0, $$0345$ph443 = 0, $$0346$ph$lcssa = 0, $$0346$ph442 = 0, $$0347392 = 0, $$0348391 = 0, $$0350$ph = 0, $$0350$ph$ph = 0, $$0351$ph$ph = 0, $$0352$ph = 0; + var $$0352$ph$ph = 0, $$0353$ph365399 = 0, $$0353$ph367397 = 0, $$0353$ph402 = 0, $$0354$ph364398 = 0, $$0354$ph401 = 0, $$0355$ph400 = 0, $$0356 = 0, $$0357 = 0, $$1 = 0, $$byval_copy102 = 0, $$byval_copy103 = 0, $$sroa$12$0$$sroa_idx244 = 0, $$sroa$12247$0$$sroa_idx249 = 0, $$sroa$31$0$$sroa_idx270 = 0, $$sroa$45$0$$sroa_idx286 = 0, $$sroa$45289$0$$sroa_idx291 = 0, $$sroa$64$0 = 0, $$sroa$64$0$$sroa_idx312 = 0, $$sroa$74$0$$sroa_idx324 = 0; + var $$sroa$75 = 0, $$sroa$75$0$$sroa_idx = 0, $$sroa$75$0$$sroa_idx328 = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $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, $15 = 0, $150 = 0; + var $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, $168 = 0, $169 = 0; + var $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, $186 = 0, $187 = 0; + var $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, $203 = 0, $204 = 0; + var $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, $221 = 0, $222 = 0; + var $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.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0; + var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0; + var $26 = 0, $260 = 0.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, $276 = 0, $277 = 0; + var $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, $294 = 0, $295 = 0; + var $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, $311 = 0.0, $312 = 0; + var $313 = 0, $314 = 0.0, $315 = 0, $316 = 0, $317 = 0.0, $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0; + var $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0, $349 = 0; + var $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, $366 = 0, $367 = 0; + var $368 = 0, $369 = 0, $37 = 0, $370 = 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, $49 = 0, $5 = 0, $50 = 0, $51 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer29 = 0, $vararg_buffer33 = 0, $vararg_buffer36 = 0; + var $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer55 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer7 = 0, $vararg_buffer71 = 0, $vararg_buffer79 = 0, $vararg_buffer90 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr32 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr47 = 0; + var $vararg_ptr48 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr66 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr82 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vararg_ptr85 = 0, $vararg_ptr86 = 0, $vararg_ptr87 = 0, $vararg_ptr88 = 0; + var $vararg_ptr89 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); + $$byval_copy103 = sp + 320|0; + $$byval_copy102 = sp + 304|0; + $vararg_buffer90 = sp + 296|0; + $vararg_buffer79 = sp + 256|0; + $vararg_buffer71 = sp + 232|0; + $vararg_buffer63 = sp + 208|0; + $vararg_buffer58 = sp + 192|0; + $vararg_buffer55 = sp + 184|0; + $vararg_buffer52 = sp + 176|0; + $vararg_buffer49 = sp + 168|0; + $vararg_buffer44 = sp + 152|0; + $vararg_buffer41 = sp + 144|0; + $vararg_buffer36 = sp + 128|0; + $vararg_buffer33 = sp + 120|0; + $vararg_buffer29 = sp + 112|0; + $vararg_buffer26 = sp + 104|0; + $vararg_buffer23 = sp + 96|0; + $vararg_buffer11 = sp + 80|0; + $vararg_buffer7 = sp + 64|0; + $vararg_buffer4 = sp + 56|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 40|0; + $$sroa$75 = sp; + $2 = sp + 664|0; + $3 = sp + 464|0; + $4 = sp + 428|0; + $5 = sp + 416|0; + $6 = sp + 452|0; + $7 = sp + 440|0; + $8 = sp + 404|0; + $9 = sp + 392|0; + $10 = sp + 380|0; + $11 = sp + 368|0; + $12 = sp + 356|0; + $13 = sp + 344|0; + $14 = sp + 332|0; + dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $15 = (_fopen($1,12011)|0); + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,12014,$vararg_buffer); + $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); + ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; + dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; + } + $17 = (_feof($15)|0); + $18 = ($17|0)==(0); + L5: do { + if ($18) { + $$0$ph445 = 0;$$0344$ph444 = 0;$$0345$ph443 = 0;$$0346$ph442 = 0; + while(1) { + $$0$ph374433 = $$0$ph445;$$0344$ph373432 = $$0344$ph444;$$0345$ph372431 = $$0345$ph443; + L8: while(1) { + $$0$ph377422 = $$0$ph374433;$$0344$ph376421 = $$0344$ph373432; + L10: while(1) { + $$0$ph379412 = $$0$ph377422; + L12: while(1) { + L14: while(1) { + HEAP32[$vararg_buffer1>>2] = $2; + (_fscanf($15,12048,$vararg_buffer1)|0); + $19 = HEAP8[$2>>0]|0; + $20 = $19 << 24 >> 24; + switch ($20|0) { + case 102: { + break L8; + break; + } + case 118: { + break L14; + break; + } + case 117: case 109: case 115: case 103: case 111: case 35: { + (_fgets($3,200,$15)|0); + break; + } + default: { + } + } + $21 = (_feof($15)|0); + $22 = ($21|0)==(0); + if (!($22)) { + $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; + break L5; + } + } + HEAP32[$vararg_buffer4>>2] = $2; + (_fscanf($15,12048,$vararg_buffer4)|0); + $23 = HEAP8[$2>>0]|0; + switch ($23<<24>>24) { + case 116: { + break L10; + break; + } + case 110: { + break L12; + break; + } + default: { + } + } + $30 = (($$0$ph379412) + 1)|0; + (_fgets($3,200,$15)|0); + $31 = (_feof($15)|0); + $32 = ($31|0)==(0); + if ($32) { + $$0$ph379412 = $30; + } else { + $$0$ph379$lcssa386 = $30;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; + break L5; + } + } + $27 = (($$0344$ph376421) + 1)|0; + (_fgets($3,200,$15)|0); + $28 = (_feof($15)|0); + $29 = ($28|0)==(0); + if ($29) { + $$0$ph377422 = $$0$ph379412;$$0344$ph376421 = $27; + } else { + $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $27;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; + break L5; + } + } + $24 = (($$0345$ph372431) + 1)|0; + (_fgets($3,200,$15)|0); + $25 = (_feof($15)|0); + $26 = ($25|0)==(0); + if ($26) { + $$0$ph374433 = $$0$ph379412;$$0344$ph373432 = $$0344$ph376421;$$0345$ph372431 = $24; + } else { + $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $24;$$0346$ph$lcssa = $$0346$ph442; + break L5; + } + } + $33 = (($$0346$ph442) + 1)|0; + (_fgets($3,200,$15)|0); + $34 = (_feof($15)|0); + $35 = ($34|0)==(0); + if ($35) { + $$0$ph445 = $$0$ph379412;$$0344$ph444 = $$0344$ph376421;$$0345$ph443 = $$0345$ph372431;$$0346$ph442 = $33; + } else { + $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $33; + break; + } + } + } else { + $$0$ph379$lcssa386 = 0;$$0344$ph376$lcssa388 = 0;$$0345$ph372$lcssa389 = 0;$$0346$ph$lcssa = 0; + } + } while(0); + HEAP32[$vararg_buffer7>>2] = $1; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; + _TraceLog(3,12051,$vararg_buffer7); + HEAP32[$vararg_buffer11>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; + _TraceLog(3,12079,$vararg_buffer11); + HEAP32[$$byval_copy102>>2] = $1; + $vararg_ptr18 = ((($$byval_copy102)) + 4|0); + HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; + _TraceLog(3,12108,$$byval_copy102); + HEAP32[$$byval_copy103>>2] = $1; + $vararg_ptr22 = ((($$byval_copy103)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; + _TraceLog(3,12135,$$byval_copy103); + $36 = ($$0$ph379$lcssa386*12)|0; + $37 = (_malloc($36)|0); + $38 = ($$0344$ph376$lcssa388|0)>(0); + if ($38) { + $39 = ($$0344$ph376$lcssa388*12)|0; + $40 = (_malloc($39)|0); + $$0357 = $40;$369 = $40; + } else { + $$0357 = 0;$369 = 0; + } + $41 = ($$0345$ph372$lcssa389|0)>(0); + if ($41) { + $42 = $$0345$ph372$lcssa389 << 3; + $43 = (_malloc($42)|0); + $$0356 = $43;$370 = $43; + } else { + $$0356 = 0;$370 = 0; + } + _rewind($15); + $44 = (_feof($15)|0); + $45 = ($44|0)==(0); + L31: do { + if ($45) { + $$0353$ph402 = 0;$$0354$ph401 = 0;$$0355$ph400 = 0; + while(1) { + $$0353$ph365399 = $$0353$ph402;$$0354$ph364398 = $$0354$ph401; + L34: while(1) { + $$0353$ph367397 = $$0353$ph365399; + L36: while(1) { + L38: while(1) { + HEAP32[$vararg_buffer23>>2] = $2; + (_fscanf($15,12048,$vararg_buffer23)|0); + $46 = HEAP8[$2>>0]|0; + $47 = $46 << 24 >> 24; + switch ($47|0) { + case 118: { + break L38; + break; + } + case 102: case 117: case 109: case 115: case 103: case 111: case 35: { + (_fgets($3,200,$15)|0); + break; + } + default: { + } + } + $48 = (_feof($15)|0); + $49 = ($48|0)==(0); + if (!($49)) { + break L31; + } + } + HEAP32[$vararg_buffer26>>2] = $2; + (_fscanf($15,12048,$vararg_buffer26)|0); + $50 = HEAP8[$2>>0]|0; + switch ($50<<24>>24) { + case 110: { + break L36; + break; + } + case 116: { + break; + } + default: { + break L34; + } + } + $51 = (($$0356) + ($$0353$ph367397<<3)|0); + $52 = (((($$0356) + ($$0353$ph367397<<3)|0)) + 4|0); + HEAP32[$vararg_buffer29>>2] = $51; + $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); + HEAP32[$vararg_ptr32>>2] = $52; + (_fscanf($15,12164,$vararg_buffer29)|0); + $53 = (($$0353$ph367397) + 1)|0; + HEAP32[$vararg_buffer33>>2] = $2; + (_fscanf($15,12048,$vararg_buffer33)|0); + $54 = (_feof($15)|0); + $55 = ($54|0)==(0); + if ($55) { + $$0353$ph367397 = $53; + } else { + break L31; + } + } + $56 = (($$0357) + (($$0354$ph364398*12)|0)|0); + $57 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 4|0); + $58 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 8|0); + HEAP32[$vararg_buffer36>>2] = $56; + $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); + HEAP32[$vararg_ptr39>>2] = $57; + $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); + HEAP32[$vararg_ptr40>>2] = $58; + (_fscanf($15,12178,$vararg_buffer36)|0); + $59 = (($$0354$ph364398) + 1)|0; + HEAP32[$vararg_buffer41>>2] = $2; + (_fscanf($15,12048,$vararg_buffer41)|0); + $60 = (_feof($15)|0); + $61 = ($60|0)==(0); + if ($61) { + $$0353$ph365399 = $$0353$ph367397;$$0354$ph364398 = $59; + } else { + break L31; + } + } + $62 = (($37) + (($$0355$ph400*12)|0)|0); + $63 = (((($37) + (($$0355$ph400*12)|0)|0)) + 4|0); + $64 = (((($37) + (($$0355$ph400*12)|0)|0)) + 8|0); + HEAP32[$vararg_buffer44>>2] = $62; + $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); + HEAP32[$vararg_ptr47>>2] = $63; + $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); + HEAP32[$vararg_ptr48>>2] = $64; + (_fscanf($15,12178,$vararg_buffer44)|0); + $65 = (($$0355$ph400) + 1)|0; + HEAP32[$vararg_buffer49>>2] = $2; + (_fscanf($15,12048,$vararg_buffer49)|0); + $66 = (_feof($15)|0); + $67 = ($66|0)==(0); + if ($67) { + $$0353$ph402 = $$0353$ph367397;$$0354$ph401 = $$0354$ph364398;$$0355$ph400 = $65; + } else { + break; + } + } + } + } while(0); + $68 = ($$0346$ph$lcssa*3)|0; + $69 = ($$0346$ph$lcssa*9)|0; + $70 = ($$0346$ph$lcssa*36)|0; + $71 = (_malloc($70)|0); + $72 = ($$0346$ph$lcssa*6)|0; + $73 = ($$0346$ph$lcssa*24)|0; + $74 = (_malloc($73)|0); + $75 = (_malloc($70)|0); + _rewind($15); + $76 = ($$0344$ph376$lcssa388|0)==(0); + if ($76) { + HEAP32[$vararg_buffer52>>2] = $1; + _TraceLog(0,12187,$vararg_buffer52); + } + $77 = ($$0345$ph372$lcssa389|0)==(0); + $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; + $79 = ($78|0)==(0); + $80 = ((($vararg_buffer11)) + 4|0); + $81 = ((($vararg_buffer11)) + 8|0); + $82 = ((($vararg_buffer11)) + 4|0); + $83 = ((($vararg_buffer11)) + 8|0); + $84 = ((($4)) + 4|0); + $85 = ((($4)) + 8|0); + $86 = ((($5)) + 4|0); + $87 = ((($5)) + 8|0); + $88 = ((($vararg_buffer11)) + 4|0); + $89 = ((($vararg_buffer7)) + 4|0); + $90 = ((($vararg_buffer11)) + 8|0); + $91 = ((($vararg_buffer7)) + 8|0); + $92 = ((($vararg_buffer11)) + 4|0); + $93 = ((($4)) + 4|0); + $94 = ((($vararg_buffer11)) + 8|0); + $95 = ((($4)) + 8|0); + $96 = ((($vararg_buffer11)) + 4|0); + $97 = ((($vararg_buffer7)) + 4|0); + $98 = ((($4)) + 4|0); + $99 = ((($vararg_buffer11)) + 8|0); + $100 = ((($vararg_buffer7)) + 8|0); + $101 = ((($4)) + 8|0); + $102 = ((($vararg_buffer7)) + 4|0); + $103 = ((($vararg_buffer7)) + 8|0); + $$0350$ph$ph = 0;$$0351$ph$ph = 0;$$0352$ph$ph = 0; + L51: while(1) { + $$0350$ph = $$0350$ph$ph;$$0352$ph = $$0352$ph$ph; + while(1) { + $104 = (_feof($15)|0); + $105 = ($104|0)==(0); + if (!($105)) { + break L51; + } + L55: while(1) { + HEAP32[$vararg_buffer55>>2] = $2; + (_fscanf($15,12048,$vararg_buffer55)|0); + $106 = HEAP8[$2>>0]|0; + $107 = $106 << 24 >> 24; + switch ($107|0) { + case 102: { + break L55; + break; + } + case 118: case 117: case 109: case 115: case 103: case 111: case 35: { + (_fgets($3,200,$15)|0); + break; + } + default: { + } + } + $108 = (_feof($15)|0); + $109 = ($108|0)==(0); + if (!($109)) { + break L51; + } + } + do { + if ($79) { + HEAP32[$vararg_buffer58>>2] = $vararg_buffer11; + $vararg_ptr61 = ((($vararg_buffer58)) + 4|0); + HEAP32[$vararg_ptr61>>2] = $80; + $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); + HEAP32[$vararg_ptr62>>2] = $81; + (_fscanf($15,12258,$vararg_buffer58)|0); + } else { + if ($76) { + HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; + $vararg_ptr66 = ((($vararg_buffer63)) + 4|0); + HEAP32[$vararg_ptr66>>2] = $vararg_buffer7; + $vararg_ptr67 = ((($vararg_buffer63)) + 8|0); + HEAP32[$vararg_ptr67>>2] = $88; + $vararg_ptr68 = ((($vararg_buffer63)) + 12|0); + HEAP32[$vararg_ptr68>>2] = $89; + $vararg_ptr69 = ((($vararg_buffer63)) + 16|0); + HEAP32[$vararg_ptr69>>2] = $90; + $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); + HEAP32[$vararg_ptr70>>2] = $91; + (_fscanf($15,12267,$vararg_buffer63)|0); + break; + } + if ($77) { + HEAP32[$vararg_buffer71>>2] = $vararg_buffer11; + $vararg_ptr74 = ((($vararg_buffer71)) + 4|0); + HEAP32[$vararg_ptr74>>2] = $4; + $vararg_ptr75 = ((($vararg_buffer71)) + 8|0); + HEAP32[$vararg_ptr75>>2] = $92; + $vararg_ptr76 = ((($vararg_buffer71)) + 12|0); + HEAP32[$vararg_ptr76>>2] = $93; + $vararg_ptr77 = ((($vararg_buffer71)) + 16|0); + HEAP32[$vararg_ptr77>>2] = $94; + $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); + HEAP32[$vararg_ptr78>>2] = $95; + (_fscanf($15,12285,$vararg_buffer71)|0); + break; + } else { + HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; + $vararg_ptr82 = ((($vararg_buffer79)) + 4|0); + HEAP32[$vararg_ptr82>>2] = $vararg_buffer7; + $vararg_ptr83 = ((($vararg_buffer79)) + 8|0); + HEAP32[$vararg_ptr83>>2] = $4; + $vararg_ptr84 = ((($vararg_buffer79)) + 12|0); + HEAP32[$vararg_ptr84>>2] = $96; + $vararg_ptr85 = ((($vararg_buffer79)) + 16|0); + HEAP32[$vararg_ptr85>>2] = $97; + $vararg_ptr86 = ((($vararg_buffer79)) + 20|0); + HEAP32[$vararg_ptr86>>2] = $98; + $vararg_ptr87 = ((($vararg_buffer79)) + 24|0); + HEAP32[$vararg_ptr87>>2] = $99; + $vararg_ptr88 = ((($vararg_buffer79)) + 28|0); + HEAP32[$vararg_ptr88>>2] = $100; + $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); + HEAP32[$vararg_ptr89>>2] = $101; + (_fscanf($15,12306,$vararg_buffer79)|0); + break; + } + } + } while(0); + $110 = HEAP32[$vararg_buffer11>>2]|0; + $111 = (($110) + -1)|0; + $112 = (($37) + (($111*12)|0)|0); + $113 = HEAP32[$112>>2]|0; + $114 = (($71) + ($$0352$ph<<2)|0); + HEAP32[$114>>2] = $113; + $115 = (((($37) + (($111*12)|0)|0)) + 4|0); + $116 = HEAP32[$115>>2]|0; + $117 = (($$0352$ph) + 1)|0; + $118 = (($71) + ($117<<2)|0); + HEAP32[$118>>2] = $116; + $119 = (((($37) + (($111*12)|0)|0)) + 8|0); + $120 = HEAP32[$119>>2]|0; + $121 = (($$0352$ph) + 2)|0; + $122 = (($71) + ($121<<2)|0); + HEAP32[$122>>2] = $120; + $123 = (($$0352$ph) + 3)|0; + $124 = HEAP32[$82>>2]|0; + $125 = (($124) + -1)|0; + $126 = (($37) + (($125*12)|0)|0); + $127 = HEAP32[$126>>2]|0; + $128 = (($71) + ($123<<2)|0); + HEAP32[$128>>2] = $127; + $129 = (((($37) + (($125*12)|0)|0)) + 4|0); + $130 = HEAP32[$129>>2]|0; + $131 = (($$0352$ph) + 4)|0; + $132 = (($71) + ($131<<2)|0); + HEAP32[$132>>2] = $130; + $133 = (((($37) + (($125*12)|0)|0)) + 8|0); + $134 = HEAP32[$133>>2]|0; + $135 = (($$0352$ph) + 5)|0; + $136 = (($71) + ($135<<2)|0); + HEAP32[$136>>2] = $134; + $137 = (($$0352$ph) + 6)|0; + $138 = HEAP32[$83>>2]|0; + $139 = (($138) + -1)|0; + $140 = (($37) + (($139*12)|0)|0); + $141 = HEAP32[$140>>2]|0; + $142 = (($71) + ($137<<2)|0); + HEAP32[$142>>2] = $141; + $143 = (((($37) + (($139*12)|0)|0)) + 4|0); + $144 = HEAP32[$143>>2]|0; + $145 = (($$0352$ph) + 7)|0; + $146 = (($71) + ($145<<2)|0); + HEAP32[$146>>2] = $144; + $147 = (((($37) + (($139*12)|0)|0)) + 8|0); + $148 = HEAP32[$147>>2]|0; + $149 = (($$0352$ph) + 8)|0; + $150 = (($71) + ($149<<2)|0); + HEAP32[$150>>2] = $148; + $151 = (($$0352$ph) + 9)|0; + if ($38) { + $152 = HEAP32[$4>>2]|0; + $153 = (($152) + -1)|0; + $154 = (($$0357) + (($153*12)|0)|0); + $155 = HEAP32[$154>>2]|0; + $156 = (($75) + ($$0350$ph<<2)|0); + HEAP32[$156>>2] = $155; + $157 = (((($$0357) + (($153*12)|0)|0)) + 4|0); + $158 = HEAP32[$157>>2]|0; + $159 = (($$0350$ph) + 1)|0; + $160 = (($75) + ($159<<2)|0); + HEAP32[$160>>2] = $158; + $161 = (((($$0357) + (($153*12)|0)|0)) + 8|0); + $162 = HEAP32[$161>>2]|0; + $163 = (($$0350$ph) + 2)|0; + $164 = (($75) + ($163<<2)|0); + HEAP32[$164>>2] = $162; + $165 = (($$0350$ph) + 3)|0; + $166 = HEAP32[$84>>2]|0; + $167 = (($166) + -1)|0; + $168 = (($$0357) + (($167*12)|0)|0); + $169 = HEAP32[$168>>2]|0; + $170 = (($75) + ($165<<2)|0); + HEAP32[$170>>2] = $169; + $171 = (((($$0357) + (($167*12)|0)|0)) + 4|0); + $172 = HEAP32[$171>>2]|0; + $173 = (($$0350$ph) + 4)|0; + $174 = (($75) + ($173<<2)|0); + HEAP32[$174>>2] = $172; + $175 = (((($$0357) + (($167*12)|0)|0)) + 8|0); + $176 = HEAP32[$175>>2]|0; + $177 = (($$0350$ph) + 5)|0; + $178 = (($75) + ($177<<2)|0); + HEAP32[$178>>2] = $176; + $179 = (($$0350$ph) + 6)|0; + $180 = HEAP32[$85>>2]|0; + $181 = (($180) + -1)|0; + $182 = (($$0357) + (($181*12)|0)|0); + $183 = HEAP32[$182>>2]|0; + $184 = (($75) + ($179<<2)|0); + HEAP32[$184>>2] = $183; + $185 = (((($$0357) + (($181*12)|0)|0)) + 4|0); + $186 = HEAP32[$185>>2]|0; + $187 = (($$0350$ph) + 7)|0; + $188 = (($75) + ($187<<2)|0); + HEAP32[$188>>2] = $186; + $189 = (((($$0357) + (($181*12)|0)|0)) + 8|0); + $190 = HEAP32[$189>>2]|0; + $191 = (($$0350$ph) + 8)|0; + $192 = (($75) + ($191<<2)|0); + HEAP32[$192>>2] = $190; + } else { + $193 = HEAP32[$82>>2]|0; + $194 = (($193) + -1)|0; + $195 = (($37) + (($194*12)|0)|0); + $196 = HEAP32[$vararg_buffer11>>2]|0; + $197 = (($196) + -1)|0; + $198 = (($37) + (($197*12)|0)|0); + ;HEAP32[$$byval_copy102>>2]=HEAP32[$195>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$195+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$195+8>>2]|0; + ;HEAP32[$$byval_copy103>>2]=HEAP32[$198>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$198+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$198+8>>2]|0; + _VectorSubtract($6,$$byval_copy102,$$byval_copy103); + $199 = HEAP32[$83>>2]|0; + $200 = (($199) + -1)|0; + $201 = (($37) + (($200*12)|0)|0); + $202 = HEAP32[$vararg_buffer11>>2]|0; + $203 = (($202) + -1)|0; + $204 = (($37) + (($203*12)|0)|0); + ;HEAP32[$$byval_copy102>>2]=HEAP32[$201>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$201+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$201+8>>2]|0; + ;HEAP32[$$byval_copy103>>2]=HEAP32[$204>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$204+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$204+8>>2]|0; + _VectorSubtract($7,$$byval_copy102,$$byval_copy103); + ;HEAP32[$$byval_copy102>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$6+8>>2]|0; + ;HEAP32[$$byval_copy103>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$7+8>>2]|0; + _VectorCrossProduct($5,$$byval_copy102,$$byval_copy103); + _VectorNormalize($5); + $205 = HEAP32[$5>>2]|0; + $206 = (($75) + ($$0350$ph<<2)|0); + HEAP32[$206>>2] = $205; + $207 = HEAP32[$86>>2]|0; + $208 = (($$0350$ph) + 1)|0; + $209 = (($75) + ($208<<2)|0); + HEAP32[$209>>2] = $207; + $210 = HEAP32[$87>>2]|0; + $211 = (($$0350$ph) + 2)|0; + $212 = (($75) + ($211<<2)|0); + HEAP32[$212>>2] = $210; + $213 = (($$0350$ph) + 3)|0; + $214 = HEAP32[$5>>2]|0; + $215 = (($75) + ($213<<2)|0); + HEAP32[$215>>2] = $214; + $216 = HEAP32[$86>>2]|0; + $217 = (($$0350$ph) + 4)|0; + $218 = (($75) + ($217<<2)|0); + HEAP32[$218>>2] = $216; + $219 = HEAP32[$87>>2]|0; + $220 = (($$0350$ph) + 5)|0; + $221 = (($75) + ($220<<2)|0); + HEAP32[$221>>2] = $219; + $222 = (($$0350$ph) + 6)|0; + $223 = HEAP32[$5>>2]|0; + $224 = (($75) + ($222<<2)|0); + HEAP32[$224>>2] = $223; + $225 = HEAP32[$86>>2]|0; + $226 = (($$0350$ph) + 7)|0; + $227 = (($75) + ($226<<2)|0); + HEAP32[$227>>2] = $225; + $228 = HEAP32[$87>>2]|0; + $229 = (($$0350$ph) + 8)|0; + $230 = (($75) + ($229<<2)|0); + HEAP32[$230>>2] = $228; + } + $$1 = (($$0350$ph) + 9)|0; + if ($41) { + break; + } else { + $$0350$ph = $$1;$$0352$ph = $151; + } + } + $231 = HEAP32[$vararg_buffer7>>2]|0; + $232 = (($231) + -1)|0; + $233 = (($$0356) + ($232<<3)|0); + $234 = HEAP32[$233>>2]|0; + $235 = (($74) + ($$0351$ph$ph<<2)|0); + HEAP32[$235>>2] = $234; + $236 = (((($$0356) + ($232<<3)|0)) + 4|0); + $237 = +HEAPF32[$236>>2]; + $238 = 1.0 - $237; + $239 = $$0351$ph$ph | 1; + $240 = (($74) + ($239<<2)|0); + HEAPF32[$240>>2] = $238; + $241 = (($$0351$ph$ph) + 2)|0; + $242 = HEAP32[$102>>2]|0; + $243 = (($242) + -1)|0; + $244 = (($$0356) + ($243<<3)|0); + $245 = HEAP32[$244>>2]|0; + $246 = (($74) + ($241<<2)|0); + HEAP32[$246>>2] = $245; + $247 = (((($$0356) + ($243<<3)|0)) + 4|0); + $248 = +HEAPF32[$247>>2]; + $249 = 1.0 - $248; + $250 = (($$0351$ph$ph) + 3)|0; + $251 = (($74) + ($250<<2)|0); + HEAPF32[$251>>2] = $249; + $252 = (($$0351$ph$ph) + 4)|0; + $253 = HEAP32[$103>>2]|0; + $254 = (($253) + -1)|0; + $255 = (($$0356) + ($254<<3)|0); + $256 = HEAP32[$255>>2]|0; + $257 = (($74) + ($252<<2)|0); + HEAP32[$257>>2] = $256; + $258 = (((($$0356) + ($254<<3)|0)) + 4|0); + $259 = +HEAPF32[$258>>2]; + $260 = 1.0 - $259; + $261 = (($$0351$ph$ph) + 5)|0; + $262 = (($74) + ($261<<2)|0); + HEAPF32[$262>>2] = $260; + $263 = (($$0351$ph$ph) + 6)|0; + $$0350$ph$ph = $$1;$$0351$ph$ph = $263;$$0352$ph$ph = $151; + } + (_fclose($15)|0); + $264 = ($$0345$ph372$lcssa389|0)==(0); + if ($264) { + $265 = ($72|0)>(0); + if ($265) { + $368 = ($$0346$ph$lcssa*24)|0; + _memset(($74|0),0,($368|0))|0; + $$sroa$64$0 = 0; + } else { + $$sroa$64$0 = 0; + } + } else { + $266 = (_malloc($70)|0); + $267 = ($69|0)>(0); + if ($267) { + $268 = ((($5)) + 4|0); + $269 = ((($5)) + 8|0); + $270 = ((($8)) + 4|0); + $271 = ((($8)) + 8|0); + $272 = ((($9)) + 4|0); + $273 = ((($9)) + 8|0); + $274 = ((($12)) + 4|0); + $275 = ((($10)) + 4|0); + $276 = ((($12)) + 8|0); + $277 = ((($10)) + 8|0); + $278 = ((($13)) + 4|0); + $279 = ((($11)) + 4|0); + $280 = ((($13)) + 8|0); + $281 = ((($11)) + 8|0); + $282 = ((($14)) + 4|0); + $283 = ((($14)) + 8|0); + $$0347392 = 0;$$0348391 = 0; + while(1) { + $284 = (($71) + ($$0348391<<2)|0); + $285 = HEAP32[$284>>2]|0; + HEAP32[$5>>2] = $285; + $286 = (($$0348391) + 1)|0; + $287 = (($71) + ($286<<2)|0); + $288 = HEAP32[$287>>2]|0; + HEAP32[$268>>2] = $288; + $289 = (($$0348391) + 2)|0; + $290 = (($71) + ($289<<2)|0); + $291 = HEAP32[$290>>2]|0; + HEAP32[$269>>2] = $291; + $292 = (($$0348391) + 3)|0; + $293 = (($71) + ($292<<2)|0); + $294 = HEAP32[$293>>2]|0; + HEAP32[$8>>2] = $294; + $295 = (($$0348391) + 4)|0; + $296 = (($71) + ($295<<2)|0); + $297 = HEAP32[$296>>2]|0; + HEAP32[$270>>2] = $297; + $298 = (($$0348391) + 5)|0; + $299 = (($71) + ($298<<2)|0); + $300 = HEAP32[$299>>2]|0; + HEAP32[$271>>2] = $300; + $301 = (($$0348391) + 6)|0; + $302 = (($71) + ($301<<2)|0); + $303 = HEAP32[$302>>2]|0; + HEAP32[$9>>2] = $303; + $304 = (($$0348391) + 7)|0; + $305 = (($71) + ($304<<2)|0); + $306 = HEAP32[$305>>2]|0; + HEAP32[$272>>2] = $306; + $307 = (($$0348391) + 8)|0; + $308 = (($71) + ($307<<2)|0); + $309 = HEAP32[$308>>2]|0; + HEAP32[$273>>2] = $309; + $310 = (($74) + ($$0347392<<2)|0); + $311 = +HEAPF32[$310>>2]; + $312 = $$0347392 | 1; + $313 = (($74) + ($312<<2)|0); + $314 = +HEAPF32[$313>>2]; + $315 = (($$0347392) + 2)|0; + $316 = (($74) + ($315<<2)|0); + $317 = +HEAPF32[$316>>2]; + $318 = (($$0347392) + 3)|0; + $319 = (($74) + ($318<<2)|0); + $320 = +HEAPF32[$319>>2]; + $321 = (($$0347392) + 4)|0; + $322 = (($74) + ($321<<2)|0); + $323 = +HEAPF32[$322>>2]; + $324 = (($$0347392) + 5)|0; + $325 = (($74) + ($324<<2)|0); + $326 = +HEAPF32[$325>>2]; + ;HEAP32[$$byval_copy102>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$8+8>>2]|0; + ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; + _VectorSubtract($10,$$byval_copy102,$$byval_copy103); + ;HEAP32[$$byval_copy102>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$9+8>>2]|0; + ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; + _VectorSubtract($11,$$byval_copy102,$$byval_copy103); + $327 = $317 - $311; + $328 = $320 - $314; + $329 = $323 - $311; + $330 = $326 - $314; + $331 = $327 * $330; + $332 = $328 * $329; + $333 = $331 - $332; + $334 = 1.0 / $333; + $335 = +HEAPF32[$10>>2]; + $336 = $330 * $335; + HEAPF32[$12>>2] = $336; + $337 = +HEAPF32[$275>>2]; + $338 = $330 * $337; + HEAPF32[$274>>2] = $338; + $339 = +HEAPF32[$277>>2]; + $340 = $330 * $339; + HEAPF32[$276>>2] = $340; + $341 = +HEAPF32[$11>>2]; + $342 = $328 * $341; + HEAPF32[$13>>2] = $342; + $343 = +HEAPF32[$279>>2]; + $344 = $328 * $343; + HEAPF32[$278>>2] = $344; + $345 = +HEAPF32[$281>>2]; + $346 = $328 * $345; + HEAPF32[$280>>2] = $346; + ;HEAP32[$$byval_copy102>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$12+8>>2]|0; + ;HEAP32[$$byval_copy103>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$13+8>>2]|0; + _VectorSubtract($14,$$byval_copy102,$$byval_copy103); + _VectorScale($14,$334); + $347 = HEAP32[$14>>2]|0; + $348 = (($266) + ($$0348391<<2)|0); + HEAP32[$348>>2] = $347; + $349 = HEAP32[$282>>2]|0; + $350 = (($266) + ($286<<2)|0); + HEAP32[$350>>2] = $349; + $351 = HEAP32[$283>>2]|0; + $352 = (($266) + ($289<<2)|0); + HEAP32[$352>>2] = $351; + $353 = HEAP32[$14>>2]|0; + $354 = (($266) + ($292<<2)|0); + HEAP32[$354>>2] = $353; + $355 = HEAP32[$282>>2]|0; + $356 = (($266) + ($295<<2)|0); + HEAP32[$356>>2] = $355; + $357 = HEAP32[$283>>2]|0; + $358 = (($266) + ($298<<2)|0); + HEAP32[$358>>2] = $357; + $359 = HEAP32[$14>>2]|0; + $360 = (($266) + ($301<<2)|0); + HEAP32[$360>>2] = $359; + $361 = HEAP32[$282>>2]|0; + $362 = (($266) + ($304<<2)|0); + HEAP32[$362>>2] = $361; + $363 = HEAP32[$283>>2]|0; + $364 = (($266) + ($307<<2)|0); + HEAP32[$364>>2] = $363; + $365 = (($$0348391) + 9)|0; + $366 = (($$0347392) + 6)|0; + $367 = ($365|0)<($69|0); + if ($367) { + $$0347392 = $366;$$0348391 = $365; + } else { + $$sroa$64$0 = $266; + break; + } + } + } else { + $$sroa$64$0 = $266; + } + } + _free($37); + _free($369); + _free($370); + HEAP32[$vararg_buffer90>>2] = $1; + _TraceLog(0,12333,$vararg_buffer90); + HEAP32[$0>>2] = $68; + $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); + HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; + $$sroa$12247$0$$sroa_idx249 = ((($0)) + 8|0); + HEAP32[$$sroa$12247$0$$sroa_idx249>>2] = $71; + $$sroa$31$0$$sroa_idx270 = ((($0)) + 12|0); + HEAP32[$$sroa$31$0$$sroa_idx270>>2] = $74; + $$sroa$45$0$$sroa_idx286 = ((($0)) + 16|0); + HEAP32[$$sroa$45$0$$sroa_idx286>>2] = 0; + $$sroa$45289$0$$sroa_idx291 = ((($0)) + 20|0); + HEAP32[$$sroa$45289$0$$sroa_idx291>>2] = $75; + $$sroa$64$0$$sroa_idx312 = ((($0)) + 24|0); + HEAP32[$$sroa$64$0$$sroa_idx312>>2] = $$sroa$64$0; + $$sroa$74$0$$sroa_idx324 = ((($0)) + 28|0); + HEAP32[$$sroa$74$0$$sroa_idx324>>2] = 0; + $$sroa$75$0$$sroa_idx328 = ((($0)) + 32|0); + dest=$$sroa$75$0$$sroa_idx328; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadModel($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); + $2 = sp + 200|0; + $3 = sp + 136|0; + $4 = sp; + _memset(($2|0),0,264)|0; + _LoadMesh($2,$1); + $5 = ((($2)) + 68|0); + _MatrixIdentity($3); + dest=$5; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = ((($2)) + 132|0); + _LoadDefaultMaterial($4); + _memcpy(($6|0),($4|0),132)|0; + _memcpy(($0|0),($2|0),264)|0; + STACKTOP = sp;return; +} +function _LoadDefaultMaterial($0) { + $0 = $0|0; + var $$sroa$09 = 0, $$sroa$09$56$sroa_idx = 0, $$sroa$18$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $$sroa$09 = sp; + $1 = sp + 136|0; + $2 = sp + 116|0; + dest=$$sroa$09; stop=dest+116|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _GetDefaultShader($1); + dest=$$sroa$09; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _GetDefaultTexture($2); + $$sroa$09$56$sroa_idx = ((($$sroa$09)) + 56|0); + ;HEAP32[$$sroa$09$56$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; + dest=$0; src=$$sroa$09; stop=dest+116|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $$sroa$6$0$$sroa_idx = ((($0)) + 116|0); + $$sroa$18$0$$sroa_idx15 = ((($0)) + 128|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=4294967295|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=4294967295|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=4294967295|0; + HEAPF32[$$sroa$18$0$$sroa_idx15>>2] = 100.0; + STACKTOP = sp;return; +} +function _UnloadMesh($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _rlglUnloadMesh($0); + return; +} +function _UnloadModel($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + _UnloadMesh($0); + $1 = ((($0)) + 132|0); + _memcpy(($$byval_copy|0),($1|0),132)|0; + _UnloadMaterial($$byval_copy); + _TraceLog(0,12377,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadMaterial($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = HEAP32[$1>>2]|0; + _rlDeleteTextures($2); + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + _rlDeleteTextures($4); + $5 = ((($0)) + 96|0); + $6 = HEAP32[$5>>2]|0; + _rlDeleteTextures($6); + return; +} +function _DrawModel($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy4 = sp + 324|0; + $$byval_copy3 = sp + 312|0; + $$byval_copy2 = sp + 300|0; + $$byval_copy1 = sp + 288|0; + $$byval_copy = sp + 24|0; + $4 = sp + 12|0; + $5 = sp; + HEAPF32[$4>>2] = $2; + $6 = ((($4)) + 4|0); + HEAPF32[$6>>2] = $2; + $7 = ((($4)) + 8|0); + HEAPF32[$7>>2] = $2; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + _memcpy(($$byval_copy|0),($0|0),264)|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; + _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); + STACKTOP = sp;return; +} +function _DrawModelEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 592|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(592|0); + $$byval_copy7 = sp + 520|0; + $$byval_copy6 = sp + 388|0; + $$byval_copy5 = sp + 320|0; + $6 = sp + 128|0; + $7 = sp + 64|0; + $8 = sp; + $9 = sp + 256|0; + $10 = sp + 192|0; + $11 = $3 * 0.01745329238474369; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[$2+8>>2]|0; + _MatrixRotate($6,$$byval_copy7,$11); + $12 = +HEAPF32[$4>>2]; + $13 = ((($4)) + 4|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($4)) + 8|0); + $16 = +HEAPF32[$15>>2]; + _MatrixScale($7,$12,$14,$16); + $17 = +HEAPF32[$1>>2]; + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 8|0); + $21 = +HEAPF32[$20>>2]; + _MatrixTranslate($8,$17,$19,$21); + $22 = ((($0)) + 68|0); + dest=$$byval_copy6; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy7; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($9,$$byval_copy6,$$byval_copy7); + dest=$$byval_copy6; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy7; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($10,$$byval_copy6,$$byval_copy7); + dest=$22; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $23 = ((($0)) + 132|0); + $24 = ((($0)) + 248|0); + $25 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); + HEAP32[$24>>2] = $25; + dest=$$byval_copy5; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _memcpy(($$byval_copy6|0),($23|0),132)|0; + dest=$$byval_copy7; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlglDrawMesh($$byval_copy5,$$byval_copy6,$$byval_copy7); + STACKTOP = sp;return; +} +function _DrawBoundingBox($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 12|0; + $2 = sp; + $3 = ((($0)) + 12|0); + $4 = +HEAPF32[$3>>2]; + $5 = +HEAPF32[$0>>2]; + $6 = $4 - $5; + $7 = (+Math_abs((+$6))); + $8 = ((($0)) + 16|0); + $9 = +HEAPF32[$8>>2]; + $10 = ((($0)) + 4|0); + $11 = +HEAPF32[$10>>2]; + $12 = $9 - $11; + $13 = (+Math_abs((+$12))); + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = ((($0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 - $17; + $19 = (+Math_abs((+$18))); + $20 = +HEAPF32[$0>>2]; + $21 = $7 * 0.5; + $22 = $21 + $20; + HEAPF32[$2>>2] = $22; + $23 = ((($2)) + 4|0); + $24 = +HEAPF32[$10>>2]; + $25 = $13 * 0.5; + $26 = $25 + $24; + HEAPF32[$23>>2] = $26; + $27 = ((($2)) + 8|0); + $28 = +HEAPF32[$16>>2]; + $29 = $19 * 0.5; + $30 = $29 + $28; + HEAPF32[$27>>2] = $30; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; + ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; + _DrawCubeWires($$byval_copy,$7,$13,$19,$$byval_copy1); + STACKTOP = sp;return; +} +function _CheckCollisionRayBox($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; + var $29 = 0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $fmaxf = 0.0, $fmaxf19 = 0.0, $fmaxf20 = 0.0; + var $fmaxf21 = 0.0, $fmaxf23 = 0.0, $fminf = 0.0, $fminf17 = 0.0, $fminf18 = 0.0, $fminf22 = 0.0, $fminf24 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$1>>2]; + $3 = +HEAPF32[$0>>2]; + $4 = $2 - $3; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $4 / $6; + $8 = ((($1)) + 12|0); + $9 = +HEAPF32[$8>>2]; + $10 = $9 - $3; + $11 = $10 / $6; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 - $15; + $17 = ((($0)) + 16|0); + $18 = +HEAPF32[$17>>2]; + $19 = $16 / $18; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $21 - $15; + $23 = $22 / $18; + $24 = ((($1)) + 8|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($0)) + 8|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 - $27; + $29 = ((($0)) + 20|0); + $30 = +HEAPF32[$29>>2]; + $31 = $28 / $30; + $32 = ((($1)) + 20|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $27; + $35 = $34 / $30; + $fmaxf20 = (+_fmaxf($7,$11)); + $fmaxf21 = (+_fmaxf($19,$23)); + $fminf22 = (+_fminf($fmaxf20,$fmaxf21)); + $fmaxf23 = (+_fmaxf($31,$35)); + $fminf24 = (+_fminf($fminf22,$fmaxf23)); + $36 = $fminf24 < 0.0; + if ($36) { + $38 = 0; + $37 = $38&1; + return ($37|0); + } + $fminf = (+_fminf($7,$11)); + $fminf17 = (+_fminf($19,$23)); + $fmaxf = (+_fmaxf($fminf,$fminf17)); + $fminf18 = (+_fminf($31,$35)); + $fmaxf19 = (+_fmaxf($fmaxf,$fminf18)); + $phitmp = !($fmaxf19 > $fminf24); + $38 = $phitmp; + $37 = $38&1; + return ($37|0); +} +function _GetCollisionRayMesh($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$051 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0$lcssa = 0, $$sroa$0$050 = 0, $$sroa$0$1 = 0, $$sroa$7$0$$sroa_idx23 = 0, $$sroa$7$0$$sroa_idx26 = 0, $$sroa$7$0$lcssa = 0.0, $$sroa$7$052 = 0.0, $$sroa$7$1 = 0.0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx31 = 0, $$sroa$8$0$$sroa_idx34 = 0, $10 = 0, $11 = 0, $12 = 0; + var $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, $30 = 0, $31 = 0; + var $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.0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); + $$byval_copy3 = sp + 144|0; + $$byval_copy2 = sp + 132|0; + $$byval_copy1 = sp + 120|0; + $$byval_copy = sp + 96|0; + $$sroa$8 = sp; + $3 = sp + 80|0; + $4 = sp + 68|0; + $5 = sp + 56|0; + $6 = sp + 24|0; + ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0; + $7 = ((($2)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==(0|0); + if ($9) { + HEAP32[$0>>2] = 0; + $$sroa$7$0$$sroa_idx23 = ((($0)) + 4|0); + HEAPF32[$$sroa$7$0$$sroa_idx23>>2] = 0.0; + $$sroa$8$0$$sroa_idx = ((($0)) + 8|0); + ;HEAP32[$$sroa$8$0$$sroa_idx>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+20>>2]=HEAP32[$$sroa$8+20>>2]|0; + STACKTOP = sp;return; + } + $10 = HEAP32[$2>>2]|0; + $11 = (($10|0) / 3)&-1; + $12 = ($10|0)>(2); + if ($12) { + $13 = ((($2)) + 32|0); + $14 = ((($6)) + 4|0); + $$sroa$8$0$$sroa_idx31 = ((($6)) + 8|0); + $$051 = 0;$$sroa$0$050 = 0;$$sroa$7$052 = 0.0; + while(1) { + $15 = HEAP32[$7>>2]|0; + $16 = HEAP32[$13>>2]|0; + $17 = ($16|0)==(0|0); + $18 = ($$051*3)|0; + if ($17) { + $35 = (($15) + (($18*12)|0)|0); + ;HEAP32[$3>>2]=HEAP32[$35>>2]|0;HEAP32[$3+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$35+8>>2]|0; + $36 = (($18) + 1)|0; + $37 = (($15) + (($36*12)|0)|0); + ;HEAP32[$4>>2]=HEAP32[$37>>2]|0;HEAP32[$4+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$37+8>>2]|0; + $38 = (($18) + 2)|0; + $39 = (($15) + (($38*12)|0)|0); + ;HEAP32[$5>>2]=HEAP32[$39>>2]|0;HEAP32[$5+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$39+8>>2]|0; + } else { + $19 = (($16) + ($18<<1)|0); + $20 = HEAP16[$19>>1]|0; + $21 = $20&65535; + $22 = (($15) + (($21*12)|0)|0); + ;HEAP32[$3>>2]=HEAP32[$22>>2]|0;HEAP32[$3+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$22+8>>2]|0; + $23 = HEAP32[$13>>2]|0; + $24 = (($18) + 1)|0; + $25 = (($23) + ($24<<1)|0); + $26 = HEAP16[$25>>1]|0; + $27 = $26&65535; + $28 = (($15) + (($27*12)|0)|0); + ;HEAP32[$4>>2]=HEAP32[$28>>2]|0;HEAP32[$4+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$28+8>>2]|0; + $29 = HEAP32[$13>>2]|0; + $30 = (($18) + 2)|0; + $31 = (($29) + ($30<<1)|0); + $32 = HEAP16[$31>>1]|0; + $33 = $32&65535; + $34 = (($15) + (($33*12)|0)|0); + ;HEAP32[$5>>2]=HEAP32[$34>>2]|0;HEAP32[$5+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$34+8>>2]|0; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$5+8>>2]|0; + _GetCollisionRayTriangle($6,$$byval_copy,$$byval_copy1,$$byval_copy2,$$byval_copy3); + $40 = HEAP32[$6>>2]|0; + $41 = ($40|0)==(0); + if ($41) { + $$sroa$0$1 = $$sroa$0$050;$$sroa$7$1 = $$sroa$7$052; + } else { + $42 = ($$sroa$0$050|0)==(0); + $43 = +HEAPF32[$14>>2]; + $44 = $$sroa$7$052 > $43; + $or$cond = $42 | $44; + if ($or$cond) { + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx31>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+20>>2]|0; + $$sroa$0$1 = $40;$$sroa$7$1 = $43; + } else { + $$sroa$0$1 = $$sroa$0$050;$$sroa$7$1 = $$sroa$7$052; + } + } + $45 = (($$051) + 1)|0; + $46 = ($45|0)<($11|0); + if ($46) { + $$051 = $45;$$sroa$0$050 = $$sroa$0$1;$$sroa$7$052 = $$sroa$7$1; + } else { + $$sroa$0$0$lcssa = $$sroa$0$1;$$sroa$7$0$lcssa = $$sroa$7$1; + break; + } + } + } else { + $$sroa$0$0$lcssa = 0;$$sroa$7$0$lcssa = 0.0; + } + HEAP32[$0>>2] = $$sroa$0$0$lcssa; + $$sroa$7$0$$sroa_idx26 = ((($0)) + 4|0); + HEAPF32[$$sroa$7$0$$sroa_idx26>>2] = $$sroa$7$0$lcssa; + $$sroa$8$0$$sroa_idx34 = ((($0)) + 8|0); + ;HEAP32[$$sroa$8$0$$sroa_idx34>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+20>>2]=HEAP32[$$sroa$8+20>>2]|0; + STACKTOP = sp;return; +} +function _GetCollisionRayTriangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy20 = 0, $$byval_copy21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0; + var $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond24 = 0; + var $or$cond26 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); + $$byval_copy21 = sp + 204|0; + $$byval_copy20 = sp + 192|0; + $5 = sp + 96|0; + $6 = sp + 84|0; + $7 = sp + 72|0; + $8 = sp + 60|0; + $9 = sp + 48|0; + $10 = sp + 16|0; + $11 = sp + 180|0; + $12 = sp + 168|0; + $13 = sp + 156|0; + $14 = sp + 144|0; + $15 = sp + 132|0; + $16 = sp + 120|0; + $17 = sp; + $18 = sp + 108|0; + ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;HEAP32[$10+20>>2]=0|0;HEAP32[$10+24>>2]=0|0;HEAP32[$10+28>>2]=0|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; + _VectorSubtract($11,$$byval_copy20,$$byval_copy21); + ;HEAP32[$5>>2]=HEAP32[$11>>2]|0;HEAP32[$5+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$11+8>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$4+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; + _VectorSubtract($12,$$byval_copy20,$$byval_copy21); + ;HEAP32[$6>>2]=HEAP32[$12>>2]|0;HEAP32[$6+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$12+8>>2]|0; + $19 = ((($1)) + 12|0); + ;HEAP32[$$byval_copy20>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$12+8>>2]|0; + _VectorCrossProduct($13,$$byval_copy20,$$byval_copy21); + ;HEAP32[$7>>2]=HEAP32[$13>>2]|0;HEAP32[$7+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$13+8>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$5+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$13+8>>2]|0; + $20 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); + $21 = $20; + $22 = $21 > -9.9999999999999995E-7; + $23 = $21 < 9.9999999999999995E-7; + $or$cond24 = $22 & $23; + if ($or$cond24) { + ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; + STACKTOP = sp;return; + } + $24 = 1.0 / $20; + ;HEAP32[$$byval_copy20>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$1+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; + _VectorSubtract($14,$$byval_copy20,$$byval_copy21); + ;HEAP32[$9>>2]=HEAP32[$14>>2]|0;HEAP32[$9+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$14+8>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$14+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$7+8>>2]|0; + $25 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); + $26 = $24 * $25; + $27 = $26 < 0.0; + $28 = $26 > 1.0; + $or$cond = $27 | $28; + if ($or$cond) { + ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy20>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$9+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$5+8>>2]|0; + _VectorCrossProduct($15,$$byval_copy20,$$byval_copy21); + ;HEAP32[$8>>2]=HEAP32[$15>>2]|0;HEAP32[$8+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$15+8>>2]|0; + ;HEAP32[$$byval_copy20>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$15+8>>2]|0; + $29 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); + $30 = $24 * $29; + $31 = $30 < 0.0; + $32 = $26 + $30; + $33 = $32 > 1.0; + $or$cond26 = $31 | $33; + if ($or$cond26) { + ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy20>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$6+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$8+8>>2]|0; + $34 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); + $35 = $24 * $34; + $36 = $35; + $37 = $36 > 9.9999999999999995E-7; + if ($37) { + $38 = ((($10)) + 4|0); + HEAPF32[$38>>2] = $35; + HEAP32[$10>>2] = 1; + $39 = ((($10)) + 20|0); + ;HEAP32[$$byval_copy20>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$5+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$6+8>>2]|0; + _VectorCrossProduct($16,$$byval_copy20,$$byval_copy21); + ;HEAP32[$39>>2]=HEAP32[$16>>2]|0;HEAP32[$39+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$39+8>>2]=HEAP32[$16+8>>2]|0; + _VectorNormalize($39); + ;HEAP32[$17>>2]=HEAP32[$19>>2]|0;HEAP32[$17+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$17+8>>2]=HEAP32[$19+8>>2]|0; + _VectorScale($17,$35); + $40 = ((($10)) + 8|0); + ;HEAP32[$$byval_copy20>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$1+8>>2]|0; + ;HEAP32[$$byval_copy21>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$17+8>>2]|0; + _VectorAdd($18,$$byval_copy20,$$byval_copy21); + ;HEAP32[$40>>2]=HEAP32[$18>>2]|0;HEAP32[$40+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$40+8>>2]=HEAP32[$18+8>>2]|0; + } + ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; + STACKTOP = sp;return; +} +function _GetCollisionRayGround($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$06$1 = 0, $$sroa$5$0$$sroa_idx8 = 0, $$sroa$5$1 = 0.0, $$sroa$6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$8$1 = 0.0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 48|0; + $$byval_copy = sp + 36|0; + $$sroa$6 = sp; + $3 = sp + 24|0; + $4 = sp + 12|0; + ;HEAP32[$$sroa$6>>2]=0|0;HEAP32[$$sroa$6+4>>2]=0|0;HEAP32[$$sroa$6+8>>2]=0|0; + $5 = ((($1)) + 12|0); + $6 = ((($1)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = (+Math_abs((+$7))); + $9 = $8; + $10 = $9 > 9.9999999999999995E-7; + if ($10) { + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $12 - $2; + $14 = -$7; + $15 = $13 / $14; + $16 = !($15 >= 0.0); + if ($16) { + $$sroa$06$1 = 0;$$sroa$5$1 = 0.0;$$sroa$8$1 = 0.0; + } else { + ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; + _VectorScale($3,$15); + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + _VectorAdd($4,$$byval_copy,$$byval_copy1); + ;HEAP32[$$sroa$6>>2]=HEAP32[$4>>2]|0;HEAP32[$$sroa$6+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$sroa$6+8>>2]=HEAP32[$4+8>>2]|0; + $$sroa$06$1 = 1;$$sroa$5$1 = $15;$$sroa$8$1 = 1.0; + } + } else { + $$sroa$06$1 = 0;$$sroa$5$1 = 0.0;$$sroa$8$1 = 0.0; + } + HEAP32[$0>>2] = $$sroa$06$1; + $$sroa$5$0$$sroa_idx8 = ((($0)) + 4|0); + HEAPF32[$$sroa$5$0$$sroa_idx8>>2] = $$sroa$5$1; + $$sroa$6$0$$sroa_idx = ((($0)) + 8|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=HEAP32[$$sroa$6>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=HEAP32[$$sroa$6+4>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=HEAP32[$$sroa$6+8>>2]|0; + $$sroa$7$0$$sroa_idx13 = ((($0)) + 20|0); + HEAPF32[$$sroa$7$0$$sroa_idx13>>2] = 0.0; + $$sroa$8$0$$sroa_idx15 = ((($0)) + 24|0); + HEAPF32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$1; + $$sroa$9$0$$sroa_idx17 = ((($0)) + 28|0); + HEAPF32[$$sroa$9$0$$sroa_idx17>>2] = 0.0; + STACKTOP = sp;return; +} +function _CalculateBoundingBox($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$020 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$2$0$$sroa_idx11 = 0, $$sroa$214$0$$sroa_idx15 = 0, $$sroa$3$0$$sroa_idx12 = 0, $$sroa$316$0$$sroa_idx17 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy3 = sp + 88|0; + $$byval_copy2 = sp + 72|0; + $2 = sp + 60|0; + $3 = sp + 24|0; + $4 = sp + 48|0; + $5 = sp + 36|0; + $6 = sp + 12|0; + $7 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0; + ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0; + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(0|0); + if (!($10)) { + $11 = HEAP32[$9>>2]|0; + $12 = ((($9)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($9)) + 8|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$2>>2] = $11; + $$sroa$214$0$$sroa_idx15 = ((($2)) + 4|0); + HEAP32[$$sroa$214$0$$sroa_idx15>>2] = $13; + $$sroa$316$0$$sroa_idx17 = ((($2)) + 8|0); + HEAP32[$$sroa$316$0$$sroa_idx17>>2] = $15; + $16 = HEAP32[$8>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ((($16)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($16)) + 8|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$3>>2] = $17; + $$sroa$2$0$$sroa_idx11 = ((($3)) + 4|0); + HEAP32[$$sroa$2$0$$sroa_idx11>>2] = $19; + $$sroa$3$0$$sroa_idx12 = ((($3)) + 8|0); + HEAP32[$$sroa$3$0$$sroa_idx12>>2] = $21; + $22 = HEAP32[$1>>2]|0; + $23 = ($22|0)>(1); + if ($23) { + $24 = ((($4)) + 4|0); + $25 = ((($4)) + 8|0); + $26 = ((($6)) + 4|0); + $27 = ((($6)) + 8|0); + $28 = HEAP32[$1>>2]|0; + $$020 = 1; + while(1) { + $29 = ($$020*3)|0; + $30 = (($16) + ($29<<2)|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[$4>>2] = $31; + $32 = (($29) + 1)|0; + $33 = (($16) + ($32<<2)|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[$24>>2] = $34; + $35 = (($29) + 2)|0; + $36 = (($16) + ($35<<2)|0); + $37 = HEAP32[$36>>2]|0; + HEAP32[$25>>2] = $37; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$2+8>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; + _VectorMin($5,$$byval_copy2,$$byval_copy3); + ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0; + $38 = HEAP32[$8>>2]|0; + $39 = (($38) + ($29<<2)|0); + $40 = HEAP32[$39>>2]|0; + HEAP32[$6>>2] = $40; + $41 = (($38) + ($32<<2)|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$26>>2] = $42; + $43 = HEAP32[$8>>2]|0; + $44 = (($43) + ($35<<2)|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$27>>2] = $45; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0; + _VectorMax($7,$$byval_copy2,$$byval_copy3); + ;HEAP32[$3>>2]=HEAP32[$7>>2]|0;HEAP32[$3+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$7+8>>2]|0; + $46 = (($$020) + 1)|0; + $47 = ($46|0)<($28|0); + if ($47) { + $$020 = $46; + } else { + break; + } + } + } + } + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0; + $48 = ((($$byval_copy3)) + 12|0); + ;HEAP32[$48>>2]=HEAP32[$3>>2]|0;HEAP32[$48+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$$byval_copy3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$byval_copy3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$byval_copy3+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$byval_copy3+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$byval_copy3+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$byval_copy3+20>>2]|0; + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,12435)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,12439)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,12443)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,12447)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,12453)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,12491)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 12510; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,12523)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 12544; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,12559)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 12574; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,12589)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 12604; + } + } else { + HEAP32[$3>>2] = 12475; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,12619)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,12633)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,12645)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,12659)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,12671)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,12685)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,12699)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,12716)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,12739)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,12765)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,12778)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,12794)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,12807)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,12821)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,12841)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,12861)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,12878)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,12895)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,12907)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,12920)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,12936)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,12959)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,12972)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,12988)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,12999)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,13018)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,13040)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,13059)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,13088)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,13105)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,13120)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,13135)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,13156)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,13176)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,13196)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,13222)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,13241)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,13253)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,13265)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,13277)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,13289)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,13301)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,13313)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,13325)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,13337)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,13350)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,13363)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,13376)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,13389)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,13402)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,13415)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,13428)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,13441)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,13460)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,13479)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,13498)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,13511)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,13529)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,13547)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,13565)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,13583)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,13603)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,12544)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,13621)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,13636)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,13657)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,13672)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,13690)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,13706)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,13725)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,13739)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,13754)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,12475)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,13765)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,12574)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,12604)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,13781)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,13808)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,13822)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,12510)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,13842)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,13860)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,13872)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,13893)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,13911)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,13929)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,13950)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,13976)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,13999)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,14037)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,14053)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,14068)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,14091)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,14104)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,14118)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,14132)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,14152)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,14172)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,14188)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,14206)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,14222)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,14237)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,14259)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,14277)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,14298)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,14316)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,14329)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,14344)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,14358)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,14368)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,14378)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,14400)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,14426)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,14453)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,14466)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,14481)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,14496)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,14520)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,14531)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,14553)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,14575)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,14599)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,14608)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,14616)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,14629)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,14643)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,14655)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,14664)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,14674)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,14686)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,14697)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,14705)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,14717)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,14732)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,14744)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,14758)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,14783)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,14800)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,14816)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,14832)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,14844)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,14856)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,14880)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,14893)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,14907)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,14929)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,14936)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,14952)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,14969)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,14986)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,15002)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,15018)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,15035)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,15049)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,15061)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,15072)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,15085)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,15095)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,15112)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,15124)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,15146)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,15166)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,15179)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,15201)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,15221)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,15238)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,15255)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,15275)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (21096|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (3896|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($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, $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; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|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] = 10; + $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 ___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; + $8 = $6; + $9 = (($7) - ($8))|0; + $10 = ((($0)) + 108|0); + HEAP32[$10>>2] = $9; + $11 = ($1|0)!=(0); + $12 = ($9|0)>($1|0); + $or$cond = $11 & $12; + $13 = (($6) + ($1)|0); + $$sink = $or$cond ? $13 : $4; + $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;$$1165168 = 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 = ((15392) + ($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;$$1165168 = 16; + label = 46; + } + } else { + $$166 = $28 ? 10 : $1; + $60 = ((15392) + ($$0159)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62>>>0)<($$166>>>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;$93 = $86; + while(1) { + $90 = (___muldi3(($88|0),($89|0),10,0)|0); + $91 = tempRet0; + $92 = ($93|0)<(0); + $94 = $92 << 31 >> 31; + $95 = $93 ^ -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) { + $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; + label = 72; + break L43; + } + $102 = (_i64Add(($90|0),($91|0),($93|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;$93 = $111; + } else { + break; + } + } + $118 = ($111>>>0)>(9); + if ($118) { + $$1158 = $$0157;$263 = $103;$265 = $102; + } else { + $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; + label = 72; + } + } else { + $$1158 = $$0157;$263 = $292;$265 = $291; + } + } else { + $$1160169 = $$1160;$$1165168 = $$1165; + label = 46; + } + } + } while(0); + L63: do { + if ((label|0) == 46) { + $119 = (($$1165168) + -1)|0; + $120 = $119 & $$1165168; + $121 = ($120|0)==(0); + if ($121) { + $126 = ($$1165168*23)|0; + $127 = $126 >>> 5; + $128 = $127 & 7; + $129 = (15648 + ($128)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ((15392) + ($$1160169)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134>>>0)<($$1165168>>>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 = ((15392) + ($$4163$be)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148>>>0)<($$1165168>>>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 = ($154>>>0)>=($$1165168>>>0); + $157 = ($158>>>0)>($153>>>0); + $159 = ($160>>>0)>($152>>>0); + $161 = ($158|0)==($153|0); + $162 = $161 & $159; + $163 = $157 | $162; + $or$cond187 = $156 | $163; + if ($or$cond187) { + $$1165167 = $$1165168;$$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 = $168 | $166; + $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 = ((15392) + ($$5$be)|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180>>>0)>=($$1165168>>>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) { + $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; + label = 72; + break L63; + } else { + $164 = $170;$165 = $167;$169 = $179; + } + } + } + $122 = ((15392) + ($$1160169)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($124>>>0)<($$1165168>>>0); + if ($125) { + $$2156210 = 0;$189 = $124; + while(1) { + $187 = Math_imul($$2156210, $$1165168)|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 = ((15392) + ($$6$be)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199>>>0)<($$1165168>>>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 = ($203>>>0)<($$1165168>>>0); + if ($205) { + $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); + $207 = tempRet0; + $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; + while(1) { + $208 = ($209>>>0)>($207>>>0); + $210 = ($211>>>0)>($206>>>0); + $212 = ($209|0)==($207|0); + $213 = $212 & $210; + $214 = $208 | $213; + if ($214) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $215 = (___muldi3(($211|0),($209|0),($$1165168|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) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $225 = (_i64Add(($217|0),0,($215|0),($216|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 = ((15392) + ($$7$be)|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236>>>0)<($$1165168>>>0); + if ($237) { + $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; + } else { + $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; + label = 72; + break; + } + } + } else { + $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; + label = 72; + } + } + } while(0); + if ((label|0) == 72) { + $238 = ((15392) + ($$8)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240>>>0)<($$1165167>>>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 = ((15392) + ($$9$be)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251>>>0)<($$1165167>>>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$;$263 = $4;$265 = $3; + } else { + $$1158 = $$0157;$263 = $294;$265 = $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; + } + $262 = ($263>>>0)<($4>>>0); + $264 = ($265>>>0)<($3>>>0); + $266 = ($263|0)==($4|0); + $267 = $266 & $264; + $268 = $262 | $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 = ($263>>>0)>($4>>>0); + $278 = ($265>>>0)>($3>>>0); + $279 = ($263|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 = $265 ^ $$1158; + $286 = $263 ^ $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$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $4 = 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; + $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); + $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; + $$pre35 = ((($0)) + 108|0); + $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$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) { + $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; + } else { + $22 = (($19) + -1)|0; + $23 = (($14) + ($22)|0); + $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; + } + } + $24 = ((($0)) + 100|0); + HEAP32[$24>>2] = $$sink; + $25 = ($26|0)==(0|0); + if (!($25)) { + $27 = $26; + $28 = $29; + $30 = HEAP32[$$pre$phi34Z2D>>2]|0; + $31 = (($27) + 1)|0; + $32 = (($31) - ($28))|0; + $33 = (($32) + ($30))|0; + HEAP32[$$pre$phi34Z2D>>2] = $33; + } + $34 = ((($29)) + -1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==($7|0); + if ($37) { + $$0 = $7; + } else { + $38 = $7&255; + HEAP8[$34>>0] = $38; + $$0 = $7; + } + } + } + if ((label|0) == 4) { + $9 = ((($0)) + 100|0); + HEAP32[$9>>2] = 0; + $$0 = -1; + } + return ($$0|0); +} +function _isspace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(32); + $2 = (($0) + -9)|0; + $3 = ($2>>>0)<(5); + $4 = $1 | $3; + $5 = $4&1; + return ($5|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 & 15]($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 & 15]($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 _copysign($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = $3 & 2147483647; + $7 = $5 & -2147483648; + $8 = $7 | $6; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; + return (+$9); +} +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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=4272; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((15657 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 16121;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 16121;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 16121 : (16123); + $$$ = $238 ? $$ : (16122); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 16121;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 16131; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (16121 + ($208)|0); + $$289 = $or$cond283 ? 16121 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 16121;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (16169 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 16138; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (16139) : (16144); + $$$ = $16 ? $$ : (16141); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (16169 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,16185,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,16185,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 16157 : 16161; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 18088 : 16165; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (16187 + ($$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 = 16275;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 16275; + } else { + $$01214 = 16275;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|0); +} +function ___floatscan($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 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.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; + var $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, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0.0, $54 = 0.0, $55 = 0.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; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $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$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($1|0) { + case 0: { + $$0105$ph = -149;$$0106$ph = 24; + label = 4; + break; + } + case 1: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + case 2: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + default: { + $$0114 = 0.0; + } + } + L4: do { + if ((label|0) == 4) { + $3 = ((($0)) + 4|0); + $4 = ((($0)) + 100|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5>>>0)<($6>>>0); + if ($7) { + $8 = ((($5)) + 1|0); + HEAP32[$3>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = $9&255; + $12 = $10; + } else { + $11 = (___shgetc($0)|0); + $12 = $11; + } + $13 = (_isspace($12)|0); + $14 = ($13|0)==(0); + if ($14) { + break; + } + } + L13: do { + switch ($12|0) { + case 43: case 45: { + $15 = ($12|0)==(45); + $16 = $15&1; + $17 = $16 << 1; + $18 = (1 - ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19>>>0)<($20>>>0); + if ($21) { + $22 = ((($19)) + 1|0); + HEAP32[$3>>2] = $22; + $23 = HEAP8[$19>>0]|0; + $24 = $23&255; + $$0 = $24;$$0113 = $18; + break L13; + } else { + $25 = (___shgetc($0)|0); + $$0 = $25;$$0113 = $18; + break L13; + } + break; + } + default: { + $$0 = $12;$$0113 = 1; + } + } + } while(0); + $$0107127 = 0;$$1128 = $$0; + while(1) { + $26 = $$1128 | 32; + $27 = (18079 + ($$0107127)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($26|0)==($29|0); + if (!($30)) { + $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; + break; + } + $31 = ($$0107127>>>0)<(7); + do { + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$3>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $$2 = $37; + break; + } else { + $38 = (___shgetc($0)|0); + $$2 = $38; + break; + } + } else { + $$2 = $$1128; + } + } while(0); + $39 = (($$0107127) + 1)|0; + $40 = ($39>>>0)<(8); + if ($40) { + $$0107127 = $39;$$1128 = $$2; + } else { + $$0107$lcssa = $39;$$1$lcssa = $$2; + break; + } + } + L29: do { + switch ($$0107$lcssa|0) { + case 8: { + break; + } + case 3: { + label = 23; + break; + } + default: { + $41 = ($$0107$lcssa>>>0)>(3); + $42 = ($2|0)!=(0); + $or$cond5 = $42 & $41; + if ($or$cond5) { + $43 = ($$0107$lcssa|0)==(8); + if ($43) { + break L29; + } else { + label = 23; + break L29; + } + } + $56 = ($$0107$lcssa|0)==(0); + L34: do { + if ($56) { + $$2109125 = 0;$$3126 = $$1$lcssa; + while(1) { + $57 = $$3126 | 32; + $58 = (18088 + ($$2109125)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($57|0)==($60|0); + if (!($61)) { + $$3110 = $$2109125;$$5 = $$3126; + break L34; + } + $62 = ($$2109125>>>0)<(2); + do { + if ($62) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + if ($65) { + $66 = ((($63)) + 1|0); + HEAP32[$3>>2] = $66; + $67 = HEAP8[$63>>0]|0; + $68 = $67&255; + $$4 = $68; + break; + } else { + $69 = (___shgetc($0)|0); + $$4 = $69; + break; + } + } else { + $$4 = $$3126; + } + } while(0); + $70 = (($$2109125) + 1)|0; + $71 = ($70>>>0)<(3); + if ($71) { + $$2109125 = $70;$$3126 = $$4; + } else { + $$3110 = $70;$$5 = $$4; + break; + } + } + } else { + $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; + } + } while(0); + switch ($$3110|0) { + case 3: { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if ($74) { + $75 = ((($72)) + 1|0); + HEAP32[$3>>2] = $75; + $76 = HEAP8[$72>>0]|0; + $77 = $76&255; + $80 = $77; + } else { + $78 = (___shgetc($0)|0); + $80 = $78; + } + $79 = ($80|0)==(40); + if ($79) { + $$4111 = 1; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $$0114 = nan; + break L4; + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + -1|0); + HEAP32[$3>>2] = $84; + $$0114 = nan; + break L4; + } + while(1) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if ($87) { + $88 = ((($85)) + 1|0); + HEAP32[$3>>2] = $88; + $89 = HEAP8[$85>>0]|0; + $90 = $89&255; + $93 = $90; + } else { + $91 = (___shgetc($0)|0); + $93 = $91; + } + $92 = (($93) + -48)|0; + $94 = ($92>>>0)<(10); + $95 = (($93) + -65)|0; + $96 = ($95>>>0)<(26); + $or$cond = $94 | $96; + if (!($or$cond)) { + $97 = (($93) + -97)|0; + $98 = ($97>>>0)<(26); + $99 = ($93|0)==(95); + $or$cond7 = $99 | $98; + if (!($or$cond7)) { + break; + } + } + $111 = (($$4111) + 1)|0; + $$4111 = $111; + } + $100 = ($93|0)==(41); + if ($100) { + $$0114 = nan; + break L4; + } + $101 = HEAP32[$4>>2]|0; + $102 = ($101|0)==(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + -1|0); + HEAP32[$3>>2] = $104; + } + if (!($42)) { + $106 = (___errno_location()|0); + HEAP32[$106>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + $105 = ($$4111|0)==(0); + if ($105) { + $$0114 = nan; + break L4; + } else { + $$in = $$4111; + } + while(1) { + $107 = (($$in) + -1)|0; + if (!($102)) { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + -1|0); + HEAP32[$3>>2] = $109; + } + $110 = ($107|0)==(0); + if ($110) { + $$0114 = nan; + break L4; + } else { + $$in = $107; + } + } + break; + } + case 0: { + $117 = ($$5|0)==(48); + if ($117) { + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ($118>>>0)<($119>>>0); + if ($120) { + $121 = ((($118)) + 1|0); + HEAP32[$3>>2] = $121; + $122 = HEAP8[$118>>0]|0; + $123 = $122&255; + $126 = $123; + } else { + $124 = (___shgetc($0)|0); + $126 = $124; + } + $125 = $126 | 32; + $127 = ($125|0)==(120); + if ($127) { + $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $128; + break L4; + } + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$6 = 48; + } else { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$3>>2] = $132; + $$6 = 48; + } + } else { + $$6 = $$5; + } + $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $133; + break L4; + break; + } + default: { + $112 = HEAP32[$4>>2]|0; + $113 = ($112|0)==(0|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + -1|0); + HEAP32[$3>>2] = $115; + } + $116 = (___errno_location()|0); + HEAP32[$116>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + } + } + } + } while(0); + if ((label|0) == 23) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)==(0|0); + if (!($45)) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + -1|0); + HEAP32[$3>>2] = $47; + } + $48 = ($2|0)!=(0); + $49 = ($$0107$lcssa>>>0)>(3); + $or$cond9 = $48 & $49; + if ($or$cond9) { + $$1108 = $$0107$lcssa; + while(1) { + if (!($45)) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -1|0); + HEAP32[$3>>2] = $51; + } + $52 = (($$1108) + -1)|0; + $$old8 = ($52>>>0)>(3); + if ($$old8) { + $$1108 = $52; + } else { + break; + } + } + } + } + $53 = (+($$0113|0)); + $54 = $53 * inf; + $55 = $54; + $$0114 = $55; + } + } while(0); + return (+$$0114); +} +function _hexfloat($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; + var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; + var $$pre = 0.0, $$pre$phiZ2D = 0.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, $113 = 0, $114 = 0, $115 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.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.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.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, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; + var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0; + var $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.0, $67 = 0.0; + var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.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; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; + var $or$cond6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 100|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)<($8>>>0); + if ($9) { + $10 = ((($6)) + 1|0); + HEAP32[$5>>2] = $10; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $$0 = $12;$$0142 = 0; + } else { + $13 = (___shgetc($0)|0); + $$0 = $13;$$0142 = 0; + } + L4: while(1) { + switch ($$0|0) { + case 46: { + label = 8; + break L4; + break; + } + case 48: { + break; + } + default: { + $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + break L4; + } + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$5>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $$0 = $19;$$0142 = 1; + continue; + } else { + $20 = (___shgetc($0)|0); + $$0 = $20;$$0142 = 1; + continue; + } + } + if ((label|0) == 8) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$5>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$1$ph = $26; + } else { + $27 = (___shgetc($0)|0); + $$1$ph = $27; + } + $28 = ($$1$ph|0)==(48); + if ($28) { + $36 = 0;$37 = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$5>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $41 = $34; + } else { + $35 = (___shgetc($0)|0); + $41 = $35; + } + $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); + $39 = tempRet0; + $40 = ($41|0)==(48); + if ($40) { + $36 = $38;$37 = $39; + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; + break; + } + } + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + } + } + while(1) { + $42 = (($$2) + -48)|0; + $43 = ($42>>>0)<(10); + $44 = ($$2|0)==(46); + if (!($43)) { + $45 = $$2 | 32; + $46 = (($45) + -97)|0; + $47 = ($46>>>0)<(6); + $or$cond6 = $44 | $47; + if (!($or$cond6)) { + $$2$lcssa = $$2; + break; + } + } + if ($44) { + $48 = ($$0146|0)==(0); + if ($48) { + $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; + } else { + $$2$lcssa = 46; + break; + } + } else { + $49 = ($$2|0)>(57); + $50 = $$2 | 32; + $51 = (($50) + -87)|0; + $$0133 = $49 ? $51 : $42; + $52 = ($53|0)<(0); + $54 = ($55>>>0)<(8); + $56 = ($53|0)==(0); + $57 = $56 & $54; + $58 = $52 | $57; + do { + if ($58) { + $59 = $$0159 << 4; + $60 = (($$0133) + ($59))|0; + $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; + } else { + $61 = ($53|0)<(0); + $62 = ($55>>>0)<(14); + $63 = ($53|0)==(0); + $64 = $63 & $62; + $65 = $61 | $64; + if ($65) { + $66 = (+($$0133|0)); + $67 = $$0152 * 0.0625; + $68 = $67 * $66; + $69 = $$0155 + $68; + $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; + break; + } else { + $70 = ($$0133|0)==(0); + $71 = ($$0148|0)!=(0); + $or$cond = $71 | $70; + $72 = $$0152 * 0.5; + $73 = $$0155 + $72; + $$0155$ = $or$cond ? $$0155 : $73; + $$0148$ = $or$cond ? $$0148 : 1; + $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; + break; + } + } + } while(0); + $74 = (_i64Add(($55|0),($53|0),1,0)|0); + $75 = tempRet0; + $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + $79 = ((($76)) + 1|0); + HEAP32[$5>>2] = $79; + $80 = HEAP8[$76>>0]|0; + $81 = $80&255; + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } else { + $82 = (___shgetc($0)|0); + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } + } + $83 = ($$2144|0)==(0); + do { + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + -1|0); + HEAP32[$5>>2] = $87; + } + $88 = ($4|0)==(0); + if ($88) { + ___shlim($0,0); + } else { + if ($85) { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + -1|0); + HEAP32[$5>>2] = $90; + } + $91 = ($$0146|0)==(0); + $92 = ($84|0)==(0|0); + $or$cond206 = $91 | $92; + if (!($or$cond206)) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + -1|0); + HEAP32[$5>>2] = $94; + } + } + $95 = (+($3|0)); + $96 = $95 * 0.0; + $$0165 = $96; + } else { + $97 = ($$0146|0)==(0); + $98 = $97 ? $55 : $99; + $100 = $97 ? $53 : $101; + $102 = ($53|0)<(0); + $103 = ($55>>>0)<(8); + $104 = ($53|0)==(0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $$3162183 = $$0159;$108 = $55;$109 = $53; + while(1) { + $107 = $$3162183 << 4; + $110 = (_i64Add(($108|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = ($111|0)<(0); + $113 = ($110>>>0)<(8); + $114 = ($111|0)==(0); + $115 = $114 & $113; + $116 = $112 | $115; + if ($116) { + $$3162183 = $107;$108 = $110;$109 = $111; + } else { + $$3162$lcssa = $107; + break; + } + } + } else { + $$3162$lcssa = $$0159; + } + $117 = $$2$lcssa | 32; + $118 = ($117|0)==(112); + if ($118) { + $119 = (_scanexp($0,$4)|0); + $120 = tempRet0; + $121 = ($119|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + $124 = ($4|0)==(0); + if ($124) { + ___shlim($0,0); + $$0165 = 0.0; + break; + } + $125 = HEAP32[$7>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $137 = 0;$138 = 0; + } else { + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + -1|0); + HEAP32[$5>>2] = $128; + $137 = 0;$138 = 0; + } + } else { + $137 = $119;$138 = $120; + } + } else { + $129 = HEAP32[$7>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $137 = 0;$138 = 0; + } else { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$5>>2] = $132; + $137 = 0;$138 = 0; + } + } + $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); + $134 = tempRet0; + $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); + $136 = tempRet0; + $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = ($$3162$lcssa|0)==(0); + if ($141) { + $142 = (+($3|0)); + $143 = $142 * 0.0; + $$0165 = $143; + break; + } + $144 = (0 - ($2))|0; + $145 = ($144|0)<(0); + $146 = $145 << 31 >> 31; + $147 = ($140|0)>($146|0); + $148 = ($139>>>0)>($144>>>0); + $149 = ($140|0)==($146|0); + $150 = $149 & $148; + $151 = $147 | $150; + if ($151) { + $152 = (___errno_location()|0); + HEAP32[$152>>2] = 34; + $153 = (+($3|0)); + $154 = $153 * 1.7976931348623157E+308; + $155 = $154 * 1.7976931348623157E+308; + $$0165 = $155; + break; + } + $156 = (($2) + -106)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = ($140|0)<($158|0); + $160 = ($139>>>0)<($156>>>0); + $161 = ($140|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if ($163) { + $165 = (___errno_location()|0); + HEAP32[$165>>2] = 34; + $166 = (+($3|0)); + $167 = $166 * 2.2250738585072014E-308; + $168 = $167 * 2.2250738585072014E-308; + $$0165 = $168; + break; + } + $164 = ($$3162$lcssa|0)>(-1); + if ($164) { + $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; + while(1) { + $169 = !($$3158179 >= 0.5); + $170 = $$4163178 << 1; + $171 = $$3158179 + -1.0; + $not$ = $169 ^ 1; + $172 = $not$&1; + $$5164 = $170 | $172; + $$pn = $169 ? $$3158179 : $171; + $$4 = $$3158179 + $$pn; + $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); + $176 = tempRet0; + $177 = ($$5164|0)>(-1); + if ($177) { + $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; + } else { + $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; + break; + } + } + } else { + $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; + } + $178 = ($1|0)<(0); + $179 = $178 << 31 >> 31; + $180 = ($2|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); + $183 = tempRet0; + $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); + $187 = tempRet0; + $188 = ($179|0)>($187|0); + $189 = ($1>>>0)>($186>>>0); + $190 = ($179|0)==($187|0); + $191 = $190 & $189; + $192 = $188 | $191; + if ($192) { + $193 = ($186|0)>(0); + if ($193) { + $$0166 = $186; + label = 59; + } else { + $$0166170 = 0;$197 = 84; + label = 61; + } + } else { + $$0166 = $1; + label = 59; + } + if ((label|0) == 59) { + $194 = ($$0166|0)<(53); + $195 = (84 - ($$0166))|0; + if ($194) { + $$0166170 = $$0166;$197 = $195; + label = 61; + } else { + $$pre = (+($3|0)); + $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; + } + } + if ((label|0) == 61) { + $196 = (+($3|0)); + $198 = (+_scalbn(1.0,$197)); + $199 = (+_copysignl($198,$196)); + $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; + } + $200 = ($$0166169|0)<(32); + $201 = $$3158$lcssa != 0.0; + $or$cond4 = $201 & $200; + $202 = $$4163$lcssa & 1; + $203 = ($202|0)==(0); + $or$cond168 = $203 & $or$cond4; + $204 = $or$cond168&1; + $$6 = (($204) + ($$4163$lcssa))|0; + $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; + $205 = (+($$6>>>0)); + $206 = $$pre$phiZ2D * $205; + $207 = $$0151 + $206; + $208 = $$pre$phiZ2D * $$5; + $209 = $208 + $207; + $210 = $209 - $$0151; + $211 = $210 != 0.0; + if (!($211)) { + $212 = (___errno_location()|0); + HEAP32[$212>>2] = 34; + } + $213 = (+_scalbnl($210,$184)); + $$0165 = $213; + } + } while(0); + return (+$$0165); +} +function _decfloat($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; + var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; + var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; + var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; + var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; + var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; + var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $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, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 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; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); + $6 = sp; + $sum = (($3) + ($2))|0; + $7 = (0 - ($sum))|0; + $8 = ((($0)) + 4|0); + $9 = ((($0)) + 100|0); + $$0329 = $1;$$0396 = 0; + L1: while(1) { + switch ($$0329|0) { + case 46: { + label = 6; + break L1; + break; + } + case 48: { + break; + } + default: { + $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; + break L1; + } + } + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = ($10>>>0)<($11>>>0); + if ($12) { + $13 = ((($10)) + 1|0); + HEAP32[$8>>2] = $13; + $14 = HEAP8[$10>>0]|0; + $15 = $14&255; + $$0329 = $15;$$0396 = 1; + continue; + } else { + $16 = (___shgetc($0)|0); + $$0329 = $16;$$0396 = 1; + continue; + } + } + if ((label|0) == 6) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if ($19) { + $20 = ((($17)) + 1|0); + HEAP32[$8>>2] = $20; + $21 = HEAP8[$17>>0]|0; + $22 = $21&255; + $$1330$ph = $22; + } else { + $23 = (___shgetc($0)|0); + $$1330$ph = $23; + } + $24 = ($$1330$ph|0)==(48); + if ($24) { + $25 = 0;$26 = 0; + while(1) { + $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); + $28 = tempRet0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $$1330$be = $34; + } else { + $35 = (___shgetc($0)|0); + $$1330$be = $35; + } + $36 = ($$1330$be|0)==(48); + if ($36) { + $25 = $27;$26 = $28; + } else { + $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; + break; + } + } + } else { + $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; + } + } + HEAP32[$6>>2] = 0; + $37 = (($$2) + -48)|0; + $38 = ($37>>>0)<(10); + $39 = ($$2|0)==(46); + $40 = $39 | $38; + L20: do { + if ($40) { + $41 = ((($6)) + 496|0); + $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; + L22: while(1) { + do { + if ($368) { + $cond = ($$1394511|0)==(0); + if ($cond) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; + } else { + break L22; + } + } else { + $43 = ($$0345512|0)<(125); + $46 = (_i64Add(($44|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = ($$3514|0)!=(48); + if (!($43)) { + if (!($48)) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $57 = HEAP32[$41>>2]|0; + $58 = $57 | 1; + HEAP32[$41>>2] = $58; + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $$$0401 = $48 ? $46 : $$0401509; + $49 = ($$0341513|0)==(0); + $$pre = (($6) + ($$0345512<<2)|0); + if ($49) { + $$sink = $369; + } else { + $50 = HEAP32[$$pre>>2]|0; + $51 = ($50*10)|0; + $52 = (($$3514) + -48)|0; + $53 = (($52) + ($51))|0; + $$sink = $53; + } + HEAP32[$$pre>>2] = $$sink; + $54 = (($$0341513) + 1)|0; + $55 = ($54|0)==(9); + $56 = $55&1; + $$$0345 = (($56) + ($$0345512))|0; + $$413 = $55 ? 0 : $54; + $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + } + } while(0); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($59>>>0)<($60>>>0); + if ($61) { + $62 = ((($59)) + 1|0); + HEAP32[$8>>2] = $62; + $63 = HEAP8[$59>>0]|0; + $64 = $63&255; + $$3$be = $64; + } else { + $65 = (___shgetc($0)|0); + $$3$be = $65; + } + $66 = (($$3$be) + -48)|0; + $67 = ($66>>>0)<(10); + $68 = ($$3$be|0)==(46); + $69 = $68 | $67; + if ($69) { + $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; + } else { + $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; + label = 29; + break L20; + } + } + $42 = ($$3399510|0)!=(0); + $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; + label = 37; + } else { + $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; + label = 29; + } + } while(0); + do { + if ((label|0) == 29) { + $70 = ($$1394$lcssa|0)==(0); + $71 = $70 ? $73 : $72; + $74 = $70 ? $76 : $75; + $77 = ($$3399$lcssa|0)!=(0); + $78 = $$3$lcssa | 32; + $79 = ($78|0)==(101); + $or$cond415 = $77 & $79; + if (!($or$cond415)) { + $94 = ($$3$lcssa|0)>(-1); + if ($94) { + $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; + label = 37; + break; + } else { + $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; + label = 39; + break; + } + } + $80 = (_scanexp($0,$5)|0); + $81 = tempRet0; + $82 = ($80|0)==(0); + $83 = ($81|0)==(-2147483648); + $84 = $82 & $83; + if ($84) { + $85 = ($5|0)==(0); + if ($85) { + ___shlim($0,0); + $$1 = 0.0; + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + $90 = 0;$91 = 0; + } else { + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + -1|0); + HEAP32[$8>>2] = $89; + $90 = 0;$91 = 0; + } + } else { + $90 = $80;$91 = $81; + } + $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); + $93 = tempRet0; + $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; + label = 41; + } + } while(0); + if ((label|0) == 37) { + $95 = HEAP32[$9>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; + label = 39; + } else { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + -1|0); + HEAP32[$8>>2] = $98; + if ($380) { + $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; + label = 41; + } else { + label = 40; + } + } + } + if ((label|0) == 39) { + if ($383) { + $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; + label = 41; + } else { + label = 40; + } + } + do { + if ((label|0) == 40) { + $99 = (___errno_location()|0); + HEAP32[$99>>2] = 22; + ___shlim($0,0); + $$1 = 0.0; + } + else if ((label|0) == 41) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = (+($4|0)); + $103 = $102 * 0.0; + $$1 = $103; + break; + } + $104 = ($105|0)==($106|0); + $107 = ($108|0)==($109|0); + $110 = $104 & $107; + $111 = ($109|0)<(0); + $112 = ($106>>>0)<(10); + $113 = ($109|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + $or$cond = $115 & $110; + if ($or$cond) { + $116 = ($2|0)>(30); + $117 = $100 >>> $2; + $118 = ($117|0)==(0); + $or$cond417 = $116 | $118; + if ($or$cond417) { + $119 = (+($4|0)); + $120 = (+($100>>>0)); + $121 = $119 * $120; + $$1 = $121; + break; + } + } + $122 = (($3|0) / -2)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = ($108|0)>($124|0); + $126 = ($105>>>0)>($122>>>0); + $127 = ($108|0)==($124|0); + $128 = $127 & $126; + $129 = $125 | $128; + if ($129) { + $130 = (___errno_location()|0); + HEAP32[$130>>2] = 34; + $131 = (+($4|0)); + $132 = $131 * 1.7976931348623157E+308; + $133 = $132 * 1.7976931348623157E+308; + $$1 = $133; + break; + } + $134 = (($3) + -106)|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = ($108|0)<($136|0); + $138 = ($105>>>0)<($134>>>0); + $139 = ($108|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = (___errno_location()|0); + HEAP32[$142>>2] = 34; + $143 = (+($4|0)); + $144 = $143 * 2.2250738585072014E-308; + $145 = $144 * 2.2250738585072014E-308; + $$1 = $145; + break; + } + $146 = ($$0341463|0)==(0); + if ($146) { + $$3348 = $$0345467; + } else { + $147 = ($$0341463|0)<(9); + if ($147) { + $148 = (($6) + ($$0345467<<2)|0); + $$promoted = HEAP32[$148>>2]|0; + $$3344503 = $$0341463;$150 = $$promoted; + while(1) { + $149 = ($150*10)|0; + $151 = (($$3344503) + 1)|0; + $exitcond551 = ($151|0)==(9); + if ($exitcond551) { + break; + } else { + $$3344503 = $151;$150 = $149; + } + } + HEAP32[$148>>2] = $149; + } + $152 = (($$0345467) + 1)|0; + $$3348 = $152; + } + $153 = ($$0401473|0)<(9); + if ($153) { + $154 = ($$0401473|0)<=($105|0); + $155 = ($105|0)<(18); + $or$cond5 = $154 & $155; + if ($or$cond5) { + $156 = ($105|0)==(9); + $157 = HEAP32[$6>>2]|0; + if ($156) { + $158 = (+($4|0)); + $159 = (+($157>>>0)); + $160 = $158 * $159; + $$1 = $160; + break; + } + $161 = ($105|0)<(9); + if ($161) { + $162 = (+($4|0)); + $163 = (+($157>>>0)); + $164 = $162 * $163; + $165 = (8 - ($105))|0; + $166 = (4396 + ($165<<2)|0); + $167 = HEAP32[$166>>2]|0; + $168 = (+($167|0)); + $169 = $164 / $168; + $$1 = $169; + break; + } + $$neg442 = Math_imul($105, -3)|0; + $$neg443 = (($2) + 27)|0; + $170 = (($$neg443) + ($$neg442))|0; + $171 = ($170|0)>(30); + $172 = $157 >>> $170; + $173 = ($172|0)==(0); + $or$cond419 = $171 | $173; + if ($or$cond419) { + $174 = (($105) + -10)|0; + $175 = (4396 + ($174<<2)|0); + $176 = (+($4|0)); + $177 = (+($157>>>0)); + $178 = $176 * $177; + $179 = HEAP32[$175>>2]|0; + $180 = (+($179|0)); + $181 = $178 * $180; + $$1 = $181; + break; + } + } + } + $182 = (($105|0) % 9)&-1; + $183 = ($182|0)==(0); + if ($183) { + $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; + } else { + $184 = ($105|0)>(-1); + $185 = (($182) + 9)|0; + $186 = $184 ? $182 : $185; + $187 = (8 - ($186))|0; + $188 = (4396 + ($187<<2)|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($$3348|0)==(0); + if ($190) { + $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; + } else { + $191 = (1000000000 / ($189|0))&-1; + $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; + while(1) { + $192 = (($6) + ($$4349495<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193>>>0) % ($189>>>0))&-1; + $195 = (($193>>>0) / ($189>>>0))&-1; + $196 = (($195) + ($$0340496))|0; + HEAP32[$192>>2] = $196; + $197 = Math_imul($191, $194)|0; + $198 = ($$4349495|0)==($$0350494|0); + $199 = ($196|0)==(0); + $or$cond420 = $198 & $199; + $200 = (($$0350494) + 1)|0; + $201 = $200 & 127; + $202 = (($$0385493) + -9)|0; + $$$0385 = $or$cond420 ? $202 : $$0385493; + $$$0350 = $or$cond420 ? $201 : $$0350494; + $203 = (($$4349495) + 1)|0; + $204 = ($203|0)==($$3348|0); + if ($204) { + break; + } else { + $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; + } + } + $205 = ($197|0)==(0); + if ($205) { + $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; + } else { + $206 = (($6) + ($$3348<<2)|0); + $207 = (($$3348) + 1)|0; + HEAP32[$206>>2] = $197; + $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; + } + } + $208 = (9 - ($186))|0; + $209 = (($208) + ($$0385$lcssa553))|0; + $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; + } + L101: while(1) { + $210 = ($$2387$ph447|0)<(18); + $211 = ($$2387$ph447|0)==(18); + $212 = (($6) + ($$2352$ph449<<2)|0); + $$0380 = $$0380$ph;$$1373 = $$1373$ph448; + while(1) { + if (!($210)) { + if (!($211)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; + break L101; + } + $213 = HEAP32[$212>>2]|0; + $214 = ($213>>>0)<(9007199); + if (!($214)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; + break L101; + } + } + $215 = (($$1373) + 127)|0; + $$0334 = 0;$$2374 = $$1373;$$5$in = $215; + while(1) { + $$5 = $$5$in & 127; + $216 = (($6) + ($$5<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_bitshift64Shl(($217|0),0,29)|0); + $219 = tempRet0; + $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); + $221 = tempRet0; + $222 = ($221>>>0)>(0); + $223 = ($220>>>0)>(1000000000); + $224 = ($221|0)==(0); + $225 = $224 & $223; + $226 = $222 | $225; + if ($226) { + $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); + $228 = tempRet0; + $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); + $230 = tempRet0; + $$1335 = $227;$$sink421$off0 = $229; + } else { + $$1335 = 0;$$sink421$off0 = $220; + } + HEAP32[$216>>2] = $$sink421$off0; + $231 = (($$2374) + 127)|0; + $232 = $231 & 127; + $233 = ($$5|0)!=($232|0); + $234 = ($$5|0)==($$2352$ph449|0); + $or$cond422 = $233 | $234; + $or$cond422$not = $or$cond422 ^ 1; + $235 = ($$sink421$off0|0)==(0); + $or$cond423 = $235 & $or$cond422$not; + $$3375 = $or$cond423 ? $$5 : $$2374; + $236 = (($$5) + -1)|0; + if ($234) { + break; + } else { + $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; + } + } + $237 = (($$0380) + -29)|0; + $238 = ($$1335|0)==(0); + if ($238) { + $$0380 = $237;$$1373 = $$3375; + } else { + break; + } + } + $239 = (($$2387$ph447) + 9)|0; + $240 = (($$2352$ph449) + 127)|0; + $241 = $240 & 127; + $242 = ($241|0)==($$3375|0); + $243 = (($$3375) + 127)|0; + $244 = $243 & 127; + $245 = (($$3375) + 126)|0; + $246 = $245 & 127; + $247 = (($6) + ($246<<2)|0); + if ($242) { + $248 = (($6) + ($244<<2)|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$247>>2]|0; + $251 = $250 | $249; + HEAP32[$247>>2] = $251; + $$4376 = $244; + } else { + $$4376 = $$3375; + } + $252 = (($6) + ($241<<2)|0); + HEAP32[$252>>2] = $$1335; + $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; + } + L119: while(1) { + $289 = (($$6378$ph) + 1)|0; + $287 = $289 & 127; + $290 = (($$6378$ph) + 127)|0; + $291 = $290 & 127; + $292 = (($6) + ($291<<2)|0); + $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; + while(1) { + $265 = ($$4389$ph|0)==(18); + $293 = ($$4389$ph|0)>(27); + $$425 = $293 ? 9 : 1; + $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; + while(1) { + $$0336486 = 0; + while(1) { + $253 = (($$0336486) + ($$4354))|0; + $254 = $253 & 127; + $255 = ($254|0)==($$6378$ph|0); + if ($255) { + $$1337 = 2; + label = 88; + break; + } + $256 = (($6) + ($254<<2)|0); + $257 = HEAP32[$256>>2]|0; + $258 = (4428 + ($$0336486<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($257>>>0)<($259>>>0); + if ($260) { + $$1337 = 2; + label = 88; + break; + } + $261 = ($257>>>0)>($259>>>0); + if ($261) { + break; + } + $262 = (($$0336486) + 1)|0; + $263 = ($262|0)<(2); + if ($263) { + $$0336486 = $262; + } else { + $$1337 = $262; + label = 88; + break; + } + } + if ((label|0) == 88) { + label = 0; + $264 = ($$1337|0)==(2); + $or$cond11 = $265 & $264; + if ($or$cond11) { + $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; + break L119; + } + } + $266 = (($$425) + ($$1381))|0; + $267 = ($$4354|0)==($$6378$ph|0); + if ($267) { + $$1381 = $266;$$4354 = $$6378$ph; + } else { + break; + } + } + $268 = 1 << $$425; + $269 = (($268) + -1)|0; + $270 = 1000000000 >>> $$425; + $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; + while(1) { + $271 = (($6) + ($$6489<<2)|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 & $269; + $274 = $272 >>> $$425; + $275 = (($274) + ($$0332490))|0; + HEAP32[$271>>2] = $275; + $276 = Math_imul($273, $270)|0; + $277 = ($$6489|0)==($$5355488|0); + $278 = ($275|0)==(0); + $or$cond426 = $277 & $278; + $279 = (($$5355488) + 1)|0; + $280 = $279 & 127; + $281 = (($$5390487) + -9)|0; + $$$5390 = $or$cond426 ? $281 : $$5390487; + $$$5355 = $or$cond426 ? $280 : $$5355488; + $282 = (($$6489) + 1)|0; + $283 = $282 & 127; + $284 = ($283|0)==($$6378$ph|0); + if ($284) { + break; + } else { + $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; + } + } + $285 = ($276|0)==(0); + if ($285) { + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + continue; + } + $286 = ($287|0)==($$$5355|0); + if (!($286)) { + break; + } + $294 = HEAP32[$292>>2]|0; + $295 = $294 | 1; + HEAP32[$292>>2] = $295; + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + } + $288 = (($6) + ($$6378$ph<<2)|0); + HEAP32[$288>>2] = $276; + $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; + } + while(1) { + $296 = (($$4485) + ($$4354))|0; + $297 = $296 & 127; + $298 = ($297|0)==($$9483|0); + $299 = (($$9483) + 1)|0; + $300 = $299 & 127; + if ($298) { + $301 = (($300) + -1)|0; + $302 = (($6) + ($301<<2)|0); + HEAP32[$302>>2] = 0; + $$10 = $300; + } else { + $$10 = $$9483; + } + $303 = $$0365484 * 1.0E+9; + $304 = (($6) + ($297<<2)|0); + $305 = HEAP32[$304>>2]|0; + $306 = (+($305>>>0)); + $307 = $303 + $306; + $308 = (($$4485) + 1)|0; + $exitcond = ($308|0)==(2); + if ($exitcond) { + break; + } else { + $$0365484 = $307;$$4485 = $308;$$9483 = $$10; + } + } + $309 = (+($4|0)); + $310 = $309 * $307; + $311 = (($$1381) + 53)|0; + $312 = (($311) - ($3))|0; + $313 = ($312|0)<($2|0); + $314 = ($312|0)>(0); + $$ = $314 ? $312 : 0; + $$0333 = $313 ? $$ : $2; + $315 = ($$0333|0)<(53); + if ($315) { + $316 = (105 - ($$0333))|0; + $317 = (+_scalbn(1.0,$316)); + $318 = (+_copysignl($317,$310)); + $319 = (53 - ($$0333))|0; + $320 = (+_scalbn(1.0,$319)); + $321 = (+_fmodl($310,$320)); + $322 = $310 - $321; + $323 = $318 + $322; + $$0360 = $318;$$0361 = $321;$$1366 = $323; + } else { + $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; + } + $324 = (($$4354) + 2)|0; + $325 = $324 & 127; + $326 = ($325|0)==($$10|0); + if ($326) { + $$3364 = $$0361; + } else { + $327 = (($6) + ($325<<2)|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328>>>0)<(500000000); + do { + if ($329) { + $330 = ($328|0)==(0); + if ($330) { + $331 = (($$4354) + 3)|0; + $332 = $331 & 127; + $333 = ($332|0)==($$10|0); + if ($333) { + $$1362 = $$0361; + break; + } + } + $334 = $309 * 0.25; + $335 = $334 + $$0361; + $$1362 = $335; + } else { + $336 = ($328|0)==(500000000); + if (!($336)) { + $337 = $309 * 0.75; + $338 = $337 + $$0361; + $$1362 = $338; + break; + } + $339 = (($$4354) + 3)|0; + $340 = $339 & 127; + $341 = ($340|0)==($$10|0); + if ($341) { + $342 = $309 * 0.5; + $343 = $342 + $$0361; + $$1362 = $343; + break; + } else { + $344 = $309 * 0.75; + $345 = $344 + $$0361; + $$1362 = $345; + break; + } + } + } while(0); + $346 = (53 - ($$0333))|0; + $347 = ($346|0)>(1); + if ($347) { + $348 = (+_fmodl($$1362,1.0)); + $349 = $348 != 0.0; + if ($349) { + $$3364 = $$1362; + } else { + $350 = $$1362 + 1.0; + $$3364 = $350; + } + } else { + $$3364 = $$1362; + } + } + $351 = $$1366 + $$3364; + $352 = $351 - $$0360; + $353 = $311 & 2147483647; + $354 = (-2 - ($sum))|0; + $355 = ($353|0)>($354|0); + do { + if ($355) { + $356 = (+Math_abs((+$352))); + $357 = !($356 >= 9007199254740992.0); + $358 = $352 * 0.5; + $not$ = $357 ^ 1; + $359 = $not$&1; + $$3383 = (($359) + ($$1381))|0; + $$2367 = $357 ? $352 : $358; + $360 = (($$3383) + 50)|0; + $361 = ($360|0)>($7|0); + if (!($361)) { + $362 = ($$0333|0)!=($312|0); + $narrow = $362 | $357; + $$2371$v = $313 & $narrow; + $363 = $$3364 != 0.0; + $or$cond14 = $363 & $$2371$v; + if (!($or$cond14)) { + $$3368 = $$2367;$$4384 = $$3383; + break; + } + } + $364 = (___errno_location()|0); + HEAP32[$364>>2] = 34; + $$3368 = $$2367;$$4384 = $$3383; + } else { + $$3368 = $352;$$4384 = $$1381; + } + } while(0); + $365 = (+_scalbnl($$3368,$$4384)); + $$1 = $365; + } + } while(0); + STACKTOP = sp;return (+$$1); +} +function _scanexp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $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; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $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$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 100|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3>>>0)<($5>>>0); + if ($6) { + $7 = ((($3)) + 1|0); + HEAP32[$2>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $11 = $9; + } else { + $10 = (___shgetc($0)|0); + $11 = $10; + } + switch ($11|0) { + case 43: case 45: { + $12 = ($11|0)==(45); + $13 = $12&1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $22 = $19; + } else { + $20 = (___shgetc($0)|0); + $22 = $20; + } + $21 = (($22) + -48)|0; + $23 = ($21>>>0)>(9); + $24 = ($1|0)!=(0); + $or$cond3 = $24 & $23; + if ($or$cond3) { + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $$0 = $13;$$049 = $22; + } else { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + -1|0); + HEAP32[$2>>2] = $28; + $$0 = $13;$$049 = $22; + } + } else { + $$0 = $13;$$049 = $22; + } + break; + } + default: { + $$0 = 0;$$049 = $11; + } + } + $29 = (($$049) + -48)|0; + $30 = ($29>>>0)>(9); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $100 = -2147483648;$101 = 0; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$2>>2] = $34; + $100 = -2147483648;$101 = 0; + } + } else { + $$04861 = 0;$$160 = $$049; + while(1) { + $35 = ($$04861*10)|0; + $36 = (($$160) + -48)|0; + $37 = (($36) + ($35))|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if ($40) { + $41 = ((($38)) + 1|0); + HEAP32[$2>>2] = $41; + $42 = HEAP8[$38>>0]|0; + $43 = $42&255; + $$1$be = $43; + } else { + $44 = (___shgetc($0)|0); + $$1$be = $44; + } + $45 = (($$1$be) + -48)|0; + $46 = ($45>>>0)<(10); + $47 = ($37|0)<(214748364); + $48 = $46 & $47; + if ($48) { + $$04861 = $37;$$160 = $$1$be; + } else { + break; + } + } + $49 = ($37|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (($$1$be) + -48)|0; + $52 = ($51>>>0)<(10); + if ($52) { + $$254 = $$1$be;$56 = $37;$57 = $50; + while(1) { + $58 = (___muldi3(($56|0),($57|0),10,0)|0); + $59 = tempRet0; + $60 = ($$254|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); + $63 = tempRet0; + $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); + $65 = tempRet0; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ($66>>>0)<($67>>>0); + if ($68) { + $69 = ((($66)) + 1|0); + HEAP32[$2>>2] = $69; + $70 = HEAP8[$66>>0]|0; + $71 = $70&255; + $$2$be = $71; + } else { + $72 = (___shgetc($0)|0); + $$2$be = $72; + } + $73 = (($$2$be) + -48)|0; + $74 = ($73>>>0)<(10); + $75 = ($65|0)<(21474836); + $76 = ($64>>>0)<(2061584302); + $77 = ($65|0)==(21474836); + $78 = $77 & $76; + $79 = $75 | $78; + $80 = $74 & $79; + if ($80) { + $$254 = $$2$be;$56 = $64;$57 = $65; + } else { + $$2$lcssa = $$2$be;$94 = $64;$95 = $65; + break; + } + } + } else { + $$2$lcssa = $$1$be;$94 = $37;$95 = $50; + } + $53 = (($$2$lcssa) + -48)|0; + $54 = ($53>>>0)<(10); + $55 = HEAP32[$4>>2]|0; + if ($54) { + $83 = $55; + while(1) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81>>>0)<($83>>>0); + if ($82) { + $84 = ((($81)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$81>>0]|0; + $86 = $85&255; + $$3$be = $86;$102 = $83; + } else { + $87 = (___shgetc($0)|0); + $$pre = HEAP32[$4>>2]|0; + $$3$be = $87;$102 = $$pre; + } + $88 = (($$3$be) + -48)|0; + $89 = ($88>>>0)<(10); + if ($89) { + $83 = $102; + } else { + $$lcssa = $102; + break; + } + } + } else { + $$lcssa = $55; + } + $90 = ($$lcssa|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + -1|0); + HEAP32[$2>>2] = $92; + } + $93 = ($$0|0)!=(0); + $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); + $97 = tempRet0; + $98 = $93 ? $96 : $94; + $99 = $93 ? $97 : $95; + $100 = $99;$101 = $98; + } + tempRet0 = ($100); + return ($101|0); +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _copysignl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_copysign($0,$1)); + return (+$2); +} +function _fmodl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_fmod($0,$1)); + return (+$2); +} +function _scalbnl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fmod($0,$1) { + $0 = +$0; + $1 = +$1; + var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; + var $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, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.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, $141 = 0; + var $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.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 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.0, $28 = 0.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.0, $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; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $7 = tempRet0; + $8 = $6 & 2047; + $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); + $10 = tempRet0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); + $14 = tempRet0; + $15 = ($13|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + L1: do { + if ($17) { + label = 3; + } else { + $18 = (___DOUBLE_BITS_272($1)|0); + $19 = tempRet0; + $20 = $19 & 2147483647; + $21 = ($20>>>0)>(2146435072); + $22 = ($18>>>0)>(0); + $23 = ($20|0)==(2146435072); + $24 = $23 & $22; + $25 = $21 | $24; + $26 = ($8|0)==(2047); + $or$cond = $26 | $25; + if ($or$cond) { + label = 3; + } else { + $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); + $30 = tempRet0; + $31 = ($30>>>0)>($14>>>0); + $32 = ($29>>>0)>($13>>>0); + $33 = ($30|0)==($14|0); + $34 = $33 & $32; + $35 = $31 | $34; + if (!($35)) { + $36 = ($29|0)==($13|0); + $37 = ($30|0)==($14|0); + $38 = $36 & $37; + $39 = $0 * 0.0; + $$ = $38 ? $39 : $0; + return (+$$); + } + $40 = ($8|0)==(0); + if ($40) { + $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); + $42 = tempRet0; + $43 = ($42|0)>(-1); + $44 = ($41>>>0)>(4294967295); + $45 = ($42|0)==(-1); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { + $$073100 = 0;$49 = $41;$50 = $42; + while(1) { + $48 = (($$073100) + -1)|0; + $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); + $52 = tempRet0; + $53 = ($52|0)>(-1); + $54 = ($51>>>0)>(4294967295); + $55 = ($52|0)==(-1); + $56 = $55 & $54; + $57 = $53 | $56; + if ($57) { + $$073100 = $48;$49 = $51;$50 = $52; + } else { + $$073$lcssa = $48; + break; + } + } + } else { + $$073$lcssa = 0; + } + $58 = (1 - ($$073$lcssa))|0; + $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); + $60 = tempRet0; + $$174 = $$073$lcssa;$87 = $59;$88 = $60; + } else { + $61 = $3 & 1048575; + $62 = $61 | 1048576; + $$174 = $8;$87 = $2;$88 = $62; + } + $63 = ($11|0)==(0); + if ($63) { + $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); + $65 = tempRet0; + $66 = ($65|0)>(-1); + $67 = ($64>>>0)>(4294967295); + $68 = ($65|0)==(-1); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + $$07194 = 0;$72 = $64;$73 = $65; + while(1) { + $71 = (($$07194) + -1)|0; + $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); + $75 = tempRet0; + $76 = ($75|0)>(-1); + $77 = ($74>>>0)>(4294967295); + $78 = ($75|0)==(-1); + $79 = $78 & $77; + $80 = $76 | $79; + if ($80) { + $$07194 = $71;$72 = $74;$73 = $75; + } else { + $$071$lcssa = $71; + break; + } + } + } else { + $$071$lcssa = 0; + } + $81 = (1 - ($$071$lcssa))|0; + $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); + $83 = tempRet0; + $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; + } else { + $84 = $5 & 1048575; + $85 = $84 | 1048576; + $$172$ph = $11;$89 = $4;$90 = $85; + } + $86 = ($$174|0)>($$172$ph|0); + $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); + $92 = tempRet0; + $93 = ($92|0)>(-1); + $94 = ($91>>>0)>(4294967295); + $95 = ($92|0)==(-1); + $96 = $95 & $94; + $97 = $93 | $96; + L23: do { + if ($86) { + $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; + while(1) { + if ($156) { + $98 = ($99|0)==(0); + $100 = ($101|0)==(0); + $102 = $98 & $100; + if ($102) { + break; + } else { + $104 = $99;$105 = $101; + } + } else { + $104 = $157;$105 = $158; + } + $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); + $107 = tempRet0; + $108 = (($$27586) + -1)|0; + $109 = ($108|0)>($$172$ph|0); + $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); + $111 = tempRet0; + $112 = ($111|0)>(-1); + $113 = ($110>>>0)>(4294967295); + $114 = ($111|0)==(-1); + $115 = $114 & $113; + $116 = $112 | $115; + if ($109) { + $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; + } else { + $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; + break L23; + } + } + $103 = $0 * 0.0; + $$070 = $103; + break L1; + } else { + $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; + } + } while(0); + if ($$lcssa) { + $117 = ($118|0)==(0); + $119 = ($120|0)==(0); + $121 = $117 & $119; + if ($121) { + $129 = $0 * 0.0; + $$070 = $129; + break; + } else { + $123 = $120;$125 = $118; + } + } else { + $123 = $160;$125 = $159; + } + $122 = ($123>>>0)<(1048576); + $124 = ($125>>>0)<(0); + $126 = ($123|0)==(1048576); + $127 = $126 & $124; + $128 = $122 | $127; + if ($128) { + $$37683 = $$275$lcssa;$130 = $125;$131 = $123; + while(1) { + $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); + $133 = tempRet0; + $134 = (($$37683) + -1)|0; + $135 = ($133>>>0)<(1048576); + $136 = ($132>>>0)<(0); + $137 = ($133|0)==(1048576); + $138 = $137 & $136; + $139 = $135 | $138; + if ($139) { + $$37683 = $134;$130 = $132;$131 = $133; + } else { + $$376$lcssa = $134;$141 = $132;$142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; + } + $140 = ($$376$lcssa|0)>(0); + if ($140) { + $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); + $144 = tempRet0; + $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); + $146 = tempRet0; + $147 = $143 | $145; + $148 = $144 | $146; + $153 = $148;$155 = $147; + } else { + $149 = (1 - ($$376$lcssa))|0; + $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); + $151 = tempRet0; + $153 = $151;$155 = $150; + } + $152 = $153 | $12; + HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; + $$070 = $154; + } + } + } while(0); + if ((label|0) == 3) { + $27 = $0 * $1; + $28 = $27 / $27; + $$070 = $28; + } + return (+$$070); +} +function ___DOUBLE_BITS_272($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 _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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _mbrtowc($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = ($3|0)==(0|0); + $$ = $5 ? 21160 : $3; + $6 = HEAP32[$$>>2]|0; + $7 = ($1|0)==(0|0); + L1: do { + if ($7) { + $8 = ($6|0)==(0); + if ($8) { + $$0 = 0; + } else { + label = 17; + } + } else { + $9 = ($0|0)==(0|0); + $$47 = $9 ? $4 : $0; + $10 = ($2|0)==(0); + if ($10) { + $$0 = -2; + } else { + $11 = ($6|0)==(0); + if ($11) { + $12 = HEAP8[$1>>0]|0; + $13 = ($12<<24>>24)>(-1); + if ($13) { + $14 = $12&255; + HEAP32[$$47>>2] = $14; + $15 = ($12<<24>>24)!=(0); + $16 = $15&1; + $$0 = $16; + break; + } + $17 = (___pthread_self_439()|0); + $18 = ((($17)) + 188|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $not$ = ($20|0)==(0|0); + $21 = HEAP8[$1>>0]|0; + if ($not$) { + $22 = $21 << 24 >> 24; + $23 = $22 & 57343; + HEAP32[$$47>>2] = $23; + $$0 = 1; + break; + } + $24 = $21&255; + $25 = (($24) + -194)|0; + $26 = ($25>>>0)>(50); + if ($26) { + label = 17; + break; + } + $27 = ((($1)) + 1|0); + $28 = (3692 + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($2) + -1)|0; + $31 = ($30|0)==(0); + if ($31) { + $$2 = $29; + } else { + $$03952 = $27;$$04051 = $29;$$04350 = $30; + label = 11; + } + } else { + $$03952 = $1;$$04051 = $6;$$04350 = $2; + label = 11; + } + L14: do { + if ((label|0) == 11) { + $32 = HEAP8[$$03952>>0]|0; + $33 = $32&255; + $34 = $33 >>> 3; + $35 = (($34) + -16)|0; + $36 = $$04051 >> 26; + $37 = (($34) + ($36))|0; + $38 = $35 | $37; + $39 = ($38>>>0)>(7); + if ($39) { + label = 17; + break L1; + } else { + $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; + } + while(1) { + $40 = $$141 << 6; + $41 = ((($$1)) + 1|0); + $42 = $43&255; + $44 = (($42) + -128)|0; + $45 = $44 | $40; + $46 = (($$144) + -1)|0; + $47 = ($45|0)<(0); + if (!($47)) { + break; + } + $49 = ($46|0)==(0); + if ($49) { + $$2 = $45; + break L14; + } + $50 = HEAP8[$41>>0]|0; + $51 = $50 & -64; + $52 = ($51<<24>>24)==(-128); + if ($52) { + $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; + } else { + label = 17; + break L1; + } + } + HEAP32[$$>>2] = 0; + HEAP32[$$47>>2] = $45; + $48 = (($2) - ($46))|0; + $$0 = $48; + break L1; + } + } while(0); + HEAP32[$$>>2] = $$2; + $$0 = -2; + } + } + } while(0); + if ((label|0) == 17) { + HEAP32[$$>>2] = 0; + $53 = (___errno_location()|0); + HEAP32[$53>>2] = 84; + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___pthread_self_439() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function _fmaxf($0,$1) { + $0 = +$0; + $1 = +$1; + var $$0 = 0.0, $$unshifted = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___FLOAT_BITS_269($0)|0); + $3 = $2 & 2147483647; + $4 = ($3>>>0)>(2139095040); + do { + if ($4) { + $$0 = $1; + } else { + $5 = (___FLOAT_BITS_269($1)|0); + $6 = $5 & 2147483647; + $7 = ($6>>>0)>(2139095040); + if ($7) { + $$0 = $0; + } else { + $$unshifted = $5 ^ $2; + $8 = ($$unshifted|0)<(0); + if ($8) { + $9 = ($2|0)<(0); + $10 = $9 ? $1 : $0; + $$0 = $10; + break; + } else { + $11 = $0 < $1; + $12 = $11 ? $1 : $0; + $$0 = $12; + break; + } + } + } + } while(0); + return (+$$0); +} +function ___FLOAT_BITS_269($0) { + $0 = +$0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0); + return ($1|0); +} +function _fminf($0,$1) { + $0 = +$0; + $1 = +$1; + var $$0 = 0.0, $$unshifted = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (___FLOAT_BITS_271($0)|0); + $3 = $2 & 2147483647; + $4 = ($3>>>0)>(2139095040); + do { + if ($4) { + $$0 = $1; + } else { + $5 = (___FLOAT_BITS_271($1)|0); + $6 = $5 & 2147483647; + $7 = ($6>>>0)>(2139095040); + if ($7) { + $$0 = $0; + } else { + $$unshifted = $5 ^ $2; + $8 = ($$unshifted|0)<(0); + if ($8) { + $9 = ($2|0)<(0); + $10 = $9 ? $0 : $1; + $$0 = $10; + break; + } else { + $11 = $0 < $1; + $12 = $11 ? $0 : $1; + $$0 = $12; + break; + } + } + } + } while(0); + return (+$$0); +} +function ___FLOAT_BITS_271($0) { + $0 = +$0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0); + return ($1|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 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; + $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); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $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_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(18092,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + 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] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $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; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 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; + 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, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(18092,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 11; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 10; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(21100)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((21164|0)); + return (21172|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((21164|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +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[1067]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1067]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _fgets($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 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; + var $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, $42 = 0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; + var $sext$mask = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $6 = (___lockfile($2)|0); + $17 = $6; + } else { + $17 = 0; + } + $7 = (($1) + -1)|0; + $8 = ($1|0)<(2); + $9 = ($7|0)!=(0); + if ($8) { + $10 = ((($2)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ($17|0)==(0); + if (!($16)) { + ___unlockfile($2); + } + if ($9) { + $$0 = 0; + } else { + HEAP8[$0>>0] = 0; + $$0 = $0; + } + } else { + L11: do { + if ($9) { + $18 = ((($2)) + 4|0); + $19 = ((($2)) + 8|0); + $$063 = $7;$$064 = $0; + while(1) { + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$19>>2]|0; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = (_memchr($20,10,$23)|0); + $25 = ($24|0)==(0|0); + $26 = $24; + $27 = (1 - ($22))|0; + $28 = (($27) + ($26))|0; + $29 = $25 ? $23 : $28; + $30 = ($29>>>0)<($$063>>>0); + $31 = $30 ? $29 : $$063; + _memcpy(($$064|0),($20|0),($31|0))|0; + $32 = HEAP32[$18>>2]|0; + $33 = (($32) + ($31)|0); + HEAP32[$18>>2] = $33; + $34 = (($$064) + ($31)|0); + $35 = (($$063) - ($31))|0; + $36 = ($35|0)!=(0); + $or$cond = $25 & $36; + if (!($or$cond)) { + $$1 = $34; + label = 17; + break L11; + } + $37 = HEAP32[$19>>2]|0; + $38 = ($33>>>0)<($37>>>0); + if ($38) { + $39 = ((($33)) + 1|0); + HEAP32[$18>>2] = $39; + $40 = HEAP8[$33>>0]|0; + $41 = $40&255; + $50 = $41; + } else { + $42 = (___uflow($2)|0); + $43 = ($42|0)<(0); + if ($43) { + break; + } else { + $50 = $42; + } + } + $48 = (($35) + -1)|0; + $49 = $50&255; + $51 = ((($34)) + 1|0); + HEAP8[$34>>0] = $49; + $sext$mask = $50 & 255; + $52 = ($sext$mask|0)!=(10); + $53 = ($48|0)!=(0); + $or$cond3 = $53 & $52; + if ($or$cond3) { + $$063 = $48;$$064 = $51; + } else { + $$1 = $51; + label = 17; + break L11; + } + } + $44 = ($34|0)==($0|0); + if ($44) { + $$06266 = 0; + } else { + $45 = HEAP32[$2>>2]|0; + $46 = $45 & 16; + $47 = ($46|0)==(0); + if ($47) { + $$06266 = 0; + } else { + $$1 = $34; + label = 17; + } + } + } else { + $$1 = $0; + label = 17; + } + } while(0); + if ((label|0) == 17) { + $54 = ($0|0)==(0|0); + if ($54) { + $$06266 = 0; + } else { + HEAP8[$$1>>0] = 0; + $$06266 = $0; + } + } + $55 = ($17|0)==(0); + if ($55) { + $$0 = $$06266; + } else { + ___unlockfile($2); + $$0 = $$06266; + } + } + return ($$0|0); +} +function _feof($0) { + $0 = $0|0; + var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 >>> 4; + $$lobit = $8 & 1; + if ($phitmp) { + $$lobit9 = $$lobit; + } else { + ___unlockfile($0); + $$lobit9 = $$lobit; + } + } else { + $4 = HEAP32[$0>>2]|0; + $5 = $4 >>> 4; + $$lobit8 = $5 & 1; + $$lobit9 = $$lobit8; + } + return ($$lobit9|0); +} +function _fscanf($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 = (_vfscanf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _vfscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; + var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; + var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; + var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $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, $226 = 0; + var $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, $244 = 0; + var $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, $261 = 0, $262 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $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, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; + var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $3 = sp + 8|0; + $4 = sp + 17|0; + $5 = sp; + $6 = sp + 16|0; + $7 = ((($0)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(-1); + if ($9) { + $10 = (___lockfile($0)|0); + $306 = $10; + } else { + $306 = 0; + } + $11 = HEAP8[$1>>0]|0; + $12 = ($11<<24>>24)==(0); + L4: do { + if ($12) { + $$3291 = 0; + } else { + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 100|0); + $15 = ((($0)) + 108|0); + $16 = ((($0)) + 8|0); + $17 = ((($4)) + 10|0); + $18 = ((($4)) + 33|0); + $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); + $19 = ((($4)) + 46|0); + $20 = ((($4)) + 94|0); + $21 = ((($4)) + 1|0); + $22 = ((($4)) + 1|0); + $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; + L6: while(1) { + $23 = $24&255; + $25 = (_isspace($23)|0); + $26 = ($25|0)==(0); + L8: do { + if ($26) { + $53 = ($24<<24>>24)==(37); + L10: do { + if ($53) { + $54 = ((($$0273429)) + 1|0); + $55 = HEAP8[$54>>0]|0; + L12: do { + switch ($55<<24>>24) { + case 37: { + break L10; + break; + } + case 42: { + $76 = ((($$0273429)) + 2|0); + $$0293 = 0;$$2275 = $76; + break; + } + default: { + $77 = $55&255; + $isdigittmp = (($77) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $78 = ((($$0273429)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==(36); + if ($80) { + $81 = (_arg_n($2,$isdigittmp)|0); + $82 = ((($$0273429)) + 3|0); + $$0293 = $81;$$2275 = $82; + break L12; + } + } + $arglist_current = HEAP32[$2>>2]|0; + $83 = $arglist_current; + $84 = ((0) + 4|0); + $expanded1 = $84; + $expanded = (($expanded1) - 1)|0; + $85 = (($83) + ($expanded))|0; + $86 = ((0) + 4|0); + $expanded5 = $86; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $87 = $85 & $expanded3; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $arglist_next = ((($88)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0293 = $89;$$2275 = $54; + } + } + } while(0); + $90 = HEAP8[$$2275>>0]|0; + $91 = $90&255; + $isdigittmp315414 = (($91) + -48)|0; + $isdigit316415 = ($isdigittmp315414>>>0)<(10); + if ($isdigit316415) { + $$0266417 = 0;$$3416 = $$2275;$95 = $91; + while(1) { + $92 = ($$0266417*10)|0; + $93 = (($92) + -48)|0; + $94 = (($93) + ($95))|0; + $96 = ((($$3416)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $isdigittmp315 = (($98) + -48)|0; + $isdigit316 = ($isdigittmp315>>>0)<(10); + if ($isdigit316) { + $$0266417 = $94;$$3416 = $96;$95 = $98; + } else { + $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; + break; + } + } + } else { + $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; + } + $99 = ($$lcssa355<<24>>24)==(109); + $100 = ($$0293|0)!=(0|0); + $101 = ((($$3$lcssa)) + 1|0); + $$$0305 = $99 ? 0 : $$0305423; + $$327 = $99 ? 0 : $102; + $$$3 = $99 ? $101 : $$3$lcssa; + $narrow = $100 & $99; + $103 = ((($$$3)) + 1|0); + $104 = HEAP8[$$$3>>0]|0; + switch ($104<<24>>24) { + case 104: { + $105 = HEAP8[$103>>0]|0; + $106 = ($105<<24>>24)==(104); + $107 = ((($$$3)) + 2|0); + $$319 = $106 ? $107 : $103; + $$320 = $106 ? -2 : -1; + $$0268 = $$320;$$5 = $$319; + break; + } + case 108: { + $108 = HEAP8[$103>>0]|0; + $109 = ($108<<24>>24)==(108); + $110 = ((($$$3)) + 2|0); + $$321 = $109 ? $110 : $103; + $$322 = $109 ? 3 : 1; + $$0268 = $$322;$$5 = $$321; + break; + } + case 106: { + $$0268 = 3;$$5 = $103; + break; + } + case 116: case 122: { + $$0268 = 1;$$5 = $103; + break; + } + case 76: { + $$0268 = 2;$$5 = $103; + break; + } + case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { + $$0268 = 0;$$5 = $$$3; + break; + } + default: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + } + $111 = HEAP8[$$5>>0]|0; + $112 = $111&255; + $113 = $112 & 47; + $114 = ($113|0)==(3); + $115 = $112 | 32; + $$ = $114 ? $115 : $112; + $$$0268 = $114 ? 1 : $$0268; + $trunc = $$&255; + switch ($trunc<<24>>24) { + case 99: { + $116 = ($$0266$lcssa|0)>(1); + $$$0266 = $116 ? $$0266$lcssa : 1; + $$1267 = $$$0266;$$1284 = $$0283428; + break; + } + case 91: { + $$1267 = $$0266$lcssa;$$1284 = $$0283428; + break; + } + case 110: { + $117 = ($$0283428|0)<(0); + $118 = $117 << 31 >> 31; + _store_int($$0293,$$$0268,$$0283428,$118); + $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; + break L8; + break; + } + default: { + ___shlim($0,0); + while(1) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$14>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + $122 = ((($119)) + 1|0); + HEAP32[$13>>2] = $122; + $123 = HEAP8[$119>>0]|0; + $124 = $123&255; + $126 = $124; + } else { + $125 = (___shgetc($0)|0); + $126 = $125; + } + $127 = (_isspace($126)|0); + $128 = ($127|0)==(0); + if ($128) { + break; + } + } + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$pre507 = HEAP32[$13>>2]|0; + $138 = $$pre507; + } else { + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$13>>2] = $132; + $133 = $132; + $138 = $133; + } + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (($134) + ($$0283428))|0; + $137 = (($136) + ($138))|0; + $139 = (($137) - ($135))|0; + $$1267 = $$0266$lcssa;$$1284 = $139; + } + } + ___shlim($0,$$1267); + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = ($140>>>0)<($141>>>0); + if ($142) { + $143 = ((($140)) + 1|0); + HEAP32[$13>>2] = $143; + $147 = $141; + } else { + $144 = (___shgetc($0)|0); + $145 = ($144|0)<(0); + if ($145) { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + $$pre509 = HEAP32[$14>>2]|0; + $147 = $$pre509; + } + $146 = ($147|0)==(0|0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + -1|0); + HEAP32[$13>>2] = $149; + } + L55: do { + switch ($trunc<<24>>24) { + case 91: case 99: case 115: { + $150 = ($$|0)==(99); + $151 = $$ | 16; + $152 = ($151|0)==(115); + L57: do { + if ($152) { + $153 = ($$|0)==(115); + _memset(($21|0),-1,256)|0; + HEAP8[$4>>0] = 0; + if ($153) { + HEAP8[$18>>0] = 0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; + $$9 = $$5; + } else { + $$9 = $$5; + } + } else { + $154 = ((($$5)) + 1|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)==(94); + $157 = ((($$5)) + 2|0); + $$0292 = $156&1; + $$6 = $156 ? $157 : $154; + $158 = $156&1; + _memset(($22|0),($158|0),256)|0; + HEAP8[$4>>0] = 0; + $159 = HEAP8[$$6>>0]|0; + switch ($159<<24>>24) { + case 45: { + $$sink443 = $19; + label = 64; + break; + } + case 93: { + $$sink443 = $20; + label = 64; + break; + } + default: { + $$pre514 = $$0292 ^ 1; + $$pre515 = $$pre514&255; + $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; + } + } + if ((label|0) == 64) { + label = 0; + $160 = ((($$6)) + 1|0); + $161 = $$0292 ^ 1; + $162 = $161&255; + HEAP8[$$sink443>>0] = $162; + $$7$ph = $160;$$pre$phi516Z2D = $162; + } + $$7 = $$7$ph; + while(1) { + $163 = HEAP8[$$7>>0]|0; + L69: do { + switch ($163<<24>>24) { + case 0: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case 93: { + $$9 = $$7; + break L57; + break; + } + case 45: { + $164 = ((($$7)) + 1|0); + $165 = HEAP8[$164>>0]|0; + switch ($165<<24>>24) { + case 93: case 0: { + $$8 = $$7;$176 = 45; + break L69; + break; + } + default: { + } + } + $166 = ((($$7)) + -1|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167&255)<($165&255); + if ($168) { + $169 = $167&255; + $$0286420 = $169; + while(1) { + $170 = (($$0286420) + 1)|0; + $171 = (($4) + ($170)|0); + HEAP8[$171>>0] = $$pre$phi516Z2D; + $172 = HEAP8[$164>>0]|0; + $173 = $172&255; + $174 = ($170|0)<($173|0); + if ($174) { + $$0286420 = $170; + } else { + $$8 = $164;$176 = $172; + break; + } + } + } else { + $$8 = $164;$176 = $165; + } + break; + } + default: { + $$8 = $$7;$176 = $163; + } + } + } while(0); + $175 = $176&255; + $177 = (($175) + 1)|0; + $178 = (($4) + ($177)|0); + HEAP8[$178>>0] = $$pre$phi516Z2D; + $179 = ((($$8)) + 1|0); + $$7 = $179; + } + } + } while(0); + $180 = (($$1267) + 1)|0; + $181 = $150 ? $180 : 31; + $182 = ($$$0268|0)==(1); + L77: do { + if ($182) { + if ($narrow) { + $183 = $181 << 2; + $184 = (_malloc($183)|0); + $185 = ($184|0)==(0|0); + if ($185) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $311 = $184; + } + } else { + $311 = $$0293; + } + HEAP32[$3>>2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; + $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; + L82: while(1) { + $186 = ($$ph|0)==(0|0); + $$0278$ph336 = $$0278$ph; + while(1) { + L86: while(1) { + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = ($187>>>0)<($188>>>0); + if ($189) { + $190 = ((($187)) + 1|0); + HEAP32[$13>>2] = $190; + $191 = HEAP8[$187>>0]|0; + $192 = $191&255; + $195 = $192; + } else { + $193 = (___shgetc($0)|0); + $195 = $193; + } + $194 = (($195) + 1)|0; + $196 = (($4) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)==(0); + if ($198) { + break L82; + } + $199 = $195&255; + HEAP8[$6>>0] = $199; + $200 = (_mbrtowc($5,$6,1,$3)|0); + switch ($200|0) { + case -1: { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case -2: { + break; + } + default: { + break L86; + } + } + } + if ($186) { + $$1279 = $$0278$ph336; + } else { + $201 = (($$ph) + ($$0278$ph336<<2)|0); + $202 = (($$0278$ph336) + 1)|0; + $203 = HEAP32[$5>>2]|0; + HEAP32[$201>>2] = $203; + $$1279 = $202; + } + $204 = ($$1279|0)==($$0276$ph|0); + $or$cond = $narrow & $204; + if ($or$cond) { + break; + } else { + $$0278$ph336 = $$1279; + } + } + $factor331 = $$0276$ph << 1; + $205 = $factor331 | 1; + $206 = $205 << 2; + $207 = (_realloc($$ph,$206)|0); + $208 = ($207|0)==(0|0); + if ($208) { + $$7312 = 0;$309 = $$ph;$narrow469 = 1; + label = 137; + break L6; + } else { + $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; + } + } + $209 = (_mbsinit($3)|0); + $210 = ($209|0)==(0); + if ($210) { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + } else { + $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; + } + } else { + if ($narrow) { + $211 = (_malloc($181)|0); + $212 = ($211|0)==(0|0); + if ($212) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; + } + while(1) { + $$2280 = $$2280$ph; + while(1) { + $213 = HEAP32[$13>>2]|0; + $214 = HEAP32[$14>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if ($215) { + $216 = ((($213)) + 1|0); + HEAP32[$13>>2] = $216; + $217 = HEAP8[$213>>0]|0; + $218 = $217&255; + $221 = $218; + } else { + $219 = (___shgetc($0)|0); + $221 = $219; + } + $220 = (($221) + 1)|0; + $222 = (($4) + ($220)|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)==(0); + if ($224) { + $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; + break L77; + } + $225 = $221&255; + $226 = (($$2280) + 1)|0; + $227 = (($$2307$ph) + ($$2280)|0); + HEAP8[$227>>0] = $225; + $228 = ($226|0)==($$1277$ph|0); + if ($228) { + break; + } else { + $$2280 = $226; + } + } + $factor = $$1277$ph << 1; + $229 = $factor | 1; + $230 = (_realloc($$2307$ph,$229)|0); + $231 = ($230|0)==(0|0); + if ($231) { + $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; + } + } + } + $232 = ($$0293|0)==(0|0); + if ($232) { + $250 = $147; + while(1) { + $248 = HEAP32[$13>>2]|0; + $249 = ($248>>>0)<($250>>>0); + if ($249) { + $251 = ((($248)) + 1|0); + HEAP32[$13>>2] = $251; + $252 = HEAP8[$248>>0]|0; + $253 = $252&255; + $256 = $253; + } else { + $254 = (___shgetc($0)|0); + $256 = $254; + } + $255 = (($256) + 1)|0; + $257 = (($4) + ($255)|0); + $258 = HEAP8[$257>>0]|0; + $259 = ($258<<24>>24)==(0); + if ($259) { + $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; + break L77; + } + $$pre512 = HEAP32[$14>>2]|0; + $250 = $$pre512; + } + } else { + $$3281 = 0;$235 = $147; + while(1) { + $233 = HEAP32[$13>>2]|0; + $234 = ($233>>>0)<($235>>>0); + if ($234) { + $236 = ((($233)) + 1|0); + HEAP32[$13>>2] = $236; + $237 = HEAP8[$233>>0]|0; + $238 = $237&255; + $241 = $238; + } else { + $239 = (___shgetc($0)|0); + $241 = $239; + } + $240 = (($241) + 1)|0; + $242 = (($4) + ($240)|0); + $243 = HEAP8[$242>>0]|0; + $244 = ($243<<24>>24)==(0); + if ($244) { + $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; + break L77; + } + $245 = $241&255; + $246 = (($$3281) + 1)|0; + $247 = (($$0293) + ($$3281)|0); + HEAP8[$247>>0] = $245; + $$pre511 = HEAP32[$14>>2]|0; + $$3281 = $246;$235 = $$pre511; + } + } + } + } while(0); + $260 = HEAP32[$14>>2]|0; + $261 = ($260|0)==(0|0); + if ($261) { + $$pre513 = HEAP32[$13>>2]|0; + $268 = $$pre513; + } else { + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + -1|0); + HEAP32[$13>>2] = $263; + $264 = $263; + $268 = $264; + } + $265 = HEAP32[$15>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = (($268) - ($266))|0; + $269 = (($267) + ($265))|0; + $270 = ($269|0)==(0); + if ($270) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + $$not = $150 ^ 1; + $271 = ($269|0)==($$1267|0); + $or$cond318 = $271 | $$not; + if (!($or$cond318)) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + do { + if ($narrow) { + if ($182) { + HEAP32[$$0293>>2] = $$5299; + break; + } else { + HEAP32[$$0293>>2] = $$4309; + break; + } + } + } while(0); + if ($150) { + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } else { + $272 = ($$5299|0)==(0|0); + if (!($272)) { + $273 = (($$5299) + ($$4282<<2)|0); + HEAP32[$273>>2] = 0; + } + $274 = ($$4309|0)==(0|0); + if ($274) { + $$10 = $$9;$$5310 = 0;$310 = $312; + break L55; + } + $275 = (($$4309) + ($$4282)|0); + HEAP8[$275>>0] = 0; + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } + break; + } + case 120: case 88: case 112: { + $$0272 = 16; + label = 125; + break; + } + case 111: { + $$0272 = 8; + label = 125; + break; + } + case 117: case 100: { + $$0272 = 10; + label = 125; + break; + } + case 105: { + $$0272 = 0; + label = 125; + break; + } + case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { + $285 = (+___floatscan($0,$$$0268,0)); + $286 = HEAP32[$15>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = HEAP32[$16>>2]|0; + $289 = (($288) - ($287))|0; + $290 = ($286|0)==($289|0); + if ($290) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $291 = ($$0293|0)==(0|0); + if ($291) { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } else { + switch ($$$0268|0) { + case 0: { + $292 = $285; + HEAPF32[$$0293>>2] = $292; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 1: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 2: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + } + } + } + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } + } + } while(0); + do { + if ((label|0) == 125) { + label = 0; + $276 = (___intscan($0,$$0272,0,-1,-1)|0); + $277 = tempRet0; + $278 = HEAP32[$15>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) - ($279))|0; + $282 = ($278|0)==($281|0); + if ($282) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $283 = ($$|0)==(112); + $or$cond3 = $100 & $283; + if ($or$cond3) { + $284 = $276; + HEAP32[$$0293>>2] = $284; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } else { + _store_int($$0293,$$$0268,$276,$277); + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } + } + } while(0); + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$16>>2]|0; + $296 = (($293) + ($$1284))|0; + $297 = (($296) + ($294))|0; + $298 = (($297) - ($295))|0; + $299 = $100&1; + $$0288$ = (($299) + ($$0288425))|0; + $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; + break L8; + } + } while(0); + $56 = $53&1; + $57 = (($$0273429) + ($56)|0); + ___shlim($0,0); + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($58>>>0)<($59>>>0); + if ($60) { + $61 = ((($58)) + 1|0); + HEAP32[$13>>2] = $61; + $62 = HEAP8[$58>>0]|0; + $63 = $62&255; + $68 = $63; + } else { + $64 = (___shgetc($0)|0); + $68 = $64; + } + $65 = HEAP8[$57>>0]|0; + $66 = $65&255; + $67 = ($68|0)==($66|0); + if (!($67)) { + label = 22; + break L6; + } + $75 = (($$0283428) + 1)|0; + $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; + } else { + $$1274 = $$0273429; + while(1) { + $27 = ((($$1274)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_isspace($29)|0); + $31 = ($30|0)==(0); + if ($31) { + break; + } else { + $$1274 = $27; + } + } + ___shlim($0,0); + while(1) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$13>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $39 = $37; + } else { + $38 = (___shgetc($0)|0); + $39 = $38; + } + $40 = (_isspace($39)|0); + $41 = ($40|0)==(0); + if ($41) { + break; + } + } + $42 = HEAP32[$14>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $$pre = HEAP32[$13>>2]|0; + $51 = $$pre; + } else { + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + -1|0); + HEAP32[$13>>2] = $45; + $46 = $45; + $51 = $46; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = (($47) + ($$0283428))|0; + $50 = (($49) + ($51))|0; + $52 = (($50) - ($48))|0; + $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; + } + } while(0); + $300 = ((($$11)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = ($301<<24>>24)==(0); + if ($302) { + $$3291 = $$1289; + break L4; + } else { + $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; + } + } + if ((label|0) == 22) { + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if (!($70)) { + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + -1|0); + HEAP32[$13>>2] = $72; + } + $73 = ($68|0)>(-1); + $74 = ($$0288425|0)!=(0); + $or$cond5 = $74 | $73; + if ($or$cond5) { + $$3291 = $$0288425; + break; + } else { + $$1271 = 0;$$8313 = $$0305423;$308 = $102; + label = 138; + } + } + else if ((label|0) == 137) { + $$328$le441 = $narrow469&1; + $$old4 = ($$0288425|0)==(0); + if ($$old4) { + $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; + label = 138; + } else { + $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; + } + } + else if ((label|0) == 139) { + $$328$le439 = $narrow&1; + $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; + } + if ((label|0) == 138) { + $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; + } + $303 = ($$2|0)==(0); + if ($303) { + $$3291 = $$2290; + } else { + _free($$9314); + _free($304); + $$3291 = $$2290; + } + } + } while(0); + $305 = ($306|0)==(0); + if (!($305)) { + ___unlockfile($0); + } + STACKTOP = sp;return ($$3291|0); +} +function _arg_n($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + $vacopy_currentptr = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $vacopy_currentptr; + $$0 = $1; + while(1) { + $3 = ($$0>>>0)>(1); + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded1 = $5; + $expanded = (($expanded1) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded5 = $7; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $8 = $6 & $expanded3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = (($$0) + -1)|0; + if ($3) { + $$0 = $11; + } else { + break; + } + } + STACKTOP = sp;return ($10|0); +} +function _store_int($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + L1: do { + if (!($4)) { + switch ($1|0) { + case -2: { + $5 = $2&255; + HEAP8[$0>>0] = $5; + break L1; + break; + } + case -1: { + $6 = $2&65535; + HEAP16[$0>>1] = $6; + break L1; + break; + } + case 0: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 1: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 3: { + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + break L1; + break; + } + default: { + break L1; + } + } + } + } while(0); + return; +} +function _mbsinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + $5 = 1; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)==(0); + $5 = $3; + } + $4 = $5&1; + return ($4|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function ___fseeko($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, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 18368; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $phitmp = ($4|0)==(0); + (___fseeko_unlocked($0,0,0)|0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & -33; + HEAP32[$0>>2] = $6; + if (!($phitmp)) { + ___unlockfile($0); + } + } else { + (___fseeko_unlocked($0,0,0)|0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 & -33; + HEAP32[$0>>2] = $8; + } + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[1035]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[5294]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[5294] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[5294] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[5294] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[5294] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[5295]|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 = (21220 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[5295] = $24; + } else { + $25 = HEAP32[(21196)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(21188)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (21220 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[5295] = $77; + $98 = $77; + } else { + $78 = HEAP32[(21196)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(21200)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (21220 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[5295] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(21196)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(21188)>>2] = $84; + HEAP32[(21200)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(21184)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (21484 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(21196)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (21484 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(21184)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(21196)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(21196)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(21196)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(21200)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (21220 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[5295] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(21196)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(21188)>>2] = $$0193$lcssa$i; + HEAP32[(21200)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(21184)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (21484 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (21484 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(21188)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(21196)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (21484 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(21184)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(21196)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(21196)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(21196)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (21220 + ($425<<2)|0); + $427 = HEAP32[5295]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[5295] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(21196)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (21484 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(21184)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(21196)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(21196)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(21188)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(21200)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(21200)>>2] = $511; + HEAP32[(21188)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(21188)>>2] = 0; + HEAP32[(21200)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(21192)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(21192)>>2] = $526; + $527 = HEAP32[(21204)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(21204)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[5413]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(21660)>>2] = 4096; + HEAP32[(21656)>>2] = 4096; + HEAP32[(21664)>>2] = -1; + HEAP32[(21668)>>2] = -1; + HEAP32[(21672)>>2] = 0; + HEAP32[(21624)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[5413] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(21660)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(21620)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(21612)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(21624)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(21204)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (21628); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(21656)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(21612)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(21620)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(21660)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(21624)>>2]|0; + $612 = $611 | 4; + HEAP32[(21624)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(21612)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(21612)>>2] = $627; + $628 = HEAP32[(21616)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(21616)>>2] = $627; + } + $630 = HEAP32[(21204)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(21196)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(21196)>>2] = $$749$i; + } + HEAP32[(21628)>>2] = $$749$i; + HEAP32[(21632)>>2] = $$723948$i; + HEAP32[(21640)>>2] = 0; + $635 = HEAP32[5413]|0; + HEAP32[(21216)>>2] = $635; + HEAP32[(21212)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (21220 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(21204)>>2] = $649; + HEAP32[(21192)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(21668)>>2]|0; + HEAP32[(21208)>>2] = $655; + } else { + $$024371$i = (21628); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(21192)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(21204)>>2] = $679; + HEAP32[(21192)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(21668)>>2]|0; + HEAP32[(21208)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(21196)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(21196)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (21628); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(21192)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(21192)>>2] = $727; + HEAP32[(21204)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(21200)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(21188)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(21188)>>2] = $733; + HEAP32[(21200)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (21220 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[5295]|0; + $760 = $759 & $758; + HEAP32[5295] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (21484 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(21184)>>2]|0; + $803 = $802 & $801; + HEAP32[(21184)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(21196)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(21196)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(21196)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (21220 + ($836<<2)|0); + $838 = HEAP32[5295]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[5295] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(21196)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (21484 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(21184)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(21184)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(21196)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(21196)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (21628); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(21204)>>2] = $946; + HEAP32[(21192)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(21668)>>2]|0; + HEAP32[(21208)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(21628)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21628)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21628)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21628)+12>>2]|0; + HEAP32[(21628)>>2] = $$749$i; + HEAP32[(21632)>>2] = $$723948$i; + HEAP32[(21640)>>2] = 0; + HEAP32[(21636)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (21220 + ($968<<2)|0); + $970 = HEAP32[5295]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[5295] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(21196)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (21484 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(21184)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(21184)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(21196)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(21196)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(21192)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(21192)>>2] = $1050; + $1051 = HEAP32[(21204)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(21204)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(21196)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(21200)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(21188)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (21220 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[5295]|0; + $38 = $37 & $36; + HEAP32[5295] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (21484 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(21184)>>2]|0; + $81 = $80 & $79; + HEAP32[(21184)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(21196)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(21196)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(21196)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(21204)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(21200)>>2]|0; + if ($121) { + $123 = HEAP32[(21192)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(21192)>>2] = $124; + HEAP32[(21204)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(21200)>>2] = 0; + HEAP32[(21188)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(21188)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(21188)>>2] = $130; + HEAP32[(21200)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (21220 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(21196)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[5295]|0; + $154 = $153 & $152; + HEAP32[5295] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(21196)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(21196)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(21196)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (21484 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(21184)>>2]|0; + $200 = $199 & $198; + HEAP32[(21184)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(21196)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(21196)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(21196)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(21200)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(21188)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (21220 + ($234<<2)|0); + $236 = HEAP32[5295]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[5295] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(21196)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (21484 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(21184)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(21184)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(21196)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(21196)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(21212)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(21212)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (21636); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(21212)>>2] = -1; + return; +} +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); + } + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); + } + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 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, $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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(21196)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(21660)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); + } + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(21204)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(21192)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(21204)>>2] = $40; + HEAP32[(21192)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(21200)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(21188)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(21188)>>2] = $storemerge1; + HEAP32[(21200)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (21220 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); + if ($84) { + _abort(); + // unreachable; + } + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[5295]|0; + $92 = $91 & $90; + HEAP32[5295] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (21484 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); + do { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(21184)>>2]|0; + $135 = $134 & $133; + HEAP32[(21184)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(21196)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { + _abort(); + // unreachable; + } else { + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(21196)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; + break; + } + } + } while(0); + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(21196)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { + _abort(); + // unreachable; + } else { + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 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, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { + return; + } + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(21196)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(21200)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(21188)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (21220 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[5295]|0; + $34 = $33 & $32; + HEAP32[5295] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (21484 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(21184)>>2]|0; + $77 = $76 & $75; + HEAP32[(21184)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(21196)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(21196)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(21196)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; + break; + } + } + } + } else { + $$1 = $0;$$1418 = $1; + } + } while(0); + $108 = HEAP32[(21196)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { + _abort(); + // unreachable; + } + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(21204)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(21200)>>2]|0; + if ($115) { + $117 = HEAP32[(21192)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(21192)>>2] = $118; + HEAP32[(21204)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { + return; + } + HEAP32[(21200)>>2] = 0; + HEAP32[(21188)>>2] = 0; + return; + } + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(21188)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(21188)>>2] = $124; + HEAP32[(21200)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; + return; + } + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (21220 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { + _abort(); + // unreachable; + } + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { + _abort(); + // unreachable; + } + } + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[5295]|0; + $147 = $146 & $145; + HEAP32[5295] = $147; + break; + } + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; + } else { + $149 = ($135>>>0)<($108>>>0); + if ($149) { + _abort(); + // unreachable; + } + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; + } else { + _abort(); + // unreachable; + } + } + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; + } else { + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); + do { + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; + break; + } else { + $$1433 = $172;$$1437 = $168; + } + } else { + $$1433 = $170;$$1437 = $169; + } + while(1) { + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; + continue; + } + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { + break; + } else { + $$1433 = $178;$$1437 = $177; + } + } + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { + _abort(); + // unreachable; + } else { + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; + break; + } + } else { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { + _abort(); + // unreachable; + } + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { + _abort(); + // unreachable; + } + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (21484 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(21184)>>2]|0; + $190 = $189 & $188; + HEAP32[(21184)>>2] = $190; + break L96; + } + } else { + $191 = HEAP32[(21196)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } + } + } while(0); + $197 = HEAP32[(21196)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); + if ($198) { + _abort(); + // unreachable; + } + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($$3435)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $$3435; + break; + } + } + } while(0); + $206 = ((($200)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(21196)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($$3435)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $$3435; + break; + } + } + } + } + } while(0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); + HEAP32[$214>>2] = $213; + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(21200)>>2]|0; + $217 = ($$1|0)==($216|0); + if ($217) { + HEAP32[(21188)>>2] = $129; + return; + } else { + $$2 = $129; + } + } else { + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; + } + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); + if ($223) { + $224 = $222 << 1; + $225 = (21220 + ($224<<2)|0); + $226 = HEAP32[5295]|0; + $227 = 1 << $222; + $228 = $226 & $227; + $229 = ($228|0)==(0); + if ($229) { + $230 = $226 | $227; + HEAP32[5295] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; + } else { + $231 = ((($225)) + 8|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[(21196)>>2]|0; + $234 = ($232>>>0)<($233>>>0); + if ($234) { + _abort(); + // unreachable; + } else { + $$0438 = $232;$$pre$phiZ2D = $231; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); + HEAP32[$237>>2] = $225; + return; + } + $238 = $$2 >>> 8; + $239 = ($238|0)==(0); + if ($239) { + $$0431 = 0; + } else { + $240 = ($$2>>>0)>(16777215); + if ($240) { + $$0431 = 31; + } else { + $241 = (($238) + 1048320)|0; + $242 = $241 >>> 16; + $243 = $242 & 8; + $244 = $238 << $243; + $245 = (($244) + 520192)|0; + $246 = $245 >>> 16; + $247 = $246 & 4; + $248 = $247 | $243; + $249 = $244 << $247; + $250 = (($249) + 245760)|0; + $251 = $250 >>> 16; + $252 = $251 & 2; + $253 = $248 | $252; + $254 = (14 - ($253))|0; + $255 = $249 << $252; + $256 = $255 >>> 15; + $257 = (($254) + ($256))|0; + $258 = $257 << 1; + $259 = (($257) + 7)|0; + $260 = $$2 >>> $259; + $261 = $260 & 1; + $262 = $261 | $258; + $$0431 = $262; + } + } + $263 = (21484 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); + HEAP32[$266>>2] = 0; + HEAP32[$265>>2] = 0; + $267 = HEAP32[(21184)>>2]|0; + $268 = 1 << $$0431; + $269 = $267 & $268; + $270 = ($269|0)==(0); + if ($270) { + $271 = $267 | $268; + HEAP32[(21184)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); + HEAP32[$272>>2] = $263; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; + return; + } + $275 = HEAP32[$263>>2]|0; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; + } + } + if ((label|0) == 118) { + $290 = HEAP32[(21196)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(21196)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } +} +function runPostSets() { +} +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 _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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _memset: _memset, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _llvm_cttz_i32: _llvm_cttz_i32, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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__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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _memset = Module["_memset"] = asm["_memset"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/models/models_obj_loading.js b/docs/examples/web/models/models_obj_loading.js index 34b9163d..e259738d 100644 --- a/docs/examples/web/models/models_obj_loading.js +++ b/docs/examples/web/models/models_obj_loading.js @@ -183,7 +183,7 @@ Module['FS_createPath']('/resources', 'model', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}], "remote_package_size": 4022872, "package_uuid": "dc77f22f-e0f2-448f-9895-b0156b254278"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}], "remote_package_size": 4022872, "package_uuid": "8916150a-89d4-4b0a-884f-4bcfc1694720"}); })(); @@ -1776,12 +1776,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 23776; +STATICTOP = STATIC_BASE + 23760; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,215,88,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,111,98,106,32,109,111,100,101,108,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,199,88,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,111,98,106,32,109,111,100,101,108,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10499,14 +10499,14 @@ function _main() { $3 = HEAP32[3]|0; _InitWindow($2,$3,4408); _LoadModel($0,4452); - _memcpy((17908|0),($0|0),264)|0; + _memcpy((18212|0),($0|0),264)|0; _LoadTexture($1,4478); - ;HEAP32[18172>>2]=HEAP32[$1>>2]|0;HEAP32[18172+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18172+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18172+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18172+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18096)>>2]=HEAP32[$1>>2]|0;HEAP32[(18096)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18096)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18096)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18096)+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18476>>2]=HEAP32[$1>>2]|0;HEAP32[18476+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18476+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18476+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18476+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(18400)>>2]=HEAP32[$1>>2]|0;HEAP32[(18400)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18400)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18400)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18400)+16>>2]=HEAP32[$1+16>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18172>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18172+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18172+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18172+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18172+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18476>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18476+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18476+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18476+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18476+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(17908|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18212|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10535,12 +10535,12 @@ function _UpdateDrawFrame() { dest=$$byval_copy2; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy2); HEAP32[$1>>2] = -1; - _memcpy(($dwarf$byval_copy|0),(17908|0),264)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[17896>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[17896+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[17896+8>>2]|0; + _memcpy(($dwarf$byval_copy|0),(18212|0),264)|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[18200>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[18200+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[18200+8>>2]|0; ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($dwarf$byval_copy,$position$byval_copy,2.0,$$byval_copy2); _DrawGrid(10,1.0); - ;HEAP32[$$byval_copy2>>2]=HEAP32[17896>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[17896+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[17896+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[18200>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[18200+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[18200+8>>2]|0; _DrawGizmo($$byval_copy2); _End3dMode(); $6 = HEAP32[2]|0; @@ -10560,30 +10560,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10736,13 +10786,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11731,7 +11774,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4549] = $2; + HEAP32[4625] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11744,7 +11787,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17624; + $95 = 17928; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11757,48 +11800,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17664; + $106 = 17968; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4416]; - $111 = +HEAPF32[4406]; + $110 = +HEAPF32[4492]; + $111 = +HEAPF32[4482]; $112 = $110 - $111; - HEAPF32[4418] = $112; - $113 = +HEAPF32[(17668)>>2]; - $114 = +HEAPF32[(17628)>>2]; + HEAPF32[4494] = $112; + $113 = +HEAPF32[(17972)>>2]; + $114 = +HEAPF32[(17932)>>2]; $115 = $113 - $114; - HEAPF32[(17676)>>2] = $115; - HEAP32[4548] = 4; + HEAPF32[(17980)>>2] = $115; + HEAP32[4624] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17656+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17960+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4554] = $116; - $117 = 17656; + HEAPF32[4630] = $116; + $117 = 17960; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17624; + $123 = 17928; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17680; + $127 = 17984; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17664; + $133 = 17968; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11811,7 +11854,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17656; + $144 = 17960; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11824,27 +11867,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17680; + $155 = 17984; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4420]; - $160 = +HEAPF32[4414]; + $159 = +HEAPF32[4496]; + $160 = +HEAPF32[4490]; $161 = $159 - $160; - HEAPF32[4418] = $161; - $162 = +HEAPF32[(17684)>>2]; - $163 = +HEAPF32[(17660)>>2]; + HEAPF32[4494] = $161; + $162 = +HEAPF32[(17988)>>2]; + $163 = +HEAPF32[(17964)>>2]; $164 = $162 - $163; - HEAPF32[(17676)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17656+4>>2]|0; + HEAPF32[(17980)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17960+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17664+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17968>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17968+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11856,31 +11899,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17656+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17960+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4554]; + $170 = +HEAPF32[4630]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4548] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17656+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17680+4>>2]|0; + HEAP32[4624] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17960+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17984>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17984+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4555] = $174; + HEAPF32[4631] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4554] = 0.0; - HEAPF32[4555] = 0.0; - HEAPF32[4418] = 0.0; - HEAPF32[(17676)>>2] = 0.0; - HEAP32[4549] = 0; - HEAP32[4548] = 0; + HEAPF32[4630] = 0.0; + HEAPF32[4631] = 0.0; + HEAPF32[4494] = 0.0; + HEAPF32[(17980)>>2] = 0.0; + HEAP32[4625] = 0; + HEAP32[4624] = 0; STACKTOP = sp;return; break; } @@ -11890,22 +11933,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4550]|0; + $6 = HEAP32[4626]|0; $7 = (($6) + 1)|0; - HEAP32[4550] = $7; - $8 = HEAP32[4548]|0; + HEAP32[4626] = $7; + $8 = HEAP32[4624]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4548] = 2; - HEAP32[4550] = 0; + HEAP32[4624] = 2; + HEAP32[4626] = 0; } else { label = 6; } @@ -11913,8 +11956,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4550] = 1; - HEAP32[4548] = 1; + HEAP32[4626] = 1; + HEAP32[4624] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11923,19 +11966,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17624; + $21 = 17928; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17632; + $25 = 17936; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17640; + $29 = 17944; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11944,13 +11987,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4412] = 0.0; - HEAPF32[(17652)>>2] = 0.0; + HEAPF32[4488] = 0.0; + HEAPF32[(17956)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4548]|0; + $35 = HEAP32[4624]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11960,19 +12003,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17640; + $44 = 17944; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17640>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17640+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17944+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4551] = $49; - HEAP32[4552] = 0; + HEAPF32[4627] = $49; + HEAP32[4628] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -11980,11 +12023,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17640>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17640+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17944+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4553] = $56; + HEAPF32[4629] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12015,22 +12058,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4551] = 0.0; - HEAPF32[4553] = 0.0; + HEAPF32[4627] = 0.0; + HEAPF32[4629] = 0.0; $$sink10 = 0; } - HEAP32[4548] = $$sink10; - HEAPF32[4408] = 0.0; - HEAPF32[(17636)>>2] = 0.0; - HEAP32[4549] = 0; + HEAP32[4624] = $$sink10; + HEAPF32[4484] = 0.0; + HEAPF32[(17940)>>2] = 0.0; + HEAP32[4625] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4552]|0; + $65 = HEAP32[4628]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4552] = 1; + HEAP32[4628] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12039,31 +12082,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17656; + $74 = 17960; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4548]|0; + $78 = HEAP32[4624]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17624>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17624+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17656>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17656+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17960>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17960+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4548] = 8; + HEAP32[4624] = 8; } } - $82 = +HEAPF32[4414]; - $83 = +HEAPF32[4408]; + $82 = +HEAPF32[4490]; + $83 = +HEAPF32[4484]; $84 = $82 - $83; - HEAPF32[4412] = $84; - $85 = +HEAPF32[(17660)>>2]; - $86 = +HEAPF32[(17636)>>2]; + HEAPF32[4488] = $84; + $85 = +HEAPF32[(17964)>>2]; + $86 = +HEAPF32[(17940)>>2]; $87 = $85 - $86; - HEAPF32[(17652)>>2] = $87; + HEAPF32[(17956)>>2] = $87; STACKTOP = sp;return; break; } @@ -12072,58 +12115,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4548]|0; + $0 = HEAP32[4624]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4549]|0; + $2 = HEAP32[4625]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4548] = 4; + HEAP32[4624] = 4; } - $4 = HEAP32[4548]|0; + $4 = HEAP32[4624]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12136,14 +12140,14 @@ function _UpdateGestures() { return; } } - HEAP32[4548] = 0; + HEAP32[4624] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 17688; + $1 = 17992; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12160,13 +12164,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4558]|0; + $0 = HEAP32[4634]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4557]|0; + $0 = HEAP32[4633]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12178,7 +12182,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4547,$vararg_buffer); - HEAP32[4560] = $2; + HEAP32[4636] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -12191,15 +12195,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4576|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4558]|0; + $3 = HEAP32[4634]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4422] = $5; - $6 = HEAP32[4557]|0; + HEAPF32[4498] = $5; + $6 = HEAP32[4633]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17692)>>2] = $8; - $9 = HEAP32[4561]|0; + HEAPF32[(17996)>>2] = $8; + $9 = HEAP32[4637]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12218,11 +12222,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17728>>0]=HEAP8[9076>>0]|0;HEAP8[17728+1>>0]=HEAP8[9076+1>>0]|0;HEAP8[17728+2>>0]=HEAP8[9076+2>>0]|0;HEAP8[17728+3>>0]=HEAP8[9076+3>>0]|0;HEAP8[17728+4>>0]=HEAP8[9076+4>>0]|0;HEAP8[17728+5>>0]=HEAP8[9076+5>>0]|0;HEAP8[17728+6>>0]=HEAP8[9076+6>>0]|0; + ;HEAP8[18032>>0]=HEAP8[9076>>0]|0;HEAP8[18032+1>>0]=HEAP8[9076+1>>0]|0;HEAP8[18032+2>>0]=HEAP8[9076+2>>0]|0;HEAP8[18032+3>>0]=HEAP8[9076+3>>0]|0;HEAP8[18032+4>>0]=HEAP8[9076+4>>0]|0;HEAP8[18032+5>>0]=HEAP8[9076+5>>0]|0;HEAP8[18032+6>>0]=HEAP8[9076+6>>0]|0; break; } case 1: { - $3 = 17728; + $3 = 18032; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12231,11 +12235,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17728; src=9083; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18032; src=9083; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17728; + $7 = 18032; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12246,16 +12250,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17728,$1)|0); - $strlen = (_strlen(17728)|0); - $endptr = (17728 + ($strlen)|0); + (_strcat(18032,$1)|0); + $strlen = (_strlen(18032)|0); + $endptr = (18032 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17728,$2)|0); + (_vprintf(18032,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12287,22 +12291,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4558] = $0; - HEAP32[4557] = $1; + HEAP32[4634] = $0; + HEAP32[4633] = $1; _MatrixIdentity($2); - dest=18320; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5218,$vararg_buffer); } - $6 = HEAP32[4558]|0; - HEAP32[4596] = $6; - $7 = HEAP32[4557]|0; - HEAP32[4597] = $7; + $6 = HEAP32[4634]|0; + HEAP32[4672] = $6; + $7 = HEAP32[4633]|0; + HEAP32[4673] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21064]|0; + $8 = HEAP8[21368]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12310,13 +12314,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21064]|0; + $11 = HEAP8[21368]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21064]|0; + $14 = HEAP8[21368]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12338,18 +12342,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4598]|0; + $21 = HEAP32[4674]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4558]|0; - $48 = HEAP32[4557]|0; - $49 = HEAP32[4560]|0; + $47 = HEAP32[4634]|0; + $48 = HEAP32[4633]|0; + $49 = HEAP32[4636]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4556] = $50; - $51 = HEAP32[4558]|0; - HEAP32[4599] = $51; - $52 = HEAP32[4557]|0; - HEAP32[4600] = $52; + HEAP32[4632] = $50; + $51 = HEAP32[4634]|0; + HEAP32[4675] = $51; + $52 = HEAP32[4633]|0; + HEAP32[4676] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12358,9 +12362,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4558]|0; + $27 = HEAP32[4634]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4557]|0; + $29 = HEAP32[4633]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12382,25 +12386,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4596] = $31; - HEAP32[4597] = $34; + HEAP32[4672] = $31; + HEAP32[4673] = $34; } } while(0); - $38 = HEAP32[4596]|0; - $39 = HEAP32[4597]|0; + $38 = HEAP32[4672]|0; + $39 = HEAP32[4673]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5269,$vararg_buffer3); - $40 = HEAP32[4596]|0; - $41 = HEAP32[4597]|0; + $40 = HEAP32[4672]|0; + $41 = HEAP32[4673]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4596]|0; - $43 = HEAP32[4597]|0; - $44 = HEAP32[4560]|0; + $42 = HEAP32[4672]|0; + $43 = HEAP32[4673]|0; + $44 = HEAP32[4636]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4556] = $46; + HEAP32[4632] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12409,60 +12413,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5307,$vararg_buffer6); } else { _TraceLog(0,5340,$vararg_buffer8); - $55 = HEAP32[4599]|0; - $56 = HEAP32[4600]|0; + $55 = HEAP32[4675]|0; + $56 = HEAP32[4676]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5380,$vararg_buffer10); - $57 = HEAP32[4558]|0; - $58 = HEAP32[4557]|0; + $57 = HEAP32[4634]|0; + $58 = HEAP32[4633]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5401,$vararg_buffer14); - $59 = HEAP32[4601]|0; - $60 = HEAP32[4602]|0; + $59 = HEAP32[4677]|0; + $60 = HEAP32[4678]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5422,$vararg_buffer18); } - $61 = HEAP32[4556]|0; + $61 = HEAP32[4632]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4556]|0; + $62 = HEAP32[4632]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4556]|0; + $63 = HEAP32[4632]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4556]|0; + $64 = HEAP32[4632]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4556]|0; + $65 = HEAP32[4632]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4556]|0; + $66 = HEAP32[4632]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4556]|0; + $67 = HEAP32[4632]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4556]|0; + $68 = HEAP32[4632]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4556]|0; + $69 = HEAP32[4632]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21064]|0; + $70 = HEAP8[21368]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4558]|0; - $74 = HEAP32[4557]|0; + $73 = HEAP32[4634]|0; + $74 = HEAP32[4633]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4599]|0; - $76 = HEAP32[4601]|0; + $75 = HEAP32[4675]|0; + $76 = HEAP32[4677]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4600]|0; - $80 = HEAP32[4602]|0; + $79 = HEAP32[4676]|0; + $80 = HEAP32[4678]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12481,18 +12485,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5447,$vararg_buffer22); - $73 = HEAP32[4558]|0; - $74 = HEAP32[4557]|0; + $73 = HEAP32[4634]|0; + $74 = HEAP32[4633]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4599]|0; - $76 = HEAP32[4601]|0; + $75 = HEAP32[4675]|0; + $76 = HEAP32[4677]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4600]|0; - $80 = HEAP32[4602]|0; + $79 = HEAP32[4676]|0; + $80 = HEAP32[4678]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12520,7 +12524,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18288)>>2] = 224; + HEAP32[(18592)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12561,27 +12565,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18264>>2]=HEAP32[$1>>2]|0;HEAP32[18264+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18264+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18264+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18264+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18568>>2]=HEAP32[$1>>2]|0;HEAP32[18568+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18568+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18568+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18568+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18288)>>2]|0; + $5 = HEAP32[(18592)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18292)>>2] = $7; + HEAP32[(18596)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18284)>>2] = $23; - $24 = HEAP32[4566]|0; + HEAP32[(18588)>>2] = $23; + $24 = HEAP32[4642]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4771,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18268)>>2]|0; - $10 = HEAP32[(18288)>>2]|0; - $11 = HEAP32[(18292)>>2]|0; + $9 = HEAP32[(18572)>>2]|0; + $10 = HEAP32[(18592)>>2]|0; + $11 = HEAP32[(18596)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12630,8 +12634,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18284)>>2] = $23; - $24 = HEAP32[4566]|0; + HEAP32[(18588)>>2] = $23; + $24 = HEAP32[4642]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4771,$vararg_buffer); STACKTOP = sp;return; @@ -12642,7 +12646,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2215] = $1; + HEAPF64[2253] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12801,7 +12805,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17704; + $31 = 18008; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12814,7 +12818,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17712); + $42 = (18016); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12870,7 +12874,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18248 + ($10<<2)|0); + $11 = (18552 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12884,7 +12888,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2212] = $$; + HEAPF64[2250] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12896,7 +12900,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4561] = 0; + HEAP32[4637] = 0; return; } function _GetTime() { @@ -13472,7 +13476,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4574]|0; + $6 = HEAP32[4650]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13482,7 +13486,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4575]|0; + $9 = HEAP32[4651]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13491,7 +13495,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4576]|0; + $12 = HEAP32[4652]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13501,7 +13505,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4577]|0; + $15 = HEAP32[4653]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13511,7 +13515,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4578]|0; + $18 = HEAP32[4654]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13555,7 +13559,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4574]|0; + $22 = HEAP32[4650]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13563,7 +13567,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4574]|0; + $24 = HEAP32[4650]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13571,7 +13575,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4574]|0; + $26 = HEAP32[4650]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13579,7 +13583,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4574]|0; + $28 = HEAP32[4650]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13587,7 +13591,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4575]|0; + $30 = HEAP32[4651]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13595,7 +13599,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4576]|0; + $32 = HEAP32[4652]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13603,7 +13607,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4576]|0; + $34 = HEAP32[4652]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13611,7 +13615,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4577]|0; + $36 = HEAP32[4653]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13619,7 +13623,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4577]|0; + $38 = HEAP32[4653]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13627,7 +13631,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4578]|0; + $40 = HEAP32[4654]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13635,7 +13639,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4578]|0; + $42 = HEAP32[4654]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13647,7 +13651,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4579]|0; + $44 = HEAP32[4655]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13662,7 +13666,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11465,$vararg_buffer15); + _TraceLog(2,11773,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13993,20 +13997,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4558]|0; + $3 = HEAP32[4634]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4557]|0; + $5 = HEAP32[4633]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4599] = $3; - HEAP32[4600] = $5; - HEAP32[4601] = 0; - HEAP32[4602] = 0; + HEAP32[4675] = $3; + HEAP32[4676] = $5; + HEAP32[4677] = 0; + HEAP32[4678] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14020,9 +14024,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4558]|0; + $35 = HEAP32[4634]|0; $36 = (+($35|0)); - $37 = HEAP32[4557]|0; + $37 = HEAP32[4633]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14030,26 +14034,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4599] = $45; - HEAP32[4600] = $37; + HEAP32[4675] = $45; + HEAP32[4676] = $37; $46 = (($45) - ($35))|0; - HEAP32[4601] = $46; + HEAP32[4677] = $46; $$sink1 = 0; } else { - HEAP32[4599] = $35; + HEAP32[4675] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4600] = $42; - HEAP32[4601] = 0; + HEAP32[4676] = $42; + HEAP32[4677] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4602] = $$sink1; + HEAP32[4678] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4557]|0; + $7 = HEAP32[4633]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14059,11 +14063,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8829,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4558]|0; + $9 = HEAP32[4634]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4557]|0; + $13 = HEAP32[4633]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14071,33 +14075,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4599] = $23; - HEAP32[4600] = $1; + HEAP32[4675] = $23; + HEAP32[4676] = $1; $24 = (($0) - ($23))|0; - HEAP32[4601] = $24; + HEAP32[4677] = $24; $$sink = 0; } else { - HEAP32[4599] = $0; - $17 = HEAP32[4557]|0; + HEAP32[4675] = $0; + $17 = HEAP32[4633]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4600] = $20; - HEAP32[4601] = 0; + HEAP32[4676] = $20; + HEAP32[4677] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4602] = $$sink; - $25 = HEAP32[4599]|0; + HEAP32[4678] = $$sink; + $25 = HEAP32[4675]|0; $26 = (+($25|0)); - $27 = HEAP32[4558]|0; + $27 = HEAP32[4634]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18320; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4599] = $0; - HEAP32[4600] = $1; + dest=18624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4675] = $0; + HEAP32[4676] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14119,10 +14123,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4558] = $1; - HEAP32[4557] = $2; - HEAP32[4599] = $1; - HEAP32[4600] = $2; + HEAP32[4634] = $1; + HEAP32[4633] = $2; + HEAP32[4675] = $1; + HEAP32[4676] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14149,7 +14153,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21071 + ($1)|0); + $9 = (21375 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -14170,7 +14174,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21065 + ($1)|0); + $7 = (21369 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14249,7 +14253,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17704; + $15 = 18008; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14284,7 +14288,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4972] = $3; + HEAP32[5048] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14294,7 +14298,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4971] = $$sink; + HEAP32[5047] = $$sink; return; } function _rlglInit($0,$1) { @@ -14375,18 +14379,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5579)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4637] = 1; + HEAP32[4713] = 1; $27 = (_eglGetProcAddress((5606|0))|0); - HEAP32[4638] = $27; + HEAP32[4714] = $27; $28 = (_eglGetProcAddress((5627|0))|0); - HEAP32[4639] = $28; + HEAP32[4715] = $28; $29 = (_eglGetProcAddress((5648|0))|0); - HEAP32[4640] = $29; + HEAP32[4716] = $29; } $30 = (_strcmp($24,5672)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4579] = 1; + HEAP32[4655] = 1; } $32 = (_strcmp($24,5692)|0); $33 = ($32|0)==(0); @@ -14408,7 +14412,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4574] = 1; + HEAP32[4650] = 1; } $39 = (_strcmp($24,5797)|0); $40 = ($39|0)==(0); @@ -14424,35 +14428,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4575] = 1; + HEAP32[4651] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5866)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4576] = 1; + HEAP32[4652] = 1; } $47 = (_strcmp($44,5891)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4577] = 1; + HEAP32[4653] = 1; } $49 = (_strcmp($44,5924)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4578] = 1; + HEAP32[4654] = 1; } $51 = (_strcmp($44,5960)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4641] = 1; - _glGetFloatv(34047,(18568|0)); + HEAP32[4717] = 1; + _glGetFloatv(34047,(18872|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5994)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4643] = 1; + HEAP32[4719] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14463,61 +14467,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4637]|0; + $21 = HEAP32[4713]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6097,$vararg_buffer15); } else { _TraceLog(0,6022,$vararg_buffer13); } - $57 = HEAP32[4579]|0; + $57 = HEAP32[4655]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6233,$vararg_buffer19); } else { _TraceLog(0,6158,$vararg_buffer17); } - $59 = HEAP32[4574]|0; + $59 = HEAP32[4650]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6325,$vararg_buffer21); } - $61 = HEAP32[4575]|0; + $61 = HEAP32[4651]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6371,$vararg_buffer23); } - $63 = HEAP32[4576]|0; + $63 = HEAP32[4652]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6418,$vararg_buffer25); } - $65 = HEAP32[4577]|0; + $65 = HEAP32[4653]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6469,$vararg_buffer27); } - $67 = HEAP32[4578]|0; + $67 = HEAP32[4654]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6516,$vararg_buffer29); } - $69 = HEAP32[4641]|0; + $69 = HEAP32[4717]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4642]; + $71 = +HEAPF32[4718]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6563,$vararg_buffer31); } - $73 = HEAP32[4643]|0; + $73 = HEAP32[4719]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6629,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4644] = $75; + HEAP32[4720] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6733,$vararg_buffer39); @@ -14526,14 +14530,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6682,$vararg_buffer36); } _LoadDefaultShader($2); - dest=18580; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18636; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18884; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18940; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4673] = $77; + HEAP32[4749] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4673]|0; + $79 = HEAP32[4749]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14546,7 +14550,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4674] = $78; + HEAP32[4750] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14561,48 +14565,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4675] = 1; - $85 = HEAP32[4644]|0; + HEAP32[4751] = 1; + $85 = HEAP32[4720]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4676] = 4; + HEAP32[4752] = 4; _MatrixIdentity($4); - dest=18708; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19012; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18772); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19076); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18836); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19140); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18900); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19204); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18964); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19268); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19028); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19332); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19092); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19156); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19220); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19284); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19348); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19652); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19412); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19716); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19476); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19780); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19540); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19844); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19604); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19908); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19668); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19972); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=18416; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18720; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=18480; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4603] = 18480; + dest=18784; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4679] = 18784; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14613,21 +14617,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4933] = $0; - HEAP32[4934] = $1; + HEAP32[5009] = $0; + HEAP32[5010] = $1; _TraceLog(0,6772,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4601]|0; + $0 = HEAP32[4677]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4602]|0; + $2 = HEAP32[4678]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4599]|0; + $4 = HEAP32[4675]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4600]|0; + $6 = HEAP32[4676]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14638,12 +14642,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 18416; + $modelview$sink = 18720; label = 3; break; } case 5888: { - $modelview$sink = 18480; + $modelview$sink = 18784; label = 3; break; } @@ -14651,9 +14655,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4603] = $modelview$sink; + HEAP32[4679] = $modelview$sink; } - HEAP32[4636] = $0; + HEAP32[4712] = $0; return; } function _rlLoadIdentity() { @@ -14661,7 +14665,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4603]|0; + $1 = HEAP32[4679]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14682,7 +14686,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4603]|0; + $8 = HEAP32[4679]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14779,15 +14783,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(19752)>>2] = $0; + HEAP32[(20056)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(19760)>>2] = $1; - HEAP32[(19756)>>2] = 0; - HEAP32[(19764)>>2] = 0; + HEAP32[(20064)>>2] = $1; + HEAP32[(20060)>>2] = 0; + HEAP32[(20068)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(19760)>>2]|0; + $2 = HEAP32[(20064)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14798,19 +14802,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4935] = 0; - HEAP32[(19748)>>2] = 0; - HEAP32[(19744)>>2] = 0; + HEAP32[5011] = 0; + HEAP32[(20052)>>2] = 0; + HEAP32[(20048)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(19800)>>2] = $5; + HEAP32[(20104)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(19808)>>2] = $6; - HEAP32[(19804)>>2] = 0; - HEAP32[(19812)>>2] = 0; + HEAP32[(20112)>>2] = $6; + HEAP32[(20108)>>2] = 0; + HEAP32[(20116)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(19808)>>2]|0; + $7 = HEAP32[(20112)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14821,24 +14825,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4947] = 0; - HEAP32[(19796)>>2] = 0; - HEAP32[(19792)>>2] = 0; + HEAP32[5023] = 0; + HEAP32[(20100)>>2] = 0; + HEAP32[(20096)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(19848)>>2] = $10; + HEAP32[(20152)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(19852)>>2] = $11; + HEAP32[(20156)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(19856)>>2] = $12; + HEAP32[(20160)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(19860)>>2] = $13; - $14 = HEAP32[(19848)>>2]|0; + HEAP32[(20164)>>2] = $13; + $14 = HEAP32[(20152)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(19852)>>2]|0; + $15 = HEAP32[(20156)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(19856)>>2]|0; + $17 = HEAP32[(20160)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14849,7 +14853,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(19860)>>2]|0; + $16 = HEAP32[(20164)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14886,140 +14890,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4959] = 0; - HEAP32[(19840)>>2] = 0; - HEAP32[(19844)>>2] = 0; + HEAP32[5035] = 0; + HEAP32[(20144)>>2] = 0; + HEAP32[(20148)>>2] = 0; _TraceLog(0,6819,$vararg_buffer); - $20 = HEAP32[4637]|0; + $20 = HEAP32[4713]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4638]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(19768)); - $44 = HEAP32[4639]|0; - $45 = HEAP32[(19768)>>2]|0; + $43 = HEAP32[4714]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20072)); + $44 = HEAP32[4715]|0; + $45 = HEAP32[(20072)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((19772)|0)); - $46 = HEAP32[(19772)>>2]|0; + _glGenBuffers(2,((20076)|0)); + $46 = HEAP32[(20076)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(19752)>>2]|0; + $47 = HEAP32[(20056)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18640)>>2]|0; + $48 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18640)>>2]|0; + $49 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((19776)|0)); - $50 = HEAP32[(19776)>>2]|0; + _glGenBuffers(2,((20080)|0)); + $50 = HEAP32[(20080)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(19760)>>2]|0; + $51 = HEAP32[(20064)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18660)>>2]|0; + $52 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18660)>>2]|0; + $53 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4637]|0; + $54 = HEAP32[4713]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(19772)>>2]|0; - $58 = HEAP32[(19776)>>2]|0; + $57 = HEAP32[(20076)>>2]|0; + $58 = HEAP32[(20080)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6957,$vararg_buffer3); } else { - $56 = HEAP32[(19768)>>2]|0; + $56 = HEAP32[(20072)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6892,$vararg_buffer1); } - $59 = HEAP32[4637]|0; + $59 = HEAP32[4713]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4638]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(19816)); - $62 = HEAP32[4639]|0; - $63 = HEAP32[(19816)>>2]|0; + $61 = HEAP32[4714]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20120)); + $62 = HEAP32[4715]|0; + $63 = HEAP32[(20120)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((19820)|0)); - $64 = HEAP32[(19820)>>2]|0; + _glGenBuffers(1,((20124)|0)); + $64 = HEAP32[(20124)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(19800)>>2]|0; + $65 = HEAP32[(20104)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18640)>>2]|0; + $66 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18640)>>2]|0; + $67 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19824)|0)); - $68 = HEAP32[(19824)>>2]|0; + _glGenBuffers(1,((20128)|0)); + $68 = HEAP32[(20128)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(19808)>>2]|0; + $69 = HEAP32[(20112)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18660)>>2]|0; + $70 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18660)>>2]|0; + $71 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4637]|0; + $72 = HEAP32[4713]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(19820)>>2]|0; - $76 = HEAP32[(19824)>>2]|0; + $75 = HEAP32[(20124)>>2]|0; + $76 = HEAP32[(20128)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7103,$vararg_buffer10); } else { - $74 = HEAP32[(19816)>>2]|0; + $74 = HEAP32[(20120)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7034,$vararg_buffer7); } - $77 = HEAP32[4637]|0; + $77 = HEAP32[4713]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4638]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(19864)); - $80 = HEAP32[4639]|0; - $81 = HEAP32[(19864)>>2]|0; + $79 = HEAP32[4714]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20168)); + $80 = HEAP32[4715]|0; + $81 = HEAP32[(20168)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((19868)|0)); - $82 = HEAP32[(19868)>>2]|0; + _glGenBuffers(1,((20172)|0)); + $82 = HEAP32[(20172)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(19848)>>2]|0; + $83 = HEAP32[(20152)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18640)>>2]|0; + $84 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18640)>>2]|0; + $85 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((19872)|0)); - $86 = HEAP32[(19872)>>2]|0; + _glGenBuffers(1,((20176)|0)); + $86 = HEAP32[(20176)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(19852)>>2]|0; + $87 = HEAP32[(20156)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18644)>>2]|0; + $88 = HEAP32[(18948)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18644)>>2]|0; + $89 = HEAP32[(18948)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((19876)|0)); - $90 = HEAP32[(19876)>>2]|0; + _glGenBuffers(1,((20180)|0)); + $90 = HEAP32[(20180)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(19856)>>2]|0; + $91 = HEAP32[(20160)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18660)>>2]|0; + $92 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18660)>>2]|0; + $93 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((19880)|0)); - $94 = HEAP32[(19880)>>2]|0; + _glGenBuffers(1,((20184)|0)); + $94 = HEAP32[(20184)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(19860)>>2]|0; + $95 = HEAP32[(20164)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4637]|0; + $96 = HEAP32[4713]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(19868)>>2]|0; - $100 = HEAP32[(19872)>>2]|0; - $101 = HEAP32[(19876)>>2]|0; - $102 = HEAP32[(19880)>>2]|0; + $99 = HEAP32[(20172)>>2]|0; + $100 = HEAP32[(20176)>>2]|0; + $101 = HEAP32[(20180)>>2]|0; + $102 = HEAP32[(20184)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15029,16 +15033,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7249,$vararg_buffer17); } else { - $98 = HEAP32[(19864)>>2]|0; + $98 = HEAP32[(20168)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7184,$vararg_buffer14); } - $103 = HEAP32[4637]|0; + $103 = HEAP32[4713]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4639]|0; + $105 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15219,9 +15223,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21065 + ($0)|0); + $1 = (21369 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21068 + ($0)|0); + $3 = (21372 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15233,9 +15237,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21065 + ($0)|0); + $1 = (21369 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21068 + ($0)|0); + $3 = (21372 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15256,7 +15260,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4556]|0; + $0 = HEAP32[4632]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9093,$vararg_buffer); @@ -15267,9 +15271,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18264>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18264+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18264+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18264+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18264+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[18568>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18568+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18292)>>2]|0; + $0 = HEAP32[(18596)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15280,11 +15284,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18576|0)); - $0 = HEAP32[4644]|0; + _glDeleteTextures(1,(18880|0)); + $0 = HEAP32[4720]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9120,$vararg_buffer); - $1 = HEAP32[4674]|0; + $1 = HEAP32[4750]|0; _free($1); STACKTOP = sp;return; } @@ -15292,17 +15296,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4645]|0; + $0 = HEAP32[4721]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4637]|0; + $0 = HEAP32[4713]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4639]|0; + $2 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15311,39 +15315,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((19772)|0)); - _glDeleteBuffers(1,((19776)|0)); - _glDeleteBuffers(1,((19820)|0)); - _glDeleteBuffers(1,((19824)|0)); - _glDeleteBuffers(1,((19868)|0)); - _glDeleteBuffers(1,((19872)|0)); - _glDeleteBuffers(1,((19876)|0)); - _glDeleteBuffers(1,((19880)|0)); - $3 = HEAP32[4637]|0; + _glDeleteBuffers(1,((20076)|0)); + _glDeleteBuffers(1,((20080)|0)); + _glDeleteBuffers(1,((20124)|0)); + _glDeleteBuffers(1,((20128)|0)); + _glDeleteBuffers(1,((20172)|0)); + _glDeleteBuffers(1,((20176)|0)); + _glDeleteBuffers(1,((20180)|0)); + _glDeleteBuffers(1,((20184)|0)); + $3 = HEAP32[4713]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4640]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(19768)); - $6 = HEAP32[4640]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(19816)); - $7 = HEAP32[4640]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(19864)); - } - $8 = HEAP32[(19752)>>2]|0; + $5 = HEAP32[4716]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20072)); + $6 = HEAP32[4716]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20120)); + $7 = HEAP32[4716]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20168)); + } + $8 = HEAP32[(20056)>>2]|0; _free($8); - $9 = HEAP32[(19760)>>2]|0; + $9 = HEAP32[(20064)>>2]|0; _free($9); - $10 = HEAP32[(19800)>>2]|0; + $10 = HEAP32[(20104)>>2]|0; _free($10); - $11 = HEAP32[(19808)>>2]|0; + $11 = HEAP32[(20112)>>2]|0; _free($11); - $12 = HEAP32[(19848)>>2]|0; + $12 = HEAP32[(20152)>>2]|0; _free($12); - $13 = HEAP32[(19852)>>2]|0; + $13 = HEAP32[(20156)>>2]|0; _free($13); - $14 = HEAP32[(19856)>>2]|0; + $14 = HEAP32[(20160)>>2]|0; _free($14); - $15 = HEAP32[(19860)>>2]|0; + $15 = HEAP32[(20164)>>2]|0; _free($15); return; } @@ -15383,16 +15387,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2232] = $0; - $1 = +HEAPF64[2215]; + HEAPF64[2270] = $0; + $1 = +HEAPF64[2253]; $2 = $0 - $1; - HEAPF64[2233] = $2; - HEAPF64[2215] = $0; + HEAPF64[2271] = $2; + HEAPF64[2253] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18320; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=18624; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(19892); + _rlMultMatrixf(20196); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15401,53 +15405,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4973] = $1; + HEAP32[5049] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(19896)>>2] = $3; + HEAP32[(20200)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(19900)>>2] = $5; + HEAP32[(20204)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(19904)>>2] = $7; + HEAP32[(20208)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(19908)>>2] = $9; + HEAP32[(20212)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(19912)>>2] = $11; + HEAP32[(20216)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(19916)>>2] = $13; + HEAP32[(20220)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(19920)>>2] = $15; + HEAP32[(20224)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(19924)>>2] = $17; + HEAP32[(20228)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(19928)>>2] = $19; + HEAP32[(20232)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(19932)>>2] = $21; + HEAP32[(20236)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19936)>>2] = $23; + HEAP32[(20240)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(19940)>>2] = $25; + HEAP32[(20244)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(19944)>>2] = $27; + HEAP32[(20248)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(19948)>>2] = $29; + HEAP32[(20252)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(19952)>>2] = $31; - return (19892|0); + HEAP32[(20256)>>2] = $31; + return (20196|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15522,7 +15526,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4603]|0; + $49 = HEAP32[4679]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15536,15 +15540,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2232] = $0; - $1 = +HEAPF64[2215]; + HEAPF64[2270] = $0; + $1 = +HEAPF64[2253]; $2 = $0 - $1; - HEAPF64[2234] = $2; - HEAPF64[2215] = $0; - $3 = +HEAPF64[2233]; + HEAPF64[2272] = $2; + HEAPF64[2253] = $0; + $3 = +HEAPF64[2271]; $4 = $2 + $3; - HEAPF64[2235] = $4; - $5 = +HEAPF64[2212]; + HEAPF64[2273] = $4; + $5 = +HEAPF64[2250]; $6 = $4 < $5; if (!($6)) { return; @@ -15554,13 +15558,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2232] = $10; - $11 = +HEAPF64[2215]; + HEAPF64[2270] = $10; + $11 = +HEAPF64[2253]; $12 = $10 - $11; - HEAPF64[2215] = $10; - $13 = +HEAPF64[2235]; + HEAPF64[2253] = $10; + $13 = +HEAPF64[2273]; $14 = $12 + $13; - HEAPF64[2235] = $14; + HEAPF64[2273] = $14; return; } function _rlglDraw() { @@ -15573,7 +15577,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4556]|0; + $0 = HEAP32[4632]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15589,20 +15593,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[751] = -1; HEAP32[753] = -1; - HEAP32[4989] = 0; - $3 = HEAP32[4556]|0; + HEAP32[5065] = 0; + $3 = HEAP32[4632]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4422] = $5; + HEAPF32[4498] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17692)>>2] = $7; - _memcpy((21583|0),(21071|0),512)|0; - ;HEAP8[21068>>0]=HEAP8[21065>>0]|0;HEAP8[21068+1>>0]=HEAP8[21065+1>>0]|0;HEAP8[21068+2>>0]=HEAP8[21065+2>>0]|0; - $8 = HEAP32[4972]|0; - HEAP32[4559] = $8; - HEAP32[4972] = 0; + HEAPF32[(17996)>>2] = $7; + _memcpy((21887|0),(21375|0),512)|0; + ;HEAP8[21372>>0]=HEAP8[21369>>0]|0;HEAP8[21372+1>>0]=HEAP8[21369+1>>0]|0;HEAP8[21372+2>>0]=HEAP8[21369+2>>0]|0; + $8 = HEAP32[5048]|0; + HEAP32[4635] = $8; + HEAP32[5048] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15612,8 +15616,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22095 + ($$05160<<5)|0); - $scevgep67 = (22223 + ($$05160<<5)|0); + $scevgep = (22399 + ($$05160<<5)|0); + $scevgep67 = (22527 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15627,7 +15631,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22223 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((22527 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[753] = $$04857; @@ -15654,7 +15658,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((19960 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((20264 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15670,7 +15674,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4989] = $$lcssa; + HEAP32[5065] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15711,87 +15715,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4935]|0; + $0 = HEAP32[5011]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4637]|0; + $2 = HEAP32[4713]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4639]|0; - $5 = HEAP32[(19768)>>2]|0; + $4 = HEAP32[4715]|0; + $5 = HEAP32[(20072)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(19772)>>2]|0; + $6 = HEAP32[(20076)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4935]|0; + $7 = HEAP32[5011]|0; $8 = ($7*12)|0; - $9 = HEAP32[(19752)>>2]|0; + $9 = HEAP32[(20056)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(19776)>>2]|0; + $10 = HEAP32[(20080)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(19748)>>2]|0; + $11 = HEAP32[(20052)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(19760)>>2]|0; + $13 = HEAP32[(20064)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4947]|0; + $14 = HEAP32[5023]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4637]|0; + $16 = HEAP32[4713]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4639]|0; - $19 = HEAP32[(19816)>>2]|0; + $18 = HEAP32[4715]|0; + $19 = HEAP32[(20120)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(19820)>>2]|0; + $20 = HEAP32[(20124)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4947]|0; + $21 = HEAP32[5023]|0; $22 = ($21*12)|0; - $23 = HEAP32[(19800)>>2]|0; + $23 = HEAP32[(20104)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(19824)>>2]|0; + $24 = HEAP32[(20128)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(19796)>>2]|0; + $25 = HEAP32[(20100)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(19808)>>2]|0; + $27 = HEAP32[(20112)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4959]|0; + $28 = HEAP32[5035]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4637]|0; + $30 = HEAP32[4713]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4639]|0; - $33 = HEAP32[(19864)>>2]|0; + $32 = HEAP32[4715]|0; + $33 = HEAP32[(20168)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(19868)>>2]|0; + $34 = HEAP32[(20172)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4959]|0; + $35 = HEAP32[5035]|0; $36 = ($35*12)|0; - $37 = HEAP32[(19848)>>2]|0; + $37 = HEAP32[(20152)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(19872)>>2]|0; + $38 = HEAP32[(20176)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4959]|0; + $39 = HEAP32[5035]|0; $40 = $39 << 3; - $41 = HEAP32[(19852)>>2]|0; + $41 = HEAP32[(20156)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(19876)>>2]|0; + $42 = HEAP32[(20180)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4959]|0; + $43 = HEAP32[5035]|0; $44 = $43 << 2; - $45 = HEAP32[(19856)>>2]|0; + $45 = HEAP32[(20160)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4637]|0; + $46 = HEAP32[4713]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4639]|0; + $48 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15809,9 +15813,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=18416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=18480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5022]|0; + dest=$0; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5098]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15821,134 +15825,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4935]|0; + $8 = HEAP32[5011]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4947]|0; + $10 = HEAP32[5023]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4959]|0; + $12 = HEAP32[5035]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4659]|0; + $14 = HEAP32[4735]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=18416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18664)>>2]|0; + $15 = HEAP32[(18968)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18668)>>2]|0; + $17 = HEAP32[(18972)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18680)>>2]|0; + $18 = HEAP32[(18984)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4935]|0; + $19 = HEAP32[5011]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4644]|0; + $21 = HEAP32[4720]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4637]|0; + $22 = HEAP32[4713]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(19772)>>2]|0; + $26 = HEAP32[(20076)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18640)>>2]|0; + $27 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18640)>>2]|0; + $28 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(19776)>>2]|0; + $29 = HEAP32[(20080)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18660)>>2]|0; + $30 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18660)>>2]|0; + $31 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4639]|0; - $25 = HEAP32[(19768)>>2]|0; + $24 = HEAP32[4715]|0; + $25 = HEAP32[(20072)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4935]|0; + $32 = HEAP32[5011]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4637]|0; + $33 = HEAP32[4713]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4947]|0; + $35 = HEAP32[5023]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4644]|0; + $37 = HEAP32[4720]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4637]|0; + $38 = HEAP32[4713]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(19820)>>2]|0; + $42 = HEAP32[(20124)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18640)>>2]|0; + $43 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18640)>>2]|0; + $44 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(19824)>>2]|0; + $45 = HEAP32[(20128)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18660)>>2]|0; + $46 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18660)>>2]|0; + $47 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4639]|0; - $41 = HEAP32[(19816)>>2]|0; + $40 = HEAP32[4715]|0; + $41 = HEAP32[(20120)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4947]|0; + $48 = HEAP32[5023]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4637]|0; + $49 = HEAP32[4713]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4959]|0; + $51 = HEAP32[5035]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4637]|0; + $53 = HEAP32[4713]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(19868)>>2]|0; + $57 = HEAP32[(20172)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18640)>>2]|0; + $58 = HEAP32[(18944)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18640)>>2]|0; + $59 = HEAP32[(18944)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(19872)>>2]|0; + $60 = HEAP32[(20176)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18644)>>2]|0; + $61 = HEAP32[(18948)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18644)>>2]|0; + $62 = HEAP32[(18948)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(19876)>>2]|0; + $63 = HEAP32[(20180)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18660)>>2]|0; + $64 = HEAP32[(18964)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18660)>>2]|0; + $65 = HEAP32[(18964)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(19880)>>2]|0; + $66 = HEAP32[(20184)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4639]|0; - $56 = HEAP32[(19864)>>2]|0; + $55 = HEAP32[4715]|0; + $56 = HEAP32[(20168)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4675]|0; + $67 = HEAP32[4751]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4674]|0; + $71 = HEAP32[4750]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15959,14 +15963,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4674]|0; + $80 = HEAP32[4750]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4675]|0; + $87 = HEAP32[4751]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15975,7 +15979,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4637]|0; + $69 = HEAP32[4713]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15983,10 +15987,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4637]|0; + $89 = HEAP32[4713]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4639]|0; + $91 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15998,22 +16002,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4675] = 1; - $5 = HEAP32[4644]|0; - $6 = HEAP32[4674]|0; + HEAP32[4751] = 1; + $5 = HEAP32[4720]|0; + $6 = HEAP32[4750]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4935] = 0; - HEAP32[(19748)>>2] = 0; - HEAP32[4947] = 0; - HEAP32[(19796)>>2] = 0; - HEAP32[4959] = 0; - HEAP32[(19840)>>2] = 0; - HEAP32[(19844)>>2] = 0; + HEAP32[5011] = 0; + HEAP32[(20052)>>2] = 0; + HEAP32[5023] = 0; + HEAP32[(20100)>>2] = 0; + HEAP32[5035] = 0; + HEAP32[(20144)>>2] = 0; + HEAP32[(20148)>>2] = 0; HEAPF32[754] = -1.0; - dest=18416; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18480; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18784; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16028,17 +16032,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4933]|0; + $5 = HEAP32[5009]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4934]|0; + $9 = HEAP32[5010]|0; _rlViewport($7,0,$8,$9); - $10 = (20320 + ($0<<6)|0); + $10 = (20624 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20192 + ($0<<6)|0); + $11 = (20496 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16050,14 +16054,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18480; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18784; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18416; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -16074,9 +16078,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4558]|0; + $2 = HEAP32[4634]|0; $3 = (+($2|0)); - $4 = HEAP32[4557]|0; + $4 = HEAP32[4633]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16101,7 +16105,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(19892); + _rlMultMatrixf(20196); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16110,26 +16114,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5112]|0; + $0 = HEAP32[5188]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9235,$vararg_buffer); } - $2 = HEAP32[5112]|0; - $3 = (18708 + ($2<<6)|0); - $4 = HEAP32[4603]|0; + $2 = HEAP32[5188]|0; + $3 = (19012 + ($2<<6)|0); + $4 = HEAP32[4679]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5112]|0; + $5 = HEAP32[5188]|0; $6 = (($5) + 1)|0; - HEAP32[5112] = $6; - $7 = HEAP32[4636]|0; + HEAP32[5188] = $6; + $7 = HEAP32[4712]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5113] = 1; + HEAP32[5189] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -16148,7 +16152,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4603]|0; + $8 = HEAP32[4679]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -16175,18 +16179,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5112]|0; + $0 = HEAP32[5188]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5112]|0; + $2 = HEAP32[5188]|0; $3 = (($2) + -1)|0; - $4 = (18708 + ($3<<6)|0); - $5 = HEAP32[4603]|0; + $4 = (19012 + ($3<<6)|0); + $5 = HEAP32[4679]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5112] = $6; + HEAP32[5188] = $6; return; } function _rlDisableDepthTest() { @@ -16206,7 +16210,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2235]; + $0 = +HEAPF64[2273]; $1 = $0; return (+$1); } @@ -16240,7 +16244,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4603]|0; + $5 = HEAP32[4679]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16273,7 +16277,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4603]|0; + $11 = HEAP32[4679]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -16293,7 +16297,7 @@ function _rlScalef($0,$1,$2) { $4 = sp; _MatrixScale($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4603]|0; + $5 = HEAP32[4679]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -16304,7 +16308,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4676] = $0; + HEAP32[4752] = $0; return; } function _rlEnd() { @@ -16320,21 +16324,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5113]|0; + $0 = HEAP32[5189]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5114]|0; + $2 = HEAP32[5190]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4673]|0; + $6 = HEAP32[4749]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4603]|0; + $8 = HEAP32[4679]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5114]|0; + $5 = HEAP32[5190]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16342,12 +16346,12 @@ function _rlEnd() { break; } } - HEAP32[5113] = 0; + HEAP32[5189] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4673]|0; + $11 = HEAP32[4749]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16356,7 +16360,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5114]|0; + $19 = HEAP32[5190]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16366,15 +16370,15 @@ function _rlEnd() { } } } else { - HEAP32[5113] = 0; + HEAP32[5189] = 0; } - HEAP32[5114] = 0; + HEAP32[5190] = 0; } - $21 = HEAP32[4676]|0; + $21 = HEAP32[4752]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4935]|0; - $23 = HEAP32[(19748)>>2]|0; + $22 = HEAP32[5011]|0; + $23 = HEAP32[(20052)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[754]; @@ -16393,16 +16397,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(19760)>>2]|0; - $28 = HEAP32[(19748)>>2]|0; + $27 = HEAP32[(20064)>>2]|0; + $28 = HEAP32[(20052)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(19760)>>2]|0; - $35 = HEAP32[(19748)>>2]|0; + $34 = HEAP32[(20064)>>2]|0; + $35 = HEAP32[(20052)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16410,8 +16414,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(19760)>>2]|0; - $43 = HEAP32[(19748)>>2]|0; + $42 = HEAP32[(20064)>>2]|0; + $43 = HEAP32[(20052)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16419,8 +16423,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(19760)>>2]|0; - $51 = HEAP32[(19748)>>2]|0; + $50 = HEAP32[(20064)>>2]|0; + $51 = HEAP32[(20052)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16428,9 +16432,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(19748)>>2]|0; + $58 = HEAP32[(20052)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(19748)>>2] = $59; + HEAP32[(20052)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16446,8 +16450,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4947]|0; - $62 = HEAP32[(19796)>>2]|0; + $61 = HEAP32[5023]|0; + $62 = HEAP32[(20100)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[754]; @@ -16466,16 +16470,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(19808)>>2]|0; - $67 = HEAP32[(19796)>>2]|0; + $66 = HEAP32[(20112)>>2]|0; + $67 = HEAP32[(20100)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(19808)>>2]|0; - $74 = HEAP32[(19796)>>2]|0; + $73 = HEAP32[(20112)>>2]|0; + $74 = HEAP32[(20100)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16483,8 +16487,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(19808)>>2]|0; - $82 = HEAP32[(19796)>>2]|0; + $81 = HEAP32[(20112)>>2]|0; + $82 = HEAP32[(20100)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16492,8 +16496,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(19808)>>2]|0; - $90 = HEAP32[(19796)>>2]|0; + $89 = HEAP32[(20112)>>2]|0; + $90 = HEAP32[(20100)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16501,9 +16505,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(19796)>>2]|0; + $97 = HEAP32[(20100)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(19796)>>2] = $98; + HEAP32[(20100)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16519,8 +16523,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4959]|0; - $101 = HEAP32[(19844)>>2]|0; + $100 = HEAP32[5035]|0; + $101 = HEAP32[(20148)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16528,16 +16532,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(19856)>>2]|0; - $106 = HEAP32[(19844)>>2]|0; + $105 = HEAP32[(20160)>>2]|0; + $106 = HEAP32[(20148)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(19856)>>2]|0; - $113 = HEAP32[(19844)>>2]|0; + $112 = HEAP32[(20160)>>2]|0; + $113 = HEAP32[(20148)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16545,8 +16549,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(19856)>>2]|0; - $121 = HEAP32[(19844)>>2]|0; + $120 = HEAP32[(20160)>>2]|0; + $121 = HEAP32[(20148)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16554,8 +16558,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(19856)>>2]|0; - $129 = HEAP32[(19844)>>2]|0; + $128 = HEAP32[(20160)>>2]|0; + $129 = HEAP32[(20148)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16563,9 +16567,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(19844)>>2]|0; + $136 = HEAP32[(20148)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(19844)>>2] = $137; + HEAP32[(20148)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16576,8 +16580,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4959]|0; - $140 = HEAP32[(19840)>>2]|0; + $139 = HEAP32[5035]|0; + $140 = HEAP32[(20144)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[754]; @@ -16585,8 +16589,8 @@ function _rlEnd() { HEAPF32[754] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(19852)>>2]|0; - $$promoted = HEAP32[(19840)>>2]|0; + $142 = HEAP32[(20156)>>2]|0; + $$promoted = HEAP32[(20144)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16594,7 +16598,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(19840)>>2] = $147; + HEAP32[(20144)>>2] = $147; $148 = +HEAPF32[754]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[754] = $149; @@ -16621,11 +16625,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5113]|0; + $3 = HEAP32[5189]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4673]|0; - $6 = HEAP32[5114]|0; + $5 = HEAP32[4749]|0; + $6 = HEAP32[5190]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16633,16 +16637,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5114] = $10; + HEAP32[5190] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4676]|0; + $11 = HEAP32[4752]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4935]|0; + $12 = HEAP32[5011]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(19752)>>2]|0; + $14 = HEAP32[(20056)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16653,7 +16657,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4935] = $21; + HEAP32[5011] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9273,$vararg_buffer); @@ -16662,10 +16666,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4947]|0; + $22 = HEAP32[5023]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(19800)>>2]|0; + $24 = HEAP32[(20104)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16676,7 +16680,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4947] = $31; + HEAP32[5023] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9298,$vararg_buffer1); @@ -16685,10 +16689,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4959]|0; + $32 = HEAP32[5035]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(19848)>>2]|0; + $34 = HEAP32[(20152)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16699,9 +16703,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4959] = $41; - $42 = HEAP32[4674]|0; - $43 = HEAP32[4675]|0; + HEAP32[5035] = $41; + $42 = HEAP32[4750]|0; + $43 = HEAP32[4751]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16733,13 +16737,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4676]|0; + $2 = HEAP32[4752]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(19852)>>2]|0; - $5 = HEAP32[(19840)>>2]|0; + $4 = HEAP32[(20156)>>2]|0; + $5 = HEAP32[(20144)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16747,7 +16751,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(19840)>>2] = $10; + HEAP32[(20144)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16766,18 +16770,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4676]|0; + $4 = HEAP32[4752]|0; switch ($4|0) { case 1: { - $$sink37 = (19748);$$sink38 = (19760); + $$sink37 = (20052);$$sink38 = (20064); break; } case 4: { - $$sink37 = (19796);$$sink38 = (19808); + $$sink37 = (20100);$$sink38 = (20112); break; } case 7: { - $$sink37 = (19844);$$sink38 = (19856); + $$sink37 = (20148);$$sink38 = (20160); break; } default: { @@ -16831,8 +16835,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4674]|0; - $2 = HEAP32[4675]|0; + $1 = HEAP32[4750]|0; + $2 = HEAP32[4751]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16845,9 +16849,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4675] = $10; + HEAP32[4751] = $10; } - $11 = HEAP32[4675]|0; + $11 = HEAP32[4751]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16858,7 +16862,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4959]|0; + $0 = HEAP32[5035]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16874,14 +16878,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4637]|0; + $2 = HEAP32[4713]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4640]|0; + $5 = HEAP32[4716]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -16902,7 +16906,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4637]|0; + $3 = HEAP32[4713]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -16940,12 +16944,12 @@ function _rlglLoadMesh($0,$1) { ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; HEAP32[$2>>2] = 0; ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4637]|0; + $13 = HEAP32[4713]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4638]|0; + $15 = HEAP32[4714]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4639]|0; + $16 = HEAP32[4715]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17075,7 +17079,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4637]|0; + $82 = HEAP32[4713]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9549,$vararg_buffer3); @@ -17180,13 +17184,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=18480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=18416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$4; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=18480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4645]|0; + $65 = HEAP32[4721]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9597|0))|0); @@ -17262,7 +17266,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4637]|0; + $107 = HEAP32[4713]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -17342,16 +17346,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(19880)>>2]|0; + $153 = HEAP32[(20184)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4639]|0; + $109 = HEAP32[4715]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5022]|0; + $154 = HEAP32[5098]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -17365,10 +17369,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=18480; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18784; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } - dest=$modelview$byval_copy4; src=18480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=18416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy4; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -17405,14 +17409,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4637]|0; + $172 = HEAP32[4713]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4639]|0; + $174 = HEAP32[4715]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=18416; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18480; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18720; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18784; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -17421,14 +17425,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=18416; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18480; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18720; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18784; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=18416; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18480; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18720; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18784; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -17508,7 +17512,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4644]|0; + $1 = HEAP32[4720]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17524,43 +17528,14 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=18580; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=18884; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9650); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10983)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5115] = $0; + HEAP32[5191] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17624,7 +17599,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9662|0),(9688|0),1125,(9711|0)); + ___assert_fail((9650|0),(9676|0),1041,(9699|0)); // unreachable; } } @@ -17642,7 +17617,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5116]|0; + $15 = HEAP32[5192]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17735,7 +17710,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9752); + _stbi__err(9740); $$0 = 0; return ($$0|0); } else { @@ -17757,7 +17732,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9743); + _stbi__err(9731); $$0 = 0; return ($$0|0); } @@ -17827,7 +17802,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9771); + _stbi__err(9759); $$045 = 0; return ($$045|0); } @@ -18388,7 +18363,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10087 + ($120)|0); + $121 = (10075 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18430,97 +18405,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9861); + _stbi__err(9849); $$6$ph = 0; break; } case 9: { - _stbi__err(9875); + _stbi__err(9863); $$6$ph = 0; break; } case 11: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 13: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 15: { - _stbi__err(9898); + _stbi__err(9886); $$6$ph = 0; break; } case 17: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } case 20: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } case 22: { - _stbi__err(9918); + _stbi__err(9906); $$6$ph = 0; break; } case 24: { - _stbi__err(9928); + _stbi__err(9916); $$6$ph = 0; break; } case 26: { - _stbi__err(9944); + _stbi__err(9932); $$6$ph = 0; break; } case 28: { - _stbi__err(9962); + _stbi__err(9950); $$6$ph = 0; break; } case 31: { - _stbi__err(9983); + _stbi__err(9971); $$6$ph = 0; break; } case 34: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 37: { - _stbi__err(9888); + _stbi__err(9876); $$6$ph = 0; break; } case 39: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 41: { - _stbi__err(10012); + _stbi__err(10000); $$6$ph = 0; break; } case 44: { - _stbi__err(10012); + _stbi__err(10000); $$6$ph = 0; break; } case 47: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 49: { - _stbi__err(10025); + _stbi__err(10013); $$6$ph = 0; break; } @@ -18531,32 +18506,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10041); + _stbi__err(10029); $$6$ph = 0; break; } case 58: { - _stbi__err(10058); + _stbi__err(10046); $$6$ph = 0; break; } case 61: { - _stbi__err(10071); + _stbi__err(10059); $$6$ph = 0; break; } case 63: { - _stbi__err(10058); + _stbi__err(10046); $$6$ph = 0; break; } case 70: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 72: { - _stbi__err(10096); + _stbi__err(10084); $$6$ph = 0; break; } @@ -18568,12 +18543,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9743); + _stbi__err(9731); $$6$ph = 0; break; } case 83: { - _stbi__err(10104); + _stbi__err(10092); $$6$ph = 0; break; } @@ -18586,7 +18561,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10114); + _stbi__err(10102); $$4 = 0; break; } @@ -18651,7 +18626,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5117]|0; + $193 = HEAP32[5193]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18684,7 +18659,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9997); + _stbi__err(9985); $$4 = 0; } } while(0); @@ -18692,24 +18667,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9997); + _stbi__err(9985); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10122] = $206; + HEAP8[10110] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10123)>>0] = $209; + HEAP8[(10111)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10124)>>0] = $211; + HEAP8[(10112)>>0] = $211; $212 = $207&255; - HEAP8[(10125)>>0] = $212; - _stbi__err(10122); + HEAP8[(10113)>>0] = $212; + _stbi__err(10110); $$6$ph = 0; break; } @@ -18743,14 +18718,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9784|0),(9688|0),1561,(9840|0)); + ___assert_fail((9772|0),(9676|0),1477,(9828|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9743); + _stbi__err(9731); $$0163 = 0; return ($$0163|0); } @@ -19113,7 +19088,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9838|0),(9688|0),1590,(9840|0)); + ___assert_fail((9826|0),(9676|0),1506,(9828|0)); // unreachable; } } while(0); @@ -19147,7 +19122,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9784|0),(9688|0),1610,(9815|0)); + ___assert_fail((9772|0),(9676|0),1526,(9803|0)); // unreachable; } $7 = $2 << 1; @@ -19157,7 +19132,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9743); + _stbi__err(9731); $$0163 = 0; return ($$0163|0); } @@ -19520,7 +19495,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9838|0),(9688|0),1639,(9815|0)); + ___assert_fail((9826|0),(9676|0),1555,(9803|0)); // unreachable; } } while(0); @@ -19668,7 +19643,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10779); + _stbi__err(11087); $$05 = 0; return ($$05|0); } @@ -20105,7 +20080,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10181|0),(9688|0),4568,(10233|0)); + ___assert_fail((10169|0),(9676|0),4569,(10221|0)); // unreachable; } } @@ -20192,7 +20167,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10181|0),(9688|0),4543,(10206|0)); + ___assert_fail((10169|0),(9676|0),4544,(10194|0)); // unreachable; } } @@ -20239,7 +20214,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5118]|0; + $16 = HEAP32[5194]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20314,7 +20289,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10147|0),(9688|0),4649,(10165|0)); + ___assert_fail((10135|0),(9676|0),4650,(10153|0)); // unreachable; } } @@ -20337,7 +20312,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9743); + _stbi__err(9731); $$0 = 0; return ($$0|0); } @@ -20514,7 +20489,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10262|0),(9688|0),4294,(10303|0)); + ___assert_fail((10250|0),(9676|0),4294,(10291|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20522,7 +20497,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9743); + _stbi__err(9731); $$2 = 0; return ($$2|0); } @@ -20541,7 +20516,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10330); + _stbi__err(10318); $$2 = 0; return ($$2|0); } @@ -20554,7 +20529,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10330); + _stbi__err(10318); $$2 = 0; return ($$2|0); } @@ -20562,12 +20537,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20590,33 +20565,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10369 + ($56)|0); + $60 = (10357 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20626,24 +20601,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20653,10 +20628,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20667,10 +20642,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20681,14 +20656,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20718,7 +20693,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20733,12 +20708,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21315,15 +21290,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10348|0),(9688|0),4315,(10303|0)); + ___assert_fail((10336|0),(9676|0),4315,(10291|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10374|0),(9688|0),4376,(10303|0)); + ___assert_fail((10362|0),(9676|0),4377,(10291|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10391); + _stbi__err(10379); $$2 = 0; return ($$2|0); } @@ -21373,7 +21348,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10087 + ($6)|0); + $336 = (10075 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21814,7 +21789,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10406|0),(9688|0),4465,(10303|0)); + ___assert_fail((10394|0),(9676|0),4466,(10291|0)); // unreachable; } else if ((label|0) == 151) { @@ -21874,8 +21849,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21890,15 +21865,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21907,65 +21882,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(22382)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10405,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,22383,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,22351,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10693,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21984,14 +21954,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10732); + _stbi__err(11040); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10748); + _stbi__err(11056); $$0 = 0; return ($$0|0); } @@ -22000,7 +21970,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10763); + _stbi__err(11071); $$0 = 0; return ($$0|0); } @@ -22083,7 +22053,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10654|0),(9688|0),4048,(10671|0)); + ___assert_fail((10962|0),(9676|0),4033,(10979|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -22120,7 +22090,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10702); + _stbi__err(11010); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22130,7 +22100,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10715); + _stbi__err(11023); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -22160,21 +22130,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22383|0),8,144)|0; - dest=(22527); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(22639); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (22663); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22351; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22308,7 +22263,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10592); + _stbi__err(10900); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22397,7 +22352,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10644); + _stbi__err(10952); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22426,7 +22381,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11438 + ($$06579)|0); + $14 = (11746 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22517,21 +22472,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10608|0),(9688|0),4021,(10616|0)); + ___assert_fail((10916|0),(9676|0),4006,(10924|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22541,7 +22496,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10592); + _stbi__err(10900); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22705,7 +22660,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10417); + _stbi__err(10725); $$3$ph = 0; return ($$3$ph|0); } @@ -22715,12 +22670,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10417); + _stbi__err(10725); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10434); + _stbi__err(10742); $$3$ph = 0; return ($$3$ph|0); } @@ -22777,7 +22732,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10443); + _stbi__err(10751); $$0 = 0; return ($$0|0); } @@ -22803,7 +22758,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9743); + _stbi__err(9731); $$0 = 0; return ($$0|0); } else { @@ -22848,7 +22803,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10539|0),(9688|0),3863,(10576|0)); + ___assert_fail((10847|0),(9676|0),3848,(10884|0)); // unreachable; } else if ((label|0) == 5) { @@ -22896,7 +22851,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10463|0),(9688|0),3891,(10479|0)); + ___assert_fail((10771|0),(9676|0),3876,(10787|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22924,7 +22879,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10510|0),(9688|0),3781,(10521|0)); + ___assert_fail((10818|0),(9676|0),3766,(10829|0)); // unreachable; } return (0)|0; @@ -23070,10 +23025,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -23084,27 +23039,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10791)|0); + $6 = (_IsFileExtension($1,11099)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10844)|0); + $19 = (_IsFileExtension($1,11152)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10849,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11157,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11291)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -23132,7 +23088,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -23149,18 +23105,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10797,$vararg_buffer); + _TraceLog(2,11105,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -23169,34 +23125,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10885,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10924,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,11193,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11232,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -23215,11 +23178,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10983)|0); + $4 = (_fopen($0,11291)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10986,$vararg_buffer); + _TraceLog(2,11294,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23318,7 +23281,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11083,$vararg_buffer4); + _TraceLog(0,11391,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23353,14 +23316,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11129,$vararg_buffer8); + _TraceLog(2,11437,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11037,$vararg_buffer1); + _TraceLog(2,11345,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23450,7 +23413,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10955,$vararg_buffer); + _TraceLog(2,11263,$vararg_buffer); $$0 = $6; } } @@ -23495,27 +23458,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11179,$vararg_buffer); + _TraceLog(2,11487,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11218,$vararg_buffer1); + _TraceLog(2,11526,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11244,$vararg_buffer3); + _TraceLog(2,11552,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11307,$vararg_buffer5); + _TraceLog(2,11615,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11342,$vararg_buffer7); + _TraceLog(2,11650,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11377,$vararg_buffer10); + _TraceLog(0,11685,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24698,7 +24661,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11434 + ($$361133)|0); + $199 = (11742 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -25128,7 +25091,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11434 + ($$331130)|0); + $186 = (11742 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -25166,7 +25129,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11434 + ($$371134)|0); + $203 = (11742 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -25205,7 +25168,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11438 + ($$421139)|0); + $235 = (11746 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25612,7 +25575,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11457 + ($495)|0); + $496 = (11765 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25649,7 +25612,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11461 + ($515)|0); + $516 = (11769 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26561,7 +26524,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11465,$vararg_buffer); + _TraceLog(2,11773,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26582,7 +26545,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18264>>2]|0;HEAP32[$0+4>>2]=HEAP32[18264+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18264+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18264+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18264+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18264+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18264+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18264+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[18568>>2]|0;HEAP32[$0+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18568+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18568+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18568+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18568+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26964,8 +26927,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(22671,$0,$1)|0); - STACKTOP = sp;return (22671|0); + (_vsprintf(22655,$0,$1)|0); + STACKTOP = sp;return (22655|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -26975,7 +26938,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5119]|0; + $3 = HEAP32[5195]|0; $4 = HEAP32[915]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -26983,14 +26946,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5120] = $7; + HEAP32[5196] = $7; HEAP32[915] = $7; $$sink = 0; } - HEAP32[5119] = $$sink; - $8 = HEAP32[5120]|0; + HEAP32[5195] = $$sink; + $8 = HEAP32[5196]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11494,$$byval_copy)|0); + (_FormatText(11802,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -26999,7 +26962,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22671,$0,$1,20,$$byval_copy); + _DrawText(22655,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -27089,7 +27052,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11502)|0); + $4 = (_IsFileExtension($1,11810)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -27098,7 +27061,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,11507,$vararg_buffer); + _TraceLog(2,11815,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -27171,11 +27134,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,11532)|0); + $15 = (_fopen($1,11840)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11535,$vararg_buffer); + _TraceLog(2,11843,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -27195,7 +27158,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,11569,$vararg_buffer1)|0); + (_fscanf($15,11877,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -27222,7 +27185,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,11569,$vararg_buffer4)|0); + (_fscanf($15,11877,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -27287,19 +27250,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,11572,$vararg_buffer7); + _TraceLog(3,11880,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,11600,$vararg_buffer11); + _TraceLog(3,11908,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,11629,$$byval_copy102); + _TraceLog(3,11937,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,11656,$$byval_copy103); + _TraceLog(3,11964,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -27331,7 +27294,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,11569,$vararg_buffer23)|0); + (_fscanf($15,11877,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -27353,7 +27316,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,11569,$vararg_buffer26)|0); + (_fscanf($15,11877,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -27372,10 +27335,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,11685,$vararg_buffer29)|0); + (_fscanf($15,11993,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,11569,$vararg_buffer33)|0); + (_fscanf($15,11877,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -27392,10 +27355,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,11699,$vararg_buffer36)|0); + (_fscanf($15,12007,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,11569,$vararg_buffer41)|0); + (_fscanf($15,11877,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -27412,10 +27375,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,11699,$vararg_buffer44)|0); + (_fscanf($15,12007,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,11569,$vararg_buffer49)|0); + (_fscanf($15,11877,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -27438,7 +27401,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,11708,$vararg_buffer52); + _TraceLog(0,12016,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -27478,7 +27441,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,11569,$vararg_buffer55)|0); + (_fscanf($15,11877,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -27506,7 +27469,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,11779,$vararg_buffer58)|0); + (_fscanf($15,12087,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -27520,7 +27483,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,11788,$vararg_buffer63)|0); + (_fscanf($15,12096,$vararg_buffer63)|0); break; } if ($77) { @@ -27535,7 +27498,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,11806,$vararg_buffer71)|0); + (_fscanf($15,12114,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -27555,7 +27518,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,11827,$vararg_buffer79)|0); + (_fscanf($15,12135,$vararg_buffer79)|0); break; } } @@ -27935,7 +27898,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,11854,$vararg_buffer90); + _TraceLog(0,12162,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -28014,7 +27977,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,11898,$vararg_buffer); + _TraceLog(0,12206,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -28159,7 +28122,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11956)|0); + $12 = (_strstr($11,12264)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -28168,7 +28131,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11960)|0); + $17 = (_strstr($16,12268)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -28177,7 +28140,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11964)|0); + $22 = (_strstr($21,12272)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -28186,7 +28149,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11968)|0); + $27 = (_strstr($26,12276)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -28195,1210 +28158,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11974)|0); + $32 = (_strcmp($31,12282)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12012)|0); + $35 = (_strcmp($34,12320)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12031; + HEAP32[$3>>2] = 12339; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12044)|0); + $38 = (_strcmp($37,12352)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12065; + HEAP32[$3>>2] = 12373; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12080)|0); + $41 = (_strcmp($40,12388)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12095; + HEAP32[$3>>2] = 12403; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12110)|0); + $44 = (_strcmp($43,12418)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12125; + HEAP32[$3>>2] = 12433; } } else { - HEAP32[$3>>2] = 11996; + HEAP32[$3>>2] = 12304; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12140)|0); + $47 = (_strcmp($46,12448)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12154)|0); + $50 = (_strcmp($49,12462)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12166)|0); + $53 = (_strcmp($52,12474)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12180)|0); + $56 = (_strcmp($55,12488)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12192)|0); + $59 = (_strcmp($58,12500)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12206)|0); + $62 = (_strcmp($61,12514)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12220)|0); + $65 = (_strcmp($64,12528)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12237)|0); + $68 = (_strcmp($67,12545)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12260)|0); + $71 = (_strcmp($70,12568)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12286)|0); + $74 = (_strcmp($73,12594)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12299)|0); + $77 = (_strcmp($76,12607)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12315)|0); + $80 = (_strcmp($79,12623)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12328)|0); + $83 = (_strcmp($82,12636)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12342)|0); + $86 = (_strcmp($85,12650)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12362)|0); + $89 = (_strcmp($88,12670)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12382)|0); + $92 = (_strcmp($91,12690)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12399)|0); + $95 = (_strcmp($94,12707)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12416)|0); + $98 = (_strcmp($97,12724)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12428)|0); + $101 = (_strcmp($100,12736)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12441)|0); + $104 = (_strcmp($103,12749)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12457)|0); + $107 = (_strcmp($106,12765)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12480)|0); + $110 = (_strcmp($109,12788)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12493)|0); + $113 = (_strcmp($112,12801)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12509)|0); + $116 = (_strcmp($115,12817)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12520)|0); + $119 = (_strcmp($118,12828)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12539)|0); + $122 = (_strcmp($121,12847)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12561)|0); + $125 = (_strcmp($124,12869)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12580)|0); + $128 = (_strcmp($127,12888)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12609)|0); + $131 = (_strcmp($130,12917)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12626)|0); + $134 = (_strcmp($133,12934)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12641)|0); + $137 = (_strcmp($136,12949)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12656)|0); + $140 = (_strcmp($139,12964)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12677)|0); + $143 = (_strcmp($142,12985)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12697)|0); + $146 = (_strcmp($145,13005)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12717)|0); + $149 = (_strcmp($148,13025)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12743)|0); + $152 = (_strcmp($151,13051)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12762)|0); + $155 = (_strcmp($154,13070)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12774)|0); + $158 = (_strcmp($157,13082)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12786)|0); + $161 = (_strcmp($160,13094)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12798)|0); + $164 = (_strcmp($163,13106)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12810)|0); + $167 = (_strcmp($166,13118)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12822)|0); + $170 = (_strcmp($169,13130)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12834)|0); + $173 = (_strcmp($172,13142)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12846)|0); + $176 = (_strcmp($175,13154)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12858)|0); + $179 = (_strcmp($178,13166)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12871)|0); + $182 = (_strcmp($181,13179)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12884)|0); + $185 = (_strcmp($184,13192)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12897)|0); + $188 = (_strcmp($187,13205)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12910)|0); + $191 = (_strcmp($190,13218)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12923)|0); + $194 = (_strcmp($193,13231)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12936)|0); + $197 = (_strcmp($196,13244)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12949)|0); + $200 = (_strcmp($199,13257)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12962)|0); + $203 = (_strcmp($202,13270)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12981)|0); + $206 = (_strcmp($205,13289)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13000)|0); + $209 = (_strcmp($208,13308)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13019)|0); + $212 = (_strcmp($211,13327)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13032)|0); + $215 = (_strcmp($214,13340)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13050)|0); + $218 = (_strcmp($217,13358)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13068)|0); + $221 = (_strcmp($220,13376)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13086)|0); + $224 = (_strcmp($223,13394)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13104)|0); + $227 = (_strcmp($226,13412)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13124)|0); + $230 = (_strcmp($229,13432)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12065)|0); + $233 = (_strcmp($232,12373)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13142)|0); + $236 = (_strcmp($235,13450)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13157)|0); + $239 = (_strcmp($238,13465)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13178)|0); + $242 = (_strcmp($241,13486)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13193)|0); + $245 = (_strcmp($244,13501)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13211)|0); + $248 = (_strcmp($247,13519)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13227)|0); + $251 = (_strcmp($250,13535)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13246)|0); + $254 = (_strcmp($253,13554)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13260)|0); + $257 = (_strcmp($256,13568)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13275)|0); + $260 = (_strcmp($259,13583)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11996)|0); + $263 = (_strcmp($262,12304)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13286)|0); + $266 = (_strcmp($265,13594)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12095)|0); + $269 = (_strcmp($268,12403)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12125)|0); + $272 = (_strcmp($271,12433)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13302)|0); + $275 = (_strcmp($274,13610)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13329)|0); + $278 = (_strcmp($277,13637)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13343)|0); + $281 = (_strcmp($280,13651)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12031)|0); + $284 = (_strcmp($283,12339)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13363)|0); + $287 = (_strcmp($286,13671)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13381)|0); + $290 = (_strcmp($289,13689)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13393)|0); + $293 = (_strcmp($292,13701)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13414)|0); + $296 = (_strcmp($295,13722)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13432)|0); + $299 = (_strcmp($298,13740)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13450)|0); + $302 = (_strcmp($301,13758)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13471)|0); + $305 = (_strcmp($304,13779)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13497)|0); + $308 = (_strcmp($307,13805)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13520)|0); + $311 = (_strcmp($310,13828)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13558)|0); + $314 = (_strcmp($313,13866)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13574)|0); + $317 = (_strcmp($316,13882)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13589)|0); + $320 = (_strcmp($319,13897)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13612)|0); + $323 = (_strcmp($322,13920)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13625)|0); + $326 = (_strcmp($325,13933)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13639)|0); + $329 = (_strcmp($328,13947)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13653)|0); + $332 = (_strcmp($331,13961)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13673)|0); + $335 = (_strcmp($334,13981)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13693)|0); + $338 = (_strcmp($337,14001)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13709)|0); + $341 = (_strcmp($340,14017)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13727)|0); + $344 = (_strcmp($343,14035)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13743)|0); + $347 = (_strcmp($346,14051)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13758)|0); + $350 = (_strcmp($349,14066)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13780)|0); + $353 = (_strcmp($352,14088)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13798)|0); + $356 = (_strcmp($355,14106)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13819)|0); + $359 = (_strcmp($358,14127)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13837)|0); + $362 = (_strcmp($361,14145)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13850)|0); + $365 = (_strcmp($364,14158)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13865)|0); + $368 = (_strcmp($367,14173)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13879)|0); + $371 = (_strcmp($370,14187)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13889)|0); + $374 = (_strcmp($373,14197)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13899)|0); + $377 = (_strcmp($376,14207)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13921)|0); + $380 = (_strcmp($379,14229)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13947)|0); + $383 = (_strcmp($382,14255)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13974)|0); + $386 = (_strcmp($385,14282)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13987)|0); + $389 = (_strcmp($388,14295)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14002)|0); + $392 = (_strcmp($391,14310)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14017)|0); + $395 = (_strcmp($394,14325)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14041)|0); + $398 = (_strcmp($397,14349)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14052)|0); + $401 = (_strcmp($400,14360)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14074)|0); + $404 = (_strcmp($403,14382)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14096)|0); + $407 = (_strcmp($406,14404)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14120)|0); + $410 = (_strcmp($409,14428)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14129)|0); + $413 = (_strcmp($412,14437)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14137)|0); + $416 = (_strcmp($415,14445)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14150)|0); + $419 = (_strcmp($418,14458)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14164)|0); + $422 = (_strcmp($421,14472)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14176)|0); + $425 = (_strcmp($424,14484)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14185)|0); + $428 = (_strcmp($427,14493)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14195)|0); + $431 = (_strcmp($430,14503)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14207)|0); + $434 = (_strcmp($433,14515)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14218)|0); + $437 = (_strcmp($436,14526)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14226)|0); + $440 = (_strcmp($439,14534)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14238)|0); + $443 = (_strcmp($442,14546)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14253)|0); + $446 = (_strcmp($445,14561)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14265)|0); + $449 = (_strcmp($448,14573)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14279)|0); + $452 = (_strcmp($451,14587)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14304)|0); + $455 = (_strcmp($454,14612)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14321)|0); + $458 = (_strcmp($457,14629)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14337)|0); + $461 = (_strcmp($460,14645)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14353)|0); + $464 = (_strcmp($463,14661)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14365)|0); + $467 = (_strcmp($466,14673)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14377)|0); + $470 = (_strcmp($469,14685)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14401)|0); + $473 = (_strcmp($472,14709)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14414)|0); + $476 = (_strcmp($475,14722)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14428)|0); + $479 = (_strcmp($478,14736)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14450)|0); + $482 = (_strcmp($481,14758)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14457)|0); + $485 = (_strcmp($484,14765)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14473)|0); + $488 = (_strcmp($487,14781)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14490)|0); + $491 = (_strcmp($490,14798)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14507)|0); + $494 = (_strcmp($493,14815)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14523)|0); + $497 = (_strcmp($496,14831)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14539)|0); + $500 = (_strcmp($499,14847)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14556)|0); + $503 = (_strcmp($502,14864)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14570)|0); + $506 = (_strcmp($505,14878)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14582)|0); + $509 = (_strcmp($508,14890)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14593)|0); + $512 = (_strcmp($511,14901)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14606)|0); + $515 = (_strcmp($514,14914)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14616)|0); + $518 = (_strcmp($517,14924)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14633)|0); + $521 = (_strcmp($520,14941)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14645)|0); + $524 = (_strcmp($523,14953)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14667)|0); + $527 = (_strcmp($526,14975)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14687)|0); + $530 = (_strcmp($529,14995)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14700)|0); + $533 = (_strcmp($532,15008)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14722)|0); + $536 = (_strcmp($535,15030)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14742)|0); + $539 = (_strcmp($538,15050)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14759)|0); + $542 = (_strcmp($541,15067)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14776)|0); + $545 = (_strcmp($544,15084)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14796)|0); + $548 = (_strcmp($547,15104)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -29420,7 +29383,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (20484|0); + return (20788|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29877,7 +29840,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((14913) + ($50)|0); + $49 = ((15221) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -29909,7 +29872,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((14913) + ($$0159)|0); + $60 = ((15221) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -30045,10 +30008,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15169 + ($128)|0); + $129 = (15477 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((14913) + ($$1160169)|0); + $132 = ((15221) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -30070,7 +30033,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((14913) + ($$4163$be)|0); + $146 = ((15221) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -30121,7 +30084,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((14913) + ($$5$be)|0); + $178 = ((15221) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -30140,7 +30103,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((14913) + ($$1160169)|0); + $122 = ((15221) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -30162,7 +30125,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((14913) + ($$6$be)|0); + $197 = ((15221) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -30224,7 +30187,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((14913) + ($$7$be)|0); + $234 = ((15221) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -30243,7 +30206,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((14913) + ($$8)|0); + $238 = ((15221) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -30262,7 +30225,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((14913) + ($$9$be)|0); + $249 = ((15221) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -31098,7 +31061,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15178 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((15486 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -31276,7 +31239,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15642;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 15950;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -31297,7 +31260,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15642;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 15950;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -31305,8 +31268,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15642 : (15644); - $$$ = $238 ? $$ : (15643); + $$ = $240 ? 15950 : (15952); + $$$ = $238 ? $$ : (15951); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -31323,7 +31286,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15642;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 15950;$242 = $167;$243 = $170; label = 66; break; } @@ -31336,7 +31299,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15642;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 15950;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -31350,7 +31313,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15652; + $271 = $270 ? $269 : 15960; $$1 = $271; label = 71; break; @@ -31390,7 +31353,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15642;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 15950;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -31412,8 +31375,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15642 + ($208)|0); - $$289 = $or$cond283 ? 15642 : $209; + $209 = (15950 + ($208)|0); + $$289 = $or$cond283 ? 15950 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -31434,7 +31397,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15642;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 15950;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -31964,7 +31927,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15690 + ($7)|0); + $9 = (15998 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -32322,14 +32285,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15659; + $$0471 = $14;$$0520 = 1;$$0521 = 15967; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15660) : (15665); - $$$ = $16 ? $$ : (15662); + $$ = $18 ? (15968) : (15973); + $$$ = $16 ? $$ : (15970); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -32428,7 +32391,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15690 + ($80)|0); + $81 = (15998 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -33039,7 +33002,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15706,1); + _out($0,16014,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -33120,7 +33083,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15706,1); + _out($0,16014,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -33177,9 +33140,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15678 : 15682; + $29 = $28 ? 15986 : 15990; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 17609 : 15686; + $31 = $28 ? 17917 : 15994; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -33389,7 +33352,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15708 + ($$016)|0); + $3 = (16016 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -33400,7 +33363,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 15796;$$115 = 87; + $$01214 = 16104;$$115 = 87; label = 5; break; } else { @@ -33410,9 +33373,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 15796; + $$012$lcssa = 16104; } else { - $$01214 = 15796;$$115 = $$016; + $$01214 = 16104;$$115 = $$016; label = 5; } } @@ -33837,7 +33800,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (17600 + ($$0107127)|0); + $27 = (17908 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -33904,7 +33867,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (17609 + ($$2109125)|0); + $58 = (17917 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -36155,7 +36118,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 20548 : $3; + $$ = $5 ? 20852 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -36446,7 +36409,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17613,$3,4)|0); + $memchr = (_memchr(17921,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -36535,7 +36498,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17613,$4,4)|0); + $memchr = (_memchr(17921,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -36626,7 +36589,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(20488)>>2]|0; + $38 = HEAP32[(20792)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -36659,13 +36622,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((20552|0)); - return (20560|0); + ___lock((20856|0)); + return (20864|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((20552|0)); + ___unlock((20856|0)); return; } function _fclose($0) { @@ -38925,7 +38888,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 17888; + $2 = 18192; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -39167,7 +39130,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5141]|0; + $3 = HEAP32[5217]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -39186,22 +39149,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5141] = 0; + HEAP32[5217] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5141] = $10; + HEAP32[5217] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5141] = 0; + HEAP32[5217] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5141] = $13; + HEAP32[5217] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -39282,7 +39245,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5142]|0; + $8 = HEAP32[5218]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -39291,7 +39254,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (20608 + ($15<<2)|0); + $16 = (20912 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -39302,9 +39265,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5142] = $24; + HEAP32[5218] = $24; } else { - $25 = HEAP32[(20584)>>2]|0; + $25 = HEAP32[(20888)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -39335,7 +39298,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(20576)>>2]|0; + $37 = HEAP32[(20880)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -39369,7 +39332,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (20608 + ($68<<2)|0); + $69 = (20912 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -39380,10 +39343,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5142] = $77; + HEAP32[5218] = $77; $98 = $77; } else { - $78 = HEAP32[(20584)>>2]|0; + $78 = HEAP32[(20888)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -39416,22 +39379,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(20588)>>2]|0; + $92 = HEAP32[(20892)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (20608 + ($94<<2)|0); + $95 = (20912 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5142] = $100; + HEAP32[5218] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20584)>>2]|0; + $103 = HEAP32[(20888)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -39448,12 +39411,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(20576)>>2] = $84; - HEAP32[(20588)>>2] = $87; + HEAP32[(20880)>>2] = $84; + HEAP32[(20892)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(20572)>>2]|0; + $108 = HEAP32[(20876)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -39481,7 +39444,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (20872 + ($132<<2)|0); + $133 = (21176 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -39521,7 +39484,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(20584)>>2]|0; + $155 = HEAP32[(20888)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -39616,7 +39579,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (20872 + ($188<<2)|0); + $189 = (21176 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -39627,11 +39590,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(20572)>>2] = $194; + HEAP32[(20876)>>2] = $194; break L73; } } else { - $195 = HEAP32[(20584)>>2]|0; + $195 = HEAP32[(20888)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -39652,7 +39615,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(20584)>>2]|0; + $201 = HEAP32[(20888)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -39682,7 +39645,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(20584)>>2]|0; + $213 = HEAP32[(20888)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -39719,22 +39682,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(20588)>>2]|0; + $231 = HEAP32[(20892)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (20608 + ($233<<2)|0); + $234 = (20912 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5142] = $238; + HEAP32[5218] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20584)>>2]|0; + $241 = HEAP32[(20888)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -39751,8 +39714,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(20576)>>2] = $$0193$lcssa$i; - HEAP32[(20588)>>2] = $157; + HEAP32[(20880)>>2] = $$0193$lcssa$i; + HEAP32[(20892)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -39768,7 +39731,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(20572)>>2]|0; + $250 = HEAP32[(20876)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -39808,7 +39771,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (20872 + ($$0358$i<<2)|0); + $278 = (21176 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -39900,7 +39863,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (20872 + ($330<<2)|0); + $331 = (21176 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -39944,11 +39907,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(20576)>>2]|0; + $345 = HEAP32[(20880)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(20584)>>2]|0; + $348 = HEAP32[(20888)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -40045,7 +40008,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (20872 + ($381<<2)|0); + $382 = (21176 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -40056,12 +40019,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(20572)>>2] = $387; + HEAP32[(20876)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(20584)>>2]|0; + $388 = HEAP32[(20888)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -40083,7 +40046,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(20584)>>2]|0; + $394 = HEAP32[(20888)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -40115,7 +40078,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(20584)>>2]|0; + $406 = HEAP32[(20888)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -40156,20 +40119,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (20608 + ($425<<2)|0); - $427 = HEAP32[5142]|0; + $426 = (20912 + ($425<<2)|0); + $427 = HEAP32[5218]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5142] = $431; + HEAP32[5218] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20584)>>2]|0; + $434 = HEAP32[(20888)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -40221,7 +40184,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (20872 + ($$0361$i<<2)|0); + $464 = (21176 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -40233,7 +40196,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(20572)>>2] = $472; + HEAP32[(20876)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -40272,7 +40235,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(20584)>>2]|0; + $491 = HEAP32[(20888)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -40291,7 +40254,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20584)>>2]|0; + $498 = HEAP32[(20888)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -40324,16 +40287,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(20576)>>2]|0; + $506 = HEAP32[(20880)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20588)>>2]|0; + $509 = HEAP32[(20892)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(20588)>>2] = $511; - HEAP32[(20576)>>2] = $508; + HEAP32[(20892)>>2] = $511; + HEAP32[(20880)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -40343,8 +40306,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(20576)>>2] = 0; - HEAP32[(20588)>>2] = 0; + HEAP32[(20880)>>2] = 0; + HEAP32[(20892)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -40358,14 +40321,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(20580)>>2]|0; + $524 = HEAP32[(20884)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(20580)>>2] = $526; - $527 = HEAP32[(20592)>>2]|0; + HEAP32[(20884)>>2] = $526; + $527 = HEAP32[(20896)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(20592)>>2] = $528; + HEAP32[(20896)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -40376,23 +40339,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5260]|0; + $534 = HEAP32[5336]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21048)>>2] = 4096; - HEAP32[(21044)>>2] = 4096; - HEAP32[(21052)>>2] = -1; - HEAP32[(21056)>>2] = -1; - HEAP32[(21060)>>2] = 0; - HEAP32[(21012)>>2] = 0; + HEAP32[(21352)>>2] = 4096; + HEAP32[(21348)>>2] = 4096; + HEAP32[(21356)>>2] = -1; + HEAP32[(21360)>>2] = -1; + HEAP32[(21364)>>2] = 0; + HEAP32[(21316)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5260] = $538; + HEAP32[5336] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21048)>>2]|0; + $$pre$i212 = HEAP32[(21352)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -40405,10 +40368,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21008)>>2]|0; + $546 = HEAP32[(21312)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21000)>>2]|0; + $548 = HEAP32[(21304)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -40418,18 +40381,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21012)>>2]|0; + $552 = HEAP32[(21316)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(20592)>>2]|0; + $555 = HEAP32[(20896)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21016); + $$0$i$i = (21320); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -40487,7 +40450,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21044)>>2]|0; + $569 = HEAP32[(21348)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -40497,13 +40460,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21000)>>2]|0; + $578 = HEAP32[(21304)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21008)>>2]|0; + $582 = HEAP32[(21312)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -40549,7 +40512,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21048)>>2]|0; + $601 = HEAP32[(21352)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -40574,9 +40537,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21012)>>2]|0; + $611 = HEAP32[(21316)>>2]|0; $612 = $611 | 4; - HEAP32[(21012)>>2] = $612; + HEAP32[(21316)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -40612,35 +40575,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21000)>>2]|0; + $626 = HEAP32[(21304)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21000)>>2] = $627; - $628 = HEAP32[(21004)>>2]|0; + HEAP32[(21304)>>2] = $627; + $628 = HEAP32[(21308)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21004)>>2] = $627; + HEAP32[(21308)>>2] = $627; } - $630 = HEAP32[(20592)>>2]|0; + $630 = HEAP32[(20896)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(20584)>>2]|0; + $632 = HEAP32[(20888)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(20584)>>2] = $$749$i; - } - HEAP32[(21016)>>2] = $$749$i; - HEAP32[(21020)>>2] = $$723948$i; - HEAP32[(21028)>>2] = 0; - $635 = HEAP32[5260]|0; - HEAP32[(20604)>>2] = $635; - HEAP32[(20600)>>2] = -1; + HEAP32[(20888)>>2] = $$749$i; + } + HEAP32[(21320)>>2] = $$749$i; + HEAP32[(21324)>>2] = $$723948$i; + HEAP32[(21332)>>2] = 0; + $635 = HEAP32[5336]|0; + HEAP32[(20908)>>2] = $635; + HEAP32[(20904)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (20608 + ($636<<2)|0); + $637 = (20912 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -40663,18 +40626,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(20592)>>2] = $649; - HEAP32[(20580)>>2] = $650; + HEAP32[(20896)>>2] = $649; + HEAP32[(20884)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21056)>>2]|0; - HEAP32[(20596)>>2] = $655; + $655 = HEAP32[(21360)>>2]|0; + HEAP32[(20900)>>2] = $655; } else { - $$024371$i = (21016); + $$024371$i = (21320); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -40706,7 +40669,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(20580)>>2]|0; + $671 = HEAP32[(20884)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -40717,30 +40680,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(20592)>>2] = $679; - HEAP32[(20580)>>2] = $681; + HEAP32[(20896)>>2] = $679; + HEAP32[(20884)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21056)>>2]|0; - HEAP32[(20596)>>2] = $686; + $686 = HEAP32[(21360)>>2]|0; + HEAP32[(20900)>>2] = $686; break; } } } - $687 = HEAP32[(20584)>>2]|0; + $687 = HEAP32[(20888)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(20584)>>2] = $$749$i; + HEAP32[(20888)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21016); + $$124470$i = (21320); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -40795,21 +40758,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(20580)>>2]|0; + $726 = HEAP32[(20884)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(20580)>>2] = $727; - HEAP32[(20592)>>2] = $721; + HEAP32[(20884)>>2] = $727; + HEAP32[(20896)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(20588)>>2]|0; + $730 = HEAP32[(20892)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(20576)>>2]|0; + $732 = HEAP32[(20880)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(20576)>>2] = $733; - HEAP32[(20588)>>2] = $721; + HEAP32[(20880)>>2] = $733; + HEAP32[(20892)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -40832,7 +40795,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (20608 + ($748<<2)|0); + $749 = (20912 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -40855,9 +40818,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5142]|0; + $759 = HEAP32[5218]|0; $760 = $759 & $758; - HEAP32[5142] = $760; + HEAP32[5218] = $760; break; } $761 = ($747|0)==($749|0); @@ -40970,7 +40933,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (20872 + ($796<<2)|0); + $797 = (21176 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -40982,12 +40945,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(20572)>>2]|0; + $802 = HEAP32[(20876)>>2]|0; $803 = $802 & $801; - HEAP32[(20572)>>2] = $803; + HEAP32[(20876)>>2] = $803; break L314; } else { - $804 = HEAP32[(20584)>>2]|0; + $804 = HEAP32[(20888)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -41008,7 +40971,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(20584)>>2]|0; + $810 = HEAP32[(20888)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -41040,7 +41003,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(20584)>>2]|0; + $822 = HEAP32[(20888)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -41073,21 +41036,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (20608 + ($836<<2)|0); - $838 = HEAP32[5142]|0; + $837 = (20912 + ($836<<2)|0); + $838 = HEAP32[5218]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5142] = $842; + HEAP32[5218] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20584)>>2]|0; + $845 = HEAP32[(20888)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -41142,20 +41105,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (20872 + ($$0296$i$i<<2)|0); + $875 = (21176 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(20572)>>2]|0; + $879 = HEAP32[(20876)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(20572)>>2] = $883; + HEAP32[(20876)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -41194,7 +41157,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(20584)>>2]|0; + $902 = HEAP32[(20888)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -41213,7 +41176,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20584)>>2]|0; + $909 = HEAP32[(20888)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -41240,7 +41203,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21016); + $$0$i$i$i = (21320); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -41281,23 +41244,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(20592)>>2] = $946; - HEAP32[(20580)>>2] = $947; + HEAP32[(20896)>>2] = $946; + HEAP32[(20884)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21056)>>2]|0; - HEAP32[(20596)>>2] = $952; + $952 = HEAP32[(21360)>>2]|0; + HEAP32[(20900)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21016)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21016)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21016)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21016)+12>>2]|0; - HEAP32[(21016)>>2] = $$749$i; - HEAP32[(21020)>>2] = $$723948$i; - HEAP32[(21028)>>2] = 0; - HEAP32[(21024)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21320)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21320)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21320)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21320)+12>>2]|0; + HEAP32[(21320)>>2] = $$749$i; + HEAP32[(21324)>>2] = $$723948$i; + HEAP32[(21332)>>2] = 0; + HEAP32[(21328)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -41326,20 +41289,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (20608 + ($968<<2)|0); - $970 = HEAP32[5142]|0; + $969 = (20912 + ($968<<2)|0); + $970 = HEAP32[5218]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5142] = $974; + HEAP32[5218] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20584)>>2]|0; + $977 = HEAP32[(20888)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -41391,19 +41354,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (20872 + ($$0212$i$i<<2)|0); + $1007 = (21176 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20572)>>2]|0; + $1010 = HEAP32[(20876)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(20572)>>2] = $1014; + HEAP32[(20876)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -41442,7 +41405,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(20584)>>2]|0; + $1033 = HEAP32[(20888)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -41461,7 +41424,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20584)>>2]|0; + $1040 = HEAP32[(20888)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -41484,14 +41447,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(20580)>>2]|0; + $1048 = HEAP32[(20884)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(20580)>>2] = $1050; - $1051 = HEAP32[(20592)>>2]|0; + HEAP32[(20884)>>2] = $1050; + $1051 = HEAP32[(20896)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(20592)>>2] = $1052; + HEAP32[(20896)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -41534,7 +41497,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(20584)>>2]|0; + $3 = HEAP32[(20888)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -41567,7 +41530,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(20588)>>2]|0; + $19 = HEAP32[(20892)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -41582,7 +41545,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(20576)>>2] = $17; + HEAP32[(20880)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -41596,7 +41559,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (20608 + ($27<<2)|0); + $28 = (20912 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -41616,9 +41579,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5142]|0; + $37 = HEAP32[5218]|0; $38 = $37 & $36; - HEAP32[5142] = $38; + HEAP32[5218] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -41732,7 +41695,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (20872 + ($74<<2)|0); + $75 = (21176 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -41742,14 +41705,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(20572)>>2]|0; + $80 = HEAP32[(20876)>>2]|0; $81 = $80 & $79; - HEAP32[(20572)>>2] = $81; + HEAP32[(20876)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(20584)>>2]|0; + $82 = HEAP32[(20888)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -41771,7 +41734,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(20584)>>2]|0; + $88 = HEAP32[(20888)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -41803,7 +41766,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(20584)>>2]|0; + $100 = HEAP32[(20888)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -41838,14 +41801,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(20592)>>2]|0; + $120 = HEAP32[(20896)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(20588)>>2]|0; + $122 = HEAP32[(20892)>>2]|0; if ($121) { - $123 = HEAP32[(20580)>>2]|0; + $123 = HEAP32[(20884)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(20580)>>2] = $124; - HEAP32[(20592)>>2] = $$1; + HEAP32[(20884)>>2] = $124; + HEAP32[(20896)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -41853,16 +41816,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(20588)>>2] = 0; - HEAP32[(20576)>>2] = 0; + HEAP32[(20892)>>2] = 0; + HEAP32[(20880)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(20576)>>2]|0; + $129 = HEAP32[(20880)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(20576)>>2] = $130; - HEAP32[(20588)>>2] = $113; + HEAP32[(20880)>>2] = $130; + HEAP32[(20892)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -41881,10 +41844,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (20608 + ($142<<2)|0); + $143 = (20912 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(20584)>>2]|0; + $145 = HEAP32[(20888)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -41902,9 +41865,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5142]|0; + $153 = HEAP32[5218]|0; $154 = $153 & $152; - HEAP32[5142] = $154; + HEAP32[5218] = $154; break; } $155 = ($141|0)==($143|0); @@ -41912,7 +41875,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(20584)>>2]|0; + $156 = HEAP32[(20888)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -41972,7 +41935,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(20584)>>2]|0; + $189 = HEAP32[(20888)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -41985,7 +41948,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20584)>>2]|0; + $169 = HEAP32[(20888)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -42016,7 +41979,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (20872 + ($193<<2)|0); + $194 = (21176 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -42026,13 +41989,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(20572)>>2]|0; + $199 = HEAP32[(20876)>>2]|0; $200 = $199 & $198; - HEAP32[(20572)>>2] = $200; + HEAP32[(20876)>>2] = $200; break L108; } } else { - $201 = HEAP32[(20584)>>2]|0; + $201 = HEAP32[(20888)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -42053,7 +42016,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(20584)>>2]|0; + $207 = HEAP32[(20888)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -42083,7 +42046,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(20584)>>2]|0; + $219 = HEAP32[(20888)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -42104,10 +42067,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(20588)>>2]|0; + $226 = HEAP32[(20892)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(20576)>>2] = $135; + HEAP32[(20880)>>2] = $135; return; } else { $$2 = $135; @@ -42126,20 +42089,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (20608 + ($234<<2)|0); - $236 = HEAP32[5142]|0; + $235 = (20912 + ($234<<2)|0); + $236 = HEAP32[5218]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5142] = $240; + HEAP32[5218] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20584)>>2]|0; + $243 = HEAP32[(20888)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -42191,21 +42154,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (20872 + ($$0396<<2)|0); + $273 = (21176 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(20572)>>2]|0; + $277 = HEAP32[(20876)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(20572)>>2] = $281; + HEAP32[(20876)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -42243,7 +42206,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(20584)>>2]|0; + $300 = HEAP32[(20888)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -42262,7 +42225,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20584)>>2]|0; + $307 = HEAP32[(20888)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -42284,12 +42247,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(20600)>>2]|0; + $314 = HEAP32[(20904)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(20600)>>2] = $315; + HEAP32[(20904)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21024); + $$0212$in$i = (21328); } else { return; } @@ -42303,7 +42266,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(20600)>>2] = -1; + HEAP32[(20904)>>2] = -1; return; } function _realloc($0,$1) { @@ -42375,7 +42338,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(20584)>>2]|0; + $6 = HEAP32[(20888)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -42405,7 +42368,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21048)>>2]|0; + $18 = HEAP32[(21352)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -42441,10 +42404,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(20592)>>2]|0; + $34 = HEAP32[(20896)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(20580)>>2]|0; + $36 = HEAP32[(20884)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -42460,15 +42423,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(20592)>>2] = $40; - HEAP32[(20580)>>2] = $39; + HEAP32[(20896)>>2] = $40; + HEAP32[(20884)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(20588)>>2]|0; + $46 = HEAP32[(20892)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(20576)>>2]|0; + $48 = HEAP32[(20880)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -42504,8 +42467,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(20576)>>2] = $storemerge1; - HEAP32[(20588)>>2] = $storemerge; + HEAP32[(20880)>>2] = $storemerge1; + HEAP32[(20892)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -42532,7 +42495,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (20608 + ($81<<2)|0); + $82 = (20912 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -42552,9 +42515,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5142]|0; + $91 = HEAP32[5218]|0; $92 = $91 & $90; - HEAP32[5142] = $92; + HEAP32[5218] = $92; break; } $93 = ($80|0)==($82|0); @@ -42663,7 +42626,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (20872 + ($128<<2)|0); + $129 = (21176 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -42673,13 +42636,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(20572)>>2]|0; + $134 = HEAP32[(20876)>>2]|0; $135 = $134 & $133; - HEAP32[(20572)>>2] = $135; + HEAP32[(20876)>>2] = $135; break L49; } } else { - $136 = HEAP32[(20584)>>2]|0; + $136 = HEAP32[(20888)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -42700,7 +42663,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(20584)>>2]|0; + $142 = HEAP32[(20888)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -42730,7 +42693,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(20584)>>2]|0; + $154 = HEAP32[(20888)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -42815,13 +42778,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(20584)>>2]|0; + $13 = HEAP32[(20888)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(20588)>>2]|0; + $15 = HEAP32[(20892)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -42836,7 +42799,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(20576)>>2] = $12; + HEAP32[(20880)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -42850,7 +42813,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (20608 + ($23<<2)|0); + $24 = (20912 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -42870,9 +42833,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5142]|0; + $33 = HEAP32[5218]|0; $34 = $33 & $32; - HEAP32[5142] = $34; + HEAP32[5218] = $34; $$1 = $11;$$1418 = $12; break; } @@ -42986,7 +42949,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (20872 + ($70<<2)|0); + $71 = (21176 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -42996,14 +42959,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(20572)>>2]|0; + $76 = HEAP32[(20876)>>2]|0; $77 = $76 & $75; - HEAP32[(20572)>>2] = $77; + HEAP32[(20876)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(20584)>>2]|0; + $78 = HEAP32[(20888)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -43025,7 +42988,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(20584)>>2]|0; + $84 = HEAP32[(20888)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -43057,7 +43020,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(20584)>>2]|0; + $96 = HEAP32[(20888)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -43076,7 +43039,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(20584)>>2]|0; + $108 = HEAP32[(20888)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -43087,14 +43050,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(20592)>>2]|0; + $114 = HEAP32[(20896)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(20588)>>2]|0; + $116 = HEAP32[(20892)>>2]|0; if ($115) { - $117 = HEAP32[(20580)>>2]|0; + $117 = HEAP32[(20884)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(20580)>>2] = $118; - HEAP32[(20592)>>2] = $$1; + HEAP32[(20884)>>2] = $118; + HEAP32[(20896)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -43102,16 +43065,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(20588)>>2] = 0; - HEAP32[(20576)>>2] = 0; + HEAP32[(20892)>>2] = 0; + HEAP32[(20880)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(20576)>>2]|0; + $123 = HEAP32[(20880)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(20576)>>2] = $124; - HEAP32[(20588)>>2] = $$1; + HEAP32[(20880)>>2] = $124; + HEAP32[(20892)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43130,7 +43093,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (20608 + ($136<<2)|0); + $137 = (20912 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -43150,9 +43113,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5142]|0; + $146 = HEAP32[5218]|0; $147 = $146 & $145; - HEAP32[5142] = $147; + HEAP32[5218] = $147; break; } $148 = ($135|0)==($137|0); @@ -43261,7 +43224,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (20872 + ($183<<2)|0); + $184 = (21176 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -43271,13 +43234,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(20572)>>2]|0; + $189 = HEAP32[(20876)>>2]|0; $190 = $189 & $188; - HEAP32[(20572)>>2] = $190; + HEAP32[(20876)>>2] = $190; break L96; } } else { - $191 = HEAP32[(20584)>>2]|0; + $191 = HEAP32[(20888)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -43298,7 +43261,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(20584)>>2]|0; + $197 = HEAP32[(20888)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -43328,7 +43291,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(20584)>>2]|0; + $209 = HEAP32[(20888)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -43349,10 +43312,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(20588)>>2]|0; + $216 = HEAP32[(20892)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(20576)>>2] = $129; + HEAP32[(20880)>>2] = $129; return; } else { $$2 = $129; @@ -43371,20 +43334,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (20608 + ($224<<2)|0); - $226 = HEAP32[5142]|0; + $225 = (20912 + ($224<<2)|0); + $226 = HEAP32[5218]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5142] = $230; + HEAP32[5218] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(20584)>>2]|0; + $233 = HEAP32[(20888)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -43436,20 +43399,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (20872 + ($$0431<<2)|0); + $263 = (21176 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(20572)>>2]|0; + $267 = HEAP32[(20876)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(20572)>>2] = $271; + HEAP32[(20876)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -43488,7 +43451,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(20584)>>2]|0; + $290 = HEAP32[(20888)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -43506,7 +43469,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(20584)>>2]|0; + $297 = HEAP32[(20888)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/models/models_ray_picking.c b/docs/examples/web/models/models_ray_picking.c deleted file mode 100644 index c6b51238..00000000 --- a/docs/examples/web/models/models_ray_picking.c +++ /dev/null @@ -1,239 +0,0 @@ -/******************************************************************************************* -* -* raylib [models] example - Ray picking in 3d mode, ground plane, triangle, mesh -* -* This example has been created using raylib 1.7 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015 Ramon Santamaria (@raysan5) -* Example contributed by Joel Davis (@joeld42) -* -********************************************************************************************/ - -#include "raylib.h" -#include "raymath.h" - -#include -#include - -#if defined(PLATFORM_WEB) - #include -#endif - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -const int screenWidth = 800; -const int screenHeight = 450; - -Camera camera; - -Vector3 cubePosition = { 0.0f, 1.0f, 0.0f }; -Vector3 cubeSize = { 2.0f, 2.0f, 2.0f }; - -Ray ray; // Picking line ray - -Model tower; -Texture2D texture; - -Vector3 towerPos = { 0.0f, 0.0f, 0.0f }; -BoundingBox towerBBox; -bool hitMeshBBox = false; -bool hitTriangle = false; - -// Test triangle -Vector3 ta = (Vector3){ -25.0, 0.5, 0.0 }; -Vector3 tb = (Vector3){ -4.0, 2.5, 1.0 }; -Vector3 tc = (Vector3){ -8.0, 6.5, 0.0 }; - -Vector3 bary = { 0.0f, 0.0f, 0.0f }; - -//---------------------------------------------------------------------------------- -// Module Functions Declaration -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void); // Update and Draw one frame - -//---------------------------------------------------------------------------------- -// Main Enry Point -//---------------------------------------------------------------------------------- -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raylib [models] example - 3d ray picking"); - - // Define the camera to look into our 3d world - camera.position = (Vector3){ 10.0f, 8.0f, 10.0f }; // Camera position - camera.target = (Vector3){ 0.0f, 2.3f, 0.0f }; // Camera looking at point - camera.up = (Vector3){ 0.0f, 1.6f, 0.0f }; // Camera up vector (rotation towards target) - camera.fovy = 45.0f; // Camera field-of-view Y - - tower = LoadModel("resources/tower.obj"); // Load OBJ model - texture = LoadTexture("resources/tower.png"); // Load model texture - tower.material.texDiffuse = texture; // Set model diffuse texture - - towerBBox = CalculateBoundingBox(tower.mesh); - - SetCameraMode(camera, CAMERA_FREE); // Set a free camera mode - - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - -#if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); -#else - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - UpdateDrawFrame(); - } -#endif - - // De-Initialization - //-------------------------------------------------------------------------------------- - UnloadModel(tower); // Unload model from GPU - UnloadTexture(texture); // Unload texture from GPU - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} - -//---------------------------------------------------------------------------------- -// Module Functions Definition -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void) -{ - // Update - //---------------------------------------------------------------------------------- - UpdateCamera(&camera); // Update camera - - // Display information about closest hit - RayHitInfo nearestHit; - char *hitObjectName = "None"; - nearestHit.distance = FLT_MAX; - nearestHit.hit = false; - Color cursorColor = WHITE; - - // Get ray and test against ground, triangle, and mesh - ray = GetMouseRay(GetMousePosition(), camera); - - // Check ray collision aginst ground plane - RayHitInfo groundHitInfo = GetCollisionRayGround(ray, 0.0f); - - if ((groundHitInfo.hit) && (groundHitInfo.distance < nearestHit.distance)) - { - nearestHit = groundHitInfo; - cursorColor = GREEN; - hitObjectName = "Ground"; - } - - // Check ray collision against test triangle - RayHitInfo triHitInfo = GetCollisionRayTriangle(ray, ta, tb, tc); - - if ((triHitInfo.hit) && (triHitInfo.distance < nearestHit.distance)) - { - nearestHit = triHitInfo; - cursorColor = PURPLE; - hitObjectName = "Triangle"; - - bary = Barycenter(nearestHit.hitPosition, ta, tb, tc); - hitTriangle = true; - } - else hitTriangle = false; - - RayHitInfo meshHitInfo; - - // Check ray collision against bounding box first, before trying the full ray-mesh test - if (CheckCollisionRayBox(ray, towerBBox)) - { - hitMeshBBox = true; - - // Check ray collision against mesh - meshHitInfo = GetCollisionRayMesh(ray, &tower.mesh); - - if ((meshHitInfo.hit) && (meshHitInfo.distance < nearestHit.distance)) - { - nearestHit = meshHitInfo; - cursorColor = ORANGE; - hitObjectName = "Mesh"; - } - - } hitMeshBBox = false; - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - Begin3dMode(camera); - - // Draw the tower - DrawModel(tower, towerPos, 1.0, WHITE); - - // Draw the test triangle - DrawLine3D(ta, tb, PURPLE); - DrawLine3D(tb, tc, PURPLE); - DrawLine3D(tc, ta, PURPLE); - - // Draw the mesh bbox if we hit it - if (hitMeshBBox) DrawBoundingBox(towerBBox, LIME); - - // If we hit something, draw the cursor at the hit point - if (nearestHit.hit) - { - DrawCube(nearestHit.hitPosition, 0.5, 0.5, 0.5, cursorColor); - DrawCubeWires(nearestHit.hitPosition, 0.5, 0.5, 0.5, YELLOW); - - Vector3 normalEnd; - normalEnd.x = nearestHit.hitPosition.x + nearestHit.hitNormal.x; - normalEnd.y = nearestHit.hitPosition.y + nearestHit.hitNormal.y; - normalEnd.z = nearestHit.hitPosition.z + nearestHit.hitNormal.z; - - DrawLine3D(nearestHit.hitPosition, normalEnd, YELLOW); - } - - DrawRay(ray, MAROON); - - DrawGrid(100, 1.0f); - - End3dMode(); - - // Draw some debug GUI text - DrawText(FormatText("Hit Object: %s", hitObjectName), 10, 50, 10, BLACK); - - if (nearestHit.hit) - { - int ypos = 70; - - DrawText(FormatText("Distance: %3.2f", nearestHit.distance), 10, ypos, 10, BLACK); - - DrawText(FormatText("Hit Pos: %3.2f %3.2f %3.2f", - nearestHit.hitPosition.x, - nearestHit.hitPosition.y, - nearestHit.hitPosition.z), 10, ypos + 15, 10, BLACK); - - DrawText(FormatText("Hit Norm: %3.2f %3.2f %3.2f", - nearestHit.hitNormal.x, - nearestHit.hitNormal.y, - nearestHit.hitNormal.z), 10, ypos + 30, 10, BLACK); - - if (hitTriangle) DrawText(FormatText("Barycenter: %3.2f %3.2f %3.2f", bary.x, bary.y, bary.z), 10, ypos + 45, 10, BLACK); - } - - DrawText("Use Mouse to Move Camera", 10, 430, 10, GRAY); - - DrawFPS(10, 10); - - EndDrawing(); - //---------------------------------------------------------------------------------- -} diff --git a/docs/examples/web/models/models_ray_picking.data b/docs/examples/web/models/models_ray_picking.data deleted file mode 100644 index 3e8be3b6..00000000 --- a/docs/examples/web/models/models_ray_picking.data +++ /dev/null @@ -1,554 +0,0 @@ -# Blender v2.78 (sub 0) OBJ File: 'lowpoly-tower.blend' -# www.blender.org -o Grid -v -4.000000 0.000000 4.000000 -v -2.327363 0.000000 4.654725 -v 0.000000 0.000000 4.654725 -v 2.327363 0.000000 4.654725 -v 4.000000 0.000000 4.000000 -v -4.654725 0.955085 2.327363 -v -2.000000 0.815050 2.000000 -v 0.000000 0.476341 2.423448 -v 2.000000 0.476341 2.000000 -v 4.654725 0.000000 2.327363 -v -4.654725 1.649076 0.000000 -v -2.423448 1.092402 0.000000 -v 2.423448 0.198579 0.000000 -v 4.654725 0.000000 0.000000 -v -4.654725 1.649076 -2.327363 -v -2.000000 1.092402 -2.000000 -v 0.000000 0.476341 -2.423448 -v 2.000000 -0.012791 -2.000000 -v 4.654725 0.000000 -2.612731 -v -4.000000 0.955085 -4.000000 -v -2.327363 0.955085 -4.654725 -v 0.000000 0.955085 -4.654725 -v 2.327363 0.000000 -4.654725 -v 4.000000 0.000000 -4.000000 -v 2.423448 0.682825 0.000000 -v 2.000000 0.565423 -2.000000 -v -4.654725 -0.020560 2.327363 -v -4.654725 0.000000 0.000000 -v -4.654725 0.000000 -2.327363 -v -4.000000 0.000000 -4.000000 -v -2.327363 0.000000 -4.654725 -v 0.000000 -0.020560 -4.654725 -v 0.000000 0.709880 -1.230535 -v -0.000000 7.395413 0.000000 -v 0.962071 0.709880 -0.767226 -v -0.533909 0.709880 1.108674 -v -1.199683 0.709880 0.273820 -v -0.962071 0.709880 -0.767226 -v 1.506076 0.859071 1.325337 -v 1.199683 0.709880 0.273820 -v 0.533909 0.709880 1.108674 -v 0.000000 1.875340 -1.177842 -v -0.000000 2.293973 -0.649884 -v -0.000000 4.365648 -0.627970 -v 0.000000 6.167194 -0.942957 -v 0.000000 6.232434 -1.708677 -v 1.335898 6.232434 -1.065343 -v 0.737233 6.167195 -0.587924 -v 0.490966 4.365648 -0.391533 -v 0.508100 2.293973 -0.405196 -v 0.920874 1.875340 -0.734372 -v -0.741367 6.232434 1.539465 -v -0.409133 6.167195 0.849574 -v -0.272466 4.365648 0.565781 -v -0.281974 2.293973 0.585526 -v -0.511047 1.875340 1.061199 -v -1.665837 6.232434 0.380217 -v -0.919314 6.167195 0.209828 -v -0.612225 4.365648 0.139736 -v -0.633590 2.293973 0.144613 -v -1.148311 1.875340 0.262095 -v -1.335898 6.232434 -1.065343 -v -0.737233 6.167195 -0.587924 -v -0.490967 4.365648 -0.391533 -v -0.508100 2.293973 -0.405196 -v -0.920874 1.875340 -0.734372 -v 1.665837 6.232434 0.380216 -v 0.919315 6.167195 0.209828 -v 0.612225 4.365648 0.139736 -v 0.633590 2.293973 0.144613 -v 1.148311 1.875340 0.262095 -v 0.741367 6.232434 1.539465 -v 0.409133 6.167195 0.849575 -v 0.272466 4.365648 0.565781 -v 0.281974 2.293973 0.585526 -v 0.511046 1.875340 1.061199 -v 0.000000 5.012550 -0.969733 -v 0.758168 5.012550 -0.604618 -v -0.420751 5.012550 0.873699 -v -0.945419 5.012550 0.215786 -v -0.758168 5.012550 -0.604618 -v 0.945419 5.012550 0.215786 -v 0.420751 5.012550 0.873699 -vt 0.0523 0.5444 -vt 0.1817 0.4284 -vt 0.1641 0.5859 -vt 0.0177 0.4451 -vt 0.1526 0.3090 -vt 0.0189 0.1737 -vt 0.0188 0.3088 -vt 0.0561 0.0762 -vt 0.1757 0.1924 -vt 0.3024 0.4534 -vt 0.3071 0.5902 -vt 0.3413 0.2459 -vt 0.2906 0.1614 -vt 0.4116 0.1801 -vt 0.2834 0.3774 -vt 0.1526 0.0362 -vt 0.2917 0.1622 -vt 0.4446 0.5865 -vt 0.4443 0.2989 -vt 0.3711 0.3021 -vt 0.4396 0.0275 -vt 0.4094 0.1829 -vt 0.4219 0.4255 -vt 0.5474 0.5381 -vt 0.5811 0.4376 -vt 0.5715 0.1505 -vt 0.5811 0.2997 -vt 0.5272 0.0533 -vt 0.2208 0.2194 -vt 0.3456 0.3610 -vt 0.2878 0.0321 -vt 0.2321 0.3392 -vt 0.4432 0.0177 -vt 0.7347 0.7934 -vt 0.7382 0.7595 -vt 0.8982 0.7768 -vt 0.6169 0.7595 -vt 0.6139 0.7879 -vt 0.4951 0.7634 -vt 0.1551 0.6832 -vt 0.2925 0.6268 -vt 0.2925 0.6832 -vt 0.7795 0.6832 -vt 0.6421 0.6268 -vt 0.7795 0.6255 -vt 0.5046 0.7241 -vt 0.6421 0.7241 -vt 0.3986 0.6268 -vt 0.3986 0.6832 -vt 0.5046 0.6268 -vt 0.0177 0.6268 -vt 0.1551 0.6255 -vt 0.8856 0.6268 -vt 0.1899 0.9579 -vt 0.1194 0.8696 -vt 0.2324 0.8696 -vt 0.1899 0.7813 -vt 0.0943 0.7595 -vt 0.0177 0.8206 -vt 0.0177 0.9186 -vt 0.0943 0.9797 -vt 0.2793 0.2349 -vt 0.2304 0.2758 -vt 0.6597 0.0177 -vt 0.6954 0.0993 -vt 0.6367 0.0768 -vt 0.7558 0.0777 -vt 0.7238 0.0440 -vt 0.8840 0.1330 -vt 0.7385 0.1141 -vt 0.9157 0.0886 -vt 0.9781 0.1232 -vt 0.9224 0.1276 -vt 0.2677 0.8141 -vt 0.3463 0.8037 -vt 0.3086 0.8339 -vt 0.6387 0.3550 -vt 0.7130 0.3801 -vt 0.6596 0.4053 -vt 0.7245 0.3245 -vt 0.6919 0.3383 -vt 0.8655 0.3566 -vt 0.7351 0.3577 -vt 0.9770 0.3365 -vt 0.9078 0.3751 -vt 0.9174 0.3282 -vt 0.2677 0.9018 -vt 0.3086 0.8821 -vt 0.6803 0.2948 -vt 0.6251 0.3035 -vt 0.7194 0.2854 -vt 0.8764 0.2832 -vt 0.9221 0.2861 -vt 0.3363 0.9565 -vt 0.3464 0.9122 -vt 0.6751 0.2482 -vt 0.6178 0.2499 -vt 0.7179 0.2431 -vt 0.9823 0.2484 -vt 0.9247 0.2452 -vt 0.3935 0.9014 -vt 0.6755 0.1996 -vt 0.6164 0.1941 -vt 0.7201 0.1992 -vt 0.8793 0.2446 -vt 0.9823 0.2060 -vt 0.9257 0.2051 -vt 0.4598 0.8580 -vt 0.4144 0.8579 -vt 0.6819 0.1498 -vt 0.6222 0.1361 -vt 0.7266 0.1555 -vt 0.8831 0.1684 -vt 0.9252 0.1659 -vt 0.4218 0.7790 -vt 0.3934 0.8145 -vt 0.3363 0.7595 -vt 0.8815 0.2060 -vt 0.8720 0.3208 -vt 0.8825 0.1012 -vt 0.9735 0.0816 -vt 0.9718 0.3817 -vt 0.9807 0.2918 -vt 0.4218 0.9370 -vt 0.9810 0.1644 -vn 0.1035 0.8806 0.4623 -vn 0.0964 0.9481 0.3030 -vn 0.0000 0.9780 0.2088 -vn 0.0659 0.9835 0.1683 -vn 0.2325 0.9320 0.2779 -vn 0.0553 0.9960 -0.0702 -vn 0.2827 0.9564 0.0728 -vn 0.1873 0.9776 -0.0961 -vn 0.2421 0.9703 0.0000 -vn 0.0921 0.9772 -0.1913 -vn -0.0277 0.9947 -0.0993 -vn 0.2308 0.9274 -0.2944 -vn 0.2771 0.9572 -0.0837 -vn 0.3724 0.9074 0.1947 -vn 0.0777 0.9770 -0.1985 -vn -0.1094 0.9539 0.2794 -vn 0.0364 0.9844 0.1721 -vn 0.1683 0.9835 0.0659 -vn 0.0674 0.9901 0.1230 -vn 0.4338 0.8823 0.1829 -vn 0.2845 0.9565 0.0649 -vn 0.0886 0.9961 0.0000 -vn 0.2000 0.9789 0.0424 -vn 0.1417 0.9830 0.1171 -vn 0.3021 0.9524 0.0412 -vn -0.0193 0.9986 -0.0493 -vn 0.0000 0.9777 0.2098 -vn 0.0005 0.9781 -0.2083 -vn 0.1879 0.9782 -0.0887 -vn 0.2249 0.0000 0.9744 -vn 0.9783 0.0000 -0.2071 -vn 0.9783 0.0000 0.2071 -vn 0.0000 0.0000 -1.0000 -vn -1.0000 0.0000 0.0000 -vn -0.3645 0.0000 -0.9312 -vn -0.9312 0.0000 -0.3645 -vn -0.9312 0.0000 0.3645 -vn 0.2615 0.7979 -0.5431 -vn 0.5877 0.7979 -0.1341 -vn 0.4713 0.7979 0.3758 -vn -0.0000 0.7979 0.6028 -vn -0.4713 0.7979 0.3758 -vn -0.5877 0.7979 -0.1341 -vn -0.2615 0.7979 -0.5431 -vn -0.1285 0.9864 -0.1025 -vn 0.0929 0.8937 0.4389 -vn -0.4335 0.0407 -0.9002 -vn -0.2867 0.7507 -0.5952 -vn -0.4339 0.0095 -0.9009 -vn -0.4338 0.0209 -0.9008 -vn -0.0408 -0.9956 -0.0848 -vn -0.9741 0.0407 -0.2223 -vn -0.6441 0.7507 -0.1470 -vn -0.9749 0.0095 -0.2225 -vn -0.9747 0.0209 -0.2225 -vn -0.0918 -0.9956 -0.0209 -vn -0.7812 0.0407 0.6230 -vn -0.5165 0.7507 0.4119 -vn -0.7818 0.0095 0.6235 -vn -0.7817 0.0209 0.6234 -vn -0.0736 -0.9956 0.0587 -vn -0.0000 0.0407 0.9992 -vn 0.0000 0.7507 0.6607 -vn 0.0000 0.0095 1.0000 -vn -0.0000 0.0209 0.9998 -vn -0.0000 -0.9956 0.0941 -vn 0.7812 0.0407 0.6230 -vn 0.5165 0.7507 0.4119 -vn 0.7818 0.0095 0.6235 -vn 0.7817 0.0209 0.6234 -vn 0.0736 -0.9956 0.0587 -vn 0.9741 0.0407 -0.2223 -vn 0.6441 0.7507 -0.1470 -vn 0.9749 0.0095 -0.2225 -vn 0.9747 0.0209 -0.2225 -vn 0.0918 -0.9956 -0.0209 -vn 0.4335 0.0407 -0.9002 -vn 0.2867 0.7507 -0.5952 -vn 0.4339 0.0095 -0.9009 -vn 0.4338 0.0209 -0.9008 -vn 0.0408 -0.9956 -0.0848 -vn 0.3918 -0.4298 -0.8135 -vn 0.8803 -0.4298 -0.2009 -vn 0.7059 -0.4298 0.5630 -vn -0.0000 -0.4298 0.9029 -vn -0.7059 -0.4298 0.5630 -vn -0.8803 -0.4298 -0.2009 -vn -0.3918 -0.4298 -0.8135 -vn 0.0210 0.9998 -0.0048 -vn 0.0482 0.9981 -0.0385 -vn -0.0166 0.9914 -0.1301 -vn -0.0090 0.9904 -0.1379 -vn 0.2820 0.9576 0.0597 -vn -0.0000 0.9846 0.1749 -vn -0.0921 0.9772 -0.1913 -vn -0.1734 0.9794 0.1036 -s off -f 1/1/1 7/2/1 6/3/1 -f 2/4/2 8/5/2 7/2/2 -f 4/6/3 8/5/3 3/7/3 -f 5/8/4 9/9/4 4/6/4 -f 6/3/5 12/10/5 11/11/5 -f 35/12/6 25/13/6 26/14/6 -f 7/2/7 37/15/7 12/10/7 -f 10/16/8 13/17/8 9/9/8 -f 12/10/9 15/18/9 11/11/9 -f 35/12/10 17/19/10 33/20/10 -f 13/17/11 19/21/11 18/22/11 -f 16/23/12 20/24/12 15/18/12 -f 17/19/13 21/25/13 16/23/13 -f 17/19/14 23/26/14 22/27/14 -f 26/14/15 24/28/15 23/26/15 -f 1/1/16 2/4/16 7/2/16 -f 2/4/3 3/7/3 8/5/3 -f 4/6/17 9/9/17 8/5/17 -f 5/8/18 10/16/18 9/9/18 -f 6/3/19 7/2/19 12/10/19 -f 25/13/20 39/29/20 9/9/20 -f 38/30/21 12/10/21 37/15/21 -f 10/16/22 14/31/22 13/17/22 -f 12/10/23 16/23/23 15/18/23 -f 8/5/24 36/32/24 7/2/24 -f 38/30/25 17/19/25 16/23/25 -f 13/17/22 14/31/22 19/21/22 -f 16/23/26 21/25/26 20/24/26 -f 17/19/27 22/27/27 21/25/27 -f 17/19/28 26/14/28 23/26/28 -f 26/14/29 19/33/29 24/28/29 -f 26/34/30 18/35/30 19/36/30 -f 26/34/31 13/37/31 18/35/31 -f 25/38/32 9/39/32 13/37/32 -f 22/40/33 31/41/33 21/42/33 -f 6/43/34 28/44/34 27/45/34 -f 15/46/34 28/44/34 11/47/34 -f 21/42/35 30/48/35 20/49/35 -f 20/49/36 29/50/36 15/46/36 -f 22/40/33 23/51/33 32/52/33 -f 6/43/37 27/45/37 1/53/37 -f 46/54/38 34/55/38 47/56/38 -f 47/56/39 34/55/39 67/57/39 -f 67/57/40 34/55/40 72/58/40 -f 72/58/41 34/55/41 52/59/41 -f 52/59/42 34/55/42 57/60/42 -f 57/60/43 34/55/43 62/61/43 -f 62/61/44 34/55/44 46/54/44 -f 40/62/45 41/63/45 39/29/45 -f 39/29/46 8/5/46 9/9/46 -f 38/64/47 42/65/47 33/66/47 -f 65/67/48 42/65/48 66/68/48 -f 65/67/49 44/69/49 43/70/49 -f 81/71/50 45/72/50 77/73/50 -f 62/74/51 45/75/51 63/76/51 -f 37/77/52 66/78/52 38/79/52 -f 60/80/53 66/78/53 61/81/53 -f 60/80/54 64/82/54 65/83/54 -f 58/84/55 81/85/55 80/86/55 -f 57/87/56 63/76/56 58/88/56 -f 56/89/57 37/77/57 36/90/57 -f 55/91/58 61/81/58 56/89/58 -f 54/92/59 60/80/59 55/91/59 -f 79/93/60 58/84/60 80/86/60 -f 52/94/61 58/88/61 53/95/61 -f 76/96/62 36/90/62 41/97/62 -f 75/98/63 56/89/63 76/96/63 -f 75/98/64 54/92/64 55/91/64 -f 73/99/65 79/93/65 83/100/65 -f 73/101/66 52/94/66 53/95/66 -f 71/102/67 41/97/67 40/103/67 -f 70/104/68 76/96/68 71/102/68 -f 70/104/69 74/105/69 75/98/69 -f 68/106/70 83/100/70 82/107/70 -f 67/108/71 73/101/71 68/109/71 -f 51/110/72 40/103/72 35/111/72 -f 50/112/73 71/102/73 51/110/73 -f 49/113/74 70/104/74 50/112/74 -f 78/114/75 68/106/75 82/107/75 -f 47/115/76 68/109/76 48/116/76 -f 42/65/77 35/111/77 33/66/77 -f 43/70/78 51/110/78 42/65/78 -f 44/69/79 50/112/79 43/70/79 -f 45/72/80 78/114/80 77/73/80 -f 46/117/81 48/116/81 45/75/81 -f 44/69/82 78/114/82 49/113/82 -f 49/113/83 82/107/83 69/118/83 -f 82/107/84 74/105/84 69/118/84 -f 83/100/85 54/92/85 74/105/85 -f 79/93/86 59/119/86 54/92/86 -f 80/86/87 64/82/87 59/119/87 -f 64/120/88 77/73/88 44/69/88 -f 35/12/89 40/62/89 25/13/89 -f 7/2/90 36/32/90 37/15/90 -f 35/12/91 26/14/91 17/19/91 -f 25/13/92 40/62/92 39/29/92 -f 38/30/93 16/23/93 12/10/93 -f 8/5/94 41/63/94 36/32/94 -f 38/30/95 33/20/95 17/19/95 -f 26/34/31 25/38/31 13/37/31 -f 22/40/33 32/52/33 31/41/33 -f 6/43/34 11/47/34 28/44/34 -f 15/46/34 29/50/34 28/44/34 -f 21/42/35 31/41/35 30/48/35 -f 20/49/36 30/48/36 29/50/36 -f 39/29/96 41/63/96 8/5/96 -f 38/64/47 66/68/47 42/65/47 -f 65/67/48 43/70/48 42/65/48 -f 65/67/49 64/120/49 44/69/49 -f 81/71/50 63/121/50 45/72/50 -f 62/74/51 46/117/51 45/75/51 -f 37/77/52 61/81/52 66/78/52 -f 60/80/53 65/83/53 66/78/53 -f 60/80/54 59/119/54 64/82/54 -f 58/84/55 63/122/55 81/85/55 -f 57/87/56 62/74/56 63/76/56 -f 56/89/57 61/81/57 37/77/57 -f 55/91/58 60/80/58 61/81/58 -f 54/92/59 59/119/59 60/80/59 -f 79/93/60 53/123/60 58/84/60 -f 52/94/61 57/87/61 58/88/61 -f 76/96/62 56/89/62 36/90/62 -f 75/98/63 55/91/63 56/89/63 -f 75/98/64 74/105/64 54/92/64 -f 73/99/65 53/123/65 79/93/65 -f 73/101/66 72/124/66 52/94/66 -f 71/102/67 76/96/67 41/97/67 -f 70/104/68 75/98/68 76/96/68 -f 70/104/69 69/118/69 74/105/69 -f 68/106/70 73/99/70 83/100/70 -f 67/108/71 72/124/71 73/101/71 -f 51/110/72 71/102/72 40/103/72 -f 50/112/73 70/104/73 71/102/73 -f 49/113/74 69/118/74 70/104/74 -f 78/114/75 48/125/75 68/106/75 -f 47/115/76 67/108/76 68/109/76 -f 42/65/77 51/110/77 35/111/77 -f 43/70/78 50/112/78 51/110/78 -f 44/69/79 49/113/79 50/112/79 -f 45/72/80 48/125/80 78/114/80 -f 46/117/81 47/115/81 48/116/81 -f 44/69/82 77/73/82 78/114/82 -f 49/113/83 78/114/83 82/107/83 -f 82/107/84 83/100/84 74/105/84 -f 83/100/85 79/93/85 54/92/85 -f 79/93/86 80/86/86 59/119/86 -f 80/86/87 81/85/87 64/82/87 -f 64/120/88 81/71/88 77/73/88 -PNG - - IHDR>agAMA a cHRMz&u0`:pQ<bKGDC pHYs  ~`IDATxw|]$Iq/^L %FBMo JB˓'lBǸH!Fcܭ.IV[f~3lLy~;ms\P(R@K@!BH`-ܱ:@ -aC 5\*/B4?g}9 o$0"\;\ss/?`~A c"$.?Sot:Ʊ)3.\}=3tB\E8i9}+;l!FMR`R$*$#߃d"|<"HF E%}L?{O}5~ͱR"k#A@2As4 -;B~sq9ړ+Ou4#[y<O.z?W?7Kq{#=hBHZH\MfzM)Osopl{o4H1߹M{gϑڷԾEZ>GH IYrC* "c&.MPX扅yro'< RwY3$##Dj%d*%[JY?u6!Ǣȇp!* ;AEҶy!߃T"Ɵ|+c4$w,SZa w)_"@¾5e= -+ hN9^}!Hgϫ*xAgJZBjEFw!׷—E)#z# [$BxG0‰KNAqR]]$ @mM 9zw~`'Õ[,-v!đOyt D^"R62餁AQ$9;,^\`ٲe\~_xGO,h_H~IoOJ.|s'D]@~-YK C]Jey=W/J^+>Gl+=@sS#WLKK O,|[EE T}H?D2Lہ Nہ5>d :@r" :{U -DZm'|18؎²mP`;mJA&DJR!rL WQ^ġ#LOST7+tu 4l cѴM)&q=_KBk\AلMY>fm&ݺ9O-zCO܀=Bi1(EہG|ZQZ_A.G~:b#oaE>{4H$ޣGw|jZc g𝳧qSr18b L{D{?&@}"_!.H kWm4{ӐRdps} ̌ PY]$ ll.{Lk99{ -ZS̅gO$N .;y'JEi>{ߢmۉ5 7q767xf݆O$A2TJ19@#}h*멬9IѳV$3Kї.l1m6T388NKU%.Ge!_7Iý -.++$1s&uI#z 3غvNAiUs -)D^Yd@yXFqW0Yt)4H 8QPqm>p.UW @l}xOD,D]7#C 4| ڎGpJ e[IJ@J0S@}'bR]sd1! M^_M}o$RR$,Á1Q {.C/?磈r~P]]} FQ%Wl>[Hx*A^\PwG$a1 @Ѻo9Bap9]KCҫW/E"Hb#e d͚ ߰͛}1#B'(0Sdӏ>PouCB{=s;]^QSwy֔/sJ镬(gYG }Np!xW2[`{ ;+;1w0O\lOoT*XE$IW޿}OJ - $7'j!\y2Ӻ -)Y*ֽ'ahPJ`׎ "C!__"p-NgXS$]M1yW)h 9a-۸GqXuضEe8J]8Qdǻ,EckNS[$ ڵ8Nj0iS2 *}!t "2CDxs'>x];~O9,[eѺ]AZ}뾋RJ#$#lbewqRKNbԷS;8Nc]8Bʄm!{iP5f<gˆLF5{  Z"Դwz!אCs t32tY۶PF~G"X{lBjV|OY|+LbG9ѣGJcS3y0 #U4-`D6խ@OBU{Qqڢʡ-ض،ލh4J8`kj>5IB>/HC~W֊L">XAMA - (,ZHЃet.3L ̫L СCﷵb6 45:@,#B" פp.E4ױMu{PIǧrr@$ -!8t4K_tU@)8 -q8ph=euG^jt}}^Gm457D"jj|Xb1,+m8v(|e6X'DDc -HO s0pxFg-E:B"GTu@ku9,:t(5444RZR#BL&NOVvߓAzF"~/eGc1kkIMQ) R|Ht8,xȇA(//Ʋb8eYGT#4W(.=޳;YYdfӧo3?=W~ǟ$vXPI)q[pX8 $#@|}0#=7 55UTaAzinnÆ&BfC_G -#mAVϞ 8ݻLKS m"4 L0Np#H۳ץP'8pf8釂#!PXPD}CH;i0x !#'+CEID!#+ -_t:wq9](*Đ e4JQx#"KeVWOGi C~MC}uH@YY9ha$é~{Q%𩧟#ΕvOC&뫬!J -ዮ"q_ rsՕ>!DiBغ,$ގPH9q!C!t#x p("Z??j}<oG|tdHFnu_9Ȭp(N8@W,7y8 yn"s_E~U:ܳdJo:"#>%OXgHw<82 -u!P -Gz;8xv|睉{1r4 ;(pc9kDS=WnN+%dq`̞uwuџ{k6& ힱR?ԇ+Jgz/HA19L 0ͭ<(%N*(aW.(ǽeDV]u7yL -rt ȊvN8s_<ʭD s~ţk׮ZDBFFfg+̃#ʓG|88V5R=vR/=wHv5EEܣ<&soTWW&t;wFرcu}G.5R}_ 'uݡ=gy;.#YH_G ǞRq;ܤH)8cxG< ?gtos?90 HÕWw'/{Aon'=:pc)24 } ,6n\OmnSJ$̞2,/g]n3&SŚ1"Q8̘ۨ/?))3Rӱ٣G"uK2{8oc\ p%8@<~~[]":e* -~6rӹmj+ӎaۑ~}@2sQ,\`z|tW'Wpowĥ{ @ZwpeEJ4KVʡ (]\ٵ{pKԸmu?!?n9Z6l1SuW,_X?)pٓ'NgG]\O2/$ -ش~R̽lpo{ʇ =h."E83n;wo>~Ht5}VwM%=Fٺ'ѠAٵakBU;fx!Qbv|Rb#+C~ -m0nDxڱ)D0eTbk֔>شq#.8e[[[+M{uhLr7fV_8M{cMئ9fU eGEo~ʅcq -)++E9"TVUZ(P1S'hQyvH'Ţv"2O!yLOGdOy)SqՐ ,{3Br2])0Cw^:~Coc;ʶlރqƎ])^ca-hX{%(/+ӫkPYQR~ M -Z5q~]G~%}ΐeY6"DO(>`c2|9wx.Z_snql-͖]X6.Uǎa]Zv;fOրx YIXʔ{;J6禜r<68n\ѻW]5-rzF55RVcVnw'"}s]}5b1C>=S#[ykff73O<|WbGc} $-XJma/ιU5/%zoE:(= Ue# m[|Zq)Q)صgكP\aɚRmBma%emi'Q -'n>€(mδeQ}Z6(Ft|/n%%SH}m.qһW/MNN4|WxW8sO9'ˊT[[ͪ/TsBѹcm2 Ź -ho=w~%ıef$ &f(F]q&< e$аƷoIj}+9θ[5wbwq c#m pQlݾ Jd臷^mr?* *cvXUa(bc@A^ 8߲IlinǶlb:g,iz;*ɜ6;+&lw `ׁRB)p(x)(*94$a00 3'4+HbGpRwH7B: -tRxpc^bϯo'{D?+9o  (x oWp=B8 -*5yIf6b) sygbl*P8n>m@0{wx>~p)5K$88ʲzwlG?doru?gġUHH ->HAQaRhCa1RfowzN|`b?pŹ#vq-'GF,;Fޚzgm5H)R`[im[>YCpE0} -M-aEc ܅ j - A+js&xjz \:ܱS+88H~'Kmhi"+$cF.kjOhz|v$ItICb>Gk~2Z!xMykv'ld](f0-9e4y[ -7v<8 jya΍XveJj Y^+er -r8EsNj qg3eV4Һb!-LWxPW_9/PUUkNJB&o8_##4ڎ-YW jomd< }bPƏ߼m0!76[mEMu._eܹ!}/;Hmq10 I֘R$ݲqlVzdA]uϨ%N[hԎnؘ^ Ѳ;W@EȹCp:D@DŽ8q8[>2Ci2ٸqG:e*「`q"@vL: #Roi/w?waS2Bj( &r(޳Ǐe81ݺIR~:NZO^rMKO{ PSS?^W1Cf3h Co  -ѽ[f0/cؖvGyVrX,F{{{Vrl;.ˈ4Pf88vӽ6nHΨ@{Tz b<}uO"-̻b}y|ן]Dz,X\WG'.t e+?4-m|ח|?o>e;7k-:|#+Y=!++bZ_PPQO_O^#vw^z:ѕV=O0pb/xȷq)ϔ xWǮ߈Ktnn'0yd6oL)BS[O"oMcǍc68r([<Ӕ=F\;d8m^> ;v >=dmi]A[Z]VRzߐJ p9A2aVJFцΆ2 SRF"xDHPFRH ^.N'mc>z%̾qr;/Ongbo؁՗sٽg'g[uQ %bq;i"J]; vOmk+ `Ƕ؋ƽ5\~~5_G ,]رц6h Dz &U,;+knG7x``0FJUEKГ(IK[" <gG~tM_ ktl!*]%*Y|+f!s?]ޟ^#f·N -n_O}7y@ 7D&K6o=u8W)TkjeHv+naEZkl^Xr D[;qIS`LW|Cr5eH Þi_x1GaEb6ҫwoB "-#LFv**`,gt1CöR}20i.M~B' 'iu(/ ө },s0D}6[!kQ`$XBjl@96V<|+ni]CO8ܵ5աg?ZOZfz2}iFʔeٯ:饡C}= ncZkq,ɧRkiFٝxLOT<:D@6i\tvV *h3QHI}]!L(1-W9D ꉋRnmB.0ܿ-%uqmYojB_%@TAԁI7b. $?kw1r5,I` [Fb$`1?*iHf aKKQ"1)tӮDڹљ?.u, kk3w)gTn:j}B".?d;zWOCҐ@4E&In]A 4 a x^3o {w|PXNŷGA1GroX (L/3w.n-ϣȕp ?j&\m <~e,ܰo\:q(w"KxaQ#()*ı j5Q؎9PB.Jo r0,ACCG8F6p90/iA_moˎ"+bBOiJh?Yqk-?]_#kR4nd `c vG@ Κd;Kߓڢ -;Vkܬ3-n1 i?f۹r(L3 n-EpwHXQٟͪmug({$ċ<JX=RG@@=u҉Rin(lC@zV&퍭(ǐF`A4D_rlƶ~zUJF{8Fff!b&,HxEB{\sGA4,K8jLQI?TZ49r$S wn?NjUQSRii.cц] uy,2Q l;n3tPx>=_xYé.&=iւf$ Y#/-D(=@Z@Z@84 !2 kaJ葉ns4L3H]]=$`nk'-MpaN:3̉9)!!E';e𑵼$@-jíۄ4OJ0 Us0D.aB\0`bfj, w8i9GzM8b忖cR[?N{{m)(r4hEŤnɱbjWmis}z0> .}} #``0p FtWd4"?H(FM7"MSjkNGѴi -a*9cz a?Z9p#F(h& -Sϒx$y#"nqGiFtg7R?8{}Ѳ2OĩV7ԖTAmQ,s .}/ڥS?| k uhxeuEql{I$F=^cH0׶ZPzH+fZ@#SH4$E^N\gI`a!QVZ -TCU~ 9Z6f{H< &N@JGhjkw\.]S)o8xO$qGA -Ȝ]L8qQ6PUZ7P@3nG+}NVGp![=pAr  ’ -aw.ڏ;,{?sۊ5 RڇSQQP΀T]aȀIZ/sW&P=&gP_TԕWЭ_MIBxұH)1CAE0"QX\(ƌ_;hߘlf.n1%Woo㥭V"ttTQ#(wFy8E#ㄎ SӠ0 mQ ='@о=@m64z,]b.^͢9?sY]bϺ"X˟y5\q|VW\u1[PJ3/4Q}v,{|'ҁ5( -E0D 4MM4! z 8] m -vQRAZ8 gC8,( 7Np͙Lic:0 6; Ц8P9NE 9z,.|ft6ў;_CrFx|Vlݺ_C^D)$^] ,|r?+pG%.߸ڢ -BhSUXtE -@J!%=2Л`8gΒOJغi3f(1ժo.[xn ,]S®a2pX -%= , 4Kv`6lH'=Td`W!5: sa6/jD" \Wi?P -&;o|TyZ uF -u(Gn[SST(غu35Epf| 4ٲE`-jNJ[65_G1m`3S`dEY>7jkMg*M܎m+m;Aܫ)Lɮti`hqu7MZ'U&p*!'R&AǵY;tEgpԠ8AוkoqCb[9yϾ Αw2`pbwG:K_\A7{!~ lGDEW7mJ55p`-o~] $M^ @ -H,)Kٿ\yb0'̜HYO0$Fji/3E4ךy(m.'& ->3B&yxzT -LӤf$;/;fbHM0 t}P.lMAG8h~VdҐҍ++{w b[#Pd =hw X1L&N9PSz''z$zu-G]aqq8)N6%N(UŢu{UhGfş0 6m@mY%yN_ -.W[~/Qe+E  ر7d]V`%yrXL#M'l'Ғ$ТVQ$XrrF{>1;ێDيڒ -νşe"vr̘c1/VZ0 z@ŞJ'Q83w .z< tmϼc7) ~x -G1K6bFe!1߫~_ٗ!%xnOƇL+Iv{I8_75r>4ذZ&(e9 ;{6"us\@`Zд0@Bp\N`h~M@wk*|hϘ}n~\y(>bIZcsq#y|-qX͞ -"U`Iφ{dH#ܖҥCJISsi3rەc*V(c@kigfٟ]7LH yFfO?% -S>ǟoEwPYݯqG#ʔZ*g9E{+_cu{N9Js)`?tsoho(ٜNh:M#%6ӶÍTN z u.ܜrS Y3Mg~^{Ƕ ֝8b|vܡeX8Ï5NIݝ5 I=ƾEOp', )>K]~#GEֈL<oRp 3m-CF!եwg}tOsY|AnlM&?ftWRY ŒrMR9agnۚ6PKzpF͚`l?Tǵ%OYYA[l7kgf Gf̸rF'{x_}P{ER+ OOVUQu*ofWZFdLSS#g챓A3B~&?!%.k۶ TYO٧;8M'L5; m-`ɜqX.)ALC^$[ }|w>OOצ;,ڤś4 7Qh/_tS;э혓hH ,[mM u \\M?vm`„I -&͛7Q[RjzV[v$8SJyi)Vq e  KKq7ls/LL^yqC6JKK@+me{KQð:y dZJ0[6mB'Mvi^b'k.FfЀ m3r^^dlu P\$L7C$p"ݷ*V8͚FC."1 SGm*!kdfݫ`g.Wd&[mW`IlB}IR -ι5>CPF-ĎY|'Hi0dPmۇcCa' ;_>(-/N^:|Wp#M 7;o -Aٖ]_8~8ؖG6Ѹ>Šv1aZ%P 6d kkz6x.!HAz (܄Z0MA4ue+G_$0o<#ml+~A["NQig,'͝[5?3u{} )@] ) ?,xFޅvmv6 6A}).+jP,%.  ^YKHÊD9rQ+ESe|)%ESEȯ -fŒy?gETp{ `10#dW汛V>4^5+zNˢyc==gQSBiYlG9Uv\4;'h[L'45= hЂO~7\>?BDJ@g0i"[]{;V&)7t_sʝnQ#W_'ƍǎu)]5*E[Cm3scؾ)3`ҝ9L֚`΂3pKվxv/'A~W=2 -`/#(v}l74]M{[Ԥ-}'EzPy[mgy} ϡ4G1MMdD9E%c ) \ߒ#IarsOv1][3o~b7`~ȝϾ/!_;Z%MT~~YL=8̀ɕgbȀfèѣ)-+Z0g*7/a?w&8RtR#9䓧'CIi)H=Ƌ܅mX_UDzm>h6wcu715\GQ:J94hP4}=eӰJp_Ś>3xByoLgk PS/|!pGv0󹿢ǰx.0-`}3Ow2i9 ާ'1O_̓WS)uh^ ďN+" IaaOJwHA˾=,nu9"kv.ɨ#<(ssu?aԣݸ ('Op+n P1Vb'ʉ('os!ݠ-9iPQ/A)(wqn{ -fBZ iq_V7)JWnY6WoŮ?[Yͬ{ݦFnzXᮇз 8GF7\i{~wΩ`!~eƝ ~p|UF9{h_ˣ?(G9? 7Rx ?J x2[Jy%m[e),n2m1e0[l$Vr5B ->ˋ;R` ^ALᅤR`+y7U2?O6sHv $ 5w1 ,kr2!M1U@ܲlZO5j[A]HKkpl*^ ,[_•ǻ}"? 2p, nձ];+ӱg!hoj@c}P"܍|SPG럦A}y "WTe2y'61|D"ڽζ!(** t)`+-o@O?ϕj{lk55rCӮƆwcfv7<'I l' 6]PlsꏙuQ̾q?+IJ`g5?\_ϱa/dĎƱqjV`5ۊ WvJfbҔwKY zGEE΃O͕\,RR[ZEְL7!]osAZDRp((.X9&'^vH-.daaOe~Ik۠}fR'Ꚗfi%&X=%ff?^c~;3``m@;jHת?v, ih6D;b0vl ?|y"wq zR(sePSk#1*++ Lן|>YG94E ߠ+ -iK_whwtw)6LȀ·}D*e(<'˧)5=^1󋃘akQV:C {~5>O則fbw 0?^C]Z"Mt_wf~PڴSBl&-3] wL:|!#GvY:x{_Q#G@[0t~"o;+d DސcaN2s=D}OKb[Ppo*;V!WVO+L+V@:[QU-AnݺUGOZ]3/Ky+x7t/FD %~9?8/cL|x+B6CnkiVEbaLOölZQb'Di\AOցR >HS h(>t'Q%A9A5ӸW91,7]exoCX174.5QDW> n9\knfm{Xq~ ;fqόt<>-- wضE= sl;lm+ED -'N"Fj~@O>4 ۱p_?qo RJ~?oJyhz~R{W?WVswrD).q; k+iw7bz rll 6DK -I@ ;Hɚ5L:6EeZAM {B8D;&q#?3xVY/>3bb+xal-؁tȸ 38S7 oj%劕V3 M`o_8[4g,PSv/4 [,xf'RWY,D'p$ +nakG)fѰ~{9uMNPB%:$=t0;h"Nc>=wwy\Tw..)B68;ͦu -L9x~BU߿_sZ.. B0 }KlmQP_ñj5HdyWʂL >0$νA |BtzX8vHO˘oW>V"o1'<-BJGnNTflDM)]xN<ܵbo2vhöl@Hr9 j_Ii%{o+QЁ"l~r0V)e%}FHg^q\{*.Bli{AAQQN؋5J?fIF2q-M`ڐl|$DưNJ(!8:xCFW` - Kl-m/0ȴ45[cD6# 9首ͻu;yZ?pS,]5 OAw 6CI97U^Qɠ5VRLp~m_y9',1,!`Zpnjqw&k[~'nFHՍHC򫟞̓OЌ!`A'g"oe){h۔^ghW'l۶nNUB].+gC{(Kgm, Ro+_+u[np'L ,{(e=ڵ6-"36@Τ  -=.Q^Brlľ%[^nX[X >5jHm۷;yjLҁ!%;w@x ={v "xv,8%Qh[ͦ%Ro|Mub-ScY) N 3̳f -Uޖ-6дi3N`~I)A +u㇮-[-mphPw3apxո!w|0@,˟mC=Nb'}δr@QiH Ä@Q<6V;EZϺJJHF{] ) =vp]k0~3o-7X6=I{_ڨF'z~:ijyױf^:h1Ql)󽊽j'[+7ݴ7mi!xwx5ACC=vhGf0ӂ3iF րai"Ě۩(ǀ(>R  t?In}5dq 6.h|%@ 'z-_Re!-0D#~iאFsvG8fXvށ4 p -^7߿EzO90 z˜͒UHC\@Aһ: jSpan}f5%Pf g[e~2J1zh -\1 o<>כI+癷Ӽ1:/&= \ uVO)v=Lhܕn$ 5PAH -l!(?O0`㈭BDV`V /IfN?;^xɷ ->ߍubycVW/^{7Uz+g %oE Q!֗[_sV0=6i߃^=Hɠ@B -]&!0{ry3-G ܁fer - - :!?ZH2jm_ -_ou@3I8.Eӈ hP^7P!q~Pv^Q -[ٝ9wWߖO]q%9+d%p;̼_3GhwG oeR -ƌ;9/7jQvQg]%\qp|Xtǁ;e<AÇ̀ҋ3wS1 iֳ2HZ8|ZsSSS'( Lw9{[mo4+!|?*{!ᷘ;Sjw-xV?Cb>qHX^*Xjۥ5B's:"?L]I`a9X떑tb3 ѶݔQ̻%ٹs3;wmiTY^y%uWN[bиn104|^뗠ۢ <[v-#m -$0 86[!Q\Tb7,QH 5oG~_ڻ"xN]q=/0w7QW<% -ٱkG -1Ϲ")E-8}J9|B@1w7! N9y:vZ 0eyf,$+svwK!dҕۙS9K($c-!aT8(ֽO477cu떯Bq+0 %E̜1ܕo@9cgȯ{uʻ,io?irƥd[ɡEDٲE(0MlK8{5(Xq)4?~<X -|X-<}^9]]SFJ~wNz̻!$W>k7~vcCgHR4w{159o}h+C9¥K VB^"rE+UB^ݏz)>0yOaW?xMWH(s-KW1*v54sn1~*0^r|$+O/y<,r?(hΝ;{E*DV=LLtqɔR,^ܵl HsCeUmD4aiam80}4ޣض'Jcc ĢC>/g\W8oՋWrO=sz7w\N^vw {}nj4a}[ pu ;wH9dUqd{5p-[6PW[<۶AAӏ L&CRm7qptY B}w(Ho,-y8w_θ]/<)<^C* +|iUX|XHy$P_v`֩# r?*Ҋ Aުk̽Y* 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - 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; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return xhr.response; - }; - } - - 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); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var 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}} - -// === 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 code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (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); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// 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; - -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 - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - 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() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.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 = Runtime.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. - ccall = function ccallFunc(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 = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = 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; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -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); - } -} -Module["setValue"] = setValue; - - -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 setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -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 -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// 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_* -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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - 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(slab, ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - 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 = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// 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); - } -} -Module["AsciiToString"] = AsciiToString; - -// 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); -} -Module["stringToAscii"] = stringToAscii; - -// 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)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// 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); -} -Module["UTF8ToString"] = UTF8ToString; - -// 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; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// 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); -} -Module["stringToUTF8"] = stringToUTF8; - -// 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; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// 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; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.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); -} -Module["stackTrace"] = stackTrace; - -// 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; -var buffer; -var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), - '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); -} -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!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -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); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - - -function intArrayFromString(stringy, dontAddNull, length /* optional */) { - 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; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - 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(''); -} -Module["intArrayToString"] = intArrayToString; - -// 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. -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var lastChar, 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. -} -Module["writeStringToMemory"] = writeStringToMemory; - -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); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -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; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -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; -} - - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -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_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'); - } -} -Module["addRunDependency"] = addRunDependency; - -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["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = 8; - -STATICTOP = STATIC_BASE + 24080; - /* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([0,0,200,193,0,0,0,63,0,0,0,0,0,0,128,192,0,0,32,64,0,0,128,63,0,0,0,193,0,0,208,64,0,0,0,0,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,11,90,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,109,111,100,101,108,115,93,32,101,120,97,109,112,108,101,32,45,32,51,100,32,114,97,121,32,112,105,99,107,105,110,103,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,116,111,119,101,114,46,112,110,103,0,78,111,110,101,0,71,114,111,117,110,100,0,84,114,105,97,110,103,108,101,0,77,101,115,104,0,72,105,116,32,79,98,106,101,99,116,58,32,37,115,0,68,105,115,116,97,110,99,101,58,32,37,51,46,50,102,0,72,105,116,32,80,111,115,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,72,105,116,32,78,111,114,109,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,66,97,114,121,99,101,110,116,101,114,58,32,37,51,46,50,102,32,37,51,46,50,102,32,37,51,46,50,102,0,85,115,101,32,77,111,117,115,101,32,116,111,32,77,111,118,101,32,67,97,109,101,114,97,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,68,101,118,105,99,101,32,99,111,111,114,100,105,110,97,116,101,115,58,32,40,37,102,44,32,37,102,44,32,37,102,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* 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}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },recordError:function recordError(errorCode) { - if (!GL.lastError) { - GL.lastError = errorCode; - } - },getNewId:function (table) { - var ret = GL.counter++; - for (var i = table.length; i < ret; i++) { - table[i] = null; - } - return ret; - },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { - var source = ''; - for (var i = 0; i < count; ++i) { - var frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); - if (instancedArraysExt) { - GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; - GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; - GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; - } - - // Extension available from Firefox 25 and WebKit - var vaoExt = GLctx.getExtension('OES_vertex_array_object'); - if (vaoExt) { - GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; - GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; - GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; - GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; - } - - var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); - if (drawBuffersExt) { - GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; - } - } - - GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - - GL.uniforms[id] = loc; - } - } - } - }};function _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; - setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var browserIterationFunc; - if (typeof arg !== 'undefined') { - browserIterationFunc = function() { - Module['dynCall_vi'](func, arg); - }; - } else { - browserIterationFunc = function() { - Module['dynCall_v'](func); - }; - } - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || - document['mozPointerLockElement'] === Module['canvas'] || - document['webkitPointerLockElement'] === Module['canvas'] || - document['msPointerLockElement'] === Module['canvas']; - } - var canvas = Module['canvas']; - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.exitFullscreen = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['msExitFullscreen'] || - document['webkitCancelFullScreen'] || - function() {}; - canvas.exitFullscreen = canvas.exitFullscreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullscreen(); - } - },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); - Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { - return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); - } - return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },asyncLoad:function (url, onload, onerror, noRunDep) { - var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; - Module['readAsync'](url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (dep) removeRunDependency(dep); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (dep) addRunDependency(dep); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (event, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(event.keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); - },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event, 0); // GLFW_RELEASE - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function (path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - var usingDevice = false; - try { - fd = fs.openSync('/dev/stdin', 'r'); - usingDevice = true; - } catch (e) {} - } - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - if (e.toString().indexOf('EOF') != -1) bytesRead = 0; - else throw e; - } - - if (usingDevice) { fs.closeSync(fd); } - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - - } else if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function (node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function (node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }}}; - - var IDBFS={dbs:{},indexedDB:function () { - if (typeof indexedDB !== 'undefined') return indexedDB; - var ret = null; - if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - assert(ret, 'IDBFS used, but indexedDB not supported'); - return ret; - },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { - // reuse all of the core MEMFS functionality - return MEMFS.mount.apply(null, arguments); - },syncfs:function (mount, populate, callback) { - IDBFS.getLocalSet(mount, function(err, local) { - if (err) return callback(err); - - IDBFS.getRemoteSet(mount, function(err, remote) { - if (err) return callback(err); - - var src = populate ? remote : local; - var dst = populate ? local : remote; - - IDBFS.reconcile(src, dst, callback); - }); - }); - },getDB:function (name, callback) { - // check the cache first - var db = IDBFS.dbs[name]; - if (db) { - return callback(null, db); - } - - var req; - try { - req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); - } catch (e) { - return callback(e); - } - if (!req) { - return callback("Unable to connect to IndexedDB"); - } - req.onupgradeneeded = function(e) { - var db = e.target.result; - var transaction = e.target.transaction; - - var fileStore; - - if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { - fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); - } else { - fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); - } - - if (!fileStore.indexNames.contains('timestamp')) { - fileStore.createIndex('timestamp', 'timestamp', { unique: false }); - } - }; - req.onsuccess = function() { - db = req.result; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var errored = false; - var completed = 0; - var db = src.type === 'remote' ? src.db : dst.db; - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= total) { - return callback(null); - } - }; - - transaction.onerror = function(e) { - done(this.error); - e.preventDefault(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - create.sort().forEach(function (path) { - if (dst.type === 'local') { - IDBFS.loadRemoteEntry(store, path, function (err, entry) { - if (err) return done(err); - IDBFS.storeLocalEntry(path, entry, done); - }); - } else { - IDBFS.loadLocalEntry(path, function (err, entry) { - if (err) return done(err); - IDBFS.storeRemoteEntry(store, path, entry, done); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096; - } - if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; - } - return { - dev: stat.dev, - ino: stat.ino, - mode: stat.mode, - nlink: stat.nlink, - uid: stat.uid, - gid: stat.gid, - rdev: stat.rdev, - size: stat.size, - atime: stat.atime, - mtime: stat.mtime, - ctime: stat.ctime, - blksize: stat.blksize, - blocks: stat.blocks - }; - },setattr:function (node, attr) { - var path = NODEFS.realPath(node); - try { - if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - if (!createdParents[curr]) { - createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); - } - parent = createdParents[curr]; - } - return parent; - } - function base(path) { - var parts = path.split('/'); - return parts[parts.length-1]; - } - // We also accept FileList here, by using Array.prototype - Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { - WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); - }); - (mount.opts["blobs"] || []).forEach(function(obj) { - WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); - }); - (mount.opts["packages"] || []).forEach(function(pack) { - pack['metadata'].files.forEach(function(file) { - var name = file.filename.substr(1); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - var entries = ['.', '..']; - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newName, oldPath) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function (parent, name, mode, rdev) { - if (!FS.FSNode) { - FS.FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - - FS.FSNode.prototype = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - Object.defineProperties(FS.FSNode.prototype, { - read: { - get: function() { return (this.mode & readMode) === readMode; }, - set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } - }, - write: { - get: function() { return (this.mode & writeMode) === writeMode; }, - set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } - }, - isFolder: { - get: function() { return FS.isDir(this.mode); } - }, - isDevice: { - get: function() { return FS.isChrdev(this.mode); } - } - }); - } - - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function (node) { - FS.hashRemoveNode(node); - },isRoot:function (node) { - return node === node.parent; - },isMountpoint:function (node) { - return !!node.mounted; - },isFile:function (mode) { - return (mode & 61440) === 32768; - },isDir:function (mode) { - return (mode & 61440) === 16384; - },isLink:function (mode) { - return (mode & 61440) === 40960; - },isChrdev:function (mode) { - return (mode & 61440) === 8192; - },isBlkdev:function (mode) { - return (mode & 61440) === 24576; - },isFIFO:function (mode) { - return (mode & 61440) === 4096; - },isSocket:function (mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function (flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function (node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - Object.defineProperties(FS.FSStream.prototype, { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }); - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function (fd) { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:function (stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdirTree:function (path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += '/' + dirs[i]; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function(stream, buffer, offset, length, pos) { return length; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function (parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function (parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function (parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function (parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - } - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }, - chunkSize: { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function () { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function () { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - FS.mkdir(path, mode, 0); - return 0; - },doMknod:function (path, mode, dev) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },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; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 - // Once the above bug is resolved, enable the following condition if possible: - // allowsDeferredCalls: eventTypeString == 'touchstart', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _glfwGetMouseButton(winid, button) { - return GLFW.getMouseButton(winid, button); - } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - Module["_memset"] = _memset; - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } 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; - } - } - - function _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - 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(); - var offset = offset_low; - assert(offset_high === 0); - 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 ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doWritev(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doReadv(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - Module["_i64Subtract"] = _i64Subtract; - - - Module["_i64Add"] = _i64Add; - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - - - 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); - Module["_llvm_cttz_i32"] = _llvm_cttz_i32; - Module["___udivmoddi4"] = ___udivmoddi4; - Module["___udivdi3"] = ___udivdi3; - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - Module["___muldsi3"] = ___muldsi3; - Module["___muldi3"] = ___muldi3; - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - Module["_memmove"] = _memmove; - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - Module["___uremdi3"] = ___uremdi3; - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - Module["_roundf"] = _roundf; - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - Module["_bitshift64Lshr"] = _bitshift64Lshr; - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - Module["_sbrk"] = _sbrk; - - - Module["_bitshift64Shl"] = _bitshift64Shl; - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - Module["_llvm_bswap_i32"] = _llvm_bswap_i32; - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _glfwSetCursorPos(winid, x, y) { - GLFW.setCursorPos(winid, x, y); - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - }; - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now = dateNow; - } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; - Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.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"); - - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -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_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } 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); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_glVertexAttrib4f": _glVertexAttrib4f, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_glVertexAttrib3f": _glVertexAttrib3f, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glHint": _emscripten_glHint, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_glUniform3f": _glUniform3f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glVertexAttrib2f": _glVertexAttrib2f, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_glfwSetCursorPos": _glfwSetCursorPos, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_glActiveTexture": _glActiveTexture, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_glUniform1f": _glUniform1f, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { - 'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - - var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _glVertexAttrib4f=env._glVertexAttrib4f; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _glVertexAttrib3f=env._glVertexAttrib3f; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glHint=env._emscripten_glHint; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _glUniform3f=env._glUniform3f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _glVertexAttrib2f=env._glVertexAttrib2f; - var _glGenTextures=env._glGenTextures; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _glfwSetCursorPos=env._glfwSetCursorPos; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _glfwGetMouseButton=env._glfwGetMouseButton; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _glActiveTexture=env._glActiveTexture; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _glUniform1f=env._glUniform1f; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _glfwGetKey=env._glfwGetKey; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - 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 _main() { - var $0 = 0, $1 = 0, $2 = 0, $texture$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 576|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(576|0); - $texture$byval_copy = sp + 312|0; - $0 = sp + 48|0; - $1 = sp + 24|0; - $2 = sp; - _InitWindow(800,450,4436); - HEAPF32[4526] = 10.0; - HEAPF32[(18108)>>2] = 8.0; - HEAPF32[(18112)>>2] = 10.0; - HEAPF32[(18116)>>2] = 0.0; - HEAPF32[(18120)>>2] = 2.2999999523162842; - HEAPF32[(18124)>>2] = 0.0; - HEAPF32[(18128)>>2] = 0.0; - HEAPF32[(18132)>>2] = 1.6000000238418579; - HEAPF32[(18136)>>2] = 0.0; - HEAPF32[(18140)>>2] = 45.0; - _LoadModel($0,4477); - _memcpy((18144|0),($0|0),264)|0; - _LoadTexture($1,4497); - ;HEAP32[18408>>2]=HEAP32[$1>>2]|0;HEAP32[18408+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18408+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18408+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18408+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18332)>>2]=HEAP32[$1>>2]|0;HEAP32[(18332)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18332)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18332)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18332)+16>>2]=HEAP32[$1+16>>2]|0; - dest=$texture$byval_copy; src=18144; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _CalculateBoundingBox($2,$texture$byval_copy); - ;HEAP32[18428>>2]=HEAP32[$2>>2]|0;HEAP32[18428+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[18428+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[18428+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[18428+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[18428+20>>2]=HEAP32[$2+20>>2]|0; - dest=$texture$byval_copy; src=18104; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetCameraMode($texture$byval_copy,1); - _SetTargetFPS(60); - _emscripten_set_main_loop((1|0),0,1); - _memcpy(($texture$byval_copy|0),(18144|0),264)|0; - _UnloadModel($texture$byval_copy); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[18408>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[18408+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[18408+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[18408+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[18408+16>>2]|0; - _UnloadTexture($texture$byval_copy); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy20 = 0, $$byval_copy42 = 0, $$byval_copy52 = 0, $$sink = 0, $$sroa$05$0$copyload = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$221$0$$sroa_idx = 0, $$sroa$225$0$$sroa_idx = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$322$0$$sroa_idx = 0, $$sroa$326$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $$sroa$423$0$$sroa_idx = 0, $$sroa$427$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx9 = 0, $$sroa$5$0$copyload = 0.0, $$sroa$6$0$$sroa_idx = 0; - var $$sroa$6$0$$sroa_idx14 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0.0; - var $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0; - var $133 = 0.0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0; - var $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, $60 = 0; - var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0.0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0; - var $8 = 0, $80 = 0.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.0, $95 = 0.0, $96 = 0, $97 = 0; - var $98 = 0, $99 = 0, $or$cond = 0, $ray$byval_copy45 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer14 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr18 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); - $$byval_copy52 = sp + 608|0; - $ray$byval_copy45 = sp + 584|0; - $$byval_copy42 = sp + 320|0; - $$byval_copy20 = sp + 88|0; - $vararg_buffer14 = sp + 64|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = sp + 200|0; - $1 = sp + 192|0; - $2 = sp + 312|0; - $3 = sp + 288|0; - $4 = sp + 160|0; - $5 = sp + 128|0; - $6 = sp + 272|0; - $7 = sp + 240|0; - $8 = sp + 700|0; - $9 = sp + 232|0; - $10 = sp + 696|0; - $11 = sp + 692|0; - $12 = sp + 688|0; - $13 = sp + 684|0; - $14 = sp + 680|0; - $15 = sp + 112|0; - $16 = sp + 676|0; - $17 = sp + 672|0; - $18 = sp + 668|0; - $19 = sp + 664|0; - $20 = sp + 660|0; - $21 = sp + 656|0; - $22 = sp + 652|0; - $23 = sp + 648|0; - _UpdateCamera(18104); - $24 = ((($0)) + 4|0); - HEAPF32[$24>>2] = 3.4028234663852886E+38; - HEAP32[$0>>2] = 0; - HEAP32[$1>>2] = -1; - _GetMousePosition($2); - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$2>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$2+4>>2]|0; - dest=$$byval_copy52; src=18104; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _GetMouseRay($3,$ray$byval_copy45,$$byval_copy52); - ;HEAP32[18452>>2]=HEAP32[$3>>2]|0;HEAP32[18452+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[18452+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[18452+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[18452+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[18452+20>>2]=HEAP32[$3+20>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$3+20>>2]|0; - _GetCollisionRayGround($4,$$byval_copy52,0.0); - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0); - if ($26) { - $$0 = 4517; - } else { - $27 = ((($4)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = +HEAPF32[$24>>2]; - $30 = $28 < $29; - if ($30) { - ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$4+28>>2]|0; - HEAP8[$1>>0] = 0; - $$sroa$225$0$$sroa_idx = ((($1)) + 1|0); - HEAP8[$$sroa$225$0$$sroa_idx>>0] = -28; - $$sroa$326$0$$sroa_idx = ((($1)) + 2|0); - HEAP8[$$sroa$326$0$$sroa_idx>>0] = 48; - $$sroa$427$0$$sroa_idx = ((($1)) + 3|0); - HEAP8[$$sroa$427$0$$sroa_idx>>0] = -1; - $$0 = 4522; - } else { - $$0 = 4517; - } - } - ;HEAP32[$$byval_copy20>>2]=HEAP32[18452>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[18452+20>>2]|0; - ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; - _GetCollisionRayTriangle($5,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$1 = $$0;$$sink = 0; - } else { - $33 = ((($5)) + 4|0); - $34 = +HEAPF32[$33>>2]; - $35 = +HEAPF32[$24>>2]; - $36 = $34 < $35; - if ($36) { - ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$5+28>>2]|0; - HEAP8[$1>>0] = -56; - $$sroa$221$0$$sroa_idx = ((($1)) + 1|0); - HEAP8[$$sroa$221$0$$sroa_idx>>0] = 122; - $$sroa$322$0$$sroa_idx = ((($1)) + 2|0); - HEAP8[$$sroa$322$0$$sroa_idx>>0] = -1; - $$sroa$423$0$$sroa_idx = ((($1)) + 3|0); - HEAP8[$$sroa$423$0$$sroa_idx>>0] = -1; - $37 = ((($0)) + 8|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$37+8>>2]|0; - ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[32+8>>2]|0; - _Barycenter($6,$$byval_copy20,$$byval_copy42,$ray$byval_copy45,$$byval_copy52); - ;HEAP32[18092>>2]=HEAP32[$6>>2]|0;HEAP32[18092+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[18092+8>>2]=HEAP32[$6+8>>2]|0; - $$1 = 4529;$$sink = 1; - } else { - $$1 = $$0;$$sink = 0; - } - } - HEAP32[4522] = $$sink; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18452>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18452+20>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[18428>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18428+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18428+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18428+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18428+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18428+20>>2]|0; - $38 = (_CheckCollisionRayBox($ray$byval_copy45,$$byval_copy52)|0); - $39 = ($38|0)==(0); - if ($39) { - $$2 = $$1; - } else { - HEAP32[4521] = 1; - ;HEAP32[$$byval_copy52>>2]=HEAP32[18452>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[18452+20>>2]|0; - _GetCollisionRayMesh($7,$$byval_copy52,18144); - $$sroa$05$0$copyload = HEAP32[$7>>2]|0; - $$sroa$5$0$$sroa_idx9 = ((($7)) + 4|0); - $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx9>>2]; - $$sroa$6$0$$sroa_idx = ((($7)) + 8|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$$sroa$6$0$$sroa_idx>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$$sroa$6$0$$sroa_idx+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$$sroa$6$0$$sroa_idx+8>>2]|0;HEAP32[$$byval_copy20+12>>2]=HEAP32[$$sroa$6$0$$sroa_idx+12>>2]|0;HEAP32[$$byval_copy20+16>>2]=HEAP32[$$sroa$6$0$$sroa_idx+16>>2]|0;HEAP32[$$byval_copy20+20>>2]=HEAP32[$$sroa$6$0$$sroa_idx+20>>2]|0; - $40 = ($$sroa$05$0$copyload|0)!=(0); - $41 = +HEAPF32[$24>>2]; - $42 = $$sroa$5$0$copyload < $41; - $or$cond = $40 & $42; - if ($or$cond) { - HEAP32[$0>>2] = $$sroa$05$0$copyload; - HEAPF32[$24>>2] = $$sroa$5$0$copyload; - $$sroa$6$0$$sroa_idx14 = ((($0)) + 8|0); - ;HEAP32[$$sroa$6$0$$sroa_idx14>>2]=HEAP32[$$byval_copy20>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+4>>2]=HEAP32[$$byval_copy20+4>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+8>>2]=HEAP32[$$byval_copy20+8>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+12>>2]=HEAP32[$$byval_copy20+12>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+16>>2]=HEAP32[$$byval_copy20+16>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx14+20>>2]=HEAP32[$$byval_copy20+20>>2]|0; - HEAP8[$1>>0] = -1; - $$sroa$2$0$$sroa_idx = ((($1)) + 1|0); - HEAP8[$$sroa$2$0$$sroa_idx>>0] = -95; - $$sroa$3$0$$sroa_idx = ((($1)) + 2|0); - HEAP8[$$sroa$3$0$$sroa_idx>>0] = 0; - $$sroa$4$0$$sroa_idx = ((($1)) + 3|0); - HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; - $$2 = 4538; - } else { - $$2 = $$1; - } - } - HEAP32[4521] = 0; - _BeginDrawing(); - HEAP8[$8>>0] = -11; - $43 = ((($8)) + 1|0); - HEAP8[$43>>0] = -11; - $44 = ((($8)) + 2|0); - HEAP8[$44>>0] = -11; - $45 = ((($8)) + 3|0); - HEAP8[$45>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$8+3>>0]|0; - _ClearBackground($$byval_copy52); - dest=$$byval_copy52; src=18104; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _Begin3dMode($$byval_copy52); - HEAP32[$9>>2] = -1; - _memcpy(($$byval_copy42|0),(18144|0),264)|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18072>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18072+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18072+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$9+3>>0]|0; - _DrawModel($$byval_copy42,$ray$byval_copy45,1.0,$$byval_copy52); - HEAP8[$10>>0] = -56; - $46 = ((($10)) + 1|0); - HEAP8[$46>>0] = 122; - $47 = ((($10)) + 2|0); - HEAP8[$47>>0] = -1; - $48 = ((($10)) + 3|0); - HEAP8[$48>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[8>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[20>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$10+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - HEAP8[$11>>0] = -56; - $49 = ((($11)) + 1|0); - HEAP8[$49>>0] = 122; - $50 = ((($11)) + 2|0); - HEAP8[$50>>0] = -1; - $51 = ((($11)) + 3|0); - HEAP8[$51>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[20>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[20+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[20+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[32>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[32+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$11+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - HEAP8[$12>>0] = -56; - $52 = ((($12)) + 1|0); - HEAP8[$52>>0] = 122; - $53 = ((($12)) + 2|0); - HEAP8[$53>>0] = -1; - $54 = ((($12)) + 3|0); - HEAP8[$54>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[32>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[32+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[32+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[8>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[8+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[8+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$12+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - $55 = HEAP32[4521]|0; - $56 = ($55|0)==(0); - if (!($56)) { - HEAP8[$13>>0] = 0; - $57 = ((($13)) + 1|0); - HEAP8[$57>>0] = -98; - $58 = ((($13)) + 2|0); - HEAP8[$58>>0] = 47; - $59 = ((($13)) + 3|0); - HEAP8[$59>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18428>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18428+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18428+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18428+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18428+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18428+20>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$13+3>>0]|0; - _DrawBoundingBox($ray$byval_copy45,$$byval_copy52); - } - $60 = HEAP32[$0>>2]|0; - $61 = ($60|0)==(0); - if (!($61)) { - $62 = ((($0)) + 8|0); - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$62>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$62+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$1+3>>0]|0; - _DrawCube($ray$byval_copy45,0.5,0.5,0.5,$$byval_copy52); - HEAP8[$14>>0] = -3; - $63 = ((($14)) + 1|0); - HEAP8[$63>>0] = -7; - $64 = ((($14)) + 2|0); - HEAP8[$64>>0] = 0; - $65 = ((($14)) + 3|0); - HEAP8[$65>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$62>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$62+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$14+3>>0]|0; - _DrawCubeWires($ray$byval_copy45,0.5,0.5,0.5,$$byval_copy52); - $66 = +HEAPF32[$62>>2]; - $67 = ((($0)) + 20|0); - $68 = +HEAPF32[$67>>2]; - $69 = $66 + $68; - HEAPF32[$15>>2] = $69; - $70 = ((($0)) + 12|0); - $71 = +HEAPF32[$70>>2]; - $72 = ((($0)) + 24|0); - $73 = +HEAPF32[$72>>2]; - $74 = $71 + $73; - $75 = ((($15)) + 4|0); - HEAPF32[$75>>2] = $74; - $76 = ((($0)) + 16|0); - $77 = +HEAPF32[$76>>2]; - $78 = ((($0)) + 28|0); - $79 = +HEAPF32[$78>>2]; - $80 = $77 + $79; - $81 = ((($15)) + 8|0); - HEAPF32[$81>>2] = $80; - HEAP8[$16>>0] = -3; - $82 = ((($16)) + 1|0); - HEAP8[$82>>0] = -7; - $83 = ((($16)) + 2|0); - HEAP8[$83>>0] = 0; - $84 = ((($16)) + 3|0); - HEAP8[$84>>0] = -1; - ;HEAP32[$$byval_copy42>>2]=HEAP32[$62>>2]|0;HEAP32[$$byval_copy42+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$$byval_copy42+8>>2]=HEAP32[$62+8>>2]|0; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[$15>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[$15+8>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$16+3>>0]|0; - _DrawLine3D($$byval_copy42,$ray$byval_copy45,$$byval_copy52); - } - HEAP8[$17>>0] = -66; - $85 = ((($17)) + 1|0); - HEAP8[$85>>0] = 33; - $86 = ((($17)) + 2|0); - HEAP8[$86>>0] = 55; - $87 = ((($17)) + 3|0); - HEAP8[$87>>0] = -1; - ;HEAP32[$ray$byval_copy45>>2]=HEAP32[18452>>2]|0;HEAP32[$ray$byval_copy45+4>>2]=HEAP32[18452+4>>2]|0;HEAP32[$ray$byval_copy45+8>>2]=HEAP32[18452+8>>2]|0;HEAP32[$ray$byval_copy45+12>>2]=HEAP32[18452+12>>2]|0;HEAP32[$ray$byval_copy45+16>>2]=HEAP32[18452+16>>2]|0;HEAP32[$ray$byval_copy45+20>>2]=HEAP32[18452+20>>2]|0; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$17>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$17+3>>0]|0; - _DrawRay($ray$byval_copy45,$$byval_copy52); - _DrawGrid(100,1.0); - _End3dMode(); - HEAP32[$vararg_buffer>>2] = $$2; - $88 = (_FormatText(4543,$vararg_buffer)|0); - HEAP8[$18>>0] = 0; - $89 = ((($18)) + 1|0); - HEAP8[$89>>0] = 0; - $90 = ((($18)) + 2|0); - HEAP8[$90>>0] = 0; - $91 = ((($18)) + 3|0); - HEAP8[$91>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$18>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$18+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$18+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$18+3>>0]|0; - _DrawText($88,10,50,10,$$byval_copy52); - $92 = HEAP32[$0>>2]|0; - $93 = ($92|0)==(0); - if ($93) { - HEAP8[$23>>0] = -126; - $138 = ((($23)) + 1|0); - HEAP8[$138>>0] = -126; - $139 = ((($23)) + 2|0); - HEAP8[$139>>0] = -126; - $140 = ((($23)) + 3|0); - HEAP8[$140>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4659,10,430,10,$$byval_copy52); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; - } - $94 = +HEAPF32[$24>>2]; - $95 = $94; - HEAPF64[$vararg_buffer1>>3] = $95; - $96 = (_FormatText(4558,$vararg_buffer1)|0); - HEAP8[$19>>0] = 0; - $97 = ((($19)) + 1|0); - HEAP8[$97>>0] = 0; - $98 = ((($19)) + 2|0); - HEAP8[$98>>0] = 0; - $99 = ((($19)) + 3|0); - HEAP8[$99>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$19>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$19+3>>0]|0; - _DrawText($96,10,70,10,$$byval_copy52); - $100 = ((($0)) + 8|0); - $101 = +HEAPF32[$100>>2]; - $102 = $101; - $103 = ((($0)) + 12|0); - $104 = +HEAPF32[$103>>2]; - $105 = $104; - $106 = ((($0)) + 16|0); - $107 = +HEAPF32[$106>>2]; - $108 = $107; - HEAPF64[$vararg_buffer4>>3] = $102; - $vararg_ptr7 = ((($vararg_buffer4)) + 8|0); - HEAPF64[$vararg_ptr7>>3] = $105; - $vararg_ptr8 = ((($vararg_buffer4)) + 16|0); - HEAPF64[$vararg_ptr8>>3] = $108; - $109 = (_FormatText(4574,$vararg_buffer4)|0); - HEAP8[$20>>0] = 0; - $110 = ((($20)) + 1|0); - HEAP8[$110>>0] = 0; - $111 = ((($20)) + 2|0); - HEAP8[$111>>0] = 0; - $112 = ((($20)) + 3|0); - HEAP8[$112>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$20>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$20+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$20+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$20+3>>0]|0; - _DrawText($109,10,85,10,$$byval_copy52); - $113 = ((($0)) + 20|0); - $114 = +HEAPF32[$113>>2]; - $115 = $114; - $116 = ((($0)) + 24|0); - $117 = +HEAPF32[$116>>2]; - $118 = $117; - $119 = ((($0)) + 28|0); - $120 = +HEAPF32[$119>>2]; - $121 = $120; - HEAPF64[$vararg_buffer9>>3] = $115; - $vararg_ptr12 = ((($vararg_buffer9)) + 8|0); - HEAPF64[$vararg_ptr12>>3] = $118; - $vararg_ptr13 = ((($vararg_buffer9)) + 16|0); - HEAPF64[$vararg_ptr13>>3] = $121; - $122 = (_FormatText(4601,$vararg_buffer9)|0); - HEAP8[$21>>0] = 0; - $123 = ((($21)) + 1|0); - HEAP8[$123>>0] = 0; - $124 = ((($21)) + 2|0); - HEAP8[$124>>0] = 0; - $125 = ((($21)) + 3|0); - HEAP8[$125>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$21>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$21+3>>0]|0; - _DrawText($122,10,100,10,$$byval_copy52); - $126 = HEAP32[4522]|0; - $127 = ($126|0)==(0); - if ($127) { - HEAP8[$23>>0] = -126; - $138 = ((($23)) + 1|0); - HEAP8[$138>>0] = -126; - $139 = ((($23)) + 2|0); - HEAP8[$139>>0] = -126; - $140 = ((($23)) + 3|0); - HEAP8[$140>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4659,10,430,10,$$byval_copy52); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; - } - $128 = +HEAPF32[4523]; - $129 = $128; - $130 = +HEAPF32[(18096)>>2]; - $131 = $130; - $132 = +HEAPF32[(18100)>>2]; - $133 = $132; - HEAPF64[$vararg_buffer14>>3] = $129; - $vararg_ptr17 = ((($vararg_buffer14)) + 8|0); - HEAPF64[$vararg_ptr17>>3] = $131; - $vararg_ptr18 = ((($vararg_buffer14)) + 16|0); - HEAPF64[$vararg_ptr18>>3] = $133; - $134 = (_FormatText(4629,$vararg_buffer14)|0); - HEAP8[$22>>0] = 0; - $135 = ((($22)) + 1|0); - HEAP8[$135>>0] = 0; - $136 = ((($22)) + 2|0); - HEAP8[$136>>0] = 0; - $137 = ((($22)) + 3|0); - HEAP8[$137>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$22>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$22+3>>0]|0; - _DrawText($134,10,115,10,$$byval_copy52); - HEAP8[$23>>0] = -126; - $138 = ((($23)) + 1|0); - HEAP8[$138>>0] = -126; - $139 = ((($23)) + 2|0); - HEAP8[$139>>0] = -126; - $140 = ((($23)) + 3|0); - HEAP8[$140>>0] = -1; - ;HEAP8[$$byval_copy52>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy52+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy52+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy52+3>>0]=HEAP8[$23+3>>0]|0; - _DrawText(4659,10,430,10,$$byval_copy52); - _DrawFPS(10,10); - _EndDrawing(); - STACKTOP = sp;return; -} -function _VectorAdd($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 + $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 + $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 + $14; - HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; - return; -} -function _VectorSubtract($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; - HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; - return; -} -function _VectorCrossProduct($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($2)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 * $6; - $8 = ((($1)) + 8|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($2)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 * $11; - $13 = $7 - $12; - $14 = +HEAPF32[$2>>2]; - $15 = $9 * $14; - $16 = +HEAPF32[$1>>2]; - $17 = $6 * $16; - $18 = $15 - $17; - $19 = $11 * $16; - $20 = $4 * $14; - $21 = $19 - $20; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $18; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $21; - return; -} -function _VectorDotProduct($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = +HEAPF32[$1>>2]; - $4 = $2 * $3; - $5 = ((($0)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 * $8; - $10 = $4 + $9; - $11 = ((($0)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 * $14; - $16 = $10 + $15; - return (+$16); -} -function _VectorLength($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _VectorScale($0,$1) { - $0 = $0|0; - $1 = +$1; - var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = $2 * $1; - HEAPF32[$0>>2] = $3; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $5 * $1; - HEAPF32[$4>>2] = $6; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $1; - HEAPF32[$7>>2] = $9; - return; -} -function _VectorNormalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_VectorLength($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _VectorTransform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} -function _VectorMin($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = (+_fminf($3,$4)); - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = (+_fminf($7,$9)); - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = (+_fminf($12,$14)); - HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; - return; -} -function _VectorMax($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$1>>2]; - $4 = +HEAPF32[$2>>2]; - $5 = (+_fmaxf($3,$4)); - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = (+_fmaxf($7,$9)); - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = (+_fmaxf($12,$14)); - HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; - return; -} -function _Barycenter($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy14 = 0, $$byval_copy15 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$6$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy15 = sp + 48|0; - $$byval_copy14 = sp + 36|0; - $5 = sp + 24|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$$byval_copy14>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; - _VectorSubtract($5,$$byval_copy14,$$byval_copy15); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; - _VectorSubtract($6,$$byval_copy14,$$byval_copy15); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$2+8>>2]|0; - _VectorSubtract($7,$$byval_copy14,$$byval_copy15); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$5+8>>2]|0; - $8 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; - $9 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; - $10 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$5+8>>2]|0; - $11 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); - ;HEAP32[$$byval_copy14>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy14+8>>2]=HEAP32[$7+8>>2]|0; - ;HEAP32[$$byval_copy15>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy15+8>>2]=HEAP32[$6+8>>2]|0; - $12 = (+_VectorDotProduct($$byval_copy14,$$byval_copy15)); - $13 = $8 * $10; - $14 = $9 * $9; - $15 = $13 - $14; - $16 = $10 * $11; - $17 = $9 * $12; - $18 = $16 - $17; - $19 = $18 / $15; - $20 = $8 * $12; - $21 = $9 * $11; - $22 = $20 - $21; - $23 = $22 / $15; - $24 = $23 + $19; - $25 = 1.0 - $24; - HEAPF32[$0>>2] = $25; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $19; - $$sroa$6$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$6$0$$sroa_idx4>>2] = $23; - STACKTOP = sp;return; -} -function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 28|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($0)) + 32|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($0)) + 44|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 52|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($0)) + 56|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$1>>2] = $8; - HEAP32[$3>>2] = $14; - HEAP32[$5>>2] = $20; - HEAP32[$7>>2] = $2; - HEAP32[$9>>2] = $16; - HEAP32[$11>>2] = $22; - HEAP32[$13>>2] = $4; - HEAP32[$15>>2] = $10; - HEAP32[$17>>2] = $24; - HEAP32[$19>>2] = $6; - HEAP32[$21>>2] = $12; - HEAP32[$23>>2] = $18; - return; -} -function _MatrixInvert($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0; - var $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0; - var $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0.0; - var $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0; - var $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0.0; - var $3 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0; - var $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0; - var $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = ((($0)) + 16|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 32|0); - $5 = +HEAPF32[$4>>2]; - $6 = ((($0)) + 48|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = ((($0)) + 36|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 52|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($0)) + 24|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($0)) + 40|0); - $21 = +HEAPF32[$20>>2]; - $22 = ((($0)) + 56|0); - $23 = +HEAPF32[$22>>2]; - $24 = ((($0)) + 12|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 28|0); - $27 = +HEAPF32[$26>>2]; - $28 = ((($0)) + 44|0); - $29 = +HEAPF32[$28>>2]; - $30 = ((($0)) + 60|0); - $31 = +HEAPF32[$30>>2]; - $32 = $1 * $11; - $33 = $3 * $9; - $34 = $32 - $33; - $35 = $1 * $13; - $36 = $5 * $9; - $37 = $35 - $36; - $38 = $1 * $15; - $39 = $7 * $9; - $40 = $38 - $39; - $41 = $3 * $13; - $42 = $5 * $11; - $43 = $41 - $42; - $44 = $3 * $15; - $45 = $7 * $11; - $46 = $44 - $45; - $47 = $5 * $15; - $48 = $7 * $13; - $49 = $47 - $48; - $50 = $17 * $27; - $51 = $19 * $25; - $52 = $50 - $51; - $53 = $17 * $29; - $54 = $21 * $25; - $55 = $53 - $54; - $56 = $17 * $31; - $57 = $23 * $25; - $58 = $56 - $57; - $59 = $19 * $29; - $60 = $21 * $27; - $61 = $59 - $60; - $62 = $19 * $31; - $63 = $23 * $27; - $64 = $62 - $63; - $65 = $21 * $31; - $66 = $23 * $29; - $67 = $65 - $66; - $68 = $34 * $67; - $69 = $37 * $64; - $70 = $68 - $69; - $71 = $40 * $61; - $72 = $71 + $70; - $73 = $43 * $58; - $74 = $73 + $72; - $75 = $46 * $55; - $76 = $74 - $75; - $77 = $49 * $52; - $78 = $77 + $76; - $79 = 1.0 / $78; - $80 = $11 * $67; - $81 = $13 * $64; - $82 = $80 - $81; - $83 = $15 * $61; - $84 = $83 + $82; - $85 = $84 * $79; - $86 = $3 * $67; - $87 = $5 * $64; - $88 = $87 - $86; - $89 = $7 * $61; - $90 = $88 - $89; - $91 = $90 * $79; - $92 = $49 * $27; - $93 = $46 * $29; - $94 = $92 - $93; - $95 = $43 * $31; - $96 = $94 + $95; - $97 = $96 * $79; - $98 = $19 * $49; - $99 = $46 * $21; - $100 = $99 - $98; - $101 = $43 * $23; - $102 = $100 - $101; - $103 = $102 * $79; - $104 = -$9; - $105 = $67 * $104; - $106 = $13 * $58; - $107 = $105 + $106; - $108 = $15 * $55; - $109 = $107 - $108; - $110 = $109 * $79; - $111 = $1 * $67; - $112 = $5 * $58; - $113 = $111 - $112; - $114 = $7 * $55; - $115 = $114 + $113; - $116 = $115 * $79; - $117 = -$25; - $118 = $49 * $117; - $119 = $40 * $29; - $120 = $118 + $119; - $121 = $37 * $31; - $122 = $120 - $121; - $123 = $122 * $79; - $124 = $17 * $49; - $125 = $40 * $21; - $126 = $124 - $125; - $127 = $37 * $23; - $128 = $126 + $127; - $129 = $128 * $79; - $130 = $9 * $64; - $131 = $11 * $58; - $132 = $130 - $131; - $133 = $15 * $52; - $134 = $133 + $132; - $135 = $134 * $79; - $136 = $1 * $64; - $137 = $3 * $58; - $138 = $137 - $136; - $139 = $7 * $52; - $140 = $138 - $139; - $141 = $140 * $79; - $142 = $46 * $25; - $143 = $40 * $27; - $144 = $142 - $143; - $145 = $34 * $31; - $146 = $144 + $145; - $147 = $146 * $79; - $148 = $17 * $46; - $149 = $19 * $40; - $150 = $149 - $148; - $151 = $34 * $23; - $152 = $150 - $151; - $153 = $152 * $79; - $154 = $61 * $104; - $155 = $11 * $55; - $156 = $154 + $155; - $157 = $13 * $52; - $158 = $156 - $157; - $159 = $158 * $79; - $160 = $1 * $61; - $161 = $3 * $55; - $162 = $160 - $161; - $163 = $5 * $52; - $164 = $163 + $162; - $165 = $164 * $79; - $166 = $43 * $117; - $167 = $37 * $27; - $168 = $166 + $167; - $169 = $34 * $29; - $170 = $168 - $169; - $171 = $170 * $79; - $172 = $17 * $43; - $173 = $37 * $19; - $174 = $172 - $173; - $175 = $34 * $21; - $176 = $174 + $175; - $177 = $176 * $79; - HEAPF32[$0>>2] = $85; - HEAPF32[$8>>2] = $110; - HEAPF32[$16>>2] = $135; - HEAPF32[$24>>2] = $159; - HEAPF32[$2>>2] = $91; - HEAPF32[$10>>2] = $116; - HEAPF32[$18>>2] = $141; - HEAPF32[$26>>2] = $165; - HEAPF32[$4>>2] = $97; - HEAPF32[$12>>2] = $123; - HEAPF32[$20>>2] = $147; - HEAPF32[$28>>2] = $171; - HEAPF32[$6>>2] = $103; - HEAPF32[$14>>2] = $129; - HEAPF32[$22>>2] = $153; - HEAPF32[$30>>2] = $177; - return; -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$2>>2]; - $4 = +HEAPF32[$1>>2]; - $5 = $3 * $4; - $6 = ((($2)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($2)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($1)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($2)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($1)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($1)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($1)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($1)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($1)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($1)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($1)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($1)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($1)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($1)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($1)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($1)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($2)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($2)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($2)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($2)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($2)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($2)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($2)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($2)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($2)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($2)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($2)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($2)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixFrustum($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0; - var $35 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = $5 * 2.0; - $14 = $8; - $15 = $13 / $14; - $16 = $15; - $17 = $10; - $18 = $13 / $17; - $19 = $18; - $20 = $1 + $2; - $21 = $20 / $14; - $22 = $21; - $23 = $3 + $4; - $24 = $23 / $17; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - $31 = $5 * $6; - $32 = $31 * 2.0; - $33 = -$32; - $34 = $33 / $28; - $35 = $34; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = $22; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = 0.0; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $19; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = $25; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = 0.0; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $30; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $35; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = -1.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 0.0; - return; -} -function _MatrixPerspective($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - var $10 = 0.0, $11 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $5 = $1 * 3.1415927410125732; - $6 = $5 / 360.0; - $7 = (+Math_tan((+$6))); - $8 = $7 * $3; - $9 = $8 * $2; - $10 = -$9; - $11 = -$8; - _MatrixFrustum($0,$10,$9,$11,$8,$3,$4); - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _MatrixLookAt($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy4 = 0, $$byval_copy5 = 0, $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0, $11 = 0.0, $12 = 0.0; - var $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0; - var $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy5 = sp + 48|0; - $$byval_copy4 = sp + 36|0; - $4 = sp + 24|0; - $5 = sp + 12|0; - $6 = sp; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0; - _VectorSubtract($4,$$byval_copy4,$$byval_copy5); - _VectorNormalize($4); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$4+8>>2]|0; - _VectorCrossProduct($5,$$byval_copy4,$$byval_copy5); - _VectorNormalize($5); - ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$5+8>>2]|0; - _VectorCrossProduct($6,$$byval_copy4,$$byval_copy5); - _VectorNormalize($6); - $7 = +HEAPF32[$5>>2]; - $8 = ((($5)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($5)) + 8|0); - $11 = +HEAPF32[$10>>2]; - $12 = +HEAPF32[$1>>2]; - $13 = $7 * $12; - $14 = ((($1)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = $9 * $15; - $17 = $13 + $16; - $18 = ((($1)) + 8|0); - $19 = +HEAPF32[$18>>2]; - $20 = $11 * $19; - $21 = $17 + $20; - $22 = -$21; - $23 = +HEAPF32[$6>>2]; - $24 = ((($6)) + 4|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($6)) + 8|0); - $27 = +HEAPF32[$26>>2]; - $28 = $12 * $23; - $29 = $15 * $25; - $30 = $28 + $29; - $31 = $19 * $27; - $32 = $30 + $31; - $33 = -$32; - $34 = +HEAPF32[$4>>2]; - $35 = ((($4)) + 4|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($4)) + 8|0); - $38 = +HEAPF32[$37>>2]; - $39 = $12 * $34; - $40 = $15 * $36; - $41 = $39 + $40; - $42 = $19 * $38; - $43 = $41 + $42; - $44 = -$43; - HEAPF32[$0>>2] = $7; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $23; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $34; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = 0.0; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $9; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $25; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $36; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = 0.0; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $11; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $27; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $38; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $22; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $33; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $44; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - STACKTOP = sp;return; -} -function _QuaternionTransform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 12|0); - $8 = +HEAPF32[$7>>2]; - $9 = +HEAPF32[$1>>2]; - $10 = $2 * $9; - $11 = ((($1)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $4 * $12; - $14 = $10 + $13; - $15 = ((($1)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $6 * $16; - $18 = $14 + $17; - $19 = ((($1)) + 12|0); - $20 = +HEAPF32[$19>>2]; - $21 = $8 * $20; - $22 = $18 + $21; - HEAPF32[$0>>2] = $22; - $23 = ((($1)) + 16|0); - $24 = +HEAPF32[$23>>2]; - $25 = $2 * $24; - $26 = ((($1)) + 20|0); - $27 = +HEAPF32[$26>>2]; - $28 = $4 * $27; - $29 = $25 + $28; - $30 = ((($1)) + 24|0); - $31 = +HEAPF32[$30>>2]; - $32 = $6 * $31; - $33 = $29 + $32; - $34 = ((($1)) + 28|0); - $35 = +HEAPF32[$34>>2]; - $36 = $8 * $35; - $37 = $33 + $36; - HEAPF32[$3>>2] = $37; - $38 = ((($1)) + 32|0); - $39 = +HEAPF32[$38>>2]; - $40 = $2 * $39; - $41 = ((($1)) + 36|0); - $42 = +HEAPF32[$41>>2]; - $43 = $4 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 40|0); - $46 = +HEAPF32[$45>>2]; - $47 = $6 * $46; - $48 = $44 + $47; - $49 = ((($1)) + 44|0); - $50 = +HEAPF32[$49>>2]; - $51 = $8 * $50; - $52 = $48 + $51; - HEAPF32[$5>>2] = $52; - $53 = ((($1)) + 48|0); - $54 = +HEAPF32[$53>>2]; - $55 = $2 * $54; - $56 = ((($1)) + 52|0); - $57 = +HEAPF32[$56>>2]; - $58 = $4 * $57; - $59 = $55 + $58; - $60 = ((($1)) + 56|0); - $61 = +HEAPF32[$60>>2]; - $62 = $6 * $61; - $63 = $59 + $62; - $64 = ((($1)) + 60|0); - $65 = +HEAPF32[$64>>2]; - $66 = $8 * $65; - $67 = $63 + $66; - HEAPF32[$7>>2] = $67; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[4620] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 17792; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 17832; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4458]; - $111 = +HEAPF32[4448]; - $112 = $110 - $111; - HEAPF32[4460] = $112; - $113 = +HEAPF32[(17836)>>2]; - $114 = +HEAPF32[(17796)>>2]; - $115 = $113 - $114; - HEAPF32[(17844)>>2] = $115; - HEAP32[4619] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17824+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4625] = $116; - $117 = 17824; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 17792; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 17848; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 17832; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 17824; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 17848; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4462]; - $160 = +HEAPF32[4456]; - $161 = $159 - $160; - HEAPF32[4460] = $161; - $162 = +HEAPF32[(17852)>>2]; - $163 = +HEAPF32[(17828)>>2]; - $164 = $162 - $163; - HEAPF32[(17844)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17824+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17832+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17824+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4625]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[4619] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17824+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17848+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[4626] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[4625] = 0.0; - HEAPF32[4626] = 0.0; - HEAPF32[4460] = 0.0; - HEAPF32[(17844)>>2] = 0.0; - HEAP32[4620] = 0; - HEAP32[4619] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[4621]|0; - $7 = (($6) + 1)|0; - HEAP32[4621] = $7; - $8 = HEAP32[4619]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[4619] = 2; - HEAP32[4621] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[4621] = 1; - HEAP32[4619] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 17792; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 17800; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 17808; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[11] = $34; - HEAPF32[4454] = 0.0; - HEAPF32[(17820)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[4619]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 17808; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17808+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[4622] = $49; - HEAP32[4623] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[11]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17808>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17808+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[4624] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[4622] = 0.0; - HEAPF32[4624] = 0.0; - $$sink10 = 0; - } - HEAP32[4619] = $$sink10; - HEAPF32[4450] = 0.0; - HEAPF32[(17804)>>2] = 0.0; - HEAP32[4620] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[4623]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[4623] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 17824; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[4619]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17792>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17792+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17824>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17824+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[4619] = 8; - } - } - $82 = +HEAPF32[4456]; - $83 = +HEAPF32[4450]; - $84 = $82 - $83; - HEAPF32[4454] = $84; - $85 = +HEAPF32[(17828)>>2]; - $86 = +HEAPF32[(17804)>>2]; - $87 = $85 - $86; - HEAPF32[(17820)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4619]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[4620]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[4619] = 4; - } - $4 = HEAP32[4619]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[4619] = 0; - return; -} -function _SetCameraMode($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$023$0$$sroa_idx = 0, $$sroa$023$0$copyload = 0.0, $$sroa$030$0$copyload = 0.0, $$sroa$4$0$$sroa_idx25 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$432$0$$sroa_idx33 = 0, $$sroa$432$0$copyload = 0.0, $$sroa$527$0$$sroa_idx28 = 0, $$sroa$527$0$copyload = 0.0, $$sroa$535$0$$sroa_idx36 = 0, $$sroa$535$0$copyload = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0; - var $19 = 0.0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $$sroa$030$0$copyload = +HEAPF32[$0>>2]; - $$sroa$432$0$$sroa_idx33 = ((($0)) + 4|0); - $$sroa$432$0$copyload = +HEAPF32[$$sroa$432$0$$sroa_idx33>>2]; - $$sroa$535$0$$sroa_idx36 = ((($0)) + 8|0); - $$sroa$535$0$copyload = +HEAPF32[$$sroa$535$0$$sroa_idx36>>2]; - $$sroa$023$0$$sroa_idx = ((($0)) + 12|0); - $$sroa$023$0$copyload = +HEAPF32[$$sroa$023$0$$sroa_idx>>2]; - $$sroa$4$0$$sroa_idx25 = ((($0)) + 16|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx25>>2]; - $$sroa$527$0$$sroa_idx28 = ((($0)) + 20|0); - $$sroa$527$0$copyload = +HEAPF32[$$sroa$527$0$$sroa_idx28>>2]; - $2 = $$sroa$023$0$copyload - $$sroa$030$0$copyload; - $3 = $$sroa$4$0$copyload - $$sroa$432$0$copyload; - $4 = $$sroa$527$0$copyload - $$sroa$535$0$copyload; - $5 = $2 * $2; - $6 = $3 * $3; - $7 = $5 + $6; - $8 = $4 * $4; - $9 = $7 + $8; - $10 = (+Math_sqrt((+$9))); - HEAPF32[4627] = $10; - $11 = $5 + $8; - $12 = (+Math_sqrt((+$11))); - $13 = (+Math_sqrt((+$7))); - $14 = (+Math_abs((+$2))); - $15 = $14 / $12; - $16 = (+Math_asin((+$15))); - HEAPF32[4628] = $16; - $17 = (+Math_abs((+$3))); - $18 = $17 / $13; - $19 = (+Math_asin((+$18))); - $20 = -$19; - HEAPF32[4629] = $20; - $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; - HEAP32[12] = $21; - HEAP32[4630] = $1; - return; -} -function _UpdateCamera($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$byval_copy3 = 0, $$not = 0, $$not188 = 0, $$off187 = 0, $$pr = 0, $$pr190 = 0, $$sink = 0.0, $$sink17 = 0, $$sink22 = 0.0, $$sink22$p = 0.0, $$sink26 = 0.0, $$sink28 = 0.0, $$sroa$095$0 = 0.0, $$sroa$9$0 = 0.0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; - var $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0; - var $120 = 0.0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0.0; - var $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0; - var $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0; - var $175 = 0.0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0.0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0.0, $185 = 0.0, $186 = 0.0, $187 = 0.0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0.0, $191 = 0, $192 = 0.0; - var $193 = 0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0, $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; - var $210 = 0, $211 = 0.0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0.0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0; - var $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0; - var $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0.0; - var $265 = 0.0, $266 = 0, $267 = 0.0, $268 = 0.0, $269 = 0, $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0.0, $274 = 0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0; - var $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0.0, $287 = 0.0, $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0, $291 = 0.0, $292 = 0.0, $293 = 0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0; - var $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0, $305 = 0.0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0.0, $318 = 0.0; - var $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0, $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0; - var $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0, $345 = 0, $346 = 0.0, $347 = 0.0, $348 = 0.0, $349 = 0.0, $35 = 0, $350 = 0.0, $351 = 0, $352 = 0.0, $353 = 0.0, $354 = 0.0; - var $355 = 0.0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0.0, $36 = 0, $360 = 0.0, $361 = 0.0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0.0, $367 = 0, $368 = 0.0, $369 = 0.0, $37 = 0.0, $370 = 0.0, $371 = 0.0, $372 = 0.0; - var $373 = 0.0, $374 = 0.0, $375 = 0.0, $376 = 0, $377 = 0.0, $378 = 0.0, $379 = 0, $38 = 0.0, $380 = 0, $381 = 0.0, $382 = 0.0, $383 = 0.0, $384 = 0.0, $385 = 0.0, $386 = 0.0, $387 = 0.0, $388 = 0, $389 = 0.0, $39 = 0.0, $390 = 0.0; - var $391 = 0, $392 = 0.0, $393 = 0.0, $394 = 0, $395 = 0.0, $396 = 0.0, $397 = 0.0, $398 = 0.0, $399 = 0, $4 = 0, $40 = 0, $400 = 0.0, $401 = 0.0, $402 = 0.0, $403 = 0, $404 = 0.0, $405 = 0.0, $406 = 0, $407 = 0, $408 = 0; - var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0; - var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0; - var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0.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.0, $86 = 0, $87 = 0; - var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0.0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond189 = 0, $or$cond3 = 0; - var $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, $storemerge = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $$byval_copy3 = sp + 72|0; - $1 = sp + 56|0; - $2 = sp + 16|0; - $3 = sp + 64|0; - $4 = sp + 48|0; - $5 = sp + 40|0; - $6 = sp + 8|0; - $7 = sp; - _GetMousePosition($1); - $8 = (_GetMouseWheelMove()|0); - $9 = HEAP32[13]|0; - $10 = (_IsMouseButtonDown($9)|0); - $11 = HEAP32[14]|0; - $12 = (_IsKeyDown($11)|0); - $13 = HEAP32[15]|0; - $14 = (_IsKeyDown($13)|0); - $15 = HEAP32[16]|0; - $16 = (_IsKeyDown($15)|0); - HEAP32[$2>>2] = $16; - $17 = ((($2)) + 4|0); - $18 = HEAP32[17]|0; - $19 = (_IsKeyDown($18)|0); - HEAP32[$17>>2] = $19; - $20 = ((($2)) + 8|0); - $21 = HEAP32[18]|0; - $22 = (_IsKeyDown($21)|0); - HEAP32[$20>>2] = $22; - $23 = ((($2)) + 12|0); - $24 = HEAP32[19]|0; - $25 = (_IsKeyDown($24)|0); - HEAP32[$23>>2] = $25; - $26 = ((($2)) + 16|0); - $27 = HEAP32[20]|0; - $28 = (_IsKeyDown($27)|0); - HEAP32[$26>>2] = $28; - $29 = ((($2)) + 20|0); - $30 = HEAP32[21]|0; - $31 = (_IsKeyDown($30)|0); - HEAP32[$29>>2] = $31; - $32 = HEAP32[4630]|0; - $33 = ($32|0)==(0); - L1: do { - if ($33) { - label = 58; - } else { - $34 = (_GetScreenWidth()|0); - $35 = (_GetScreenHeight()|0); - $$off187 = (($32) + -3)|0; - $36 = ($$off187>>>0)<(2); - do { - if ($36) { - _HideCursor(); - $37 = +HEAPF32[$1>>2]; - $38 = (+($35|0)); - $39 = $38 / 3.0; - $40 = $37 < $39; - $41 = ((($1)) + 4|0); - $42 = +HEAPF32[$41>>2]; - if ($40) { - $43 = (($35|0) / 3)&-1; - $44 = (($34) - ($43))|0; - $45 = (+($44|0)); - HEAPF32[$3>>2] = $45; - $46 = ((($3)) + 4|0); - HEAPF32[$46>>2] = $42; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } - $47 = $42 < $39; - if ($47) { - HEAPF32[$4>>2] = $37; - $48 = ((($4)) + 4|0); - $49 = (($35|0) / 3)&-1; - $50 = (($35) - ($49))|0; - $51 = (+($50|0)); - HEAPF32[$48>>2] = $51; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } - $52 = (+($34|0)); - $53 = $52 - $39; - $54 = $37 > $53; - if ($54) { - $55 = (($35|0) / 3)&-1; - $56 = (+($55|0)); - HEAPF32[$5>>2] = $56; - $57 = ((($5)) + 4|0); - $58 = HEAP32[$41>>2]|0; - HEAP32[$57>>2] = $58; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } - $59 = $38 - $39; - $60 = $42 > $59; - if ($60) { - HEAPF32[$6>>2] = $37; - $61 = ((($6)) + 4|0); - $62 = (($35|0) / 3)&-1; - $63 = (+($62|0)); - HEAPF32[$61>>2] = $63; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0; - _SetMousePosition($$byval_copy3); - $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; - break; - } else { - $64 = +HEAPF32[4464]; - $65 = $37 - $64; - $66 = +HEAPF32[(17860)>>2]; - $67 = $42 - $66; - $$sroa$095$0 = $65;$$sroa$9$0 = $67; - break; - } - } else { - _ShowCursor(); - $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4464]; - $70 = $68 - $69; - $71 = ((($1)) + 4|0); - $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(17860)>>2]; - $74 = $72 - $73; - $$sroa$095$0 = $70;$$sroa$9$0 = $74; - } - } while(0); - _GetMousePosition($7); - $75 = $7; - $76 = $75; - $77 = HEAP32[$76>>2]|0; - $78 = (($75) + 4)|0; - $79 = $78; - $80 = HEAP32[$79>>2]|0; - $81 = 17856; - $82 = $81; - HEAP32[$82>>2] = $77; - $83 = (($81) + 4)|0; - $84 = $83; - HEAP32[$84>>2] = $80; - $$pr = HEAP32[4630]|0; - switch ($$pr|0) { - case 1: { - $85 = +HEAPF32[4627]; - $86 = $85 < 120.0; - $87 = ($8|0)<(0); - $or$cond3 = $87 & $86; - do { - if ($or$cond3) { - $88 = (+($8|0)); - $89 = $88 * 1.5; - $90 = $85 - $89; - HEAPF32[4627] = $90; - $91 = $90 > 120.0; - if ($91) { - HEAPF32[4627] = 120.0; - } - } else { - $92 = ((($0)) + 4|0); - $93 = +HEAPF32[$92>>2]; - $94 = ((($0)) + 12|0); - $95 = ((($0)) + 16|0); - $96 = +HEAPF32[$95>>2]; - $97 = $93 > $96; - $98 = $85 == 120.0; - $or$cond5 = $98 & $97; - $or$cond7 = $87 & $or$cond5; - if ($or$cond7) { - $99 = (+($8|0)); - $100 = +HEAPF32[$94>>2]; - $101 = +HEAPF32[$0>>2]; - $102 = $100 - $101; - $103 = $99 * $102; - $104 = $103 * 1.5; - $105 = $104 / $85; - $106 = $100 + $105; - HEAPF32[$94>>2] = $106; - $107 = $96 - $93; - $108 = $99 * $107; - $109 = $108 * 1.5; - $110 = $109 / $85; - $111 = $96 + $110; - HEAPF32[$95>>2] = $111; - $112 = ((($0)) + 20|0); - $113 = +HEAPF32[$112>>2]; - $114 = ((($0)) + 8|0); - $115 = +HEAPF32[$114>>2]; - $116 = $113 - $115; - $117 = $99 * $116; - $118 = $117 * 1.5; - $119 = $118 / $85; - $120 = $113 + $119; - HEAPF32[$112>>2] = $120; - break; - } - $$not = $97 ^ 1; - $121 = !($96 >= 0.0); - $or$cond = $121 | $$not; - if (!($or$cond)) { - $122 = (+($8|0)); - $123 = +HEAPF32[$94>>2]; - $124 = +HEAPF32[$0>>2]; - $125 = $123 - $124; - $126 = $122 * $125; - $127 = $126 * 1.5; - $128 = $127 / $85; - $129 = $123 + $128; - HEAPF32[$94>>2] = $129; - $130 = $96 - $93; - $131 = $122 * $130; - $132 = $131 * 1.5; - $133 = $132 / $85; - $134 = $96 + $133; - HEAPF32[$95>>2] = $134; - $135 = ((($0)) + 20|0); - $136 = +HEAPF32[$135>>2]; - $137 = ((($0)) + 8|0); - $138 = +HEAPF32[$137>>2]; - $139 = $136 - $138; - $140 = $122 * $139; - $141 = $140 * 1.5; - $142 = $141 / $85; - $143 = $136 + $142; - HEAPF32[$135>>2] = $143; - break; - } - if ($97) { - $144 = $96 < 0.0; - $145 = ($8|0)>(0); - $or$cond9 = $145 & $144; - if ($or$cond9) { - $146 = (+($8|0)); - $147 = $146 * 1.5; - $148 = $85 - $147; - HEAPF32[4627] = $148; - $149 = $148 < 0.30000001192092896; - if (!($149)) { - break; - } - HEAPF32[4627] = 0.30000001192092896; - break; - } - } - $150 = $93 < $96; - $or$cond11 = $98 & $150; - $or$cond13 = $87 & $or$cond11; - $151 = +HEAPF32[$95>>2]; - $152 = +HEAPF32[$92>>2]; - if ($or$cond13) { - $153 = (+($8|0)); - $154 = +HEAPF32[$94>>2]; - $155 = +HEAPF32[$0>>2]; - $156 = $154 - $155; - $157 = $153 * $156; - $158 = $157 * 1.5; - $159 = $158 / $85; - $160 = $154 + $159; - HEAPF32[$94>>2] = $160; - $161 = $151 - $152; - $162 = $153 * $161; - $163 = $162 * 1.5; - $164 = +HEAPF32[4627]; - $165 = $163 / $164; - $166 = $151 + $165; - HEAPF32[$95>>2] = $166; - $167 = ((($0)) + 20|0); - $168 = +HEAPF32[$167>>2]; - $169 = ((($0)) + 8|0); - $170 = +HEAPF32[$169>>2]; - $171 = $168 - $170; - $172 = $153 * $171; - $173 = $172 * 1.5; - $174 = $173 / $164; - $175 = $168 + $174; - HEAPF32[$167>>2] = $175; - break; - } - $$not188 = $150 ^ 1; - $176 = !($96 <= 0.0); - $or$cond189 = $176 | $$not188; - if (!($or$cond189)) { - $177 = (+($8|0)); - $178 = +HEAPF32[$94>>2]; - $179 = +HEAPF32[$0>>2]; - $180 = $178 - $179; - $181 = $177 * $180; - $182 = $181 * 1.5; - $183 = $182 / $85; - $184 = $178 + $183; - HEAPF32[$94>>2] = $184; - $185 = $151 - $152; - $186 = $177 * $185; - $187 = $186 * 1.5; - $188 = +HEAPF32[4627]; - $189 = $187 / $188; - $190 = $151 + $189; - HEAPF32[$95>>2] = $190; - $191 = ((($0)) + 20|0); - $192 = +HEAPF32[$191>>2]; - $193 = ((($0)) + 8|0); - $194 = +HEAPF32[$193>>2]; - $195 = $192 - $194; - $196 = $177 * $195; - $197 = $196 * 1.5; - $198 = $197 / $188; - $199 = $192 + $198; - HEAPF32[$191>>2] = $199; - break; - } - $200 = $152 < $151; - if ($200) { - $201 = $151 > 0.0; - $202 = ($8|0)>(0); - $or$cond15 = $202 & $201; - if ($or$cond15) { - $203 = (+($8|0)); - $204 = $203 * 1.5; - $205 = +HEAPF32[4627]; - $206 = $205 - $204; - HEAPF32[4627] = $206; - $207 = $206 < 0.30000001192092896; - if ($207) { - HEAPF32[4627] = 0.30000001192092896; - } - } - } - } - } while(0); - $208 = ($10|0)==(0); - if ($208) { - label = 58; - break L1; - } - $209 = ($12|0)==(0); - if ($209) { - $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4628]; - $224 = (+Math_cos((+$223))); - $225 = $222 * $224; - $226 = $$sroa$9$0 * 0.0099999997764825821; - $227 = (+Math_sin((+$223))); - $228 = $226 * $227; - $229 = +HEAPF32[4629]; - $230 = (+Math_sin((+$229))); - $231 = $228 * $230; - $232 = $225 + $231; - $233 = +HEAPF32[4627]; - $234 = $233 / 5.0999999046325684; - $235 = $232 * $234; - $236 = ((($0)) + 12|0); - $237 = +HEAPF32[$236>>2]; - $238 = $237 + $235; - HEAPF32[$236>>2] = $238; - $239 = (+Math_cos((+$229))); - $240 = $226 * $239; - $241 = $234 * $240; - $242 = ((($0)) + 16|0); - $243 = +HEAPF32[$242>>2]; - $244 = $243 + $241; - HEAPF32[$242>>2] = $244; - $245 = $$sroa$095$0 * 0.0099999997764825821; - $246 = $245 * $227; - $247 = $226 * $224; - $248 = $247 * $230; - $249 = $246 + $248; - $250 = $249 * $234; - $251 = ((($0)) + 20|0); - $252 = +HEAPF32[$251>>2]; - $253 = $250 + $252; - HEAPF32[$251>>2] = $253; - label = 58; - break L1; - } - $210 = ($14|0)==(0); - if (!($210)) { - $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4627]; - $213 = $211 + $212; - HEAPF32[4627] = $213; - label = 58; - break L1; - } - $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4628]; - $216 = $215 - $214; - HEAPF32[4628] = $216; - $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4629]; - $219 = $218 - $217; - HEAPF32[4629] = $219; - $220 = $219 > 1.483529806137085; - if ($220) { - HEAPF32[4629] = 1.483529806137085; - label = 58; - break L1; - } - $221 = $219 < -1.483529806137085; - if (!($221)) { - label = 58; - break L1; - } - HEAPF32[4629] = -1.483529806137085; - label = 58; - break L1; - break; - } - case 2: { - $254 = +HEAPF32[4628]; - $255 = $254 + 0.0099999997764825821; - HEAPF32[4628] = $255; - $256 = (+($8|0)); - $257 = $256 * 1.5; - $258 = +HEAPF32[4627]; - $259 = $258 - $257; - HEAPF32[4627] = $259; - $260 = $259 < 1.2000000476837158; - if (!($260)) { - label = 58; - break L1; - } - HEAPF32[4627] = 1.2000000476837158; - label = 58; - break L1; - break; - } - case 4: case 3: { - $264 = +HEAPF32[4628]; - $265 = (+Math_sin((+$264))); - $266 = HEAP32[$17>>2]|0; - $267 = (+($266>>>0)); - $268 = $265 * $267; - $269 = HEAP32[$2>>2]|0; - $270 = (+($269>>>0)); - $271 = $265 * $270; - $272 = $268 - $271; - $273 = (+Math_cos((+$264))); - $274 = HEAP32[$23>>2]|0; - $275 = (+($274>>>0)); - $276 = $273 * $275; - $277 = $272 - $276; - $278 = HEAP32[$20>>2]|0; - $279 = (+($278>>>0)); - $280 = $273 * $279; - $281 = $277 + $280; - $282 = $281 / 20.0; - $283 = +HEAPF32[$0>>2]; - $284 = $283 + $282; - HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4629]; - $286 = (+Math_sin((+$285))); - $287 = $270 * $286; - $288 = $267 * $286; - $289 = $287 - $288; - $290 = HEAP32[$26>>2]|0; - $291 = (+($290>>>0)); - $292 = $289 + $291; - $293 = HEAP32[$29>>2]|0; - $294 = (+($293>>>0)); - $295 = $292 - $294; - $296 = $295 / 20.0; - $297 = ((($0)) + 4|0); - $298 = +HEAPF32[$297>>2]; - $299 = $298 + $296; - HEAPF32[$297>>2] = $299; - $300 = $267 * $273; - $301 = $273 * $270; - $302 = $300 - $301; - $303 = $265 * $275; - $304 = $302 + $303; - $305 = $265 * $279; - $306 = $304 - $305; - $307 = $306 / 20.0; - $308 = ((($0)) + 8|0); - $309 = +HEAPF32[$308>>2]; - $310 = $307 + $309; - HEAPF32[$308>>2] = $310; - $311 = HEAP32[$2>>2]|0; - $312 = ($311|0)==(0); - if ($312) { - $261 = ((($2)) + 4|0); - $262 = HEAP32[$261>>2]|0; - $263 = ($262|0)==(0); - if ($263) { - $407 = ((($2)) + 8|0); - $408 = HEAP32[$407>>2]|0; - $409 = ($408|0)==(0); - if ($409) { - $410 = ((($2)) + 12|0); - $411 = HEAP32[$410>>2]|0; - $412 = ($411|0)==(0); - if ($412) { - $413 = ((($2)) + 16|0); - $414 = HEAP32[$413>>2]|0; - $415 = ($414|0)==(0); - if ($415) { - $416 = ((($2)) + 20|0); - $417 = HEAP32[$416>>2]|0; - $not$ = ($417|0)!=(0); - $$ = $not$&1; - $$0 = $$; - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - } else { - $$0 = 1; - } - $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4628]; - $315 = $314 - $313; - HEAPF32[4628] = $315; - $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4629]; - $318 = $317 - $316; - HEAPF32[4629] = $318; - $319 = HEAP32[4630]|0; - $320 = ($319|0)==(4); - if ($320) { - $321 = $318 > 0.087266460061073303; - if ($321) { - $$sink26 = 0.087266460061073303; - label = 49; - } else { - $322 = $318 < -1.483529806137085; - if ($322) { - $$sink26 = -1.483529806137085; - label = 49; - } - } - if ((label|0) == 49) { - HEAPF32[4629] = $$sink26; - } - $323 = (+($8|0)); - $324 = $323 * 1.5; - $325 = +HEAPF32[4627]; - $326 = $325 - $324; - $327 = $326 < 1.2000000476837158; - $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4627] = $storemerge; - $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4628]; - $330 = (+Math_cos((+$329))); - $331 = $330 * 0.40000000596046448; - $332 = $328 + $331; - $333 = (+Math_sin((+$329))); - $334 = $333 * 0.0; - $335 = $332 + $334; - $336 = ((($0)) + 12|0); - HEAPF32[$336>>2] = $335; - $337 = +HEAPF32[$297>>2]; - $338 = $337 + 0.0; - $339 = ((($0)) + 16|0); - HEAPF32[$339>>2] = $338; - $340 = +HEAPF32[$308>>2]; - $341 = $334 + $340; - $342 = $333 * 0.40000000596046448; - $343 = $341 - $342; - $$sink = $343;$$sink17 = $336; - } else { - $344 = $318 > 1.483529806137085; - if ($344) { - $$sink28 = 1.483529806137085; - label = 53; - } else { - $345 = $318 < -1.483529806137085; - if ($345) { - $$sink28 = -1.483529806137085; - label = 53; - } - } - if ((label|0) == 53) { - HEAPF32[4629] = $$sink28; - } - $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4628]; - $348 = (+Math_sin((+$347))); - $349 = $348 * 25.0; - $350 = $346 - $349; - $351 = ((($0)) + 12|0); - HEAPF32[$351>>2] = $350; - $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4629]; - $354 = (+Math_sin((+$353))); - $355 = $354 * 25.0; - $356 = $352 + $355; - $357 = ((($0)) + 16|0); - HEAPF32[$357>>2] = $356; - $358 = +HEAPF32[$308>>2]; - $359 = (+Math_cos((+$347))); - $360 = $359 * 25.0; - $361 = $358 - $360; - $362 = ((($0)) + 20|0); - HEAPF32[$362>>2] = $361; - $363 = ($$0|0)==(0); - if (!($363)) { - $364 = HEAP32[4631]|0; - $365 = (($364) + 1)|0; - HEAP32[4631] = $365; - } - $366 = +HEAPF32[12]; - $367 = HEAP32[4631]|0; - $368 = (+($367|0)); - $369 = $368 / 5.0; - $370 = (+Math_sin((+$369))); - $371 = $370 / 30.0; - $372 = $366 - $371; - HEAPF32[$297>>2] = $372; - $373 = $368 / 10.0; - $374 = (+Math_sin((+$373))); - $375 = $374 / 200.0; - $376 = ((($0)) + 24|0); - HEAPF32[$376>>2] = $375; - $377 = -$374; - $378 = $377 / 200.0; - $$sink = $378;$$sink17 = $376; - } - $379 = ((($$sink17)) + 8|0); - HEAPF32[$379>>2] = $$sink; - label = 58; - break L1; - break; - } - default: { - $380 = $$pr; - break L1; - } - } - } - } while(0); - if ((label|0) == 58) { - $$pr190 = HEAP32[4630]|0; - $380 = $$pr190; - } - switch ($380|0) { - case 1: case 2: case 4: { - break; - } - default: { - STACKTOP = sp;return; - } - } - $381 = +HEAPF32[4628]; - $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4627]; - $384 = $382 * $383; - $385 = +HEAPF32[4629]; - $386 = (+Math_cos((+$385))); - $387 = $384 * $386; - $388 = ((($0)) + 12|0); - $389 = +HEAPF32[$388>>2]; - $390 = $387 + $389; - HEAPF32[$0>>2] = $390; - $391 = !($385 <= 0.0); - $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4627]; - $394 = ((($0)) + 16|0); - $395 = +HEAPF32[$394>>2]; - $396 = $392 * $393; - $397 = $392 * $396; - $398 = -$397; - $$sink22$p = $391 ? $398 : $397; - $$sink22 = $395 + $$sink22$p; - $399 = ((($0)) + 4|0); - HEAPF32[$399>>2] = $$sink22; - $400 = (+Math_cos((+$381))); - $401 = $393 * $400; - $402 = $386 * $401; - $403 = ((($0)) + 20|0); - $404 = +HEAPF32[$403>>2]; - $405 = $404 + $402; - $406 = ((($0)) + 8|0); - HEAPF32[$406>>2] = $405; - STACKTOP = sp;return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $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; - $1 = 17864; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _GetMouseWheelMove() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4636]|0; - $1 = (($0|0) / 100)&-1; - return ($1|0); -} -function _IsMouseButtonDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetMouseButtonStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _IsKeyDown($0) { - $0 = $0|0; - var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_GetKeyStatus($0)|0); - $2 = ($1|0)==(1); - $$ = $2&1; - return ($$|0); -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4635]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4634]|0; - return ($0|0); -} -function _HideCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4632] = 1; - return; -} -function _SetMousePosition($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.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; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = 17864; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - $11 = HEAP32[4633]|0; - $12 = +HEAPF32[$0>>2]; - $13 = $12; - $14 = ((($0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = $15; - _glfwSetCursorPos(($11|0),(+$13),(+$16)); - return; -} -function _ShowCursor() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4632] = 0; - return; -} -function _GetKeyStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4633]|0; - $2 = (_glfwGetKey(($1|0),($0|0))|0); - return ($2|0); -} -function _GetMouseButtonStatus($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4633]|0; - $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); - return ($2|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; - _TraceLog(0,4684,$vararg_buffer); - HEAP32[4637] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(5|0))|0); - (_emscripten_set_keypress_callback((4713|0),(0|0),1,(6|0))|0); - (_emscripten_set_click_callback((4713|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchstart_callback((4713|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchend_callback((4713|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchmove_callback((4713|0),(0|0),1,(8|0))|0); - (_emscripten_set_touchcancel_callback((4713|0),(0|0),1,(8|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4635]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4466] = $5; - $6 = HEAP32[4634]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(17868)>>2] = $8; - $9 = HEAP32[4638]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[17904>>0]=HEAP8[9213>>0]|0;HEAP8[17904+1>>0]=HEAP8[9213+1>>0]|0;HEAP8[17904+2>>0]=HEAP8[9213+2>>0]|0;HEAP8[17904+3>>0]=HEAP8[9213+3>>0]|0;HEAP8[17904+4>>0]=HEAP8[9213+4>>0]|0;HEAP8[17904+5>>0]=HEAP8[9213+5>>0]|0;HEAP8[17904+6>>0]=HEAP8[9213+6>>0]|0; - break; - } - case 1: { - $3 = 17904; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 2: { - dest=17904; src=9220; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 17904; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(17904,$1)|0); - $strlen = (_strlen(17904)|0); - $endptr = (17904 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(17904,$2)|0); - $12 = ($0|0)==(1); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 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, $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; - var $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.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[4635] = $0; - HEAP32[4634] = $1; - _MatrixIdentity($2); - dest=18628; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(1,5355,$vararg_buffer); - } - $6 = HEAP32[4635]|0; - HEAP32[4673] = $6; - $7 = HEAP32[4634]|0; - HEAP32[4674] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[21372]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[21372]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[21372]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,5381,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[4675]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[4635]|0; - $48 = HEAP32[4634]|0; - $49 = HEAP32[4637]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4633] = $50; - $51 = HEAP32[4635]|0; - HEAP32[4676] = $51; - $52 = HEAP32[4634]|0; - HEAP32[4677] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[4635]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4634]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[4673] = $31; - HEAP32[4674] = $34; - } - } while(0); - $38 = HEAP32[4673]|0; - $39 = HEAP32[4674]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5406,$vararg_buffer3); - $40 = HEAP32[4673]|0; - $41 = HEAP32[4674]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[4673]|0; - $43 = HEAP32[4674]|0; - $44 = HEAP32[4637]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4633] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(1,5444,$vararg_buffer6); - } else { - _TraceLog(0,5477,$vararg_buffer8); - $55 = HEAP32[4676]|0; - $56 = HEAP32[4677]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5517,$vararg_buffer10); - $57 = HEAP32[4635]|0; - $58 = HEAP32[4634]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5538,$vararg_buffer14); - $59 = HEAP32[4678]|0; - $60 = HEAP32[4679]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5559,$vararg_buffer18); - } - $61 = HEAP32[4633]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4633]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4633]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4633]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4633]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4633]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4633]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4633]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4633]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[21372]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[4635]|0; - $74 = HEAP32[4634]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[4676]|0; - $76 = HEAP32[4678]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[4677]|0; - $80 = HEAP32[4679]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,5584,$vararg_buffer22); - $73 = HEAP32[4635]|0; - $74 = HEAP32[4634]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[4676]|0; - $76 = HEAP32[4678]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[4677]|0; - $80 = HEAP32[4679]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(18596)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (88 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18572>>2]=HEAP32[$1>>2]|0;HEAP32[18572+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18572+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18572+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18572+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(18596)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(18600)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(18592)>>2] = $23; - $24 = HEAP32[4643]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4908,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(18576)>>2]|0; - $10 = HEAP32[(18596)>>2]|0; - $11 = HEAP32[(18600)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2136 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(18592)>>2] = $23; - $24 = HEAP32[4643]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4908,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2237] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4841,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4772,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4765)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - if (!($4)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 17880; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (17888); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (18556 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2234] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4721,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4638] = 0; - return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $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, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(8); - $6 = ($1|0)<(8); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(2,5255,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$0>>2] = $11; - $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; - $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; - $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; - $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; - return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - _free($1); - return; -} -function _rlglLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; - var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[4651]|0; - $7 = ($6|0)==(0); - $8 = $3 & -4; - $switch = ($8|0)==(8); - $or$cond100 = $switch & $7; - if ($or$cond100) { - _TraceLog(2,4953,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[4652]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(12); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(2,4997,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[4653]|0; - $13 = ($12|0)==(0); - $$off = (($3) + -13)|0; - $14 = ($$off>>>0)<(2); - $or$cond = $14 & $13; - if ($or$cond) { - _TraceLog(2,5042,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $15 = HEAP32[4654]|0; - $16 = ($15|0)==(0); - $$off92 = (($3) + -15)|0; - $17 = ($$off92>>>0)<(2); - $or$cond96 = $17 & $16; - if ($or$cond96) { - _TraceLog(2,5087,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $18 = HEAP32[4655]|0; - $19 = ($18|0)==(0); - $$off93 = (($3) + -17)|0; - $20 = ($$off93>>>0)<(2); - $or$cond98 = $20 & $19; - if ($or$cond98) { - _TraceLog(2,5132,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $21 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($21|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $22 = HEAP32[4651]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($0,$1,$2,$4,33776); - } - break; - } - case 9: { - $24 = HEAP32[4651]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($0,$1,$2,$4,33777); - } - break; - } - case 10: { - $26 = HEAP32[4651]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($0,$1,$2,$4,33778); - } - break; - } - case 11: { - $28 = HEAP32[4651]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($0,$1,$2,$4,33779); - } - break; - } - case 12: { - $30 = HEAP32[4652]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($0,$1,$2,$4,36196); - } - break; - } - case 13: { - $32 = HEAP32[4653]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($0,$1,$2,$4,37492); - } - break; - } - case 14: { - $34 = HEAP32[4653]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($0,$1,$2,$4,37496); - } - break; - } - case 15: { - $36 = HEAP32[4654]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($0,$1,$2,$4,35840); - } - break; - } - case 16: { - $38 = HEAP32[4654]|0; - $39 = ($38|0)==(0); - if (!($39)) { - _LoadCompressedTexture($0,$1,$2,$4,35842); - } - break; - } - case 17: { - $40 = HEAP32[4655]|0; - $41 = ($40|0)==(0); - if (!($41)) { - _LoadCompressedTexture($0,$1,$2,$4,37808); - } - break; - } - case 18: { - $42 = HEAP32[4655]|0; - $43 = ($42|0)==(0); - if (!($43)) { - _LoadCompressedTexture($0,$1,$2,$4,37815); - } - break; - } - default: { - _TraceLog(2,5177,$vararg_buffer9); - } - } - } while(0); - $44 = HEAP32[4656]|0; - $45 = ($44|0)==(0); - if ($45) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $46 = HEAP32[$5>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - _TraceLog(2,11635,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $46; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5206,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadCompressedTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($4|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($3|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($3|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $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, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(2,5309,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9175,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[4635]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[4634]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[4676] = $3; - HEAP32[4677] = $5; - HEAP32[4678] = 0; - HEAP32[4679] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9109,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[4635]|0; - $36 = (+($35|0)); - $37 = HEAP32[4634]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[4676] = $45; - HEAP32[4677] = $37; - $46 = (($45) - ($35))|0; - HEAP32[4678] = $46; - $$sink1 = 0; - } else { - HEAP32[4676] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[4677] = $42; - HEAP32[4678] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[4679] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[4634]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,8966,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[4635]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[4634]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[4676] = $23; - HEAP32[4677] = $1; - $24 = (($0) - ($23))|0; - HEAP32[4678] = $24; - $$sink = 0; - } else { - HEAP32[4676] = $0; - $17 = HEAP32[4634]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[4677] = $20; - HEAP32[4678] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[4679] = $$sink; - $25 = HEAP32[4676]|0; - $26 = (+($25|0)); - $27 = HEAP32[4635]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=18628; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4676] = $0; - HEAP32[4677] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9044,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[4635] = $1; - HEAP32[4634] = $2; - HEAP32[4676] = $1; - HEAP32[4677] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[759]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (21379 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[758] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (21373 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 17880; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[758] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5049] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5048] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; - 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; - var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2400|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5607,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5625,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5643,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5661,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$062 = 0;$$sink63 = $14; - while(1) { - $15 = (_strtok($$sink63,5679)|0); - $16 = (($vararg_buffer7) + ($$062<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$062) + 1)|0; - if ($17) { - break; - } else { - $$062 = $18;$$sink63 = 0; - } - } - _free($14); - $19 = (($$062) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5681,$vararg_buffer10); - $20 = ($$062|0)>(1); - if ($20) { - $$06167 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06167<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5716)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[4714] = 1; - $27 = (_eglGetProcAddress((5743|0))|0); - HEAP32[4715] = $27; - $28 = (_eglGetProcAddress((5764|0))|0); - HEAP32[4716] = $28; - $29 = (_eglGetProcAddress((5785|0))|0); - HEAP32[4717] = $29; - } - $30 = (_strcmp($24,5809)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[4656] = 1; - } - $32 = (_strcmp($24,5829)|0); - $33 = ($32|0)==(0); - if ($33) { - label = 12; - } else { - $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,5861)|0); - $36 = ($35|0)==(0); - if ($36) { - label = 12; - } else { - $37 = (_strcmp($34,5894)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 12; - } - } - } - if ((label|0) == 12) { - label = 0; - HEAP32[4651] = 1; - } - $39 = (_strcmp($24,5934)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 15; - } else { - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5970)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 15; - } - } - if ((label|0) == 15) { - label = 0; - HEAP32[4652] = 1; - } - $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6003)|0); - $46 = ($45|0)==(0); - if ($46) { - HEAP32[4653] = 1; - } - $47 = (_strcmp($44,6028)|0); - $48 = ($47|0)==(0); - if ($48) { - HEAP32[4654] = 1; - } - $49 = (_strcmp($44,6061)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[4655] = 1; - } - $51 = (_strcmp($44,6097)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[4718] = 1; - _glGetFloatv(34047,(18876|0)); - } - $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6131)|0); - $55 = ($54|0)==(0); - if ($55) { - HEAP32[4720] = 1; - } - $56 = (($$06167) + 1)|0; - $exitcond70 = ($56|0)==($19|0); - if ($exitcond70) { - break; - } else { - $$06167 = $56; - } - } - } - $21 = HEAP32[4714]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(2,6234,$vararg_buffer15); - } else { - _TraceLog(0,6159,$vararg_buffer13); - } - $57 = HEAP32[4656]|0; - $58 = ($57|0)==(0); - if ($58) { - _TraceLog(2,6370,$vararg_buffer19); - } else { - _TraceLog(0,6295,$vararg_buffer17); - } - $59 = HEAP32[4651]|0; - $60 = ($59|0)==(0); - if (!($60)) { - _TraceLog(0,6462,$vararg_buffer21); - } - $61 = HEAP32[4652]|0; - $62 = ($61|0)==(0); - if (!($62)) { - _TraceLog(0,6508,$vararg_buffer23); - } - $63 = HEAP32[4653]|0; - $64 = ($63|0)==(0); - if (!($64)) { - _TraceLog(0,6555,$vararg_buffer25); - } - $65 = HEAP32[4654]|0; - $66 = ($65|0)==(0); - if (!($66)) { - _TraceLog(0,6606,$vararg_buffer27); - } - $67 = HEAP32[4655]|0; - $68 = ($67|0)==(0); - if (!($68)) { - _TraceLog(0,6653,$vararg_buffer29); - } - $69 = HEAP32[4718]|0; - $70 = ($69|0)==(0); - if (!($70)) { - $71 = +HEAPF32[4719]; - $72 = $71; - HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6700,$vararg_buffer31); - } - $73 = HEAP32[4720]|0; - $74 = ($73|0)==(0); - if (!($74)) { - _TraceLog(0,6766,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4721] = $75; - $76 = ($75|0)==(0); - if ($76) { - _TraceLog(2,6870,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6819,$vararg_buffer36); - } - _LoadDefaultShader($2); - dest=18888; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18944; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadDefaultBuffers(); - $77 = (_malloc(49152)|0); - HEAP32[4750] = $77; - $$06066 = 0; - while(1) { - $79 = HEAP32[4750]|0; - $80 = (($79) + (($$06066*12)|0)|0); - _VectorZero($3); - ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; - $81 = (($$06066) + 1)|0; - $exitcond69 = ($81|0)==(4096); - if ($exitcond69) { - break; - } else { - $$06066 = $81; - } - } - $78 = (_malloc(36864)|0); - HEAP32[4751] = $78; - $$05965 = 0; - while(1) { - $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); - HEAP32[$82>>2] = 0; - $83 = (($78) + (($$05965*144)|0)|0); - HEAP32[$83>>2] = 0; - $84 = (($$05965) + 1)|0; - $exitcond = ($84|0)==(256); - if ($exitcond) { - break; - } else { - $$05965 = $84; - } - } - HEAP32[4752] = 1; - $85 = HEAP32[4721]|0; - $86 = ((($78)) + 8|0); - HEAP32[$86>>2] = $85; - HEAP32[4753] = 4; - _MatrixIdentity($4); - dest=19016; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19208); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19272); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19336); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19400); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19464); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19528); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19592); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19656); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19720); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19784); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19848); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19912); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(19976); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=18724; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=18788; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4680] = 18788; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[5010] = $0; - HEAP32[5011] = $1; - _TraceLog(0,6909,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4678]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4679]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4676]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[4677]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 18724; - label = 3; - break; - } - case 5888: { - $modelview$sink = 18788; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[4680] = $modelview$sink; - } - HEAP32[4713] = $0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[4680]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - _MatrixTranspose($6); - $8 = HEAP32[4680]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _LoadDefaultShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $1 = sp + 16|0; - $2 = sp + 513|0; - $3 = sp + 72|0; - _memcpy(($2|0),(7485|0),489)|0; - _memcpy(($3|0),(7974|0),441)|0; - $4 = (_LoadShaderProgram($2,$3)|0); - HEAP32[$1>>2] = $4; - $5 = ($4|0)==(0); - if ($5) { - HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8463,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8415,$vararg_buffer); - } - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - _LoadDefaultShaderLocations($1); - } - dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadDefaultBuffers() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(20060)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(20068)>>2] = $1; - HEAP32[(20064)>>2] = 0; - HEAP32[(20072)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(20068)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[5012] = 0; - HEAP32[(20056)>>2] = 0; - HEAP32[(20052)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(20108)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(20116)>>2] = $6; - HEAP32[(20112)>>2] = 0; - HEAP32[(20120)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(20116)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[5024] = 0; - HEAP32[(20104)>>2] = 0; - HEAP32[(20100)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(20156)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(20160)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(20164)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(20168)>>2] = $13; - $14 = HEAP32[(20156)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20160)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(20164)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(20168)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[5036] = 0; - HEAP32[(20148)>>2] = 0; - HEAP32[(20152)>>2] = 0; - _TraceLog(0,6956,$vararg_buffer); - $20 = HEAP32[4714]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[4715]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20076)); - $44 = HEAP32[4716]|0; - $45 = HEAP32[(20076)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((20080)|0)); - $46 = HEAP32[(20080)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20060)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18948)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18948)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20084)|0)); - $50 = HEAP32[(20084)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20068)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18968)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18968)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4714]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(20080)>>2]|0; - $58 = HEAP32[(20084)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7094,$vararg_buffer3); - } else { - $56 = HEAP32[(20076)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7029,$vararg_buffer1); - } - $59 = HEAP32[4714]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[4715]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20124)); - $62 = HEAP32[4716]|0; - $63 = HEAP32[(20124)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((20128)|0)); - $64 = HEAP32[(20128)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20108)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18948)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18948)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20132)|0)); - $68 = HEAP32[(20132)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20116)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18968)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18968)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4714]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(20128)>>2]|0; - $76 = HEAP32[(20132)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7240,$vararg_buffer10); - } else { - $74 = HEAP32[(20124)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7171,$vararg_buffer7); - } - $77 = HEAP32[4714]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[4715]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20172)); - $80 = HEAP32[4716]|0; - $81 = HEAP32[(20172)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((20176)|0)); - $82 = HEAP32[(20176)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20156)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18948)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18948)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20180)|0)); - $86 = HEAP32[(20180)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20160)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18952)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18952)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20184)|0)); - $90 = HEAP32[(20184)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20164)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18968)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18968)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20188)|0)); - $94 = HEAP32[(20188)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20168)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4714]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(20176)>>2]|0; - $100 = HEAP32[(20180)>>2]|0; - $101 = HEAP32[(20184)>>2]|0; - $102 = HEAP32[(20188)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7386,$vararg_buffer17); - } else { - $98 = HEAP32[(20172)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7321,$vararg_buffer14); - } - $103 = HEAP32[4714]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[4716]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8719,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8667,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8716,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8820,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8769,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8716,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8511|0)); - _glBindAttribLocation(($20|0),1,(8526|0)); - _glBindAttribLocation(($20|0),2,(8557|0)); - _glBindAttribLocation(($20|0),3,(8584|0)); - _glBindAttribLocation(($20|0),4,(8570|0)); - _glBindAttribLocation(($20|0),5,(8541|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,8872,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8716,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8918,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8511|0))|0); - $3 = ((($0)) + 4|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8526|0))|0); - $6 = ((($0)) + 8|0); - HEAP32[$6>>2] = $5; - $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8541|0))|0); - $9 = ((($0)) + 12|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8557|0))|0); - $12 = ((($0)) + 16|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8570|0))|0); - $15 = ((($0)) + 20|0); - HEAP32[$15>>2] = $14; - $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8584|0))|0); - $18 = ((($0)) + 24|0); - HEAP32[$18>>2] = $17; - $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8596|0))|0); - $21 = ((($0)) + 28|0); - HEAP32[$21>>2] = $20; - $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8606|0))|0); - $24 = ((($0)) + 32|0); - HEAP32[$24>>2] = $23; - $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8617|0))|0); - $27 = ((($0)) + 36|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8628|0))|0); - $30 = ((($0)) + 40|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8640|0))|0); - $33 = ((($0)) + 44|0); - HEAP32[$33>>2] = $32; - $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8649|0))|0); - $36 = ((($0)) + 48|0); - HEAP32[$36>>2] = $35; - $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8658|0))|0); - $39 = ((($0)) + 52|0); - HEAP32[$39>>2] = $38; - return; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (21373 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (21376 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (21373 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (21376 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 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; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[4633]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,9230,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18572>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18572+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18572+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18572+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18572+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(18600)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 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; - _UnloadDefaultShader(); - _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18884|0)); - $0 = HEAP32[4721]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9257,$vararg_buffer); - $1 = HEAP32[4751]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadDefaultShader() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[4722]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadDefaultBuffers() { - var $0 = 0, $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; - $0 = HEAP32[4714]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[4716]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20080)|0)); - _glDeleteBuffers(1,((20084)|0)); - _glDeleteBuffers(1,((20128)|0)); - _glDeleteBuffers(1,((20132)|0)); - _glDeleteBuffers(1,((20176)|0)); - _glDeleteBuffers(1,((20180)|0)); - _glDeleteBuffers(1,((20184)|0)); - _glDeleteBuffers(1,((20188)|0)); - $3 = HEAP32[4714]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4717]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20076)); - $6 = HEAP32[4717]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20124)); - $7 = HEAP32[4717]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20172)); - } - $8 = HEAP32[(20060)>>2]|0; - _free($8); - $9 = HEAP32[(20068)>>2]|0; - _free($9); - $10 = HEAP32[(20108)>>2]|0; - _free($10); - $11 = HEAP32[(20116)>>2]|0; - _free($11); - $12 = HEAP32[(20156)>>2]|0; - _free($12); - $13 = HEAP32[(20160)>>2]|0; - _free($13); - $14 = HEAP32[(20164)>>2]|0; - _free($14); - $15 = HEAP32[(20168)>>2]|0; - _free($15); - return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9322,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 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] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2254] = $0; - $1 = +HEAPF64[2237]; - $2 = $0 - $1; - HEAPF64[2255] = $2; - HEAPF64[2237] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18628; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20200); - STACKTOP = sp;return; -} -function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[5050] = $1; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(20204)>>2] = $3; - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(20208)>>2] = $5; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(20212)>>2] = $7; - $8 = ((($0)) + 16|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(20216)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(20220)>>2] = $11; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(20224)>>2] = $13; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(20228)>>2] = $15; - $16 = ((($0)) + 32|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(20232)>>2] = $17; - $18 = ((($0)) + 36|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(20236)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(20240)>>2] = $21; - $22 = ((($0)) + 44|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20244)>>2] = $23; - $24 = ((($0)) + 48|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(20248)>>2] = $25; - $26 = ((($0)) + 52|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(20252)>>2] = $27; - $28 = ((($0)) + 56|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(20256)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(20260)>>2] = $31; - return (20200|0); -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 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; - 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, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 8|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 12|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 16|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 24|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 28|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 32|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 36|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 44|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 48|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 52|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 56|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[4680]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2254] = $0; - $1 = +HEAPF64[2237]; - $2 = $0 - $1; - HEAPF64[2256] = $2; - HEAPF64[2237] = $0; - $3 = +HEAPF64[2255]; - $4 = $2 + $3; - HEAPF64[2257] = $4; - $5 = +HEAPF64[2234]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2254] = $10; - $11 = +HEAPF64[2237]; - $12 = $10 - $11; - HEAPF64[2237] = $10; - $13 = +HEAPF64[2257]; - $14 = $12 + $13; - HEAPF64[2257] = $14; - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateDefaultBuffers(); - _DrawDefaultBuffers(); - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[4633]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[758] = -1; - HEAP32[760] = -1; - HEAP32[5066] = 0; - $3 = HEAP32[4633]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4466] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(17868)>>2] = $7; - _memcpy((21891|0),(21379|0),512)|0; - ;HEAP8[21376>>0]=HEAP8[21373>>0]|0;HEAP8[21376+1>>0]=HEAP8[21373+1>>0]|0;HEAP8[21376+2>>0]=HEAP8[21373+2>>0]|0; - $8 = HEAP32[5049]|0; - HEAP32[4636] = $8; - HEAP32[5049] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (22403 + ($$05160<<5)|0); - $scevgep67 = (22531 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((22531 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[760] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((20268 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5066] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _UpdateDefaultBuffers() { - 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5012]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[4714]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[4716]|0; - $5 = HEAP32[(20076)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(20080)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5012]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(20060)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20084)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20056)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(20068)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[5024]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[4714]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[4716]|0; - $19 = HEAP32[(20124)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(20128)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5024]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(20108)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20132)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20104)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(20116)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[5036]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[4714]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[4716]|0; - $33 = HEAP32[(20172)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(20176)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5036]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(20156)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20180)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5036]|0; - $40 = $39 << 3; - $41 = HEAP32[(20160)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20184)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5036]|0; - $44 = $43 << 2; - $45 = HEAP32[(20164)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[4714]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[4716]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawDefaultBuffers() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; - 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, $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, $58 = 0; - var $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, $76 = 0; - var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; - var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=18724; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=18788; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5099]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[5012]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[5024]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[5036]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[4736]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18788; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=18724; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18972)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18976)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18988)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[5012]|0; - $20 = ($19|0)>(0); - if ($20) { - $21 = HEAP32[4721]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[4714]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(20080)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18948)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18948)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20084)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18968)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18968)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[4716]|0; - $25 = HEAP32[(20076)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[5012]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4714]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[5024]|0; - $36 = ($35|0)>(0); - if ($36) { - $37 = HEAP32[4721]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[4714]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(20128)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18948)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18948)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20132)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18968)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18968)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[4716]|0; - $41 = HEAP32[(20124)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[5024]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4714]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[5036]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[4714]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(20176)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18948)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18948)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20180)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18952)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18952)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20184)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18968)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18968)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20188)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[4716]|0; - $56 = HEAP32[(20172)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[4752]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[4751]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glBindTexture(3553,($77|0)); - $78 = $$02830 << 1; - $79 = $78; - _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4751]|0; - $81 = (($80) + (($$031*144)|0)|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82|0) / 4)&-1; - $84 = ($83*6)|0; - $85 = (($84) + ($$02830))|0; - $86 = (($$031) + 1)|0; - $87 = HEAP32[4752]|0; - $88 = ($86|0)<($87|0); - if ($88) { - $$02830 = $85;$$031 = $86; - } else { - break; - } - } - } - $69 = HEAP32[4714]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $89 = HEAP32[4714]|0; - $90 = ($89|0)==(0); - if (!($90)) { - $91 = HEAP32[4716]|0; - FUNCTION_TABLE_vi[$91 & 31](0); - } - _glUseProgram(0); - $92 = (($$02932) + 1)|0; - $93 = ($92|0)<($$|0); - if ($93) { - $$02932 = $92; - } else { - break; - } - } - HEAP32[4752] = 1; - $5 = HEAP32[4721]|0; - $6 = HEAP32[4751]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[5012] = 0; - HEAP32[(20056)>>2] = 0; - HEAP32[5024] = 0; - HEAP32[(20104)>>2] = 0; - HEAP32[5036] = 0; - HEAP32[(20148)>>2] = 0; - HEAP32[(20152)>>2] = 0; - HEAPF32[761] = -1.0; - dest=18724; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18788; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5010]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5011]|0; - _rlViewport($7,0,$8,$9); - $10 = (20628 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20500 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=18788; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=18724; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _Begin3dMode($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0; - var $8 = 0.0, $9 = 0.0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy1 = sp + 76|0; - $$byval_copy = sp + 64|0; - $1 = sp; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPushMatrix(); - _rlLoadIdentity(); - $2 = HEAP32[4635]|0; - $3 = (+($2|0)); - $4 = HEAP32[4634]|0; - $5 = (+($4|0)); - $6 = $3 / $5; - $7 = ((($0)) + 36|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * 3.1415927410125732; - $10 = $9; - $11 = $10 / 360.0; - $12 = (+Math_tan((+$11))); - $13 = $12 * 0.01; - $14 = $6; - $15 = $13 * $14; - $16 = -$15; - $17 = -$13; - _rlFrustum($16,$15,$17,$13,0.01,1000.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - $18 = ((($0)) + 12|0); - $19 = ((($0)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$18+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$19+8>>2]|0; - _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); - dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20200); - _rlEnableDepthTest(); - STACKTOP = sp;return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[5189]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,9372,$vararg_buffer); - } - $2 = HEAP32[5189]|0; - $3 = (19016 + ($2<<6)|0); - $4 = HEAP32[4680]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[5189]|0; - $6 = (($5) + 1)|0; - HEAP32[5189] = $6; - $7 = HEAP32[4713]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5190] = 1; - STACKTOP = sp;return; -} -function _rlFrustum($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); - _MatrixTranspose($6); - $8 = HEAP32[4680]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlEnableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glEnable(2929); - return; -} -function _End3dMode() { - var label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _rlMatrixMode(5889); - _rlPopMatrix(); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlDisableDepthTest(); - return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5189]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[5189]|0; - $3 = (($2) + -1)|0; - $4 = (19016 + ($3<<6)|0); - $5 = HEAP32[4680]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[5189] = $6; - return; -} -function _rlDisableDepthTest() { - var label = 0, sp = 0; - sp = STACKTOP; - _glDisable(2929); - return; -} -function _GetFPS() { - var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_GetFrameTime()); - $1 = 1.0 / $0; - $2 = (~~(($1))); - return ($2|0); -} -function _GetFrameTime() { - var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = +HEAPF64[2257]; - $1 = $0; - return (+$1); -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _GetMouseRay($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0; - var $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0; - var $7 = 0, $8 = 0, $9 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 416|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(416|0); - $$byval_copy10 = sp; - $$byval_copy9 = sp + 352|0; - $$byval_copy = sp + 288|0; - $3 = sp + 264|0; - $4 = sp + 200|0; - $5 = sp + 136|0; - $6 = sp + 120|0; - $7 = sp + 104|0; - $8 = sp + 88|0; - $9 = sp + 76|0; - $10 = sp + 64|0; - $11 = +HEAPF32[$1>>2]; - $12 = $11 * 2.0; - $13 = (_GetScreenWidth()|0); - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = $15 + -1.0; - $17 = ((($1)) + 4|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 * 2.0; - $20 = (_GetScreenHeight()|0); - $21 = (+($20|0)); - $22 = $19 / $21; - $23 = 1.0 - $22; - $24 = $16; - $25 = $23; - HEAPF64[$$byval_copy10>>3] = $24; - $vararg_ptr1 = ((($$byval_copy10)) + 8|0); - HEAPF64[$vararg_ptr1>>3] = $25; - $vararg_ptr2 = ((($$byval_copy10)) + 16|0); - HEAPF64[$vararg_ptr2>>3] = 1.0; - _TraceLog(3,9410,$$byval_copy10); - $26 = ((($2)) + 36|0); - $27 = +HEAPF32[$26>>2]; - $28 = $27; - $29 = (_GetScreenWidth()|0); - $30 = (+($29|0)); - $31 = (_GetScreenHeight()|0); - $32 = (+($31|0)); - $33 = $30 / $32; - _MatrixPerspective($4,$28,$33,0.01,1000.0); - $34 = ((($2)) + 12|0); - $35 = ((($2)) + 24|0); - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$34+8>>2]|0; - ;HEAP32[$$byval_copy10>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[$35+8>>2]|0; - _MatrixLookAt($5,$$byval_copy,$$byval_copy9,$$byval_copy10); - _MatrixTranspose($5); - dest=$$byval_copy9; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy10; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($$byval_copy,$$byval_copy9,$$byval_copy10); - _MatrixInvert($$byval_copy); - HEAPF32[$6>>2] = $16; - $36 = ((($6)) + 4|0); - HEAPF32[$36>>2] = $23; - $37 = ((($6)) + 8|0); - HEAPF32[$37>>2] = 0.0; - $38 = ((($6)) + 12|0); - HEAPF32[$38>>2] = 1.0; - HEAPF32[$7>>2] = $16; - $39 = ((($7)) + 4|0); - HEAPF32[$39>>2] = $23; - $40 = ((($7)) + 8|0); - HEAPF32[$40>>2] = 1.0; - $41 = ((($7)) + 12|0); - HEAPF32[$41>>2] = 1.0; - dest=$$byval_copy10; src=$$byval_copy; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _QuaternionTransform($6,$$byval_copy10); - dest=$$byval_copy10; src=$$byval_copy; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _QuaternionTransform($7,$$byval_copy10); - $42 = +HEAPF32[$6>>2]; - $43 = +HEAPF32[$38>>2]; - $44 = $42 / $43; - HEAPF32[$8>>2] = $44; - $45 = ((($8)) + 4|0); - $46 = +HEAPF32[$36>>2]; - $47 = $46 / $43; - HEAPF32[$45>>2] = $47; - $48 = ((($8)) + 8|0); - $49 = +HEAPF32[$37>>2]; - $50 = +HEAPF32[$38>>2]; - $51 = $49 / $50; - HEAPF32[$48>>2] = $51; - $52 = +HEAPF32[$7>>2]; - $53 = +HEAPF32[$41>>2]; - $54 = $52 / $53; - HEAPF32[$9>>2] = $54; - $55 = ((($9)) + 4|0); - $56 = +HEAPF32[$39>>2]; - $57 = $56 / $53; - HEAPF32[$55>>2] = $57; - $58 = ((($9)) + 8|0); - $59 = +HEAPF32[$40>>2]; - $60 = +HEAPF32[$41>>2]; - $61 = $59 / $60; - HEAPF32[$58>>2] = $61; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP32[$$byval_copy10>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[$8+8>>2]|0; - _VectorSubtract($10,$$byval_copy9,$$byval_copy10); - _VectorNormalize($10); - ;HEAP32[$3>>2]=HEAP32[$2>>2]|0;HEAP32[$3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$2+8>>2]|0; - $62 = ((($3)) + 12|0); - ;HEAP32[$62>>2]=HEAP32[$10>>2]|0;HEAP32[$62+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$62+8>>2]=HEAP32[$10+8>>2]|0; - ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$3+20>>2]|0; - STACKTOP = sp;return; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - _MatrixTranspose($3); - $5 = HEAP32[4680]|0; - dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _VectorNormalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixTranspose($4); - $11 = HEAP32[4680]|0; - dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[4753] = $0; - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; - var $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, $47 = 0; - var $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, $65 = 0; - var $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, $83 = 0; - var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5190]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5191]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[4750]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4680]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _VectorTransform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5191]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5190] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[4750]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5191]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5190] = 0; - } - HEAP32[5191] = 0; - } - $21 = HEAP32[4753]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[5012]|0; - $23 = HEAP32[(20056)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(20068)>>2]|0; - $28 = HEAP32[(20056)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(20068)>>2]|0; - $35 = HEAP32[(20056)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(20068)>>2]|0; - $43 = HEAP32[(20056)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(20068)>>2]|0; - $51 = HEAP32[(20056)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(20056)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(20056)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[5024]|0; - $62 = HEAP32[(20104)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(20116)>>2]|0; - $67 = HEAP32[(20104)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(20116)>>2]|0; - $74 = HEAP32[(20104)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(20116)>>2]|0; - $82 = HEAP32[(20104)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(20116)>>2]|0; - $90 = HEAP32[(20104)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(20104)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(20104)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[5036]|0; - $101 = HEAP32[(20152)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(20164)>>2]|0; - $106 = HEAP32[(20152)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(20164)>>2]|0; - $113 = HEAP32[(20152)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(20164)>>2]|0; - $121 = HEAP32[(20152)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(20164)>>2]|0; - $129 = HEAP32[(20152)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(20152)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(20152)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[5036]|0; - $140 = HEAP32[(20148)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(20160)>>2]|0; - $$promoted = HEAP32[(20148)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(20148)>>2] = $147; - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[761]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[761] = $149; - STACKTOP = sp;return; - } - } -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $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, $29 = 0; - var $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, $47 = 0; - var $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; - $3 = HEAP32[5190]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[4750]|0; - $6 = HEAP32[5191]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5191] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[4753]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[5012]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(20060)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[5012] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(1,9443,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[5024]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(20108)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[5024] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(1,9468,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[5036]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(20156)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[5036] = $41; - $42 = HEAP32[4751]|0; - $43 = HEAP32[4752]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,9497,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[761]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[4753]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(20160)>>2]|0; - $5 = HEAP32[(20148)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(20148)>>2] = $10; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[4753]|0; - switch ($4|0) { - case 1: { - $$sink37 = (20056);$$sink38 = (20068); - break; - } - case 4: { - $$sink37 = (20104);$$sink38 = (20116); - break; - } - case 7: { - $$sink37 = (20152);$$sink38 = (20164); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlColor3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $0 * 255.0; - $4 = (~~(($3))&255); - $5 = $1 * 255.0; - $6 = (~~(($5))&255); - $7 = $2 * 255.0; - $8 = (~~(($7))&255); - _rlColor4ub($4,$6,$8,-1); - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $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 = HEAP32[4751]|0; - $2 = HEAP32[4752]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = (($2) + 1)|0; - HEAP32[4752] = $10; - } - $11 = HEAP32[4752]|0; - $12 = (($11) + -1)|0; - $13 = (((($1) + (($12*144)|0)|0)) + 8|0); - HEAP32[$13>>2] = $0; - $14 = (($1) + (($12*144)|0)|0); - HEAP32[$14>>2] = 0; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5036]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlDeleteVertexArrays($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 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 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = HEAP32[4714]|0; - $3 = ($2|0)==(0); - if ($3) { - STACKTOP = sp;return; - } - $4 = ($0|0)==(0); - if (!($4)) { - $5 = HEAP32[4717]|0; - FUNCTION_TABLE_vii[$5 & 63](1,$1); - } - $6 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(0,9522,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteBuffers($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 = sp + 4|0; - HEAP32[$1>>2] = $0; - $2 = ($0|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4714]|0; - $4 = ($3|0)==(0); - if (!($4)) { - STACKTOP = sp;return; - } - $5 = HEAP32[$1>>2]|0; - HEAP32[$vararg_buffer>>2] = $5; - _TraceLog(0,9570,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlglLoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 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, $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, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 48|0; - $3 = sp + 20|0; - $4 = ((($0)) + 36|0); - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 44|0); - $7 = ((($0)) + 48|0); - $8 = ((($0)) + 52|0); - $9 = ((($0)) + 56|0); - $10 = ((($0)) + 60|0); - $11 = ((($0)) + 64|0); - $12 = ($1|0)!=(0); - $$ = $12 ? 35048 : 35044; - ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; - HEAP32[$2>>2] = 0; - ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4714]|0; - $14 = ($13|0)==(0); - if (!($14)) { - $15 = HEAP32[4715]|0; - FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4716]|0; - $17 = HEAP32[$2>>2]|0; - FUNCTION_TABLE_vi[$16 & 31]($17); - } - _glGenBuffers(1,($3|0)); - $18 = HEAP32[$3>>2]|0; - _glBindBuffer(34962,($18|0)); - $19 = HEAP32[$0>>2]|0; - $20 = ($19*12)|0; - $21 = ((($0)) + 8|0); - $22 = HEAP32[$21>>2]|0; - _glBufferData(34962,($20|0),($22|0),($$|0)); - _glVertexAttribPointer(0,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(0); - $23 = ((($3)) + 4|0); - _glGenBuffers(1,($23|0)); - $24 = HEAP32[$23>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[$0>>2]|0; - $26 = $25 << 3; - $27 = ((($0)) + 12|0); - $28 = HEAP32[$27>>2]|0; - _glBufferData(34962,($26|0),($28|0),($$|0)); - _glVertexAttribPointer(1,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(1); - $29 = ((($0)) + 20|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)==(0|0); - if ($31) { - _glVertexAttrib3f(2,1.0,1.0,1.0); - _glDisableVertexAttribArray(2); - } else { - $32 = ((($3)) + 8|0); - _glGenBuffers(1,($32|0)); - $33 = HEAP32[$32>>2]|0; - _glBindBuffer(34962,($33|0)); - $34 = HEAP32[$0>>2]|0; - $35 = ($34*12)|0; - $36 = HEAP32[$29>>2]|0; - _glBufferData(34962,($35|0),($36|0),($$|0)); - _glVertexAttribPointer(2,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(2); - } - $37 = ((($0)) + 28|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(0|0); - if ($39) { - _glVertexAttrib4f(3,1.0,1.0,1.0,1.0); - _glDisableVertexAttribArray(3); - } else { - $40 = ((($3)) + 12|0); - _glGenBuffers(1,($40|0)); - $41 = HEAP32[$40>>2]|0; - _glBindBuffer(34962,($41|0)); - $42 = HEAP32[$0>>2]|0; - $43 = $42 << 2; - $44 = HEAP32[$37>>2]|0; - _glBufferData(34962,($43|0),($44|0),($$|0)); - _glVertexAttribPointer(3,4,5121,1,0,(0|0)); - _glEnableVertexAttribArray(3); - } - $45 = ((($0)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(0|0); - if ($47) { - _glVertexAttrib3f(4,0.0,0.0,0.0); - _glDisableVertexAttribArray(4); - } else { - $48 = ((($3)) + 16|0); - _glGenBuffers(1,($48|0)); - $49 = HEAP32[$48>>2]|0; - _glBindBuffer(34962,($49|0)); - $50 = HEAP32[$0>>2]|0; - $51 = ($50*12)|0; - $52 = HEAP32[$45>>2]|0; - _glBufferData(34962,($51|0),($52|0),($$|0)); - _glVertexAttribPointer(4,3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(4); - } - $53 = ((($0)) + 16|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==(0|0); - if ($55) { - _glVertexAttrib2f(5,0.0,0.0); - _glDisableVertexAttribArray(5); - } else { - $56 = ((($3)) + 20|0); - _glGenBuffers(1,($56|0)); - $57 = HEAP32[$56>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[$0>>2]|0; - $59 = $58 << 3; - $60 = HEAP32[$53>>2]|0; - _glBufferData(34962,($59|0),($60|0),($$|0)); - _glVertexAttribPointer(5,2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(5); - } - $61 = ((($0)) + 32|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $64 = ((($3)) + 24|0); - _glGenBuffers(1,($64|0)); - $65 = HEAP32[$64>>2]|0; - _glBindBuffer(34963,($65|0)); - $66 = ((($0)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = ($67*6)|0; - $69 = HEAP32[$61>>2]|0; - _glBufferData(34963,($68|0),($69|0),35044); - } - $70 = HEAP32[$3>>2]|0; - HEAP32[$5>>2] = $70; - $71 = HEAP32[$23>>2]|0; - HEAP32[$6>>2] = $71; - $72 = ((($3)) + 8|0); - $73 = HEAP32[$72>>2]|0; - HEAP32[$7>>2] = $73; - $74 = ((($3)) + 12|0); - $75 = HEAP32[$74>>2]|0; - HEAP32[$8>>2] = $75; - $76 = ((($3)) + 16|0); - $77 = HEAP32[$76>>2]|0; - HEAP32[$9>>2] = $77; - $78 = ((($3)) + 20|0); - $79 = HEAP32[$78>>2]|0; - HEAP32[$10>>2] = $79; - $80 = ((($3)) + 24|0); - $81 = HEAP32[$80>>2]|0; - HEAP32[$11>>2] = $81; - $82 = HEAP32[4714]|0; - $83 = ($82|0)==(0); - if ($83) { - _TraceLog(0,9719,$vararg_buffer3); - STACKTOP = sp;return; - } - $84 = HEAP32[$2>>2]|0; - $85 = ($84|0)==(0); - if ($85) { - _TraceLog(2,9678,$vararg_buffer1); - STACKTOP = sp;return; - } else { - HEAP32[$4>>2] = $84; - HEAP32[$vararg_buffer>>2] = $84; - _TraceLog(0,9625,$vararg_buffer); - STACKTOP = sp;return; - } -} -function _rlglDrawMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$020 = 0, $$byval_copy5 = 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, $113 = 0, $114 = 0; - var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0.0, $130 = 0, $131 = 0, $132 = 0; - var $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, $15 = 0, $150 = 0; - var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0.0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0; - var $17 = 0.0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0; - var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0.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.0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.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, $modelview$byval_copy4 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 384|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(384|0); - $$byval_copy5 = sp + 320|0; - $modelview$byval_copy4 = sp + 256|0; - $3 = sp + 192|0; - $4 = sp + 128|0; - $5 = sp + 64|0; - $6 = sp; - $7 = HEAP32[$1>>2]|0; - _glUseProgram(($7|0)); - $8 = ((($1)) + 32|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($1)) + 116|0); - $11 = HEAP8[$10>>0]|0; - $12 = (+($11&255)); - $13 = $12 / 255.0; - $14 = ((($1)) + 117|0); - $15 = HEAP8[$14>>0]|0; - $16 = (+($15&255)); - $17 = $16 / 255.0; - $18 = ((($1)) + 118|0); - $19 = HEAP8[$18>>0]|0; - $20 = (+($19&255)); - $21 = $20 / 255.0; - $22 = ((($1)) + 119|0); - $23 = HEAP8[$22>>0]|0; - $24 = (+($23&255)); - $25 = $24 / 255.0; - _glUniform4f(($9|0),(+$13),(+$17),(+$21),(+$25)); - $26 = ((($1)) + 36|0); - $27 = HEAP32[$26>>2]|0; - $28 = ($27|0)==(-1); - if (!($28)) { - $29 = ((($1)) + 120|0); - $30 = HEAP8[$29>>0]|0; - $31 = (+($30&255)); - $32 = $31 / 255.0; - $33 = ((($1)) + 121|0); - $34 = HEAP8[$33>>0]|0; - $35 = (+($34&255)); - $36 = $35 / 255.0; - $37 = ((($1)) + 122|0); - $38 = HEAP8[$37>>0]|0; - $39 = (+($38&255)); - $40 = $39 / 255.0; - $41 = ((($1)) + 123|0); - $42 = HEAP8[$41>>0]|0; - $43 = (+($42&255)); - $44 = $43 / 255.0; - _glUniform4f(($27|0),(+$32),(+$36),(+$40),(+$44)); - } - $45 = ((($1)) + 40|0); - $46 = HEAP32[$45>>2]|0; - $47 = ($46|0)==(-1); - if (!($47)) { - $48 = ((($1)) + 124|0); - $49 = HEAP8[$48>>0]|0; - $50 = (+($49&255)); - $51 = $50 / 255.0; - $52 = ((($1)) + 125|0); - $53 = HEAP8[$52>>0]|0; - $54 = (+($53&255)); - $55 = $54 / 255.0; - $56 = ((($1)) + 126|0); - $57 = HEAP8[$56>>0]|0; - $58 = (+($57&255)); - $59 = $58 / 255.0; - $60 = ((($1)) + 127|0); - $61 = HEAP8[$60>>0]|0; - $62 = (+($61&255)); - $63 = $62 / 255.0; - _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); - } - dest=$3; src=18788; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=18724; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=18788; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); - $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4722]|0; - $66 = ($64|0)==($65|0); - if (!($66)) { - $67 = (_glGetUniformLocation(($64|0),(9767|0))|0); - $68 = ($67|0)==(-1); - if (!($68)) { - dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixTranspose($modelview$byval_copy4); - _MatrixInvert($modelview$byval_copy4); - dest=$$byval_copy5; src=$modelview$byval_copy4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $69 = (_MatrixToFloat($$byval_copy5)|0); - _glUniformMatrix4fv(($67|0),1,0,($69|0)); - } - $70 = HEAP32[$1>>2]|0; - $71 = (_glGetUniformLocation(($70|0),(9779|0))|0); - $72 = ($71|0)==(-1); - if (!($72)) { - $73 = ((($3)) + 8|0); - $74 = +HEAPF32[$73>>2]; - $75 = ((($3)) + 24|0); - $76 = +HEAPF32[$75>>2]; - $77 = ((($3)) + 40|0); - $78 = +HEAPF32[$77>>2]; - _glUniform3f(($71|0),(+$74),(+$76),(+$78)); - } - $79 = (_glGetUniformLocation(($70|0),(9787|0))|0); - $80 = ($79|0)==(-1); - if (!($80)) { - $81 = ((($1)) + 128|0); - $82 = +HEAPF32[$81>>2]; - _glUniform1f(($79|0),(+$82)); - } - } - _glActiveTexture(33984); - $83 = ((($1)) + 56|0); - $84 = HEAP32[$83>>2]|0; - _glBindTexture(3553,($84|0)); - $85 = ((($1)) + 44|0); - $86 = HEAP32[$85>>2]|0; - _glUniform1i(($86|0),0); - $87 = ((($1)) + 76|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0); - if (!($89)) { - $90 = ((($1)) + 48|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)==(-1); - if (!($92)) { - $93 = HEAP32[$1>>2]|0; - $94 = (_glGetUniformLocation(($93|0),(9798|0))|0); - _glUniform1i(($94|0),1); - _glActiveTexture(33985); - $95 = HEAP32[$87>>2]|0; - _glBindTexture(3553,($95|0)); - $96 = HEAP32[$90>>2]|0; - _glUniform1i(($96|0),1); - } - } - $97 = ((($1)) + 96|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0); - if (!($99)) { - $100 = ((($1)) + 52|0); - $101 = HEAP32[$100>>2]|0; - $102 = ($101|0)==(-1); - if (!($102)) { - $103 = HEAP32[$1>>2]|0; - $104 = (_glGetUniformLocation(($103|0),(9808|0))|0); - _glUniform1i(($104|0),1); - _glActiveTexture(33986); - $105 = HEAP32[$97>>2]|0; - _glBindTexture(3553,($105|0)); - $106 = HEAP32[$100>>2]|0; - _glUniform1i(($106|0),2); - } - } - $107 = HEAP32[4714]|0; - $108 = ($107|0)==(0); - if ($108) { - $112 = ((($0)) + 40|0); - $113 = HEAP32[$112>>2]|0; - _glBindBuffer(34962,($113|0)); - $114 = ((($1)) + 4|0); - $115 = HEAP32[$114>>2]|0; - _glVertexAttribPointer(($115|0),3,5126,0,0,(0|0)); - _glEnableVertexAttribArray(($115|0)); - $116 = ((($0)) + 44|0); - $117 = HEAP32[$116>>2]|0; - _glBindBuffer(34962,($117|0)); - $118 = ((($1)) + 8|0); - $119 = HEAP32[$118>>2]|0; - _glVertexAttribPointer(($119|0),2,5126,0,0,(0|0)); - _glEnableVertexAttribArray(($119|0)); - $120 = ((($1)) + 16|0); - $121 = HEAP32[$120>>2]|0; - $122 = ($121|0)==(-1); - if (!($122)) { - $123 = ((($0)) + 48|0); - $124 = HEAP32[$123>>2]|0; - _glBindBuffer(34962,($124|0)); - $125 = HEAP32[$120>>2]|0; - _glVertexAttribPointer(($125|0),3,5126,0,0,(0|0)); - $126 = HEAP32[$120>>2]|0; - _glEnableVertexAttribArray(($126|0)); - } - $127 = ((($1)) + 24|0); - $128 = HEAP32[$127>>2]|0; - $129 = ($128|0)==(-1); - do { - if (!($129)) { - $130 = ((($0)) + 52|0); - $131 = HEAP32[$130>>2]|0; - $132 = ($131|0)==(0); - if ($132) { - _glVertexAttrib4f(($128|0),1.0,1.0,1.0,1.0); - $135 = HEAP32[$127>>2]|0; - _glDisableVertexAttribArray(($135|0)); - break; - } else { - _glBindBuffer(34962,($131|0)); - $133 = HEAP32[$127>>2]|0; - _glVertexAttribPointer(($133|0),4,5121,1,0,(0|0)); - $134 = HEAP32[$127>>2]|0; - _glEnableVertexAttribArray(($134|0)); - break; - } - } - } while(0); - $136 = ((($1)) + 20|0); - $137 = HEAP32[$136>>2]|0; - $138 = ($137|0)==(-1); - if (!($138)) { - $139 = ((($0)) + 56|0); - $140 = HEAP32[$139>>2]|0; - _glBindBuffer(34962,($140|0)); - $141 = HEAP32[$136>>2]|0; - _glVertexAttribPointer(($141|0),3,5126,0,0,(0|0)); - $142 = HEAP32[$136>>2]|0; - _glEnableVertexAttribArray(($142|0)); - } - $143 = ((($1)) + 12|0); - $144 = HEAP32[$143>>2]|0; - $145 = ($144|0)==(-1); - if (!($145)) { - $146 = ((($0)) + 60|0); - $147 = HEAP32[$146>>2]|0; - _glBindBuffer(34962,($147|0)); - $148 = HEAP32[$143>>2]|0; - _glVertexAttribPointer(($148|0),2,5126,0,0,(0|0)); - $149 = HEAP32[$143>>2]|0; - _glEnableVertexAttribArray(($149|0)); - } - $150 = ((($0)) + 32|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==(0|0); - if (!($152)) { - $153 = HEAP32[(20188)>>2]|0; - _glBindBuffer(34963,($153|0)); - } - } else { - $109 = HEAP32[4716]|0; - $110 = ((($0)) + 36|0); - $111 = HEAP32[$110>>2]|0; - FUNCTION_TABLE_vi[$109 & 31]($111); - } - $154 = HEAP32[5099]|0; - $155 = ($154|0)!=(0); - $$ = $155 ? 2 : 1; - $156 = ((($1)) + 28|0); - $157 = ((($0)) + 32|0); - $158 = HEAP32[$0>>2]|0; - $159 = ((($0)) + 4|0); - $$020 = 0; - while(1) { - if ($155) { - dest=$modelview$byval_copy4; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); - } else { - dest=18788; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - dest=$modelview$byval_copy4; src=18788; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=18724; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); - $162 = HEAP32[$156>>2]|0; - dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $163 = (_MatrixToFloat($$byval_copy5)|0); - _glUniformMatrix4fv(($162|0),1,0,($163|0)); - $164 = HEAP32[$157>>2]|0; - $165 = ($164|0)==(0|0); - if ($165) { - _glDrawArrays(4,0,($158|0)); - } else { - $166 = HEAP32[$159>>2]|0; - $167 = ($166*3)|0; - _glDrawElements(4,($167|0),5123,(0|0)); - } - $168 = (($$020) + 1)|0; - $169 = ($168|0)<($$|0); - if ($169) { - $$020 = $168; - } else { - break; - } - } - $160 = HEAP32[$87>>2]|0; - $161 = ($160|0)==(0); - if (!($161)) { - _glActiveTexture(33985); - _glBindTexture(3553,0); - } - $170 = HEAP32[$97>>2]|0; - $171 = ($170|0)==(0); - if (!($171)) { - _glActiveTexture(33986); - _glBindTexture(3553,0); - } - _glActiveTexture(33984); - _glBindTexture(3553,0); - $172 = HEAP32[4714]|0; - $173 = ($172|0)==(0); - if (!($173)) { - $174 = HEAP32[4716]|0; - FUNCTION_TABLE_vi[$174 & 31](0); - _glUseProgram(0); - dest=18724; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18788; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34962,0); - $175 = ((($0)) + 32|0); - $176 = HEAP32[$175>>2]|0; - $177 = ($176|0)==(0|0); - if ($177) { - _glUseProgram(0); - dest=18724; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18788; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - _glBindBuffer(34963,0); - _glUseProgram(0); - dest=18724; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18788; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlglUnloadMesh($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - _free($2); - } - $4 = ((($0)) + 12|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0|0); - if (!($6)) { - _free($5); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if (!($9)) { - _free($8); - } - $10 = ((($0)) + 28|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0|0); - if (!($12)) { - _free($11); - } - $13 = ((($0)) + 24|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)==(0|0); - if (!($15)) { - _free($14); - } - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(0|0); - if (!($18)) { - _free($17); - } - $19 = ((($0)) + 32|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($20|0)==(0|0); - if (!($21)) { - _free($20); - } - $22 = ((($0)) + 40|0); - $23 = HEAP32[$22>>2]|0; - _rlDeleteBuffers($23); - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - _rlDeleteBuffers($25); - $26 = ((($0)) + 48|0); - $27 = HEAP32[$26>>2]|0; - _rlDeleteBuffers($27); - $28 = ((($0)) + 52|0); - $29 = HEAP32[$28>>2]|0; - _rlDeleteBuffers($29); - $30 = ((($0)) + 56|0); - $31 = HEAP32[$30>>2]|0; - _rlDeleteBuffers($31); - $32 = ((($0)) + 60|0); - $33 = HEAP32[$32>>2]|0; - _rlDeleteBuffers($33); - $34 = ((($0)) + 64|0); - $35 = HEAP32[$34>>2]|0; - _rlDeleteBuffers($35); - $36 = ((($0)) + 36|0); - $37 = HEAP32[$36>>2]|0; - _rlDeleteVertexArrays($37); - return; -} -function _GetDefaultTexture($0) { - $0 = $0|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[4721]|0; - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; - return; -} -function _GetDefaultShader($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=$0; src=18888; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9820); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11153)|0); - return ($1|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5192] = $0; - return; -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3160,$1); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$070 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((9832|0),(9858|0),1125,(9881|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$070 = $14; - } - $15 = HEAP32[5193]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$070; - STACKTOP = sp;return ($$0|0); - } - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = ($4|0)==(0); - if ($19) { - $20 = HEAP32[$3>>2]|0; - $25 = $20; - } else { - $25 = $4; - } - $21 = $18 >> 1; - $22 = ($21|0)>(0); - if (!($22)) { - $$0 = $$070; - STACKTOP = sp;return ($$0|0); - } - $23 = ($17|0)>(0); - $24 = ($25|0)>(0); - $26 = (($18) + -1)|0; - $$07378 = 0; - while(1) { - if ($23) { - $27 = Math_imul($$07378, $17)|0; - $28 = (($26) - ($$07378))|0; - $29 = Math_imul($28, $17)|0; - $$07276 = 0; - while(1) { - if ($24) { - $30 = (($$07276) + ($27))|0; - $31 = Math_imul($30, $25)|0; - $32 = (($$07276) + ($29))|0; - $33 = Math_imul($32, $25)|0; - $$07175 = 0; - while(1) { - $34 = (($$07175) + ($31))|0; - $35 = (($$070) + ($34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = (($$07175) + ($33))|0; - $38 = (($$070) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - HEAP8[$35>>0] = $39; - HEAP8[$38>>0] = $36; - $40 = (($$07175) + 1)|0; - $exitcond = ($40|0)==($25|0); - if ($exitcond) { - break; - } else { - $$07175 = $40; - } - } - } - $41 = (($$07276) + 1)|0; - $exitcond79 = ($41|0)==($17|0); - if ($exitcond79) { - break; - } else { - $$07276 = $41; - } - } - } - $42 = (($$07378) + 1)|0; - $exitcond80 = ($42|0)==($21|0); - if ($exitcond80) { - $$0 = $$070; - break; - } else { - $$07378 = $42; - } - } - STACKTOP = sp;return ($$0|0); -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if ($9) { - _stbi__err(9922); - $$0 = 0; - return ($$0|0); - } else { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - return (0)|0; -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(9913); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(9941); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; - var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $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, $123 = 0, $124 = 0; - var $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, $141 = 0, $142 = 0; - var $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, $16 = 0, $160 = 0; - var $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, $178 = 0, $179 = 0; - var $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, $196 = 0, $197 = 0; - var $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, $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, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 103; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 103; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 103; - break L9; - } - } - $130 = ($$0241|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0206<<24>>24)==(0); - $132 = ($$0245|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0214))|0; - $137 = ($136|0)<($$0214|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0217>>>0); - if ($138) { - $139 = ($$0217|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0217 = $139 ? $141 : $$0217; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0214))|0; - $$1218 = $$$0217; - while(1) { - $144 = ($143>>>0)>($$1218>>>0); - $145 = $$1218 << 1; - if ($144) { - $$1218 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1218)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2219 = $$1218; - } else { - $$2219 = $$0217; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0214)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0214))|0; - $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 103; - break L9; - } - } - $27 = ($$0241|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1207 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1207 = $$0206; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1207<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 103; - break L9; - } - } - $65 = ($$0241|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0226593 = 0; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0226593 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0226593) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0226593 = $83; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 103; - break L9; - } - } - $85 = ($$0241|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0206<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0245|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0245>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1227588 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1227588 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1227588) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1227588 = $100; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0239591 = 0; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0239591<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0239591) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0239591 = $115; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break; - } - } - } else { - if ($111) { - $$1240589 = 0; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (10257 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1240589)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1240589) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1240589 = $127; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break; - } - } - } - } - } while(0); - if ((label|0) == 103) { - label = 0; - $202 = ($$0241|0)==(0); - if (!($202)) { - label = 104; - break; - } - $203 = $25 & 536870912; - $204 = ($203|0)==(0); - if ($204) { - label = 106; - break; - } - $213 = HEAP32[$6>>2]|0; - _stbi__skip($8,$213); - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; - } - (_stbi__get32be($8)|0); - $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; - } - switch (label|0) { - case 7: { - _stbi__err(10031); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(10045); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(10058); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(10058); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(10068); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(10088); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(10088); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(10088); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(10098); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(10114); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(10132); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(10153); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(10058); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(10058); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(10167); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(10182); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(10182); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(10167); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(10195); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(10211); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(10228); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(10241); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(10228); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(10167); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(10266); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0206&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(9913); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(10274); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0241|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(10284); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0228|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0206<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0211<<24>>24)==(0); - $or$cond248 = $182 & $or$cond7; - $$254 = $or$cond248 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$254; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - do { - if (!($182)) { - $189 = HEAP32[$161>>2]|0; - $190 = ($189|0)==(16); - if ($190) { - $191 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$191); - break; - } else { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$192); - break; - } - } - } while(0); - $193 = HEAP32[5194]|0; - $194 = ($193|0)!=(0); - $or$cond11 = $173 & $194; - if ($or$cond11) { - $195 = HEAP32[$183>>2]|0; - $196 = ($195|0)>(2); - if ($196) { - _stbi__de_iphone($0); - } - } - if ($181) { - $197 = $$0206&255; - HEAP32[$168>>2] = $197; - $198 = ($2|0)>(2); - $$ = $198 ? $2 : $197; - HEAP32[$183>>2] = $$; - $199 = (_stbi__expand_png_palette($0,$3,$$)|0); - $200 = ($199|0)==(0); - if ($200) { - $$4 = 0; - break; - } - } - $201 = HEAP32[$9>>2]|0; - _free($201); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(10167); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 104: { - _stbi__err(10167); - $$6$ph = 0; - break; - } - case 106: { - $205 = $25 >>> 24; - $206 = $205&255; - HEAP8[10292] = $206; - $207 = HEAP32[$15>>2]|0; - $208 = $207 >>> 16; - $209 = $208&255; - HEAP8[(10293)>>0] = $209; - $210 = $207 >>> 8; - $211 = $210&255; - HEAP8[(10294)>>0] = $211; - $212 = $207&255; - HEAP8[(10295)>>0] = $212; - _stbi__err(10292); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; - var $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, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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, $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; - 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, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((9954|0),(9858|0),1561,(10010|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(9913); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((10008|0),(9858|0),1590,(10010|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; - var $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, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 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, $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; - var $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, $60 = 0; - var $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, $79 = 0; - var $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, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((9954|0),(9858|0),1610,(9985|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(9913); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((10008|0),(9858|0),1639,(9985|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($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, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__compute_y($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, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $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; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(10949); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 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)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$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, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 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; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $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, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (3048 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3076 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3104 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3132 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((10351|0),(9858|0),4568,(10403|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((10351|0),(9858|0),4543,(10376|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05158 = $7;$$059 = 0; - } - while(1) { - $11 = HEAP8[$$05158>>0]|0; - $12 = ((($$05158)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05158>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05158)) + 3|0); - $15 = (($$059) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05158 = $14;$$059 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[5195]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25360 = $7;$$261 = 0; - } else { - return; - } - while(1) { - $42 = HEAP8[$$25360>>0]|0; - $43 = ((($$25360)) + 2|0); - $44 = HEAP8[$43>>0]|0; - HEAP8[$$25360>>0] = $44; - HEAP8[$43>>0] = $42; - $45 = ((($$25360)) + 4|0); - $46 = (($$261) + 1)|0; - $exitcond68 = ($46|0)==($5|0); - if ($exitcond68) { - break; - } else { - $$25360 = $45;$$261 = $46; - } - } - return; - } - if ($18) { - $$15263 = $7;$$164 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15263)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15263>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15263)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15263>>0] = $24; - $$sink = $21; - } else { - $25 = $24&255; - $26 = ($25*255)|0; - $27 = $20&255; - $28 = (($26>>>0) / ($27>>>0))&-1; - $29 = $28&255; - HEAP8[$$15263>>0] = $29; - $30 = ((($$15263)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = ($32*255)|0; - $34 = (($33>>>0) / ($27>>>0))&-1; - $35 = $34&255; - HEAP8[$30>>0] = $35; - $36 = $21&255; - $37 = ($36*255)|0; - $38 = (($37>>>0) / ($27>>>0))&-1; - $39 = $38&255; - $$sink = $39; - } - HEAP8[$23>>0] = $$sink; - $40 = ((($$15263)) + 4|0); - $41 = (($$164) + 1)|0; - $exitcond69 = ($41|0)==($5|0); - if ($exitcond69) { - break; - } else { - $$15263 = $40;$$164 = $41; - } - } - return; - break; - } - default: { - ___assert_fail((10317|0),(9858|0),4649,(10335|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 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; - var $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, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(9913); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; - var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; - var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; - var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; - var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 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, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $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, $136 = 0, $137 = 0, $138 = 0; - var $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, $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, $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; - 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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 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, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $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; - var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; - var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; - var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((10432|0),(9858|0),4294,(10473|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(9913); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = HEAP32[$10>>2]|0; - $30 = ($29|0)==($4|0); - if ($30) { - $31 = ((($10)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($5|0); - if ($33) { - $34 = ($28|0)==($2|0); - if (!($34)) { - _stbi__err(10500); - $$2 = 0; - return ($$2|0); - } - } else { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - $35 = ($28>>>0)>($2>>>0); - if ($35) { - _stbi__err(10500); - $$2 = 0; - return ($$2|0); - } - } - $36 = ($5|0)==(0); - L18: do { - if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; - $41 = ($6|0)==(8); - $brmerge = $38 | $17; - $42 = ($4|0)==(0); - $$0614793 = (($4) + -1)|0; - $43 = ($$0614793|0)==(0); - $$1615785 = (($4) + -1)|0; - $44 = ($$1615785|0)==(0); - $$2616776 = (($4) + -1)|0; - $45 = ($$2616776|0)==(0); - $$3617767 = (($4) + -1)|0; - $46 = ($$3617767|0)==(0); - $$4618758 = (($4) + -1)|0; - $47 = ($$4618758|0)==(0); - $$5619750 = (($4) + -1)|0; - $48 = ($$5619750|0)==(0); - $$6620742 = (($4) + -1)|0; - $49 = ($$6620742|0)==(0); - $$not = $8 ^ 1; - $brmerge894 = $42 | $$not; - $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; - while(1) { - $50 = HEAP32[$21>>2]|0; - $51 = Math_imul($$0623814, $12)|0; - $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { - label = 105; - break; - } - if ($38) { - if ($39) { - label = 16; - break; - } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; - } else { - $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; - } - $59 = ($$0623814|0)==(0); - if ($59) { - $60 = (10539 + ($56)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $$0588 = $62; - } else { - $$0588 = $56; - } - $63 = ($$1612|0)>(0); - L30: do { - if ($63) { - $trunc638 = $$0588&255; - $$0625734 = 0; - while(1) { - switch ($trunc638<<24>>24) { - case 0: { - $64 = (($54) + ($$0625734)|0); - $65 = HEAP8[$64>>0]|0; - $$sink = $65; - label = 30; - break; - } - case 1: { - $66 = (($54) + ($$0625734)|0); - $67 = HEAP8[$66>>0]|0; - $$sink = $67; - label = 30; - break; - } - case 2: { - $68 = (($54) + ($$0625734)|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = (($53) + ($$0625734)|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = (($73) + ($70))|0; - $75 = $74&255; - $$sink = $75; - label = 30; - break; - } - case 3: { - $76 = (($54) + ($$0625734)|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = (($53) + ($$0625734)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $81 >>> 1; - $83 = (($82) + ($78))|0; - $84 = $83&255; - $$sink = $84; - label = 30; - break; - } - case 4: { - $85 = (($54) + ($$0625734)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $86&255; - $88 = (($53) + ($$0625734)|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = (_stbi__paeth(0,$90,0)|0); - $92 = (($91) + ($87))|0; - $93 = $92&255; - $$sink = $93; - label = 30; - break; - } - case 5: { - $94 = (($54) + ($$0625734)|0); - $95 = HEAP8[$94>>0]|0; - $$sink = $95; - label = 30; - break; - } - case 6: { - $96 = (($54) + ($$0625734)|0); - $97 = HEAP8[$96>>0]|0; - $$sink = $97; - label = 30; - break; - } - default: { - } - } - if ((label|0) == 30) { - label = 0; - $$sink1 = (($$0597) + ($$0625734)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $98 = (($$0625734) + 1)|0; - $exitcond864 = ($98|0)==($$1612|0); - if ($exitcond864) { - break L30; - } else { - $$0625734 = $98; - } - } - } - } while(0); - do { - if ($41) { - if (!($17)) { - $99 = (($$0597) + ($14)|0); - HEAP8[$99>>0] = -1; - } - $100 = (($54) + ($14)|0); - $$1578 = $100;$$sink641 = $3; - } else { - if (!($8)) { - $105 = ((($$0577817)) + 2|0); - $$1578 = $105;$$sink641 = 1; - break; - } - if (!($17)) { - $101 = (($$1612) + 1)|0; - $102 = (($$0597) + ($101)|0); - $103 = (($$0597) + ($$1612)|0); - HEAP8[$103>>0] = -1; - HEAP8[$102>>0] = -1; - } - $104 = (($54) + ($$1612)|0); - $$1578 = $104;$$sink641 = $15; - } - } while(0); - $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); - if ($brmerge) { - $108 = (($$1609) + -1)|0; - $109 = Math_imul($108, $$1612)|0; - $trunc637 = $$0588&255; - switch ($trunc637<<24>>24) { - case 0: { - _memcpy(($106|0),($$1578|0),($109|0))|0; - break; - } - case 1: { - $115 = ($109|0)>(0); - if ($115) { - $$1626812 = 0; - while(1) { - $116 = (($$1578) + ($$1626812)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (($$1626812) - ($$1612))|0; - $120 = (($106) + ($119)|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - $123 = (($122) + ($118))|0; - $124 = $123&255; - $125 = (($106) + ($$1626812)|0); - HEAP8[$125>>0] = $124; - $126 = (($$1626812) + 1)|0; - $exitcond886 = ($126|0)==($109|0); - if ($exitcond886) { - break; - } else { - $$1626812 = $126; - } - } - } - break; - } - case 2: { - $114 = ($109|0)>(0); - if ($114) { - $$2627810 = 0; - while(1) { - $127 = (($$1578) + ($$2627810)|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = (($107) + ($$2627810)|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = (($132) + ($129))|0; - $134 = $133&255; - $135 = (($106) + ($$2627810)|0); - HEAP8[$135>>0] = $134; - $136 = (($$2627810) + 1)|0; - $exitcond885 = ($136|0)==($109|0); - if ($exitcond885) { - break; - } else { - $$2627810 = $136; - } - } - } - break; - } - case 3: { - $113 = ($109|0)>(0); - if ($113) { - $$3628808 = 0; - while(1) { - $137 = (($$1578) + ($$3628808)|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = (($107) + ($$3628808)|0); - $141 = HEAP8[$140>>0]|0; - $142 = $141&255; - $143 = (($$3628808) - ($$1612))|0; - $144 = (($106) + ($143)|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = (($146) + ($142))|0; - $148 = $147 >>> 1; - $149 = (($148) + ($139))|0; - $150 = $149&255; - $151 = (($106) + ($$3628808)|0); - HEAP8[$151>>0] = $150; - $152 = (($$3628808) + 1)|0; - $exitcond884 = ($152|0)==($109|0); - if ($exitcond884) { - break; - } else { - $$3628808 = $152; - } - } - } - break; - } - case 4: { - $112 = ($109|0)>(0); - if ($112) { - $$4629806 = 0; - while(1) { - $153 = (($$1578) + ($$4629806)|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154&255; - $156 = (($$4629806) - ($$1612))|0; - $157 = (($106) + ($156)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (($107) + ($$4629806)|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $163 = (($107) + ($156)|0); - $164 = HEAP8[$163>>0]|0; - $165 = $164&255; - $166 = (_stbi__paeth($159,$162,$165)|0); - $167 = (($166) + ($155))|0; - $168 = $167&255; - $169 = (($106) + ($$4629806)|0); - HEAP8[$169>>0] = $168; - $170 = (($$4629806) + 1)|0; - $exitcond883 = ($170|0)==($109|0); - if ($exitcond883) { - break; - } else { - $$4629806 = $170; - } - } - } - break; - } - case 5: { - $111 = ($109|0)>(0); - if ($111) { - $$5630804 = 0; - while(1) { - $171 = (($$1578) + ($$5630804)|0); - $172 = HEAP8[$171>>0]|0; - $173 = $172&255; - $174 = (($$5630804) - ($$1612))|0; - $175 = (($106) + ($174)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = $177 >>> 1; - $179 = (($178) + ($173))|0; - $180 = $179&255; - $181 = (($106) + ($$5630804)|0); - HEAP8[$181>>0] = $180; - $182 = (($$5630804) + 1)|0; - $exitcond882 = ($182|0)==($109|0); - if ($exitcond882) { - break; - } else { - $$5630804 = $182; - } - } - } - break; - } - case 6: { - $110 = ($109|0)>(0); - if ($110) { - $$6631802 = 0; - while(1) { - $183 = (($$1578) + ($$6631802)|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - $186 = (($$6631802) - ($$1612))|0; - $187 = (($106) + ($186)|0); - $188 = HEAP8[$187>>0]|0; - $189 = $188&255; - $190 = (_stbi__paeth($189,0,0)|0); - $191 = (($190) + ($185))|0; - $192 = $191&255; - $193 = (($106) + ($$6631802)|0); - HEAP8[$193>>0] = $192; - $194 = (($$6631802) + 1)|0; - $exitcond881 = ($194|0)==($109|0); - if ($exitcond881) { - break; - } else { - $$6631802 = $194; - } - } - } - break; - } - default: { - } - } - $195 = (($$1578) + ($109)|0); - $$11$ph = $195; - } else { - if (!($19)) { - label = 58; - break; - } - $trunc = $$0588&255; - switch ($trunc<<24>>24) { - case 0: { - if ($43) { - $$9586 = $$1578; - } else { - $208 = ($$1612|0)>(0); - $209 = Math_imul($$6620742, $$1612)|0; - $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; - while(1) { - if ($208) { - $$7632790 = 0; - while(1) { - $210 = (($$2579795) + ($$7632790)|0); - $211 = HEAP8[$210>>0]|0; - $212 = (($$2599794) + ($$7632790)|0); - HEAP8[$212>>0] = $211; - $213 = (($$7632790) + 1)|0; - $exitcond877 = ($213|0)==($$1612|0); - if ($exitcond877) { - break; - } else { - $$7632790 = $213; - } - } - } - $214 = (($$2599794) + ($$1612)|0); - HEAP8[$214>>0] = -1; - $215 = (($$2579795) + ($$1612)|0); - $216 = (($$2599794) + ($15)|0); - $$0614 = (($$0614796) + -1)|0; - $217 = ($$0614|0)==(0); - if ($217) { - break; - } else { - $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; - } - } - $scevgep879 = (($$1578) + ($209)|0); - $$9586 = $scevgep879; - } - break; - } - case 1: { - if ($44) { - $$9586 = $$1578; - } else { - $206 = ($$1612|0)>(0); - $207 = Math_imul($$6620742, $$1612)|0; - $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; - while(1) { - if ($206) { - $$8633782 = 0; - while(1) { - $218 = (($$3580787) + ($$8633782)|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = (($$8633782) - ($15))|0; - $222 = (($$3600786) + ($221)|0); - $223 = HEAP8[$222>>0]|0; - $224 = $223&255; - $225 = (($224) + ($220))|0; - $226 = $225&255; - $227 = (($$3600786) + ($$8633782)|0); - HEAP8[$227>>0] = $226; - $228 = (($$8633782) + 1)|0; - $exitcond875 = ($228|0)==($$1612|0); - if ($exitcond875) { - break; - } else { - $$8633782 = $228; - } - } - } - $229 = (($$3600786) + ($$1612)|0); - HEAP8[$229>>0] = -1; - $230 = (($$3580787) + ($$1612)|0); - $231 = (($$3600786) + ($15)|0); - $$1615 = (($$1615788) + -1)|0; - $232 = ($$1615|0)==(0); - if ($232) { - break; - } else { - $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; - } - } - $scevgep876 = (($$1578) + ($207)|0); - $$9586 = $scevgep876; - } - break; - } - case 2: { - if ($45) { - $$9586 = $$1578; - } else { - $204 = ($$1612|0)>(0); - $205 = Math_imul($$6620742, $$1612)|0; - $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; - while(1) { - if ($204) { - $$9634773 = 0; - while(1) { - $233 = (($$4581779) + ($$9634773)|0); - $234 = HEAP8[$233>>0]|0; - $235 = $234&255; - $236 = (($$3592778) + ($$9634773)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = (($238) + ($235))|0; - $240 = $239&255; - $241 = (($$4601777) + ($$9634773)|0); - HEAP8[$241>>0] = $240; - $242 = (($$9634773) + 1)|0; - $exitcond873 = ($242|0)==($$1612|0); - if ($exitcond873) { - break; - } else { - $$9634773 = $242; - } - } - } - $243 = (($$4601777) + ($$1612)|0); - HEAP8[$243>>0] = -1; - $244 = (($$4581779) + ($$1612)|0); - $245 = (($$4601777) + ($15)|0); - $246 = (($$3592778) + ($15)|0); - $$2616 = (($$2616780) + -1)|0; - $247 = ($$2616|0)==(0); - if ($247) { - break; - } else { - $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; - } - } - $scevgep874 = (($$1578) + ($205)|0); - $$9586 = $scevgep874; - } - break; - } - case 3: { - if ($46) { - $$9586 = $$1578; - } else { - $202 = ($$1612|0)>(0); - $203 = Math_imul($$6620742, $$1612)|0; - $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; - while(1) { - if ($202) { - $$10635764 = 0; - while(1) { - $248 = (($$5582770) + ($$10635764)|0); - $249 = HEAP8[$248>>0]|0; - $250 = $249&255; - $251 = (($$4593769) + ($$10635764)|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $254 = (($$10635764) - ($15))|0; - $255 = (($$5602768) + ($254)|0); - $256 = HEAP8[$255>>0]|0; - $257 = $256&255; - $258 = (($257) + ($253))|0; - $259 = $258 >>> 1; - $260 = (($259) + ($250))|0; - $261 = $260&255; - $262 = (($$5602768) + ($$10635764)|0); - HEAP8[$262>>0] = $261; - $263 = (($$10635764) + 1)|0; - $exitcond871 = ($263|0)==($$1612|0); - if ($exitcond871) { - break; - } else { - $$10635764 = $263; - } - } - } - $264 = (($$5602768) + ($$1612)|0); - HEAP8[$264>>0] = -1; - $265 = (($$5582770) + ($$1612)|0); - $266 = (($$5602768) + ($15)|0); - $267 = (($$4593769) + ($15)|0); - $$3617 = (($$3617771) + -1)|0; - $268 = ($$3617|0)==(0); - if ($268) { - break; - } else { - $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; - } - } - $scevgep872 = (($$1578) + ($203)|0); - $$9586 = $scevgep872; - } - break; - } - case 4: { - if ($47) { - $$9586 = $$1578; - } else { - $200 = ($$1612|0)>(0); - $201 = Math_imul($$6620742, $$1612)|0; - $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; - while(1) { - if ($200) { - $$11636755 = 0; - while(1) { - $269 = (($$6583761) + ($$11636755)|0); - $270 = HEAP8[$269>>0]|0; - $271 = $270&255; - $272 = (($$11636755) - ($15))|0; - $273 = (($$6603759) + ($272)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (($$5594760) + ($$11636755)|0); - $277 = HEAP8[$276>>0]|0; - $278 = $277&255; - $279 = (($$5594760) + ($272)|0); - $280 = HEAP8[$279>>0]|0; - $281 = $280&255; - $282 = (_stbi__paeth($275,$278,$281)|0); - $283 = (($282) + ($271))|0; - $284 = $283&255; - $285 = (($$6603759) + ($$11636755)|0); - HEAP8[$285>>0] = $284; - $286 = (($$11636755) + 1)|0; - $exitcond869 = ($286|0)==($$1612|0); - if ($exitcond869) { - break; - } else { - $$11636755 = $286; - } - } - } - $287 = (($$6603759) + ($$1612)|0); - HEAP8[$287>>0] = -1; - $288 = (($$6583761) + ($$1612)|0); - $289 = (($$6603759) + ($15)|0); - $290 = (($$5594760) + ($15)|0); - $$4618 = (($$4618762) + -1)|0; - $291 = ($$4618|0)==(0); - if ($291) { - break; - } else { - $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; - } - } - $scevgep870 = (($$1578) + ($201)|0); - $$9586 = $scevgep870; - } - break; - } - case 5: { - if ($48) { - $$9586 = $$1578; - } else { - $198 = ($$1612|0)>(0); - $199 = Math_imul($$6620742, $$1612)|0; - $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; - while(1) { - if ($198) { - $$12747 = 0; - while(1) { - $292 = (($$7584752) + ($$12747)|0); - $293 = HEAP8[$292>>0]|0; - $294 = $293&255; - $295 = (($$12747) - ($15))|0; - $296 = (($$7604751) + ($295)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297&255; - $299 = $298 >>> 1; - $300 = (($299) + ($294))|0; - $301 = $300&255; - $302 = (($$7604751) + ($$12747)|0); - HEAP8[$302>>0] = $301; - $303 = (($$12747) + 1)|0; - $exitcond867 = ($303|0)==($$1612|0); - if ($exitcond867) { - break; - } else { - $$12747 = $303; - } - } - } - $304 = (($$7604751) + ($$1612)|0); - HEAP8[$304>>0] = -1; - $305 = (($$7584752) + ($$1612)|0); - $306 = (($$7604751) + ($15)|0); - $$5619 = (($$5619753) + -1)|0; - $307 = ($$5619|0)==(0); - if ($307) { - break; - } else { - $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; - } - } - $scevgep868 = (($$1578) + ($199)|0); - $$9586 = $scevgep868; - } - break; - } - case 6: { - if ($49) { - $$9586 = $$1578; - } else { - $196 = ($$1612|0)>(0); - $197 = Math_imul($$6620742, $$1612)|0; - $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; - while(1) { - if ($196) { - $$13739 = 0; - while(1) { - $308 = (($$8585744) + ($$13739)|0); - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = (($$13739) - ($15))|0; - $312 = (($$8605743) + ($311)|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $315 = (_stbi__paeth($314,0,0)|0); - $316 = (($315) + ($310))|0; - $317 = $316&255; - $318 = (($$8605743) + ($$13739)|0); - HEAP8[$318>>0] = $317; - $319 = (($$13739) + 1)|0; - $exitcond865 = ($319|0)==($$1612|0); - if ($exitcond865) { - break; - } else { - $$13739 = $319; - } - } - } - $320 = (($$8605743) + ($$1612)|0); - HEAP8[$320>>0] = -1; - $321 = (($$8585744) + ($$1612)|0); - $322 = (($$8605743) + ($15)|0); - $$6620 = (($$6620745) + -1)|0; - $323 = ($$6620|0)==(0); - if ($323) { - break; - } else { - $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; - } - } - $scevgep866 = (($$1578) + ($197)|0); - $$9586 = $scevgep866; - } - break; - } - default: { - $$9586 = $$1578; - } - } - if ($brmerge894) { - $$11$ph = $$9586; - } else { - $324 = HEAP32[$21>>2]|0; - $325 = (($324) + ($51)|0); - $326 = (($$1612) + 1)|0; - $$7621798 = 0;$$9606799 = $325; - while(1) { - $327 = (($$9606799) + ($326)|0); - HEAP8[$327>>0] = -1; - $328 = (($$7621798) + 1)|0; - $329 = (($$9606799) + ($15)|0); - $exitcond880 = ($328|0)==($4|0); - if ($exitcond880) { - $$11$ph = $$9586; - break; - } else { - $$7621798 = $328;$$9606799 = $329; - } - } - } - } - $330 = (($$0623814) + 1)|0; - $331 = ($330>>>0)<($5>>>0); - if ($331) { - $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; - } else { - break L18; - } - } - if ((label|0) == 16) { - ___assert_fail((10518|0),(9858|0),4315,(10473|0)); - // unreachable; - } - else if ((label|0) == 58) { - ___assert_fail((10544|0),(9858|0),4376,(10473|0)); - // unreachable; - } - else if ((label|0) == 105) { - _stbi__err(10561); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $332 = ($6|0)<(8); - if (!($332)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $601 = Math_imul($4, $3)|0; - $602 = Math_imul($601, $5)|0; - $603 = ($602|0)==(0); - if ($603) { - $$2 = 1; - return ($$2|0); - } - $604 = HEAP32[$21>>2]|0; - $$0731 = $604;$$8622729 = 0; - while(1) { - $605 = HEAP8[$$0731>>0]|0; - $606 = $605&255; - $607 = $606 << 8; - $608 = ((($$0731)) + 1|0); - $609 = HEAP8[$608>>0]|0; - $610 = $609&255; - $611 = $607 | $610; - $612 = $611&65535; - HEAP16[$$0731>>1] = $612; - $613 = (($$8622729) + 1)|0; - $614 = ((($$0731)) + 2|0); - $exitcond = ($613|0)==($602|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0731 = $614;$$8622729 = $613; - } - } - return ($$2|0); - } - $333 = ($5|0)==(0); - if ($333) { - $$2 = 1; - return ($$2|0); - } - $334 = (0 - ($26))|0; - $335 = ($7|0)==(0); - $336 = (10257 + ($6)|0); - $$0568724 = (($4) + -1)|0; - $337 = ($$0568724|0)>(-1); - $$1721 = (($4) + -1)|0; - $338 = ($$1721|0)>(-1); - $339 = ($23|0)>(1); - $340 = ($23|0)>(3); - $341 = ($23|0)>(7); - $342 = (($23) + -8)|0; - $343 = $342 >>> 3; - $344 = $343 << 3; - $345 = (($344) + 8)|0; - $346 = (($342) - ($344))|0; - $347 = (($343) + ($11))|0; - $348 = (($347) + 1)|0; - $349 = (($348) - ($26))|0; - $350 = (($23) + -4)|0; - $351 = $350 >>> 2; - $352 = $351 << 2; - $353 = (($352) + 4)|0; - $354 = (($350) - ($352))|0; - $355 = (($351) + ($11))|0; - $356 = (($355) + 1)|0; - $357 = (($356) - ($26))|0; - $358 = (($23) + -2)|0; - $359 = $358 >>> 1; - $360 = $359 << 1; - $361 = (($360) + 2)|0; - $362 = (($358) - ($360))|0; - $363 = (($359) + ($11))|0; - $364 = (($363) + 1)|0; - $365 = (($364) - ($26))|0; - $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; - L174: while(1) { - $366 = HEAP32[$21>>2]|0; - $367 = Math_imul($$1624727, $12)|0; - $368 = (($366) + ($367)|0); - $369 = (($368) + ($11)|0); - $370 = (($369) + ($334)|0); - if ($335) { - $371 = HEAP8[$336>>0]|0; - $372 = $371&255; - $377 = $372; - } else { - $377 = 1; - } - switch ($6|0) { - case 4: { - if ($339) { - $scevgep859 = (($366) + ($indvars$iv857)|0); - $$0571715 = $370;$$0574714 = $368;$$14713 = $23; - while(1) { - $373 = HEAP8[$$0571715>>0]|0; - $374 = $373&255; - $375 = $374 >>> 4; - $376 = Math_imul($375, $377)|0; - $378 = $376&255; - $379 = ((($$0574714)) + 1|0); - HEAP8[$$0574714>>0] = $378; - $380 = HEAP8[$$0571715>>0]|0; - $381 = $380 & 15; - $382 = $381&255; - $383 = Math_imul($382, $377)|0; - $384 = $383&255; - $385 = ((($$0574714)) + 2|0); - HEAP8[$379>>0] = $384; - $386 = (($$14713) + -2)|0; - $387 = ((($$0571715)) + 1|0); - $388 = ($386|0)>(1); - if ($388) { - $$0571715 = $387;$$0574714 = $385;$$14713 = $386; - } else { - break; - } - } - $scevgep862 = (($366) + ($indvars$iv860)|0); - $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; - } else { - $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; - } - $389 = ($$14$lcssa|0)==(1); - if ($389) { - $390 = HEAP8[$$0571$lcssa>>0]|0; - $391 = $390&255; - $392 = $391 >>> 4; - $393 = Math_imul($392, $377)|0; - $394 = $393&255; - HEAP8[$$0574$lcssa>>0] = $394; - } - break; - } - case 2: { - if ($340) { - $scevgep853 = (($366) + ($indvars$iv851)|0); - $$15705 = $23;$$1572707 = $370;$$1575706 = $368; - while(1) { - $395 = HEAP8[$$1572707>>0]|0; - $396 = $395&255; - $397 = $396 >>> 6; - $398 = Math_imul($397, $377)|0; - $399 = $398&255; - $400 = ((($$1575706)) + 1|0); - HEAP8[$$1575706>>0] = $399; - $401 = HEAP8[$$1572707>>0]|0; - $402 = $401&255; - $403 = $402 >>> 4; - $404 = $403 & 3; - $405 = Math_imul($404, $377)|0; - $406 = $405&255; - $407 = ((($$1575706)) + 2|0); - HEAP8[$400>>0] = $406; - $408 = HEAP8[$$1572707>>0]|0; - $409 = $408&255; - $410 = $409 >>> 2; - $411 = $410 & 3; - $412 = Math_imul($411, $377)|0; - $413 = $412&255; - $414 = ((($$1575706)) + 3|0); - HEAP8[$407>>0] = $413; - $415 = HEAP8[$$1572707>>0]|0; - $416 = $415 & 3; - $417 = $416&255; - $418 = Math_imul($417, $377)|0; - $419 = $418&255; - $420 = ((($$1575706)) + 4|0); - HEAP8[$414>>0] = $419; - $421 = (($$15705) + -4)|0; - $422 = ((($$1572707)) + 1|0); - $423 = ($421|0)>(3); - if ($423) { - $$15705 = $421;$$1572707 = $422;$$1575706 = $420; - } else { - break; - } - } - $scevgep856 = (($366) + ($indvars$iv854)|0); - $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; - } else { - $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; - } - $424 = ($$15$lcssa|0)>(0); - if ($424) { - $425 = HEAP8[$$1572$lcssa>>0]|0; - $426 = $425&255; - $427 = $426 >>> 6; - $428 = Math_imul($427, $377)|0; - $429 = $428&255; - HEAP8[$$1575$lcssa>>0] = $429; - $430 = ($$15$lcssa|0)==(1); - if (!($430)) { - $431 = ((($$1575$lcssa)) + 1|0); - $432 = HEAP8[$$1572$lcssa>>0]|0; - $433 = $432&255; - $434 = $433 >>> 4; - $435 = $434 & 3; - $436 = Math_imul($435, $377)|0; - $437 = $436&255; - HEAP8[$431>>0] = $437; - $438 = ($$15$lcssa|0)>(2); - if ($438) { - $439 = ((($$1575$lcssa)) + 2|0); - $440 = HEAP8[$$1572$lcssa>>0]|0; - $441 = $440&255; - $442 = $441 >>> 2; - $443 = $442 & 3; - $444 = Math_imul($443, $377)|0; - $445 = $444&255; - HEAP8[$439>>0] = $445; - } - } - } - break; - } - case 1: { - if ($341) { - $scevgep = (($366) + ($indvars$iv)|0); - $$16700 = $23;$$2573702 = $370;$$4701 = $368; - while(1) { - $446 = HEAP8[$$2573702>>0]|0; - $447 = $446&255; - $448 = $447 >>> 7; - $449 = (0 - ($448))|0; - $450 = $377 & $449; - $451 = $450&255; - $452 = ((($$4701)) + 1|0); - HEAP8[$$4701>>0] = $451; - $453 = HEAP8[$$2573702>>0]|0; - $454 = $453&255; - $455 = $454 >>> 6; - $456 = $455 & 1; - $457 = (0 - ($456))|0; - $458 = $377 & $457; - $459 = $458&255; - $460 = ((($$4701)) + 2|0); - HEAP8[$452>>0] = $459; - $461 = HEAP8[$$2573702>>0]|0; - $462 = $461&255; - $463 = $462 >>> 5; - $464 = $463 & 1; - $465 = (0 - ($464))|0; - $466 = $377 & $465; - $467 = $466&255; - $468 = ((($$4701)) + 3|0); - HEAP8[$460>>0] = $467; - $469 = HEAP8[$$2573702>>0]|0; - $470 = $469&255; - $471 = $470 >>> 4; - $472 = $471 & 1; - $473 = (0 - ($472))|0; - $474 = $377 & $473; - $475 = $474&255; - $476 = ((($$4701)) + 4|0); - HEAP8[$468>>0] = $475; - $477 = HEAP8[$$2573702>>0]|0; - $478 = $477&255; - $479 = $478 >>> 3; - $480 = $479 & 1; - $481 = (0 - ($480))|0; - $482 = $377 & $481; - $483 = $482&255; - $484 = ((($$4701)) + 5|0); - HEAP8[$476>>0] = $483; - $485 = HEAP8[$$2573702>>0]|0; - $486 = $485&255; - $487 = $486 >>> 2; - $488 = $487 & 1; - $489 = (0 - ($488))|0; - $490 = $377 & $489; - $491 = $490&255; - $492 = ((($$4701)) + 6|0); - HEAP8[$484>>0] = $491; - $493 = HEAP8[$$2573702>>0]|0; - $494 = $493&255; - $495 = $494 >>> 1; - $496 = $495 & 1; - $497 = (0 - ($496))|0; - $498 = $377 & $497; - $499 = $498&255; - $500 = ((($$4701)) + 7|0); - HEAP8[$492>>0] = $499; - $501 = HEAP8[$$2573702>>0]|0; - $502 = $501 & 1; - $503 = $502&255; - $504 = (0 - ($503))|0; - $505 = $377 & $504; - $506 = $505&255; - $507 = ((($$4701)) + 8|0); - HEAP8[$500>>0] = $506; - $508 = (($$16700) + -8)|0; - $509 = ((($$2573702)) + 1|0); - $510 = ($508|0)>(7); - if ($510) { - $$16700 = $508;$$2573702 = $509;$$4701 = $507; - } else { - break; - } - } - $scevgep850 = (($366) + ($indvars$iv848)|0); - $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; - } - $511 = ($$16$lcssa|0)>(0); - if ($511) { - $512 = HEAP8[$$2573$lcssa>>0]|0; - $513 = $512&255; - $514 = $513 >>> 7; - $515 = (0 - ($514))|0; - $516 = $377 & $515; - $517 = $516&255; - HEAP8[$$4$lcssa>>0] = $517; - $518 = ($$16$lcssa|0)==(1); - if (!($518)) { - $519 = ((($$4$lcssa)) + 1|0); - $520 = HEAP8[$$2573$lcssa>>0]|0; - $521 = $520&255; - $522 = $521 >>> 6; - $523 = $522 & 1; - $524 = (0 - ($523))|0; - $525 = $377 & $524; - $526 = $525&255; - HEAP8[$519>>0] = $526; - $527 = ($$16$lcssa|0)>(2); - if ($527) { - $528 = ((($$4$lcssa)) + 2|0); - $529 = HEAP8[$$2573$lcssa>>0]|0; - $530 = $529&255; - $531 = $530 >>> 5; - $532 = $531 & 1; - $533 = (0 - ($532))|0; - $534 = $377 & $533; - $535 = $534&255; - HEAP8[$528>>0] = $535; - $536 = ($$16$lcssa|0)==(3); - if (!($536)) { - $537 = ((($$4$lcssa)) + 3|0); - $538 = HEAP8[$$2573$lcssa>>0]|0; - $539 = $538&255; - $540 = $539 >>> 4; - $541 = $540 & 1; - $542 = (0 - ($541))|0; - $543 = $377 & $542; - $544 = $543&255; - HEAP8[$537>>0] = $544; - $545 = ($$16$lcssa|0)>(4); - if ($545) { - $546 = ((($$4$lcssa)) + 4|0); - $547 = HEAP8[$$2573$lcssa>>0]|0; - $548 = $547&255; - $549 = $548 >>> 3; - $550 = $549 & 1; - $551 = (0 - ($550))|0; - $552 = $377 & $551; - $553 = $552&255; - HEAP8[$546>>0] = $553; - $554 = ($$16$lcssa|0)==(5); - if (!($554)) { - $555 = ((($$4$lcssa)) + 5|0); - $556 = HEAP8[$$2573$lcssa>>0]|0; - $557 = $556&255; - $558 = $557 >>> 2; - $559 = $558 & 1; - $560 = (0 - ($559))|0; - $561 = $377 & $560; - $562 = $561&255; - HEAP8[$555>>0] = $562; - $563 = ($$16$lcssa|0)>(6); - if ($563) { - $564 = ((($$4$lcssa)) + 6|0); - $565 = HEAP8[$$2573$lcssa>>0]|0; - $566 = $565&255; - $567 = $566 >>> 1; - $568 = $567 & 1; - $569 = (0 - ($568))|0; - $570 = $377 & $569; - $571 = $570&255; - HEAP8[$564>>0] = $571; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L213: do { - if (!($17)) { - $572 = HEAP32[$21>>2]|0; - $573 = (($572) + ($367)|0); - switch ($14|0) { - case 1: { - if ($337) { - $$0568725 = $$0568724; - } else { - break L213; - } - while(1) { - $574 = $$0568725 << 1; - $575 = $574 | 1; - $576 = (($573) + ($575)|0); - HEAP8[$576>>0] = -1; - $577 = (($573) + ($$0568725)|0); - $578 = HEAP8[$577>>0]|0; - $579 = (($573) + ($574)|0); - HEAP8[$579>>0] = $578; - $$0568 = (($$0568725) + -1)|0; - $580 = ($$0568|0)>(-1); - if ($580) { - $$0568725 = $$0568; - } else { - break; - } - } - break; - } - case 3: { - if ($338) { - $$1722 = $$1721; - } else { - break L213; - } - while(1) { - $581 = $$1722 << 2; - $582 = $581 | 3; - $583 = (($573) + ($582)|0); - HEAP8[$583>>0] = -1; - $584 = ($$1722*3)|0; - $585 = (($584) + 2)|0; - $586 = (($573) + ($585)|0); - $587 = HEAP8[$586>>0]|0; - $588 = $581 | 2; - $589 = (($573) + ($588)|0); - HEAP8[$589>>0] = $587; - $590 = (($584) + 1)|0; - $591 = (($573) + ($590)|0); - $592 = HEAP8[$591>>0]|0; - $593 = $581 | 1; - $594 = (($573) + ($593)|0); - HEAP8[$594>>0] = $592; - $595 = (($573) + ($584)|0); - $596 = HEAP8[$595>>0]|0; - $597 = (($573) + ($581)|0); - HEAP8[$597>>0] = $596; - $$1 = (($$1722) + -1)|0; - $598 = ($$1|0)>(-1); - if ($598) { - $$1722 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 144; - break L174; - } - } - } - } while(0); - $599 = (($$1624727) + 1)|0; - $600 = ($599>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; - $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; - if ($600) { - $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; - } else { - $$2 = 1; - label = 151; - break; - } - } - if ((label|0) == 144) { - ___assert_fail((10576|0),(9858|0),4465,(10473|0)); - // unreachable; - } - else if ((label|0) == 151) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 13; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 13; - break L5; - } - break; - } - case 1: { - $13 = HEAP8[(22690)>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,22691,288)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,22659,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - break; - } - default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; - break; - } - } - $23 = ($9|0)==(0); - if (!($23)) { - $$0 = 1; - label = 13; - break; - } - } - if ((label|0) == 13) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(10902); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(10918); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(10933); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 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)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 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; - var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $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; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((10824|0),(9858|0),4048,(10841|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(10872); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(10885); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22691|0),8,144)|0; - dest=(22835); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(22947); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (22971); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22659; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $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; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(10762); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(10814); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 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; - var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (11608 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(10762); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(10762); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((10778|0),(9858|0),4021,(10786|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(10762); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(10762); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $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; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3308 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3184 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3560 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3432 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(10587); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(10587); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(10604); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(10613); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(9913); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $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)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((10709|0),(9858|0),3863,(10746|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((10633|0),(9858|0),3891,(10649|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((10680|0),(9858|0),3781,(10691|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($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; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($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; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer9 = sp + 32|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10961)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,11014)|0); - $20 = ($19|0)==(0); - if ($20) { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11019,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; - break; - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { - case 1: { - $$sink = 1; - label = 11; - break; - } - case 2: { - $$sink = 2; - label = 11; - break; - } - case 3: { - $$sink = 4; - label = 11; - break; - } - case 4: { - $$sink = 7; - label = 11; - break; - } - default: { - $$sroa$15$1 = 0; - } - } - if ((label|0) == 11) { - $$sroa$15$1 = $$sink; - } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; - label = 14; - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; - $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10967,$vararg_buffer); - $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; - } - _UnloadResource($8); - $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; - label = 14; - } - } while(0); - if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; - } else { - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11055,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11094,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; - STACKTOP = sp;return; -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 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; - 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, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; - var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,11153)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11156,$vararg_buffer); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = HEAP16[$10>>1]|0; - $23 = $22&65535; - $24 = ((($3)) + 8|0); - $25 = ((($3)) + 4|0); - $26 = ((($3)) + 16|0); - $27 = ((($3)) + 20|0); - $28 = ((($3)) + 24|0); - $29 = ((($3)) + 28|0); - $30 = ((($3)) + 8|0); - $31 = ((($3)) + 5|0); - $32 = ((($3)) + 12|0); - $$05665 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP8[$21>>0]|0; - $37 = $36&255; - $38 = ($37*24)|0; - $39 = (_malloc($38)|0); - $40 = HEAP32[$3>>2]|0; - $41 = ($40|0)==($1|0); - if ($41) { - $42 = HEAP8[$21>>0]|0; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - $$05764 = 0; - while(1) { - $44 = HEAP8[$25>>0]|0; - $45 = $44&255; - $46 = (($39) + (($$05764*24)|0)|0); - HEAP32[$46>>2] = $45; - $47 = HEAP32[$26>>2]|0; - $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); - HEAP32[$48>>2] = $47; - $49 = HEAP32[$27>>2]|0; - $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); - HEAP32[$50>>2] = $49; - $51 = HEAP32[$28>>2]|0; - $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); - HEAP32[$52>>2] = $51; - $53 = HEAP32[$29>>2]|0; - $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); - HEAP32[$54>>2] = $53; - $55 = HEAP32[$30>>2]|0; - $56 = (_malloc($55)|0); - (_fread($56,$55,1,$4)|0); - $57 = HEAP8[$31>>0]|0; - $58 = ($57<<24>>24)==(1); - if ($58) { - $59 = HEAP32[$30>>2]|0; - $60 = HEAP32[$32>>2]|0; - $61 = (_DecompressData($56,$59,$60)|0); - $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $61; - _free($56); - } else { - $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); - HEAP32[$63>>2] = $56; - } - $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if (!($66)) { - $67 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11253,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $68 = (($$05764) + 1)|0; - $69 = HEAP8[$21>>0]|0; - $70 = $69&255; - $71 = ($68|0)<($70|0); - if ($71) { - $$05764 = $68; - } else { - break; - } - } - } - } else { - $72 = HEAP32[$24>>2]|0; - (_fseek($4,$72,1)|0); - } - $73 = (($$05665) + 1)|0; - $74 = ($73|0)<($23|0); - if ($74) { - $$05665 = $73; - } else { - $$0$lcssa = $39; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11299,$vararg_buffer8); - $$1 = $$0$lcssa; - } else { - $$1 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11207,$vararg_buffer1); - $$1 = 0; - } - (_fclose($4)|0); - $$2 = $$1; - STACKTOP = sp;return ($$2|0); -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 17: case 14: case 11: case 10: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 16: case 15: case 13: case 12: case 9: case 8: { - $12 = (($6|0) / 2)&-1; - $$0 = $12; - break; - } - case 18: { - $13 = (($6|0) / 4)&-1; - $$0 = $13; - break; - } - default: { - _TraceLog(2,11125,$vararg_buffer); - $$0 = $6; - } - } - $14 = (_malloc($$0)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $16 = HEAP32[$1>>2]|0; - _memcpy(($14|0),($16|0),($$0|0))|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$4>>2]|0; - $19 = ((($1)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; - } - HEAP32[$0>>2] = $14; - $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(2,11349,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(2,11388,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(2,11414,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11477,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11512,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11547,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $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, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $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; - var $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, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $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; - var $40 = 0, $400 = 0, $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; - var $418 = 0, $419 = 0, $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; - var $436 = 0, $437 = 0, $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; - var $454 = 0, $455 = 0, $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; - var $472 = 0, $473 = 0, $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; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $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; - var $527 = 0, $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; - var $545 = 0, $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; - var $563 = 0, $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; - var $581 = 0, $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; - 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, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (11604 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (11604 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (11604 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (3172 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (11608 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (11627 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (11631 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3432 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3560 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3184 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3308 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _LoadTexture($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy1 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $$byval_copy1 = sp + 60|0; - $vararg_buffer = sp + 16|0; - $$sroa$5 = sp; - $2 = sp + 20|0; - $3 = sp + 40|0; - _LoadImage($2,$1); - $4 = HEAP32[$2>>2]|0; - $5 = ($4|0)==(0|0); - if ($5) { - _TraceLog(2,11635,$vararg_buffer); - $$sroa$0$0 = 0; - } else { - ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; - _LoadTextureFromImage($3,$$byval_copy1); - $$sroa$0$0$copyload = HEAP32[$3>>2]|0; - $$sroa$5$0$$sroa_idx = ((($3)) + 4|0); - ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$5+12>>2]=HEAP32[$$sroa$5$0$$sroa_idx+12>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy1); - $$sroa$0$0 = $$sroa$0$0$copyload; - } - HEAP32[$0>>2] = $$sroa$0$0; - $$sroa$5$0$$sroa_idx5 = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18572>>2]|0;HEAP32[$0+4>>2]=HEAP32[18572+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18572+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18572+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18572+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18572+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18572+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18572+28>>2]|0; - return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - switch ($23<<24>>24) { - case 10: { - $24 = HEAP32[$9>>2]|0; - $25 = (($24|0) / 2)&-1; - $26 = (($25) + ($24))|0; - $27 = (+($26|0)); - $28 = $12 * $27; - $29 = (~~(($28))); - $30 = (($29) + ($$05153))|0; - $$150 = 0;$$152 = $30;$$2 = $$055; - break; - } - case -62: { - $31 = (($$055) + 1)|0; - $32 = (($1) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $$1 = $31;$$sink = $34; - label = 9; - break; - } - case -61: { - $35 = (($$055) + 1)|0; - $36 = (($1) + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = (($38) + 64)|0; - $$1 = $35;$$sink = $39; - label = 9; - break; - } - default: { - $40 = $23 << 24 >> 24; - $$1 = $$055;$$sink = $40; - label = 9; - } - } - do { - if ((label|0) == 9) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _FormatText($0,$varargs) { - $0 = $0|0; - $varargs = $varargs|0; - var $1 = 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; - (_vsprintf(22979,$0,$1)|0); - STACKTOP = sp;return (22979|0); -} -function _DrawFPS($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 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); - $$byval_copy = sp; - $2 = sp + 4|0; - $3 = HEAP32[5196]|0; - $4 = HEAP32[922]|0; - $5 = ($3|0)<($4|0); - if ($5) { - $6 = (($3) + 1)|0; - $$sink = $6; - } else { - $7 = (_GetFPS()|0); - HEAP32[5197] = $7; - HEAP32[922] = $7; - $$sink = 0; - } - HEAP32[5196] = $$sink; - $8 = HEAP32[5197]|0; - HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11664,$$byval_copy)|0); - HEAP8[$2>>0] = 0; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = -98; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 47; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22979,$0,$1,20,$$byval_copy); - STACKTOP = sp;return; -} -function _DrawLine3D($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $3 = HEAP8[$2>>0]|0; - $4 = ((($2)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($2)) + 2|0); - $7 = HEAP8[$6>>0]|0; - $8 = ((($2)) + 3|0); - $9 = HEAP8[$8>>0]|0; - _rlColor4ub($3,$5,$7,$9); - $10 = +HEAPF32[$0>>2]; - $11 = ((($0)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($0)) + 8|0); - $14 = +HEAPF32[$13>>2]; - _rlVertex3f($10,$12,$14); - $15 = +HEAPF32[$1>>2]; - $16 = ((($1)) + 4|0); - $17 = +HEAPF32[$16>>2]; - $18 = ((($1)) + 8|0); - $19 = +HEAPF32[$18>>2]; - _rlVertex3f($15,$17,$19); - _rlEnd(); - return; -} -function _DrawCube($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(4); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawCubeWires($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0; - var $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlPushMatrix(); - $5 = +HEAPF32[$0>>2]; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($0)) + 8|0); - $9 = +HEAPF32[$8>>2]; - _rlTranslatef($5,$7,$9); - _rlBegin(1); - $10 = HEAP8[$4>>0]|0; - $11 = ((($4)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ((($4)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ((($4)) + 3|0); - $16 = HEAP8[$15>>0]|0; - _rlColor4ub($10,$12,$14,$16); - $17 = $1 * 0.5; - $18 = 0.0 - $17; - $19 = $2 * 0.5; - $20 = 0.0 - $19; - $21 = $3 * 0.5; - $22 = $21 + 0.0; - _rlVertex3f($18,$20,$22); - $23 = $17 + 0.0; - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$22); - $24 = $19 + 0.0; - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$20,$22); - $25 = 0.0 - $21; - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$20,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$24,$25); - _rlVertex3f($18,$20,$25); - _rlVertex3f($18,$24,$22); - _rlVertex3f($18,$24,$25); - _rlVertex3f($23,$24,$22); - _rlVertex3f($23,$24,$25); - _rlVertex3f($18,$20,$22); - _rlVertex3f($18,$20,$25); - _rlVertex3f($23,$20,$22); - _rlVertex3f($23,$20,$25); - _rlEnd(); - _rlPopMatrix(); - return; -} -function _DrawRay($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $2 = HEAP8[$1>>0]|0; - $3 = ((($1)) + 1|0); - $4 = HEAP8[$3>>0]|0; - $5 = ((($1)) + 2|0); - $6 = HEAP8[$5>>0]|0; - $7 = ((($1)) + 3|0); - $8 = HEAP8[$7>>0]|0; - _rlColor4ub($2,$4,$6,$8); - $9 = HEAP8[$1>>0]|0; - $10 = HEAP8[$3>>0]|0; - _rlColor4ub($9,$10,$6,$8); - $11 = +HEAPF32[$0>>2]; - $12 = ((($0)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 8|0); - $15 = +HEAPF32[$14>>2]; - _rlVertex3f($11,$13,$15); - $16 = ((($0)) + 12|0); - $17 = +HEAPF32[$16>>2]; - $18 = $17 * 1.0E+4; - $19 = $11 + $18; - $20 = +HEAPF32[$12>>2]; - $21 = ((($0)) + 16|0); - $22 = +HEAPF32[$21>>2]; - $23 = $22 * 1.0E+4; - $24 = $20 + $23; - $25 = +HEAPF32[$14>>2]; - $26 = ((($0)) + 20|0); - $27 = +HEAPF32[$26>>2]; - $28 = $27 * 1.0E+4; - $29 = $25 + $28; - _rlVertex3f($19,$24,$29); - _rlEnd(); - return; -} -function _DrawGrid($0,$1) { - $0 = $0|0; - $1 = +$1; - var $$024 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0|0) / 2)&-1; - _rlBegin(1); - $3 = (0 - ($2))|0; - $4 = ($2|0)<($3|0); - if ($4) { - _rlEnd(); - return; - } - $5 = (+($3|0)); - $6 = $5 * $1; - $7 = (+($2|0)); - $8 = $7 * $1; - $$024 = $3; - while(1) { - $9 = ($$024|0)==(0); - if ($9) { - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - _rlColor3f(0.5,0.5,0.5); - } else { - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - _rlColor3f(0.75,0.75,0.75); - } - $10 = (+($$024|0)); - $11 = $10 * $1; - _rlVertex3f($11,0.0,$6); - _rlVertex3f($11,0.0,$8); - _rlVertex3f($6,0.0,$11); - _rlVertex3f($8,0.0,$11); - $12 = (($$024) + 1)|0; - $13 = ($$024|0)<($2|0); - if ($13) { - $$024 = $12; - } else { - break; - } - } - _rlEnd(); - return; -} -function _LoadMesh($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 4|0; - dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11672)|0); - $5 = ($4|0)==(0); - if (!($5)) { - _LoadOBJ($3,$1); - dest=$2; src=$3; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - } - $6 = HEAP32[$2>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - _TraceLog(2,11677,$vararg_buffer); - } else { - _rlglLoadMesh($2,0); - } - dest=$0; src=$2; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadOBJ($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$ph374433 = 0, $$0$ph377422 = 0, $$0$ph379$lcssa386 = 0, $$0$ph379412 = 0, $$0$ph445 = 0, $$0344$ph373432 = 0, $$0344$ph376$lcssa388 = 0, $$0344$ph376421 = 0, $$0344$ph444 = 0, $$0345$ph372$lcssa389 = 0, $$0345$ph372431 = 0, $$0345$ph443 = 0, $$0346$ph$lcssa = 0, $$0346$ph442 = 0, $$0347392 = 0, $$0348391 = 0, $$0350$ph = 0, $$0350$ph$ph = 0, $$0351$ph$ph = 0, $$0352$ph = 0; - var $$0352$ph$ph = 0, $$0353$ph365399 = 0, $$0353$ph367397 = 0, $$0353$ph402 = 0, $$0354$ph364398 = 0, $$0354$ph401 = 0, $$0355$ph400 = 0, $$0356 = 0, $$0357 = 0, $$1 = 0, $$byval_copy102 = 0, $$byval_copy103 = 0, $$sroa$12$0$$sroa_idx244 = 0, $$sroa$12247$0$$sroa_idx249 = 0, $$sroa$31$0$$sroa_idx270 = 0, $$sroa$45$0$$sroa_idx286 = 0, $$sroa$45289$0$$sroa_idx291 = 0, $$sroa$64$0 = 0, $$sroa$64$0$$sroa_idx312 = 0, $$sroa$74$0$$sroa_idx324 = 0; - var $$sroa$75 = 0, $$sroa$75$0$$sroa_idx = 0, $$sroa$75$0$$sroa_idx328 = 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, $113 = 0, $114 = 0; - var $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, $131 = 0, $132 = 0; - var $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, $15 = 0, $150 = 0; - var $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, $168 = 0, $169 = 0; - var $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, $186 = 0, $187 = 0; - var $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, $203 = 0, $204 = 0; - var $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, $221 = 0, $222 = 0; - var $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.0, $238 = 0.0, $239 = 0, $24 = 0, $240 = 0; - var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0.0; - var $26 = 0, $260 = 0.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, $276 = 0, $277 = 0; - var $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, $294 = 0, $295 = 0; - var $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, $311 = 0.0, $312 = 0; - var $313 = 0, $314 = 0.0, $315 = 0, $316 = 0, $317 = 0.0, $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0.0, $327 = 0.0, $328 = 0.0, $329 = 0.0, $33 = 0, $330 = 0.0; - var $331 = 0.0, $332 = 0.0, $333 = 0.0, $334 = 0.0, $335 = 0.0, $336 = 0.0, $337 = 0.0, $338 = 0.0, $339 = 0.0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0.0, $347 = 0, $348 = 0, $349 = 0; - var $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, $366 = 0, $367 = 0; - var $368 = 0, $369 = 0, $37 = 0, $370 = 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, $49 = 0, $5 = 0, $50 = 0, $51 = 0; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer29 = 0, $vararg_buffer33 = 0, $vararg_buffer36 = 0; - var $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer44 = 0, $vararg_buffer49 = 0, $vararg_buffer52 = 0, $vararg_buffer55 = 0, $vararg_buffer58 = 0, $vararg_buffer63 = 0, $vararg_buffer7 = 0, $vararg_buffer71 = 0, $vararg_buffer79 = 0, $vararg_buffer90 = 0, $vararg_ptr10 = 0, $vararg_ptr14 = 0, $vararg_ptr18 = 0, $vararg_ptr22 = 0, $vararg_ptr32 = 0, $vararg_ptr39 = 0, $vararg_ptr40 = 0, $vararg_ptr47 = 0; - var $vararg_ptr48 = 0, $vararg_ptr61 = 0, $vararg_ptr62 = 0, $vararg_ptr66 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr69 = 0, $vararg_ptr70 = 0, $vararg_ptr74 = 0, $vararg_ptr75 = 0, $vararg_ptr76 = 0, $vararg_ptr77 = 0, $vararg_ptr78 = 0, $vararg_ptr82 = 0, $vararg_ptr83 = 0, $vararg_ptr84 = 0, $vararg_ptr85 = 0, $vararg_ptr86 = 0, $vararg_ptr87 = 0, $vararg_ptr88 = 0; - var $vararg_ptr89 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 672|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(672|0); - $$byval_copy103 = sp + 320|0; - $$byval_copy102 = sp + 304|0; - $vararg_buffer90 = sp + 296|0; - $vararg_buffer79 = sp + 256|0; - $vararg_buffer71 = sp + 232|0; - $vararg_buffer63 = sp + 208|0; - $vararg_buffer58 = sp + 192|0; - $vararg_buffer55 = sp + 184|0; - $vararg_buffer52 = sp + 176|0; - $vararg_buffer49 = sp + 168|0; - $vararg_buffer44 = sp + 152|0; - $vararg_buffer41 = sp + 144|0; - $vararg_buffer36 = sp + 128|0; - $vararg_buffer33 = sp + 120|0; - $vararg_buffer29 = sp + 112|0; - $vararg_buffer26 = sp + 104|0; - $vararg_buffer23 = sp + 96|0; - $vararg_buffer11 = sp + 80|0; - $vararg_buffer7 = sp + 64|0; - $vararg_buffer4 = sp + 56|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 40|0; - $$sroa$75 = sp; - $2 = sp + 664|0; - $3 = sp + 464|0; - $4 = sp + 428|0; - $5 = sp + 416|0; - $6 = sp + 452|0; - $7 = sp + 440|0; - $8 = sp + 404|0; - $9 = sp + 392|0; - $10 = sp + 380|0; - $11 = sp + 368|0; - $12 = sp + 356|0; - $13 = sp + 344|0; - $14 = sp + 332|0; - dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,11702)|0); - $16 = ($15|0)==(0|0); - if ($16) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11705,$vararg_buffer); - $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; - dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; - } - $17 = (_feof($15)|0); - $18 = ($17|0)==(0); - L5: do { - if ($18) { - $$0$ph445 = 0;$$0344$ph444 = 0;$$0345$ph443 = 0;$$0346$ph442 = 0; - while(1) { - $$0$ph374433 = $$0$ph445;$$0344$ph373432 = $$0344$ph444;$$0345$ph372431 = $$0345$ph443; - L8: while(1) { - $$0$ph377422 = $$0$ph374433;$$0344$ph376421 = $$0344$ph373432; - L10: while(1) { - $$0$ph379412 = $$0$ph377422; - L12: while(1) { - L14: while(1) { - HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,11739,$vararg_buffer1)|0); - $19 = HEAP8[$2>>0]|0; - $20 = $19 << 24 >> 24; - switch ($20|0) { - case 102: { - break L8; - break; - } - case 118: { - break L14; - break; - } - case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $21 = (_feof($15)|0); - $22 = ($21|0)==(0); - if (!($22)) { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,11739,$vararg_buffer4)|0); - $23 = HEAP8[$2>>0]|0; - switch ($23<<24>>24) { - case 116: { - break L10; - break; - } - case 110: { - break L12; - break; - } - default: { - } - } - $30 = (($$0$ph379412) + 1)|0; - (_fgets($3,200,$15)|0); - $31 = (_feof($15)|0); - $32 = ($31|0)==(0); - if ($32) { - $$0$ph379412 = $30; - } else { - $$0$ph379$lcssa386 = $30;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $27 = (($$0344$ph376421) + 1)|0; - (_fgets($3,200,$15)|0); - $28 = (_feof($15)|0); - $29 = ($28|0)==(0); - if ($29) { - $$0$ph377422 = $$0$ph379412;$$0344$ph376421 = $27; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $27;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $24 = (($$0345$ph372431) + 1)|0; - (_fgets($3,200,$15)|0); - $25 = (_feof($15)|0); - $26 = ($25|0)==(0); - if ($26) { - $$0$ph374433 = $$0$ph379412;$$0344$ph373432 = $$0344$ph376421;$$0345$ph372431 = $24; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $24;$$0346$ph$lcssa = $$0346$ph442; - break L5; - } - } - $33 = (($$0346$ph442) + 1)|0; - (_fgets($3,200,$15)|0); - $34 = (_feof($15)|0); - $35 = ($34|0)==(0); - if ($35) { - $$0$ph445 = $$0$ph379412;$$0344$ph444 = $$0344$ph376421;$$0345$ph443 = $$0345$ph372431;$$0346$ph442 = $33; - } else { - $$0$ph379$lcssa386 = $$0$ph379412;$$0344$ph376$lcssa388 = $$0344$ph376421;$$0345$ph372$lcssa389 = $$0345$ph372431;$$0346$ph$lcssa = $33; - break; - } - } - } else { - $$0$ph379$lcssa386 = 0;$$0344$ph376$lcssa388 = 0;$$0345$ph372$lcssa389 = 0;$$0346$ph$lcssa = 0; - } - } while(0); - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,11742,$vararg_buffer7); - HEAP32[$vararg_buffer11>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,11770,$vararg_buffer11); - HEAP32[$$byval_copy102>>2] = $1; - $vararg_ptr18 = ((($$byval_copy102)) + 4|0); - HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,11799,$$byval_copy102); - HEAP32[$$byval_copy103>>2] = $1; - $vararg_ptr22 = ((($$byval_copy103)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,11826,$$byval_copy103); - $36 = ($$0$ph379$lcssa386*12)|0; - $37 = (_malloc($36)|0); - $38 = ($$0344$ph376$lcssa388|0)>(0); - if ($38) { - $39 = ($$0344$ph376$lcssa388*12)|0; - $40 = (_malloc($39)|0); - $$0357 = $40;$369 = $40; - } else { - $$0357 = 0;$369 = 0; - } - $41 = ($$0345$ph372$lcssa389|0)>(0); - if ($41) { - $42 = $$0345$ph372$lcssa389 << 3; - $43 = (_malloc($42)|0); - $$0356 = $43;$370 = $43; - } else { - $$0356 = 0;$370 = 0; - } - _rewind($15); - $44 = (_feof($15)|0); - $45 = ($44|0)==(0); - L31: do { - if ($45) { - $$0353$ph402 = 0;$$0354$ph401 = 0;$$0355$ph400 = 0; - while(1) { - $$0353$ph365399 = $$0353$ph402;$$0354$ph364398 = $$0354$ph401; - L34: while(1) { - $$0353$ph367397 = $$0353$ph365399; - L36: while(1) { - L38: while(1) { - HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,11739,$vararg_buffer23)|0); - $46 = HEAP8[$2>>0]|0; - $47 = $46 << 24 >> 24; - switch ($47|0) { - case 118: { - break L38; - break; - } - case 102: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $48 = (_feof($15)|0); - $49 = ($48|0)==(0); - if (!($49)) { - break L31; - } - } - HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,11739,$vararg_buffer26)|0); - $50 = HEAP8[$2>>0]|0; - switch ($50<<24>>24) { - case 110: { - break L36; - break; - } - case 116: { - break; - } - default: { - break L34; - } - } - $51 = (($$0356) + ($$0353$ph367397<<3)|0); - $52 = (((($$0356) + ($$0353$ph367397<<3)|0)) + 4|0); - HEAP32[$vararg_buffer29>>2] = $51; - $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); - HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,11855,$vararg_buffer29)|0); - $53 = (($$0353$ph367397) + 1)|0; - HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,11739,$vararg_buffer33)|0); - $54 = (_feof($15)|0); - $55 = ($54|0)==(0); - if ($55) { - $$0353$ph367397 = $53; - } else { - break L31; - } - } - $56 = (($$0357) + (($$0354$ph364398*12)|0)|0); - $57 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 4|0); - $58 = (((($$0357) + (($$0354$ph364398*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer36>>2] = $56; - $vararg_ptr39 = ((($vararg_buffer36)) + 4|0); - HEAP32[$vararg_ptr39>>2] = $57; - $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); - HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,11869,$vararg_buffer36)|0); - $59 = (($$0354$ph364398) + 1)|0; - HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,11739,$vararg_buffer41)|0); - $60 = (_feof($15)|0); - $61 = ($60|0)==(0); - if ($61) { - $$0353$ph365399 = $$0353$ph367397;$$0354$ph364398 = $59; - } else { - break L31; - } - } - $62 = (($37) + (($$0355$ph400*12)|0)|0); - $63 = (((($37) + (($$0355$ph400*12)|0)|0)) + 4|0); - $64 = (((($37) + (($$0355$ph400*12)|0)|0)) + 8|0); - HEAP32[$vararg_buffer44>>2] = $62; - $vararg_ptr47 = ((($vararg_buffer44)) + 4|0); - HEAP32[$vararg_ptr47>>2] = $63; - $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); - HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,11869,$vararg_buffer44)|0); - $65 = (($$0355$ph400) + 1)|0; - HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,11739,$vararg_buffer49)|0); - $66 = (_feof($15)|0); - $67 = ($66|0)==(0); - if ($67) { - $$0353$ph402 = $$0353$ph367397;$$0354$ph401 = $$0354$ph364398;$$0355$ph400 = $65; - } else { - break; - } - } - } - } while(0); - $68 = ($$0346$ph$lcssa*3)|0; - $69 = ($$0346$ph$lcssa*9)|0; - $70 = ($$0346$ph$lcssa*36)|0; - $71 = (_malloc($70)|0); - $72 = ($$0346$ph$lcssa*6)|0; - $73 = ($$0346$ph$lcssa*24)|0; - $74 = (_malloc($73)|0); - $75 = (_malloc($70)|0); - _rewind($15); - $76 = ($$0344$ph376$lcssa388|0)==(0); - if ($76) { - HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,11878,$vararg_buffer52); - } - $77 = ($$0345$ph372$lcssa389|0)==(0); - $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; - $79 = ($78|0)==(0); - $80 = ((($vararg_buffer11)) + 4|0); - $81 = ((($vararg_buffer11)) + 8|0); - $82 = ((($vararg_buffer11)) + 4|0); - $83 = ((($vararg_buffer11)) + 8|0); - $84 = ((($4)) + 4|0); - $85 = ((($4)) + 8|0); - $86 = ((($5)) + 4|0); - $87 = ((($5)) + 8|0); - $88 = ((($vararg_buffer11)) + 4|0); - $89 = ((($vararg_buffer7)) + 4|0); - $90 = ((($vararg_buffer11)) + 8|0); - $91 = ((($vararg_buffer7)) + 8|0); - $92 = ((($vararg_buffer11)) + 4|0); - $93 = ((($4)) + 4|0); - $94 = ((($vararg_buffer11)) + 8|0); - $95 = ((($4)) + 8|0); - $96 = ((($vararg_buffer11)) + 4|0); - $97 = ((($vararg_buffer7)) + 4|0); - $98 = ((($4)) + 4|0); - $99 = ((($vararg_buffer11)) + 8|0); - $100 = ((($vararg_buffer7)) + 8|0); - $101 = ((($4)) + 8|0); - $102 = ((($vararg_buffer7)) + 4|0); - $103 = ((($vararg_buffer7)) + 8|0); - $$0350$ph$ph = 0;$$0351$ph$ph = 0;$$0352$ph$ph = 0; - L51: while(1) { - $$0350$ph = $$0350$ph$ph;$$0352$ph = $$0352$ph$ph; - while(1) { - $104 = (_feof($15)|0); - $105 = ($104|0)==(0); - if (!($105)) { - break L51; - } - L55: while(1) { - HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,11739,$vararg_buffer55)|0); - $106 = HEAP8[$2>>0]|0; - $107 = $106 << 24 >> 24; - switch ($107|0) { - case 102: { - break L55; - break; - } - case 118: case 117: case 109: case 115: case 103: case 111: case 35: { - (_fgets($3,200,$15)|0); - break; - } - default: { - } - } - $108 = (_feof($15)|0); - $109 = ($108|0)==(0); - if (!($109)) { - break L51; - } - } - do { - if ($79) { - HEAP32[$vararg_buffer58>>2] = $vararg_buffer11; - $vararg_ptr61 = ((($vararg_buffer58)) + 4|0); - HEAP32[$vararg_ptr61>>2] = $80; - $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); - HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,11949,$vararg_buffer58)|0); - } else { - if ($76) { - HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; - $vararg_ptr66 = ((($vararg_buffer63)) + 4|0); - HEAP32[$vararg_ptr66>>2] = $vararg_buffer7; - $vararg_ptr67 = ((($vararg_buffer63)) + 8|0); - HEAP32[$vararg_ptr67>>2] = $88; - $vararg_ptr68 = ((($vararg_buffer63)) + 12|0); - HEAP32[$vararg_ptr68>>2] = $89; - $vararg_ptr69 = ((($vararg_buffer63)) + 16|0); - HEAP32[$vararg_ptr69>>2] = $90; - $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); - HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,11958,$vararg_buffer63)|0); - break; - } - if ($77) { - HEAP32[$vararg_buffer71>>2] = $vararg_buffer11; - $vararg_ptr74 = ((($vararg_buffer71)) + 4|0); - HEAP32[$vararg_ptr74>>2] = $4; - $vararg_ptr75 = ((($vararg_buffer71)) + 8|0); - HEAP32[$vararg_ptr75>>2] = $92; - $vararg_ptr76 = ((($vararg_buffer71)) + 12|0); - HEAP32[$vararg_ptr76>>2] = $93; - $vararg_ptr77 = ((($vararg_buffer71)) + 16|0); - HEAP32[$vararg_ptr77>>2] = $94; - $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); - HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,11976,$vararg_buffer71)|0); - break; - } else { - HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; - $vararg_ptr82 = ((($vararg_buffer79)) + 4|0); - HEAP32[$vararg_ptr82>>2] = $vararg_buffer7; - $vararg_ptr83 = ((($vararg_buffer79)) + 8|0); - HEAP32[$vararg_ptr83>>2] = $4; - $vararg_ptr84 = ((($vararg_buffer79)) + 12|0); - HEAP32[$vararg_ptr84>>2] = $96; - $vararg_ptr85 = ((($vararg_buffer79)) + 16|0); - HEAP32[$vararg_ptr85>>2] = $97; - $vararg_ptr86 = ((($vararg_buffer79)) + 20|0); - HEAP32[$vararg_ptr86>>2] = $98; - $vararg_ptr87 = ((($vararg_buffer79)) + 24|0); - HEAP32[$vararg_ptr87>>2] = $99; - $vararg_ptr88 = ((($vararg_buffer79)) + 28|0); - HEAP32[$vararg_ptr88>>2] = $100; - $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); - HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,11997,$vararg_buffer79)|0); - break; - } - } - } while(0); - $110 = HEAP32[$vararg_buffer11>>2]|0; - $111 = (($110) + -1)|0; - $112 = (($37) + (($111*12)|0)|0); - $113 = HEAP32[$112>>2]|0; - $114 = (($71) + ($$0352$ph<<2)|0); - HEAP32[$114>>2] = $113; - $115 = (((($37) + (($111*12)|0)|0)) + 4|0); - $116 = HEAP32[$115>>2]|0; - $117 = (($$0352$ph) + 1)|0; - $118 = (($71) + ($117<<2)|0); - HEAP32[$118>>2] = $116; - $119 = (((($37) + (($111*12)|0)|0)) + 8|0); - $120 = HEAP32[$119>>2]|0; - $121 = (($$0352$ph) + 2)|0; - $122 = (($71) + ($121<<2)|0); - HEAP32[$122>>2] = $120; - $123 = (($$0352$ph) + 3)|0; - $124 = HEAP32[$82>>2]|0; - $125 = (($124) + -1)|0; - $126 = (($37) + (($125*12)|0)|0); - $127 = HEAP32[$126>>2]|0; - $128 = (($71) + ($123<<2)|0); - HEAP32[$128>>2] = $127; - $129 = (((($37) + (($125*12)|0)|0)) + 4|0); - $130 = HEAP32[$129>>2]|0; - $131 = (($$0352$ph) + 4)|0; - $132 = (($71) + ($131<<2)|0); - HEAP32[$132>>2] = $130; - $133 = (((($37) + (($125*12)|0)|0)) + 8|0); - $134 = HEAP32[$133>>2]|0; - $135 = (($$0352$ph) + 5)|0; - $136 = (($71) + ($135<<2)|0); - HEAP32[$136>>2] = $134; - $137 = (($$0352$ph) + 6)|0; - $138 = HEAP32[$83>>2]|0; - $139 = (($138) + -1)|0; - $140 = (($37) + (($139*12)|0)|0); - $141 = HEAP32[$140>>2]|0; - $142 = (($71) + ($137<<2)|0); - HEAP32[$142>>2] = $141; - $143 = (((($37) + (($139*12)|0)|0)) + 4|0); - $144 = HEAP32[$143>>2]|0; - $145 = (($$0352$ph) + 7)|0; - $146 = (($71) + ($145<<2)|0); - HEAP32[$146>>2] = $144; - $147 = (((($37) + (($139*12)|0)|0)) + 8|0); - $148 = HEAP32[$147>>2]|0; - $149 = (($$0352$ph) + 8)|0; - $150 = (($71) + ($149<<2)|0); - HEAP32[$150>>2] = $148; - $151 = (($$0352$ph) + 9)|0; - if ($38) { - $152 = HEAP32[$4>>2]|0; - $153 = (($152) + -1)|0; - $154 = (($$0357) + (($153*12)|0)|0); - $155 = HEAP32[$154>>2]|0; - $156 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$156>>2] = $155; - $157 = (((($$0357) + (($153*12)|0)|0)) + 4|0); - $158 = HEAP32[$157>>2]|0; - $159 = (($$0350$ph) + 1)|0; - $160 = (($75) + ($159<<2)|0); - HEAP32[$160>>2] = $158; - $161 = (((($$0357) + (($153*12)|0)|0)) + 8|0); - $162 = HEAP32[$161>>2]|0; - $163 = (($$0350$ph) + 2)|0; - $164 = (($75) + ($163<<2)|0); - HEAP32[$164>>2] = $162; - $165 = (($$0350$ph) + 3)|0; - $166 = HEAP32[$84>>2]|0; - $167 = (($166) + -1)|0; - $168 = (($$0357) + (($167*12)|0)|0); - $169 = HEAP32[$168>>2]|0; - $170 = (($75) + ($165<<2)|0); - HEAP32[$170>>2] = $169; - $171 = (((($$0357) + (($167*12)|0)|0)) + 4|0); - $172 = HEAP32[$171>>2]|0; - $173 = (($$0350$ph) + 4)|0; - $174 = (($75) + ($173<<2)|0); - HEAP32[$174>>2] = $172; - $175 = (((($$0357) + (($167*12)|0)|0)) + 8|0); - $176 = HEAP32[$175>>2]|0; - $177 = (($$0350$ph) + 5)|0; - $178 = (($75) + ($177<<2)|0); - HEAP32[$178>>2] = $176; - $179 = (($$0350$ph) + 6)|0; - $180 = HEAP32[$85>>2]|0; - $181 = (($180) + -1)|0; - $182 = (($$0357) + (($181*12)|0)|0); - $183 = HEAP32[$182>>2]|0; - $184 = (($75) + ($179<<2)|0); - HEAP32[$184>>2] = $183; - $185 = (((($$0357) + (($181*12)|0)|0)) + 4|0); - $186 = HEAP32[$185>>2]|0; - $187 = (($$0350$ph) + 7)|0; - $188 = (($75) + ($187<<2)|0); - HEAP32[$188>>2] = $186; - $189 = (((($$0357) + (($181*12)|0)|0)) + 8|0); - $190 = HEAP32[$189>>2]|0; - $191 = (($$0350$ph) + 8)|0; - $192 = (($75) + ($191<<2)|0); - HEAP32[$192>>2] = $190; - } else { - $193 = HEAP32[$82>>2]|0; - $194 = (($193) + -1)|0; - $195 = (($37) + (($194*12)|0)|0); - $196 = HEAP32[$vararg_buffer11>>2]|0; - $197 = (($196) + -1)|0; - $198 = (($37) + (($197*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$195>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$195+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$195+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$198>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$198+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$198+8>>2]|0; - _VectorSubtract($6,$$byval_copy102,$$byval_copy103); - $199 = HEAP32[$83>>2]|0; - $200 = (($199) + -1)|0; - $201 = (($37) + (($200*12)|0)|0); - $202 = HEAP32[$vararg_buffer11>>2]|0; - $203 = (($202) + -1)|0; - $204 = (($37) + (($203*12)|0)|0); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$201>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$201+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$201+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$204>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$204+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$204+8>>2]|0; - _VectorSubtract($7,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$7+8>>2]|0; - _VectorCrossProduct($5,$$byval_copy102,$$byval_copy103); - _VectorNormalize($5); - $205 = HEAP32[$5>>2]|0; - $206 = (($75) + ($$0350$ph<<2)|0); - HEAP32[$206>>2] = $205; - $207 = HEAP32[$86>>2]|0; - $208 = (($$0350$ph) + 1)|0; - $209 = (($75) + ($208<<2)|0); - HEAP32[$209>>2] = $207; - $210 = HEAP32[$87>>2]|0; - $211 = (($$0350$ph) + 2)|0; - $212 = (($75) + ($211<<2)|0); - HEAP32[$212>>2] = $210; - $213 = (($$0350$ph) + 3)|0; - $214 = HEAP32[$5>>2]|0; - $215 = (($75) + ($213<<2)|0); - HEAP32[$215>>2] = $214; - $216 = HEAP32[$86>>2]|0; - $217 = (($$0350$ph) + 4)|0; - $218 = (($75) + ($217<<2)|0); - HEAP32[$218>>2] = $216; - $219 = HEAP32[$87>>2]|0; - $220 = (($$0350$ph) + 5)|0; - $221 = (($75) + ($220<<2)|0); - HEAP32[$221>>2] = $219; - $222 = (($$0350$ph) + 6)|0; - $223 = HEAP32[$5>>2]|0; - $224 = (($75) + ($222<<2)|0); - HEAP32[$224>>2] = $223; - $225 = HEAP32[$86>>2]|0; - $226 = (($$0350$ph) + 7)|0; - $227 = (($75) + ($226<<2)|0); - HEAP32[$227>>2] = $225; - $228 = HEAP32[$87>>2]|0; - $229 = (($$0350$ph) + 8)|0; - $230 = (($75) + ($229<<2)|0); - HEAP32[$230>>2] = $228; - } - $$1 = (($$0350$ph) + 9)|0; - if ($41) { - break; - } else { - $$0350$ph = $$1;$$0352$ph = $151; - } - } - $231 = HEAP32[$vararg_buffer7>>2]|0; - $232 = (($231) + -1)|0; - $233 = (($$0356) + ($232<<3)|0); - $234 = HEAP32[$233>>2]|0; - $235 = (($74) + ($$0351$ph$ph<<2)|0); - HEAP32[$235>>2] = $234; - $236 = (((($$0356) + ($232<<3)|0)) + 4|0); - $237 = +HEAPF32[$236>>2]; - $238 = 1.0 - $237; - $239 = $$0351$ph$ph | 1; - $240 = (($74) + ($239<<2)|0); - HEAPF32[$240>>2] = $238; - $241 = (($$0351$ph$ph) + 2)|0; - $242 = HEAP32[$102>>2]|0; - $243 = (($242) + -1)|0; - $244 = (($$0356) + ($243<<3)|0); - $245 = HEAP32[$244>>2]|0; - $246 = (($74) + ($241<<2)|0); - HEAP32[$246>>2] = $245; - $247 = (((($$0356) + ($243<<3)|0)) + 4|0); - $248 = +HEAPF32[$247>>2]; - $249 = 1.0 - $248; - $250 = (($$0351$ph$ph) + 3)|0; - $251 = (($74) + ($250<<2)|0); - HEAPF32[$251>>2] = $249; - $252 = (($$0351$ph$ph) + 4)|0; - $253 = HEAP32[$103>>2]|0; - $254 = (($253) + -1)|0; - $255 = (($$0356) + ($254<<3)|0); - $256 = HEAP32[$255>>2]|0; - $257 = (($74) + ($252<<2)|0); - HEAP32[$257>>2] = $256; - $258 = (((($$0356) + ($254<<3)|0)) + 4|0); - $259 = +HEAPF32[$258>>2]; - $260 = 1.0 - $259; - $261 = (($$0351$ph$ph) + 5)|0; - $262 = (($74) + ($261<<2)|0); - HEAPF32[$262>>2] = $260; - $263 = (($$0351$ph$ph) + 6)|0; - $$0350$ph$ph = $$1;$$0351$ph$ph = $263;$$0352$ph$ph = $151; - } - (_fclose($15)|0); - $264 = ($$0345$ph372$lcssa389|0)==(0); - if ($264) { - $265 = ($72|0)>(0); - if ($265) { - $368 = ($$0346$ph$lcssa*24)|0; - _memset(($74|0),0,($368|0))|0; - $$sroa$64$0 = 0; - } else { - $$sroa$64$0 = 0; - } - } else { - $266 = (_malloc($70)|0); - $267 = ($69|0)>(0); - if ($267) { - $268 = ((($5)) + 4|0); - $269 = ((($5)) + 8|0); - $270 = ((($8)) + 4|0); - $271 = ((($8)) + 8|0); - $272 = ((($9)) + 4|0); - $273 = ((($9)) + 8|0); - $274 = ((($12)) + 4|0); - $275 = ((($10)) + 4|0); - $276 = ((($12)) + 8|0); - $277 = ((($10)) + 8|0); - $278 = ((($13)) + 4|0); - $279 = ((($11)) + 4|0); - $280 = ((($13)) + 8|0); - $281 = ((($11)) + 8|0); - $282 = ((($14)) + 4|0); - $283 = ((($14)) + 8|0); - $$0347392 = 0;$$0348391 = 0; - while(1) { - $284 = (($71) + ($$0348391<<2)|0); - $285 = HEAP32[$284>>2]|0; - HEAP32[$5>>2] = $285; - $286 = (($$0348391) + 1)|0; - $287 = (($71) + ($286<<2)|0); - $288 = HEAP32[$287>>2]|0; - HEAP32[$268>>2] = $288; - $289 = (($$0348391) + 2)|0; - $290 = (($71) + ($289<<2)|0); - $291 = HEAP32[$290>>2]|0; - HEAP32[$269>>2] = $291; - $292 = (($$0348391) + 3)|0; - $293 = (($71) + ($292<<2)|0); - $294 = HEAP32[$293>>2]|0; - HEAP32[$8>>2] = $294; - $295 = (($$0348391) + 4)|0; - $296 = (($71) + ($295<<2)|0); - $297 = HEAP32[$296>>2]|0; - HEAP32[$270>>2] = $297; - $298 = (($$0348391) + 5)|0; - $299 = (($71) + ($298<<2)|0); - $300 = HEAP32[$299>>2]|0; - HEAP32[$271>>2] = $300; - $301 = (($$0348391) + 6)|0; - $302 = (($71) + ($301<<2)|0); - $303 = HEAP32[$302>>2]|0; - HEAP32[$9>>2] = $303; - $304 = (($$0348391) + 7)|0; - $305 = (($71) + ($304<<2)|0); - $306 = HEAP32[$305>>2]|0; - HEAP32[$272>>2] = $306; - $307 = (($$0348391) + 8)|0; - $308 = (($71) + ($307<<2)|0); - $309 = HEAP32[$308>>2]|0; - HEAP32[$273>>2] = $309; - $310 = (($74) + ($$0347392<<2)|0); - $311 = +HEAPF32[$310>>2]; - $312 = $$0347392 | 1; - $313 = (($74) + ($312<<2)|0); - $314 = +HEAPF32[$313>>2]; - $315 = (($$0347392) + 2)|0; - $316 = (($74) + ($315<<2)|0); - $317 = +HEAPF32[$316>>2]; - $318 = (($$0347392) + 3)|0; - $319 = (($74) + ($318<<2)|0); - $320 = +HEAPF32[$319>>2]; - $321 = (($$0347392) + 4)|0; - $322 = (($74) + ($321<<2)|0); - $323 = +HEAPF32[$322>>2]; - $324 = (($$0347392) + 5)|0; - $325 = (($74) + ($324<<2)|0); - $326 = +HEAPF32[$325>>2]; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$8+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _VectorSubtract($10,$$byval_copy102,$$byval_copy103); - ;HEAP32[$$byval_copy102>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$5+8>>2]|0; - _VectorSubtract($11,$$byval_copy102,$$byval_copy103); - $327 = $317 - $311; - $328 = $320 - $314; - $329 = $323 - $311; - $330 = $326 - $314; - $331 = $327 * $330; - $332 = $328 * $329; - $333 = $331 - $332; - $334 = 1.0 / $333; - $335 = +HEAPF32[$10>>2]; - $336 = $330 * $335; - HEAPF32[$12>>2] = $336; - $337 = +HEAPF32[$275>>2]; - $338 = $330 * $337; - HEAPF32[$274>>2] = $338; - $339 = +HEAPF32[$277>>2]; - $340 = $330 * $339; - HEAPF32[$276>>2] = $340; - $341 = +HEAPF32[$11>>2]; - $342 = $328 * $341; - HEAPF32[$13>>2] = $342; - $343 = +HEAPF32[$279>>2]; - $344 = $328 * $343; - HEAPF32[$278>>2] = $344; - $345 = +HEAPF32[$281>>2]; - $346 = $328 * $345; - HEAPF32[$280>>2] = $346; - ;HEAP32[$$byval_copy102>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy102+8>>2]=HEAP32[$12+8>>2]|0; - ;HEAP32[$$byval_copy103>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy103+8>>2]=HEAP32[$13+8>>2]|0; - _VectorSubtract($14,$$byval_copy102,$$byval_copy103); - _VectorScale($14,$334); - $347 = HEAP32[$14>>2]|0; - $348 = (($266) + ($$0348391<<2)|0); - HEAP32[$348>>2] = $347; - $349 = HEAP32[$282>>2]|0; - $350 = (($266) + ($286<<2)|0); - HEAP32[$350>>2] = $349; - $351 = HEAP32[$283>>2]|0; - $352 = (($266) + ($289<<2)|0); - HEAP32[$352>>2] = $351; - $353 = HEAP32[$14>>2]|0; - $354 = (($266) + ($292<<2)|0); - HEAP32[$354>>2] = $353; - $355 = HEAP32[$282>>2]|0; - $356 = (($266) + ($295<<2)|0); - HEAP32[$356>>2] = $355; - $357 = HEAP32[$283>>2]|0; - $358 = (($266) + ($298<<2)|0); - HEAP32[$358>>2] = $357; - $359 = HEAP32[$14>>2]|0; - $360 = (($266) + ($301<<2)|0); - HEAP32[$360>>2] = $359; - $361 = HEAP32[$282>>2]|0; - $362 = (($266) + ($304<<2)|0); - HEAP32[$362>>2] = $361; - $363 = HEAP32[$283>>2]|0; - $364 = (($266) + ($307<<2)|0); - HEAP32[$364>>2] = $363; - $365 = (($$0348391) + 9)|0; - $366 = (($$0347392) + 6)|0; - $367 = ($365|0)<($69|0); - if ($367) { - $$0347392 = $366;$$0348391 = $365; - } else { - $$sroa$64$0 = $266; - break; - } - } - } else { - $$sroa$64$0 = $266; - } - } - _free($37); - _free($369); - _free($370); - HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12024,$vararg_buffer90); - HEAP32[$0>>2] = $68; - $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); - HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; - $$sroa$12247$0$$sroa_idx249 = ((($0)) + 8|0); - HEAP32[$$sroa$12247$0$$sroa_idx249>>2] = $71; - $$sroa$31$0$$sroa_idx270 = ((($0)) + 12|0); - HEAP32[$$sroa$31$0$$sroa_idx270>>2] = $74; - $$sroa$45$0$$sroa_idx286 = ((($0)) + 16|0); - HEAP32[$$sroa$45$0$$sroa_idx286>>2] = 0; - $$sroa$45289$0$$sroa_idx291 = ((($0)) + 20|0); - HEAP32[$$sroa$45289$0$$sroa_idx291>>2] = $75; - $$sroa$64$0$$sroa_idx312 = ((($0)) + 24|0); - HEAP32[$$sroa$64$0$$sroa_idx312>>2] = $$sroa$64$0; - $$sroa$74$0$$sroa_idx324 = ((($0)) + 28|0); - HEAP32[$$sroa$74$0$$sroa_idx324>>2] = 0; - $$sroa$75$0$$sroa_idx328 = ((($0)) + 32|0); - dest=$$sroa$75$0$$sroa_idx328; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadModel($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(464|0); - $2 = sp + 200|0; - $3 = sp + 136|0; - $4 = sp; - _memset(($2|0),0,264)|0; - _LoadMesh($2,$1); - $5 = ((($2)) + 68|0); - _MatrixIdentity($3); - dest=$5; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = ((($2)) + 132|0); - _LoadDefaultMaterial($4); - _memcpy(($6|0),($4|0),132)|0; - _memcpy(($0|0),($2|0),264)|0; - STACKTOP = sp;return; -} -function _LoadDefaultMaterial($0) { - $0 = $0|0; - var $$sroa$09 = 0, $$sroa$09$56$sroa_idx = 0, $$sroa$18$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx = 0, $1 = 0, $2 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $$sroa$09 = sp; - $1 = sp + 136|0; - $2 = sp + 116|0; - dest=$$sroa$09; stop=dest+116|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _GetDefaultShader($1); - dest=$$sroa$09; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _GetDefaultTexture($2); - $$sroa$09$56$sroa_idx = ((($$sroa$09)) + 56|0); - ;HEAP32[$$sroa$09$56$sroa_idx>>2]=HEAP32[$2>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$sroa$09$56$sroa_idx+16>>2]=HEAP32[$2+16>>2]|0; - dest=$0; src=$$sroa$09; stop=dest+116|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $$sroa$6$0$$sroa_idx = ((($0)) + 116|0); - $$sroa$18$0$$sroa_idx15 = ((($0)) + 128|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=4294967295|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=4294967295|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=4294967295|0; - HEAPF32[$$sroa$18$0$$sroa_idx15>>2] = 100.0; - STACKTOP = sp;return; -} -function _UnloadMesh($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - _rlglUnloadMesh($0); - return; -} -function _UnloadModel($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - _UnloadMesh($0); - $1 = ((($0)) + 132|0); - _memcpy(($$byval_copy|0),($1|0),132)|0; - _UnloadMaterial($$byval_copy); - _TraceLog(0,12068,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadMaterial($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 56|0); - $2 = HEAP32[$1>>2]|0; - _rlDeleteTextures($2); - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - _rlDeleteTextures($4); - $5 = ((($0)) + 96|0); - $6 = HEAP32[$5>>2]|0; - _rlDeleteTextures($6); - return; -} -function _DrawModel($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy4 = sp + 324|0; - $$byval_copy3 = sp + 312|0; - $$byval_copy2 = sp + 300|0; - $$byval_copy1 = sp + 288|0; - $$byval_copy = sp + 24|0; - $4 = sp + 12|0; - $5 = sp; - HEAPF32[$4>>2] = $2; - $6 = ((($4)) + 4|0); - HEAPF32[$6>>2] = $2; - $7 = ((($4)) + 8|0); - HEAPF32[$7>>2] = $2; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - _memcpy(($$byval_copy|0),($0|0),264)|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawModelEx($$byval_copy,$$byval_copy1,$$byval_copy2,0.0,$$byval_copy3,$$byval_copy4); - STACKTOP = sp;return; -} -function _DrawModelEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 592|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(592|0); - $$byval_copy7 = sp + 520|0; - $$byval_copy6 = sp + 388|0; - $$byval_copy5 = sp + 320|0; - $6 = sp + 128|0; - $7 = sp + 64|0; - $8 = sp; - $9 = sp + 256|0; - $10 = sp + 192|0; - $11 = $3 * 0.01745329238474369; - ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy7+8>>2]=HEAP32[$2+8>>2]|0; - _MatrixRotate($6,$$byval_copy7,$11); - $12 = +HEAPF32[$4>>2]; - $13 = ((($4)) + 4|0); - $14 = +HEAPF32[$13>>2]; - $15 = ((($4)) + 8|0); - $16 = +HEAPF32[$15>>2]; - _MatrixScale($7,$12,$14,$16); - $17 = +HEAPF32[$1>>2]; - $18 = ((($1)) + 4|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($1)) + 8|0); - $21 = +HEAPF32[$20>>2]; - _MatrixTranslate($8,$17,$19,$21); - $22 = ((($0)) + 68|0); - dest=$$byval_copy6; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy7; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($9,$$byval_copy6,$$byval_copy7); - dest=$$byval_copy6; src=$9; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy7; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($10,$$byval_copy6,$$byval_copy7); - dest=$22; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $23 = ((($0)) + 132|0); - $24 = ((($0)) + 248|0); - $25 = HEAPU8[$5>>0]|(HEAPU8[$5+1>>0]<<8)|(HEAPU8[$5+2>>0]<<16)|(HEAPU8[$5+3>>0]<<24); - HEAP32[$24>>2] = $25; - dest=$$byval_copy5; src=$0; stop=dest+68|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _memcpy(($$byval_copy6|0),($23|0),132)|0; - dest=$$byval_copy7; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlglDrawMesh($$byval_copy5,$$byval_copy6,$$byval_copy7); - STACKTOP = sp;return; -} -function _DrawBoundingBox($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy1 = sp + 24|0; - $$byval_copy = sp + 12|0; - $2 = sp; - $3 = ((($0)) + 12|0); - $4 = +HEAPF32[$3>>2]; - $5 = +HEAPF32[$0>>2]; - $6 = $4 - $5; - $7 = (+Math_abs((+$6))); - $8 = ((($0)) + 16|0); - $9 = +HEAPF32[$8>>2]; - $10 = ((($0)) + 4|0); - $11 = +HEAPF32[$10>>2]; - $12 = $9 - $11; - $13 = (+Math_abs((+$12))); - $14 = ((($0)) + 20|0); - $15 = +HEAPF32[$14>>2]; - $16 = ((($0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - $18 = $15 - $17; - $19 = (+Math_abs((+$18))); - $20 = +HEAPF32[$0>>2]; - $21 = $7 * 0.5; - $22 = $21 + $20; - HEAPF32[$2>>2] = $22; - $23 = ((($2)) + 4|0); - $24 = +HEAPF32[$10>>2]; - $25 = $13 * 0.5; - $26 = $25 + $24; - HEAPF32[$23>>2] = $26; - $27 = ((($2)) + 8|0); - $28 = +HEAPF32[$16>>2]; - $29 = $19 * 0.5; - $30 = $29 + $28; - HEAPF32[$27>>2] = $30; - ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; - _DrawCubeWires($$byval_copy,$7,$13,$19,$$byval_copy1); - STACKTOP = sp;return; -} -function _CheckCollisionRayBox($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0; - var $29 = 0, $3 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $fmaxf = 0.0, $fmaxf19 = 0.0, $fmaxf20 = 0.0; - var $fmaxf21 = 0.0, $fmaxf23 = 0.0, $fminf = 0.0, $fminf17 = 0.0, $fminf18 = 0.0, $fminf22 = 0.0, $fminf24 = 0.0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($0)) + 12|0); - $6 = +HEAPF32[$5>>2]; - $7 = $4 / $6; - $8 = ((($1)) + 12|0); - $9 = +HEAPF32[$8>>2]; - $10 = $9 - $3; - $11 = $10 / $6; - $12 = ((($1)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 - $15; - $17 = ((($0)) + 16|0); - $18 = +HEAPF32[$17>>2]; - $19 = $16 / $18; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $21 - $15; - $23 = $22 / $18; - $24 = ((($1)) + 8|0); - $25 = +HEAPF32[$24>>2]; - $26 = ((($0)) + 8|0); - $27 = +HEAPF32[$26>>2]; - $28 = $25 - $27; - $29 = ((($0)) + 20|0); - $30 = +HEAPF32[$29>>2]; - $31 = $28 / $30; - $32 = ((($1)) + 20|0); - $33 = +HEAPF32[$32>>2]; - $34 = $33 - $27; - $35 = $34 / $30; - $fmaxf20 = (+_fmaxf($7,$11)); - $fmaxf21 = (+_fmaxf($19,$23)); - $fminf22 = (+_fminf($fmaxf20,$fmaxf21)); - $fmaxf23 = (+_fmaxf($31,$35)); - $fminf24 = (+_fminf($fminf22,$fmaxf23)); - $36 = $fminf24 < 0.0; - if ($36) { - $38 = 0; - $37 = $38&1; - return ($37|0); - } - $fminf = (+_fminf($7,$11)); - $fminf17 = (+_fminf($19,$23)); - $fmaxf = (+_fmaxf($fminf,$fminf17)); - $fminf18 = (+_fminf($31,$35)); - $fmaxf19 = (+_fmaxf($fmaxf,$fminf18)); - $phitmp = !($fmaxf19 > $fminf24); - $38 = $phitmp; - $37 = $38&1; - return ($37|0); -} -function _GetCollisionRayMesh($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$051 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0$lcssa = 0, $$sroa$0$050 = 0, $$sroa$0$1 = 0, $$sroa$7$0$$sroa_idx23 = 0, $$sroa$7$0$$sroa_idx26 = 0, $$sroa$7$0$lcssa = 0.0, $$sroa$7$052 = 0.0, $$sroa$7$1 = 0.0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx31 = 0, $$sroa$8$0$$sroa_idx34 = 0, $10 = 0, $11 = 0, $12 = 0; - var $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, $30 = 0, $31 = 0; - var $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.0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0); - $$byval_copy3 = sp + 144|0; - $$byval_copy2 = sp + 132|0; - $$byval_copy1 = sp + 120|0; - $$byval_copy = sp + 96|0; - $$sroa$8 = sp; - $3 = sp + 80|0; - $4 = sp + 68|0; - $5 = sp + 56|0; - $6 = sp + 24|0; - ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0; - $7 = ((($2)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==(0|0); - if ($9) { - HEAP32[$0>>2] = 0; - $$sroa$7$0$$sroa_idx23 = ((($0)) + 4|0); - HEAPF32[$$sroa$7$0$$sroa_idx23>>2] = 0.0; - $$sroa$8$0$$sroa_idx = ((($0)) + 8|0); - ;HEAP32[$$sroa$8$0$$sroa_idx>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx+20>>2]=HEAP32[$$sroa$8+20>>2]|0; - STACKTOP = sp;return; - } - $10 = HEAP32[$2>>2]|0; - $11 = (($10|0) / 3)&-1; - $12 = ($10|0)>(2); - if ($12) { - $13 = ((($2)) + 32|0); - $14 = ((($6)) + 4|0); - $$sroa$8$0$$sroa_idx31 = ((($6)) + 8|0); - $$051 = 0;$$sroa$0$050 = 0;$$sroa$7$052 = 0.0; - while(1) { - $15 = HEAP32[$7>>2]|0; - $16 = HEAP32[$13>>2]|0; - $17 = ($16|0)==(0|0); - $18 = ($$051*3)|0; - if ($17) { - $35 = (($15) + (($18*12)|0)|0); - ;HEAP32[$3>>2]=HEAP32[$35>>2]|0;HEAP32[$3+4>>2]=HEAP32[$35+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$35+8>>2]|0; - $36 = (($18) + 1)|0; - $37 = (($15) + (($36*12)|0)|0); - ;HEAP32[$4>>2]=HEAP32[$37>>2]|0;HEAP32[$4+4>>2]=HEAP32[$37+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$37+8>>2]|0; - $38 = (($18) + 2)|0; - $39 = (($15) + (($38*12)|0)|0); - ;HEAP32[$5>>2]=HEAP32[$39>>2]|0;HEAP32[$5+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$39+8>>2]|0; - } else { - $19 = (($16) + ($18<<1)|0); - $20 = HEAP16[$19>>1]|0; - $21 = $20&65535; - $22 = (($15) + (($21*12)|0)|0); - ;HEAP32[$3>>2]=HEAP32[$22>>2]|0;HEAP32[$3+4>>2]=HEAP32[$22+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$22+8>>2]|0; - $23 = HEAP32[$13>>2]|0; - $24 = (($18) + 1)|0; - $25 = (($23) + ($24<<1)|0); - $26 = HEAP16[$25>>1]|0; - $27 = $26&65535; - $28 = (($15) + (($27*12)|0)|0); - ;HEAP32[$4>>2]=HEAP32[$28>>2]|0;HEAP32[$4+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$4+8>>2]=HEAP32[$28+8>>2]|0; - $29 = HEAP32[$13>>2]|0; - $30 = (($18) + 2)|0; - $31 = (($29) + ($30<<1)|0); - $32 = HEAP16[$31>>1]|0; - $33 = $32&65535; - $34 = (($15) + (($33*12)|0)|0); - ;HEAP32[$5>>2]=HEAP32[$34>>2]|0;HEAP32[$5+4>>2]=HEAP32[$34+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$34+8>>2]|0; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$5+8>>2]|0; - _GetCollisionRayTriangle($6,$$byval_copy,$$byval_copy1,$$byval_copy2,$$byval_copy3); - $40 = HEAP32[$6>>2]|0; - $41 = ($40|0)==(0); - if ($41) { - $$sroa$0$1 = $$sroa$0$050;$$sroa$7$1 = $$sroa$7$052; - } else { - $42 = ($$sroa$0$050|0)==(0); - $43 = +HEAPF32[$14>>2]; - $44 = $$sroa$7$052 > $43; - $or$cond = $42 | $44; - if ($or$cond) { - ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx31>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx31+20>>2]|0; - $$sroa$0$1 = $40;$$sroa$7$1 = $43; - } else { - $$sroa$0$1 = $$sroa$0$050;$$sroa$7$1 = $$sroa$7$052; - } - } - $45 = (($$051) + 1)|0; - $46 = ($45|0)<($11|0); - if ($46) { - $$051 = $45;$$sroa$0$050 = $$sroa$0$1;$$sroa$7$052 = $$sroa$7$1; - } else { - $$sroa$0$0$lcssa = $$sroa$0$1;$$sroa$7$0$lcssa = $$sroa$7$1; - break; - } - } - } else { - $$sroa$0$0$lcssa = 0;$$sroa$7$0$lcssa = 0.0; - } - HEAP32[$0>>2] = $$sroa$0$0$lcssa; - $$sroa$7$0$$sroa_idx26 = ((($0)) + 4|0); - HEAPF32[$$sroa$7$0$$sroa_idx26>>2] = $$sroa$7$0$lcssa; - $$sroa$8$0$$sroa_idx34 = ((($0)) + 8|0); - ;HEAP32[$$sroa$8$0$$sroa_idx34>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx34+20>>2]=HEAP32[$$sroa$8+20>>2]|0; - STACKTOP = sp;return; -} -function _GetCollisionRayTriangle($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy20 = 0, $$byval_copy21 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0; - var $28 = 0, $29 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond24 = 0; - var $or$cond26 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); - $$byval_copy21 = sp + 204|0; - $$byval_copy20 = sp + 192|0; - $5 = sp + 96|0; - $6 = sp + 84|0; - $7 = sp + 72|0; - $8 = sp + 60|0; - $9 = sp + 48|0; - $10 = sp + 16|0; - $11 = sp + 180|0; - $12 = sp + 168|0; - $13 = sp + 156|0; - $14 = sp + 144|0; - $15 = sp + 132|0; - $16 = sp + 120|0; - $17 = sp; - $18 = sp + 108|0; - ;HEAP32[$10>>2]=0|0;HEAP32[$10+4>>2]=0|0;HEAP32[$10+8>>2]=0|0;HEAP32[$10+12>>2]=0|0;HEAP32[$10+16>>2]=0|0;HEAP32[$10+20>>2]=0|0;HEAP32[$10+24>>2]=0|0;HEAP32[$10+28>>2]=0|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; - _VectorSubtract($11,$$byval_copy20,$$byval_copy21); - ;HEAP32[$5>>2]=HEAP32[$11>>2]|0;HEAP32[$5+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$11+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$4+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; - _VectorSubtract($12,$$byval_copy20,$$byval_copy21); - ;HEAP32[$6>>2]=HEAP32[$12>>2]|0;HEAP32[$6+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$12+8>>2]|0; - $19 = ((($1)) + 12|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$19+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$12+8>>2]|0; - _VectorCrossProduct($13,$$byval_copy20,$$byval_copy21); - ;HEAP32[$7>>2]=HEAP32[$13>>2]|0;HEAP32[$7+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$13+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$13+8>>2]|0; - $20 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); - $21 = $20; - $22 = $21 > -9.9999999999999995E-7; - $23 = $21 < 9.9999999999999995E-7; - $or$cond24 = $22 & $23; - if ($or$cond24) { - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; - } - $24 = 1.0 / $20; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$2+8>>2]|0; - _VectorSubtract($14,$$byval_copy20,$$byval_copy21); - ;HEAP32[$9>>2]=HEAP32[$14>>2]|0;HEAP32[$9+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$14+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$14+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$7+8>>2]|0; - $25 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); - $26 = $24 * $25; - $27 = $26 < 0.0; - $28 = $26 > 1.0; - $or$cond = $27 | $28; - if ($or$cond) { - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy20>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$9+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$5+8>>2]|0; - _VectorCrossProduct($15,$$byval_copy20,$$byval_copy21); - ;HEAP32[$8>>2]=HEAP32[$15>>2]|0;HEAP32[$8+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$15+8>>2]|0; - ;HEAP32[$$byval_copy20>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$19+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$15+8>>2]|0; - $29 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); - $30 = $24 * $29; - $31 = $30 < 0.0; - $32 = $26 + $30; - $33 = $32 > 1.0; - $or$cond26 = $31 | $33; - if ($or$cond26) { - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy20>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$6+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$8+8>>2]|0; - $34 = (+_VectorDotProduct($$byval_copy20,$$byval_copy21)); - $35 = $24 * $34; - $36 = $35; - $37 = $36 > 9.9999999999999995E-7; - if ($37) { - $38 = ((($10)) + 4|0); - HEAPF32[$38>>2] = $35; - HEAP32[$10>>2] = 1; - $39 = ((($10)) + 20|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$5+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$6+8>>2]|0; - _VectorCrossProduct($16,$$byval_copy20,$$byval_copy21); - ;HEAP32[$39>>2]=HEAP32[$16>>2]|0;HEAP32[$39+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$39+8>>2]=HEAP32[$16+8>>2]|0; - _VectorNormalize($39); - ;HEAP32[$17>>2]=HEAP32[$19>>2]|0;HEAP32[$17+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$17+8>>2]=HEAP32[$19+8>>2]|0; - _VectorScale($17,$35); - $40 = ((($10)) + 8|0); - ;HEAP32[$$byval_copy20>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy20+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy21>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$$byval_copy21+8>>2]=HEAP32[$17+8>>2]|0; - _VectorAdd($18,$$byval_copy20,$$byval_copy21); - ;HEAP32[$40>>2]=HEAP32[$18>>2]|0;HEAP32[$40+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$40+8>>2]=HEAP32[$18+8>>2]|0; - } - ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$10+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$10+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$10+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$10+28>>2]|0; - STACKTOP = sp;return; -} -function _GetCollisionRayGround($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$06$1 = 0, $$sroa$5$0$$sroa_idx8 = 0, $$sroa$5$1 = 0.0, $$sroa$6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$7$0$$sroa_idx13 = 0, $$sroa$8$0$$sroa_idx15 = 0, $$sroa$8$1 = 0.0, $$sroa$9$0$$sroa_idx17 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 48|0; - $$byval_copy = sp + 36|0; - $$sroa$6 = sp; - $3 = sp + 24|0; - $4 = sp + 12|0; - ;HEAP32[$$sroa$6>>2]=0|0;HEAP32[$$sroa$6+4>>2]=0|0;HEAP32[$$sroa$6+8>>2]=0|0; - $5 = ((($1)) + 12|0); - $6 = ((($1)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = (+Math_abs((+$7))); - $9 = $8; - $10 = $9 > 9.9999999999999995E-7; - if ($10) { - $11 = ((($1)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $12 - $2; - $14 = -$7; - $15 = $13 / $14; - $16 = !($15 >= 0.0); - if ($16) { - $$sroa$06$1 = 0;$$sroa$5$1 = 0.0;$$sroa$8$1 = 0.0; - } else { - ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; - _VectorScale($3,$15); - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; - _VectorAdd($4,$$byval_copy,$$byval_copy1); - ;HEAP32[$$sroa$6>>2]=HEAP32[$4>>2]|0;HEAP32[$$sroa$6+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$sroa$6+8>>2]=HEAP32[$4+8>>2]|0; - $$sroa$06$1 = 1;$$sroa$5$1 = $15;$$sroa$8$1 = 1.0; - } - } else { - $$sroa$06$1 = 0;$$sroa$5$1 = 0.0;$$sroa$8$1 = 0.0; - } - HEAP32[$0>>2] = $$sroa$06$1; - $$sroa$5$0$$sroa_idx8 = ((($0)) + 4|0); - HEAPF32[$$sroa$5$0$$sroa_idx8>>2] = $$sroa$5$1; - $$sroa$6$0$$sroa_idx = ((($0)) + 8|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=HEAP32[$$sroa$6>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=HEAP32[$$sroa$6+4>>2]|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=HEAP32[$$sroa$6+8>>2]|0; - $$sroa$7$0$$sroa_idx13 = ((($0)) + 20|0); - HEAPF32[$$sroa$7$0$$sroa_idx13>>2] = 0.0; - $$sroa$8$0$$sroa_idx15 = ((($0)) + 24|0); - HEAPF32[$$sroa$8$0$$sroa_idx15>>2] = $$sroa$8$1; - $$sroa$9$0$$sroa_idx17 = ((($0)) + 28|0); - HEAPF32[$$sroa$9$0$$sroa_idx17>>2] = 0.0; - STACKTOP = sp;return; -} -function _CalculateBoundingBox($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$020 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$2$0$$sroa_idx11 = 0, $$sroa$214$0$$sroa_idx15 = 0, $$sroa$3$0$$sroa_idx12 = 0, $$sroa$316$0$$sroa_idx17 = 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, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy3 = sp + 88|0; - $$byval_copy2 = sp + 72|0; - $2 = sp + 60|0; - $3 = sp + 24|0; - $4 = sp + 48|0; - $5 = sp + 36|0; - $6 = sp + 12|0; - $7 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0; - ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0; - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(0|0); - if (!($10)) { - $11 = HEAP32[$9>>2]|0; - $12 = ((($9)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($9)) + 8|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$2>>2] = $11; - $$sroa$214$0$$sroa_idx15 = ((($2)) + 4|0); - HEAP32[$$sroa$214$0$$sroa_idx15>>2] = $13; - $$sroa$316$0$$sroa_idx17 = ((($2)) + 8|0); - HEAP32[$$sroa$316$0$$sroa_idx17>>2] = $15; - $16 = HEAP32[$8>>2]|0; - $17 = HEAP32[$16>>2]|0; - $18 = ((($16)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ((($16)) + 8|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$3>>2] = $17; - $$sroa$2$0$$sroa_idx11 = ((($3)) + 4|0); - HEAP32[$$sroa$2$0$$sroa_idx11>>2] = $19; - $$sroa$3$0$$sroa_idx12 = ((($3)) + 8|0); - HEAP32[$$sroa$3$0$$sroa_idx12>>2] = $21; - $22 = HEAP32[$1>>2]|0; - $23 = ($22|0)>(1); - if ($23) { - $24 = ((($4)) + 4|0); - $25 = ((($4)) + 8|0); - $26 = ((($6)) + 4|0); - $27 = ((($6)) + 8|0); - $28 = HEAP32[$1>>2]|0; - $$020 = 1; - while(1) { - $29 = ($$020*3)|0; - $30 = (($16) + ($29<<2)|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[$4>>2] = $31; - $32 = (($29) + 1)|0; - $33 = (($16) + ($32<<2)|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[$24>>2] = $34; - $35 = (($29) + 2)|0; - $36 = (($16) + ($35<<2)|0); - $37 = HEAP32[$36>>2]|0; - HEAP32[$25>>2] = $37; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$2+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$4+8>>2]|0; - _VectorMin($5,$$byval_copy2,$$byval_copy3); - ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0; - $38 = HEAP32[$8>>2]|0; - $39 = (($38) + ($29<<2)|0); - $40 = HEAP32[$39>>2]|0; - HEAP32[$6>>2] = $40; - $41 = (($38) + ($32<<2)|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$26>>2] = $42; - $43 = HEAP32[$8>>2]|0; - $44 = (($43) + ($35<<2)|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$27>>2] = $45; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0; - _VectorMax($7,$$byval_copy2,$$byval_copy3); - ;HEAP32[$3>>2]=HEAP32[$7>>2]|0;HEAP32[$3+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$7+8>>2]|0; - $46 = (($$020) + 1)|0; - $47 = ($46|0)<($28|0); - if ($47) { - $$020 = $46; - } else { - break; - } - } - } - } - ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0; - $48 = ((($$byval_copy3)) + 12|0); - ;HEAP32[$48>>2]=HEAP32[$3>>2]|0;HEAP32[$48+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$0>>2]=HEAP32[$$byval_copy3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$byval_copy3+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$byval_copy3+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$byval_copy3+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$byval_copy3+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$$byval_copy3+20>>2]|0; - STACKTOP = sp;return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; - var $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, $85 = 0, $86 = 0, $87 = 0; - var $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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12126)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12130)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12134)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12138)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12144)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12182)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 12201; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12214)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 12235; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12250)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 12265; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12280)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 12295; - } - } else { - HEAP32[$3>>2] = 12166; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12310)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12324)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12336)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12350)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12362)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12376)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12390)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12407)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12430)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12456)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12469)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12485)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12498)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12512)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12532)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12552)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12569)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12586)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12598)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12611)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12627)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12650)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12663)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12679)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12690)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12709)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12731)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12750)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12779)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12796)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12811)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12826)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12847)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12867)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12887)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12913)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12932)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12944)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12956)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12968)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12980)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12992)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13004)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13016)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13028)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13041)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13054)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13067)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13080)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13093)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13106)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13119)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13132)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13151)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13170)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13189)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13202)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13220)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13238)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13256)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13274)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13294)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12235)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13312)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13327)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13348)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13363)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13381)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13397)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13416)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13430)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13445)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12166)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13456)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12265)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12295)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13472)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13499)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13513)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12201)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13533)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13551)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13563)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13584)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13602)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13620)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13641)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13667)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13690)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13728)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13744)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13759)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13782)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13795)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13809)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13823)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13843)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13863)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13879)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13897)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13913)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13928)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,13950)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13968)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13989)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14007)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14020)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14035)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14049)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14059)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14069)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14091)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14117)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14144)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14157)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14172)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14187)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14211)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14222)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14244)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14266)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14290)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14299)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14307)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14320)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14334)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14346)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14355)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14365)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14377)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14388)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14396)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14408)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14423)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14435)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14449)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14474)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14491)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14507)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14523)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14535)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14547)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14571)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14584)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14598)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14620)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14627)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14643)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14660)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14677)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14693)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14709)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14726)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14740)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14752)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14763)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14776)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14786)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14803)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14815)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14837)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14857)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14870)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14892)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14912)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14929)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14946)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14966)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (20792|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $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) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } 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; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - 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 (3896|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($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, $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; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|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] = 10; - $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 ___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; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $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;$$1165168 = 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 = ((15083) + ($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;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((15083) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>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;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -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) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|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;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (15339 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((15083) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>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 = ((15083) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>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 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$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 = $168 | $166; - $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 = ((15083) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>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) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((15083) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|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 = ((15083) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>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 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|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) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|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 = ((15083) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((15083) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>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 = ((15083) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>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$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $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; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $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 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|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 = $265 ^ $$1158; - $286 = $263 ^ $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$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 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; - var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 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; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$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) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|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 & 15]($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 & 15]($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 _copysign($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = $3 & 2147483647; - $7 = $5 & -2147483648; - $8 = $7 | $6; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; - return (+$9); -} -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 _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|0); -} -function _vsprintf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_vsnprintf($0,2147483647,$1,$2)|0); - return ($3|0); -} -function _vsnprintf($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $4 = sp + 124|0; - $5 = sp; - dest=$5; src=4272; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $6 = (($1) + -1)|0; - $7 = ($6>>>0)>(2147483646); - if ($7) { - $8 = ($1|0)==(0); - if ($8) { - $$014 = $4;$$015 = 1; - label = 4; - } else { - $9 = (___errno_location()|0); - HEAP32[$9>>2] = 75; - $$0 = -1; - } - } else { - $$014 = $0;$$015 = $1; - label = 4; - } - if ((label|0) == 4) { - $10 = $$014; - $11 = (-2 - ($10))|0; - $12 = ($$015>>>0)>($11>>>0); - $$$015 = $12 ? $11 : $$015; - $13 = ((($5)) + 48|0); - HEAP32[$13>>2] = $$$015; - $14 = ((($5)) + 20|0); - HEAP32[$14>>2] = $$014; - $15 = ((($5)) + 44|0); - HEAP32[$15>>2] = $$014; - $16 = (($$014) + ($$$015)|0); - $17 = ((($5)) + 16|0); - HEAP32[$17>>2] = $16; - $18 = ((($5)) + 28|0); - HEAP32[$18>>2] = $16; - $19 = (_vfprintf($5,$2,$3)|0); - $20 = ($$$015|0)==(0); - if ($20) { - $$0 = $19; - } else { - $21 = HEAP32[$14>>2]|0; - $22 = HEAP32[$17>>2]|0; - $23 = ($21|0)==($22|0); - $24 = $23 << 31 >> 31; - $25 = (($21) + ($24)|0); - HEAP8[$25>>0] = 0; - $$0 = $19; - } - } - STACKTOP = sp;return ($$0|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); - $40 = $12; - } else { - $40 = 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 & 15]($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; - $39 = ($40|0)==(0); - if (!($39)) { - ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; - var $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, $123 = 0; - var $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, $141 = 0; - var $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, $16 = 0; - var $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, $178 = 0; - var $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, $196 = 0; - var $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, $214 = 0; - var $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, $232 = 0; - var $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, $250 = 0; - var $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, $269 = 0; - var $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, $287 = 0; - var $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, $305 = 0; - var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $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, $60 = 0, $61 = 0, $62 = 0; - var $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, $79 = 0, $8 = 0, $80 = 0; - var $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, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $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 = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $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($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); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } 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)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((15348 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15812;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15812;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 15812 : (15814); - $$$ = $238 ? $$ : (15813); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15812;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15812;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15822; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 15812;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (15812 + ($208)|0); - $$289 = $or$cond283 ? 15812 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15812;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$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) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } 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($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($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($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 = (15860 + ($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_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $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, $139 = 0; - var $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, $157 = 0; - var $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, $175 = 0; - var $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, $193 = 0; - var $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, $211 = 0; - var $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.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $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, $266 = 0; - var $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, $284 = 0; - var $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, $302 = 0; - var $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, $320 = 0; - var $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, $339 = 0; - var $34 = 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, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; - var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15829; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (15830) : (15835); - $$$ = $16 ? $$ : (15832); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (15860 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $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) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$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) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,15876,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,15876,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 15848 : 15852; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 17779 : 15856; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - 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 = (15878 + ($$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 = 15966;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 15966; - } else { - $$01214 = 15966;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $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 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function _sn_write($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 20|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6; - $8 = (($4) - ($7))|0; - $9 = ($8>>>0)>($2>>>0); - $$ = $9 ? $2 : $8; - _memcpy(($6|0),($1|0),($$|0))|0; - $10 = HEAP32[$5>>2]|0; - $11 = (($10) + ($$)|0); - HEAP32[$5>>2] = $11; - return ($2|0); -} -function ___floatscan($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 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.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; - var $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, $34 = 0; - var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0.0, $54 = 0.0, $55 = 0.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; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $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$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($1|0) { - case 0: { - $$0105$ph = -149;$$0106$ph = 24; - label = 4; - break; - } - case 1: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - case 2: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - default: { - $$0114 = 0.0; - } - } - L4: do { - if ((label|0) == 4) { - $3 = ((($0)) + 4|0); - $4 = ((($0)) + 100|0); - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5>>>0)<($6>>>0); - if ($7) { - $8 = ((($5)) + 1|0); - HEAP32[$3>>2] = $8; - $9 = HEAP8[$5>>0]|0; - $10 = $9&255; - $12 = $10; - } else { - $11 = (___shgetc($0)|0); - $12 = $11; - } - $13 = (_isspace($12)|0); - $14 = ($13|0)==(0); - if ($14) { - break; - } - } - L13: do { - switch ($12|0) { - case 43: case 45: { - $15 = ($12|0)==(45); - $16 = $15&1; - $17 = $16 << 1; - $18 = (1 - ($17))|0; - $19 = HEAP32[$3>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ($19>>>0)<($20>>>0); - if ($21) { - $22 = ((($19)) + 1|0); - HEAP32[$3>>2] = $22; - $23 = HEAP8[$19>>0]|0; - $24 = $23&255; - $$0 = $24;$$0113 = $18; - break L13; - } else { - $25 = (___shgetc($0)|0); - $$0 = $25;$$0113 = $18; - break L13; - } - break; - } - default: { - $$0 = $12;$$0113 = 1; - } - } - } while(0); - $$0107127 = 0;$$1128 = $$0; - while(1) { - $26 = $$1128 | 32; - $27 = (17770 + ($$0107127)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($26|0)==($29|0); - if (!($30)) { - $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; - break; - } - $31 = ($$0107127>>>0)<(7); - do { - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$4>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$3>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $$2 = $37; - break; - } else { - $38 = (___shgetc($0)|0); - $$2 = $38; - break; - } - } else { - $$2 = $$1128; - } - } while(0); - $39 = (($$0107127) + 1)|0; - $40 = ($39>>>0)<(8); - if ($40) { - $$0107127 = $39;$$1128 = $$2; - } else { - $$0107$lcssa = $39;$$1$lcssa = $$2; - break; - } - } - L29: do { - switch ($$0107$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $41 = ($$0107$lcssa>>>0)>(3); - $42 = ($2|0)!=(0); - $or$cond5 = $42 & $41; - if ($or$cond5) { - $43 = ($$0107$lcssa|0)==(8); - if ($43) { - break L29; - } else { - label = 23; - break L29; - } - } - $56 = ($$0107$lcssa|0)==(0); - L34: do { - if ($56) { - $$2109125 = 0;$$3126 = $$1$lcssa; - while(1) { - $57 = $$3126 | 32; - $58 = (17779 + ($$2109125)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($57|0)==($60|0); - if (!($61)) { - $$3110 = $$2109125;$$5 = $$3126; - break L34; - } - $62 = ($$2109125>>>0)<(2); - do { - if ($62) { - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$4>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$3>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $$4 = $68; - break; - } else { - $69 = (___shgetc($0)|0); - $$4 = $69; - break; - } - } else { - $$4 = $$3126; - } - } while(0); - $70 = (($$2109125) + 1)|0; - $71 = ($70>>>0)<(3); - if ($71) { - $$2109125 = $70;$$3126 = $$4; - } else { - $$3110 = $70;$$5 = $$4; - break; - } - } - } else { - $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; - } - } while(0); - switch ($$3110|0) { - case 3: { - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $80 = $77; - } else { - $78 = (___shgetc($0)|0); - $80 = $78; - } - $79 = ($80|0)==(40); - if ($79) { - $$4111 = 1; - } else { - $81 = HEAP32[$4>>2]|0; - $82 = ($81|0)==(0|0); - if ($82) { - $$0114 = nan; - break L4; - } - $83 = HEAP32[$3>>2]|0; - $84 = ((($83)) + -1|0); - HEAP32[$3>>2] = $84; - $$0114 = nan; - break L4; - } - while(1) { - $85 = HEAP32[$3>>2]|0; - $86 = HEAP32[$4>>2]|0; - $87 = ($85>>>0)<($86>>>0); - if ($87) { - $88 = ((($85)) + 1|0); - HEAP32[$3>>2] = $88; - $89 = HEAP8[$85>>0]|0; - $90 = $89&255; - $93 = $90; - } else { - $91 = (___shgetc($0)|0); - $93 = $91; - } - $92 = (($93) + -48)|0; - $94 = ($92>>>0)<(10); - $95 = (($93) + -65)|0; - $96 = ($95>>>0)<(26); - $or$cond = $94 | $96; - if (!($or$cond)) { - $97 = (($93) + -97)|0; - $98 = ($97>>>0)<(26); - $99 = ($93|0)==(95); - $or$cond7 = $99 | $98; - if (!($or$cond7)) { - break; - } - } - $111 = (($$4111) + 1)|0; - $$4111 = $111; - } - $100 = ($93|0)==(41); - if ($100) { - $$0114 = nan; - break L4; - } - $101 = HEAP32[$4>>2]|0; - $102 = ($101|0)==(0|0); - if (!($102)) { - $103 = HEAP32[$3>>2]|0; - $104 = ((($103)) + -1|0); - HEAP32[$3>>2] = $104; - } - if (!($42)) { - $106 = (___errno_location()|0); - HEAP32[$106>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - $105 = ($$4111|0)==(0); - if ($105) { - $$0114 = nan; - break L4; - } else { - $$in = $$4111; - } - while(1) { - $107 = (($$in) + -1)|0; - if (!($102)) { - $108 = HEAP32[$3>>2]|0; - $109 = ((($108)) + -1|0); - HEAP32[$3>>2] = $109; - } - $110 = ($107|0)==(0); - if ($110) { - $$0114 = nan; - break L4; - } else { - $$in = $107; - } - } - break; - } - case 0: { - $117 = ($$5|0)==(48); - if ($117) { - $118 = HEAP32[$3>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = ($118>>>0)<($119>>>0); - if ($120) { - $121 = ((($118)) + 1|0); - HEAP32[$3>>2] = $121; - $122 = HEAP8[$118>>0]|0; - $123 = $122&255; - $126 = $123; - } else { - $124 = (___shgetc($0)|0); - $126 = $124; - } - $125 = $126 | 32; - $127 = ($125|0)==(120); - if ($127) { - $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $128; - break L4; - } - $129 = HEAP32[$4>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$6 = 48; - } else { - $131 = HEAP32[$3>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$3>>2] = $132; - $$6 = 48; - } - } else { - $$6 = $$5; - } - $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $133; - break L4; - break; - } - default: { - $112 = HEAP32[$4>>2]|0; - $113 = ($112|0)==(0|0); - if (!($113)) { - $114 = HEAP32[$3>>2]|0; - $115 = ((($114)) + -1|0); - HEAP32[$3>>2] = $115; - } - $116 = (___errno_location()|0); - HEAP32[$116>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $44 = HEAP32[$4>>2]|0; - $45 = ($44|0)==(0|0); - if (!($45)) { - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + -1|0); - HEAP32[$3>>2] = $47; - } - $48 = ($2|0)!=(0); - $49 = ($$0107$lcssa>>>0)>(3); - $or$cond9 = $48 & $49; - if ($or$cond9) { - $$1108 = $$0107$lcssa; - while(1) { - if (!($45)) { - $50 = HEAP32[$3>>2]|0; - $51 = ((($50)) + -1|0); - HEAP32[$3>>2] = $51; - } - $52 = (($$1108) + -1)|0; - $$old8 = ($52>>>0)>(3); - if ($$old8) { - $$1108 = $52; - } else { - break; - } - } - } - } - $53 = (+($$0113|0)); - $54 = $53 * inf; - $55 = $54; - $$0114 = $55; - } - } while(0); - return (+$$0114); -} -function _hexfloat($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; - var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; - var $$pre = 0.0, $$pre$phiZ2D = 0.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, $113 = 0, $114 = 0, $115 = 0; - var $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, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.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.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0.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, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; - var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $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, $47 = 0, $48 = 0, $49 = 0; - var $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.0, $67 = 0.0; - var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.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; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; - var $or$cond6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 100|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12;$$0142 = 0; - } else { - $13 = (___shgetc($0)|0); - $$0 = $13;$$0142 = 0; - } - L4: while(1) { - switch ($$0|0) { - case 46: { - label = 8; - break L4; - break; - } - case 48: { - break; - } - default: { - $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - break L4; - } - } - $14 = HEAP32[$5>>2]|0; - $15 = HEAP32[$7>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$5>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $$0 = $19;$$0142 = 1; - continue; - } else { - $20 = (___shgetc($0)|0); - $$0 = $20;$$0142 = 1; - continue; - } - } - if ((label|0) == 8) { - $21 = HEAP32[$5>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$5>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$1$ph = $26; - } else { - $27 = (___shgetc($0)|0); - $$1$ph = $27; - } - $28 = ($$1$ph|0)==(48); - if ($28) { - $36 = 0;$37 = 0; - while(1) { - $29 = HEAP32[$5>>2]|0; - $30 = HEAP32[$7>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$5>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $41 = $34; - } else { - $35 = (___shgetc($0)|0); - $41 = $35; - } - $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); - $39 = tempRet0; - $40 = ($41|0)==(48); - if ($40) { - $36 = $38;$37 = $39; - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; - break; - } - } - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - } - } - while(1) { - $42 = (($$2) + -48)|0; - $43 = ($42>>>0)<(10); - $44 = ($$2|0)==(46); - if (!($43)) { - $45 = $$2 | 32; - $46 = (($45) + -97)|0; - $47 = ($46>>>0)<(6); - $or$cond6 = $44 | $47; - if (!($or$cond6)) { - $$2$lcssa = $$2; - break; - } - } - if ($44) { - $48 = ($$0146|0)==(0); - if ($48) { - $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; - } else { - $$2$lcssa = 46; - break; - } - } else { - $49 = ($$2|0)>(57); - $50 = $$2 | 32; - $51 = (($50) + -87)|0; - $$0133 = $49 ? $51 : $42; - $52 = ($53|0)<(0); - $54 = ($55>>>0)<(8); - $56 = ($53|0)==(0); - $57 = $56 & $54; - $58 = $52 | $57; - do { - if ($58) { - $59 = $$0159 << 4; - $60 = (($$0133) + ($59))|0; - $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; - } else { - $61 = ($53|0)<(0); - $62 = ($55>>>0)<(14); - $63 = ($53|0)==(0); - $64 = $63 & $62; - $65 = $61 | $64; - if ($65) { - $66 = (+($$0133|0)); - $67 = $$0152 * 0.0625; - $68 = $67 * $66; - $69 = $$0155 + $68; - $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; - break; - } else { - $70 = ($$0133|0)==(0); - $71 = ($$0148|0)!=(0); - $or$cond = $71 | $70; - $72 = $$0152 * 0.5; - $73 = $$0155 + $72; - $$0155$ = $or$cond ? $$0155 : $73; - $$0148$ = $or$cond ? $$0148 : 1; - $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; - break; - } - } - } while(0); - $74 = (_i64Add(($55|0),($53|0),1,0)|0); - $75 = tempRet0; - $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; - } - $76 = HEAP32[$5>>2]|0; - $77 = HEAP32[$7>>2]|0; - $78 = ($76>>>0)<($77>>>0); - if ($78) { - $79 = ((($76)) + 1|0); - HEAP32[$5>>2] = $79; - $80 = HEAP8[$76>>0]|0; - $81 = $80&255; - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } else { - $82 = (___shgetc($0)|0); - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } - } - $83 = ($$2144|0)==(0); - do { - if ($83) { - $84 = HEAP32[$7>>2]|0; - $85 = ($84|0)!=(0|0); - if ($85) { - $86 = HEAP32[$5>>2]|0; - $87 = ((($86)) + -1|0); - HEAP32[$5>>2] = $87; - } - $88 = ($4|0)==(0); - if ($88) { - ___shlim($0,0); - } else { - if ($85) { - $89 = HEAP32[$5>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$5>>2] = $90; - } - $91 = ($$0146|0)==(0); - $92 = ($84|0)==(0|0); - $or$cond206 = $91 | $92; - if (!($or$cond206)) { - $93 = HEAP32[$5>>2]|0; - $94 = ((($93)) + -1|0); - HEAP32[$5>>2] = $94; - } - } - $95 = (+($3|0)); - $96 = $95 * 0.0; - $$0165 = $96; - } else { - $97 = ($$0146|0)==(0); - $98 = $97 ? $55 : $99; - $100 = $97 ? $53 : $101; - $102 = ($53|0)<(0); - $103 = ($55>>>0)<(8); - $104 = ($53|0)==(0); - $105 = $104 & $103; - $106 = $102 | $105; - if ($106) { - $$3162183 = $$0159;$108 = $55;$109 = $53; - while(1) { - $107 = $$3162183 << 4; - $110 = (_i64Add(($108|0),($109|0),1,0)|0); - $111 = tempRet0; - $112 = ($111|0)<(0); - $113 = ($110>>>0)<(8); - $114 = ($111|0)==(0); - $115 = $114 & $113; - $116 = $112 | $115; - if ($116) { - $$3162183 = $107;$108 = $110;$109 = $111; - } else { - $$3162$lcssa = $107; - break; - } - } - } else { - $$3162$lcssa = $$0159; - } - $117 = $$2$lcssa | 32; - $118 = ($117|0)==(112); - if ($118) { - $119 = (_scanexp($0,$4)|0); - $120 = tempRet0; - $121 = ($119|0)==(0); - $122 = ($120|0)==(-2147483648); - $123 = $121 & $122; - if ($123) { - $124 = ($4|0)==(0); - if ($124) { - ___shlim($0,0); - $$0165 = 0.0; - break; - } - $125 = HEAP32[$7>>2]|0; - $126 = ($125|0)==(0|0); - if ($126) { - $137 = 0;$138 = 0; - } else { - $127 = HEAP32[$5>>2]|0; - $128 = ((($127)) + -1|0); - HEAP32[$5>>2] = $128; - $137 = 0;$138 = 0; - } - } else { - $137 = $119;$138 = $120; - } - } else { - $129 = HEAP32[$7>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $137 = 0;$138 = 0; - } else { - $131 = HEAP32[$5>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$5>>2] = $132; - $137 = 0;$138 = 0; - } - } - $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); - $134 = tempRet0; - $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); - $136 = tempRet0; - $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); - $140 = tempRet0; - $141 = ($$3162$lcssa|0)==(0); - if ($141) { - $142 = (+($3|0)); - $143 = $142 * 0.0; - $$0165 = $143; - break; - } - $144 = (0 - ($2))|0; - $145 = ($144|0)<(0); - $146 = $145 << 31 >> 31; - $147 = ($140|0)>($146|0); - $148 = ($139>>>0)>($144>>>0); - $149 = ($140|0)==($146|0); - $150 = $149 & $148; - $151 = $147 | $150; - if ($151) { - $152 = (___errno_location()|0); - HEAP32[$152>>2] = 34; - $153 = (+($3|0)); - $154 = $153 * 1.7976931348623157E+308; - $155 = $154 * 1.7976931348623157E+308; - $$0165 = $155; - break; - } - $156 = (($2) + -106)|0; - $157 = ($156|0)<(0); - $158 = $157 << 31 >> 31; - $159 = ($140|0)<($158|0); - $160 = ($139>>>0)<($156>>>0); - $161 = ($140|0)==($158|0); - $162 = $161 & $160; - $163 = $159 | $162; - if ($163) { - $165 = (___errno_location()|0); - HEAP32[$165>>2] = 34; - $166 = (+($3|0)); - $167 = $166 * 2.2250738585072014E-308; - $168 = $167 * 2.2250738585072014E-308; - $$0165 = $168; - break; - } - $164 = ($$3162$lcssa|0)>(-1); - if ($164) { - $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; - while(1) { - $169 = !($$3158179 >= 0.5); - $170 = $$4163178 << 1; - $171 = $$3158179 + -1.0; - $not$ = $169 ^ 1; - $172 = $not$&1; - $$5164 = $170 | $172; - $$pn = $169 ? $$3158179 : $171; - $$4 = $$3158179 + $$pn; - $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); - $176 = tempRet0; - $177 = ($$5164|0)>(-1); - if ($177) { - $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; - } else { - $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; - break; - } - } - } else { - $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; - } - $178 = ($1|0)<(0); - $179 = $178 << 31 >> 31; - $180 = ($2|0)<(0); - $181 = $180 << 31 >> 31; - $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); - $183 = tempRet0; - $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); - $187 = tempRet0; - $188 = ($179|0)>($187|0); - $189 = ($1>>>0)>($186>>>0); - $190 = ($179|0)==($187|0); - $191 = $190 & $189; - $192 = $188 | $191; - if ($192) { - $193 = ($186|0)>(0); - if ($193) { - $$0166 = $186; - label = 59; - } else { - $$0166170 = 0;$197 = 84; - label = 61; - } - } else { - $$0166 = $1; - label = 59; - } - if ((label|0) == 59) { - $194 = ($$0166|0)<(53); - $195 = (84 - ($$0166))|0; - if ($194) { - $$0166170 = $$0166;$197 = $195; - label = 61; - } else { - $$pre = (+($3|0)); - $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; - } - } - if ((label|0) == 61) { - $196 = (+($3|0)); - $198 = (+_scalbn(1.0,$197)); - $199 = (+_copysignl($198,$196)); - $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; - } - $200 = ($$0166169|0)<(32); - $201 = $$3158$lcssa != 0.0; - $or$cond4 = $201 & $200; - $202 = $$4163$lcssa & 1; - $203 = ($202|0)==(0); - $or$cond168 = $203 & $or$cond4; - $204 = $or$cond168&1; - $$6 = (($204) + ($$4163$lcssa))|0; - $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; - $205 = (+($$6>>>0)); - $206 = $$pre$phiZ2D * $205; - $207 = $$0151 + $206; - $208 = $$pre$phiZ2D * $$5; - $209 = $208 + $207; - $210 = $209 - $$0151; - $211 = $210 != 0.0; - if (!($211)) { - $212 = (___errno_location()|0); - HEAP32[$212>>2] = 34; - } - $213 = (+_scalbnl($210,$184)); - $$0165 = $213; - } - } while(0); - return (+$$0165); -} -function _decfloat($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; - var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; - var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; - var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; - var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; - var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; - var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $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, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 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; - var $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, $79 = 0; - var $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, $97 = 0; - var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); - $6 = sp; - $sum = (($3) + ($2))|0; - $7 = (0 - ($sum))|0; - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 100|0); - $$0329 = $1;$$0396 = 0; - L1: while(1) { - switch ($$0329|0) { - case 46: { - label = 6; - break L1; - break; - } - case 48: { - break; - } - default: { - $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; - break L1; - } - } - $10 = HEAP32[$8>>2]|0; - $11 = HEAP32[$9>>2]|0; - $12 = ($10>>>0)<($11>>>0); - if ($12) { - $13 = ((($10)) + 1|0); - HEAP32[$8>>2] = $13; - $14 = HEAP8[$10>>0]|0; - $15 = $14&255; - $$0329 = $15;$$0396 = 1; - continue; - } else { - $16 = (___shgetc($0)|0); - $$0329 = $16;$$0396 = 1; - continue; - } - } - if ((label|0) == 6) { - $17 = HEAP32[$8>>2]|0; - $18 = HEAP32[$9>>2]|0; - $19 = ($17>>>0)<($18>>>0); - if ($19) { - $20 = ((($17)) + 1|0); - HEAP32[$8>>2] = $20; - $21 = HEAP8[$17>>0]|0; - $22 = $21&255; - $$1330$ph = $22; - } else { - $23 = (___shgetc($0)|0); - $$1330$ph = $23; - } - $24 = ($$1330$ph|0)==(48); - if ($24) { - $25 = 0;$26 = 0; - while(1) { - $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); - $28 = tempRet0; - $29 = HEAP32[$8>>2]|0; - $30 = HEAP32[$9>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$8>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $$1330$be = $34; - } else { - $35 = (___shgetc($0)|0); - $$1330$be = $35; - } - $36 = ($$1330$be|0)==(48); - if ($36) { - $25 = $27;$26 = $28; - } else { - $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; - break; - } - } - } else { - $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; - } - } - HEAP32[$6>>2] = 0; - $37 = (($$2) + -48)|0; - $38 = ($37>>>0)<(10); - $39 = ($$2|0)==(46); - $40 = $39 | $38; - L20: do { - if ($40) { - $41 = ((($6)) + 496|0); - $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; - L22: while(1) { - do { - if ($368) { - $cond = ($$1394511|0)==(0); - if ($cond) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; - } else { - break L22; - } - } else { - $43 = ($$0345512|0)<(125); - $46 = (_i64Add(($44|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = ($$3514|0)!=(48); - if (!($43)) { - if (!($48)) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $57 = HEAP32[$41>>2]|0; - $58 = $57 | 1; - HEAP32[$41>>2] = $58; - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $$$0401 = $48 ? $46 : $$0401509; - $49 = ($$0341513|0)==(0); - $$pre = (($6) + ($$0345512<<2)|0); - if ($49) { - $$sink = $369; - } else { - $50 = HEAP32[$$pre>>2]|0; - $51 = ($50*10)|0; - $52 = (($$3514) + -48)|0; - $53 = (($52) + ($51))|0; - $$sink = $53; - } - HEAP32[$$pre>>2] = $$sink; - $54 = (($$0341513) + 1)|0; - $55 = ($54|0)==(9); - $56 = $55&1; - $$$0345 = (($56) + ($$0345512))|0; - $$413 = $55 ? 0 : $54; - $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - } - } while(0); - $59 = HEAP32[$8>>2]|0; - $60 = HEAP32[$9>>2]|0; - $61 = ($59>>>0)<($60>>>0); - if ($61) { - $62 = ((($59)) + 1|0); - HEAP32[$8>>2] = $62; - $63 = HEAP8[$59>>0]|0; - $64 = $63&255; - $$3$be = $64; - } else { - $65 = (___shgetc($0)|0); - $$3$be = $65; - } - $66 = (($$3$be) + -48)|0; - $67 = ($66>>>0)<(10); - $68 = ($$3$be|0)==(46); - $69 = $68 | $67; - if ($69) { - $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; - } else { - $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; - label = 29; - break L20; - } - } - $42 = ($$3399510|0)!=(0); - $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; - label = 37; - } else { - $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; - label = 29; - } - } while(0); - do { - if ((label|0) == 29) { - $70 = ($$1394$lcssa|0)==(0); - $71 = $70 ? $73 : $72; - $74 = $70 ? $76 : $75; - $77 = ($$3399$lcssa|0)!=(0); - $78 = $$3$lcssa | 32; - $79 = ($78|0)==(101); - $or$cond415 = $77 & $79; - if (!($or$cond415)) { - $94 = ($$3$lcssa|0)>(-1); - if ($94) { - $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; - label = 37; - break; - } else { - $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; - label = 39; - break; - } - } - $80 = (_scanexp($0,$5)|0); - $81 = tempRet0; - $82 = ($80|0)==(0); - $83 = ($81|0)==(-2147483648); - $84 = $82 & $83; - if ($84) { - $85 = ($5|0)==(0); - if ($85) { - ___shlim($0,0); - $$1 = 0.0; - break; - } - $86 = HEAP32[$9>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - $90 = 0;$91 = 0; - } else { - $88 = HEAP32[$8>>2]|0; - $89 = ((($88)) + -1|0); - HEAP32[$8>>2] = $89; - $90 = 0;$91 = 0; - } - } else { - $90 = $80;$91 = $81; - } - $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); - $93 = tempRet0; - $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; - label = 41; - } - } while(0); - if ((label|0) == 37) { - $95 = HEAP32[$9>>2]|0; - $96 = ($95|0)==(0|0); - if ($96) { - $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; - label = 39; - } else { - $97 = HEAP32[$8>>2]|0; - $98 = ((($97)) + -1|0); - HEAP32[$8>>2] = $98; - if ($380) { - $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; - label = 41; - } else { - label = 40; - } - } - } - if ((label|0) == 39) { - if ($383) { - $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; - label = 41; - } else { - label = 40; - } - } - do { - if ((label|0) == 40) { - $99 = (___errno_location()|0); - HEAP32[$99>>2] = 22; - ___shlim($0,0); - $$1 = 0.0; - } - else if ((label|0) == 41) { - $100 = HEAP32[$6>>2]|0; - $101 = ($100|0)==(0); - if ($101) { - $102 = (+($4|0)); - $103 = $102 * 0.0; - $$1 = $103; - break; - } - $104 = ($105|0)==($106|0); - $107 = ($108|0)==($109|0); - $110 = $104 & $107; - $111 = ($109|0)<(0); - $112 = ($106>>>0)<(10); - $113 = ($109|0)==(0); - $114 = $113 & $112; - $115 = $111 | $114; - $or$cond = $115 & $110; - if ($or$cond) { - $116 = ($2|0)>(30); - $117 = $100 >>> $2; - $118 = ($117|0)==(0); - $or$cond417 = $116 | $118; - if ($or$cond417) { - $119 = (+($4|0)); - $120 = (+($100>>>0)); - $121 = $119 * $120; - $$1 = $121; - break; - } - } - $122 = (($3|0) / -2)&-1; - $123 = ($122|0)<(0); - $124 = $123 << 31 >> 31; - $125 = ($108|0)>($124|0); - $126 = ($105>>>0)>($122>>>0); - $127 = ($108|0)==($124|0); - $128 = $127 & $126; - $129 = $125 | $128; - if ($129) { - $130 = (___errno_location()|0); - HEAP32[$130>>2] = 34; - $131 = (+($4|0)); - $132 = $131 * 1.7976931348623157E+308; - $133 = $132 * 1.7976931348623157E+308; - $$1 = $133; - break; - } - $134 = (($3) + -106)|0; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = ($108|0)<($136|0); - $138 = ($105>>>0)<($134>>>0); - $139 = ($108|0)==($136|0); - $140 = $139 & $138; - $141 = $137 | $140; - if ($141) { - $142 = (___errno_location()|0); - HEAP32[$142>>2] = 34; - $143 = (+($4|0)); - $144 = $143 * 2.2250738585072014E-308; - $145 = $144 * 2.2250738585072014E-308; - $$1 = $145; - break; - } - $146 = ($$0341463|0)==(0); - if ($146) { - $$3348 = $$0345467; - } else { - $147 = ($$0341463|0)<(9); - if ($147) { - $148 = (($6) + ($$0345467<<2)|0); - $$promoted = HEAP32[$148>>2]|0; - $$3344503 = $$0341463;$150 = $$promoted; - while(1) { - $149 = ($150*10)|0; - $151 = (($$3344503) + 1)|0; - $exitcond551 = ($151|0)==(9); - if ($exitcond551) { - break; - } else { - $$3344503 = $151;$150 = $149; - } - } - HEAP32[$148>>2] = $149; - } - $152 = (($$0345467) + 1)|0; - $$3348 = $152; - } - $153 = ($$0401473|0)<(9); - if ($153) { - $154 = ($$0401473|0)<=($105|0); - $155 = ($105|0)<(18); - $or$cond5 = $154 & $155; - if ($or$cond5) { - $156 = ($105|0)==(9); - $157 = HEAP32[$6>>2]|0; - if ($156) { - $158 = (+($4|0)); - $159 = (+($157>>>0)); - $160 = $158 * $159; - $$1 = $160; - break; - } - $161 = ($105|0)<(9); - if ($161) { - $162 = (+($4|0)); - $163 = (+($157>>>0)); - $164 = $162 * $163; - $165 = (8 - ($105))|0; - $166 = (4396 + ($165<<2)|0); - $167 = HEAP32[$166>>2]|0; - $168 = (+($167|0)); - $169 = $164 / $168; - $$1 = $169; - break; - } - $$neg442 = Math_imul($105, -3)|0; - $$neg443 = (($2) + 27)|0; - $170 = (($$neg443) + ($$neg442))|0; - $171 = ($170|0)>(30); - $172 = $157 >>> $170; - $173 = ($172|0)==(0); - $or$cond419 = $171 | $173; - if ($or$cond419) { - $174 = (($105) + -10)|0; - $175 = (4396 + ($174<<2)|0); - $176 = (+($4|0)); - $177 = (+($157>>>0)); - $178 = $176 * $177; - $179 = HEAP32[$175>>2]|0; - $180 = (+($179|0)); - $181 = $178 * $180; - $$1 = $181; - break; - } - } - } - $182 = (($105|0) % 9)&-1; - $183 = ($182|0)==(0); - if ($183) { - $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; - } else { - $184 = ($105|0)>(-1); - $185 = (($182) + 9)|0; - $186 = $184 ? $182 : $185; - $187 = (8 - ($186))|0; - $188 = (4396 + ($187<<2)|0); - $189 = HEAP32[$188>>2]|0; - $190 = ($$3348|0)==(0); - if ($190) { - $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; - } else { - $191 = (1000000000 / ($189|0))&-1; - $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; - while(1) { - $192 = (($6) + ($$4349495<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193>>>0) % ($189>>>0))&-1; - $195 = (($193>>>0) / ($189>>>0))&-1; - $196 = (($195) + ($$0340496))|0; - HEAP32[$192>>2] = $196; - $197 = Math_imul($191, $194)|0; - $198 = ($$4349495|0)==($$0350494|0); - $199 = ($196|0)==(0); - $or$cond420 = $198 & $199; - $200 = (($$0350494) + 1)|0; - $201 = $200 & 127; - $202 = (($$0385493) + -9)|0; - $$$0385 = $or$cond420 ? $202 : $$0385493; - $$$0350 = $or$cond420 ? $201 : $$0350494; - $203 = (($$4349495) + 1)|0; - $204 = ($203|0)==($$3348|0); - if ($204) { - break; - } else { - $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; - } - } - $205 = ($197|0)==(0); - if ($205) { - $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; - } else { - $206 = (($6) + ($$3348<<2)|0); - $207 = (($$3348) + 1)|0; - HEAP32[$206>>2] = $197; - $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; - } - } - $208 = (9 - ($186))|0; - $209 = (($208) + ($$0385$lcssa553))|0; - $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; - } - L101: while(1) { - $210 = ($$2387$ph447|0)<(18); - $211 = ($$2387$ph447|0)==(18); - $212 = (($6) + ($$2352$ph449<<2)|0); - $$0380 = $$0380$ph;$$1373 = $$1373$ph448; - while(1) { - if (!($210)) { - if (!($211)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; - break L101; - } - $213 = HEAP32[$212>>2]|0; - $214 = ($213>>>0)<(9007199); - if (!($214)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; - break L101; - } - } - $215 = (($$1373) + 127)|0; - $$0334 = 0;$$2374 = $$1373;$$5$in = $215; - while(1) { - $$5 = $$5$in & 127; - $216 = (($6) + ($$5<<2)|0); - $217 = HEAP32[$216>>2]|0; - $218 = (_bitshift64Shl(($217|0),0,29)|0); - $219 = tempRet0; - $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); - $221 = tempRet0; - $222 = ($221>>>0)>(0); - $223 = ($220>>>0)>(1000000000); - $224 = ($221|0)==(0); - $225 = $224 & $223; - $226 = $222 | $225; - if ($226) { - $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); - $228 = tempRet0; - $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); - $230 = tempRet0; - $$1335 = $227;$$sink421$off0 = $229; - } else { - $$1335 = 0;$$sink421$off0 = $220; - } - HEAP32[$216>>2] = $$sink421$off0; - $231 = (($$2374) + 127)|0; - $232 = $231 & 127; - $233 = ($$5|0)!=($232|0); - $234 = ($$5|0)==($$2352$ph449|0); - $or$cond422 = $233 | $234; - $or$cond422$not = $or$cond422 ^ 1; - $235 = ($$sink421$off0|0)==(0); - $or$cond423 = $235 & $or$cond422$not; - $$3375 = $or$cond423 ? $$5 : $$2374; - $236 = (($$5) + -1)|0; - if ($234) { - break; - } else { - $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; - } - } - $237 = (($$0380) + -29)|0; - $238 = ($$1335|0)==(0); - if ($238) { - $$0380 = $237;$$1373 = $$3375; - } else { - break; - } - } - $239 = (($$2387$ph447) + 9)|0; - $240 = (($$2352$ph449) + 127)|0; - $241 = $240 & 127; - $242 = ($241|0)==($$3375|0); - $243 = (($$3375) + 127)|0; - $244 = $243 & 127; - $245 = (($$3375) + 126)|0; - $246 = $245 & 127; - $247 = (($6) + ($246<<2)|0); - if ($242) { - $248 = (($6) + ($244<<2)|0); - $249 = HEAP32[$248>>2]|0; - $250 = HEAP32[$247>>2]|0; - $251 = $250 | $249; - HEAP32[$247>>2] = $251; - $$4376 = $244; - } else { - $$4376 = $$3375; - } - $252 = (($6) + ($241<<2)|0); - HEAP32[$252>>2] = $$1335; - $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; - } - L119: while(1) { - $289 = (($$6378$ph) + 1)|0; - $287 = $289 & 127; - $290 = (($$6378$ph) + 127)|0; - $291 = $290 & 127; - $292 = (($6) + ($291<<2)|0); - $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; - while(1) { - $265 = ($$4389$ph|0)==(18); - $293 = ($$4389$ph|0)>(27); - $$425 = $293 ? 9 : 1; - $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; - while(1) { - $$0336486 = 0; - while(1) { - $253 = (($$0336486) + ($$4354))|0; - $254 = $253 & 127; - $255 = ($254|0)==($$6378$ph|0); - if ($255) { - $$1337 = 2; - label = 88; - break; - } - $256 = (($6) + ($254<<2)|0); - $257 = HEAP32[$256>>2]|0; - $258 = (4428 + ($$0336486<<2)|0); - $259 = HEAP32[$258>>2]|0; - $260 = ($257>>>0)<($259>>>0); - if ($260) { - $$1337 = 2; - label = 88; - break; - } - $261 = ($257>>>0)>($259>>>0); - if ($261) { - break; - } - $262 = (($$0336486) + 1)|0; - $263 = ($262|0)<(2); - if ($263) { - $$0336486 = $262; - } else { - $$1337 = $262; - label = 88; - break; - } - } - if ((label|0) == 88) { - label = 0; - $264 = ($$1337|0)==(2); - $or$cond11 = $265 & $264; - if ($or$cond11) { - $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; - break L119; - } - } - $266 = (($$425) + ($$1381))|0; - $267 = ($$4354|0)==($$6378$ph|0); - if ($267) { - $$1381 = $266;$$4354 = $$6378$ph; - } else { - break; - } - } - $268 = 1 << $$425; - $269 = (($268) + -1)|0; - $270 = 1000000000 >>> $$425; - $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; - while(1) { - $271 = (($6) + ($$6489<<2)|0); - $272 = HEAP32[$271>>2]|0; - $273 = $272 & $269; - $274 = $272 >>> $$425; - $275 = (($274) + ($$0332490))|0; - HEAP32[$271>>2] = $275; - $276 = Math_imul($273, $270)|0; - $277 = ($$6489|0)==($$5355488|0); - $278 = ($275|0)==(0); - $or$cond426 = $277 & $278; - $279 = (($$5355488) + 1)|0; - $280 = $279 & 127; - $281 = (($$5390487) + -9)|0; - $$$5390 = $or$cond426 ? $281 : $$5390487; - $$$5355 = $or$cond426 ? $280 : $$5355488; - $282 = (($$6489) + 1)|0; - $283 = $282 & 127; - $284 = ($283|0)==($$6378$ph|0); - if ($284) { - break; - } else { - $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; - } - } - $285 = ($276|0)==(0); - if ($285) { - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - continue; - } - $286 = ($287|0)==($$$5355|0); - if (!($286)) { - break; - } - $294 = HEAP32[$292>>2]|0; - $295 = $294 | 1; - HEAP32[$292>>2] = $295; - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - } - $288 = (($6) + ($$6378$ph<<2)|0); - HEAP32[$288>>2] = $276; - $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; - } - while(1) { - $296 = (($$4485) + ($$4354))|0; - $297 = $296 & 127; - $298 = ($297|0)==($$9483|0); - $299 = (($$9483) + 1)|0; - $300 = $299 & 127; - if ($298) { - $301 = (($300) + -1)|0; - $302 = (($6) + ($301<<2)|0); - HEAP32[$302>>2] = 0; - $$10 = $300; - } else { - $$10 = $$9483; - } - $303 = $$0365484 * 1.0E+9; - $304 = (($6) + ($297<<2)|0); - $305 = HEAP32[$304>>2]|0; - $306 = (+($305>>>0)); - $307 = $303 + $306; - $308 = (($$4485) + 1)|0; - $exitcond = ($308|0)==(2); - if ($exitcond) { - break; - } else { - $$0365484 = $307;$$4485 = $308;$$9483 = $$10; - } - } - $309 = (+($4|0)); - $310 = $309 * $307; - $311 = (($$1381) + 53)|0; - $312 = (($311) - ($3))|0; - $313 = ($312|0)<($2|0); - $314 = ($312|0)>(0); - $$ = $314 ? $312 : 0; - $$0333 = $313 ? $$ : $2; - $315 = ($$0333|0)<(53); - if ($315) { - $316 = (105 - ($$0333))|0; - $317 = (+_scalbn(1.0,$316)); - $318 = (+_copysignl($317,$310)); - $319 = (53 - ($$0333))|0; - $320 = (+_scalbn(1.0,$319)); - $321 = (+_fmodl($310,$320)); - $322 = $310 - $321; - $323 = $318 + $322; - $$0360 = $318;$$0361 = $321;$$1366 = $323; - } else { - $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; - } - $324 = (($$4354) + 2)|0; - $325 = $324 & 127; - $326 = ($325|0)==($$10|0); - if ($326) { - $$3364 = $$0361; - } else { - $327 = (($6) + ($325<<2)|0); - $328 = HEAP32[$327>>2]|0; - $329 = ($328>>>0)<(500000000); - do { - if ($329) { - $330 = ($328|0)==(0); - if ($330) { - $331 = (($$4354) + 3)|0; - $332 = $331 & 127; - $333 = ($332|0)==($$10|0); - if ($333) { - $$1362 = $$0361; - break; - } - } - $334 = $309 * 0.25; - $335 = $334 + $$0361; - $$1362 = $335; - } else { - $336 = ($328|0)==(500000000); - if (!($336)) { - $337 = $309 * 0.75; - $338 = $337 + $$0361; - $$1362 = $338; - break; - } - $339 = (($$4354) + 3)|0; - $340 = $339 & 127; - $341 = ($340|0)==($$10|0); - if ($341) { - $342 = $309 * 0.5; - $343 = $342 + $$0361; - $$1362 = $343; - break; - } else { - $344 = $309 * 0.75; - $345 = $344 + $$0361; - $$1362 = $345; - break; - } - } - } while(0); - $346 = (53 - ($$0333))|0; - $347 = ($346|0)>(1); - if ($347) { - $348 = (+_fmodl($$1362,1.0)); - $349 = $348 != 0.0; - if ($349) { - $$3364 = $$1362; - } else { - $350 = $$1362 + 1.0; - $$3364 = $350; - } - } else { - $$3364 = $$1362; - } - } - $351 = $$1366 + $$3364; - $352 = $351 - $$0360; - $353 = $311 & 2147483647; - $354 = (-2 - ($sum))|0; - $355 = ($353|0)>($354|0); - do { - if ($355) { - $356 = (+Math_abs((+$352))); - $357 = !($356 >= 9007199254740992.0); - $358 = $352 * 0.5; - $not$ = $357 ^ 1; - $359 = $not$&1; - $$3383 = (($359) + ($$1381))|0; - $$2367 = $357 ? $352 : $358; - $360 = (($$3383) + 50)|0; - $361 = ($360|0)>($7|0); - if (!($361)) { - $362 = ($$0333|0)!=($312|0); - $narrow = $362 | $357; - $$2371$v = $313 & $narrow; - $363 = $$3364 != 0.0; - $or$cond14 = $363 & $$2371$v; - if (!($or$cond14)) { - $$3368 = $$2367;$$4384 = $$3383; - break; - } - } - $364 = (___errno_location()|0); - HEAP32[$364>>2] = 34; - $$3368 = $$2367;$$4384 = $$3383; - } else { - $$3368 = $352;$$4384 = $$1381; - } - } while(0); - $365 = (+_scalbnl($$3368,$$4384)); - $$1 = $365; - } - } while(0); - STACKTOP = sp;return (+$$1); -} -function _scanexp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $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, $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, $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; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $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$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 100|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - $7 = ((($3)) + 1|0); - HEAP32[$2>>2] = $7; - $8 = HEAP8[$3>>0]|0; - $9 = $8&255; - $11 = $9; - } else { - $10 = (___shgetc($0)|0); - $11 = $10; - } - switch ($11|0) { - case 43: case 45: { - $12 = ($11|0)==(45); - $13 = $12&1; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$2>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $22 = $19; - } else { - $20 = (___shgetc($0)|0); - $22 = $20; - } - $21 = (($22) + -48)|0; - $23 = ($21>>>0)>(9); - $24 = ($1|0)!=(0); - $or$cond3 = $24 & $23; - if ($or$cond3) { - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - $$0 = $13;$$049 = $22; - } else { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + -1|0); - HEAP32[$2>>2] = $28; - $$0 = $13;$$049 = $22; - } - } else { - $$0 = $13;$$049 = $22; - } - break; - } - default: { - $$0 = 0;$$049 = $11; - } - } - $29 = (($$049) + -48)|0; - $30 = ($29>>>0)>(9); - if ($30) { - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { - $100 = -2147483648;$101 = 0; - } else { - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + -1|0); - HEAP32[$2>>2] = $34; - $100 = -2147483648;$101 = 0; - } - } else { - $$04861 = 0;$$160 = $$049; - while(1) { - $35 = ($$04861*10)|0; - $36 = (($$160) + -48)|0; - $37 = (($36) + ($35))|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = ($38>>>0)<($39>>>0); - if ($40) { - $41 = ((($38)) + 1|0); - HEAP32[$2>>2] = $41; - $42 = HEAP8[$38>>0]|0; - $43 = $42&255; - $$1$be = $43; - } else { - $44 = (___shgetc($0)|0); - $$1$be = $44; - } - $45 = (($$1$be) + -48)|0; - $46 = ($45>>>0)<(10); - $47 = ($37|0)<(214748364); - $48 = $46 & $47; - if ($48) { - $$04861 = $37;$$160 = $$1$be; - } else { - break; - } - } - $49 = ($37|0)<(0); - $50 = $49 << 31 >> 31; - $51 = (($$1$be) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - $$254 = $$1$be;$56 = $37;$57 = $50; - while(1) { - $58 = (___muldi3(($56|0),($57|0),10,0)|0); - $59 = tempRet0; - $60 = ($$254|0)<(0); - $61 = $60 << 31 >> 31; - $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); - $63 = tempRet0; - $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); - $65 = tempRet0; - $66 = HEAP32[$2>>2]|0; - $67 = HEAP32[$4>>2]|0; - $68 = ($66>>>0)<($67>>>0); - if ($68) { - $69 = ((($66)) + 1|0); - HEAP32[$2>>2] = $69; - $70 = HEAP8[$66>>0]|0; - $71 = $70&255; - $$2$be = $71; - } else { - $72 = (___shgetc($0)|0); - $$2$be = $72; - } - $73 = (($$2$be) + -48)|0; - $74 = ($73>>>0)<(10); - $75 = ($65|0)<(21474836); - $76 = ($64>>>0)<(2061584302); - $77 = ($65|0)==(21474836); - $78 = $77 & $76; - $79 = $75 | $78; - $80 = $74 & $79; - if ($80) { - $$254 = $$2$be;$56 = $64;$57 = $65; - } else { - $$2$lcssa = $$2$be;$94 = $64;$95 = $65; - break; - } - } - } else { - $$2$lcssa = $$1$be;$94 = $37;$95 = $50; - } - $53 = (($$2$lcssa) + -48)|0; - $54 = ($53>>>0)<(10); - $55 = HEAP32[$4>>2]|0; - if ($54) { - $83 = $55; - while(1) { - $81 = HEAP32[$2>>2]|0; - $82 = ($81>>>0)<($83>>>0); - if ($82) { - $84 = ((($81)) + 1|0); - HEAP32[$2>>2] = $84; - $85 = HEAP8[$81>>0]|0; - $86 = $85&255; - $$3$be = $86;$102 = $83; - } else { - $87 = (___shgetc($0)|0); - $$pre = HEAP32[$4>>2]|0; - $$3$be = $87;$102 = $$pre; - } - $88 = (($$3$be) + -48)|0; - $89 = ($88>>>0)<(10); - if ($89) { - $83 = $102; - } else { - $$lcssa = $102; - break; - } - } - } else { - $$lcssa = $55; - } - $90 = ($$lcssa|0)==(0|0); - if (!($90)) { - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + -1|0); - HEAP32[$2>>2] = $92; - } - $93 = ($$0|0)!=(0); - $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); - $97 = tempRet0; - $98 = $93 ? $96 : $94; - $99 = $93 ? $97 : $95; - $100 = $99;$101 = $98; - } - tempRet0 = ($100); - return ($101|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _copysignl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_copysign($0,$1)); - return (+$2); -} -function _fmodl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_fmod($0,$1)); - return (+$2); -} -function _scalbnl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function _fmod($0,$1) { - $0 = +$0; - $1 = +$1; - var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; - var $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, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.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, $141 = 0; - var $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.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 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.0, $28 = 0.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.0, $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; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $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, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $7 = tempRet0; - $8 = $6 & 2047; - $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); - $10 = tempRet0; - $11 = $9 & 2047; - $12 = $3 & -2147483648; - $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); - $14 = tempRet0; - $15 = ($13|0)==(0); - $16 = ($14|0)==(0); - $17 = $15 & $16; - L1: do { - if ($17) { - label = 3; - } else { - $18 = (___DOUBLE_BITS_272($1)|0); - $19 = tempRet0; - $20 = $19 & 2147483647; - $21 = ($20>>>0)>(2146435072); - $22 = ($18>>>0)>(0); - $23 = ($20|0)==(2146435072); - $24 = $23 & $22; - $25 = $21 | $24; - $26 = ($8|0)==(2047); - $or$cond = $26 | $25; - if ($or$cond) { - label = 3; - } else { - $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $30 = tempRet0; - $31 = ($30>>>0)>($14>>>0); - $32 = ($29>>>0)>($13>>>0); - $33 = ($30|0)==($14|0); - $34 = $33 & $32; - $35 = $31 | $34; - if (!($35)) { - $36 = ($29|0)==($13|0); - $37 = ($30|0)==($14|0); - $38 = $36 & $37; - $39 = $0 * 0.0; - $$ = $38 ? $39 : $0; - return (+$$); - } - $40 = ($8|0)==(0); - if ($40) { - $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $42 = tempRet0; - $43 = ($42|0)>(-1); - $44 = ($41>>>0)>(4294967295); - $45 = ($42|0)==(-1); - $46 = $45 & $44; - $47 = $43 | $46; - if ($47) { - $$073100 = 0;$49 = $41;$50 = $42; - while(1) { - $48 = (($$073100) + -1)|0; - $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); - $52 = tempRet0; - $53 = ($52|0)>(-1); - $54 = ($51>>>0)>(4294967295); - $55 = ($52|0)==(-1); - $56 = $55 & $54; - $57 = $53 | $56; - if ($57) { - $$073100 = $48;$49 = $51;$50 = $52; - } else { - $$073$lcssa = $48; - break; - } - } - } else { - $$073$lcssa = 0; - } - $58 = (1 - ($$073$lcssa))|0; - $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); - $60 = tempRet0; - $$174 = $$073$lcssa;$87 = $59;$88 = $60; - } else { - $61 = $3 & 1048575; - $62 = $61 | 1048576; - $$174 = $8;$87 = $2;$88 = $62; - } - $63 = ($11|0)==(0); - if ($63) { - $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); - $65 = tempRet0; - $66 = ($65|0)>(-1); - $67 = ($64>>>0)>(4294967295); - $68 = ($65|0)==(-1); - $69 = $68 & $67; - $70 = $66 | $69; - if ($70) { - $$07194 = 0;$72 = $64;$73 = $65; - while(1) { - $71 = (($$07194) + -1)|0; - $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); - $75 = tempRet0; - $76 = ($75|0)>(-1); - $77 = ($74>>>0)>(4294967295); - $78 = ($75|0)==(-1); - $79 = $78 & $77; - $80 = $76 | $79; - if ($80) { - $$07194 = $71;$72 = $74;$73 = $75; - } else { - $$071$lcssa = $71; - break; - } - } - } else { - $$071$lcssa = 0; - } - $81 = (1 - ($$071$lcssa))|0; - $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); - $83 = tempRet0; - $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; - } else { - $84 = $5 & 1048575; - $85 = $84 | 1048576; - $$172$ph = $11;$89 = $4;$90 = $85; - } - $86 = ($$174|0)>($$172$ph|0); - $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); - $92 = tempRet0; - $93 = ($92|0)>(-1); - $94 = ($91>>>0)>(4294967295); - $95 = ($92|0)==(-1); - $96 = $95 & $94; - $97 = $93 | $96; - L23: do { - if ($86) { - $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; - while(1) { - if ($156) { - $98 = ($99|0)==(0); - $100 = ($101|0)==(0); - $102 = $98 & $100; - if ($102) { - break; - } else { - $104 = $99;$105 = $101; - } - } else { - $104 = $157;$105 = $158; - } - $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); - $107 = tempRet0; - $108 = (($$27586) + -1)|0; - $109 = ($108|0)>($$172$ph|0); - $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); - $111 = tempRet0; - $112 = ($111|0)>(-1); - $113 = ($110>>>0)>(4294967295); - $114 = ($111|0)==(-1); - $115 = $114 & $113; - $116 = $112 | $115; - if ($109) { - $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; - } else { - $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; - break L23; - } - } - $103 = $0 * 0.0; - $$070 = $103; - break L1; - } else { - $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; - } - } while(0); - if ($$lcssa) { - $117 = ($118|0)==(0); - $119 = ($120|0)==(0); - $121 = $117 & $119; - if ($121) { - $129 = $0 * 0.0; - $$070 = $129; - break; - } else { - $123 = $120;$125 = $118; - } - } else { - $123 = $160;$125 = $159; - } - $122 = ($123>>>0)<(1048576); - $124 = ($125>>>0)<(0); - $126 = ($123|0)==(1048576); - $127 = $126 & $124; - $128 = $122 | $127; - if ($128) { - $$37683 = $$275$lcssa;$130 = $125;$131 = $123; - while(1) { - $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); - $133 = tempRet0; - $134 = (($$37683) + -1)|0; - $135 = ($133>>>0)<(1048576); - $136 = ($132>>>0)<(0); - $137 = ($133|0)==(1048576); - $138 = $137 & $136; - $139 = $135 | $138; - if ($139) { - $$37683 = $134;$130 = $132;$131 = $133; - } else { - $$376$lcssa = $134;$141 = $132;$142 = $133; - break; - } - } - } else { - $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; - } - $140 = ($$376$lcssa|0)>(0); - if ($140) { - $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); - $144 = tempRet0; - $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); - $146 = tempRet0; - $147 = $143 | $145; - $148 = $144 | $146; - $153 = $148;$155 = $147; - } else { - $149 = (1 - ($$376$lcssa))|0; - $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); - $151 = tempRet0; - $153 = $151;$155 = $150; - } - $152 = $153 | $12; - HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; - $$070 = $154; - } - } - } while(0); - if ((label|0) == 3) { - $27 = $0 * $1; - $28 = $27 / $27; - $$070 = $28; - } - return (+$$070); -} -function ___DOUBLE_BITS_272($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 _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 _strchr($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; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _mbrtowc($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $4 = sp; - $5 = ($3|0)==(0|0); - $$ = $5 ? 20856 : $3; - $6 = HEAP32[$$>>2]|0; - $7 = ($1|0)==(0|0); - L1: do { - if ($7) { - $8 = ($6|0)==(0); - if ($8) { - $$0 = 0; - } else { - label = 17; - } - } else { - $9 = ($0|0)==(0|0); - $$47 = $9 ? $4 : $0; - $10 = ($2|0)==(0); - if ($10) { - $$0 = -2; - } else { - $11 = ($6|0)==(0); - if ($11) { - $12 = HEAP8[$1>>0]|0; - $13 = ($12<<24>>24)>(-1); - if ($13) { - $14 = $12&255; - HEAP32[$$47>>2] = $14; - $15 = ($12<<24>>24)!=(0); - $16 = $15&1; - $$0 = $16; - break; - } - $17 = (___pthread_self_439()|0); - $18 = ((($17)) + 188|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$19>>2]|0; - $not$ = ($20|0)==(0|0); - $21 = HEAP8[$1>>0]|0; - if ($not$) { - $22 = $21 << 24 >> 24; - $23 = $22 & 57343; - HEAP32[$$47>>2] = $23; - $$0 = 1; - break; - } - $24 = $21&255; - $25 = (($24) + -194)|0; - $26 = ($25>>>0)>(50); - if ($26) { - label = 17; - break; - } - $27 = ((($1)) + 1|0); - $28 = (3692 + ($25<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($2) + -1)|0; - $31 = ($30|0)==(0); - if ($31) { - $$2 = $29; - } else { - $$03952 = $27;$$04051 = $29;$$04350 = $30; - label = 11; - } - } else { - $$03952 = $1;$$04051 = $6;$$04350 = $2; - label = 11; - } - L14: do { - if ((label|0) == 11) { - $32 = HEAP8[$$03952>>0]|0; - $33 = $32&255; - $34 = $33 >>> 3; - $35 = (($34) + -16)|0; - $36 = $$04051 >> 26; - $37 = (($34) + ($36))|0; - $38 = $35 | $37; - $39 = ($38>>>0)>(7); - if ($39) { - label = 17; - break L1; - } else { - $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; - } - while(1) { - $40 = $$141 << 6; - $41 = ((($$1)) + 1|0); - $42 = $43&255; - $44 = (($42) + -128)|0; - $45 = $44 | $40; - $46 = (($$144) + -1)|0; - $47 = ($45|0)<(0); - if (!($47)) { - break; - } - $49 = ($46|0)==(0); - if ($49) { - $$2 = $45; - break L14; - } - $50 = HEAP8[$41>>0]|0; - $51 = $50 & -64; - $52 = ($51<<24>>24)==(-128); - if ($52) { - $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; - } else { - label = 17; - break L1; - } - } - HEAP32[$$>>2] = 0; - HEAP32[$$47>>2] = $45; - $48 = (($2) - ($46))|0; - $$0 = $48; - break L1; - } - } while(0); - HEAP32[$$>>2] = $$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 17) { - HEAP32[$$>>2] = 0; - $53 = (___errno_location()|0); - HEAP32[$53>>2] = 84; - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___pthread_self_439() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function _fmaxf($0,$1) { - $0 = +$0; - $1 = +$1; - var $$0 = 0.0, $$unshifted = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___FLOAT_BITS_269($0)|0); - $3 = $2 & 2147483647; - $4 = ($3>>>0)>(2139095040); - do { - if ($4) { - $$0 = $1; - } else { - $5 = (___FLOAT_BITS_269($1)|0); - $6 = $5 & 2147483647; - $7 = ($6>>>0)>(2139095040); - if ($7) { - $$0 = $0; - } else { - $$unshifted = $5 ^ $2; - $8 = ($$unshifted|0)<(0); - if ($8) { - $9 = ($2|0)<(0); - $10 = $9 ? $1 : $0; - $$0 = $10; - break; - } else { - $11 = $0 < $1; - $12 = $11 ? $1 : $0; - $$0 = $12; - break; - } - } - } - } while(0); - return (+$$0); -} -function ___FLOAT_BITS_269($0) { - $0 = +$0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0); - return ($1|0); -} -function _fminf($0,$1) { - $0 = +$0; - $1 = +$1; - var $$0 = 0.0, $$unshifted = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (___FLOAT_BITS_271($0)|0); - $3 = $2 & 2147483647; - $4 = ($3>>>0)>(2139095040); - do { - if ($4) { - $$0 = $1; - } else { - $5 = (___FLOAT_BITS_271($1)|0); - $6 = $5 & 2147483647; - $7 = ($6>>>0)>(2139095040); - if ($7) { - $$0 = $0; - } else { - $$unshifted = $5 ^ $2; - $8 = ($$unshifted|0)<(0); - if ($8) { - $9 = ($2|0)<(0); - $10 = $9 ? $0 : $1; - $$0 = $10; - break; - } else { - $11 = $0 < $1; - $12 = $11 ? $0 : $1; - $$0 = $12; - break; - } - } - } - } while(0); - return (+$$0); -} -function ___FLOAT_BITS_271($0) { - $0 = +$0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0); - return ($1|0); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 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; - $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); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 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, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $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_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(17783,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - 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] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $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; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 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; - 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, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(17783,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 11; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 10; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(20796)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((20860|0)); - return (20868|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((20860|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -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[1067]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1067]|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); - $26 = $17; - } else { - $26 = 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; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___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 & 15]($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 & 15]($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 _fgets($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 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; - var $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, $42 = 0; - var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; - var $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $6 = (___lockfile($2)|0); - $17 = $6; - } else { - $17 = 0; - } - $7 = (($1) + -1)|0; - $8 = ($1|0)<(2); - $9 = ($7|0)!=(0); - if ($8) { - $10 = ((($2)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ($17|0)==(0); - if (!($16)) { - ___unlockfile($2); - } - if ($9) { - $$0 = 0; - } else { - HEAP8[$0>>0] = 0; - $$0 = $0; - } - } else { - L11: do { - if ($9) { - $18 = ((($2)) + 4|0); - $19 = ((($2)) + 8|0); - $$063 = $7;$$064 = $0; - while(1) { - $20 = HEAP32[$18>>2]|0; - $21 = HEAP32[$19>>2]|0; - $22 = $20; - $23 = (($21) - ($22))|0; - $24 = (_memchr($20,10,$23)|0); - $25 = ($24|0)==(0|0); - $26 = $24; - $27 = (1 - ($22))|0; - $28 = (($27) + ($26))|0; - $29 = $25 ? $23 : $28; - $30 = ($29>>>0)<($$063>>>0); - $31 = $30 ? $29 : $$063; - _memcpy(($$064|0),($20|0),($31|0))|0; - $32 = HEAP32[$18>>2]|0; - $33 = (($32) + ($31)|0); - HEAP32[$18>>2] = $33; - $34 = (($$064) + ($31)|0); - $35 = (($$063) - ($31))|0; - $36 = ($35|0)!=(0); - $or$cond = $25 & $36; - if (!($or$cond)) { - $$1 = $34; - label = 17; - break L11; - } - $37 = HEAP32[$19>>2]|0; - $38 = ($33>>>0)<($37>>>0); - if ($38) { - $39 = ((($33)) + 1|0); - HEAP32[$18>>2] = $39; - $40 = HEAP8[$33>>0]|0; - $41 = $40&255; - $50 = $41; - } else { - $42 = (___uflow($2)|0); - $43 = ($42|0)<(0); - if ($43) { - break; - } else { - $50 = $42; - } - } - $48 = (($35) + -1)|0; - $49 = $50&255; - $51 = ((($34)) + 1|0); - HEAP8[$34>>0] = $49; - $sext$mask = $50 & 255; - $52 = ($sext$mask|0)!=(10); - $53 = ($48|0)!=(0); - $or$cond3 = $53 & $52; - if ($or$cond3) { - $$063 = $48;$$064 = $51; - } else { - $$1 = $51; - label = 17; - break L11; - } - } - $44 = ($34|0)==($0|0); - if ($44) { - $$06266 = 0; - } else { - $45 = HEAP32[$2>>2]|0; - $46 = $45 & 16; - $47 = ($46|0)==(0); - if ($47) { - $$06266 = 0; - } else { - $$1 = $34; - label = 17; - } - } - } else { - $$1 = $0; - label = 17; - } - } while(0); - if ((label|0) == 17) { - $54 = ($0|0)==(0|0); - if ($54) { - $$06266 = 0; - } else { - HEAP8[$$1>>0] = 0; - $$06266 = $0; - } - } - $55 = ($17|0)==(0); - if ($55) { - $$0 = $$06266; - } else { - ___unlockfile($2); - $$0 = $$06266; - } - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _fscanf($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 = (_vfscanf($0,$1,$2)|0); - STACKTOP = sp;return ($3|0); -} -function _vfscanf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; - var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; - var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; - var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $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, $226 = 0; - var $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, $244 = 0; - var $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, $261 = 0, $262 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $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, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; - var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); - $3 = sp + 8|0; - $4 = sp + 17|0; - $5 = sp; - $6 = sp + 16|0; - $7 = ((($0)) + 76|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(-1); - if ($9) { - $10 = (___lockfile($0)|0); - $306 = $10; - } else { - $306 = 0; - } - $11 = HEAP8[$1>>0]|0; - $12 = ($11<<24>>24)==(0); - L4: do { - if ($12) { - $$3291 = 0; - } else { - $13 = ((($0)) + 4|0); - $14 = ((($0)) + 100|0); - $15 = ((($0)) + 108|0); - $16 = ((($0)) + 8|0); - $17 = ((($4)) + 10|0); - $18 = ((($4)) + 33|0); - $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); - $19 = ((($4)) + 46|0); - $20 = ((($4)) + 94|0); - $21 = ((($4)) + 1|0); - $22 = ((($4)) + 1|0); - $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; - L6: while(1) { - $23 = $24&255; - $25 = (_isspace($23)|0); - $26 = ($25|0)==(0); - L8: do { - if ($26) { - $53 = ($24<<24>>24)==(37); - L10: do { - if ($53) { - $54 = ((($$0273429)) + 1|0); - $55 = HEAP8[$54>>0]|0; - L12: do { - switch ($55<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $76 = ((($$0273429)) + 2|0); - $$0293 = 0;$$2275 = $76; - break; - } - default: { - $77 = $55&255; - $isdigittmp = (($77) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $78 = ((($$0273429)) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)==(36); - if ($80) { - $81 = (_arg_n($2,$isdigittmp)|0); - $82 = ((($$0273429)) + 3|0); - $$0293 = $81;$$2275 = $82; - break L12; - } - } - $arglist_current = HEAP32[$2>>2]|0; - $83 = $arglist_current; - $84 = ((0) + 4|0); - $expanded1 = $84; - $expanded = (($expanded1) - 1)|0; - $85 = (($83) + ($expanded))|0; - $86 = ((0) + 4|0); - $expanded5 = $86; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $87 = $85 & $expanded3; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $arglist_next = ((($88)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0293 = $89;$$2275 = $54; - } - } - } while(0); - $90 = HEAP8[$$2275>>0]|0; - $91 = $90&255; - $isdigittmp315414 = (($91) + -48)|0; - $isdigit316415 = ($isdigittmp315414>>>0)<(10); - if ($isdigit316415) { - $$0266417 = 0;$$3416 = $$2275;$95 = $91; - while(1) { - $92 = ($$0266417*10)|0; - $93 = (($92) + -48)|0; - $94 = (($93) + ($95))|0; - $96 = ((($$3416)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $isdigittmp315 = (($98) + -48)|0; - $isdigit316 = ($isdigittmp315>>>0)<(10); - if ($isdigit316) { - $$0266417 = $94;$$3416 = $96;$95 = $98; - } else { - $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; - break; - } - } - } else { - $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; - } - $99 = ($$lcssa355<<24>>24)==(109); - $100 = ($$0293|0)!=(0|0); - $101 = ((($$3$lcssa)) + 1|0); - $$$0305 = $99 ? 0 : $$0305423; - $$327 = $99 ? 0 : $102; - $$$3 = $99 ? $101 : $$3$lcssa; - $narrow = $100 & $99; - $103 = ((($$$3)) + 1|0); - $104 = HEAP8[$$$3>>0]|0; - switch ($104<<24>>24) { - case 104: { - $105 = HEAP8[$103>>0]|0; - $106 = ($105<<24>>24)==(104); - $107 = ((($$$3)) + 2|0); - $$319 = $106 ? $107 : $103; - $$320 = $106 ? -2 : -1; - $$0268 = $$320;$$5 = $$319; - break; - } - case 108: { - $108 = HEAP8[$103>>0]|0; - $109 = ($108<<24>>24)==(108); - $110 = ((($$$3)) + 2|0); - $$321 = $109 ? $110 : $103; - $$322 = $109 ? 3 : 1; - $$0268 = $$322;$$5 = $$321; - break; - } - case 106: { - $$0268 = 3;$$5 = $103; - break; - } - case 116: case 122: { - $$0268 = 1;$$5 = $103; - break; - } - case 76: { - $$0268 = 2;$$5 = $103; - break; - } - case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { - $$0268 = 0;$$5 = $$$3; - break; - } - default: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - } - $111 = HEAP8[$$5>>0]|0; - $112 = $111&255; - $113 = $112 & 47; - $114 = ($113|0)==(3); - $115 = $112 | 32; - $$ = $114 ? $115 : $112; - $$$0268 = $114 ? 1 : $$0268; - $trunc = $$&255; - switch ($trunc<<24>>24) { - case 99: { - $116 = ($$0266$lcssa|0)>(1); - $$$0266 = $116 ? $$0266$lcssa : 1; - $$1267 = $$$0266;$$1284 = $$0283428; - break; - } - case 91: { - $$1267 = $$0266$lcssa;$$1284 = $$0283428; - break; - } - case 110: { - $117 = ($$0283428|0)<(0); - $118 = $117 << 31 >> 31; - _store_int($$0293,$$$0268,$$0283428,$118); - $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; - break L8; - break; - } - default: { - ___shlim($0,0); - while(1) { - $119 = HEAP32[$13>>2]|0; - $120 = HEAP32[$14>>2]|0; - $121 = ($119>>>0)<($120>>>0); - if ($121) { - $122 = ((($119)) + 1|0); - HEAP32[$13>>2] = $122; - $123 = HEAP8[$119>>0]|0; - $124 = $123&255; - $126 = $124; - } else { - $125 = (___shgetc($0)|0); - $126 = $125; - } - $127 = (_isspace($126)|0); - $128 = ($127|0)==(0); - if ($128) { - break; - } - } - $129 = HEAP32[$14>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$pre507 = HEAP32[$13>>2]|0; - $138 = $$pre507; - } else { - $131 = HEAP32[$13>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$13>>2] = $132; - $133 = $132; - $138 = $133; - } - $134 = HEAP32[$15>>2]|0; - $135 = HEAP32[$16>>2]|0; - $136 = (($134) + ($$0283428))|0; - $137 = (($136) + ($138))|0; - $139 = (($137) - ($135))|0; - $$1267 = $$0266$lcssa;$$1284 = $139; - } - } - ___shlim($0,$$1267); - $140 = HEAP32[$13>>2]|0; - $141 = HEAP32[$14>>2]|0; - $142 = ($140>>>0)<($141>>>0); - if ($142) { - $143 = ((($140)) + 1|0); - HEAP32[$13>>2] = $143; - $147 = $141; - } else { - $144 = (___shgetc($0)|0); - $145 = ($144|0)<(0); - if ($145) { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - $$pre509 = HEAP32[$14>>2]|0; - $147 = $$pre509; - } - $146 = ($147|0)==(0|0); - if (!($146)) { - $148 = HEAP32[$13>>2]|0; - $149 = ((($148)) + -1|0); - HEAP32[$13>>2] = $149; - } - L55: do { - switch ($trunc<<24>>24) { - case 91: case 99: case 115: { - $150 = ($$|0)==(99); - $151 = $$ | 16; - $152 = ($151|0)==(115); - L57: do { - if ($152) { - $153 = ($$|0)==(115); - _memset(($21|0),-1,256)|0; - HEAP8[$4>>0] = 0; - if ($153) { - HEAP8[$18>>0] = 0; - ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; - $$9 = $$5; - } else { - $$9 = $$5; - } - } else { - $154 = ((($$5)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = ($155<<24>>24)==(94); - $157 = ((($$5)) + 2|0); - $$0292 = $156&1; - $$6 = $156 ? $157 : $154; - $158 = $156&1; - _memset(($22|0),($158|0),256)|0; - HEAP8[$4>>0] = 0; - $159 = HEAP8[$$6>>0]|0; - switch ($159<<24>>24) { - case 45: { - $$sink443 = $19; - label = 64; - break; - } - case 93: { - $$sink443 = $20; - label = 64; - break; - } - default: { - $$pre514 = $$0292 ^ 1; - $$pre515 = $$pre514&255; - $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; - } - } - if ((label|0) == 64) { - label = 0; - $160 = ((($$6)) + 1|0); - $161 = $$0292 ^ 1; - $162 = $161&255; - HEAP8[$$sink443>>0] = $162; - $$7$ph = $160;$$pre$phi516Z2D = $162; - } - $$7 = $$7$ph; - while(1) { - $163 = HEAP8[$$7>>0]|0; - L69: do { - switch ($163<<24>>24) { - case 0: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case 93: { - $$9 = $$7; - break L57; - break; - } - case 45: { - $164 = ((($$7)) + 1|0); - $165 = HEAP8[$164>>0]|0; - switch ($165<<24>>24) { - case 93: case 0: { - $$8 = $$7;$176 = 45; - break L69; - break; - } - default: { - } - } - $166 = ((($$7)) + -1|0); - $167 = HEAP8[$166>>0]|0; - $168 = ($167&255)<($165&255); - if ($168) { - $169 = $167&255; - $$0286420 = $169; - while(1) { - $170 = (($$0286420) + 1)|0; - $171 = (($4) + ($170)|0); - HEAP8[$171>>0] = $$pre$phi516Z2D; - $172 = HEAP8[$164>>0]|0; - $173 = $172&255; - $174 = ($170|0)<($173|0); - if ($174) { - $$0286420 = $170; - } else { - $$8 = $164;$176 = $172; - break; - } - } - } else { - $$8 = $164;$176 = $165; - } - break; - } - default: { - $$8 = $$7;$176 = $163; - } - } - } while(0); - $175 = $176&255; - $177 = (($175) + 1)|0; - $178 = (($4) + ($177)|0); - HEAP8[$178>>0] = $$pre$phi516Z2D; - $179 = ((($$8)) + 1|0); - $$7 = $179; - } - } - } while(0); - $180 = (($$1267) + 1)|0; - $181 = $150 ? $180 : 31; - $182 = ($$$0268|0)==(1); - L77: do { - if ($182) { - if ($narrow) { - $183 = $181 << 2; - $184 = (_malloc($183)|0); - $185 = ($184|0)==(0|0); - if ($185) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $311 = $184; - } - } else { - $311 = $$0293; - } - HEAP32[$3>>2] = 0; - HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; - $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; - L82: while(1) { - $186 = ($$ph|0)==(0|0); - $$0278$ph336 = $$0278$ph; - while(1) { - L86: while(1) { - $187 = HEAP32[$13>>2]|0; - $188 = HEAP32[$14>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$13>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $195 = $192; - } else { - $193 = (___shgetc($0)|0); - $195 = $193; - } - $194 = (($195) + 1)|0; - $196 = (($4) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = ($197<<24>>24)==(0); - if ($198) { - break L82; - } - $199 = $195&255; - HEAP8[$6>>0] = $199; - $200 = (_mbrtowc($5,$6,1,$3)|0); - switch ($200|0) { - case -1: { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case -2: { - break; - } - default: { - break L86; - } - } - } - if ($186) { - $$1279 = $$0278$ph336; - } else { - $201 = (($$ph) + ($$0278$ph336<<2)|0); - $202 = (($$0278$ph336) + 1)|0; - $203 = HEAP32[$5>>2]|0; - HEAP32[$201>>2] = $203; - $$1279 = $202; - } - $204 = ($$1279|0)==($$0276$ph|0); - $or$cond = $narrow & $204; - if ($or$cond) { - break; - } else { - $$0278$ph336 = $$1279; - } - } - $factor331 = $$0276$ph << 1; - $205 = $factor331 | 1; - $206 = $205 << 2; - $207 = (_realloc($$ph,$206)|0); - $208 = ($207|0)==(0|0); - if ($208) { - $$7312 = 0;$309 = $$ph;$narrow469 = 1; - label = 137; - break L6; - } else { - $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; - } - } - $209 = (_mbsinit($3)|0); - $210 = ($209|0)==(0); - if ($210) { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - } else { - $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; - } - } else { - if ($narrow) { - $211 = (_malloc($181)|0); - $212 = ($211|0)==(0|0); - if ($212) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; - } - while(1) { - $$2280 = $$2280$ph; - while(1) { - $213 = HEAP32[$13>>2]|0; - $214 = HEAP32[$14>>2]|0; - $215 = ($213>>>0)<($214>>>0); - if ($215) { - $216 = ((($213)) + 1|0); - HEAP32[$13>>2] = $216; - $217 = HEAP8[$213>>0]|0; - $218 = $217&255; - $221 = $218; - } else { - $219 = (___shgetc($0)|0); - $221 = $219; - } - $220 = (($221) + 1)|0; - $222 = (($4) + ($220)|0); - $223 = HEAP8[$222>>0]|0; - $224 = ($223<<24>>24)==(0); - if ($224) { - $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; - break L77; - } - $225 = $221&255; - $226 = (($$2280) + 1)|0; - $227 = (($$2307$ph) + ($$2280)|0); - HEAP8[$227>>0] = $225; - $228 = ($226|0)==($$1277$ph|0); - if ($228) { - break; - } else { - $$2280 = $226; - } - } - $factor = $$1277$ph << 1; - $229 = $factor | 1; - $230 = (_realloc($$2307$ph,$229)|0); - $231 = ($230|0)==(0|0); - if ($231) { - $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; - } - } - } - $232 = ($$0293|0)==(0|0); - if ($232) { - $250 = $147; - while(1) { - $248 = HEAP32[$13>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$13>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($0)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($4) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; - break L77; - } - $$pre512 = HEAP32[$14>>2]|0; - $250 = $$pre512; - } - } else { - $$3281 = 0;$235 = $147; - while(1) { - $233 = HEAP32[$13>>2]|0; - $234 = ($233>>>0)<($235>>>0); - if ($234) { - $236 = ((($233)) + 1|0); - HEAP32[$13>>2] = $236; - $237 = HEAP8[$233>>0]|0; - $238 = $237&255; - $241 = $238; - } else { - $239 = (___shgetc($0)|0); - $241 = $239; - } - $240 = (($241) + 1)|0; - $242 = (($4) + ($240)|0); - $243 = HEAP8[$242>>0]|0; - $244 = ($243<<24>>24)==(0); - if ($244) { - $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; - break L77; - } - $245 = $241&255; - $246 = (($$3281) + 1)|0; - $247 = (($$0293) + ($$3281)|0); - HEAP8[$247>>0] = $245; - $$pre511 = HEAP32[$14>>2]|0; - $$3281 = $246;$235 = $$pre511; - } - } - } - } while(0); - $260 = HEAP32[$14>>2]|0; - $261 = ($260|0)==(0|0); - if ($261) { - $$pre513 = HEAP32[$13>>2]|0; - $268 = $$pre513; - } else { - $262 = HEAP32[$13>>2]|0; - $263 = ((($262)) + -1|0); - HEAP32[$13>>2] = $263; - $264 = $263; - $268 = $264; - } - $265 = HEAP32[$15>>2]|0; - $266 = HEAP32[$16>>2]|0; - $267 = (($268) - ($266))|0; - $269 = (($267) + ($265))|0; - $270 = ($269|0)==(0); - if ($270) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - $$not = $150 ^ 1; - $271 = ($269|0)==($$1267|0); - $or$cond318 = $271 | $$not; - if (!($or$cond318)) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - do { - if ($narrow) { - if ($182) { - HEAP32[$$0293>>2] = $$5299; - break; - } else { - HEAP32[$$0293>>2] = $$4309; - break; - } - } - } while(0); - if ($150) { - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } else { - $272 = ($$5299|0)==(0|0); - if (!($272)) { - $273 = (($$5299) + ($$4282<<2)|0); - HEAP32[$273>>2] = 0; - } - $274 = ($$4309|0)==(0|0); - if ($274) { - $$10 = $$9;$$5310 = 0;$310 = $312; - break L55; - } - $275 = (($$4309) + ($$4282)|0); - HEAP8[$275>>0] = 0; - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } - break; - } - case 120: case 88: case 112: { - $$0272 = 16; - label = 125; - break; - } - case 111: { - $$0272 = 8; - label = 125; - break; - } - case 117: case 100: { - $$0272 = 10; - label = 125; - break; - } - case 105: { - $$0272 = 0; - label = 125; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $285 = (+___floatscan($0,$$$0268,0)); - $286 = HEAP32[$15>>2]|0; - $287 = HEAP32[$13>>2]|0; - $288 = HEAP32[$16>>2]|0; - $289 = (($288) - ($287))|0; - $290 = ($286|0)==($289|0); - if ($290) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $291 = ($$0293|0)==(0|0); - if ($291) { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } else { - switch ($$$0268|0) { - case 0: { - $292 = $285; - HEAPF32[$$0293>>2] = $292; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 1: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 2: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - } - } - } - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } - } - } while(0); - do { - if ((label|0) == 125) { - label = 0; - $276 = (___intscan($0,$$0272,0,-1,-1)|0); - $277 = tempRet0; - $278 = HEAP32[$15>>2]|0; - $279 = HEAP32[$13>>2]|0; - $280 = HEAP32[$16>>2]|0; - $281 = (($280) - ($279))|0; - $282 = ($278|0)==($281|0); - if ($282) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $283 = ($$|0)==(112); - $or$cond3 = $100 & $283; - if ($or$cond3) { - $284 = $276; - HEAP32[$$0293>>2] = $284; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } else { - _store_int($$0293,$$$0268,$276,$277); - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } - } - } while(0); - $293 = HEAP32[$15>>2]|0; - $294 = HEAP32[$13>>2]|0; - $295 = HEAP32[$16>>2]|0; - $296 = (($293) + ($$1284))|0; - $297 = (($296) + ($294))|0; - $298 = (($297) - ($295))|0; - $299 = $100&1; - $$0288$ = (($299) + ($$0288425))|0; - $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; - break L8; - } - } while(0); - $56 = $53&1; - $57 = (($$0273429) + ($56)|0); - ___shlim($0,0); - $58 = HEAP32[$13>>2]|0; - $59 = HEAP32[$14>>2]|0; - $60 = ($58>>>0)<($59>>>0); - if ($60) { - $61 = ((($58)) + 1|0); - HEAP32[$13>>2] = $61; - $62 = HEAP8[$58>>0]|0; - $63 = $62&255; - $68 = $63; - } else { - $64 = (___shgetc($0)|0); - $68 = $64; - } - $65 = HEAP8[$57>>0]|0; - $66 = $65&255; - $67 = ($68|0)==($66|0); - if (!($67)) { - label = 22; - break L6; - } - $75 = (($$0283428) + 1)|0; - $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; - } else { - $$1274 = $$0273429; - while(1) { - $27 = ((($$1274)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (_isspace($29)|0); - $31 = ($30|0)==(0); - if ($31) { - break; - } else { - $$1274 = $27; - } - } - ___shlim($0,0); - while(1) { - $32 = HEAP32[$13>>2]|0; - $33 = HEAP32[$14>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$13>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $39 = $37; - } else { - $38 = (___shgetc($0)|0); - $39 = $38; - } - $40 = (_isspace($39)|0); - $41 = ($40|0)==(0); - if ($41) { - break; - } - } - $42 = HEAP32[$14>>2]|0; - $43 = ($42|0)==(0|0); - if ($43) { - $$pre = HEAP32[$13>>2]|0; - $51 = $$pre; - } else { - $44 = HEAP32[$13>>2]|0; - $45 = ((($44)) + -1|0); - HEAP32[$13>>2] = $45; - $46 = $45; - $51 = $46; - } - $47 = HEAP32[$15>>2]|0; - $48 = HEAP32[$16>>2]|0; - $49 = (($47) + ($$0283428))|0; - $50 = (($49) + ($51))|0; - $52 = (($50) - ($48))|0; - $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; - } - } while(0); - $300 = ((($$11)) + 1|0); - $301 = HEAP8[$300>>0]|0; - $302 = ($301<<24>>24)==(0); - if ($302) { - $$3291 = $$1289; - break L4; - } else { - $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; - } - } - if ((label|0) == 22) { - $69 = HEAP32[$14>>2]|0; - $70 = ($69|0)==(0|0); - if (!($70)) { - $71 = HEAP32[$13>>2]|0; - $72 = ((($71)) + -1|0); - HEAP32[$13>>2] = $72; - } - $73 = ($68|0)>(-1); - $74 = ($$0288425|0)!=(0); - $or$cond5 = $74 | $73; - if ($or$cond5) { - $$3291 = $$0288425; - break; - } else { - $$1271 = 0;$$8313 = $$0305423;$308 = $102; - label = 138; - } - } - else if ((label|0) == 137) { - $$328$le441 = $narrow469&1; - $$old4 = ($$0288425|0)==(0); - if ($$old4) { - $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; - label = 138; - } else { - $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; - } - } - else if ((label|0) == 139) { - $$328$le439 = $narrow&1; - $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; - } - if ((label|0) == 138) { - $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; - } - $303 = ($$2|0)==(0); - if ($303) { - $$3291 = $$2290; - } else { - _free($$9314); - _free($304); - $$3291 = $$2290; - } - } - } while(0); - $305 = ($306|0)==(0); - if (!($305)) { - ___unlockfile($0); - } - STACKTOP = sp;return ($$3291|0); -} -function _arg_n($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - $vacopy_currentptr = HEAP32[$0>>2]|0; - HEAP32[$2>>2] = $vacopy_currentptr; - $$0 = $1; - while(1) { - $3 = ($$0>>>0)>(1); - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded1 = $5; - $expanded = (($expanded1) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded5 = $7; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $8 = $6 & $expanded3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $11 = (($$0) + -1)|0; - if ($3) { - $$0 = $11; - } else { - break; - } - } - STACKTOP = sp;return ($10|0); -} -function _store_int($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - L1: do { - if (!($4)) { - switch ($1|0) { - case -2: { - $5 = $2&255; - HEAP8[$0>>0] = $5; - break L1; - break; - } - case -1: { - $6 = $2&65535; - HEAP16[$0>>1] = $6; - break L1; - break; - } - case 0: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 1: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 3: { - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $2; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $3; - break L1; - break; - } - default: { - break L1; - } - } - } - } while(0); - return; -} -function _mbsinit($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - $5 = 1; - } else { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(0); - $5 = $3; - } - $4 = $5&1; - return ($4|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($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, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; - 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, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $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; - var $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, $73 = 0; - var $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, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; - 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 18064; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $phitmp = ($4|0)==(0); - (___fseeko_unlocked($0,0,0)|0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & -33; - HEAP32[$0>>2] = $6; - if (!($phitmp)) { - ___unlockfile($0); - } - } else { - (___fseeko_unlocked($0,0,0)|0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 & -33; - HEAP32[$0>>2] = $8; - } - return; -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[1035]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 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; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 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|0); - if ($2) { - $3 = HEAP32[5218]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5218] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5218] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5218] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5218] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $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; - var $31 = 0, $310 = 0, $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; - var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $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; - var $364 = 0, $365 = 0, $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; - var $382 = 0, $383 = 0, $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; - var $40 = 0, $400 = 0, $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; - var $418 = 0, $419 = 0, $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; - var $436 = 0, $437 = 0, $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; - var $454 = 0, $455 = 0, $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; - var $472 = 0, $473 = 0, $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; - var $490 = 0, $491 = 0, $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; - var $508 = 0, $509 = 0, $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; - var $526 = 0, $527 = 0, $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; - var $544 = 0, $545 = 0, $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; - var $562 = 0, $563 = 0, $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; - var $580 = 0, $581 = 0, $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; - var $599 = 0, $6 = 0, $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; - var $616 = 0, $617 = 0, $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; - var $634 = 0, $635 = 0, $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; - var $652 = 0, $653 = 0, $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; - var $670 = 0, $671 = 0, $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; - var $689 = 0, $69 = 0, $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; - var $706 = 0, $707 = 0, $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; - var $724 = 0, $725 = 0, $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; - var $742 = 0, $743 = 0, $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; - var $760 = 0, $761 = 0, $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; - var $779 = 0, $78 = 0, $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; - var $797 = 0, $798 = 0, $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; - var $814 = 0, $815 = 0, $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; - var $832 = 0, $833 = 0, $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; - var $850 = 0, $851 = 0, $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; - var $869 = 0, $87 = 0, $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; - var $887 = 0, $888 = 0, $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; - var $904 = 0, $905 = 0, $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; - var $922 = 0, $923 = 0, $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; - var $940 = 0, $941 = 0, $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; - var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[5219]|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 = (20916 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5219] = $24; - } else { - $25 = HEAP32[(20892)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(20884)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (20916 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5219] = $77; - $98 = $77; - } else { - $78 = HEAP32[(20892)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(20896)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (20916 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5219] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20892)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(20884)>>2] = $84; - HEAP32[(20896)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(20880)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (21180 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(20892)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (21180 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(20880)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(20892)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(20892)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(20892)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(20896)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (20916 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5219] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20892)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(20884)>>2] = $$0193$lcssa$i; - HEAP32[(20896)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(20880)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (21180 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (21180 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(20884)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(20892)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (21180 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(20880)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(20892)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(20892)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(20892)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (20916 + ($425<<2)|0); - $427 = HEAP32[5219]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5219] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20892)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (21180 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(20880)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(20892)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20892)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(20884)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20896)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(20896)>>2] = $511; - HEAP32[(20884)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(20884)>>2] = 0; - HEAP32[(20896)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(20888)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(20888)>>2] = $526; - $527 = HEAP32[(20900)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(20900)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5337]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(21356)>>2] = 4096; - HEAP32[(21352)>>2] = 4096; - HEAP32[(21360)>>2] = -1; - HEAP32[(21364)>>2] = -1; - HEAP32[(21368)>>2] = 0; - HEAP32[(21320)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5337] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(21356)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(21316)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(21308)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(21320)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(20900)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (21324); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(21352)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21308)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(21316)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(21356)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(21320)>>2]|0; - $612 = $611 | 4; - HEAP32[(21320)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(21308)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(21308)>>2] = $627; - $628 = HEAP32[(21312)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(21312)>>2] = $627; - } - $630 = HEAP32[(20900)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(20892)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(20892)>>2] = $$749$i; - } - HEAP32[(21324)>>2] = $$749$i; - HEAP32[(21328)>>2] = $$723948$i; - HEAP32[(21336)>>2] = 0; - $635 = HEAP32[5337]|0; - HEAP32[(20912)>>2] = $635; - HEAP32[(20908)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (20916 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(20900)>>2] = $649; - HEAP32[(20888)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(21364)>>2]|0; - HEAP32[(20904)>>2] = $655; - } else { - $$024371$i = (21324); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(20888)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(20900)>>2] = $679; - HEAP32[(20888)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(21364)>>2]|0; - HEAP32[(20904)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(20892)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(20892)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21324); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(20888)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(20888)>>2] = $727; - HEAP32[(20900)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(20896)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(20884)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(20884)>>2] = $733; - HEAP32[(20896)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (20916 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5219]|0; - $760 = $759 & $758; - HEAP32[5219] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (21180 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(20880)>>2]|0; - $803 = $802 & $801; - HEAP32[(20880)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(20892)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(20892)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(20892)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (20916 + ($836<<2)|0); - $838 = HEAP32[5219]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5219] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20892)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (21180 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(20880)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(20880)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(20892)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20892)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (21324); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(20900)>>2] = $946; - HEAP32[(20888)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(21364)>>2]|0; - HEAP32[(20904)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21324)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21324)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21324)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21324)+12>>2]|0; - HEAP32[(21324)>>2] = $$749$i; - HEAP32[(21328)>>2] = $$723948$i; - HEAP32[(21336)>>2] = 0; - HEAP32[(21332)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (20916 + ($968<<2)|0); - $970 = HEAP32[5219]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5219] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20892)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (21180 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20880)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(20880)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(20892)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20892)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(20888)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(20888)>>2] = $1050; - $1051 = HEAP32[(20900)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(20900)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; - var $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, $131 = 0; - var $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, $15 = 0; - var $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, $168 = 0; - var $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, $186 = 0; - var $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, $203 = 0; - var $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, $221 = 0; - var $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, $24 = 0; - var $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, $258 = 0; - var $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, $276 = 0; - var $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, $294 = 0; - var $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, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; - var $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, $60 = 0, $61 = 0; - var $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, $79 = 0, $8 = 0; - var $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, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(20892)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(20896)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(20884)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (20916 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5219]|0; - $38 = $37 & $36; - HEAP32[5219] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (21180 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(20880)>>2]|0; - $81 = $80 & $79; - HEAP32[(20880)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(20892)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(20892)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(20892)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(20900)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(20896)>>2]|0; - if ($121) { - $123 = HEAP32[(20888)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(20888)>>2] = $124; - HEAP32[(20900)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(20896)>>2] = 0; - HEAP32[(20884)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(20884)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(20884)>>2] = $130; - HEAP32[(20896)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (20916 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(20892)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5219]|0; - $154 = $153 & $152; - HEAP32[5219] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(20892)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(20892)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20892)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (21180 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(20880)>>2]|0; - $200 = $199 & $198; - HEAP32[(20880)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(20892)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(20892)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(20892)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(20896)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(20884)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (20916 + ($234<<2)|0); - $236 = HEAP32[5219]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5219] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20892)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (21180 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(20880)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(20880)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(20892)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20892)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(20908)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(20908)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (21332); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(20908)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 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; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 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, $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; - var $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, $79 = 0, $8 = 0, $80 = 0; - var $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, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(20892)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(21356)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(20900)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(20888)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(20900)>>2] = $40; - HEAP32[(20888)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(20896)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(20884)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(20884)>>2] = $storemerge1; - HEAP32[(20896)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (20916 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5219]|0; - $92 = $91 & $90; - HEAP32[5219] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (21180 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(20880)>>2]|0; - $135 = $134 & $133; - HEAP32[(20880)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(20892)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(20892)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(20892)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 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, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(20892)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(20896)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(20884)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (20916 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5219]|0; - $34 = $33 & $32; - HEAP32[5219] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (21180 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(20880)>>2]|0; - $77 = $76 & $75; - HEAP32[(20880)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(20892)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(20892)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(20892)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(20892)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(20900)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(20896)>>2]|0; - if ($115) { - $117 = HEAP32[(20888)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(20888)>>2] = $118; - HEAP32[(20900)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(20896)>>2] = 0; - HEAP32[(20884)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(20884)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(20884)>>2] = $124; - HEAP32[(20896)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (20916 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5219]|0; - $147 = $146 & $145; - HEAP32[5219] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (21180 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(20880)>>2]|0; - $190 = $189 & $188; - HEAP32[(20880)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(20892)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(20892)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(20892)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(20896)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(20884)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (20916 + ($224<<2)|0); - $226 = HEAP32[5219]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5219] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(20892)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (21180 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(20880)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(20880)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(20892)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(20892)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function runPostSets() { -} -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 _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 _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 _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 ___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 _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 _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 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 _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -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 _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) { - ___setErrNo(12); - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - return -1; - } - } - return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _roundf: _roundf, _main: _main, _memset: _memset, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _llvm_cttz_i32: _llvm_cttz_i32, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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__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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _memset = Module["_memset"] = asm["_memset"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; - -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; - -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -}; -ExitStatus.prototype = new Error(); -ExitStatus.prototype.constructor = ExitStatus; - -var initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If 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'] = 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; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - 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; - } -} - - - - -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - Module.printErr('run() called, but dependencies remain, so not running'); - 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(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'] = 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; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/docs/examples/web/others/particles_trail_blending.c b/docs/examples/web/others/particles_trail_blending.c deleted file mode 100644 index 9923ddfe..00000000 --- a/docs/examples/web/others/particles_trail_blending.c +++ /dev/null @@ -1,163 +0,0 @@ -/******************************************************************************************* -* -* raylib [core] example - Basic window (adapted for HTML5 platform) -* -* This example has been created using raylib 1.3 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -#if defined(PLATFORM_WEB) - #include -#endif - -#define MAX_PARTICLES 200 - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -int screenWidth = 800; -int screenHeight = 450; - -// Particle structure with basic data -typedef struct { - Vector2 position; - Color color; - float alpha; - float size; - float rotation; - bool active; // NOTE: Use it to activate/deactive particle -} Particle; - -Particle mouseTail[MAX_PARTICLES]; - -float gravity = 3.0f; - -Texture2D smoke; - -int blending = BLEND_ALPHA; - - -//---------------------------------------------------------------------------------- -// Module Functions Declaration -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void); // Update and Draw one frame - -//---------------------------------------------------------------------------------- -// Main Enry Point -//---------------------------------------------------------------------------------- -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [core] example - basic window"); - - // Initialize particles - for (int i = 0; i < MAX_PARTICLES; i++) - { - mouseTail[i].position = (Vector2){ 0, 0 }; - mouseTail[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; - mouseTail[i].alpha = 1.0f; - mouseTail[i].size = (float)GetRandomValue(1, 30)/20.0f; - mouseTail[i].rotation = GetRandomValue(0, 360); - mouseTail[i].active = false; - } - - smoke = LoadTexture("resources/smoke.png"); - -#if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); -#else - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - UpdateDrawFrame(); - } -#endif - - // De-Initialization - //-------------------------------------------------------------------------------------- - UnloadTexture(smoke); // Texture unloading - - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} - -//---------------------------------------------------------------------------------- -// Module Functions Definition -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void) -{ - // Update - //---------------------------------------------------------------------------------- - // Activate one particle every frame and Update active particles - // NOTE: Particles initial position should be mouse position when activated - // NOTE: Particles fall down with gravity and rotation... and disappear after 2 seconds (alpha = 0) - // NOTE: When a particle disappears, active = false and it can be reused. - for (int i = 0; i < MAX_PARTICLES; i++) - { - if (!mouseTail[i].active) - { - mouseTail[i].active = true; - mouseTail[i].alpha = 1.0f; - mouseTail[i].position = GetMousePosition(); - i = MAX_PARTICLES; - } - } - - for (int i = 0; i < MAX_PARTICLES; i++) - { - if (mouseTail[i].active) - { - mouseTail[i].position.y += gravity; - mouseTail[i].alpha -= 0.01f; - - if (mouseTail[i].alpha <= 0.0f) mouseTail[i].active = false; - - mouseTail[i].rotation += 5.0f; - } - } - - if (IsKeyPressed(KEY_SPACE)) - { - if (blending == BLEND_ALPHA) blending = BLEND_ADDITIVE; - else blending = BLEND_ALPHA; - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(DARKGRAY); - - BeginBlendMode(blending); - - // Draw active particles - for (int i = 0; i < MAX_PARTICLES; i++) - { - if (mouseTail[i].active) DrawTexturePro(smoke, (Rectangle){ 0, 0, smoke.width, smoke.height }, - (Rectangle){ mouseTail[i].position.x, mouseTail[i].position.y, smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size }, - (Vector2){ smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2 }, mouseTail[i].rotation, - Fade(mouseTail[i].color, mouseTail[i].alpha)); - } - - EndBlendMode(); - - DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, BLACK); - - if (blending == BLEND_ALPHA) DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK); - else DrawText("ADDITIVE BLENDING", 280, screenHeight - 40, 20, RAYWHITE); - - EndDrawing(); - //---------------------------------------------------------------------------------- -} \ No newline at end of file diff --git a/docs/examples/web/physac/physics_demo.js b/docs/examples/web/physac/physics_demo.js new file mode 100644 index 00000000..81550e5f --- /dev/null +++ b/docs/examples/web/physac/physics_demo.js @@ -0,0 +1,28789 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +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; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 36064; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,223,136,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,100,101,109,111,0,80,104,121,115,97,99,0,76,101,102,116,32,109,111,117,115,101,32,98,117,116,116,111,110,32,116,111,32,99,114,101,97,116,101,32,97,32,112,111,108,121,103,111,110,0,82,105,103,104,116,32,109,111,117,115,101,32,98,117,116,116,111,110,32,116,111,32,99,114,101,97,116,101,32,97,32,99,105,114,99,108,101,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + 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 ___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 _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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.buffer) { + ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _pthread_join() {} + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _glfwWindowShouldClose(winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.shouldClose; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _glfwWaitEvents() {} + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + } + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _pthread_create() { + return 11; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { 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); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_glfwWindowShouldClose": _glfwWindowShouldClose, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "_glLinkProgram": _glLinkProgram, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_glfwWaitEvents": _glfwWaitEvents, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _glfwWindowShouldClose=env._glfwWindowShouldClose; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var _glLinkProgram=env._glLinkProgram; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _glfwWaitEvents=env._glfwWaitEvents; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14160|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3541] = 1; + HEAPF64[1732] = 0.0; + _InitTimer(); + $1 = HEAP32[3541]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1733] = $3; + $4 = +HEAPF64[1734]; + $5 = $3 - $4; + HEAPF64[1735] = $5; + $6 = +HEAPF64[1732]; + $7 = $5 + $6; + HEAPF64[1732] = $7; + _MathClamp(); + $$pr = +HEAPF64[1732]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1735]; + $10 = +HEAPF64[1732]; + $11 = $10 - $9; + HEAPF64[1732] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1733]; + HEAPF64[1734] = $13; + $14 = HEAP32[3541]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3608]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14436 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3543]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14176 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyCircle($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + $3 = (_CreatePhysicsBodyPolygon($$byval_copy,$1,24,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0; + var $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.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.0; + var $125 = 0.0, $126 = 0, $127 = 0.0, $128 = 0.0, $129 = 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, $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.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.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.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0; + var $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $tmpcast$byval_copy = 0; + var $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 432|0; + $tmpcast$byval_copy = sp + 424|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (_malloc(500)|0); + $8 = HEAP32[3542]|0; + $9 = (($8) + 500)|0; + HEAP32[3542] = $9; + $10 = HEAP32[3543]|0; + $11 = ($10|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($11) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $14 = (14176 + ($$0119144<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==($$0116149|0); + $13 = (($$0119144) + 1)|0; + if ($17) { + break; + } + $12 = ($13>>>0)<($10>>>0); + if ($12) { + $$0119144 = $13; + } else { + label = 6; + break L1; + } + } + $18 = (($$0116149) + 1)|0; + $19 = ($18|0)<(64); + if ($19) { + $$0116149 = $18; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($7|0); + } + if ((label|0) == 6) { + $20 = ($$0116149|0)==(-1); + if ($20) { + STACKTOP = sp;return ($7|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$7>>2] = $$0116149158159; + $21 = ((($7)) + 4|0); + HEAP32[$21>>2] = 1; + $22 = ((($7)) + 8|0); + $23 = $0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $$sroa$049$0$$sroa_idx = ((($7)) + 16|0); + $33 = ((($7)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$33>>2] = 1; + $34 = ((($7)) + 88|0); + HEAP32[$34>>2] = $7; + $35 = ((($7)) + 96|0); + _CreateRandomPolygon($4,$1,$2); + _memcpy(($35|0),($4|0),404)|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $38 = ((($7)) + 100|0); + $39 = ((($5)) + 4|0); + $40 = ((($6)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $50 = (($38) + ($$0120136<<3)|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = $5; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $56; + $61 = (($$0120136) + 1)|0; + $62 = HEAP32[$35>>2]|0; + $63 = ($61>>>0)<($62>>>0); + $64 = $63 ? $61 : 0; + $65 = (($38) + ($64<<3)|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $6; + $73 = $72; + HEAP32[$73>>2] = $68; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $71; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + $76 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $77 = $76 * 0.5; + $42 = $$0122133 + $77; + $78 = $77 * 0.3333333432674408; + $79 = +HEAPF32[$5>>2]; + $80 = +HEAPF32[$6>>2]; + $81 = $79 + $80; + $82 = $78 * $81; + $44 = $$sroa$0$0132 + $82; + $83 = +HEAPF32[$39>>2]; + $84 = +HEAPF32[$40>>2]; + $85 = $83 + $84; + $86 = $78 * $85; + $46 = $$sroa$8$0135 + $86; + $87 = $79 * $79; + $88 = $79 * $80; + $89 = $87 + $88; + $90 = $80 * $80; + $91 = $90 + $89; + $92 = $83 * $83; + $93 = $83 * $84; + $94 = $92 + $93; + $95 = $84 * $84; + $96 = $95 + $94; + $97 = $76 * 0.083333335816860198; + $98 = $91 + $96; + $99 = $97 * $98; + $100 = $$0121134 + $99; + $48 = HEAP32[$35>>2]|0; + $101 = ($61>>>0)<($48>>>0); + if ($101) { + $$0120136 = $61;$$0121134 = $100;$$0122133 = $42;$$sroa$0$0132 = $44;$$sroa$8$0135 = $46; + } else { + break; + } + } + $41 = 1.0 / $42; + $43 = $44 * $41; + $45 = $41 * $46; + $47 = ($48|0)==(0); + if ($47) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + } else { + $49 = ((($7)) + 100|0); + $$0131 = 0; + while(1) { + $123 = (($49) + ($$0131<<3)|0); + $124 = +HEAPF32[$123>>2]; + $125 = $124 - $43; + HEAPF32[$123>>2] = $125; + $126 = (((($49) + ($$0131<<3)|0)) + 4|0); + $127 = +HEAPF32[$126>>2]; + $128 = $127 - $45; + HEAPF32[$126>>2] = $128; + $129 = (($$0131) + 1)|0; + $exitcond = ($129|0)==($48|0); + if ($exitcond) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + break; + } else { + $$0131 = $129; + } + } + } + } + $102 = $$0122$lcssa160 * $3; + $103 = ((($7)) + 52|0); + HEAPF32[$103>>2] = $102; + $104 = $102 != 0.0; + $105 = 1.0 / $102; + $106 = $104 ? $105 : 0.0; + $107 = ((($7)) + 56|0); + HEAPF32[$107>>2] = $106; + $108 = $$0121$lcssa161 * $3; + $109 = ((($7)) + 44|0); + HEAPF32[$109>>2] = $108; + $110 = $108 != 0.0; + $111 = 1.0 / $108; + $112 = $110 ? $111 : 0.0; + $113 = ((($7)) + 48|0); + HEAPF32[$113>>2] = $112; + $114 = ((($7)) + 60|0); + HEAPF32[$114>>2] = 0.40000000596046448; + $115 = ((($7)) + 64|0); + HEAPF32[$115>>2] = 0.20000000298023224; + $116 = ((($7)) + 68|0); + HEAPF32[$116>>2] = 0.0; + $117 = ((($7)) + 72|0); + HEAP32[$117>>2] = 1; + $118 = ((($7)) + 76|0); + HEAP32[$118>>2] = 0; + $119 = ((($7)) + 80|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[3543]|0; + $121 = (14176 + ($120<<2)|0); + HEAP32[$121>>2] = $7; + $122 = (($120) + 1)|0; + HEAP32[3543] = $122; + STACKTOP = sp;return ($7|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $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.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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; + var $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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3542]|0; + $10 = (($9) + 500)|0; + HEAP32[3542] = $10; + $11 = HEAP32[3543]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14176 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3543]|0; + $123 = (14176 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3543] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _CreateRandomPolygon($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02829 = 0, $$030 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$pr = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; + var $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.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.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 4|0); + _memset(($6|0),0,400)|0; + HEAP32[$3>>2] = $2; + $7 = (_GetRandomNumber()|0); + $8 = (+($7|0)); + $9 = ((($3)) + 388|0); + $10 = $8; + $11 = $10 * 0.017453292519943295; + $12 = $11; + _Mat2Radians($4,$12); + ;HEAP32[$9>>2]=HEAP32[$4>>2]|0;HEAP32[$9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$4+12>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $15 = (360 / ($2|0))&-1; + $16 = HEAP32[$3>>2]|0; + $$030 = 0; + while(1) { + $19 = Math_imul($15, $$030)|0; + $20 = (+($19|0)); + $21 = $20 * 0.017453292519943295; + $22 = $21; + $23 = (+Math_cos((+$22))); + $24 = $23 * $1; + $25 = (((($3)) + 4|0) + ($$030<<3)|0); + HEAPF32[$25>>2] = $24; + $26 = (+Math_sin((+$22))); + $27 = $26 * $1; + $28 = (((((($3)) + 4|0) + ($$030<<3)|0)) + 4|0); + HEAPF32[$28>>2] = $27; + $29 = (($$030) + 1)|0; + $30 = ($29>>>0)<($16>>>0); + if ($30) { + $$030 = $29; + } else { + break; + } + } + $$pr = HEAP32[$3>>2]|0; + $17 = ($$pr|0)==(0); + if ($17) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $18 = ((($5)) + 4|0); + $$02829 = 0; + while(1) { + $31 = (($$02829) + 1)|0; + $32 = ($31|0)<($2|0); + $33 = $32 ? $31 : 0; + $34 = (((($3)) + 4|0) + ($33<<3)|0); + $35 = (((($3)) + 4|0) + ($$02829<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$35+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $36 = (((($3)) + 196|0) + ($$02829<<3)|0); + $37 = HEAP32[$18>>2]|0; + $38 = +HEAPF32[$5>>2]; + $39 = -$38; + HEAP32[$36>>2] = $37; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$02829<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $39; + _MathNormalize($36); + $40 = HEAP32[$3>>2]|0; + $41 = ($31>>>0)<($40>>>0); + if ($41) { + $$02829 = $31; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3543]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3543]|0; + $$02023 = 0; + while(1) { + $6 = (14176 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14176 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3542]|0; + $15 = (($14) + -500)|0; + HEAP32[3542] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3543]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3543]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14176 + ($$022<<2)|0); + $25 = (14176 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3543] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3543]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3543]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14176 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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; + $1 = HEAP32[3543]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14176 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ResetPhysics() { + var $$0 = 0, $$016 = 0, $$01620 = 0, $$01621 = 0, $$018 = 0, $$019 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3543]|0; + $$01620 = (($0) + -1)|0; + $1 = ($$01620|0)>(-1); + if ($1) { + $$01621 = $$01620; + while(1) { + $4 = (14176 + ($$01621<<2)|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + _free($5); + $8 = HEAP32[3542]|0; + $9 = (($8) + -500)|0; + HEAP32[3542] = $9; + } + $$016 = (($$01621) + -1)|0; + $7 = ($$016|0)>(-1); + if ($7) { + $$01621 = $$016; + } else { + break; + } + } + } + HEAP32[3543] = 0; + $2 = HEAP32[3608]|0; + $$018 = (($2) + -1)|0; + $3 = ($$018|0)>(-1); + if ($3) { + $$019 = $$018; + } else { + HEAP32[3608] = 0; + return; + } + while(1) { + $10 = (14436 + ($$019<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if (!($12)) { + _free($11); + $14 = HEAP32[3542]|0; + $15 = (($14) + -56)|0; + HEAP32[3542] = $15; + } + $$0 = (($$019) + -1)|0; + $13 = ($$0|0)>(-1); + if ($13) { + $$019 = $$0; + } else { + break; + } + } + HEAP32[3608] = 0; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3541] = 0; + $0 = HEAP32[3540]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$07279 = 0, $$07375 = 0, $$07375$in = 0, $$076 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; + var $57 = 0, $58 = 0.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, $8 = 0, $9 = 0, $exitcond = 0, $exitcond86 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy9 = sp + 112|0; + $$byval_copy8 = sp + 104|0; + $$byval_copy7 = sp + 96|0; + $0 = sp + 88|0; + $1 = sp + 80|0; + $2 = sp + 72|0; + $3 = sp + 64|0; + $4 = sp + 56|0; + $5 = sp + 48|0; + $6 = sp + 124|0; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 120|0; + $10 = sp + 40|0; + $11 = sp + 36|0; + $12 = sp + 32|0; + $13 = sp + 16|0; + $14 = sp; + _SetConfigFlags(32); + _InitWindow(800,450,3480); + _SetTargetFPS(60); + $15 = (_MeasureText(3511,30)|0); + $16 = (800 - ($15))|0; + $17 = (($16) + -10)|0; + _InitPhysics(); + HEAPF32[$0>>2] = 400.0; + $18 = ((($0)) + 4|0); + HEAPF32[$18>>2] = 450.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$0+4>>2]|0; + $19 = (_CreatePhysicsBodyRectangle($$byval_copy9,500.0,100.0,10.0)|0); + $20 = ((($19)) + 4|0); + HEAP32[$20>>2] = 0; + HEAPF32[$1>>2] = 400.0; + $21 = ((($1)) + 4|0); + HEAPF32[$21>>2] = 225.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$1+4>>2]|0; + $22 = (_CreatePhysicsBodyCircle($$byval_copy9,45.0,10.0)|0); + $23 = ((($22)) + 4|0); + HEAP32[$23>>2] = 0; + $24 = (_WindowShouldClose()|0); + $25 = ($24|0)==(0); + if (!($25)) { + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; + } + $26 = ((($6)) + 1|0); + $27 = ((($6)) + 2|0); + $28 = ((($6)) + 3|0); + $29 = (($16) + 40)|0; + $30 = ((($9)) + 1|0); + $31 = ((($9)) + 2|0); + $32 = ((($9)) + 3|0); + $33 = ((($2)) + 4|0); + $34 = ((($3)) + 4|0); + while(1) { + $35 = (_IsKeyPressed(82)|0); + $36 = ($35|0)==(0); + if (!($36)) { + _ResetPhysics(); + HEAPF32[$2>>2] = 400.0; + HEAPF32[$33>>2] = 450.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0; + $37 = (_CreatePhysicsBodyRectangle($$byval_copy9,500.0,100.0,10.0)|0); + $38 = ((($37)) + 4|0); + HEAP32[$38>>2] = 0; + HEAPF32[$3>>2] = 400.0; + HEAPF32[$34>>2] = 225.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$3+4>>2]|0; + $39 = (_CreatePhysicsBodyCircle($$byval_copy9,45.0,10.0)|0); + $40 = ((($39)) + 4|0); + HEAP32[$40>>2] = 0; + } + $41 = (_IsMouseButtonPressed(0)|0); + $42 = ($41|0)==(0); + if ($42) { + $46 = (_IsMouseButtonPressed(1)|0); + $47 = ($46|0)==(0); + if (!($47)) { + _GetMousePosition($5); + $48 = (_GetRandomValue(10,45)|0); + $49 = (+($48|0)); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0; + (_CreatePhysicsBodyCircle($$byval_copy9,$49,10.0)|0); + } + } else { + _GetMousePosition($4); + $43 = (_GetRandomValue(20,80)|0); + $44 = (+($43|0)); + $45 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$4+4>>2]|0; + (_CreatePhysicsBodyPolygon($$byval_copy9,$44,$45,10.0)|0); + } + $50 = (_GetPhysicsBodiesCount()|0); + $51 = ($50|0)>(0); + if ($51) { + $$07375$in = $50; + while(1) { + $$07375 = (($$07375$in) + -1)|0; + $54 = (_GetPhysicsBody($$07375)|0); + $55 = ($54|0)==(0|0); + if (!($55)) { + $57 = ((($54)) + 12|0); + $58 = +HEAPF32[$57>>2]; + $59 = $58 > 900.0; + if ($59) { + _DestroyPhysicsBody($54); + } + } + $56 = ($$07375$in|0)>(1); + if ($56) { + $$07375$in = $$07375; + } else { + break; + } + } + } + _BeginDrawing(); + HEAP8[$6>>0] = 0; + HEAP8[$26>>0] = 0; + HEAP8[$27>>0] = 0; + HEAP8[$28>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$6+3>>0]|0; + _ClearBackground($$byval_copy9); + _DrawFPS(710,420); + $52 = (_GetPhysicsBodiesCount()|0); + $53 = ($52|0)>(0); + if ($53) { + $$07279 = 0; + while(1) { + $62 = (_GetPhysicsBody($$07279)|0); + $63 = ($62|0)==(0|0); + if (!($63)) { + $64 = (_GetPhysicsShapeVerticesCount($$07279)|0); + $65 = ($64|0)>(0); + if ($65) { + $$076 = 0; + while(1) { + _GetPhysicsShapeVertex($7,$62,$$076); + $66 = (($$076) + 1)|0; + $67 = ($66|0)<($64|0); + $68 = $67 ? $66 : 0; + _GetPhysicsShapeVertex($8,$62,$68); + HEAP8[$9>>0] = 0; + HEAP8[$30>>0] = -28; + HEAP8[$31>>0] = 48; + HEAP8[$32>>0] = -1; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; + _DrawLineV($$byval_copy7,$$byval_copy8,$$byval_copy9); + $exitcond = ($66|0)==($64|0); + if ($exitcond) { + break; + } else { + $$076 = $66; + } + } + } + } + $69 = (($$07279) + 1)|0; + $exitcond86 = ($69|0)==($52|0); + if ($exitcond86) { + break; + } else { + $$07279 = $69; + } + } + } + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3518,10,10,10,$$byval_copy9); + HEAP32[$11>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(3556,10,25,10,$$byval_copy9); + HEAP32[$12>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(3594,10,40,10,$$byval_copy9); + HEAP32[$13>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(3511,$17,15,30,$$byval_copy9); + HEAP32[$14>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$14+3>>0]|0; + _DrawText(3621,$29,8,10,$$byval_copy9); + _EndDrawing(); + $60 = (_WindowShouldClose()|0); + $61 = ($60|0)==(0); + if (!($61)) { + break; + } + } + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _GetRandomNumber() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_rand()|0); + $1 = (($0|0) % 361)&-1; + return ($1|0); +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1734] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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); + $0 = sp; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,0)|0); + $5 = tempRet0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_i64Add(($4|0),($5|0),($7|0),($9|0))|0); + $11 = tempRet0; + $12 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1732]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1732] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7705]|0; + $1 = (($0) + 1)|0; + HEAP32[7705] = $1; + $2 = HEAP32[3608]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14436 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3543]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14176 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3543]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14176 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3543]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14176 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3543]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3543]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3543]|0; + $$0135158 = 0; + while(1) { + $103 = (14176 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3608]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3608]|0; + $$0136156 = 0; + while(1) { + $108 = (14436 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3608]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14436 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3608]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3543]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3543]|0; + $$0131150 = 0; + while(1) { + $128 = (14176 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3608]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3608]|0; + $$0129148 = 0; + while(1) { + $136 = (14436 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3543]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3543]|0; + $$0127147 = 0; + while(1) { + $141 = (14176 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3608]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3608]|0; + $$02023 = 0; + while(1) { + $6 = (14436 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14436 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3542]|0; + $15 = (($14) + -56)|0; + HEAP32[3542] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3608]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3608]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14436 + ($$022<<2)|0); + $25 = (14436 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3608] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3542]|0; + $4 = (($3) + 56)|0; + HEAP32[3542] = $4; + $5 = HEAP32[3608]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14436 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3608]|0; + $20 = (14436 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3608] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1735]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7706]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[2]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.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.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7706]; + $43 = $42; + $44 = +HEAPF64[1735]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[2]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1735]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0; + var $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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $154 = 0, $155 = 0, $156 = 0.0; + var $157 = 0.0, $158 = 0.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, $2 = 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; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 0, $10 = 0, $100 = 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.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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 $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, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $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, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7708] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13888; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13928; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3482]; + $111 = +HEAPF32[3472]; + $112 = $110 - $111; + HEAPF32[3484] = $112; + $113 = +HEAPF32[(13932)>>2]; + $114 = +HEAPF32[(13892)>>2]; + $115 = $113 - $114; + HEAPF32[(13940)>>2] = $115; + HEAP32[7707] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13920+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13944+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7713] = $116; + $117 = 13920; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13888; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13944; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13928; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13920; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13944; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3486]; + $160 = +HEAPF32[3480]; + $161 = $159 - $160; + HEAPF32[3484] = $161; + $162 = +HEAPF32[(13948)>>2]; + $163 = +HEAPF32[(13924)>>2]; + $164 = $162 - $163; + HEAPF32[(13940)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13920+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13928+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13944+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13920+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13944+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7713]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7707] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13920+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13944>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13944+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7714] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7713] = 0.0; + HEAPF32[7714] = 0.0; + HEAPF32[3484] = 0.0; + HEAPF32[(13940)>>2] = 0.0; + HEAP32[7708] = 0; + HEAP32[7707] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7709]|0; + $7 = (($6) + 1)|0; + HEAP32[7709] = $7; + $8 = HEAP32[7707]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7707] = 2; + HEAP32[7709] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7709] = 1; + HEAP32[7707] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13888; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13896; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13904; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[3] = $34; + HEAPF32[3478] = 0.0; + HEAPF32[(13916)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7707]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13904; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7710] = $49; + HEAP32[7711] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[3]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7712] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7710] = 0.0; + HEAPF32[7712] = 0.0; + $$sink10 = 0; + } + HEAP32[7707] = $$sink10; + HEAPF32[3474] = 0.0; + HEAPF32[(13900)>>2] = 0.0; + HEAP32[7708] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7711]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7711] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13920; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7707]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13920+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7707] = 8; + } + } + $82 = +HEAPF32[3480]; + $83 = +HEAPF32[3474]; + $84 = $82 - $83; + HEAPF32[3478] = $84; + $85 = +HEAPF32[(13924)>>2]; + $86 = +HEAPF32[(13900)>>2]; + $87 = $85 - $86; + HEAPF32[(13916)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7707]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7708]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7707] = 4; + } + $4 = HEAP32[7707]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7707] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 13952; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7717]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7716]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,3632,$vararg_buffer); + HEAP32[7719] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_10(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3661|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3661|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3661|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3661|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3661|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3661|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7717]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3488] = $5; + $6 = HEAP32[7716]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13956)>>2] = $8; + $9 = HEAP32[7720]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13992>>0]=HEAP8[8190>>0]|0;HEAP8[13992+1>>0]=HEAP8[8190+1>>0]|0;HEAP8[13992+2>>0]=HEAP8[8190+2>>0]|0;HEAP8[13992+3>>0]=HEAP8[8190+3>>0]|0;HEAP8[13992+4>>0]=HEAP8[8190+4>>0]|0;HEAP8[13992+5>>0]=HEAP8[8190+5>>0]|0;HEAP8[13992+6>>0]=HEAP8[8190+6>>0]|0; + break; + } + case 1: { + $3 = 13992; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13992; src=8197; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13992; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13992,$1)|0); + $strlen = (_strlen(13992)|0); + $endptr = (13992 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13992,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7717] = $0; + HEAP32[7716] = $1; + _MatrixIdentity($2); + dest=30956; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4332,$vararg_buffer); + } + $6 = HEAP32[7717]|0; + HEAP32[7755] = $6; + $7 = HEAP32[7716]|0; + HEAP32[7756] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[33680]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[33680]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[33680]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4358,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7757]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7717]|0; + $48 = HEAP32[7716]|0; + $49 = HEAP32[7719]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7715] = $50; + $51 = HEAP32[7717]|0; + HEAP32[7758] = $51; + $52 = HEAP32[7716]|0; + HEAP32[7759] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7717]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7716]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7755] = $31; + HEAP32[7756] = $34; + } + } while(0); + $38 = HEAP32[7755]|0; + $39 = HEAP32[7756]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4383,$vararg_buffer3); + $40 = HEAP32[7755]|0; + $41 = HEAP32[7756]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7755]|0; + $43 = HEAP32[7756]|0; + $44 = HEAP32[7719]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7715] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4421,$vararg_buffer6); + } else { + _TraceLog(0,4454,$vararg_buffer8); + $55 = HEAP32[7758]|0; + $56 = HEAP32[7759]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4494,$vararg_buffer10); + $57 = HEAP32[7717]|0; + $58 = HEAP32[7716]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4515,$vararg_buffer14); + $59 = HEAP32[7760]|0; + $60 = HEAP32[7761]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4536,$vararg_buffer18); + } + $61 = HEAP32[7715]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7715]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7715]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7715]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7715]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7715]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7715]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7715]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7715]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[33680]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7717]|0; + $74 = HEAP32[7716]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7758]|0; + $76 = HEAP32[7760]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7759]|0; + $80 = HEAP32[7761]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4561,$vararg_buffer22); + $73 = HEAP32[7717]|0; + $74 = HEAP32[7716]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7758]|0; + $76 = HEAP32[7760]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7759]|0; + $80 = HEAP32[7761]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(30924)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (16 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[30900>>2]=HEAP32[$1>>2]|0;HEAP32[30900+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[30900+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[30900+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[30900+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(30924)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(30928)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30920)>>2] = $23; + $24 = HEAP32[7725]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3856,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(30904)>>2]|0; + $10 = HEAP32[(30924)>>2]|0; + $11 = HEAP32[(30928)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2064 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30920)>>2] = $23; + $24 = HEAP32[7725]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3856,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_10() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1748] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3789,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3720,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3713)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13968; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13976); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (30884 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1745] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3669,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7720] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4232,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7733]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3901,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7734]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3945,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7735]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3990,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7736]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,4035,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7737]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4080,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7733]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7733]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7733]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7733]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7734]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7735]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7735]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7736]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7736]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7737]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7737]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4125,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7738]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4203,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4154,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4286,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8152,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7717]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7716]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7758] = $3; + HEAP32[7759] = $5; + HEAP32[7760] = 0; + HEAP32[7761] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8086,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7717]|0; + $36 = (+($35|0)); + $37 = HEAP32[7716]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7758] = $45; + HEAP32[7759] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7760] = $46; + $$sink1 = 0; + } else { + HEAP32[7758] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7759] = $42; + HEAP32[7760] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7761] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7716]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7943,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7717]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7716]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7758] = $23; + HEAP32[7759] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7760] = $24; + $$sink = 0; + } else { + HEAP32[7758] = $0; + $17 = HEAP32[7716]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7759] = $20; + HEAP32[7760] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7761] = $$sink; + $25 = HEAP32[7758]|0; + $26 = (+($25|0)); + $27 = HEAP32[7717]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=30956; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7758] = $0; + HEAP32[7759] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,8021,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7717] = $1; + HEAP32[7716] = $2; + HEAP32[7758] = $1; + HEAP32[7759] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[741]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (33687 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[740] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (33681 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13968; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[740] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8131] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8130] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4584,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4602,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4620,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4638,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4656)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4658,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4693)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7796] = 1; + $27 = (_eglGetProcAddress((4720|0))|0); + HEAP32[7797] = $27; + $28 = (_eglGetProcAddress((4741|0))|0); + HEAP32[7798] = $28; + $29 = (_eglGetProcAddress((4762|0))|0); + HEAP32[7799] = $29; + } + $30 = (_strcmp($24,4786)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7738] = 1; + } + $32 = (_strcmp($24,4806)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4838)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4871)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7733] = 1; + } + $39 = (_strcmp($24,4911)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4947)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7734] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4980)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7735] = 1; + } + $47 = (_strcmp($44,5005)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7736] = 1; + } + $49 = (_strcmp($44,5038)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7737] = 1; + } + $51 = (_strcmp($44,5074)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7800] = 1; + _glGetFloatv(34047,(31204|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5108)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7802] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7796]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5211,$vararg_buffer15); + } else { + _TraceLog(0,5136,$vararg_buffer13); + } + $57 = HEAP32[7738]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5347,$vararg_buffer19); + } else { + _TraceLog(0,5272,$vararg_buffer17); + } + $59 = HEAP32[7733]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5439,$vararg_buffer21); + } + $61 = HEAP32[7734]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5485,$vararg_buffer23); + } + $63 = HEAP32[7735]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5532,$vararg_buffer25); + } + $65 = HEAP32[7736]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5583,$vararg_buffer27); + } + $67 = HEAP32[7737]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5630,$vararg_buffer29); + } + $69 = HEAP32[7800]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7801]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5677,$vararg_buffer31); + } + $73 = HEAP32[7802]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5743,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7803] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5847,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5796,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31216; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31272; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7832] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7832]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7833] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7834] = 1; + $85 = HEAP32[7803]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7835] = 4; + _MatrixIdentity($4); + dest=31344; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31408); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31472); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31536); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31600); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31664); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31728); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31792); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31856); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31920); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31984); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32048); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32112); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32176); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32240); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32304); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=31052; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=31116; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7762] = 31116; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8092] = $0; + HEAP32[8093] = $1; + _TraceLog(0,5886,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7760]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7761]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7758]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7759]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31052; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31116; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7762] = $modelview$sink; + } + HEAP32[7795] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[7762]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7762]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6462|0),489)|0; + _memcpy(($3|0),(6951|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7440,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7392,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32388)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32396)>>2] = $1; + HEAP32[(32392)>>2] = 0; + HEAP32[(32400)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32396)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8094] = 0; + HEAP32[(32384)>>2] = 0; + HEAP32[(32380)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32436)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32444)>>2] = $6; + HEAP32[(32440)>>2] = 0; + HEAP32[(32448)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32444)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8106] = 0; + HEAP32[(32432)>>2] = 0; + HEAP32[(32428)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32484)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32488)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32492)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32496)>>2] = $13; + $14 = HEAP32[(32484)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32488)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32492)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32496)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8118] = 0; + HEAP32[(32476)>>2] = 0; + HEAP32[(32480)>>2] = 0; + _TraceLog(0,5933,$vararg_buffer); + $20 = HEAP32[7796]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7797]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32404)); + $44 = HEAP32[7798]|0; + $45 = HEAP32[(32404)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32408)|0)); + $46 = HEAP32[(32408)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32388)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31276)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31276)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32412)|0)); + $50 = HEAP32[(32412)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32396)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31296)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31296)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7796]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32408)>>2]|0; + $58 = HEAP32[(32412)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6071,$vararg_buffer3); + } else { + $56 = HEAP32[(32404)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,6006,$vararg_buffer1); + } + $59 = HEAP32[7796]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7797]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32452)); + $62 = HEAP32[7798]|0; + $63 = HEAP32[(32452)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32456)|0)); + $64 = HEAP32[(32456)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32436)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31276)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31276)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32460)|0)); + $68 = HEAP32[(32460)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32444)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31296)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31296)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7796]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32456)>>2]|0; + $76 = HEAP32[(32460)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6217,$vararg_buffer10); + } else { + $74 = HEAP32[(32452)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6148,$vararg_buffer7); + } + $77 = HEAP32[7796]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7797]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32500)); + $80 = HEAP32[7798]|0; + $81 = HEAP32[(32500)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32504)|0)); + $82 = HEAP32[(32504)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32484)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31276)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31276)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32508)|0)); + $86 = HEAP32[(32508)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32488)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31280)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31280)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32512)|0)); + $90 = HEAP32[(32512)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32492)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31296)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31296)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32516)|0)); + $94 = HEAP32[(32516)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32496)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7796]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32504)>>2]|0; + $100 = HEAP32[(32508)>>2]|0; + $101 = HEAP32[(32512)>>2]|0; + $102 = HEAP32[(32516)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6363,$vararg_buffer17); + } else { + $98 = HEAP32[(32500)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6298,$vararg_buffer14); + } + $103 = HEAP32[7796]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7798]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7696,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7644,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7693,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7797,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7746,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7693,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7488|0)); + _glBindAttribLocation(($20|0),1,(7503|0)); + _glBindAttribLocation(($20|0),2,(7534|0)); + _glBindAttribLocation(($20|0),3,(7561|0)); + _glBindAttribLocation(($20|0),4,(7547|0)); + _glBindAttribLocation(($20|0),5,(7518|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7849,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7693,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7895,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7488|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7503|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7518|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7534|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7547|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7561|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7573|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7583|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7594|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7605|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7617|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7626|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7635|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33681 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33684 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33681 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33684 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7715]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8207,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[30900>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[30900+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[30900+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[30900+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[30900+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(30928)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31212|0)); + $0 = HEAP32[7803]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8234,$vararg_buffer); + $1 = HEAP32[7833]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7804]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[7796]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7798]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32408)|0)); + _glDeleteBuffers(1,((32412)|0)); + _glDeleteBuffers(1,((32456)|0)); + _glDeleteBuffers(1,((32460)|0)); + _glDeleteBuffers(1,((32504)|0)); + _glDeleteBuffers(1,((32508)|0)); + _glDeleteBuffers(1,((32512)|0)); + _glDeleteBuffers(1,((32516)|0)); + $3 = HEAP32[7796]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7799]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32404)); + $6 = HEAP32[7799]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32452)); + $7 = HEAP32[7799]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32500)); + } + $8 = HEAP32[(32388)>>2]|0; + _free($8); + $9 = HEAP32[(32396)>>2]|0; + _free($9); + $10 = HEAP32[(32436)>>2]|0; + _free($10); + $11 = HEAP32[(32444)>>2]|0; + _free($11); + $12 = HEAP32[(32484)>>2]|0; + _free($12); + $13 = HEAP32[(32488)>>2]|0; + _free($13); + $14 = HEAP32[(32492)>>2]|0; + _free($14); + $15 = HEAP32[(32496)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8299,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _WindowShouldClose() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8130]|0; + $1 = ($0|0)==(0); + if (!($1)) { + while(1) { + _glfwWaitEvents(); + $2 = HEAP32[8130]|0; + $3 = ($2|0)==(0); + if ($3) { + break; + } + } + } + $4 = HEAP32[7715]|0; + $5 = (_glfwWindowShouldClose(($4|0))|0); + return ($5|0); +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1765] = $0; + $1 = +HEAPF64[1748]; + $2 = $0 - $1; + HEAPF64[1766] = $2; + HEAPF64[1748] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=30956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32528); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8132] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32532)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32536)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32540)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32544)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32548)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32552)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32556)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32560)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32564)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32568)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32572)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32576)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32580)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32584)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32588)>>2] = $31; + return (32528|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7762]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1765] = $0; + $1 = +HEAPF64[1748]; + $2 = $0 - $1; + HEAPF64[1767] = $2; + HEAPF64[1748] = $0; + $3 = +HEAPF64[1766]; + $4 = $2 + $3; + HEAPF64[1768] = $4; + $5 = +HEAPF64[1745]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1765] = $10; + $11 = +HEAPF64[1748]; + $12 = $10 - $11; + HEAPF64[1748] = $10; + $13 = +HEAPF64[1768]; + $14 = $12 + $13; + HEAPF64[1768] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7715]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[740] = -1; + HEAP32[742] = -1; + HEAP32[8148] = 0; + $3 = HEAP32[7715]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3488] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13956)>>2] = $7; + _memcpy((34199|0),(33687|0),512)|0; + ;HEAP8[33684>>0]=HEAP8[33681>>0]|0;HEAP8[33684+1>>0]=HEAP8[33681+1>>0]|0;HEAP8[33684+2>>0]=HEAP8[33681+2>>0]|0; + $8 = HEAP32[8131]|0; + HEAP32[7718] = $8; + HEAP32[8131] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (34711 + ($$05160<<5)|0); + $scevgep67 = (34839 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((34839 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[742] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32596 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8148] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8094]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7796]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7798]|0; + $5 = HEAP32[(32404)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32408)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8094]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32388)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32412)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32384)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32396)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8106]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7796]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7798]|0; + $19 = HEAP32[(32452)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32456)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8106]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32436)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32460)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32432)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32444)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8118]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7796]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7798]|0; + $33 = HEAP32[(32500)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32504)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8118]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32484)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32508)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8118]|0; + $40 = $39 << 3; + $41 = HEAP32[(32488)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32512)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8118]|0; + $44 = $43 << 2; + $45 = HEAP32[(32492)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7796]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7798]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31052; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=31116; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[8181]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8094]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8106]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8118]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7818]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31116; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=31052; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31300)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31304)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31316)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8094]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7803]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7796]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32408)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31276)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31276)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32412)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31296)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31296)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7798]|0; + $25 = HEAP32[(32404)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8094]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7796]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8106]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7803]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7796]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32456)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31276)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31276)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32460)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31296)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31296)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7798]|0; + $41 = HEAP32[(32452)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8106]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7796]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8118]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7796]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32504)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31276)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31276)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32508)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31280)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31280)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32512)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31296)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31296)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32516)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7798]|0; + $56 = HEAP32[(32500)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7834]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7833]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7833]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7834]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7796]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7796]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7798]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7834] = 1; + $5 = HEAP32[7803]|0; + $6 = HEAP32[7833]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8094] = 0; + HEAP32[(32384)>>2] = 0; + HEAP32[8106] = 0; + HEAP32[(32432)>>2] = 0; + HEAP32[8118] = 0; + HEAP32[(32476)>>2] = 0; + HEAP32[(32480)>>2] = 0; + HEAPF32[743] = -1.0; + dest=31052; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31116; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[8092]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8093]|0; + _rlViewport($7,0,$8,$9); + $10 = (32956 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32828 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31116; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31052; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[8271]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8349,$vararg_buffer); + } + $2 = HEAP32[8271]|0; + $3 = (31344 + ($2<<6)|0); + $4 = HEAP32[7762]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[8271]|0; + $6 = (($5) + 1)|0; + HEAP32[8271] = $6; + $7 = HEAP32[7795]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8272] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8271]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8271]|0; + $3 = (($2) + -1)|0; + $4 = (31344 + ($3<<6)|0); + $5 = HEAP32[7762]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8271] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1768]; + $1 = $0; + return (+$1); +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[33680] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7720] = 1; + } + $3 = HEAP8[33680]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7757] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33687 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (34199 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7762]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[7762]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7835] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[8272]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8273]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7832]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7762]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8273]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8272] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7832]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8273]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8272] = 0; + } + HEAP32[8273] = 0; + } + $21 = HEAP32[7835]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8094]|0; + $23 = HEAP32[(32384)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32396)>>2]|0; + $28 = HEAP32[(32384)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32396)>>2]|0; + $35 = HEAP32[(32384)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32396)>>2]|0; + $43 = HEAP32[(32384)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32396)>>2]|0; + $51 = HEAP32[(32384)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32384)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32384)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8106]|0; + $62 = HEAP32[(32432)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32444)>>2]|0; + $67 = HEAP32[(32432)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32444)>>2]|0; + $74 = HEAP32[(32432)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32444)>>2]|0; + $82 = HEAP32[(32432)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32444)>>2]|0; + $90 = HEAP32[(32432)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32432)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32432)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8118]|0; + $101 = HEAP32[(32480)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32492)>>2]|0; + $106 = HEAP32[(32480)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32492)>>2]|0; + $113 = HEAP32[(32480)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32492)>>2]|0; + $121 = HEAP32[(32480)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32492)>>2]|0; + $129 = HEAP32[(32480)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32480)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32480)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8118]|0; + $140 = HEAP32[(32476)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32488)>>2]|0; + $$promoted = HEAP32[(32476)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32476)>>2] = $147; + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[8272]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7832]|0; + $6 = HEAP32[8273]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8273] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7835]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8094]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32388)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8094] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8387,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8106]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32436)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8106] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8412,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8118]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32484)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8118] = $41; + $42 = HEAP32[7833]|0; + $43 = HEAP32[7834]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8441,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[743]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7835]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32488)>>2]|0; + $5 = HEAP32[(32476)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32476)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7835]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32384);$$sink38 = (32396); + break; + } + case 4: { + $$sink37 = (32432);$$sink38 = (32444); + break; + } + case 7: { + $$sink37 = (32480);$$sink38 = (32492); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[7833]|0; + $2 = HEAP32[7834]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7834] = $10; + } + $11 = HEAP32[7834]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8118]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[30900>>2]|0;HEAP32[$0+4>>2]=HEAP32[30900+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[30900+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[30900+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[30900+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[30900+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[30900+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[30900+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 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; + (_vsprintf(34967,$0,$1)|0); + STACKTOP = sp;return (34967|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8274]|0; + $4 = HEAP32[744]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8275] = $7; + HEAP32[744] = $7; + $$sink = 0; + } + HEAP32[8274] = $$sink; + $8 = HEAP32[8275]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8466,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(34967,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8474)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8478)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8482)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8486)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8492)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8530)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8549; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8562)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8583; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8598)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8613; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8628)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8643; + } + } else { + HEAP32[$3>>2] = 8514; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8658)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8672)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8684)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8698)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8710)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8724)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8738)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8755)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8778)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8804)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8817)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8833)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8846)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8860)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8880)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8900)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8917)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8934)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8946)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8959)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8975)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8998)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,9011)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,9027)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,9038)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,9057)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,9079)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,9098)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,9127)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,9144)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,9159)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,9174)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9195)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9215)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9235)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9261)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9280)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9292)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9304)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9316)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9328)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9340)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9352)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9364)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9376)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9389)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9402)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9415)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9428)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9441)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9454)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9467)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9480)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9499)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9518)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9537)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9550)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9568)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9586)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9604)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9622)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9642)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8583)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9660)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9675)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9696)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9711)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9729)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9745)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9764)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9778)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9793)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8514)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9804)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8613)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8643)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9820)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9847)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9861)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8549)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9881)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9899)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9911)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9932)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9950)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9968)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9989)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,10015)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,10038)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,10076)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,10092)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,10107)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,10130)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,10143)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,10157)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,10171)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10191)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10211)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10227)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10245)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10261)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10276)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10298)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10316)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10337)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10355)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10368)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 1; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10383)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10397)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10407)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10417)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10439)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10465)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10492)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10505)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10520)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10535)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 2; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10559)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10570)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10592)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10614)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10638)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 3; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10647)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 4; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10655)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10668)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10682)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10694)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10703)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10713)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10725)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10736)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10744)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10756)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10771)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10783)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10797)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10822)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10839)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10855)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10871)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10883)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10895)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10919)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10932)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10946)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10968)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10975)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10991)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,11008)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,11025)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,11041)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,11057)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,11074)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,11088)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,11100)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,11111)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,11124)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,11134)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,11151)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,11163)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11185)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11205)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11218)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11240)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11260)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11277)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11294)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11314)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33104|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (2980|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|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] = 9; + $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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3356; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11430 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11894;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11894;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11894 : (11896); + $$$ = $238 ? $$ : (11895); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11894;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11894;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11904; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11894;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11894 + ($208)|0); + $$289 = $or$cond283 ? 11894 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11894;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (11946 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11911; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11912) : (11917); + $$$ = $16 ? $$ : (11914); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11946 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11962,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11962,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11930 : 11934; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11938 : 11942; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (11964 + ($$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 = 12052;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 12052; + } else { + $$01214 = 12052;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33168|0)); + return (33176|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33168|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14152; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + var $0 = 0, $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; + $0 = 14152; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 14152; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[8295]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8295] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8295] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8295] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8295] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[8296]|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 = (33224 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[8296] = $24; + } else { + $25 = HEAP32[(33200)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(33192)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (33224 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[8296] = $77; + $98 = $77; + } else { + $78 = HEAP32[(33200)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(33204)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (33224 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[8296] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(33200)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(33192)>>2] = $84; + HEAP32[(33204)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(33188)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (33488 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(33200)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (33488 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(33188)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(33200)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(33200)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(33200)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(33204)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (33224 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[8296] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(33200)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(33192)>>2] = $$0193$lcssa$i; + HEAP32[(33204)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(33188)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (33488 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (33488 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(33192)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(33200)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (33488 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(33188)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(33200)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(33200)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(33200)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (33224 + ($425<<2)|0); + $427 = HEAP32[8296]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[8296] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(33200)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (33488 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(33188)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(33200)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(33200)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(33192)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(33204)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(33204)>>2] = $511; + HEAP32[(33192)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(33192)>>2] = 0; + HEAP32[(33204)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(33196)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(33196)>>2] = $526; + $527 = HEAP32[(33208)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(33208)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[8414]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(33664)>>2] = 4096; + HEAP32[(33660)>>2] = 4096; + HEAP32[(33668)>>2] = -1; + HEAP32[(33672)>>2] = -1; + HEAP32[(33676)>>2] = 0; + HEAP32[(33628)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[8414] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(33664)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(33624)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(33616)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(33628)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(33208)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (33632); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(33660)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(33616)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(33624)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(33664)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(33628)>>2]|0; + $612 = $611 | 4; + HEAP32[(33628)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(33616)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(33616)>>2] = $627; + $628 = HEAP32[(33620)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(33620)>>2] = $627; + } + $630 = HEAP32[(33208)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(33200)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(33200)>>2] = $$749$i; + } + HEAP32[(33632)>>2] = $$749$i; + HEAP32[(33636)>>2] = $$723948$i; + HEAP32[(33644)>>2] = 0; + $635 = HEAP32[8414]|0; + HEAP32[(33220)>>2] = $635; + HEAP32[(33216)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (33224 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(33208)>>2] = $649; + HEAP32[(33196)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(33672)>>2]|0; + HEAP32[(33212)>>2] = $655; + } else { + $$024371$i = (33632); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(33196)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(33208)>>2] = $679; + HEAP32[(33196)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(33672)>>2]|0; + HEAP32[(33212)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(33200)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(33200)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (33632); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(33196)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(33196)>>2] = $727; + HEAP32[(33208)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(33204)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(33192)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(33192)>>2] = $733; + HEAP32[(33204)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (33224 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[8296]|0; + $760 = $759 & $758; + HEAP32[8296] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (33488 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(33188)>>2]|0; + $803 = $802 & $801; + HEAP32[(33188)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(33200)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(33200)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(33200)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (33224 + ($836<<2)|0); + $838 = HEAP32[8296]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[8296] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(33200)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (33488 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(33188)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(33188)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(33200)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(33200)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (33632); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(33208)>>2] = $946; + HEAP32[(33196)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(33672)>>2]|0; + HEAP32[(33212)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(33632)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(33632)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(33632)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(33632)+12>>2]|0; + HEAP32[(33632)>>2] = $$749$i; + HEAP32[(33636)>>2] = $$723948$i; + HEAP32[(33644)>>2] = 0; + HEAP32[(33640)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (33224 + ($968<<2)|0); + $970 = HEAP32[8296]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[8296] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(33200)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (33488 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(33188)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(33188)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(33200)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(33200)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(33196)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(33196)>>2] = $1050; + $1051 = HEAP32[(33208)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(33208)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(33200)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(33204)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(33192)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (33224 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[8296]|0; + $38 = $37 & $36; + HEAP32[8296] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (33488 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(33188)>>2]|0; + $81 = $80 & $79; + HEAP32[(33188)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(33200)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(33200)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(33200)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(33208)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(33204)>>2]|0; + if ($121) { + $123 = HEAP32[(33196)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(33196)>>2] = $124; + HEAP32[(33208)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(33204)>>2] = 0; + HEAP32[(33192)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(33192)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(33192)>>2] = $130; + HEAP32[(33204)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (33224 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(33200)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[8296]|0; + $154 = $153 & $152; + HEAP32[8296] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(33200)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(33200)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(33200)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (33488 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(33188)>>2]|0; + $200 = $199 & $198; + HEAP32[(33188)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(33200)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(33200)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(33200)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(33204)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(33192)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (33224 + ($234<<2)|0); + $236 = HEAP32[8296]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[8296] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(33200)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (33488 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(33188)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(33188)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(33200)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(33200)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(33216)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(33216)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (33640); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(33216)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/physac/physics_demo.png b/docs/examples/web/physac/physics_demo.png new file mode 100644 index 00000000..12dc7e72 Binary files /dev/null and b/docs/examples/web/physac/physics_demo.png differ diff --git a/docs/examples/web/physac/physics_friction.js b/docs/examples/web/physac/physics_friction.js new file mode 100644 index 00000000..47c62b2c --- /dev/null +++ b/docs/examples/web/physac/physics_friction.js @@ -0,0 +1,28579 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +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; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 36016; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,175,136,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,102,114,105,99,116,105,111,110,0,80,104,121,115,97,99,0,70,114,105,99,116,105,111,110,32,97,109,111,117,110,116,0,48,46,49,0,49,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + 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 ___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 _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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.buffer) { + ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _pthread_join() {} + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _glfwWindowShouldClose(winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.shouldClose; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _glfwWaitEvents() {} + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + } + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _pthread_create() { + return 11; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { 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); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_glfwWindowShouldClose": _glfwWindowShouldClose, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "_glLinkProgram": _glLinkProgram, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_glfwWaitEvents": _glfwWaitEvents, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _glfwWindowShouldClose=env._glfwWindowShouldClose; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var _glLinkProgram=env._glLinkProgram; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _glfwWaitEvents=env._glfwWaitEvents; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14112|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3529] = 1; + HEAPF64[1726] = 0.0; + _InitTimer(); + $1 = HEAP32[3529]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1727] = $3; + $4 = +HEAPF64[1728]; + $5 = $3 - $4; + HEAPF64[1729] = $5; + $6 = +HEAPF64[1726]; + $7 = $5 + $6; + HEAPF64[1726] = $7; + _MathClamp(); + $$pr = +HEAPF64[1726]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1729]; + $10 = +HEAPF64[1726]; + $11 = $10 - $9; + HEAPF64[1726] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1727]; + HEAPF64[1728] = $13; + $14 = HEAP32[3529]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3596]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14388 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3531]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14128 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $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.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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; + var $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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3530]|0; + $10 = (($9) + 500)|0; + HEAP32[3530] = $10; + $11 = HEAP32[3531]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14128 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3531]|0; + $123 = (14128 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3531] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3531]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3531]|0; + $$02023 = 0; + while(1) { + $6 = (14128 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14128 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3530]|0; + $15 = (($14) + -500)|0; + HEAP32[3530] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3531]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3531]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14128 + ($$022<<2)|0); + $25 = (14128 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3531] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3531]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3531]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14128 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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; + $1 = HEAP32[3531]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14128 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _SetPhysicsBodyRotation($0,$1) { + $0 = $0|0; + $1 = +$1; + var $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 = sp; + $3 = ($0|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = ((($0)) + 40|0); + HEAPF32[$4>>2] = $1; + $5 = ((($0)) + 84|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(1); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = ((($0)) + 484|0); + _Mat2Radians($2,$1); + ;HEAP32[$8>>2]=HEAP32[$2>>2]|0;HEAP32[$8+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$8+12>>2]=HEAP32[$2+12>>2]|0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3529] = 0; + $0 = HEAP32[3528]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$0107109 = 0, $$0108 = 0, $$byval_copy10 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$027$0$$sroa_idx = 0, $$sroa$030$0$$sroa_idx = 0, $$sroa$033$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx26 = 0, $$sroa$228$0$$sroa_idx29 = 0, $$sroa$231$0$$sroa_idx32 = 0, $$sroa$234$0$$sroa_idx35 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0; + var $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.0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $exitcond = 0, $exitcond114 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy10 = sp + 112|0; + $$byval_copy9 = sp + 104|0; + $$byval_copy8 = sp + 96|0; + $0 = sp + 88|0; + $1 = sp + 80|0; + $2 = sp + 72|0; + $3 = sp + 64|0; + $4 = sp + 56|0; + $5 = sp + 48|0; + $6 = sp + 128|0; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 124|0; + $10 = sp + 120|0; + $11 = sp + 40|0; + $12 = sp + 36|0; + $13 = sp + 32|0; + $14 = sp + 20|0; + $15 = sp + 16|0; + $16 = sp; + _SetConfigFlags(32); + _InitWindow(800,450,3480); + _SetTargetFPS(60); + $17 = (_MeasureText(3515,30)|0); + $18 = (800 - ($17))|0; + $19 = (($18) + -10)|0; + _InitPhysics(); + HEAPF32[$0>>2] = 400.0; + $20 = ((($0)) + 4|0); + HEAPF32[$20>>2] = 450.0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$0+4>>2]|0; + $21 = (_CreatePhysicsBodyRectangle($$byval_copy10,800.0,100.0,10.0)|0); + $22 = ((($21)) + 4|0); + HEAP32[$22>>2] = 0; + HEAPF32[$1>>2] = 400.0; + $23 = ((($1)) + 4|0); + HEAPF32[$23>>2] = 360.0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$1+4>>2]|0; + $24 = (_CreatePhysicsBodyRectangle($$byval_copy10,10.0,80.0,10.0)|0); + $25 = ((($24)) + 4|0); + HEAP32[$25>>2] = 0; + HEAPF32[$2>>2] = 25.0; + $26 = ((($2)) + 4|0); + HEAPF32[$26>>2] = 445.0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$2+4>>2]|0; + $27 = (_CreatePhysicsBodyRectangle($$byval_copy10,250.0,250.0,10.0)|0); + $28 = ((($27)) + 4|0); + HEAP32[$28>>2] = 0; + _SetPhysicsBodyRotation($27,0.52359879016876221); + HEAPF32[$3>>2] = 775.0; + $29 = ((($3)) + 4|0); + HEAPF32[$29>>2] = 445.0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (_CreatePhysicsBodyRectangle($$byval_copy10,250.0,250.0,10.0)|0); + $31 = ((($30)) + 4|0); + HEAP32[$31>>2] = 0; + _SetPhysicsBodyRotation($30,5.7595863342285156); + HEAPF32[$4>>2] = 35.0; + $32 = ((($4)) + 4|0); + HEAPF32[$32>>2] = 270.0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$4+4>>2]|0; + $33 = (_CreatePhysicsBodyRectangle($$byval_copy10,40.0,40.0,10.0)|0); + $34 = ((($33)) + 60|0); + HEAPF32[$34>>2] = 0.10000000149011612; + $35 = ((($33)) + 64|0); + HEAPF32[$35>>2] = 0.10000000149011612; + _SetPhysicsBodyRotation($33,0.52359879016876221); + HEAPF32[$5>>2] = 765.0; + $36 = ((($5)) + 4|0); + HEAPF32[$36>>2] = 270.0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$5+4>>2]|0; + $37 = (_CreatePhysicsBodyRectangle($$byval_copy10,40.0,40.0,10.0)|0); + $38 = ((($37)) + 60|0); + HEAPF32[$38>>2] = 1.0; + $39 = ((($37)) + 64|0); + HEAPF32[$39>>2] = 1.0; + _SetPhysicsBodyRotation($37,5.7595863342285156); + $40 = (_WindowShouldClose()|0); + $41 = ($40|0)==(0); + if (!($41)) { + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; + } + $42 = ((($6)) + 1|0); + $43 = ((($6)) + 2|0); + $44 = ((($6)) + 3|0); + $45 = ((($10)) + 1|0); + $46 = ((($10)) + 2|0); + $47 = ((($10)) + 3|0); + $48 = ((($33)) + 8|0); + $49 = ((($33)) + 12|0); + $50 = ((($37)) + 8|0); + $51 = ((($37)) + 12|0); + $52 = (($18) + 40)|0; + $53 = ((($9)) + 1|0); + $54 = ((($9)) + 2|0); + $55 = ((($9)) + 3|0); + $$sroa$033$0$$sroa_idx = ((($33)) + 8|0); + $$sroa$234$0$$sroa_idx35 = ((($33)) + 12|0); + $$sroa$030$0$$sroa_idx = ((($33)) + 16|0); + $$sroa$231$0$$sroa_idx32 = ((($33)) + 20|0); + $56 = ((($33)) + 32|0); + $$sroa$027$0$$sroa_idx = ((($37)) + 8|0); + $$sroa$228$0$$sroa_idx29 = ((($37)) + 12|0); + $$sroa$0$0$$sroa_idx = ((($37)) + 16|0); + $$sroa$2$0$$sroa_idx26 = ((($37)) + 20|0); + $57 = ((($37)) + 32|0); + while(1) { + $58 = (_IsKeyPressed(82)|0); + $59 = ($58|0)==(0); + if (!($59)) { + HEAPF32[$$sroa$033$0$$sroa_idx>>2] = 35.0; + HEAPF32[$$sroa$234$0$$sroa_idx35>>2] = 270.0; + HEAPF32[$$sroa$030$0$$sroa_idx>>2] = 0.0; + HEAPF32[$$sroa$231$0$$sroa_idx32>>2] = 0.0; + HEAPF32[$56>>2] = 0.0; + _SetPhysicsBodyRotation($33,0.52359879016876221); + HEAPF32[$$sroa$027$0$$sroa_idx>>2] = 765.0; + HEAPF32[$$sroa$228$0$$sroa_idx29>>2] = 270.0; + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + HEAPF32[$$sroa$2$0$$sroa_idx26>>2] = 0.0; + HEAPF32[$57>>2] = 0.0; + _SetPhysicsBodyRotation($37,5.7595863342285156); + } + _BeginDrawing(); + HEAP8[$6>>0] = 0; + HEAP8[$42>>0] = 0; + HEAP8[$43>>0] = 0; + HEAP8[$44>>0] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$6+3>>0]|0; + _ClearBackground($$byval_copy10); + _DrawFPS(710,420); + $60 = (_GetPhysicsBodiesCount()|0); + $61 = ($60|0)>(0); + if ($61) { + $$0107109 = 0; + while(1) { + $85 = (_GetPhysicsBody($$0107109)|0); + $86 = ($85|0)==(0|0); + if (!($86)) { + $87 = (_GetPhysicsShapeVerticesCount($$0107109)|0); + $88 = ($87|0)>(0); + if ($88) { + $$0108 = 0; + while(1) { + _GetPhysicsShapeVertex($7,$85,$$0108); + $89 = (($$0108) + 1)|0; + $90 = ($89|0)<($87|0); + $91 = $90 ? $89 : 0; + _GetPhysicsShapeVertex($8,$85,$91); + HEAP8[$9>>0] = 0; + HEAP8[$53>>0] = -28; + HEAP8[$54>>0] = 48; + HEAP8[$55>>0] = -1; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$9+3>>0]|0; + _DrawLineV($$byval_copy8,$$byval_copy9,$$byval_copy10); + $exitcond = ($89|0)==($87|0); + if ($exitcond) { + break; + } else { + $$0108 = $89; + } + } + } + } + $92 = (($$0107109) + 1)|0; + $exitcond114 = ($92|0)==($60|0); + if ($exitcond114) { + break; + } else { + $$0107109 = $92; + } + } + } + HEAP8[$10>>0] = 0; + HEAP8[$45>>0] = 0; + HEAP8[$46>>0] = 0; + HEAP8[$47>>0] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$10+3>>0]|0; + _DrawRectangle(0,401,800,49,$$byval_copy10); + $62 = (_MeasureText(3522,30)|0); + $63 = (800 - ($62))|0; + $64 = (($63|0) / 2)&-1; + HEAP32[$11>>2] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(3522,$64,75,30,$$byval_copy10); + $65 = +HEAPF32[$48>>2]; + $66 = (_MeasureText(3538,20)|0); + $67 = (($66|0) / 2)&-1; + $68 = (+($67|0)); + $69 = $65 - $68; + $70 = (~~(($69))); + $71 = +HEAPF32[$49>>2]; + $72 = $71 + -7.0; + $73 = (~~(($72))); + HEAP32[$12>>2] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(3538,$70,$73,20,$$byval_copy10); + $74 = +HEAPF32[$50>>2]; + $75 = (_MeasureText(3542,20)|0); + $76 = (($75|0) / 2)&-1; + $77 = (+($76|0)); + $78 = $74 - $77; + $79 = (~~(($78))); + $80 = +HEAPF32[$51>>2]; + $81 = $80 + -7.0; + $82 = (~~(($81))); + HEAP32[$13>>2] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(3542,$79,$82,20,$$byval_copy10); + HEAP32[$14>>2] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$14+3>>0]|0; + _DrawText(3544,10,10,10,$$byval_copy10); + HEAP32[$15>>2] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$15>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$15+3>>0]|0; + _DrawText(3515,$19,15,30,$$byval_copy10); + HEAP32[$16>>2] = -1; + ;HEAP8[$$byval_copy10>>0]=HEAP8[$16>>0]|0;HEAP8[$$byval_copy10+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$$byval_copy10+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$$byval_copy10+3>>0]=HEAP8[$16+3>>0]|0; + _DrawText(3571,$52,8,10,$$byval_copy10); + _EndDrawing(); + $83 = (_WindowShouldClose()|0); + $84 = ($83|0)==(0); + if (!($84)) { + break; + } + } + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1728] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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); + $0 = sp; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,0)|0); + $5 = tempRet0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_i64Add(($4|0),($5|0),($7|0),($9|0))|0); + $11 = tempRet0; + $12 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1726]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1726] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7693]|0; + $1 = (($0) + 1)|0; + HEAP32[7693] = $1; + $2 = HEAP32[3596]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14388 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3531]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14128 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3531]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14128 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3531]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14128 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3531]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3531]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3531]|0; + $$0135158 = 0; + while(1) { + $103 = (14128 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3596]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3596]|0; + $$0136156 = 0; + while(1) { + $108 = (14388 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3596]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14388 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3596]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3531]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3531]|0; + $$0131150 = 0; + while(1) { + $128 = (14128 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3596]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3596]|0; + $$0129148 = 0; + while(1) { + $136 = (14388 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3531]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3531]|0; + $$0127147 = 0; + while(1) { + $141 = (14128 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3596]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3596]|0; + $$02023 = 0; + while(1) { + $6 = (14388 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14388 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3530]|0; + $15 = (($14) + -56)|0; + HEAP32[3530] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3596]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3596]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14388 + ($$022<<2)|0); + $25 = (14388 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3596] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3530]|0; + $4 = (($3) + 56)|0; + HEAP32[3530] = $4; + $5 = HEAP32[3596]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14388 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3596]|0; + $20 = (14388 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3596] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1729]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7694]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[2]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.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.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7694]; + $43 = $42; + $44 = +HEAPF64[1729]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[2]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1729]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0; + var $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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $154 = 0, $155 = 0, $156 = 0.0; + var $157 = 0.0, $158 = 0.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, $2 = 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; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 0, $10 = 0, $100 = 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.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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 $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, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $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, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7696] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13840; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13880; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3470]; + $111 = +HEAPF32[3460]; + $112 = $110 - $111; + HEAPF32[3472] = $112; + $113 = +HEAPF32[(13884)>>2]; + $114 = +HEAPF32[(13844)>>2]; + $115 = $113 - $114; + HEAPF32[(13892)>>2] = $115; + HEAP32[7695] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7701] = $116; + $117 = 13872; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13840; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13896; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13880; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13872; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13896; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3474]; + $160 = +HEAPF32[3468]; + $161 = $159 - $160; + HEAPF32[3472] = $161; + $162 = +HEAPF32[(13900)>>2]; + $163 = +HEAPF32[(13876)>>2]; + $164 = $162 - $163; + HEAPF32[(13892)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13840+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7701]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7695] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7702] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7701] = 0.0; + HEAPF32[7702] = 0.0; + HEAPF32[3472] = 0.0; + HEAPF32[(13892)>>2] = 0.0; + HEAP32[7696] = 0; + HEAP32[7695] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7697]|0; + $7 = (($6) + 1)|0; + HEAP32[7697] = $7; + $8 = HEAP32[7695]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13840+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7695] = 2; + HEAP32[7697] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7697] = 1; + HEAP32[7695] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13840; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13848; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13856; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[3] = $34; + HEAPF32[3466] = 0.0; + HEAPF32[(13868)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7695]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13856; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13840+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13856+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7698] = $49; + HEAP32[7699] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[3]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13840+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13856+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7700] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7698] = 0.0; + HEAPF32[7700] = 0.0; + $$sink10 = 0; + } + HEAP32[7695] = $$sink10; + HEAPF32[3462] = 0.0; + HEAPF32[(13852)>>2] = 0.0; + HEAP32[7696] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7699]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7699] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13872; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7695]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13840+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7695] = 8; + } + } + $82 = +HEAPF32[3468]; + $83 = +HEAPF32[3462]; + $84 = $82 - $83; + HEAPF32[3466] = $84; + $85 = +HEAPF32[(13876)>>2]; + $86 = +HEAPF32[(13852)>>2]; + $87 = $85 - $86; + HEAPF32[(13868)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7695]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7696]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7695] = 4; + } + $4 = HEAP32[7695]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7695] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 13904; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7705]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7704]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,3582,$vararg_buffer); + HEAP32[7707] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_8(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3611|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3611|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3611|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3611|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3611|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3611|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7705]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3476] = $5; + $6 = HEAP32[7704]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13908)>>2] = $8; + $9 = HEAP32[7708]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13944>>0]=HEAP8[8140>>0]|0;HEAP8[13944+1>>0]=HEAP8[8140+1>>0]|0;HEAP8[13944+2>>0]=HEAP8[8140+2>>0]|0;HEAP8[13944+3>>0]=HEAP8[8140+3>>0]|0;HEAP8[13944+4>>0]=HEAP8[8140+4>>0]|0;HEAP8[13944+5>>0]=HEAP8[8140+5>>0]|0;HEAP8[13944+6>>0]=HEAP8[8140+6>>0]|0; + break; + } + case 1: { + $3 = 13944; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13944; src=8147; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13944; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13944,$1)|0); + $strlen = (_strlen(13944)|0); + $endptr = (13944 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13944,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7705] = $0; + HEAP32[7704] = $1; + _MatrixIdentity($2); + dest=30908; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4282,$vararg_buffer); + } + $6 = HEAP32[7705]|0; + HEAP32[7743] = $6; + $7 = HEAP32[7704]|0; + HEAP32[7744] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[33632]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[33632]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[33632]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4308,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7745]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7705]|0; + $48 = HEAP32[7704]|0; + $49 = HEAP32[7707]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7703] = $50; + $51 = HEAP32[7705]|0; + HEAP32[7746] = $51; + $52 = HEAP32[7704]|0; + HEAP32[7747] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7705]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7704]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7743] = $31; + HEAP32[7744] = $34; + } + } while(0); + $38 = HEAP32[7743]|0; + $39 = HEAP32[7744]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4333,$vararg_buffer3); + $40 = HEAP32[7743]|0; + $41 = HEAP32[7744]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7743]|0; + $43 = HEAP32[7744]|0; + $44 = HEAP32[7707]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7703] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4371,$vararg_buffer6); + } else { + _TraceLog(0,4404,$vararg_buffer8); + $55 = HEAP32[7746]|0; + $56 = HEAP32[7747]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4444,$vararg_buffer10); + $57 = HEAP32[7705]|0; + $58 = HEAP32[7704]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4465,$vararg_buffer14); + $59 = HEAP32[7748]|0; + $60 = HEAP32[7749]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4486,$vararg_buffer18); + } + $61 = HEAP32[7703]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7703]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7703]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7703]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7703]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7703]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7703]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7703]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7703]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[33632]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7705]|0; + $74 = HEAP32[7704]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7746]|0; + $76 = HEAP32[7748]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7747]|0; + $80 = HEAP32[7749]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4511,$vararg_buffer22); + $73 = HEAP32[7705]|0; + $74 = HEAP32[7704]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7746]|0; + $76 = HEAP32[7748]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7747]|0; + $80 = HEAP32[7749]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(30876)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (16 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[30852>>2]=HEAP32[$1>>2]|0;HEAP32[30852+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[30852+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[30852+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[30852+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(30876)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(30880)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30872)>>2] = $23; + $24 = HEAP32[7713]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3806,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(30856)>>2]|0; + $10 = HEAP32[(30876)>>2]|0; + $11 = HEAP32[(30880)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2064 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30872)>>2] = $23; + $24 = HEAP32[7713]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3806,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_8() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1742] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3739,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3670,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3663)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13920; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13928); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (30836 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1739] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3619,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7708] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4182,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7721]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3851,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7722]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3895,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7723]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3940,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7724]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3985,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7725]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4030,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7721]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7721]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7721]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7721]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7722]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7723]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7723]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7724]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7724]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7725]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7725]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4075,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7726]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4153,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4104,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4236,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8102,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7705]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7704]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7746] = $3; + HEAP32[7747] = $5; + HEAP32[7748] = 0; + HEAP32[7749] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8036,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7705]|0; + $36 = (+($35|0)); + $37 = HEAP32[7704]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7746] = $45; + HEAP32[7747] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7748] = $46; + $$sink1 = 0; + } else { + HEAP32[7746] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7747] = $42; + HEAP32[7748] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7749] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7704]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7893,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7705]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7704]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7746] = $23; + HEAP32[7747] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7748] = $24; + $$sink = 0; + } else { + HEAP32[7746] = $0; + $17 = HEAP32[7704]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7747] = $20; + HEAP32[7748] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7749] = $$sink; + $25 = HEAP32[7746]|0; + $26 = (+($25|0)); + $27 = HEAP32[7705]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=30908; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7746] = $0; + HEAP32[7747] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7971,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7705] = $1; + HEAP32[7704] = $2; + HEAP32[7746] = $1; + HEAP32[7747] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[741]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (33639 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[740] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (33633 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13920; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[740] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8119] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8118] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4534,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4552,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4570,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4588,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4606)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4608,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4643)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7784] = 1; + $27 = (_eglGetProcAddress((4670|0))|0); + HEAP32[7785] = $27; + $28 = (_eglGetProcAddress((4691|0))|0); + HEAP32[7786] = $28; + $29 = (_eglGetProcAddress((4712|0))|0); + HEAP32[7787] = $29; + } + $30 = (_strcmp($24,4736)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7726] = 1; + } + $32 = (_strcmp($24,4756)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4788)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4821)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7721] = 1; + } + $39 = (_strcmp($24,4861)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4897)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7722] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4930)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7723] = 1; + } + $47 = (_strcmp($44,4955)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7724] = 1; + } + $49 = (_strcmp($44,4988)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7725] = 1; + } + $51 = (_strcmp($44,5024)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7788] = 1; + _glGetFloatv(34047,(31156|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5058)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7790] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7784]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5161,$vararg_buffer15); + } else { + _TraceLog(0,5086,$vararg_buffer13); + } + $57 = HEAP32[7726]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5297,$vararg_buffer19); + } else { + _TraceLog(0,5222,$vararg_buffer17); + } + $59 = HEAP32[7721]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5389,$vararg_buffer21); + } + $61 = HEAP32[7722]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5435,$vararg_buffer23); + } + $63 = HEAP32[7723]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5482,$vararg_buffer25); + } + $65 = HEAP32[7724]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5533,$vararg_buffer27); + } + $67 = HEAP32[7725]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5580,$vararg_buffer29); + } + $69 = HEAP32[7788]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7789]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5627,$vararg_buffer31); + } + $73 = HEAP32[7790]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5693,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7791] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5797,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5746,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31168; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31224; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7820] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7820]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7821] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7822] = 1; + $85 = HEAP32[7791]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7823] = 4; + _MatrixIdentity($4); + dest=31296; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31360); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31424); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31488); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31552); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31616); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31680); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31744); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31808); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31872); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31936); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32000); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32064); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32128); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32192); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32256); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=31004; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=31068; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7750] = 31068; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8080] = $0; + HEAP32[8081] = $1; + _TraceLog(0,5836,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7748]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7749]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7746]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7747]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31004; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31068; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7750] = $modelview$sink; + } + HEAP32[7783] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[7750]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7750]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6412|0),489)|0; + _memcpy(($3|0),(6901|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7390,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7342,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32340)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32348)>>2] = $1; + HEAP32[(32344)>>2] = 0; + HEAP32[(32352)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32348)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8082] = 0; + HEAP32[(32336)>>2] = 0; + HEAP32[(32332)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32388)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32396)>>2] = $6; + HEAP32[(32392)>>2] = 0; + HEAP32[(32400)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32396)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8094] = 0; + HEAP32[(32384)>>2] = 0; + HEAP32[(32380)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32436)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32440)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32444)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32448)>>2] = $13; + $14 = HEAP32[(32436)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32440)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32444)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32448)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8106] = 0; + HEAP32[(32428)>>2] = 0; + HEAP32[(32432)>>2] = 0; + _TraceLog(0,5883,$vararg_buffer); + $20 = HEAP32[7784]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7785]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32356)); + $44 = HEAP32[7786]|0; + $45 = HEAP32[(32356)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32360)|0)); + $46 = HEAP32[(32360)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32340)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31228)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31228)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32364)|0)); + $50 = HEAP32[(32364)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32348)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31248)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31248)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7784]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32360)>>2]|0; + $58 = HEAP32[(32364)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6021,$vararg_buffer3); + } else { + $56 = HEAP32[(32356)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5956,$vararg_buffer1); + } + $59 = HEAP32[7784]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7785]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32404)); + $62 = HEAP32[7786]|0; + $63 = HEAP32[(32404)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32408)|0)); + $64 = HEAP32[(32408)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32388)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31228)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31228)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32412)|0)); + $68 = HEAP32[(32412)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32396)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31248)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31248)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7784]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32408)>>2]|0; + $76 = HEAP32[(32412)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6167,$vararg_buffer10); + } else { + $74 = HEAP32[(32404)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6098,$vararg_buffer7); + } + $77 = HEAP32[7784]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7785]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32452)); + $80 = HEAP32[7786]|0; + $81 = HEAP32[(32452)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32456)|0)); + $82 = HEAP32[(32456)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32436)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31228)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31228)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32460)|0)); + $86 = HEAP32[(32460)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32440)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31232)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31232)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32464)|0)); + $90 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32444)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31248)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31248)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32468)|0)); + $94 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32448)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7784]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32456)>>2]|0; + $100 = HEAP32[(32460)>>2]|0; + $101 = HEAP32[(32464)>>2]|0; + $102 = HEAP32[(32468)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6313,$vararg_buffer17); + } else { + $98 = HEAP32[(32452)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6248,$vararg_buffer14); + } + $103 = HEAP32[7784]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7786]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7646,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7594,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7643,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7747,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7696,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7643,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7438|0)); + _glBindAttribLocation(($20|0),1,(7453|0)); + _glBindAttribLocation(($20|0),2,(7484|0)); + _glBindAttribLocation(($20|0),3,(7511|0)); + _glBindAttribLocation(($20|0),4,(7497|0)); + _glBindAttribLocation(($20|0),5,(7468|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7799,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7643,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7845,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7438|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7453|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7468|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7484|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7497|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7511|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7523|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7533|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7544|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7555|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7567|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7576|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7585|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33633 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33636 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33633 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33636 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7703]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8157,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[30852>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[30852+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[30852+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[30852+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[30852+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(30880)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31164|0)); + $0 = HEAP32[7791]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8184,$vararg_buffer); + $1 = HEAP32[7821]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7792]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[7784]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7786]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32360)|0)); + _glDeleteBuffers(1,((32364)|0)); + _glDeleteBuffers(1,((32408)|0)); + _glDeleteBuffers(1,((32412)|0)); + _glDeleteBuffers(1,((32456)|0)); + _glDeleteBuffers(1,((32460)|0)); + _glDeleteBuffers(1,((32464)|0)); + _glDeleteBuffers(1,((32468)|0)); + $3 = HEAP32[7784]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32356)); + $6 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32404)); + $7 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32452)); + } + $8 = HEAP32[(32340)>>2]|0; + _free($8); + $9 = HEAP32[(32348)>>2]|0; + _free($9); + $10 = HEAP32[(32388)>>2]|0; + _free($10); + $11 = HEAP32[(32396)>>2]|0; + _free($11); + $12 = HEAP32[(32436)>>2]|0; + _free($12); + $13 = HEAP32[(32440)>>2]|0; + _free($13); + $14 = HEAP32[(32444)>>2]|0; + _free($14); + $15 = HEAP32[(32448)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8249,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _WindowShouldClose() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8118]|0; + $1 = ($0|0)==(0); + if (!($1)) { + while(1) { + _glfwWaitEvents(); + $2 = HEAP32[8118]|0; + $3 = ($2|0)==(0); + if ($3) { + break; + } + } + } + $4 = HEAP32[7703]|0; + $5 = (_glfwWindowShouldClose(($4|0))|0); + return ($5|0); +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1759] = $0; + $1 = +HEAPF64[1742]; + $2 = $0 - $1; + HEAPF64[1760] = $2; + HEAPF64[1742] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=30908; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32480); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8120] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32484)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32488)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32492)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32496)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32500)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32504)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32508)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32512)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32516)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32520)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32524)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32528)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32532)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32536)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32540)>>2] = $31; + return (32480|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7750]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1759] = $0; + $1 = +HEAPF64[1742]; + $2 = $0 - $1; + HEAPF64[1761] = $2; + HEAPF64[1742] = $0; + $3 = +HEAPF64[1760]; + $4 = $2 + $3; + HEAPF64[1762] = $4; + $5 = +HEAPF64[1739]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1759] = $10; + $11 = +HEAPF64[1742]; + $12 = $10 - $11; + HEAPF64[1742] = $10; + $13 = +HEAPF64[1762]; + $14 = $12 + $13; + HEAPF64[1762] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7703]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[740] = -1; + HEAP32[742] = -1; + HEAP32[8136] = 0; + $3 = HEAP32[7703]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3476] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13908)>>2] = $7; + _memcpy((34151|0),(33639|0),512)|0; + ;HEAP8[33636>>0]=HEAP8[33633>>0]|0;HEAP8[33636+1>>0]=HEAP8[33633+1>>0]|0;HEAP8[33636+2>>0]=HEAP8[33633+2>>0]|0; + $8 = HEAP32[8119]|0; + HEAP32[7706] = $8; + HEAP32[8119] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (34663 + ($$05160<<5)|0); + $scevgep67 = (34791 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((34791 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[742] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32548 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8136] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8082]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7784]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7786]|0; + $5 = HEAP32[(32356)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32360)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8082]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32340)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32364)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32336)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32348)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8094]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7784]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7786]|0; + $19 = HEAP32[(32404)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32408)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8094]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32388)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32412)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32384)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32396)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8106]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7784]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7786]|0; + $33 = HEAP32[(32452)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32456)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8106]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32436)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32460)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8106]|0; + $40 = $39 << 3; + $41 = HEAP32[(32440)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8106]|0; + $44 = $43 << 2; + $45 = HEAP32[(32444)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7784]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7786]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31004; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=31068; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[8169]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8082]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8094]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8106]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7806]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31068; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=31004; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31252)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31256)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31268)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8082]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7791]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7784]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32360)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31228)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31228)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32364)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31248)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31248)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7786]|0; + $25 = HEAP32[(32356)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8082]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7784]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8094]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7791]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7784]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32408)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31228)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31228)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32412)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31248)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31248)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7786]|0; + $41 = HEAP32[(32404)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8094]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7784]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8106]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7784]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32456)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31228)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31228)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32460)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31232)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31232)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31248)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31248)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7786]|0; + $56 = HEAP32[(32452)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7822]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7821]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7821]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7822]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7784]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7784]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7786]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7822] = 1; + $5 = HEAP32[7791]|0; + $6 = HEAP32[7821]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8082] = 0; + HEAP32[(32336)>>2] = 0; + HEAP32[8094] = 0; + HEAP32[(32384)>>2] = 0; + HEAP32[8106] = 0; + HEAP32[(32428)>>2] = 0; + HEAP32[(32432)>>2] = 0; + HEAPF32[743] = -1.0; + dest=31004; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31068; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[8080]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8081]|0; + _rlViewport($7,0,$8,$9); + $10 = (32908 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32780 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31068; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31004; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[8259]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8299,$vararg_buffer); + } + $2 = HEAP32[8259]|0; + $3 = (31296 + ($2<<6)|0); + $4 = HEAP32[7750]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[8259]|0; + $6 = (($5) + 1)|0; + HEAP32[8259] = $6; + $7 = HEAP32[7783]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8260] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8259]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8259]|0; + $3 = (($2) + -1)|0; + $4 = (31296 + ($3<<6)|0); + $5 = HEAP32[7750]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8259] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1762]; + $1 = $0; + return (+$1); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[33632] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7708] = 1; + } + $3 = HEAP8[33632]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7745] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33639 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (34151 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7750]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[7750]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7823] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[8260]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8261]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7820]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7750]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8261]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8260] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7820]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8261]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8260] = 0; + } + HEAP32[8261] = 0; + } + $21 = HEAP32[7823]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8082]|0; + $23 = HEAP32[(32336)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32348)>>2]|0; + $28 = HEAP32[(32336)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32348)>>2]|0; + $35 = HEAP32[(32336)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32348)>>2]|0; + $43 = HEAP32[(32336)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32348)>>2]|0; + $51 = HEAP32[(32336)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32336)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32336)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8094]|0; + $62 = HEAP32[(32384)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32396)>>2]|0; + $67 = HEAP32[(32384)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32396)>>2]|0; + $74 = HEAP32[(32384)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32396)>>2]|0; + $82 = HEAP32[(32384)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32396)>>2]|0; + $90 = HEAP32[(32384)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32384)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32384)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8106]|0; + $101 = HEAP32[(32432)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32444)>>2]|0; + $106 = HEAP32[(32432)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32444)>>2]|0; + $113 = HEAP32[(32432)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32444)>>2]|0; + $121 = HEAP32[(32432)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32444)>>2]|0; + $129 = HEAP32[(32432)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32432)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32432)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8106]|0; + $140 = HEAP32[(32428)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32440)>>2]|0; + $$promoted = HEAP32[(32428)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32428)>>2] = $147; + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[8260]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7820]|0; + $6 = HEAP32[8261]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8261] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7823]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8082]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32340)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8082] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8337,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8094]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32388)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8094] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8362,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8106]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32436)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8106] = $41; + $42 = HEAP32[7821]|0; + $43 = HEAP32[7822]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8391,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[743]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[743]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7823]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32440)>>2]|0; + $5 = HEAP32[(32428)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32428)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7823]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32336);$$sink38 = (32348); + break; + } + case 4: { + $$sink37 = (32384);$$sink38 = (32396); + break; + } + case 7: { + $$sink37 = (32432);$$sink38 = (32444); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[7821]|0; + $2 = HEAP32[7822]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7822] = $10; + } + $11 = HEAP32[7822]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8106]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7791]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $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.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[30852>>2]|0;HEAP32[$0+4>>2]=HEAP32[30852+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[30852+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[30852+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[30852+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[30852+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[30852+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[30852+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 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; + (_vsprintf(34919,$0,$1)|0); + STACKTOP = sp;return (34919|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8262]|0; + $4 = HEAP32[744]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8263] = $7; + HEAP32[744] = $7; + $$sink = 0; + } + HEAP32[8262] = $$sink; + $8 = HEAP32[8263]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8416,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(34919,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8424)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8428)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8432)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8436)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8442)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8480)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8499; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8512)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8533; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8548)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8563; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8578)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8593; + } + } else { + HEAP32[$3>>2] = 8464; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8608)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8622)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8634)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8648)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8660)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8674)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8688)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8705)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8728)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8754)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8767)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8783)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8796)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8810)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8830)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8850)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8867)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8884)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8896)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8909)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8925)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8948)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8961)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8977)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8988)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,9007)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,9029)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,9048)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,9077)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,9094)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,9109)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,9124)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9145)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9165)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9185)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9211)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9230)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9242)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9254)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9266)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9278)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9290)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9302)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9314)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9326)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9339)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9352)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9365)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9378)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9391)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9404)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9417)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9430)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9449)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9468)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9487)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9500)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9518)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9536)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9554)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9572)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9592)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8533)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9610)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9625)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9646)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9661)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9679)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9695)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9714)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9728)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9743)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8464)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9754)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8563)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8593)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9770)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9797)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9811)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8499)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9831)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9849)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9861)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9882)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9900)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9918)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9939)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9965)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9988)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,10026)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,10042)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,10057)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,10080)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,10093)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,10107)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,10121)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10141)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10161)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10177)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10195)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10211)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10226)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10248)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10266)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10287)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10305)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10318)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 1; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10333)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10347)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10357)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10367)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10389)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10415)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10442)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10455)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10470)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10485)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 2; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10509)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10520)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10542)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10564)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10588)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 3; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10597)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 4; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10605)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10618)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10632)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10644)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10653)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10663)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10675)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10686)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10694)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10706)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10721)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10733)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10747)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10772)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10789)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10805)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10821)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10833)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10845)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10869)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10882)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10896)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10918)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10925)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10941)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10958)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10975)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10991)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,11007)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,11024)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,11038)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,11050)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,11061)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,11074)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,11084)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,11101)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,11113)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11135)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11155)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11168)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11190)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11210)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11227)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11244)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11264)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33056|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (2980|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|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] = 9; + $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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3356; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11380 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11844;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11844;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11844 : (11846); + $$$ = $238 ? $$ : (11845); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11844;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11844;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11854; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11844;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11844 + ($208)|0); + $$289 = $or$cond283 ? 11844 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11844;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (11896 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11861; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11862) : (11867); + $$$ = $16 ? $$ : (11864); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11896 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11912,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11912,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11880 : 11884; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11888 : 11892; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (11914 + ($$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 = 12002;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 12002; + } else { + $$01214 = 12002;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33120|0)); + return (33128|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33120|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14104; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[8283]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8283] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8283] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8283] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8283] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[8284]|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 = (33176 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[8284] = $24; + } else { + $25 = HEAP32[(33152)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(33144)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (33176 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[8284] = $77; + $98 = $77; + } else { + $78 = HEAP32[(33152)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(33156)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (33176 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[8284] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(33152)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(33144)>>2] = $84; + HEAP32[(33156)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(33140)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (33440 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(33152)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (33440 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(33140)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(33152)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(33152)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(33152)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(33156)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (33176 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[8284] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(33152)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(33144)>>2] = $$0193$lcssa$i; + HEAP32[(33156)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(33140)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (33440 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (33440 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(33144)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(33152)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (33440 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(33140)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(33152)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(33152)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(33152)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (33176 + ($425<<2)|0); + $427 = HEAP32[8284]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[8284] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(33152)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (33440 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(33140)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(33152)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(33152)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(33144)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(33156)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(33156)>>2] = $511; + HEAP32[(33144)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(33144)>>2] = 0; + HEAP32[(33156)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(33148)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(33148)>>2] = $526; + $527 = HEAP32[(33160)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(33160)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[8402]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(33616)>>2] = 4096; + HEAP32[(33612)>>2] = 4096; + HEAP32[(33620)>>2] = -1; + HEAP32[(33624)>>2] = -1; + HEAP32[(33628)>>2] = 0; + HEAP32[(33580)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[8402] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(33616)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(33576)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(33568)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(33580)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(33160)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (33584); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(33612)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(33568)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(33576)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(33616)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(33580)>>2]|0; + $612 = $611 | 4; + HEAP32[(33580)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(33568)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(33568)>>2] = $627; + $628 = HEAP32[(33572)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(33572)>>2] = $627; + } + $630 = HEAP32[(33160)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(33152)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(33152)>>2] = $$749$i; + } + HEAP32[(33584)>>2] = $$749$i; + HEAP32[(33588)>>2] = $$723948$i; + HEAP32[(33596)>>2] = 0; + $635 = HEAP32[8402]|0; + HEAP32[(33172)>>2] = $635; + HEAP32[(33168)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (33176 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(33160)>>2] = $649; + HEAP32[(33148)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(33624)>>2]|0; + HEAP32[(33164)>>2] = $655; + } else { + $$024371$i = (33584); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(33148)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(33160)>>2] = $679; + HEAP32[(33148)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(33624)>>2]|0; + HEAP32[(33164)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(33152)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(33152)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (33584); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(33148)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(33148)>>2] = $727; + HEAP32[(33160)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(33156)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(33144)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(33144)>>2] = $733; + HEAP32[(33156)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (33176 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[8284]|0; + $760 = $759 & $758; + HEAP32[8284] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (33440 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(33140)>>2]|0; + $803 = $802 & $801; + HEAP32[(33140)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(33152)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(33152)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(33152)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (33176 + ($836<<2)|0); + $838 = HEAP32[8284]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[8284] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(33152)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (33440 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(33140)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(33140)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(33152)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(33152)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (33584); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(33160)>>2] = $946; + HEAP32[(33148)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(33624)>>2]|0; + HEAP32[(33164)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(33584)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(33584)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(33584)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(33584)+12>>2]|0; + HEAP32[(33584)>>2] = $$749$i; + HEAP32[(33588)>>2] = $$723948$i; + HEAP32[(33596)>>2] = 0; + HEAP32[(33592)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (33176 + ($968<<2)|0); + $970 = HEAP32[8284]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[8284] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(33152)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (33440 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(33140)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(33140)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(33152)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(33152)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(33148)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(33148)>>2] = $1050; + $1051 = HEAP32[(33160)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(33160)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(33152)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(33156)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(33144)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (33176 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[8284]|0; + $38 = $37 & $36; + HEAP32[8284] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (33440 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(33140)>>2]|0; + $81 = $80 & $79; + HEAP32[(33140)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(33152)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(33152)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(33152)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(33160)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(33156)>>2]|0; + if ($121) { + $123 = HEAP32[(33148)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(33148)>>2] = $124; + HEAP32[(33160)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(33156)>>2] = 0; + HEAP32[(33144)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(33144)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(33144)>>2] = $130; + HEAP32[(33156)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (33176 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(33152)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[8284]|0; + $154 = $153 & $152; + HEAP32[8284] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(33152)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(33152)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(33152)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (33440 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(33140)>>2]|0; + $200 = $199 & $198; + HEAP32[(33140)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(33152)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(33152)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(33152)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(33156)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(33144)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (33176 + ($234<<2)|0); + $236 = HEAP32[8284]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[8284] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(33152)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (33440 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(33140)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(33140)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(33152)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(33152)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(33168)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(33168)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (33592); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(33168)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/physac/physics_friction.png b/docs/examples/web/physac/physics_friction.png new file mode 100644 index 00000000..e791ec2b Binary files /dev/null and b/docs/examples/web/physac/physics_friction.png differ diff --git a/docs/examples/web/physac/physics_movement.js b/docs/examples/web/physac/physics_movement.js new file mode 100644 index 00000000..7555a22a --- /dev/null +++ b/docs/examples/web/physac/physics_movement.js @@ -0,0 +1,28387 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +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; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 36032; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,183,136,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,109,111,118,101,109,101,110,116,0,80,104,121,115,97,99,0,85,115,101,32,39,65,82,82,79,87,83,39,32,116,111,32,109,111,118,101,32,112,108,97,121,101,114,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + 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 ___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 _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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.buffer) { + ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _pthread_join() {} + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _glfwWindowShouldClose(winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.shouldClose; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _glfwWaitEvents() {} + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + } + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _pthread_create() { + return 11; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _glfwGetKey(winid, key) { + return GLFW.getKey(winid, key); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { 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); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_glfwWindowShouldClose": _glfwWindowShouldClose, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "_glLinkProgram": _glLinkProgram, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_glGetFloatv": _glGetFloatv, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_glfwGetKey": _glfwGetKey, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_glfwWaitEvents": _glfwWaitEvents, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _glfwWindowShouldClose=env._glfwWindowShouldClose; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _glGenTextures=env._glGenTextures; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var _glLinkProgram=env._glLinkProgram; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _glfwGetKey=env._glfwGetKey; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _glfwWaitEvents=env._glfwWaitEvents; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14120|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3531] = 1; + HEAPF64[1727] = 0.0; + _InitTimer(); + $1 = HEAP32[3531]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1728] = $3; + $4 = +HEAPF64[1729]; + $5 = $3 - $4; + HEAPF64[1730] = $5; + $6 = +HEAPF64[1727]; + $7 = $5 + $6; + HEAPF64[1727] = $7; + _MathClamp(); + $$pr = +HEAPF64[1727]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1730]; + $10 = +HEAPF64[1727]; + $11 = $10 - $9; + HEAPF64[1727] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1728]; + HEAPF64[1729] = $13; + $14 = HEAP32[3531]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3598]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14396 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3533]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14136 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $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.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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; + var $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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3532]|0; + $10 = (($9) + 500)|0; + HEAP32[3532] = $10; + $11 = HEAP32[3533]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14136 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3533]|0; + $123 = (14136 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3533] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3533]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3533]|0; + $$02023 = 0; + while(1) { + $6 = (14136 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14136 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3532]|0; + $15 = (($14) + -500)|0; + HEAP32[3532] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3533]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3533]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14136 + ($$022<<2)|0); + $25 = (14136 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3533] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3533]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3533]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14136 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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; + $1 = HEAP32[3533]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14136 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _SetPhysicsBodyRotation($0,$1) { + $0 = $0|0; + $1 = +$1; + var $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 = sp; + $3 = ($0|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = ((($0)) + 40|0); + HEAPF32[$4>>2] = $1; + $5 = ((($0)) + 84|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(1); + if (!($7)) { + STACKTOP = sp;return; + } + $8 = ((($0)) + 484|0); + _Mat2Radians($2,$1); + ;HEAP32[$8>>2]=HEAP32[$2>>2]|0;HEAP32[$8+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$8+12>>2]=HEAP32[$2+12>>2]|0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3531] = 0; + $0 = HEAP32[3530]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$09395 = 0, $$094 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$029$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx28 = 0, $$sroa$230$0$$sroa_idx31 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $2 = 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, $34 = 0, $35 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $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, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond102 = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy9 = sp + 104|0; + $$byval_copy8 = sp + 96|0; + $$byval_copy7 = sp + 88|0; + $0 = sp + 80|0; + $1 = sp + 72|0; + $2 = sp + 64|0; + $3 = sp + 56|0; + $4 = sp + 48|0; + $5 = sp + 40|0; + $6 = sp + 116|0; + $7 = sp + 24|0; + $8 = sp + 8|0; + $9 = sp + 112|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 16|0; + $13 = sp; + _SetConfigFlags(32); + _InitWindow(800,450,3480); + _SetTargetFPS(60); + $14 = (_MeasureText(3515,30)|0); + $15 = (800 - ($14))|0; + $16 = (($15) + -10)|0; + _InitPhysics(); + HEAPF32[$0>>2] = 400.0; + $17 = ((($0)) + 4|0); + HEAPF32[$17>>2] = 450.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$0+4>>2]|0; + $18 = (_CreatePhysicsBodyRectangle($$byval_copy9,800.0,100.0,10.0)|0); + HEAPF32[$1>>2] = 200.0; + $19 = ((($1)) + 4|0); + HEAPF32[$19>>2] = 270.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$1+4>>2]|0; + $20 = (_CreatePhysicsBodyRectangle($$byval_copy9,200.0,10.0,10.0)|0); + HEAPF32[$2>>2] = 600.0; + $21 = ((($2)) + 4|0); + HEAPF32[$21>>2] = 270.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0; + $22 = (_CreatePhysicsBodyRectangle($$byval_copy9,200.0,10.0,10.0)|0); + HEAPF32[$3>>2] = -5.0; + $23 = ((($3)) + 4|0); + HEAPF32[$23>>2] = 225.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$3+4>>2]|0; + $24 = (_CreatePhysicsBodyRectangle($$byval_copy9,10.0,450.0,10.0)|0); + HEAPF32[$4>>2] = 805.0; + $25 = ((($4)) + 4|0); + HEAPF32[$25>>2] = 225.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$4+4>>2]|0; + $26 = (_CreatePhysicsBodyRectangle($$byval_copy9,10.0,450.0,10.0)|0); + $27 = ((($18)) + 4|0); + HEAP32[$27>>2] = 0; + $28 = ((($20)) + 4|0); + HEAP32[$28>>2] = 0; + $29 = ((($22)) + 4|0); + HEAP32[$29>>2] = 0; + $30 = ((($24)) + 4|0); + HEAP32[$30>>2] = 0; + $31 = ((($26)) + 4|0); + HEAP32[$31>>2] = 0; + HEAPF32[$5>>2] = 400.0; + $32 = ((($5)) + 4|0); + HEAPF32[$32>>2] = 225.0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0; + $33 = (_CreatePhysicsBodyRectangle($$byval_copy9,50.0,50.0,1.0)|0); + $34 = ((($33)) + 80|0); + HEAP32[$34>>2] = 1; + $35 = (_WindowShouldClose()|0); + $36 = ($35|0)==(0); + if (!($36)) { + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; + } + $37 = ((($6)) + 1|0); + $38 = ((($6)) + 2|0); + $39 = ((($6)) + 3|0); + $40 = (($15) + 40)|0; + $41 = ((($9)) + 1|0); + $42 = ((($9)) + 2|0); + $43 = ((($9)) + 3|0); + $44 = ((($33)) + 76|0); + $45 = ((($33)) + 20|0); + $46 = ((($33)) + 16|0); + $$sroa$029$0$$sroa_idx = ((($33)) + 8|0); + $$sroa$230$0$$sroa_idx31 = ((($33)) + 12|0); + $$sroa$0$0$$sroa_idx = ((($33)) + 16|0); + $$sroa$2$0$$sroa_idx28 = ((($33)) + 20|0); + while(1) { + $47 = (_IsKeyPressed(82)|0); + $48 = ($47|0)==(0); + if (!($48)) { + HEAPF32[$$sroa$029$0$$sroa_idx>>2] = 400.0; + HEAPF32[$$sroa$230$0$$sroa_idx31>>2] = 225.0; + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + HEAPF32[$$sroa$2$0$$sroa_idx28>>2] = 0.0; + _SetPhysicsBodyRotation($33,0.0); + } + $49 = (_IsKeyDown(262)|0); + $50 = ($49|0)==(0); + if ($50) { + $51 = (_IsKeyDown(263)|0); + $52 = ($51|0)==(0); + if (!($52)) { + $$sink = -0.5; + label = 7; + } + } else { + $$sink = 0.5; + label = 7; + } + if ((label|0) == 7) { + label = 0; + HEAPF32[$46>>2] = $$sink; + } + $53 = (_IsKeyDown(265)|0); + $54 = ($53|0)==(0); + if (!($54)) { + $55 = HEAP32[$44>>2]|0; + $56 = ($55|0)==(0); + if (!($56)) { + HEAPF32[$45>>2] = -2.0; + } + } + _BeginDrawing(); + HEAP8[$6>>0] = 0; + HEAP8[$37>>0] = 0; + HEAP8[$38>>0] = 0; + HEAP8[$39>>0] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$6+3>>0]|0; + _ClearBackground($$byval_copy9); + _DrawFPS(710,420); + $57 = (_GetPhysicsBodiesCount()|0); + $58 = ($57|0)>(0); + if ($58) { + $$09395 = 0; + while(1) { + $61 = (_GetPhysicsBody($$09395)|0); + $62 = (_GetPhysicsShapeVerticesCount($$09395)|0); + $63 = ($62|0)>(0); + if ($63) { + $$094 = 0; + while(1) { + _GetPhysicsShapeVertex($7,$61,$$094); + $65 = (($$094) + 1)|0; + $66 = ($65|0)<($62|0); + $67 = $66 ? $65 : 0; + _GetPhysicsShapeVertex($8,$61,$67); + HEAP8[$9>>0] = 0; + HEAP8[$41>>0] = -28; + HEAP8[$42>>0] = 48; + HEAP8[$43>>0] = -1; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; + _DrawLineV($$byval_copy7,$$byval_copy8,$$byval_copy9); + $exitcond = ($65|0)==($62|0); + if ($exitcond) { + break; + } else { + $$094 = $65; + } + } + } + $64 = (($$09395) + 1)|0; + $exitcond102 = ($64|0)==($57|0); + if ($exitcond102) { + break; + } else { + $$09395 = $64; + } + } + } + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3522,10,10,10,$$byval_copy9); + HEAP32[$11>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(3550,10,30,10,$$byval_copy9); + HEAP32[$12>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(3515,$16,15,30,$$byval_copy9); + HEAP32[$13>>2] = -1; + ;HEAP8[$$byval_copy9>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(3577,$40,8,10,$$byval_copy9); + _EndDrawing(); + $59 = (_WindowShouldClose()|0); + $60 = ($59|0)==(0); + if (!($60)) { + break; + } + } + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1729] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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); + $0 = sp; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,0)|0); + $5 = tempRet0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_i64Add(($4|0),($5|0),($7|0),($9|0))|0); + $11 = tempRet0; + $12 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1727]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1727] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7695]|0; + $1 = (($0) + 1)|0; + HEAP32[7695] = $1; + $2 = HEAP32[3598]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14396 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3533]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14136 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3533]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14136 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3533]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14136 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3533]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3533]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3533]|0; + $$0135158 = 0; + while(1) { + $103 = (14136 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3598]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3598]|0; + $$0136156 = 0; + while(1) { + $108 = (14396 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3598]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14396 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3598]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3533]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3533]|0; + $$0131150 = 0; + while(1) { + $128 = (14136 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3598]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3598]|0; + $$0129148 = 0; + while(1) { + $136 = (14396 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3533]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3533]|0; + $$0127147 = 0; + while(1) { + $141 = (14136 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3598]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3598]|0; + $$02023 = 0; + while(1) { + $6 = (14396 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14396 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3532]|0; + $15 = (($14) + -56)|0; + HEAP32[3532] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3598]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3598]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14396 + ($$022<<2)|0); + $25 = (14396 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3598] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3532]|0; + $4 = (($3) + 56)|0; + HEAP32[3532] = $4; + $5 = HEAP32[3598]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14396 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3598]|0; + $20 = (14396 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3598] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1730]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7696]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[2]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.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.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7696]; + $43 = $42; + $44 = +HEAPF64[1730]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[2]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1730]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0; + var $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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $154 = 0, $155 = 0, $156 = 0.0; + var $157 = 0.0, $158 = 0.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, $2 = 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; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 0, $10 = 0, $100 = 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.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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 $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, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $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, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7698] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13848; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13888; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3472]; + $111 = +HEAPF32[3462]; + $112 = $110 - $111; + HEAPF32[3474] = $112; + $113 = +HEAPF32[(13892)>>2]; + $114 = +HEAPF32[(13852)>>2]; + $115 = $113 - $114; + HEAPF32[(13900)>>2] = $115; + HEAP32[7697] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7703] = $116; + $117 = 13880; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13848; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13904; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13888; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13880; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13904; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3476]; + $160 = +HEAPF32[3470]; + $161 = $159 - $160; + HEAPF32[3474] = $161; + $162 = +HEAPF32[(13908)>>2]; + $163 = +HEAPF32[(13884)>>2]; + $164 = $162 - $163; + HEAPF32[(13900)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13880+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7703]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7697] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7704] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7703] = 0.0; + HEAPF32[7704] = 0.0; + HEAPF32[3474] = 0.0; + HEAPF32[(13900)>>2] = 0.0; + HEAP32[7698] = 0; + HEAP32[7697] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7699]|0; + $7 = (($6) + 1)|0; + HEAP32[7699] = $7; + $8 = HEAP32[7697]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7697] = 2; + HEAP32[7699] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7699] = 1; + HEAP32[7697] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13848; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13856; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13864; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[3] = $34; + HEAPF32[3468] = 0.0; + HEAPF32[(13876)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7697]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13864; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13864+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7700] = $49; + HEAP32[7701] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[3]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13864+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7702] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7700] = 0.0; + HEAPF32[7702] = 0.0; + $$sink10 = 0; + } + HEAP32[7697] = $$sink10; + HEAPF32[3464] = 0.0; + HEAPF32[(13860)>>2] = 0.0; + HEAP32[7698] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7701]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7701] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13880; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7697]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13880+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7697] = 8; + } + } + $82 = +HEAPF32[3470]; + $83 = +HEAPF32[3464]; + $84 = $82 - $83; + HEAPF32[3468] = $84; + $85 = +HEAPF32[(13884)>>2]; + $86 = +HEAPF32[(13860)>>2]; + $87 = $85 - $86; + HEAPF32[(13876)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7697]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7698]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7697] = 4; + } + $4 = HEAP32[7697]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7697] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 13912; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _IsKeyDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetKeyStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7707]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7706]|0; + return ($0|0); +} +function _GetKeyStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[7705]|0; + $2 = (_glfwGetKey(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,3588,$vararg_buffer); + HEAP32[7709] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_10(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3617|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3617|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3617|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3617|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3617|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3617|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7707]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3478] = $5; + $6 = HEAP32[7706]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13916)>>2] = $8; + $9 = HEAP32[7710]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13952>>0]=HEAP8[8146>>0]|0;HEAP8[13952+1>>0]=HEAP8[8146+1>>0]|0;HEAP8[13952+2>>0]=HEAP8[8146+2>>0]|0;HEAP8[13952+3>>0]=HEAP8[8146+3>>0]|0;HEAP8[13952+4>>0]=HEAP8[8146+4>>0]|0;HEAP8[13952+5>>0]=HEAP8[8146+5>>0]|0;HEAP8[13952+6>>0]=HEAP8[8146+6>>0]|0; + break; + } + case 1: { + $3 = 13952; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13952; src=8153; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13952; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13952,$1)|0); + $strlen = (_strlen(13952)|0); + $endptr = (13952 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13952,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7707] = $0; + HEAP32[7706] = $1; + _MatrixIdentity($2); + dest=30916; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4288,$vararg_buffer); + } + $6 = HEAP32[7707]|0; + HEAP32[7745] = $6; + $7 = HEAP32[7706]|0; + HEAP32[7746] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[33640]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[33640]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[33640]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4314,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7747]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7707]|0; + $48 = HEAP32[7706]|0; + $49 = HEAP32[7709]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7705] = $50; + $51 = HEAP32[7707]|0; + HEAP32[7748] = $51; + $52 = HEAP32[7706]|0; + HEAP32[7749] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7707]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7706]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7745] = $31; + HEAP32[7746] = $34; + } + } while(0); + $38 = HEAP32[7745]|0; + $39 = HEAP32[7746]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4339,$vararg_buffer3); + $40 = HEAP32[7745]|0; + $41 = HEAP32[7746]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7745]|0; + $43 = HEAP32[7746]|0; + $44 = HEAP32[7709]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7705] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4377,$vararg_buffer6); + } else { + _TraceLog(0,4410,$vararg_buffer8); + $55 = HEAP32[7748]|0; + $56 = HEAP32[7749]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4450,$vararg_buffer10); + $57 = HEAP32[7707]|0; + $58 = HEAP32[7706]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4471,$vararg_buffer14); + $59 = HEAP32[7750]|0; + $60 = HEAP32[7751]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4492,$vararg_buffer18); + } + $61 = HEAP32[7705]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7705]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7705]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7705]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7705]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7705]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7705]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7705]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7705]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[33640]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7707]|0; + $74 = HEAP32[7706]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7748]|0; + $76 = HEAP32[7750]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7749]|0; + $80 = HEAP32[7751]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4517,$vararg_buffer22); + $73 = HEAP32[7707]|0; + $74 = HEAP32[7706]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7748]|0; + $76 = HEAP32[7750]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7749]|0; + $80 = HEAP32[7751]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(30884)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (16 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[30860>>2]=HEAP32[$1>>2]|0;HEAP32[30860+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[30860+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[30860+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[30860+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(30884)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(30888)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30880)>>2] = $23; + $24 = HEAP32[7715]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3812,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(30864)>>2]|0; + $10 = HEAP32[(30884)>>2]|0; + $11 = HEAP32[(30888)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2064 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30880)>>2] = $23; + $24 = HEAP32[7715]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3812,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_10() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1743] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3745,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3676,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3669)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13928; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13936); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (30844 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1740] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3625,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7710] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4188,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7723]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3857,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7724]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3901,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7725]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3946,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7726]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3991,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7727]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4036,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7723]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7723]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7723]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7723]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7724]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7725]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7725]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7726]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7726]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7727]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7727]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4081,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7728]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4159,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4110,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4242,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8108,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7707]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7706]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7748] = $3; + HEAP32[7749] = $5; + HEAP32[7750] = 0; + HEAP32[7751] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8042,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7707]|0; + $36 = (+($35|0)); + $37 = HEAP32[7706]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7748] = $45; + HEAP32[7749] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7750] = $46; + $$sink1 = 0; + } else { + HEAP32[7748] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7749] = $42; + HEAP32[7750] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7751] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7706]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7899,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7707]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7706]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7748] = $23; + HEAP32[7749] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7750] = $24; + $$sink = 0; + } else { + HEAP32[7748] = $0; + $17 = HEAP32[7706]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7749] = $20; + HEAP32[7750] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7751] = $$sink; + $25 = HEAP32[7748]|0; + $26 = (+($25|0)); + $27 = HEAP32[7707]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=30916; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7748] = $0; + HEAP32[7749] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7977,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7707] = $1; + HEAP32[7706] = $2; + HEAP32[7748] = $1; + HEAP32[7749] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[741]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (33647 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[740] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (33641 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13928; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[740] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8121] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8120] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4540,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4558,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4576,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4594,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4612)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4614,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4649)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7786] = 1; + $27 = (_eglGetProcAddress((4676|0))|0); + HEAP32[7787] = $27; + $28 = (_eglGetProcAddress((4697|0))|0); + HEAP32[7788] = $28; + $29 = (_eglGetProcAddress((4718|0))|0); + HEAP32[7789] = $29; + } + $30 = (_strcmp($24,4742)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7728] = 1; + } + $32 = (_strcmp($24,4762)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4794)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4827)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7723] = 1; + } + $39 = (_strcmp($24,4867)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4903)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7724] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4936)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7725] = 1; + } + $47 = (_strcmp($44,4961)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7726] = 1; + } + $49 = (_strcmp($44,4994)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7727] = 1; + } + $51 = (_strcmp($44,5030)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7790] = 1; + _glGetFloatv(34047,(31164|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5064)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7792] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7786]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5167,$vararg_buffer15); + } else { + _TraceLog(0,5092,$vararg_buffer13); + } + $57 = HEAP32[7728]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5303,$vararg_buffer19); + } else { + _TraceLog(0,5228,$vararg_buffer17); + } + $59 = HEAP32[7723]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5395,$vararg_buffer21); + } + $61 = HEAP32[7724]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5441,$vararg_buffer23); + } + $63 = HEAP32[7725]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5488,$vararg_buffer25); + } + $65 = HEAP32[7726]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5539,$vararg_buffer27); + } + $67 = HEAP32[7727]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5586,$vararg_buffer29); + } + $69 = HEAP32[7790]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7791]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5633,$vararg_buffer31); + } + $73 = HEAP32[7792]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5699,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7793] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5803,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5752,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31176; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31232; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7822] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7822]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7823] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7824] = 1; + $85 = HEAP32[7793]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7825] = 4; + _MatrixIdentity($4); + dest=31304; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31368); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31432); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31496); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31560); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31624); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31688); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31752); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31816); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31880); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31944); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32008); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32072); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32136); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32200); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32264); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=31012; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=31076; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7752] = 31076; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8082] = $0; + HEAP32[8083] = $1; + _TraceLog(0,5842,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7750]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7751]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7748]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7749]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31012; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31076; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7752] = $modelview$sink; + } + HEAP32[7785] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[7752]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7752]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6418|0),489)|0; + _memcpy(($3|0),(6907|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7396,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7348,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32348)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32356)>>2] = $1; + HEAP32[(32352)>>2] = 0; + HEAP32[(32360)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32356)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8084] = 0; + HEAP32[(32344)>>2] = 0; + HEAP32[(32340)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32396)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32404)>>2] = $6; + HEAP32[(32400)>>2] = 0; + HEAP32[(32408)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32404)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8096] = 0; + HEAP32[(32392)>>2] = 0; + HEAP32[(32388)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32444)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32448)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32452)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32456)>>2] = $13; + $14 = HEAP32[(32444)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32448)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32452)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32456)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8108] = 0; + HEAP32[(32436)>>2] = 0; + HEAP32[(32440)>>2] = 0; + _TraceLog(0,5889,$vararg_buffer); + $20 = HEAP32[7786]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32364)); + $44 = HEAP32[7788]|0; + $45 = HEAP32[(32364)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32368)|0)); + $46 = HEAP32[(32368)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32348)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32372)|0)); + $50 = HEAP32[(32372)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32356)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7786]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32368)>>2]|0; + $58 = HEAP32[(32372)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6027,$vararg_buffer3); + } else { + $56 = HEAP32[(32364)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5962,$vararg_buffer1); + } + $59 = HEAP32[7786]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32412)); + $62 = HEAP32[7788]|0; + $63 = HEAP32[(32412)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32416)|0)); + $64 = HEAP32[(32416)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32396)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32420)|0)); + $68 = HEAP32[(32420)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32404)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7786]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32416)>>2]|0; + $76 = HEAP32[(32420)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6173,$vararg_buffer10); + } else { + $74 = HEAP32[(32412)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6104,$vararg_buffer7); + } + $77 = HEAP32[7786]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32460)); + $80 = HEAP32[7788]|0; + $81 = HEAP32[(32460)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32464)|0)); + $82 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32444)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32468)|0)); + $86 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32448)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31240)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31240)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32472)|0)); + $90 = HEAP32[(32472)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32452)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32476)|0)); + $94 = HEAP32[(32476)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32456)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7786]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32464)>>2]|0; + $100 = HEAP32[(32468)>>2]|0; + $101 = HEAP32[(32472)>>2]|0; + $102 = HEAP32[(32476)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6319,$vararg_buffer17); + } else { + $98 = HEAP32[(32460)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6254,$vararg_buffer14); + } + $103 = HEAP32[7786]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7652,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7600,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7649,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7753,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7702,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7649,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7444|0)); + _glBindAttribLocation(($20|0),1,(7459|0)); + _glBindAttribLocation(($20|0),2,(7490|0)); + _glBindAttribLocation(($20|0),3,(7517|0)); + _glBindAttribLocation(($20|0),4,(7503|0)); + _glBindAttribLocation(($20|0),5,(7474|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7805,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7649,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7851,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7444|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7459|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7474|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7490|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7503|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7517|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7529|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7539|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7550|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7561|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7573|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7582|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7591|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33641 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33644 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33641 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33644 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7705]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8163,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[30860>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[30860+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[30860+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[30860+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[30860+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(30888)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31172|0)); + $0 = HEAP32[7793]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8190,$vararg_buffer); + $1 = HEAP32[7823]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7794]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[7786]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32368)|0)); + _glDeleteBuffers(1,((32372)|0)); + _glDeleteBuffers(1,((32416)|0)); + _glDeleteBuffers(1,((32420)|0)); + _glDeleteBuffers(1,((32464)|0)); + _glDeleteBuffers(1,((32468)|0)); + _glDeleteBuffers(1,((32472)|0)); + _glDeleteBuffers(1,((32476)|0)); + $3 = HEAP32[7786]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7789]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32364)); + $6 = HEAP32[7789]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32412)); + $7 = HEAP32[7789]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32460)); + } + $8 = HEAP32[(32348)>>2]|0; + _free($8); + $9 = HEAP32[(32356)>>2]|0; + _free($9); + $10 = HEAP32[(32396)>>2]|0; + _free($10); + $11 = HEAP32[(32404)>>2]|0; + _free($11); + $12 = HEAP32[(32444)>>2]|0; + _free($12); + $13 = HEAP32[(32448)>>2]|0; + _free($13); + $14 = HEAP32[(32452)>>2]|0; + _free($14); + $15 = HEAP32[(32456)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8255,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _WindowShouldClose() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8120]|0; + $1 = ($0|0)==(0); + if (!($1)) { + while(1) { + _glfwWaitEvents(); + $2 = HEAP32[8120]|0; + $3 = ($2|0)==(0); + if ($3) { + break; + } + } + } + $4 = HEAP32[7705]|0; + $5 = (_glfwWindowShouldClose(($4|0))|0); + return ($5|0); +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1760] = $0; + $1 = +HEAPF64[1743]; + $2 = $0 - $1; + HEAPF64[1761] = $2; + HEAPF64[1743] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=30916; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32488); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8122] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32492)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32496)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32500)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32504)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32508)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32512)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32516)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32520)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32524)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32528)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32532)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32536)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32540)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32544)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32548)>>2] = $31; + return (32488|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7752]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1760] = $0; + $1 = +HEAPF64[1743]; + $2 = $0 - $1; + HEAPF64[1762] = $2; + HEAPF64[1743] = $0; + $3 = +HEAPF64[1761]; + $4 = $2 + $3; + HEAPF64[1763] = $4; + $5 = +HEAPF64[1740]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1760] = $10; + $11 = +HEAPF64[1743]; + $12 = $10 - $11; + HEAPF64[1743] = $10; + $13 = +HEAPF64[1763]; + $14 = $12 + $13; + HEAPF64[1763] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7705]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[740] = -1; + HEAP32[742] = -1; + HEAP32[8138] = 0; + $3 = HEAP32[7705]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3478] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13916)>>2] = $7; + _memcpy((34159|0),(33647|0),512)|0; + ;HEAP8[33644>>0]=HEAP8[33641>>0]|0;HEAP8[33644+1>>0]=HEAP8[33641+1>>0]|0;HEAP8[33644+2>>0]=HEAP8[33641+2>>0]|0; + $8 = HEAP32[8121]|0; + HEAP32[7708] = $8; + HEAP32[8121] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (34671 + ($$05160<<5)|0); + $scevgep67 = (34799 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((34799 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[742] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32556 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8138] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8084]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7786]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7788]|0; + $5 = HEAP32[(32364)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32368)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8084]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32348)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32372)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32344)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32356)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8096]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7786]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7788]|0; + $19 = HEAP32[(32412)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32416)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8096]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32396)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32420)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32392)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32404)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8108]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7786]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7788]|0; + $33 = HEAP32[(32460)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8108]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32444)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8108]|0; + $40 = $39 << 3; + $41 = HEAP32[(32448)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32472)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8108]|0; + $44 = $43 << 2; + $45 = HEAP32[(32452)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7786]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=31076; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[8171]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8084]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8096]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8108]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7808]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31076; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=31012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31260)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31264)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31276)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8084]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7793]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7786]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32368)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32372)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7788]|0; + $25 = HEAP32[(32364)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8084]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7786]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8096]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7793]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7786]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32416)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32420)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7788]|0; + $41 = HEAP32[(32412)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8096]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7786]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8108]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7786]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31240)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31240)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32472)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32476)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7788]|0; + $56 = HEAP32[(32460)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7824]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7823]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7823]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7824]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7786]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7786]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7824] = 1; + $5 = HEAP32[7793]|0; + $6 = HEAP32[7823]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8084] = 0; + HEAP32[(32344)>>2] = 0; + HEAP32[8096] = 0; + HEAP32[(32392)>>2] = 0; + HEAP32[8108] = 0; + HEAP32[(32436)>>2] = 0; + HEAP32[(32440)>>2] = 0; + HEAPF32[743] = -1.0; + dest=31012; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31076; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[8082]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8083]|0; + _rlViewport($7,0,$8,$9); + $10 = (32916 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32788 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31076; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31012; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[8261]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8305,$vararg_buffer); + } + $2 = HEAP32[8261]|0; + $3 = (31304 + ($2<<6)|0); + $4 = HEAP32[7752]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[8261]|0; + $6 = (($5) + 1)|0; + HEAP32[8261] = $6; + $7 = HEAP32[7785]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8262] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8261]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8261]|0; + $3 = (($2) + -1)|0; + $4 = (31304 + ($3<<6)|0); + $5 = HEAP32[7752]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8261] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1763]; + $1 = $0; + return (+$1); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[33640] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7710] = 1; + } + $3 = HEAP8[33640]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7747] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33647 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (34159 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7752]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[7752]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7825] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[8262]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8263]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7822]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7752]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8263]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8262] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7822]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8263]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8262] = 0; + } + HEAP32[8263] = 0; + } + $21 = HEAP32[7825]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8084]|0; + $23 = HEAP32[(32344)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32356)>>2]|0; + $28 = HEAP32[(32344)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32356)>>2]|0; + $35 = HEAP32[(32344)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32356)>>2]|0; + $43 = HEAP32[(32344)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32356)>>2]|0; + $51 = HEAP32[(32344)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32344)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32344)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8096]|0; + $62 = HEAP32[(32392)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32404)>>2]|0; + $67 = HEAP32[(32392)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32404)>>2]|0; + $74 = HEAP32[(32392)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32404)>>2]|0; + $82 = HEAP32[(32392)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32404)>>2]|0; + $90 = HEAP32[(32392)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32392)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32392)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8108]|0; + $101 = HEAP32[(32440)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32452)>>2]|0; + $106 = HEAP32[(32440)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32452)>>2]|0; + $113 = HEAP32[(32440)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32452)>>2]|0; + $121 = HEAP32[(32440)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32452)>>2]|0; + $129 = HEAP32[(32440)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32440)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32440)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8108]|0; + $140 = HEAP32[(32436)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32448)>>2]|0; + $$promoted = HEAP32[(32436)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32436)>>2] = $147; + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[8262]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7822]|0; + $6 = HEAP32[8263]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8263] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7825]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8084]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32348)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8084] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8343,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8096]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32396)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8096] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8368,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8108]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32444)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8108] = $41; + $42 = HEAP32[7823]|0; + $43 = HEAP32[7824]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8397,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[743]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7825]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32448)>>2]|0; + $5 = HEAP32[(32436)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32436)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7825]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32344);$$sink38 = (32356); + break; + } + case 4: { + $$sink37 = (32392);$$sink38 = (32404); + break; + } + case 7: { + $$sink37 = (32440);$$sink38 = (32452); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[7823]|0; + $2 = HEAP32[7824]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7824] = $10; + } + $11 = HEAP32[7824]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8108]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[30860>>2]|0;HEAP32[$0+4>>2]=HEAP32[30860+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[30860+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[30860+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[30860+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[30860+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[30860+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[30860+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 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; + (_vsprintf(34927,$0,$1)|0); + STACKTOP = sp;return (34927|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8264]|0; + $4 = HEAP32[744]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8265] = $7; + HEAP32[744] = $7; + $$sink = 0; + } + HEAP32[8264] = $$sink; + $8 = HEAP32[8265]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8422,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(34927,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8430)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8434)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8438)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8442)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8448)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8486)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8505; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8518)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8539; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8554)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8569; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8584)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8599; + } + } else { + HEAP32[$3>>2] = 8470; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8614)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8628)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8640)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8654)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8666)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8680)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8694)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8711)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8734)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8760)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8773)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8789)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8802)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8816)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8836)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8856)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8873)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8890)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8902)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8915)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8931)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8954)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8967)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8983)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8994)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,9013)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,9035)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,9054)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,9083)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,9100)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,9115)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,9130)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9151)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9171)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9191)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9217)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9236)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9248)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9260)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9272)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9284)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9296)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9308)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9320)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9332)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9345)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9358)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9371)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9384)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9397)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9410)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9423)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9436)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9455)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9474)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9493)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9506)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9524)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9542)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9560)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9578)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9598)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8539)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9616)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9631)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9652)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9667)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9685)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9701)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9720)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9734)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9749)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8470)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9760)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8569)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8599)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9776)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9803)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9817)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8505)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9837)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9855)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9867)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9888)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9906)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9924)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9945)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9971)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9994)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,10032)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,10048)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,10063)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,10086)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,10099)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,10113)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,10127)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10147)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10167)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10183)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10201)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10217)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10232)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10254)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10272)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10293)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10311)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10324)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 1; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10339)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10353)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10363)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10373)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10395)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10421)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10448)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10461)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10476)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10491)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 2; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10515)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10526)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10548)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10570)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10594)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 3; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10603)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 4; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10611)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10624)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10638)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10650)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10659)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10669)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10681)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10692)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10700)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10712)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10727)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10739)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10753)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10778)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10795)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10811)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10827)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10839)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10851)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10875)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10888)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10902)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10924)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10931)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10947)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10964)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10981)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10997)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,11013)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,11030)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,11044)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,11056)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,11067)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,11080)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,11090)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,11107)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,11119)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11141)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11161)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11174)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11196)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11216)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11233)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11250)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11270)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33064|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (2980|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|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] = 9; + $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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3356; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11386 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11850;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11850;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11850 : (11852); + $$$ = $238 ? $$ : (11851); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11850;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11850;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11860; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11850;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11850 + ($208)|0); + $$289 = $or$cond283 ? 11850 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11850;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (11902 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11867; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11868) : (11873); + $$$ = $16 ? $$ : (11870); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11902 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11918,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11918,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11886 : 11890; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11894 : 11898; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (11920 + ($$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 = 12008;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 12008; + } else { + $$01214 = 12008;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33128|0)); + return (33136|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33128|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14112; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[8285]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8285] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8285] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8285] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8285] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[8286]|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 = (33184 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[8286] = $24; + } else { + $25 = HEAP32[(33160)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(33152)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (33184 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[8286] = $77; + $98 = $77; + } else { + $78 = HEAP32[(33160)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(33164)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (33184 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[8286] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(33160)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(33152)>>2] = $84; + HEAP32[(33164)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(33148)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (33448 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(33160)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (33448 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(33148)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(33160)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(33160)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(33160)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(33164)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (33184 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[8286] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(33160)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(33152)>>2] = $$0193$lcssa$i; + HEAP32[(33164)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(33148)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (33448 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (33448 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(33152)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(33160)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (33448 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(33148)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(33160)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(33160)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(33160)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (33184 + ($425<<2)|0); + $427 = HEAP32[8286]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[8286] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(33160)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (33448 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(33148)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(33160)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(33160)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(33152)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(33164)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(33164)>>2] = $511; + HEAP32[(33152)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(33152)>>2] = 0; + HEAP32[(33164)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(33156)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(33156)>>2] = $526; + $527 = HEAP32[(33168)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(33168)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[8404]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(33624)>>2] = 4096; + HEAP32[(33620)>>2] = 4096; + HEAP32[(33628)>>2] = -1; + HEAP32[(33632)>>2] = -1; + HEAP32[(33636)>>2] = 0; + HEAP32[(33588)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[8404] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(33624)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(33584)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(33576)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(33588)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(33168)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (33592); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(33620)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(33576)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(33584)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(33624)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(33588)>>2]|0; + $612 = $611 | 4; + HEAP32[(33588)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(33576)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(33576)>>2] = $627; + $628 = HEAP32[(33580)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(33580)>>2] = $627; + } + $630 = HEAP32[(33168)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(33160)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(33160)>>2] = $$749$i; + } + HEAP32[(33592)>>2] = $$749$i; + HEAP32[(33596)>>2] = $$723948$i; + HEAP32[(33604)>>2] = 0; + $635 = HEAP32[8404]|0; + HEAP32[(33180)>>2] = $635; + HEAP32[(33176)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (33184 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(33168)>>2] = $649; + HEAP32[(33156)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(33632)>>2]|0; + HEAP32[(33172)>>2] = $655; + } else { + $$024371$i = (33592); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(33156)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(33168)>>2] = $679; + HEAP32[(33156)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(33632)>>2]|0; + HEAP32[(33172)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(33160)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(33160)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (33592); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(33156)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(33156)>>2] = $727; + HEAP32[(33168)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(33164)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(33152)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(33152)>>2] = $733; + HEAP32[(33164)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (33184 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[8286]|0; + $760 = $759 & $758; + HEAP32[8286] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (33448 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(33148)>>2]|0; + $803 = $802 & $801; + HEAP32[(33148)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(33160)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(33160)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(33160)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (33184 + ($836<<2)|0); + $838 = HEAP32[8286]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[8286] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(33160)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (33448 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(33148)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(33148)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(33160)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(33160)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (33592); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(33168)>>2] = $946; + HEAP32[(33156)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(33632)>>2]|0; + HEAP32[(33172)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(33592)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(33592)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(33592)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(33592)+12>>2]|0; + HEAP32[(33592)>>2] = $$749$i; + HEAP32[(33596)>>2] = $$723948$i; + HEAP32[(33604)>>2] = 0; + HEAP32[(33600)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (33184 + ($968<<2)|0); + $970 = HEAP32[8286]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[8286] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(33160)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (33448 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(33148)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(33148)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(33160)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(33160)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(33156)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(33156)>>2] = $1050; + $1051 = HEAP32[(33168)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(33168)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(33160)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(33164)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(33152)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (33184 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[8286]|0; + $38 = $37 & $36; + HEAP32[8286] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (33448 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(33148)>>2]|0; + $81 = $80 & $79; + HEAP32[(33148)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(33160)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(33160)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(33160)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(33168)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(33164)>>2]|0; + if ($121) { + $123 = HEAP32[(33156)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(33156)>>2] = $124; + HEAP32[(33168)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(33164)>>2] = 0; + HEAP32[(33152)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(33152)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(33152)>>2] = $130; + HEAP32[(33164)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (33184 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(33160)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[8286]|0; + $154 = $153 & $152; + HEAP32[8286] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(33160)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(33160)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(33160)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (33448 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(33148)>>2]|0; + $200 = $199 & $198; + HEAP32[(33148)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(33160)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(33160)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(33160)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(33164)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(33152)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (33184 + ($234<<2)|0); + $236 = HEAP32[8286]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[8286] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(33160)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (33448 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(33148)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(33148)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(33160)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(33160)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(33176)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(33176)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (33600); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(33176)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/physac/physics_movement.png b/docs/examples/web/physac/physics_movement.png new file mode 100644 index 00000000..a88a7d79 Binary files /dev/null and b/docs/examples/web/physac/physics_movement.png differ diff --git a/docs/examples/web/physac/physics_restitution.js b/docs/examples/web/physac/physics_restitution.js new file mode 100644 index 00000000..b4e626d1 --- /dev/null +++ b/docs/examples/web/physac/physics_restitution.js @@ -0,0 +1,28733 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +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; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 36032; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,129,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,183,136,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,80,104,121,115,105,99,115,32,114,101,115,116,105,116,117,116,105,111,110,0,80,104,121,115,97,99,0,82,101,115,116,105,116,117,116,105,111,110,32,97,109,111,117,110,116,0,48,0,48,46,53,0,49,0,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,37,50,105,32,70,80,83,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + 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 ___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 _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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.buffer) { + ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _pthread_join() {} + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _glfwWindowShouldClose(winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.shouldClose; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _glfwWaitEvents() {} + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + } + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _pthread_create() { + return 11; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { 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); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_glfwWindowShouldClose": _glfwWindowShouldClose, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "_glLinkProgram": _glLinkProgram, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_glfwWaitEvents": _glfwWaitEvents, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _glfwWindowShouldClose=env._glfwWindowShouldClose; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var _glLinkProgram=env._glLinkProgram; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _glfwWaitEvents=env._glfwWaitEvents; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14120|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3531] = 1; + HEAPF64[1727] = 0.0; + _InitTimer(); + $1 = HEAP32[3531]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1728] = $3; + $4 = +HEAPF64[1729]; + $5 = $3 - $4; + HEAPF64[1730] = $5; + $6 = +HEAPF64[1727]; + $7 = $5 + $6; + HEAPF64[1727] = $7; + _MathClamp(); + $$pr = +HEAPF64[1727]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1730]; + $10 = +HEAPF64[1727]; + $11 = $10 - $9; + HEAPF64[1727] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1728]; + HEAPF64[1729] = $13; + $14 = HEAP32[3531]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3598]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14396 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3533]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14136 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _CreatePhysicsBodyCircle($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + $3 = (_CreatePhysicsBodyPolygon($$byval_copy,$1,24,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0; + var $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.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.0; + var $125 = 0.0, $126 = 0, $127 = 0.0, $128 = 0.0, $129 = 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, $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.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.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.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0; + var $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $tmpcast$byval_copy = 0; + var $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 432|0; + $tmpcast$byval_copy = sp + 424|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (_malloc(500)|0); + $8 = HEAP32[3532]|0; + $9 = (($8) + 500)|0; + HEAP32[3532] = $9; + $10 = HEAP32[3533]|0; + $11 = ($10|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($11) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $14 = (14136 + ($$0119144<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==($$0116149|0); + $13 = (($$0119144) + 1)|0; + if ($17) { + break; + } + $12 = ($13>>>0)<($10>>>0); + if ($12) { + $$0119144 = $13; + } else { + label = 6; + break L1; + } + } + $18 = (($$0116149) + 1)|0; + $19 = ($18|0)<(64); + if ($19) { + $$0116149 = $18; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($7|0); + } + if ((label|0) == 6) { + $20 = ($$0116149|0)==(-1); + if ($20) { + STACKTOP = sp;return ($7|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$7>>2] = $$0116149158159; + $21 = ((($7)) + 4|0); + HEAP32[$21>>2] = 1; + $22 = ((($7)) + 8|0); + $23 = $0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $$sroa$049$0$$sroa_idx = ((($7)) + 16|0); + $33 = ((($7)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$33>>2] = 1; + $34 = ((($7)) + 88|0); + HEAP32[$34>>2] = $7; + $35 = ((($7)) + 96|0); + _CreateRandomPolygon($4,$1,$2); + _memcpy(($35|0),($4|0),404)|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $38 = ((($7)) + 100|0); + $39 = ((($5)) + 4|0); + $40 = ((($6)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $50 = (($38) + ($$0120136<<3)|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = $5; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $56; + $61 = (($$0120136) + 1)|0; + $62 = HEAP32[$35>>2]|0; + $63 = ($61>>>0)<($62>>>0); + $64 = $63 ? $61 : 0; + $65 = (($38) + ($64<<3)|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $6; + $73 = $72; + HEAP32[$73>>2] = $68; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $71; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + $76 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $77 = $76 * 0.5; + $42 = $$0122133 + $77; + $78 = $77 * 0.3333333432674408; + $79 = +HEAPF32[$5>>2]; + $80 = +HEAPF32[$6>>2]; + $81 = $79 + $80; + $82 = $78 * $81; + $44 = $$sroa$0$0132 + $82; + $83 = +HEAPF32[$39>>2]; + $84 = +HEAPF32[$40>>2]; + $85 = $83 + $84; + $86 = $78 * $85; + $46 = $$sroa$8$0135 + $86; + $87 = $79 * $79; + $88 = $79 * $80; + $89 = $87 + $88; + $90 = $80 * $80; + $91 = $90 + $89; + $92 = $83 * $83; + $93 = $83 * $84; + $94 = $92 + $93; + $95 = $84 * $84; + $96 = $95 + $94; + $97 = $76 * 0.083333335816860198; + $98 = $91 + $96; + $99 = $97 * $98; + $100 = $$0121134 + $99; + $48 = HEAP32[$35>>2]|0; + $101 = ($61>>>0)<($48>>>0); + if ($101) { + $$0120136 = $61;$$0121134 = $100;$$0122133 = $42;$$sroa$0$0132 = $44;$$sroa$8$0135 = $46; + } else { + break; + } + } + $41 = 1.0 / $42; + $43 = $44 * $41; + $45 = $41 * $46; + $47 = ($48|0)==(0); + if ($47) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + } else { + $49 = ((($7)) + 100|0); + $$0131 = 0; + while(1) { + $123 = (($49) + ($$0131<<3)|0); + $124 = +HEAPF32[$123>>2]; + $125 = $124 - $43; + HEAPF32[$123>>2] = $125; + $126 = (((($49) + ($$0131<<3)|0)) + 4|0); + $127 = +HEAPF32[$126>>2]; + $128 = $127 - $45; + HEAPF32[$126>>2] = $128; + $129 = (($$0131) + 1)|0; + $exitcond = ($129|0)==($48|0); + if ($exitcond) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + break; + } else { + $$0131 = $129; + } + } + } + } + $102 = $$0122$lcssa160 * $3; + $103 = ((($7)) + 52|0); + HEAPF32[$103>>2] = $102; + $104 = $102 != 0.0; + $105 = 1.0 / $102; + $106 = $104 ? $105 : 0.0; + $107 = ((($7)) + 56|0); + HEAPF32[$107>>2] = $106; + $108 = $$0121$lcssa161 * $3; + $109 = ((($7)) + 44|0); + HEAPF32[$109>>2] = $108; + $110 = $108 != 0.0; + $111 = 1.0 / $108; + $112 = $110 ? $111 : 0.0; + $113 = ((($7)) + 48|0); + HEAPF32[$113>>2] = $112; + $114 = ((($7)) + 60|0); + HEAPF32[$114>>2] = 0.40000000596046448; + $115 = ((($7)) + 64|0); + HEAPF32[$115>>2] = 0.20000000298023224; + $116 = ((($7)) + 68|0); + HEAPF32[$116>>2] = 0.0; + $117 = ((($7)) + 72|0); + HEAP32[$117>>2] = 1; + $118 = ((($7)) + 76|0); + HEAP32[$118>>2] = 0; + $119 = ((($7)) + 80|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[3533]|0; + $121 = (14136 + ($120<<2)|0); + HEAP32[$121>>2] = $7; + $122 = (($120) + 1)|0; + HEAP32[3533] = $122; + STACKTOP = sp;return ($7|0); +} +function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0, $104 = 0.0, $105 = 0, $106 = 0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0; + var $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 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, $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.0, $44 = 0.0; + var $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.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; + var $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.0, $79 = 0.0, $8 = 0, $80 = 0.0; + var $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0; + var $exitcond = 0, $tmpcast$byval_copy = 0, $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 440|0; + $tmpcast$byval_copy = sp + 432|0; + $4 = sp + 424|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_malloc(500)|0); + $9 = HEAP32[3532]|0; + $10 = (($9) + 500)|0; + HEAP32[3532] = $10; + $11 = HEAP32[3533]|0; + $12 = ($11|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($12) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $15 = (14136 + ($$0119144<<2)|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($$0116149|0); + $14 = (($$0119144) + 1)|0; + if ($18) { + break; + } + $13 = ($14>>>0)<($11>>>0); + if ($13) { + $$0119144 = $14; + } else { + label = 6; + break L1; + } + } + $19 = (($$0116149) + 1)|0; + $20 = ($19|0)<(64); + if ($20) { + $$0116149 = $19; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($8|0); + } + if ((label|0) == 6) { + $21 = ($$0116149|0)==(-1); + if ($21) { + STACKTOP = sp;return ($8|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$8>>2] = $$0116149158159; + $22 = ((($8)) + 4|0); + HEAP32[$22>>2] = 1; + $23 = ((($8)) + 8|0); + $24 = $0; + $25 = $24; + $26 = HEAP32[$25>>2]|0; + $27 = (($24) + 4)|0; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = $23; + $31 = $30; + HEAP32[$31>>2] = $26; + $32 = (($30) + 4)|0; + $33 = $32; + HEAP32[$33>>2] = $29; + $$sroa$049$0$$sroa_idx = ((($8)) + 16|0); + $34 = ((($8)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$34>>2] = 1; + $35 = ((($8)) + 88|0); + HEAP32[$35>>2] = $8; + $36 = ((($8)) + 96|0); + HEAPF32[$4>>2] = $1; + $37 = ((($4)) + 4|0); + HEAPF32[$37>>2] = $2; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _CreateRectanglePolygon($5,$tmpcast$byval_copy,$tmpcast123$byval_copy); + _memcpy(($36|0),($5|0),404)|0; + $38 = HEAP32[$36>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $40 = ((($8)) + 100|0); + $41 = ((($6)) + 4|0); + $42 = ((($7)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $52 = (($40) + ($$0120136<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$0120136) + 1)|0; + $64 = HEAP32[$36>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (($40) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$7+4>>2]|0; + $78 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $79 = $78 * 0.5; + $44 = $$0122133 + $79; + $80 = $79 * 0.3333333432674408; + $81 = +HEAPF32[$6>>2]; + $82 = +HEAPF32[$7>>2]; + $83 = $81 + $82; + $84 = $80 * $83; + $46 = $$sroa$0$0132 + $84; + $85 = +HEAPF32[$41>>2]; + $86 = +HEAPF32[$42>>2]; + $87 = $85 + $86; + $88 = $80 * $87; + $48 = $$sroa$8$0135 + $88; + $89 = $81 * $81; + $90 = $81 * $82; + $91 = $89 + $90; + $92 = $82 * $82; + $93 = $92 + $91; + $94 = $85 * $85; + $95 = $85 * $86; + $96 = $94 + $95; + $97 = $86 * $86; + $98 = $97 + $96; + $99 = $78 * 0.083333335816860198; + $100 = $93 + $98; + $101 = $99 * $100; + $102 = $$0121134 + $101; + $50 = HEAP32[$36>>2]|0; + $103 = ($63>>>0)<($50>>>0); + if ($103) { + $$0120136 = $63;$$0121134 = $102;$$0122133 = $44;$$sroa$0$0132 = $46;$$sroa$8$0135 = $48; + } else { + break; + } + } + $43 = 1.0 / $44; + $45 = $46 * $43; + $47 = $43 * $48; + $49 = ($50|0)==(0); + if ($49) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + } else { + $51 = ((($8)) + 100|0); + $$0131 = 0; + while(1) { + $125 = (($51) + ($$0131<<3)|0); + $126 = +HEAPF32[$125>>2]; + $127 = $126 - $45; + HEAPF32[$125>>2] = $127; + $128 = (((($51) + ($$0131<<3)|0)) + 4|0); + $129 = +HEAPF32[$128>>2]; + $130 = $129 - $47; + HEAPF32[$128>>2] = $130; + $131 = (($$0131) + 1)|0; + $exitcond = ($131|0)==($50|0); + if ($exitcond) { + $$0121$lcssa161 = $102;$$0122$lcssa160 = $44; + break; + } else { + $$0131 = $131; + } + } + } + } + $104 = $$0122$lcssa160 * $3; + $105 = ((($8)) + 52|0); + HEAPF32[$105>>2] = $104; + $106 = $104 != 0.0; + $107 = 1.0 / $104; + $108 = $106 ? $107 : 0.0; + $109 = ((($8)) + 56|0); + HEAPF32[$109>>2] = $108; + $110 = $$0121$lcssa161 * $3; + $111 = ((($8)) + 44|0); + HEAPF32[$111>>2] = $110; + $112 = $110 != 0.0; + $113 = 1.0 / $110; + $114 = $112 ? $113 : 0.0; + $115 = ((($8)) + 48|0); + HEAPF32[$115>>2] = $114; + $116 = ((($8)) + 60|0); + HEAPF32[$116>>2] = 0.40000000596046448; + $117 = ((($8)) + 64|0); + HEAPF32[$117>>2] = 0.20000000298023224; + $118 = ((($8)) + 68|0); + HEAPF32[$118>>2] = 0.0; + $119 = ((($8)) + 72|0); + HEAP32[$119>>2] = 1; + $120 = ((($8)) + 76|0); + HEAP32[$120>>2] = 0; + $121 = ((($8)) + 80|0); + HEAP32[$121>>2] = 0; + $122 = HEAP32[3533]|0; + $123 = (14136 + ($122<<2)|0); + HEAP32[$123>>2] = $8; + $124 = (($122) + 1)|0; + HEAP32[3533] = $124; + STACKTOP = sp;return ($8|0); +} +function _CreateRectanglePolygon($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$024 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$sroa$012$0$$sroa_idx = 0, $$sroa$015$0$$sroa_idx = 0, $$sroa$018$0$$sroa_idx = 0, $$sroa$021$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$213$0$$sroa_idx14 = 0, $$sroa$216$0$$sroa_idx17 = 0, $$sroa$219$0$$sroa_idx20 = 0, $$sroa$222$0$$sroa_idx23 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0; + var $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.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.0, $54 = 0.0; + var $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 36|0); + _memset(($6|0),0,368)|0; + HEAP32[$3>>2] = 4; + $7 = ((($3)) + 388|0); + _Mat2Radians($4,0.0); + ;HEAP32[$7>>2]=HEAP32[$4>>2]|0;HEAP32[$7+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$4+12>>2]|0; + $8 = +HEAPF32[$1>>2]; + $9 = +HEAPF32[$2>>2]; + $10 = $9 * 0.5; + $11 = $8 + $10; + $12 = ((($1)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($2)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15 * 0.5; + $17 = $13 - $16; + $$sroa$021$0$$sroa_idx = ((($3)) + 4|0); + HEAPF32[$$sroa$021$0$$sroa_idx>>2] = $11; + $$sroa$222$0$$sroa_idx23 = ((($3)) + 8|0); + HEAPF32[$$sroa$222$0$$sroa_idx23>>2] = $17; + $18 = +HEAPF32[$1>>2]; + $19 = +HEAPF32[$2>>2]; + $20 = $19 * 0.5; + $21 = $18 + $20; + $22 = +HEAPF32[$12>>2]; + $23 = +HEAPF32[$14>>2]; + $24 = $23 * 0.5; + $25 = $22 + $24; + $$sroa$018$0$$sroa_idx = ((($3)) + 12|0); + HEAPF32[$$sroa$018$0$$sroa_idx>>2] = $21; + $$sroa$219$0$$sroa_idx20 = ((($3)) + 16|0); + HEAPF32[$$sroa$219$0$$sroa_idx20>>2] = $25; + $26 = +HEAPF32[$1>>2]; + $27 = +HEAPF32[$2>>2]; + $28 = $27 * 0.5; + $29 = $26 - $28; + $30 = +HEAPF32[$12>>2]; + $31 = +HEAPF32[$14>>2]; + $32 = $31 * 0.5; + $33 = $30 + $32; + $$sroa$015$0$$sroa_idx = ((($3)) + 20|0); + HEAPF32[$$sroa$015$0$$sroa_idx>>2] = $29; + $$sroa$216$0$$sroa_idx17 = ((($3)) + 24|0); + HEAPF32[$$sroa$216$0$$sroa_idx17>>2] = $33; + $34 = +HEAPF32[$1>>2]; + $35 = +HEAPF32[$2>>2]; + $36 = $35 * 0.5; + $37 = $34 - $36; + $38 = +HEAPF32[$12>>2]; + $39 = +HEAPF32[$14>>2]; + $40 = $39 * 0.5; + $41 = $38 - $40; + $$sroa$012$0$$sroa_idx = ((($3)) + 28|0); + HEAPF32[$$sroa$012$0$$sroa_idx>>2] = $37; + $$sroa$213$0$$sroa_idx14 = ((($3)) + 32|0); + HEAPF32[$$sroa$213$0$$sroa_idx14>>2] = $41; + $42 = HEAP32[$3>>2]|0; + $43 = ($42|0)==(0); + if ($43) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $44 = ((($5)) + 4|0); + $$024 = 0;$47 = $42; + while(1) { + $45 = (($$024) + 1)|0; + $46 = ($45>>>0)<($47>>>0); + $48 = $46 ? $45 : 0; + $49 = (((($3)) + 4|0) + ($48<<3)|0); + $50 = (((($3)) + 4|0) + ($$024<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$49+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $51 = (((($3)) + 196|0) + ($$024<<3)|0); + $52 = HEAP32[$44>>2]|0; + $53 = +HEAPF32[$5>>2]; + $54 = -$53; + HEAP32[$51>>2] = $52; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$024<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $54; + _MathNormalize($51); + $55 = HEAP32[$3>>2]|0; + $56 = ($45>>>0)<($55>>>0); + if ($56) { + $$024 = $45;$47 = $55; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _CreateRandomPolygon($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02829 = 0, $$030 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$pr = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; + var $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.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.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 4|0); + _memset(($6|0),0,400)|0; + HEAP32[$3>>2] = $2; + $7 = (_GetRandomNumber()|0); + $8 = (+($7|0)); + $9 = ((($3)) + 388|0); + $10 = $8; + $11 = $10 * 0.017453292519943295; + $12 = $11; + _Mat2Radians($4,$12); + ;HEAP32[$9>>2]=HEAP32[$4>>2]|0;HEAP32[$9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$4+12>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $15 = (360 / ($2|0))&-1; + $16 = HEAP32[$3>>2]|0; + $$030 = 0; + while(1) { + $19 = Math_imul($15, $$030)|0; + $20 = (+($19|0)); + $21 = $20 * 0.017453292519943295; + $22 = $21; + $23 = (+Math_cos((+$22))); + $24 = $23 * $1; + $25 = (((($3)) + 4|0) + ($$030<<3)|0); + HEAPF32[$25>>2] = $24; + $26 = (+Math_sin((+$22))); + $27 = $26 * $1; + $28 = (((((($3)) + 4|0) + ($$030<<3)|0)) + 4|0); + HEAPF32[$28>>2] = $27; + $29 = (($$030) + 1)|0; + $30 = ($29>>>0)<($16>>>0); + if ($30) { + $$030 = $29; + } else { + break; + } + } + $$pr = HEAP32[$3>>2]|0; + $17 = ($$pr|0)==(0); + if ($17) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $18 = ((($5)) + 4|0); + $$02829 = 0; + while(1) { + $31 = (($$02829) + 1)|0; + $32 = ($31|0)<($2|0); + $33 = $32 ? $31 : 0; + $34 = (((($3)) + 4|0) + ($33<<3)|0); + $35 = (((($3)) + 4|0) + ($$02829<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$35+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $36 = (((($3)) + 196|0) + ($$02829<<3)|0); + $37 = HEAP32[$18>>2]|0; + $38 = +HEAPF32[$5>>2]; + $39 = -$38; + HEAP32[$36>>2] = $37; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$02829<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $39; + _MathNormalize($36); + $40 = HEAP32[$3>>2]|0; + $41 = ($31>>>0)<($40>>>0); + if ($41) { + $$02829 = $31; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3533]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3533]|0; + $$02023 = 0; + while(1) { + $6 = (14136 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14136 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3532]|0; + $15 = (($14) + -500)|0; + HEAP32[3532] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3533]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3533]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14136 + ($$022<<2)|0); + $25 = (14136 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3533] = $19; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3533]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3533]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14136 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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; + $1 = HEAP32[3533]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14136 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3531] = 0; + $0 = HEAP32[3530]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$0100102 = 0, $$0101 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$026$0$$sroa_idx = 0, $$sroa$029$0$$sroa_idx = 0, $$sroa$032$0$$sroa_idx = 0, $$sroa$035$0$$sroa_idx = 0, $$sroa$038$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx25 = 0, $$sroa$227$0$$sroa_idx28 = 0, $$sroa$230$0$$sroa_idx31 = 0, $$sroa$233$0$$sroa_idx34 = 0, $$sroa$236$0$$sroa_idx37 = 0, $$sroa$239$0$$sroa_idx40 = 0, $0 = 0, $1 = 0, $10 = 0; + var $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, $29 = 0; + var $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, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0, $65 = 0.0; + var $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0; + var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $exitcond = 0, $exitcond109 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy7 = sp + 96|0; + $$byval_copy6 = sp + 88|0; + $$byval_copy5 = sp + 80|0; + $0 = sp + 72|0; + $1 = sp + 64|0; + $2 = sp + 56|0; + $3 = sp + 48|0; + $4 = sp + 108|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp + 104|0; + $8 = sp + 44|0; + $9 = sp + 40|0; + $10 = sp + 36|0; + $11 = sp + 32|0; + $12 = sp + 16|0; + $13 = sp + 4|0; + $14 = sp; + _SetConfigFlags(32); + _InitWindow(800,450,3480); + _SetTargetFPS(60); + $15 = (_MeasureText(3518,30)|0); + $16 = (800 - ($15))|0; + $17 = (($16) + -10)|0; + _InitPhysics(); + HEAPF32[$0>>2] = 400.0; + $18 = ((($0)) + 4|0); + HEAPF32[$18>>2] = 450.0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$0+4>>2]|0; + $19 = (_CreatePhysicsBodyRectangle($$byval_copy7,800.0,100.0,10.0)|0); + $20 = ((($19)) + 4|0); + HEAP32[$20>>2] = 0; + $21 = ((($19)) + 68|0); + HEAPF32[$21>>2] = 1.0; + HEAPF32[$1>>2] = 200.0; + $22 = ((($1)) + 4|0); + HEAPF32[$22>>2] = 225.0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$1+4>>2]|0; + $23 = (_CreatePhysicsBodyCircle($$byval_copy7,30.0,10.0)|0); + $24 = ((($23)) + 68|0); + HEAPF32[$24>>2] = 0.0; + HEAPF32[$2>>2] = 400.0; + $25 = ((($2)) + 4|0); + HEAPF32[$25>>2] = 225.0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (_CreatePhysicsBodyCircle($$byval_copy7,30.0,10.0)|0); + $27 = ((($26)) + 68|0); + HEAPF32[$27>>2] = 0.5; + HEAPF32[$3>>2] = 600.0; + $28 = ((($3)) + 4|0); + HEAPF32[$28>>2] = 225.0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $29 = (_CreatePhysicsBodyCircle($$byval_copy7,30.0,10.0)|0); + $30 = ((($29)) + 68|0); + HEAPF32[$30>>2] = 1.0; + $31 = (_WindowShouldClose()|0); + $32 = ($31|0)==(0); + if (!($32)) { + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; + } + $33 = ((($4)) + 1|0); + $34 = ((($4)) + 2|0); + $35 = ((($4)) + 3|0); + $36 = ((($23)) + 8|0); + $37 = ((($23)) + 12|0); + $38 = ((($26)) + 8|0); + $39 = ((($26)) + 12|0); + $40 = ((($29)) + 8|0); + $41 = ((($29)) + 12|0); + $42 = (($16) + 40)|0; + $43 = ((($7)) + 1|0); + $44 = ((($7)) + 2|0); + $45 = ((($7)) + 3|0); + $$sroa$038$0$$sroa_idx = ((($23)) + 8|0); + $$sroa$239$0$$sroa_idx40 = ((($23)) + 12|0); + $$sroa$035$0$$sroa_idx = ((($23)) + 16|0); + $$sroa$236$0$$sroa_idx37 = ((($23)) + 20|0); + $$sroa$032$0$$sroa_idx = ((($26)) + 8|0); + $$sroa$233$0$$sroa_idx34 = ((($26)) + 12|0); + $$sroa$029$0$$sroa_idx = ((($26)) + 16|0); + $$sroa$230$0$$sroa_idx31 = ((($26)) + 20|0); + $$sroa$026$0$$sroa_idx = ((($29)) + 8|0); + $$sroa$227$0$$sroa_idx28 = ((($29)) + 12|0); + $$sroa$0$0$$sroa_idx = ((($29)) + 16|0); + $$sroa$2$0$$sroa_idx25 = ((($29)) + 20|0); + while(1) { + $46 = (_IsKeyPressed(82)|0); + $47 = ($46|0)==(0); + if (!($47)) { + HEAPF32[$$sroa$038$0$$sroa_idx>>2] = 200.0; + HEAPF32[$$sroa$239$0$$sroa_idx40>>2] = 225.0; + HEAPF32[$$sroa$035$0$$sroa_idx>>2] = 0.0; + HEAPF32[$$sroa$236$0$$sroa_idx37>>2] = 0.0; + HEAPF32[$$sroa$032$0$$sroa_idx>>2] = 400.0; + HEAPF32[$$sroa$233$0$$sroa_idx34>>2] = 225.0; + HEAPF32[$$sroa$029$0$$sroa_idx>>2] = 0.0; + HEAPF32[$$sroa$230$0$$sroa_idx31>>2] = 0.0; + HEAPF32[$$sroa$026$0$$sroa_idx>>2] = 600.0; + HEAPF32[$$sroa$227$0$$sroa_idx28>>2] = 225.0; + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + HEAPF32[$$sroa$2$0$$sroa_idx25>>2] = 0.0; + } + _BeginDrawing(); + HEAP8[$4>>0] = 0; + HEAP8[$33>>0] = 0; + HEAP8[$34>>0] = 0; + HEAP8[$35>>0] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$4+3>>0]|0; + _ClearBackground($$byval_copy7); + _DrawFPS(710,420); + $48 = (_GetPhysicsBodiesCount()|0); + $49 = ($48|0)>(0); + if ($49) { + $$0100102 = 0; + while(1) { + $82 = (_GetPhysicsBody($$0100102)|0); + $83 = (_GetPhysicsShapeVerticesCount($$0100102)|0); + $84 = ($83|0)>(0); + if ($84) { + $$0101 = 0; + while(1) { + _GetPhysicsShapeVertex($5,$82,$$0101); + $86 = (($$0101) + 1)|0; + $87 = ($86|0)<($83|0); + $88 = $87 ? $86 : 0; + _GetPhysicsShapeVertex($6,$82,$88); + HEAP8[$7>>0] = 0; + HEAP8[$43>>0] = -28; + HEAP8[$44>>0] = 48; + HEAP8[$45>>0] = -1; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$7+3>>0]|0; + _DrawLineV($$byval_copy5,$$byval_copy6,$$byval_copy7); + $exitcond = ($86|0)==($83|0); + if ($exitcond) { + break; + } else { + $$0101 = $86; + } + } + } + $85 = (($$0100102) + 1)|0; + $exitcond109 = ($85|0)==($48|0); + if ($exitcond109) { + break; + } else { + $$0100102 = $85; + } + } + } + $50 = (_MeasureText(3525,30)|0); + $51 = (800 - ($50))|0; + $52 = (($51|0) / 2)&-1; + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3525,$52,75,30,$$byval_copy7); + $53 = +HEAPF32[$36>>2]; + $54 = (_MeasureText(3544,20)|0); + $55 = (($54|0) / 2)&-1; + $56 = (+($55|0)); + $57 = $53 - $56; + $58 = (~~(($57))); + $59 = +HEAPF32[$37>>2]; + $60 = $59 + -7.0; + $61 = (~~(($60))); + HEAP32[$9>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3544,$58,$61,20,$$byval_copy7); + $62 = +HEAPF32[$38>>2]; + $63 = (_MeasureText(3546,20)|0); + $64 = (($63|0) / 2)&-1; + $65 = (+($64|0)); + $66 = $62 - $65; + $67 = (~~(($66))); + $68 = +HEAPF32[$39>>2]; + $69 = $68 + -7.0; + $70 = (~~(($69))); + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3546,$67,$70,20,$$byval_copy7); + $71 = +HEAPF32[$40>>2]; + $72 = (_MeasureText(3550,20)|0); + $73 = (($72|0) / 2)&-1; + $74 = (+($73|0)); + $75 = $71 - $74; + $76 = (~~(($75))); + $77 = +HEAPF32[$41>>2]; + $78 = $77 + -7.0; + $79 = (~~(($78))); + HEAP32[$11>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$11>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$11+3>>0]|0; + _DrawText(3550,$76,$79,20,$$byval_copy7); + HEAP32[$12>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$12>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$12+3>>0]|0; + _DrawText(3552,10,10,10,$$byval_copy7); + HEAP32[$13>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$13>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$13+3>>0]|0; + _DrawText(3518,$17,15,30,$$byval_copy7); + HEAP32[$14>>2] = -1; + ;HEAP8[$$byval_copy7>>0]=HEAP8[$14>>0]|0;HEAP8[$$byval_copy7+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$$byval_copy7+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$$byval_copy7+3>>0]=HEAP8[$14+3>>0]|0; + _DrawText(3579,$42,8,10,$$byval_copy7); + _EndDrawing(); + $80 = (_WindowShouldClose()|0); + $81 = ($80|0)==(0); + if (!($81)) { + break; + } + } + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _GetRandomNumber() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_rand()|0); + $1 = (($0|0) % 361)&-1; + return ($1|0); +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1729] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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); + $0 = sp; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,0)|0); + $5 = tempRet0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_i64Add(($4|0),($5|0),($7|0),($9|0))|0); + $11 = tempRet0; + $12 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1727]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1727] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7695]|0; + $1 = (($0) + 1)|0; + HEAP32[7695] = $1; + $2 = HEAP32[3598]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14396 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3533]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14136 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3533]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14136 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3533]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14136 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3533]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3533]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3533]|0; + $$0135158 = 0; + while(1) { + $103 = (14136 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3598]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3598]|0; + $$0136156 = 0; + while(1) { + $108 = (14396 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3598]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14396 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3598]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3533]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3533]|0; + $$0131150 = 0; + while(1) { + $128 = (14136 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3598]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3598]|0; + $$0129148 = 0; + while(1) { + $136 = (14396 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3533]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3533]|0; + $$0127147 = 0; + while(1) { + $141 = (14136 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3598]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3598]|0; + $$02023 = 0; + while(1) { + $6 = (14396 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14396 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3532]|0; + $15 = (($14) + -56)|0; + HEAP32[3532] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3598]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3598]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14396 + ($$022<<2)|0); + $25 = (14396 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3598] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3532]|0; + $4 = (($3) + 56)|0; + HEAP32[3532] = $4; + $5 = HEAP32[3598]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14396 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3598]|0; + $20 = (14396 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3598] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1730]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7696]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[2]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.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.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7696]; + $43 = $42; + $44 = +HEAPF64[1730]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[2]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1730]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0; + var $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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $154 = 0, $155 = 0, $156 = 0.0; + var $157 = 0.0, $158 = 0.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, $2 = 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; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 0, $10 = 0, $100 = 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.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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 $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, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $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, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7698] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13848; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13888; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3472]; + $111 = +HEAPF32[3462]; + $112 = $110 - $111; + HEAPF32[3474] = $112; + $113 = +HEAPF32[(13892)>>2]; + $114 = +HEAPF32[(13852)>>2]; + $115 = $113 - $114; + HEAPF32[(13900)>>2] = $115; + HEAP32[7697] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7703] = $116; + $117 = 13880; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13848; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13904; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13888; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13880; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13904; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3476]; + $160 = +HEAPF32[3470]; + $161 = $159 - $160; + HEAPF32[3474] = $161; + $162 = +HEAPF32[(13908)>>2]; + $163 = +HEAPF32[(13884)>>2]; + $164 = $162 - $163; + HEAPF32[(13900)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13880+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7703]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7697] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7704] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7703] = 0.0; + HEAPF32[7704] = 0.0; + HEAPF32[3474] = 0.0; + HEAPF32[(13900)>>2] = 0.0; + HEAP32[7698] = 0; + HEAP32[7697] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7699]|0; + $7 = (($6) + 1)|0; + HEAP32[7699] = $7; + $8 = HEAP32[7697]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7697] = 2; + HEAP32[7699] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7699] = 1; + HEAP32[7697] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13848; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13856; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13864; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[3] = $34; + HEAPF32[3468] = 0.0; + HEAPF32[(13876)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7697]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13864; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13864+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7700] = $49; + HEAP32[7701] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[3]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13864+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7702] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7700] = 0.0; + HEAPF32[7702] = 0.0; + $$sink10 = 0; + } + HEAP32[7697] = $$sink10; + HEAPF32[3464] = 0.0; + HEAPF32[(13860)>>2] = 0.0; + HEAP32[7698] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7701]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7701] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13880; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7697]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13880+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7697] = 8; + } + } + $82 = +HEAPF32[3470]; + $83 = +HEAPF32[3464]; + $84 = $82 - $83; + HEAPF32[3468] = $84; + $85 = +HEAPF32[(13884)>>2]; + $86 = +HEAPF32[(13860)>>2]; + $87 = $85 - $86; + HEAPF32[(13876)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7697]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7698]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7697] = 4; + } + $4 = HEAP32[7697]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7697] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 13912; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7707]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7706]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,3590,$vararg_buffer); + HEAP32[7709] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_9(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3619|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3619|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3619|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3619|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3619|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3619|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[7707]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3478] = $5; + $6 = HEAP32[7706]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13916)>>2] = $8; + $9 = HEAP32[7710]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13952>>0]=HEAP8[8148>>0]|0;HEAP8[13952+1>>0]=HEAP8[8148+1>>0]|0;HEAP8[13952+2>>0]=HEAP8[8148+2>>0]|0;HEAP8[13952+3>>0]=HEAP8[8148+3>>0]|0;HEAP8[13952+4>>0]=HEAP8[8148+4>>0]|0;HEAP8[13952+5>>0]=HEAP8[8148+5>>0]|0;HEAP8[13952+6>>0]=HEAP8[8148+6>>0]|0; + break; + } + case 1: { + $3 = 13952; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13952; src=8155; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13952; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13952,$1)|0); + $strlen = (_strlen(13952)|0); + $endptr = (13952 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13952,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7707] = $0; + HEAP32[7706] = $1; + _MatrixIdentity($2); + dest=30916; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4290,$vararg_buffer); + } + $6 = HEAP32[7707]|0; + HEAP32[7745] = $6; + $7 = HEAP32[7706]|0; + HEAP32[7746] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[33640]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[33640]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[33640]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4316,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7747]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7707]|0; + $48 = HEAP32[7706]|0; + $49 = HEAP32[7709]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7705] = $50; + $51 = HEAP32[7707]|0; + HEAP32[7748] = $51; + $52 = HEAP32[7706]|0; + HEAP32[7749] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7707]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7706]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7745] = $31; + HEAP32[7746] = $34; + } + } while(0); + $38 = HEAP32[7745]|0; + $39 = HEAP32[7746]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4341,$vararg_buffer3); + $40 = HEAP32[7745]|0; + $41 = HEAP32[7746]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7745]|0; + $43 = HEAP32[7746]|0; + $44 = HEAP32[7709]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7705] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4379,$vararg_buffer6); + } else { + _TraceLog(0,4412,$vararg_buffer8); + $55 = HEAP32[7748]|0; + $56 = HEAP32[7749]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4452,$vararg_buffer10); + $57 = HEAP32[7707]|0; + $58 = HEAP32[7706]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4473,$vararg_buffer14); + $59 = HEAP32[7750]|0; + $60 = HEAP32[7751]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4494,$vararg_buffer18); + } + $61 = HEAP32[7705]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7705]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7705]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7705]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7705]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7705]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7705]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7705]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7705]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[33640]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7707]|0; + $74 = HEAP32[7706]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7748]|0; + $76 = HEAP32[7750]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7749]|0; + $80 = HEAP32[7751]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4519,$vararg_buffer22); + $73 = HEAP32[7707]|0; + $74 = HEAP32[7706]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7748]|0; + $76 = HEAP32[7750]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7749]|0; + $80 = HEAP32[7751]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(30884)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (16 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[30860>>2]=HEAP32[$1>>2]|0;HEAP32[30860+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[30860+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[30860+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[30860+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(30884)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(30888)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30880)>>2] = $23; + $24 = HEAP32[7715]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3814,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(30864)>>2]|0; + $10 = HEAP32[(30884)>>2]|0; + $11 = HEAP32[(30888)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2064 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30880)>>2] = $23; + $24 = HEAP32[7715]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3814,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_9() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1743] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3747,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3678,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3671)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13928; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13936); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (30844 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1740] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3627,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7710] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4190,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7723]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3859,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7724]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3903,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7725]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3948,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7726]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3993,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7727]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4038,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7723]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7723]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7723]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7723]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7724]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7725]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7725]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7726]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7726]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7727]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7727]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4083,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7728]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4161,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4112,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4244,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8110,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7707]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7706]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7748] = $3; + HEAP32[7749] = $5; + HEAP32[7750] = 0; + HEAP32[7751] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8044,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7707]|0; + $36 = (+($35|0)); + $37 = HEAP32[7706]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7748] = $45; + HEAP32[7749] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7750] = $46; + $$sink1 = 0; + } else { + HEAP32[7748] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7749] = $42; + HEAP32[7750] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7751] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7706]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7901,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7707]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7706]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7748] = $23; + HEAP32[7749] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7750] = $24; + $$sink = 0; + } else { + HEAP32[7748] = $0; + $17 = HEAP32[7706]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7749] = $20; + HEAP32[7750] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7751] = $$sink; + $25 = HEAP32[7748]|0; + $26 = (+($25|0)); + $27 = HEAP32[7707]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=30916; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7748] = $0; + HEAP32[7749] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7979,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7707] = $1; + HEAP32[7706] = $2; + HEAP32[7748] = $1; + HEAP32[7749] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[741]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (33647 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[740] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (33641 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13928; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[740] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8121] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8120] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4542,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4560,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4578,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4596,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4614)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4616,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4651)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7786] = 1; + $27 = (_eglGetProcAddress((4678|0))|0); + HEAP32[7787] = $27; + $28 = (_eglGetProcAddress((4699|0))|0); + HEAP32[7788] = $28; + $29 = (_eglGetProcAddress((4720|0))|0); + HEAP32[7789] = $29; + } + $30 = (_strcmp($24,4744)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7728] = 1; + } + $32 = (_strcmp($24,4764)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4796)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4829)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7723] = 1; + } + $39 = (_strcmp($24,4869)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4905)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7724] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4938)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7725] = 1; + } + $47 = (_strcmp($44,4963)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7726] = 1; + } + $49 = (_strcmp($44,4996)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7727] = 1; + } + $51 = (_strcmp($44,5032)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7790] = 1; + _glGetFloatv(34047,(31164|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5066)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7792] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7786]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5169,$vararg_buffer15); + } else { + _TraceLog(0,5094,$vararg_buffer13); + } + $57 = HEAP32[7728]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5305,$vararg_buffer19); + } else { + _TraceLog(0,5230,$vararg_buffer17); + } + $59 = HEAP32[7723]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5397,$vararg_buffer21); + } + $61 = HEAP32[7724]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5443,$vararg_buffer23); + } + $63 = HEAP32[7725]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5490,$vararg_buffer25); + } + $65 = HEAP32[7726]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5541,$vararg_buffer27); + } + $67 = HEAP32[7727]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5588,$vararg_buffer29); + } + $69 = HEAP32[7790]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7791]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5635,$vararg_buffer31); + } + $73 = HEAP32[7792]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5701,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7793] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5805,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5754,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31176; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31232; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7822] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7822]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7823] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7824] = 1; + $85 = HEAP32[7793]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7825] = 4; + _MatrixIdentity($4); + dest=31304; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31368); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31432); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31496); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31560); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31624); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31688); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31752); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31816); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31880); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31944); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32008); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32072); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32136); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32200); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32264); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=31012; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=31076; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7752] = 31076; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8082] = $0; + HEAP32[8083] = $1; + _TraceLog(0,5844,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7750]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7751]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7748]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7749]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 31012; + label = 3; + break; + } + case 5888: { + $modelview$sink = 31076; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7752] = $modelview$sink; + } + HEAP32[7785] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[7752]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7752]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6420|0),489)|0; + _memcpy(($3|0),(6909|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7398,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7350,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32348)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32356)>>2] = $1; + HEAP32[(32352)>>2] = 0; + HEAP32[(32360)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32356)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8084] = 0; + HEAP32[(32344)>>2] = 0; + HEAP32[(32340)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32396)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32404)>>2] = $6; + HEAP32[(32400)>>2] = 0; + HEAP32[(32408)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32404)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8096] = 0; + HEAP32[(32392)>>2] = 0; + HEAP32[(32388)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32444)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32448)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32452)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32456)>>2] = $13; + $14 = HEAP32[(32444)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32448)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32452)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32456)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8108] = 0; + HEAP32[(32436)>>2] = 0; + HEAP32[(32440)>>2] = 0; + _TraceLog(0,5891,$vararg_buffer); + $20 = HEAP32[7786]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32364)); + $44 = HEAP32[7788]|0; + $45 = HEAP32[(32364)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32368)|0)); + $46 = HEAP32[(32368)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32348)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32372)|0)); + $50 = HEAP32[(32372)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32356)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7786]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32368)>>2]|0; + $58 = HEAP32[(32372)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6029,$vararg_buffer3); + } else { + $56 = HEAP32[(32364)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5964,$vararg_buffer1); + } + $59 = HEAP32[7786]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32412)); + $62 = HEAP32[7788]|0; + $63 = HEAP32[(32412)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32416)|0)); + $64 = HEAP32[(32416)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32396)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32420)|0)); + $68 = HEAP32[(32420)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32404)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7786]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32416)>>2]|0; + $76 = HEAP32[(32420)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6175,$vararg_buffer10); + } else { + $74 = HEAP32[(32412)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6106,$vararg_buffer7); + } + $77 = HEAP32[7786]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7787]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32460)); + $80 = HEAP32[7788]|0; + $81 = HEAP32[(32460)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32464)|0)); + $82 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32444)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32468)|0)); + $86 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32448)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31240)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31240)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32472)|0)); + $90 = HEAP32[(32472)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32452)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32476)|0)); + $94 = HEAP32[(32476)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32456)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7786]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32464)>>2]|0; + $100 = HEAP32[(32468)>>2]|0; + $101 = HEAP32[(32472)>>2]|0; + $102 = HEAP32[(32476)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6321,$vararg_buffer17); + } else { + $98 = HEAP32[(32460)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6256,$vararg_buffer14); + } + $103 = HEAP32[7786]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7654,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7602,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7651,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7755,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7704,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7651,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7446|0)); + _glBindAttribLocation(($20|0),1,(7461|0)); + _glBindAttribLocation(($20|0),2,(7492|0)); + _glBindAttribLocation(($20|0),3,(7519|0)); + _glBindAttribLocation(($20|0),4,(7505|0)); + _glBindAttribLocation(($20|0),5,(7476|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7807,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7651,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7853,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7446|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7461|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7476|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7492|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7505|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7519|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7531|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7541|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7552|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7563|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7575|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7584|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7593|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33641 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33644 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33641 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33644 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7705]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8165,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[30860>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[30860+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[30860+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[30860+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[30860+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(30888)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31172|0)); + $0 = HEAP32[7793]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8192,$vararg_buffer); + $1 = HEAP32[7823]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7794]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[7786]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32368)|0)); + _glDeleteBuffers(1,((32372)|0)); + _glDeleteBuffers(1,((32416)|0)); + _glDeleteBuffers(1,((32420)|0)); + _glDeleteBuffers(1,((32464)|0)); + _glDeleteBuffers(1,((32468)|0)); + _glDeleteBuffers(1,((32472)|0)); + _glDeleteBuffers(1,((32476)|0)); + $3 = HEAP32[7786]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7789]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32364)); + $6 = HEAP32[7789]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32412)); + $7 = HEAP32[7789]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32460)); + } + $8 = HEAP32[(32348)>>2]|0; + _free($8); + $9 = HEAP32[(32356)>>2]|0; + _free($9); + $10 = HEAP32[(32396)>>2]|0; + _free($10); + $11 = HEAP32[(32404)>>2]|0; + _free($11); + $12 = HEAP32[(32444)>>2]|0; + _free($12); + $13 = HEAP32[(32448)>>2]|0; + _free($13); + $14 = HEAP32[(32452)>>2]|0; + _free($14); + $15 = HEAP32[(32456)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8257,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _WindowShouldClose() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8120]|0; + $1 = ($0|0)==(0); + if (!($1)) { + while(1) { + _glfwWaitEvents(); + $2 = HEAP32[8120]|0; + $3 = ($2|0)==(0); + if ($3) { + break; + } + } + } + $4 = HEAP32[7705]|0; + $5 = (_glfwWindowShouldClose(($4|0))|0); + return ($5|0); +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1760] = $0; + $1 = +HEAPF64[1743]; + $2 = $0 - $1; + HEAPF64[1761] = $2; + HEAPF64[1743] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=30916; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32488); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8122] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32492)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32496)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32500)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32504)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32508)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32512)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32516)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32520)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32524)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32528)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32532)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32536)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32540)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32544)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32548)>>2] = $31; + return (32488|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7752]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1760] = $0; + $1 = +HEAPF64[1743]; + $2 = $0 - $1; + HEAPF64[1762] = $2; + HEAPF64[1743] = $0; + $3 = +HEAPF64[1761]; + $4 = $2 + $3; + HEAPF64[1763] = $4; + $5 = +HEAPF64[1740]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1760] = $10; + $11 = +HEAPF64[1743]; + $12 = $10 - $11; + HEAPF64[1743] = $10; + $13 = +HEAPF64[1763]; + $14 = $12 + $13; + HEAPF64[1763] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7705]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[740] = -1; + HEAP32[742] = -1; + HEAP32[8138] = 0; + $3 = HEAP32[7705]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3478] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13916)>>2] = $7; + _memcpy((34159|0),(33647|0),512)|0; + ;HEAP8[33644>>0]=HEAP8[33641>>0]|0;HEAP8[33644+1>>0]=HEAP8[33641+1>>0]|0;HEAP8[33644+2>>0]=HEAP8[33641+2>>0]|0; + $8 = HEAP32[8121]|0; + HEAP32[7708] = $8; + HEAP32[8121] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (34671 + ($$05160<<5)|0); + $scevgep67 = (34799 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((34799 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[742] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32556 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8138] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8084]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7786]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7788]|0; + $5 = HEAP32[(32364)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32368)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8084]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32348)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32372)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32344)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32356)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8096]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7786]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7788]|0; + $19 = HEAP32[(32412)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32416)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8096]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32396)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32420)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32392)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32404)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8108]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7786]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7788]|0; + $33 = HEAP32[(32460)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8108]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32444)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8108]|0; + $40 = $39 << 3; + $41 = HEAP32[(32448)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32472)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8108]|0; + $44 = $43 << 2; + $45 = HEAP32[(32452)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7786]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=31012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=31076; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[8171]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8084]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8096]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8108]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7808]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=31076; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=31012; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31260)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31264)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31276)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8084]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7793]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7786]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32368)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32372)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7788]|0; + $25 = HEAP32[(32364)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8084]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7786]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8096]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7793]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7786]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32416)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32420)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7788]|0; + $41 = HEAP32[(32412)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8096]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7786]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8108]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7786]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32464)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31236)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31236)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32468)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31240)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31240)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32472)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31256)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31256)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32476)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7788]|0; + $56 = HEAP32[(32460)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7824]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7823]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7823]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7824]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7786]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7786]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7788]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7824] = 1; + $5 = HEAP32[7793]|0; + $6 = HEAP32[7823]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8084] = 0; + HEAP32[(32344)>>2] = 0; + HEAP32[8096] = 0; + HEAP32[(32392)>>2] = 0; + HEAP32[8108] = 0; + HEAP32[(32436)>>2] = 0; + HEAP32[(32440)>>2] = 0; + HEAPF32[743] = -1.0; + dest=31012; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31076; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[8082]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8083]|0; + _rlViewport($7,0,$8,$9); + $10 = (32916 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32788 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31076; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=31012; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[8261]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8307,$vararg_buffer); + } + $2 = HEAP32[8261]|0; + $3 = (31304 + ($2<<6)|0); + $4 = HEAP32[7752]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[8261]|0; + $6 = (($5) + 1)|0; + HEAP32[8261] = $6; + $7 = HEAP32[7785]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8262] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8261]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8261]|0; + $3 = (($2) + -1)|0; + $4 = (31304 + ($3<<6)|0); + $5 = HEAP32[7752]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8261] = $6; + return; +} +function _GetFPS() { + var $0 = 0.0, $1 = 0.0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_GetFrameTime()); + $1 = 1.0 / $0; + $2 = (~~(($1))); + return ($2|0); +} +function _GetFrameTime() { + var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1763]; + $1 = $0; + return (+$1); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[33640] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7710] = 1; + } + $3 = HEAP8[33640]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7747] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33647 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (34159 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7752]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[7752]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7825] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[8262]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8263]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7822]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7752]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8263]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8262] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7822]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8263]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8262] = 0; + } + HEAP32[8263] = 0; + } + $21 = HEAP32[7825]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8084]|0; + $23 = HEAP32[(32344)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32356)>>2]|0; + $28 = HEAP32[(32344)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32356)>>2]|0; + $35 = HEAP32[(32344)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32356)>>2]|0; + $43 = HEAP32[(32344)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32356)>>2]|0; + $51 = HEAP32[(32344)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32344)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32344)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8096]|0; + $62 = HEAP32[(32392)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32404)>>2]|0; + $67 = HEAP32[(32392)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32404)>>2]|0; + $74 = HEAP32[(32392)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32404)>>2]|0; + $82 = HEAP32[(32392)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32404)>>2]|0; + $90 = HEAP32[(32392)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32392)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32392)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8108]|0; + $101 = HEAP32[(32440)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32452)>>2]|0; + $106 = HEAP32[(32440)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32452)>>2]|0; + $113 = HEAP32[(32440)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32452)>>2]|0; + $121 = HEAP32[(32440)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32452)>>2]|0; + $129 = HEAP32[(32440)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32440)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32440)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8108]|0; + $140 = HEAP32[(32436)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32448)>>2]|0; + $$promoted = HEAP32[(32436)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32436)>>2] = $147; + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[8262]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7822]|0; + $6 = HEAP32[8263]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8263] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7825]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8084]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32348)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8084] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8345,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8096]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32396)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8096] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8370,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8108]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32444)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8108] = $41; + $42 = HEAP32[7823]|0; + $43 = HEAP32[7824]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8399,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[743]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7825]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32448)>>2]|0; + $5 = HEAP32[(32436)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32436)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7825]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32344);$$sink38 = (32356); + break; + } + case 4: { + $$sink37 = (32392);$$sink38 = (32404); + break; + } + case 7: { + $$sink37 = (32440);$$sink38 = (32452); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[7823]|0; + $2 = HEAP32[7824]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7824] = $10; + } + $11 = HEAP32[7824]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8108]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[30860>>2]|0;HEAP32[$0+4>>2]=HEAP32[30860+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[30860+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[30860+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[30860+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[30860+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[30860+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[30860+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 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; + (_vsprintf(34927,$0,$1)|0); + STACKTOP = sp;return (34927|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _DrawFPS($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$sink = 0, $10 = 0, $11 = 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); + $$byval_copy = sp; + $2 = sp + 4|0; + $3 = HEAP32[8264]|0; + $4 = HEAP32[744]|0; + $5 = ($3|0)<($4|0); + if ($5) { + $6 = (($3) + 1)|0; + $$sink = $6; + } else { + $7 = (_GetFPS()|0); + HEAP32[8265] = $7; + HEAP32[744] = $7; + $$sink = 0; + } + HEAP32[8264] = $$sink; + $8 = HEAP32[8265]|0; + HEAP32[$$byval_copy>>2] = $8; + (_FormatText(8424,$$byval_copy)|0); + HEAP8[$2>>0] = 0; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = -98; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 47; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(34927,$0,$1,20,$$byval_copy); + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8432)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8436)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8440)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8444)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8450)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8488)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8507; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8520)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8541; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8556)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8571; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8586)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8601; + } + } else { + HEAP32[$3>>2] = 8472; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8616)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8630)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8642)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8656)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8668)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8682)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8696)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8713)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8736)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8762)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8775)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8791)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8804)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8818)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8838)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8858)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8875)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8892)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8904)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8917)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8933)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8956)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8969)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8985)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8996)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,9015)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,9037)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,9056)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,9085)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,9102)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,9117)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,9132)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9153)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9173)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9193)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9219)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9238)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9250)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9262)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9274)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9286)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9298)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9310)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9322)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9334)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9347)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9360)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9373)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9386)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9399)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9412)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9425)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9438)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9457)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9476)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9495)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9508)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9526)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9544)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9562)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9580)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9600)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8541)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9618)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9633)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9654)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9669)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9687)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9703)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9722)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9736)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9751)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8472)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9762)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8571)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8601)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9778)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9805)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9819)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8507)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9839)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9857)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9869)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9890)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9908)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9926)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9947)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9973)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9996)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,10034)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,10050)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,10065)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,10088)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,10101)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,10115)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,10129)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10149)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10169)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10185)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10203)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10219)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10234)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10256)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10274)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10295)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10313)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10326)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 1; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10341)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10355)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10365)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10375)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10397)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10423)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10450)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10463)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10478)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10493)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 2; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10517)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10528)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10550)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10572)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10596)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 3; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10605)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 4; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10613)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10626)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10640)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10652)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10661)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10671)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10683)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10694)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10702)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10714)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10729)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10741)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10755)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10780)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10797)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10813)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10829)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10841)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10853)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10877)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10890)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10904)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10926)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10933)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10949)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10966)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10983)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10999)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,11015)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,11032)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,11046)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,11058)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,11069)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,11082)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,11092)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,11109)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,11121)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11143)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11163)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11176)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11198)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11218)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11235)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11252)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11272)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (33064|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (2980|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|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] = 9; + $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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3356; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11388 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11852;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11852;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11852 : (11854); + $$$ = $238 ? $$ : (11853); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11852;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11852;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11862; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11852;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11852 + ($208)|0); + $$289 = $or$cond283 ? 11852 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11852;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (11904 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11869; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11870) : (11875); + $$$ = $16 ? $$ : (11872); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11904 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11920,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11920,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11888 : 11892; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11896 : 11900; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (11922 + ($$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 = 12010;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 12010; + } else { + $$01214 = 12010;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33128|0)); + return (33136|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33128|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14112; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + var $0 = 0, $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; + $0 = 14112; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 14112; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[8285]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8285] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8285] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8285] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8285] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[8286]|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 = (33184 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[8286] = $24; + } else { + $25 = HEAP32[(33160)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(33152)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (33184 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[8286] = $77; + $98 = $77; + } else { + $78 = HEAP32[(33160)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(33164)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (33184 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[8286] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(33160)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(33152)>>2] = $84; + HEAP32[(33164)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(33148)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (33448 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(33160)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (33448 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(33148)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(33160)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(33160)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(33160)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(33164)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (33184 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[8286] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(33160)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(33152)>>2] = $$0193$lcssa$i; + HEAP32[(33164)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(33148)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (33448 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (33448 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(33152)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(33160)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (33448 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(33148)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(33160)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(33160)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(33160)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (33184 + ($425<<2)|0); + $427 = HEAP32[8286]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[8286] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(33160)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (33448 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(33148)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(33160)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(33160)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(33152)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(33164)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(33164)>>2] = $511; + HEAP32[(33152)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(33152)>>2] = 0; + HEAP32[(33164)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(33156)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(33156)>>2] = $526; + $527 = HEAP32[(33168)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(33168)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[8404]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(33624)>>2] = 4096; + HEAP32[(33620)>>2] = 4096; + HEAP32[(33628)>>2] = -1; + HEAP32[(33632)>>2] = -1; + HEAP32[(33636)>>2] = 0; + HEAP32[(33588)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[8404] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(33624)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(33584)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(33576)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(33588)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(33168)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (33592); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(33620)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(33576)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(33584)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(33624)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(33588)>>2]|0; + $612 = $611 | 4; + HEAP32[(33588)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(33576)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(33576)>>2] = $627; + $628 = HEAP32[(33580)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(33580)>>2] = $627; + } + $630 = HEAP32[(33168)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(33160)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(33160)>>2] = $$749$i; + } + HEAP32[(33592)>>2] = $$749$i; + HEAP32[(33596)>>2] = $$723948$i; + HEAP32[(33604)>>2] = 0; + $635 = HEAP32[8404]|0; + HEAP32[(33180)>>2] = $635; + HEAP32[(33176)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (33184 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(33168)>>2] = $649; + HEAP32[(33156)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(33632)>>2]|0; + HEAP32[(33172)>>2] = $655; + } else { + $$024371$i = (33592); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(33156)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(33168)>>2] = $679; + HEAP32[(33156)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(33632)>>2]|0; + HEAP32[(33172)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(33160)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(33160)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (33592); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(33156)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(33156)>>2] = $727; + HEAP32[(33168)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(33164)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(33152)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(33152)>>2] = $733; + HEAP32[(33164)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (33184 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[8286]|0; + $760 = $759 & $758; + HEAP32[8286] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (33448 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(33148)>>2]|0; + $803 = $802 & $801; + HEAP32[(33148)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(33160)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(33160)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(33160)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (33184 + ($836<<2)|0); + $838 = HEAP32[8286]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[8286] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(33160)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (33448 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(33148)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(33148)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(33160)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(33160)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (33592); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(33168)>>2] = $946; + HEAP32[(33156)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(33632)>>2]|0; + HEAP32[(33172)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(33592)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(33592)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(33592)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(33592)+12>>2]|0; + HEAP32[(33592)>>2] = $$749$i; + HEAP32[(33596)>>2] = $$723948$i; + HEAP32[(33604)>>2] = 0; + HEAP32[(33600)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (33184 + ($968<<2)|0); + $970 = HEAP32[8286]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[8286] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(33160)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (33448 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(33148)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(33148)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(33160)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(33160)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(33156)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(33156)>>2] = $1050; + $1051 = HEAP32[(33168)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(33168)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(33160)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(33164)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(33152)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (33184 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[8286]|0; + $38 = $37 & $36; + HEAP32[8286] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (33448 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(33148)>>2]|0; + $81 = $80 & $79; + HEAP32[(33148)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(33160)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(33160)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(33160)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(33168)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(33164)>>2]|0; + if ($121) { + $123 = HEAP32[(33156)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(33156)>>2] = $124; + HEAP32[(33168)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(33164)>>2] = 0; + HEAP32[(33152)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(33152)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(33152)>>2] = $130; + HEAP32[(33164)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (33184 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(33160)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[8286]|0; + $154 = $153 & $152; + HEAP32[8286] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(33160)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(33160)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(33160)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (33448 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(33148)>>2]|0; + $200 = $199 & $198; + HEAP32[(33148)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(33160)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(33160)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(33160)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(33164)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(33152)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (33184 + ($234<<2)|0); + $236 = HEAP32[8286]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[8286] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(33160)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (33448 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(33148)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(33148)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(33160)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(33160)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(33176)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(33176)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (33600); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(33176)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/physac/physics_restitution.png b/docs/examples/web/physac/physics_restitution.png new file mode 100644 index 00000000..8ec4b3f3 Binary files /dev/null and b/docs/examples/web/physac/physics_restitution.png differ diff --git a/docs/examples/web/physac/physics_shatter.js b/docs/examples/web/physac/physics_shatter.js new file mode 100644 index 00000000..c617de90 --- /dev/null +++ b/docs/examples/web/physac/physics_shatter.js @@ -0,0 +1,28756 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +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; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 35840; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,186,32,60,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,247,135,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,12,0,0,80,104,121,115,97,99,32,91,114,97,121,108,105,98,93,32,45,32,66,111,100,121,32,115,104,97,116,116,101,114,0,80,104,121,115,97,99,0,76,101,102,116,32,109,111,117,115,101,32,98,117,116,116,111,110,32,105,110,32,112,111,108,121,103,111,110,32,97,114,101,97,32,116,111,32,115,104,97,116,116,101,114,32,98,111,100,121,10,80,114,101,115,115,32,39,82,39,32,116,111,32,114,101,115,101,116,32,101,120,97,109,112,108,101,0,80,111,119,101,114,101,100,32,98,121,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + 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 ___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 _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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.buffer) { + ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _pthread_join() {} + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _glfwWindowShouldClose(winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.shouldClose; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _glfwWaitEvents() {} + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + + function _emscripten_get_now_is_monotonic() { + // return whether emscripten_get_now is guaranteed monotonic; the Date.now + // implementation is not :( + return ENVIRONMENT_IS_NODE || (typeof dateNow !== 'undefined') || + ((ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && self['performance'] && self['performance']['now']); + } + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + }function _clock_gettime(clk_id, tp) { + // int clock_gettime(clockid_t clk_id, struct timespec *tp); + var now; + if (clk_id === 0) { + now = Date.now(); + } else if (clk_id === 1 && _emscripten_get_now_is_monotonic()) { + now = _emscripten_get_now(); + } else { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + HEAP32[((tp)>>2)]=(now/1000)|0; // seconds + HEAP32[(((tp)+(4))>>2)]=((now % 1000)*1000*1000)|0; // nanoseconds + return 0; + } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _pthread_create() { + return 11; + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { 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); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_clock_gettime": _clock_gettime, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_glfwWindowShouldClose": _glfwWindowShouldClose, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "_glLinkProgram": _glLinkProgram, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_pthread_join": _pthread_join, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "___unlock": ___unlock, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "___syscall54": ___syscall54, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "_glfwWaitEvents": _glfwWaitEvents, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _clock_gettime=env._clock_gettime; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _glfwWindowShouldClose=env._glfwWindowShouldClose; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _emscripten_get_now_is_monotonic=env._emscripten_get_now_is_monotonic; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var _glLinkProgram=env._glLinkProgram; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _pthread_join=env._pthread_join; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var ___unlock=env.___unlock; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var ___syscall54=env.___syscall54; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var _glfwWaitEvents=env._glfwWaitEvents; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _pthread_create=env._pthread_create; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _InitPhysics() { + var label = 0, sp = 0; + sp = STACKTOP; + (_pthread_create((14000|0),(0|0),(2|0),(0|0))|0); + return; +} +function _PhysicsLoop($0) { + $0 = $0|0; + var $$0 = 0, $$010 = 0, $$011 = 0, $$09 = 0, $$0912 = 0, $$0913 = 0, $$pr = 0.0, $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.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, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3501] = 1; + HEAPF64[1712] = 0.0; + _InitTimer(); + $1 = HEAP32[3501]|0; + $2 = ($1|0)==(0); + if (!($2)) { + while(1) { + $3 = (+_GetCurrentTime()); + HEAPF64[1713] = $3; + $4 = +HEAPF64[1714]; + $5 = $3 - $4; + HEAPF64[1715] = $5; + $6 = +HEAPF64[1712]; + $7 = $5 + $6; + HEAPF64[1712] = $7; + _MathClamp(); + $$pr = +HEAPF64[1712]; + $8 = !($$pr >= 0.016666666666666666); + if (!($8)) { + while(1) { + _PhysicsStep(); + $9 = +HEAPF64[1715]; + $10 = +HEAPF64[1712]; + $11 = $10 - $9; + HEAPF64[1712] = $11; + $12 = !($11 >= 0.016666666666666666); + if ($12) { + break; + } + } + } + $13 = +HEAPF64[1713]; + HEAPF64[1714] = $13; + $14 = HEAP32[3501]|0; + $15 = ($14|0)==(0); + if ($15) { + break; + } + } + } + $16 = HEAP32[3568]|0; + $$0912 = (($16) + -1)|0; + $17 = ($$0912|0)>(-1); + if ($17) { + $$0913 = $$0912; + while(1) { + $20 = (14276 + ($$0913<<2)|0); + $21 = HEAP32[$20>>2]|0; + _DestroyPhysicsManifold($21); + $$09 = (($$0913) + -1)|0; + $22 = ($$09|0)>(-1); + if ($22) { + $$0913 = $$09; + } else { + break; + } + } + } + $18 = HEAP32[3503]|0; + $$010 = (($18) + -1)|0; + $19 = ($$010|0)>(-1); + if ($19) { + $$011 = $$010; + } else { + return (0|0); + } + while(1) { + $23 = (14016 + ($$011<<2)|0); + $24 = HEAP32[$23>>2]|0; + _DestroyPhysicsBody($24); + $$0 = (($$011) + -1)|0; + $25 = ($$0|0)>(-1); + if ($25) { + $$011 = $$0; + } else { + break; + } + } + return (0|0); +} +function _SetPhysicsGravity($0,$1) { + $0 = +$0; + $1 = +$1; + var label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[7666] = $0; + HEAPF32[2] = $1; + return; +} +function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = +$3; + var $$0116149 = 0, $$0116149158159 = 0, $$0119144 = 0, $$0120136 = 0, $$0121$lcssa161 = 0.0, $$0121134 = 0.0, $$0122$lcssa160 = 0.0, $$0122133 = 0.0, $$0131 = 0, $$sroa$0$0132 = 0.0, $$sroa$049$0$$sroa_idx = 0, $$sroa$8$0135 = 0.0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0.0; + var $107 = 0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.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.0; + var $125 = 0.0, $126 = 0, $127 = 0.0, $128 = 0.0, $129 = 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, $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.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.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.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0; + var $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $tmpcast$byval_copy = 0; + var $tmpcast123$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $tmpcast123$byval_copy = sp + 432|0; + $tmpcast$byval_copy = sp + 424|0; + $4 = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (_malloc(500)|0); + $8 = HEAP32[3502]|0; + $9 = (($8) + 500)|0; + HEAP32[3502] = $9; + $10 = HEAP32[3503]|0; + $11 = ($10|0)==(0); + $$0116149 = 0; + L1: while(1) { + if ($11) { + $$0116149158159 = 0; + break; + } else { + $$0119144 = 0; + } + while(1) { + $14 = (14016 + ($$0119144<<2)|0); + $15 = HEAP32[$14>>2]|0; + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==($$0116149|0); + $13 = (($$0119144) + 1)|0; + if ($17) { + break; + } + $12 = ($13>>>0)<($10>>>0); + if ($12) { + $$0119144 = $13; + } else { + label = 6; + break L1; + } + } + $18 = (($$0116149) + 1)|0; + $19 = ($18|0)<(64); + if ($19) { + $$0116149 = $18; + } else { + label = 14; + break; + } + } + if ((label|0) == 14) { + STACKTOP = sp;return ($7|0); + } + if ((label|0) == 6) { + $20 = ($$0116149|0)==(-1); + if ($20) { + STACKTOP = sp;return ($7|0); + } else { + $$0116149158159 = $$0116149; + } + } + HEAP32[$7>>2] = $$0116149158159; + $21 = ((($7)) + 4|0); + HEAP32[$21>>2] = 1; + $22 = ((($7)) + 8|0); + $23 = $0; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + $$sroa$049$0$$sroa_idx = ((($7)) + 16|0); + $33 = ((($7)) + 84|0); + ;HEAP32[$$sroa$049$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+12>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+16>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+20>>2]=0|0;HEAP32[$$sroa$049$0$$sroa_idx+24>>2]=0|0; + HEAP32[$33>>2] = 1; + $34 = ((($7)) + 88|0); + HEAP32[$34>>2] = $7; + $35 = ((($7)) + 96|0); + _CreateRandomPolygon($4,$1,$2); + _memcpy(($35|0),($4|0),404)|0; + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + $$0121$lcssa161 = 0.0;$$0122$lcssa160 = 0.0; + } else { + $38 = ((($7)) + 100|0); + $39 = ((($5)) + 4|0); + $40 = ((($6)) + 4|0); + $$0120136 = 0;$$0121134 = 0.0;$$0122133 = 0.0;$$sroa$0$0132 = 0.0;$$sroa$8$0135 = 0.0; + while(1) { + $50 = (($38) + ($$0120136<<3)|0); + $51 = $50; + $52 = $51; + $53 = HEAP32[$52>>2]|0; + $54 = (($51) + 4)|0; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = $5; + $58 = $57; + HEAP32[$58>>2] = $53; + $59 = (($57) + 4)|0; + $60 = $59; + HEAP32[$60>>2] = $56; + $61 = (($$0120136) + 1)|0; + $62 = HEAP32[$35>>2]|0; + $63 = ($61>>>0)<($62>>>0); + $64 = $63 ? $61 : 0; + $65 = (($38) + ($64<<3)|0); + $66 = $65; + $67 = $66; + $68 = HEAP32[$67>>2]|0; + $69 = (($66) + 4)|0; + $70 = $69; + $71 = HEAP32[$70>>2]|0; + $72 = $6; + $73 = $72; + HEAP32[$73>>2] = $68; + $74 = (($72) + 4)|0; + $75 = $74; + HEAP32[$75>>2] = $71; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast123$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast123$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + $76 = (+_MathCrossVector2($tmpcast$byval_copy,$tmpcast123$byval_copy)); + $77 = $76 * 0.5; + $42 = $$0122133 + $77; + $78 = $77 * 0.3333333432674408; + $79 = +HEAPF32[$5>>2]; + $80 = +HEAPF32[$6>>2]; + $81 = $79 + $80; + $82 = $78 * $81; + $44 = $$sroa$0$0132 + $82; + $83 = +HEAPF32[$39>>2]; + $84 = +HEAPF32[$40>>2]; + $85 = $83 + $84; + $86 = $78 * $85; + $46 = $$sroa$8$0135 + $86; + $87 = $79 * $79; + $88 = $79 * $80; + $89 = $87 + $88; + $90 = $80 * $80; + $91 = $90 + $89; + $92 = $83 * $83; + $93 = $83 * $84; + $94 = $92 + $93; + $95 = $84 * $84; + $96 = $95 + $94; + $97 = $76 * 0.083333335816860198; + $98 = $91 + $96; + $99 = $97 * $98; + $100 = $$0121134 + $99; + $48 = HEAP32[$35>>2]|0; + $101 = ($61>>>0)<($48>>>0); + if ($101) { + $$0120136 = $61;$$0121134 = $100;$$0122133 = $42;$$sroa$0$0132 = $44;$$sroa$8$0135 = $46; + } else { + break; + } + } + $41 = 1.0 / $42; + $43 = $44 * $41; + $45 = $41 * $46; + $47 = ($48|0)==(0); + if ($47) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + } else { + $49 = ((($7)) + 100|0); + $$0131 = 0; + while(1) { + $123 = (($49) + ($$0131<<3)|0); + $124 = +HEAPF32[$123>>2]; + $125 = $124 - $43; + HEAPF32[$123>>2] = $125; + $126 = (((($49) + ($$0131<<3)|0)) + 4|0); + $127 = +HEAPF32[$126>>2]; + $128 = $127 - $45; + HEAPF32[$126>>2] = $128; + $129 = (($$0131) + 1)|0; + $exitcond = ($129|0)==($48|0); + if ($exitcond) { + $$0121$lcssa161 = $100;$$0122$lcssa160 = $42; + break; + } else { + $$0131 = $129; + } + } + } + } + $102 = $$0122$lcssa160 * $3; + $103 = ((($7)) + 52|0); + HEAPF32[$103>>2] = $102; + $104 = $102 != 0.0; + $105 = 1.0 / $102; + $106 = $104 ? $105 : 0.0; + $107 = ((($7)) + 56|0); + HEAPF32[$107>>2] = $106; + $108 = $$0121$lcssa161 * $3; + $109 = ((($7)) + 44|0); + HEAPF32[$109>>2] = $108; + $110 = $108 != 0.0; + $111 = 1.0 / $108; + $112 = $110 ? $111 : 0.0; + $113 = ((($7)) + 48|0); + HEAPF32[$113>>2] = $112; + $114 = ((($7)) + 60|0); + HEAPF32[$114>>2] = 0.40000000596046448; + $115 = ((($7)) + 64|0); + HEAPF32[$115>>2] = 0.20000000298023224; + $116 = ((($7)) + 68|0); + HEAPF32[$116>>2] = 0.0; + $117 = ((($7)) + 72|0); + HEAP32[$117>>2] = 1; + $118 = ((($7)) + 76|0); + HEAP32[$118>>2] = 0; + $119 = ((($7)) + 80|0); + HEAP32[$119>>2] = 0; + $120 = HEAP32[3503]|0; + $121 = (14016 + ($120<<2)|0); + HEAP32[$121>>2] = $7; + $122 = (($120) + 1)|0; + HEAP32[3503] = $122; + STACKTOP = sp;return ($7|0); +} +function _MathCrossVector2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($1)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = +HEAPF32[$1>>2]; + $9 = $7 * $8; + $10 = $5 - $9; + return (+$10); +} +function _CreateRandomPolygon($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $$02829 = 0, $$030 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$pr = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0; + var $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.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.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy1 = sp + 440|0; + $$byval_copy = sp + 432|0; + $3 = sp + 24|0; + $4 = sp; + $5 = sp + 16|0; + $6 = ((($3)) + 4|0); + _memset(($6|0),0,400)|0; + HEAP32[$3>>2] = $2; + $7 = (_GetRandomNumber()|0); + $8 = (+($7|0)); + $9 = ((($3)) + 388|0); + $10 = $8; + $11 = $10 * 0.017453292519943295; + $12 = $11; + _Mat2Radians($4,$12); + ;HEAP32[$9>>2]=HEAP32[$4>>2]|0;HEAP32[$9+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$4+12>>2]|0; + $13 = HEAP32[$3>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $15 = (360 / ($2|0))&-1; + $16 = HEAP32[$3>>2]|0; + $$030 = 0; + while(1) { + $19 = Math_imul($15, $$030)|0; + $20 = (+($19|0)); + $21 = $20 * 0.017453292519943295; + $22 = $21; + $23 = (+Math_cos((+$22))); + $24 = $23 * $1; + $25 = (((($3)) + 4|0) + ($$030<<3)|0); + HEAPF32[$25>>2] = $24; + $26 = (+Math_sin((+$22))); + $27 = $26 * $1; + $28 = (((((($3)) + 4|0) + ($$030<<3)|0)) + 4|0); + HEAPF32[$28>>2] = $27; + $29 = (($$030) + 1)|0; + $30 = ($29>>>0)<($16>>>0); + if ($30) { + $$030 = $29; + } else { + break; + } + } + $$pr = HEAP32[$3>>2]|0; + $17 = ($$pr|0)==(0); + if ($17) { + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; + } + $18 = ((($5)) + 4|0); + $$02829 = 0; + while(1) { + $31 = (($$02829) + 1)|0; + $32 = ($31|0)<($2|0); + $33 = $32 ? $31 : 0; + $34 = (((($3)) + 4|0) + ($33<<3)|0); + $35 = (((($3)) + 4|0) + ($$02829<<3)|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$34+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$35+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy,$$byval_copy1); + $36 = (((($3)) + 196|0) + ($$02829<<3)|0); + $37 = HEAP32[$18>>2]|0; + $38 = +HEAPF32[$5>>2]; + $39 = -$38; + HEAP32[$36>>2] = $37; + $$sroa$2$0$$sroa_idx1 = (((((($3)) + 196|0) + ($$02829<<3)|0)) + 4|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $39; + _MathNormalize($36); + $40 = HEAP32[$3>>2]|0; + $41 = ($31>>>0)<($40>>>0); + if ($41) { + $$02829 = $31; + } else { + break; + } + } + _memcpy(($0|0),($3|0),404)|0; + STACKTOP = sp;return; +} +function _PhysicsAddForce($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy1 = sp + 16|0; + $$byval_copy = sp + 8|0; + $2 = sp; + $3 = ($0|0)==(0|0); + if ($3) { + STACKTOP = sp;return; + } + $4 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Add_2($2,$$byval_copy,$$byval_copy1); + $5 = $2; + $6 = $5; + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + 4)|0; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = $4; + $12 = $11; + HEAP32[$12>>2] = $7; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $10; + STACKTOP = sp;return; +} +function _Vector2Add_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 + $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 + $10; + HEAPF32[$6>>2] = $11; + return; +} +function _PhysicsShatter($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0139178 = 0, $$0142170 = 0, $$0143163 = 0, $$0144160 = 0, $$0145$lcssa = 0.0, $$0145162 = 0.0, $$0146$lcssa = 0.0, $$0146161 = 0.0, $$alloca_mul = 0, $$byval_copy8 = 0, $$sroa$0$0$$sroa_idx$promoted = 0.0, $$sroa$0110$0$$sroa_idx = 0, $$sroa$0110$0$copyload = 0.0, $$sroa$2$0$$sroa_idx35 = 0, $$sroa$2$0$$sroa_idx35$promoted = 0.0, $$sroa$237$0$$sroa_idx38 = 0, $$sroa$6$0$$sroa_idx114 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0, $100 = 0; + var $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, $118 = 0, $119 = 0; + var $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, $136 = 0, $137 = 0; + var $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0; + var $156 = 0.0, $157 = 0.0, $158 = 0.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.0, $173 = 0.0; + var $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0.0, $186 = 0.0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0; + var $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0, $21 = 0; + var $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, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0.0, $243 = 0.0, $244 = 0.0, $245 = 0.0, $246 = 0.0; + var $247 = 0.0, $248 = 0.0, $249 = 0.0, $25 = 0, $250 = 0.0, $251 = 0.0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0.0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0; + var $265 = 0, $266 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0; + var $61 = 0.0, $62 = 0, $63 = 0.0, $64 = 0.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; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $exitcond = 0, $scevgep = 0, $tmpcast153$byval_copy = 0, $tmpcast154$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 976|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(976|0); + $tmpcast154$byval_copy = sp + 968|0; + $tmpcast153$byval_copy = sp + 952|0; + $$byval_copy8 = sp + 904|0; + $3 = sp + 496|0; + $4 = sp + 944|0; + $5 = sp + 24|0; + $6 = sp + 936|0; + $7 = sp + 480|0; + $8 = sp + 16|0; + $9 = sp + 928|0; + $10 = sp + 56|0; + $11 = sp + 72|0; + $12 = sp + 48|0; + $13 = sp + 40|0; + $14 = sp + 32|0; + $15 = sp + 8|0; + $16 = sp; + $17 = sp + 64|0; + $18 = sp + 920|0; + $19 = sp + 912|0; + $20 = ($0|0)==(0|0); + if ($20) { + STACKTOP = sp;return; + } + $21 = ((($0)) + 84|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + if (!($23)) { + STACKTOP = sp;return; + } + $24 = ((($0)) + 96|0); + _memcpy(($3|0),($24|0),404)|0; + $25 = HEAP32[$3>>2]|0; + $26 = ($25|0)==(0); + L7: do { + if (!($26)) { + $$sroa$0110$0$$sroa_idx = ((($0)) + 8|0); + $$sroa$6$0$$sroa_idx114 = ((($0)) + 12|0); + $27 = ((($3)) + 388|0); + $28 = ((($0)) + 8|0); + $29 = ((($$byval_copy8)) + 4|0); + $30 = ((($5)) + 4|0); + $31 = +HEAPF32[$1>>2]; + $32 = ((($1)) + 4|0); + $$0139178 = 0; + while(1) { + $$sroa$0110$0$copyload = +HEAPF32[$$sroa$0110$0$$sroa_idx>>2]; + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx114>>2]; + $33 = (((($3)) + 4|0) + ($$0139178<<3)|0); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$28+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$33>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$33+4>>2]|0; + _Vector2Add_2($4,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$27>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$tmpcast153$byval_copy+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$tmpcast153$byval_copy+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + _Mat2MultiplyVector2($$byval_copy8,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $34 = (($$0139178) + 1)|0; + $35 = HEAP32[$3>>2]|0; + $36 = ($34>>>0)<($35>>>0); + $37 = $36 ? $34 : 0; + $38 = (((($3)) + 4|0) + ($37<<3)|0); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$28+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$38+4>>2]|0; + _Vector2Add_2($6,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$27>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$tmpcast153$byval_copy+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$tmpcast153$byval_copy+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $39 = +HEAPF32[$29>>2]; + $40 = +HEAPF32[$30>>2]; + $41 = $39 - $40; + $42 = +HEAPF32[$5>>2]; + $43 = $31 - $42; + $44 = $41 * $43; + $45 = +HEAPF32[$$byval_copy8>>2]; + $46 = $42 - $45; + $47 = +HEAPF32[$32>>2]; + $48 = $47 - $40; + $49 = $46 * $48; + $50 = $44 + $49; + $51 = $$sroa$0110$0$copyload - $42; + $52 = $41 * $51; + $53 = $$sroa$6$0$copyload - $40; + $54 = $53 * $46; + $55 = $52 + $54; + $56 = $50 / $55; + $57 = $40 - $$sroa$6$0$copyload; + $58 = $57 * $43; + $59 = $51 * $48; + $60 = $58 + $59; + $61 = $60 / $55; + $62 = $56 > 0.0; + if ($62) { + $63 = 1.0 - $56; + $64 = $63 - $61; + $65 = $61 > 0.0; + $66 = $64 > 0.0; + $67 = $65 & $66; + if ($67) { + break; + } + } + $68 = HEAP32[$3>>2]|0; + $69 = ($34>>>0)<($68>>>0); + if ($69) { + $$0139178 = $34; + } else { + break L7; + } + } + $70 = HEAP32[$3>>2]|0; + $71 = ((($0)) + 8|0); + $72 = $71; + $73 = $72; + $74 = HEAP32[$73>>2]|0; + $75 = (($72) + 4)|0; + $76 = $75; + $77 = HEAP32[$76>>2]|0; + $78 = $5; + $79 = $78; + HEAP32[$79>>2] = $74; + $80 = (($78) + 4)|0; + $81 = $80; + HEAP32[$81>>2] = $77; + $82 = (_llvm_stacksave()|0); + $$alloca_mul = $70<<3; + $83 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $84 = ((($3)) + 388|0); + ;HEAP32[$7>>2]=HEAP32[$84>>2]|0;HEAP32[$7+4>>2]=HEAP32[$84+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$84+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$84+12>>2]|0; + $85 = ($70|0)>(0); + if ($85) { + $scevgep = ((($3)) + 4|0); + $86 = $70 << 3; + _memcpy(($83|0),($scevgep|0),($86|0))|0; + _DestroyPhysicsBody($0); + $87 = ((($9)) + 4|0); + $88 = ((($11)) + 388|0); + $89 = ((($11)) + 4|0); + $90 = ((($11)) + 12|0); + $91 = ((($11)) + 20|0); + $92 = ((($11)) + 8|0); + $93 = ((($11)) + 16|0); + $94 = ((($11)) + 24|0); + $$sroa$2$0$$sroa_idx35 = ((($8)) + 4|0); + $95 = ((($16)) + 4|0); + $96 = ((($17)) + 4|0); + $97 = ((($15)) + 4|0); + $98 = ((($16)) + 4|0); + $99 = ((($15)) + 4|0); + $100 = ((($11)) + 28|0); + $$0142170 = 0; + while(1) { + $101 = (($$0142170) + 1)|0; + $102 = ($101|0)<($70|0); + $103 = $102 ? $101 : 0; + $104 = (($83) + ($$0142170<<3)|0); + $105 = (($83) + ($103<<3)|0); + HEAPF32[$9>>2] = 0.0; + HEAPF32[$87>>2] = 0.0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$104+4>>2]|0; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$105>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$105+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + _TriangleBarycenter($8,$$byval_copy8,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + _Vector2Add_2($10,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $106 = $10; + $107 = $106; + $108 = HEAP32[$107>>2]|0; + $109 = (($106) + 4)|0; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = $8; + $113 = $112; + HEAP32[$113>>2] = $108; + $114 = (($112) + 4)|0; + $115 = $114; + HEAP32[$115>>2] = $111; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Subtract_4($$byval_copy8,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $116 = (_CreatePhysicsBodyPolygon($tmpcast154$byval_copy,10.0,3,10.0)|0); + _memset(($100|0),0,360)|0; + HEAP32[$11>>2] = 3; + ;HEAP32[$88>>2]=HEAP32[$7>>2]|0;HEAP32[$88+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$88+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$88+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$104>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$104+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$$byval_copy8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$$byval_copy8+4>>2]|0; + _Vector2Subtract_4($12,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $117 = $12; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = $89; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$105>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$105+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$$byval_copy8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$$byval_copy8+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $127 = $13; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = $90; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + _Vector2Subtract_4($14,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $137 = $14; + $138 = $137; + $139 = HEAP32[$138>>2]|0; + $140 = (($137) + 4)|0; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = $91; + $144 = $143; + HEAP32[$144>>2] = $139; + $145 = (($143) + 4)|0; + $146 = $145; + HEAP32[$146>>2] = $142; + $147 = +HEAPF32[$89>>2]; + $148 = $147 * 0.94999998807907104; + HEAPF32[$89>>2] = $148; + $149 = +HEAPF32[$92>>2]; + $150 = $149 * 0.94999998807907104; + HEAPF32[$92>>2] = $150; + $151 = +HEAPF32[$90>>2]; + $152 = $151 * 0.94999998807907104; + HEAPF32[$90>>2] = $152; + $153 = +HEAPF32[$93>>2]; + $154 = $153 * 0.94999998807907104; + HEAPF32[$93>>2] = $154; + $155 = +HEAPF32[$91>>2]; + $156 = $155 * 0.94999998807907104; + HEAPF32[$91>>2] = $156; + $157 = +HEAPF32[$94>>2]; + $158 = $157 * 0.94999998807907104; + HEAPF32[$94>>2] = $158; + $159 = HEAP32[$11>>2]|0; + $160 = ($159|0)==(0); + if (!($160)) { + $$0144160 = 0;$166 = $159; + while(1) { + $164 = (($$0144160) + 1)|0; + $165 = ($164>>>0)<($166>>>0); + $167 = $165 ? $164 : 0; + $168 = (((($11)) + 4|0) + ($167<<3)|0); + $169 = (((($11)) + 4|0) + ($$0144160<<3)|0); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$168>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$168+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$169>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$169+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $170 = (((($11)) + 196|0) + ($$0144160<<3)|0); + $171 = HEAP32[$99>>2]|0; + $172 = +HEAPF32[$15>>2]; + $173 = -$172; + HEAP32[$170>>2] = $171; + $$sroa$237$0$$sroa_idx38 = (((((($11)) + 196|0) + ($$0144160<<3)|0)) + 4|0); + HEAPF32[$$sroa$237$0$$sroa_idx38>>2] = $173; + _MathNormalize($170); + $174 = HEAP32[$11>>2]|0; + $175 = ($164>>>0)<($174>>>0); + if ($175) { + $$0144160 = $164;$166 = $174; + } else { + break; + } + } + } + $161 = ((($116)) + 96|0); + _memcpy(($161|0),($11|0),404)|0; + HEAPF32[$8>>2] = 0.0; + HEAPF32[$$sroa$2$0$$sroa_idx35>>2] = 0.0; + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==(0); + if ($163) { + $$0145$lcssa = 0.0;$$0146$lcssa = 0.0; + } else { + $$sroa$0$0$$sroa_idx$promoted = +HEAPF32[$8>>2]; + $$sroa$2$0$$sroa_idx35$promoted = +HEAPF32[$$sroa$2$0$$sroa_idx35>>2]; + $$0143163 = 0;$$0145162 = 0.0;$$0146161 = 0.0;$241 = $$sroa$0$0$$sroa_idx$promoted;$246 = $$sroa$2$0$$sroa_idx35$promoted; + while(1) { + $207 = (((($116)) + 100|0) + ($$0143163<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $15; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + $218 = (($$0143163) + 1)|0; + $219 = HEAP32[$161>>2]|0; + $220 = ($218>>>0)<($219>>>0); + $221 = $220 ? $218 : 0; + $222 = (((($116)) + 100|0) + ($221<<3)|0); + $223 = $222; + $224 = $223; + $225 = HEAP32[$224>>2]|0; + $226 = (($223) + 4)|0; + $227 = $226; + $228 = HEAP32[$227>>2]|0; + $229 = $16; + $230 = $229; + HEAP32[$230>>2] = $225; + $231 = (($229) + 4)|0; + $232 = $231; + HEAP32[$232>>2] = $228; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $233 = (+_MathCrossVector2($tmpcast153$byval_copy,$tmpcast154$byval_copy)); + $234 = $233 * 0.5; + $235 = $$0146161 + $234; + $236 = $234 * 0.3333333432674408; + $237 = +HEAPF32[$15>>2]; + $238 = +HEAPF32[$16>>2]; + $239 = $237 + $238; + $240 = $236 * $239; + $176 = $241 + $240; + $242 = +HEAPF32[$97>>2]; + $243 = +HEAPF32[$98>>2]; + $244 = $242 + $243; + $245 = $236 * $244; + $177 = $246 + $245; + $247 = +HEAPF32[$15>>2]; + $248 = $247 * $247; + $249 = +HEAPF32[$16>>2]; + $250 = $247 * $249; + $251 = $248 + $250; + $252 = $249 * $249; + $253 = $252 + $251; + $254 = +HEAPF32[$97>>2]; + $255 = $254 * $254; + $256 = +HEAPF32[$98>>2]; + $257 = $254 * $256; + $258 = $255 + $257; + $259 = $256 * $256; + $260 = $259 + $258; + $261 = $233 * 0.083333335816860198; + $262 = $253 + $260; + $263 = $261 * $262; + $264 = $$0145162 + $263; + $265 = HEAP32[$161>>2]|0; + $266 = ($218>>>0)<($265>>>0); + if ($266) { + $$0143163 = $218;$$0145162 = $264;$$0146161 = $235;$241 = $176;$246 = $177; + } else { + break; + } + } + HEAPF32[$8>>2] = $176; + HEAPF32[$$sroa$2$0$$sroa_idx35>>2] = $177; + $$0145$lcssa = $264;$$0146$lcssa = $235; + } + $178 = 1.0 / $$0146$lcssa; + $179 = ((($116)) + 52|0); + HEAPF32[$179>>2] = $$0146$lcssa; + $180 = $$0146$lcssa != 0.0; + $181 = $180 ? $178 : 0.0; + $182 = ((($116)) + 56|0); + HEAPF32[$182>>2] = $181; + $183 = ((($116)) + 44|0); + HEAPF32[$183>>2] = $$0145$lcssa; + $184 = $$0145$lcssa != 0.0; + $185 = 1.0 / $$0145$lcssa; + $186 = $184 ? $185 : 0.0; + $187 = ((($116)) + 48|0); + HEAPF32[$187>>2] = $186; + $188 = ((($116)) + 8|0); + $189 = $188; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = (($189) + 4)|0; + $193 = $192; + $194 = HEAP32[$193>>2]|0; + $195 = $15; + $196 = $195; + HEAP32[$196>>2] = $191; + $197 = (($195) + 4)|0; + $198 = $197; + HEAP32[$198>>2] = $194; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$90>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$90+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$89>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$89+4>>2]|0; + _Vector2Subtract_4($16,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + $199 = +HEAPF32[$16>>2]; + $200 = $199 * 0.5; + HEAPF32[$16>>2] = $200; + $201 = +HEAPF32[$95>>2]; + $202 = $201 * 0.5; + HEAPF32[$95>>2] = $202; + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$89>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$89+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + _Vector2Add_2($19,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$19>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$19+4>>2]|0; + _Vector2Add_2($18,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + ;HEAP32[$tmpcast153$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$tmpcast153$byval_copy+4>>2]=HEAP32[$18+4>>2]|0; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$188>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$188+4>>2]|0; + _Vector2Subtract_4($17,$tmpcast153$byval_copy,$tmpcast154$byval_copy); + _MathNormalize($17); + $203 = +HEAPF32[$17>>2]; + $204 = $203 * $2; + HEAPF32[$17>>2] = $204; + $205 = +HEAPF32[$96>>2]; + $206 = $205 * $2; + HEAPF32[$96>>2] = $206; + ;HEAP32[$tmpcast154$byval_copy>>2]=HEAP32[$17>>2]|0;HEAP32[$tmpcast154$byval_copy+4>>2]=HEAP32[$17+4>>2]|0; + _PhysicsAddForce($116,$tmpcast154$byval_copy); + $exitcond = ($101|0)==($70|0); + if ($exitcond) { + break; + } else { + $$0142170 = $101; + } + } + } else { + _DestroyPhysicsBody($0); + } + _llvm_stackrestore(($82|0)); + } + } while(0); + STACKTOP = sp;return; +} +function _Mat2MultiplyVector2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 * $4; + $6 = ((($1)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($2)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + HEAPF32[$0>>2] = $11; + $12 = ((($0)) + 4|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $4 * $14; + $16 = ((($1)) + 12|0); + $17 = +HEAPF32[$16>>2]; + $18 = $9 * $17; + $19 = $15 + $18; + HEAPF32[$12>>2] = $19; + return; +} +function _DestroyPhysicsBody($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3503]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3503]|0; + $$02023 = 0; + while(1) { + $6 = (14016 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14016 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3502]|0; + $15 = (($14) + -500)|0; + HEAP32[3502] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3503]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3503]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14016 + ($$022<<2)|0); + $25 = (14016 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3503] = $19; + return; +} +function _TriangleBarycenter($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sroa$5$0$$sroa_idx2 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = +HEAPF32[$1>>2]; + $5 = +HEAPF32[$2>>2]; + $6 = $4 + $5; + $7 = +HEAPF32[$3>>2]; + $8 = $6 + $7; + $9 = $8 / 3.0; + $10 = ((($1)) + 4|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($2)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = ((($3)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 + $16; + $18 = $17 / 3.0; + HEAPF32[$0>>2] = $9; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$5$0$$sroa_idx2>>2] = $18; + return; +} +function _Vector2Subtract_4($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$1>>2]; + $4 = +HEAPF32[$2>>2]; + $5 = $3 - $4; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + return; +} +function _MathNormalize($0) { + $0 = $0|0; + var $$op = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$5$0$$sroa_idx3 = 0, $$sroa$5$0$copyload = 0.0, $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$sroa$0$0$copyload = +HEAPF32[$0>>2]; + $$sroa$5$0$$sroa_idx3 = ((($0)) + 4|0); + $$sroa$5$0$copyload = +HEAPF32[$$sroa$5$0$$sroa_idx3>>2]; + $1 = $$sroa$0$0$copyload * $$sroa$0$0$copyload; + $2 = $$sroa$5$0$copyload * $$sroa$5$0$copyload; + $3 = $1 + $2; + $4 = (+Math_sqrt((+$3))); + $5 = $4 == 0.0; + $$op = 1.0 / $4; + $6 = $5 ? 1.0 : $$op; + $7 = $$sroa$0$0$copyload * $6; + HEAPF32[$0>>2] = $7; + $8 = $$sroa$5$0$copyload * $6; + HEAPF32[$$sroa$5$0$$sroa_idx3>>2] = $8; + return; +} +function _GetPhysicsBodiesCount() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3503]|0; + return ($0|0); +} +function _GetPhysicsBody($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3503]|0; + $2 = ($1>>>0)>($0>>>0); + if (!($2)) { + $$0 = 0; + return ($$0|0); + } + $3 = (14016 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$0 = $4; + return ($$0|0); +} +function _GetPhysicsShapeVerticesCount($0) { + $0 = $0|0; + var $$1 = 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; + $1 = HEAP32[3503]|0; + $2 = ($1>>>0)>($0>>>0); + L1: do { + if ($2) { + $3 = (14016 + ($0<<2)|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + $$1 = 0; + } else { + $6 = ((($4)) + 84|0); + $7 = HEAP32[$6>>2]|0; + switch ($7|0) { + case 0: { + $$1 = 24; + break L1; + break; + } + case 1: { + $8 = ((($4)) + 96|0); + $9 = HEAP32[$8>>2]|0; + $$1 = $9; + break L1; + break; + } + default: { + $$1 = 0; + break L1; + } + } + } + } else { + $$1 = 0; + } + } while(0); + return ($$1|0); +} +function _GetPhysicsShapeVertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$0$0 = 0.0, $$sroa$0$0$copyload = 0.0, $$sroa$6$0 = 0.0, $$sroa$6$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx5 = 0, $$sroa$6$0$copyload = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0; + var $22 = 0.0, $23 = 0.0, $24 = 0.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; + STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0); + $$byval_copy3 = sp + 440|0; + $$byval_copy2 = sp + 424|0; + $3 = sp; + $4 = sp + 416|0; + $5 = sp + 408|0; + $6 = ($1|0)==(0|0); + L1: do { + if ($6) { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + } else { + $7 = ((($1)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + $9 = ((($1)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = ($2*15)|0; + $12 = (+($11|0)); + $13 = $12 * 0.017453292519943295; + $14 = $13; + $15 = (+Math_cos((+$14))); + $16 = ((($1)) + 92|0); + $17 = +HEAPF32[$16>>2]; + $18 = $15 * $17; + $19 = $10 + $18; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = (+Math_sin((+$14))); + $23 = $17 * $22; + $24 = $21 + $23; + $$sroa$0$0 = $19;$$sroa$6$0 = $24; + break L1; + break; + } + case 1: { + $25 = ((($1)) + 96|0); + _memcpy(($3|0),($25|0),404)|0; + $26 = ((($1)) + 8|0); + $27 = ((($3)) + 388|0); + $28 = (((($3)) + 4|0) + ($2<<3)|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$27+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$27+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$27+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$28+4>>2]|0; + _Mat2MultiplyVector2($4,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$26+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0; + _Vector2Add_2($5,$$byval_copy2,$$byval_copy3); + $$sroa$0$0$copyload = +HEAPF32[$5>>2]; + $$sroa$6$0$$sroa_idx4 = ((($5)) + 4|0); + $$sroa$6$0$copyload = +HEAPF32[$$sroa$6$0$$sroa_idx4>>2]; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$6$0 = $$sroa$6$0$copyload; + break L1; + break; + } + default: { + $$sroa$0$0 = 0.0;$$sroa$6$0 = 0.0; + break L1; + } + } + } + } while(0); + HEAPF32[$0>>2] = $$sroa$0$0; + $$sroa$6$0$$sroa_idx5 = ((($0)) + 4|0); + HEAPF32[$$sroa$6$0$$sroa_idx5>>2] = $$sroa$6$0; + STACKTOP = sp;return; +} +function _Mat2Radians($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = ((($0)) + 4|0); + $5 = -$3; + HEAPF32[$4>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _ResetPhysics() { + var $$0 = 0, $$016 = 0, $$01620 = 0, $$01621 = 0, $$018 = 0, $$019 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3503]|0; + $$01620 = (($0) + -1)|0; + $1 = ($$01620|0)>(-1); + if ($1) { + $$01621 = $$01620; + while(1) { + $4 = (14016 + ($$01621<<2)|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0|0); + if (!($6)) { + _free($5); + $8 = HEAP32[3502]|0; + $9 = (($8) + -500)|0; + HEAP32[3502] = $9; + } + $$016 = (($$01621) + -1)|0; + $7 = ($$016|0)>(-1); + if ($7) { + $$01621 = $$016; + } else { + break; + } + } + } + HEAP32[3503] = 0; + $2 = HEAP32[3568]|0; + $$018 = (($2) + -1)|0; + $3 = ($$018|0)>(-1); + if ($3) { + $$019 = $$018; + } else { + HEAP32[3568] = 0; + return; + } + while(1) { + $10 = (14276 + ($$019<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0|0); + if (!($12)) { + _free($11); + $14 = HEAP32[3502]|0; + $15 = (($14) + -56)|0; + HEAP32[3502] = $15; + } + $$0 = (($$019) + -1)|0; + $13 = ($$0|0)>(-1); + if ($13) { + $$019 = $$0; + } else { + break; + } + } + HEAP32[3568] = 0; + return; +} +function _ClosePhysics() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3501] = 0; + $0 = HEAP32[3500]|0; + (_pthread_join(($0|0),(0|0))|0); + return; +} +function _main() { + var $$06063 = 0, $$06063$in = 0, $$06166 = 0, $$064 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $exitcond73 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy6 = sp + 80|0; + $$byval_copy5 = sp + 72|0; + $$byval_copy4 = sp + 64|0; + $0 = sp + 56|0; + $1 = sp + 48|0; + $2 = sp + 40|0; + $3 = sp + 92|0; + $4 = sp + 24|0; + $5 = sp + 8|0; + $6 = sp + 88|0; + $7 = sp + 32|0; + $8 = sp + 16|0; + $9 = sp; + _SetConfigFlags(32); + _InitWindow(800,450,3352); + _SetTargetFPS(60); + $10 = (_MeasureText(3383,30)|0); + $11 = (800 - ($10))|0; + $12 = (($11) + -10)|0; + _InitPhysics(); + _SetPhysicsGravity(0.0,0.0); + HEAPF32[$0>>2] = 400.0; + $13 = ((($0)) + 4|0); + HEAPF32[$13>>2] = 225.0; + $14 = (_GetRandomValue(80,200)|0); + $15 = (+($14|0)); + $16 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + (_CreatePhysicsBodyPolygon($$byval_copy6,$15,$16,10.0)|0); + $17 = (_WindowShouldClose()|0); + $18 = ($17|0)==(0); + if (!($18)) { + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; + } + $19 = ((($3)) + 1|0); + $20 = ((($3)) + 2|0); + $21 = ((($3)) + 3|0); + $22 = (($11) + 40)|0; + $23 = ((($6)) + 1|0); + $24 = ((($6)) + 2|0); + $25 = ((($6)) + 3|0); + $26 = ((($1)) + 4|0); + while(1) { + $27 = (_IsKeyPressed(82)|0); + $28 = ($27|0)==(0); + if (!($28)) { + _ResetPhysics(); + HEAPF32[$1>>2] = 400.0; + HEAPF32[$26>>2] = 225.0; + $29 = (_GetRandomValue(80,200)|0); + $30 = (+($29|0)); + $31 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy6>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$1+4>>2]|0; + (_CreatePhysicsBodyPolygon($$byval_copy6,$30,$31,10.0)|0); + } + $32 = (_IsMouseButtonPressed(0)|0); + $33 = ($32|0)==(0); + if (!($33)) { + $34 = (_GetPhysicsBodiesCount()|0); + $35 = ($34|0)>(0); + if ($35) { + $$06063$in = $34; + while(1) { + $$06063 = (($$06063$in) + -1)|0; + $36 = (_GetPhysicsBody($$06063)|0); + $37 = ($36|0)==(0|0); + if (!($37)) { + _GetMousePosition($2); + $39 = ((($36)) + 56|0); + $40 = +HEAPF32[$39>>2]; + $41 = 10.0 / $40; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0; + _PhysicsShatter($36,$$byval_copy6,$41); + } + $38 = ($$06063$in|0)>(1); + if ($38) { + $$06063$in = $$06063; + } else { + break; + } + } + } + } + _BeginDrawing(); + HEAP8[$3>>0] = 0; + HEAP8[$19>>0] = 0; + HEAP8[$20>>0] = 0; + HEAP8[$21>>0] = -1; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy6); + $42 = (_GetPhysicsBodiesCount()|0); + $43 = ($42|0)>(0); + if ($43) { + $$06166 = 0; + while(1) { + $46 = (_GetPhysicsBody($$06166)|0); + $47 = (_GetPhysicsShapeVerticesCount($$06166)|0); + $48 = ($47|0)>(0); + if ($48) { + $$064 = 0; + while(1) { + _GetPhysicsShapeVertex($4,$46,$$064); + $50 = (($$064) + 1)|0; + $51 = ($50|0)<($47|0); + $52 = $51 ? $50 : 0; + _GetPhysicsShapeVertex($5,$46,$52); + HEAP8[$6>>0] = 0; + HEAP8[$23>>0] = -28; + HEAP8[$24>>0] = 48; + HEAP8[$25>>0] = -1; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$6+3>>0]|0; + _DrawLineV($$byval_copy4,$$byval_copy5,$$byval_copy6); + $exitcond = ($50|0)==($47|0); + if ($exitcond) { + break; + } else { + $$064 = $50; + } + } + } + $49 = (($$06166) + 1)|0; + $exitcond73 = ($49|0)==($42|0); + if ($exitcond73) { + break; + } else { + $$06166 = $49; + } + } + } + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3390,10,10,10,$$byval_copy6); + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3383,$12,15,30,$$byval_copy6); + HEAP32[$9>>2] = -1; + ;HEAP8[$$byval_copy6>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3467,$22,8,10,$$byval_copy6); + _EndDrawing(); + $44 = (_WindowShouldClose()|0); + $45 = ($44|0)==(0); + if (!($45)) { + break; + } + } + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _GetRandomNumber() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_rand()|0); + $1 = (($0|0) % 361)&-1; + return ($1|0); +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetCurrentTime()); + HEAPF64[1714] = $1; + return; +} +function _GetCurrentTime() { + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.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); + $0 = sp; + (_clock_gettime(1,($0|0))|0); + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)<(0); + $3 = $2 << 31 >> 31; + $4 = (___muldi3(($1|0),($3|0),1000000000,0)|0); + $5 = tempRet0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(0); + $9 = $8 << 31 >> 31; + $10 = (_i64Add(($4|0),($5|0),($7|0),($9|0))|0); + $11 = tempRet0; + $12 = (+($10>>>0)) + (4294967296.0*(+($11>>>0))); + $13 = $12 * 9.9999999999999995E-7; + STACKTOP = sp;return (+$13); +} +function _MathClamp() { + var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = +HEAPF64[1712]; + $1 = $0 < 0.0; + if ($1) { + $$sink = 0.0; + } else { + $2 = $0 > 0.02; + if ($2) { + $$sink = 0.02; + } else { + return; + } + } + HEAPF64[1712] = $$sink; + return; +} +function _PhysicsStep() { + var $$0 = 0, $$0125165 = 0, $$0126163 = 0, $$0127147 = 0, $$0129148 = 0, $$0130 = 0, $$0130160 = 0, $$0130161 = 0, $$0131150 = 0, $$0132 = 0, $$0133152 = 0, $$0134155 = 0, $$0134155$ph = 0, $$0135158 = 0, $$0136156 = 0, $$0167 = 0, $$0168 = 0, $$pr = 0, $$pr172 = 0, $$sroa$0$0$$sroa_idx = 0; + var $$sroa$2$0$$sroa_idx1 = 0, $0 = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $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, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7665]|0; + $1 = (($0) + 1)|0; + HEAP32[7665] = $1; + $2 = HEAP32[3568]|0; + $$0167 = (($2) + -1)|0; + $3 = ($$0167|0)>(-1); + if ($3) { + $$0168 = $$0167; + while(1) { + $6 = (14276 + ($$0168<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + _DestroyPhysicsManifold($7); + } + $$0 = (($$0168) + -1)|0; + $9 = ($$0|0)>(-1); + if ($9) { + $$0168 = $$0; + } else { + break; + } + } + } + $4 = HEAP32[3503]|0; + $5 = ($4|0)==(0); + if ($5) { + $17 = $4; + label = 8; + } else { + $$0125165 = 0; + while(1) { + $11 = (14016 + ($$0125165<<2)|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($12)) + 76|0); + HEAP32[$13>>2] = 0; + $14 = (($$0125165) + 1)|0; + $15 = ($14>>>0)<($4>>>0); + if ($15) { + $$0125165 = $14; + } else { + break; + } + } + $$pr = HEAP32[3503]|0; + $10 = ($$pr|0)==(0); + if (!($10)) { + $$0126163 = 0; + while(1) { + $19 = (14016 + ($$0126163<<2)|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0|0); + if (!($21)) { + $$0130160 = (($$0126163) + 1)|0; + $22 = HEAP32[3503]|0; + $23 = ($$0130160>>>0)<($22>>>0); + if ($23) { + $24 = ((($20)) + 56|0); + $25 = ((($20)) + 84|0); + $$0130161 = $$0130160; + while(1) { + $26 = (14016 + ($$0130161<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0|0); + do { + if (!($28)) { + $31 = +HEAPF32[$24>>2]; + $32 = $31 == 0.0; + if ($32) { + $33 = ((($27)) + 56|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 == 0.0; + if ($35) { + break; + } + } + $36 = HEAP32[$25>>2]|0; + $37 = ($36|0)==(1); + if ($37) { + $38 = ((($27)) + 84|0); + $39 = HEAP32[$38>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $41 = (_CreatePhysicsManifold($27,$20)|0); + $$0132 = $41; + } else { + label = 20; + } + } else { + label = 20; + } + if ((label|0) == 20) { + label = 0; + $42 = (_CreatePhysicsManifold($20,$27)|0); + $$0132 = $42; + } + _SolvePhysicsManifold($$0132); + $43 = ((($$0132)) + 40|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==(0); + if (!($45)) { + $46 = (_CreatePhysicsManifold($20,$27)|0); + $47 = ((($$0132)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ((($46)) + 12|0); + HEAP32[$49>>2] = $48; + $50 = ((($46)) + 16|0); + $51 = ((($$0132)) + 16|0); + $52 = $51; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $50; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = ((($46)) + 24|0); + $63 = ((($$0132)) + 24|0); + $64 = $63; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $62; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = ((($46)) + 32|0); + $75 = ((($$0132)) + 32|0); + $76 = $75; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $74; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = HEAP32[$43>>2]|0; + $87 = ((($46)) + 40|0); + HEAP32[$87>>2] = $86; + $88 = ((($$0132)) + 44|0); + $89 = HEAP32[$88>>2]|0; + $90 = ((($46)) + 44|0); + HEAP32[$90>>2] = $89; + $91 = ((($$0132)) + 48|0); + $92 = HEAP32[$91>>2]|0; + $93 = ((($46)) + 48|0); + HEAP32[$93>>2] = $92; + $94 = ((($$0132)) + 52|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($46)) + 52|0); + HEAP32[$96>>2] = $95; + } + } + } while(0); + $$0130 = (($$0130161) + 1)|0; + $29 = HEAP32[3503]|0; + $30 = ($$0130>>>0)<($29>>>0); + if ($30) { + $$0130161 = $$0130; + } else { + break; + } + } + } + } + $97 = (($$0126163) + 1)|0; + $98 = HEAP32[3503]|0; + $99 = ($97>>>0)<($98>>>0); + if ($99) { + $$0126163 = $97; + } else { + $17 = $98; + label = 8; + break; + } + } + } + } + if ((label|0) == 8) { + $16 = ($17|0)==(0); + if (!($16)) { + $18 = HEAP32[3503]|0; + $$0135158 = 0; + while(1) { + $103 = (14016 + ($$0135158<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = ($104|0)==(0|0); + if (!($105)) { + _IntegratePhysicsForces($104); + } + $106 = (($$0135158) + 1)|0; + $107 = ($106>>>0)<($18>>>0); + if ($107) { + $$0135158 = $106; + } else { + break; + } + } + } + } + $100 = HEAP32[3568]|0; + $101 = ($100|0)==(0); + if ($101) { + $$0134155 = 0;$114 = 0; + } else { + $102 = HEAP32[3568]|0; + $$0136156 = 0; + while(1) { + $108 = (14276 + ($$0136156<<2)|0); + $109 = HEAP32[$108>>2]|0; + $110 = ($109|0)==(0|0); + if (!($110)) { + _InitializePhysicsManifolds($109); + } + $111 = (($$0136156) + 1)|0; + $112 = ($111>>>0)<($102>>>0); + if ($112) { + $$0136156 = $111; + } else { + $$0134155$ph = 0; + label = 32; + break; + } + } + } + while(1) { + if ((label|0) == 32) { + label = 0; + $$pr172 = HEAP32[3568]|0; + $$0134155 = $$0134155$ph;$114 = $$pr172; + } + $113 = ($114|0)==(0); + if (!($113)) { + $115 = (14276 + ($$0134155<<2)|0); + $$0133152 = 0; + while(1) { + $120 = HEAP32[$115>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + _IntegratePhysicsImpulses($120); + } + $122 = (($$0133152) + 1)|0; + $123 = HEAP32[3568]|0; + $124 = ($122>>>0)<($123>>>0); + if ($124) { + $$0133152 = $122; + } else { + break; + } + } + } + $119 = (($$0134155) + 1)|0; + $exitcond = ($119|0)==(100); + if ($exitcond) { + break; + } else { + $$0134155$ph = $119; + label = 32; + } + } + $116 = HEAP32[3503]|0; + $117 = ($116|0)==(0); + if (!($117)) { + $118 = HEAP32[3503]|0; + $$0131150 = 0; + while(1) { + $128 = (14016 + ($$0131150<<2)|0); + $129 = HEAP32[$128>>2]|0; + $130 = ($129|0)==(0|0); + if (!($130)) { + _IntegratePhysicsVelocity($129); + } + $131 = (($$0131150) + 1)|0; + $132 = ($131>>>0)<($118>>>0); + if ($132) { + $$0131150 = $131; + } else { + break; + } + } + } + $125 = HEAP32[3568]|0; + $126 = ($125|0)==(0); + if (!($126)) { + $127 = HEAP32[3568]|0; + $$0129148 = 0; + while(1) { + $136 = (14276 + ($$0129148<<2)|0); + $137 = HEAP32[$136>>2]|0; + $138 = ($137|0)==(0|0); + if (!($138)) { + _CorrectPhysicsPositions($137); + } + $139 = (($$0129148) + 1)|0; + $140 = ($139>>>0)<($127>>>0); + if ($140) { + $$0129148 = $139; + } else { + break; + } + } + } + $133 = HEAP32[3503]|0; + $134 = ($133|0)==(0); + if ($134) { + return; + } + $135 = HEAP32[3503]|0; + $$0127147 = 0; + while(1) { + $141 = (14016 + ($$0127147<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if (!($143)) { + $$sroa$0$0$$sroa_idx = ((($142)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx1 = ((($142)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = 0.0; + $144 = ((($142)) + 36|0); + HEAPF32[$144>>2] = 0.0; + } + $145 = (($$0127147) + 1)|0; + $146 = ($145>>>0)<($135>>>0); + if ($146) { + $$0127147 = $145; + } else { + break; + } + } + return; +} +function _DestroyPhysicsManifold($0) { + $0 = $0|0; + var $$02023 = 0, $$021 = 0, $$022 = 0, $$lcssa = 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; + var $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = HEAP32[$0>>2]|0; + $3 = HEAP32[3568]|0; + $4 = ($3|0)==(0); + L4: do { + if ($4) { + $$021 = -1; + } else { + $5 = HEAP32[3568]|0; + $$02023 = 0; + while(1) { + $6 = (14276 + ($$02023<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($2|0); + if ($9) { + $$021 = $$02023; + break L4; + } + $10 = (($$02023) + 1)|0; + $11 = ($10>>>0)<($5>>>0); + if ($11) { + $$02023 = $10; + } else { + $$021 = -1; + break; + } + } + } + } while(0); + $12 = (14276 + ($$021<<2)|0); + $13 = HEAP32[$12>>2]|0; + _free($13); + $14 = HEAP32[3502]|0; + $15 = (($14) + -56)|0; + HEAP32[3502] = $15; + HEAP32[$12>>2] = 0; + $16 = HEAP32[3568]|0; + $17 = ($$021>>>0)<($16>>>0); + if ($17) { + $18 = HEAP32[3568]|0; + $$022 = $$021;$22 = $16; + while(1) { + $20 = (($$022) + 1)|0; + $21 = ($20>>>0)<($22>>>0); + if ($21) { + $24 = (14276 + ($$022<<2)|0); + $25 = (14276 + ($20<<2)|0); + $26 = HEAP32[$25>>2]|0; + HEAP32[$24>>2] = $26; + } + $23 = ($20>>>0)<($18>>>0); + if ($23) { + $$022 = $20;$22 = $18; + } else { + $$lcssa = $18; + break; + } + } + } else { + $$lcssa = $16; + } + $19 = (($$lcssa) + -1)|0; + HEAP32[3568] = $19; + return; +} +function _CreatePhysicsManifold($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$04457 = 0, $$044576162 = 0, $$04755 = 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; + var $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + $2 = (_malloc(56)|0); + $3 = HEAP32[3502]|0; + $4 = (($3) + 56)|0; + HEAP32[3502] = $4; + $5 = HEAP32[3568]|0; + $6 = ($5|0)==(0); + $$04457 = 0; + L1: while(1) { + if ($6) { + $$044576162 = 0; + break; + } else { + $$04755 = 0; + } + while(1) { + $9 = (14276 + ($$04755<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==($$04457|0); + $8 = (($$04755) + 1)|0; + if ($12) { + break; + } + $7 = ($8>>>0)<($5>>>0); + if ($7) { + $$04755 = $8; + } else { + label = 6; + break L1; + } + } + $13 = (($$04457) + 1)|0; + $14 = ($13|0)<(4096); + if ($14) { + $$04457 = $13; + } else { + label = 8; + break; + } + } + if ((label|0) == 8) { + return ($2|0); + } + if ((label|0) == 6) { + $15 = ($$04457|0)==(-1); + if ($15) { + return ($2|0); + } else { + $$044576162 = $$04457; + } + } + HEAP32[$2>>2] = $$044576162; + $16 = ((($2)) + 4|0); + HEAP32[$16>>2] = $0; + $17 = ((($2)) + 8|0); + HEAP32[$17>>2] = $1; + $18 = ((($2)) + 12|0); + dest=$18; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $19 = HEAP32[3568]|0; + $20 = (14276 + ($19<<2)|0); + HEAP32[$20>>2] = $2; + $21 = (($19) + 1)|0; + HEAP32[3568] = $21; + return ($2|0); +} +function _SolvePhysicsManifold($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.0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($2)) + 84|0); + $4 = HEAP32[$3>>2]|0; + L1: do { + switch ($4|0) { + case 0: { + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($6)) + 84|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 0: { + _SolveCircleToCircle($0); + break L1; + break; + } + case 1: { + _SolveCircleToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + case 1: { + $9 = ((($0)) + 8|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($10)) + 84|0); + $12 = HEAP32[$11>>2]|0; + switch ($12|0) { + case 0: { + _SolvePolygonToCircle($0); + break L1; + break; + } + case 1: { + _SolvePolygonToPolygon($0); + break L1; + break; + } + default: { + break L1; + } + } + break; + } + default: { + } + } + } while(0); + $13 = ((($0)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($14)) + 76|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)==(0); + if (!($17)) { + return; + } + $18 = ((($0)) + 20|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19 < 0.0; + $21 = $20&1; + HEAP32[$15>>2] = $21; + return; +} +function _IntegratePhysicsForces($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0.0; + var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0; + var label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 56|0); + $2 = +HEAPF32[$1>>2]; + $3 = $2 == 0.0; + if ($3) { + return; + } + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + return; + } + $7 = ((($0)) + 24|0); + $8 = +HEAPF32[$7>>2]; + $9 = $2 * $8; + $10 = $9; + $11 = +HEAPF64[1715]; + $12 = $11 * 0.5; + $13 = $10 * $12; + $14 = ((($0)) + 16|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $16 + $13; + $18 = $17; + HEAPF32[$14>>2] = $18; + $19 = ((($0)) + 28|0); + $20 = +HEAPF32[$19>>2]; + $21 = $2 * $20; + $22 = $21; + $23 = $12 * $22; + $24 = ((($0)) + 20|0); + $25 = +HEAPF32[$24>>2]; + $26 = $25; + $27 = $26 + $23; + $28 = $27; + HEAPF32[$24>>2] = $28; + $29 = ((($0)) + 72|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = +HEAPF32[7666]; + $33 = $32; + $34 = $12 * $33; + $35 = +HEAPF32[$14>>2]; + $36 = $35; + $37 = $36 + $34; + $38 = $37; + HEAPF32[$14>>2] = $38; + $39 = +HEAPF32[2]; + $40 = $39; + $41 = $12 * $40; + $42 = +HEAPF32[$24>>2]; + $43 = $42; + $44 = $43 + $41; + $45 = $44; + HEAPF32[$24>>2] = $45; + } + $46 = ((($0)) + 80|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==(0); + if (!($48)) { + return; + } + $49 = ((($0)) + 36|0); + $50 = +HEAPF32[$49>>2]; + $51 = ((($0)) + 48|0); + $52 = +HEAPF32[$51>>2]; + $53 = $50 * $52; + $54 = $53; + $55 = $12 * $54; + $56 = ((($0)) + 32|0); + $57 = +HEAPF32[$56>>2]; + $58 = $57; + $59 = $58 + $55; + $60 = $59; + HEAPF32[$56>>2] = $60; + return; +} +function _InitializePhysicsManifolds($0) { + $0 = $0|0; + var $$byval_copy14 = 0, $$byval_copy9 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0.0; + var $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0.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.0, $43 = 0.0; + var $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0; + var $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0; + var $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy14 = sp + 48|0; + $$byval_copy9 = sp + 40|0; + $1 = sp + 24|0; + $2 = sp + 16|0; + $3 = sp + 8|0; + $4 = sp; + $5 = sp + 32|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($7)) + 68|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($9)) + 68|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 * $13; + $15 = (+Math_sqrt((+$14))); + $16 = ((($0)) + 44|0); + HEAPF32[$16>>2] = $15; + $17 = ((($7)) + 60|0); + $18 = +HEAPF32[$17>>2]; + $19 = ((($9)) + 60|0); + $20 = +HEAPF32[$19>>2]; + $21 = $18 * $20; + $22 = (+Math_sqrt((+$21))); + $23 = ((($0)) + 52|0); + HEAPF32[$23>>2] = $22; + $24 = ((($7)) + 64|0); + $25 = +HEAPF32[$24>>2]; + $26 = ((($9)) + 64|0); + $27 = +HEAPF32[$26>>2]; + $28 = $25 * $27; + $29 = (+Math_sqrt((+$28))); + $30 = ((($0)) + 48|0); + HEAPF32[$30>>2] = $29; + $31 = ((($7)) + 8|0); + $32 = ((($9)) + 8|0); + $33 = ((($7)) + 32|0); + $34 = ((($9)) + 32|0); + $35 = ((($9)) + 16|0); + $36 = ((($7)) + 16|0); + $37 = ((($9)) + 20|0); + $38 = ((($3)) + 4|0); + $39 = ((($7)) + 20|0); + $40 = ((($$byval_copy9)) + 4|0); + $41 = ((($4)) + 4|0); + $42 = +HEAPF32[7666]; + $43 = $42; + $44 = +HEAPF64[1715]; + $45 = $43 * $44; + $46 = $45; + $47 = ((($5)) + 4|0); + $48 = +HEAPF32[2]; + $49 = $48; + $50 = $49 * $44; + $51 = $50; + $52 = ((($0)) + 24|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$52>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$52+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $53 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$53,$$byval_copy14); + $54 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$54,$$byval_copy14); + $55 = +HEAPF32[$35>>2]; + $56 = +HEAPF32[$3>>2]; + $57 = $55 + $56; + $58 = +HEAPF32[$36>>2]; + $59 = $57 - $58; + $60 = +HEAPF32[$$byval_copy9>>2]; + $61 = $59 - $60; + HEAPF32[$4>>2] = $61; + $62 = +HEAPF32[$37>>2]; + $63 = +HEAPF32[$38>>2]; + $64 = $62 + $63; + $65 = +HEAPF32[$39>>2]; + $66 = $64 - $65; + $67 = +HEAPF32[$40>>2]; + $68 = $66 - $67; + HEAPF32[$41>>2] = $68; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $69 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (+_MathLenSqr($$byval_copy14)); + $71 = $70 + 9.9999999747524271E-7; + $72 = $69 < $71; + if ($72) { + HEAPF32[$16>>2] = 0.0; + } + $73 = ((($0)) + 32|0); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy9,$$byval_copy14); + ;HEAP32[$$byval_copy9>>2]=HEAP32[$73>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$73+4>>2]|0; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$32+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy9,$$byval_copy14); + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($$byval_copy9,$74,$$byval_copy14); + $75 = +HEAPF32[$34>>2]; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($3,$75,$$byval_copy14); + $76 = +HEAPF32[$35>>2]; + $77 = +HEAPF32[$3>>2]; + $78 = $76 + $77; + $79 = +HEAPF32[$36>>2]; + $80 = $78 - $79; + $81 = +HEAPF32[$$byval_copy9>>2]; + $82 = $80 - $81; + HEAPF32[$4>>2] = $82; + $83 = +HEAPF32[$37>>2]; + $84 = +HEAPF32[$38>>2]; + $85 = $83 + $84; + $86 = +HEAPF32[$39>>2]; + $87 = $85 - $86; + $88 = +HEAPF32[$40>>2]; + $89 = $87 - $88; + HEAPF32[$41>>2] = $89; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0; + $90 = (+_MathLenSqr($$byval_copy14)); + HEAPF32[$5>>2] = $46; + HEAPF32[$47>>2] = $51; + ;HEAP32[$$byval_copy14>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$5+4>>2]|0; + $91 = (+_MathLenSqr($$byval_copy14)); + $92 = $91 + 9.9999999747524271E-7; + $93 = $90 < $92; + if (!($93)) { + STACKTOP = sp;return; + } + HEAPF32[$16>>2] = 0.0; + STACKTOP = sp;return; +} +function _IntegratePhysicsImpulses($0) { + $0 = $0|0; + var $$0 = 0, $$0135139 = 0, $$1 = 0, $$byval_copy29 = 0, $$sink = 0.0, $$sink138 = 0.0, $$sroa$047$0$$sroa_idx = 0, $$sroa$050$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$248$0$$sroa_idx49 = 0, $$sroa$251$0$$sroa_idx52 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; + var $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0; + var $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0; + var $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0.0; + var $18 = 0, $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0.0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0.0, $194 = 0.0, $195 = 0.0, $196 = 0.0, $197 = 0.0; + var $198 = 0.0, $199 = 0.0, $2 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0.0, $205 = 0.0, $206 = 0.0, $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0.0; + var $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $221 = 0.0, $222 = 0.0, $223 = 0, $224 = 0, $225 = 0.0, $226 = 0.0, $227 = 0.0, $228 = 0.0, $229 = 0.0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0; + var $233 = 0.0, $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0.0, $240 = 0.0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0; + var $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0; + var $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $cond1 = 0, $fabsf = 0.0, $fabsf136 = 0.0, $tmpcast137$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $tmpcast137$byval_copy = sp + 136|0; + $$byval_copy29 = sp + 128|0; + $1 = sp + 40|0; + $2 = sp + 32|0; + $3 = sp + 8|0; + $4 = sp + 120|0; + $5 = sp + 112|0; + $6 = sp + 104|0; + $7 = sp + 96|0; + $8 = sp + 24|0; + $9 = sp + 88|0; + $10 = sp + 80|0; + $11 = sp + 72|0; + $12 = sp + 64|0; + $13 = sp + 56|0; + $14 = sp + 16|0; + $15 = sp; + $16 = sp + 48|0; + $17 = ((($0)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($18)) + 56|0); + $22 = +HEAPF32[$21>>2]; + $23 = ((($20)) + 56|0); + $24 = +HEAPF32[$23>>2]; + $25 = $22 + $24; + $fabsf = (+Math_abs((+$25))); + $26 = !($fabsf <= 9.9999999747524271E-7); + if (!($26)) { + $$sroa$050$0$$sroa_idx = ((($18)) + 16|0); + HEAPF32[$$sroa$050$0$$sroa_idx>>2] = 0.0; + $$sroa$251$0$$sroa_idx52 = ((($18)) + 20|0); + HEAPF32[$$sroa$251$0$$sroa_idx52>>2] = 0.0; + $$sroa$047$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$047$0$$sroa_idx>>2] = 0.0; + $$sroa$248$0$$sroa_idx49 = ((($20)) + 20|0); + HEAPF32[$$sroa$248$0$$sroa_idx49>>2] = 0.0; + STACKTOP = sp;return; + } + $27 = ((($0)) + 40|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==(0); + if ($29) { + STACKTOP = sp;return; + } + $30 = ((($18)) + 8|0); + $31 = ((($20)) + 8|0); + $32 = ((($20)) + 16|0); + $33 = ((($20)) + 32|0); + $34 = ((($18)) + 16|0); + $35 = ((($18)) + 32|0); + $36 = ((($20)) + 20|0); + $37 = ((($6)) + 4|0); + $38 = ((($18)) + 20|0); + $39 = ((($7)) + 4|0); + $40 = ((($3)) + 4|0); + $41 = ((($0)) + 16|0); + $42 = ((($18)) + 48|0); + $43 = ((($20)) + 48|0); + $44 = ((($0)) + 44|0); + $45 = ((($8)) + 4|0); + $46 = ((($0)) + 20|0); + $47 = ((($18)) + 4|0); + $48 = ((($20)) + 4|0); + $49 = ((($12)) + 4|0); + $50 = ((($13)) + 4|0); + $51 = ((($14)) + 4|0); + $52 = ((($0)) + 52|0); + $$sroa$2$0$$sroa_idx2 = ((($15)) + 4|0); + $53 = ((($20)) + 80|0); + $54 = ((($18)) + 80|0); + $55 = ((($16)) + 4|0); + $56 = ((($0)) + 48|0); + $57 = ((($20)) + 80|0); + $58 = ((($18)) + 80|0); + $59 = ((($9)) + 4|0); + $$0135139 = 0; + while(1) { + $63 = (((($0)) + 24|0) + ($$0135139<<3)|0); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$30>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$30+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy29,$tmpcast137$byval_copy); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$63+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$31>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$31+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy29,$tmpcast137$byval_copy); + $64 = +HEAPF32[$32>>2]; + $65 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($4,$65,$tmpcast137$byval_copy); + $66 = +HEAPF32[$4>>2]; + $67 = $64 + $66; + $68 = +HEAPF32[$34>>2]; + $69 = $67 - $68; + $70 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($5,$70,$tmpcast137$byval_copy); + $71 = +HEAPF32[$5>>2]; + $72 = $69 - $71; + HEAPF32[$3>>2] = $72; + $73 = +HEAPF32[$36>>2]; + $74 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($6,$74,$tmpcast137$byval_copy); + $75 = +HEAPF32[$37>>2]; + $76 = $73 + $75; + $77 = +HEAPF32[$38>>2]; + $78 = $76 - $77; + $79 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($7,$79,$tmpcast137$byval_copy); + $80 = +HEAPF32[$39>>2]; + $81 = $78 - $80; + HEAPF32[$40>>2] = $81; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $82 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $83 = $82 > 0.0; + if ($83) { + $$1 = 1; + } else { + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $84 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $85 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $86 = +HEAPF32[$21>>2]; + $87 = +HEAPF32[$23>>2]; + $88 = $86 + $87; + $89 = $84 * $84; + $90 = +HEAPF32[$42>>2]; + $91 = $89 * $90; + $92 = $88 + $91; + $93 = $85 * $85; + $94 = +HEAPF32[$43>>2]; + $95 = $93 * $94; + $96 = $92 + $95; + $97 = +HEAPF32[$44>>2]; + $98 = $97 + 1.0; + $99 = $82 * $98; + $100 = -$99; + $101 = $100 / $96; + $102 = HEAP32[$27>>2]|0; + $103 = (+($102>>>0)); + $104 = $101 / $103; + $105 = +HEAPF32[$41>>2]; + $106 = $105 * $104; + HEAPF32[$8>>2] = $106; + $107 = +HEAPF32[$46>>2]; + $108 = $104 * $107; + HEAPF32[$45>>2] = $108; + $109 = HEAP32[$47>>2]|0; + $110 = ($109|0)==(0); + if (!($110)) { + $111 = +HEAPF32[$21>>2]; + $112 = +HEAPF32[$8>>2]; + $113 = $111 * $112; + $114 = +HEAPF32[$34>>2]; + $115 = $114 - $113; + HEAPF32[$34>>2] = $115; + $116 = +HEAPF32[$45>>2]; + $117 = $111 * $116; + $118 = +HEAPF32[$38>>2]; + $119 = $118 - $117; + HEAPF32[$38>>2] = $119; + $120 = HEAP32[$58>>2]|0; + $121 = ($120|0)==(0); + if ($121) { + $122 = +HEAPF32[$42>>2]; + $123 = +HEAPF32[$8>>2]; + $124 = -$123; + HEAPF32[$9>>2] = $124; + $125 = +HEAPF32[$45>>2]; + $126 = -$125; + HEAPF32[$59>>2] = $126; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$9+4>>2]|0; + $127 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $128 = $122 * $127; + $129 = +HEAPF32[$35>>2]; + $130 = $129 + $128; + HEAPF32[$35>>2] = $130; + } + } + $131 = HEAP32[$48>>2]|0; + $132 = ($131|0)==(0); + if (!($132)) { + $133 = +HEAPF32[$23>>2]; + $134 = +HEAPF32[$8>>2]; + $135 = $133 * $134; + $136 = +HEAPF32[$32>>2]; + $137 = $136 + $135; + HEAPF32[$32>>2] = $137; + $138 = +HEAPF32[$45>>2]; + $139 = $133 * $138; + $140 = +HEAPF32[$36>>2]; + $141 = $140 + $139; + HEAPF32[$36>>2] = $141; + $142 = HEAP32[$57>>2]|0; + $143 = ($142|0)==(0); + if ($143) { + $144 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$8+4>>2]|0; + $145 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $146 = $144 * $145; + $147 = +HEAPF32[$33>>2]; + $148 = $147 + $146; + HEAPF32[$33>>2] = $148; + } + } + $149 = +HEAPF32[$32>>2]; + $150 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($10,$150,$tmpcast137$byval_copy); + $151 = +HEAPF32[$10>>2]; + $152 = $149 + $151; + $153 = +HEAPF32[$34>>2]; + $154 = $152 - $153; + $155 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($11,$155,$tmpcast137$byval_copy); + $156 = +HEAPF32[$11>>2]; + $157 = $154 - $156; + HEAPF32[$3>>2] = $157; + $158 = +HEAPF32[$36>>2]; + $159 = +HEAPF32[$33>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + _MathCross($12,$159,$tmpcast137$byval_copy); + $160 = +HEAPF32[$49>>2]; + $161 = $158 + $160; + $162 = +HEAPF32[$38>>2]; + $163 = $161 - $162; + $164 = +HEAPF32[$35>>2]; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$1+4>>2]|0; + _MathCross($13,$164,$tmpcast137$byval_copy); + $165 = +HEAPF32[$50>>2]; + $166 = $163 - $165; + HEAPF32[$40>>2] = $166; + $167 = +HEAPF32[$3>>2]; + $168 = +HEAPF32[$41>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $169 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $170 = $168 * $169; + $171 = $167 - $170; + HEAPF32[$14>>2] = $171; + $172 = +HEAPF32[$40>>2]; + $173 = +HEAPF32[$46>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$41>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$41+4>>2]|0; + $174 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $175 = $173 * $174; + $176 = $172 - $175; + HEAPF32[$51>>2] = $176; + _MathNormalize($14); + ;HEAP32[$$byval_copy29>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + $177 = (+_MathDot($$byval_copy29,$tmpcast137$byval_copy)); + $178 = -$177; + $179 = $178 / $96; + $180 = HEAP32[$27>>2]|0; + $181 = (+($180>>>0)); + $182 = $179 / $181; + $fabsf136 = (+Math_abs((+$182))); + $183 = !($fabsf136 <= 9.9999999747524271E-7); + if ($183) { + $184 = $15; + $185 = $184; + HEAP32[$185>>2] = 0; + $186 = (($184) + 4)|0; + $187 = $186; + HEAP32[$187>>2] = 0; + $188 = +HEAPF32[$52>>2]; + $189 = $104 * $188; + $190 = $fabsf136 < $189; + $191 = +HEAPF32[$14>>2]; + $192 = +HEAPF32[$51>>2]; + if ($190) { + $193 = $182 * $191; + $194 = $182 * $192; + $$sink = $194;$$sink138 = $193; + } else { + $195 = -$104; + $196 = $191 * $195; + $197 = +HEAPF32[$56>>2]; + $198 = $196 * $197; + $199 = $192 * $195; + $200 = $199 * $197; + $$sink = $200;$$sink138 = $198; + } + HEAPF32[$15>>2] = $$sink138; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $$sink; + $201 = HEAP32[$47>>2]|0; + $202 = ($201|0)==(0); + if (!($202)) { + $203 = +HEAPF32[$21>>2]; + $204 = +HEAPF32[$15>>2]; + $205 = $203 * $204; + $206 = +HEAPF32[$34>>2]; + $207 = $206 - $205; + HEAPF32[$34>>2] = $207; + $208 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $209 = $203 * $208; + $210 = +HEAPF32[$38>>2]; + $211 = $210 - $209; + HEAPF32[$38>>2] = $211; + $212 = HEAP32[$54>>2]|0; + $213 = ($212|0)==(0); + if ($213) { + $214 = +HEAPF32[$42>>2]; + $215 = +HEAPF32[$15>>2]; + $216 = -$215; + HEAPF32[$16>>2] = $216; + $217 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $218 = -$217; + HEAPF32[$55>>2] = $218; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$16+4>>2]|0; + $219 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $220 = $214 * $219; + $221 = +HEAPF32[$35>>2]; + $222 = $221 + $220; + HEAPF32[$35>>2] = $222; + } + } + $223 = HEAP32[$48>>2]|0; + $224 = ($223|0)==(0); + if (!($224)) { + $225 = +HEAPF32[$23>>2]; + $226 = +HEAPF32[$15>>2]; + $227 = $225 * $226; + $228 = +HEAPF32[$32>>2]; + $229 = $228 + $227; + HEAPF32[$32>>2] = $229; + $230 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $231 = $225 * $230; + $232 = +HEAPF32[$36>>2]; + $233 = $232 + $231; + HEAPF32[$36>>2] = $233; + $234 = HEAP32[$53>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $236 = +HEAPF32[$43>>2]; + ;HEAP32[$$byval_copy29>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$tmpcast137$byval_copy>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast137$byval_copy+4>>2]=HEAP32[$15+4>>2]|0; + $237 = (+_MathCrossVector2($$byval_copy29,$tmpcast137$byval_copy)); + $238 = $236 * $237; + $239 = +HEAPF32[$33>>2]; + $240 = $239 + $238; + HEAPF32[$33>>2] = $240; + } + } + $$0 = 0; + } else { + $$0 = 1; + } + $$1 = $$0; + } + $cond1 = ($$1|0)==(0); + $62 = (($$0135139) + 1)|0; + if (!($cond1)) { + label = 26; + break; + } + $60 = HEAP32[$27>>2]|0; + $61 = ($62>>>0)<($60>>>0); + if ($61) { + $$0135139 = $62; + } else { + label = 26; + break; + } + } + if ((label|0) == 26) { + STACKTOP = sp;return; + } +} +function _IntegratePhysicsVelocity($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 16|0); + $5 = +HEAPF32[$4>>2]; + $6 = $5; + $7 = +HEAPF64[1715]; + $8 = $6 * $7; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $10; + $12 = $8 + $11; + $13 = $12; + HEAPF32[$9>>2] = $13; + $14 = ((($0)) + 20|0); + $15 = +HEAPF32[$14>>2]; + $16 = $15; + $17 = $7 * $16; + $18 = ((($0)) + 12|0); + $19 = +HEAPF32[$18>>2]; + $20 = $19; + $21 = $20 + $17; + $22 = $21; + HEAPF32[$18>>2] = $22; + $23 = ((($0)) + 80|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(0); + if ($25) { + $26 = ((($0)) + 32|0); + $27 = +HEAPF32[$26>>2]; + $28 = $27; + $29 = $7 * $28; + $30 = ((($0)) + 40|0); + $31 = +HEAPF32[$30>>2]; + $32 = $31; + $33 = $32 + $29; + $34 = $33; + HEAPF32[$30>>2] = $34; + } + $35 = ((($0)) + 484|0); + $36 = ((($0)) + 40|0); + $37 = +HEAPF32[$36>>2]; + _Mat2Set($35,$37); + _IntegratePhysicsForces($0); + return; +} +function _CorrectPhysicsPositions($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0; + var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0, $45 = 0.0; + var $46 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = +HEAPF32[$5>>2]; + $7 = $6 + -0.05000000074505806; + $8 = $7 > 0.0; + $9 = $8 ? $7 : 0.0; + $10 = ((($2)) + 56|0); + $11 = +HEAPF32[$10>>2]; + $12 = ((($4)) + 56|0); + $13 = +HEAPF32[$12>>2]; + $14 = $11 + $13; + $15 = $9 / $14; + $16 = ((($0)) + 16|0); + $17 = +HEAPF32[$16>>2]; + $18 = $17 * $15; + $19 = $18 * 0.40000000596046448; + $20 = ((($0)) + 20|0); + $21 = +HEAPF32[$20>>2]; + $22 = $15 * $21; + $23 = $22 * 0.40000000596046448; + $24 = ((($2)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = $11 * $19; + $28 = ((($2)) + 8|0); + $29 = +HEAPF32[$28>>2]; + $30 = $29 - $27; + HEAPF32[$28>>2] = $30; + $31 = $11 * $23; + $32 = ((($2)) + 12|0); + $33 = +HEAPF32[$32>>2]; + $34 = $33 - $31; + HEAPF32[$32>>2] = $34; + } + $35 = ((($4)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($36|0)==(0); + if ($37) { + return; + } + $38 = +HEAPF32[$12>>2]; + $39 = $19 * $38; + $40 = ((($4)) + 8|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 + $39; + HEAPF32[$40>>2] = $42; + $43 = $23 * $38; + $44 = ((($4)) + 12|0); + $45 = +HEAPF32[$44>>2]; + $46 = $43 + $45; + HEAPF32[$44>>2] = $46; + return; +} +function _SolveCircleToCircle($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$02$0$$sroa_idx = 0, $$sroa$05$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$23$0$$sroa_idx4 = 0, $$sroa$26$0$$sroa_idx7 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0; + var $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.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0; + var $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0, $54 = 0, $6 = 0, $7 = 0; + var $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy2 = sp + 16|0; + $$byval_copy = sp + 8|0; + $1 = sp; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($5)) + 8|0); + $7 = ((($3)) + 8|0); + ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($1,$$byval_copy,$$byval_copy2); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + $8 = (+_MathLenSqr($$byval_copy2)); + $9 = ((($3)) + 92|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($5)) + 92|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 + $12; + $14 = $13 * $13; + $15 = !($8 >= $14); + if (!($15)) { + $16 = ((($0)) + 40|0); + HEAP32[$16>>2] = 0; + STACKTOP = sp;return; + } + $17 = (+Math_sqrt((+$8))); + $18 = ((($0)) + 40|0); + HEAP32[$18>>2] = 1; + $19 = $17 == 0.0; + if ($19) { + $20 = HEAP32[$9>>2]|0; + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $$sroa$05$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$05$0$$sroa_idx>>2] = 1.0; + $$sroa$26$0$$sroa_idx7 = ((($0)) + 20|0); + HEAPF32[$$sroa$26$0$$sroa_idx7>>2] = 0.0; + $22 = ((($0)) + 24|0); + $23 = $7; + $24 = $23; + $25 = HEAP32[$24>>2]|0; + $26 = (($23) + 4)|0; + $27 = $26; + $28 = HEAP32[$27>>2]|0; + $29 = $22; + $30 = $29; + HEAP32[$30>>2] = $25; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $28; + } else { + $33 = $13 - $17; + $34 = ((($0)) + 12|0); + HEAPF32[$34>>2] = $33; + $35 = +HEAPF32[$1>>2]; + $36 = $35 / $17; + $37 = ((($1)) + 4|0); + $38 = +HEAPF32[$37>>2]; + $39 = $38 / $17; + $$sroa$02$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$02$0$$sroa_idx>>2] = $36; + $$sroa$23$0$$sroa_idx4 = ((($0)) + 20|0); + HEAPF32[$$sroa$23$0$$sroa_idx4>>2] = $39; + $40 = +HEAPF32[$9>>2]; + $41 = $36 * $40; + $42 = +HEAPF32[$7>>2]; + $43 = $41 + $42; + $44 = $39 * $40; + $45 = ((($3)) + 12|0); + $46 = +HEAPF32[$45>>2]; + $47 = $44 + $46; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $43; + $$sroa$2$0$$sroa_idx1 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $47; + } + $48 = ((($3)) + 76|0); + $49 = HEAP32[$48>>2]|0; + $50 = ($49|0)==(0); + if (!($50)) { + STACKTOP = sp;return; + } + $51 = ((($0)) + 20|0); + $52 = +HEAPF32[$51>>2]; + $53 = $52 < 0.0; + $54 = $53&1; + HEAP32[$48>>2] = $54; + STACKTOP = sp;return; +} +function _SolveCircleToPolygon($0) { + $0 = $0|0; + var $$0$lcssa = 0.0, $$0125 = 0.0, $$093$lcssa = 0, $$093124 = 0, $$097123 = 0, $$1 = 0.0, $$194 = 0, $$byval_copy41 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$011$0$$sroa_idx = 0, $$sroa$014$0$$sroa_idx = 0, $$sroa$04$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx3 = 0, $$sroa$212$0$$sroa_idx13 = 0, $$sroa$215$0$$sroa_idx16 = 0, $$sroa$25$0$$sroa_idx6 = 0, $1 = 0, $10 = 0, $100 = 0.0, $101 = 0.0; + var $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0.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; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $154 = 0, $155 = 0, $156 = 0.0; + var $157 = 0.0, $158 = 0.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, $2 = 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; + var $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0; + var $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0.0, $233 = 0.0, $234 = 0, $235 = 0.0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0, $241 = 0.0, $242 = 0, $243 = 0.0, $244 = 0.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.0, $46 = 0.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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0.0, $82 = 0.0, $83 = 0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $tmpcast104$byval_copy42 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 608|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(608|0); + $tmpcast104$byval_copy42 = sp + 584|0; + $$byval_copy41 = sp + 568|0; + $1 = sp + 24|0; + $2 = sp + 552|0; + $3 = sp + 544|0; + $4 = sp + 88|0; + $5 = sp + 536|0; + $6 = sp + 16|0; + $7 = sp + 8|0; + $8 = sp; + $9 = sp + 528|0; + $10 = sp + 520|0; + $11 = sp + 512|0; + $12 = sp + 504|0; + $13 = sp + 80|0; + $14 = sp + 72|0; + $15 = sp + 64|0; + $16 = sp + 56|0; + $17 = sp + 48|0; + $18 = sp + 40|0; + $19 = sp + 496|0; + $20 = sp + 32|0; + $21 = ((($0)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($0)) + 40|0); + HEAP32[$25>>2] = 0; + $26 = ((($22)) + 8|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $1; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + $37 = ((($24)) + 96|0); + $38 = ((($24)) + 484|0); + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$38>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$38+4>>2]|0;HEAP32[$tmpcast104$byval_copy42+8>>2]=HEAP32[$38+8>>2]|0;HEAP32[$tmpcast104$byval_copy42+12>>2]=HEAP32[$38+12>>2]|0; + _Mat2Transpose($2,$tmpcast104$byval_copy42); + $39 = ((($24)) + 8|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Subtract_4($3,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$3>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$3+4>>2]|0; + _Mat2MultiplyVector2($1,$$byval_copy41,$tmpcast104$byval_copy42); + _memcpy(($4|0),($37|0),404)|0; + $40 = HEAP32[$4>>2]|0; + $41 = ($40|0)==(0); + L1: do { + if ($41) { + $$0$lcssa = -3.4028234663852886E+38;$$093$lcssa = 0; + } else { + $42 = ((($22)) + 92|0); + $$0125 = -3.4028234663852886E+38;$$093124 = 0;$$097123 = 0; + while(1) { + $43 = (((($4)) + 196|0) + ($$097123<<3)|0); + $44 = (((($4)) + 4|0) + ($$097123<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$44>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$44+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$43+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$5+4>>2]|0; + $45 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $46 = +HEAPF32[$42>>2]; + $47 = $45 > $46; + $48 = $45 > $$0125; + if ($47) { + break; + } + $$1 = $48 ? $45 : $$0125; + $$194 = $48 ? $$097123 : $$093124; + $49 = (($$097123) + 1)|0; + $50 = HEAP32[$4>>2]|0; + $51 = ($49>>>0)<($50>>>0); + if ($51) { + $$0125 = $$1;$$093124 = $$194;$$097123 = $49; + } else { + $$0$lcssa = $$1;$$093$lcssa = $$194; + break L1; + } + } + STACKTOP = sp;return; + } + } while(0); + $52 = (((($4)) + 4|0) + ($$093$lcssa<<3)|0); + $53 = $52; + $54 = $53; + $55 = HEAP32[$54>>2]|0; + $56 = (($53) + 4)|0; + $57 = $56; + $58 = HEAP32[$57>>2]|0; + $59 = $6; + $60 = $59; + HEAP32[$60>>2] = $55; + $61 = (($59) + 4)|0; + $62 = $61; + HEAP32[$62>>2] = $58; + $63 = (($$093$lcssa) + 1)|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + $66 = $65 ? $63 : 0; + $67 = (((($4)) + 4|0) + ($66<<3)|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = $7; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = $$0$lcssa < 9.9999999747524271E-7; + do { + if ($78) { + HEAP32[$25>>2] = 1; + $79 = ((($4)) + 388|0); + $80 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$79>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$79+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$79+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$80>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$80+4>>2]|0; + _Mat2MultiplyVector2($8,$$byval_copy41,$tmpcast104$byval_copy42); + $81 = +HEAPF32[$8>>2]; + $82 = -$81; + $83 = ((($8)) + 4|0); + $84 = +HEAPF32[$83>>2]; + $85 = -$84; + $$sroa$014$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$014$0$$sroa_idx>>2] = $82; + $$sroa$215$0$$sroa_idx16 = ((($0)) + 20|0); + HEAPF32[$$sroa$215$0$$sroa_idx16>>2] = $85; + $86 = ((($22)) + 92|0); + $87 = +HEAPF32[$86>>2]; + $88 = $87 * $82; + $89 = +HEAPF32[$26>>2]; + $90 = $88 + $89; + $91 = $87 * $85; + $92 = ((($22)) + 12|0); + $93 = +HEAPF32[$92>>2]; + $94 = $91 + $93; + $$sroa$011$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$011$0$$sroa_idx>>2] = $90; + $$sroa$212$0$$sroa_idx13 = ((($0)) + 28|0); + HEAPF32[$$sroa$212$0$$sroa_idx13>>2] = $94; + $95 = HEAP32[$86>>2]|0; + $96 = ((($0)) + 12|0); + HEAP32[$96>>2] = $95; + } else { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($9,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($10,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$10+4>>2]|0; + $97 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($11,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Vector2Subtract_4($12,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$11+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$12>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$12+4>>2]|0; + $98 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $99 = ((($22)) + 92|0); + $100 = +HEAPF32[$99>>2]; + $101 = $100 - $$0$lcssa; + $102 = ((($0)) + 12|0); + HEAPF32[$102>>2] = $101; + $103 = !($97 <= 0.0); + if (!($103)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + $104 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $105 = +HEAPF32[$99>>2]; + $106 = $105 * $105; + $107 = $104 > $106; + if ($107) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $108 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($13,$$byval_copy41,$tmpcast104$byval_copy42); + $109 = $13; + $110 = $109; + $111 = HEAP32[$110>>2]|0; + $112 = (($109) + 4)|0; + $113 = $112; + $114 = HEAP32[$113>>2]|0; + $115 = $8; + $116 = $115; + HEAP32[$116>>2] = $111; + $117 = (($115) + 4)|0; + $118 = $117; + HEAP32[$118>>2] = $114; + _MathNormalize($8); + $119 = ((($0)) + 16|0); + $120 = $8; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = (($120) + 4)|0; + $124 = $123; + $125 = HEAP32[$124>>2]|0; + $126 = $119; + $127 = $126; + HEAP32[$127>>2] = $122; + $128 = (($126) + 4)|0; + $129 = $128; + HEAP32[$129>>2] = $125; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$108>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$108+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$108+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$108+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($14,$$byval_copy41,$tmpcast104$byval_copy42); + $130 = $14; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = (($130) + 4)|0; + $134 = $133; + $135 = HEAP32[$134>>2]|0; + $136 = $6; + $137 = $136; + HEAP32[$137>>2] = $132; + $138 = (($136) + 4)|0; + $139 = $138; + HEAP32[$139>>2] = $135; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($15,$$byval_copy41,$tmpcast104$byval_copy42); + $140 = $15; + $141 = $140; + $142 = HEAP32[$141>>2]|0; + $143 = (($140) + 4)|0; + $144 = $143; + $145 = HEAP32[$144>>2]|0; + $146 = $6; + $147 = $146; + HEAP32[$147>>2] = $142; + $148 = (($146) + 4)|0; + $149 = $148; + HEAP32[$149>>2] = $145; + $150 = ((($0)) + 24|0); + $151 = $150; + $152 = $151; + HEAP32[$152>>2] = $142; + $153 = (($151) + 4)|0; + $154 = $153; + HEAP32[$154>>2] = $145; + break; + } + $155 = !($98 <= 0.0); + if (!($155)) { + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + $156 = (+_DistSqr($$byval_copy41,$tmpcast104$byval_copy42)); + $157 = +HEAPF32[$99>>2]; + $158 = $157 * $157; + $159 = $156 > $158; + if ($159) { + break; + } + HEAP32[$25>>2] = 1; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($8,$$byval_copy41,$tmpcast104$byval_copy42); + $160 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($16,$$byval_copy41,$tmpcast104$byval_copy42); + $161 = $16; + $162 = $161; + $163 = HEAP32[$162>>2]|0; + $164 = (($161) + 4)|0; + $165 = $164; + $166 = HEAP32[$165>>2]|0; + $167 = $7; + $168 = $167; + HEAP32[$168>>2] = $163; + $169 = (($167) + 4)|0; + $170 = $169; + HEAP32[$170>>2] = $166; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$39+4>>2]|0; + _Vector2Add_2($17,$$byval_copy41,$tmpcast104$byval_copy42); + $171 = $17; + $172 = $171; + $173 = HEAP32[$172>>2]|0; + $174 = (($171) + 4)|0; + $175 = $174; + $176 = HEAP32[$175>>2]|0; + $177 = $7; + $178 = $177; + HEAP32[$178>>2] = $173; + $179 = (($177) + 4)|0; + $180 = $179; + HEAP32[$180>>2] = $176; + $181 = ((($0)) + 24|0); + $182 = $181; + $183 = $182; + HEAP32[$183>>2] = $173; + $184 = (($182) + 4)|0; + $185 = $184; + HEAP32[$185>>2] = $176; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$160>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$160+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$160+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$160+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($18,$$byval_copy41,$tmpcast104$byval_copy42); + $186 = $18; + $187 = $186; + $188 = HEAP32[$187>>2]|0; + $189 = (($186) + 4)|0; + $190 = $189; + $191 = HEAP32[$190>>2]|0; + $192 = $8; + $193 = $192; + HEAP32[$193>>2] = $188; + $194 = (($192) + 4)|0; + $195 = $194; + HEAP32[$195>>2] = $191; + _MathNormalize($8); + $196 = ((($0)) + 16|0); + $197 = $8; + $198 = $197; + $199 = HEAP32[$198>>2]|0; + $200 = (($197) + 4)|0; + $201 = $200; + $202 = HEAP32[$201>>2]|0; + $203 = $196; + $204 = $203; + HEAP32[$204>>2] = $199; + $205 = (($203) + 4)|0; + $206 = $205; + HEAP32[$206>>2] = $202; + break; + } + $207 = (((($4)) + 196|0) + ($$093$lcssa<<3)|0); + $208 = $207; + $209 = $208; + $210 = HEAP32[$209>>2]|0; + $211 = (($208) + 4)|0; + $212 = $211; + $213 = HEAP32[$212>>2]|0; + $214 = $8; + $215 = $214; + HEAP32[$215>>2] = $210; + $216 = (($214) + 4)|0; + $217 = $216; + HEAP32[$217>>2] = $213; + ;HEAP32[$$byval_copy41>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$6>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$6+4>>2]|0; + _Vector2Subtract_4($19,$$byval_copy41,$tmpcast104$byval_copy42); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$19+4>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + $218 = (+_MathDot($$byval_copy41,$tmpcast104$byval_copy42)); + $219 = +HEAPF32[$99>>2]; + $220 = $218 > $219; + if ($220) { + break; + } else { + $221 = ((($4)) + 388|0); + ;HEAP32[$$byval_copy41>>2]=HEAP32[$221>>2]|0;HEAP32[$$byval_copy41+4>>2]=HEAP32[$221+4>>2]|0;HEAP32[$$byval_copy41+8>>2]=HEAP32[$221+8>>2]|0;HEAP32[$$byval_copy41+12>>2]=HEAP32[$221+12>>2]|0; + ;HEAP32[$tmpcast104$byval_copy42>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast104$byval_copy42+4>>2]=HEAP32[$8+4>>2]|0; + _Mat2MultiplyVector2($20,$$byval_copy41,$tmpcast104$byval_copy42); + $222 = $20; + $223 = $222; + $224 = HEAP32[$223>>2]|0; + $225 = (($222) + 4)|0; + $226 = $225; + $227 = HEAP32[$226>>2]|0; + $228 = $8; + $229 = $228; + HEAP32[$229>>2] = $224; + $230 = (($228) + 4)|0; + $231 = $230; + HEAP32[$231>>2] = $227; + $232 = +HEAPF32[$8>>2]; + $233 = -$232; + $234 = ((($8)) + 4|0); + $235 = +HEAPF32[$234>>2]; + $236 = -$235; + $$sroa$04$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$04$0$$sroa_idx>>2] = $233; + $$sroa$25$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$25$0$$sroa_idx6>>2] = $236; + $237 = +HEAPF32[$99>>2]; + $238 = $237 * $233; + $239 = +HEAPF32[$26>>2]; + $240 = $238 + $239; + $241 = $237 * $236; + $242 = ((($22)) + 12|0); + $243 = +HEAPF32[$242>>2]; + $244 = $241 + $243; + $$sroa$0$0$$sroa_idx = ((($0)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $240; + $$sroa$2$0$$sroa_idx3 = ((($0)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx3>>2] = $244; + HEAP32[$25>>2] = 1; + break; + } + } + } while(0); + STACKTOP = sp;return; +} +function _SolvePolygonToCircle($0) { + $0 = $0|0; + var $1 = 0, $10 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + HEAP32[$1>>2] = $4; + HEAP32[$3>>2] = $2; + _SolveCircleToPolygon($0); + $5 = ((($0)) + 16|0); + $6 = +HEAPF32[$5>>2]; + $7 = -$6; + HEAPF32[$5>>2] = $7; + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = -$9; + HEAPF32[$8>>2] = $10; + return; +} +function _SolvePolygonToPolygon($0) { + $0 = $0|0; + var $$0 = 0, $$051 = 0, $$051$in = 0, $$052 = 0, $$1 = 0, $$byval_copy24 = 0, $$sink = 0.0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx12 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0; + var $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0.0, $125 = 0.0, $126 = 0.0; + var $127 = 0.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.0, $14 = 0, $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0, $144 = 0; + var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0, $172 = 0.0, $173 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0; + var $25 = 0.0, $26 = 0, $27 = 0.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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $tmpcast58$byval_copy23 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 3008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(3008|0); + $$byval_copy24 = sp + 2584|0; + $tmpcast58$byval_copy23 = sp + 2168|0; + $1 = sp + 1744|0; + $2 = sp + 1328|0; + $3 = sp + 1324|0; + $4 = sp + 1320|0; + $5 = sp + 904|0; + $6 = sp + 488|0; + $7 = sp + 24|0; + $8 = sp + 80|0; + $9 = sp + 16|0; + $10 = sp + 8|0; + $11 = sp + 64|0; + $12 = sp + 56|0; + $13 = sp + 48|0; + $14 = sp + 40|0; + $15 = sp + 72|0; + $16 = sp; + $17 = sp + 2160|0; + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($19)) + 84|0); + _memcpy(($1|0),($20|0),416)|0; + $21 = ((($0)) + 8|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($22)) + 84|0); + _memcpy(($2|0),($23|0),416)|0; + $24 = ((($0)) + 40|0); + HEAP32[$24>>2] = 0; + HEAP32[$3>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($1|0),416)|0; + _memcpy(($$byval_copy24|0),($2|0),416)|0; + $25 = (+_FindAxisLeastPenetration($3,$tmpcast58$byval_copy23,$$byval_copy24)); + $26 = !($25 >= 0.0); + if (!($26)) { + STACKTOP = sp;return; + } + HEAP32[$4>>2] = 0; + _memcpy(($tmpcast58$byval_copy23|0),($2|0),416)|0; + _memcpy(($$byval_copy24|0),($1|0),416)|0; + $27 = (+_FindAxisLeastPenetration($4,$tmpcast58$byval_copy23,$$byval_copy24)); + $28 = !($27 >= 0.0); + if ($28) { + $29 = (_BiasGreaterThan($25,$27)|0); + $30 = ($29|0)==(0); + if ($30) { + _memcpy(($5|0),($2|0),416)|0; + _memcpy(($6|0),($1|0),416)|0; + $$051$in = $4;$$052 = 1; + } else { + _memcpy(($5|0),($1|0),416)|0; + _memcpy(($6|0),($2|0),416)|0; + $$051$in = $3;$$052 = 0; + } + $$051 = HEAP32[$$051$in>>2]|0; + $31 = ((($7)) + 8|0); + _memcpy(($tmpcast58$byval_copy23|0),($5|0),416)|0; + _memcpy(($$byval_copy24|0),($6|0),416)|0; + _FindIncidentFace($7,$31,$tmpcast58$byval_copy23,$$byval_copy24,$$051); + $32 = ((($5)) + 12|0); + _memcpy(($8|0),($32|0),404)|0; + $33 = (((($8)) + 4|0) + ($$051<<3)|0); + $34 = $33; + $35 = $34; + $36 = HEAP32[$35>>2]|0; + $37 = (($34) + 4)|0; + $38 = $37; + $39 = HEAP32[$38>>2]|0; + $40 = $9; + $41 = $40; + HEAP32[$41>>2] = $36; + $42 = (($40) + 4)|0; + $43 = $42; + HEAP32[$43>>2] = $39; + $44 = (($$051) + 1)|0; + $45 = HEAP32[$8>>2]|0; + $46 = ($44>>>0)<($45>>>0); + $47 = $46 ? $44 : 0; + $48 = (((($8)) + 4|0) + ($47<<3)|0); + $49 = $48; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = (($49) + 4)|0; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = $10; + $56 = $55; + HEAP32[$56>>2] = $51; + $57 = (($55) + 4)|0; + $58 = $57; + HEAP32[$58>>2] = $54; + $59 = ((($8)) + 388|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast58$byval_copy23,$$byval_copy24); + $60 = $11; + $61 = $60; + $62 = HEAP32[$61>>2]|0; + $63 = (($60) + 4)|0; + $64 = $63; + $65 = HEAP32[$64>>2]|0; + $66 = $9; + $67 = $66; + HEAP32[$67>>2] = $62; + $68 = (($66) + 4)|0; + $69 = $68; + HEAP32[$69>>2] = $65; + $70 = ((($5)) + 4|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$9+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$72+4>>2]|0; + _Vector2Add_2($12,$tmpcast58$byval_copy23,$$byval_copy24); + $73 = $12; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = $9; + $80 = $79; + HEAP32[$80>>2] = $75; + $81 = (($79) + 4)|0; + $82 = $81; + HEAP32[$82>>2] = $78; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$59>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$59+4>>2]|0;HEAP32[$tmpcast58$byval_copy23+8>>2]=HEAP32[$59+8>>2]|0;HEAP32[$tmpcast58$byval_copy23+12>>2]=HEAP32[$59+12>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast58$byval_copy23,$$byval_copy24); + $83 = $13; + $84 = $83; + $85 = HEAP32[$84>>2]|0; + $86 = (($83) + 4)|0; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = $10; + $90 = $89; + HEAP32[$90>>2] = $85; + $91 = (($89) + 4)|0; + $92 = $91; + HEAP32[$92>>2] = $88; + $93 = HEAP32[$70>>2]|0; + $94 = ((($93)) + 8|0); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$94>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$94+4>>2]|0; + _Vector2Add_2($14,$tmpcast58$byval_copy23,$$byval_copy24); + $95 = $14; + $96 = $95; + $97 = HEAP32[$96>>2]|0; + $98 = (($95) + 4)|0; + $99 = $98; + $100 = HEAP32[$99>>2]|0; + $101 = $10; + $102 = $101; + HEAP32[$102>>2] = $97; + $103 = (($101) + 4)|0; + $104 = $103; + HEAP32[$104>>2] = $100; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast58$byval_copy23,$$byval_copy24); + _MathNormalize($15); + $105 = ((($15)) + 4|0); + $106 = HEAP32[$105>>2]|0; + HEAP32[$16>>2] = $106; + $107 = ((($16)) + 4|0); + $108 = +HEAPF32[$15>>2]; + $109 = -$108; + HEAPF32[$107>>2] = $109; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $110 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$9+4>>2]|0; + $111 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $112 = -$111; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$15>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$10+4>>2]|0; + $113 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $114 = +HEAPF32[$15>>2]; + $115 = -$114; + HEAPF32[$17>>2] = $115; + $116 = ((($17)) + 4|0); + $117 = +HEAPF32[$105>>2]; + $118 = -$117; + HEAPF32[$116>>2] = $118; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$17+4>>2]|0; + $119 = (_Clip($$byval_copy24,$112,$7,$31)|0); + $120 = ($119|0)<(2); + if (!($120)) { + ;HEAP32[$$byval_copy24>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$15+4>>2]|0; + $121 = (_Clip($$byval_copy24,$113,$7,$31)|0); + $122 = ($121|0)<(2); + if (!($122)) { + $123 = ($$052|0)==(0); + if ($123) { + $128 = ((($0)) + 16|0); + $129 = $16; + $130 = $129; + $131 = HEAP32[$130>>2]|0; + $132 = (($129) + 4)|0; + $133 = $132; + $134 = HEAP32[$133>>2]|0; + $135 = $128; + $136 = $135; + HEAP32[$136>>2] = $131; + $137 = (($135) + 4)|0; + $138 = $137; + HEAP32[$138>>2] = $134; + } else { + $124 = +HEAPF32[$16>>2]; + $125 = -$124; + $126 = +HEAPF32[$107>>2]; + $127 = -$126; + $$sroa$0$0$$sroa_idx = ((($0)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $125; + $$sroa$2$0$$sroa_idx12 = ((($0)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx12>>2] = $127; + } + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$7+4>>2]|0; + $139 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $140 = $139 - $110; + $141 = !($140 <= 0.0); + if ($141) { + $$0 = 0;$$sink = 0.0; + } else { + $142 = -$140; + $143 = ((($0)) + 24|0); + $144 = $7; + $145 = $144; + $146 = HEAP32[$145>>2]|0; + $147 = (($144) + 4)|0; + $148 = $147; + $149 = HEAP32[$148>>2]|0; + $150 = $143; + $151 = $150; + HEAP32[$151>>2] = $146; + $152 = (($150) + 4)|0; + $153 = $152; + HEAP32[$153>>2] = $149; + $$0 = 1;$$sink = $142; + } + $154 = ((($0)) + 12|0); + HEAPF32[$154>>2] = $$sink; + ;HEAP32[$tmpcast58$byval_copy23>>2]=HEAP32[$16>>2]|0;HEAP32[$tmpcast58$byval_copy23+4>>2]=HEAP32[$16+4>>2]|0; + ;HEAP32[$$byval_copy24>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$31+4>>2]|0; + $155 = (+_MathDot($tmpcast58$byval_copy23,$$byval_copy24)); + $156 = $155 - $110; + $157 = !($156 <= 0.0); + if ($157) { + $$1 = $$0; + } else { + $158 = (((($0)) + 24|0) + ($$0<<3)|0); + $159 = $31; + $160 = $159; + $161 = HEAP32[$160>>2]|0; + $162 = (($159) + 4)|0; + $163 = $162; + $164 = HEAP32[$163>>2]|0; + $165 = $158; + $166 = $165; + HEAP32[$166>>2] = $161; + $167 = (($165) + 4)|0; + $168 = $167; + HEAP32[$168>>2] = $164; + $169 = +HEAPF32[$154>>2]; + $170 = $169 - $156; + $171 = (($$0) + 1)|0; + $172 = (+($171|0)); + $173 = $170 / $172; + HEAPF32[$154>>2] = $173; + $$1 = $171; + } + HEAP32[$24>>2] = $$1; + } + } + } + STACKTOP = sp;return; +} +function _MathLenSqr($0) { + $0 = $0|0; + var $1 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + return (+$6); +} +function _Mat2Transpose($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $2; + $3 = ((($0)) + 4|0); + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + $7 = ((($1)) + 4|0); + $8 = HEAP32[$7>>2]|0; + HEAP32[$6>>2] = $8; + $9 = ((($0)) + 12|0); + $10 = ((($1)) + 12|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[$9>>2] = $11; + return; +} +function _MathDot($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 * $3; + $5 = ((($0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = $6 * $8; + $10 = $4 + $9; + return (+$10); +} +function _DistSqr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy3 = 0, $2 = 0, $3 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy3 = sp + 16|0; + $$byval_copy2 = sp + 8|0; + $2 = sp; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + _Vector2Subtract_4($2,$$byval_copy2,$$byval_copy3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $3 = (+_MathDot($$byval_copy2,$$byval_copy3)); + STACKTOP = sp;return (+$3); +} +function _FindAxisLeastPenetration($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0.0, $$01727 = 0, $$018$lcssa = 0, $$01826 = 0, $$028 = 0.0, $$1 = 0.0, $$119 = 0, $$byval_copy16 = 0, $10 = 0, $100 = 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.0, $38 = 0.0, $39 = 0.0; + var $4 = 0, $40 = 0.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 $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, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy15 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1344|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1344|0); + $$byval_copy16 = sp + 1320|0; + $tmpcast$byval_copy15 = sp + 904|0; + $3 = sp + 484|0; + $4 = sp + 80|0; + $5 = sp + 8|0; + $6 = sp + 72|0; + $7 = sp + 56|0; + $8 = sp + 48|0; + $9 = sp + 896|0; + $10 = sp; + $11 = sp + 40|0; + $12 = sp + 32|0; + $13 = sp + 24|0; + $14 = sp + 16|0; + $15 = sp + 888|0; + $16 = ((($1)) + 12|0); + _memcpy(($3|0),($16|0),404)|0; + $17 = ((($2)) + 12|0); + _memcpy(($4|0),($17|0),404)|0; + $18 = HEAP32[$3>>2]|0; + $19 = ($18|0)==(0); + if ($19) { + $$0$lcssa = -3.4028234663852886E+38;$$018$lcssa = 0; + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); + } + $20 = ((($3)) + 388|0); + $21 = ((($4)) + 388|0); + $22 = ((($9)) + 4|0); + $23 = ((($5)) + 4|0); + $24 = ((($1)) + 4|0); + $25 = ((($2)) + 4|0); + $$01727 = 0;$$01826 = 0;$$028 = -3.4028234663852886E+38; + while(1) { + $26 = (((($3)) + 196|0) + ($$01727<<3)|0); + $27 = $26; + $28 = $27; + $29 = HEAP32[$28>>2]|0; + $30 = (($27) + 4)|0; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = $5; + $34 = $33; + HEAP32[$34>>2] = $29; + $35 = (($33) + 4)|0; + $36 = $35; + HEAP32[$36>>2] = $32; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$5+4>>2]|0; + _Mat2MultiplyVector2($6,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$$byval_copy16>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$21+4>>2]|0;HEAP32[$$byval_copy16+8>>2]=HEAP32[$21+8>>2]|0;HEAP32[$$byval_copy16+12>>2]=HEAP32[$21+12>>2]|0; + _Mat2Transpose($7,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$6+4>>2]|0; + _Mat2MultiplyVector2($5,$tmpcast$byval_copy15,$$byval_copy16); + $37 = +HEAPF32[$5>>2]; + $38 = -$37; + HEAPF32[$9>>2] = $38; + $39 = +HEAPF32[$23>>2]; + $40 = -$39; + HEAPF32[$22>>2] = $40; + _memcpy(($tmpcast$byval_copy15|0),($2|0),416)|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$9+4>>2]|0; + _GetSupport($8,$tmpcast$byval_copy15,$$byval_copy16); + $41 = (((($3)) + 4|0) + ($$01727<<3)|0); + $42 = $41; + $43 = $42; + $44 = HEAP32[$43>>2]|0; + $45 = (($42) + 4)|0; + $46 = $45; + $47 = HEAP32[$46>>2]|0; + $48 = $10; + $49 = $48; + HEAP32[$49>>2] = $44; + $50 = (($48) + 4)|0; + $51 = $50; + HEAP32[$51>>2] = $47; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$20>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$20+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$20+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy15,$$byval_copy16); + $52 = $11; + $53 = $52; + $54 = HEAP32[$53>>2]|0; + $55 = (($52) + 4)|0; + $56 = $55; + $57 = HEAP32[$56>>2]|0; + $58 = $10; + $59 = $58; + HEAP32[$59>>2] = $54; + $60 = (($58) + 4)|0; + $61 = $60; + HEAP32[$61>>2] = $57; + $62 = HEAP32[$24>>2]|0; + $63 = ((($62)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$63>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$63+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy15,$$byval_copy16); + $64 = $12; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = (($64) + 4)|0; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = $10; + $71 = $70; + HEAP32[$71>>2] = $66; + $72 = (($70) + 4)|0; + $73 = $72; + HEAP32[$73>>2] = $69; + $74 = HEAP32[$25>>2]|0; + $75 = ((($74)) + 8|0); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$75+4>>2]|0; + _Vector2Subtract_4($13,$tmpcast$byval_copy15,$$byval_copy16); + $76 = $13; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $10; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$tmpcast$byval_copy15+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$tmpcast$byval_copy15+12>>2]=HEAP32[$7+12>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Mat2MultiplyVector2($14,$tmpcast$byval_copy15,$$byval_copy16); + $86 = $14; + $87 = $86; + $88 = HEAP32[$87>>2]|0; + $89 = (($86) + 4)|0; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = $10; + $93 = $92; + HEAP32[$93>>2] = $88; + $94 = (($92) + 4)|0; + $95 = $94; + HEAP32[$95>>2] = $91; + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$8>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$8+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$10+4>>2]|0; + _Vector2Subtract_4($15,$tmpcast$byval_copy15,$$byval_copy16); + ;HEAP32[$tmpcast$byval_copy15>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast$byval_copy15+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy16>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$15+4>>2]|0; + $96 = (+_MathDot($tmpcast$byval_copy15,$$byval_copy16)); + $97 = $96 > $$028; + $$119 = $97 ? $$01727 : $$01826; + $$1 = $97 ? $96 : $$028; + $98 = (($$01727) + 1)|0; + $99 = HEAP32[$3>>2]|0; + $100 = ($98>>>0)<($99>>>0); + if ($100) { + $$01727 = $98;$$01826 = $$119;$$028 = $$1; + } else { + $$0$lcssa = $$1;$$018$lcssa = $$119; + break; + } + } + HEAP32[$0>>2] = $$018$lcssa; + STACKTOP = sp;return (+$$0$lcssa); +} +function _BiasGreaterThan($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 * 0.94999998807907104; + $3 = $0 * 0.0099999997764825821; + $4 = $3 + $2; + $5 = $4 <= $0; + $6 = $5&1; + return ($6|0); +} +function _FindIncidentFace($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0$lcssa = 0, $$02434 = 0, $$02533 = 0.0, $$035 = 0, $$1 = 0, $$126 = 0.0, $$byval_copy13 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0; + var $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, $30 = 0, $31 = 0, $32 = 0, $33 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $tmpcast$byval_copy12 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 912|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(912|0); + $$byval_copy13 = sp + 896|0; + $tmpcast$byval_copy12 = sp + 880|0; + $5 = sp + 460|0; + $6 = sp + 56|0; + $7 = sp; + $8 = sp + 48|0; + $9 = sp + 864|0; + $10 = sp + 40|0; + $11 = sp + 32|0; + $12 = sp + 24|0; + $13 = sp + 16|0; + $14 = sp + 8|0; + $15 = ((($2)) + 12|0); + _memcpy(($5|0),($15|0),404)|0; + $16 = ((($3)) + 12|0); + _memcpy(($6|0),($16|0),404)|0; + $17 = (((($5)) + 196|0) + ($4<<3)|0); + $18 = $17; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $7; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + $28 = ((($5)) + 388|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$28>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$28+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($8,$tmpcast$byval_copy12,$$byval_copy13); + $29 = $8; + $30 = $29; + $31 = HEAP32[$30>>2]|0; + $32 = (($29) + 4)|0; + $33 = $32; + $34 = HEAP32[$33>>2]|0; + $35 = $7; + $36 = $35; + HEAP32[$36>>2] = $31; + $37 = (($35) + 4)|0; + $38 = $37; + HEAP32[$38>>2] = $34; + $39 = ((($6)) + 388|0); + ;HEAP32[$$byval_copy13>>2]=HEAP32[$39>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[$39+12>>2]|0; + _Mat2Transpose($9,$$byval_copy13); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$9>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$9+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$7+4>>2]|0; + _Mat2MultiplyVector2($10,$tmpcast$byval_copy12,$$byval_copy13); + $40 = $10; + $41 = $40; + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + 4)|0; + $44 = $43; + $45 = HEAP32[$44>>2]|0; + $46 = $7; + $47 = $46; + HEAP32[$47>>2] = $42; + $48 = (($46) + 4)|0; + $49 = $48; + HEAP32[$49>>2] = $45; + $50 = HEAP32[$6>>2]|0; + $51 = ($50|0)==(0); + if ($51) { + $$0$lcssa = 0; + } else { + $52 = HEAP32[$6>>2]|0; + $$02434 = 0;$$02533 = 3.4028234663852886E+38;$$035 = 0; + while(1) { + $104 = (((($6)) + 196|0) + ($$02434<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$7>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$104>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$104+4>>2]|0; + $105 = (+_MathDot($tmpcast$byval_copy12,$$byval_copy13)); + $106 = $105 < $$02533; + $$126 = $106 ? $105 : $$02533; + $$1 = $106 ? $$02434 : $$035; + $107 = (($$02434) + 1)|0; + $108 = ($107>>>0)<($52>>>0); + if ($108) { + $$02434 = $107;$$02533 = $$126;$$035 = $$1; + } else { + $$0$lcssa = $$1; + break; + } + } + } + $53 = (((($6)) + 4|0) + ($$0$lcssa<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$53>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$53+4>>2]|0; + _Mat2MultiplyVector2($11,$tmpcast$byval_copy12,$$byval_copy13); + $54 = $11; + $55 = $54; + $56 = HEAP32[$55>>2]|0; + $57 = (($54) + 4)|0; + $58 = $57; + $59 = HEAP32[$58>>2]|0; + $60 = $0; + $61 = $60; + HEAP32[$61>>2] = $56; + $62 = (($60) + 4)|0; + $63 = $62; + HEAP32[$63>>2] = $59; + $64 = ((($3)) + 4|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($65)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$0>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$66>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$66+4>>2]|0; + _Vector2Add_2($12,$tmpcast$byval_copy12,$$byval_copy13); + $67 = $12; + $68 = $67; + $69 = HEAP32[$68>>2]|0; + $70 = (($67) + 4)|0; + $71 = $70; + $72 = HEAP32[$71>>2]|0; + $73 = $0; + $74 = $73; + HEAP32[$74>>2] = $69; + $75 = (($73) + 4)|0; + $76 = $75; + HEAP32[$76>>2] = $72; + $77 = (($$0$lcssa) + 1)|0; + $78 = HEAP32[$6>>2]|0; + $79 = ($77>>>0)<($78>>>0); + $80 = $79 ? $77 : 0; + $81 = (((($6)) + 4|0) + ($80<<3)|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$39>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$39+4>>2]|0;HEAP32[$tmpcast$byval_copy12+8>>2]=HEAP32[$39+8>>2]|0;HEAP32[$tmpcast$byval_copy12+12>>2]=HEAP32[$39+12>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$81+4>>2]|0; + _Mat2MultiplyVector2($13,$tmpcast$byval_copy12,$$byval_copy13); + $82 = $13; + $83 = $82; + $84 = HEAP32[$83>>2]|0; + $85 = (($82) + 4)|0; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $88 = $1; + $89 = $88; + HEAP32[$89>>2] = $84; + $90 = (($88) + 4)|0; + $91 = $90; + HEAP32[$91>>2] = $87; + $92 = HEAP32[$64>>2]|0; + $93 = ((($92)) + 8|0); + ;HEAP32[$tmpcast$byval_copy12>>2]=HEAP32[$1>>2]|0;HEAP32[$tmpcast$byval_copy12+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$93+4>>2]|0; + _Vector2Add_2($14,$tmpcast$byval_copy12,$$byval_copy13); + $94 = $14; + $95 = $94; + $96 = HEAP32[$95>>2]|0; + $97 = (($94) + 4)|0; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = $1; + $101 = $100; + HEAP32[$101>>2] = $96; + $102 = (($100) + 4)|0; + $103 = $102; + HEAP32[$103>>2] = $99; + STACKTOP = sp;return; +} +function _Clip($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0; + var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.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.0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0.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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy7 = sp + 40|0; + $$byval_copy6 = sp + 32|0; + $4 = sp; + $5 = sp + 24|0; + $6 = sp + 16|0; + $7 = $2; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = $4; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + $17 = ((($4)) + 8|0); + $18 = $3; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = (($18) + 4)|0; + $22 = $21; + $23 = HEAP32[$22>>2]|0; + $24 = $17; + $25 = $24; + HEAP32[$25>>2] = $20; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $23; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + $28 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $29 = $28 - $1; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + $30 = (+_MathDot($$byval_copy6,$$byval_copy7)); + $31 = $30 - $1; + $32 = !($29 <= 0.0); + if ($32) { + $$0 = 0; + } else { + $33 = $2; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = (($33) + 4)|0; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = $4; + $40 = $39; + HEAP32[$40>>2] = $35; + $41 = (($39) + 4)|0; + $42 = $41; + HEAP32[$42>>2] = $38; + $$0 = 1; + } + $43 = !($31 <= 0.0); + if ($43) { + $$1 = $$0; + } else { + $44 = (($4) + ($$0<<3)|0); + $45 = (($$0) + 1)|0; + $46 = $3; + $47 = $46; + $48 = HEAP32[$47>>2]|0; + $49 = (($46) + 4)|0; + $50 = $49; + $51 = HEAP32[$50>>2]|0; + $52 = $44; + $53 = $52; + HEAP32[$53>>2] = $48; + $54 = (($52) + 4)|0; + $55 = $54; + HEAP32[$55>>2] = $51; + $$1 = $45; + } + $56 = $29 * $31; + $57 = $56 < 0.0; + if (!($57)) { + $$2 = $$1; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); + } + $58 = $29 - $31; + $59 = $29 / $58; + $60 = (($4) + ($$1<<3)|0); + $61 = $2; + $62 = $61; + $63 = HEAP32[$62>>2]|0; + $64 = (($61) + 4)|0; + $65 = $64; + $66 = HEAP32[$65>>2]|0; + $67 = $60; + $68 = $67; + HEAP32[$68>>2] = $63; + $69 = (($67) + 4)|0; + $70 = $69; + HEAP32[$70>>2] = $66; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + _Vector2Subtract_4($5,$$byval_copy6,$$byval_copy7); + $71 = +HEAPF32[$5>>2]; + $72 = $59 * $71; + HEAPF32[$5>>2] = $72; + $73 = ((($5)) + 4|0); + $74 = +HEAPF32[$73>>2]; + $75 = $59 * $74; + HEAPF32[$73>>2] = $75; + ;HEAP32[$$byval_copy6>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$60+4>>2]|0; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0; + _Vector2Add_2($6,$$byval_copy6,$$byval_copy7); + $76 = $6; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = (($76) + 4)|0; + $80 = $79; + $81 = HEAP32[$80>>2]|0; + $82 = $60; + $83 = $82; + HEAP32[$83>>2] = $78; + $84 = (($82) + 4)|0; + $85 = $84; + HEAP32[$85>>2] = $81; + $86 = (($$1) + 1)|0; + $$2 = $86; + $87 = $4; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $90 = (($87) + 4)|0; + $91 = $90; + $92 = HEAP32[$91>>2]|0; + $93 = $2; + $94 = $93; + HEAP32[$94>>2] = $89; + $95 = (($93) + 4)|0; + $96 = $95; + HEAP32[$96>>2] = $92; + $97 = $17; + $98 = $97; + $99 = HEAP32[$98>>2]|0; + $100 = (($97) + 4)|0; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = $3; + $104 = $103; + HEAP32[$104>>2] = $99; + $105 = (($103) + 4)|0; + $106 = $105; + HEAP32[$106>>2] = $102; + STACKTOP = sp;return ($$2|0); +} +function _GetSupport($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$019 = 0.0, $$1 = 0.0, $$byval_copy = 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.0, $27 = 0, $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, $tmpcast$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(432|0); + $$byval_copy = sp + 424|0; + $tmpcast$byval_copy = sp + 416|0; + $3 = sp + 8|0; + $4 = sp; + $5 = ((($1)) + 12|0); + _memcpy(($3|0),($5|0),404)|0; + $6 = HEAP32[$3>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + $11 = 0;$14 = 0; + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; + } + $8 = HEAP32[$3>>2]|0; + $$01318 = 0;$$019 = -3.4028234663852886E+38;$29 = 0;$31 = 0; + while(1) { + $15 = (((($3)) + 4|0) + ($$01318<<3)|0); + $16 = $15; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = (($16) + 4)|0; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = $4; + $23 = $22; + HEAP32[$23>>2] = $18; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $21; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0; + $26 = (+_MathDot($tmpcast$byval_copy,$$byval_copy)); + $27 = $26 > $$019; + $28 = $27 ? $18 : $29; + $30 = $27 ? $21 : $31; + $$1 = $27 ? $26 : $$019; + $32 = (($$01318) + 1)|0; + $33 = ($32>>>0)<($8>>>0); + if ($33) { + $$01318 = $32;$$019 = $$1;$29 = $28;$31 = $30; + } else { + $11 = $28;$14 = $30; + break; + } + } + $9 = $0; + $10 = $9; + HEAP32[$10>>2] = $11; + $12 = (($9) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $14; + STACKTOP = sp;return; +} +function _MathCross($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + var $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $1; + $6 = -$5; + HEAPF32[$0>>2] = $6; + $7 = ((($0)) + 4|0); + $8 = +HEAPF32[$2>>2]; + $9 = $8 * $1; + HEAPF32[$7>>2] = $9; + return; +} +function _Mat2Set($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+Math_cos((+$1))); + $3 = (+Math_sin((+$1))); + HEAPF32[$0>>2] = $2; + $4 = -$3; + $5 = ((($0)) + 4|0); + HEAPF32[$5>>2] = $4; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $3; + $7 = ((($0)) + 12|0); + HEAPF32[$7>>2] = $2; + return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[7668] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13728; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13768; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3442]; + $111 = +HEAPF32[3432]; + $112 = $110 - $111; + HEAPF32[3444] = $112; + $113 = +HEAPF32[(13772)>>2]; + $114 = +HEAPF32[(13732)>>2]; + $115 = $113 - $114; + HEAPF32[(13780)>>2] = $115; + HEAP32[7667] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13760>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13760+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13784>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13784+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[7673] = $116; + $117 = 13760; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13728; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13784; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13768; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13760; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13784; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3446]; + $160 = +HEAPF32[3440]; + $161 = $159 - $160; + HEAPF32[3444] = $161; + $162 = +HEAPF32[(13788)>>2]; + $163 = +HEAPF32[(13764)>>2]; + $164 = $162 - $163; + HEAPF32[(13780)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13728+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13760>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13760+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13768>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13768+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13784>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13784+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13760>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13760+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13784>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13784+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[7673]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[7667] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13760>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13760+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13784>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13784+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[7674] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[7673] = 0.0; + HEAPF32[7674] = 0.0; + HEAPF32[3444] = 0.0; + HEAPF32[(13780)>>2] = 0.0; + HEAP32[7668] = 0; + HEAP32[7667] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[7669]|0; + $7 = (($6) + 1)|0; + HEAP32[7669] = $7; + $8 = HEAP32[7667]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13728+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[7667] = 2; + HEAP32[7669] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[7669] = 1; + HEAP32[7667] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13728; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13736; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13744; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[3] = $34; + HEAPF32[3438] = 0.0; + HEAPF32[(13756)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[7667]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13744; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13728+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13744>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13744+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[7670] = $49; + HEAP32[7671] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[3]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13728+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13744>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13744+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[7672] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[7670] = 0.0; + HEAPF32[7672] = 0.0; + $$sink10 = 0; + } + HEAP32[7667] = $$sink10; + HEAPF32[3434] = 0.0; + HEAPF32[(13740)>>2] = 0.0; + HEAP32[7668] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[7671]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[7671] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13760; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[7667]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13728>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13728+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13760>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13760+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[7667] = 8; + } + } + $82 = +HEAPF32[3440]; + $83 = +HEAPF32[3434]; + $84 = $82 - $83; + HEAPF32[3438] = $84; + $85 = +HEAPF32[(13764)>>2]; + $86 = +HEAPF32[(13740)>>2]; + $87 = $85 - $86; + HEAPF32[(13756)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7667]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[7668]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[7667] = 4; + } + $4 = HEAP32[7667]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[7667] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 13792; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7677]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7676]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,3478,$vararg_buffer); + HEAP32[7679] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer_10(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); + (_emscripten_set_keypress_callback((3507|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((3507|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((3507|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((3507|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((3507|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((3507|0),(0|0),1,(6|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); + $3 = HEAP32[7677]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3448] = $5; + $6 = HEAP32[7676]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13796)>>2] = $8; + $9 = HEAP32[7680]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13832>>0]=HEAP8[8036>>0]|0;HEAP8[13832+1>>0]=HEAP8[8036+1>>0]|0;HEAP8[13832+2>>0]=HEAP8[8036+2>>0]|0;HEAP8[13832+3>>0]=HEAP8[8036+3>>0]|0;HEAP8[13832+4>>0]=HEAP8[8036+4>>0]|0;HEAP8[13832+5>>0]=HEAP8[8036+5>>0]|0;HEAP8[13832+6>>0]=HEAP8[8036+6>>0]|0; + break; + } + case 1: { + $3 = 13832; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13832; src=8043; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13832; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13832,$1)|0); + $strlen = (_strlen(13832)|0); + $endptr = (13832 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13832,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[7677] = $0; + HEAP32[7676] = $1; + _MatrixIdentity($2); + dest=30796; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4178,$vararg_buffer); + } + $6 = HEAP32[7677]|0; + HEAP32[7715] = $6; + $7 = HEAP32[7676]|0; + HEAP32[7716] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[33512]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[33512]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[33512]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4204,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[7717]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[7677]|0; + $48 = HEAP32[7676]|0; + $49 = HEAP32[7679]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[7675] = $50; + $51 = HEAP32[7677]|0; + HEAP32[7718] = $51; + $52 = HEAP32[7676]|0; + HEAP32[7719] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[7677]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[7676]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[7715] = $31; + HEAP32[7716] = $34; + } + } while(0); + $38 = HEAP32[7715]|0; + $39 = HEAP32[7716]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4229,$vararg_buffer3); + $40 = HEAP32[7715]|0; + $41 = HEAP32[7716]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[7715]|0; + $43 = HEAP32[7716]|0; + $44 = HEAP32[7679]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[7675] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4267,$vararg_buffer6); + } else { + _TraceLog(0,4300,$vararg_buffer8); + $55 = HEAP32[7718]|0; + $56 = HEAP32[7719]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4340,$vararg_buffer10); + $57 = HEAP32[7677]|0; + $58 = HEAP32[7676]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4361,$vararg_buffer14); + $59 = HEAP32[7720]|0; + $60 = HEAP32[7721]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4382,$vararg_buffer18); + } + $61 = HEAP32[7675]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[7675]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[7675]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[7675]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[7675]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[7675]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[7675]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[7675]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[7675]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[33512]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[7677]|0; + $74 = HEAP32[7676]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7718]|0; + $76 = HEAP32[7720]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7719]|0; + $80 = HEAP32[7721]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4407,$vararg_buffer22); + $73 = HEAP32[7677]|0; + $74 = HEAP32[7676]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[7718]|0; + $76 = HEAP32[7720]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[7719]|0; + $80 = HEAP32[7721]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(30764)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (16 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[30740>>2]=HEAP32[$1>>2]|0;HEAP32[30740+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[30740+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[30740+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[30740+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(30764)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(30768)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30760)>>2] = $23; + $24 = HEAP32[7685]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3702,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(30744)>>2]|0; + $10 = HEAP32[(30764)>>2]|0; + $11 = HEAP32[(30768)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2064 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(30760)>>2] = $23; + $24 = HEAP32[7685]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3702,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer_10() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1728] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3635,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3566,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3559)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13808; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13816); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (30724 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1725] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3515,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7680] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4078,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[7693]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3747,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[7694]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3791,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[7695]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3836,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[7696]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3881,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[7697]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3926,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[7693]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[7693]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[7693]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[7693]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[7694]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[7695]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[7695]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[7696]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[7696]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[7697]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[7697]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3971,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[7698]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4049,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4000,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4132,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7998,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[7677]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[7676]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[7718] = $3; + HEAP32[7719] = $5; + HEAP32[7720] = 0; + HEAP32[7721] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7932,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[7677]|0; + $36 = (+($35|0)); + $37 = HEAP32[7676]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[7718] = $45; + HEAP32[7719] = $37; + $46 = (($45) - ($35))|0; + HEAP32[7720] = $46; + $$sink1 = 0; + } else { + HEAP32[7718] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[7719] = $42; + HEAP32[7720] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[7721] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[7676]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7789,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[7677]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[7676]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[7718] = $23; + HEAP32[7719] = $1; + $24 = (($0) - ($23))|0; + HEAP32[7720] = $24; + $$sink = 0; + } else { + HEAP32[7718] = $0; + $17 = HEAP32[7676]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[7719] = $20; + HEAP32[7720] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[7721] = $$sink; + $25 = HEAP32[7718]|0; + $26 = (+($25|0)); + $27 = HEAP32[7677]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=30796; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7718] = $0; + HEAP32[7719] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7867,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[7677] = $1; + HEAP32[7676] = $2; + HEAP32[7718] = $1; + HEAP32[7719] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[741]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (33519 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[740] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (33513 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13808; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[740] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[8091] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[8090] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4430,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4448,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4466,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4484,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4502)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4504,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4539)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[7756] = 1; + $27 = (_eglGetProcAddress((4566|0))|0); + HEAP32[7757] = $27; + $28 = (_eglGetProcAddress((4587|0))|0); + HEAP32[7758] = $28; + $29 = (_eglGetProcAddress((4608|0))|0); + HEAP32[7759] = $29; + } + $30 = (_strcmp($24,4632)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[7698] = 1; + } + $32 = (_strcmp($24,4652)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4684)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4717)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[7693] = 1; + } + $39 = (_strcmp($24,4757)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4793)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[7694] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4826)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[7695] = 1; + } + $47 = (_strcmp($44,4851)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[7696] = 1; + } + $49 = (_strcmp($44,4884)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[7697] = 1; + } + $51 = (_strcmp($44,4920)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[7760] = 1; + _glGetFloatv(34047,(31044|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4954)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[7762] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[7756]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5057,$vararg_buffer15); + } else { + _TraceLog(0,4982,$vararg_buffer13); + } + $57 = HEAP32[7698]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5193,$vararg_buffer19); + } else { + _TraceLog(0,5118,$vararg_buffer17); + } + $59 = HEAP32[7693]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5285,$vararg_buffer21); + } + $61 = HEAP32[7694]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5331,$vararg_buffer23); + } + $63 = HEAP32[7695]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5378,$vararg_buffer25); + } + $65 = HEAP32[7696]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5429,$vararg_buffer27); + } + $67 = HEAP32[7697]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5476,$vararg_buffer29); + } + $69 = HEAP32[7760]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[7761]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5523,$vararg_buffer31); + } + $73 = HEAP32[7762]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5589,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[7763] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5693,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5642,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=31056; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=31112; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[7792] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[7792]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[7793] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[7794] = 1; + $85 = HEAP32[7763]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[7795] = 4; + _MatrixIdentity($4); + dest=31184; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31248); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31312); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31376); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31440); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31504); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31568); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31632); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31696); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31760); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31824); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31888); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(31952); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32016); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(32144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=30892; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=30956; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[7722] = 30956; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[8052] = $0; + HEAP32[8053] = $1; + _TraceLog(0,5732,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7720]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[7721]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[7718]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[7719]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 30892; + label = 3; + break; + } + case 5888: { + $modelview$sink = 30956; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[7722] = $modelview$sink; + } + HEAP32[7755] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[7722]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[7722]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6308|0),489)|0; + _memcpy(($3|0),(6797|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7286,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7238,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(32228)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(32236)>>2] = $1; + HEAP32[(32232)>>2] = 0; + HEAP32[(32240)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(32236)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[8054] = 0; + HEAP32[(32224)>>2] = 0; + HEAP32[(32220)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(32276)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(32284)>>2] = $6; + HEAP32[(32280)>>2] = 0; + HEAP32[(32288)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(32284)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[8066] = 0; + HEAP32[(32272)>>2] = 0; + HEAP32[(32268)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(32324)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(32328)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(32332)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(32336)>>2] = $13; + $14 = HEAP32[(32324)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(32328)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(32332)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(32336)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[8078] = 0; + HEAP32[(32316)>>2] = 0; + HEAP32[(32320)>>2] = 0; + _TraceLog(0,5779,$vararg_buffer); + $20 = HEAP32[7756]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[7757]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32244)); + $44 = HEAP32[7758]|0; + $45 = HEAP32[(32244)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((32248)|0)); + $46 = HEAP32[(32248)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(32228)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(31116)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(31116)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((32252)|0)); + $50 = HEAP32[(32252)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(32236)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(31136)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(31136)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[7756]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(32248)>>2]|0; + $58 = HEAP32[(32252)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5917,$vararg_buffer3); + } else { + $56 = HEAP32[(32244)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5852,$vararg_buffer1); + } + $59 = HEAP32[7756]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[7757]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32292)); + $62 = HEAP32[7758]|0; + $63 = HEAP32[(32292)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((32296)|0)); + $64 = HEAP32[(32296)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(32276)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(31116)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(31116)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32300)|0)); + $68 = HEAP32[(32300)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(32284)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(31136)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(31136)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[7756]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(32296)>>2]|0; + $76 = HEAP32[(32300)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6063,$vararg_buffer10); + } else { + $74 = HEAP32[(32292)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5994,$vararg_buffer7); + } + $77 = HEAP32[7756]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[7757]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32340)); + $80 = HEAP32[7758]|0; + $81 = HEAP32[(32340)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((32344)|0)); + $82 = HEAP32[(32344)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(32324)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(31116)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(31116)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((32348)|0)); + $86 = HEAP32[(32348)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(32328)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(31120)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(31120)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((32352)|0)); + $90 = HEAP32[(32352)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(32332)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(31136)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(31136)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((32356)|0)); + $94 = HEAP32[(32356)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(32336)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[7756]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(32344)>>2]|0; + $100 = HEAP32[(32348)>>2]|0; + $101 = HEAP32[(32352)>>2]|0; + $102 = HEAP32[(32356)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6209,$vararg_buffer17); + } else { + $98 = HEAP32[(32340)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6144,$vararg_buffer14); + } + $103 = HEAP32[7756]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[7758]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7542,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7490,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7539,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7643,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7592,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7539,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7334|0)); + _glBindAttribLocation(($20|0),1,(7349|0)); + _glBindAttribLocation(($20|0),2,(7380|0)); + _glBindAttribLocation(($20|0),3,(7407|0)); + _glBindAttribLocation(($20|0),4,(7393|0)); + _glBindAttribLocation(($20|0),5,(7364|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7695,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7539,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7741,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7334|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7349|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7364|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7380|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7393|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7407|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7419|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7429|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7440|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7451|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7463|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7472|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7481|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33513 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33516 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33513 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (33516 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[7675]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8053,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[30740>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[30740+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[30740+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[30740+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[30740+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(30768)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(31052|0)); + $0 = HEAP32[7763]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8080,$vararg_buffer); + $1 = HEAP32[7793]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[7764]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[7756]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[7758]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((32248)|0)); + _glDeleteBuffers(1,((32252)|0)); + _glDeleteBuffers(1,((32296)|0)); + _glDeleteBuffers(1,((32300)|0)); + _glDeleteBuffers(1,((32344)|0)); + _glDeleteBuffers(1,((32348)|0)); + _glDeleteBuffers(1,((32352)|0)); + _glDeleteBuffers(1,((32356)|0)); + $3 = HEAP32[7756]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7759]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32244)); + $6 = HEAP32[7759]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32292)); + $7 = HEAP32[7759]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32340)); + } + $8 = HEAP32[(32228)>>2]|0; + _free($8); + $9 = HEAP32[(32236)>>2]|0; + _free($9); + $10 = HEAP32[(32276)>>2]|0; + _free($10); + $11 = HEAP32[(32284)>>2]|0; + _free($11); + $12 = HEAP32[(32324)>>2]|0; + _free($12); + $13 = HEAP32[(32328)>>2]|0; + _free($13); + $14 = HEAP32[(32332)>>2]|0; + _free($14); + $15 = HEAP32[(32336)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8145,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _WindowShouldClose() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8090]|0; + $1 = ($0|0)==(0); + if (!($1)) { + while(1) { + _glfwWaitEvents(); + $2 = HEAP32[8090]|0; + $3 = ($2|0)==(0); + if ($3) { + break; + } + } + } + $4 = HEAP32[7675]|0; + $5 = (_glfwWindowShouldClose(($4|0))|0); + return ($5|0); +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1745] = $0; + $1 = +HEAPF64[1728]; + $2 = $0 - $1; + HEAPF64[1746] = $2; + HEAPF64[1728] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=30796; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(32368); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[8092] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(32372)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(32376)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(32380)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(32384)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(32388)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(32392)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(32396)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(32400)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(32404)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(32408)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(32412)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(32416)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(32420)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(32424)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(32428)>>2] = $31; + return (32368|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[7722]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1745] = $0; + $1 = +HEAPF64[1728]; + $2 = $0 - $1; + HEAPF64[1747] = $2; + HEAPF64[1728] = $0; + $3 = +HEAPF64[1746]; + $4 = $2 + $3; + HEAPF64[1748] = $4; + $5 = +HEAPF64[1725]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1745] = $10; + $11 = +HEAPF64[1728]; + $12 = $10 - $11; + HEAPF64[1728] = $10; + $13 = +HEAPF64[1748]; + $14 = $12 + $13; + HEAPF64[1748] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[7675]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[740] = -1; + HEAP32[742] = -1; + HEAP32[8108] = 0; + $3 = HEAP32[7675]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3448] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13796)>>2] = $7; + _memcpy((34031|0),(33519|0),512)|0; + ;HEAP8[33516>>0]=HEAP8[33513>>0]|0;HEAP8[33516+1>>0]=HEAP8[33513+1>>0]|0;HEAP8[33516+2>>0]=HEAP8[33513+2>>0]|0; + $8 = HEAP32[8091]|0; + HEAP32[7678] = $8; + HEAP32[8091] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (34543 + ($$05160<<5)|0); + $scevgep67 = (34671 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((34671 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[742] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((32436 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[8108] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8054]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[7756]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[7758]|0; + $5 = HEAP32[(32244)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(32248)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[8054]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(32228)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(32252)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(32224)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(32236)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[8066]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[7756]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[7758]|0; + $19 = HEAP32[(32292)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(32296)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[8066]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(32276)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(32300)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(32272)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(32284)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[8078]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[7756]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[7758]|0; + $33 = HEAP32[(32340)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(32344)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[8078]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(32324)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(32348)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[8078]|0; + $40 = $39 << 3; + $41 = HEAP32[(32328)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(32352)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[8078]|0; + $44 = $43 << 2; + $45 = HEAP32[(32332)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[7756]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[7758]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=30892; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=30956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[8141]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[8054]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[8066]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[8078]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[7778]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=30956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=30892; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(31140)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(31144)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(31156)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[8054]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[7763]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[7756]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(32248)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(31116)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(31116)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(32252)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(31136)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(31136)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[7758]|0; + $25 = HEAP32[(32244)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[8054]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[7756]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[8066]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[7763]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[7756]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(32296)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(31116)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(31116)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(32300)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(31136)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(31136)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[7758]|0; + $41 = HEAP32[(32292)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[8066]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[7756]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[8078]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[7756]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(32344)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(31116)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(31116)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(32348)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(31120)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(31120)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(32352)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(31136)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(31136)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(32356)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[7758]|0; + $56 = HEAP32[(32340)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[7794]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[7793]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[7793]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[7794]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[7756]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[7756]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[7758]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[7794] = 1; + $5 = HEAP32[7763]|0; + $6 = HEAP32[7793]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[8054] = 0; + HEAP32[(32224)>>2] = 0; + HEAP32[8066] = 0; + HEAP32[(32272)>>2] = 0; + HEAP32[8078] = 0; + HEAP32[(32316)>>2] = 0; + HEAP32[(32320)>>2] = 0; + HEAPF32[743] = -1.0; + dest=30892; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=30956; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[8052]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[8053]|0; + _rlViewport($7,0,$8,$9); + $10 = (32796 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (32668 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=30956; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=30892; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[8231]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8195,$vararg_buffer); + } + $2 = HEAP32[8231]|0; + $3 = (31184 + ($2<<6)|0); + $4 = HEAP32[7722]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[8231]|0; + $6 = (($5) + 1)|0; + HEAP32[8231] = $6; + $7 = HEAP32[7755]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[8232] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8231]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[8231]|0; + $3 = (($2) + -1)|0; + $4 = (31184 + ($3<<6)|0); + $5 = HEAP32[7722]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[8231] = $6; + return; +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[33512] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[7680] = 1; + } + $3 = HEAP8[33512]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[7717] = 1; + return; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (33519 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (34031 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[7722]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[7722]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[7795] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[8232]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[8233]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[7792]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[7722]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[8233]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[8232] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[7792]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[8233]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[8232] = 0; + } + HEAP32[8233] = 0; + } + $21 = HEAP32[7795]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[8054]|0; + $23 = HEAP32[(32224)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(32236)>>2]|0; + $28 = HEAP32[(32224)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(32236)>>2]|0; + $35 = HEAP32[(32224)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(32236)>>2]|0; + $43 = HEAP32[(32224)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(32236)>>2]|0; + $51 = HEAP32[(32224)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(32224)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(32224)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[8066]|0; + $62 = HEAP32[(32272)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(32284)>>2]|0; + $67 = HEAP32[(32272)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(32284)>>2]|0; + $74 = HEAP32[(32272)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(32284)>>2]|0; + $82 = HEAP32[(32272)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(32284)>>2]|0; + $90 = HEAP32[(32272)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(32272)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(32272)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[8078]|0; + $101 = HEAP32[(32320)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(32332)>>2]|0; + $106 = HEAP32[(32320)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(32332)>>2]|0; + $113 = HEAP32[(32320)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(32332)>>2]|0; + $121 = HEAP32[(32320)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(32332)>>2]|0; + $129 = HEAP32[(32320)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(32320)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(32320)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[8078]|0; + $140 = HEAP32[(32316)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(32328)>>2]|0; + $$promoted = HEAP32[(32316)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(32316)>>2] = $147; + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[743]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[743] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[8232]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[7792]|0; + $6 = HEAP32[8233]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[8233] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[7795]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[8054]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(32228)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[8054] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8233,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[8066]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(32276)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[8066] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8258,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[8078]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(32324)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[8078] = $41; + $42 = HEAP32[7793]|0; + $43 = HEAP32[7794]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8287,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[743]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[7795]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(32328)>>2]|0; + $5 = HEAP32[(32316)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(32316)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[7795]|0; + switch ($4|0) { + case 1: { + $$sink37 = (32224);$$sink38 = (32236); + break; + } + case 4: { + $$sink37 = (32272);$$sink38 = (32284); + break; + } + case 7: { + $$sink37 = (32320);$$sink38 = (32332); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[7793]|0; + $2 = HEAP32[7794]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[7794] = $10; + } + $11 = HEAP32[7794]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[8078]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _DrawLineV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $3 = HEAP8[$2>>0]|0; + $4 = ((($2)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($2)) + 2|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($2)) + 3|0); + $9 = HEAP8[$8>>0]|0; + _rlColor4ub($3,$5,$7,$9); + $10 = +HEAPF32[$0>>2]; + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + _rlVertex2f($10,$12); + $13 = +HEAPF32[$1>>2]; + $14 = ((($1)) + 4|0); + $15 = +HEAPF32[$14>>2]; + _rlVertex2f($13,$15); + _rlEnd(); + return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[30740>>2]|0;HEAP32[$0+4>>2]=HEAP32[30740+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[30740+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[30740+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[30740+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[30740+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[30740+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[30740+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8312)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8316)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8320)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8324)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8330)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8368)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8387; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8400)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8421; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8436)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8451; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8466)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8481; + } + } else { + HEAP32[$3>>2] = 8352; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8496)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8510)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8522)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8536)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8548)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8562)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8576)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8593)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8616)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8642)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8655)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8671)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8684)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8698)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8718)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8738)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8755)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8772)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8784)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8797)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8813)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8836)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8849)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8865)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8876)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8895)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8917)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8936)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8965)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8982)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8997)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,9012)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9033)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9053)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9073)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9099)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9118)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9130)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9142)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9154)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9166)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9178)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9190)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9202)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9214)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9227)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9240)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9253)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9266)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9279)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9292)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9305)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9318)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9337)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9356)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9375)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9388)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9406)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9424)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9442)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9460)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9480)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8421)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9498)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9513)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9534)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9549)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9567)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9583)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9602)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9616)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9631)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8352)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9642)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8451)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8481)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9658)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9685)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9699)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8387)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9719)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9737)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9749)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9770)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9788)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9806)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9827)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9853)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9876)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9914)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9930)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9945)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9968)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9981)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9995)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,10009)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10029)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10049)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10065)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10083)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10099)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10114)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10136)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10154)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10175)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10193)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10206)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 1; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10221)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10235)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10245)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10255)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10277)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10303)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10330)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10343)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10358)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10373)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 2; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10397)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10408)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10430)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10452)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10476)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 3; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10485)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 4; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10493)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10506)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10520)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10532)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10541)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10551)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10563)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10574)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10582)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10594)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10609)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10621)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10635)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10660)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10677)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10693)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10709)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10721)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10733)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10757)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10770)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10784)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10806)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10813)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10829)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10846)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10863)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10879)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10895)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10912)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10926)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10938)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10949)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10962)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10972)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10989)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,11001)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11023)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11043)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11056)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11078)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11098)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11115)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11132)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11152)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (32936|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (2976|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|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] = 8; + $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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11268 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11732;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11732;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11732 : (11734); + $$$ = $238 ? $$ : (11733); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11732;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11732;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11742; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11732;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11732 + ($208)|0); + $$289 = $or$cond283 ? 11732 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11732;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (11784 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11749; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11750) : (11755); + $$$ = $16 ? $$ : (11752); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11784 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11800,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11800,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11768 : 11772; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11776 : 11780; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (11802 + ($$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 = 11890;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11890; + } else { + $$01214 = 11890;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33000|0)); + return (33008|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33000|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[837]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[837]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 13992; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + var $0 = 0, $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; + $0 = 13992; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 13992; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[805]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[8253]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[8253] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8253] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8253] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8253] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[8254]|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 = (33056 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[8254] = $24; + } else { + $25 = HEAP32[(33032)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(33024)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (33056 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[8254] = $77; + $98 = $77; + } else { + $78 = HEAP32[(33032)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(33036)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (33056 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[8254] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(33032)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(33024)>>2] = $84; + HEAP32[(33036)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(33020)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (33320 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(33032)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (33320 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(33020)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(33032)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(33032)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(33032)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(33036)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (33056 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[8254] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(33032)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(33024)>>2] = $$0193$lcssa$i; + HEAP32[(33036)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(33020)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (33320 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (33320 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(33024)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(33032)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (33320 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(33020)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(33032)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(33032)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(33032)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (33056 + ($425<<2)|0); + $427 = HEAP32[8254]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[8254] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(33032)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (33320 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(33020)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(33032)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(33032)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(33024)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(33036)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(33036)>>2] = $511; + HEAP32[(33024)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(33024)>>2] = 0; + HEAP32[(33036)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(33028)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(33028)>>2] = $526; + $527 = HEAP32[(33040)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(33040)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[8372]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(33496)>>2] = 4096; + HEAP32[(33492)>>2] = 4096; + HEAP32[(33500)>>2] = -1; + HEAP32[(33504)>>2] = -1; + HEAP32[(33508)>>2] = 0; + HEAP32[(33460)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[8372] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(33496)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(33456)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(33448)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(33460)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(33040)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (33464); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(33492)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(33448)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(33456)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(33496)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(33460)>>2]|0; + $612 = $611 | 4; + HEAP32[(33460)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(33448)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(33448)>>2] = $627; + $628 = HEAP32[(33452)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(33452)>>2] = $627; + } + $630 = HEAP32[(33040)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(33032)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(33032)>>2] = $$749$i; + } + HEAP32[(33464)>>2] = $$749$i; + HEAP32[(33468)>>2] = $$723948$i; + HEAP32[(33476)>>2] = 0; + $635 = HEAP32[8372]|0; + HEAP32[(33052)>>2] = $635; + HEAP32[(33048)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (33056 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(33040)>>2] = $649; + HEAP32[(33028)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(33504)>>2]|0; + HEAP32[(33044)>>2] = $655; + } else { + $$024371$i = (33464); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(33028)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(33040)>>2] = $679; + HEAP32[(33028)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(33504)>>2]|0; + HEAP32[(33044)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(33032)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(33032)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (33464); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(33028)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(33028)>>2] = $727; + HEAP32[(33040)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(33036)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(33024)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(33024)>>2] = $733; + HEAP32[(33036)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (33056 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[8254]|0; + $760 = $759 & $758; + HEAP32[8254] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (33320 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(33020)>>2]|0; + $803 = $802 & $801; + HEAP32[(33020)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(33032)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(33032)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(33032)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (33056 + ($836<<2)|0); + $838 = HEAP32[8254]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[8254] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(33032)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (33320 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(33020)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(33020)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(33032)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(33032)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (33464); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(33040)>>2] = $946; + HEAP32[(33028)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(33504)>>2]|0; + HEAP32[(33044)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(33464)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(33464)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(33464)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(33464)+12>>2]|0; + HEAP32[(33464)>>2] = $$749$i; + HEAP32[(33468)>>2] = $$723948$i; + HEAP32[(33476)>>2] = 0; + HEAP32[(33472)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (33056 + ($968<<2)|0); + $970 = HEAP32[8254]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[8254] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(33032)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (33320 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(33020)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(33020)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(33032)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(33032)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(33028)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(33028)>>2] = $1050; + $1051 = HEAP32[(33040)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(33040)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(33032)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(33036)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(33024)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (33056 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[8254]|0; + $38 = $37 & $36; + HEAP32[8254] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (33320 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(33020)>>2]|0; + $81 = $80 & $79; + HEAP32[(33020)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(33032)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(33032)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(33032)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(33040)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(33036)>>2]|0; + if ($121) { + $123 = HEAP32[(33028)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(33028)>>2] = $124; + HEAP32[(33040)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(33036)>>2] = 0; + HEAP32[(33024)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(33024)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(33024)>>2] = $130; + HEAP32[(33036)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (33056 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(33032)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[8254]|0; + $154 = $153 & $152; + HEAP32[8254] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(33032)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(33032)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(33032)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (33320 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(33020)>>2]|0; + $200 = $199 & $198; + HEAP32[(33020)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(33032)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(33032)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(33032)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(33036)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(33024)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (33056 + ($234<<2)|0); + $236 = HEAP32[8254]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[8254] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(33032)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (33320 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(33020)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(33020)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(33032)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(33032)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(33048)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(33048)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (33472); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(33048)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_PhysicsLoop,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/physac/physics_shatter.png b/docs/examples/web/physac/physics_shatter.png new file mode 100644 index 00000000..68f9a1b7 Binary files /dev/null and b/docs/examples/web/physac/physics_shatter.png differ diff --git a/docs/examples/web/shaders/resources/fudesumi.png b/docs/examples/web/shaders/resources/fudesumi.png new file mode 100644 index 00000000..8ba983dc Binary files /dev/null and b/docs/examples/web/shaders/resources/fudesumi.png differ diff --git a/docs/examples/web/shaders/resources/sonic.png b/docs/examples/web/shaders/resources/sonic.png deleted file mode 100644 index 7a096847..00000000 Binary files a/docs/examples/web/shaders/resources/sonic.png and /dev/null differ diff --git a/docs/examples/web/shaders/shaders_custom_uniform.js b/docs/examples/web/shaders/shaders_custom_uniform.js index e3488076..db7cf56e 100644 --- a/docs/examples/web/shaders/shaders_custom_uniform.js +++ b/docs/examples/web/shaders/shaders_custom_uniform.js @@ -185,7 +185,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024528, "filename": "/resources/shaders/glsl100/swirl.fs"}], "remote_package_size": 4024528, "package_uuid": "33a05fe0-9802-46ef-8b6b-ffcb4955ff56"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024528, "filename": "/resources/shaders/glsl100/swirl.fs"}], "remote_package_size": 4024528, "package_uuid": "010211d3-4fc3-4a57-a8ff-1c7b4cfb038d"}); })(); @@ -1778,12 +1778,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24512; +STATICTOP = STATIC_BASE + 24496; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,115,116,111,109,32,117,110,105,102,111,114,109,32,118,97,114,105,97,98,108,101,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,115,119,105,114,108,46,102,115,0,99,101,110,116,101,114,0,84,69,88,84,32,68,82,65,87,78,32,73,78,32,82,69,78,68,69,82,32,84,69,88,84,85,82,69,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,108,111,99,97,116,105,111,110,32,102,111,114,32,37,115,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,83,104,97,100,101,114,32,118,97,108,117,101,32,102,108,111,97,116,32,97,114,114,97,121,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,167,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,115,116,111,109,32,117,110,105,102,111,114,109,32,118,97,114,105,97,98,108,101,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,115,119,105,114,108,46,102,115,0,99,101,110,116,101,114,0,84,69,88,84,32,68,82,65,87,78,32,73,78,32,82,69,78,68,69,82,32,84,69,88,84,85,82,69,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,108,111,99,97,116,105,111,110,32,102,111,114,32,37,115,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,83,104,97,100,101,114,32,118,97,108,117,101,32,102,108,111,97,116,32,97,114,114,97,121,32,115,105,122,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10665,34 +10665,34 @@ function _main() { $5 = HEAP32[3]|0; _InitWindow($4,$5,4448); _LoadModel($0,4499); - _memcpy((18508|0),($0|0),264)|0; + _memcpy((18812|0),($0|0),264)|0; _LoadTexture($1,4525); - ;HEAP32[18772>>2]=HEAP32[$1>>2]|0;HEAP32[18772+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18772+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18772+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18772+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18696)>>2]=HEAP32[$1>>2]|0;HEAP32[(18696)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18696)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18696)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18696)+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19076>>2]=HEAP32[$1>>2]|0;HEAP32[19076+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19076+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19076+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19076+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(19000)>>2]=HEAP32[$1>>2]|0;HEAP32[(19000)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(19000)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(19000)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(19000)+16>>2]=HEAP32[$1+16>>2]|0; _LoadShader($2,4559,4593); - dest=18792; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$dwarf$byval_copy; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $6 = (_GetShaderLocation($dwarf$byval_copy,4628)|0); - HEAP32[4712] = $6; + HEAP32[4788] = $6; $7 = HEAP32[2]|0; $8 = (+($7|0)); $9 = $8 * 0.5; - HEAPF32[4713] = $9; + HEAPF32[4789] = $9; $10 = HEAP32[3]|0; $11 = (+($10|0)); $12 = $11 * 0.5; - HEAPF32[(18856)>>2] = $12; + HEAPF32[(19160)>>2] = $12; $13 = HEAP32[2]|0; _LoadRenderTexture($3,$13,$10); - dest=18860; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19164; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$dwarf$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($dwarf$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - dest=$dwarf$byval_copy; src=18792; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$dwarf$byval_copy; src=19096; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadShader($dwarf$byval_copy); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18772>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18772+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18772+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18772+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18772+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[19076>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[19076+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[19076+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[19076+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[19076+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(18508|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18812|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10717,16 +10717,16 @@ function _UpdateDrawFrame() { $7 = sp + 400|0; _GetMousePosition($0); $8 = HEAP32[$0>>2]|0; - HEAP32[4713] = $8; + HEAP32[4789] = $8; $9 = HEAP32[3]|0; $10 = (+($9|0)); $11 = ((($0)) + 4|0); $12 = +HEAPF32[$11>>2]; $13 = $10 - $12; - HEAPF32[(18856)>>2] = $13; - $14 = HEAP32[4712]|0; - dest=$$byval_copy6; src=18792; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetShaderValue($$byval_copy6,$14,18852,2); + HEAPF32[(19160)>>2] = $13; + $14 = HEAP32[4788]|0; + dest=$$byval_copy6; src=19096; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetShaderValue($$byval_copy6,$14,19156,2); _UpdateCamera(16); _BeginDrawing(); HEAP8[$1>>0] = -11; @@ -10738,13 +10738,13 @@ function _UpdateDrawFrame() { HEAP8[$17>>0] = -1; ;HEAP8[$$byval_copy6>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$1+3>>0]|0; _ClearBackground($$byval_copy6); - dest=$$byval_copy6; src=18860; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy6; src=19164; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginTextureMode($$byval_copy6); dest=$$byval_copy6; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy6); HEAP32[$2>>2] = -1; - _memcpy(($$byval_copy4|0),(18508|0),264)|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[18496>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[18496+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[18496+8>>2]|0; + _memcpy(($$byval_copy4|0),(18812|0),264)|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[18800>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[18800+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[18800+8>>2]|0; ;HEAP8[$$byval_copy6>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$2+3>>0]|0; _DrawModel($$byval_copy4,$$byval_copy5,2.0,$$byval_copy6); _DrawGrid(10,1.0); @@ -10759,23 +10759,23 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy6>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$3+3>>0]|0; _DrawText(4635,200,10,30,$$byval_copy6); _EndTextureMode(); - dest=$$byval_copy6; src=18792; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy6; src=19096; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($$byval_copy6); HEAP32[$4>>2] = 0; $21 = ((($4)) + 4|0); HEAP32[$21>>2] = 0; $22 = ((($4)) + 8|0); - $23 = HEAP32[(18868)>>2]|0; + $23 = HEAP32[(19172)>>2]|0; HEAP32[$22>>2] = $23; $24 = ((($4)) + 12|0); - $25 = HEAP32[(18872)>>2]|0; + $25 = HEAP32[(19176)>>2]|0; $26 = (0 - ($25))|0; HEAP32[$24>>2] = $26; HEAPF32[$5>>2] = 0.0; $27 = ((($5)) + 4|0); HEAPF32[$27>>2] = 0.0; HEAP32[$6>>2] = -1; - ;HEAP32[$$byval_copy3>>2]=HEAP32[(18864)>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[(18864)+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[(18864)+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[(18864)+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[(18864)+16>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[(19168)>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[(19168)+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[(19168)+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[(19168)+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[(19168)+16>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$4+12>>2]|0; ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; ;HEAP8[$$byval_copy6>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy6+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy6+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy6+3>>0]=HEAP8[$6+3>>0]|0; @@ -10798,30 +10798,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10974,13 +11024,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11969,7 +12012,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4727] = $2; + HEAP32[4803] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11982,7 +12025,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18216; + $95 = 18520; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11995,48 +12038,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18256; + $106 = 18560; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4564]; - $111 = +HEAPF32[4554]; + $110 = +HEAPF32[4640]; + $111 = +HEAPF32[4630]; $112 = $110 - $111; - HEAPF32[4566] = $112; - $113 = +HEAPF32[(18260)>>2]; - $114 = +HEAPF32[(18220)>>2]; + HEAPF32[4642] = $112; + $113 = +HEAPF32[(18564)>>2]; + $114 = +HEAPF32[(18524)>>2]; $115 = $113 - $114; - HEAPF32[(18268)>>2] = $115; - HEAP32[4726] = 4; + HEAPF32[(18572)>>2] = $115; + HEAP32[4802] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18552+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4732] = $116; - $117 = 18248; + HEAPF32[4808] = $116; + $117 = 18552; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18216; + $123 = 18520; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18272; + $127 = 18576; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18256; + $133 = 18560; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12049,7 +12092,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18248; + $144 = 18552; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12062,27 +12105,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18272; + $155 = 18576; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4568]; - $160 = +HEAPF32[4562]; + $159 = +HEAPF32[4644]; + $160 = +HEAPF32[4638]; $161 = $159 - $160; - HEAPF32[4566] = $161; - $162 = +HEAPF32[(18276)>>2]; - $163 = +HEAPF32[(18252)>>2]; + HEAPF32[4642] = $161; + $162 = +HEAPF32[(18580)>>2]; + $163 = +HEAPF32[(18556)>>2]; $164 = $162 - $163; - HEAPF32[(18268)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18248+4>>2]|0; + HEAPF32[(18572)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18552+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18256>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18256+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18560+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12094,31 +12137,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18552+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4732]; + $170 = +HEAPF32[4808]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4726] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18248+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18272>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18272+4>>2]|0; + HEAP32[4802] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18552+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18576+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4733] = $174; + HEAPF32[4809] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4732] = 0.0; - HEAPF32[4733] = 0.0; - HEAPF32[4566] = 0.0; - HEAPF32[(18268)>>2] = 0.0; - HEAP32[4727] = 0; - HEAP32[4726] = 0; + HEAPF32[4808] = 0.0; + HEAPF32[4809] = 0.0; + HEAPF32[4642] = 0.0; + HEAPF32[(18572)>>2] = 0.0; + HEAP32[4803] = 0; + HEAP32[4802] = 0; STACKTOP = sp;return; break; } @@ -12128,22 +12171,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4728]|0; + $6 = HEAP32[4804]|0; $7 = (($6) + 1)|0; - HEAP32[4728] = $7; - $8 = HEAP32[4726]|0; + HEAP32[4804] = $7; + $8 = HEAP32[4802]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4726] = 2; - HEAP32[4728] = 0; + HEAP32[4802] = 2; + HEAP32[4804] = 0; } else { label = 6; } @@ -12151,8 +12194,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4728] = 1; - HEAP32[4726] = 1; + HEAP32[4804] = 1; + HEAP32[4802] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12161,19 +12204,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18216; + $21 = 18520; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18224; + $25 = 18528; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18232; + $29 = 18536; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12182,13 +12225,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4560] = 0.0; - HEAPF32[(18244)>>2] = 0.0; + HEAPF32[4636] = 0.0; + HEAPF32[(18548)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4726]|0; + $35 = HEAP32[4802]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12198,19 +12241,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18232; + $44 = 18536; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18536+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4729] = $49; - HEAP32[4730] = 0; + HEAPF32[4805] = $49; + HEAP32[4806] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -12218,11 +12261,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18232+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18536+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4731] = $56; + HEAPF32[4807] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12253,22 +12296,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4729] = 0.0; - HEAPF32[4731] = 0.0; + HEAPF32[4805] = 0.0; + HEAPF32[4807] = 0.0; $$sink10 = 0; } - HEAP32[4726] = $$sink10; - HEAPF32[4556] = 0.0; - HEAPF32[(18228)>>2] = 0.0; - HEAP32[4727] = 0; + HEAP32[4802] = $$sink10; + HEAPF32[4632] = 0.0; + HEAPF32[(18532)>>2] = 0.0; + HEAP32[4803] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4730]|0; + $65 = HEAP32[4806]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4730] = 1; + HEAP32[4806] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12277,31 +12320,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18248; + $74 = 18552; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4726]|0; + $78 = HEAP32[4802]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18216>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18216+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18248>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18248+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18552+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4726] = 8; + HEAP32[4802] = 8; } } - $82 = +HEAPF32[4562]; - $83 = +HEAPF32[4556]; + $82 = +HEAPF32[4638]; + $83 = +HEAPF32[4632]; $84 = $82 - $83; - HEAPF32[4560] = $84; - $85 = +HEAPF32[(18252)>>2]; - $86 = +HEAPF32[(18228)>>2]; + HEAPF32[4636] = $84; + $85 = +HEAPF32[(18556)>>2]; + $86 = +HEAPF32[(18532)>>2]; $87 = $85 - $86; - HEAPF32[(18244)>>2] = $87; + HEAPF32[(18548)>>2] = $87; STACKTOP = sp;return; break; } @@ -12310,58 +12353,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4726]|0; + $0 = HEAP32[4802]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4727]|0; + $2 = HEAP32[4803]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4726] = 4; + HEAP32[4802] = 4; } - $4 = HEAP32[4726]|0; + $4 = HEAP32[4802]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12374,7 +12378,7 @@ function _UpdateGestures() { return; } } - HEAP32[4726] = 0; + HEAP32[4802] = 0; return; } function _SetCameraMode($0,$1) { @@ -12403,22 +12407,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4734] = $10; + HEAPF32[4810] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4735] = $16; + HEAPF32[4811] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4736] = $20; + HEAPF32[4812] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[15] = $21; - HEAP32[4737] = $1; + HEAP32[4813] = $1; return; } function _UpdateCamera($0) { @@ -12487,7 +12491,7 @@ function _UpdateCamera($0) { $30 = HEAP32[24]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4737]|0; + $32 = HEAP32[4813]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12559,9 +12563,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4570]; + $64 = +HEAPF32[4646]; $65 = $37 - $64; - $66 = +HEAPF32[(18284)>>2]; + $66 = +HEAPF32[(18588)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12569,11 +12573,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4570]; + $69 = +HEAPF32[4646]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(18284)>>2]; + $73 = +HEAPF32[(18588)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12585,16 +12589,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 18280; + $81 = 18584; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4737]|0; + $$pr = HEAP32[4813]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4734]; + $85 = +HEAPF32[4810]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12603,10 +12607,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4734] = $90; + HEAPF32[4810] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4734] = 120.0; + HEAPF32[4810] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12685,12 +12689,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4734] = $148; + HEAPF32[4810] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4734] = 0.30000001192092896; + HEAPF32[4810] = 0.30000001192092896; break; } } @@ -12712,7 +12716,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4734]; + $164 = +HEAPF32[4810]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12744,7 +12748,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4734]; + $188 = +HEAPF32[4810]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12768,12 +12772,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4734]; + $205 = +HEAPF32[4810]; $206 = $205 - $204; - HEAPF32[4734] = $206; + HEAPF32[4810] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4734] = 0.30000001192092896; + HEAPF32[4810] = 0.30000001192092896; } } } @@ -12787,17 +12791,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4735]; + $223 = +HEAPF32[4811]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4736]; + $229 = +HEAPF32[4812]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4734]; + $233 = +HEAPF32[4810]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12827,23 +12831,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4734]; + $212 = +HEAPF32[4810]; $213 = $211 + $212; - HEAPF32[4734] = $213; + HEAPF32[4810] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4735]; + $215 = +HEAPF32[4811]; $216 = $215 - $214; - HEAPF32[4735] = $216; + HEAPF32[4811] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4736]; + $218 = +HEAPF32[4812]; $219 = $218 - $217; - HEAPF32[4736] = $219; + HEAPF32[4812] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4736] = 1.483529806137085; + HEAPF32[4812] = 1.483529806137085; label = 58; break L1; } @@ -12852,32 +12856,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4736] = -1.483529806137085; + HEAPF32[4812] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4735]; + $254 = +HEAPF32[4811]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4735] = $255; + HEAPF32[4811] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4734]; + $258 = +HEAPF32[4810]; $259 = $258 - $257; - HEAPF32[4734] = $259; + HEAPF32[4810] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4734] = 1.2000000476837158; + HEAPF32[4810] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4735]; + $264 = +HEAPF32[4811]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12899,7 +12903,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4736]; + $285 = +HEAPF32[4812]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12967,14 +12971,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4735]; + $314 = +HEAPF32[4811]; $315 = $314 - $313; - HEAPF32[4735] = $315; + HEAPF32[4811] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4736]; + $317 = +HEAPF32[4812]; $318 = $317 - $316; - HEAPF32[4736] = $318; - $319 = HEAP32[4737]|0; + HEAPF32[4812] = $318; + $319 = HEAP32[4813]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12989,17 +12993,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4736] = $$sink26; + HEAPF32[4812] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4734]; + $325 = +HEAPF32[4810]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4734] = $storemerge; + HEAPF32[4810] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4735]; + $329 = +HEAPF32[4811]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -13030,17 +13034,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4736] = $$sink28; + HEAPF32[4812] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4735]; + $347 = +HEAPF32[4811]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4736]; + $353 = +HEAPF32[4812]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -13054,12 +13058,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4738]|0; + $364 = HEAP32[4814]|0; $365 = (($364) + 1)|0; - HEAP32[4738] = $365; + HEAP32[4814] = $365; } $366 = +HEAPF32[15]; - $367 = HEAP32[4738]|0; + $367 = HEAP32[4814]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -13089,7 +13093,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4737]|0; + $$pr190 = HEAP32[4813]|0; $380 = $$pr190; } switch ($380|0) { @@ -13100,11 +13104,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4735]; + $381 = +HEAPF32[4811]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4734]; + $383 = +HEAPF32[4810]; $384 = $382 * $383; - $385 = +HEAPF32[4736]; + $385 = +HEAPF32[4812]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -13113,7 +13117,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4734]; + $393 = +HEAPF32[4810]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -13137,7 +13141,7 @@ function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 18288; + $1 = 18592; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -13154,7 +13158,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4743]|0; + $0 = HEAP32[4819]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -13179,19 +13183,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4742]|0; + $0 = HEAP32[4818]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4741]|0; + $0 = HEAP32[4817]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4739] = 1; + HEAP32[4815] = 1; return; } function _SetMousePosition($0) { @@ -13204,13 +13208,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 18288; + $7 = 18592; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4740]|0; + $11 = HEAP32[4816]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13222,14 +13226,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4739] = 0; + HEAP32[4815] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4740]|0; + $1 = HEAP32[4816]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13237,7 +13241,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4740]|0; + $1 = HEAP32[4816]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13250,7 +13254,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4699,$vararg_buffer); - HEAP32[4744] = $2; + HEAP32[4820] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13263,15 +13267,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4728|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4742]|0; + $3 = HEAP32[4818]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4572] = $5; - $6 = HEAP32[4741]|0; + HEAPF32[4648] = $5; + $6 = HEAP32[4817]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18292)>>2] = $8; - $9 = HEAP32[4745]|0; + HEAPF32[(18596)>>2] = $8; + $9 = HEAP32[4821]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13290,11 +13294,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[18328>>0]=HEAP8[9228>>0]|0;HEAP8[18328+1>>0]=HEAP8[9228+1>>0]|0;HEAP8[18328+2>>0]=HEAP8[9228+2>>0]|0;HEAP8[18328+3>>0]=HEAP8[9228+3>>0]|0;HEAP8[18328+4>>0]=HEAP8[9228+4>>0]|0;HEAP8[18328+5>>0]=HEAP8[9228+5>>0]|0;HEAP8[18328+6>>0]=HEAP8[9228+6>>0]|0; + ;HEAP8[18632>>0]=HEAP8[9228>>0]|0;HEAP8[18632+1>>0]=HEAP8[9228+1>>0]|0;HEAP8[18632+2>>0]=HEAP8[9228+2>>0]|0;HEAP8[18632+3>>0]=HEAP8[9228+3>>0]|0;HEAP8[18632+4>>0]=HEAP8[9228+4>>0]|0;HEAP8[18632+5>>0]=HEAP8[9228+5>>0]|0;HEAP8[18632+6>>0]=HEAP8[9228+6>>0]|0; break; } case 1: { - $3 = 18328; + $3 = 18632; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13303,11 +13307,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=18328; src=9235; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18632; src=9235; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 18328; + $7 = 18632; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13318,16 +13322,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(18328,$1)|0); - $strlen = (_strlen(18328)|0); - $endptr = (18328 + ($strlen)|0); + (_strcat(18632,$1)|0); + $strlen = (_strlen(18632)|0); + $endptr = (18632 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(18328,$2)|0); + (_vprintf(18632,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13359,22 +13363,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4742] = $0; - HEAP32[4741] = $1; + HEAP32[4818] = $0; + HEAP32[4817] = $1; _MatrixIdentity($2); - dest=19056; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19360; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5370,$vararg_buffer); } - $6 = HEAP32[4742]|0; - HEAP32[4780] = $6; - $7 = HEAP32[4741]|0; - HEAP32[4781] = $7; + $6 = HEAP32[4818]|0; + HEAP32[4856] = $6; + $7 = HEAP32[4817]|0; + HEAP32[4857] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21800]|0; + $8 = HEAP8[22104]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13382,13 +13386,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21800]|0; + $11 = HEAP8[22104]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21800]|0; + $14 = HEAP8[22104]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13410,18 +13414,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4782]|0; + $21 = HEAP32[4858]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4742]|0; - $48 = HEAP32[4741]|0; - $49 = HEAP32[4744]|0; + $47 = HEAP32[4818]|0; + $48 = HEAP32[4817]|0; + $49 = HEAP32[4820]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4740] = $50; - $51 = HEAP32[4742]|0; - HEAP32[4783] = $51; - $52 = HEAP32[4741]|0; - HEAP32[4784] = $52; + HEAP32[4816] = $50; + $51 = HEAP32[4818]|0; + HEAP32[4859] = $51; + $52 = HEAP32[4817]|0; + HEAP32[4860] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13430,9 +13434,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4742]|0; + $27 = HEAP32[4818]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4741]|0; + $29 = HEAP32[4817]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13454,25 +13458,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4780] = $31; - HEAP32[4781] = $34; + HEAP32[4856] = $31; + HEAP32[4857] = $34; } } while(0); - $38 = HEAP32[4780]|0; - $39 = HEAP32[4781]|0; + $38 = HEAP32[4856]|0; + $39 = HEAP32[4857]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5421,$vararg_buffer3); - $40 = HEAP32[4780]|0; - $41 = HEAP32[4781]|0; + $40 = HEAP32[4856]|0; + $41 = HEAP32[4857]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4780]|0; - $43 = HEAP32[4781]|0; - $44 = HEAP32[4744]|0; + $42 = HEAP32[4856]|0; + $43 = HEAP32[4857]|0; + $44 = HEAP32[4820]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4740] = $46; + HEAP32[4816] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13481,60 +13485,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5459,$vararg_buffer6); } else { _TraceLog(0,5492,$vararg_buffer8); - $55 = HEAP32[4783]|0; - $56 = HEAP32[4784]|0; + $55 = HEAP32[4859]|0; + $56 = HEAP32[4860]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5532,$vararg_buffer10); - $57 = HEAP32[4742]|0; - $58 = HEAP32[4741]|0; + $57 = HEAP32[4818]|0; + $58 = HEAP32[4817]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5553,$vararg_buffer14); - $59 = HEAP32[4785]|0; - $60 = HEAP32[4786]|0; + $59 = HEAP32[4861]|0; + $60 = HEAP32[4862]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5574,$vararg_buffer18); } - $61 = HEAP32[4740]|0; + $61 = HEAP32[4816]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4740]|0; + $62 = HEAP32[4816]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4740]|0; + $63 = HEAP32[4816]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4740]|0; + $64 = HEAP32[4816]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4740]|0; + $65 = HEAP32[4816]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4740]|0; + $66 = HEAP32[4816]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4740]|0; + $67 = HEAP32[4816]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4740]|0; + $68 = HEAP32[4816]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4740]|0; + $69 = HEAP32[4816]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21800]|0; + $70 = HEAP8[22104]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4742]|0; - $74 = HEAP32[4741]|0; + $73 = HEAP32[4818]|0; + $74 = HEAP32[4817]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4783]|0; - $76 = HEAP32[4785]|0; + $75 = HEAP32[4859]|0; + $76 = HEAP32[4861]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4784]|0; - $80 = HEAP32[4786]|0; + $79 = HEAP32[4860]|0; + $80 = HEAP32[4862]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13553,18 +13557,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5599,$vararg_buffer22); - $73 = HEAP32[4742]|0; - $74 = HEAP32[4741]|0; + $73 = HEAP32[4818]|0; + $74 = HEAP32[4817]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4783]|0; - $76 = HEAP32[4785]|0; + $75 = HEAP32[4859]|0; + $76 = HEAP32[4861]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4784]|0; - $80 = HEAP32[4786]|0; + $79 = HEAP32[4860]|0; + $80 = HEAP32[4862]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13592,7 +13596,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19024)>>2] = 224; + HEAP32[(19328)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13633,27 +13637,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19000>>2]=HEAP32[$1>>2]|0;HEAP32[19000+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19000+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19000+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19000+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19304>>2]=HEAP32[$1>>2]|0;HEAP32[19304+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19304+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19304+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19304+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19024)>>2]|0; + $5 = HEAP32[(19328)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19028)>>2] = $7; + HEAP32[(19332)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19020)>>2] = $23; - $24 = HEAP32[4750]|0; + HEAP32[(19324)>>2] = $23; + $24 = HEAP32[4826]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4923,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19004)>>2]|0; - $10 = HEAP32[(19024)>>2]|0; - $11 = HEAP32[(19028)>>2]|0; + $9 = HEAP32[(19308)>>2]|0; + $10 = HEAP32[(19328)>>2]|0; + $11 = HEAP32[(19332)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13702,8 +13706,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19020)>>2] = $23; - $24 = HEAP32[4750]|0; + HEAP32[(19324)>>2] = $23; + $24 = HEAP32[4826]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4923,$vararg_buffer); STACKTOP = sp;return; @@ -13714,7 +13718,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2290] = $1; + HEAPF64[2328] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13873,7 +13877,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18304; + $31 = 18608; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13886,7 +13890,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18312); + $42 = (18616); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13942,7 +13946,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18984 + ($10<<2)|0); + $11 = (19288 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13956,7 +13960,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2287] = $$; + HEAPF64[2325] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13968,7 +13972,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4745] = 0; + HEAP32[4821] = 0; return; } function _GetTime() { @@ -14544,7 +14548,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4758]|0; + $6 = HEAP32[4834]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14554,7 +14558,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4759]|0; + $9 = HEAP32[4835]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14563,7 +14567,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4760]|0; + $12 = HEAP32[4836]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14573,7 +14577,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4761]|0; + $15 = HEAP32[4837]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14583,7 +14587,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4762]|0; + $18 = HEAP32[4838]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14627,7 +14631,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4758]|0; + $22 = HEAP32[4834]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14635,7 +14639,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4758]|0; + $24 = HEAP32[4834]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14643,7 +14647,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4758]|0; + $26 = HEAP32[4834]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14651,7 +14655,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4758]|0; + $28 = HEAP32[4834]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14659,7 +14663,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4759]|0; + $30 = HEAP32[4835]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14667,7 +14671,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4760]|0; + $32 = HEAP32[4836]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14675,7 +14679,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4760]|0; + $34 = HEAP32[4836]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14683,7 +14687,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4761]|0; + $36 = HEAP32[4837]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14691,7 +14695,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4761]|0; + $38 = HEAP32[4837]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14699,7 +14703,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4762]|0; + $40 = HEAP32[4838]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14707,7 +14711,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4762]|0; + $42 = HEAP32[4838]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14719,7 +14723,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4763]|0; + $44 = HEAP32[4839]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14734,7 +14738,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,12059,$vararg_buffer15); + _TraceLog(2,12367,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -15065,20 +15069,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4742]|0; + $3 = HEAP32[4818]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4741]|0; + $5 = HEAP32[4817]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4783] = $3; - HEAP32[4784] = $5; - HEAP32[4785] = 0; - HEAP32[4786] = 0; + HEAP32[4859] = $3; + HEAP32[4860] = $5; + HEAP32[4861] = 0; + HEAP32[4862] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -15092,9 +15096,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4742]|0; + $35 = HEAP32[4818]|0; $36 = (+($35|0)); - $37 = HEAP32[4741]|0; + $37 = HEAP32[4817]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -15102,26 +15106,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4783] = $45; - HEAP32[4784] = $37; + HEAP32[4859] = $45; + HEAP32[4860] = $37; $46 = (($45) - ($35))|0; - HEAP32[4785] = $46; + HEAP32[4861] = $46; $$sink1 = 0; } else { - HEAP32[4783] = $35; + HEAP32[4859] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4784] = $42; - HEAP32[4785] = 0; + HEAP32[4860] = $42; + HEAP32[4861] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4786] = $$sink1; + HEAP32[4862] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4741]|0; + $7 = HEAP32[4817]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -15131,11 +15135,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8981,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4742]|0; + $9 = HEAP32[4818]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4741]|0; + $13 = HEAP32[4817]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -15143,33 +15147,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4783] = $23; - HEAP32[4784] = $1; + HEAP32[4859] = $23; + HEAP32[4860] = $1; $24 = (($0) - ($23))|0; - HEAP32[4785] = $24; + HEAP32[4861] = $24; $$sink = 0; } else { - HEAP32[4783] = $0; - $17 = HEAP32[4741]|0; + HEAP32[4859] = $0; + $17 = HEAP32[4817]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4784] = $20; - HEAP32[4785] = 0; + HEAP32[4860] = $20; + HEAP32[4861] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4786] = $$sink; - $25 = HEAP32[4783]|0; + HEAP32[4862] = $$sink; + $25 = HEAP32[4859]|0; $26 = (+($25|0)); - $27 = HEAP32[4742]|0; + $27 = HEAP32[4818]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19056; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4783] = $0; - HEAP32[4784] = $1; + dest=19360; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4859] = $0; + HEAP32[4860] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -15191,10 +15195,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4742] = $1; - HEAP32[4741] = $2; - HEAP32[4783] = $1; - HEAP32[4784] = $2; + HEAP32[4818] = $1; + HEAP32[4817] = $2; + HEAP32[4859] = $1; + HEAP32[4860] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15221,7 +15225,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21807 + ($1)|0); + $9 = (22111 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15242,7 +15246,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21801 + ($1)|0); + $7 = (22105 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15321,7 +15325,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18304; + $15 = 18608; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15356,7 +15360,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5156] = $3; + HEAP32[5232] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15366,7 +15370,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5155] = $$sink; + HEAP32[5231] = $$sink; return; } function _rlglInit($0,$1) { @@ -15447,18 +15451,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5731)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4821] = 1; + HEAP32[4897] = 1; $27 = (_eglGetProcAddress((5758|0))|0); - HEAP32[4822] = $27; + HEAP32[4898] = $27; $28 = (_eglGetProcAddress((5779|0))|0); - HEAP32[4823] = $28; + HEAP32[4899] = $28; $29 = (_eglGetProcAddress((5800|0))|0); - HEAP32[4824] = $29; + HEAP32[4900] = $29; } $30 = (_strcmp($24,5824)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4763] = 1; + HEAP32[4839] = 1; } $32 = (_strcmp($24,5844)|0); $33 = ($32|0)==(0); @@ -15480,7 +15484,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4758] = 1; + HEAP32[4834] = 1; } $39 = (_strcmp($24,5949)|0); $40 = ($39|0)==(0); @@ -15496,35 +15500,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4759] = 1; + HEAP32[4835] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,6018)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4760] = 1; + HEAP32[4836] = 1; } $47 = (_strcmp($44,6043)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4761] = 1; + HEAP32[4837] = 1; } $49 = (_strcmp($44,6076)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4762] = 1; + HEAP32[4838] = 1; } $51 = (_strcmp($44,6112)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4825] = 1; - _glGetFloatv(34047,(19304|0)); + HEAP32[4901] = 1; + _glGetFloatv(34047,(19608|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6146)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4827] = 1; + HEAP32[4903] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15535,61 +15539,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4821]|0; + $21 = HEAP32[4897]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6249,$vararg_buffer15); } else { _TraceLog(0,6174,$vararg_buffer13); } - $57 = HEAP32[4763]|0; + $57 = HEAP32[4839]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6385,$vararg_buffer19); } else { _TraceLog(0,6310,$vararg_buffer17); } - $59 = HEAP32[4758]|0; + $59 = HEAP32[4834]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6477,$vararg_buffer21); } - $61 = HEAP32[4759]|0; + $61 = HEAP32[4835]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6523,$vararg_buffer23); } - $63 = HEAP32[4760]|0; + $63 = HEAP32[4836]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6570,$vararg_buffer25); } - $65 = HEAP32[4761]|0; + $65 = HEAP32[4837]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6621,$vararg_buffer27); } - $67 = HEAP32[4762]|0; + $67 = HEAP32[4838]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6668,$vararg_buffer29); } - $69 = HEAP32[4825]|0; + $69 = HEAP32[4901]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4826]; + $71 = +HEAPF32[4902]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6715,$vararg_buffer31); } - $73 = HEAP32[4827]|0; + $73 = HEAP32[4903]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6781,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4828] = $75; + HEAP32[4904] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6885,$vararg_buffer39); @@ -15598,14 +15602,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6834,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19316; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19372; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19620; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19676; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4857] = $77; + HEAP32[4933] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4857]|0; + $79 = HEAP32[4933]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15618,7 +15622,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4858] = $78; + HEAP32[4934] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15633,48 +15637,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4859] = 1; - $85 = HEAP32[4828]|0; + HEAP32[4935] = 1; + $85 = HEAP32[4904]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4860] = 4; + HEAP32[4936] = 4; _MatrixIdentity($4); - dest=19444; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19748; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19508); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19812); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19572); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19876); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19636); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19940); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19700); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20004); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19764); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20068); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19828); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20132); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19892); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20196); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19956); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20260); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20020); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20324); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20084); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20388); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20148); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20452); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20212); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20516); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20276); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20580); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20340); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20644); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20404); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20708); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=19152; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19456; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=19216; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4787] = 19216; + dest=19520; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4863] = 19520; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15685,21 +15689,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5117] = $0; - HEAP32[5118] = $1; + HEAP32[5193] = $0; + HEAP32[5194] = $1; _TraceLog(0,6924,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4785]|0; + $0 = HEAP32[4861]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4786]|0; + $2 = HEAP32[4862]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4783]|0; + $4 = HEAP32[4859]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4784]|0; + $6 = HEAP32[4860]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15710,12 +15714,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19152; + $modelview$sink = 19456; label = 3; break; } case 5888: { - $modelview$sink = 19216; + $modelview$sink = 19520; label = 3; break; } @@ -15723,9 +15727,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4787] = $modelview$sink; + HEAP32[4863] = $modelview$sink; } - HEAP32[4820] = $0; + HEAP32[4896] = $0; return; } function _rlLoadIdentity() { @@ -15733,7 +15737,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4787]|0; + $1 = HEAP32[4863]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -15754,7 +15758,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4787]|0; + $8 = HEAP32[4863]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15851,15 +15855,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20488)>>2] = $0; + HEAP32[(20792)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20496)>>2] = $1; - HEAP32[(20492)>>2] = 0; - HEAP32[(20500)>>2] = 0; + HEAP32[(20800)>>2] = $1; + HEAP32[(20796)>>2] = 0; + HEAP32[(20804)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20496)>>2]|0; + $2 = HEAP32[(20800)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15870,19 +15874,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5119] = 0; - HEAP32[(20484)>>2] = 0; - HEAP32[(20480)>>2] = 0; + HEAP32[5195] = 0; + HEAP32[(20788)>>2] = 0; + HEAP32[(20784)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20536)>>2] = $5; + HEAP32[(20840)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20544)>>2] = $6; - HEAP32[(20540)>>2] = 0; - HEAP32[(20548)>>2] = 0; + HEAP32[(20848)>>2] = $6; + HEAP32[(20844)>>2] = 0; + HEAP32[(20852)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20544)>>2]|0; + $7 = HEAP32[(20848)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15893,24 +15897,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5131] = 0; - HEAP32[(20532)>>2] = 0; - HEAP32[(20528)>>2] = 0; + HEAP32[5207] = 0; + HEAP32[(20836)>>2] = 0; + HEAP32[(20832)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20584)>>2] = $10; + HEAP32[(20888)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20588)>>2] = $11; + HEAP32[(20892)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20592)>>2] = $12; + HEAP32[(20896)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20596)>>2] = $13; - $14 = HEAP32[(20584)>>2]|0; + HEAP32[(20900)>>2] = $13; + $14 = HEAP32[(20888)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20588)>>2]|0; + $15 = HEAP32[(20892)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20592)>>2]|0; + $17 = HEAP32[(20896)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15921,7 +15925,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20596)>>2]|0; + $16 = HEAP32[(20900)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15958,140 +15962,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5143] = 0; - HEAP32[(20576)>>2] = 0; - HEAP32[(20580)>>2] = 0; + HEAP32[5219] = 0; + HEAP32[(20880)>>2] = 0; + HEAP32[(20884)>>2] = 0; _TraceLog(0,6971,$vararg_buffer); - $20 = HEAP32[4821]|0; + $20 = HEAP32[4897]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4822]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20504)); - $44 = HEAP32[4823]|0; - $45 = HEAP32[(20504)>>2]|0; + $43 = HEAP32[4898]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20808)); + $44 = HEAP32[4899]|0; + $45 = HEAP32[(20808)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20508)|0)); - $46 = HEAP32[(20508)>>2]|0; + _glGenBuffers(2,((20812)|0)); + $46 = HEAP32[(20812)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20488)>>2]|0; + $47 = HEAP32[(20792)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19376)>>2]|0; + $48 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19376)>>2]|0; + $49 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20512)|0)); - $50 = HEAP32[(20512)>>2]|0; + _glGenBuffers(2,((20816)|0)); + $50 = HEAP32[(20816)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20496)>>2]|0; + $51 = HEAP32[(20800)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19396)>>2]|0; + $52 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19396)>>2]|0; + $53 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4821]|0; + $54 = HEAP32[4897]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20508)>>2]|0; - $58 = HEAP32[(20512)>>2]|0; + $57 = HEAP32[(20812)>>2]|0; + $58 = HEAP32[(20816)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7109,$vararg_buffer3); } else { - $56 = HEAP32[(20504)>>2]|0; + $56 = HEAP32[(20808)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7044,$vararg_buffer1); } - $59 = HEAP32[4821]|0; + $59 = HEAP32[4897]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4822]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20552)); - $62 = HEAP32[4823]|0; - $63 = HEAP32[(20552)>>2]|0; + $61 = HEAP32[4898]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20856)); + $62 = HEAP32[4899]|0; + $63 = HEAP32[(20856)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20556)|0)); - $64 = HEAP32[(20556)>>2]|0; + _glGenBuffers(1,((20860)|0)); + $64 = HEAP32[(20860)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20536)>>2]|0; + $65 = HEAP32[(20840)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19376)>>2]|0; + $66 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19376)>>2]|0; + $67 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20560)|0)); - $68 = HEAP32[(20560)>>2]|0; + _glGenBuffers(1,((20864)|0)); + $68 = HEAP32[(20864)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20544)>>2]|0; + $69 = HEAP32[(20848)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19396)>>2]|0; + $70 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19396)>>2]|0; + $71 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4821]|0; + $72 = HEAP32[4897]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20556)>>2]|0; - $76 = HEAP32[(20560)>>2]|0; + $75 = HEAP32[(20860)>>2]|0; + $76 = HEAP32[(20864)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7255,$vararg_buffer10); } else { - $74 = HEAP32[(20552)>>2]|0; + $74 = HEAP32[(20856)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7186,$vararg_buffer7); } - $77 = HEAP32[4821]|0; + $77 = HEAP32[4897]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4822]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20600)); - $80 = HEAP32[4823]|0; - $81 = HEAP32[(20600)>>2]|0; + $79 = HEAP32[4898]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20904)); + $80 = HEAP32[4899]|0; + $81 = HEAP32[(20904)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20604)|0)); - $82 = HEAP32[(20604)>>2]|0; + _glGenBuffers(1,((20908)|0)); + $82 = HEAP32[(20908)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20584)>>2]|0; + $83 = HEAP32[(20888)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19376)>>2]|0; + $84 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19376)>>2]|0; + $85 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20608)|0)); - $86 = HEAP32[(20608)>>2]|0; + _glGenBuffers(1,((20912)|0)); + $86 = HEAP32[(20912)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20588)>>2]|0; + $87 = HEAP32[(20892)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19380)>>2]|0; + $88 = HEAP32[(19684)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19380)>>2]|0; + $89 = HEAP32[(19684)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20612)|0)); - $90 = HEAP32[(20612)>>2]|0; + _glGenBuffers(1,((20916)|0)); + $90 = HEAP32[(20916)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20592)>>2]|0; + $91 = HEAP32[(20896)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19396)>>2]|0; + $92 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19396)>>2]|0; + $93 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20616)|0)); - $94 = HEAP32[(20616)>>2]|0; + _glGenBuffers(1,((20920)|0)); + $94 = HEAP32[(20920)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20596)>>2]|0; + $95 = HEAP32[(20900)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4821]|0; + $96 = HEAP32[4897]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20604)>>2]|0; - $100 = HEAP32[(20608)>>2]|0; - $101 = HEAP32[(20612)>>2]|0; - $102 = HEAP32[(20616)>>2]|0; + $99 = HEAP32[(20908)>>2]|0; + $100 = HEAP32[(20912)>>2]|0; + $101 = HEAP32[(20916)>>2]|0; + $102 = HEAP32[(20920)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -16101,16 +16105,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7401,$vararg_buffer17); } else { - $98 = HEAP32[(20600)>>2]|0; + $98 = HEAP32[(20904)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7336,$vararg_buffer14); } - $103 = HEAP32[4821]|0; + $103 = HEAP32[4897]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4823]|0; + $105 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16291,9 +16295,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21801 + ($0)|0); + $1 = (22105 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21804 + ($0)|0); + $3 = (22108 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16305,9 +16309,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21801 + ($0)|0); + $1 = (22105 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21804 + ($0)|0); + $3 = (22108 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16328,7 +16332,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4740]|0; + $0 = HEAP32[4816]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9245,$vararg_buffer); @@ -16339,9 +16343,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19000>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19000+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19000+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19000+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19000+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19304>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19304+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19304+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19304+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19304+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19028)>>2]|0; + $0 = HEAP32[(19332)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16352,11 +16356,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19312|0)); - $0 = HEAP32[4828]|0; + _glDeleteTextures(1,(19616|0)); + $0 = HEAP32[4904]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9272,$vararg_buffer); - $1 = HEAP32[4858]|0; + $1 = HEAP32[4934]|0; _free($1); STACKTOP = sp;return; } @@ -16364,17 +16368,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4829]|0; + $0 = HEAP32[4905]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4821]|0; + $0 = HEAP32[4897]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4823]|0; + $2 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16383,39 +16387,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20508)|0)); - _glDeleteBuffers(1,((20512)|0)); - _glDeleteBuffers(1,((20556)|0)); - _glDeleteBuffers(1,((20560)|0)); - _glDeleteBuffers(1,((20604)|0)); - _glDeleteBuffers(1,((20608)|0)); - _glDeleteBuffers(1,((20612)|0)); - _glDeleteBuffers(1,((20616)|0)); - $3 = HEAP32[4821]|0; + _glDeleteBuffers(1,((20812)|0)); + _glDeleteBuffers(1,((20816)|0)); + _glDeleteBuffers(1,((20860)|0)); + _glDeleteBuffers(1,((20864)|0)); + _glDeleteBuffers(1,((20908)|0)); + _glDeleteBuffers(1,((20912)|0)); + _glDeleteBuffers(1,((20916)|0)); + _glDeleteBuffers(1,((20920)|0)); + $3 = HEAP32[4897]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4824]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20504)); - $6 = HEAP32[4824]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20552)); - $7 = HEAP32[4824]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20600)); - } - $8 = HEAP32[(20488)>>2]|0; + $5 = HEAP32[4900]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20808)); + $6 = HEAP32[4900]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20856)); + $7 = HEAP32[4900]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20904)); + } + $8 = HEAP32[(20792)>>2]|0; _free($8); - $9 = HEAP32[(20496)>>2]|0; + $9 = HEAP32[(20800)>>2]|0; _free($9); - $10 = HEAP32[(20536)>>2]|0; + $10 = HEAP32[(20840)>>2]|0; _free($10); - $11 = HEAP32[(20544)>>2]|0; + $11 = HEAP32[(20848)>>2]|0; _free($11); - $12 = HEAP32[(20584)>>2]|0; + $12 = HEAP32[(20888)>>2]|0; _free($12); - $13 = HEAP32[(20588)>>2]|0; + $13 = HEAP32[(20892)>>2]|0; _free($13); - $14 = HEAP32[(20592)>>2]|0; + $14 = HEAP32[(20896)>>2]|0; _free($14); - $15 = HEAP32[(20596)>>2]|0; + $15 = HEAP32[(20900)>>2]|0; _free($15); return; } @@ -16455,16 +16459,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2307] = $0; - $1 = +HEAPF64[2290]; + HEAPF64[2345] = $0; + $1 = +HEAPF64[2328]; $2 = $0 - $1; - HEAPF64[2308] = $2; - HEAPF64[2290] = $0; + HEAPF64[2346] = $2; + HEAPF64[2328] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19056; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=19360; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20628); + _rlMultMatrixf(20932); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16473,53 +16477,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[5157] = $1; + HEAP32[5233] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20632)>>2] = $3; + HEAP32[(20936)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20636)>>2] = $5; + HEAP32[(20940)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20640)>>2] = $7; + HEAP32[(20944)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20644)>>2] = $9; + HEAP32[(20948)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20648)>>2] = $11; + HEAP32[(20952)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20652)>>2] = $13; + HEAP32[(20956)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20656)>>2] = $15; + HEAP32[(20960)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20660)>>2] = $17; + HEAP32[(20964)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20664)>>2] = $19; + HEAP32[(20968)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20668)>>2] = $21; + HEAP32[(20972)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20672)>>2] = $23; + HEAP32[(20976)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20676)>>2] = $25; + HEAP32[(20980)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20680)>>2] = $27; + HEAP32[(20984)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20684)>>2] = $29; + HEAP32[(20988)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20688)>>2] = $31; - return (20628|0); + HEAP32[(20992)>>2] = $31; + return (20932|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16594,7 +16598,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4787]|0; + $49 = HEAP32[4863]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16608,15 +16612,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2307] = $0; - $1 = +HEAPF64[2290]; + HEAPF64[2345] = $0; + $1 = +HEAPF64[2328]; $2 = $0 - $1; - HEAPF64[2309] = $2; - HEAPF64[2290] = $0; - $3 = +HEAPF64[2308]; + HEAPF64[2347] = $2; + HEAPF64[2328] = $0; + $3 = +HEAPF64[2346]; $4 = $2 + $3; - HEAPF64[2310] = $4; - $5 = +HEAPF64[2287]; + HEAPF64[2348] = $4; + $5 = +HEAPF64[2325]; $6 = $4 < $5; if (!($6)) { return; @@ -16626,13 +16630,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2307] = $10; - $11 = +HEAPF64[2290]; + HEAPF64[2345] = $10; + $11 = +HEAPF64[2328]; $12 = $10 - $11; - HEAPF64[2290] = $10; - $13 = +HEAPF64[2310]; + HEAPF64[2328] = $10; + $13 = +HEAPF64[2348]; $14 = $12 + $13; - HEAPF64[2310] = $14; + HEAPF64[2348] = $14; return; } function _rlglDraw() { @@ -16645,7 +16649,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4740]|0; + $0 = HEAP32[4816]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16661,20 +16665,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[761] = -1; HEAP32[763] = -1; - HEAP32[5173] = 0; - $3 = HEAP32[4740]|0; + HEAP32[5249] = 0; + $3 = HEAP32[4816]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4572] = $5; + HEAPF32[4648] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18292)>>2] = $7; - _memcpy((22319|0),(21807|0),512)|0; - ;HEAP8[21804>>0]=HEAP8[21801>>0]|0;HEAP8[21804+1>>0]=HEAP8[21801+1>>0]|0;HEAP8[21804+2>>0]=HEAP8[21801+2>>0]|0; - $8 = HEAP32[5156]|0; - HEAP32[4743] = $8; - HEAP32[5156] = 0; + HEAPF32[(18596)>>2] = $7; + _memcpy((22623|0),(22111|0),512)|0; + ;HEAP8[22108>>0]=HEAP8[22105>>0]|0;HEAP8[22108+1>>0]=HEAP8[22105+1>>0]|0;HEAP8[22108+2>>0]=HEAP8[22105+2>>0]|0; + $8 = HEAP32[5232]|0; + HEAP32[4819] = $8; + HEAP32[5232] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16684,8 +16688,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22831 + ($$05160<<5)|0); - $scevgep67 = (22959 + ($$05160<<5)|0); + $scevgep = (23135 + ($$05160<<5)|0); + $scevgep67 = (23263 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16699,7 +16703,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22959 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23263 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[763] = $$04857; @@ -16726,7 +16730,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20696 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21000 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16742,7 +16746,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5173] = $$lcssa; + HEAP32[5249] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16783,87 +16787,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5119]|0; + $0 = HEAP32[5195]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4821]|0; + $2 = HEAP32[4897]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4823]|0; - $5 = HEAP32[(20504)>>2]|0; + $4 = HEAP32[4899]|0; + $5 = HEAP32[(20808)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20508)>>2]|0; + $6 = HEAP32[(20812)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5119]|0; + $7 = HEAP32[5195]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20488)>>2]|0; + $9 = HEAP32[(20792)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20512)>>2]|0; + $10 = HEAP32[(20816)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20484)>>2]|0; + $11 = HEAP32[(20788)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20496)>>2]|0; + $13 = HEAP32[(20800)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5131]|0; + $14 = HEAP32[5207]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4821]|0; + $16 = HEAP32[4897]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4823]|0; - $19 = HEAP32[(20552)>>2]|0; + $18 = HEAP32[4899]|0; + $19 = HEAP32[(20856)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20556)>>2]|0; + $20 = HEAP32[(20860)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5131]|0; + $21 = HEAP32[5207]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20536)>>2]|0; + $23 = HEAP32[(20840)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20560)>>2]|0; + $24 = HEAP32[(20864)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20532)>>2]|0; + $25 = HEAP32[(20836)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20544)>>2]|0; + $27 = HEAP32[(20848)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5143]|0; + $28 = HEAP32[5219]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4821]|0; + $30 = HEAP32[4897]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4823]|0; - $33 = HEAP32[(20600)>>2]|0; + $32 = HEAP32[4899]|0; + $33 = HEAP32[(20904)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20604)>>2]|0; + $34 = HEAP32[(20908)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5143]|0; + $35 = HEAP32[5219]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20584)>>2]|0; + $37 = HEAP32[(20888)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20608)>>2]|0; + $38 = HEAP32[(20912)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5143]|0; + $39 = HEAP32[5219]|0; $40 = $39 << 3; - $41 = HEAP32[(20588)>>2]|0; + $41 = HEAP32[(20892)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20612)>>2]|0; + $42 = HEAP32[(20916)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5143]|0; + $43 = HEAP32[5219]|0; $44 = $43 << 2; - $45 = HEAP32[(20592)>>2]|0; + $45 = HEAP32[(20896)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4821]|0; + $46 = HEAP32[4897]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4823]|0; + $48 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16881,9 +16885,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19152; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19216; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5206]|0; + dest=$0; src=19456; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=19520; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5282]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16893,134 +16897,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5119]|0; + $8 = HEAP32[5195]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5131]|0; + $10 = HEAP32[5207]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5143]|0; + $12 = HEAP32[5219]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4843]|0; + $14 = HEAP32[4919]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19216; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19152; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=19520; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=19456; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19400)>>2]|0; + $15 = HEAP32[(19704)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19404)>>2]|0; + $17 = HEAP32[(19708)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19416)>>2]|0; + $18 = HEAP32[(19720)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5119]|0; + $19 = HEAP32[5195]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4828]|0; + $21 = HEAP32[4904]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4821]|0; + $22 = HEAP32[4897]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20508)>>2]|0; + $26 = HEAP32[(20812)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19376)>>2]|0; + $27 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19376)>>2]|0; + $28 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20512)>>2]|0; + $29 = HEAP32[(20816)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19396)>>2]|0; + $30 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19396)>>2]|0; + $31 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4823]|0; - $25 = HEAP32[(20504)>>2]|0; + $24 = HEAP32[4899]|0; + $25 = HEAP32[(20808)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5119]|0; + $32 = HEAP32[5195]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4821]|0; + $33 = HEAP32[4897]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5131]|0; + $35 = HEAP32[5207]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4828]|0; + $37 = HEAP32[4904]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4821]|0; + $38 = HEAP32[4897]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20556)>>2]|0; + $42 = HEAP32[(20860)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19376)>>2]|0; + $43 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19376)>>2]|0; + $44 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20560)>>2]|0; + $45 = HEAP32[(20864)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19396)>>2]|0; + $46 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19396)>>2]|0; + $47 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4823]|0; - $41 = HEAP32[(20552)>>2]|0; + $40 = HEAP32[4899]|0; + $41 = HEAP32[(20856)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5131]|0; + $48 = HEAP32[5207]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4821]|0; + $49 = HEAP32[4897]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5143]|0; + $51 = HEAP32[5219]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4821]|0; + $53 = HEAP32[4897]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20604)>>2]|0; + $57 = HEAP32[(20908)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19376)>>2]|0; + $58 = HEAP32[(19680)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19376)>>2]|0; + $59 = HEAP32[(19680)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20608)>>2]|0; + $60 = HEAP32[(20912)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19380)>>2]|0; + $61 = HEAP32[(19684)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19380)>>2]|0; + $62 = HEAP32[(19684)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20612)>>2]|0; + $63 = HEAP32[(20916)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19396)>>2]|0; + $64 = HEAP32[(19700)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19396)>>2]|0; + $65 = HEAP32[(19700)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20616)>>2]|0; + $66 = HEAP32[(20920)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4823]|0; - $56 = HEAP32[(20600)>>2]|0; + $55 = HEAP32[4899]|0; + $56 = HEAP32[(20904)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4859]|0; + $67 = HEAP32[4935]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4858]|0; + $71 = HEAP32[4934]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -17031,14 +17035,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4858]|0; + $80 = HEAP32[4934]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4859]|0; + $87 = HEAP32[4935]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -17047,7 +17051,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4821]|0; + $69 = HEAP32[4897]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -17055,10 +17059,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4821]|0; + $89 = HEAP32[4897]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4823]|0; + $91 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -17070,22 +17074,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4859] = 1; - $5 = HEAP32[4828]|0; - $6 = HEAP32[4858]|0; + HEAP32[4935] = 1; + $5 = HEAP32[4904]|0; + $6 = HEAP32[4934]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5119] = 0; - HEAP32[(20484)>>2] = 0; - HEAP32[5131] = 0; - HEAP32[(20532)>>2] = 0; - HEAP32[5143] = 0; - HEAP32[(20576)>>2] = 0; - HEAP32[(20580)>>2] = 0; + HEAP32[5195] = 0; + HEAP32[(20788)>>2] = 0; + HEAP32[5207] = 0; + HEAP32[(20836)>>2] = 0; + HEAP32[5219] = 0; + HEAP32[(20880)>>2] = 0; + HEAP32[(20884)>>2] = 0; HEAPF32[764] = -1.0; - dest=19152; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19216; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19456; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19520; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -17100,17 +17104,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5117]|0; + $5 = HEAP32[5193]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5118]|0; + $9 = HEAP32[5194]|0; _rlViewport($7,0,$8,$9); - $10 = (21056 + ($0<<6)|0); + $10 = (21360 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20928 + ($0<<6)|0); + $11 = (21232 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -17122,14 +17126,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19216; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19520; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19152; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19456; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -17146,9 +17150,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4742]|0; + $2 = HEAP32[4818]|0; $3 = (+($2|0)); - $4 = HEAP32[4741]|0; + $4 = HEAP32[4817]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -17173,7 +17177,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20628); + _rlMultMatrixf(20932); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -17182,26 +17186,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5296]|0; + $0 = HEAP32[5372]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9387,$vararg_buffer); } - $2 = HEAP32[5296]|0; - $3 = (19444 + ($2<<6)|0); - $4 = HEAP32[4787]|0; + $2 = HEAP32[5372]|0; + $3 = (19748 + ($2<<6)|0); + $4 = HEAP32[4863]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5296]|0; + $5 = HEAP32[5372]|0; $6 = (($5) + 1)|0; - HEAP32[5296] = $6; - $7 = HEAP32[4820]|0; + HEAP32[5372] = $6; + $7 = HEAP32[4896]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5297] = 1; + HEAP32[5373] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17220,7 +17224,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4787]|0; + $8 = HEAP32[4863]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17247,18 +17251,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5296]|0; + $0 = HEAP32[5372]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5296]|0; + $2 = HEAP32[5372]|0; $3 = (($2) + -1)|0; - $4 = (19444 + ($3<<6)|0); - $5 = HEAP32[4787]|0; + $4 = (19748 + ($3<<6)|0); + $5 = HEAP32[4863]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5296] = $6; + HEAP32[5372] = $6; return; } function _rlDisableDepthTest() { @@ -17330,7 +17334,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2310]; + $0 = +HEAPF64[2348]; $1 = $0; return (+$1); } @@ -17338,19 +17342,19 @@ function _SetConfigFlags($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP8[21800] = $0; + HEAP8[22104] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[4745] = 1; + HEAP32[4821] = 1; } - $3 = HEAP8[21800]|0; + $3 = HEAP8[22104]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[4782] = 1; + HEAP32[4858] = 1; return; } function _IsFileExtension($0,$1) { @@ -17383,7 +17387,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4787]|0; + $5 = HEAP32[4863]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17416,7 +17420,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4787]|0; + $11 = HEAP32[4863]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17427,7 +17431,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4860] = $0; + HEAP32[4936] = $0; return; } function _rlEnd() { @@ -17443,21 +17447,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5297]|0; + $0 = HEAP32[5373]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5298]|0; + $2 = HEAP32[5374]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4857]|0; + $6 = HEAP32[4933]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4787]|0; + $8 = HEAP32[4863]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5298]|0; + $5 = HEAP32[5374]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17465,12 +17469,12 @@ function _rlEnd() { break; } } - HEAP32[5297] = 0; + HEAP32[5373] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4857]|0; + $11 = HEAP32[4933]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17479,7 +17483,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5298]|0; + $19 = HEAP32[5374]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17489,15 +17493,15 @@ function _rlEnd() { } } } else { - HEAP32[5297] = 0; + HEAP32[5373] = 0; } - HEAP32[5298] = 0; + HEAP32[5374] = 0; } - $21 = HEAP32[4860]|0; + $21 = HEAP32[4936]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5119]|0; - $23 = HEAP32[(20484)>>2]|0; + $22 = HEAP32[5195]|0; + $23 = HEAP32[(20788)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[764]; @@ -17516,16 +17520,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20496)>>2]|0; - $28 = HEAP32[(20484)>>2]|0; + $27 = HEAP32[(20800)>>2]|0; + $28 = HEAP32[(20788)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20496)>>2]|0; - $35 = HEAP32[(20484)>>2]|0; + $34 = HEAP32[(20800)>>2]|0; + $35 = HEAP32[(20788)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17533,8 +17537,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20496)>>2]|0; - $43 = HEAP32[(20484)>>2]|0; + $42 = HEAP32[(20800)>>2]|0; + $43 = HEAP32[(20788)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17542,8 +17546,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20496)>>2]|0; - $51 = HEAP32[(20484)>>2]|0; + $50 = HEAP32[(20800)>>2]|0; + $51 = HEAP32[(20788)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17551,9 +17555,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20484)>>2]|0; + $58 = HEAP32[(20788)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20484)>>2] = $59; + HEAP32[(20788)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17569,8 +17573,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5131]|0; - $62 = HEAP32[(20532)>>2]|0; + $61 = HEAP32[5207]|0; + $62 = HEAP32[(20836)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[764]; @@ -17589,16 +17593,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20544)>>2]|0; - $67 = HEAP32[(20532)>>2]|0; + $66 = HEAP32[(20848)>>2]|0; + $67 = HEAP32[(20836)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20544)>>2]|0; - $74 = HEAP32[(20532)>>2]|0; + $73 = HEAP32[(20848)>>2]|0; + $74 = HEAP32[(20836)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17606,8 +17610,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20544)>>2]|0; - $82 = HEAP32[(20532)>>2]|0; + $81 = HEAP32[(20848)>>2]|0; + $82 = HEAP32[(20836)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17615,8 +17619,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20544)>>2]|0; - $90 = HEAP32[(20532)>>2]|0; + $89 = HEAP32[(20848)>>2]|0; + $90 = HEAP32[(20836)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17624,9 +17628,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20532)>>2]|0; + $97 = HEAP32[(20836)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20532)>>2] = $98; + HEAP32[(20836)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17642,8 +17646,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5143]|0; - $101 = HEAP32[(20580)>>2]|0; + $100 = HEAP32[5219]|0; + $101 = HEAP32[(20884)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17651,16 +17655,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20592)>>2]|0; - $106 = HEAP32[(20580)>>2]|0; + $105 = HEAP32[(20896)>>2]|0; + $106 = HEAP32[(20884)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20592)>>2]|0; - $113 = HEAP32[(20580)>>2]|0; + $112 = HEAP32[(20896)>>2]|0; + $113 = HEAP32[(20884)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17668,8 +17672,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20592)>>2]|0; - $121 = HEAP32[(20580)>>2]|0; + $120 = HEAP32[(20896)>>2]|0; + $121 = HEAP32[(20884)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17677,8 +17681,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20592)>>2]|0; - $129 = HEAP32[(20580)>>2]|0; + $128 = HEAP32[(20896)>>2]|0; + $129 = HEAP32[(20884)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17686,9 +17690,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20580)>>2]|0; + $136 = HEAP32[(20884)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20580)>>2] = $137; + HEAP32[(20884)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17699,8 +17703,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5143]|0; - $140 = HEAP32[(20576)>>2]|0; + $139 = HEAP32[5219]|0; + $140 = HEAP32[(20880)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[764]; @@ -17708,8 +17712,8 @@ function _rlEnd() { HEAPF32[764] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20588)>>2]|0; - $$promoted = HEAP32[(20576)>>2]|0; + $142 = HEAP32[(20892)>>2]|0; + $$promoted = HEAP32[(20880)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17717,7 +17721,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20576)>>2] = $147; + HEAP32[(20880)>>2] = $147; $148 = +HEAPF32[764]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[764] = $149; @@ -17744,11 +17748,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5297]|0; + $3 = HEAP32[5373]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4857]|0; - $6 = HEAP32[5298]|0; + $5 = HEAP32[4933]|0; + $6 = HEAP32[5374]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17756,16 +17760,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5298] = $10; + HEAP32[5374] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4860]|0; + $11 = HEAP32[4936]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5119]|0; + $12 = HEAP32[5195]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20488)>>2]|0; + $14 = HEAP32[(20792)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17776,7 +17780,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5119] = $21; + HEAP32[5195] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9425,$vararg_buffer); @@ -17785,10 +17789,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5131]|0; + $22 = HEAP32[5207]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20536)>>2]|0; + $24 = HEAP32[(20840)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17799,7 +17803,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5131] = $31; + HEAP32[5207] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9450,$vararg_buffer1); @@ -17808,10 +17812,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5143]|0; + $32 = HEAP32[5219]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20584)>>2]|0; + $34 = HEAP32[(20888)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17822,9 +17826,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5143] = $41; - $42 = HEAP32[4858]|0; - $43 = HEAP32[4859]|0; + HEAP32[5219] = $41; + $42 = HEAP32[4934]|0; + $43 = HEAP32[4935]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17856,13 +17860,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4860]|0; + $2 = HEAP32[4936]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20588)>>2]|0; - $5 = HEAP32[(20576)>>2]|0; + $4 = HEAP32[(20892)>>2]|0; + $5 = HEAP32[(20880)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17870,7 +17874,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20576)>>2] = $10; + HEAP32[(20880)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17889,18 +17893,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4860]|0; + $4 = HEAP32[4936]|0; switch ($4|0) { case 1: { - $$sink37 = (20484);$$sink38 = (20496); + $$sink37 = (20788);$$sink38 = (20800); break; } case 4: { - $$sink37 = (20532);$$sink38 = (20544); + $$sink37 = (20836);$$sink38 = (20848); break; } case 7: { - $$sink37 = (20580);$$sink38 = (20592); + $$sink37 = (20884);$$sink38 = (20896); break; } default: { @@ -17954,8 +17958,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4858]|0; - $2 = HEAP32[4859]|0; + $1 = HEAP32[4934]|0; + $2 = HEAP32[4935]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17968,9 +17972,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4859] = $10; + HEAP32[4935] = $10; } - $11 = HEAP32[4859]|0; + $11 = HEAP32[4935]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17981,7 +17985,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5143]|0; + $0 = HEAP32[5219]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -18008,14 +18012,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4821]|0; + $2 = HEAP32[4897]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4824]|0; + $5 = HEAP32[4900]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -18036,7 +18040,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4821]|0; + $3 = HEAP32[4897]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -18168,12 +18172,12 @@ function _rlglLoadMesh($0,$1) { ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; HEAP32[$2>>2] = 0; ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4821]|0; + $13 = HEAP32[4897]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4822]|0; + $15 = HEAP32[4898]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4823]|0; + $16 = HEAP32[4899]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -18303,7 +18307,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4821]|0; + $82 = HEAP32[4897]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9933,$vararg_buffer3); @@ -18408,13 +18412,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=19216; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=19152; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19520; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$4; src=19456; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=19216; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19520; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4829]|0; + $65 = HEAP32[4905]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9981|0))|0); @@ -18490,7 +18494,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4821]|0; + $107 = HEAP32[4897]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18570,16 +18574,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(20616)>>2]|0; + $153 = HEAP32[(20920)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4823]|0; + $109 = HEAP32[4899]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5206]|0; + $154 = HEAP32[5282]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18593,10 +18597,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=19216; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19520; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } - dest=$modelview$byval_copy4; src=19216; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=19152; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy4; src=19520; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19456; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -18633,14 +18637,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4821]|0; + $172 = HEAP32[4897]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4823]|0; + $174 = HEAP32[4899]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=19152; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19216; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19456; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19520; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18649,14 +18653,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=19152; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19216; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19456; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19520; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=19152; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19216; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19456; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19520; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18736,7 +18740,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4828]|0; + $1 = HEAP32[4904]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18759,7 +18763,7 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,12126)|0); + $2 = (_fopen($0,12434)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; @@ -18814,7 +18818,7 @@ function _LoadShader($0,$1,$2) { $11 = ($10|0)==(0); if ($11) { _TraceLog(2,10069,$vararg_buffer); - dest=$3; src=19316; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19620; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -18840,14 +18844,14 @@ function _BeginShaderMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $1 = HEAP32[4843]|0; + $1 = HEAP32[4919]|0; $2 = HEAP32[$0>>2]|0; $3 = ($1|0)==($2|0); if ($3) { return; } _rlglDraw(); - dest=19372; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19676; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _EndShaderMode() { @@ -18855,7 +18859,7 @@ function _EndShaderMode() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $defaultShader$byval_copy = sp; - dest=$defaultShader$byval_copy; src=19316; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$defaultShader$byval_copy; src=19620; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($defaultShader$byval_copy); STACKTOP = sp;return; } @@ -18863,7 +18867,7 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=19316; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=19620; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _GetShaderLocation($0,$1) { @@ -18919,40 +18923,11 @@ function _SetShaderValue($0,$1,$2,$3) { } STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10244); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11577)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5299] = $0; + HEAP32[5375] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -19016,7 +18991,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((10256|0),(10282|0),1125,(10305|0)); + ___assert_fail((10244|0),(10270|0),1041,(10293|0)); // unreachable; } } @@ -19034,7 +19009,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5300]|0; + $15 = HEAP32[5376]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -19127,7 +19102,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(10346); + _stbi__err(10334); $$0 = 0; return ($$0|0); } else { @@ -19149,7 +19124,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(10337); + _stbi__err(10325); $$0 = 0; return ($$0|0); } @@ -19219,7 +19194,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(10365); + _stbi__err(10353); $$045 = 0; return ($$045|0); } @@ -19780,7 +19755,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10681 + ($120)|0); + $121 = (10669 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19822,97 +19797,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10455); + _stbi__err(10443); $$6$ph = 0; break; } case 9: { - _stbi__err(10469); + _stbi__err(10457); $$6$ph = 0; break; } case 11: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 13: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 15: { - _stbi__err(10492); + _stbi__err(10480); $$6$ph = 0; break; } case 17: { - _stbi__err(10512); + _stbi__err(10500); $$6$ph = 0; break; } case 20: { - _stbi__err(10512); + _stbi__err(10500); $$6$ph = 0; break; } case 22: { - _stbi__err(10512); + _stbi__err(10500); $$6$ph = 0; break; } case 24: { - _stbi__err(10522); + _stbi__err(10510); $$6$ph = 0; break; } case 26: { - _stbi__err(10538); + _stbi__err(10526); $$6$ph = 0; break; } case 28: { - _stbi__err(10556); + _stbi__err(10544); $$6$ph = 0; break; } case 31: { - _stbi__err(10577); + _stbi__err(10565); $$6$ph = 0; break; } case 34: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 37: { - _stbi__err(10482); + _stbi__err(10470); $$6$ph = 0; break; } case 39: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 41: { - _stbi__err(10606); + _stbi__err(10594); $$6$ph = 0; break; } case 44: { - _stbi__err(10606); + _stbi__err(10594); $$6$ph = 0; break; } case 47: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 49: { - _stbi__err(10619); + _stbi__err(10607); $$6$ph = 0; break; } @@ -19923,32 +19898,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10635); + _stbi__err(10623); $$6$ph = 0; break; } case 58: { - _stbi__err(10652); + _stbi__err(10640); $$6$ph = 0; break; } case 61: { - _stbi__err(10665); + _stbi__err(10653); $$6$ph = 0; break; } case 63: { - _stbi__err(10652); + _stbi__err(10640); $$6$ph = 0; break; } case 70: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 72: { - _stbi__err(10690); + _stbi__err(10678); $$6$ph = 0; break; } @@ -19960,12 +19935,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(10337); + _stbi__err(10325); $$6$ph = 0; break; } case 83: { - _stbi__err(10698); + _stbi__err(10686); $$6$ph = 0; break; } @@ -19978,7 +19953,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10708); + _stbi__err(10696); $$4 = 0; break; } @@ -20043,7 +20018,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5301]|0; + $193 = HEAP32[5377]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -20076,7 +20051,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10591); + _stbi__err(10579); $$4 = 0; } } while(0); @@ -20084,24 +20059,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10591); + _stbi__err(10579); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10716] = $206; + HEAP8[10704] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10717)>>0] = $209; + HEAP8[(10705)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10718)>>0] = $211; + HEAP8[(10706)>>0] = $211; $212 = $207&255; - HEAP8[(10719)>>0] = $212; - _stbi__err(10716); + HEAP8[(10707)>>0] = $212; + _stbi__err(10704); $$6$ph = 0; break; } @@ -20135,14 +20110,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10378|0),(10282|0),1561,(10434|0)); + ___assert_fail((10366|0),(10270|0),1477,(10422|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(10337); + _stbi__err(10325); $$0163 = 0; return ($$0163|0); } @@ -20505,7 +20480,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10432|0),(10282|0),1590,(10434|0)); + ___assert_fail((10420|0),(10270|0),1506,(10422|0)); // unreachable; } } while(0); @@ -20539,7 +20514,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10378|0),(10282|0),1610,(10409|0)); + ___assert_fail((10366|0),(10270|0),1526,(10397|0)); // unreachable; } $7 = $2 << 1; @@ -20549,7 +20524,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(10337); + _stbi__err(10325); $$0163 = 0; return ($$0163|0); } @@ -20912,7 +20887,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10432|0),(10282|0),1639,(10409|0)); + ___assert_fail((10420|0),(10270|0),1555,(10397|0)); // unreachable; } } while(0); @@ -21060,7 +21035,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(11373); + _stbi__err(11681); $$05 = 0; return ($$05|0); } @@ -21497,7 +21472,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10775|0),(10282|0),4568,(10827|0)); + ___assert_fail((10763|0),(10270|0),4569,(10815|0)); // unreachable; } } @@ -21584,7 +21559,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10775|0),(10282|0),4543,(10800|0)); + ___assert_fail((10763|0),(10270|0),4544,(10788|0)); // unreachable; } } @@ -21631,7 +21606,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5302]|0; + $16 = HEAP32[5378]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21706,7 +21681,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10741|0),(10282|0),4649,(10759|0)); + ___assert_fail((10729|0),(10270|0),4650,(10747|0)); // unreachable; } } @@ -21729,7 +21704,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(10337); + _stbi__err(10325); $$0 = 0; return ($$0|0); } @@ -21906,7 +21881,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10856|0),(10282|0),4294,(10897|0)); + ___assert_fail((10844|0),(10270|0),4294,(10885|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21914,7 +21889,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(10337); + _stbi__err(10325); $$2 = 0; return ($$2|0); } @@ -21933,7 +21908,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10924); + _stbi__err(10912); $$2 = 0; return ($$2|0); } @@ -21946,7 +21921,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10924); + _stbi__err(10912); $$2 = 0; return ($$2|0); } @@ -21954,12 +21929,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21982,33 +21957,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10963 + ($56)|0); + $60 = (10951 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -22018,24 +21993,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -22045,10 +22020,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -22059,10 +22034,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -22073,14 +22048,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -22110,7 +22085,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -22125,12 +22100,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22707,15 +22682,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10942|0),(10282|0),4315,(10897|0)); + ___assert_fail((10930|0),(10270|0),4315,(10885|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10968|0),(10282|0),4376,(10897|0)); + ___assert_fail((10956|0),(10270|0),4377,(10885|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10985); + _stbi__err(10973); $$2 = 0; return ($$2|0); } @@ -22765,7 +22740,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10681 + ($6)|0); + $336 = (10669 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -23206,7 +23181,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((11000|0),(10282|0),4465,(10897|0)); + ___assert_fail((10988|0),(10270|0),4466,(10885|0)); // unreachable; } else if ((label|0) == 151) { @@ -23266,8 +23241,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -23282,15 +23257,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -23299,65 +23274,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23118)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10999,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,23119,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,23087,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,11287,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23376,14 +23346,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(11326); + _stbi__err(11634); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(11342); + _stbi__err(11650); $$0 = 0; return ($$0|0); } @@ -23392,7 +23362,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(11357); + _stbi__err(11665); $$0 = 0; return ($$0|0); } @@ -23475,7 +23445,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((11248|0),(10282|0),4048,(11265|0)); + ___assert_fail((11556|0),(10270|0),4033,(11573|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23512,7 +23482,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(11296); + _stbi__err(11604); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23522,7 +23492,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(11309); + _stbi__err(11617); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23552,21 +23522,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23119|0),8,144)|0; - dest=(23263); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23375); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23399); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23087; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23700,7 +23655,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(11186); + _stbi__err(11494); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23789,7 +23744,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(11238); + _stbi__err(11546); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23818,7 +23773,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (12032 + ($$06579)|0); + $14 = (12340 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23909,21 +23864,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((11202|0),(10282|0),4021,(11210|0)); + ___assert_fail((11510|0),(10270|0),4006,(11518|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23933,7 +23888,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(11186); + _stbi__err(11494); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -24097,7 +24052,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(11011); + _stbi__err(11319); $$3$ph = 0; return ($$3$ph|0); } @@ -24107,12 +24062,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(11011); + _stbi__err(11319); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(11028); + _stbi__err(11336); $$3$ph = 0; return ($$3$ph|0); } @@ -24169,7 +24124,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(11037); + _stbi__err(11345); $$0 = 0; return ($$0|0); } @@ -24195,7 +24150,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(10337); + _stbi__err(10325); $$0 = 0; return ($$0|0); } else { @@ -24240,7 +24195,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((11133|0),(10282|0),3863,(11170|0)); + ___assert_fail((11441|0),(10270|0),3848,(11478|0)); // unreachable; } else if ((label|0) == 5) { @@ -24288,7 +24243,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((11057|0),(10282|0),3891,(11073|0)); + ___assert_fail((11365|0),(10270|0),3876,(11381|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -24316,7 +24271,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((11104|0),(10282|0),3781,(11115|0)); + ___assert_fail((11412|0),(10270|0),3766,(11423|0)); // unreachable; } return (0)|0; @@ -24462,10 +24417,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24476,27 +24431,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11385)|0); + $6 = (_IsFileExtension($1,11693)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11438)|0); + $19 = (_IsFileExtension($1,11746)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11443,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11751,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11885)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24524,7 +24480,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24541,18 +24497,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11391,$vararg_buffer); + _TraceLog(2,11699,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24561,34 +24517,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11479,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11518,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,11787,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11826,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24607,11 +24570,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11577)|0); + $4 = (_fopen($0,11885)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11580,$vararg_buffer); + _TraceLog(2,11888,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24710,7 +24673,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11677,$vararg_buffer4); + _TraceLog(0,11985,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24745,14 +24708,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11723,$vararg_buffer8); + _TraceLog(2,12031,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11631,$vararg_buffer1); + _TraceLog(2,11939,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24842,7 +24805,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11549,$vararg_buffer); + _TraceLog(2,11857,$vararg_buffer); $$0 = $6; } } @@ -24887,27 +24850,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11773,$vararg_buffer); + _TraceLog(2,12081,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11812,$vararg_buffer1); + _TraceLog(2,12120,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11838,$vararg_buffer3); + _TraceLog(2,12146,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11901,$vararg_buffer5); + _TraceLog(2,12209,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11936,$vararg_buffer7); + _TraceLog(2,12244,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11971,$vararg_buffer10); + _TraceLog(0,12279,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -26090,7 +26053,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (12028 + ($$361133)|0); + $199 = (12336 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26520,7 +26483,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (12028 + ($$331130)|0); + $186 = (12336 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26558,7 +26521,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (12028 + ($$371134)|0); + $203 = (12336 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26597,7 +26560,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (12032 + ($$421139)|0); + $235 = (12340 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -27004,7 +26967,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (12051 + ($495)|0); + $496 = (12359 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -27041,7 +27004,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (12055 + ($515)|0); + $516 = (12363 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27953,7 +27916,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,12059,$vararg_buffer); + _TraceLog(2,12367,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27986,7 +27949,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19000>>2]|0;HEAP32[$0+4>>2]=HEAP32[19000+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19000+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19000+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19000+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19000+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19000+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19000+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19304>>2]|0;HEAP32[$0+4>>2]=HEAP32[19304+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19304+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19304+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19304+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19304+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19304+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19304+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28420,8 +28383,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(23407,$0,$1)|0); - STACKTOP = sp;return (23407|0); + (_vsprintf(23391,$0,$1)|0); + STACKTOP = sp;return (23391|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28431,7 +28394,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5303]|0; + $3 = HEAP32[5379]|0; $4 = HEAP32[925]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28439,14 +28402,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5304] = $7; + HEAP32[5380] = $7; HEAP32[925] = $7; $$sink = 0; } - HEAP32[5303] = $$sink; - $8 = HEAP32[5304]|0; + HEAP32[5379] = $$sink; + $8 = HEAP32[5380]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(12088,$$byval_copy)|0); + (_FormatText(12396,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28455,7 +28418,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(23407,$0,$1,20,$$byval_copy); + _DrawText(23391,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28516,7 +28479,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,12096)|0); + $4 = (_IsFileExtension($1,12404)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -28525,7 +28488,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,12101,$vararg_buffer); + _TraceLog(2,12409,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -28598,11 +28561,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,12126)|0); + $15 = (_fopen($1,12434)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12129,$vararg_buffer); + _TraceLog(2,12437,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -28622,7 +28585,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,12163,$vararg_buffer1)|0); + (_fscanf($15,12471,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -28649,7 +28612,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,12163,$vararg_buffer4)|0); + (_fscanf($15,12471,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -28714,19 +28677,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,12166,$vararg_buffer7); + _TraceLog(3,12474,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,12194,$vararg_buffer11); + _TraceLog(3,12502,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,12223,$$byval_copy102); + _TraceLog(3,12531,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,12250,$$byval_copy103); + _TraceLog(3,12558,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -28758,7 +28721,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,12163,$vararg_buffer23)|0); + (_fscanf($15,12471,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -28780,7 +28743,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,12163,$vararg_buffer26)|0); + (_fscanf($15,12471,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -28799,10 +28762,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,12279,$vararg_buffer29)|0); + (_fscanf($15,12587,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,12163,$vararg_buffer33)|0); + (_fscanf($15,12471,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -28819,10 +28782,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,12293,$vararg_buffer36)|0); + (_fscanf($15,12601,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,12163,$vararg_buffer41)|0); + (_fscanf($15,12471,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -28839,10 +28802,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,12293,$vararg_buffer44)|0); + (_fscanf($15,12601,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,12163,$vararg_buffer49)|0); + (_fscanf($15,12471,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -28865,7 +28828,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,12302,$vararg_buffer52); + _TraceLog(0,12610,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -28905,7 +28868,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,12163,$vararg_buffer55)|0); + (_fscanf($15,12471,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -28933,7 +28896,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,12373,$vararg_buffer58)|0); + (_fscanf($15,12681,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -28947,7 +28910,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,12382,$vararg_buffer63)|0); + (_fscanf($15,12690,$vararg_buffer63)|0); break; } if ($77) { @@ -28962,7 +28925,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,12400,$vararg_buffer71)|0); + (_fscanf($15,12708,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -28982,7 +28945,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,12421,$vararg_buffer79)|0); + (_fscanf($15,12729,$vararg_buffer79)|0); break; } } @@ -29362,7 +29325,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12448,$vararg_buffer90); + _TraceLog(0,12756,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -29441,7 +29404,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,12492,$vararg_buffer); + _TraceLog(0,12800,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29586,7 +29549,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12550)|0); + $12 = (_strstr($11,12858)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29595,7 +29558,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12554)|0); + $17 = (_strstr($16,12862)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29604,7 +29567,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12558)|0); + $22 = (_strstr($21,12866)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29613,7 +29576,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12562)|0); + $27 = (_strstr($26,12870)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29622,1210 +29585,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12568)|0); + $32 = (_strcmp($31,12876)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12606)|0); + $35 = (_strcmp($34,12914)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12625; + HEAP32[$3>>2] = 12933; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12638)|0); + $38 = (_strcmp($37,12946)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12659; + HEAP32[$3>>2] = 12967; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12674)|0); + $41 = (_strcmp($40,12982)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12689; + HEAP32[$3>>2] = 12997; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12704)|0); + $44 = (_strcmp($43,13012)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12719; + HEAP32[$3>>2] = 13027; } } else { - HEAP32[$3>>2] = 12590; + HEAP32[$3>>2] = 12898; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12734)|0); + $47 = (_strcmp($46,13042)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12748)|0); + $50 = (_strcmp($49,13056)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12760)|0); + $53 = (_strcmp($52,13068)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12774)|0); + $56 = (_strcmp($55,13082)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12786)|0); + $59 = (_strcmp($58,13094)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12800)|0); + $62 = (_strcmp($61,13108)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12814)|0); + $65 = (_strcmp($64,13122)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12831)|0); + $68 = (_strcmp($67,13139)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12854)|0); + $71 = (_strcmp($70,13162)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12880)|0); + $74 = (_strcmp($73,13188)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12893)|0); + $77 = (_strcmp($76,13201)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12909)|0); + $80 = (_strcmp($79,13217)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12922)|0); + $83 = (_strcmp($82,13230)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12936)|0); + $86 = (_strcmp($85,13244)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12956)|0); + $89 = (_strcmp($88,13264)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12976)|0); + $92 = (_strcmp($91,13284)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12993)|0); + $95 = (_strcmp($94,13301)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13010)|0); + $98 = (_strcmp($97,13318)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13022)|0); + $101 = (_strcmp($100,13330)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13035)|0); + $104 = (_strcmp($103,13343)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13051)|0); + $107 = (_strcmp($106,13359)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13074)|0); + $110 = (_strcmp($109,13382)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13087)|0); + $113 = (_strcmp($112,13395)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13103)|0); + $116 = (_strcmp($115,13411)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13114)|0); + $119 = (_strcmp($118,13422)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13133)|0); + $122 = (_strcmp($121,13441)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13155)|0); + $125 = (_strcmp($124,13463)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13174)|0); + $128 = (_strcmp($127,13482)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13203)|0); + $131 = (_strcmp($130,13511)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13220)|0); + $134 = (_strcmp($133,13528)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13235)|0); + $137 = (_strcmp($136,13543)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13250)|0); + $140 = (_strcmp($139,13558)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13271)|0); + $143 = (_strcmp($142,13579)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13291)|0); + $146 = (_strcmp($145,13599)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13311)|0); + $149 = (_strcmp($148,13619)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13337)|0); + $152 = (_strcmp($151,13645)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13356)|0); + $155 = (_strcmp($154,13664)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13368)|0); + $158 = (_strcmp($157,13676)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13380)|0); + $161 = (_strcmp($160,13688)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13392)|0); + $164 = (_strcmp($163,13700)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13404)|0); + $167 = (_strcmp($166,13712)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13416)|0); + $170 = (_strcmp($169,13724)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13428)|0); + $173 = (_strcmp($172,13736)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13440)|0); + $176 = (_strcmp($175,13748)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13452)|0); + $179 = (_strcmp($178,13760)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13465)|0); + $182 = (_strcmp($181,13773)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13478)|0); + $185 = (_strcmp($184,13786)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13491)|0); + $188 = (_strcmp($187,13799)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13504)|0); + $191 = (_strcmp($190,13812)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13517)|0); + $194 = (_strcmp($193,13825)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13530)|0); + $197 = (_strcmp($196,13838)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13543)|0); + $200 = (_strcmp($199,13851)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13556)|0); + $203 = (_strcmp($202,13864)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13575)|0); + $206 = (_strcmp($205,13883)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13594)|0); + $209 = (_strcmp($208,13902)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13613)|0); + $212 = (_strcmp($211,13921)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13626)|0); + $215 = (_strcmp($214,13934)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13644)|0); + $218 = (_strcmp($217,13952)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13662)|0); + $221 = (_strcmp($220,13970)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13680)|0); + $224 = (_strcmp($223,13988)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13698)|0); + $227 = (_strcmp($226,14006)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13718)|0); + $230 = (_strcmp($229,14026)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12659)|0); + $233 = (_strcmp($232,12967)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13736)|0); + $236 = (_strcmp($235,14044)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13751)|0); + $239 = (_strcmp($238,14059)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13772)|0); + $242 = (_strcmp($241,14080)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13787)|0); + $245 = (_strcmp($244,14095)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13805)|0); + $248 = (_strcmp($247,14113)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13821)|0); + $251 = (_strcmp($250,14129)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13840)|0); + $254 = (_strcmp($253,14148)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13854)|0); + $257 = (_strcmp($256,14162)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13869)|0); + $260 = (_strcmp($259,14177)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12590)|0); + $263 = (_strcmp($262,12898)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13880)|0); + $266 = (_strcmp($265,14188)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12689)|0); + $269 = (_strcmp($268,12997)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12719)|0); + $272 = (_strcmp($271,13027)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13896)|0); + $275 = (_strcmp($274,14204)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13923)|0); + $278 = (_strcmp($277,14231)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13937)|0); + $281 = (_strcmp($280,14245)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12625)|0); + $284 = (_strcmp($283,12933)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13957)|0); + $287 = (_strcmp($286,14265)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13975)|0); + $290 = (_strcmp($289,14283)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13987)|0); + $293 = (_strcmp($292,14295)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14008)|0); + $296 = (_strcmp($295,14316)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14026)|0); + $299 = (_strcmp($298,14334)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14044)|0); + $302 = (_strcmp($301,14352)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14065)|0); + $305 = (_strcmp($304,14373)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14091)|0); + $308 = (_strcmp($307,14399)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14114)|0); + $311 = (_strcmp($310,14422)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14152)|0); + $314 = (_strcmp($313,14460)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14168)|0); + $317 = (_strcmp($316,14476)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14183)|0); + $320 = (_strcmp($319,14491)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14206)|0); + $323 = (_strcmp($322,14514)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14219)|0); + $326 = (_strcmp($325,14527)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14233)|0); + $329 = (_strcmp($328,14541)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14247)|0); + $332 = (_strcmp($331,14555)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14267)|0); + $335 = (_strcmp($334,14575)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14287)|0); + $338 = (_strcmp($337,14595)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14303)|0); + $341 = (_strcmp($340,14611)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14321)|0); + $344 = (_strcmp($343,14629)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14337)|0); + $347 = (_strcmp($346,14645)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14352)|0); + $350 = (_strcmp($349,14660)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14374)|0); + $353 = (_strcmp($352,14682)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14392)|0); + $356 = (_strcmp($355,14700)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14413)|0); + $359 = (_strcmp($358,14721)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14431)|0); + $362 = (_strcmp($361,14739)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14444)|0); + $365 = (_strcmp($364,14752)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14459)|0); + $368 = (_strcmp($367,14767)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14473)|0); + $371 = (_strcmp($370,14781)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14483)|0); + $374 = (_strcmp($373,14791)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14493)|0); + $377 = (_strcmp($376,14801)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14515)|0); + $380 = (_strcmp($379,14823)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14541)|0); + $383 = (_strcmp($382,14849)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14568)|0); + $386 = (_strcmp($385,14876)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14581)|0); + $389 = (_strcmp($388,14889)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14596)|0); + $392 = (_strcmp($391,14904)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14611)|0); + $395 = (_strcmp($394,14919)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14635)|0); + $398 = (_strcmp($397,14943)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14646)|0); + $401 = (_strcmp($400,14954)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14668)|0); + $404 = (_strcmp($403,14976)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14690)|0); + $407 = (_strcmp($406,14998)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14714)|0); + $410 = (_strcmp($409,15022)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14723)|0); + $413 = (_strcmp($412,15031)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14731)|0); + $416 = (_strcmp($415,15039)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14744)|0); + $419 = (_strcmp($418,15052)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14758)|0); + $422 = (_strcmp($421,15066)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14770)|0); + $425 = (_strcmp($424,15078)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14779)|0); + $428 = (_strcmp($427,15087)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14789)|0); + $431 = (_strcmp($430,15097)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14801)|0); + $434 = (_strcmp($433,15109)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14812)|0); + $437 = (_strcmp($436,15120)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14820)|0); + $440 = (_strcmp($439,15128)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14832)|0); + $443 = (_strcmp($442,15140)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14847)|0); + $446 = (_strcmp($445,15155)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14859)|0); + $449 = (_strcmp($448,15167)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14873)|0); + $452 = (_strcmp($451,15181)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14898)|0); + $455 = (_strcmp($454,15206)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14915)|0); + $458 = (_strcmp($457,15223)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14931)|0); + $461 = (_strcmp($460,15239)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14947)|0); + $464 = (_strcmp($463,15255)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14959)|0); + $467 = (_strcmp($466,15267)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14971)|0); + $470 = (_strcmp($469,15279)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14995)|0); + $473 = (_strcmp($472,15303)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15008)|0); + $476 = (_strcmp($475,15316)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15022)|0); + $479 = (_strcmp($478,15330)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15044)|0); + $482 = (_strcmp($481,15352)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15051)|0); + $485 = (_strcmp($484,15359)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15067)|0); + $488 = (_strcmp($487,15375)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15084)|0); + $491 = (_strcmp($490,15392)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15101)|0); + $494 = (_strcmp($493,15409)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15117)|0); + $497 = (_strcmp($496,15425)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15133)|0); + $500 = (_strcmp($499,15441)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15150)|0); + $503 = (_strcmp($502,15458)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15164)|0); + $506 = (_strcmp($505,15472)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15176)|0); + $509 = (_strcmp($508,15484)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15187)|0); + $512 = (_strcmp($511,15495)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15200)|0); + $515 = (_strcmp($514,15508)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15210)|0); + $518 = (_strcmp($517,15518)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15227)|0); + $521 = (_strcmp($520,15535)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15239)|0); + $524 = (_strcmp($523,15547)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15261)|0); + $527 = (_strcmp($526,15569)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15281)|0); + $530 = (_strcmp($529,15589)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15294)|0); + $533 = (_strcmp($532,15602)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15316)|0); + $536 = (_strcmp($535,15624)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15336)|0); + $539 = (_strcmp($538,15644)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15353)|0); + $542 = (_strcmp($541,15661)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,15370)|0); + $545 = (_strcmp($544,15678)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15390)|0); + $548 = (_strcmp($547,15698)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30847,7 +30810,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21220|0); + return (21524|0); } function ___stdio_close($0) { $0 = $0|0; @@ -31304,7 +31267,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((15507) + ($50)|0); + $49 = ((15815) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -31336,7 +31299,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((15507) + ($$0159)|0); + $60 = ((15815) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -31472,10 +31435,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15763 + ($128)|0); + $129 = (16071 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((15507) + ($$1160169)|0); + $132 = ((15815) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -31497,7 +31460,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((15507) + ($$4163$be)|0); + $146 = ((15815) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -31548,7 +31511,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((15507) + ($$5$be)|0); + $178 = ((15815) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -31567,7 +31530,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((15507) + ($$1160169)|0); + $122 = ((15815) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -31589,7 +31552,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((15507) + ($$6$be)|0); + $197 = ((15815) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -31651,7 +31614,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((15507) + ($$7$be)|0); + $234 = ((15815) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -31670,7 +31633,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((15507) + ($$8)|0); + $238 = ((15815) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -31689,7 +31652,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((15507) + ($$9$be)|0); + $249 = ((15815) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -32525,7 +32488,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15772 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((16080 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -32703,7 +32666,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16236;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 16544;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -32724,7 +32687,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16236;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 16544;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -32732,8 +32695,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16236 : (16238); - $$$ = $238 ? $$ : (16237); + $$ = $240 ? 16544 : (16546); + $$$ = $238 ? $$ : (16545); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -32750,7 +32713,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16236;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 16544;$242 = $167;$243 = $170; label = 66; break; } @@ -32763,7 +32726,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16236;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 16544;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -32777,7 +32740,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16246; + $271 = $270 ? $269 : 16554; $$1 = $271; label = 71; break; @@ -32817,7 +32780,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16236;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 16544;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32839,8 +32802,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16236 + ($208)|0); - $$289 = $or$cond283 ? 16236 : $209; + $209 = (16544 + ($208)|0); + $$289 = $or$cond283 ? 16544 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32861,7 +32824,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16236;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 16544;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -33391,7 +33354,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16284 + ($7)|0); + $9 = (16592 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -33749,14 +33712,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16253; + $$0471 = $14;$$0520 = 1;$$0521 = 16561; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16254) : (16259); - $$$ = $16 ? $$ : (16256); + $$ = $18 ? (16562) : (16567); + $$$ = $16 ? $$ : (16564); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33855,7 +33818,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16284 + ($80)|0); + $81 = (16592 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -34466,7 +34429,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16300,1); + _out($0,16608,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -34547,7 +34510,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16300,1); + _out($0,16608,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -34604,9 +34567,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16272 : 16276; + $29 = $28 ? 16580 : 16584; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18203 : 16280; + $31 = $28 ? 18511 : 16588; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34816,7 +34779,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16302 + ($$016)|0); + $3 = (16610 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34827,7 +34790,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 16390;$$115 = 87; + $$01214 = 16698;$$115 = 87; label = 5; break; } else { @@ -34837,9 +34800,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 16390; + $$012$lcssa = 16698; } else { - $$01214 = 16390;$$115 = $$016; + $$01214 = 16698;$$115 = $$016; label = 5; } } @@ -35264,7 +35227,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18194 + ($$0107127)|0); + $27 = (18502 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -35331,7 +35294,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18203 + ($$2109125)|0); + $58 = (18511 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -37582,7 +37545,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21284 : $3; + $$ = $5 ? 21588 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -37873,7 +37836,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18207,$3,4)|0); + $memchr = (_memchr(18515,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -37962,7 +37925,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18207,$4,4)|0); + $memchr = (_memchr(18515,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -38053,7 +38016,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21224)>>2]|0; + $38 = HEAP32[(21528)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -38086,13 +38049,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21288|0)); - return (21296|0); + ___lock((21592|0)); + return (21600|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21288|0)); + ___unlock((21592|0)); return; } function _fclose($0) { @@ -40352,7 +40315,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 18488; + $2 = 18792; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40666,7 +40629,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5325]|0; + $3 = HEAP32[5401]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40685,22 +40648,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5325] = 0; + HEAP32[5401] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5325] = $10; + HEAP32[5401] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5325] = 0; + HEAP32[5401] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5325] = $13; + HEAP32[5401] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40781,7 +40744,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5326]|0; + $8 = HEAP32[5402]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40790,7 +40753,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21344 + ($15<<2)|0); + $16 = (21648 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40801,9 +40764,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5326] = $24; + HEAP32[5402] = $24; } else { - $25 = HEAP32[(21320)>>2]|0; + $25 = HEAP32[(21624)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40834,7 +40797,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21312)>>2]|0; + $37 = HEAP32[(21616)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40868,7 +40831,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21344 + ($68<<2)|0); + $69 = (21648 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40879,10 +40842,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5326] = $77; + HEAP32[5402] = $77; $98 = $77; } else { - $78 = HEAP32[(21320)>>2]|0; + $78 = HEAP32[(21624)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40915,22 +40878,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21324)>>2]|0; + $92 = HEAP32[(21628)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21344 + ($94<<2)|0); + $95 = (21648 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5326] = $100; + HEAP32[5402] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21320)>>2]|0; + $103 = HEAP32[(21624)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40947,12 +40910,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21312)>>2] = $84; - HEAP32[(21324)>>2] = $87; + HEAP32[(21616)>>2] = $84; + HEAP32[(21628)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21308)>>2]|0; + $108 = HEAP32[(21612)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40980,7 +40943,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21608 + ($132<<2)|0); + $133 = (21912 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -41020,7 +40983,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21320)>>2]|0; + $155 = HEAP32[(21624)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -41115,7 +41078,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21608 + ($188<<2)|0); + $189 = (21912 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -41126,11 +41089,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21308)>>2] = $194; + HEAP32[(21612)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21320)>>2]|0; + $195 = HEAP32[(21624)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41151,7 +41114,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21320)>>2]|0; + $201 = HEAP32[(21624)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41181,7 +41144,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21320)>>2]|0; + $213 = HEAP32[(21624)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41218,22 +41181,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21324)>>2]|0; + $231 = HEAP32[(21628)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21344 + ($233<<2)|0); + $234 = (21648 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5326] = $238; + HEAP32[5402] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21320)>>2]|0; + $241 = HEAP32[(21624)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41250,8 +41213,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21312)>>2] = $$0193$lcssa$i; - HEAP32[(21324)>>2] = $157; + HEAP32[(21616)>>2] = $$0193$lcssa$i; + HEAP32[(21628)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41267,7 +41230,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21308)>>2]|0; + $250 = HEAP32[(21612)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41307,7 +41270,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21608 + ($$0358$i<<2)|0); + $278 = (21912 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41399,7 +41362,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21608 + ($330<<2)|0); + $331 = (21912 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41443,11 +41406,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21312)>>2]|0; + $345 = HEAP32[(21616)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21320)>>2]|0; + $348 = HEAP32[(21624)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41544,7 +41507,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21608 + ($381<<2)|0); + $382 = (21912 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41555,12 +41518,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21308)>>2] = $387; + HEAP32[(21612)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21320)>>2]|0; + $388 = HEAP32[(21624)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41582,7 +41545,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21320)>>2]|0; + $394 = HEAP32[(21624)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41614,7 +41577,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21320)>>2]|0; + $406 = HEAP32[(21624)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41655,20 +41618,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21344 + ($425<<2)|0); - $427 = HEAP32[5326]|0; + $426 = (21648 + ($425<<2)|0); + $427 = HEAP32[5402]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5326] = $431; + HEAP32[5402] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21320)>>2]|0; + $434 = HEAP32[(21624)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41720,7 +41683,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21608 + ($$0361$i<<2)|0); + $464 = (21912 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41732,7 +41695,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21308)>>2] = $472; + HEAP32[(21612)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41771,7 +41734,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21320)>>2]|0; + $491 = HEAP32[(21624)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41790,7 +41753,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21320)>>2]|0; + $498 = HEAP32[(21624)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41823,16 +41786,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21312)>>2]|0; + $506 = HEAP32[(21616)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21324)>>2]|0; + $509 = HEAP32[(21628)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21324)>>2] = $511; - HEAP32[(21312)>>2] = $508; + HEAP32[(21628)>>2] = $511; + HEAP32[(21616)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41842,8 +41805,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21312)>>2] = 0; - HEAP32[(21324)>>2] = 0; + HEAP32[(21616)>>2] = 0; + HEAP32[(21628)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41857,14 +41820,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21316)>>2]|0; + $524 = HEAP32[(21620)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21316)>>2] = $526; - $527 = HEAP32[(21328)>>2]|0; + HEAP32[(21620)>>2] = $526; + $527 = HEAP32[(21632)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21328)>>2] = $528; + HEAP32[(21632)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41875,23 +41838,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5444]|0; + $534 = HEAP32[5520]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21784)>>2] = 4096; - HEAP32[(21780)>>2] = 4096; - HEAP32[(21788)>>2] = -1; - HEAP32[(21792)>>2] = -1; - HEAP32[(21796)>>2] = 0; - HEAP32[(21748)>>2] = 0; + HEAP32[(22088)>>2] = 4096; + HEAP32[(22084)>>2] = 4096; + HEAP32[(22092)>>2] = -1; + HEAP32[(22096)>>2] = -1; + HEAP32[(22100)>>2] = 0; + HEAP32[(22052)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5444] = $538; + HEAP32[5520] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21784)>>2]|0; + $$pre$i212 = HEAP32[(22088)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41904,10 +41867,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21744)>>2]|0; + $546 = HEAP32[(22048)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21736)>>2]|0; + $548 = HEAP32[(22040)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41917,18 +41880,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21748)>>2]|0; + $552 = HEAP32[(22052)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21328)>>2]|0; + $555 = HEAP32[(21632)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21752); + $$0$i$i = (22056); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41986,7 +41949,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21780)>>2]|0; + $569 = HEAP32[(22084)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41996,13 +41959,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21736)>>2]|0; + $578 = HEAP32[(22040)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21744)>>2]|0; + $582 = HEAP32[(22048)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -42048,7 +42011,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21784)>>2]|0; + $601 = HEAP32[(22088)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -42073,9 +42036,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21748)>>2]|0; + $611 = HEAP32[(22052)>>2]|0; $612 = $611 | 4; - HEAP32[(21748)>>2] = $612; + HEAP32[(22052)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -42111,35 +42074,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21736)>>2]|0; + $626 = HEAP32[(22040)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21736)>>2] = $627; - $628 = HEAP32[(21740)>>2]|0; + HEAP32[(22040)>>2] = $627; + $628 = HEAP32[(22044)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21740)>>2] = $627; + HEAP32[(22044)>>2] = $627; } - $630 = HEAP32[(21328)>>2]|0; + $630 = HEAP32[(21632)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21320)>>2]|0; + $632 = HEAP32[(21624)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21320)>>2] = $$749$i; - } - HEAP32[(21752)>>2] = $$749$i; - HEAP32[(21756)>>2] = $$723948$i; - HEAP32[(21764)>>2] = 0; - $635 = HEAP32[5444]|0; - HEAP32[(21340)>>2] = $635; - HEAP32[(21336)>>2] = -1; + HEAP32[(21624)>>2] = $$749$i; + } + HEAP32[(22056)>>2] = $$749$i; + HEAP32[(22060)>>2] = $$723948$i; + HEAP32[(22068)>>2] = 0; + $635 = HEAP32[5520]|0; + HEAP32[(21644)>>2] = $635; + HEAP32[(21640)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21344 + ($636<<2)|0); + $637 = (21648 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42162,18 +42125,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21328)>>2] = $649; - HEAP32[(21316)>>2] = $650; + HEAP32[(21632)>>2] = $649; + HEAP32[(21620)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21792)>>2]|0; - HEAP32[(21332)>>2] = $655; + $655 = HEAP32[(22096)>>2]|0; + HEAP32[(21636)>>2] = $655; } else { - $$024371$i = (21752); + $$024371$i = (22056); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42205,7 +42168,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21316)>>2]|0; + $671 = HEAP32[(21620)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42216,30 +42179,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21328)>>2] = $679; - HEAP32[(21316)>>2] = $681; + HEAP32[(21632)>>2] = $679; + HEAP32[(21620)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21792)>>2]|0; - HEAP32[(21332)>>2] = $686; + $686 = HEAP32[(22096)>>2]|0; + HEAP32[(21636)>>2] = $686; break; } } } - $687 = HEAP32[(21320)>>2]|0; + $687 = HEAP32[(21624)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21320)>>2] = $$749$i; + HEAP32[(21624)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21752); + $$124470$i = (22056); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42294,21 +42257,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21316)>>2]|0; + $726 = HEAP32[(21620)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21316)>>2] = $727; - HEAP32[(21328)>>2] = $721; + HEAP32[(21620)>>2] = $727; + HEAP32[(21632)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21324)>>2]|0; + $730 = HEAP32[(21628)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21312)>>2]|0; + $732 = HEAP32[(21616)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21312)>>2] = $733; - HEAP32[(21324)>>2] = $721; + HEAP32[(21616)>>2] = $733; + HEAP32[(21628)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42331,7 +42294,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21344 + ($748<<2)|0); + $749 = (21648 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42354,9 +42317,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5326]|0; + $759 = HEAP32[5402]|0; $760 = $759 & $758; - HEAP32[5326] = $760; + HEAP32[5402] = $760; break; } $761 = ($747|0)==($749|0); @@ -42469,7 +42432,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21608 + ($796<<2)|0); + $797 = (21912 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42481,12 +42444,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21308)>>2]|0; + $802 = HEAP32[(21612)>>2]|0; $803 = $802 & $801; - HEAP32[(21308)>>2] = $803; + HEAP32[(21612)>>2] = $803; break L314; } else { - $804 = HEAP32[(21320)>>2]|0; + $804 = HEAP32[(21624)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42507,7 +42470,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21320)>>2]|0; + $810 = HEAP32[(21624)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42539,7 +42502,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21320)>>2]|0; + $822 = HEAP32[(21624)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42572,21 +42535,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21344 + ($836<<2)|0); - $838 = HEAP32[5326]|0; + $837 = (21648 + ($836<<2)|0); + $838 = HEAP32[5402]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5326] = $842; + HEAP32[5402] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21320)>>2]|0; + $845 = HEAP32[(21624)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42641,20 +42604,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21608 + ($$0296$i$i<<2)|0); + $875 = (21912 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21308)>>2]|0; + $879 = HEAP32[(21612)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21308)>>2] = $883; + HEAP32[(21612)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42693,7 +42656,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21320)>>2]|0; + $902 = HEAP32[(21624)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42712,7 +42675,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21320)>>2]|0; + $909 = HEAP32[(21624)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42739,7 +42702,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21752); + $$0$i$i$i = (22056); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42780,23 +42743,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21328)>>2] = $946; - HEAP32[(21316)>>2] = $947; + HEAP32[(21632)>>2] = $946; + HEAP32[(21620)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21792)>>2]|0; - HEAP32[(21332)>>2] = $952; + $952 = HEAP32[(22096)>>2]|0; + HEAP32[(21636)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21752)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21752)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21752)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21752)+12>>2]|0; - HEAP32[(21752)>>2] = $$749$i; - HEAP32[(21756)>>2] = $$723948$i; - HEAP32[(21764)>>2] = 0; - HEAP32[(21760)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22056)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22056)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22056)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22056)+12>>2]|0; + HEAP32[(22056)>>2] = $$749$i; + HEAP32[(22060)>>2] = $$723948$i; + HEAP32[(22068)>>2] = 0; + HEAP32[(22064)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42825,20 +42788,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21344 + ($968<<2)|0); - $970 = HEAP32[5326]|0; + $969 = (21648 + ($968<<2)|0); + $970 = HEAP32[5402]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5326] = $974; + HEAP32[5402] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21320)>>2]|0; + $977 = HEAP32[(21624)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42890,19 +42853,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21608 + ($$0212$i$i<<2)|0); + $1007 = (21912 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21308)>>2]|0; + $1010 = HEAP32[(21612)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21308)>>2] = $1014; + HEAP32[(21612)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42941,7 +42904,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21320)>>2]|0; + $1033 = HEAP32[(21624)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42960,7 +42923,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21320)>>2]|0; + $1040 = HEAP32[(21624)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42983,14 +42946,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21316)>>2]|0; + $1048 = HEAP32[(21620)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21316)>>2] = $1050; - $1051 = HEAP32[(21328)>>2]|0; + HEAP32[(21620)>>2] = $1050; + $1051 = HEAP32[(21632)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21328)>>2] = $1052; + HEAP32[(21632)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -43033,7 +42996,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21320)>>2]|0; + $3 = HEAP32[(21624)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -43066,7 +43029,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21324)>>2]|0; + $19 = HEAP32[(21628)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -43081,7 +43044,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21312)>>2] = $17; + HEAP32[(21616)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -43095,7 +43058,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21344 + ($27<<2)|0); + $28 = (21648 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -43115,9 +43078,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5326]|0; + $37 = HEAP32[5402]|0; $38 = $37 & $36; - HEAP32[5326] = $38; + HEAP32[5402] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43231,7 +43194,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21608 + ($74<<2)|0); + $75 = (21912 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43241,14 +43204,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21308)>>2]|0; + $80 = HEAP32[(21612)>>2]|0; $81 = $80 & $79; - HEAP32[(21308)>>2] = $81; + HEAP32[(21612)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21320)>>2]|0; + $82 = HEAP32[(21624)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43270,7 +43233,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21320)>>2]|0; + $88 = HEAP32[(21624)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43302,7 +43265,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21320)>>2]|0; + $100 = HEAP32[(21624)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43337,14 +43300,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21328)>>2]|0; + $120 = HEAP32[(21632)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21324)>>2]|0; + $122 = HEAP32[(21628)>>2]|0; if ($121) { - $123 = HEAP32[(21316)>>2]|0; + $123 = HEAP32[(21620)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21316)>>2] = $124; - HEAP32[(21328)>>2] = $$1; + HEAP32[(21620)>>2] = $124; + HEAP32[(21632)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43352,16 +43315,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21324)>>2] = 0; - HEAP32[(21312)>>2] = 0; + HEAP32[(21628)>>2] = 0; + HEAP32[(21616)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21312)>>2]|0; + $129 = HEAP32[(21616)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21312)>>2] = $130; - HEAP32[(21324)>>2] = $113; + HEAP32[(21616)>>2] = $130; + HEAP32[(21628)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43380,10 +43343,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21344 + ($142<<2)|0); + $143 = (21648 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21320)>>2]|0; + $145 = HEAP32[(21624)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43401,9 +43364,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5326]|0; + $153 = HEAP32[5402]|0; $154 = $153 & $152; - HEAP32[5326] = $154; + HEAP32[5402] = $154; break; } $155 = ($141|0)==($143|0); @@ -43411,7 +43374,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21320)>>2]|0; + $156 = HEAP32[(21624)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43471,7 +43434,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21320)>>2]|0; + $189 = HEAP32[(21624)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43484,7 +43447,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21320)>>2]|0; + $169 = HEAP32[(21624)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43515,7 +43478,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21608 + ($193<<2)|0); + $194 = (21912 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43525,13 +43488,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21308)>>2]|0; + $199 = HEAP32[(21612)>>2]|0; $200 = $199 & $198; - HEAP32[(21308)>>2] = $200; + HEAP32[(21612)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21320)>>2]|0; + $201 = HEAP32[(21624)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43552,7 +43515,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21320)>>2]|0; + $207 = HEAP32[(21624)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43582,7 +43545,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21320)>>2]|0; + $219 = HEAP32[(21624)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43603,10 +43566,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21324)>>2]|0; + $226 = HEAP32[(21628)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21312)>>2] = $135; + HEAP32[(21616)>>2] = $135; return; } else { $$2 = $135; @@ -43625,20 +43588,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21344 + ($234<<2)|0); - $236 = HEAP32[5326]|0; + $235 = (21648 + ($234<<2)|0); + $236 = HEAP32[5402]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5326] = $240; + HEAP32[5402] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21320)>>2]|0; + $243 = HEAP32[(21624)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43690,21 +43653,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21608 + ($$0396<<2)|0); + $273 = (21912 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21308)>>2]|0; + $277 = HEAP32[(21612)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21308)>>2] = $281; + HEAP32[(21612)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43742,7 +43705,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21320)>>2]|0; + $300 = HEAP32[(21624)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43761,7 +43724,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21320)>>2]|0; + $307 = HEAP32[(21624)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43783,12 +43746,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21336)>>2]|0; + $314 = HEAP32[(21640)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21336)>>2] = $315; + HEAP32[(21640)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21760); + $$0212$in$i = (22064); } else { return; } @@ -43802,7 +43765,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21336)>>2] = -1; + HEAP32[(21640)>>2] = -1; return; } function _realloc($0,$1) { @@ -43874,7 +43837,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21320)>>2]|0; + $6 = HEAP32[(21624)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -43904,7 +43867,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21784)>>2]|0; + $18 = HEAP32[(22088)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -43940,10 +43903,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21328)>>2]|0; + $34 = HEAP32[(21632)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21316)>>2]|0; + $36 = HEAP32[(21620)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -43959,15 +43922,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21328)>>2] = $40; - HEAP32[(21316)>>2] = $39; + HEAP32[(21632)>>2] = $40; + HEAP32[(21620)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21324)>>2]|0; + $46 = HEAP32[(21628)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21312)>>2]|0; + $48 = HEAP32[(21616)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -44003,8 +43966,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21312)>>2] = $storemerge1; - HEAP32[(21324)>>2] = $storemerge; + HEAP32[(21616)>>2] = $storemerge1; + HEAP32[(21628)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -44031,7 +43994,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21344 + ($81<<2)|0); + $82 = (21648 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -44051,9 +44014,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5326]|0; + $91 = HEAP32[5402]|0; $92 = $91 & $90; - HEAP32[5326] = $92; + HEAP32[5402] = $92; break; } $93 = ($80|0)==($82|0); @@ -44162,7 +44125,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21608 + ($128<<2)|0); + $129 = (21912 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -44172,13 +44135,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21308)>>2]|0; + $134 = HEAP32[(21612)>>2]|0; $135 = $134 & $133; - HEAP32[(21308)>>2] = $135; + HEAP32[(21612)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21320)>>2]|0; + $136 = HEAP32[(21624)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -44199,7 +44162,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21320)>>2]|0; + $142 = HEAP32[(21624)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -44229,7 +44192,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21320)>>2]|0; + $154 = HEAP32[(21624)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -44314,13 +44277,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21320)>>2]|0; + $13 = HEAP32[(21624)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21324)>>2]|0; + $15 = HEAP32[(21628)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -44335,7 +44298,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21312)>>2] = $12; + HEAP32[(21616)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -44349,7 +44312,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21344 + ($23<<2)|0); + $24 = (21648 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -44369,9 +44332,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5326]|0; + $33 = HEAP32[5402]|0; $34 = $33 & $32; - HEAP32[5326] = $34; + HEAP32[5402] = $34; $$1 = $11;$$1418 = $12; break; } @@ -44485,7 +44448,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21608 + ($70<<2)|0); + $71 = (21912 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -44495,14 +44458,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21308)>>2]|0; + $76 = HEAP32[(21612)>>2]|0; $77 = $76 & $75; - HEAP32[(21308)>>2] = $77; + HEAP32[(21612)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21320)>>2]|0; + $78 = HEAP32[(21624)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -44524,7 +44487,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21320)>>2]|0; + $84 = HEAP32[(21624)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -44556,7 +44519,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21320)>>2]|0; + $96 = HEAP32[(21624)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -44575,7 +44538,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21320)>>2]|0; + $108 = HEAP32[(21624)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -44586,14 +44549,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21328)>>2]|0; + $114 = HEAP32[(21632)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21324)>>2]|0; + $116 = HEAP32[(21628)>>2]|0; if ($115) { - $117 = HEAP32[(21316)>>2]|0; + $117 = HEAP32[(21620)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21316)>>2] = $118; - HEAP32[(21328)>>2] = $$1; + HEAP32[(21620)>>2] = $118; + HEAP32[(21632)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -44601,16 +44564,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21324)>>2] = 0; - HEAP32[(21312)>>2] = 0; + HEAP32[(21628)>>2] = 0; + HEAP32[(21616)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21312)>>2]|0; + $123 = HEAP32[(21616)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21312)>>2] = $124; - HEAP32[(21324)>>2] = $$1; + HEAP32[(21616)>>2] = $124; + HEAP32[(21628)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -44629,7 +44592,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21344 + ($136<<2)|0); + $137 = (21648 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -44649,9 +44612,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5326]|0; + $146 = HEAP32[5402]|0; $147 = $146 & $145; - HEAP32[5326] = $147; + HEAP32[5402] = $147; break; } $148 = ($135|0)==($137|0); @@ -44760,7 +44723,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21608 + ($183<<2)|0); + $184 = (21912 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -44770,13 +44733,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21308)>>2]|0; + $189 = HEAP32[(21612)>>2]|0; $190 = $189 & $188; - HEAP32[(21308)>>2] = $190; + HEAP32[(21612)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21320)>>2]|0; + $191 = HEAP32[(21624)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -44797,7 +44760,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21320)>>2]|0; + $197 = HEAP32[(21624)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -44827,7 +44790,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21320)>>2]|0; + $209 = HEAP32[(21624)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -44848,10 +44811,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21324)>>2]|0; + $216 = HEAP32[(21628)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21312)>>2] = $129; + HEAP32[(21616)>>2] = $129; return; } else { $$2 = $129; @@ -44870,20 +44833,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21344 + ($224<<2)|0); - $226 = HEAP32[5326]|0; + $225 = (21648 + ($224<<2)|0); + $226 = HEAP32[5402]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5326] = $230; + HEAP32[5402] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21320)>>2]|0; + $233 = HEAP32[(21624)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -44935,20 +44898,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21608 + ($$0431<<2)|0); + $263 = (21912 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21308)>>2]|0; + $267 = HEAP32[(21612)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21308)>>2] = $271; + HEAP32[(21612)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -44987,7 +44950,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21320)>>2]|0; + $290 = HEAP32[(21624)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -45005,7 +44968,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21320)>>2]|0; + $297 = HEAP32[(21624)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/shaders/shaders_model_shader.js b/docs/examples/web/shaders/shaders_model_shader.js index e5716334..b12bd5b1 100644 --- a/docs/examples/web/shaders/shaders_model_shader.js +++ b/docs/examples/web/shaders/shaders_model_shader.js @@ -185,7 +185,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024142, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 4024142, "package_uuid": "627f74ed-1caa-42bf-a560-577eecbe6b0d"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024142, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 4024142, "package_uuid": "27692f49-fde6-4c3d-9ac8-e2e96405fe19"}); })(); @@ -1778,12 +1778,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24080; +STATICTOP = STATIC_BASE + 24064; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,7,90,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,101,108,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,255,89,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,109,111,100,101,108,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10518,21 +10518,21 @@ function _main() { $4 = HEAP32[3]|0; _InitWindow($3,$4,4448); _LoadModel($0,4488); - _memcpy((18132|0),($0|0),264)|0; + _memcpy((18444|0),($0|0),264)|0; _LoadTexture($1,4514); - ;HEAP32[18396>>2]=HEAP32[$1>>2]|0;HEAP32[18396+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18396+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18396+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18396+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18708>>2]=HEAP32[$1>>2]|0;HEAP32[18708+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18708+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18708+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18708+16>>2]=HEAP32[$1+16>>2]|0; _LoadShader($2,4548,4582); - dest=18416; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=(18264); src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - ;HEAP32[(18320)>>2]=HEAP32[18396>>2]|0;HEAP32[(18320)+4>>2]=HEAP32[18396+4>>2]|0;HEAP32[(18320)+8>>2]=HEAP32[18396+8>>2]|0;HEAP32[(18320)+12>>2]=HEAP32[18396+12>>2]|0;HEAP32[(18320)+16>>2]=HEAP32[18396+16>>2]|0; + dest=18728; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18576); src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[(18632)>>2]=HEAP32[18708>>2]|0;HEAP32[(18632)+4>>2]=HEAP32[18708+4>>2]|0;HEAP32[(18632)+8>>2]=HEAP32[18708+8>>2]|0;HEAP32[(18632)+12>>2]=HEAP32[18708+12>>2]|0;HEAP32[(18632)+16>>2]=HEAP32[18708+16>>2]|0; dest=$dwarf$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($dwarf$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - dest=$dwarf$byval_copy; src=18416; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$dwarf$byval_copy; src=18728; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadShader($dwarf$byval_copy); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18396>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18396+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18396+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18396+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18396+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18708>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18708+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18708+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18708+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18708+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(18132|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18444|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10562,8 +10562,8 @@ function _UpdateDrawFrame() { dest=$$byval_copy1; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy1); HEAP32[$1>>2] = -1; - _memcpy(($dwarf$byval_copy|0),(18132|0),264)|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[18120>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[18120+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[18120+8>>2]|0; + _memcpy(($dwarf$byval_copy|0),(18444|0),264)|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[18432>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[18432+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[18432+8>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($dwarf$byval_copy,$position$byval_copy,2.0,$$byval_copy1); _DrawGrid(10,1.0); @@ -10585,30 +10585,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10761,13 +10811,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11756,7 +11799,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4619] = $2; + HEAP32[4697] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11769,7 +11812,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 17840; + $95 = 18152; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11782,48 +11825,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 17880; + $106 = 18192; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4470]; - $111 = +HEAPF32[4460]; + $110 = +HEAPF32[4548]; + $111 = +HEAPF32[4538]; $112 = $110 - $111; - HEAPF32[4472] = $112; - $113 = +HEAPF32[(17884)>>2]; - $114 = +HEAPF32[(17844)>>2]; + HEAPF32[4550] = $112; + $113 = +HEAPF32[(18196)>>2]; + $114 = +HEAPF32[(18156)>>2]; $115 = $113 - $114; - HEAPF32[(17892)>>2] = $115; - HEAP32[4618] = 4; + HEAPF32[(18204)>>2] = $115; + HEAP32[4696] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4624] = $116; - $117 = 17872; + HEAPF32[4702] = $116; + $117 = 18184; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 17840; + $123 = 18152; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 17896; + $127 = 18208; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 17880; + $133 = 18192; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11836,7 +11879,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 17872; + $144 = 18184; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11849,27 +11892,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 17896; + $155 = 18208; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4474]; - $160 = +HEAPF32[4468]; + $159 = +HEAPF32[4552]; + $160 = +HEAPF32[4546]; $161 = $159 - $160; - HEAPF32[4472] = $161; - $162 = +HEAPF32[(17900)>>2]; - $163 = +HEAPF32[(17876)>>2]; + HEAPF32[4550] = $161; + $162 = +HEAPF32[(18212)>>2]; + $163 = +HEAPF32[(18188)>>2]; $164 = $162 - $163; - HEAPF32[(17892)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17872+4>>2]|0; + HEAPF32[(18204)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18184+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18192+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11881,31 +11924,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4624]; + $170 = +HEAPF32[4702]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4618] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17896+4>>2]|0; + HEAP32[4696] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18208+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4625] = $174; + HEAPF32[4703] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4624] = 0.0; - HEAPF32[4625] = 0.0; - HEAPF32[4472] = 0.0; - HEAPF32[(17892)>>2] = 0.0; - HEAP32[4619] = 0; - HEAP32[4618] = 0; + HEAPF32[4702] = 0.0; + HEAPF32[4703] = 0.0; + HEAPF32[4550] = 0.0; + HEAPF32[(18204)>>2] = 0.0; + HEAP32[4697] = 0; + HEAP32[4696] = 0; STACKTOP = sp;return; break; } @@ -11915,22 +11958,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4620]|0; + $6 = HEAP32[4698]|0; $7 = (($6) + 1)|0; - HEAP32[4620] = $7; - $8 = HEAP32[4618]|0; + HEAP32[4698] = $7; + $8 = HEAP32[4696]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4618] = 2; - HEAP32[4620] = 0; + HEAP32[4696] = 2; + HEAP32[4698] = 0; } else { label = 6; } @@ -11938,8 +11981,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4620] = 1; - HEAP32[4618] = 1; + HEAP32[4698] = 1; + HEAP32[4696] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11948,19 +11991,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 17840; + $21 = 18152; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 17848; + $25 = 18160; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 17856; + $29 = 18168; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11969,13 +12012,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4466] = 0.0; - HEAPF32[(17868)>>2] = 0.0; + HEAPF32[4544] = 0.0; + HEAPF32[(18180)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4618]|0; + $35 = HEAP32[4696]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11985,19 +12028,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 17856; + $44 = 18168; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18168+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4621] = $49; - HEAP32[4622] = 0; + HEAPF32[4699] = $49; + HEAP32[4700] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -12005,11 +12048,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17856+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18168+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4623] = $56; + HEAPF32[4701] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12040,22 +12083,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4621] = 0.0; - HEAPF32[4623] = 0.0; + HEAPF32[4699] = 0.0; + HEAPF32[4701] = 0.0; $$sink10 = 0; } - HEAP32[4618] = $$sink10; - HEAPF32[4462] = 0.0; - HEAPF32[(17852)>>2] = 0.0; - HEAP32[4619] = 0; + HEAP32[4696] = $$sink10; + HEAPF32[4540] = 0.0; + HEAPF32[(18164)>>2] = 0.0; + HEAP32[4697] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4622]|0; + $65 = HEAP32[4700]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4622] = 1; + HEAP32[4700] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12064,31 +12107,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 17872; + $74 = 18184; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4618]|0; + $78 = HEAP32[4696]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[17840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[17840+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[17872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[17872+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18184+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4618] = 8; + HEAP32[4696] = 8; } } - $82 = +HEAPF32[4468]; - $83 = +HEAPF32[4462]; + $82 = +HEAPF32[4546]; + $83 = +HEAPF32[4540]; $84 = $82 - $83; - HEAPF32[4466] = $84; - $85 = +HEAPF32[(17876)>>2]; - $86 = +HEAPF32[(17852)>>2]; + HEAPF32[4544] = $84; + $85 = +HEAPF32[(18188)>>2]; + $86 = +HEAPF32[(18164)>>2]; $87 = $85 - $86; - HEAPF32[(17868)>>2] = $87; + HEAPF32[(18180)>>2] = $87; STACKTOP = sp;return; break; } @@ -12097,58 +12140,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4618]|0; + $0 = HEAP32[4696]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4619]|0; + $2 = HEAP32[4697]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4618] = 4; + HEAP32[4696] = 4; } - $4 = HEAP32[4618]|0; + $4 = HEAP32[4696]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12161,7 +12165,7 @@ function _UpdateGestures() { return; } } - HEAP32[4618] = 0; + HEAP32[4696] = 0; return; } function _SetCameraMode($0,$1) { @@ -12190,22 +12194,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4626] = $10; + HEAPF32[4704] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4627] = $16; + HEAPF32[4705] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4628] = $20; + HEAPF32[4706] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[15] = $21; - HEAP32[4629] = $1; + HEAP32[4707] = $1; return; } function _UpdateCamera($0) { @@ -12274,7 +12278,7 @@ function _UpdateCamera($0) { $30 = HEAP32[24]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4629]|0; + $32 = HEAP32[4707]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12346,9 +12350,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4476]; + $64 = +HEAPF32[4554]; $65 = $37 - $64; - $66 = +HEAPF32[(17908)>>2]; + $66 = +HEAPF32[(18220)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12356,11 +12360,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4476]; + $69 = +HEAPF32[4554]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(17908)>>2]; + $73 = +HEAPF32[(18220)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12372,16 +12376,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 17904; + $81 = 18216; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4629]|0; + $$pr = HEAP32[4707]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4626]; + $85 = +HEAPF32[4704]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12390,10 +12394,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4626] = $90; + HEAPF32[4704] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4626] = 120.0; + HEAPF32[4704] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12472,12 +12476,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4626] = $148; + HEAPF32[4704] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4626] = 0.30000001192092896; + HEAPF32[4704] = 0.30000001192092896; break; } } @@ -12499,7 +12503,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4626]; + $164 = +HEAPF32[4704]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12531,7 +12535,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4626]; + $188 = +HEAPF32[4704]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12555,12 +12559,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4626]; + $205 = +HEAPF32[4704]; $206 = $205 - $204; - HEAPF32[4626] = $206; + HEAPF32[4704] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4626] = 0.30000001192092896; + HEAPF32[4704] = 0.30000001192092896; } } } @@ -12574,17 +12578,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4627]; + $223 = +HEAPF32[4705]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4628]; + $229 = +HEAPF32[4706]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4626]; + $233 = +HEAPF32[4704]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12614,23 +12618,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4626]; + $212 = +HEAPF32[4704]; $213 = $211 + $212; - HEAPF32[4626] = $213; + HEAPF32[4704] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4627]; + $215 = +HEAPF32[4705]; $216 = $215 - $214; - HEAPF32[4627] = $216; + HEAPF32[4705] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4628]; + $218 = +HEAPF32[4706]; $219 = $218 - $217; - HEAPF32[4628] = $219; + HEAPF32[4706] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4628] = 1.483529806137085; + HEAPF32[4706] = 1.483529806137085; label = 58; break L1; } @@ -12639,32 +12643,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4628] = -1.483529806137085; + HEAPF32[4706] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4627]; + $254 = +HEAPF32[4705]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4627] = $255; + HEAPF32[4705] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4626]; + $258 = +HEAPF32[4704]; $259 = $258 - $257; - HEAPF32[4626] = $259; + HEAPF32[4704] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4626] = 1.2000000476837158; + HEAPF32[4704] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4627]; + $264 = +HEAPF32[4705]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12686,7 +12690,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4628]; + $285 = +HEAPF32[4706]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12754,14 +12758,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4627]; + $314 = +HEAPF32[4705]; $315 = $314 - $313; - HEAPF32[4627] = $315; + HEAPF32[4705] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4628]; + $317 = +HEAPF32[4706]; $318 = $317 - $316; - HEAPF32[4628] = $318; - $319 = HEAP32[4629]|0; + HEAPF32[4706] = $318; + $319 = HEAP32[4707]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12776,17 +12780,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4628] = $$sink26; + HEAPF32[4706] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4626]; + $325 = +HEAPF32[4704]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4626] = $storemerge; + HEAPF32[4704] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4627]; + $329 = +HEAPF32[4705]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12817,17 +12821,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4628] = $$sink28; + HEAPF32[4706] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4627]; + $347 = +HEAPF32[4705]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4628]; + $353 = +HEAPF32[4706]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12841,12 +12845,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4630]|0; + $364 = HEAP32[4708]|0; $365 = (($364) + 1)|0; - HEAP32[4630] = $365; + HEAP32[4708] = $365; } $366 = +HEAPF32[15]; - $367 = HEAP32[4630]|0; + $367 = HEAP32[4708]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12876,7 +12880,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4629]|0; + $$pr190 = HEAP32[4707]|0; $380 = $$pr190; } switch ($380|0) { @@ -12887,11 +12891,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4627]; + $381 = +HEAPF32[4705]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4626]; + $383 = +HEAPF32[4704]; $384 = $382 * $383; - $385 = +HEAPF32[4628]; + $385 = +HEAPF32[4706]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -12900,7 +12904,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4626]; + $393 = +HEAPF32[4704]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -12924,7 +12928,7 @@ function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 17912; + $1 = 18224; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12941,7 +12945,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4635]|0; + $0 = HEAP32[4713]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -12966,19 +12970,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4634]|0; + $0 = HEAP32[4712]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4633]|0; + $0 = HEAP32[4711]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4631] = 1; + HEAP32[4709] = 1; return; } function _SetMousePosition($0) { @@ -12991,13 +12995,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 17912; + $7 = 18224; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4632]|0; + $11 = HEAP32[4710]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13009,14 +13013,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4631] = 0; + HEAP32[4709] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4632]|0; + $1 = HEAP32[4710]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13024,7 +13028,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4632]|0; + $1 = HEAP32[4710]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13037,7 +13041,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4656,$vararg_buffer); - HEAP32[4636] = $2; + HEAP32[4714] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13050,15 +13054,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4685|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4634]|0; + $3 = HEAP32[4712]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4478] = $5; - $6 = HEAP32[4633]|0; + HEAPF32[4556] = $5; + $6 = HEAP32[4711]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(17916)>>2] = $8; - $9 = HEAP32[4637]|0; + HEAPF32[(18228)>>2] = $8; + $9 = HEAP32[4715]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13077,11 +13081,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[17952>>0]=HEAP8[9185>>0]|0;HEAP8[17952+1>>0]=HEAP8[9185+1>>0]|0;HEAP8[17952+2>>0]=HEAP8[9185+2>>0]|0;HEAP8[17952+3>>0]=HEAP8[9185+3>>0]|0;HEAP8[17952+4>>0]=HEAP8[9185+4>>0]|0;HEAP8[17952+5>>0]=HEAP8[9185+5>>0]|0;HEAP8[17952+6>>0]=HEAP8[9185+6>>0]|0; + ;HEAP8[18264>>0]=HEAP8[9185>>0]|0;HEAP8[18264+1>>0]=HEAP8[9185+1>>0]|0;HEAP8[18264+2>>0]=HEAP8[9185+2>>0]|0;HEAP8[18264+3>>0]=HEAP8[9185+3>>0]|0;HEAP8[18264+4>>0]=HEAP8[9185+4>>0]|0;HEAP8[18264+5>>0]=HEAP8[9185+5>>0]|0;HEAP8[18264+6>>0]=HEAP8[9185+6>>0]|0; break; } case 1: { - $3 = 17952; + $3 = 18264; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13090,11 +13094,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=17952; src=9192; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18264; src=9192; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 17952; + $7 = 18264; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13105,16 +13109,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(17952,$1)|0); - $strlen = (_strlen(17952)|0); - $endptr = (17952 + ($strlen)|0); + (_strcat(18264,$1)|0); + $strlen = (_strlen(18264)|0); + $endptr = (18264 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(17952,$2)|0); + (_vprintf(18264,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13146,22 +13150,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4634] = $0; - HEAP32[4633] = $1; + HEAP32[4712] = $0; + HEAP32[4711] = $1; _MatrixIdentity($2); - dest=18624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18936; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5327,$vararg_buffer); } - $6 = HEAP32[4634]|0; - HEAP32[4672] = $6; - $7 = HEAP32[4633]|0; - HEAP32[4673] = $7; + $6 = HEAP32[4712]|0; + HEAP32[4750] = $6; + $7 = HEAP32[4711]|0; + HEAP32[4751] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21368]|0; + $8 = HEAP8[21680]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13169,13 +13173,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21368]|0; + $11 = HEAP8[21680]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21368]|0; + $14 = HEAP8[21680]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13197,18 +13201,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4674]|0; + $21 = HEAP32[4752]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4634]|0; - $48 = HEAP32[4633]|0; - $49 = HEAP32[4636]|0; + $47 = HEAP32[4712]|0; + $48 = HEAP32[4711]|0; + $49 = HEAP32[4714]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4632] = $50; - $51 = HEAP32[4634]|0; - HEAP32[4675] = $51; - $52 = HEAP32[4633]|0; - HEAP32[4676] = $52; + HEAP32[4710] = $50; + $51 = HEAP32[4712]|0; + HEAP32[4753] = $51; + $52 = HEAP32[4711]|0; + HEAP32[4754] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13217,9 +13221,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4634]|0; + $27 = HEAP32[4712]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4633]|0; + $29 = HEAP32[4711]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13241,25 +13245,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4672] = $31; - HEAP32[4673] = $34; + HEAP32[4750] = $31; + HEAP32[4751] = $34; } } while(0); - $38 = HEAP32[4672]|0; - $39 = HEAP32[4673]|0; + $38 = HEAP32[4750]|0; + $39 = HEAP32[4751]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5378,$vararg_buffer3); - $40 = HEAP32[4672]|0; - $41 = HEAP32[4673]|0; + $40 = HEAP32[4750]|0; + $41 = HEAP32[4751]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4672]|0; - $43 = HEAP32[4673]|0; - $44 = HEAP32[4636]|0; + $42 = HEAP32[4750]|0; + $43 = HEAP32[4751]|0; + $44 = HEAP32[4714]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4632] = $46; + HEAP32[4710] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13268,60 +13272,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5416,$vararg_buffer6); } else { _TraceLog(0,5449,$vararg_buffer8); - $55 = HEAP32[4675]|0; - $56 = HEAP32[4676]|0; + $55 = HEAP32[4753]|0; + $56 = HEAP32[4754]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5489,$vararg_buffer10); - $57 = HEAP32[4634]|0; - $58 = HEAP32[4633]|0; + $57 = HEAP32[4712]|0; + $58 = HEAP32[4711]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5510,$vararg_buffer14); - $59 = HEAP32[4677]|0; - $60 = HEAP32[4678]|0; + $59 = HEAP32[4755]|0; + $60 = HEAP32[4756]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5531,$vararg_buffer18); } - $61 = HEAP32[4632]|0; + $61 = HEAP32[4710]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4632]|0; + $62 = HEAP32[4710]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4632]|0; + $63 = HEAP32[4710]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4632]|0; + $64 = HEAP32[4710]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4632]|0; + $65 = HEAP32[4710]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4632]|0; + $66 = HEAP32[4710]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4632]|0; + $67 = HEAP32[4710]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4632]|0; + $68 = HEAP32[4710]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4632]|0; + $69 = HEAP32[4710]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21368]|0; + $70 = HEAP8[21680]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4634]|0; - $74 = HEAP32[4633]|0; + $73 = HEAP32[4712]|0; + $74 = HEAP32[4711]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4675]|0; - $76 = HEAP32[4677]|0; + $75 = HEAP32[4753]|0; + $76 = HEAP32[4755]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4676]|0; - $80 = HEAP32[4678]|0; + $79 = HEAP32[4754]|0; + $80 = HEAP32[4756]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13340,18 +13344,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5556,$vararg_buffer22); - $73 = HEAP32[4634]|0; - $74 = HEAP32[4633]|0; + $73 = HEAP32[4712]|0; + $74 = HEAP32[4711]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4675]|0; - $76 = HEAP32[4677]|0; + $75 = HEAP32[4753]|0; + $76 = HEAP32[4755]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4676]|0; - $80 = HEAP32[4678]|0; + $79 = HEAP32[4754]|0; + $80 = HEAP32[4756]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13379,7 +13383,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18592)>>2] = 224; + HEAP32[(18904)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13420,27 +13424,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18568>>2]=HEAP32[$1>>2]|0;HEAP32[18568+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18568+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18568+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18568+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18880>>2]=HEAP32[$1>>2]|0;HEAP32[18880+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18880+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18880+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18880+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18592)>>2]|0; + $5 = HEAP32[(18904)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18596)>>2] = $7; + HEAP32[(18908)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18588)>>2] = $23; - $24 = HEAP32[4642]|0; + HEAP32[(18900)>>2] = $23; + $24 = HEAP32[4720]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4880,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18572)>>2]|0; - $10 = HEAP32[(18592)>>2]|0; - $11 = HEAP32[(18596)>>2]|0; + $9 = HEAP32[(18884)>>2]|0; + $10 = HEAP32[(18904)>>2]|0; + $11 = HEAP32[(18908)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13489,8 +13493,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18588)>>2] = $23; - $24 = HEAP32[4642]|0; + HEAP32[(18900)>>2] = $23; + $24 = HEAP32[4720]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4880,$vararg_buffer); STACKTOP = sp;return; @@ -13501,7 +13505,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2243] = $1; + HEAPF64[2282] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13660,7 +13664,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 17928; + $31 = 18240; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13673,7 +13677,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (17936); + $42 = (18248); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13729,7 +13733,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18552 + ($10<<2)|0); + $11 = (18864 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13743,7 +13747,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2240] = $$; + HEAPF64[2279] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13755,7 +13759,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4637] = 0; + HEAP32[4715] = 0; return; } function _GetTime() { @@ -14331,7 +14335,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4650]|0; + $6 = HEAP32[4728]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14341,7 +14345,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4651]|0; + $9 = HEAP32[4729]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14350,7 +14354,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4652]|0; + $12 = HEAP32[4730]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14360,7 +14364,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4653]|0; + $15 = HEAP32[4731]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14370,7 +14374,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4654]|0; + $18 = HEAP32[4732]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14414,7 +14418,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4650]|0; + $22 = HEAP32[4728]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14422,7 +14426,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4650]|0; + $24 = HEAP32[4728]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14430,7 +14434,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4650]|0; + $26 = HEAP32[4728]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14438,7 +14442,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4650]|0; + $28 = HEAP32[4728]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14446,7 +14450,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4651]|0; + $30 = HEAP32[4729]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14454,7 +14458,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4652]|0; + $32 = HEAP32[4730]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14462,7 +14466,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4652]|0; + $34 = HEAP32[4730]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14470,7 +14474,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4653]|0; + $36 = HEAP32[4731]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14478,7 +14482,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4653]|0; + $38 = HEAP32[4731]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14486,7 +14490,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4654]|0; + $40 = HEAP32[4732]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14494,7 +14498,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4654]|0; + $42 = HEAP32[4732]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14506,7 +14510,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4655]|0; + $44 = HEAP32[4733]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14521,7 +14525,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11685,$vararg_buffer15); + _TraceLog(2,11993,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14852,20 +14856,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4634]|0; + $3 = HEAP32[4712]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4633]|0; + $5 = HEAP32[4711]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4675] = $3; - HEAP32[4676] = $5; - HEAP32[4677] = 0; - HEAP32[4678] = 0; + HEAP32[4753] = $3; + HEAP32[4754] = $5; + HEAP32[4755] = 0; + HEAP32[4756] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14879,9 +14883,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4634]|0; + $35 = HEAP32[4712]|0; $36 = (+($35|0)); - $37 = HEAP32[4633]|0; + $37 = HEAP32[4711]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14889,26 +14893,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4675] = $45; - HEAP32[4676] = $37; + HEAP32[4753] = $45; + HEAP32[4754] = $37; $46 = (($45) - ($35))|0; - HEAP32[4677] = $46; + HEAP32[4755] = $46; $$sink1 = 0; } else { - HEAP32[4675] = $35; + HEAP32[4753] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4676] = $42; - HEAP32[4677] = 0; + HEAP32[4754] = $42; + HEAP32[4755] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4678] = $$sink1; + HEAP32[4756] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4633]|0; + $7 = HEAP32[4711]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14918,11 +14922,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8938,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4634]|0; + $9 = HEAP32[4712]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4633]|0; + $13 = HEAP32[4711]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14930,33 +14934,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4675] = $23; - HEAP32[4676] = $1; + HEAP32[4753] = $23; + HEAP32[4754] = $1; $24 = (($0) - ($23))|0; - HEAP32[4677] = $24; + HEAP32[4755] = $24; $$sink = 0; } else { - HEAP32[4675] = $0; - $17 = HEAP32[4633]|0; + HEAP32[4753] = $0; + $17 = HEAP32[4711]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4676] = $20; - HEAP32[4677] = 0; + HEAP32[4754] = $20; + HEAP32[4755] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4678] = $$sink; - $25 = HEAP32[4675]|0; + HEAP32[4756] = $$sink; + $25 = HEAP32[4753]|0; $26 = (+($25|0)); - $27 = HEAP32[4634]|0; + $27 = HEAP32[4712]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4675] = $0; - HEAP32[4676] = $1; + dest=18936; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4753] = $0; + HEAP32[4754] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -14978,10 +14982,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4634] = $1; - HEAP32[4633] = $2; - HEAP32[4675] = $1; - HEAP32[4676] = $2; + HEAP32[4712] = $1; + HEAP32[4711] = $2; + HEAP32[4753] = $1; + HEAP32[4754] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15008,7 +15012,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21375 + ($1)|0); + $9 = (21687 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15029,7 +15033,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21369 + ($1)|0); + $7 = (21681 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15108,7 +15112,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 17928; + $15 = 18240; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15143,7 +15147,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5048] = $3; + HEAP32[5126] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15153,7 +15157,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5047] = $$sink; + HEAP32[5125] = $$sink; return; } function _rlglInit($0,$1) { @@ -15234,18 +15238,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5688)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4713] = 1; + HEAP32[4791] = 1; $27 = (_eglGetProcAddress((5715|0))|0); - HEAP32[4714] = $27; + HEAP32[4792] = $27; $28 = (_eglGetProcAddress((5736|0))|0); - HEAP32[4715] = $28; + HEAP32[4793] = $28; $29 = (_eglGetProcAddress((5757|0))|0); - HEAP32[4716] = $29; + HEAP32[4794] = $29; } $30 = (_strcmp($24,5781)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4655] = 1; + HEAP32[4733] = 1; } $32 = (_strcmp($24,5801)|0); $33 = ($32|0)==(0); @@ -15267,7 +15271,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4650] = 1; + HEAP32[4728] = 1; } $39 = (_strcmp($24,5906)|0); $40 = ($39|0)==(0); @@ -15283,35 +15287,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4651] = 1; + HEAP32[4729] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5975)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4652] = 1; + HEAP32[4730] = 1; } $47 = (_strcmp($44,6000)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4653] = 1; + HEAP32[4731] = 1; } $49 = (_strcmp($44,6033)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4654] = 1; + HEAP32[4732] = 1; } $51 = (_strcmp($44,6069)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4717] = 1; - _glGetFloatv(34047,(18872|0)); + HEAP32[4795] = 1; + _glGetFloatv(34047,(19184|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6103)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4719] = 1; + HEAP32[4797] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15322,61 +15326,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4713]|0; + $21 = HEAP32[4791]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6206,$vararg_buffer15); } else { _TraceLog(0,6131,$vararg_buffer13); } - $57 = HEAP32[4655]|0; + $57 = HEAP32[4733]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6342,$vararg_buffer19); } else { _TraceLog(0,6267,$vararg_buffer17); } - $59 = HEAP32[4650]|0; + $59 = HEAP32[4728]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6434,$vararg_buffer21); } - $61 = HEAP32[4651]|0; + $61 = HEAP32[4729]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6480,$vararg_buffer23); } - $63 = HEAP32[4652]|0; + $63 = HEAP32[4730]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6527,$vararg_buffer25); } - $65 = HEAP32[4653]|0; + $65 = HEAP32[4731]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6578,$vararg_buffer27); } - $67 = HEAP32[4654]|0; + $67 = HEAP32[4732]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6625,$vararg_buffer29); } - $69 = HEAP32[4717]|0; + $69 = HEAP32[4795]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4718]; + $71 = +HEAPF32[4796]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6672,$vararg_buffer31); } - $73 = HEAP32[4719]|0; + $73 = HEAP32[4797]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6738,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4720] = $75; + HEAP32[4798] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6842,$vararg_buffer39); @@ -15385,14 +15389,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6791,$vararg_buffer36); } _LoadDefaultShader($2); - dest=18884; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18940; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19196; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19252; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4749] = $77; + HEAP32[4827] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4749]|0; + $79 = HEAP32[4827]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15405,7 +15409,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4750] = $78; + HEAP32[4828] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15420,48 +15424,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4751] = 1; - $85 = HEAP32[4720]|0; + HEAP32[4829] = 1; + $85 = HEAP32[4798]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4752] = 4; + HEAP32[4830] = 4; _MatrixIdentity($4); - dest=19012; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19324; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19076); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19388); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19140); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19452); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19204); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19516); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19268); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19580); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19332); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19644); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19708); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19772); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19836); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19900); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19652); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19964); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19716); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20028); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19780); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20092); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19844); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20156); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19908); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20220); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19972); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20284); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=18720; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19032; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=18784; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4679] = 18784; + dest=19096; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4757] = 19096; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15472,21 +15476,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5009] = $0; - HEAP32[5010] = $1; + HEAP32[5087] = $0; + HEAP32[5088] = $1; _TraceLog(0,6881,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4677]|0; + $0 = HEAP32[4755]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4678]|0; + $2 = HEAP32[4756]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4675]|0; + $4 = HEAP32[4753]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4676]|0; + $6 = HEAP32[4754]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15497,12 +15501,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 18720; + $modelview$sink = 19032; label = 3; break; } case 5888: { - $modelview$sink = 18784; + $modelview$sink = 19096; label = 3; break; } @@ -15510,9 +15514,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4679] = $modelview$sink; + HEAP32[4757] = $modelview$sink; } - HEAP32[4712] = $0; + HEAP32[4790] = $0; return; } function _rlLoadIdentity() { @@ -15520,7 +15524,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4679]|0; + $1 = HEAP32[4757]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -15541,7 +15545,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4679]|0; + $8 = HEAP32[4757]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15638,15 +15642,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20056)>>2] = $0; + HEAP32[(20368)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20064)>>2] = $1; - HEAP32[(20060)>>2] = 0; - HEAP32[(20068)>>2] = 0; + HEAP32[(20376)>>2] = $1; + HEAP32[(20372)>>2] = 0; + HEAP32[(20380)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20064)>>2]|0; + $2 = HEAP32[(20376)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15657,19 +15661,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5011] = 0; - HEAP32[(20052)>>2] = 0; - HEAP32[(20048)>>2] = 0; + HEAP32[5089] = 0; + HEAP32[(20364)>>2] = 0; + HEAP32[(20360)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20104)>>2] = $5; + HEAP32[(20416)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20112)>>2] = $6; - HEAP32[(20108)>>2] = 0; - HEAP32[(20116)>>2] = 0; + HEAP32[(20424)>>2] = $6; + HEAP32[(20420)>>2] = 0; + HEAP32[(20428)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20112)>>2]|0; + $7 = HEAP32[(20424)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15680,24 +15684,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5023] = 0; - HEAP32[(20100)>>2] = 0; - HEAP32[(20096)>>2] = 0; + HEAP32[5101] = 0; + HEAP32[(20412)>>2] = 0; + HEAP32[(20408)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20152)>>2] = $10; + HEAP32[(20464)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20156)>>2] = $11; + HEAP32[(20468)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20160)>>2] = $12; + HEAP32[(20472)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20164)>>2] = $13; - $14 = HEAP32[(20152)>>2]|0; + HEAP32[(20476)>>2] = $13; + $14 = HEAP32[(20464)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20156)>>2]|0; + $15 = HEAP32[(20468)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20160)>>2]|0; + $17 = HEAP32[(20472)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15708,7 +15712,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20164)>>2]|0; + $16 = HEAP32[(20476)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15745,140 +15749,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5035] = 0; - HEAP32[(20144)>>2] = 0; - HEAP32[(20148)>>2] = 0; + HEAP32[5113] = 0; + HEAP32[(20456)>>2] = 0; + HEAP32[(20460)>>2] = 0; _TraceLog(0,6928,$vararg_buffer); - $20 = HEAP32[4713]|0; + $20 = HEAP32[4791]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4714]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20072)); - $44 = HEAP32[4715]|0; - $45 = HEAP32[(20072)>>2]|0; + $43 = HEAP32[4792]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20384)); + $44 = HEAP32[4793]|0; + $45 = HEAP32[(20384)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20076)|0)); - $46 = HEAP32[(20076)>>2]|0; + _glGenBuffers(2,((20388)|0)); + $46 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20056)>>2]|0; + $47 = HEAP32[(20368)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(18944)>>2]|0; + $48 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(18944)>>2]|0; + $49 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20080)|0)); - $50 = HEAP32[(20080)>>2]|0; + _glGenBuffers(2,((20392)|0)); + $50 = HEAP32[(20392)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20064)>>2]|0; + $51 = HEAP32[(20376)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(18964)>>2]|0; + $52 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(18964)>>2]|0; + $53 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4713]|0; + $54 = HEAP32[4791]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20076)>>2]|0; - $58 = HEAP32[(20080)>>2]|0; + $57 = HEAP32[(20388)>>2]|0; + $58 = HEAP32[(20392)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7066,$vararg_buffer3); } else { - $56 = HEAP32[(20072)>>2]|0; + $56 = HEAP32[(20384)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7001,$vararg_buffer1); } - $59 = HEAP32[4713]|0; + $59 = HEAP32[4791]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4714]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20120)); - $62 = HEAP32[4715]|0; - $63 = HEAP32[(20120)>>2]|0; + $61 = HEAP32[4792]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20432)); + $62 = HEAP32[4793]|0; + $63 = HEAP32[(20432)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20124)|0)); - $64 = HEAP32[(20124)>>2]|0; + _glGenBuffers(1,((20436)|0)); + $64 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20104)>>2]|0; + $65 = HEAP32[(20416)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(18944)>>2]|0; + $66 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(18944)>>2]|0; + $67 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20128)|0)); - $68 = HEAP32[(20128)>>2]|0; + _glGenBuffers(1,((20440)|0)); + $68 = HEAP32[(20440)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20112)>>2]|0; + $69 = HEAP32[(20424)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(18964)>>2]|0; + $70 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(18964)>>2]|0; + $71 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4713]|0; + $72 = HEAP32[4791]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20124)>>2]|0; - $76 = HEAP32[(20128)>>2]|0; + $75 = HEAP32[(20436)>>2]|0; + $76 = HEAP32[(20440)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7212,$vararg_buffer10); } else { - $74 = HEAP32[(20120)>>2]|0; + $74 = HEAP32[(20432)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7143,$vararg_buffer7); } - $77 = HEAP32[4713]|0; + $77 = HEAP32[4791]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4714]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20168)); - $80 = HEAP32[4715]|0; - $81 = HEAP32[(20168)>>2]|0; + $79 = HEAP32[4792]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20480)); + $80 = HEAP32[4793]|0; + $81 = HEAP32[(20480)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20172)|0)); - $82 = HEAP32[(20172)>>2]|0; + _glGenBuffers(1,((20484)|0)); + $82 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20152)>>2]|0; + $83 = HEAP32[(20464)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(18944)>>2]|0; + $84 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(18944)>>2]|0; + $85 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20176)|0)); - $86 = HEAP32[(20176)>>2]|0; + _glGenBuffers(1,((20488)|0)); + $86 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20156)>>2]|0; + $87 = HEAP32[(20468)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(18948)>>2]|0; + $88 = HEAP32[(19260)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(18948)>>2]|0; + $89 = HEAP32[(19260)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20180)|0)); - $90 = HEAP32[(20180)>>2]|0; + _glGenBuffers(1,((20492)|0)); + $90 = HEAP32[(20492)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20160)>>2]|0; + $91 = HEAP32[(20472)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(18964)>>2]|0; + $92 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(18964)>>2]|0; + $93 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20184)|0)); - $94 = HEAP32[(20184)>>2]|0; + _glGenBuffers(1,((20496)|0)); + $94 = HEAP32[(20496)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20164)>>2]|0; + $95 = HEAP32[(20476)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4713]|0; + $96 = HEAP32[4791]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20172)>>2]|0; - $100 = HEAP32[(20176)>>2]|0; - $101 = HEAP32[(20180)>>2]|0; - $102 = HEAP32[(20184)>>2]|0; + $99 = HEAP32[(20484)>>2]|0; + $100 = HEAP32[(20488)>>2]|0; + $101 = HEAP32[(20492)>>2]|0; + $102 = HEAP32[(20496)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15888,16 +15892,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7358,$vararg_buffer17); } else { - $98 = HEAP32[(20168)>>2]|0; + $98 = HEAP32[(20480)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7293,$vararg_buffer14); } - $103 = HEAP32[4713]|0; + $103 = HEAP32[4791]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4715]|0; + $105 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16078,9 +16082,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21369 + ($0)|0); + $1 = (21681 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21372 + ($0)|0); + $3 = (21684 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16092,9 +16096,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21369 + ($0)|0); + $1 = (21681 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21372 + ($0)|0); + $3 = (21684 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16115,7 +16119,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4632]|0; + $0 = HEAP32[4710]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9202,$vararg_buffer); @@ -16126,9 +16130,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18568>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18568+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[18880>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18880+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18880+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18880+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18880+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18596)>>2]|0; + $0 = HEAP32[(18908)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16139,11 +16143,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(18880|0)); - $0 = HEAP32[4720]|0; + _glDeleteTextures(1,(19192|0)); + $0 = HEAP32[4798]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9229,$vararg_buffer); - $1 = HEAP32[4750]|0; + $1 = HEAP32[4828]|0; _free($1); STACKTOP = sp;return; } @@ -16151,17 +16155,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4721]|0; + $0 = HEAP32[4799]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4713]|0; + $0 = HEAP32[4791]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4715]|0; + $2 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16170,39 +16174,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20076)|0)); - _glDeleteBuffers(1,((20080)|0)); - _glDeleteBuffers(1,((20124)|0)); - _glDeleteBuffers(1,((20128)|0)); - _glDeleteBuffers(1,((20172)|0)); - _glDeleteBuffers(1,((20176)|0)); - _glDeleteBuffers(1,((20180)|0)); - _glDeleteBuffers(1,((20184)|0)); - $3 = HEAP32[4713]|0; + _glDeleteBuffers(1,((20388)|0)); + _glDeleteBuffers(1,((20392)|0)); + _glDeleteBuffers(1,((20436)|0)); + _glDeleteBuffers(1,((20440)|0)); + _glDeleteBuffers(1,((20484)|0)); + _glDeleteBuffers(1,((20488)|0)); + _glDeleteBuffers(1,((20492)|0)); + _glDeleteBuffers(1,((20496)|0)); + $3 = HEAP32[4791]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4716]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20072)); - $6 = HEAP32[4716]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20120)); - $7 = HEAP32[4716]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20168)); - } - $8 = HEAP32[(20056)>>2]|0; + $5 = HEAP32[4794]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20384)); + $6 = HEAP32[4794]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20432)); + $7 = HEAP32[4794]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20480)); + } + $8 = HEAP32[(20368)>>2]|0; _free($8); - $9 = HEAP32[(20064)>>2]|0; + $9 = HEAP32[(20376)>>2]|0; _free($9); - $10 = HEAP32[(20104)>>2]|0; + $10 = HEAP32[(20416)>>2]|0; _free($10); - $11 = HEAP32[(20112)>>2]|0; + $11 = HEAP32[(20424)>>2]|0; _free($11); - $12 = HEAP32[(20152)>>2]|0; + $12 = HEAP32[(20464)>>2]|0; _free($12); - $13 = HEAP32[(20156)>>2]|0; + $13 = HEAP32[(20468)>>2]|0; _free($13); - $14 = HEAP32[(20160)>>2]|0; + $14 = HEAP32[(20472)>>2]|0; _free($14); - $15 = HEAP32[(20164)>>2]|0; + $15 = HEAP32[(20476)>>2]|0; _free($15); return; } @@ -16242,16 +16246,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2260] = $0; - $1 = +HEAPF64[2243]; + HEAPF64[2299] = $0; + $1 = +HEAPF64[2282]; $2 = $0 - $1; - HEAPF64[2261] = $2; - HEAPF64[2243] = $0; + HEAPF64[2300] = $2; + HEAPF64[2282] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18624; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=18936; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20196); + _rlMultMatrixf(20508); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16260,53 +16264,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[5049] = $1; + HEAP32[5127] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20200)>>2] = $3; + HEAP32[(20512)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20204)>>2] = $5; + HEAP32[(20516)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20208)>>2] = $7; + HEAP32[(20520)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20212)>>2] = $9; + HEAP32[(20524)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20216)>>2] = $11; + HEAP32[(20528)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20220)>>2] = $13; + HEAP32[(20532)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20224)>>2] = $15; + HEAP32[(20536)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20228)>>2] = $17; + HEAP32[(20540)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20232)>>2] = $19; + HEAP32[(20544)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20236)>>2] = $21; + HEAP32[(20548)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20240)>>2] = $23; + HEAP32[(20552)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20244)>>2] = $25; + HEAP32[(20556)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20248)>>2] = $27; + HEAP32[(20560)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20252)>>2] = $29; + HEAP32[(20564)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20256)>>2] = $31; - return (20196|0); + HEAP32[(20568)>>2] = $31; + return (20508|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16381,7 +16385,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4679]|0; + $49 = HEAP32[4757]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16395,15 +16399,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2260] = $0; - $1 = +HEAPF64[2243]; + HEAPF64[2299] = $0; + $1 = +HEAPF64[2282]; $2 = $0 - $1; - HEAPF64[2262] = $2; - HEAPF64[2243] = $0; - $3 = +HEAPF64[2261]; + HEAPF64[2301] = $2; + HEAPF64[2282] = $0; + $3 = +HEAPF64[2300]; $4 = $2 + $3; - HEAPF64[2263] = $4; - $5 = +HEAPF64[2240]; + HEAPF64[2302] = $4; + $5 = +HEAPF64[2279]; $6 = $4 < $5; if (!($6)) { return; @@ -16413,13 +16417,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2260] = $10; - $11 = +HEAPF64[2243]; + HEAPF64[2299] = $10; + $11 = +HEAPF64[2282]; $12 = $10 - $11; - HEAPF64[2243] = $10; - $13 = +HEAPF64[2263]; + HEAPF64[2282] = $10; + $13 = +HEAPF64[2302]; $14 = $12 + $13; - HEAPF64[2263] = $14; + HEAPF64[2302] = $14; return; } function _rlglDraw() { @@ -16432,7 +16436,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4632]|0; + $0 = HEAP32[4710]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16448,20 +16452,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[761] = -1; HEAP32[763] = -1; - HEAP32[5065] = 0; - $3 = HEAP32[4632]|0; + HEAP32[5143] = 0; + $3 = HEAP32[4710]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4478] = $5; + HEAPF32[4556] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(17916)>>2] = $7; - _memcpy((21887|0),(21375|0),512)|0; - ;HEAP8[21372>>0]=HEAP8[21369>>0]|0;HEAP8[21372+1>>0]=HEAP8[21369+1>>0]|0;HEAP8[21372+2>>0]=HEAP8[21369+2>>0]|0; - $8 = HEAP32[5048]|0; - HEAP32[4635] = $8; - HEAP32[5048] = 0; + HEAPF32[(18228)>>2] = $7; + _memcpy((22199|0),(21687|0),512)|0; + ;HEAP8[21684>>0]=HEAP8[21681>>0]|0;HEAP8[21684+1>>0]=HEAP8[21681+1>>0]|0;HEAP8[21684+2>>0]=HEAP8[21681+2>>0]|0; + $8 = HEAP32[5126]|0; + HEAP32[4713] = $8; + HEAP32[5126] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16471,8 +16475,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22399 + ($$05160<<5)|0); - $scevgep67 = (22527 + ($$05160<<5)|0); + $scevgep = (22711 + ($$05160<<5)|0); + $scevgep67 = (22839 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16486,7 +16490,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22527 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((22839 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[763] = $$04857; @@ -16513,7 +16517,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20264 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((20576 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16529,7 +16533,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5065] = $$lcssa; + HEAP32[5143] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16570,87 +16574,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5011]|0; + $0 = HEAP32[5089]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4713]|0; + $2 = HEAP32[4791]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4715]|0; - $5 = HEAP32[(20072)>>2]|0; + $4 = HEAP32[4793]|0; + $5 = HEAP32[(20384)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20076)>>2]|0; + $6 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5011]|0; + $7 = HEAP32[5089]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20056)>>2]|0; + $9 = HEAP32[(20368)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20080)>>2]|0; + $10 = HEAP32[(20392)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20052)>>2]|0; + $11 = HEAP32[(20364)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20064)>>2]|0; + $13 = HEAP32[(20376)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5023]|0; + $14 = HEAP32[5101]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4713]|0; + $16 = HEAP32[4791]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4715]|0; - $19 = HEAP32[(20120)>>2]|0; + $18 = HEAP32[4793]|0; + $19 = HEAP32[(20432)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20124)>>2]|0; + $20 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5023]|0; + $21 = HEAP32[5101]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20104)>>2]|0; + $23 = HEAP32[(20416)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20128)>>2]|0; + $24 = HEAP32[(20440)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20100)>>2]|0; + $25 = HEAP32[(20412)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20112)>>2]|0; + $27 = HEAP32[(20424)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5035]|0; + $28 = HEAP32[5113]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4713]|0; + $30 = HEAP32[4791]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4715]|0; - $33 = HEAP32[(20168)>>2]|0; + $32 = HEAP32[4793]|0; + $33 = HEAP32[(20480)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20172)>>2]|0; + $34 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5035]|0; + $35 = HEAP32[5113]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20152)>>2]|0; + $37 = HEAP32[(20464)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20176)>>2]|0; + $38 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5035]|0; + $39 = HEAP32[5113]|0; $40 = $39 << 3; - $41 = HEAP32[(20156)>>2]|0; + $41 = HEAP32[(20468)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20180)>>2]|0; + $42 = HEAP32[(20492)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5035]|0; + $43 = HEAP32[5113]|0; $44 = $43 << 2; - $45 = HEAP32[(20160)>>2]|0; + $45 = HEAP32[(20472)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4713]|0; + $46 = HEAP32[4791]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4715]|0; + $48 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16668,9 +16672,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5098]|0; + dest=$0; src=19032; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=19096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5176]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16680,134 +16684,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5011]|0; + $8 = HEAP32[5089]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5023]|0; + $10 = HEAP32[5101]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5035]|0; + $12 = HEAP32[5113]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4735]|0; + $14 = HEAP32[4813]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=19096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=19032; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(18968)>>2]|0; + $15 = HEAP32[(19280)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(18972)>>2]|0; + $17 = HEAP32[(19284)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(18984)>>2]|0; + $18 = HEAP32[(19296)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5011]|0; + $19 = HEAP32[5089]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4720]|0; + $21 = HEAP32[4798]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4713]|0; + $22 = HEAP32[4791]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20076)>>2]|0; + $26 = HEAP32[(20388)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(18944)>>2]|0; + $27 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(18944)>>2]|0; + $28 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20080)>>2]|0; + $29 = HEAP32[(20392)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(18964)>>2]|0; + $30 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(18964)>>2]|0; + $31 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4715]|0; - $25 = HEAP32[(20072)>>2]|0; + $24 = HEAP32[4793]|0; + $25 = HEAP32[(20384)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5011]|0; + $32 = HEAP32[5089]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4713]|0; + $33 = HEAP32[4791]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5023]|0; + $35 = HEAP32[5101]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4720]|0; + $37 = HEAP32[4798]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4713]|0; + $38 = HEAP32[4791]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20124)>>2]|0; + $42 = HEAP32[(20436)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(18944)>>2]|0; + $43 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(18944)>>2]|0; + $44 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20128)>>2]|0; + $45 = HEAP32[(20440)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(18964)>>2]|0; + $46 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(18964)>>2]|0; + $47 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4715]|0; - $41 = HEAP32[(20120)>>2]|0; + $40 = HEAP32[4793]|0; + $41 = HEAP32[(20432)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5023]|0; + $48 = HEAP32[5101]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4713]|0; + $49 = HEAP32[4791]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5035]|0; + $51 = HEAP32[5113]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4713]|0; + $53 = HEAP32[4791]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20172)>>2]|0; + $57 = HEAP32[(20484)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(18944)>>2]|0; + $58 = HEAP32[(19256)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(18944)>>2]|0; + $59 = HEAP32[(19256)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20176)>>2]|0; + $60 = HEAP32[(20488)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(18948)>>2]|0; + $61 = HEAP32[(19260)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(18948)>>2]|0; + $62 = HEAP32[(19260)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20180)>>2]|0; + $63 = HEAP32[(20492)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(18964)>>2]|0; + $64 = HEAP32[(19276)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(18964)>>2]|0; + $65 = HEAP32[(19276)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20184)>>2]|0; + $66 = HEAP32[(20496)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4715]|0; - $56 = HEAP32[(20168)>>2]|0; + $55 = HEAP32[4793]|0; + $56 = HEAP32[(20480)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4751]|0; + $67 = HEAP32[4829]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4750]|0; + $71 = HEAP32[4828]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16818,14 +16822,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4750]|0; + $80 = HEAP32[4828]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4751]|0; + $87 = HEAP32[4829]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16834,7 +16838,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4713]|0; + $69 = HEAP32[4791]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16842,10 +16846,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4713]|0; + $89 = HEAP32[4791]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4715]|0; + $91 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16857,22 +16861,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4751] = 1; - $5 = HEAP32[4720]|0; - $6 = HEAP32[4750]|0; + HEAP32[4829] = 1; + $5 = HEAP32[4798]|0; + $6 = HEAP32[4828]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5011] = 0; - HEAP32[(20052)>>2] = 0; - HEAP32[5023] = 0; - HEAP32[(20100)>>2] = 0; - HEAP32[5035] = 0; - HEAP32[(20144)>>2] = 0; - HEAP32[(20148)>>2] = 0; + HEAP32[5089] = 0; + HEAP32[(20364)>>2] = 0; + HEAP32[5101] = 0; + HEAP32[(20412)>>2] = 0; + HEAP32[5113] = 0; + HEAP32[(20456)>>2] = 0; + HEAP32[(20460)>>2] = 0; HEAPF32[764] = -1.0; - dest=18720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18784; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19032; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -16887,17 +16891,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5009]|0; + $5 = HEAP32[5087]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5010]|0; + $9 = HEAP32[5088]|0; _rlViewport($7,0,$8,$9); - $10 = (20624 + ($0<<6)|0); + $10 = (20936 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20496 + ($0<<6)|0); + $11 = (20808 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -16909,14 +16913,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18784; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=18720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19032; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -16933,9 +16937,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4634]|0; + $2 = HEAP32[4712]|0; $3 = (+($2|0)); - $4 = HEAP32[4633]|0; + $4 = HEAP32[4711]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -16960,7 +16964,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20196); + _rlMultMatrixf(20508); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -16969,26 +16973,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5188]|0; + $0 = HEAP32[5266]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9344,$vararg_buffer); } - $2 = HEAP32[5188]|0; - $3 = (19012 + ($2<<6)|0); - $4 = HEAP32[4679]|0; + $2 = HEAP32[5266]|0; + $3 = (19324 + ($2<<6)|0); + $4 = HEAP32[4757]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5188]|0; + $5 = HEAP32[5266]|0; $6 = (($5) + 1)|0; - HEAP32[5188] = $6; - $7 = HEAP32[4712]|0; + HEAP32[5266] = $6; + $7 = HEAP32[4790]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5189] = 1; + HEAP32[5267] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17007,7 +17011,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4679]|0; + $8 = HEAP32[4757]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17034,18 +17038,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5188]|0; + $0 = HEAP32[5266]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5188]|0; + $2 = HEAP32[5266]|0; $3 = (($2) + -1)|0; - $4 = (19012 + ($3<<6)|0); - $5 = HEAP32[4679]|0; + $4 = (19324 + ($3<<6)|0); + $5 = HEAP32[4757]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5188] = $6; + HEAP32[5266] = $6; return; } function _rlDisableDepthTest() { @@ -17065,7 +17069,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2263]; + $0 = +HEAPF64[2302]; $1 = $0; return (+$1); } @@ -17073,19 +17077,19 @@ function _SetConfigFlags($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP8[21368] = $0; + HEAP8[21680] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[4637] = 1; + HEAP32[4715] = 1; } - $3 = HEAP8[21368]|0; + $3 = HEAP8[21680]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[4674] = 1; + HEAP32[4752] = 1; return; } function _IsFileExtension($0,$1) { @@ -17118,7 +17122,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4679]|0; + $5 = HEAP32[4757]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17151,7 +17155,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4679]|0; + $11 = HEAP32[4757]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17162,7 +17166,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4752] = $0; + HEAP32[4830] = $0; return; } function _rlEnd() { @@ -17178,21 +17182,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5189]|0; + $0 = HEAP32[5267]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5190]|0; + $2 = HEAP32[5268]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4749]|0; + $6 = HEAP32[4827]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4679]|0; + $8 = HEAP32[4757]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5190]|0; + $5 = HEAP32[5268]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17200,12 +17204,12 @@ function _rlEnd() { break; } } - HEAP32[5189] = 0; + HEAP32[5267] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4749]|0; + $11 = HEAP32[4827]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17214,7 +17218,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5190]|0; + $19 = HEAP32[5268]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17224,15 +17228,15 @@ function _rlEnd() { } } } else { - HEAP32[5189] = 0; + HEAP32[5267] = 0; } - HEAP32[5190] = 0; + HEAP32[5268] = 0; } - $21 = HEAP32[4752]|0; + $21 = HEAP32[4830]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5011]|0; - $23 = HEAP32[(20052)>>2]|0; + $22 = HEAP32[5089]|0; + $23 = HEAP32[(20364)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[764]; @@ -17251,16 +17255,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20064)>>2]|0; - $28 = HEAP32[(20052)>>2]|0; + $27 = HEAP32[(20376)>>2]|0; + $28 = HEAP32[(20364)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20064)>>2]|0; - $35 = HEAP32[(20052)>>2]|0; + $34 = HEAP32[(20376)>>2]|0; + $35 = HEAP32[(20364)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17268,8 +17272,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20064)>>2]|0; - $43 = HEAP32[(20052)>>2]|0; + $42 = HEAP32[(20376)>>2]|0; + $43 = HEAP32[(20364)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17277,8 +17281,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20064)>>2]|0; - $51 = HEAP32[(20052)>>2]|0; + $50 = HEAP32[(20376)>>2]|0; + $51 = HEAP32[(20364)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17286,9 +17290,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20052)>>2]|0; + $58 = HEAP32[(20364)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20052)>>2] = $59; + HEAP32[(20364)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17304,8 +17308,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5023]|0; - $62 = HEAP32[(20100)>>2]|0; + $61 = HEAP32[5101]|0; + $62 = HEAP32[(20412)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[764]; @@ -17324,16 +17328,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20112)>>2]|0; - $67 = HEAP32[(20100)>>2]|0; + $66 = HEAP32[(20424)>>2]|0; + $67 = HEAP32[(20412)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20112)>>2]|0; - $74 = HEAP32[(20100)>>2]|0; + $73 = HEAP32[(20424)>>2]|0; + $74 = HEAP32[(20412)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17341,8 +17345,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20112)>>2]|0; - $82 = HEAP32[(20100)>>2]|0; + $81 = HEAP32[(20424)>>2]|0; + $82 = HEAP32[(20412)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17350,8 +17354,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20112)>>2]|0; - $90 = HEAP32[(20100)>>2]|0; + $89 = HEAP32[(20424)>>2]|0; + $90 = HEAP32[(20412)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17359,9 +17363,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20100)>>2]|0; + $97 = HEAP32[(20412)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20100)>>2] = $98; + HEAP32[(20412)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17377,8 +17381,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5035]|0; - $101 = HEAP32[(20148)>>2]|0; + $100 = HEAP32[5113]|0; + $101 = HEAP32[(20460)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17386,16 +17390,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20160)>>2]|0; - $106 = HEAP32[(20148)>>2]|0; + $105 = HEAP32[(20472)>>2]|0; + $106 = HEAP32[(20460)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20160)>>2]|0; - $113 = HEAP32[(20148)>>2]|0; + $112 = HEAP32[(20472)>>2]|0; + $113 = HEAP32[(20460)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17403,8 +17407,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20160)>>2]|0; - $121 = HEAP32[(20148)>>2]|0; + $120 = HEAP32[(20472)>>2]|0; + $121 = HEAP32[(20460)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17412,8 +17416,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20160)>>2]|0; - $129 = HEAP32[(20148)>>2]|0; + $128 = HEAP32[(20472)>>2]|0; + $129 = HEAP32[(20460)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17421,9 +17425,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20148)>>2]|0; + $136 = HEAP32[(20460)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20148)>>2] = $137; + HEAP32[(20460)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17434,8 +17438,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5035]|0; - $140 = HEAP32[(20144)>>2]|0; + $139 = HEAP32[5113]|0; + $140 = HEAP32[(20456)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[764]; @@ -17443,8 +17447,8 @@ function _rlEnd() { HEAPF32[764] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20156)>>2]|0; - $$promoted = HEAP32[(20144)>>2]|0; + $142 = HEAP32[(20468)>>2]|0; + $$promoted = HEAP32[(20456)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17452,7 +17456,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20144)>>2] = $147; + HEAP32[(20456)>>2] = $147; $148 = +HEAPF32[764]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[764] = $149; @@ -17479,11 +17483,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5189]|0; + $3 = HEAP32[5267]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4749]|0; - $6 = HEAP32[5190]|0; + $5 = HEAP32[4827]|0; + $6 = HEAP32[5268]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17491,16 +17495,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5190] = $10; + HEAP32[5268] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4752]|0; + $11 = HEAP32[4830]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5011]|0; + $12 = HEAP32[5089]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20056)>>2]|0; + $14 = HEAP32[(20368)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17511,7 +17515,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5011] = $21; + HEAP32[5089] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9382,$vararg_buffer); @@ -17520,10 +17524,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5023]|0; + $22 = HEAP32[5101]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20104)>>2]|0; + $24 = HEAP32[(20416)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17534,7 +17538,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5023] = $31; + HEAP32[5101] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9407,$vararg_buffer1); @@ -17543,10 +17547,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5035]|0; + $32 = HEAP32[5113]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20152)>>2]|0; + $34 = HEAP32[(20464)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17557,9 +17561,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5035] = $41; - $42 = HEAP32[4750]|0; - $43 = HEAP32[4751]|0; + HEAP32[5113] = $41; + $42 = HEAP32[4828]|0; + $43 = HEAP32[4829]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17591,13 +17595,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4752]|0; + $2 = HEAP32[4830]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20156)>>2]|0; - $5 = HEAP32[(20144)>>2]|0; + $4 = HEAP32[(20468)>>2]|0; + $5 = HEAP32[(20456)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17605,7 +17609,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20144)>>2] = $10; + HEAP32[(20456)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17624,18 +17628,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4752]|0; + $4 = HEAP32[4830]|0; switch ($4|0) { case 1: { - $$sink37 = (20052);$$sink38 = (20064); + $$sink37 = (20364);$$sink38 = (20376); break; } case 4: { - $$sink37 = (20100);$$sink38 = (20112); + $$sink37 = (20412);$$sink38 = (20424); break; } case 7: { - $$sink37 = (20148);$$sink38 = (20160); + $$sink37 = (20460);$$sink38 = (20472); break; } default: { @@ -17689,8 +17693,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4750]|0; - $2 = HEAP32[4751]|0; + $1 = HEAP32[4828]|0; + $2 = HEAP32[4829]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17703,9 +17707,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4751] = $10; + HEAP32[4829] = $10; } - $11 = HEAP32[4751]|0; + $11 = HEAP32[4829]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17716,7 +17720,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5035]|0; + $0 = HEAP32[5113]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17743,14 +17747,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4713]|0; + $2 = HEAP32[4791]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4716]|0; + $5 = HEAP32[4794]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17771,7 +17775,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4713]|0; + $3 = HEAP32[4791]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -17809,12 +17813,12 @@ function _rlglLoadMesh($0,$1) { ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; HEAP32[$2>>2] = 0; ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4713]|0; + $13 = HEAP32[4791]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4714]|0; + $15 = HEAP32[4792]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4715]|0; + $16 = HEAP32[4793]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -17944,7 +17948,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4713]|0; + $82 = HEAP32[4791]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9658,$vararg_buffer3); @@ -18049,13 +18053,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$4; src=19032; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4721]|0; + $65 = HEAP32[4799]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9706|0))|0); @@ -18131,7 +18135,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4713]|0; + $107 = HEAP32[4791]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18211,16 +18215,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(20184)>>2]|0; + $153 = HEAP32[(20496)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4715]|0; + $109 = HEAP32[4793]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5098]|0; + $154 = HEAP32[5176]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18234,10 +18238,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=18784; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } - dest=$modelview$byval_copy4; src=18784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=18720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy4; src=19096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19032; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -18274,14 +18278,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4713]|0; + $172 = HEAP32[4791]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4715]|0; + $174 = HEAP32[4793]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=18720; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18784; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19032; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18290,14 +18294,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=18720; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18784; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19032; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=18720; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=18784; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19032; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19096; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18377,7 +18381,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4720]|0; + $1 = HEAP32[4798]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18400,7 +18404,7 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,11752)|0); + $2 = (_fopen($0,12060)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; @@ -18455,7 +18459,7 @@ function _LoadShader($0,$1,$2) { $11 = ($10|0)==(0); if ($11) { _TraceLog(2,9794,$vararg_buffer); - dest=$3; src=18884; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19196; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -18481,43 +18485,14 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=18884; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=19196; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9870); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11203)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5191] = $0; + HEAP32[5269] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18581,7 +18556,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9882|0),(9908|0),1125,(9931|0)); + ___assert_fail((9870|0),(9896|0),1041,(9919|0)); // unreachable; } } @@ -18599,7 +18574,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5192]|0; + $15 = HEAP32[5270]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18692,7 +18667,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9972); + _stbi__err(9960); $$0 = 0; return ($$0|0); } else { @@ -18714,7 +18689,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9963); + _stbi__err(9951); $$0 = 0; return ($$0|0); } @@ -18784,7 +18759,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9991); + _stbi__err(9979); $$045 = 0; return ($$045|0); } @@ -19345,7 +19320,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10307 + ($120)|0); + $121 = (10295 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19387,97 +19362,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10081); + _stbi__err(10069); $$6$ph = 0; break; } case 9: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 11: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 13: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 15: { - _stbi__err(10118); + _stbi__err(10106); $$6$ph = 0; break; } case 17: { - _stbi__err(10138); + _stbi__err(10126); $$6$ph = 0; break; } case 20: { - _stbi__err(10138); + _stbi__err(10126); $$6$ph = 0; break; } case 22: { - _stbi__err(10138); + _stbi__err(10126); $$6$ph = 0; break; } case 24: { - _stbi__err(10148); + _stbi__err(10136); $$6$ph = 0; break; } case 26: { - _stbi__err(10164); + _stbi__err(10152); $$6$ph = 0; break; } case 28: { - _stbi__err(10182); + _stbi__err(10170); $$6$ph = 0; break; } case 31: { - _stbi__err(10203); + _stbi__err(10191); $$6$ph = 0; break; } case 34: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 37: { - _stbi__err(10108); + _stbi__err(10096); $$6$ph = 0; break; } case 39: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 41: { - _stbi__err(10232); + _stbi__err(10220); $$6$ph = 0; break; } case 44: { - _stbi__err(10232); + _stbi__err(10220); $$6$ph = 0; break; } case 47: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 49: { - _stbi__err(10245); + _stbi__err(10233); $$6$ph = 0; break; } @@ -19488,32 +19463,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10261); + _stbi__err(10249); $$6$ph = 0; break; } case 58: { - _stbi__err(10278); + _stbi__err(10266); $$6$ph = 0; break; } case 61: { - _stbi__err(10291); + _stbi__err(10279); $$6$ph = 0; break; } case 63: { - _stbi__err(10278); + _stbi__err(10266); $$6$ph = 0; break; } case 70: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 72: { - _stbi__err(10316); + _stbi__err(10304); $$6$ph = 0; break; } @@ -19525,12 +19500,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9963); + _stbi__err(9951); $$6$ph = 0; break; } case 83: { - _stbi__err(10324); + _stbi__err(10312); $$6$ph = 0; break; } @@ -19543,7 +19518,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10334); + _stbi__err(10322); $$4 = 0; break; } @@ -19608,7 +19583,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5193]|0; + $193 = HEAP32[5271]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19641,7 +19616,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10217); + _stbi__err(10205); $$4 = 0; } } while(0); @@ -19649,24 +19624,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10217); + _stbi__err(10205); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10342] = $206; + HEAP8[10330] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10343)>>0] = $209; + HEAP8[(10331)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10344)>>0] = $211; + HEAP8[(10332)>>0] = $211; $212 = $207&255; - HEAP8[(10345)>>0] = $212; - _stbi__err(10342); + HEAP8[(10333)>>0] = $212; + _stbi__err(10330); $$6$ph = 0; break; } @@ -19700,14 +19675,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10004|0),(9908|0),1561,(10060|0)); + ___assert_fail((9992|0),(9896|0),1477,(10048|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9963); + _stbi__err(9951); $$0163 = 0; return ($$0163|0); } @@ -20070,7 +20045,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10058|0),(9908|0),1590,(10060|0)); + ___assert_fail((10046|0),(9896|0),1506,(10048|0)); // unreachable; } } while(0); @@ -20104,7 +20079,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10004|0),(9908|0),1610,(10035|0)); + ___assert_fail((9992|0),(9896|0),1526,(10023|0)); // unreachable; } $7 = $2 << 1; @@ -20114,7 +20089,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9963); + _stbi__err(9951); $$0163 = 0; return ($$0163|0); } @@ -20477,7 +20452,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10058|0),(9908|0),1639,(10035|0)); + ___assert_fail((10046|0),(9896|0),1555,(10023|0)); // unreachable; } } while(0); @@ -20625,7 +20600,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10999); + _stbi__err(11307); $$05 = 0; return ($$05|0); } @@ -21062,7 +21037,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10401|0),(9908|0),4568,(10453|0)); + ___assert_fail((10389|0),(9896|0),4569,(10441|0)); // unreachable; } } @@ -21149,7 +21124,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10401|0),(9908|0),4543,(10426|0)); + ___assert_fail((10389|0),(9896|0),4544,(10414|0)); // unreachable; } } @@ -21196,7 +21171,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5194]|0; + $16 = HEAP32[5272]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21271,7 +21246,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10367|0),(9908|0),4649,(10385|0)); + ___assert_fail((10355|0),(9896|0),4650,(10373|0)); // unreachable; } } @@ -21294,7 +21269,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9963); + _stbi__err(9951); $$0 = 0; return ($$0|0); } @@ -21471,7 +21446,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10482|0),(9908|0),4294,(10523|0)); + ___assert_fail((10470|0),(9896|0),4294,(10511|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21479,7 +21454,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9963); + _stbi__err(9951); $$2 = 0; return ($$2|0); } @@ -21498,7 +21473,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10550); + _stbi__err(10538); $$2 = 0; return ($$2|0); } @@ -21511,7 +21486,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10550); + _stbi__err(10538); $$2 = 0; return ($$2|0); } @@ -21519,12 +21494,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21547,33 +21522,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10589 + ($56)|0); + $60 = (10577 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21583,24 +21558,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21610,10 +21585,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21624,10 +21599,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21638,14 +21613,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21675,7 +21650,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21690,12 +21665,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22272,15 +22247,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10568|0),(9908|0),4315,(10523|0)); + ___assert_fail((10556|0),(9896|0),4315,(10511|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10594|0),(9908|0),4376,(10523|0)); + ___assert_fail((10582|0),(9896|0),4377,(10511|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10611); + _stbi__err(10599); $$2 = 0; return ($$2|0); } @@ -22330,7 +22305,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10307 + ($6)|0); + $336 = (10295 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -22771,7 +22746,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10626|0),(9908|0),4465,(10523|0)); + ___assert_fail((10614|0),(9896|0),4466,(10511|0)); // unreachable; } else if ((label|0) == 151) { @@ -22831,8 +22806,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -22847,15 +22822,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -22864,65 +22839,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(22686)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10625,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,22687,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,22655,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10913,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -22941,14 +22911,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10952); + _stbi__err(11260); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10968); + _stbi__err(11276); $$0 = 0; return ($$0|0); } @@ -22957,7 +22927,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10983); + _stbi__err(11291); $$0 = 0; return ($$0|0); } @@ -23040,7 +23010,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10874|0),(9908|0),4048,(10891|0)); + ___assert_fail((11182|0),(9896|0),4033,(11199|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23077,7 +23047,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10922); + _stbi__err(11230); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23087,7 +23057,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10935); + _stbi__err(11243); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23117,21 +23087,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22687|0),8,144)|0; - dest=(22831); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(22943); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (22967); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22655; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23265,7 +23220,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10812); + _stbi__err(11120); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23354,7 +23309,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10864); + _stbi__err(11172); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23383,7 +23338,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11658 + ($$06579)|0); + $14 = (11966 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23474,21 +23429,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10828|0),(9908|0),4021,(10836|0)); + ___assert_fail((11136|0),(9896|0),4006,(11144|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23498,7 +23453,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10812); + _stbi__err(11120); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23662,7 +23617,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10637); + _stbi__err(10945); $$3$ph = 0; return ($$3$ph|0); } @@ -23672,12 +23627,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10637); + _stbi__err(10945); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10654); + _stbi__err(10962); $$3$ph = 0; return ($$3$ph|0); } @@ -23734,7 +23689,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10663); + _stbi__err(10971); $$0 = 0; return ($$0|0); } @@ -23760,7 +23715,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9963); + _stbi__err(9951); $$0 = 0; return ($$0|0); } else { @@ -23805,7 +23760,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10759|0),(9908|0),3863,(10796|0)); + ___assert_fail((11067|0),(9896|0),3848,(11104|0)); // unreachable; } else if ((label|0) == 5) { @@ -23853,7 +23808,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10683|0),(9908|0),3891,(10699|0)); + ___assert_fail((10991|0),(9896|0),3876,(11007|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -23881,7 +23836,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10730|0),(9908|0),3781,(10741|0)); + ___assert_fail((11038|0),(9896|0),3766,(11049|0)); // unreachable; } return (0)|0; @@ -24027,10 +23982,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24041,27 +23996,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11011)|0); + $6 = (_IsFileExtension($1,11319)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11064)|0); + $19 = (_IsFileExtension($1,11372)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11069,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11377,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11511)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24089,7 +24045,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24106,18 +24062,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11017,$vararg_buffer); + _TraceLog(2,11325,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24126,34 +24082,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11105,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11144,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,11413,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11452,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24172,11 +24135,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11203)|0); + $4 = (_fopen($0,11511)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11206,$vararg_buffer); + _TraceLog(2,11514,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24275,7 +24238,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11303,$vararg_buffer4); + _TraceLog(0,11611,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24310,14 +24273,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11349,$vararg_buffer8); + _TraceLog(2,11657,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11257,$vararg_buffer1); + _TraceLog(2,11565,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24407,7 +24370,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11175,$vararg_buffer); + _TraceLog(2,11483,$vararg_buffer); $$0 = $6; } } @@ -24452,27 +24415,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11399,$vararg_buffer); + _TraceLog(2,11707,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11438,$vararg_buffer1); + _TraceLog(2,11746,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11464,$vararg_buffer3); + _TraceLog(2,11772,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11527,$vararg_buffer5); + _TraceLog(2,11835,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11562,$vararg_buffer7); + _TraceLog(2,11870,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11597,$vararg_buffer10); + _TraceLog(0,11905,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25655,7 +25618,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11654 + ($$361133)|0); + $199 = (11962 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26085,7 +26048,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11654 + ($$331130)|0); + $186 = (11962 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26123,7 +26086,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11654 + ($$371134)|0); + $203 = (11962 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26162,7 +26125,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11658 + ($$421139)|0); + $235 = (11966 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26569,7 +26532,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11677 + ($495)|0); + $496 = (11985 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26606,7 +26569,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11681 + ($515)|0); + $516 = (11989 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27518,7 +27481,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11685,$vararg_buffer); + _TraceLog(2,11993,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27539,7 +27502,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18568>>2]|0;HEAP32[$0+4>>2]=HEAP32[18568+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18568+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18568+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18568+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18568+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18568+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18568+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[18880>>2]|0;HEAP32[$0+4>>2]=HEAP32[18880+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18880+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18880+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18880+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18880+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18880+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18880+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -27921,8 +27884,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(22975,$0,$1)|0); - STACKTOP = sp;return (22975|0); + (_vsprintf(22967,$0,$1)|0); + STACKTOP = sp;return (22967|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -27932,7 +27895,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5195]|0; + $3 = HEAP32[5273]|0; $4 = HEAP32[925]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -27940,14 +27903,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5196] = $7; + HEAP32[5274] = $7; HEAP32[925] = $7; $$sink = 0; } - HEAP32[5195] = $$sink; - $8 = HEAP32[5196]|0; + HEAP32[5273] = $$sink; + $8 = HEAP32[5274]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11714,$$byval_copy)|0); + (_FormatText(12022,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -27956,7 +27919,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(22975,$0,$1,20,$$byval_copy); + _DrawText(22967,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28017,7 +27980,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11722)|0); + $4 = (_IsFileExtension($1,12030)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -28026,7 +27989,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,11727,$vararg_buffer); + _TraceLog(2,12035,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -28099,11 +28062,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,11752)|0); + $15 = (_fopen($1,12060)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11755,$vararg_buffer); + _TraceLog(2,12063,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -28123,7 +28086,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,11789,$vararg_buffer1)|0); + (_fscanf($15,12097,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -28150,7 +28113,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,11789,$vararg_buffer4)|0); + (_fscanf($15,12097,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -28215,19 +28178,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,11792,$vararg_buffer7); + _TraceLog(3,12100,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,11820,$vararg_buffer11); + _TraceLog(3,12128,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,11849,$$byval_copy102); + _TraceLog(3,12157,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,11876,$$byval_copy103); + _TraceLog(3,12184,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -28259,7 +28222,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,11789,$vararg_buffer23)|0); + (_fscanf($15,12097,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -28281,7 +28244,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,11789,$vararg_buffer26)|0); + (_fscanf($15,12097,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -28300,10 +28263,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,11905,$vararg_buffer29)|0); + (_fscanf($15,12213,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,11789,$vararg_buffer33)|0); + (_fscanf($15,12097,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -28320,10 +28283,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,11919,$vararg_buffer36)|0); + (_fscanf($15,12227,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,11789,$vararg_buffer41)|0); + (_fscanf($15,12097,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -28340,10 +28303,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,11919,$vararg_buffer44)|0); + (_fscanf($15,12227,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,11789,$vararg_buffer49)|0); + (_fscanf($15,12097,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -28366,7 +28329,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,11928,$vararg_buffer52); + _TraceLog(0,12236,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -28406,7 +28369,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,11789,$vararg_buffer55)|0); + (_fscanf($15,12097,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -28434,7 +28397,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,11999,$vararg_buffer58)|0); + (_fscanf($15,12307,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -28448,7 +28411,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,12008,$vararg_buffer63)|0); + (_fscanf($15,12316,$vararg_buffer63)|0); break; } if ($77) { @@ -28463,7 +28426,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,12026,$vararg_buffer71)|0); + (_fscanf($15,12334,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -28483,7 +28446,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,12047,$vararg_buffer79)|0); + (_fscanf($15,12355,$vararg_buffer79)|0); break; } } @@ -28863,7 +28826,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12074,$vararg_buffer90); + _TraceLog(0,12382,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -28942,7 +28905,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,12118,$vararg_buffer); + _TraceLog(0,12426,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29087,7 +29050,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12176)|0); + $12 = (_strstr($11,12484)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29096,7 +29059,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12180)|0); + $17 = (_strstr($16,12488)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29105,7 +29068,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12184)|0); + $22 = (_strstr($21,12492)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29114,7 +29077,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12188)|0); + $27 = (_strstr($26,12496)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29123,1210 +29086,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12194)|0); + $32 = (_strcmp($31,12502)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12232)|0); + $35 = (_strcmp($34,12540)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12251; + HEAP32[$3>>2] = 12559; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12264)|0); + $38 = (_strcmp($37,12572)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12285; + HEAP32[$3>>2] = 12593; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12300)|0); + $41 = (_strcmp($40,12608)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12315; + HEAP32[$3>>2] = 12623; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12330)|0); + $44 = (_strcmp($43,12638)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12345; + HEAP32[$3>>2] = 12653; } } else { - HEAP32[$3>>2] = 12216; + HEAP32[$3>>2] = 12524; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12360)|0); + $47 = (_strcmp($46,12668)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12374)|0); + $50 = (_strcmp($49,12682)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12386)|0); + $53 = (_strcmp($52,12694)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12400)|0); + $56 = (_strcmp($55,12708)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12412)|0); + $59 = (_strcmp($58,12720)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12426)|0); + $62 = (_strcmp($61,12734)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12440)|0); + $65 = (_strcmp($64,12748)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12457)|0); + $68 = (_strcmp($67,12765)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12480)|0); + $71 = (_strcmp($70,12788)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12506)|0); + $74 = (_strcmp($73,12814)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12519)|0); + $77 = (_strcmp($76,12827)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12535)|0); + $80 = (_strcmp($79,12843)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12548)|0); + $83 = (_strcmp($82,12856)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12562)|0); + $86 = (_strcmp($85,12870)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12582)|0); + $89 = (_strcmp($88,12890)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12602)|0); + $92 = (_strcmp($91,12910)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12619)|0); + $95 = (_strcmp($94,12927)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12636)|0); + $98 = (_strcmp($97,12944)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12648)|0); + $101 = (_strcmp($100,12956)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12661)|0); + $104 = (_strcmp($103,12969)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12677)|0); + $107 = (_strcmp($106,12985)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12700)|0); + $110 = (_strcmp($109,13008)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12713)|0); + $113 = (_strcmp($112,13021)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12729)|0); + $116 = (_strcmp($115,13037)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12740)|0); + $119 = (_strcmp($118,13048)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,12759)|0); + $122 = (_strcmp($121,13067)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,12781)|0); + $125 = (_strcmp($124,13089)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,12800)|0); + $128 = (_strcmp($127,13108)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,12829)|0); + $131 = (_strcmp($130,13137)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,12846)|0); + $134 = (_strcmp($133,13154)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,12861)|0); + $137 = (_strcmp($136,13169)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,12876)|0); + $140 = (_strcmp($139,13184)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,12897)|0); + $143 = (_strcmp($142,13205)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,12917)|0); + $146 = (_strcmp($145,13225)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,12937)|0); + $149 = (_strcmp($148,13245)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,12963)|0); + $152 = (_strcmp($151,13271)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,12982)|0); + $155 = (_strcmp($154,13290)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,12994)|0); + $158 = (_strcmp($157,13302)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13006)|0); + $161 = (_strcmp($160,13314)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13018)|0); + $164 = (_strcmp($163,13326)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13030)|0); + $167 = (_strcmp($166,13338)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13042)|0); + $170 = (_strcmp($169,13350)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13054)|0); + $173 = (_strcmp($172,13362)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13066)|0); + $176 = (_strcmp($175,13374)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13078)|0); + $179 = (_strcmp($178,13386)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13091)|0); + $182 = (_strcmp($181,13399)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13104)|0); + $185 = (_strcmp($184,13412)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13117)|0); + $188 = (_strcmp($187,13425)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13130)|0); + $191 = (_strcmp($190,13438)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13143)|0); + $194 = (_strcmp($193,13451)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13156)|0); + $197 = (_strcmp($196,13464)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13169)|0); + $200 = (_strcmp($199,13477)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13182)|0); + $203 = (_strcmp($202,13490)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13201)|0); + $206 = (_strcmp($205,13509)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13220)|0); + $209 = (_strcmp($208,13528)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13239)|0); + $212 = (_strcmp($211,13547)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13252)|0); + $215 = (_strcmp($214,13560)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13270)|0); + $218 = (_strcmp($217,13578)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13288)|0); + $221 = (_strcmp($220,13596)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13306)|0); + $224 = (_strcmp($223,13614)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13324)|0); + $227 = (_strcmp($226,13632)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13344)|0); + $230 = (_strcmp($229,13652)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12285)|0); + $233 = (_strcmp($232,12593)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13362)|0); + $236 = (_strcmp($235,13670)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13377)|0); + $239 = (_strcmp($238,13685)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13398)|0); + $242 = (_strcmp($241,13706)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13413)|0); + $245 = (_strcmp($244,13721)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13431)|0); + $248 = (_strcmp($247,13739)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13447)|0); + $251 = (_strcmp($250,13755)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13466)|0); + $254 = (_strcmp($253,13774)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13480)|0); + $257 = (_strcmp($256,13788)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13495)|0); + $260 = (_strcmp($259,13803)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12216)|0); + $263 = (_strcmp($262,12524)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13506)|0); + $266 = (_strcmp($265,13814)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12315)|0); + $269 = (_strcmp($268,12623)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12345)|0); + $272 = (_strcmp($271,12653)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13522)|0); + $275 = (_strcmp($274,13830)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13549)|0); + $278 = (_strcmp($277,13857)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13563)|0); + $281 = (_strcmp($280,13871)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12251)|0); + $284 = (_strcmp($283,12559)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13583)|0); + $287 = (_strcmp($286,13891)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13601)|0); + $290 = (_strcmp($289,13909)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13613)|0); + $293 = (_strcmp($292,13921)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13634)|0); + $296 = (_strcmp($295,13942)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13652)|0); + $299 = (_strcmp($298,13960)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13670)|0); + $302 = (_strcmp($301,13978)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13691)|0); + $305 = (_strcmp($304,13999)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13717)|0); + $308 = (_strcmp($307,14025)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13740)|0); + $311 = (_strcmp($310,14048)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,13778)|0); + $314 = (_strcmp($313,14086)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,13794)|0); + $317 = (_strcmp($316,14102)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,13809)|0); + $320 = (_strcmp($319,14117)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,13832)|0); + $323 = (_strcmp($322,14140)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,13845)|0); + $326 = (_strcmp($325,14153)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,13859)|0); + $329 = (_strcmp($328,14167)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,13873)|0); + $332 = (_strcmp($331,14181)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,13893)|0); + $335 = (_strcmp($334,14201)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,13913)|0); + $338 = (_strcmp($337,14221)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,13929)|0); + $341 = (_strcmp($340,14237)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,13947)|0); + $344 = (_strcmp($343,14255)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,13963)|0); + $347 = (_strcmp($346,14271)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,13978)|0); + $350 = (_strcmp($349,14286)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14000)|0); + $353 = (_strcmp($352,14308)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14018)|0); + $356 = (_strcmp($355,14326)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14039)|0); + $359 = (_strcmp($358,14347)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14057)|0); + $362 = (_strcmp($361,14365)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14070)|0); + $365 = (_strcmp($364,14378)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14085)|0); + $368 = (_strcmp($367,14393)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14099)|0); + $371 = (_strcmp($370,14407)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14109)|0); + $374 = (_strcmp($373,14417)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14119)|0); + $377 = (_strcmp($376,14427)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14141)|0); + $380 = (_strcmp($379,14449)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14167)|0); + $383 = (_strcmp($382,14475)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14194)|0); + $386 = (_strcmp($385,14502)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14207)|0); + $389 = (_strcmp($388,14515)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14222)|0); + $392 = (_strcmp($391,14530)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14237)|0); + $395 = (_strcmp($394,14545)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14261)|0); + $398 = (_strcmp($397,14569)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14272)|0); + $401 = (_strcmp($400,14580)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14294)|0); + $404 = (_strcmp($403,14602)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14316)|0); + $407 = (_strcmp($406,14624)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14340)|0); + $410 = (_strcmp($409,14648)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14349)|0); + $413 = (_strcmp($412,14657)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14357)|0); + $416 = (_strcmp($415,14665)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14370)|0); + $419 = (_strcmp($418,14678)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14384)|0); + $422 = (_strcmp($421,14692)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14396)|0); + $425 = (_strcmp($424,14704)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14405)|0); + $428 = (_strcmp($427,14713)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14415)|0); + $431 = (_strcmp($430,14723)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14427)|0); + $434 = (_strcmp($433,14735)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14438)|0); + $437 = (_strcmp($436,14746)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14446)|0); + $440 = (_strcmp($439,14754)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14458)|0); + $443 = (_strcmp($442,14766)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14473)|0); + $446 = (_strcmp($445,14781)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14485)|0); + $449 = (_strcmp($448,14793)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14499)|0); + $452 = (_strcmp($451,14807)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14524)|0); + $455 = (_strcmp($454,14832)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14541)|0); + $458 = (_strcmp($457,14849)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14557)|0); + $461 = (_strcmp($460,14865)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14573)|0); + $464 = (_strcmp($463,14881)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14585)|0); + $467 = (_strcmp($466,14893)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14597)|0); + $470 = (_strcmp($469,14905)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14621)|0); + $473 = (_strcmp($472,14929)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14634)|0); + $476 = (_strcmp($475,14942)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14648)|0); + $479 = (_strcmp($478,14956)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14670)|0); + $482 = (_strcmp($481,14978)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14677)|0); + $485 = (_strcmp($484,14985)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14693)|0); + $488 = (_strcmp($487,15001)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14710)|0); + $491 = (_strcmp($490,15018)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14727)|0); + $494 = (_strcmp($493,15035)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,14743)|0); + $497 = (_strcmp($496,15051)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,14759)|0); + $500 = (_strcmp($499,15067)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,14776)|0); + $503 = (_strcmp($502,15084)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,14790)|0); + $506 = (_strcmp($505,15098)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,14802)|0); + $509 = (_strcmp($508,15110)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,14813)|0); + $512 = (_strcmp($511,15121)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,14826)|0); + $515 = (_strcmp($514,15134)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,14836)|0); + $518 = (_strcmp($517,15144)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,14853)|0); + $521 = (_strcmp($520,15161)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,14865)|0); + $524 = (_strcmp($523,15173)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,14887)|0); + $527 = (_strcmp($526,15195)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,14907)|0); + $530 = (_strcmp($529,15215)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,14920)|0); + $533 = (_strcmp($532,15228)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,14942)|0); + $536 = (_strcmp($535,15250)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,14962)|0); + $539 = (_strcmp($538,15270)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,14979)|0); + $542 = (_strcmp($541,15287)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,14996)|0); + $545 = (_strcmp($544,15304)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15016)|0); + $548 = (_strcmp($547,15324)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30348,7 +30311,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (20788|0); + return (21100|0); } function ___stdio_close($0) { $0 = $0|0; @@ -30805,7 +30768,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((15133) + ($50)|0); + $49 = ((15441) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -30837,7 +30800,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((15133) + ($$0159)|0); + $60 = ((15441) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -30973,10 +30936,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15389 + ($128)|0); + $129 = (15697 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((15133) + ($$1160169)|0); + $132 = ((15441) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -30998,7 +30961,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((15133) + ($$4163$be)|0); + $146 = ((15441) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -31049,7 +31012,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((15133) + ($$5$be)|0); + $178 = ((15441) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -31068,7 +31031,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((15133) + ($$1160169)|0); + $122 = ((15441) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -31090,7 +31053,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((15133) + ($$6$be)|0); + $197 = ((15441) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -31152,7 +31115,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((15133) + ($$7$be)|0); + $234 = ((15441) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -31171,7 +31134,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((15133) + ($$8)|0); + $238 = ((15441) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -31190,7 +31153,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((15133) + ($$9$be)|0); + $249 = ((15441) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -32026,7 +31989,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15398 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((15706 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -32204,7 +32167,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 15862;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 16170;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -32225,7 +32188,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 15862;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 16170;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -32233,8 +32196,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 15862 : (15864); - $$$ = $238 ? $$ : (15863); + $$ = $240 ? 16170 : (16172); + $$$ = $238 ? $$ : (16171); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -32251,7 +32214,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 15862;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 16170;$242 = $167;$243 = $170; label = 66; break; } @@ -32264,7 +32227,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 15862;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 16170;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -32278,7 +32241,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 15872; + $271 = $270 ? $269 : 16180; $$1 = $271; label = 71; break; @@ -32318,7 +32281,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 15862;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 16170;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32340,8 +32303,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (15862 + ($208)|0); - $$289 = $or$cond283 ? 15862 : $209; + $209 = (16170 + ($208)|0); + $$289 = $or$cond283 ? 16170 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32362,7 +32325,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 15862;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 16170;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -32892,7 +32855,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (15910 + ($7)|0); + $9 = (16218 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -33250,14 +33213,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 15879; + $$0471 = $14;$$0520 = 1;$$0521 = 16187; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (15880) : (15885); - $$$ = $16 ? $$ : (15882); + $$ = $18 ? (16188) : (16193); + $$$ = $16 ? $$ : (16190); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33356,7 +33319,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (15910 + ($80)|0); + $81 = (16218 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -33967,7 +33930,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,15926,1); + _out($0,16234,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -34048,7 +34011,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,15926,1); + _out($0,16234,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -34105,9 +34068,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 15898 : 15902; + $29 = $28 ? 16206 : 16210; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 17829 : 15906; + $31 = $28 ? 18137 : 16214; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34317,7 +34280,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (15928 + ($$016)|0); + $3 = (16236 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34328,7 +34291,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 16016;$$115 = 87; + $$01214 = 16324;$$115 = 87; label = 5; break; } else { @@ -34338,9 +34301,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 16016; + $$012$lcssa = 16324; } else { - $$01214 = 16016;$$115 = $$016; + $$01214 = 16324;$$115 = $$016; label = 5; } } @@ -34765,7 +34728,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (17820 + ($$0107127)|0); + $27 = (18128 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -34832,7 +34795,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (17829 + ($$2109125)|0); + $58 = (18137 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -37083,7 +37046,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 20852 : $3; + $$ = $5 ? 21164 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -37374,7 +37337,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(17833,$3,4)|0); + $memchr = (_memchr(18141,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -37463,7 +37426,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(17833,$4,4)|0); + $memchr = (_memchr(18141,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -37554,7 +37517,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(20792)>>2]|0; + $38 = HEAP32[(21104)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -37587,13 +37550,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((20856|0)); - return (20864|0); + ___lock((21168|0)); + return (21176|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((20856|0)); + ___unlock((21168|0)); return; } function _fclose($0) { @@ -39853,7 +39816,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 18112; + $2 = 18424; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40167,7 +40130,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5217]|0; + $3 = HEAP32[5295]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40186,22 +40149,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5217] = 0; + HEAP32[5295] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5217] = $10; + HEAP32[5295] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5217] = 0; + HEAP32[5295] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5217] = $13; + HEAP32[5295] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40282,7 +40245,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5218]|0; + $8 = HEAP32[5296]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40291,7 +40254,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (20912 + ($15<<2)|0); + $16 = (21224 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40302,9 +40265,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5218] = $24; + HEAP32[5296] = $24; } else { - $25 = HEAP32[(20888)>>2]|0; + $25 = HEAP32[(21200)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40335,7 +40298,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(20880)>>2]|0; + $37 = HEAP32[(21192)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40369,7 +40332,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (20912 + ($68<<2)|0); + $69 = (21224 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40380,10 +40343,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5218] = $77; + HEAP32[5296] = $77; $98 = $77; } else { - $78 = HEAP32[(20888)>>2]|0; + $78 = HEAP32[(21200)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40416,22 +40379,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(20892)>>2]|0; + $92 = HEAP32[(21204)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (20912 + ($94<<2)|0); + $95 = (21224 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5218] = $100; + HEAP32[5296] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(20888)>>2]|0; + $103 = HEAP32[(21200)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40448,12 +40411,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(20880)>>2] = $84; - HEAP32[(20892)>>2] = $87; + HEAP32[(21192)>>2] = $84; + HEAP32[(21204)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(20876)>>2]|0; + $108 = HEAP32[(21188)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40481,7 +40444,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21176 + ($132<<2)|0); + $133 = (21488 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -40521,7 +40484,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(20888)>>2]|0; + $155 = HEAP32[(21200)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -40616,7 +40579,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21176 + ($188<<2)|0); + $189 = (21488 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -40627,11 +40590,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(20876)>>2] = $194; + HEAP32[(21188)>>2] = $194; break L73; } } else { - $195 = HEAP32[(20888)>>2]|0; + $195 = HEAP32[(21200)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -40652,7 +40615,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(20888)>>2]|0; + $201 = HEAP32[(21200)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -40682,7 +40645,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(20888)>>2]|0; + $213 = HEAP32[(21200)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -40719,22 +40682,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(20892)>>2]|0; + $231 = HEAP32[(21204)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (20912 + ($233<<2)|0); + $234 = (21224 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5218] = $238; + HEAP32[5296] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(20888)>>2]|0; + $241 = HEAP32[(21200)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -40751,8 +40714,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(20880)>>2] = $$0193$lcssa$i; - HEAP32[(20892)>>2] = $157; + HEAP32[(21192)>>2] = $$0193$lcssa$i; + HEAP32[(21204)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -40768,7 +40731,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(20876)>>2]|0; + $250 = HEAP32[(21188)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -40808,7 +40771,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21176 + ($$0358$i<<2)|0); + $278 = (21488 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -40900,7 +40863,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21176 + ($330<<2)|0); + $331 = (21488 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -40944,11 +40907,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(20880)>>2]|0; + $345 = HEAP32[(21192)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(20888)>>2]|0; + $348 = HEAP32[(21200)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41045,7 +41008,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21176 + ($381<<2)|0); + $382 = (21488 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41056,12 +41019,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(20876)>>2] = $387; + HEAP32[(21188)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(20888)>>2]|0; + $388 = HEAP32[(21200)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41083,7 +41046,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(20888)>>2]|0; + $394 = HEAP32[(21200)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41115,7 +41078,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(20888)>>2]|0; + $406 = HEAP32[(21200)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41156,20 +41119,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (20912 + ($425<<2)|0); - $427 = HEAP32[5218]|0; + $426 = (21224 + ($425<<2)|0); + $427 = HEAP32[5296]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5218] = $431; + HEAP32[5296] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(20888)>>2]|0; + $434 = HEAP32[(21200)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41221,7 +41184,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21176 + ($$0361$i<<2)|0); + $464 = (21488 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41233,7 +41196,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(20876)>>2] = $472; + HEAP32[(21188)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41272,7 +41235,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(20888)>>2]|0; + $491 = HEAP32[(21200)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41291,7 +41254,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(20888)>>2]|0; + $498 = HEAP32[(21200)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41324,16 +41287,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(20880)>>2]|0; + $506 = HEAP32[(21192)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(20892)>>2]|0; + $509 = HEAP32[(21204)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(20892)>>2] = $511; - HEAP32[(20880)>>2] = $508; + HEAP32[(21204)>>2] = $511; + HEAP32[(21192)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41343,8 +41306,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(20880)>>2] = 0; - HEAP32[(20892)>>2] = 0; + HEAP32[(21192)>>2] = 0; + HEAP32[(21204)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41358,14 +41321,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(20884)>>2]|0; + $524 = HEAP32[(21196)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(20884)>>2] = $526; - $527 = HEAP32[(20896)>>2]|0; + HEAP32[(21196)>>2] = $526; + $527 = HEAP32[(21208)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(20896)>>2] = $528; + HEAP32[(21208)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41376,23 +41339,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5336]|0; + $534 = HEAP32[5414]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21352)>>2] = 4096; - HEAP32[(21348)>>2] = 4096; - HEAP32[(21356)>>2] = -1; - HEAP32[(21360)>>2] = -1; - HEAP32[(21364)>>2] = 0; - HEAP32[(21316)>>2] = 0; + HEAP32[(21664)>>2] = 4096; + HEAP32[(21660)>>2] = 4096; + HEAP32[(21668)>>2] = -1; + HEAP32[(21672)>>2] = -1; + HEAP32[(21676)>>2] = 0; + HEAP32[(21628)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5336] = $538; + HEAP32[5414] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21352)>>2]|0; + $$pre$i212 = HEAP32[(21664)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41405,10 +41368,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21312)>>2]|0; + $546 = HEAP32[(21624)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21304)>>2]|0; + $548 = HEAP32[(21616)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41418,18 +41381,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21316)>>2]|0; + $552 = HEAP32[(21628)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(20896)>>2]|0; + $555 = HEAP32[(21208)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21320); + $$0$i$i = (21632); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41487,7 +41450,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21348)>>2]|0; + $569 = HEAP32[(21660)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41497,13 +41460,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21304)>>2]|0; + $578 = HEAP32[(21616)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21312)>>2]|0; + $582 = HEAP32[(21624)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -41549,7 +41512,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21352)>>2]|0; + $601 = HEAP32[(21664)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -41574,9 +41537,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21316)>>2]|0; + $611 = HEAP32[(21628)>>2]|0; $612 = $611 | 4; - HEAP32[(21316)>>2] = $612; + HEAP32[(21628)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -41612,35 +41575,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21304)>>2]|0; + $626 = HEAP32[(21616)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21304)>>2] = $627; - $628 = HEAP32[(21308)>>2]|0; + HEAP32[(21616)>>2] = $627; + $628 = HEAP32[(21620)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21308)>>2] = $627; + HEAP32[(21620)>>2] = $627; } - $630 = HEAP32[(20896)>>2]|0; + $630 = HEAP32[(21208)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(20888)>>2]|0; + $632 = HEAP32[(21200)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(20888)>>2] = $$749$i; - } - HEAP32[(21320)>>2] = $$749$i; - HEAP32[(21324)>>2] = $$723948$i; - HEAP32[(21332)>>2] = 0; - $635 = HEAP32[5336]|0; - HEAP32[(20908)>>2] = $635; - HEAP32[(20904)>>2] = -1; + HEAP32[(21200)>>2] = $$749$i; + } + HEAP32[(21632)>>2] = $$749$i; + HEAP32[(21636)>>2] = $$723948$i; + HEAP32[(21644)>>2] = 0; + $635 = HEAP32[5414]|0; + HEAP32[(21220)>>2] = $635; + HEAP32[(21216)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (20912 + ($636<<2)|0); + $637 = (21224 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -41663,18 +41626,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(20896)>>2] = $649; - HEAP32[(20884)>>2] = $650; + HEAP32[(21208)>>2] = $649; + HEAP32[(21196)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21360)>>2]|0; - HEAP32[(20900)>>2] = $655; + $655 = HEAP32[(21672)>>2]|0; + HEAP32[(21212)>>2] = $655; } else { - $$024371$i = (21320); + $$024371$i = (21632); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -41706,7 +41669,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(20884)>>2]|0; + $671 = HEAP32[(21196)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -41717,30 +41680,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(20896)>>2] = $679; - HEAP32[(20884)>>2] = $681; + HEAP32[(21208)>>2] = $679; + HEAP32[(21196)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21360)>>2]|0; - HEAP32[(20900)>>2] = $686; + $686 = HEAP32[(21672)>>2]|0; + HEAP32[(21212)>>2] = $686; break; } } } - $687 = HEAP32[(20888)>>2]|0; + $687 = HEAP32[(21200)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(20888)>>2] = $$749$i; + HEAP32[(21200)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21320); + $$124470$i = (21632); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -41795,21 +41758,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(20884)>>2]|0; + $726 = HEAP32[(21196)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(20884)>>2] = $727; - HEAP32[(20896)>>2] = $721; + HEAP32[(21196)>>2] = $727; + HEAP32[(21208)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(20892)>>2]|0; + $730 = HEAP32[(21204)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(20880)>>2]|0; + $732 = HEAP32[(21192)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(20880)>>2] = $733; - HEAP32[(20892)>>2] = $721; + HEAP32[(21192)>>2] = $733; + HEAP32[(21204)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -41832,7 +41795,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (20912 + ($748<<2)|0); + $749 = (21224 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -41855,9 +41818,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5218]|0; + $759 = HEAP32[5296]|0; $760 = $759 & $758; - HEAP32[5218] = $760; + HEAP32[5296] = $760; break; } $761 = ($747|0)==($749|0); @@ -41970,7 +41933,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21176 + ($796<<2)|0); + $797 = (21488 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -41982,12 +41945,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(20876)>>2]|0; + $802 = HEAP32[(21188)>>2]|0; $803 = $802 & $801; - HEAP32[(20876)>>2] = $803; + HEAP32[(21188)>>2] = $803; break L314; } else { - $804 = HEAP32[(20888)>>2]|0; + $804 = HEAP32[(21200)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42008,7 +41971,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(20888)>>2]|0; + $810 = HEAP32[(21200)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42040,7 +42003,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(20888)>>2]|0; + $822 = HEAP32[(21200)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42073,21 +42036,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (20912 + ($836<<2)|0); - $838 = HEAP32[5218]|0; + $837 = (21224 + ($836<<2)|0); + $838 = HEAP32[5296]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5218] = $842; + HEAP32[5296] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(20888)>>2]|0; + $845 = HEAP32[(21200)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42142,20 +42105,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21176 + ($$0296$i$i<<2)|0); + $875 = (21488 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(20876)>>2]|0; + $879 = HEAP32[(21188)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(20876)>>2] = $883; + HEAP32[(21188)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42194,7 +42157,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(20888)>>2]|0; + $902 = HEAP32[(21200)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42213,7 +42176,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(20888)>>2]|0; + $909 = HEAP32[(21200)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42240,7 +42203,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21320); + $$0$i$i$i = (21632); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42281,23 +42244,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(20896)>>2] = $946; - HEAP32[(20884)>>2] = $947; + HEAP32[(21208)>>2] = $946; + HEAP32[(21196)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21360)>>2]|0; - HEAP32[(20900)>>2] = $952; + $952 = HEAP32[(21672)>>2]|0; + HEAP32[(21212)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21320)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21320)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21320)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21320)+12>>2]|0; - HEAP32[(21320)>>2] = $$749$i; - HEAP32[(21324)>>2] = $$723948$i; - HEAP32[(21332)>>2] = 0; - HEAP32[(21328)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21632)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21632)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21632)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21632)+12>>2]|0; + HEAP32[(21632)>>2] = $$749$i; + HEAP32[(21636)>>2] = $$723948$i; + HEAP32[(21644)>>2] = 0; + HEAP32[(21640)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42326,20 +42289,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (20912 + ($968<<2)|0); - $970 = HEAP32[5218]|0; + $969 = (21224 + ($968<<2)|0); + $970 = HEAP32[5296]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5218] = $974; + HEAP32[5296] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(20888)>>2]|0; + $977 = HEAP32[(21200)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42391,19 +42354,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21176 + ($$0212$i$i<<2)|0); + $1007 = (21488 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(20876)>>2]|0; + $1010 = HEAP32[(21188)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(20876)>>2] = $1014; + HEAP32[(21188)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42442,7 +42405,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(20888)>>2]|0; + $1033 = HEAP32[(21200)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42461,7 +42424,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(20888)>>2]|0; + $1040 = HEAP32[(21200)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42484,14 +42447,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(20884)>>2]|0; + $1048 = HEAP32[(21196)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(20884)>>2] = $1050; - $1051 = HEAP32[(20896)>>2]|0; + HEAP32[(21196)>>2] = $1050; + $1051 = HEAP32[(21208)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(20896)>>2] = $1052; + HEAP32[(21208)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -42534,7 +42497,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(20888)>>2]|0; + $3 = HEAP32[(21200)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -42567,7 +42530,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(20892)>>2]|0; + $19 = HEAP32[(21204)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -42582,7 +42545,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(20880)>>2] = $17; + HEAP32[(21192)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -42596,7 +42559,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (20912 + ($27<<2)|0); + $28 = (21224 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -42616,9 +42579,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5218]|0; + $37 = HEAP32[5296]|0; $38 = $37 & $36; - HEAP32[5218] = $38; + HEAP32[5296] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -42732,7 +42695,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21176 + ($74<<2)|0); + $75 = (21488 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -42742,14 +42705,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(20876)>>2]|0; + $80 = HEAP32[(21188)>>2]|0; $81 = $80 & $79; - HEAP32[(20876)>>2] = $81; + HEAP32[(21188)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(20888)>>2]|0; + $82 = HEAP32[(21200)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -42771,7 +42734,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(20888)>>2]|0; + $88 = HEAP32[(21200)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -42803,7 +42766,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(20888)>>2]|0; + $100 = HEAP32[(21200)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -42838,14 +42801,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(20896)>>2]|0; + $120 = HEAP32[(21208)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(20892)>>2]|0; + $122 = HEAP32[(21204)>>2]|0; if ($121) { - $123 = HEAP32[(20884)>>2]|0; + $123 = HEAP32[(21196)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(20884)>>2] = $124; - HEAP32[(20896)>>2] = $$1; + HEAP32[(21196)>>2] = $124; + HEAP32[(21208)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -42853,16 +42816,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(20892)>>2] = 0; - HEAP32[(20880)>>2] = 0; + HEAP32[(21204)>>2] = 0; + HEAP32[(21192)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(20880)>>2]|0; + $129 = HEAP32[(21192)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(20880)>>2] = $130; - HEAP32[(20892)>>2] = $113; + HEAP32[(21192)>>2] = $130; + HEAP32[(21204)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -42881,10 +42844,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (20912 + ($142<<2)|0); + $143 = (21224 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(20888)>>2]|0; + $145 = HEAP32[(21200)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -42902,9 +42865,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5218]|0; + $153 = HEAP32[5296]|0; $154 = $153 & $152; - HEAP32[5218] = $154; + HEAP32[5296] = $154; break; } $155 = ($141|0)==($143|0); @@ -42912,7 +42875,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(20888)>>2]|0; + $156 = HEAP32[(21200)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -42972,7 +42935,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(20888)>>2]|0; + $189 = HEAP32[(21200)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -42985,7 +42948,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(20888)>>2]|0; + $169 = HEAP32[(21200)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43016,7 +42979,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21176 + ($193<<2)|0); + $194 = (21488 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43026,13 +42989,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(20876)>>2]|0; + $199 = HEAP32[(21188)>>2]|0; $200 = $199 & $198; - HEAP32[(20876)>>2] = $200; + HEAP32[(21188)>>2] = $200; break L108; } } else { - $201 = HEAP32[(20888)>>2]|0; + $201 = HEAP32[(21200)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43053,7 +43016,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(20888)>>2]|0; + $207 = HEAP32[(21200)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43083,7 +43046,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(20888)>>2]|0; + $219 = HEAP32[(21200)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43104,10 +43067,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(20892)>>2]|0; + $226 = HEAP32[(21204)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(20880)>>2] = $135; + HEAP32[(21192)>>2] = $135; return; } else { $$2 = $135; @@ -43126,20 +43089,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (20912 + ($234<<2)|0); - $236 = HEAP32[5218]|0; + $235 = (21224 + ($234<<2)|0); + $236 = HEAP32[5296]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5218] = $240; + HEAP32[5296] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(20888)>>2]|0; + $243 = HEAP32[(21200)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43191,21 +43154,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21176 + ($$0396<<2)|0); + $273 = (21488 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(20876)>>2]|0; + $277 = HEAP32[(21188)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(20876)>>2] = $281; + HEAP32[(21188)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43243,7 +43206,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(20888)>>2]|0; + $300 = HEAP32[(21200)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43262,7 +43225,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(20888)>>2]|0; + $307 = HEAP32[(21200)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43284,12 +43247,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(20904)>>2]|0; + $314 = HEAP32[(21216)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(20904)>>2] = $315; + HEAP32[(21216)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21328); + $$0212$in$i = (21640); } else { return; } @@ -43303,7 +43266,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(20904)>>2] = -1; + HEAP32[(21216)>>2] = -1; return; } function _realloc($0,$1) { @@ -43375,7 +43338,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(20888)>>2]|0; + $6 = HEAP32[(21200)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -43405,7 +43368,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21352)>>2]|0; + $18 = HEAP32[(21664)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -43441,10 +43404,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(20896)>>2]|0; + $34 = HEAP32[(21208)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(20884)>>2]|0; + $36 = HEAP32[(21196)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -43460,15 +43423,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(20896)>>2] = $40; - HEAP32[(20884)>>2] = $39; + HEAP32[(21208)>>2] = $40; + HEAP32[(21196)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(20892)>>2]|0; + $46 = HEAP32[(21204)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(20880)>>2]|0; + $48 = HEAP32[(21192)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -43504,8 +43467,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(20880)>>2] = $storemerge1; - HEAP32[(20892)>>2] = $storemerge; + HEAP32[(21192)>>2] = $storemerge1; + HEAP32[(21204)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -43532,7 +43495,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (20912 + ($81<<2)|0); + $82 = (21224 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -43552,9 +43515,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5218]|0; + $91 = HEAP32[5296]|0; $92 = $91 & $90; - HEAP32[5218] = $92; + HEAP32[5296] = $92; break; } $93 = ($80|0)==($82|0); @@ -43663,7 +43626,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21176 + ($128<<2)|0); + $129 = (21488 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -43673,13 +43636,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(20876)>>2]|0; + $134 = HEAP32[(21188)>>2]|0; $135 = $134 & $133; - HEAP32[(20876)>>2] = $135; + HEAP32[(21188)>>2] = $135; break L49; } } else { - $136 = HEAP32[(20888)>>2]|0; + $136 = HEAP32[(21200)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -43700,7 +43663,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(20888)>>2]|0; + $142 = HEAP32[(21200)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -43730,7 +43693,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(20888)>>2]|0; + $154 = HEAP32[(21200)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -43815,13 +43778,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(20888)>>2]|0; + $13 = HEAP32[(21200)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(20892)>>2]|0; + $15 = HEAP32[(21204)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -43836,7 +43799,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(20880)>>2] = $12; + HEAP32[(21192)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -43850,7 +43813,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (20912 + ($23<<2)|0); + $24 = (21224 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -43870,9 +43833,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5218]|0; + $33 = HEAP32[5296]|0; $34 = $33 & $32; - HEAP32[5218] = $34; + HEAP32[5296] = $34; $$1 = $11;$$1418 = $12; break; } @@ -43986,7 +43949,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21176 + ($70<<2)|0); + $71 = (21488 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -43996,14 +43959,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(20876)>>2]|0; + $76 = HEAP32[(21188)>>2]|0; $77 = $76 & $75; - HEAP32[(20876)>>2] = $77; + HEAP32[(21188)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(20888)>>2]|0; + $78 = HEAP32[(21200)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -44025,7 +43988,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(20888)>>2]|0; + $84 = HEAP32[(21200)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -44057,7 +44020,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(20888)>>2]|0; + $96 = HEAP32[(21200)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -44076,7 +44039,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(20888)>>2]|0; + $108 = HEAP32[(21200)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -44087,14 +44050,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(20896)>>2]|0; + $114 = HEAP32[(21208)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(20892)>>2]|0; + $116 = HEAP32[(21204)>>2]|0; if ($115) { - $117 = HEAP32[(20884)>>2]|0; + $117 = HEAP32[(21196)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(20884)>>2] = $118; - HEAP32[(20896)>>2] = $$1; + HEAP32[(21196)>>2] = $118; + HEAP32[(21208)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -44102,16 +44065,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(20892)>>2] = 0; - HEAP32[(20880)>>2] = 0; + HEAP32[(21204)>>2] = 0; + HEAP32[(21192)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(20880)>>2]|0; + $123 = HEAP32[(21192)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(20880)>>2] = $124; - HEAP32[(20892)>>2] = $$1; + HEAP32[(21192)>>2] = $124; + HEAP32[(21204)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -44130,7 +44093,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (20912 + ($136<<2)|0); + $137 = (21224 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -44150,9 +44113,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5218]|0; + $146 = HEAP32[5296]|0; $147 = $146 & $145; - HEAP32[5218] = $147; + HEAP32[5296] = $147; break; } $148 = ($135|0)==($137|0); @@ -44261,7 +44224,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21176 + ($183<<2)|0); + $184 = (21488 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -44271,13 +44234,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(20876)>>2]|0; + $189 = HEAP32[(21188)>>2]|0; $190 = $189 & $188; - HEAP32[(20876)>>2] = $190; + HEAP32[(21188)>>2] = $190; break L96; } } else { - $191 = HEAP32[(20888)>>2]|0; + $191 = HEAP32[(21200)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -44298,7 +44261,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(20888)>>2]|0; + $197 = HEAP32[(21200)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -44328,7 +44291,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(20888)>>2]|0; + $209 = HEAP32[(21200)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -44349,10 +44312,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(20892)>>2]|0; + $216 = HEAP32[(21204)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(20880)>>2] = $129; + HEAP32[(21192)>>2] = $129; return; } else { $$2 = $129; @@ -44371,20 +44334,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (20912 + ($224<<2)|0); - $226 = HEAP32[5218]|0; + $225 = (21224 + ($224<<2)|0); + $226 = HEAP32[5296]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5218] = $230; + HEAP32[5296] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(20888)>>2]|0; + $233 = HEAP32[(21200)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -44436,20 +44399,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21176 + ($$0431<<2)|0); + $263 = (21488 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(20876)>>2]|0; + $267 = HEAP32[(21188)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(20876)>>2] = $271; + HEAP32[(21188)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -44488,7 +44451,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(20888)>>2]|0; + $290 = HEAP32[(21200)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -44506,7 +44469,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(20888)>>2]|0; + $297 = HEAP32[(21200)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/shaders/shaders_postprocessing.js b/docs/examples/web/shaders/shaders_postprocessing.js index 6b983c54..cb64cef8 100644 --- a/docs/examples/web/shaders/shaders_postprocessing.js +++ b/docs/examples/web/shaders/shaders_postprocessing.js @@ -185,7 +185,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024557, "filename": "/resources/shaders/glsl100/bloom.fs"}], "remote_package_size": 4024557, "package_uuid": "589aeab2-5a4d-4f6e-968e-7056eeff6ea2"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2748249, "filename": "/resources/model/dwarf.obj"}, {"audio": 0, "start": 2748249, "crunched": 0, "end": 4022872, "filename": "/resources/model/dwarf_diffuse.png"}, {"audio": 0, "start": 4022872, "crunched": 0, "end": 4023477, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 4023477, "crunched": 0, "end": 4024557, "filename": "/resources/shaders/glsl100/bloom.fs"}], "remote_package_size": 4024557, "package_uuid": "0ca8ae12-1910-4954-a883-a725db607080"}); })(); @@ -1778,12 +1778,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24384; +STATICTOP = STATIC_BASE + 24368; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,51,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,108,111,111,109,46,102,115,0,72,69,76,76,79,32,80,79,83,84,80,82,79,67,69,83,83,73,78,71,33,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,0,0,64,64,0,0,64,64,0,0,0,0,0,0,192,63,0,0,0,0,0,0,0,0,0,0,128,63,0,0,0,0,0,0,52,66,255,255,255,255,205,204,236,63,2,0,0,0,86,1,0,0,85,1,0,0,87,0,0,0,83,0,0,0,68,0,0,0,65,0,0,0,69,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,20,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,43,91,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,112,111,115,116,112,114,111,99,101,115,115,105,110,103,32,115,104,97,100,101,114,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,46,111,98,106,0,114,101,115,111,117,114,99,101,115,47,109,111,100,101,108,47,100,119,97,114,102,95,100,105,102,102,117,115,101,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,108,111,111,109,46,102,115,0,72,69,76,76,79,32,80,79,83,84,80,82,79,67,69,83,83,73,78,71,33,0,40,99,41,32,68,119,97,114,102,32,51,68,32,109,111,100,101,108,32,98,121,32,68,97,118,105,100,32,77,111,114,101,110,111,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,86,65,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,118,101,114,116,101,120,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,86,65,79,32,73,68,32,37,105,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,117,112,108,111,97,100,101,100,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,91,86,66,79,115,93,32,77,101,115,104,32,117,112,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,116,111,32,86,82,65,77,32,40,71,80,85,41,0,109,111,100,101,108,77,97,116,114,105,120,0,118,105,101,119,68,105,114,0,103,108,111,115,115,105,110,101,115,115,0,117,115,101,78,111,114,109,97,108,0,117,115,101,83,112,101,99,117,108,97,114,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,37,50,105,32,70,80,83,0,46,111,98,106,0,77,101,115,104,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,114,116,0,91,37,115,93,32,79,66,74,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,37,99,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,118,101,114,116,105,99,101,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,101,120,99,111,111,114,100,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,110,111,114,109,97,108,115,58,32,37,105,0,91,37,115,93,32,77,111,100,101,108,32,110,117,109,32,116,114,105,97,110,103,108,101,115,58,32,37,105,0,37,102,32,37,102,37,42,91,94,10,93,115,10,0,37,102,32,37,102,32,37,102,0,91,37,115,93,32,78,111,32,110,111,114,109,97,108,115,32,100,97,116,97,32,111,110,32,79,66,74,44,32,110,111,114,109,97,108,115,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,32,102,114,111,109,32,102,97,99,101,115,32,100,97,116,97,0,37,105,32,37,105,32,37,105,0,37,105,47,37,105,32,37,105,47,37,105,32,37,105,47,37,105,0,37,105,47,47,37,105,32,37,105,47,47,37,105,32,37,105,47,47,37,105,0,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,32,37,105,47,37,105,47,37,105,0,91,37,115,93,32,77,111,100,101,108,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,105,110,32,82,65,77,32,40,67,80,85,41,0,85,110,108,111,97,100,101,100,32,109,111,100,101,108,32,100,97,116,97,32,40,109,101,115,104,32,97,110,100,32,109,97,116,101,114,105,97,108,41,32,102,114,111,109,32,82,65,77,32,97,110,100,32,86,82,65,77,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10591,24 +10591,24 @@ function _main() { $5 = HEAP32[3]|0; _InitWindow($4,$5,4448); _LoadModel($0,4497); - _memcpy((18388|0),($0|0),264)|0; + _memcpy((18700|0),($0|0),264)|0; _LoadTexture($1,4523); - ;HEAP32[18652>>2]=HEAP32[$1>>2]|0;HEAP32[18652+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18652+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18652+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18652+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[(18576)>>2]=HEAP32[$1>>2]|0;HEAP32[(18576)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18576)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18576)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18576)+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[18964>>2]=HEAP32[$1>>2]|0;HEAP32[18964+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18964+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18964+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18964+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[(18888)>>2]=HEAP32[$1>>2]|0;HEAP32[(18888)+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[(18888)+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[(18888)+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[(18888)+16>>2]=HEAP32[$1+16>>2]|0; _LoadShader($2,4557,4591); - dest=18672; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=18984; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $6 = HEAP32[2]|0; $7 = HEAP32[3]|0; _LoadRenderTexture($3,$6,$7); - dest=18728; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19040; src=$3; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$dwarf$byval_copy; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetCameraMode($dwarf$byval_copy,2); _emscripten_set_main_loop((1|0),0,1); - dest=$dwarf$byval_copy; src=18672; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$dwarf$byval_copy; src=18984; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _UnloadShader($dwarf$byval_copy); - ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18652>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18652+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18652+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18652+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18652+16>>2]|0; + ;HEAP32[$dwarf$byval_copy>>2]=HEAP32[18964>>2]|0;HEAP32[$dwarf$byval_copy+4>>2]=HEAP32[18964+4>>2]|0;HEAP32[$dwarf$byval_copy+8>>2]=HEAP32[18964+8>>2]|0;HEAP32[$dwarf$byval_copy+12>>2]=HEAP32[18964+12>>2]|0;HEAP32[$dwarf$byval_copy+16>>2]=HEAP32[18964+16>>2]|0; _UnloadTexture($dwarf$byval_copy); - _memcpy(($dwarf$byval_copy|0),(18388|0),264)|0; + _memcpy(($dwarf$byval_copy|0),(18700|0),264)|0; _UnloadModel($dwarf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10640,13 +10640,13 @@ function _UpdateDrawFrame() { HEAP8[$9>>0] = -1; ;HEAP8[$$byval_copy5>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy5); - dest=$$byval_copy5; src=18728; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19040; stop=dest+44|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginTextureMode($$byval_copy5); dest=$$byval_copy5; src=16; stop=dest+40|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _Begin3dMode($$byval_copy5); HEAP32[$1>>2] = -1; - _memcpy(($$byval_copy3|0),(18388|0),264)|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[18376>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[18376+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[18376+8>>2]|0; + _memcpy(($$byval_copy3|0),(18700|0),264)|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[18688>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[18688+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[18688+8>>2]|0; ;HEAP8[$$byval_copy5>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$1+3>>0]|0; _DrawModel($$byval_copy3,$$byval_copy4,2.0,$$byval_copy5); _DrawGrid(10,1.0); @@ -10661,23 +10661,23 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy5>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$2+3>>0]|0; _DrawText(4626,70,190,50,$$byval_copy5); _EndTextureMode(); - dest=$$byval_copy5; src=18672; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=18984; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($$byval_copy5); HEAP32[$3>>2] = 0; $13 = ((($3)) + 4|0); HEAP32[$13>>2] = 0; $14 = ((($3)) + 8|0); - $15 = HEAP32[(18736)>>2]|0; + $15 = HEAP32[(19048)>>2]|0; HEAP32[$14>>2] = $15; $16 = ((($3)) + 12|0); - $17 = HEAP32[(18740)>>2]|0; + $17 = HEAP32[(19052)>>2]|0; $18 = (0 - ($17))|0; HEAP32[$16>>2] = $18; HEAPF32[$4>>2] = 0.0; $19 = ((($4)) + 4|0); HEAPF32[$19>>2] = 0.0; HEAP32[$5>>2] = -1; - ;HEAP32[$$byval_copy2>>2]=HEAP32[(18732)>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[(18732)+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[(18732)+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[(18732)+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[(18732)+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[(19044)>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[(19044)+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[(19044)+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[(19044)+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[(19044)+16>>2]|0; ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$3+12>>2]|0; ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0; ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; @@ -10700,30 +10700,80 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorSubtract($0,$1,$2) { $0 = $0|0; $1 = $1|0; $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $17 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = +HEAPF32[$1>>2]; $4 = +HEAPF32[$2>>2]; $5 = $3 - $4; - $6 = ((($1)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($2)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 - $9; - $11 = ((($1)) + 8|0); - $12 = +HEAPF32[$11>>2]; - $13 = ((($2)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $12 - $14; HEAPF32[$0>>2] = $5; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $10; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $15; + $6 = ((($0)) + 4|0); + $7 = ((($1)) + 4|0); + $8 = +HEAPF32[$7>>2]; + $9 = ((($2)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $8 - $10; + HEAPF32[$6>>2] = $11; + $12 = ((($0)) + 8|0); + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = ((($2)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $14 - $16; + HEAPF32[$12>>2] = $17; return; } function _VectorCrossProduct($0,$1,$2) { @@ -10876,13 +10926,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11871,7 +11914,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4694] = $2; + HEAP32[4772] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11884,7 +11927,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18096; + $95 = 18408; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11897,48 +11940,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18136; + $106 = 18448; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4534]; - $111 = +HEAPF32[4524]; + $110 = +HEAPF32[4612]; + $111 = +HEAPF32[4602]; $112 = $110 - $111; - HEAPF32[4536] = $112; - $113 = +HEAPF32[(18140)>>2]; - $114 = +HEAPF32[(18100)>>2]; + HEAPF32[4614] = $112; + $113 = +HEAPF32[(18452)>>2]; + $114 = +HEAPF32[(18412)>>2]; $115 = $113 - $114; - HEAPF32[(18148)>>2] = $115; - HEAP32[4693] = 4; + HEAPF32[(18460)>>2] = $115; + HEAP32[4771] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4699] = $116; - $117 = 18128; + HEAPF32[4777] = $116; + $117 = 18440; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18096; + $123 = 18408; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18152; + $127 = 18464; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18136; + $133 = 18448; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11951,7 +11994,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18128; + $144 = 18440; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11964,27 +12007,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18152; + $155 = 18464; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4538]; - $160 = +HEAPF32[4532]; + $159 = +HEAPF32[4616]; + $160 = +HEAPF32[4610]; $161 = $159 - $160; - HEAPF32[4536] = $161; - $162 = +HEAPF32[(18156)>>2]; - $163 = +HEAPF32[(18132)>>2]; + HEAPF32[4614] = $161; + $162 = +HEAPF32[(18468)>>2]; + $163 = +HEAPF32[(18444)>>2]; $164 = $162 - $163; - HEAPF32[(18148)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; + HEAPF32[(18460)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18440+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11996,31 +12039,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4699]; + $170 = +HEAPF32[4777]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4693] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18152+4>>2]|0; + HEAP32[4771] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18464+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4700] = $174; + HEAPF32[4778] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4699] = 0.0; - HEAPF32[4700] = 0.0; - HEAPF32[4536] = 0.0; - HEAPF32[(18148)>>2] = 0.0; - HEAP32[4694] = 0; - HEAP32[4693] = 0; + HEAPF32[4777] = 0.0; + HEAPF32[4778] = 0.0; + HEAPF32[4614] = 0.0; + HEAPF32[(18460)>>2] = 0.0; + HEAP32[4772] = 0; + HEAP32[4771] = 0; STACKTOP = sp;return; break; } @@ -12030,22 +12073,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4695]|0; + $6 = HEAP32[4773]|0; $7 = (($6) + 1)|0; - HEAP32[4695] = $7; - $8 = HEAP32[4693]|0; + HEAP32[4773] = $7; + $8 = HEAP32[4771]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4693] = 2; - HEAP32[4695] = 0; + HEAP32[4771] = 2; + HEAP32[4773] = 0; } else { label = 6; } @@ -12053,8 +12096,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4695] = 1; - HEAP32[4693] = 1; + HEAP32[4773] = 1; + HEAP32[4771] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12063,19 +12106,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18096; + $21 = 18408; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18104; + $25 = 18416; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18112; + $29 = 18424; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12084,13 +12127,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[14] = $34; - HEAPF32[4530] = 0.0; - HEAPF32[(18124)>>2] = 0.0; + HEAPF32[4608] = 0.0; + HEAPF32[(18436)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4693]|0; + $35 = HEAP32[4771]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12100,19 +12143,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18112; + $44 = 18424; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18424>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18424+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4696] = $49; - HEAP32[4697] = 0; + HEAPF32[4774] = $49; + HEAP32[4775] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[14]|0; @@ -12120,11 +12163,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18112>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18112+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18424>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18424+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4698] = $56; + HEAPF32[4776] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12155,22 +12198,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4696] = 0.0; - HEAPF32[4698] = 0.0; + HEAPF32[4774] = 0.0; + HEAPF32[4776] = 0.0; $$sink10 = 0; } - HEAP32[4693] = $$sink10; - HEAPF32[4526] = 0.0; - HEAPF32[(18108)>>2] = 0.0; - HEAP32[4694] = 0; + HEAP32[4771] = $$sink10; + HEAPF32[4604] = 0.0; + HEAPF32[(18420)>>2] = 0.0; + HEAP32[4772] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4697]|0; + $65 = HEAP32[4775]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4697] = 1; + HEAP32[4775] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12179,31 +12222,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18128; + $74 = 18440; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4693]|0; + $78 = HEAP32[4771]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18096>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18096+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18128>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18128+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18408>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18408+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18440>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18440+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4693] = 8; + HEAP32[4771] = 8; } } - $82 = +HEAPF32[4532]; - $83 = +HEAPF32[4526]; + $82 = +HEAPF32[4610]; + $83 = +HEAPF32[4604]; $84 = $82 - $83; - HEAPF32[4530] = $84; - $85 = +HEAPF32[(18132)>>2]; - $86 = +HEAPF32[(18108)>>2]; + HEAPF32[4608] = $84; + $85 = +HEAPF32[(18444)>>2]; + $86 = +HEAPF32[(18420)>>2]; $87 = $85 - $86; - HEAPF32[(18124)>>2] = $87; + HEAPF32[(18436)>>2] = $87; STACKTOP = sp;return; break; } @@ -12212,58 +12255,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4693]|0; + $0 = HEAP32[4771]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4694]|0; + $2 = HEAP32[4772]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4693] = 4; + HEAP32[4771] = 4; } - $4 = HEAP32[4693]|0; + $4 = HEAP32[4771]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12276,7 +12280,7 @@ function _UpdateGestures() { return; } } - HEAP32[4693] = 0; + HEAP32[4771] = 0; return; } function _SetCameraMode($0,$1) { @@ -12305,22 +12309,22 @@ function _SetCameraMode($0,$1) { $8 = $4 * $4; $9 = $7 + $8; $10 = (+Math_sqrt((+$9))); - HEAPF32[4701] = $10; + HEAPF32[4779] = $10; $11 = $5 + $8; $12 = (+Math_sqrt((+$11))); $13 = (+Math_sqrt((+$7))); $14 = (+Math_abs((+$2))); $15 = $14 / $12; $16 = (+Math_asin((+$15))); - HEAPF32[4702] = $16; + HEAPF32[4780] = $16; $17 = (+Math_abs((+$3))); $18 = $17 / $13; $19 = (+Math_asin((+$18))); $20 = -$19; - HEAPF32[4703] = $20; + HEAPF32[4781] = $20; $21 = HEAP32[$$sroa$432$0$$sroa_idx33>>2]|0; HEAP32[15] = $21; - HEAP32[4704] = $1; + HEAP32[4782] = $1; return; } function _UpdateCamera($0) { @@ -12389,7 +12393,7 @@ function _UpdateCamera($0) { $30 = HEAP32[24]|0; $31 = (_IsKeyDown($30)|0); HEAP32[$29>>2] = $31; - $32 = HEAP32[4704]|0; + $32 = HEAP32[4782]|0; $33 = ($32|0)==(0); L1: do { if ($33) { @@ -12461,9 +12465,9 @@ function _UpdateCamera($0) { $$sroa$095$0 = 0.0;$$sroa$9$0 = 0.0; break; } else { - $64 = +HEAPF32[4540]; + $64 = +HEAPF32[4618]; $65 = $37 - $64; - $66 = +HEAPF32[(18164)>>2]; + $66 = +HEAPF32[(18476)>>2]; $67 = $42 - $66; $$sroa$095$0 = $65;$$sroa$9$0 = $67; break; @@ -12471,11 +12475,11 @@ function _UpdateCamera($0) { } else { _ShowCursor(); $68 = +HEAPF32[$1>>2]; - $69 = +HEAPF32[4540]; + $69 = +HEAPF32[4618]; $70 = $68 - $69; $71 = ((($1)) + 4|0); $72 = +HEAPF32[$71>>2]; - $73 = +HEAPF32[(18164)>>2]; + $73 = +HEAPF32[(18476)>>2]; $74 = $72 - $73; $$sroa$095$0 = $70;$$sroa$9$0 = $74; } @@ -12487,16 +12491,16 @@ function _UpdateCamera($0) { $78 = (($75) + 4)|0; $79 = $78; $80 = HEAP32[$79>>2]|0; - $81 = 18160; + $81 = 18472; $82 = $81; HEAP32[$82>>2] = $77; $83 = (($81) + 4)|0; $84 = $83; HEAP32[$84>>2] = $80; - $$pr = HEAP32[4704]|0; + $$pr = HEAP32[4782]|0; switch ($$pr|0) { case 1: { - $85 = +HEAPF32[4701]; + $85 = +HEAPF32[4779]; $86 = $85 < 120.0; $87 = ($8|0)<(0); $or$cond3 = $87 & $86; @@ -12505,10 +12509,10 @@ function _UpdateCamera($0) { $88 = (+($8|0)); $89 = $88 * 1.5; $90 = $85 - $89; - HEAPF32[4701] = $90; + HEAPF32[4779] = $90; $91 = $90 > 120.0; if ($91) { - HEAPF32[4701] = 120.0; + HEAPF32[4779] = 120.0; } } else { $92 = ((($0)) + 4|0); @@ -12587,12 +12591,12 @@ function _UpdateCamera($0) { $146 = (+($8|0)); $147 = $146 * 1.5; $148 = $85 - $147; - HEAPF32[4701] = $148; + HEAPF32[4779] = $148; $149 = $148 < 0.30000001192092896; if (!($149)) { break; } - HEAPF32[4701] = 0.30000001192092896; + HEAPF32[4779] = 0.30000001192092896; break; } } @@ -12614,7 +12618,7 @@ function _UpdateCamera($0) { $161 = $151 - $152; $162 = $153 * $161; $163 = $162 * 1.5; - $164 = +HEAPF32[4701]; + $164 = +HEAPF32[4779]; $165 = $163 / $164; $166 = $151 + $165; HEAPF32[$95>>2] = $166; @@ -12646,7 +12650,7 @@ function _UpdateCamera($0) { $185 = $151 - $152; $186 = $177 * $185; $187 = $186 * 1.5; - $188 = +HEAPF32[4701]; + $188 = +HEAPF32[4779]; $189 = $187 / $188; $190 = $151 + $189; HEAPF32[$95>>2] = $190; @@ -12670,12 +12674,12 @@ function _UpdateCamera($0) { if ($or$cond15) { $203 = (+($8|0)); $204 = $203 * 1.5; - $205 = +HEAPF32[4701]; + $205 = +HEAPF32[4779]; $206 = $205 - $204; - HEAPF32[4701] = $206; + HEAPF32[4779] = $206; $207 = $206 < 0.30000001192092896; if ($207) { - HEAPF32[4701] = 0.30000001192092896; + HEAPF32[4779] = 0.30000001192092896; } } } @@ -12689,17 +12693,17 @@ function _UpdateCamera($0) { $209 = ($12|0)==(0); if ($209) { $222 = $$sroa$095$0 * -0.0099999997764825821; - $223 = +HEAPF32[4702]; + $223 = +HEAPF32[4780]; $224 = (+Math_cos((+$223))); $225 = $222 * $224; $226 = $$sroa$9$0 * 0.0099999997764825821; $227 = (+Math_sin((+$223))); $228 = $226 * $227; - $229 = +HEAPF32[4703]; + $229 = +HEAPF32[4781]; $230 = (+Math_sin((+$229))); $231 = $228 * $230; $232 = $225 + $231; - $233 = +HEAPF32[4701]; + $233 = +HEAPF32[4779]; $234 = $233 / 5.0999999046325684; $235 = $232 * $234; $236 = ((($0)) + 12|0); @@ -12729,23 +12733,23 @@ function _UpdateCamera($0) { $210 = ($14|0)==(0); if (!($210)) { $211 = $$sroa$9$0 * 0.05000000074505806; - $212 = +HEAPF32[4701]; + $212 = +HEAPF32[4779]; $213 = $211 + $212; - HEAPF32[4701] = $213; + HEAPF32[4779] = $213; label = 58; break L1; } $214 = $$sroa$095$0 * 0.0099999997764825821; - $215 = +HEAPF32[4702]; + $215 = +HEAPF32[4780]; $216 = $215 - $214; - HEAPF32[4702] = $216; + HEAPF32[4780] = $216; $217 = $$sroa$9$0 * 0.0099999997764825821; - $218 = +HEAPF32[4703]; + $218 = +HEAPF32[4781]; $219 = $218 - $217; - HEAPF32[4703] = $219; + HEAPF32[4781] = $219; $220 = $219 > 1.483529806137085; if ($220) { - HEAPF32[4703] = 1.483529806137085; + HEAPF32[4781] = 1.483529806137085; label = 58; break L1; } @@ -12754,32 +12758,32 @@ function _UpdateCamera($0) { label = 58; break L1; } - HEAPF32[4703] = -1.483529806137085; + HEAPF32[4781] = -1.483529806137085; label = 58; break L1; break; } case 2: { - $254 = +HEAPF32[4702]; + $254 = +HEAPF32[4780]; $255 = $254 + 0.0099999997764825821; - HEAPF32[4702] = $255; + HEAPF32[4780] = $255; $256 = (+($8|0)); $257 = $256 * 1.5; - $258 = +HEAPF32[4701]; + $258 = +HEAPF32[4779]; $259 = $258 - $257; - HEAPF32[4701] = $259; + HEAPF32[4779] = $259; $260 = $259 < 1.2000000476837158; if (!($260)) { label = 58; break L1; } - HEAPF32[4701] = 1.2000000476837158; + HEAPF32[4779] = 1.2000000476837158; label = 58; break L1; break; } case 4: case 3: { - $264 = +HEAPF32[4702]; + $264 = +HEAPF32[4780]; $265 = (+Math_sin((+$264))); $266 = HEAP32[$17>>2]|0; $267 = (+($266>>>0)); @@ -12801,7 +12805,7 @@ function _UpdateCamera($0) { $283 = +HEAPF32[$0>>2]; $284 = $283 + $282; HEAPF32[$0>>2] = $284; - $285 = +HEAPF32[4703]; + $285 = +HEAPF32[4781]; $286 = (+Math_sin((+$285))); $287 = $270 * $286; $288 = $267 * $286; @@ -12869,14 +12873,14 @@ function _UpdateCamera($0) { $$0 = 1; } $313 = $$sroa$095$0 * 0.0030000000260770321; - $314 = +HEAPF32[4702]; + $314 = +HEAPF32[4780]; $315 = $314 - $313; - HEAPF32[4702] = $315; + HEAPF32[4780] = $315; $316 = $$sroa$9$0 * 0.0030000000260770321; - $317 = +HEAPF32[4703]; + $317 = +HEAPF32[4781]; $318 = $317 - $316; - HEAPF32[4703] = $318; - $319 = HEAP32[4704]|0; + HEAPF32[4781] = $318; + $319 = HEAP32[4782]|0; $320 = ($319|0)==(4); if ($320) { $321 = $318 > 0.087266460061073303; @@ -12891,17 +12895,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 49) { - HEAPF32[4703] = $$sink26; + HEAPF32[4781] = $$sink26; } $323 = (+($8|0)); $324 = $323 * 1.5; - $325 = +HEAPF32[4701]; + $325 = +HEAPF32[4779]; $326 = $325 - $324; $327 = $326 < 1.2000000476837158; $storemerge = $327 ? 1.2000000476837158 : $326; - HEAPF32[4701] = $storemerge; + HEAPF32[4779] = $storemerge; $328 = +HEAPF32[$0>>2]; - $329 = +HEAPF32[4702]; + $329 = +HEAPF32[4780]; $330 = (+Math_cos((+$329))); $331 = $330 * 0.40000000596046448; $332 = $328 + $331; @@ -12932,17 +12936,17 @@ function _UpdateCamera($0) { } } if ((label|0) == 53) { - HEAPF32[4703] = $$sink28; + HEAPF32[4781] = $$sink28; } $346 = +HEAPF32[$0>>2]; - $347 = +HEAPF32[4702]; + $347 = +HEAPF32[4780]; $348 = (+Math_sin((+$347))); $349 = $348 * 25.0; $350 = $346 - $349; $351 = ((($0)) + 12|0); HEAPF32[$351>>2] = $350; $352 = +HEAPF32[$297>>2]; - $353 = +HEAPF32[4703]; + $353 = +HEAPF32[4781]; $354 = (+Math_sin((+$353))); $355 = $354 * 25.0; $356 = $352 + $355; @@ -12956,12 +12960,12 @@ function _UpdateCamera($0) { HEAPF32[$362>>2] = $361; $363 = ($$0|0)==(0); if (!($363)) { - $364 = HEAP32[4705]|0; + $364 = HEAP32[4783]|0; $365 = (($364) + 1)|0; - HEAP32[4705] = $365; + HEAP32[4783] = $365; } $366 = +HEAPF32[15]; - $367 = HEAP32[4705]|0; + $367 = HEAP32[4783]|0; $368 = (+($367|0)); $369 = $368 / 5.0; $370 = (+Math_sin((+$369))); @@ -12991,7 +12995,7 @@ function _UpdateCamera($0) { } } while(0); if ((label|0) == 58) { - $$pr190 = HEAP32[4704]|0; + $$pr190 = HEAP32[4782]|0; $380 = $$pr190; } switch ($380|0) { @@ -13002,11 +13006,11 @@ function _UpdateCamera($0) { STACKTOP = sp;return; } } - $381 = +HEAPF32[4702]; + $381 = +HEAPF32[4780]; $382 = (+Math_sin((+$381))); - $383 = +HEAPF32[4701]; + $383 = +HEAPF32[4779]; $384 = $382 * $383; - $385 = +HEAPF32[4703]; + $385 = +HEAPF32[4781]; $386 = (+Math_cos((+$385))); $387 = $384 * $386; $388 = ((($0)) + 12|0); @@ -13015,7 +13019,7 @@ function _UpdateCamera($0) { HEAPF32[$0>>2] = $390; $391 = !($385 <= 0.0); $392 = (+Math_sin((+$385))); - $393 = +HEAPF32[4701]; + $393 = +HEAPF32[4779]; $394 = ((($0)) + 16|0); $395 = +HEAPF32[$394>>2]; $396 = $392 * $393; @@ -13039,7 +13043,7 @@ function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 18168; + $1 = 18480; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -13056,7 +13060,7 @@ function _GetMousePosition($0) { function _GetMouseWheelMove() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4710]|0; + $0 = HEAP32[4788]|0; $1 = (($0|0) / 100)&-1; return ($1|0); } @@ -13081,19 +13085,19 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4709]|0; + $0 = HEAP32[4787]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4708]|0; + $0 = HEAP32[4786]|0; return ($0|0); } function _HideCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4706] = 1; + HEAP32[4784] = 1; return; } function _SetMousePosition($0) { @@ -13106,13 +13110,13 @@ function _SetMousePosition($0) { $4 = (($1) + 4)|0; $5 = $4; $6 = HEAP32[$5>>2]|0; - $7 = 18168; + $7 = 18480; $8 = $7; HEAP32[$8>>2] = $3; $9 = (($7) + 4)|0; $10 = $9; HEAP32[$10>>2] = $6; - $11 = HEAP32[4707]|0; + $11 = HEAP32[4785]|0; $12 = +HEAPF32[$0>>2]; $13 = $12; $14 = ((($0)) + 4|0); @@ -13124,14 +13128,14 @@ function _SetMousePosition($0) { function _ShowCursor() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4706] = 0; + HEAP32[4784] = 0; return; } function _GetKeyStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4707]|0; + $1 = HEAP32[4785]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -13139,7 +13143,7 @@ function _GetMouseButtonStatus($0) { $0 = $0|0; var $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4707]|0; + $1 = HEAP32[4785]|0; $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); return ($2|0); } @@ -13152,7 +13156,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4683,$vararg_buffer); - HEAP32[4711] = $2; + HEAP32[4789] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -13165,15 +13169,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4712|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4709]|0; + $3 = HEAP32[4787]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4542] = $5; - $6 = HEAP32[4708]|0; + HEAPF32[4620] = $5; + $6 = HEAP32[4786]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18172)>>2] = $8; - $9 = HEAP32[4712]|0; + HEAPF32[(18484)>>2] = $8; + $9 = HEAP32[4790]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -13192,11 +13196,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[18208>>0]=HEAP8[9212>>0]|0;HEAP8[18208+1>>0]=HEAP8[9212+1>>0]|0;HEAP8[18208+2>>0]=HEAP8[9212+2>>0]|0;HEAP8[18208+3>>0]=HEAP8[9212+3>>0]|0;HEAP8[18208+4>>0]=HEAP8[9212+4>>0]|0;HEAP8[18208+5>>0]=HEAP8[9212+5>>0]|0;HEAP8[18208+6>>0]=HEAP8[9212+6>>0]|0; + ;HEAP8[18520>>0]=HEAP8[9212>>0]|0;HEAP8[18520+1>>0]=HEAP8[9212+1>>0]|0;HEAP8[18520+2>>0]=HEAP8[9212+2>>0]|0;HEAP8[18520+3>>0]=HEAP8[9212+3>>0]|0;HEAP8[18520+4>>0]=HEAP8[9212+4>>0]|0;HEAP8[18520+5>>0]=HEAP8[9212+5>>0]|0;HEAP8[18520+6>>0]=HEAP8[9212+6>>0]|0; break; } case 1: { - $3 = 18208; + $3 = 18520; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -13205,11 +13209,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=18208; src=9219; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=18520; src=9219; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 18208; + $7 = 18520; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -13220,16 +13224,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(18208,$1)|0); - $strlen = (_strlen(18208)|0); - $endptr = (18208 + ($strlen)|0); + (_strcat(18520,$1)|0); + $strlen = (_strlen(18520)|0); + $endptr = (18520 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(18208,$2)|0); + (_vprintf(18520,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -13261,22 +13265,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4709] = $0; - HEAP32[4708] = $1; + HEAP32[4787] = $0; + HEAP32[4786] = $1; _MatrixIdentity($2); - dest=18924; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19236; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5354,$vararg_buffer); } - $6 = HEAP32[4709]|0; - HEAP32[4747] = $6; - $7 = HEAP32[4708]|0; - HEAP32[4748] = $7; + $6 = HEAP32[4787]|0; + HEAP32[4825] = $6; + $7 = HEAP32[4786]|0; + HEAP32[4826] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[21668]|0; + $8 = HEAP8[21980]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -13284,13 +13288,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[21668]|0; + $11 = HEAP8[21980]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[21668]|0; + $14 = HEAP8[21980]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -13312,18 +13316,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4749]|0; + $21 = HEAP32[4827]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4709]|0; - $48 = HEAP32[4708]|0; - $49 = HEAP32[4711]|0; + $47 = HEAP32[4787]|0; + $48 = HEAP32[4786]|0; + $49 = HEAP32[4789]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4707] = $50; - $51 = HEAP32[4709]|0; - HEAP32[4750] = $51; - $52 = HEAP32[4708]|0; - HEAP32[4751] = $52; + HEAP32[4785] = $50; + $51 = HEAP32[4787]|0; + HEAP32[4828] = $51; + $52 = HEAP32[4786]|0; + HEAP32[4829] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -13332,9 +13336,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4709]|0; + $27 = HEAP32[4787]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4708]|0; + $29 = HEAP32[4786]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13356,25 +13360,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4747] = $31; - HEAP32[4748] = $34; + HEAP32[4825] = $31; + HEAP32[4826] = $34; } } while(0); - $38 = HEAP32[4747]|0; - $39 = HEAP32[4748]|0; + $38 = HEAP32[4825]|0; + $39 = HEAP32[4826]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5405,$vararg_buffer3); - $40 = HEAP32[4747]|0; - $41 = HEAP32[4748]|0; + $40 = HEAP32[4825]|0; + $41 = HEAP32[4826]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4747]|0; - $43 = HEAP32[4748]|0; - $44 = HEAP32[4711]|0; + $42 = HEAP32[4825]|0; + $43 = HEAP32[4826]|0; + $44 = HEAP32[4789]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4707] = $46; + HEAP32[4785] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -13383,60 +13387,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5443,$vararg_buffer6); } else { _TraceLog(0,5476,$vararg_buffer8); - $55 = HEAP32[4750]|0; - $56 = HEAP32[4751]|0; + $55 = HEAP32[4828]|0; + $56 = HEAP32[4829]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5516,$vararg_buffer10); - $57 = HEAP32[4709]|0; - $58 = HEAP32[4708]|0; + $57 = HEAP32[4787]|0; + $58 = HEAP32[4786]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5537,$vararg_buffer14); - $59 = HEAP32[4752]|0; - $60 = HEAP32[4753]|0; + $59 = HEAP32[4830]|0; + $60 = HEAP32[4831]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5558,$vararg_buffer18); } - $61 = HEAP32[4707]|0; + $61 = HEAP32[4785]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4707]|0; + $62 = HEAP32[4785]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4707]|0; + $63 = HEAP32[4785]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4707]|0; + $64 = HEAP32[4785]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4707]|0; + $65 = HEAP32[4785]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4707]|0; + $66 = HEAP32[4785]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4707]|0; + $67 = HEAP32[4785]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4707]|0; + $68 = HEAP32[4785]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4707]|0; + $69 = HEAP32[4785]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[21668]|0; + $70 = HEAP8[21980]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4709]|0; - $74 = HEAP32[4708]|0; + $73 = HEAP32[4787]|0; + $74 = HEAP32[4786]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4750]|0; - $76 = HEAP32[4752]|0; + $75 = HEAP32[4828]|0; + $76 = HEAP32[4830]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4751]|0; - $80 = HEAP32[4753]|0; + $79 = HEAP32[4829]|0; + $80 = HEAP32[4831]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13455,18 +13459,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5583,$vararg_buffer22); - $73 = HEAP32[4709]|0; - $74 = HEAP32[4708]|0; + $73 = HEAP32[4787]|0; + $74 = HEAP32[4786]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4750]|0; - $76 = HEAP32[4752]|0; + $75 = HEAP32[4828]|0; + $76 = HEAP32[4830]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4751]|0; - $80 = HEAP32[4753]|0; + $79 = HEAP32[4829]|0; + $80 = HEAP32[4831]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13494,7 +13498,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(18892)>>2] = 224; + HEAP32[(19204)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -13535,27 +13539,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[18868>>2]=HEAP32[$1>>2]|0;HEAP32[18868+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[18868+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[18868+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[18868+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19180>>2]=HEAP32[$1>>2]|0;HEAP32[19180+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19180+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19180+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19180+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(18892)>>2]|0; + $5 = HEAP32[(19204)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(18896)>>2] = $7; + HEAP32[(19208)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18888)>>2] = $23; - $24 = HEAP32[4717]|0; + HEAP32[(19200)>>2] = $23; + $24 = HEAP32[4795]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4907,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(18872)>>2]|0; - $10 = HEAP32[(18892)>>2]|0; - $11 = HEAP32[(18896)>>2]|0; + $9 = HEAP32[(19184)>>2]|0; + $10 = HEAP32[(19204)>>2]|0; + $11 = HEAP32[(19208)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13604,8 +13608,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18888)>>2] = $23; - $24 = HEAP32[4717]|0; + HEAP32[(19200)>>2] = $23; + $24 = HEAP32[4795]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4907,$vararg_buffer); STACKTOP = sp;return; @@ -13616,7 +13620,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2275] = $1; + HEAPF64[2314] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13775,7 +13779,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18184; + $31 = 18496; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13788,7 +13792,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18192); + $42 = (18504); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13844,7 +13848,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (18852 + ($10<<2)|0); + $11 = (19164 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13858,7 +13862,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2272] = $$; + HEAPF64[2311] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -13870,7 +13874,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4712] = 0; + HEAP32[4790] = 0; return; } function _GetTime() { @@ -14446,7 +14450,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4725]|0; + $6 = HEAP32[4803]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -14456,7 +14460,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4726]|0; + $9 = HEAP32[4804]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -14465,7 +14469,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4727]|0; + $12 = HEAP32[4805]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -14475,7 +14479,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4728]|0; + $15 = HEAP32[4806]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -14485,7 +14489,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4729]|0; + $18 = HEAP32[4807]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -14529,7 +14533,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4725]|0; + $22 = HEAP32[4803]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14537,7 +14541,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4725]|0; + $24 = HEAP32[4803]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14545,7 +14549,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4725]|0; + $26 = HEAP32[4803]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14553,7 +14557,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4725]|0; + $28 = HEAP32[4803]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14561,7 +14565,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4726]|0; + $30 = HEAP32[4804]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14569,7 +14573,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4727]|0; + $32 = HEAP32[4805]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14577,7 +14581,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4727]|0; + $34 = HEAP32[4805]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14585,7 +14589,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4728]|0; + $36 = HEAP32[4806]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14593,7 +14597,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4728]|0; + $38 = HEAP32[4806]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14601,7 +14605,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4729]|0; + $40 = HEAP32[4807]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14609,7 +14613,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4729]|0; + $42 = HEAP32[4807]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14621,7 +14625,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4730]|0; + $44 = HEAP32[4808]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14636,7 +14640,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,11944,$vararg_buffer15); + _TraceLog(2,12252,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14967,20 +14971,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4709]|0; + $3 = HEAP32[4787]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4708]|0; + $5 = HEAP32[4786]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4750] = $3; - HEAP32[4751] = $5; - HEAP32[4752] = 0; - HEAP32[4753] = 0; + HEAP32[4828] = $3; + HEAP32[4829] = $5; + HEAP32[4830] = 0; + HEAP32[4831] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14994,9 +14998,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4709]|0; + $35 = HEAP32[4787]|0; $36 = (+($35|0)); - $37 = HEAP32[4708]|0; + $37 = HEAP32[4786]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -15004,26 +15008,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4750] = $45; - HEAP32[4751] = $37; + HEAP32[4828] = $45; + HEAP32[4829] = $37; $46 = (($45) - ($35))|0; - HEAP32[4752] = $46; + HEAP32[4830] = $46; $$sink1 = 0; } else { - HEAP32[4750] = $35; + HEAP32[4828] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4751] = $42; - HEAP32[4752] = 0; + HEAP32[4829] = $42; + HEAP32[4830] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4753] = $$sink1; + HEAP32[4831] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4708]|0; + $7 = HEAP32[4786]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -15033,11 +15037,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8965,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4709]|0; + $9 = HEAP32[4787]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4708]|0; + $13 = HEAP32[4786]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -15045,33 +15049,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4750] = $23; - HEAP32[4751] = $1; + HEAP32[4828] = $23; + HEAP32[4829] = $1; $24 = (($0) - ($23))|0; - HEAP32[4752] = $24; + HEAP32[4830] = $24; $$sink = 0; } else { - HEAP32[4750] = $0; - $17 = HEAP32[4708]|0; + HEAP32[4828] = $0; + $17 = HEAP32[4786]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4751] = $20; - HEAP32[4752] = 0; + HEAP32[4829] = $20; + HEAP32[4830] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4753] = $$sink; - $25 = HEAP32[4750]|0; + HEAP32[4831] = $$sink; + $25 = HEAP32[4828]|0; $26 = (+($25|0)); - $27 = HEAP32[4709]|0; + $27 = HEAP32[4787]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=18924; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4750] = $0; - HEAP32[4751] = $1; + dest=19236; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4828] = $0; + HEAP32[4829] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -15093,10 +15097,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4709] = $1; - HEAP32[4708] = $2; - HEAP32[4750] = $1; - HEAP32[4751] = $2; + HEAP32[4787] = $1; + HEAP32[4786] = $2; + HEAP32[4828] = $1; + HEAP32[4829] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -15123,7 +15127,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (21675 + ($1)|0); + $9 = (21987 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -15144,7 +15148,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (21669 + ($1)|0); + $7 = (21981 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -15223,7 +15227,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18184; + $15 = 18496; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -15258,7 +15262,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5123] = $3; + HEAP32[5201] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -15268,7 +15272,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5122] = $$sink; + HEAP32[5200] = $$sink; return; } function _rlglInit($0,$1) { @@ -15349,18 +15353,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5715)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4788] = 1; + HEAP32[4866] = 1; $27 = (_eglGetProcAddress((5742|0))|0); - HEAP32[4789] = $27; + HEAP32[4867] = $27; $28 = (_eglGetProcAddress((5763|0))|0); - HEAP32[4790] = $28; + HEAP32[4868] = $28; $29 = (_eglGetProcAddress((5784|0))|0); - HEAP32[4791] = $29; + HEAP32[4869] = $29; } $30 = (_strcmp($24,5808)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4730] = 1; + HEAP32[4808] = 1; } $32 = (_strcmp($24,5828)|0); $33 = ($32|0)==(0); @@ -15382,7 +15386,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4725] = 1; + HEAP32[4803] = 1; } $39 = (_strcmp($24,5933)|0); $40 = ($39|0)==(0); @@ -15398,35 +15402,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4726] = 1; + HEAP32[4804] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,6002)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4727] = 1; + HEAP32[4805] = 1; } $47 = (_strcmp($44,6027)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4728] = 1; + HEAP32[4806] = 1; } $49 = (_strcmp($44,6060)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4729] = 1; + HEAP32[4807] = 1; } $51 = (_strcmp($44,6096)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4792] = 1; - _glGetFloatv(34047,(19172|0)); + HEAP32[4870] = 1; + _glGetFloatv(34047,(19484|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6130)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4794] = 1; + HEAP32[4872] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15437,61 +15441,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4788]|0; + $21 = HEAP32[4866]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6233,$vararg_buffer15); } else { _TraceLog(0,6158,$vararg_buffer13); } - $57 = HEAP32[4730]|0; + $57 = HEAP32[4808]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6369,$vararg_buffer19); } else { _TraceLog(0,6294,$vararg_buffer17); } - $59 = HEAP32[4725]|0; + $59 = HEAP32[4803]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6461,$vararg_buffer21); } - $61 = HEAP32[4726]|0; + $61 = HEAP32[4804]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6507,$vararg_buffer23); } - $63 = HEAP32[4727]|0; + $63 = HEAP32[4805]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6554,$vararg_buffer25); } - $65 = HEAP32[4728]|0; + $65 = HEAP32[4806]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6605,$vararg_buffer27); } - $67 = HEAP32[4729]|0; + $67 = HEAP32[4807]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6652,$vararg_buffer29); } - $69 = HEAP32[4792]|0; + $69 = HEAP32[4870]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4793]; + $71 = +HEAPF32[4871]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6699,$vararg_buffer31); } - $73 = HEAP32[4794]|0; + $73 = HEAP32[4872]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6765,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4795] = $75; + HEAP32[4873] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6869,$vararg_buffer39); @@ -15500,14 +15504,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6818,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19184; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19240; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19496; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19552; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4824] = $77; + HEAP32[4902] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4824]|0; + $79 = HEAP32[4902]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -15520,7 +15524,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4825] = $78; + HEAP32[4903] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15535,48 +15539,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4826] = 1; - $85 = HEAP32[4795]|0; + HEAP32[4904] = 1; + $85 = HEAP32[4873]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4827] = 4; + HEAP32[4905] = 4; _MatrixIdentity($4); - dest=19312; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19624; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19376); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19688); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19440); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19752); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19504); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19816); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19568); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19880); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19632); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(19944); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19696); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20008); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19760); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20072); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19824); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20136); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19888); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20200); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19952); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20264); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20016); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20328); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20392); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20456); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20208); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20520); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20272); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20584); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=19020; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19332; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=19084; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4754] = 19084; + dest=19396; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4832] = 19396; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15587,21 +15591,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5084] = $0; - HEAP32[5085] = $1; + HEAP32[5162] = $0; + HEAP32[5163] = $1; _TraceLog(0,6908,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4752]|0; + $0 = HEAP32[4830]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4753]|0; + $2 = HEAP32[4831]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4750]|0; + $4 = HEAP32[4828]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4751]|0; + $6 = HEAP32[4829]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15612,12 +15616,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19020; + $modelview$sink = 19332; label = 3; break; } case 5888: { - $modelview$sink = 19084; + $modelview$sink = 19396; label = 3; break; } @@ -15625,9 +15629,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4754] = $modelview$sink; + HEAP32[4832] = $modelview$sink; } - HEAP32[4787] = $0; + HEAP32[4865] = $0; return; } function _rlLoadIdentity() { @@ -15635,7 +15639,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4754]|0; + $1 = HEAP32[4832]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -15656,7 +15660,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4754]|0; + $8 = HEAP32[4832]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -15753,15 +15757,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20356)>>2] = $0; + HEAP32[(20668)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20364)>>2] = $1; - HEAP32[(20360)>>2] = 0; - HEAP32[(20368)>>2] = 0; + HEAP32[(20676)>>2] = $1; + HEAP32[(20672)>>2] = 0; + HEAP32[(20680)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20364)>>2]|0; + $2 = HEAP32[(20676)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15772,19 +15776,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5086] = 0; - HEAP32[(20352)>>2] = 0; - HEAP32[(20348)>>2] = 0; + HEAP32[5164] = 0; + HEAP32[(20664)>>2] = 0; + HEAP32[(20660)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20404)>>2] = $5; + HEAP32[(20716)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20412)>>2] = $6; - HEAP32[(20408)>>2] = 0; - HEAP32[(20416)>>2] = 0; + HEAP32[(20724)>>2] = $6; + HEAP32[(20720)>>2] = 0; + HEAP32[(20728)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20412)>>2]|0; + $7 = HEAP32[(20724)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15795,24 +15799,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5098] = 0; - HEAP32[(20400)>>2] = 0; - HEAP32[(20396)>>2] = 0; + HEAP32[5176] = 0; + HEAP32[(20712)>>2] = 0; + HEAP32[(20708)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20452)>>2] = $10; + HEAP32[(20764)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20456)>>2] = $11; + HEAP32[(20768)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20460)>>2] = $12; + HEAP32[(20772)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20464)>>2] = $13; - $14 = HEAP32[(20452)>>2]|0; + HEAP32[(20776)>>2] = $13; + $14 = HEAP32[(20764)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20456)>>2]|0; + $15 = HEAP32[(20768)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20460)>>2]|0; + $17 = HEAP32[(20772)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15823,7 +15827,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20464)>>2]|0; + $16 = HEAP32[(20776)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15860,140 +15864,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5110] = 0; - HEAP32[(20444)>>2] = 0; - HEAP32[(20448)>>2] = 0; + HEAP32[5188] = 0; + HEAP32[(20756)>>2] = 0; + HEAP32[(20760)>>2] = 0; _TraceLog(0,6955,$vararg_buffer); - $20 = HEAP32[4788]|0; + $20 = HEAP32[4866]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4789]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20372)); - $44 = HEAP32[4790]|0; - $45 = HEAP32[(20372)>>2]|0; + $43 = HEAP32[4867]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(20684)); + $44 = HEAP32[4868]|0; + $45 = HEAP32[(20684)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20376)|0)); - $46 = HEAP32[(20376)>>2]|0; + _glGenBuffers(2,((20688)|0)); + $46 = HEAP32[(20688)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20356)>>2]|0; + $47 = HEAP32[(20668)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19244)>>2]|0; + $48 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19244)>>2]|0; + $49 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20380)|0)); - $50 = HEAP32[(20380)>>2]|0; + _glGenBuffers(2,((20692)|0)); + $50 = HEAP32[(20692)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20364)>>2]|0; + $51 = HEAP32[(20676)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19264)>>2]|0; + $52 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19264)>>2]|0; + $53 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4788]|0; + $54 = HEAP32[4866]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20376)>>2]|0; - $58 = HEAP32[(20380)>>2]|0; + $57 = HEAP32[(20688)>>2]|0; + $58 = HEAP32[(20692)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7093,$vararg_buffer3); } else { - $56 = HEAP32[(20372)>>2]|0; + $56 = HEAP32[(20684)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7028,$vararg_buffer1); } - $59 = HEAP32[4788]|0; + $59 = HEAP32[4866]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4789]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20420)); - $62 = HEAP32[4790]|0; - $63 = HEAP32[(20420)>>2]|0; + $61 = HEAP32[4867]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(20732)); + $62 = HEAP32[4868]|0; + $63 = HEAP32[(20732)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20424)|0)); - $64 = HEAP32[(20424)>>2]|0; + _glGenBuffers(1,((20736)|0)); + $64 = HEAP32[(20736)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20404)>>2]|0; + $65 = HEAP32[(20716)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19244)>>2]|0; + $66 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19244)>>2]|0; + $67 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20428)|0)); - $68 = HEAP32[(20428)>>2]|0; + _glGenBuffers(1,((20740)|0)); + $68 = HEAP32[(20740)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20412)>>2]|0; + $69 = HEAP32[(20724)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19264)>>2]|0; + $70 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19264)>>2]|0; + $71 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4788]|0; + $72 = HEAP32[4866]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20424)>>2]|0; - $76 = HEAP32[(20428)>>2]|0; + $75 = HEAP32[(20736)>>2]|0; + $76 = HEAP32[(20740)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7239,$vararg_buffer10); } else { - $74 = HEAP32[(20420)>>2]|0; + $74 = HEAP32[(20732)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7170,$vararg_buffer7); } - $77 = HEAP32[4788]|0; + $77 = HEAP32[4866]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4789]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20468)); - $80 = HEAP32[4790]|0; - $81 = HEAP32[(20468)>>2]|0; + $79 = HEAP32[4867]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(20780)); + $80 = HEAP32[4868]|0; + $81 = HEAP32[(20780)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20472)|0)); - $82 = HEAP32[(20472)>>2]|0; + _glGenBuffers(1,((20784)|0)); + $82 = HEAP32[(20784)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20452)>>2]|0; + $83 = HEAP32[(20764)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19244)>>2]|0; + $84 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19244)>>2]|0; + $85 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20476)|0)); - $86 = HEAP32[(20476)>>2]|0; + _glGenBuffers(1,((20788)|0)); + $86 = HEAP32[(20788)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20456)>>2]|0; + $87 = HEAP32[(20768)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19248)>>2]|0; + $88 = HEAP32[(19560)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19248)>>2]|0; + $89 = HEAP32[(19560)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20480)|0)); - $90 = HEAP32[(20480)>>2]|0; + _glGenBuffers(1,((20792)|0)); + $90 = HEAP32[(20792)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20460)>>2]|0; + $91 = HEAP32[(20772)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19264)>>2]|0; + $92 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19264)>>2]|0; + $93 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20484)|0)); - $94 = HEAP32[(20484)>>2]|0; + _glGenBuffers(1,((20796)|0)); + $94 = HEAP32[(20796)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20464)>>2]|0; + $95 = HEAP32[(20776)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4788]|0; + $96 = HEAP32[4866]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20472)>>2]|0; - $100 = HEAP32[(20476)>>2]|0; - $101 = HEAP32[(20480)>>2]|0; - $102 = HEAP32[(20484)>>2]|0; + $99 = HEAP32[(20784)>>2]|0; + $100 = HEAP32[(20788)>>2]|0; + $101 = HEAP32[(20792)>>2]|0; + $102 = HEAP32[(20796)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -16003,16 +16007,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7385,$vararg_buffer17); } else { - $98 = HEAP32[(20468)>>2]|0; + $98 = HEAP32[(20780)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7320,$vararg_buffer14); } - $103 = HEAP32[4788]|0; + $103 = HEAP32[4866]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4790]|0; + $105 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -16193,9 +16197,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21669 + ($0)|0); + $1 = (21981 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21672 + ($0)|0); + $3 = (21984 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16207,9 +16211,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (21669 + ($0)|0); + $1 = (21981 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (21672 + ($0)|0); + $3 = (21984 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -16230,7 +16234,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4707]|0; + $0 = HEAP32[4785]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9229,$vararg_buffer); @@ -16241,9 +16245,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[18868>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[18868+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[18868+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[18868+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[18868+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19180>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19180+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19180+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19180+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19180+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(18896)>>2]|0; + $0 = HEAP32[(19208)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -16254,11 +16258,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19180|0)); - $0 = HEAP32[4795]|0; + _glDeleteTextures(1,(19492|0)); + $0 = HEAP32[4873]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9256,$vararg_buffer); - $1 = HEAP32[4825]|0; + $1 = HEAP32[4903]|0; _free($1); STACKTOP = sp;return; } @@ -16266,17 +16270,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4796]|0; + $0 = HEAP32[4874]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4788]|0; + $0 = HEAP32[4866]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4790]|0; + $2 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -16285,39 +16289,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20376)|0)); - _glDeleteBuffers(1,((20380)|0)); - _glDeleteBuffers(1,((20424)|0)); - _glDeleteBuffers(1,((20428)|0)); - _glDeleteBuffers(1,((20472)|0)); - _glDeleteBuffers(1,((20476)|0)); - _glDeleteBuffers(1,((20480)|0)); - _glDeleteBuffers(1,((20484)|0)); - $3 = HEAP32[4788]|0; + _glDeleteBuffers(1,((20688)|0)); + _glDeleteBuffers(1,((20692)|0)); + _glDeleteBuffers(1,((20736)|0)); + _glDeleteBuffers(1,((20740)|0)); + _glDeleteBuffers(1,((20784)|0)); + _glDeleteBuffers(1,((20788)|0)); + _glDeleteBuffers(1,((20792)|0)); + _glDeleteBuffers(1,((20796)|0)); + $3 = HEAP32[4866]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4791]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20372)); - $6 = HEAP32[4791]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20420)); - $7 = HEAP32[4791]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20468)); - } - $8 = HEAP32[(20356)>>2]|0; + $5 = HEAP32[4869]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(20684)); + $6 = HEAP32[4869]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(20732)); + $7 = HEAP32[4869]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(20780)); + } + $8 = HEAP32[(20668)>>2]|0; _free($8); - $9 = HEAP32[(20364)>>2]|0; + $9 = HEAP32[(20676)>>2]|0; _free($9); - $10 = HEAP32[(20404)>>2]|0; + $10 = HEAP32[(20716)>>2]|0; _free($10); - $11 = HEAP32[(20412)>>2]|0; + $11 = HEAP32[(20724)>>2]|0; _free($11); - $12 = HEAP32[(20452)>>2]|0; + $12 = HEAP32[(20764)>>2]|0; _free($12); - $13 = HEAP32[(20456)>>2]|0; + $13 = HEAP32[(20768)>>2]|0; _free($13); - $14 = HEAP32[(20460)>>2]|0; + $14 = HEAP32[(20772)>>2]|0; _free($14); - $15 = HEAP32[(20464)>>2]|0; + $15 = HEAP32[(20776)>>2]|0; _free($15); return; } @@ -16357,16 +16361,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2292] = $0; - $1 = +HEAPF64[2275]; + HEAPF64[2331] = $0; + $1 = +HEAPF64[2314]; $2 = $0 - $1; - HEAPF64[2293] = $2; - HEAPF64[2275] = $0; + HEAPF64[2332] = $2; + HEAPF64[2314] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=18924; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=19236; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20496); + _rlMultMatrixf(20808); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16375,53 +16379,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[5124] = $1; + HEAP32[5202] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20500)>>2] = $3; + HEAP32[(20812)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20504)>>2] = $5; + HEAP32[(20816)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20508)>>2] = $7; + HEAP32[(20820)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20512)>>2] = $9; + HEAP32[(20824)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20516)>>2] = $11; + HEAP32[(20828)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20520)>>2] = $13; + HEAP32[(20832)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20524)>>2] = $15; + HEAP32[(20836)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20528)>>2] = $17; + HEAP32[(20840)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20532)>>2] = $19; + HEAP32[(20844)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20536)>>2] = $21; + HEAP32[(20848)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20540)>>2] = $23; + HEAP32[(20852)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20544)>>2] = $25; + HEAP32[(20856)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20548)>>2] = $27; + HEAP32[(20860)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20552)>>2] = $29; + HEAP32[(20864)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20556)>>2] = $31; - return (20496|0); + HEAP32[(20868)>>2] = $31; + return (20808|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16496,7 +16500,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4754]|0; + $49 = HEAP32[4832]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -16510,15 +16514,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2292] = $0; - $1 = +HEAPF64[2275]; + HEAPF64[2331] = $0; + $1 = +HEAPF64[2314]; $2 = $0 - $1; - HEAPF64[2294] = $2; - HEAPF64[2275] = $0; - $3 = +HEAPF64[2293]; + HEAPF64[2333] = $2; + HEAPF64[2314] = $0; + $3 = +HEAPF64[2332]; $4 = $2 + $3; - HEAPF64[2295] = $4; - $5 = +HEAPF64[2272]; + HEAPF64[2334] = $4; + $5 = +HEAPF64[2311]; $6 = $4 < $5; if (!($6)) { return; @@ -16528,13 +16532,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2292] = $10; - $11 = +HEAPF64[2275]; + HEAPF64[2331] = $10; + $11 = +HEAPF64[2314]; $12 = $10 - $11; - HEAPF64[2275] = $10; - $13 = +HEAPF64[2295]; + HEAPF64[2314] = $10; + $13 = +HEAPF64[2334]; $14 = $12 + $13; - HEAPF64[2295] = $14; + HEAPF64[2334] = $14; return; } function _rlglDraw() { @@ -16547,7 +16551,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4707]|0; + $0 = HEAP32[4785]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16563,20 +16567,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[761] = -1; HEAP32[763] = -1; - HEAP32[5140] = 0; - $3 = HEAP32[4707]|0; + HEAP32[5218] = 0; + $3 = HEAP32[4785]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4542] = $5; + HEAPF32[4620] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18172)>>2] = $7; - _memcpy((22187|0),(21675|0),512)|0; - ;HEAP8[21672>>0]=HEAP8[21669>>0]|0;HEAP8[21672+1>>0]=HEAP8[21669+1>>0]|0;HEAP8[21672+2>>0]=HEAP8[21669+2>>0]|0; - $8 = HEAP32[5123]|0; - HEAP32[4710] = $8; - HEAP32[5123] = 0; + HEAPF32[(18484)>>2] = $7; + _memcpy((22499|0),(21987|0),512)|0; + ;HEAP8[21984>>0]=HEAP8[21981>>0]|0;HEAP8[21984+1>>0]=HEAP8[21981+1>>0]|0;HEAP8[21984+2>>0]=HEAP8[21981+2>>0]|0; + $8 = HEAP32[5201]|0; + HEAP32[4788] = $8; + HEAP32[5201] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16586,8 +16590,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (22699 + ($$05160<<5)|0); - $scevgep67 = (22827 + ($$05160<<5)|0); + $scevgep = (23011 + ($$05160<<5)|0); + $scevgep67 = (23139 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -16601,7 +16605,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((22827 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23139 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[763] = $$04857; @@ -16628,7 +16632,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20564 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((20876 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16644,7 +16648,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5140] = $$lcssa; + HEAP32[5218] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16685,87 +16689,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5086]|0; + $0 = HEAP32[5164]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4788]|0; + $2 = HEAP32[4866]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4790]|0; - $5 = HEAP32[(20372)>>2]|0; + $4 = HEAP32[4868]|0; + $5 = HEAP32[(20684)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20376)>>2]|0; + $6 = HEAP32[(20688)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5086]|0; + $7 = HEAP32[5164]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20356)>>2]|0; + $9 = HEAP32[(20668)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20380)>>2]|0; + $10 = HEAP32[(20692)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20352)>>2]|0; + $11 = HEAP32[(20664)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20364)>>2]|0; + $13 = HEAP32[(20676)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5098]|0; + $14 = HEAP32[5176]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4788]|0; + $16 = HEAP32[4866]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4790]|0; - $19 = HEAP32[(20420)>>2]|0; + $18 = HEAP32[4868]|0; + $19 = HEAP32[(20732)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20424)>>2]|0; + $20 = HEAP32[(20736)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5098]|0; + $21 = HEAP32[5176]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20404)>>2]|0; + $23 = HEAP32[(20716)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20428)>>2]|0; + $24 = HEAP32[(20740)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20400)>>2]|0; + $25 = HEAP32[(20712)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20412)>>2]|0; + $27 = HEAP32[(20724)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5110]|0; + $28 = HEAP32[5188]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4788]|0; + $30 = HEAP32[4866]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4790]|0; - $33 = HEAP32[(20468)>>2]|0; + $32 = HEAP32[4868]|0; + $33 = HEAP32[(20780)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20472)>>2]|0; + $34 = HEAP32[(20784)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5110]|0; + $35 = HEAP32[5188]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20452)>>2]|0; + $37 = HEAP32[(20764)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20476)>>2]|0; + $38 = HEAP32[(20788)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5110]|0; + $39 = HEAP32[5188]|0; $40 = $39 << 3; - $41 = HEAP32[(20456)>>2]|0; + $41 = HEAP32[(20768)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20480)>>2]|0; + $42 = HEAP32[(20792)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5110]|0; + $43 = HEAP32[5188]|0; $44 = $43 << 2; - $45 = HEAP32[(20460)>>2]|0; + $45 = HEAP32[(20772)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4788]|0; + $46 = HEAP32[4866]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4790]|0; + $48 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16783,9 +16787,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19020; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19084; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5173]|0; + dest=$0; src=19332; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=19396; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5251]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16795,134 +16799,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5086]|0; + $8 = HEAP32[5164]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5098]|0; + $10 = HEAP32[5176]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5110]|0; + $12 = HEAP32[5188]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4810]|0; + $14 = HEAP32[4888]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19084; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19020; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=19396; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=19332; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19268)>>2]|0; + $15 = HEAP32[(19580)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19272)>>2]|0; + $17 = HEAP32[(19584)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19284)>>2]|0; + $18 = HEAP32[(19596)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5086]|0; + $19 = HEAP32[5164]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4795]|0; + $21 = HEAP32[4873]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4788]|0; + $22 = HEAP32[4866]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20376)>>2]|0; + $26 = HEAP32[(20688)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19244)>>2]|0; + $27 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19244)>>2]|0; + $28 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20380)>>2]|0; + $29 = HEAP32[(20692)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19264)>>2]|0; + $30 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19264)>>2]|0; + $31 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4790]|0; - $25 = HEAP32[(20372)>>2]|0; + $24 = HEAP32[4868]|0; + $25 = HEAP32[(20684)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5086]|0; + $32 = HEAP32[5164]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4788]|0; + $33 = HEAP32[4866]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5098]|0; + $35 = HEAP32[5176]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4795]|0; + $37 = HEAP32[4873]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4788]|0; + $38 = HEAP32[4866]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20424)>>2]|0; + $42 = HEAP32[(20736)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19244)>>2]|0; + $43 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19244)>>2]|0; + $44 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20428)>>2]|0; + $45 = HEAP32[(20740)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19264)>>2]|0; + $46 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19264)>>2]|0; + $47 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4790]|0; - $41 = HEAP32[(20420)>>2]|0; + $40 = HEAP32[4868]|0; + $41 = HEAP32[(20732)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5098]|0; + $48 = HEAP32[5176]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4788]|0; + $49 = HEAP32[4866]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5110]|0; + $51 = HEAP32[5188]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4788]|0; + $53 = HEAP32[4866]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20472)>>2]|0; + $57 = HEAP32[(20784)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19244)>>2]|0; + $58 = HEAP32[(19556)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19244)>>2]|0; + $59 = HEAP32[(19556)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20476)>>2]|0; + $60 = HEAP32[(20788)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19248)>>2]|0; + $61 = HEAP32[(19560)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19248)>>2]|0; + $62 = HEAP32[(19560)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20480)>>2]|0; + $63 = HEAP32[(20792)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19264)>>2]|0; + $64 = HEAP32[(19576)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19264)>>2]|0; + $65 = HEAP32[(19576)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20484)>>2]|0; + $66 = HEAP32[(20796)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4790]|0; - $56 = HEAP32[(20468)>>2]|0; + $55 = HEAP32[4868]|0; + $56 = HEAP32[(20780)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4826]|0; + $67 = HEAP32[4904]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4825]|0; + $71 = HEAP32[4903]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16933,14 +16937,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4825]|0; + $80 = HEAP32[4903]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4826]|0; + $87 = HEAP32[4904]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16949,7 +16953,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4788]|0; + $69 = HEAP32[4866]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16957,10 +16961,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4788]|0; + $89 = HEAP32[4866]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4790]|0; + $91 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16972,22 +16976,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4826] = 1; - $5 = HEAP32[4795]|0; - $6 = HEAP32[4825]|0; + HEAP32[4904] = 1; + $5 = HEAP32[4873]|0; + $6 = HEAP32[4903]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5086] = 0; - HEAP32[(20352)>>2] = 0; - HEAP32[5098] = 0; - HEAP32[(20400)>>2] = 0; - HEAP32[5110] = 0; - HEAP32[(20444)>>2] = 0; - HEAP32[(20448)>>2] = 0; + HEAP32[5164] = 0; + HEAP32[(20664)>>2] = 0; + HEAP32[5176] = 0; + HEAP32[(20712)>>2] = 0; + HEAP32[5188] = 0; + HEAP32[(20756)>>2] = 0; + HEAP32[(20760)>>2] = 0; HEAPF32[764] = -1.0; - dest=19020; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19084; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19332; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19396; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -17002,17 +17006,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5084]|0; + $5 = HEAP32[5162]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5085]|0; + $9 = HEAP32[5163]|0; _rlViewport($7,0,$8,$9); - $10 = (20924 + ($0<<6)|0); + $10 = (21236 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (20796 + ($0<<6)|0); + $11 = (21108 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -17024,14 +17028,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19084; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19396; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19020; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19332; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _Begin3dMode($0) { @@ -17048,9 +17052,9 @@ function _Begin3dMode($0) { _rlMatrixMode(5889); _rlPushMatrix(); _rlLoadIdentity(); - $2 = HEAP32[4709]|0; + $2 = HEAP32[4787]|0; $3 = (+($2|0)); - $4 = HEAP32[4708]|0; + $4 = HEAP32[4786]|0; $5 = (+($4|0)); $6 = $3 / $5; $7 = ((($0)) + 36|0); @@ -17075,7 +17079,7 @@ function _Begin3dMode($0) { _MatrixLookAt($1,$$byval_copy,$$byval_copy1,$$byval_copy3); dest=$$byval_copy3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($$byval_copy3)|0); - _rlMultMatrixf(20496); + _rlMultMatrixf(20808); _rlEnableDepthTest(); STACKTOP = sp;return; } @@ -17084,26 +17088,26 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5263]|0; + $0 = HEAP32[5341]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9371,$vararg_buffer); } - $2 = HEAP32[5263]|0; - $3 = (19312 + ($2<<6)|0); - $4 = HEAP32[4754]|0; + $2 = HEAP32[5341]|0; + $3 = (19624 + ($2<<6)|0); + $4 = HEAP32[4832]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5263]|0; + $5 = HEAP32[5341]|0; $6 = (($5) + 1)|0; - HEAP32[5263] = $6; - $7 = HEAP32[4787]|0; + HEAP32[5341] = $6; + $7 = HEAP32[4865]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5264] = 1; + HEAP32[5342] = 1; STACKTOP = sp;return; } function _rlFrustum($0,$1,$2,$3,$4,$5) { @@ -17122,7 +17126,7 @@ function _rlFrustum($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixFrustum($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4754]|0; + $8 = HEAP32[4832]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -17149,18 +17153,18 @@ function _End3dMode() { function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5263]|0; + $0 = HEAP32[5341]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5263]|0; + $2 = HEAP32[5341]|0; $3 = (($2) + -1)|0; - $4 = (19312 + ($3<<6)|0); - $5 = HEAP32[4754]|0; + $4 = (19624 + ($3<<6)|0); + $5 = HEAP32[4832]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5263] = $6; + HEAP32[5341] = $6; return; } function _rlDisableDepthTest() { @@ -17232,7 +17236,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[2295]; + $0 = +HEAPF64[2334]; $1 = $0; return (+$1); } @@ -17240,19 +17244,19 @@ function _SetConfigFlags($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP8[21668] = $0; + HEAP8[21980] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[4712] = 1; + HEAP32[4790] = 1; } - $3 = HEAP8[21668]|0; + $3 = HEAP8[21980]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[4749] = 1; + HEAP32[4827] = 1; return; } function _IsFileExtension($0,$1) { @@ -17285,7 +17289,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4754]|0; + $5 = HEAP32[4832]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -17318,7 +17322,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4754]|0; + $11 = HEAP32[4832]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -17329,7 +17333,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4827] = $0; + HEAP32[4905] = $0; return; } function _rlEnd() { @@ -17345,21 +17349,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5264]|0; + $0 = HEAP32[5342]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5265]|0; + $2 = HEAP32[5343]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4824]|0; + $6 = HEAP32[4902]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4754]|0; + $8 = HEAP32[4832]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5265]|0; + $5 = HEAP32[5343]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -17367,12 +17371,12 @@ function _rlEnd() { break; } } - HEAP32[5264] = 0; + HEAP32[5342] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4824]|0; + $11 = HEAP32[4902]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -17381,7 +17385,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5265]|0; + $19 = HEAP32[5343]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -17391,15 +17395,15 @@ function _rlEnd() { } } } else { - HEAP32[5264] = 0; + HEAP32[5342] = 0; } - HEAP32[5265] = 0; + HEAP32[5343] = 0; } - $21 = HEAP32[4827]|0; + $21 = HEAP32[4905]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5086]|0; - $23 = HEAP32[(20352)>>2]|0; + $22 = HEAP32[5164]|0; + $23 = HEAP32[(20664)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[764]; @@ -17418,16 +17422,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20364)>>2]|0; - $28 = HEAP32[(20352)>>2]|0; + $27 = HEAP32[(20676)>>2]|0; + $28 = HEAP32[(20664)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20364)>>2]|0; - $35 = HEAP32[(20352)>>2]|0; + $34 = HEAP32[(20676)>>2]|0; + $35 = HEAP32[(20664)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -17435,8 +17439,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20364)>>2]|0; - $43 = HEAP32[(20352)>>2]|0; + $42 = HEAP32[(20676)>>2]|0; + $43 = HEAP32[(20664)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -17444,8 +17448,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20364)>>2]|0; - $51 = HEAP32[(20352)>>2]|0; + $50 = HEAP32[(20676)>>2]|0; + $51 = HEAP32[(20664)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -17453,9 +17457,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20352)>>2]|0; + $58 = HEAP32[(20664)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20352)>>2] = $59; + HEAP32[(20664)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -17471,8 +17475,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5098]|0; - $62 = HEAP32[(20400)>>2]|0; + $61 = HEAP32[5176]|0; + $62 = HEAP32[(20712)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[764]; @@ -17491,16 +17495,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20412)>>2]|0; - $67 = HEAP32[(20400)>>2]|0; + $66 = HEAP32[(20724)>>2]|0; + $67 = HEAP32[(20712)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20412)>>2]|0; - $74 = HEAP32[(20400)>>2]|0; + $73 = HEAP32[(20724)>>2]|0; + $74 = HEAP32[(20712)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17508,8 +17512,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20412)>>2]|0; - $82 = HEAP32[(20400)>>2]|0; + $81 = HEAP32[(20724)>>2]|0; + $82 = HEAP32[(20712)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17517,8 +17521,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20412)>>2]|0; - $90 = HEAP32[(20400)>>2]|0; + $89 = HEAP32[(20724)>>2]|0; + $90 = HEAP32[(20712)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17526,9 +17530,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20400)>>2]|0; + $97 = HEAP32[(20712)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20400)>>2] = $98; + HEAP32[(20712)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17544,8 +17548,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5110]|0; - $101 = HEAP32[(20448)>>2]|0; + $100 = HEAP32[5188]|0; + $101 = HEAP32[(20760)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17553,16 +17557,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20460)>>2]|0; - $106 = HEAP32[(20448)>>2]|0; + $105 = HEAP32[(20772)>>2]|0; + $106 = HEAP32[(20760)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20460)>>2]|0; - $113 = HEAP32[(20448)>>2]|0; + $112 = HEAP32[(20772)>>2]|0; + $113 = HEAP32[(20760)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17570,8 +17574,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20460)>>2]|0; - $121 = HEAP32[(20448)>>2]|0; + $120 = HEAP32[(20772)>>2]|0; + $121 = HEAP32[(20760)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17579,8 +17583,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20460)>>2]|0; - $129 = HEAP32[(20448)>>2]|0; + $128 = HEAP32[(20772)>>2]|0; + $129 = HEAP32[(20760)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17588,9 +17592,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20448)>>2]|0; + $136 = HEAP32[(20760)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20448)>>2] = $137; + HEAP32[(20760)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17601,8 +17605,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5110]|0; - $140 = HEAP32[(20444)>>2]|0; + $139 = HEAP32[5188]|0; + $140 = HEAP32[(20756)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[764]; @@ -17610,8 +17614,8 @@ function _rlEnd() { HEAPF32[764] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20456)>>2]|0; - $$promoted = HEAP32[(20444)>>2]|0; + $142 = HEAP32[(20768)>>2]|0; + $$promoted = HEAP32[(20756)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17619,7 +17623,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20444)>>2] = $147; + HEAP32[(20756)>>2] = $147; $148 = +HEAPF32[764]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[764] = $149; @@ -17646,11 +17650,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5264]|0; + $3 = HEAP32[5342]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4824]|0; - $6 = HEAP32[5265]|0; + $5 = HEAP32[4902]|0; + $6 = HEAP32[5343]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17658,16 +17662,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5265] = $10; + HEAP32[5343] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4827]|0; + $11 = HEAP32[4905]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5086]|0; + $12 = HEAP32[5164]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20356)>>2]|0; + $14 = HEAP32[(20668)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17678,7 +17682,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5086] = $21; + HEAP32[5164] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9409,$vararg_buffer); @@ -17687,10 +17691,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5098]|0; + $22 = HEAP32[5176]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20404)>>2]|0; + $24 = HEAP32[(20716)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17701,7 +17705,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5098] = $31; + HEAP32[5176] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9434,$vararg_buffer1); @@ -17710,10 +17714,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5110]|0; + $32 = HEAP32[5188]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20452)>>2]|0; + $34 = HEAP32[(20764)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17724,9 +17728,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5110] = $41; - $42 = HEAP32[4825]|0; - $43 = HEAP32[4826]|0; + HEAP32[5188] = $41; + $42 = HEAP32[4903]|0; + $43 = HEAP32[4904]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17758,13 +17762,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4827]|0; + $2 = HEAP32[4905]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20456)>>2]|0; - $5 = HEAP32[(20444)>>2]|0; + $4 = HEAP32[(20768)>>2]|0; + $5 = HEAP32[(20756)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17772,7 +17776,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20444)>>2] = $10; + HEAP32[(20756)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17791,18 +17795,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4827]|0; + $4 = HEAP32[4905]|0; switch ($4|0) { case 1: { - $$sink37 = (20352);$$sink38 = (20364); + $$sink37 = (20664);$$sink38 = (20676); break; } case 4: { - $$sink37 = (20400);$$sink38 = (20412); + $$sink37 = (20712);$$sink38 = (20724); break; } case 7: { - $$sink37 = (20448);$$sink38 = (20460); + $$sink37 = (20760);$$sink38 = (20772); break; } default: { @@ -17856,8 +17860,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4825]|0; - $2 = HEAP32[4826]|0; + $1 = HEAP32[4903]|0; + $2 = HEAP32[4904]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17870,9 +17874,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4826] = $10; + HEAP32[4904] = $10; } - $11 = HEAP32[4826]|0; + $11 = HEAP32[4904]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17883,7 +17887,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5110]|0; + $0 = HEAP32[5188]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17910,14 +17914,14 @@ function _rlDeleteVertexArrays($0) { $vararg_buffer = sp; $1 = sp + 4|0; HEAP32[$1>>2] = $0; - $2 = HEAP32[4788]|0; + $2 = HEAP32[4866]|0; $3 = ($2|0)==(0); if ($3) { STACKTOP = sp;return; } $4 = ($0|0)==(0); if (!($4)) { - $5 = HEAP32[4791]|0; + $5 = HEAP32[4869]|0; FUNCTION_TABLE_vii[$5 & 63](1,$1); } $6 = HEAP32[$1>>2]|0; @@ -17938,7 +17942,7 @@ function _rlDeleteBuffers($0) { STACKTOP = sp;return; } _glDeleteBuffers(1,($1|0)); - $3 = HEAP32[4788]|0; + $3 = HEAP32[4866]|0; $4 = ($3|0)==(0); if (!($4)) { STACKTOP = sp;return; @@ -18070,12 +18074,12 @@ function _rlglLoadMesh($0,$1) { ;HEAP32[$4>>2]=0|0;HEAP32[$4+4>>2]=0|0;HEAP32[$4+8>>2]=0|0;HEAP32[$4+12>>2]=0|0;HEAP32[$4+16>>2]=0|0;HEAP32[$4+20>>2]=0|0;HEAP32[$4+24>>2]=0|0;HEAP32[$4+28>>2]=0|0; HEAP32[$2>>2] = 0; ;HEAP32[$3>>2]=0|0;HEAP32[$3+4>>2]=0|0;HEAP32[$3+8>>2]=0|0;HEAP32[$3+12>>2]=0|0;HEAP32[$3+16>>2]=0|0;HEAP32[$3+20>>2]=0|0;HEAP32[$3+24>>2]=0|0; - $13 = HEAP32[4788]|0; + $13 = HEAP32[4866]|0; $14 = ($13|0)==(0); if (!($14)) { - $15 = HEAP32[4789]|0; + $15 = HEAP32[4867]|0; FUNCTION_TABLE_vii[$15 & 63](1,$2); - $16 = HEAP32[4790]|0; + $16 = HEAP32[4868]|0; $17 = HEAP32[$2>>2]|0; FUNCTION_TABLE_vi[$16 & 31]($17); } @@ -18205,7 +18209,7 @@ function _rlglLoadMesh($0,$1) { $80 = ((($3)) + 24|0); $81 = HEAP32[$80>>2]|0; HEAP32[$11>>2] = $81; - $82 = HEAP32[4788]|0; + $82 = HEAP32[4866]|0; $83 = ($82|0)==(0); if ($83) { _TraceLog(0,9917,$vararg_buffer3); @@ -18310,13 +18314,13 @@ function _rlglDrawMesh($0,$1,$2) { $63 = $62 / 255.0; _glUniform4f(($46|0),(+$51),(+$55),(+$59),(+$63)); } - dest=$3; src=19084; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$4; src=19020; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19396; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$4; src=19332; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$modelview$byval_copy4; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=19084; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19396; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($5,$modelview$byval_copy4,$$byval_copy5); $64 = HEAP32[$1>>2]|0; - $65 = HEAP32[4796]|0; + $65 = HEAP32[4874]|0; $66 = ($64|0)==($65|0); if (!($66)) { $67 = (_glGetUniformLocation(($64|0),(9965|0))|0); @@ -18392,7 +18396,7 @@ function _rlglDrawMesh($0,$1,$2) { _glUniform1i(($106|0),2); } } - $107 = HEAP32[4788]|0; + $107 = HEAP32[4866]|0; $108 = ($107|0)==(0); if ($108) { $112 = ((($0)) + 40|0); @@ -18472,16 +18476,16 @@ function _rlglDrawMesh($0,$1,$2) { $151 = HEAP32[$150>>2]|0; $152 = ($151|0)==(0|0); if (!($152)) { - $153 = HEAP32[(20484)>>2]|0; + $153 = HEAP32[(20796)>>2]|0; _glBindBuffer(34963,($153|0)); } } else { - $109 = HEAP32[4790]|0; + $109 = HEAP32[4868]|0; $110 = ((($0)) + 36|0); $111 = HEAP32[$110>>2]|0; FUNCTION_TABLE_vi[$109 & 31]($111); } - $154 = HEAP32[5173]|0; + $154 = HEAP32[5251]|0; $155 = ($154|0)!=(0); $$ = $155 ? 2 : 1; $156 = ((($1)) + 28|0); @@ -18495,10 +18499,10 @@ function _rlglDrawMesh($0,$1,$2) { dest=$$byval_copy5; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$020,$modelview$byval_copy4,$$byval_copy5); } else { - dest=19084; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19396; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } - dest=$modelview$byval_copy4; src=19084; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy5; src=19020; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy4; src=19396; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy5; src=19332; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($6,$modelview$byval_copy4,$$byval_copy5); $162 = HEAP32[$156>>2]|0; dest=$$byval_copy5; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -18535,14 +18539,14 @@ function _rlglDrawMesh($0,$1,$2) { } _glActiveTexture(33984); _glBindTexture(3553,0); - $172 = HEAP32[4788]|0; + $172 = HEAP32[4866]|0; $173 = ($172|0)==(0); if (!($173)) { - $174 = HEAP32[4790]|0; + $174 = HEAP32[4868]|0; FUNCTION_TABLE_vi[$174 & 31](0); _glUseProgram(0); - dest=19020; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19084; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19332; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19396; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34962,0); @@ -18551,14 +18555,14 @@ function _rlglDrawMesh($0,$1,$2) { $177 = ($176|0)==(0|0); if ($177) { _glUseProgram(0); - dest=19020; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19084; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19332; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19396; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } _glBindBuffer(34963,0); _glUseProgram(0); - dest=19020; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19084; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19332; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19396; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _rlglUnloadMesh($0) { @@ -18638,7 +18642,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4795]|0; + $1 = HEAP32[4873]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -18661,7 +18665,7 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,12011)|0); + $2 = (_fopen($0,12319)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; @@ -18716,7 +18720,7 @@ function _LoadShader($0,$1,$2) { $11 = ($10|0)==(0); if ($11) { _TraceLog(2,10053,$vararg_buffer); - dest=$3; src=19184; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$3; src=19496; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -18742,14 +18746,14 @@ function _BeginShaderMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $1 = HEAP32[4810]|0; + $1 = HEAP32[4888]|0; $2 = HEAP32[$0>>2]|0; $3 = ($1|0)==($2|0); if ($3) { return; } _rlglDraw(); - dest=19240; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19552; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _EndShaderMode() { @@ -18757,7 +18761,7 @@ function _EndShaderMode() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $defaultShader$byval_copy = sp; - dest=$defaultShader$byval_copy; src=19184; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$defaultShader$byval_copy; src=19496; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($defaultShader$byval_copy); STACKTOP = sp;return; } @@ -18765,43 +18769,14 @@ function _GetDefaultShader($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=$0; src=19184; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$0; src=19496; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10129); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,11462)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5266] = $0; + HEAP32[5344] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -18865,7 +18840,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((10141|0),(10167|0),1125,(10190|0)); + ___assert_fail((10129|0),(10155|0),1041,(10178|0)); // unreachable; } } @@ -18883,7 +18858,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5267]|0; + $15 = HEAP32[5345]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -18976,7 +18951,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(10231); + _stbi__err(10219); $$0 = 0; return ($$0|0); } else { @@ -18998,7 +18973,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(10222); + _stbi__err(10210); $$0 = 0; return ($$0|0); } @@ -19068,7 +19043,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(10250); + _stbi__err(10238); $$045 = 0; return ($$045|0); } @@ -19629,7 +19604,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10566 + ($120)|0); + $121 = (10554 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -19671,97 +19646,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10340); + _stbi__err(10328); $$6$ph = 0; break; } case 9: { - _stbi__err(10354); + _stbi__err(10342); $$6$ph = 0; break; } case 11: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 13: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 15: { - _stbi__err(10377); + _stbi__err(10365); $$6$ph = 0; break; } case 17: { - _stbi__err(10397); + _stbi__err(10385); $$6$ph = 0; break; } case 20: { - _stbi__err(10397); + _stbi__err(10385); $$6$ph = 0; break; } case 22: { - _stbi__err(10397); + _stbi__err(10385); $$6$ph = 0; break; } case 24: { - _stbi__err(10407); + _stbi__err(10395); $$6$ph = 0; break; } case 26: { - _stbi__err(10423); + _stbi__err(10411); $$6$ph = 0; break; } case 28: { - _stbi__err(10441); + _stbi__err(10429); $$6$ph = 0; break; } case 31: { - _stbi__err(10462); + _stbi__err(10450); $$6$ph = 0; break; } case 34: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 37: { - _stbi__err(10367); + _stbi__err(10355); $$6$ph = 0; break; } case 39: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 41: { - _stbi__err(10491); + _stbi__err(10479); $$6$ph = 0; break; } case 44: { - _stbi__err(10491); + _stbi__err(10479); $$6$ph = 0; break; } case 47: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 49: { - _stbi__err(10504); + _stbi__err(10492); $$6$ph = 0; break; } @@ -19772,32 +19747,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10520); + _stbi__err(10508); $$6$ph = 0; break; } case 58: { - _stbi__err(10537); + _stbi__err(10525); $$6$ph = 0; break; } case 61: { - _stbi__err(10550); + _stbi__err(10538); $$6$ph = 0; break; } case 63: { - _stbi__err(10537); + _stbi__err(10525); $$6$ph = 0; break; } case 70: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 72: { - _stbi__err(10575); + _stbi__err(10563); $$6$ph = 0; break; } @@ -19809,12 +19784,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(10222); + _stbi__err(10210); $$6$ph = 0; break; } case 83: { - _stbi__err(10583); + _stbi__err(10571); $$6$ph = 0; break; } @@ -19827,7 +19802,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10593); + _stbi__err(10581); $$4 = 0; break; } @@ -19892,7 +19867,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5268]|0; + $193 = HEAP32[5346]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -19925,7 +19900,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10476); + _stbi__err(10464); $$4 = 0; } } while(0); @@ -19933,24 +19908,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10476); + _stbi__err(10464); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10601] = $206; + HEAP8[10589] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10602)>>0] = $209; + HEAP8[(10590)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10603)>>0] = $211; + HEAP8[(10591)>>0] = $211; $212 = $207&255; - HEAP8[(10604)>>0] = $212; - _stbi__err(10601); + HEAP8[(10592)>>0] = $212; + _stbi__err(10589); $$6$ph = 0; break; } @@ -19984,14 +19959,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10263|0),(10167|0),1561,(10319|0)); + ___assert_fail((10251|0),(10155|0),1477,(10307|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(10222); + _stbi__err(10210); $$0163 = 0; return ($$0163|0); } @@ -20354,7 +20329,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10317|0),(10167|0),1590,(10319|0)); + ___assert_fail((10305|0),(10155|0),1506,(10307|0)); // unreachable; } } while(0); @@ -20388,7 +20363,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10263|0),(10167|0),1610,(10294|0)); + ___assert_fail((10251|0),(10155|0),1526,(10282|0)); // unreachable; } $7 = $2 << 1; @@ -20398,7 +20373,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(10222); + _stbi__err(10210); $$0163 = 0; return ($$0163|0); } @@ -20761,7 +20736,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10317|0),(10167|0),1639,(10294|0)); + ___assert_fail((10305|0),(10155|0),1555,(10282|0)); // unreachable; } } while(0); @@ -20909,7 +20884,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(11258); + _stbi__err(11566); $$05 = 0; return ($$05|0); } @@ -21346,7 +21321,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10660|0),(10167|0),4568,(10712|0)); + ___assert_fail((10648|0),(10155|0),4569,(10700|0)); // unreachable; } } @@ -21433,7 +21408,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10660|0),(10167|0),4543,(10685|0)); + ___assert_fail((10648|0),(10155|0),4544,(10673|0)); // unreachable; } } @@ -21480,7 +21455,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5269]|0; + $16 = HEAP32[5347]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -21555,7 +21530,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10626|0),(10167|0),4649,(10644|0)); + ___assert_fail((10614|0),(10155|0),4650,(10632|0)); // unreachable; } } @@ -21578,7 +21553,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(10222); + _stbi__err(10210); $$0 = 0; return ($$0|0); } @@ -21755,7 +21730,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10741|0),(10167|0),4294,(10782|0)); + ___assert_fail((10729|0),(10155|0),4294,(10770|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -21763,7 +21738,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(10222); + _stbi__err(10210); $$2 = 0; return ($$2|0); } @@ -21782,7 +21757,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10809); + _stbi__err(10797); $$2 = 0; return ($$2|0); } @@ -21795,7 +21770,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10809); + _stbi__err(10797); $$2 = 0; return ($$2|0); } @@ -21803,12 +21778,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -21831,33 +21806,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10848 + ($56)|0); + $60 = (10836 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -21867,24 +21842,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -21894,10 +21869,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -21908,10 +21883,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -21922,14 +21897,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -21959,7 +21934,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -21974,12 +21949,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -22556,15 +22531,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10827|0),(10167|0),4315,(10782|0)); + ___assert_fail((10815|0),(10155|0),4315,(10770|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10853|0),(10167|0),4376,(10782|0)); + ___assert_fail((10841|0),(10155|0),4377,(10770|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10870); + _stbi__err(10858); $$2 = 0; return ($$2|0); } @@ -22614,7 +22589,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10566 + ($6)|0); + $336 = (10554 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -23055,7 +23030,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10885|0),(10167|0),4465,(10782|0)); + ___assert_fail((10873|0),(10155|0),4466,(10770|0)); // unreachable; } else if ((label|0) == 151) { @@ -23115,8 +23090,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -23131,15 +23106,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -23148,65 +23123,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(22986)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10884,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,22987,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,22955,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,11172,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -23225,14 +23195,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(11211); + _stbi__err(11519); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(11227); + _stbi__err(11535); $$0 = 0; return ($$0|0); } @@ -23241,7 +23211,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(11242); + _stbi__err(11550); $$0 = 0; return ($$0|0); } @@ -23324,7 +23294,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((11133|0),(10167|0),4048,(11150|0)); + ___assert_fail((11441|0),(10155|0),4033,(11458|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -23361,7 +23331,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(11181); + _stbi__err(11489); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23371,7 +23341,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(11194); + _stbi__err(11502); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -23401,21 +23371,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((22987|0),8,144)|0; - dest=(23131); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23243); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23267); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=22955; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -23549,7 +23504,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(11071); + _stbi__err(11379); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23638,7 +23593,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(11123); + _stbi__err(11431); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -23667,7 +23622,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11917 + ($$06579)|0); + $14 = (12225 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -23758,21 +23713,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((11087|0),(10167|0),4021,(11095|0)); + ___assert_fail((11395|0),(10155|0),4006,(11403|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23782,7 +23737,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(11071); + _stbi__err(11379); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -23946,7 +23901,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10896); + _stbi__err(11204); $$3$ph = 0; return ($$3$ph|0); } @@ -23956,12 +23911,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10896); + _stbi__err(11204); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10913); + _stbi__err(11221); $$3$ph = 0; return ($$3$ph|0); } @@ -24018,7 +23973,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10922); + _stbi__err(11230); $$0 = 0; return ($$0|0); } @@ -24044,7 +23999,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(10222); + _stbi__err(10210); $$0 = 0; return ($$0|0); } else { @@ -24089,7 +24044,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((11018|0),(10167|0),3863,(11055|0)); + ___assert_fail((11326|0),(10155|0),3848,(11363|0)); // unreachable; } else if ((label|0) == 5) { @@ -24137,7 +24092,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10942|0),(10167|0),3891,(10958|0)); + ___assert_fail((11250|0),(10155|0),3876,(11266|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -24165,7 +24120,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10989|0),(10167|0),3781,(11000|0)); + ___assert_fail((11297|0),(10155|0),3766,(11308|0)); // unreachable; } return (0)|0; @@ -24311,10 +24266,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -24325,27 +24280,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11270)|0); + $6 = (_IsFileExtension($1,11578)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,11323)|0); + $19 = (_IsFileExtension($1,11631)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11328,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11636,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,11770)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -24373,7 +24329,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -24390,18 +24346,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11276,$vararg_buffer); + _TraceLog(2,11584,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -24410,34 +24366,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11364,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11403,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,11672,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11711,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -24456,11 +24419,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,11462)|0); + $4 = (_fopen($0,11770)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11465,$vararg_buffer); + _TraceLog(2,11773,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -24559,7 +24522,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11562,$vararg_buffer4); + _TraceLog(0,11870,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -24594,14 +24557,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11608,$vararg_buffer8); + _TraceLog(2,11916,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11516,$vararg_buffer1); + _TraceLog(2,11824,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -24691,7 +24654,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11434,$vararg_buffer); + _TraceLog(2,11742,$vararg_buffer); $$0 = $6; } } @@ -24736,27 +24699,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11658,$vararg_buffer); + _TraceLog(2,11966,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11697,$vararg_buffer1); + _TraceLog(2,12005,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11723,$vararg_buffer3); + _TraceLog(2,12031,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11786,$vararg_buffer5); + _TraceLog(2,12094,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11821,$vararg_buffer7); + _TraceLog(2,12129,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11856,$vararg_buffer10); + _TraceLog(0,12164,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -25939,7 +25902,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11913 + ($$361133)|0); + $199 = (12221 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -26369,7 +26332,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11913 + ($$331130)|0); + $186 = (12221 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -26407,7 +26370,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11913 + ($$371134)|0); + $203 = (12221 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -26446,7 +26409,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11917 + ($$421139)|0); + $235 = (12225 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -26853,7 +26816,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11936 + ($495)|0); + $496 = (12244 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -26890,7 +26853,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11940 + ($515)|0); + $516 = (12248 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -27802,7 +27765,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,11944,$vararg_buffer); + _TraceLog(2,12252,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -27835,7 +27798,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[18868>>2]|0;HEAP32[$0+4>>2]=HEAP32[18868+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[18868+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[18868+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[18868+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[18868+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[18868+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[18868+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19180>>2]|0;HEAP32[$0+4>>2]=HEAP32[19180+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19180+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19180+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19180+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19180+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19180+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19180+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -28269,8 +28232,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(23275,$0,$1)|0); - STACKTOP = sp;return (23275|0); + (_vsprintf(23267,$0,$1)|0); + STACKTOP = sp;return (23267|0); } function _DrawFPS($0,$1) { $0 = $0|0; @@ -28280,7 +28243,7 @@ function _DrawFPS($0,$1) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $$byval_copy = sp; $2 = sp + 4|0; - $3 = HEAP32[5270]|0; + $3 = HEAP32[5348]|0; $4 = HEAP32[925]|0; $5 = ($3|0)<($4|0); if ($5) { @@ -28288,14 +28251,14 @@ function _DrawFPS($0,$1) { $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[5271] = $7; + HEAP32[5349] = $7; HEAP32[925] = $7; $$sink = 0; } - HEAP32[5270] = $$sink; - $8 = HEAP32[5271]|0; + HEAP32[5348] = $$sink; + $8 = HEAP32[5349]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(11973,$$byval_copy)|0); + (_FormatText(12281,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -28304,7 +28267,7 @@ function _DrawFPS($0,$1) { $11 = ((($2)) + 3|0); HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; - _DrawText(23275,$0,$1,20,$$byval_copy); + _DrawText(23267,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _DrawGrid($0,$1) { @@ -28365,7 +28328,7 @@ function _LoadMesh($0,$1) { $2 = sp + 72|0; $3 = sp + 4|0; dest=$2; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = (_IsFileExtension($1,11981)|0); + $4 = (_IsFileExtension($1,12289)|0); $5 = ($4|0)==(0); if (!($5)) { _LoadOBJ($3,$1); @@ -28374,7 +28337,7 @@ function _LoadMesh($0,$1) { $6 = HEAP32[$2>>2]|0; $7 = ($6|0)==(0); if ($7) { - _TraceLog(2,11986,$vararg_buffer); + _TraceLog(2,12294,$vararg_buffer); } else { _rlglLoadMesh($2,0); } @@ -28447,11 +28410,11 @@ function _LoadOBJ($0,$1) { $13 = sp + 344|0; $14 = sp + 332|0; dest=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $15 = (_fopen($1,12011)|0); + $15 = (_fopen($1,12319)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12014,$vararg_buffer); + _TraceLog(2,12322,$vararg_buffer); $$sroa$75$0$$sroa_idx = ((($0)) + 32|0); ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0;HEAP32[$0+12>>2]=0|0;HEAP32[$0+16>>2]=0|0;HEAP32[$0+20>>2]=0|0;HEAP32[$0+24>>2]=0|0;HEAP32[$0+28>>2]=0|0; dest=$$sroa$75$0$$sroa_idx; src=$$sroa$75; stop=dest+36|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); @@ -28471,7 +28434,7 @@ function _LoadOBJ($0,$1) { L12: while(1) { L14: while(1) { HEAP32[$vararg_buffer1>>2] = $2; - (_fscanf($15,12048,$vararg_buffer1)|0); + (_fscanf($15,12356,$vararg_buffer1)|0); $19 = HEAP8[$2>>0]|0; $20 = $19 << 24 >> 24; switch ($20|0) { @@ -28498,7 +28461,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer4>>2] = $2; - (_fscanf($15,12048,$vararg_buffer4)|0); + (_fscanf($15,12356,$vararg_buffer4)|0); $23 = HEAP8[$2>>0]|0; switch ($23<<24>>24) { case 116: { @@ -28563,19 +28526,19 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $$0$ph379$lcssa386; - _TraceLog(3,12051,$vararg_buffer7); + _TraceLog(3,12359,$vararg_buffer7); HEAP32[$vararg_buffer11>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); HEAP32[$vararg_ptr14>>2] = $$0345$ph372$lcssa389; - _TraceLog(3,12079,$vararg_buffer11); + _TraceLog(3,12387,$vararg_buffer11); HEAP32[$$byval_copy102>>2] = $1; $vararg_ptr18 = ((($$byval_copy102)) + 4|0); HEAP32[$vararg_ptr18>>2] = $$0344$ph376$lcssa388; - _TraceLog(3,12108,$$byval_copy102); + _TraceLog(3,12416,$$byval_copy102); HEAP32[$$byval_copy103>>2] = $1; $vararg_ptr22 = ((($$byval_copy103)) + 4|0); HEAP32[$vararg_ptr22>>2] = $$0346$ph$lcssa; - _TraceLog(3,12135,$$byval_copy103); + _TraceLog(3,12443,$$byval_copy103); $36 = ($$0$ph379$lcssa386*12)|0; $37 = (_malloc($36)|0); $38 = ($$0344$ph376$lcssa388|0)>(0); @@ -28607,7 +28570,7 @@ function _LoadOBJ($0,$1) { L36: while(1) { L38: while(1) { HEAP32[$vararg_buffer23>>2] = $2; - (_fscanf($15,12048,$vararg_buffer23)|0); + (_fscanf($15,12356,$vararg_buffer23)|0); $46 = HEAP8[$2>>0]|0; $47 = $46 << 24 >> 24; switch ($47|0) { @@ -28629,7 +28592,7 @@ function _LoadOBJ($0,$1) { } } HEAP32[$vararg_buffer26>>2] = $2; - (_fscanf($15,12048,$vararg_buffer26)|0); + (_fscanf($15,12356,$vararg_buffer26)|0); $50 = HEAP8[$2>>0]|0; switch ($50<<24>>24) { case 110: { @@ -28648,10 +28611,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_buffer29>>2] = $51; $vararg_ptr32 = ((($vararg_buffer29)) + 4|0); HEAP32[$vararg_ptr32>>2] = $52; - (_fscanf($15,12164,$vararg_buffer29)|0); + (_fscanf($15,12472,$vararg_buffer29)|0); $53 = (($$0353$ph367397) + 1)|0; HEAP32[$vararg_buffer33>>2] = $2; - (_fscanf($15,12048,$vararg_buffer33)|0); + (_fscanf($15,12356,$vararg_buffer33)|0); $54 = (_feof($15)|0); $55 = ($54|0)==(0); if ($55) { @@ -28668,10 +28631,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr39>>2] = $57; $vararg_ptr40 = ((($vararg_buffer36)) + 8|0); HEAP32[$vararg_ptr40>>2] = $58; - (_fscanf($15,12178,$vararg_buffer36)|0); + (_fscanf($15,12486,$vararg_buffer36)|0); $59 = (($$0354$ph364398) + 1)|0; HEAP32[$vararg_buffer41>>2] = $2; - (_fscanf($15,12048,$vararg_buffer41)|0); + (_fscanf($15,12356,$vararg_buffer41)|0); $60 = (_feof($15)|0); $61 = ($60|0)==(0); if ($61) { @@ -28688,10 +28651,10 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr47>>2] = $63; $vararg_ptr48 = ((($vararg_buffer44)) + 8|0); HEAP32[$vararg_ptr48>>2] = $64; - (_fscanf($15,12178,$vararg_buffer44)|0); + (_fscanf($15,12486,$vararg_buffer44)|0); $65 = (($$0355$ph400) + 1)|0; HEAP32[$vararg_buffer49>>2] = $2; - (_fscanf($15,12048,$vararg_buffer49)|0); + (_fscanf($15,12356,$vararg_buffer49)|0); $66 = (_feof($15)|0); $67 = ($66|0)==(0); if ($67) { @@ -28714,7 +28677,7 @@ function _LoadOBJ($0,$1) { $76 = ($$0344$ph376$lcssa388|0)==(0); if ($76) { HEAP32[$vararg_buffer52>>2] = $1; - _TraceLog(0,12187,$vararg_buffer52); + _TraceLog(0,12495,$vararg_buffer52); } $77 = ($$0345$ph372$lcssa389|0)==(0); $78 = $$0344$ph376$lcssa388 | $$0345$ph372$lcssa389; @@ -28754,7 +28717,7 @@ function _LoadOBJ($0,$1) { } L55: while(1) { HEAP32[$vararg_buffer55>>2] = $2; - (_fscanf($15,12048,$vararg_buffer55)|0); + (_fscanf($15,12356,$vararg_buffer55)|0); $106 = HEAP8[$2>>0]|0; $107 = $106 << 24 >> 24; switch ($107|0) { @@ -28782,7 +28745,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr61>>2] = $80; $vararg_ptr62 = ((($vararg_buffer58)) + 8|0); HEAP32[$vararg_ptr62>>2] = $81; - (_fscanf($15,12258,$vararg_buffer58)|0); + (_fscanf($15,12566,$vararg_buffer58)|0); } else { if ($76) { HEAP32[$vararg_buffer63>>2] = $vararg_buffer11; @@ -28796,7 +28759,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr69>>2] = $90; $vararg_ptr70 = ((($vararg_buffer63)) + 20|0); HEAP32[$vararg_ptr70>>2] = $91; - (_fscanf($15,12267,$vararg_buffer63)|0); + (_fscanf($15,12575,$vararg_buffer63)|0); break; } if ($77) { @@ -28811,7 +28774,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr77>>2] = $94; $vararg_ptr78 = ((($vararg_buffer71)) + 20|0); HEAP32[$vararg_ptr78>>2] = $95; - (_fscanf($15,12285,$vararg_buffer71)|0); + (_fscanf($15,12593,$vararg_buffer71)|0); break; } else { HEAP32[$vararg_buffer79>>2] = $vararg_buffer11; @@ -28831,7 +28794,7 @@ function _LoadOBJ($0,$1) { HEAP32[$vararg_ptr88>>2] = $100; $vararg_ptr89 = ((($vararg_buffer79)) + 32|0); HEAP32[$vararg_ptr89>>2] = $101; - (_fscanf($15,12306,$vararg_buffer79)|0); + (_fscanf($15,12614,$vararg_buffer79)|0); break; } } @@ -29211,7 +29174,7 @@ function _LoadOBJ($0,$1) { _free($369); _free($370); HEAP32[$vararg_buffer90>>2] = $1; - _TraceLog(0,12333,$vararg_buffer90); + _TraceLog(0,12641,$vararg_buffer90); HEAP32[$0>>2] = $68; $$sroa$12$0$$sroa_idx244 = ((($0)) + 4|0); HEAP32[$$sroa$12$0$$sroa_idx244>>2] = 0; @@ -29290,7 +29253,7 @@ function _UnloadModel($0) { $1 = ((($0)) + 132|0); _memcpy(($$byval_copy|0),($1|0),132)|0; _UnloadMaterial($$byval_copy); - _TraceLog(0,12377,$vararg_buffer); + _TraceLog(0,12685,$vararg_buffer); STACKTOP = sp;return; } function _UnloadMaterial($0) { @@ -29435,7 +29398,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,12435)|0); + $12 = (_strstr($11,12743)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -29444,7 +29407,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,12439)|0); + $17 = (_strstr($16,12747)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -29453,7 +29416,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,12443)|0); + $22 = (_strstr($21,12751)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -29462,7 +29425,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,12447)|0); + $27 = (_strstr($26,12755)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -29471,1210 +29434,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,12453)|0); + $32 = (_strcmp($31,12761)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,12491)|0); + $35 = (_strcmp($34,12799)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 12510; + HEAP32[$3>>2] = 12818; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,12523)|0); + $38 = (_strcmp($37,12831)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 12544; + HEAP32[$3>>2] = 12852; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,12559)|0); + $41 = (_strcmp($40,12867)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 12574; + HEAP32[$3>>2] = 12882; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,12589)|0); + $44 = (_strcmp($43,12897)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 12604; + HEAP32[$3>>2] = 12912; } } else { - HEAP32[$3>>2] = 12475; + HEAP32[$3>>2] = 12783; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,12619)|0); + $47 = (_strcmp($46,12927)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,12633)|0); + $50 = (_strcmp($49,12941)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,12645)|0); + $53 = (_strcmp($52,12953)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,12659)|0); + $56 = (_strcmp($55,12967)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,12671)|0); + $59 = (_strcmp($58,12979)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,12685)|0); + $62 = (_strcmp($61,12993)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,12699)|0); + $65 = (_strcmp($64,13007)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,12716)|0); + $68 = (_strcmp($67,13024)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,12739)|0); + $71 = (_strcmp($70,13047)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,12765)|0); + $74 = (_strcmp($73,13073)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,12778)|0); + $77 = (_strcmp($76,13086)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,12794)|0); + $80 = (_strcmp($79,13102)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,12807)|0); + $83 = (_strcmp($82,13115)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,12821)|0); + $86 = (_strcmp($85,13129)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,12841)|0); + $89 = (_strcmp($88,13149)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,12861)|0); + $92 = (_strcmp($91,13169)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,12878)|0); + $95 = (_strcmp($94,13186)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,12895)|0); + $98 = (_strcmp($97,13203)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,12907)|0); + $101 = (_strcmp($100,13215)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,12920)|0); + $104 = (_strcmp($103,13228)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,12936)|0); + $107 = (_strcmp($106,13244)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,12959)|0); + $110 = (_strcmp($109,13267)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,12972)|0); + $113 = (_strcmp($112,13280)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,12988)|0); + $116 = (_strcmp($115,13296)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,12999)|0); + $119 = (_strcmp($118,13307)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13018)|0); + $122 = (_strcmp($121,13326)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13040)|0); + $125 = (_strcmp($124,13348)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13059)|0); + $128 = (_strcmp($127,13367)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13088)|0); + $131 = (_strcmp($130,13396)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13105)|0); + $134 = (_strcmp($133,13413)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13120)|0); + $137 = (_strcmp($136,13428)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13135)|0); + $140 = (_strcmp($139,13443)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13156)|0); + $143 = (_strcmp($142,13464)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13176)|0); + $146 = (_strcmp($145,13484)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13196)|0); + $149 = (_strcmp($148,13504)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13222)|0); + $152 = (_strcmp($151,13530)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13241)|0); + $155 = (_strcmp($154,13549)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13253)|0); + $158 = (_strcmp($157,13561)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,13265)|0); + $161 = (_strcmp($160,13573)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,13277)|0); + $164 = (_strcmp($163,13585)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,13289)|0); + $167 = (_strcmp($166,13597)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,13301)|0); + $170 = (_strcmp($169,13609)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,13313)|0); + $173 = (_strcmp($172,13621)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,13325)|0); + $176 = (_strcmp($175,13633)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,13337)|0); + $179 = (_strcmp($178,13645)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,13350)|0); + $182 = (_strcmp($181,13658)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,13363)|0); + $185 = (_strcmp($184,13671)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,13376)|0); + $188 = (_strcmp($187,13684)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,13389)|0); + $191 = (_strcmp($190,13697)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,13402)|0); + $194 = (_strcmp($193,13710)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,13415)|0); + $197 = (_strcmp($196,13723)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,13428)|0); + $200 = (_strcmp($199,13736)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,13441)|0); + $203 = (_strcmp($202,13749)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,13460)|0); + $206 = (_strcmp($205,13768)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,13479)|0); + $209 = (_strcmp($208,13787)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,13498)|0); + $212 = (_strcmp($211,13806)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,13511)|0); + $215 = (_strcmp($214,13819)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,13529)|0); + $218 = (_strcmp($217,13837)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,13547)|0); + $221 = (_strcmp($220,13855)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,13565)|0); + $224 = (_strcmp($223,13873)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,13583)|0); + $227 = (_strcmp($226,13891)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,13603)|0); + $230 = (_strcmp($229,13911)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,12544)|0); + $233 = (_strcmp($232,12852)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,13621)|0); + $236 = (_strcmp($235,13929)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,13636)|0); + $239 = (_strcmp($238,13944)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,13657)|0); + $242 = (_strcmp($241,13965)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,13672)|0); + $245 = (_strcmp($244,13980)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,13690)|0); + $248 = (_strcmp($247,13998)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,13706)|0); + $251 = (_strcmp($250,14014)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,13725)|0); + $254 = (_strcmp($253,14033)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,13739)|0); + $257 = (_strcmp($256,14047)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,13754)|0); + $260 = (_strcmp($259,14062)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,12475)|0); + $263 = (_strcmp($262,12783)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,13765)|0); + $266 = (_strcmp($265,14073)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,12574)|0); + $269 = (_strcmp($268,12882)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,12604)|0); + $272 = (_strcmp($271,12912)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,13781)|0); + $275 = (_strcmp($274,14089)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,13808)|0); + $278 = (_strcmp($277,14116)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,13822)|0); + $281 = (_strcmp($280,14130)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,12510)|0); + $284 = (_strcmp($283,12818)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,13842)|0); + $287 = (_strcmp($286,14150)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,13860)|0); + $290 = (_strcmp($289,14168)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,13872)|0); + $293 = (_strcmp($292,14180)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,13893)|0); + $296 = (_strcmp($295,14201)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,13911)|0); + $299 = (_strcmp($298,14219)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,13929)|0); + $302 = (_strcmp($301,14237)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,13950)|0); + $305 = (_strcmp($304,14258)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,13976)|0); + $308 = (_strcmp($307,14284)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,13999)|0); + $311 = (_strcmp($310,14307)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14037)|0); + $314 = (_strcmp($313,14345)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14053)|0); + $317 = (_strcmp($316,14361)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14068)|0); + $320 = (_strcmp($319,14376)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14091)|0); + $323 = (_strcmp($322,14399)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14104)|0); + $326 = (_strcmp($325,14412)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14118)|0); + $329 = (_strcmp($328,14426)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14132)|0); + $332 = (_strcmp($331,14440)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14152)|0); + $335 = (_strcmp($334,14460)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14172)|0); + $338 = (_strcmp($337,14480)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14188)|0); + $341 = (_strcmp($340,14496)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14206)|0); + $344 = (_strcmp($343,14514)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14222)|0); + $347 = (_strcmp($346,14530)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14237)|0); + $350 = (_strcmp($349,14545)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,14259)|0); + $353 = (_strcmp($352,14567)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,14277)|0); + $356 = (_strcmp($355,14585)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,14298)|0); + $359 = (_strcmp($358,14606)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,14316)|0); + $362 = (_strcmp($361,14624)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,14329)|0); + $365 = (_strcmp($364,14637)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,14344)|0); + $368 = (_strcmp($367,14652)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,14358)|0); + $371 = (_strcmp($370,14666)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,14368)|0); + $374 = (_strcmp($373,14676)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,14378)|0); + $377 = (_strcmp($376,14686)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,14400)|0); + $380 = (_strcmp($379,14708)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,14426)|0); + $383 = (_strcmp($382,14734)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,14453)|0); + $386 = (_strcmp($385,14761)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,14466)|0); + $389 = (_strcmp($388,14774)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,14481)|0); + $392 = (_strcmp($391,14789)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,14496)|0); + $395 = (_strcmp($394,14804)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,14520)|0); + $398 = (_strcmp($397,14828)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,14531)|0); + $401 = (_strcmp($400,14839)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,14553)|0); + $404 = (_strcmp($403,14861)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,14575)|0); + $407 = (_strcmp($406,14883)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,14599)|0); + $410 = (_strcmp($409,14907)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,14608)|0); + $413 = (_strcmp($412,14916)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,14616)|0); + $416 = (_strcmp($415,14924)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,14629)|0); + $419 = (_strcmp($418,14937)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,14643)|0); + $422 = (_strcmp($421,14951)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,14655)|0); + $425 = (_strcmp($424,14963)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,14664)|0); + $428 = (_strcmp($427,14972)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,14674)|0); + $431 = (_strcmp($430,14982)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,14686)|0); + $434 = (_strcmp($433,14994)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,14697)|0); + $437 = (_strcmp($436,15005)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,14705)|0); + $440 = (_strcmp($439,15013)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,14717)|0); + $443 = (_strcmp($442,15025)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,14732)|0); + $446 = (_strcmp($445,15040)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,14744)|0); + $449 = (_strcmp($448,15052)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,14758)|0); + $452 = (_strcmp($451,15066)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,14783)|0); + $455 = (_strcmp($454,15091)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,14800)|0); + $458 = (_strcmp($457,15108)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,14816)|0); + $461 = (_strcmp($460,15124)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,14832)|0); + $464 = (_strcmp($463,15140)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,14844)|0); + $467 = (_strcmp($466,15152)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,14856)|0); + $470 = (_strcmp($469,15164)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,14880)|0); + $473 = (_strcmp($472,15188)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,14893)|0); + $476 = (_strcmp($475,15201)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,14907)|0); + $479 = (_strcmp($478,15215)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,14929)|0); + $482 = (_strcmp($481,15237)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,14936)|0); + $485 = (_strcmp($484,15244)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,14952)|0); + $488 = (_strcmp($487,15260)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,14969)|0); + $491 = (_strcmp($490,15277)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,14986)|0); + $494 = (_strcmp($493,15294)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15002)|0); + $497 = (_strcmp($496,15310)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15018)|0); + $500 = (_strcmp($499,15326)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15035)|0); + $503 = (_strcmp($502,15343)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15049)|0); + $506 = (_strcmp($505,15357)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15061)|0); + $509 = (_strcmp($508,15369)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15072)|0); + $512 = (_strcmp($511,15380)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15085)|0); + $515 = (_strcmp($514,15393)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15095)|0); + $518 = (_strcmp($517,15403)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15112)|0); + $521 = (_strcmp($520,15420)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15124)|0); + $524 = (_strcmp($523,15432)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15146)|0); + $527 = (_strcmp($526,15454)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15166)|0); + $530 = (_strcmp($529,15474)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15179)|0); + $533 = (_strcmp($532,15487)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15201)|0); + $536 = (_strcmp($535,15509)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15221)|0); + $539 = (_strcmp($538,15529)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15238)|0); + $542 = (_strcmp($541,15546)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,15255)|0); + $545 = (_strcmp($544,15563)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,15275)|0); + $548 = (_strcmp($547,15583)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -30696,7 +30659,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21088|0); + return (21400|0); } function ___stdio_close($0) { $0 = $0|0; @@ -31153,7 +31116,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((15392) + ($50)|0); + $49 = ((15700) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -31185,7 +31148,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((15392) + ($$0159)|0); + $60 = ((15700) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -31321,10 +31284,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (15648 + ($128)|0); + $129 = (15956 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((15392) + ($$1160169)|0); + $132 = ((15700) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -31346,7 +31309,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((15392) + ($$4163$be)|0); + $146 = ((15700) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -31397,7 +31360,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((15392) + ($$5$be)|0); + $178 = ((15700) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -31416,7 +31379,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((15392) + ($$1160169)|0); + $122 = ((15700) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -31438,7 +31401,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((15392) + ($$6$be)|0); + $197 = ((15700) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -31500,7 +31463,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((15392) + ($$7$be)|0); + $234 = ((15700) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -31519,7 +31482,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((15392) + ($$8)|0); + $238 = ((15700) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -31538,7 +31501,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((15392) + ($$9$be)|0); + $249 = ((15700) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -32374,7 +32337,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((15657 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((15965 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -32552,7 +32515,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16121;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 16429;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -32573,7 +32536,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16121;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 16429;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -32581,8 +32544,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16121 : (16123); - $$$ = $238 ? $$ : (16122); + $$ = $240 ? 16429 : (16431); + $$$ = $238 ? $$ : (16430); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -32599,7 +32562,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16121;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 16429;$242 = $167;$243 = $170; label = 66; break; } @@ -32612,7 +32575,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 16429;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -32626,7 +32589,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16131; + $271 = $270 ? $269 : 16439; $$1 = $271; label = 71; break; @@ -32666,7 +32629,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16121;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 16429;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -32688,8 +32651,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16121 + ($208)|0); - $$289 = $or$cond283 ? 16121 : $209; + $209 = (16429 + ($208)|0); + $$289 = $or$cond283 ? 16429 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -32710,7 +32673,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16121;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 16429;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -33240,7 +33203,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16169 + ($7)|0); + $9 = (16477 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -33598,14 +33561,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16138; + $$0471 = $14;$$0520 = 1;$$0521 = 16446; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16139) : (16144); - $$$ = $16 ? $$ : (16141); + $$ = $18 ? (16447) : (16452); + $$$ = $16 ? $$ : (16449); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -33704,7 +33667,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16169 + ($80)|0); + $81 = (16477 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -34315,7 +34278,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16185,1); + _out($0,16493,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -34396,7 +34359,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16185,1); + _out($0,16493,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -34453,9 +34416,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16157 : 16161; + $29 = $28 ? 16465 : 16469; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18088 : 16165; + $31 = $28 ? 18396 : 16473; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -34665,7 +34628,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16187 + ($$016)|0); + $3 = (16495 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -34676,7 +34639,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 16275;$$115 = 87; + $$01214 = 16583;$$115 = 87; label = 5; break; } else { @@ -34686,9 +34649,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 16275; + $$012$lcssa = 16583; } else { - $$01214 = 16275;$$115 = $$016; + $$01214 = 16583;$$115 = $$016; label = 5; } } @@ -35113,7 +35076,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18079 + ($$0107127)|0); + $27 = (18387 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -35180,7 +35143,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18088 + ($$2109125)|0); + $58 = (18396 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -37431,7 +37394,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21152 : $3; + $$ = $5 ? 21464 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -37722,7 +37685,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18092,$3,4)|0); + $memchr = (_memchr(18400,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -37811,7 +37774,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18092,$4,4)|0); + $memchr = (_memchr(18400,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -37902,7 +37865,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21092)>>2]|0; + $38 = HEAP32[(21404)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -37935,13 +37898,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21156|0)); - return (21164|0); + ___lock((21468|0)); + return (21476|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21156|0)); + ___unlock((21468|0)); return; } function _fclose($0) { @@ -40201,7 +40164,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 18368; + $2 = 18680; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -40515,7 +40478,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5292]|0; + $3 = HEAP32[5370]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -40534,22 +40497,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5292] = 0; + HEAP32[5370] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5292] = $10; + HEAP32[5370] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5292] = 0; + HEAP32[5370] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5292] = $13; + HEAP32[5370] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -40630,7 +40593,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5293]|0; + $8 = HEAP32[5371]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -40639,7 +40602,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21212 + ($15<<2)|0); + $16 = (21524 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -40650,9 +40613,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5293] = $24; + HEAP32[5371] = $24; } else { - $25 = HEAP32[(21188)>>2]|0; + $25 = HEAP32[(21500)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -40683,7 +40646,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21180)>>2]|0; + $37 = HEAP32[(21492)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -40717,7 +40680,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21212 + ($68<<2)|0); + $69 = (21524 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -40728,10 +40691,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5293] = $77; + HEAP32[5371] = $77; $98 = $77; } else { - $78 = HEAP32[(21188)>>2]|0; + $78 = HEAP32[(21500)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -40764,22 +40727,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21192)>>2]|0; + $92 = HEAP32[(21504)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21212 + ($94<<2)|0); + $95 = (21524 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5293] = $100; + HEAP32[5371] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21188)>>2]|0; + $103 = HEAP32[(21500)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -40796,12 +40759,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21180)>>2] = $84; - HEAP32[(21192)>>2] = $87; + HEAP32[(21492)>>2] = $84; + HEAP32[(21504)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21176)>>2]|0; + $108 = HEAP32[(21488)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -40829,7 +40792,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21476 + ($132<<2)|0); + $133 = (21788 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -40869,7 +40832,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21188)>>2]|0; + $155 = HEAP32[(21500)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -40964,7 +40927,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21476 + ($188<<2)|0); + $189 = (21788 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -40975,11 +40938,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21176)>>2] = $194; + HEAP32[(21488)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21188)>>2]|0; + $195 = HEAP32[(21500)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -41000,7 +40963,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21188)>>2]|0; + $201 = HEAP32[(21500)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -41030,7 +40993,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21188)>>2]|0; + $213 = HEAP32[(21500)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -41067,22 +41030,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21192)>>2]|0; + $231 = HEAP32[(21504)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21212 + ($233<<2)|0); + $234 = (21524 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5293] = $238; + HEAP32[5371] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21188)>>2]|0; + $241 = HEAP32[(21500)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -41099,8 +41062,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21180)>>2] = $$0193$lcssa$i; - HEAP32[(21192)>>2] = $157; + HEAP32[(21492)>>2] = $$0193$lcssa$i; + HEAP32[(21504)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -41116,7 +41079,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21176)>>2]|0; + $250 = HEAP32[(21488)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -41156,7 +41119,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21476 + ($$0358$i<<2)|0); + $278 = (21788 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -41248,7 +41211,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21476 + ($330<<2)|0); + $331 = (21788 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -41292,11 +41255,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21180)>>2]|0; + $345 = HEAP32[(21492)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21188)>>2]|0; + $348 = HEAP32[(21500)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -41393,7 +41356,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21476 + ($381<<2)|0); + $382 = (21788 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -41404,12 +41367,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21176)>>2] = $387; + HEAP32[(21488)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21188)>>2]|0; + $388 = HEAP32[(21500)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -41431,7 +41394,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21188)>>2]|0; + $394 = HEAP32[(21500)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -41463,7 +41426,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21188)>>2]|0; + $406 = HEAP32[(21500)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -41504,20 +41467,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21212 + ($425<<2)|0); - $427 = HEAP32[5293]|0; + $426 = (21524 + ($425<<2)|0); + $427 = HEAP32[5371]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5293] = $431; + HEAP32[5371] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21188)>>2]|0; + $434 = HEAP32[(21500)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -41569,7 +41532,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21476 + ($$0361$i<<2)|0); + $464 = (21788 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -41581,7 +41544,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21176)>>2] = $472; + HEAP32[(21488)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -41620,7 +41583,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21188)>>2]|0; + $491 = HEAP32[(21500)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -41639,7 +41602,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21188)>>2]|0; + $498 = HEAP32[(21500)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -41672,16 +41635,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21180)>>2]|0; + $506 = HEAP32[(21492)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21192)>>2]|0; + $509 = HEAP32[(21504)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21192)>>2] = $511; - HEAP32[(21180)>>2] = $508; + HEAP32[(21504)>>2] = $511; + HEAP32[(21492)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -41691,8 +41654,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21180)>>2] = 0; - HEAP32[(21192)>>2] = 0; + HEAP32[(21492)>>2] = 0; + HEAP32[(21504)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -41706,14 +41669,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21184)>>2]|0; + $524 = HEAP32[(21496)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21184)>>2] = $526; - $527 = HEAP32[(21196)>>2]|0; + HEAP32[(21496)>>2] = $526; + $527 = HEAP32[(21508)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21196)>>2] = $528; + HEAP32[(21508)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -41724,23 +41687,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5411]|0; + $534 = HEAP32[5489]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(21652)>>2] = 4096; - HEAP32[(21648)>>2] = 4096; - HEAP32[(21656)>>2] = -1; - HEAP32[(21660)>>2] = -1; - HEAP32[(21664)>>2] = 0; - HEAP32[(21616)>>2] = 0; + HEAP32[(21964)>>2] = 4096; + HEAP32[(21960)>>2] = 4096; + HEAP32[(21968)>>2] = -1; + HEAP32[(21972)>>2] = -1; + HEAP32[(21976)>>2] = 0; + HEAP32[(21928)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5411] = $538; + HEAP32[5489] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(21652)>>2]|0; + $$pre$i212 = HEAP32[(21964)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -41753,10 +41716,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(21612)>>2]|0; + $546 = HEAP32[(21924)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21604)>>2]|0; + $548 = HEAP32[(21916)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -41766,18 +41729,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(21616)>>2]|0; + $552 = HEAP32[(21928)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21196)>>2]|0; + $555 = HEAP32[(21508)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (21620); + $$0$i$i = (21932); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -41835,7 +41798,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(21648)>>2]|0; + $569 = HEAP32[(21960)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -41845,13 +41808,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21604)>>2]|0; + $578 = HEAP32[(21916)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(21612)>>2]|0; + $582 = HEAP32[(21924)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -41897,7 +41860,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(21652)>>2]|0; + $601 = HEAP32[(21964)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -41922,9 +41885,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(21616)>>2]|0; + $611 = HEAP32[(21928)>>2]|0; $612 = $611 | 4; - HEAP32[(21616)>>2] = $612; + HEAP32[(21928)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -41960,35 +41923,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21604)>>2]|0; + $626 = HEAP32[(21916)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21604)>>2] = $627; - $628 = HEAP32[(21608)>>2]|0; + HEAP32[(21916)>>2] = $627; + $628 = HEAP32[(21920)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21608)>>2] = $627; + HEAP32[(21920)>>2] = $627; } - $630 = HEAP32[(21196)>>2]|0; + $630 = HEAP32[(21508)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21188)>>2]|0; + $632 = HEAP32[(21500)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21188)>>2] = $$749$i; - } - HEAP32[(21620)>>2] = $$749$i; - HEAP32[(21624)>>2] = $$723948$i; - HEAP32[(21632)>>2] = 0; - $635 = HEAP32[5411]|0; - HEAP32[(21208)>>2] = $635; - HEAP32[(21204)>>2] = -1; + HEAP32[(21500)>>2] = $$749$i; + } + HEAP32[(21932)>>2] = $$749$i; + HEAP32[(21936)>>2] = $$723948$i; + HEAP32[(21944)>>2] = 0; + $635 = HEAP32[5489]|0; + HEAP32[(21520)>>2] = $635; + HEAP32[(21516)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21212 + ($636<<2)|0); + $637 = (21524 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -42011,18 +41974,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21196)>>2] = $649; - HEAP32[(21184)>>2] = $650; + HEAP32[(21508)>>2] = $649; + HEAP32[(21496)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(21660)>>2]|0; - HEAP32[(21200)>>2] = $655; + $655 = HEAP32[(21972)>>2]|0; + HEAP32[(21512)>>2] = $655; } else { - $$024371$i = (21620); + $$024371$i = (21932); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -42054,7 +42017,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21184)>>2]|0; + $671 = HEAP32[(21496)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -42065,30 +42028,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21196)>>2] = $679; - HEAP32[(21184)>>2] = $681; + HEAP32[(21508)>>2] = $679; + HEAP32[(21496)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(21660)>>2]|0; - HEAP32[(21200)>>2] = $686; + $686 = HEAP32[(21972)>>2]|0; + HEAP32[(21512)>>2] = $686; break; } } } - $687 = HEAP32[(21188)>>2]|0; + $687 = HEAP32[(21500)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21188)>>2] = $$749$i; + HEAP32[(21500)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (21620); + $$124470$i = (21932); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -42143,21 +42106,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21184)>>2]|0; + $726 = HEAP32[(21496)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21184)>>2] = $727; - HEAP32[(21196)>>2] = $721; + HEAP32[(21496)>>2] = $727; + HEAP32[(21508)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21192)>>2]|0; + $730 = HEAP32[(21504)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21180)>>2]|0; + $732 = HEAP32[(21492)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21180)>>2] = $733; - HEAP32[(21192)>>2] = $721; + HEAP32[(21492)>>2] = $733; + HEAP32[(21504)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -42180,7 +42143,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21212 + ($748<<2)|0); + $749 = (21524 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -42203,9 +42166,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5293]|0; + $759 = HEAP32[5371]|0; $760 = $759 & $758; - HEAP32[5293] = $760; + HEAP32[5371] = $760; break; } $761 = ($747|0)==($749|0); @@ -42318,7 +42281,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21476 + ($796<<2)|0); + $797 = (21788 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -42330,12 +42293,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21176)>>2]|0; + $802 = HEAP32[(21488)>>2]|0; $803 = $802 & $801; - HEAP32[(21176)>>2] = $803; + HEAP32[(21488)>>2] = $803; break L314; } else { - $804 = HEAP32[(21188)>>2]|0; + $804 = HEAP32[(21500)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -42356,7 +42319,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21188)>>2]|0; + $810 = HEAP32[(21500)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -42388,7 +42351,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21188)>>2]|0; + $822 = HEAP32[(21500)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -42421,21 +42384,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21212 + ($836<<2)|0); - $838 = HEAP32[5293]|0; + $837 = (21524 + ($836<<2)|0); + $838 = HEAP32[5371]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5293] = $842; + HEAP32[5371] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21188)>>2]|0; + $845 = HEAP32[(21500)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -42490,20 +42453,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21476 + ($$0296$i$i<<2)|0); + $875 = (21788 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21176)>>2]|0; + $879 = HEAP32[(21488)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21176)>>2] = $883; + HEAP32[(21488)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -42542,7 +42505,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21188)>>2]|0; + $902 = HEAP32[(21500)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -42561,7 +42524,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21188)>>2]|0; + $909 = HEAP32[(21500)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -42588,7 +42551,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (21620); + $$0$i$i$i = (21932); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -42629,23 +42592,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21196)>>2] = $946; - HEAP32[(21184)>>2] = $947; + HEAP32[(21508)>>2] = $946; + HEAP32[(21496)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(21660)>>2]|0; - HEAP32[(21200)>>2] = $952; + $952 = HEAP32[(21972)>>2]|0; + HEAP32[(21512)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(21620)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21620)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21620)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21620)+12>>2]|0; - HEAP32[(21620)>>2] = $$749$i; - HEAP32[(21624)>>2] = $$723948$i; - HEAP32[(21632)>>2] = 0; - HEAP32[(21628)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(21932)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(21932)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(21932)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(21932)+12>>2]|0; + HEAP32[(21932)>>2] = $$749$i; + HEAP32[(21936)>>2] = $$723948$i; + HEAP32[(21944)>>2] = 0; + HEAP32[(21940)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -42674,20 +42637,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21212 + ($968<<2)|0); - $970 = HEAP32[5293]|0; + $969 = (21524 + ($968<<2)|0); + $970 = HEAP32[5371]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5293] = $974; + HEAP32[5371] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21188)>>2]|0; + $977 = HEAP32[(21500)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -42739,19 +42702,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21476 + ($$0212$i$i<<2)|0); + $1007 = (21788 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21176)>>2]|0; + $1010 = HEAP32[(21488)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21176)>>2] = $1014; + HEAP32[(21488)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -42790,7 +42753,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21188)>>2]|0; + $1033 = HEAP32[(21500)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -42809,7 +42772,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21188)>>2]|0; + $1040 = HEAP32[(21500)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -42832,14 +42795,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21184)>>2]|0; + $1048 = HEAP32[(21496)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21184)>>2] = $1050; - $1051 = HEAP32[(21196)>>2]|0; + HEAP32[(21496)>>2] = $1050; + $1051 = HEAP32[(21508)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21196)>>2] = $1052; + HEAP32[(21508)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -42882,7 +42845,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21188)>>2]|0; + $3 = HEAP32[(21500)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -42915,7 +42878,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21192)>>2]|0; + $19 = HEAP32[(21504)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -42930,7 +42893,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21180)>>2] = $17; + HEAP32[(21492)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -42944,7 +42907,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21212 + ($27<<2)|0); + $28 = (21524 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -42964,9 +42927,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5293]|0; + $37 = HEAP32[5371]|0; $38 = $37 & $36; - HEAP32[5293] = $38; + HEAP32[5371] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -43080,7 +43043,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21476 + ($74<<2)|0); + $75 = (21788 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -43090,14 +43053,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21176)>>2]|0; + $80 = HEAP32[(21488)>>2]|0; $81 = $80 & $79; - HEAP32[(21176)>>2] = $81; + HEAP32[(21488)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21188)>>2]|0; + $82 = HEAP32[(21500)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -43119,7 +43082,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21188)>>2]|0; + $88 = HEAP32[(21500)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -43151,7 +43114,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21188)>>2]|0; + $100 = HEAP32[(21500)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -43186,14 +43149,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21196)>>2]|0; + $120 = HEAP32[(21508)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21192)>>2]|0; + $122 = HEAP32[(21504)>>2]|0; if ($121) { - $123 = HEAP32[(21184)>>2]|0; + $123 = HEAP32[(21496)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21184)>>2] = $124; - HEAP32[(21196)>>2] = $$1; + HEAP32[(21496)>>2] = $124; + HEAP32[(21508)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -43201,16 +43164,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21192)>>2] = 0; - HEAP32[(21180)>>2] = 0; + HEAP32[(21504)>>2] = 0; + HEAP32[(21492)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21180)>>2]|0; + $129 = HEAP32[(21492)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21180)>>2] = $130; - HEAP32[(21192)>>2] = $113; + HEAP32[(21492)>>2] = $130; + HEAP32[(21504)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -43229,10 +43192,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21212 + ($142<<2)|0); + $143 = (21524 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21188)>>2]|0; + $145 = HEAP32[(21500)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -43250,9 +43213,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5293]|0; + $153 = HEAP32[5371]|0; $154 = $153 & $152; - HEAP32[5293] = $154; + HEAP32[5371] = $154; break; } $155 = ($141|0)==($143|0); @@ -43260,7 +43223,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21188)>>2]|0; + $156 = HEAP32[(21500)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -43320,7 +43283,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21188)>>2]|0; + $189 = HEAP32[(21500)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -43333,7 +43296,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21188)>>2]|0; + $169 = HEAP32[(21500)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -43364,7 +43327,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21476 + ($193<<2)|0); + $194 = (21788 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -43374,13 +43337,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21176)>>2]|0; + $199 = HEAP32[(21488)>>2]|0; $200 = $199 & $198; - HEAP32[(21176)>>2] = $200; + HEAP32[(21488)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21188)>>2]|0; + $201 = HEAP32[(21500)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -43401,7 +43364,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21188)>>2]|0; + $207 = HEAP32[(21500)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -43431,7 +43394,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21188)>>2]|0; + $219 = HEAP32[(21500)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -43452,10 +43415,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21192)>>2]|0; + $226 = HEAP32[(21504)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21180)>>2] = $135; + HEAP32[(21492)>>2] = $135; return; } else { $$2 = $135; @@ -43474,20 +43437,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21212 + ($234<<2)|0); - $236 = HEAP32[5293]|0; + $235 = (21524 + ($234<<2)|0); + $236 = HEAP32[5371]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5293] = $240; + HEAP32[5371] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21188)>>2]|0; + $243 = HEAP32[(21500)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -43539,21 +43502,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21476 + ($$0396<<2)|0); + $273 = (21788 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21176)>>2]|0; + $277 = HEAP32[(21488)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21176)>>2] = $281; + HEAP32[(21488)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -43591,7 +43554,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21188)>>2]|0; + $300 = HEAP32[(21500)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -43610,7 +43573,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21188)>>2]|0; + $307 = HEAP32[(21500)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -43632,12 +43595,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21204)>>2]|0; + $314 = HEAP32[(21516)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21204)>>2] = $315; + HEAP32[(21516)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (21628); + $$0212$in$i = (21940); } else { return; } @@ -43651,7 +43614,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21204)>>2] = -1; + HEAP32[(21516)>>2] = -1; return; } function _realloc($0,$1) { @@ -43723,7 +43686,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21188)>>2]|0; + $6 = HEAP32[(21500)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -43753,7 +43716,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(21652)>>2]|0; + $18 = HEAP32[(21964)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -43789,10 +43752,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21196)>>2]|0; + $34 = HEAP32[(21508)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21184)>>2]|0; + $36 = HEAP32[(21496)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -43808,15 +43771,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21196)>>2] = $40; - HEAP32[(21184)>>2] = $39; + HEAP32[(21508)>>2] = $40; + HEAP32[(21496)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21192)>>2]|0; + $46 = HEAP32[(21504)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21180)>>2]|0; + $48 = HEAP32[(21492)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -43852,8 +43815,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21180)>>2] = $storemerge1; - HEAP32[(21192)>>2] = $storemerge; + HEAP32[(21492)>>2] = $storemerge1; + HEAP32[(21504)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -43880,7 +43843,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21212 + ($81<<2)|0); + $82 = (21524 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -43900,9 +43863,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5293]|0; + $91 = HEAP32[5371]|0; $92 = $91 & $90; - HEAP32[5293] = $92; + HEAP32[5371] = $92; break; } $93 = ($80|0)==($82|0); @@ -44011,7 +43974,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21476 + ($128<<2)|0); + $129 = (21788 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -44021,13 +43984,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21176)>>2]|0; + $134 = HEAP32[(21488)>>2]|0; $135 = $134 & $133; - HEAP32[(21176)>>2] = $135; + HEAP32[(21488)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21188)>>2]|0; + $136 = HEAP32[(21500)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -44048,7 +44011,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21188)>>2]|0; + $142 = HEAP32[(21500)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -44078,7 +44041,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21188)>>2]|0; + $154 = HEAP32[(21500)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -44163,13 +44126,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21188)>>2]|0; + $13 = HEAP32[(21500)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21192)>>2]|0; + $15 = HEAP32[(21504)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -44184,7 +44147,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21180)>>2] = $12; + HEAP32[(21492)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -44198,7 +44161,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21212 + ($23<<2)|0); + $24 = (21524 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -44218,9 +44181,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5293]|0; + $33 = HEAP32[5371]|0; $34 = $33 & $32; - HEAP32[5293] = $34; + HEAP32[5371] = $34; $$1 = $11;$$1418 = $12; break; } @@ -44334,7 +44297,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21476 + ($70<<2)|0); + $71 = (21788 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -44344,14 +44307,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21176)>>2]|0; + $76 = HEAP32[(21488)>>2]|0; $77 = $76 & $75; - HEAP32[(21176)>>2] = $77; + HEAP32[(21488)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21188)>>2]|0; + $78 = HEAP32[(21500)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -44373,7 +44336,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21188)>>2]|0; + $84 = HEAP32[(21500)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -44405,7 +44368,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21188)>>2]|0; + $96 = HEAP32[(21500)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -44424,7 +44387,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21188)>>2]|0; + $108 = HEAP32[(21500)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -44435,14 +44398,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21196)>>2]|0; + $114 = HEAP32[(21508)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21192)>>2]|0; + $116 = HEAP32[(21504)>>2]|0; if ($115) { - $117 = HEAP32[(21184)>>2]|0; + $117 = HEAP32[(21496)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21184)>>2] = $118; - HEAP32[(21196)>>2] = $$1; + HEAP32[(21496)>>2] = $118; + HEAP32[(21508)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -44450,16 +44413,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21192)>>2] = 0; - HEAP32[(21180)>>2] = 0; + HEAP32[(21504)>>2] = 0; + HEAP32[(21492)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21180)>>2]|0; + $123 = HEAP32[(21492)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21180)>>2] = $124; - HEAP32[(21192)>>2] = $$1; + HEAP32[(21492)>>2] = $124; + HEAP32[(21504)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -44478,7 +44441,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21212 + ($136<<2)|0); + $137 = (21524 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -44498,9 +44461,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5293]|0; + $146 = HEAP32[5371]|0; $147 = $146 & $145; - HEAP32[5293] = $147; + HEAP32[5371] = $147; break; } $148 = ($135|0)==($137|0); @@ -44609,7 +44572,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21476 + ($183<<2)|0); + $184 = (21788 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -44619,13 +44582,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21176)>>2]|0; + $189 = HEAP32[(21488)>>2]|0; $190 = $189 & $188; - HEAP32[(21176)>>2] = $190; + HEAP32[(21488)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21188)>>2]|0; + $191 = HEAP32[(21500)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -44646,7 +44609,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21188)>>2]|0; + $197 = HEAP32[(21500)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -44676,7 +44639,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21188)>>2]|0; + $209 = HEAP32[(21500)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -44697,10 +44660,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21192)>>2]|0; + $216 = HEAP32[(21504)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21180)>>2] = $129; + HEAP32[(21492)>>2] = $129; return; } else { $$2 = $129; @@ -44719,20 +44682,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21212 + ($224<<2)|0); - $226 = HEAP32[5293]|0; + $225 = (21524 + ($224<<2)|0); + $226 = HEAP32[5371]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5293] = $230; + HEAP32[5371] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21188)>>2]|0; + $233 = HEAP32[(21500)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -44784,20 +44747,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21476 + ($$0431<<2)|0); + $263 = (21788 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21176)>>2]|0; + $267 = HEAP32[(21488)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21176)>>2] = $271; + HEAP32[(21488)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -44836,7 +44799,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21188)>>2]|0; + $290 = HEAP32[(21500)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -44854,7 +44817,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21188)>>2]|0; + $297 = HEAP32[(21500)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/shaders/shaders_shapes_textures.c b/docs/examples/web/shaders/shaders_shapes_textures.c index c9bdf8e5..4e3475df 100644 --- a/docs/examples/web/shaders/shaders_shapes_textures.c +++ b/docs/examples/web/shaders/shaders_shapes_textures.c @@ -18,9 +18,6 @@ #include "raylib.h" -#include -#include - #if defined(PLATFORM_WEB) #include #endif @@ -31,7 +28,7 @@ int screenWidth = 800; int screenHeight = 450; -Texture2D sonic; +Texture2D fudesumi; Shader shader; //---------------------------------------------------------------------------------- @@ -48,7 +45,7 @@ int main() //-------------------------------------------------------------------------------------- InitWindow(screenWidth, screenHeight, "raylib [shaders] example - shapes and texture shaders"); - sonic = LoadTexture("resources/texture_formats/sonic.png"); + fudesumi = LoadTexture("resources/fudesumi.png"); // NOTE: Using GLSL 330 shader version, on OpenGL ES 2.0 use GLSL 100 shader version shader = LoadShader("resources/shaders/glsl100/base.vs", @@ -71,10 +68,10 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadShader(shader); // Unload shader - UnloadTexture(sonic); // Unload texture + UnloadShader(shader); // Unload shader + UnloadTexture(fudesumi); // Unload texture - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; @@ -108,11 +105,11 @@ void UpdateDrawFrame(void) // Activate our custom shader to be applied on next shapes/textures drawings BeginShaderMode(shader); - DrawText("USING CUSTOM SHADER", 190, 40, 10, RED); + DrawText("USING CUSTOM SHADER", 190, 40, 10, RED); - DrawRectangle(250 - 60, 90, 120, 60, RED); - DrawRectangleGradient(250 - 90, 170, 180, 130, MAROON, GOLD); - DrawRectangleLines(250 - 40, 320, 80, 60, ORANGE); + DrawRectangle(250 - 60, 90, 120, 60, RED); + DrawRectangleGradient(250 - 90, 170, 180, 130, MAROON, GOLD); + DrawRectangleLines(250 - 40, 320, 80, 60, ORANGE); // Activate our default shader for next drawings EndShaderMode(); @@ -132,7 +129,7 @@ void UpdateDrawFrame(void) // Activate our custom shader to be applied on next shapes/textures drawings BeginShaderMode(shader); - DrawTexture(sonic, 380, -10, WHITE); // Using custom shader + DrawTexture(fudesumi, 500, -30, WHITE); // Using custom shader // Activate our default shader for next drawings EndShaderMode(); diff --git a/docs/examples/web/shaders/shaders_shapes_textures.data b/docs/examples/web/shaders/shaders_shapes_textures.data index a2cc3453..32c1acf1 100644 Binary files a/docs/examples/web/shaders/shaders_shapes_textures.data and b/docs/examples/web/shaders/shaders_shapes_textures.data differ diff --git a/docs/examples/web/shaders/shaders_shapes_textures.js b/docs/examples/web/shaders/shaders_shapes_textures.js index 8b376b83..dced98c8 100644 --- a/docs/examples/web/shaders/shaders_shapes_textures.js +++ b/docs/examples/web/shaders/shaders_shapes_textures.js @@ -184,7 +184,7 @@ Module['FS_createPath']('/resources/shaders', 'glsl100', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 116512, "filename": "/resources/sonic.png"}, {"audio": 0, "start": 116512, "crunched": 0, "end": 117117, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 117117, "crunched": 0, "end": 117782, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 117782, "package_uuid": "44b4251c-5e3b-4605-a73c-5c3c79798d91"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 219234, "filename": "/resources/fudesumi.png"}, {"audio": 0, "start": 219234, "crunched": 0, "end": 219839, "filename": "/resources/shaders/glsl100/base.vs"}, {"audio": 0, "start": 219839, "crunched": 0, "end": 220504, "filename": "/resources/shaders/glsl100/grayscale.fs"}], "remote_package_size": 220504, "package_uuid": "ac712aa0-34b5-4bcd-9af8-2b41f6fb6eff"}); })(); @@ -1777,12 +1777,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22208; +STATICTOP = STATIC_BASE + 22176; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,115,104,97,112,101,115,32,97,110,100,32,116,101,120,116,117,114,101,32,115,104,97,100,101,114,115,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,95,102,111,114,109,97,116,115,47,115,111,110,105,99,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,85,83,73,78,71,32,68,69,70,65,85,76,84,32,83,72,65,68,69,82,0,85,83,73,78,71,32,67,85,83,84,79,77,32,83,72,65,68,69,82,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,116,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,159,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,115,104,97,100,101,114,115,93,32,101,120,97,109,112,108,101,32,45,32,115,104,97,112,101,115,32,97,110,100,32,116,101,120,116,117,114,101,32,115,104,97,100,101,114,115,0,114,101,115,111,117,114,99,101,115,47,102,117,100,101,115,117,109,105,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,98,97,115,101,46,118,115,0,114,101,115,111,117,114,99,101,115,47,115,104,97,100,101,114,115,47,103,108,115,108,49,48,48,47,103,114,97,121,115,99,97,108,101,46,102,115,0,85,83,73,78,71,32,68,69,70,65,85,76,84,32,83,72,65,68,69,82,0,85,83,73,78,71,32,67,85,83,84,79,77,32,83,72,65,68,69,82,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,116,0,91,37,115,93,32,84,101,120,116,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,67,117,115,116,111,109,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,91,83,72,68,82,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,32,100,97,116,97,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10463,24 +10463,24 @@ function getTempRet0() { } function _main() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $sonic$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $fudesumi$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $sonic$byval_copy = sp + 80|0; + $fudesumi$byval_copy = sp + 80|0; $0 = sp + 56|0; $1 = sp; $2 = HEAP32[2]|0; $3 = HEAP32[3]|0; _InitWindow($2,$3,3996); _LoadTexture($0,4050); - ;HEAP32[16624>>2]=HEAP32[$0>>2]|0;HEAP32[16624+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16624+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16624+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16624+16>>2]=HEAP32[$0+16>>2]|0; - _LoadShader($1,4086,4120); - dest=16644; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + ;HEAP32[16920>>2]=HEAP32[$0>>2]|0;HEAP32[16920+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16920+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16920+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16920+16>>2]=HEAP32[$0+16>>2]|0; + _LoadShader($1,4073,4107); + dest=16940; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _emscripten_set_main_loop((1|0),0,1); - dest=$sonic$byval_copy; src=16644; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _UnloadShader($sonic$byval_copy); - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; - _UnloadTexture($sonic$byval_copy); + dest=$fudesumi$byval_copy; src=16940; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _UnloadShader($fudesumi$byval_copy); + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[16920>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[16920+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[16920+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[16920+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[16920+16>>2]|0; + _UnloadTexture($fudesumi$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; } @@ -10488,12 +10488,12 @@ function _UpdateDrawFrame() { var $$byval_copy16 = 0, $$byval_copy17 = 0, $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; var $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, $42 = 0; var $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, $60 = 0; - var $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, $8 = 0, $9 = 0, $sonic$byval_copy = 0, $tmpcast$byval_copy = 0, dest = 0; + var $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, $8 = 0, $9 = 0, $fudesumi$byval_copy = 0, $tmpcast$byval_copy = 0, dest = 0; var label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0); $tmpcast$byval_copy = sp + 104|0; - $sonic$byval_copy = sp + 80|0; + $fudesumi$byval_copy = sp + 80|0; $$byval_copy17 = sp + 72|0; $$byval_copy16 = sp + 64|0; $0 = sp + 216|0; @@ -10537,7 +10537,7 @@ function _UpdateDrawFrame() { $28 = ((($1)) + 3|0); HEAP8[$28>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(4159,20,40,10,$tmpcast$byval_copy); + _DrawText(4146,20,40,10,$tmpcast$byval_copy); HEAP8[$2>>0] = 0; $29 = ((($2)) + 1|0); HEAP8[$29>>0] = 82; @@ -10561,9 +10561,9 @@ function _UpdateDrawFrame() { HEAP8[$36>>0] = -1; $37 = ((($4)) + 3|0); HEAP8[$37>>0] = -1; - ;HEAP8[$sonic$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$sonic$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$sonic$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$sonic$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + ;HEAP8[$fudesumi$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$fudesumi$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$fudesumi$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$fudesumi$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$4>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$4+3>>0]|0; - _DrawCircleGradient(80,220,60.0,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawCircleGradient(80,220,60.0,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAP8[$5>>0] = 0; $38 = ((($5)) + 1|0); HEAP8[$38>>0] = 82; @@ -10573,7 +10573,7 @@ function _UpdateDrawFrame() { HEAP8[$40>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$5>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$5+3>>0]|0; _DrawCircleLines(80,340,80.0,$tmpcast$byval_copy); - dest=$tmpcast$byval_copy; src=16644; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$tmpcast$byval_copy; src=16940; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($tmpcast$byval_copy); HEAP8[$6>>0] = -26; $41 = ((($6)) + 1|0); @@ -10583,7 +10583,7 @@ function _UpdateDrawFrame() { $43 = ((($6)) + 3|0); HEAP8[$43>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$6>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(4180,190,40,10,$tmpcast$byval_copy); + _DrawText(4167,190,40,10,$tmpcast$byval_copy); HEAP8[$7>>0] = -26; $44 = ((($7)) + 1|0); HEAP8[$44>>0] = 41; @@ -10607,9 +10607,9 @@ function _UpdateDrawFrame() { HEAP8[$51>>0] = 0; $52 = ((($9)) + 3|0); HEAP8[$52>>0] = -1; - ;HEAP8[$sonic$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$sonic$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$sonic$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$sonic$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; + ;HEAP8[$fudesumi$byval_copy>>0]=HEAP8[$8>>0]|0;HEAP8[$fudesumi$byval_copy+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$fudesumi$byval_copy+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$fudesumi$byval_copy+3>>0]=HEAP8[$8+3>>0]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$9>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$9+3>>0]|0; - _DrawRectangleGradient(160,170,180,130,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawRectangleGradient(160,170,180,130,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAP8[$10>>0] = -1; $53 = ((($10)) + 1|0); HEAP8[$53>>0] = -95; @@ -10628,7 +10628,7 @@ function _UpdateDrawFrame() { $58 = ((($11)) + 3|0); HEAP8[$58>>0] = -1; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$11>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$11+3>>0]|0; - _DrawText(4159,370,40,10,$tmpcast$byval_copy); + _DrawText(4146,370,40,10,$tmpcast$byval_copy); HEAPF32[$12>>2] = 430.0; $59 = ((($12)) + 4|0); HEAPF32[$59>>2] = 80.0; @@ -10647,9 +10647,9 @@ function _UpdateDrawFrame() { HEAP8[$64>>0] = -1; ;HEAP32[$$byval_copy16>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$12+4>>2]|0; ;HEAP32[$$byval_copy17>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$13+4>>2]|0; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[$14+4>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$15>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$15+3>>0]|0; - _DrawTriangle($$byval_copy16,$$byval_copy17,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawTriangle($$byval_copy16,$$byval_copy17,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAPF32[$16>>2] = 430.0; $65 = ((($16)) + 4|0); HEAPF32[$65>>2] = 160.0; @@ -10668,9 +10668,9 @@ function _UpdateDrawFrame() { HEAP8[$70>>0] = -1; ;HEAP32[$$byval_copy16>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$16+4>>2]|0; ;HEAP32[$$byval_copy17>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$17+4>>2]|0; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[$18+4>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[$18+4>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$19>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$19+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$19+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$19+3>>0]|0; - _DrawTriangleLines($$byval_copy16,$$byval_copy17,$sonic$byval_copy,$tmpcast$byval_copy); + _DrawTriangleLines($$byval_copy16,$$byval_copy17,$fudesumi$byval_copy,$tmpcast$byval_copy); HEAPF32[$20>>2] = 430.0; $71 = ((($20)) + 4|0); HEAPF32[$71>>2] = 320.0; @@ -10681,19 +10681,69 @@ function _UpdateDrawFrame() { HEAP8[$73>>0] = 79; $74 = ((($21)) + 3|0); HEAP8[$74>>0] = -1; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[$20>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[$20+4>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[$20>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[$20+4>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$21>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$21+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$21+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$21+3>>0]|0; - _DrawPoly($sonic$byval_copy,6,80.0,0.0,$tmpcast$byval_copy); - dest=$tmpcast$byval_copy; src=16644; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _DrawPoly($fudesumi$byval_copy,6,80.0,0.0,$tmpcast$byval_copy); + dest=$tmpcast$byval_copy; src=16940; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($tmpcast$byval_copy); HEAP32[$22>>2] = -1; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[16624>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[16624+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[16624+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[16624+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[16624+16>>2]|0; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[16920>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[16920+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[16920+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[16920+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[16920+16>>2]|0; ;HEAP8[$tmpcast$byval_copy>>0]=HEAP8[$22>>0]|0;HEAP8[$tmpcast$byval_copy+1>>0]=HEAP8[$22+1>>0]|0;HEAP8[$tmpcast$byval_copy+2>>0]=HEAP8[$22+2>>0]|0;HEAP8[$tmpcast$byval_copy+3>>0]=HEAP8[$22+3>>0]|0; - _DrawTexture($sonic$byval_copy,380,-10,$tmpcast$byval_copy); + _DrawTexture($fudesumi$byval_copy,500,-30,$tmpcast$byval_copy); _EndShaderMode(); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10793,13 +10843,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11409,7 +11452,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4176] = $2; + HEAP32[4250] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11422,7 +11465,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16352; + $95 = 16648; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11435,48 +11478,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16392; + $106 = 16688; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4098]; - $111 = +HEAPF32[4088]; + $110 = +HEAPF32[4172]; + $111 = +HEAPF32[4162]; $112 = $110 - $111; - HEAPF32[4100] = $112; - $113 = +HEAPF32[(16396)>>2]; - $114 = +HEAPF32[(16356)>>2]; + HEAPF32[4174] = $112; + $113 = +HEAPF32[(16692)>>2]; + $114 = +HEAPF32[(16652)>>2]; $115 = $113 - $114; - HEAPF32[(16404)>>2] = $115; - HEAP32[4175] = 4; + HEAPF32[(16700)>>2] = $115; + HEAP32[4249] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4181] = $116; - $117 = 16384; + HEAPF32[4255] = $116; + $117 = 16680; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16352; + $123 = 16648; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16408; + $127 = 16704; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16392; + $133 = 16688; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11489,7 +11532,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16384; + $144 = 16680; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11502,27 +11545,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16408; + $155 = 16704; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4102]; - $160 = +HEAPF32[4096]; + $159 = +HEAPF32[4176]; + $160 = +HEAPF32[4170]; $161 = $159 - $160; - HEAPF32[4100] = $161; - $162 = +HEAPF32[(16412)>>2]; - $163 = +HEAPF32[(16388)>>2]; + HEAPF32[4174] = $161; + $162 = +HEAPF32[(16708)>>2]; + $163 = +HEAPF32[(16684)>>2]; $164 = $162 - $163; - HEAPF32[(16404)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + HEAPF32[(16700)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16392>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16392+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16688+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11534,31 +11577,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4181]; + $170 = +HEAPF32[4255]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4175] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16384+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16408>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16408+4>>2]|0; + HEAP32[4249] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16704>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16704+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4182] = $174; + HEAPF32[4256] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4181] = 0.0; - HEAPF32[4182] = 0.0; - HEAPF32[4100] = 0.0; - HEAPF32[(16404)>>2] = 0.0; - HEAP32[4176] = 0; - HEAP32[4175] = 0; + HEAPF32[4255] = 0.0; + HEAPF32[4256] = 0.0; + HEAPF32[4174] = 0.0; + HEAPF32[(16700)>>2] = 0.0; + HEAP32[4250] = 0; + HEAP32[4249] = 0; STACKTOP = sp;return; break; } @@ -11568,22 +11611,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4177]|0; + $6 = HEAP32[4251]|0; $7 = (($6) + 1)|0; - HEAP32[4177] = $7; - $8 = HEAP32[4175]|0; + HEAP32[4251] = $7; + $8 = HEAP32[4249]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4175] = 2; - HEAP32[4177] = 0; + HEAP32[4249] = 2; + HEAP32[4251] = 0; } else { label = 6; } @@ -11591,8 +11634,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4177] = 1; - HEAP32[4175] = 1; + HEAP32[4251] = 1; + HEAP32[4249] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11601,19 +11644,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16352; + $21 = 16648; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16360; + $25 = 16656; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16368; + $29 = 16664; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11622,13 +11665,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4094] = 0.0; - HEAPF32[(16380)>>2] = 0.0; + HEAPF32[4168] = 0.0; + HEAPF32[(16676)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4175]|0; + $35 = HEAP32[4249]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11638,19 +11681,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16368; + $44 = 16664; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4178] = $49; - HEAP32[4179] = 0; + HEAPF32[4252] = $49; + HEAP32[4253] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11658,11 +11701,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16368+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4180] = $56; + HEAPF32[4254] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11693,22 +11736,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4178] = 0.0; - HEAPF32[4180] = 0.0; + HEAPF32[4252] = 0.0; + HEAPF32[4254] = 0.0; $$sink10 = 0; } - HEAP32[4175] = $$sink10; - HEAPF32[4090] = 0.0; - HEAPF32[(16364)>>2] = 0.0; - HEAP32[4176] = 0; + HEAP32[4249] = $$sink10; + HEAPF32[4164] = 0.0; + HEAPF32[(16660)>>2] = 0.0; + HEAP32[4250] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4179]|0; + $65 = HEAP32[4253]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4179] = 1; + HEAP32[4253] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11717,31 +11760,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16384; + $74 = 16680; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4175]|0; + $78 = HEAP32[4249]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16352>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16352+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16680>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16680+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4175] = 8; + HEAP32[4249] = 8; } } - $82 = +HEAPF32[4096]; - $83 = +HEAPF32[4090]; + $82 = +HEAPF32[4170]; + $83 = +HEAPF32[4164]; $84 = $82 - $83; - HEAPF32[4094] = $84; - $85 = +HEAPF32[(16388)>>2]; - $86 = +HEAPF32[(16364)>>2]; + HEAPF32[4168] = $84; + $85 = +HEAPF32[(16684)>>2]; + $86 = +HEAPF32[(16660)>>2]; $87 = $85 - $86; - HEAPF32[(16380)>>2] = $87; + HEAPF32[(16676)>>2] = $87; STACKTOP = sp;return; break; } @@ -11750,58 +11793,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4175]|0; + $0 = HEAP32[4249]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4176]|0; + $2 = HEAP32[4250]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4175] = 4; + HEAP32[4249] = 4; } - $4 = HEAP32[4175]|0; + $4 = HEAP32[4249]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11814,14 +11818,14 @@ function _UpdateGestures() { return; } } - HEAP32[4175] = 0; + HEAP32[4249] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16416; + $1 = 16712; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11838,13 +11842,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4185]|0; + $0 = HEAP32[4259]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4184]|0; + $0 = HEAP32[4258]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11855,29 +11859,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4200,$vararg_buffer); - HEAP32[4187] = $2; + _TraceLog(0,4187,$vararg_buffer); + HEAP32[4261] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4229|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4229|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4229|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4229|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4229|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4229|0),(0|0),1,(7|0))|0); + (_emscripten_set_keypress_callback((4216|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((4216|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((4216|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((4216|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((4216|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((4216|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4185]|0; + $3 = HEAP32[4259]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4104] = $5; - $6 = HEAP32[4184]|0; + HEAPF32[4178] = $5; + $6 = HEAP32[4258]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16420)>>2] = $8; - $9 = HEAP32[4188]|0; + HEAPF32[(16716)>>2] = $8; + $9 = HEAP32[4262]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11896,11 +11900,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16456>>0]=HEAP8[8729>>0]|0;HEAP8[16456+1>>0]=HEAP8[8729+1>>0]|0;HEAP8[16456+2>>0]=HEAP8[8729+2>>0]|0;HEAP8[16456+3>>0]=HEAP8[8729+3>>0]|0;HEAP8[16456+4>>0]=HEAP8[8729+4>>0]|0;HEAP8[16456+5>>0]=HEAP8[8729+5>>0]|0;HEAP8[16456+6>>0]=HEAP8[8729+6>>0]|0; + ;HEAP8[16752>>0]=HEAP8[8716>>0]|0;HEAP8[16752+1>>0]=HEAP8[8716+1>>0]|0;HEAP8[16752+2>>0]=HEAP8[8716+2>>0]|0;HEAP8[16752+3>>0]=HEAP8[8716+3>>0]|0;HEAP8[16752+4>>0]=HEAP8[8716+4>>0]|0;HEAP8[16752+5>>0]=HEAP8[8716+5>>0]|0;HEAP8[16752+6>>0]=HEAP8[8716+6>>0]|0; break; } case 1: { - $3 = 16456; + $3 = 16752; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11909,11 +11913,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16456; src=8736; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16752; src=8723; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16456; + $7 = 16752; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11924,16 +11928,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16456,$1)|0); - $strlen = (_strlen(16456)|0); - $endptr = (16456 + ($strlen)|0); + (_strcat(16752,$1)|0); + $strlen = (_strlen(16752)|0); + $endptr = (16752 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16456,$2)|0); + (_vprintf(16752,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11965,22 +11969,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4185] = $0; - HEAP32[4184] = $1; + HEAP32[4259] = $0; + HEAP32[4258] = $1; _MatrixIdentity($2); - dest=16828; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17124; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,4871,$vararg_buffer); + _TraceLog(1,4858,$vararg_buffer); } - $6 = HEAP32[4185]|0; - HEAP32[4223] = $6; - $7 = HEAP32[4184]|0; - HEAP32[4224] = $7; + $6 = HEAP32[4259]|0; + HEAP32[4297] = $6; + $7 = HEAP32[4258]|0; + HEAP32[4298] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19560]|0; + $8 = HEAP8[19856]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11988,18 +11992,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19560]|0; + $11 = HEAP8[19856]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19560]|0; + $14 = HEAP8[19856]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4897,$vararg_buffer1); + _TraceLog(0,4884,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12016,18 +12020,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4225]|0; + $21 = HEAP32[4299]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4185]|0; - $48 = HEAP32[4184]|0; - $49 = HEAP32[4187]|0; + $47 = HEAP32[4259]|0; + $48 = HEAP32[4258]|0; + $49 = HEAP32[4261]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4183] = $50; - $51 = HEAP32[4185]|0; - HEAP32[4226] = $51; - $52 = HEAP32[4184]|0; - HEAP32[4227] = $52; + HEAP32[4257] = $50; + $51 = HEAP32[4259]|0; + HEAP32[4300] = $51; + $52 = HEAP32[4258]|0; + HEAP32[4301] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12036,9 +12040,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4185]|0; + $27 = HEAP32[4259]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4184]|0; + $29 = HEAP32[4258]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12060,87 +12064,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4223] = $31; - HEAP32[4224] = $34; + HEAP32[4297] = $31; + HEAP32[4298] = $34; } } while(0); - $38 = HEAP32[4223]|0; - $39 = HEAP32[4224]|0; + $38 = HEAP32[4297]|0; + $39 = HEAP32[4298]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,4922,$vararg_buffer3); - $40 = HEAP32[4223]|0; - $41 = HEAP32[4224]|0; + _TraceLog(2,4909,$vararg_buffer3); + $40 = HEAP32[4297]|0; + $41 = HEAP32[4298]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4223]|0; - $43 = HEAP32[4224]|0; - $44 = HEAP32[4187]|0; + $42 = HEAP32[4297]|0; + $43 = HEAP32[4298]|0; + $44 = HEAP32[4261]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4183] = $46; + HEAP32[4257] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4960,$vararg_buffer6); + _TraceLog(1,4947,$vararg_buffer6); } else { - _TraceLog(0,4993,$vararg_buffer8); - $55 = HEAP32[4226]|0; - $56 = HEAP32[4227]|0; + _TraceLog(0,4980,$vararg_buffer8); + $55 = HEAP32[4300]|0; + $56 = HEAP32[4301]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5033,$vararg_buffer10); - $57 = HEAP32[4185]|0; - $58 = HEAP32[4184]|0; + _TraceLog(0,5020,$vararg_buffer10); + $57 = HEAP32[4259]|0; + $58 = HEAP32[4258]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,5054,$vararg_buffer14); - $59 = HEAP32[4228]|0; - $60 = HEAP32[4229]|0; + _TraceLog(0,5041,$vararg_buffer14); + $59 = HEAP32[4302]|0; + $60 = HEAP32[4303]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,5075,$vararg_buffer18); + _TraceLog(0,5062,$vararg_buffer18); } - $61 = HEAP32[4183]|0; + $61 = HEAP32[4257]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4183]|0; + $62 = HEAP32[4257]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4183]|0; + $63 = HEAP32[4257]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4183]|0; + $64 = HEAP32[4257]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4183]|0; + $65 = HEAP32[4257]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4183]|0; + $66 = HEAP32[4257]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4183]|0; + $67 = HEAP32[4257]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4183]|0; + $68 = HEAP32[4257]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4183]|0; + $69 = HEAP32[4257]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19560]|0; + $70 = HEAP8[19856]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4185]|0; - $74 = HEAP32[4184]|0; + $73 = HEAP32[4259]|0; + $74 = HEAP32[4258]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4226]|0; - $76 = HEAP32[4228]|0; + $75 = HEAP32[4300]|0; + $76 = HEAP32[4302]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4227]|0; - $80 = HEAP32[4229]|0; + $79 = HEAP32[4301]|0; + $80 = HEAP32[4303]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12158,19 +12162,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,5100,$vararg_buffer22); - $73 = HEAP32[4185]|0; - $74 = HEAP32[4184]|0; + _TraceLog(0,5087,$vararg_buffer22); + $73 = HEAP32[4259]|0; + $74 = HEAP32[4258]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4226]|0; - $76 = HEAP32[4228]|0; + $75 = HEAP32[4300]|0; + $76 = HEAP32[4302]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4227]|0; - $80 = HEAP32[4229]|0; + $79 = HEAP32[4301]|0; + $80 = HEAP32[4303]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12198,7 +12202,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16796)>>2] = 224; + HEAP32[(17092)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12239,27 +12243,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16772>>2]=HEAP32[$1>>2]|0;HEAP32[16772+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16772+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16772+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16772+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17068>>2]=HEAP32[$1>>2]|0;HEAP32[17068+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17068+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17068+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17068+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16796)>>2]|0; + $5 = HEAP32[(17092)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16800)>>2] = $7; + HEAP32[(17096)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16792)>>2] = $23; - $24 = HEAP32[4193]|0; + HEAP32[(17088)>>2] = $23; + $24 = HEAP32[4267]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4424,$vararg_buffer); + _TraceLog(0,4411,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16776)>>2]|0; - $10 = HEAP32[(16796)>>2]|0; - $11 = HEAP32[(16800)>>2]|0; + $9 = HEAP32[(17072)>>2]|0; + $10 = HEAP32[(17092)>>2]|0; + $11 = HEAP32[(17096)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12308,10 +12312,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16792)>>2] = $23; - $24 = HEAP32[4193]|0; + HEAP32[(17088)>>2] = $23; + $24 = HEAP32[4267]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4424,$vararg_buffer); + _TraceLog(0,4411,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12320,7 +12324,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2056] = $1; + HEAPF64[2093] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12350,7 +12354,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4357,$vararg_buffer4); + _TraceLog(0,4344,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12360,7 +12364,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4288,$vararg_buffer); + _TraceLog(0,4275,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12376,7 +12380,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4281)|0); + $5 = (_strcmp($4,4268)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12479,7 +12483,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16432; + $31 = 16728; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12492,7 +12496,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16440); + $42 = (16736); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12548,7 +12552,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16756 + ($10<<2)|0); + $11 = (17052 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12562,19 +12566,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2053] = $$; + HEAPF64[2090] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4237,$vararg_buffer); + _TraceLog(0,4224,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4188] = 0; + HEAP32[4262] = 0; return; } function _GetTime() { @@ -12673,7 +12677,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4771,$vararg_buffer); + _TraceLog(2,4758,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13150,52 +13154,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4201]|0; + $6 = HEAP32[4275]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,4469,$vararg_buffer); + _TraceLog(2,4456,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4202]|0; + $9 = HEAP32[4276]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,4513,$vararg_buffer1); + _TraceLog(2,4500,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4203]|0; + $12 = HEAP32[4277]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,4558,$vararg_buffer3); + _TraceLog(2,4545,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4204]|0; + $15 = HEAP32[4278]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,4603,$vararg_buffer5); + _TraceLog(2,4590,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4205]|0; + $18 = HEAP32[4279]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,4648,$vararg_buffer7); + _TraceLog(2,4635,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13233,7 +13237,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4201]|0; + $22 = HEAP32[4275]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13241,7 +13245,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4201]|0; + $24 = HEAP32[4275]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13249,7 +13253,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4201]|0; + $26 = HEAP32[4275]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13257,7 +13261,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4201]|0; + $28 = HEAP32[4275]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13265,7 +13269,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4202]|0; + $30 = HEAP32[4276]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13273,7 +13277,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4203]|0; + $32 = HEAP32[4277]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13281,7 +13285,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4203]|0; + $34 = HEAP32[4277]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13289,7 +13293,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4204]|0; + $36 = HEAP32[4278]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13297,7 +13301,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4204]|0; + $38 = HEAP32[4278]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13305,7 +13309,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4205]|0; + $40 = HEAP32[4279]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13313,7 +13317,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4205]|0; + $42 = HEAP32[4279]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13321,11 +13325,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4693,$vararg_buffer9); + _TraceLog(2,4680,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4206]|0; + $44 = HEAP32[4280]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13340,7 +13344,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10934,$vararg_buffer15); + _TraceLog(2,11229,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13349,7 +13353,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4722,$vararg_buffer11); + _TraceLog(0,4709,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13623,7 +13627,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4825,$vararg_buffer); + _TraceLog(2,4812,$vararg_buffer); $$1 = $$0106; } } @@ -13650,7 +13654,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8691,$vararg_buffer); + _TraceLog(2,8678,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -13671,20 +13675,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4185]|0; + $3 = HEAP32[4259]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4184]|0; + $5 = HEAP32[4258]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4226] = $3; - HEAP32[4227] = $5; - HEAP32[4228] = 0; - HEAP32[4229] = 0; + HEAP32[4300] = $3; + HEAP32[4301] = $5; + HEAP32[4302] = 0; + HEAP32[4303] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13694,13 +13698,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8625,$vararg_buffer8); + _TraceLog(0,8612,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4185]|0; + $35 = HEAP32[4259]|0; $36 = (+($35|0)); - $37 = HEAP32[4184]|0; + $37 = HEAP32[4258]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13708,26 +13712,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4226] = $45; - HEAP32[4227] = $37; + HEAP32[4300] = $45; + HEAP32[4301] = $37; $46 = (($45) - ($35))|0; - HEAP32[4228] = $46; + HEAP32[4302] = $46; $$sink1 = 0; } else { - HEAP32[4226] = $35; + HEAP32[4300] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4227] = $42; - HEAP32[4228] = 0; + HEAP32[4301] = $42; + HEAP32[4302] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4229] = $$sink1; + HEAP32[4303] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4184]|0; + $7 = HEAP32[4258]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13735,13 +13739,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,8482,$vararg_buffer); + _TraceLog(2,8469,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4185]|0; + $9 = HEAP32[4259]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4184]|0; + $13 = HEAP32[4258]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13749,37 +13753,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4226] = $23; - HEAP32[4227] = $1; + HEAP32[4300] = $23; + HEAP32[4301] = $1; $24 = (($0) - ($23))|0; - HEAP32[4228] = $24; + HEAP32[4302] = $24; $$sink = 0; } else { - HEAP32[4226] = $0; - $17 = HEAP32[4184]|0; + HEAP32[4300] = $0; + $17 = HEAP32[4258]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4227] = $20; - HEAP32[4228] = 0; + HEAP32[4301] = $20; + HEAP32[4302] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4229] = $$sink; - $25 = HEAP32[4226]|0; + HEAP32[4303] = $$sink; + $25 = HEAP32[4300]|0; $26 = (+($25|0)); - $27 = HEAP32[4185]|0; + $27 = HEAP32[4259]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16828; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4226] = $0; - HEAP32[4227] = $1; + dest=17124; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4300] = $0; + HEAP32[4301] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,8560,$vararg_buffer4); + _TraceLog(2,8547,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -13797,10 +13801,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4185] = $1; - HEAP32[4184] = $2; - HEAP32[4226] = $1; - HEAP32[4227] = $2; + HEAP32[4259] = $1; + HEAP32[4258] = $2; + HEAP32[4300] = $1; + HEAP32[4301] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13827,7 +13831,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19567 + ($1)|0); + $9 = (19863 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13848,7 +13852,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19561 + ($1)|0); + $7 = (19857 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13927,7 +13931,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16432; + $15 = 16728; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13962,7 +13966,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4599] = $3; + HEAP32[4673] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13972,7 +13976,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4598] = $$sink; + HEAP32[4672] = $$sink; return; } function _rlglInit($0,$1) { @@ -14012,16 +14016,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5123,$vararg_buffer); + _TraceLog(0,5110,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5141,$vararg_buffer1); + _TraceLog(0,5128,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5159,$vararg_buffer4); + _TraceLog(0,5146,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5177,$vararg_buffer7); + _TraceLog(0,5164,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14029,7 +14033,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5195)|0); + $15 = (_strtok($$sink63,5182)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14043,41 +14047,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5197,$vararg_buffer10); + _TraceLog(0,5184,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5232)|0); + $25 = (_strcmp($24,5219)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4264] = 1; - $27 = (_eglGetProcAddress((5259|0))|0); - HEAP32[4265] = $27; - $28 = (_eglGetProcAddress((5280|0))|0); - HEAP32[4266] = $28; - $29 = (_eglGetProcAddress((5301|0))|0); - HEAP32[4267] = $29; - } - $30 = (_strcmp($24,5325)|0); + HEAP32[4338] = 1; + $27 = (_eglGetProcAddress((5246|0))|0); + HEAP32[4339] = $27; + $28 = (_eglGetProcAddress((5267|0))|0); + HEAP32[4340] = $28; + $29 = (_eglGetProcAddress((5288|0))|0); + HEAP32[4341] = $29; + } + $30 = (_strcmp($24,5312)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4206] = 1; + HEAP32[4280] = 1; } - $32 = (_strcmp($24,5345)|0); + $32 = (_strcmp($24,5332)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,5377)|0); + $35 = (_strcmp($34,5364)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,5410)|0); + $37 = (_strcmp($34,5397)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14086,15 +14090,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4201] = 1; + HEAP32[4275] = 1; } - $39 = (_strcmp($24,5450)|0); + $39 = (_strcmp($24,5437)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5486)|0); + $42 = (_strcmp($41,5473)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14102,35 +14106,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4202] = 1; + HEAP32[4276] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,5519)|0); + $45 = (_strcmp($44,5506)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4203] = 1; + HEAP32[4277] = 1; } - $47 = (_strcmp($44,5544)|0); + $47 = (_strcmp($44,5531)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4204] = 1; + HEAP32[4278] = 1; } - $49 = (_strcmp($44,5577)|0); + $49 = (_strcmp($44,5564)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4205] = 1; + HEAP32[4279] = 1; } - $51 = (_strcmp($44,5613)|0); + $51 = (_strcmp($44,5600)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4268] = 1; - _glGetFloatv(34047,(17076|0)); + HEAP32[4342] = 1; + _glGetFloatv(34047,(17372|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5647)|0); + $54 = (_strcmp($53,5634)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4270] = 1; + HEAP32[4344] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14141,77 +14145,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4264]|0; + $21 = HEAP32[4338]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5750,$vararg_buffer15); + _TraceLog(2,5737,$vararg_buffer15); } else { - _TraceLog(0,5675,$vararg_buffer13); + _TraceLog(0,5662,$vararg_buffer13); } - $57 = HEAP32[4206]|0; + $57 = HEAP32[4280]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5886,$vararg_buffer19); + _TraceLog(2,5873,$vararg_buffer19); } else { - _TraceLog(0,5811,$vararg_buffer17); + _TraceLog(0,5798,$vararg_buffer17); } - $59 = HEAP32[4201]|0; + $59 = HEAP32[4275]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5978,$vararg_buffer21); + _TraceLog(0,5965,$vararg_buffer21); } - $61 = HEAP32[4202]|0; + $61 = HEAP32[4276]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,6024,$vararg_buffer23); + _TraceLog(0,6011,$vararg_buffer23); } - $63 = HEAP32[4203]|0; + $63 = HEAP32[4277]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,6071,$vararg_buffer25); + _TraceLog(0,6058,$vararg_buffer25); } - $65 = HEAP32[4204]|0; + $65 = HEAP32[4278]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6122,$vararg_buffer27); + _TraceLog(0,6109,$vararg_buffer27); } - $67 = HEAP32[4205]|0; + $67 = HEAP32[4279]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6169,$vararg_buffer29); + _TraceLog(0,6156,$vararg_buffer29); } - $69 = HEAP32[4268]|0; + $69 = HEAP32[4342]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4269]; + $71 = +HEAPF32[4343]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6216,$vararg_buffer31); + _TraceLog(0,6203,$vararg_buffer31); } - $73 = HEAP32[4270]|0; + $73 = HEAP32[4344]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6282,$vararg_buffer34); + _TraceLog(0,6269,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4271] = $75; + HEAP32[4345] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,6386,$vararg_buffer39); + _TraceLog(2,6373,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6335,$vararg_buffer36); + _TraceLog(0,6322,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17088; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17144; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17384; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17440; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4300] = $77; + HEAP32[4374] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4300]|0; + $79 = HEAP32[4374]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14224,7 +14228,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4301] = $78; + HEAP32[4375] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14239,48 +14243,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4302] = 1; - $85 = HEAP32[4271]|0; + HEAP32[4376] = 1; + $85 = HEAP32[4345]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4303] = 4; + HEAP32[4377] = 4; _MatrixIdentity($4); - dest=17216; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17512; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17280); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17576); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17344); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17640); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17408); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17704); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17472); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17768); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17536); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17832); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17600); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17896); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17664); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17960); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17728); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18024); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17792); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18088); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17856); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17920); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17984); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18280); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18048); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18344); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18112); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18408); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18176); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18472); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16924; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17220; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=16988; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4230] = 16988; + dest=17284; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4304] = 17284; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14291,21 +14295,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4560] = $0; - HEAP32[4561] = $1; - _TraceLog(0,6425,$vararg_buffer41); + HEAP32[4634] = $0; + HEAP32[4635] = $1; + _TraceLog(0,6412,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4228]|0; + $0 = HEAP32[4302]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4229]|0; + $2 = HEAP32[4303]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4226]|0; + $4 = HEAP32[4300]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4227]|0; + $6 = HEAP32[4301]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14316,12 +14320,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16924; + $modelview$sink = 17220; label = 3; break; } case 5888: { - $modelview$sink = 16988; + $modelview$sink = 17284; label = 3; break; } @@ -14329,9 +14333,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4230] = $modelview$sink; + HEAP32[4304] = $modelview$sink; } - HEAP32[4263] = $0; + HEAP32[4337] = $0; return; } function _rlLoadIdentity() { @@ -14339,7 +14343,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4230]|0; + $1 = HEAP32[4304]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14360,7 +14364,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4230]|0; + $8 = HEAP32[4304]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14419,17 +14423,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(7001|0),489)|0; - _memcpy(($3|0),(7490|0),441)|0; + _memcpy(($2|0),(6988|0),489)|0; + _memcpy(($3|0),(7477|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,7979,$vararg_buffer1); + _TraceLog(2,7966,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7931,$vararg_buffer); + _TraceLog(0,7918,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14457,15 +14461,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18260)>>2] = $0; + HEAP32[(18556)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18268)>>2] = $1; - HEAP32[(18264)>>2] = 0; - HEAP32[(18272)>>2] = 0; + HEAP32[(18564)>>2] = $1; + HEAP32[(18560)>>2] = 0; + HEAP32[(18568)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18268)>>2]|0; + $2 = HEAP32[(18564)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14476,19 +14480,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[(18252)>>2] = 0; + HEAP32[4636] = 0; + HEAP32[(18552)>>2] = 0; + HEAP32[(18548)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18308)>>2] = $5; + HEAP32[(18604)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18316)>>2] = $6; - HEAP32[(18312)>>2] = 0; - HEAP32[(18320)>>2] = 0; + HEAP32[(18612)>>2] = $6; + HEAP32[(18608)>>2] = 0; + HEAP32[(18616)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18316)>>2]|0; + $7 = HEAP32[(18612)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14499,24 +14503,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4574] = 0; - HEAP32[(18304)>>2] = 0; - HEAP32[(18300)>>2] = 0; + HEAP32[4648] = 0; + HEAP32[(18600)>>2] = 0; + HEAP32[(18596)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18356)>>2] = $10; + HEAP32[(18652)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18360)>>2] = $11; + HEAP32[(18656)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18364)>>2] = $12; + HEAP32[(18660)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18368)>>2] = $13; - $14 = HEAP32[(18356)>>2]|0; + HEAP32[(18664)>>2] = $13; + $14 = HEAP32[(18652)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18360)>>2]|0; + $15 = HEAP32[(18656)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18364)>>2]|0; + $17 = HEAP32[(18660)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14527,7 +14531,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18368)>>2]|0; + $16 = HEAP32[(18664)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14564,140 +14568,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4586] = 0; - HEAP32[(18348)>>2] = 0; - HEAP32[(18352)>>2] = 0; - _TraceLog(0,6472,$vararg_buffer); - $20 = HEAP32[4264]|0; + HEAP32[4660] = 0; + HEAP32[(18644)>>2] = 0; + HEAP32[(18648)>>2] = 0; + _TraceLog(0,6459,$vararg_buffer); + $20 = HEAP32[4338]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4265]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18276)); - $44 = HEAP32[4266]|0; - $45 = HEAP32[(18276)>>2]|0; + $43 = HEAP32[4339]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18572)); + $44 = HEAP32[4340]|0; + $45 = HEAP32[(18572)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18280)|0)); - $46 = HEAP32[(18280)>>2]|0; + _glGenBuffers(2,((18576)|0)); + $46 = HEAP32[(18576)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18260)>>2]|0; + $47 = HEAP32[(18556)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17148)>>2]|0; + $48 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17148)>>2]|0; + $49 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18284)|0)); - $50 = HEAP32[(18284)>>2]|0; + _glGenBuffers(2,((18580)|0)); + $50 = HEAP32[(18580)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18268)>>2]|0; + $51 = HEAP32[(18564)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17168)>>2]|0; + $52 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17168)>>2]|0; + $53 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4264]|0; + $54 = HEAP32[4338]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18280)>>2]|0; - $58 = HEAP32[(18284)>>2]|0; + $57 = HEAP32[(18576)>>2]|0; + $58 = HEAP32[(18580)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6610,$vararg_buffer3); + _TraceLog(0,6597,$vararg_buffer3); } else { - $56 = HEAP32[(18276)>>2]|0; + $56 = HEAP32[(18572)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,6545,$vararg_buffer1); + _TraceLog(0,6532,$vararg_buffer1); } - $59 = HEAP32[4264]|0; + $59 = HEAP32[4338]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4265]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18324)); - $62 = HEAP32[4266]|0; - $63 = HEAP32[(18324)>>2]|0; + $61 = HEAP32[4339]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18620)); + $62 = HEAP32[4340]|0; + $63 = HEAP32[(18620)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18328)|0)); - $64 = HEAP32[(18328)>>2]|0; + _glGenBuffers(1,((18624)|0)); + $64 = HEAP32[(18624)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18308)>>2]|0; + $65 = HEAP32[(18604)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17148)>>2]|0; + $66 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17148)>>2]|0; + $67 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18332)|0)); - $68 = HEAP32[(18332)>>2]|0; + _glGenBuffers(1,((18628)|0)); + $68 = HEAP32[(18628)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18316)>>2]|0; + $69 = HEAP32[(18612)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17168)>>2]|0; + $70 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17168)>>2]|0; + $71 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4264]|0; + $72 = HEAP32[4338]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18328)>>2]|0; - $76 = HEAP32[(18332)>>2]|0; + $75 = HEAP32[(18624)>>2]|0; + $76 = HEAP32[(18628)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6756,$vararg_buffer10); + _TraceLog(0,6743,$vararg_buffer10); } else { - $74 = HEAP32[(18324)>>2]|0; + $74 = HEAP32[(18620)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6687,$vararg_buffer7); + _TraceLog(0,6674,$vararg_buffer7); } - $77 = HEAP32[4264]|0; + $77 = HEAP32[4338]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4265]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18372)); - $80 = HEAP32[4266]|0; - $81 = HEAP32[(18372)>>2]|0; + $79 = HEAP32[4339]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18668)); + $80 = HEAP32[4340]|0; + $81 = HEAP32[(18668)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18376)|0)); - $82 = HEAP32[(18376)>>2]|0; + _glGenBuffers(1,((18672)|0)); + $82 = HEAP32[(18672)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18356)>>2]|0; + $83 = HEAP32[(18652)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17148)>>2]|0; + $84 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17148)>>2]|0; + $85 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18380)|0)); - $86 = HEAP32[(18380)>>2]|0; + _glGenBuffers(1,((18676)|0)); + $86 = HEAP32[(18676)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18360)>>2]|0; + $87 = HEAP32[(18656)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17152)>>2]|0; + $88 = HEAP32[(17448)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17152)>>2]|0; + $89 = HEAP32[(17448)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18384)|0)); - $90 = HEAP32[(18384)>>2]|0; + _glGenBuffers(1,((18680)|0)); + $90 = HEAP32[(18680)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18364)>>2]|0; + $91 = HEAP32[(18660)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17168)>>2]|0; + $92 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17168)>>2]|0; + $93 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18388)|0)); - $94 = HEAP32[(18388)>>2]|0; + _glGenBuffers(1,((18684)|0)); + $94 = HEAP32[(18684)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18368)>>2]|0; + $95 = HEAP32[(18664)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4264]|0; + $96 = HEAP32[4338]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18376)>>2]|0; - $100 = HEAP32[(18380)>>2]|0; - $101 = HEAP32[(18384)>>2]|0; - $102 = HEAP32[(18388)>>2]|0; + $99 = HEAP32[(18672)>>2]|0; + $100 = HEAP32[(18676)>>2]|0; + $101 = HEAP32[(18680)>>2]|0; + $102 = HEAP32[(18684)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14705,18 +14709,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6902,$vararg_buffer17); + _TraceLog(0,6889,$vararg_buffer17); } else { - $98 = HEAP32[(18372)>>2]|0; + $98 = HEAP32[(18668)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6837,$vararg_buffer14); + _TraceLog(0,6824,$vararg_buffer14); } - $103 = HEAP32[4264]|0; + $103 = HEAP32[4338]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4266]|0; + $105 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14753,10 +14757,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8235,$vararg_buffer4); + _TraceLog(0,8222,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8183,$vararg_buffer); + _TraceLog(2,8170,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -14766,7 +14770,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8232,$vararg_buffer1); + _TraceLog(0,8219,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -14775,10 +14779,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8336,$vararg_buffer13); + _TraceLog(0,8323,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8285,$vararg_buffer7); + _TraceLog(2,8272,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -14788,25 +14792,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8232,$vararg_buffer10); + _TraceLog(0,8219,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8027|0)); - _glBindAttribLocation(($20|0),1,(8042|0)); - _glBindAttribLocation(($20|0),2,(8073|0)); - _glBindAttribLocation(($20|0),3,(8100|0)); - _glBindAttribLocation(($20|0),4,(8086|0)); - _glBindAttribLocation(($20|0),5,(8057|0)); + _glBindAttribLocation(($20|0),0,(8014|0)); + _glBindAttribLocation(($20|0),1,(8029|0)); + _glBindAttribLocation(($20|0),2,(8060|0)); + _glBindAttribLocation(($20|0),3,(8087|0)); + _glBindAttribLocation(($20|0),4,(8073|0)); + _glBindAttribLocation(($20|0),5,(8044|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,8388,$vararg_buffer16); + _TraceLog(2,8375,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -14816,7 +14820,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8232,$vararg_buffer19); + _TraceLog(0,8219,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -14825,7 +14829,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8434,$vararg_buffer22); + _TraceLog(0,8421,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -14840,55 +14844,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8027|0))|0); + $2 = (_glGetAttribLocation(($1|0),(8014|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8042|0))|0); + $5 = (_glGetAttribLocation(($4|0),(8029|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(8057|0))|0); + $8 = (_glGetAttribLocation(($7|0),(8044|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(8073|0))|0); + $11 = (_glGetAttribLocation(($10|0),(8060|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(8086|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8073|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(8100|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8087|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8112|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8099|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8122|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8109|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8133|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8120|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8144|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8131|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8156|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8143|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8165|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8152|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8174|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8161|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -14897,9 +14901,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19561 + ($0)|0); + $1 = (19857 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19564 + ($0)|0); + $3 = (19860 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14911,9 +14915,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19561 + ($0)|0); + $1 = (19857 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19564 + ($0)|0); + $3 = (19860 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14934,10 +14938,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4183]|0; + $0 = HEAP32[4257]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8746,$vararg_buffer); + _TraceLog(0,8733,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -14945,9 +14949,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16772>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16772+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16772+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16772+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16772+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17068>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17068+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17068+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17068+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17068+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16800)>>2]|0; + $0 = HEAP32[(17096)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14958,11 +14962,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17084|0)); - $0 = HEAP32[4271]|0; + _glDeleteTextures(1,(17380|0)); + $0 = HEAP32[4345]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8773,$vararg_buffer); - $1 = HEAP32[4301]|0; + _TraceLog(0,8760,$vararg_buffer); + $1 = HEAP32[4375]|0; _free($1); STACKTOP = sp;return; } @@ -14970,17 +14974,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4272]|0; + $0 = HEAP32[4346]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4264]|0; + $0 = HEAP32[4338]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4266]|0; + $2 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14989,39 +14993,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18280)|0)); - _glDeleteBuffers(1,((18284)|0)); - _glDeleteBuffers(1,((18328)|0)); - _glDeleteBuffers(1,((18332)|0)); - _glDeleteBuffers(1,((18376)|0)); - _glDeleteBuffers(1,((18380)|0)); - _glDeleteBuffers(1,((18384)|0)); - _glDeleteBuffers(1,((18388)|0)); - $3 = HEAP32[4264]|0; + _glDeleteBuffers(1,((18576)|0)); + _glDeleteBuffers(1,((18580)|0)); + _glDeleteBuffers(1,((18624)|0)); + _glDeleteBuffers(1,((18628)|0)); + _glDeleteBuffers(1,((18672)|0)); + _glDeleteBuffers(1,((18676)|0)); + _glDeleteBuffers(1,((18680)|0)); + _glDeleteBuffers(1,((18684)|0)); + $3 = HEAP32[4338]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4267]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18276)); - $6 = HEAP32[4267]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18324)); - $7 = HEAP32[4267]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18372)); - } - $8 = HEAP32[(18260)>>2]|0; + $5 = HEAP32[4341]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18572)); + $6 = HEAP32[4341]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18620)); + $7 = HEAP32[4341]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18668)); + } + $8 = HEAP32[(18556)>>2]|0; _free($8); - $9 = HEAP32[(18268)>>2]|0; + $9 = HEAP32[(18564)>>2]|0; _free($9); - $10 = HEAP32[(18308)>>2]|0; + $10 = HEAP32[(18604)>>2]|0; _free($10); - $11 = HEAP32[(18316)>>2]|0; + $11 = HEAP32[(18612)>>2]|0; _free($11); - $12 = HEAP32[(18356)>>2]|0; + $12 = HEAP32[(18652)>>2]|0; _free($12); - $13 = HEAP32[(18360)>>2]|0; + $13 = HEAP32[(18656)>>2]|0; _free($13); - $14 = HEAP32[(18364)>>2]|0; + $14 = HEAP32[(18660)>>2]|0; _free($14); - $15 = HEAP32[(18368)>>2]|0; + $15 = HEAP32[(18664)>>2]|0; _free($15); return; } @@ -15039,7 +15043,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8838,$vararg_buffer); + _TraceLog(0,8825,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15061,16 +15065,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2110] = $0; + $1 = +HEAPF64[2093]; $2 = $0 - $1; - HEAPF64[2074] = $2; - HEAPF64[2056] = $0; + HEAPF64[2111] = $2; + HEAPF64[2093] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16828; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17124; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18400); + _rlMultMatrixf(18696); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15079,53 +15083,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4600] = $1; + HEAP32[4674] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18404)>>2] = $3; + HEAP32[(18700)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18408)>>2] = $5; + HEAP32[(18704)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18412)>>2] = $7; + HEAP32[(18708)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18416)>>2] = $9; + HEAP32[(18712)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18420)>>2] = $11; + HEAP32[(18716)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18424)>>2] = $13; + HEAP32[(18720)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18428)>>2] = $15; + HEAP32[(18724)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18432)>>2] = $17; + HEAP32[(18728)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18436)>>2] = $19; + HEAP32[(18732)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18440)>>2] = $21; + HEAP32[(18736)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18444)>>2] = $23; + HEAP32[(18740)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18448)>>2] = $25; + HEAP32[(18744)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18452)>>2] = $27; + HEAP32[(18748)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18456)>>2] = $29; + HEAP32[(18752)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18460)>>2] = $31; - return (18400|0); + HEAP32[(18756)>>2] = $31; + return (18696|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15200,7 +15204,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4230]|0; + $49 = HEAP32[4304]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15214,15 +15218,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2073] = $0; - $1 = +HEAPF64[2056]; + HEAPF64[2110] = $0; + $1 = +HEAPF64[2093]; $2 = $0 - $1; - HEAPF64[2075] = $2; - HEAPF64[2056] = $0; - $3 = +HEAPF64[2074]; + HEAPF64[2112] = $2; + HEAPF64[2093] = $0; + $3 = +HEAPF64[2111]; $4 = $2 + $3; - HEAPF64[2076] = $4; - $5 = +HEAPF64[2053]; + HEAPF64[2113] = $4; + $5 = +HEAPF64[2090]; $6 = $4 < $5; if (!($6)) { return; @@ -15232,13 +15236,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2073] = $10; - $11 = +HEAPF64[2056]; + HEAPF64[2110] = $10; + $11 = +HEAPF64[2093]; $12 = $10 - $11; - HEAPF64[2056] = $10; - $13 = +HEAPF64[2076]; + HEAPF64[2093] = $10; + $13 = +HEAPF64[2113]; $14 = $12 + $13; - HEAPF64[2076] = $14; + HEAPF64[2113] = $14; return; } function _rlglDraw() { @@ -15251,7 +15255,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4183]|0; + $0 = HEAP32[4257]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15267,20 +15271,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4616] = 0; - $3 = HEAP32[4183]|0; + HEAP32[4690] = 0; + $3 = HEAP32[4257]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4104] = $5; + HEAPF32[4178] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16420)>>2] = $7; - _memcpy((20079|0),(19567|0),512)|0; - ;HEAP8[19564>>0]=HEAP8[19561>>0]|0;HEAP8[19564+1>>0]=HEAP8[19561+1>>0]|0;HEAP8[19564+2>>0]=HEAP8[19561+2>>0]|0; - $8 = HEAP32[4599]|0; - HEAP32[4186] = $8; - HEAP32[4599] = 0; + HEAPF32[(16716)>>2] = $7; + _memcpy((20375|0),(19863|0),512)|0; + ;HEAP8[19860>>0]=HEAP8[19857>>0]|0;HEAP8[19860+1>>0]=HEAP8[19857+1>>0]|0;HEAP8[19860+2>>0]=HEAP8[19857+2>>0]|0; + $8 = HEAP32[4673]|0; + HEAP32[4260] = $8; + HEAP32[4673] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15290,8 +15294,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20591 + ($$05160<<5)|0); - $scevgep67 = (20719 + ($$05160<<5)|0); + $scevgep = (20887 + ($$05160<<5)|0); + $scevgep67 = (21015 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15305,7 +15309,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20719 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21015 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15332,7 +15336,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18468 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18764 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15348,7 +15352,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4616] = $$lcssa; + HEAP32[4690] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15389,87 +15393,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4562]|0; + $0 = HEAP32[4636]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4264]|0; + $2 = HEAP32[4338]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4266]|0; - $5 = HEAP32[(18276)>>2]|0; + $4 = HEAP32[4340]|0; + $5 = HEAP32[(18572)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18280)>>2]|0; + $6 = HEAP32[(18576)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4562]|0; + $7 = HEAP32[4636]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18260)>>2]|0; + $9 = HEAP32[(18556)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18284)>>2]|0; + $10 = HEAP32[(18580)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18256)>>2]|0; + $11 = HEAP32[(18552)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18268)>>2]|0; + $13 = HEAP32[(18564)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4574]|0; + $14 = HEAP32[4648]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4264]|0; + $16 = HEAP32[4338]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4266]|0; - $19 = HEAP32[(18324)>>2]|0; + $18 = HEAP32[4340]|0; + $19 = HEAP32[(18620)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18328)>>2]|0; + $20 = HEAP32[(18624)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4574]|0; + $21 = HEAP32[4648]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18308)>>2]|0; + $23 = HEAP32[(18604)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18332)>>2]|0; + $24 = HEAP32[(18628)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18304)>>2]|0; + $25 = HEAP32[(18600)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18316)>>2]|0; + $27 = HEAP32[(18612)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4586]|0; + $28 = HEAP32[4660]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4264]|0; + $30 = HEAP32[4338]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4266]|0; - $33 = HEAP32[(18372)>>2]|0; + $32 = HEAP32[4340]|0; + $33 = HEAP32[(18668)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18376)>>2]|0; + $34 = HEAP32[(18672)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4586]|0; + $35 = HEAP32[4660]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18356)>>2]|0; + $37 = HEAP32[(18652)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18380)>>2]|0; + $38 = HEAP32[(18676)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4586]|0; + $39 = HEAP32[4660]|0; $40 = $39 << 3; - $41 = HEAP32[(18360)>>2]|0; + $41 = HEAP32[(18656)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18384)>>2]|0; + $42 = HEAP32[(18680)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4586]|0; + $43 = HEAP32[4660]|0; $44 = $43 << 2; - $45 = HEAP32[(18364)>>2]|0; + $45 = HEAP32[(18660)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4264]|0; + $46 = HEAP32[4338]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4266]|0; + $48 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15487,9 +15491,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16924; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=16988; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4649]|0; + dest=$0; src=17220; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17284; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4723]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15499,134 +15503,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4562]|0; + $8 = HEAP32[4636]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4574]|0; + $10 = HEAP32[4648]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4586]|0; + $12 = HEAP32[4660]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4286]|0; + $14 = HEAP32[4360]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16988; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16924; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17284; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17220; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17172)>>2]|0; + $15 = HEAP32[(17468)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17176)>>2]|0; + $17 = HEAP32[(17472)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17188)>>2]|0; + $18 = HEAP32[(17484)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4562]|0; + $19 = HEAP32[4636]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4271]|0; + $21 = HEAP32[4345]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4264]|0; + $22 = HEAP32[4338]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18280)>>2]|0; + $26 = HEAP32[(18576)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17148)>>2]|0; + $27 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17148)>>2]|0; + $28 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18284)>>2]|0; + $29 = HEAP32[(18580)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17168)>>2]|0; + $30 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17168)>>2]|0; + $31 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4266]|0; - $25 = HEAP32[(18276)>>2]|0; + $24 = HEAP32[4340]|0; + $25 = HEAP32[(18572)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4562]|0; + $32 = HEAP32[4636]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4264]|0; + $33 = HEAP32[4338]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4574]|0; + $35 = HEAP32[4648]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4271]|0; + $37 = HEAP32[4345]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4264]|0; + $38 = HEAP32[4338]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18328)>>2]|0; + $42 = HEAP32[(18624)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17148)>>2]|0; + $43 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17148)>>2]|0; + $44 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18332)>>2]|0; + $45 = HEAP32[(18628)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17168)>>2]|0; + $46 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17168)>>2]|0; + $47 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4266]|0; - $41 = HEAP32[(18324)>>2]|0; + $40 = HEAP32[4340]|0; + $41 = HEAP32[(18620)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4574]|0; + $48 = HEAP32[4648]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4264]|0; + $49 = HEAP32[4338]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4586]|0; + $51 = HEAP32[4660]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4264]|0; + $53 = HEAP32[4338]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18376)>>2]|0; + $57 = HEAP32[(18672)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17148)>>2]|0; + $58 = HEAP32[(17444)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17148)>>2]|0; + $59 = HEAP32[(17444)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18380)>>2]|0; + $60 = HEAP32[(18676)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17152)>>2]|0; + $61 = HEAP32[(17448)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17152)>>2]|0; + $62 = HEAP32[(17448)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18384)>>2]|0; + $63 = HEAP32[(18680)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17168)>>2]|0; + $64 = HEAP32[(17464)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17168)>>2]|0; + $65 = HEAP32[(17464)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18388)>>2]|0; + $66 = HEAP32[(18684)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4266]|0; - $56 = HEAP32[(18372)>>2]|0; + $55 = HEAP32[4340]|0; + $56 = HEAP32[(18668)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4302]|0; + $67 = HEAP32[4376]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4301]|0; + $71 = HEAP32[4375]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15637,14 +15641,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4301]|0; + $80 = HEAP32[4375]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4302]|0; + $87 = HEAP32[4376]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15653,7 +15657,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4264]|0; + $69 = HEAP32[4338]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15661,10 +15665,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4264]|0; + $89 = HEAP32[4338]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4266]|0; + $91 = HEAP32[4340]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15676,22 +15680,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4302] = 1; - $5 = HEAP32[4271]|0; - $6 = HEAP32[4301]|0; + HEAP32[4376] = 1; + $5 = HEAP32[4345]|0; + $6 = HEAP32[4375]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[4574] = 0; - HEAP32[(18304)>>2] = 0; - HEAP32[4586] = 0; - HEAP32[(18348)>>2] = 0; - HEAP32[(18352)>>2] = 0; + HEAP32[4636] = 0; + HEAP32[(18552)>>2] = 0; + HEAP32[4648] = 0; + HEAP32[(18600)>>2] = 0; + HEAP32[4660] = 0; + HEAP32[(18644)>>2] = 0; + HEAP32[(18648)>>2] = 0; HEAPF32[744] = -1.0; - dest=16924; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16988; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17220; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17284; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15706,17 +15710,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4560]|0; + $5 = HEAP32[4634]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4561]|0; + $9 = HEAP32[4635]|0; _rlViewport($7,0,$8,$9); - $10 = (18828 + ($0<<6)|0); + $10 = (19124 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18700 + ($0<<6)|0); + $11 = (18996 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15728,14 +15732,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16988; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17284; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16924; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17220; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15743,43 +15747,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4739]|0; + $0 = HEAP32[4813]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8888,$vararg_buffer); + _TraceLog(1,8875,$vararg_buffer); } - $2 = HEAP32[4739]|0; - $3 = (17216 + ($2<<6)|0); - $4 = HEAP32[4230]|0; + $2 = HEAP32[4813]|0; + $3 = (17512 + ($2<<6)|0); + $4 = HEAP32[4304]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4739]|0; + $5 = HEAP32[4813]|0; $6 = (($5) + 1)|0; - HEAP32[4739] = $6; - $7 = HEAP32[4263]|0; + HEAP32[4813] = $6; + $7 = HEAP32[4337]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4740] = 1; + HEAP32[4814] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4739]|0; + $0 = HEAP32[4813]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4739]|0; + $2 = HEAP32[4813]|0; $3 = (($2) + -1)|0; - $4 = (17216 + ($3<<6)|0); - $5 = HEAP32[4230]|0; + $4 = (17512 + ($3<<6)|0); + $5 = HEAP32[4304]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4739] = $6; + HEAP32[4813] = $6; return; } function _IsFileExtension($0,$1) { @@ -15812,7 +15816,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4230]|0; + $5 = HEAP32[4304]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15845,7 +15849,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4230]|0; + $11 = HEAP32[4304]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15856,7 +15860,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4303] = $0; + HEAP32[4377] = $0; return; } function _rlEnd() { @@ -15872,21 +15876,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4740]|0; + $0 = HEAP32[4814]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4741]|0; + $2 = HEAP32[4815]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4300]|0; + $6 = HEAP32[4374]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4230]|0; + $8 = HEAP32[4304]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4741]|0; + $5 = HEAP32[4815]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15894,12 +15898,12 @@ function _rlEnd() { break; } } - HEAP32[4740] = 0; + HEAP32[4814] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4300]|0; + $11 = HEAP32[4374]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15908,7 +15912,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4741]|0; + $19 = HEAP32[4815]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15918,15 +15922,15 @@ function _rlEnd() { } } } else { - HEAP32[4740] = 0; + HEAP32[4814] = 0; } - HEAP32[4741] = 0; + HEAP32[4815] = 0; } - $21 = HEAP32[4303]|0; + $21 = HEAP32[4377]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4562]|0; - $23 = HEAP32[(18256)>>2]|0; + $22 = HEAP32[4636]|0; + $23 = HEAP32[(18552)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15945,16 +15949,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18268)>>2]|0; - $28 = HEAP32[(18256)>>2]|0; + $27 = HEAP32[(18564)>>2]|0; + $28 = HEAP32[(18552)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18268)>>2]|0; - $35 = HEAP32[(18256)>>2]|0; + $34 = HEAP32[(18564)>>2]|0; + $35 = HEAP32[(18552)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15962,8 +15966,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18268)>>2]|0; - $43 = HEAP32[(18256)>>2]|0; + $42 = HEAP32[(18564)>>2]|0; + $43 = HEAP32[(18552)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15971,8 +15975,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18268)>>2]|0; - $51 = HEAP32[(18256)>>2]|0; + $50 = HEAP32[(18564)>>2]|0; + $51 = HEAP32[(18552)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15980,9 +15984,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18256)>>2]|0; + $58 = HEAP32[(18552)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18256)>>2] = $59; + HEAP32[(18552)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15998,8 +16002,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4574]|0; - $62 = HEAP32[(18304)>>2]|0; + $61 = HEAP32[4648]|0; + $62 = HEAP32[(18600)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -16018,16 +16022,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18316)>>2]|0; - $67 = HEAP32[(18304)>>2]|0; + $66 = HEAP32[(18612)>>2]|0; + $67 = HEAP32[(18600)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18316)>>2]|0; - $74 = HEAP32[(18304)>>2]|0; + $73 = HEAP32[(18612)>>2]|0; + $74 = HEAP32[(18600)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16035,8 +16039,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18316)>>2]|0; - $82 = HEAP32[(18304)>>2]|0; + $81 = HEAP32[(18612)>>2]|0; + $82 = HEAP32[(18600)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16044,8 +16048,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18316)>>2]|0; - $90 = HEAP32[(18304)>>2]|0; + $89 = HEAP32[(18612)>>2]|0; + $90 = HEAP32[(18600)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16053,9 +16057,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18304)>>2]|0; + $97 = HEAP32[(18600)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18304)>>2] = $98; + HEAP32[(18600)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16071,8 +16075,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4586]|0; - $101 = HEAP32[(18352)>>2]|0; + $100 = HEAP32[4660]|0; + $101 = HEAP32[(18648)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16080,16 +16084,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18364)>>2]|0; - $106 = HEAP32[(18352)>>2]|0; + $105 = HEAP32[(18660)>>2]|0; + $106 = HEAP32[(18648)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18364)>>2]|0; - $113 = HEAP32[(18352)>>2]|0; + $112 = HEAP32[(18660)>>2]|0; + $113 = HEAP32[(18648)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16097,8 +16101,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18364)>>2]|0; - $121 = HEAP32[(18352)>>2]|0; + $120 = HEAP32[(18660)>>2]|0; + $121 = HEAP32[(18648)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16106,8 +16110,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18364)>>2]|0; - $129 = HEAP32[(18352)>>2]|0; + $128 = HEAP32[(18660)>>2]|0; + $129 = HEAP32[(18648)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16115,9 +16119,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18352)>>2]|0; + $136 = HEAP32[(18648)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18352)>>2] = $137; + HEAP32[(18648)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16128,8 +16132,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4586]|0; - $140 = HEAP32[(18348)>>2]|0; + $139 = HEAP32[4660]|0; + $140 = HEAP32[(18644)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16137,8 +16141,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18360)>>2]|0; - $$promoted = HEAP32[(18348)>>2]|0; + $142 = HEAP32[(18656)>>2]|0; + $$promoted = HEAP32[(18644)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16146,7 +16150,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18348)>>2] = $147; + HEAP32[(18644)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16173,11 +16177,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4740]|0; + $3 = HEAP32[4814]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4300]|0; - $6 = HEAP32[4741]|0; + $5 = HEAP32[4374]|0; + $6 = HEAP32[4815]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16185,16 +16189,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4741] = $10; + HEAP32[4815] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4303]|0; + $11 = HEAP32[4377]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4562]|0; + $12 = HEAP32[4636]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18260)>>2]|0; + $14 = HEAP32[(18556)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16205,19 +16209,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4562] = $21; + HEAP32[4636] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8926,$vararg_buffer); + _TraceLog(1,8913,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4574]|0; + $22 = HEAP32[4648]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18308)>>2]|0; + $24 = HEAP32[(18604)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16228,19 +16232,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4574] = $31; + HEAP32[4648] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8951,$vararg_buffer1); + _TraceLog(1,8938,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4586]|0; + $32 = HEAP32[4660]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18356)>>2]|0; + $34 = HEAP32[(18652)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16251,9 +16255,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4586] = $41; - $42 = HEAP32[4301]|0; - $43 = HEAP32[4302]|0; + HEAP32[4660] = $41; + $42 = HEAP32[4375]|0; + $43 = HEAP32[4376]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16261,7 +16265,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8980,$vararg_buffer3); + _TraceLog(1,8967,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16296,13 +16300,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4303]|0; + $2 = HEAP32[4377]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18360)>>2]|0; - $5 = HEAP32[(18348)>>2]|0; + $4 = HEAP32[(18656)>>2]|0; + $5 = HEAP32[(18644)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16310,7 +16314,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18348)>>2] = $10; + HEAP32[(18644)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16329,18 +16333,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4303]|0; + $4 = HEAP32[4377]|0; switch ($4|0) { case 1: { - $$sink37 = (18256);$$sink38 = (18268); + $$sink37 = (18552);$$sink38 = (18564); break; } case 4: { - $$sink37 = (18304);$$sink38 = (18316); + $$sink37 = (18600);$$sink38 = (18612); break; } case 7: { - $$sink37 = (18352);$$sink38 = (18364); + $$sink37 = (18648);$$sink38 = (18660); break; } default: { @@ -16379,8 +16383,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4301]|0; - $2 = HEAP32[4302]|0; + $1 = HEAP32[4375]|0; + $2 = HEAP32[4376]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16393,9 +16397,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4302] = $10; + HEAP32[4376] = $10; } - $11 = HEAP32[4302]|0; + $11 = HEAP32[4376]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16406,7 +16410,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4586]|0; + $0 = HEAP32[4660]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16429,7 +16433,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4271]|0; + $1 = HEAP32[4345]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16452,11 +16456,11 @@ function _LoadText($0) { $$1 = 0; STACKTOP = sp;return ($$1|0); } - $2 = (_fopen($0,9005)|0); + $2 = (_fopen($0,8992)|0); $3 = ($2|0)==(0|0); if ($3) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,9008,$vararg_buffer); + _TraceLog(2,8995,$vararg_buffer); $$1 = 0; STACKTOP = sp;return ($$1|0); } @@ -16506,8 +16510,8 @@ function _LoadShader($0,$1,$2) { $10 = HEAP32[$3>>2]|0; $11 = ($10|0)==(0); if ($11) { - _TraceLog(2,9043,$vararg_buffer); - dest=$3; src=17088; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _TraceLog(2,9030,$vararg_buffer); + dest=$3; src=17384; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); } dest=$0; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -16526,21 +16530,21 @@ function _UnloadShader($0) { _rlDeleteShader($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9077,$vararg_buffer); + _TraceLog(0,9064,$vararg_buffer); STACKTOP = sp;return; } function _BeginShaderMode($0) { $0 = $0|0; var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - $1 = HEAP32[4286]|0; + $1 = HEAP32[4360]|0; $2 = HEAP32[$0>>2]|0; $3 = ($1|0)==($2|0); if ($3) { return; } _rlglDraw(); - dest=17144; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17440; src=$0; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _EndShaderMode() { @@ -16548,7 +16552,7 @@ function _EndShaderMode() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $defaultShader$byval_copy = sp; - dest=$defaultShader$byval_copy; src=17088; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$defaultShader$byval_copy; src=17384; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _BeginShaderMode($defaultShader$byval_copy); STACKTOP = sp;return; } @@ -17267,40 +17271,11 @@ function _DrawPoly($0,$1,$2,$3,$4) { _rlPopMatrix(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9119); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10452)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4742] = $0; + HEAP32[4816] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -17364,7 +17339,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9131|0),(9157|0),1125,(9180|0)); + ___assert_fail((9106|0),(9132|0),1041,(9155|0)); // unreachable; } } @@ -17382,7 +17357,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4743]|0; + $15 = HEAP32[4817]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17475,7 +17450,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9221); + _stbi__err(9196); $$0 = 0; return ($$0|0); } else { @@ -17497,7 +17472,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9212); + _stbi__err(9187); $$0 = 0; return ($$0|0); } @@ -17567,7 +17542,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9240); + _stbi__err(9215); $$045 = 0; return ($$045|0); } @@ -18128,7 +18103,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9556 + ($120)|0); + $121 = (9531 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -18170,97 +18145,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9330); + _stbi__err(9305); $$6$ph = 0; break; } case 9: { - _stbi__err(9344); + _stbi__err(9319); $$6$ph = 0; break; } case 11: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 13: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 15: { - _stbi__err(9367); + _stbi__err(9342); $$6$ph = 0; break; } case 17: { - _stbi__err(9387); + _stbi__err(9362); $$6$ph = 0; break; } case 20: { - _stbi__err(9387); + _stbi__err(9362); $$6$ph = 0; break; } case 22: { - _stbi__err(9387); + _stbi__err(9362); $$6$ph = 0; break; } case 24: { - _stbi__err(9397); + _stbi__err(9372); $$6$ph = 0; break; } case 26: { - _stbi__err(9413); + _stbi__err(9388); $$6$ph = 0; break; } case 28: { - _stbi__err(9431); + _stbi__err(9406); $$6$ph = 0; break; } case 31: { - _stbi__err(9452); + _stbi__err(9427); $$6$ph = 0; break; } case 34: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 37: { - _stbi__err(9357); + _stbi__err(9332); $$6$ph = 0; break; } case 39: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 41: { - _stbi__err(9481); + _stbi__err(9456); $$6$ph = 0; break; } case 44: { - _stbi__err(9481); + _stbi__err(9456); $$6$ph = 0; break; } case 47: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 49: { - _stbi__err(9494); + _stbi__err(9469); $$6$ph = 0; break; } @@ -18271,32 +18246,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9510); + _stbi__err(9485); $$6$ph = 0; break; } case 58: { - _stbi__err(9527); + _stbi__err(9502); $$6$ph = 0; break; } case 61: { - _stbi__err(9540); + _stbi__err(9515); $$6$ph = 0; break; } case 63: { - _stbi__err(9527); + _stbi__err(9502); $$6$ph = 0; break; } case 70: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 72: { - _stbi__err(9565); + _stbi__err(9540); $$6$ph = 0; break; } @@ -18308,12 +18283,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9212); + _stbi__err(9187); $$6$ph = 0; break; } case 83: { - _stbi__err(9573); + _stbi__err(9548); $$6$ph = 0; break; } @@ -18326,7 +18301,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9583); + _stbi__err(9558); $$4 = 0; break; } @@ -18391,7 +18366,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4744]|0; + $193 = HEAP32[4818]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -18424,7 +18399,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9466); + _stbi__err(9441); $$4 = 0; } } while(0); @@ -18432,24 +18407,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9466); + _stbi__err(9441); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9591] = $206; + HEAP8[9566] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9592)>>0] = $209; + HEAP8[(9567)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9593)>>0] = $211; + HEAP8[(9568)>>0] = $211; $212 = $207&255; - HEAP8[(9594)>>0] = $212; - _stbi__err(9591); + HEAP8[(9569)>>0] = $212; + _stbi__err(9566); $$6$ph = 0; break; } @@ -18483,14 +18458,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9253|0),(9157|0),1561,(9309|0)); + ___assert_fail((9228|0),(9132|0),1477,(9284|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9212); + _stbi__err(9187); $$0163 = 0; return ($$0163|0); } @@ -18853,7 +18828,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9307|0),(9157|0),1590,(9309|0)); + ___assert_fail((9282|0),(9132|0),1506,(9284|0)); // unreachable; } } while(0); @@ -18887,7 +18862,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9253|0),(9157|0),1610,(9284|0)); + ___assert_fail((9228|0),(9132|0),1526,(9259|0)); // unreachable; } $7 = $2 << 1; @@ -18897,7 +18872,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9212); + _stbi__err(9187); $$0163 = 0; return ($$0163|0); } @@ -19260,7 +19235,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9307|0),(9157|0),1639,(9284|0)); + ___assert_fail((9282|0),(9132|0),1555,(9259|0)); // unreachable; } } while(0); @@ -19408,7 +19383,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10248); + _stbi__err(10543); $$05 = 0; return ($$05|0); } @@ -19845,7 +19820,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9650|0),(9157|0),4568,(9702|0)); + ___assert_fail((9625|0),(9132|0),4569,(9677|0)); // unreachable; } } @@ -19932,7 +19907,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9650|0),(9157|0),4543,(9675|0)); + ___assert_fail((9625|0),(9132|0),4544,(9650|0)); // unreachable; } } @@ -19979,7 +19954,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4745]|0; + $16 = HEAP32[4819]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -20054,7 +20029,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9616|0),(9157|0),4649,(9634|0)); + ___assert_fail((9591|0),(9132|0),4650,(9609|0)); // unreachable; } } @@ -20077,7 +20052,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9212); + _stbi__err(9187); $$0 = 0; return ($$0|0); } @@ -20254,7 +20229,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9731|0),(9157|0),4294,(9772|0)); + ___assert_fail((9706|0),(9132|0),4294,(9747|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -20262,7 +20237,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9212); + _stbi__err(9187); $$2 = 0; return ($$2|0); } @@ -20281,7 +20256,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9799); + _stbi__err(9774); $$2 = 0; return ($$2|0); } @@ -20294,7 +20269,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9799); + _stbi__err(9774); $$2 = 0; return ($$2|0); } @@ -20302,12 +20277,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -20330,33 +20305,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9838 + ($56)|0); + $60 = (9813 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -20366,24 +20341,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -20393,10 +20368,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -20407,10 +20382,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -20421,14 +20396,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20458,7 +20433,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20473,12 +20448,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -21055,15 +21030,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9817|0),(9157|0),4315,(9772|0)); + ___assert_fail((9792|0),(9132|0),4315,(9747|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9843|0),(9157|0),4376,(9772|0)); + ___assert_fail((9818|0),(9132|0),4377,(9747|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9860); + _stbi__err(9835); $$2 = 0; return ($$2|0); } @@ -21113,7 +21088,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9556 + ($6)|0); + $336 = (9531 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21554,7 +21529,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9875|0),(9157|0),4465,(9772|0)); + ___assert_fail((9850|0),(9132|0),4466,(9747|0)); // unreachable; } else if ((label|0) == 151) { @@ -21614,8 +21589,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21630,15 +21605,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21647,65 +21622,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20878)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9861,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20879,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20847,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10149,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21724,14 +21694,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10201); + _stbi__err(10496); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10217); + _stbi__err(10512); $$0 = 0; return ($$0|0); } @@ -21740,7 +21710,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10232); + _stbi__err(10527); $$0 = 0; return ($$0|0); } @@ -21823,7 +21793,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10123|0),(9157|0),4048,(10140|0)); + ___assert_fail((10418|0),(9132|0),4033,(10435|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21860,7 +21830,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10171); + _stbi__err(10466); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21870,7 +21840,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10184); + _stbi__err(10479); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21900,21 +21870,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20879|0),8,144)|0; - dest=(21023); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21135); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21159); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20847; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -22048,7 +22003,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10061); + _stbi__err(10356); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22137,7 +22092,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10113); + _stbi__err(10408); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -22166,7 +22121,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10907 + ($$06579)|0); + $14 = (11202 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -22257,21 +22212,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10077|0),(9157|0),4021,(10085|0)); + ___assert_fail((10372|0),(9132|0),4006,(10380|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22281,7 +22236,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10061); + _stbi__err(10356); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22445,7 +22400,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9886); + _stbi__err(10181); $$3$ph = 0; return ($$3$ph|0); } @@ -22455,12 +22410,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9886); + _stbi__err(10181); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9903); + _stbi__err(10198); $$3$ph = 0; return ($$3$ph|0); } @@ -22517,7 +22472,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9912); + _stbi__err(10207); $$0 = 0; return ($$0|0); } @@ -22543,7 +22498,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9212); + _stbi__err(9187); $$0 = 0; return ($$0|0); } else { @@ -22588,7 +22543,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10008|0),(9157|0),3863,(10045|0)); + ___assert_fail((10303|0),(9132|0),3848,(10340|0)); // unreachable; } else if ((label|0) == 5) { @@ -22636,7 +22591,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9932|0),(9157|0),3891,(9948|0)); + ___assert_fail((10227|0),(9132|0),3876,(10243|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22664,7 +22619,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9979|0),(9157|0),3781,(9990|0)); + ___assert_fail((10274|0),(9132|0),3766,(10285|0)); // unreachable; } return (0)|0; @@ -22810,10 +22765,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22824,27 +22779,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10260)|0); + $6 = (_IsFileExtension($1,10555)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10313)|0); + $19 = (_IsFileExtension($1,10608)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10318,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10613,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10747)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22872,7 +22828,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22889,18 +22845,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10266,$vararg_buffer); + _TraceLog(2,10561,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22909,34 +22865,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10354,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10393,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10649,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10688,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22955,11 +22918,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10452)|0); + $4 = (_fopen($0,10747)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10455,$vararg_buffer); + _TraceLog(2,10750,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -23058,7 +23021,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10552,$vararg_buffer4); + _TraceLog(0,10847,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -23093,14 +23056,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10598,$vararg_buffer8); + _TraceLog(2,10893,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10506,$vararg_buffer1); + _TraceLog(2,10801,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -23190,7 +23153,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10424,$vararg_buffer); + _TraceLog(2,10719,$vararg_buffer); $$0 = $6; } } @@ -23235,27 +23198,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10648,$vararg_buffer); + _TraceLog(2,10943,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10687,$vararg_buffer1); + _TraceLog(2,10982,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10713,$vararg_buffer3); + _TraceLog(2,11008,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10776,$vararg_buffer5); + _TraceLog(2,11071,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10811,$vararg_buffer7); + _TraceLog(2,11106,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10846,$vararg_buffer10); + _TraceLog(0,11141,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24438,7 +24401,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10903 + ($$361133)|0); + $199 = (11198 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24868,7 +24831,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10903 + ($$331130)|0); + $186 = (11198 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24906,7 +24869,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10903 + ($$371134)|0); + $203 = (11198 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24945,7 +24908,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10907 + ($$421139)|0); + $235 = (11202 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -25352,7 +25315,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10926 + ($495)|0); + $496 = (11221 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -25389,7 +25352,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10930 + ($515)|0); + $516 = (11225 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -26301,7 +26264,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10934,$vararg_buffer); + _TraceLog(2,11229,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -26322,7 +26285,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16772>>2]|0;HEAP32[$0+4>>2]=HEAP32[16772+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16772+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16772+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16772+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16772+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16772+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16772+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17068>>2]|0;HEAP32[$0+4>>2]=HEAP32[17068+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17068+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17068+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17068+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17068+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17068+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17068+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26828,7 +26791,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10963)|0); + $12 = (_strstr($11,11258)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -26837,7 +26800,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10967)|0); + $17 = (_strstr($16,11262)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -26846,7 +26809,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10971)|0); + $22 = (_strstr($21,11266)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -26855,7 +26818,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10975)|0); + $27 = (_strstr($26,11270)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -26864,1210 +26827,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10981)|0); + $32 = (_strcmp($31,11276)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11019)|0); + $35 = (_strcmp($34,11314)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11038; + HEAP32[$3>>2] = 11333; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11051)|0); + $38 = (_strcmp($37,11346)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11072; + HEAP32[$3>>2] = 11367; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11087)|0); + $41 = (_strcmp($40,11382)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11102; + HEAP32[$3>>2] = 11397; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11117)|0); + $44 = (_strcmp($43,11412)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11132; + HEAP32[$3>>2] = 11427; } } else { - HEAP32[$3>>2] = 11003; + HEAP32[$3>>2] = 11298; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11147)|0); + $47 = (_strcmp($46,11442)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11161)|0); + $50 = (_strcmp($49,11456)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11173)|0); + $53 = (_strcmp($52,11468)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11187)|0); + $56 = (_strcmp($55,11482)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11199)|0); + $59 = (_strcmp($58,11494)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11213)|0); + $62 = (_strcmp($61,11508)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11227)|0); + $65 = (_strcmp($64,11522)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11244)|0); + $68 = (_strcmp($67,11539)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11267)|0); + $71 = (_strcmp($70,11562)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11293)|0); + $74 = (_strcmp($73,11588)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11306)|0); + $77 = (_strcmp($76,11601)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11322)|0); + $80 = (_strcmp($79,11617)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11335)|0); + $83 = (_strcmp($82,11630)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11349)|0); + $86 = (_strcmp($85,11644)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11369)|0); + $89 = (_strcmp($88,11664)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11389)|0); + $92 = (_strcmp($91,11684)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11406)|0); + $95 = (_strcmp($94,11701)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11423)|0); + $98 = (_strcmp($97,11718)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11435)|0); + $101 = (_strcmp($100,11730)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11448)|0); + $104 = (_strcmp($103,11743)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11464)|0); + $107 = (_strcmp($106,11759)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11487)|0); + $110 = (_strcmp($109,11782)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11500)|0); + $113 = (_strcmp($112,11795)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11516)|0); + $116 = (_strcmp($115,11811)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11527)|0); + $119 = (_strcmp($118,11822)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11546)|0); + $122 = (_strcmp($121,11841)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11568)|0); + $125 = (_strcmp($124,11863)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11587)|0); + $128 = (_strcmp($127,11882)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11616)|0); + $131 = (_strcmp($130,11911)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11633)|0); + $134 = (_strcmp($133,11928)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11648)|0); + $137 = (_strcmp($136,11943)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11663)|0); + $140 = (_strcmp($139,11958)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11684)|0); + $143 = (_strcmp($142,11979)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11704)|0); + $146 = (_strcmp($145,11999)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11724)|0); + $149 = (_strcmp($148,12019)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11750)|0); + $152 = (_strcmp($151,12045)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11769)|0); + $155 = (_strcmp($154,12064)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11781)|0); + $158 = (_strcmp($157,12076)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11793)|0); + $161 = (_strcmp($160,12088)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11805)|0); + $164 = (_strcmp($163,12100)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11817)|0); + $167 = (_strcmp($166,12112)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11829)|0); + $170 = (_strcmp($169,12124)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11841)|0); + $173 = (_strcmp($172,12136)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11853)|0); + $176 = (_strcmp($175,12148)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11865)|0); + $179 = (_strcmp($178,12160)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11878)|0); + $182 = (_strcmp($181,12173)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11891)|0); + $185 = (_strcmp($184,12186)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11904)|0); + $188 = (_strcmp($187,12199)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11917)|0); + $191 = (_strcmp($190,12212)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11930)|0); + $194 = (_strcmp($193,12225)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11943)|0); + $197 = (_strcmp($196,12238)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11956)|0); + $200 = (_strcmp($199,12251)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11969)|0); + $203 = (_strcmp($202,12264)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11988)|0); + $206 = (_strcmp($205,12283)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12007)|0); + $209 = (_strcmp($208,12302)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12026)|0); + $212 = (_strcmp($211,12321)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12039)|0); + $215 = (_strcmp($214,12334)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12057)|0); + $218 = (_strcmp($217,12352)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12075)|0); + $221 = (_strcmp($220,12370)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12093)|0); + $224 = (_strcmp($223,12388)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12111)|0); + $227 = (_strcmp($226,12406)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12131)|0); + $230 = (_strcmp($229,12426)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11072)|0); + $233 = (_strcmp($232,11367)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12149)|0); + $236 = (_strcmp($235,12444)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12164)|0); + $239 = (_strcmp($238,12459)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12185)|0); + $242 = (_strcmp($241,12480)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12200)|0); + $245 = (_strcmp($244,12495)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12218)|0); + $248 = (_strcmp($247,12513)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12234)|0); + $251 = (_strcmp($250,12529)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12253)|0); + $254 = (_strcmp($253,12548)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12267)|0); + $257 = (_strcmp($256,12562)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12282)|0); + $260 = (_strcmp($259,12577)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11003)|0); + $263 = (_strcmp($262,11298)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12293)|0); + $266 = (_strcmp($265,12588)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11102)|0); + $269 = (_strcmp($268,11397)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11132)|0); + $272 = (_strcmp($271,11427)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12309)|0); + $275 = (_strcmp($274,12604)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12336)|0); + $278 = (_strcmp($277,12631)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12350)|0); + $281 = (_strcmp($280,12645)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11038)|0); + $284 = (_strcmp($283,11333)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12370)|0); + $287 = (_strcmp($286,12665)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12388)|0); + $290 = (_strcmp($289,12683)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12400)|0); + $293 = (_strcmp($292,12695)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12421)|0); + $296 = (_strcmp($295,12716)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12439)|0); + $299 = (_strcmp($298,12734)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12457)|0); + $302 = (_strcmp($301,12752)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12478)|0); + $305 = (_strcmp($304,12773)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12504)|0); + $308 = (_strcmp($307,12799)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12527)|0); + $311 = (_strcmp($310,12822)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12565)|0); + $314 = (_strcmp($313,12860)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12581)|0); + $317 = (_strcmp($316,12876)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12596)|0); + $320 = (_strcmp($319,12891)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12619)|0); + $323 = (_strcmp($322,12914)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12632)|0); + $326 = (_strcmp($325,12927)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12646)|0); + $329 = (_strcmp($328,12941)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12660)|0); + $332 = (_strcmp($331,12955)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12680)|0); + $335 = (_strcmp($334,12975)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12700)|0); + $338 = (_strcmp($337,12995)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12716)|0); + $341 = (_strcmp($340,13011)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12734)|0); + $344 = (_strcmp($343,13029)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12750)|0); + $347 = (_strcmp($346,13045)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12765)|0); + $350 = (_strcmp($349,13060)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12787)|0); + $353 = (_strcmp($352,13082)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12805)|0); + $356 = (_strcmp($355,13100)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12826)|0); + $359 = (_strcmp($358,13121)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12844)|0); + $362 = (_strcmp($361,13139)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12857)|0); + $365 = (_strcmp($364,13152)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12872)|0); + $368 = (_strcmp($367,13167)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12886)|0); + $371 = (_strcmp($370,13181)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12896)|0); + $374 = (_strcmp($373,13191)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12906)|0); + $377 = (_strcmp($376,13201)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12928)|0); + $380 = (_strcmp($379,13223)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12954)|0); + $383 = (_strcmp($382,13249)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12981)|0); + $386 = (_strcmp($385,13276)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12994)|0); + $389 = (_strcmp($388,13289)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13009)|0); + $392 = (_strcmp($391,13304)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13024)|0); + $395 = (_strcmp($394,13319)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13048)|0); + $398 = (_strcmp($397,13343)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13059)|0); + $401 = (_strcmp($400,13354)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13081)|0); + $404 = (_strcmp($403,13376)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13103)|0); + $407 = (_strcmp($406,13398)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13127)|0); + $410 = (_strcmp($409,13422)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13136)|0); + $413 = (_strcmp($412,13431)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13144)|0); + $416 = (_strcmp($415,13439)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13157)|0); + $419 = (_strcmp($418,13452)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13171)|0); + $422 = (_strcmp($421,13466)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13183)|0); + $425 = (_strcmp($424,13478)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13192)|0); + $428 = (_strcmp($427,13487)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13202)|0); + $431 = (_strcmp($430,13497)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13214)|0); + $434 = (_strcmp($433,13509)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13225)|0); + $437 = (_strcmp($436,13520)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13233)|0); + $440 = (_strcmp($439,13528)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13245)|0); + $443 = (_strcmp($442,13540)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13260)|0); + $446 = (_strcmp($445,13555)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13272)|0); + $449 = (_strcmp($448,13567)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13286)|0); + $452 = (_strcmp($451,13581)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13311)|0); + $455 = (_strcmp($454,13606)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13328)|0); + $458 = (_strcmp($457,13623)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13344)|0); + $461 = (_strcmp($460,13639)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13360)|0); + $464 = (_strcmp($463,13655)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13372)|0); + $467 = (_strcmp($466,13667)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13384)|0); + $470 = (_strcmp($469,13679)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13408)|0); + $473 = (_strcmp($472,13703)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13421)|0); + $476 = (_strcmp($475,13716)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13435)|0); + $479 = (_strcmp($478,13730)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13457)|0); + $482 = (_strcmp($481,13752)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13464)|0); + $485 = (_strcmp($484,13759)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13480)|0); + $488 = (_strcmp($487,13775)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13497)|0); + $491 = (_strcmp($490,13792)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13514)|0); + $494 = (_strcmp($493,13809)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13530)|0); + $497 = (_strcmp($496,13825)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13546)|0); + $500 = (_strcmp($499,13841)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13563)|0); + $503 = (_strcmp($502,13858)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13577)|0); + $506 = (_strcmp($505,13872)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13589)|0); + $509 = (_strcmp($508,13884)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13600)|0); + $512 = (_strcmp($511,13895)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13613)|0); + $515 = (_strcmp($514,13908)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13623)|0); + $518 = (_strcmp($517,13918)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13640)|0); + $521 = (_strcmp($520,13935)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13652)|0); + $524 = (_strcmp($523,13947)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13674)|0); + $527 = (_strcmp($526,13969)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13694)|0); + $530 = (_strcmp($529,13989)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13707)|0); + $533 = (_strcmp($532,14002)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13729)|0); + $536 = (_strcmp($535,14024)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13749)|0); + $539 = (_strcmp($538,14044)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13766)|0); + $542 = (_strcmp($541,14061)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13783)|0); + $545 = (_strcmp($544,14078)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13803)|0); + $548 = (_strcmp($547,14098)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28089,7 +28052,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18984|0); + return (19280|0); } function ___stdio_close($0) { $0 = $0|0; @@ -28953,7 +28916,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13919 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14214 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29131,7 +29094,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14383;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14678;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29152,7 +29115,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14383;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14678;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29160,8 +29123,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14383 : (14385); - $$$ = $238 ? $$ : (14384); + $$ = $240 ? 14678 : (14680); + $$$ = $238 ? $$ : (14679); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29178,7 +29141,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14383;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14678;$242 = $167;$243 = $170; label = 66; break; } @@ -29191,7 +29154,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14383;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14678;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29205,7 +29168,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14393; + $271 = $270 ? $269 : 14688; $$1 = $271; label = 71; break; @@ -29245,7 +29208,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14383;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14678;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29267,8 +29230,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14383 + ($208)|0); - $$289 = $or$cond283 ? 14383 : $209; + $209 = (14678 + ($208)|0); + $$289 = $or$cond283 ? 14678 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29289,7 +29252,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14383;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14678;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -29819,7 +29782,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14435 + ($7)|0); + $9 = (14730 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30177,14 +30140,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14400; + $$0471 = $14;$$0520 = 1;$$0521 = 14695; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14401) : (14406); - $$$ = $16 ? $$ : (14403); + $$ = $18 ? (14696) : (14701); + $$$ = $16 ? $$ : (14698); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30283,7 +30246,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14435 + ($80)|0); + $81 = (14730 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -30894,7 +30857,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14451,1); + _out($0,14746,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -30975,7 +30938,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14451,1); + _out($0,14746,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31032,9 +30995,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14419 : 14423; + $29 = $28 ? 14714 : 14718; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14427 : 14431; + $31 = $28 ? 14722 : 14726; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31244,7 +31207,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14453 + ($$016)|0); + $3 = (14748 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31255,7 +31218,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14541;$$115 = 87; + $$01214 = 14836;$$115 = 87; label = 5; break; } else { @@ -31265,9 +31228,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14541; + $$012$lcssa = 14836; } else { - $$01214 = 14541;$$115 = $$016; + $$01214 = 14836;$$115 = $$016; label = 5; } } @@ -31930,7 +31893,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16345,$3,4)|0); + $memchr = (_memchr(16640,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32019,7 +31982,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16345,$4,4)|0); + $memchr = (_memchr(16640,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32110,7 +32073,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18988)>>2]|0; + $38 = HEAP32[(19284)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32143,13 +32106,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19048|0)); - return (19056|0); + ___lock((19344|0)); + return (19352|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19048|0)); + ___unlock((19344|0)); return; } function _fclose($0) { @@ -33213,7 +33176,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16616; + $2 = 16912; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33527,7 +33490,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4765]|0; + $3 = HEAP32[4839]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33546,22 +33509,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4765] = 0; + HEAP32[4839] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4765] = $10; + HEAP32[4839] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4765] = 0; + HEAP32[4839] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4765] = $13; + HEAP32[4839] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33642,7 +33605,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4766]|0; + $8 = HEAP32[4840]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33651,7 +33614,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19104 + ($15<<2)|0); + $16 = (19400 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33662,9 +33625,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4766] = $24; + HEAP32[4840] = $24; } else { - $25 = HEAP32[(19080)>>2]|0; + $25 = HEAP32[(19376)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33695,7 +33658,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19072)>>2]|0; + $37 = HEAP32[(19368)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -33729,7 +33692,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19104 + ($68<<2)|0); + $69 = (19400 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -33740,10 +33703,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4766] = $77; + HEAP32[4840] = $77; $98 = $77; } else { - $78 = HEAP32[(19080)>>2]|0; + $78 = HEAP32[(19376)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -33776,22 +33739,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19084)>>2]|0; + $92 = HEAP32[(19380)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19104 + ($94<<2)|0); + $95 = (19400 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4766] = $100; + HEAP32[4840] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19080)>>2]|0; + $103 = HEAP32[(19376)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -33808,12 +33771,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19072)>>2] = $84; - HEAP32[(19084)>>2] = $87; + HEAP32[(19368)>>2] = $84; + HEAP32[(19380)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19068)>>2]|0; + $108 = HEAP32[(19364)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -33841,7 +33804,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19368 + ($132<<2)|0); + $133 = (19664 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33881,7 +33844,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19080)>>2]|0; + $155 = HEAP32[(19376)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -33976,7 +33939,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19368 + ($188<<2)|0); + $189 = (19664 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -33987,11 +33950,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19068)>>2] = $194; + HEAP32[(19364)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19080)>>2]|0; + $195 = HEAP32[(19376)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34012,7 +33975,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19080)>>2]|0; + $201 = HEAP32[(19376)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34042,7 +34005,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19080)>>2]|0; + $213 = HEAP32[(19376)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34079,22 +34042,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19084)>>2]|0; + $231 = HEAP32[(19380)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19104 + ($233<<2)|0); + $234 = (19400 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4766] = $238; + HEAP32[4840] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19080)>>2]|0; + $241 = HEAP32[(19376)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34111,8 +34074,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19072)>>2] = $$0193$lcssa$i; - HEAP32[(19084)>>2] = $157; + HEAP32[(19368)>>2] = $$0193$lcssa$i; + HEAP32[(19380)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34128,7 +34091,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19068)>>2]|0; + $250 = HEAP32[(19364)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34168,7 +34131,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19368 + ($$0358$i<<2)|0); + $278 = (19664 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34260,7 +34223,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19368 + ($330<<2)|0); + $331 = (19664 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34304,11 +34267,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19072)>>2]|0; + $345 = HEAP32[(19368)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19080)>>2]|0; + $348 = HEAP32[(19376)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34405,7 +34368,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19368 + ($381<<2)|0); + $382 = (19664 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34416,12 +34379,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19068)>>2] = $387; + HEAP32[(19364)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19080)>>2]|0; + $388 = HEAP32[(19376)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34443,7 +34406,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19080)>>2]|0; + $394 = HEAP32[(19376)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34475,7 +34438,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19080)>>2]|0; + $406 = HEAP32[(19376)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34516,20 +34479,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19104 + ($425<<2)|0); - $427 = HEAP32[4766]|0; + $426 = (19400 + ($425<<2)|0); + $427 = HEAP32[4840]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4766] = $431; + HEAP32[4840] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19080)>>2]|0; + $434 = HEAP32[(19376)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34581,7 +34544,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19368 + ($$0361$i<<2)|0); + $464 = (19664 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34593,7 +34556,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19068)>>2] = $472; + HEAP32[(19364)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34632,7 +34595,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19080)>>2]|0; + $491 = HEAP32[(19376)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34651,7 +34614,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19080)>>2]|0; + $498 = HEAP32[(19376)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34684,16 +34647,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19072)>>2]|0; + $506 = HEAP32[(19368)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19084)>>2]|0; + $509 = HEAP32[(19380)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19084)>>2] = $511; - HEAP32[(19072)>>2] = $508; + HEAP32[(19380)>>2] = $511; + HEAP32[(19368)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -34703,8 +34666,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19072)>>2] = 0; - HEAP32[(19084)>>2] = 0; + HEAP32[(19368)>>2] = 0; + HEAP32[(19380)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -34718,14 +34681,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19076)>>2]|0; + $524 = HEAP32[(19372)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19076)>>2] = $526; - $527 = HEAP32[(19088)>>2]|0; + HEAP32[(19372)>>2] = $526; + $527 = HEAP32[(19384)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19088)>>2] = $528; + HEAP32[(19384)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -34736,23 +34699,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4884]|0; + $534 = HEAP32[4958]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19544)>>2] = 4096; - HEAP32[(19540)>>2] = 4096; - HEAP32[(19548)>>2] = -1; - HEAP32[(19552)>>2] = -1; - HEAP32[(19556)>>2] = 0; - HEAP32[(19508)>>2] = 0; + HEAP32[(19840)>>2] = 4096; + HEAP32[(19836)>>2] = 4096; + HEAP32[(19844)>>2] = -1; + HEAP32[(19848)>>2] = -1; + HEAP32[(19852)>>2] = 0; + HEAP32[(19804)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4884] = $538; + HEAP32[4958] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19544)>>2]|0; + $$pre$i212 = HEAP32[(19840)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -34765,10 +34728,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19504)>>2]|0; + $546 = HEAP32[(19800)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19496)>>2]|0; + $548 = HEAP32[(19792)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -34778,18 +34741,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19508)>>2]|0; + $552 = HEAP32[(19804)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19088)>>2]|0; + $555 = HEAP32[(19384)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19512); + $$0$i$i = (19808); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -34847,7 +34810,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19540)>>2]|0; + $569 = HEAP32[(19836)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34857,13 +34820,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19496)>>2]|0; + $578 = HEAP32[(19792)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19504)>>2]|0; + $582 = HEAP32[(19800)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -34909,7 +34872,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19544)>>2]|0; + $601 = HEAP32[(19840)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -34934,9 +34897,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19508)>>2]|0; + $611 = HEAP32[(19804)>>2]|0; $612 = $611 | 4; - HEAP32[(19508)>>2] = $612; + HEAP32[(19804)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -34972,35 +34935,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19496)>>2]|0; + $626 = HEAP32[(19792)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19496)>>2] = $627; - $628 = HEAP32[(19500)>>2]|0; + HEAP32[(19792)>>2] = $627; + $628 = HEAP32[(19796)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19500)>>2] = $627; + HEAP32[(19796)>>2] = $627; } - $630 = HEAP32[(19088)>>2]|0; + $630 = HEAP32[(19384)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19080)>>2]|0; + $632 = HEAP32[(19376)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19080)>>2] = $$749$i; - } - HEAP32[(19512)>>2] = $$749$i; - HEAP32[(19516)>>2] = $$723948$i; - HEAP32[(19524)>>2] = 0; - $635 = HEAP32[4884]|0; - HEAP32[(19100)>>2] = $635; - HEAP32[(19096)>>2] = -1; + HEAP32[(19376)>>2] = $$749$i; + } + HEAP32[(19808)>>2] = $$749$i; + HEAP32[(19812)>>2] = $$723948$i; + HEAP32[(19820)>>2] = 0; + $635 = HEAP32[4958]|0; + HEAP32[(19396)>>2] = $635; + HEAP32[(19392)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19104 + ($636<<2)|0); + $637 = (19400 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35023,18 +34986,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19088)>>2] = $649; - HEAP32[(19076)>>2] = $650; + HEAP32[(19384)>>2] = $649; + HEAP32[(19372)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19552)>>2]|0; - HEAP32[(19092)>>2] = $655; + $655 = HEAP32[(19848)>>2]|0; + HEAP32[(19388)>>2] = $655; } else { - $$024371$i = (19512); + $$024371$i = (19808); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35066,7 +35029,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19076)>>2]|0; + $671 = HEAP32[(19372)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35077,30 +35040,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19088)>>2] = $679; - HEAP32[(19076)>>2] = $681; + HEAP32[(19384)>>2] = $679; + HEAP32[(19372)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19552)>>2]|0; - HEAP32[(19092)>>2] = $686; + $686 = HEAP32[(19848)>>2]|0; + HEAP32[(19388)>>2] = $686; break; } } } - $687 = HEAP32[(19080)>>2]|0; + $687 = HEAP32[(19376)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19080)>>2] = $$749$i; + HEAP32[(19376)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19512); + $$124470$i = (19808); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35155,21 +35118,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19076)>>2]|0; + $726 = HEAP32[(19372)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19076)>>2] = $727; - HEAP32[(19088)>>2] = $721; + HEAP32[(19372)>>2] = $727; + HEAP32[(19384)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19084)>>2]|0; + $730 = HEAP32[(19380)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19072)>>2]|0; + $732 = HEAP32[(19368)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19072)>>2] = $733; - HEAP32[(19084)>>2] = $721; + HEAP32[(19368)>>2] = $733; + HEAP32[(19380)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35192,7 +35155,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19104 + ($748<<2)|0); + $749 = (19400 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35215,9 +35178,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4766]|0; + $759 = HEAP32[4840]|0; $760 = $759 & $758; - HEAP32[4766] = $760; + HEAP32[4840] = $760; break; } $761 = ($747|0)==($749|0); @@ -35330,7 +35293,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19368 + ($796<<2)|0); + $797 = (19664 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35342,12 +35305,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19068)>>2]|0; + $802 = HEAP32[(19364)>>2]|0; $803 = $802 & $801; - HEAP32[(19068)>>2] = $803; + HEAP32[(19364)>>2] = $803; break L314; } else { - $804 = HEAP32[(19080)>>2]|0; + $804 = HEAP32[(19376)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35368,7 +35331,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19080)>>2]|0; + $810 = HEAP32[(19376)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35400,7 +35363,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19080)>>2]|0; + $822 = HEAP32[(19376)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35433,21 +35396,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19104 + ($836<<2)|0); - $838 = HEAP32[4766]|0; + $837 = (19400 + ($836<<2)|0); + $838 = HEAP32[4840]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4766] = $842; + HEAP32[4840] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19080)>>2]|0; + $845 = HEAP32[(19376)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35502,20 +35465,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19368 + ($$0296$i$i<<2)|0); + $875 = (19664 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19068)>>2]|0; + $879 = HEAP32[(19364)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19068)>>2] = $883; + HEAP32[(19364)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35554,7 +35517,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19080)>>2]|0; + $902 = HEAP32[(19376)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35573,7 +35536,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19080)>>2]|0; + $909 = HEAP32[(19376)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35600,7 +35563,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19512); + $$0$i$i$i = (19808); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35641,23 +35604,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19088)>>2] = $946; - HEAP32[(19076)>>2] = $947; + HEAP32[(19384)>>2] = $946; + HEAP32[(19372)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19552)>>2]|0; - HEAP32[(19092)>>2] = $952; + $952 = HEAP32[(19848)>>2]|0; + HEAP32[(19388)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19512)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19512)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19512)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19512)+12>>2]|0; - HEAP32[(19512)>>2] = $$749$i; - HEAP32[(19516)>>2] = $$723948$i; - HEAP32[(19524)>>2] = 0; - HEAP32[(19520)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19808)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19808)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19808)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19808)+12>>2]|0; + HEAP32[(19808)>>2] = $$749$i; + HEAP32[(19812)>>2] = $$723948$i; + HEAP32[(19820)>>2] = 0; + HEAP32[(19816)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35686,20 +35649,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19104 + ($968<<2)|0); - $970 = HEAP32[4766]|0; + $969 = (19400 + ($968<<2)|0); + $970 = HEAP32[4840]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4766] = $974; + HEAP32[4840] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19080)>>2]|0; + $977 = HEAP32[(19376)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -35751,19 +35714,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19368 + ($$0212$i$i<<2)|0); + $1007 = (19664 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19068)>>2]|0; + $1010 = HEAP32[(19364)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19068)>>2] = $1014; + HEAP32[(19364)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -35802,7 +35765,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19080)>>2]|0; + $1033 = HEAP32[(19376)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -35821,7 +35784,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19080)>>2]|0; + $1040 = HEAP32[(19376)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -35844,14 +35807,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19076)>>2]|0; + $1048 = HEAP32[(19372)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19076)>>2] = $1050; - $1051 = HEAP32[(19088)>>2]|0; + HEAP32[(19372)>>2] = $1050; + $1051 = HEAP32[(19384)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19088)>>2] = $1052; + HEAP32[(19384)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35894,7 +35857,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19080)>>2]|0; + $3 = HEAP32[(19376)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -35927,7 +35890,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19084)>>2]|0; + $19 = HEAP32[(19380)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -35942,7 +35905,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19072)>>2] = $17; + HEAP32[(19368)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -35956,7 +35919,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19104 + ($27<<2)|0); + $28 = (19400 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -35976,9 +35939,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4766]|0; + $37 = HEAP32[4840]|0; $38 = $37 & $36; - HEAP32[4766] = $38; + HEAP32[4840] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36092,7 +36055,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19368 + ($74<<2)|0); + $75 = (19664 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36102,14 +36065,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19068)>>2]|0; + $80 = HEAP32[(19364)>>2]|0; $81 = $80 & $79; - HEAP32[(19068)>>2] = $81; + HEAP32[(19364)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19080)>>2]|0; + $82 = HEAP32[(19376)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36131,7 +36094,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19080)>>2]|0; + $88 = HEAP32[(19376)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36163,7 +36126,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19080)>>2]|0; + $100 = HEAP32[(19376)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36198,14 +36161,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19088)>>2]|0; + $120 = HEAP32[(19384)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19084)>>2]|0; + $122 = HEAP32[(19380)>>2]|0; if ($121) { - $123 = HEAP32[(19076)>>2]|0; + $123 = HEAP32[(19372)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19076)>>2] = $124; - HEAP32[(19088)>>2] = $$1; + HEAP32[(19372)>>2] = $124; + HEAP32[(19384)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36213,16 +36176,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19084)>>2] = 0; - HEAP32[(19072)>>2] = 0; + HEAP32[(19380)>>2] = 0; + HEAP32[(19368)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19072)>>2]|0; + $129 = HEAP32[(19368)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19072)>>2] = $130; - HEAP32[(19084)>>2] = $113; + HEAP32[(19368)>>2] = $130; + HEAP32[(19380)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36241,10 +36204,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19104 + ($142<<2)|0); + $143 = (19400 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19080)>>2]|0; + $145 = HEAP32[(19376)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36262,9 +36225,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4766]|0; + $153 = HEAP32[4840]|0; $154 = $153 & $152; - HEAP32[4766] = $154; + HEAP32[4840] = $154; break; } $155 = ($141|0)==($143|0); @@ -36272,7 +36235,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19080)>>2]|0; + $156 = HEAP32[(19376)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36332,7 +36295,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19080)>>2]|0; + $189 = HEAP32[(19376)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36345,7 +36308,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19080)>>2]|0; + $169 = HEAP32[(19376)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36376,7 +36339,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19368 + ($193<<2)|0); + $194 = (19664 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36386,13 +36349,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19068)>>2]|0; + $199 = HEAP32[(19364)>>2]|0; $200 = $199 & $198; - HEAP32[(19068)>>2] = $200; + HEAP32[(19364)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19080)>>2]|0; + $201 = HEAP32[(19376)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36413,7 +36376,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19080)>>2]|0; + $207 = HEAP32[(19376)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36443,7 +36406,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19080)>>2]|0; + $219 = HEAP32[(19376)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36464,10 +36427,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19084)>>2]|0; + $226 = HEAP32[(19380)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19072)>>2] = $135; + HEAP32[(19368)>>2] = $135; return; } else { $$2 = $135; @@ -36486,20 +36449,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19104 + ($234<<2)|0); - $236 = HEAP32[4766]|0; + $235 = (19400 + ($234<<2)|0); + $236 = HEAP32[4840]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4766] = $240; + HEAP32[4840] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19080)>>2]|0; + $243 = HEAP32[(19376)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36551,21 +36514,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19368 + ($$0396<<2)|0); + $273 = (19664 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19068)>>2]|0; + $277 = HEAP32[(19364)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19068)>>2] = $281; + HEAP32[(19364)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36603,7 +36566,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19080)>>2]|0; + $300 = HEAP32[(19376)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36622,7 +36585,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19080)>>2]|0; + $307 = HEAP32[(19376)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36644,12 +36607,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19096)>>2]|0; + $314 = HEAP32[(19392)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19096)>>2] = $315; + HEAP32[(19392)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19520); + $$0212$in$i = (19816); } else { return; } @@ -36663,7 +36626,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19096)>>2] = -1; + HEAP32[(19392)>>2] = -1; return; } function _realloc($0,$1) { @@ -36735,7 +36698,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19080)>>2]|0; + $6 = HEAP32[(19376)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -36765,7 +36728,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19544)>>2]|0; + $18 = HEAP32[(19840)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -36801,10 +36764,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19088)>>2]|0; + $34 = HEAP32[(19384)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19076)>>2]|0; + $36 = HEAP32[(19372)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -36820,15 +36783,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19088)>>2] = $40; - HEAP32[(19076)>>2] = $39; + HEAP32[(19384)>>2] = $40; + HEAP32[(19372)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19084)>>2]|0; + $46 = HEAP32[(19380)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19072)>>2]|0; + $48 = HEAP32[(19368)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36864,8 +36827,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19072)>>2] = $storemerge1; - HEAP32[(19084)>>2] = $storemerge; + HEAP32[(19368)>>2] = $storemerge1; + HEAP32[(19380)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36892,7 +36855,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19104 + ($81<<2)|0); + $82 = (19400 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -36912,9 +36875,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4766]|0; + $91 = HEAP32[4840]|0; $92 = $91 & $90; - HEAP32[4766] = $92; + HEAP32[4840] = $92; break; } $93 = ($80|0)==($82|0); @@ -37023,7 +36986,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19368 + ($128<<2)|0); + $129 = (19664 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37033,13 +36996,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19068)>>2]|0; + $134 = HEAP32[(19364)>>2]|0; $135 = $134 & $133; - HEAP32[(19068)>>2] = $135; + HEAP32[(19364)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19080)>>2]|0; + $136 = HEAP32[(19376)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37060,7 +37023,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19080)>>2]|0; + $142 = HEAP32[(19376)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37090,7 +37053,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19080)>>2]|0; + $154 = HEAP32[(19376)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37175,13 +37138,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19080)>>2]|0; + $13 = HEAP32[(19376)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19084)>>2]|0; + $15 = HEAP32[(19380)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37196,7 +37159,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19072)>>2] = $12; + HEAP32[(19368)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37210,7 +37173,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19104 + ($23<<2)|0); + $24 = (19400 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37230,9 +37193,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4766]|0; + $33 = HEAP32[4840]|0; $34 = $33 & $32; - HEAP32[4766] = $34; + HEAP32[4840] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37346,7 +37309,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19368 + ($70<<2)|0); + $71 = (19664 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37356,14 +37319,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19068)>>2]|0; + $76 = HEAP32[(19364)>>2]|0; $77 = $76 & $75; - HEAP32[(19068)>>2] = $77; + HEAP32[(19364)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19080)>>2]|0; + $78 = HEAP32[(19376)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37385,7 +37348,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19080)>>2]|0; + $84 = HEAP32[(19376)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37417,7 +37380,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19080)>>2]|0; + $96 = HEAP32[(19376)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37436,7 +37399,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19080)>>2]|0; + $108 = HEAP32[(19376)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37447,14 +37410,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19088)>>2]|0; + $114 = HEAP32[(19384)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19084)>>2]|0; + $116 = HEAP32[(19380)>>2]|0; if ($115) { - $117 = HEAP32[(19076)>>2]|0; + $117 = HEAP32[(19372)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19076)>>2] = $118; - HEAP32[(19088)>>2] = $$1; + HEAP32[(19372)>>2] = $118; + HEAP32[(19384)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37462,16 +37425,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19084)>>2] = 0; - HEAP32[(19072)>>2] = 0; + HEAP32[(19380)>>2] = 0; + HEAP32[(19368)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19072)>>2]|0; + $123 = HEAP32[(19368)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19072)>>2] = $124; - HEAP32[(19084)>>2] = $$1; + HEAP32[(19368)>>2] = $124; + HEAP32[(19380)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37490,7 +37453,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19104 + ($136<<2)|0); + $137 = (19400 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37510,9 +37473,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4766]|0; + $146 = HEAP32[4840]|0; $147 = $146 & $145; - HEAP32[4766] = $147; + HEAP32[4840] = $147; break; } $148 = ($135|0)==($137|0); @@ -37621,7 +37584,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19368 + ($183<<2)|0); + $184 = (19664 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37631,13 +37594,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19068)>>2]|0; + $189 = HEAP32[(19364)>>2]|0; $190 = $189 & $188; - HEAP32[(19068)>>2] = $190; + HEAP32[(19364)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19080)>>2]|0; + $191 = HEAP32[(19376)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37658,7 +37621,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19080)>>2]|0; + $197 = HEAP32[(19376)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37688,7 +37651,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19080)>>2]|0; + $209 = HEAP32[(19376)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -37709,10 +37672,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19084)>>2]|0; + $216 = HEAP32[(19380)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19072)>>2] = $129; + HEAP32[(19368)>>2] = $129; return; } else { $$2 = $129; @@ -37731,20 +37694,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19104 + ($224<<2)|0); - $226 = HEAP32[4766]|0; + $225 = (19400 + ($224<<2)|0); + $226 = HEAP32[4840]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4766] = $230; + HEAP32[4840] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19080)>>2]|0; + $233 = HEAP32[(19376)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -37796,20 +37759,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19368 + ($$0431<<2)|0); + $263 = (19664 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19068)>>2]|0; + $267 = HEAP32[(19364)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19068)>>2] = $271; + HEAP32[(19364)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -37848,7 +37811,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19080)>>2]|0; + $290 = HEAP32[(19376)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37866,7 +37829,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19080)>>2]|0; + $297 = HEAP32[(19376)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/shapes/shapes_basic_shapes.c b/docs/examples/web/shapes/shapes_basic_shapes.c index c0b052db..b4fe0f32 100644 --- a/docs/examples/web/shapes/shapes_basic_shapes.c +++ b/docs/examples/web/shapes/shapes_basic_shapes.c @@ -21,7 +21,6 @@ int screenWidth = 800; int screenHeight = 450; - //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- diff --git a/docs/examples/web/shapes/shapes_basic_shapes.js b/docs/examples/web/shapes/shapes_basic_shapes.js index 1d44f340..9a48db47 100644 --- a/docs/examples/web/shapes/shapes_basic_shapes.js +++ b/docs/examples/web/shapes/shapes_basic_shapes.js @@ -7404,6 +7404,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7503,13 +7553,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8460,45 +8503,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/shapes/shapes_basic_shapes.png b/docs/examples/web/shapes/shapes_basic_shapes.png new file mode 100644 index 00000000..a7d4a991 Binary files /dev/null and b/docs/examples/web/shapes/shapes_basic_shapes.png differ diff --git a/docs/examples/web/shapes/shapes_colors_palette.js b/docs/examples/web/shapes/shapes_colors_palette.js index f9a4dc75..2b37b27d 100644 --- a/docs/examples/web/shapes/shapes_colors_palette.js +++ b/docs/examples/web/shapes/shapes_colors_palette.js @@ -7618,6 +7618,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7717,13 +7767,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8674,45 +8717,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/shapes/shapes_colors_palette.png b/docs/examples/web/shapes/shapes_colors_palette.png new file mode 100644 index 00000000..dd3cf4a5 Binary files /dev/null and b/docs/examples/web/shapes/shapes_colors_palette.png differ diff --git a/docs/examples/web/shapes/shapes_lines_bezier.c b/docs/examples/web/shapes/shapes_lines_bezier.c new file mode 100644 index 00000000..6aab2cac --- /dev/null +++ b/docs/examples/web/shapes/shapes_lines_bezier.c @@ -0,0 +1,88 @@ +/******************************************************************************************* +* +* raylib [shapes] example - Cubic-bezier lines +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +Vector2 start = { 0, 0 }; +Vector2 end = { 0, 0 }; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + SetConfigFlags(FLAG_MSAA_4X_HINT); + InitWindow(screenWidth, screenHeight, "raylib [shapes] example - cubic-bezier lines"); + + end = (Vector2){ screenWidth, screenHeight }; + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsMouseButtonDown(MOUSE_LEFT_BUTTON)) start = GetMousePosition(); + else if (IsMouseButtonDown(MOUSE_RIGHT_BUTTON)) end = GetMousePosition(); + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("USE MOUSE LEFT-RIGHT CLICK to DEFINE LINE START and END POINTS", 15, 20, 20, GRAY); + + DrawLineBezier(start, end, 2.0f, RED); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} diff --git a/docs/examples/web/shapes/shapes_lines_bezier.js b/docs/examples/web/shapes/shapes_lines_bezier.js new file mode 100644 index 00000000..a412097d --- /dev/null +++ b/docs/examples/web/shapes/shapes_lines_bezier.js @@ -0,0 +1,24332 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +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; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 19136; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,187,70,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,114,97,121,108,105,98,32,91,115,104,97,112,101,115,93,32,101,120,97,109,112,108,101,32,45,32,99,117,98,105,99,45,98,101,122,105,101,114,32,108,105,110,101,115,0,85,83,69,32,77,79,85,83,69,32,76,69,70,84,45,82,73,71,72,84,32,67,76,73,67,75,32,116,111,32,68,69,70,73,78,69,32,76,73,78,69,32,83,84,65,82,84,32,97,110,100,32,69,78,68,32,80,79,73,78,84,83,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + 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 ___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 _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _glfwGetMouseButton(winid, button) { + return GLFW.getMouseButton(winid, button); + } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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.buffer) { + ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { 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); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_glfwGetMouseButton": _glfwGetMouseButton, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _glfwGetMouseButton=env._glfwGetMouseButton; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _SetConfigFlags(32); + $0 = HEAP32[2]|0; + $1 = HEAP32[3]|0; + _InitWindow($0,$1,3356); + $2 = HEAP32[2]|0; + $3 = (+($2|0)); + $4 = HEAP32[3]|0; + $5 = (+($4|0)); + HEAPF32[3490] = $3; + HEAPF32[(13964)>>2] = $5; + _emscripten_set_main_loop((1|0),0,1); + _CloseWindow(); + return 0; +} +function _UpdateDrawFrame() { + var $$byval_copy2 = 0, $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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $end$byval_copy = 0; + var $start$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 44|0; + $end$byval_copy = sp + 24|0; + $start$byval_copy = sp + 16|0; + $0 = sp + 8|0; + $1 = sp; + $2 = sp + 40|0; + $3 = sp + 36|0; + $4 = sp + 32|0; + $5 = (_IsMouseButtonDown(0)|0); + $6 = ($5|0)==(0); + if ($6) { + $17 = (_IsMouseButtonDown(1)|0); + $18 = ($17|0)==(0); + if (!($18)) { + _GetMousePosition($1); + $19 = $1; + $20 = $19; + $21 = HEAP32[$20>>2]|0; + $22 = (($19) + 4)|0; + $23 = $22; + $24 = HEAP32[$23>>2]|0; + $25 = 13960; + $26 = $25; + HEAP32[$26>>2] = $21; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $24; + } + } else { + _GetMousePosition($0); + $7 = $0; + $8 = $7; + $9 = HEAP32[$8>>2]|0; + $10 = (($7) + 4)|0; + $11 = $10; + $12 = HEAP32[$11>>2]|0; + $13 = 13952; + $14 = $13; + HEAP32[$14>>2] = $9; + $15 = (($13) + 4)|0; + $16 = $15; + HEAP32[$16>>2] = $12; + } + _BeginDrawing(); + HEAP8[$2>>0] = -11; + $29 = ((($2)) + 1|0); + HEAP8[$29>>0] = -11; + $30 = ((($2)) + 2|0); + HEAP8[$30>>0] = -11; + $31 = ((($2)) + 3|0); + HEAP8[$31>>0] = -1; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; + _ClearBackground($$byval_copy2); + HEAP8[$3>>0] = -126; + $32 = ((($3)) + 1|0); + HEAP8[$32>>0] = -126; + $33 = ((($3)) + 2|0); + HEAP8[$33>>0] = -126; + $34 = ((($3)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(3401,15,20,20,$$byval_copy2); + HEAP8[$4>>0] = -26; + $35 = ((($4)) + 1|0); + HEAP8[$35>>0] = 41; + $36 = ((($4)) + 2|0); + HEAP8[$36>>0] = 55; + $37 = ((($4)) + 3|0); + HEAP8[$37>>0] = -1; + ;HEAP32[$start$byval_copy>>2]=HEAP32[13952>>2]|0;HEAP32[$start$byval_copy+4>>2]=HEAP32[13952+4>>2]|0; + ;HEAP32[$end$byval_copy>>2]=HEAP32[13960>>2]|0;HEAP32[$end$byval_copy+4>>2]=HEAP32[13960+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawLineBezier($start$byval_copy,$end$byval_copy,2.0,$$byval_copy2); + _EndDrawing(); + STACKTOP = sp;return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[3493] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13680; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13720; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3430]; + $111 = +HEAPF32[3420]; + $112 = $110 - $111; + HEAPF32[3432] = $112; + $113 = +HEAPF32[(13724)>>2]; + $114 = +HEAPF32[(13684)>>2]; + $115 = $113 - $114; + HEAPF32[(13732)>>2] = $115; + HEAP32[3492] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[3498] = $116; + $117 = 13712; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13680; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13736; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13720; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13712; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13736; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3434]; + $160 = +HEAPF32[3428]; + $161 = $159 - $160; + HEAPF32[3432] = $161; + $162 = +HEAPF32[(13740)>>2]; + $163 = +HEAPF32[(13716)>>2]; + $164 = $162 - $163; + HEAPF32[(13732)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13712+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13720>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13720+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[3498]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[3492] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13712+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13736>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13736+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[3499] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[3498] = 0.0; + HEAPF32[3499] = 0.0; + HEAPF32[3432] = 0.0; + HEAPF32[(13732)>>2] = 0.0; + HEAP32[3493] = 0; + HEAP32[3492] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[3494]|0; + $7 = (($6) + 1)|0; + HEAP32[3494] = $7; + $8 = HEAP32[3492]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[3492] = 2; + HEAP32[3494] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[3494] = 1; + HEAP32[3492] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13680; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13688; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13696; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[4] = $34; + HEAPF32[3426] = 0.0; + HEAPF32[(13708)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[3492]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13696; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13696>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13696+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[3495] = $49; + HEAP32[3496] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[4]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13696>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13696+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[3497] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[3495] = 0.0; + HEAPF32[3497] = 0.0; + $$sink10 = 0; + } + HEAP32[3492] = $$sink10; + HEAPF32[3422] = 0.0; + HEAPF32[(13692)>>2] = 0.0; + HEAP32[3493] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[3496]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[3496] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13712; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[3492]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13680>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13680+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13712>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13712+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[3492] = 8; + } + } + $82 = +HEAPF32[3428]; + $83 = +HEAPF32[3422]; + $84 = $82 - $83; + HEAPF32[3426] = $84; + $85 = +HEAPF32[(13716)>>2]; + $86 = +HEAPF32[(13692)>>2]; + $87 = $85 - $86; + HEAPF32[(13708)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3492]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[3493]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[3492] = 4; + } + $4 = HEAP32[3492]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[3492] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 13744; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _IsMouseButtonDown($0) { + $0 = $0|0; + var $$ = 0, $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_GetMouseButtonStatus($0)|0); + $2 = ($1|0)==(1); + $$ = $2&1; + return ($$|0); +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3502]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3501]|0; + return ($0|0); +} +function _GetMouseButtonStatus($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3500]|0; + $2 = (_glfwGetMouseButton(($1|0),($0|0))|0); + return ($2|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,3464,$vararg_buffer); + HEAP32[3504] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); + (_emscripten_set_keypress_callback((3493|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((3493|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((3493|0),(0|0),1,(6|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); + $3 = HEAP32[3502]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3436] = $5; + $6 = HEAP32[3501]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13748)>>2] = $8; + $9 = HEAP32[3505]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13784>>0]=HEAP8[8022>>0]|0;HEAP8[13784+1>>0]=HEAP8[8022+1>>0]|0;HEAP8[13784+2>>0]=HEAP8[8022+2>>0]|0;HEAP8[13784+3>>0]=HEAP8[8022+3>>0]|0;HEAP8[13784+4>>0]=HEAP8[8022+4>>0]|0;HEAP8[13784+5>>0]=HEAP8[8022+5>>0]|0;HEAP8[13784+6>>0]=HEAP8[8022+6>>0]|0; + break; + } + case 1: { + $3 = 13784; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13784; src=8029; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13784; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13784,$1)|0); + $strlen = (_strlen(13784)|0); + $endptr = (13784 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13784,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[3502] = $0; + HEAP32[3501] = $1; + _MatrixIdentity($2); + dest=14096; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4164,$vararg_buffer); + } + $6 = HEAP32[3502]|0; + HEAP32[3540] = $6; + $7 = HEAP32[3501]|0; + HEAP32[3541] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[16812]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[16812]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[16812]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4190,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[3542]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[3502]|0; + $48 = HEAP32[3501]|0; + $49 = HEAP32[3504]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[3500] = $50; + $51 = HEAP32[3502]|0; + HEAP32[3543] = $51; + $52 = HEAP32[3501]|0; + HEAP32[3544] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[3502]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[3501]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[3540] = $31; + HEAP32[3541] = $34; + } + } while(0); + $38 = HEAP32[3540]|0; + $39 = HEAP32[3541]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4215,$vararg_buffer3); + $40 = HEAP32[3540]|0; + $41 = HEAP32[3541]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[3540]|0; + $43 = HEAP32[3541]|0; + $44 = HEAP32[3504]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[3500] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4253,$vararg_buffer6); + } else { + _TraceLog(0,4286,$vararg_buffer8); + $55 = HEAP32[3543]|0; + $56 = HEAP32[3544]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4326,$vararg_buffer10); + $57 = HEAP32[3502]|0; + $58 = HEAP32[3501]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4347,$vararg_buffer14); + $59 = HEAP32[3545]|0; + $60 = HEAP32[3546]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4368,$vararg_buffer18); + } + $61 = HEAP32[3500]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[3500]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[3500]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[3500]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[3500]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[3500]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[3500]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[3500]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[3500]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[16812]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[3502]|0; + $74 = HEAP32[3501]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3543]|0; + $76 = HEAP32[3545]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3544]|0; + $80 = HEAP32[3546]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4393,$vararg_buffer22); + $73 = HEAP32[3502]|0; + $74 = HEAP32[3501]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3543]|0; + $76 = HEAP32[3545]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3544]|0; + $80 = HEAP32[3546]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(14064)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (20 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[14040>>2]=HEAP32[$1>>2]|0;HEAP32[14040+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14040+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14040+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14040+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(14064)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(14068)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14060)>>2] = $23; + $24 = HEAP32[3510]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3688,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(14044)>>2]|0; + $10 = HEAP32[(14064)>>2]|0; + $11 = HEAP32[(14068)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2068 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14060)>>2] = $23; + $24 = HEAP32[3510]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3688,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1722] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3621,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3552,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3545)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13760; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13768); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (14024 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1719] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3501,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3505] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4064,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[3518]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3733,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[3519]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3777,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[3520]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3822,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[3521]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,3867,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[3522]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,3912,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[3518]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[3518]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[3518]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[3518]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[3519]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[3520]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[3520]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[3521]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[3521]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[3522]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[3522]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,3957,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[3523]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4035,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,3986,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4118,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,7984,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[3502]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[3501]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[3543] = $3; + HEAP32[3544] = $5; + HEAP32[3545] = 0; + HEAP32[3546] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,7918,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[3502]|0; + $36 = (+($35|0)); + $37 = HEAP32[3501]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[3543] = $45; + HEAP32[3544] = $37; + $46 = (($45) - ($35))|0; + HEAP32[3545] = $46; + $$sink1 = 0; + } else { + HEAP32[3543] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[3544] = $42; + HEAP32[3545] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[3546] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[3501]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7775,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[3502]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[3501]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[3543] = $23; + HEAP32[3544] = $1; + $24 = (($0) - ($23))|0; + HEAP32[3545] = $24; + $$sink = 0; + } else { + HEAP32[3543] = $0; + $17 = HEAP32[3501]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[3544] = $20; + HEAP32[3545] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[3546] = $$sink; + $25 = HEAP32[3543]|0; + $26 = (+($25|0)); + $27 = HEAP32[3502]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=14096; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3543] = $0; + HEAP32[3544] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7853,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[3502] = $1; + HEAP32[3501] = $2; + HEAP32[3543] = $1; + HEAP32[3544] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[742]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (16819 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[741] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (16813 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13760; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[741] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[3916] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[3915] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4416,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4434,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4452,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4470,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4488)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4490,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4525)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[3581] = 1; + $27 = (_eglGetProcAddress((4552|0))|0); + HEAP32[3582] = $27; + $28 = (_eglGetProcAddress((4573|0))|0); + HEAP32[3583] = $28; + $29 = (_eglGetProcAddress((4594|0))|0); + HEAP32[3584] = $29; + } + $30 = (_strcmp($24,4618)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[3523] = 1; + } + $32 = (_strcmp($24,4638)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4670)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4703)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[3518] = 1; + } + $39 = (_strcmp($24,4743)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4779)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[3519] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4812)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[3520] = 1; + } + $47 = (_strcmp($44,4837)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[3521] = 1; + } + $49 = (_strcmp($44,4870)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[3522] = 1; + } + $51 = (_strcmp($44,4906)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[3585] = 1; + _glGetFloatv(34047,(14344|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,4940)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[3587] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[3581]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5043,$vararg_buffer15); + } else { + _TraceLog(0,4968,$vararg_buffer13); + } + $57 = HEAP32[3523]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5179,$vararg_buffer19); + } else { + _TraceLog(0,5104,$vararg_buffer17); + } + $59 = HEAP32[3518]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5271,$vararg_buffer21); + } + $61 = HEAP32[3519]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5317,$vararg_buffer23); + } + $63 = HEAP32[3520]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5364,$vararg_buffer25); + } + $65 = HEAP32[3521]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5415,$vararg_buffer27); + } + $67 = HEAP32[3522]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5462,$vararg_buffer29); + } + $69 = HEAP32[3585]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[3586]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5509,$vararg_buffer31); + } + $73 = HEAP32[3587]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5575,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[3588] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5679,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5628,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=14356; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14412; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[3617] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[3617]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[3618] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[3619] = 1; + $85 = HEAP32[3588]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[3620] = 4; + _MatrixIdentity($4); + dest=14484; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14548); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14612); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14676); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14740); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14804); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14868); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14932); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14996); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15060); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15124); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15188); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15252); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15316); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15380); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15444); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=14192; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=14256; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3547] = 14256; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[3877] = $0; + HEAP32[3878] = $1; + _TraceLog(0,5718,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3545]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[3546]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[3543]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[3544]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 14192; + label = 3; + break; + } + case 5888: { + $modelview$sink = 14256; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[3547] = $modelview$sink; + } + HEAP32[3580] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[3547]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[3547]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6294|0),489)|0; + _memcpy(($3|0),(6783|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7272,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7224,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(15528)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(15536)>>2] = $1; + HEAP32[(15532)>>2] = 0; + HEAP32[(15540)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(15536)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[3879] = 0; + HEAP32[(15524)>>2] = 0; + HEAP32[(15520)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(15576)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(15584)>>2] = $6; + HEAP32[(15580)>>2] = 0; + HEAP32[(15588)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(15584)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[3891] = 0; + HEAP32[(15572)>>2] = 0; + HEAP32[(15568)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(15624)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(15628)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(15632)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(15636)>>2] = $13; + $14 = HEAP32[(15624)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(15628)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(15632)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(15636)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[3903] = 0; + HEAP32[(15616)>>2] = 0; + HEAP32[(15620)>>2] = 0; + _TraceLog(0,5765,$vararg_buffer); + $20 = HEAP32[3581]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[3582]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(15544)); + $44 = HEAP32[3583]|0; + $45 = HEAP32[(15544)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((15548)|0)); + $46 = HEAP32[(15548)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(15528)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((15552)|0)); + $50 = HEAP32[(15552)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(15536)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[3581]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(15548)>>2]|0; + $58 = HEAP32[(15552)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,5903,$vararg_buffer3); + } else { + $56 = HEAP32[(15544)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5838,$vararg_buffer1); + } + $59 = HEAP32[3581]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[3582]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(15592)); + $62 = HEAP32[3583]|0; + $63 = HEAP32[(15592)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((15596)|0)); + $64 = HEAP32[(15596)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(15576)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15600)|0)); + $68 = HEAP32[(15600)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(15584)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[3581]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(15596)>>2]|0; + $76 = HEAP32[(15600)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6049,$vararg_buffer10); + } else { + $74 = HEAP32[(15592)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,5980,$vararg_buffer7); + } + $77 = HEAP32[3581]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[3582]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(15640)); + $80 = HEAP32[3583]|0; + $81 = HEAP32[(15640)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((15644)|0)); + $82 = HEAP32[(15644)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(15624)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15648)|0)); + $86 = HEAP32[(15648)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(15628)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(14420)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(14420)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((15652)|0)); + $90 = HEAP32[(15652)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(15632)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((15656)|0)); + $94 = HEAP32[(15656)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(15636)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[3581]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(15644)>>2]|0; + $100 = HEAP32[(15648)>>2]|0; + $101 = HEAP32[(15652)>>2]|0; + $102 = HEAP32[(15656)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6195,$vararg_buffer17); + } else { + $98 = HEAP32[(15640)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6130,$vararg_buffer14); + } + $103 = HEAP32[3581]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7528,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7476,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7525,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7629,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7578,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7525,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7320|0)); + _glBindAttribLocation(($20|0),1,(7335|0)); + _glBindAttribLocation(($20|0),2,(7366|0)); + _glBindAttribLocation(($20|0),3,(7393|0)); + _glBindAttribLocation(($20|0),4,(7379|0)); + _glBindAttribLocation(($20|0),5,(7350|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7681,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7525,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7727,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7320|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7335|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7350|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7366|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7379|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7393|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7405|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7415|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7426|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7437|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7449|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7458|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7467|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16813 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16816 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16813 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16816 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[3500]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8039,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[14040>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14040+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14040+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14040+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14040+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(14068)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(14352|0)); + $0 = HEAP32[3588]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8066,$vararg_buffer); + $1 = HEAP32[3618]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[3589]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[3581]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((15548)|0)); + _glDeleteBuffers(1,((15552)|0)); + _glDeleteBuffers(1,((15596)|0)); + _glDeleteBuffers(1,((15600)|0)); + _glDeleteBuffers(1,((15644)|0)); + _glDeleteBuffers(1,((15648)|0)); + _glDeleteBuffers(1,((15652)|0)); + _glDeleteBuffers(1,((15656)|0)); + $3 = HEAP32[3581]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3584]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(15544)); + $6 = HEAP32[3584]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(15592)); + $7 = HEAP32[3584]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(15640)); + } + $8 = HEAP32[(15528)>>2]|0; + _free($8); + $9 = HEAP32[(15536)>>2]|0; + _free($9); + $10 = HEAP32[(15576)>>2]|0; + _free($10); + $11 = HEAP32[(15584)>>2]|0; + _free($11); + $12 = HEAP32[(15624)>>2]|0; + _free($12); + $13 = HEAP32[(15628)>>2]|0; + _free($13); + $14 = HEAP32[(15632)>>2]|0; + _free($14); + $15 = HEAP32[(15636)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8131,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1739] = $0; + $1 = +HEAPF64[1722]; + $2 = $0 - $1; + HEAPF64[1740] = $2; + HEAPF64[1722] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=14096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(15668); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[3917] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(15672)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(15676)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(15680)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(15684)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(15688)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(15692)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(15696)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(15700)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(15704)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(15708)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(15712)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(15716)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(15720)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(15724)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(15728)>>2] = $31; + return (15668|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[3547]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1739] = $0; + $1 = +HEAPF64[1722]; + $2 = $0 - $1; + HEAPF64[1741] = $2; + HEAPF64[1722] = $0; + $3 = +HEAPF64[1740]; + $4 = $2 + $3; + HEAPF64[1742] = $4; + $5 = +HEAPF64[1719]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1739] = $10; + $11 = +HEAPF64[1722]; + $12 = $10 - $11; + HEAPF64[1722] = $10; + $13 = +HEAPF64[1742]; + $14 = $12 + $13; + HEAPF64[1742] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3500]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[741] = -1; + HEAP32[743] = -1; + HEAP32[3933] = 0; + $3 = HEAP32[3500]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3436] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13748)>>2] = $7; + _memcpy((17331|0),(16819|0),512)|0; + ;HEAP8[16816>>0]=HEAP8[16813>>0]|0;HEAP8[16816+1>>0]=HEAP8[16813+1>>0]|0;HEAP8[16816+2>>0]=HEAP8[16813+2>>0]|0; + $8 = HEAP32[3916]|0; + HEAP32[3503] = $8; + HEAP32[3916] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (17843 + ($$05160<<5)|0); + $scevgep67 = (17971 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((17971 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[743] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((15736 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[3933] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3879]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[3581]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[3583]|0; + $5 = HEAP32[(15544)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(15548)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[3879]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(15528)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(15552)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(15524)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(15536)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[3891]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[3581]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[3583]|0; + $19 = HEAP32[(15592)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(15596)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[3891]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(15576)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(15600)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(15572)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(15584)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[3903]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[3581]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[3583]|0; + $33 = HEAP32[(15640)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(15644)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[3903]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(15624)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(15648)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[3903]|0; + $40 = $39 << 3; + $41 = HEAP32[(15628)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(15652)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[3903]|0; + $44 = $43 << 2; + $45 = HEAP32[(15632)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[3581]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=14192; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=14256; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[3966]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[3879]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[3891]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[3903]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[3603]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=14256; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=14192; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(14440)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(14444)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(14456)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[3879]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[3588]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[3581]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(15548)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(15552)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[3583]|0; + $25 = HEAP32[(15544)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[3879]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[3581]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[3891]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[3588]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[3581]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(15596)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(15600)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[3583]|0; + $41 = HEAP32[(15592)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[3891]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[3581]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[3903]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[3581]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(15644)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(14416)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(14416)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(15648)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(14420)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(14420)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(15652)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(14436)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(14436)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(15656)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[3583]|0; + $56 = HEAP32[(15640)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[3619]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[3618]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[3618]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[3619]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[3581]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[3581]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[3583]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[3619] = 1; + $5 = HEAP32[3588]|0; + $6 = HEAP32[3618]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[3879] = 0; + HEAP32[(15524)>>2] = 0; + HEAP32[3891] = 0; + HEAP32[(15572)>>2] = 0; + HEAP32[3903] = 0; + HEAP32[(15616)>>2] = 0; + HEAP32[(15620)>>2] = 0; + HEAPF32[744] = -1.0; + dest=14192; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14256; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[3877]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[3878]|0; + _rlViewport($7,0,$8,$9); + $10 = (16096 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (15968 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14256; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14192; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[4056]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8181,$vararg_buffer); + } + $2 = HEAP32[4056]|0; + $3 = (14484 + ($2<<6)|0); + $4 = HEAP32[3547]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[4056]|0; + $6 = (($5) + 1)|0; + HEAP32[4056] = $6; + $7 = HEAP32[3580]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[4057] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4056]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[4056]|0; + $3 = (($2) + -1)|0; + $4 = (14484 + ($3<<6)|0); + $5 = HEAP32[3547]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[4056] = $6; + return; +} +function _SetConfigFlags($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP8[16812] = $0; + $1 = $0 & 1; + $2 = ($1<<24>>24)==(0); + if (!($2)) { + HEAP32[3505] = 1; + } + $3 = HEAP8[16812]|0; + $4 = $3 & 2; + $5 = ($4<<24>>24)==(0); + if ($5) { + return; + } + HEAP32[3542] = 1; + return; +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[3547]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[3547]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3620] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[4057]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[4058]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[3617]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[3547]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[4058]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[4057] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[3617]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[4058]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[4057] = 0; + } + HEAP32[4058] = 0; + } + $21 = HEAP32[3620]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[3879]|0; + $23 = HEAP32[(15524)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(15536)>>2]|0; + $28 = HEAP32[(15524)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(15536)>>2]|0; + $35 = HEAP32[(15524)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(15536)>>2]|0; + $43 = HEAP32[(15524)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(15536)>>2]|0; + $51 = HEAP32[(15524)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(15524)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(15524)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[3891]|0; + $62 = HEAP32[(15572)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(15584)>>2]|0; + $67 = HEAP32[(15572)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(15584)>>2]|0; + $74 = HEAP32[(15572)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(15584)>>2]|0; + $82 = HEAP32[(15572)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(15584)>>2]|0; + $90 = HEAP32[(15572)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(15572)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(15572)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[3903]|0; + $101 = HEAP32[(15620)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(15632)>>2]|0; + $106 = HEAP32[(15620)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(15632)>>2]|0; + $113 = HEAP32[(15620)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(15632)>>2]|0; + $121 = HEAP32[(15620)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(15632)>>2]|0; + $129 = HEAP32[(15620)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(15620)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(15620)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[3903]|0; + $140 = HEAP32[(15616)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(15628)>>2]|0; + $$promoted = HEAP32[(15616)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(15616)>>2] = $147; + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[4057]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3617]|0; + $6 = HEAP32[4058]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[4058] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[3620]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[3879]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(15528)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[3879] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8219,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[3891]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(15576)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[3891] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8244,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[3903]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(15624)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[3903] = $41; + $42 = HEAP32[3618]|0; + $43 = HEAP32[3619]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8273,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[744]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[3620]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(15628)>>2]|0; + $5 = HEAP32[(15616)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(15616)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[3620]|0; + switch ($4|0) { + case 1: { + $$sink37 = (15524);$$sink38 = (15536); + break; + } + case 4: { + $$sink37 = (15572);$$sink38 = (15584); + break; + } + case 7: { + $$sink37 = (15620);$$sink38 = (15632); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[3618]|0; + $2 = HEAP32[3619]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[3619] = $10; + } + $11 = HEAP32[3619]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3903]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3588]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawLineEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + var $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.0, $29 = 0.0; + var $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0; + var $49 = 0, $5 = 0.0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $4 = sp; + $5 = +HEAPF32[$0>>2]; + $6 = +HEAPF32[$1>>2]; + $7 = $5 > $6; + if ($7) { + $8 = $0; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $11 = (($8) + 4)|0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = $1; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (($14) + 4)|0; + $18 = $17; + $19 = HEAP32[$18>>2]|0; + $20 = $0; + $21 = $20; + HEAP32[$21>>2] = $16; + $22 = (($20) + 4)|0; + $23 = $22; + HEAP32[$23>>2] = $19; + $24 = $1; + $25 = $24; + HEAP32[$25>>2] = $10; + $26 = (($24) + 4)|0; + $27 = $26; + HEAP32[$27>>2] = $13; + } + $28 = +HEAPF32[$1>>2]; + $29 = +HEAPF32[$0>>2]; + $30 = $28 - $29; + $31 = ((($1)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($0)) + 4|0); + $34 = +HEAPF32[$33>>2]; + $35 = $32 - $34; + $36 = $30 * $30; + $37 = $35 * $35; + $38 = $36 + $37; + $39 = (+Math_sqrt((+$38))); + $40 = $35 / $39; + $41 = (+Math_asin((+$40))); + _GetDefaultTexture($4); + $42 = HEAP32[$4>>2]|0; + _rlEnableTexture($42); + _rlPushMatrix(); + $43 = +HEAPF32[$0>>2]; + $44 = +HEAPF32[$33>>2]; + _rlTranslatef($43,$44,0.0); + $45 = $41 * -57.2957763671875; + _rlRotatef($45,0.0,0.0,1.0); + $46 = $2 * -0.5; + _rlTranslatef(0.0,$46,0.0); + _rlBegin(7); + $47 = HEAP8[$3>>0]|0; + $48 = ((($3)) + 1|0); + $49 = HEAP8[$48>>0]|0; + $50 = ((($3)) + 2|0); + $51 = HEAP8[$50>>0]|0; + $52 = ((($3)) + 3|0); + $53 = HEAP8[$52>>0]|0; + _rlColor4ub($47,$49,$51,$53); + _rlVertex2f(0.0,0.0); + _rlVertex2f(0.0,$2); + _rlVertex2f($39,$2); + _rlVertex2f($39,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawLineBezier($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + var $$05 = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0.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, $8 = 0, $9 = 0, $exitcond = 0; + var $tmpcast$byval_copy = 0, $tmpcast4$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 32|0; + $tmpcast4$byval_copy = sp + 24|0; + $tmpcast$byval_copy = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $0; + $7 = $6; + $8 = HEAP32[$7>>2]|0; + $9 = (($6) + 4)|0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = $4; + $13 = $12; + HEAP32[$13>>2] = $8; + $14 = (($12) + 4)|0; + $15 = $14; + HEAP32[$15>>2] = $11; + $16 = ((($0)) + 4|0); + $17 = ((($1)) + 4|0); + $18 = ((($5)) + 4|0); + $19 = +HEAPF32[$1>>2]; + $20 = +HEAPF32[$0>>2]; + $21 = $19 - $20; + $22 = $21 / 24.0; + $$05 = 1; + while(1) { + $23 = (+($$05|0)); + $24 = +HEAPF32[$16>>2]; + $25 = +HEAPF32[$17>>2]; + $26 = $25 - $24; + $27 = (+_EaseCubicInOut($23,$24,$26)); + HEAPF32[$18>>2] = $27; + $28 = +HEAPF32[$4>>2]; + $29 = $28 + $22; + HEAPF32[$5>>2] = $29; + ;HEAP32[$tmpcast$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$tmpcast$byval_copy+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP32[$tmpcast4$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$tmpcast4$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _DrawLineEx($tmpcast$byval_copy,$tmpcast4$byval_copy,$2,$$byval_copy); + $30 = $5; + $31 = $30; + $32 = HEAP32[$31>>2]|0; + $33 = (($30) + 4)|0; + $34 = $33; + $35 = HEAP32[$34>>2]|0; + $36 = $4; + $37 = $36; + HEAP32[$37>>2] = $32; + $38 = (($36) + 4)|0; + $39 = $38; + HEAP32[$39>>2] = $35; + $40 = (($$05) + 1)|0; + $exitcond = ($40|0)==(25); + if ($exitcond) { + break; + } else { + $$05 = $40; + } + } + STACKTOP = sp;return; +} +function _EaseCubicInOut($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$0 = 0.0, $$pn = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0 / 12.0; + $4 = $3 < 1.0; + $5 = $2 * 0.5; + if ($4) { + $6 = $3 * $5; + $7 = $3 * $6; + $8 = $3 * $7; + $$pn = $8; + $$0 = $$pn + $1; + return (+$$0); + } else { + $9 = $3 + -2.0; + $10 = $9 * $9; + $11 = $9 * $10; + $12 = $11 + 2.0; + $13 = $5 * $12; + $$pn = $13; + $$0 = $$pn + $1; + return (+$$0); + } + return +(0.0); +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[14040>>2]|0;HEAP32[$0+4>>2]=HEAP32[14040+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14040+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14040+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14040+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14040+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14040+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14040+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8298)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8302)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8306)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8310)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8316)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8354)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8373; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8386)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8407; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8422)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8437; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8452)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8467; + } + } else { + HEAP32[$3>>2] = 8338; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8482)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8496)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 2; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8508)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8522)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8534)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8548)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8562)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8579)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8602)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8628)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8641)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8657)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8670)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8684)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8704)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8724)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8741)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8758)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 3; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8770)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8783)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8799)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8822)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8835)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8851)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 4; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8862)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,8881)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,8903)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,8922)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,8951)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 5; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,8968)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,8983)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,8998)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9019)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9039)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9059)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9085)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9104)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9116)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9128)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9140)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9152)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9164)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9176)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9188)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9200)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9213)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9226)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9239)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9252)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9265)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9278)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9291)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9304)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9323)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9342)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9361)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9374)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9392)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9410)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9428)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9446)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9466)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8407)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 6; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9484)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9499)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9520)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9535)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9553)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9569)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9588)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9602)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9617)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 7; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8338)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9628)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8437)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8467)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9644)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9671)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9685)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8373)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9705)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9723)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 8; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9735)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9756)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9774)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9792)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9813)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9839)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9862)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,9900)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 9; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,9916)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,9931)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,9954)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,9967)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,9981)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,9995)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10015)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10035)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10051)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10069)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10085)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10100)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10122)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10140)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10161)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10179)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10192)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10207)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10221)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10231)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10241)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10263)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10289)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10316)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10329)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10344)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10359)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10383)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10394)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10416)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10438)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10462)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10471)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10479)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10492)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10506)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10518)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10527)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10537)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10549)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10560)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10568)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10580)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10595)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10607)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10621)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 10; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10646)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10663)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10679)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10695)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 11; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10707)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10719)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10743)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10756)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10770)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10792)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10799)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10815)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10832)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10849)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10865)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,10881)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,10898)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,10912)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,10924)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,10935)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,10948)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,10958)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,10975)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,10987)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11009)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11029)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11042)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11064)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11084)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11101)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11118)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11138)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (16236|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (2980|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|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] = 8; + $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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11254 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11718;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11718;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11718 : (11720); + $$$ = $238 ? $$ : (11719); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11718;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11718;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11728; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11718;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11718 + ($208)|0); + $$289 = $or$cond283 ? 11718 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11718;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (11770 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11735; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11736) : (11741); + $$$ = $16 ? $$ : (11738); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11770 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11786,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11786,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11754 : 11758; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11762 : 11766; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (11788 + ($$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 = 11876;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11876; + } else { + $$01214 = 11876;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((16300|0)); + return (16308|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((16300|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 13944; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[4078]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[4078] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[4078] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[4078] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[4078] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[4079]|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 = (16356 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[4079] = $24; + } else { + $25 = HEAP32[(16332)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(16324)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (16356 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[4079] = $77; + $98 = $77; + } else { + $78 = HEAP32[(16332)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(16336)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (16356 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[4079] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(16332)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(16324)>>2] = $84; + HEAP32[(16336)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(16320)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (16620 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(16332)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (16620 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(16320)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(16332)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(16332)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(16332)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(16336)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (16356 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[4079] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(16332)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(16324)>>2] = $$0193$lcssa$i; + HEAP32[(16336)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(16320)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (16620 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (16620 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(16324)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(16332)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (16620 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(16320)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(16332)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(16332)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(16332)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (16356 + ($425<<2)|0); + $427 = HEAP32[4079]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[4079] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(16332)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (16620 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(16320)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(16332)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(16332)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(16324)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(16336)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(16336)>>2] = $511; + HEAP32[(16324)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(16324)>>2] = 0; + HEAP32[(16336)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(16328)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(16328)>>2] = $526; + $527 = HEAP32[(16340)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(16340)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[4197]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(16796)>>2] = 4096; + HEAP32[(16792)>>2] = 4096; + HEAP32[(16800)>>2] = -1; + HEAP32[(16804)>>2] = -1; + HEAP32[(16808)>>2] = 0; + HEAP32[(16760)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[4197] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(16796)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(16756)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(16748)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(16760)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(16340)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (16764); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(16792)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(16748)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(16756)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(16796)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(16760)>>2]|0; + $612 = $611 | 4; + HEAP32[(16760)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(16748)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(16748)>>2] = $627; + $628 = HEAP32[(16752)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(16752)>>2] = $627; + } + $630 = HEAP32[(16340)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(16332)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(16332)>>2] = $$749$i; + } + HEAP32[(16764)>>2] = $$749$i; + HEAP32[(16768)>>2] = $$723948$i; + HEAP32[(16776)>>2] = 0; + $635 = HEAP32[4197]|0; + HEAP32[(16352)>>2] = $635; + HEAP32[(16348)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (16356 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(16340)>>2] = $649; + HEAP32[(16328)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(16804)>>2]|0; + HEAP32[(16344)>>2] = $655; + } else { + $$024371$i = (16764); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(16328)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(16340)>>2] = $679; + HEAP32[(16328)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(16804)>>2]|0; + HEAP32[(16344)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(16332)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(16332)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (16764); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(16328)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(16328)>>2] = $727; + HEAP32[(16340)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(16336)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(16324)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(16324)>>2] = $733; + HEAP32[(16336)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (16356 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[4079]|0; + $760 = $759 & $758; + HEAP32[4079] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (16620 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(16320)>>2]|0; + $803 = $802 & $801; + HEAP32[(16320)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(16332)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(16332)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(16332)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (16356 + ($836<<2)|0); + $838 = HEAP32[4079]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[4079] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(16332)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (16620 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(16320)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(16320)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(16332)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(16332)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (16764); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(16340)>>2] = $946; + HEAP32[(16328)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(16804)>>2]|0; + HEAP32[(16344)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(16764)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16764)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16764)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16764)+12>>2]|0; + HEAP32[(16764)>>2] = $$749$i; + HEAP32[(16768)>>2] = $$723948$i; + HEAP32[(16776)>>2] = 0; + HEAP32[(16772)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (16356 + ($968<<2)|0); + $970 = HEAP32[4079]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[4079] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(16332)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (16620 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(16320)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(16320)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(16332)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(16332)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(16328)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(16328)>>2] = $1050; + $1051 = HEAP32[(16340)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(16340)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(16332)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(16336)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(16324)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (16356 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[4079]|0; + $38 = $37 & $36; + HEAP32[4079] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (16620 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(16320)>>2]|0; + $81 = $80 & $79; + HEAP32[(16320)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(16332)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(16332)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(16332)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(16340)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(16336)>>2]|0; + if ($121) { + $123 = HEAP32[(16328)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(16328)>>2] = $124; + HEAP32[(16340)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(16336)>>2] = 0; + HEAP32[(16324)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(16324)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(16324)>>2] = $130; + HEAP32[(16336)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (16356 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(16332)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[4079]|0; + $154 = $153 & $152; + HEAP32[4079] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(16332)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(16332)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(16332)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (16620 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(16320)>>2]|0; + $200 = $199 & $198; + HEAP32[(16320)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(16332)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(16332)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(16332)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(16336)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(16324)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (16356 + ($234<<2)|0); + $236 = HEAP32[4079]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[4079] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(16332)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (16620 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(16320)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(16320)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(16332)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(16332)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(16348)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(16348)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (16772); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(16348)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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__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__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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/shapes/shapes_lines_bezier.png b/docs/examples/web/shapes/shapes_lines_bezier.png new file mode 100644 index 00000000..390a49ad Binary files /dev/null and b/docs/examples/web/shapes/shapes_lines_bezier.png differ diff --git a/docs/examples/web/shapes/shapes_logo_raylib.js b/docs/examples/web/shapes/shapes_logo_raylib.js index a6dcf3f4..5cc5f506 100644 --- a/docs/examples/web/shapes/shapes_logo_raylib.js +++ b/docs/examples/web/shapes/shapes_logo_raylib.js @@ -7240,6 +7240,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7339,13 +7389,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8296,45 +8339,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/shapes/shapes_logo_raylib.png b/docs/examples/web/shapes/shapes_logo_raylib.png new file mode 100644 index 00000000..6b385f7c Binary files /dev/null and b/docs/examples/web/shapes/shapes_logo_raylib.png differ diff --git a/docs/examples/web/shapes/shapes_logo_raylib_anim.js b/docs/examples/web/shapes/shapes_logo_raylib_anim.js index d1c54900..67f056c7 100644 --- a/docs/examples/web/shapes/shapes_logo_raylib_anim.js +++ b/docs/examples/web/shapes/shapes_logo_raylib_anim.js @@ -7537,6 +7537,56 @@ function _UpdateDrawFrame() { } } } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7636,13 +7686,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8593,45 +8636,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/shapes/shapes_logo_raylib_anim.png b/docs/examples/web/shapes/shapes_logo_raylib_anim.png new file mode 100644 index 00000000..103dfc4a Binary files /dev/null and b/docs/examples/web/shapes/shapes_logo_raylib_anim.png differ diff --git a/docs/examples/web/text/resources/fonts/alagard.png b/docs/examples/web/text/resources/fonts/alagard.png new file mode 100644 index 00000000..3ac4bf1c Binary files /dev/null and b/docs/examples/web/text/resources/fonts/alagard.png differ diff --git a/docs/examples/web/text/resources/fonts/alagard.rbmf b/docs/examples/web/text/resources/fonts/alagard.rbmf deleted file mode 100644 index 8c9b68d3..00000000 Binary files a/docs/examples/web/text/resources/fonts/alagard.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/alpha_beta.png b/docs/examples/web/text/resources/fonts/alpha_beta.png new file mode 100644 index 00000000..c362bfb1 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/alpha_beta.png differ diff --git a/docs/examples/web/text/resources/fonts/alpha_beta.rbmf b/docs/examples/web/text/resources/fonts/alpha_beta.rbmf deleted file mode 100644 index bdb2e752..00000000 Binary files a/docs/examples/web/text/resources/fonts/alpha_beta.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/jupiter_crash.png b/docs/examples/web/text/resources/fonts/jupiter_crash.png new file mode 100644 index 00000000..1f5172fb Binary files /dev/null and b/docs/examples/web/text/resources/fonts/jupiter_crash.png differ diff --git a/docs/examples/web/text/resources/fonts/jupiter_crash.rbmf b/docs/examples/web/text/resources/fonts/jupiter_crash.rbmf deleted file mode 100644 index d797e0d6..00000000 Binary files a/docs/examples/web/text/resources/fonts/jupiter_crash.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/mecha.png b/docs/examples/web/text/resources/fonts/mecha.png new file mode 100644 index 00000000..8022d18c Binary files /dev/null and b/docs/examples/web/text/resources/fonts/mecha.png differ diff --git a/docs/examples/web/text/resources/fonts/mecha.rbmf b/docs/examples/web/text/resources/fonts/mecha.rbmf deleted file mode 100644 index 0266a065..00000000 Binary files a/docs/examples/web/text/resources/fonts/mecha.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/pixantiqua.fnt b/docs/examples/web/text/resources/fonts/pixantiqua.fnt deleted file mode 100644 index 971b9b0b..00000000 --- a/docs/examples/web/text/resources/fonts/pixantiqua.fnt +++ /dev/null @@ -1,188 +0,0 @@ -info face="PixAntiqua" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=2,2,2,2 spacing=2,2 outline=0 -common lineHeight=32 base=27 scaleW=512 scaleH=512 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 -page id=0 file="pixantiqua_0.png" -chars count=184 -char id=32 x=9 y=304 width=7 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=33 x=391 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=34 x=240 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=35 x=468 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=36 x=152 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=37 x=176 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=38 x=303 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=39 x=495 y=266 width=8 height=36 xoffset=-3 yoffset=-2 xadvance=5 page=0 chnl=15 -char id=40 x=256 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=199 x=432 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=200 x=126 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=201 x=147 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=202 x=288 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=203 x=189 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=204 x=468 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=205 x=486 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=206 x=0 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=207 x=72 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=208 x=329 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=209 x=277 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=210 x=182 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=211 x=26 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=41 x=272 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=42 x=288 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=43 x=414 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=44 x=378 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=45 x=414 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=46 x=443 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=47 x=392 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=48 x=485 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=49 x=450 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=50 x=21 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=51 x=42 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=59 x=456 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=60 x=168 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=61 x=309 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=62 x=336 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=63 x=315 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=64 x=364 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=65 x=390 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=66 x=120 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=67 x=144 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=68 x=168 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=69 x=294 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=52 x=488 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=53 x=63 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=54 x=24 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=55 x=48 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=56 x=72 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=57 x=96 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=58 x=404 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=70 x=252 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=71 x=192 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=72 x=78 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=78 x=78 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=79 x=355 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=80 x=264 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=81 x=381 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=82 x=288 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=83 x=312 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=91 x=144 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=92 x=108 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=93 x=304 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=94 x=34 y=0 width=32 height=36 xoffset=-3 yoffset=-2 xadvance=29 page=0 chnl=15 -char id=95 x=231 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=96 x=442 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=97 x=408 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=98 x=432 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=99 x=210 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=84 x=336 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=85 x=360 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=86 x=0 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=87 x=68 y=0 width=30 height=36 xoffset=-3 yoffset=-2 xadvance=27 page=0 chnl=15 -char id=88 x=26 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=89 x=384 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=90 x=84 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=100 x=456 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=101 x=480 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=102 x=54 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=103 x=0 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=104 x=24 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=105 x=469 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=106 x=18 y=266 width=16 height=36 xoffset=-8 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=107 x=48 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=108 x=417 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=109 x=161 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 -char id=110 x=72 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=111 x=96 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=117 x=192 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=118 x=216 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=119 x=248 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 -char id=120 x=240 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=121 x=264 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=122 x=288 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=123 x=432 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=124 x=365 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=125 x=378 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=126 x=393 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=127 x=132 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 -char id=160 x=0 y=304 width=7 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=161 x=352 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=162 x=351 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=163 x=336 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=165 x=360 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=167 x=384 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=169 x=433 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=170 x=224 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=171 x=105 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=172 x=0 y=0 width=32 height=36 xoffset=-3 yoffset=-2 xadvance=29 page=0 chnl=15 -char id=173 x=494 y=38 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=174 x=52 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=175 x=52 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=176 x=126 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=177 x=435 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=178 x=320 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=179 x=336 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=181 x=459 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=112 x=120 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=113 x=144 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=114 x=396 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=115 x=168 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=116 x=36 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=182 x=408 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=183 x=498 y=190 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=185 x=192 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=186 x=208 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=187 x=477 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=191 x=456 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=192 x=407 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=193 x=234 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=194 x=416 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=195 x=156 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=196 x=130 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=197 x=104 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=198 x=190 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 -char id=212 x=0 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=213 x=338 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=214 x=312 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=215 x=357 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=216 x=286 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=217 x=456 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=218 x=480 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=219 x=0 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=220 x=24 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=221 x=48 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=222 x=260 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=223 x=72 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=224 x=96 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=225 x=120 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=226 x=144 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=227 x=168 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=228 x=192 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=229 x=216 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=230 x=219 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 -char id=231 x=372 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=73 x=90 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 -char id=74 x=216 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=75 x=240 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=76 x=273 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=77 x=100 y=0 width=30 height=36 xoffset=-3 yoffset=-2 xadvance=27 page=0 chnl=15 -char id=232 x=312 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=233 x=240 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=234 x=264 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=235 x=104 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=236 x=430 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=237 x=482 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=238 x=160 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 -char id=239 x=176 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 -char id=240 x=128 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=241 x=200 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=242 x=224 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=243 x=248 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=244 x=272 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=245 x=296 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=246 x=320 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=247 x=330 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=248 x=208 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 -char id=249 x=344 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=250 x=368 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=251 x=416 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=252 x=440 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=253 x=464 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 -char id=254 x=0 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 -char id=255 x=0 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 diff --git a/docs/examples/web/text/resources/fonts/pixantiqua.png b/docs/examples/web/text/resources/fonts/pixantiqua.png new file mode 100644 index 00000000..ce422e7e Binary files /dev/null and b/docs/examples/web/text/resources/fonts/pixantiqua.png differ diff --git a/docs/examples/web/text/resources/fonts/pixantiqua.rbmf b/docs/examples/web/text/resources/fonts/pixantiqua.rbmf deleted file mode 100644 index 04ef0e25..00000000 Binary files a/docs/examples/web/text/resources/fonts/pixantiqua.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/pixelplay.png b/docs/examples/web/text/resources/fonts/pixelplay.png new file mode 100644 index 00000000..bf8f8818 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/pixelplay.png differ diff --git a/docs/examples/web/text/resources/fonts/pixelplay.rbmf b/docs/examples/web/text/resources/fonts/pixelplay.rbmf deleted file mode 100644 index 31d14038..00000000 Binary files a/docs/examples/web/text/resources/fonts/pixelplay.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/romulus.png b/docs/examples/web/text/resources/fonts/romulus.png new file mode 100644 index 00000000..46ccc327 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/romulus.png differ diff --git a/docs/examples/web/text/resources/fonts/romulus.rbmf b/docs/examples/web/text/resources/fonts/romulus.rbmf deleted file mode 100644 index be9da01a..00000000 Binary files a/docs/examples/web/text/resources/fonts/romulus.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/fonts/setback.png b/docs/examples/web/text/resources/fonts/setback.png new file mode 100644 index 00000000..086f3e27 Binary files /dev/null and b/docs/examples/web/text/resources/fonts/setback.png differ diff --git a/docs/examples/web/text/resources/fonts/setback.rbmf b/docs/examples/web/text/resources/fonts/setback.rbmf deleted file mode 100644 index 09572215..00000000 Binary files a/docs/examples/web/text/resources/fonts/setback.rbmf and /dev/null differ diff --git a/docs/examples/web/text/resources/pixantiqua.fnt b/docs/examples/web/text/resources/pixantiqua.fnt new file mode 100644 index 00000000..971b9b0b --- /dev/null +++ b/docs/examples/web/text/resources/pixantiqua.fnt @@ -0,0 +1,188 @@ +info face="PixAntiqua" size=32 bold=0 italic=0 charset="" unicode=1 stretchH=100 smooth=1 aa=1 padding=2,2,2,2 spacing=2,2 outline=0 +common lineHeight=32 base=27 scaleW=512 scaleH=512 pages=1 packed=0 alphaChnl=0 redChnl=4 greenChnl=4 blueChnl=4 +page id=0 file="pixantiqua_0.png" +chars count=184 +char id=32 x=9 y=304 width=7 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=33 x=391 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=34 x=240 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=35 x=468 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=36 x=152 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=37 x=176 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=38 x=303 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=39 x=495 y=266 width=8 height=36 xoffset=-3 yoffset=-2 xadvance=5 page=0 chnl=15 +char id=40 x=256 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=199 x=432 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=200 x=126 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=201 x=147 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=202 x=288 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=203 x=189 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=204 x=468 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=205 x=486 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=206 x=0 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=207 x=72 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=208 x=329 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=209 x=277 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=210 x=182 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=211 x=26 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=41 x=272 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=42 x=288 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=43 x=414 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=44 x=378 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=45 x=414 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=46 x=443 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=47 x=392 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=48 x=485 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=49 x=450 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=50 x=21 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=51 x=42 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=59 x=456 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=60 x=168 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=61 x=309 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=62 x=336 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=63 x=315 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=64 x=364 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=65 x=390 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=66 x=120 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=67 x=144 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=68 x=168 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=69 x=294 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=52 x=488 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=53 x=63 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=54 x=24 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=55 x=48 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=56 x=72 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=57 x=96 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=58 x=404 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=70 x=252 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=71 x=192 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=72 x=78 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=78 x=78 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=79 x=355 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=80 x=264 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=81 x=381 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=82 x=288 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=83 x=312 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=91 x=144 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=92 x=108 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=93 x=304 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=94 x=34 y=0 width=32 height=36 xoffset=-3 yoffset=-2 xadvance=29 page=0 chnl=15 +char id=95 x=231 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=96 x=442 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=97 x=408 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=98 x=432 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=99 x=210 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=84 x=336 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=85 x=360 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=86 x=0 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=87 x=68 y=0 width=30 height=36 xoffset=-3 yoffset=-2 xadvance=27 page=0 chnl=15 +char id=88 x=26 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=89 x=384 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=90 x=84 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=100 x=456 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=101 x=480 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=102 x=54 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=103 x=0 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=104 x=24 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=105 x=469 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=106 x=18 y=266 width=16 height=36 xoffset=-8 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=107 x=48 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=108 x=417 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=109 x=161 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 +char id=110 x=72 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=111 x=96 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=117 x=192 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=118 x=216 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=119 x=248 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 +char id=120 x=240 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=121 x=264 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=122 x=288 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=123 x=432 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=124 x=365 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=125 x=378 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=126 x=393 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=127 x=132 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 +char id=160 x=0 y=304 width=7 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=161 x=352 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=162 x=351 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=163 x=336 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=165 x=360 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=167 x=384 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=169 x=433 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=170 x=224 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=171 x=105 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=172 x=0 y=0 width=32 height=36 xoffset=-3 yoffset=-2 xadvance=29 page=0 chnl=15 +char id=173 x=494 y=38 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=174 x=52 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=175 x=52 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=176 x=126 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=177 x=435 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=178 x=320 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=179 x=336 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=181 x=459 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=112 x=120 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=113 x=144 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=114 x=396 y=228 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=115 x=168 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=116 x=36 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=182 x=408 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=183 x=498 y=190 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=185 x=192 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=186 x=208 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=187 x=477 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=191 x=456 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=192 x=407 y=0 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=193 x=234 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=194 x=416 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=195 x=156 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=196 x=130 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=197 x=104 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=198 x=190 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 +char id=212 x=0 y=76 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=213 x=338 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=214 x=312 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=215 x=357 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=216 x=286 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=217 x=456 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=218 x=480 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=219 x=0 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=220 x=24 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=221 x=48 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=222 x=260 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=223 x=72 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=224 x=96 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=225 x=120 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=226 x=144 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=227 x=168 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=228 x=192 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=229 x=216 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=230 x=219 y=0 width=27 height=36 xoffset=-3 yoffset=-2 xadvance=24 page=0 chnl=15 +char id=231 x=372 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=73 x=90 y=266 width=16 height=36 xoffset=-3 yoffset=-2 xadvance=13 page=0 chnl=15 +char id=74 x=216 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=75 x=240 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=76 x=273 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=77 x=100 y=0 width=30 height=36 xoffset=-3 yoffset=-2 xadvance=27 page=0 chnl=15 +char id=232 x=312 y=152 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=233 x=240 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=234 x=264 y=190 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=235 x=104 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=236 x=430 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=237 x=482 y=266 width=11 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=238 x=160 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=11 page=0 chnl=15 +char id=239 x=176 y=266 width=14 height=36 xoffset=-3 yoffset=-2 xadvance=8 page=0 chnl=15 +char id=240 x=128 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=241 x=200 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=242 x=224 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=243 x=248 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=244 x=272 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=245 x=296 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=246 x=320 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=247 x=330 y=190 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=248 x=208 y=38 width=24 height=36 xoffset=-3 yoffset=-2 xadvance=21 page=0 chnl=15 +char id=249 x=344 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=250 x=368 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=251 x=416 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=252 x=440 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=253 x=464 y=76 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 +char id=254 x=0 y=228 width=19 height=36 xoffset=-3 yoffset=-2 xadvance=16 page=0 chnl=15 +char id=255 x=0 y=114 width=22 height=36 xoffset=-3 yoffset=-2 xadvance=19 page=0 chnl=15 diff --git a/docs/examples/web/text/text_bmfont_ttf.js b/docs/examples/web/text/text_bmfont_ttf.js index 8596d98b..bb48be44 100644 --- a/docs/examples/web/text/text_bmfont_ttf.js +++ b/docs/examples/web/text/text_bmfont_ttf.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 11125, "filename": "/resources/bmfont.fnt"}, {"audio": 0, "start": 11125, "crunched": 0, "end": 25596, "filename": "/resources/bmfont.png"}, {"audio": 0, "start": 25596, "crunched": 0, "end": 61004, "filename": "/resources/pixantiqua.ttf"}], "remote_package_size": 61004, "package_uuid": "ec422a61-1640-43c4-889f-730d2605cae0"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 11125, "filename": "/resources/bmfont.fnt"}, {"audio": 0, "start": 11125, "crunched": 0, "end": 25596, "filename": "/resources/bmfont.png"}, {"audio": 0, "start": 25596, "crunched": 0, "end": 61004, "filename": "/resources/pixantiqua.ttf"}], "remote_package_size": 61004, "package_uuid": "31e67f09-93a3-471f-aac0-1897e169e508"}); })(); @@ -1846,12 +1846,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24704; +STATICTOP = STATIC_BASE + 24688; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,119,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,78,32,65,110,103,101,108,67,111,100,101,32,83,80,82,73,84,69,32,70,79,78,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,72,73,83,32,83,80,82,73,84,69,32,70,79,78,84,32,104,97,115,32,98,101,101,110,32,71,69,78,69,82,65,84,69,68,32,102,114,111,109,32,97,32,84,84,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,97,110,100,32,116,116,102,32,115,112,114,105,116,101,32,102,111,110,116,115,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,98,109,102,111,110,116,46,102,110,116,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,116,116,102,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,103,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,78,32,65,110,103,101,108,67,111,100,101,32,83,80,82,73,84,69,32,70,79,78,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,72,73,83,32,83,80,82,73,84,69,32,70,79,78,84,32,104,97,115,32,98,101,101,110,32,71,69,78,69,82,65,84,69,68,32,102,114,111,109,32,97,32,84,84,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,97,110,100,32,116,116,102,32,115,112,114,105,116,101,32,102,111,110,116,115,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,98,109,102,111,110,116,46,102,110,116,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,116,116,102,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10580,32 +10580,32 @@ function _main() { $4 = HEAP32[3]|0; _InitWindow($3,$4,4368); _LoadSpriteFont($0,4428); - ;HEAP32[19120>>2]=HEAP32[$0>>2]|0;HEAP32[19120+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19120+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19120+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19120+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19120+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19120+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19120+28>>2]=HEAP32[$0+28>>2]|0; + ;HEAP32[19424>>2]=HEAP32[$0>>2]|0;HEAP32[19424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19424+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19424+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19424+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19424+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19424+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19424+28>>2]=HEAP32[$0+28>>2]|0; _LoadSpriteFont($1,4449); - ;HEAP32[19152>>2]=HEAP32[$1>>2]|0;HEAP32[19152+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19152+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19152+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19152+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19152+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19152+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19152+28>>2]=HEAP32[$1+28>>2]|0; + ;HEAP32[19456>>2]=HEAP32[$1>>2]|0;HEAP32[19456+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19456+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19456+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19456+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19456+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19456+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19456+28>>2]=HEAP32[$1+28>>2]|0; $5 = HEAP32[2]|0; $6 = (($5|0) / 2)&-1; $7 = (+($6|0)); - $8 = HEAP32[(19140)>>2]|0; + $8 = HEAP32[(19444)>>2]|0; $9 = (+($8|0)); - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19120>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19120+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19120+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19120+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19120+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19120+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19120+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19120+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; _MeasureTextEx($2,$fontTtf$byval_copy,4240,$9,0); $10 = +HEAPF32[$2>>2]; $11 = $10 * 0.5; $12 = $7 - $11; - HEAPF32[4796] = $12; + HEAPF32[4872] = $12; $13 = HEAP32[3]|0; $14 = (($13|0) / 2)&-1; - $15 = HEAP32[(19140)>>2]|0; + $15 = HEAP32[(19444)>>2]|0; $$neg = (($15|0) / -2)&-1; $16 = (($14) + -80)|0; $17 = (($16) + ($$neg))|0; $18 = (+($17|0)); - HEAPF32[(19188)>>2] = $18; + HEAPF32[(19492)>>2] = $18; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19120>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19120+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19120+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19120+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19120+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19120+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19120+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19120+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; _UnloadSpriteFont($fontTtf$byval_copy); - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19152>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19152+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19152+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19152+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19152+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19152+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19152+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19152+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19456>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19456+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19456+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19456+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19456+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19456+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19456+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19456+28>>2]|0; _UnloadSpriteFont($fontTtf$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10632,7 +10632,7 @@ function _UpdateDrawFrame() { HEAP8[$6>>0] = -1; ;HEAP8[$$byval_copy3>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy3); - $7 = HEAP32[(19140)>>2]|0; + $7 = HEAP32[(19444)>>2]|0; $8 = (+($7|0)); HEAP8[$1>>0] = -66; $9 = ((($1)) + 1|0); @@ -10641,14 +10641,14 @@ function _UpdateDrawFrame() { HEAP8[$10>>0] = 55; $11 = ((($1)) + 3|0); HEAP8[$11>>0] = -1; - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19120>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19120+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19120+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19120+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19120+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19120+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19120+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19120+28>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[19184>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[19488>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[19488+4>>2]|0; ;HEAP8[$$byval_copy3>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextEx($fontTtf$byval_copy,4240,$$byval_copy2,$8,0,$$byval_copy3); HEAPF32[$2>>2] = 75.0; $12 = ((($2)) + 4|0); HEAPF32[$12>>2] = 240.0; - $13 = HEAP32[(19172)>>2]|0; + $13 = HEAP32[(19476)>>2]|0; $14 = (+($13|0)); $15 = $14 * 0.80000001192092896; HEAP8[$3>>0] = 0; @@ -10658,13 +10658,63 @@ function _UpdateDrawFrame() { HEAP8[$17>>0] = 47; $18 = ((($3)) + 3|0); HEAP8[$18>>0] = -1; - ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19152>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19152+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19152+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19152+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19152+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19152+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19152+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19152+28>>2]|0; + ;HEAP32[$fontTtf$byval_copy>>2]=HEAP32[19456>>2]|0;HEAP32[$fontTtf$byval_copy+4>>2]=HEAP32[19456+4>>2]|0;HEAP32[$fontTtf$byval_copy+8>>2]=HEAP32[19456+8>>2]|0;HEAP32[$fontTtf$byval_copy+12>>2]=HEAP32[19456+12>>2]|0;HEAP32[$fontTtf$byval_copy+16>>2]=HEAP32[19456+16>>2]|0;HEAP32[$fontTtf$byval_copy+20>>2]=HEAP32[19456+20>>2]|0;HEAP32[$fontTtf$byval_copy+24>>2]=HEAP32[19456+24>>2]|0;HEAP32[$fontTtf$byval_copy+28>>2]=HEAP32[19456+28>>2]|0; ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0; ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextEx($fontTtf$byval_copy,4304,$$byval_copy2,$15,2,$$byval_copy3); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10764,13 +10814,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11380,7 +11423,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4799] = $2; + HEAP32[4875] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11393,7 +11436,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18848; + $95 = 19152; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11406,48 +11449,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18888; + $106 = 19192; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4722]; - $111 = +HEAPF32[4712]; + $110 = +HEAPF32[4798]; + $111 = +HEAPF32[4788]; $112 = $110 - $111; - HEAPF32[4724] = $112; - $113 = +HEAPF32[(18892)>>2]; - $114 = +HEAPF32[(18852)>>2]; + HEAPF32[4800] = $112; + $113 = +HEAPF32[(19196)>>2]; + $114 = +HEAPF32[(19156)>>2]; $115 = $113 - $114; - HEAPF32[(18900)>>2] = $115; - HEAP32[4798] = 4; + HEAPF32[(19204)>>2] = $115; + HEAP32[4874] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4804] = $116; - $117 = 18880; + HEAPF32[4880] = $116; + $117 = 19184; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18848; + $123 = 19152; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18904; + $127 = 19208; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18888; + $133 = 19192; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11460,7 +11503,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18880; + $144 = 19184; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11473,27 +11516,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18904; + $155 = 19208; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4726]; - $160 = +HEAPF32[4720]; + $159 = +HEAPF32[4802]; + $160 = +HEAPF32[4796]; $161 = $159 - $160; - HEAPF32[4724] = $161; - $162 = +HEAPF32[(18908)>>2]; - $163 = +HEAPF32[(18884)>>2]; + HEAPF32[4800] = $161; + $162 = +HEAPF32[(19212)>>2]; + $163 = +HEAPF32[(19188)>>2]; $164 = $162 - $163; - HEAPF32[(18900)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18880+4>>2]|0; + HEAPF32[(19204)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18888>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18888+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19192+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11505,31 +11548,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4804]; + $170 = +HEAPF32[4880]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4798] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18880+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18904+4>>2]|0; + HEAP32[4874] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4805] = $174; + HEAPF32[4881] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4804] = 0.0; - HEAPF32[4805] = 0.0; - HEAPF32[4724] = 0.0; - HEAPF32[(18900)>>2] = 0.0; - HEAP32[4799] = 0; - HEAP32[4798] = 0; + HEAPF32[4880] = 0.0; + HEAPF32[4881] = 0.0; + HEAPF32[4800] = 0.0; + HEAPF32[(19204)>>2] = 0.0; + HEAP32[4875] = 0; + HEAP32[4874] = 0; STACKTOP = sp;return; break; } @@ -11539,22 +11582,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4800]|0; + $6 = HEAP32[4876]|0; $7 = (($6) + 1)|0; - HEAP32[4800] = $7; - $8 = HEAP32[4798]|0; + HEAP32[4876] = $7; + $8 = HEAP32[4874]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4798] = 2; - HEAP32[4800] = 0; + HEAP32[4874] = 2; + HEAP32[4876] = 0; } else { label = 6; } @@ -11562,8 +11605,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4800] = 1; - HEAP32[4798] = 1; + HEAP32[4876] = 1; + HEAP32[4874] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11572,19 +11615,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18848; + $21 = 19152; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18856; + $25 = 19160; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18864; + $29 = 19168; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11593,13 +11636,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4718] = 0.0; - HEAPF32[(18876)>>2] = 0.0; + HEAPF32[4794] = 0.0; + HEAPF32[(19180)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4798]|0; + $35 = HEAP32[4874]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11609,19 +11652,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18864; + $44 = 19168; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18864+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4801] = $49; - HEAP32[4802] = 0; + HEAPF32[4877] = $49; + HEAP32[4878] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11629,11 +11672,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18864>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18864+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4803] = $56; + HEAPF32[4879] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11664,22 +11707,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4801] = 0.0; - HEAPF32[4803] = 0.0; + HEAPF32[4877] = 0.0; + HEAPF32[4879] = 0.0; $$sink10 = 0; } - HEAP32[4798] = $$sink10; - HEAPF32[4714] = 0.0; - HEAPF32[(18860)>>2] = 0.0; - HEAP32[4799] = 0; + HEAP32[4874] = $$sink10; + HEAPF32[4790] = 0.0; + HEAPF32[(19164)>>2] = 0.0; + HEAP32[4875] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4802]|0; + $65 = HEAP32[4878]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4802] = 1; + HEAP32[4878] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11688,31 +11731,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18880; + $74 = 19184; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4798]|0; + $78 = HEAP32[4874]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18848+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18880>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18880+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4798] = 8; + HEAP32[4874] = 8; } } - $82 = +HEAPF32[4720]; - $83 = +HEAPF32[4714]; + $82 = +HEAPF32[4796]; + $83 = +HEAPF32[4790]; $84 = $82 - $83; - HEAPF32[4718] = $84; - $85 = +HEAPF32[(18884)>>2]; - $86 = +HEAPF32[(18860)>>2]; + HEAPF32[4794] = $84; + $85 = +HEAPF32[(19188)>>2]; + $86 = +HEAPF32[(19164)>>2]; $87 = $85 - $86; - HEAPF32[(18876)>>2] = $87; + HEAPF32[(19180)>>2] = $87; STACKTOP = sp;return; break; } @@ -11721,58 +11764,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4798]|0; + $0 = HEAP32[4874]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4799]|0; + $2 = HEAP32[4875]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4798] = 4; + HEAP32[4874] = 4; } - $4 = HEAP32[4798]|0; + $4 = HEAP32[4874]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11785,14 +11789,14 @@ function _UpdateGestures() { return; } } - HEAP32[4798] = 0; + HEAP32[4874] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 18912; + $1 = 19216; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11809,13 +11813,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4808]|0; + $0 = HEAP32[4884]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4807]|0; + $0 = HEAP32[4883]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11827,7 +11831,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4474,$vararg_buffer); - HEAP32[4810] = $2; + HEAP32[4886] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11840,15 +11844,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4503|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4808]|0; + $3 = HEAP32[4884]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4728] = $5; - $6 = HEAP32[4807]|0; + HEAPF32[4804] = $5; + $6 = HEAP32[4883]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18916)>>2] = $8; - $9 = HEAP32[4811]|0; + HEAPF32[(19220)>>2] = $8; + $9 = HEAP32[4887]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11867,11 +11871,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[18952>>0]=HEAP8[9032>>0]|0;HEAP8[18952+1>>0]=HEAP8[9032+1>>0]|0;HEAP8[18952+2>>0]=HEAP8[9032+2>>0]|0;HEAP8[18952+3>>0]=HEAP8[9032+3>>0]|0;HEAP8[18952+4>>0]=HEAP8[9032+4>>0]|0;HEAP8[18952+5>>0]=HEAP8[9032+5>>0]|0;HEAP8[18952+6>>0]=HEAP8[9032+6>>0]|0; + ;HEAP8[19256>>0]=HEAP8[9032>>0]|0;HEAP8[19256+1>>0]=HEAP8[9032+1>>0]|0;HEAP8[19256+2>>0]=HEAP8[9032+2>>0]|0;HEAP8[19256+3>>0]=HEAP8[9032+3>>0]|0;HEAP8[19256+4>>0]=HEAP8[9032+4>>0]|0;HEAP8[19256+5>>0]=HEAP8[9032+5>>0]|0;HEAP8[19256+6>>0]=HEAP8[9032+6>>0]|0; break; } case 1: { - $3 = 18952; + $3 = 19256; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11880,11 +11884,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=18952; src=9039; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=19256; src=9039; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 18952; + $7 = 19256; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11895,16 +11899,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(18952,$1)|0); - $strlen = (_strlen(18952)|0); - $endptr = (18952 + ($strlen)|0); + (_strcat(19256,$1)|0); + $strlen = (_strlen(19256)|0); + $endptr = (19256 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(18952,$2)|0); + (_vprintf(19256,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11936,22 +11940,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4808] = $0; - HEAP32[4807] = $1; + HEAP32[4884] = $0; + HEAP32[4883] = $1; _MatrixIdentity($2); - dest=19320; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5174,$vararg_buffer); } - $6 = HEAP32[4808]|0; - HEAP32[4846] = $6; - $7 = HEAP32[4807]|0; - HEAP32[4847] = $7; + $6 = HEAP32[4884]|0; + HEAP32[4922] = $6; + $7 = HEAP32[4883]|0; + HEAP32[4923] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22056]|0; + $8 = HEAP8[22360]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11959,13 +11963,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22056]|0; + $11 = HEAP8[22360]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22056]|0; + $14 = HEAP8[22360]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11987,18 +11991,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4848]|0; + $21 = HEAP32[4924]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4808]|0; - $48 = HEAP32[4807]|0; - $49 = HEAP32[4810]|0; + $47 = HEAP32[4884]|0; + $48 = HEAP32[4883]|0; + $49 = HEAP32[4886]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4806] = $50; - $51 = HEAP32[4808]|0; - HEAP32[4849] = $51; - $52 = HEAP32[4807]|0; - HEAP32[4850] = $52; + HEAP32[4882] = $50; + $51 = HEAP32[4884]|0; + HEAP32[4925] = $51; + $52 = HEAP32[4883]|0; + HEAP32[4926] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12007,9 +12011,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4808]|0; + $27 = HEAP32[4884]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4807]|0; + $29 = HEAP32[4883]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12031,25 +12035,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4846] = $31; - HEAP32[4847] = $34; + HEAP32[4922] = $31; + HEAP32[4923] = $34; } } while(0); - $38 = HEAP32[4846]|0; - $39 = HEAP32[4847]|0; + $38 = HEAP32[4922]|0; + $39 = HEAP32[4923]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5225,$vararg_buffer3); - $40 = HEAP32[4846]|0; - $41 = HEAP32[4847]|0; + $40 = HEAP32[4922]|0; + $41 = HEAP32[4923]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4846]|0; - $43 = HEAP32[4847]|0; - $44 = HEAP32[4810]|0; + $42 = HEAP32[4922]|0; + $43 = HEAP32[4923]|0; + $44 = HEAP32[4886]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4806] = $46; + HEAP32[4882] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12058,60 +12062,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5263,$vararg_buffer6); } else { _TraceLog(0,5296,$vararg_buffer8); - $55 = HEAP32[4849]|0; - $56 = HEAP32[4850]|0; + $55 = HEAP32[4925]|0; + $56 = HEAP32[4926]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5336,$vararg_buffer10); - $57 = HEAP32[4808]|0; - $58 = HEAP32[4807]|0; + $57 = HEAP32[4884]|0; + $58 = HEAP32[4883]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5357,$vararg_buffer14); - $59 = HEAP32[4851]|0; - $60 = HEAP32[4852]|0; + $59 = HEAP32[4927]|0; + $60 = HEAP32[4928]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5378,$vararg_buffer18); } - $61 = HEAP32[4806]|0; + $61 = HEAP32[4882]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4806]|0; + $62 = HEAP32[4882]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4806]|0; + $63 = HEAP32[4882]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4806]|0; + $64 = HEAP32[4882]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4806]|0; + $65 = HEAP32[4882]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4806]|0; + $66 = HEAP32[4882]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4806]|0; + $67 = HEAP32[4882]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4806]|0; + $68 = HEAP32[4882]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4806]|0; + $69 = HEAP32[4882]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22056]|0; + $70 = HEAP8[22360]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4808]|0; - $74 = HEAP32[4807]|0; + $73 = HEAP32[4884]|0; + $74 = HEAP32[4883]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4849]|0; - $76 = HEAP32[4851]|0; + $75 = HEAP32[4925]|0; + $76 = HEAP32[4927]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4850]|0; - $80 = HEAP32[4852]|0; + $79 = HEAP32[4926]|0; + $80 = HEAP32[4928]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12130,18 +12134,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5403,$vararg_buffer22); - $73 = HEAP32[4808]|0; - $74 = HEAP32[4807]|0; + $73 = HEAP32[4884]|0; + $74 = HEAP32[4883]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4849]|0; - $76 = HEAP32[4851]|0; + $75 = HEAP32[4925]|0; + $76 = HEAP32[4927]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4850]|0; - $80 = HEAP32[4852]|0; + $79 = HEAP32[4926]|0; + $80 = HEAP32[4928]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12169,7 +12173,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19288)>>2] = 224; + HEAP32[(19592)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12210,27 +12214,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19264>>2]=HEAP32[$1>>2]|0;HEAP32[19264+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19264+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19264+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19264+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19568>>2]=HEAP32[$1>>2]|0;HEAP32[19568+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19568+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19568+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19568+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19288)>>2]|0; + $5 = HEAP32[(19592)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19292)>>2] = $7; + HEAP32[(19596)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19284)>>2] = $23; - $24 = HEAP32[4816]|0; + HEAP32[(19588)>>2] = $23; + $24 = HEAP32[4892]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4698,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19268)>>2]|0; - $10 = HEAP32[(19288)>>2]|0; - $11 = HEAP32[(19292)>>2]|0; + $9 = HEAP32[(19572)>>2]|0; + $10 = HEAP32[(19592)>>2]|0; + $11 = HEAP32[(19596)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12279,8 +12283,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19284)>>2] = $23; - $24 = HEAP32[4816]|0; + HEAP32[(19588)>>2] = $23; + $24 = HEAP32[4892]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4698,$vararg_buffer); STACKTOP = sp;return; @@ -12291,7 +12295,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2368] = $1; + HEAPF64[2406] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12450,7 +12454,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18928; + $31 = 19232; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12463,7 +12467,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18936); + $42 = (19240); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12519,7 +12523,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (19248 + ($10<<2)|0); + $11 = (19552 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12533,7 +12537,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2365] = $$; + HEAPF64[2403] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12545,7 +12549,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4811] = 0; + HEAP32[4887] = 0; return; } function _GetTime() { @@ -13121,7 +13125,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4824]|0; + $6 = HEAP32[4900]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13131,7 +13135,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4825]|0; + $9 = HEAP32[4901]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13140,7 +13144,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4826]|0; + $12 = HEAP32[4902]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13150,7 +13154,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4827]|0; + $15 = HEAP32[4903]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13160,7 +13164,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4828]|0; + $18 = HEAP32[4904]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13204,7 +13208,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4824]|0; + $22 = HEAP32[4900]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13212,7 +13216,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4824]|0; + $24 = HEAP32[4900]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13220,7 +13224,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4824]|0; + $26 = HEAP32[4900]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13228,7 +13232,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4824]|0; + $28 = HEAP32[4900]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13236,7 +13240,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4825]|0; + $30 = HEAP32[4901]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13244,7 +13248,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4826]|0; + $32 = HEAP32[4902]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13252,7 +13256,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4826]|0; + $34 = HEAP32[4902]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13260,7 +13264,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4827]|0; + $36 = HEAP32[4903]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13268,7 +13272,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4827]|0; + $38 = HEAP32[4903]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13276,7 +13280,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4828]|0; + $40 = HEAP32[4904]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13284,7 +13288,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4828]|0; + $42 = HEAP32[4904]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13296,7 +13300,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4829]|0; + $44 = HEAP32[4905]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13642,20 +13646,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4808]|0; + $3 = HEAP32[4884]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4807]|0; + $5 = HEAP32[4883]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4849] = $3; - HEAP32[4850] = $5; - HEAP32[4851] = 0; - HEAP32[4852] = 0; + HEAP32[4925] = $3; + HEAP32[4926] = $5; + HEAP32[4927] = 0; + HEAP32[4928] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13669,9 +13673,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4808]|0; + $35 = HEAP32[4884]|0; $36 = (+($35|0)); - $37 = HEAP32[4807]|0; + $37 = HEAP32[4883]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13679,26 +13683,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4849] = $45; - HEAP32[4850] = $37; + HEAP32[4925] = $45; + HEAP32[4926] = $37; $46 = (($45) - ($35))|0; - HEAP32[4851] = $46; + HEAP32[4927] = $46; $$sink1 = 0; } else { - HEAP32[4849] = $35; + HEAP32[4925] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4850] = $42; - HEAP32[4851] = 0; + HEAP32[4926] = $42; + HEAP32[4927] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4852] = $$sink1; + HEAP32[4928] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4807]|0; + $7 = HEAP32[4883]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13708,11 +13712,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8785,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4808]|0; + $9 = HEAP32[4884]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4807]|0; + $13 = HEAP32[4883]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13720,33 +13724,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4849] = $23; - HEAP32[4850] = $1; + HEAP32[4925] = $23; + HEAP32[4926] = $1; $24 = (($0) - ($23))|0; - HEAP32[4851] = $24; + HEAP32[4927] = $24; $$sink = 0; } else { - HEAP32[4849] = $0; - $17 = HEAP32[4807]|0; + HEAP32[4925] = $0; + $17 = HEAP32[4883]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4850] = $20; - HEAP32[4851] = 0; + HEAP32[4926] = $20; + HEAP32[4927] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4852] = $$sink; - $25 = HEAP32[4849]|0; + HEAP32[4928] = $$sink; + $25 = HEAP32[4925]|0; $26 = (+($25|0)); - $27 = HEAP32[4808]|0; + $27 = HEAP32[4884]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19320; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4849] = $0; - HEAP32[4850] = $1; + dest=19624; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4925] = $0; + HEAP32[4926] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13768,10 +13772,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4808] = $1; - HEAP32[4807] = $2; - HEAP32[4849] = $1; - HEAP32[4850] = $2; + HEAP32[4884] = $1; + HEAP32[4883] = $2; + HEAP32[4925] = $1; + HEAP32[4926] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13798,7 +13802,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22063 + ($1)|0); + $9 = (22367 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13819,7 +13823,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22057 + ($1)|0); + $7 = (22361 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13898,7 +13902,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18928; + $15 = 19232; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13933,7 +13937,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5222] = $3; + HEAP32[5298] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13943,7 +13947,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5221] = $$sink; + HEAP32[5297] = $$sink; return; } function _rlglInit($0,$1) { @@ -14024,18 +14028,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5535)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4887] = 1; + HEAP32[4963] = 1; $27 = (_eglGetProcAddress((5562|0))|0); - HEAP32[4888] = $27; + HEAP32[4964] = $27; $28 = (_eglGetProcAddress((5583|0))|0); - HEAP32[4889] = $28; + HEAP32[4965] = $28; $29 = (_eglGetProcAddress((5604|0))|0); - HEAP32[4890] = $29; + HEAP32[4966] = $29; } $30 = (_strcmp($24,5628)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4829] = 1; + HEAP32[4905] = 1; } $32 = (_strcmp($24,5648)|0); $33 = ($32|0)==(0); @@ -14057,7 +14061,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4824] = 1; + HEAP32[4900] = 1; } $39 = (_strcmp($24,5753)|0); $40 = ($39|0)==(0); @@ -14073,35 +14077,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4825] = 1; + HEAP32[4901] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5822)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4826] = 1; + HEAP32[4902] = 1; } $47 = (_strcmp($44,5847)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4827] = 1; + HEAP32[4903] = 1; } $49 = (_strcmp($44,5880)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4828] = 1; + HEAP32[4904] = 1; } $51 = (_strcmp($44,5916)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4891] = 1; - _glGetFloatv(34047,(19568|0)); + HEAP32[4967] = 1; + _glGetFloatv(34047,(19872|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5950)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4893] = 1; + HEAP32[4969] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14112,61 +14116,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4887]|0; + $21 = HEAP32[4963]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6053,$vararg_buffer15); } else { _TraceLog(0,5978,$vararg_buffer13); } - $57 = HEAP32[4829]|0; + $57 = HEAP32[4905]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6189,$vararg_buffer19); } else { _TraceLog(0,6114,$vararg_buffer17); } - $59 = HEAP32[4824]|0; + $59 = HEAP32[4900]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6281,$vararg_buffer21); } - $61 = HEAP32[4825]|0; + $61 = HEAP32[4901]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6327,$vararg_buffer23); } - $63 = HEAP32[4826]|0; + $63 = HEAP32[4902]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6374,$vararg_buffer25); } - $65 = HEAP32[4827]|0; + $65 = HEAP32[4903]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6425,$vararg_buffer27); } - $67 = HEAP32[4828]|0; + $67 = HEAP32[4904]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6472,$vararg_buffer29); } - $69 = HEAP32[4891]|0; + $69 = HEAP32[4967]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4892]; + $71 = +HEAPF32[4968]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6519,$vararg_buffer31); } - $73 = HEAP32[4893]|0; + $73 = HEAP32[4969]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6585,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4894] = $75; + HEAP32[4970] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6689,$vararg_buffer39); @@ -14175,14 +14179,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6638,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19580; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19636; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19884; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19940; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4923] = $77; + HEAP32[4999] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4923]|0; + $79 = HEAP32[4999]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14195,7 +14199,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4924] = $78; + HEAP32[5000] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14210,48 +14214,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4925] = 1; - $85 = HEAP32[4894]|0; + HEAP32[5001] = 1; + $85 = HEAP32[4970]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4926] = 4; + HEAP32[5002] = 4; _MatrixIdentity($4); - dest=19708; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20012; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19772); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20076); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19836); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20140); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19900); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20204); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19964); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20268); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20028); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20332); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20092); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20156); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20220); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20284); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20348); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20652); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20412); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20716); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20476); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20780); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20540); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20844); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20604); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20908); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20668); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20972); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=19416; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19720; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=19480; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4853] = 19480; + dest=19784; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4929] = 19784; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14262,21 +14266,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5183] = $0; - HEAP32[5184] = $1; + HEAP32[5259] = $0; + HEAP32[5260] = $1; _TraceLog(0,6728,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4851]|0; + $0 = HEAP32[4927]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4852]|0; + $2 = HEAP32[4928]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4849]|0; + $4 = HEAP32[4925]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4850]|0; + $6 = HEAP32[4926]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14287,12 +14291,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19416; + $modelview$sink = 19720; label = 3; break; } case 5888: { - $modelview$sink = 19480; + $modelview$sink = 19784; label = 3; break; } @@ -14300,9 +14304,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4853] = $modelview$sink; + HEAP32[4929] = $modelview$sink; } - HEAP32[4886] = $0; + HEAP32[4962] = $0; return; } function _rlLoadIdentity() { @@ -14310,7 +14314,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4853]|0; + $1 = HEAP32[4929]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14331,7 +14335,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4853]|0; + $8 = HEAP32[4929]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14428,15 +14432,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20752)>>2] = $0; + HEAP32[(21056)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20760)>>2] = $1; - HEAP32[(20756)>>2] = 0; - HEAP32[(20764)>>2] = 0; + HEAP32[(21064)>>2] = $1; + HEAP32[(21060)>>2] = 0; + HEAP32[(21068)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20760)>>2]|0; + $2 = HEAP32[(21064)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14447,19 +14451,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5185] = 0; - HEAP32[(20748)>>2] = 0; - HEAP32[(20744)>>2] = 0; + HEAP32[5261] = 0; + HEAP32[(21052)>>2] = 0; + HEAP32[(21048)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20800)>>2] = $5; + HEAP32[(21104)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20808)>>2] = $6; - HEAP32[(20804)>>2] = 0; - HEAP32[(20812)>>2] = 0; + HEAP32[(21112)>>2] = $6; + HEAP32[(21108)>>2] = 0; + HEAP32[(21116)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20808)>>2]|0; + $7 = HEAP32[(21112)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14470,24 +14474,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5197] = 0; - HEAP32[(20796)>>2] = 0; - HEAP32[(20792)>>2] = 0; + HEAP32[5273] = 0; + HEAP32[(21100)>>2] = 0; + HEAP32[(21096)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20848)>>2] = $10; + HEAP32[(21152)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20852)>>2] = $11; + HEAP32[(21156)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20856)>>2] = $12; + HEAP32[(21160)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20860)>>2] = $13; - $14 = HEAP32[(20848)>>2]|0; + HEAP32[(21164)>>2] = $13; + $14 = HEAP32[(21152)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20852)>>2]|0; + $15 = HEAP32[(21156)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20856)>>2]|0; + $17 = HEAP32[(21160)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14498,7 +14502,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20860)>>2]|0; + $16 = HEAP32[(21164)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14535,140 +14539,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5209] = 0; - HEAP32[(20840)>>2] = 0; - HEAP32[(20844)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21144)>>2] = 0; + HEAP32[(21148)>>2] = 0; _TraceLog(0,6775,$vararg_buffer); - $20 = HEAP32[4887]|0; + $20 = HEAP32[4963]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4888]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20768)); - $44 = HEAP32[4889]|0; - $45 = HEAP32[(20768)>>2]|0; + $43 = HEAP32[4964]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21072)); + $44 = HEAP32[4965]|0; + $45 = HEAP32[(21072)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20772)|0)); - $46 = HEAP32[(20772)>>2]|0; + _glGenBuffers(2,((21076)|0)); + $46 = HEAP32[(21076)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20752)>>2]|0; + $47 = HEAP32[(21056)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19640)>>2]|0; + $48 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19640)>>2]|0; + $49 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20776)|0)); - $50 = HEAP32[(20776)>>2]|0; + _glGenBuffers(2,((21080)|0)); + $50 = HEAP32[(21080)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20760)>>2]|0; + $51 = HEAP32[(21064)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19660)>>2]|0; + $52 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19660)>>2]|0; + $53 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4887]|0; + $54 = HEAP32[4963]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20772)>>2]|0; - $58 = HEAP32[(20776)>>2]|0; + $57 = HEAP32[(21076)>>2]|0; + $58 = HEAP32[(21080)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6913,$vararg_buffer3); } else { - $56 = HEAP32[(20768)>>2]|0; + $56 = HEAP32[(21072)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6848,$vararg_buffer1); } - $59 = HEAP32[4887]|0; + $59 = HEAP32[4963]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4888]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20816)); - $62 = HEAP32[4889]|0; - $63 = HEAP32[(20816)>>2]|0; + $61 = HEAP32[4964]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(21120)); + $62 = HEAP32[4965]|0; + $63 = HEAP32[(21120)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20820)|0)); - $64 = HEAP32[(20820)>>2]|0; + _glGenBuffers(1,((21124)|0)); + $64 = HEAP32[(21124)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20800)>>2]|0; + $65 = HEAP32[(21104)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19640)>>2]|0; + $66 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19640)>>2]|0; + $67 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20824)|0)); - $68 = HEAP32[(20824)>>2]|0; + _glGenBuffers(1,((21128)|0)); + $68 = HEAP32[(21128)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20808)>>2]|0; + $69 = HEAP32[(21112)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19660)>>2]|0; + $70 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19660)>>2]|0; + $71 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4887]|0; + $72 = HEAP32[4963]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20820)>>2]|0; - $76 = HEAP32[(20824)>>2]|0; + $75 = HEAP32[(21124)>>2]|0; + $76 = HEAP32[(21128)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7059,$vararg_buffer10); } else { - $74 = HEAP32[(20816)>>2]|0; + $74 = HEAP32[(21120)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6990,$vararg_buffer7); } - $77 = HEAP32[4887]|0; + $77 = HEAP32[4963]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4888]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20864)); - $80 = HEAP32[4889]|0; - $81 = HEAP32[(20864)>>2]|0; + $79 = HEAP32[4964]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(21168)); + $80 = HEAP32[4965]|0; + $81 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20868)|0)); - $82 = HEAP32[(20868)>>2]|0; + _glGenBuffers(1,((21172)|0)); + $82 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20848)>>2]|0; + $83 = HEAP32[(21152)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19640)>>2]|0; + $84 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19640)>>2]|0; + $85 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20872)|0)); - $86 = HEAP32[(20872)>>2]|0; + _glGenBuffers(1,((21176)|0)); + $86 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20852)>>2]|0; + $87 = HEAP32[(21156)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19644)>>2]|0; + $88 = HEAP32[(19948)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19644)>>2]|0; + $89 = HEAP32[(19948)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20876)|0)); - $90 = HEAP32[(20876)>>2]|0; + _glGenBuffers(1,((21180)|0)); + $90 = HEAP32[(21180)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20856)>>2]|0; + $91 = HEAP32[(21160)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19660)>>2]|0; + $92 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19660)>>2]|0; + $93 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20880)|0)); - $94 = HEAP32[(20880)>>2]|0; + _glGenBuffers(1,((21184)|0)); + $94 = HEAP32[(21184)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20860)>>2]|0; + $95 = HEAP32[(21164)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4887]|0; + $96 = HEAP32[4963]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20868)>>2]|0; - $100 = HEAP32[(20872)>>2]|0; - $101 = HEAP32[(20876)>>2]|0; - $102 = HEAP32[(20880)>>2]|0; + $99 = HEAP32[(21172)>>2]|0; + $100 = HEAP32[(21176)>>2]|0; + $101 = HEAP32[(21180)>>2]|0; + $102 = HEAP32[(21184)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14678,16 +14682,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7205,$vararg_buffer17); } else { - $98 = HEAP32[(20864)>>2]|0; + $98 = HEAP32[(21168)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7140,$vararg_buffer14); } - $103 = HEAP32[4887]|0; + $103 = HEAP32[4963]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4889]|0; + $105 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14868,9 +14872,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22057 + ($0)|0); + $1 = (22361 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22060 + ($0)|0); + $3 = (22364 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14882,9 +14886,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22057 + ($0)|0); + $1 = (22361 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22060 + ($0)|0); + $3 = (22364 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14905,7 +14909,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4806]|0; + $0 = HEAP32[4882]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9049,$vararg_buffer); @@ -14916,9 +14920,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19264>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19264+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19264+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19264+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19264+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19568>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19568+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19568+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19568+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19568+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19292)>>2]|0; + $0 = HEAP32[(19596)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14929,11 +14933,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19576|0)); - $0 = HEAP32[4894]|0; + _glDeleteTextures(1,(19880|0)); + $0 = HEAP32[4970]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9076,$vararg_buffer); - $1 = HEAP32[4924]|0; + $1 = HEAP32[5000]|0; _free($1); STACKTOP = sp;return; } @@ -14941,17 +14945,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4895]|0; + $0 = HEAP32[4971]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4887]|0; + $0 = HEAP32[4963]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4889]|0; + $2 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14960,39 +14964,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20772)|0)); - _glDeleteBuffers(1,((20776)|0)); - _glDeleteBuffers(1,((20820)|0)); - _glDeleteBuffers(1,((20824)|0)); - _glDeleteBuffers(1,((20868)|0)); - _glDeleteBuffers(1,((20872)|0)); - _glDeleteBuffers(1,((20876)|0)); - _glDeleteBuffers(1,((20880)|0)); - $3 = HEAP32[4887]|0; + _glDeleteBuffers(1,((21076)|0)); + _glDeleteBuffers(1,((21080)|0)); + _glDeleteBuffers(1,((21124)|0)); + _glDeleteBuffers(1,((21128)|0)); + _glDeleteBuffers(1,((21172)|0)); + _glDeleteBuffers(1,((21176)|0)); + _glDeleteBuffers(1,((21180)|0)); + _glDeleteBuffers(1,((21184)|0)); + $3 = HEAP32[4963]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4890]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20768)); - $6 = HEAP32[4890]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20816)); - $7 = HEAP32[4890]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20864)); - } - $8 = HEAP32[(20752)>>2]|0; + $5 = HEAP32[4966]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21072)); + $6 = HEAP32[4966]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(21120)); + $7 = HEAP32[4966]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(21168)); + } + $8 = HEAP32[(21056)>>2]|0; _free($8); - $9 = HEAP32[(20760)>>2]|0; + $9 = HEAP32[(21064)>>2]|0; _free($9); - $10 = HEAP32[(20800)>>2]|0; + $10 = HEAP32[(21104)>>2]|0; _free($10); - $11 = HEAP32[(20808)>>2]|0; + $11 = HEAP32[(21112)>>2]|0; _free($11); - $12 = HEAP32[(20848)>>2]|0; + $12 = HEAP32[(21152)>>2]|0; _free($12); - $13 = HEAP32[(20852)>>2]|0; + $13 = HEAP32[(21156)>>2]|0; _free($13); - $14 = HEAP32[(20856)>>2]|0; + $14 = HEAP32[(21160)>>2]|0; _free($14); - $15 = HEAP32[(20860)>>2]|0; + $15 = HEAP32[(21164)>>2]|0; _free($15); return; } @@ -15032,16 +15036,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2385] = $0; - $1 = +HEAPF64[2368]; + HEAPF64[2423] = $0; + $1 = +HEAPF64[2406]; $2 = $0 - $1; - HEAPF64[2386] = $2; - HEAPF64[2368] = $0; + HEAPF64[2424] = $2; + HEAPF64[2406] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19320; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=19624; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20892); + _rlMultMatrixf(21196); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15050,53 +15054,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[5223] = $1; + HEAP32[5299] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20896)>>2] = $3; + HEAP32[(21200)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20900)>>2] = $5; + HEAP32[(21204)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(20904)>>2] = $7; + HEAP32[(21208)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(20908)>>2] = $9; + HEAP32[(21212)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(20912)>>2] = $11; + HEAP32[(21216)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(20916)>>2] = $13; + HEAP32[(21220)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(20920)>>2] = $15; + HEAP32[(21224)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(20924)>>2] = $17; + HEAP32[(21228)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(20928)>>2] = $19; + HEAP32[(21232)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(20932)>>2] = $21; + HEAP32[(21236)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(20936)>>2] = $23; + HEAP32[(21240)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(20940)>>2] = $25; + HEAP32[(21244)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(20944)>>2] = $27; + HEAP32[(21248)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(20948)>>2] = $29; + HEAP32[(21252)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(20952)>>2] = $31; - return (20892|0); + HEAP32[(21256)>>2] = $31; + return (21196|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15171,7 +15175,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4853]|0; + $49 = HEAP32[4929]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15185,15 +15189,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2385] = $0; - $1 = +HEAPF64[2368]; + HEAPF64[2423] = $0; + $1 = +HEAPF64[2406]; $2 = $0 - $1; - HEAPF64[2387] = $2; - HEAPF64[2368] = $0; - $3 = +HEAPF64[2386]; + HEAPF64[2425] = $2; + HEAPF64[2406] = $0; + $3 = +HEAPF64[2424]; $4 = $2 + $3; - HEAPF64[2388] = $4; - $5 = +HEAPF64[2365]; + HEAPF64[2426] = $4; + $5 = +HEAPF64[2403]; $6 = $4 < $5; if (!($6)) { return; @@ -15203,13 +15207,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2385] = $10; - $11 = +HEAPF64[2368]; + HEAPF64[2423] = $10; + $11 = +HEAPF64[2406]; $12 = $10 - $11; - HEAPF64[2368] = $10; - $13 = +HEAPF64[2388]; + HEAPF64[2406] = $10; + $13 = +HEAPF64[2426]; $14 = $12 + $13; - HEAPF64[2388] = $14; + HEAPF64[2426] = $14; return; } function _rlglDraw() { @@ -15222,7 +15226,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4806]|0; + $0 = HEAP32[4882]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15238,20 +15242,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5239] = 0; - $3 = HEAP32[4806]|0; + HEAP32[5315] = 0; + $3 = HEAP32[4882]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4728] = $5; + HEAPF32[4804] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18916)>>2] = $7; - _memcpy((22575|0),(22063|0),512)|0; - ;HEAP8[22060>>0]=HEAP8[22057>>0]|0;HEAP8[22060+1>>0]=HEAP8[22057+1>>0]|0;HEAP8[22060+2>>0]=HEAP8[22057+2>>0]|0; - $8 = HEAP32[5222]|0; - HEAP32[4809] = $8; - HEAP32[5222] = 0; + HEAPF32[(19220)>>2] = $7; + _memcpy((22879|0),(22367|0),512)|0; + ;HEAP8[22364>>0]=HEAP8[22361>>0]|0;HEAP8[22364+1>>0]=HEAP8[22361+1>>0]|0;HEAP8[22364+2>>0]=HEAP8[22361+2>>0]|0; + $8 = HEAP32[5298]|0; + HEAP32[4885] = $8; + HEAP32[5298] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15261,8 +15265,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23087 + ($$05160<<5)|0); - $scevgep67 = (23215 + ($$05160<<5)|0); + $scevgep = (23391 + ($$05160<<5)|0); + $scevgep67 = (23519 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15276,7 +15280,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23215 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23519 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15303,7 +15307,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((20960 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21264 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15319,7 +15323,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5239] = $$lcssa; + HEAP32[5315] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15360,87 +15364,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5185]|0; + $0 = HEAP32[5261]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4887]|0; + $2 = HEAP32[4963]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4889]|0; - $5 = HEAP32[(20768)>>2]|0; + $4 = HEAP32[4965]|0; + $5 = HEAP32[(21072)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20772)>>2]|0; + $6 = HEAP32[(21076)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5185]|0; + $7 = HEAP32[5261]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20752)>>2]|0; + $9 = HEAP32[(21056)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20776)>>2]|0; + $10 = HEAP32[(21080)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20748)>>2]|0; + $11 = HEAP32[(21052)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20760)>>2]|0; + $13 = HEAP32[(21064)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5197]|0; + $14 = HEAP32[5273]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4887]|0; + $16 = HEAP32[4963]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4889]|0; - $19 = HEAP32[(20816)>>2]|0; + $18 = HEAP32[4965]|0; + $19 = HEAP32[(21120)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20820)>>2]|0; + $20 = HEAP32[(21124)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5197]|0; + $21 = HEAP32[5273]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20800)>>2]|0; + $23 = HEAP32[(21104)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20824)>>2]|0; + $24 = HEAP32[(21128)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20796)>>2]|0; + $25 = HEAP32[(21100)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20808)>>2]|0; + $27 = HEAP32[(21112)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5209]|0; + $28 = HEAP32[5285]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4887]|0; + $30 = HEAP32[4963]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4889]|0; - $33 = HEAP32[(20864)>>2]|0; + $32 = HEAP32[4965]|0; + $33 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20868)>>2]|0; + $34 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5209]|0; + $35 = HEAP32[5285]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20848)>>2]|0; + $37 = HEAP32[(21152)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20872)>>2]|0; + $38 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5209]|0; + $39 = HEAP32[5285]|0; $40 = $39 << 3; - $41 = HEAP32[(20852)>>2]|0; + $41 = HEAP32[(21156)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20876)>>2]|0; + $42 = HEAP32[(21180)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5209]|0; + $43 = HEAP32[5285]|0; $44 = $43 << 2; - $45 = HEAP32[(20856)>>2]|0; + $45 = HEAP32[(21160)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4887]|0; + $46 = HEAP32[4963]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4889]|0; + $48 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15458,9 +15462,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5272]|0; + dest=$0; src=19720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=19784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5348]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15470,134 +15474,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5185]|0; + $8 = HEAP32[5261]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5197]|0; + $10 = HEAP32[5273]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5209]|0; + $12 = HEAP32[5285]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4909]|0; + $14 = HEAP32[4985]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=19784; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=19720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19664)>>2]|0; + $15 = HEAP32[(19968)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19668)>>2]|0; + $17 = HEAP32[(19972)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19680)>>2]|0; + $18 = HEAP32[(19984)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5185]|0; + $19 = HEAP32[5261]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4894]|0; + $21 = HEAP32[4970]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4887]|0; + $22 = HEAP32[4963]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20772)>>2]|0; + $26 = HEAP32[(21076)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19640)>>2]|0; + $27 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19640)>>2]|0; + $28 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20776)>>2]|0; + $29 = HEAP32[(21080)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19660)>>2]|0; + $30 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19660)>>2]|0; + $31 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4889]|0; - $25 = HEAP32[(20768)>>2]|0; + $24 = HEAP32[4965]|0; + $25 = HEAP32[(21072)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5185]|0; + $32 = HEAP32[5261]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4887]|0; + $33 = HEAP32[4963]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5197]|0; + $35 = HEAP32[5273]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4894]|0; + $37 = HEAP32[4970]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4887]|0; + $38 = HEAP32[4963]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20820)>>2]|0; + $42 = HEAP32[(21124)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19640)>>2]|0; + $43 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19640)>>2]|0; + $44 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20824)>>2]|0; + $45 = HEAP32[(21128)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19660)>>2]|0; + $46 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19660)>>2]|0; + $47 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4889]|0; - $41 = HEAP32[(20816)>>2]|0; + $40 = HEAP32[4965]|0; + $41 = HEAP32[(21120)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5197]|0; + $48 = HEAP32[5273]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4887]|0; + $49 = HEAP32[4963]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5209]|0; + $51 = HEAP32[5285]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4887]|0; + $53 = HEAP32[4963]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20868)>>2]|0; + $57 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19640)>>2]|0; + $58 = HEAP32[(19944)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19640)>>2]|0; + $59 = HEAP32[(19944)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20872)>>2]|0; + $60 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19644)>>2]|0; + $61 = HEAP32[(19948)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19644)>>2]|0; + $62 = HEAP32[(19948)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20876)>>2]|0; + $63 = HEAP32[(21180)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19660)>>2]|0; + $64 = HEAP32[(19964)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19660)>>2]|0; + $65 = HEAP32[(19964)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20880)>>2]|0; + $66 = HEAP32[(21184)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4889]|0; - $56 = HEAP32[(20864)>>2]|0; + $55 = HEAP32[4965]|0; + $56 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4925]|0; + $67 = HEAP32[5001]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4924]|0; + $71 = HEAP32[5000]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15608,14 +15612,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4924]|0; + $80 = HEAP32[5000]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4925]|0; + $87 = HEAP32[5001]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15624,7 +15628,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4887]|0; + $69 = HEAP32[4963]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15632,10 +15636,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4887]|0; + $89 = HEAP32[4963]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4889]|0; + $91 = HEAP32[4965]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15647,22 +15651,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4925] = 1; - $5 = HEAP32[4894]|0; - $6 = HEAP32[4924]|0; + HEAP32[5001] = 1; + $5 = HEAP32[4970]|0; + $6 = HEAP32[5000]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5185] = 0; - HEAP32[(20748)>>2] = 0; - HEAP32[5197] = 0; - HEAP32[(20796)>>2] = 0; - HEAP32[5209] = 0; - HEAP32[(20840)>>2] = 0; - HEAP32[(20844)>>2] = 0; + HEAP32[5261] = 0; + HEAP32[(21052)>>2] = 0; + HEAP32[5273] = 0; + HEAP32[(21100)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21144)>>2] = 0; + HEAP32[(21148)>>2] = 0; HEAPF32[744] = -1.0; - dest=19416; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19480; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19784; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15677,17 +15681,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5183]|0; + $5 = HEAP32[5259]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5184]|0; + $9 = HEAP32[5260]|0; _rlViewport($7,0,$8,$9); - $10 = (21320 + ($0<<6)|0); + $10 = (21624 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (21192 + ($0<<6)|0); + $11 = (21496 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15699,14 +15703,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19480; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19784; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19416; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19720; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15714,43 +15718,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5362]|0; + $0 = HEAP32[5438]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9191,$vararg_buffer); } - $2 = HEAP32[5362]|0; - $3 = (19708 + ($2<<6)|0); - $4 = HEAP32[4853]|0; + $2 = HEAP32[5438]|0; + $3 = (20012 + ($2<<6)|0); + $4 = HEAP32[4929]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5362]|0; + $5 = HEAP32[5438]|0; $6 = (($5) + 1)|0; - HEAP32[5362] = $6; - $7 = HEAP32[4886]|0; + HEAP32[5438] = $6; + $7 = HEAP32[4962]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5363] = 1; + HEAP32[5439] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5362]|0; + $0 = HEAP32[5438]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5362]|0; + $2 = HEAP32[5438]|0; $3 = (($2) + -1)|0; - $4 = (19708 + ($3<<6)|0); - $5 = HEAP32[4853]|0; + $4 = (20012 + ($3<<6)|0); + $5 = HEAP32[4929]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5362] = $6; + HEAP32[5438] = $6; return; } function _IsFileExtension($0,$1) { @@ -15783,7 +15787,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4853]|0; + $5 = HEAP32[4929]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15816,7 +15820,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4853]|0; + $11 = HEAP32[4929]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15827,7 +15831,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4926] = $0; + HEAP32[5002] = $0; return; } function _rlEnd() { @@ -15843,21 +15847,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5363]|0; + $0 = HEAP32[5439]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5364]|0; + $2 = HEAP32[5440]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4923]|0; + $6 = HEAP32[4999]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4853]|0; + $8 = HEAP32[4929]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5364]|0; + $5 = HEAP32[5440]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15865,12 +15869,12 @@ function _rlEnd() { break; } } - HEAP32[5363] = 0; + HEAP32[5439] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4923]|0; + $11 = HEAP32[4999]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15879,7 +15883,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5364]|0; + $19 = HEAP32[5440]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15889,15 +15893,15 @@ function _rlEnd() { } } } else { - HEAP32[5363] = 0; + HEAP32[5439] = 0; } - HEAP32[5364] = 0; + HEAP32[5440] = 0; } - $21 = HEAP32[4926]|0; + $21 = HEAP32[5002]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5185]|0; - $23 = HEAP32[(20748)>>2]|0; + $22 = HEAP32[5261]|0; + $23 = HEAP32[(21052)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15916,16 +15920,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20760)>>2]|0; - $28 = HEAP32[(20748)>>2]|0; + $27 = HEAP32[(21064)>>2]|0; + $28 = HEAP32[(21052)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20760)>>2]|0; - $35 = HEAP32[(20748)>>2]|0; + $34 = HEAP32[(21064)>>2]|0; + $35 = HEAP32[(21052)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15933,8 +15937,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20760)>>2]|0; - $43 = HEAP32[(20748)>>2]|0; + $42 = HEAP32[(21064)>>2]|0; + $43 = HEAP32[(21052)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15942,8 +15946,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20760)>>2]|0; - $51 = HEAP32[(20748)>>2]|0; + $50 = HEAP32[(21064)>>2]|0; + $51 = HEAP32[(21052)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15951,9 +15955,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20748)>>2]|0; + $58 = HEAP32[(21052)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20748)>>2] = $59; + HEAP32[(21052)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15969,8 +15973,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5197]|0; - $62 = HEAP32[(20796)>>2]|0; + $61 = HEAP32[5273]|0; + $62 = HEAP32[(21100)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15989,16 +15993,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20808)>>2]|0; - $67 = HEAP32[(20796)>>2]|0; + $66 = HEAP32[(21112)>>2]|0; + $67 = HEAP32[(21100)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20808)>>2]|0; - $74 = HEAP32[(20796)>>2]|0; + $73 = HEAP32[(21112)>>2]|0; + $74 = HEAP32[(21100)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16006,8 +16010,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20808)>>2]|0; - $82 = HEAP32[(20796)>>2]|0; + $81 = HEAP32[(21112)>>2]|0; + $82 = HEAP32[(21100)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16015,8 +16019,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20808)>>2]|0; - $90 = HEAP32[(20796)>>2]|0; + $89 = HEAP32[(21112)>>2]|0; + $90 = HEAP32[(21100)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16024,9 +16028,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20796)>>2]|0; + $97 = HEAP32[(21100)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20796)>>2] = $98; + HEAP32[(21100)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16042,8 +16046,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5209]|0; - $101 = HEAP32[(20844)>>2]|0; + $100 = HEAP32[5285]|0; + $101 = HEAP32[(21148)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16051,16 +16055,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20856)>>2]|0; - $106 = HEAP32[(20844)>>2]|0; + $105 = HEAP32[(21160)>>2]|0; + $106 = HEAP32[(21148)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20856)>>2]|0; - $113 = HEAP32[(20844)>>2]|0; + $112 = HEAP32[(21160)>>2]|0; + $113 = HEAP32[(21148)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16068,8 +16072,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20856)>>2]|0; - $121 = HEAP32[(20844)>>2]|0; + $120 = HEAP32[(21160)>>2]|0; + $121 = HEAP32[(21148)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16077,8 +16081,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20856)>>2]|0; - $129 = HEAP32[(20844)>>2]|0; + $128 = HEAP32[(21160)>>2]|0; + $129 = HEAP32[(21148)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16086,9 +16090,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20844)>>2]|0; + $136 = HEAP32[(21148)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20844)>>2] = $137; + HEAP32[(21148)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16099,8 +16103,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5209]|0; - $140 = HEAP32[(20840)>>2]|0; + $139 = HEAP32[5285]|0; + $140 = HEAP32[(21144)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16108,8 +16112,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20852)>>2]|0; - $$promoted = HEAP32[(20840)>>2]|0; + $142 = HEAP32[(21156)>>2]|0; + $$promoted = HEAP32[(21144)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16117,7 +16121,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20840)>>2] = $147; + HEAP32[(21144)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16144,11 +16148,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5363]|0; + $3 = HEAP32[5439]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4923]|0; - $6 = HEAP32[5364]|0; + $5 = HEAP32[4999]|0; + $6 = HEAP32[5440]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16156,16 +16160,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5364] = $10; + HEAP32[5440] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4926]|0; + $11 = HEAP32[5002]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5185]|0; + $12 = HEAP32[5261]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20752)>>2]|0; + $14 = HEAP32[(21056)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16176,7 +16180,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5185] = $21; + HEAP32[5261] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9229,$vararg_buffer); @@ -16185,10 +16189,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5197]|0; + $22 = HEAP32[5273]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20800)>>2]|0; + $24 = HEAP32[(21104)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16199,7 +16203,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5197] = $31; + HEAP32[5273] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9254,$vararg_buffer1); @@ -16208,10 +16212,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5209]|0; + $32 = HEAP32[5285]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20848)>>2]|0; + $34 = HEAP32[(21152)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16222,9 +16226,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5209] = $41; - $42 = HEAP32[4924]|0; - $43 = HEAP32[4925]|0; + HEAP32[5285] = $41; + $42 = HEAP32[5000]|0; + $43 = HEAP32[5001]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16256,13 +16260,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4926]|0; + $2 = HEAP32[5002]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20852)>>2]|0; - $5 = HEAP32[(20840)>>2]|0; + $4 = HEAP32[(21156)>>2]|0; + $5 = HEAP32[(21144)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16270,7 +16274,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20840)>>2] = $10; + HEAP32[(21144)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16289,18 +16293,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4926]|0; + $4 = HEAP32[5002]|0; switch ($4|0) { case 1: { - $$sink37 = (20748);$$sink38 = (20760); + $$sink37 = (21052);$$sink38 = (21064); break; } case 4: { - $$sink37 = (20796);$$sink38 = (20808); + $$sink37 = (21100);$$sink38 = (21112); break; } case 7: { - $$sink37 = (20844);$$sink38 = (20856); + $$sink37 = (21148);$$sink38 = (21160); break; } default: { @@ -16339,8 +16343,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4924]|0; - $2 = HEAP32[4925]|0; + $1 = HEAP32[5000]|0; + $2 = HEAP32[5001]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16353,9 +16357,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4925] = $10; + HEAP32[5001] = $10; } - $11 = HEAP32[4925]|0; + $11 = HEAP32[5001]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16366,7 +16370,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5209]|0; + $0 = HEAP32[5285]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16389,7 +16393,7 @@ function _rlTextureParameters($0,$1,$2) { switch ($1|0) { case 10243: case 10242: { $3 = ($2|0)!=(34626); - $4 = HEAP32[4893]|0; + $4 = HEAP32[4969]|0; $5 = ($4|0)!=(0); $or$cond = $3 | $5; if ($or$cond) { @@ -16407,7 +16411,7 @@ function _rlTextureParameters($0,$1,$2) { } case 12288: { $6 = (+($2|0)); - $7 = +HEAPF32[4892]; + $7 = +HEAPF32[4968]; $8 = !($6 <= $7); if (!($8)) { _glTexParameterf(3553,34046,(+$6)); @@ -16435,40 +16439,11 @@ function _rlTextureParameters($0,$1,$2) { _glBindTexture(3553,0); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9443); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12080)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5365] = $0; + HEAP32[5441] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16532,7 +16507,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9455|0),(9481|0),1125,(9504|0)); + ___assert_fail((9443|0),(9469|0),1041,(9492|0)); // unreachable; } } @@ -16550,7 +16525,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5366]|0; + $15 = HEAP32[5442]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16643,7 +16618,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9545); + _stbi__err(9533); $$0 = 0; return ($$0|0); } else { @@ -16665,7 +16640,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9536); + _stbi__err(9524); $$0 = 0; return ($$0|0); } @@ -16735,7 +16710,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9564); + _stbi__err(9552); $$045 = 0; return ($$045|0); } @@ -17296,7 +17271,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9878 + ($120)|0); + $121 = (9866 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17338,97 +17313,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9652); + _stbi__err(9640); $$6$ph = 0; break; } case 9: { - _stbi__err(9666); + _stbi__err(9654); $$6$ph = 0; break; } case 11: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 13: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 15: { - _stbi__err(9689); + _stbi__err(9677); $$6$ph = 0; break; } case 17: { - _stbi__err(9709); + _stbi__err(9697); $$6$ph = 0; break; } case 20: { - _stbi__err(9709); + _stbi__err(9697); $$6$ph = 0; break; } case 22: { - _stbi__err(9709); + _stbi__err(9697); $$6$ph = 0; break; } case 24: { - _stbi__err(9719); + _stbi__err(9707); $$6$ph = 0; break; } case 26: { - _stbi__err(9735); + _stbi__err(9723); $$6$ph = 0; break; } case 28: { - _stbi__err(9753); + _stbi__err(9741); $$6$ph = 0; break; } case 31: { - _stbi__err(9774); + _stbi__err(9762); $$6$ph = 0; break; } case 34: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 37: { - _stbi__err(9679); + _stbi__err(9667); $$6$ph = 0; break; } case 39: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 41: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } case 44: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } case 47: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 49: { - _stbi__err(9816); + _stbi__err(9804); $$6$ph = 0; break; } @@ -17439,32 +17414,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9832); + _stbi__err(9820); $$6$ph = 0; break; } case 58: { - _stbi__err(9849); + _stbi__err(9837); $$6$ph = 0; break; } case 61: { - _stbi__err(9862); + _stbi__err(9850); $$6$ph = 0; break; } case 63: { - _stbi__err(9849); + _stbi__err(9837); $$6$ph = 0; break; } case 70: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 72: { - _stbi__err(9887); + _stbi__err(9875); $$6$ph = 0; break; } @@ -17476,12 +17451,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9536); + _stbi__err(9524); $$6$ph = 0; break; } case 83: { - _stbi__err(9895); + _stbi__err(9883); $$6$ph = 0; break; } @@ -17494,7 +17469,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9905); + _stbi__err(9893); $$4 = 0; break; } @@ -17559,7 +17534,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5367]|0; + $193 = HEAP32[5443]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17592,7 +17567,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9788); + _stbi__err(9776); $$4 = 0; } } while(0); @@ -17600,24 +17575,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9788); + _stbi__err(9776); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9913] = $206; + HEAP8[9901] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9914)>>0] = $209; + HEAP8[(9902)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9915)>>0] = $211; + HEAP8[(9903)>>0] = $211; $212 = $207&255; - HEAP8[(9916)>>0] = $212; - _stbi__err(9913); + HEAP8[(9904)>>0] = $212; + _stbi__err(9901); $$6$ph = 0; break; } @@ -17651,14 +17626,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9577|0),(9481|0),1561,(9631|0)); + ___assert_fail((9565|0),(9469|0),1477,(9619|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9536); + _stbi__err(9524); $$0163 = 0; return ($$0163|0); } @@ -18021,7 +17996,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12717|0),(9481|0),1590,(9631|0)); + ___assert_fail((13025|0),(9469|0),1506,(9619|0)); // unreachable; } } while(0); @@ -18055,7 +18030,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9577|0),(9481|0),1610,(9608|0)); + ___assert_fail((9565|0),(9469|0),1526,(9596|0)); // unreachable; } $7 = $2 << 1; @@ -18065,7 +18040,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9536); + _stbi__err(9524); $$0163 = 0; return ($$0163|0); } @@ -18428,7 +18403,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12717|0),(9481|0),1639,(9608|0)); + ___assert_fail((13025|0),(9469|0),1555,(9596|0)); // unreachable; } } while(0); @@ -18576,7 +18551,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10570); + _stbi__err(10878); $$05 = 0; return ($$05|0); } @@ -19013,7 +18988,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9972|0),(9481|0),4568,(10024|0)); + ___assert_fail((9960|0),(9469|0),4569,(10012|0)); // unreachable; } } @@ -19100,7 +19075,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9972|0),(9481|0),4543,(9997|0)); + ___assert_fail((9960|0),(9469|0),4544,(9985|0)); // unreachable; } } @@ -19147,7 +19122,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5368]|0; + $16 = HEAP32[5444]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19222,7 +19197,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9938|0),(9481|0),4649,(9956|0)); + ___assert_fail((9926|0),(9469|0),4650,(9944|0)); // unreachable; } } @@ -19245,7 +19220,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9536); + _stbi__err(9524); $$0 = 0; return ($$0|0); } @@ -19422,7 +19397,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10053|0),(9481|0),4294,(10094|0)); + ___assert_fail((10041|0),(9469|0),4294,(10082|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19430,7 +19405,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9536); + _stbi__err(9524); $$2 = 0; return ($$2|0); } @@ -19449,7 +19424,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10121); + _stbi__err(10109); $$2 = 0; return ($$2|0); } @@ -19462,7 +19437,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10121); + _stbi__err(10109); $$2 = 0; return ($$2|0); } @@ -19470,12 +19445,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19498,33 +19473,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10160 + ($56)|0); + $60 = (10148 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19534,24 +19509,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19561,10 +19536,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19575,10 +19550,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19589,14 +19564,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19626,7 +19601,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19641,12 +19616,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20223,15 +20198,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10139|0),(9481|0),4315,(10094|0)); + ___assert_fail((10127|0),(9469|0),4315,(10082|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10165|0),(9481|0),4376,(10094|0)); + ___assert_fail((10153|0),(9469|0),4377,(10082|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10182); + _stbi__err(10170); $$2 = 0; return ($$2|0); } @@ -20281,7 +20256,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9878 + ($6)|0); + $336 = (9866 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20722,7 +20697,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10197|0),(9481|0),4465,(10094|0)); + ___assert_fail((10185|0),(9469|0),4466,(10082|0)); // unreachable; } else if ((label|0) == 151) { @@ -20782,8 +20757,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20798,15 +20773,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20815,65 +20790,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23374)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10196,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,23375,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,23343,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10484,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20892,14 +20862,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10523); + _stbi__err(10831); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10539); + _stbi__err(10847); $$0 = 0; return ($$0|0); } @@ -20908,7 +20878,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10554); + _stbi__err(10862); $$0 = 0; return ($$0|0); } @@ -20991,7 +20961,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10445|0),(9481|0),4048,(10462|0)); + ___assert_fail((10753|0),(9469|0),4033,(10770|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21028,7 +20998,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10493); + _stbi__err(10801); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21038,7 +21008,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10506); + _stbi__err(10814); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21068,21 +21038,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23375|0),8,144)|0; - dest=(23519); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23631); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23655); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23343; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21216,7 +21171,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10383); + _stbi__err(10691); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21305,7 +21260,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10435); + _stbi__err(10743); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21334,7 +21289,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11220 + ($$06579)|0); + $14 = (11528 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21425,21 +21380,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10399|0),(9481|0),4021,(10407|0)); + ___assert_fail((10707|0),(9469|0),4006,(10715|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21449,7 +21404,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10383); + _stbi__err(10691); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21613,7 +21568,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10208); + _stbi__err(10516); $$3$ph = 0; return ($$3$ph|0); } @@ -21623,12 +21578,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10208); + _stbi__err(10516); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10225); + _stbi__err(10533); $$3$ph = 0; return ($$3$ph|0); } @@ -21685,7 +21640,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10234); + _stbi__err(10542); $$0 = 0; return ($$0|0); } @@ -21711,7 +21666,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9536); + _stbi__err(9524); $$0 = 0; return ($$0|0); } else { @@ -21756,7 +21711,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10330|0),(9481|0),3863,(10367|0)); + ___assert_fail((10638|0),(9469|0),3848,(10675|0)); // unreachable; } else if ((label|0) == 5) { @@ -21804,7 +21759,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10254|0),(9481|0),3891,(10270|0)); + ___assert_fail((10562|0),(9469|0),3876,(10578|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21832,7 +21787,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10301|0),(9481|0),3781,(10312|0)); + ___assert_fail((10609|0),(9469|0),3766,(10620|0)); // unreachable; } return (0)|0; @@ -21978,10 +21933,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21992,27 +21947,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11407)|0); + $6 = (_IsFileExtension($1,11715)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10629)|0); + $19 = (_IsFileExtension($1,10937)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10634,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10942,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,12388)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22040,7 +21996,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22057,18 +22013,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10582,$vararg_buffer); + _TraceLog(2,10890,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22077,34 +22033,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10670,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10709,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10978,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11017,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22123,11 +22086,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,12080)|0); + $4 = (_fopen($0,12388)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10768,$vararg_buffer); + _TraceLog(2,11076,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22226,7 +22189,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10865,$vararg_buffer4); + _TraceLog(0,11173,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22261,14 +22224,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10911,$vararg_buffer8); + _TraceLog(2,11219,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10819,$vararg_buffer1); + _TraceLog(2,11127,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22358,7 +22321,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10740,$vararg_buffer); + _TraceLog(2,11048,$vararg_buffer); $$0 = $6; } } @@ -22403,27 +22366,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10961,$vararg_buffer); + _TraceLog(2,11269,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11000,$vararg_buffer1); + _TraceLog(2,11308,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11026,$vararg_buffer3); + _TraceLog(2,11334,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11089,$vararg_buffer5); + _TraceLog(2,11397,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11124,$vararg_buffer7); + _TraceLog(2,11432,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11159,$vararg_buffer10); + _TraceLog(0,11467,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23606,7 +23569,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11216 + ($$361133)|0); + $199 = (11524 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24036,7 +23999,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11216 + ($$331130)|0); + $186 = (11524 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24074,7 +24037,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11216 + ($$371134)|0); + $203 = (11524 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24113,7 +24076,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11220 + ($$421139)|0); + $235 = (11528 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24520,7 +24483,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11239 + ($495)|0); + $496 = (11547 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24557,7 +24520,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11243 + ($515)|0); + $516 = (11551 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25483,7 +25446,7 @@ function _ImageAlphaMask($0,$1) { $14 = HEAP32[$13>>2]|0; $15 = ($14|0)>(7); if ($15) { - _TraceLog(2,11285,$vararg_buffer1); + _TraceLog(2,11593,$vararg_buffer1); STACKTOP = sp;return; } ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; @@ -25574,14 +25537,14 @@ function _ImageAlphaMask($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,11247,$vararg_buffer); + _TraceLog(2,11555,$vararg_buffer); STACKTOP = sp;return; } function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19264>>2]|0;HEAP32[$0+4>>2]=HEAP32[19264+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19264+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19264+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19264+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19264+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19264+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19264+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19568>>2]|0;HEAP32[$0+4>>2]=HEAP32[19568+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19568+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19568+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19568+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19568+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19568+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19568+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -25775,7 +25738,7 @@ function _SetTextureFilter($0,$1) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11342,$vararg_buffer); + _TraceLog(2,11650,$vararg_buffer); $19 = HEAP32[$0>>2]|0; _rlTextureParameters($19,10241,9729); _rlTextureParameters($19,10240,9729); @@ -25960,18 +25923,18 @@ function _LoadSpriteFont($0,$1) { $8 = sp + 64|0; $9 = sp + 8|0; ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,11407)|0); + $10 = (_IsFileExtension($1,11715)|0); $11 = ($10|0)==(0); do { if ($11) { - $35 = (_IsFileExtension($1,11413)|0); + $35 = (_IsFileExtension($1,11721)|0); $36 = ($35|0)==(0); if (!($36)) { _LoadSpriteFontTTF($4,$1,32,0,0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; break; } - $37 = (_IsFileExtension($1,11418)|0); + $37 = (_IsFileExtension($1,11726)|0); $38 = ($37|0)==(0); if (!($38)) { _LoadBMFont($5,$1); @@ -26039,7 +26002,7 @@ function _LoadSpriteFont($0,$1) { $45 = ($44|0)==(0); if ($45) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11423,$vararg_buffer); + _TraceLog(2,11731,$vararg_buffer); _GetDefaultFont($9); ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; @@ -26067,7 +26030,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { $6 = sp + 40|0; $7 = sp + 8|0; ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,11413)|0); + $8 = (_IsFileExtension($1,11721)|0); $9 = ($8|0)==(0); if (!($9)) { $10 = ($4|0)==(0|0); @@ -26110,7 +26073,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { } } HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11967,$vararg_buffer); + _TraceLog(2,12275,$vararg_buffer); _GetDefaultFont($7); $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); @@ -26159,17 +26122,17 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; HEAP32[$4>>2] = 0; HEAP32[$8>>2] = 0; - $15 = (_fopen($1,11565)|0); + $15 = (_fopen($1,11873)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11568,$vararg_buffer); + _TraceLog(2,11876,$vararg_buffer); ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; } (_fgets($3,256,$15)|0); (_fgets($3,256,$15)|0); - $17 = (_strstr($3,11602)|0); + $17 = (_strstr($3,11910)|0); HEAP32[$vararg_buffer1>>2] = $4; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; @@ -26177,12 +26140,12 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr5>>2] = $5; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,11613,$vararg_buffer1)|0); + (_sscanf($17,11921,$vararg_buffer1)|0); $18 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,11655,$vararg_buffer7); + _TraceLog(3,11963,$vararg_buffer7); $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer11>>2] = $1; @@ -26190,24 +26153,24 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr14>>2] = $19; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,11674,$vararg_buffer11); + _TraceLog(3,11982,$vararg_buffer11); (_fgets($3,256,$15)|0); - $21 = (_strstr($3,11705)|0); + $21 = (_strstr($3,12013)|0); HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,11710,$vararg_buffer16)|0); + (_sscanf($21,12018,$vararg_buffer16)|0); HEAP32[$vararg_buffer19>>2] = $1; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,11726,$vararg_buffer19); + _TraceLog(3,12034,$vararg_buffer19); (_fgets($3,256,$15)|0); - $22 = (_strstr($3,11757)|0); + $22 = (_strstr($3,12065)|0); HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,11763,$vararg_buffer23)|0); + (_sscanf($22,12071,$vararg_buffer23)|0); $23 = HEAP32[$8>>2]|0; HEAP32[$vararg_buffer26>>2] = $1; $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,11772,$vararg_buffer26); + _TraceLog(3,12080,$vararg_buffer26); $24 = (_strrchr($1,47)|0); $25 = (_strlen($1)|0); $26 = (_strlen($24)|0); @@ -26227,7 +26190,7 @@ function _LoadBMFont($0,$1) { HEAP32[$$byval_copy52>>2] = $1; $vararg_ptr33 = ((($$byval_copy52)) + 4|0); HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,11796,$$byval_copy52); + _TraceLog(3,12104,$$byval_copy52); _LoadImage($vararg_buffer26,$31); $37 = ((($vararg_buffer26)) + 16|0); $38 = HEAP32[$37>>2]|0; @@ -26305,7 +26268,7 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr42>>2] = $12; $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,11831,$vararg_buffer34)|0); + (_sscanf($3,12139,$vararg_buffer34)|0); $64 = HEAP32[$vararg_buffer23>>2]|0; $65 = HEAP32[$59>>2]|0; $66 = (($65) + ($$05355<<5)|0); @@ -26355,7 +26318,7 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; } else { HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,11905,$vararg_buffer44); + _TraceLog(0,12213,$vararg_buffer44); } ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; @@ -26652,7 +26615,7 @@ function _LoadImageFont($0,$1,$2) { } else { $$0201$lcssa = 0; } - _TraceLog(3,11479,$vararg_buffer); + _TraceLog(3,11787,$vararg_buffer); $145 = HEAP32[$7>>2]|0; $146 = HEAP32[$63>>2]|0; $147 = Math_imul($146, $145)|0; @@ -26715,7 +26678,7 @@ function _LoadImageFont($0,$1,$2) { } else { $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11523,$vararg_buffer1); + _TraceLog(0,11831,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26749,7 +26712,7 @@ function _LoadImageFont($0,$1,$2) { } $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11523,$vararg_buffer1); + _TraceLog(0,11831,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26779,7 +26742,7 @@ function _UnloadSpriteFont($0) { $5 = ((($0)) + 28|0); $6 = HEAP32[$5>>2]|0; _free($6); - _TraceLog(3,11941,$vararg_buffer); + _TraceLog(3,12249,$vararg_buffer); STACKTOP = sp;return; } function _LoadTTF($0,$1,$2,$3,$4) { @@ -26818,18 +26781,18 @@ function _LoadTTF($0,$1,$2,$3,$4) { HEAP32[$$byval_copy9>>2] = $18; $vararg_ptr1 = ((($$byval_copy9)) + 4|0); HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12026,$$byval_copy9); + _TraceLog(0,12334,$$byval_copy9); $19 = (_malloc(16777216)|0); $20 = Math_imul($18, $18)|0; $21 = (_malloc($20)|0); $22 = ($3*20)|0; $23 = (_malloc($22)|0); ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12080)|0); + $24 = (_fopen($1,12388)|0); $25 = ($24|0)==(0|0); if ($25) { HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12083,$vararg_buffer2); + _TraceLog(2,12391,$vararg_buffer2); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; @@ -26843,13 +26806,13 @@ function _LoadTTF($0,$1,$2,$3,$4) { $26 = HEAP32[$4>>2]|0; $27 = ($26|0)==(32); if (!($27)) { - _TraceLog(2,12117,$vararg_buffer5); + _TraceLog(2,12425,$vararg_buffer5); } $28 = HEAP32[$4>>2]|0; $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); $30 = ($29|0)<(0); if ($30) { - _TraceLog(2,12184,$vararg_buffer7); + _TraceLog(2,12492,$vararg_buffer7); } _free($19); $31 = $20 << 1; @@ -27087,7 +27050,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((12247|0),(12257|0),3273,(12283|0)); + ___assert_fail((12555|0),(12565|0),3274,(12591|0)); // unreachable; } else if ((label|0) == 11) { @@ -27190,7 +27153,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((12717|0),(12257|0),1346,(13059|0)); + ___assert_fail((13025|0),(12565|0),1347,(13367|0)); // unreachable; break; } @@ -27256,7 +27219,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((13080|0),(12257|0),1382,(13059|0)); + ___assert_fail((13388|0),(12565|0),1383,(13367|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -27317,7 +27280,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((12717|0),(12257|0),1417,(13059|0)); + ___assert_fail((13025|0),(12565|0),1418,(13367|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -28197,11 +28160,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((12313|0),(12257|0),2774,(12326|0)); + ___assert_fail((12621|0),(12565|0),2775,(12634|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12356|0),(12257|0),2787,(12326|0)); + ___assert_fail((12664|0),(12565|0),2788,(12634|0)); // unreachable; } } @@ -28246,7 +28209,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((12646|0),(12257|0),2373,(12662|0)); + ___assert_fail((12954|0),(12565|0),2374,(12970|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -28574,19 +28537,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((12376|0),(12257|0),2585,(12391|0)); + ___assert_fail((12684|0),(12565|0),2586,(12699|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((12420|0),(12257|0),2604,(12391|0)); + ___assert_fail((12728|0),(12565|0),2605,(12699|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12456|0),(12257|0),2632,(12391|0)); + ___assert_fail((12764|0),(12565|0),2633,(12699|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((12474|0),(12257|0),2669,(12391|0)); + ___assert_fail((12782|0),(12565|0),2670,(12699|0)); // unreachable; } else if ((label|0) == 42) { @@ -28635,7 +28598,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((12494|0),(12257|0),2543,(12502|0)); + ___assert_fail((12802|0),(12565|0),2544,(12810|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -28644,7 +28607,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((12529|0),(12257|0),2544,(12502|0)); + ___assert_fail((12837|0),(12565|0),2545,(12810|0)); // unreachable; } $14 = $12 < $4; @@ -28686,7 +28649,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((12544|0),(12257|0),2557,(12502|0)); + ___assert_fail((12852|0),(12565|0),2558,(12810|0)); // unreachable; } } else { @@ -28696,7 +28659,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((12554|0),(12257|0),2559,(12502|0)); + ___assert_fail((12862|0),(12565|0),2560,(12810|0)); // unreachable; } $38 = !($$079 <= $31); @@ -28705,7 +28668,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((12562|0),(12257|0),2561,(12502|0)); + ___assert_fail((12870|0),(12565|0),2562,(12810|0)); // unreachable; } $40 = !($$079 >= $34); @@ -28716,14 +28679,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((12580|0),(12257|0),2565,(12502|0)); + ___assert_fail((12888|0),(12565|0),2566,(12810|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((12570|0),(12257|0),2563,(12502|0)); + ___assert_fail((12878|0),(12565|0),2564,(12810|0)); // unreachable; } } @@ -28756,7 +28719,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((12601|0),(12257|0),2572,(12502|0)); + ___assert_fail((12909|0),(12565|0),2573,(12810|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -29292,7 +29255,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((12680|0),(12257|0),1439,(12696|0)); + ___assert_fail((12988|0),(12565|0),1440,(13004|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -30239,7 +30202,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((12922|0),(12257|0),1117,(12942|0)); + ___assert_fail((13230|0),(12565|0),1118,(13250|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -30257,7 +30220,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((12839|0),(12257|0),1118,(12942|0)); + ___assert_fail((13147|0),(12565|0),1119,(13250|0)); // unreachable; } } @@ -30502,7 +30465,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((12734|0),(12257|0),1013,(12751|0)); + ___assert_fail((13042|0),(12565|0),1014,(13059|0)); // unreachable; } while(1) { @@ -30573,7 +30536,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((12717|0),(12257|0),1063,(12719|0)); + ___assert_fail((13025|0),(12565|0),1064,(13027|0)); // unreachable; } } @@ -30744,7 +30707,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((12766|0),(12257|0),1022,(12784|0)); + ___assert_fail((13074|0),(12565|0),1023,(13092|0)); // unreachable; } } @@ -30759,7 +30722,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((12799|0),(12257|0),1000,(12823|0)); + ___assert_fail((13107|0),(12565|0),1001,(13131|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -30904,7 +30867,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((12839|0),(12257|0),1048,(12868|0)); + ___assert_fail((13147|0),(12565|0),1049,(13176|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -31001,7 +30964,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((12889|0),(12257|0),1069,(12898|0)); + ___assert_fail((13197|0),(12565|0),1070,(13206|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -31328,7 +31291,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((12717|0),(12257|0),1723,(13036|0)); + ___assert_fail((13025|0),(12565|0),1724,(13344|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -31512,7 +31475,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((12717|0),(12257|0),1670,(13036|0)); + ___assert_fail((13025|0),(12565|0),1671,(13344|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -31567,7 +31530,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((12963|0),(12257|0),2113,(13013|0)); + ___assert_fail((13271|0),(12565|0),2114,(13321|0)); // unreachable; } } @@ -31657,23 +31620,23 @@ function _stbtt_InitFont_internal($0,$1) { $20 = ((($0)) + 48|0); _stbtt__new_buf($2,0,0); ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13136)|0); - $22 = (_stbtt__find_table($1,13141)|0); + $21 = (_stbtt__find_table($1,13444)|0); + $22 = (_stbtt__find_table($1,13449)|0); $23 = ((($0)) + 16|0); HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13146)|0); + $24 = (_stbtt__find_table($1,13454)|0); $25 = ((($0)) + 20|0); HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13151)|0); + $26 = (_stbtt__find_table($1,13459)|0); $27 = ((($0)) + 24|0); HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13156)|0); + $28 = (_stbtt__find_table($1,13464)|0); $29 = ((($0)) + 28|0); HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13161)|0); + $30 = (_stbtt__find_table($1,13469)|0); $31 = ((($0)) + 32|0); HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13166)|0); + $32 = (_stbtt__find_table($1,13474)|0); $33 = ((($0)) + 36|0); HEAP32[$33>>2] = $32; $34 = ($21|0)==(0); @@ -31707,7 +31670,7 @@ function _stbtt_InitFont_internal($0,$1) { HEAP32[$7>>2] = 0; HEAP32[$8>>2] = 0; HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13171)|0); + $45 = (_stbtt__find_table($1,13479)|0); $46 = ($45|0)==(0); do { if (!($46)) { @@ -31786,7 +31749,7 @@ function _stbtt_InitFont_internal($0,$1) { } } } while(0); - $68 = (_stbtt__find_table($1,13176)|0); + $68 = (_stbtt__find_table($1,13484)|0); $69 = ($68|0)==(0); if ($69) { $$sink = 65535; @@ -32150,7 +32113,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13181)|0); + $12 = (_strstr($11,13489)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -32159,7 +32122,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13185)|0); + $17 = (_strstr($16,13493)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -32168,7 +32131,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13189)|0); + $22 = (_strstr($21,13497)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -32177,7 +32140,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13193)|0); + $27 = (_strstr($26,13501)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -32186,1210 +32149,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13199)|0); + $32 = (_strcmp($31,13507)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13237)|0); + $35 = (_strcmp($34,13545)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 13256; + HEAP32[$3>>2] = 13564; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13269)|0); + $38 = (_strcmp($37,13577)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 13290; + HEAP32[$3>>2] = 13598; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13305)|0); + $41 = (_strcmp($40,13613)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 13320; + HEAP32[$3>>2] = 13628; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13335)|0); + $44 = (_strcmp($43,13643)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 13350; + HEAP32[$3>>2] = 13658; } } else { - HEAP32[$3>>2] = 13221; + HEAP32[$3>>2] = 13529; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13365)|0); + $47 = (_strcmp($46,13673)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13379)|0); + $50 = (_strcmp($49,13687)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13391)|0); + $53 = (_strcmp($52,13699)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13405)|0); + $56 = (_strcmp($55,13713)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13417)|0); + $59 = (_strcmp($58,13725)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13431)|0); + $62 = (_strcmp($61,13739)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13445)|0); + $65 = (_strcmp($64,13753)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13462)|0); + $68 = (_strcmp($67,13770)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13485)|0); + $71 = (_strcmp($70,13793)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13511)|0); + $74 = (_strcmp($73,13819)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13524)|0); + $77 = (_strcmp($76,13832)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13540)|0); + $80 = (_strcmp($79,13848)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13553)|0); + $83 = (_strcmp($82,13861)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13567)|0); + $86 = (_strcmp($85,13875)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13587)|0); + $89 = (_strcmp($88,13895)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13607)|0); + $92 = (_strcmp($91,13915)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13624)|0); + $95 = (_strcmp($94,13932)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13641)|0); + $98 = (_strcmp($97,13949)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13653)|0); + $101 = (_strcmp($100,13961)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13666)|0); + $104 = (_strcmp($103,13974)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13682)|0); + $107 = (_strcmp($106,13990)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13705)|0); + $110 = (_strcmp($109,14013)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13718)|0); + $113 = (_strcmp($112,14026)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13734)|0); + $116 = (_strcmp($115,14042)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13745)|0); + $119 = (_strcmp($118,14053)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13764)|0); + $122 = (_strcmp($121,14072)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13786)|0); + $125 = (_strcmp($124,14094)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13805)|0); + $128 = (_strcmp($127,14113)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13834)|0); + $131 = (_strcmp($130,14142)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13851)|0); + $134 = (_strcmp($133,14159)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13866)|0); + $137 = (_strcmp($136,14174)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13881)|0); + $140 = (_strcmp($139,14189)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13902)|0); + $143 = (_strcmp($142,14210)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13922)|0); + $146 = (_strcmp($145,14230)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13942)|0); + $149 = (_strcmp($148,14250)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,13968)|0); + $152 = (_strcmp($151,14276)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,13987)|0); + $155 = (_strcmp($154,14295)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,13999)|0); + $158 = (_strcmp($157,14307)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14011)|0); + $161 = (_strcmp($160,14319)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14023)|0); + $164 = (_strcmp($163,14331)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14035)|0); + $167 = (_strcmp($166,14343)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14047)|0); + $170 = (_strcmp($169,14355)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14059)|0); + $173 = (_strcmp($172,14367)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14071)|0); + $176 = (_strcmp($175,14379)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14083)|0); + $179 = (_strcmp($178,14391)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14096)|0); + $182 = (_strcmp($181,14404)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14109)|0); + $185 = (_strcmp($184,14417)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14122)|0); + $188 = (_strcmp($187,14430)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14135)|0); + $191 = (_strcmp($190,14443)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14148)|0); + $194 = (_strcmp($193,14456)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14161)|0); + $197 = (_strcmp($196,14469)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14174)|0); + $200 = (_strcmp($199,14482)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14187)|0); + $203 = (_strcmp($202,14495)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14206)|0); + $206 = (_strcmp($205,14514)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14225)|0); + $209 = (_strcmp($208,14533)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14244)|0); + $212 = (_strcmp($211,14552)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14257)|0); + $215 = (_strcmp($214,14565)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14275)|0); + $218 = (_strcmp($217,14583)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14293)|0); + $221 = (_strcmp($220,14601)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14311)|0); + $224 = (_strcmp($223,14619)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14329)|0); + $227 = (_strcmp($226,14637)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14349)|0); + $230 = (_strcmp($229,14657)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13290)|0); + $233 = (_strcmp($232,13598)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14367)|0); + $236 = (_strcmp($235,14675)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14382)|0); + $239 = (_strcmp($238,14690)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14403)|0); + $242 = (_strcmp($241,14711)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14418)|0); + $245 = (_strcmp($244,14726)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14436)|0); + $248 = (_strcmp($247,14744)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14452)|0); + $251 = (_strcmp($250,14760)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14471)|0); + $254 = (_strcmp($253,14779)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14485)|0); + $257 = (_strcmp($256,14793)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14500)|0); + $260 = (_strcmp($259,14808)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13221)|0); + $263 = (_strcmp($262,13529)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14511)|0); + $266 = (_strcmp($265,14819)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13320)|0); + $269 = (_strcmp($268,13628)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13350)|0); + $272 = (_strcmp($271,13658)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14527)|0); + $275 = (_strcmp($274,14835)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14554)|0); + $278 = (_strcmp($277,14862)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14568)|0); + $281 = (_strcmp($280,14876)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13256)|0); + $284 = (_strcmp($283,13564)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14588)|0); + $287 = (_strcmp($286,14896)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14606)|0); + $290 = (_strcmp($289,14914)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14618)|0); + $293 = (_strcmp($292,14926)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14639)|0); + $296 = (_strcmp($295,14947)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14657)|0); + $299 = (_strcmp($298,14965)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14675)|0); + $302 = (_strcmp($301,14983)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14696)|0); + $305 = (_strcmp($304,15004)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14722)|0); + $308 = (_strcmp($307,15030)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14745)|0); + $311 = (_strcmp($310,15053)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14783)|0); + $314 = (_strcmp($313,15091)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14799)|0); + $317 = (_strcmp($316,15107)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14814)|0); + $320 = (_strcmp($319,15122)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14837)|0); + $323 = (_strcmp($322,15145)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14850)|0); + $326 = (_strcmp($325,15158)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14864)|0); + $329 = (_strcmp($328,15172)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14878)|0); + $332 = (_strcmp($331,15186)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14898)|0); + $335 = (_strcmp($334,15206)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14918)|0); + $338 = (_strcmp($337,15226)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14934)|0); + $341 = (_strcmp($340,15242)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,14952)|0); + $344 = (_strcmp($343,15260)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,14968)|0); + $347 = (_strcmp($346,15276)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,14983)|0); + $350 = (_strcmp($349,15291)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15005)|0); + $353 = (_strcmp($352,15313)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15023)|0); + $356 = (_strcmp($355,15331)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15044)|0); + $359 = (_strcmp($358,15352)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15062)|0); + $362 = (_strcmp($361,15370)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15075)|0); + $365 = (_strcmp($364,15383)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15090)|0); + $368 = (_strcmp($367,15398)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15104)|0); + $371 = (_strcmp($370,15412)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15114)|0); + $374 = (_strcmp($373,15422)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15124)|0); + $377 = (_strcmp($376,15432)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15146)|0); + $380 = (_strcmp($379,15454)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15172)|0); + $383 = (_strcmp($382,15480)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15199)|0); + $386 = (_strcmp($385,15507)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15212)|0); + $389 = (_strcmp($388,15520)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15227)|0); + $392 = (_strcmp($391,15535)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15242)|0); + $395 = (_strcmp($394,15550)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15266)|0); + $398 = (_strcmp($397,15574)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15277)|0); + $401 = (_strcmp($400,15585)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15299)|0); + $404 = (_strcmp($403,15607)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15321)|0); + $407 = (_strcmp($406,15629)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15345)|0); + $410 = (_strcmp($409,15653)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15354)|0); + $413 = (_strcmp($412,15662)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15362)|0); + $416 = (_strcmp($415,15670)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15375)|0); + $419 = (_strcmp($418,15683)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15389)|0); + $422 = (_strcmp($421,15697)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15401)|0); + $425 = (_strcmp($424,15709)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15410)|0); + $428 = (_strcmp($427,15718)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15420)|0); + $431 = (_strcmp($430,15728)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15432)|0); + $434 = (_strcmp($433,15740)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15443)|0); + $437 = (_strcmp($436,15751)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15451)|0); + $440 = (_strcmp($439,15759)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15463)|0); + $443 = (_strcmp($442,15771)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15478)|0); + $446 = (_strcmp($445,15786)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15490)|0); + $449 = (_strcmp($448,15798)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15504)|0); + $452 = (_strcmp($451,15812)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15529)|0); + $455 = (_strcmp($454,15837)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15546)|0); + $458 = (_strcmp($457,15854)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15562)|0); + $461 = (_strcmp($460,15870)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15578)|0); + $464 = (_strcmp($463,15886)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15590)|0); + $467 = (_strcmp($466,15898)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15602)|0); + $470 = (_strcmp($469,15910)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15626)|0); + $473 = (_strcmp($472,15934)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15639)|0); + $476 = (_strcmp($475,15947)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15653)|0); + $479 = (_strcmp($478,15961)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15675)|0); + $482 = (_strcmp($481,15983)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15682)|0); + $485 = (_strcmp($484,15990)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15698)|0); + $488 = (_strcmp($487,16006)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15715)|0); + $491 = (_strcmp($490,16023)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15732)|0); + $494 = (_strcmp($493,16040)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15748)|0); + $497 = (_strcmp($496,16056)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15764)|0); + $500 = (_strcmp($499,16072)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15781)|0); + $503 = (_strcmp($502,16089)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15795)|0); + $506 = (_strcmp($505,16103)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15807)|0); + $509 = (_strcmp($508,16115)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15818)|0); + $512 = (_strcmp($511,16126)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15831)|0); + $515 = (_strcmp($514,16139)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15841)|0); + $518 = (_strcmp($517,16149)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15858)|0); + $521 = (_strcmp($520,16166)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15870)|0); + $524 = (_strcmp($523,16178)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15892)|0); + $527 = (_strcmp($526,16200)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15912)|0); + $530 = (_strcmp($529,16220)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15925)|0); + $533 = (_strcmp($532,16233)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15947)|0); + $536 = (_strcmp($535,16255)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,15967)|0); + $539 = (_strcmp($538,16275)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,15984)|0); + $542 = (_strcmp($541,16292)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16001)|0); + $545 = (_strcmp($544,16309)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16021)|0); + $548 = (_strcmp($547,16329)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -33411,7 +33374,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21476|0); + return (21780|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33868,7 +33831,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((16138) + ($50)|0); + $49 = ((16446) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -33900,7 +33863,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((16138) + ($$0159)|0); + $60 = ((16446) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -34036,10 +33999,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (16394 + ($128)|0); + $129 = (16702 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((16138) + ($$1160169)|0); + $132 = ((16446) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -34061,7 +34024,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((16138) + ($$4163$be)|0); + $146 = ((16446) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -34112,7 +34075,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((16138) + ($$5$be)|0); + $178 = ((16446) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -34131,7 +34094,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((16138) + ($$1160169)|0); + $122 = ((16446) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -34153,7 +34116,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((16138) + ($$6$be)|0); + $197 = ((16446) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -34215,7 +34178,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((16138) + ($$7$be)|0); + $234 = ((16446) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -34234,7 +34197,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((16138) + ($$8)|0); + $238 = ((16446) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -34253,7 +34216,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((16138) + ($$9$be)|0); + $249 = ((16446) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -35020,7 +34983,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((16403 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((16711 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35198,7 +35161,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16867;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 17175;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35219,7 +35182,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16867;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 17175;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35227,8 +35190,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16867 : (16869); - $$$ = $238 ? $$ : (16868); + $$ = $240 ? 17175 : (17177); + $$$ = $238 ? $$ : (17176); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35245,7 +35208,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16867;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 17175;$242 = $167;$243 = $170; label = 66; break; } @@ -35258,7 +35221,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16867;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 17175;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35272,7 +35235,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16877; + $271 = $270 ? $269 : 17185; $$1 = $271; label = 71; break; @@ -35312,7 +35275,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16867;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 17175;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35334,8 +35297,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16867 + ($208)|0); - $$289 = $or$cond283 ? 16867 : $209; + $209 = (17175 + ($208)|0); + $$289 = $or$cond283 ? 17175 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35356,7 +35319,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16867;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 17175;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -35886,7 +35849,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16915 + ($7)|0); + $9 = (17223 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36244,14 +36207,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16884; + $$0471 = $14;$$0520 = 1;$$0521 = 17192; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16885) : (16890); - $$$ = $16 ? $$ : (16887); + $$ = $18 ? (17193) : (17198); + $$$ = $16 ? $$ : (17195); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36350,7 +36313,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16915 + ($80)|0); + $81 = (17223 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -36961,7 +36924,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16931,1); + _out($0,17239,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -37042,7 +37005,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16931,1); + _out($0,17239,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37099,9 +37062,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16903 : 16907; + $29 = $28 ? 17211 : 17215; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18834 : 16911; + $31 = $28 ? 19142 : 17219; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37311,7 +37274,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16933 + ($$016)|0); + $3 = (17241 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37322,7 +37285,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 17021;$$115 = 87; + $$01214 = 17329;$$115 = 87; label = 5; break; } else { @@ -37332,9 +37295,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 17021; + $$012$lcssa = 17329; } else { - $$01214 = 17021;$$115 = $$016; + $$01214 = 17329;$$115 = $$016; label = 5; } } @@ -37739,7 +37702,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18825 + ($$0107127)|0); + $27 = (19133 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -37806,7 +37769,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18834 + ($$2109125)|0); + $58 = (19142 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -40057,7 +40020,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21540 : $3; + $$ = $5 ? 21844 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -40348,7 +40311,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18838,$3,4)|0); + $memchr = (_memchr(19146,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -40437,7 +40400,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18838,$4,4)|0); + $memchr = (_memchr(19146,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -40528,7 +40491,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21480)>>2]|0; + $38 = HEAP32[(21784)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -40561,13 +40524,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21544|0)); - return (21552|0); + ___lock((21848|0)); + return (21856|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21544|0)); + ___unlock((21848|0)); return; } function _fclose($0) { @@ -42883,7 +42846,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 19112; + $2 = 19416; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -43138,7 +43101,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5389]|0; + $3 = HEAP32[5465]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -43157,22 +43120,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5389] = 0; + HEAP32[5465] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5389] = $10; + HEAP32[5465] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5389] = 0; + HEAP32[5465] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5389] = $13; + HEAP32[5465] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -43253,7 +43216,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5390]|0; + $8 = HEAP32[5466]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -43262,7 +43225,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21600 + ($15<<2)|0); + $16 = (21904 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -43273,9 +43236,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5390] = $24; + HEAP32[5466] = $24; } else { - $25 = HEAP32[(21576)>>2]|0; + $25 = HEAP32[(21880)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -43306,7 +43269,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21568)>>2]|0; + $37 = HEAP32[(21872)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -43340,7 +43303,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21600 + ($68<<2)|0); + $69 = (21904 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -43351,10 +43314,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5390] = $77; + HEAP32[5466] = $77; $98 = $77; } else { - $78 = HEAP32[(21576)>>2]|0; + $78 = HEAP32[(21880)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -43387,22 +43350,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21580)>>2]|0; + $92 = HEAP32[(21884)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21600 + ($94<<2)|0); + $95 = (21904 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5390] = $100; + HEAP32[5466] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21576)>>2]|0; + $103 = HEAP32[(21880)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -43419,12 +43382,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21568)>>2] = $84; - HEAP32[(21580)>>2] = $87; + HEAP32[(21872)>>2] = $84; + HEAP32[(21884)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21564)>>2]|0; + $108 = HEAP32[(21868)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -43452,7 +43415,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21864 + ($132<<2)|0); + $133 = (22168 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -43492,7 +43455,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21576)>>2]|0; + $155 = HEAP32[(21880)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -43587,7 +43550,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21864 + ($188<<2)|0); + $189 = (22168 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -43598,11 +43561,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21564)>>2] = $194; + HEAP32[(21868)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21576)>>2]|0; + $195 = HEAP32[(21880)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -43623,7 +43586,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21576)>>2]|0; + $201 = HEAP32[(21880)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -43653,7 +43616,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21576)>>2]|0; + $213 = HEAP32[(21880)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -43690,22 +43653,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21580)>>2]|0; + $231 = HEAP32[(21884)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21600 + ($233<<2)|0); + $234 = (21904 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5390] = $238; + HEAP32[5466] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21576)>>2]|0; + $241 = HEAP32[(21880)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -43722,8 +43685,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21568)>>2] = $$0193$lcssa$i; - HEAP32[(21580)>>2] = $157; + HEAP32[(21872)>>2] = $$0193$lcssa$i; + HEAP32[(21884)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -43739,7 +43702,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21564)>>2]|0; + $250 = HEAP32[(21868)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -43779,7 +43742,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21864 + ($$0358$i<<2)|0); + $278 = (22168 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -43871,7 +43834,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21864 + ($330<<2)|0); + $331 = (22168 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -43915,11 +43878,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21568)>>2]|0; + $345 = HEAP32[(21872)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21576)>>2]|0; + $348 = HEAP32[(21880)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -44016,7 +43979,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21864 + ($381<<2)|0); + $382 = (22168 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -44027,12 +43990,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21564)>>2] = $387; + HEAP32[(21868)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21576)>>2]|0; + $388 = HEAP32[(21880)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -44054,7 +44017,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21576)>>2]|0; + $394 = HEAP32[(21880)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -44086,7 +44049,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21576)>>2]|0; + $406 = HEAP32[(21880)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -44127,20 +44090,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21600 + ($425<<2)|0); - $427 = HEAP32[5390]|0; + $426 = (21904 + ($425<<2)|0); + $427 = HEAP32[5466]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5390] = $431; + HEAP32[5466] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21576)>>2]|0; + $434 = HEAP32[(21880)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -44192,7 +44155,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21864 + ($$0361$i<<2)|0); + $464 = (22168 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -44204,7 +44167,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21564)>>2] = $472; + HEAP32[(21868)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -44243,7 +44206,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21576)>>2]|0; + $491 = HEAP32[(21880)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -44262,7 +44225,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21576)>>2]|0; + $498 = HEAP32[(21880)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -44295,16 +44258,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21568)>>2]|0; + $506 = HEAP32[(21872)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21580)>>2]|0; + $509 = HEAP32[(21884)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21580)>>2] = $511; - HEAP32[(21568)>>2] = $508; + HEAP32[(21884)>>2] = $511; + HEAP32[(21872)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -44314,8 +44277,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21568)>>2] = 0; - HEAP32[(21580)>>2] = 0; + HEAP32[(21872)>>2] = 0; + HEAP32[(21884)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -44329,14 +44292,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21572)>>2]|0; + $524 = HEAP32[(21876)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21572)>>2] = $526; - $527 = HEAP32[(21584)>>2]|0; + HEAP32[(21876)>>2] = $526; + $527 = HEAP32[(21888)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21584)>>2] = $528; + HEAP32[(21888)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -44347,23 +44310,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5508]|0; + $534 = HEAP32[5584]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22040)>>2] = 4096; - HEAP32[(22036)>>2] = 4096; - HEAP32[(22044)>>2] = -1; - HEAP32[(22048)>>2] = -1; - HEAP32[(22052)>>2] = 0; - HEAP32[(22004)>>2] = 0; + HEAP32[(22344)>>2] = 4096; + HEAP32[(22340)>>2] = 4096; + HEAP32[(22348)>>2] = -1; + HEAP32[(22352)>>2] = -1; + HEAP32[(22356)>>2] = 0; + HEAP32[(22308)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5508] = $538; + HEAP32[5584] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22040)>>2]|0; + $$pre$i212 = HEAP32[(22344)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -44376,10 +44339,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22000)>>2]|0; + $546 = HEAP32[(22304)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(21992)>>2]|0; + $548 = HEAP32[(22296)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -44389,18 +44352,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22004)>>2]|0; + $552 = HEAP32[(22308)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21584)>>2]|0; + $555 = HEAP32[(21888)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22008); + $$0$i$i = (22312); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -44458,7 +44421,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22036)>>2]|0; + $569 = HEAP32[(22340)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -44468,13 +44431,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(21992)>>2]|0; + $578 = HEAP32[(22296)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22000)>>2]|0; + $582 = HEAP32[(22304)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -44520,7 +44483,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22040)>>2]|0; + $601 = HEAP32[(22344)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -44545,9 +44508,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22004)>>2]|0; + $611 = HEAP32[(22308)>>2]|0; $612 = $611 | 4; - HEAP32[(22004)>>2] = $612; + HEAP32[(22308)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -44583,35 +44546,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(21992)>>2]|0; + $626 = HEAP32[(22296)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(21992)>>2] = $627; - $628 = HEAP32[(21996)>>2]|0; + HEAP32[(22296)>>2] = $627; + $628 = HEAP32[(22300)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(21996)>>2] = $627; + HEAP32[(22300)>>2] = $627; } - $630 = HEAP32[(21584)>>2]|0; + $630 = HEAP32[(21888)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21576)>>2]|0; + $632 = HEAP32[(21880)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21576)>>2] = $$749$i; - } - HEAP32[(22008)>>2] = $$749$i; - HEAP32[(22012)>>2] = $$723948$i; - HEAP32[(22020)>>2] = 0; - $635 = HEAP32[5508]|0; - HEAP32[(21596)>>2] = $635; - HEAP32[(21592)>>2] = -1; + HEAP32[(21880)>>2] = $$749$i; + } + HEAP32[(22312)>>2] = $$749$i; + HEAP32[(22316)>>2] = $$723948$i; + HEAP32[(22324)>>2] = 0; + $635 = HEAP32[5584]|0; + HEAP32[(21900)>>2] = $635; + HEAP32[(21896)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21600 + ($636<<2)|0); + $637 = (21904 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -44634,18 +44597,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21584)>>2] = $649; - HEAP32[(21572)>>2] = $650; + HEAP32[(21888)>>2] = $649; + HEAP32[(21876)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22048)>>2]|0; - HEAP32[(21588)>>2] = $655; + $655 = HEAP32[(22352)>>2]|0; + HEAP32[(21892)>>2] = $655; } else { - $$024371$i = (22008); + $$024371$i = (22312); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -44677,7 +44640,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21572)>>2]|0; + $671 = HEAP32[(21876)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -44688,30 +44651,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21584)>>2] = $679; - HEAP32[(21572)>>2] = $681; + HEAP32[(21888)>>2] = $679; + HEAP32[(21876)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22048)>>2]|0; - HEAP32[(21588)>>2] = $686; + $686 = HEAP32[(22352)>>2]|0; + HEAP32[(21892)>>2] = $686; break; } } } - $687 = HEAP32[(21576)>>2]|0; + $687 = HEAP32[(21880)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21576)>>2] = $$749$i; + HEAP32[(21880)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22008); + $$124470$i = (22312); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -44766,21 +44729,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21572)>>2]|0; + $726 = HEAP32[(21876)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21572)>>2] = $727; - HEAP32[(21584)>>2] = $721; + HEAP32[(21876)>>2] = $727; + HEAP32[(21888)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21580)>>2]|0; + $730 = HEAP32[(21884)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21568)>>2]|0; + $732 = HEAP32[(21872)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21568)>>2] = $733; - HEAP32[(21580)>>2] = $721; + HEAP32[(21872)>>2] = $733; + HEAP32[(21884)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -44803,7 +44766,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21600 + ($748<<2)|0); + $749 = (21904 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -44826,9 +44789,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5390]|0; + $759 = HEAP32[5466]|0; $760 = $759 & $758; - HEAP32[5390] = $760; + HEAP32[5466] = $760; break; } $761 = ($747|0)==($749|0); @@ -44941,7 +44904,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21864 + ($796<<2)|0); + $797 = (22168 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -44953,12 +44916,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21564)>>2]|0; + $802 = HEAP32[(21868)>>2]|0; $803 = $802 & $801; - HEAP32[(21564)>>2] = $803; + HEAP32[(21868)>>2] = $803; break L314; } else { - $804 = HEAP32[(21576)>>2]|0; + $804 = HEAP32[(21880)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -44979,7 +44942,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21576)>>2]|0; + $810 = HEAP32[(21880)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -45011,7 +44974,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21576)>>2]|0; + $822 = HEAP32[(21880)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -45044,21 +45007,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21600 + ($836<<2)|0); - $838 = HEAP32[5390]|0; + $837 = (21904 + ($836<<2)|0); + $838 = HEAP32[5466]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5390] = $842; + HEAP32[5466] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21576)>>2]|0; + $845 = HEAP32[(21880)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -45113,20 +45076,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21864 + ($$0296$i$i<<2)|0); + $875 = (22168 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21564)>>2]|0; + $879 = HEAP32[(21868)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21564)>>2] = $883; + HEAP32[(21868)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -45165,7 +45128,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21576)>>2]|0; + $902 = HEAP32[(21880)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -45184,7 +45147,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21576)>>2]|0; + $909 = HEAP32[(21880)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -45211,7 +45174,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22008); + $$0$i$i$i = (22312); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -45252,23 +45215,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21584)>>2] = $946; - HEAP32[(21572)>>2] = $947; + HEAP32[(21888)>>2] = $946; + HEAP32[(21876)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22048)>>2]|0; - HEAP32[(21588)>>2] = $952; + $952 = HEAP32[(22352)>>2]|0; + HEAP32[(21892)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22008)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22008)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22008)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22008)+12>>2]|0; - HEAP32[(22008)>>2] = $$749$i; - HEAP32[(22012)>>2] = $$723948$i; - HEAP32[(22020)>>2] = 0; - HEAP32[(22016)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22312)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22312)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22312)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22312)+12>>2]|0; + HEAP32[(22312)>>2] = $$749$i; + HEAP32[(22316)>>2] = $$723948$i; + HEAP32[(22324)>>2] = 0; + HEAP32[(22320)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -45297,20 +45260,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21600 + ($968<<2)|0); - $970 = HEAP32[5390]|0; + $969 = (21904 + ($968<<2)|0); + $970 = HEAP32[5466]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5390] = $974; + HEAP32[5466] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21576)>>2]|0; + $977 = HEAP32[(21880)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -45362,19 +45325,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21864 + ($$0212$i$i<<2)|0); + $1007 = (22168 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21564)>>2]|0; + $1010 = HEAP32[(21868)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21564)>>2] = $1014; + HEAP32[(21868)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -45413,7 +45376,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21576)>>2]|0; + $1033 = HEAP32[(21880)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -45432,7 +45395,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21576)>>2]|0; + $1040 = HEAP32[(21880)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -45455,14 +45418,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21572)>>2]|0; + $1048 = HEAP32[(21876)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21572)>>2] = $1050; - $1051 = HEAP32[(21584)>>2]|0; + HEAP32[(21876)>>2] = $1050; + $1051 = HEAP32[(21888)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21584)>>2] = $1052; + HEAP32[(21888)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -45505,7 +45468,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21576)>>2]|0; + $3 = HEAP32[(21880)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -45538,7 +45501,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21580)>>2]|0; + $19 = HEAP32[(21884)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -45553,7 +45516,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21568)>>2] = $17; + HEAP32[(21872)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -45567,7 +45530,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21600 + ($27<<2)|0); + $28 = (21904 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -45587,9 +45550,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5390]|0; + $37 = HEAP32[5466]|0; $38 = $37 & $36; - HEAP32[5390] = $38; + HEAP32[5466] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -45703,7 +45666,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21864 + ($74<<2)|0); + $75 = (22168 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -45713,14 +45676,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21564)>>2]|0; + $80 = HEAP32[(21868)>>2]|0; $81 = $80 & $79; - HEAP32[(21564)>>2] = $81; + HEAP32[(21868)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21576)>>2]|0; + $82 = HEAP32[(21880)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -45742,7 +45705,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21576)>>2]|0; + $88 = HEAP32[(21880)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -45774,7 +45737,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21576)>>2]|0; + $100 = HEAP32[(21880)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -45809,14 +45772,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21584)>>2]|0; + $120 = HEAP32[(21888)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21580)>>2]|0; + $122 = HEAP32[(21884)>>2]|0; if ($121) { - $123 = HEAP32[(21572)>>2]|0; + $123 = HEAP32[(21876)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21572)>>2] = $124; - HEAP32[(21584)>>2] = $$1; + HEAP32[(21876)>>2] = $124; + HEAP32[(21888)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45824,16 +45787,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21580)>>2] = 0; - HEAP32[(21568)>>2] = 0; + HEAP32[(21884)>>2] = 0; + HEAP32[(21872)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21568)>>2]|0; + $129 = HEAP32[(21872)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21568)>>2] = $130; - HEAP32[(21580)>>2] = $113; + HEAP32[(21872)>>2] = $130; + HEAP32[(21884)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -45852,10 +45815,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21600 + ($142<<2)|0); + $143 = (21904 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21576)>>2]|0; + $145 = HEAP32[(21880)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -45873,9 +45836,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5390]|0; + $153 = HEAP32[5466]|0; $154 = $153 & $152; - HEAP32[5390] = $154; + HEAP32[5466] = $154; break; } $155 = ($141|0)==($143|0); @@ -45883,7 +45846,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21576)>>2]|0; + $156 = HEAP32[(21880)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -45943,7 +45906,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21576)>>2]|0; + $189 = HEAP32[(21880)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -45956,7 +45919,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21576)>>2]|0; + $169 = HEAP32[(21880)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -45987,7 +45950,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21864 + ($193<<2)|0); + $194 = (22168 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -45997,13 +45960,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21564)>>2]|0; + $199 = HEAP32[(21868)>>2]|0; $200 = $199 & $198; - HEAP32[(21564)>>2] = $200; + HEAP32[(21868)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21576)>>2]|0; + $201 = HEAP32[(21880)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -46024,7 +45987,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21576)>>2]|0; + $207 = HEAP32[(21880)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -46054,7 +46017,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21576)>>2]|0; + $219 = HEAP32[(21880)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -46075,10 +46038,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21580)>>2]|0; + $226 = HEAP32[(21884)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21568)>>2] = $135; + HEAP32[(21872)>>2] = $135; return; } else { $$2 = $135; @@ -46097,20 +46060,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21600 + ($234<<2)|0); - $236 = HEAP32[5390]|0; + $235 = (21904 + ($234<<2)|0); + $236 = HEAP32[5466]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5390] = $240; + HEAP32[5466] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21576)>>2]|0; + $243 = HEAP32[(21880)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -46162,21 +46125,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21864 + ($$0396<<2)|0); + $273 = (22168 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21564)>>2]|0; + $277 = HEAP32[(21868)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21564)>>2] = $281; + HEAP32[(21868)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -46214,7 +46177,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21576)>>2]|0; + $300 = HEAP32[(21880)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -46233,7 +46196,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21576)>>2]|0; + $307 = HEAP32[(21880)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -46255,12 +46218,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21592)>>2]|0; + $314 = HEAP32[(21896)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21592)>>2] = $315; + HEAP32[(21896)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22016); + $$0212$in$i = (22320); } else { return; } @@ -46274,7 +46237,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21592)>>2] = -1; + HEAP32[(21896)>>2] = -1; return; } function _realloc($0,$1) { @@ -46346,7 +46309,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21576)>>2]|0; + $6 = HEAP32[(21880)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -46376,7 +46339,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(22040)>>2]|0; + $18 = HEAP32[(22344)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -46412,10 +46375,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21584)>>2]|0; + $34 = HEAP32[(21888)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21572)>>2]|0; + $36 = HEAP32[(21876)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -46431,15 +46394,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21584)>>2] = $40; - HEAP32[(21572)>>2] = $39; + HEAP32[(21888)>>2] = $40; + HEAP32[(21876)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21580)>>2]|0; + $46 = HEAP32[(21884)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21568)>>2]|0; + $48 = HEAP32[(21872)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -46475,8 +46438,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21568)>>2] = $storemerge1; - HEAP32[(21580)>>2] = $storemerge; + HEAP32[(21872)>>2] = $storemerge1; + HEAP32[(21884)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -46503,7 +46466,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21600 + ($81<<2)|0); + $82 = (21904 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -46523,9 +46486,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5390]|0; + $91 = HEAP32[5466]|0; $92 = $91 & $90; - HEAP32[5390] = $92; + HEAP32[5466] = $92; break; } $93 = ($80|0)==($82|0); @@ -46634,7 +46597,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21864 + ($128<<2)|0); + $129 = (22168 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -46644,13 +46607,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21564)>>2]|0; + $134 = HEAP32[(21868)>>2]|0; $135 = $134 & $133; - HEAP32[(21564)>>2] = $135; + HEAP32[(21868)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21576)>>2]|0; + $136 = HEAP32[(21880)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -46671,7 +46634,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21576)>>2]|0; + $142 = HEAP32[(21880)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -46701,7 +46664,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21576)>>2]|0; + $154 = HEAP32[(21880)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -46786,13 +46749,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21576)>>2]|0; + $13 = HEAP32[(21880)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21580)>>2]|0; + $15 = HEAP32[(21884)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -46807,7 +46770,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21568)>>2] = $12; + HEAP32[(21872)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -46821,7 +46784,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21600 + ($23<<2)|0); + $24 = (21904 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -46841,9 +46804,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5390]|0; + $33 = HEAP32[5466]|0; $34 = $33 & $32; - HEAP32[5390] = $34; + HEAP32[5466] = $34; $$1 = $11;$$1418 = $12; break; } @@ -46957,7 +46920,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21864 + ($70<<2)|0); + $71 = (22168 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -46967,14 +46930,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21564)>>2]|0; + $76 = HEAP32[(21868)>>2]|0; $77 = $76 & $75; - HEAP32[(21564)>>2] = $77; + HEAP32[(21868)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21576)>>2]|0; + $78 = HEAP32[(21880)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -46996,7 +46959,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21576)>>2]|0; + $84 = HEAP32[(21880)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -47028,7 +46991,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21576)>>2]|0; + $96 = HEAP32[(21880)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -47047,7 +47010,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21576)>>2]|0; + $108 = HEAP32[(21880)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -47058,14 +47021,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21584)>>2]|0; + $114 = HEAP32[(21888)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21580)>>2]|0; + $116 = HEAP32[(21884)>>2]|0; if ($115) { - $117 = HEAP32[(21572)>>2]|0; + $117 = HEAP32[(21876)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21572)>>2] = $118; - HEAP32[(21584)>>2] = $$1; + HEAP32[(21876)>>2] = $118; + HEAP32[(21888)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -47073,16 +47036,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21580)>>2] = 0; - HEAP32[(21568)>>2] = 0; + HEAP32[(21884)>>2] = 0; + HEAP32[(21872)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21568)>>2]|0; + $123 = HEAP32[(21872)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21568)>>2] = $124; - HEAP32[(21580)>>2] = $$1; + HEAP32[(21872)>>2] = $124; + HEAP32[(21884)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -47101,7 +47064,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21600 + ($136<<2)|0); + $137 = (21904 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -47121,9 +47084,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5390]|0; + $146 = HEAP32[5466]|0; $147 = $146 & $145; - HEAP32[5390] = $147; + HEAP32[5466] = $147; break; } $148 = ($135|0)==($137|0); @@ -47232,7 +47195,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21864 + ($183<<2)|0); + $184 = (22168 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -47242,13 +47205,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21564)>>2]|0; + $189 = HEAP32[(21868)>>2]|0; $190 = $189 & $188; - HEAP32[(21564)>>2] = $190; + HEAP32[(21868)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21576)>>2]|0; + $191 = HEAP32[(21880)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -47269,7 +47232,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21576)>>2]|0; + $197 = HEAP32[(21880)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -47299,7 +47262,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21576)>>2]|0; + $209 = HEAP32[(21880)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -47320,10 +47283,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21580)>>2]|0; + $216 = HEAP32[(21884)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21568)>>2] = $129; + HEAP32[(21872)>>2] = $129; return; } else { $$2 = $129; @@ -47342,20 +47305,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21600 + ($224<<2)|0); - $226 = HEAP32[5390]|0; + $225 = (21904 + ($224<<2)|0); + $226 = HEAP32[5466]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5390] = $230; + HEAP32[5466] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21576)>>2]|0; + $233 = HEAP32[(21880)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -47407,20 +47370,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21864 + ($$0431<<2)|0); + $263 = (22168 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21564)>>2]|0; + $267 = HEAP32[(21868)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21564)>>2] = $271; + HEAP32[(21868)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -47459,7 +47422,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21576)>>2]|0; + $290 = HEAP32[(21880)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -47477,7 +47440,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21576)>>2]|0; + $297 = HEAP32[(21880)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/text/text_bmfont_ttf.png b/docs/examples/web/text/text_bmfont_ttf.png new file mode 100644 index 00000000..8305d36b Binary files /dev/null and b/docs/examples/web/text/text_bmfont_ttf.png differ diff --git a/docs/examples/web/text/text_bmfont_unordered.data b/docs/examples/web/text/text_bmfont_unordered.data index 2aa2870f..f88ee522 100644 Binary files a/docs/examples/web/text/text_bmfont_unordered.data and b/docs/examples/web/text/text_bmfont_unordered.data differ diff --git a/docs/examples/web/text/text_bmfont_unordered.js b/docs/examples/web/text/text_bmfont_unordered.js index 72d7c228..a05b7046 100644 --- a/docs/examples/web/text/text_bmfont_unordered.js +++ b/docs/examples/web/text/text_bmfont_unordered.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 4531, "filename": "/resources/pixantiqua_0.png"}], "remote_package_size": 4531, "package_uuid": "7be1ef9c-79a3-4f1e-a4f7-142b22c69b54"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21276, "filename": "/resources/pixantiqua.fnt"}, {"audio": 0, "start": 21276, "crunched": 0, "end": 25807, "filename": "/resources/pixantiqua_0.png"}], "remote_package_size": 25807, "package_uuid": "730801e1-ddc9-4d73-b269-3959ed95a750"}); })(); @@ -1779,8 +1779,8 @@ STATICTOP = STATIC_BASE + 25024; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,191,93,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,65,83,67,73,73,32,101,120,116,101,110,100,101,100,32,99,104,97,114,97,99,116,101,114,115,58,10,194,161,194,162,194,163,194,164,194,165,194,166,194,167,194,168,194,169,194,170,194,171,194,172,194,174,194,175,194,176,194,177,194,178,194,179,194,180,194,181,194,182,194,183,194,184,194,185,194,186,194,187,194,188,194,189,194,190,194,191,195,128,195,129,195,130,195,131,195,132,195,133,195,134,10,195,135,195,136,195,137,195,138,195,139,195,140,195,141,195,142,195,143,195,144,195,145,195,146,195,147,195,148,195,149,195,150,195,151,195,152,195,153,195,154,195,155,195,156,195,157,195,158,195,159,195,160,195,161,195,162,195,163,195,164,195,165,195,166,10,195,167,195,168,195,169,195,170,195,171,195,172,195,173,195,174,195,175,195,176,195,177,195,178,195,179,195,180,195,181,195,182,195,183,195,184,195,185,195,186,195,187,195,188,195,189,195,190,195,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,117,110,111,114,100,101,114,101,100,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,102,110,116,0,70,111,110,116,32,110,97,109,101,58,32,32,32,32,32,32,32,80,105,120,65,110,116,105,113,117,97,0,70,111,110,116,32,98,97,115,101,32,115,105,122,101,58,32,32,32,32,32,32,32,32,32,32,32,37,105,0,70,111,110,116,32,99,104,97,114,115,32,110,117,109,98,101,114,58,32,32,32,32,32,37,105,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,93,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,65,83,67,73,73,32,101,120,116,101,110,100,101,100,32,99,104,97,114,97,99,116,101,114,115,58,10,194,161,194,162,194,163,194,164,194,165,194,166,194,167,194,168,194,169,194,170,194,171,194,172,194,174,194,175,194,176,194,177,194,178,194,179,194,180,194,181,194,182,194,183,194,184,194,185,194,186,194,187,194,188,194,189,194,190,194,191,195,128,195,129,195,130,195,131,195,132,195,133,195,134,10,195,135,195,136,195,137,195,138,195,139,195,140,195,141,195,142,195,143,195,144,195,145,195,146,195,147,195,148,195,149,195,150,195,151,195,152,195,153,195,154,195,155,195,156,195,157,195,158,195,159,195,160,195,161,195,162,195,163,195,164,195,165,195,166,10,195,167,195,168,195,169,195,170,195,171,195,172,195,173,195,174,195,175,195,176,195,177,195,178,195,179,195,180,195,181,195,182,195,183,195,184,195,185,195,186,195,187,195,188,195,189,195,190,195,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,98,109,102,111,110,116,32,117,110,111,114,100,101,114,101,100,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,105,120,97,110,116,105,113,117,97,46,102,110,116,0,70,111,110,116,32,110,97,109,101,58,32,32,32,32,32,32,32,80,105,120,65,110,116,105,113,117,97,0,70,111,110,116,32,98,97,115,101,32,115,105,122,101,58,32,32,32,32,32,32,32,32,32,32,32,37,105,0,70,111,110,116,32,99,104,97,114,115,32,110,117,109,98,101,114,58,32,32,32,32,32,37,105,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10481,9 +10481,9 @@ function _main() { $0 = sp; _InitWindow(800,450,4612); _LoadSpriteFont($0,4673); - ;HEAP32[19424>>2]=HEAP32[$0>>2]|0;HEAP32[19424+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19424+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19424+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19424+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19424+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19424+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19424+28>>2]=HEAP32[$0+28>>2]|0; + ;HEAP32[19736>>2]=HEAP32[$0>>2]|0;HEAP32[19736+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19736+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19736+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19736+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19736+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19736+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19736+28>>2]=HEAP32[$0+28>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$font$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; + ;HEAP32[$font$byval_copy>>2]=HEAP32[19736>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19736+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19736+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19736+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19736+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19736+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19736+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19736+28>>2]|0; _UnloadSpriteFont($font$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10521,7 +10521,7 @@ function _UpdateDrawFrame() { HEAP8[$11>>0] = -1; ;HEAP8[$$byval_copy8>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$1+3>>0]|0; _DrawText(4698,40,50,20,$$byval_copy8); - $12 = HEAP32[(19444)>>2]|0; + $12 = HEAP32[(19756)>>2]|0; HEAP32[$font$byval_copy>>2] = $12; $13 = (_FormatText(4726,$font$byval_copy)|0); HEAP8[$2>>0] = -126; @@ -10533,7 +10533,7 @@ function _UpdateDrawFrame() { HEAP8[$16>>0] = -1; ;HEAP8[$$byval_copy8>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$2+3>>0]|0; _DrawText($13,40,80,20,$$byval_copy8); - $17 = HEAP32[(19448)>>2]|0; + $17 = HEAP32[(19760)>>2]|0; HEAP32[$$byval_copy7>>2] = $17; $18 = (_FormatText(4755,$$byval_copy7)|0); HEAP8[$3>>0] = -126; @@ -10548,7 +10548,7 @@ function _UpdateDrawFrame() { HEAPF32[$4>>2] = 40.0; $22 = ((($4)) + 4|0); HEAPF32[$22>>2] = 180.0; - $23 = HEAP32[(19444)>>2]|0; + $23 = HEAP32[(19756)>>2]|0; $24 = (+($23|0)); HEAP8[$5>>0] = -66; $25 = ((($5)) + 1|0); @@ -10557,13 +10557,63 @@ function _UpdateDrawFrame() { HEAP8[$26>>0] = 55; $27 = ((($5)) + 3|0); HEAP8[$27>>0] = -1; - ;HEAP32[$font$byval_copy>>2]=HEAP32[19424>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19424+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19424+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19424+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19424+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19424+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19424+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19424+28>>2]|0; + ;HEAP32[$font$byval_copy>>2]=HEAP32[19736>>2]|0;HEAP32[$font$byval_copy+4>>2]=HEAP32[19736+4>>2]|0;HEAP32[$font$byval_copy+8>>2]=HEAP32[19736+8>>2]|0;HEAP32[$font$byval_copy+12>>2]=HEAP32[19736+12>>2]|0;HEAP32[$font$byval_copy+16>>2]=HEAP32[19736+16>>2]|0;HEAP32[$font$byval_copy+20>>2]=HEAP32[19736+20>>2]|0;HEAP32[$font$byval_copy+24>>2]=HEAP32[19736+24>>2]|0;HEAP32[$font$byval_copy+28>>2]=HEAP32[19736+28>>2]|0; ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0; ;HEAP8[$$byval_copy8>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$5+3>>0]|0; _DrawTextEx($font$byval_copy,4356,$$byval_copy7,$24,0,$$byval_copy8); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10663,13 +10713,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11279,7 +11322,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4865] = $2; + HEAP32[4943] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11292,7 +11335,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 19152; + $95 = 19464; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11305,48 +11348,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 19192; + $106 = 19504; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4798]; - $111 = +HEAPF32[4788]; + $110 = +HEAPF32[4876]; + $111 = +HEAPF32[4866]; $112 = $110 - $111; - HEAPF32[4800] = $112; - $113 = +HEAPF32[(19196)>>2]; - $114 = +HEAPF32[(19156)>>2]; + HEAPF32[4878] = $112; + $113 = +HEAPF32[(19508)>>2]; + $114 = +HEAPF32[(19468)>>2]; $115 = $113 - $114; - HEAPF32[(19204)>>2] = $115; - HEAP32[4864] = 4; + HEAPF32[(19516)>>2] = $115; + HEAP32[4942] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4870] = $116; - $117 = 19184; + HEAPF32[4948] = $116; + $117 = 19496; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 19152; + $123 = 19464; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 19208; + $127 = 19520; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 19192; + $133 = 19504; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11359,7 +11402,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 19184; + $144 = 19496; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11372,27 +11415,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 19208; + $155 = 19520; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4802]; - $160 = +HEAPF32[4796]; + $159 = +HEAPF32[4880]; + $160 = +HEAPF32[4874]; $161 = $159 - $160; - HEAPF32[4800] = $161; - $162 = +HEAPF32[(19212)>>2]; - $163 = +HEAPF32[(19188)>>2]; + HEAPF32[4878] = $161; + $162 = +HEAPF32[(19524)>>2]; + $163 = +HEAPF32[(19500)>>2]; $164 = $162 - $163; - HEAPF32[(19204)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; + HEAPF32[(19516)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19496+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19192>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19192+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11404,31 +11447,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4870]; + $170 = +HEAPF32[4948]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4864] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19208>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19208+4>>2]|0; + HEAP32[4942] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19520>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19520+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4871] = $174; + HEAPF32[4949] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4870] = 0.0; - HEAPF32[4871] = 0.0; - HEAPF32[4800] = 0.0; - HEAPF32[(19204)>>2] = 0.0; - HEAP32[4865] = 0; - HEAP32[4864] = 0; + HEAPF32[4948] = 0.0; + HEAPF32[4949] = 0.0; + HEAPF32[4878] = 0.0; + HEAPF32[(19516)>>2] = 0.0; + HEAP32[4943] = 0; + HEAP32[4942] = 0; STACKTOP = sp;return; break; } @@ -11438,22 +11481,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4866]|0; + $6 = HEAP32[4944]|0; $7 = (($6) + 1)|0; - HEAP32[4866] = $7; - $8 = HEAP32[4864]|0; + HEAP32[4944] = $7; + $8 = HEAP32[4942]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4864] = 2; - HEAP32[4866] = 0; + HEAP32[4942] = 2; + HEAP32[4944] = 0; } else { label = 6; } @@ -11461,8 +11504,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4866] = 1; - HEAP32[4864] = 1; + HEAP32[4944] = 1; + HEAP32[4942] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11471,19 +11514,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 19152; + $21 = 19464; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 19160; + $25 = 19472; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 19168; + $29 = 19480; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11492,13 +11535,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[2] = $34; - HEAPF32[4794] = 0.0; - HEAPF32[(19180)>>2] = 0.0; + HEAPF32[4872] = 0.0; + HEAPF32[(19492)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4864]|0; + $35 = HEAP32[4942]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11508,19 +11551,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 19168; + $44 = 19480; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19480+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4867] = $49; - HEAP32[4868] = 0; + HEAPF32[4945] = $49; + HEAP32[4946] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[2]|0; @@ -11528,11 +11571,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19168+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19480+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4869] = $56; + HEAPF32[4947] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11563,22 +11606,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4867] = 0.0; - HEAPF32[4869] = 0.0; + HEAPF32[4945] = 0.0; + HEAPF32[4947] = 0.0; $$sink10 = 0; } - HEAP32[4864] = $$sink10; - HEAPF32[4790] = 0.0; - HEAPF32[(19164)>>2] = 0.0; - HEAP32[4865] = 0; + HEAP32[4942] = $$sink10; + HEAPF32[4868] = 0.0; + HEAPF32[(19476)>>2] = 0.0; + HEAP32[4943] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4868]|0; + $65 = HEAP32[4946]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4868] = 1; + HEAP32[4946] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11587,31 +11630,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 19184; + $74 = 19496; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4864]|0; + $78 = HEAP32[4942]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19152>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19152+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19464>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19464+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19496+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4864] = 8; + HEAP32[4942] = 8; } } - $82 = +HEAPF32[4796]; - $83 = +HEAPF32[4790]; + $82 = +HEAPF32[4874]; + $83 = +HEAPF32[4868]; $84 = $82 - $83; - HEAPF32[4794] = $84; - $85 = +HEAPF32[(19188)>>2]; - $86 = +HEAPF32[(19164)>>2]; + HEAPF32[4872] = $84; + $85 = +HEAPF32[(19500)>>2]; + $86 = +HEAPF32[(19476)>>2]; $87 = $85 - $86; - HEAPF32[(19180)>>2] = $87; + HEAPF32[(19492)>>2] = $87; STACKTOP = sp;return; break; } @@ -11620,58 +11663,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4864]|0; + $0 = HEAP32[4942]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4865]|0; + $2 = HEAP32[4943]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4864] = 4; + HEAP32[4942] = 4; } - $4 = HEAP32[4864]|0; + $4 = HEAP32[4942]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11684,14 +11688,14 @@ function _UpdateGestures() { return; } } - HEAP32[4864] = 0; + HEAP32[4942] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 19216; + $1 = 19528; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11708,13 +11712,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4874]|0; + $0 = HEAP32[4952]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4873]|0; + $0 = HEAP32[4951]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11726,7 +11730,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4781,$vararg_buffer); - HEAP32[4876] = $2; + HEAP32[4954] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11739,15 +11743,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4810|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4874]|0; + $3 = HEAP32[4952]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4804] = $5; - $6 = HEAP32[4873]|0; + HEAPF32[4882] = $5; + $6 = HEAP32[4951]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(19220)>>2] = $8; - $9 = HEAP32[4877]|0; + HEAPF32[(19532)>>2] = $8; + $9 = HEAP32[4955]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11766,11 +11770,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[19256>>0]=HEAP8[9339>>0]|0;HEAP8[19256+1>>0]=HEAP8[9339+1>>0]|0;HEAP8[19256+2>>0]=HEAP8[9339+2>>0]|0;HEAP8[19256+3>>0]=HEAP8[9339+3>>0]|0;HEAP8[19256+4>>0]=HEAP8[9339+4>>0]|0;HEAP8[19256+5>>0]=HEAP8[9339+5>>0]|0;HEAP8[19256+6>>0]=HEAP8[9339+6>>0]|0; + ;HEAP8[19568>>0]=HEAP8[9339>>0]|0;HEAP8[19568+1>>0]=HEAP8[9339+1>>0]|0;HEAP8[19568+2>>0]=HEAP8[9339+2>>0]|0;HEAP8[19568+3>>0]=HEAP8[9339+3>>0]|0;HEAP8[19568+4>>0]=HEAP8[9339+4>>0]|0;HEAP8[19568+5>>0]=HEAP8[9339+5>>0]|0;HEAP8[19568+6>>0]=HEAP8[9339+6>>0]|0; break; } case 1: { - $3 = 19256; + $3 = 19568; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11779,11 +11783,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=19256; src=9346; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=19568; src=9346; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 19256; + $7 = 19568; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11794,16 +11798,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(19256,$1)|0); - $strlen = (_strlen(19256)|0); - $endptr = (19256 + ($strlen)|0); + (_strcat(19568,$1)|0); + $strlen = (_strlen(19568)|0); + $endptr = (19568 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(19256,$2)|0); + (_vprintf(19568,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11835,22 +11839,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4874] = $0; - HEAP32[4873] = $1; + HEAP32[4952] = $0; + HEAP32[4951] = $1; _MatrixIdentity($2); - dest=19584; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19896; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5481,$vararg_buffer); } - $6 = HEAP32[4874]|0; - HEAP32[4912] = $6; - $7 = HEAP32[4873]|0; - HEAP32[4913] = $7; + $6 = HEAP32[4952]|0; + HEAP32[4990] = $6; + $7 = HEAP32[4951]|0; + HEAP32[4991] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22320]|0; + $8 = HEAP8[22632]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11858,13 +11862,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22320]|0; + $11 = HEAP8[22632]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22320]|0; + $14 = HEAP8[22632]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11886,18 +11890,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4914]|0; + $21 = HEAP32[4992]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4874]|0; - $48 = HEAP32[4873]|0; - $49 = HEAP32[4876]|0; + $47 = HEAP32[4952]|0; + $48 = HEAP32[4951]|0; + $49 = HEAP32[4954]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4872] = $50; - $51 = HEAP32[4874]|0; - HEAP32[4915] = $51; - $52 = HEAP32[4873]|0; - HEAP32[4916] = $52; + HEAP32[4950] = $50; + $51 = HEAP32[4952]|0; + HEAP32[4993] = $51; + $52 = HEAP32[4951]|0; + HEAP32[4994] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11906,9 +11910,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4874]|0; + $27 = HEAP32[4952]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4873]|0; + $29 = HEAP32[4951]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11930,25 +11934,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4912] = $31; - HEAP32[4913] = $34; + HEAP32[4990] = $31; + HEAP32[4991] = $34; } } while(0); - $38 = HEAP32[4912]|0; - $39 = HEAP32[4913]|0; + $38 = HEAP32[4990]|0; + $39 = HEAP32[4991]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5532,$vararg_buffer3); - $40 = HEAP32[4912]|0; - $41 = HEAP32[4913]|0; + $40 = HEAP32[4990]|0; + $41 = HEAP32[4991]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4912]|0; - $43 = HEAP32[4913]|0; - $44 = HEAP32[4876]|0; + $42 = HEAP32[4990]|0; + $43 = HEAP32[4991]|0; + $44 = HEAP32[4954]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4872] = $46; + HEAP32[4950] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -11957,60 +11961,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5570,$vararg_buffer6); } else { _TraceLog(0,5603,$vararg_buffer8); - $55 = HEAP32[4915]|0; - $56 = HEAP32[4916]|0; + $55 = HEAP32[4993]|0; + $56 = HEAP32[4994]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5643,$vararg_buffer10); - $57 = HEAP32[4874]|0; - $58 = HEAP32[4873]|0; + $57 = HEAP32[4952]|0; + $58 = HEAP32[4951]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5664,$vararg_buffer14); - $59 = HEAP32[4917]|0; - $60 = HEAP32[4918]|0; + $59 = HEAP32[4995]|0; + $60 = HEAP32[4996]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5685,$vararg_buffer18); } - $61 = HEAP32[4872]|0; + $61 = HEAP32[4950]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4872]|0; + $62 = HEAP32[4950]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4872]|0; + $63 = HEAP32[4950]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4872]|0; + $64 = HEAP32[4950]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4872]|0; + $65 = HEAP32[4950]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4872]|0; + $66 = HEAP32[4950]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4872]|0; + $67 = HEAP32[4950]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4872]|0; + $68 = HEAP32[4950]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4872]|0; + $69 = HEAP32[4950]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22320]|0; + $70 = HEAP8[22632]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4874]|0; - $74 = HEAP32[4873]|0; + $73 = HEAP32[4952]|0; + $74 = HEAP32[4951]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4915]|0; - $76 = HEAP32[4917]|0; + $75 = HEAP32[4993]|0; + $76 = HEAP32[4995]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4916]|0; - $80 = HEAP32[4918]|0; + $79 = HEAP32[4994]|0; + $80 = HEAP32[4996]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12029,18 +12033,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5710,$vararg_buffer22); - $73 = HEAP32[4874]|0; - $74 = HEAP32[4873]|0; + $73 = HEAP32[4952]|0; + $74 = HEAP32[4951]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4915]|0; - $76 = HEAP32[4917]|0; + $75 = HEAP32[4993]|0; + $76 = HEAP32[4995]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4916]|0; - $80 = HEAP32[4918]|0; + $79 = HEAP32[4994]|0; + $80 = HEAP32[4996]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12068,7 +12072,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19552)>>2] = 224; + HEAP32[(19864)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12109,27 +12113,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19528>>2]=HEAP32[$1>>2]|0;HEAP32[19528+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19528+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19528+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19528+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19840>>2]=HEAP32[$1>>2]|0;HEAP32[19840+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19840+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19840+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19840+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19552)>>2]|0; + $5 = HEAP32[(19864)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19556)>>2] = $7; + HEAP32[(19868)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19548)>>2] = $23; - $24 = HEAP32[4882]|0; + HEAP32[(19860)>>2] = $23; + $24 = HEAP32[4960]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5005,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19532)>>2]|0; - $10 = HEAP32[(19552)>>2]|0; - $11 = HEAP32[(19556)>>2]|0; + $9 = HEAP32[(19844)>>2]|0; + $10 = HEAP32[(19864)>>2]|0; + $11 = HEAP32[(19868)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12178,8 +12182,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19548)>>2] = $23; - $24 = HEAP32[4882]|0; + HEAP32[(19860)>>2] = $23; + $24 = HEAP32[4960]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5005,$vararg_buffer); STACKTOP = sp;return; @@ -12190,7 +12194,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2406] = $1; + HEAPF64[2445] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12349,7 +12353,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 19232; + $31 = 19544; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12362,7 +12366,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (19240); + $42 = (19552); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12418,7 +12422,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (19512 + ($10<<2)|0); + $11 = (19824 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12432,7 +12436,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2403] = $$; + HEAPF64[2442] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12444,7 +12448,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4877] = 0; + HEAP32[4955] = 0; return; } function _GetTime() { @@ -13020,7 +13024,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4890]|0; + $6 = HEAP32[4968]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13030,7 +13034,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4891]|0; + $9 = HEAP32[4969]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13039,7 +13043,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4892]|0; + $12 = HEAP32[4970]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13049,7 +13053,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4893]|0; + $15 = HEAP32[4971]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13059,7 +13063,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4894]|0; + $18 = HEAP32[4972]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13103,7 +13107,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4890]|0; + $22 = HEAP32[4968]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13111,7 +13115,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4890]|0; + $24 = HEAP32[4968]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13119,7 +13123,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4890]|0; + $26 = HEAP32[4968]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13127,7 +13131,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4890]|0; + $28 = HEAP32[4968]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13135,7 +13139,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4891]|0; + $30 = HEAP32[4969]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13143,7 +13147,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4892]|0; + $32 = HEAP32[4970]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13151,7 +13155,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4892]|0; + $34 = HEAP32[4970]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13159,7 +13163,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4893]|0; + $36 = HEAP32[4971]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13167,7 +13171,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4893]|0; + $38 = HEAP32[4971]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13175,7 +13179,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4894]|0; + $40 = HEAP32[4972]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13183,7 +13187,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4894]|0; + $42 = HEAP32[4972]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13195,7 +13199,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4895]|0; + $44 = HEAP32[4973]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13541,20 +13545,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4874]|0; + $3 = HEAP32[4952]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4873]|0; + $5 = HEAP32[4951]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4915] = $3; - HEAP32[4916] = $5; - HEAP32[4917] = 0; - HEAP32[4918] = 0; + HEAP32[4993] = $3; + HEAP32[4994] = $5; + HEAP32[4995] = 0; + HEAP32[4996] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13568,9 +13572,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4874]|0; + $35 = HEAP32[4952]|0; $36 = (+($35|0)); - $37 = HEAP32[4873]|0; + $37 = HEAP32[4951]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13578,26 +13582,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4915] = $45; - HEAP32[4916] = $37; + HEAP32[4993] = $45; + HEAP32[4994] = $37; $46 = (($45) - ($35))|0; - HEAP32[4917] = $46; + HEAP32[4995] = $46; $$sink1 = 0; } else { - HEAP32[4915] = $35; + HEAP32[4993] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4916] = $42; - HEAP32[4917] = 0; + HEAP32[4994] = $42; + HEAP32[4995] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4918] = $$sink1; + HEAP32[4996] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4873]|0; + $7 = HEAP32[4951]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13607,11 +13611,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,9092,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4874]|0; + $9 = HEAP32[4952]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4873]|0; + $13 = HEAP32[4951]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13619,33 +13623,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4915] = $23; - HEAP32[4916] = $1; + HEAP32[4993] = $23; + HEAP32[4994] = $1; $24 = (($0) - ($23))|0; - HEAP32[4917] = $24; + HEAP32[4995] = $24; $$sink = 0; } else { - HEAP32[4915] = $0; - $17 = HEAP32[4873]|0; + HEAP32[4993] = $0; + $17 = HEAP32[4951]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4916] = $20; - HEAP32[4917] = 0; + HEAP32[4994] = $20; + HEAP32[4995] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4918] = $$sink; - $25 = HEAP32[4915]|0; + HEAP32[4996] = $$sink; + $25 = HEAP32[4993]|0; $26 = (+($25|0)); - $27 = HEAP32[4874]|0; + $27 = HEAP32[4952]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19584; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4915] = $0; - HEAP32[4916] = $1; + dest=19896; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4993] = $0; + HEAP32[4994] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13667,10 +13671,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4874] = $1; - HEAP32[4873] = $2; - HEAP32[4915] = $1; - HEAP32[4916] = $2; + HEAP32[4952] = $1; + HEAP32[4951] = $2; + HEAP32[4993] = $1; + HEAP32[4994] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13697,7 +13701,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22327 + ($1)|0); + $9 = (22639 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13718,7 +13722,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22321 + ($1)|0); + $7 = (22633 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13797,7 +13801,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 19232; + $15 = 19544; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13832,7 +13836,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5288] = $3; + HEAP32[5366] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13842,7 +13846,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5287] = $$sink; + HEAP32[5365] = $$sink; return; } function _rlglInit($0,$1) { @@ -13923,18 +13927,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5842)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4953] = 1; + HEAP32[5031] = 1; $27 = (_eglGetProcAddress((5869|0))|0); - HEAP32[4954] = $27; + HEAP32[5032] = $27; $28 = (_eglGetProcAddress((5890|0))|0); - HEAP32[4955] = $28; + HEAP32[5033] = $28; $29 = (_eglGetProcAddress((5911|0))|0); - HEAP32[4956] = $29; + HEAP32[5034] = $29; } $30 = (_strcmp($24,5935)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4895] = 1; + HEAP32[4973] = 1; } $32 = (_strcmp($24,5955)|0); $33 = ($32|0)==(0); @@ -13956,7 +13960,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4890] = 1; + HEAP32[4968] = 1; } $39 = (_strcmp($24,6060)|0); $40 = ($39|0)==(0); @@ -13972,35 +13976,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4891] = 1; + HEAP32[4969] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,6129)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4892] = 1; + HEAP32[4970] = 1; } $47 = (_strcmp($44,6154)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4893] = 1; + HEAP32[4971] = 1; } $49 = (_strcmp($44,6187)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4894] = 1; + HEAP32[4972] = 1; } $51 = (_strcmp($44,6223)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4957] = 1; - _glGetFloatv(34047,(19832|0)); + HEAP32[5035] = 1; + _glGetFloatv(34047,(20144|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6257)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4959] = 1; + HEAP32[5037] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14011,61 +14015,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4953]|0; + $21 = HEAP32[5031]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6360,$vararg_buffer15); } else { _TraceLog(0,6285,$vararg_buffer13); } - $57 = HEAP32[4895]|0; + $57 = HEAP32[4973]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6496,$vararg_buffer19); } else { _TraceLog(0,6421,$vararg_buffer17); } - $59 = HEAP32[4890]|0; + $59 = HEAP32[4968]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6588,$vararg_buffer21); } - $61 = HEAP32[4891]|0; + $61 = HEAP32[4969]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6634,$vararg_buffer23); } - $63 = HEAP32[4892]|0; + $63 = HEAP32[4970]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6681,$vararg_buffer25); } - $65 = HEAP32[4893]|0; + $65 = HEAP32[4971]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6732,$vararg_buffer27); } - $67 = HEAP32[4894]|0; + $67 = HEAP32[4972]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6779,$vararg_buffer29); } - $69 = HEAP32[4957]|0; + $69 = HEAP32[5035]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4958]; + $71 = +HEAPF32[5036]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6826,$vararg_buffer31); } - $73 = HEAP32[4959]|0; + $73 = HEAP32[5037]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6892,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4960] = $75; + HEAP32[5038] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6996,$vararg_buffer39); @@ -14074,14 +14078,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6945,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19844; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19900; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20156; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20212; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4989] = $77; + HEAP32[5067] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4989]|0; + $79 = HEAP32[5067]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14094,7 +14098,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4990] = $78; + HEAP32[5068] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14109,48 +14113,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4991] = 1; - $85 = HEAP32[4960]|0; + HEAP32[5069] = 1; + $85 = HEAP32[5038]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4992] = 4; + HEAP32[5070] = 4; _MatrixIdentity($4); - dest=19972; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20284; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20036); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20348); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20100); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20412); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20164); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20476); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20228); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20540); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20292); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20604); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20356); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20668); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20420); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20732); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20484); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20796); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20548); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20860); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20612); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20924); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20676); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20988); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20740); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21052); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20804); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21116); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20868); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21180); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20932); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21244); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=19680; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19992; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=19744; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4919] = 19744; + dest=20056; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4997] = 20056; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14161,21 +14165,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5249] = $0; - HEAP32[5250] = $1; + HEAP32[5327] = $0; + HEAP32[5328] = $1; _TraceLog(0,7035,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4917]|0; + $0 = HEAP32[4995]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4918]|0; + $2 = HEAP32[4996]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4915]|0; + $4 = HEAP32[4993]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4916]|0; + $6 = HEAP32[4994]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14186,12 +14190,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19680; + $modelview$sink = 19992; label = 3; break; } case 5888: { - $modelview$sink = 19744; + $modelview$sink = 20056; label = 3; break; } @@ -14199,9 +14203,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4919] = $modelview$sink; + HEAP32[4997] = $modelview$sink; } - HEAP32[4952] = $0; + HEAP32[5030] = $0; return; } function _rlLoadIdentity() { @@ -14209,7 +14213,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4919]|0; + $1 = HEAP32[4997]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14230,7 +14234,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4919]|0; + $8 = HEAP32[4997]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14327,15 +14331,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(21016)>>2] = $0; + HEAP32[(21328)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(21024)>>2] = $1; - HEAP32[(21020)>>2] = 0; - HEAP32[(21028)>>2] = 0; + HEAP32[(21336)>>2] = $1; + HEAP32[(21332)>>2] = 0; + HEAP32[(21340)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(21024)>>2]|0; + $2 = HEAP32[(21336)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14346,19 +14350,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5251] = 0; - HEAP32[(21012)>>2] = 0; - HEAP32[(21008)>>2] = 0; + HEAP32[5329] = 0; + HEAP32[(21324)>>2] = 0; + HEAP32[(21320)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(21064)>>2] = $5; + HEAP32[(21376)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(21072)>>2] = $6; - HEAP32[(21068)>>2] = 0; - HEAP32[(21076)>>2] = 0; + HEAP32[(21384)>>2] = $6; + HEAP32[(21380)>>2] = 0; + HEAP32[(21388)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(21072)>>2]|0; + $7 = HEAP32[(21384)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14369,24 +14373,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5263] = 0; - HEAP32[(21060)>>2] = 0; - HEAP32[(21056)>>2] = 0; + HEAP32[5341] = 0; + HEAP32[(21372)>>2] = 0; + HEAP32[(21368)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(21112)>>2] = $10; + HEAP32[(21424)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(21116)>>2] = $11; + HEAP32[(21428)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(21120)>>2] = $12; + HEAP32[(21432)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(21124)>>2] = $13; - $14 = HEAP32[(21112)>>2]|0; + HEAP32[(21436)>>2] = $13; + $14 = HEAP32[(21424)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(21116)>>2]|0; + $15 = HEAP32[(21428)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(21120)>>2]|0; + $17 = HEAP32[(21432)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14397,7 +14401,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(21124)>>2]|0; + $16 = HEAP32[(21436)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14434,140 +14438,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5275] = 0; - HEAP32[(21104)>>2] = 0; - HEAP32[(21108)>>2] = 0; + HEAP32[5353] = 0; + HEAP32[(21416)>>2] = 0; + HEAP32[(21420)>>2] = 0; _TraceLog(0,7082,$vararg_buffer); - $20 = HEAP32[4953]|0; + $20 = HEAP32[5031]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4954]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(21032)); - $44 = HEAP32[4955]|0; - $45 = HEAP32[(21032)>>2]|0; + $43 = HEAP32[5032]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21344)); + $44 = HEAP32[5033]|0; + $45 = HEAP32[(21344)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((21036)|0)); - $46 = HEAP32[(21036)>>2]|0; + _glGenBuffers(2,((21348)|0)); + $46 = HEAP32[(21348)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(21016)>>2]|0; + $47 = HEAP32[(21328)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19904)>>2]|0; + $48 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19904)>>2]|0; + $49 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((21040)|0)); - $50 = HEAP32[(21040)>>2]|0; + _glGenBuffers(2,((21352)|0)); + $50 = HEAP32[(21352)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(21024)>>2]|0; + $51 = HEAP32[(21336)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19924)>>2]|0; + $52 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19924)>>2]|0; + $53 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4953]|0; + $54 = HEAP32[5031]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(21036)>>2]|0; - $58 = HEAP32[(21040)>>2]|0; + $57 = HEAP32[(21348)>>2]|0; + $58 = HEAP32[(21352)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,7220,$vararg_buffer3); } else { - $56 = HEAP32[(21032)>>2]|0; + $56 = HEAP32[(21344)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,7155,$vararg_buffer1); } - $59 = HEAP32[4953]|0; + $59 = HEAP32[5031]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4954]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(21080)); - $62 = HEAP32[4955]|0; - $63 = HEAP32[(21080)>>2]|0; + $61 = HEAP32[5032]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(21392)); + $62 = HEAP32[5033]|0; + $63 = HEAP32[(21392)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((21084)|0)); - $64 = HEAP32[(21084)>>2]|0; + _glGenBuffers(1,((21396)|0)); + $64 = HEAP32[(21396)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(21064)>>2]|0; + $65 = HEAP32[(21376)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19904)>>2]|0; + $66 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19904)>>2]|0; + $67 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21088)|0)); - $68 = HEAP32[(21088)>>2]|0; + _glGenBuffers(1,((21400)|0)); + $68 = HEAP32[(21400)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(21072)>>2]|0; + $69 = HEAP32[(21384)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19924)>>2]|0; + $70 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19924)>>2]|0; + $71 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4953]|0; + $72 = HEAP32[5031]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(21084)>>2]|0; - $76 = HEAP32[(21088)>>2]|0; + $75 = HEAP32[(21396)>>2]|0; + $76 = HEAP32[(21400)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7366,$vararg_buffer10); } else { - $74 = HEAP32[(21080)>>2]|0; + $74 = HEAP32[(21392)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7297,$vararg_buffer7); } - $77 = HEAP32[4953]|0; + $77 = HEAP32[5031]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4954]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(21128)); - $80 = HEAP32[4955]|0; - $81 = HEAP32[(21128)>>2]|0; + $79 = HEAP32[5032]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(21440)); + $80 = HEAP32[5033]|0; + $81 = HEAP32[(21440)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((21132)|0)); - $82 = HEAP32[(21132)>>2]|0; + _glGenBuffers(1,((21444)|0)); + $82 = HEAP32[(21444)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(21112)>>2]|0; + $83 = HEAP32[(21424)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19904)>>2]|0; + $84 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19904)>>2]|0; + $85 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21136)|0)); - $86 = HEAP32[(21136)>>2]|0; + _glGenBuffers(1,((21448)|0)); + $86 = HEAP32[(21448)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(21116)>>2]|0; + $87 = HEAP32[(21428)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19908)>>2]|0; + $88 = HEAP32[(20220)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19908)>>2]|0; + $89 = HEAP32[(20220)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((21140)|0)); - $90 = HEAP32[(21140)>>2]|0; + _glGenBuffers(1,((21452)|0)); + $90 = HEAP32[(21452)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(21120)>>2]|0; + $91 = HEAP32[(21432)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19924)>>2]|0; + $92 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19924)>>2]|0; + $93 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((21144)|0)); - $94 = HEAP32[(21144)>>2]|0; + _glGenBuffers(1,((21456)|0)); + $94 = HEAP32[(21456)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(21124)>>2]|0; + $95 = HEAP32[(21436)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4953]|0; + $96 = HEAP32[5031]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(21132)>>2]|0; - $100 = HEAP32[(21136)>>2]|0; - $101 = HEAP32[(21140)>>2]|0; - $102 = HEAP32[(21144)>>2]|0; + $99 = HEAP32[(21444)>>2]|0; + $100 = HEAP32[(21448)>>2]|0; + $101 = HEAP32[(21452)>>2]|0; + $102 = HEAP32[(21456)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14577,16 +14581,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7512,$vararg_buffer17); } else { - $98 = HEAP32[(21128)>>2]|0; + $98 = HEAP32[(21440)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7447,$vararg_buffer14); } - $103 = HEAP32[4953]|0; + $103 = HEAP32[5031]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4955]|0; + $105 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14767,9 +14771,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22321 + ($0)|0); + $1 = (22633 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22324 + ($0)|0); + $3 = (22636 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14781,9 +14785,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22321 + ($0)|0); + $1 = (22633 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22324 + ($0)|0); + $3 = (22636 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14804,7 +14808,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4872]|0; + $0 = HEAP32[4950]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9356,$vararg_buffer); @@ -14815,9 +14819,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19528>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19528+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19528+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19528+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19528+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19840>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19840+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19840+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19840+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19840+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19556)>>2]|0; + $0 = HEAP32[(19868)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14828,11 +14832,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19840|0)); - $0 = HEAP32[4960]|0; + _glDeleteTextures(1,(20152|0)); + $0 = HEAP32[5038]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9383,$vararg_buffer); - $1 = HEAP32[4990]|0; + $1 = HEAP32[5068]|0; _free($1); STACKTOP = sp;return; } @@ -14840,17 +14844,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4961]|0; + $0 = HEAP32[5039]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4953]|0; + $0 = HEAP32[5031]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4955]|0; + $2 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14859,39 +14863,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((21036)|0)); - _glDeleteBuffers(1,((21040)|0)); - _glDeleteBuffers(1,((21084)|0)); - _glDeleteBuffers(1,((21088)|0)); - _glDeleteBuffers(1,((21132)|0)); - _glDeleteBuffers(1,((21136)|0)); - _glDeleteBuffers(1,((21140)|0)); - _glDeleteBuffers(1,((21144)|0)); - $3 = HEAP32[4953]|0; + _glDeleteBuffers(1,((21348)|0)); + _glDeleteBuffers(1,((21352)|0)); + _glDeleteBuffers(1,((21396)|0)); + _glDeleteBuffers(1,((21400)|0)); + _glDeleteBuffers(1,((21444)|0)); + _glDeleteBuffers(1,((21448)|0)); + _glDeleteBuffers(1,((21452)|0)); + _glDeleteBuffers(1,((21456)|0)); + $3 = HEAP32[5031]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4956]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(21032)); - $6 = HEAP32[4956]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(21080)); - $7 = HEAP32[4956]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(21128)); - } - $8 = HEAP32[(21016)>>2]|0; + $5 = HEAP32[5034]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21344)); + $6 = HEAP32[5034]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(21392)); + $7 = HEAP32[5034]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(21440)); + } + $8 = HEAP32[(21328)>>2]|0; _free($8); - $9 = HEAP32[(21024)>>2]|0; + $9 = HEAP32[(21336)>>2]|0; _free($9); - $10 = HEAP32[(21064)>>2]|0; + $10 = HEAP32[(21376)>>2]|0; _free($10); - $11 = HEAP32[(21072)>>2]|0; + $11 = HEAP32[(21384)>>2]|0; _free($11); - $12 = HEAP32[(21112)>>2]|0; + $12 = HEAP32[(21424)>>2]|0; _free($12); - $13 = HEAP32[(21116)>>2]|0; + $13 = HEAP32[(21428)>>2]|0; _free($13); - $14 = HEAP32[(21120)>>2]|0; + $14 = HEAP32[(21432)>>2]|0; _free($14); - $15 = HEAP32[(21124)>>2]|0; + $15 = HEAP32[(21436)>>2]|0; _free($15); return; } @@ -14931,16 +14935,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2423] = $0; - $1 = +HEAPF64[2406]; + HEAPF64[2462] = $0; + $1 = +HEAPF64[2445]; $2 = $0 - $1; - HEAPF64[2424] = $2; - HEAPF64[2406] = $0; + HEAPF64[2463] = $2; + HEAPF64[2445] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19584; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=19896; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(21156); + _rlMultMatrixf(21468); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14949,53 +14953,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[5289] = $1; + HEAP32[5367] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(21160)>>2] = $3; + HEAP32[(21472)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(21164)>>2] = $5; + HEAP32[(21476)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(21168)>>2] = $7; + HEAP32[(21480)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(21172)>>2] = $9; + HEAP32[(21484)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(21176)>>2] = $11; + HEAP32[(21488)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(21180)>>2] = $13; + HEAP32[(21492)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(21184)>>2] = $15; + HEAP32[(21496)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(21188)>>2] = $17; + HEAP32[(21500)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(21192)>>2] = $19; + HEAP32[(21504)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(21196)>>2] = $21; + HEAP32[(21508)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21200)>>2] = $23; + HEAP32[(21512)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(21204)>>2] = $25; + HEAP32[(21516)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(21208)>>2] = $27; + HEAP32[(21520)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(21212)>>2] = $29; + HEAP32[(21524)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(21216)>>2] = $31; - return (21156|0); + HEAP32[(21528)>>2] = $31; + return (21468|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15070,7 +15074,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4919]|0; + $49 = HEAP32[4997]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15084,15 +15088,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2423] = $0; - $1 = +HEAPF64[2406]; + HEAPF64[2462] = $0; + $1 = +HEAPF64[2445]; $2 = $0 - $1; - HEAPF64[2425] = $2; - HEAPF64[2406] = $0; - $3 = +HEAPF64[2424]; + HEAPF64[2464] = $2; + HEAPF64[2445] = $0; + $3 = +HEAPF64[2463]; $4 = $2 + $3; - HEAPF64[2426] = $4; - $5 = +HEAPF64[2403]; + HEAPF64[2465] = $4; + $5 = +HEAPF64[2442]; $6 = $4 < $5; if (!($6)) { return; @@ -15102,13 +15106,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2423] = $10; - $11 = +HEAPF64[2406]; + HEAPF64[2462] = $10; + $11 = +HEAPF64[2445]; $12 = $10 - $11; - HEAPF64[2406] = $10; - $13 = +HEAPF64[2426]; + HEAPF64[2445] = $10; + $13 = +HEAPF64[2465]; $14 = $12 + $13; - HEAPF64[2426] = $14; + HEAPF64[2465] = $14; return; } function _rlglDraw() { @@ -15121,7 +15125,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4872]|0; + $0 = HEAP32[4950]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15137,20 +15141,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[739] = -1; HEAP32[741] = -1; - HEAP32[5305] = 0; - $3 = HEAP32[4872]|0; + HEAP32[5383] = 0; + $3 = HEAP32[4950]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4804] = $5; + HEAPF32[4882] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(19220)>>2] = $7; - _memcpy((22839|0),(22327|0),512)|0; - ;HEAP8[22324>>0]=HEAP8[22321>>0]|0;HEAP8[22324+1>>0]=HEAP8[22321+1>>0]|0;HEAP8[22324+2>>0]=HEAP8[22321+2>>0]|0; - $8 = HEAP32[5288]|0; - HEAP32[4875] = $8; - HEAP32[5288] = 0; + HEAPF32[(19532)>>2] = $7; + _memcpy((23151|0),(22639|0),512)|0; + ;HEAP8[22636>>0]=HEAP8[22633>>0]|0;HEAP8[22636+1>>0]=HEAP8[22633+1>>0]|0;HEAP8[22636+2>>0]=HEAP8[22633+2>>0]|0; + $8 = HEAP32[5366]|0; + HEAP32[4953] = $8; + HEAP32[5366] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15160,8 +15164,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23351 + ($$05160<<5)|0); - $scevgep67 = (23479 + ($$05160<<5)|0); + $scevgep = (23663 + ($$05160<<5)|0); + $scevgep67 = (23791 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15175,7 +15179,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23479 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23791 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[741] = $$04857; @@ -15202,7 +15206,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((21224 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21536 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15218,7 +15222,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5305] = $$lcssa; + HEAP32[5383] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15259,87 +15263,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5251]|0; + $0 = HEAP32[5329]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4953]|0; + $2 = HEAP32[5031]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4955]|0; - $5 = HEAP32[(21032)>>2]|0; + $4 = HEAP32[5033]|0; + $5 = HEAP32[(21344)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(21036)>>2]|0; + $6 = HEAP32[(21348)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5251]|0; + $7 = HEAP32[5329]|0; $8 = ($7*12)|0; - $9 = HEAP32[(21016)>>2]|0; + $9 = HEAP32[(21328)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(21040)>>2]|0; + $10 = HEAP32[(21352)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(21012)>>2]|0; + $11 = HEAP32[(21324)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(21024)>>2]|0; + $13 = HEAP32[(21336)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5263]|0; + $14 = HEAP32[5341]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4953]|0; + $16 = HEAP32[5031]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4955]|0; - $19 = HEAP32[(21080)>>2]|0; + $18 = HEAP32[5033]|0; + $19 = HEAP32[(21392)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(21084)>>2]|0; + $20 = HEAP32[(21396)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5263]|0; + $21 = HEAP32[5341]|0; $22 = ($21*12)|0; - $23 = HEAP32[(21064)>>2]|0; + $23 = HEAP32[(21376)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(21088)>>2]|0; + $24 = HEAP32[(21400)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(21060)>>2]|0; + $25 = HEAP32[(21372)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(21072)>>2]|0; + $27 = HEAP32[(21384)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5275]|0; + $28 = HEAP32[5353]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4953]|0; + $30 = HEAP32[5031]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4955]|0; - $33 = HEAP32[(21128)>>2]|0; + $32 = HEAP32[5033]|0; + $33 = HEAP32[(21440)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(21132)>>2]|0; + $34 = HEAP32[(21444)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5275]|0; + $35 = HEAP32[5353]|0; $36 = ($35*12)|0; - $37 = HEAP32[(21112)>>2]|0; + $37 = HEAP32[(21424)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(21136)>>2]|0; + $38 = HEAP32[(21448)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5275]|0; + $39 = HEAP32[5353]|0; $40 = $39 << 3; - $41 = HEAP32[(21116)>>2]|0; + $41 = HEAP32[(21428)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(21140)>>2]|0; + $42 = HEAP32[(21452)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5275]|0; + $43 = HEAP32[5353]|0; $44 = $43 << 2; - $45 = HEAP32[(21120)>>2]|0; + $45 = HEAP32[(21432)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4953]|0; + $46 = HEAP32[5031]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4955]|0; + $48 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15357,9 +15361,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19680; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19744; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5338]|0; + dest=$0; src=19992; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=20056; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5416]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15369,134 +15373,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5251]|0; + $8 = HEAP32[5329]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5263]|0; + $10 = HEAP32[5341]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5275]|0; + $12 = HEAP32[5353]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4975]|0; + $14 = HEAP32[5053]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19744; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19680; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=20056; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=19992; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19928)>>2]|0; + $15 = HEAP32[(20240)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19932)>>2]|0; + $17 = HEAP32[(20244)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19944)>>2]|0; + $18 = HEAP32[(20256)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5251]|0; + $19 = HEAP32[5329]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4960]|0; + $21 = HEAP32[5038]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4953]|0; + $22 = HEAP32[5031]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(21036)>>2]|0; + $26 = HEAP32[(21348)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19904)>>2]|0; + $27 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19904)>>2]|0; + $28 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(21040)>>2]|0; + $29 = HEAP32[(21352)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19924)>>2]|0; + $30 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19924)>>2]|0; + $31 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4955]|0; - $25 = HEAP32[(21032)>>2]|0; + $24 = HEAP32[5033]|0; + $25 = HEAP32[(21344)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5251]|0; + $32 = HEAP32[5329]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4953]|0; + $33 = HEAP32[5031]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5263]|0; + $35 = HEAP32[5341]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4960]|0; + $37 = HEAP32[5038]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4953]|0; + $38 = HEAP32[5031]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(21084)>>2]|0; + $42 = HEAP32[(21396)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19904)>>2]|0; + $43 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19904)>>2]|0; + $44 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(21088)>>2]|0; + $45 = HEAP32[(21400)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19924)>>2]|0; + $46 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19924)>>2]|0; + $47 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4955]|0; - $41 = HEAP32[(21080)>>2]|0; + $40 = HEAP32[5033]|0; + $41 = HEAP32[(21392)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5263]|0; + $48 = HEAP32[5341]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4953]|0; + $49 = HEAP32[5031]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5275]|0; + $51 = HEAP32[5353]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4953]|0; + $53 = HEAP32[5031]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(21132)>>2]|0; + $57 = HEAP32[(21444)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19904)>>2]|0; + $58 = HEAP32[(20216)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19904)>>2]|0; + $59 = HEAP32[(20216)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(21136)>>2]|0; + $60 = HEAP32[(21448)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19908)>>2]|0; + $61 = HEAP32[(20220)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19908)>>2]|0; + $62 = HEAP32[(20220)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(21140)>>2]|0; + $63 = HEAP32[(21452)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19924)>>2]|0; + $64 = HEAP32[(20236)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19924)>>2]|0; + $65 = HEAP32[(20236)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(21144)>>2]|0; + $66 = HEAP32[(21456)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4955]|0; - $56 = HEAP32[(21128)>>2]|0; + $55 = HEAP32[5033]|0; + $56 = HEAP32[(21440)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4991]|0; + $67 = HEAP32[5069]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4990]|0; + $71 = HEAP32[5068]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15507,14 +15511,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4990]|0; + $80 = HEAP32[5068]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4991]|0; + $87 = HEAP32[5069]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15523,7 +15527,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4953]|0; + $69 = HEAP32[5031]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15531,10 +15535,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4953]|0; + $89 = HEAP32[5031]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4955]|0; + $91 = HEAP32[5033]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15546,22 +15550,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4991] = 1; - $5 = HEAP32[4960]|0; - $6 = HEAP32[4990]|0; + HEAP32[5069] = 1; + $5 = HEAP32[5038]|0; + $6 = HEAP32[5068]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5251] = 0; - HEAP32[(21012)>>2] = 0; - HEAP32[5263] = 0; - HEAP32[(21060)>>2] = 0; - HEAP32[5275] = 0; - HEAP32[(21104)>>2] = 0; - HEAP32[(21108)>>2] = 0; + HEAP32[5329] = 0; + HEAP32[(21324)>>2] = 0; + HEAP32[5341] = 0; + HEAP32[(21372)>>2] = 0; + HEAP32[5353] = 0; + HEAP32[(21416)>>2] = 0; + HEAP32[(21420)>>2] = 0; HEAPF32[742] = -1.0; - dest=19680; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19744; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19992; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20056; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15576,17 +15580,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5249]|0; + $5 = HEAP32[5327]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5250]|0; + $9 = HEAP32[5328]|0; _rlViewport($7,0,$8,$9); - $10 = (21584 + ($0<<6)|0); + $10 = (21896 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (21456 + ($0<<6)|0); + $11 = (21768 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15598,14 +15602,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19744; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20056; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19680; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19992; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15613,43 +15617,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5428]|0; + $0 = HEAP32[5506]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9498,$vararg_buffer); } - $2 = HEAP32[5428]|0; - $3 = (19972 + ($2<<6)|0); - $4 = HEAP32[4919]|0; + $2 = HEAP32[5506]|0; + $3 = (20284 + ($2<<6)|0); + $4 = HEAP32[4997]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5428]|0; + $5 = HEAP32[5506]|0; $6 = (($5) + 1)|0; - HEAP32[5428] = $6; - $7 = HEAP32[4952]|0; + HEAP32[5506] = $6; + $7 = HEAP32[5030]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5429] = 1; + HEAP32[5507] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5428]|0; + $0 = HEAP32[5506]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5428]|0; + $2 = HEAP32[5506]|0; $3 = (($2) + -1)|0; - $4 = (19972 + ($3<<6)|0); - $5 = HEAP32[4919]|0; + $4 = (20284 + ($3<<6)|0); + $5 = HEAP32[4997]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5428] = $6; + HEAP32[5506] = $6; return; } function _IsFileExtension($0,$1) { @@ -15682,7 +15686,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4919]|0; + $5 = HEAP32[4997]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15715,7 +15719,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4919]|0; + $11 = HEAP32[4997]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15726,7 +15730,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4992] = $0; + HEAP32[5070] = $0; return; } function _rlEnd() { @@ -15742,21 +15746,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5429]|0; + $0 = HEAP32[5507]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5430]|0; + $2 = HEAP32[5508]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4989]|0; + $6 = HEAP32[5067]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4919]|0; + $8 = HEAP32[4997]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5430]|0; + $5 = HEAP32[5508]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15764,12 +15768,12 @@ function _rlEnd() { break; } } - HEAP32[5429] = 0; + HEAP32[5507] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4989]|0; + $11 = HEAP32[5067]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15778,7 +15782,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5430]|0; + $19 = HEAP32[5508]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15788,15 +15792,15 @@ function _rlEnd() { } } } else { - HEAP32[5429] = 0; + HEAP32[5507] = 0; } - HEAP32[5430] = 0; + HEAP32[5508] = 0; } - $21 = HEAP32[4992]|0; + $21 = HEAP32[5070]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5251]|0; - $23 = HEAP32[(21012)>>2]|0; + $22 = HEAP32[5329]|0; + $23 = HEAP32[(21324)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[742]; @@ -15815,16 +15819,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(21024)>>2]|0; - $28 = HEAP32[(21012)>>2]|0; + $27 = HEAP32[(21336)>>2]|0; + $28 = HEAP32[(21324)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(21024)>>2]|0; - $35 = HEAP32[(21012)>>2]|0; + $34 = HEAP32[(21336)>>2]|0; + $35 = HEAP32[(21324)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15832,8 +15836,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(21024)>>2]|0; - $43 = HEAP32[(21012)>>2]|0; + $42 = HEAP32[(21336)>>2]|0; + $43 = HEAP32[(21324)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15841,8 +15845,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(21024)>>2]|0; - $51 = HEAP32[(21012)>>2]|0; + $50 = HEAP32[(21336)>>2]|0; + $51 = HEAP32[(21324)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15850,9 +15854,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(21012)>>2]|0; + $58 = HEAP32[(21324)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(21012)>>2] = $59; + HEAP32[(21324)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15868,8 +15872,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5263]|0; - $62 = HEAP32[(21060)>>2]|0; + $61 = HEAP32[5341]|0; + $62 = HEAP32[(21372)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[742]; @@ -15888,16 +15892,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(21072)>>2]|0; - $67 = HEAP32[(21060)>>2]|0; + $66 = HEAP32[(21384)>>2]|0; + $67 = HEAP32[(21372)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(21072)>>2]|0; - $74 = HEAP32[(21060)>>2]|0; + $73 = HEAP32[(21384)>>2]|0; + $74 = HEAP32[(21372)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15905,8 +15909,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(21072)>>2]|0; - $82 = HEAP32[(21060)>>2]|0; + $81 = HEAP32[(21384)>>2]|0; + $82 = HEAP32[(21372)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15914,8 +15918,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(21072)>>2]|0; - $90 = HEAP32[(21060)>>2]|0; + $89 = HEAP32[(21384)>>2]|0; + $90 = HEAP32[(21372)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15923,9 +15927,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(21060)>>2]|0; + $97 = HEAP32[(21372)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(21060)>>2] = $98; + HEAP32[(21372)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15941,8 +15945,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5275]|0; - $101 = HEAP32[(21108)>>2]|0; + $100 = HEAP32[5353]|0; + $101 = HEAP32[(21420)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15950,16 +15954,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(21120)>>2]|0; - $106 = HEAP32[(21108)>>2]|0; + $105 = HEAP32[(21432)>>2]|0; + $106 = HEAP32[(21420)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(21120)>>2]|0; - $113 = HEAP32[(21108)>>2]|0; + $112 = HEAP32[(21432)>>2]|0; + $113 = HEAP32[(21420)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15967,8 +15971,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(21120)>>2]|0; - $121 = HEAP32[(21108)>>2]|0; + $120 = HEAP32[(21432)>>2]|0; + $121 = HEAP32[(21420)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15976,8 +15980,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(21120)>>2]|0; - $129 = HEAP32[(21108)>>2]|0; + $128 = HEAP32[(21432)>>2]|0; + $129 = HEAP32[(21420)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15985,9 +15989,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(21108)>>2]|0; + $136 = HEAP32[(21420)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(21108)>>2] = $137; + HEAP32[(21420)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15998,8 +16002,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5275]|0; - $140 = HEAP32[(21104)>>2]|0; + $139 = HEAP32[5353]|0; + $140 = HEAP32[(21416)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[742]; @@ -16007,8 +16011,8 @@ function _rlEnd() { HEAPF32[742] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(21116)>>2]|0; - $$promoted = HEAP32[(21104)>>2]|0; + $142 = HEAP32[(21428)>>2]|0; + $$promoted = HEAP32[(21416)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16016,7 +16020,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(21104)>>2] = $147; + HEAP32[(21416)>>2] = $147; $148 = +HEAPF32[742]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[742] = $149; @@ -16043,11 +16047,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5429]|0; + $3 = HEAP32[5507]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4989]|0; - $6 = HEAP32[5430]|0; + $5 = HEAP32[5067]|0; + $6 = HEAP32[5508]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16055,16 +16059,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5430] = $10; + HEAP32[5508] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4992]|0; + $11 = HEAP32[5070]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5251]|0; + $12 = HEAP32[5329]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(21016)>>2]|0; + $14 = HEAP32[(21328)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16075,7 +16079,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5251] = $21; + HEAP32[5329] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9536,$vararg_buffer); @@ -16084,10 +16088,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5263]|0; + $22 = HEAP32[5341]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(21064)>>2]|0; + $24 = HEAP32[(21376)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16098,7 +16102,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5263] = $31; + HEAP32[5341] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9561,$vararg_buffer1); @@ -16107,10 +16111,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5275]|0; + $32 = HEAP32[5353]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(21112)>>2]|0; + $34 = HEAP32[(21424)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16121,9 +16125,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5275] = $41; - $42 = HEAP32[4990]|0; - $43 = HEAP32[4991]|0; + HEAP32[5353] = $41; + $42 = HEAP32[5068]|0; + $43 = HEAP32[5069]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16155,13 +16159,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4992]|0; + $2 = HEAP32[5070]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(21116)>>2]|0; - $5 = HEAP32[(21104)>>2]|0; + $4 = HEAP32[(21428)>>2]|0; + $5 = HEAP32[(21416)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16169,7 +16173,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(21104)>>2] = $10; + HEAP32[(21416)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16188,18 +16192,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4992]|0; + $4 = HEAP32[5070]|0; switch ($4|0) { case 1: { - $$sink37 = (21012);$$sink38 = (21024); + $$sink37 = (21324);$$sink38 = (21336); break; } case 4: { - $$sink37 = (21060);$$sink38 = (21072); + $$sink37 = (21372);$$sink38 = (21384); break; } case 7: { - $$sink37 = (21108);$$sink38 = (21120); + $$sink37 = (21420);$$sink38 = (21432); break; } default: { @@ -16238,8 +16242,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4990]|0; - $2 = HEAP32[4991]|0; + $1 = HEAP32[5068]|0; + $2 = HEAP32[5069]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16252,9 +16256,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4991] = $10; + HEAP32[5069] = $10; } - $11 = HEAP32[4991]|0; + $11 = HEAP32[5069]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16265,7 +16269,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5275]|0; + $0 = HEAP32[5353]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16288,7 +16292,7 @@ function _rlTextureParameters($0,$1,$2) { switch ($1|0) { case 10243: case 10242: { $3 = ($2|0)!=(34626); - $4 = HEAP32[4959]|0; + $4 = HEAP32[5037]|0; $5 = ($4|0)!=(0); $or$cond = $3 | $5; if ($or$cond) { @@ -16306,7 +16310,7 @@ function _rlTextureParameters($0,$1,$2) { } case 12288: { $6 = (+($2|0)); - $7 = +HEAPF32[4958]; + $7 = +HEAPF32[5036]; $8 = !($6 <= $7); if (!($8)) { _glTexParameterf(3553,34046,(+$6)); @@ -16334,40 +16338,11 @@ function _rlTextureParameters($0,$1,$2) { _glBindTexture(3553,0); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9750); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12387)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5431] = $0; + HEAP32[5509] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16431,7 +16406,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9762|0),(9788|0),1125,(9811|0)); + ___assert_fail((9750|0),(9776|0),1041,(9799|0)); // unreachable; } } @@ -16449,7 +16424,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5432]|0; + $15 = HEAP32[5510]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16542,7 +16517,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9852); + _stbi__err(9840); $$0 = 0; return ($$0|0); } else { @@ -16564,7 +16539,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9843); + _stbi__err(9831); $$0 = 0; return ($$0|0); } @@ -16634,7 +16609,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9871); + _stbi__err(9859); $$045 = 0; return ($$045|0); } @@ -17195,7 +17170,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10185 + ($120)|0); + $121 = (10173 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17237,97 +17212,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9959); + _stbi__err(9947); $$6$ph = 0; break; } case 9: { - _stbi__err(9973); + _stbi__err(9961); $$6$ph = 0; break; } case 11: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 13: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 15: { - _stbi__err(9996); + _stbi__err(9984); $$6$ph = 0; break; } case 17: { - _stbi__err(10016); + _stbi__err(10004); $$6$ph = 0; break; } case 20: { - _stbi__err(10016); + _stbi__err(10004); $$6$ph = 0; break; } case 22: { - _stbi__err(10016); + _stbi__err(10004); $$6$ph = 0; break; } case 24: { - _stbi__err(10026); + _stbi__err(10014); $$6$ph = 0; break; } case 26: { - _stbi__err(10042); + _stbi__err(10030); $$6$ph = 0; break; } case 28: { - _stbi__err(10060); + _stbi__err(10048); $$6$ph = 0; break; } case 31: { - _stbi__err(10081); + _stbi__err(10069); $$6$ph = 0; break; } case 34: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 37: { - _stbi__err(9986); + _stbi__err(9974); $$6$ph = 0; break; } case 39: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 41: { - _stbi__err(10110); + _stbi__err(10098); $$6$ph = 0; break; } case 44: { - _stbi__err(10110); + _stbi__err(10098); $$6$ph = 0; break; } case 47: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 49: { - _stbi__err(10123); + _stbi__err(10111); $$6$ph = 0; break; } @@ -17338,32 +17313,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10139); + _stbi__err(10127); $$6$ph = 0; break; } case 58: { - _stbi__err(10156); + _stbi__err(10144); $$6$ph = 0; break; } case 61: { - _stbi__err(10169); + _stbi__err(10157); $$6$ph = 0; break; } case 63: { - _stbi__err(10156); + _stbi__err(10144); $$6$ph = 0; break; } case 70: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 72: { - _stbi__err(10194); + _stbi__err(10182); $$6$ph = 0; break; } @@ -17375,12 +17350,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9843); + _stbi__err(9831); $$6$ph = 0; break; } case 83: { - _stbi__err(10202); + _stbi__err(10190); $$6$ph = 0; break; } @@ -17393,7 +17368,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(10212); + _stbi__err(10200); $$4 = 0; break; } @@ -17458,7 +17433,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5433]|0; + $193 = HEAP32[5511]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17491,7 +17466,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10095); + _stbi__err(10083); $$4 = 0; } } while(0); @@ -17499,24 +17474,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10095); + _stbi__err(10083); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[10220] = $206; + HEAP8[10208] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(10221)>>0] = $209; + HEAP8[(10209)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(10222)>>0] = $211; + HEAP8[(10210)>>0] = $211; $212 = $207&255; - HEAP8[(10223)>>0] = $212; - _stbi__err(10220); + HEAP8[(10211)>>0] = $212; + _stbi__err(10208); $$6$ph = 0; break; } @@ -17550,14 +17525,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9884|0),(9788|0),1561,(9938|0)); + ___assert_fail((9872|0),(9776|0),1477,(9926|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9843); + _stbi__err(9831); $$0163 = 0; return ($$0163|0); } @@ -17920,7 +17895,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((13024|0),(9788|0),1590,(9938|0)); + ___assert_fail((13332|0),(9776|0),1506,(9926|0)); // unreachable; } } while(0); @@ -17954,7 +17929,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9884|0),(9788|0),1610,(9915|0)); + ___assert_fail((9872|0),(9776|0),1526,(9903|0)); // unreachable; } $7 = $2 << 1; @@ -17964,7 +17939,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9843); + _stbi__err(9831); $$0163 = 0; return ($$0163|0); } @@ -18327,7 +18302,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((13024|0),(9788|0),1639,(9915|0)); + ___assert_fail((13332|0),(9776|0),1555,(9903|0)); // unreachable; } } while(0); @@ -18475,7 +18450,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10877); + _stbi__err(11185); $$05 = 0; return ($$05|0); } @@ -18912,7 +18887,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10279|0),(9788|0),4568,(10331|0)); + ___assert_fail((10267|0),(9776|0),4569,(10319|0)); // unreachable; } } @@ -18999,7 +18974,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10279|0),(9788|0),4543,(10304|0)); + ___assert_fail((10267|0),(9776|0),4544,(10292|0)); // unreachable; } } @@ -19046,7 +19021,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5434]|0; + $16 = HEAP32[5512]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19121,7 +19096,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((10245|0),(9788|0),4649,(10263|0)); + ___assert_fail((10233|0),(9776|0),4650,(10251|0)); // unreachable; } } @@ -19144,7 +19119,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9843); + _stbi__err(9831); $$0 = 0; return ($$0|0); } @@ -19321,7 +19296,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10360|0),(9788|0),4294,(10401|0)); + ___assert_fail((10348|0),(9776|0),4294,(10389|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19329,7 +19304,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9843); + _stbi__err(9831); $$2 = 0; return ($$2|0); } @@ -19348,7 +19323,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10428); + _stbi__err(10416); $$2 = 0; return ($$2|0); } @@ -19361,7 +19336,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10428); + _stbi__err(10416); $$2 = 0; return ($$2|0); } @@ -19369,12 +19344,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19397,33 +19372,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10467 + ($56)|0); + $60 = (10455 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19433,24 +19408,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19460,10 +19435,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19474,10 +19449,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19488,14 +19463,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19525,7 +19500,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19540,12 +19515,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20122,15 +20097,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10446|0),(9788|0),4315,(10401|0)); + ___assert_fail((10434|0),(9776|0),4315,(10389|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10472|0),(9788|0),4376,(10401|0)); + ___assert_fail((10460|0),(9776|0),4377,(10389|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10489); + _stbi__err(10477); $$2 = 0; return ($$2|0); } @@ -20180,7 +20155,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10185 + ($6)|0); + $336 = (10173 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20621,7 +20596,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10504|0),(9788|0),4465,(10401|0)); + ___assert_fail((10492|0),(9776|0),4466,(10389|0)); // unreachable; } else if ((label|0) == 151) { @@ -20681,8 +20656,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20697,15 +20672,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20714,65 +20689,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23638)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10503,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,23639,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,23607,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10791,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20791,14 +20761,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10830); + _stbi__err(11138); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10846); + _stbi__err(11154); $$0 = 0; return ($$0|0); } @@ -20807,7 +20777,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10861); + _stbi__err(11169); $$0 = 0; return ($$0|0); } @@ -20890,7 +20860,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10752|0),(9788|0),4048,(10769|0)); + ___assert_fail((11060|0),(9776|0),4033,(11077|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20927,7 +20897,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10800); + _stbi__err(11108); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20937,7 +20907,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10813); + _stbi__err(11121); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20967,21 +20937,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23639|0),8,144)|0; - dest=(23783); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23895); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23919); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23607; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21115,7 +21070,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10690); + _stbi__err(10998); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21204,7 +21159,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10742); + _stbi__err(11050); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21233,7 +21188,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11527 + ($$06579)|0); + $14 = (11835 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21324,21 +21279,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10706|0),(9788|0),4021,(10714|0)); + ___assert_fail((11014|0),(9776|0),4006,(11022|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21348,7 +21303,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10690); + _stbi__err(10998); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21512,7 +21467,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10515); + _stbi__err(10823); $$3$ph = 0; return ($$3$ph|0); } @@ -21522,12 +21477,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10515); + _stbi__err(10823); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10532); + _stbi__err(10840); $$3$ph = 0; return ($$3$ph|0); } @@ -21584,7 +21539,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10541); + _stbi__err(10849); $$0 = 0; return ($$0|0); } @@ -21610,7 +21565,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9843); + _stbi__err(9831); $$0 = 0; return ($$0|0); } else { @@ -21655,7 +21610,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10637|0),(9788|0),3863,(10674|0)); + ___assert_fail((10945|0),(9776|0),3848,(10982|0)); // unreachable; } else if ((label|0) == 5) { @@ -21703,7 +21658,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10561|0),(9788|0),3891,(10577|0)); + ___assert_fail((10869|0),(9776|0),3876,(10885|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21731,7 +21686,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10608|0),(9788|0),3781,(10619|0)); + ___assert_fail((10916|0),(9776|0),3766,(10927|0)); // unreachable; } return (0)|0; @@ -21877,10 +21832,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21891,27 +21846,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11714)|0); + $6 = (_IsFileExtension($1,12022)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10936)|0); + $19 = (_IsFileExtension($1,11244)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10941,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,11249,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,12695)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21939,7 +21895,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21956,18 +21912,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10889,$vararg_buffer); + _TraceLog(2,11197,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21976,34 +21932,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10977,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11016,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,11285,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11324,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22022,11 +21985,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,12387)|0); + $4 = (_fopen($0,12695)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11075,$vararg_buffer); + _TraceLog(2,11383,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22125,7 +22088,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11172,$vararg_buffer4); + _TraceLog(0,11480,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22160,14 +22123,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11218,$vararg_buffer8); + _TraceLog(2,11526,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11126,$vararg_buffer1); + _TraceLog(2,11434,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22257,7 +22220,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,11047,$vararg_buffer); + _TraceLog(2,11355,$vararg_buffer); $$0 = $6; } } @@ -22302,27 +22265,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11268,$vararg_buffer); + _TraceLog(2,11576,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11307,$vararg_buffer1); + _TraceLog(2,11615,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11333,$vararg_buffer3); + _TraceLog(2,11641,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11396,$vararg_buffer5); + _TraceLog(2,11704,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11431,$vararg_buffer7); + _TraceLog(2,11739,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11466,$vararg_buffer10); + _TraceLog(0,11774,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23505,7 +23468,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11523 + ($$361133)|0); + $199 = (11831 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23935,7 +23898,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11523 + ($$331130)|0); + $186 = (11831 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23973,7 +23936,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11523 + ($$371134)|0); + $203 = (11831 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24012,7 +23975,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11527 + ($$421139)|0); + $235 = (11835 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24419,7 +24382,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11546 + ($495)|0); + $496 = (11854 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24456,7 +24419,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11550 + ($515)|0); + $516 = (11858 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25382,7 +25345,7 @@ function _ImageAlphaMask($0,$1) { $14 = HEAP32[$13>>2]|0; $15 = ($14|0)>(7); if ($15) { - _TraceLog(2,11592,$vararg_buffer1); + _TraceLog(2,11900,$vararg_buffer1); STACKTOP = sp;return; } ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; @@ -25473,14 +25436,14 @@ function _ImageAlphaMask($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,11554,$vararg_buffer); + _TraceLog(2,11862,$vararg_buffer); STACKTOP = sp;return; } function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19528>>2]|0;HEAP32[$0+4>>2]=HEAP32[19528+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19528+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19528+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19528+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19528+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19528+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19528+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19840>>2]|0;HEAP32[$0+4>>2]=HEAP32[19840+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19840+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19840+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19840+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19840+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19840+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19840+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -25580,7 +25543,7 @@ function _SetTextureFilter($0,$1) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11649,$vararg_buffer); + _TraceLog(2,11957,$vararg_buffer); $19 = HEAP32[$0>>2]|0; _rlTextureParameters($19,10241,9729); _rlTextureParameters($19,10240,9729); @@ -25765,18 +25728,18 @@ function _LoadSpriteFont($0,$1) { $8 = sp + 64|0; $9 = sp + 8|0; ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,11714)|0); + $10 = (_IsFileExtension($1,12022)|0); $11 = ($10|0)==(0); do { if ($11) { - $35 = (_IsFileExtension($1,11720)|0); + $35 = (_IsFileExtension($1,12028)|0); $36 = ($35|0)==(0); if (!($36)) { _LoadSpriteFontTTF($4,$1,32,0,0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; break; } - $37 = (_IsFileExtension($1,11725)|0); + $37 = (_IsFileExtension($1,12033)|0); $38 = ($37|0)==(0); if (!($38)) { _LoadBMFont($5,$1); @@ -25844,7 +25807,7 @@ function _LoadSpriteFont($0,$1) { $45 = ($44|0)==(0); if ($45) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11730,$vararg_buffer); + _TraceLog(2,12038,$vararg_buffer); _GetDefaultFont($9); ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; @@ -25872,7 +25835,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { $6 = sp + 40|0; $7 = sp + 8|0; ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,11720)|0); + $8 = (_IsFileExtension($1,12028)|0); $9 = ($8|0)==(0); if (!($9)) { $10 = ($4|0)==(0|0); @@ -25915,7 +25878,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { } } HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12274,$vararg_buffer); + _TraceLog(2,12582,$vararg_buffer); _GetDefaultFont($7); $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); @@ -25964,17 +25927,17 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; HEAP32[$4>>2] = 0; HEAP32[$8>>2] = 0; - $15 = (_fopen($1,11872)|0); + $15 = (_fopen($1,12180)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11875,$vararg_buffer); + _TraceLog(2,12183,$vararg_buffer); ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; } (_fgets($3,256,$15)|0); (_fgets($3,256,$15)|0); - $17 = (_strstr($3,11909)|0); + $17 = (_strstr($3,12217)|0); HEAP32[$vararg_buffer1>>2] = $4; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; @@ -25982,12 +25945,12 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr5>>2] = $5; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,11920,$vararg_buffer1)|0); + (_sscanf($17,12228,$vararg_buffer1)|0); $18 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,11962,$vararg_buffer7); + _TraceLog(3,12270,$vararg_buffer7); $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer11>>2] = $1; @@ -25995,24 +25958,24 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr14>>2] = $19; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,11981,$vararg_buffer11); + _TraceLog(3,12289,$vararg_buffer11); (_fgets($3,256,$15)|0); - $21 = (_strstr($3,12012)|0); + $21 = (_strstr($3,12320)|0); HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,12017,$vararg_buffer16)|0); + (_sscanf($21,12325,$vararg_buffer16)|0); HEAP32[$vararg_buffer19>>2] = $1; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,12033,$vararg_buffer19); + _TraceLog(3,12341,$vararg_buffer19); (_fgets($3,256,$15)|0); - $22 = (_strstr($3,12064)|0); + $22 = (_strstr($3,12372)|0); HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,12070,$vararg_buffer23)|0); + (_sscanf($22,12378,$vararg_buffer23)|0); $23 = HEAP32[$8>>2]|0; HEAP32[$vararg_buffer26>>2] = $1; $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,12079,$vararg_buffer26); + _TraceLog(3,12387,$vararg_buffer26); $24 = (_strrchr($1,47)|0); $25 = (_strlen($1)|0); $26 = (_strlen($24)|0); @@ -26032,7 +25995,7 @@ function _LoadBMFont($0,$1) { HEAP32[$$byval_copy52>>2] = $1; $vararg_ptr33 = ((($$byval_copy52)) + 4|0); HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,12103,$$byval_copy52); + _TraceLog(3,12411,$$byval_copy52); _LoadImage($vararg_buffer26,$31); $37 = ((($vararg_buffer26)) + 16|0); $38 = HEAP32[$37>>2]|0; @@ -26110,7 +26073,7 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr42>>2] = $12; $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,12138,$vararg_buffer34)|0); + (_sscanf($3,12446,$vararg_buffer34)|0); $64 = HEAP32[$vararg_buffer23>>2]|0; $65 = HEAP32[$59>>2]|0; $66 = (($65) + ($$05355<<5)|0); @@ -26160,7 +26123,7 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; } else { HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,12212,$vararg_buffer44); + _TraceLog(0,12520,$vararg_buffer44); } ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; @@ -26457,7 +26420,7 @@ function _LoadImageFont($0,$1,$2) { } else { $$0201$lcssa = 0; } - _TraceLog(3,11786,$vararg_buffer); + _TraceLog(3,12094,$vararg_buffer); $145 = HEAP32[$7>>2]|0; $146 = HEAP32[$63>>2]|0; $147 = Math_imul($146, $145)|0; @@ -26520,7 +26483,7 @@ function _LoadImageFont($0,$1,$2) { } else { $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11830,$vararg_buffer1); + _TraceLog(0,12138,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26554,7 +26517,7 @@ function _LoadImageFont($0,$1,$2) { } $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11830,$vararg_buffer1); + _TraceLog(0,12138,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26584,7 +26547,7 @@ function _UnloadSpriteFont($0) { $5 = ((($0)) + 28|0); $6 = HEAP32[$5>>2]|0; _free($6); - _TraceLog(3,12248,$vararg_buffer); + _TraceLog(3,12556,$vararg_buffer); STACKTOP = sp;return; } function _LoadTTF($0,$1,$2,$3,$4) { @@ -26623,18 +26586,18 @@ function _LoadTTF($0,$1,$2,$3,$4) { HEAP32[$$byval_copy9>>2] = $18; $vararg_ptr1 = ((($$byval_copy9)) + 4|0); HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12333,$$byval_copy9); + _TraceLog(0,12641,$$byval_copy9); $19 = (_malloc(16777216)|0); $20 = Math_imul($18, $18)|0; $21 = (_malloc($20)|0); $22 = ($3*20)|0; $23 = (_malloc($22)|0); ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12387)|0); + $24 = (_fopen($1,12695)|0); $25 = ($24|0)==(0|0); if ($25) { HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12390,$vararg_buffer2); + _TraceLog(2,12698,$vararg_buffer2); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; @@ -26648,13 +26611,13 @@ function _LoadTTF($0,$1,$2,$3,$4) { $26 = HEAP32[$4>>2]|0; $27 = ($26|0)==(32); if (!($27)) { - _TraceLog(2,12424,$vararg_buffer5); + _TraceLog(2,12732,$vararg_buffer5); } $28 = HEAP32[$4>>2]|0; $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); $30 = ($29|0)<(0); if ($30) { - _TraceLog(2,12491,$vararg_buffer7); + _TraceLog(2,12799,$vararg_buffer7); } _free($19); $31 = $20 << 1; @@ -26892,7 +26855,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((12554|0),(12564|0),3273,(12590|0)); + ___assert_fail((12862|0),(12872|0),3274,(12898|0)); // unreachable; } else if ((label|0) == 11) { @@ -26995,7 +26958,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((13024|0),(12564|0),1346,(13366|0)); + ___assert_fail((13332|0),(12872|0),1347,(13674|0)); // unreachable; break; } @@ -27061,7 +27024,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((13387|0),(12564|0),1382,(13366|0)); + ___assert_fail((13695|0),(12872|0),1383,(13674|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -27122,7 +27085,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((13024|0),(12564|0),1417,(13366|0)); + ___assert_fail((13332|0),(12872|0),1418,(13674|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -28002,11 +27965,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((12620|0),(12564|0),2774,(12633|0)); + ___assert_fail((12928|0),(12872|0),2775,(12941|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12663|0),(12564|0),2787,(12633|0)); + ___assert_fail((12971|0),(12872|0),2788,(12941|0)); // unreachable; } } @@ -28051,7 +28014,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((12953|0),(12564|0),2373,(12969|0)); + ___assert_fail((13261|0),(12872|0),2374,(13277|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -28379,19 +28342,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((12683|0),(12564|0),2585,(12698|0)); + ___assert_fail((12991|0),(12872|0),2586,(13006|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((12727|0),(12564|0),2604,(12698|0)); + ___assert_fail((13035|0),(12872|0),2605,(13006|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12763|0),(12564|0),2632,(12698|0)); + ___assert_fail((13071|0),(12872|0),2633,(13006|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((12781|0),(12564|0),2669,(12698|0)); + ___assert_fail((13089|0),(12872|0),2670,(13006|0)); // unreachable; } else if ((label|0) == 42) { @@ -28440,7 +28403,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((12801|0),(12564|0),2543,(12809|0)); + ___assert_fail((13109|0),(12872|0),2544,(13117|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -28449,7 +28412,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((12836|0),(12564|0),2544,(12809|0)); + ___assert_fail((13144|0),(12872|0),2545,(13117|0)); // unreachable; } $14 = $12 < $4; @@ -28491,7 +28454,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((12851|0),(12564|0),2557,(12809|0)); + ___assert_fail((13159|0),(12872|0),2558,(13117|0)); // unreachable; } } else { @@ -28501,7 +28464,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((12861|0),(12564|0),2559,(12809|0)); + ___assert_fail((13169|0),(12872|0),2560,(13117|0)); // unreachable; } $38 = !($$079 <= $31); @@ -28510,7 +28473,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((12869|0),(12564|0),2561,(12809|0)); + ___assert_fail((13177|0),(12872|0),2562,(13117|0)); // unreachable; } $40 = !($$079 >= $34); @@ -28521,14 +28484,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((12887|0),(12564|0),2565,(12809|0)); + ___assert_fail((13195|0),(12872|0),2566,(13117|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((12877|0),(12564|0),2563,(12809|0)); + ___assert_fail((13185|0),(12872|0),2564,(13117|0)); // unreachable; } } @@ -28561,7 +28524,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((12908|0),(12564|0),2572,(12809|0)); + ___assert_fail((13216|0),(12872|0),2573,(13117|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -29097,7 +29060,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((12987|0),(12564|0),1439,(13003|0)); + ___assert_fail((13295|0),(12872|0),1440,(13311|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -30044,7 +30007,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((13229|0),(12564|0),1117,(13249|0)); + ___assert_fail((13537|0),(12872|0),1118,(13557|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -30062,7 +30025,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((13146|0),(12564|0),1118,(13249|0)); + ___assert_fail((13454|0),(12872|0),1119,(13557|0)); // unreachable; } } @@ -30307,7 +30270,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((13041|0),(12564|0),1013,(13058|0)); + ___assert_fail((13349|0),(12872|0),1014,(13366|0)); // unreachable; } while(1) { @@ -30378,7 +30341,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((13024|0),(12564|0),1063,(13026|0)); + ___assert_fail((13332|0),(12872|0),1064,(13334|0)); // unreachable; } } @@ -30549,7 +30512,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((13073|0),(12564|0),1022,(13091|0)); + ___assert_fail((13381|0),(12872|0),1023,(13399|0)); // unreachable; } } @@ -30564,7 +30527,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((13106|0),(12564|0),1000,(13130|0)); + ___assert_fail((13414|0),(12872|0),1001,(13438|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -30709,7 +30672,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((13146|0),(12564|0),1048,(13175|0)); + ___assert_fail((13454|0),(12872|0),1049,(13483|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -30806,7 +30769,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((13196|0),(12564|0),1069,(13205|0)); + ___assert_fail((13504|0),(12872|0),1070,(13513|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -31133,7 +31096,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((13024|0),(12564|0),1723,(13343|0)); + ___assert_fail((13332|0),(12872|0),1724,(13651|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -31317,7 +31280,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((13024|0),(12564|0),1670,(13343|0)); + ___assert_fail((13332|0),(12872|0),1671,(13651|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -31372,7 +31335,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((13270|0),(12564|0),2113,(13320|0)); + ___assert_fail((13578|0),(12872|0),2114,(13628|0)); // unreachable; } } @@ -31462,23 +31425,23 @@ function _stbtt_InitFont_internal($0,$1) { $20 = ((($0)) + 48|0); _stbtt__new_buf($2,0,0); ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13443)|0); - $22 = (_stbtt__find_table($1,13448)|0); + $21 = (_stbtt__find_table($1,13751)|0); + $22 = (_stbtt__find_table($1,13756)|0); $23 = ((($0)) + 16|0); HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13453)|0); + $24 = (_stbtt__find_table($1,13761)|0); $25 = ((($0)) + 20|0); HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13458)|0); + $26 = (_stbtt__find_table($1,13766)|0); $27 = ((($0)) + 24|0); HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13463)|0); + $28 = (_stbtt__find_table($1,13771)|0); $29 = ((($0)) + 28|0); HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13468)|0); + $30 = (_stbtt__find_table($1,13776)|0); $31 = ((($0)) + 32|0); HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13473)|0); + $32 = (_stbtt__find_table($1,13781)|0); $33 = ((($0)) + 36|0); HEAP32[$33>>2] = $32; $34 = ($21|0)==(0); @@ -31512,7 +31475,7 @@ function _stbtt_InitFont_internal($0,$1) { HEAP32[$7>>2] = 0; HEAP32[$8>>2] = 0; HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13478)|0); + $45 = (_stbtt__find_table($1,13786)|0); $46 = ($45|0)==(0); do { if (!($46)) { @@ -31591,7 +31554,7 @@ function _stbtt_InitFont_internal($0,$1) { } } } while(0); - $68 = (_stbtt__find_table($1,13483)|0); + $68 = (_stbtt__find_table($1,13791)|0); $69 = ($68|0)==(0); if ($69) { $$sink = 65535; @@ -31954,8 +31917,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(23927,$0,$1)|0); - STACKTOP = sp;return (23927|0); + (_vsprintf(23919,$0,$1)|0); + STACKTOP = sp;return (23919|0); } function _emscripten_GetProcAddress($0) { $0 = $0|0; @@ -32003,7 +31966,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13488)|0); + $12 = (_strstr($11,13796)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -32012,7 +31975,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13492)|0); + $17 = (_strstr($16,13800)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -32021,7 +31984,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13496)|0); + $22 = (_strstr($21,13804)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -32030,7 +31993,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13500)|0); + $27 = (_strstr($26,13808)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -32039,1210 +32002,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13506)|0); + $32 = (_strcmp($31,13814)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13544)|0); + $35 = (_strcmp($34,13852)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 13563; + HEAP32[$3>>2] = 13871; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13576)|0); + $38 = (_strcmp($37,13884)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 13597; + HEAP32[$3>>2] = 13905; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13612)|0); + $41 = (_strcmp($40,13920)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 13627; + HEAP32[$3>>2] = 13935; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13642)|0); + $44 = (_strcmp($43,13950)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 13657; + HEAP32[$3>>2] = 13965; } } else { - HEAP32[$3>>2] = 13528; + HEAP32[$3>>2] = 13836; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13672)|0); + $47 = (_strcmp($46,13980)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13686)|0); + $50 = (_strcmp($49,13994)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13698)|0); + $53 = (_strcmp($52,14006)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13712)|0); + $56 = (_strcmp($55,14020)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13724)|0); + $59 = (_strcmp($58,14032)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13738)|0); + $62 = (_strcmp($61,14046)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13752)|0); + $65 = (_strcmp($64,14060)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13769)|0); + $68 = (_strcmp($67,14077)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13792)|0); + $71 = (_strcmp($70,14100)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13818)|0); + $74 = (_strcmp($73,14126)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13831)|0); + $77 = (_strcmp($76,14139)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13847)|0); + $80 = (_strcmp($79,14155)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13860)|0); + $83 = (_strcmp($82,14168)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13874)|0); + $86 = (_strcmp($85,14182)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13894)|0); + $89 = (_strcmp($88,14202)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13914)|0); + $92 = (_strcmp($91,14222)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13931)|0); + $95 = (_strcmp($94,14239)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13948)|0); + $98 = (_strcmp($97,14256)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13960)|0); + $101 = (_strcmp($100,14268)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13973)|0); + $104 = (_strcmp($103,14281)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13989)|0); + $107 = (_strcmp($106,14297)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,14012)|0); + $110 = (_strcmp($109,14320)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,14025)|0); + $113 = (_strcmp($112,14333)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,14041)|0); + $116 = (_strcmp($115,14349)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,14052)|0); + $119 = (_strcmp($118,14360)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,14071)|0); + $122 = (_strcmp($121,14379)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,14093)|0); + $125 = (_strcmp($124,14401)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,14112)|0); + $128 = (_strcmp($127,14420)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,14141)|0); + $131 = (_strcmp($130,14449)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,14158)|0); + $134 = (_strcmp($133,14466)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,14173)|0); + $137 = (_strcmp($136,14481)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,14188)|0); + $140 = (_strcmp($139,14496)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,14209)|0); + $143 = (_strcmp($142,14517)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,14229)|0); + $146 = (_strcmp($145,14537)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,14249)|0); + $149 = (_strcmp($148,14557)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,14275)|0); + $152 = (_strcmp($151,14583)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,14294)|0); + $155 = (_strcmp($154,14602)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,14306)|0); + $158 = (_strcmp($157,14614)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14318)|0); + $161 = (_strcmp($160,14626)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14330)|0); + $164 = (_strcmp($163,14638)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14342)|0); + $167 = (_strcmp($166,14650)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14354)|0); + $170 = (_strcmp($169,14662)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14366)|0); + $173 = (_strcmp($172,14674)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14378)|0); + $176 = (_strcmp($175,14686)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14390)|0); + $179 = (_strcmp($178,14698)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14403)|0); + $182 = (_strcmp($181,14711)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14416)|0); + $185 = (_strcmp($184,14724)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14429)|0); + $188 = (_strcmp($187,14737)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14442)|0); + $191 = (_strcmp($190,14750)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14455)|0); + $194 = (_strcmp($193,14763)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14468)|0); + $197 = (_strcmp($196,14776)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14481)|0); + $200 = (_strcmp($199,14789)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14494)|0); + $203 = (_strcmp($202,14802)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14513)|0); + $206 = (_strcmp($205,14821)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14532)|0); + $209 = (_strcmp($208,14840)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14551)|0); + $212 = (_strcmp($211,14859)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14564)|0); + $215 = (_strcmp($214,14872)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14582)|0); + $218 = (_strcmp($217,14890)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14600)|0); + $221 = (_strcmp($220,14908)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14618)|0); + $224 = (_strcmp($223,14926)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14636)|0); + $227 = (_strcmp($226,14944)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14656)|0); + $230 = (_strcmp($229,14964)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13597)|0); + $233 = (_strcmp($232,13905)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14674)|0); + $236 = (_strcmp($235,14982)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14689)|0); + $239 = (_strcmp($238,14997)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14710)|0); + $242 = (_strcmp($241,15018)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14725)|0); + $245 = (_strcmp($244,15033)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14743)|0); + $248 = (_strcmp($247,15051)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14759)|0); + $251 = (_strcmp($250,15067)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14778)|0); + $254 = (_strcmp($253,15086)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14792)|0); + $257 = (_strcmp($256,15100)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14807)|0); + $260 = (_strcmp($259,15115)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13528)|0); + $263 = (_strcmp($262,13836)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14818)|0); + $266 = (_strcmp($265,15126)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13627)|0); + $269 = (_strcmp($268,13935)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13657)|0); + $272 = (_strcmp($271,13965)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14834)|0); + $275 = (_strcmp($274,15142)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14861)|0); + $278 = (_strcmp($277,15169)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14875)|0); + $281 = (_strcmp($280,15183)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13563)|0); + $284 = (_strcmp($283,13871)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14895)|0); + $287 = (_strcmp($286,15203)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14913)|0); + $290 = (_strcmp($289,15221)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14925)|0); + $293 = (_strcmp($292,15233)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14946)|0); + $296 = (_strcmp($295,15254)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14964)|0); + $299 = (_strcmp($298,15272)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14982)|0); + $302 = (_strcmp($301,15290)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,15003)|0); + $305 = (_strcmp($304,15311)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,15029)|0); + $308 = (_strcmp($307,15337)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,15052)|0); + $311 = (_strcmp($310,15360)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,15090)|0); + $314 = (_strcmp($313,15398)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,15106)|0); + $317 = (_strcmp($316,15414)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,15121)|0); + $320 = (_strcmp($319,15429)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,15144)|0); + $323 = (_strcmp($322,15452)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,15157)|0); + $326 = (_strcmp($325,15465)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,15171)|0); + $329 = (_strcmp($328,15479)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,15185)|0); + $332 = (_strcmp($331,15493)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,15205)|0); + $335 = (_strcmp($334,15513)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,15225)|0); + $338 = (_strcmp($337,15533)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,15241)|0); + $341 = (_strcmp($340,15549)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,15259)|0); + $344 = (_strcmp($343,15567)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,15275)|0); + $347 = (_strcmp($346,15583)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,15290)|0); + $350 = (_strcmp($349,15598)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15312)|0); + $353 = (_strcmp($352,15620)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15330)|0); + $356 = (_strcmp($355,15638)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15351)|0); + $359 = (_strcmp($358,15659)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15369)|0); + $362 = (_strcmp($361,15677)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15382)|0); + $365 = (_strcmp($364,15690)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15397)|0); + $368 = (_strcmp($367,15705)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15411)|0); + $371 = (_strcmp($370,15719)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15421)|0); + $374 = (_strcmp($373,15729)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15431)|0); + $377 = (_strcmp($376,15739)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15453)|0); + $380 = (_strcmp($379,15761)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15479)|0); + $383 = (_strcmp($382,15787)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15506)|0); + $386 = (_strcmp($385,15814)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15519)|0); + $389 = (_strcmp($388,15827)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15534)|0); + $392 = (_strcmp($391,15842)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15549)|0); + $395 = (_strcmp($394,15857)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15573)|0); + $398 = (_strcmp($397,15881)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15584)|0); + $401 = (_strcmp($400,15892)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15606)|0); + $404 = (_strcmp($403,15914)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15628)|0); + $407 = (_strcmp($406,15936)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15652)|0); + $410 = (_strcmp($409,15960)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15661)|0); + $413 = (_strcmp($412,15969)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15669)|0); + $416 = (_strcmp($415,15977)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15682)|0); + $419 = (_strcmp($418,15990)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15696)|0); + $422 = (_strcmp($421,16004)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15708)|0); + $425 = (_strcmp($424,16016)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15717)|0); + $428 = (_strcmp($427,16025)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15727)|0); + $431 = (_strcmp($430,16035)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15739)|0); + $434 = (_strcmp($433,16047)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15750)|0); + $437 = (_strcmp($436,16058)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15758)|0); + $440 = (_strcmp($439,16066)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15770)|0); + $443 = (_strcmp($442,16078)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15785)|0); + $446 = (_strcmp($445,16093)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15797)|0); + $449 = (_strcmp($448,16105)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15811)|0); + $452 = (_strcmp($451,16119)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15836)|0); + $455 = (_strcmp($454,16144)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15853)|0); + $458 = (_strcmp($457,16161)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15869)|0); + $461 = (_strcmp($460,16177)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15885)|0); + $464 = (_strcmp($463,16193)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15897)|0); + $467 = (_strcmp($466,16205)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15909)|0); + $470 = (_strcmp($469,16217)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15933)|0); + $473 = (_strcmp($472,16241)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15946)|0); + $476 = (_strcmp($475,16254)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15960)|0); + $479 = (_strcmp($478,16268)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15982)|0); + $482 = (_strcmp($481,16290)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15989)|0); + $485 = (_strcmp($484,16297)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,16005)|0); + $488 = (_strcmp($487,16313)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,16022)|0); + $491 = (_strcmp($490,16330)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,16039)|0); + $494 = (_strcmp($493,16347)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,16055)|0); + $497 = (_strcmp($496,16363)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,16071)|0); + $500 = (_strcmp($499,16379)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,16088)|0); + $503 = (_strcmp($502,16396)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,16102)|0); + $506 = (_strcmp($505,16410)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,16114)|0); + $509 = (_strcmp($508,16422)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,16125)|0); + $512 = (_strcmp($511,16433)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,16138)|0); + $515 = (_strcmp($514,16446)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,16148)|0); + $518 = (_strcmp($517,16456)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,16165)|0); + $521 = (_strcmp($520,16473)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,16177)|0); + $524 = (_strcmp($523,16485)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,16199)|0); + $527 = (_strcmp($526,16507)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,16219)|0); + $530 = (_strcmp($529,16527)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,16232)|0); + $533 = (_strcmp($532,16540)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,16254)|0); + $536 = (_strcmp($535,16562)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,16274)|0); + $539 = (_strcmp($538,16582)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,16291)|0); + $542 = (_strcmp($541,16599)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16308)|0); + $545 = (_strcmp($544,16616)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16328)|0); + $548 = (_strcmp($547,16636)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -33264,7 +33227,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21740|0); + return (22052|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33721,7 +33684,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((16445) + ($50)|0); + $49 = ((16753) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -33753,7 +33716,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((16445) + ($$0159)|0); + $60 = ((16753) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -33889,10 +33852,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (16701 + ($128)|0); + $129 = (17009 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((16445) + ($$1160169)|0); + $132 = ((16753) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -33914,7 +33877,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((16445) + ($$4163$be)|0); + $146 = ((16753) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -33965,7 +33928,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((16445) + ($$5$be)|0); + $178 = ((16753) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -33984,7 +33947,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((16445) + ($$1160169)|0); + $122 = ((16753) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -34006,7 +33969,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((16445) + ($$6$be)|0); + $197 = ((16753) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -34068,7 +34031,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((16445) + ($$7$be)|0); + $234 = ((16753) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -34087,7 +34050,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((16445) + ($$8)|0); + $238 = ((16753) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -34106,7 +34069,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((16445) + ($$9$be)|0); + $249 = ((16753) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -34942,7 +34905,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((16710 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((17018 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35120,7 +35083,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 17174;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 17482;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35141,7 +35104,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 17174;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 17482;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35149,8 +35112,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 17174 : (17176); - $$$ = $238 ? $$ : (17175); + $$ = $240 ? 17482 : (17484); + $$$ = $238 ? $$ : (17483); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35167,7 +35130,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 17174;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 17482;$242 = $167;$243 = $170; label = 66; break; } @@ -35180,7 +35143,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 17174;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 17482;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35194,7 +35157,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 17184; + $271 = $270 ? $269 : 17492; $$1 = $271; label = 71; break; @@ -35234,7 +35197,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 17174;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 17482;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35256,8 +35219,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (17174 + ($208)|0); - $$289 = $or$cond283 ? 17174 : $209; + $209 = (17482 + ($208)|0); + $$289 = $or$cond283 ? 17482 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35278,7 +35241,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 17174;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 17482;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -35808,7 +35771,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (17222 + ($7)|0); + $9 = (17530 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36166,14 +36129,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 17191; + $$0471 = $14;$$0520 = 1;$$0521 = 17499; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (17192) : (17197); - $$$ = $16 ? $$ : (17194); + $$ = $18 ? (17500) : (17505); + $$$ = $16 ? $$ : (17502); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36272,7 +36235,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (17222 + ($80)|0); + $81 = (17530 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -36883,7 +36846,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,17238,1); + _out($0,17546,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -36964,7 +36927,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,17238,1); + _out($0,17546,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37021,9 +36984,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 17210 : 17214; + $29 = $28 ? 17518 : 17522; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 19141 : 17218; + $31 = $28 ? 19449 : 17526; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37233,7 +37196,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (17240 + ($$016)|0); + $3 = (17548 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37244,7 +37207,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 17328;$$115 = 87; + $$01214 = 17636;$$115 = 87; label = 5; break; } else { @@ -37254,9 +37217,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 17328; + $$012$lcssa = 17636; } else { - $$01214 = 17328;$$115 = $$016; + $$01214 = 17636;$$115 = $$016; label = 5; } } @@ -37681,7 +37644,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (19132 + ($$0107127)|0); + $27 = (19440 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -37748,7 +37711,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (19141 + ($$2109125)|0); + $58 = (19449 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -39999,7 +39962,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21804 : $3; + $$ = $5 ? 22116 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -40290,7 +40253,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(19145,$3,4)|0); + $memchr = (_memchr(19453,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -40379,7 +40342,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(19145,$4,4)|0); + $memchr = (_memchr(19453,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -40470,7 +40433,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21744)>>2]|0; + $38 = HEAP32[(22056)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -40503,13 +40466,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21808|0)); - return (21816|0); + ___lock((22120|0)); + return (22128|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21808|0)); + ___unlock((22120|0)); return; } function _fclose($0) { @@ -42825,7 +42788,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 19416; + $2 = 19728; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -43080,7 +43043,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5455]|0; + $3 = HEAP32[5533]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -43099,22 +43062,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5455] = 0; + HEAP32[5533] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5455] = $10; + HEAP32[5533] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5455] = 0; + HEAP32[5533] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5455] = $13; + HEAP32[5533] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -43195,7 +43158,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5456]|0; + $8 = HEAP32[5534]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -43204,7 +43167,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21864 + ($15<<2)|0); + $16 = (22176 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -43215,9 +43178,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5456] = $24; + HEAP32[5534] = $24; } else { - $25 = HEAP32[(21840)>>2]|0; + $25 = HEAP32[(22152)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -43248,7 +43211,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21832)>>2]|0; + $37 = HEAP32[(22144)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -43282,7 +43245,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21864 + ($68<<2)|0); + $69 = (22176 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -43293,10 +43256,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5456] = $77; + HEAP32[5534] = $77; $98 = $77; } else { - $78 = HEAP32[(21840)>>2]|0; + $78 = HEAP32[(22152)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -43329,22 +43292,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21844)>>2]|0; + $92 = HEAP32[(22156)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21864 + ($94<<2)|0); + $95 = (22176 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5456] = $100; + HEAP32[5534] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21840)>>2]|0; + $103 = HEAP32[(22152)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -43361,12 +43324,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21832)>>2] = $84; - HEAP32[(21844)>>2] = $87; + HEAP32[(22144)>>2] = $84; + HEAP32[(22156)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21828)>>2]|0; + $108 = HEAP32[(22140)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -43394,7 +43357,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (22128 + ($132<<2)|0); + $133 = (22440 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -43434,7 +43397,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21840)>>2]|0; + $155 = HEAP32[(22152)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -43529,7 +43492,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (22128 + ($188<<2)|0); + $189 = (22440 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -43540,11 +43503,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21828)>>2] = $194; + HEAP32[(22140)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21840)>>2]|0; + $195 = HEAP32[(22152)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -43565,7 +43528,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21840)>>2]|0; + $201 = HEAP32[(22152)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -43595,7 +43558,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21840)>>2]|0; + $213 = HEAP32[(22152)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -43632,22 +43595,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21844)>>2]|0; + $231 = HEAP32[(22156)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21864 + ($233<<2)|0); + $234 = (22176 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5456] = $238; + HEAP32[5534] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21840)>>2]|0; + $241 = HEAP32[(22152)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -43664,8 +43627,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21832)>>2] = $$0193$lcssa$i; - HEAP32[(21844)>>2] = $157; + HEAP32[(22144)>>2] = $$0193$lcssa$i; + HEAP32[(22156)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -43681,7 +43644,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21828)>>2]|0; + $250 = HEAP32[(22140)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -43721,7 +43684,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (22128 + ($$0358$i<<2)|0); + $278 = (22440 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -43813,7 +43776,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (22128 + ($330<<2)|0); + $331 = (22440 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -43857,11 +43820,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21832)>>2]|0; + $345 = HEAP32[(22144)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21840)>>2]|0; + $348 = HEAP32[(22152)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -43958,7 +43921,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (22128 + ($381<<2)|0); + $382 = (22440 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -43969,12 +43932,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21828)>>2] = $387; + HEAP32[(22140)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21840)>>2]|0; + $388 = HEAP32[(22152)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -43996,7 +43959,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21840)>>2]|0; + $394 = HEAP32[(22152)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -44028,7 +43991,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21840)>>2]|0; + $406 = HEAP32[(22152)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -44069,20 +44032,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21864 + ($425<<2)|0); - $427 = HEAP32[5456]|0; + $426 = (22176 + ($425<<2)|0); + $427 = HEAP32[5534]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5456] = $431; + HEAP32[5534] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21840)>>2]|0; + $434 = HEAP32[(22152)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -44134,7 +44097,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (22128 + ($$0361$i<<2)|0); + $464 = (22440 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -44146,7 +44109,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21828)>>2] = $472; + HEAP32[(22140)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -44185,7 +44148,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21840)>>2]|0; + $491 = HEAP32[(22152)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -44204,7 +44167,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21840)>>2]|0; + $498 = HEAP32[(22152)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -44237,16 +44200,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21832)>>2]|0; + $506 = HEAP32[(22144)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21844)>>2]|0; + $509 = HEAP32[(22156)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21844)>>2] = $511; - HEAP32[(21832)>>2] = $508; + HEAP32[(22156)>>2] = $511; + HEAP32[(22144)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -44256,8 +44219,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21832)>>2] = 0; - HEAP32[(21844)>>2] = 0; + HEAP32[(22144)>>2] = 0; + HEAP32[(22156)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -44271,14 +44234,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21836)>>2]|0; + $524 = HEAP32[(22148)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21836)>>2] = $526; - $527 = HEAP32[(21848)>>2]|0; + HEAP32[(22148)>>2] = $526; + $527 = HEAP32[(22160)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21848)>>2] = $528; + HEAP32[(22160)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -44289,23 +44252,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5574]|0; + $534 = HEAP32[5652]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22304)>>2] = 4096; - HEAP32[(22300)>>2] = 4096; - HEAP32[(22308)>>2] = -1; - HEAP32[(22312)>>2] = -1; - HEAP32[(22316)>>2] = 0; - HEAP32[(22268)>>2] = 0; + HEAP32[(22616)>>2] = 4096; + HEAP32[(22612)>>2] = 4096; + HEAP32[(22620)>>2] = -1; + HEAP32[(22624)>>2] = -1; + HEAP32[(22628)>>2] = 0; + HEAP32[(22580)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5574] = $538; + HEAP32[5652] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22304)>>2]|0; + $$pre$i212 = HEAP32[(22616)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -44318,10 +44281,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22264)>>2]|0; + $546 = HEAP32[(22576)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(22256)>>2]|0; + $548 = HEAP32[(22568)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -44331,18 +44294,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22268)>>2]|0; + $552 = HEAP32[(22580)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21848)>>2]|0; + $555 = HEAP32[(22160)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22272); + $$0$i$i = (22584); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -44400,7 +44363,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22300)>>2]|0; + $569 = HEAP32[(22612)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -44410,13 +44373,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22256)>>2]|0; + $578 = HEAP32[(22568)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22264)>>2]|0; + $582 = HEAP32[(22576)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -44462,7 +44425,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22304)>>2]|0; + $601 = HEAP32[(22616)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -44487,9 +44450,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22268)>>2]|0; + $611 = HEAP32[(22580)>>2]|0; $612 = $611 | 4; - HEAP32[(22268)>>2] = $612; + HEAP32[(22580)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -44525,35 +44488,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(22256)>>2]|0; + $626 = HEAP32[(22568)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(22256)>>2] = $627; - $628 = HEAP32[(22260)>>2]|0; + HEAP32[(22568)>>2] = $627; + $628 = HEAP32[(22572)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(22260)>>2] = $627; + HEAP32[(22572)>>2] = $627; } - $630 = HEAP32[(21848)>>2]|0; + $630 = HEAP32[(22160)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21840)>>2]|0; + $632 = HEAP32[(22152)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21840)>>2] = $$749$i; - } - HEAP32[(22272)>>2] = $$749$i; - HEAP32[(22276)>>2] = $$723948$i; - HEAP32[(22284)>>2] = 0; - $635 = HEAP32[5574]|0; - HEAP32[(21860)>>2] = $635; - HEAP32[(21856)>>2] = -1; + HEAP32[(22152)>>2] = $$749$i; + } + HEAP32[(22584)>>2] = $$749$i; + HEAP32[(22588)>>2] = $$723948$i; + HEAP32[(22596)>>2] = 0; + $635 = HEAP32[5652]|0; + HEAP32[(22172)>>2] = $635; + HEAP32[(22168)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21864 + ($636<<2)|0); + $637 = (22176 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -44576,18 +44539,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21848)>>2] = $649; - HEAP32[(21836)>>2] = $650; + HEAP32[(22160)>>2] = $649; + HEAP32[(22148)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22312)>>2]|0; - HEAP32[(21852)>>2] = $655; + $655 = HEAP32[(22624)>>2]|0; + HEAP32[(22164)>>2] = $655; } else { - $$024371$i = (22272); + $$024371$i = (22584); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -44619,7 +44582,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21836)>>2]|0; + $671 = HEAP32[(22148)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -44630,30 +44593,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21848)>>2] = $679; - HEAP32[(21836)>>2] = $681; + HEAP32[(22160)>>2] = $679; + HEAP32[(22148)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22312)>>2]|0; - HEAP32[(21852)>>2] = $686; + $686 = HEAP32[(22624)>>2]|0; + HEAP32[(22164)>>2] = $686; break; } } } - $687 = HEAP32[(21840)>>2]|0; + $687 = HEAP32[(22152)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21840)>>2] = $$749$i; + HEAP32[(22152)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22272); + $$124470$i = (22584); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -44708,21 +44671,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21836)>>2]|0; + $726 = HEAP32[(22148)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21836)>>2] = $727; - HEAP32[(21848)>>2] = $721; + HEAP32[(22148)>>2] = $727; + HEAP32[(22160)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21844)>>2]|0; + $730 = HEAP32[(22156)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21832)>>2]|0; + $732 = HEAP32[(22144)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21832)>>2] = $733; - HEAP32[(21844)>>2] = $721; + HEAP32[(22144)>>2] = $733; + HEAP32[(22156)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -44745,7 +44708,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21864 + ($748<<2)|0); + $749 = (22176 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -44768,9 +44731,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5456]|0; + $759 = HEAP32[5534]|0; $760 = $759 & $758; - HEAP32[5456] = $760; + HEAP32[5534] = $760; break; } $761 = ($747|0)==($749|0); @@ -44883,7 +44846,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (22128 + ($796<<2)|0); + $797 = (22440 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -44895,12 +44858,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21828)>>2]|0; + $802 = HEAP32[(22140)>>2]|0; $803 = $802 & $801; - HEAP32[(21828)>>2] = $803; + HEAP32[(22140)>>2] = $803; break L314; } else { - $804 = HEAP32[(21840)>>2]|0; + $804 = HEAP32[(22152)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -44921,7 +44884,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21840)>>2]|0; + $810 = HEAP32[(22152)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -44953,7 +44916,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21840)>>2]|0; + $822 = HEAP32[(22152)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -44986,21 +44949,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21864 + ($836<<2)|0); - $838 = HEAP32[5456]|0; + $837 = (22176 + ($836<<2)|0); + $838 = HEAP32[5534]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5456] = $842; + HEAP32[5534] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21840)>>2]|0; + $845 = HEAP32[(22152)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -45055,20 +45018,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (22128 + ($$0296$i$i<<2)|0); + $875 = (22440 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21828)>>2]|0; + $879 = HEAP32[(22140)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21828)>>2] = $883; + HEAP32[(22140)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -45107,7 +45070,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21840)>>2]|0; + $902 = HEAP32[(22152)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -45126,7 +45089,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21840)>>2]|0; + $909 = HEAP32[(22152)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -45153,7 +45116,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22272); + $$0$i$i$i = (22584); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -45194,23 +45157,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21848)>>2] = $946; - HEAP32[(21836)>>2] = $947; + HEAP32[(22160)>>2] = $946; + HEAP32[(22148)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22312)>>2]|0; - HEAP32[(21852)>>2] = $952; + $952 = HEAP32[(22624)>>2]|0; + HEAP32[(22164)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22272)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22272)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22272)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22272)+12>>2]|0; - HEAP32[(22272)>>2] = $$749$i; - HEAP32[(22276)>>2] = $$723948$i; - HEAP32[(22284)>>2] = 0; - HEAP32[(22280)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22584)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22584)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22584)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22584)+12>>2]|0; + HEAP32[(22584)>>2] = $$749$i; + HEAP32[(22588)>>2] = $$723948$i; + HEAP32[(22596)>>2] = 0; + HEAP32[(22592)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -45239,20 +45202,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21864 + ($968<<2)|0); - $970 = HEAP32[5456]|0; + $969 = (22176 + ($968<<2)|0); + $970 = HEAP32[5534]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5456] = $974; + HEAP32[5534] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21840)>>2]|0; + $977 = HEAP32[(22152)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -45304,19 +45267,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (22128 + ($$0212$i$i<<2)|0); + $1007 = (22440 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21828)>>2]|0; + $1010 = HEAP32[(22140)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21828)>>2] = $1014; + HEAP32[(22140)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -45355,7 +45318,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21840)>>2]|0; + $1033 = HEAP32[(22152)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -45374,7 +45337,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21840)>>2]|0; + $1040 = HEAP32[(22152)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -45397,14 +45360,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21836)>>2]|0; + $1048 = HEAP32[(22148)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21836)>>2] = $1050; - $1051 = HEAP32[(21848)>>2]|0; + HEAP32[(22148)>>2] = $1050; + $1051 = HEAP32[(22160)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21848)>>2] = $1052; + HEAP32[(22160)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -45447,7 +45410,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21840)>>2]|0; + $3 = HEAP32[(22152)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -45480,7 +45443,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21844)>>2]|0; + $19 = HEAP32[(22156)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -45495,7 +45458,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21832)>>2] = $17; + HEAP32[(22144)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -45509,7 +45472,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21864 + ($27<<2)|0); + $28 = (22176 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -45529,9 +45492,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5456]|0; + $37 = HEAP32[5534]|0; $38 = $37 & $36; - HEAP32[5456] = $38; + HEAP32[5534] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -45645,7 +45608,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (22128 + ($74<<2)|0); + $75 = (22440 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -45655,14 +45618,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21828)>>2]|0; + $80 = HEAP32[(22140)>>2]|0; $81 = $80 & $79; - HEAP32[(21828)>>2] = $81; + HEAP32[(22140)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21840)>>2]|0; + $82 = HEAP32[(22152)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -45684,7 +45647,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21840)>>2]|0; + $88 = HEAP32[(22152)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -45716,7 +45679,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21840)>>2]|0; + $100 = HEAP32[(22152)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -45751,14 +45714,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21848)>>2]|0; + $120 = HEAP32[(22160)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21844)>>2]|0; + $122 = HEAP32[(22156)>>2]|0; if ($121) { - $123 = HEAP32[(21836)>>2]|0; + $123 = HEAP32[(22148)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21836)>>2] = $124; - HEAP32[(21848)>>2] = $$1; + HEAP32[(22148)>>2] = $124; + HEAP32[(22160)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45766,16 +45729,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21844)>>2] = 0; - HEAP32[(21832)>>2] = 0; + HEAP32[(22156)>>2] = 0; + HEAP32[(22144)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21832)>>2]|0; + $129 = HEAP32[(22144)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21832)>>2] = $130; - HEAP32[(21844)>>2] = $113; + HEAP32[(22144)>>2] = $130; + HEAP32[(22156)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -45794,10 +45757,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21864 + ($142<<2)|0); + $143 = (22176 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21840)>>2]|0; + $145 = HEAP32[(22152)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -45815,9 +45778,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5456]|0; + $153 = HEAP32[5534]|0; $154 = $153 & $152; - HEAP32[5456] = $154; + HEAP32[5534] = $154; break; } $155 = ($141|0)==($143|0); @@ -45825,7 +45788,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21840)>>2]|0; + $156 = HEAP32[(22152)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -45885,7 +45848,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21840)>>2]|0; + $189 = HEAP32[(22152)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -45898,7 +45861,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21840)>>2]|0; + $169 = HEAP32[(22152)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -45929,7 +45892,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (22128 + ($193<<2)|0); + $194 = (22440 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -45939,13 +45902,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21828)>>2]|0; + $199 = HEAP32[(22140)>>2]|0; $200 = $199 & $198; - HEAP32[(21828)>>2] = $200; + HEAP32[(22140)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21840)>>2]|0; + $201 = HEAP32[(22152)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -45966,7 +45929,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21840)>>2]|0; + $207 = HEAP32[(22152)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -45996,7 +45959,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21840)>>2]|0; + $219 = HEAP32[(22152)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -46017,10 +45980,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21844)>>2]|0; + $226 = HEAP32[(22156)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21832)>>2] = $135; + HEAP32[(22144)>>2] = $135; return; } else { $$2 = $135; @@ -46039,20 +46002,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21864 + ($234<<2)|0); - $236 = HEAP32[5456]|0; + $235 = (22176 + ($234<<2)|0); + $236 = HEAP32[5534]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5456] = $240; + HEAP32[5534] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21840)>>2]|0; + $243 = HEAP32[(22152)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -46104,21 +46067,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (22128 + ($$0396<<2)|0); + $273 = (22440 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21828)>>2]|0; + $277 = HEAP32[(22140)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21828)>>2] = $281; + HEAP32[(22140)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -46156,7 +46119,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21840)>>2]|0; + $300 = HEAP32[(22152)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -46175,7 +46138,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21840)>>2]|0; + $307 = HEAP32[(22152)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -46197,12 +46160,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21856)>>2]|0; + $314 = HEAP32[(22168)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21856)>>2] = $315; + HEAP32[(22168)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22280); + $$0212$in$i = (22592); } else { return; } @@ -46216,7 +46179,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21856)>>2] = -1; + HEAP32[(22168)>>2] = -1; return; } function _realloc($0,$1) { @@ -46288,7 +46251,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21840)>>2]|0; + $6 = HEAP32[(22152)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -46318,7 +46281,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(22304)>>2]|0; + $18 = HEAP32[(22616)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -46354,10 +46317,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21848)>>2]|0; + $34 = HEAP32[(22160)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21836)>>2]|0; + $36 = HEAP32[(22148)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -46373,15 +46336,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21848)>>2] = $40; - HEAP32[(21836)>>2] = $39; + HEAP32[(22160)>>2] = $40; + HEAP32[(22148)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21844)>>2]|0; + $46 = HEAP32[(22156)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21832)>>2]|0; + $48 = HEAP32[(22144)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -46417,8 +46380,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21832)>>2] = $storemerge1; - HEAP32[(21844)>>2] = $storemerge; + HEAP32[(22144)>>2] = $storemerge1; + HEAP32[(22156)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -46445,7 +46408,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21864 + ($81<<2)|0); + $82 = (22176 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -46465,9 +46428,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5456]|0; + $91 = HEAP32[5534]|0; $92 = $91 & $90; - HEAP32[5456] = $92; + HEAP32[5534] = $92; break; } $93 = ($80|0)==($82|0); @@ -46576,7 +46539,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (22128 + ($128<<2)|0); + $129 = (22440 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -46586,13 +46549,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21828)>>2]|0; + $134 = HEAP32[(22140)>>2]|0; $135 = $134 & $133; - HEAP32[(21828)>>2] = $135; + HEAP32[(22140)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21840)>>2]|0; + $136 = HEAP32[(22152)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -46613,7 +46576,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21840)>>2]|0; + $142 = HEAP32[(22152)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -46643,7 +46606,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21840)>>2]|0; + $154 = HEAP32[(22152)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -46728,13 +46691,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21840)>>2]|0; + $13 = HEAP32[(22152)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21844)>>2]|0; + $15 = HEAP32[(22156)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -46749,7 +46712,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21832)>>2] = $12; + HEAP32[(22144)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -46763,7 +46726,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21864 + ($23<<2)|0); + $24 = (22176 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -46783,9 +46746,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5456]|0; + $33 = HEAP32[5534]|0; $34 = $33 & $32; - HEAP32[5456] = $34; + HEAP32[5534] = $34; $$1 = $11;$$1418 = $12; break; } @@ -46899,7 +46862,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (22128 + ($70<<2)|0); + $71 = (22440 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -46909,14 +46872,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21828)>>2]|0; + $76 = HEAP32[(22140)>>2]|0; $77 = $76 & $75; - HEAP32[(21828)>>2] = $77; + HEAP32[(22140)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21840)>>2]|0; + $78 = HEAP32[(22152)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -46938,7 +46901,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21840)>>2]|0; + $84 = HEAP32[(22152)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -46970,7 +46933,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21840)>>2]|0; + $96 = HEAP32[(22152)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -46989,7 +46952,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21840)>>2]|0; + $108 = HEAP32[(22152)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -47000,14 +46963,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21848)>>2]|0; + $114 = HEAP32[(22160)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21844)>>2]|0; + $116 = HEAP32[(22156)>>2]|0; if ($115) { - $117 = HEAP32[(21836)>>2]|0; + $117 = HEAP32[(22148)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21836)>>2] = $118; - HEAP32[(21848)>>2] = $$1; + HEAP32[(22148)>>2] = $118; + HEAP32[(22160)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -47015,16 +46978,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21844)>>2] = 0; - HEAP32[(21832)>>2] = 0; + HEAP32[(22156)>>2] = 0; + HEAP32[(22144)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21832)>>2]|0; + $123 = HEAP32[(22144)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21832)>>2] = $124; - HEAP32[(21844)>>2] = $$1; + HEAP32[(22144)>>2] = $124; + HEAP32[(22156)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -47043,7 +47006,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21864 + ($136<<2)|0); + $137 = (22176 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -47063,9 +47026,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5456]|0; + $146 = HEAP32[5534]|0; $147 = $146 & $145; - HEAP32[5456] = $147; + HEAP32[5534] = $147; break; } $148 = ($135|0)==($137|0); @@ -47174,7 +47137,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (22128 + ($183<<2)|0); + $184 = (22440 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -47184,13 +47147,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21828)>>2]|0; + $189 = HEAP32[(22140)>>2]|0; $190 = $189 & $188; - HEAP32[(21828)>>2] = $190; + HEAP32[(22140)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21840)>>2]|0; + $191 = HEAP32[(22152)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -47211,7 +47174,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21840)>>2]|0; + $197 = HEAP32[(22152)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -47241,7 +47204,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21840)>>2]|0; + $209 = HEAP32[(22152)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -47262,10 +47225,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21844)>>2]|0; + $216 = HEAP32[(22156)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21832)>>2] = $129; + HEAP32[(22144)>>2] = $129; return; } else { $$2 = $129; @@ -47284,20 +47247,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21864 + ($224<<2)|0); - $226 = HEAP32[5456]|0; + $225 = (22176 + ($224<<2)|0); + $226 = HEAP32[5534]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5456] = $230; + HEAP32[5534] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21840)>>2]|0; + $233 = HEAP32[(22152)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -47349,20 +47312,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (22128 + ($$0431<<2)|0); + $263 = (22440 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21828)>>2]|0; + $267 = HEAP32[(22140)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21828)>>2] = $271; + HEAP32[(22140)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -47401,7 +47364,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21840)>>2]|0; + $290 = HEAP32[(22152)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -47419,7 +47382,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21840)>>2]|0; + $297 = HEAP32[(22152)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/text/text_bmfont_unordered.png b/docs/examples/web/text/text_bmfont_unordered.png new file mode 100644 index 00000000..c6767567 Binary files /dev/null and b/docs/examples/web/text/text_bmfont_unordered.png differ diff --git a/docs/examples/web/text/text_format_text.js b/docs/examples/web/text/text_format_text.js index e2d2e199..f8b56614 100644 --- a/docs/examples/web/text/text_format_text.js +++ b/docs/examples/web/text/text_format_text.js @@ -7239,6 +7239,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7338,13 +7388,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8295,45 +8338,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/text/text_format_text.png b/docs/examples/web/text/text_format_text.png new file mode 100644 index 00000000..cf9a1dda Binary files /dev/null and b/docs/examples/web/text/text_format_text.png differ diff --git a/docs/examples/web/text/text_input_box.c b/docs/examples/web/text/text_input_box.c new file mode 100644 index 00000000..5765df94 --- /dev/null +++ b/docs/examples/web/text/text_input_box.c @@ -0,0 +1,145 @@ +/******************************************************************************************* +* +* raylib [text] example - Input Box +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#define MAX_INPUT_CHARS 9 + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +char name[MAX_INPUT_CHARS + 1] = "\0"; // NOTE: One extra space required for line ending char '\0' +int letterCount = 0; + +Rectangle textBox; +bool mouseOnText = false; + +int framesCounter = 0; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [text] example - input box"); + + textBox = (Rectangle){ screenWidth/2 - 100, 180, 225, 50 }; + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (CheckCollisionPointRec(GetMousePosition(), textBox)) mouseOnText = true; + else mouseOnText = false; + + if (mouseOnText) + { + int key = GetKeyPressed(); + + // NOTE: Only allow keys in range [32..125] + if ((key >= 32) && (key <= 125) && (letterCount < MAX_INPUT_CHARS)) + { + name[letterCount] = (char)key; + letterCount++; + } + + if (key == KEY_BACKSPACE) + { + letterCount--; + name[letterCount] = '\0'; + + if (letterCount < 0) letterCount = 0; + } + } + + if (mouseOnText) framesCounter++; + else framesCounter = 0; + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("PLACE MOUSE OVER INPUT BOX!", 240, 140, 20, GRAY); + + DrawRectangleRec(textBox, LIGHTGRAY); + if (mouseOnText) DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, RED); + else DrawRectangleLines(textBox.x, textBox.y, textBox.width, textBox.height, DARKGRAY); + + DrawText(name, textBox.x + 5, textBox.y + 8, 40, MAROON); + + DrawText(FormatText("INPUT CHARS: %i/%i", letterCount, MAX_INPUT_CHARS), 315, 250, 20, DARKGRAY); + + if (mouseOnText) + { + if (letterCount < MAX_INPUT_CHARS) + { + // Draw blinking underscore char + if (((framesCounter/20)%2) == 0) DrawText("_", textBox.x + 8 + MeasureText(name, 40), textBox.y + 12, 40, MAROON); + } + else DrawText("Press BACKSPACE to delete chars...", 230, 300, 20, GRAY); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- +} + +// Check if any key is pressed +// NOTE: We limit keys check to keys between 32 (KEY_SPACE) and 126 +bool IsAnyKeyPressed() +{ + bool keyPressed = false; + int key = GetKeyPressed(); + + if ((key >= 32) && (key <= 126)) keyPressed = true; + + return keyPressed; +} \ No newline at end of file diff --git a/docs/examples/web/text/text_input_box.js b/docs/examples/web/text/text_input_box.js new file mode 100644 index 00000000..9492ca0c --- /dev/null +++ b/docs/examples/web/text/text_input_box.js @@ -0,0 +1,24740 @@ +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +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; + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 19360; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,153,71,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,105,110,112,117,116,32,98,111,120,0,80,76,65,67,69,32,77,79,85,83,69,32,79,86,69,82,32,73,78,80,85,84,32,66,79,88,33,0,73,78,80,85,84,32,67,72,65,82,83,58,32,37,105,47,37,105,0,95,0,80,114,101,115,115,32,66,65,67,75,83,80,65,67,69,32,116,111,32,100,101,108,101,116,101,32,99,104,97,114,115,46,46,46,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + 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 ___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 _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___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.buffer) { + ___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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +JSEvents.staticInit();; +/* flush anything remaining in the buffer during shutdown */ __ATEXIT__.push(function() { 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); });; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "___syscall146": ___syscall146, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var ___syscall146=env.___syscall146; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[2]|0; + $1 = HEAP32[3]|0; + _InitWindow($0,$1,3480); + $2 = HEAP32[2]|0; + $3 = (($2|0) / 2)&-1; + $4 = (($3) + -100)|0; + HEAP32[3525] = $4; + HEAP32[(14104)>>2] = 180; + HEAP32[(14108)>>2] = 225; + HEAP32[(14112)>>2] = 50; + _emscripten_set_main_loop((1|0),0,1); + _CloseWindow(); + return 0; +} +function _UpdateDrawFrame() { + var $$byval_copy11 = 0, $$off = 0, $$sink = 0, $$sink4 = 0, $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; + 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, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0; + var $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, $76 = 0, $77 = 0; + var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $or$cond3 = 0, $textBox$byval_copy4 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy11 = sp + 32|0; + $textBox$byval_copy4 = sp + 8|0; + $vararg_buffer = sp; + $0 = sp + 24|0; + $1 = sp + 80|0; + $2 = sp + 76|0; + $3 = sp + 72|0; + $4 = sp + 68|0; + $5 = sp + 64|0; + $6 = sp + 60|0; + $7 = sp + 56|0; + $8 = sp + 52|0; + $9 = sp + 48|0; + _GetMousePosition($0); + ;HEAP32[$textBox$byval_copy4>>2]=HEAP32[$0>>2]|0;HEAP32[$textBox$byval_copy4+4>>2]=HEAP32[$0+4>>2]|0; + ;HEAP32[$$byval_copy11>>2]=HEAP32[14100>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[14100+4>>2]|0;HEAP32[$$byval_copy11+8>>2]=HEAP32[14100+8>>2]|0;HEAP32[$$byval_copy11+12>>2]=HEAP32[14100+12>>2]|0; + $10 = (_CheckCollisionPointRec($textBox$byval_copy4,$$byval_copy11)|0); + $11 = ($10|0)!=(0); + $$sink = $11&1; + HEAP32[3523] = $$sink; + do { + if ($11) { + $12 = (_GetKeyPressed()|0); + $$off = (($12) + -32)|0; + $13 = ($$off>>>0)<(94); + $14 = HEAP32[3522]|0; + $15 = ($14|0)<(9); + $or$cond3 = $13 & $15; + if ($or$cond3) { + $16 = $12&255; + $17 = (16960 + ($14)|0); + HEAP8[$17>>0] = $16; + $18 = HEAP32[3522]|0; + $19 = (($18) + 1)|0; + HEAP32[3522] = $19; + break; + } + $20 = ($12|0)==(259); + if ($20) { + $21 = HEAP32[3522]|0; + $22 = (($21) + -1)|0; + HEAP32[3522] = $22; + $23 = (16960 + ($22)|0); + HEAP8[$23>>0] = 0; + $24 = ($21|0)<(1); + if ($24) { + HEAP32[3522] = 0; + } + } + } + } while(0); + $25 = HEAP32[3523]|0; + $26 = ($25|0)!=(0); + $27 = HEAP32[3524]|0; + $28 = (($27) + 1)|0; + $$sink4 = $26 ? $28 : 0; + HEAP32[3524] = $$sink4; + _BeginDrawing(); + HEAP8[$1>>0] = -11; + $29 = ((($1)) + 1|0); + HEAP8[$29>>0] = -11; + $30 = ((($1)) + 2|0); + HEAP8[$30>>0] = -11; + $31 = ((($1)) + 3|0); + HEAP8[$31>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$1+3>>0]|0; + _ClearBackground($$byval_copy11); + HEAP8[$2>>0] = -126; + $32 = ((($2)) + 1|0); + HEAP8[$32>>0] = -126; + $33 = ((($2)) + 2|0); + HEAP8[$33>>0] = -126; + $34 = ((($2)) + 3|0); + HEAP8[$34>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$2+3>>0]|0; + _DrawText(3514,240,140,20,$$byval_copy11); + HEAP8[$3>>0] = -56; + $35 = ((($3)) + 1|0); + HEAP8[$35>>0] = -56; + $36 = ((($3)) + 2|0); + HEAP8[$36>>0] = -56; + $37 = ((($3)) + 3|0); + HEAP8[$37>>0] = -1; + ;HEAP32[$textBox$byval_copy4>>2]=HEAP32[14100>>2]|0;HEAP32[$textBox$byval_copy4+4>>2]=HEAP32[14100+4>>2]|0;HEAP32[$textBox$byval_copy4+8>>2]=HEAP32[14100+8>>2]|0;HEAP32[$textBox$byval_copy4+12>>2]=HEAP32[14100+12>>2]|0; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$3+3>>0]|0; + _DrawRectangleRec($textBox$byval_copy4,$$byval_copy11); + $38 = HEAP32[3523]|0; + $39 = ($38|0)==(0); + $40 = HEAP32[3525]|0; + $41 = HEAP32[(14104)>>2]|0; + $42 = HEAP32[(14108)>>2]|0; + $43 = HEAP32[(14112)>>2]|0; + if ($39) { + HEAP8[$5>>0] = 80; + $47 = ((($5)) + 1|0); + HEAP8[$47>>0] = 80; + $48 = ((($5)) + 2|0); + HEAP8[$48>>0] = 80; + $49 = ((($5)) + 3|0); + HEAP8[$49>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$5+3>>0]|0; + _DrawRectangleLines($40,$41,$42,$43,$$byval_copy11); + } else { + HEAP8[$4>>0] = -26; + $44 = ((($4)) + 1|0); + HEAP8[$44>>0] = 41; + $45 = ((($4)) + 2|0); + HEAP8[$45>>0] = 55; + $46 = ((($4)) + 3|0); + HEAP8[$46>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleLines($40,$41,$42,$43,$$byval_copy11); + } + $50 = HEAP32[3525]|0; + $51 = (($50) + 5)|0; + $52 = HEAP32[(14104)>>2]|0; + $53 = (($52) + 8)|0; + HEAP8[$6>>0] = -66; + $54 = ((($6)) + 1|0); + HEAP8[$54>>0] = 33; + $55 = ((($6)) + 2|0); + HEAP8[$55>>0] = 55; + $56 = ((($6)) + 3|0); + HEAP8[$56>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(16960,$51,$53,40,$$byval_copy11); + $57 = HEAP32[3522]|0; + HEAP32[$vararg_buffer>>2] = $57; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 9; + $58 = (_FormatText(3542,$vararg_buffer)|0); + HEAP8[$7>>0] = 80; + $59 = ((($7)) + 1|0); + HEAP8[$59>>0] = 80; + $60 = ((($7)) + 2|0); + HEAP8[$60>>0] = 80; + $61 = ((($7)) + 3|0); + HEAP8[$61>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText($58,315,250,20,$$byval_copy11); + $62 = HEAP32[3523]|0; + $63 = ($62|0)==(0); + if ($63) { + _EndDrawing(); + STACKTOP = sp;return; + } + $64 = HEAP32[3522]|0; + $65 = ($64|0)<(9); + if (!($65)) { + HEAP8[$9>>0] = -126; + $79 = ((($9)) + 1|0); + HEAP8[$79>>0] = -126; + $80 = ((($9)) + 2|0); + HEAP8[$80>>0] = -126; + $81 = ((($9)) + 3|0); + HEAP8[$81>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3563,230,300,20,$$byval_copy11); + _EndDrawing(); + STACKTOP = sp;return; + } + $66 = HEAP32[3524]|0; + $67 = (($66|0) / 20)&-1; + $68 = $67 & 1; + $69 = ($68|0)==(0); + if (!($69)) { + _EndDrawing(); + STACKTOP = sp;return; + } + $70 = HEAP32[3525]|0; + $71 = (($70) + 8)|0; + $72 = (_MeasureText(16960,40)|0); + $73 = (($71) + ($72))|0; + $74 = HEAP32[(14104)>>2]|0; + $75 = (($74) + 12)|0; + HEAP8[$8>>0] = -66; + $76 = ((($8)) + 1|0); + HEAP8[$76>>0] = 33; + $77 = ((($8)) + 2|0); + HEAP8[$77>>0] = 55; + $78 = ((($8)) + 3|0); + HEAP8[$78>>0] = -1; + ;HEAP8[$$byval_copy11>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy11+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy11+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy11+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3561,$73,$75,40,$$byval_copy11); + _EndDrawing(); + STACKTOP = sp;return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[3530] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 13816; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 13856; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[3464]; + $111 = +HEAPF32[3454]; + $112 = $110 - $111; + HEAPF32[3466] = $112; + $113 = +HEAPF32[(13860)>>2]; + $114 = +HEAPF32[(13820)>>2]; + $115 = $113 - $114; + HEAPF32[(13868)>>2] = $115; + HEAP32[3529] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[3535] = $116; + $117 = 13848; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 13816; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 13872; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 13856; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 13848; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 13872; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[3468]; + $160 = +HEAPF32[3462]; + $161 = $159 - $160; + HEAPF32[3466] = $161; + $162 = +HEAPF32[(13876)>>2]; + $163 = +HEAPF32[(13852)>>2]; + $164 = $162 - $163; + HEAPF32[(13868)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13848+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13856>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13856+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[3535]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[3529] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13848+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13872+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[3536] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[3535] = 0.0; + HEAPF32[3536] = 0.0; + HEAPF32[3466] = 0.0; + HEAPF32[(13868)>>2] = 0.0; + HEAP32[3530] = 0; + HEAP32[3529] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[3531]|0; + $7 = (($6) + 1)|0; + HEAP32[3531] = $7; + $8 = HEAP32[3529]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[3529] = 2; + HEAP32[3531] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[3531] = 1; + HEAP32[3529] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 13816; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 13824; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 13832; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[4] = $34; + HEAPF32[3460] = 0.0; + HEAPF32[(13844)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[3529]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 13832; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13832+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[3532] = $49; + HEAP32[3533] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[4]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13832+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[3534] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[3532] = 0.0; + HEAPF32[3534] = 0.0; + $$sink10 = 0; + } + HEAP32[3529] = $$sink10; + HEAPF32[3456] = 0.0; + HEAPF32[(13828)>>2] = 0.0; + HEAP32[3530] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[3533]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[3533] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 13848; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[3529]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13816>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13816+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13848>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13848+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[3529] = 8; + } + } + $82 = +HEAPF32[3462]; + $83 = +HEAPF32[3456]; + $84 = $82 - $83; + HEAPF32[3460] = $84; + $85 = +HEAPF32[(13852)>>2]; + $86 = +HEAPF32[(13828)>>2]; + $87 = $85 - $86; + HEAPF32[(13844)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3529]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[3530]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[3529] = 4; + } + $4 = HEAP32[3529]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[3529] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 13880; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3539]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3538]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,3598,$vararg_buffer); + HEAP32[3541] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3627|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3627|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3627|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[3539]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[3470] = $5; + $6 = HEAP32[3538]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(13884)>>2] = $8; + $9 = HEAP32[3542]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[13920>>0]=HEAP8[8156>>0]|0;HEAP8[13920+1>>0]=HEAP8[8156+1>>0]|0;HEAP8[13920+2>>0]=HEAP8[8156+2>>0]|0;HEAP8[13920+3>>0]=HEAP8[8156+3>>0]|0;HEAP8[13920+4>>0]=HEAP8[8156+4>>0]|0;HEAP8[13920+5>>0]=HEAP8[8156+5>>0]|0;HEAP8[13920+6>>0]=HEAP8[8156+6>>0]|0; + break; + } + case 1: { + $3 = 13920; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=13920; src=8163; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 13920; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(13920,$1)|0); + $strlen = (_strlen(13920)|0); + $endptr = (13920 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(13920,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[3539] = $0; + HEAP32[3538] = $1; + _MatrixIdentity($2); + dest=14244; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((1|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4298,$vararg_buffer); + } + $6 = HEAP32[3539]|0; + HEAP32[3577] = $6; + $7 = HEAP32[3538]|0; + HEAP32[3578] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[16970]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[16970]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[16970]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4324,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[3579]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[3539]|0; + $48 = HEAP32[3538]|0; + $49 = HEAP32[3541]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[3537] = $50; + $51 = HEAP32[3539]|0; + HEAP32[3580] = $51; + $52 = HEAP32[3538]|0; + HEAP32[3581] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[3539]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[3538]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[3577] = $31; + HEAP32[3578] = $34; + } + } while(0); + $38 = HEAP32[3577]|0; + $39 = HEAP32[3578]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4349,$vararg_buffer3); + $40 = HEAP32[3577]|0; + $41 = HEAP32[3578]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[3577]|0; + $43 = HEAP32[3578]|0; + $44 = HEAP32[3541]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[3537] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4387,$vararg_buffer6); + } else { + _TraceLog(0,4420,$vararg_buffer8); + $55 = HEAP32[3580]|0; + $56 = HEAP32[3581]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4460,$vararg_buffer10); + $57 = HEAP32[3539]|0; + $58 = HEAP32[3538]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4481,$vararg_buffer14); + $59 = HEAP32[3582]|0; + $60 = HEAP32[3583]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,4502,$vararg_buffer18); + } + $61 = HEAP32[3537]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[3537]|0; + (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); + $63 = HEAP32[3537]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[3537]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[3537]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[3537]|0; + (_glfwSetCharCallback(($66|0),(3|0))|0); + $67 = HEAP32[3537]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[3537]|0; + (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); + $69 = HEAP32[3537]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[16970]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[3539]|0; + $74 = HEAP32[3538]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3580]|0; + $76 = HEAP32[3582]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3581]|0; + $80 = HEAP32[3583]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,4527,$vararg_buffer22); + $73 = HEAP32[3539]|0; + $74 = HEAP32[3538]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[3580]|0; + $76 = HEAP32[3582]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[3581]|0; + $80 = HEAP32[3583]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(14212)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (20 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[14188>>2]=HEAP32[$1>>2]|0;HEAP32[14188+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14188+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14188+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14188+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(14212)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(14216)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14208)>>2] = $23; + $24 = HEAP32[3547]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3822,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(14192)>>2]|0; + $10 = HEAP32[(14212)>>2]|0; + $11 = HEAP32[(14216)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2068 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(14208)>>2] = $23; + $24 = HEAP32[3547]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,3822,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[1739] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,3755,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,3686,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,3679)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 13896; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (13904); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (14172 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[1736] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,3635,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3542] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4198,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[3555]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,3867,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[3556]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,3911,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[3557]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,3956,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[3558]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,4001,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[3559]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4046,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[3555]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[3555]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[3555]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[3555]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[3556]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[3557]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[3557]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[3558]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[3558]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[3559]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[3559]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4091,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[3560]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,4169,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4120,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4252,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8118,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[3539]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[3538]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[3580] = $3; + HEAP32[3581] = $5; + HEAP32[3582] = 0; + HEAP32[3583] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8052,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[3539]|0; + $36 = (+($35|0)); + $37 = HEAP32[3538]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[3580] = $45; + HEAP32[3581] = $37; + $46 = (($45) - ($35))|0; + HEAP32[3582] = $46; + $$sink1 = 0; + } else { + HEAP32[3580] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[3581] = $42; + HEAP32[3582] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[3583] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[3538]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,7909,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[3539]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[3538]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[3580] = $23; + HEAP32[3581] = $1; + $24 = (($0) - ($23))|0; + HEAP32[3582] = $24; + $$sink = 0; + } else { + HEAP32[3580] = $0; + $17 = HEAP32[3538]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[3581] = $20; + HEAP32[3582] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[3583] = $$sink; + $25 = HEAP32[3580]|0; + $26 = (+($25|0)); + $27 = HEAP32[3539]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=14244; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3580] = $0; + HEAP32[3581] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,7987,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[3539] = $1; + HEAP32[3538] = $2; + HEAP32[3580] = $1; + HEAP32[3581] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[742]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (16977 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[741] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (16971 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 13896; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[741] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[3953] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[3952] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,4550,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,4568,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,4586,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,4604,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,4622)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,4624,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,4659)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[3618] = 1; + $27 = (_eglGetProcAddress((4686|0))|0); + HEAP32[3619] = $27; + $28 = (_eglGetProcAddress((4707|0))|0); + HEAP32[3620] = $28; + $29 = (_eglGetProcAddress((4728|0))|0); + HEAP32[3621] = $29; + } + $30 = (_strcmp($24,4752)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[3560] = 1; + } + $32 = (_strcmp($24,4772)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,4804)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,4837)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[3555] = 1; + } + $39 = (_strcmp($24,4877)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,4913)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[3556] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,4946)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[3557] = 1; + } + $47 = (_strcmp($44,4971)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[3558] = 1; + } + $49 = (_strcmp($44,5004)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[3559] = 1; + } + $51 = (_strcmp($44,5040)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[3622] = 1; + _glGetFloatv(34047,(14492|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5074)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[3624] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[3618]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5177,$vararg_buffer15); + } else { + _TraceLog(0,5102,$vararg_buffer13); + } + $57 = HEAP32[3560]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5313,$vararg_buffer19); + } else { + _TraceLog(0,5238,$vararg_buffer17); + } + $59 = HEAP32[3555]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5405,$vararg_buffer21); + } + $61 = HEAP32[3556]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5451,$vararg_buffer23); + } + $63 = HEAP32[3557]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,5498,$vararg_buffer25); + } + $65 = HEAP32[3558]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,5549,$vararg_buffer27); + } + $67 = HEAP32[3559]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,5596,$vararg_buffer29); + } + $69 = HEAP32[3622]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[3623]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,5643,$vararg_buffer31); + } + $73 = HEAP32[3624]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,5709,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[3625] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,5813,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,5762,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=14504; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14560; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[3654] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[3654]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[3655] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[3656] = 1; + $85 = HEAP32[3625]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[3657] = 4; + _MatrixIdentity($4); + dest=14632; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14696); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14760); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14824); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14888); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(14952); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15016); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15208); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15272); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15336); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15400); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15464); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15528); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(15592); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=14340; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=14404; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3584] = 14404; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[3914] = $0; + HEAP32[3915] = $1; + _TraceLog(0,5852,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3582]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[3583]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[3580]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[3581]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 14340; + label = 3; + break; + } + case 5888: { + $modelview$sink = 14404; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[3584] = $modelview$sink; + } + HEAP32[3617] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[3584]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[3584]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6428|0),489)|0; + _memcpy(($3|0),(6917|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7406,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7358,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(15676)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(15684)>>2] = $1; + HEAP32[(15680)>>2] = 0; + HEAP32[(15688)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(15684)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[3916] = 0; + HEAP32[(15672)>>2] = 0; + HEAP32[(15668)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(15724)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(15732)>>2] = $6; + HEAP32[(15728)>>2] = 0; + HEAP32[(15736)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(15732)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[3928] = 0; + HEAP32[(15720)>>2] = 0; + HEAP32[(15716)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(15772)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(15776)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(15780)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(15784)>>2] = $13; + $14 = HEAP32[(15772)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(15776)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(15780)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(15784)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[3940] = 0; + HEAP32[(15764)>>2] = 0; + HEAP32[(15768)>>2] = 0; + _TraceLog(0,5899,$vararg_buffer); + $20 = HEAP32[3618]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[3619]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(15692)); + $44 = HEAP32[3620]|0; + $45 = HEAP32[(15692)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((15696)|0)); + $46 = HEAP32[(15696)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(15676)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((15700)|0)); + $50 = HEAP32[(15700)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(15684)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[3618]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(15696)>>2]|0; + $58 = HEAP32[(15700)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6037,$vararg_buffer3); + } else { + $56 = HEAP32[(15692)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,5972,$vararg_buffer1); + } + $59 = HEAP32[3618]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[3619]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(15740)); + $62 = HEAP32[3620]|0; + $63 = HEAP32[(15740)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((15744)|0)); + $64 = HEAP32[(15744)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(15724)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15748)|0)); + $68 = HEAP32[(15748)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(15732)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[3618]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(15744)>>2]|0; + $76 = HEAP32[(15748)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6183,$vararg_buffer10); + } else { + $74 = HEAP32[(15740)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6114,$vararg_buffer7); + } + $77 = HEAP32[3618]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[3619]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(15788)); + $80 = HEAP32[3620]|0; + $81 = HEAP32[(15788)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((15792)|0)); + $82 = HEAP32[(15792)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(15772)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((15796)|0)); + $86 = HEAP32[(15796)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(15776)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(14568)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(14568)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((15800)|0)); + $90 = HEAP32[(15800)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(15780)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((15804)|0)); + $94 = HEAP32[(15804)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(15784)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[3618]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(15792)>>2]|0; + $100 = HEAP32[(15796)>>2]|0; + $101 = HEAP32[(15800)>>2]|0; + $102 = HEAP32[(15804)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6329,$vararg_buffer17); + } else { + $98 = HEAP32[(15788)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6264,$vararg_buffer14); + } + $103 = HEAP32[3618]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,7662,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,7610,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,7659,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,7763,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,7712,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,7659,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7454|0)); + _glBindAttribLocation(($20|0),1,(7469|0)); + _glBindAttribLocation(($20|0),2,(7500|0)); + _glBindAttribLocation(($20|0),3,(7527|0)); + _glBindAttribLocation(($20|0),4,(7513|0)); + _glBindAttribLocation(($20|0),5,(7484|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,7815,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,7659,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,7861,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7454|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7469|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7484|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(7500|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(7513|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(7527|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(7539|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(7549|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(7560|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(7571|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(7583|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(7592|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(7601|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16971 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16974 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (16971 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (16974 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[3537]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8173,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[14188>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14188+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14188+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14188+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14188+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(14216)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(14500|0)); + $0 = HEAP32[3625]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8200,$vararg_buffer); + $1 = HEAP32[3655]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[3626]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[3618]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((15696)|0)); + _glDeleteBuffers(1,((15700)|0)); + _glDeleteBuffers(1,((15744)|0)); + _glDeleteBuffers(1,((15748)|0)); + _glDeleteBuffers(1,((15792)|0)); + _glDeleteBuffers(1,((15796)|0)); + _glDeleteBuffers(1,((15800)|0)); + _glDeleteBuffers(1,((15804)|0)); + $3 = HEAP32[3618]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3621]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(15692)); + $6 = HEAP32[3621]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(15740)); + $7 = HEAP32[3621]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(15788)); + } + $8 = HEAP32[(15676)>>2]|0; + _free($8); + $9 = HEAP32[(15684)>>2]|0; + _free($9); + $10 = HEAP32[(15724)>>2]|0; + _free($10); + $11 = HEAP32[(15732)>>2]|0; + _free($11); + $12 = HEAP32[(15772)>>2]|0; + _free($12); + $13 = HEAP32[(15776)>>2]|0; + _free($13); + $14 = HEAP32[(15780)>>2]|0; + _free($14); + $15 = HEAP32[(15784)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8265,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[1756] = $0; + $1 = +HEAPF64[1739]; + $2 = $0 - $1; + HEAPF64[1757] = $2; + HEAPF64[1739] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=14244; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(15816); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[3954] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(15820)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(15824)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(15828)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(15832)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(15836)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(15840)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(15844)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(15848)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(15852)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(15856)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(15860)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(15864)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(15868)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(15872)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(15876)>>2] = $31; + return (15816|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[3584]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[1756] = $0; + $1 = +HEAPF64[1739]; + $2 = $0 - $1; + HEAPF64[1758] = $2; + HEAPF64[1739] = $0; + $3 = +HEAPF64[1757]; + $4 = $2 + $3; + HEAPF64[1759] = $4; + $5 = +HEAPF64[1736]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[1756] = $10; + $11 = +HEAPF64[1739]; + $12 = $10 - $11; + HEAPF64[1739] = $10; + $13 = +HEAPF64[1759]; + $14 = $12 + $13; + HEAPF64[1759] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3537]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[741] = -1; + HEAP32[743] = -1; + HEAP32[3970] = 0; + $3 = HEAP32[3537]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[3470] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(13884)>>2] = $7; + _memcpy((17489|0),(16977|0),512)|0; + ;HEAP8[16974>>0]=HEAP8[16971>>0]|0;HEAP8[16974+1>>0]=HEAP8[16971+1>>0]|0;HEAP8[16974+2>>0]=HEAP8[16971+2>>0]|0; + $8 = HEAP32[3953]|0; + HEAP32[3540] = $8; + HEAP32[3953] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (18001 + ($$05160<<5)|0); + $scevgep67 = (18129 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((18129 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[743] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((15884 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[3970] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3916]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[3618]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[3620]|0; + $5 = HEAP32[(15692)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(15696)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[3916]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(15676)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(15700)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(15672)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(15684)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[3928]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[3618]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[3620]|0; + $19 = HEAP32[(15740)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(15744)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[3928]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(15724)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(15748)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(15720)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(15732)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[3940]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[3618]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[3620]|0; + $33 = HEAP32[(15788)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(15792)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[3940]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(15772)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(15796)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[3940]|0; + $40 = $39 << 3; + $41 = HEAP32[(15776)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(15800)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[3940]|0; + $44 = $43 << 2; + $45 = HEAP32[(15780)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[3618]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=14340; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=14404; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4003]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[3916]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[3928]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[3940]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[3640]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=14404; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=14340; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(14588)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(14592)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(14604)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[3916]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[3625]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[3618]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(15696)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(15700)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[3620]|0; + $25 = HEAP32[(15692)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[3916]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[3618]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[3928]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[3625]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[3618]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(15744)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(15748)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[3620]|0; + $41 = HEAP32[(15740)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[3928]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[3618]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[3940]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[3618]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(15792)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(14564)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(14564)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(15796)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(14568)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(14568)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(15800)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(14584)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(14584)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(15804)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[3620]|0; + $56 = HEAP32[(15788)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[3656]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[3655]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[3655]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[3656]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[3618]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[3618]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[3620]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[3656] = 1; + $5 = HEAP32[3625]|0; + $6 = HEAP32[3655]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[3916] = 0; + HEAP32[(15672)>>2] = 0; + HEAP32[3928] = 0; + HEAP32[(15720)>>2] = 0; + HEAP32[3940] = 0; + HEAP32[(15764)>>2] = 0; + HEAP32[(15768)>>2] = 0; + HEAPF32[744] = -1.0; + dest=14340; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14404; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[3914]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[3915]|0; + _rlViewport($7,0,$8,$9); + $10 = (16244 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (16116 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14404; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=14340; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[4093]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8315,$vararg_buffer); + } + $2 = HEAP32[4093]|0; + $3 = (14632 + ($2<<6)|0); + $4 = HEAP32[3584]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[4093]|0; + $6 = (($5) + 1)|0; + HEAP32[4093] = $6; + $7 = HEAP32[3617]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[4094] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[4093]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[4093]|0; + $3 = (($2) + -1)|0; + $4 = (14632 + ($3<<6)|0); + $5 = HEAP32[3584]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[4093] = $6; + return; +} +function _GetKeyPressed() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[741]|0; + return ($0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[3584]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[3584]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[3657] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[4094]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[4095]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[3654]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[3584]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[4095]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[4094] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[3654]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[4095]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[4094] = 0; + } + HEAP32[4095] = 0; + } + $21 = HEAP32[3657]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[3916]|0; + $23 = HEAP32[(15672)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(15684)>>2]|0; + $28 = HEAP32[(15672)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(15684)>>2]|0; + $35 = HEAP32[(15672)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(15684)>>2]|0; + $43 = HEAP32[(15672)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(15684)>>2]|0; + $51 = HEAP32[(15672)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(15672)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(15672)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[3928]|0; + $62 = HEAP32[(15720)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(15732)>>2]|0; + $67 = HEAP32[(15720)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(15732)>>2]|0; + $74 = HEAP32[(15720)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(15732)>>2]|0; + $82 = HEAP32[(15720)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(15732)>>2]|0; + $90 = HEAP32[(15720)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(15720)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(15720)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[3940]|0; + $101 = HEAP32[(15768)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(15780)>>2]|0; + $106 = HEAP32[(15768)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(15780)>>2]|0; + $113 = HEAP32[(15768)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(15780)>>2]|0; + $121 = HEAP32[(15768)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(15780)>>2]|0; + $129 = HEAP32[(15768)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(15768)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(15768)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[3940]|0; + $140 = HEAP32[(15764)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(15776)>>2]|0; + $$promoted = HEAP32[(15764)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(15764)>>2] = $147; + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[744]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[744] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[4094]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[3654]|0; + $6 = HEAP32[4095]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[4095] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[3657]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[3916]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(15676)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[3916] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8353,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[3928]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(15724)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[3928] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8378,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[3940]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(15772)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[3940] = $41; + $42 = HEAP32[3655]|0; + $43 = HEAP32[3656]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8407,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[744]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[744]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[3657]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(15776)>>2]|0; + $5 = HEAP32[(15764)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(15764)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[3657]|0; + switch ($4|0) { + case 1: { + $$sink37 = (15672);$$sink38 = (15684); + break; + } + case 4: { + $$sink37 = (15720);$$sink38 = (15732); + break; + } + case 7: { + $$sink37 = (15768);$$sink38 = (15780); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[3655]|0; + $2 = HEAP32[3656]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[3656] = $10; + } + $11 = HEAP32[3656]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[3940]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _GetDefaultTexture($0) { + $0 = $0|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[3625]|0; + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = 1; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx6>>2] = 1; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$7$0$$sroa_idx8>>2] = 7; + return; +} +function _DrawRectangle($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 32|0; + $$byval_copy1 = sp + 24|0; + $$byval_copy = sp + 16|0; + $5 = sp + 8|0; + $6 = sp; + $7 = (+($0|0)); + HEAPF32[$5>>2] = $7; + $8 = ((($5)) + 4|0); + $9 = (+($1|0)); + HEAPF32[$8>>2] = $9; + $10 = (+($2|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($3|0)); + HEAPF32[$11>>2] = $12; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangleV($$byval_copy,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawRectangleV($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0; + var $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.0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp; + $4 = (_rlGetVersion()|0); + $5 = ($4|0)==(1); + if ($5) { + _rlBegin(4); + $6 = HEAP8[$2>>0]|0; + $7 = ((($2)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ((($2)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = ((($2)) + 3|0); + $12 = HEAP8[$11>>0]|0; + _rlColor4ub($6,$8,$10,$12); + $13 = +HEAPF32[$0>>2]; + $14 = (~~(($13))); + $15 = ((($0)) + 4|0); + $16 = +HEAPF32[$15>>2]; + $17 = (~~(($16))); + _rlVertex2i($14,$17); + $18 = ((($1)) + 4|0); + $19 = +HEAPF32[$18>>2]; + $20 = $16 + $19; + $21 = (~~(($20))); + _rlVertex2i($14,$21); + $22 = +HEAPF32[$0>>2]; + $23 = +HEAPF32[$1>>2]; + $24 = $22 + $23; + $25 = (~~(($24))); + $26 = +HEAPF32[$15>>2]; + $27 = +HEAPF32[$18>>2]; + $28 = $26 + $27; + $29 = (~~(($28))); + _rlVertex2i($25,$29); + $30 = +HEAPF32[$0>>2]; + $31 = (~~(($30))); + $32 = +HEAPF32[$15>>2]; + $33 = (~~(($32))); + _rlVertex2i($31,$33); + $34 = +HEAPF32[$1>>2]; + $35 = $30 + $34; + $36 = (~~(($35))); + $37 = +HEAPF32[$18>>2]; + $38 = $32 + $37; + $39 = (~~(($38))); + _rlVertex2i($36,$39); + $40 = +HEAPF32[$0>>2]; + $41 = +HEAPF32[$1>>2]; + $42 = $40 + $41; + $43 = (~~(($42))); + $44 = +HEAPF32[$15>>2]; + $45 = (~~(($44))); + _rlVertex2i($43,$45); + _rlEnd(); + STACKTOP = sp;return; + } + $46 = (_rlGetVersion()|0); + $47 = ($46|0)==(2); + if (!($47)) { + $48 = (_rlGetVersion()|0); + $49 = ($48|0)==(3); + if (!($49)) { + $50 = (_rlGetVersion()|0); + $51 = ($50|0)==(4); + if (!($51)) { + STACKTOP = sp;return; + } + } + } + _GetDefaultTexture($3); + $52 = HEAP32[$3>>2]|0; + _rlEnableTexture($52); + _rlBegin(7); + $53 = HEAP8[$2>>0]|0; + $54 = ((($2)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = ((($2)) + 2|0); + $57 = HEAP8[$56>>0]|0; + $58 = ((($2)) + 3|0); + $59 = HEAP8[$58>>0]|0; + _rlColor4ub($53,$55,$57,$59); + _rlTexCoord2f(0.0,0.0); + $60 = +HEAPF32[$0>>2]; + $61 = ((($0)) + 4|0); + $62 = +HEAPF32[$61>>2]; + _rlVertex2f($60,$62); + _rlTexCoord2f(0.0,1.0); + $63 = ((($1)) + 4|0); + $64 = +HEAPF32[$63>>2]; + $65 = $62 + $64; + _rlVertex2f($60,$65); + _rlTexCoord2f(1.0,1.0); + $66 = +HEAPF32[$0>>2]; + $67 = +HEAPF32[$1>>2]; + $68 = $66 + $67; + $69 = +HEAPF32[$61>>2]; + $70 = +HEAPF32[$63>>2]; + $71 = $69 + $70; + _rlVertex2f($68,$71); + _rlTexCoord2f(1.0,0.0); + $72 = +HEAPF32[$0>>2]; + $73 = +HEAPF32[$1>>2]; + $74 = $72 + $73; + $75 = +HEAPF32[$61>>2]; + _rlVertex2f($74,$75); + _rlEnd(); + _rlDisableTexture(); + STACKTOP = sp;return; +} +function _DrawRectangleRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy = 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); + $$byval_copy = sp; + $2 = HEAP32[$0>>2]|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 12|0); + $8 = HEAP32[$7>>2]|0; + ;HEAP8[$$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; + _DrawRectangle($2,$4,$6,$8,$$byval_copy); + STACKTOP = sp;return; +} +function _DrawRectangleLines($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy3 = 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, $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); + $$byval_copy3 = sp; + $5 = (_rlGetVersion()|0); + $6 = ($5|0)==(1); + if ($6) { + _rlBegin(1); + $7 = HEAP8[$4>>0]|0; + $8 = ((($4)) + 1|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = ((($4)) + 3|0); + $13 = HEAP8[$12>>0]|0; + _rlColor4ub($7,$9,$11,$13); + $14 = (($0) + 1)|0; + $15 = (($1) + 1)|0; + _rlVertex2i($14,$15); + $16 = (($2) + ($0))|0; + _rlVertex2i($16,$15); + _rlVertex2i($16,$15); + $17 = (($3) + ($1))|0; + _rlVertex2i($16,$17); + _rlVertex2i($16,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$17); + _rlVertex2i($14,$15); + _rlEnd(); + STACKTOP = sp;return; + } + $18 = (_rlGetVersion()|0); + $19 = ($18|0)==(2); + if (!($19)) { + $20 = (_rlGetVersion()|0); + $21 = ($20|0)==(3); + if (!($21)) { + $22 = (_rlGetVersion()|0); + $23 = ($22|0)==(4); + if (!($23)) { + STACKTOP = sp;return; + } + } + } + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$1,$2,1,$$byval_copy3); + $24 = (($0) + -1)|0; + $25 = (($24) + ($2))|0; + $26 = (($1) + 1)|0; + $27 = (($3) + -2)|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($25,$26,1,$27,$$byval_copy3); + $28 = (($1) + -1)|0; + $29 = (($28) + ($3))|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$29,$2,1,$$byval_copy3); + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawRectangle($0,$26,1,$27,$$byval_copy3); + STACKTOP = sp;return; +} +function _CheckCollisionPointRec($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0.0, $20 = 0.0, $21 = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = HEAP32[$1>>2]|0; + $4 = (+($3|0)); + $5 = !($2 >= $4); + if ($5) { + $$0 = 0; + return ($$0|0); + } + $6 = ((($1)) + 8|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($7) + ($3))|0; + $9 = (+($8|0)); + $10 = !($2 <= $9); + if ($10) { + $$0 = 0; + return ($$0|0); + } + $11 = ((($0)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = ((($1)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = !($12 >= $15); + if ($16) { + $$0 = 0; + return ($$0|0); + } + $17 = ((($1)) + 12|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($18) + ($14))|0; + $20 = (+($19|0)); + $21 = !($12 <= $20); + if ($21) { + $$0 = 0; + return ($$0|0); + } + $$0 = 1; + return ($$0|0); +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[14188>>2]|0;HEAP32[$0+4>>2]=HEAP32[14188+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14188+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14188+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14188+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14188+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14188+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14188+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _FormatText($0,$varargs) { + $0 = $0|0; + $varargs = $varargs|0; + var $1 = 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; + (_vsprintf(18257,$0,$1)|0); + STACKTOP = sp;return (18257|0); +} +function _MeasureText($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 72|0; + $2 = sp + 40|0; + $3 = sp + 8|0; + $4 = sp; + _GetDefaultFont($2); + $5 = HEAP32[$2>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + $$sroa$0$0 = 0; + STACKTOP = sp;return ($$sroa$0$0|0); + } + $7 = ($1|0)>(10); + $$ = $7 ? $1 : 10; + $8 = (($$>>>0) / 10)&-1; + _GetDefaultFont($3); + $9 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$3+28>>2]|0; + _MeasureTextEx($4,$$byval_copy,$0,$9,$8); + $$sroa$0$0$copyload = +HEAPF32[$4>>2]; + $phitmp = (~~(($$sroa$0$0$copyload))); + $$sroa$0$0 = $phitmp; + STACKTOP = sp;return ($$sroa$0$0|0); +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,8432)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,8436)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,8440)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,8444)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,8450)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,8488)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 8507; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,8520)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 8541; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,8556)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 8571; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,8586)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 8601; + } + } else { + HEAP32[$3>>2] = 8472; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,8616)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,8630)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 2; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,8642)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 6; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,8656)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 7; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,8668)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 8; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,8682)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 9; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,8696)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 10; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,8713)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,8736)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,8762)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,8775)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,8791)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,8804)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 11; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,8818)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,8838)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,8858)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,8875)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,8892)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 3; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,8904)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 12; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,8917)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 13; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,8933)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,8956)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,8969)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,8985)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 4; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,8996)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 14; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,9015)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 15; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,9037)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 16; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,9056)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,9085)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 5; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,9102)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,9117)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,9132)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,9153)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,9173)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,9193)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,9219)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,9238)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,9250)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,9262)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,9274)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,9286)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 17; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,9298)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,9310)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,9322)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,9334)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,9347)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,9360)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,9373)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,9386)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,9399)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,9412)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,9425)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,9438)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,9457)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,9476)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,9495)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 18; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,9508)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 19; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,9526)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 20; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,9544)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 21; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,9562)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 22; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,9580)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,9600)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,8541)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 6; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,9618)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,9633)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,9654)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,9669)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,9687)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,9703)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,9722)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,9736)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,9751)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 7; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,8472)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,9762)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,8571)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 23; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,8601)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 24; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,9778)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,9805)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,9819)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,8507)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,9839)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,9857)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 8; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,9869)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,9890)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 25; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,9908)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 26; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,9926)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 27; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,9947)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,9973)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,9996)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,10034)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 9; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,10050)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,10065)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,10088)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,10101)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 28; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,10115)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 29; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,10129)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,10149)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,10169)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,10185)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,10203)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,10219)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,10234)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,10256)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 30; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,10274)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 31; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,10295)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,10313)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,10326)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,10341)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,10355)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,10365)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,10375)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,10397)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,10423)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,10450)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,10463)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,10478)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,10493)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,10517)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,10528)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 32; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,10550)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,10572)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,10596)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,10605)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,10613)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,10626)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,10640)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,10652)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,10661)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,10671)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,10683)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,10694)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,10702)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,10714)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,10729)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,10741)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,10755)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 10; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,10780)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,10797)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,10813)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,10829)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 11; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,10841)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 33; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,10853)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 34; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,10877)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,10890)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,10904)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 35; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,10926)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 36; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,10933)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,10949)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,10966)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,10983)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,10999)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,11015)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,11032)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,11046)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,11058)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,11069)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,11082)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,11092)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,11109)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,11121)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,11143)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,11163)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,11176)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,11198)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,11218)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,11235)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,11252)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,11272)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 37; + break; + } + } else { + HEAP32[$1>>2] = 5; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (16384|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (2980|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|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] = 9; + $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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|0); +} +function _vsprintf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_vsnprintf($0,2147483647,$1,$2)|0); + return ($3|0); +} +function _vsnprintf($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 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 $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $4 = sp + 124|0; + $5 = sp; + dest=$5; src=3356; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $6 = (($1) + -1)|0; + $7 = ($6>>>0)>(2147483646); + if ($7) { + $8 = ($1|0)==(0); + if ($8) { + $$014 = $4;$$015 = 1; + label = 4; + } else { + $9 = (___errno_location()|0); + HEAP32[$9>>2] = 75; + $$0 = -1; + } + } else { + $$014 = $0;$$015 = $1; + label = 4; + } + if ((label|0) == 4) { + $10 = $$014; + $11 = (-2 - ($10))|0; + $12 = ($$015>>>0)>($11>>>0); + $$$015 = $12 ? $11 : $$015; + $13 = ((($5)) + 48|0); + HEAP32[$13>>2] = $$$015; + $14 = ((($5)) + 20|0); + HEAP32[$14>>2] = $$014; + $15 = ((($5)) + 44|0); + HEAP32[$15>>2] = $$014; + $16 = (($$014) + ($$$015)|0); + $17 = ((($5)) + 16|0); + HEAP32[$17>>2] = $16; + $18 = ((($5)) + 28|0); + HEAP32[$18>>2] = $16; + $19 = (_vfprintf($5,$2,$3)|0); + $20 = ($$$015|0)==(0); + if ($20) { + $$0 = $19; + } else { + $21 = HEAP32[$14>>2]|0; + $22 = HEAP32[$17>>2]|0; + $23 = ($21|0)==($22|0); + $24 = $23 << 31 >> 31; + $25 = (($21) + ($24)|0); + HEAP8[$25>>0] = 0; + $$0 = $19; + } + } + STACKTOP = sp;return ($$0|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((11388 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 11852;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 11852;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11852 : (11854); + $$$ = $238 ? $$ : (11853); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 11852;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 11852;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 11862; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11852;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (11852 + ($208)|0); + $$289 = $or$cond283 ? 11852 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 11852;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (11904 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11869; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11870) : (11875); + $$$ = $16 ? $$ : (11872); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (11904 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11920,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,11920,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11888 : 11892; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11896 : 11900; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (11922 + ($$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 = 12010;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 12010; + } else { + $$01214 = 12010;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function _sn_write($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 20|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6; + $8 = (($4) - ($7))|0; + $9 = ($8>>>0)>($2>>>0); + $$ = $9 ? $2 : $8; + _memcpy(($6|0),($1|0),($$|0))|0; + $10 = HEAP32[$5>>2]|0; + $11 = (($10) + ($$)|0); + HEAP32[$5>>2] = $11; + return ($2|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((16448|0)); + return (16456|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((16448|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[838]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[838]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 14080; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[806]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[4115]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[4115] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[4115] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[4115] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[4115] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[4116]|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 = (16504 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[4116] = $24; + } else { + $25 = HEAP32[(16480)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(16472)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (16504 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[4116] = $77; + $98 = $77; + } else { + $78 = HEAP32[(16480)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(16484)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (16504 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[4116] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(16480)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(16472)>>2] = $84; + HEAP32[(16484)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(16468)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (16768 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(16480)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (16768 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(16468)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(16480)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(16480)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(16480)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(16484)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (16504 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[4116] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(16480)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(16472)>>2] = $$0193$lcssa$i; + HEAP32[(16484)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(16468)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (16768 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (16768 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(16472)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(16480)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (16768 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(16468)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(16480)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(16480)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(16480)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (16504 + ($425<<2)|0); + $427 = HEAP32[4116]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[4116] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(16480)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (16768 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(16468)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(16480)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(16480)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(16472)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(16484)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(16484)>>2] = $511; + HEAP32[(16472)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(16472)>>2] = 0; + HEAP32[(16484)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(16476)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(16476)>>2] = $526; + $527 = HEAP32[(16488)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(16488)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[4234]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(16944)>>2] = 4096; + HEAP32[(16940)>>2] = 4096; + HEAP32[(16948)>>2] = -1; + HEAP32[(16952)>>2] = -1; + HEAP32[(16956)>>2] = 0; + HEAP32[(16908)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[4234] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(16944)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(16904)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(16896)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(16908)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(16488)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (16912); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(16940)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(16896)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(16904)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(16944)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(16908)>>2]|0; + $612 = $611 | 4; + HEAP32[(16908)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(16896)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(16896)>>2] = $627; + $628 = HEAP32[(16900)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(16900)>>2] = $627; + } + $630 = HEAP32[(16488)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(16480)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(16480)>>2] = $$749$i; + } + HEAP32[(16912)>>2] = $$749$i; + HEAP32[(16916)>>2] = $$723948$i; + HEAP32[(16924)>>2] = 0; + $635 = HEAP32[4234]|0; + HEAP32[(16500)>>2] = $635; + HEAP32[(16496)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (16504 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(16488)>>2] = $649; + HEAP32[(16476)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(16952)>>2]|0; + HEAP32[(16492)>>2] = $655; + } else { + $$024371$i = (16912); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(16476)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(16488)>>2] = $679; + HEAP32[(16476)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(16952)>>2]|0; + HEAP32[(16492)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(16480)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(16480)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (16912); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(16476)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(16476)>>2] = $727; + HEAP32[(16488)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(16484)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(16472)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(16472)>>2] = $733; + HEAP32[(16484)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (16504 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[4116]|0; + $760 = $759 & $758; + HEAP32[4116] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (16768 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(16468)>>2]|0; + $803 = $802 & $801; + HEAP32[(16468)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(16480)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(16480)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(16480)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (16504 + ($836<<2)|0); + $838 = HEAP32[4116]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[4116] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(16480)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (16768 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(16468)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(16468)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(16480)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(16480)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (16912); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(16488)>>2] = $946; + HEAP32[(16476)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(16952)>>2]|0; + HEAP32[(16492)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(16912)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16912)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16912)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16912)+12>>2]|0; + HEAP32[(16912)>>2] = $$749$i; + HEAP32[(16916)>>2] = $$723948$i; + HEAP32[(16924)>>2] = 0; + HEAP32[(16920)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (16504 + ($968<<2)|0); + $970 = HEAP32[4116]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[4116] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(16480)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (16768 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(16468)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(16468)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(16480)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(16480)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(16476)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(16476)>>2] = $1050; + $1051 = HEAP32[(16488)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(16488)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(16480)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(16484)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(16472)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (16504 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[4116]|0; + $38 = $37 & $36; + HEAP32[4116] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (16768 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(16468)>>2]|0; + $81 = $80 & $79; + HEAP32[(16468)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(16480)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(16480)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(16480)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(16488)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(16484)>>2]|0; + if ($121) { + $123 = HEAP32[(16476)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(16476)>>2] = $124; + HEAP32[(16488)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(16484)>>2] = 0; + HEAP32[(16472)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(16472)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(16472)>>2] = $130; + HEAP32[(16484)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (16504 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(16480)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[4116]|0; + $154 = $153 & $152; + HEAP32[4116] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(16480)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(16480)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(16480)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (16768 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(16468)>>2]|0; + $200 = $199 & $198; + HEAP32[(16468)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(16480)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(16480)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(16480)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(16484)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(16472)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (16504 + ($234<<2)|0); + $236 = HEAP32[4116]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[4116] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(16480)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (16768 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(16468)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(16468)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(16480)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(16480)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(16496)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(16496)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (16920); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(16496)>>2] = -1; + return; +} +function runPostSets() { +} +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 _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 _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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,___stdout_write,___stdio_seek,_sn_write,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,b8,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, ___errno_location: ___errno_location, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, _llvm_bswap_i32: _llvm_bswap_i32, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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__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__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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/text/text_input_box.png b/docs/examples/web/text/text_input_box.png new file mode 100644 index 00000000..42f9d73a Binary files /dev/null and b/docs/examples/web/text/text_input_box.png differ diff --git a/docs/examples/web/text/text_raylib_fonts.c b/docs/examples/web/text/text_raylib_fonts.c new file mode 100644 index 00000000..340b78f7 --- /dev/null +++ b/docs/examples/web/text/text_raylib_fonts.c @@ -0,0 +1,133 @@ +/******************************************************************************************* +* +* raylib [core] example - raylib bitmap font (rbmf) loading and usage (adapted for HTML5 platform) +* +* This example has been created using raylib 1.3 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2015 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +#define MAX_FONTS 8 + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +SpriteFont fonts[MAX_FONTS]; +const int spacings[MAX_FONTS] = { 2, 4, 8, 4, 3, 4, 4, 1 }; +Vector2 positions[MAX_FONTS]; + +Color *colors; +const char (*messages)[64]; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [text] example - raylib fonts"); + + Color tempColors[MAX_FONTS] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD, RED }; + + colors = tempColors; + + const char tempMessages[MAX_FONTS][64] = { "ALAGARD FONT designed by Hewett Tsoi", + "PIXELPLAY FONT designed by Aleksander Shevchuk", + "MECHA FONT designed by Captain Falcon", + "SETBACK FONT designed by Brian Kent (AEnigma)", + "ROMULUS FONT designed by Hewett Tsoi", + "PIXANTIQUA FONT designed by Gerhard Grossmann", + "ALPHA_BETA FONT designed by Brian Kent (AEnigma)", + "JUPITER_CRASH FONT designed by Brian Kent (AEnigma)" }; + + messages = tempMessages; + + fonts[0] = LoadSpriteFont("resources/fonts/alagard.png"); + fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.png"); + fonts[2] = LoadSpriteFont("resources/fonts/mecha.png"); + fonts[3] = LoadSpriteFont("resources/fonts/setback.png"); + fonts[4] = LoadSpriteFont("resources/fonts/romulus.png"); + fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.png"); + fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.png"); + fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.png"); + + for (int i = 0; i < MAX_FONTS; i++) + { + positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].baseSize*2, spacings[i]).x/2; + positions[i].y = 60 + fonts[i].baseSize + 45*i; + } + + // Small Y position corrections + positions[3].y += 8; + positions[4].y += 2; + positions[7].y -= 8; + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + + // SpriteFont unloading + for (int i = 0; i < MAX_FONTS; i++) UnloadSpriteFont(fonts[i]); + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + // TODO: Update your variables here + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("free fonts included with raylib", 250, 20, 20, DARKGRAY); + DrawLine(220, 50, 590, 50, DARKGRAY); + + for (int i = 0; i < 8; i++) + { + DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].baseSize*2, spacings[i], colors[i]); + } + + EndDrawing(); + //---------------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/docs/examples/web/text/text_raylib_fonts.data b/docs/examples/web/text/text_raylib_fonts.data new file mode 100644 index 00000000..dc6a8be2 Binary files /dev/null and b/docs/examples/web/text/text_raylib_fonts.data differ diff --git a/docs/examples/web/text/text_raylib_fonts.js b/docs/examples/web/text/text_raylib_fonts.js new file mode 100644 index 00000000..00732537 --- /dev/null +++ b/docs/examples/web/text/text_raylib_fonts.js @@ -0,0 +1,49234 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'text/text_raylib_fonts.data'; + var REMOTE_PACKAGE_BASE = 'text_raylib_fonts.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); +Module['FS_createPath']('/resources', 'fonts', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_text/text_raylib_fonts.data'); + + }; + Module['addRunDependency']('datafile_text/text_raylib_fonts.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 4424, "filename": "/resources/fonts/alagard.png"}, {"audio": 0, "start": 4424, "crunched": 0, "end": 7336, "filename": "/resources/fonts/pixelplay.png"}, {"audio": 0, "start": 7336, "crunched": 0, "end": 9735, "filename": "/resources/fonts/mecha.png"}, {"audio": 0, "start": 9735, "crunched": 0, "end": 12274, "filename": "/resources/fonts/setback.png"}, {"audio": 0, "start": 12274, "crunched": 0, "end": 15206, "filename": "/resources/fonts/romulus.png"}, {"audio": 0, "start": 15206, "crunched": 0, "end": 18209, "filename": "/resources/fonts/pixantiqua.png"}, {"audio": 0, "start": 18209, "crunched": 0, "end": 20651, "filename": "/resources/fonts/alpha_beta.png"}, {"audio": 0, "start": 20651, "crunched": 0, "end": 24129, "filename": "/resources/fonts/jupiter_crash.png"}], "remote_package_size": 24129, "package_uuid": "6678b3d2-e5b4-4a4d-a0c0-734e1f82c6c7"}); + +})(); + +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 25584; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,2,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,239,95,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,114,97,121,108,105,98,32,102,111,110,116,115,0,190,33,55,255,255,161,0,255,0,117,44,255,0,82,172,255,112,31,126,255,0,158,47,255,255,203,0,255,230,41,55,255,65,76,65,71,65,82,68,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,69,76,80,76,65,89,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,65,108,101,107,115,97,110,100,101,114,32,83,104,101,118,99,104,117,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,69,67,72,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,67,97,112,116,97,105,110,32,70,97,108,99,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,69,84,66,65,67,75,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,79,77,85,76,85,83,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,65,78,84,73,81,85,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,71,101,114,104,97,114,100,32,71,114,111,115,115,109,97,110,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,76,80,72,65,95,66,69,84,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,85,80,73,84,69,82,95,67,82,65,83,72,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,97,103,97,114,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,101,108,112,108,97,121,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,109,101,99,104,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,115,101,116,98,97,99,107,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,114,111,109,117,108,117,115,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,97,110,116,105,113,117,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,112,104,97,95,98,101,116,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,106,117,112,105,116,101,114,95,99,114,97,115,104,46,112,110,103,0,102,114,101,101,32,102,111,110,116,115,32,105,110,99,108,117,100,101,100,32,119,105,116,104,32,114,97,121,108,105,98,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + return parts; + },normalize:function (path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function (path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function (path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function (path) { + return PATH.splitPath(path)[3]; + },join:function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function (l, r) { + return PATH.normalize(l + '/' + r); + },resolve:function () { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function (dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function (stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + },close:function (stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function (stream) { + stream.tty.ops.flush(stream.tty); + },read:function (stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion + + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (usingDevice) { fs.closeSync(fd); } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + + } else if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function (tty, val) { + if (val === null || val === 10) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function (mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function (node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function (node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function (node, newCapacity) { + // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file + // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to + // increase the size. + if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { + node.contents = MEMFS.getFileDataAsRegularArray(node); + node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. + } + + if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + } + // Not using a typed array to back the file storage. Use a standard JS array instead. + if (!node.contents && newCapacity > 0) node.contents = []; + while (node.contents.length < newCapacity) node.contents.push(0); + },resizeFileStorage:function (node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function (node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function (parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT]; + },mknod:function (parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function (old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function (parent, name) { + delete parent.contents[name]; + },rmdir:function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + },readdir:function (node) { + var entries = ['.', '..'] + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position+length); + return length; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + },allocate:function (stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if ( !(flags & 2) && + (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var IDBFS={dbs:{},indexedDB:function () { + if (typeof indexedDB !== 'undefined') return indexedDB; + var ret = null; + if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, 'IDBFS used, but indexedDB not supported'); + return ret; + },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { + // reuse all of the core MEMFS functionality + return MEMFS.mount.apply(null, arguments); + },syncfs:function (mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + + var src = populate ? remote : local; + var dst = populate ? local : remote; + + IDBFS.reconcile(src, dst, callback); + }); + }); + },getDB:function (name, callback) { + // check the cache first + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db); + } + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); + } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + + var fileStore; + + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); + } + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + } + }; + req.onsuccess = function() { + db = req.result; + + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); + } + }; + + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + + while (check.length) { + var path = check.pop(); + var stat; + + try { + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); + } + + entries[path] = { timestamp: stat.mtime }; + } + + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; + + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); + + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } + + entries[cursor.primaryKey] = { timestamp: cursor.key }; + + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; + + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + return callback(null, { timestamp: stat.mtime, mode: stat.mode }); + } else if (FS.isFile(stat.mode)) { + // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. + // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); + } else { + return callback(new Error('node type not supported')); + } + },storeLocalEntry:function (path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode); + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); + } else { + return callback(new Error('node type not supported')); + } + + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } + + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); + } + } catch (e) { + return callback(e); + } + + callback(null); + },loadRemoteEntry:function (store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { callback(null, event.target.result); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },storeRemoteEntry:function (store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },removeRemoteEntry:function (store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },reconcile:function (src, dst, callback) { + var total = 0; + + var create = []; + Object.keys(src.entries).forEach(function (key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++; + } + }); + + var remove = []; + Object.keys(dst.entries).forEach(function (key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++; + } + }); + + if (!total) { + return callback(null); + } + + var errored = false; + var completed = 0; + var db = src.type === 'remote' ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err); + } + return; + } + if (++completed >= total) { + return callback(null); + } + }; + + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; + + // sort paths in ascending order so directory entries are created + // before the files inside them + create.sort().forEach(function (path) { + if (dst.type === 'local') { + IDBFS.loadRemoteEntry(store, path, function (err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); + } else { + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); + } + }); + + // sort paths in descending order so files are deleted before their + // parent directories + remove.sort().reverse().forEach(function(path) { + if (dst.type === 'local') { + IDBFS.removeLocalEntry(path, done); + } else { + IDBFS.removeRemoteEntry(store, path, done); + } + }); + }}; + + var NODEFS={isWindows:false,staticInit:function () { + NODEFS.isWindows = !!process.platform.match(/^win/); + },mount:function (mount) { + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); + },createNode:function (parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + },getMode:function (path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } else { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + },node_ops:{getattr:function (node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. + // See http://support.microsoft.com/kb/140365 + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + },setattr:function (node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + // update the common node structure mode as well + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },lookup:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + },mknod:function (parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + // create the backing node for this in the fs root as well + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, '', { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return node; + },rename:function (oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },unlink:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },rmdir:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readdir:function (node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },symlink:function (parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readlink:function (node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }},stream_ops:{open:function (stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },close:function (stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },read:function (stream, buffer, offset, length, position) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + } + + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + return position; + }}}; + + var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + // return the parent node, creating subdirs as necessary + var parts = path.split('/'); + var parent = root; + for (var i = 0; i < parts.length-1; i++) { + var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; + } + // We also accept FileList here, by using Array.prototype + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack['metadata'].files.forEach(function(file) { + var name = file.filename.substr(1); // remove initial slash + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); + }); + }); + return root; + },createNode:function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + },node_ops:{getattr:function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096), + }; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rename:function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },unlink:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rmdir:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readdir:function (node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readlink:function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + },write:function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }}}; + + var _stdin=STATICTOP; STATICTOP += 16;; + + var _stdout=STATICTOP; STATICTOP += 16;; + + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); + },lookupPath:function (path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function (parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function (parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + + FS.FSNode.prototype = {}; + + // compatibility + var readMode = 292 | 73; + var writeMode = 146; + + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { return (this.mode & readMode) === readMode; }, + set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } + }, + write: { + get: function() { return (this.mode & writeMode) === writeMode; }, + set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(this.mode); } + }, + isDevice: { + get: function() { return FS.isChrdev(this.mode); } + } + }); + } + + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function (node) { + FS.hashRemoveNode(node); + },isRoot:function (node) { + return node === node.parent; + },isMountpoint:function (node) { + return !!node.mounted; + },isFile:function (mode) { + return (mode & 61440) === 32768; + },isDir:function (mode) { + return (mode & 61440) === 16384; + },isLink:function (mode) { + return (mode & 61440) === 40960; + },isChrdev:function (mode) { + return (mode & 61440) === 8192; + },isBlkdev:function (mode) { + return (mode & 61440) === 24576; + },isFIFO:function (mode) { + return (mode & 61440) === 4096; + },isSocket:function (mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function (flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function (node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES; + } + return 0; + },mayLookup:function (dir) { + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; + return 0; + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return ERRNO_CODES.EBUSY; + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT; + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return ERRNO_CODES.EISDIR; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function(){}; + FS.FSStream.prototype = {}; + // compatibility + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }); + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function (fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function (stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + }},major:function (dev) { + return ((dev) >> 8); + },minor:function (dev) { + return ((dev) & 0xff); + },makedev:function (ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function (dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function (dev) { + return FS.devices[dev]; + },getMounts:function (mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function (type, opts, mountpoint) { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function (parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function (path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function (path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function (old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + // new path should not be an ancestor of the old path + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + err = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + return node.node_ops.readdir(node); + },unlink:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function (path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return node.node_ops.getattr(node); + },lstat:function (path) { + return FS.stat(path, true); + },chmod:function (path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function (path, mode) { + FS.chmod(path, mode, true); + },fchmod:function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chmod(stream.node, mode); + },chown:function (path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function (path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.nodePermissions(node, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + FS.truncate(stream.node, len); + },utime:function (path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function (path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + Module['printErr']('read file: ' + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + },llseek:function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // TODO if PROT is PROT_WRITE, make sure we have write access + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function (stream) { + return 0; + },ioctl:function (stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + FS.close(stream); + },cwd:function () { + return FS.currentPath; + },chdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + var err = FS.nodePermissions(lookup.node, 'x'); + if (err) { + throw new FS.ErrnoError(err); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function () { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function () { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto !== 'undefined') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else if (ENVIRONMENT_IS_NODE) { + // for nodejs + random_device = function() { return require('crypto').randomBytes(1)[0]; }; + } else { + // default for ES5 platforms + random_device = function() { return (Math.random()*256)|0; }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function () { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + + var stdout = FS.open('/dev/stdout', 'w'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + + var stderr = FS.open('/dev/stderr', 'w'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [ERRNO_CODES.ENOENT].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function () { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + 'IDBFS': IDBFS, + 'NODEFS': NODEFS, + 'WORKERFS': WORKERFS, + }; + },init:function (input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function () { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function (relative, base) { + return PATH.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function (parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function (parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function (parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function (parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function (parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (Module['read']) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(Module['read'](obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success; + },createLazyFile:function (parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + } + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + } + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function () { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + HEAP32[(((buf)+(36))>>2)]=stat.size; + HEAP32[(((buf)+(40))>>2)]=4096; + HEAP32[(((buf)+(44))>>2)]=stat.blocks; + HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(52))>>2)]=0; + HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=stat.ino; + return 0; + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },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; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; + try { + // readv + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _llvm_exp2_f32(x) { + return Math.pow(2, x); + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + default: { + return -ERRNO_CODES.EINVAL; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "_llvm_exp2_f32": _llvm_exp2_f32, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var ___syscall145=env.___syscall145; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var _llvm_exp2_f32=env._llvm_exp2_f32; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glTexParameterf=env._glTexParameterf; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $$01618 = 0, $$byval_copy8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0.0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy8 = sp + 264|0; + $0 = sp + 296|0; + $1 = sp + 232|0; + $2 = sp + 200|0; + $3 = sp + 168|0; + $4 = sp + 136|0; + $5 = sp + 104|0; + $6 = sp + 72|0; + $7 = sp + 40|0; + $8 = sp + 8|0; + $9 = sp; + $10 = HEAP32[2]|0; + $11 = HEAP32[3]|0; + _InitWindow($10,$11,4272); + dest=$0; src=4309; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + HEAP32[5018] = $0; + HEAP32[5019] = 4341; + _LoadSpriteFont($1,4853); + ;HEAP32[20080>>2]=HEAP32[$1>>2]|0;HEAP32[20080+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[20080+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[20080+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[20080+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[20080+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[20080+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[20080+28>>2]=HEAP32[$1+28>>2]|0; + _LoadSpriteFont($2,4881); + ;HEAP32[(20112)>>2]=HEAP32[$2>>2]|0;HEAP32[(20112)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(20112)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(20112)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(20112)+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[(20112)+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[(20112)+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[(20112)+28>>2]=HEAP32[$2+28>>2]|0; + _LoadSpriteFont($3,4911); + ;HEAP32[(20144)>>2]=HEAP32[$3>>2]|0;HEAP32[(20144)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(20144)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(20144)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(20144)+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[(20144)+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[(20144)+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[(20144)+28>>2]=HEAP32[$3+28>>2]|0; + _LoadSpriteFont($4,4937); + ;HEAP32[(20176)>>2]=HEAP32[$4>>2]|0;HEAP32[(20176)+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[(20176)+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[(20176)+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[(20176)+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[(20176)+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[(20176)+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[(20176)+28>>2]=HEAP32[$4+28>>2]|0; + _LoadSpriteFont($5,4965); + ;HEAP32[(20208)>>2]=HEAP32[$5>>2]|0;HEAP32[(20208)+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[(20208)+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[(20208)+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[(20208)+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[(20208)+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[(20208)+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[(20208)+28>>2]=HEAP32[$5+28>>2]|0; + _LoadSpriteFont($6,4993); + ;HEAP32[(20240)>>2]=HEAP32[$6>>2]|0;HEAP32[(20240)+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[(20240)+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[(20240)+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[(20240)+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[(20240)+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[(20240)+24>>2]=HEAP32[$6+24>>2]|0;HEAP32[(20240)+28>>2]=HEAP32[$6+28>>2]|0; + _LoadSpriteFont($7,5024); + ;HEAP32[(20272)>>2]=HEAP32[$7>>2]|0;HEAP32[(20272)+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[(20272)+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[(20272)+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[(20272)+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[(20272)+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[(20272)+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[(20272)+28>>2]=HEAP32[$7+28>>2]|0; + _LoadSpriteFont($8,5055); + ;HEAP32[(20304)>>2]=HEAP32[$8>>2]|0;HEAP32[(20304)+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[(20304)+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[(20304)+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[(20304)+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[(20304)+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[(20304)+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[(20304)+28>>2]=HEAP32[$8+28>>2]|0; + $$01618 = 0; + while(1) { + $12 = HEAP32[2]|0; + $13 = (($12|0) / 2)&-1; + $14 = (+($13|0)); + $15 = (20080 + ($$01618<<5)|0); + $16 = HEAP32[5019]|0; + $17 = (($16) + ($$01618<<6)|0); + $18 = (((20080 + ($$01618<<5)|0)) + 20|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19 << 1; + $21 = (+($20|0)); + $22 = (16 + ($$01618<<2)|0); + $23 = HEAP32[$22>>2]|0; + ;HEAP32[$$byval_copy8>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[$15+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[$15+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[$15+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[$15+28>>2]|0; + _MeasureTextEx($9,$$byval_copy8,$17,$21,$23); + $24 = +HEAPF32[$9>>2]; + $25 = $24 * 0.5; + $26 = $14 - $25; + $27 = (20336 + ($$01618<<3)|0); + HEAPF32[$27>>2] = $26; + $28 = HEAP32[$18>>2]|0; + $29 = ($$01618*45)|0; + $30 = (($29) + 60)|0; + $31 = (($30) + ($28))|0; + $32 = (+($31|0)); + $33 = (((20336 + ($$01618<<3)|0)) + 4|0); + HEAPF32[$33>>2] = $32; + $34 = (($$01618) + 1)|0; + $exitcond = ($34|0)==(8); + if ($exitcond) { + break; + } else { + $$01618 = $34; + } + } + $35 = +HEAPF32[(20364)>>2]; + $36 = $35 + 8.0; + HEAPF32[(20364)>>2] = $36; + $37 = +HEAPF32[(20372)>>2]; + $38 = $37 + 2.0; + HEAPF32[(20372)>>2] = $38; + $39 = +HEAPF32[(20396)>>2]; + $40 = $39 + -8.0; + HEAPF32[(20396)>>2] = $40; + _emscripten_set_main_loop((1|0),0,1); + ;HEAP32[$$byval_copy8>>2]=HEAP32[20080>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[20080+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[20080+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[20080+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[20080+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[20080+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[20080+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[20080+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20112)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20112)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20112)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20112)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20112)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20112)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20112)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20112)+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20144)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20144)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20144)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20144)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20144)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20144)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20144)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20144)+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20176)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20176)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20176)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20176)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20176)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20176)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20176)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20176)+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20208)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20208)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20208)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20208)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20208)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20208)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20208)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20208)+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20240)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20240)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20240)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20240)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20240)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20240)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20240)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20240)+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20272)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20272)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20272)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20272)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20272)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20272)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20272)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20272)+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + ;HEAP32[$$byval_copy8>>2]=HEAP32[(20304)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20304)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20304)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20304)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20304)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20304)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20304)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20304)+28>>2]|0; + _UnloadSpriteFont($$byval_copy8); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$09 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; + var $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy5 = sp + 52|0; + $$byval_copy4 = sp + 32|0; + $$byval_copy3 = sp; + $0 = sp + 48|0; + $1 = sp + 44|0; + $2 = sp + 40|0; + _BeginDrawing(); + HEAP8[$0>>0] = -11; + $3 = ((($0)) + 1|0); + HEAP8[$3>>0] = -11; + $4 = ((($0)) + 2|0); + HEAP8[$4>>0] = -11; + $5 = ((($0)) + 3|0); + HEAP8[$5>>0] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy5); + HEAP8[$1>>0] = 80; + $6 = ((($1)) + 1|0); + HEAP8[$6>>0] = 80; + $7 = ((($1)) + 2|0); + HEAP8[$7>>0] = 80; + $8 = ((($1)) + 3|0); + HEAP8[$8>>0] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$1+3>>0]|0; + _DrawText(5089,250,20,20,$$byval_copy5); + HEAP8[$2>>0] = 80; + $9 = ((($2)) + 1|0); + HEAP8[$9>>0] = 80; + $10 = ((($2)) + 2|0); + HEAP8[$10>>0] = 80; + $11 = ((($2)) + 3|0); + HEAP8[$11>>0] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$2+3>>0]|0; + _DrawLine(220,50,590,50,$$byval_copy5); + $$09 = 0; + while(1) { + $12 = (20080 + ($$09<<5)|0); + $13 = HEAP32[5019]|0; + $14 = (($13) + ($$09<<6)|0); + $15 = (20336 + ($$09<<3)|0); + $16 = (((20080 + ($$09<<5)|0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 << 1; + $19 = (+($18|0)); + $20 = (16 + ($$09<<2)|0); + $21 = HEAP32[$20>>2]|0; + $22 = HEAP32[5018]|0; + $23 = (($22) + ($$09<<2)|0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[$$byval_copy3+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[$$byval_copy3+24>>2]=HEAP32[$12+24>>2]|0;HEAP32[$$byval_copy3+28>>2]=HEAP32[$12+28>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$15+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$23+3>>0]|0; + _DrawTextEx($$byval_copy3,$14,$$byval_copy4,$19,$21,$$byval_copy5); + $24 = (($$09) + 1)|0; + $exitcond = ($24|0)==(8); + if ($exitcond) { + break; + } else { + $$09 = $24; + } + } + _EndDrawing(); + STACKTOP = sp;return; +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[5101] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 19800; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 19840; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[4960]; + $111 = +HEAPF32[4950]; + $112 = $110 - $111; + HEAPF32[4962] = $112; + $113 = +HEAPF32[(19844)>>2]; + $114 = +HEAPF32[(19804)>>2]; + $115 = $113 - $114; + HEAPF32[(19852)>>2] = $115; + HEAP32[5100] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19832+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[5106] = $116; + $117 = 19832; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 19800; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 19856; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 19840; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 19832; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 19856; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[4964]; + $160 = +HEAPF32[4958]; + $161 = $159 - $160; + HEAPF32[4962] = $161; + $162 = +HEAPF32[(19860)>>2]; + $163 = +HEAPF32[(19836)>>2]; + $164 = $162 - $163; + HEAPF32[(19852)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19832+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19840>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19840+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19832+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[5106]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[5100] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19832+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19856>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19856+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[5107] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[5106] = 0.0; + HEAPF32[5107] = 0.0; + HEAPF32[4962] = 0.0; + HEAPF32[(19852)>>2] = 0.0; + HEAP32[5101] = 0; + HEAP32[5100] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[5102]|0; + $7 = (($6) + 1)|0; + HEAP32[5102] = $7; + $8 = HEAP32[5100]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[5100] = 2; + HEAP32[5102] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[5102] = 1; + HEAP32[5100] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 19800; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 19808; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 19816; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[12] = $34; + HEAPF32[4956] = 0.0; + HEAPF32[(19828)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[5100]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 19816; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19816>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19816+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[5103] = $49; + HEAP32[5104] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[12]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19816>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19816+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[5105] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[5103] = 0.0; + HEAPF32[5105] = 0.0; + $$sink10 = 0; + } + HEAP32[5100] = $$sink10; + HEAPF32[4952] = 0.0; + HEAPF32[(19812)>>2] = 0.0; + HEAP32[5101] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[5104]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[5104] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 19832; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[5100]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19800>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19800+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19832>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19832+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[5100] = 8; + } + } + $82 = +HEAPF32[4958]; + $83 = +HEAPF32[4952]; + $84 = $82 - $83; + HEAPF32[4956] = $84; + $85 = +HEAPF32[(19836)>>2]; + $86 = +HEAPF32[(19812)>>2]; + $87 = $85 - $86; + HEAPF32[(19828)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5100]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[5101]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[5100] = 4; + } + $4 = HEAP32[5100]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[5100] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 19864; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5110]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5109]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,5121,$vararg_buffer); + HEAP32[5112] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((5150|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((5150|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((5150|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((5150|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((5150|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((5150|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[5110]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[4966] = $5; + $6 = HEAP32[5109]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(19868)>>2] = $8; + $9 = HEAP32[5113]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[19904>>0]=HEAP8[9679>>0]|0;HEAP8[19904+1>>0]=HEAP8[9679+1>>0]|0;HEAP8[19904+2>>0]=HEAP8[9679+2>>0]|0;HEAP8[19904+3>>0]=HEAP8[9679+3>>0]|0;HEAP8[19904+4>>0]=HEAP8[9679+4>>0]|0;HEAP8[19904+5>>0]=HEAP8[9679+5>>0]|0;HEAP8[19904+6>>0]=HEAP8[9679+6>>0]|0; + break; + } + case 1: { + $3 = 19904; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=19904; src=9686; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 19904; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(19904,$1)|0); + $strlen = (_strlen(19904)|0); + $endptr = (19904 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(19904,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[5110] = $0; + HEAP32[5109] = $1; + _MatrixIdentity($2); + dest=20528; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,5821,$vararg_buffer); + } + $6 = HEAP32[5110]|0; + HEAP32[5148] = $6; + $7 = HEAP32[5109]|0; + HEAP32[5149] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[23264]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[23264]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[23264]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,5847,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[5150]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[5110]|0; + $48 = HEAP32[5109]|0; + $49 = HEAP32[5112]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[5108] = $50; + $51 = HEAP32[5110]|0; + HEAP32[5151] = $51; + $52 = HEAP32[5109]|0; + HEAP32[5152] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[5110]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[5109]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[5148] = $31; + HEAP32[5149] = $34; + } + } while(0); + $38 = HEAP32[5148]|0; + $39 = HEAP32[5149]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,5872,$vararg_buffer3); + $40 = HEAP32[5148]|0; + $41 = HEAP32[5149]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[5148]|0; + $43 = HEAP32[5149]|0; + $44 = HEAP32[5112]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[5108] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,5910,$vararg_buffer6); + } else { + _TraceLog(0,5943,$vararg_buffer8); + $55 = HEAP32[5151]|0; + $56 = HEAP32[5152]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,5983,$vararg_buffer10); + $57 = HEAP32[5110]|0; + $58 = HEAP32[5109]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,6004,$vararg_buffer14); + $59 = HEAP32[5153]|0; + $60 = HEAP32[5154]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,6025,$vararg_buffer18); + } + $61 = HEAP32[5108]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[5108]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[5108]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[5108]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[5108]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[5108]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[5108]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[5108]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[5108]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[23264]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[5110]|0; + $74 = HEAP32[5109]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5151]|0; + $76 = HEAP32[5153]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5152]|0; + $80 = HEAP32[5154]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,6050,$vararg_buffer22); + $73 = HEAP32[5110]|0; + $74 = HEAP32[5109]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5151]|0; + $76 = HEAP32[5153]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5152]|0; + $80 = HEAP32[5154]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(20496)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (52 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[20472>>2]=HEAP32[$1>>2]|0;HEAP32[20472+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[20472+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[20472+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[20472+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(20496)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(20500)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(20492)>>2] = $23; + $24 = HEAP32[5118]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,5345,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(20476)>>2]|0; + $10 = HEAP32[(20496)>>2]|0; + $11 = HEAP32[(20500)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2100 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(20492)>>2] = $23; + $24 = HEAP32[5118]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,5345,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[2487] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,5278,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,5209,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,5202)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 19880; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (19888); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (20456 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[2484] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,5158,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5113] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,5721,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[5126]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,5390,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[5127]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,5434,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[5128]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,5479,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[5129]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,5524,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[5130]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,5569,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[5126]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[5126]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[5126]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[5126]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[5127]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[5128]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[5128]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[5129]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[5129]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[5130]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[5130]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,5614,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[5131]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,5692,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,5643,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,5775,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,9641,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[5110]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[5109]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[5151] = $3; + HEAP32[5152] = $5; + HEAP32[5153] = 0; + HEAP32[5154] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,9575,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[5110]|0; + $36 = (+($35|0)); + $37 = HEAP32[5109]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[5151] = $45; + HEAP32[5152] = $37; + $46 = (($45) - ($35))|0; + HEAP32[5153] = $46; + $$sink1 = 0; + } else { + HEAP32[5151] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[5152] = $42; + HEAP32[5153] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[5154] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[5109]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,9432,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[5110]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[5109]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[5151] = $23; + HEAP32[5152] = $1; + $24 = (($0) - ($23))|0; + HEAP32[5153] = $24; + $$sink = 0; + } else { + HEAP32[5151] = $0; + $17 = HEAP32[5109]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[5152] = $20; + HEAP32[5153] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[5154] = $$sink; + $25 = HEAP32[5151]|0; + $26 = (+($25|0)); + $27 = HEAP32[5110]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=20528; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5151] = $0; + HEAP32[5152] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,9510,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[5110] = $1; + HEAP32[5109] = $2; + HEAP32[5151] = $1; + HEAP32[5152] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[750]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (23271 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[749] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (23265 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 19880; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[749] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[5524] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[5523] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,6073,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,6091,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,6109,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,6127,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,6145)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,6147,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,6182)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[5189] = 1; + $27 = (_eglGetProcAddress((6209|0))|0); + HEAP32[5190] = $27; + $28 = (_eglGetProcAddress((6230|0))|0); + HEAP32[5191] = $28; + $29 = (_eglGetProcAddress((6251|0))|0); + HEAP32[5192] = $29; + } + $30 = (_strcmp($24,6275)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[5131] = 1; + } + $32 = (_strcmp($24,6295)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,6327)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,6360)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[5126] = 1; + } + $39 = (_strcmp($24,6400)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,6436)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[5127] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,6469)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[5128] = 1; + } + $47 = (_strcmp($44,6494)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[5129] = 1; + } + $49 = (_strcmp($44,6527)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[5130] = 1; + } + $51 = (_strcmp($44,6563)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[5193] = 1; + _glGetFloatv(34047,(20776|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,6597)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[5195] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[5189]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,6700,$vararg_buffer15); + } else { + _TraceLog(0,6625,$vararg_buffer13); + } + $57 = HEAP32[5131]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,6836,$vararg_buffer19); + } else { + _TraceLog(0,6761,$vararg_buffer17); + } + $59 = HEAP32[5126]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,6928,$vararg_buffer21); + } + $61 = HEAP32[5127]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,6974,$vararg_buffer23); + } + $63 = HEAP32[5128]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,7021,$vararg_buffer25); + } + $65 = HEAP32[5129]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,7072,$vararg_buffer27); + } + $67 = HEAP32[5130]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,7119,$vararg_buffer29); + } + $69 = HEAP32[5193]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[5194]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,7166,$vararg_buffer31); + } + $73 = HEAP32[5195]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,7232,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[5196] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,7336,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,7285,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=20788; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20844; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[5225] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[5225]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[5226] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[5227] = 1; + $85 = HEAP32[5196]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[5228] = 4; + _MatrixIdentity($4); + dest=20916; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(20980); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21044); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21108); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21172); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21236); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21300); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21364); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21428); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21492); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21556); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21620); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21684); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21748); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21812); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(21876); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=20624; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=20688; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5155] = 20688; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[5485] = $0; + HEAP32[5486] = $1; + _TraceLog(0,7375,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5153]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[5154]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[5151]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[5152]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 20624; + label = 3; + break; + } + case 5888: { + $modelview$sink = 20688; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[5155] = $modelview$sink; + } + HEAP32[5188] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[5155]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[5155]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(7951|0),489)|0; + _memcpy(($3|0),(8440|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,8929,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,8881,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(21960)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(21968)>>2] = $1; + HEAP32[(21964)>>2] = 0; + HEAP32[(21972)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(21968)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[5487] = 0; + HEAP32[(21956)>>2] = 0; + HEAP32[(21952)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(22008)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(22016)>>2] = $6; + HEAP32[(22012)>>2] = 0; + HEAP32[(22020)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(22016)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[5499] = 0; + HEAP32[(22004)>>2] = 0; + HEAP32[(22000)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(22056)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(22060)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(22064)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(22068)>>2] = $13; + $14 = HEAP32[(22056)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(22060)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(22064)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(22068)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[5511] = 0; + HEAP32[(22048)>>2] = 0; + HEAP32[(22052)>>2] = 0; + _TraceLog(0,7422,$vararg_buffer); + $20 = HEAP32[5189]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[5190]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21976)); + $44 = HEAP32[5191]|0; + $45 = HEAP32[(21976)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((21980)|0)); + $46 = HEAP32[(21980)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(21960)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(20848)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(20848)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((21984)|0)); + $50 = HEAP32[(21984)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(21968)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(20868)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(20868)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[5189]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(21980)>>2]|0; + $58 = HEAP32[(21984)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,7560,$vararg_buffer3); + } else { + $56 = HEAP32[(21976)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,7495,$vararg_buffer1); + } + $59 = HEAP32[5189]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[5190]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(22024)); + $62 = HEAP32[5191]|0; + $63 = HEAP32[(22024)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((22028)|0)); + $64 = HEAP32[(22028)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(22008)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(20848)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(20848)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((22032)|0)); + $68 = HEAP32[(22032)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(22016)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(20868)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(20868)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[5189]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(22028)>>2]|0; + $76 = HEAP32[(22032)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,7706,$vararg_buffer10); + } else { + $74 = HEAP32[(22024)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,7637,$vararg_buffer7); + } + $77 = HEAP32[5189]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[5190]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(22072)); + $80 = HEAP32[5191]|0; + $81 = HEAP32[(22072)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((22076)|0)); + $82 = HEAP32[(22076)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(22056)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(20848)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(20848)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((22080)|0)); + $86 = HEAP32[(22080)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(22060)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(20852)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(20852)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((22084)|0)); + $90 = HEAP32[(22084)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(22064)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(20868)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(20868)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((22088)|0)); + $94 = HEAP32[(22088)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(22068)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[5189]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(22076)>>2]|0; + $100 = HEAP32[(22080)>>2]|0; + $101 = HEAP32[(22084)>>2]|0; + $102 = HEAP32[(22088)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,7852,$vararg_buffer17); + } else { + $98 = HEAP32[(22072)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,7787,$vararg_buffer14); + } + $103 = HEAP32[5189]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[5191]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,9185,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,9133,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,9182,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,9286,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,9235,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,9182,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(8977|0)); + _glBindAttribLocation(($20|0),1,(8992|0)); + _glBindAttribLocation(($20|0),2,(9023|0)); + _glBindAttribLocation(($20|0),3,(9050|0)); + _glBindAttribLocation(($20|0),4,(9036|0)); + _glBindAttribLocation(($20|0),5,(9007|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,9338,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,9182,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,9384,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(8977|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(8992|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(9007|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(9023|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(9036|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(9050|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(9062|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(9072|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(9083|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(9094|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(9106|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(9115|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(9124|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (23265 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (23268 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (23265 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (23268 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[5108]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,9696,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[20472>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[20472+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[20472+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[20472+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[20472+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(20500)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(20784|0)); + $0 = HEAP32[5196]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,9723,$vararg_buffer); + $1 = HEAP32[5226]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[5197]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[5189]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[5191]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((21980)|0)); + _glDeleteBuffers(1,((21984)|0)); + _glDeleteBuffers(1,((22028)|0)); + _glDeleteBuffers(1,((22032)|0)); + _glDeleteBuffers(1,((22076)|0)); + _glDeleteBuffers(1,((22080)|0)); + _glDeleteBuffers(1,((22084)|0)); + _glDeleteBuffers(1,((22088)|0)); + $3 = HEAP32[5189]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5192]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21976)); + $6 = HEAP32[5192]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(22024)); + $7 = HEAP32[5192]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(22072)); + } + $8 = HEAP32[(21960)>>2]|0; + _free($8); + $9 = HEAP32[(21968)>>2]|0; + _free($9); + $10 = HEAP32[(22008)>>2]|0; + _free($10); + $11 = HEAP32[(22016)>>2]|0; + _free($11); + $12 = HEAP32[(22056)>>2]|0; + _free($12); + $13 = HEAP32[(22060)>>2]|0; + _free($13); + $14 = HEAP32[(22064)>>2]|0; + _free($14); + $15 = HEAP32[(22068)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,9788,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[2504] = $0; + $1 = +HEAPF64[2487]; + $2 = $0 - $1; + HEAPF64[2505] = $2; + HEAPF64[2487] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=20528; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(22100); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[5525] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(22104)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(22108)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(22112)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(22116)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(22120)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(22124)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(22128)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(22132)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(22136)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(22140)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(22144)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(22148)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(22152)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(22156)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(22160)>>2] = $31; + return (22100|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[5155]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[2504] = $0; + $1 = +HEAPF64[2487]; + $2 = $0 - $1; + HEAPF64[2506] = $2; + HEAPF64[2487] = $0; + $3 = +HEAPF64[2505]; + $4 = $2 + $3; + HEAPF64[2507] = $4; + $5 = +HEAPF64[2484]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[2504] = $10; + $11 = +HEAPF64[2487]; + $12 = $10 - $11; + HEAPF64[2487] = $10; + $13 = +HEAPF64[2507]; + $14 = $12 + $13; + HEAPF64[2507] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5108]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[749] = -1; + HEAP32[751] = -1; + HEAP32[5541] = 0; + $3 = HEAP32[5108]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[4966] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(19868)>>2] = $7; + _memcpy((23783|0),(23271|0),512)|0; + ;HEAP8[23268>>0]=HEAP8[23265>>0]|0;HEAP8[23268+1>>0]=HEAP8[23265+1>>0]|0;HEAP8[23268+2>>0]=HEAP8[23265+2>>0]|0; + $8 = HEAP32[5524]|0; + HEAP32[5111] = $8; + HEAP32[5524] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (24295 + ($$05160<<5)|0); + $scevgep67 = (24423 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((24423 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[751] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((22168 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[5541] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5487]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[5189]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[5191]|0; + $5 = HEAP32[(21976)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(21980)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[5487]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(21960)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(21984)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(21956)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(21968)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[5499]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[5189]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[5191]|0; + $19 = HEAP32[(22024)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(22028)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[5499]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(22008)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(22032)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(22004)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(22016)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[5511]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[5189]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[5191]|0; + $33 = HEAP32[(22072)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(22076)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[5511]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(22056)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(22080)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[5511]|0; + $40 = $39 << 3; + $41 = HEAP32[(22060)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(22084)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[5511]|0; + $44 = $43 << 2; + $45 = HEAP32[(22064)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[5189]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[5191]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=20624; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=20688; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5574]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[5487]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[5499]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[5511]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[5211]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=20688; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=20624; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(20872)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(20876)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(20888)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[5487]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[5196]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[5189]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(21980)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(20848)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(20848)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(21984)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(20868)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(20868)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[5191]|0; + $25 = HEAP32[(21976)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[5487]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[5189]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[5499]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[5196]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[5189]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(22028)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(20848)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(20848)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(22032)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(20868)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(20868)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[5191]|0; + $41 = HEAP32[(22024)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[5499]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[5189]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[5511]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[5189]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(22076)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(20848)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(20848)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(22080)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(20852)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(20852)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(22084)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(20868)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(20868)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(22088)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[5191]|0; + $56 = HEAP32[(22072)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[5227]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[5226]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[5226]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[5227]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[5189]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[5189]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[5191]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[5227] = 1; + $5 = HEAP32[5196]|0; + $6 = HEAP32[5226]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[5487] = 0; + HEAP32[(21956)>>2] = 0; + HEAP32[5499] = 0; + HEAP32[(22004)>>2] = 0; + HEAP32[5511] = 0; + HEAP32[(22048)>>2] = 0; + HEAP32[(22052)>>2] = 0; + HEAPF32[752] = -1.0; + dest=20624; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20688; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[5485]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[5486]|0; + _rlViewport($7,0,$8,$9); + $10 = (22528 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (22400 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=20688; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=20624; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[5664]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,9838,$vararg_buffer); + } + $2 = HEAP32[5664]|0; + $3 = (20916 + ($2<<6)|0); + $4 = HEAP32[5155]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[5664]|0; + $6 = (($5) + 1)|0; + HEAP32[5664] = $6; + $7 = HEAP32[5188]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[5665] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5664]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[5664]|0; + $3 = (($2) + -1)|0; + $4 = (20916 + ($3<<6)|0); + $5 = HEAP32[5155]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[5664] = $6; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[5155]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[5155]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5228] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[5665]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[5666]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[5225]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[5155]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[5666]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[5665] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[5225]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[5666]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[5665] = 0; + } + HEAP32[5666] = 0; + } + $21 = HEAP32[5228]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[5487]|0; + $23 = HEAP32[(21956)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(21968)>>2]|0; + $28 = HEAP32[(21956)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(21968)>>2]|0; + $35 = HEAP32[(21956)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(21968)>>2]|0; + $43 = HEAP32[(21956)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(21968)>>2]|0; + $51 = HEAP32[(21956)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(21956)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(21956)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[5499]|0; + $62 = HEAP32[(22004)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(22016)>>2]|0; + $67 = HEAP32[(22004)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(22016)>>2]|0; + $74 = HEAP32[(22004)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(22016)>>2]|0; + $82 = HEAP32[(22004)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(22016)>>2]|0; + $90 = HEAP32[(22004)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(22004)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(22004)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[5511]|0; + $101 = HEAP32[(22052)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(22064)>>2]|0; + $106 = HEAP32[(22052)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(22064)>>2]|0; + $113 = HEAP32[(22052)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(22064)>>2]|0; + $121 = HEAP32[(22052)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(22064)>>2]|0; + $129 = HEAP32[(22052)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(22052)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(22052)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[5511]|0; + $140 = HEAP32[(22048)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(22060)>>2]|0; + $$promoted = HEAP32[(22048)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(22048)>>2] = $147; + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[752]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[752] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[5665]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5225]|0; + $6 = HEAP32[5666]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[5666] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[5228]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[5487]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(21960)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[5487] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,9876,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[5499]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(22008)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[5499] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,9901,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[5511]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(22056)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[5511] = $41; + $42 = HEAP32[5226]|0; + $43 = HEAP32[5227]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,9930,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[752]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlVertex2i($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+($0|0)); + $3 = (+($1|0)); + $4 = +HEAPF32[752]; + _rlVertex3f($2,$3,$4); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[5228]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(22060)>>2]|0; + $5 = HEAP32[(22048)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(22048)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[5228]|0; + switch ($4|0) { + case 1: { + $$sink37 = (21956);$$sink38 = (21968); + break; + } + case 4: { + $$sink37 = (22004);$$sink38 = (22016); + break; + } + case 7: { + $$sink37 = (22052);$$sink38 = (22064); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[5226]|0; + $2 = HEAP32[5227]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[5227] = $10; + } + $11 = HEAP32[5227]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5511]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _rlTextureParameters($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + _glBindTexture(3553,($0|0)); + L1: do { + switch ($1|0) { + case 10243: case 10242: { + $3 = ($2|0)!=(34626); + $4 = HEAP32[5195]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + _glTexParameteri(3553,($1|0),($2|0)); + break L1; + } else { + _TraceLog(2,9955,$vararg_buffer); + break L1; + } + break; + } + case 10241: case 10240: { + _glTexParameteri(3553,($1|0),($2|0)); + break; + } + case 12288: { + $6 = (+($2|0)); + $7 = +HEAPF32[5194]; + $8 = !($6 <= $7); + if (!($8)) { + _glTexParameterf(3553,34046,(+$6)); + break L1; + } + $9 = $7 > 0.0; + if ($9) { + $10 = $7; + HEAP32[$vararg_buffer1>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); + HEAPF64[$vararg_ptr3>>3] = $10; + _TraceLog(2,9992,$vararg_buffer1); + _glTexParameterf(3553,34046,(+$6)); + break L1; + } else { + _TraceLog(2,10054,$vararg_buffer4); + break L1; + } + break; + } + default: { + } + } + } while(0); + _glBindTexture(3553,0); + STACKTOP = sp;return; +} +function _DrawLine($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + _rlBegin(1); + $5 = HEAP8[$4>>0]|0; + $6 = ((($4)) + 1|0); + $7 = HEAP8[$6>>0]|0; + $8 = ((($4)) + 2|0); + $9 = HEAP8[$8>>0]|0; + $10 = ((($4)) + 3|0); + $11 = HEAP8[$10>>0]|0; + _rlColor4ub($5,$7,$9,$11); + _rlVertex2i($0,$1); + _rlVertex2i($2,$3); + _rlEnd(); + return; +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5667] = $0; + return; +} +function _stbi_load_from_file($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3124,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 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; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((10090|0),(10116|0),1041,(10139|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[5668]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(10180); + $$0 = 0; + return ($$0|0); + } else { + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(10171); + $$0 = 0; + return ($$0|0); + } + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; + while(1) { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { + break; + } else { + $$01819 = $14; + } + } + } + _free($0); + $$0 = $6; + return ($$0|0); +} +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_malloc($0)|0); + return ($1|0); +} +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 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; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(10199); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; + } else { + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; + } else { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; + } else { + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } + } + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; + } + } + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); +} +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $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, $123 = 0, $124 = 0; + var $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, $141 = 0, $142 = 0; + var $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, $16 = 0, $160 = 0; + var $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, $178 = 0, $179 = 0; + var $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, $196 = 0, $197 = 0; + var $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, $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, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } + } else { + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (10513 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } + } + } while(0); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; + } + switch (label|0) { + case 7: { + _stbi__err(10287); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(10301); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(10314); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(10314); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(10324); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(10344); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(10344); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(10344); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(10354); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(10370); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(10388); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(10409); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(10314); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(10314); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(10423); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(10438); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(10438); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(10423); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(10451); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(10467); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(10484); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(10497); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(10484); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(10423); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(10522); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(10171); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(10530); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(10540); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[5669]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(10423); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(10423); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[10548] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(10549)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(10550)>>0] = $211; + $212 = $207&255; + HEAP8[(10551)>>0] = $212; + _stbi__err(10548); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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, $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; + 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, label = 0; + var sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((10212|0),(10116|0),1477,(10266|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(10171); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((13672|0),(10116|0),1506,(10266|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 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, $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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((10212|0),(10116|0),1526,(10243|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(10171); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((13672|0),(10116|0),1555,(10243|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 0, $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; + $1 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(11525); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 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)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$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, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 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; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (3012 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3040 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3068 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3096 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((10607|0),(10116|0),4569,(10659|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((10607|0),(10116|0),4544,(10632|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[5670]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((10573|0),(10116|0),4650,(10591|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 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; + var $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, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(10171); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 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, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $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, $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; + 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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 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, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; + var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; + var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $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; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((10688|0),(10116|0),4294,(10729|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(10171); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(10756); + $$2 = 0; + return ($$2|0); + } + } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(10756); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (10795 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((10774|0),(10116|0),4315,(10729|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((10800|0),(10116|0),4377,(10729|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(10817); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (10513 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } + break; + } + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } + break; + } + default: { + } + } + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } + } + } + } while(0); + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; + } + } + if ((label|0) == 144) { + ___assert_fail((10832|0),(10116|0),4466,(10729|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,10843,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,11131,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } + } + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(11478); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(11494); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(11509); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 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)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $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; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((11400|0),(10116|0),4033,(11417|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(11448); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(11461); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $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; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(11338); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(11390); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (12175 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(11338); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(11338); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((11354|0),(10116|0),4006,(11362|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(11338); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(11338); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3272 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3148 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3524 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3396 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(11163); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(11163); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(11180); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_decode($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(11189); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(10171); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($0) { + $0 = $0|0; + var $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)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((11285|0),(10116|0),3848,(11322|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; + } +} +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((11209|0),(10116|0),3876,(11225|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((11256|0),(10116|0),3766,(11267|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($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; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($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; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; + return; + } +} +function _stbi__rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; + return; +} +function _stbi__start_callbacks($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,12362)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,11584)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(2,11589,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,13035)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$15$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$15$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,11537,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; + _TraceLog(0,11625,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11664,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 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; + 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, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,13035)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,11723,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,11820,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(2,11866,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(2,11774,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(2,11695,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(2,11916,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(2,11955,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(2,11981,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(2,12044,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(2,12079,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,12114,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $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, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $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; + var $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, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $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; + var $527 = 0, $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; + var $545 = 0, $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; + var $563 = 0, $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; + var $581 = 0, $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; + 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, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (12171 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (12171 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (12171 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3136 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (12175 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (12194 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (12198 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3396 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3524 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3148 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3272 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } + } + } + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _ImageAlphaMask($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$byval_copy3 = 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; + 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 32|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 12|0; + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)==($6|0); + if ($7) { + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($1)) + 8|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($9|0)==($11|0); + if ($12) { + $13 = ((($0)) + 16|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(7); + if ($15) { + _TraceLog(2,12240,$vararg_buffer1); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; + _ImageCopy($2,$$byval_copy3); + $16 = ((($2)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==(1); + if (!($18)) { + _ImageFormat($2,1); + } + $19 = HEAP32[$13>>2]|0; + L11: do { + switch ($19|0) { + case 1: { + _ImageFormat($0,2); + $20 = ((($2)) + 4|0); + $21 = HEAP32[$20>>2]|0; + $22 = ((($2)) + 8|0); + $23 = HEAP32[$22>>2]|0; + $24 = Math_imul($23, $21)|0; + $25 = HEAP32[$2>>2]|0; + $$032 = 1;$$033 = 0; + while(1) { + $26 = ($$033|0)<($24|0); + if (!($26)) { + $27 = HEAP32[$3>>2]|0; + $28 = HEAP32[$8>>2]|0; + $29 = Math_imul($28, $27)|0; + $30 = ($$033|0)<($29|0); + if (!($30)) { + break L11; + } + } + $31 = (($25) + ($$033)|0); + $32 = HEAP8[$31>>0]|0; + $33 = HEAP32[$0>>2]|0; + $34 = (($33) + ($$032)|0); + HEAP8[$34>>0] = $32; + $35 = (($$033) + 1)|0; + $36 = (($$032) + 2)|0; + $$032 = $36;$$033 = $35; + } + break; + } + case 7: { + label = 14; + break; + } + default: { + _ImageFormat($0,7); + label = 14; + } + } + } while(0); + L19: do { + if ((label|0) == 14) { + $37 = ((($2)) + 4|0); + $38 = HEAP32[$37>>2]|0; + $39 = ((($2)) + 8|0); + $40 = HEAP32[$39>>2]|0; + $41 = Math_imul($40, $38)|0; + $42 = HEAP32[$2>>2]|0; + $$0 = 3;$$031 = 0; + while(1) { + $43 = ($$031|0)<($41|0); + if (!($43)) { + $44 = HEAP32[$3>>2]|0; + $45 = HEAP32[$8>>2]|0; + $46 = Math_imul($45, $44)|0; + $47 = ($$031|0)<($46|0); + if (!($47)) { + break L19; + } + } + $48 = (($42) + ($$031)|0); + $49 = HEAP8[$48>>0]|0; + $50 = HEAP32[$0>>2]|0; + $51 = (($50) + ($$0)|0); + HEAP8[$51>>0] = $49; + $52 = (($$031) + 1)|0; + $53 = (($$0) + 4)|0; + $$0 = $53;$$031 = $52; + } + } + } while(0); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy3); + STACKTOP = sp;return; + } + } + _TraceLog(2,12202,$vararg_buffer); + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[20472>>2]|0;HEAP32[$0+4>>2]=HEAP32[20472+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[20472+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[20472+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[20472+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[20472+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[20472+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[20472+28>>2]|0; + return; +} +function _MeasureTextEx($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; + var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + $5 = (_strlen($2)|0); + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = (+($7|0)); + $9 = $3 / $8; + $10 = ($5|0)>(0); + if (!($10)) { + $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; + } + $11 = ((($1)) + 28|0); + $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; + while(1) { + $18 = (($$05064) + 1)|0; + $19 = (($2) + ($$05462)|0); + $20 = HEAP8[$19>>0]|0; + $21 = ($20<<24>>24)==(10); + if ($21) { + $33 = $$05561 < $$05263; + $$156 = $33 ? $$05263 : $$05561; + $34 = HEAP32[$6>>2]|0; + $35 = (+($34|0)); + $36 = $35 * 1.5; + $37 = $$05860 + $36; + $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; + } else { + $22 = $20 << 24 >> 24; + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; + $23 = (_GetCharIndex($$byval_copy,$22)|0); + $24 = HEAP32[$11>>2]|0; + $25 = (((($24) + ($23<<5)|0)) + 28|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0); + if ($27) { + $28 = (((($24) + ($23<<5)|0)) + 20|0); + $29 = (((($24) + ($23<<5)|0)) + 12|0); + $30 = HEAP32[$29>>2]|0; + $31 = HEAP32[$28>>2]|0; + $32 = (($31) + ($30))|0; + $$pn$in = $32; + } else { + $$pn$in = $26; + } + $$pn = (+($$pn$in|0)); + $$153 = $$05263 + $$pn; + $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; + } + $38 = ($$065|0)<($$151|0); + $$151$$0 = $38 ? $$151 : $$065; + $39 = (($$05462) + 1)|0; + $exitcond = ($39|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; + } + } + $phitmp = (($$151$$0) + -1)|0; + $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; + $12 = $$055$lcssa < $$052$lcssa; + $$3 = $12 ? $$052$lcssa : $$055$lcssa; + $13 = $9 * $$3; + $14 = Math_imul($$0$lcssa, $4)|0; + $15 = (+($14|0)); + $16 = $13 + $15; + $17 = $9 * $$058$lcssa; + HEAPF32[$0>>2] = $16; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; + STACKTOP = sp;return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _SetTextureFilter($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + switch ($1|0) { + case 0: { + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(1); + $5 = HEAP32[$0>>2]|0; + if ($4) { + _rlTextureParameters($5,10241,9984); + $6 = HEAP32[$0>>2]|0; + _rlTextureParameters($6,10240,9728); + STACKTOP = sp;return; + } else { + _rlTextureParameters($5,10241,9728); + $7 = HEAP32[$0>>2]|0; + _rlTextureParameters($7,10240,9728); + STACKTOP = sp;return; + } + break; + } + case 1: { + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + $11 = HEAP32[$0>>2]|0; + if ($10) { + _rlTextureParameters($11,10241,9985); + $12 = HEAP32[$0>>2]|0; + _rlTextureParameters($12,10240,9729); + STACKTOP = sp;return; + } else { + _rlTextureParameters($11,10241,9729); + $13 = HEAP32[$0>>2]|0; + _rlTextureParameters($13,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 2: { + $14 = ((($0)) + 12|0); + $15 = HEAP32[$14>>2]|0; + $16 = ($15|0)>(1); + $17 = HEAP32[$0>>2]|0; + if ($16) { + _rlTextureParameters($17,10241,9987); + $18 = HEAP32[$0>>2]|0; + _rlTextureParameters($18,10240,9729); + STACKTOP = sp;return; + } else { + HEAP32[$vararg_buffer>>2] = $17; + _TraceLog(2,12297,$vararg_buffer); + $19 = HEAP32[$0>>2]|0; + _rlTextureParameters($19,10241,9729); + _rlTextureParameters($19,10240,9729); + STACKTOP = sp;return; + } + break; + } + case 3: { + $20 = HEAP32[$0>>2]|0; + _rlTextureParameters($20,12288,4); + STACKTOP = sp;return; + break; + } + case 4: { + $21 = HEAP32[$0>>2]|0; + _rlTextureParameters($21,12288,8); + STACKTOP = sp;return; + break; + } + case 5: { + $22 = HEAP32[$0>>2]|0; + _rlTextureParameters($22,12288,16); + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _LoadSpriteFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy2 = 0, $$byval_copy5 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy5 = sp + 232|0; + $$byval_copy2 = sp + 212|0; + $vararg_buffer = sp; + $2 = sp + 96|0; + $3 = sp + 192|0; + $4 = sp + 160|0; + $5 = sp + 128|0; + $6 = sp + 40|0; + $7 = sp + 252|0; + $8 = sp + 64|0; + $9 = sp + 8|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $10 = (_IsFileExtension($1,12362)|0); + $11 = ($10|0)==(0); + do { + if ($11) { + $35 = (_IsFileExtension($1,12368)|0); + $36 = ($35|0)==(0); + if (!($36)) { + _LoadSpriteFontTTF($4,$1,32,0,0); + ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; + break; + } + $37 = (_IsFileExtension($1,12373)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _LoadBMFont($5,$1); + ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$5+28>>2]|0; + break; + } + _LoadImage($6,$1); + $39 = HEAP32[$6>>2]|0; + $40 = ($39|0)==(0|0); + if (!($40)) { + HEAP8[$7>>0] = -1; + $41 = ((($7)) + 1|0); + HEAP8[$41>>0] = 0; + $42 = ((($7)) + 2|0); + HEAP8[$42>>0] = -1; + $43 = ((($7)) + 3|0); + HEAP8[$43>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; + _LoadImageFont($8,$$byval_copy2,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$8>>2]|0;HEAP32[$2+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$8+28>>2]|0; + } + ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$6+16>>2]|0; + _UnloadImage($$byval_copy5); + } else { + $12 = (_LoadResource($1,0)|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(5); + if ($14) { + $15 = ((($12)) + 20|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($12)) + 4|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($12)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($12)) + 12|0); + $22 = HEAP32[$21>>2]|0; + _LoadImagePro($$byval_copy2,$16,$18,$20,$22); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy5); + ;HEAP32[$2>>2]=HEAP32[$3>>2]|0;HEAP32[$2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; + _UnloadImage($$byval_copy5); + } + $23 = ((($12)) + 24|0); + $24 = HEAP32[$23>>2]|0; + $25 = ($24|0)==(6); + if ($25) { + $26 = ((($12)) + 28|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($2)) + 20|0); + HEAP32[$28>>2] = $27; + $29 = ((($12)) + 32|0); + $30 = HEAP32[$29>>2]|0; + $31 = ((($2)) + 24|0); + HEAP32[$31>>2] = $30; + $32 = ((($12)) + 44|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($2)) + 28|0); + HEAP32[$34>>2] = $33; + } + } + } while(0); + $44 = HEAP32[$2>>2]|0; + $45 = ($44|0)==(0); + if ($45) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,12378,$vararg_buffer); + _GetDefaultFont($9); + ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } else { + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$2+16>>2]|0; + _SetTextureFilter($$byval_copy5,0); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } +} +function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$048 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$0$copyload15 = 0, $$sroa$0$0$copyload17 = 0, $$sroa$0$1 = 0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx23 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $vararg_buffer = sp; + $$sroa$8 = sp + 104|0; + $5 = sp + 72|0; + $6 = sp + 40|0; + $7 = sp + 8|0; + ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; + $8 = (_IsFileExtension($1,12368)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = ($4|0)==(0|0); + $11 = ($3|0)==(0); + $or$cond = $11 | $10; + if ($or$cond) { + $12 = (_malloc(380)|0); + $$048 = 0; + while(1) { + $13 = (($$048) + 32)|0; + $14 = (($12) + ($$048<<2)|0); + HEAP32[$14>>2] = $13; + $15 = (($$048) + 1)|0; + $exitcond = ($15|0)==(95); + if ($exitcond) { + break; + } else { + $$048 = $15; + } + } + _LoadTTF($5,$1,$2,95,$12); + $$sroa$0$0$copyload = HEAP32[$5>>2]|0; + $$sroa$8$0$$sroa_idx = ((($5)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload; + } else { + _LoadTTF($6,$1,$2,$3,$4); + $$sroa$0$0$copyload15 = HEAP32[$6>>2]|0; + $$sroa$8$0$$sroa_idx23 = ((($6)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+24>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload15; + } + $16 = ($$sroa$0$0|0)==(0); + if (!($16)) { + $$sroa$0$1 = $$sroa$0$0; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,12922,$vararg_buffer); + _GetDefaultFont($7); + $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; + $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); + ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+24>>2]|0; + $$sroa$0$1 = $$sroa$0$0$copyload17; + HEAP32[$0>>2] = $$sroa$0$1; + $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); + ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; + STACKTOP = sp;return; +} +function _LoadBMFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05355 = 0, $$056 = 0, $$byval_copy52 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 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, $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, $58 = 0; + var $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, $76 = 0; + var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0; + var $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); + $$byval_copy52 = sp + 152|0; + $vararg_buffer44 = sp + 144|0; + $vararg_buffer34 = sp + 112|0; + $vararg_buffer26 = sp + 88|0; + $vararg_buffer23 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer11 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 288|0; + $3 = sp + 448|0; + $4 = sp + 260|0; + $5 = sp + 236|0; + $6 = sp + 232|0; + $7 = sp + 320|0; + $8 = sp + 196|0; + $9 = sp + 192|0; + $10 = sp + 264|0; + $11 = sp + 240|0; + $12 = sp + 188|0; + $13 = sp + 184|0; + $14 = sp + 200|0; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + HEAP32[$4>>2] = 0; + HEAP32[$8>>2] = 0; + $15 = (_fopen($1,12520)|0); + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,12523,$vararg_buffer); + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; + } + (_fgets($3,256,$15)|0); + (_fgets($3,256,$15)|0); + $17 = (_strstr($3,12557)|0); + HEAP32[$vararg_buffer1>>2] = $4; + $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); + HEAP32[$vararg_ptr4>>2] = $9; + $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); + HEAP32[$vararg_ptr5>>2] = $5; + $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); + HEAP32[$vararg_ptr6>>2] = $6; + (_sscanf($17,12568,$vararg_buffer1)|0); + $18 = HEAP32[$4>>2]|0; + HEAP32[$vararg_buffer7>>2] = $1; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = $18; + _TraceLog(3,12610,$vararg_buffer7); + $19 = HEAP32[$5>>2]|0; + $20 = HEAP32[$6>>2]|0; + HEAP32[$vararg_buffer11>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr14>>2] = $19; + $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr15>>2] = $20; + _TraceLog(3,12629,$vararg_buffer11); + (_fgets($3,256,$15)|0); + $21 = (_strstr($3,12660)|0); + HEAP32[$vararg_buffer16>>2] = $7; + (_sscanf($21,12665,$vararg_buffer16)|0); + HEAP32[$vararg_buffer19>>2] = $1; + $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); + HEAP32[$vararg_ptr22>>2] = $7; + _TraceLog(3,12681,$vararg_buffer19); + (_fgets($3,256,$15)|0); + $22 = (_strstr($3,12712)|0); + HEAP32[$vararg_buffer23>>2] = $8; + (_sscanf($22,12718,$vararg_buffer23)|0); + $23 = HEAP32[$8>>2]|0; + HEAP32[$vararg_buffer26>>2] = $1; + $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); + HEAP32[$vararg_ptr29>>2] = $23; + _TraceLog(3,12727,$vararg_buffer26); + $24 = (_strrchr($1,47)|0); + $25 = (_strlen($1)|0); + $26 = (_strlen($24)|0); + $27 = (_strlen($7)|0); + $28 = (($25) + 4)|0; + $29 = (($28) - ($26))|0; + $30 = (($29) + ($27))|0; + $31 = (_malloc($30)|0); + HEAP8[$31>>0] = 0; + $32 = (_strlen($1)|0); + $33 = (_strlen($24)|0); + $34 = (($32) + 1)|0; + $35 = (($34) - ($33))|0; + (_strncat($31,$1,$35)|0); + $36 = (_strlen($7)|0); + (_strncat($31,$7,$36)|0); + HEAP32[$$byval_copy52>>2] = $1; + $vararg_ptr33 = ((($$byval_copy52)) + 4|0); + HEAP32[$vararg_ptr33>>2] = $31; + _TraceLog(3,12751,$$byval_copy52); + _LoadImage($vararg_buffer26,$31); + $37 = ((($vararg_buffer26)) + 16|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==(1); + if ($39) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageCopy($vararg_buffer23,$$byval_copy52); + $40 = ((($vararg_buffer23)) + 4|0); + $41 = HEAP32[$40>>2]|0; + $42 = ((($vararg_buffer23)) + 8|0); + $43 = HEAP32[$42>>2]|0; + $44 = Math_imul($43, $41)|0; + $45 = ($44|0)>(0); + if ($45) { + $$056 = 0; + while(1) { + $46 = HEAP32[$vararg_buffer23>>2]|0; + $47 = (($46) + ($$056)|0); + HEAP8[$47>>0] = -1; + $48 = (($$056) + 1)|0; + $49 = HEAP32[$40>>2]|0; + $50 = HEAP32[$42>>2]|0; + $51 = Math_imul($50, $49)|0; + $52 = ($48|0)<($51|0); + if ($52) { + $$056 = $48; + } else { + break; + } + } + } + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _ImageAlphaMask($vararg_buffer23,$$byval_copy52); + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _LoadTextureFromImage($10,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; + _UnloadImage($$byval_copy52); + } else { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _LoadTextureFromImage($11,$$byval_copy52); + ;HEAP32[$2>>2]=HEAP32[$11>>2]|0;HEAP32[$2+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$11+16>>2]|0; + } + $53 = HEAP32[$4>>2]|0; + $54 = ((($2)) + 20|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$8>>2]|0; + $56 = ((($2)) + 24|0); + HEAP32[$56>>2] = $55; + $57 = $55 << 5; + $58 = (_malloc($57)|0); + $59 = ((($2)) + 28|0); + HEAP32[$59>>2] = $58; + ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; + _UnloadImage($$byval_copy52); + _free($31); + $60 = HEAP32[$8>>2]|0; + $61 = ($60|0)>(0); + if ($61) { + $$05355 = 0; + while(1) { + (_fgets($3,256,$15)|0); + HEAP32[$vararg_buffer34>>2] = $vararg_buffer23; + $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); + HEAP32[$vararg_ptr37>>2] = $vararg_buffer19; + $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); + HEAP32[$vararg_ptr38>>2] = $vararg_buffer16; + $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); + HEAP32[$vararg_ptr39>>2] = $vararg_buffer11; + $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); + HEAP32[$vararg_ptr40>>2] = $vararg_buffer7; + $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); + HEAP32[$vararg_ptr41>>2] = $vararg_buffer1; + $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); + HEAP32[$vararg_ptr42>>2] = $12; + $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); + HEAP32[$vararg_ptr43>>2] = $13; + (_sscanf($3,12786,$vararg_buffer34)|0); + $64 = HEAP32[$vararg_buffer23>>2]|0; + $65 = HEAP32[$59>>2]|0; + $66 = (($65) + ($$05355<<5)|0); + HEAP32[$66>>2] = $64; + $67 = HEAP32[$59>>2]|0; + $68 = HEAP32[$vararg_buffer19>>2]|0; + $69 = HEAP32[$vararg_buffer16>>2]|0; + $70 = HEAP32[$vararg_buffer11>>2]|0; + $71 = HEAP32[$vararg_buffer7>>2]|0; + $$sroa$0$0$$sroa_idx = (((($67) + ($$05355<<5)|0)) + 4|0); + HEAP32[$$sroa$0$0$$sroa_idx>>2] = $68; + $$sroa$2$0$$sroa_idx1 = (((($67) + ($$05355<<5)|0)) + 8|0); + HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $69; + $$sroa$3$0$$sroa_idx2 = (((($67) + ($$05355<<5)|0)) + 12|0); + HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $70; + $$sroa$4$0$$sroa_idx3 = (((($67) + ($$05355<<5)|0)) + 16|0); + HEAP32[$$sroa$4$0$$sroa_idx3>>2] = $71; + $72 = HEAP32[$vararg_buffer1>>2]|0; + $73 = HEAP32[$59>>2]|0; + $74 = (((($73) + ($$05355<<5)|0)) + 20|0); + HEAP32[$74>>2] = $72; + $75 = HEAP32[$12>>2]|0; + $76 = HEAP32[$59>>2]|0; + $77 = (((($76) + ($$05355<<5)|0)) + 24|0); + HEAP32[$77>>2] = $75; + $78 = HEAP32[$13>>2]|0; + $79 = HEAP32[$59>>2]|0; + $80 = (((($79) + ($$05355<<5)|0)) + 28|0); + HEAP32[$80>>2] = $78; + $81 = (($$05355) + 1)|0; + $82 = HEAP32[$8>>2]|0; + $83 = ($81|0)<($82|0); + if ($83) { + $$05355 = $81; + } else { + break; + } + } + } + (_fclose($15)|0); + $62 = HEAP32[$2>>2]|0; + $63 = ($62|0)==(0); + if ($63) { + ;HEAP32[$$byval_copy52>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$byval_copy52+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$byval_copy52+28>>2]=HEAP32[$2+28>>2]|0; + _UnloadSpriteFont($$byval_copy52); + _GetDefaultFont($14); + ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; + } else { + HEAP32[$vararg_buffer44>>2] = $1; + _TraceLog(0,12860,$vararg_buffer44); + } + ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; + STACKTOP = sp;return; +} +function _LoadImageFont($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0195$lcssa = 0, $$019552 = 0, $$019622 = 0, $$0197 = 0, $$020032 = 0, $$0201$lcssa = 0, $$020131 = 0, $$0203 = 0, $$021 = 0, $$1$lcssa = 0, $$119927 = 0, $$1202$lcssa = 0, $$120226 = 0, $$135 = 0, $$2 = 0, $$byval_copy4 = 0, $$sroa$0 = 0, $$sroa$5$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx17 = 0, $$sroa$9$0$$sroa_idx20 = 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, $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, $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, $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 5232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5232|0); + $$byval_copy4 = sp + 5200|0; + $vararg_buffer1 = sp + 48|0; + $vararg_buffer = sp + 24|0; + $3 = sp + 4176|0; + $4 = sp + 56|0; + $$sroa$0 = sp; + $5 = sp + 4152|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$1+16>>2]|0; + $6 = (_GetImageData($$byval_copy4)|0); + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + L1: do { + if ($9) { + $10 = ((($1)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)>(0); + $13 = HEAP8[$2>>0]|0; + $14 = ((($2)) + 1|0); + $15 = HEAP8[$14>>0]|0; + $16 = ((($2)) + 2|0); + $17 = HEAP8[$16>>0]|0; + $18 = ((($2)) + 3|0); + $19 = HEAP8[$18>>0]|0; + $20 = HEAP8[$2>>0]|0; + $21 = ((($2)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($2)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = ((($2)) + 3|0); + $26 = HEAP8[$25>>0]|0; + $27 = HEAP32[$10>>2]|0; + $$019552 = 0; + while(1) { + L5: do { + if ($12) { + $$135 = 0;$29 = $11; + while(1) { + $28 = Math_imul($29, $$019552)|0; + $30 = (($28) + ($$135))|0; + $31 = (($6) + ($30<<2)|0); + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==($20<<24>>24); + if (!($33)) { + $$1$lcssa = $$135; + break L5; + } + $34 = (((($6) + ($30<<2)|0)) + 1|0); + $35 = HEAP8[$34>>0]|0; + $36 = ($35<<24>>24)==($22<<24>>24); + if (!($36)) { + $$1$lcssa = $$135; + break L5; + } + $37 = (((($6) + ($30<<2)|0)) + 2|0); + $38 = HEAP8[$37>>0]|0; + $39 = ($38<<24>>24)==($24<<24>>24); + if (!($39)) { + $$1$lcssa = $$135; + break L5; + } + $40 = (((($6) + ($30<<2)|0)) + 3|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==($26<<24>>24); + if (!($42)) { + $$1$lcssa = $$135; + break L5; + } + $43 = (($$135) + 1)|0; + $44 = HEAP32[$10>>2]|0; + $45 = ($43|0)<($44|0); + if ($45) { + $$135 = $43;$29 = $44; + } else { + $$1$lcssa = $43; + break; + } + } + } else { + $$1$lcssa = 0; + } + } while(0); + $46 = Math_imul($27, $$019552)|0; + $47 = (($46) + ($$1$lcssa))|0; + $48 = (($6) + ($47<<2)|0); + $49 = HEAP8[$48>>0]|0; + $50 = ($49<<24>>24)==($13<<24>>24); + if (!($50)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $51 = (((($6) + ($47<<2)|0)) + 1|0); + $52 = HEAP8[$51>>0]|0; + $53 = ($52<<24>>24)==($15<<24>>24); + if (!($53)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $54 = (((($6) + ($47<<2)|0)) + 2|0); + $55 = HEAP8[$54>>0]|0; + $56 = ($55<<24>>24)==($17<<24>>24); + if (!($56)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $57 = (((($6) + ($47<<2)|0)) + 3|0); + $58 = HEAP8[$57>>0]|0; + $59 = ($58<<24>>24)==($19<<24>>24); + if (!($59)) { + $$0195$lcssa = $$019552;$$2 = $$1$lcssa; + break L1; + } + $60 = (($$019552) + 1)|0; + $61 = HEAP32[$7>>2]|0; + $62 = ($60|0)<($61|0); + if ($62) { + $$019552 = $60; + } else { + $$0195$lcssa = $60;$$2 = $$1$lcssa; + break; + } + } + } else { + $$0195$lcssa = 0;$$2 = 0; + } + } while(0); + $63 = ((($1)) + 4|0); + $64 = HEAP32[$63>>2]|0; + $65 = HEAP8[$2>>0]|0; + $66 = ((($2)) + 1|0); + $67 = HEAP8[$66>>0]|0; + $68 = ((($2)) + 2|0); + $69 = HEAP8[$68>>0]|0; + $70 = ((($2)) + 3|0); + $71 = HEAP8[$70>>0]|0; + $$0203 = 0; + while(1) { + $72 = (($$0203) + ($$0195$lcssa))|0; + $73 = Math_imul($72, $64)|0; + $74 = (($73) + ($$2))|0; + $75 = (($6) + ($74<<2)|0); + $76 = HEAP8[$75>>0]|0; + $77 = ($76<<24>>24)==($65<<24>>24); + if ($77) { + $78 = (((($6) + ($74<<2)|0)) + 1|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==($67<<24>>24); + if ($80) { + $81 = (((($6) + ($74<<2)|0)) + 2|0); + $82 = HEAP8[$81>>0]|0; + $83 = ($82<<24>>24)==($69<<24>>24); + if ($83) { + $84 = (((($6) + ($74<<2)|0)) + 3|0); + $85 = HEAP8[$84>>0]|0; + $86 = ($85<<24>>24)==($71<<24>>24); + if ($86) { + break; + } + } + } + } + $96 = (($$0203) + 1)|0; + $$0203 = $96; + } + $87 = HEAP32[$7>>2]|0; + $88 = ($$0195$lcssa|0)<($87|0); + if ($88) { + $89 = HEAP32[$63>>2]|0; + $90 = ($$2|0)<($89|0); + $91 = HEAP32[$7>>2]|0; + $92 = HEAP8[$2>>0]|0; + $93 = HEAP8[$66>>0]|0; + $94 = HEAP8[$68>>0]|0; + $95 = HEAP8[$70>>0]|0; + $$020032 = 0;$$020131 = 0;$99 = $$0195$lcssa; + while(1) { + L30: do { + if ($90) { + $$119927 = $$2;$$120226 = $$020131;$98 = $89; + while(1) { + $97 = Math_imul($98, $99)|0; + $100 = (($97) + ($$119927))|0; + $101 = (($6) + ($100<<2)|0); + $102 = HEAP8[$101>>0]|0; + $103 = ($102<<24>>24)==($92<<24>>24); + if ($103) { + $104 = (((($6) + ($100<<2)|0)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = ($105<<24>>24)==($93<<24>>24); + if ($106) { + $107 = (((($6) + ($100<<2)|0)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = ($108<<24>>24)==($94<<24>>24); + if ($109) { + $110 = (((($6) + ($100<<2)|0)) + 3|0); + $111 = HEAP8[$110>>0]|0; + $112 = ($111<<24>>24)==($95<<24>>24); + if ($112) { + $$1202$lcssa = $$120226; + break L30; + } + } + } + } + $113 = (($$120226) + 32)|0; + $114 = (($3) + ($$120226<<2)|0); + HEAP32[$114>>2] = $113; + $115 = (($4) + ($$120226<<4)|0); + HEAP32[$115>>2] = $$119927; + $116 = (((($4) + ($$120226<<4)|0)) + 4|0); + HEAP32[$116>>2] = $99; + $117 = (((($4) + ($$120226<<4)|0)) + 12|0); + HEAP32[$117>>2] = $$0203; + $118 = HEAP32[$63>>2]|0; + $119 = Math_imul($118, $99)|0; + $$0197 = 0; + while(1) { + $120 = (($$0197) + ($$119927))|0; + $121 = (($120) + ($119))|0; + $122 = (($6) + ($121<<2)|0); + $123 = HEAP8[$122>>0]|0; + $124 = ($123<<24>>24)==($92<<24>>24); + if ($124) { + $125 = (((($6) + ($121<<2)|0)) + 1|0); + $126 = HEAP8[$125>>0]|0; + $127 = ($126<<24>>24)==($93<<24>>24); + if ($127) { + $128 = (((($6) + ($121<<2)|0)) + 2|0); + $129 = HEAP8[$128>>0]|0; + $130 = ($129<<24>>24)==($94<<24>>24); + if ($130) { + $131 = (((($6) + ($121<<2)|0)) + 3|0); + $132 = HEAP8[$131>>0]|0; + $133 = ($132<<24>>24)==($95<<24>>24); + if ($133) { + break; + } + } + } + } + $134 = (($$0197) + 1)|0; + $$0197 = $134; + } + $135 = (((($4) + ($$120226<<4)|0)) + 8|0); + HEAP32[$135>>2] = $$0197; + $136 = (($$120226) + 1)|0; + $137 = (($$119927) + ($$2))|0; + $138 = (($137) + ($$0197))|0; + $139 = HEAP32[$63>>2]|0; + $140 = ($138|0)<($139|0); + if ($140) { + $$119927 = $138;$$120226 = $136;$98 = $139; + } else { + $$1202$lcssa = $136; + break; + } + } + } else { + $$1202$lcssa = $$020131; + } + } while(0); + $141 = (($$020032) + 1)|0; + $142 = Math_imul($141, $72)|0; + $143 = (($142) + ($$0195$lcssa))|0; + $144 = ($143|0)<($91|0); + if ($144) { + $$020032 = $141;$$020131 = $$1202$lcssa;$99 = $143; + } else { + $$0201$lcssa = $$1202$lcssa; + break; + } + } + } else { + $$0201$lcssa = 0; + } + _TraceLog(3,12434,$vararg_buffer); + $145 = HEAP32[$7>>2]|0; + $146 = HEAP32[$63>>2]|0; + $147 = Math_imul($146, $145)|0; + $148 = ($147|0)>(0); + if ($148) { + $149 = HEAP8[$2>>0]|0; + $150 = HEAP8[$66>>0]|0; + $151 = HEAP8[$68>>0]|0; + $152 = HEAP8[$70>>0]|0; + $$019622 = 0; + while(1) { + $158 = (($6) + ($$019622<<2)|0); + $159 = HEAP8[$158>>0]|0; + $160 = ($159<<24>>24)==($149<<24>>24); + if ($160) { + $161 = (((($6) + ($$019622<<2)|0)) + 1|0); + $162 = HEAP8[$161>>0]|0; + $163 = ($162<<24>>24)==($150<<24>>24); + if ($163) { + $164 = (((($6) + ($$019622<<2)|0)) + 2|0); + $165 = HEAP8[$164>>0]|0; + $166 = ($165<<24>>24)==($151<<24>>24); + if ($166) { + $167 = (((($6) + ($$019622<<2)|0)) + 3|0); + $168 = HEAP8[$167>>0]|0; + $169 = ($168<<24>>24)==($152<<24>>24); + if ($169) { + HEAP8[$158>>0]=0&255;HEAP8[$158+1>>0]=(0>>8)&255;HEAP8[$158+2>>0]=(0>>16)&255;HEAP8[$158+3>>0]=0>>24; + } + } + } + } + $170 = (($$019622) + 1)|0; + $171 = HEAP32[$7>>2]|0; + $172 = HEAP32[$63>>2]|0; + $173 = Math_imul($172, $171)|0; + $174 = ($170|0)<($173|0); + if ($174) { + $$019622 = $170; + } else { + break; + } + } + } + $153 = HEAP32[$63>>2]|0; + $154 = HEAP32[$7>>2]|0; + _LoadImageEx($vararg_buffer,$6,$153,$154); + _free($6); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _LoadTextureFromImage($5,$$byval_copy4); + ;HEAP32[$$sroa$0>>2]=HEAP32[$5>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$5+16>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; + _UnloadImage($$byval_copy4); + $155 = $$0201$lcssa << 5; + $156 = (_malloc($155)|0); + $157 = ($$0201$lcssa|0)>(0); + if ($157) { + $$021 = 0; + } else { + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,12478,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; + } + while(1) { + $177 = (($3) + ($$021<<2)|0); + $178 = HEAP32[$177>>2]|0; + $179 = (($156) + ($$021<<5)|0); + HEAP32[$179>>2] = $178; + $180 = (((($156) + ($$021<<5)|0)) + 4|0); + $181 = (($4) + ($$021<<4)|0); + ;HEAP32[$180>>2]=HEAP32[$181>>2]|0;HEAP32[$180+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$180+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$180+12>>2]=HEAP32[$181+12>>2]|0; + $182 = (((($156) + ($$021<<5)|0)) + 20|0); + HEAP32[$182>>2] = 0; + $183 = (((($156) + ($$021<<5)|0)) + 24|0); + HEAP32[$183>>2] = 0; + $184 = (((($156) + ($$021<<5)|0)) + 28|0); + HEAP32[$184>>2] = 0; + $185 = (($$021) + 1)|0; + $exitcond = ($185|0)==($$0201$lcssa|0); + if ($exitcond) { + break; + } else { + $$021 = $185; + } + } + $175 = ((($156)) + 16|0); + $176 = HEAP32[$175>>2]|0; + _TraceLog(0,12478,$vararg_buffer1); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); + HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; + $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); + HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; + $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); + HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; + STACKTOP = sp;return; +} +function _UnloadSpriteFont($0) { + $0 = $0|0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp + 40|0; + $vararg_buffer = sp; + $1 = sp + 8|0; + $2 = HEAP32[$0>>2]|0; + _GetDefaultFont($1); + $3 = HEAP32[$1>>2]|0; + $4 = ($2|0)==($3|0); + if ($4) { + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadTexture($$byval_copy); + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + _free($6); + _TraceLog(3,12896,$vararg_buffer); + STACKTOP = sp;return; +} +function _LoadTTF($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0124130 = 0, $$0125129 = 0, $$0128 = 0, $$byval_copy9 = 0, $$sroa$0 = 0, $$sroa$10$0$$sroa_idx58 = 0, $$sroa$10$0$$sroa_idx59 = 0, $$sroa$6$0$$sroa_idx49 = 0, $$sroa$6$0$$sroa_idx50 = 0, $$sroa$7$0$$sroa_idx53 = 0, $$sroa$7$0$$sroa_idx54 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0; + var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $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, $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.0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0; + var $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $9 = 0.0, $exitcond = 0, $exp2 = 0.0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy9 = sp + 48|0; + $vararg_buffer7 = sp + 40|0; + $vararg_buffer5 = sp + 32|0; + $vararg_buffer2 = sp + 24|0; + $$sroa$0 = sp; + $5 = sp + 68|0; + $6 = sp + 88|0; + $7 = (+($2|0)); + $8 = $7 * 3.0; + $9 = $8 * 0.25; + $10 = (+Math_ceil((+$9))); + $11 = (+($3|0)); + $12 = (+Math_sqrt((+$11))); + $13 = (+Math_ceil((+$12))); + $14 = $10 * $13; + $15 = (+Math_log((+$14))); + $16 = $15 / 0.69314718246459961; + $17 = (+Math_ceil((+$16))); + $exp2 = (+_llvm_exp2_f32((+$17))); + $18 = (~~(($exp2))); + HEAP32[$$byval_copy9>>2] = $18; + $vararg_ptr1 = ((($$byval_copy9)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $18; + _TraceLog(0,12981,$$byval_copy9); + $19 = (_malloc(16777216)|0); + $20 = Math_imul($18, $18)|0; + $21 = (_malloc($20)|0); + $22 = ($3*20)|0; + $23 = (_malloc($22)|0); + ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; + $24 = (_fopen($1,13035)|0); + $25 = ($24|0)==(0|0); + if ($25) { + HEAP32[$vararg_buffer2>>2] = $1; + _TraceLog(2,13038,$vararg_buffer2); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; + $$sroa$7$0$$sroa_idx53 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx53>>2] = 0; + $$sroa$10$0$$sroa_idx58 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx58>>2] = 0; + STACKTOP = sp;return; + } + (_fread($19,1,16777216,$24)|0); + $26 = HEAP32[$4>>2]|0; + $27 = ($26|0)==(32); + if (!($27)) { + _TraceLog(2,13072,$vararg_buffer5); + } + $28 = HEAP32[$4>>2]|0; + $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); + $30 = ($29|0)<(0); + if ($30) { + _TraceLog(2,13139,$vararg_buffer7); + } + _free($19); + $31 = $20 << 1; + $32 = (_malloc($31)|0); + $33 = ($20|0)==(0); + if (!($33)) { + $$0124130 = 0;$$0125129 = 0; + while(1) { + $41 = (($32) + ($$0124130)|0); + HEAP8[$41>>0] = -1; + $42 = (($21) + ($$0125129)|0); + $43 = HEAP8[$42>>0]|0; + $44 = $$0124130 | 1; + $45 = (($32) + ($44)|0); + HEAP8[$45>>0] = $43; + $46 = (($$0125129) + 1)|0; + $47 = (($$0124130) + 2)|0; + $48 = ($46|0)<($20|0); + if ($48) { + $$0124130 = $47;$$0125129 = $46; + } else { + break; + } + } + } + _free($21); + $34 = ((($5)) + 4|0); + HEAP32[$34>>2] = $18; + $35 = ((($5)) + 8|0); + HEAP32[$35>>2] = $18; + $36 = ((($5)) + 12|0); + HEAP32[$36>>2] = 1; + $37 = ((($5)) + 16|0); + HEAP32[$37>>2] = 2; + HEAP32[$5>>2] = $32; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _LoadTextureFromImage($6,$$byval_copy9); + ;HEAP32[$$sroa$0>>2]=HEAP32[$6>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; + _UnloadImage($$byval_copy9); + $38 = $3 << 5; + $39 = (_malloc($38)|0); + $40 = ($3|0)>(0); + if ($40) { + $$0128 = 0; + while(1) { + $49 = (($4) + ($$0128<<2)|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($39) + ($$0128<<5)|0); + HEAP32[$51>>2] = $50; + $52 = (($23) + (($$0128*20)|0)|0); + $53 = HEAP16[$52>>1]|0; + $54 = $53&65535; + $55 = (((($39) + ($$0128<<5)|0)) + 4|0); + HEAP32[$55>>2] = $54; + $56 = (((($23) + (($$0128*20)|0)|0)) + 2|0); + $57 = HEAP16[$56>>1]|0; + $58 = $57&65535; + $59 = (((($39) + ($$0128<<5)|0)) + 8|0); + HEAP32[$59>>2] = $58; + $60 = (((($23) + (($$0128*20)|0)|0)) + 4|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = (($62) - ($54))|0; + $64 = (((($39) + ($$0128<<5)|0)) + 12|0); + HEAP32[$64>>2] = $63; + $65 = (((($23) + (($$0128*20)|0)|0)) + 6|0); + $66 = HEAP16[$65>>1]|0; + $67 = $66&65535; + $68 = (($67) - ($58))|0; + $69 = (((($39) + ($$0128<<5)|0)) + 16|0); + HEAP32[$69>>2] = $68; + $70 = (((($23) + (($$0128*20)|0)|0)) + 8|0); + $71 = +HEAPF32[$70>>2]; + $72 = (~~(($71))); + $73 = (((($39) + ($$0128<<5)|0)) + 20|0); + HEAP32[$73>>2] = $72; + $74 = (((($23) + (($$0128*20)|0)|0)) + 12|0); + $75 = +HEAPF32[$74>>2]; + $76 = (~~(($75))); + $77 = (((($39) + ($$0128<<5)|0)) + 24|0); + HEAP32[$77>>2] = $76; + $78 = (((($23) + (($$0128*20)|0)|0)) + 16|0); + $79 = +HEAPF32[$78>>2]; + $80 = (~~(($79))); + $81 = (((($39) + ($$0128<<5)|0)) + 28|0); + HEAP32[$81>>2] = $80; + $82 = (($$0128) + 1)|0; + $exitcond = ($82|0)==($3|0); + if ($exitcond) { + break; + } else { + $$0128 = $82; + } + } + } + _free($23); + ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; + $$sroa$6$0$$sroa_idx50 = ((($0)) + 20|0); + HEAP32[$$sroa$6$0$$sroa_idx50>>2] = $2; + $$sroa$7$0$$sroa_idx54 = ((($0)) + 24|0); + HEAP32[$$sroa$7$0$$sroa_idx54>>2] = $3; + $$sroa$10$0$$sroa_idx59 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx59>>2] = $39; + STACKTOP = sp;return; +} +function _stbtt_BakeFontBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = (_stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7)|0); + return ($8|0); +} +function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = +$1; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$05 = 0, $$084$ = 0, $$0844 = 0, $$087$$091 = 0, $$0873 = 0, $$089 = 0, $$0902 = 0, $$091$ = 0, $$0911 = 0, $$1 = 0, $$2 = 0, $$286 = 0, $$293 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $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, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0; + var $57 = 0, $58 = 0.0, $59 = 0, $60 = 0, $61 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp + 12|0; + $12 = sp + 8|0; + $13 = sp + 4|0; + $14 = sp; + HEAP32[$8>>2] = 0; + $15 = (_stbtt_InitFont($8,$0)|0); + $16 = ($15|0)==(0); + if ($16) { + $$2 = -1; + STACKTOP = sp;return ($$2|0); + } + $17 = Math_imul($4, $3)|0; + _memset(($2|0),0,($17|0))|0; + $18 = (+_stbtt_ScaleForPixelHeight($8,$1)); + $19 = ($6|0)>(0); + if (!($19)) { + $$2 = 1; + STACKTOP = sp;return ($$2|0); + } + $$05 = 0;$$0844 = 1;$$0873 = 1;$$0902 = 0;$$0911 = 1; + while(1) { + $22 = (($$0902) + ($5))|0; + $23 = (_stbtt_FindGlyphIndex($8,$22)|0); + _stbtt_GetGlyphHMetrics($8,$23,$9,$10); + _stbtt_GetGlyphBitmapBox($8,$23,$18,$18,$11,$12,$13,$14); + $24 = HEAP32[$13>>2]|0; + $25 = HEAP32[$11>>2]|0; + $26 = (($24) - ($25))|0; + $27 = HEAP32[$14>>2]|0; + $28 = HEAP32[$12>>2]|0; + $29 = (($27) - ($28))|0; + $30 = (($$0844) + 1)|0; + $31 = (($30) + ($26))|0; + $32 = ($31|0)<($3|0); + $$087$$091 = $32 ? $$0873 : $$0911; + $$084$ = $32 ? $$0844 : 1; + $33 = (($$087$$091) + ($29))|0; + $34 = (($33) + 1)|0; + $35 = ($34|0)<($4|0); + if ($35) { + $37 = (($$084$) + ($26))|0; + $38 = ($37|0)<($3|0); + if (!($38)) { + label = 8; + break; + } + $39 = (($2) + ($$084$)|0); + $40 = Math_imul($$087$$091, $3)|0; + $41 = (($39) + ($40)|0); + _stbtt_MakeGlyphBitmap($8,$41,$26,$29,$3,$18,$18,$23); + $42 = $$084$&65535; + $43 = (($7) + (($$0902*20)|0)|0); + HEAP16[$43>>1] = $42; + $44 = $$087$$091&65535; + $45 = (((($7) + (($$0902*20)|0)|0)) + 2|0); + HEAP16[$45>>1] = $44; + $46 = $37&65535; + $47 = (((($7) + (($$0902*20)|0)|0)) + 4|0); + HEAP16[$47>>1] = $46; + $48 = $33&65535; + $49 = (((($7) + (($$0902*20)|0)|0)) + 6|0); + HEAP16[$49>>1] = $48; + $50 = HEAP32[$9>>2]|0; + $51 = (+($50|0)); + $52 = $18 * $51; + $53 = (((($7) + (($$0902*20)|0)|0)) + 16|0); + HEAPF32[$53>>2] = $52; + $54 = HEAP32[$11>>2]|0; + $55 = (+($54|0)); + $56 = (((($7) + (($$0902*20)|0)|0)) + 8|0); + HEAPF32[$56>>2] = $55; + $57 = HEAP32[$12>>2]|0; + $58 = (+($57|0)); + $59 = (((($7) + (($$0902*20)|0)|0)) + 12|0); + HEAPF32[$59>>2] = $58; + $60 = (($37) + 1)|0; + $61 = ($33|0)<($$0911|0); + $$091$ = $61 ? $$0911 : $34; + $$089 = 1;$$1 = $$05;$$286 = $60;$$293 = $$091$; + } else { + $36 = (0 - ($$0902))|0; + $$089 = 0;$$1 = $36;$$286 = $$084$;$$293 = $$0911; + } + $21 = (($$0902) + 1)|0; + if (!($$089)) { + $$2 = $$1; + label = 11; + break; + } + $20 = ($21|0)<($6|0); + if ($20) { + $$05 = $$1;$$0844 = $$286;$$0873 = $$087$$091;$$0902 = $21;$$0911 = $$293; + } else { + $$2 = $$293; + label = 11; + break; + } + } + if ((label|0) == 8) { + ___assert_fail((13202|0),(13212|0),3274,(13238|0)); + // unreachable; + } + else if ((label|0) == 11) { + STACKTOP = sp;return ($$2|0); + } + return (0)|0; +} +function _stbtt_InitFont($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbtt_InitFont_internal($0,$1)|0); + return ($2|0); +} +function _stbtt_ScaleForPixelHeight($0,$1) { + $0 = $0|0; + $1 = +$1; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.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)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = ((($6)) + 4|0); + $8 = (_ttSHORT($7)|0); + $9 = $8 << 16 >> 16; + $10 = ((($6)) + 6|0); + $11 = (_ttSHORT($10)|0); + $12 = $11 << 16 >> 16; + $13 = (($9) - ($12))|0; + $14 = (+($13|0)); + $15 = $1 / $14; + return (+$15); +} +function _stbtt_FindGlyphIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$$1172 = 0, $$0163180 = 0, $$0164179 = 0, $$0165 = 0, $$0165$ph = 0, $$0168$ph = 0, $$1172$lcssa = 0, $$1172178 = 0, $$2 = 0, $$2$shrunk = 0, $$5 = 0, $$8 = 0, $$neg = 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, $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, $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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $switch = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 40|0); + $5 = HEAP32[$4>>2]|0; + $6 = (($3) + ($5)|0); + $7 = (_ttUSHORT($6)|0); + switch ($7<<16>>16) { + case 0: { + $8 = ((($6)) + 2|0); + $9 = (_ttUSHORT($8)|0); + $10 = $9&65535; + $11 = (($10) + -6)|0; + $12 = ($11|0)>($1|0); + if (!($12)) { + $$8 = 0; + return ($$8|0); + } + $13 = ((($6)) + 6|0); + $14 = (($13) + ($1)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $$8 = $16; + return ($$8|0); + break; + } + case 6: { + $17 = ((($6)) + 6|0); + $18 = (_ttUSHORT($17)|0); + $19 = $18&65535; + $20 = ($19>>>0)>($1>>>0); + if ($20) { + $$8 = 0; + return ($$8|0); + } + $21 = ((($6)) + 8|0); + $22 = (_ttUSHORT($21)|0); + $23 = $22&65535; + $24 = (($23) + ($19))|0; + $25 = ($24>>>0)>($1>>>0); + if (!($25)) { + $$8 = 0; + return ($$8|0); + } + $26 = ((($6)) + 10|0); + $27 = (($1) - ($19))|0; + $28 = $27 << 1; + $29 = (($26) + ($28)|0); + $30 = (_ttUSHORT($29)|0); + $31 = $30&65535; + $$8 = $31; + return ($$8|0); + break; + } + case 2: { + ___assert_fail((13672|0),(13212|0),1347,(14014|0)); + // unreachable; + break; + } + case 4: { + $32 = ((($6)) + 6|0); + $33 = (_ttUSHORT($32)|0); + $34 = ($33&65535) >>> 1; + $35 = ($1|0)>(65535); + if ($35) { + $$8 = 0; + return ($$8|0); + } + $36 = (($5) + 14)|0; + $37 = ((($6)) + 12|0); + $38 = (_ttUSHORT($37)|0); + $39 = ((($6)) + 10|0); + $40 = (_ttUSHORT($39)|0); + $41 = $38 & -2; + $42 = (($3) + ($36)|0); + $43 = $41&65535; + $44 = (($42) + ($43)|0); + $45 = (_ttUSHORT($44)|0); + $46 = $45&65535; + $47 = ($46|0)>($1|0); + $48 = $47 ? 0 : $43; + $$ = (($5) + 12)|0; + $49 = (($$) + ($48))|0; + $50 = ($40<<16>>16)==(0); + if ($50) { + $$1172$lcssa = $49; + } else { + $51 = ((($6)) + 8|0); + $52 = (_ttUSHORT($51)|0); + $53 = ($52&65535) >>> 1; + $$0163180 = $53;$$0164179 = $40;$$1172178 = $49; + while(1) { + $54 = ($$0163180&65535) >>> 1; + $55 = (($3) + ($$1172178)|0); + $56 = ($54 << 1)&65535; + $57 = $56&65535; + $58 = (($55) + ($57)|0); + $59 = (_ttUSHORT($58)|0); + $60 = $59&65535; + $61 = ($60|0)<($1|0); + $62 = $61 ? $57 : 0; + $$$1172 = (($62) + ($$1172178))|0; + $63 = (($$0164179) + -1)<<16>>16; + $64 = ($63<<16>>16)==(0); + if ($64) { + $$1172$lcssa = $$$1172; + break; + } else { + $$0163180 = $54;$$0164179 = $63;$$1172178 = $$$1172; + } + } + } + $$neg = (-14 - ($5))|0; + $65 = (($$neg) + 2)|0; + $66 = (($65) + ($$1172$lcssa))|0; + $67 = $66 & 131070; + $68 = (($42) + ($67)|0); + $69 = (_ttUSHORT($68)|0); + $70 = $69&65535; + $71 = ($70|0)<($1|0); + if ($71) { + ___assert_fail((14035|0),(13212|0),1383,(14014|0)); + // unreachable; + } + $72 = ((($6)) + 14|0); + $73 = $34&65535; + $74 = ($34 << 1)&65535; + $75 = $74&65535; + $76 = (($72) + ($75)|0); + $77 = ((($76)) + 2|0); + $78 = (($77) + ($67)|0); + $79 = (_ttUSHORT($78)|0); + $80 = $79&65535; + $81 = ($80|0)>($1|0); + do { + if ($81) { + $$2$shrunk = 0; + } else { + $82 = ($73*6)|0; + $83 = (($72) + ($82)|0); + $84 = ((($83)) + 2|0); + $85 = (($84) + ($67)|0); + $86 = (_ttUSHORT($85)|0); + $87 = ($86<<16>>16)==(0); + if ($87) { + $88 = $73 << 2; + $89 = (($72) + ($88)|0); + $90 = ((($89)) + 2|0); + $91 = (($90) + ($67)|0); + $92 = (_ttSHORT($91)|0); + $93 = $92&65535; + $94 = (($93) + ($1))|0; + $95 = $94&65535; + $$2$shrunk = $95; + break; + } else { + $96 = $86&65535; + $97 = (($3) + ($96)|0); + $98 = (($1) - ($80))|0; + $99 = $98 << 1; + $100 = (($97) + ($99)|0); + $101 = (($100) + ($5)|0); + $102 = ((($101)) + 14|0); + $103 = (($102) + ($82)|0); + $104 = ((($103)) + 2|0); + $105 = (($104) + ($67)|0); + $106 = (_ttUSHORT($105)|0); + $$2$shrunk = $106; + break; + } + } + } while(0); + $$2 = $$2$shrunk&65535; + $$8 = $$2; + return ($$8|0); + break; + } + default: { + $107 = ($7<<16>>16)==(12); + $108 = $7 & -2; + $switch = ($108<<16>>16)==(12); + if (!($switch)) { + ___assert_fail((13672|0),(13212|0),1418,(14014|0)); + // unreachable; + } + $109 = ((($6)) + 12|0); + $110 = (_ttULONG($109)|0); + $111 = ((($6)) + 16|0); + $$0165$ph = $110;$$0168$ph = 0; + L6: while(1) { + $$0165 = $$0165$ph; + while(1) { + $112 = ($$0165|0)>($$0168$ph|0); + if (!($112)) { + $$8 = 0; + label = 27; + break L6; + } + $113 = (($$0165) - ($$0168$ph))|0; + $114 = $113 >> 1; + $115 = (($114) + ($$0168$ph))|0; + $116 = ($115*12)|0; + $117 = (($111) + ($116)|0); + $118 = (_ttULONG($117)|0); + $119 = ($118>>>0)>($1>>>0); + if ($119) { + $$0165 = $115; + } else { + break; + } + } + $120 = ((($117)) + 4|0); + $121 = (_ttULONG($120)|0); + $122 = ($121>>>0)<($1>>>0); + $123 = (($115) + 1)|0; + if ($122) { + $$0165$ph = $$0165;$$0168$ph = $123; + } else { + break; + } + } + if ((label|0) == 27) { + return ($$8|0); + } + $124 = ((($117)) + 8|0); + $125 = (_ttULONG($124)|0); + $126 = (($1) - ($118))|0; + $127 = $107 ? $126 : 0; + $$5 = (($125) + ($127))|0; + $$8 = $$5; + return ($$8|0); + } + } + return (0)|0; +} +function _stbtt_GetGlyphHMetrics($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $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, $29 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ((($0)) + 4|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 28|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($5) + ($7)|0); + $9 = ((($8)) + 34|0); + $10 = (_ttUSHORT($9)|0); + $11 = $10&65535; + $12 = ($11|0)>($1|0); + $13 = ($2|0)!=(0|0); + if ($12) { + if ($13) { + $14 = ((($0)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($5) + ($15)|0); + $17 = $1 << 2; + $18 = (($16) + ($17)|0); + $19 = (_ttSHORT($18)|0); + $20 = $19 << 16 >> 16; + HEAP32[$2>>2] = $20; + } + $21 = ($3|0)==(0|0); + if ($21) { + return; + } + $22 = HEAP32[$4>>2]|0; + $23 = ((($0)) + 32|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($22) + ($24)|0); + $26 = $1 << 2; + $27 = (($25) + ($26)|0); + $28 = ((($27)) + 2|0); + $29 = (_ttSHORT($28)|0); + $30 = $29 << 16 >> 16; + HEAP32[$3>>2] = $30; + return; + } else { + if ($13) { + $31 = ((($0)) + 32|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($5) + ($32)|0); + $34 = $11 << 2; + $35 = (($34) + -4)|0; + $36 = (($33) + ($35)|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$2>>2] = $38; + } + $39 = ($3|0)==(0|0); + if ($39) { + return; + } + $40 = HEAP32[$4>>2]|0; + $41 = ((($0)) + 32|0); + $42 = HEAP32[$41>>2]|0; + $43 = (($40) + ($42)|0); + $44 = $11 << 2; + $45 = (($43) + ($44)|0); + $46 = (($1) - ($11))|0; + $47 = $46 << 1; + $48 = (($45) + ($47)|0); + $49 = (_ttSHORT($48)|0); + $50 = $49 << 16 >> 16; + HEAP32[$3>>2] = $50; + return; + } +} +function _stbtt_GetGlyphBitmapBox($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmap($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7); + return; +} +function _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = +$5; + $6 = +$6; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $8 = sp + 24|0; + $9 = sp + 20|0; + $10 = sp + 16|0; + $11 = sp; + $12 = (_stbtt_GetGlyphShape($0,$7,$10)|0); + _stbtt_GetGlyphBitmapBoxSubpixel($0,$7,$5,$6,$8,$9,0,0); + $13 = ((($11)) + 12|0); + HEAP32[$13>>2] = $1; + HEAP32[$11>>2] = $2; + $14 = ((($11)) + 4|0); + HEAP32[$14>>2] = $3; + $15 = ((($11)) + 8|0); + HEAP32[$15>>2] = $4; + $16 = ($2|0)==(0); + $17 = ($3|0)==(0); + $or$cond = $16 | $17; + if ($or$cond) { + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; + } + $18 = HEAP32[$10>>2]|0; + $19 = HEAP32[$8>>2]|0; + $20 = HEAP32[$9>>2]|0; + _stbtt_Rasterize($11,$18,$12,$5,$6,$19,$20); + $21 = HEAP32[$10>>2]|0; + _free($21); + STACKTOP = sp;return; +} +function _stbtt_GetGlyphShape($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 56|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + $6 = (_stbtt__GetGlyphShapeTT($0,$1,$2)|0); + $$0 = $6; + return ($$0|0); + } else { + $7 = (_stbtt__GetGlyphShapeT2($0,$1,$2)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $8 = sp + 12|0; + $9 = sp + 8|0; + $10 = sp + 4|0; + $11 = sp; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $12 = (_stbtt_GetGlyphBox($0,$1,$8,$9,$10,$11)|0); + $13 = ($12|0)==(0); + $14 = ($4|0)!=(0|0); + if ($13) { + if ($14) { + HEAP32[$4>>2] = 0; + } + $15 = ($5|0)==(0|0); + if (!($15)) { + HEAP32[$5>>2] = 0; + } + $16 = ($6|0)==(0|0); + if (!($16)) { + HEAP32[$6>>2] = 0; + } + $17 = ($7|0)==(0|0); + if ($17) { + STACKTOP = sp;return; + } + HEAP32[$7>>2] = 0; + STACKTOP = sp;return; + } else { + if ($14) { + $18 = HEAP32[$8>>2]|0; + $19 = (+($18|0)); + $20 = $19 * $2; + $21 = $20 + 0.0; + $floorf2 = (+Math_floor((+$21))); + $22 = (~~(($floorf2))); + HEAP32[$4>>2] = $22; + } + $23 = ($5|0)==(0|0); + if (!($23)) { + $24 = HEAP32[$11>>2]|0; + $25 = (0 - ($24))|0; + $26 = (+($25|0)); + $27 = $26 * $3; + $28 = $27 + 0.0; + $floorf = (+Math_floor((+$28))); + $29 = (~~(($floorf))); + HEAP32[$5>>2] = $29; + } + $30 = ($6|0)==(0|0); + if (!($30)) { + $31 = HEAP32[$10>>2]|0; + $32 = (+($31|0)); + $33 = $32 * $2; + $34 = $33 + 0.0; + $ceilf1 = (+Math_ceil((+$34))); + $35 = (~~(($ceilf1))); + HEAP32[$6>>2] = $35; + } + $36 = ($7|0)==(0|0); + if ($36) { + STACKTOP = sp;return; + } + $37 = HEAP32[$9>>2]|0; + $38 = (0 - ($37))|0; + $39 = (+($38|0)); + $40 = $39 * $3; + $41 = $40 + 0.0; + $ceilf = (+Math_ceil((+$41))); + $42 = (~~(($ceilf))); + HEAP32[$7>>2] = $42; + STACKTOP = sp;return; + } +} +function _stbtt_Rasterize($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = $5|0; + $6 = $6|0; + var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 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); + $7 = sp + 4|0; + $8 = sp; + $9 = $3 > $4; + $10 = $9 ? $4 : $3; + $11 = 0.34999999403953552 / $10; + $12 = (_stbtt_FlattenCurves($1,$2,$11,$8,$7)|0); + $13 = ($12|0)==(0|0); + if ($13) { + STACKTOP = sp;return; + } + $14 = HEAP32[$8>>2]|0; + $15 = HEAP32[$7>>2]|0; + _stbtt__rasterize($0,$12,$14,$15,$3,$4,$5,$6); + _free($14); + _free($12); + STACKTOP = sp;return; +} +function _stbtt_FlattenCurves($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = $3|0; + $4 = $4|0; + var $$$0113 = 0, $$010 = 0.0, $$01079 = 0.0, $$011014 = 0, $$011113 = 0, $$011316 = 0, $$011715 = 0, $$0119 = 0, $$012012 = 0, $$1 = 0.0, $$1108 = 0.0, $$1112$lcssa = 0, $$11128 = 0, $$11185 = 0, $$1121 = 0, $$2 = 0, $$2115$lcssa = 0, $$21157 = 0, $$3116 = 0, $10 = 0; + var $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, $29 = 0, $30 = 0; + var $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0; + var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + HEAP32[$5>>2] = 0; + $6 = $2 * $2; + $7 = ($1|0)>(0); + if ($7) { + $$011316 = 0;$$011715 = 0; + } else { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + while(1) { + $8 = (((($0) + (($$011715*14)|0)|0)) + 12|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(1); + $11 = $10&1; + $$$0113 = (($11) + ($$011316))|0; + $12 = (($$011715) + 1)|0; + $exitcond21 = ($12|0)==($1|0); + if ($exitcond21) { + break; + } else { + $$011316 = $$$0113;$$011715 = $12; + } + } + HEAP32[$4>>2] = $$$0113; + $13 = ($$$0113|0)==(0); + if ($13) { + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $14 = $$$0113 << 2; + $15 = (_malloc($14)|0); + HEAP32[$3>>2] = $15; + $16 = ($15|0)==(0|0); + if ($16) { + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); + } + $17 = ($1|0)>(0); + $$011014 = 0;$$011113 = 0;$$012012 = 0; + while(1) { + $18 = ($$011014|0)==(1); + if ($18) { + $19 = HEAP32[$5>>2]|0; + $20 = $19 << 3; + $21 = (_malloc($20)|0); + $22 = ($21|0)==(0|0); + if ($22) { + break; + } else { + $$1121 = $21; + } + } else { + $$1121 = $$012012; + } + HEAP32[$5>>2] = 0; + L19: do { + if ($17) { + $$010 = 0.0;$$01079 = 0.0;$$11128 = $$011113;$$11185 = 0;$$21157 = -1; + while(1) { + $23 = (($0) + (($$11185*14)|0)|0); + $24 = (((($0) + (($$11185*14)|0)|0)) + 12|0); + $25 = HEAP8[$24>>0]|0; + switch ($25<<24>>24) { + case 1: { + $26 = ($$21157|0)>(-1); + if ($26) { + $27 = HEAP32[$5>>2]|0; + $28 = (($27) - ($$11128))|0; + $29 = HEAP32[$3>>2]|0; + $30 = (($29) + ($$21157<<2)|0); + HEAP32[$30>>2] = $28; + } + $31 = (($$21157) + 1)|0; + $32 = HEAP32[$5>>2]|0; + $33 = HEAP16[$23>>1]|0; + $34 = (+($33<<16>>16)); + $35 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $36 = HEAP16[$35>>1]|0; + $37 = (+($36<<16>>16)); + $38 = (($32) + 1)|0; + HEAP32[$5>>2] = $38; + _stbtt__add_point($$1121,$32,$34,$37); + $$1 = $37;$$1108 = $34;$$2 = $32;$$3116 = $31; + break; + } + case 2: { + $39 = HEAP16[$23>>1]|0; + $40 = (+($39<<16>>16)); + $41 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $42 = HEAP16[$41>>1]|0; + $43 = (+($42<<16>>16)); + $44 = HEAP32[$5>>2]|0; + $45 = (($44) + 1)|0; + HEAP32[$5>>2] = $45; + _stbtt__add_point($$1121,$44,$40,$43); + $$1 = $43;$$1108 = $40;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 3: { + $46 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $47 = HEAP16[$46>>1]|0; + $48 = (+($47<<16>>16)); + $49 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $50 = HEAP16[$49>>1]|0; + $51 = (+($50<<16>>16)); + $52 = HEAP16[$23>>1]|0; + $53 = (+($52<<16>>16)); + $54 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $55 = HEAP16[$54>>1]|0; + $56 = (+($55<<16>>16)); + _stbtt__tesselate_curve($$1121,$5,$$01079,$$010,$48,$51,$53,$56,$6,0); + $57 = HEAP16[$23>>1]|0; + $58 = (+($57<<16>>16)); + $59 = HEAP16[$54>>1]|0; + $60 = (+($59<<16>>16)); + $$1 = $60;$$1108 = $58;$$2 = $$11128;$$3116 = $$21157; + break; + } + case 4: { + $61 = (((($0) + (($$11185*14)|0)|0)) + 4|0); + $62 = HEAP16[$61>>1]|0; + $63 = (+($62<<16>>16)); + $64 = (((($0) + (($$11185*14)|0)|0)) + 6|0); + $65 = HEAP16[$64>>1]|0; + $66 = (+($65<<16>>16)); + $67 = (((($0) + (($$11185*14)|0)|0)) + 8|0); + $68 = HEAP16[$67>>1]|0; + $69 = (+($68<<16>>16)); + $70 = (((($0) + (($$11185*14)|0)|0)) + 10|0); + $71 = HEAP16[$70>>1]|0; + $72 = (+($71<<16>>16)); + $73 = HEAP16[$23>>1]|0; + $74 = (+($73<<16>>16)); + $75 = (((($0) + (($$11185*14)|0)|0)) + 2|0); + $76 = HEAP16[$75>>1]|0; + $77 = (+($76<<16>>16)); + _stbtt__tesselate_cubic($$1121,$5,$$01079,$$010,$63,$66,$69,$72,$74,$77,$6,0); + $78 = HEAP16[$23>>1]|0; + $79 = (+($78<<16>>16)); + $80 = HEAP16[$75>>1]|0; + $81 = (+($80<<16>>16)); + $$1 = $81;$$1108 = $79;$$2 = $$11128;$$3116 = $$21157; + break; + } + default: { + $$1 = $$010;$$1108 = $$01079;$$2 = $$11128;$$3116 = $$21157; + } + } + $82 = (($$11185) + 1)|0; + $exitcond = ($82|0)==($1|0); + if ($exitcond) { + $$1112$lcssa = $$2;$$2115$lcssa = $$3116; + break L19; + } else { + $$010 = $$1;$$01079 = $$1108;$$11128 = $$2;$$11185 = $82;$$21157 = $$3116; + } + } + } else { + $$1112$lcssa = $$011113;$$2115$lcssa = -1; + } + } while(0); + $83 = HEAP32[$5>>2]|0; + $84 = (($83) - ($$1112$lcssa))|0; + $85 = HEAP32[$3>>2]|0; + $86 = (($85) + ($$2115$lcssa<<2)|0); + HEAP32[$86>>2] = $84; + $87 = (($$011014) + 1)|0; + $88 = ($87|0)<(2); + if ($88) { + $$011014 = $87;$$011113 = $$1112$lcssa;$$012012 = $$1121; + } else { + $$0119 = $$1121; + label = 21; + break; + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$0119|0); + } + $89 = HEAP32[$3>>2]|0; + _free($89); + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + $$0119 = 0; + STACKTOP = sp;return ($$0119|0); +} +function _stbtt__rasterize($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = +$5; + $6 = $6|0; + $7 = $7|0; + var $$0 = 0, $$0101 = 0, $$0102$lcssa = 0, $$010211 = 0, $$010410 = 0, $$01064 = 0, $$01072 = 0, $$01081 = 0, $$01081$phi = 0, $$1$lcssa = 0, $$11055 = 0, $$16 = 0, $$2$lcssa = 0, $$23 = 0, $$3 = 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.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; + var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0; + var $55 = 0, $56 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $exitcond16 = 0, $phitmp = 0, $phitmp17 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = -$5; + $9 = ($3|0)>(0); + if ($9) { + $$010211 = 0;$$010410 = 0; + while(1) { + $10 = (($2) + ($$010410<<2)|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) + ($$010211))|0; + $13 = (($$010410) + 1)|0; + $exitcond16 = ($13|0)==($3|0); + if ($exitcond16) { + break; + } else { + $$010211 = $12;$$010410 = $13; + } + } + $phitmp = ($12*20)|0; + $phitmp17 = (($phitmp) + 20)|0; + $$0102$lcssa = $phitmp17; + } else { + $$0102$lcssa = 20; + } + $14 = (_malloc($$0102$lcssa)|0); + $15 = ($14|0)==(0|0); + if ($15) { + return; + } + $16 = ($3|0)>(0); + if ($16) { + $$01064 = 0;$$11055 = 0;$$16 = 0; + while(1) { + $17 = (($1) + ($$01064<<3)|0); + $18 = (($2) + ($$11055<<2)|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($19) + ($$01064))|0; + $21 = ($19|0)>(0); + if ($21) { + $22 = (($19) + -1)|0; + $23 = HEAP32[$18>>2]|0; + $$01072 = 0;$$01081 = $22;$$23 = $$16; + while(1) { + $24 = (($17) + ($$01081<<3)|0); + $25 = ((($24)) + 4|0); + $26 = +HEAPF32[$25>>2]; + $27 = (($17) + ($$01072<<3)|0); + $28 = ((($27)) + 4|0); + $29 = +HEAPF32[$28>>2]; + $30 = $26 == $29; + if ($30) { + $$3 = $$23; + } else { + $31 = (((($14) + (($$23*20)|0)|0)) + 16|0); + $32 = $26 > $29; + $storemerge = $32&1; + $$0101 = $32 ? $$01081 : $$01072; + $$0 = $32 ? $$01072 : $$01081; + HEAP32[$31>>2] = $storemerge; + $33 = (($17) + ($$0101<<3)|0); + $34 = +HEAPF32[$33>>2]; + $35 = $34 * $4; + $36 = $35 + 0.0; + $37 = (($14) + (($$23*20)|0)|0); + HEAPF32[$37>>2] = $36; + $38 = ((($33)) + 4|0); + $39 = +HEAPF32[$38>>2]; + $40 = $39 * $8; + $41 = $40 + 0.0; + $42 = (((($14) + (($$23*20)|0)|0)) + 4|0); + HEAPF32[$42>>2] = $41; + $43 = (($17) + ($$0<<3)|0); + $44 = +HEAPF32[$43>>2]; + $45 = $44 * $4; + $46 = $45 + 0.0; + $47 = (((($14) + (($$23*20)|0)|0)) + 8|0); + HEAPF32[$47>>2] = $46; + $48 = ((($43)) + 4|0); + $49 = +HEAPF32[$48>>2]; + $50 = $49 * $8; + $51 = $50 + 0.0; + $52 = (((($14) + (($$23*20)|0)|0)) + 12|0); + HEAPF32[$52>>2] = $51; + $53 = (($$23) + 1)|0; + $$3 = $53; + } + $54 = (($$01072) + 1)|0; + $55 = ($54|0)<($23|0); + if ($55) { + $$01081$phi = $$01072;$$01072 = $54;$$23 = $$3;$$01081 = $$01081$phi; + } else { + $$2$lcssa = $$3; + break; + } + } + } else { + $$2$lcssa = $$16; + } + $56 = (($$11055) + 1)|0; + $exitcond = ($56|0)==($3|0); + if ($exitcond) { + $$1$lcssa = $$2$lcssa; + break; + } else { + $$01064 = $20;$$11055 = $56;$$16 = $$2$lcssa; + } + } + } else { + $$1$lcssa = 0; + } + _stbtt__sort_edges($14,$$1$lcssa); + _stbtt__rasterize_sorted_edges($0,$14,$$1$lcssa,$6,$7); + _free($14); + return; +} +function _stbtt__sort_edges($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbtt__sort_edges_quicksort($0,$1); + _stbtt__sort_edges_ins_sort($0,$1); + return; +} +function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$010025 = 0, $$010123 = 0, $$010219 = 0.0, $$010318 = 0, $$0104 = 0, $$0105$ph15 = 0, $$026 = 0, $$1$lcssa = 0, $$116 = 0, $$sroa$0 = 0, $$sroa$0$0$$sroa$0$0$$0$1 = 0, $$sroa$0$0$$sroa$0$0$$0$1079 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0.0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0; + var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0; + var $74 = 0.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.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fabsf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); + $5 = sp + 520|0; + $$sroa$0 = sp + 516|0; + $6 = sp; + ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; + HEAP32[$$sroa$0>>2] = 0; + $7 = HEAP32[$0>>2]|0; + $8 = ($7|0)>(64); + if ($8) { + $9 = $7 << 3; + $10 = $9 | 4; + $11 = (_malloc($10)|0); + $$0104 = $11; + } else { + $$0104 = $6; + } + $12 = HEAP32[$0>>2]|0; + $13 = (($$0104) + ($12<<2)|0); + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($15) + ($4))|0; + $17 = (+($16|0)); + $18 = $17 + 1.0; + $19 = (((($1) + (($2*20)|0)|0)) + 4|0); + HEAPF32[$19>>2] = $18; + $20 = HEAP32[$14>>2]|0; + $21 = ($20|0)>(0); + L5: do { + if ($21) { + $22 = ((($13)) + 4|0); + $23 = ((($0)) + 12|0); + $24 = ((($0)) + 8|0); + $$010025 = $4;$$010123 = 0;$$026 = $1; + L7: while(1) { + $25 = (+($$010025|0)); + $26 = $25 + 1.0; + $27 = HEAP32[$0>>2]|0; + $28 = $27 << 2; + _memset(($$0104|0),0,($28|0))|0; + $29 = (($28) + 4)|0; + _memset(($13|0),0,($29|0))|0; + $30 = HEAP32[$$sroa$0>>2]|0; + $31 = ($30|0)==(0|0); + L9: do { + if (!($31)) { + $$0105$ph15 = $$sroa$0;$99 = $30; + while(1) { + $36 = $99; + while(1) { + $35 = ((($36)) + 24|0); + $37 = +HEAPF32[$35>>2]; + $38 = !($37 <= $25); + if ($38) { + break; + } + $39 = HEAP32[$36>>2]|0; + HEAP32[$$0105$ph15>>2] = $39; + $40 = ((($36)) + 16|0); + $41 = +HEAPF32[$40>>2]; + $42 = $41 != 0.0; + if (!($42)) { + label = 11; + break L7; + } + HEAPF32[$40>>2] = 0.0; + _stbtt__hheap_free($5,$36); + $43 = HEAP32[$$0105$ph15>>2]|0; + $44 = ($43|0)==(0|0); + if ($44) { + break L9; + } else { + $36 = $43; + } + } + $45 = HEAP32[$36>>2]|0; + $46 = ($45|0)==(0|0); + if ($46) { + break; + } else { + $$0105$ph15 = $36;$99 = $45; + } + } + } + } while(0); + $32 = ((($$026)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = !($33 <= $26); + if ($34) { + $$1$lcssa = $$026; + } else { + $$116 = $$026;$50 = $33; + while(1) { + $47 = ((($$116)) + 12|0); + $48 = +HEAPF32[$47>>2]; + $49 = $50 != $48; + if ($49) { + $51 = (_stbtt__new_active($5,$$116,$3,$25)|0); + $52 = ($51|0)==(0|0); + if (!($52)) { + $53 = ((($51)) + 24|0); + $54 = +HEAPF32[$53>>2]; + $55 = !($54 >= $25); + if ($55) { + label = 17; + break L7; + } + $$sroa$0$0$$sroa$0$0$$0$1 = HEAP32[$$sroa$0>>2]|0; + HEAP32[$51>>2] = $$sroa$0$0$$sroa$0$0$$0$1; + $56 = $51; + HEAP32[$$sroa$0>>2] = $56; + } + } + $57 = ((($$116)) + 20|0); + $58 = ((($$116)) + 24|0); + $59 = +HEAPF32[$58>>2]; + $60 = !($59 <= $26); + if ($60) { + $$1$lcssa = $57; + break; + } else { + $$116 = $57;$50 = $59; + } + } + } + $$sroa$0$0$$sroa$0$0$$0$1079 = HEAP32[$$sroa$0>>2]|0; + $61 = ($$sroa$0$0$$sroa$0$0$$0$1079|0)==(0|0); + if (!($61)) { + $62 = HEAP32[$0>>2]|0; + _stbtt__fill_active_edges_new($$0104,$22,$62,$$sroa$0$0$$sroa$0$0$$0$1079,$25); + } + $63 = HEAP32[$0>>2]|0; + $64 = ($63|0)>(0); + if ($64) { + $$010219 = 0.0;$$010318 = 0; + while(1) { + $67 = (($13) + ($$010318<<2)|0); + $68 = +HEAPF32[$67>>2]; + $69 = $$010219 + $68; + $70 = (($$0104) + ($$010318<<2)|0); + $71 = +HEAPF32[$70>>2]; + $72 = $71 + $69; + $fabsf = (+Math_abs((+$72))); + $73 = $fabsf * 255.0; + $74 = $73 + 0.5; + $75 = (~~(($74))); + $76 = ($75|0)<(255); + $$ = $76 ? $75 : 255; + $77 = $$&255; + $78 = HEAP32[$23>>2]|0; + $79 = HEAP32[$24>>2]|0; + $80 = Math_imul($79, $$010123)|0; + $81 = (($80) + ($$010318))|0; + $82 = (($78) + ($81)|0); + HEAP8[$82>>0] = $77; + $83 = (($$010318) + 1)|0; + $84 = HEAP32[$0>>2]|0; + $85 = ($83|0)<($84|0); + if ($85) { + $$010219 = $69;$$010318 = $83; + } else { + break; + } + } + } + $65 = HEAP32[$$sroa$0>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $87 = $65; + while(1) { + $86 = ((($87)) + 8|0); + $88 = +HEAPF32[$86>>2]; + $89 = ((($87)) + 4|0); + $90 = +HEAPF32[$89>>2]; + $91 = $88 + $90; + HEAPF32[$89>>2] = $91; + $92 = HEAP32[$87>>2]|0; + $93 = ($92|0)==(0|0); + if ($93) { + break; + } else { + $87 = $92; + } + } + } + $94 = (($$010025) + 1)|0; + $95 = (($$010123) + 1)|0; + $96 = HEAP32[$14>>2]|0; + $97 = ($95|0)<($96|0); + if ($97) { + $$010025 = $94;$$010123 = $95;$$026 = $$1$lcssa; + } else { + break L5; + } + } + if ((label|0) == 11) { + ___assert_fail((13268|0),(13212|0),2775,(13281|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((13311|0),(13212|0),2788,(13281|0)); + // unreachable; + } + } + } while(0); + _stbtt__hheap_cleanup($5); + $98 = ($$0104|0)==($6|0); + if ($98) { + STACKTOP = sp;return; + } + _free($$0104); + STACKTOP = sp;return; +} +function _stbtt__hheap_free($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $3; + HEAP32[$2>>2] = $1; + return; +} +function _stbtt__new_active($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0; + var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (_stbtt__hheap_alloc($0)|0); + $5 = ((($1)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $6 - $7; + $9 = ((($1)) + 12|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($1)) + 4|0); + $12 = +HEAPF32[$11>>2]; + $13 = $10 - $12; + $14 = $8 / $13; + $15 = ($4|0)==(0|0); + if ($15) { + ___assert_fail((13601|0),(13212|0),2374,(13617|0)); + // unreachable; + } else { + $16 = ((($4)) + 8|0); + HEAPF32[$16>>2] = $14; + $17 = $14 != 0.0; + $18 = 1.0 / $14; + $19 = $17 ? $18 : 0.0; + $20 = ((($4)) + 12|0); + HEAPF32[$20>>2] = $19; + $21 = +HEAPF32[$1>>2]; + $22 = +HEAPF32[$11>>2]; + $23 = $3 - $22; + $24 = $14 * $23; + $25 = $21 + $24; + $26 = ((($4)) + 4|0); + $27 = (+($2|0)); + $28 = $25 - $27; + HEAPF32[$26>>2] = $28; + $29 = ((($1)) + 16|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)!=(0); + $32 = $31 ? 1.0 : -1.0; + $33 = ((($4)) + 16|0); + HEAPF32[$33>>2] = $32; + $34 = ((($4)) + 20|0); + HEAPF32[$34>>2] = $22; + $35 = HEAP32[$9>>2]|0; + $36 = ((($4)) + 24|0); + HEAP32[$36>>2] = $35; + HEAP32[$4>>2] = 0; + return ($4|0); + } + return (0)|0; +} +function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + var $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0.0, $$0354 = 0.0, $$0356370 = 0, $$0357 = 0.0, $$0359$lcssa = 0.0, $$0359372 = 0.0, $$0360 = 0.0, $$0361371 = 0, $$0374 = 0, $$1 = 0.0, $$1353 = 0.0, $$1355 = 0.0, $$1358 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0; + var $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; + var $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0; + var $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0; + var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0; + var $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; + var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond380 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond362 = 0, $or$cond363 = 0, $or$cond364 = 0; + var $or$cond365 = 0, $or$cond366 = 0, $or$cond367 = 0, $or$cond368 = 0, $or$cond369 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $4 + 1.0; + $6 = ($3|0)==(0|0); + if ($6) { + return; + } + $7 = (+($2|0)); + $8 = ((($1)) + -4|0); + $9 = ((($1)) + -4|0); + $10 = (+($2|0)); + $11 = ($2|0)>(0); + $$0374 = $3; + L4: while(1) { + $12 = ((($$0374)) + 24|0); + $13 = +HEAPF32[$12>>2]; + $14 = !($13 >= $4); + if ($14) { + label = 4; + break; + } + $15 = ((($$0374)) + 8|0); + $16 = +HEAPF32[$15>>2]; + $17 = $16 == 0.0; + $18 = ((($$0374)) + 4|0); + $19 = +HEAPF32[$18>>2]; + do { + if ($17) { + $20 = $19 < $7; + if ($20) { + $21 = !($19 >= 0.0); + if ($21) { + _stbtt__handle_clipped_edge($8,0,$$0374,$19,$4,$19,$5); + break; + } else { + $22 = (~~(($19))); + _stbtt__handle_clipped_edge($0,$22,$$0374,$19,$4,$19,$5); + $23 = (($22) + 1)|0; + _stbtt__handle_clipped_edge($9,$23,$$0374,$19,$4,$19,$5); + break; + } + } + } else { + $24 = $16 + $19; + $25 = ((($$0374)) + 12|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($$0374)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = !($28 <= $5); + if ($29) { + label = 11; + break L4; + } + $30 = $28 > $4; + $31 = $28 - $4; + $32 = $16 * $31; + $33 = $19 + $32; + $$0354 = $30 ? $28 : $4; + $$0351 = $30 ? $33 : $19; + $34 = +HEAPF32[$12>>2]; + $35 = $34 < $5; + $36 = $34 - $4; + $37 = $16 * $36; + $38 = $19 + $37; + $$0357 = $35 ? $34 : $5; + $$0352 = $35 ? $38 : $24; + $39 = $$0351 >= 0.0; + $40 = $$0352 >= 0.0; + $or$cond = $39 & $40; + if ($or$cond) { + $41 = $$0351 < $10; + $42 = $$0352 < $10; + $or$cond362 = $41 & $42; + if ($or$cond362) { + $43 = (~~(($$0351))); + $44 = (~~(($$0352))); + $45 = ($43|0)==($44|0); + if ($45) { + $46 = $$0357 - $$0354; + $47 = ($43|0)>(-1); + $48 = ($43|0)<($2|0); + $or$cond363 = $47 & $48; + if (!($or$cond363)) { + label = 17; + break L4; + } + $49 = ((($$0374)) + 16|0); + $50 = +HEAPF32[$49>>2]; + $51 = (+($43|0)); + $52 = $$0351 - $51; + $53 = $$0352 - $51; + $54 = $52 + $53; + $55 = $54 * 0.5; + $56 = 1.0 - $55; + $57 = $56 * $50; + $58 = $46 * $57; + $59 = (($0) + ($43<<2)|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + $58; + HEAPF32[$59>>2] = $61; + $62 = +HEAPF32[$49>>2]; + $63 = $46 * $62; + $64 = (($1) + ($43<<2)|0); + $65 = +HEAPF32[$64>>2]; + $66 = $65 + $63; + HEAPF32[$64>>2] = $66; + break; + } + $67 = $$0351 > $$0352; + if ($67) { + $68 = -$26; + $69 = $$0357 - $4; + $70 = $5 - $69; + $71 = $$0354 - $4; + $72 = $5 - $71; + $$0350 = $24;$$0360 = $68;$$1 = $$0352;$$1353 = $$0351;$$1355 = $70;$$1358 = $72; + } else { + $$0350 = $19;$$0360 = $26;$$1 = $$0351;$$1353 = $$0352;$$1355 = $$0354;$$1358 = $$0357; + } + $73 = (~~(($$1))); + $74 = (~~(($$1353))); + $75 = (($73) + 1)|0; + $76 = (+($75|0)); + $77 = $76 - $$0350; + $78 = $$0360 * $77; + $79 = $78 + $4; + $80 = ((($$0374)) + 16|0); + $81 = +HEAPF32[$80>>2]; + $82 = $79 - $$1355; + $83 = $81 * $82; + $84 = (+($73|0)); + $85 = $$1 - $84; + $86 = $85 + 1.0; + $87 = $86 * 0.5; + $88 = 1.0 - $87; + $89 = $88 * $83; + $90 = (($0) + ($73<<2)|0); + $91 = +HEAPF32[$90>>2]; + $92 = $91 + $89; + HEAPF32[$90>>2] = $92; + $93 = $$0360 * $81; + $94 = ($74|0)>($75|0); + if ($94) { + $95 = $93 * 0.5; + $$0359372 = $83;$$0361371 = $75; + while(1) { + $96 = $95 + $$0359372; + $97 = (($0) + ($$0361371<<2)|0); + $98 = +HEAPF32[$97>>2]; + $99 = $96 + $98; + HEAPF32[$97>>2] = $99; + $100 = $93 + $$0359372; + $101 = (($$0361371) + 1)|0; + $exitcond380 = ($101|0)==($74|0); + if ($exitcond380) { + $$0359$lcssa = $100; + break; + } else { + $$0359372 = $100;$$0361371 = $101; + } + } + } else { + $$0359$lcssa = $83; + } + $fabsf = (+Math_abs((+$$0359$lcssa))); + $102 = !($fabsf <= 1.0099999904632568); + if ($102) { + label = 25; + break L4; + } + $103 = (($74) - ($75))|0; + $104 = (+($103|0)); + $105 = $$0360 * $104; + $106 = $105 + $79; + $107 = (+($74|0)); + $108 = $$1353 - $107; + $109 = $108 + 0.0; + $110 = $109 * 0.5; + $111 = 1.0 - $110; + $112 = $81 * $111; + $113 = $$1358 - $106; + $114 = $112 * $113; + $115 = $114 + $$0359$lcssa; + $116 = (($0) + ($74<<2)|0); + $117 = +HEAPF32[$116>>2]; + $118 = $115 + $117; + HEAPF32[$116>>2] = $118; + $119 = $$1358 - $$1355; + $120 = $119 * $81; + $121 = (($1) + ($74<<2)|0); + $122 = +HEAPF32[$121>>2]; + $123 = $120 + $122; + HEAPF32[$121>>2] = $123; + break; + } + } + if ($11) { + $$0356370 = 0; + while(1) { + $124 = (+($$0356370|0)); + $125 = (($$0356370) + 1)|0; + $126 = (+($125|0)); + $127 = $124 - $19; + $128 = $127 / $16; + $129 = $128 + $4; + $130 = $126 - $19; + $131 = $130 / $16; + $132 = $131 + $4; + $133 = $19 < $124; + $134 = $24 > $126; + $or$cond364 = $133 & $134; + do { + if ($or$cond364) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + } else { + $135 = $24 < $124; + $136 = $19 > $126; + $or$cond365 = $135 & $136; + if ($or$cond365) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $137 = $24 > $124; + $or$cond366 = $133 & $137; + if ($or$cond366) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $138 = $19 > $124; + $or$cond367 = $135 & $138; + if ($or$cond367) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); + break; + } + $139 = $19 < $126; + $or$cond368 = $139 & $134; + if ($or$cond368) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } + $140 = $24 < $126; + $or$cond369 = $140 & $136; + if ($or$cond369) { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); + break; + } else { + _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$24,$5); + break; + } + } + } while(0); + $exitcond = ($125|0)==($2|0); + if ($exitcond) { + break; + } else { + $$0356370 = $125; + } + } + } + } + } while(0); + $141 = HEAP32[$$0374>>2]|0; + $142 = ($141|0)==(0|0); + if ($142) { + label = 42; + break; + } else { + $$0374 = $141; + } + } + if ((label|0) == 4) { + ___assert_fail((13331|0),(13212|0),2586,(13346|0)); + // unreachable; + } + else if ((label|0) == 11) { + ___assert_fail((13375|0),(13212|0),2605,(13346|0)); + // unreachable; + } + else if ((label|0) == 17) { + ___assert_fail((13411|0),(13212|0),2633,(13346|0)); + // unreachable; + } + else if ((label|0) == 25) { + ___assert_fail((13429|0),(13212|0),2670,(13346|0)); + // unreachable; + } + else if ((label|0) == 42) { + return; + } +} +function _stbtt__hheap_cleanup($0) { + $0 = $0|0; + var $$in12 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + return; + } else { + $$in12 = $1; + } + while(1) { + $3 = HEAP32[$$in12>>2]|0; + _free($$in12); + $4 = ($3|0)==(0|0); + if ($4) { + break; + } else { + $$in12 = $3; + } + } + return; +} +function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$0 = 0.0, $$077 = 0.0, $$078 = 0.0, $$079 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; + var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; + var $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; + var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond82 = 0, $or$cond83 = 0, $or$cond84 = 0, $or$cond85 = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = $4 == $6; + if ($7) { + return; + } + $8 = $4 < $6; + if (!($8)) { + ___assert_fail((13449|0),(13212|0),2544,(13457|0)); + // unreachable; + } + $9 = ((($2)) + 20|0); + $10 = +HEAPF32[$9>>2]; + $11 = ((($2)) + 24|0); + $12 = +HEAPF32[$11>>2]; + $13 = !($10 <= $12); + if ($13) { + ___assert_fail((13484|0),(13212|0),2545,(13457|0)); + // unreachable; + } + $14 = $12 < $4; + $15 = $10 > $6; + $or$cond = $15 | $14; + if ($or$cond) { + return; + } + $16 = $10 > $4; + if ($16) { + $17 = $5 - $3; + $18 = $10 - $4; + $19 = $17 * $18; + $20 = $6 - $4; + $21 = $19 / $20; + $22 = $21 + $3; + $$078 = $10;$$079 = $22; + } else { + $$078 = $4;$$079 = $3; + } + $23 = +HEAPF32[$11>>2]; + $24 = $23 < $6; + if ($24) { + $25 = $5 - $$079; + $26 = $23 - $6; + $27 = $25 * $26; + $28 = $6 - $$078; + $29 = $27 / $28; + $30 = $29 + $5; + $$0 = $23;$$077 = $30; + } else { + $$0 = $6;$$077 = $5; + } + $31 = (+($1|0)); + $32 = $$079 == $31; + $33 = (($1) + 1)|0; + $34 = (+($33|0)); + do { + if ($32) { + $35 = !($$077 <= $34); + if ($35) { + ___assert_fail((13499|0),(13212|0),2558,(13457|0)); + // unreachable; + } + } else { + $36 = $$079 == $34; + if ($36) { + $37 = !($$077 >= $31); + if (!($37)) { + break; + } + ___assert_fail((13509|0),(13212|0),2560,(13457|0)); + // unreachable; + } + $38 = !($$079 <= $31); + if (!($38)) { + $39 = !($$077 <= $31); + if (!($39)) { + break; + } + ___assert_fail((13517|0),(13212|0),2562,(13457|0)); + // unreachable; + } + $40 = !($$079 >= $34); + if ($40) { + $42 = !($$077 >= $31); + $43 = !($$077 <= $34); + $or$cond80 = $42 | $43; + if (!($or$cond80)) { + break; + } + ___assert_fail((13535|0),(13212|0),2566,(13457|0)); + // unreachable; + } else { + $41 = !($$077 >= $34); + if (!($41)) { + break; + } + ___assert_fail((13525|0),(13212|0),2564,(13457|0)); + // unreachable; + } + } + } while(0); + $44 = !($$079 <= $31); + $45 = !($$077 <= $31); + $or$cond81 = $44 | $45; + if (!($or$cond81)) { + $46 = ((($2)) + 16|0); + $47 = +HEAPF32[$46>>2]; + $48 = $$0 - $$078; + $49 = $48 * $47; + $50 = (($0) + ($1<<2)|0); + $51 = +HEAPF32[$50>>2]; + $52 = $51 + $49; + HEAPF32[$50>>2] = $52; + return; + } + $53 = !($$079 >= $34); + $54 = !($$077 >= $34); + $or$cond82 = $53 | $54; + if (!($or$cond82)) { + return; + } + $55 = !($$079 >= $31); + $56 = !($$079 <= $34); + $or$cond83 = $55 | $56; + $57 = !($$077 >= $31); + $or$cond84 = $or$cond83 | $57; + $58 = !($$077 <= $34); + $or$cond85 = $58 | $or$cond84; + if ($or$cond85) { + ___assert_fail((13556|0),(13212|0),2573,(13457|0)); + // unreachable; + } + $59 = ((($2)) + 16|0); + $60 = +HEAPF32[$59>>2]; + $61 = $$0 - $$078; + $62 = $61 * $60; + $63 = $$079 - $31; + $64 = $$077 - $31; + $65 = $63 + $64; + $66 = $65 * 0.5; + $67 = 1.0 - $66; + $68 = $67 * $62; + $69 = (($0) + ($1<<2)|0); + $70 = +HEAPF32[$69>>2]; + $71 = $70 + $68; + HEAPF32[$69>>2] = $71; + return; +} +function _stbtt__hheap_alloc($0) { + $0 = $0|0; + var $$1 = 0, $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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if (!($3)) { + $4 = HEAP32[$2>>2]|0; + HEAP32[$1>>2] = $4; + $$1 = $2; + return ($$1|0); + } + $5 = ((($0)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)==(0); + do { + if ($7) { + $8 = (_malloc(56004)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $$1 = 0; + return ($$1|0); + } else { + $10 = HEAP32[$0>>2]|0; + HEAP32[$8>>2] = $10; + HEAP32[$0>>2] = $8; + HEAP32[$5>>2] = 2000; + break; + } + } + } while(0); + $11 = HEAP32[$5>>2]|0; + $12 = (($11) + -1)|0; + HEAP32[$5>>2] = $12; + $13 = HEAP32[$0>>2]|0; + $14 = ($12*28)|0; + $15 = (($13) + ($14)|0); + $$1 = $15; + return ($$1|0); +} +function _stbtt__sort_edges_quicksort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$079 = 0, $$081 = 0, $$08390 = 0, $$091 = 0, $$1 = 0, $$180 = 0, $$182 = 0, $$184 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0; + var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0.0, $tmp = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = ($1|0)>(12); + if (!($3)) { + STACKTOP = sp;return; + } + $$08390 = $1;$$091 = $0; + while(1) { + $4 = $$08390 >>> 1; + $5 = ((($$091)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = (($$091) + (($4*20)|0)|0); + $8 = (((($$091) + (($4*20)|0)|0)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $6 < $9; + $11 = (($$08390) + -1)|0; + $12 = (((($$091) + (($11*20)|0)|0)) + 4|0); + $13 = +HEAPF32[$12>>2]; + $14 = $9 < $13; + $15 = $10 ^ $14; + $16 = $6 < $13; + $tmp = $16 ^ $14; + $17 = $tmp ? $11 : 0; + $18 = (($$091) + (($17*20)|0)|0); + if ($15) { + ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$18+16>>2]|0; + ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$18+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + } + ;HEAP32[$2>>2]=HEAP32[$$091>>2]|0;HEAP32[$2+4>>2]=HEAP32[$$091+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$$091+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$$091+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$$091+16>>2]|0; + ;HEAP32[$$091>>2]=HEAP32[$7>>2]|0;HEAP32[$$091+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$091+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$091+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$091+16>>2]=HEAP32[$7+16>>2]|0; + ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; + $$079 = $11;$$081 = 1; + while(1) { + $19 = +HEAPF32[$5>>2]; + $$182 = $$081; + while(1) { + $20 = (((($$091) + (($$182*20)|0)|0)) + 4|0); + $21 = +HEAPF32[$20>>2]; + $22 = $21 < $19; + $23 = (($$182) + 1)|0; + if ($22) { + $$182 = $23; + } else { + $$180 = $$079; + break; + } + } + while(1) { + $24 = (((($$091) + (($$180*20)|0)|0)) + 4|0); + $25 = +HEAPF32[$24>>2]; + $26 = $19 < $25; + $27 = (($$180) + -1)|0; + if ($26) { + $$180 = $27; + } else { + break; + } + } + $28 = (($$091) + (($$182*20)|0)|0); + $29 = ($$182|0)<($$180|0); + if (!($29)) { + break; + } + $30 = (($$091) + (($$180*20)|0)|0); + ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0; + ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$30+16>>2]|0; + ;HEAP32[$30>>2]=HEAP32[$2>>2]|0;HEAP32[$30+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$2+16>>2]|0; + $31 = (($$182) + 1)|0; + $32 = (($$180) + -1)|0; + $$079 = $32;$$081 = $31; + } + $33 = (($$08390) - ($$182))|0; + $34 = ($$180|0)<($33|0); + if ($34) { + _stbtt__sort_edges_quicksort($$091,$$180); + $$1 = $28;$$184 = $33; + } else { + _stbtt__sort_edges_quicksort($28,$33); + $$1 = $$091;$$184 = $$180; + } + $35 = ($$184|0)>(12); + if ($35) { + $$08390 = $$184;$$091 = $$1; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _stbtt__sort_edges_ins_sort($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$03251 = 0, $$033 = 0, $$2$ph = 0, $$sroa$0$0$copyload48 = 0, $$sroa$4$0$$sroa_idx37 = 0, $$sroa$4$0$$sroa_idx38 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$sroa$5 = sp; + $2 = ($1|0)>(1); + if (!($2)) { + STACKTOP = sp;return; + } + $$03251 = 1; + while(1) { + $3 = (($0) + (($$03251*20)|0)|0); + $$sroa$0$0$copyload48 = HEAP32[$3>>2]|0; + $$sroa$4$0$$sroa_idx37 = (((($0) + (($$03251*20)|0)|0)) + 4|0); + $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx37>>2]; + $$sroa$5$0$$sroa_idx = (((($0) + (($$03251*20)|0)|0)) + 8|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0; + $$033 = $$03251; + while(1) { + $4 = (($$033) + -1)|0; + $5 = (((($0) + (($4*20)|0)|0)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = $$sroa$4$0$copyload < $6; + if (!($7)) { + $$2$ph = $$033; + break; + } + $8 = (($0) + (($4*20)|0)|0); + $9 = (($0) + (($$033*20)|0)|0); + ;HEAP32[$9>>2]=HEAP32[$8>>2]|0;HEAP32[$9+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$8+16>>2]|0; + $10 = ($$033|0)>(1); + if ($10) { + $$033 = $4; + } else { + $$2$ph = $4; + break; + } + } + $11 = ($$03251|0)==($$2$ph|0); + if (!($11)) { + $$sroa$5$0$$sroa_idx42 = (((($0) + (($$2$ph*20)|0)|0)) + 8|0); + $$sroa$4$0$$sroa_idx38 = (((($0) + (($$2$ph*20)|0)|0)) + 4|0); + $12 = (($0) + (($$2$ph*20)|0)|0); + HEAP32[$12>>2] = $$sroa$0$0$copyload48; + HEAPF32[$$sroa$4$0$$sroa_idx38>>2] = $$sroa$4$0$copyload; + ;HEAP32[$$sroa$5$0$$sroa_idx42>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+8>>2]=HEAP32[$$sroa$5+8>>2]|0; + } + $13 = (($$03251) + 1)|0; + $exitcond = ($13|0)==($1|0); + if ($exitcond) { + break; + } else { + $$03251 = $13; + } + } + STACKTOP = sp;return; +} +function _stbtt__add_point($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + if ($4) { + return; + } + $5 = (((($0) + ($1<<3)|0)) + 4|0); + $6 = (($0) + ($1<<3)|0); + HEAPF32[$6>>2] = $2; + HEAPF32[$5>>2] = $3; + return; +} +function _stbtt__tesselate_curve($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = $9|0; + var $$tr210 = 0.0, $$tr210$phi = 0.0, $$tr311 = 0.0, $$tr311$phi = 0.0, $$tr412 = 0.0, $$tr513 = 0.0, $$tr914 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0; + var $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0; + var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, label = 0, sp = 0; + sp = STACKTOP; + $10 = $4 * 2.0; + $11 = $10 + $2; + $12 = $11 + $6; + $13 = $12 * 0.25; + $14 = $5 * 2.0; + $15 = $14 + $3; + $16 = $15 + $7; + $17 = $16 * 0.25; + $18 = ($9|0)>(16); + if ($18) { + return; + } + $19 = $7 + $3; + $20 = $19 * 0.5; + $21 = $20 - $17; + $22 = $6 + $2; + $23 = $22 * 0.5; + $24 = $23 - $13; + $$tr210 = $2;$$tr311 = $3;$$tr412 = $4;$$tr513 = $5;$$tr914 = $9;$26 = $24;$28 = $21;$36 = $13;$37 = $17; + while(1) { + $25 = $26 * $26; + $27 = $28 * $28; + $29 = $25 + $27; + $30 = $29 > $8; + if (!($30)) { + break; + } + $31 = $$tr210 + $$tr412; + $32 = $31 * 0.5; + $33 = $$tr311 + $$tr513; + $34 = $33 * 0.5; + $35 = (($$tr914) + 1)|0; + _stbtt__tesselate_curve($0,$1,$$tr210,$$tr311,$32,$34,$36,$37,$8,$35); + $38 = $$tr412 + $6; + $39 = $38 * 0.5; + $40 = $$tr513 + $7; + $41 = $40 * 0.5; + $42 = $39 * 2.0; + $43 = $36 + $42; + $44 = $43 + $6; + $45 = $44 * 0.25; + $46 = $41 * 2.0; + $47 = $37 + $46; + $48 = $47 + $7; + $49 = $48 * 0.25; + $50 = $36 + $6; + $51 = $50 * 0.5; + $52 = $51 - $45; + $53 = $37 + $7; + $54 = $53 * 0.5; + $55 = $54 - $49; + $56 = ($$tr914|0)>(15); + if ($56) { + label = 6; + break; + } else { + $$tr311$phi = $37;$$tr210$phi = $36;$$tr412 = $39;$$tr513 = $41;$$tr914 = $35;$26 = $52;$28 = $55;$36 = $45;$37 = $49;$$tr311 = $$tr311$phi;$$tr210 = $$tr210$phi; + } + } + if ((label|0) == 6) { + return; + } + $57 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$57,$6,$7); + $58 = HEAP32[$1>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[$1>>2] = $59; + return; +} +function _stbtt__tesselate_cubic($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = $11|0; + var $$tr138 = 0.0, $$tr139 = 0.0, $$tr140 = 0.0, $$tr141 = 0.0, $$tr142 = 0.0, $$tr143 = 0.0, $$tr147 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; + var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; + var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; + var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $sqrtf = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $$tr138 = $2;$$tr139 = $3;$$tr140 = $4;$$tr141 = $5;$$tr142 = $6;$$tr143 = $7;$$tr147 = $11; + while(1) { + $12 = $$tr140 - $$tr138; + $13 = $$tr141 - $$tr139; + $14 = $$tr142 - $$tr140; + $15 = $$tr143 - $$tr141; + $16 = $8 - $$tr142; + $17 = $9 - $$tr143; + $18 = $8 - $$tr138; + $19 = $9 - $$tr139; + $20 = $12 * $12; + $21 = $13 * $13; + $22 = $20 + $21; + $23 = $22; + $24 = (+Math_sqrt((+$23))); + $25 = $14 * $14; + $26 = $15 * $15; + $27 = $25 + $26; + $28 = $27; + $29 = (+Math_sqrt((+$28))); + $30 = $24 + $29; + $31 = $16 * $16; + $32 = $17 * $17; + $33 = $31 + $32; + $34 = $33; + $35 = (+Math_sqrt((+$34))); + $36 = $30 + $35; + $37 = $36; + $38 = $18 * $18; + $39 = $19 * $19; + $40 = $38 + $39; + $sqrtf = (+Math_sqrt((+$40))); + $41 = ($$tr147|0)>(16); + if ($41) { + label = 6; + break; + } + $42 = $37 * $37; + $43 = $sqrtf * $sqrtf; + $44 = $42 - $43; + $45 = $44 > $10; + if (!($45)) { + break; + } + $46 = $$tr138 + $$tr140; + $47 = $46 * 0.5; + $48 = $$tr139 + $$tr141; + $49 = $48 * 0.5; + $50 = $$tr140 + $$tr142; + $51 = $50 * 0.5; + $52 = $$tr141 + $$tr143; + $53 = $52 * 0.5; + $54 = $$tr142 + $8; + $55 = $54 * 0.5; + $56 = $$tr143 + $9; + $57 = $56 * 0.5; + $58 = $47 + $51; + $59 = $58 * 0.5; + $60 = $49 + $53; + $61 = $60 * 0.5; + $62 = $51 + $55; + $63 = $62 * 0.5; + $64 = $53 + $57; + $65 = $64 * 0.5; + $66 = $59 + $63; + $67 = $66 * 0.5; + $68 = $61 + $65; + $69 = $68 * 0.5; + $70 = (($$tr147) + 1)|0; + _stbtt__tesselate_cubic($0,$1,$$tr138,$$tr139,$47,$49,$59,$61,$67,$69,$10,$70); + $$tr138 = $67;$$tr139 = $69;$$tr140 = $63;$$tr141 = $65;$$tr142 = $55;$$tr143 = $57;$$tr147 = $70; + } + if ((label|0) == 6) { + return; + } + $71 = HEAP32[$1>>2]|0; + _stbtt__add_point($0,$71,$8,$9); + $72 = HEAP32[$1>>2]|0; + $73 = (($72) + 1)|0; + HEAP32[$1>>2] = $73; + return; +} +function _stbtt_GetGlyphBox($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$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, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 56|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if (!($8)) { + _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5); + $$1 = 1; + return ($$1|0); + } + $9 = (_stbtt__GetGlyfOffset($0,$1)|0); + $10 = ($9|0)<(0); + if ($10) { + $$1 = 0; + return ($$1|0); + } + $11 = ($2|0)==(0|0); + if (!($11)) { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) + ($9)|0); + $15 = ((($14)) + 2|0); + $16 = (_ttSHORT($15)|0); + $17 = $16 << 16 >> 16; + HEAP32[$2>>2] = $17; + } + $18 = ($3|0)==(0|0); + if (!($18)) { + $19 = ((($0)) + 4|0); + $20 = HEAP32[$19>>2]|0; + $21 = (($20) + ($9)|0); + $22 = ((($21)) + 4|0); + $23 = (_ttSHORT($22)|0); + $24 = $23 << 16 >> 16; + HEAP32[$3>>2] = $24; + } + $25 = ($4|0)==(0|0); + if (!($25)) { + $26 = ((($0)) + 4|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) + ($9)|0); + $29 = ((($28)) + 6|0); + $30 = (_ttSHORT($29)|0); + $31 = $30 << 16 >> 16; + HEAP32[$4>>2] = $31; + } + $32 = ($5|0)==(0|0); + if ($32) { + $$1 = 1; + return ($$1|0); + } + $33 = ((($0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($34) + ($9)|0); + $36 = ((($35)) + 8|0); + $37 = (_ttSHORT($36)|0); + $38 = $37 << 16 >> 16; + HEAP32[$5>>2] = $38; + $$1 = 1; + return ($$1|0); +} +function _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $6 = sp; + $7 = ((($6)) + 4|0); + dest=$7; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = 1; + $8 = (_stbtt__run_charstring($0,$1,$6)|0); + $9 = ($2|0)==(0|0); + $10 = ($8|0)!=(0); + if ($9) { + STACKTOP = sp;return; + } + $11 = ((($6)) + 24|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10 ? $12 : 0; + HEAP32[$2>>2] = $13; + $14 = ((($6)) + 32|0); + $15 = HEAP32[$14>>2]|0; + $16 = $10 ? $15 : 0; + HEAP32[$3>>2] = $16; + $17 = ((($6)) + 28|0); + $18 = HEAP32[$17>>2]|0; + $19 = $10 ? $18 : 0; + HEAP32[$4>>2] = $19; + $20 = ((($6)) + 36|0); + $21 = HEAP32[$20>>2]|0; + $22 = $10 ? $21 : 0; + HEAP32[$5>>2] = $22; + STACKTOP = sp;return; +} +function _stbtt__GetGlyfOffset($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$023 = 0, $$024 = 0, $$pn = 0, $$sink = 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; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 56|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==(0); + if (!($4)) { + ___assert_fail((13635|0),(13212|0),1440,(13651|0)); + // unreachable; + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)>($1|0); + if (!($7)) { + $$024 = -1; + return ($$024|0); + } + $8 = ((($0)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)>(1); + if ($10) { + $$024 = -1; + return ($$024|0); + } + $11 = ($9|0)==(0); + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = ((($0)) + 4|0); + $15 = HEAP32[$14>>2]|0; + $16 = ((($0)) + 16|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + ($17)|0); + if ($11) { + $19 = $1 << 1; + $20 = (($18) + ($19)|0); + $21 = (_ttUSHORT($20)|0); + $22 = $21&65535; + $23 = $22 << 1; + $24 = ((($20)) + 2|0); + $25 = (_ttUSHORT($24)|0); + $26 = $25&65535; + $27 = $26 << 1; + $$pn = $23;$$sink = $27; + } else { + $28 = $1 << 2; + $29 = (($18) + ($28)|0); + $30 = (_ttULONG($29)|0); + $31 = ((($29)) + 4|0); + $32 = (_ttULONG($31)|0); + $$pn = $30;$$sink = $32; + } + $33 = (($$sink) + ($13))|0; + $$023 = (($$pn) + ($13))|0; + $34 = ($$023|0)==($33|0); + $35 = $34 ? -1 : $$023; + $$024 = $35; + return ($$024|0); +} +function _ttSHORT($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 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttUSHORT($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 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 8; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $3 | $6; + $8 = $7&65535; + return ($8|0); +} +function _ttULONG($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = $1&255; + $3 = $2 << 24; + $4 = ((($0)) + 1|0); + $5 = HEAP8[$4>>0]|0; + $6 = $5&255; + $7 = $6 << 16; + $8 = $7 | $3; + $9 = ((($0)) + 2|0); + $10 = HEAP8[$9>>0]|0; + $11 = $10&255; + $12 = $11 << 8; + $13 = $8 | $12; + $14 = ((($0)) + 3|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $13 | $16; + return ($17|0); +} +function _stbtt__run_charstring($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0274$be = 0, $$0274335 = 0, $$0276$be = 0, $$0276334 = 0, $$0279 = 0.0, $$0280 = 0.0, $$0282318 = 0.0, $$0285$be = 0, $$0285333 = 0, $$0288$be = 0, $$0288332 = 0, $$0290329 = 0, $$0294$be = 0, $$0294331 = 0, $$1277 = 0, $$1283 = 0.0, $$1286 = 0, $$1291 = 0, $$2292 = 0; + var $$3 = 0, $$3293 = 0, $$363 = 0.0, $$4 = 0, $$5327 = 0, $$6$lcssa = 0, $$6322 = 0, $$7$lcssa = 0, $$7319 = 0, $$8317 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$lcssa316 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0; + var $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; + var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0; + var $142 = 0.0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0; + var $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; + var $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; + var $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0; + var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; + var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.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, $250 = 0; + var $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0, $269 = 0.0; + var $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0; + var $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0.0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0; + var $305 = 0.0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0; + var $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.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0; + var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; + var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, $fabsf = 0.0, $fabsf296 = 0.0, $not$ = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0); + $$byval_copy1 = sp + 352|0; + $3 = sp + 160|0; + $4 = sp + 40|0; + $5 = sp + 24|0; + $6 = sp; + $7 = sp + 12|0; + $8 = ((($0)) + 84|0); + ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$8+8>>2]|0; + $9 = ((($0)) + 60|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$9+8>>2]|0; + _stbtt__cff_index_get($6,$$byval_copy1,$1); + $10 = ((($6)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($6)) + 8|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)<($13|0); + if (!($14)) { + $$3 = 0; + STACKTOP = sp;return ($$3|0); + } + $15 = ((($0)) + 116|0); + $16 = ((($0)) + 72|0); + $17 = ((($3)) + 4|0); + $18 = ((($3)) + 8|0); + $19 = ((($3)) + 12|0); + $20 = ((($3)) + 16|0); + $21 = ((($3)) + 20|0); + $22 = ((($3)) + 24|0); + $23 = ((($3)) + 4|0); + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 12|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 32|0); + $31 = ((($3)) + 36|0); + $32 = ((($3)) + 40|0); + $33 = ((($3)) + 44|0); + $34 = ((($3)) + 4|0); + $35 = ((($3)) + 8|0); + $36 = ((($3)) + 12|0); + $37 = ((($3)) + 16|0); + $38 = ((($3)) + 20|0); + $39 = ((($3)) + 24|0); + $40 = ((($3)) + 28|0); + $41 = ((($3)) + 32|0); + $42 = ((($3)) + 4|0); + $43 = ((($3)) + 8|0); + $44 = ((($3)) + 12|0); + $45 = ((($3)) + 16|0); + $46 = ((($3)) + 20|0); + $47 = ((($3)) + 24|0); + $48 = ((($3)) + 28|0); + $49 = ((($3)) + 32|0); + $50 = ((($3)) + 36|0); + $51 = ((($3)) + 40|0); + $$0274335 = 1;$$0276334 = 0;$$0285333 = 0;$$0288332 = 0;$$0294331 = 0; + L4: while(1) { + $52 = (_stbtt__buf_get8($6)|0); + L6: do { + switch ($52<<24>>24) { + case 14: { + label = 63; + break L4; + break; + } + case 20: case 19: { + $53 = ($$0274335|0)==(0); + if ($53) { + $$1277 = $$0276334; + } else { + $54 = (($$0294331|0) / 2)&-1; + $55 = (($$0276334) + ($54))|0; + $$1277 = $55; + } + $56 = (($$1277) + 7)|0; + $57 = (($56|0) / 8)&-1; + _stbtt__buf_skip($6,$57); + $$0274$be = 0;$$0276$be = $$1277;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 23: case 18: case 3: case 1: { + $58 = (($$0294331|0) / 2)&-1; + $59 = (($$0276334) + ($58))|0; + $$0274$be = $$0274335;$$0276$be = $59;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 21: { + $60 = ($$0294331|0)<(2); + if ($60) { + $$3 = 0; + label = 80; + break L4; + } + $61 = (($$0294331) + -2)|0; + $62 = (($3) + ($61<<2)|0); + $63 = +HEAPF32[$62>>2]; + $64 = (($$0294331) + -1)|0; + $65 = (($3) + ($64<<2)|0); + $66 = +HEAPF32[$65>>2]; + _stbtt__csctx_rmove_to($2,$63,$66); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 4: { + $67 = ($$0294331|0)<(1); + if ($67) { + $$3 = 0; + label = 80; + break L4; + } + $68 = (($$0294331) + -1)|0; + $69 = (($3) + ($68<<2)|0); + $70 = +HEAPF32[$69>>2]; + _stbtt__csctx_rmove_to($2,0.0,$70); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 22: { + $71 = ($$0294331|0)<(1); + if ($71) { + $$3 = 0; + label = 80; + break L4; + } + $72 = (($$0294331) + -1)|0; + $73 = (($3) + ($72<<2)|0); + $74 = +HEAPF32[$73>>2]; + _stbtt__csctx_rmove_to($2,$74,0.0); + $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 5: { + $75 = ($$0294331|0)<(2); + if ($75) { + $$3 = 0; + label = 80; + break L4; + } else { + $$0290329 = 0;$79 = 1; + } + while(1) { + $76 = (($3) + ($$0290329<<2)|0); + $77 = +HEAPF32[$76>>2]; + $78 = (($3) + ($79<<2)|0); + $80 = +HEAPF32[$78>>2]; + _stbtt__csctx_rline_to($2,$77,$80); + $81 = (($$0290329) + 2)|0; + $82 = $81 | 1; + $83 = ($82|0)<($$0294331|0); + if ($83) { + $$0290329 = $81;$79 = $82; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 7: { + $84 = ($$0294331|0)<(1); + if ($84) { + $$3 = 0; + label = 80; + break L4; + } else { + $$2292 = 0; + label = 20; + } + break; + } + case 6: { + $85 = ($$0294331|0)<(1); + if ($85) { + $$3 = 0; + label = 80; + break L4; + } else { + $$1291 = 0; + label = 18; + } + break; + } + case 31: { + $94 = ($$0294331|0)<(4); + if ($94) { + $$3 = 0; + label = 80; + break L4; + } else { + $$4 = 0; + label = 28; + } + break; + } + case 30: { + $95 = ($$0294331|0)<(4); + if ($95) { + $$3 = 0; + label = 80; + break L4; + } else { + $$3293 = 0; + label = 24; + } + break; + } + case 8: { + $134 = ($$0294331|0)<(6); + if ($134) { + $$3 = 0; + label = 80; + break L4; + } else { + $$5327 = 0;$150 = 5; + } + while(1) { + $135 = (($3) + ($$5327<<2)|0); + $136 = +HEAPF32[$135>>2]; + $137 = $$5327 | 1; + $138 = (($3) + ($137<<2)|0); + $139 = +HEAPF32[$138>>2]; + $140 = (($$5327) + 2)|0; + $141 = (($3) + ($140<<2)|0); + $142 = +HEAPF32[$141>>2]; + $143 = (($$5327) + 3)|0; + $144 = (($3) + ($143<<2)|0); + $145 = +HEAPF32[$144>>2]; + $146 = (($$5327) + 4)|0; + $147 = (($3) + ($146<<2)|0); + $148 = +HEAPF32[$147>>2]; + $149 = (($3) + ($150<<2)|0); + $151 = +HEAPF32[$149>>2]; + _stbtt__csctx_rccurve_to($2,$136,$139,$142,$145,$148,$151); + $152 = (($$5327) + 6)|0; + $153 = (($$5327) + 11)|0; + $154 = ($153|0)<($$0294331|0); + if ($154) { + $$5327 = $152;$150 = $153; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + break; + } + case 24: { + $155 = ($$0294331|0)<(8); + if ($155) { + $$3 = 0; + label = 80; + break L4; + } + $156 = (($$0294331) + -2)|0; + $157 = ($156|0)>(5); + if ($157) { + $$6322 = 0;$161 = 1;$173 = 5; + while(1) { + $158 = (($3) + ($$6322<<2)|0); + $159 = +HEAPF32[$158>>2]; + $160 = (($3) + ($161<<2)|0); + $162 = +HEAPF32[$160>>2]; + $163 = (($$6322) + 2)|0; + $164 = (($3) + ($163<<2)|0); + $165 = +HEAPF32[$164>>2]; + $166 = (($$6322) + 3)|0; + $167 = (($3) + ($166<<2)|0); + $168 = +HEAPF32[$167>>2]; + $169 = (($$6322) + 4)|0; + $170 = (($3) + ($169<<2)|0); + $171 = +HEAPF32[$170>>2]; + $172 = (($3) + ($173<<2)|0); + $174 = +HEAPF32[$172>>2]; + _stbtt__csctx_rccurve_to($2,$159,$162,$165,$168,$171,$174); + $175 = (($$6322) + 6)|0; + $176 = (($$6322) + 11)|0; + $177 = ($176|0)<($156|0); + $178 = $175 | 1; + if ($177) { + $$6322 = $175;$161 = $178;$173 = $176; + } else { + $$6$lcssa = $175;$$lcssa316 = $178; + break; + } + } + } else { + $$6$lcssa = 0;$$lcssa316 = 1; + } + $179 = ($$lcssa316|0)<($$0294331|0); + if (!($179)) { + $$3 = 0; + label = 80; + break L4; + } + $180 = (($3) + ($$6$lcssa<<2)|0); + $181 = +HEAPF32[$180>>2]; + $182 = (($3) + ($$lcssa316<<2)|0); + $183 = +HEAPF32[$182>>2]; + _stbtt__csctx_rline_to($2,$181,$183); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 25: { + $184 = ($$0294331|0)<(8); + if ($184) { + $$3 = 0; + label = 80; + break L4; + } + $185 = (($$0294331) + -6)|0; + $186 = ($185|0)>(1); + if ($186) { + $$7319 = 0;$190 = 1; + while(1) { + $187 = (($3) + ($$7319<<2)|0); + $188 = +HEAPF32[$187>>2]; + $189 = (($3) + ($190<<2)|0); + $191 = +HEAPF32[$189>>2]; + _stbtt__csctx_rline_to($2,$188,$191); + $192 = (($$7319) + 2)|0; + $193 = $192 | 1; + $194 = ($193|0)<($185|0); + if ($194) { + $$7319 = $192;$190 = $193; + } else { + $$7$lcssa = $192;$$lcssa = $193; + break; + } + } + } else { + $$7$lcssa = 0;$$lcssa = 1; + } + $195 = (($$7$lcssa) + 5)|0; + $196 = ($195|0)<($$0294331|0); + if (!($196)) { + $$3 = 0; + label = 80; + break L4; + } + $197 = (($3) + ($$7$lcssa<<2)|0); + $198 = +HEAPF32[$197>>2]; + $199 = (($3) + ($$lcssa<<2)|0); + $200 = +HEAPF32[$199>>2]; + $201 = (($$7$lcssa) + 2)|0; + $202 = (($3) + ($201<<2)|0); + $203 = +HEAPF32[$202>>2]; + $204 = (($$7$lcssa) + 3)|0; + $205 = (($3) + ($204<<2)|0); + $206 = +HEAPF32[$205>>2]; + $207 = (($$7$lcssa) + 4)|0; + $208 = (($3) + ($207<<2)|0); + $209 = +HEAPF32[$208>>2]; + $210 = (($3) + ($195<<2)|0); + $211 = +HEAPF32[$210>>2]; + _stbtt__csctx_rccurve_to($2,$198,$200,$203,$206,$209,$211); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + case 27: case 26: { + $212 = ($$0294331|0)<(4); + if ($212) { + $$3 = 0; + label = 80; + break L4; + } + $213 = $$0294331 & 1; + $214 = ($213|0)==(0); + $215 = (($213) + 3)|0; + $216 = ($215|0)<($$0294331|0); + if ($216) { + $not$ = $214 ^ 1; + $$ = $not$&1; + $217 = +HEAPF32[$3>>2]; + $$363 = $214 ? 0.0 : $217; + $218 = ($52<<24>>24)==(27); + $$0282318 = $$363;$$8317 = $$;$228 = $215; + while(1) { + $219 = (($$8317) + 2)|0; + $220 = (($$8317) + 1)|0; + $221 = (($3) + ($219<<2)|0); + $222 = +HEAPF32[$221>>2]; + $223 = (($3) + ($$8317<<2)|0); + $224 = +HEAPF32[$223>>2]; + $225 = (($3) + ($220<<2)|0); + $226 = +HEAPF32[$225>>2]; + $227 = (($3) + ($228<<2)|0); + $229 = +HEAPF32[$227>>2]; + if ($218) { + _stbtt__csctx_rccurve_to($2,$224,$$0282318,$226,$222,$229,0.0); + } else { + _stbtt__csctx_rccurve_to($2,$$0282318,$224,$226,$222,0.0,$229); + } + $230 = (($$8317) + 4)|0; + $231 = (($$8317) + 7)|0; + $232 = ($231|0)<($$0294331|0); + if ($232) { + $$0282318 = 0.0;$$8317 = $230;$228 = $231; + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break; + } + } + } else { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + } + break; + } + case 10: { + $233 = ($$0285333|0)==(0); + if ($233) { + $234 = HEAP32[$15>>2]|0; + $235 = ($234|0)==(0); + if ($235) { + $$1286 = 1; + label = 54; + } else { + _stbtt__cid_get_glyph_subrs($5,$0,$1); + $$1286 = 1; + label = 54; + } + } else { + $$1286 = $$0285333; + label = 54; + } + break; + } + case 29: { + $$1286 = $$0285333; + label = 54; + break; + } + case 11: { + $247 = ($$0288332|0)<(1); + if ($247) { + $$3 = 0; + label = 80; + break L4; + } + $248 = (($$0288332) + -1)|0; + $249 = (($4) + (($248*12)|0)|0); + ;HEAP32[$6>>2]=HEAP32[$249>>2]|0;HEAP32[$6+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$249+8>>2]|0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $248;$$0294$be = $$0294331; + label = 73; + break; + } + case 12: { + $250 = (_stbtt__buf_get8($6)|0); + switch ($250<<24>>24) { + case 34: { + $251 = ($$0294331|0)<(7); + if ($251) { + $$3 = 0; + label = 80; + break L4; + } + $252 = +HEAPF32[$3>>2]; + $253 = +HEAPF32[$17>>2]; + $254 = +HEAPF32[$18>>2]; + $255 = +HEAPF32[$19>>2]; + $256 = +HEAPF32[$20>>2]; + $257 = +HEAPF32[$21>>2]; + $258 = +HEAPF32[$22>>2]; + _stbtt__csctx_rccurve_to($2,$252,0.0,$253,$254,$255,0.0); + $259 = -$254; + _stbtt__csctx_rccurve_to($2,$256,0.0,$257,$259,$258,0.0); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 35: { + $260 = ($$0294331|0)<(13); + if ($260) { + $$3 = 0; + label = 80; + break L4; + } + $261 = +HEAPF32[$3>>2]; + $262 = +HEAPF32[$23>>2]; + $263 = +HEAPF32[$24>>2]; + $264 = +HEAPF32[$25>>2]; + $265 = +HEAPF32[$26>>2]; + $266 = +HEAPF32[$27>>2]; + $267 = +HEAPF32[$28>>2]; + $268 = +HEAPF32[$29>>2]; + $269 = +HEAPF32[$30>>2]; + $270 = +HEAPF32[$31>>2]; + $271 = +HEAPF32[$32>>2]; + $272 = +HEAPF32[$33>>2]; + _stbtt__csctx_rccurve_to($2,$261,$262,$263,$264,$265,$266); + _stbtt__csctx_rccurve_to($2,$267,$268,$269,$270,$271,$272); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 36: { + $273 = ($$0294331|0)<(9); + if ($273) { + $$3 = 0; + label = 80; + break L4; + } + $274 = +HEAPF32[$3>>2]; + $275 = +HEAPF32[$34>>2]; + $276 = +HEAPF32[$35>>2]; + $277 = +HEAPF32[$36>>2]; + $278 = +HEAPF32[$37>>2]; + $279 = +HEAPF32[$38>>2]; + $280 = +HEAPF32[$39>>2]; + $281 = +HEAPF32[$40>>2]; + $282 = +HEAPF32[$41>>2]; + _stbtt__csctx_rccurve_to($2,$274,$275,$276,$277,$278,0.0); + $283 = $275 + $277; + $284 = $283 + $281; + $285 = -$284; + _stbtt__csctx_rccurve_to($2,$279,0.0,$280,$281,$282,$285); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + case 37: { + $286 = ($$0294331|0)<(11); + if ($286) { + $$3 = 0; + label = 80; + break L4; + } + $287 = +HEAPF32[$3>>2]; + $288 = +HEAPF32[$42>>2]; + $289 = +HEAPF32[$43>>2]; + $290 = +HEAPF32[$44>>2]; + $291 = +HEAPF32[$45>>2]; + $292 = +HEAPF32[$46>>2]; + $293 = +HEAPF32[$47>>2]; + $294 = +HEAPF32[$48>>2]; + $295 = +HEAPF32[$49>>2]; + $296 = +HEAPF32[$50>>2]; + $297 = +HEAPF32[$51>>2]; + $298 = $287 + $289; + $299 = $298 + $291; + $300 = $299 + $293; + $301 = $300 + $295; + $302 = $288 + $290; + $303 = $302 + $292; + $304 = $303 + $294; + $305 = $304 + $296; + $fabsf = (+Math_abs((+$301))); + $fabsf296 = (+Math_abs((+$305))); + $306 = $fabsf > $fabsf296; + $307 = -$305; + $308 = -$301; + $$0280 = $306 ? $297 : $308; + $$0279 = $306 ? $307 : $297; + _stbtt__csctx_rccurve_to($2,$287,$288,$289,$290,$291,$292); + _stbtt__csctx_rccurve_to($2,$293,$294,$295,$296,$$0280,$$0279); + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + break L6; + break; + } + default: { + $$3 = 0; + label = 80; + break L4; + } + } + break; + } + case -1: { + label = 76; + break; + } + case 28: { + label = 77; + break; + } + default: { + $312 = ($52&255)<(32); + $313 = ($52<<24>>24)==(-1); + $or$cond3 = $312 | $313; + if ($or$cond3) { + $$3 = 0; + label = 80; + break L4; + } + if ($313) { + label = 76; + } else { + label = 77; + } + } + } + } while(0); + if ((label|0) == 54) { + label = 0; + $236 = ($$0294331|0)<(1); + if ($236) { + $$3 = 0; + label = 80; + break; + } + $237 = (($$0294331) + -1)|0; + $238 = (($3) + ($237<<2)|0); + $239 = +HEAPF32[$238>>2]; + $240 = (~~(($239))); + $241 = ($$0288332|0)>(9); + if ($241) { + $$3 = 0; + label = 80; + break; + } + $242 = (($$0288332) + 1)|0; + $243 = (($4) + (($$0288332*12)|0)|0); + ;HEAP32[$243>>2]=HEAP32[$6>>2]|0;HEAP32[$243+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$243+8>>2]=HEAP32[$6+8>>2]|0; + $244 = ($52<<24>>24)==(10); + if ($244) { + ;HEAP32[$7>>2]=HEAP32[$5>>2]|0;HEAP32[$7+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$5+8>>2]|0; + } else { + ;HEAP32[$7>>2]=HEAP32[$16>>2]|0;HEAP32[$7+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$16+8>>2]|0; + } + ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; + _stbtt__get_subr($6,$$byval_copy1,$240); + $245 = HEAP32[$12>>2]|0; + $246 = ($245|0)==(0); + if ($246) { + $$3 = 0; + label = 80; + break; + } + HEAP32[$10>>2] = 0; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$1286;$$0288$be = $242;$$0294$be = $237; + label = 73; + } + else if ((label|0) == 76) { + label = 0; + $314 = (_stbtt__buf_get($6,4)|0); + $315 = (+($314>>>0)); + $316 = $315 * 1.52587890625E-5; + $$1283 = $316; + label = 78; + } + else if ((label|0) == 77) { + label = 0; + _stbtt__buf_skip($6,-1); + $317 = (_stbtt__cff_int($6)|0); + $318 = $317&65535; + $319 = (+($318<<16>>16)); + $$1283 = $319; + label = 78; + } + if ((label|0) == 78) { + label = 0; + $320 = ($$0294331|0)>(47); + if ($320) { + $$3 = 0; + label = 80; + break; + } + $321 = (($$0294331) + 1)|0; + $322 = (($3) + ($$0294331<<2)|0); + HEAPF32[$322>>2] = $$1283; + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = $321; + label = 73; + } + while(1) { + if ((label|0) == 18) { + label = 0; + $86 = ($$1291|0)<($$0294331|0); + if (!($86)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $87 = (($3) + ($$1291<<2)|0); + $88 = +HEAPF32[$87>>2]; + _stbtt__csctx_rline_to($2,$88,0.0); + $89 = (($$1291) + 1)|0; + $$2292 = $89; + label = 20; + continue; + } + else if ((label|0) == 20) { + label = 0; + $90 = ($$2292|0)<($$0294331|0); + if (!($90)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $91 = (($3) + ($$2292<<2)|0); + $92 = +HEAPF32[$91>>2]; + _stbtt__csctx_rline_to($2,0.0,$92); + $93 = (($$2292) + 1)|0; + $$1291 = $93; + label = 18; + continue; + } + else if ((label|0) == 24) { + label = 0; + $96 = (($$3293) + 3)|0; + $97 = ($96|0)<($$0294331|0); + if (!($97)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $98 = (($3) + ($$3293<<2)|0); + $99 = +HEAPF32[$98>>2]; + $100 = (($$3293) + 1)|0; + $101 = (($3) + ($100<<2)|0); + $102 = +HEAPF32[$101>>2]; + $103 = (($$3293) + 2)|0; + $104 = (($3) + ($103<<2)|0); + $105 = +HEAPF32[$104>>2]; + $106 = (($3) + ($96<<2)|0); + $107 = +HEAPF32[$106>>2]; + $108 = (($$0294331) - ($$3293))|0; + $109 = ($108|0)==(5); + if ($109) { + $110 = (($$3293) + 4)|0; + $111 = (($3) + ($110<<2)|0); + $112 = +HEAPF32[$111>>2]; + $113 = $112; + } else { + $113 = 0.0; + } + _stbtt__csctx_rccurve_to($2,0.0,$99,$102,$105,$107,$113); + $114 = (($$3293) + 4)|0; + $$4 = $114; + label = 28; + continue; + } + else if ((label|0) == 28) { + label = 0; + $115 = (($$4) + 3)|0; + $116 = ($115|0)<($$0294331|0); + if (!($116)) { + $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; + label = 73; + continue; + } + $117 = (($3) + ($$4<<2)|0); + $118 = +HEAPF32[$117>>2]; + $119 = (($$4) + 1)|0; + $120 = (($3) + ($119<<2)|0); + $121 = +HEAPF32[$120>>2]; + $122 = (($$4) + 2)|0; + $123 = (($3) + ($122<<2)|0); + $124 = +HEAPF32[$123>>2]; + $125 = (($$0294331) - ($$4))|0; + $126 = ($125|0)==(5); + if ($126) { + $127 = (($$4) + 4)|0; + $128 = (($3) + ($127<<2)|0); + $129 = +HEAPF32[$128>>2]; + $132 = $129; + } else { + $132 = 0.0; + } + $130 = (($3) + ($115<<2)|0); + $131 = +HEAPF32[$130>>2]; + _stbtt__csctx_rccurve_to($2,$118,0.0,$121,$124,$132,$131); + $133 = (($$4) + 4)|0; + $$3293 = $133; + label = 24; + continue; + } + else if ((label|0) == 73) { + label = 0; + $309 = HEAP32[$10>>2]|0; + $310 = HEAP32[$12>>2]|0; + $311 = ($309|0)<($310|0); + if ($311) { + $$0274335 = $$0274$be;$$0276334 = $$0276$be;$$0285333 = $$0285$be;$$0288332 = $$0288$be;$$0294331 = $$0294$be; + continue L4; + } else { + $$3 = 0; + label = 80; + break L4; + } + } + } + } + if ((label|0) == 63) { + _stbtt__csctx_close_shape($2); + $$3 = 1; + STACKTOP = sp;return ($$3|0); + } + else if ((label|0) == 80) { + STACKTOP = sp;return ($$3|0); + } + return (0)|0; +} +function _stbtt__cff_index_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$off = 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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = (_stbtt__buf_get($1,2)|0); + $4 = (_stbtt__buf_get8($1)|0); + $5 = $4&255; + $6 = ($2|0)>(-1); + $7 = ($3|0)>($2|0); + $or$cond = $6 & $7; + if (!($or$cond)) { + ___assert_fail((13877|0),(13212|0),1118,(13897|0)); + // unreachable; + } + $$off = (($4) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if ($8) { + $9 = Math_imul($5, $2)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$5)|0); + $11 = (_stbtt__buf_get($1,$5)|0); + $12 = (($3) + 1)|0; + $13 = Math_imul($5, $12)|0; + $14 = (($13) + 2)|0; + $15 = (($14) + ($10))|0; + $16 = (($11) - ($10))|0; + _stbtt__buf_range($0,$1,$15,$16); + return; + } else { + ___assert_fail((13794|0),(13212|0),1119,(13897|0)); + // unreachable; + } +} +function _stbtt__buf_get8($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; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = (($2) + 1)|0; + $7 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $6; + $8 = (($7) + ($2)|0); + $9 = HEAP8[$8>>0]|0; + $$0 = $9; + return ($$0|0); +} +function _stbtt__buf_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (($3) + ($1))|0; + _stbtt__buf_seek($0,$4); + return; +} +function _stbtt__csctx_rmove_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__csctx_close_shape($0); + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 8|0); + HEAPF32[$6>>2] = $5; + $7 = ((($0)) + 20|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $2; + HEAPF32[$7>>2] = $9; + $10 = ((($0)) + 12|0); + HEAPF32[$10>>2] = $9; + $11 = +HEAPF32[$3>>2]; + $12 = (~~(($11))); + $13 = (~~(($9))); + _stbtt__csctx_v($0,1,$12,$13,0,0,0,0); + return; +} +function _stbtt__csctx_rline_to($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 + $1; + HEAPF32[$3>>2] = $5; + $6 = ((($0)) + 20|0); + $7 = +HEAPF32[$6>>2]; + $8 = $7 + $2; + HEAPF32[$6>>2] = $8; + $9 = (~~(($5))); + $10 = (~~(($8))); + _stbtt__csctx_v($0,2,$9,$10,0,0,0,0); + return; +} +function _stbtt__csctx_rccurve_to($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ((($0)) + 16|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 + $1; + $10 = ((($0)) + 20|0); + $11 = +HEAPF32[$10>>2]; + $12 = $11 + $2; + $13 = $9 + $3; + $14 = $12 + $4; + $15 = $13 + $5; + HEAPF32[$7>>2] = $15; + $16 = $14 + $6; + HEAPF32[$10>>2] = $16; + $17 = (~~(($15))); + $18 = (~~(($16))); + $19 = (~~(($9))); + $20 = (~~(($12))); + $21 = (~~(($13))); + $22 = (~~(($14))); + _stbtt__csctx_v($0,4,$17,$18,$19,$20,$21,$22); + return; +} +function _stbtt__cid_get_glyph_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$02931 = 0, $$03034 = 0, $$035 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy2 = sp + 36|0; + $$byval_copy1 = sp + 24|0; + $3 = sp; + $4 = sp + 12|0; + $5 = ((($1)) + 108|0); + ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__buf_seek($3,0); + $6 = (_stbtt__buf_get8($3)|0); + L1: do { + switch ($6<<24>>24) { + case 0: { + _stbtt__buf_skip($3,$2); + $7 = (_stbtt__buf_get8($3)|0); + $8 = $7&255; + $$02931 = $8; + break; + } + case 3: { + $9 = (_stbtt__buf_get($3,2)|0); + $10 = (_stbtt__buf_get($3,2)|0); + $11 = ($9|0)>(0); + if ($11) { + $$03034 = $10;$$035 = 0; + while(1) { + $14 = (_stbtt__buf_get8($3)|0); + $15 = (_stbtt__buf_get($3,2)|0); + $16 = ($$03034|0)<=($2|0); + $17 = ($15|0)>($2|0); + $or$cond = $16 & $17; + $13 = (($$035) + 1)|0; + if ($or$cond) { + break; + } + $12 = ($13|0)<($9|0); + if ($12) { + $$03034 = $15;$$035 = $13; + } else { + label = 6; + break L1; + } + } + $18 = $14&255; + $$02931 = $18; + } else { + label = 6; + } + break; + } + default: { + label = 6; + } + } + } while(0); + if ((label|0) == 6) { + _stbtt__new_buf($$byval_copy2,0,0); + $$02931 = -1; + } + $19 = ((($1)) + 48|0); + $20 = ((($1)) + 96|0); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$20+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,$$02931); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$19+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($0,$$byval_copy1,$$byval_copy2); + STACKTOP = sp;return; +} +function _stbtt__get_subr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + $3 = (_stbtt__cff_index_count($1)|0); + $4 = ($3|0)>(33899); + $5 = ($3|0)>(1239); + $$ = $5 ? 1131 : 107; + $$0 = $4 ? 32768 : $$; + $6 = (($$0) + ($2))|0; + $7 = ($6|0)>(-1); + $8 = ($6|0)<($3|0); + $or$cond = $7 & $8; + if ($or$cond) { + ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; + _stbtt__cff_index_get($0,$$byval_copy,$6); + STACKTOP = sp;return; + } else { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } +} +function _stbtt__csctx_close_shape($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = +HEAPF32[$1>>2]; + $3 = ((($0)) + 16|0); + $4 = +HEAPF32[$3>>2]; + $5 = $2 != $4; + $6 = ((($0)) + 12|0); + $7 = +HEAPF32[$6>>2]; + if (!($5)) { + $8 = ((($0)) + 20|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 != $9; + if (!($10)) { + return; + } + } + $11 = (~~(($2))); + $12 = (~~(($7))); + _stbtt__csctx_v($0,2,$11,$12,0,0,0,0); + return; +} +function _stbtt__buf_get($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01011 = 0, $$012 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $$off = (($1) + -1)|0; + $2 = ($$off>>>0)<(4); + if ($2) { + $$01011 = 0;$$012 = 0; + } else { + ___assert_fail((13689|0),(13212|0),1014,(13706|0)); + // unreachable; + } + while(1) { + $3 = $$01011 << 8; + $4 = (_stbtt__buf_get8($0)|0); + $5 = $4&255; + $6 = $5 | $3; + $7 = (($$012) + 1)|0; + $exitcond = ($7|0)==($1|0); + if ($exitcond) { + break; + } else { + $$01011 = $6;$$012 = $7; + } + } + return ($6|0); +} +function _stbtt__cff_int($0) { + $0 = $0|0; + var $$0 = 0, $$off = 0, $$off19 = 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; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_get8($0)|0); + $2 = $1&255; + $$off = (($1) + -32)<<24>>24; + $3 = ($$off&255)<(215); + if ($3) { + $4 = (($2) + -139)|0; + $$0 = $4; + return ($$0|0); + } + $$off19 = (($1) + 9)<<24>>24; + $5 = ($$off19&255)<(4); + if ($5) { + $6 = $2 << 8; + $7 = (($6) + -63232)|0; + $8 = (_stbtt__buf_get8($0)|0); + $9 = $8&255; + $10 = $9 | $7; + $11 = (($10) + 108)|0; + $$0 = $11; + return ($$0|0); + } + $12 = ($1&255)>(250); + $13 = ($1<<24>>24)!=(-1); + $or$cond5 = $12 & $13; + if ($or$cond5) { + $14 = (251 - ($2))|0; + $15 = $14 << 8; + $16 = (_stbtt__buf_get8($0)|0); + $17 = $16&255; + $18 = (($15) + -108)|0; + $19 = (($18) - ($17))|0; + $$0 = $19; + return ($$0|0); + } + switch ($1<<24>>24) { + case 28: { + $20 = (_stbtt__buf_get($0,2)|0); + $$0 = $20; + return ($$0|0); + break; + } + case 29: { + $21 = (_stbtt__buf_get($0,4)|0); + $$0 = $21; + return ($$0|0); + break; + } + default: { + ___assert_fail((13672|0),(13212|0),1064,(13674|0)); + // unreachable; + } + } + return (0)|0; +} +function _stbtt__csctx_v($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $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, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $8 = HEAP32[$0>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + $11 = ((($0)) + 40|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 44|0); + $14 = HEAP32[$13>>2]|0; + $15 = (($12) + (($14*14)|0)|0); + _stbtt_setvertex($15,$1,$2,$3,$4,$5); + $16 = $6&65535; + $17 = HEAP32[$11>>2]|0; + $18 = HEAP32[$13>>2]|0; + $19 = (((($17) + (($18*14)|0)|0)) + 8|0); + HEAP16[$19>>1] = $16; + $20 = $7&65535; + $21 = HEAP32[$11>>2]|0; + $22 = HEAP32[$13>>2]|0; + $23 = (((($21) + (($22*14)|0)|0)) + 10|0); + HEAP16[$23>>1] = $20; + } else { + _stbtt__track_vertex($0,$2,$3); + $10 = ($1<<24>>24)==(4); + if ($10) { + _stbtt__track_vertex($0,$4,$5); + _stbtt__track_vertex($0,$6,$7); + } + } + $24 = ((($0)) + 44|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + 1)|0; + HEAP32[$24>>2] = $26; + return; +} +function _stbtt__track_vertex($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $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, $3 = 0, $4 = 0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<($1|0); + if ($5) { + label = 3; + } else { + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + label = 3; + } + } + if ((label|0) == 3) { + HEAP32[$3>>2] = $1; + } + $9 = ((($0)) + 36|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)<($2|0); + if ($11) { + label = 6; + } else { + $12 = ((($0)) + 4|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($13|0)==(0); + if ($14) { + label = 6; + } + } + if ((label|0) == 6) { + HEAP32[$9>>2] = $2; + } + $15 = ((($0)) + 24|0); + $16 = HEAP32[$15>>2]|0; + $17 = ($16|0)>($1|0); + if ($17) { + label = 9; + } else { + $18 = ((($0)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = ($19|0)==(0); + if ($20) { + label = 9; + } + } + if ((label|0) == 9) { + HEAP32[$15>>2] = $1; + } + $21 = ((($0)) + 32|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)>($2|0); + if (!($23)) { + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ($25|0)==(0); + if (!($26)) { + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; + } + } + HEAP32[$21>>2] = $2; + $27 = ((($0)) + 4|0); + HEAP32[$27>>2] = 1; + return; +} +function _stbtt_setvertex($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ((($0)) + 12|0); + HEAP8[$6>>0] = $1; + $7 = $2&65535; + HEAP16[$0>>1] = $7; + $8 = $3&65535; + $9 = ((($0)) + 2|0); + HEAP16[$9>>1] = $8; + $10 = $4&65535; + $11 = ((($0)) + 4|0); + HEAP16[$11>>1] = $10; + $12 = $5&65535; + $13 = ((($0)) + 6|0); + HEAP16[$13>>1] = $12; + return; +} +function _stbtt__cff_index_count($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($0,0); + $1 = (_stbtt__buf_get($0,2)|0); + return ($1|0); +} +function _stbtt__new_buf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2>>>0)<(1073741824); + if ($3) { + HEAP32[$0>>2] = $1; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 0; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; + return; + } else { + ___assert_fail((13721|0),(13212|0),1023,(13739|0)); + // unreachable; + } +} +function _stbtt__buf_seek($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + $5 = ($1|0)<(0); + $or$cond = $5 | $4; + if ($or$cond) { + ___assert_fail((13754|0),(13212|0),1001,(13778|0)); + // unreachable; + } else { + $6 = ((($0)) + 4|0); + HEAP32[$6>>2] = $1; + return; + } +} +function _stbtt__get_subrs($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $3 = sp + 20|0; + $4 = sp; + $5 = sp + 8|0; + HEAP32[$3>>2] = 0; + $6 = $4; + $7 = $6; + HEAP32[$7>>2] = 0; + $8 = (($6) + 4)|0; + $9 = $8; + HEAP32[$9>>2] = 0; + _stbtt__dict_get_ints($2,18,2,$4); + $10 = ((($4)) + 4|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)==(0); + if (!($14)) { + _stbtt__buf_range($5,$1,$11,$13); + _stbtt__dict_get_ints($5,19,1,$3); + $15 = HEAP32[$3>>2]|0; + $16 = ($15|0)==(0); + if ($16) { + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; + } else { + $17 = HEAP32[$10>>2]|0; + $18 = (($17) + ($15))|0; + _stbtt__buf_seek($1,$18); + _stbtt__cff_get_index($0,$1); + STACKTOP = sp;return; + } + } + } + _stbtt__new_buf($0,0,0); + STACKTOP = sp;return; +} +function _stbtt__dict_get_ints($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$07 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 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); + $4 = sp; + _stbtt__dict_get($4,$0,$1); + $5 = ((($4)) + 4|0); + $6 = ($2|0)>(0); + if (!($6)) { + STACKTOP = sp;return; + } + $7 = ((($4)) + 8|0); + $$07 = 0; + while(1) { + $8 = HEAP32[$5>>2]|0; + $9 = HEAP32[$7>>2]|0; + $10 = ($8|0)<($9|0); + if (!($10)) { + label = 5; + break; + } + $11 = (_stbtt__cff_int($4)|0); + $12 = (($3) + ($$07<<2)|0); + HEAP32[$12>>2] = $11; + $13 = (($$07) + 1)|0; + $14 = ($13|0)<($2|0); + if ($14) { + $$07 = $13; + } else { + label = 5; + break; + } + } + if ((label|0) == 5) { + STACKTOP = sp;return; + } +} +function _stbtt__buf_range($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + _stbtt__new_buf($4,0,0); + $5 = $3 | $2; + $6 = ($5|0)<(0); + if (!($6)) { + $7 = ((($1)) + 8|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)<($2|0); + $10 = (($8) - ($2))|0; + $11 = ($10|0)<($3|0); + $or$cond = $9 | $11; + if (!($or$cond)) { + $12 = HEAP32[$1>>2]|0; + $13 = (($12) + ($2)|0); + HEAP32[$4>>2] = $13; + $14 = ((($4)) + 8|0); + HEAP32[$14>>2] = $3; + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; + } + } + ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; + STACKTOP = sp;return; +} +function _stbtt__cff_get_index($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$off = 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 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbtt__buf_get($1,2)|0); + $5 = ($4|0)==(0); + if ($5) { + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; + } + $6 = (_stbtt__buf_get8($1)|0); + $7 = $6&255; + $$off = (($6) + -1)<<24>>24; + $8 = ($$off&255)<(4); + if (!($8)) { + ___assert_fail((13794|0),(13212|0),1049,(13823|0)); + // unreachable; + } + $9 = Math_imul($7, $4)|0; + _stbtt__buf_skip($1,$9); + $10 = (_stbtt__buf_get($1,$7)|0); + $11 = (($10) + -1)|0; + _stbtt__buf_skip($1,$11); + $12 = HEAP32[$2>>2]|0; + $13 = (($12) - ($3))|0; + _stbtt__buf_range($0,$1,$3,$13); + return; +} +function _stbtt__dict_get($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + _stbtt__buf_seek($1,0); + $3 = ((($1)) + 4|0); + $4 = ((($1)) + 8|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5|0)<($6|0); + if (!($7)) { + label = 9; + break; + } + $8 = (_stbtt__buf_peek8($1)|0); + $9 = ($8&255)>(27); + if ($9) { + while(1) { + _stbtt__cff_skip_operand($1); + $10 = (_stbtt__buf_peek8($1)|0); + $11 = ($10&255)>(27); + if (!($11)) { + break; + } + } + } + $12 = HEAP32[$3>>2]|0; + $13 = (_stbtt__buf_get8($1)|0); + $14 = $13&255; + $15 = ($13<<24>>24)==(12); + if ($15) { + $16 = (_stbtt__buf_get8($1)|0); + $17 = $16&255; + $18 = $17 | 256; + $$021 = $18; + } else { + $$021 = $14; + } + $19 = ($$021|0)==($2|0); + if ($19) { + label = 8; + break; + } + } + if ((label|0) == 8) { + $20 = (($12) - ($5))|0; + _stbtt__buf_range($0,$1,$5,$20); + return; + } + else if ((label|0) == 9) { + _stbtt__buf_range($0,$1,0,0); + return; + } +} +function _stbtt__buf_peek8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2|0)<($4|0); + if (!($5)) { + $$0 = 0; + return ($$0|0); + } + $6 = HEAP32[$0>>2]|0; + $7 = (($6) + ($2)|0); + $8 = HEAP8[$7>>0]|0; + $$0 = $8; + return ($$0|0); +} +function _stbtt__cff_skip_operand($0) { + $0 = $0|0; + var $$mask = 0, $1 = 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, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbtt__buf_peek8($0)|0); + $2 = ($1&255)>(27); + if (!($2)) { + ___assert_fail((13844|0),(13212|0),1070,(13853|0)); + // unreachable; + } + $3 = ($1<<24>>24)==(30); + if (!($3)) { + (_stbtt__cff_int($0)|0); + return; + } + _stbtt__buf_skip($0,1); + $4 = ((($0)) + 4|0); + $5 = ((($0)) + 8|0); + while(1) { + $6 = HEAP32[$4>>2]|0; + $7 = HEAP32[$5>>2]|0; + $8 = ($6|0)<($7|0); + if (!($8)) { + label = 8; + break; + } + $9 = (_stbtt__buf_get8($0)|0); + $10 = $9&255; + $11 = $10 & 15; + $12 = ($11|0)==(15); + $$mask = $10 & 240; + $13 = ($$mask|0)==(240); + $or$cond = $12 | $13; + if ($or$cond) { + label = 8; + break; + } + } + if ((label|0) == 8) { + return; + } +} +function _stbtt__GetGlyphShapeTT($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0348453 = 0, $$0353439 = 0, $$0361449 = 0, $$0363450 = 0, $$0364448 = 0, $$0366447 = 0, $$0372451 = 0, $$0377437 = 0, $$0379436 = 0, $$0381446 = 0, $$0387435 = 0, $$0390434 = 0, $$0393433 = 0, $$0396432 = 0, $$0399431 = 0, $$0401430 = 0, $$0403440 = 0, $$0405443 = 0, $$0407429 = 0, $$0409428 = 0; + var $$1349 = 0, $$1354 = 0, $$1362 = 0, $$1365 = 0, $$1367445 = 0, $$1378 = 0, $$1380 = 0, $$1382 = 0, $$1388 = 0, $$1391 = 0, $$1394 = 0, $$1397 = 0, $$1400 = 0, $$1402 = 0, $$1404 = 0, $$1406 = 0, $$1408 = 0, $$1410 = 0, $$2368442 = 0, $$2374 = 0; + var $$2383444 = 0, $$2389 = 0, $$2392 = 0, $$2395 = 0, $$2398 = 0, $$3356 = 0, $$3369438 = 0, $$3384 = 0, $$4 = 0, $$4352 = 0, $$4370 = 0, $$4385441 = 0, $$5371 = 0, $$5386 = 0, $$5452 = 0, $$6 = 0, $$9 = 0, $$sink = 0, $$sroa$0$0 = 0.0, $$sroa$10$0 = 0.0; + var $$sroa$17$0 = 0.0, $$sroa$24$0 = 0.0, $$sroa$31$0 = 0.0, $$sroa$35$0 = 0.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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0; + var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0; + var $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0; + var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0; + var $223 = 0.0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0; + var $241 = 0.0, $242 = 0.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, $258 = 0, $259 = 0; + var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $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, $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, $exitcond = 0, $exitcond458 = 0, $exitcond459 = 0, $exitcond460 = 0, $sext = 0, $sext412 = 0, $sqrtf = 0.0, $sqrtf411 = 0.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|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_stbtt__GetGlyfOffset($0,$1)|0); + HEAP32[$2>>2] = 0; + $7 = ($6|0)<(0); + if ($7) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $8 = (($5) + ($6)|0); + $9 = (_ttSHORT($8)|0); + $10 = ($9<<16>>16)>(0); + L4: do { + if ($10) { + $11 = $9 << 16 >> 16; + $12 = ((($8)) + 10|0); + $13 = $11 << 1; + $14 = (($12) + ($13)|0); + $15 = (_ttUSHORT($14)|0); + $16 = ((($14)) + -2|0); + $17 = (_ttUSHORT($16)|0); + $18 = $17&65535; + $19 = $13 | 1; + $20 = (($19) + ($18))|0; + $21 = ($20*14)|0; + $22 = (_malloc($21)|0); + $23 = ($22|0)==(0|0); + if ($23) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $24 = ((($14)) + 2|0); + $25 = $15&65535; + $26 = (($24) + ($25)|0); + $$0361449 = 0;$$0364448 = 0;$$0366447 = 0;$$0381446 = $26; + while(1) { + $27 = ($$0364448<<24>>24)==(0); + if ($27) { + $28 = ((($$0381446)) + 1|0); + $29 = HEAP8[$$0381446>>0]|0; + $30 = $29 & 8; + $31 = ($30<<24>>24)==(0); + if ($31) { + $$1362 = $29;$$1365 = 0;$$1382 = $28; + } else { + $32 = ((($$0381446)) + 2|0); + $33 = HEAP8[$28>>0]|0; + $$1362 = $29;$$1365 = $33;$$1382 = $32; + } + } else { + $34 = (($$0364448) + -1)<<24>>24; + $$1362 = $$0361449;$$1365 = $34;$$1382 = $$0381446; + } + $35 = (($$0366447) + ($13))|0; + $36 = (((($22) + (($35*14)|0)|0)) + 12|0); + HEAP8[$36>>0] = $$1362; + $37 = (($$0366447) + 1)|0; + $exitcond459 = ($$0366447|0)==($18|0); + if ($exitcond459) { + $$0405443 = 0;$$1367445 = 0;$$2383444 = $$1382; + break; + } else { + $$0361449 = $$1362;$$0364448 = $$1365;$$0366447 = $37;$$0381446 = $$1382; + } + } + while(1) { + $38 = (($$1367445) + ($13))|0; + $39 = (((($22) + (($38*14)|0)|0)) + 12|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = $41 & 2; + $43 = ($42|0)==(0); + $44 = $41 & 16; + $45 = ($44|0)!=(0); + if ($43) { + if ($45) { + $$1406 = $$0405443;$$3384 = $$2383444; + } else { + $52 = HEAP8[$$2383444>>0]|0; + $53 = $52&255; + $54 = $53 << 8; + $55 = ((($$2383444)) + 1|0); + $56 = HEAP8[$55>>0]|0; + $57 = $56&255; + $58 = $54 | $57; + $sext412 = $58 << 16; + $59 = $sext412 >> 16; + $60 = (($59) + ($$0405443))|0; + $61 = ((($$2383444)) + 2|0); + $$1406 = $60;$$3384 = $61; + } + } else { + $46 = ((($$2383444)) + 1|0); + $47 = HEAP8[$$2383444>>0]|0; + $48 = $47&255; + $49 = (0 - ($48))|0; + $50 = $45 ? $48 : $49; + $51 = (($50) + ($$0405443))|0; + $$1406 = $51;$$3384 = $46; + } + $62 = $$1406&65535; + $63 = (($22) + (($38*14)|0)|0); + HEAP16[$63>>1] = $62; + $64 = (($$1367445) + 1)|0; + $exitcond458 = ($$1367445|0)==($18|0); + if ($exitcond458) { + $$0403440 = 0;$$2368442 = 0;$$4385441 = $$3384; + break; + } else { + $$0405443 = $$1406;$$1367445 = $64;$$2383444 = $$3384; + } + } + while(1) { + $65 = (($$2368442) + ($13))|0; + $66 = (((($22) + (($65*14)|0)|0)) + 12|0); + $67 = HEAP8[$66>>0]|0; + $68 = $67&255; + $69 = $68 & 4; + $70 = ($69|0)==(0); + $71 = $68 & 32; + $72 = ($71|0)!=(0); + if ($70) { + if ($72) { + $$1404 = $$0403440;$$5386 = $$4385441; + } else { + $79 = HEAP8[$$4385441>>0]|0; + $80 = $79&255; + $81 = $80 << 8; + $82 = ((($$4385441)) + 1|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = $81 | $84; + $sext = $85 << 16; + $86 = $sext >> 16; + $87 = (($86) + ($$0403440))|0; + $88 = ((($$4385441)) + 2|0); + $$1404 = $87;$$5386 = $88; + } + } else { + $73 = ((($$4385441)) + 1|0); + $74 = HEAP8[$$4385441>>0]|0; + $75 = $74&255; + $76 = (0 - ($75))|0; + $77 = $72 ? $75 : $76; + $78 = (($77) + ($$0403440))|0; + $$1404 = $78;$$5386 = $73; + } + $89 = $$1404&65535; + $90 = (((($22) + (($65*14)|0)|0)) + 2|0); + HEAP16[$90>>1] = $89; + $91 = (($$2368442) + 1)|0; + $exitcond = ($$2368442|0)==($18|0); + if ($exitcond) { + $$0353439 = 0;$$0377437 = 0;$$0379436 = 0;$$0387435 = 0;$$0390434 = 0;$$0393433 = 0;$$0396432 = 0;$$0399431 = 0;$$0401430 = 0;$$0407429 = 0;$$0409428 = 0;$$3369438 = 0; + break; + } else { + $$0403440 = $$1404;$$2368442 = $91;$$4385441 = $$5386; + } + } + while(1) { + $92 = (($$3369438) + ($13))|0; + $93 = (((($22) + (($92*14)|0)|0)) + 12|0); + $94 = HEAP8[$93>>0]|0; + $95 = (($22) + (($92*14)|0)|0); + $96 = HEAP16[$95>>1]|0; + $97 = $96 << 16 >> 16; + $98 = (((($22) + (($92*14)|0)|0)) + 2|0); + $99 = HEAP16[$98>>1]|0; + $100 = $99 << 16 >> 16; + $101 = ($$0379436|0)==($$3369438|0); + $102 = $94 & 1; + $103 = ($102<<24>>24)!=(0); + do { + if ($101) { + $104 = ($$3369438|0)==(0); + if ($104) { + $$1354 = $$0353439; + } else { + $105 = (_stbtt__close_shape($22,$$0353439,$$0409428,$$0407429,$$0396432,$$0393433,$$0390434,$$0387435,$$0401430,$$0399431)|0); + $$1354 = $105; + } + $106 = $103 ^ 1; + $107 = $106&1; + do { + if ($103) { + $$1388 = $$0387435;$$1391 = $$0390434;$$1394 = $100;$$1397 = $97;$$4370 = $$3369438; + } else { + $108 = (($92) + 1)|0; + $109 = (((($22) + (($108*14)|0)|0)) + 12|0); + $110 = HEAP8[$109>>0]|0; + $111 = $110 & 1; + $112 = ($111<<24>>24)==(0); + $113 = (((($22) + (($108*14)|0)|0)) + 2|0); + $114 = HEAP16[$113>>1]|0; + $115 = (($22) + (($108*14)|0)|0); + $116 = HEAP16[$115>>1]|0; + $117 = $114 << 16 >> 16; + $118 = $116 << 16 >> 16; + if ($112) { + $119 = (($118) + ($97))|0; + $120 = $119 >> 1; + $121 = (($117) + ($100))|0; + $122 = $121 >> 1; + $$1388 = $100;$$1391 = $97;$$1394 = $122;$$1397 = $120;$$4370 = $$3369438; + break; + } else { + $123 = (($$3369438) + 1)|0; + $$1388 = $100;$$1391 = $97;$$1394 = $117;$$1397 = $118;$$4370 = $123; + break; + } + } + } while(0); + $124 = (($$1354) + 1)|0; + $125 = (($22) + (($$1354*14)|0)|0); + _stbtt_setvertex($125,1,$$1397,$$1394,0,0); + $126 = $$0377437 << 1; + $127 = (($12) + ($126)|0); + $128 = (_ttUSHORT($127)|0); + $129 = $128&65535; + $130 = (($129) + 1)|0; + $131 = (($$0377437) + 1)|0; + $$1378 = $131;$$1380 = $130;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $107;$$1410 = 0;$$2389 = $$1388;$$2392 = $$1391;$$2395 = $$1394;$$2398 = $$1397;$$3356 = $124;$$5371 = $$4370; + } else { + $132 = ($$0409428|0)!=(0); + $133 = (($$0353439) + 1)|0; + $134 = (($22) + (($$0353439*14)|0)|0); + if (!($103)) { + if (!($132)) { + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $$0353439;$$5371 = $$3369438; + break; + } + $135 = (($100) + ($$0399431))|0; + $136 = $135 >> 1; + $137 = (($97) + ($$0401430))|0; + $138 = $137 >> 1; + _stbtt_setvertex($134,3,$138,$136,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + if ($132) { + _stbtt_setvertex($134,3,$97,$100,$$0401430,$$0399431); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } else { + _stbtt_setvertex($134,2,$97,$100,0,0); + $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; + break; + } + } + } while(0); + $139 = (($$5371) + 1)|0; + $140 = ($$5371|0)<($18|0); + if ($140) { + $$0353439 = $$3356;$$0377437 = $$1378;$$0379436 = $$1380;$$0387435 = $$2389;$$0390434 = $$2392;$$0393433 = $$2395;$$0396432 = $$2398;$$0399431 = $$1400;$$0401430 = $$1402;$$0407429 = $$1408;$$0409428 = $$1410;$$3369438 = $139; + } else { + break; + } + } + $141 = (_stbtt__close_shape($22,$$3356,$$1410,$$1408,$$2398,$$2395,$$2392,$$2389,$$1402,$$1400)|0); + $$4352 = $22;$$9 = $141; + } else { + $142 = ($9<<16>>16)==(-1); + if (!($142)) { + $264 = ($9<<16>>16)<(0); + if (!($264)) { + $$4352 = 0;$$9 = 0; + break; + } + ___assert_fail((13672|0),(13212|0),1724,(13991|0)); + // unreachable; + } + $143 = ((($8)) + 10|0); + $$0348453 = 0;$$0372451 = $143;$$5452 = 0;$250 = 0;$255 = 0;$260 = 0; + while(1) { + HEAP32[$3>>2] = 0; + $144 = (_ttSHORT($$0372451)|0); + $145 = ((($$0372451)) + 2|0); + $146 = (_ttSHORT($145)|0); + $147 = ((($$0372451)) + 4|0); + $148 = $144&65535; + $149 = $148 & 2; + $150 = ($149|0)==(0); + if ($150) { + label = 42; + break; + } + $151 = $148 & 1; + $152 = ($151|0)==(0); + if ($152) { + $158 = HEAP8[$147>>0]|0; + $159 = (+($158<<24>>24)); + $160 = ((($$0372451)) + 5|0); + $161 = HEAP8[$160>>0]|0; + $162 = (+($161<<24>>24)); + $$sink = 6;$$sroa$31$0 = $159;$$sroa$35$0 = $162; + } else { + $153 = (_ttSHORT($147)|0); + $154 = (+($153<<16>>16)); + $155 = ((($$0372451)) + 6|0); + $156 = (_ttSHORT($155)|0); + $157 = (+($156<<16>>16)); + $$sink = 8;$$sroa$31$0 = $154;$$sroa$35$0 = $157; + } + $163 = (($$0372451) + ($$sink)|0); + $164 = $148 & 8; + $165 = ($164|0)==(0); + do { + if ($165) { + $170 = $148 & 64; + $171 = ($170|0)==(0); + if (!($171)) { + $172 = (_ttSHORT($163)|0); + $173 = (+($172<<16>>16)); + $174 = $173 * 6.103515625E-5; + $175 = ((($163)) + 2|0); + $176 = (_ttSHORT($175)|0); + $177 = (+($176<<16>>16)); + $178 = $177 * 6.103515625E-5; + $179 = ((($163)) + 4|0); + $$2374 = $179;$$sroa$0$0 = $174;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $178; + break; + } + $180 = $148 & 128; + $181 = ($180|0)==(0); + if ($181) { + $$2374 = $163;$$sroa$0$0 = 1.0;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = 1.0; + } else { + $182 = (_ttSHORT($163)|0); + $183 = (+($182<<16>>16)); + $184 = $183 * 6.103515625E-5; + $185 = ((($163)) + 2|0); + $186 = (_ttSHORT($185)|0); + $187 = (+($186<<16>>16)); + $188 = $187 * 6.103515625E-5; + $189 = ((($163)) + 4|0); + $190 = (_ttSHORT($189)|0); + $191 = (+($190<<16>>16)); + $192 = $191 * 6.103515625E-5; + $193 = ((($163)) + 6|0); + $194 = (_ttSHORT($193)|0); + $195 = (+($194<<16>>16)); + $196 = $195 * 6.103515625E-5; + $197 = ((($163)) + 8|0); + $$2374 = $197;$$sroa$0$0 = $184;$$sroa$10$0 = $188;$$sroa$17$0 = $192;$$sroa$24$0 = $196; + } + } else { + $166 = (_ttSHORT($163)|0); + $167 = (+($166<<16>>16)); + $168 = $167 * 6.103515625E-5; + $169 = ((($163)) + 2|0); + $$2374 = $169;$$sroa$0$0 = $168;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $168; + } + } while(0); + $198 = $$sroa$0$0 * $$sroa$0$0; + $199 = $$sroa$10$0 * $$sroa$10$0; + $200 = $199 + $198; + $sqrtf = (+Math_sqrt((+$200))); + $201 = $$sroa$17$0 * $$sroa$17$0; + $202 = $$sroa$24$0 * $$sroa$24$0; + $203 = $202 + $201; + $sqrtf411 = (+Math_sqrt((+$203))); + $204 = $146&65535; + $205 = (_stbtt_GetGlyphShape($0,$204,$3)|0); + $206 = ($205|0)>(0); + if ($206) { + $207 = HEAP32[$3>>2]|0; + $$0363450 = 0; + while(1) { + $208 = (($207) + (($$0363450*14)|0)|0); + $209 = HEAP16[$208>>1]|0; + $210 = (((($207) + (($$0363450*14)|0)|0)) + 2|0); + $211 = HEAP16[$210>>1]|0; + $212 = (+($209<<16>>16)); + $213 = $$sroa$0$0 * $212; + $214 = (+($211<<16>>16)); + $215 = $$sroa$17$0 * $214; + $216 = $213 + $215; + $217 = $$sroa$31$0 + $216; + $218 = $sqrtf * $217; + $219 = (~~(($218))); + HEAP16[$208>>1] = $219; + $220 = $$sroa$10$0 * $212; + $221 = $$sroa$24$0 * $214; + $222 = $220 + $221; + $223 = $$sroa$35$0 + $222; + $224 = $sqrtf411 * $223; + $225 = (~~(($224))); + HEAP16[$210>>1] = $225; + $226 = (((($207) + (($$0363450*14)|0)|0)) + 4|0); + $227 = HEAP16[$226>>1]|0; + $228 = (((($207) + (($$0363450*14)|0)|0)) + 6|0); + $229 = HEAP16[$228>>1]|0; + $230 = (+($227<<16>>16)); + $231 = $$sroa$0$0 * $230; + $232 = (+($229<<16>>16)); + $233 = $$sroa$17$0 * $232; + $234 = $231 + $233; + $235 = $$sroa$31$0 + $234; + $236 = $sqrtf * $235; + $237 = (~~(($236))); + HEAP16[$226>>1] = $237; + $238 = $$sroa$10$0 * $230; + $239 = $$sroa$24$0 * $232; + $240 = $238 + $239; + $241 = $$sroa$35$0 + $240; + $242 = $sqrtf411 * $241; + $243 = (~~(($242))); + HEAP16[$228>>1] = $243; + $244 = (($$0363450) + 1)|0; + $exitcond460 = ($244|0)==($205|0); + if ($exitcond460) { + break; + } else { + $$0363450 = $244; + } + } + $245 = (($205) + ($$5452))|0; + $246 = ($245*14)|0; + $247 = (_malloc($246)|0); + $248 = ($247|0)==(0|0); + if ($248) { + break; + } + $253 = ($$5452|0)>(0); + if ($253) { + $254 = ($$5452*14)|0; + _memcpy(($247|0),($255|0),($254|0))|0; + } + $256 = (($247) + (($$5452*14)|0)|0); + $257 = HEAP32[$3>>2]|0; + $258 = ($205*14)|0; + _memcpy(($256|0),($257|0),($258|0))|0; + $259 = ($$0348453|0)==(0|0); + if (!($259)) { + _free($260); + } + $261 = HEAP32[$3>>2]|0; + _free($261); + $$1349 = $247;$$6 = $245;$265 = $247;$266 = $247;$267 = $247; + } else { + $$1349 = $$0348453;$$6 = $$5452;$265 = $250;$266 = $260;$267 = $255; + } + $262 = $148 & 32; + $263 = ($262|0)==(0); + if ($263) { + $$4352 = $$1349;$$9 = $$6; + break L4; + } else { + $$0348453 = $$1349;$$0372451 = $$2374;$$5452 = $$6;$250 = $265;$255 = $267;$260 = $266; + } + } + if ((label|0) == 42) { + ___assert_fail((13672|0),(13212|0),1671,(13991|0)); + // unreachable; + } + $249 = ($$0348453|0)==(0|0); + if (!($249)) { + _free($250); + } + $251 = HEAP32[$3>>2]|0; + $252 = ($251|0)==(0|0); + if (!($252)) { + _free($251); + } + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } while(0); + HEAP32[$2>>2] = $$4352; + $$4 = $$9; + STACKTOP = sp;return ($$4|0); +} +function _stbtt__GetGlyphShapeT2($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; + var stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $3 = sp + 48|0; + $4 = sp; + $5 = ((($3)) + 4|0); + dest=$5; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = 1; + dest=$4; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $6 = (_stbtt__run_charstring($0,$1,$3)|0); + $7 = ($6|0)==(0); + if (!($7)) { + $8 = ((($3)) + 44|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9*14)|0; + $11 = (_malloc($10)|0); + HEAP32[$2>>2] = $11; + $12 = ((($4)) + 40|0); + HEAP32[$12>>2] = $11; + $13 = (_stbtt__run_charstring($0,$1,$4)|0); + $14 = ($13|0)==(0); + if (!($14)) { + $15 = ((($4)) + 44|0); + $16 = HEAP32[$15>>2]|0; + $17 = HEAP32[$8>>2]|0; + $18 = ($16|0)==($17|0); + if ($18) { + $$0 = $16; + STACKTOP = sp;return ($$0|0); + } else { + ___assert_fail((13918|0),(13212|0),2114,(13968|0)); + // unreachable; + } + } + } + HEAP32[$2>>2] = 0; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _stbtt__close_shape($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + $8 = $8|0; + $9 = $9|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, label = 0, sp = 0; + sp = STACKTOP; + $10 = ($3|0)==(0); + $11 = ($2|0)!=(0); + $12 = (($1) + 1)|0; + $13 = (($0) + (($1*14)|0)|0); + if (!($10)) { + if ($11) { + $14 = (($9) + ($7))|0; + $15 = $14 >> 1; + $16 = (($8) + ($6))|0; + $17 = $16 >> 1; + _stbtt_setvertex($13,3,$17,$15,$8,$9); + $$0 = $12; + } else { + $$0 = $1; + } + $18 = (($$0) + 1)|0; + $19 = (($0) + (($$0*14)|0)|0); + _stbtt_setvertex($19,3,$4,$5,$6,$7); + $$1 = $18; + return ($$1|0); + } + if ($11) { + _stbtt_setvertex($13,3,$4,$5,$8,$9); + $$1 = $12; + return ($$1|0); + } else { + _stbtt_setvertex($13,2,$4,$5,0,0); + $$1 = $12; + return ($$1|0); + } + return (0)|0; +} +function _stbtt_InitFont_internal($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0902 = 0, $$1 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 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, $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 $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, $91 = 0, $92 = 0, $93 = 0; + var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $$byval_copy2 = sp + 172|0; + $$byval_copy1 = sp + 160|0; + $2 = sp + 148|0; + $3 = sp + 136|0; + $4 = sp + 124|0; + $5 = sp + 112|0; + $6 = sp + 108|0; + $7 = sp + 104|0; + $8 = sp + 100|0; + $9 = sp + 96|0; + $10 = sp + 84|0; + $11 = sp + 72|0; + $12 = sp + 60|0; + $13 = sp + 48|0; + $14 = sp + 36|0; + $15 = sp + 24|0; + $16 = sp + 12|0; + $17 = sp; + $18 = ((($0)) + 4|0); + HEAP32[$18>>2] = $1; + $19 = ((($0)) + 8|0); + HEAP32[$19>>2] = 0; + $20 = ((($0)) + 48|0); + _stbtt__new_buf($2,0,0); + ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; + $21 = (_stbtt__find_table($1,14091)|0); + $22 = (_stbtt__find_table($1,14096)|0); + $23 = ((($0)) + 16|0); + HEAP32[$23>>2] = $22; + $24 = (_stbtt__find_table($1,14101)|0); + $25 = ((($0)) + 20|0); + HEAP32[$25>>2] = $24; + $26 = (_stbtt__find_table($1,14106)|0); + $27 = ((($0)) + 24|0); + HEAP32[$27>>2] = $26; + $28 = (_stbtt__find_table($1,14111)|0); + $29 = ((($0)) + 28|0); + HEAP32[$29>>2] = $28; + $30 = (_stbtt__find_table($1,14116)|0); + $31 = ((($0)) + 32|0); + HEAP32[$31>>2] = $30; + $32 = (_stbtt__find_table($1,14121)|0); + $33 = ((($0)) + 36|0); + HEAP32[$33>>2] = $32; + $34 = ($21|0)==(0); + if ($34) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $35 = HEAP32[$25>>2]|0; + $36 = ($35|0)==(0); + if ($36) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $37 = HEAP32[$29>>2]|0; + $38 = ($37|0)==(0); + if ($38) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $39 = HEAP32[$31>>2]|0; + $40 = ($39|0)==(0); + if ($40) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $41 = HEAP32[$27>>2]|0; + $42 = ($41|0)==(0); + L13: do { + if ($42) { + HEAP32[$6>>2] = 2; + HEAP32[$7>>2] = 0; + HEAP32[$8>>2] = 0; + HEAP32[$9>>2] = 0; + $45 = (_stbtt__find_table($1,14126)|0); + $46 = ($45|0)==(0); + do { + if (!($46)) { + $47 = ((($0)) + 96|0); + _stbtt__new_buf($10,0,0); + ;HEAP32[$47>>2]=HEAP32[$10>>2]|0;HEAP32[$47+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$10+8>>2]|0; + $48 = ((($0)) + 108|0); + _stbtt__new_buf($11,0,0); + ;HEAP32[$48>>2]=HEAP32[$11>>2]|0;HEAP32[$48+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$11+8>>2]|0; + $49 = (($1) + ($45)|0); + _stbtt__new_buf($12,$49,536870912); + ;HEAP32[$20>>2]=HEAP32[$12>>2]|0;HEAP32[$20+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$12+8>>2]|0; + ;HEAP32[$3>>2]=HEAP32[$12>>2]|0;HEAP32[$3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$12+8>>2]|0; + _stbtt__buf_skip($3,2); + $50 = (_stbtt__buf_get8($3)|0); + $51 = $50&255; + _stbtt__buf_seek($3,$51); + _stbtt__cff_get_index($$byval_copy2,$3); + _stbtt__cff_get_index($5,$3); + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _stbtt__cff_index_get($4,$$byval_copy2,0); + _stbtt__cff_get_index($$byval_copy2,$3); + $52 = ((($0)) + 72|0); + _stbtt__cff_get_index($13,$3); + ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; + _stbtt__dict_get_ints($4,17,1,$7); + _stbtt__dict_get_ints($4,262,1,$6); + _stbtt__dict_get_ints($4,292,1,$8); + _stbtt__dict_get_ints($4,293,1,$9); + $53 = ((($0)) + 84|0); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; + _stbtt__get_subrs($14,$$byval_copy1,$$byval_copy2); + ;HEAP32[$53>>2]=HEAP32[$14>>2]|0;HEAP32[$53+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$53+8>>2]=HEAP32[$14+8>>2]|0; + $54 = HEAP32[$6>>2]|0; + $55 = ($54|0)!=(2); + $56 = HEAP32[$7>>2]|0; + $57 = ($56|0)==(0); + $or$cond = $55 | $57; + if (!($or$cond)) { + $58 = HEAP32[$8>>2]|0; + $59 = ($58|0)==(0); + if (!($59)) { + $60 = HEAP32[$9>>2]|0; + $61 = ($60|0)==(0); + if ($61) { + break; + } + _stbtt__buf_seek($3,$58); + _stbtt__cff_get_index($15,$3); + ;HEAP32[$47>>2]=HEAP32[$15>>2]|0;HEAP32[$47+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$15+8>>2]|0; + $62 = HEAP32[$9>>2]|0; + $63 = ((($3)) + 8|0); + $64 = HEAP32[$63>>2]|0; + $65 = (($64) - ($62))|0; + _stbtt__buf_range($16,$3,$62,$65); + ;HEAP32[$48>>2]=HEAP32[$16>>2]|0;HEAP32[$48+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$16+8>>2]|0; + } + $66 = HEAP32[$7>>2]|0; + _stbtt__buf_seek($3,$66); + $67 = ((($0)) + 60|0); + _stbtt__cff_get_index($17,$3); + ;HEAP32[$67>>2]=HEAP32[$17>>2]|0;HEAP32[$67+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$67+8>>2]=HEAP32[$17+8>>2]|0; + break L13; + } + } + } while(0); + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } else { + $43 = HEAP32[$23>>2]|0; + $44 = ($43|0)==(0); + if ($44) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + } while(0); + $68 = (_stbtt__find_table($1,14131)|0); + $69 = ($68|0)==(0); + if ($69) { + $$sink = 65535; + } else { + $70 = (($1) + ($68)|0); + $71 = ((($70)) + 4|0); + $72 = (_ttUSHORT($71)|0); + $73 = $72&65535; + $$sink = $73; + } + $74 = ((($0)) + 12|0); + HEAP32[$74>>2] = $$sink; + $75 = (($1) + ($21)|0); + $76 = ((($75)) + 2|0); + $77 = (_ttUSHORT($76)|0); + $78 = $77&65535; + $79 = ((($0)) + 40|0); + HEAP32[$79>>2] = 0; + $80 = ($77<<16>>16)==(0); + if ($80) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $81 = (($21) + 4)|0; + $$0902 = 0; + while(1) { + $82 = $$0902 << 3; + $83 = (($81) + ($82))|0; + $84 = (($1) + ($83)|0); + $85 = (_ttUSHORT($84)|0); + L35: do { + switch ($85<<16>>16) { + case 3: { + $86 = ((($84)) + 2|0); + $87 = (_ttUSHORT($86)|0); + switch ($87<<16>>16) { + case 10: case 1: { + break; + } + default: { + break L35; + } + } + $88 = ((($84)) + 4|0); + $89 = (_ttULONG($88)|0); + $90 = (($89) + ($21))|0; + HEAP32[$79>>2] = $90; + break; + } + case 0: { + $91 = ((($84)) + 4|0); + $92 = (_ttULONG($91)|0); + $93 = (($92) + ($21))|0; + HEAP32[$79>>2] = $93; + break; + } + default: { + } + } + } while(0); + $94 = (($$0902) + 1)|0; + $exitcond = ($94|0)==($78|0); + if ($exitcond) { + break; + } else { + $$0902 = $94; + } + } + $$pr = HEAP32[$79>>2]|0; + $95 = ($$pr|0)==(0); + if ($95) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + $96 = HEAP32[$25>>2]|0; + $97 = (($1) + ($96)|0); + $98 = ((($97)) + 50|0); + $99 = (_ttUSHORT($98)|0); + $100 = $99&65535; + $101 = ((($0)) + 44|0); + HEAP32[$101>>2] = $100; + $$1 = 1; + STACKTOP = sp;return ($$1|0); +} +function _stbtt__find_table($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0312 = 0, $$2 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = (_ttUSHORT($2)|0); + $4 = $3&65535; + $5 = ($3<<16>>16)==(0); + if ($5) { + $$2 = 0; + return ($$2|0); + } + $6 = HEAP8[$1>>0]|0; + $7 = $6 << 24 >> 24; + $8 = ((($1)) + 1|0); + $9 = ((($1)) + 2|0); + $10 = ((($1)) + 3|0); + $$0312 = 0; + while(1) { + $11 = $$0312 << 4; + $12 = $11 | 12; + $13 = (($0) + ($12)|0); + $14 = HEAP8[$13>>0]|0; + $15 = $14&255; + $16 = ($15|0)==($7|0); + if ($16) { + $17 = ((($13)) + 1|0); + $18 = HEAP8[$17>>0]|0; + $19 = $18&255; + $20 = HEAP8[$8>>0]|0; + $21 = $20 << 24 >> 24; + $22 = ($19|0)==($21|0); + if ($22) { + $23 = ((($13)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = HEAP8[$9>>0]|0; + $27 = $26 << 24 >> 24; + $28 = ($25|0)==($27|0); + if ($28) { + $29 = ((($13)) + 3|0); + $30 = HEAP8[$29>>0]|0; + $31 = $30&255; + $32 = HEAP8[$10>>0]|0; + $33 = $32 << 24 >> 24; + $34 = ($31|0)==($33|0); + if ($34) { + break; + } + } + } + } + $37 = (($$0312) + 1)|0; + $38 = ($37|0)<($4|0); + if ($38) { + $$0312 = $37; + } else { + $$2 = 0; + label = 9; + break; + } + } + if ((label|0) == 9) { + return ($$2|0); + } + $35 = ((($13)) + 8|0); + $36 = (_ttULONG($35)|0); + $$2 = $36; + return ($$2|0); +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,14136)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,14140)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,14144)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,14148)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,14154)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,14192)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 14211; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,14224)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 14245; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,14260)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 14275; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,14290)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 14305; + } + } else { + HEAP32[$3>>2] = 14176; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,14320)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,14334)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,14346)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,14360)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,14372)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,14386)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,14400)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,14417)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,14440)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,14466)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,14479)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,14495)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,14508)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,14522)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,14542)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,14562)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,14579)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,14596)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,14608)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,14621)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,14637)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,14660)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,14673)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,14689)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,14700)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,14719)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,14741)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,14760)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,14789)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,14806)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,14821)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,14836)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,14857)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,14877)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,14897)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,14923)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,14942)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,14954)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,14966)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,14978)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,14990)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,15002)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,15014)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,15026)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,15038)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,15051)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,15064)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,15077)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,15090)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,15103)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,15116)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,15129)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,15142)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,15161)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,15180)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,15199)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,15212)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,15230)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,15248)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,15266)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,15284)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,15304)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,14245)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,15322)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,15337)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,15358)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,15373)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,15391)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,15407)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,15426)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,15440)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,15455)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,14176)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,15466)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,14275)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,14305)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,15482)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,15509)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,15523)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,14211)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,15543)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,15561)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,15573)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,15594)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,15612)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,15630)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,15651)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,15677)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,15700)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,15738)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,15754)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,15769)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,15792)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,15805)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,15819)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,15833)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,15853)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,15873)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,15889)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,15907)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,15923)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,15938)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,15960)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,15978)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,15999)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,16017)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,16030)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,16045)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,16059)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,16069)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,16079)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,16101)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,16127)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,16154)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,16167)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,16182)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,16197)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,16221)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,16232)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,16254)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,16276)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,16300)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,16309)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,16317)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,16330)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,16344)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,16356)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,16365)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,16375)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,16387)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,16398)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,16406)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,16418)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,16433)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,16445)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,16459)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,16484)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,16501)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,16517)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,16533)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,16545)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,16557)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,16581)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,16594)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,16608)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,16630)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,16637)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,16653)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,16670)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,16687)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,16703)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,16719)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,16736)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,16750)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,16762)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,16773)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,16786)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,16796)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,16813)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,16825)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,16847)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,16867)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,16880)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,16902)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,16922)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,16939)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,16956)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,16976)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (22684|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (3856|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($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, $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; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|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] = 9; + $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 ___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; + $8 = $6; + $9 = (($7) - ($8))|0; + $10 = ((($0)) + 108|0); + HEAP32[$10>>2] = $9; + $11 = ($1|0)!=(0); + $12 = ($9|0)>($1|0); + $or$cond = $11 & $12; + $13 = (($6) + ($1)|0); + $$sink = $or$cond ? $13 : $4; + $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;$$1165168 = 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 = ((17093) + ($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;$$1165168 = 16; + label = 46; + } + } else { + $$166 = $28 ? 10 : $1; + $60 = ((17093) + ($$0159)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $63 = ($62>>>0)<($$166>>>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;$93 = $86; + while(1) { + $90 = (___muldi3(($88|0),($89|0),10,0)|0); + $91 = tempRet0; + $92 = ($93|0)<(0); + $94 = $92 << 31 >> 31; + $95 = $93 ^ -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) { + $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; + label = 72; + break L43; + } + $102 = (_i64Add(($90|0),($91|0),($93|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;$93 = $111; + } else { + break; + } + } + $118 = ($111>>>0)>(9); + if ($118) { + $$1158 = $$0157;$263 = $103;$265 = $102; + } else { + $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; + label = 72; + } + } else { + $$1158 = $$0157;$263 = $292;$265 = $291; + } + } else { + $$1160169 = $$1160;$$1165168 = $$1165; + label = 46; + } + } + } while(0); + L63: do { + if ((label|0) == 46) { + $119 = (($$1165168) + -1)|0; + $120 = $119 & $$1165168; + $121 = ($120|0)==(0); + if ($121) { + $126 = ($$1165168*23)|0; + $127 = $126 >>> 5; + $128 = $127 & 7; + $129 = (17349 + ($128)|0); + $130 = HEAP8[$129>>0]|0; + $131 = $130 << 24 >> 24; + $132 = ((17093) + ($$1160169)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $133&255; + $135 = ($134>>>0)<($$1165168>>>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 = ((17093) + ($$4163$be)|0); + $147 = HEAP8[$146>>0]|0; + $148 = $147&255; + $149 = ($148>>>0)<($$1165168>>>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 = ($154>>>0)>=($$1165168>>>0); + $157 = ($158>>>0)>($153>>>0); + $159 = ($160>>>0)>($152>>>0); + $161 = ($158|0)==($153|0); + $162 = $161 & $159; + $163 = $157 | $162; + $or$cond187 = $156 | $163; + if ($or$cond187) { + $$1165167 = $$1165168;$$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 = $168 | $166; + $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 = ((17093) + ($$5$be)|0); + $179 = HEAP8[$178>>0]|0; + $180 = $179&255; + $181 = ($180>>>0)>=($$1165168>>>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) { + $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; + label = 72; + break L63; + } else { + $164 = $170;$165 = $167;$169 = $179; + } + } + } + $122 = ((17093) + ($$1160169)|0); + $123 = HEAP8[$122>>0]|0; + $124 = $123&255; + $125 = ($124>>>0)<($$1165168>>>0); + if ($125) { + $$2156210 = 0;$189 = $124; + while(1) { + $187 = Math_imul($$2156210, $$1165168)|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 = ((17093) + ($$6$be)|0); + $198 = HEAP8[$197>>0]|0; + $199 = $198&255; + $200 = ($199>>>0)<($$1165168>>>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 = ($203>>>0)<($$1165168>>>0); + if ($205) { + $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); + $207 = tempRet0; + $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; + while(1) { + $208 = ($209>>>0)>($207>>>0); + $210 = ($211>>>0)>($206>>>0); + $212 = ($209|0)==($207|0); + $213 = $212 & $210; + $214 = $208 | $213; + if ($214) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $215 = (___muldi3(($211|0),($209|0),($$1165168|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) { + $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; + label = 72; + break L63; + } + $225 = (_i64Add(($217|0),0,($215|0),($216|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 = ((17093) + ($$7$be)|0); + $235 = HEAP8[$234>>0]|0; + $236 = $235&255; + $237 = ($236>>>0)<($$1165168>>>0); + if ($237) { + $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; + } else { + $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; + label = 72; + break; + } + } + } else { + $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; + label = 72; + } + } + } while(0); + if ((label|0) == 72) { + $238 = ((17093) + ($$8)|0); + $239 = HEAP8[$238>>0]|0; + $240 = $239&255; + $241 = ($240>>>0)<($$1165167>>>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 = ((17093) + ($$9$be)|0); + $250 = HEAP8[$249>>0]|0; + $251 = $250&255; + $252 = ($251>>>0)<($$1165167>>>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$;$263 = $4;$265 = $3; + } else { + $$1158 = $$0157;$263 = $294;$265 = $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; + } + $262 = ($263>>>0)<($4>>>0); + $264 = ($265>>>0)<($3>>>0); + $266 = ($263|0)==($4|0); + $267 = $266 & $264; + $268 = $262 | $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 = ($263>>>0)>($4>>>0); + $278 = ($265>>>0)>($3>>>0); + $279 = ($263|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 = $265 ^ $$1158; + $286 = $263 ^ $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$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $4 = 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; + $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); + $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; + $$pre35 = ((($0)) + 108|0); + $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$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) { + $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; + } else { + $22 = (($19) + -1)|0; + $23 = (($14) + ($22)|0); + $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; + } + } + $24 = ((($0)) + 100|0); + HEAP32[$24>>2] = $$sink; + $25 = ($26|0)==(0|0); + if (!($25)) { + $27 = $26; + $28 = $29; + $30 = HEAP32[$$pre$phi34Z2D>>2]|0; + $31 = (($27) + 1)|0; + $32 = (($31) - ($28))|0; + $33 = (($32) + ($30))|0; + HEAP32[$$pre$phi34Z2D>>2] = $33; + } + $34 = ((($29)) + -1|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = ($36|0)==($7|0); + if ($37) { + $$0 = $7; + } else { + $38 = $7&255; + HEAP8[$34>>0] = $38; + $$0 = $7; + } + } + } + if ((label|0) == 4) { + $9 = ((($0)) + 100|0); + HEAP32[$9>>2] = 0; + $$0 = -1; + } + return ($$0|0); +} +function _isspace($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(32); + $2 = (($0) + -9)|0; + $3 = ($2>>>0)<(5); + $4 = $1 | $3; + $5 = $4&1; + return ($5|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 & 15]($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 & 15]($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 _copysign($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = $3 & 2147483647; + $7 = $5 & -2147483648; + $8 = $7 | $6; + HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; + return (+$9); +} +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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((17358 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 17822;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 17822;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 17822 : (17824); + $$$ = $238 ? $$ : (17823); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 17822;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 17822;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 17832; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 17822;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (17822 + ($208)|0); + $$289 = $or$cond283 ? 17822 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 17822;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (17870 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 17839; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (17840) : (17845); + $$$ = $16 ? $$ : (17842); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (17870 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,17886,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,17886,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 17858 : 17862; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 19789 : 17866; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (17888 + ($$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 = 17976;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 17976; + } else { + $$01214 = 17976;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|0); +} +function ___floatscan($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 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.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; + var $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, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $53 = 0.0, $54 = 0.0, $55 = 0.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; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $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$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($1|0) { + case 0: { + $$0105$ph = -149;$$0106$ph = 24; + label = 4; + break; + } + case 1: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + case 2: { + $$0105$ph = -1074;$$0106$ph = 53; + label = 4; + break; + } + default: { + $$0114 = 0.0; + } + } + L4: do { + if ((label|0) == 4) { + $3 = ((($0)) + 4|0); + $4 = ((($0)) + 100|0); + while(1) { + $5 = HEAP32[$3>>2]|0; + $6 = HEAP32[$4>>2]|0; + $7 = ($5>>>0)<($6>>>0); + if ($7) { + $8 = ((($5)) + 1|0); + HEAP32[$3>>2] = $8; + $9 = HEAP8[$5>>0]|0; + $10 = $9&255; + $12 = $10; + } else { + $11 = (___shgetc($0)|0); + $12 = $11; + } + $13 = (_isspace($12)|0); + $14 = ($13|0)==(0); + if ($14) { + break; + } + } + L13: do { + switch ($12|0) { + case 43: case 45: { + $15 = ($12|0)==(45); + $16 = $15&1; + $17 = $16 << 1; + $18 = (1 - ($17))|0; + $19 = HEAP32[$3>>2]|0; + $20 = HEAP32[$4>>2]|0; + $21 = ($19>>>0)<($20>>>0); + if ($21) { + $22 = ((($19)) + 1|0); + HEAP32[$3>>2] = $22; + $23 = HEAP8[$19>>0]|0; + $24 = $23&255; + $$0 = $24;$$0113 = $18; + break L13; + } else { + $25 = (___shgetc($0)|0); + $$0 = $25;$$0113 = $18; + break L13; + } + break; + } + default: { + $$0 = $12;$$0113 = 1; + } + } + } while(0); + $$0107127 = 0;$$1128 = $$0; + while(1) { + $26 = $$1128 | 32; + $27 = (19780 + ($$0107127)|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28 << 24 >> 24; + $30 = ($26|0)==($29|0); + if (!($30)) { + $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; + break; + } + $31 = ($$0107127>>>0)<(7); + do { + if ($31) { + $32 = HEAP32[$3>>2]|0; + $33 = HEAP32[$4>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$3>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $$2 = $37; + break; + } else { + $38 = (___shgetc($0)|0); + $$2 = $38; + break; + } + } else { + $$2 = $$1128; + } + } while(0); + $39 = (($$0107127) + 1)|0; + $40 = ($39>>>0)<(8); + if ($40) { + $$0107127 = $39;$$1128 = $$2; + } else { + $$0107$lcssa = $39;$$1$lcssa = $$2; + break; + } + } + L29: do { + switch ($$0107$lcssa|0) { + case 8: { + break; + } + case 3: { + label = 23; + break; + } + default: { + $41 = ($$0107$lcssa>>>0)>(3); + $42 = ($2|0)!=(0); + $or$cond5 = $42 & $41; + if ($or$cond5) { + $43 = ($$0107$lcssa|0)==(8); + if ($43) { + break L29; + } else { + label = 23; + break L29; + } + } + $56 = ($$0107$lcssa|0)==(0); + L34: do { + if ($56) { + $$2109125 = 0;$$3126 = $$1$lcssa; + while(1) { + $57 = $$3126 | 32; + $58 = (19789 + ($$2109125)|0); + $59 = HEAP8[$58>>0]|0; + $60 = $59 << 24 >> 24; + $61 = ($57|0)==($60|0); + if (!($61)) { + $$3110 = $$2109125;$$5 = $$3126; + break L34; + } + $62 = ($$2109125>>>0)<(2); + do { + if ($62) { + $63 = HEAP32[$3>>2]|0; + $64 = HEAP32[$4>>2]|0; + $65 = ($63>>>0)<($64>>>0); + if ($65) { + $66 = ((($63)) + 1|0); + HEAP32[$3>>2] = $66; + $67 = HEAP8[$63>>0]|0; + $68 = $67&255; + $$4 = $68; + break; + } else { + $69 = (___shgetc($0)|0); + $$4 = $69; + break; + } + } else { + $$4 = $$3126; + } + } while(0); + $70 = (($$2109125) + 1)|0; + $71 = ($70>>>0)<(3); + if ($71) { + $$2109125 = $70;$$3126 = $$4; + } else { + $$3110 = $70;$$5 = $$4; + break; + } + } + } else { + $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; + } + } while(0); + switch ($$3110|0) { + case 3: { + $72 = HEAP32[$3>>2]|0; + $73 = HEAP32[$4>>2]|0; + $74 = ($72>>>0)<($73>>>0); + if ($74) { + $75 = ((($72)) + 1|0); + HEAP32[$3>>2] = $75; + $76 = HEAP8[$72>>0]|0; + $77 = $76&255; + $80 = $77; + } else { + $78 = (___shgetc($0)|0); + $80 = $78; + } + $79 = ($80|0)==(40); + if ($79) { + $$4111 = 1; + } else { + $81 = HEAP32[$4>>2]|0; + $82 = ($81|0)==(0|0); + if ($82) { + $$0114 = nan; + break L4; + } + $83 = HEAP32[$3>>2]|0; + $84 = ((($83)) + -1|0); + HEAP32[$3>>2] = $84; + $$0114 = nan; + break L4; + } + while(1) { + $85 = HEAP32[$3>>2]|0; + $86 = HEAP32[$4>>2]|0; + $87 = ($85>>>0)<($86>>>0); + if ($87) { + $88 = ((($85)) + 1|0); + HEAP32[$3>>2] = $88; + $89 = HEAP8[$85>>0]|0; + $90 = $89&255; + $93 = $90; + } else { + $91 = (___shgetc($0)|0); + $93 = $91; + } + $92 = (($93) + -48)|0; + $94 = ($92>>>0)<(10); + $95 = (($93) + -65)|0; + $96 = ($95>>>0)<(26); + $or$cond = $94 | $96; + if (!($or$cond)) { + $97 = (($93) + -97)|0; + $98 = ($97>>>0)<(26); + $99 = ($93|0)==(95); + $or$cond7 = $99 | $98; + if (!($or$cond7)) { + break; + } + } + $111 = (($$4111) + 1)|0; + $$4111 = $111; + } + $100 = ($93|0)==(41); + if ($100) { + $$0114 = nan; + break L4; + } + $101 = HEAP32[$4>>2]|0; + $102 = ($101|0)==(0|0); + if (!($102)) { + $103 = HEAP32[$3>>2]|0; + $104 = ((($103)) + -1|0); + HEAP32[$3>>2] = $104; + } + if (!($42)) { + $106 = (___errno_location()|0); + HEAP32[$106>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + $105 = ($$4111|0)==(0); + if ($105) { + $$0114 = nan; + break L4; + } else { + $$in = $$4111; + } + while(1) { + $107 = (($$in) + -1)|0; + if (!($102)) { + $108 = HEAP32[$3>>2]|0; + $109 = ((($108)) + -1|0); + HEAP32[$3>>2] = $109; + } + $110 = ($107|0)==(0); + if ($110) { + $$0114 = nan; + break L4; + } else { + $$in = $107; + } + } + break; + } + case 0: { + $117 = ($$5|0)==(48); + if ($117) { + $118 = HEAP32[$3>>2]|0; + $119 = HEAP32[$4>>2]|0; + $120 = ($118>>>0)<($119>>>0); + if ($120) { + $121 = ((($118)) + 1|0); + HEAP32[$3>>2] = $121; + $122 = HEAP8[$118>>0]|0; + $123 = $122&255; + $126 = $123; + } else { + $124 = (___shgetc($0)|0); + $126 = $124; + } + $125 = $126 | 32; + $127 = ($125|0)==(120); + if ($127) { + $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $128; + break L4; + } + $129 = HEAP32[$4>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$6 = 48; + } else { + $131 = HEAP32[$3>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$3>>2] = $132; + $$6 = 48; + } + } else { + $$6 = $$5; + } + $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); + $$0114 = $133; + break L4; + break; + } + default: { + $112 = HEAP32[$4>>2]|0; + $113 = ($112|0)==(0|0); + if (!($113)) { + $114 = HEAP32[$3>>2]|0; + $115 = ((($114)) + -1|0); + HEAP32[$3>>2] = $115; + } + $116 = (___errno_location()|0); + HEAP32[$116>>2] = 22; + ___shlim($0,0); + $$0114 = 0.0; + break L4; + } + } + } + } + } while(0); + if ((label|0) == 23) { + $44 = HEAP32[$4>>2]|0; + $45 = ($44|0)==(0|0); + if (!($45)) { + $46 = HEAP32[$3>>2]|0; + $47 = ((($46)) + -1|0); + HEAP32[$3>>2] = $47; + } + $48 = ($2|0)!=(0); + $49 = ($$0107$lcssa>>>0)>(3); + $or$cond9 = $48 & $49; + if ($or$cond9) { + $$1108 = $$0107$lcssa; + while(1) { + if (!($45)) { + $50 = HEAP32[$3>>2]|0; + $51 = ((($50)) + -1|0); + HEAP32[$3>>2] = $51; + } + $52 = (($$1108) + -1)|0; + $$old8 = ($52>>>0)>(3); + if ($$old8) { + $$1108 = $52; + } else { + break; + } + } + } + } + $53 = (+($$0113|0)); + $54 = $53 * inf; + $55 = $54; + $$0114 = $55; + } + } while(0); + return (+$$0114); +} +function _hexfloat($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; + var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; + var $$pre = 0.0, $$pre$phiZ2D = 0.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, $113 = 0, $114 = 0, $115 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.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.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; + var $170 = 0, $171 = 0.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, $186 = 0, $187 = 0, $188 = 0; + var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; + var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; + var $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, $47 = 0, $48 = 0, $49 = 0; + var $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.0, $67 = 0.0; + var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.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; + var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; + var $or$cond6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 100|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($6>>>0)<($8>>>0); + if ($9) { + $10 = ((($6)) + 1|0); + HEAP32[$5>>2] = $10; + $11 = HEAP8[$6>>0]|0; + $12 = $11&255; + $$0 = $12;$$0142 = 0; + } else { + $13 = (___shgetc($0)|0); + $$0 = $13;$$0142 = 0; + } + L4: while(1) { + switch ($$0|0) { + case 46: { + label = 8; + break L4; + break; + } + case 48: { + break; + } + default: { + $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + break L4; + } + } + $14 = HEAP32[$5>>2]|0; + $15 = HEAP32[$7>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$5>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $$0 = $19;$$0142 = 1; + continue; + } else { + $20 = (___shgetc($0)|0); + $$0 = $20;$$0142 = 1; + continue; + } + } + if ((label|0) == 8) { + $21 = HEAP32[$5>>2]|0; + $22 = HEAP32[$7>>2]|0; + $23 = ($21>>>0)<($22>>>0); + if ($23) { + $24 = ((($21)) + 1|0); + HEAP32[$5>>2] = $24; + $25 = HEAP8[$21>>0]|0; + $26 = $25&255; + $$1$ph = $26; + } else { + $27 = (___shgetc($0)|0); + $$1$ph = $27; + } + $28 = ($$1$ph|0)==(48); + if ($28) { + $36 = 0;$37 = 0; + while(1) { + $29 = HEAP32[$5>>2]|0; + $30 = HEAP32[$7>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$5>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $41 = $34; + } else { + $35 = (___shgetc($0)|0); + $41 = $35; + } + $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); + $39 = tempRet0; + $40 = ($41|0)==(48); + if ($40) { + $36 = $38;$37 = $39; + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; + break; + } + } + } else { + $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; + } + } + while(1) { + $42 = (($$2) + -48)|0; + $43 = ($42>>>0)<(10); + $44 = ($$2|0)==(46); + if (!($43)) { + $45 = $$2 | 32; + $46 = (($45) + -97)|0; + $47 = ($46>>>0)<(6); + $or$cond6 = $44 | $47; + if (!($or$cond6)) { + $$2$lcssa = $$2; + break; + } + } + if ($44) { + $48 = ($$0146|0)==(0); + if ($48) { + $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; + } else { + $$2$lcssa = 46; + break; + } + } else { + $49 = ($$2|0)>(57); + $50 = $$2 | 32; + $51 = (($50) + -87)|0; + $$0133 = $49 ? $51 : $42; + $52 = ($53|0)<(0); + $54 = ($55>>>0)<(8); + $56 = ($53|0)==(0); + $57 = $56 & $54; + $58 = $52 | $57; + do { + if ($58) { + $59 = $$0159 << 4; + $60 = (($$0133) + ($59))|0; + $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; + } else { + $61 = ($53|0)<(0); + $62 = ($55>>>0)<(14); + $63 = ($53|0)==(0); + $64 = $63 & $62; + $65 = $61 | $64; + if ($65) { + $66 = (+($$0133|0)); + $67 = $$0152 * 0.0625; + $68 = $67 * $66; + $69 = $$0155 + $68; + $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; + break; + } else { + $70 = ($$0133|0)==(0); + $71 = ($$0148|0)!=(0); + $or$cond = $71 | $70; + $72 = $$0152 * 0.5; + $73 = $$0155 + $72; + $$0155$ = $or$cond ? $$0155 : $73; + $$0148$ = $or$cond ? $$0148 : 1; + $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; + break; + } + } + } while(0); + $74 = (_i64Add(($55|0),($53|0),1,0)|0); + $75 = tempRet0; + $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; + } + $76 = HEAP32[$5>>2]|0; + $77 = HEAP32[$7>>2]|0; + $78 = ($76>>>0)<($77>>>0); + if ($78) { + $79 = ((($76)) + 1|0); + HEAP32[$5>>2] = $79; + $80 = HEAP8[$76>>0]|0; + $81 = $80&255; + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } else { + $82 = (___shgetc($0)|0); + $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; + continue; + } + } + $83 = ($$2144|0)==(0); + do { + if ($83) { + $84 = HEAP32[$7>>2]|0; + $85 = ($84|0)!=(0|0); + if ($85) { + $86 = HEAP32[$5>>2]|0; + $87 = ((($86)) + -1|0); + HEAP32[$5>>2] = $87; + } + $88 = ($4|0)==(0); + if ($88) { + ___shlim($0,0); + } else { + if ($85) { + $89 = HEAP32[$5>>2]|0; + $90 = ((($89)) + -1|0); + HEAP32[$5>>2] = $90; + } + $91 = ($$0146|0)==(0); + $92 = ($84|0)==(0|0); + $or$cond206 = $91 | $92; + if (!($or$cond206)) { + $93 = HEAP32[$5>>2]|0; + $94 = ((($93)) + -1|0); + HEAP32[$5>>2] = $94; + } + } + $95 = (+($3|0)); + $96 = $95 * 0.0; + $$0165 = $96; + } else { + $97 = ($$0146|0)==(0); + $98 = $97 ? $55 : $99; + $100 = $97 ? $53 : $101; + $102 = ($53|0)<(0); + $103 = ($55>>>0)<(8); + $104 = ($53|0)==(0); + $105 = $104 & $103; + $106 = $102 | $105; + if ($106) { + $$3162183 = $$0159;$108 = $55;$109 = $53; + while(1) { + $107 = $$3162183 << 4; + $110 = (_i64Add(($108|0),($109|0),1,0)|0); + $111 = tempRet0; + $112 = ($111|0)<(0); + $113 = ($110>>>0)<(8); + $114 = ($111|0)==(0); + $115 = $114 & $113; + $116 = $112 | $115; + if ($116) { + $$3162183 = $107;$108 = $110;$109 = $111; + } else { + $$3162$lcssa = $107; + break; + } + } + } else { + $$3162$lcssa = $$0159; + } + $117 = $$2$lcssa | 32; + $118 = ($117|0)==(112); + if ($118) { + $119 = (_scanexp($0,$4)|0); + $120 = tempRet0; + $121 = ($119|0)==(0); + $122 = ($120|0)==(-2147483648); + $123 = $121 & $122; + if ($123) { + $124 = ($4|0)==(0); + if ($124) { + ___shlim($0,0); + $$0165 = 0.0; + break; + } + $125 = HEAP32[$7>>2]|0; + $126 = ($125|0)==(0|0); + if ($126) { + $137 = 0;$138 = 0; + } else { + $127 = HEAP32[$5>>2]|0; + $128 = ((($127)) + -1|0); + HEAP32[$5>>2] = $128; + $137 = 0;$138 = 0; + } + } else { + $137 = $119;$138 = $120; + } + } else { + $129 = HEAP32[$7>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $137 = 0;$138 = 0; + } else { + $131 = HEAP32[$5>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$5>>2] = $132; + $137 = 0;$138 = 0; + } + } + $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); + $134 = tempRet0; + $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); + $136 = tempRet0; + $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); + $140 = tempRet0; + $141 = ($$3162$lcssa|0)==(0); + if ($141) { + $142 = (+($3|0)); + $143 = $142 * 0.0; + $$0165 = $143; + break; + } + $144 = (0 - ($2))|0; + $145 = ($144|0)<(0); + $146 = $145 << 31 >> 31; + $147 = ($140|0)>($146|0); + $148 = ($139>>>0)>($144>>>0); + $149 = ($140|0)==($146|0); + $150 = $149 & $148; + $151 = $147 | $150; + if ($151) { + $152 = (___errno_location()|0); + HEAP32[$152>>2] = 34; + $153 = (+($3|0)); + $154 = $153 * 1.7976931348623157E+308; + $155 = $154 * 1.7976931348623157E+308; + $$0165 = $155; + break; + } + $156 = (($2) + -106)|0; + $157 = ($156|0)<(0); + $158 = $157 << 31 >> 31; + $159 = ($140|0)<($158|0); + $160 = ($139>>>0)<($156>>>0); + $161 = ($140|0)==($158|0); + $162 = $161 & $160; + $163 = $159 | $162; + if ($163) { + $165 = (___errno_location()|0); + HEAP32[$165>>2] = 34; + $166 = (+($3|0)); + $167 = $166 * 2.2250738585072014E-308; + $168 = $167 * 2.2250738585072014E-308; + $$0165 = $168; + break; + } + $164 = ($$3162$lcssa|0)>(-1); + if ($164) { + $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; + while(1) { + $169 = !($$3158179 >= 0.5); + $170 = $$4163178 << 1; + $171 = $$3158179 + -1.0; + $not$ = $169 ^ 1; + $172 = $not$&1; + $$5164 = $170 | $172; + $$pn = $169 ? $$3158179 : $171; + $$4 = $$3158179 + $$pn; + $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); + $176 = tempRet0; + $177 = ($$5164|0)>(-1); + if ($177) { + $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; + } else { + $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; + break; + } + } + } else { + $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; + } + $178 = ($1|0)<(0); + $179 = $178 << 31 >> 31; + $180 = ($2|0)<(0); + $181 = $180 << 31 >> 31; + $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); + $183 = tempRet0; + $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); + $187 = tempRet0; + $188 = ($179|0)>($187|0); + $189 = ($1>>>0)>($186>>>0); + $190 = ($179|0)==($187|0); + $191 = $190 & $189; + $192 = $188 | $191; + if ($192) { + $193 = ($186|0)>(0); + if ($193) { + $$0166 = $186; + label = 59; + } else { + $$0166170 = 0;$197 = 84; + label = 61; + } + } else { + $$0166 = $1; + label = 59; + } + if ((label|0) == 59) { + $194 = ($$0166|0)<(53); + $195 = (84 - ($$0166))|0; + if ($194) { + $$0166170 = $$0166;$197 = $195; + label = 61; + } else { + $$pre = (+($3|0)); + $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; + } + } + if ((label|0) == 61) { + $196 = (+($3|0)); + $198 = (+_scalbn(1.0,$197)); + $199 = (+_copysignl($198,$196)); + $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; + } + $200 = ($$0166169|0)<(32); + $201 = $$3158$lcssa != 0.0; + $or$cond4 = $201 & $200; + $202 = $$4163$lcssa & 1; + $203 = ($202|0)==(0); + $or$cond168 = $203 & $or$cond4; + $204 = $or$cond168&1; + $$6 = (($204) + ($$4163$lcssa))|0; + $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; + $205 = (+($$6>>>0)); + $206 = $$pre$phiZ2D * $205; + $207 = $$0151 + $206; + $208 = $$pre$phiZ2D * $$5; + $209 = $208 + $207; + $210 = $209 - $$0151; + $211 = $210 != 0.0; + if (!($211)) { + $212 = (___errno_location()|0); + HEAP32[$212>>2] = 34; + } + $213 = (+_scalbnl($210,$184)); + $$0165 = $213; + } + } while(0); + return (+$$0165); +} +function _decfloat($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; + var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; + var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; + var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; + var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; + var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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; + var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; + var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; + var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; + var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; + var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; + var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; + var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; + var $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, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 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; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; + var label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); + $6 = sp; + $sum = (($3) + ($2))|0; + $7 = (0 - ($sum))|0; + $8 = ((($0)) + 4|0); + $9 = ((($0)) + 100|0); + $$0329 = $1;$$0396 = 0; + L1: while(1) { + switch ($$0329|0) { + case 46: { + label = 6; + break L1; + break; + } + case 48: { + break; + } + default: { + $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; + break L1; + } + } + $10 = HEAP32[$8>>2]|0; + $11 = HEAP32[$9>>2]|0; + $12 = ($10>>>0)<($11>>>0); + if ($12) { + $13 = ((($10)) + 1|0); + HEAP32[$8>>2] = $13; + $14 = HEAP8[$10>>0]|0; + $15 = $14&255; + $$0329 = $15;$$0396 = 1; + continue; + } else { + $16 = (___shgetc($0)|0); + $$0329 = $16;$$0396 = 1; + continue; + } + } + if ((label|0) == 6) { + $17 = HEAP32[$8>>2]|0; + $18 = HEAP32[$9>>2]|0; + $19 = ($17>>>0)<($18>>>0); + if ($19) { + $20 = ((($17)) + 1|0); + HEAP32[$8>>2] = $20; + $21 = HEAP8[$17>>0]|0; + $22 = $21&255; + $$1330$ph = $22; + } else { + $23 = (___shgetc($0)|0); + $$1330$ph = $23; + } + $24 = ($$1330$ph|0)==(48); + if ($24) { + $25 = 0;$26 = 0; + while(1) { + $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); + $28 = tempRet0; + $29 = HEAP32[$8>>2]|0; + $30 = HEAP32[$9>>2]|0; + $31 = ($29>>>0)<($30>>>0); + if ($31) { + $32 = ((($29)) + 1|0); + HEAP32[$8>>2] = $32; + $33 = HEAP8[$29>>0]|0; + $34 = $33&255; + $$1330$be = $34; + } else { + $35 = (___shgetc($0)|0); + $$1330$be = $35; + } + $36 = ($$1330$be|0)==(48); + if ($36) { + $25 = $27;$26 = $28; + } else { + $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; + break; + } + } + } else { + $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; + } + } + HEAP32[$6>>2] = 0; + $37 = (($$2) + -48)|0; + $38 = ($37>>>0)<(10); + $39 = ($$2|0)==(46); + $40 = $39 | $38; + L20: do { + if ($40) { + $41 = ((($6)) + 496|0); + $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; + L22: while(1) { + do { + if ($368) { + $cond = ($$1394511|0)==(0); + if ($cond) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; + } else { + break L22; + } + } else { + $43 = ($$0345512|0)<(125); + $46 = (_i64Add(($44|0),($45|0),1,0)|0); + $47 = tempRet0; + $48 = ($$3514|0)!=(48); + if (!($43)) { + if (!($48)) { + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $57 = HEAP32[$41>>2]|0; + $58 = $57 | 1; + HEAP32[$41>>2] = $58; + $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + break; + } + $$$0401 = $48 ? $46 : $$0401509; + $49 = ($$0341513|0)==(0); + $$pre = (($6) + ($$0345512<<2)|0); + if ($49) { + $$sink = $369; + } else { + $50 = HEAP32[$$pre>>2]|0; + $51 = ($50*10)|0; + $52 = (($$3514) + -48)|0; + $53 = (($52) + ($51))|0; + $$sink = $53; + } + HEAP32[$$pre>>2] = $$sink; + $54 = (($$0341513) + 1)|0; + $55 = ($54|0)==(9); + $56 = $55&1; + $$$0345 = (($56) + ($$0345512))|0; + $$413 = $55 ? 0 : $54; + $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; + } + } while(0); + $59 = HEAP32[$8>>2]|0; + $60 = HEAP32[$9>>2]|0; + $61 = ($59>>>0)<($60>>>0); + if ($61) { + $62 = ((($59)) + 1|0); + HEAP32[$8>>2] = $62; + $63 = HEAP8[$59>>0]|0; + $64 = $63&255; + $$3$be = $64; + } else { + $65 = (___shgetc($0)|0); + $$3$be = $65; + } + $66 = (($$3$be) + -48)|0; + $67 = ($66>>>0)<(10); + $68 = ($$3$be|0)==(46); + $69 = $68 | $67; + if ($69) { + $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; + } else { + $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; + label = 29; + break L20; + } + } + $42 = ($$3399510|0)!=(0); + $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; + label = 37; + } else { + $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; + label = 29; + } + } while(0); + do { + if ((label|0) == 29) { + $70 = ($$1394$lcssa|0)==(0); + $71 = $70 ? $73 : $72; + $74 = $70 ? $76 : $75; + $77 = ($$3399$lcssa|0)!=(0); + $78 = $$3$lcssa | 32; + $79 = ($78|0)==(101); + $or$cond415 = $77 & $79; + if (!($or$cond415)) { + $94 = ($$3$lcssa|0)>(-1); + if ($94) { + $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; + label = 37; + break; + } else { + $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; + label = 39; + break; + } + } + $80 = (_scanexp($0,$5)|0); + $81 = tempRet0; + $82 = ($80|0)==(0); + $83 = ($81|0)==(-2147483648); + $84 = $82 & $83; + if ($84) { + $85 = ($5|0)==(0); + if ($85) { + ___shlim($0,0); + $$1 = 0.0; + break; + } + $86 = HEAP32[$9>>2]|0; + $87 = ($86|0)==(0|0); + if ($87) { + $90 = 0;$91 = 0; + } else { + $88 = HEAP32[$8>>2]|0; + $89 = ((($88)) + -1|0); + HEAP32[$8>>2] = $89; + $90 = 0;$91 = 0; + } + } else { + $90 = $80;$91 = $81; + } + $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); + $93 = tempRet0; + $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; + label = 41; + } + } while(0); + if ((label|0) == 37) { + $95 = HEAP32[$9>>2]|0; + $96 = ($95|0)==(0|0); + if ($96) { + $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; + label = 39; + } else { + $97 = HEAP32[$8>>2]|0; + $98 = ((($97)) + -1|0); + HEAP32[$8>>2] = $98; + if ($380) { + $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; + label = 41; + } else { + label = 40; + } + } + } + if ((label|0) == 39) { + if ($383) { + $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; + label = 41; + } else { + label = 40; + } + } + do { + if ((label|0) == 40) { + $99 = (___errno_location()|0); + HEAP32[$99>>2] = 22; + ___shlim($0,0); + $$1 = 0.0; + } + else if ((label|0) == 41) { + $100 = HEAP32[$6>>2]|0; + $101 = ($100|0)==(0); + if ($101) { + $102 = (+($4|0)); + $103 = $102 * 0.0; + $$1 = $103; + break; + } + $104 = ($105|0)==($106|0); + $107 = ($108|0)==($109|0); + $110 = $104 & $107; + $111 = ($109|0)<(0); + $112 = ($106>>>0)<(10); + $113 = ($109|0)==(0); + $114 = $113 & $112; + $115 = $111 | $114; + $or$cond = $115 & $110; + if ($or$cond) { + $116 = ($2|0)>(30); + $117 = $100 >>> $2; + $118 = ($117|0)==(0); + $or$cond417 = $116 | $118; + if ($or$cond417) { + $119 = (+($4|0)); + $120 = (+($100>>>0)); + $121 = $119 * $120; + $$1 = $121; + break; + } + } + $122 = (($3|0) / -2)&-1; + $123 = ($122|0)<(0); + $124 = $123 << 31 >> 31; + $125 = ($108|0)>($124|0); + $126 = ($105>>>0)>($122>>>0); + $127 = ($108|0)==($124|0); + $128 = $127 & $126; + $129 = $125 | $128; + if ($129) { + $130 = (___errno_location()|0); + HEAP32[$130>>2] = 34; + $131 = (+($4|0)); + $132 = $131 * 1.7976931348623157E+308; + $133 = $132 * 1.7976931348623157E+308; + $$1 = $133; + break; + } + $134 = (($3) + -106)|0; + $135 = ($134|0)<(0); + $136 = $135 << 31 >> 31; + $137 = ($108|0)<($136|0); + $138 = ($105>>>0)<($134>>>0); + $139 = ($108|0)==($136|0); + $140 = $139 & $138; + $141 = $137 | $140; + if ($141) { + $142 = (___errno_location()|0); + HEAP32[$142>>2] = 34; + $143 = (+($4|0)); + $144 = $143 * 2.2250738585072014E-308; + $145 = $144 * 2.2250738585072014E-308; + $$1 = $145; + break; + } + $146 = ($$0341463|0)==(0); + if ($146) { + $$3348 = $$0345467; + } else { + $147 = ($$0341463|0)<(9); + if ($147) { + $148 = (($6) + ($$0345467<<2)|0); + $$promoted = HEAP32[$148>>2]|0; + $$3344503 = $$0341463;$150 = $$promoted; + while(1) { + $149 = ($150*10)|0; + $151 = (($$3344503) + 1)|0; + $exitcond551 = ($151|0)==(9); + if ($exitcond551) { + break; + } else { + $$3344503 = $151;$150 = $149; + } + } + HEAP32[$148>>2] = $149; + } + $152 = (($$0345467) + 1)|0; + $$3348 = $152; + } + $153 = ($$0401473|0)<(9); + if ($153) { + $154 = ($$0401473|0)<=($105|0); + $155 = ($105|0)<(18); + $or$cond5 = $154 & $155; + if ($or$cond5) { + $156 = ($105|0)==(9); + $157 = HEAP32[$6>>2]|0; + if ($156) { + $158 = (+($4|0)); + $159 = (+($157>>>0)); + $160 = $158 * $159; + $$1 = $160; + break; + } + $161 = ($105|0)<(9); + if ($161) { + $162 = (+($4|0)); + $163 = (+($157>>>0)); + $164 = $162 * $163; + $165 = (8 - ($105))|0; + $166 = (4232 + ($165<<2)|0); + $167 = HEAP32[$166>>2]|0; + $168 = (+($167|0)); + $169 = $164 / $168; + $$1 = $169; + break; + } + $$neg442 = Math_imul($105, -3)|0; + $$neg443 = (($2) + 27)|0; + $170 = (($$neg443) + ($$neg442))|0; + $171 = ($170|0)>(30); + $172 = $157 >>> $170; + $173 = ($172|0)==(0); + $or$cond419 = $171 | $173; + if ($or$cond419) { + $174 = (($105) + -10)|0; + $175 = (4232 + ($174<<2)|0); + $176 = (+($4|0)); + $177 = (+($157>>>0)); + $178 = $176 * $177; + $179 = HEAP32[$175>>2]|0; + $180 = (+($179|0)); + $181 = $178 * $180; + $$1 = $181; + break; + } + } + } + $182 = (($105|0) % 9)&-1; + $183 = ($182|0)==(0); + if ($183) { + $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; + } else { + $184 = ($105|0)>(-1); + $185 = (($182) + 9)|0; + $186 = $184 ? $182 : $185; + $187 = (8 - ($186))|0; + $188 = (4232 + ($187<<2)|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($$3348|0)==(0); + if ($190) { + $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; + } else { + $191 = (1000000000 / ($189|0))&-1; + $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; + while(1) { + $192 = (($6) + ($$4349495<<2)|0); + $193 = HEAP32[$192>>2]|0; + $194 = (($193>>>0) % ($189>>>0))&-1; + $195 = (($193>>>0) / ($189>>>0))&-1; + $196 = (($195) + ($$0340496))|0; + HEAP32[$192>>2] = $196; + $197 = Math_imul($191, $194)|0; + $198 = ($$4349495|0)==($$0350494|0); + $199 = ($196|0)==(0); + $or$cond420 = $198 & $199; + $200 = (($$0350494) + 1)|0; + $201 = $200 & 127; + $202 = (($$0385493) + -9)|0; + $$$0385 = $or$cond420 ? $202 : $$0385493; + $$$0350 = $or$cond420 ? $201 : $$0350494; + $203 = (($$4349495) + 1)|0; + $204 = ($203|0)==($$3348|0); + if ($204) { + break; + } else { + $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; + } + } + $205 = ($197|0)==(0); + if ($205) { + $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; + } else { + $206 = (($6) + ($$3348<<2)|0); + $207 = (($$3348) + 1)|0; + HEAP32[$206>>2] = $197; + $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; + } + } + $208 = (9 - ($186))|0; + $209 = (($208) + ($$0385$lcssa553))|0; + $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; + } + L101: while(1) { + $210 = ($$2387$ph447|0)<(18); + $211 = ($$2387$ph447|0)==(18); + $212 = (($6) + ($$2352$ph449<<2)|0); + $$0380 = $$0380$ph;$$1373 = $$1373$ph448; + while(1) { + if (!($210)) { + if (!($211)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; + break L101; + } + $213 = HEAP32[$212>>2]|0; + $214 = ($213>>>0)<(9007199); + if (!($214)) { + $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; + break L101; + } + } + $215 = (($$1373) + 127)|0; + $$0334 = 0;$$2374 = $$1373;$$5$in = $215; + while(1) { + $$5 = $$5$in & 127; + $216 = (($6) + ($$5<<2)|0); + $217 = HEAP32[$216>>2]|0; + $218 = (_bitshift64Shl(($217|0),0,29)|0); + $219 = tempRet0; + $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); + $221 = tempRet0; + $222 = ($221>>>0)>(0); + $223 = ($220>>>0)>(1000000000); + $224 = ($221|0)==(0); + $225 = $224 & $223; + $226 = $222 | $225; + if ($226) { + $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); + $228 = tempRet0; + $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); + $230 = tempRet0; + $$1335 = $227;$$sink421$off0 = $229; + } else { + $$1335 = 0;$$sink421$off0 = $220; + } + HEAP32[$216>>2] = $$sink421$off0; + $231 = (($$2374) + 127)|0; + $232 = $231 & 127; + $233 = ($$5|0)!=($232|0); + $234 = ($$5|0)==($$2352$ph449|0); + $or$cond422 = $233 | $234; + $or$cond422$not = $or$cond422 ^ 1; + $235 = ($$sink421$off0|0)==(0); + $or$cond423 = $235 & $or$cond422$not; + $$3375 = $or$cond423 ? $$5 : $$2374; + $236 = (($$5) + -1)|0; + if ($234) { + break; + } else { + $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; + } + } + $237 = (($$0380) + -29)|0; + $238 = ($$1335|0)==(0); + if ($238) { + $$0380 = $237;$$1373 = $$3375; + } else { + break; + } + } + $239 = (($$2387$ph447) + 9)|0; + $240 = (($$2352$ph449) + 127)|0; + $241 = $240 & 127; + $242 = ($241|0)==($$3375|0); + $243 = (($$3375) + 127)|0; + $244 = $243 & 127; + $245 = (($$3375) + 126)|0; + $246 = $245 & 127; + $247 = (($6) + ($246<<2)|0); + if ($242) { + $248 = (($6) + ($244<<2)|0); + $249 = HEAP32[$248>>2]|0; + $250 = HEAP32[$247>>2]|0; + $251 = $250 | $249; + HEAP32[$247>>2] = $251; + $$4376 = $244; + } else { + $$4376 = $$3375; + } + $252 = (($6) + ($241<<2)|0); + HEAP32[$252>>2] = $$1335; + $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; + } + L119: while(1) { + $289 = (($$6378$ph) + 1)|0; + $287 = $289 & 127; + $290 = (($$6378$ph) + 127)|0; + $291 = $290 & 127; + $292 = (($6) + ($291<<2)|0); + $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; + while(1) { + $265 = ($$4389$ph|0)==(18); + $293 = ($$4389$ph|0)>(27); + $$425 = $293 ? 9 : 1; + $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; + while(1) { + $$0336486 = 0; + while(1) { + $253 = (($$0336486) + ($$4354))|0; + $254 = $253 & 127; + $255 = ($254|0)==($$6378$ph|0); + if ($255) { + $$1337 = 2; + label = 88; + break; + } + $256 = (($6) + ($254<<2)|0); + $257 = HEAP32[$256>>2]|0; + $258 = (4264 + ($$0336486<<2)|0); + $259 = HEAP32[$258>>2]|0; + $260 = ($257>>>0)<($259>>>0); + if ($260) { + $$1337 = 2; + label = 88; + break; + } + $261 = ($257>>>0)>($259>>>0); + if ($261) { + break; + } + $262 = (($$0336486) + 1)|0; + $263 = ($262|0)<(2); + if ($263) { + $$0336486 = $262; + } else { + $$1337 = $262; + label = 88; + break; + } + } + if ((label|0) == 88) { + label = 0; + $264 = ($$1337|0)==(2); + $or$cond11 = $265 & $264; + if ($or$cond11) { + $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; + break L119; + } + } + $266 = (($$425) + ($$1381))|0; + $267 = ($$4354|0)==($$6378$ph|0); + if ($267) { + $$1381 = $266;$$4354 = $$6378$ph; + } else { + break; + } + } + $268 = 1 << $$425; + $269 = (($268) + -1)|0; + $270 = 1000000000 >>> $$425; + $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; + while(1) { + $271 = (($6) + ($$6489<<2)|0); + $272 = HEAP32[$271>>2]|0; + $273 = $272 & $269; + $274 = $272 >>> $$425; + $275 = (($274) + ($$0332490))|0; + HEAP32[$271>>2] = $275; + $276 = Math_imul($273, $270)|0; + $277 = ($$6489|0)==($$5355488|0); + $278 = ($275|0)==(0); + $or$cond426 = $277 & $278; + $279 = (($$5355488) + 1)|0; + $280 = $279 & 127; + $281 = (($$5390487) + -9)|0; + $$$5390 = $or$cond426 ? $281 : $$5390487; + $$$5355 = $or$cond426 ? $280 : $$5355488; + $282 = (($$6489) + 1)|0; + $283 = $282 & 127; + $284 = ($283|0)==($$6378$ph|0); + if ($284) { + break; + } else { + $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; + } + } + $285 = ($276|0)==(0); + if ($285) { + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + continue; + } + $286 = ($287|0)==($$$5355|0); + if (!($286)) { + break; + } + $294 = HEAP32[$292>>2]|0; + $295 = $294 | 1; + HEAP32[$292>>2] = $295; + $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; + } + $288 = (($6) + ($$6378$ph<<2)|0); + HEAP32[$288>>2] = $276; + $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; + } + while(1) { + $296 = (($$4485) + ($$4354))|0; + $297 = $296 & 127; + $298 = ($297|0)==($$9483|0); + $299 = (($$9483) + 1)|0; + $300 = $299 & 127; + if ($298) { + $301 = (($300) + -1)|0; + $302 = (($6) + ($301<<2)|0); + HEAP32[$302>>2] = 0; + $$10 = $300; + } else { + $$10 = $$9483; + } + $303 = $$0365484 * 1.0E+9; + $304 = (($6) + ($297<<2)|0); + $305 = HEAP32[$304>>2]|0; + $306 = (+($305>>>0)); + $307 = $303 + $306; + $308 = (($$4485) + 1)|0; + $exitcond = ($308|0)==(2); + if ($exitcond) { + break; + } else { + $$0365484 = $307;$$4485 = $308;$$9483 = $$10; + } + } + $309 = (+($4|0)); + $310 = $309 * $307; + $311 = (($$1381) + 53)|0; + $312 = (($311) - ($3))|0; + $313 = ($312|0)<($2|0); + $314 = ($312|0)>(0); + $$ = $314 ? $312 : 0; + $$0333 = $313 ? $$ : $2; + $315 = ($$0333|0)<(53); + if ($315) { + $316 = (105 - ($$0333))|0; + $317 = (+_scalbn(1.0,$316)); + $318 = (+_copysignl($317,$310)); + $319 = (53 - ($$0333))|0; + $320 = (+_scalbn(1.0,$319)); + $321 = (+_fmodl($310,$320)); + $322 = $310 - $321; + $323 = $318 + $322; + $$0360 = $318;$$0361 = $321;$$1366 = $323; + } else { + $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; + } + $324 = (($$4354) + 2)|0; + $325 = $324 & 127; + $326 = ($325|0)==($$10|0); + if ($326) { + $$3364 = $$0361; + } else { + $327 = (($6) + ($325<<2)|0); + $328 = HEAP32[$327>>2]|0; + $329 = ($328>>>0)<(500000000); + do { + if ($329) { + $330 = ($328|0)==(0); + if ($330) { + $331 = (($$4354) + 3)|0; + $332 = $331 & 127; + $333 = ($332|0)==($$10|0); + if ($333) { + $$1362 = $$0361; + break; + } + } + $334 = $309 * 0.25; + $335 = $334 + $$0361; + $$1362 = $335; + } else { + $336 = ($328|0)==(500000000); + if (!($336)) { + $337 = $309 * 0.75; + $338 = $337 + $$0361; + $$1362 = $338; + break; + } + $339 = (($$4354) + 3)|0; + $340 = $339 & 127; + $341 = ($340|0)==($$10|0); + if ($341) { + $342 = $309 * 0.5; + $343 = $342 + $$0361; + $$1362 = $343; + break; + } else { + $344 = $309 * 0.75; + $345 = $344 + $$0361; + $$1362 = $345; + break; + } + } + } while(0); + $346 = (53 - ($$0333))|0; + $347 = ($346|0)>(1); + if ($347) { + $348 = (+_fmodl($$1362,1.0)); + $349 = $348 != 0.0; + if ($349) { + $$3364 = $$1362; + } else { + $350 = $$1362 + 1.0; + $$3364 = $350; + } + } else { + $$3364 = $$1362; + } + } + $351 = $$1366 + $$3364; + $352 = $351 - $$0360; + $353 = $311 & 2147483647; + $354 = (-2 - ($sum))|0; + $355 = ($353|0)>($354|0); + do { + if ($355) { + $356 = (+Math_abs((+$352))); + $357 = !($356 >= 9007199254740992.0); + $358 = $352 * 0.5; + $not$ = $357 ^ 1; + $359 = $not$&1; + $$3383 = (($359) + ($$1381))|0; + $$2367 = $357 ? $352 : $358; + $360 = (($$3383) + 50)|0; + $361 = ($360|0)>($7|0); + if (!($361)) { + $362 = ($$0333|0)!=($312|0); + $narrow = $362 | $357; + $$2371$v = $313 & $narrow; + $363 = $$3364 != 0.0; + $or$cond14 = $363 & $$2371$v; + if (!($or$cond14)) { + $$3368 = $$2367;$$4384 = $$3383; + break; + } + } + $364 = (___errno_location()|0); + HEAP32[$364>>2] = 34; + $$3368 = $$2367;$$4384 = $$3383; + } else { + $$3368 = $352;$$4384 = $$1381; + } + } while(0); + $365 = (+_scalbnl($$3368,$$4384)); + $$1 = $365; + } + } while(0); + STACKTOP = sp;return (+$$1); +} +function _scanexp($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $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; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $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$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 100|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($3>>>0)<($5>>>0); + if ($6) { + $7 = ((($3)) + 1|0); + HEAP32[$2>>2] = $7; + $8 = HEAP8[$3>>0]|0; + $9 = $8&255; + $11 = $9; + } else { + $10 = (___shgetc($0)|0); + $11 = $10; + } + switch ($11|0) { + case 43: case 45: { + $12 = ($11|0)==(45); + $13 = $12&1; + $14 = HEAP32[$2>>2]|0; + $15 = HEAP32[$4>>2]|0; + $16 = ($14>>>0)<($15>>>0); + if ($16) { + $17 = ((($14)) + 1|0); + HEAP32[$2>>2] = $17; + $18 = HEAP8[$14>>0]|0; + $19 = $18&255; + $22 = $19; + } else { + $20 = (___shgetc($0)|0); + $22 = $20; + } + $21 = (($22) + -48)|0; + $23 = ($21>>>0)>(9); + $24 = ($1|0)!=(0); + $or$cond3 = $24 & $23; + if ($or$cond3) { + $25 = HEAP32[$4>>2]|0; + $26 = ($25|0)==(0|0); + if ($26) { + $$0 = $13;$$049 = $22; + } else { + $27 = HEAP32[$2>>2]|0; + $28 = ((($27)) + -1|0); + HEAP32[$2>>2] = $28; + $$0 = $13;$$049 = $22; + } + } else { + $$0 = $13;$$049 = $22; + } + break; + } + default: { + $$0 = 0;$$049 = $11; + } + } + $29 = (($$049) + -48)|0; + $30 = ($29>>>0)>(9); + if ($30) { + $31 = HEAP32[$4>>2]|0; + $32 = ($31|0)==(0|0); + if ($32) { + $100 = -2147483648;$101 = 0; + } else { + $33 = HEAP32[$2>>2]|0; + $34 = ((($33)) + -1|0); + HEAP32[$2>>2] = $34; + $100 = -2147483648;$101 = 0; + } + } else { + $$04861 = 0;$$160 = $$049; + while(1) { + $35 = ($$04861*10)|0; + $36 = (($$160) + -48)|0; + $37 = (($36) + ($35))|0; + $38 = HEAP32[$2>>2]|0; + $39 = HEAP32[$4>>2]|0; + $40 = ($38>>>0)<($39>>>0); + if ($40) { + $41 = ((($38)) + 1|0); + HEAP32[$2>>2] = $41; + $42 = HEAP8[$38>>0]|0; + $43 = $42&255; + $$1$be = $43; + } else { + $44 = (___shgetc($0)|0); + $$1$be = $44; + } + $45 = (($$1$be) + -48)|0; + $46 = ($45>>>0)<(10); + $47 = ($37|0)<(214748364); + $48 = $46 & $47; + if ($48) { + $$04861 = $37;$$160 = $$1$be; + } else { + break; + } + } + $49 = ($37|0)<(0); + $50 = $49 << 31 >> 31; + $51 = (($$1$be) + -48)|0; + $52 = ($51>>>0)<(10); + if ($52) { + $$254 = $$1$be;$56 = $37;$57 = $50; + while(1) { + $58 = (___muldi3(($56|0),($57|0),10,0)|0); + $59 = tempRet0; + $60 = ($$254|0)<(0); + $61 = $60 << 31 >> 31; + $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); + $63 = tempRet0; + $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); + $65 = tempRet0; + $66 = HEAP32[$2>>2]|0; + $67 = HEAP32[$4>>2]|0; + $68 = ($66>>>0)<($67>>>0); + if ($68) { + $69 = ((($66)) + 1|0); + HEAP32[$2>>2] = $69; + $70 = HEAP8[$66>>0]|0; + $71 = $70&255; + $$2$be = $71; + } else { + $72 = (___shgetc($0)|0); + $$2$be = $72; + } + $73 = (($$2$be) + -48)|0; + $74 = ($73>>>0)<(10); + $75 = ($65|0)<(21474836); + $76 = ($64>>>0)<(2061584302); + $77 = ($65|0)==(21474836); + $78 = $77 & $76; + $79 = $75 | $78; + $80 = $74 & $79; + if ($80) { + $$254 = $$2$be;$56 = $64;$57 = $65; + } else { + $$2$lcssa = $$2$be;$94 = $64;$95 = $65; + break; + } + } + } else { + $$2$lcssa = $$1$be;$94 = $37;$95 = $50; + } + $53 = (($$2$lcssa) + -48)|0; + $54 = ($53>>>0)<(10); + $55 = HEAP32[$4>>2]|0; + if ($54) { + $83 = $55; + while(1) { + $81 = HEAP32[$2>>2]|0; + $82 = ($81>>>0)<($83>>>0); + if ($82) { + $84 = ((($81)) + 1|0); + HEAP32[$2>>2] = $84; + $85 = HEAP8[$81>>0]|0; + $86 = $85&255; + $$3$be = $86;$102 = $83; + } else { + $87 = (___shgetc($0)|0); + $$pre = HEAP32[$4>>2]|0; + $$3$be = $87;$102 = $$pre; + } + $88 = (($$3$be) + -48)|0; + $89 = ($88>>>0)<(10); + if ($89) { + $83 = $102; + } else { + $$lcssa = $102; + break; + } + } + } else { + $$lcssa = $55; + } + $90 = ($$lcssa|0)==(0|0); + if (!($90)) { + $91 = HEAP32[$2>>2]|0; + $92 = ((($91)) + -1|0); + HEAP32[$2>>2] = $92; + } + $93 = ($$0|0)!=(0); + $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); + $97 = tempRet0; + $98 = $93 ? $96 : $94; + $99 = $93 ? $97 : $95; + $100 = $99;$101 = $98; + } + tempRet0 = ($100); + return ($101|0); +} +function _scalbn($0,$1) { + $0 = +$0; + $1 = $1|0; + var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; + var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)>(1023); + if ($2) { + $3 = $0 * 8.9884656743115795E+307; + $4 = (($1) + -1023)|0; + $5 = ($4|0)>(1023); + $6 = $3 * 8.9884656743115795E+307; + $7 = (($1) + -2046)|0; + $8 = ($7|0)<(1023); + $$ = $8 ? $7 : 1023; + $$$ = $5 ? $$ : $4; + $$21 = $5 ? $6 : $3; + $$0 = $$21;$$020 = $$$; + } else { + $9 = ($1|0)<(-1022); + if ($9) { + $10 = $0 * 2.2250738585072014E-308; + $11 = (($1) + 1022)|0; + $12 = ($11|0)<(-1022); + $13 = $10 * 2.2250738585072014E-308; + $14 = (($1) + 2044)|0; + $15 = ($14|0)>(-1022); + $$1 = $15 ? $14 : -1022; + $$1$ = $12 ? $$1 : $11; + $$22 = $12 ? $13 : $10; + $$0 = $$22;$$020 = $$1$; + } else { + $$0 = $0;$$020 = $1; + } + } + $16 = (($$020) + 1023)|0; + $17 = (_bitshift64Shl(($16|0),0,52)|0); + $18 = tempRet0; + HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; + $20 = $$0 * $19; + return (+$20); +} +function _copysignl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_copysign($0,$1)); + return (+$2); +} +function _fmodl($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_fmod($0,$1)); + return (+$2); +} +function _scalbnl($0,$1) { + $0 = +$0; + $1 = $1|0; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (+_scalbn($0,$1)); + return (+$2); +} +function _fmod($0,$1) { + $0 = +$0; + $1 = +$1; + var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; + var $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, $123 = 0; + var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.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, $141 = 0; + var $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.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; + var $160 = 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.0, $28 = 0.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.0, $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; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; + $3 = HEAP32[tempDoublePtr+4>>2]|0; + HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; + $5 = HEAP32[tempDoublePtr+4>>2]|0; + $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); + $7 = tempRet0; + $8 = $6 & 2047; + $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); + $10 = tempRet0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); + $14 = tempRet0; + $15 = ($13|0)==(0); + $16 = ($14|0)==(0); + $17 = $15 & $16; + L1: do { + if ($17) { + label = 3; + } else { + $18 = (___DOUBLE_BITS_272($1)|0); + $19 = tempRet0; + $20 = $19 & 2147483647; + $21 = ($20>>>0)>(2146435072); + $22 = ($18>>>0)>(0); + $23 = ($20|0)==(2146435072); + $24 = $23 & $22; + $25 = $21 | $24; + $26 = ($8|0)==(2047); + $or$cond = $26 | $25; + if ($or$cond) { + label = 3; + } else { + $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); + $30 = tempRet0; + $31 = ($30>>>0)>($14>>>0); + $32 = ($29>>>0)>($13>>>0); + $33 = ($30|0)==($14|0); + $34 = $33 & $32; + $35 = $31 | $34; + if (!($35)) { + $36 = ($29|0)==($13|0); + $37 = ($30|0)==($14|0); + $38 = $36 & $37; + $39 = $0 * 0.0; + $$ = $38 ? $39 : $0; + return (+$$); + } + $40 = ($8|0)==(0); + if ($40) { + $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); + $42 = tempRet0; + $43 = ($42|0)>(-1); + $44 = ($41>>>0)>(4294967295); + $45 = ($42|0)==(-1); + $46 = $45 & $44; + $47 = $43 | $46; + if ($47) { + $$073100 = 0;$49 = $41;$50 = $42; + while(1) { + $48 = (($$073100) + -1)|0; + $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); + $52 = tempRet0; + $53 = ($52|0)>(-1); + $54 = ($51>>>0)>(4294967295); + $55 = ($52|0)==(-1); + $56 = $55 & $54; + $57 = $53 | $56; + if ($57) { + $$073100 = $48;$49 = $51;$50 = $52; + } else { + $$073$lcssa = $48; + break; + } + } + } else { + $$073$lcssa = 0; + } + $58 = (1 - ($$073$lcssa))|0; + $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); + $60 = tempRet0; + $$174 = $$073$lcssa;$87 = $59;$88 = $60; + } else { + $61 = $3 & 1048575; + $62 = $61 | 1048576; + $$174 = $8;$87 = $2;$88 = $62; + } + $63 = ($11|0)==(0); + if ($63) { + $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); + $65 = tempRet0; + $66 = ($65|0)>(-1); + $67 = ($64>>>0)>(4294967295); + $68 = ($65|0)==(-1); + $69 = $68 & $67; + $70 = $66 | $69; + if ($70) { + $$07194 = 0;$72 = $64;$73 = $65; + while(1) { + $71 = (($$07194) + -1)|0; + $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); + $75 = tempRet0; + $76 = ($75|0)>(-1); + $77 = ($74>>>0)>(4294967295); + $78 = ($75|0)==(-1); + $79 = $78 & $77; + $80 = $76 | $79; + if ($80) { + $$07194 = $71;$72 = $74;$73 = $75; + } else { + $$071$lcssa = $71; + break; + } + } + } else { + $$071$lcssa = 0; + } + $81 = (1 - ($$071$lcssa))|0; + $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); + $83 = tempRet0; + $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; + } else { + $84 = $5 & 1048575; + $85 = $84 | 1048576; + $$172$ph = $11;$89 = $4;$90 = $85; + } + $86 = ($$174|0)>($$172$ph|0); + $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); + $92 = tempRet0; + $93 = ($92|0)>(-1); + $94 = ($91>>>0)>(4294967295); + $95 = ($92|0)==(-1); + $96 = $95 & $94; + $97 = $93 | $96; + L23: do { + if ($86) { + $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; + while(1) { + if ($156) { + $98 = ($99|0)==(0); + $100 = ($101|0)==(0); + $102 = $98 & $100; + if ($102) { + break; + } else { + $104 = $99;$105 = $101; + } + } else { + $104 = $157;$105 = $158; + } + $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); + $107 = tempRet0; + $108 = (($$27586) + -1)|0; + $109 = ($108|0)>($$172$ph|0); + $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); + $111 = tempRet0; + $112 = ($111|0)>(-1); + $113 = ($110>>>0)>(4294967295); + $114 = ($111|0)==(-1); + $115 = $114 & $113; + $116 = $112 | $115; + if ($109) { + $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; + } else { + $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; + break L23; + } + } + $103 = $0 * 0.0; + $$070 = $103; + break L1; + } else { + $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; + } + } while(0); + if ($$lcssa) { + $117 = ($118|0)==(0); + $119 = ($120|0)==(0); + $121 = $117 & $119; + if ($121) { + $129 = $0 * 0.0; + $$070 = $129; + break; + } else { + $123 = $120;$125 = $118; + } + } else { + $123 = $160;$125 = $159; + } + $122 = ($123>>>0)<(1048576); + $124 = ($125>>>0)<(0); + $126 = ($123|0)==(1048576); + $127 = $126 & $124; + $128 = $122 | $127; + if ($128) { + $$37683 = $$275$lcssa;$130 = $125;$131 = $123; + while(1) { + $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); + $133 = tempRet0; + $134 = (($$37683) + -1)|0; + $135 = ($133>>>0)<(1048576); + $136 = ($132>>>0)<(0); + $137 = ($133|0)==(1048576); + $138 = $137 & $136; + $139 = $135 | $138; + if ($139) { + $$37683 = $134;$130 = $132;$131 = $133; + } else { + $$376$lcssa = $134;$141 = $132;$142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; + } + $140 = ($$376$lcssa|0)>(0); + if ($140) { + $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); + $144 = tempRet0; + $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); + $146 = tempRet0; + $147 = $143 | $145; + $148 = $144 | $146; + $153 = $148;$155 = $147; + } else { + $149 = (1 - ($$376$lcssa))|0; + $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); + $151 = tempRet0; + $153 = $151;$155 = $150; + } + $152 = $153 | $12; + HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; + $$070 = $154; + } + } + } while(0); + if ((label|0) == 3) { + $27 = $0 * $1; + $28 = $27 / $27; + $$070 = $28; + } + return (+$$070); +} +function ___DOUBLE_BITS_272($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 _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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _mbrtowc($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $4 = sp; + $5 = ($3|0)==(0|0); + $$ = $5 ? 22748 : $3; + $6 = HEAP32[$$>>2]|0; + $7 = ($1|0)==(0|0); + L1: do { + if ($7) { + $8 = ($6|0)==(0); + if ($8) { + $$0 = 0; + } else { + label = 17; + } + } else { + $9 = ($0|0)==(0|0); + $$47 = $9 ? $4 : $0; + $10 = ($2|0)==(0); + if ($10) { + $$0 = -2; + } else { + $11 = ($6|0)==(0); + if ($11) { + $12 = HEAP8[$1>>0]|0; + $13 = ($12<<24>>24)>(-1); + if ($13) { + $14 = $12&255; + HEAP32[$$47>>2] = $14; + $15 = ($12<<24>>24)!=(0); + $16 = $15&1; + $$0 = $16; + break; + } + $17 = (___pthread_self_439()|0); + $18 = ((($17)) + 188|0); + $19 = HEAP32[$18>>2]|0; + $20 = HEAP32[$19>>2]|0; + $not$ = ($20|0)==(0|0); + $21 = HEAP8[$1>>0]|0; + if ($not$) { + $22 = $21 << 24 >> 24; + $23 = $22 & 57343; + HEAP32[$$47>>2] = $23; + $$0 = 1; + break; + } + $24 = $21&255; + $25 = (($24) + -194)|0; + $26 = ($25>>>0)>(50); + if ($26) { + label = 17; + break; + } + $27 = ((($1)) + 1|0); + $28 = (3652 + ($25<<2)|0); + $29 = HEAP32[$28>>2]|0; + $30 = (($2) + -1)|0; + $31 = ($30|0)==(0); + if ($31) { + $$2 = $29; + } else { + $$03952 = $27;$$04051 = $29;$$04350 = $30; + label = 11; + } + } else { + $$03952 = $1;$$04051 = $6;$$04350 = $2; + label = 11; + } + L14: do { + if ((label|0) == 11) { + $32 = HEAP8[$$03952>>0]|0; + $33 = $32&255; + $34 = $33 >>> 3; + $35 = (($34) + -16)|0; + $36 = $$04051 >> 26; + $37 = (($34) + ($36))|0; + $38 = $35 | $37; + $39 = ($38>>>0)>(7); + if ($39) { + label = 17; + break L1; + } else { + $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; + } + while(1) { + $40 = $$141 << 6; + $41 = ((($$1)) + 1|0); + $42 = $43&255; + $44 = (($42) + -128)|0; + $45 = $44 | $40; + $46 = (($$144) + -1)|0; + $47 = ($45|0)<(0); + if (!($47)) { + break; + } + $49 = ($46|0)==(0); + if ($49) { + $$2 = $45; + break L14; + } + $50 = HEAP8[$41>>0]|0; + $51 = $50 & -64; + $52 = ($51<<24>>24)==(-128); + if ($52) { + $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; + } else { + label = 17; + break L1; + } + } + HEAP32[$$>>2] = 0; + HEAP32[$$47>>2] = $45; + $48 = (($2) - ($46))|0; + $$0 = $48; + break L1; + } + } while(0); + HEAP32[$$>>2] = $$2; + $$0 = -2; + } + } + } while(0); + if ((label|0) == 17) { + HEAP32[$$>>2] = 0; + $53 = (___errno_location()|0); + HEAP32[$53>>2] = 84; + $$0 = -1; + } + STACKTOP = sp;return ($$0|0); +} +function ___pthread_self_439() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 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; + $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); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $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_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(19793,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + 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] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $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; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 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; + 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, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(19793,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 10; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 9; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(22688)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((22752|0)); + return (22760|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((22752|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +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[1057]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[1057]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _fgets($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 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; + var $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, $42 = 0; + var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; + var $sext$mask = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($2)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $6 = (___lockfile($2)|0); + $17 = $6; + } else { + $17 = 0; + } + $7 = (($1) + -1)|0; + $8 = ($1|0)<(2); + $9 = ($7|0)!=(0); + if ($8) { + $10 = ((($2)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ($17|0)==(0); + if (!($16)) { + ___unlockfile($2); + } + if ($9) { + $$0 = 0; + } else { + HEAP8[$0>>0] = 0; + $$0 = $0; + } + } else { + L11: do { + if ($9) { + $18 = ((($2)) + 4|0); + $19 = ((($2)) + 8|0); + $$063 = $7;$$064 = $0; + while(1) { + $20 = HEAP32[$18>>2]|0; + $21 = HEAP32[$19>>2]|0; + $22 = $20; + $23 = (($21) - ($22))|0; + $24 = (_memchr($20,10,$23)|0); + $25 = ($24|0)==(0|0); + $26 = $24; + $27 = (1 - ($22))|0; + $28 = (($27) + ($26))|0; + $29 = $25 ? $23 : $28; + $30 = ($29>>>0)<($$063>>>0); + $31 = $30 ? $29 : $$063; + _memcpy(($$064|0),($20|0),($31|0))|0; + $32 = HEAP32[$18>>2]|0; + $33 = (($32) + ($31)|0); + HEAP32[$18>>2] = $33; + $34 = (($$064) + ($31)|0); + $35 = (($$063) - ($31))|0; + $36 = ($35|0)!=(0); + $or$cond = $25 & $36; + if (!($or$cond)) { + $$1 = $34; + label = 17; + break L11; + } + $37 = HEAP32[$19>>2]|0; + $38 = ($33>>>0)<($37>>>0); + if ($38) { + $39 = ((($33)) + 1|0); + HEAP32[$18>>2] = $39; + $40 = HEAP8[$33>>0]|0; + $41 = $40&255; + $50 = $41; + } else { + $42 = (___uflow($2)|0); + $43 = ($42|0)<(0); + if ($43) { + break; + } else { + $50 = $42; + } + } + $48 = (($35) + -1)|0; + $49 = $50&255; + $51 = ((($34)) + 1|0); + HEAP8[$34>>0] = $49; + $sext$mask = $50 & 255; + $52 = ($sext$mask|0)!=(10); + $53 = ($48|0)!=(0); + $or$cond3 = $53 & $52; + if ($or$cond3) { + $$063 = $48;$$064 = $51; + } else { + $$1 = $51; + label = 17; + break L11; + } + } + $44 = ($34|0)==($0|0); + if ($44) { + $$06266 = 0; + } else { + $45 = HEAP32[$2>>2]|0; + $46 = $45 & 16; + $47 = ($46|0)==(0); + if ($47) { + $$06266 = 0; + } else { + $$1 = $34; + label = 17; + } + } + } else { + $$1 = $0; + label = 17; + } + } while(0); + if ((label|0) == 17) { + $54 = ($0|0)==(0|0); + if ($54) { + $$06266 = 0; + } else { + HEAP8[$$1>>0] = 0; + $$06266 = $0; + } + } + $55 = ($17|0)==(0); + if ($55) { + $$0 = $$06266; + } else { + ___unlockfile($2); + $$0 = $$06266; + } + } + return ($$0|0); +} +function _feof($0) { + $0 = $0|0; + var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 >>> 4; + $$lobit = $8 & 1; + if ($phitmp) { + $$lobit9 = $$lobit; + } else { + ___unlockfile($0); + $$lobit9 = $$lobit; + } + } else { + $4 = HEAP32[$0>>2]|0; + $5 = $4 >>> 4; + $$lobit8 = $5 & 1; + $$lobit9 = $$lobit8; + } + return ($$lobit9|0); +} +function _sscanf($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 = (_vsscanf($0,$1,$2)|0); + STACKTOP = sp;return ($3|0); +} +function _vsscanf($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $3 = sp; + dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $4 = ((($3)) + 32|0); + HEAP32[$4>>2] = 11; + $5 = ((($3)) + 44|0); + HEAP32[$5>>2] = $0; + $6 = ((($3)) + 76|0); + HEAP32[$6>>2] = -1; + $7 = ((($3)) + 84|0); + HEAP32[$7>>2] = $0; + $8 = (_vfscanf($3,$1,$2)|0); + STACKTOP = sp;return ($8|0); +} +function _do_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___string_read($0,$1,$2)|0); + return ($3|0); +} +function _vfscanf($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; + var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; + var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; + var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; + var $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, $226 = 0; + var $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, $244 = 0; + var $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, $261 = 0, $262 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; + var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; + var $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, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; + var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; + var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); + $3 = sp + 8|0; + $4 = sp + 17|0; + $5 = sp; + $6 = sp + 16|0; + $7 = ((($0)) + 76|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(-1); + if ($9) { + $10 = (___lockfile($0)|0); + $306 = $10; + } else { + $306 = 0; + } + $11 = HEAP8[$1>>0]|0; + $12 = ($11<<24>>24)==(0); + L4: do { + if ($12) { + $$3291 = 0; + } else { + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 100|0); + $15 = ((($0)) + 108|0); + $16 = ((($0)) + 8|0); + $17 = ((($4)) + 10|0); + $18 = ((($4)) + 33|0); + $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); + $19 = ((($4)) + 46|0); + $20 = ((($4)) + 94|0); + $21 = ((($4)) + 1|0); + $22 = ((($4)) + 1|0); + $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; + L6: while(1) { + $23 = $24&255; + $25 = (_isspace($23)|0); + $26 = ($25|0)==(0); + L8: do { + if ($26) { + $53 = ($24<<24>>24)==(37); + L10: do { + if ($53) { + $54 = ((($$0273429)) + 1|0); + $55 = HEAP8[$54>>0]|0; + L12: do { + switch ($55<<24>>24) { + case 37: { + break L10; + break; + } + case 42: { + $76 = ((($$0273429)) + 2|0); + $$0293 = 0;$$2275 = $76; + break; + } + default: { + $77 = $55&255; + $isdigittmp = (($77) + -48)|0; + $isdigit = ($isdigittmp>>>0)<(10); + if ($isdigit) { + $78 = ((($$0273429)) + 2|0); + $79 = HEAP8[$78>>0]|0; + $80 = ($79<<24>>24)==(36); + if ($80) { + $81 = (_arg_n($2,$isdigittmp)|0); + $82 = ((($$0273429)) + 3|0); + $$0293 = $81;$$2275 = $82; + break L12; + } + } + $arglist_current = HEAP32[$2>>2]|0; + $83 = $arglist_current; + $84 = ((0) + 4|0); + $expanded1 = $84; + $expanded = (($expanded1) - 1)|0; + $85 = (($83) + ($expanded))|0; + $86 = ((0) + 4|0); + $expanded5 = $86; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $87 = $85 & $expanded3; + $88 = $87; + $89 = HEAP32[$88>>2]|0; + $arglist_next = ((($88)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0293 = $89;$$2275 = $54; + } + } + } while(0); + $90 = HEAP8[$$2275>>0]|0; + $91 = $90&255; + $isdigittmp315414 = (($91) + -48)|0; + $isdigit316415 = ($isdigittmp315414>>>0)<(10); + if ($isdigit316415) { + $$0266417 = 0;$$3416 = $$2275;$95 = $91; + while(1) { + $92 = ($$0266417*10)|0; + $93 = (($92) + -48)|0; + $94 = (($93) + ($95))|0; + $96 = ((($$3416)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = $97&255; + $isdigittmp315 = (($98) + -48)|0; + $isdigit316 = ($isdigittmp315>>>0)<(10); + if ($isdigit316) { + $$0266417 = $94;$$3416 = $96;$95 = $98; + } else { + $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; + break; + } + } + } else { + $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; + } + $99 = ($$lcssa355<<24>>24)==(109); + $100 = ($$0293|0)!=(0|0); + $101 = ((($$3$lcssa)) + 1|0); + $$$0305 = $99 ? 0 : $$0305423; + $$327 = $99 ? 0 : $102; + $$$3 = $99 ? $101 : $$3$lcssa; + $narrow = $100 & $99; + $103 = ((($$$3)) + 1|0); + $104 = HEAP8[$$$3>>0]|0; + switch ($104<<24>>24) { + case 104: { + $105 = HEAP8[$103>>0]|0; + $106 = ($105<<24>>24)==(104); + $107 = ((($$$3)) + 2|0); + $$319 = $106 ? $107 : $103; + $$320 = $106 ? -2 : -1; + $$0268 = $$320;$$5 = $$319; + break; + } + case 108: { + $108 = HEAP8[$103>>0]|0; + $109 = ($108<<24>>24)==(108); + $110 = ((($$$3)) + 2|0); + $$321 = $109 ? $110 : $103; + $$322 = $109 ? 3 : 1; + $$0268 = $$322;$$5 = $$321; + break; + } + case 106: { + $$0268 = 3;$$5 = $103; + break; + } + case 116: case 122: { + $$0268 = 1;$$5 = $103; + break; + } + case 76: { + $$0268 = 2;$$5 = $103; + break; + } + case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { + $$0268 = 0;$$5 = $$$3; + break; + } + default: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + } + $111 = HEAP8[$$5>>0]|0; + $112 = $111&255; + $113 = $112 & 47; + $114 = ($113|0)==(3); + $115 = $112 | 32; + $$ = $114 ? $115 : $112; + $$$0268 = $114 ? 1 : $$0268; + $trunc = $$&255; + switch ($trunc<<24>>24) { + case 99: { + $116 = ($$0266$lcssa|0)>(1); + $$$0266 = $116 ? $$0266$lcssa : 1; + $$1267 = $$$0266;$$1284 = $$0283428; + break; + } + case 91: { + $$1267 = $$0266$lcssa;$$1284 = $$0283428; + break; + } + case 110: { + $117 = ($$0283428|0)<(0); + $118 = $117 << 31 >> 31; + _store_int($$0293,$$$0268,$$0283428,$118); + $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; + break L8; + break; + } + default: { + ___shlim($0,0); + while(1) { + $119 = HEAP32[$13>>2]|0; + $120 = HEAP32[$14>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { + $122 = ((($119)) + 1|0); + HEAP32[$13>>2] = $122; + $123 = HEAP8[$119>>0]|0; + $124 = $123&255; + $126 = $124; + } else { + $125 = (___shgetc($0)|0); + $126 = $125; + } + $127 = (_isspace($126)|0); + $128 = ($127|0)==(0); + if ($128) { + break; + } + } + $129 = HEAP32[$14>>2]|0; + $130 = ($129|0)==(0|0); + if ($130) { + $$pre507 = HEAP32[$13>>2]|0; + $138 = $$pre507; + } else { + $131 = HEAP32[$13>>2]|0; + $132 = ((($131)) + -1|0); + HEAP32[$13>>2] = $132; + $133 = $132; + $138 = $133; + } + $134 = HEAP32[$15>>2]|0; + $135 = HEAP32[$16>>2]|0; + $136 = (($134) + ($$0283428))|0; + $137 = (($136) + ($138))|0; + $139 = (($137) - ($135))|0; + $$1267 = $$0266$lcssa;$$1284 = $139; + } + } + ___shlim($0,$$1267); + $140 = HEAP32[$13>>2]|0; + $141 = HEAP32[$14>>2]|0; + $142 = ($140>>>0)<($141>>>0); + if ($142) { + $143 = ((($140)) + 1|0); + HEAP32[$13>>2] = $143; + $147 = $141; + } else { + $144 = (___shgetc($0)|0); + $145 = ($144|0)<(0); + if ($145) { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + } + $$pre509 = HEAP32[$14>>2]|0; + $147 = $$pre509; + } + $146 = ($147|0)==(0|0); + if (!($146)) { + $148 = HEAP32[$13>>2]|0; + $149 = ((($148)) + -1|0); + HEAP32[$13>>2] = $149; + } + L55: do { + switch ($trunc<<24>>24) { + case 91: case 99: case 115: { + $150 = ($$|0)==(99); + $151 = $$ | 16; + $152 = ($151|0)==(115); + L57: do { + if ($152) { + $153 = ($$|0)==(115); + _memset(($21|0),-1,256)|0; + HEAP8[$4>>0] = 0; + if ($153) { + HEAP8[$18>>0] = 0; + ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; + $$9 = $$5; + } else { + $$9 = $$5; + } + } else { + $154 = ((($$5)) + 1|0); + $155 = HEAP8[$154>>0]|0; + $156 = ($155<<24>>24)==(94); + $157 = ((($$5)) + 2|0); + $$0292 = $156&1; + $$6 = $156 ? $157 : $154; + $158 = $156&1; + _memset(($22|0),($158|0),256)|0; + HEAP8[$4>>0] = 0; + $159 = HEAP8[$$6>>0]|0; + switch ($159<<24>>24) { + case 45: { + $$sink443 = $19; + label = 64; + break; + } + case 93: { + $$sink443 = $20; + label = 64; + break; + } + default: { + $$pre514 = $$0292 ^ 1; + $$pre515 = $$pre514&255; + $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; + } + } + if ((label|0) == 64) { + label = 0; + $160 = ((($$6)) + 1|0); + $161 = $$0292 ^ 1; + $162 = $161&255; + HEAP8[$$sink443>>0] = $162; + $$7$ph = $160;$$pre$phi516Z2D = $162; + } + $$7 = $$7$ph; + while(1) { + $163 = HEAP8[$$7>>0]|0; + L69: do { + switch ($163<<24>>24) { + case 0: { + $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case 93: { + $$9 = $$7; + break L57; + break; + } + case 45: { + $164 = ((($$7)) + 1|0); + $165 = HEAP8[$164>>0]|0; + switch ($165<<24>>24) { + case 93: case 0: { + $$8 = $$7;$176 = 45; + break L69; + break; + } + default: { + } + } + $166 = ((($$7)) + -1|0); + $167 = HEAP8[$166>>0]|0; + $168 = ($167&255)<($165&255); + if ($168) { + $169 = $167&255; + $$0286420 = $169; + while(1) { + $170 = (($$0286420) + 1)|0; + $171 = (($4) + ($170)|0); + HEAP8[$171>>0] = $$pre$phi516Z2D; + $172 = HEAP8[$164>>0]|0; + $173 = $172&255; + $174 = ($170|0)<($173|0); + if ($174) { + $$0286420 = $170; + } else { + $$8 = $164;$176 = $172; + break; + } + } + } else { + $$8 = $164;$176 = $165; + } + break; + } + default: { + $$8 = $$7;$176 = $163; + } + } + } while(0); + $175 = $176&255; + $177 = (($175) + 1)|0; + $178 = (($4) + ($177)|0); + HEAP8[$178>>0] = $$pre$phi516Z2D; + $179 = ((($$8)) + 1|0); + $$7 = $179; + } + } + } while(0); + $180 = (($$1267) + 1)|0; + $181 = $150 ? $180 : 31; + $182 = ($$$0268|0)==(1); + L77: do { + if ($182) { + if ($narrow) { + $183 = $181 << 2; + $184 = (_malloc($183)|0); + $185 = ($184|0)==(0|0); + if ($185) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $311 = $184; + } + } else { + $311 = $$0293; + } + HEAP32[$3>>2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; + $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; + L82: while(1) { + $186 = ($$ph|0)==(0|0); + $$0278$ph336 = $$0278$ph; + while(1) { + L86: while(1) { + $187 = HEAP32[$13>>2]|0; + $188 = HEAP32[$14>>2]|0; + $189 = ($187>>>0)<($188>>>0); + if ($189) { + $190 = ((($187)) + 1|0); + HEAP32[$13>>2] = $190; + $191 = HEAP8[$187>>0]|0; + $192 = $191&255; + $195 = $192; + } else { + $193 = (___shgetc($0)|0); + $195 = $193; + } + $194 = (($195) + 1)|0; + $196 = (($4) + ($194)|0); + $197 = HEAP8[$196>>0]|0; + $198 = ($197<<24>>24)==(0); + if ($198) { + break L82; + } + $199 = $195&255; + HEAP8[$6>>0] = $199; + $200 = (_mbrtowc($5,$6,1,$3)|0); + switch ($200|0) { + case -1: { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + break; + } + case -2: { + break; + } + default: { + break L86; + } + } + } + if ($186) { + $$1279 = $$0278$ph336; + } else { + $201 = (($$ph) + ($$0278$ph336<<2)|0); + $202 = (($$0278$ph336) + 1)|0; + $203 = HEAP32[$5>>2]|0; + HEAP32[$201>>2] = $203; + $$1279 = $202; + } + $204 = ($$1279|0)==($$0276$ph|0); + $or$cond = $narrow & $204; + if ($or$cond) { + break; + } else { + $$0278$ph336 = $$1279; + } + } + $factor331 = $$0276$ph << 1; + $205 = $factor331 | 1; + $206 = $205 << 2; + $207 = (_realloc($$ph,$206)|0); + $208 = ($207|0)==(0|0); + if ($208) { + $$7312 = 0;$309 = $$ph;$narrow469 = 1; + label = 137; + break L6; + } else { + $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; + } + } + $209 = (_mbsinit($3)|0); + $210 = ($209|0)==(0); + if ($210) { + $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; + label = 137; + break L6; + } else { + $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; + } + } else { + if ($narrow) { + $211 = (_malloc($181)|0); + $212 = ($211|0)==(0|0); + if ($212) { + $$7312 = 0;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; + } + while(1) { + $$2280 = $$2280$ph; + while(1) { + $213 = HEAP32[$13>>2]|0; + $214 = HEAP32[$14>>2]|0; + $215 = ($213>>>0)<($214>>>0); + if ($215) { + $216 = ((($213)) + 1|0); + HEAP32[$13>>2] = $216; + $217 = HEAP8[$213>>0]|0; + $218 = $217&255; + $221 = $218; + } else { + $219 = (___shgetc($0)|0); + $221 = $219; + } + $220 = (($221) + 1)|0; + $222 = (($4) + ($220)|0); + $223 = HEAP8[$222>>0]|0; + $224 = ($223<<24>>24)==(0); + if ($224) { + $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; + break L77; + } + $225 = $221&255; + $226 = (($$2280) + 1)|0; + $227 = (($$2307$ph) + ($$2280)|0); + HEAP8[$227>>0] = $225; + $228 = ($226|0)==($$1277$ph|0); + if ($228) { + break; + } else { + $$2280 = $226; + } + } + $factor = $$1277$ph << 1; + $229 = $factor | 1; + $230 = (_realloc($$2307$ph,$229)|0); + $231 = ($230|0)==(0|0); + if ($231) { + $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; + label = 137; + break L6; + } else { + $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; + } + } + } + $232 = ($$0293|0)==(0|0); + if ($232) { + $250 = $147; + while(1) { + $248 = HEAP32[$13>>2]|0; + $249 = ($248>>>0)<($250>>>0); + if ($249) { + $251 = ((($248)) + 1|0); + HEAP32[$13>>2] = $251; + $252 = HEAP8[$248>>0]|0; + $253 = $252&255; + $256 = $253; + } else { + $254 = (___shgetc($0)|0); + $256 = $254; + } + $255 = (($256) + 1)|0; + $257 = (($4) + ($255)|0); + $258 = HEAP8[$257>>0]|0; + $259 = ($258<<24>>24)==(0); + if ($259) { + $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; + break L77; + } + $$pre512 = HEAP32[$14>>2]|0; + $250 = $$pre512; + } + } else { + $$3281 = 0;$235 = $147; + while(1) { + $233 = HEAP32[$13>>2]|0; + $234 = ($233>>>0)<($235>>>0); + if ($234) { + $236 = ((($233)) + 1|0); + HEAP32[$13>>2] = $236; + $237 = HEAP8[$233>>0]|0; + $238 = $237&255; + $241 = $238; + } else { + $239 = (___shgetc($0)|0); + $241 = $239; + } + $240 = (($241) + 1)|0; + $242 = (($4) + ($240)|0); + $243 = HEAP8[$242>>0]|0; + $244 = ($243<<24>>24)==(0); + if ($244) { + $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; + break L77; + } + $245 = $241&255; + $246 = (($$3281) + 1)|0; + $247 = (($$0293) + ($$3281)|0); + HEAP8[$247>>0] = $245; + $$pre511 = HEAP32[$14>>2]|0; + $$3281 = $246;$235 = $$pre511; + } + } + } + } while(0); + $260 = HEAP32[$14>>2]|0; + $261 = ($260|0)==(0|0); + if ($261) { + $$pre513 = HEAP32[$13>>2]|0; + $268 = $$pre513; + } else { + $262 = HEAP32[$13>>2]|0; + $263 = ((($262)) + -1|0); + HEAP32[$13>>2] = $263; + $264 = $263; + $268 = $264; + } + $265 = HEAP32[$15>>2]|0; + $266 = HEAP32[$16>>2]|0; + $267 = (($268) - ($266))|0; + $269 = (($267) + ($265))|0; + $270 = ($269|0)==(0); + if ($270) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + $$not = $150 ^ 1; + $271 = ($269|0)==($$1267|0); + $or$cond318 = $271 | $$not; + if (!($or$cond318)) { + $$9314$ph = $$4309;$$ph353 = $312; + label = 139; + break L6; + } + do { + if ($narrow) { + if ($182) { + HEAP32[$$0293>>2] = $$5299; + break; + } else { + HEAP32[$$0293>>2] = $$4309; + break; + } + } + } while(0); + if ($150) { + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } else { + $272 = ($$5299|0)==(0|0); + if (!($272)) { + $273 = (($$5299) + ($$4282<<2)|0); + HEAP32[$273>>2] = 0; + } + $274 = ($$4309|0)==(0|0); + if ($274) { + $$10 = $$9;$$5310 = 0;$310 = $312; + break L55; + } + $275 = (($$4309) + ($$4282)|0); + HEAP8[$275>>0] = 0; + $$10 = $$9;$$5310 = $$4309;$310 = $312; + } + break; + } + case 120: case 88: case 112: { + $$0272 = 16; + label = 125; + break; + } + case 111: { + $$0272 = 8; + label = 125; + break; + } + case 117: case 100: { + $$0272 = 10; + label = 125; + break; + } + case 105: { + $$0272 = 0; + label = 125; + break; + } + case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { + $285 = (+___floatscan($0,$$$0268,0)); + $286 = HEAP32[$15>>2]|0; + $287 = HEAP32[$13>>2]|0; + $288 = HEAP32[$16>>2]|0; + $289 = (($288) - ($287))|0; + $290 = ($286|0)==($289|0); + if ($290) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $291 = ($$0293|0)==(0|0); + if ($291) { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } else { + switch ($$$0268|0) { + case 0: { + $292 = $285; + HEAPF32[$$0293>>2] = $292; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 1: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + case 2: { + HEAPF64[$$0293>>3] = $285; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break L55; + } + } + } + break; + } + default: { + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + } + } + } while(0); + do { + if ((label|0) == 125) { + label = 0; + $276 = (___intscan($0,$$0272,0,-1,-1)|0); + $277 = tempRet0; + $278 = HEAP32[$15>>2]|0; + $279 = HEAP32[$13>>2]|0; + $280 = HEAP32[$16>>2]|0; + $281 = (($280) - ($279))|0; + $282 = ($278|0)==($281|0); + if ($282) { + $$9314$ph = $$$0305;$$ph353 = $$327; + label = 139; + break L6; + } + $283 = ($$|0)==(112); + $or$cond3 = $100 & $283; + if ($or$cond3) { + $284 = $276; + HEAP32[$$0293>>2] = $284; + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } else { + _store_int($$0293,$$$0268,$276,$277); + $$10 = $$5;$$5310 = $$$0305;$310 = $$327; + break; + } + } + } while(0); + $293 = HEAP32[$15>>2]|0; + $294 = HEAP32[$13>>2]|0; + $295 = HEAP32[$16>>2]|0; + $296 = (($293) + ($$1284))|0; + $297 = (($296) + ($294))|0; + $298 = (($297) - ($295))|0; + $299 = $100&1; + $$0288$ = (($299) + ($$0288425))|0; + $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; + break L8; + } + } while(0); + $56 = $53&1; + $57 = (($$0273429) + ($56)|0); + ___shlim($0,0); + $58 = HEAP32[$13>>2]|0; + $59 = HEAP32[$14>>2]|0; + $60 = ($58>>>0)<($59>>>0); + if ($60) { + $61 = ((($58)) + 1|0); + HEAP32[$13>>2] = $61; + $62 = HEAP8[$58>>0]|0; + $63 = $62&255; + $68 = $63; + } else { + $64 = (___shgetc($0)|0); + $68 = $64; + } + $65 = HEAP8[$57>>0]|0; + $66 = $65&255; + $67 = ($68|0)==($66|0); + if (!($67)) { + label = 22; + break L6; + } + $75 = (($$0283428) + 1)|0; + $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; + } else { + $$1274 = $$0273429; + while(1) { + $27 = ((($$1274)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = (_isspace($29)|0); + $31 = ($30|0)==(0); + if ($31) { + break; + } else { + $$1274 = $27; + } + } + ___shlim($0,0); + while(1) { + $32 = HEAP32[$13>>2]|0; + $33 = HEAP32[$14>>2]|0; + $34 = ($32>>>0)<($33>>>0); + if ($34) { + $35 = ((($32)) + 1|0); + HEAP32[$13>>2] = $35; + $36 = HEAP8[$32>>0]|0; + $37 = $36&255; + $39 = $37; + } else { + $38 = (___shgetc($0)|0); + $39 = $38; + } + $40 = (_isspace($39)|0); + $41 = ($40|0)==(0); + if ($41) { + break; + } + } + $42 = HEAP32[$14>>2]|0; + $43 = ($42|0)==(0|0); + if ($43) { + $$pre = HEAP32[$13>>2]|0; + $51 = $$pre; + } else { + $44 = HEAP32[$13>>2]|0; + $45 = ((($44)) + -1|0); + HEAP32[$13>>2] = $45; + $46 = $45; + $51 = $46; + } + $47 = HEAP32[$15>>2]|0; + $48 = HEAP32[$16>>2]|0; + $49 = (($47) + ($$0283428))|0; + $50 = (($49) + ($51))|0; + $52 = (($50) - ($48))|0; + $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; + } + } while(0); + $300 = ((($$11)) + 1|0); + $301 = HEAP8[$300>>0]|0; + $302 = ($301<<24>>24)==(0); + if ($302) { + $$3291 = $$1289; + break L4; + } else { + $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; + } + } + if ((label|0) == 22) { + $69 = HEAP32[$14>>2]|0; + $70 = ($69|0)==(0|0); + if (!($70)) { + $71 = HEAP32[$13>>2]|0; + $72 = ((($71)) + -1|0); + HEAP32[$13>>2] = $72; + } + $73 = ($68|0)>(-1); + $74 = ($$0288425|0)!=(0); + $or$cond5 = $74 | $73; + if ($or$cond5) { + $$3291 = $$0288425; + break; + } else { + $$1271 = 0;$$8313 = $$0305423;$308 = $102; + label = 138; + } + } + else if ((label|0) == 137) { + $$328$le441 = $narrow469&1; + $$old4 = ($$0288425|0)==(0); + if ($$old4) { + $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; + label = 138; + } else { + $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; + } + } + else if ((label|0) == 139) { + $$328$le439 = $narrow&1; + $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; + } + if ((label|0) == 138) { + $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; + } + $303 = ($$2|0)==(0); + if ($303) { + $$3291 = $$2290; + } else { + _free($$9314); + _free($304); + $$3291 = $$2290; + } + } + } while(0); + $305 = ($306|0)==(0); + if (!($305)) { + ___unlockfile($0); + } + STACKTOP = sp;return ($$3291|0); +} +function _arg_n($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + $vacopy_currentptr = HEAP32[$0>>2]|0; + HEAP32[$2>>2] = $vacopy_currentptr; + $$0 = $1; + while(1) { + $3 = ($$0>>>0)>(1); + $arglist_current = HEAP32[$2>>2]|0; + $4 = $arglist_current; + $5 = ((0) + 4|0); + $expanded1 = $5; + $expanded = (($expanded1) - 1)|0; + $6 = (($4) + ($expanded))|0; + $7 = ((0) + 4|0); + $expanded5 = $7; + $expanded4 = (($expanded5) - 1)|0; + $expanded3 = $expanded4 ^ -1; + $8 = $6 & $expanded3; + $9 = $8; + $10 = HEAP32[$9>>2]|0; + $arglist_next = ((($9)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $11 = (($$0) + -1)|0; + if ($3) { + $$0 = $11; + } else { + break; + } + } + STACKTOP = sp;return ($10|0); +} +function _store_int($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = ($0|0)==(0|0); + L1: do { + if (!($4)) { + switch ($1|0) { + case -2: { + $5 = $2&255; + HEAP8[$0>>0] = $5; + break L1; + break; + } + case -1: { + $6 = $2&65535; + HEAP16[$0>>1] = $6; + break L1; + break; + } + case 0: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 1: { + HEAP32[$0>>2] = $2; + break L1; + break; + } + case 3: { + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $2; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $3; + break L1; + break; + } + default: { + break L1; + } + } + } + } while(0); + return; +} +function _mbsinit($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + $5 = 1; + } else { + $2 = HEAP32[$0>>2]|0; + $3 = ($2|0)==(0); + $5 = $3; + } + $4 = $5&1; + return ($4|0); +} +function ___string_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$027 = 0, $$027$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 84|0); + $4 = HEAP32[$3>>2]|0; + $5 = (($2) + 256)|0; + $6 = (_memchr($4,0,$5)|0); + $7 = ($6|0)==(0|0); + $8 = $6; + $9 = $4; + $10 = (($8) - ($9))|0; + $$027 = $7 ? $5 : $10; + $11 = ($$027>>>0)<($2>>>0); + $$027$ = $11 ? $$027 : $2; + _memcpy(($1|0),($4|0),($$027$|0))|0; + $12 = (($4) + ($$027$)|0); + $13 = ((($0)) + 4|0); + HEAP32[$13>>2] = $12; + $14 = (($4) + ($$027)|0); + $15 = ((($0)) + 8|0); + HEAP32[$15>>2] = $14; + HEAP32[$3>>2] = $14; + return ($$027$|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function ___fseeko($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, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 20064; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[1025]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strncat($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_strlen($0)|0); + $4 = (($0) + ($3)|0); + $5 = ($2|0)==(0); + L1: do { + if ($5) { + $$0$lcssa = $4; + } else { + $$01013 = $2;$$01112 = $1;$$014 = $4; + while(1) { + $6 = HEAP8[$$01112>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$0$lcssa = $$014; + break L1; + } + $8 = (($$01013) + -1)|0; + $9 = ((($$01112)) + 1|0); + $10 = ((($$014)) + 1|0); + HEAP8[$$014>>0] = $6; + $11 = ($8|0)==(0); + if ($11) { + $$0$lcssa = $10; + break; + } else { + $$01013 = $8;$$01112 = $9;$$014 = $10; + } + } + } + } while(0); + HEAP8[$$0$lcssa>>0] = 0; + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[5691]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[5691] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[5691] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[5691] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[5691] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[5692]|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 = (22808 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[5692] = $24; + } else { + $25 = HEAP32[(22784)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(22776)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (22808 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[5692] = $77; + $98 = $77; + } else { + $78 = HEAP32[(22784)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(22788)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (22808 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[5692] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(22784)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(22776)>>2] = $84; + HEAP32[(22788)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(22772)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (23072 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(22784)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (23072 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(22772)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(22784)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(22784)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(22784)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(22788)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (22808 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[5692] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(22784)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(22776)>>2] = $$0193$lcssa$i; + HEAP32[(22788)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(22772)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (23072 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (23072 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(22776)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(22784)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (23072 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(22772)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(22784)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(22784)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(22784)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (22808 + ($425<<2)|0); + $427 = HEAP32[5692]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[5692] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(22784)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (23072 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(22772)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(22784)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(22784)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(22776)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(22788)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(22788)>>2] = $511; + HEAP32[(22776)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(22776)>>2] = 0; + HEAP32[(22788)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(22780)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(22780)>>2] = $526; + $527 = HEAP32[(22792)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(22792)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[5810]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(23248)>>2] = 4096; + HEAP32[(23244)>>2] = 4096; + HEAP32[(23252)>>2] = -1; + HEAP32[(23256)>>2] = -1; + HEAP32[(23260)>>2] = 0; + HEAP32[(23212)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[5810] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(23248)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(23208)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(23200)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(23212)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(22792)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (23216); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(23244)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(23200)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(23208)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(23248)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(23212)>>2]|0; + $612 = $611 | 4; + HEAP32[(23212)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(23200)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(23200)>>2] = $627; + $628 = HEAP32[(23204)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(23204)>>2] = $627; + } + $630 = HEAP32[(22792)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(22784)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(22784)>>2] = $$749$i; + } + HEAP32[(23216)>>2] = $$749$i; + HEAP32[(23220)>>2] = $$723948$i; + HEAP32[(23228)>>2] = 0; + $635 = HEAP32[5810]|0; + HEAP32[(22804)>>2] = $635; + HEAP32[(22800)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (22808 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(22792)>>2] = $649; + HEAP32[(22780)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(23256)>>2]|0; + HEAP32[(22796)>>2] = $655; + } else { + $$024371$i = (23216); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(22780)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(22792)>>2] = $679; + HEAP32[(22780)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(23256)>>2]|0; + HEAP32[(22796)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(22784)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(22784)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (23216); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(22780)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(22780)>>2] = $727; + HEAP32[(22792)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(22788)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(22776)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(22776)>>2] = $733; + HEAP32[(22788)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (22808 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[5692]|0; + $760 = $759 & $758; + HEAP32[5692] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (23072 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(22772)>>2]|0; + $803 = $802 & $801; + HEAP32[(22772)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(22784)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(22784)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(22784)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (22808 + ($836<<2)|0); + $838 = HEAP32[5692]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[5692] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(22784)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (23072 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(22772)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(22772)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(22784)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(22784)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (23216); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(22792)>>2] = $946; + HEAP32[(22780)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(23256)>>2]|0; + HEAP32[(22796)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(23216)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(23216)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(23216)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(23216)+12>>2]|0; + HEAP32[(23216)>>2] = $$749$i; + HEAP32[(23220)>>2] = $$723948$i; + HEAP32[(23228)>>2] = 0; + HEAP32[(23224)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (22808 + ($968<<2)|0); + $970 = HEAP32[5692]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[5692] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(22784)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (23072 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(22772)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(22772)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(22784)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(22784)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(22780)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(22780)>>2] = $1050; + $1051 = HEAP32[(22792)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(22792)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(22784)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(22788)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(22776)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (22808 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[5692]|0; + $38 = $37 & $36; + HEAP32[5692] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (23072 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(22772)>>2]|0; + $81 = $80 & $79; + HEAP32[(22772)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(22784)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(22784)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(22784)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(22792)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(22788)>>2]|0; + if ($121) { + $123 = HEAP32[(22780)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(22780)>>2] = $124; + HEAP32[(22792)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(22788)>>2] = 0; + HEAP32[(22776)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(22776)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(22776)>>2] = $130; + HEAP32[(22788)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (22808 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(22784)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[5692]|0; + $154 = $153 & $152; + HEAP32[5692] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(22784)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(22784)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(22784)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (23072 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(22772)>>2]|0; + $200 = $199 & $198; + HEAP32[(22772)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(22784)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(22784)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(22784)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(22788)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(22776)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (22808 + ($234<<2)|0); + $236 = HEAP32[5692]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[5692] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(22784)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (23072 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(22772)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(22772)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(22784)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(22784)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(22800)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(22800)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (23224); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(22800)>>2] = -1; + return; +} +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); + } + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); + } + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 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, $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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(22784)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(23248)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); + } + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(22792)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(22780)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(22792)>>2] = $40; + HEAP32[(22780)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(22788)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(22776)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(22776)>>2] = $storemerge1; + HEAP32[(22788)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (22808 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); + if ($84) { + _abort(); + // unreachable; + } + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[5692]|0; + $92 = $91 & $90; + HEAP32[5692] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (23072 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); + do { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(22772)>>2]|0; + $135 = $134 & $133; + HEAP32[(22772)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(22784)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { + _abort(); + // unreachable; + } else { + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(22784)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; + break; + } + } + } while(0); + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(22784)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { + _abort(); + // unreachable; + } else { + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 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, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { + return; + } + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(22784)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(22788)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(22776)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (22808 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[5692]|0; + $34 = $33 & $32; + HEAP32[5692] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (23072 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(22772)>>2]|0; + $77 = $76 & $75; + HEAP32[(22772)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(22784)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(22784)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(22784)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; + break; + } + } + } + } else { + $$1 = $0;$$1418 = $1; + } + } while(0); + $108 = HEAP32[(22784)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { + _abort(); + // unreachable; + } + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(22792)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(22788)>>2]|0; + if ($115) { + $117 = HEAP32[(22780)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(22780)>>2] = $118; + HEAP32[(22792)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { + return; + } + HEAP32[(22788)>>2] = 0; + HEAP32[(22776)>>2] = 0; + return; + } + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(22776)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(22776)>>2] = $124; + HEAP32[(22788)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; + return; + } + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (22808 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { + _abort(); + // unreachable; + } + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { + _abort(); + // unreachable; + } + } + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[5692]|0; + $147 = $146 & $145; + HEAP32[5692] = $147; + break; + } + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; + } else { + $149 = ($135>>>0)<($108>>>0); + if ($149) { + _abort(); + // unreachable; + } + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; + } else { + _abort(); + // unreachable; + } + } + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; + } else { + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); + do { + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; + break; + } else { + $$1433 = $172;$$1437 = $168; + } + } else { + $$1433 = $170;$$1437 = $169; + } + while(1) { + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; + continue; + } + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { + break; + } else { + $$1433 = $178;$$1437 = $177; + } + } + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { + _abort(); + // unreachable; + } else { + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; + break; + } + } else { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { + _abort(); + // unreachable; + } + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { + _abort(); + // unreachable; + } + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (23072 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(22772)>>2]|0; + $190 = $189 & $188; + HEAP32[(22772)>>2] = $190; + break L96; + } + } else { + $191 = HEAP32[(22784)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } + } + } while(0); + $197 = HEAP32[(22784)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); + if ($198) { + _abort(); + // unreachable; + } + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($$3435)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $$3435; + break; + } + } + } while(0); + $206 = ((($200)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(22784)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($$3435)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $$3435; + break; + } + } + } + } + } while(0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); + HEAP32[$214>>2] = $213; + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(22788)>>2]|0; + $217 = ($$1|0)==($216|0); + if ($217) { + HEAP32[(22776)>>2] = $129; + return; + } else { + $$2 = $129; + } + } else { + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; + } + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); + if ($223) { + $224 = $222 << 1; + $225 = (22808 + ($224<<2)|0); + $226 = HEAP32[5692]|0; + $227 = 1 << $222; + $228 = $226 & $227; + $229 = ($228|0)==(0); + if ($229) { + $230 = $226 | $227; + HEAP32[5692] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; + } else { + $231 = ((($225)) + 8|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[(22784)>>2]|0; + $234 = ($232>>>0)<($233>>>0); + if ($234) { + _abort(); + // unreachable; + } else { + $$0438 = $232;$$pre$phiZ2D = $231; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); + HEAP32[$237>>2] = $225; + return; + } + $238 = $$2 >>> 8; + $239 = ($238|0)==(0); + if ($239) { + $$0431 = 0; + } else { + $240 = ($$2>>>0)>(16777215); + if ($240) { + $$0431 = 31; + } else { + $241 = (($238) + 1048320)|0; + $242 = $241 >>> 16; + $243 = $242 & 8; + $244 = $238 << $243; + $245 = (($244) + 520192)|0; + $246 = $245 >>> 16; + $247 = $246 & 4; + $248 = $247 | $243; + $249 = $244 << $247; + $250 = (($249) + 245760)|0; + $251 = $250 >>> 16; + $252 = $251 & 2; + $253 = $248 | $252; + $254 = (14 - ($253))|0; + $255 = $249 << $252; + $256 = $255 >>> 15; + $257 = (($254) + ($256))|0; + $258 = $257 << 1; + $259 = (($257) + 7)|0; + $260 = $$2 >>> $259; + $261 = $260 & 1; + $262 = $261 | $258; + $$0431 = $262; + } + } + $263 = (23072 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); + HEAP32[$266>>2] = 0; + HEAP32[$265>>2] = 0; + $267 = HEAP32[(22772)>>2]|0; + $268 = 1 << $$0431; + $269 = $267 & $268; + $270 = ($269|0)==(0); + if ($270) { + $271 = $267 | $268; + HEAP32[(22772)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); + HEAP32[$272>>2] = $263; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; + return; + } + $275 = HEAP32[$263>>2]|0; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; + } + } + if ((label|0) == 118) { + $290 = HEAP32[(22784)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(22784)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,_do_read,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/text/text_raylib_fonts.png b/docs/examples/web/text/text_raylib_fonts.png new file mode 100644 index 00000000..8f428a67 Binary files /dev/null and b/docs/examples/web/text/text_raylib_fonts.png differ diff --git a/docs/examples/web/text/text_rbmf_fonts.c b/docs/examples/web/text/text_rbmf_fonts.c deleted file mode 100644 index bcdd93e5..00000000 --- a/docs/examples/web/text/text_rbmf_fonts.c +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************************* -* -* raylib [core] example - raylib bitmap font (rbmf) loading and usage (adapted for HTML5 platform) -* -* This example has been created using raylib 1.3 (www.raylib.com) -* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) -* -* Copyright (c) 2015 Ramon Santamaria (@raysan5) -* -********************************************************************************************/ - -#include "raylib.h" - -#if defined(PLATFORM_WEB) - #include -#endif - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -int screenWidth = 800; -int screenHeight = 450; - -SpriteFont fonts[8]; -const int spacings[8] = { 2, 4, 8, 4, 3, 4, 4, 1 }; -Vector2 positions[8]; - -Color *colors; -const char (*messages)[64]; - -//---------------------------------------------------------------------------------- -// Module Functions Declaration -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void); // Update and Draw one frame - -//---------------------------------------------------------------------------------- -// Main Enry Point -//---------------------------------------------------------------------------------- -int main() -{ - // Initialization - //-------------------------------------------------------------------------------------- - InitWindow(screenWidth, screenHeight, "raylib [text] example - rBMF fonts"); - - Color tempColors[8] = { MAROON, ORANGE, DARKGREEN, DARKBLUE, DARKPURPLE, LIME, GOLD }; - - colors = tempColors; - - const char tempMessages[8][64] = { "ALAGARD FONT designed by Hewett Tsoi", - "PIXELPLAY FONT designed by Aleksander Shevchuk", - "MECHA FONT designed by Captain Falcon", - "SETBACK FONT designed by Brian Kent (AEnigma)", - "ROMULUS FONT designed by Hewett Tsoi", - "PIXANTIQUA FONT designed by Gerhard Grossmann", - "ALPHA_BETA FONT designed by Brian Kent (AEnigma)", - "JUPITER_CRASH FONT designed by Brian Kent (AEnigma)" }; - - messages = tempMessages; - - fonts[0] = LoadSpriteFont("resources/fonts/alagard.rbmf"); // rBMF font loading - fonts[1] = LoadSpriteFont("resources/fonts/pixelplay.rbmf"); // rBMF font loading - fonts[2] = LoadSpriteFont("resources/fonts/mecha.rbmf"); // rBMF font loading - fonts[3] = LoadSpriteFont("resources/fonts/setback.rbmf"); // rBMF font loading - fonts[4] = LoadSpriteFont("resources/fonts/romulus.rbmf"); // rBMF font loading - fonts[5] = LoadSpriteFont("resources/fonts/pixantiqua.rbmf"); // rBMF font loading - fonts[6] = LoadSpriteFont("resources/fonts/alpha_beta.rbmf"); // rBMF font loading - fonts[7] = LoadSpriteFont("resources/fonts/jupiter_crash.rbmf"); // rBMF font loading - - for (int i = 0; i < 8; i++) - { - positions[i].x = screenWidth/2 - MeasureTextEx(fonts[i], messages[i], fonts[i].baseSize*2, spacings[i]).x/2; - positions[i].y = 60 + fonts[i].baseSize + 50*i; - } - -#if defined(PLATFORM_WEB) - emscripten_set_main_loop(UpdateDrawFrame, 0, 1); -#else - SetTargetFPS(60); // Set our game to run at 60 frames-per-second - //-------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - UpdateDrawFrame(); - } -#endif - - // De-Initialization - //-------------------------------------------------------------------------------------- - for (int i = 0; i < 8; i++) - { - UnloadSpriteFont(fonts[i]); // SpriteFont unloading - } - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} - -//---------------------------------------------------------------------------------- -// Module Functions Definition -//---------------------------------------------------------------------------------- -void UpdateDrawFrame(void) -{ - // Update - //---------------------------------------------------------------------------------- - // TODO: Update your variables here - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - DrawText("free fonts included with raylib", 250, 20, 20, DARKGRAY); - DrawLine(220, 50, 590, 50, DARKGRAY); - - for (int i = 0; i < 8; i++) - { - DrawTextEx(fonts[i], messages[i], positions[i], fonts[i].baseSize*2, spacings[i], colors[i]); - } - - EndDrawing(); - //---------------------------------------------------------------------------------- -} \ No newline at end of file diff --git a/docs/examples/web/text/text_rbmf_fonts.data b/docs/examples/web/text/text_rbmf_fonts.data deleted file mode 100644 index 44e4db95..00000000 Binary files a/docs/examples/web/text/text_rbmf_fonts.data and /dev/null differ diff --git a/docs/examples/web/text/text_rbmf_fonts.js b/docs/examples/web/text/text_rbmf_fonts.js deleted file mode 100644 index bd9cf29a..00000000 --- a/docs/examples/web/text/text_rbmf_fonts.js +++ /dev/null @@ -1,49263 +0,0 @@ - -var Module; - -if (typeof Module === 'undefined') Module = {}; - -if (!Module.expectedDataFileDownloads) { - Module.expectedDataFileDownloads = 0; - Module.finishedDataFileDownloads = 0; -} -Module.expectedDataFileDownloads++; -(function() { - var loadPackage = function(metadata) { - - var PACKAGE_PATH; - if (typeof window === 'object') { - PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); - } else if (typeof location !== 'undefined') { - // worker - PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); - } else { - throw 'using preloaded data can only be done on a web page or in a web worker'; - } - var PACKAGE_NAME = 'text/text_rbmf_fonts.data'; - var REMOTE_PACKAGE_BASE = 'text_rbmf_fonts.data'; - if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { - Module['locateFile'] = Module['locateFilePackage']; - Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); - } - var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? - Module['locateFile'](REMOTE_PACKAGE_BASE) : - ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); - - var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; - var PACKAGE_UUID = metadata.package_uuid; - - function fetchRemotePackage(packageName, packageSize, callback, errback) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', packageName, true); - xhr.responseType = 'arraybuffer'; - xhr.onprogress = function(event) { - var url = packageName; - var size = packageSize; - if (event.total) size = event.total; - if (event.loaded) { - if (!xhr.addedTotal) { - xhr.addedTotal = true; - if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; - Module.dataFileDownloads[url] = { - loaded: event.loaded, - total: size - }; - } else { - Module.dataFileDownloads[url].loaded = event.loaded; - } - var total = 0; - var loaded = 0; - var num = 0; - for (var download in Module.dataFileDownloads) { - var data = Module.dataFileDownloads[download]; - total += data.total; - loaded += data.loaded; - num++; - } - total = Math.ceil(total * Module.expectedDataFileDownloads/num); - if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); - } else if (!Module.dataFileDownloads) { - if (Module['setStatus']) Module['setStatus']('Downloading data...'); - } - }; - xhr.onerror = function(event) { - throw new Error("NetworkError for: " + packageName); - } - xhr.onload = function(event) { - if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - var packageData = xhr.response; - callback(packageData); - } else { - throw new Error(xhr.statusText + " : " + xhr.responseURL); - } - }; - xhr.send(null); - }; - - function handleError(error) { - console.error('package error:', error); - }; - - var fetchedCallback = null; - var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; - - if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { - if (fetchedCallback) { - fetchedCallback(data); - fetchedCallback = null; - } else { - fetched = data; - } - }, handleError); - - function runWithFS() { - - function assert(check, msg) { - if (!check) throw msg + new Error().stack; - } -Module['FS_createPath']('/', 'text', true, true); -Module['FS_createPath']('/text', 'resources', true, true); -Module['FS_createPath']('/text/resources', 'fonts', true, true); - - function DataRequest(start, end, crunched, audio) { - this.start = start; - this.end = end; - this.crunched = crunched; - this.audio = audio; - } - DataRequest.prototype = { - requests: {}, - open: function(mode, name) { - this.name = name; - this.requests[name] = this; - Module['addRunDependency']('fp ' + this.name); - }, - send: function() {}, - onload: function() { - var byteArray = this.byteArray.subarray(this.start, this.end); - - this.finish(byteArray); - - }, - finish: function(byteArray) { - var that = this; - - Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change - Module['removeRunDependency']('fp ' + that.name); - - this.requests[this.name] = null; - } - }; - - var files = metadata.files; - for (i = 0; i < files.length; ++i) { - new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); - } - - - function processPackageData(arrayBuffer) { - Module.finishedDataFileDownloads++; - assert(arrayBuffer, 'Loading data file failed.'); - assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); - var byteArray = new Uint8Array(arrayBuffer); - var curr; - - // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though - // (we may be allocating before malloc is ready, during startup). - if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); - var ptr = Module['getMemory'](byteArray.length); - Module['HEAPU8'].set(byteArray, ptr); - DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); - - var files = metadata.files; - for (i = 0; i < files.length; ++i) { - DataRequest.prototype.requests[files[i].filename].onload(); - } - Module['removeRunDependency']('datafile_text/text_rbmf_fonts.data'); - - }; - Module['addRunDependency']('datafile_text/text_rbmf_fonts.data'); - - if (!Module.preloadResults) Module.preloadResults = {}; - - Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; - if (fetched) { - processPackageData(fetched); - fetched = null; - } else { - fetchedCallback = processPackageData; - } - - } - if (Module['calledRun']) { - runWithFS(); - } else { - if (!Module['preRun']) Module['preRun'] = []; - Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it - } - - } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 2159, "filename": "/text/resources/fonts/alagard.rbmf"}, {"audio": 0, "start": 2159, "crunched": 0, "end": 4319, "filename": "/text/resources/fonts/pixelplay.rbmf"}, {"audio": 0, "start": 4319, "crunched": 0, "end": 6479, "filename": "/text/resources/fonts/mecha.rbmf"}, {"audio": 0, "start": 6479, "crunched": 0, "end": 8639, "filename": "/text/resources/fonts/setback.rbmf"}, {"audio": 0, "start": 8639, "crunched": 0, "end": 10799, "filename": "/text/resources/fonts/romulus.rbmf"}, {"audio": 0, "start": 10799, "crunched": 0, "end": 12959, "filename": "/text/resources/fonts/pixantiqua.rbmf"}, {"audio": 0, "start": 12959, "crunched": 0, "end": 15119, "filename": "/text/resources/fonts/alpha_beta.rbmf"}, {"audio": 0, "start": 15119, "crunched": 0, "end": 17279, "filename": "/text/resources/fonts/jupiter_crash.rbmf"}], "remote_package_size": 17279, "package_uuid": "9c8ea26f-adbd-48f4-9c73-43cd2557021c"}); - -})(); - -// The Module object: Our interface to the outside world. We import -// and export values on it, and do the work to get that through -// closure compiler if necessary. 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 do an eval in order to handle the closure compiler -// case, where this code here is minified but Module was defined -// elsewhere (e.g. case 4 above). We also need to check if Module -// already exists (e.g. case 3 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; -if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; - -// 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 = {}; -for (var key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } -} - -// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 - if (!Module['print']) Module['print'] = console.log; - if (!Module['printErr']) Module['printErr'] = console.warn; - - var nodeFS; - var nodePath; - - Module['read'] = function read(filename, binary) { - if (!nodeFS) nodeFS = require('fs'); - if (!nodePath) nodePath = require('path'); - filename = nodePath['normalize'](filename); - var 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; - }; - - Module['load'] = function load(f) { - globalEval(read(f)); - }; - - if (!Module['thisProgram']) { - if (process['argv'].length > 1) { - Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); - } else { - Module['thisProgram'] = 'unknown-program'; - } - } - - 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; - } - }); - - Module['inspect'] = function () { return '[Emscripten Module object]'; }; -} -else if (ENVIRONMENT_IS_SHELL) { - if (!Module['print']) Module['print'] = print; - if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm - - if (typeof read != 'undefined') { - Module['read'] = read; - } else { - Module['read'] = function read() { throw 'no read() available' }; - } - - Module['readBinary'] = function readBinary(f) { - if (typeof readbuffer === 'function') { - return new Uint8Array(readbuffer(f)); - } - var data = read(f, 'binary'); - assert(typeof data === 'object'); - return data; - }; - - if (typeof scriptArgs != 'undefined') { - Module['arguments'] = scriptArgs; - } else if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof quit === 'function') { - Module['quit'] = function(status, toThrow) { - quit(status); - } - } - -} -else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - Module['read'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - }; - - if (ENVIRONMENT_IS_WORKER) { - Module['readBinary'] = function read(url) { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return xhr.response; - }; - } - - 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); - } else { - onerror(); - } - }; - xhr.onerror = onerror; - xhr.send(null); - }; - - if (typeof arguments != 'undefined') { - Module['arguments'] = arguments; - } - - if (typeof console !== 'undefined') { - if (!Module['print']) Module['print'] = function print(x) { - console.log(x); - }; - if (!Module['printErr']) Module['printErr'] = function printErr(x) { - console.warn(x); - }; - } else { - // Probably a worker, and without console.log. We can do very little here... - var TRY_USE_DUMP = false; - if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { - dump(x); - }) : (function(x) { - // self.postMessage(x); // enable this if you want stdout to be sent as messages - })); - } - - if (ENVIRONMENT_IS_WORKER) { - Module['load'] = importScripts; - } - - if (typeof Module['setWindowTitle'] === 'undefined') { - Module['setWindowTitle'] = function(title) { document.title = title }; - } -} -else { - // Unreachable because SHELL is dependant on the others - throw 'Unknown runtime environment. Where are we?'; -} - -function globalEval(x) { - eval.call(null, x); -} -if (!Module['load'] && Module['read']) { - Module['load'] = function load(f) { - globalEval(Module['read'](f)); - }; -} -if (!Module['print']) { - Module['print'] = function(){}; -} -if (!Module['printErr']) { - Module['printErr'] = Module['print']; -} -if (!Module['arguments']) { - Module['arguments'] = []; -} -if (!Module['thisProgram']) { - Module['thisProgram'] = './this.program'; -} -if (!Module['quit']) { - Module['quit'] = function(status, toThrow) { - throw toThrow; - } -} - -// *** Environment setup code *** - -// Closure helpers -Module.print = Module['print']; -Module.printErr = Module['printErr']; - -// Callbacks -Module['preRun'] = []; -Module['postRun'] = []; - -// Merge back in the overrides -for (var 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}} - -// === 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 code shared with compiler -//======================================== - -var Runtime = { - setTempRet0: function (value) { - tempRet0 = value; - return value; - }, - getTempRet0: function () { - return tempRet0; - }, - stackSave: function () { - return STACKTOP; - }, - stackRestore: function (stackTop) { - STACKTOP = stackTop; - }, - getNativeTypeSize: function (type) { - switch (type) { - case 'i1': case 'i8': return 1; - case 'i16': return 2; - case 'i32': return 4; - case 'i64': return 8; - case 'float': return 4; - case 'double': return 8; - default: { - if (type[type.length-1] === '*') { - return Runtime.QUANTUM_SIZE; // A pointer - } else if (type[0] === 'i') { - var bits = parseInt(type.substr(1)); - assert(bits % 8 === 0); - return bits/8; - } else { - return 0; - } - } - } - }, - getNativeFieldSize: function (type) { - return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); - }, - STACK_ALIGN: 16, - prepVararg: function (ptr, type) { - if (type === 'double' || type === 'i64') { - // move so the load is aligned - if (ptr & 7) { - assert((ptr & 7) === 4); - ptr += 4; - } - } else { - assert((ptr & 3) === 0); - } - return ptr; - }, - getAlignSize: function (type, size, vararg) { - // we align i64s and doubles on 64-bit boundaries, unlike x86 - if (!vararg && (type == 'i64' || type == 'double')) return 8; - if (!type) return Math.min(size, 8); // align structures internally to 64 bits - return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); - }, - dynCall: function (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); - } - }, - functionPointers: [], - addFunction: function (func) { - for (var i = 0; i < Runtime.functionPointers.length; i++) { - if (!Runtime.functionPointers[i]) { - Runtime.functionPointers[i] = func; - return 2*(1 + i); - } - } - throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; - }, - removeFunction: function (index) { - Runtime.functionPointers[(index-2)/2] = null; - }, - warnOnce: function (text) { - if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; - if (!Runtime.warnOnce.shown[text]) { - Runtime.warnOnce.shown[text] = 1; - Module.printErr(text); - } - }, - funcWrappers: {}, - getFuncWrapper: function (func, sig) { - assert(sig); - if (!Runtime.funcWrappers[sig]) { - Runtime.funcWrappers[sig] = {}; - } - var sigCache = Runtime.funcWrappers[sig]; - if (!sigCache[func]) { - // optimize away arguments usage in common cases - if (sig.length === 1) { - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func); - }; - } else if (sig.length === 2) { - sigCache[func] = function dynCall_wrapper(arg) { - return Runtime.dynCall(sig, func, [arg]); - }; - } else { - // general case - sigCache[func] = function dynCall_wrapper() { - return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); - }; - } - } - return sigCache[func]; - }, - getCompilerSetting: function (name) { - throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; - }, - stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, - staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, - dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, - alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, - makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, - GLOBAL_BASE: 8, - QUANTUM_SIZE: 4, - __dummy__: 0 -} - - - -Module["Runtime"] = Runtime; - - - -//======================================== -// 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; - -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 - if (!func) { - try { func = eval('_' + ident); } catch(e) {} - } - assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); - return func; -} - -var cwrap, ccall; -(function(){ - 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() { - Runtime.stackSave() - }, - 'stackRestore': function() { - Runtime.stackRestore() - }, - // type conversion from js to c - 'arrayToC' : function(arr) { - var ret = Runtime.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 = Runtime.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. - ccall = function ccallFunc(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 = Runtime.stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { - assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); - } - if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); - if (returnType === 'string') ret = Pointer_stringify(ret); - if (stack !== 0) { - if (opts && opts.async) { - EmterpreterAsync.asyncFinalizers.push(function() { - Runtime.stackRestore(stack); - }); - return; - } - Runtime.stackRestore(stack); - } - return ret; - } - - var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; - function parseJSFunc(jsfunc) { - // Match the body and the return value of a javascript function source - var parsed = jsfunc.toString().match(sourceRegex).slice(1); - return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} - } - - // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file - var JSsource = null; - function ensureJSsource() { - if (!JSsource) { - JSsource = {}; - for (var fun in JSfuncs) { - if (JSfuncs.hasOwnProperty(fun)) { - // Elements of toCsource are arrays of three items: - // the code, and the return value - JSsource[fun] = parseJSFunc(JSfuncs[fun]); - } - } - } - } - - cwrap = 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; - } - // Creation of the arguments list (["$1","$2",...,"$nargs"]) - var argNames = argTypes.map(function(x,i){return '$'+i}); - var funcstr = "(function(" + argNames.join(',') + ") {"; - var nargs = argTypes.length; - if (!numericArgs) { - // Generate the code needed to convert the arguments from javascript - // values to pointers - ensureJSsource(); - funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; - for (var i = 0; i < nargs; i++) { - var arg = argNames[i], type = argTypes[i]; - if (type === 'number') continue; - var convertCode = JSsource[type + 'ToC']; // [code, return] - funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; - funcstr += convertCode.body + ';'; - funcstr += arg + '=(' + convertCode.returnValue + ');'; - } - } - - // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore - var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; - // Call the function - funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; - if (!numericRet) { // Return type can only by 'string' or 'number' - // Convert the result to a string - var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; - funcstr += 'ret = ' + strgfy + '(ret);'; - } - funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; - if (!numericArgs) { - // If we had a stack, restore it - ensureJSsource(); - funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; - } - funcstr += 'return ret})'; - return eval(funcstr); - }; -})(); -Module["ccall"] = ccall; -Module["cwrap"] = cwrap; - -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); - } -} -Module["setValue"] = setValue; - - -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 setValue: ' + type); - } - return null; -} -Module["getValue"] = getValue; - -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 -Module["ALLOC_NORMAL"] = ALLOC_NORMAL; -Module["ALLOC_STACK"] = ALLOC_STACK; -Module["ALLOC_STATIC"] = ALLOC_STATIC; -Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; -Module["ALLOC_NONE"] = ALLOC_NONE; - -// 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_* -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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); - } - - if (zeroinit) { - var ptr = ret, stop; - 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(slab, ret); - } else { - HEAPU8.set(new Uint8Array(slab), ret); - } - return ret; - } - - var i = 0, type, typeSize, previousType; - while (i < size) { - var curr = slab[i]; - - if (typeof curr === 'function') { - curr = Runtime.getFunctionIndex(curr); - } - - 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 = Runtime.getNativeTypeSize(type); - previousType = type; - } - i += typeSize; - } - - return ret; -} -Module["allocate"] = allocate; - -// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready -function getMemory(size) { - if (!staticSealed) return Runtime.staticAlloc(size); - if (!runtimeInitialized) return Runtime.dynamicAlloc(size); - return _malloc(size); -} -Module["getMemory"] = getMemory; - -function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); -} -Module["Pointer_stringify"] = Pointer_stringify; - -// 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); - } -} -Module["AsciiToString"] = AsciiToString; - -// 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); -} -Module["stringToAscii"] = stringToAscii; - -// 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)); - } - } - } -} -Module["UTF8ArrayToString"] = UTF8ArrayToString; - -// 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); -} -Module["UTF8ToString"] = UTF8ToString; - -// 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; -} -Module["stringToUTF8Array"] = stringToUTF8Array; - -// 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); -} -Module["stringToUTF8"] = stringToUTF8; - -// 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; -} -Module["lengthBytesUTF8"] = lengthBytesUTF8; - -// 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; -} - - -function demangle(func) { - var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; - if (__cxa_demangle_func) { - try { - var s = - func.substr(1); - var len = lengthBytesUTF8(s)+1; - var buf = _malloc(len); - stringToUTF8(s, buf, len); - var status = _malloc(4); - var ret = __cxa_demangle_func(buf, 0, 0, status); - if (getValue(status, 'i32') === 0 && ret) { - return Pointer_stringify(ret); - } - // otherwise, libcxxabi failed - } catch(e) { - // ignore problems here - } finally { - if (buf) _free(buf); - if (status) _free(status); - if (ret) _free(ret); - } - // failure when using libcxxabi, don't demangle - return func; - } - Runtime.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); -} -Module["stackTrace"] = stackTrace; - -// 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; -var buffer; -var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), - '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); -} -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!'; - -Module['HEAP'] = HEAP; -Module['buffer'] = buffer; -Module['HEAP8'] = HEAP8; -Module['HEAP16'] = HEAP16; -Module['HEAP32'] = HEAP32; -Module['HEAPU8'] = HEAPU8; -Module['HEAPU16'] = HEAPU16; -Module['HEAPU32'] = HEAPU32; -Module['HEAPF32'] = HEAPF32; -Module['HEAPF64'] = HEAPF64; - -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); -} -Module["addOnPreRun"] = addOnPreRun; - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} -Module["addOnInit"] = addOnInit; - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} -Module["addOnPreMain"] = addOnPreMain; - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} -Module["addOnExit"] = addOnExit; - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} -Module["addOnPostRun"] = addOnPostRun; - -// Tools - - -function intArrayFromString(stringy, dontAddNull, length /* optional */) { - 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; -} -Module["intArrayFromString"] = intArrayFromString; - -function intArrayToString(array) { - var ret = []; - for (var i = 0; i < array.length; i++) { - var chr = array[i]; - if (chr > 0xFF) { - 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(''); -} -Module["intArrayToString"] = intArrayToString; - -// 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. -function writeStringToMemory(string, buffer, dontAddNull) { - Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); - - var lastChar, 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. -} -Module["writeStringToMemory"] = writeStringToMemory; - -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); -} -Module["writeArrayToMemory"] = writeArrayToMemory; - -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; -} -Module["writeAsciiToMemory"] = writeAsciiToMemory; - -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; -} - - -// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) -if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { - var ah = a >>> 16; - var al = a & 0xffff; - var bh = b >>> 16; - var bl = b & 0xffff; - return (al*bl + ((ah*bl + al*bh) << 16))|0; -}; -Math.imul = Math['imul']; - - -if (!Math['clz32']) Math['clz32'] = function(x) { - x = x >>> 0; - for (var i = 0; i < 32; i++) { - if (x & (1 << (31 - i))) return i; - } - return 32; -}; -Math.clz32 = Math['clz32'] - -if (!Math['trunc']) Math['trunc'] = function(x) { - return x < 0 ? Math.ceil(x) : Math.floor(x); -}; -Math.trunc = Math['trunc']; - -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_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'); - } -} -Module["addRunDependency"] = addRunDependency; - -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["removeRunDependency"] = removeRunDependency; - -Module["preloadedImages"] = {}; // maps url to image data -Module["preloadedAudios"] = {}; // maps url to audio data - - - -var memoryInitializer = null; - - - - - - -// === Body === - -var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; - -function _emscripten_asm_const_iii(code, a0, a1) { - return ASM_CONSTS[code](a0, a1); -} - - - -STATIC_BASE = 8; - -STATICTOP = STATIC_BASE + 25600; - /* global initializers */ __ATINIT__.push(); - - -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,2,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,255,95,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,16,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,114,66,77,70,32,102,111,110,116,115,0,190,33,55,255,255,161,0,255,0,117,44,255,0,82,172,255,112,31,126,255,0,158,47,255,255,203,0,255,0,0,0,0,65,76,65,71,65,82,68,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,69,76,80,76,65,89,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,65,108,101,107,115,97,110,100,101,114,32,83,104,101,118,99,104,117,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,69,67,72,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,67,97,112,116,97,105,110,32,70,97,108,99,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,69,84,66,65,67,75,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,79,77,85,76,85,83,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,72,101,119,101,116,116,32,84,115,111,105,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,73,88,65,78,84,73,81,85,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,71,101,114,104,97,114,100,32,71,114,111,115,115,109,97,110,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,76,80,72,65,95,66,69,84,65,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,85,80,73,84,69,82,95,67,82,65,83,72,32,70,79,78,84,32,100,101,115,105,103,110,101,100,32,98,121,32,66,114,105,97,110,32,75,101,110,116,32,40,65,69,110,105,103,109,97,41,0,0,0,0,0,0,0,0,0,0,0,0,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,97,103,97,114,100,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,101,108,112,108,97,121,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,109,101,99,104,97,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,115,101,116,98,97,99,107,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,114,111,109,117,108,117,115,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,112,105,120,97,110,116,105,113,117,97,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,97,108,112,104,97,95,98,101,116,97,46,114,98,109,102,0,114,101,115,111,117,114,99,101,115,47,102,111,110,116,115,47,106,117,112,105,116,101,114,95,99,114,97,115,104,46,114,98,109,102,0,102,114,101,101,32,102,111,110,116,115,32,105,110,99,108,117,100,101,100,32,119,105,116,104,32,114,97,121,108,105,98,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); - - - - - -/* 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}} - - - - var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { - GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); - for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { - GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); - } - - // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, - // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. - for (var i = 0; i < 32; i++) { - GL.tempFixedLengthArray.push(new Array(i)); - } - },recordError:function recordError(errorCode) { - if (!GL.lastError) { - GL.lastError = errorCode; - } - },getNewId:function (table) { - var ret = GL.counter++; - for (var i = table.length; i < ret; i++) { - table[i] = null; - } - return ret; - },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { - var source = ''; - for (var i = 0; i < count; ++i) { - var frag; - if (length) { - var len = HEAP32[(((length)+(i*4))>>2)]; - if (len < 0) { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); - } - } else { - frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); - } - source += frag; - } - return source; - },createContext:function (canvas, webGLContextAttributes) { - if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { - webGLContextAttributes['majorVersion'] = 1; - webGLContextAttributes['minorVersion'] = 0; - } - var ctx; - var errorInfo = '?'; - function onContextCreationError(event) { - errorInfo = event.statusMessage || errorInfo; - } - try { - canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); - try { - if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); - } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { - ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); - } else { - throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' - } - } finally { - canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); - } - if (!ctx) throw ':('; - } catch (e) { - Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); - return 0; - } - // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); - - if (!ctx) return 0; - return GL.registerContext(ctx, webGLContextAttributes); - },registerContext:function (ctx, webGLContextAttributes) { - var handle = GL.getNewId(GL.contexts); - var context = { - handle: handle, - attributes: webGLContextAttributes, - version: webGLContextAttributes['majorVersion'], - GLctx: ctx - }; - - - // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. - if (ctx.canvas) ctx.canvas.GLctxObject = context; - GL.contexts[handle] = context; - if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { - GL.initExtensions(context); - } - return handle; - },makeContextCurrent:function (contextHandle) { - var context = GL.contexts[contextHandle]; - if (!context) return false; - GLctx = Module.ctx = context.GLctx; // Active WebGL context object. - GL.currentContext = context; // Active Emscripten GL layer context object. - return true; - },getContext:function (contextHandle) { - return GL.contexts[contextHandle]; - },deleteContext:function (contextHandle) { - if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; - if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. - if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. - GL.contexts[contextHandle] = null; - },initExtensions:function (context) { - // If this function is called without a specific context object, init the extensions of the currently active context. - if (!context) context = GL.currentContext; - - if (context.initExtensionsDone) return; - context.initExtensionsDone = true; - - var GLctx = context.GLctx; - - context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); - - // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. - - if (context.version < 2) { - // Extension available from Firefox 26 and Google Chrome 30 - var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); - if (instancedArraysExt) { - GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; - GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; - GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; - } - - // Extension available from Firefox 25 and WebKit - var vaoExt = GLctx.getExtension('OES_vertex_array_object'); - if (vaoExt) { - GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; - GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; - GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; - GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; - } - - var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); - if (drawBuffersExt) { - GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; - } - } - - GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); - - // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and - // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. - // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions - // here, as long as they don't produce a performance impact for users that might not be using those extensions. - // E.g. debugging-related extensions should probably be off by default. - var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", - "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", - "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", - "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", - "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", - "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", - "EXT_shader_texture_lod", "EXT_color_buffer_float"]; - - function shouldEnableAutomatically(extension) { - var ret = false; - automaticallyEnabledExtensions.forEach(function(include) { - if (ext.indexOf(include) != -1) { - ret = true; - } - }); - return ret; - } - - var exts = GLctx.getSupportedExtensions(); - if (exts && exts.length > 0) { - GLctx.getSupportedExtensions().forEach(function(ext) { - if (automaticallyEnabledExtensions.indexOf(ext) != -1) { - GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. - } - }); - } - },populateUniformTable:function (program) { - var p = GL.programs[program]; - GL.programInfos[program] = { - uniforms: {}, - maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. - maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. - maxUniformBlockNameLength: -1 // Lazily computed as well - }; - - var ptable = GL.programInfos[program]; - var utable = ptable.uniforms; - // A program's uniform table maps the string name of an uniform to an integer location of that uniform. - // The global GL.uniforms map maps integer locations to WebGLUniformLocations. - var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); - for (var i = 0; i < numUniforms; ++i) { - var u = GLctx.getActiveUniform(p, i); - - var name = u.name; - ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); - - // Strip off any trailing array specifier we might have got, e.g. "[0]". - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - name = name.slice(0, ls); - } - - // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then - // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. - // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. - var loc = GLctx.getUniformLocation(p, name); - if (loc != null) - { - var id = GL.getNewId(GL.uniforms); - utable[name] = [u.size, id]; - GL.uniforms[id] = loc; - - for (var j = 1; j < u.size; ++j) { - var n = name + '['+j+']'; - loc = GLctx.getUniformLocation(p, n); - id = GL.getNewId(GL.uniforms); - - GL.uniforms[id] = loc; - } - } - } - }};function _emscripten_glIsRenderbuffer(renderbuffer) { - var rb = GL.renderbuffers[renderbuffer]; - if (!rb) return 0; - return GLctx.isRenderbuffer(rb); - } - - function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } - - - - function _emscripten_get_now() { abort() } - - - - function _emscripten_set_main_loop_timing(mode, value) { - Browser.mainLoop.timingMode = mode; - Browser.mainLoop.timingValue = value; - - if (!Browser.mainLoop.func) { - console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); - return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. - } - - if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { - var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; - setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop - }; - Browser.mainLoop.method = 'timeout'; - } else if (mode == 1 /*EM_TIMING_RAF*/) { - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { - Browser.requestAnimationFrame(Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'rAF'; - } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { - if (!window['setImmediate']) { - // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) - var setImmediates = []; - var emscriptenMainLoopMessageId = 'setimmediate'; - function Browser_setImmediate_messageHandler(event) { - if (event.source === window && event.data === emscriptenMainLoopMessageId) { - event.stopPropagation(); - setImmediates.shift()(); - } - } - window.addEventListener("message", Browser_setImmediate_messageHandler, true); - window['setImmediate'] = function Browser_emulated_setImmediate(func) { - setImmediates.push(func); - if (ENVIRONMENT_IS_WORKER) { - if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; - Module['setImmediates'].push(func); - window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js - } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. - } - } - Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { - window['setImmediate'](Browser.mainLoop.runner); - }; - Browser.mainLoop.method = 'immediate'; - } - return 0; - }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { - Module['noExitRuntime'] = true; - - assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); - - Browser.mainLoop.func = func; - Browser.mainLoop.arg = arg; - - var browserIterationFunc; - if (typeof arg !== 'undefined') { - browserIterationFunc = function() { - Module['dynCall_vi'](func, arg); - }; - } else { - browserIterationFunc = function() { - Module['dynCall_v'](func); - }; - } - - var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; - - Browser.mainLoop.runner = function Browser_mainLoop_runner() { - if (ABORT) return; - if (Browser.mainLoop.queue.length > 0) { - var start = Date.now(); - var blocker = Browser.mainLoop.queue.shift(); - blocker.func(blocker.arg); - if (Browser.mainLoop.remainingBlockers) { - var remaining = Browser.mainLoop.remainingBlockers; - var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); - if (blocker.counted) { - Browser.mainLoop.remainingBlockers = next; - } else { - // not counted, but move the progress along a tiny bit - next = next + 0.5; // do not steal all the next one's progress - Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; - } - } - console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); - Browser.mainLoop.updateStatus(); - - // catches pause/resume main loop from blocker execution - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - setTimeout(Browser.mainLoop.runner, 0); - return; - } - - // catch pauses from non-main loop sources - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Implement very basic swap interval control - Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; - if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { - // Not the scheduled time to render this frame - skip. - Browser.mainLoop.scheduler(); - return; - } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { - Browser.mainLoop.tickStartTime = _emscripten_get_now(); - } - - // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize - // VBO double-buffering and reduce GPU stalls. - - - if (Browser.mainLoop.method === 'timeout' && Module.ctx) { - Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); - Browser.mainLoop.method = ''; // just warn once per call to set main loop - } - - Browser.mainLoop.runIter(browserIterationFunc); - - checkStackCookie(); - - // catch pauses from the main loop itself - if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; - - // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able - // to queue the newest produced audio samples. - // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() - // do not need to be hardcoded into this function, but can be more generic. - if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); - - Browser.mainLoop.scheduler(); - } - - if (!noSetTiming) { - if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) - - Browser.mainLoop.scheduler(); - } - - if (simulateInfiniteLoop) { - throw 'SimulateInfiniteLoop'; - } - }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { - Browser.mainLoop.scheduler = null; - Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. - },resume:function () { - Browser.mainLoop.currentlyRunningMainloop++; - var timingMode = Browser.mainLoop.timingMode; - var timingValue = Browser.mainLoop.timingValue; - var func = Browser.mainLoop.func; - Browser.mainLoop.func = null; - _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); - _emscripten_set_main_loop_timing(timingMode, timingValue); - Browser.mainLoop.scheduler(); - },updateStatus:function () { - if (Module['setStatus']) { - var message = Module['statusMessage'] || 'Please wait...'; - var remaining = Browser.mainLoop.remainingBlockers; - var expected = Browser.mainLoop.expectedBlockers; - if (remaining) { - if (remaining < expected) { - Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); - } else { - Module['setStatus'](message); - } - } else { - Module['setStatus'](''); - } - } - },runIter:function (func) { - if (ABORT) return; - if (Module['preMainLoop']) { - var preRet = Module['preMainLoop'](); - if (preRet === false) { - return; // |return false| skips a frame - } - } - try { - func(); - } catch (e) { - if (e instanceof ExitStatus) { - return; - } else { - if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); - throw e; - } - } - if (Module['postMainLoop']) Module['postMainLoop'](); - }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { - if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers - - if (Browser.initted) return; - Browser.initted = true; - - try { - new Blob(); - Browser.hasBlobConstructor = true; - } catch(e) { - Browser.hasBlobConstructor = false; - console.log("warning: no blob constructor, cannot create blobs with mimetypes"); - } - Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); - Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; - if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { - console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); - Module.noImageDecoding = true; - } - - // Support for plugins that can process preloaded files. You can add more of these to - // your app by creating and appending to Module.preloadPlugins. - // - // Each plugin is asked if it can handle a file based on the file's name. If it can, - // it is given the file's raw data. When it is done, it calls a callback with the file's - // (possibly modified) data. For example, a plugin might decompress a file, or it - // might create some side data structure for use later (like an Image element, etc.). - - var imagePlugin = {}; - imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { - return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); - }; - imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { - var b = null; - if (Browser.hasBlobConstructor) { - try { - b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - if (b.size !== byteArray.length) { // Safari bug #118630 - // Safari's Blob can only take an ArrayBuffer - b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); - } - } catch(e) { - Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); - } - } - if (!b) { - var bb = new Browser.BlobBuilder(); - bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range - b = bb.getBlob(); - } - var url = Browser.URLObject.createObjectURL(b); - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var img = new Image(); - img.onload = function img_onload() { - assert(img.complete, 'Image ' + name + ' could not be decoded'); - var canvas = document.createElement('canvas'); - canvas.width = img.width; - canvas.height = img.height; - var ctx = canvas.getContext('2d'); - ctx.drawImage(img, 0, 0); - Module["preloadedImages"][name] = canvas; - Browser.URLObject.revokeObjectURL(url); - if (onload) onload(byteArray); - }; - img.onerror = function img_onerror(event) { - console.log('Image ' + url + ' could not be decoded'); - if (onerror) onerror(); - }; - img.src = url; - }; - Module['preloadPlugins'].push(imagePlugin); - - var audioPlugin = {}; - audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { - return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; - }; - audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { - var done = false; - function finish(audio) { - if (done) return; - done = true; - Module["preloadedAudios"][name] = audio; - if (onload) onload(byteArray); - } - function fail() { - if (done) return; - done = true; - Module["preloadedAudios"][name] = new Audio(); // empty shim - if (onerror) onerror(); - } - if (Browser.hasBlobConstructor) { - try { - var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); - } catch(e) { - return fail(); - } - var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! - assert(typeof url == 'string', 'createObjectURL must return a url as a string'); - var audio = new Audio(); - audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 - audio.onerror = function audio_onerror(event) { - if (done) return; - console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); - function encode64(data) { - var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - var PAD = '='; - var ret = ''; - var leftchar = 0; - var leftbits = 0; - for (var i = 0; i < data.length; i++) { - leftchar = (leftchar << 8) | data[i]; - leftbits += 8; - while (leftbits >= 6) { - var curr = (leftchar >> (leftbits-6)) & 0x3f; - leftbits -= 6; - ret += BASE[curr]; - } - } - if (leftbits == 2) { - ret += BASE[(leftchar&3) << 4]; - ret += PAD + PAD; - } else if (leftbits == 4) { - ret += BASE[(leftchar&0xf) << 2]; - ret += PAD; - } - return ret; - } - audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); - finish(audio); // we don't wait for confirmation this worked - but it's worth trying - }; - audio.src = url; - // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror - Browser.safeSetTimeout(function() { - finish(audio); // try to use it even though it is not necessarily ready to play - }, 10000); - } else { - return fail(); - } - }; - Module['preloadPlugins'].push(audioPlugin); - - // Canvas event setup - - function pointerLockChange() { - Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || - document['mozPointerLockElement'] === Module['canvas'] || - document['webkitPointerLockElement'] === Module['canvas'] || - document['msPointerLockElement'] === Module['canvas']; - } - var canvas = Module['canvas']; - if (canvas) { - // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module - // Module['forcedAspectRatio'] = 4 / 3; - - canvas.requestPointerLock = canvas['requestPointerLock'] || - canvas['mozRequestPointerLock'] || - canvas['webkitRequestPointerLock'] || - canvas['msRequestPointerLock'] || - function(){}; - canvas.exitPointerLock = document['exitPointerLock'] || - document['mozExitPointerLock'] || - document['webkitExitPointerLock'] || - document['msExitPointerLock'] || - function(){}; // no-op if function does not exist - canvas.exitPointerLock = canvas.exitPointerLock.bind(document); - - document.addEventListener('pointerlockchange', pointerLockChange, false); - document.addEventListener('mozpointerlockchange', pointerLockChange, false); - document.addEventListener('webkitpointerlockchange', pointerLockChange, false); - document.addEventListener('mspointerlockchange', pointerLockChange, false); - - if (Module['elementPointerLock']) { - canvas.addEventListener("click", function(ev) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - ev.preventDefault(); - } - }, false); - } - } - },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { - if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. - - var ctx; - var contextHandle; - if (useWebGL) { - // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. - var contextAttributes = { - antialias: false, - alpha: false - }; - - if (webGLContextAttributes) { - for (var attribute in webGLContextAttributes) { - contextAttributes[attribute] = webGLContextAttributes[attribute]; - } - } - - contextHandle = GL.createContext(canvas, contextAttributes); - if (contextHandle) { - ctx = GL.getContext(contextHandle).GLctx; - } - } else { - ctx = canvas.getContext('2d'); - } - - if (!ctx) return null; - - if (setInModule) { - if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); - - Module.ctx = ctx; - if (useWebGL) GL.makeContextCurrent(contextHandle); - Module.useWebGL = useWebGL; - Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); - Browser.init(); - } - return ctx; - },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { - Browser.lockPointer = lockPointer; - Browser.resizeCanvas = resizeCanvas; - Browser.vrDevice = vrDevice; - if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; - if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; - if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; - - var canvas = Module['canvas']; - function fullscreenChange() { - Browser.isFullscreen = false; - var canvasContainer = canvas.parentNode; - if ((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvasContainer) { - canvas.exitFullscreen = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['msExitFullscreen'] || - document['webkitCancelFullScreen'] || - function() {}; - canvas.exitFullscreen = canvas.exitFullscreen.bind(document); - if (Browser.lockPointer) canvas.requestPointerLock(); - Browser.isFullscreen = true; - if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); - } else { - - // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen - canvasContainer.parentNode.insertBefore(canvas, canvasContainer); - canvasContainer.parentNode.removeChild(canvasContainer); - - if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); - } - if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); - if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); - Browser.updateCanvasDimensions(canvas); - } - - if (!Browser.fullscreenHandlersInstalled) { - Browser.fullscreenHandlersInstalled = true; - document.addEventListener('fullscreenchange', fullscreenChange, false); - document.addEventListener('mozfullscreenchange', fullscreenChange, false); - document.addEventListener('webkitfullscreenchange', fullscreenChange, false); - document.addEventListener('MSFullscreenChange', fullscreenChange, false); - } - - // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root - var canvasContainer = document.createElement("div"); - canvas.parentNode.insertBefore(canvasContainer, canvas); - canvasContainer.appendChild(canvas); - - // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) - canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || - canvasContainer['mozRequestFullScreen'] || - canvasContainer['msRequestFullscreen'] || - (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || - (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); - - if (vrDevice) { - canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); - } else { - canvasContainer.requestFullscreen(); - } - },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { - Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); - Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { - return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); - } - return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); - },nextRAF:0,fakeRequestAnimationFrame:function (func) { - // try to keep 60fps between calls to here - var now = Date.now(); - if (Browser.nextRAF === 0) { - Browser.nextRAF = now + 1000/60; - } else { - while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 - Browser.nextRAF += 1000/60; - } - } - var delay = Math.max(Browser.nextRAF - now, 0); - setTimeout(func, delay); - },requestAnimationFrame:function requestAnimationFrame(func) { - if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) - Browser.fakeRequestAnimationFrame(func); - } else { - if (!window.requestAnimationFrame) { - window.requestAnimationFrame = window['requestAnimationFrame'] || - window['mozRequestAnimationFrame'] || - window['webkitRequestAnimationFrame'] || - window['msRequestAnimationFrame'] || - window['oRequestAnimationFrame'] || - Browser.fakeRequestAnimationFrame; - } - window.requestAnimationFrame(func); - } - },safeCallback:function (func) { - return function() { - if (!ABORT) return func.apply(null, arguments); - }; - },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { - Browser.allowAsyncCallbacks = false; - },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now - Browser.allowAsyncCallbacks = true; - if (Browser.queuedAsyncCallbacks.length > 0) { - var callbacks = Browser.queuedAsyncCallbacks; - Browser.queuedAsyncCallbacks = []; - callbacks.forEach(function(func) { - func(); - }); - } - },safeRequestAnimationFrame:function (func) { - return Browser.requestAnimationFrame(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }); - },safeSetTimeout:function (func, timeout) { - Module['noExitRuntime'] = true; - return setTimeout(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } else { - Browser.queuedAsyncCallbacks.push(func); - } - }, timeout); - },safeSetInterval:function (func, timeout) { - Module['noExitRuntime'] = true; - return setInterval(function() { - if (ABORT) return; - if (Browser.allowAsyncCallbacks) { - func(); - } // drop it on the floor otherwise, next interval will kick in - }, timeout); - },getMimetype:function (name) { - return { - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'png': 'image/png', - 'bmp': 'image/bmp', - 'ogg': 'audio/ogg', - 'wav': 'audio/wav', - 'mp3': 'audio/mpeg' - }[name.substr(name.lastIndexOf('.')+1)]; - },getUserMedia:function (func) { - if(!window.getUserMedia) { - window.getUserMedia = navigator['getUserMedia'] || - navigator['mozGetUserMedia']; - } - window.getUserMedia(func); - },getMovementX:function (event) { - return event['movementX'] || - event['mozMovementX'] || - event['webkitMovementX'] || - 0; - },getMovementY:function (event) { - return event['movementY'] || - event['mozMovementY'] || - event['webkitMovementY'] || - 0; - },getMouseWheelDelta:function (event) { - var delta = 0; - switch (event.type) { - case 'DOMMouseScroll': - delta = event.detail; - break; - case 'mousewheel': - delta = event.wheelDelta; - break; - case 'wheel': - delta = event['deltaY']; - break; - default: - throw 'unrecognized mouse wheel event: ' + event.type; - } - return delta; - },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup - if (Browser.pointerLock) { - // When the pointer is locked, calculate the coordinates - // based on the movement of the mouse. - // Workaround for Firefox bug 764498 - if (event.type != 'mousemove' && - ('mozMovementX' in event)) { - Browser.mouseMovementX = Browser.mouseMovementY = 0; - } else { - Browser.mouseMovementX = Browser.getMovementX(event); - Browser.mouseMovementY = Browser.getMovementY(event); - } - - // check if SDL is available - if (typeof SDL != "undefined") { - Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; - Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; - } else { - // just add the mouse delta to the current absolut mouse position - // FIXME: ideally this should be clamped against the canvas size and zero - Browser.mouseX += Browser.mouseMovementX; - Browser.mouseY += Browser.mouseMovementY; - } - } else { - // Otherwise, calculate the movement based on the changes - // in the coordinates. - var rect = Module["canvas"].getBoundingClientRect(); - var cw = Module["canvas"].width; - var ch = Module["canvas"].height; - - // Neither .scrollX or .pageXOffset are defined in a spec, but - // we prefer .scrollX because it is currently in a spec draft. - // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) - var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); - var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); - // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset - // and we have no viable fallback. - assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); - - if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { - var touch = event.touch; - if (touch === undefined) { - return; // the "touch" property is only defined in SDL - - } - var adjustedX = touch.pageX - (scrollX + rect.left); - var adjustedY = touch.pageY - (scrollY + rect.top); - - adjustedX = adjustedX * (cw / rect.width); - adjustedY = adjustedY * (ch / rect.height); - - var coords = { x: adjustedX, y: adjustedY }; - - if (event.type === 'touchstart') { - Browser.lastTouches[touch.identifier] = coords; - Browser.touches[touch.identifier] = coords; - } else if (event.type === 'touchend' || event.type === 'touchmove') { - var last = Browser.touches[touch.identifier]; - if (!last) last = coords; - Browser.lastTouches[touch.identifier] = last; - Browser.touches[touch.identifier] = coords; - } - return; - } - - var x = event.pageX - (scrollX + rect.left); - var y = event.pageY - (scrollY + rect.top); - - // the canvas might be CSS-scaled compared to its backbuffer; - // SDL-using content will want mouse coordinates in terms - // of backbuffer units. - x = x * (cw / rect.width); - y = y * (ch / rect.height); - - Browser.mouseMovementX = x - Browser.mouseX; - Browser.mouseMovementY = y - Browser.mouseY; - Browser.mouseX = x; - Browser.mouseY = y; - } - },asyncLoad:function (url, onload, onerror, noRunDep) { - var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; - Module['readAsync'](url, function(arrayBuffer) { - assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); - onload(new Uint8Array(arrayBuffer)); - if (dep) removeRunDependency(dep); - }, function(event) { - if (onerror) { - onerror(); - } else { - throw 'Loading data file "' + url + '" failed.'; - } - }); - if (dep) addRunDependency(dep); - },resizeListeners:[],updateResizeListeners:function () { - var canvas = Module['canvas']; - Browser.resizeListeners.forEach(function(listener) { - listener(canvas.width, canvas.height); - }); - },setCanvasSize:function (width, height, noUpdates) { - var canvas = Module['canvas']; - Browser.updateCanvasDimensions(canvas, width, height); - if (!noUpdates) Browser.updateResizeListeners(); - },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags | 0x00800000; // set SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },setWindowedCanvasSize:function () { - // check if SDL is available - if (typeof SDL != "undefined") { - var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; - flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag - HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags - } - Browser.updateResizeListeners(); - },updateCanvasDimensions:function (canvas, wNative, hNative) { - if (wNative && hNative) { - canvas.widthNative = wNative; - canvas.heightNative = hNative; - } else { - wNative = canvas.widthNative; - hNative = canvas.heightNative; - } - var w = wNative; - var h = hNative; - if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { - if (w/h < Module['forcedAspectRatio']) { - w = Math.round(h * Module['forcedAspectRatio']); - } else { - h = Math.round(w / Module['forcedAspectRatio']); - } - } - if (((document['fullscreenElement'] || document['mozFullScreenElement'] || - document['msFullscreenElement'] || document['webkitFullscreenElement'] || - document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { - var factor = Math.min(screen.width / w, screen.height / h); - w = Math.round(w * factor); - h = Math.round(h * factor); - } - if (Browser.resizeCanvas) { - if (canvas.width != w) canvas.width = w; - if (canvas.height != h) canvas.height = h; - if (typeof canvas.style != 'undefined') { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } else { - if (canvas.width != wNative) canvas.width = wNative; - if (canvas.height != hNative) canvas.height = hNative; - if (typeof canvas.style != 'undefined') { - if (w != wNative || h != hNative) { - canvas.style.setProperty( "width", w + "px", "important"); - canvas.style.setProperty("height", h + "px", "important"); - } else { - canvas.style.removeProperty( "width"); - canvas.style.removeProperty("height"); - } - } - } - },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { - var handle = Browser.nextWgetRequestHandle; - Browser.nextWgetRequestHandle++; - return handle; - }};var GLFW={Window:function (id, width, height, title, monitor, share) { - this.id = id; - this.x = 0; - this.y = 0; - this.fullscreen = false; // Used to determine if app in fullscreen mode - this.storedX = 0; // Used to store X before fullscreen - this.storedY = 0; // Used to store Y before fullscreen - this.width = width; - this.height = height; - this.storedWidth = width; // Used to store width before fullscreen - this.storedHeight = height; // Used to store height before fullscreen - this.title = title; - this.monitor = monitor; - this.share = share; - this.attributes = GLFW.hints; - this.inputModes = { - 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) - 0x00033002:0, // GLFW_STICKY_KEYS - 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS - }; - this.buttons = 0; - this.keys = new Array(); - this.shouldClose = 0; - this.title = null; - this.windowPosFunc = null; // GLFWwindowposfun - this.windowSizeFunc = null; // GLFWwindowsizefun - this.windowCloseFunc = null; // GLFWwindowclosefun - this.windowRefreshFunc = null; // GLFWwindowrefreshfun - this.windowFocusFunc = null; // GLFWwindowfocusfun - this.windowIconifyFunc = null; // GLFWwindowiconifyfun - this.framebufferSizeFunc = null; // GLFWframebuffersizefun - this.mouseButtonFunc = null; // GLFWmousebuttonfun - this.cursorPosFunc = null; // GLFWcursorposfun - this.cursorEnterFunc = null; // GLFWcursorenterfun - this.scrollFunc = null; // GLFWscrollfun - this.keyFunc = null; // GLFWkeyfun - this.charFunc = null; // GLFWcharfun - this.userptr = null; - },WindowFromId:function (id) { - if (id <= 0 || !GLFW.windows) return null; - return GLFW.windows[id - 1]; - },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { - switch (keycode) { - // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 - case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE - case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE - case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA - case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS - case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS - case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD - case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH - case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 - case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 - case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 - case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 - case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 - case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 - case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 - case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 - case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 - case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 - case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON - case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL - case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A - case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B - case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C - case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D - case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E - case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F - case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G - case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H - case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I - case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J - case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K - case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L - case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M - case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N - case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O - case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P - case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q - case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R - case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S - case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T - case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U - case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V - case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W - case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X - case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y - case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z - case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET - case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH - case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET - case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT - - - case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE - case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER - case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB - case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE - case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT - case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE - case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT - case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT - case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN - case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP - case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP - case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN - case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME - case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END - case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK - case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK - case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK - case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN - case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE - case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 - case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 - case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 - case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 - case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 - case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 - case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 - case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 - case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 - case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 - case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 - case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 - case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 - case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 - case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 - case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 - case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 - case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 - case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 - case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 - case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 - case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 - case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 - case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 - case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 - case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 - case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 - case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 - case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 - case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 - case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 - case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 - case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 - case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 - case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 - case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL - case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE - case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY - case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT - case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD - // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) - // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) - case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT - case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL - case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT - case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER - // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) - // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) - // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) - // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) - case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU - // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? - default:return -1; // GLFW_KEY_UNKNOWN - }; - },getModBits:function (win) { - var mod = 0; - if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT - if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL - if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT - if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER - return mod; - },onKeyPress:function (event) { - if (!GLFW.active || !GLFW.active.charFunc) return; - - // correct unicode charCode is only available with onKeyPress event - var charCode = event.charCode; - if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; - - - Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); - },onKeyChanged:function (event, status) { - if (!GLFW.active) return; - - var key = GLFW.DOMToGLFWKeyCode(event.keyCode); - if (key == -1) return; - - var repeat = status && GLFW.active.keys[key]; - GLFW.active.keys[key] = status; - if (!GLFW.active.keyFunc) return; - - - if (repeat) status = 2; // GLFW_REPEAT - Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); - },onKeydown:function (event) { - GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT - - // This logic comes directly from the sdl implementation. We cannot - // call preventDefault on all keydown events otherwise onKeyPress will - // not get called - if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { - event.preventDefault(); - } - },onKeyup:function (event) { - GLFW.onKeyChanged(event, 0); // GLFW_RELEASE - },onMousemove:function (event) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; - - - Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); - },DOMToGLFWMouseButton:function (event) { - // DOM and glfw have different button codes. - // See http://www.w3schools.com/jsref/event_button.asp. - var eventButton = event['button']; - if (eventButton > 0) { - if (eventButton == 1) { - eventButton = 2; - } else { - eventButton = 1; - } - } - return eventButton; - },onMouseenter:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); - },onMouseleave:function (event) { - if (!GLFW.active) return; - - if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; - - Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); - },onMouseButtonChanged:function (event, status) { - if (!GLFW.active) return; - - Browser.calculateMouseEvent(event); - - if (event.target != Module["canvas"]) return; - - eventButton = GLFW.DOMToGLFWMouseButton(event); - - if (status == 1) { // GLFW_PRESS - GLFW.active.buttons |= (1 << eventButton); - try { - event.target.setCapture(); - } catch (e) {} - } else { // GLFW_RELEASE - GLFW.active.buttons &= ~(1 << eventButton); - } - - if (!GLFW.active.mouseButtonFunc) return; - - - Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); - },onMouseButtonDown:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS - },onMouseButtonUp:function (event) { - if (!GLFW.active) return; - GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE - },onMouseWheel:function (event) { - // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) - var delta = -Browser.getMouseWheelDelta(event); - delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. - GLFW.wheelPos += delta; - - if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; - - - var sx = 0; - var sy = 0; - if (event.type == 'mousewheel') { - sx = event.wheelDeltaX; - sy = event.wheelDeltaY; - } else { - sx = event.deltaX; - sy = event.deltaY; - } - - Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); - - event.preventDefault(); - },onCanvasResize:function (width, height) { - if (!GLFW.active) return; - - var resizeNeeded = true; - - // If the client is requestiong fullscreen mode - if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { - GLFW.active.storedX = GLFW.active.x; - GLFW.active.storedY = GLFW.active.y; - GLFW.active.storedWidth = GLFW.active.width; - GLFW.active.storedHeight = GLFW.active.height; - GLFW.active.x = GLFW.active.y = 0; - GLFW.active.width = screen.width; - GLFW.active.height = screen.height; - GLFW.active.fullscreen = true; - - // If the client is reverting from fullscreen mode - } else if (GLFW.active.fullscreen == true) { - GLFW.active.x = GLFW.active.storedX; - GLFW.active.y = GLFW.active.storedY; - GLFW.active.width = GLFW.active.storedWidth; - GLFW.active.height = GLFW.active.storedHeight; - GLFW.active.fullscreen = false; - - // If the width/height values do not match current active window sizes - } else if (GLFW.active.width != width || GLFW.active.height != height) { - GLFW.active.width = width; - GLFW.active.height = height; - } else { - resizeNeeded = false; - } - - // If any of the above conditions were true, we need to resize the canvas - if (resizeNeeded) { - // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions - Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); - // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of - // the canvas should drive window and framebuffer size respectfully. - GLFW.onWindowSizeChanged(); - GLFW.onFramebufferSizeChanged(); - } - },onWindowSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.windowSizeFunc) return; - - - Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },onFramebufferSizeChanged:function () { - if (!GLFW.active) return; - - if (!GLFW.active.framebufferSizeFunc) return; - - Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); - },requestFullscreen:function () { - var RFS = Module["canvas"]['requestFullscreen'] || - Module["canvas"]['mozRequestFullScreen'] || - Module["canvas"]['webkitRequestFullScreen'] || - (function() {}); - RFS.apply(Module["canvas"], []); - },requestFullScreen:function () { - Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); - GLFW.requestFullScreen = function() { - return GLFW.requestFullscreen(); - } - return GLFW.requestFullscreen(); - },exitFullscreen:function () { - var CFS = document['exitFullscreen'] || - document['cancelFullScreen'] || - document['mozCancelFullScreen'] || - document['webkitCancelFullScreen'] || - (function() {}); - CFS.apply(document, []); - },cancelFullScreen:function () { - Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); - GLFW.cancelFullScreen = function() { - return GLFW.exitFullscreen(); - } - return GLFW.exitFullscreen(); - },getTime:function () { - return _emscripten_get_now() / 1000; - },setWindowTitle:function (winid, title) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - win.title = Pointer_stringify(title); - if (GLFW.active.id == win.id) { - document.title = win.title; - } - },setKeyCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.keyFunc = cbfun; - },setCharCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.charFunc = cbfun; - },setMouseButtonCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.mouseButtonFunc = cbfun; - },setCursorPosCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorPosFunc = cbfun; - },setScrollCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.scrollFunc = cbfun; - },setWindowSizeCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowSizeFunc = cbfun; - - },setWindowCloseCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowCloseFunc = cbfun; - },setWindowRefreshCallback:function (winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowRefreshFunc = cbfun; - },onClickRequestPointerLock:function (e) { - if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { - Module['canvas'].requestPointerLock(); - e.preventDefault(); - } - },setInputMode:function (winid, mode, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - switch(mode) { - case 0x00033001: { // GLFW_CURSOR - switch(value) { - case 0x00034001: { // GLFW_CURSOR_NORMAL - win.inputModes[mode] = value; - Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].exitPointerLock(); - break; - } - case 0x00034002: { // GLFW_CURSOR_HIDDEN - console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); - break; - } - case 0x00034003: { // GLFW_CURSOR_DISABLED - win.inputModes[mode] = value; - Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); - Module['canvas'].requestPointerLock(); - break; - } - default: { - console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); - break; - } - } - break; - } - case 0x00033002: { // GLFW_STICKY_KEYS - console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); - break; - } - case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS - console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); - break; - } - default: { - console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); - break; - } - } - },getKey:function (winid, key) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return win.keys[key]; - },getMouseButton:function (winid, button) { - var win = GLFW.WindowFromId(winid); - if (!win) return 0; - return (win.buttons & (1 << button)) > 0; - },getCursorPos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'double'); - setValue(y, Browser.mouseY, 'double'); - },getMousePos:function (winid, x, y) { - setValue(x, Browser.mouseX, 'i32'); - setValue(y, Browser.mouseY, 'i32'); - },setCursorPos:function (winid, x, y) { - },getWindowPos:function (winid, x, y) { - var wx = 0; - var wy = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - wx = win.x; - wy = win.y; - } - - setValue(x, wx, 'i32'); - setValue(y, wy, 'i32'); - },setWindowPos:function (winid, x, y) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.x = x; - win.y = y; - },getWindowSize:function (winid, width, height) { - var ww = 0; - var wh = 0; - - var win = GLFW.WindowFromId(winid); - if (win) { - ww = win.width; - wh = win.height; - } - - setValue(width, ww, 'i32'); - setValue(height, wh, 'i32'); - },setWindowSize:function (winid, width, height) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (GLFW.active.id == win.id) { - if (width == screen.width && height == screen.height) { - GLFW.requestFullscreen(); - } else { - GLFW.exitFullscreen(); - Browser.setCanvasSize(width, height); - win.width = width; - win.height = height; - } - } - - if (!win.windowSizeFunc) return; - - - Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); - },createWindow:function (width, height, title, monitor, share) { - var i, id; - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); - if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; - - // id for window - id = i + 1; - - // not valid - if (width <= 0 || height <= 0) return 0; - - if (monitor) { - GLFW.requestFullscreen(); - } else { - Browser.setCanvasSize(width, height); - } - - // Create context when there are no existing alive windows - for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); - if (i == GLFW.windows.length) { - var contextAttributes = { - antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES - depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS - stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS - alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS - } - Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); - } - - // If context creation failed, do not return a valid window - if (!Module.ctx) return 0; - - // Get non alive id - var win = new GLFW.Window(id, width, height, title, monitor, share); - - // Set window to array - if (id - 1 == GLFW.windows.length) { - GLFW.windows.push(win); - } else { - GLFW.windows[id - 1] = win; - } - - GLFW.active = win; - return win.id; - },destroyWindow:function (winid) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - - if (win.windowCloseFunc) - Module['dynCall_vi'](win.windowCloseFunc, win.id); - - GLFW.windows[win.id - 1] = null; - if (GLFW.active.id == win.id) - GLFW.active = null; - - // Destroy context when no alive windows - for (var i = 0; i < GLFW.windows.length; i++) - if (GLFW.windows[i] !== null) return; - - Module.ctx = Browser.destroyContext(Module['canvas'], true, true); - },swapBuffers:function (winid) { - },GLFW2ParamToGLFW3Param:function (param) { - table = { - 0x00030001:0, // GLFW_MOUSE_CURSOR - 0x00030002:0, // GLFW_STICKY_KEYS - 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS - 0x00030004:0, // GLFW_SYSTEM_KEYS - 0x00030005:0, // GLFW_KEY_REPEAT - 0x00030006:0, // GLFW_AUTO_POLL_EVENTS - 0x00020001:0, // GLFW_OPENED - 0x00020002:0, // GLFW_ACTIVE - 0x00020003:0, // GLFW_ICONIFIED - 0x00020004:0, // GLFW_ACCELERATED - 0x00020005:0x00021001, // GLFW_RED_BITS - 0x00020006:0x00021002, // GLFW_GREEN_BITS - 0x00020007:0x00021003, // GLFW_BLUE_BITS - 0x00020008:0x00021004, // GLFW_ALPHA_BITS - 0x00020009:0x00021005, // GLFW_DEPTH_BITS - 0x0002000A:0x00021006, // GLFW_STENCIL_BITS - 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE - 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS - 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS - 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS - 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS - 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS - 0x00020011:0x0002100C, // GLFW_STEREO - 0x00020012:0, // GLFW_WINDOW_NO_RESIZE - 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES - 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR - 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR - 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT - 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT - 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE - }; - return table[param]; - }};function _glfwGetVideoModes(monitor, count) { - setValue(count, 0, 'i32'); - return 0; - } - - function _glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } - - function _glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glUniform3iv(location, count, value) { - - - GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); - } - - function _emscripten_glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glReleaseShaderCompiler() { - // NOP (as allowed by GLES 2.0 spec) - } - - function _glfwSetScrollCallback(winid, cbfun) { - GLFW.setScrollCallback(winid, cbfun); - } - - function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - - - - var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; - - var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; - - function ___setErrNo(value) { - if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; - else Module.printErr('failed to set errno from JS'); - return value; - } - - var PATH={splitPath:function (filename) { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - },normalizeArray:function (parts, allowAboveRoot) { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up--; up) { - parts.unshift('..'); - } - } - return parts; - },normalize:function (path) { - var isAbsolute = path.charAt(0) === '/', - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - },dirname:function (path) { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - },basename:function (path) { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - },extname:function (path) { - return PATH.splitPath(path)[3]; - },join:function () { - var paths = Array.prototype.slice.call(arguments, 0); - return PATH.normalize(paths.join('/')); - },join2:function (l, r) { - return PATH.normalize(l + '/' + r); - },resolve:function () { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? arguments[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path !== 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = path.charAt(0) === '/'; - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { - return !!p; - }), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - },relative:function (from, to) { - from = PATH.resolve(from).substr(1); - to = PATH.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }}; - - var TTY={ttys:[],init:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process['stdin']['setEncoding']('utf8'); - // } - },shutdown:function () { - // https://github.com/kripken/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process['stdin']['pause'](); - // } - },register:function (dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - },stream_ops:{open:function (stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - stream.tty = tty; - stream.seekable = false; - },close:function (stream) { - // flush any pending line data - stream.tty.ops.flush(stream.tty); - },flush:function (stream) { - stream.tty.ops.flush(stream.tty); - },read:function (stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - },write:function (stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(ERRNO_CODES.ENXIO); - } - for (var i = 0; i < length; i++) { - try { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }},default_tty_ops:{get_char:function (tty) { - if (!tty.input.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = new Buffer(BUFSIZE); - var bytesRead = 0; - - var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion - - var fd = process.stdin.fd; - if (isPosixPlatform) { - // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) - var usingDevice = false; - try { - fd = fs.openSync('/dev/stdin', 'r'); - usingDevice = true; - } catch (e) {} - } - - try { - bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - if (e.toString().indexOf('EOF') != -1) bytesRead = 0; - else throw e; - } - - if (usingDevice) { fs.closeSync(fd); } - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - - } else if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - tty.input = intArrayFromString(result, true); - } - return tty.input.shift(); - },put_char:function (tty, val) { - if (val === null || val === 10) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['print'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }},default_tty1_ops:{put_char:function (tty, val) { - if (val === null || val === 10) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - },flush:function (tty) { - if (tty.output && tty.output.length > 0) { - Module['printErr'](UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }}}; - - var MEMFS={ops_table:null,mount:function (mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - },createNode:function (parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (!MEMFS.ops_table) { - MEMFS.ops_table = { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - } - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - } - return node; - },getFileDataAsRegularArray:function (node) { - if (node.contents && node.contents.subarray) { - var arr = []; - for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); - return arr; // Returns a copy of the original data. - } - return node.contents; // No-op, the file contents are already in a JS array. Return as-is. - },getFileDataAsTypedArray:function (node) { - if (!node.contents) return new Uint8Array; - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - },expandFileStorage:function (node, newCapacity) { - // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file - // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to - // increase the size. - if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { - node.contents = MEMFS.getFileDataAsRegularArray(node); - node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. - } - - if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - return; - } - // Not using a typed array to back the file storage. Use a standard JS array instead. - if (!node.contents && newCapacity > 0) node.contents = []; - while (node.contents.length < newCapacity) node.contents.push(0); - },resizeFileStorage:function (node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - return; - } - if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. - var oldContents = node.contents; - node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - return; - } - // Backing with a JS array. - if (!node.contents) node.contents = []; - if (node.contents.length > newSize) node.contents.length = newSize; - else while (node.contents.length < newSize) node.contents.push(0); - node.usedBytes = newSize; - },node_ops:{getattr:function (node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - },lookup:function (parent, name) { - throw FS.genericErrors[ERRNO_CODES.ENOENT]; - },mknod:function (parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - },rename:function (old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - old_node.parent = new_dir; - },unlink:function (parent, name) { - delete parent.contents[name]; - },rmdir:function (parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - delete parent.contents[name]; - },readdir:function (node) { - var entries = ['.', '..'] - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - },readlink:function (node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return node.link; - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. - else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position+length); - return length; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - },allocate:function (stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if ( !(flags & 2) && - (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { - // We can't emulate MAP_SHARED when the file is not backed by the buffer - // we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < stream.node.usedBytes) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = _malloc(length); - if (!ptr) { - throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); - } - buffer.set(contents, ptr); - } - return { ptr: ptr, allocated: allocated }; - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (mmapFlags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - - var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }}}; - - var IDBFS={dbs:{},indexedDB:function () { - if (typeof indexedDB !== 'undefined') return indexedDB; - var ret = null; - if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - assert(ret, 'IDBFS used, but indexedDB not supported'); - return ret; - },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { - // reuse all of the core MEMFS functionality - return MEMFS.mount.apply(null, arguments); - },syncfs:function (mount, populate, callback) { - IDBFS.getLocalSet(mount, function(err, local) { - if (err) return callback(err); - - IDBFS.getRemoteSet(mount, function(err, remote) { - if (err) return callback(err); - - var src = populate ? remote : local; - var dst = populate ? local : remote; - - IDBFS.reconcile(src, dst, callback); - }); - }); - },getDB:function (name, callback) { - // check the cache first - var db = IDBFS.dbs[name]; - if (db) { - return callback(null, db); - } - - var req; - try { - req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); - } catch (e) { - return callback(e); - } - if (!req) { - return callback("Unable to connect to IndexedDB"); - } - req.onupgradeneeded = function(e) { - var db = e.target.result; - var transaction = e.target.transaction; - - var fileStore; - - if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { - fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); - } else { - fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); - } - - if (!fileStore.indexNames.contains('timestamp')) { - fileStore.createIndex('timestamp', 'timestamp', { unique: false }); - } - }; - req.onsuccess = function() { - db = req.result; - - // add to the cache - IDBFS.dbs[name] = db; - callback(null, db); - }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },getLocalSet:function (mount, callback) { - var entries = {}; - - function isRealDir(p) { - return p !== '.' && p !== '..'; - }; - function toAbsolute(root) { - return function(p) { - return PATH.join2(root, p); - } - }; - - var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); - - while (check.length) { - var path = check.pop(); - var stat; - - try { - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); - } - - entries[path] = { timestamp: stat.mtime }; - } - - return callback(null, { type: 'local', entries: entries }); - },getRemoteSet:function (mount, callback) { - var entries = {}; - - IDBFS.getDB(mount.mountpoint, function(err, db) { - if (err) return callback(err); - - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); - transaction.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - var index = store.index('timestamp'); - - index.openKeyCursor().onsuccess = function(event) { - var cursor = event.target.result; - - if (!cursor) { - return callback(null, { type: 'remote', db: db, entries: entries }); - } - - entries[cursor.primaryKey] = { timestamp: cursor.key }; - - cursor.continue(); - }; - }); - },loadLocalEntry:function (path, callback) { - var stat, node; - - try { - var lookup = FS.lookupPath(path); - node = lookup.node; - stat = FS.stat(path); - } catch (e) { - return callback(e); - } - - if (FS.isDir(stat.mode)) { - return callback(null, { timestamp: stat.mtime, mode: stat.mode }); - } else if (FS.isFile(stat.mode)) { - // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. - // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. - node.contents = MEMFS.getFileDataAsTypedArray(node); - return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); - } else { - return callback(new Error('node type not supported')); - } - },storeLocalEntry:function (path, entry, callback) { - try { - if (FS.isDir(entry.mode)) { - FS.mkdir(path, entry.mode); - } else if (FS.isFile(entry.mode)) { - FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); - } else { - return callback(new Error('node type not supported')); - } - - FS.chmod(path, entry.mode); - FS.utime(path, entry.timestamp, entry.timestamp); - } catch (e) { - return callback(e); - } - - callback(null); - },removeLocalEntry:function (path, callback) { - try { - var lookup = FS.lookupPath(path); - var stat = FS.stat(path); - - if (FS.isDir(stat.mode)) { - FS.rmdir(path); - } else if (FS.isFile(stat.mode)) { - FS.unlink(path); - } - } catch (e) { - return callback(e); - } - - callback(null); - },loadRemoteEntry:function (store, path, callback) { - var req = store.get(path); - req.onsuccess = function(event) { callback(null, event.target.result); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },storeRemoteEntry:function (store, path, entry, callback) { - var req = store.put(entry, path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },removeRemoteEntry:function (store, path, callback) { - var req = store.delete(path); - req.onsuccess = function() { callback(null); }; - req.onerror = function(e) { - callback(this.error); - e.preventDefault(); - }; - },reconcile:function (src, dst, callback) { - var total = 0; - - var create = []; - Object.keys(src.entries).forEach(function (key) { - var e = src.entries[key]; - var e2 = dst.entries[key]; - if (!e2 || e.timestamp > e2.timestamp) { - create.push(key); - total++; - } - }); - - var remove = []; - Object.keys(dst.entries).forEach(function (key) { - var e = dst.entries[key]; - var e2 = src.entries[key]; - if (!e2) { - remove.push(key); - total++; - } - }); - - if (!total) { - return callback(null); - } - - var errored = false; - var completed = 0; - var db = src.type === 'remote' ? src.db : dst.db; - var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); - var store = transaction.objectStore(IDBFS.DB_STORE_NAME); - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return callback(err); - } - return; - } - if (++completed >= total) { - return callback(null); - } - }; - - transaction.onerror = function(e) { - done(this.error); - e.preventDefault(); - }; - - // sort paths in ascending order so directory entries are created - // before the files inside them - create.sort().forEach(function (path) { - if (dst.type === 'local') { - IDBFS.loadRemoteEntry(store, path, function (err, entry) { - if (err) return done(err); - IDBFS.storeLocalEntry(path, entry, done); - }); - } else { - IDBFS.loadLocalEntry(path, function (err, entry) { - if (err) return done(err); - IDBFS.storeRemoteEntry(store, path, entry, done); - }); - } - }); - - // sort paths in descending order so files are deleted before their - // parent directories - remove.sort().reverse().forEach(function(path) { - if (dst.type === 'local') { - IDBFS.removeLocalEntry(path, done); - } else { - IDBFS.removeRemoteEntry(store, path, done); - } - }); - }}; - - var NODEFS={isWindows:false,staticInit:function () { - NODEFS.isWindows = !!process.platform.match(/^win/); - },mount:function (mount) { - assert(ENVIRONMENT_IS_NODE); - return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); - },createNode:function (parent, name, mode, dev) { - if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node = FS.createNode(parent, name, mode); - node.node_ops = NODEFS.node_ops; - node.stream_ops = NODEFS.stream_ops; - return node; - },getMode:function (path) { - var stat; - try { - stat = fs.lstatSync(path); - if (NODEFS.isWindows) { - // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so - // propagate write bits to execute bits. - stat.mode = stat.mode | ((stat.mode & 146) >> 1); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return stat.mode; - },realPath:function (node) { - var parts = []; - while (node.parent !== node) { - parts.push(node.name); - node = node.parent; - } - parts.push(node.mount.opts.root); - parts.reverse(); - return PATH.join.apply(null, parts); - },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { - flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. - flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. - if (flags in NODEFS.flagsToPermissionStringMap) { - return NODEFS.flagsToPermissionStringMap[flags]; - } else { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - },node_ops:{getattr:function (node) { - var path = NODEFS.realPath(node); - var stat; - try { - stat = fs.lstatSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. - // See http://support.microsoft.com/kb/140365 - if (NODEFS.isWindows && !stat.blksize) { - stat.blksize = 4096; - } - if (NODEFS.isWindows && !stat.blocks) { - stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; - } - return { - dev: stat.dev, - ino: stat.ino, - mode: stat.mode, - nlink: stat.nlink, - uid: stat.uid, - gid: stat.gid, - rdev: stat.rdev, - size: stat.size, - atime: stat.atime, - mtime: stat.mtime, - ctime: stat.ctime, - blksize: stat.blksize, - blocks: stat.blocks - }; - },setattr:function (node, attr) { - var path = NODEFS.realPath(node); - try { - if (attr.mode !== undefined) { - fs.chmodSync(path, attr.mode); - // update the common node structure mode as well - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - var date = new Date(attr.timestamp); - fs.utimesSync(path, date, date); - } - if (attr.size !== undefined) { - fs.truncateSync(path, attr.size); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },lookup:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - var mode = NODEFS.getMode(path); - return NODEFS.createNode(parent, name, mode); - },mknod:function (parent, name, mode, dev) { - var node = NODEFS.createNode(parent, name, mode, dev); - // create the backing node for this in the fs root as well - var path = NODEFS.realPath(node); - try { - if (FS.isDir(node.mode)) { - fs.mkdirSync(path, node.mode); - } else { - fs.writeFileSync(path, '', { mode: node.mode }); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return node; - },rename:function (oldNode, newDir, newName) { - var oldPath = NODEFS.realPath(oldNode); - var newPath = PATH.join2(NODEFS.realPath(newDir), newName); - try { - fs.renameSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },unlink:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.unlinkSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },rmdir:function (parent, name) { - var path = PATH.join2(NODEFS.realPath(parent), name); - try { - fs.rmdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readdir:function (node) { - var path = NODEFS.realPath(node); - try { - return fs.readdirSync(path); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },symlink:function (parent, newName, oldPath) { - var newPath = PATH.join2(NODEFS.realPath(parent), newName); - try { - fs.symlinkSync(oldPath, newPath); - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },readlink:function (node) { - var path = NODEFS.realPath(node); - try { - path = fs.readlinkSync(path); - path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); - return path; - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - }},stream_ops:{open:function (stream) { - var path = NODEFS.realPath(stream.node); - try { - if (FS.isFile(stream.node.mode)) { - stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },close:function (stream) { - try { - if (FS.isFile(stream.node.mode) && stream.nfd) { - fs.closeSync(stream.nfd); - } - } catch (e) { - if (!e.code) throw e; - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - },read:function (stream, buffer, offset, length, position) { - if (length === 0) return 0; // node errors on 0 length reads - // FIXME this is terrible. - var nbuffer = new Buffer(length); - var res; - try { - res = fs.readSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - if (res > 0) { - for (var i = 0; i < res; i++) { - buffer[offset + i] = nbuffer[i]; - } - } - return res; - },write:function (stream, buffer, offset, length, position) { - // FIXME this is terrible. - var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); - var res; - try { - res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - return res; - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - try { - var stat = fs.fstatSync(stream.nfd); - position += stat.size; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES[e.code]); - } - } - } - - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - return position; - }}}; - - var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { - assert(ENVIRONMENT_IS_WORKER); - if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); - var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); - var createdParents = {}; - function ensureParent(path) { - // return the parent node, creating subdirs as necessary - var parts = path.split('/'); - var parent = root; - for (var i = 0; i < parts.length-1; i++) { - var curr = parts.slice(0, i+1).join('/'); - // Issue 4254: Using curr as a node name will prevent the node - // from being found in FS.nameTable when FS.open is called on - // a path which holds a child of this node, - // given that all FS functions assume node names - // are just their corresponding parts within their given path, - // rather than incremental aggregates which include their parent's - // directories. - if (!createdParents[curr]) { - createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); - } - parent = createdParents[curr]; - } - return parent; - } - function base(path) { - var parts = path.split('/'); - return parts[parts.length-1]; - } - // We also accept FileList here, by using Array.prototype - Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { - WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); - }); - (mount.opts["blobs"] || []).forEach(function(obj) { - WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); - }); - (mount.opts["packages"] || []).forEach(function(pack) { - pack['metadata'].files.forEach(function(file) { - var name = file.filename.substr(1); // remove initial slash - WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); - }); - }); - return root; - },createNode:function (parent, name, mode, dev, contents, mtime) { - var node = FS.createNode(parent, name, mode); - node.mode = mode; - node.node_ops = WORKERFS.node_ops; - node.stream_ops = WORKERFS.stream_ops; - node.timestamp = (mtime || new Date).getTime(); - assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); - if (mode === WORKERFS.FILE_MODE) { - node.size = contents.size; - node.contents = contents; - } else { - node.size = 4096; - node.contents = {}; - } - if (parent) { - parent.contents[name] = node; - } - return node; - },node_ops:{getattr:function (node) { - return { - dev: 1, - ino: undefined, - mode: node.mode, - nlink: 1, - uid: 0, - gid: 0, - rdev: undefined, - size: node.size, - atime: new Date(node.timestamp), - mtime: new Date(node.timestamp), - ctime: new Date(node.timestamp), - blksize: 4096, - blocks: Math.ceil(node.size / 4096), - }; - },setattr:function (node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - },lookup:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - },mknod:function (parent, name, mode, dev) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rename:function (oldNode, newDir, newName) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },unlink:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },rmdir:function (parent, name) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readdir:function (node) { - var entries = ['.', '..']; - for (var key in node.contents) { - if (!node.contents.hasOwnProperty(key)) { - continue; - } - entries.push(key); - } - return entries; - },symlink:function (parent, newName, oldPath) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - },readlink:function (node) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - }},stream_ops:{read:function (stream, buffer, offset, length, position) { - if (position >= stream.node.size) return 0; - var chunk = stream.node.contents.slice(position, position + length); - var ab = WORKERFS.reader.readAsArrayBuffer(chunk); - buffer.set(new Uint8Array(ab), offset); - return chunk.size; - },write:function (stream, buffer, offset, length, position) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - },llseek:function (stream, offset, whence) { - var position = offset; - if (whence === 1) { // SEEK_CUR. - position += stream.position; - } else if (whence === 2) { // SEEK_END. - if (FS.isFile(stream.node.mode)) { - position += stream.node.size; - } - } - if (position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return position; - }}}; - - var _stdin=STATICTOP; STATICTOP += 16;; - - var _stdout=STATICTOP; STATICTOP += 16;; - - var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { - if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); - return ___setErrNo(e.errno); - },lookupPath:function (path, opts) { - path = PATH.resolve(FS.cwd(), path); - opts = opts || {}; - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - for (var key in defaults) { - if (opts[key] === undefined) { - opts[key] = defaults[key]; - } - } - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - - // split the path - var parts = PATH.normalizeArray(path.split('/').filter(function(p) { - return !!p; - }), false); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(ERRNO_CODES.ELOOP); - } - } - } - } - - return { path: current_path, node: current }; - },getPath:function (node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; - } - path = path ? node.name + '/' + path : node.name; - node = node.parent; - } - },hashName:function (parentid, name) { - var hash = 0; - - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - },hashAddNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - },hashRemoveNode:function (node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - },lookupNode:function (parent, name) { - var err = FS.mayLookup(parent); - if (err) { - throw new FS.ErrnoError(err, parent); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - },createNode:function (parent, name, mode, rdev) { - if (!FS.FSNode) { - FS.FSNode = function(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - }; - - FS.FSNode.prototype = {}; - - // compatibility - var readMode = 292 | 73; - var writeMode = 146; - - // NOTE we must use Object.defineProperties instead of individual calls to - // Object.defineProperty in order to make closure compiler happy - Object.defineProperties(FS.FSNode.prototype, { - read: { - get: function() { return (this.mode & readMode) === readMode; }, - set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } - }, - write: { - get: function() { return (this.mode & writeMode) === writeMode; }, - set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } - }, - isFolder: { - get: function() { return FS.isDir(this.mode); } - }, - isDevice: { - get: function() { return FS.isChrdev(this.mode); } - } - }); - } - - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - },destroyNode:function (node) { - FS.hashRemoveNode(node); - },isRoot:function (node) { - return node === node.parent; - },isMountpoint:function (node) { - return !!node.mounted; - },isFile:function (mode) { - return (mode & 61440) === 32768; - },isDir:function (mode) { - return (mode & 61440) === 16384; - },isLink:function (mode) { - return (mode & 61440) === 40960; - },isChrdev:function (mode) { - return (mode & 61440) === 8192; - },isBlkdev:function (mode) { - return (mode & 61440) === 24576; - },isFIFO:function (mode) { - return (mode & 61440) === 4096; - },isSocket:function (mode) { - return (mode & 49152) === 49152; - },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { - var flags = FS.flagModes[str]; - if (typeof flags === 'undefined') { - throw new Error('Unknown file open mode: ' + str); - } - return flags; - },flagsToPermissionString:function (flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - },nodePermissions:function (node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { - return ERRNO_CODES.EACCES; - } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { - return ERRNO_CODES.EACCES; - } - return 0; - },mayLookup:function (dir) { - var err = FS.nodePermissions(dir, 'x'); - if (err) return err; - if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; - return 0; - },mayCreate:function (dir, name) { - try { - var node = FS.lookupNode(dir, name); - return ERRNO_CODES.EEXIST; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - },mayDelete:function (dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var err = FS.nodePermissions(dir, 'wx'); - if (err) { - return err; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return ERRNO_CODES.ENOTDIR; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return ERRNO_CODES.EBUSY; - } - } else { - if (FS.isDir(node.mode)) { - return ERRNO_CODES.EISDIR; - } - } - return 0; - },mayOpen:function (node, flags) { - if (!node) { - return ERRNO_CODES.ENOENT; - } - if (FS.isLink(node.mode)) { - return ERRNO_CODES.ELOOP; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return ERRNO_CODES.EISDIR; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { - fd_start = fd_start || 0; - fd_end = fd_end || FS.MAX_OPEN_FDS; - for (var fd = fd_start; fd <= fd_end; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(ERRNO_CODES.EMFILE); - },getStream:function (fd) { - return FS.streams[fd]; - },createStream:function (stream, fd_start, fd_end) { - if (!FS.FSStream) { - FS.FSStream = function(){}; - FS.FSStream.prototype = {}; - // compatibility - Object.defineProperties(FS.FSStream.prototype, { - object: { - get: function() { return this.node; }, - set: function(val) { this.node = val; } - }, - isRead: { - get: function() { return (this.flags & 2097155) !== 1; } - }, - isWrite: { - get: function() { return (this.flags & 2097155) !== 0; } - }, - isAppend: { - get: function() { return (this.flags & 1024); } - } - }); - } - // clone it, so we can return an instance of FSStream - var newStream = new FS.FSStream(); - for (var p in stream) { - newStream[p] = stream[p]; - } - stream = newStream; - var fd = FS.nextfd(fd_start, fd_end); - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - },closeStream:function (fd) { - FS.streams[fd] = null; - },chrdev_stream_ops:{open:function (stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - },llseek:function () { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - }},major:function (dev) { - return ((dev) >> 8); - },minor:function (dev) { - return ((dev) & 0xff); - },makedev:function (ma, mi) { - return ((ma) << 8 | (mi)); - },registerDevice:function (dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - },getDevice:function (dev) { - return FS.devices[dev]; - },getMounts:function (mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push.apply(check, m.mounts); - } - - return mounts; - },syncfs:function (populate, callback) { - if (typeof(populate) === 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(err) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(err); - } - - function done(err) { - if (err) { - if (!done.errored) { - done.errored = true; - return doCallback(err); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach(function (mount) { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - },mount:function (type, opts, mountpoint) { - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - } - - var mount = { - type: type, - opts: opts, - mountpoint: mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - },unmount:function (mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach(function (hash) { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.indexOf(current.mount) !== -1) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - },lookup:function (parent, name) { - return parent.node_ops.lookup(parent, name); - },mknod:function (path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.mayCreate(parent, name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.mknod(parent, name, mode, dev); - },create:function (path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - },mkdir:function (path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - },mkdirTree:function (path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += '/' + dirs[i]; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != ERRNO_CODES.EEXIST) throw e; - } - } - },mkdev:function (path, mode, dev) { - if (typeof(dev) === 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - },symlink:function (oldpath, newpath) { - if (!PATH.resolve(oldpath)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - var newname = PATH.basename(newpath); - var err = FS.mayCreate(parent, newname); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return parent.node_ops.symlink(parent, newname, oldpath); - },rename:function (old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - try { - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(ERRNO_CODES.EXDEV); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - // new path should not be an ancestor of the old path - relative = PATH.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var err = FS.mayDelete(old_dir, old_name, isdir); - if (err) { - throw new FS.ErrnoError(err); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - err = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (err) { - throw new FS.ErrnoError(err); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - err = FS.nodePermissions(old_dir, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - } - try { - if (FS.trackingDelegate['willMovePath']) { - FS.trackingDelegate['willMovePath'](old_path, new_path); - } - } catch(e) { - console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - try { - if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); - } catch(e) { - console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); - } - },rmdir:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, true); - if (err) { - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - return node.node_ops.readdir(node); - },unlink:function (path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var err = FS.mayDelete(parent, name, false); - if (err) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(err); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EBUSY); - } - try { - if (FS.trackingDelegate['willDeletePath']) { - FS.trackingDelegate['willDeletePath'](path); - } - } catch(e) { - console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - try { - if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); - } catch(e) { - console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); - } - },readlink:function (path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - },stat:function (path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - return node.node_ops.getattr(node); - },lstat:function (path) { - return FS.stat(path, true); - },chmod:function (path, mode, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - },lchmod:function (path, mode) { - FS.chmod(path, mode, true); - },fchmod:function (fd, mode) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chmod(stream.node, mode); - },chown:function (path, uid, gid, dontFollow) { - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - },lchown:function (path, uid, gid) { - FS.chown(path, uid, gid, true); - },fchown:function (fd, uid, gid) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - FS.chown(stream.node, uid, gid); - },truncate:function (path, len) { - if (len < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var node; - if (typeof path === 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(ERRNO_CODES.EPERM); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var err = FS.nodePermissions(node, 'w'); - if (err) { - throw new FS.ErrnoError(err); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - },ftruncate:function (fd, len) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - FS.truncate(stream.node, len); - },utime:function (path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - },open:function (path, flags, mode, fd_start, fd_end) { - if (path === "") { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; - mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path === 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(ERRNO_CODES.EEXIST); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var err = FS.mayOpen(node, flags); - if (err) { - throw new FS.ErrnoError(err); - } - } - // do truncation if necessary - if ((flags & 512)) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512); - - // register the stream with the filesystem - var stream = FS.createStream({ - node: node, - path: FS.getPath(node), // we want the absolute path to the node - flags: flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }, fd_start, fd_end); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - Module['printErr']('read file: ' + path); - } - } - try { - if (FS.trackingDelegate['onOpenFile']) { - var trackingFlags = 0; - if ((flags & 2097155) !== 1) { - trackingFlags |= FS.tracking.openFlags.READ; - } - if ((flags & 2097155) !== 0) { - trackingFlags |= FS.tracking.openFlags.WRITE; - } - FS.trackingDelegate['onOpenFile'](path, trackingFlags); - } - } catch(e) { - console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); - } - return stream; - },close:function (stream) { - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - },llseek:function (stream, offset, whence) { - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - },read:function (stream, buffer, offset, length, position) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - },write:function (stream, buffer, offset, length, position, canOwn) { - if (length < 0 || position < 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.EISDIR); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if (stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = true; - if (typeof position === 'undefined') { - position = stream.position; - seeking = false; - } else if (!stream.seekable) { - throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - try { - if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); - } catch(e) { - console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); - } - return bytesWritten; - },allocate:function (stream, offset, length) { - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(ERRNO_CODES.EINVAL); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EBADF); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); - } - stream.stream_ops.allocate(stream, offset, length); - },mmap:function (stream, buffer, offset, length, position, prot, flags) { - // TODO if PROT is PROT_WRITE, make sure we have write access - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(ERRNO_CODES.EACCES); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(ERRNO_CODES.ENODEV); - } - return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); - },msync:function (stream, buffer, offset, length, mmapFlags) { - if (!stream || !stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - },munmap:function (stream) { - return 0; - },ioctl:function (stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - },readFile:function (path, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'r'; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - },writeFile:function (path, data, opts) { - opts = opts || {}; - opts.flags = opts.flags || 'w'; - opts.encoding = opts.encoding || 'utf8'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error('Invalid encoding type "' + opts.encoding + '"'); - } - var stream = FS.open(path, opts.flags, opts.mode); - if (opts.encoding === 'utf8') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); - } else if (opts.encoding === 'binary') { - FS.write(stream, data, 0, data.length, 0, opts.canOwn); - } - FS.close(stream); - },cwd:function () { - return FS.currentPath; - },chdir:function (path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(ERRNO_CODES.ENOENT); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); - } - var err = FS.nodePermissions(lookup.node, 'x'); - if (err) { - throw new FS.ErrnoError(err); - } - FS.currentPath = lookup.path; - },createDefaultDirectories:function () { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - },createDefaultDevices:function () { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: function() { return 0; }, - write: function(stream, buffer, offset, length, pos) { return length; } - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using Module['printErr'] - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - var random_device; - if (typeof crypto !== 'undefined') { - // for modern web browsers - var randomBuffer = new Uint8Array(1); - random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; - } else if (ENVIRONMENT_IS_NODE) { - // for nodejs - random_device = function() { return require('crypto').randomBytes(1)[0]; }; - } else { - // default for ES5 platforms - random_device = function() { return (Math.random()*256)|0; }; - } - FS.createDevice('/dev', 'random', random_device); - FS.createDevice('/dev', 'urandom', random_device); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - },createSpecialDirectories:function () { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount: function() { - var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); - node.node_ops = { - lookup: function(parent, name) { - var fd = +name; - var stream = FS.getStream(fd); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: function() { return stream.path } } - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - },createStandardStreams:function () { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 'r'); - assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); - - var stdout = FS.open('/dev/stdout', 'w'); - assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); - - var stderr = FS.open('/dev/stderr', 'w'); - assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); - },ensureErrnoError:function () { - if (FS.ErrnoError) return; - FS.ErrnoError = function ErrnoError(errno, node) { - //Module.printErr(stackTrace()); // useful for debugging - this.node = node; - this.setErrno = function(errno) { - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - }; - this.setErrno(errno); - this.message = ERRNO_MESSAGES[errno]; - if (this.stack) this.stack = demangleAll(this.stack); - }; - FS.ErrnoError.prototype = new Error(); - FS.ErrnoError.prototype.constructor = FS.ErrnoError; - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [ERRNO_CODES.ENOENT].forEach(function(code) { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - },staticInit:function () { - FS.ensureErrnoError(); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - 'IDBFS': IDBFS, - 'NODEFS': NODEFS, - 'WORKERFS': WORKERFS, - }; - },init:function (input, output, error) { - assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); - FS.init.initialized = true; - - FS.ensureErrnoError(); - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - },quit:function () { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - var fflush = Module['_fflush']; - if (fflush) fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - },getMode:function (canRead, canWrite) { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - },joinPath:function (parts, forceRelative) { - var path = PATH.join.apply(null, parts); - if (forceRelative && path[0] == '/') path = path.substr(1); - return path; - },absolutePath:function (relative, base) { - return PATH.resolve(base, relative); - },standardizePath:function (path) { - return PATH.normalize(path); - },findObject:function (path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (ret.exists) { - return ret.object; - } else { - ___setErrNo(ret.error); - return null; - } - },analyzePath:function (path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - },createFolder:function (parent, name, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.mkdir(path, mode); - },createPath:function (parent, path, canRead, canWrite) { - parent = typeof parent === 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - },createFile:function (parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(canRead, canWrite); - return FS.create(path, mode); - },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { - var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; - var mode = FS.getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data === 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 'w'); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - return node; - },createDevice:function (parent, name, input, output) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - var mode = FS.getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open: function(stream) { - stream.seekable = false; - }, - close: function(stream) { - // flush any pending line data - if (output && output.buffer && output.buffer.length) { - output(10); - } - }, - read: function(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write: function(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - },createLink:function (parent, name, target, canRead, canWrite) { - var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); - return FS.symlink(target, path); - },forceLoadFile:function (obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - var success = true; - if (typeof XMLHttpRequest !== 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (Module['read']) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(Module['read'](obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - success = false; - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - if (!success) ___setErrNo(ERRNO_CODES.EIO); - return success; - },createLazyFile:function (parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. - function LazyUint8Array() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { - this.getter = getter; - } - LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (function(from, to) { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(xhr.response || []); - } else { - return intArrayFromString(xhr.responseText || '', true); - } - }); - var lazyArray = this; - lazyArray.setDataGetter(function(chunkNum) { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - if (typeof XMLHttpRequest !== 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - Object.defineProperties(lazyArray, { - length: { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - }, - chunkSize: { - get: function() { - if(!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - }); - - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach(function(key) { - var fn = node.stream_ops[key]; - stream_ops[key] = function forceLoadLazyFile() { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - return fn.apply(null, arguments); - }; - }); - // use a custom read function - stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { - if (!FS.forceLoadFile(node)) { - throw new FS.ErrnoError(ERRNO_CODES.EIO); - } - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - }; - node.stream_ops = stream_ops; - return node; - },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { - Browser.init(); // XXX perhaps this method should move onto Browser? - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - if (preFinish) preFinish(); - if (!dontCreateFile) { - FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - if (onload) onload(); - removeRunDependency(dep); - } - var handled = false; - Module['preloadPlugins'].forEach(function(plugin) { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, function() { - if (onerror) onerror(); - removeRunDependency(dep); - }); - handled = true; - } - }); - if (!handled) finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - Browser.asyncLoad(url, function(byteArray) { - processData(byteArray); - }, onerror); - } else { - processData(url); - } - },indexedDB:function () { - return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; - },DB_NAME:function () { - return 'EM_FS_' + window.location.pathname; - },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { - console.log('creating db'); - var db = openRequest.result; - db.createObjectStore(FS.DB_STORE_NAME); - }; - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var putRequest = files.put(FS.analyzePath(path).object.contents, path); - putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; - putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - },loadFilesFromDB:function (paths, onload, onerror) { - onload = onload || function(){}; - onerror = onerror || function(){}; - var indexedDB = FS.indexedDB(); - try { - var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); - } catch (e) { - return onerror(e); - } - openRequest.onupgradeneeded = onerror; // no database to load from - openRequest.onsuccess = function openRequest_onsuccess() { - var db = openRequest.result; - try { - var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); - } catch(e) { - onerror(e); - return; - } - var files = transaction.objectStore(FS.DB_STORE_NAME); - var ok = 0, fail = 0, total = paths.length; - function finish() { - if (fail == 0) onload(); else onerror(); - } - paths.forEach(function(path) { - var getRequest = files.get(path); - getRequest.onsuccess = function getRequest_onsuccess() { - if (FS.analyzePath(path).exists) { - FS.unlink(path); - } - FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); - ok++; - if (ok + fail == total) finish(); - }; - getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; - }); - transaction.onerror = onerror; - }; - openRequest.onerror = onerror; - }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { - if (path[0] !== '/') { - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = FS.getStream(dirfd); - if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - dir = dirstream.path; - } - path = PATH.join2(dir, path); - } - return path; - },doStat:function (func, path, buf) { - try { - var stat = func(path); - } catch (e) { - if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { - // an error occurred while trying to look up the path; we should just report ENOTDIR - return -ERRNO_CODES.ENOTDIR; - } - throw e; - } - HEAP32[((buf)>>2)]=stat.dev; - HEAP32[(((buf)+(4))>>2)]=0; - HEAP32[(((buf)+(8))>>2)]=stat.ino; - HEAP32[(((buf)+(12))>>2)]=stat.mode; - HEAP32[(((buf)+(16))>>2)]=stat.nlink; - HEAP32[(((buf)+(20))>>2)]=stat.uid; - HEAP32[(((buf)+(24))>>2)]=stat.gid; - HEAP32[(((buf)+(28))>>2)]=stat.rdev; - HEAP32[(((buf)+(32))>>2)]=0; - HEAP32[(((buf)+(36))>>2)]=stat.size; - HEAP32[(((buf)+(40))>>2)]=4096; - HEAP32[(((buf)+(44))>>2)]=stat.blocks; - HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; - HEAP32[(((buf)+(52))>>2)]=0; - HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; - HEAP32[(((buf)+(60))>>2)]=0; - HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; - HEAP32[(((buf)+(68))>>2)]=0; - HEAP32[(((buf)+(72))>>2)]=stat.ino; - return 0; - },doMsync:function (addr, stream, len, flags) { - var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); - FS.msync(stream, buffer, 0, len, flags); - },doMkdir:function (path, mode) { - // remove a trailing slash, if one - /a/b/ has basename of '', but - // we want to create b in the context of this function - path = PATH.normalize(path); - if (path[path.length-1] === '/') path = path.substr(0, path.length-1); - FS.mkdir(path, mode, 0); - return 0; - },doMknod:function (path, mode, dev) { - // we don't want this in the JS API as it uses mknod to create all nodes. - switch (mode & 61440) { - case 32768: - case 8192: - case 24576: - case 4096: - case 49152: - break; - default: return -ERRNO_CODES.EINVAL; - } - FS.mknod(path, mode, dev); - return 0; - },doReadlink:function (path, buf, bufsize) { - if (bufsize <= 0) return -ERRNO_CODES.EINVAL; - var ret = FS.readlink(path); - - var len = Math.min(bufsize, lengthBytesUTF8(ret)); - var endChar = HEAP8[buf+len]; - stringToUTF8(ret, buf, bufsize+1); - // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) - // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. - HEAP8[buf+len] = endChar; - - return len; - },doAccess:function (path, amode) { - if (amode & ~7) { - // need a valid mode - return -ERRNO_CODES.EINVAL; - } - var node; - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - var perms = ''; - if (amode & 4) perms += 'r'; - if (amode & 2) perms += 'w'; - if (amode & 1) perms += 'x'; - if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { - return -ERRNO_CODES.EACCES; - } - return 0; - },doDup:function (path, flags, suggestFD) { - var suggest = FS.getStream(suggestFD); - if (suggest) FS.close(suggest); - return FS.open(path, flags, 0, suggestFD, suggestFD).fd; - },doReadv:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.read(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - } - return ret; - },doWritev:function (stream, iov, iovcnt, offset) { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAP32[(((iov)+(i*8))>>2)]; - var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; - var curr = FS.write(stream, HEAP8,ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - } - return ret; - },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; - },getStreamFromFD:function () { - var stream = FS.getStream(SYSCALLS.get()); - if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return stream; - },getSocketFromFD:function () { - var socket = SOCKFS.getSocket(SYSCALLS.get()); - if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); - return socket; - },getSocketAddress:function (allowNull) { - var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); - if (allowNull && addrp === 0) return null; - var info = __read_sockaddr(addrp, addrlen); - if (info.errno) throw new FS.ErrnoError(info.errno); - info.addr = DNS.lookup_addr(info.addr) || info.addr; - return info; - },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; - try { - // ioctl - var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); - switch (op) { - case 21505: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - case 21506: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - var argp = SYSCALLS.get(); - HEAP32[((argp)>>2)]=0; - return 0; - } - case 21520: { - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return -ERRNO_CODES.EINVAL; // not supported - } - case 21531: { - var argp = SYSCALLS.get(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -ERRNO_CODES.ENOTTY; - return 0; - } - default: abort('bad ioctl syscall ' + op); - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glSampleCoverage(value, invert) { - GLctx.sampleCoverage(value, !!invert); - } - - function _glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glFrustum() { - Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); - } - - function _glfwSetWindowSizeCallback(winid, cbfun) { - GLFW.setWindowSizeCallback(winid, cbfun); - } - - function _emscripten_glGetTexParameterfv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _emscripten_glUniform4i(location, v0, v1, v2, v3) { - GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_glBindRenderbuffer(target, renderbuffer) { - GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); - } - - function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - - - var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { - if (typeof window !== 'undefined') { - window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); - window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); - } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; - } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); - } - if (target == '#window') return window; - else if (target == '#document') return document; - else if (target == '#screen') return window.screen; - else if (target == '#canvas') return Module['canvas']; - - if (typeof target == 'string') return document.getElementById(target); - else return target; - } else { - // The sensible target varies between events, but use window as the default - // since DOM events mostly can default to that. Specific callback registrations - // override their own defaults. - return window; - } - },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { - function arraysHaveEqualContent(arrA, arrB) { - if (arrA.length != arrB.length) return false; - - for(var i in arrA) { - if (arrA[i] != arrB[i]) return false; - } - return true; - } - // Test if the given call was already queued, and if so, don't add it again. - for(var i in JSEvents.deferredCalls) { - var call = JSEvents.deferredCalls[i]; - if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { - return; - } - } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); - - JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); - },removeDeferredCalls:function (targetFunction) { - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { - JSEvents.deferredCalls.splice(i, 1); - --i; - } - } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; - } - for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { - var call = JSEvents.deferredCalls[i]; - JSEvents.deferredCalls.splice(i, 1); - --i; - call.targetFunction.apply(this, call.argsList); - } - },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == target && - (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { - JSEvents._removeHandler(i--); - } - } - },_removeHandler:function (i) { - var h = JSEvents.eventHandlers[i]; - h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); - JSEvents.eventHandlers.splice(i, 1); - },registerOrRemoveHandler:function (eventHandler) { - var jsEventHandler = function jsEventHandler(event) { - // Increment nesting count for the event handler. - ++JSEvents.inEventHandler; - JSEvents.currentEventHandler = eventHandler; - // Process any old deferred calls the user has placed. - JSEvents.runDeferredCalls(); - // Process the actual event, calls back to user C code handler. - eventHandler.handlerFunc(event); - // Process any new deferred calls that were placed right now from this event handler. - JSEvents.runDeferredCalls(); - // Out of event handler - restore nesting count. - --JSEvents.inEventHandler; - } - - if (eventHandler.callbackfunc) { - eventHandler.eventListenerFunc = jsEventHandler; - eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); - JSEvents.eventHandlers.push(eventHandler); - JSEvents.registerRemoveEventListeners(); - } else { - for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { - if (JSEvents.eventHandlers[i].target == eventHandler.target - && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { - JSEvents._removeHandler(i--); - } - } - } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); - stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); - HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; - HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; - HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; - HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; - HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; - HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; - stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); - stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); - HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; - HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; - HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getBoundingClientRectOrZeros:function (target) { - return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; - },fillMouseEventData:function (eventStruct, e, target) { - HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); - HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; - HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; - HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; - HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; - HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; - HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; - HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; - HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; - HEAP16[(((eventStruct)+(40))>>1)]=e.button; - HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; - HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); - HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); - - if (Module['canvas']) { - var rect = Module['canvas'].getBoundingClientRect(); - HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; - } else { // Canvas is not initialized, return 0. - HEAP32[(((eventStruct)+(60))>>2)]=0; - HEAP32[(((eventStruct)+(64))>>2)]=0; - } - if (target) { - var rect = JSEvents.getBoundingClientRectOrZeros(target); - HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; - HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; - } else { // No specific target passed, return 0. - HEAP32[(((eventStruct)+(52))>>2)]=0; - HEAP32[(((eventStruct)+(56))>>2)]=0; - } - // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera - // https://github.com/kripken/emscripten/pull/4997 - // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 - if (e.type !== 'wheel' && e.type !== 'mousewheel') { - JSEvents.previousScreenX = e.screenX; - JSEvents.previousScreenY = e.screenY; - } - },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.mouseEvent) { - JSEvents.mouseEvent = _malloc( 72 ); - } - target = JSEvents.findEventTarget(target); - var handlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - // In IE, mousedown events don't either allow deferred calls to be run! - if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.wheelEvent) { - JSEvents.wheelEvent = _malloc( 104 ); - } - target = JSEvents.findEventTarget(target); - // The DOM Level 3 events spec event 'wheel' - var wheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - // The 'mousewheel' event as implemented in Safari 6.0.5 - var mouseWheelHandlerFunc = function(event) { - var e = event || window.event; - JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); - HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; - HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; - HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; - HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },pageScrollPos:function () { - if (window.pageXOffset > 0 || window.pageYOffset > 0) { - return [window.pageXOffset, window.pageYOffset]; - } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; - } - return [document.body.scrollLeft|0, document.body.scrollTop|0]; - },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.uiEvent) { - JSEvents.uiEvent = _malloc( 36 ); - } - - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - if (e.target != target) { - // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that - // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log - // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, - // causing a new scroll, etc.. - return; - } - var scrollPos = JSEvents.pageScrollPos(); - HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; - HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; - HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; - HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; - HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; - HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; - HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; - HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; - HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },getNodeNameForTarget:function (target) { - if (!target) return ''; - if (target == window) return '#window'; - if (target == window.screen) return '#screen'; - return (target && target.nodeName) ? target.nodeName : ''; - },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.focusEvent) { - JSEvents.focusEvent = _malloc( 256 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - var nodeName = JSEvents.getNodeNameForTarget(e.target); - var id = e.target.id ? e.target.id : ''; - stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); - stringToUTF8(id, JSEvents.focusEvent + 128, 128); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },tick:function () { - if (window['performance'] && window['performance']['now']) return window['performance']['now'](); - else return Date.now(); - },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceOrientationEvent) { - JSEvents.deviceOrientationEvent = _malloc( 40 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; - HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; - HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.deviceMotionEvent) { - JSEvents.deviceMotionEvent = _malloc( 80 ); - } - var handlerFunc = function(event) { - var e = event || window.event; - - HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); - HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; - HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; - HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; - HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; - HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; - HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },screenOrientation:function () { - if (!window.screen) return undefined; - return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; - },fillOrientationChangeEventData:function (eventStruct, e) { - var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; - var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; - - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } - - HEAP32[((eventStruct)>>2)]=1 << orientation; - HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; - },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.orientationChangeEvent) { - JSEvents.orientationChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; - } - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fullscreenEnabled:function () { - return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; - },fillFullscreenChangeEventData:function (eventStruct, e) { - var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; - var isFullscreen = !!fullscreenElement; - HEAP32[((eventStruct)>>2)]=isFullscreen; - HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); - // If transitioning to fullscreen, report info about the element that is now fullscreen. - // If transitioning to windowed mode, report info about the element that just was fullscreen. - var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; - var nodeName = JSEvents.getNodeNameForTarget(reportedElement); - var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; - stringToUTF8(nodeName, eventStruct + 8, 128); - stringToUTF8(id, eventStruct + 136, 128); - HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; - HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; - HEAP32[(((eventStruct)+(272))>>2)]=screen.width; - HEAP32[(((eventStruct)+(276))>>2)]=screen.height; - if (isFullscreen) { - JSEvents.previousFullscreenElement = fullscreenElement; - } - },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.fullscreenChangeEvent) { - JSEvents.fullscreenChangeEvent = _malloc( 280 ); - } - - if (!target) { - target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },resizeCanvasForFullscreen:function (target, strategy) { - var restoreOldStyle = __registerRestoreOldStyle(target); - var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; - var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; - var rect = target.getBoundingClientRect(); - var windowedCssWidth = rect.right - rect.left; - var windowedCssHeight = rect.bottom - rect.top; - var windowedRttWidth = target.width; - var windowedRttHeight = target.height; - - if (strategy.scaleMode == 3) { - __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); - cssWidth = windowedCssWidth; - cssHeight = windowedCssHeight; - } else if (strategy.scaleMode == 2) { - if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { - var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; - __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); - cssHeight = desiredCssHeight; - } else { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; - } - } - - // If we are adding padding, must choose a background color or otherwise Chrome will give the - // padding a default white color. Do it only if user has not customized their own background color. - if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; - // IE11 does the same, but requires the color to be set in the document body. - if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 - // Firefox always shows black letterboxes independent of style color. - - target.style.width = cssWidth + 'px'; - target.style.height = cssHeight + 'px'; - - if (strategy.filteringMode == 1) { - target.style.imageRendering = 'optimizeSpeed'; - target.style.imageRendering = '-moz-crisp-edges'; - target.style.imageRendering = '-o-crisp-edges'; - target.style.imageRendering = '-webkit-optimize-contrast'; - target.style.imageRendering = 'optimize-contrast'; - target.style.imageRendering = 'crisp-edges'; - target.style.imageRendering = 'pixelated'; - } - - var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; - if (strategy.canvasResolutionScaleMode != 0) { - target.width = cssWidth * dpiScale; - target.height = cssHeight * dpiScale; - if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); - } - return restoreOldStyle; - },requestFullscreen:function (target, strategy) { - // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. - if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { - JSEvents.resizeCanvasForFullscreen(target, strategy); - } - - if (target.requestFullscreen) { - target.requestFullscreen(); - } else if (target.msRequestFullscreen) { - target.msRequestFullscreen(); - } else if (target.mozRequestFullScreen) { - target.mozRequestFullScreen(); - } else if (target.mozRequestFullscreen) { - target.mozRequestFullscreen(); - } else if (target.webkitRequestFullscreen) { - target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') { - return -1; - } else { - return -3; - } - } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); - } - - return 0; - },fillPointerlockChangeEventData:function (eventStruct, e) { - var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; - var isPointerlocked = !!pointerLockElement; - HEAP32[((eventStruct)>>2)]=isPointerlocked; - var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); - var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; - stringToUTF8(nodeName, eventStruct + 4, 128); - stringToUTF8(id, eventStruct + 132, 128); - },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.pointerlockChangeEvent) { - JSEvents.pointerlockChangeEvent = _malloc( 260 ); - } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },requestPointerLock:function (target) { - if (target.requestPointerLock) { - target.requestPointerLock(); - } else if (target.mozRequestPointerLock) { - target.mozRequestPointerLock(); - } else if (target.webkitRequestPointerLock) { - target.webkitRequestPointerLock(); - } else if (target.msRequestPointerLock) { - target.msRequestPointerLock(); - } else { - // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, - // or if the whole browser just doesn't support the feature. - if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { - return -3; - } else { - return -1; - } - } - return 0; - },fillVisibilityChangeEventData:function (eventStruct, e) { - var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; - var visibilityState = visibilityStates.indexOf(document.visibilityState); - - HEAP32[((eventStruct)>>2)]=document.hidden; - HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; - },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.visibilityChangeEvent) { - JSEvents.visibilityChangeEvent = _malloc( 8 ); - } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' - } else { - target = JSEvents.findEventTarget(target); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); - } - - target = JSEvents.findEventTarget(target); - - var handlerFunc = function(event) { - var e = event || window.event; - - var touches = {}; - for(var i = 0; i < e.touches.length; ++i) { - var touch = e.touches[i]; - touches[touch.identifier] = touch; - } - for(var i = 0; i < e.changedTouches.length; ++i) { - var touch = e.changedTouches[i]; - touches[touch.identifier] = touch; - touch.changed = true; - } - for(var i = 0; i < e.targetTouches.length; ++i) { - var touch = e.targetTouches[i]; - touches[touch.identifier].onTarget = true; - } - - var ptr = JSEvents.touchEvent; - HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; - HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; - HEAP32[(((ptr)+(12))>>2)]=e.altKey; - HEAP32[(((ptr)+(16))>>2)]=e.metaKey; - ptr += 20; // Advance to the start of the touch array. - var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; - var targetRect = JSEvents.getBoundingClientRectOrZeros(target); - var numTouches = 0; - for(var i in touches) { - var t = touches[i]; - HEAP32[((ptr)>>2)]=t.identifier; - HEAP32[(((ptr)+(4))>>2)]=t.screenX; - HEAP32[(((ptr)+(8))>>2)]=t.screenY; - HEAP32[(((ptr)+(12))>>2)]=t.clientX; - HEAP32[(((ptr)+(16))>>2)]=t.clientY; - HEAP32[(((ptr)+(20))>>2)]=t.pageX; - HEAP32[(((ptr)+(24))>>2)]=t.pageY; - HEAP32[(((ptr)+(28))>>2)]=t.changed; - HEAP32[(((ptr)+(32))>>2)]=t.onTarget; - if (canvasRect) { - HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; - HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; - } else { - HEAP32[(((ptr)+(44))>>2)]=0; - HEAP32[(((ptr)+(48))>>2)]=0; - } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; - - if (++numTouches >= 32) { - break; - } - } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: target, - allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 - // Once the above bug is resolved, enable the following condition if possible: - // allowsDeferredCalls: eventTypeString == 'touchstart', - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },fillGamepadEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.timestamp; - for(var i = 0; i < e.axes.length; ++i) { - HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; - } else { - HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; - } - } - for(var i = 0; i < e.buttons.length; ++i) { - if (typeof(e.buttons[i]) === 'object') { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; - } else { - HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; - } - } - HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; - HEAP32[(((eventStruct)+(1300))>>2)]=e.index; - HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; - HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; - stringToUTF8(e.id, eventStruct + 1304, 64); - stringToUTF8(e.mapping, eventStruct + 1368, 64); - },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.gamepadEvent) { - JSEvents.gamepadEvent = _malloc( 1432 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: true, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - var handlerFunc = function(event) { - var e = event || window.event; - - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); - } - if (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { - HEAPF64[((eventStruct)>>3)]=e.chargingTime; - HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; - HEAPF64[(((eventStruct)+(16))>>3)]=e.level; - HEAP32[(((eventStruct)+(24))>>2)]=e.charging; - },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.batteryEvent) { - JSEvents.batteryEvent = _malloc( 32 ); - } - - var handlerFunc = function(event) { - var e = event || window.event; - - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!target) { - target = Module['canvas']; - } - var handlerFunc = function(event) { - var e = event || window.event; - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; - - var eventHandler = { - target: JSEvents.findEventTarget(target), - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture - }; - JSEvents.registerOrRemoveHandler(eventHandler); - }};function __emscripten_sample_gamepad_data() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return; - - // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. - if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { - JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); - JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; - } - }function _emscripten_get_gamepad_status(index, gamepadState) { - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; - - // NO_DATA is returned on a Gamepad index that was removed. - // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. - // This is because gamepads must keep their original position in the array. - // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. - if (!JSEvents.lastGamepadState[index]) return -7; - - JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); - return 0; - } - - function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _emscripten_glTexParameterfv(target, pname, params) { - var param = HEAPF32[((params)>>2)]; - GLctx.texParameterf(target, pname, param); - } - - function _emscripten_glLinkProgram(program) { - GLctx.linkProgram(GL.programs[program]); - GL.programInfos[program] = null; // uniforms no longer keep the same names after linking - GL.populateUniformTable(program); - } - - function _emscripten_glUniform3f(location, v0, v1, v2) { - GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glGetObjectParameterivARB() { - Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); - } - - function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _emscripten_glUniform3i(location, v0, v1, v2) { - GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); - } - - function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - - function _glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function _emscripten_glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - - Module["_memset"] = _memset; - - function _glfwMakeContextCurrent(winid) {} - - function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); - return 0; - } - - function ___lock() {} - - function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - - function _glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { - if (!pointer) { - // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense - // if pointer == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); - } - - function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - - function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glNormalPointer() { - Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); - } - - - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - - var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { - EGL.errorCode = code; - },chooseConfig:function (display, attribList, config, config_size, numConfigs) { - if (display != 62000 /* Magic ID for Emscripten 'default display' */) { - EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); - return 0; - } - // TODO: read attribList. - if ((!config || !config_size) && !numConfigs) { - EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); - return 0; - } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. - } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; - } - - EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); - return 1; - }};function _eglGetProcAddress(name_) { - return _emscripten_GetProcAddress(name_); - } - - function _glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_get_pointerlock_status(pointerlockStatus) { - if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); - if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { - return -1; - } - return 0; - } - - function _glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glfwGetPrimaryMonitor() { - return 1; - } - - - function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getVertexAttrib(index, pname); - if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { - HEAP32[((params)>>2)]=data["name"]; - } else if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; - default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetVertexAttribfv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); - } - - function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); - return 0; - } - - function _emscripten_glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_glTexParameteriv(target, pname, params) { - var param = HEAP32[((params)>>2)]; - GLctx.texParameteri(target, pname, param); - } - - function _glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwTerminate() { - window.removeEventListener("keydown", GLFW.onKeydown, true); - window.removeEventListener("keypress", GLFW.onKeyPress, true); - window.removeEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); - Module["canvas"].width = Module["canvas"].height = 1; - GLFW.windows = null; - GLFW.active = null; - } - - function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); - } - - function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; - try { - // open - var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO - var stream = FS.open(pathname, flags, mode); - return stream.fd; - } 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; - } - } - - function _llvm_stacksave() { - var self = _llvm_stacksave; - if (!self.LLVM_SAVEDSTACKS) { - self.LLVM_SAVEDSTACKS = []; - } - self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); - return self.LLVM_SAVEDSTACKS.length-1; - } - - function _emscripten_glGetVertexAttribiv(index, pname, params) { - // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), - // otherwise the results are undefined. (GLES3 spec 6.1.12) - emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); - } - - function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { - GLctx['drawArraysInstanced'](mode, first, count, primcount); - } - - function _emscripten_glEnableClientState() { - Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); - } - - function _emscripten_glGetPointerv() { - Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); - } - - 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(); - var offset = offset_low; - assert(offset_high === 0); - 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 ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; - try { - // writev - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doWritev(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glUniform1i(location, v0) { - GLctx.uniform1i(GL.uniforms[location], v0); - } - - function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; - try { - // readv - var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); - return SYSCALLS.doReadv(stream, iov, iovcnt); - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } - - function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } - - function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } - - - Module["_i64Subtract"] = _i64Subtract; - - - Module["_i64Add"] = _i64Add; - - function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); - return 0; - } - - function _glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } - - function _emscripten_glFinish() { GLctx['finish']() } - - function _glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - function _emscripten_get_num_gamepads() { - // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. - if (!JSEvents.numGamepadsConnected) return 0; - - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glUniform4iv(location, count, value) { - - - GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); - } - - function _glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _emscripten_glUniform3fv(location, count, value) { - - - var view; - if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[3*count-1]; - for (var i = 0; i < 3*count; i += 3) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); - } - GLctx.uniform3fv(GL.uniforms[location], view); - } - - function _emscripten_glIsTexture(texture) { - var texture = GL.textures[texture]; - if (!texture) return 0; - return GLctx.isTexture(texture); - } - - function _glEnableVertexAttribArray(index) { - GLctx.enableVertexAttribArray(index); - } - - function _emscripten_glAttachShader(program, shader) { - GLctx.attachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { - if (!target) target = '#canvas'; - target = JSEvents.findEventTarget(target); - if (!target) return -4; - if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { - return -1; - } - - var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); - - // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. - if (!canPerformRequests) { - if (deferUntilInEventHandler) { - JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); - return 1; - } else { - return -2; - } - } - - return JSEvents.requestPointerLock(target); - } - - function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } - - function _glfwCreateWindow(width, height, title, monitor, share) { - return GLFW.createWindow(width, height, title, monitor, share); - } - - function _glfwDefaultWindowHints() { - GLFW.hints = GLFW.defaultHints; - } - - function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } - - function _emscripten_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); - } - - function _emscripten_glDeleteVertexArrays(n, vaos) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; - } - } - - function _glfwInit() { - if (GLFW.windows) return 1; // GL_TRUE - - GLFW.initialTime = GLFW.getTime(); - GLFW.hints = GLFW.defaultHints; - GLFW.windows = new Array() - GLFW.active = null; - - window.addEventListener("keydown", GLFW.onKeydown, true); - window.addEventListener("keypress", GLFW.onKeyPress, true); - window.addEventListener("keyup", GLFW.onKeyup, true); - Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); - Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); - Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); - Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); - Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); - Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); - - Browser.resizeListeners.push(function(width, height) { - GLFW.onCanvasResize(width, height); - }); - return 1; // GL_TRUE - } - - function _emscripten_glGetTexParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); - } - - function _glfwSwapBuffers(winid) { - GLFW.swapBuffers(winid); - } - - function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } - - function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } - - function _emscripten_glUniform4f(location, v0, v1, v2, v3) { - GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); - } - - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); - } - - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); - } - - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } - - function _emscripten_glUniform2fv(location, count, value) { - - - var view; - if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[2*count-1]; - for (var i = 0; i < 2*count; i += 2) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); - } - GLctx.uniform2fv(GL.uniforms[location], view); - } - - function _glfwSwapInterval(interval) { - interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. - if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); - else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); - } - - function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } - - function _abort() { - Module['abort'](); - } - - function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { - GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, - GL.renderbuffers[renderbuffer]); - } - - function _emscripten_glDeleteFramebuffers(n, framebuffers) { - for (var i = 0; i < n; ++i) { - var id = HEAP32[(((framebuffers)+(i*4))>>2)]; - var framebuffer = GL.framebuffers[id]; - if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". - GLctx.deleteFramebuffer(framebuffer); - framebuffer.name = 0; - GL.framebuffers[id] = null; - } - } - - function _emscripten_glIsBuffer(buffer) { - var b = GL.buffers[buffer]; - if (!b) return 0; - return GLctx.isBuffer(b); - } - - function _emscripten_glUniform2iv(location, count, value) { - - - GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); - } - - function _emscripten_glVertexAttrib1fv(index, v) { - - GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); - } - - function _glEnable(x0) { GLctx['enable'](x0) } - - function _emscripten_glGenFramebuffers(n, ids) { - for (var i = 0; i < n; ++i) { - var framebuffer = GLctx.createFramebuffer(); - if (!framebuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.framebuffers); - framebuffer.name = id; - GL.framebuffers[id] = framebuffer; - HEAP32[(((ids)+(i*4))>>2)]=id; - } - } - - - - function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { - function roundedToNextMultipleOf(x, y) { - return Math.floor((x + y - 1) / y) * y - } - var plainRowSize = width * sizePerPixel; - var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); - return (height <= 0) ? 0 : - ((height - 1) * alignedRowSize + plainRowSize); - }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { - var sizePerPixel; - var numChannels; - switch(format) { - case 0x1906 /* GL_ALPHA */: - case 0x1909 /* GL_LUMINANCE */: - case 0x1902 /* GL_DEPTH_COMPONENT */: - numChannels = 1; - break; - case 0x190A /* GL_LUMINANCE_ALPHA */: - numChannels = 2; - break; - case 0x1907 /* GL_RGB */: - case 0x8C40 /* GL_SRGB_EXT */: - numChannels = 3; - break; - case 0x1908 /* GL_RGBA */: - case 0x8C42 /* GL_SRGB_ALPHA_EXT */: - numChannels = 4; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - switch (type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - sizePerPixel = numChannels*1; - break; - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - sizePerPixel = numChannels*2; - break; - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x1406 /* GL_FLOAT */: - sizePerPixel = numChannels*4; - break; - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - sizePerPixel = 4; - break; - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - sizePerPixel = 2; - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); - switch(type) { - case 0x1401 /* GL_UNSIGNED_BYTE */: - return HEAPU8.subarray((pixels),(pixels+bytes)); - case 0x1406 /* GL_FLOAT */: - return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1405 /* GL_UNSIGNED_INT */: - case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: - return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); - case 0x1403 /* GL_UNSIGNED_SHORT */: - case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: - case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: - case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: - case 0x8D61 /* GL_HALF_FLOAT_OES */: - return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return null; - } - }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); - GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); - } - - function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } - - var _emscripten_asm_const_int=true; - - function _emscripten_glUniform2f(location, v0, v1) { - GLctx.uniform2f(GL.uniforms[location], v0, v1); - } - - function _glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _glfwWindowHint(target, hint) { - GLFW.hints[target] = hint; - } - - function _emscripten_glUniform2i(location, v0, v1) { - GLctx.uniform2i(GL.uniforms[location], v0, v1); - } - - function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - - function _glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; - var renderbuffer = GL.renderbuffers[id]; - if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". - GLctx.deleteRenderbuffer(renderbuffer); - renderbuffer.name = 0; - GL.renderbuffers[id] = null; - } - } - - function _emscripten_glGetBufferParameteriv(target, value, data) { - if (!data) { - // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense - // if data == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); - } - - - function emscriptenWebGLGetUniform(program, location, params, type) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); - if (typeof data == 'number' || typeof data == 'boolean') { - switch (type) { - case 'Integer': HEAP32[((params)>>2)]=data; break; - case 'Float': HEAPF32[((params)>>2)]=data; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } else { - for (var i = 0; i < data.length; i++) { - switch (type) { - case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; - case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; - default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; - } - } - } - }function _emscripten_glGetUniformiv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Integer'); - } - - function _emscripten_glDepthMask(flag) { - GLctx.depthMask(!!flag); - } - - - function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } - - function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { - if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; - if (!target) target = document; - else { - target = JSEvents.findEventTarget(target); - if (!target) return -4; - } - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); - JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); - return 0; - } - - - - Module["___muldsi3"] = ___muldsi3; - Module["___muldi3"] = ___muldi3; - - function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { - var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); - HEAP32[((range)>>2)]=result.rangeMin; - HEAP32[(((range)+(4))>>2)]=result.rangeMax; - HEAP32[((precision)>>2)]=result.precision; - } - - function _emscripten_glUniform1fv(location, count, value) { - - - var view; - if (count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[count-1]; - for (var i = 0; i < count; ++i) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); - } - GLctx.uniform1fv(GL.uniforms[location], view); - } - - function _glDeleteBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((buffers)+(i*4))>>2)]; - var buffer = GL.buffers[id]; - - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; - - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; - - if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; - if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; - } - } - - function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); - return 0; - } - - function _emscripten_glBindProgramARB() { - Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); - } - - function _emscripten_glBindTexture(target, texture) { - GLctx.bindTexture(target, texture ? GL.textures[texture] : null); - } - - function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } - - function _emscripten_glDeleteProgram(id) { - if (!id) return; - var program = GL.programs[id]; - if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteProgram(program); - program.name = 0; - GL.programs[id] = null; - GL.programInfos[id] = null; - } - - function _emscripten_glDisable(x0) { GLctx['disable'](x0) } - - function _emscripten_glVertexAttrib3fv(index, v) { - - GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); - } - - function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveAttrib(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - function _emscripten_glIsFramebuffer(framebuffer) { - var fb = GL.framebuffers[framebuffer]; - if (!fb) return 0; - return GLctx.isFramebuffer(fb); - } - - function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } - - function _glfwGetCursorPos(winid, x, y) { - GLFW.getCursorPos(winid, x, y); - } - - function _emscripten_glGetString(name_) { - if (GL.stringCache[name_]) return GL.stringCache[name_]; - var ret; - switch(name_) { - case 0x1F00 /* GL_VENDOR */: - case 0x1F01 /* GL_RENDERER */: - case 0x9245 /* UNMASKED_VENDOR_WEBGL */: - case 0x9246 /* UNMASKED_RENDERER_WEBGL */: - ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); - break; - case 0x1F02 /* GL_VERSION */: - var glVersion = GLctx.getParameter(GLctx.VERSION); - // return GLES version string corresponding to the version of the WebGL context - { - glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; - } - ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); - break; - case 0x1F03 /* GL_EXTENSIONS */: - var exts = GLctx.getSupportedExtensions(); - var gl_exts = []; - for (var i = 0; i < exts.length; ++i) { - gl_exts.push(exts[i]); - gl_exts.push("GL_" + exts[i]); - } - ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); - break; - case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: - var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); - // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' - var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; - var ver_num = glslVersion.match(ver_re); - if (ver_num !== null) { - if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits - glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; - } - ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); - break; - default: - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return 0; - } - GL.stringCache[name_] = ret; - return ret; - } - - function _emscripten_glGetAttribLocation(program, name) { - program = GL.programs[program]; - name = Pointer_stringify(name); - return GLctx.getAttribLocation(program, name); - } - - function _emscripten_glRotatef() { - Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); - } - - - function emscriptenWebGLGet(name_, p, type) { - // Guard against user passing a null pointer. - // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. - // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but - // better to report an error instead of doing anything random. - if (!p) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - var ret = undefined; - switch(name_) { // Handle a few trivial GLES values - case 0x8DFA: // GL_SHADER_COMPILER - ret = 1; - break; - case 0x8DF8: // GL_SHADER_BINARY_FORMATS - if (type !== 'Integer' && type !== 'Integer64') { - GL.recordError(0x0500); // GL_INVALID_ENUM - } - return; // Do not write anything to the out pointer, since no binary formats are supported. - case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS - ret = 0; - break; - case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS - // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), - // so implement it ourselves to allow C++ GLES2 code get the length. - var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); - ret = formats.length; - break; - } - - if (ret === undefined) { - var result = GLctx.getParameter(name_); - switch (typeof(result)) { - case "number": - ret = result; - break; - case "boolean": - ret = result ? 1 : 0; - break; - case "string": - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - case "object": - if (result === null) { - // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise - // can mean an invalid name_, which we need to report as an error - switch(name_) { - case 0x8894: // ARRAY_BUFFER_BINDING - case 0x8B8D: // CURRENT_PROGRAM - case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING - case 0x8CA6: // FRAMEBUFFER_BINDING - case 0x8CA7: // RENDERBUFFER_BINDING - case 0x8069: // TEXTURE_BINDING_2D - case 0x8514: { // TEXTURE_BINDING_CUBE_MAP - ret = 0; - break; - } - default: { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - } else if (result instanceof Float32Array || - result instanceof Uint32Array || - result instanceof Int32Array || - result instanceof Array) { - for (var i = 0; i < result.length; ++i) { - switch (type) { - case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; - case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - } - return; - } else if (result instanceof WebGLBuffer || - result instanceof WebGLProgram || - result instanceof WebGLFramebuffer || - result instanceof WebGLRenderbuffer || - result instanceof WebGLTexture) { - ret = result.name | 0; - } else { - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - break; - default: - GL.recordError(0x0500); // GL_INVALID_ENUM - return; - } - } - - switch (type) { - case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; - case 'Integer': HEAP32[((p)>>2)]=ret; break; - case 'Float': HEAPF32[((p)>>2)]=ret; break; - case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; - default: throw 'internal glGet error, bad type: ' + type; - } - }function _emscripten_glGetIntegerv(name_, p) { - emscriptenWebGLGet(name_, p, 'Integer'); - } - - function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { - var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); - HEAP32[((params)>>2)]=result; - } - - function _llvm_stackrestore(p) { - var self = _llvm_stacksave; - var ret = self.LLVM_SAVEDSTACKS[p]; - self.LLVM_SAVEDSTACKS.splice(p, 1); - Runtime.stackRestore(ret); - } - - function _glfwSetWindowShouldClose(winid, value) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.shouldClose = value; - } - - function _emscripten_glClientActiveTexture() { - Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); - } - - function _glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.set(HEAPU8.subarray(src, src+num), dest); - return dest; - } - Module["_memcpy"] = _memcpy; - - function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _glfwGetTime() { - return GLFW.getTime() - GLFW.initialTime; - } - - function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { - if (!params) { - // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense - // if params == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); - } - - function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } - - function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { - var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); - if (!pixelData) { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - return; - } - GLctx.readPixels(x, y, width, height, format, type, pixelData); - } - - function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { - GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glGetError() { - // First return any GL error generated by the emscripten library_gl.js interop layer. - if (GL.lastError) { - var error = GL.lastError; - GL.lastError = 0/*GL_NO_ERROR*/; - return error; - } else { // If there were none, return the GL error from the browser GL context. - return GLctx.getError(); - } - } - - function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { - GLctx.framebufferTexture2D(target, attachment, textarget, - GL.textures[texture], level); - } - - function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } - - function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - - Module["_memmove"] = _memmove; - - function _glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } - - function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } - - - - 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); - Module["_llvm_cttz_i32"] = _llvm_cttz_i32; - Module["___udivmoddi4"] = ___udivmoddi4; - Module["___uremdi3"] = ___uremdi3; - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - - function _emscripten_glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glGetUniformfv(program, location, params) { - emscriptenWebGLGetUniform(program, location, params, 'Float'); - } - - function _glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _emscripten_exit_pointerlock() { - // Make sure no queued up calls will fire after this. - JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); - - if (document.exitPointerLock) { - document.exitPointerLock(); - } else if (document.msExitPointerLock) { - document.msExitPointerLock(); - } else if (document.mozExitPointerLock) { - document.mozExitPointerLock(); - } else if (document.webkitExitPointerLock) { - document.webkitExitPointerLock(); - } else { - return -1; - } - return 0; - } - - function _glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { - var result = GLctx.getAttachedShaders(GL.programs[program]); - var len = result.length; - if (len > maxCount) { - len = maxCount; - } - HEAP32[((count)>>2)]=len; - for (var i = 0; i < len; ++i) { - var id = GL.shaders.indexOf(result[i]); - assert(id !== -1, 'shader not bound to local id'); - HEAP32[(((shaders)+(i*4))>>2)]=id; - } - } - - function _emscripten_glGenRenderbuffers(n, renderbuffers) { - for (var i = 0; i < n; i++) { - var renderbuffer = GLctx.createRenderbuffer(); - if (!renderbuffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.renderbuffers); - renderbuffer.name = id; - GL.renderbuffers[id] = renderbuffer; - HEAP32[(((renderbuffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } - - function _emscripten_glUniform1iv(location, count, value) { - - - GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); - } - - function _emscripten_glTexCoordPointer() { - Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); - } - - function _emscripten_glGetInfoLogARB() { - Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); - } - - - 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } - - function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - - function _glfwSetCursorPosCallback(winid, cbfun) { - GLFW.setCursorPosCallback(winid, cbfun); - } - - function _glBindAttribLocation(program, index, name) { - name = Pointer_stringify(name); - GLctx.bindAttribLocation(GL.programs[program], index, name); - } - - function _emscripten_glShaderBinary() { - GL.recordError(0x0500/*GL_INVALID_ENUM*/); - } - - function _emscripten_glIsProgram(program) { - var program = GL.programs[program]; - if (!program) return 0; - return GLctx.isProgram(program); - } - - function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } - - function _emscripten_glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { - - - var view; - if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[9*count-1]; - for (var i = 0; i < 9*count; i += 9) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); - } - GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); - } - - - Module["___udivdi3"] = ___udivdi3; - - function _emscripten_glUniform4fv(location, count, value) { - - - var view; - if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[4*count-1]; - for (var i = 0; i < 4*count; i += 4) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); - } - GLctx.uniform4fv(GL.uniforms[location], view); - } - - function _glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _llvm_exp2_f32(x) { - return Math.pow(2, x); - } - - function _glGetShaderiv(shader, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getShaderInfoLog(GL.shaders[shader]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else { - HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); - } - } - - function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } - - function _glfwSetWindowIconifyCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.windowIconifyFunc = cbfun; - } - - function _emscripten_glDrawRangeElements() { - Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); - } - - function _emscripten_glGenTextures(n, textures) { - for (var i = 0; i < n; i++) { - var texture = GLctx.createTexture(); - if (!texture) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. - while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.textures); - texture.name = id; - GL.textures[id] = texture; - HEAP32[(((textures)+(i*4))>>2)]=id; - } - } - - function _emscripten_glVertexAttrib2fv(index, v) { - - GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); - } - - function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { - program = GL.programs[program]; - var info = GLctx.getActiveUniform(program, index); - if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. - - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - - if (size) HEAP32[((size)>>2)]=info.size; - if (type) HEAP32[((type)>>2)]=info.type; - } - - - Module["_roundf"] = _roundf; - - function _emscripten_glDeleteObjectARB() { - Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); - } - - function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); - return 0; - } - - function _emscripten_glUniform1f(location, v0) { - GLctx.uniform1f(GL.uniforms[location], v0); - } - - function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { - GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); - } - - function _glShaderSource(shader, count, string, length) { - var source = GL.getSource(shader, count, string, length); - - - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _emscripten_glDrawArrays(mode, first, count) { - - GLctx.drawArrays(mode, first, count); - - } - - function _emscripten_glGenBuffers(n, buffers) { - for (var i = 0; i < n; i++) { - var buffer = GLctx.createBuffer(); - if (!buffer) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.buffers); - buffer.name = id; - GL.buffers[id] = buffer; - HEAP32[(((buffers)+(i*4))>>2)]=id; - } - } - - function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); - return 0; - } - - function _glfwSetCharCallback(winid, cbfun) { - GLFW.setCharCallback(winid, cbfun); - } - - function _emscripten_glGetUniformLocation(program, name) { - name = Pointer_stringify(name); - - var arrayOffset = 0; - // If user passed an array accessor "[index]", parse the array index off the accessor. - if (name.indexOf(']', name.length-1) !== -1) { - var ls = name.lastIndexOf('['); - var arrayIndex = name.slice(ls+1, -1); - if (arrayIndex.length > 0) { - arrayOffset = parseInt(arrayIndex); - if (arrayOffset < 0) { - return -1; - } - } - name = name.slice(0, ls); - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - return -1; - } - var utable = ptable.uniforms; - var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] - if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. - return uniformInfo[1]+arrayOffset; - } else { - return -1; - } - } - - function _glBindBuffer(target, buffer) { - var bufferObj = buffer ? GL.buffers[buffer] : null; - - - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { - - GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); - } - - function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } - - function _glfwSetCursorEnterCallback(winid, cbfun) { - var win = GLFW.WindowFromId(winid); - if (!win) return; - win.cursorEnterFunc = cbfun; - } - - - Module["_bitshift64Lshr"] = _bitshift64Lshr; - - function _glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - function _emscripten_glIsShader(shader) { - var s = GL.shaders[shader]; - if (!s) return 0; - return GLctx.isShader(s); - } - - function _emscripten_glDrawBuffers(n, bufs) { - - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } - - GLctx['drawBuffers'](bufArray); - } - - function _glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _emscripten_glBindFramebuffer(target, framebuffer) { - GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); - } - - function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } - - function _emscripten_glBufferSubData(target, offset, size, data) { - GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); - } - - function _emscripten_glBufferData(target, size, data, usage) { - if (!data) { - GLctx.bufferData(target, size, usage); - } else { - GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); - } - } - - - Module["_sbrk"] = _sbrk; - - - Module["_bitshift64Shl"] = _bitshift64Shl; - - function _emscripten_glGetShaderSource(shader, bufSize, length, source) { - var result = GLctx.getShaderSource(GL.shaders[shader]); - if (!result) return; // If an error occurs, nothing will be written to length or source. - if (bufSize > 0 && source) { - var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - - Module["_llvm_bswap_i32"] = _llvm_bswap_i32; - - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; - } - - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); - } - - function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { - if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; - JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); - return 0; - } - - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); - } - - function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function ___assert_fail(condition, filename, line, func) { - ABORT = true; - throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); - } - - function _emscripten_glVertexAttribDivisor(index, divisor) { - GLctx['vertexAttribDivisor'](index, divisor); - } - - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } - - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - - } - - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } - - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; - return id; - } - - function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { - GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); - } - - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } - - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); - } - - function _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } - - function _glDeleteShader(id) { - if (!id) return; - var shader = GL.shaders[id]; - if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - GLctx.deleteShader(shader); - GL.shaders[id] = null; - } - - function _emscripten_glGetProgramiv(program, pname, p) { - if (!p) { - // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense - // if p == null, issue a GL error to notify user about it. - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } - - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } - - if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - HEAP32[((p)>>2)]=log.length + 1; - } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { - HEAP32[((p)>>2)]=ptable.maxUniformLength; - } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { - if (ptable.maxAttributeLength == -1) { - var program = GL.programs[program]; - var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); - ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. - for (var i = 0; i < numAttribs; ++i) { - var activeAttrib = GLctx.getActiveAttrib(program, i); - ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxAttributeLength; - } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { - if (ptable.maxUniformBlockNameLength == -1) { - var program = GL.programs[program]; - var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); - ptable.maxUniformBlockNameLength = 0; - for (var i = 0; i < numBlocks; ++i) { - var activeBlockName = GLctx.getActiveUniformBlockName(program, i); - ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); - } - } - HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; - } else { - HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); - } - } - - function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { - var log = GLctx.getProgramInfoLog(GL.programs[program]); - if (log === null) log = '(unknown error)'; - - if (maxLength > 0 && infoLog) { - var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } - } - - function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { - - var pixelData = null; - if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); - GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); - } - - function _glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function ___unlock() {} - - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } - - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); - } - - function _emscripten_glFlush() { GLctx['flush']() } - - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } - - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } - - function _glUniformMatrix4fv(location, count, transpose, value) { - - - var view; - if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { - // avoid allocation when uploading few enough uniforms - view = GL.miniTempBufferViews[16*count-1]; - for (var i = 0; i < 16*count; i += 16) { - view[i] = HEAPF32[(((value)+(4*i))>>2)]; - view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; - view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; - view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; - view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; - view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; - view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; - view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; - view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; - view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; - view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; - view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; - view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; - view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; - view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; - view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; - } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); - } - - function _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); - } - - function _glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); - } - - function _emscripten_glPixelStorei(pname, param) { - if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { - GL.packAlignment = param; - } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { - GL.unpackAlignment = param; - } - GLctx.pixelStorei(pname, param); - } - - function _emscripten_glDeleteTextures(n, textures) { - for (var i = 0; i < n; i++) { - var id = HEAP32[(((textures)+(i*4))>>2)]; - var texture = GL.textures[id]; - if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". - GLctx.deleteTexture(texture); - texture.name = 0; - GL.textures[id] = null; - } - } - - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); - } - - function _emscripten_glGenVertexArrays(n, arrays) { - - for (var i = 0; i < n; i++) { - var vao = GLctx['createVertexArray'](); - if (!vao) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; - return; - } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; - } - } - - function _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; - } - return ret; - } - - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); - } - - function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; - try { - // fcntl64 - var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -ERRNO_CODES.EINVAL; - } - var newStream; - newStream = FS.open(stream.path, stream.flags, 0, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: - case 12: { - var arg = SYSCALLS.get(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)]=2; - return 0; - } - case 13: - case 14: - case 13: - case 14: - return 0; // Pretend that the locking is successful. - case 16: - case 8: - return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. - case 9: - // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. - ___setErrNo(ERRNO_CODES.EINVAL); - return -1; - default: { - return -ERRNO_CODES.EINVAL; - } - } - } catch (e) { - if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); - return -e.errno; - } - } -var GLctx; GL.init(); -if (ENVIRONMENT_IS_NODE) { - _emscripten_get_now = function _emscripten_get_now_actual() { - var t = process['hrtime'](); - return t[0] * 1e3 + t[1] / 1e6; - }; - } else if (typeof dateNow !== 'undefined') { - _emscripten_get_now = dateNow; - } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { - _emscripten_get_now = function() { return self['performance']['now'](); }; - } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { - _emscripten_get_now = function() { return performance['now'](); }; - } else { - _emscripten_get_now = Date.now; - }; -Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; - Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; - Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; - Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; - Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; - Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; - Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } - Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; -FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; -__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; -if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; -JSEvents.staticInit();; -DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); - -STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); - -STACK_MAX = STACK_BASE + TOTAL_STACK; - -DYNAMIC_BASE = Runtime.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"); - - - -function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vd(index,a1) { - try { - Module["dynCall_vd"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vid(index,a1,a2) { - try { - Module["dynCall_vid"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vi(index,a1) { - try { - Module["dynCall_vi"](index,a1); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vii(index,a1,a2) { - try { - Module["dynCall_vii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -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_viddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_viddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidd(index,a1,a2,a3) { - try { - Module["dynCall_vidd"](index,a1,a2,a3); - } 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); - } -} - -function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - try { - Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - try { - Module["dynCall_viii"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vidddd(index,a1,a2,a3,a4,a5) { - try { - Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdi(index,a1,a2) { - try { - Module["dynCall_vdi"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - try { - Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - try { - Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_iii(index,a1,a2) { - try { - return Module["dynCall_iii"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { - try { - Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdddd(index,a1,a2,a3,a4) { - try { - Module["dynCall_vdddd"](index,a1,a2,a3,a4); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_vdd(index,a1,a2) { - try { - Module["dynCall_vdd"](index,a1,a2); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viid(index,a1,a2,a3) { - try { - Module["dynCall_viid"](index,a1,a2,a3); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - try { - Module["dynCall_viiii"](index,a1,a2,a3,a4); - } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "_llvm_exp2_f32": _llvm_exp2_f32, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glTexParameterf": _glTexParameterf, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; -// EMSCRIPTEN_START_ASM -var asm = (function(global, env, buffer) { - 'use asm'; - - - var HEAP8 = new global.Int8Array(buffer); - var HEAP16 = new global.Int16Array(buffer); - var HEAP32 = new global.Int32Array(buffer); - var HEAPU8 = new global.Uint8Array(buffer); - var HEAPU16 = new global.Uint16Array(buffer); - var HEAPU32 = new global.Uint32Array(buffer); - var HEAPF32 = new global.Float32Array(buffer); - var HEAPF64 = new global.Float64Array(buffer); - - - var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; - var nullFunc_vd=env.nullFunc_vd; - var nullFunc_vid=env.nullFunc_vid; - var nullFunc_vi=env.nullFunc_vi; - var nullFunc_vii=env.nullFunc_vii; - var nullFunc_ii=env.nullFunc_ii; - var nullFunc_viddd=env.nullFunc_viddd; - var nullFunc_vidd=env.nullFunc_vidd; - var nullFunc_iiii=env.nullFunc_iiii; - var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; - var nullFunc_viiiiii=env.nullFunc_viiiiii; - var nullFunc_viii=env.nullFunc_viii; - var nullFunc_vidddd=env.nullFunc_vidddd; - var nullFunc_vdi=env.nullFunc_vdi; - var nullFunc_viiiiiii=env.nullFunc_viiiiiii; - var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; - var nullFunc_iii=env.nullFunc_iii; - var nullFunc_i=env.nullFunc_i; - var nullFunc_vdddddd=env.nullFunc_vdddddd; - var nullFunc_vdddd=env.nullFunc_vdddd; - var nullFunc_vdd=env.nullFunc_vdd; - var nullFunc_v=env.nullFunc_v; - var nullFunc_viid=env.nullFunc_viid; - var nullFunc_viiii=env.nullFunc_viiii; - var invoke_viiiii=env.invoke_viiiii; - var invoke_vd=env.invoke_vd; - var invoke_vid=env.invoke_vid; - var invoke_vi=env.invoke_vi; - var invoke_vii=env.invoke_vii; - var invoke_ii=env.invoke_ii; - var invoke_viddd=env.invoke_viddd; - var invoke_vidd=env.invoke_vidd; - var invoke_iiii=env.invoke_iiii; - var invoke_viiiiiiii=env.invoke_viiiiiiii; - var invoke_viiiiii=env.invoke_viiiiii; - var invoke_viii=env.invoke_viii; - var invoke_vidddd=env.invoke_vidddd; - var invoke_vdi=env.invoke_vdi; - var invoke_viiiiiii=env.invoke_viiiiiii; - var invoke_viiiiiiiii=env.invoke_viiiiiiiii; - var invoke_iii=env.invoke_iii; - var invoke_i=env.invoke_i; - var invoke_vdddddd=env.invoke_vdddddd; - var invoke_vdddd=env.invoke_vdddd; - var invoke_vdd=env.invoke_vdd; - var invoke_v=env.invoke_v; - var invoke_viid=env.invoke_viid; - var invoke_viiii=env.invoke_viiii; - var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; - var _glUseProgram=env._glUseProgram; - var _emscripten_glShaderSource=env._emscripten_glShaderSource; - var _glfwCreateWindow=env._glfwCreateWindow; - var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; - var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; - var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; - var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; - var _emscripten_glCullFace=env._emscripten_glCullFace; - var _emscripten_glIsProgram=env._emscripten_glIsProgram; - var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; - var _emscripten_glViewport=env._emscripten_glViewport; - var _emscripten_glFrontFace=env._emscripten_glFrontFace; - var ___assert_fail=env.___assert_fail; - var _glDeleteProgram=env._glDeleteProgram; - var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; - var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; - var _emscripten_glUseProgram=env._emscripten_glUseProgram; - var _emscripten_glBlendColor=env._emscripten_glBlendColor; - var _glBindBuffer=env._glBindBuffer; - var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; - var _glGetShaderInfoLog=env._glGetShaderInfoLog; - var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; - var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; - var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; - var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; - var _glDisable=env._glDisable; - var _glBlendFunc=env._glBlendFunc; - var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; - var _glGetAttribLocation=env._glGetAttribLocation; - var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; - var _glCreateShader=env._glCreateShader; - var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; - var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; - var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; - var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; - var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; - var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; - var _glUniform4f=env._glUniform4f; - var _llvm_stacksave=env._llvm_stacksave; - var _emscripten_glUniform1i=env._emscripten_glUniform1i; - var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; - var _emscripten_glFrustum=env._emscripten_glFrustum; - var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; - var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; - var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; - var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; - var _glfwInit=env._glfwInit; - var _glGenBuffers=env._glGenBuffers; - var _glShaderSource=env._glShaderSource; - var _emscripten_glGetString=env._emscripten_glGetString; - var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; - var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; - var _emscripten_glScissor=env._emscripten_glScissor; - var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; - var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; - var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; - var ___syscall145=env.___syscall145; - var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; - var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; - var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; - var ___syscall140=env.___syscall140; - var _glfwSetErrorCallback=env._glfwSetErrorCallback; - var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; - var _glfwDestroyWindow=env._glfwDestroyWindow; - var ___syscall146=env.___syscall146; - var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; - var _emscripten_glAttachShader=env._emscripten_glAttachShader; - var _glVertexAttribPointer=env._glVertexAttribPointer; - var _emscripten_glUniform2i=env._emscripten_glUniform2i; - var _emscripten_glUniform2f=env._emscripten_glUniform2f; - var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; - var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; - var _glGetProgramInfoLog=env._glGetProgramInfoLog; - var _glfwSetScrollCallback=env._glfwSetScrollCallback; - var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; - var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; - var _emscripten_glGenTextures=env._emscripten_glGenTextures; - var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; - var _llvm_stackrestore=env._llvm_stackrestore; - var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; - var _emscripten_glClear=env._emscripten_glClear; - var _glDrawElements=env._glDrawElements; - var _glBufferSubData=env._glBufferSubData; - var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; - var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; - var _glViewport=env._glViewport; - var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; - var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; - var ___setErrNo=env.___setErrNo; - var _eglGetProcAddress=env._eglGetProcAddress; - var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; - var _glDeleteTextures=env._glDeleteTextures; - var _glDepthFunc=env._glDepthFunc; - var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; - var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; - var _emscripten_glFlush=env._emscripten_glFlush; - var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; - var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; - var _emscripten_glGetError=env._emscripten_glGetError; - var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; - var _emscripten_glBufferData=env._emscripten_glBufferData; - var _emscripten_glUniform3i=env._emscripten_glUniform3i; - var _emscripten_glRotatef=env._emscripten_glRotatef; - var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; - var _glEnable=env._glEnable; - var _emscripten_glReadPixels=env._emscripten_glReadPixels; - var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; - var _glGetString=env._glGetString; - var _emscripten_glClearStencil=env._emscripten_glClearStencil; - var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; - var emscriptenWebGLGet=env.emscriptenWebGLGet; - var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; - var _emscripten_get_now=env._emscripten_get_now; - var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; - var _glAttachShader=env._glAttachShader; - var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; - var _emscripten_glEnable=env._emscripten_glEnable; - var _glCreateProgram=env._glCreateProgram; - var _glUniformMatrix4fv=env._glUniformMatrix4fv; - var _emscripten_glClearDepth=env._emscripten_glClearDepth; - var ___lock=env.___lock; - var _llvm_exp2_f32=env._llvm_exp2_f32; - var ___syscall6=env.___syscall6; - var ___syscall5=env.___syscall5; - var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; - var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; - var _time=env._time; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; - var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; - var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; - var _exit=env._exit; - var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; - var _emscripten_glUniform4i=env._emscripten_glUniform4i; - var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; - var _glCullFace=env._glCullFace; - var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; - var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; - var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; - var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; - var _emscripten_glUniform4f=env._emscripten_glUniform4f; - var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; - var _glfwGetVideoModes=env._glfwGetVideoModes; - var _emscripten_set_click_callback=env._emscripten_set_click_callback; - var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; - var _emscripten_glDrawElements=env._emscripten_glDrawElements; - var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; - var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; - var ___syscall221=env.___syscall221; - var _glCompressedTexImage2D=env._glCompressedTexImage2D; - var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; - var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; - var _glClearDepthf=env._glClearDepthf; - var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; - var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; - var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; - var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; - var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; - var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; - var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; - var _glBindTexture=env._glBindTexture; - var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; - var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; - var _emscripten_glHint=env._emscripten_glHint; - var _glfwSetCharCallback=env._glfwSetCharCallback; - var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; - var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; - var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; - var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; - var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; - var _glDrawArrays=env._glDrawArrays; - var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; - var _emscripten_memcpy_big=env._emscripten_memcpy_big; - var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; - var _glCompileShader=env._glCompileShader; - var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; - var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; - var _emscripten_glColorPointer=env._emscripten_glColorPointer; - var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; - var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; - var _emscripten_glFinish=env._emscripten_glFinish; - var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; - var _glGetFloatv=env._glGetFloatv; - var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; - var _emscripten_glDepthMask=env._emscripten_glDepthMask; - var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; - var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; - var _glfwTerminate=env._glfwTerminate; - var _glFrontFace=env._glFrontFace; - var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; - var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; - var _glfwSwapInterval=env._glfwSwapInterval; - var _glUniform1i=env._glUniform1i; - var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; - var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; - var _abort=env._abort; - var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; - var _glDeleteBuffers=env._glDeleteBuffers; - var _glBufferData=env._glBufferData; - var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; - var _glfwSetKeyCallback=env._glfwSetKeyCallback; - var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; - var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; - var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; - var _glDeleteShader=env._glDeleteShader; - var _emscripten_glUniform1f=env._emscripten_glUniform1f; - var _glGetProgramiv=env._glGetProgramiv; - var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; - var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; - var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; - var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; - var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; - var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; - var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; - var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; - var _emscripten_glCreateShader=env._emscripten_glCreateShader; - var _emscripten_glStencilMask=env._emscripten_glStencilMask; - var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; - var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; - var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _glLinkProgram=env._glLinkProgram; - var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; - var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; - var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; - var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; - var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; - var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; - var _glGetShaderiv=env._glGetShaderiv; - var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; - var _glGetUniformLocation=env._glGetUniformLocation; - var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; - var _emscripten_glCompileShader=env._emscripten_glCompileShader; - var _glClear=env._glClear; - var _glGenTextures=env._glGenTextures; - var _emscripten_glDisable=env._emscripten_glDisable; - var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; - var __exit=env.__exit; - var _emscripten_glLineWidth=env._emscripten_glLineWidth; - var _emscripten_glUniform3f=env._emscripten_glUniform3f; - var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; - var _emscripten_glStencilOp=env._emscripten_glStencilOp; - var _glBindAttribLocation=env._glBindAttribLocation; - var _glPixelStorei=env._glPixelStorei; - var _emscripten_glColorMask=env._emscripten_glColorMask; - var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; - var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; - var _emscripten_glIsTexture=env._emscripten_glIsTexture; - var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; - var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; - var _emscripten_glBindTexture=env._emscripten_glBindTexture; - var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; - var _glfwGetCursorPos=env._glfwGetCursorPos; - var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; - var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var ___syscall54=env.___syscall54; - var ___unlock=env.___unlock; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; - var _glfwSwapBuffers=env._glfwSwapBuffers; - var _emscripten_glDepthRange=env._emscripten_glDepthRange; - var _emscripten_set_main_loop=env._emscripten_set_main_loop; - var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; - var _glfwWindowHint=env._glfwWindowHint; - var _emscripten_glIsShader=env._emscripten_glIsShader; - var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; - var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; - var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; - var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; - var _emscripten_glClearColor=env._emscripten_glClearColor; - var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; - var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; - var _glTexParameteri=env._glTexParameteri; - var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; - var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; - var _emscripten_glDetachShader=env._emscripten_glDetachShader; - var _glClearColor=env._glClearColor; - var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; - var _glTexParameterf=env._glTexParameterf; - var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; - var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; - var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; - 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 _main() { - var $$01618 = 0, $$byval_copy8 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, dest = 0, label = 0; - var sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy8 = sp + 264|0; - $0 = sp + 296|0; - $1 = sp + 232|0; - $2 = sp + 200|0; - $3 = sp + 168|0; - $4 = sp + 136|0; - $5 = sp + 104|0; - $6 = sp + 72|0; - $7 = sp + 40|0; - $8 = sp + 8|0; - $9 = sp; - $10 = HEAP32[2]|0; - $11 = HEAP32[3]|0; - _InitWindow($10,$11,4272); - dest=$0; src=4307; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - HEAP32[4942] = $0; - HEAP32[4943] = 4339; - _LoadSpriteFont($1,4851); - ;HEAP32[19776>>2]=HEAP32[$1>>2]|0;HEAP32[19776+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19776+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19776+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19776+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19776+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19776+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19776+28>>2]=HEAP32[$1+28>>2]|0; - _LoadSpriteFont($2,4880); - ;HEAP32[(19808)>>2]=HEAP32[$2>>2]|0;HEAP32[(19808)+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[(19808)+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[(19808)+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[(19808)+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[(19808)+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[(19808)+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[(19808)+28>>2]=HEAP32[$2+28>>2]|0; - _LoadSpriteFont($3,4911); - ;HEAP32[(19840)>>2]=HEAP32[$3>>2]|0;HEAP32[(19840)+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[(19840)+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[(19840)+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[(19840)+16>>2]=HEAP32[$3+16>>2]|0;HEAP32[(19840)+20>>2]=HEAP32[$3+20>>2]|0;HEAP32[(19840)+24>>2]=HEAP32[$3+24>>2]|0;HEAP32[(19840)+28>>2]=HEAP32[$3+28>>2]|0; - _LoadSpriteFont($4,4938); - ;HEAP32[(19872)>>2]=HEAP32[$4>>2]|0;HEAP32[(19872)+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[(19872)+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[(19872)+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[(19872)+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[(19872)+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[(19872)+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[(19872)+28>>2]=HEAP32[$4+28>>2]|0; - _LoadSpriteFont($5,4967); - ;HEAP32[(19904)>>2]=HEAP32[$5>>2]|0;HEAP32[(19904)+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[(19904)+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[(19904)+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[(19904)+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[(19904)+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[(19904)+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[(19904)+28>>2]=HEAP32[$5+28>>2]|0; - _LoadSpriteFont($6,4996); - ;HEAP32[(19936)>>2]=HEAP32[$6>>2]|0;HEAP32[(19936)+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[(19936)+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[(19936)+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[(19936)+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[(19936)+20>>2]=HEAP32[$6+20>>2]|0;HEAP32[(19936)+24>>2]=HEAP32[$6+24>>2]|0;HEAP32[(19936)+28>>2]=HEAP32[$6+28>>2]|0; - _LoadSpriteFont($7,5028); - ;HEAP32[(19968)>>2]=HEAP32[$7>>2]|0;HEAP32[(19968)+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[(19968)+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[(19968)+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[(19968)+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[(19968)+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[(19968)+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[(19968)+28>>2]=HEAP32[$7+28>>2]|0; - _LoadSpriteFont($8,5060); - ;HEAP32[(20000)>>2]=HEAP32[$8>>2]|0;HEAP32[(20000)+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[(20000)+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[(20000)+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[(20000)+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[(20000)+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[(20000)+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[(20000)+28>>2]=HEAP32[$8+28>>2]|0; - $$01618 = 0; - while(1) { - $12 = HEAP32[2]|0; - $13 = (($12|0) / 2)&-1; - $14 = (+($13|0)); - $15 = (19776 + ($$01618<<5)|0); - $16 = HEAP32[4943]|0; - $17 = (($16) + ($$01618<<6)|0); - $18 = (((19776 + ($$01618<<5)|0)) + 20|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19 << 1; - $21 = (+($20|0)); - $22 = (16 + ($$01618<<2)|0); - $23 = HEAP32[$22>>2]|0; - ;HEAP32[$$byval_copy8>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[$15+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[$15+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[$15+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[$15+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[$15+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[$15+28>>2]|0; - _MeasureTextEx($9,$$byval_copy8,$17,$21,$23); - $24 = +HEAPF32[$9>>2]; - $25 = $24 * 0.5; - $26 = $14 - $25; - $27 = (20032 + ($$01618<<3)|0); - HEAPF32[$27>>2] = $26; - $28 = HEAP32[$18>>2]|0; - $29 = ($$01618*50)|0; - $30 = (($29) + 60)|0; - $31 = (($30) + ($28))|0; - $32 = (+($31|0)); - $33 = (((20032 + ($$01618<<3)|0)) + 4|0); - HEAPF32[$33>>2] = $32; - $34 = (($$01618) + 1)|0; - $exitcond = ($34|0)==(8); - if ($exitcond) { - break; - } else { - $$01618 = $34; - } - } - _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$$byval_copy8>>2]=HEAP32[19776>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[19776+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[19776+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[19776+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[19776+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[19776+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[19776+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[19776+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19808)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19808)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19808)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19808)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19808)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19808)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19808)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19808)+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19840)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19840)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19840)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19840)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19840)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19840)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19840)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19840)+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19872)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19872)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19872)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19872)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19872)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19872)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19872)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19872)+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19904)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19904)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19904)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19904)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19904)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19904)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19904)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19904)+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19936)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19936)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19936)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19936)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19936)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19936)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19936)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19936)+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(19968)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(19968)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(19968)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(19968)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(19968)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(19968)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(19968)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(19968)+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - ;HEAP32[$$byval_copy8>>2]=HEAP32[(20000)>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[(20000)+4>>2]|0;HEAP32[$$byval_copy8+8>>2]=HEAP32[(20000)+8>>2]|0;HEAP32[$$byval_copy8+12>>2]=HEAP32[(20000)+12>>2]|0;HEAP32[$$byval_copy8+16>>2]=HEAP32[(20000)+16>>2]|0;HEAP32[$$byval_copy8+20>>2]=HEAP32[(20000)+20>>2]|0;HEAP32[$$byval_copy8+24>>2]=HEAP32[(20000)+24>>2]|0;HEAP32[$$byval_copy8+28>>2]=HEAP32[(20000)+28>>2]|0; - _UnloadSpriteFont($$byval_copy8); - _CloseWindow(); - STACKTOP = sp;return 0; -} -function _UpdateDrawFrame() { - var $$09 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0; - var $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy5 = sp + 52|0; - $$byval_copy4 = sp + 32|0; - $$byval_copy3 = sp; - $0 = sp + 48|0; - $1 = sp + 44|0; - $2 = sp + 40|0; - _BeginDrawing(); - HEAP8[$0>>0] = -11; - $3 = ((($0)) + 1|0); - HEAP8[$3>>0] = -11; - $4 = ((($0)) + 2|0); - HEAP8[$4>>0] = -11; - $5 = ((($0)) + 3|0); - HEAP8[$5>>0] = -1; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy5); - HEAP8[$1>>0] = 80; - $6 = ((($1)) + 1|0); - HEAP8[$6>>0] = 80; - $7 = ((($1)) + 2|0); - HEAP8[$7>>0] = 80; - $8 = ((($1)) + 3|0); - HEAP8[$8>>0] = -1; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$1+3>>0]|0; - _DrawText(5095,250,20,20,$$byval_copy5); - HEAP8[$2>>0] = 80; - $9 = ((($2)) + 1|0); - HEAP8[$9>>0] = 80; - $10 = ((($2)) + 2|0); - HEAP8[$10>>0] = 80; - $11 = ((($2)) + 3|0); - HEAP8[$11>>0] = -1; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$2+3>>0]|0; - _DrawLine(220,50,590,50,$$byval_copy5); - $$09 = 0; - while(1) { - $12 = (19776 + ($$09<<5)|0); - $13 = HEAP32[4943]|0; - $14 = (($13) + ($$09<<6)|0); - $15 = (20032 + ($$09<<3)|0); - $16 = (((19776 + ($$09<<5)|0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 << 1; - $19 = (+($18|0)); - $20 = (16 + ($$09<<2)|0); - $21 = HEAP32[$20>>2]|0; - $22 = HEAP32[4942]|0; - $23 = (($22) + ($$09<<2)|0); - ;HEAP32[$$byval_copy3>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$12+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$12+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$12+16>>2]|0;HEAP32[$$byval_copy3+20>>2]=HEAP32[$12+20>>2]|0;HEAP32[$$byval_copy3+24>>2]=HEAP32[$12+24>>2]|0;HEAP32[$$byval_copy3+28>>2]=HEAP32[$12+28>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$15+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$23>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$23+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$23+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$23+3>>0]|0; - _DrawTextEx($$byval_copy3,$14,$$byval_copy4,$19,$21,$$byval_copy5); - $24 = (($$09) + 1)|0; - $exitcond = ($24|0)==(8); - if ($exitcond) { - break; - } else { - $$09 = $24; - } - } - _EndDrawing(); - STACKTOP = sp;return; -} -function _VectorLength($0) { - $0 = $0|0; - var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = +HEAPF32[$0>>2]; - $2 = $1 * $1; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 * $4; - $6 = $2 + $5; - $7 = ((($0)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 * $8; - $10 = $6 + $9; - $11 = (+Math_sqrt((+$10))); - return (+$11); -} -function _VectorNormalize($0) { - $0 = $0|0; - var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; - $1 = (+_VectorLength($$byval_copy)); - $2 = $1 == 0.0; - $$op = 1.0 / $1; - $3 = $2 ? 1.0 : $$op; - $4 = +HEAPF32[$0>>2]; - $5 = $4 * $3; - HEAPF32[$0>>2] = $5; - $6 = ((($0)) + 4|0); - $7 = +HEAPF32[$6>>2]; - $8 = $3 * $7; - HEAPF32[$6>>2] = $8; - $9 = ((($0)) + 8|0); - $10 = +HEAPF32[$9>>2]; - $11 = $3 * $10; - HEAPF32[$9>>2] = $11; - STACKTOP = sp;return; -} -function _VectorTransform($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; - var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; - var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$0>>2]; - $3 = ((($0)) + 4|0); - $4 = +HEAPF32[$3>>2]; - $5 = ((($0)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $2 * $7; - $9 = ((($1)) + 4|0); - $10 = +HEAPF32[$9>>2]; - $11 = $4 * $10; - $12 = $8 + $11; - $13 = ((($1)) + 8|0); - $14 = +HEAPF32[$13>>2]; - $15 = $6 * $14; - $16 = $12 + $15; - $17 = ((($1)) + 12|0); - $18 = +HEAPF32[$17>>2]; - $19 = $18 + $16; - HEAPF32[$0>>2] = $19; - $20 = ((($1)) + 16|0); - $21 = +HEAPF32[$20>>2]; - $22 = $2 * $21; - $23 = ((($1)) + 20|0); - $24 = +HEAPF32[$23>>2]; - $25 = $4 * $24; - $26 = $22 + $25; - $27 = ((($1)) + 24|0); - $28 = +HEAPF32[$27>>2]; - $29 = $6 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 + $30; - HEAPF32[$3>>2] = $33; - $34 = ((($1)) + 32|0); - $35 = +HEAPF32[$34>>2]; - $36 = $2 * $35; - $37 = ((($1)) + 36|0); - $38 = +HEAPF32[$37>>2]; - $39 = $4 * $38; - $40 = $36 + $39; - $41 = ((($1)) + 40|0); - $42 = +HEAPF32[$41>>2]; - $43 = $6 * $42; - $44 = $40 + $43; - $45 = ((($1)) + 44|0); - $46 = +HEAPF32[$45>>2]; - $47 = $46 + $44; - HEAPF32[$5>>2] = $47; - return; -} -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} -function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($0)) + 24|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 28|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($0)) + 32|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($0)) + 44|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($0)) + 48|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 52|0); - $22 = HEAP32[$21>>2]|0; - $23 = ((($0)) + 56|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$1>>2] = $8; - HEAP32[$3>>2] = $14; - HEAP32[$5>>2] = $20; - HEAP32[$7>>2] = $2; - HEAP32[$9>>2] = $16; - HEAP32[$11>>2] = $22; - HEAP32[$13>>2] = $4; - HEAP32[$15>>2] = $10; - HEAP32[$17>>2] = $24; - HEAP32[$19>>2] = $6; - HEAP32[$21>>2] = $12; - HEAP32[$23>>2] = $18; - return; -} -function _MatrixIdentity($0) { - $0 = $0|0; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _MatrixTranslate($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = 1.0; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; - return; -} -function _MatrixRotate($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; - var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; - var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; - var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; - var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; - var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; - var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; - var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $3 = sp; - _MatrixIdentity($3); - $4 = +HEAPF32[$1>>2]; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($1)) + 8|0); - $8 = +HEAPF32[$7>>2]; - $9 = $4 * $4; - $10 = $6 * $6; - $11 = $9 + $10; - $12 = $8 * $8; - $13 = $11 + $12; - $14 = (+Math_sqrt((+$13))); - $15 = $14 != 1.0; - $16 = $14 != 0.0; - $or$cond = $15 & $16; - $17 = 1.0 / $14; - $18 = $4 * $17; - $19 = $6 * $17; - $20 = $8 * $17; - $$ = $or$cond ? $20 : $8; - $$221 = $or$cond ? $19 : $6; - $$222 = $or$cond ? $18 : $4; - $21 = (+Math_sin((+$2))); - $22 = (+Math_cos((+$2))); - $23 = 1.0 - $22; - $24 = +HEAPF32[$3>>2]; - $25 = ((($3)) + 16|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($3)) + 32|0); - $28 = +HEAPF32[$27>>2]; - $29 = ((($3)) + 48|0); - $30 = +HEAPF32[$29>>2]; - $31 = ((($3)) + 4|0); - $32 = +HEAPF32[$31>>2]; - $33 = ((($3)) + 20|0); - $34 = +HEAPF32[$33>>2]; - $35 = ((($3)) + 36|0); - $36 = +HEAPF32[$35>>2]; - $37 = ((($3)) + 52|0); - $38 = +HEAPF32[$37>>2]; - $39 = ((($3)) + 8|0); - $40 = +HEAPF32[$39>>2]; - $41 = ((($3)) + 24|0); - $42 = +HEAPF32[$41>>2]; - $43 = ((($3)) + 40|0); - $44 = +HEAPF32[$43>>2]; - $45 = ((($3)) + 56|0); - $46 = +HEAPF32[$45>>2]; - $47 = $$222 * $$222; - $48 = $23 * $47; - $49 = $22 + $48; - $50 = $$221 * $$222; - $51 = $23 * $50; - $52 = $21 * $$; - $53 = $52 + $51; - $54 = $$ * $$222; - $55 = $23 * $54; - $56 = $21 * $$221; - $57 = $55 - $56; - $58 = $51 - $52; - $59 = $$221 * $$221; - $60 = $23 * $59; - $61 = $22 + $60; - $62 = $$ * $$221; - $63 = $23 * $62; - $64 = $21 * $$222; - $65 = $64 + $63; - $66 = $56 + $55; - $67 = $63 - $64; - $68 = $$ * $$; - $69 = $23 * $68; - $70 = $22 + $69; - $71 = $24 * $49; - $72 = $53 * $32; - $73 = $71 + $72; - $74 = $57 * $40; - $75 = $73 + $74; - $76 = $26 * $49; - $77 = $53 * $34; - $78 = $76 + $77; - $79 = $57 * $42; - $80 = $78 + $79; - $81 = $28 * $49; - $82 = $53 * $36; - $83 = $81 + $82; - $84 = $57 * $44; - $85 = $83 + $84; - $86 = $30 * $49; - $87 = $53 * $38; - $88 = $86 + $87; - $89 = $57 * $46; - $90 = $88 + $89; - $91 = $24 * $58; - $92 = $61 * $32; - $93 = $91 + $92; - $94 = $65 * $40; - $95 = $93 + $94; - $96 = $26 * $58; - $97 = $61 * $34; - $98 = $96 + $97; - $99 = $65 * $42; - $100 = $98 + $99; - $101 = $28 * $58; - $102 = $61 * $36; - $103 = $101 + $102; - $104 = $65 * $44; - $105 = $103 + $104; - $106 = $30 * $58; - $107 = $61 * $38; - $108 = $106 + $107; - $109 = $65 * $46; - $110 = $108 + $109; - $111 = $24 * $66; - $112 = $67 * $32; - $113 = $111 + $112; - $114 = $70 * $40; - $115 = $113 + $114; - $116 = $26 * $66; - $117 = $67 * $34; - $118 = $116 + $117; - $119 = $70 * $42; - $120 = $118 + $119; - $121 = $28 * $66; - $122 = $67 * $36; - $123 = $121 + $122; - $124 = $70 * $44; - $125 = $123 + $124; - $126 = $30 * $66; - $127 = $67 * $38; - $128 = $126 + $127; - $129 = $70 * $46; - $130 = $128 + $129; - $131 = ((($3)) + 12|0); - $132 = HEAP32[$131>>2]|0; - $133 = ((($3)) + 28|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($3)) + 44|0); - $136 = HEAP32[$135>>2]|0; - $137 = ((($3)) + 60|0); - $138 = HEAP32[$137>>2]|0; - HEAPF32[$0>>2] = $75; - $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; - $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; - $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); - HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; - $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; - $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; - $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; - $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; - $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; - $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; - $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; - $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); - HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; - $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; - $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; - $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; - $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); - HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; - STACKTOP = sp;return; -} -function _MatrixScale($0,$1,$2,$3) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF32[$0>>2] = $1; - $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); - ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; - $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); - HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; - $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); - ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; - $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); - HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; - $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); - ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; - $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); - HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; - return; -} -function _MatrixMultiply($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; - var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; - var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; - var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; - var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; - var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; - var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; - var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; - var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $3 = +HEAPF32[$2>>2]; - $4 = +HEAPF32[$1>>2]; - $5 = $3 * $4; - $6 = ((($2)) + 16|0); - $7 = +HEAPF32[$6>>2]; - $8 = ((($1)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 * $9; - $11 = $5 + $10; - $12 = ((($2)) + 32|0); - $13 = +HEAPF32[$12>>2]; - $14 = ((($1)) + 8|0); - $15 = +HEAPF32[$14>>2]; - $16 = $13 * $15; - $17 = $11 + $16; - $18 = ((($2)) + 48|0); - $19 = +HEAPF32[$18>>2]; - $20 = ((($1)) + 12|0); - $21 = +HEAPF32[$20>>2]; - $22 = $19 * $21; - $23 = $17 + $22; - $24 = ((($1)) + 16|0); - $25 = +HEAPF32[$24>>2]; - $26 = $3 * $25; - $27 = ((($1)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = $7 * $28; - $30 = $26 + $29; - $31 = ((($1)) + 24|0); - $32 = +HEAPF32[$31>>2]; - $33 = $13 * $32; - $34 = $30 + $33; - $35 = ((($1)) + 28|0); - $36 = +HEAPF32[$35>>2]; - $37 = $19 * $36; - $38 = $34 + $37; - $39 = ((($1)) + 32|0); - $40 = +HEAPF32[$39>>2]; - $41 = $3 * $40; - $42 = ((($1)) + 36|0); - $43 = +HEAPF32[$42>>2]; - $44 = $7 * $43; - $45 = $41 + $44; - $46 = ((($1)) + 40|0); - $47 = +HEAPF32[$46>>2]; - $48 = $13 * $47; - $49 = $45 + $48; - $50 = ((($1)) + 44|0); - $51 = +HEAPF32[$50>>2]; - $52 = $19 * $51; - $53 = $49 + $52; - $54 = ((($1)) + 48|0); - $55 = +HEAPF32[$54>>2]; - $56 = $3 * $55; - $57 = ((($1)) + 52|0); - $58 = +HEAPF32[$57>>2]; - $59 = $7 * $58; - $60 = $56 + $59; - $61 = ((($1)) + 56|0); - $62 = +HEAPF32[$61>>2]; - $63 = $13 * $62; - $64 = $60 + $63; - $65 = ((($1)) + 60|0); - $66 = +HEAPF32[$65>>2]; - $67 = $19 * $66; - $68 = $64 + $67; - $69 = ((($2)) + 4|0); - $70 = +HEAPF32[$69>>2]; - $71 = $4 * $70; - $72 = ((($2)) + 20|0); - $73 = +HEAPF32[$72>>2]; - $74 = $9 * $73; - $75 = $71 + $74; - $76 = ((($2)) + 36|0); - $77 = +HEAPF32[$76>>2]; - $78 = $15 * $77; - $79 = $75 + $78; - $80 = ((($2)) + 52|0); - $81 = +HEAPF32[$80>>2]; - $82 = $21 * $81; - $83 = $79 + $82; - $84 = $25 * $70; - $85 = $28 * $73; - $86 = $84 + $85; - $87 = $32 * $77; - $88 = $86 + $87; - $89 = $36 * $81; - $90 = $88 + $89; - $91 = $40 * $70; - $92 = $43 * $73; - $93 = $91 + $92; - $94 = $47 * $77; - $95 = $93 + $94; - $96 = $51 * $81; - $97 = $95 + $96; - $98 = $55 * $70; - $99 = $58 * $73; - $100 = $98 + $99; - $101 = $62 * $77; - $102 = $100 + $101; - $103 = $66 * $81; - $104 = $102 + $103; - $105 = ((($2)) + 8|0); - $106 = +HEAPF32[$105>>2]; - $107 = $4 * $106; - $108 = ((($2)) + 24|0); - $109 = +HEAPF32[$108>>2]; - $110 = $9 * $109; - $111 = $107 + $110; - $112 = ((($2)) + 40|0); - $113 = +HEAPF32[$112>>2]; - $114 = $15 * $113; - $115 = $111 + $114; - $116 = ((($2)) + 56|0); - $117 = +HEAPF32[$116>>2]; - $118 = $21 * $117; - $119 = $115 + $118; - $120 = $25 * $106; - $121 = $28 * $109; - $122 = $120 + $121; - $123 = $32 * $113; - $124 = $122 + $123; - $125 = $36 * $117; - $126 = $124 + $125; - $127 = $40 * $106; - $128 = $43 * $109; - $129 = $127 + $128; - $130 = $47 * $113; - $131 = $129 + $130; - $132 = $51 * $117; - $133 = $131 + $132; - $134 = $55 * $106; - $135 = $58 * $109; - $136 = $134 + $135; - $137 = $62 * $113; - $138 = $136 + $137; - $139 = $66 * $117; - $140 = $138 + $139; - $141 = ((($2)) + 12|0); - $142 = +HEAPF32[$141>>2]; - $143 = $4 * $142; - $144 = ((($2)) + 28|0); - $145 = +HEAPF32[$144>>2]; - $146 = $9 * $145; - $147 = $143 + $146; - $148 = ((($2)) + 44|0); - $149 = +HEAPF32[$148>>2]; - $150 = $15 * $149; - $151 = $147 + $150; - $152 = ((($2)) + 60|0); - $153 = +HEAPF32[$152>>2]; - $154 = $21 * $153; - $155 = $151 + $154; - $156 = $25 * $142; - $157 = $28 * $145; - $158 = $156 + $157; - $159 = $32 * $149; - $160 = $158 + $159; - $161 = $36 * $153; - $162 = $160 + $161; - $163 = $40 * $142; - $164 = $43 * $145; - $165 = $163 + $164; - $166 = $47 * $149; - $167 = $165 + $166; - $168 = $51 * $153; - $169 = $167 + $168; - $170 = $55 * $142; - $171 = $58 * $145; - $172 = $170 + $171; - $173 = $62 * $149; - $174 = $172 + $173; - $175 = $66 * $153; - $176 = $174 + $175; - HEAPF32[$0>>2] = $23; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; - $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; - $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; - $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; - $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; - $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; - $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; - $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; - $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; - $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; - $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; - return; -} -function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; - var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - $7 = $2 - $1; - $8 = $7; - $9 = $4 - $3; - $10 = $9; - $11 = $6 - $5; - $12 = $11; - $13 = 2.0 / $8; - $14 = 2.0 / $10; - $15 = -2.0 / $12; - $16 = $1 + $2; - $17 = -$16; - $18 = $8; - $19 = $17 / $18; - $20 = $19; - $21 = $3 + $4; - $22 = -$21; - $23 = $10; - $24 = $22 / $23; - $25 = $24; - $26 = $5 + $6; - $27 = -$26; - $28 = $12; - $29 = $27 / $28; - $30 = $29; - HEAPF32[$0>>2] = $13; - $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; - $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); - HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; - $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); - HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; - $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); - HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; - $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); - HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; - $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); - HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; - $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); - HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; - $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); - HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; - $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); - HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; - $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); - HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; - $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); - HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; - $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); - HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; - $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); - HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; - $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); - HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; - $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); - HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; - return; -} -function _ProcessGestureEvent($0) { - $0 = $0|0; - var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; - var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; - var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; - var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; - var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $moveDownPosition2$byval_copy12 = sp + 8|0; - $moveDownPosition$byval_copy11 = sp; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - HEAP32[5025] = $2; - $3 = ($2|0)<(2); - $4 = HEAP32[$0>>2]|0; - $5 = ($4|0)==(1); - if (!($3)) { - if ($5) { - $88 = ((($0)) + 24|0); - $89 = $88; - $90 = $89; - $91 = HEAP32[$90>>2]|0; - $92 = (($89) + 4)|0; - $93 = $92; - $94 = HEAP32[$93>>2]|0; - $95 = 19496; - $96 = $95; - HEAP32[$96>>2] = $91; - $97 = (($95) + 4)|0; - $98 = $97; - HEAP32[$98>>2] = $94; - $99 = ((($0)) + 32|0); - $100 = $99; - $101 = $100; - $102 = HEAP32[$101>>2]|0; - $103 = (($100) + 4)|0; - $104 = $103; - $105 = HEAP32[$104>>2]|0; - $106 = 19536; - $107 = $106; - HEAP32[$107>>2] = $102; - $108 = (($106) + 4)|0; - $109 = $108; - HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4884]; - $111 = +HEAPF32[4874]; - $112 = $110 - $111; - HEAPF32[4886] = $112; - $113 = +HEAPF32[(19540)>>2]; - $114 = +HEAPF32[(19500)>>2]; - $115 = $113 - $114; - HEAPF32[(19548)>>2] = $115; - HEAP32[5024] = 4; - STACKTOP = sp;return; - } - switch ($4|0) { - case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19528+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; - $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5030] = $116; - $117 = 19528; - $118 = $117; - $119 = HEAP32[$118>>2]|0; - $120 = (($117) + 4)|0; - $121 = $120; - $122 = HEAP32[$121>>2]|0; - $123 = 19496; - $124 = $123; - HEAP32[$124>>2] = $119; - $125 = (($123) + 4)|0; - $126 = $125; - HEAP32[$126>>2] = $122; - $127 = 19552; - $128 = $127; - $129 = HEAP32[$128>>2]|0; - $130 = (($127) + 4)|0; - $131 = $130; - $132 = HEAP32[$131>>2]|0; - $133 = 19536; - $134 = $133; - HEAP32[$134>>2] = $129; - $135 = (($133) + 4)|0; - $136 = $135; - HEAP32[$136>>2] = $132; - $137 = ((($0)) + 24|0); - $138 = $137; - $139 = $138; - $140 = HEAP32[$139>>2]|0; - $141 = (($138) + 4)|0; - $142 = $141; - $143 = HEAP32[$142>>2]|0; - $144 = 19528; - $145 = $144; - HEAP32[$145>>2] = $140; - $146 = (($144) + 4)|0; - $147 = $146; - HEAP32[$147>>2] = $143; - $148 = ((($0)) + 32|0); - $149 = $148; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = (($149) + 4)|0; - $153 = $152; - $154 = HEAP32[$153>>2]|0; - $155 = 19552; - $156 = $155; - HEAP32[$156>>2] = $151; - $157 = (($155) + 4)|0; - $158 = $157; - HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4888]; - $160 = +HEAPF32[4882]; - $161 = $159 - $160; - HEAPF32[4886] = $161; - $162 = +HEAPF32[(19556)>>2]; - $163 = +HEAPF32[(19532)>>2]; - $164 = $162 - $163; - HEAPF32[(19548)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19528+4>>2]|0; - $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $166 = !($165 >= 0.004999999888241291); - if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19536>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19536+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; - $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $168 = !($167 >= 0.004999999888241291); - if ($168) { - $$sink16 = 4; - } else { - label = 29; - } - } else { - label = 29; - } - if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19528+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; - $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5030]; - $171 = $169 - $170; - $172 = $171 < 0.0; - $$sink11 = $172 ? 256 : 512; - $$sink16 = $$sink11; - } - HEAP32[5024] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19528+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19552>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19552+4>>2]|0; - $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $174 = 360.0 - $173; - HEAPF32[5031] = $174; - STACKTOP = sp;return; - break; - } - case 0: { - HEAPF32[5030] = 0.0; - HEAPF32[5031] = 0.0; - HEAPF32[4886] = 0.0; - HEAPF32[(19548)>>2] = 0.0; - HEAP32[5025] = 0; - HEAP32[5024] = 0; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } - } - if ($5) { - $6 = HEAP32[5026]|0; - $7 = (($6) + 1)|0; - HEAP32[5026] = $7; - $8 = HEAP32[5024]|0; - $9 = ($8|0)==(0); - $10 = ($6|0)>(0); - $or$cond = $10 & $9; - if ($or$cond) { - $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; - $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $13 = $12 < 0.029999999329447746; - if ($13) { - HEAP32[5024] = 2; - HEAP32[5026] = 0; - } else { - label = 6; - } - } else { - label = 6; - } - if ((label|0) == 6) { - HEAP32[5026] = 1; - HEAP32[5024] = 1; - } - $14 = ((($0)) + 24|0); - $15 = $14; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = 19496; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = 19504; - $26 = $25; - HEAP32[$26>>2] = $17; - $27 = (($25) + 4)|0; - $28 = $27; - HEAP32[$28>>2] = $20; - $29 = 19512; - $30 = $29; - HEAP32[$30>>2] = $17; - $31 = (($29) + 4)|0; - $32 = $31; - HEAP32[$32>>2] = $20; - $33 = ((($0)) + 8|0); - $34 = HEAP32[$33>>2]|0; - HEAP32[12] = $34; - HEAPF32[4880] = 0.0; - HEAPF32[(19524)>>2] = 0.0; - STACKTOP = sp;return; - } - switch ($4|0) { - case 0: { - $35 = HEAP32[5024]|0; - $36 = ($35|0)==(8); - if ($36) { - $37 = ((($0)) + 24|0); - $38 = $37; - $39 = $38; - $40 = HEAP32[$39>>2]|0; - $41 = (($38) + 4)|0; - $42 = $41; - $43 = HEAP32[$42>>2]|0; - $44 = 19512; - $45 = $44; - HEAP32[$45>>2] = $40; - $46 = (($44) + 4)|0; - $47 = $46; - HEAP32[$47>>2] = $43; - } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19512+4>>2]|0; - $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $49 = $48 / 0.0; - HEAPF32[5027] = $49; - HEAP32[5028] = 0; - $50 = $49 > 5.0000002374872565E-4; - if ($50) { - $51 = HEAP32[12]|0; - $52 = ((($0)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51|0)==($53|0); - if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19512+4>>2]|0; - $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $56 = 360.0 - $55; - HEAPF32[5029] = $56; - $57 = $56 < 30.0; - $58 = $56 > 330.0; - $or$cond3 = $57 | $58; - if ($or$cond3) { - $$sink10 = 16; - } else { - $59 = $56 > 30.0; - $60 = $56 < 120.0; - $or$cond5 = $59 & $60; - if ($or$cond5) { - $$sink10 = 64; - } else { - $61 = $56 > 120.0; - $62 = $56 < 210.0; - $or$cond7 = $61 & $62; - $63 = $56 > 210.0; - $64 = $56 < 300.0; - $or$cond9 = $63 & $64; - $$sink = $or$cond9 ? 128 : 0; - $$$sink = $or$cond7 ? 32 : $$sink; - $$sink10 = $$$sink; - } - } - } else { - label = 16; - } - } else { - label = 16; - } - if ((label|0) == 16) { - HEAPF32[5027] = 0.0; - HEAPF32[5029] = 0.0; - $$sink10 = 0; - } - HEAP32[5024] = $$sink10; - HEAPF32[4876] = 0.0; - HEAPF32[(19508)>>2] = 0.0; - HEAP32[5025] = 0; - STACKTOP = sp;return; - break; - } - case 2: { - $65 = HEAP32[5028]|0; - $66 = ($65|0)==(0); - if ($66) { - HEAP32[5028] = 1; - } - $67 = ((($0)) + 24|0); - $68 = $67; - $69 = $68; - $70 = HEAP32[$69>>2]|0; - $71 = (($68) + 4)|0; - $72 = $71; - $73 = HEAP32[$72>>2]|0; - $74 = 19528; - $75 = $74; - HEAP32[$75>>2] = $70; - $76 = (($74) + 4)|0; - $77 = $76; - HEAP32[$77>>2] = $73; - $78 = HEAP32[5024]|0; - $79 = ($78|0)==(4); - if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19496>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19496+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19528+4>>2]|0; - $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $81 = !($80 >= 0.014999999664723873); - if (!($81)) { - HEAP32[5024] = 8; - } - } - $82 = +HEAPF32[4882]; - $83 = +HEAPF32[4876]; - $84 = $82 - $83; - HEAPF32[4880] = $84; - $85 = +HEAPF32[(19532)>>2]; - $86 = +HEAPF32[(19508)>>2]; - $87 = $85 - $86; - HEAPF32[(19524)>>2] = $87; - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} -function _UpdateGestures() { - var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5024]|0; - $$off = (($0) + -1)|0; - $1 = ($$off>>>0)<(2); - $2 = HEAP32[5025]|0; - $3 = ($2|0)<(2); - $or$cond3 = $1 & $3; - if ($or$cond3) { - HEAP32[5024] = 4; - } - $4 = HEAP32[5024]|0; - $5 = (($4) + -16)|0; - $6 = $5 >>> 4; - $7 = $5 << 28; - $8 = $6 | $7; - switch ($8|0) { - case 0: case 1: case 3: case 7: { - break; - } - default: { - return; - } - } - HEAP32[5024] = 0; - return; -} -function _GetMousePosition($0) { - $0 = $0|0; - var $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; - $1 = 19560; - $2 = $1; - $3 = HEAP32[$2>>2]|0; - $4 = (($1) + 4)|0; - $5 = $4; - $6 = HEAP32[$5>>2]|0; - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $3; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $6; - return; -} -function _GetScreenWidth() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5034]|0; - return ($0|0); -} -function _GetScreenHeight() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5033]|0; - return ($0|0); -} -function _InitWindow($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; - _TraceLog(0,5127,$vararg_buffer); - HEAP32[5036] = $2; - _InitGraphicsDevice($0,$1); - _LoadDefaultFont(); - _InitTimer(); - (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((5156|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((5156|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((5156|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((5156|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((5156|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((5156|0),(0|0),1,(7|0))|0); - (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); - (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[5034]|0; - $4 = (+($3|0)); - $5 = $4 * 0.5; - HEAPF32[4890] = $5; - $6 = HEAP32[5033]|0; - $7 = (+($6|0)); - $8 = $7 * 0.5; - HEAPF32[(19564)>>2] = $8; - $9 = HEAP32[5037]|0; - $10 = ($9|0)==(0); - if ($10) { - STACKTOP = sp;return; - } - _SetTargetFPS(60); - _LogoAnimation(); - STACKTOP = sp;return; -} -function _TraceLog($0,$1,$varargs) { - $0 = $0|0; - $1 = $1|0; - $varargs = $varargs|0; - var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - switch ($0|0) { - case 0: { - ;HEAP8[19600>>0]=HEAP8[9685>>0]|0;HEAP8[19600+1>>0]=HEAP8[9685+1>>0]|0;HEAP8[19600+2>>0]=HEAP8[9685+2>>0]|0;HEAP8[19600+3>>0]=HEAP8[9685+3>>0]|0;HEAP8[19600+4>>0]=HEAP8[9685+4>>0]|0;HEAP8[19600+5>>0]=HEAP8[9685+5>>0]|0;HEAP8[19600+6>>0]=HEAP8[9685+6>>0]|0; - break; - } - case 1: { - $3 = 19600; - $4 = $3; - HEAP32[$4>>2] = 1330795077; - $5 = (($3) + 4)|0; - $6 = $5; - HEAP32[$6>>2] = 2112082; - break; - } - case 2: { - dest=19600; src=9692; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - break; - } - case 3: { - $7 = 19600; - $8 = $7; - HEAP32[$8>>2] = 1430406468; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = 2112071; - break; - } - default: { - } - } - (_strcat(19600,$1)|0); - $strlen = (_strlen(19600)|0); - $endptr = (19600 + ($strlen)|0); - HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; - HEAP32[$2>>2] = $varargs; - $11 = ($0|0)==(3); - if ($11) { - STACKTOP = sp;return; - } - (_vprintf(19600,$2)|0); - $12 = ($0|0)==(1); - if ($12) { - _exit(1); - // unreachable; - } else { - STACKTOP = sp;return; - } -} -function _InitGraphicsDevice($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$015 = 0, $$byval_copy = 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, $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; - var $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.0, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; - var label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $$byval_copy = sp + 136|0; - $vararg_buffer22 = sp + 64|0; - $vararg_buffer18 = sp + 56|0; - $vararg_buffer14 = sp + 48|0; - $vararg_buffer10 = sp + 40|0; - $vararg_buffer8 = sp + 32|0; - $vararg_buffer6 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 72|0; - $3 = sp + 140|0; - HEAP32[5034] = $0; - HEAP32[5033] = $1; - _MatrixIdentity($2); - dest=20224; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_glfwSetErrorCallback((2|0))|0); - $4 = (_glfwInit()|0); - $5 = ($4|0)==(0); - if ($5) { - _TraceLog(1,5827,$vararg_buffer); - } - $6 = HEAP32[5034]|0; - HEAP32[5072] = $6; - $7 = HEAP32[5033]|0; - HEAP32[5073] = $7; - _glfwDefaultWindowHints(); - $8 = HEAP8[22960]|0; - $9 = $8 & 4; - $10 = ($9<<24>>24)==(0); - if ($10) { - _glfwWindowHint(131075,0); - } else { - _glfwWindowHint(131075,1); - } - $11 = HEAP8[22960]|0; - $12 = $11 & 8; - $13 = ($12<<24>>24)==(0); - if (!($13)) { - _glfwWindowHint(131077,1); - } - $14 = HEAP8[22960]|0; - $15 = $14 & 32; - $16 = ($15<<24>>24)==(0); - if (!($16)) { - _glfwWindowHint(135181,4); - _TraceLog(0,5853,$vararg_buffer1); - } - $17 = (_rlGetVersion()|0); - $18 = ($17|0)==(2); - if ($18) { - _glfwWindowHint(139266,2); - _glfwWindowHint(139267,1); - } else { - $19 = (_rlGetVersion()|0); - $20 = ($19|0)==(3); - if ($20) { - _glfwWindowHint(139266,3); - _glfwWindowHint(139267,3); - _glfwWindowHint(139272,204801); - _glfwWindowHint(139270,0); - } - } - $21 = HEAP32[5074]|0; - $22 = ($21|0)==(0); - if ($22) { - $47 = HEAP32[5034]|0; - $48 = HEAP32[5033]|0; - $49 = HEAP32[5036]|0; - $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5032] = $50; - $51 = HEAP32[5034]|0; - HEAP32[5075] = $51; - $52 = HEAP32[5033]|0; - HEAP32[5076] = $52; - $54 = $50; - } else { - $23 = (_glfwGetPrimaryMonitor()|0); - $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); - $25 = HEAP32[$$byval_copy>>2]|0; - $26 = ($25|0)>(0); - L22: do { - if ($26) { - $27 = HEAP32[5034]|0; - $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5033]|0; - $$015 = 0; - while(1) { - $30 = (($24) + (($$015*24)|0)|0); - $31 = HEAP32[$30>>2]|0; - $32 = ($31|0)<($27|0); - if (!($32)) { - $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)<($29|0); - if (!($35)) { - break; - } - } - $36 = (($$015) + 1)|0; - $37 = ($36|0)<($28|0); - if ($37) { - $$015 = $36; - } else { - break L22; - } - } - HEAP32[5072] = $31; - HEAP32[5073] = $34; - } - } while(0); - $38 = HEAP32[5072]|0; - $39 = HEAP32[5073]|0; - HEAP32[$vararg_buffer3>>2] = $38; - $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,5878,$vararg_buffer3); - $40 = HEAP32[5072]|0; - $41 = HEAP32[5073]|0; - _SetupFramebufferSize($40,$41); - $42 = HEAP32[5072]|0; - $43 = HEAP32[5073]|0; - $44 = HEAP32[5036]|0; - $45 = (_glfwGetPrimaryMonitor()|0); - $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5032] = $46; - $54 = $46; - } - $53 = ($54|0)==(0|0); - if ($53) { - _glfwTerminate(); - _TraceLog(1,5916,$vararg_buffer6); - } else { - _TraceLog(0,5949,$vararg_buffer8); - $55 = HEAP32[5075]|0; - $56 = HEAP32[5076]|0; - HEAP32[$vararg_buffer10>>2] = $55; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,5989,$vararg_buffer10); - $57 = HEAP32[5034]|0; - $58 = HEAP32[5033]|0; - HEAP32[$vararg_buffer14>>2] = $57; - $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); - HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,6010,$vararg_buffer14); - $59 = HEAP32[5077]|0; - $60 = HEAP32[5078]|0; - HEAP32[$vararg_buffer18>>2] = $59; - $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); - HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,6031,$vararg_buffer18); - } - $61 = HEAP32[5032]|0; - (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5032]|0; - (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5032]|0; - (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5032]|0; - (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5032]|0; - (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5032]|0; - (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5032]|0; - (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5032]|0; - (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5032]|0; - _glfwMakeContextCurrent(($69|0)); - _glfwSwapInterval(0); - $70 = HEAP8[22960]|0; - $71 = $70 & 64; - $72 = ($71<<24>>24)==(0); - if ($72) { - $73 = HEAP32[5034]|0; - $74 = HEAP32[5033]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5075]|0; - $76 = HEAP32[5077]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5076]|0; - $80 = HEAP32[5078]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; - } - _glfwSwapInterval(1); - _TraceLog(0,6056,$vararg_buffer22); - $73 = HEAP32[5034]|0; - $74 = HEAP32[5033]|0; - _rlglInit($73,$74); - _SetupViewport(); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $75 = HEAP32[5075]|0; - $76 = HEAP32[5077]|0; - $77 = (($75) - ($76))|0; - $78 = (+($77|0)); - $79 = HEAP32[5076]|0; - $80 = HEAP32[5078]|0; - $81 = (($79) - ($80))|0; - $82 = (+($81|0)); - _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - HEAP8[$3>>0] = -11; - $83 = ((($3)) + 1|0); - HEAP8[$83>>0] = -11; - $84 = ((($3)) + 2|0); - HEAP8[$84>>0] = -11; - $85 = ((($3)) + 3|0); - HEAP8[$85>>0] = -1; - ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; - _ClearBackground($$byval_copy); - STACKTOP = sp;return; -} -function _LoadDefaultFont() { - var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy1 = sp + 44|0; - $vararg_buffer = sp; - $0 = sp + 4|0; - $1 = sp + 24|0; - HEAP32[(20192)>>2] = 224; - $2 = (_malloc(65536)|0); - _memset(($2|0),0,65536)|0; - $$095104 = 0;$$096103 = 0; - while(1) { - $3 = (52 + ($$095104<<2)|0); - $4 = HEAP32[$3>>2]|0; - $$097102 = 31; - while(1) { - $16 = 1 << $$097102; - $17 = $4 & $16; - $18 = ($17|0)==(0); - if (!($18)) { - $19 = (($$097102) + ($$096103))|0; - $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); - HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; - } - $20 = (($$097102) + -1)|0; - $21 = ($$097102|0)>(0); - if ($21) { - $$097102 = $20; - } else { - break; - } - } - $12 = (($$095104) + 1)|0; - $13 = ($$095104|0)>(511); - $$ = $13 ? 0 : $12; - $14 = (($$096103) + 32)|0; - $15 = ($14|0)<(16384); - if ($15) { - $$095104 = $$;$$096103 = $14; - } else { - break; - } - } - _LoadImageEx($0,$2,128,128); - _ImageFormat($0,2); - _free($2); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[20168>>2]=HEAP32[$1>>2]|0;HEAP32[20168+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[20168+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[20168+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[20168+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadImage($$byval_copy1); - $5 = HEAP32[(20192)>>2]|0; - $6 = $5 << 5; - $7 = (_malloc($6)|0); - HEAP32[(20196)>>2] = $7; - $8 = ($5|0)>(0); - if (!($8)) { - $$lcssa = $7; - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20188)>>2] = $23; - $24 = HEAP32[5042]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5351,$vararg_buffer); - STACKTOP = sp;return; - } - $9 = HEAP32[(20172)>>2]|0; - $10 = HEAP32[(20192)>>2]|0; - $11 = HEAP32[(20196)>>2]|0; - $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; - while(1) { - $25 = (($$0101) + 32)|0; - $26 = (($27) + ($$0101<<5)|0); - HEAP32[$26>>2] = $25; - $28 = (((($27) + ($$0101<<5)|0)) + 4|0); - HEAP32[$28>>2] = $$090100; - $29 = ($$09299*11)|0; - $30 = (($29) + 1)|0; - $31 = (((($27) + ($$0101<<5)|0)) + 8|0); - HEAP32[$31>>2] = $30; - $32 = (2100 + ($$0101<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (((($27) + ($$0101<<5)|0)) + 12|0); - HEAP32[$34>>2] = $33; - $35 = (((($27) + ($$0101<<5)|0)) + 16|0); - HEAP32[$35>>2] = 10; - $36 = (($$090100) + 1)|0; - $37 = (($36) + ($33))|0; - $38 = ($37|0)<($9|0); - $39 = (($$09299) + 1)|0; - if ($38) { - $$191 = $37;$$193 = $$09299; - } else { - $40 = ($39*11)|0; - $41 = (($40) + 1)|0; - $42 = (($33) + 2)|0; - HEAP32[$28>>2] = 1; - HEAP32[$31>>2] = $41; - $$191 = $42;$$193 = $39; - } - $43 = (((($27) + ($$0101<<5)|0)) + 20|0); - HEAP32[$43>>2] = 0; - $44 = (((($27) + ($$0101<<5)|0)) + 24|0); - HEAP32[$44>>2] = 0; - $45 = (((($27) + ($$0101<<5)|0)) + 28|0); - HEAP32[$45>>2] = 0; - $46 = (($$0101) + 1)|0; - $47 = ($46|0)<($10|0); - if ($47) { - $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; - } else { - $$lcssa = $11; - break; - } - } - $22 = ((($$lcssa)) + 16|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(20188)>>2] = $23; - $24 = HEAP32[5042]|0; - HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,5351,$vararg_buffer); - STACKTOP = sp;return; -} -function _InitTimer() { - var $0 = 0, $1 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_time((0|0))|0); - _srand($0); - $1 = (+_GetTime()); - HEAPF64[2449] = $1; - return; -} -function _EmscriptenFullscreenChangeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $3 = HEAP32[$1>>2]|0; - $4 = ($3|0)==(0); - $5 = ((($1)) + 264|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 268|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 272|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($1)) + 276|0); - $12 = HEAP32[$11>>2]|0; - if ($4) { - HEAP32[$vararg_buffer4>>2] = $6; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $8; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $10; - $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); - HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,5284,$vararg_buffer4); - STACKTOP = sp;return 0; - } else { - HEAP32[$vararg_buffer>>2] = $6; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $8; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $10; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,5215,$vararg_buffer); - STACKTOP = sp;return 0; - } - return (0)|0; -} -function _EmscriptenKeyboardCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0|0)==(1); - if (!($3)) { - return 0; - } - $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,5208)|0); - $6 = ($5|0)==(0); - if (!($6)) { - return 0; - } - (_emscripten_exit_pointerlock()|0); - return 0; -} -function _EmscriptenMouseCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); - $3 = sp; - $4 = ($0|0)==(4); - if (!($4)) { - STACKTOP = sp;return 0; - } - (_emscripten_get_pointerlock_status(($3|0))|0); - $5 = HEAP32[$3>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - (_emscripten_request_pointerlock((0|0),1)|0); - } else { - (_emscripten_exit_pointerlock()|0); - (_emscripten_get_pointerlock_status(($3|0))|0); - } - STACKTOP = sp;return 0; -} -function _EmscriptenTouchCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; - var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - switch ($0|0) { - case 22: { - $$sink = 1; - label = 4; - break; - } - case 23: { - $$sink = 0; - label = 4; - break; - } - case 24: { - $$sink = 2; - label = 4; - break; - } - default: { - } - } - if ((label|0) == 4) { - HEAP32[$3>>2] = $$sink; - } - $4 = HEAP32[$1>>2]|0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = $4; - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($3)) + 8|0); - HEAP32[$8>>2] = $7; - $9 = ((($1)) + 72|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($3)) + 12|0); - HEAP32[$11>>2] = $10; - $12 = ((($1)) + 56|0); - $13 = HEAP32[$12>>2]|0; - $14 = (+($13|0)); - $15 = ((($1)) + 60|0); - $16 = HEAP32[$15>>2]|0; - $17 = (+($16|0)); - $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; - $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; - $18 = ((($1)) + 108|0); - $19 = HEAP32[$18>>2]|0; - $20 = (+($19|0)); - $21 = ((($1)) + 112|0); - $22 = HEAP32[$21>>2]|0; - $23 = (+($22|0)); - $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; - $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; - $24 = ((($3)) + 24|0); - $25 = $24; - $26 = $25; - $27 = HEAP32[$26>>2]|0; - $28 = (($25) + 4)|0; - $29 = $28; - $30 = HEAP32[$29>>2]|0; - $31 = 19576; - $32 = $31; - HEAP32[$32>>2] = $27; - $33 = (($31) + 4)|0; - $34 = $33; - HEAP32[$34>>2] = $30; - $35 = ((($3)) + 32|0); - $36 = $35; - $37 = $36; - $38 = HEAP32[$37>>2]|0; - $39 = (($36) + 4)|0; - $40 = $39; - $41 = HEAP32[$40>>2]|0; - $42 = (19584); - $43 = $42; - HEAP32[$43>>2] = $38; - $44 = (($42) + 4)|0; - $45 = $44; - HEAP32[$45>>2] = $41; - $46 = (_GetScreenWidth()|0); - $47 = (+($46|0)); - $48 = +HEAPF32[$24>>2]; - $49 = $48 / $47; - HEAPF32[$24>>2] = $49; - $50 = (_GetScreenHeight()|0); - $51 = (+($50|0)); - $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; - $53 = $52 / $51; - HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; - $54 = (_GetScreenWidth()|0); - $55 = (+($54|0)); - $56 = +HEAPF32[$35>>2]; - $57 = $56 / $55; - HEAPF32[$35>>2] = $57; - $58 = (_GetScreenHeight()|0); - $59 = (+($58|0)); - $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; - $61 = $60 / $59; - HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return 1; -} -function _EmscriptenGamepadCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($1)) + 1296|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - label = 3; - } else { - $6 = ((($1)) + 1300|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)<(4); - if ($8) { - $$sink = 1; - } else { - label = 3; - } - } - if ((label|0) == 3) { - $$sink = 0; - } - $9 = ((($1)) + 1300|0); - $10 = HEAP32[$9>>2]|0; - $11 = (20152 + ($10<<2)|0); - HEAP32[$11>>2] = $$sink; - return 0; -} -function _SetTargetFPS($0) { - $0 = $0|0; - var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); - $2 = (+($0|0)); - $3 = 1.0 / $2; - $$ = $1 ? 0.0 : $3; - HEAPF64[2446] = $$; - $4 = $3; - $$op = $4 * 1000.0; - $5 = $$op; - $6 = $1 ? 0.0 : $5; - HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,5164,$vararg_buffer); - STACKTOP = sp;return; -} -function _LogoAnimation() { - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5037] = 0; - return; -} -function _GetTime() { - var $0 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (+_glfwGetTime()); - return (+$0); -} -function _LoadImageEx($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = $2 << 2; - $5 = Math_imul($4, $3)|0; - $6 = (_malloc($5)|0); - $7 = ($5|0)>(0); - if ($7) { - $8 = (($5) + -1)|0; - $9 = $8 >>> 2; - $$03334 = 0;$$035 = 0; - while(1) { - $10 = (($1) + ($$03334<<2)|0); - $11 = HEAP8[$10>>0]|0; - $12 = (($6) + ($$035)|0); - HEAP8[$12>>0] = $11; - $13 = (((($1) + ($$03334<<2)|0)) + 1|0); - $14 = HEAP8[$13>>0]|0; - $15 = $$035 | 1; - $16 = (($6) + ($15)|0); - HEAP8[$16>>0] = $14; - $17 = (((($1) + ($$03334<<2)|0)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = $$035 | 2; - $20 = (($6) + ($19)|0); - HEAP8[$20>>0] = $18; - $21 = (((($1) + ($$03334<<2)|0)) + 3|0); - $22 = HEAP8[$21>>0]|0; - $23 = $$035 | 3; - $24 = (($6) + ($23)|0); - HEAP8[$24>>0] = $22; - $25 = (($$03334) + 1)|0; - $26 = (($$035) + 4)|0; - $exitcond = ($$03334|0)==($9|0); - if ($exitcond) { - break; - } else { - $$03334 = $25;$$035 = $26; - } - } - } - HEAP32[$0>>2] = $6; - $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); - HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; - $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); - HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; - $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); - HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; - return; -} -function _ImageFormat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0; - var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; - var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; - var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; - var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; - var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; - var $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, $269 = 0, $27 = 0; - var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; - var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; - var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; - var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp + 4|0; - $vararg_buffer = sp; - $2 = ((($0)) + 16|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==($1|0); - if ($4) { - STACKTOP = sp;return; - } - $5 = ($3|0)<(8); - $6 = ($1|0)<(8); - $or$cond = $6 & $5; - if (!($or$cond)) { - _TraceLog(2,5727,$vararg_buffer); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - $7 = (_GetImageData($$byval_copy)|0); - $8 = HEAP32[$0>>2]|0; - _free($8); - HEAP32[$2>>2] = $1; - switch ($1|0) { - case 1: { - $9 = ((($0)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 8|0); - $12 = HEAP32[$11>>2]|0; - $13 = Math_imul($12, $10)|0; - $14 = (_malloc($13)|0); - HEAP32[$0>>2] = $14; - $15 = Math_imul($12, $10)|0; - $16 = ($15|0)>(0); - if ($16) { - $$0171188 = 0; - while(1) { - $17 = (($7) + ($$0171188<<2)|0); - $18 = HEAP8[$17>>0]|0; - $19 = (+($18&255)); - $20 = $19 * 0.29899999499320984; - $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = (+($22&255)); - $24 = $23 * 0.58700001239776611; - $25 = $20 + $24; - $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); - $27 = HEAP8[$26>>0]|0; - $28 = (+($27&255)); - $29 = $28 * 0.11400000005960464; - $30 = $25 + $29; - $31 = (~~(($30))&255); - $32 = HEAP32[$0>>2]|0; - $33 = (($32) + ($$0171188)|0); - HEAP8[$33>>0] = $31; - $34 = (($$0171188) + 1)|0; - $35 = HEAP32[$9>>2]|0; - $36 = HEAP32[$11>>2]|0; - $37 = Math_imul($36, $35)|0; - $38 = ($34|0)<($37|0); - if ($38) { - $$0171188 = $34; - } else { - break; - } - } - } - break; - } - case 2: { - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = ((($0)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = $40 << 1; - $44 = Math_imul($43, $42)|0; - $45 = (_malloc($44)|0); - HEAP32[$0>>2] = $45; - $46 = HEAP32[$39>>2]|0; - $47 = $46 << 1; - $48 = Math_imul($47, $42)|0; - $49 = ($48|0)>(0); - if ($49) { - $$0170190 = 0;$$0172189 = 0; - while(1) { - $50 = (($7) + ($$0172189<<2)|0); - $51 = HEAP8[$50>>0]|0; - $52 = (+($51&255)); - $53 = $52 * 0.29899999499320984; - $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); - $55 = HEAP8[$54>>0]|0; - $56 = (+($55&255)); - $57 = $56 * 0.58700001239776611; - $58 = $53 + $57; - $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); - $60 = HEAP8[$59>>0]|0; - $61 = (+($60&255)); - $62 = $61 * 0.11400000005960464; - $63 = $58 + $62; - $64 = (~~(($63))&255); - $65 = HEAP32[$0>>2]|0; - $66 = (($65) + ($$0170190)|0); - HEAP8[$66>>0] = $64; - $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); - $68 = HEAP8[$67>>0]|0; - $69 = HEAP32[$0>>2]|0; - $70 = $$0170190 | 1; - $71 = (($69) + ($70)|0); - HEAP8[$71>>0] = $68; - $72 = (($$0172189) + 1)|0; - $73 = (($$0170190) + 2)|0; - $74 = HEAP32[$39>>2]|0; - $75 = HEAP32[$41>>2]|0; - $76 = $74 << 1; - $77 = Math_imul($76, $75)|0; - $78 = ($73|0)<($77|0); - if ($78) { - $$0170190 = $73;$$0172189 = $72; - } else { - break; - } - } - } - break; - } - case 3: { - $79 = ((($0)) + 4|0); - $80 = HEAP32[$79>>2]|0; - $81 = ((($0)) + 8|0); - $82 = HEAP32[$81>>2]|0; - $83 = $80 << 1; - $84 = Math_imul($83, $82)|0; - $85 = (_malloc($84)|0); - HEAP32[$0>>2] = $85; - $86 = HEAP32[$79>>2]|0; - $87 = Math_imul($82, $86)|0; - $88 = ($87|0)>(0); - if ($88) { - $89 = HEAP8[$7>>0]|0; - $90 = (+($89&255)); - $91 = $90 * 31.0; - $92 = $91 / 255.0; - $roundf179 = (+_roundf((+$92))); - $93 = (~~(($roundf179))&255); - $94 = ((($7)) + 1|0); - $95 = HEAP8[$94>>0]|0; - $96 = (+($95&255)); - $97 = $96 * 63.0; - $98 = $97 / 255.0; - $roundf180 = (+_roundf((+$98))); - $99 = (~~(($roundf180))&255); - $100 = ((($7)) + 2|0); - $101 = HEAP8[$100>>0]|0; - $102 = (+($101&255)); - $103 = $102 * 31.0; - $104 = $103 / 255.0; - $roundf181 = (+_roundf((+$104))); - $105 = (~~(($roundf181))&255); - $106 = $93&255; - $107 = $106 << 11; - $108 = $99&255; - $109 = $108 << 5; - $110 = $109 | $107; - $111 = $105&255; - $112 = $110 | $111; - $113 = $112&65535; - $114 = HEAP32[$0>>2]|0; - $115 = HEAP32[$79>>2]|0; - $116 = HEAP32[$81>>2]|0; - $117 = Math_imul($116, $115)|0; - $$0169192 = 0; - while(1) { - $118 = (($114) + ($$0169192<<1)|0); - HEAP16[$118>>1] = $113; - $119 = (($$0169192) + 1)|0; - $120 = ($119|0)<($117|0); - if ($120) { - $$0169192 = $119; - } else { - break; - } - } - } - break; - } - case 4: { - $121 = ((($0)) + 4|0); - $122 = HEAP32[$121>>2]|0; - $123 = ((($0)) + 8|0); - $124 = HEAP32[$123>>2]|0; - $125 = ($122*3)|0; - $126 = Math_imul($125, $124)|0; - $127 = (_malloc($126)|0); - HEAP32[$0>>2] = $127; - $128 = HEAP32[$121>>2]|0; - $129 = ($128*3)|0; - $130 = Math_imul($129, $124)|0; - $131 = ($130|0)>(0); - if ($131) { - $$0168195 = 0;$$1194 = 0; - while(1) { - $132 = (($7) + ($$1194<<2)|0); - $133 = HEAP8[$132>>0]|0; - $134 = HEAP32[$0>>2]|0; - $135 = (($134) + ($$0168195)|0); - HEAP8[$135>>0] = $133; - $136 = (((($7) + ($$1194<<2)|0)) + 1|0); - $137 = HEAP8[$136>>0]|0; - $138 = HEAP32[$0>>2]|0; - $139 = (($$0168195) + 1)|0; - $140 = (($138) + ($139)|0); - HEAP8[$140>>0] = $137; - $141 = (((($7) + ($$1194<<2)|0)) + 2|0); - $142 = HEAP8[$141>>0]|0; - $143 = HEAP32[$0>>2]|0; - $144 = (($$0168195) + 2)|0; - $145 = (($143) + ($144)|0); - HEAP8[$145>>0] = $142; - $146 = (($$1194) + 1)|0; - $147 = (($$0168195) + 3)|0; - $148 = HEAP32[$121>>2]|0; - $149 = HEAP32[$123>>2]|0; - $150 = ($148*3)|0; - $151 = Math_imul($150, $149)|0; - $152 = ($147|0)<($151|0); - if ($152) { - $$0168195 = $147;$$1194 = $146; - } else { - break; - } - } - } - break; - } - case 5: { - $153 = ((($0)) + 4|0); - $154 = HEAP32[$153>>2]|0; - $155 = ((($0)) + 8|0); - $156 = HEAP32[$155>>2]|0; - $157 = $154 << 1; - $158 = Math_imul($157, $156)|0; - $159 = (_malloc($158)|0); - HEAP32[$0>>2] = $159; - $160 = HEAP32[$153>>2]|0; - $161 = Math_imul($156, $160)|0; - $162 = ($161|0)>(0); - if ($162) { - $163 = HEAP32[$0>>2]|0; - $164 = HEAP32[$153>>2]|0; - $165 = HEAP32[$155>>2]|0; - $166 = Math_imul($165, $164)|0; - $$0167197 = 0; - while(1) { - $167 = (($7) + ($$0167197<<2)|0); - $168 = HEAP8[$167>>0]|0; - $169 = (+($168&255)); - $170 = $169 * 31.0; - $171 = $170 / 255.0; - $roundf176 = (+_roundf((+$171))); - $172 = (~~(($roundf176))&255); - $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); - $174 = HEAP8[$173>>0]|0; - $175 = (+($174&255)); - $176 = $175 * 31.0; - $177 = $176 / 255.0; - $roundf177 = (+_roundf((+$177))); - $178 = (~~(($roundf177))&255); - $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); - $180 = HEAP8[$179>>0]|0; - $181 = (+($180&255)); - $182 = $181 * 31.0; - $183 = $182 / 255.0; - $roundf178 = (+_roundf((+$183))); - $184 = (~~(($roundf178))&255); - $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); - $186 = HEAP8[$185>>0]|0; - $187 = ($186&255)>(50); - $188 = $172&255; - $189 = $188 << 11; - $190 = $178&255; - $191 = $190 << 6; - $192 = $191 | $189; - $193 = $184&255; - $194 = $193 << 1; - $195 = $192 | $194; - $196 = $187&1; - $197 = $195 | $196; - $198 = $197&65535; - $199 = (($163) + ($$0167197<<1)|0); - HEAP16[$199>>1] = $198; - $200 = (($$0167197) + 1)|0; - $201 = ($200|0)<($166|0); - if ($201) { - $$0167197 = $200; - } else { - break; - } - } - } - break; - } - case 6: { - $202 = ((($0)) + 4|0); - $203 = HEAP32[$202>>2]|0; - $204 = ((($0)) + 8|0); - $205 = HEAP32[$204>>2]|0; - $206 = $203 << 1; - $207 = Math_imul($206, $205)|0; - $208 = (_malloc($207)|0); - HEAP32[$0>>2] = $208; - $209 = HEAP32[$202>>2]|0; - $210 = Math_imul($205, $209)|0; - $211 = ($210|0)>(0); - if ($211) { - $212 = HEAP32[$0>>2]|0; - $213 = HEAP32[$202>>2]|0; - $214 = HEAP32[$204>>2]|0; - $215 = Math_imul($214, $213)|0; - $$0166199 = 0; - while(1) { - $216 = (($7) + ($$0166199<<2)|0); - $217 = HEAP8[$216>>0]|0; - $218 = (+($217&255)); - $219 = $218 * 15.0; - $220 = $219 / 255.0; - $roundf = (+_roundf((+$220))); - $221 = (~~(($roundf))&255); - $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); - $223 = HEAP8[$222>>0]|0; - $224 = (+($223&255)); - $225 = $224 * 15.0; - $226 = $225 / 255.0; - $roundf173 = (+_roundf((+$226))); - $227 = (~~(($roundf173))&255); - $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); - $229 = HEAP8[$228>>0]|0; - $230 = (+($229&255)); - $231 = $230 * 15.0; - $232 = $231 / 255.0; - $roundf174 = (+_roundf((+$232))); - $233 = (~~(($roundf174))&255); - $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); - $235 = HEAP8[$234>>0]|0; - $236 = (+($235&255)); - $237 = $236 * 15.0; - $238 = $237 / 255.0; - $roundf175 = (+_roundf((+$238))); - $239 = (~~(($roundf175))&255); - $240 = $221&255; - $241 = $240 << 12; - $242 = $227&255; - $243 = $242 << 8; - $244 = $243 | $241; - $245 = $233&255; - $246 = $245 << 4; - $247 = $244 | $246; - $248 = $239&255; - $249 = $247 | $248; - $250 = $249&65535; - $251 = (($212) + ($$0166199<<1)|0); - HEAP16[$251>>1] = $250; - $252 = (($$0166199) + 1)|0; - $253 = ($252|0)<($215|0); - if ($253) { - $$0166199 = $252; - } else { - break; - } - } - } - break; - } - case 7: { - $254 = ((($0)) + 4|0); - $255 = HEAP32[$254>>2]|0; - $256 = ((($0)) + 8|0); - $257 = HEAP32[$256>>2]|0; - $258 = $255 << 2; - $259 = Math_imul($258, $257)|0; - $260 = (_malloc($259)|0); - HEAP32[$0>>2] = $260; - $261 = HEAP32[$254>>2]|0; - $262 = $261 << 2; - $263 = Math_imul($262, $257)|0; - $264 = ($263|0)>(0); - if ($264) { - $$0202 = 0;$$2201 = 0; - while(1) { - $265 = (($7) + ($$2201<<2)|0); - $266 = HEAP8[$265>>0]|0; - $267 = HEAP32[$0>>2]|0; - $268 = (($267) + ($$0202)|0); - HEAP8[$268>>0] = $266; - $269 = (((($7) + ($$2201<<2)|0)) + 1|0); - $270 = HEAP8[$269>>0]|0; - $271 = HEAP32[$0>>2]|0; - $272 = $$0202 | 1; - $273 = (($271) + ($272)|0); - HEAP8[$273>>0] = $270; - $274 = (((($7) + ($$2201<<2)|0)) + 2|0); - $275 = HEAP8[$274>>0]|0; - $276 = HEAP32[$0>>2]|0; - $277 = $$0202 | 2; - $278 = (($276) + ($277)|0); - HEAP8[$278>>0] = $275; - $279 = (((($7) + ($$2201<<2)|0)) + 3|0); - $280 = HEAP8[$279>>0]|0; - $281 = HEAP32[$0>>2]|0; - $282 = $$0202 | 3; - $283 = (($281) + ($282)|0); - HEAP8[$283>>0] = $280; - $284 = (($$2201) + 1)|0; - $285 = (($$0202) + 4)|0; - $286 = HEAP32[$254>>2]|0; - $287 = HEAP32[$256>>2]|0; - $288 = $286 << 2; - $289 = Math_imul($288, $287)|0; - $290 = ($285|0)<($289|0); - if ($290) { - $$0202 = $285;$$2201 = $284; - } else { - break; - } - } - } - break; - } - default: { - } - } - _free($7); - STACKTOP = sp;return; -} -function _LoadTextureFromImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - $9 = ((($1)) + 12|0); - $10 = HEAP32[$9>>2]|0; - $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); - $12 = HEAP32[$3>>2]|0; - $13 = HEAP32[$5>>2]|0; - HEAP32[$0>>2] = $11; - $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; - $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; - $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); - HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; - $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); - HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; - return; -} -function _UnloadImage($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - _free($1); - return; -} -function _rlglLoadTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; - var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; - var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer15 = sp + 64|0; - $vararg_buffer11 = sp + 48|0; - $vararg_buffer9 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $5 = sp + 68|0; - _glBindTexture(3553,0); - HEAP32[$5>>2] = 0; - $6 = HEAP32[5050]|0; - $7 = ($6|0)==(0); - $8 = $3 & -4; - $switch = ($8|0)==(8); - $or$cond100 = $switch & $7; - if ($or$cond100) { - _TraceLog(2,5396,$vararg_buffer); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $9 = HEAP32[5051]|0; - $10 = ($9|0)==(0); - $11 = ($3|0)==(12); - $or$cond7 = $11 & $10; - if ($or$cond7) { - _TraceLog(2,5440,$vararg_buffer1); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $12 = HEAP32[5052]|0; - $13 = ($12|0)==(0); - $$off = (($3) + -13)|0; - $14 = ($$off>>>0)<(2); - $or$cond = $14 & $13; - if ($or$cond) { - _TraceLog(2,5485,$vararg_buffer3); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $15 = HEAP32[5053]|0; - $16 = ($15|0)==(0); - $$off92 = (($3) + -15)|0; - $17 = ($$off92>>>0)<(2); - $or$cond96 = $17 & $16; - if ($or$cond96) { - _TraceLog(2,5530,$vararg_buffer5); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - $18 = HEAP32[5054]|0; - $19 = ($18|0)==(0); - $$off93 = (($3) + -17)|0; - $20 = ($$off93>>>0)<(2); - $or$cond98 = $20 & $19; - if ($or$cond98) { - _TraceLog(2,5575,$vararg_buffer7); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - _glGenTextures(1,($5|0)); - $21 = HEAP32[$5>>2]|0; - _glBindTexture(3553,($21|0)); - do { - switch ($3|0) { - case 1: { - _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); - break; - } - case 2: { - _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); - break; - } - case 3: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); - break; - } - case 4: { - _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); - break; - } - case 5: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); - break; - } - case 6: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); - break; - } - case 7: { - _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); - break; - } - case 8: { - $22 = HEAP32[5050]|0; - $23 = ($22|0)==(0); - if (!($23)) { - _LoadCompressedTexture($0,$1,$2,$4,33776); - } - break; - } - case 9: { - $24 = HEAP32[5050]|0; - $25 = ($24|0)==(0); - if (!($25)) { - _LoadCompressedTexture($0,$1,$2,$4,33777); - } - break; - } - case 10: { - $26 = HEAP32[5050]|0; - $27 = ($26|0)==(0); - if (!($27)) { - _LoadCompressedTexture($0,$1,$2,$4,33778); - } - break; - } - case 11: { - $28 = HEAP32[5050]|0; - $29 = ($28|0)==(0); - if (!($29)) { - _LoadCompressedTexture($0,$1,$2,$4,33779); - } - break; - } - case 12: { - $30 = HEAP32[5051]|0; - $31 = ($30|0)==(0); - if (!($31)) { - _LoadCompressedTexture($0,$1,$2,$4,36196); - } - break; - } - case 13: { - $32 = HEAP32[5052]|0; - $33 = ($32|0)==(0); - if (!($33)) { - _LoadCompressedTexture($0,$1,$2,$4,37492); - } - break; - } - case 14: { - $34 = HEAP32[5052]|0; - $35 = ($34|0)==(0); - if (!($35)) { - _LoadCompressedTexture($0,$1,$2,$4,37496); - } - break; - } - case 15: { - $36 = HEAP32[5053]|0; - $37 = ($36|0)==(0); - if (!($37)) { - _LoadCompressedTexture($0,$1,$2,$4,35840); - } - break; - } - case 16: { - $38 = HEAP32[5053]|0; - $39 = ($38|0)==(0); - if (!($39)) { - _LoadCompressedTexture($0,$1,$2,$4,35842); - } - break; - } - case 17: { - $40 = HEAP32[5054]|0; - $41 = ($40|0)==(0); - if (!($41)) { - _LoadCompressedTexture($0,$1,$2,$4,37808); - } - break; - } - case 18: { - $42 = HEAP32[5054]|0; - $43 = ($42|0)==(0); - if (!($43)) { - _LoadCompressedTexture($0,$1,$2,$4,37815); - } - break; - } - default: { - _TraceLog(2,5620,$vararg_buffer9); - } - } - } while(0); - $44 = HEAP32[5055]|0; - $45 = ($44|0)==(0); - if ($45) { - _glTexParameteri(3553,10242,33071); - _glTexParameteri(3553,10243,33071); - } else { - _glTexParameteri(3553,10242,10497); - _glTexParameteri(3553,10243,10497); - } - _glTexParameteri(3553,10240,9728); - _glTexParameteri(3553,10241,9728); - _glBindTexture(3553,0); - $46 = HEAP32[$5>>2]|0; - $47 = ($46|0)==(0); - if ($47) { - _TraceLog(2,5698,$vararg_buffer15); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer11>>2] = $46; - $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,5649,$vararg_buffer11); - $$0 = HEAP32[$5>>2]|0; - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadCompressedTexture($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glPixelStorei(3317,1); - switch ($4|0) { - case 33776: case 33777: case 36196: case 37492: { - $$038 = 8; - break; - } - default: { - $$038 = 16; - } - } - $5 = ($3|0)<(1); - $6 = $1 | $2; - $7 = ($6|0)==(0); - $or$cond42 = $5 | $7; - if ($or$cond42) { - return; - } else { - $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; - } - while(1) { - $8 = (($$046) + 3)|0; - $9 = (($8|0) / 4)&-1; - $10 = (($$03943) + 3)|0; - $11 = (($10|0) / 4)&-1; - $12 = Math_imul($11, $$038)|0; - $13 = Math_imul($12, $9)|0; - $14 = (($0) + ($$03744)|0); - _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); - $15 = (($13) + ($$03744))|0; - $16 = (($$046|0) / 2)&-1; - $17 = (($$03943|0) / 2)&-1; - $18 = ($$046|0)<(2); - $$ = $18 ? 1 : $16; - $19 = ($$03943|0)<(2); - $$140 = $19 ? 1 : $17; - $20 = (($$03645) + 1)|0; - $21 = ($20|0)>=($3|0); - $22 = $$ | $$140; - $23 = ($22|0)==(0); - $or$cond = $21 | $23; - if ($or$cond) { - break; - } else { - $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; - } - } - return; -} -function _GetImageData($0) { - $0 = $0|0; - var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; - var $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, $131 = 0; - var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; - var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; - var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = $2 << 2; - $6 = Math_imul($5, $4)|0; - $7 = (_malloc($6)|0); - $8 = HEAP32[$1>>2]|0; - $9 = Math_imul($4, $8)|0; - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return ($7|0); - } - $11 = ((($0)) + 16|0); - $12 = HEAP32[$11>>2]|0; - $13 = HEAP32[$0>>2]|0; - $$0104105 = 0;$$0106 = 0; - while(1) { - switch ($12|0) { - case 1: { - $14 = (($13) + ($$0106)|0); - $15 = HEAP8[$14>>0]|0; - $16 = (($7) + ($$0104105<<2)|0); - HEAP8[$16>>0] = $15; - $17 = HEAP8[$14>>0]|0; - $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$18>>0] = $17; - $19 = HEAP8[$14>>0]|0; - $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$20>>0] = $19; - $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$21>>0] = -1; - $22 = (($$0106) + 1)|0; - $$1 = $22; - break; - } - case 2: { - $23 = (($13) + ($$0106)|0); - $24 = HEAP8[$23>>0]|0; - $25 = (($7) + ($$0104105<<2)|0); - HEAP8[$25>>0] = $24; - $26 = HEAP8[$23>>0]|0; - $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$27>>0] = $26; - $28 = HEAP8[$23>>0]|0; - $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$29>>0] = $28; - $30 = (($$0106) + 1)|0; - $31 = (($13) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$33>>0] = $32; - $34 = (($$0106) + 2)|0; - $$1 = $34; - break; - } - case 5: { - $35 = (($13) + ($$0106<<1)|0); - $36 = HEAP16[$35>>1]|0; - $37 = $36&65535; - $38 = $37 >>> 11; - $39 = (+($38|0)); - $40 = $39 * 8.0; - $41 = (~~(($40))&255); - $42 = (($7) + ($$0104105<<2)|0); - HEAP8[$42>>0] = $41; - $43 = $37 >>> 6; - $44 = $43 & 31; - $45 = (+($44|0)); - $46 = $45 * 8.0; - $47 = (~~(($46))&255); - $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$48>>0] = $47; - $49 = $37 >>> 1; - $50 = $49 & 31; - $51 = (+($50|0)); - $52 = $51 * 8.0; - $53 = (~~(($52))&255); - $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$54>>0] = $53; - $55 = $37 & 1; - $56 = (0 - ($55))|0; - $57 = $56&255; - $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$58>>0] = $57; - $59 = (($$0106) + 1)|0; - $$1 = $59; - break; - } - case 3: { - $60 = (($13) + ($$0106<<1)|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = $62 >>> 11; - $64 = (+($63|0)); - $65 = $64 * 8.0; - $66 = (~~(($65))&255); - $67 = (($7) + ($$0104105<<2)|0); - HEAP8[$67>>0] = $66; - $68 = $62 >>> 5; - $69 = $68 & 63; - $70 = (+($69|0)); - $71 = $70 * 4.0; - $72 = (~~(($71))&255); - $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$73>>0] = $72; - $74 = $62 & 31; - $75 = (+($74|0)); - $76 = $75 * 8.0; - $77 = (~~(($76))&255); - $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$78>>0] = $77; - $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$79>>0] = -1; - $80 = (($$0106) + 1)|0; - $$1 = $80; - break; - } - case 6: { - $81 = (($13) + ($$0106<<1)|0); - $82 = HEAP16[$81>>1]|0; - $83 = $82&65535; - $84 = $83 >>> 12; - $85 = (+($84|0)); - $86 = $85 * 17.0; - $87 = (~~(($86))&255); - $88 = (($7) + ($$0104105<<2)|0); - HEAP8[$88>>0] = $87; - $89 = $83 >>> 8; - $90 = $89 & 15; - $91 = (+($90|0)); - $92 = $91 * 17.0; - $93 = (~~(($92))&255); - $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$94>>0] = $93; - $95 = $83 >>> 4; - $96 = $95 & 15; - $97 = (+($96|0)); - $98 = $97 * 17.0; - $99 = (~~(($98))&255); - $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$100>>0] = $99; - $101 = $83 & 15; - $102 = (+($101|0)); - $103 = $102 * 17.0; - $104 = (~~(($103))&255); - $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$105>>0] = $104; - $106 = (($$0106) + 1)|0; - $$1 = $106; - break; - } - case 7: { - $107 = (($13) + ($$0106)|0); - $108 = HEAP8[$107>>0]|0; - $109 = (($7) + ($$0104105<<2)|0); - HEAP8[$109>>0] = $108; - $110 = (($$0106) + 1)|0; - $111 = (($13) + ($110)|0); - $112 = HEAP8[$111>>0]|0; - $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$113>>0] = $112; - $114 = (($$0106) + 2)|0; - $115 = (($13) + ($114)|0); - $116 = HEAP8[$115>>0]|0; - $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$117>>0] = $116; - $118 = (($$0106) + 3)|0; - $119 = (($13) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$121>>0] = $120; - $122 = (($$0106) + 4)|0; - $$1 = $122; - break; - } - case 4: { - $123 = (($13) + ($$0106)|0); - $124 = HEAP8[$123>>0]|0; - $125 = (($7) + ($$0104105<<2)|0); - HEAP8[$125>>0] = $124; - $126 = (($$0106) + 1)|0; - $127 = (($13) + ($126)|0); - $128 = HEAP8[$127>>0]|0; - $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); - HEAP8[$129>>0] = $128; - $130 = (($$0106) + 2)|0; - $131 = (($13) + ($130)|0); - $132 = HEAP8[$131>>0]|0; - $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); - HEAP8[$133>>0] = $132; - $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); - HEAP8[$134>>0] = -1; - $135 = (($$0106) + 3)|0; - $$1 = $135; - break; - } - default: { - _TraceLog(2,5781,$vararg_buffer); - $$1 = $$0106; - } - } - $136 = (($$0104105) + 1)|0; - $137 = HEAP32[$1>>2]|0; - $138 = HEAP32[$3>>2]|0; - $139 = Math_imul($138, $137)|0; - $140 = ($136|0)<($139|0); - if ($140) { - $$0104105 = $136;$$0106 = $$1; - } else { - break; - } - } - STACKTOP = sp;return ($7|0); -} -function _ErrorCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,9647,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlGetVersion() { - var label = 0, sp = 0; - sp = STACKTOP; - return 4; -} -function _SetupFramebufferSize($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; - var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; - var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; - var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 40|0; - $3 = HEAP32[5034]|0; - $4 = ($3|0)>($0|0); - if (!($4)) { - $5 = HEAP32[5033]|0; - $6 = ($5|0)>($1|0); - if (!($6)) { - $30 = ($3|0)<($0|0); - $31 = ($5|0)<($1|0); - $or$cond = $30 | $31; - if (!($or$cond)) { - HEAP32[5075] = $3; - HEAP32[5076] = $5; - HEAP32[5077] = 0; - HEAP32[5078] = 0; - STACKTOP = sp;return; - } - HEAP32[$vararg_buffer8>>2] = $3; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $5; - $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); - HEAP32[$vararg_ptr12>>2] = $0; - $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); - HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,9581,$vararg_buffer8); - $32 = (+($0|0)); - $33 = (+($1|0)); - $34 = $32 / $33; - $35 = HEAP32[5034]|0; - $36 = (+($35|0)); - $37 = HEAP32[5033]|0; - $38 = (+($37|0)); - $39 = $36 / $38; - $40 = !($34 <= $39); - if ($40) { - $44 = $34 * $38; - $roundf = (+_roundf((+$44))); - $45 = (~~(($roundf))); - HEAP32[5075] = $45; - HEAP32[5076] = $37; - $46 = (($45) - ($35))|0; - HEAP32[5077] = $46; - $$sink1 = 0; - } else { - HEAP32[5075] = $35; - $41 = $36 / $34; - $roundf38 = (+_roundf((+$41))); - $42 = (~~(($roundf38))); - HEAP32[5076] = $42; - HEAP32[5077] = 0; - $43 = (($42) - ($37))|0; - $$sink1 = $43; - } - HEAP32[5078] = $$sink1; - STACKTOP = sp;return; - } - } - $7 = HEAP32[5033]|0; - HEAP32[$vararg_buffer>>2] = $3; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $7; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer)) + 12|0); - HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,9438,$vararg_buffer); - $8 = (+($0|0)); - $9 = HEAP32[5034]|0; - $10 = (+($9|0)); - $11 = $8 / $10; - $12 = (+($1|0)); - $13 = HEAP32[5033]|0; - $14 = (+($13|0)); - $15 = $12 / $14; - $16 = !($11 <= $15); - if ($16) { - $22 = $10 * $15; - $roundf39 = (+_roundf((+$22))); - $23 = (~~(($roundf39))); - HEAP32[5075] = $23; - HEAP32[5076] = $1; - $24 = (($0) - ($23))|0; - HEAP32[5077] = $24; - $$sink = 0; - } else { - HEAP32[5075] = $0; - $17 = HEAP32[5033]|0; - $18 = (+($17|0)); - $19 = $11 * $18; - $roundf40 = (+_roundf((+$19))); - $20 = (~~(($roundf40))); - HEAP32[5076] = $20; - HEAP32[5077] = 0; - $21 = (($1) - ($20))|0; - $$sink = $21; - } - HEAP32[5078] = $$sink; - $25 = HEAP32[5075]|0; - $26 = (+($25|0)); - $27 = HEAP32[5034]|0; - $28 = (+($27|0)); - $29 = $26 / $28; - _MatrixScale($2,$29,$29,$29); - dest=20224; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5075] = $0; - HEAP32[5076] = $1; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,9516,$vararg_buffer4); - STACKTOP = sp;return; -} -function _WindowSizeCallback($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlViewport(0,0,$1,$2); - _rlMatrixMode(5889); - _rlLoadIdentity(); - $3 = (+($1|0)); - $4 = (+($2|0)); - _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); - _rlMatrixMode(5888); - _rlLoadIdentity(); - _rlClearScreenBuffers(); - HEAP32[5034] = $1; - HEAP32[5033] = $2; - HEAP32[5075] = $1; - HEAP32[5076] = $2; - return; -} -function _CursorEnterCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _KeyCallback($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = HEAP32[750]|0; - $6 = ($5|0)==($1|0); - $7 = ($3|0)==(1); - $or$cond = $7 & $6; - if ($or$cond) { - _glfwSetWindowShouldClose(($0|0),1); - return; - } - $8 = $3&255; - $9 = (22967 + ($1)|0); - HEAP8[$9>>0] = $8; - if (!($7)) { - return; - } - HEAP32[749] = $1; - return; -} -function _MouseButtonCallback($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; - var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy = sp + 64|0; - $4 = sp + 8|0; - $5 = sp; - $6 = $2&255; - $7 = (22961 + ($1)|0); - HEAP8[$7>>0] = $6; - $8 = (_IsMouseButtonPressed(0)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = (_IsMouseButtonReleased(0)|0); - $11 = ($10|0)==(0); - if (!($11)) { - $$sink = 0; - label = 3; - } - } else { - $$sink = 1; - label = 3; - } - if ((label|0) == 3) { - HEAP32[$4>>2] = $$sink; - } - $12 = ((($4)) + 8|0); - HEAP32[$12>>2] = 0; - $13 = ((($4)) + 4|0); - HEAP32[$13>>2] = 1; - $14 = ((($4)) + 24|0); - _GetMousePosition($5); - $15 = $5; - $16 = $15; - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + 4)|0; - $19 = $18; - $20 = HEAP32[$19>>2]|0; - $21 = $14; - $22 = $21; - HEAP32[$22>>2] = $17; - $23 = (($21) + 4)|0; - $24 = $23; - HEAP32[$24>>2] = $20; - $25 = (_GetScreenWidth()|0); - $26 = (+($25|0)); - $27 = +HEAPF32[$14>>2]; - $28 = $27 / $26; - HEAPF32[$14>>2] = $28; - $29 = (_GetScreenHeight()|0); - $30 = (+($29|0)); - $31 = ((($4)) + 28|0); - $32 = +HEAPF32[$31>>2]; - $33 = $32 / $30; - HEAPF32[$31>>2] = $33; - dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _MouseCursorPosCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy = sp + 56|0; - $3 = sp; - HEAP32[$3>>2] = 2; - $4 = ((($3)) + 8|0); - HEAP32[$4>>2] = 0; - $5 = ((($3)) + 4|0); - HEAP32[$5>>2] = 1; - $6 = $1; - $7 = $2; - $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); - HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; - $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; - $8 = ((($3)) + 24|0); - $9 = $8; - $10 = $9; - $11 = HEAP32[$10>>2]|0; - $12 = (($9) + 4)|0; - $13 = $12; - $14 = HEAP32[$13>>2]|0; - $15 = 19576; - $16 = $15; - HEAP32[$16>>2] = $11; - $17 = (($15) + 4)|0; - $18 = $17; - HEAP32[$18>>2] = $14; - $19 = (_GetScreenWidth()|0); - $20 = (+($19|0)); - $21 = +HEAPF32[$8>>2]; - $22 = $21 / $20; - HEAPF32[$8>>2] = $22; - $23 = (_GetScreenHeight()|0); - $24 = (+($23|0)); - $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; - $26 = $25 / $24; - HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; - dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _ProcessGestureEvent($$byval_copy); - STACKTOP = sp;return; -} -function _CharCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[749] = $1; - return; -} -function _ScrollCallback($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (~~(($2))); - HEAP32[5448] = $3; - return; -} -function _WindowIconifyCallback($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)!=(0); - $$sink = $2&1; - HEAP32[5447] = $$sink; - return; -} -function _rlglInit($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; - 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; - var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); - $vararg_buffer41 = sp + 2184|0; - $vararg_buffer39 = sp + 2176|0; - $vararg_buffer36 = sp + 2168|0; - $vararg_buffer34 = sp + 2160|0; - $vararg_buffer31 = sp + 2152|0; - $vararg_buffer29 = sp + 2144|0; - $vararg_buffer27 = sp + 2136|0; - $vararg_buffer25 = sp + 2128|0; - $vararg_buffer23 = sp + 2120|0; - $vararg_buffer21 = sp + 2112|0; - $vararg_buffer19 = sp + 2104|0; - $vararg_buffer17 = sp + 2096|0; - $vararg_buffer15 = sp + 2088|0; - $vararg_buffer13 = sp + 2080|0; - $vararg_buffer10 = sp + 2072|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 2400|0; - $3 = sp + 2384|0; - $4 = sp + 2320|0; - $5 = sp + 2256|0; - $6 = sp + 2192|0; - $7 = (_glGetString(7936)|0); - HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,6079,$vararg_buffer); - $8 = (_glGetString(7937)|0); - HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,6097,$vararg_buffer1); - $9 = (_glGetString(7938)|0); - HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,6115,$vararg_buffer4); - $10 = (_glGetString(35724)|0); - HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,6133,$vararg_buffer7); - $11 = (_glGetString(7939)|0); - $12 = (_strlen($11)|0); - $13 = (($12) + 1)|0; - $14 = (_malloc($13)|0); - _memcpy(($14|0),($11|0),($13|0))|0; - $$062 = 0;$$sink63 = $14; - while(1) { - $15 = (_strtok($$sink63,6151)|0); - $16 = (($vararg_buffer7) + ($$062<<2)|0); - HEAP32[$16>>2] = $15; - $17 = ($15|0)==(0|0); - $18 = (($$062) + 1)|0; - if ($17) { - break; - } else { - $$062 = $18;$$sink63 = 0; - } - } - _free($14); - $19 = (($$062) + -1)|0; - HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,6153,$vararg_buffer10); - $20 = ($$062|0)>(1); - if ($20) { - $$06167 = 0; - while(1) { - $23 = (($vararg_buffer7) + ($$06167<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,6188)|0); - $26 = ($25|0)==(0); - if ($26) { - HEAP32[5113] = 1; - $27 = (_eglGetProcAddress((6215|0))|0); - HEAP32[5114] = $27; - $28 = (_eglGetProcAddress((6236|0))|0); - HEAP32[5115] = $28; - $29 = (_eglGetProcAddress((6257|0))|0); - HEAP32[5116] = $29; - } - $30 = (_strcmp($24,6281)|0); - $31 = ($30|0)==(0); - if ($31) { - HEAP32[5055] = 1; - } - $32 = (_strcmp($24,6301)|0); - $33 = ($32|0)==(0); - if ($33) { - label = 12; - } else { - $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,6333)|0); - $36 = ($35|0)==(0); - if ($36) { - label = 12; - } else { - $37 = (_strcmp($34,6366)|0); - $38 = ($37|0)==(0); - if ($38) { - label = 12; - } - } - } - if ((label|0) == 12) { - label = 0; - HEAP32[5050] = 1; - } - $39 = (_strcmp($24,6406)|0); - $40 = ($39|0)==(0); - if ($40) { - label = 15; - } else { - $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,6442)|0); - $43 = ($42|0)==(0); - if ($43) { - label = 15; - } - } - if ((label|0) == 15) { - label = 0; - HEAP32[5051] = 1; - } - $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,6475)|0); - $46 = ($45|0)==(0); - if ($46) { - HEAP32[5052] = 1; - } - $47 = (_strcmp($44,6500)|0); - $48 = ($47|0)==(0); - if ($48) { - HEAP32[5053] = 1; - } - $49 = (_strcmp($44,6533)|0); - $50 = ($49|0)==(0); - if ($50) { - HEAP32[5054] = 1; - } - $51 = (_strcmp($44,6569)|0); - $52 = ($51|0)==(0); - if ($52) { - HEAP32[5117] = 1; - _glGetFloatv(34047,(20472|0)); - } - $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,6603)|0); - $55 = ($54|0)==(0); - if ($55) { - HEAP32[5119] = 1; - } - $56 = (($$06167) + 1)|0; - $exitcond70 = ($56|0)==($19|0); - if ($exitcond70) { - break; - } else { - $$06167 = $56; - } - } - } - $21 = HEAP32[5113]|0; - $22 = ($21|0)==(0); - if ($22) { - _TraceLog(2,6706,$vararg_buffer15); - } else { - _TraceLog(0,6631,$vararg_buffer13); - } - $57 = HEAP32[5055]|0; - $58 = ($57|0)==(0); - if ($58) { - _TraceLog(2,6842,$vararg_buffer19); - } else { - _TraceLog(0,6767,$vararg_buffer17); - } - $59 = HEAP32[5050]|0; - $60 = ($59|0)==(0); - if (!($60)) { - _TraceLog(0,6934,$vararg_buffer21); - } - $61 = HEAP32[5051]|0; - $62 = ($61|0)==(0); - if (!($62)) { - _TraceLog(0,6980,$vararg_buffer23); - } - $63 = HEAP32[5052]|0; - $64 = ($63|0)==(0); - if (!($64)) { - _TraceLog(0,7027,$vararg_buffer25); - } - $65 = HEAP32[5053]|0; - $66 = ($65|0)==(0); - if (!($66)) { - _TraceLog(0,7078,$vararg_buffer27); - } - $67 = HEAP32[5054]|0; - $68 = ($67|0)==(0); - if (!($68)) { - _TraceLog(0,7125,$vararg_buffer29); - } - $69 = HEAP32[5117]|0; - $70 = ($69|0)==(0); - if (!($70)) { - $71 = +HEAPF32[5118]; - $72 = $71; - HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,7172,$vararg_buffer31); - } - $73 = HEAP32[5119]|0; - $74 = ($73|0)==(0); - if (!($74)) { - _TraceLog(0,7238,$vararg_buffer34); - } - HEAP32[$vararg_buffer10>>2] = -1; - $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[5120] = $75; - $76 = ($75|0)==(0); - if ($76) { - _TraceLog(2,7342,$vararg_buffer39); - } else { - HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,7291,$vararg_buffer36); - } - _LoadDefaultShader($2); - dest=20484; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=20540; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _LoadDefaultBuffers(); - $77 = (_malloc(49152)|0); - HEAP32[5149] = $77; - $$06066 = 0; - while(1) { - $79 = HEAP32[5149]|0; - $80 = (($79) + (($$06066*12)|0)|0); - _VectorZero($3); - ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; - $81 = (($$06066) + 1)|0; - $exitcond69 = ($81|0)==(4096); - if ($exitcond69) { - break; - } else { - $$06066 = $81; - } - } - $78 = (_malloc(36864)|0); - HEAP32[5150] = $78; - $$05965 = 0; - while(1) { - $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); - HEAP32[$82>>2] = 0; - $83 = (($78) + (($$05965*144)|0)|0); - HEAP32[$83>>2] = 0; - $84 = (($$05965) + 1)|0; - $exitcond = ($84|0)==(256); - if ($exitcond) { - break; - } else { - $$05965 = $84; - } - } - HEAP32[5151] = 1; - $85 = HEAP32[5120]|0; - $86 = ((($78)) + 8|0); - HEAP32[$86>>2] = $85; - HEAP32[5152] = 4; - _MatrixIdentity($4); - dest=20612; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20676); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20740); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20804); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20868); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20932); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(20996); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21060); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21124); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21188); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21252); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21316); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21380); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21444); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21508); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($4); - dest=(21572); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($5); - dest=20320; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixIdentity($6); - dest=20384; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5079] = 20384; - _glDepthFunc(515); - _glDisable(2929); - _glBlendFunc(770,771); - _glEnable(3042); - _glCullFace(1029); - _glFrontFace(2305); - _glEnable(2884); - _glClearColor(0.0,0.0,0.0,1.0); - _glClearDepthf(1.0); - _glClear(16640); - HEAP32[5409] = $0; - HEAP32[5410] = $1; - _TraceLog(0,7381,$vararg_buffer41); - STACKTOP = sp;return; -} -function _SetupViewport() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5077]|0; - $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5078]|0; - $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5075]|0; - $5 = (($4) - ($0))|0; - $6 = HEAP32[5076]|0; - $7 = (($6) - ($2))|0; - _rlViewport($1,$3,$5,$7); - return; -} -function _rlMatrixMode($0) { - $0 = $0|0; - var $modelview$sink = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($0|0) { - case 5889: { - $modelview$sink = 20320; - label = 3; - break; - } - case 5888: { - $modelview$sink = 20384; - label = 3; - break; - } - default: { - } - } - if ((label|0) == 3) { - HEAP32[5079] = $modelview$sink; - } - HEAP32[5112] = $0; - return; -} -function _rlLoadIdentity() { - var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $0 = sp; - $1 = HEAP32[5079]|0; - _MatrixIdentity($0); - dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlOrtho($0,$1,$2,$3,$4,$5) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $6 = sp + 64|0; - $7 = sp; - _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); - _MatrixTranspose($6); - $8 = HEAP32[5079]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy,$$byval_copy1); - dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _ClearBackground($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = ((($0)) + 1|0); - $3 = HEAP8[$2>>0]|0; - $4 = ((($0)) + 2|0); - $5 = HEAP8[$4>>0]|0; - $6 = ((($0)) + 3|0); - $7 = HEAP8[$6>>0]|0; - _rlClearColor($1,$3,$5,$7); - return; -} -function _rlClearColor($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (+($0&255)); - $5 = $4 / 255.0; - $6 = (+($1&255)); - $7 = $6 / 255.0; - $8 = (+($2&255)); - $9 = $8 / 255.0; - $10 = (+($3&255)); - $11 = $10 / 255.0; - _glClearColor((+$5),(+$7),(+$9),(+$11)); - return; -} -function _rlViewport($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var label = 0, sp = 0; - sp = STACKTOP; - _glViewport(($0|0),($1|0),($2|0),($3|0)); - return; -} -function _LoadDefaultShader($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $1 = sp + 16|0; - $2 = sp + 513|0; - $3 = sp + 72|0; - _memcpy(($2|0),(7957|0),489)|0; - _memcpy(($3|0),(8446|0),441)|0; - $4 = (_LoadShaderProgram($2,$3)|0); - HEAP32[$1>>2] = $4; - $5 = ($4|0)==(0); - if ($5) { - HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,8935,$vararg_buffer1); - } else { - HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,8887,$vararg_buffer); - } - $6 = HEAP32[$1>>2]|0; - $7 = ($6|0)==(0); - if (!($7)) { - _LoadDefaultShaderLocations($1); - } - dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _LoadDefaultBuffers() { - var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; - var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer17 = sp + 48|0; - $vararg_buffer14 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $0 = (_malloc(24576)|0); - HEAP32[(21656)>>2] = $0; - $1 = (_malloc(8192)|0); - HEAP32[(21664)>>2] = $1; - HEAP32[(21660)>>2] = 0; - HEAP32[(21668)>>2] = 0; - _memset(($0|0),0,24576)|0; - $$05972 = 0; - while(1) { - $2 = HEAP32[(21664)>>2]|0; - $3 = (($2) + ($$05972)|0); - HEAP8[$3>>0] = 0; - $4 = (($$05972) + 1)|0; - $exitcond80 = ($4|0)==(8192); - if ($exitcond80) { - break; - } else { - $$05972 = $4; - } - } - HEAP32[5411] = 0; - HEAP32[(21652)>>2] = 0; - HEAP32[(21648)>>2] = 0; - $5 = (_malloc(73728)|0); - HEAP32[(21704)>>2] = $5; - $6 = (_malloc(24576)|0); - HEAP32[(21712)>>2] = $6; - HEAP32[(21708)>>2] = 0; - HEAP32[(21716)>>2] = 0; - _memset(($5|0),0,73728)|0; - $$05770 = 0; - while(1) { - $7 = HEAP32[(21712)>>2]|0; - $8 = (($7) + ($$05770)|0); - HEAP8[$8>>0] = 0; - $9 = (($$05770) + 1)|0; - $exitcond78 = ($9|0)==(24576); - if ($exitcond78) { - break; - } else { - $$05770 = $9; - } - } - HEAP32[5423] = 0; - HEAP32[(21700)>>2] = 0; - HEAP32[(21696)>>2] = 0; - $10 = (_malloc(49152)|0); - HEAP32[(21752)>>2] = $10; - $11 = (_malloc(32768)|0); - HEAP32[(21756)>>2] = $11; - $12 = (_malloc(16384)|0); - HEAP32[(21760)>>2] = $12; - $13 = (_malloc(12288)|0); - HEAP32[(21764)>>2] = $13; - $14 = HEAP32[(21752)>>2]|0; - _memset(($14|0),0,49152)|0; - $15 = HEAP32[(21756)>>2]|0; - _memset(($15|0),0,32768)|0; - $$05467 = 0; - while(1) { - $17 = HEAP32[(21760)>>2]|0; - $18 = (($17) + ($$05467)|0); - HEAP8[$18>>0] = 0; - $19 = (($$05467) + 1)|0; - $exitcond75 = ($19|0)==(16384); - if ($exitcond75) { - break; - } else { - $$05467 = $19; - } - } - $16 = HEAP32[(21764)>>2]|0; - $$05365 = 0;$$066 = 0; - while(1) { - $22 = $$05365 << 2; - $23 = $22&65535; - $24 = (($16) + ($$066<<1)|0); - HEAP16[$24>>1] = $23; - $25 = $22 | 1; - $26 = $25&65535; - $27 = $$066 | 1; - $28 = (($16) + ($27<<1)|0); - HEAP16[$28>>1] = $26; - $29 = $22 | 2; - $30 = $29&65535; - $31 = (($$066) + 2)|0; - $32 = (($16) + ($31<<1)|0); - HEAP16[$32>>1] = $30; - $33 = (($$066) + 3)|0; - $34 = (($16) + ($33<<1)|0); - HEAP16[$34>>1] = $23; - $35 = (($$066) + 4)|0; - $36 = (($16) + ($35<<1)|0); - HEAP16[$36>>1] = $30; - $37 = $22 | 3; - $38 = $37&65535; - $39 = (($$066) + 5)|0; - $40 = (($16) + ($39<<1)|0); - HEAP16[$40>>1] = $38; - $41 = (($$05365) + 1)|0; - $42 = (($$066) + 6)|0; - $exitcond = ($41|0)==(1024); - if ($exitcond) { - break; - } else { - $$05365 = $41;$$066 = $42; - } - } - HEAP32[5435] = 0; - HEAP32[(21744)>>2] = 0; - HEAP32[(21748)>>2] = 0; - _TraceLog(0,7428,$vararg_buffer); - $20 = HEAP32[5113]|0; - $21 = ($20|0)==(0); - if (!($21)) { - $43 = HEAP32[5114]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(21672)); - $44 = HEAP32[5115]|0; - $45 = HEAP32[(21672)>>2]|0; - FUNCTION_TABLE_vi[$44 & 31]($45); - } - _glGenBuffers(2,((21676)|0)); - $46 = HEAP32[(21676)>>2]|0; - _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(21656)>>2]|0; - _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(20544)>>2]|0; - _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(20544)>>2]|0; - _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((21680)|0)); - $50 = HEAP32[(21680)>>2]|0; - _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(21664)>>2]|0; - _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(20564)>>2]|0; - _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(20564)>>2]|0; - _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[5113]|0; - $55 = ($54|0)==(0); - if ($55) { - $57 = HEAP32[(21676)>>2]|0; - $58 = HEAP32[(21680)>>2]|0; - HEAP32[$vararg_buffer3>>2] = $57; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,7566,$vararg_buffer3); - } else { - $56 = HEAP32[(21672)>>2]|0; - HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,7501,$vararg_buffer1); - } - $59 = HEAP32[5113]|0; - $60 = ($59|0)==(0); - if (!($60)) { - $61 = HEAP32[5114]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(21720)); - $62 = HEAP32[5115]|0; - $63 = HEAP32[(21720)>>2]|0; - FUNCTION_TABLE_vi[$62 & 31]($63); - } - _glGenBuffers(1,((21724)|0)); - $64 = HEAP32[(21724)>>2]|0; - _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(21704)>>2]|0; - _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(20544)>>2]|0; - _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(20544)>>2]|0; - _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21728)|0)); - $68 = HEAP32[(21728)>>2]|0; - _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(21712)>>2]|0; - _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(20564)>>2]|0; - _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(20564)>>2]|0; - _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[5113]|0; - $73 = ($72|0)==(0); - if ($73) { - $75 = HEAP32[(21724)>>2]|0; - $76 = HEAP32[(21728)>>2]|0; - HEAP32[$vararg_buffer10>>2] = $75; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,7712,$vararg_buffer10); - } else { - $74 = HEAP32[(21720)>>2]|0; - HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,7643,$vararg_buffer7); - } - $77 = HEAP32[5113]|0; - $78 = ($77|0)==(0); - if (!($78)) { - $79 = HEAP32[5114]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(21768)); - $80 = HEAP32[5115]|0; - $81 = HEAP32[(21768)>>2]|0; - FUNCTION_TABLE_vi[$80 & 31]($81); - } - _glGenBuffers(1,((21772)|0)); - $82 = HEAP32[(21772)>>2]|0; - _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(21752)>>2]|0; - _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(20544)>>2]|0; - _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(20544)>>2]|0; - _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((21776)|0)); - $86 = HEAP32[(21776)>>2]|0; - _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(21756)>>2]|0; - _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(20548)>>2]|0; - _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(20548)>>2]|0; - _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((21780)|0)); - $90 = HEAP32[(21780)>>2]|0; - _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(21760)>>2]|0; - _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(20564)>>2]|0; - _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(20564)>>2]|0; - _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((21784)|0)); - $94 = HEAP32[(21784)>>2]|0; - _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(21764)>>2]|0; - _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[5113]|0; - $97 = ($96|0)==(0); - if ($97) { - $99 = HEAP32[(21772)>>2]|0; - $100 = HEAP32[(21776)>>2]|0; - $101 = HEAP32[(21780)>>2]|0; - $102 = HEAP32[(21784)>>2]|0; - HEAP32[$vararg_buffer17>>2] = $99; - $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); - HEAP32[$vararg_ptr20>>2] = $100; - $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); - HEAP32[$vararg_ptr21>>2] = $101; - $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); - HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,7858,$vararg_buffer17); - } else { - $98 = HEAP32[(21768)>>2]|0; - HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,7793,$vararg_buffer14); - } - $103 = HEAP32[5113]|0; - $104 = ($103|0)==(0); - if ($104) { - STACKTOP = sp;return; - } - $105 = HEAP32[5115]|0; - FUNCTION_TABLE_vi[$105 & 31](0); - STACKTOP = sp;return; -} -function _LoadShaderProgram($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; - var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $vararg_buffer22 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer13 = sp + 40|0; - $vararg_buffer10 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 80|0; - $3 = sp + 76|0; - $4 = sp + 72|0; - $5 = sp + 68|0; - $6 = (_glCreateShader(35633)|0); - $7 = (_glCreateShader(35632)|0); - HEAP32[$2>>2] = $0; - HEAP32[$3>>2] = $1; - _glShaderSource(($6|0),1,($2|0),(0|0)); - _glShaderSource(($7|0),1,($3|0),(0|0)); - HEAP32[$4>>2] = 0; - _glCompileShader(($6|0)); - _glGetShaderiv(($6|0),35713,($4|0)); - $8 = HEAP32[$4>>2]|0; - $9 = ($8|0)==(1); - if ($9) { - HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,9191,$vararg_buffer4); - } else { - HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,9139,$vararg_buffer); - HEAP32[$vararg_buffer>>2] = 0; - _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); - $10 = HEAP32[$vararg_buffer>>2]|0; - $11 = (_llvm_stacksave()|0); - $$alloca_mul = $10; - $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; - $13 = HEAP32[$vararg_buffer>>2]|0; - _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); - HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,9188,$vararg_buffer1); - _llvm_stackrestore(($11|0)); - } - _glCompileShader(($7|0)); - _glGetShaderiv(($7|0),35713,($4|0)); - $14 = HEAP32[$4>>2]|0; - $15 = ($14|0)==(1); - if ($15) { - HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,9292,$vararg_buffer13); - } else { - HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,9241,$vararg_buffer7); - HEAP32[$vararg_buffer7>>2] = 0; - _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); - $16 = HEAP32[$vararg_buffer7>>2]|0; - $17 = (_llvm_stacksave()|0); - $$alloca_mul34 = $16; - $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; - $19 = HEAP32[$vararg_buffer7>>2]|0; - _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); - HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,9188,$vararg_buffer10); - _llvm_stackrestore(($17|0)); - } - $20 = (_glCreateProgram()|0); - _glAttachShader(($20|0),($6|0)); - _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(8983|0)); - _glBindAttribLocation(($20|0),1,(8998|0)); - _glBindAttribLocation(($20|0),2,(9029|0)); - _glBindAttribLocation(($20|0),3,(9056|0)); - _glBindAttribLocation(($20|0),4,(9042|0)); - _glBindAttribLocation(($20|0),5,(9013|0)); - _glLinkProgram(($20|0)); - _glGetProgramiv(($20|0),35714,($4|0)); - $21 = HEAP32[$4>>2]|0; - $22 = ($21|0)==(0); - if ($22) { - HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,9344,$vararg_buffer16); - HEAP32[$vararg_buffer16>>2] = 0; - _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); - $23 = HEAP32[$vararg_buffer16>>2]|0; - $24 = (_llvm_stacksave()|0); - $$alloca_mul36 = $23; - $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; - $26 = HEAP32[$vararg_buffer16>>2]|0; - _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); - HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,9188,$vararg_buffer19); - _glDeleteProgram(($20|0)); - _llvm_stackrestore(($24|0)); - $$0 = 0; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } else { - HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,9390,$vararg_buffer22); - $$0 = $20; - _glDeleteShader(($6|0)); - _glDeleteShader(($7|0)); - STACKTOP = sp;return ($$0|0); - } - return (0)|0; -} -function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(8983|0))|0); - $3 = ((($0)) + 4|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(8998|0))|0); - $6 = ((($0)) + 8|0); - HEAP32[$6>>2] = $5; - $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(9013|0))|0); - $9 = ((($0)) + 12|0); - HEAP32[$9>>2] = $8; - $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(9029|0))|0); - $12 = ((($0)) + 16|0); - HEAP32[$12>>2] = $11; - $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(9042|0))|0); - $15 = ((($0)) + 20|0); - HEAP32[$15>>2] = $14; - $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(9056|0))|0); - $18 = ((($0)) + 24|0); - HEAP32[$18>>2] = $17; - $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(9068|0))|0); - $21 = ((($0)) + 28|0); - HEAP32[$21>>2] = $20; - $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(9078|0))|0); - $24 = ((($0)) + 32|0); - HEAP32[$24>>2] = $23; - $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(9089|0))|0); - $27 = ((($0)) + 36|0); - HEAP32[$27>>2] = $26; - $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(9100|0))|0); - $30 = ((($0)) + 40|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(9112|0))|0); - $33 = ((($0)) + 44|0); - HEAP32[$33>>2] = $32; - $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(9121|0))|0); - $36 = ((($0)) + 48|0); - HEAP32[$36>>2] = $35; - $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(9130|0))|0); - $39 = ((($0)) + 52|0); - HEAP32[$39>>2] = $38; - return; -} -function _IsMouseButtonPressed($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22961 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22964 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(1); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _IsMouseButtonReleased($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (22961 + ($0)|0); - $2 = HEAP8[$1>>0]|0; - $3 = (22964 + ($0)|0); - $4 = HEAP8[$3>>0]|0; - $5 = ($2<<24>>24)!=($4<<24>>24); - $6 = ($2<<24>>24)==(0); - $or$cond = $6 & $5; - $$0 = $or$cond&1; - return ($$0|0); -} -function _rlClearScreenBuffers() { - var label = 0, sp = 0; - sp = STACKTOP; - _glClear(16640); - return; -} -function _CloseWindow() { - var $0 = 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; - _UnloadDefaultFont(); - _rlglClose(); - $0 = HEAP32[5032]|0; - _glfwDestroyWindow(($0|0)); - _glfwTerminate(); - _TraceLog(0,9702,$vararg_buffer); - STACKTOP = sp;return; -} -function _UnloadDefaultFont() { - var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[20168>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[20168+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[20168+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[20168+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[20168+16>>2]|0; - _UnloadTexture($$byval_copy); - $0 = HEAP32[(20196)>>2]|0; - _free($0); - STACKTOP = sp;return; -} -function _rlglClose() { - var $0 = 0, $1 = 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; - _UnloadDefaultShader(); - _UnloadDefaultBuffers(); - _glDeleteTextures(1,(20480|0)); - $0 = HEAP32[5120]|0; - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,9729,$vararg_buffer); - $1 = HEAP32[5150]|0; - _free($1); - STACKTOP = sp;return; -} -function _UnloadDefaultShader() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - _glUseProgram(0); - $0 = HEAP32[5121]|0; - _glDeleteProgram(($0|0)); - return; -} -function _UnloadDefaultBuffers() { - var $0 = 0, $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; - $0 = HEAP32[5113]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5115]|0; - FUNCTION_TABLE_vi[$2 & 31](0); - } - _glDisableVertexAttribArray(0); - _glDisableVertexAttribArray(1); - _glDisableVertexAttribArray(2); - _glDisableVertexAttribArray(3); - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - _glDeleteBuffers(1,((21676)|0)); - _glDeleteBuffers(1,((21680)|0)); - _glDeleteBuffers(1,((21724)|0)); - _glDeleteBuffers(1,((21728)|0)); - _glDeleteBuffers(1,((21772)|0)); - _glDeleteBuffers(1,((21776)|0)); - _glDeleteBuffers(1,((21780)|0)); - _glDeleteBuffers(1,((21784)|0)); - $3 = HEAP32[5113]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5116]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(21672)); - $6 = HEAP32[5116]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(21720)); - $7 = HEAP32[5116]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(21768)); - } - $8 = HEAP32[(21656)>>2]|0; - _free($8); - $9 = HEAP32[(21664)>>2]|0; - _free($9); - $10 = HEAP32[(21704)>>2]|0; - _free($10); - $11 = HEAP32[(21712)>>2]|0; - _free($11); - $12 = HEAP32[(21752)>>2]|0; - _free($12); - $13 = HEAP32[(21756)>>2]|0; - _free($13); - $14 = HEAP32[(21760)>>2]|0; - _free($14); - $15 = HEAP32[(21764)>>2]|0; - _free($15); - return; -} -function _UnloadTexture($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0); - if ($2) { - STACKTOP = sp;return; - } - _rlDeleteTextures($1); - $3 = HEAP32[$0>>2]|0; - HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,9794,$vararg_buffer); - STACKTOP = sp;return; -} -function _rlDeleteTextures($0) { - $0 = $0|0; - var $1 = 0, $2 = 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] = $0; - $2 = ($0|0)==(0); - if (!($2)) { - _glDeleteTextures(1,($1|0)); - } - STACKTOP = sp;return; -} -function _BeginDrawing() { - var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $downscaleView$byval_copy = sp; - $0 = (+_GetTime()); - HEAPF64[2466] = $0; - $1 = +HEAPF64[2449]; - $2 = $0 - $1; - HEAPF64[2467] = $2; - HEAPF64[2449] = $0; - _rlClearScreenBuffers(); - _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=20224; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(21796); - STACKTOP = sp;return; -} -function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - HEAP32[5449] = $1; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[(21800)>>2] = $3; - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - HEAP32[(21804)>>2] = $5; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - HEAP32[(21808)>>2] = $7; - $8 = ((($0)) + 16|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[(21812)>>2] = $9; - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - HEAP32[(21816)>>2] = $11; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[(21820)>>2] = $13; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[(21824)>>2] = $15; - $16 = ((($0)) + 32|0); - $17 = HEAP32[$16>>2]|0; - HEAP32[(21828)>>2] = $17; - $18 = ((($0)) + 36|0); - $19 = HEAP32[$18>>2]|0; - HEAP32[(21832)>>2] = $19; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[(21836)>>2] = $21; - $22 = ((($0)) + 44|0); - $23 = HEAP32[$22>>2]|0; - HEAP32[(21840)>>2] = $23; - $24 = ((($0)) + 48|0); - $25 = HEAP32[$24>>2]|0; - HEAP32[(21844)>>2] = $25; - $26 = ((($0)) + 52|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[(21848)>>2] = $27; - $28 = ((($0)) + 56|0); - $29 = HEAP32[$28>>2]|0; - HEAP32[(21852)>>2] = $29; - $30 = ((($0)) + 60|0); - $31 = HEAP32[$30>>2]|0; - HEAP32[(21856)>>2] = $31; - return (21796|0); -} -function _rlMultMatrixf($0) { - $0 = $0|0; - var $$byval_copy = 0, $$byval_copy1 = 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; - 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, $41 = 0, $42 = 0, $43 = 0; - var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - $3 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $3; - $4 = ((($1)) + 4|0); - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - HEAP32[$4>>2] = $6; - $7 = ((($1)) + 8|0); - $8 = ((($0)) + 8|0); - $9 = HEAP32[$8>>2]|0; - HEAP32[$7>>2] = $9; - $10 = ((($1)) + 12|0); - $11 = ((($0)) + 12|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($1)) + 16|0); - $14 = ((($0)) + 16|0); - $15 = HEAP32[$14>>2]|0; - HEAP32[$13>>2] = $15; - $16 = ((($1)) + 20|0); - $17 = ((($0)) + 20|0); - $18 = HEAP32[$17>>2]|0; - HEAP32[$16>>2] = $18; - $19 = ((($1)) + 24|0); - $20 = ((($0)) + 24|0); - $21 = HEAP32[$20>>2]|0; - HEAP32[$19>>2] = $21; - $22 = ((($1)) + 28|0); - $23 = ((($0)) + 28|0); - $24 = HEAP32[$23>>2]|0; - HEAP32[$22>>2] = $24; - $25 = ((($1)) + 32|0); - $26 = ((($0)) + 32|0); - $27 = HEAP32[$26>>2]|0; - HEAP32[$25>>2] = $27; - $28 = ((($1)) + 36|0); - $29 = ((($0)) + 36|0); - $30 = HEAP32[$29>>2]|0; - HEAP32[$28>>2] = $30; - $31 = ((($1)) + 40|0); - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - HEAP32[$31>>2] = $33; - $34 = ((($1)) + 44|0); - $35 = ((($0)) + 44|0); - $36 = HEAP32[$35>>2]|0; - HEAP32[$34>>2] = $36; - $37 = ((($1)) + 48|0); - $38 = ((($0)) + 48|0); - $39 = HEAP32[$38>>2]|0; - HEAP32[$37>>2] = $39; - $40 = ((($1)) + 52|0); - $41 = ((($0)) + 52|0); - $42 = HEAP32[$41>>2]|0; - HEAP32[$40>>2] = $42; - $43 = ((($1)) + 56|0); - $44 = ((($0)) + 56|0); - $45 = HEAP32[$44>>2]|0; - HEAP32[$43>>2] = $45; - $46 = ((($1)) + 60|0); - $47 = ((($0)) + 60|0); - $48 = HEAP32[$47>>2]|0; - HEAP32[$46>>2] = $48; - $49 = HEAP32[5079]|0; - dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$$byval_copy,$$byval_copy1); - dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _EndDrawing() { - var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _rlglDraw(); - _SwapBuffers(); - _PollInputEvents(); - $0 = (+_GetTime()); - HEAPF64[2466] = $0; - $1 = +HEAPF64[2449]; - $2 = $0 - $1; - HEAPF64[2468] = $2; - HEAPF64[2449] = $0; - $3 = +HEAPF64[2467]; - $4 = $2 + $3; - HEAPF64[2469] = $4; - $5 = +HEAPF64[2446]; - $6 = $4 < $5; - if (!($6)) { - return; - } - $7 = $5 - $4; - $8 = $7 * 1000.0; - $9 = $8; - _Wait($9); - $10 = (+_GetTime()); - HEAPF64[2466] = $10; - $11 = +HEAPF64[2449]; - $12 = $10 - $11; - HEAPF64[2449] = $10; - $13 = +HEAPF64[2469]; - $14 = $12 + $13; - HEAPF64[2469] = $14; - return; -} -function _rlglDraw() { - var label = 0, sp = 0; - sp = STACKTOP; - _UpdateDefaultBuffers(); - _DrawDefaultBuffers(); - return; -} -function _SwapBuffers() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5032]|0; - _glfwSwapBuffers(($0|0)); - return; -} -function _PollInputEvents() { - var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; - var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; - var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); - $0 = sp + 1440|0; - $1 = sp + 1432|0; - $2 = sp; - _UpdateGestures(); - HEAP32[749] = -1; - HEAP32[751] = -1; - HEAP32[5465] = 0; - $3 = HEAP32[5032]|0; - _glfwGetCursorPos(($3|0),($0|0),($1|0)); - $4 = +HEAPF64[$0>>3]; - $5 = $4; - HEAPF32[4890] = $5; - $6 = +HEAPF64[$1>>3]; - $7 = $6; - HEAPF32[(19564)>>2] = $7; - _memcpy((23479|0),(22967|0),512)|0; - ;HEAP8[22964>>0]=HEAP8[22961>>0]|0;HEAP8[22964+1>>0]=HEAP8[22961+1>>0]|0;HEAP8[22964+2>>0]=HEAP8[22961+2>>0]|0; - $8 = HEAP32[5448]|0; - HEAP32[5035] = $8; - HEAP32[5448] = 0; - $9 = (_emscripten_get_num_gamepads()|0); - $10 = ($9|0)>(0); - if (!($10)) { - STACKTOP = sp;return; - } - $11 = ((($2)) + 12|0); - $12 = ((($2)) + 8|0); - $$05160 = 0; - while(1) { - $scevgep = (23991 + ($$05160<<5)|0); - $scevgep67 = (24119 + ($$05160<<5)|0); - dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); - $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); - $14 = ($13|0)==(0); - if ($14) { - $15 = HEAP32[$11>>2]|0; - $16 = ($15|0)>(0); - if ($16) { - $17 = HEAP32[$11>>2]|0; - $$04857 = 0; - while(1) { - $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)==(1); - $24 = ((24119 + ($$05160<<5)|0) + ($$04857)|0); - if ($23) { - HEAP8[$24>>0] = 1; - HEAP32[751] = $$04857; - } else { - HEAP8[$24>>0] = 0; - } - $25 = (($$04857) + 1)|0; - $26 = ($25|0)<($17|0); - $27 = ($25|0)<(32); - $28 = $27 & $26; - if ($28) { - $$04857 = $25; - } else { - break; - } - } - } - $18 = HEAP32[$12>>2]|0; - $19 = ($18|0)>(0); - if ($19) { - $20 = HEAP32[$12>>2]|0; - $$058 = 0; - while(1) { - $29 = (((($2)) + 16|0) + ($$058<<3)|0); - $30 = +HEAPF64[$29>>3]; - $31 = $30; - $32 = ((21864 + ($$05160<<5)|0) + ($$058<<2)|0); - HEAPF32[$32>>2] = $31; - $33 = (($$058) + 1)|0; - $34 = ($33|0)<($20|0); - $35 = ($33|0)<(8); - $36 = $35 & $34; - if ($36) { - $$058 = $33; - } else { - $$lcssa = $20; - break; - } - } - } else { - $$lcssa = $18; - } - HEAP32[5465] = $$lcssa; - } - $37 = (($$05160) + 1)|0; - $38 = ($37|0)<($9|0); - $39 = ($37|0)<(4); - $40 = $38 & $39; - if ($40) { - $$05160 = $37; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _Wait($0) { - $0 = +$0; - var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (+_GetTime()); - $2 = 0.0 - $1; - $3 = $0 / 1000.0; - $4 = $3; - $5 = $2 < $4; - if (!($5)) { - return; - } - while(1) { - $6 = (+_GetTime()); - $7 = $6 - $1; - $8 = $7 < $4; - if (!($8)) { - break; - } - } - return; -} -function _UpdateDefaultBuffers() { - 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5411]|0; - $1 = ($0|0)>(0); - if ($1) { - $2 = HEAP32[5113]|0; - $3 = ($2|0)==(0); - if (!($3)) { - $4 = HEAP32[5115]|0; - $5 = HEAP32[(21672)>>2]|0; - FUNCTION_TABLE_vi[$4 & 31]($5); - } - $6 = HEAP32[(21676)>>2]|0; - _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5411]|0; - $8 = ($7*12)|0; - $9 = HEAP32[(21656)>>2]|0; - _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(21680)>>2]|0; - _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(21652)>>2]|0; - $12 = $11 << 2; - $13 = HEAP32[(21664)>>2]|0; - _glBufferSubData(34962,0,($12|0),($13|0)); - } - $14 = HEAP32[5423]|0; - $15 = ($14|0)>(0); - if ($15) { - $16 = HEAP32[5113]|0; - $17 = ($16|0)==(0); - if (!($17)) { - $18 = HEAP32[5115]|0; - $19 = HEAP32[(21720)>>2]|0; - FUNCTION_TABLE_vi[$18 & 31]($19); - } - $20 = HEAP32[(21724)>>2]|0; - _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5423]|0; - $22 = ($21*12)|0; - $23 = HEAP32[(21704)>>2]|0; - _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(21728)>>2]|0; - _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(21700)>>2]|0; - $26 = $25 << 2; - $27 = HEAP32[(21712)>>2]|0; - _glBufferSubData(34962,0,($26|0),($27|0)); - } - $28 = HEAP32[5435]|0; - $29 = ($28|0)>(0); - if ($29) { - $30 = HEAP32[5113]|0; - $31 = ($30|0)==(0); - if (!($31)) { - $32 = HEAP32[5115]|0; - $33 = HEAP32[(21768)>>2]|0; - FUNCTION_TABLE_vi[$32 & 31]($33); - } - $34 = HEAP32[(21772)>>2]|0; - _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5435]|0; - $36 = ($35*12)|0; - $37 = HEAP32[(21752)>>2]|0; - _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(21776)>>2]|0; - _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5435]|0; - $40 = $39 << 3; - $41 = HEAP32[(21756)>>2]|0; - _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(21780)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5435]|0; - $44 = $43 << 2; - $45 = HEAP32[(21760)>>2]|0; - _glBufferSubData(34962,0,($44|0),($45|0)); - } - $46 = HEAP32[5113]|0; - $47 = ($46|0)==(0); - if ($47) { - return; - } - $48 = HEAP32[5115]|0; - FUNCTION_TABLE_vi[$48 & 31](0); - return; -} -function _DrawDefaultBuffers() { - var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; - 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, $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, $58 = 0; - var $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, $76 = 0; - var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; - var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); - $$byval_copy2 = sp + 256|0; - $modelview$byval_copy = sp + 192|0; - $0 = sp + 128|0; - $1 = sp + 64|0; - $2 = sp; - dest=$0; src=20320; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=20384; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5498]|0; - $4 = ($3|0)!=(0); - $$ = $4 ? 2 : 1; - $$02932 = 0; - while(1) { - if ($4) { - dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); - } - $8 = HEAP32[5411]|0; - $9 = ($8|0)>(0); - $10 = HEAP32[5423]|0; - $11 = ($10|0)>(0); - $or$cond = $9 | $11; - $12 = HEAP32[5435]|0; - $13 = ($12|0)>(0); - $or$cond3 = $or$cond | $13; - if ($or$cond3) { - $14 = HEAP32[5135]|0; - _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=20384; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=20320; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(20568)>>2]|0; - dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $16 = (_MatrixToFloat($$byval_copy2)|0); - _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(20572)>>2]|0; - _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(20584)>>2]|0; - _glUniform1i(($18|0),0); - } - $19 = HEAP32[5411]|0; - $20 = ($19|0)>(0); - if ($20) { - $21 = HEAP32[5120]|0; - _glBindTexture(3553,($21|0)); - $22 = HEAP32[5113]|0; - $23 = ($22|0)==(0); - if ($23) { - $26 = HEAP32[(21676)>>2]|0; - _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(20544)>>2]|0; - _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(20544)>>2]|0; - _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(21680)>>2]|0; - _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(20564)>>2]|0; - _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(20564)>>2]|0; - _glEnableVertexAttribArray(($31|0)); - } else { - $24 = HEAP32[5115]|0; - $25 = HEAP32[(21672)>>2]|0; - FUNCTION_TABLE_vi[$24 & 31]($25); - } - $32 = HEAP32[5411]|0; - _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[5113]|0; - $34 = ($33|0)==(0); - if ($34) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $35 = HEAP32[5423]|0; - $36 = ($35|0)>(0); - if ($36) { - $37 = HEAP32[5120]|0; - _glBindTexture(3553,($37|0)); - $38 = HEAP32[5113]|0; - $39 = ($38|0)==(0); - if ($39) { - $42 = HEAP32[(21724)>>2]|0; - _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(20544)>>2]|0; - _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(20544)>>2]|0; - _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(21728)>>2]|0; - _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(20564)>>2]|0; - _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(20564)>>2]|0; - _glEnableVertexAttribArray(($47|0)); - } else { - $40 = HEAP32[5115]|0; - $41 = HEAP32[(21720)>>2]|0; - FUNCTION_TABLE_vi[$40 & 31]($41); - } - $48 = HEAP32[5423]|0; - _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[5113]|0; - $50 = ($49|0)==(0); - if ($50) { - _glBindBuffer(34962,0); - } - _glBindTexture(3553,0); - } - $51 = HEAP32[5435]|0; - $52 = ($51|0)>(0); - if ($52) { - $53 = HEAP32[5113]|0; - $54 = ($53|0)==(0); - if ($54) { - $57 = HEAP32[(21772)>>2]|0; - _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(20544)>>2]|0; - _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(20544)>>2]|0; - _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(21776)>>2]|0; - _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(20548)>>2]|0; - _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(20548)>>2]|0; - _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(21780)>>2]|0; - _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(20564)>>2]|0; - _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(20564)>>2]|0; - _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(21784)>>2]|0; - _glBindBuffer(34963,($66|0)); - } else { - $55 = HEAP32[5115]|0; - $56 = HEAP32[(21768)>>2]|0; - FUNCTION_TABLE_vi[$55 & 31]($56); - } - $67 = HEAP32[5151]|0; - $68 = ($67|0)>(0); - if ($68) { - $$02830 = 0;$$031 = 0; - while(1) { - $71 = HEAP32[5150]|0; - $72 = (($71) + (($$031*144)|0)|0); - $73 = HEAP32[$72>>2]|0; - $74 = (($73|0) / 4)&-1; - $75 = ($74*6)|0; - $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); - $77 = HEAP32[$76>>2]|0; - _glBindTexture(3553,($77|0)); - $78 = $$02830 << 1; - $79 = $78; - _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[5150]|0; - $81 = (($80) + (($$031*144)|0)|0); - $82 = HEAP32[$81>>2]|0; - $83 = (($82|0) / 4)&-1; - $84 = ($83*6)|0; - $85 = (($84) + ($$02830))|0; - $86 = (($$031) + 1)|0; - $87 = HEAP32[5151]|0; - $88 = ($86|0)<($87|0); - if ($88) { - $$02830 = $85;$$031 = $86; - } else { - break; - } - } - } - $69 = HEAP32[5113]|0; - $70 = ($69|0)==(0); - if ($70) { - _glBindBuffer(34962,0); - _glBindBuffer(34963,0); - } - _glBindTexture(3553,0); - } - $89 = HEAP32[5113]|0; - $90 = ($89|0)==(0); - if (!($90)) { - $91 = HEAP32[5115]|0; - FUNCTION_TABLE_vi[$91 & 31](0); - } - _glUseProgram(0); - $92 = (($$02932) + 1)|0; - $93 = ($92|0)<($$|0); - if ($93) { - $$02932 = $92; - } else { - break; - } - } - HEAP32[5151] = 1; - $5 = HEAP32[5120]|0; - $6 = HEAP32[5150]|0; - $7 = ((($6)) + 8|0); - HEAP32[$7>>2] = $5; - HEAP32[$6>>2] = 0; - HEAP32[5411] = 0; - HEAP32[(21652)>>2] = 0; - HEAP32[5423] = 0; - HEAP32[(21700)>>2] = 0; - HEAP32[5435] = 0; - HEAP32[(21744)>>2] = 0; - HEAP32[(21748)>>2] = 0; - HEAPF32[752] = -1.0; - dest=20320; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=20384; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _SetStereoView($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy3 = sp + 192|0; - $$byval_copy = sp + 64|0; - $3 = sp; - $4 = sp + 128|0; - dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5409]|0; - $6 = Math_imul($5, $0)|0; - $7 = (($6|0) / 2)&-1; - $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5410]|0; - _rlViewport($7,0,$8,$9); - $10 = (22224 + ($0<<6)|0); - dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (22096 + ($0<<6)|0); - dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixModelview($$byval_copy3); - dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _SetMatrixProjection($$byval_copy3); - STACKTOP = sp;return; -} -function _SetMatrixModelview($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=20384; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _SetMatrixProjection($0) { - $0 = $0|0; - var dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - dest=20320; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - return; -} -function _rlPushMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $vararg_buffer = sp; - $0 = HEAP32[5588]|0; - $1 = ($0|0)==(15); - if ($1) { - HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,9844,$vararg_buffer); - } - $2 = HEAP32[5588]|0; - $3 = (20612 + ($2<<6)|0); - $4 = HEAP32[5079]|0; - dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _rlLoadIdentity(); - $5 = HEAP32[5588]|0; - $6 = (($5) + 1)|0; - HEAP32[5588] = $6; - $7 = HEAP32[5112]|0; - $8 = ($7|0)==(5888); - if (!($8)) { - STACKTOP = sp;return; - } - HEAP32[5589] = 1; - STACKTOP = sp;return; -} -function _rlPopMatrix() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5588]|0; - $1 = ($0|0)>(0); - if (!($1)) { - return; - } - $2 = HEAP32[5588]|0; - $3 = (($2) + -1)|0; - $4 = (20612 + ($3<<6)|0); - $5 = HEAP32[5079]|0; - _memmove(($5|0),($4|0),64)|0; - $6 = (($2) + -1)|0; - HEAP32[5588] = $6; - return; -} -function _IsFileExtension($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strrchr($0,46)|0); - $3 = ($2|0)==(0|0); - if ($3) { - return 0; - } else { - $4 = (_strcmp($2,$1)|0); - $5 = ($4|0)==(0); - $$ = $5&1; - return ($$|0); - } - return (0)|0; -} -function _rlTranslatef($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy1 = sp + 192|0; - $$byval_copy = sp + 128|0; - $3 = sp + 64|0; - $4 = sp; - _MatrixTranslate($3,$0,$1,$2); - _MatrixTranspose($3); - $5 = HEAP32[5079]|0; - dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($4,$$byval_copy,$$byval_copy1); - dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlRotatef($0,$1,$2,$3) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); - $$byval_copy2 = sp + 272|0; - $$byval_copy1 = sp + 208|0; - $4 = sp + 144|0; - $5 = sp + 64|0; - $6 = sp + 80|0; - $7 = sp; - _MatrixIdentity($4); - HEAPF32[$5>>2] = $1; - $8 = ((($5)) + 4|0); - HEAPF32[$8>>2] = $2; - $9 = ((($5)) + 8|0); - HEAPF32[$9>>2] = $3; - _VectorNormalize($5); - $10 = $0 * 0.01745329238474369; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _MatrixRotate($6,$$byval_copy2,$10); - dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixTranspose($4); - $11 = HEAP32[5079]|0; - dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); - dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - STACKTOP = sp;return; -} -function _rlBegin($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5152] = $0; - return; -} -function _rlEnd() { - var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; - var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; - var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; - var $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, $47 = 0; - var $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, $65 = 0; - var $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, $83 = 0; - var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; - var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp; - $0 = HEAP32[5589]|0; - $1 = ($0|0)==(0); - if (!($1)) { - $2 = HEAP32[5590]|0; - $3 = ($2|0)>(0); - if ($3) { - $$03956 = 0; - while(1) { - $6 = HEAP32[5149]|0; - $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5079]|0; - dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - _VectorTransform($7,$$byval_copy); - $9 = (($$03956) + 1)|0; - $5 = HEAP32[5590]|0; - $10 = ($9|0)<($5|0); - if ($10) { - $$03956 = $9; - } else { - break; - } - } - HEAP32[5589] = 0; - $4 = ($5|0)>(0); - if ($4) { - $$04154 = 0; - while(1) { - $11 = HEAP32[5149]|0; - $12 = (($11) + (($$04154*12)|0)|0); - $13 = +HEAPF32[$12>>2]; - $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); - $15 = +HEAPF32[$14>>2]; - $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); - $17 = +HEAPF32[$16>>2]; - _rlVertex3f($13,$15,$17); - $18 = (($$04154) + 1)|0; - $19 = HEAP32[5590]|0; - $20 = ($18|0)<($19|0); - if ($20) { - $$04154 = $18; - } else { - break; - } - } - } - } else { - HEAP32[5589] = 0; - } - HEAP32[5590] = 0; - } - $21 = HEAP32[5152]|0; - switch ($21|0) { - case 1: { - $22 = HEAP32[5411]|0; - $23 = HEAP32[(21652)>>2]|0; - $24 = ($22|0)==($23|0); - if ($24) { - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - } - $25 = (($22) - ($23))|0; - $26 = ($25|0)>(0); - if ($26) { - $$04347 = 0; - } else { - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - } - while(1) { - $27 = HEAP32[(21664)>>2]|0; - $28 = HEAP32[(21652)>>2]|0; - $29 = $28 << 2; - $30 = (($29) + -4)|0; - $31 = (($27) + ($30)|0); - $32 = HEAP8[$31>>0]|0; - $33 = (($27) + ($29)|0); - HEAP8[$33>>0] = $32; - $34 = HEAP32[(21664)>>2]|0; - $35 = HEAP32[(21652)>>2]|0; - $36 = $35 << 2; - $37 = (($36) + -3)|0; - $38 = (($34) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - $40 = $36 | 1; - $41 = (($34) + ($40)|0); - HEAP8[$41>>0] = $39; - $42 = HEAP32[(21664)>>2]|0; - $43 = HEAP32[(21652)>>2]|0; - $44 = $43 << 2; - $45 = (($44) + -2)|0; - $46 = (($42) + ($45)|0); - $47 = HEAP8[$46>>0]|0; - $48 = $44 | 2; - $49 = (($42) + ($48)|0); - HEAP8[$49>>0] = $47; - $50 = HEAP32[(21664)>>2]|0; - $51 = HEAP32[(21652)>>2]|0; - $52 = $51 << 2; - $53 = (($52) + -1)|0; - $54 = (($50) + ($53)|0); - $55 = HEAP8[$54>>0]|0; - $56 = $52 | 3; - $57 = (($50) + ($56)|0); - HEAP8[$57>>0] = $55; - $58 = HEAP32[(21652)>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[(21652)>>2] = $59; - $60 = (($$04347) + 1)|0; - $exitcond = ($60|0)==($25|0); - if ($exitcond) { - break; - } else { - $$04347 = $60; - } - } - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - break; - } - case 4: { - $61 = HEAP32[5423]|0; - $62 = HEAP32[(21700)>>2]|0; - $63 = ($61|0)==($62|0); - if ($63) { - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - } - $64 = (($61) - ($62))|0; - $65 = ($64|0)>(0); - if ($65) { - $$04248 = 0; - } else { - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - } - while(1) { - $66 = HEAP32[(21712)>>2]|0; - $67 = HEAP32[(21700)>>2]|0; - $68 = $67 << 2; - $69 = (($68) + -4)|0; - $70 = (($66) + ($69)|0); - $71 = HEAP8[$70>>0]|0; - $72 = (($66) + ($68)|0); - HEAP8[$72>>0] = $71; - $73 = HEAP32[(21712)>>2]|0; - $74 = HEAP32[(21700)>>2]|0; - $75 = $74 << 2; - $76 = (($75) + -3)|0; - $77 = (($73) + ($76)|0); - $78 = HEAP8[$77>>0]|0; - $79 = $75 | 1; - $80 = (($73) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = HEAP32[(21712)>>2]|0; - $82 = HEAP32[(21700)>>2]|0; - $83 = $82 << 2; - $84 = (($83) + -2)|0; - $85 = (($81) + ($84)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $83 | 2; - $88 = (($81) + ($87)|0); - HEAP8[$88>>0] = $86; - $89 = HEAP32[(21712)>>2]|0; - $90 = HEAP32[(21700)>>2]|0; - $91 = $90 << 2; - $92 = (($91) + -1)|0; - $93 = (($89) + ($92)|0); - $94 = HEAP8[$93>>0]|0; - $95 = $91 | 3; - $96 = (($89) + ($95)|0); - HEAP8[$96>>0] = $94; - $97 = HEAP32[(21700)>>2]|0; - $98 = (($97) + 1)|0; - HEAP32[(21700)>>2] = $98; - $99 = (($$04248) + 1)|0; - $exitcond60 = ($99|0)==($64|0); - if ($exitcond60) { - break; - } else { - $$04248 = $99; - } - } - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - break; - } - case 7: { - $100 = HEAP32[5435]|0; - $101 = HEAP32[(21748)>>2]|0; - $102 = ($100|0)==($101|0); - if (!($102)) { - $103 = (($100) - ($101))|0; - $104 = ($103|0)>(0); - if ($104) { - $$04052 = 0; - while(1) { - $105 = HEAP32[(21760)>>2]|0; - $106 = HEAP32[(21748)>>2]|0; - $107 = $106 << 2; - $108 = (($107) + -4)|0; - $109 = (($105) + ($108)|0); - $110 = HEAP8[$109>>0]|0; - $111 = (($105) + ($107)|0); - HEAP8[$111>>0] = $110; - $112 = HEAP32[(21760)>>2]|0; - $113 = HEAP32[(21748)>>2]|0; - $114 = $113 << 2; - $115 = (($114) + -3)|0; - $116 = (($112) + ($115)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $114 | 1; - $119 = (($112) + ($118)|0); - HEAP8[$119>>0] = $117; - $120 = HEAP32[(21760)>>2]|0; - $121 = HEAP32[(21748)>>2]|0; - $122 = $121 << 2; - $123 = (($122) + -2)|0; - $124 = (($120) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = $122 | 2; - $127 = (($120) + ($126)|0); - HEAP8[$127>>0] = $125; - $128 = HEAP32[(21760)>>2]|0; - $129 = HEAP32[(21748)>>2]|0; - $130 = $129 << 2; - $131 = (($130) + -1)|0; - $132 = (($128) + ($131)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $130 | 3; - $135 = (($128) + ($134)|0); - HEAP8[$135>>0] = $133; - $136 = HEAP32[(21748)>>2]|0; - $137 = (($136) + 1)|0; - HEAP32[(21748)>>2] = $137; - $138 = (($$04052) + 1)|0; - $exitcond63 = ($138|0)==($103|0); - if ($exitcond63) { - break; - } else { - $$04052 = $138; - } - } - } - } - $139 = HEAP32[5435]|0; - $140 = HEAP32[(21744)>>2]|0; - $141 = ($139|0)>($140|0); - if (!($141)) { - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - } - $142 = HEAP32[(21756)>>2]|0; - $$promoted = HEAP32[(21744)>>2]|0; - $143 = $$promoted << 1; - $scevgep = (($142) + ($143<<2)|0); - $144 = (($139) - ($140))|0; - $145 = $144 << 3; - _memset(($scevgep|0),0,($145|0))|0; - $146 = (($139) + ($$promoted))|0; - $147 = (($146) - ($140))|0; - HEAP32[(21744)>>2] = $147; - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - break; - } - default: { - $148 = +HEAPF32[752]; - $149 = $148 + 4.9999998736893758E-5; - HEAPF32[752] = $149; - STACKTOP = sp;return; - } - } -} -function _rlVertex3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var $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, $29 = 0; - var $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, $47 = 0; - var $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; - $3 = HEAP32[5589]|0; - $4 = ($3|0)==(0); - if (!($4)) { - $5 = HEAP32[5149]|0; - $6 = HEAP32[5590]|0; - $7 = (($5) + (($6*12)|0)|0); - HEAPF32[$7>>2] = $0; - $8 = (((($5) + (($6*12)|0)|0)) + 4|0); - HEAPF32[$8>>2] = $1; - $9 = (((($5) + (($6*12)|0)|0)) + 8|0); - HEAPF32[$9>>2] = $2; - $10 = (($6) + 1)|0; - HEAP32[5590] = $10; - STACKTOP = sp;return; - } - $11 = HEAP32[5152]|0; - switch ($11|0) { - case 1: { - $12 = HEAP32[5411]|0; - $13 = ($12|0)<(2048); - if ($13) { - $14 = HEAP32[(21656)>>2]|0; - $15 = ($12*3)|0; - $16 = (($14) + ($15<<2)|0); - HEAPF32[$16>>2] = $0; - $17 = (($15) + 1)|0; - $18 = (($14) + ($17<<2)|0); - HEAPF32[$18>>2] = $1; - $19 = (($15) + 2)|0; - $20 = (($14) + ($19<<2)|0); - HEAPF32[$20>>2] = $2; - $21 = (($12) + 1)|0; - HEAP32[5411] = $21; - STACKTOP = sp;return; - } else { - _TraceLog(1,9882,$vararg_buffer); - STACKTOP = sp;return; - } - break; - } - case 4: { - $22 = HEAP32[5423]|0; - $23 = ($22|0)<(6144); - if ($23) { - $24 = HEAP32[(21704)>>2]|0; - $25 = ($22*3)|0; - $26 = (($24) + ($25<<2)|0); - HEAPF32[$26>>2] = $0; - $27 = (($25) + 1)|0; - $28 = (($24) + ($27<<2)|0); - HEAPF32[$28>>2] = $1; - $29 = (($25) + 2)|0; - $30 = (($24) + ($29<<2)|0); - HEAPF32[$30>>2] = $2; - $31 = (($22) + 1)|0; - HEAP32[5423] = $31; - STACKTOP = sp;return; - } else { - _TraceLog(1,9907,$vararg_buffer1); - STACKTOP = sp;return; - } - break; - } - case 7: { - $32 = HEAP32[5435]|0; - $33 = ($32|0)<(4096); - if ($33) { - $34 = HEAP32[(21752)>>2]|0; - $35 = ($32*3)|0; - $36 = (($34) + ($35<<2)|0); - HEAPF32[$36>>2] = $0; - $37 = (($35) + 1)|0; - $38 = (($34) + ($37<<2)|0); - HEAPF32[$38>>2] = $1; - $39 = (($35) + 2)|0; - $40 = (($34) + ($39<<2)|0); - HEAPF32[$40>>2] = $2; - $41 = (($32) + 1)|0; - HEAP32[5435] = $41; - $42 = HEAP32[5150]|0; - $43 = HEAP32[5151]|0; - $44 = (($43) + -1)|0; - $45 = (($42) + (($44*144)|0)|0); - $46 = HEAP32[$45>>2]|0; - $47 = (($46) + 1)|0; - HEAP32[$45>>2] = $47; - STACKTOP = sp;return; - } else { - _TraceLog(1,9936,$vararg_buffer3); - STACKTOP = sp;return; - } - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _rlVertex2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[752]; - _rlVertex3f($0,$1,$2); - return; -} -function _rlVertex2i($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0.0, $3 = 0.0, $4 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+($0|0)); - $3 = (+($1|0)); - $4 = +HEAPF32[752]; - _rlVertex3f($2,$3,$4); - return; -} -function _rlTexCoord2f($0,$1) { - $0 = +$0; - $1 = +$1; - var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[5152]|0; - $3 = ($2|0)==(7); - if (!($3)) { - return; - } - $4 = HEAP32[(21756)>>2]|0; - $5 = HEAP32[(21744)>>2]|0; - $6 = $5 << 1; - $7 = (($4) + ($6<<2)|0); - HEAPF32[$7>>2] = $0; - $8 = $6 | 1; - $9 = (($4) + ($8<<2)|0); - HEAPF32[$9>>2] = $1; - $10 = (($5) + 1)|0; - HEAP32[(21744)>>2] = $10; - return; -} -function _rlNormal3f($0,$1,$2) { - $0 = +$0; - $1 = +$1; - $2 = +$2; - var label = 0, sp = 0; - sp = STACKTOP; - return; -} -function _rlColor4ub($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = HEAP32[5152]|0; - switch ($4|0) { - case 1: { - $$sink37 = (21652);$$sink38 = (21664); - break; - } - case 4: { - $$sink37 = (21700);$$sink38 = (21712); - break; - } - case 7: { - $$sink37 = (21748);$$sink38 = (21760); - break; - } - default: { - return; - } - } - $5 = HEAP32[$$sink38>>2]|0; - $6 = HEAP32[$$sink37>>2]|0; - $7 = $6 << 2; - $8 = (($5) + ($7)|0); - HEAP8[$8>>0] = $0; - $9 = HEAP32[$$sink38>>2]|0; - $10 = HEAP32[$$sink37>>2]|0; - $11 = $10 << 2; - $12 = $11 | 1; - $13 = (($9) + ($12)|0); - HEAP8[$13>>0] = $1; - $14 = HEAP32[$$sink38>>2]|0; - $15 = HEAP32[$$sink37>>2]|0; - $16 = $15 << 2; - $17 = $16 | 2; - $18 = (($14) + ($17)|0); - HEAP8[$18>>0] = $2; - $19 = HEAP32[$$sink38>>2]|0; - $20 = HEAP32[$$sink37>>2]|0; - $21 = $20 << 2; - $22 = $21 | 3; - $23 = (($19) + ($22)|0); - HEAP8[$23>>0] = $3; - $24 = HEAP32[$$sink37>>2]|0; - $25 = (($24) + 1)|0; - HEAP32[$$sink37>>2] = $25; - return; -} -function _rlEnableTexture($0) { - $0 = $0|0; - var $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 = HEAP32[5150]|0; - $2 = HEAP32[5151]|0; - $3 = (($2) + -1)|0; - $4 = (((($1) + (($3*144)|0)|0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==($0|0); - if ($6) { - return; - } - $7 = (($1) + (($3*144)|0)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - if ($9) { - $10 = (($2) + 1)|0; - HEAP32[5151] = $10; - } - $11 = HEAP32[5151]|0; - $12 = (($11) + -1)|0; - $13 = (((($1) + (($12*144)|0)|0)) + 8|0); - HEAP32[$13>>2] = $0; - $14 = (($1) + (($12*144)|0)|0); - HEAP32[$14>>2] = 0; - return; -} -function _rlDisableTexture() { - var $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = HEAP32[5435]|0; - $1 = ($0|0)>(4095); - if (!($1)) { - return; - } - _rlglDraw(); - return; -} -function _rlTextureParameters($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_ptr3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $vararg_buffer4 = sp + 24|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - _glBindTexture(3553,($0|0)); - L1: do { - switch ($1|0) { - case 10243: case 10242: { - $3 = ($2|0)!=(34626); - $4 = HEAP32[5119]|0; - $5 = ($4|0)!=(0); - $or$cond = $3 | $5; - if ($or$cond) { - _glTexParameteri(3553,($1|0),($2|0)); - break L1; - } else { - _TraceLog(2,9961,$vararg_buffer); - break L1; - } - break; - } - case 10241: case 10240: { - _glTexParameteri(3553,($1|0),($2|0)); - break; - } - case 12288: { - $6 = (+($2|0)); - $7 = +HEAPF32[5118]; - $8 = !($6 <= $7); - if (!($8)) { - _glTexParameterf(3553,34046,(+$6)); - break L1; - } - $9 = $7 > 0.0; - if ($9) { - $10 = $7; - HEAP32[$vararg_buffer1>>2] = $0; - $vararg_ptr3 = ((($vararg_buffer1)) + 8|0); - HEAPF64[$vararg_ptr3>>3] = $10; - _TraceLog(2,9998,$vararg_buffer1); - _glTexParameterf(3553,34046,(+$6)); - break L1; - } else { - _TraceLog(2,10060,$vararg_buffer4); - break L1; - } - break; - } - default: { - } - } - } while(0); - _glBindTexture(3553,0); - STACKTOP = sp;return; -} -function _DrawLine($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - _rlBegin(1); - $5 = HEAP8[$4>>0]|0; - $6 = ((($4)) + 1|0); - $7 = HEAP8[$6>>0]|0; - $8 = ((($4)) + 2|0); - $9 = HEAP8[$8>>0]|0; - $10 = ((($4)) + 3|0); - $11 = HEAP8[$10>>0]|0; - _rlColor4ub($5,$7,$9,$11); - _rlVertex2i($0,$1); - _rlVertex2i($2,$3); - _rlEnd(); - return; -} -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10096); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12733)|0); - return ($1|0); -} -function _stbi__err($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - HEAP32[5591] = $0; - return; -} -function _stbi_load_from_file($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $5 = sp; - _stbi__start_file($5,$0); - $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); - $7 = ($6|0)==(0|0); - if ($7) { - STACKTOP = sp;return ($6|0); - } - $8 = ((($5)) + 172|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($5)) + 168|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) - ($9))|0; - (_fseek($0,$12,1)|0); - STACKTOP = sp;return ($6|0); -} -function _stbi__start_file($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbi__start_callbacks($0,3124,$1); - return; -} -function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $8 = HEAP32[$5>>2]|0; - switch ($8|0) { - case 8: { - $$070 = $6; - break; - } - case 16: { - label = 4; - break; - } - default: { - ___assert_fail((10108|0),(10134|0),1125,(10157|0)); - // unreachable; - } - } - if ((label|0) == 4) { - $9 = HEAP32[$1>>2]|0; - $10 = HEAP32[$2>>2]|0; - $11 = ($4|0)==(0); - if ($11) { - $12 = HEAP32[$3>>2]|0; - $13 = $12; - } else { - $13 = $4; - } - $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); - HEAP32[$5>>2] = 8; - $$070 = $14; - } - $15 = HEAP32[5592]|0; - $16 = ($15|0)==(0); - if ($16) { - $$0 = $$070; - STACKTOP = sp;return ($$0|0); - } - $17 = HEAP32[$1>>2]|0; - $18 = HEAP32[$2>>2]|0; - $19 = ($4|0)==(0); - if ($19) { - $20 = HEAP32[$3>>2]|0; - $25 = $20; - } else { - $25 = $4; - } - $21 = $18 >> 1; - $22 = ($21|0)>(0); - if (!($22)) { - $$0 = $$070; - STACKTOP = sp;return ($$0|0); - } - $23 = ($17|0)>(0); - $24 = ($25|0)>(0); - $26 = (($18) + -1)|0; - $$07378 = 0; - while(1) { - if ($23) { - $27 = Math_imul($$07378, $17)|0; - $28 = (($26) - ($$07378))|0; - $29 = Math_imul($28, $17)|0; - $$07276 = 0; - while(1) { - if ($24) { - $30 = (($$07276) + ($27))|0; - $31 = Math_imul($30, $25)|0; - $32 = (($$07276) + ($29))|0; - $33 = Math_imul($32, $25)|0; - $$07175 = 0; - while(1) { - $34 = (($$07175) + ($31))|0; - $35 = (($$070) + ($34)|0); - $36 = HEAP8[$35>>0]|0; - $37 = (($$07175) + ($33))|0; - $38 = (($$070) + ($37)|0); - $39 = HEAP8[$38>>0]|0; - HEAP8[$35>>0] = $39; - HEAP8[$38>>0] = $36; - $40 = (($$07175) + 1)|0; - $exitcond = ($40|0)==($25|0); - if ($exitcond) { - break; - } else { - $$07175 = $40; - } - } - } - $41 = (($$07276) + 1)|0; - $exitcond79 = ($41|0)==($17|0); - if ($exitcond79) { - break; - } else { - $$07276 = $41; - } - } - } - $42 = (($$07378) + 1)|0; - $exitcond80 = ($42|0)==($21|0); - if ($exitcond80) { - $$0 = $$070; - break; - } else { - $$07378 = $42; - } - } - STACKTOP = sp;return ($$0|0); -} -function _stbi__load_main($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - HEAP32[$5>>2] = 8; - $6 = ((($5)) + 8|0); - HEAP32[$6>>2] = 0; - $7 = ((($5)) + 4|0); - HEAP32[$7>>2] = 0; - $8 = (_stbi__png_test($0)|0); - $9 = ($8|0)==(0); - if ($9) { - _stbi__err(10198); - $$0 = 0; - return ($$0|0); - } else { - $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); - $$0 = $10; - return ($$0|0); - } - return (0)|0; -} -function _stbi__convert_16_to_8($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = Math_imul($2, $1)|0; - $5 = Math_imul($4, $3)|0; - $6 = (_stbi__malloc($5)|0); - $7 = ($6|0)==(0|0); - if ($7) { - _stbi__err(10189); - $$0 = 0; - return ($$0|0); - } - $8 = ($5|0)>(0); - if ($8) { - $$01819 = 0; - while(1) { - $9 = (($0) + ($$01819<<1)|0); - $10 = HEAP16[$9>>1]|0; - $11 = ($10&65535) >>> 8; - $12 = $11&255; - $13 = (($6) + ($$01819)|0); - HEAP8[$13>>0] = $12; - $14 = (($$01819) + 1)|0; - $exitcond = ($14|0)==($5|0); - if ($exitcond) { - break; - } else { - $$01819 = $14; - } - } - } - _free($0); - $$0 = $6; - return ($$0|0); -} -function _stbi__malloc($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_malloc($0)|0); - return ($1|0); -} -function _stbi__png_test($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__check_png_header($0)|0); - _stbi__rewind($0); - return ($1|0); -} -function _stbi__png_load($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $6 = sp; - HEAP32[$6>>2] = $0; - $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); - STACKTOP = sp;return ($7|0); -} -function _stbi__do_png($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ($4>>>0)>(4); - if ($6) { - _stbi__err(10217); - $$045 = 0; - return ($$045|0); - } - $7 = (_stbi__parse_png_file($0,0,$4)|0); - $8 = ($7|0)==(0); - if ($8) { - $$2 = 0; - } else { - $9 = ((($0)) + 16|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)>(8); - $$ = $11 ? $10 : 8; - HEAP32[$5>>2] = $$; - $12 = ((($0)) + 12|0); - $13 = HEAP32[$12>>2]|0; - HEAP32[$12>>2] = 0; - $14 = ($4|0)==(0); - if ($14) { - $$1 = $13; - } else { - $15 = HEAP32[$0>>2]|0; - $16 = ((($15)) + 12|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==($4|0); - if ($18) { - $$1 = $13; - } else { - $19 = HEAP32[$5>>2]|0; - $20 = ($19|0)==(8); - $21 = ((($15)) + 4|0); - $22 = HEAP32[$21>>2]|0; - $23 = HEAP32[$15>>2]|0; - if ($20) { - $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); - $$0 = $24; - } else { - $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); - $$0 = $25; - } - $26 = HEAP32[$0>>2]|0; - $27 = ((($26)) + 12|0); - HEAP32[$27>>2] = $4; - $28 = ($$0|0)==(0|0); - if ($28) { - $$045 = 0; - return ($$045|0); - } else { - $$1 = $$0; - } - } - } - $29 = HEAP32[$0>>2]|0; - $30 = HEAP32[$29>>2]|0; - HEAP32[$1>>2] = $30; - $31 = ((($29)) + 4|0); - $32 = HEAP32[$31>>2]|0; - HEAP32[$2>>2] = $32; - $33 = ($3|0)==(0|0); - if ($33) { - $$2 = $$1; - } else { - $34 = ((($29)) + 8|0); - $35 = HEAP32[$34>>2]|0; - HEAP32[$3>>2] = $35; - $$2 = $$1; - } - } - $36 = ((($0)) + 12|0); - $37 = HEAP32[$36>>2]|0; - _free($37); - HEAP32[$36>>2] = 0; - $38 = ((($0)) + 8|0); - $39 = HEAP32[$38>>2]|0; - _free($39); - HEAP32[$38>>2] = 0; - $40 = ((($0)) + 4|0); - $41 = HEAP32[$40>>2]|0; - _free($41); - HEAP32[$40>>2] = 0; - $$045 = $$2; - return ($$045|0); -} -function _stbi__parse_png_file($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; - var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; - var $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, $123 = 0, $124 = 0; - var $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, $141 = 0, $142 = 0; - var $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, $16 = 0, $160 = 0; - var $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, $178 = 0, $179 = 0; - var $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, $196 = 0, $197 = 0; - var $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, $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, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $3 = sp + 32|0; - $4 = sp + 22|0; - $5 = sp + 16|0; - $6 = sp + 8|0; - $7 = sp; - $8 = HEAP32[$0>>2]|0; - $9 = ((($0)) + 8|0); - HEAP32[$9>>2] = 0; - $10 = ((($0)) + 4|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 12|0); - HEAP32[$11>>2] = 0; - $12 = (_stbi__check_png_header($8)|0); - $13 = ($12|0)==(0); - if ($13) { - $$7 = 0; - STACKTOP = sp;return ($$7|0); - } - $14 = ($1|0)==(1); - if ($14) { - $$7 = 1; - STACKTOP = sp;return ($$7|0); - } - $15 = ((($6)) + 4|0); - $16 = ((($8)) + 4|0); - $17 = ((($0)) + 16|0); - $18 = ((($8)) + 8|0); - $19 = ($1|0)==(2); - $20 = ((($8)) + 8|0); - $21 = ((($8)) + 8|0); - $22 = ((($0)) + 16|0); - $23 = ($1|0)==(2); - $24 = ($1|0)==(2); - $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; - L7: while(1) { - _stbi__get_chunk_header($6,$8); - $25 = HEAP32[$15>>2]|0; - $switch$split2D = ($25|0)<(1229472850); - L9: do { - if ($switch$split2D) { - $switch$split52D = ($25|0)<(1229209940); - if ($switch$split52D) { - switch ($25|0) { - case 1130840649: { - break; - } - default: { - label = 103; - break L9; - } - } - $26 = HEAP32[$6>>2]|0; - _stbi__skip($8,$26); - $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break; - } - $switch$split112D = ($25|0)<(1229278788); - if (!($switch$split112D)) { - switch ($25|0) { - case 1229278788: { - label = 85; - break L7; - break; - } - default: { - label = 103; - break L9; - } - } - } - switch ($25|0) { - case 1229209940: { - break; - } - default: { - label = 103; - break L9; - } - } - $130 = ($$0241|0)==(0); - if (!($130)) { - label = 70; - break L7; - } - $131 = ($$0206<<24>>24)==(0); - $132 = ($$0245|0)!=(0); - $or$cond = $132 | $131; - if (!($or$cond)) { - label = 72; - break L7; - } - if ($24) { - label = 74; - break L7; - } - $135 = HEAP32[$6>>2]|0; - $136 = (($135) + ($$0214))|0; - $137 = ($136|0)<($$0214|0); - if ($137) { - $$6$ph = 0; - break L7; - } - $138 = ($136>>>0)>($$0217>>>0); - if ($138) { - $139 = ($$0217|0)==(0); - $140 = ($135>>>0)>(4096); - $141 = $140 ? $135 : 4096; - $$$0217 = $139 ? $141 : $$0217; - $142 = HEAP32[$6>>2]|0; - $143 = (($142) + ($$0214))|0; - $$1218 = $$$0217; - while(1) { - $144 = ($143>>>0)>($$1218>>>0); - $145 = $$1218 << 1; - if ($144) { - $$1218 = $145; - } else { - break; - } - } - $146 = HEAP32[$10>>2]|0; - $147 = (_realloc($146,$$1218)|0); - $148 = ($147|0)==(0|0); - if ($148) { - label = 81; - break L7; - } - HEAP32[$10>>2] = $147; - $$2219 = $$1218; - } else { - $$2219 = $$0217; - } - $149 = HEAP32[$10>>2]|0; - $150 = (($149) + ($$0214)|0); - $151 = HEAP32[$6>>2]|0; - $152 = (_stbi__getn($8,$150,$151)|0); - $153 = ($152|0)==(0); - if ($153) { - label = 83; - break L7; - } - $154 = HEAP32[$6>>2]|0; - $155 = (($154) + ($$0214))|0; - $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; - } else { - $switch$split82D = ($25|0)<(1347179589); - if ($switch$split82D) { - switch ($25|0) { - case 1229472850: { - break; - } - default: { - label = 103; - break L9; - } - } - $27 = ($$0241|0)==(0); - if ($27) { - label = 7; - break L7; - } - $28 = HEAP32[$6>>2]|0; - $29 = ($28|0)==(13); - if (!($29)) { - label = 9; - break L7; - } - $30 = (_stbi__get32be($8)|0); - HEAP32[$8>>2] = $30; - $31 = ($30>>>0)>(16777216); - if ($31) { - label = 11; - break L7; - } - $32 = (_stbi__get32be($8)|0); - HEAP32[$16>>2] = $32; - $33 = ($32>>>0)>(16777216); - if ($33) { - label = 13; - break L7; - } - $34 = (_stbi__get8($8)|0); - $35 = $34&255; - HEAP32[$17>>2] = $35; - switch ($34<<24>>24) { - case 16: case 8: case 4: case 2: case 1: { - break; - } - default: { - label = 15; - break L7; - } - } - $36 = (_stbi__get8($8)|0); - $37 = $36&255; - $38 = ($36&255)>(6); - if ($38) { - label = 17; - break L7; - } - $39 = ($36<<24>>24)==(3); - if ($39) { - $40 = HEAP32[$17>>2]|0; - $41 = ($40|0)==(16); - if ($41) { - label = 20; - break L7; - } else { - $$1207 = 3; - } - } else { - $42 = $37 & 1; - $43 = ($42|0)==(0); - if ($43) { - $$1207 = $$0206; - } else { - label = 22; - break L7; - } - } - $44 = (_stbi__get8($8)|0); - $45 = ($44<<24>>24)==(0); - if (!($45)) { - label = 24; - break L7; - } - $46 = (_stbi__get8($8)|0); - $47 = ($46<<24>>24)==(0); - if (!($47)) { - label = 26; - break L7; - } - $48 = (_stbi__get8($8)|0); - $49 = $48&255; - $50 = ($48&255)>(1); - if ($50) { - label = 28; - break L7; - } - $51 = HEAP32[$8>>2]|0; - $52 = ($51|0)==(0); - if ($52) { - label = 31; - break L7; - } - $53 = HEAP32[$16>>2]|0; - $54 = ($53|0)==(0); - if ($54) { - label = 31; - break L7; - } - $55 = ($$1207<<24>>24)==(0); - $56 = (1073741824 / ($51>>>0))&-1; - if (!($55)) { - HEAP32[$20>>2] = 1; - $63 = $56 >>> 2; - $64 = ($63>>>0)<($53>>>0); - if ($64) { - label = 37; - break L7; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; - break; - } - } - $57 = $37 & 2; - $58 = $57 | 1; - $59 = $37 >>> 2; - $$lobit = $59 & 1; - $60 = (($58) + ($$lobit))|0; - HEAP32[$18>>2] = $60; - $61 = (($56>>>0) / ($60>>>0))&-1; - $62 = ($61>>>0)<($53>>>0); - if ($62) { - label = 34; - break L7; - } - if ($19) { - $$6$ph = 1; - break L7; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; - break; - } - } - $switch$split142D = ($25|0)<(1951551059); - if ($switch$split142D) { - switch ($25|0) { - case 1347179589: { - break; - } - default: { - label = 103; - break L9; - } - } - $65 = ($$0241|0)==(0); - if (!($65)) { - label = 39; - break L7; - } - $66 = HEAP32[$6>>2]|0; - $67 = ($66>>>0)>(768); - if ($67) { - label = 41; - break L7; - } - $68 = (($66>>>0) / 3)&-1; - $69 = ($68*3)|0; - $70 = ($69|0)==($66|0); - if (!($70)) { - label = 44; - break L7; - } - $71 = ($66>>>0)>(2); - if ($71) { - $$0226593 = 0; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; - break; - } - while(1) { - $72 = (_stbi__get8($8)|0); - $73 = $$0226593 << 2; - $74 = (($3) + ($73)|0); - HEAP8[$74>>0] = $72; - $75 = (_stbi__get8($8)|0); - $76 = $73 | 1; - $77 = (($3) + ($76)|0); - HEAP8[$77>>0] = $75; - $78 = (_stbi__get8($8)|0); - $79 = $73 | 2; - $80 = (($3) + ($79)|0); - HEAP8[$80>>0] = $78; - $81 = $73 | 3; - $82 = (($3) + ($81)|0); - HEAP8[$82>>0] = -1; - $83 = (($$0226593) + 1)|0; - $84 = ($83>>>0)<($68>>>0); - if ($84) { - $$0226593 = $83; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break L9; - } - } - } - switch ($25|0) { - case 1951551059: { - break; - } - default: { - label = 103; - break L9; - } - } - $85 = ($$0241|0)==(0); - if (!($85)) { - label = 47; - break L7; - } - $86 = HEAP32[$10>>2]|0; - $87 = ($86|0)==(0|0); - if (!($87)) { - label = 49; - break L7; - } - $88 = ($$0206<<24>>24)==(0); - if (!($88)) { - if ($23) { - label = 52; - break L7; - } - $90 = ($$0245|0)==(0); - if ($90) { - label = 54; - break L7; - } - $91 = HEAP32[$6>>2]|0; - $92 = ($91>>>0)>($$0245>>>0); - if ($92) { - label = 58; - break L7; - } - $93 = HEAP32[$6>>2]|0; - $94 = ($93|0)==(0); - if ($94) { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; - break; - } - $95 = HEAP32[$6>>2]|0; - $$1227588 = 0; - while(1) { - $96 = (_stbi__get8($8)|0); - $97 = $$1227588 << 2; - $98 = $97 | 3; - $99 = (($3) + ($98)|0); - HEAP8[$99>>0] = $96; - $100 = (($$1227588) + 1)|0; - $101 = ($100>>>0)<($95>>>0); - if ($101) { - $$1227588 = $100; - } else { - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; - break L9; - } - } - } - $102 = HEAP32[$21>>2]|0; - $103 = $102 & 1; - $104 = ($103|0)==(0); - if ($104) { - label = 61; - break L7; - } - $105 = HEAP32[$6>>2]|0; - $106 = $102 << 1; - $107 = ($105|0)==($106|0); - if (!($107)) { - label = 63; - break L7; - } - $108 = HEAP32[$22>>2]|0; - $109 = ($108|0)==(16); - $110 = HEAP32[$21>>2]|0; - $111 = ($110|0)>(0); - if ($109) { - if ($111) { - $$0239591 = 0; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; - break; - } - while(1) { - $112 = (_stbi__get16be($8)|0); - $113 = $112&65535; - $114 = (($5) + ($$0239591<<1)|0); - HEAP16[$114>>1] = $113; - $115 = (($$0239591) + 1)|0; - $116 = HEAP32[$21>>2]|0; - $117 = ($115|0)<($116|0); - if ($117) { - $$0239591 = $115; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break; - } - } - } else { - if ($111) { - $$1240589 = 0; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; - break; - } - while(1) { - $118 = (_stbi__get16be($8)|0); - $119 = $118 & 255; - $120 = HEAP32[$22>>2]|0; - $121 = (10531 + ($120)|0); - $122 = HEAP8[$121>>0]|0; - $123 = $122&255; - $124 = Math_imul($123, $119)|0; - $125 = $124&255; - $126 = (($4) + ($$1240589)|0); - HEAP8[$126>>0] = $125; - $127 = (($$1240589) + 1)|0; - $128 = HEAP32[$21>>2]|0; - $129 = ($127|0)<($128|0); - if ($129) { - $$1240589 = $127; - } else { - $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; - break; - } - } - } - } - } while(0); - if ((label|0) == 103) { - label = 0; - $202 = ($$0241|0)==(0); - if (!($202)) { - label = 104; - break; - } - $203 = $25 & 536870912; - $204 = ($203|0)==(0); - if ($204) { - label = 106; - break; - } - $213 = HEAP32[$6>>2]|0; - _stbi__skip($8,$213); - $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; - } - (_stbi__get32be($8)|0); - $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; - } - switch (label|0) { - case 7: { - _stbi__err(10305); - $$6$ph = 0; - break; - } - case 9: { - _stbi__err(10319); - $$6$ph = 0; - break; - } - case 11: { - _stbi__err(10332); - $$6$ph = 0; - break; - } - case 13: { - _stbi__err(10332); - $$6$ph = 0; - break; - } - case 15: { - _stbi__err(10342); - $$6$ph = 0; - break; - } - case 17: { - _stbi__err(10362); - $$6$ph = 0; - break; - } - case 20: { - _stbi__err(10362); - $$6$ph = 0; - break; - } - case 22: { - _stbi__err(10362); - $$6$ph = 0; - break; - } - case 24: { - _stbi__err(10372); - $$6$ph = 0; - break; - } - case 26: { - _stbi__err(10388); - $$6$ph = 0; - break; - } - case 28: { - _stbi__err(10406); - $$6$ph = 0; - break; - } - case 31: { - _stbi__err(10427); - $$6$ph = 0; - break; - } - case 34: { - _stbi__err(10332); - $$6$ph = 0; - break; - } - case 37: { - _stbi__err(10332); - $$6$ph = 0; - break; - } - case 39: { - _stbi__err(10441); - $$6$ph = 0; - break; - } - case 41: { - _stbi__err(10456); - $$6$ph = 0; - break; - } - case 44: { - _stbi__err(10456); - $$6$ph = 0; - break; - } - case 47: { - _stbi__err(10441); - $$6$ph = 0; - break; - } - case 49: { - _stbi__err(10469); - $$6$ph = 0; - break; - } - case 52: { - $89 = ((($8)) + 8|0); - HEAP32[$89>>2] = 4; - $$6$ph = 1; - break; - } - case 54: { - _stbi__err(10485); - $$6$ph = 0; - break; - } - case 58: { - _stbi__err(10502); - $$6$ph = 0; - break; - } - case 61: { - _stbi__err(10515); - $$6$ph = 0; - break; - } - case 63: { - _stbi__err(10502); - $$6$ph = 0; - break; - } - case 70: { - _stbi__err(10441); - $$6$ph = 0; - break; - } - case 72: { - _stbi__err(10540); - $$6$ph = 0; - break; - } - case 74: { - $133 = $$0206&255; - $134 = ((($8)) + 8|0); - HEAP32[$134>>2] = $133; - $$6$ph = 1; - break; - } - case 81: { - _stbi__err(10189); - $$6$ph = 0; - break; - } - case 83: { - _stbi__err(10548); - $$6$ph = 0; - break; - } - case 85: { - $156 = ($$0241|0)==(0); - do { - if ($156) { - $157 = ($1|0)==(0); - if ($157) { - $158 = HEAP32[$10>>2]|0; - $159 = ($158|0)==(0|0); - if ($159) { - _stbi__err(10558); - $$4 = 0; - break; - } - $160 = HEAP32[$8>>2]|0; - $161 = ((($0)) + 16|0); - $162 = HEAP32[$161>>2]|0; - $163 = Math_imul($162, $160)|0; - $164 = (($163) + 7)|0; - $165 = $164 >>> 3; - $166 = ((($8)) + 4|0); - $167 = HEAP32[$166>>2]|0; - $168 = ((($8)) + 8|0); - $169 = HEAP32[$168>>2]|0; - $170 = Math_imul($169, $167)|0; - $171 = Math_imul($170, $165)|0; - $172 = (($171) + ($167))|0; - HEAP32[$7>>2] = $172; - $173 = ($$0228|0)!=(0); - $174 = $173 ^ 1; - $175 = $174&1; - $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); - HEAP32[$9>>2] = $176; - $177 = ($176|0)==(0|0); - if ($177) { - $$4 = 0; - } else { - $178 = HEAP32[$10>>2]|0; - _free($178); - HEAP32[$10>>2] = 0; - $179 = HEAP32[$168>>2]|0; - $180 = (($179) + 1)|0; - $notlhs = ($180|0)!=($2|0); - $notrhs = ($2|0)==(3); - $or$cond5$not = $notrhs | $notlhs; - $181 = ($$0206<<24>>24)!=(0); - $or$cond7 = $181 | $or$cond5$not; - $182 = ($$0211<<24>>24)==(0); - $or$cond248 = $182 & $or$cond7; - $$254 = $or$cond248 ? $179 : $180; - $183 = ((($8)) + 12|0); - HEAP32[$183>>2] = $$254; - $184 = HEAP32[$9>>2]|0; - $185 = HEAP32[$7>>2]|0; - $186 = HEAP32[$161>>2]|0; - $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); - $188 = ($187|0)==(0); - if ($188) { - $$4 = 0; - } else { - do { - if (!($182)) { - $189 = HEAP32[$161>>2]|0; - $190 = ($189|0)==(16); - if ($190) { - $191 = HEAP32[$183>>2]|0; - _stbi__compute_transparency16($0,$5,$191); - break; - } else { - $192 = HEAP32[$183>>2]|0; - _stbi__compute_transparency($0,$4,$192); - break; - } - } - } while(0); - $193 = HEAP32[5593]|0; - $194 = ($193|0)!=(0); - $or$cond11 = $173 & $194; - if ($or$cond11) { - $195 = HEAP32[$183>>2]|0; - $196 = ($195|0)>(2); - if ($196) { - _stbi__de_iphone($0); - } - } - if ($181) { - $197 = $$0206&255; - HEAP32[$168>>2] = $197; - $198 = ($2|0)>(2); - $$ = $198 ? $2 : $197; - HEAP32[$183>>2] = $$; - $199 = (_stbi__expand_png_palette($0,$3,$$)|0); - $200 = ($199|0)==(0); - if ($200) { - $$4 = 0; - break; - } - } - $201 = HEAP32[$9>>2]|0; - _free($201); - HEAP32[$9>>2] = 0; - $$4 = 1; - } - } - } else { - $$4 = 1; - } - } else { - _stbi__err(10441); - $$4 = 0; - } - } while(0); - $$6$ph = $$4; - break; - } - case 104: { - _stbi__err(10441); - $$6$ph = 0; - break; - } - case 106: { - $205 = $25 >>> 24; - $206 = $205&255; - HEAP8[10566] = $206; - $207 = HEAP32[$15>>2]|0; - $208 = $207 >>> 16; - $209 = $208&255; - HEAP8[(10567)>>0] = $209; - $210 = $207 >>> 8; - $211 = $210&255; - HEAP8[(10568)>>0] = $211; - $212 = $207&255; - HEAP8[(10569)>>0] = $212; - _stbi__err(10566); - $$6$ph = 0; - break; - } - } - $$7 = $$6$ph; - STACKTOP = sp;return ($$7|0); -} -function _stbi__convert_format($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; - var $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, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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, $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; - 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, label = 0; - var sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((10230|0),(10134|0),1561,(10284|0)); - // unreachable; - } - $7 = (_stbi__malloc_mad3($2,$3,$4)|0); - $8 = ($7|0)==(0|0); - if ($8) { - _free($0); - _stbi__err(10189); - $$0163 = 0; - return ($$0163|0); - } - $9 = ($4|0)>(0); - L11: do { - if ($9) { - $10 = $1 << 3; - $11 = (($10) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $12 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $13 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $14 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $15 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $16 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $17 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $18 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $19 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $20 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $21 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $22 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $23 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $24 = Math_imul($$0164259, $3)|0; - $25 = Math_imul($24, $1)|0; - $26 = (($0) + ($25)|0); - $27 = Math_imul($24, $2)|0; - $28 = (($7) + ($27)|0); - do { - switch ($11|0) { - case 10: { - if ($12) { - $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; - while(1) { - $29 = HEAP8[$$0151255>>0]|0; - HEAP8[$$0256>>0] = $29; - $30 = ((($$0256)) + 1|0); - HEAP8[$30>>0] = -1; - $31 = ((($$0151255)) + 1|0); - $32 = ((($$0256)) + 2|0); - $$0165 = (($$0165257) + -1)|0; - $33 = ($$0165|0)>(-1); - if ($33) { - $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; - } else { - break; - } - } - } - break; - } - case 11: { - if ($13) { - $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; - while(1) { - $34 = HEAP8[$$1152250>>0]|0; - $35 = ((($$1251)) + 2|0); - HEAP8[$35>>0] = $34; - $36 = ((($$1251)) + 1|0); - HEAP8[$36>>0] = $34; - HEAP8[$$1251>>0] = $34; - $37 = ((($$1152250)) + 1|0); - $38 = ((($$1251)) + 3|0); - $$1166 = (($$1166252) + -1)|0; - $39 = ($$1166|0)>(-1); - if ($39) { - $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; - } else { - break; - } - } - } - break; - } - case 12: { - if ($14) { - $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; - while(1) { - $40 = HEAP8[$$2153245>>0]|0; - $41 = ((($$2246)) + 2|0); - HEAP8[$41>>0] = $40; - $42 = ((($$2246)) + 1|0); - HEAP8[$42>>0] = $40; - HEAP8[$$2246>>0] = $40; - $43 = ((($$2246)) + 3|0); - HEAP8[$43>>0] = -1; - $44 = ((($$2153245)) + 1|0); - $45 = ((($$2246)) + 4|0); - $$2167 = (($$2167247) + -1)|0; - $46 = ($$2167|0)>(-1); - if ($46) { - $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; - } else { - break; - } - } - } - break; - } - case 17: { - if ($15) { - $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; - while(1) { - $47 = HEAP8[$$3154240>>0]|0; - HEAP8[$$3241>>0] = $47; - $48 = ((($$3154240)) + 2|0); - $49 = ((($$3241)) + 1|0); - $$3168 = (($$3168242) + -1)|0; - $50 = ($$3168|0)>(-1); - if ($50) { - $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; - } else { - break; - } - } - } - break; - } - case 19: { - if ($16) { - $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; - while(1) { - $51 = HEAP8[$$4155235>>0]|0; - $52 = ((($$4236)) + 2|0); - HEAP8[$52>>0] = $51; - $53 = ((($$4236)) + 1|0); - HEAP8[$53>>0] = $51; - HEAP8[$$4236>>0] = $51; - $54 = ((($$4155235)) + 2|0); - $55 = ((($$4236)) + 3|0); - $$4169 = (($$4169237) + -1)|0; - $56 = ($$4169|0)>(-1); - if ($56) { - $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; - } else { - break; - } - } - } - break; - } - case 20: { - if ($17) { - $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; - while(1) { - $57 = HEAP8[$$5156230>>0]|0; - $58 = ((($$5231)) + 2|0); - HEAP8[$58>>0] = $57; - $59 = ((($$5231)) + 1|0); - HEAP8[$59>>0] = $57; - HEAP8[$$5231>>0] = $57; - $60 = ((($$5156230)) + 1|0); - $61 = HEAP8[$60>>0]|0; - $62 = ((($$5231)) + 3|0); - HEAP8[$62>>0] = $61; - $63 = ((($$5156230)) + 2|0); - $64 = ((($$5231)) + 4|0); - $$5170 = (($$5170232) + -1)|0; - $65 = ($$5170|0)>(-1); - if ($65) { - $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; - } else { - break; - } - } - } - break; - } - case 28: { - if ($18) { - $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; - while(1) { - $66 = HEAP8[$$6157225>>0]|0; - HEAP8[$$6226>>0] = $66; - $67 = ((($$6157225)) + 1|0); - $68 = HEAP8[$67>>0]|0; - $69 = ((($$6226)) + 1|0); - HEAP8[$69>>0] = $68; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP8[$70>>0]|0; - $72 = ((($$6226)) + 2|0); - HEAP8[$72>>0] = $71; - $73 = ((($$6226)) + 3|0); - HEAP8[$73>>0] = -1; - $74 = ((($$6157225)) + 3|0); - $75 = ((($$6226)) + 4|0); - $$6171 = (($$6171227) + -1)|0; - $76 = ($$6171|0)>(-1); - if ($76) { - $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; - } else { - break; - } - } - } - break; - } - case 25: { - if ($19) { - $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; - while(1) { - $77 = HEAP8[$$7158220>>0]|0; - $78 = $77&255; - $79 = ((($$7158220)) + 1|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = (_stbi__compute_y($78,$81,$84)|0); - HEAP8[$$7221>>0] = $85; - $86 = ((($$7158220)) + 3|0); - $87 = ((($$7221)) + 1|0); - $$7172 = (($$7172222) + -1)|0; - $88 = ($$7172|0)>(-1); - if ($88) { - $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; - } else { - break; - } - } - } - break; - } - case 26: { - if ($20) { - $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; - while(1) { - $89 = HEAP8[$$8159215>>0]|0; - $90 = $89&255; - $91 = ((($$8159215)) + 1|0); - $92 = HEAP8[$91>>0]|0; - $93 = $92&255; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP8[$94>>0]|0; - $96 = $95&255; - $97 = (_stbi__compute_y($90,$93,$96)|0); - HEAP8[$$8216>>0] = $97; - $98 = ((($$8216)) + 1|0); - HEAP8[$98>>0] = -1; - $99 = ((($$8159215)) + 3|0); - $100 = ((($$8216)) + 2|0); - $$8173 = (($$8173217) + -1)|0; - $101 = ($$8173|0)>(-1); - if ($101) { - $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; - } else { - break; - } - } - } - break; - } - case 33: { - if ($21) { - $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; - while(1) { - $102 = HEAP8[$$9160210>>0]|0; - $103 = $102&255; - $104 = ((($$9160210)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = $105&255; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = $108&255; - $110 = (_stbi__compute_y($103,$106,$109)|0); - HEAP8[$$9211>>0] = $110; - $111 = ((($$9160210)) + 4|0); - $112 = ((($$9211)) + 1|0); - $$9174 = (($$9174212) + -1)|0; - $113 = ($$9174|0)>(-1); - if ($113) { - $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; - } else { - break; - } - } - } - break; - } - case 34: { - if ($22) { - $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; - while(1) { - $114 = HEAP8[$$10161205>>0]|0; - $115 = $114&255; - $116 = ((($$10161205)) + 1|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP8[$119>>0]|0; - $121 = $120&255; - $122 = (_stbi__compute_y($115,$118,$121)|0); - HEAP8[$$10206>>0] = $122; - $123 = ((($$10161205)) + 3|0); - $124 = HEAP8[$123>>0]|0; - $125 = ((($$10206)) + 1|0); - HEAP8[$125>>0] = $124; - $126 = ((($$10161205)) + 4|0); - $127 = ((($$10206)) + 2|0); - $$10175 = (($$10175207) + -1)|0; - $128 = ($$10175|0)>(-1); - if ($128) { - $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; - } else { - break; - } - } - } - break; - } - case 35: { - if ($23) { - $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; - while(1) { - $129 = HEAP8[$$11162201>>0]|0; - HEAP8[$$11202>>0] = $129; - $130 = ((($$11162201)) + 1|0); - $131 = HEAP8[$130>>0]|0; - $132 = ((($$11202)) + 1|0); - HEAP8[$132>>0] = $131; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP8[$133>>0]|0; - $135 = ((($$11202)) + 2|0); - HEAP8[$135>>0] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = ((($$11202)) + 3|0); - $$11176 = (($$11176203) + -1)|0; - $138 = ($$11176|0)>(-1); - if ($138) { - $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $139 = (($$0164259) + 1)|0; - $140 = ($139|0)<($4|0); - if ($140) { - $$0164259 = $139; - } else { - break L11; - } - } - ___assert_fail((13370|0),(10134|0),1590,(10284|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $7; - return ($$0163|0); -} -function _stbi__convert_format16($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; - var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; - var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; - var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; - var $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, $131 = 0, $132 = 0; - var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 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, $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; - var $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, $60 = 0; - var $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, $79 = 0; - var $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, $97 = 0; - var $98 = 0, $99 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ($2|0)==($1|0); - if ($5) { - $$0163 = $0; - return ($$0163|0); - } - $$off = (($2) + -1)|0; - $6 = ($$off>>>0)<(4); - if (!($6)) { - ___assert_fail((10230|0),(10134|0),1610,(10261|0)); - // unreachable; - } - $7 = $2 << 1; - $8 = Math_imul($7, $3)|0; - $9 = Math_imul($8, $4)|0; - $10 = (_stbi__malloc($9)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _free($0); - _stbi__err(10189); - $$0163 = 0; - return ($$0163|0); - } - $12 = ($4|0)>(0); - L11: do { - if ($12) { - $13 = $1 << 3; - $14 = (($13) + ($2))|0; - $$0165254 = (($3) + -1)|0; - $15 = ($$0165254|0)>(-1); - $$1166249 = (($3) + -1)|0; - $16 = ($$1166249|0)>(-1); - $$2167244 = (($3) + -1)|0; - $17 = ($$2167244|0)>(-1); - $$3168239 = (($3) + -1)|0; - $18 = ($$3168239|0)>(-1); - $$4169234 = (($3) + -1)|0; - $19 = ($$4169234|0)>(-1); - $$5170229 = (($3) + -1)|0; - $20 = ($$5170229|0)>(-1); - $$6171224 = (($3) + -1)|0; - $21 = ($$6171224|0)>(-1); - $$7172219 = (($3) + -1)|0; - $22 = ($$7172219|0)>(-1); - $$8173214 = (($3) + -1)|0; - $23 = ($$8173214|0)>(-1); - $$9174209 = (($3) + -1)|0; - $24 = ($$9174209|0)>(-1); - $$10175204 = (($3) + -1)|0; - $25 = ($$10175204|0)>(-1); - $$11176200 = (($3) + -1)|0; - $26 = ($$11176200|0)>(-1); - $$0164259 = 0; - L13: while(1) { - $27 = Math_imul($$0164259, $3)|0; - $28 = Math_imul($27, $1)|0; - $29 = (($0) + ($28<<1)|0); - $30 = Math_imul($27, $2)|0; - $31 = (($10) + ($30<<1)|0); - do { - switch ($14|0) { - case 10: { - if ($15) { - $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; - while(1) { - $32 = HEAP16[$$0151255>>1]|0; - HEAP16[$$0256>>1] = $32; - $33 = ((($$0256)) + 2|0); - HEAP16[$33>>1] = -1; - $34 = ((($$0151255)) + 2|0); - $35 = ((($$0256)) + 4|0); - $$0165 = (($$0165257) + -1)|0; - $36 = ($$0165|0)>(-1); - if ($36) { - $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; - } else { - break; - } - } - } - break; - } - case 11: { - if ($16) { - $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; - while(1) { - $37 = HEAP16[$$1152250>>1]|0; - $38 = ((($$1251)) + 4|0); - HEAP16[$38>>1] = $37; - $39 = ((($$1251)) + 2|0); - HEAP16[$39>>1] = $37; - HEAP16[$$1251>>1] = $37; - $40 = ((($$1152250)) + 2|0); - $41 = ((($$1251)) + 6|0); - $$1166 = (($$1166252) + -1)|0; - $42 = ($$1166|0)>(-1); - if ($42) { - $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; - } else { - break; - } - } - } - break; - } - case 12: { - if ($17) { - $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; - while(1) { - $43 = HEAP16[$$2153245>>1]|0; - $44 = ((($$2246)) + 4|0); - HEAP16[$44>>1] = $43; - $45 = ((($$2246)) + 2|0); - HEAP16[$45>>1] = $43; - HEAP16[$$2246>>1] = $43; - $46 = ((($$2246)) + 6|0); - HEAP16[$46>>1] = -1; - $47 = ((($$2153245)) + 2|0); - $48 = ((($$2246)) + 8|0); - $$2167 = (($$2167247) + -1)|0; - $49 = ($$2167|0)>(-1); - if ($49) { - $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; - } else { - break; - } - } - } - break; - } - case 17: { - if ($18) { - $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; - while(1) { - $50 = HEAP16[$$3154240>>1]|0; - HEAP16[$$3241>>1] = $50; - $51 = ((($$3154240)) + 4|0); - $52 = ((($$3241)) + 2|0); - $$3168 = (($$3168242) + -1)|0; - $53 = ($$3168|0)>(-1); - if ($53) { - $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; - } else { - break; - } - } - } - break; - } - case 19: { - if ($19) { - $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; - while(1) { - $54 = HEAP16[$$4155235>>1]|0; - $55 = ((($$4236)) + 4|0); - HEAP16[$55>>1] = $54; - $56 = ((($$4236)) + 2|0); - HEAP16[$56>>1] = $54; - HEAP16[$$4236>>1] = $54; - $57 = ((($$4155235)) + 4|0); - $58 = ((($$4236)) + 6|0); - $$4169 = (($$4169237) + -1)|0; - $59 = ($$4169|0)>(-1); - if ($59) { - $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; - } else { - break; - } - } - } - break; - } - case 20: { - if ($20) { - $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; - while(1) { - $60 = HEAP16[$$5156230>>1]|0; - $61 = ((($$5231)) + 4|0); - HEAP16[$61>>1] = $60; - $62 = ((($$5231)) + 2|0); - HEAP16[$62>>1] = $60; - HEAP16[$$5231>>1] = $60; - $63 = ((($$5156230)) + 2|0); - $64 = HEAP16[$63>>1]|0; - $65 = ((($$5231)) + 6|0); - HEAP16[$65>>1] = $64; - $66 = ((($$5156230)) + 4|0); - $67 = ((($$5231)) + 8|0); - $$5170 = (($$5170232) + -1)|0; - $68 = ($$5170|0)>(-1); - if ($68) { - $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; - } else { - break; - } - } - } - break; - } - case 28: { - if ($21) { - $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; - while(1) { - $69 = HEAP16[$$6157225>>1]|0; - HEAP16[$$6226>>1] = $69; - $70 = ((($$6157225)) + 2|0); - $71 = HEAP16[$70>>1]|0; - $72 = ((($$6226)) + 2|0); - HEAP16[$72>>1] = $71; - $73 = ((($$6157225)) + 4|0); - $74 = HEAP16[$73>>1]|0; - $75 = ((($$6226)) + 4|0); - HEAP16[$75>>1] = $74; - $76 = ((($$6226)) + 6|0); - HEAP16[$76>>1] = -1; - $77 = ((($$6157225)) + 6|0); - $78 = ((($$6226)) + 8|0); - $$6171 = (($$6171227) + -1)|0; - $79 = ($$6171|0)>(-1); - if ($79) { - $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; - } else { - break; - } - } - } - break; - } - case 25: { - if ($22) { - $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; - while(1) { - $80 = HEAP16[$$7158220>>1]|0; - $81 = $80&65535; - $82 = ((($$7158220)) + 2|0); - $83 = HEAP16[$82>>1]|0; - $84 = $83&65535; - $85 = ((($$7158220)) + 4|0); - $86 = HEAP16[$85>>1]|0; - $87 = $86&65535; - $88 = (_stbi__compute_y_16($81,$84,$87)|0); - HEAP16[$$7221>>1] = $88; - $89 = ((($$7158220)) + 6|0); - $90 = ((($$7221)) + 2|0); - $$7172 = (($$7172222) + -1)|0; - $91 = ($$7172|0)>(-1); - if ($91) { - $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; - } else { - break; - } - } - } - break; - } - case 26: { - if ($23) { - $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; - while(1) { - $92 = HEAP16[$$8159215>>1]|0; - $93 = $92&65535; - $94 = ((($$8159215)) + 2|0); - $95 = HEAP16[$94>>1]|0; - $96 = $95&65535; - $97 = ((($$8159215)) + 4|0); - $98 = HEAP16[$97>>1]|0; - $99 = $98&65535; - $100 = (_stbi__compute_y_16($93,$96,$99)|0); - HEAP16[$$8216>>1] = $100; - $101 = ((($$8216)) + 2|0); - HEAP16[$101>>1] = -1; - $102 = ((($$8159215)) + 6|0); - $103 = ((($$8216)) + 4|0); - $$8173 = (($$8173217) + -1)|0; - $104 = ($$8173|0)>(-1); - if ($104) { - $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; - } else { - break; - } - } - } - break; - } - case 33: { - if ($24) { - $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; - while(1) { - $105 = HEAP16[$$9160210>>1]|0; - $106 = $105&65535; - $107 = ((($$9160210)) + 2|0); - $108 = HEAP16[$107>>1]|0; - $109 = $108&65535; - $110 = ((($$9160210)) + 4|0); - $111 = HEAP16[$110>>1]|0; - $112 = $111&65535; - $113 = (_stbi__compute_y_16($106,$109,$112)|0); - HEAP16[$$9211>>1] = $113; - $114 = ((($$9160210)) + 8|0); - $115 = ((($$9211)) + 2|0); - $$9174 = (($$9174212) + -1)|0; - $116 = ($$9174|0)>(-1); - if ($116) { - $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; - } else { - break; - } - } - } - break; - } - case 34: { - if ($25) { - $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; - while(1) { - $117 = HEAP16[$$10161205>>1]|0; - $118 = $117&65535; - $119 = ((($$10161205)) + 2|0); - $120 = HEAP16[$119>>1]|0; - $121 = $120&65535; - $122 = ((($$10161205)) + 4|0); - $123 = HEAP16[$122>>1]|0; - $124 = $123&65535; - $125 = (_stbi__compute_y_16($118,$121,$124)|0); - HEAP16[$$10206>>1] = $125; - $126 = ((($$10161205)) + 6|0); - $127 = HEAP16[$126>>1]|0; - $128 = ((($$10206)) + 2|0); - HEAP16[$128>>1] = $127; - $129 = ((($$10161205)) + 8|0); - $130 = ((($$10206)) + 4|0); - $$10175 = (($$10175207) + -1)|0; - $131 = ($$10175|0)>(-1); - if ($131) { - $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; - } else { - break; - } - } - } - break; - } - case 35: { - if ($26) { - $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; - while(1) { - $132 = HEAP16[$$11162201>>1]|0; - HEAP16[$$11202>>1] = $132; - $133 = ((($$11162201)) + 2|0); - $134 = HEAP16[$133>>1]|0; - $135 = ((($$11202)) + 2|0); - HEAP16[$135>>1] = $134; - $136 = ((($$11162201)) + 4|0); - $137 = HEAP16[$136>>1]|0; - $138 = ((($$11202)) + 4|0); - HEAP16[$138>>1] = $137; - $139 = ((($$11162201)) + 8|0); - $140 = ((($$11202)) + 6|0); - $$11176 = (($$11176203) + -1)|0; - $141 = ($$11176|0)>(-1); - if ($141) { - $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; - } else { - break; - } - } - } - break; - } - default: { - break L13; - } - } - } while(0); - $142 = (($$0164259) + 1)|0; - $143 = ($142|0)<($4|0); - if ($143) { - $$0164259 = $142; - } else { - break L11; - } - } - ___assert_fail((13370|0),(10134|0),1639,(10261|0)); - // unreachable; - } - } while(0); - _free($0); - $$0163 = $10; - return ($$0163|0); -} -function _stbi__compute_y_16($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, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&65535; - return ($9|0); -} -function _stbi__malloc_mad3($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - $5 = Math_imul($1, $0)|0; - $6 = Math_imul($5, $2)|0; - $7 = (_stbi__malloc($6)|0); - $$0 = $7; - return ($$0|0); -} -function _stbi__compute_y($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, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($0*77)|0; - $4 = ($1*150)|0; - $5 = (($4) + ($3))|0; - $6 = ($2*29)|0; - $7 = (($5) + ($6))|0; - $8 = $7 >>> 8; - $9 = $8&255; - return ($9|0); -} -function _stbi__mad3sizes_valid($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_stbi__mul2sizes_valid($0,$1)|0); - $4 = ($3|0)==(0); - if ($4) { - $12 = 0; - } else { - $5 = Math_imul($1, $0)|0; - $6 = (_stbi__mul2sizes_valid($5,$2)|0); - $7 = ($6|0)==(0); - if ($7) { - $12 = 0; - } else { - $8 = Math_imul($5, $2)|0; - $9 = (_stbi__addsizes_valid($8)|0); - $10 = ($9|0)!=(0); - $12 = $10; - } - } - $11 = $12&1; - return ($11|0); -} -function _stbi__mul2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 | $0; - $3 = ($2|0)<(0); - if ($3) { - $$0 = 0; - } else { - $4 = ($1|0)==(0); - if ($4) { - $$0 = 1; - } else { - $5 = (2147483647 / ($1|0))&-1; - $6 = ($5|0)>=($0|0); - $7 = $6&1; - $$0 = $7; - } - } - return ($$0|0); -} -function _stbi__addsizes_valid($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return 1; -} -function _stbi__check_png_header($0) { - $0 = $0|0; - var $$05 = 0, $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; - $1 = (_stbi__get8($0)|0); - $2 = ($1<<24>>24)==(-119); - if ($2) { - $3 = (_stbi__get8($0)|0); - $4 = ($3<<24>>24)==(80); - if ($4) { - $5 = (_stbi__get8($0)|0); - $6 = ($5<<24>>24)==(78); - if ($6) { - $7 = (_stbi__get8($0)|0); - $8 = ($7<<24>>24)==(71); - if ($8) { - $9 = (_stbi__get8($0)|0); - $10 = ($9<<24>>24)==(13); - if ($10) { - $11 = (_stbi__get8($0)|0); - $12 = ($11<<24>>24)==(10); - if ($12) { - $13 = (_stbi__get8($0)|0); - $14 = ($13<<24>>24)==(26); - if ($14) { - $15 = (_stbi__get8($0)|0); - $16 = ($15<<24>>24)==(10); - if ($16) { - $$05 = 1; - return ($$05|0); - } - } - } - } - } - } - } - } - _stbi__err(11223); - $$05 = 0; - return ($$05|0); -} -function _stbi__get_chunk_header($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__get32be($1)|0); - $3 = (_stbi__get32be($1)|0); - HEAP32[$0>>2] = $2; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; - return; -} -function _stbi__skip($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; - var $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(0); - if ($2) { - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 168|0); - HEAP32[$5>>2] = $4; - return; - } - $6 = ((($0)) + 16|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0|0); - if (!($8)) { - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 168|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10; - $14 = (($13) - ($12))|0; - $15 = ($14|0)<($1|0); - if ($15) { - HEAP32[$11>>2] = $10; - $16 = ((($0)) + 20|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($0)) + 28|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($1) - ($14))|0; - FUNCTION_TABLE_vii[$17 & 63]($19,$20); - return; - } - } - $21 = ((($0)) + 168|0); - $22 = HEAP32[$21>>2]|0; - $23 = (($22) + ($1)|0); - HEAP32[$21>>2] = $23; - return; -} -function _stbi__get32be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get16be($0)|0); - $2 = $1 << 16; - $3 = (_stbi__get16be($0)|0); - $4 = (($2) + ($3))|0; - return ($4|0); -} -function _stbi__get8($0) { - $0 = $0|0; - var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 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)) + 168|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 172|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2>>>0)<($4>>>0); - do { - if ($5) { - $$sink6 = $2; - } else { - $6 = ((($0)) + 32|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - $$0 = 0; - return ($$0|0); - } else { - _stbi__refill_buffer($0); - $9 = HEAP32[$1>>2]|0; - $$sink6 = $9; - break; - } - } - } while(0); - $10 = ((($$sink6)) + 1|0); - HEAP32[$1>>2] = $10; - $11 = HEAP8[$$sink6>>0]|0; - $$0 = $11; - return ($$0|0); -} -function _stbi__get16be($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__get8($0)|0); - $2 = $1&255; - $3 = $2 << 8; - $4 = (_stbi__get8($0)|0); - $5 = $4&255; - $6 = $3 | $5; - return ($6|0); -} -function _stbi__getn($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$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, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($0)) + 172|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 168|0); - $9 = HEAP32[$8>>2]|0; - $10 = $9; - $11 = (($7) - ($10))|0; - $12 = ($11|0)<($2|0); - if ($12) { - _memcpy(($1|0),($9|0),($11|0))|0; - $13 = HEAP32[$3>>2]|0; - $14 = ((($0)) + 28|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($1) + ($11)|0); - $17 = (($2) - ($11))|0; - $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); - $19 = ($18|0)==($17|0); - $20 = $19&1; - $21 = HEAP32[$6>>2]|0; - HEAP32[$8>>2] = $21; - $$1 = $20; - return ($$1|0); - } - } - $22 = ((($0)) + 168|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($23) + ($2)|0); - $25 = ((($0)) + 172|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($24>>>0)>($26>>>0); - if ($27) { - $$1 = 0; - return ($$1|0); - } - _memcpy(($1|0),($23|0),($2|0))|0; - $28 = HEAP32[$22>>2]|0; - $29 = (($28) + ($2)|0); - HEAP32[$22>>2] = $29; - $$1 = 1; - return ($$1|0); -} -function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); - $5 = sp; - $6 = (_stbi__malloc($2)|0); - $7 = ($6|0)==(0|0); - do { - if ($7) { - $$0 = 0; - } else { - HEAP32[$5>>2] = $0; - $8 = (($0) + ($1)|0); - $9 = ((($5)) + 4|0); - HEAP32[$9>>2] = $8; - $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); - $11 = ($10|0)==(0); - $12 = ((($5)) + 20|0); - $13 = HEAP32[$12>>2]|0; - if ($11) { - _free($13); - $$0 = 0; - break; - } - $14 = ($3|0)==(0|0); - if ($14) { - $$0 = $13; - } else { - $15 = ((($5)) + 16|0); - $16 = HEAP32[$15>>2]|0; - $17 = $13; - $18 = (($16) - ($17))|0; - HEAP32[$3>>2] = $18; - $$0 = $13; - } - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 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; - var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; - var $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, $79 = 0, $8 = 0; - var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ($4|0)==(16); - $8 = $7 ? 2 : 1; - $9 = Math_imul($8, $3)|0; - $10 = ($6|0)==(0); - $11 = HEAP32[$0>>2]|0; - $12 = HEAP32[$11>>2]|0; - $13 = ((($11)) + 4|0); - $14 = HEAP32[$13>>2]|0; - if ($10) { - $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); - $$4 = $15; - return ($$4|0); - } - $16 = (_stbi__malloc_mad3($12,$14,$9)|0); - $17 = ((($0)) + 12|0); - $18 = ((($0)) + 12|0); - $$0103117 = 0;$$095119 = $1;$$099118 = $2; - while(1) { - $19 = HEAP32[$0>>2]|0; - $20 = HEAP32[$19>>2]|0; - $21 = (3012 + ($$0103117<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = (3040 + ($$0103117<<2)|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($20) + -1)|0; - $26 = (($25) - ($22))|0; - $27 = (($26) + ($24))|0; - $28 = (($27>>>0) / ($24>>>0))&-1; - $29 = ((($19)) + 4|0); - $30 = HEAP32[$29>>2]|0; - $31 = (3068 + ($$0103117<<2)|0); - $32 = HEAP32[$31>>2]|0; - $33 = (3096 + ($$0103117<<2)|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($30) + -1)|0; - $36 = (($35) - ($32))|0; - $37 = (($36) + ($34))|0; - $38 = (($37>>>0) / ($34>>>0))&-1; - $39 = ($24>>>0)<=($27>>>0); - $40 = ($34>>>0)<=($37>>>0); - $or$cond = $39 & $40; - if ($or$cond) { - $41 = ((($19)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = Math_imul($28, $4)|0; - $44 = Math_imul($43, $42)|0; - $45 = (($44) + 7)|0; - $46 = $45 >> 3; - $47 = (($46) + 1)|0; - $48 = Math_imul($47, $38)|0; - $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); - $50 = ($49|0)==(0); - if ($50) { - label = 13; - break; - } - $51 = ($38|0)>(0); - if ($51) { - $52 = ($28|0)>(0); - $$0106116 = 0; - while(1) { - if ($52) { - $53 = HEAP32[$33>>2]|0; - $54 = Math_imul($53, $$0106116)|0; - $55 = HEAP32[$31>>2]|0; - $56 = (($54) + ($55))|0; - $57 = HEAP32[$23>>2]|0; - $58 = HEAP32[$21>>2]|0; - $59 = Math_imul($56, $9)|0; - $60 = Math_imul($$0106116, $28)|0; - $$0107115 = 0; - while(1) { - $61 = Math_imul($57, $$0107115)|0; - $62 = (($61) + ($58))|0; - $63 = HEAP32[$0>>2]|0; - $64 = HEAP32[$63>>2]|0; - $65 = Math_imul($59, $64)|0; - $66 = (($16) + ($65)|0); - $67 = Math_imul($62, $9)|0; - $68 = (($66) + ($67)|0); - $69 = HEAP32[$18>>2]|0; - $70 = (($$0107115) + ($60))|0; - $71 = Math_imul($70, $9)|0; - $72 = (($69) + ($71)|0); - _memcpy(($68|0),($72|0),($9|0))|0; - $73 = (($$0107115) + 1)|0; - $74 = ($73|0)<($28|0); - if ($74) { - $$0107115 = $73; - } else { - break; - } - } - } - $75 = (($$0106116) + 1)|0; - $76 = ($75|0)<($38|0); - if ($76) { - $$0106116 = $75; - } else { - break; - } - } - } - $77 = HEAP32[$17>>2]|0; - _free($77); - $78 = (($$095119) + ($48)|0); - $79 = (($$099118) - ($48))|0; - $$3102$ph = $79;$$398$ph = $78; - } else { - $$3102$ph = $$099118;$$398$ph = $$095119; - } - $80 = (($$0103117) + 1)|0; - $81 = ($80|0)<(7); - if ($81) { - $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; - } else { - label = 15; - break; - } - } - if ((label|0) == 13) { - _free($16); - $$4 = 0; - return ($$4|0); - } - else if ((label|0) == 15) { - $82 = ((($0)) + 12|0); - HEAP32[$82>>2] = $16; - $$4 = 1; - return ($$4|0); - } - return (0)|0; -} -function _stbi__compute_transparency16($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP16[$$04>>1]|0; - $15 = HEAP16[$1>>1]|0; - $not$ = ($14<<16>>16)!=($15<<16>>16); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 2|0); - HEAP16[$17>>1] = $16; - $18 = ((($$04)) + 4|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 2|0); - $12 = ((($1)) + 4|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP16[$$16>>1]|0; - $21 = HEAP16[$1>>1]|0; - $22 = ($20<<16>>16)==($21<<16>>16); - if ($22) { - $23 = ((($$16)) + 2|0); - $24 = HEAP16[$23>>1]|0; - $25 = HEAP16[$11>>1]|0; - $26 = ($24<<16>>16)==($25<<16>>16); - if ($26) { - $27 = ((($$16)) + 4|0); - $28 = HEAP16[$27>>1]|0; - $29 = HEAP16[$12>>1]|0; - $30 = ($28<<16>>16)==($29<<16>>16); - if ($30) { - $31 = ((($$16)) + 6|0); - HEAP16[$31>>1] = 0; - } - } - } - $32 = ((($$16)) + 8|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((10625|0),(10134|0),4568,(10677|0)); - // unreachable; - } - } -} -function _stbi__compute_transparency($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($2|0) { - case 2: { - $13 = ($7|0)==(0); - if ($13) { - return; - } else { - $$0323 = 0;$$04 = $9; - } - while(1) { - $14 = HEAP8[$$04>>0]|0; - $15 = HEAP8[$1>>0]|0; - $not$ = ($14<<24>>24)!=($15<<24>>24); - $16 = $not$ << 31 >> 31; - $17 = ((($$04)) + 1|0); - HEAP8[$17>>0] = $16; - $18 = ((($$04)) + 2|0); - $19 = (($$0323) + 1)|0; - $exitcond = ($19|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0323 = $19;$$04 = $18; - } - } - return; - break; - } - case 4: { - $10 = ($7|0)==(0); - if ($10) { - return; - } - $11 = ((($1)) + 1|0); - $12 = ((($1)) + 2|0); - $$1335 = 0;$$16 = $9; - while(1) { - $20 = HEAP8[$$16>>0]|0; - $21 = HEAP8[$1>>0]|0; - $22 = ($20<<24>>24)==($21<<24>>24); - if ($22) { - $23 = ((($$16)) + 1|0); - $24 = HEAP8[$23>>0]|0; - $25 = HEAP8[$11>>0]|0; - $26 = ($24<<24>>24)==($25<<24>>24); - if ($26) { - $27 = ((($$16)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = HEAP8[$12>>0]|0; - $30 = ($28<<24>>24)==($29<<24>>24); - if ($30) { - $31 = ((($$16)) + 3|0); - HEAP8[$31>>0] = 0; - } - } - } - $32 = ((($$16)) + 4|0); - $33 = (($$1335) + 1)|0; - $exitcond9 = ($33|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1335 = $33;$$16 = $32; - } - } - return; - break; - } - default: { - ___assert_fail((10625|0),(10134|0),4543,(10650|0)); - // unreachable; - } - } -} -function _stbi__de_iphone($0) { - $0 = $0|0; - var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = HEAP32[$1>>2]|0; - $3 = ((($1)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = Math_imul($4, $2)|0; - $6 = ((($0)) + 12|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($1)) + 12|0); - $9 = HEAP32[$8>>2]|0; - switch ($9|0) { - case 3: { - $10 = ($5|0)==(0); - if ($10) { - return; - } else { - $$05158 = $7;$$059 = 0; - } - while(1) { - $11 = HEAP8[$$05158>>0]|0; - $12 = ((($$05158)) + 2|0); - $13 = HEAP8[$12>>0]|0; - HEAP8[$$05158>>0] = $13; - HEAP8[$12>>0] = $11; - $14 = ((($$05158)) + 3|0); - $15 = (($$059) + 1)|0; - $exitcond = ($15|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05158 = $14;$$059 = $15; - } - } - return; - break; - } - case 4: { - $16 = HEAP32[5594]|0; - $17 = ($16|0)==(0); - $18 = ($5|0)!=(0); - if ($17) { - if ($18) { - $$25360 = $7;$$261 = 0; - } else { - return; - } - while(1) { - $42 = HEAP8[$$25360>>0]|0; - $43 = ((($$25360)) + 2|0); - $44 = HEAP8[$43>>0]|0; - HEAP8[$$25360>>0] = $44; - HEAP8[$43>>0] = $42; - $45 = ((($$25360)) + 4|0); - $46 = (($$261) + 1)|0; - $exitcond68 = ($46|0)==($5|0); - if ($exitcond68) { - break; - } else { - $$25360 = $45;$$261 = $46; - } - } - return; - } - if ($18) { - $$15263 = $7;$$164 = 0; - } else { - return; - } - while(1) { - $19 = ((($$15263)) + 3|0); - $20 = HEAP8[$19>>0]|0; - $21 = HEAP8[$$15263>>0]|0; - $22 = ($20<<24>>24)==(0); - $23 = ((($$15263)) + 2|0); - $24 = HEAP8[$23>>0]|0; - if ($22) { - HEAP8[$$15263>>0] = $24; - $$sink = $21; - } else { - $25 = $24&255; - $26 = ($25*255)|0; - $27 = $20&255; - $28 = (($26>>>0) / ($27>>>0))&-1; - $29 = $28&255; - HEAP8[$$15263>>0] = $29; - $30 = ((($$15263)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = ($32*255)|0; - $34 = (($33>>>0) / ($27>>>0))&-1; - $35 = $34&255; - HEAP8[$30>>0] = $35; - $36 = $21&255; - $37 = ($36*255)|0; - $38 = (($37>>>0) / ($27>>>0))&-1; - $39 = $38&255; - $$sink = $39; - } - HEAP8[$23>>0] = $$sink; - $40 = ((($$15263)) + 4|0); - $41 = (($$164) + 1)|0; - $exitcond69 = ($41|0)==($5|0); - if ($exitcond69) { - break; - } else { - $$15263 = $40;$$164 = $41; - } - } - return; - break; - } - default: { - ___assert_fail((10591|0),(10134|0),4649,(10609|0)); - // unreachable; - } - } -} -function _stbi__expand_png_palette($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 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; - var $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, $42 = 0; - var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = HEAP32[$0>>2]|0; - $4 = HEAP32[$3>>2]|0; - $5 = ((($3)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = Math_imul($6, $4)|0; - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = (_stbi__malloc_mad2($7,$2)|0); - $11 = ($10|0)==(0|0); - if ($11) { - _stbi__err(10189); - $$0 = 0; - return ($$0|0); - } - $12 = ($2|0)==(3); - $13 = ($7|0)!=(0); - if ($12) { - if ($13) { - $$0574 = 0;$$0583 = $10; - while(1) { - $14 = (($9) + ($$0574)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $16 << 2; - $18 = (($1) + ($17)|0); - $19 = HEAP8[$18>>0]|0; - HEAP8[$$0583>>0] = $19; - $20 = $17 | 1; - $21 = (($1) + ($20)|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($$0583)) + 1|0); - HEAP8[$23>>0] = $22; - $24 = $17 | 2; - $25 = (($1) + ($24)|0); - $26 = HEAP8[$25>>0]|0; - $27 = ((($$0583)) + 2|0); - HEAP8[$27>>0] = $26; - $28 = ((($$0583)) + 3|0); - $29 = (($$0574) + 1)|0; - $exitcond = ($29|0)==($7|0); - if ($exitcond) { - break; - } else { - $$0574 = $29;$$0583 = $28; - } - } - } - } else { - if ($13) { - $$1595 = $10;$$16 = 0; - while(1) { - $30 = (($9) + ($$16)|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 << 2; - $34 = (($1) + ($33)|0); - $35 = HEAP8[$34>>0]|0; - HEAP8[$$1595>>0] = $35; - $36 = $33 | 1; - $37 = (($1) + ($36)|0); - $38 = HEAP8[$37>>0]|0; - $39 = ((($$1595)) + 1|0); - HEAP8[$39>>0] = $38; - $40 = $33 | 2; - $41 = (($1) + ($40)|0); - $42 = HEAP8[$41>>0]|0; - $43 = ((($$1595)) + 2|0); - HEAP8[$43>>0] = $42; - $44 = $33 | 3; - $45 = (($1) + ($44)|0); - $46 = HEAP8[$45>>0]|0; - $47 = ((($$1595)) + 3|0); - HEAP8[$47>>0] = $46; - $48 = ((($$1595)) + 4|0); - $49 = (($$16) + 1)|0; - $exitcond9 = ($49|0)==($7|0); - if ($exitcond9) { - break; - } else { - $$1595 = $48;$$16 = $49; - } - } - } - } - $50 = HEAP32[$8>>2]|0; - _free($50); - HEAP32[$8>>2] = $10; - $$0 = 1; - return ($$0|0); -} -function _stbi__malloc_mad2($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mad2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $$0 = 0; - return ($$0|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__malloc($4)|0); - $$0 = $5; - return ($$0|0); -} -function _stbi__mad2sizes_valid($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbi__mul2sizes_valid($0,$1)|0); - $3 = ($2|0)==(0); - if ($3) { - $8 = 0; - $7 = $8&1; - return ($7|0); - } - $4 = Math_imul($1, $0)|0; - $5 = (_stbi__addsizes_valid($4)|0); - $6 = ($5|0)!=(0); - $8 = $6; - $7 = $8&1; - return ($7|0); -} -function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; - var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; - var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; - var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; - var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 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, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; - var $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, $136 = 0, $137 = 0, $138 = 0; - var $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, $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, $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; - 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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 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, $392 = 0; - var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; - var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; - var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; - var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; - var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; - var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; - var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; - var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; - var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; - var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; - var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; - var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $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; - var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; - var $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; - var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; - var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; - var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = ($6|0)==(16); - $9 = $8 ? 2 : 1; - $10 = HEAP32[$0>>2]|0; - $11 = Math_imul($4, $3)|0; - $12 = Math_imul($9, $11)|0; - $13 = ((($10)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = Math_imul($9, $3)|0; - $16 = Math_imul($14, $9)|0; - $17 = ($14|0)==($3|0); - $18 = (($14) + 1)|0; - $19 = ($18|0)==($3|0); - $or$cond = $17 | $19; - if (!($or$cond)) { - ___assert_fail((10706|0),(10134|0),4294,(10747|0)); - // unreachable; - } - $20 = (_stbi__malloc_mad3($4,$5,$15)|0); - $21 = ((($0)) + 12|0); - HEAP32[$21>>2] = $20; - $22 = ($20|0)==(0|0); - if ($22) { - _stbi__err(10189); - $$2 = 0; - return ($$2|0); - } - $23 = Math_imul($14, $4)|0; - $24 = Math_imul($23, $6)|0; - $25 = (($24) + 7)|0; - $26 = $25 >>> 3; - $27 = (($26) + 1)|0; - $28 = Math_imul($27, $5)|0; - $29 = HEAP32[$10>>2]|0; - $30 = ($29|0)==($4|0); - if ($30) { - $31 = ((($10)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($5|0); - if ($33) { - $34 = ($28|0)==($2|0); - if (!($34)) { - _stbi__err(10774); - $$2 = 0; - return ($$2|0); - } - } else { - label = 9; - } - } else { - label = 9; - } - if ((label|0) == 9) { - $35 = ($28>>>0)>($2>>>0); - if ($35) { - _stbi__err(10774); - $$2 = 0; - return ($$2|0); - } - } - $36 = ($5|0)==(0); - L18: do { - if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; - $41 = ($6|0)==(8); - $brmerge = $38 | $17; - $42 = ($4|0)==(0); - $$0614793 = (($4) + -1)|0; - $43 = ($$0614793|0)==(0); - $$1615785 = (($4) + -1)|0; - $44 = ($$1615785|0)==(0); - $$2616776 = (($4) + -1)|0; - $45 = ($$2616776|0)==(0); - $$3617767 = (($4) + -1)|0; - $46 = ($$3617767|0)==(0); - $$4618758 = (($4) + -1)|0; - $47 = ($$4618758|0)==(0); - $$5619750 = (($4) + -1)|0; - $48 = ($$5619750|0)==(0); - $$6620742 = (($4) + -1)|0; - $49 = ($$6620742|0)==(0); - $$not = $8 ^ 1; - $brmerge894 = $42 | $$not; - $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; - while(1) { - $50 = HEAP32[$21>>2]|0; - $51 = Math_imul($$0623814, $12)|0; - $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { - label = 105; - break; - } - if ($38) { - if ($39) { - label = 16; - break; - } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; - } else { - $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; - } - $59 = ($$0623814|0)==(0); - if ($59) { - $60 = (10813 + ($56)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $$0588 = $62; - } else { - $$0588 = $56; - } - $63 = ($$1612|0)>(0); - L30: do { - if ($63) { - $trunc638 = $$0588&255; - $$0625734 = 0; - while(1) { - switch ($trunc638<<24>>24) { - case 0: { - $64 = (($54) + ($$0625734)|0); - $65 = HEAP8[$64>>0]|0; - $$sink = $65; - label = 30; - break; - } - case 1: { - $66 = (($54) + ($$0625734)|0); - $67 = HEAP8[$66>>0]|0; - $$sink = $67; - label = 30; - break; - } - case 2: { - $68 = (($54) + ($$0625734)|0); - $69 = HEAP8[$68>>0]|0; - $70 = $69&255; - $71 = (($53) + ($$0625734)|0); - $72 = HEAP8[$71>>0]|0; - $73 = $72&255; - $74 = (($73) + ($70))|0; - $75 = $74&255; - $$sink = $75; - label = 30; - break; - } - case 3: { - $76 = (($54) + ($$0625734)|0); - $77 = HEAP8[$76>>0]|0; - $78 = $77&255; - $79 = (($53) + ($$0625734)|0); - $80 = HEAP8[$79>>0]|0; - $81 = $80&255; - $82 = $81 >>> 1; - $83 = (($82) + ($78))|0; - $84 = $83&255; - $$sink = $84; - label = 30; - break; - } - case 4: { - $85 = (($54) + ($$0625734)|0); - $86 = HEAP8[$85>>0]|0; - $87 = $86&255; - $88 = (($53) + ($$0625734)|0); - $89 = HEAP8[$88>>0]|0; - $90 = $89&255; - $91 = (_stbi__paeth(0,$90,0)|0); - $92 = (($91) + ($87))|0; - $93 = $92&255; - $$sink = $93; - label = 30; - break; - } - case 5: { - $94 = (($54) + ($$0625734)|0); - $95 = HEAP8[$94>>0]|0; - $$sink = $95; - label = 30; - break; - } - case 6: { - $96 = (($54) + ($$0625734)|0); - $97 = HEAP8[$96>>0]|0; - $$sink = $97; - label = 30; - break; - } - default: { - } - } - if ((label|0) == 30) { - label = 0; - $$sink1 = (($$0597) + ($$0625734)|0); - HEAP8[$$sink1>>0] = $$sink; - } - $98 = (($$0625734) + 1)|0; - $exitcond864 = ($98|0)==($$1612|0); - if ($exitcond864) { - break L30; - } else { - $$0625734 = $98; - } - } - } - } while(0); - do { - if ($41) { - if (!($17)) { - $99 = (($$0597) + ($14)|0); - HEAP8[$99>>0] = -1; - } - $100 = (($54) + ($14)|0); - $$1578 = $100;$$sink641 = $3; - } else { - if (!($8)) { - $105 = ((($$0577817)) + 2|0); - $$1578 = $105;$$sink641 = 1; - break; - } - if (!($17)) { - $101 = (($$1612) + 1)|0; - $102 = (($$0597) + ($101)|0); - $103 = (($$0597) + ($$1612)|0); - HEAP8[$103>>0] = -1; - HEAP8[$102>>0] = -1; - } - $104 = (($54) + ($$1612)|0); - $$1578 = $104;$$sink641 = $15; - } - } while(0); - $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); - if ($brmerge) { - $108 = (($$1609) + -1)|0; - $109 = Math_imul($108, $$1612)|0; - $trunc637 = $$0588&255; - switch ($trunc637<<24>>24) { - case 0: { - _memcpy(($106|0),($$1578|0),($109|0))|0; - break; - } - case 1: { - $115 = ($109|0)>(0); - if ($115) { - $$1626812 = 0; - while(1) { - $116 = (($$1578) + ($$1626812)|0); - $117 = HEAP8[$116>>0]|0; - $118 = $117&255; - $119 = (($$1626812) - ($$1612))|0; - $120 = (($106) + ($119)|0); - $121 = HEAP8[$120>>0]|0; - $122 = $121&255; - $123 = (($122) + ($118))|0; - $124 = $123&255; - $125 = (($106) + ($$1626812)|0); - HEAP8[$125>>0] = $124; - $126 = (($$1626812) + 1)|0; - $exitcond886 = ($126|0)==($109|0); - if ($exitcond886) { - break; - } else { - $$1626812 = $126; - } - } - } - break; - } - case 2: { - $114 = ($109|0)>(0); - if ($114) { - $$2627810 = 0; - while(1) { - $127 = (($$1578) + ($$2627810)|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = (($107) + ($$2627810)|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = (($132) + ($129))|0; - $134 = $133&255; - $135 = (($106) + ($$2627810)|0); - HEAP8[$135>>0] = $134; - $136 = (($$2627810) + 1)|0; - $exitcond885 = ($136|0)==($109|0); - if ($exitcond885) { - break; - } else { - $$2627810 = $136; - } - } - } - break; - } - case 3: { - $113 = ($109|0)>(0); - if ($113) { - $$3628808 = 0; - while(1) { - $137 = (($$1578) + ($$3628808)|0); - $138 = HEAP8[$137>>0]|0; - $139 = $138&255; - $140 = (($107) + ($$3628808)|0); - $141 = HEAP8[$140>>0]|0; - $142 = $141&255; - $143 = (($$3628808) - ($$1612))|0; - $144 = (($106) + ($143)|0); - $145 = HEAP8[$144>>0]|0; - $146 = $145&255; - $147 = (($146) + ($142))|0; - $148 = $147 >>> 1; - $149 = (($148) + ($139))|0; - $150 = $149&255; - $151 = (($106) + ($$3628808)|0); - HEAP8[$151>>0] = $150; - $152 = (($$3628808) + 1)|0; - $exitcond884 = ($152|0)==($109|0); - if ($exitcond884) { - break; - } else { - $$3628808 = $152; - } - } - } - break; - } - case 4: { - $112 = ($109|0)>(0); - if ($112) { - $$4629806 = 0; - while(1) { - $153 = (($$1578) + ($$4629806)|0); - $154 = HEAP8[$153>>0]|0; - $155 = $154&255; - $156 = (($$4629806) - ($$1612))|0; - $157 = (($106) + ($156)|0); - $158 = HEAP8[$157>>0]|0; - $159 = $158&255; - $160 = (($107) + ($$4629806)|0); - $161 = HEAP8[$160>>0]|0; - $162 = $161&255; - $163 = (($107) + ($156)|0); - $164 = HEAP8[$163>>0]|0; - $165 = $164&255; - $166 = (_stbi__paeth($159,$162,$165)|0); - $167 = (($166) + ($155))|0; - $168 = $167&255; - $169 = (($106) + ($$4629806)|0); - HEAP8[$169>>0] = $168; - $170 = (($$4629806) + 1)|0; - $exitcond883 = ($170|0)==($109|0); - if ($exitcond883) { - break; - } else { - $$4629806 = $170; - } - } - } - break; - } - case 5: { - $111 = ($109|0)>(0); - if ($111) { - $$5630804 = 0; - while(1) { - $171 = (($$1578) + ($$5630804)|0); - $172 = HEAP8[$171>>0]|0; - $173 = $172&255; - $174 = (($$5630804) - ($$1612))|0; - $175 = (($106) + ($174)|0); - $176 = HEAP8[$175>>0]|0; - $177 = $176&255; - $178 = $177 >>> 1; - $179 = (($178) + ($173))|0; - $180 = $179&255; - $181 = (($106) + ($$5630804)|0); - HEAP8[$181>>0] = $180; - $182 = (($$5630804) + 1)|0; - $exitcond882 = ($182|0)==($109|0); - if ($exitcond882) { - break; - } else { - $$5630804 = $182; - } - } - } - break; - } - case 6: { - $110 = ($109|0)>(0); - if ($110) { - $$6631802 = 0; - while(1) { - $183 = (($$1578) + ($$6631802)|0); - $184 = HEAP8[$183>>0]|0; - $185 = $184&255; - $186 = (($$6631802) - ($$1612))|0; - $187 = (($106) + ($186)|0); - $188 = HEAP8[$187>>0]|0; - $189 = $188&255; - $190 = (_stbi__paeth($189,0,0)|0); - $191 = (($190) + ($185))|0; - $192 = $191&255; - $193 = (($106) + ($$6631802)|0); - HEAP8[$193>>0] = $192; - $194 = (($$6631802) + 1)|0; - $exitcond881 = ($194|0)==($109|0); - if ($exitcond881) { - break; - } else { - $$6631802 = $194; - } - } - } - break; - } - default: { - } - } - $195 = (($$1578) + ($109)|0); - $$11$ph = $195; - } else { - if (!($19)) { - label = 58; - break; - } - $trunc = $$0588&255; - switch ($trunc<<24>>24) { - case 0: { - if ($43) { - $$9586 = $$1578; - } else { - $208 = ($$1612|0)>(0); - $209 = Math_imul($$6620742, $$1612)|0; - $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; - while(1) { - if ($208) { - $$7632790 = 0; - while(1) { - $210 = (($$2579795) + ($$7632790)|0); - $211 = HEAP8[$210>>0]|0; - $212 = (($$2599794) + ($$7632790)|0); - HEAP8[$212>>0] = $211; - $213 = (($$7632790) + 1)|0; - $exitcond877 = ($213|0)==($$1612|0); - if ($exitcond877) { - break; - } else { - $$7632790 = $213; - } - } - } - $214 = (($$2599794) + ($$1612)|0); - HEAP8[$214>>0] = -1; - $215 = (($$2579795) + ($$1612)|0); - $216 = (($$2599794) + ($15)|0); - $$0614 = (($$0614796) + -1)|0; - $217 = ($$0614|0)==(0); - if ($217) { - break; - } else { - $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; - } - } - $scevgep879 = (($$1578) + ($209)|0); - $$9586 = $scevgep879; - } - break; - } - case 1: { - if ($44) { - $$9586 = $$1578; - } else { - $206 = ($$1612|0)>(0); - $207 = Math_imul($$6620742, $$1612)|0; - $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; - while(1) { - if ($206) { - $$8633782 = 0; - while(1) { - $218 = (($$3580787) + ($$8633782)|0); - $219 = HEAP8[$218>>0]|0; - $220 = $219&255; - $221 = (($$8633782) - ($15))|0; - $222 = (($$3600786) + ($221)|0); - $223 = HEAP8[$222>>0]|0; - $224 = $223&255; - $225 = (($224) + ($220))|0; - $226 = $225&255; - $227 = (($$3600786) + ($$8633782)|0); - HEAP8[$227>>0] = $226; - $228 = (($$8633782) + 1)|0; - $exitcond875 = ($228|0)==($$1612|0); - if ($exitcond875) { - break; - } else { - $$8633782 = $228; - } - } - } - $229 = (($$3600786) + ($$1612)|0); - HEAP8[$229>>0] = -1; - $230 = (($$3580787) + ($$1612)|0); - $231 = (($$3600786) + ($15)|0); - $$1615 = (($$1615788) + -1)|0; - $232 = ($$1615|0)==(0); - if ($232) { - break; - } else { - $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; - } - } - $scevgep876 = (($$1578) + ($207)|0); - $$9586 = $scevgep876; - } - break; - } - case 2: { - if ($45) { - $$9586 = $$1578; - } else { - $204 = ($$1612|0)>(0); - $205 = Math_imul($$6620742, $$1612)|0; - $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; - while(1) { - if ($204) { - $$9634773 = 0; - while(1) { - $233 = (($$4581779) + ($$9634773)|0); - $234 = HEAP8[$233>>0]|0; - $235 = $234&255; - $236 = (($$3592778) + ($$9634773)|0); - $237 = HEAP8[$236>>0]|0; - $238 = $237&255; - $239 = (($238) + ($235))|0; - $240 = $239&255; - $241 = (($$4601777) + ($$9634773)|0); - HEAP8[$241>>0] = $240; - $242 = (($$9634773) + 1)|0; - $exitcond873 = ($242|0)==($$1612|0); - if ($exitcond873) { - break; - } else { - $$9634773 = $242; - } - } - } - $243 = (($$4601777) + ($$1612)|0); - HEAP8[$243>>0] = -1; - $244 = (($$4581779) + ($$1612)|0); - $245 = (($$4601777) + ($15)|0); - $246 = (($$3592778) + ($15)|0); - $$2616 = (($$2616780) + -1)|0; - $247 = ($$2616|0)==(0); - if ($247) { - break; - } else { - $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; - } - } - $scevgep874 = (($$1578) + ($205)|0); - $$9586 = $scevgep874; - } - break; - } - case 3: { - if ($46) { - $$9586 = $$1578; - } else { - $202 = ($$1612|0)>(0); - $203 = Math_imul($$6620742, $$1612)|0; - $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; - while(1) { - if ($202) { - $$10635764 = 0; - while(1) { - $248 = (($$5582770) + ($$10635764)|0); - $249 = HEAP8[$248>>0]|0; - $250 = $249&255; - $251 = (($$4593769) + ($$10635764)|0); - $252 = HEAP8[$251>>0]|0; - $253 = $252&255; - $254 = (($$10635764) - ($15))|0; - $255 = (($$5602768) + ($254)|0); - $256 = HEAP8[$255>>0]|0; - $257 = $256&255; - $258 = (($257) + ($253))|0; - $259 = $258 >>> 1; - $260 = (($259) + ($250))|0; - $261 = $260&255; - $262 = (($$5602768) + ($$10635764)|0); - HEAP8[$262>>0] = $261; - $263 = (($$10635764) + 1)|0; - $exitcond871 = ($263|0)==($$1612|0); - if ($exitcond871) { - break; - } else { - $$10635764 = $263; - } - } - } - $264 = (($$5602768) + ($$1612)|0); - HEAP8[$264>>0] = -1; - $265 = (($$5582770) + ($$1612)|0); - $266 = (($$5602768) + ($15)|0); - $267 = (($$4593769) + ($15)|0); - $$3617 = (($$3617771) + -1)|0; - $268 = ($$3617|0)==(0); - if ($268) { - break; - } else { - $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; - } - } - $scevgep872 = (($$1578) + ($203)|0); - $$9586 = $scevgep872; - } - break; - } - case 4: { - if ($47) { - $$9586 = $$1578; - } else { - $200 = ($$1612|0)>(0); - $201 = Math_imul($$6620742, $$1612)|0; - $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; - while(1) { - if ($200) { - $$11636755 = 0; - while(1) { - $269 = (($$6583761) + ($$11636755)|0); - $270 = HEAP8[$269>>0]|0; - $271 = $270&255; - $272 = (($$11636755) - ($15))|0; - $273 = (($$6603759) + ($272)|0); - $274 = HEAP8[$273>>0]|0; - $275 = $274&255; - $276 = (($$5594760) + ($$11636755)|0); - $277 = HEAP8[$276>>0]|0; - $278 = $277&255; - $279 = (($$5594760) + ($272)|0); - $280 = HEAP8[$279>>0]|0; - $281 = $280&255; - $282 = (_stbi__paeth($275,$278,$281)|0); - $283 = (($282) + ($271))|0; - $284 = $283&255; - $285 = (($$6603759) + ($$11636755)|0); - HEAP8[$285>>0] = $284; - $286 = (($$11636755) + 1)|0; - $exitcond869 = ($286|0)==($$1612|0); - if ($exitcond869) { - break; - } else { - $$11636755 = $286; - } - } - } - $287 = (($$6603759) + ($$1612)|0); - HEAP8[$287>>0] = -1; - $288 = (($$6583761) + ($$1612)|0); - $289 = (($$6603759) + ($15)|0); - $290 = (($$5594760) + ($15)|0); - $$4618 = (($$4618762) + -1)|0; - $291 = ($$4618|0)==(0); - if ($291) { - break; - } else { - $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; - } - } - $scevgep870 = (($$1578) + ($201)|0); - $$9586 = $scevgep870; - } - break; - } - case 5: { - if ($48) { - $$9586 = $$1578; - } else { - $198 = ($$1612|0)>(0); - $199 = Math_imul($$6620742, $$1612)|0; - $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; - while(1) { - if ($198) { - $$12747 = 0; - while(1) { - $292 = (($$7584752) + ($$12747)|0); - $293 = HEAP8[$292>>0]|0; - $294 = $293&255; - $295 = (($$12747) - ($15))|0; - $296 = (($$7604751) + ($295)|0); - $297 = HEAP8[$296>>0]|0; - $298 = $297&255; - $299 = $298 >>> 1; - $300 = (($299) + ($294))|0; - $301 = $300&255; - $302 = (($$7604751) + ($$12747)|0); - HEAP8[$302>>0] = $301; - $303 = (($$12747) + 1)|0; - $exitcond867 = ($303|0)==($$1612|0); - if ($exitcond867) { - break; - } else { - $$12747 = $303; - } - } - } - $304 = (($$7604751) + ($$1612)|0); - HEAP8[$304>>0] = -1; - $305 = (($$7584752) + ($$1612)|0); - $306 = (($$7604751) + ($15)|0); - $$5619 = (($$5619753) + -1)|0; - $307 = ($$5619|0)==(0); - if ($307) { - break; - } else { - $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; - } - } - $scevgep868 = (($$1578) + ($199)|0); - $$9586 = $scevgep868; - } - break; - } - case 6: { - if ($49) { - $$9586 = $$1578; - } else { - $196 = ($$1612|0)>(0); - $197 = Math_imul($$6620742, $$1612)|0; - $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; - while(1) { - if ($196) { - $$13739 = 0; - while(1) { - $308 = (($$8585744) + ($$13739)|0); - $309 = HEAP8[$308>>0]|0; - $310 = $309&255; - $311 = (($$13739) - ($15))|0; - $312 = (($$8605743) + ($311)|0); - $313 = HEAP8[$312>>0]|0; - $314 = $313&255; - $315 = (_stbi__paeth($314,0,0)|0); - $316 = (($315) + ($310))|0; - $317 = $316&255; - $318 = (($$8605743) + ($$13739)|0); - HEAP8[$318>>0] = $317; - $319 = (($$13739) + 1)|0; - $exitcond865 = ($319|0)==($$1612|0); - if ($exitcond865) { - break; - } else { - $$13739 = $319; - } - } - } - $320 = (($$8605743) + ($$1612)|0); - HEAP8[$320>>0] = -1; - $321 = (($$8585744) + ($$1612)|0); - $322 = (($$8605743) + ($15)|0); - $$6620 = (($$6620745) + -1)|0; - $323 = ($$6620|0)==(0); - if ($323) { - break; - } else { - $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; - } - } - $scevgep866 = (($$1578) + ($197)|0); - $$9586 = $scevgep866; - } - break; - } - default: { - $$9586 = $$1578; - } - } - if ($brmerge894) { - $$11$ph = $$9586; - } else { - $324 = HEAP32[$21>>2]|0; - $325 = (($324) + ($51)|0); - $326 = (($$1612) + 1)|0; - $$7621798 = 0;$$9606799 = $325; - while(1) { - $327 = (($$9606799) + ($326)|0); - HEAP8[$327>>0] = -1; - $328 = (($$7621798) + 1)|0; - $329 = (($$9606799) + ($15)|0); - $exitcond880 = ($328|0)==($4|0); - if ($exitcond880) { - $$11$ph = $$9586; - break; - } else { - $$7621798 = $328;$$9606799 = $329; - } - } - } - } - $330 = (($$0623814) + 1)|0; - $331 = ($330>>>0)<($5>>>0); - if ($331) { - $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; - } else { - break L18; - } - } - if ((label|0) == 16) { - ___assert_fail((10792|0),(10134|0),4315,(10747|0)); - // unreachable; - } - else if ((label|0) == 58) { - ___assert_fail((10818|0),(10134|0),4376,(10747|0)); - // unreachable; - } - else if ((label|0) == 105) { - _stbi__err(10835); - $$2 = 0; - return ($$2|0); - } - } - } while(0); - $332 = ($6|0)<(8); - if (!($332)) { - if (!($8)) { - $$2 = 1; - return ($$2|0); - } - $601 = Math_imul($4, $3)|0; - $602 = Math_imul($601, $5)|0; - $603 = ($602|0)==(0); - if ($603) { - $$2 = 1; - return ($$2|0); - } - $604 = HEAP32[$21>>2]|0; - $$0731 = $604;$$8622729 = 0; - while(1) { - $605 = HEAP8[$$0731>>0]|0; - $606 = $605&255; - $607 = $606 << 8; - $608 = ((($$0731)) + 1|0); - $609 = HEAP8[$608>>0]|0; - $610 = $609&255; - $611 = $607 | $610; - $612 = $611&65535; - HEAP16[$$0731>>1] = $612; - $613 = (($$8622729) + 1)|0; - $614 = ((($$0731)) + 2|0); - $exitcond = ($613|0)==($602|0); - if ($exitcond) { - $$2 = 1; - break; - } else { - $$0731 = $614;$$8622729 = $613; - } - } - return ($$2|0); - } - $333 = ($5|0)==(0); - if ($333) { - $$2 = 1; - return ($$2|0); - } - $334 = (0 - ($26))|0; - $335 = ($7|0)==(0); - $336 = (10531 + ($6)|0); - $$0568724 = (($4) + -1)|0; - $337 = ($$0568724|0)>(-1); - $$1721 = (($4) + -1)|0; - $338 = ($$1721|0)>(-1); - $339 = ($23|0)>(1); - $340 = ($23|0)>(3); - $341 = ($23|0)>(7); - $342 = (($23) + -8)|0; - $343 = $342 >>> 3; - $344 = $343 << 3; - $345 = (($344) + 8)|0; - $346 = (($342) - ($344))|0; - $347 = (($343) + ($11))|0; - $348 = (($347) + 1)|0; - $349 = (($348) - ($26))|0; - $350 = (($23) + -4)|0; - $351 = $350 >>> 2; - $352 = $351 << 2; - $353 = (($352) + 4)|0; - $354 = (($350) - ($352))|0; - $355 = (($351) + ($11))|0; - $356 = (($355) + 1)|0; - $357 = (($356) - ($26))|0; - $358 = (($23) + -2)|0; - $359 = $358 >>> 1; - $360 = $359 << 1; - $361 = (($360) + 2)|0; - $362 = (($358) - ($360))|0; - $363 = (($359) + ($11))|0; - $364 = (($363) + 1)|0; - $365 = (($364) - ($26))|0; - $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; - L174: while(1) { - $366 = HEAP32[$21>>2]|0; - $367 = Math_imul($$1624727, $12)|0; - $368 = (($366) + ($367)|0); - $369 = (($368) + ($11)|0); - $370 = (($369) + ($334)|0); - if ($335) { - $371 = HEAP8[$336>>0]|0; - $372 = $371&255; - $377 = $372; - } else { - $377 = 1; - } - switch ($6|0) { - case 4: { - if ($339) { - $scevgep859 = (($366) + ($indvars$iv857)|0); - $$0571715 = $370;$$0574714 = $368;$$14713 = $23; - while(1) { - $373 = HEAP8[$$0571715>>0]|0; - $374 = $373&255; - $375 = $374 >>> 4; - $376 = Math_imul($375, $377)|0; - $378 = $376&255; - $379 = ((($$0574714)) + 1|0); - HEAP8[$$0574714>>0] = $378; - $380 = HEAP8[$$0571715>>0]|0; - $381 = $380 & 15; - $382 = $381&255; - $383 = Math_imul($382, $377)|0; - $384 = $383&255; - $385 = ((($$0574714)) + 2|0); - HEAP8[$379>>0] = $384; - $386 = (($$14713) + -2)|0; - $387 = ((($$0571715)) + 1|0); - $388 = ($386|0)>(1); - if ($388) { - $$0571715 = $387;$$0574714 = $385;$$14713 = $386; - } else { - break; - } - } - $scevgep862 = (($366) + ($indvars$iv860)|0); - $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; - } else { - $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; - } - $389 = ($$14$lcssa|0)==(1); - if ($389) { - $390 = HEAP8[$$0571$lcssa>>0]|0; - $391 = $390&255; - $392 = $391 >>> 4; - $393 = Math_imul($392, $377)|0; - $394 = $393&255; - HEAP8[$$0574$lcssa>>0] = $394; - } - break; - } - case 2: { - if ($340) { - $scevgep853 = (($366) + ($indvars$iv851)|0); - $$15705 = $23;$$1572707 = $370;$$1575706 = $368; - while(1) { - $395 = HEAP8[$$1572707>>0]|0; - $396 = $395&255; - $397 = $396 >>> 6; - $398 = Math_imul($397, $377)|0; - $399 = $398&255; - $400 = ((($$1575706)) + 1|0); - HEAP8[$$1575706>>0] = $399; - $401 = HEAP8[$$1572707>>0]|0; - $402 = $401&255; - $403 = $402 >>> 4; - $404 = $403 & 3; - $405 = Math_imul($404, $377)|0; - $406 = $405&255; - $407 = ((($$1575706)) + 2|0); - HEAP8[$400>>0] = $406; - $408 = HEAP8[$$1572707>>0]|0; - $409 = $408&255; - $410 = $409 >>> 2; - $411 = $410 & 3; - $412 = Math_imul($411, $377)|0; - $413 = $412&255; - $414 = ((($$1575706)) + 3|0); - HEAP8[$407>>0] = $413; - $415 = HEAP8[$$1572707>>0]|0; - $416 = $415 & 3; - $417 = $416&255; - $418 = Math_imul($417, $377)|0; - $419 = $418&255; - $420 = ((($$1575706)) + 4|0); - HEAP8[$414>>0] = $419; - $421 = (($$15705) + -4)|0; - $422 = ((($$1572707)) + 1|0); - $423 = ($421|0)>(3); - if ($423) { - $$15705 = $421;$$1572707 = $422;$$1575706 = $420; - } else { - break; - } - } - $scevgep856 = (($366) + ($indvars$iv854)|0); - $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; - } else { - $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; - } - $424 = ($$15$lcssa|0)>(0); - if ($424) { - $425 = HEAP8[$$1572$lcssa>>0]|0; - $426 = $425&255; - $427 = $426 >>> 6; - $428 = Math_imul($427, $377)|0; - $429 = $428&255; - HEAP8[$$1575$lcssa>>0] = $429; - $430 = ($$15$lcssa|0)==(1); - if (!($430)) { - $431 = ((($$1575$lcssa)) + 1|0); - $432 = HEAP8[$$1572$lcssa>>0]|0; - $433 = $432&255; - $434 = $433 >>> 4; - $435 = $434 & 3; - $436 = Math_imul($435, $377)|0; - $437 = $436&255; - HEAP8[$431>>0] = $437; - $438 = ($$15$lcssa|0)>(2); - if ($438) { - $439 = ((($$1575$lcssa)) + 2|0); - $440 = HEAP8[$$1572$lcssa>>0]|0; - $441 = $440&255; - $442 = $441 >>> 2; - $443 = $442 & 3; - $444 = Math_imul($443, $377)|0; - $445 = $444&255; - HEAP8[$439>>0] = $445; - } - } - } - break; - } - case 1: { - if ($341) { - $scevgep = (($366) + ($indvars$iv)|0); - $$16700 = $23;$$2573702 = $370;$$4701 = $368; - while(1) { - $446 = HEAP8[$$2573702>>0]|0; - $447 = $446&255; - $448 = $447 >>> 7; - $449 = (0 - ($448))|0; - $450 = $377 & $449; - $451 = $450&255; - $452 = ((($$4701)) + 1|0); - HEAP8[$$4701>>0] = $451; - $453 = HEAP8[$$2573702>>0]|0; - $454 = $453&255; - $455 = $454 >>> 6; - $456 = $455 & 1; - $457 = (0 - ($456))|0; - $458 = $377 & $457; - $459 = $458&255; - $460 = ((($$4701)) + 2|0); - HEAP8[$452>>0] = $459; - $461 = HEAP8[$$2573702>>0]|0; - $462 = $461&255; - $463 = $462 >>> 5; - $464 = $463 & 1; - $465 = (0 - ($464))|0; - $466 = $377 & $465; - $467 = $466&255; - $468 = ((($$4701)) + 3|0); - HEAP8[$460>>0] = $467; - $469 = HEAP8[$$2573702>>0]|0; - $470 = $469&255; - $471 = $470 >>> 4; - $472 = $471 & 1; - $473 = (0 - ($472))|0; - $474 = $377 & $473; - $475 = $474&255; - $476 = ((($$4701)) + 4|0); - HEAP8[$468>>0] = $475; - $477 = HEAP8[$$2573702>>0]|0; - $478 = $477&255; - $479 = $478 >>> 3; - $480 = $479 & 1; - $481 = (0 - ($480))|0; - $482 = $377 & $481; - $483 = $482&255; - $484 = ((($$4701)) + 5|0); - HEAP8[$476>>0] = $483; - $485 = HEAP8[$$2573702>>0]|0; - $486 = $485&255; - $487 = $486 >>> 2; - $488 = $487 & 1; - $489 = (0 - ($488))|0; - $490 = $377 & $489; - $491 = $490&255; - $492 = ((($$4701)) + 6|0); - HEAP8[$484>>0] = $491; - $493 = HEAP8[$$2573702>>0]|0; - $494 = $493&255; - $495 = $494 >>> 1; - $496 = $495 & 1; - $497 = (0 - ($496))|0; - $498 = $377 & $497; - $499 = $498&255; - $500 = ((($$4701)) + 7|0); - HEAP8[$492>>0] = $499; - $501 = HEAP8[$$2573702>>0]|0; - $502 = $501 & 1; - $503 = $502&255; - $504 = (0 - ($503))|0; - $505 = $377 & $504; - $506 = $505&255; - $507 = ((($$4701)) + 8|0); - HEAP8[$500>>0] = $506; - $508 = (($$16700) + -8)|0; - $509 = ((($$2573702)) + 1|0); - $510 = ($508|0)>(7); - if ($510) { - $$16700 = $508;$$2573702 = $509;$$4701 = $507; - } else { - break; - } - } - $scevgep850 = (($366) + ($indvars$iv848)|0); - $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; - } else { - $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; - } - $511 = ($$16$lcssa|0)>(0); - if ($511) { - $512 = HEAP8[$$2573$lcssa>>0]|0; - $513 = $512&255; - $514 = $513 >>> 7; - $515 = (0 - ($514))|0; - $516 = $377 & $515; - $517 = $516&255; - HEAP8[$$4$lcssa>>0] = $517; - $518 = ($$16$lcssa|0)==(1); - if (!($518)) { - $519 = ((($$4$lcssa)) + 1|0); - $520 = HEAP8[$$2573$lcssa>>0]|0; - $521 = $520&255; - $522 = $521 >>> 6; - $523 = $522 & 1; - $524 = (0 - ($523))|0; - $525 = $377 & $524; - $526 = $525&255; - HEAP8[$519>>0] = $526; - $527 = ($$16$lcssa|0)>(2); - if ($527) { - $528 = ((($$4$lcssa)) + 2|0); - $529 = HEAP8[$$2573$lcssa>>0]|0; - $530 = $529&255; - $531 = $530 >>> 5; - $532 = $531 & 1; - $533 = (0 - ($532))|0; - $534 = $377 & $533; - $535 = $534&255; - HEAP8[$528>>0] = $535; - $536 = ($$16$lcssa|0)==(3); - if (!($536)) { - $537 = ((($$4$lcssa)) + 3|0); - $538 = HEAP8[$$2573$lcssa>>0]|0; - $539 = $538&255; - $540 = $539 >>> 4; - $541 = $540 & 1; - $542 = (0 - ($541))|0; - $543 = $377 & $542; - $544 = $543&255; - HEAP8[$537>>0] = $544; - $545 = ($$16$lcssa|0)>(4); - if ($545) { - $546 = ((($$4$lcssa)) + 4|0); - $547 = HEAP8[$$2573$lcssa>>0]|0; - $548 = $547&255; - $549 = $548 >>> 3; - $550 = $549 & 1; - $551 = (0 - ($550))|0; - $552 = $377 & $551; - $553 = $552&255; - HEAP8[$546>>0] = $553; - $554 = ($$16$lcssa|0)==(5); - if (!($554)) { - $555 = ((($$4$lcssa)) + 5|0); - $556 = HEAP8[$$2573$lcssa>>0]|0; - $557 = $556&255; - $558 = $557 >>> 2; - $559 = $558 & 1; - $560 = (0 - ($559))|0; - $561 = $377 & $560; - $562 = $561&255; - HEAP8[$555>>0] = $562; - $563 = ($$16$lcssa|0)>(6); - if ($563) { - $564 = ((($$4$lcssa)) + 6|0); - $565 = HEAP8[$$2573$lcssa>>0]|0; - $566 = $565&255; - $567 = $566 >>> 1; - $568 = $567 & 1; - $569 = (0 - ($568))|0; - $570 = $377 & $569; - $571 = $570&255; - HEAP8[$564>>0] = $571; - } - } - } - } - } - } - } - break; - } - default: { - } - } - L213: do { - if (!($17)) { - $572 = HEAP32[$21>>2]|0; - $573 = (($572) + ($367)|0); - switch ($14|0) { - case 1: { - if ($337) { - $$0568725 = $$0568724; - } else { - break L213; - } - while(1) { - $574 = $$0568725 << 1; - $575 = $574 | 1; - $576 = (($573) + ($575)|0); - HEAP8[$576>>0] = -1; - $577 = (($573) + ($$0568725)|0); - $578 = HEAP8[$577>>0]|0; - $579 = (($573) + ($574)|0); - HEAP8[$579>>0] = $578; - $$0568 = (($$0568725) + -1)|0; - $580 = ($$0568|0)>(-1); - if ($580) { - $$0568725 = $$0568; - } else { - break; - } - } - break; - } - case 3: { - if ($338) { - $$1722 = $$1721; - } else { - break L213; - } - while(1) { - $581 = $$1722 << 2; - $582 = $581 | 3; - $583 = (($573) + ($582)|0); - HEAP8[$583>>0] = -1; - $584 = ($$1722*3)|0; - $585 = (($584) + 2)|0; - $586 = (($573) + ($585)|0); - $587 = HEAP8[$586>>0]|0; - $588 = $581 | 2; - $589 = (($573) + ($588)|0); - HEAP8[$589>>0] = $587; - $590 = (($584) + 1)|0; - $591 = (($573) + ($590)|0); - $592 = HEAP8[$591>>0]|0; - $593 = $581 | 1; - $594 = (($573) + ($593)|0); - HEAP8[$594>>0] = $592; - $595 = (($573) + ($584)|0); - $596 = HEAP8[$595>>0]|0; - $597 = (($573) + ($581)|0); - HEAP8[$597>>0] = $596; - $$1 = (($$1722) + -1)|0; - $598 = ($$1|0)>(-1); - if ($598) { - $$1722 = $$1; - } else { - break; - } - } - break; - } - default: { - label = 144; - break L174; - } - } - } - } while(0); - $599 = (($$1624727) + 1)|0; - $600 = ($599>>>0)<($5>>>0); - $indvars$iv$next = (($indvars$iv) + ($12))|0; - $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; - $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; - $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; - $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; - $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; - if ($600) { - $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; - } else { - $$2 = 1; - label = 151; - break; - } - } - if ((label|0) == 144) { - ___assert_fail((10850|0),(10134|0),4465,(10747|0)); - // unreachable; - } - else if ((label|0) == 151) { - return ($$2|0); - } - return (0)|0; -} -function _stbi__paeth($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; - var label = 0, sp = 0; - sp = STACKTOP; - $3 = (($1) + ($0))|0; - $4 = (($3) - ($2))|0; - $5 = (($4) - ($0))|0; - $ispos = ($5|0)>(-1); - $neg = (0 - ($5))|0; - $6 = $ispos ? $5 : $neg; - $7 = (($4) - ($1))|0; - $ispos26 = ($7|0)>(-1); - $neg27 = (0 - ($7))|0; - $8 = $ispos26 ? $7 : $neg27; - $9 = (($4) - ($2))|0; - $ispos28 = ($9|0)>(-1); - $neg29 = (0 - ($9))|0; - $10 = $ispos28 ? $9 : $neg29; - $11 = ($6|0)>($8|0); - $12 = ($6|0)>($10|0); - $or$cond = $11 | $12; - $13 = ($8|0)>($10|0); - $$ = $13 ? $2 : $1; - $$0 = $or$cond ? $$ : $0; - return ($$0|0); -} -function _stbi__do_zlib($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 20|0); - HEAP32[$5>>2] = $1; - $6 = ((($0)) + 16|0); - HEAP32[$6>>2] = $1; - $7 = (($1) + ($2)|0); - $8 = ((($0)) + 24|0); - HEAP32[$8>>2] = $7; - $9 = ((($0)) + 28|0); - HEAP32[$9>>2] = $3; - $10 = (_stbi__parse_zlib($0,$4)|0); - return ($10|0); -} -function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)==(0); - if (!($2)) { - $3 = (_stbi__parse_zlib_header($0)|0); - $4 = ($3|0)==(0); - if ($4) { - $$0 = 0; - return ($$0|0); - } - } - $5 = ((($0)) + 8|0); - HEAP32[$5>>2] = 0; - $6 = ((($0)) + 12|0); - HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); - L5: while(1) { - $9 = (_stbi__zreceive($0,1)|0); - $10 = (_stbi__zreceive($0,2)|0); - switch ($10|0) { - case 3: { - $$0 = 0; - label = 13; - break L5; - break; - } - case 0: { - $11 = (_stbi__parse_uncompressed_block($0)|0); - $12 = ($11|0)==(0); - if ($12) { - $$0 = 0; - label = 13; - break L5; - } - break; - } - case 1: { - $13 = HEAP8[(24278)>>0]|0; - $14 = ($13<<24>>24)==(0); - if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,24279,288)|0); - $16 = ($15|0)==(0); - if ($16) { - $$0 = 0; - label = 13; - break L5; - } - $17 = (_stbi__zbuild_huffman($7,24247,32)|0); - $18 = ($17|0)==(0); - if ($18) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - break; - } - default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { - $$0 = 0; - label = 13; - break L5; - } else { - label = 11; - } - } - } - if ((label|0) == 11) { - label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { - $$0 = 0; - label = 13; - break; - } - } - $23 = ($9|0)==(0); - if (!($23)) { - $$0 = 1; - label = 13; - break; - } - } - if ((label|0) == 13) { - return ($$0|0); - } - return (0)|0; -} -function _stbi__parse_zlib_header($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbi__zget8($0)|0); - $2 = $1&255; - $3 = $2 & 15; - $4 = (_stbi__zget8($0)|0); - $5 = $4&255; - $6 = $2 << 8; - $7 = $6 | $5; - $8 = (($7>>>0) % 31)&-1; - $9 = ($8|0)==(0); - if (!($9)) { - _stbi__err(11176); - $$0 = 0; - return ($$0|0); - } - $10 = $5 & 32; - $11 = ($10|0)==(0); - if (!($11)) { - _stbi__err(11192); - $$0 = 0; - return ($$0|0); - } - $12 = ($3|0)==(8); - if ($12) { - $$0 = 1; - return ($$0|0); - } - _stbi__err(11207); - $$0 = 0; - return ($$0|0); -} -function _stbi__zreceive($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0, $11 = 0, $12 = 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)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = 1 << $1; - $8 = (($7) + -1)|0; - $9 = $6 & $8; - $10 = $6 >>> $1; - HEAP32[$5>>2] = $10; - $11 = HEAP32[$2>>2]|0; - $12 = (($11) - ($1))|0; - HEAP32[$2>>2] = $12; - return ($9|0); -} -function _stbi__parse_uncompressed_block($0) { - $0 = $0|0; - var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 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; - var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $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; - var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & 7; - $5 = ($4|0)==(0); - if ($5) { - $$ph = $3; - } else { - (_stbi__zreceive($0,$4)|0); - $$pr = HEAP32[$2>>2]|0; - $$ph = $$pr; - } - $6 = ($$ph|0)>(0); - if ($6) { - $7 = ((($0)) + 12|0); - $$promoted = HEAP32[$7>>2]|0; - $8 = $$ph ^ -1; - $9 = ($8|0)>(-9); - $smax = $9 ? $8 : -9; - $10 = (($$ph) + ($smax))|0; - $11 = (($10) + 8)|0; - $12 = $11 >>> 3; - $13 = (($12) + 1)|0; - $14 = $12 << 3; - $$037 = 0;$16 = $$promoted; - while(1) { - $15 = $16&255; - $17 = (($$037) + 1)|0; - $18 = (($1) + ($$037)|0); - HEAP8[$18>>0] = $15; - $19 = $16 >>> 8; - $exitcond47 = ($17|0)==($13|0); - if ($exitcond47) { - break; - } else { - $$037 = $17;$16 = $19; - } - } - $20 = (($$ph) + -8)|0; - $21 = (($20) - ($14))|0; - HEAP32[$7>>2] = $19; - HEAP32[$2>>2] = $21; - $$0$lcssa = $13;$$lcssa = $21; - } else { - $$0$lcssa = 0;$$lcssa = $$ph; - } - $22 = ($$lcssa|0)==(0); - if (!($22)) { - ___assert_fail((11098|0),(10134|0),4048,(11115|0)); - // unreachable; - } - $23 = ($$0$lcssa|0)<(4); - if ($23) { - $$136 = $$0$lcssa; - while(1) { - $24 = (_stbi__zget8($0)|0); - $25 = (($$136) + 1)|0; - $26 = (($1) + ($$136)|0); - HEAP8[$26>>0] = $24; - $exitcond = ($25|0)==(4); - if ($exitcond) { - break; - } else { - $$136 = $25; - } - } - } - $27 = ((($1)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = HEAP8[$1>>0]|0; - $32 = $31&255; - $33 = $30 | $32; - $34 = ((($1)) + 3|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = $36 << 8; - $38 = ((($1)) + 2|0); - $39 = HEAP8[$38>>0]|0; - $40 = $39&255; - $41 = $37 | $40; - $42 = $33 ^ 65535; - $43 = ($41|0)==($42|0); - if (!($43)) { - _stbi__err(11146); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $44 = HEAP32[$0>>2]|0; - $45 = (($44) + ($33)|0); - $46 = ((($0)) + 4|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($45>>>0)>($47>>>0); - if ($48) { - _stbi__err(11159); - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - $49 = ((($0)) + 16|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($50) + ($33)|0); - $52 = ((($0)) + 24|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($51>>>0)>($53>>>0); - if ($54) { - $55 = (_stbi__zexpand($0,$50,$33)|0); - $56 = ($55|0)==(0); - if ($56) { - $$034 = 0; - STACKTOP = sp;return ($$034|0); - } - } - $57 = HEAP32[$49>>2]|0; - $58 = HEAP32[$0>>2]|0; - _memcpy(($57|0),($58|0),($33|0))|0; - $59 = HEAP32[$0>>2]|0; - $60 = (($59) + ($33)|0); - HEAP32[$0>>2] = $60; - $61 = HEAP32[$49>>2]|0; - $62 = (($61) + ($33)|0); - HEAP32[$49>>2] = $62; - $$034 = 1; - STACKTOP = sp;return ($$034|0); -} -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((24279|0),8,144)|0; - dest=(24423); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(24535); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (24559); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=24247; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} -function _stbi__zbuild_huffman($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $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; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $3 = sp + 72|0; - $4 = sp; - dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - _memset(($0|0),0,1024)|0; - $5 = ($2|0)>(0); - if ($5) { - $$07688 = 0; - while(1) { - $6 = (($1) + ($$07688)|0); - $7 = HEAP8[$6>>0]|0; - $8 = $7&255; - $9 = (($4) + ($8<<2)|0); - $10 = HEAP32[$9>>2]|0; - $11 = (($10) + 1)|0; - HEAP32[$9>>2] = $11; - $12 = (($$07688) + 1)|0; - $exitcond91 = ($12|0)==($2|0); - if ($exitcond91) { - break; - } else { - $$07688 = $12; - } - } - } - HEAP32[$4>>2] = 0; - $16 = ((($4)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)>(2); - if (!($18)) { - $13 = ((($4)) + 8|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(4); - if (!($15)) { - $69 = ((($4)) + 12|0); - $70 = HEAP32[$69>>2]|0; - $71 = ($70|0)>(8); - if (!($71)) { - $72 = ((($4)) + 16|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)>(16); - if (!($74)) { - $75 = ((($4)) + 20|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($76|0)>(32); - if (!($77)) { - $78 = ((($4)) + 24|0); - $79 = HEAP32[$78>>2]|0; - $80 = ($79|0)>(64); - if (!($80)) { - $81 = ((($4)) + 28|0); - $82 = HEAP32[$81>>2]|0; - $83 = ($82|0)>(128); - if (!($83)) { - $84 = ((($4)) + 32|0); - $85 = HEAP32[$84>>2]|0; - $86 = ($85|0)>(256); - if (!($86)) { - $87 = ((($4)) + 36|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)>(512); - if (!($89)) { - $90 = ((($4)) + 40|0); - $91 = HEAP32[$90>>2]|0; - $92 = ($91|0)>(1024); - if (!($92)) { - $93 = ((($4)) + 44|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)>(2048); - if (!($95)) { - $96 = ((($4)) + 48|0); - $97 = HEAP32[$96>>2]|0; - $98 = ($97|0)>(4096); - if (!($98)) { - $99 = ((($4)) + 52|0); - $100 = HEAP32[$99>>2]|0; - $101 = ($100|0)>(8192); - if (!($101)) { - $102 = ((($4)) + 56|0); - $103 = HEAP32[$102>>2]|0; - $104 = ($103|0)>(16384); - if (!($104)) { - $105 = ((($4)) + 60|0); - $106 = HEAP32[$105>>2]|0; - $107 = ($106|0)>(32768); - if (!($107)) { - $$07785 = 0;$$07884 = 0;$$286 = 1; - while(1) { - $19 = (($3) + ($$286<<2)|0); - HEAP32[$19>>2] = $$07884; - $20 = $$07884&65535; - $21 = (((($0)) + 1024|0) + ($$286<<1)|0); - HEAP16[$21>>1] = $20; - $22 = $$07785&65535; - $23 = (((($0)) + 1124|0) + ($$286<<1)|0); - HEAP16[$23>>1] = $22; - $24 = (($4) + ($$286<<2)|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + ($$07884))|0; - $27 = ($25|0)!=(0); - $28 = 1 << $$286; - $29 = ($26|0)>($28|0); - $or$cond = $27 & $29; - if ($or$cond) { - label = 7; - break; - } - $30 = (16 - ($$286))|0; - $31 = $26 << $30; - $32 = (((($0)) + 1056|0) + ($$286<<2)|0); - HEAP32[$32>>2] = $31; - $33 = $26 << 1; - $34 = (($25) + ($$07785))|0; - $35 = (($$286) + 1)|0; - $36 = ($35|0)<(16); - if ($36) { - $$07785 = $34;$$07884 = $33;$$286 = $35; - } else { - break; - } - } - if ((label|0) == 7) { - _stbi__err(11036); - $$075 = 0; - STACKTOP = sp;return ($$075|0); - } - $37 = ((($0)) + 1120|0); - HEAP32[$37>>2] = 65536; - $38 = ($2|0)>(0); - if ($38) { - $$382 = 0; - } else { - $$075 = 1; - STACKTOP = sp;return ($$075|0); - } - while(1) { - $39 = (($1) + ($$382)|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = ($40<<24>>24)==(0); - if (!($42)) { - $43 = (($3) + ($41<<2)|0); - $44 = HEAP32[$43>>2]|0; - $45 = (((($0)) + 1024|0) + ($41<<1)|0); - $46 = HEAP16[$45>>1]|0; - $47 = $46&65535; - $48 = (($44) - ($47))|0; - $49 = (((($0)) + 1124|0) + ($41<<1)|0); - $50 = HEAP16[$49>>1]|0; - $51 = $50&65535; - $52 = (($48) + ($51))|0; - $53 = $41 << 9; - $54 = $53 | $$382; - $55 = $54&65535; - $56 = (((($0)) + 1156|0) + ($52)|0); - HEAP8[$56>>0] = $40; - $57 = $$382&65535; - $58 = (((($0)) + 1444|0) + ($52<<1)|0); - HEAP16[$58>>1] = $57; - $59 = ($40&255)<(10); - do { - if ($59) { - $60 = (_stbi__bit_reverse($44,$41)|0); - $61 = ($60|0)<(512); - if (!($61)) { - break; - } - $62 = 1 << $41; - $$081 = $60; - while(1) { - $63 = (($0) + ($$081<<1)|0); - HEAP16[$63>>1] = $55; - $64 = (($$081) + ($62))|0; - $65 = ($64|0)<(512); - if ($65) { - $$081 = $64; - } else { - break; - } - } - } - } while(0); - $66 = HEAP32[$43>>2]|0; - $67 = (($66) + 1)|0; - HEAP32[$43>>2] = $67; - } - $68 = (($$382) + 1)|0; - $exitcond = ($68|0)==($2|0); - if ($exitcond) { - $$075 = 1; - break; - } else { - $$382 = $68; - } - } - STACKTOP = sp;return ($$075|0); - } - } - } - } - } - } - } - } - } - } - } - } - } - } - } - _stbi__err(11088); - $$075 = 0; - STACKTOP = sp;return ($$075|0); -} -function _stbi__compute_huffman_codes($0) { - $0 = $0|0; - var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 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; - var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; - var label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); - $1 = sp; - $2 = sp + 2039|0; - $3 = sp + 2020|0; - $4 = (_stbi__zreceive($0,5)|0); - $5 = (($4) + 257)|0; - $6 = (_stbi__zreceive($0,5)|0); - $7 = (($6) + 1)|0; - $8 = (_stbi__zreceive($0,4)|0); - $9 = (($8) + 4)|0; - $10 = (($7) + ($5))|0; - dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $11 = ($9|0)>(0); - if ($11) { - $$06579 = 0; - while(1) { - $12 = (_stbi__zreceive($0,3)|0); - $13 = $12&255; - $14 = (11873 + ($$06579)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = (($3) + ($16)|0); - HEAP8[$17>>0] = $13; - $18 = (($$06579) + 1)|0; - $exitcond = ($18|0)==($9|0); - if ($exitcond) { - break; - } else { - $$06579 = $18; - } - } - } - $19 = (_stbi__zbuild_huffman($1,$3,19)|0); - $20 = ($19|0)==(0); - if ($20) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $21 = ($10|0)>(0); - L8: do { - if ($21) { - $$06678 = 0; - L9: while(1) { - $22 = (_stbi__zhuffman_decode($0,$1)|0); - $23 = ($22>>>0)>(18); - if ($23) { - label = 6; - break; - } - $24 = ($22|0)<(16); - if ($24) { - $25 = $22&255; - $26 = (($$06678) + 1)|0; - $27 = (($2) + ($$06678)|0); - HEAP8[$27>>0] = $25; - $$066$be = $26; - } else { - switch ($22|0) { - case 16: { - $28 = (_stbi__zreceive($0,2)|0); - $29 = ($$06678|0)==(0); - if ($29) { - label = 11; - break L9; - } - $30 = (($28) + 3)|0; - $31 = (($$06678) + -1)|0; - $32 = (($2) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $$0 = $33;$$061 = $30; - break; - } - case 17: { - $34 = (_stbi__zreceive($0,3)|0); - $35 = (($34) + 3)|0; - $$0 = 0;$$061 = $35; - break; - } - case 18: { - $36 = (_stbi__zreceive($0,7)|0); - $37 = (($36) + 11)|0; - $$0 = 0;$$061 = $37; - break; - } - default: { - label = 14; - break L9; - } - } - $38 = (($10) - ($$06678))|0; - $39 = ($38|0)<($$061|0); - if ($39) { - label = 17; - break; - } - $40 = (($2) + ($$06678)|0); - _memset(($40|0),($$0|0),($$061|0))|0; - $41 = (($$061) + ($$06678))|0; - $$066$be = $41; - } - $42 = ($10|0)>($$066$be|0); - if ($42) { - $$06678 = $$066$be; - } else { - $$066$lcssa = $$066$be; - break L8; - } - } - if ((label|0) == 6) { - _stbi__err(11036); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 11) { - _stbi__err(11036); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - else if ((label|0) == 14) { - ___assert_fail((11052|0),(10134|0),4021,(11060|0)); - // unreachable; - } - else if ((label|0) == 17) { - _stbi__err(11036); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } else { - $$066$lcssa = 0; - } - } while(0); - $43 = ($10|0)==($$066$lcssa|0); - if (!($43)) { - _stbi__err(11036); - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $44 = ((($0)) + 32|0); - $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); - $46 = ($45|0)==(0); - if ($46) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $47 = ((($0)) + 2052|0); - $48 = (($2) + ($5)|0); - $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); - $not$ = ($49|0)!=(0); - $$ = $not$&1; - $$4 = $$; - STACKTOP = sp;return ($$4|0); -} -function _stbi__parse_huffman_block($0) { - $0 = $0|0; - var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $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; - var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 32|0); - $4 = ((($0)) + 24|0); - $5 = ((($0)) + 2052|0); - $6 = ((($0)) + 20|0); - $7 = ((($0)) + 24|0); - $$070 = $2; - while(1) { - $10 = (_stbi__zhuffman_decode($0,$3)|0); - $11 = ($10|0)<(256); - if ($11) { - $12 = ($10|0)<(0); - if ($12) { - label = 6; - break; - } - $13 = HEAP32[$4>>2]|0; - $14 = ($$070>>>0)<($13>>>0); - if ($14) { - $$171 = $$070; - } else { - $15 = (_stbi__zexpand($0,$$070,1)|0); - $16 = ($15|0)==(0); - if ($16) { - $$3$ph = 0; - label = 28; - break; - } - $17 = HEAP32[$1>>2]|0; - $$171 = $17; - } - $18 = $10&255; - $19 = ((($$171)) + 1|0); - HEAP8[$$171>>0] = $18; - $$070 = $19; - continue; - } - $20 = ($10|0)==(256); - if ($20) { - label = 12; - break; - } - $21 = (($10) + -257)|0; - $22 = (3272 + ($21<<2)|0); - $23 = HEAP32[$22>>2]|0; - $24 = (($10) + -265)|0; - $25 = ($24>>>0)<(20); - if ($25) { - $26 = (3148 + ($21<<2)|0); - $27 = HEAP32[$26>>2]|0; - $28 = (_stbi__zreceive($0,$27)|0); - $29 = (($28) + ($23))|0; - $$064 = $29; - } else { - $$064 = $23; - } - $30 = (_stbi__zhuffman_decode($0,$5)|0); - $31 = ($30|0)<(0); - if ($31) { - label = 16; - break; - } - $32 = (3524 + ($30<<2)|0); - $33 = HEAP32[$32>>2]|0; - $34 = (($30) + -4)|0; - $35 = ($34>>>0)<(26); - if ($35) { - $36 = (3396 + ($30<<2)|0); - $37 = HEAP32[$36>>2]|0; - $38 = (_stbi__zreceive($0,$37)|0); - $39 = (($38) + ($33))|0; - $$063 = $39; - } else { - $$063 = $33; - } - $40 = HEAP32[$6>>2]|0; - $41 = $$070; - $42 = (($41) - ($40))|0; - $43 = ($42|0)<($$063|0); - if ($43) { - label = 20; - break; - } - $44 = (($$070) + ($$064)|0); - $45 = HEAP32[$7>>2]|0; - $46 = ($44>>>0)>($45>>>0); - if ($46) { - $47 = (_stbi__zexpand($0,$$070,$$064)|0); - $48 = ($47|0)==(0); - if ($48) { - $$3$ph = 0; - label = 28; - break; - } - $49 = HEAP32[$1>>2]|0; - $$272 = $49; - } else { - $$272 = $$070; - } - $50 = (0 - ($$063))|0; - $9 = (($$272) + ($50)|0); - $51 = ($$063|0)==(1); - $52 = ($$064|0)!=(0); - if ($51) { - if (!($52)) { - $$070 = $$272; - continue; - } - $8 = HEAP8[$9>>0]|0; - _memset(($$272|0),($8|0),($$064|0))|0; - $scevgep92 = (($$272) + ($$064)|0); - $$070 = $scevgep92; - continue; - } - if ($52) { - $$067 = $9;$$266 = $$064;$$5 = $$272; - } else { - $$070 = $$272; - continue; - } - while(1) { - $53 = ((($$067)) + 1|0); - $54 = HEAP8[$$067>>0]|0; - $55 = ((($$5)) + 1|0); - HEAP8[$$5>>0] = $54; - $56 = (($$266) + -1)|0; - $57 = ($56|0)==(0); - if ($57) { - break; - } else { - $$067 = $53;$$266 = $56;$$5 = $55; - } - } - $scevgep = (($$272) + ($$064)|0); - $$070 = $scevgep; - } - if ((label|0) == 6) { - _stbi__err(10861); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 12) { - HEAP32[$1>>2] = $$070; - $$3$ph = 1; - return ($$3$ph|0); - } - else if ((label|0) == 16) { - _stbi__err(10861); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 20) { - _stbi__err(10878); - $$3$ph = 0; - return ($$3$ph|0); - } - else if ((label|0) == 28) { - return ($$3$ph|0); - } - return (0)|0; -} -function _stbi__zhuffman_decode($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(16); - if ($4) { - _stbi__fill_bits($0); - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 511; - $8 = (($1) + ($7<<1)|0); - $9 = HEAP16[$8>>1]|0; - $10 = $9&65535; - $11 = ($9<<16>>16)==(0); - if ($11) { - $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); - $$0 = $17; - return ($$0|0); - } else { - $12 = $10 >>> 9; - $13 = $6 >>> $12; - HEAP32[$5>>2] = $13; - $14 = HEAP32[$2>>2]|0; - $15 = (($14) - ($12))|0; - HEAP32[$2>>2] = $15; - $16 = $10 & 511; - $$0 = $16; - return ($$0|0); - } - return (0)|0; -} -function _stbi__zexpand($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$029 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - HEAP32[$3>>2] = $1; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($5|0)==(0); - if ($6) { - _stbi__err(10887); - $$0 = 0; - return ($$0|0); - } - $7 = ((($0)) + 20|0); - $8 = HEAP32[$7>>2]|0; - $9 = $1; - $10 = $8; - $11 = (($9) - ($10))|0; - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) - ($10))|0; - $15 = (($11) + ($2))|0; - $$029 = $14; - while(1) { - $16 = ($15|0)>($$029|0); - $17 = $$029 << 1; - if ($16) { - $$029 = $17; - } else { - break; - } - } - $18 = (_realloc($8,$$029)|0); - $19 = ($18|0)==(0|0); - if ($19) { - _stbi__err(10189); - $$0 = 0; - return ($$0|0); - } else { - HEAP32[$7>>2] = $18; - $20 = (($18) + ($11)|0); - HEAP32[$3>>2] = $20; - $21 = (($18) + ($$029)|0); - HEAP32[$12>>2] = $21; - $$0 = 1; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fill_bits($0) { - $0 = $0|0; - var $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)) + 12|0); - $2 = ((($0)) + 8|0); - while(1) { - $3 = HEAP32[$1>>2]|0; - $4 = HEAP32[$2>>2]|0; - $5 = 1 << $4; - $6 = ($3>>>0)<($5>>>0); - if (!($6)) { - label = 3; - break; - } - $7 = (_stbi__zget8($0)|0); - $8 = $7&255; - $9 = HEAP32[$2>>2]|0; - $10 = $8 << $9; - $11 = HEAP32[$1>>2]|0; - $12 = $11 | $10; - HEAP32[$1>>2] = $12; - $13 = (($9) + 8)|0; - HEAP32[$2>>2] = $13; - $14 = ($13|0)<(25); - if (!($14)) { - label = 5; - break; - } - } - if ((label|0) == 3) { - ___assert_fail((10983|0),(10134|0),3863,(11020|0)); - // unreachable; - } - else if ((label|0) == 5) { - return; - } -} -function _stbi__zhuffman_decode_slowpath($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$025 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbi__bit_reverse($3,16)|0); - $$025 = 10; - while(1) { - $5 = (((($1)) + 1056|0) + ($$025<<2)|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)<($6|0); - $8 = (($$025) + 1)|0; - if ($7) { - break; - } else { - $$025 = $8; - } - } - $9 = ($$025|0)==(16); - if ($9) { - $$0 = -1; - return ($$0|0); - } - $10 = (16 - ($$025))|0; - $11 = $4 >> $10; - $12 = (((($1)) + 1024|0) + ($$025<<1)|0); - $13 = HEAP16[$12>>1]|0; - $14 = $13&65535; - $15 = (($11) - ($14))|0; - $16 = (((($1)) + 1124|0) + ($$025<<1)|0); - $17 = HEAP16[$16>>1]|0; - $18 = $17&65535; - $19 = (($15) + ($18))|0; - $20 = (((($1)) + 1156|0) + ($19)|0); - $21 = HEAP8[$20>>0]|0; - $22 = $21&255; - $23 = ($22|0)==($$025|0); - if (!($23)) { - ___assert_fail((10907|0),(10134|0),3891,(10923|0)); - // unreachable; - } - $24 = HEAP32[$2>>2]|0; - $25 = $24 >>> $$025; - HEAP32[$2>>2] = $25; - $26 = ((($0)) + 8|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) - ($$025))|0; - HEAP32[$26>>2] = $28; - $29 = (((($1)) + 1444|0) + ($19<<1)|0); - $30 = HEAP16[$29>>1]|0; - $31 = $30&65535; - $$0 = $31; - return ($$0|0); -} -function _stbi__bit_reverse($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)<(17); - if ($2) { - $3 = (_stbi__bitreverse16($0)|0); - $4 = (16 - ($1))|0; - $5 = $3 >> $4; - return ($5|0); - } else { - ___assert_fail((10954|0),(10134|0),3781,(10965|0)); - // unreachable; - } - return (0)|0; -} -function _stbi__bitreverse16($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; - $1 = $0 >>> 1; - $2 = $1 & 21845; - $3 = $0 << 1; - $4 = $3 & 43690; - $5 = $2 | $4; - $6 = $5 >>> 2; - $7 = $6 & 13107; - $8 = $5 << 2; - $9 = $8 & 52428; - $10 = $7 | $9; - $11 = $10 >>> 4; - $12 = $11 & 3855; - $13 = $10 << 4; - $14 = $13 & 61680; - $15 = $12 | $14; - $16 = $15 >>> 8; - $17 = $15 << 8; - $18 = $17 & 65280; - $19 = $18 | $16; - return ($19|0); -} -function _stbi__zget8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($1>>>0)<($3>>>0); - if (!($4)) { - $$0 = 0; - return ($$0|0); - } - $5 = ((($1)) + 1|0); - HEAP32[$0>>2] = $5; - $6 = HEAP8[$1>>0]|0; - $$0 = $6; - return ($$0|0); -} -function _stbi__refill_buffer($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; - $1 = ((($0)) + 16|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($0)) + 40|0); - $6 = ((($0)) + 36|0); - $7 = HEAP32[$6>>2]|0; - $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); - $9 = ($8|0)==(0); - if ($9) { - $10 = ((($0)) + 32|0); - HEAP32[$10>>2] = 0; - $11 = ((($0)) + 168|0); - HEAP32[$11>>2] = $5; - $12 = ((($0)) + 41|0); - $13 = ((($0)) + 172|0); - HEAP32[$13>>2] = $12; - HEAP8[$5>>0] = 0; - return; - } else { - $14 = ((($0)) + 168|0); - HEAP32[$14>>2] = $5; - $15 = (((($0)) + 40|0) + ($8)|0); - $16 = ((($0)) + 172|0); - HEAP32[$16>>2] = $15; - return; - } -} -function _stbi__rewind($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 176|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 168|0); - HEAP32[$3>>2] = $2; - $4 = ((($0)) + 180|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 172|0); - HEAP32[$6>>2] = $5; - return; -} -function _stbi__start_callbacks($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; - $4 = ((($0)) + 28|0); - HEAP32[$4>>2] = $2; - $5 = ((($0)) + 36|0); - HEAP32[$5>>2] = 128; - $6 = ((($0)) + 32|0); - HEAP32[$6>>2] = 1; - $7 = ((($0)) + 40|0); - $8 = ((($0)) + 176|0); - HEAP32[$8>>2] = $7; - _stbi__refill_buffer($0); - $9 = ((($0)) + 172|0); - $10 = HEAP32[$9>>2]|0; - $11 = ((($0)) + 180|0); - HEAP32[$11>>2] = $10; - return; -} -function _stbi__stdio_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_fread($1,1,$2,$0)|0); - return ($3|0); -} -function _stbi__stdio_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (_fseek($0,$1,1)|0); - return; -} -function _stbi__stdio_eof($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_feof($0)|0); - return ($1|0); -} -function _LoadImage($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer9 = sp + 32|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 48|0; - $3 = sp + 44|0; - $4 = sp + 40|0; - $5 = sp + 36|0; - $6 = (_IsFileExtension($1,12060)|0); - $7 = ($6|0)==(0); - do { - if ($7) { - $19 = (_IsFileExtension($1,11282)|0); - $20 = ($19|0)==(0); - if ($20) { - HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,11287,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; - break; - } - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { - case 1: { - $$sink = 1; - label = 11; - break; - } - case 2: { - $$sink = 2; - label = 11; - break; - } - case 3: { - $$sink = 4; - label = 11; - break; - } - case 4: { - $$sink = 7; - label = 11; - break; - } - default: { - $$sroa$15$1 = 0; - } - } - if ((label|0) == 11) { - $$sroa$15$1 = $$sink; - } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; - label = 14; - } else { - $8 = (_LoadResource($1,0)|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)==(1); - if ($10) { - $11 = ((($8)) + 20|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($8)) + 4|0); - $14 = HEAP32[$13>>2]|0; - $15 = ((($8)) + 8|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($8)) + 12|0); - $18 = HEAP32[$17>>2]|0; - _LoadImagePro($2,$12,$14,$16,$18); - $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; - $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; - } else { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11235,$vararg_buffer); - $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; - } - _UnloadResource($8); - $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; - label = 14; - } - } while(0); - if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; - } else { - HEAP32[$vararg_buffer4>>2] = $1; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; - $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); - HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,11323,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,11362,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; - STACKTOP = sp;return; -} -function _LoadResource($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 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; - 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, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; - var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $vararg_buffer8 = sp + 24|0; - $vararg_buffer4 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 64|0; - $3 = sp + 32|0; - $4 = (_fopen($0,12733)|0); - $5 = ($4|0)==(0|0); - if ($5) { - HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,11421,$vararg_buffer); - $$2 = 0; - STACKTOP = sp;return ($$2|0); - } - (_fread($2,1,1,$4)|0); - $6 = ((($2)) + 1|0); - (_fread($6,1,1,$4)|0); - $7 = ((($2)) + 2|0); - (_fread($7,1,1,$4)|0); - $8 = ((($2)) + 3|0); - (_fread($8,1,1,$4)|0); - $9 = ((($2)) + 4|0); - (_fread($9,2,1,$4)|0); - $10 = ((($2)) + 6|0); - (_fread($10,2,1,$4)|0); - $11 = HEAP8[$2>>0]|0; - $12 = ($11<<24>>24)==(114); - $13 = HEAP8[$6>>0]|0; - $14 = ($13<<24>>24)==(82); - $or$cond = $12 | $14; - $15 = HEAP8[$7>>0]|0; - $16 = ($15<<24>>24)==(69); - $or$cond60 = $or$cond | $16; - $17 = HEAP8[$8>>0]|0; - $18 = ($17<<24>>24)==(83); - $or$cond62 = $or$cond60 | $18; - if ($or$cond62) { - $19 = HEAP16[$10>>1]|0; - $20 = ($19<<16>>16)==(0); - if ($20) { - $$0$lcssa = 0; - } else { - $21 = ((($3)) + 7|0); - $22 = HEAP16[$10>>1]|0; - $23 = $22&65535; - $24 = ((($3)) + 8|0); - $25 = ((($3)) + 4|0); - $26 = ((($3)) + 16|0); - $27 = ((($3)) + 20|0); - $28 = ((($3)) + 24|0); - $29 = ((($3)) + 28|0); - $30 = ((($3)) + 8|0); - $31 = ((($3)) + 5|0); - $32 = ((($3)) + 12|0); - $$05665 = 0; - while(1) { - (_fread($3,32,1,$4)|0); - $36 = HEAP8[$21>>0]|0; - $37 = $36&255; - $38 = ($37*24)|0; - $39 = (_malloc($38)|0); - $40 = HEAP32[$3>>2]|0; - $41 = ($40|0)==($1|0); - if ($41) { - $42 = HEAP8[$21>>0]|0; - $43 = ($42<<24>>24)==(0); - if (!($43)) { - $$05764 = 0; - while(1) { - $44 = HEAP8[$25>>0]|0; - $45 = $44&255; - $46 = (($39) + (($$05764*24)|0)|0); - HEAP32[$46>>2] = $45; - $47 = HEAP32[$26>>2]|0; - $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); - HEAP32[$48>>2] = $47; - $49 = HEAP32[$27>>2]|0; - $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); - HEAP32[$50>>2] = $49; - $51 = HEAP32[$28>>2]|0; - $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); - HEAP32[$52>>2] = $51; - $53 = HEAP32[$29>>2]|0; - $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); - HEAP32[$54>>2] = $53; - $55 = HEAP32[$30>>2]|0; - $56 = (_malloc($55)|0); - (_fread($56,$55,1,$4)|0); - $57 = HEAP8[$31>>0]|0; - $58 = ($57<<24>>24)==(1); - if ($58) { - $59 = HEAP32[$30>>2]|0; - $60 = HEAP32[$32>>2]|0; - $61 = (_DecompressData($56,$59,$60)|0); - $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); - HEAP32[$62>>2] = $61; - _free($56); - } else { - $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); - HEAP32[$63>>2] = $56; - } - $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if (!($66)) { - $67 = HEAP32[$3>>2]|0; - HEAP32[$vararg_buffer4>>2] = $0; - $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); - HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,11518,$vararg_buffer4); - } - (_fread($3,32,1,$4)|0); - $68 = (($$05764) + 1)|0; - $69 = HEAP8[$21>>0]|0; - $70 = $69&255; - $71 = ($68|0)<($70|0); - if ($71) { - $$05764 = $68; - } else { - break; - } - } - } - } else { - $72 = HEAP32[$24>>2]|0; - (_fseek($4,$72,1)|0); - } - $73 = (($$05665) + 1)|0; - $74 = ($73|0)<($23|0); - if ($74) { - $$05665 = $73; - } else { - $$0$lcssa = $39; - break; - } - } - } - $33 = ((($$0$lcssa)) + 20|0); - $34 = HEAP32[$33>>2]|0; - $35 = ($34|0)==(0|0); - if ($35) { - HEAP32[$vararg_buffer8>>2] = $0; - $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); - HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,11564,$vararg_buffer8); - $$1 = $$0$lcssa; - } else { - $$1 = $$0$lcssa; - } - } else { - HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,11472,$vararg_buffer1); - $$1 = 0; - } - (_fclose($4)|0); - $$2 = $$1; - STACKTOP = sp;return ($$2|0); -} -function _LoadImagePro($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy = sp + 20|0; - $5 = sp; - HEAP32[$5>>2] = $1; - $6 = ((($5)) + 4|0); - HEAP32[$6>>2] = $2; - $7 = ((($5)) + 8|0); - HEAP32[$7>>2] = $3; - $8 = ((($5)) + 12|0); - HEAP32[$8>>2] = 1; - $9 = ((($5)) + 16|0); - HEAP32[$9>>2] = $4; - ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; - _ImageCopy($0,$$byval_copy); - STACKTOP = sp;return; -} -function _UnloadResource($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 20|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if ($3) { - return; - } - _free($2); - return; -} -function _ImageCopy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; - var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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; - $2 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($1)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = Math_imul($5, $3)|0; - $7 = ((($1)) + 16|0); - $8 = HEAP32[$7>>2]|0; - switch ($8|0) { - case 17: case 14: case 11: case 10: case 1: { - $$0 = $6; - break; - } - case 6: case 5: case 3: case 2: { - $9 = $6 << 1; - $$0 = $9; - break; - } - case 4: { - $10 = ($6*3)|0; - $$0 = $10; - break; - } - case 7: { - $11 = $6 << 2; - $$0 = $11; - break; - } - case 16: case 15: case 13: case 12: case 9: case 8: { - $12 = (($6|0) / 2)&-1; - $$0 = $12; - break; - } - case 18: { - $13 = (($6|0) / 4)&-1; - $$0 = $13; - break; - } - default: { - _TraceLog(2,11393,$vararg_buffer); - $$0 = $6; - } - } - $14 = (_malloc($$0)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; - } else { - $16 = HEAP32[$1>>2]|0; - _memcpy(($14|0),($16|0),($$0|0))|0; - $17 = HEAP32[$2>>2]|0; - $18 = HEAP32[$4>>2]|0; - $19 = ((($1)) + 12|0); - $20 = HEAP32[$19>>2]|0; - $21 = HEAP32[$7>>2]|0; - $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; - } - HEAP32[$0>>2] = $14; - $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); - HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; - $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); - HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; - $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); - HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; - STACKTOP = sp;return; -} -function _DecompressData($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $vararg_buffer10 = sp + 40|0; - $vararg_buffer7 = sp + 32|0; - $vararg_buffer5 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $3 = (_malloc($2)|0); - $4 = ($3|0)==(0|0); - if ($4) { - _TraceLog(2,11614,$vararg_buffer); - STACKTOP = sp;return ($3|0); - } - $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); - $6 = ($5|0)==(-1); - if ($6) { - _TraceLog(2,11653,$vararg_buffer1); - _free($3); - } - $7 = ($5|0)==($2|0); - if (!($7)) { - _TraceLog(2,11679,$vararg_buffer3); - HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11742,$vararg_buffer5); - HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11777,$vararg_buffer7); - } - HEAP32[$vararg_buffer10>>2] = $1; - $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); - HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11812,$vararg_buffer10); - STACKTOP = sp;return ($3|0); -} -function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); - $5 = sp + 11000|0; - $6 = sp; - $7 = sp + 8|0; - HEAP32[$5>>2] = $1; - HEAP32[$6>>2] = $3; - HEAP32[$7>>2] = 0; - $8 = $4 & -7; - $9 = $8 | 4; - $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); - $11 = ($10|0)!=(0); - $12 = HEAP32[$5>>2]|0; - $13 = $11 ? -1 : $12; - STACKTOP = sp;return ($13|0); -} -function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; - var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; - var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; - var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; - var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; - var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; - var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; - var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; - var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; - var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; - var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; - var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; - var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; - var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; - var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; - var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; - var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; - var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; - var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; - var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; - var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; - var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; - var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; - var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; - var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; - var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; - var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; - var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; - var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; - var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; - var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; - var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; - var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; - var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; - var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; - var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; - var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; - var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; - var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; - var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; - var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; - var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; - var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; - var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; - var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; - var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; - var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; - var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0; - var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0; - var $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, $305 = 0, $306 = 0, $307 = 0, $308 = 0; - var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; - var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; - var $345 = 0, $346 = 0, $347 = 0, $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; - var $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, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; - var $381 = 0, $382 = 0, $383 = 0, $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; - var $40 = 0, $400 = 0, $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; - var $418 = 0, $419 = 0, $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; - var $436 = 0, $437 = 0, $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; - var $454 = 0, $455 = 0, $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; - var $472 = 0, $473 = 0, $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; - var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; - var $509 = 0, $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; - var $527 = 0, $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; - var $545 = 0, $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; - var $563 = 0, $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; - var $581 = 0, $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; - 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, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; - var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $7 = sp + 64|0; - $8 = sp; - $9 = HEAP32[$2>>2]|0; - $10 = (($1) + ($9)|0); - $11 = HEAP32[$5>>2]|0; - $12 = (($4) + ($11)|0); - $13 = $6 & 4; - $14 = ($13|0)!=(0); - $15 = $4; - $16 = $3; - $17 = $16 ^ -1; - $18 = (($15) + ($17))|0; - $19 = (($18) + ($11))|0; - $$1753 = $14 ? -1 : $19; - $20 = (($$1753) + 1)|0; - $21 = $20 & $$1753; - $22 = ($21|0)!=(0); - $23 = ($4>>>0)<($3>>>0); - $or$cond1702 = $23 | $22; - if ($or$cond1702) { - HEAP32[$5>>2] = 0; - HEAP32[$2>>2] = 0; - $$0951 = -3; - STACKTOP = sp;return ($$0951|0); - } - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 56|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 32|0); - $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 36|0); - $31 = HEAP32[$30>>2]|0; - $32 = ((($0)) + 40|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($0)) + 60|0); - $35 = HEAP32[$34>>2]|0; - $36 = HEAP32[$0>>2]|0; - L5: do { - switch ($36|0) { - case 0: { - $37 = ((($0)) + 12|0); - HEAP32[$37>>2] = 0; - $38 = ((($0)) + 8|0); - HEAP32[$38>>2] = 0; - $39 = ((($0)) + 28|0); - HEAP32[$39>>2] = 1; - $40 = ((($0)) + 16|0); - HEAP32[$40>>2] = 1; - $41 = $6 & 1; - $42 = ($41|0)==(0); - if ($42) { - $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; - label = 14; - } else { - $43 = ($9|0)<(1); - if ($43) { - $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; - label = 6; - } else { - $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; - label = 8; - } - } - break; - } - case 1: { - $46 = ($9|0)>(0); - if ($46) { - $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; - label = 8; - } else { - $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; - label = 6; - } - break; - } - case 2: { - $53 = ($9|0)>(0); - if ($53) { - $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; - label = 12; - } else { - $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; - label = 10; - } - break; - } - case 36: { - $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; - label = 243; - break; - } - case 3: { - $75 = ($9|0)>(0); - if ($75) { - $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; - label = 18; - } else { - $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; - label = 16; - } - break; - } - case 5: { - $90 = ($9|0)>(0); - if ($90) { - $91 = ((($1)) + 1|0); - $92 = HEAP8[$1>>0]|0; - $93 = $92&255; - $$01412 = $93;$$111518 = $91; - } else { - $88 = $6 & 2; - $89 = ($88|0)==(0); - if ($89) { - $$01412 = 0;$$111518 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; - label = 243; - break L5; - } - } - $94 = $$01412 << $25; - $95 = $94 | $27; - $96 = (($25) + 8)|0; - $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; - label = 25; - break; - } - case 6: { - $106 = ($9|0)>(0); - if ($106) { - $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; - label = 32; - } else { - $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; - label = 30; - } - break; - } - case 7: { - $120 = ($9|0)>(0); - if ($120) { - $121 = ((($1)) + 1|0); - $122 = HEAP8[$1>>0]|0; - $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; - label = 39; - } else { - $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; - label = 36; - } - break; - } - case 39: { - $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; - label = 43; - break; - } - case 51: { - $152 = ($9|0)>(0); - if ($152) { - $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; - label = 49; - } else { - $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; - label = 47; - } - break; - } - case 52: { - $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; - label = 52; - break; - } - case 9: { - $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; - label = 55; - break; - } - case 38: { - $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; - label = 56; - break; - } - case 40: { - $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; - label = 58; - break; - } - case 10: { - $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; - label = 60; - break; - } - case 11: { - $193 = ($9|0)>(0); - if ($193) { - $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; - label = 66; - } else { - $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; - label = 64; - } - break; - } - case 14: { - $224 = ($9|0)>(0); - if ($224) { - $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; - label = 75; - } else { - $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; - label = 73; - } - break; - } - case 35: { - $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; - label = 86; - break; - } - case 16: { - $452 = ($9|0)>(0); - if ($452) { - $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; - label = 116; - } else { - $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; - label = 114; - } - break; - } - case 17: { - $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; - label = 125; - break; - } - case 18: { - $503 = ($9|0)>(0); - if ($503) { - $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; - label = 130; - } else { - $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; - label = 128; - } - break; - } - case 21: { - $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; - label = 136; - break; - } - case 23: { - $572 = ($9|0)>(0); - if ($572) { - $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; - label = 153; - } else { - $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; - label = 151; - } - break; - } - case 24: { - $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; - label = 160; - break; - } - case 25: { - $696 = ($9|0)>(0); - if ($696) { - $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; - label = 182; - } else { - $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; - label = 180; - } - break; - } - case 26: { - $737 = ($9|0)>(0); - if ($737) { - $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; - label = 195; - } else { - $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; - label = 193; - } - break; - } - case 27: { - $784 = ($9|0)>(0); - if ($784) { - $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; - label = 206; - } else { - $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; - label = 204; - } - break; - } - case 37: { - $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; - label = 210; - break; - } - case 53: { - $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; - label = 213; - break; - } - case 32: { - $842 = ($9|0)>(0); - if ($842) { - $843 = ((($1)) + 1|0); - $844 = HEAP8[$1>>0]|0; - $845 = $844&255; - $$0949 = $845;$$881595 = $843; - } else { - $840 = $6 & 2; - $841 = ($840|0)==(0); - if ($841) { - $$0949 = 0;$$881595 = $1; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; - label = 243; - break L5; - } - } - $846 = $$0949 << $25; - $847 = $846 | $27; - $848 = (($25) + 8)|0; - $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; - label = 226; - break; - } - case 41: { - $858 = ($9|0)>(0); - if ($858) { - $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; - label = 233; - } else { - $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; - label = 231; - } - break; - } - case 42: { - $871 = ($9|0)>(0); - if ($871) { - $872 = ((($1)) + 1|0); - $873 = HEAP8[$1>>0]|0; - $874 = $873&255; - $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; - label = 241; - } else { - $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; - label = 237; - } - break; - } - case 34: { - $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; - label = 242; - break; - } - default: { - $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; - label = 244; - } - } - } while(0); - if ((label|0) == 6) { - $44 = $6 & 2; - $45 = ($44|0)==(0); - if ($45) { - $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; - label = 9; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; - label = 243; - } - } - else if ((label|0) == 8) { - $47 = ((($1)) + 1|0); - $48 = HEAP8[$1>>0]|0; - $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; - label = 9; - } - if ((label|0) == 9) { - $$sink3 = $$sink3$shrunk&255; - $49 = ((($0)) + 8|0); - HEAP32[$49>>2] = $$sink3; - $50 = ($$01507>>>0)<($10>>>0); - if ($50) { - $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; - label = 12; - } else { - $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; - label = 10; - } - } - if ((label|0) == 10) { - $51 = $6 & 2; - $52 = ($51|0)==(0); - if ($52) { - $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; - label = 13; - } else { - $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; - label = 243; - } - } - else if ((label|0) == 12) { - $54 = ((($$sink1705)) + 1|0); - $55 = HEAP8[$$sink1705>>0]|0; - $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; - label = 13; - } - if ((label|0) == 13) { - $$sink9 = $$sink9$shrunk&255; - $56 = ((($0)) + 12|0); - HEAP32[$56>>2] = $$sink9; - $57 = ((($0)) + 8|0); - $58 = HEAP32[$57>>2]|0; - $59 = $58 << 8; - $60 = $59 | $$sink9; - $61 = (($60>>>0) % 31)&-1; - $62 = $$sink9 & 32; - $63 = $61 | $62; - $64 = $58 & 15; - $65 = ($64|0)!=(8); - $not$ = ($63|0)!=(0); - $$1754 = $65 | $not$; - $66 = $58 >>> 4; - $67 = 256 << $66; - $68 = ($67>>>0)>(32768); - $69 = ($20>>>0)<($67>>>0); - $$ = $68 | $69; - $not$1755 = $14 ^ 1; - $70 = $$ & $not$1755; - $$31100$v = $70 | $$1754; - if ($$31100$v) { - $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; - label = 243; - } else { - $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; - label = 14; - } - } - L46: while(1) { - switch (label|0) { - case 14: { - label = 0; - $71 = ($$5>>>0)<(3); - if ($71) { - $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; - label = 15; - } else { - $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; - label = 20; - } - break; - } - case 16: { - label = 0; - $73 = $6 & 2; - $74 = ($73|0)==(0); - if ($74) { - $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; - label = 19; - } else { - $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; - label = 243; - continue L46; - } - break; - } - case 18: { - label = 0; - $76 = ((($$sink1710)) + 1|0); - $77 = HEAP8[$$sink1710>>0]|0; - $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; - label = 19; - break; - } - case 25: { - label = 0; - $97 = $$13 & 7; - $98 = $$131322 >>> $97; - $99 = (($$13) - ($97))|0; - $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; - label = 26; - break; - } - case 30: { - label = 0; - $104 = $6 & 2; - $105 = ($104|0)==(0); - if ($105) { - $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; - label = 33; - } else { - $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; - label = 243; - continue L46; - } - break; - } - case 32: { - label = 0; - $107 = ((($$sink1713)) + 1|0); - $108 = HEAP8[$$sink1713>>0]|0; - $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; - label = 33; - break; - } - case 36: { - label = 0; - $118 = $6 & 2; - $119 = ($118|0)==(0); - if ($119) { - $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; - label = 39; - continue L46; - } else { - $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; - label = 243; - continue L46; - } - break; - } - case 39: { - label = 0; - $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); - HEAP8[$$sink13>>0] = $$sink12; - $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; - label = 41; - break; - } - case 43: { - label = 0; - $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; - label = 243; - continue L46; - break; - } - case 47: { - label = 0; - $150 = $6 & 2; - $151 = ($150|0)==(0); - if ($151) { - $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; - label = 50; - } else { - $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; - label = 243; - continue L46; - } - break; - } - case 49: { - label = 0; - $153 = ((($$sink1716)) + 1|0); - $154 = HEAP8[$$sink1716>>0]|0; - $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; - label = 50; - break; - } - case 52: { - label = 0; - $162 = ($$231630>>>0)<($12>>>0); - if (!($162)) { - $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; - label = 243; - continue L46; - } - $163 = $$271018&255; - $164 = ((($$231630)) + 1|0); - HEAP8[$$231630>>0] = $163; - $165 = (($$271124) + -1)|0; - $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; - label = 44; - break; - } - case 55: { - label = 0; - $167 = ($$251632>>>0)<($12>>>0); - if ($167) { - $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; - label = 56; - continue L46; - } else { - $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; - label = 243; - continue L46; - } - break; - } - case 56: { - label = 0; - $168 = ($$301537>>>0)<($10>>>0); - if ($168) { - $171 = $12; - $172 = $$261633; - $173 = (($171) - ($172))|0; - $174 = $10; - $175 = $$301537; - $176 = (($174) - ($175))|0; - $177 = ($173>>>0)<($176>>>0); - $$sink17 = $177 ? $12 : $10; - $$sink16 = $177 ? $$261633 : $$301537; - $178 = $$sink17; - $179 = $$sink16; - $180 = (($178) - ($179))|0; - $181 = ($180>>>0)<($$301127>>>0); - $$$301127 = $181 ? $180 : $$301127; - _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; - $182 = (($$301537) + ($$$301127)|0); - $183 = (($$261633) + ($$$301127)|0); - $184 = (($$301127) - ($$$301127))|0; - $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; - label = 54; - break; - } else { - $169 = $6 & 2; - $170 = ($169|0)==(0); - if ($170) { - $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; - label = 58; - continue L46; - } else { - $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; - label = 243; - continue L46; - } - } - break; - } - case 58: { - label = 0; - $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; - label = 243; - continue L46; - break; - } - case 60: { - label = 0; - $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; - label = 243; - continue L46; - break; - } - case 64: { - label = 0; - $191 = $6 & 2; - $192 = ($191|0)==(0); - if ($192) { - $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; - label = 67; - } else { - $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; - label = 243; - continue L46; - } - break; - } - case 66: { - label = 0; - $194 = ((($$sink1719)) + 1|0); - $195 = HEAP8[$$sink1719>>0]|0; - $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; - label = 67; - break; - } - case 73: { - label = 0; - $222 = $6 & 2; - $223 = ($222|0)==(0); - if ($223) { - $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; - label = 76; - } else { - $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; - label = 243; - continue L46; - } - break; - } - case 75: { - label = 0; - $225 = ((($$sink1722)) + 1|0); - $226 = HEAP8[$$sink1722>>0]|0; - $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; - label = 76; - break; - } - case 86: { - label = 0; - $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; - label = 243; - continue L46; - break; - } - case 114: { - label = 0; - $450 = $6 & 2; - $451 = ($450|0)==(0); - if ($451) { - $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; - label = 117; - } else { - $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; - label = 243; - continue L46; - } - break; - } - case 116: { - label = 0; - $453 = ((($$sink1729)) + 1|0); - $454 = HEAP8[$$sink1729>>0]|0; - $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; - label = 117; - break; - } - case 125: { - label = 0; - $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; - label = 243; - continue L46; - break; - } - case 128: { - label = 0; - $501 = $6 & 2; - $502 = ($501|0)==(0); - if ($502) { - $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; - label = 131; - } else { - $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; - label = 243; - continue L46; - } - break; - } - case 130: { - label = 0; - $504 = ((($$sink1732)) + 1|0); - $505 = HEAP8[$$sink1732>>0]|0; - $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; - label = 131; - break; - } - case 136: { - label = 0; - $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; - label = 243; - continue L46; - break; - } - case 151: { - label = 0; - $570 = $6 & 2; - $571 = ($570|0)==(0); - if ($571) { - $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; - label = 154; - } else { - $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; - label = 243; - continue L46; - } - break; - } - case 153: { - label = 0; - $573 = ((($$sink1736)) + 1|0); - $574 = HEAP8[$$sink1736>>0]|0; - $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; - label = 154; - break; - } - case 160: { - label = 0; - $610 = ($$591666>>>0)<($12>>>0); - if (!($610)) { - $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; - label = 243; - continue L46; - } - $611 = $$621159&255; - $612 = ((($$591666)) + 1|0); - HEAP8[$$591666>>0] = $611; - $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; - label = 140; - break; - } - case 180: { - label = 0; - $694 = $6 & 2; - $695 = ($694|0)==(0); - if ($695) { - $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; - label = 183; - } else { - $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; - label = 243; - continue L46; - } - break; - } - case 182: { - label = 0; - $697 = ((($$sink1739)) + 1|0); - $698 = HEAP8[$$sink1739>>0]|0; - $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; - label = 183; - break; - } - case 193: { - label = 0; - $735 = $6 & 2; - $736 = ($735|0)==(0); - if ($736) { - $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; - label = 196; - } else { - $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; - label = 243; - continue L46; - } - break; - } - case 195: { - label = 0; - $738 = ((($$sink1743)) + 1|0); - $739 = HEAP8[$$sink1743>>0]|0; - $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; - label = 196; - break; - } - case 204: { - label = 0; - $782 = $6 & 2; - $783 = ($782|0)==(0); - if ($783) { - $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; - label = 207; - } else { - $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; - label = 243; - continue L46; - } - break; - } - case 206: { - label = 0; - $785 = ((($$sink1746)) + 1|0); - $786 = HEAP8[$$sink1746>>0]|0; - $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; - label = 207; - break; - } - case 210: { - label = 0; - $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; - label = 243; - continue L46; - break; - } - case 213: { - label = 0; - $809 = ($$781685>>>0)<($12>>>0); - if (!($809)) { - $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; - label = 243; - continue L46; - } - $810 = (($$751491) + 1)|0; - $811 = (($$751491) - ($$791070))|0; - $812 = $811 & $$1753; - $813 = (($3) + ($812)|0); - $814 = HEAP8[$813>>0]|0; - $815 = ((($$781685)) + 1|0); - HEAP8[$$781685>>0] = $814; - $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; - label = 212; - break; - } - case 226: { - label = 0; - $849 = $$90 & 7; - $850 = $$901399 >>> $849; - $851 = (($$90) - ($849))|0; - $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; - label = 227; - break; - } - case 231: { - label = 0; - $856 = $6 & 2; - $857 = ($856|0)==(0); - if ($857) { - $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; - label = 234; - } else { - $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; - label = 243; - continue L46; - } - break; - } - case 233: { - label = 0; - $859 = ((($$sink1750)) + 1|0); - $860 = HEAP8[$$sink1750>>0]|0; - $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; - label = 234; - break; - } - case 237: { - label = 0; - $869 = $6 & 2; - $870 = ($869|0)==(0); - if ($870) { - $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; - label = 241; - continue L46; - } else { - $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; - label = 243; - continue L46; - } - break; - } - case 241: { - label = 0; - $878 = ((($0)) + 16|0); - $879 = HEAP32[$878>>2]|0; - $880 = $879 << 8; - $881 = $880 | $$0948; - HEAP32[$878>>2] = $881; - $882 = (($$931190) + 1)|0; - $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; - label = 227; - break; - } - case 242: { - label = 0; - $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; - label = 243; - continue L46; - break; - } - case 243: { - label = 0; - HEAP32[$0>>2] = $$sink30; - $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; - label = 244; - continue L46; - break; - } - case 244: { - label = 0; - HEAP32[$24>>2] = $$100; - HEAP32[$26>>2] = $$1001409; - HEAP32[$28>>2] = $$941085; - HEAP32[$30>>2] = $$961193; - HEAP32[$32>>2] = $$961299; - HEAP32[$34>>2] = $$901506; - $883 = $$991606; - $884 = $1; - $885 = (($883) - ($884))|0; - HEAP32[$2>>2] = $885; - $886 = $$941701; - $887 = $4; - $888 = (($886) - ($887))|0; - HEAP32[$5>>2] = $888; - $889 = $6 & 9; - $890 = ($889|0)!=(0); - $891 = ($$1961|0)>(-1); - $or$cond29 = $890 & $891; - if ($or$cond29) { - break L46; - } else { - $$0951 = $$1961; - label = 258; - break L46; - } - break; - } - } - switch (label|0) { - case 19: { - label = 0; - $$01413 = $$01413$shrunk&255; - $78 = $$01413 << $$8; - $79 = $78 | $$81317; - $80 = (($$8) + 8)|0; - $81 = ($80>>>0)<(3); - if ($81) { - $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; - label = 15; - } else { - $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; - label = 20; - } - break; - } - case 33: { - label = 0; - $$01411 = $$01411$shrunk&255; - $109 = $$01411 << $$17; - $110 = $109 | $$171326; - $111 = (($$17) + 8)|0; - $112 = ($$17>>>0)>(4294967287); - if ($112) { - $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; - label = 29; - } else { - $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; - label = 34; - } - break; - } - case 50: { - label = 0; - $$01410 = $$01410$shrunk&255; - $155 = $$01410 << $$26; - $156 = $155 | $$261335; - $157 = (($$26) + 8)|0; - $158 = ($$26>>>0)>(4294967287); - if ($158) { - $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; - label = 46; - } else { - $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; - label = 51; - } - break; - } - case 67: { - label = 0; - $$01300 = $$01300$shrunk&255; - $196 = $$01300 << $$37; - $197 = $196 | $$371346; - $198 = (($$37) + 8)|0; - $199 = (11869 + ($$361133)|0); - $200 = HEAP8[$199>>0]|0; - $201 = $200 << 24 >> 24; - $202 = ($198>>>0)<($201>>>0); - if ($202) { - $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; - label = 63; - } else { - $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; - label = 68; - } - break; - } - case 76: { - label = 0; - $$01202 = $$01202$shrunk&255; - $227 = $$01202 << $$42; - $228 = $227 | $$421351; - $229 = (($$42) + 8)|0; - $230 = ($229>>>0)<(3); - if ($230) { - $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; - label = 72; - } else { - $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; - label = 77; - } - break; - } - case 117: { - label = 0; - $$0980 = $$0980$shrunk&255; - $455 = $$0980 << $$49; - $456 = $455 | $$491358; - $457 = (($$49) + 8)|0; - $458 = ($457>>>0)<(15); - if ($458) { - $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; - label = 108; - } else { - $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; - label = 119; - } - break; - } - case 131: { - label = 0; - $$0979 = $$0979$shrunk&255; - $506 = $$0979 << $$54; - $507 = $506 | $$541363; - $508 = (($$54) + 8)|0; - $509 = ($508>>>0)<($$541257>>>0); - if ($509) { - $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; - label = 127; - } else { - $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; - label = 132; - } - break; - } - case 154: { - label = 0; - $$0971 = $$0971$shrunk&255; - $575 = $$0971 << $$62; - $576 = $575 | $$621371; - $577 = (($$62) + 8)|0; - $578 = ($577>>>0)<(15); - if ($578) { - $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; - label = 145; - } else { - $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; - label = 156; - } - break; - } - case 183: { - label = 0; - $$0959 = $$0959$shrunk&255; - $699 = $$0959 << $$71; - $700 = $699 | $$711380; - $701 = (($$71) + 8)|0; - $702 = ($701>>>0)<($$681271>>>0); - if ($702) { - $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; - label = 179; - } else { - $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; - label = 184; - } - break; - } - case 196: { - label = 0; - $$0952 = $$0952$shrunk&255; - $740 = $$0952 << $$76; - $741 = $740 | $$761385; - $742 = (($$76) + 8)|0; - $743 = ($742>>>0)<(15); - if ($743) { - $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; - label = 187; - } else { - $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; - label = 198; - } - break; - } - case 207: { - label = 0; - $$0950 = $$0950$shrunk&255; - $787 = $$0950 << $$80; - $788 = $787 | $$801389; - $789 = (($$80) + 8)|0; - $790 = ($789>>>0)<($$761279>>>0); - if ($790) { - $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; - label = 203; - } else { - $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; - label = 208; - } - break; - } - case 227: { - label = 0; - $852 = ($$871184>>>0)<(4); - if (!($852)) { - $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; - label = 242; - continue L46; - } - $853 = ($$91|0)==(0); - if (!($853)) { - $854 = ($$91>>>0)<(8); - if ($854) { - $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; - label = 230; - break; - } else { - $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; - label = 235; - break; - } - } - $868 = ($$901597>>>0)<($10>>>0); - if (!($868)) { - $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; - label = 237; - continue L46; - } - $875 = ((($$901597)) + 1|0); - $876 = HEAP8[$$901597>>0]|0; - $877 = $876&255; - $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; - label = 241; - continue L46; - break; - } - case 234: { - label = 0; - $$0947 = $$0947$shrunk&255; - $861 = $$0947 << $$94; - $862 = $861 | $$941403; - $863 = (($$94) + 8)|0; - $864 = ($$94>>>0)>(4294967287); - if ($864) { - $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; - label = 230; - } else { - $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; - label = 235; - } - break; - } - } - L119: do { - if ((label|0) == 15) { - label = 0; - $72 = ($$51512>>>0)<($10>>>0); - if ($72) { - $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; - label = 18; - continue L46; - } else { - $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; - label = 16; - continue L46; - } - } - else if ((label|0) == 20) { - label = 0; - $82 = $$91318 & 7; - $83 = ((($0)) + 20|0); - HEAP32[$83>>2] = $82; - $84 = $$91318 >>> 3; - $85 = (($$9) + -3)|0; - $86 = $82 >>> 1; - $87 = ((($0)) + 24|0); - HEAP32[$87>>2] = $86; - $trunc = $86&255; - $trunc$clear = $trunc & 3; - switch ($trunc$clear<<24>>24) { - case 0: { - $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; - label = 25; - continue L46; - break; - } - case 3: { - $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; - label = 60; - continue L46; - break; - } - case 1: { - break; - } - default: { - $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; - label = 61; - break L119; - } - } - $240 = ((($0)) + 44|0); - HEAP32[$240>>2] = 288; - $241 = ((($0)) + 48|0); - HEAP32[$241>>2] = 32; - $242 = ((($0)) + 3552|0); - ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; - $scevgep19611962 = ((($0)) + 64|0); - _memset(($scevgep19611962|0),8,144)|0; - $scevgep1959 = ((($0)) + 208|0); - dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1957 = ((($0)) + 320|0); - dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $scevgep1955 = ((($0)) + 344|0); - $243 = $scevgep1955; - $244 = $243; - HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; - $245 = (($243) + 4)|0; - $246 = $245; - HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; - $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; - label = 80; - } - else if ((label|0) == 230) { - label = 0; - $855 = ($$911598>>>0)<($10>>>0); - if ($855) { - $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; - label = 233; - continue L46; - } else { - $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; - label = 231; - continue L46; - } - } - else if ((label|0) == 235) { - label = 0; - $865 = $$951404 & 255; - $866 = $$951404 >>> 8; - $867 = (($$95) + -8)|0; - $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; - label = 241; - continue L46; - } - } while(0); - L125: while(1) { - L126: switch (label|0) { - case 26: { - label = 0; - $100 = ($$131110>>>0)<(4); - if (!($100)) { - $127 = ((($0)) + 10528|0); - $128 = HEAP8[$127>>0]|0; - $129 = $128&255; - $130 = ((($0)) + 10529|0); - $131 = HEAP8[$130>>0]|0; - $132 = $131&255; - $133 = $132 << 8; - $134 = $133 | $129; - $135 = ((($0)) + 10530|0); - $136 = HEAP8[$135>>0]|0; - $137 = $136&255; - $138 = ((($0)) + 10531|0); - $139 = HEAP8[$138>>0]|0; - $140 = $139&255; - $141 = $140 << 8; - $142 = $141 | $137; - $143 = $142 ^ 65535; - $144 = ($134|0)==($143|0); - if ($144) { - $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; - label = 44; - continue L125; - } else { - $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; - label = 43; - continue L46; - } - } - $101 = ($$14|0)==(0); - if (!($101)) { - $102 = ($$14>>>0)<(8); - if ($102) { - $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; - label = 29; - continue L125; - } else { - $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; - label = 34; - continue L125; - } - } - $117 = ($$131520>>>0)<($10>>>0); - if (!($117)) { - $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; - label = 36; - continue L46; - } - $123 = ((($$131520)) + 1|0); - $124 = HEAP8[$$131520>>0]|0; - $125 = (((($0)) + 10528|0) + ($$131110)|0); - HEAP8[$125>>0] = $124; - $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; - label = 41; - continue L125; - break; - } - case 29: { - label = 0; - $103 = ($$141521>>>0)<($10>>>0); - if ($103) { - $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; - label = 32; - continue L46; - } else { - $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; - label = 30; - continue L46; - } - break; - } - case 34: { - label = 0; - $113 = $$181327&255; - $114 = (((($0)) + 10528|0) + ($$171114)|0); - HEAP8[$114>>0] = $113; - $115 = $$181327 >>> 8; - $116 = (($$18) + -8)|0; - $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; - label = 41; - continue L125; - break; - } - case 41: { - label = 0; - $126 = (($$201117) + 1)|0; - $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; - label = 26; - continue L125; - break; - } - case 44: { - label = 0; - $145 = ($$221119|0)!=(0); - $146 = ($$23|0)!=(0); - $147 = $145 & $146; - if (!($147)) { - $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; - label = 54; - continue L125; - } - $148 = ($$23>>>0)<(8); - if ($148) { - $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; - label = 46; - continue L125; - } else { - $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; - label = 51; - continue L125; - } - break; - } - case 46: { - label = 0; - $149 = ($$231530>>>0)<($10>>>0); - if ($149) { - $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; - label = 49; - continue L46; - } else { - $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; - label = 47; - continue L46; - } - break; - } - case 51: { - label = 0; - $159 = $$271336 & 255; - $160 = $$271336 >>> 8; - $161 = (($$27) + -8)|0; - $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; - label = 52; - continue L46; - break; - } - case 54: { - label = 0; - $166 = ($$281125|0)==(0); - if ($166) { - $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; - label = 220; - break L125; - } else { - $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; - label = 55; - continue L46; - } - break; - } - case 61: { - label = 0; - $185 = ($$331130>>>0)<(3); - if ($185) { - $186 = (11869 + ($$331130)|0); - $187 = HEAP8[$186>>0]|0; - $188 = $187 << 24 >> 24; - $189 = ($$34>>>0)<($188>>>0); - if ($189) { - $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; - label = 63; - continue L125; - } else { - $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; - label = 68; - continue L125; - } - } else { - $216 = ((($0)) + 7040|0); - _memset(($216|0),0,288)|0; - $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; - label = 70; - break; - } - break; - } - case 63: { - label = 0; - $190 = ($$341541>>>0)<($10>>>0); - if ($190) { - $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; - label = 66; - continue L46; - } else { - $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; - label = 64; - continue L46; - } - break; - } - case 68: { - label = 0; - $203 = (11869 + ($$371134)|0); - $204 = HEAP8[$203>>0]|0; - $205 = $204 << 24 >> 24; - $206 = 1 << $205; - $207 = (($206) + -1)|0; - $208 = $207 & $$381347; - $209 = (((($0)) + 44|0) + ($$371134<<2)|0); - $210 = $$381347 >>> $205; - $211 = (($$38) - ($205))|0; - $212 = (3136 + ($$371134<<2)|0); - $213 = HEAP32[$212>>2]|0; - $214 = (($208) + ($213))|0; - HEAP32[$209>>2] = $214; - $215 = (($$371134) + 1)|0; - $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; - label = 61; - continue L125; - break; - } - case 72: { - label = 0; - $221 = ($$391546>>>0)<($10>>>0); - if ($221) { - $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; - label = 75; - continue L46; - } else { - $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; - label = 73; - continue L46; - } - break; - } - case 77: { - label = 0; - $231 = $$431352 & 7; - $232 = $$431352 >>> 3; - $233 = (($$43) + -3)|0; - $234 = $231&255; - $235 = (11873 + ($$421139)|0); - $236 = HEAP8[$235>>0]|0; - $237 = $236&255; - $238 = (((($0)) + 7040|0) + ($237)|0); - HEAP8[$238>>0] = $234; - $239 = (($$421139) + 1)|0; - $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; - label = 70; - break; - } - case 80: { - label = 0; - $247 = ((($0)) + 24|0); - $248 = HEAP32[$247>>2]|0; - $249 = ($248|0)>(-1); - if ($249) { - dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); - _memset(($250|0),0,3200)|0; - $251 = HEAP32[$247>>2]|0; - $252 = (((($0)) + 44|0) + ($251<<2)|0); - $253 = HEAP32[$252>>2]|0; - $254 = ($253|0)==(0); - if (!($254)) { - $255 = HEAP32[$247>>2]|0; - $256 = (((($0)) + 44|0) + ($255<<2)|0); - $257 = HEAP32[$256>>2]|0; - $$010951864 = 0; - while(1) { - $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); - $259 = HEAP8[$258>>0]|0; - $260 = $259&255; - $261 = (($8) + ($260<<2)|0); - $262 = HEAP32[$261>>2]|0; - $263 = (($262) + 1)|0; - HEAP32[$261>>2] = $263; - $264 = (($$010951864) + 1)|0; - $265 = ($264>>>0)<($257>>>0); - if ($265) { - $$010951864 = $264; - } else { - break; - } - } - } - $266 = ((($7)) + 4|0); - HEAP32[$266>>2] = 0; - HEAP32[$7>>2] = 0; - $267 = ((($8)) + 4|0); - $268 = HEAP32[$267>>2]|0; - $269 = $268 << 1; - $270 = ((($7)) + 8|0); - HEAP32[$270>>2] = $269; - $271 = ((($8)) + 8|0); - $272 = HEAP32[$271>>2]|0; - $273 = (($272) + ($268))|0; - $274 = (($272) + ($269))|0; - $275 = $274 << 1; - $276 = ((($7)) + 12|0); - HEAP32[$276>>2] = $275; - $277 = ((($8)) + 12|0); - $278 = HEAP32[$277>>2]|0; - $279 = (($278) + ($273))|0; - $280 = (($278) + ($275))|0; - $281 = $280 << 1; - $282 = ((($7)) + 16|0); - HEAP32[$282>>2] = $281; - $283 = ((($8)) + 16|0); - $284 = HEAP32[$283>>2]|0; - $285 = (($284) + ($279))|0; - $286 = (($284) + ($281))|0; - $287 = $286 << 1; - $288 = ((($7)) + 20|0); - HEAP32[$288>>2] = $287; - $289 = ((($8)) + 20|0); - $290 = HEAP32[$289>>2]|0; - $291 = (($290) + ($285))|0; - $292 = (($290) + ($287))|0; - $293 = $292 << 1; - $294 = ((($7)) + 24|0); - HEAP32[$294>>2] = $293; - $295 = ((($8)) + 24|0); - $296 = HEAP32[$295>>2]|0; - $297 = (($296) + ($291))|0; - $298 = (($296) + ($293))|0; - $299 = $298 << 1; - $300 = ((($7)) + 28|0); - HEAP32[$300>>2] = $299; - $301 = ((($8)) + 28|0); - $302 = HEAP32[$301>>2]|0; - $303 = (($302) + ($297))|0; - $304 = (($302) + ($299))|0; - $305 = $304 << 1; - $306 = ((($7)) + 32|0); - HEAP32[$306>>2] = $305; - $307 = ((($8)) + 32|0); - $308 = HEAP32[$307>>2]|0; - $309 = (($308) + ($303))|0; - $310 = (($308) + ($305))|0; - $311 = $310 << 1; - $312 = ((($7)) + 36|0); - HEAP32[$312>>2] = $311; - $313 = ((($8)) + 36|0); - $314 = HEAP32[$313>>2]|0; - $315 = (($314) + ($309))|0; - $316 = (($314) + ($311))|0; - $317 = $316 << 1; - $318 = ((($7)) + 40|0); - HEAP32[$318>>2] = $317; - $319 = ((($8)) + 40|0); - $320 = HEAP32[$319>>2]|0; - $321 = (($320) + ($315))|0; - $322 = (($320) + ($317))|0; - $323 = $322 << 1; - $324 = ((($7)) + 44|0); - HEAP32[$324>>2] = $323; - $325 = ((($8)) + 44|0); - $326 = HEAP32[$325>>2]|0; - $327 = (($326) + ($321))|0; - $328 = (($326) + ($323))|0; - $329 = $328 << 1; - $330 = ((($7)) + 48|0); - HEAP32[$330>>2] = $329; - $331 = ((($8)) + 48|0); - $332 = HEAP32[$331>>2]|0; - $333 = (($332) + ($327))|0; - $334 = (($332) + ($329))|0; - $335 = $334 << 1; - $336 = ((($7)) + 52|0); - HEAP32[$336>>2] = $335; - $337 = ((($8)) + 52|0); - $338 = HEAP32[$337>>2]|0; - $339 = (($338) + ($333))|0; - $340 = (($338) + ($335))|0; - $341 = $340 << 1; - $342 = ((($7)) + 56|0); - HEAP32[$342>>2] = $341; - $343 = ((($8)) + 56|0); - $344 = HEAP32[$343>>2]|0; - $345 = (($344) + ($339))|0; - $346 = (($344) + ($341))|0; - $347 = $346 << 1; - $348 = ((($7)) + 60|0); - HEAP32[$348>>2] = $347; - $349 = ((($8)) + 60|0); - $350 = HEAP32[$349>>2]|0; - $351 = (($350) + ($345))|0; - $352 = (($350) + ($347))|0; - $353 = $352 << 1; - $354 = ((($7)) + 64|0); - HEAP32[$354>>2] = $353; - $355 = ($353|0)!=(65536); - $356 = ($351>>>0)>(1); - $or$cond = $355 & $356; - if ($or$cond) { - $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; - label = 86; - continue L46; - } - $357 = HEAP32[$247>>2]|0; - $358 = (((($0)) + 44|0) + ($357<<2)|0); - $359 = HEAP32[$358>>2]|0; - $360 = ($359|0)==(0); - if ($360) { - $$lcssa1779 = $357; - } else { - $$010911856 = 0;$$011971855 = -1; - while(1) { - $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); - $362 = HEAP8[$361>>0]|0; - $363 = $362&255; - $364 = ($362<<24>>24)==(0); - L142: do { - if ($364) { - $$41201 = $$011971855; - } else { - $365 = (($7) + ($363<<2)|0); - $366 = HEAP32[$365>>2]|0; - $367 = (($366) + 1)|0; - HEAP32[$365>>2] = $367; - $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; - while(1) { - $368 = $$010881838 << 1; - $369 = $$010861840 & 1; - $370 = $369 | $368; - $371 = (($$010871839) + -1)|0; - $372 = $$010861840 >>> 1; - $373 = ($371|0)==(0); - if ($373) { - break; - } else { - $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; - } - } - $374 = ($362&255)<(11); - if ($374) { - $375 = $363 << 9; - $376 = $375 | $$010911856; - $377 = $376&65535; - $378 = ($370>>>0)<(1024); - if (!($378)) { - $$41201 = $$011971855; - break; - } - $379 = 1 << $363; - $$110891852 = $370; - while(1) { - $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); - HEAP16[$380>>1] = $377; - $381 = (($$110891852) + ($379))|0; - $382 = ($381>>>0)<(1024); - if ($382) { - $$110891852 = $381; - } else { - $$41201 = $$011971855; - break L142; - } - } - } - $383 = $370 & 1023; - $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); - $385 = HEAP16[$384>>1]|0; - $386 = $385 << 16 >> 16; - $387 = ($385<<16>>16)==(0); - if ($387) { - $388 = (($$011971855) + -2)|0; - $389 = $$011971855&65535; - HEAP16[$384>>1] = $389; - $$01194 = $$011971855;$$11198 = $388; - } else { - $$01194 = $386;$$11198 = $$011971855; - } - $390 = $$010881838 >>> 9; - $391 = ($362&255)>(11); - $392 = $390 & 1; - $393 = (($392) - ($$01194))|0; - $394 = (($393) + -1)|0; - if ($391) { - $395 = $390 & 4194303; - $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; - while(1) { - $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); - $398 = HEAP16[$396>>1]|0; - $399 = ($398<<16>>16)==(0); - if ($399) { - $400 = $$211991845&65535; - HEAP16[$396>>1] = $400; - $401 = (($$211991845) + -2)|0; - $$21196 = $$211991845;$$31200 = $401; - } else { - $402 = $398 << 16 >> 16; - $$21196 = $402;$$31200 = $$211991845; - } - $403 = (($$010941846) + -1)|0; - $404 = ($403>>>0)>(11); - $405 = $406 >>> 1; - $407 = $405 & 1; - $408 = (($407) - ($$21196))|0; - $409 = (($408) + -1)|0; - if ($404) { - $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; - } else { - $$21199$lcssa = $$31200;$$lcssa1778 = $409; - break; - } - } - } else { - $$21199$lcssa = $$11198;$$lcssa1778 = $394; - } - $410 = $$010911856&65535; - $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); - HEAP16[$411>>1] = $410; - $$41201 = $$21199$lcssa; - } - } while(0); - $412 = (($$010911856) + 1)|0; - $413 = HEAP32[$247>>2]|0; - $414 = (((($0)) + 44|0) + ($413<<2)|0); - $415 = HEAP32[$414>>2]|0; - $416 = ($412>>>0)<($415>>>0); - if ($416) { - $$010911856 = $412;$$011971855 = $$41201; - } else { - $$lcssa1779 = $413; - break; - } - } - } - $417 = ($$lcssa1779|0)==(2); - if ($417) { - $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; - label = 105; - } else { - $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; - label = 138; - } - } else { - $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; - label = 139; - } - break; - } - case 108: { - label = 0; - $429 = $$471356 & 1023; - $430 = (((($0)) + 7328|0) + ($429<<1)|0); - $431 = HEAP16[$430>>1]|0; - $432 = $431 << 16 >> 16; - $433 = ($431<<16>>16)>(-1); - if ($433) { - $434 = $432 >> 9; - $435 = (($434) + -1)|0; - $436 = ($435>>>0)<($$47>>>0); - if ($436) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } else { - label = 113; - break L125; - } - } - $437 = ($$47>>>0)>(10); - if ($437) { - $$0981 = 10;$$0984 = $432; - } else { - label = 113; - break L125; - } - while(1) { - $438 = $$0984 ^ -1; - $439 = $$471356 >>> $$0981; - $440 = $439 & 1; - $441 = (($440) + ($438))|0; - $442 = (((($0)) + 9376|0) + ($441<<1)|0); - $443 = HEAP16[$442>>1]|0; - $444 = ($443<<16>>16)<(0); - if (!($444)) { - $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; - label = 119; - continue L125; - } - $445 = (($$0981) + 1)|0; - $446 = $443 << 16 >> 16; - $447 = (($$0981) + 2)|0; - $448 = ($$47>>>0)<($447>>>0); - if ($448) { - label = 113; - break L125; - } else { - $$0981 = $445;$$0984 = $446; - } - } - break; - } - case 119: { - label = 0; - $471 = $$501359 & 1023; - $472 = (((($0)) + 7328|0) + ($471<<1)|0); - $473 = HEAP16[$472>>1]|0; - $474 = $473 << 16 >> 16; - $475 = ($473<<16>>16)>(-1); - if ($475) { - $476 = $474 >> 9; - $477 = $474 & 511; - $$2983 = $476;$$2986 = $477; - } else { - $$1982 = 10;$$1985 = $474; - while(1) { - $478 = $$1985 ^ -1; - $479 = (($$1982) + 1)|0; - $480 = $$501359 >>> $$1982; - $481 = $480 & 1; - $482 = (($481) + ($478))|0; - $483 = (((($0)) + 9376|0) + ($482<<1)|0); - $484 = HEAP16[$483>>1]|0; - $485 = $484 << 16 >> 16; - $486 = ($484<<16>>16)<(0); - if ($486) { - $$1982 = $479;$$1985 = $485; - } else { - $$2983 = $479;$$2986 = $485; - break; - } - } - } - $487 = $$501359 >>> $$2983; - $488 = (($$50) - ($$2983))|0; - $489 = ($$2986>>>0)<(16); - if ($489) { - $490 = $$2986&255; - $491 = (($$491146) + 1)|0; - $492 = (((($0)) + 10532|0) + ($$491146)|0); - HEAP8[$492>>0] = $490; - $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; - label = 105; - break; - } - $493 = ($$2986|0)!=(16); - $494 = ($$491146|0)!=(0); - $or$cond24 = $494 | $493; - if (!($or$cond24)) { - $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; - label = 125; - continue L46; - } - $495 = (($$2986) + -16)|0; - $496 = (11892 + ($495)|0); - $497 = HEAP8[$496>>0]|0; - $498 = $497 << 24 >> 24; - $499 = ($488>>>0)<($498>>>0); - if ($499) { - $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; - label = 127; - continue L125; - } else { - $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; - label = 132; - continue L125; - } - break; - } - case 127: { - label = 0; - $500 = ($$511558>>>0)<($10>>>0); - if ($500) { - $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; - label = 130; - continue L46; - } else { - $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; - label = 128; - continue L46; - } - break; - } - case 132: { - label = 0; - $510 = 1 << $$551258; - $511 = (($510) + -1)|0; - $512 = $511 & $$551364; - $513 = $$551364 >>> $$551258; - $514 = (($$55) - ($$551258))|0; - $515 = (($$531044) + -16)|0; - $516 = (11896 + ($515)|0); - $517 = HEAP8[$516>>0]|0; - $518 = $517 << 24 >> 24; - $519 = (($518) + ($512))|0; - $520 = (((($0)) + 10532|0) + ($$541151)|0); - $521 = ($$531044|0)==(16); - if ($521) { - $522 = (($$541151) + -1)|0; - $523 = (((($0)) + 10532|0) + ($522)|0); - $524 = HEAP8[$523>>0]|0; - $525 = $524&255; - $527 = $525; - } else { - $527 = 0; - } - $526 = $527&255; - _memset(($520|0),($526|0),($519|0))|0; - $528 = (($519) + ($$541151))|0; - $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; - label = 105; - break; - } - case 140: { - label = 0; - $539 = $10; - $540 = $$581565$ph; - $541 = (($539) - ($540))|0; - $542 = ($541|0)<(4); - $543 = ($$59$ph>>>0)<(15); - L241: do { - if ($542) { - $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; - } else { - $544 = $12; - $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; - while(1) { - $545 = $$5416611868; - $546 = (($544) - ($545))|0; - $547 = ($546|0)<(2); - if ($547) { - $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; - break L241; - } - if ($965) { - $613 = HEAP8[$$5815651869>>0]|0; - $614 = $613&255; - $615 = ((($$5815651869)) + 1|0); - $616 = HEAP8[$615>>0]|0; - $617 = $616&255; - $618 = $617 << 8; - $619 = $618 | $614; - $620 = $619 << $$591872; - $621 = $620 | $$5913681870; - $622 = ((($$5815651869)) + 2|0); - $623 = (($$591872) + 16)|0; - $$641571 = $622;$$65 = $623;$$651374 = $621; - } else { - $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; - } - $624 = $$651374 & 1023; - $625 = (((($0)) + 352|0) + ($624<<1)|0); - $626 = HEAP16[$625>>1]|0; - $627 = $626 << 16 >> 16; - $628 = ($626<<16>>16)>(-1); - if ($628) { - $629 = $627 >> 9; - $$1964 = $629;$$1968 = $627; - } else { - $$0963 = 10;$$0967 = $627; - while(1) { - $630 = $$0967 ^ -1; - $631 = (($$0963) + 1)|0; - $632 = $$651374 >>> $$0963; - $633 = $632 & 1; - $634 = (($633) + ($630))|0; - $635 = (((($0)) + 2400|0) + ($634<<1)|0); - $636 = HEAP16[$635>>1]|0; - $637 = $636 << 16 >> 16; - $638 = ($636<<16>>16)<(0); - if ($638) { - $$0963 = $631;$$0967 = $637; - } else { - $$1964 = $631;$$1968 = $637; - break; - } - } - } - $639 = $$651374 >>> $$1964; - $640 = (($$65) - ($$1964))|0; - $641 = $$1968 & 256; - $642 = ($641|0)==(0); - if (!($642)) { - $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; - label = 176; - break L126; - } - $643 = ($640>>>0)<(15); - if ($643) { - $644 = HEAP8[$$641571>>0]|0; - $645 = $644&255; - $646 = ((($$641571)) + 1|0); - $647 = HEAP8[$646>>0]|0; - $648 = $647&255; - $649 = $648 << 8; - $650 = $649 | $645; - $651 = $650 << $640; - $652 = $651 | $639; - $653 = ((($$641571)) + 2|0); - $654 = (($640) + 16)|0; - $$651572 = $653;$$66 = $654;$$661375 = $652; - } else { - $$651572 = $$641571;$$66 = $640;$$661375 = $639; - } - $655 = $$661375 & 1023; - $656 = (((($0)) + 352|0) + ($655<<1)|0); - $657 = HEAP16[$656>>1]|0; - $658 = $657 << 16 >> 16; - $659 = ($657<<16>>16)>(-1); - if ($659) { - $660 = $658 >> 9; - $$3966 = $660;$$3970 = $658; - } else { - $$2965 = 10;$$2969 = $658; - while(1) { - $661 = $$2969 ^ -1; - $662 = (($$2965) + 1)|0; - $663 = $$661375 >>> $$2965; - $664 = $663 & 1; - $665 = (($664) + ($661))|0; - $666 = (((($0)) + 2400|0) + ($665<<1)|0); - $667 = HEAP16[$666>>1]|0; - $668 = $667 << 16 >> 16; - $669 = ($667<<16>>16)<(0); - if ($669) { - $$2965 = $662;$$2969 = $668; - } else { - $$3966 = $662;$$3970 = $668; - break; - } - } - } - $670 = $$661375 >>> $$3966; - $671 = (($$66) - ($$3966))|0; - $672 = $$1968&255; - HEAP8[$$5416611868>>0] = $672; - $673 = $$3970 & 256; - $674 = ($673|0)==(0); - if (!($674)) { - break; - } - $676 = $$3970&255; - $677 = ((($$5416611868)) + 1|0); - HEAP8[$677>>0] = $676; - $678 = ((($$5416611868)) + 2|0); - $679 = $$651572; - $680 = (($539) - ($679))|0; - $681 = ($680|0)<(4); - $682 = ($671>>>0)<(15); - if ($681) { - $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; - break L241; - } else { - $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; - } - } - $675 = ((($$5416611868)) + 1|0); - $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; - label = 176; - break L126; - } - } while(0); - if (!($$lcssa1799)) { - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; - label = 156; - continue L125; - } - $548 = ($$lcssa1802|0)<(2); - if ($548) { - $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; - label = 145; - continue L125; - } - $579 = HEAP8[$$581565$lcssa>>0]|0; - $580 = $579&255; - $581 = $580 << $$59$lcssa; - $582 = ((($$581565$lcssa)) + 1|0); - $583 = HEAP8[$582>>0]|0; - $584 = $583&255; - $585 = (($$59$lcssa) + 8)|0; - $586 = $584 << $585; - $587 = $581 | $$591368$lcssa; - $588 = $587 | $586; - $589 = ((($$581565$lcssa)) + 2|0); - $590 = (($$59$lcssa) + 16)|0; - $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; - label = 156; - continue L125; - break; - } - case 145: { - label = 0; - $549 = $$601369 & 1023; - $550 = (((($0)) + 352|0) + ($549<<1)|0); - $551 = HEAP16[$550>>1]|0; - $552 = $551 << 16 >> 16; - $553 = ($551<<16>>16)>(-1); - if ($553) { - $554 = $552 >> 9; - $555 = (($554) + -1)|0; - $556 = ($555>>>0)<($$60>>>0); - if ($556) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } else { - label = 150; - break L125; - } - } - $557 = ($$60>>>0)>(10); - if ($557) { - $$0972 = 10;$$0975 = $552; - } else { - label = 150; - break L125; - } - while(1) { - $558 = $$0975 ^ -1; - $559 = $$601369 >>> $$0972; - $560 = $559 & 1; - $561 = (($560) + ($558))|0; - $562 = (((($0)) + 2400|0) + ($561<<1)|0); - $563 = HEAP16[$562>>1]|0; - $564 = ($563<<16>>16)<(0); - if (!($564)) { - $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; - label = 156; - continue L125; - } - $565 = (($$0972) + 1)|0; - $566 = $563 << 16 >> 16; - $567 = (($$0972) + 2)|0; - $568 = ($$60>>>0)<($567>>>0); - if ($568) { - label = 150; - break L125; - } else { - $$0972 = $565;$$0975 = $566; - } - } - break; - } - case 156: { - label = 0; - $591 = $$631372 & 1023; - $592 = (((($0)) + 352|0) + ($591<<1)|0); - $593 = HEAP16[$592>>1]|0; - $594 = $593 << 16 >> 16; - $595 = ($593<<16>>16)>(-1); - if ($595) { - $596 = $594 >> 9; - $597 = $594 & 511; - $$2974 = $596;$$2977 = $597; - } else { - $$1973 = 10;$$1976 = $594; - while(1) { - $598 = $$1976 ^ -1; - $599 = (($$1973) + 1)|0; - $600 = $$631372 >>> $$1973; - $601 = $600 & 1; - $602 = (($601) + ($598))|0; - $603 = (((($0)) + 2400|0) + ($602<<1)|0); - $604 = HEAP16[$603>>1]|0; - $605 = $604 << 16 >> 16; - $606 = ($604<<16>>16)<(0); - if ($606) { - $$1973 = $599;$$1976 = $605; - } else { - $$2974 = $599;$$2977 = $605; - break; - } - } - } - $607 = $$631372 >>> $$2974; - $608 = (($$63) - ($$2974))|0; - $609 = ($$2977>>>0)>(255); - if ($609) { - $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; - label = 176; - } else { - $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; - label = 160; - continue L46; - } - break; - } - case 179: { - label = 0; - $693 = ($$681575>>>0)<($10>>>0); - if ($693) { - $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; - label = 182; - continue L46; - } else { - $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; - label = 180; - continue L46; - } - break; - } - case 184: { - label = 0; - $703 = 1 << $$691272; - $704 = (($703) + -1)|0; - $705 = $704 & $$721381; - $706 = $$721381 >>> $$691272; - $707 = (($$72) - ($$691272))|0; - $708 = (($705) + ($$681165))|0; - $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; - label = 185; - break; - } - case 187: { - label = 0; - $714 = $$741383 & 1023; - $715 = (((($0)) + 3840|0) + ($714<<1)|0); - $716 = HEAP16[$715>>1]|0; - $717 = $716 << 16 >> 16; - $718 = ($716<<16>>16)>(-1); - if ($718) { - $719 = $717 >> 9; - $720 = (($719) + -1)|0; - $721 = ($720>>>0)<($$74>>>0); - if ($721) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } else { - label = 192; - break L125; - } - } - $722 = ($$74>>>0)>(10); - if ($722) { - $$0953 = 10;$$0956 = $717; - } else { - label = 192; - break L125; - } - while(1) { - $723 = $$0956 ^ -1; - $724 = $$741383 >>> $$0953; - $725 = $724 & 1; - $726 = (($725) + ($723))|0; - $727 = (((($0)) + 5888|0) + ($726<<1)|0); - $728 = HEAP16[$727>>1]|0; - $729 = ($728<<16>>16)<(0); - if (!($729)) { - $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; - label = 198; - continue L125; - } - $730 = (($$0953) + 1)|0; - $731 = $728 << 16 >> 16; - $732 = (($$0953) + 2)|0; - $733 = ($$74>>>0)<($732>>>0); - if ($733) { - label = 192; - break L125; - } else { - $$0953 = $730;$$0956 = $731; - } - } - break; - } - case 198: { - label = 0; - $756 = $$771386 & 1023; - $757 = (((($0)) + 3840|0) + ($756<<1)|0); - $758 = HEAP16[$757>>1]|0; - $759 = $758 << 16 >> 16; - $760 = ($758<<16>>16)>(-1); - if ($760) { - $761 = $759 >> 9; - $762 = $759 & 511; - $$2955 = $761;$$2958 = $762; - } else { - $$1954 = 10;$$1957 = $759; - while(1) { - $763 = $$1957 ^ -1; - $764 = (($$1954) + 1)|0; - $765 = $$771386 >>> $$1954; - $766 = $765 & 1; - $767 = (($766) + ($763))|0; - $768 = (((($0)) + 5888|0) + ($767<<1)|0); - $769 = HEAP16[$768>>1]|0; - $770 = $769 << 16 >> 16; - $771 = ($769<<16>>16)<(0); - if ($771) { - $$1954 = $764;$$1957 = $770; - } else { - $$2955 = $764;$$2958 = $770; - break; - } - } - } - $772 = $$771386 >>> $$2955; - $773 = (($$77) - ($$2955))|0; - $774 = (3396 + ($$2958<<2)|0); - $775 = HEAP32[$774>>2]|0; - $776 = (3524 + ($$2958<<2)|0); - $777 = HEAP32[$776>>2]|0; - $778 = (($$2958) + -4)|0; - $779 = ($778>>>0)<(26); - if ($779) { - $780 = ($773>>>0)<($775>>>0); - if ($780) { - $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; - label = 203; - continue L125; - } else { - $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; - label = 208; - continue L125; - } - } else { - $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; - label = 209; - } - break; - } - case 203: { - label = 0; - $781 = ($$771584>>>0)<($10>>>0); - if ($781) { - $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; - label = 206; - continue L46; - } else { - $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; - label = 204; - continue L46; - } - break; - } - case 208: { - label = 0; - $791 = 1 << $$771280; - $792 = (($791) + -1)|0; - $793 = $792 & $$811390; - $794 = $$811390 >>> $$771280; - $795 = (($$81) - ($$771280))|0; - $796 = (($793) + ($$751066))|0; - $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; - label = 209; - break; - } - case 212: { - label = 0; - $807 = (($$801177) + -1)|0; - $808 = ($$801177|0)==(0); - if ($808) { - $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; - label = 139; - } else { - $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; - label = 213; - continue L46; - } - break; - } - } - do { - if ((label|0) == 70) { - label = 0; - $217 = ((($0)) + 52|0); - $218 = HEAP32[$217>>2]|0; - $219 = ($$381135>>>0)<($218>>>0); - if ($219) { - $220 = ($$39>>>0)<(3); - if ($220) { - $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; - label = 72; - continue L125; - } else { - $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; - label = 77; - continue L125; - } - } else { - HEAP32[$217>>2] = 19; - $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; - label = 80; - continue L125; - } - } - else if ((label|0) == 105) { - label = 0; - $418 = ((($0)) + 44|0); - $419 = HEAP32[$418>>2]|0; - $420 = ((($0)) + 48|0); - $421 = HEAP32[$420>>2]|0; - $422 = (($421) + ($419))|0; - $423 = ($$451142>>>0)<($422>>>0); - if (!($423)) { - $529 = ($422|0)==($$451142|0); - if (!($529)) { - $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; - label = 136; - continue L46; - } - $530 = ((($0)) + 64|0); - $531 = ((($0)) + 10532|0); - _memcpy(($530|0),($531|0),($419|0))|0; - $532 = ((($0)) + 3552|0); - $533 = HEAP32[$418>>2]|0; - $534 = (((($0)) + 10532|0) + ($533)|0); - $535 = HEAP32[$420>>2]|0; - _memcpy(($532|0),($534|0),($535|0))|0; - $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; - label = 138; - break; - } - $424 = ($$46>>>0)<(15); - if (!($424)) { - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; - label = 119; - continue L125; - } - $425 = $10; - $426 = $$451552; - $427 = (($425) - ($426))|0; - $428 = ($427|0)<(2); - if ($428) { - $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; - label = 108; - continue L125; - } - $459 = HEAP8[$$451552>>0]|0; - $460 = $459&255; - $461 = $460 << $$46; - $462 = ((($$451552)) + 1|0); - $463 = HEAP8[$462>>0]|0; - $464 = $463&255; - $465 = (($$46) + 8)|0; - $466 = $464 << $465; - $467 = $461 | $$461355; - $468 = $467 | $466; - $469 = ((($$451552)) + 2|0); - $470 = (($$46) + 16)|0; - $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; - label = 119; - continue L125; - } - else if ((label|0) == 176) { - label = 0; - $683 = $$641161 & 511; - $684 = ($683|0)==(256); - if ($684) { - $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; - label = 220; - break L125; - } - $685 = (($683) + -257)|0; - $686 = (3148 + ($685<<2)|0); - $687 = HEAP32[$686>>2]|0; - $688 = (3272 + ($685<<2)|0); - $689 = HEAP32[$688>>2]|0; - $690 = (($683) + -265)|0; - $691 = ($690>>>0)<(20); - if ($691) { - $692 = ($$68>>>0)<($687>>>0); - if ($692) { - $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; - label = 179; - continue L125; - } else { - $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; - label = 184; - continue L125; - } - } else { - $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; - label = 185; - } - } - else if ((label|0) == 209) { - label = 0; - $797 = $$751682; - $798 = $3; - $799 = (($797) - ($798))|0; - $$not = ($799>>>0)>=($$761067>>>0); - $$not1747 = $14 ^ 1; - $brmerge = $$not | $$not1747; - if (!($brmerge)) { - $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; - label = 210; - continue L46; - } - $800 = (($799) - ($$761067))|0; - $801 = $800 & $$1753; - $802 = (($3) + ($801)|0); - $803 = ($$751682>>>0)>($802>>>0); - $804 = $803 ? $$751682 : $802; - $805 = (($804) + ($$781175)|0); - $806 = ($805>>>0)>($12>>>0); - if ($806) { - $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; - label = 212; - continue L125; - } else { - $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; - } - while(1) { - $816 = HEAP8[$$0978>>0]|0; - HEAP8[$$791686>>0] = $816; - $817 = ((($$0978)) + 1|0); - $818 = HEAP8[$817>>0]|0; - $819 = ((($$791686)) + 1|0); - HEAP8[$819>>0] = $818; - $820 = ((($$0978)) + 2|0); - $821 = HEAP8[$820>>0]|0; - $822 = ((($$791686)) + 2|0); - HEAP8[$822>>0] = $821; - $823 = ((($$791686)) + 3|0); - $824 = ((($$0978)) + 3|0); - $825 = (($$821179) + -3)|0; - $826 = ($825|0)>(2); - if ($826) { - $$0978 = $824;$$791686 = $823;$$821179 = $825; - } else { - break; - } - } - $827 = ($825|0)>(0); - if ($827) { - $828 = HEAP8[$824>>0]|0; - HEAP8[$823>>0] = $828; - $829 = ($825|0)==(1); - if (!($829)) { - $830 = ((($$0978)) + 4|0); - $831 = HEAP8[$830>>0]|0; - $832 = ((($$791686)) + 4|0); - HEAP8[$832>>0] = $831; - } - $833 = (($823) + ($825)|0); - $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } else { - $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; - label = 139; - } - } - } while(0); - if ((label|0) == 138) { - label = 0; - $536 = ((($0)) + 24|0); - $537 = HEAP32[$536>>2]|0; - $538 = (($537) + -1)|0; - HEAP32[$536>>2] = $538; - $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; - label = 80; - continue; - } - else if ((label|0) == 139) { - label = 0; - $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; - label = 140; - continue; - } - else if ((label|0) == 185) { - label = 0; - $709 = ($$73>>>0)<(15); - if (!($709)) { - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; - label = 198; - continue; - } - $710 = $10; - $711 = $$721579; - $712 = (($710) - ($711))|0; - $713 = ($712|0)<(2); - if ($713) { - $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; - label = 187; - continue; - } - $744 = HEAP8[$$721579>>0]|0; - $745 = $744&255; - $746 = $745 << $$73; - $747 = ((($$721579)) + 1|0); - $748 = HEAP8[$747>>0]|0; - $749 = $748&255; - $750 = (($$73) + 8)|0; - $751 = $749 << $750; - $752 = $746 | $$731382; - $753 = $752 | $751; - $754 = ((($$721579)) + 2|0); - $755 = (($$73) + 16)|0; - $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; - label = 198; - continue; - } - } - if ((label|0) == 113) { - label = 0; - $449 = ($$461553>>>0)<($10>>>0); - if ($449) { - $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; - label = 116; - continue; - } else { - $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; - label = 114; - continue; - } - } - else if ((label|0) == 150) { - label = 0; - $569 = ($$591566>>>0)<($10>>>0); - if ($569) { - $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; - label = 153; - continue; - } else { - $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; - label = 151; - continue; - } - } - else if ((label|0) == 192) { - label = 0; - $734 = ($$731580>>>0)<($10>>>0); - if ($734) { - $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; - label = 195; - continue; - } else { - $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; - label = 193; - continue; - } - } - else if ((label|0) == 220) { - label = 0; - $834 = ((($0)) + 20|0); - $835 = HEAP32[$834>>2]|0; - $836 = $835 & 1; - $837 = ($836|0)==(0); - if ($837) { - $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; - label = 14; - continue; - } - $838 = $6 & 1; - $839 = ($838|0)==(0); - if ($839) { - $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; - label = 242; - continue; - } else { - $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; - label = 226; - continue; - } - } - } - if ((label|0) == 258) { - STACKTOP = sp;return ($$0951|0); - } - $892 = ((($0)) + 28|0); - $893 = HEAP32[$892>>2]|0; - $894 = $893 & 65535; - $895 = $893 >>> 16; - $896 = ($888|0)==(0); - if ($896) { - $$0937$lcssa = $895;$$0938$lcssa = $894; - } else { - $897 = (($888>>>0) % 5552)&-1; - $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; - while(1) { - $898 = ($$01834>>>0)>(7); - if ($898) { - $899 = (($$01834) + -8)|0; - $900 = $899 & -8; - $scevgep = ((($$09441830)) + 8|0); - $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; - while(1) { - $904 = HEAP8[$$19451815>>0]|0; - $905 = $904&255; - $906 = (($905) + ($$19391817))|0; - $907 = (($906) + ($$11818))|0; - $908 = ((($$19451815)) + 1|0); - $909 = HEAP8[$908>>0]|0; - $910 = $909&255; - $911 = (($906) + ($910))|0; - $912 = (($907) + ($911))|0; - $913 = ((($$19451815)) + 2|0); - $914 = HEAP8[$913>>0]|0; - $915 = $914&255; - $916 = (($911) + ($915))|0; - $917 = (($912) + ($916))|0; - $918 = ((($$19451815)) + 3|0); - $919 = HEAP8[$918>>0]|0; - $920 = $919&255; - $921 = (($916) + ($920))|0; - $922 = (($917) + ($921))|0; - $923 = ((($$19451815)) + 4|0); - $924 = HEAP8[$923>>0]|0; - $925 = $924&255; - $926 = (($921) + ($925))|0; - $927 = (($922) + ($926))|0; - $928 = ((($$19451815)) + 5|0); - $929 = HEAP8[$928>>0]|0; - $930 = $929&255; - $931 = (($926) + ($930))|0; - $932 = (($927) + ($931))|0; - $933 = ((($$19451815)) + 6|0); - $934 = HEAP8[$933>>0]|0; - $935 = $934&255; - $936 = (($931) + ($935))|0; - $937 = (($932) + ($936))|0; - $938 = ((($$19451815)) + 7|0); - $939 = HEAP8[$938>>0]|0; - $940 = $939&255; - $941 = (($936) + ($940))|0; - $942 = (($937) + ($941))|0; - $943 = (($$09411816) + 8)|0; - $944 = ((($$19451815)) + 8|0); - $945 = $943 | 7; - $946 = ($945>>>0)<($$01834>>>0); - if ($946) { - $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; - } else { - break; - } - } - $901 = (($900) + 8)|0; - $scevgep1947 = (($scevgep) + ($900)|0); - $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; - } else { - $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; - } - $902 = ($$01834>>>0)>($$0941$lcssa>>>0); - if ($902) { - $903 = (($$01834) - ($$0941$lcssa))|0; - $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; - while(1) { - $947 = ((($$29461822)) + 1|0); - $948 = HEAP8[$$29461822>>0]|0; - $949 = $948&255; - $950 = (($949) + ($$29401824))|0; - $951 = (($950) + ($$21825))|0; - $952 = (($$19421823) + 1)|0; - $exitcond = ($952|0)==($$01834|0); - if ($exitcond) { - break; - } else { - $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; - } - } - $scevgep1948 = (($$1945$lcssa) + ($903)|0); - $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; - } else { - $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; - } - $953 = (($$2940$lcssa>>>0) % 65521)&-1; - $954 = (($$2$lcssa>>>0) % 65521)&-1; - $955 = (($$09431831) - ($$01834))|0; - $956 = ($955|0)==(0); - if ($956) { - $$0937$lcssa = $954;$$0938$lcssa = $953; - break; - } else { - $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; - } - } - } - $957 = $$0937$lcssa << 16; - $958 = $957 | $$0938$lcssa; - HEAP32[$892>>2] = $958; - $959 = ($$1961|0)!=(0); - $960 = $6 & 1; - $961 = ($960|0)==(0); - $or$cond1752 = $961 | $959; - if ($or$cond1752) { - $$0951 = $$1961; - STACKTOP = sp;return ($$0951|0); - } else { - $962 = ((($0)) + 16|0); - $963 = HEAP32[$962>>2]|0; - $964 = ($958|0)==($963|0); - $$1961$ = $964 ? $$1961 : -2; - STACKTOP = sp;return ($$1961$|0); - } - return (0)|0; -} -function _ImageAlphaMask($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$byval_copy3 = 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; - 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy3 = sp + 32|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 12|0; - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = ((($1)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($4|0)==($6|0); - if ($7) { - $8 = ((($0)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ((($1)) + 8|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($9|0)==($11|0); - if ($12) { - $13 = ((($0)) + 16|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)>(7); - if ($15) { - _TraceLog(2,11938,$vararg_buffer1); - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; - _ImageCopy($2,$$byval_copy3); - $16 = ((($2)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = ($17|0)==(1); - if (!($18)) { - _ImageFormat($2,1); - } - $19 = HEAP32[$13>>2]|0; - L11: do { - switch ($19|0) { - case 1: { - _ImageFormat($0,2); - $20 = ((($2)) + 4|0); - $21 = HEAP32[$20>>2]|0; - $22 = ((($2)) + 8|0); - $23 = HEAP32[$22>>2]|0; - $24 = Math_imul($23, $21)|0; - $25 = HEAP32[$2>>2]|0; - $$032 = 1;$$033 = 0; - while(1) { - $26 = ($$033|0)<($24|0); - if (!($26)) { - $27 = HEAP32[$3>>2]|0; - $28 = HEAP32[$8>>2]|0; - $29 = Math_imul($28, $27)|0; - $30 = ($$033|0)<($29|0); - if (!($30)) { - break L11; - } - } - $31 = (($25) + ($$033)|0); - $32 = HEAP8[$31>>0]|0; - $33 = HEAP32[$0>>2]|0; - $34 = (($33) + ($$032)|0); - HEAP8[$34>>0] = $32; - $35 = (($$033) + 1)|0; - $36 = (($$032) + 2)|0; - $$032 = $36;$$033 = $35; - } - break; - } - case 7: { - label = 14; - break; - } - default: { - _ImageFormat($0,7); - label = 14; - } - } - } while(0); - L19: do { - if ((label|0) == 14) { - $37 = ((($2)) + 4|0); - $38 = HEAP32[$37>>2]|0; - $39 = ((($2)) + 8|0); - $40 = HEAP32[$39>>2]|0; - $41 = Math_imul($40, $38)|0; - $42 = HEAP32[$2>>2]|0; - $$0 = 3;$$031 = 0; - while(1) { - $43 = ($$031|0)<($41|0); - if (!($43)) { - $44 = HEAP32[$3>>2]|0; - $45 = HEAP32[$8>>2]|0; - $46 = Math_imul($45, $44)|0; - $47 = ($$031|0)<($46|0); - if (!($47)) { - break L19; - } - } - $48 = (($42) + ($$031)|0); - $49 = HEAP8[$48>>0]|0; - $50 = HEAP32[$0>>2]|0; - $51 = (($50) + ($$0)|0); - HEAP8[$51>>0] = $49; - $52 = (($$031) + 1)|0; - $53 = (($$0) + 4)|0; - $$0 = $53;$$031 = $52; - } - } - } while(0); - ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$2+16>>2]|0; - _UnloadImage($$byval_copy3); - STACKTOP = sp;return; - } - } - _TraceLog(2,11900,$vararg_buffer); - STACKTOP = sp;return; -} -function _GetDefaultFont($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[20168>>2]|0;HEAP32[$0+4>>2]=HEAP32[20168+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[20168+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[20168+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[20168+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[20168+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[20168+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[20168+28>>2]|0; - return; -} -function _MeasureTextEx($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - var $$0$lcssa = 0, $$05064 = 0, $$052$lcssa = 0.0, $$05263 = 0.0, $$05462 = 0, $$055$lcssa = 0.0, $$05561 = 0.0, $$058$lcssa = 0.0, $$05860 = 0.0, $$065 = 0, $$151 = 0, $$151$$0 = 0, $$153 = 0.0, $$156 = 0.0, $$159 = 0.0, $$2 = 0.0, $$257 = 0.0, $$3 = 0.0, $$byval_copy = 0, $$pn = 0.0; - var $$pn$in = 0, $$sroa$4$0$$sroa_idx2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.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, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0, $39 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $exitcond = 0, $phitmp = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $$byval_copy = sp; - $5 = (_strlen($2)|0); - $6 = ((($1)) + 20|0); - $7 = HEAP32[$6>>2]|0; - $8 = (+($7|0)); - $9 = $3 / $8; - $10 = ($5|0)>(0); - if (!($10)) { - $$0$lcssa = -1;$$052$lcssa = 0.0;$$055$lcssa = 0.0;$$058$lcssa = $8; - $12 = $$055$lcssa < $$052$lcssa; - $$3 = $12 ? $$052$lcssa : $$055$lcssa; - $13 = $9 * $$3; - $14 = Math_imul($$0$lcssa, $4)|0; - $15 = (+($14|0)); - $16 = $13 + $15; - $17 = $9 * $$058$lcssa; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; - STACKTOP = sp;return; - } - $11 = ((($1)) + 28|0); - $$05064 = 0;$$05263 = 0.0;$$05462 = 0;$$05561 = 0.0;$$05860 = $8;$$065 = 0; - while(1) { - $18 = (($$05064) + 1)|0; - $19 = (($2) + ($$05462)|0); - $20 = HEAP8[$19>>0]|0; - $21 = ($20<<24>>24)==(10); - if ($21) { - $33 = $$05561 < $$05263; - $$156 = $33 ? $$05263 : $$05561; - $34 = HEAP32[$6>>2]|0; - $35 = (+($34|0)); - $36 = $35 * 1.5; - $37 = $$05860 + $36; - $$151 = 0;$$159 = $37;$$2 = 0.0;$$257 = $$156; - } else { - $22 = $20 << 24 >> 24; - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$1+28>>2]|0; - $23 = (_GetCharIndex($$byval_copy,$22)|0); - $24 = HEAP32[$11>>2]|0; - $25 = (((($24) + ($23<<5)|0)) + 28|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0); - if ($27) { - $28 = (((($24) + ($23<<5)|0)) + 20|0); - $29 = (((($24) + ($23<<5)|0)) + 12|0); - $30 = HEAP32[$29>>2]|0; - $31 = HEAP32[$28>>2]|0; - $32 = (($31) + ($30))|0; - $$pn$in = $32; - } else { - $$pn$in = $26; - } - $$pn = (+($$pn$in|0)); - $$153 = $$05263 + $$pn; - $$151 = $18;$$159 = $$05860;$$2 = $$153;$$257 = $$05561; - } - $38 = ($$065|0)<($$151|0); - $$151$$0 = $38 ? $$151 : $$065; - $39 = (($$05462) + 1)|0; - $exitcond = ($39|0)==($5|0); - if ($exitcond) { - break; - } else { - $$05064 = $$151;$$05263 = $$2;$$05462 = $39;$$05561 = $$257;$$05860 = $$159;$$065 = $$151$$0; - } - } - $phitmp = (($$151$$0) + -1)|0; - $$0$lcssa = $phitmp;$$052$lcssa = $$2;$$055$lcssa = $$257;$$058$lcssa = $$159; - $12 = $$055$lcssa < $$052$lcssa; - $$3 = $12 ? $$052$lcssa : $$055$lcssa; - $13 = $9 * $$3; - $14 = Math_imul($$0$lcssa, $4)|0; - $15 = (+($14|0)); - $16 = $13 + $15; - $17 = $9 * $$058$lcssa; - HEAPF32[$0>>2] = $16; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $17; - STACKTOP = sp;return; -} -function _GetCharIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(0); - if (!($4)) { - $$08 = 0; - return ($$08|0); - } - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - $$09 = 0; - while(1) { - $7 = (($6) + ($$09<<5)|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)==($1|0); - if ($9) { - $$08 = $$09; - label = 5; - break; - } - $10 = (($$09) + 1)|0; - $11 = HEAP32[$2>>2]|0; - $12 = ($10|0)<($11|0); - if ($12) { - $$09 = $10; - } else { - $$08 = 0; - label = 5; - break; - } - } - if ((label|0) == 5) { - return ($$08|0); - } - return (0)|0; -} -function _SetTextureFilter($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $9 = 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; - switch ($1|0) { - case 0: { - $2 = ((($0)) + 12|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)>(1); - $5 = HEAP32[$0>>2]|0; - if ($4) { - _rlTextureParameters($5,10241,9984); - $6 = HEAP32[$0>>2]|0; - _rlTextureParameters($6,10240,9728); - STACKTOP = sp;return; - } else { - _rlTextureParameters($5,10241,9728); - $7 = HEAP32[$0>>2]|0; - _rlTextureParameters($7,10240,9728); - STACKTOP = sp;return; - } - break; - } - case 1: { - $8 = ((($0)) + 12|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(1); - $11 = HEAP32[$0>>2]|0; - if ($10) { - _rlTextureParameters($11,10241,9985); - $12 = HEAP32[$0>>2]|0; - _rlTextureParameters($12,10240,9729); - STACKTOP = sp;return; - } else { - _rlTextureParameters($11,10241,9729); - $13 = HEAP32[$0>>2]|0; - _rlTextureParameters($13,10240,9729); - STACKTOP = sp;return; - } - break; - } - case 2: { - $14 = ((($0)) + 12|0); - $15 = HEAP32[$14>>2]|0; - $16 = ($15|0)>(1); - $17 = HEAP32[$0>>2]|0; - if ($16) { - _rlTextureParameters($17,10241,9987); - $18 = HEAP32[$0>>2]|0; - _rlTextureParameters($18,10240,9729); - STACKTOP = sp;return; - } else { - HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11995,$vararg_buffer); - $19 = HEAP32[$0>>2]|0; - _rlTextureParameters($19,10241,9729); - _rlTextureParameters($19,10240,9729); - STACKTOP = sp;return; - } - break; - } - case 3: { - $20 = HEAP32[$0>>2]|0; - _rlTextureParameters($20,12288,4); - STACKTOP = sp;return; - break; - } - case 4: { - $21 = HEAP32[$0>>2]|0; - _rlTextureParameters($21,12288,8); - STACKTOP = sp;return; - break; - } - case 5: { - $22 = HEAP32[$0>>2]|0; - _rlTextureParameters($22,12288,16); - STACKTOP = sp;return; - break; - } - default: { - STACKTOP = sp;return; - } - } -} -function _DrawTexturePro($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; - var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; - var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $6 = HEAP32[$0>>2]|0; - $7 = ($6|0)==(0); - if ($7) { - return; - } - $8 = ((($1)) + 8|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)<(0); - if ($10) { - $11 = HEAP32[$1>>2]|0; - $12 = (($11) - ($9))|0; - HEAP32[$1>>2] = $12; - } - $13 = ((($1)) + 12|0); - $14 = HEAP32[$13>>2]|0; - $15 = ($14|0)<(0); - if ($15) { - $16 = ((($1)) + 4|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($17) - ($14))|0; - HEAP32[$16>>2] = $18; - } - $19 = HEAP32[$0>>2]|0; - _rlEnableTexture($19); - _rlPushMatrix(); - $20 = HEAP32[$2>>2]|0; - $21 = (+($20|0)); - $22 = ((($2)) + 4|0); - $23 = HEAP32[$22>>2]|0; - $24 = (+($23|0)); - _rlTranslatef($21,$24,0.0); - _rlRotatef($4,0.0,0.0,1.0); - $25 = +HEAPF32[$3>>2]; - $26 = -$25; - $27 = ((($3)) + 4|0); - $28 = +HEAPF32[$27>>2]; - $29 = -$28; - _rlTranslatef($26,$29,0.0); - _rlBegin(7); - $30 = HEAP8[$5>>0]|0; - $31 = ((($5)) + 1|0); - $32 = HEAP8[$31>>0]|0; - $33 = ((($5)) + 2|0); - $34 = HEAP8[$33>>0]|0; - $35 = ((($5)) + 3|0); - $36 = HEAP8[$35>>0]|0; - _rlColor4ub($30,$32,$34,$36); - $37 = HEAP32[$1>>2]|0; - $38 = (+($37|0)); - $39 = ((($0)) + 4|0); - $40 = HEAP32[$39>>2]|0; - $41 = (+($40|0)); - $42 = $38 / $41; - $43 = ((($1)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (+($44|0)); - $46 = ((($0)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $45 / $48; - _rlTexCoord2f($42,$49); - _rlVertex2f(0.0,0.0); - $50 = HEAP32[$1>>2]|0; - $51 = (+($50|0)); - $52 = HEAP32[$39>>2]|0; - $53 = (+($52|0)); - $54 = $51 / $53; - $55 = HEAP32[$43>>2]|0; - $56 = HEAP32[$13>>2]|0; - $57 = (($56) + ($55))|0; - $58 = (+($57|0)); - $59 = HEAP32[$46>>2]|0; - $60 = (+($59|0)); - $61 = $58 / $60; - _rlTexCoord2f($54,$61); - $62 = ((($2)) + 12|0); - $63 = HEAP32[$62>>2]|0; - $64 = (+($63|0)); - _rlVertex2f(0.0,$64); - $65 = HEAP32[$1>>2]|0; - $66 = HEAP32[$8>>2]|0; - $67 = (($66) + ($65))|0; - $68 = (+($67|0)); - $69 = HEAP32[$39>>2]|0; - $70 = (+($69|0)); - $71 = $68 / $70; - $72 = HEAP32[$43>>2]|0; - $73 = HEAP32[$13>>2]|0; - $74 = (($73) + ($72))|0; - $75 = (+($74|0)); - $76 = HEAP32[$46>>2]|0; - $77 = (+($76|0)); - $78 = $75 / $77; - _rlTexCoord2f($71,$78); - $79 = ((($2)) + 8|0); - $80 = HEAP32[$79>>2]|0; - $81 = (+($80|0)); - $82 = HEAP32[$62>>2]|0; - $83 = (+($82|0)); - _rlVertex2f($81,$83); - $84 = HEAP32[$1>>2]|0; - $85 = HEAP32[$8>>2]|0; - $86 = (($85) + ($84))|0; - $87 = (+($86|0)); - $88 = HEAP32[$39>>2]|0; - $89 = (+($88|0)); - $90 = $87 / $89; - $91 = HEAP32[$43>>2]|0; - $92 = (+($91|0)); - $93 = HEAP32[$46>>2]|0; - $94 = (+($93|0)); - $95 = $92 / $94; - _rlTexCoord2f($90,$95); - $96 = HEAP32[$79>>2]|0; - $97 = (+($96|0)); - _rlVertex2f($97,0.0); - _rlEnd(); - _rlPopMatrix(); - _rlDisableTexture(); - return; -} -function _LoadSpriteFont($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$byval_copy2 = 0, $$byval_copy5 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); - $$byval_copy5 = sp + 232|0; - $$byval_copy2 = sp + 212|0; - $vararg_buffer = sp; - $2 = sp + 96|0; - $3 = sp + 192|0; - $4 = sp + 160|0; - $5 = sp + 128|0; - $6 = sp + 40|0; - $7 = sp + 252|0; - $8 = sp + 64|0; - $9 = sp + 8|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,12060)|0); - $11 = ($10|0)==(0); - do { - if ($11) { - $35 = (_IsFileExtension($1,12066)|0); - $36 = ($35|0)==(0); - if (!($36)) { - _LoadSpriteFontTTF($4,$1,32,0,0); - ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; - break; - } - $37 = (_IsFileExtension($1,12071)|0); - $38 = ($37|0)==(0); - if (!($38)) { - _LoadBMFont($5,$1); - ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$5+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$5+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$5+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$5+28>>2]|0; - break; - } - _LoadImage($6,$1); - $39 = HEAP32[$6>>2]|0; - $40 = ($39|0)==(0|0); - if (!($40)) { - HEAP8[$7>>0] = -1; - $41 = ((($7)) + 1|0); - HEAP8[$41>>0] = 0; - $42 = ((($7)) + 2|0); - HEAP8[$42>>0] = -1; - $43 = ((($7)) + 3|0); - HEAP8[$43>>0] = -1; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy2+16>>2]=HEAP32[$6+16>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$7+3>>0]|0; - _LoadImageFont($8,$$byval_copy2,$$byval_copy5); - ;HEAP32[$2>>2]=HEAP32[$8>>2]|0;HEAP32[$2+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$8+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$8+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$8+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$8+28>>2]|0; - } - ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$6+16>>2]|0; - _UnloadImage($$byval_copy5); - } else { - $12 = (_LoadResource($1,0)|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(5); - if ($14) { - $15 = ((($12)) + 20|0); - $16 = HEAP32[$15>>2]|0; - $17 = ((($12)) + 4|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($12)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($12)) + 12|0); - $22 = HEAP32[$21>>2]|0; - _LoadImagePro($$byval_copy2,$16,$18,$20,$22); - ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; - _LoadTextureFromImage($3,$$byval_copy5); - ;HEAP32[$2>>2]=HEAP32[$3>>2]|0;HEAP32[$2+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$3+16>>2]|0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$$byval_copy2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$$byval_copy2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$$byval_copy2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$$byval_copy2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$$byval_copy2+16>>2]|0; - _UnloadImage($$byval_copy5); - } - $23 = ((($12)) + 24|0); - $24 = HEAP32[$23>>2]|0; - $25 = ($24|0)==(6); - if ($25) { - $26 = ((($12)) + 28|0); - $27 = HEAP32[$26>>2]|0; - $28 = ((($2)) + 20|0); - HEAP32[$28>>2] = $27; - $29 = ((($12)) + 32|0); - $30 = HEAP32[$29>>2]|0; - $31 = ((($2)) + 24|0); - HEAP32[$31>>2] = $30; - $32 = ((($12)) + 44|0); - $33 = HEAP32[$32>>2]|0; - $34 = ((($2)) + 28|0); - HEAP32[$34>>2] = $33; - } - } - } while(0); - $44 = HEAP32[$2>>2]|0; - $45 = ($44|0)==(0); - if ($45) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12076,$vararg_buffer); - _GetDefaultFont($9); - ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; - STACKTOP = sp;return; - } else { - ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$2+16>>2]|0; - _SetTextureFilter($$byval_copy5,0); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; - STACKTOP = sp;return; - } -} -function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$048 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$0$copyload15 = 0, $$sroa$0$0$copyload17 = 0, $$sroa$0$1 = 0, $$sroa$8 = 0, $$sroa$8$0$$sroa_idx = 0, $$sroa$8$0$$sroa_idx23 = 0, $$sroa$8$0$$sroa_idx26 = 0, $$sroa$8$0$$sroa_idx29 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $vararg_buffer = sp; - $$sroa$8 = sp + 104|0; - $5 = sp + 72|0; - $6 = sp + 40|0; - $7 = sp + 8|0; - ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,12066)|0); - $9 = ($8|0)==(0); - if (!($9)) { - $10 = ($4|0)==(0|0); - $11 = ($3|0)==(0); - $or$cond = $11 | $10; - if ($or$cond) { - $12 = (_malloc(380)|0); - $$048 = 0; - while(1) { - $13 = (($$048) + 32)|0; - $14 = (($12) + ($$048<<2)|0); - HEAP32[$14>>2] = $13; - $15 = (($$048) + 1)|0; - $exitcond = ($15|0)==(95); - if ($exitcond) { - break; - } else { - $$048 = $15; - } - } - _LoadTTF($5,$1,$2,95,$12); - $$sroa$0$0$copyload = HEAP32[$5>>2]|0; - $$sroa$8$0$$sroa_idx = ((($5)) + 4|0); - ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx+24>>2]|0; - $$sroa$0$0 = $$sroa$0$0$copyload; - } else { - _LoadTTF($6,$1,$2,$3,$4); - $$sroa$0$0$copyload15 = HEAP32[$6>>2]|0; - $$sroa$8$0$$sroa_idx23 = ((($6)) + 4|0); - ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx23+24>>2]|0; - $$sroa$0$0 = $$sroa$0$0$copyload15; - } - $16 = ($$sroa$0$0|0)==(0); - if (!($16)) { - $$sroa$0$1 = $$sroa$0$0; - HEAP32[$0>>2] = $$sroa$0$1; - $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); - ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; - STACKTOP = sp;return; - } - } - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12620,$vararg_buffer); - _GetDefaultFont($7); - $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; - $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); - ;HEAP32[$$sroa$8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26>>2]|0;HEAP32[$$sroa$8+4>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+4>>2]|0;HEAP32[$$sroa$8+8>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+8>>2]|0;HEAP32[$$sroa$8+12>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+12>>2]|0;HEAP32[$$sroa$8+16>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+16>>2]|0;HEAP32[$$sroa$8+20>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+20>>2]|0;HEAP32[$$sroa$8+24>>2]=HEAP32[$$sroa$8$0$$sroa_idx26+24>>2]|0; - $$sroa$0$1 = $$sroa$0$0$copyload17; - HEAP32[$0>>2] = $$sroa$0$1; - $$sroa$8$0$$sroa_idx29 = ((($0)) + 4|0); - ;HEAP32[$$sroa$8$0$$sroa_idx29>>2]=HEAP32[$$sroa$8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+4>>2]=HEAP32[$$sroa$8+4>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+8>>2]=HEAP32[$$sroa$8+8>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+12>>2]=HEAP32[$$sroa$8+12>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+16>>2]=HEAP32[$$sroa$8+16>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+20>>2]=HEAP32[$$sroa$8+20>>2]|0;HEAP32[$$sroa$8$0$$sroa_idx29+24>>2]=HEAP32[$$sroa$8+24>>2]|0; - STACKTOP = sp;return; -} -function _LoadBMFont($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$05355 = 0, $$056 = 0, $$byval_copy52 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $$sroa$3$0$$sroa_idx2 = 0, $$sroa$4$0$$sroa_idx3 = 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, $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, $58 = 0; - var $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, $76 = 0; - var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer26 = 0, $vararg_buffer34 = 0, $vararg_buffer44 = 0, $vararg_buffer7 = 0, $vararg_ptr10 = 0; - var $vararg_ptr14 = 0, $vararg_ptr15 = 0, $vararg_ptr22 = 0, $vararg_ptr29 = 0, $vararg_ptr33 = 0, $vararg_ptr37 = 0, $vararg_ptr38 = 0, $vararg_ptr39 = 0, $vararg_ptr4 = 0, $vararg_ptr40 = 0, $vararg_ptr41 = 0, $vararg_ptr42 = 0, $vararg_ptr43 = 0, $vararg_ptr5 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 704|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(704|0); - $$byval_copy52 = sp + 152|0; - $vararg_buffer44 = sp + 144|0; - $vararg_buffer34 = sp + 112|0; - $vararg_buffer26 = sp + 88|0; - $vararg_buffer23 = sp + 64|0; - $vararg_buffer19 = sp + 56|0; - $vararg_buffer16 = sp + 48|0; - $vararg_buffer11 = sp + 32|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer1 = sp + 8|0; - $vararg_buffer = sp; - $2 = sp + 288|0; - $3 = sp + 448|0; - $4 = sp + 260|0; - $5 = sp + 236|0; - $6 = sp + 232|0; - $7 = sp + 320|0; - $8 = sp + 196|0; - $9 = sp + 192|0; - $10 = sp + 264|0; - $11 = sp + 240|0; - $12 = sp + 188|0; - $13 = sp + 184|0; - $14 = sp + 200|0; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - HEAP32[$4>>2] = 0; - HEAP32[$8>>2] = 0; - $15 = (_fopen($1,12218)|0); - $16 = ($15|0)==(0|0); - if ($16) { - HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12221,$vararg_buffer); - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; - STACKTOP = sp;return; - } - (_fgets($3,256,$15)|0); - (_fgets($3,256,$15)|0); - $17 = (_strstr($3,12255)|0); - HEAP32[$vararg_buffer1>>2] = $4; - $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); - HEAP32[$vararg_ptr4>>2] = $9; - $vararg_ptr5 = ((($vararg_buffer1)) + 8|0); - HEAP32[$vararg_ptr5>>2] = $5; - $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); - HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,12266,$vararg_buffer1)|0); - $18 = HEAP32[$4>>2]|0; - HEAP32[$vararg_buffer7>>2] = $1; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,12308,$vararg_buffer7); - $19 = HEAP32[$5>>2]|0; - $20 = HEAP32[$6>>2]|0; - HEAP32[$vararg_buffer11>>2] = $1; - $vararg_ptr14 = ((($vararg_buffer11)) + 4|0); - HEAP32[$vararg_ptr14>>2] = $19; - $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); - HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,12327,$vararg_buffer11); - (_fgets($3,256,$15)|0); - $21 = (_strstr($3,12358)|0); - HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,12363,$vararg_buffer16)|0); - HEAP32[$vararg_buffer19>>2] = $1; - $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); - HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,12379,$vararg_buffer19); - (_fgets($3,256,$15)|0); - $22 = (_strstr($3,12410)|0); - HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,12416,$vararg_buffer23)|0); - $23 = HEAP32[$8>>2]|0; - HEAP32[$vararg_buffer26>>2] = $1; - $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); - HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,12425,$vararg_buffer26); - $24 = (_strrchr($1,47)|0); - $25 = (_strlen($1)|0); - $26 = (_strlen($24)|0); - $27 = (_strlen($7)|0); - $28 = (($25) + 4)|0; - $29 = (($28) - ($26))|0; - $30 = (($29) + ($27))|0; - $31 = (_malloc($30)|0); - HEAP8[$31>>0] = 0; - $32 = (_strlen($1)|0); - $33 = (_strlen($24)|0); - $34 = (($32) + 1)|0; - $35 = (($34) - ($33))|0; - (_strncat($31,$1,$35)|0); - $36 = (_strlen($7)|0); - (_strncat($31,$7,$36)|0); - HEAP32[$$byval_copy52>>2] = $1; - $vararg_ptr33 = ((($$byval_copy52)) + 4|0); - HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,12449,$$byval_copy52); - _LoadImage($vararg_buffer26,$31); - $37 = ((($vararg_buffer26)) + 16|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==(1); - if ($39) { - ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; - _ImageCopy($vararg_buffer23,$$byval_copy52); - $40 = ((($vararg_buffer23)) + 4|0); - $41 = HEAP32[$40>>2]|0; - $42 = ((($vararg_buffer23)) + 8|0); - $43 = HEAP32[$42>>2]|0; - $44 = Math_imul($43, $41)|0; - $45 = ($44|0)>(0); - if ($45) { - $$056 = 0; - while(1) { - $46 = HEAP32[$vararg_buffer23>>2]|0; - $47 = (($46) + ($$056)|0); - HEAP8[$47>>0] = -1; - $48 = (($$056) + 1)|0; - $49 = HEAP32[$40>>2]|0; - $50 = HEAP32[$42>>2]|0; - $51 = Math_imul($50, $49)|0; - $52 = ($48|0)<($51|0); - if ($52) { - $$056 = $48; - } else { - break; - } - } - } - ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; - _ImageAlphaMask($vararg_buffer23,$$byval_copy52); - ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; - _LoadTextureFromImage($10,$$byval_copy52); - ;HEAP32[$2>>2]=HEAP32[$10>>2]|0;HEAP32[$2+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$10+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$10+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$10+16>>2]|0; - ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer23>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer23+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer23+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer23+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer23+16>>2]|0; - _UnloadImage($$byval_copy52); - } else { - ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; - _LoadTextureFromImage($11,$$byval_copy52); - ;HEAP32[$2>>2]=HEAP32[$11>>2]|0;HEAP32[$2+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$11+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$11+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$11+16>>2]|0; - } - $53 = HEAP32[$4>>2]|0; - $54 = ((($2)) + 20|0); - HEAP32[$54>>2] = $53; - $55 = HEAP32[$8>>2]|0; - $56 = ((($2)) + 24|0); - HEAP32[$56>>2] = $55; - $57 = $55 << 5; - $58 = (_malloc($57)|0); - $59 = ((($2)) + 28|0); - HEAP32[$59>>2] = $58; - ;HEAP32[$$byval_copy52>>2]=HEAP32[$vararg_buffer26>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$vararg_buffer26+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$vararg_buffer26+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$vararg_buffer26+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$vararg_buffer26+16>>2]|0; - _UnloadImage($$byval_copy52); - _free($31); - $60 = HEAP32[$8>>2]|0; - $61 = ($60|0)>(0); - if ($61) { - $$05355 = 0; - while(1) { - (_fgets($3,256,$15)|0); - HEAP32[$vararg_buffer34>>2] = $vararg_buffer23; - $vararg_ptr37 = ((($vararg_buffer34)) + 4|0); - HEAP32[$vararg_ptr37>>2] = $vararg_buffer19; - $vararg_ptr38 = ((($vararg_buffer34)) + 8|0); - HEAP32[$vararg_ptr38>>2] = $vararg_buffer16; - $vararg_ptr39 = ((($vararg_buffer34)) + 12|0); - HEAP32[$vararg_ptr39>>2] = $vararg_buffer11; - $vararg_ptr40 = ((($vararg_buffer34)) + 16|0); - HEAP32[$vararg_ptr40>>2] = $vararg_buffer7; - $vararg_ptr41 = ((($vararg_buffer34)) + 20|0); - HEAP32[$vararg_ptr41>>2] = $vararg_buffer1; - $vararg_ptr42 = ((($vararg_buffer34)) + 24|0); - HEAP32[$vararg_ptr42>>2] = $12; - $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); - HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,12484,$vararg_buffer34)|0); - $64 = HEAP32[$vararg_buffer23>>2]|0; - $65 = HEAP32[$59>>2]|0; - $66 = (($65) + ($$05355<<5)|0); - HEAP32[$66>>2] = $64; - $67 = HEAP32[$59>>2]|0; - $68 = HEAP32[$vararg_buffer19>>2]|0; - $69 = HEAP32[$vararg_buffer16>>2]|0; - $70 = HEAP32[$vararg_buffer11>>2]|0; - $71 = HEAP32[$vararg_buffer7>>2]|0; - $$sroa$0$0$$sroa_idx = (((($67) + ($$05355<<5)|0)) + 4|0); - HEAP32[$$sroa$0$0$$sroa_idx>>2] = $68; - $$sroa$2$0$$sroa_idx1 = (((($67) + ($$05355<<5)|0)) + 8|0); - HEAP32[$$sroa$2$0$$sroa_idx1>>2] = $69; - $$sroa$3$0$$sroa_idx2 = (((($67) + ($$05355<<5)|0)) + 12|0); - HEAP32[$$sroa$3$0$$sroa_idx2>>2] = $70; - $$sroa$4$0$$sroa_idx3 = (((($67) + ($$05355<<5)|0)) + 16|0); - HEAP32[$$sroa$4$0$$sroa_idx3>>2] = $71; - $72 = HEAP32[$vararg_buffer1>>2]|0; - $73 = HEAP32[$59>>2]|0; - $74 = (((($73) + ($$05355<<5)|0)) + 20|0); - HEAP32[$74>>2] = $72; - $75 = HEAP32[$12>>2]|0; - $76 = HEAP32[$59>>2]|0; - $77 = (((($76) + ($$05355<<5)|0)) + 24|0); - HEAP32[$77>>2] = $75; - $78 = HEAP32[$13>>2]|0; - $79 = HEAP32[$59>>2]|0; - $80 = (((($79) + ($$05355<<5)|0)) + 28|0); - HEAP32[$80>>2] = $78; - $81 = (($$05355) + 1)|0; - $82 = HEAP32[$8>>2]|0; - $83 = ($81|0)<($82|0); - if ($83) { - $$05355 = $81; - } else { - break; - } - } - } - (_fclose($15)|0); - $62 = HEAP32[$2>>2]|0; - $63 = ($62|0)==(0); - if ($63) { - ;HEAP32[$$byval_copy52>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy52+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy52+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy52+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy52+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$$byval_copy52+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$$byval_copy52+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$$byval_copy52+28>>2]=HEAP32[$2+28>>2]|0; - _UnloadSpriteFont($$byval_copy52); - _GetDefaultFont($14); - ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; - } else { - HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,12558,$vararg_buffer44); - } - ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; - STACKTOP = sp;return; -} -function _LoadImageFont($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0195$lcssa = 0, $$019552 = 0, $$019622 = 0, $$0197 = 0, $$020032 = 0, $$0201$lcssa = 0, $$020131 = 0, $$0203 = 0, $$021 = 0, $$1$lcssa = 0, $$119927 = 0, $$1202$lcssa = 0, $$120226 = 0, $$135 = 0, $$2 = 0, $$byval_copy4 = 0, $$sroa$0 = 0, $$sroa$5$0$$sroa_idx15 = 0, $$sroa$6$0$$sroa_idx17 = 0, $$sroa$9$0$$sroa_idx20 = 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, $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, $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, $exitcond = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 5232|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(5232|0); - $$byval_copy4 = sp + 5200|0; - $vararg_buffer1 = sp + 48|0; - $vararg_buffer = sp + 24|0; - $3 = sp + 4176|0; - $4 = sp + 56|0; - $$sroa$0 = sp; - $5 = sp + 4152|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$1+16>>2]|0; - $6 = (_GetImageData($$byval_copy4)|0); - $7 = ((($1)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(0); - L1: do { - if ($9) { - $10 = ((($1)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)>(0); - $13 = HEAP8[$2>>0]|0; - $14 = ((($2)) + 1|0); - $15 = HEAP8[$14>>0]|0; - $16 = ((($2)) + 2|0); - $17 = HEAP8[$16>>0]|0; - $18 = ((($2)) + 3|0); - $19 = HEAP8[$18>>0]|0; - $20 = HEAP8[$2>>0]|0; - $21 = ((($2)) + 1|0); - $22 = HEAP8[$21>>0]|0; - $23 = ((($2)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = ((($2)) + 3|0); - $26 = HEAP8[$25>>0]|0; - $27 = HEAP32[$10>>2]|0; - $$019552 = 0; - while(1) { - L5: do { - if ($12) { - $$135 = 0;$29 = $11; - while(1) { - $28 = Math_imul($29, $$019552)|0; - $30 = (($28) + ($$135))|0; - $31 = (($6) + ($30<<2)|0); - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==($20<<24>>24); - if (!($33)) { - $$1$lcssa = $$135; - break L5; - } - $34 = (((($6) + ($30<<2)|0)) + 1|0); - $35 = HEAP8[$34>>0]|0; - $36 = ($35<<24>>24)==($22<<24>>24); - if (!($36)) { - $$1$lcssa = $$135; - break L5; - } - $37 = (((($6) + ($30<<2)|0)) + 2|0); - $38 = HEAP8[$37>>0]|0; - $39 = ($38<<24>>24)==($24<<24>>24); - if (!($39)) { - $$1$lcssa = $$135; - break L5; - } - $40 = (((($6) + ($30<<2)|0)) + 3|0); - $41 = HEAP8[$40>>0]|0; - $42 = ($41<<24>>24)==($26<<24>>24); - if (!($42)) { - $$1$lcssa = $$135; - break L5; - } - $43 = (($$135) + 1)|0; - $44 = HEAP32[$10>>2]|0; - $45 = ($43|0)<($44|0); - if ($45) { - $$135 = $43;$29 = $44; - } else { - $$1$lcssa = $43; - break; - } - } - } else { - $$1$lcssa = 0; - } - } while(0); - $46 = Math_imul($27, $$019552)|0; - $47 = (($46) + ($$1$lcssa))|0; - $48 = (($6) + ($47<<2)|0); - $49 = HEAP8[$48>>0]|0; - $50 = ($49<<24>>24)==($13<<24>>24); - if (!($50)) { - $$0195$lcssa = $$019552;$$2 = $$1$lcssa; - break L1; - } - $51 = (((($6) + ($47<<2)|0)) + 1|0); - $52 = HEAP8[$51>>0]|0; - $53 = ($52<<24>>24)==($15<<24>>24); - if (!($53)) { - $$0195$lcssa = $$019552;$$2 = $$1$lcssa; - break L1; - } - $54 = (((($6) + ($47<<2)|0)) + 2|0); - $55 = HEAP8[$54>>0]|0; - $56 = ($55<<24>>24)==($17<<24>>24); - if (!($56)) { - $$0195$lcssa = $$019552;$$2 = $$1$lcssa; - break L1; - } - $57 = (((($6) + ($47<<2)|0)) + 3|0); - $58 = HEAP8[$57>>0]|0; - $59 = ($58<<24>>24)==($19<<24>>24); - if (!($59)) { - $$0195$lcssa = $$019552;$$2 = $$1$lcssa; - break L1; - } - $60 = (($$019552) + 1)|0; - $61 = HEAP32[$7>>2]|0; - $62 = ($60|0)<($61|0); - if ($62) { - $$019552 = $60; - } else { - $$0195$lcssa = $60;$$2 = $$1$lcssa; - break; - } - } - } else { - $$0195$lcssa = 0;$$2 = 0; - } - } while(0); - $63 = ((($1)) + 4|0); - $64 = HEAP32[$63>>2]|0; - $65 = HEAP8[$2>>0]|0; - $66 = ((($2)) + 1|0); - $67 = HEAP8[$66>>0]|0; - $68 = ((($2)) + 2|0); - $69 = HEAP8[$68>>0]|0; - $70 = ((($2)) + 3|0); - $71 = HEAP8[$70>>0]|0; - $$0203 = 0; - while(1) { - $72 = (($$0203) + ($$0195$lcssa))|0; - $73 = Math_imul($72, $64)|0; - $74 = (($73) + ($$2))|0; - $75 = (($6) + ($74<<2)|0); - $76 = HEAP8[$75>>0]|0; - $77 = ($76<<24>>24)==($65<<24>>24); - if ($77) { - $78 = (((($6) + ($74<<2)|0)) + 1|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)==($67<<24>>24); - if ($80) { - $81 = (((($6) + ($74<<2)|0)) + 2|0); - $82 = HEAP8[$81>>0]|0; - $83 = ($82<<24>>24)==($69<<24>>24); - if ($83) { - $84 = (((($6) + ($74<<2)|0)) + 3|0); - $85 = HEAP8[$84>>0]|0; - $86 = ($85<<24>>24)==($71<<24>>24); - if ($86) { - break; - } - } - } - } - $96 = (($$0203) + 1)|0; - $$0203 = $96; - } - $87 = HEAP32[$7>>2]|0; - $88 = ($$0195$lcssa|0)<($87|0); - if ($88) { - $89 = HEAP32[$63>>2]|0; - $90 = ($$2|0)<($89|0); - $91 = HEAP32[$7>>2]|0; - $92 = HEAP8[$2>>0]|0; - $93 = HEAP8[$66>>0]|0; - $94 = HEAP8[$68>>0]|0; - $95 = HEAP8[$70>>0]|0; - $$020032 = 0;$$020131 = 0;$99 = $$0195$lcssa; - while(1) { - L30: do { - if ($90) { - $$119927 = $$2;$$120226 = $$020131;$98 = $89; - while(1) { - $97 = Math_imul($98, $99)|0; - $100 = (($97) + ($$119927))|0; - $101 = (($6) + ($100<<2)|0); - $102 = HEAP8[$101>>0]|0; - $103 = ($102<<24>>24)==($92<<24>>24); - if ($103) { - $104 = (((($6) + ($100<<2)|0)) + 1|0); - $105 = HEAP8[$104>>0]|0; - $106 = ($105<<24>>24)==($93<<24>>24); - if ($106) { - $107 = (((($6) + ($100<<2)|0)) + 2|0); - $108 = HEAP8[$107>>0]|0; - $109 = ($108<<24>>24)==($94<<24>>24); - if ($109) { - $110 = (((($6) + ($100<<2)|0)) + 3|0); - $111 = HEAP8[$110>>0]|0; - $112 = ($111<<24>>24)==($95<<24>>24); - if ($112) { - $$1202$lcssa = $$120226; - break L30; - } - } - } - } - $113 = (($$120226) + 32)|0; - $114 = (($3) + ($$120226<<2)|0); - HEAP32[$114>>2] = $113; - $115 = (($4) + ($$120226<<4)|0); - HEAP32[$115>>2] = $$119927; - $116 = (((($4) + ($$120226<<4)|0)) + 4|0); - HEAP32[$116>>2] = $99; - $117 = (((($4) + ($$120226<<4)|0)) + 12|0); - HEAP32[$117>>2] = $$0203; - $118 = HEAP32[$63>>2]|0; - $119 = Math_imul($118, $99)|0; - $$0197 = 0; - while(1) { - $120 = (($$0197) + ($$119927))|0; - $121 = (($120) + ($119))|0; - $122 = (($6) + ($121<<2)|0); - $123 = HEAP8[$122>>0]|0; - $124 = ($123<<24>>24)==($92<<24>>24); - if ($124) { - $125 = (((($6) + ($121<<2)|0)) + 1|0); - $126 = HEAP8[$125>>0]|0; - $127 = ($126<<24>>24)==($93<<24>>24); - if ($127) { - $128 = (((($6) + ($121<<2)|0)) + 2|0); - $129 = HEAP8[$128>>0]|0; - $130 = ($129<<24>>24)==($94<<24>>24); - if ($130) { - $131 = (((($6) + ($121<<2)|0)) + 3|0); - $132 = HEAP8[$131>>0]|0; - $133 = ($132<<24>>24)==($95<<24>>24); - if ($133) { - break; - } - } - } - } - $134 = (($$0197) + 1)|0; - $$0197 = $134; - } - $135 = (((($4) + ($$120226<<4)|0)) + 8|0); - HEAP32[$135>>2] = $$0197; - $136 = (($$120226) + 1)|0; - $137 = (($$119927) + ($$2))|0; - $138 = (($137) + ($$0197))|0; - $139 = HEAP32[$63>>2]|0; - $140 = ($138|0)<($139|0); - if ($140) { - $$119927 = $138;$$120226 = $136;$98 = $139; - } else { - $$1202$lcssa = $136; - break; - } - } - } else { - $$1202$lcssa = $$020131; - } - } while(0); - $141 = (($$020032) + 1)|0; - $142 = Math_imul($141, $72)|0; - $143 = (($142) + ($$0195$lcssa))|0; - $144 = ($143|0)<($91|0); - if ($144) { - $$020032 = $141;$$020131 = $$1202$lcssa;$99 = $143; - } else { - $$0201$lcssa = $$1202$lcssa; - break; - } - } - } else { - $$0201$lcssa = 0; - } - _TraceLog(3,12132,$vararg_buffer); - $145 = HEAP32[$7>>2]|0; - $146 = HEAP32[$63>>2]|0; - $147 = Math_imul($146, $145)|0; - $148 = ($147|0)>(0); - if ($148) { - $149 = HEAP8[$2>>0]|0; - $150 = HEAP8[$66>>0]|0; - $151 = HEAP8[$68>>0]|0; - $152 = HEAP8[$70>>0]|0; - $$019622 = 0; - while(1) { - $158 = (($6) + ($$019622<<2)|0); - $159 = HEAP8[$158>>0]|0; - $160 = ($159<<24>>24)==($149<<24>>24); - if ($160) { - $161 = (((($6) + ($$019622<<2)|0)) + 1|0); - $162 = HEAP8[$161>>0]|0; - $163 = ($162<<24>>24)==($150<<24>>24); - if ($163) { - $164 = (((($6) + ($$019622<<2)|0)) + 2|0); - $165 = HEAP8[$164>>0]|0; - $166 = ($165<<24>>24)==($151<<24>>24); - if ($166) { - $167 = (((($6) + ($$019622<<2)|0)) + 3|0); - $168 = HEAP8[$167>>0]|0; - $169 = ($168<<24>>24)==($152<<24>>24); - if ($169) { - HEAP8[$158>>0]=0&255;HEAP8[$158+1>>0]=(0>>8)&255;HEAP8[$158+2>>0]=(0>>16)&255;HEAP8[$158+3>>0]=0>>24; - } - } - } - } - $170 = (($$019622) + 1)|0; - $171 = HEAP32[$7>>2]|0; - $172 = HEAP32[$63>>2]|0; - $173 = Math_imul($172, $171)|0; - $174 = ($170|0)<($173|0); - if ($174) { - $$019622 = $170; - } else { - break; - } - } - } - $153 = HEAP32[$63>>2]|0; - $154 = HEAP32[$7>>2]|0; - _LoadImageEx($vararg_buffer,$6,$153,$154); - _free($6); - ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; - _LoadTextureFromImage($5,$$byval_copy4); - ;HEAP32[$$sroa$0>>2]=HEAP32[$5>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$5+16>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$vararg_buffer>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$vararg_buffer+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$vararg_buffer+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$vararg_buffer+12>>2]|0;HEAP32[$$byval_copy4+16>>2]=HEAP32[$vararg_buffer+16>>2]|0; - _UnloadImage($$byval_copy4); - $155 = $$0201$lcssa << 5; - $156 = (_malloc($155)|0); - $157 = ($$0201$lcssa|0)>(0); - if ($157) { - $$021 = 0; - } else { - $175 = ((($156)) + 16|0); - $176 = HEAP32[$175>>2]|0; - _TraceLog(0,12176,$vararg_buffer1); - ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; - $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); - HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; - $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); - HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; - $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); - HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; - STACKTOP = sp;return; - } - while(1) { - $177 = (($3) + ($$021<<2)|0); - $178 = HEAP32[$177>>2]|0; - $179 = (($156) + ($$021<<5)|0); - HEAP32[$179>>2] = $178; - $180 = (((($156) + ($$021<<5)|0)) + 4|0); - $181 = (($4) + ($$021<<4)|0); - ;HEAP32[$180>>2]=HEAP32[$181>>2]|0;HEAP32[$180+4>>2]=HEAP32[$181+4>>2]|0;HEAP32[$180+8>>2]=HEAP32[$181+8>>2]|0;HEAP32[$180+12>>2]=HEAP32[$181+12>>2]|0; - $182 = (((($156) + ($$021<<5)|0)) + 20|0); - HEAP32[$182>>2] = 0; - $183 = (((($156) + ($$021<<5)|0)) + 24|0); - HEAP32[$183>>2] = 0; - $184 = (((($156) + ($$021<<5)|0)) + 28|0); - HEAP32[$184>>2] = 0; - $185 = (($$021) + 1)|0; - $exitcond = ($185|0)==($$0201$lcssa|0); - if ($exitcond) { - break; - } else { - $$021 = $185; - } - } - $175 = ((($156)) + 16|0); - $176 = HEAP32[$175>>2]|0; - _TraceLog(0,12176,$vararg_buffer1); - ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; - $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); - HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; - $$sroa$6$0$$sroa_idx17 = ((($0)) + 24|0); - HEAP32[$$sroa$6$0$$sroa_idx17>>2] = $$0201$lcssa; - $$sroa$9$0$$sroa_idx20 = ((($0)) + 28|0); - HEAP32[$$sroa$9$0$$sroa_idx20>>2] = $156; - STACKTOP = sp;return; -} -function _UnloadSpriteFont($0) { - $0 = $0|0; - var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $$byval_copy = sp + 40|0; - $vararg_buffer = sp; - $1 = sp + 8|0; - $2 = HEAP32[$0>>2]|0; - _GetDefaultFont($1); - $3 = HEAP32[$1>>2]|0; - $4 = ($2|0)==($3|0); - if ($4) { - STACKTOP = sp;return; - } - ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; - _UnloadTexture($$byval_copy); - $5 = ((($0)) + 28|0); - $6 = HEAP32[$5>>2]|0; - _free($6); - _TraceLog(3,12594,$vararg_buffer); - STACKTOP = sp;return; -} -function _LoadTTF($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0124130 = 0, $$0125129 = 0, $$0128 = 0, $$byval_copy9 = 0, $$sroa$0 = 0, $$sroa$10$0$$sroa_idx58 = 0, $$sroa$10$0$$sroa_idx59 = 0, $$sroa$6$0$$sroa_idx49 = 0, $$sroa$6$0$$sroa_idx50 = 0, $$sroa$7$0$$sroa_idx53 = 0, $$sroa$7$0$$sroa_idx54 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0; - var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $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, $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.0, $70 = 0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0; - var $76 = 0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0.0, $80 = 0, $81 = 0, $82 = 0, $9 = 0.0, $exitcond = 0, $exp2 = 0.0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); - $$byval_copy9 = sp + 48|0; - $vararg_buffer7 = sp + 40|0; - $vararg_buffer5 = sp + 32|0; - $vararg_buffer2 = sp + 24|0; - $$sroa$0 = sp; - $5 = sp + 68|0; - $6 = sp + 88|0; - $7 = (+($2|0)); - $8 = $7 * 3.0; - $9 = $8 * 0.25; - $10 = (+Math_ceil((+$9))); - $11 = (+($3|0)); - $12 = (+Math_sqrt((+$11))); - $13 = (+Math_ceil((+$12))); - $14 = $10 * $13; - $15 = (+Math_log((+$14))); - $16 = $15 / 0.69314718246459961; - $17 = (+Math_ceil((+$16))); - $exp2 = (+_llvm_exp2_f32((+$17))); - $18 = (~~(($exp2))); - HEAP32[$$byval_copy9>>2] = $18; - $vararg_ptr1 = ((($$byval_copy9)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12679,$$byval_copy9); - $19 = (_malloc(16777216)|0); - $20 = Math_imul($18, $18)|0; - $21 = (_malloc($20)|0); - $22 = ($3*20)|0; - $23 = (_malloc($22)|0); - ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12733)|0); - $25 = ($24|0)==(0|0); - if ($25) { - HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12736,$vararg_buffer2); - ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; - $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); - HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; - $$sroa$7$0$$sroa_idx53 = ((($0)) + 24|0); - HEAP32[$$sroa$7$0$$sroa_idx53>>2] = 0; - $$sroa$10$0$$sroa_idx58 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx58>>2] = 0; - STACKTOP = sp;return; - } - (_fread($19,1,16777216,$24)|0); - $26 = HEAP32[$4>>2]|0; - $27 = ($26|0)==(32); - if (!($27)) { - _TraceLog(2,12770,$vararg_buffer5); - } - $28 = HEAP32[$4>>2]|0; - $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); - $30 = ($29|0)<(0); - if ($30) { - _TraceLog(2,12837,$vararg_buffer7); - } - _free($19); - $31 = $20 << 1; - $32 = (_malloc($31)|0); - $33 = ($20|0)==(0); - if (!($33)) { - $$0124130 = 0;$$0125129 = 0; - while(1) { - $41 = (($32) + ($$0124130)|0); - HEAP8[$41>>0] = -1; - $42 = (($21) + ($$0125129)|0); - $43 = HEAP8[$42>>0]|0; - $44 = $$0124130 | 1; - $45 = (($32) + ($44)|0); - HEAP8[$45>>0] = $43; - $46 = (($$0125129) + 1)|0; - $47 = (($$0124130) + 2)|0; - $48 = ($46|0)<($20|0); - if ($48) { - $$0124130 = $47;$$0125129 = $46; - } else { - break; - } - } - } - _free($21); - $34 = ((($5)) + 4|0); - HEAP32[$34>>2] = $18; - $35 = ((($5)) + 8|0); - HEAP32[$35>>2] = $18; - $36 = ((($5)) + 12|0); - HEAP32[$36>>2] = 1; - $37 = ((($5)) + 16|0); - HEAP32[$37>>2] = 2; - HEAP32[$5>>2] = $32; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; - _LoadTextureFromImage($6,$$byval_copy9); - ;HEAP32[$$sroa$0>>2]=HEAP32[$6>>2]|0;HEAP32[$$sroa$0+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$sroa$0+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$sroa$0+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$$sroa$0+16>>2]=HEAP32[$6+16>>2]|0; - ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy9+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy9+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy9+16>>2]=HEAP32[$5+16>>2]|0; - _UnloadImage($$byval_copy9); - $38 = $3 << 5; - $39 = (_malloc($38)|0); - $40 = ($3|0)>(0); - if ($40) { - $$0128 = 0; - while(1) { - $49 = (($4) + ($$0128<<2)|0); - $50 = HEAP32[$49>>2]|0; - $51 = (($39) + ($$0128<<5)|0); - HEAP32[$51>>2] = $50; - $52 = (($23) + (($$0128*20)|0)|0); - $53 = HEAP16[$52>>1]|0; - $54 = $53&65535; - $55 = (((($39) + ($$0128<<5)|0)) + 4|0); - HEAP32[$55>>2] = $54; - $56 = (((($23) + (($$0128*20)|0)|0)) + 2|0); - $57 = HEAP16[$56>>1]|0; - $58 = $57&65535; - $59 = (((($39) + ($$0128<<5)|0)) + 8|0); - HEAP32[$59>>2] = $58; - $60 = (((($23) + (($$0128*20)|0)|0)) + 4|0); - $61 = HEAP16[$60>>1]|0; - $62 = $61&65535; - $63 = (($62) - ($54))|0; - $64 = (((($39) + ($$0128<<5)|0)) + 12|0); - HEAP32[$64>>2] = $63; - $65 = (((($23) + (($$0128*20)|0)|0)) + 6|0); - $66 = HEAP16[$65>>1]|0; - $67 = $66&65535; - $68 = (($67) - ($58))|0; - $69 = (((($39) + ($$0128<<5)|0)) + 16|0); - HEAP32[$69>>2] = $68; - $70 = (((($23) + (($$0128*20)|0)|0)) + 8|0); - $71 = +HEAPF32[$70>>2]; - $72 = (~~(($71))); - $73 = (((($39) + ($$0128<<5)|0)) + 20|0); - HEAP32[$73>>2] = $72; - $74 = (((($23) + (($$0128*20)|0)|0)) + 12|0); - $75 = +HEAPF32[$74>>2]; - $76 = (~~(($75))); - $77 = (((($39) + ($$0128<<5)|0)) + 24|0); - HEAP32[$77>>2] = $76; - $78 = (((($23) + (($$0128*20)|0)|0)) + 16|0); - $79 = +HEAPF32[$78>>2]; - $80 = (~~(($79))); - $81 = (((($39) + ($$0128<<5)|0)) + 28|0); - HEAP32[$81>>2] = $80; - $82 = (($$0128) + 1)|0; - $exitcond = ($82|0)==($3|0); - if ($exitcond) { - break; - } else { - $$0128 = $82; - } - } - } - _free($23); - ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; - $$sroa$6$0$$sroa_idx50 = ((($0)) + 20|0); - HEAP32[$$sroa$6$0$$sroa_idx50>>2] = $2; - $$sroa$7$0$$sroa_idx54 = ((($0)) + 24|0); - HEAP32[$$sroa$7$0$$sroa_idx54>>2] = $3; - $$sroa$10$0$$sroa_idx59 = ((($0)) + 28|0); - HEAP32[$$sroa$10$0$$sroa_idx59>>2] = $39; - STACKTOP = sp;return; -} -function _stbtt_BakeFontBitmap($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = (_stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7)|0); - return ($8|0); -} -function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = +$1; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $$05 = 0, $$084$ = 0, $$0844 = 0, $$087$$091 = 0, $$0873 = 0, $$089 = 0, $$0902 = 0, $$091$ = 0, $$0911 = 0, $$1 = 0, $$2 = 0, $$286 = 0, $$293 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $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, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0; - var $57 = 0, $58 = 0.0, $59 = 0, $60 = 0, $61 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); - $8 = sp + 24|0; - $9 = sp + 20|0; - $10 = sp + 16|0; - $11 = sp + 12|0; - $12 = sp + 8|0; - $13 = sp + 4|0; - $14 = sp; - HEAP32[$8>>2] = 0; - $15 = (_stbtt_InitFont($8,$0)|0); - $16 = ($15|0)==(0); - if ($16) { - $$2 = -1; - STACKTOP = sp;return ($$2|0); - } - $17 = Math_imul($4, $3)|0; - _memset(($2|0),0,($17|0))|0; - $18 = (+_stbtt_ScaleForPixelHeight($8,$1)); - $19 = ($6|0)>(0); - if (!($19)) { - $$2 = 1; - STACKTOP = sp;return ($$2|0); - } - $$05 = 0;$$0844 = 1;$$0873 = 1;$$0902 = 0;$$0911 = 1; - while(1) { - $22 = (($$0902) + ($5))|0; - $23 = (_stbtt_FindGlyphIndex($8,$22)|0); - _stbtt_GetGlyphHMetrics($8,$23,$9,$10); - _stbtt_GetGlyphBitmapBox($8,$23,$18,$18,$11,$12,$13,$14); - $24 = HEAP32[$13>>2]|0; - $25 = HEAP32[$11>>2]|0; - $26 = (($24) - ($25))|0; - $27 = HEAP32[$14>>2]|0; - $28 = HEAP32[$12>>2]|0; - $29 = (($27) - ($28))|0; - $30 = (($$0844) + 1)|0; - $31 = (($30) + ($26))|0; - $32 = ($31|0)<($3|0); - $$087$$091 = $32 ? $$0873 : $$0911; - $$084$ = $32 ? $$0844 : 1; - $33 = (($$087$$091) + ($29))|0; - $34 = (($33) + 1)|0; - $35 = ($34|0)<($4|0); - if ($35) { - $37 = (($$084$) + ($26))|0; - $38 = ($37|0)<($3|0); - if (!($38)) { - label = 8; - break; - } - $39 = (($2) + ($$084$)|0); - $40 = Math_imul($$087$$091, $3)|0; - $41 = (($39) + ($40)|0); - _stbtt_MakeGlyphBitmap($8,$41,$26,$29,$3,$18,$18,$23); - $42 = $$084$&65535; - $43 = (($7) + (($$0902*20)|0)|0); - HEAP16[$43>>1] = $42; - $44 = $$087$$091&65535; - $45 = (((($7) + (($$0902*20)|0)|0)) + 2|0); - HEAP16[$45>>1] = $44; - $46 = $37&65535; - $47 = (((($7) + (($$0902*20)|0)|0)) + 4|0); - HEAP16[$47>>1] = $46; - $48 = $33&65535; - $49 = (((($7) + (($$0902*20)|0)|0)) + 6|0); - HEAP16[$49>>1] = $48; - $50 = HEAP32[$9>>2]|0; - $51 = (+($50|0)); - $52 = $18 * $51; - $53 = (((($7) + (($$0902*20)|0)|0)) + 16|0); - HEAPF32[$53>>2] = $52; - $54 = HEAP32[$11>>2]|0; - $55 = (+($54|0)); - $56 = (((($7) + (($$0902*20)|0)|0)) + 8|0); - HEAPF32[$56>>2] = $55; - $57 = HEAP32[$12>>2]|0; - $58 = (+($57|0)); - $59 = (((($7) + (($$0902*20)|0)|0)) + 12|0); - HEAPF32[$59>>2] = $58; - $60 = (($37) + 1)|0; - $61 = ($33|0)<($$0911|0); - $$091$ = $61 ? $$0911 : $34; - $$089 = 1;$$1 = $$05;$$286 = $60;$$293 = $$091$; - } else { - $36 = (0 - ($$0902))|0; - $$089 = 0;$$1 = $36;$$286 = $$084$;$$293 = $$0911; - } - $21 = (($$0902) + 1)|0; - if (!($$089)) { - $$2 = $$1; - label = 11; - break; - } - $20 = ($21|0)<($6|0); - if ($20) { - $$05 = $$1;$$0844 = $$286;$$0873 = $$087$$091;$$0902 = $21;$$0911 = $$293; - } else { - $$2 = $$293; - label = 11; - break; - } - } - if ((label|0) == 8) { - ___assert_fail((12900|0),(12910|0),3273,(12936|0)); - // unreachable; - } - else if ((label|0) == 11) { - STACKTOP = sp;return ($$2|0); - } - return (0)|0; -} -function _stbtt_InitFont($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_stbtt_InitFont_internal($0,$1)|0); - return ($2|0); -} -function _stbtt_ScaleForPixelHeight($0,$1) { - $0 = $0|0; - $1 = +$1; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.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)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 28|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + ($5)|0); - $7 = ((($6)) + 4|0); - $8 = (_ttSHORT($7)|0); - $9 = $8 << 16 >> 16; - $10 = ((($6)) + 6|0); - $11 = (_ttSHORT($10)|0); - $12 = $11 << 16 >> 16; - $13 = (($9) - ($12))|0; - $14 = (+($13|0)); - $15 = $1 / $14; - return (+$15); -} -function _stbtt_FindGlyphIndex($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$ = 0, $$$1172 = 0, $$0163180 = 0, $$0164179 = 0, $$0165 = 0, $$0165$ph = 0, $$0168$ph = 0, $$1172$lcssa = 0, $$1172178 = 0, $$2 = 0, $$2$shrunk = 0, $$5 = 0, $$8 = 0, $$neg = 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, $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, $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; - var $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, $79 = 0, $8 = 0, $80 = 0; - var $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, $97 = 0, $98 = 0, $99 = 0; - var $switch = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 40|0); - $5 = HEAP32[$4>>2]|0; - $6 = (($3) + ($5)|0); - $7 = (_ttUSHORT($6)|0); - switch ($7<<16>>16) { - case 0: { - $8 = ((($6)) + 2|0); - $9 = (_ttUSHORT($8)|0); - $10 = $9&65535; - $11 = (($10) + -6)|0; - $12 = ($11|0)>($1|0); - if (!($12)) { - $$8 = 0; - return ($$8|0); - } - $13 = ((($6)) + 6|0); - $14 = (($13) + ($1)|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $$8 = $16; - return ($$8|0); - break; - } - case 6: { - $17 = ((($6)) + 6|0); - $18 = (_ttUSHORT($17)|0); - $19 = $18&65535; - $20 = ($19>>>0)>($1>>>0); - if ($20) { - $$8 = 0; - return ($$8|0); - } - $21 = ((($6)) + 8|0); - $22 = (_ttUSHORT($21)|0); - $23 = $22&65535; - $24 = (($23) + ($19))|0; - $25 = ($24>>>0)>($1>>>0); - if (!($25)) { - $$8 = 0; - return ($$8|0); - } - $26 = ((($6)) + 10|0); - $27 = (($1) - ($19))|0; - $28 = $27 << 1; - $29 = (($26) + ($28)|0); - $30 = (_ttUSHORT($29)|0); - $31 = $30&65535; - $$8 = $31; - return ($$8|0); - break; - } - case 2: { - ___assert_fail((13370|0),(12910|0),1346,(13712|0)); - // unreachable; - break; - } - case 4: { - $32 = ((($6)) + 6|0); - $33 = (_ttUSHORT($32)|0); - $34 = ($33&65535) >>> 1; - $35 = ($1|0)>(65535); - if ($35) { - $$8 = 0; - return ($$8|0); - } - $36 = (($5) + 14)|0; - $37 = ((($6)) + 12|0); - $38 = (_ttUSHORT($37)|0); - $39 = ((($6)) + 10|0); - $40 = (_ttUSHORT($39)|0); - $41 = $38 & -2; - $42 = (($3) + ($36)|0); - $43 = $41&65535; - $44 = (($42) + ($43)|0); - $45 = (_ttUSHORT($44)|0); - $46 = $45&65535; - $47 = ($46|0)>($1|0); - $48 = $47 ? 0 : $43; - $$ = (($5) + 12)|0; - $49 = (($$) + ($48))|0; - $50 = ($40<<16>>16)==(0); - if ($50) { - $$1172$lcssa = $49; - } else { - $51 = ((($6)) + 8|0); - $52 = (_ttUSHORT($51)|0); - $53 = ($52&65535) >>> 1; - $$0163180 = $53;$$0164179 = $40;$$1172178 = $49; - while(1) { - $54 = ($$0163180&65535) >>> 1; - $55 = (($3) + ($$1172178)|0); - $56 = ($54 << 1)&65535; - $57 = $56&65535; - $58 = (($55) + ($57)|0); - $59 = (_ttUSHORT($58)|0); - $60 = $59&65535; - $61 = ($60|0)<($1|0); - $62 = $61 ? $57 : 0; - $$$1172 = (($62) + ($$1172178))|0; - $63 = (($$0164179) + -1)<<16>>16; - $64 = ($63<<16>>16)==(0); - if ($64) { - $$1172$lcssa = $$$1172; - break; - } else { - $$0163180 = $54;$$0164179 = $63;$$1172178 = $$$1172; - } - } - } - $$neg = (-14 - ($5))|0; - $65 = (($$neg) + 2)|0; - $66 = (($65) + ($$1172$lcssa))|0; - $67 = $66 & 131070; - $68 = (($42) + ($67)|0); - $69 = (_ttUSHORT($68)|0); - $70 = $69&65535; - $71 = ($70|0)<($1|0); - if ($71) { - ___assert_fail((13733|0),(12910|0),1382,(13712|0)); - // unreachable; - } - $72 = ((($6)) + 14|0); - $73 = $34&65535; - $74 = ($34 << 1)&65535; - $75 = $74&65535; - $76 = (($72) + ($75)|0); - $77 = ((($76)) + 2|0); - $78 = (($77) + ($67)|0); - $79 = (_ttUSHORT($78)|0); - $80 = $79&65535; - $81 = ($80|0)>($1|0); - do { - if ($81) { - $$2$shrunk = 0; - } else { - $82 = ($73*6)|0; - $83 = (($72) + ($82)|0); - $84 = ((($83)) + 2|0); - $85 = (($84) + ($67)|0); - $86 = (_ttUSHORT($85)|0); - $87 = ($86<<16>>16)==(0); - if ($87) { - $88 = $73 << 2; - $89 = (($72) + ($88)|0); - $90 = ((($89)) + 2|0); - $91 = (($90) + ($67)|0); - $92 = (_ttSHORT($91)|0); - $93 = $92&65535; - $94 = (($93) + ($1))|0; - $95 = $94&65535; - $$2$shrunk = $95; - break; - } else { - $96 = $86&65535; - $97 = (($3) + ($96)|0); - $98 = (($1) - ($80))|0; - $99 = $98 << 1; - $100 = (($97) + ($99)|0); - $101 = (($100) + ($5)|0); - $102 = ((($101)) + 14|0); - $103 = (($102) + ($82)|0); - $104 = ((($103)) + 2|0); - $105 = (($104) + ($67)|0); - $106 = (_ttUSHORT($105)|0); - $$2$shrunk = $106; - break; - } - } - } while(0); - $$2 = $$2$shrunk&65535; - $$8 = $$2; - return ($$8|0); - break; - } - default: { - $107 = ($7<<16>>16)==(12); - $108 = $7 & -2; - $switch = ($108<<16>>16)==(12); - if (!($switch)) { - ___assert_fail((13370|0),(12910|0),1417,(13712|0)); - // unreachable; - } - $109 = ((($6)) + 12|0); - $110 = (_ttULONG($109)|0); - $111 = ((($6)) + 16|0); - $$0165$ph = $110;$$0168$ph = 0; - L6: while(1) { - $$0165 = $$0165$ph; - while(1) { - $112 = ($$0165|0)>($$0168$ph|0); - if (!($112)) { - $$8 = 0; - label = 27; - break L6; - } - $113 = (($$0165) - ($$0168$ph))|0; - $114 = $113 >> 1; - $115 = (($114) + ($$0168$ph))|0; - $116 = ($115*12)|0; - $117 = (($111) + ($116)|0); - $118 = (_ttULONG($117)|0); - $119 = ($118>>>0)>($1>>>0); - if ($119) { - $$0165 = $115; - } else { - break; - } - } - $120 = ((($117)) + 4|0); - $121 = (_ttULONG($120)|0); - $122 = ($121>>>0)<($1>>>0); - $123 = (($115) + 1)|0; - if ($122) { - $$0165$ph = $$0165;$$0168$ph = $123; - } else { - break; - } - } - if ((label|0) == 27) { - return ($$8|0); - } - $124 = ((($117)) + 8|0); - $125 = (_ttULONG($124)|0); - $126 = (($1) - ($118))|0; - $127 = $107 ? $126 : 0; - $$5 = (($125) + ($127))|0; - $$8 = $$5; - return ($$8|0); - } - } - return (0)|0; -} -function _stbtt_GetGlyphHMetrics($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $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, $29 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ((($0)) + 4|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 28|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($5) + ($7)|0); - $9 = ((($8)) + 34|0); - $10 = (_ttUSHORT($9)|0); - $11 = $10&65535; - $12 = ($11|0)>($1|0); - $13 = ($2|0)!=(0|0); - if ($12) { - if ($13) { - $14 = ((($0)) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($5) + ($15)|0); - $17 = $1 << 2; - $18 = (($16) + ($17)|0); - $19 = (_ttSHORT($18)|0); - $20 = $19 << 16 >> 16; - HEAP32[$2>>2] = $20; - } - $21 = ($3|0)==(0|0); - if ($21) { - return; - } - $22 = HEAP32[$4>>2]|0; - $23 = ((($0)) + 32|0); - $24 = HEAP32[$23>>2]|0; - $25 = (($22) + ($24)|0); - $26 = $1 << 2; - $27 = (($25) + ($26)|0); - $28 = ((($27)) + 2|0); - $29 = (_ttSHORT($28)|0); - $30 = $29 << 16 >> 16; - HEAP32[$3>>2] = $30; - return; - } else { - if ($13) { - $31 = ((($0)) + 32|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($5) + ($32)|0); - $34 = $11 << 2; - $35 = (($34) + -4)|0; - $36 = (($33) + ($35)|0); - $37 = (_ttSHORT($36)|0); - $38 = $37 << 16 >> 16; - HEAP32[$2>>2] = $38; - } - $39 = ($3|0)==(0|0); - if ($39) { - return; - } - $40 = HEAP32[$4>>2]|0; - $41 = ((($0)) + 32|0); - $42 = HEAP32[$41>>2]|0; - $43 = (($40) + ($42)|0); - $44 = $11 << 2; - $45 = (($43) + ($44)|0); - $46 = (($1) - ($11))|0; - $47 = $46 << 1; - $48 = (($45) + ($47)|0); - $49 = (_ttSHORT($48)|0); - $50 = $49 << 16 >> 16; - HEAP32[$3>>2] = $50; - return; - } -} -function _stbtt_GetGlyphBitmapBox($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7); - return; -} -function _stbtt_MakeGlyphBitmap($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = +$5; - $6 = +$6; - $7 = $7|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7); - return; -} -function _stbtt_MakeGlyphBitmapSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = +$5; - $6 = +$6; - $7 = $7|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $8 = sp + 24|0; - $9 = sp + 20|0; - $10 = sp + 16|0; - $11 = sp; - $12 = (_stbtt_GetGlyphShape($0,$7,$10)|0); - _stbtt_GetGlyphBitmapBoxSubpixel($0,$7,$5,$6,$8,$9,0,0); - $13 = ((($11)) + 12|0); - HEAP32[$13>>2] = $1; - HEAP32[$11>>2] = $2; - $14 = ((($11)) + 4|0); - HEAP32[$14>>2] = $3; - $15 = ((($11)) + 8|0); - HEAP32[$15>>2] = $4; - $16 = ($2|0)==(0); - $17 = ($3|0)==(0); - $or$cond = $16 | $17; - if ($or$cond) { - $21 = HEAP32[$10>>2]|0; - _free($21); - STACKTOP = sp;return; - } - $18 = HEAP32[$10>>2]|0; - $19 = HEAP32[$8>>2]|0; - $20 = HEAP32[$9>>2]|0; - _stbtt_Rasterize($11,$18,$12,$5,$6,$19,$20); - $21 = HEAP32[$10>>2]|0; - _free($21); - STACKTOP = sp;return; -} -function _stbtt_GetGlyphShape($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 56|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)==(0); - if ($5) { - $6 = (_stbtt__GetGlyphShapeTT($0,$1,$2)|0); - $$0 = $6; - return ($$0|0); - } else { - $7 = (_stbtt__GetGlyphShapeT2($0,$1,$2)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbtt_GetGlyphBitmapBoxSubpixel($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0; - var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $ceilf1 = 0.0, $floorf = 0.0, $floorf2 = 0.0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $8 = sp + 12|0; - $9 = sp + 8|0; - $10 = sp + 4|0; - $11 = sp; - HEAP32[$8>>2] = 0; - HEAP32[$9>>2] = 0; - $12 = (_stbtt_GetGlyphBox($0,$1,$8,$9,$10,$11)|0); - $13 = ($12|0)==(0); - $14 = ($4|0)!=(0|0); - if ($13) { - if ($14) { - HEAP32[$4>>2] = 0; - } - $15 = ($5|0)==(0|0); - if (!($15)) { - HEAP32[$5>>2] = 0; - } - $16 = ($6|0)==(0|0); - if (!($16)) { - HEAP32[$6>>2] = 0; - } - $17 = ($7|0)==(0|0); - if ($17) { - STACKTOP = sp;return; - } - HEAP32[$7>>2] = 0; - STACKTOP = sp;return; - } else { - if ($14) { - $18 = HEAP32[$8>>2]|0; - $19 = (+($18|0)); - $20 = $19 * $2; - $21 = $20 + 0.0; - $floorf2 = (+Math_floor((+$21))); - $22 = (~~(($floorf2))); - HEAP32[$4>>2] = $22; - } - $23 = ($5|0)==(0|0); - if (!($23)) { - $24 = HEAP32[$11>>2]|0; - $25 = (0 - ($24))|0; - $26 = (+($25|0)); - $27 = $26 * $3; - $28 = $27 + 0.0; - $floorf = (+Math_floor((+$28))); - $29 = (~~(($floorf))); - HEAP32[$5>>2] = $29; - } - $30 = ($6|0)==(0|0); - if (!($30)) { - $31 = HEAP32[$10>>2]|0; - $32 = (+($31|0)); - $33 = $32 * $2; - $34 = $33 + 0.0; - $ceilf1 = (+Math_ceil((+$34))); - $35 = (~~(($ceilf1))); - HEAP32[$6>>2] = $35; - } - $36 = ($7|0)==(0|0); - if ($36) { - STACKTOP = sp;return; - } - $37 = HEAP32[$9>>2]|0; - $38 = (0 - ($37))|0; - $39 = (+($38|0)); - $40 = $39 * $3; - $41 = $40 + 0.0; - $ceilf = (+Math_ceil((+$41))); - $42 = (~~(($ceilf))); - HEAP32[$7>>2] = $42; - STACKTOP = sp;return; - } -} -function _stbtt_Rasterize($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = +$4; - $5 = $5|0; - $6 = $6|0; - var $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 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); - $7 = sp + 4|0; - $8 = sp; - $9 = $3 > $4; - $10 = $9 ? $4 : $3; - $11 = 0.34999999403953552 / $10; - $12 = (_stbtt_FlattenCurves($1,$2,$11,$8,$7)|0); - $13 = ($12|0)==(0|0); - if ($13) { - STACKTOP = sp;return; - } - $14 = HEAP32[$8>>2]|0; - $15 = HEAP32[$7>>2]|0; - _stbtt__rasterize($0,$12,$14,$15,$3,$4,$5,$6); - _free($14); - _free($12); - STACKTOP = sp;return; -} -function _stbtt_FlattenCurves($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = $3|0; - $4 = $4|0; - var $$$0113 = 0, $$010 = 0.0, $$01079 = 0.0, $$011014 = 0, $$011113 = 0, $$011316 = 0, $$011715 = 0, $$0119 = 0, $$012012 = 0, $$1 = 0.0, $$1108 = 0.0, $$1112$lcssa = 0, $$11128 = 0, $$11185 = 0, $$1121 = 0, $$2 = 0, $$2115$lcssa = 0, $$21157 = 0, $$3116 = 0, $10 = 0; - var $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, $29 = 0, $30 = 0; - var $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0, $40 = 0.0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0; - var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0.0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0; - var $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0; - var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $5 = sp; - HEAP32[$5>>2] = 0; - $6 = $2 * $2; - $7 = ($1|0)>(0); - if ($7) { - $$011316 = 0;$$011715 = 0; - } else { - HEAP32[$4>>2] = 0; - $$0119 = 0; - STACKTOP = sp;return ($$0119|0); - } - while(1) { - $8 = (((($0) + (($$011715*14)|0)|0)) + 12|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(1); - $11 = $10&1; - $$$0113 = (($11) + ($$011316))|0; - $12 = (($$011715) + 1)|0; - $exitcond21 = ($12|0)==($1|0); - if ($exitcond21) { - break; - } else { - $$011316 = $$$0113;$$011715 = $12; - } - } - HEAP32[$4>>2] = $$$0113; - $13 = ($$$0113|0)==(0); - if ($13) { - $$0119 = 0; - STACKTOP = sp;return ($$0119|0); - } - $14 = $$$0113 << 2; - $15 = (_malloc($14)|0); - HEAP32[$3>>2] = $15; - $16 = ($15|0)==(0|0); - if ($16) { - HEAP32[$4>>2] = 0; - $$0119 = 0; - STACKTOP = sp;return ($$0119|0); - } - $17 = ($1|0)>(0); - $$011014 = 0;$$011113 = 0;$$012012 = 0; - while(1) { - $18 = ($$011014|0)==(1); - if ($18) { - $19 = HEAP32[$5>>2]|0; - $20 = $19 << 3; - $21 = (_malloc($20)|0); - $22 = ($21|0)==(0|0); - if ($22) { - break; - } else { - $$1121 = $21; - } - } else { - $$1121 = $$012012; - } - HEAP32[$5>>2] = 0; - L19: do { - if ($17) { - $$010 = 0.0;$$01079 = 0.0;$$11128 = $$011113;$$11185 = 0;$$21157 = -1; - while(1) { - $23 = (($0) + (($$11185*14)|0)|0); - $24 = (((($0) + (($$11185*14)|0)|0)) + 12|0); - $25 = HEAP8[$24>>0]|0; - switch ($25<<24>>24) { - case 1: { - $26 = ($$21157|0)>(-1); - if ($26) { - $27 = HEAP32[$5>>2]|0; - $28 = (($27) - ($$11128))|0; - $29 = HEAP32[$3>>2]|0; - $30 = (($29) + ($$21157<<2)|0); - HEAP32[$30>>2] = $28; - } - $31 = (($$21157) + 1)|0; - $32 = HEAP32[$5>>2]|0; - $33 = HEAP16[$23>>1]|0; - $34 = (+($33<<16>>16)); - $35 = (((($0) + (($$11185*14)|0)|0)) + 2|0); - $36 = HEAP16[$35>>1]|0; - $37 = (+($36<<16>>16)); - $38 = (($32) + 1)|0; - HEAP32[$5>>2] = $38; - _stbtt__add_point($$1121,$32,$34,$37); - $$1 = $37;$$1108 = $34;$$2 = $32;$$3116 = $31; - break; - } - case 2: { - $39 = HEAP16[$23>>1]|0; - $40 = (+($39<<16>>16)); - $41 = (((($0) + (($$11185*14)|0)|0)) + 2|0); - $42 = HEAP16[$41>>1]|0; - $43 = (+($42<<16>>16)); - $44 = HEAP32[$5>>2]|0; - $45 = (($44) + 1)|0; - HEAP32[$5>>2] = $45; - _stbtt__add_point($$1121,$44,$40,$43); - $$1 = $43;$$1108 = $40;$$2 = $$11128;$$3116 = $$21157; - break; - } - case 3: { - $46 = (((($0) + (($$11185*14)|0)|0)) + 4|0); - $47 = HEAP16[$46>>1]|0; - $48 = (+($47<<16>>16)); - $49 = (((($0) + (($$11185*14)|0)|0)) + 6|0); - $50 = HEAP16[$49>>1]|0; - $51 = (+($50<<16>>16)); - $52 = HEAP16[$23>>1]|0; - $53 = (+($52<<16>>16)); - $54 = (((($0) + (($$11185*14)|0)|0)) + 2|0); - $55 = HEAP16[$54>>1]|0; - $56 = (+($55<<16>>16)); - _stbtt__tesselate_curve($$1121,$5,$$01079,$$010,$48,$51,$53,$56,$6,0); - $57 = HEAP16[$23>>1]|0; - $58 = (+($57<<16>>16)); - $59 = HEAP16[$54>>1]|0; - $60 = (+($59<<16>>16)); - $$1 = $60;$$1108 = $58;$$2 = $$11128;$$3116 = $$21157; - break; - } - case 4: { - $61 = (((($0) + (($$11185*14)|0)|0)) + 4|0); - $62 = HEAP16[$61>>1]|0; - $63 = (+($62<<16>>16)); - $64 = (((($0) + (($$11185*14)|0)|0)) + 6|0); - $65 = HEAP16[$64>>1]|0; - $66 = (+($65<<16>>16)); - $67 = (((($0) + (($$11185*14)|0)|0)) + 8|0); - $68 = HEAP16[$67>>1]|0; - $69 = (+($68<<16>>16)); - $70 = (((($0) + (($$11185*14)|0)|0)) + 10|0); - $71 = HEAP16[$70>>1]|0; - $72 = (+($71<<16>>16)); - $73 = HEAP16[$23>>1]|0; - $74 = (+($73<<16>>16)); - $75 = (((($0) + (($$11185*14)|0)|0)) + 2|0); - $76 = HEAP16[$75>>1]|0; - $77 = (+($76<<16>>16)); - _stbtt__tesselate_cubic($$1121,$5,$$01079,$$010,$63,$66,$69,$72,$74,$77,$6,0); - $78 = HEAP16[$23>>1]|0; - $79 = (+($78<<16>>16)); - $80 = HEAP16[$75>>1]|0; - $81 = (+($80<<16>>16)); - $$1 = $81;$$1108 = $79;$$2 = $$11128;$$3116 = $$21157; - break; - } - default: { - $$1 = $$010;$$1108 = $$01079;$$2 = $$11128;$$3116 = $$21157; - } - } - $82 = (($$11185) + 1)|0; - $exitcond = ($82|0)==($1|0); - if ($exitcond) { - $$1112$lcssa = $$2;$$2115$lcssa = $$3116; - break L19; - } else { - $$010 = $$1;$$01079 = $$1108;$$11128 = $$2;$$11185 = $82;$$21157 = $$3116; - } - } - } else { - $$1112$lcssa = $$011113;$$2115$lcssa = -1; - } - } while(0); - $83 = HEAP32[$5>>2]|0; - $84 = (($83) - ($$1112$lcssa))|0; - $85 = HEAP32[$3>>2]|0; - $86 = (($85) + ($$2115$lcssa<<2)|0); - HEAP32[$86>>2] = $84; - $87 = (($$011014) + 1)|0; - $88 = ($87|0)<(2); - if ($88) { - $$011014 = $87;$$011113 = $$1112$lcssa;$$012012 = $$1121; - } else { - $$0119 = $$1121; - label = 21; - break; - } - } - if ((label|0) == 21) { - STACKTOP = sp;return ($$0119|0); - } - $89 = HEAP32[$3>>2]|0; - _free($89); - HEAP32[$3>>2] = 0; - HEAP32[$4>>2] = 0; - $$0119 = 0; - STACKTOP = sp;return ($$0119|0); -} -function _stbtt__rasterize($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - $5 = +$5; - $6 = $6|0; - $7 = $7|0; - var $$0 = 0, $$0101 = 0, $$0102$lcssa = 0, $$010211 = 0, $$010410 = 0, $$01064 = 0, $$01072 = 0, $$01081 = 0, $$01081$phi = 0, $$1$lcssa = 0, $$11055 = 0, $$16 = 0, $$2$lcssa = 0, $$23 = 0, $$3 = 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.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0; - var $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0; - var $55 = 0, $56 = 0, $8 = 0.0, $9 = 0, $exitcond = 0, $exitcond16 = 0, $phitmp = 0, $phitmp17 = 0, $storemerge = 0, label = 0, sp = 0; - sp = STACKTOP; - $8 = -$5; - $9 = ($3|0)>(0); - if ($9) { - $$010211 = 0;$$010410 = 0; - while(1) { - $10 = (($2) + ($$010410<<2)|0); - $11 = HEAP32[$10>>2]|0; - $12 = (($11) + ($$010211))|0; - $13 = (($$010410) + 1)|0; - $exitcond16 = ($13|0)==($3|0); - if ($exitcond16) { - break; - } else { - $$010211 = $12;$$010410 = $13; - } - } - $phitmp = ($12*20)|0; - $phitmp17 = (($phitmp) + 20)|0; - $$0102$lcssa = $phitmp17; - } else { - $$0102$lcssa = 20; - } - $14 = (_malloc($$0102$lcssa)|0); - $15 = ($14|0)==(0|0); - if ($15) { - return; - } - $16 = ($3|0)>(0); - if ($16) { - $$01064 = 0;$$11055 = 0;$$16 = 0; - while(1) { - $17 = (($1) + ($$01064<<3)|0); - $18 = (($2) + ($$11055<<2)|0); - $19 = HEAP32[$18>>2]|0; - $20 = (($19) + ($$01064))|0; - $21 = ($19|0)>(0); - if ($21) { - $22 = (($19) + -1)|0; - $23 = HEAP32[$18>>2]|0; - $$01072 = 0;$$01081 = $22;$$23 = $$16; - while(1) { - $24 = (($17) + ($$01081<<3)|0); - $25 = ((($24)) + 4|0); - $26 = +HEAPF32[$25>>2]; - $27 = (($17) + ($$01072<<3)|0); - $28 = ((($27)) + 4|0); - $29 = +HEAPF32[$28>>2]; - $30 = $26 == $29; - if ($30) { - $$3 = $$23; - } else { - $31 = (((($14) + (($$23*20)|0)|0)) + 16|0); - $32 = $26 > $29; - $storemerge = $32&1; - $$0101 = $32 ? $$01081 : $$01072; - $$0 = $32 ? $$01072 : $$01081; - HEAP32[$31>>2] = $storemerge; - $33 = (($17) + ($$0101<<3)|0); - $34 = +HEAPF32[$33>>2]; - $35 = $34 * $4; - $36 = $35 + 0.0; - $37 = (($14) + (($$23*20)|0)|0); - HEAPF32[$37>>2] = $36; - $38 = ((($33)) + 4|0); - $39 = +HEAPF32[$38>>2]; - $40 = $39 * $8; - $41 = $40 + 0.0; - $42 = (((($14) + (($$23*20)|0)|0)) + 4|0); - HEAPF32[$42>>2] = $41; - $43 = (($17) + ($$0<<3)|0); - $44 = +HEAPF32[$43>>2]; - $45 = $44 * $4; - $46 = $45 + 0.0; - $47 = (((($14) + (($$23*20)|0)|0)) + 8|0); - HEAPF32[$47>>2] = $46; - $48 = ((($43)) + 4|0); - $49 = +HEAPF32[$48>>2]; - $50 = $49 * $8; - $51 = $50 + 0.0; - $52 = (((($14) + (($$23*20)|0)|0)) + 12|0); - HEAPF32[$52>>2] = $51; - $53 = (($$23) + 1)|0; - $$3 = $53; - } - $54 = (($$01072) + 1)|0; - $55 = ($54|0)<($23|0); - if ($55) { - $$01081$phi = $$01072;$$01072 = $54;$$23 = $$3;$$01081 = $$01081$phi; - } else { - $$2$lcssa = $$3; - break; - } - } - } else { - $$2$lcssa = $$16; - } - $56 = (($$11055) + 1)|0; - $exitcond = ($56|0)==($3|0); - if ($exitcond) { - $$1$lcssa = $$2$lcssa; - break; - } else { - $$01064 = $20;$$11055 = $56;$$16 = $$2$lcssa; - } - } - } else { - $$1$lcssa = 0; - } - _stbtt__sort_edges($14,$$1$lcssa); - _stbtt__rasterize_sorted_edges($0,$14,$$1$lcssa,$6,$7); - _free($14); - return; -} -function _stbtt__sort_edges($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - _stbtt__sort_edges_quicksort($0,$1); - _stbtt__sort_edges_ins_sort($0,$1); - return; -} -function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$010025 = 0, $$010123 = 0, $$010219 = 0.0, $$010318 = 0, $$0104 = 0, $$0105$ph15 = 0, $$026 = 0, $$1$lcssa = 0, $$116 = 0, $$sroa$0 = 0, $$sroa$0$0$$sroa$0$0$$0$1 = 0, $$sroa$0$0$$sroa$0$0$$0$1079 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0.0, $38 = 0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0; - var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0.0; - var $74 = 0.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.0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $fabsf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 544|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(544|0); - $5 = sp + 520|0; - $$sroa$0 = sp + 516|0; - $6 = sp; - ;HEAP32[$5>>2]=0|0;HEAP32[$5+4>>2]=0|0;HEAP32[$5+8>>2]=0|0; - HEAP32[$$sroa$0>>2] = 0; - $7 = HEAP32[$0>>2]|0; - $8 = ($7|0)>(64); - if ($8) { - $9 = $7 << 3; - $10 = $9 | 4; - $11 = (_malloc($10)|0); - $$0104 = $11; - } else { - $$0104 = $6; - } - $12 = HEAP32[$0>>2]|0; - $13 = (($$0104) + ($12<<2)|0); - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = (($15) + ($4))|0; - $17 = (+($16|0)); - $18 = $17 + 1.0; - $19 = (((($1) + (($2*20)|0)|0)) + 4|0); - HEAPF32[$19>>2] = $18; - $20 = HEAP32[$14>>2]|0; - $21 = ($20|0)>(0); - L5: do { - if ($21) { - $22 = ((($13)) + 4|0); - $23 = ((($0)) + 12|0); - $24 = ((($0)) + 8|0); - $$010025 = $4;$$010123 = 0;$$026 = $1; - L7: while(1) { - $25 = (+($$010025|0)); - $26 = $25 + 1.0; - $27 = HEAP32[$0>>2]|0; - $28 = $27 << 2; - _memset(($$0104|0),0,($28|0))|0; - $29 = (($28) + 4)|0; - _memset(($13|0),0,($29|0))|0; - $30 = HEAP32[$$sroa$0>>2]|0; - $31 = ($30|0)==(0|0); - L9: do { - if (!($31)) { - $$0105$ph15 = $$sroa$0;$99 = $30; - while(1) { - $36 = $99; - while(1) { - $35 = ((($36)) + 24|0); - $37 = +HEAPF32[$35>>2]; - $38 = !($37 <= $25); - if ($38) { - break; - } - $39 = HEAP32[$36>>2]|0; - HEAP32[$$0105$ph15>>2] = $39; - $40 = ((($36)) + 16|0); - $41 = +HEAPF32[$40>>2]; - $42 = $41 != 0.0; - if (!($42)) { - label = 11; - break L7; - } - HEAPF32[$40>>2] = 0.0; - _stbtt__hheap_free($5,$36); - $43 = HEAP32[$$0105$ph15>>2]|0; - $44 = ($43|0)==(0|0); - if ($44) { - break L9; - } else { - $36 = $43; - } - } - $45 = HEAP32[$36>>2]|0; - $46 = ($45|0)==(0|0); - if ($46) { - break; - } else { - $$0105$ph15 = $36;$99 = $45; - } - } - } - } while(0); - $32 = ((($$026)) + 4|0); - $33 = +HEAPF32[$32>>2]; - $34 = !($33 <= $26); - if ($34) { - $$1$lcssa = $$026; - } else { - $$116 = $$026;$50 = $33; - while(1) { - $47 = ((($$116)) + 12|0); - $48 = +HEAPF32[$47>>2]; - $49 = $50 != $48; - if ($49) { - $51 = (_stbtt__new_active($5,$$116,$3,$25)|0); - $52 = ($51|0)==(0|0); - if (!($52)) { - $53 = ((($51)) + 24|0); - $54 = +HEAPF32[$53>>2]; - $55 = !($54 >= $25); - if ($55) { - label = 17; - break L7; - } - $$sroa$0$0$$sroa$0$0$$0$1 = HEAP32[$$sroa$0>>2]|0; - HEAP32[$51>>2] = $$sroa$0$0$$sroa$0$0$$0$1; - $56 = $51; - HEAP32[$$sroa$0>>2] = $56; - } - } - $57 = ((($$116)) + 20|0); - $58 = ((($$116)) + 24|0); - $59 = +HEAPF32[$58>>2]; - $60 = !($59 <= $26); - if ($60) { - $$1$lcssa = $57; - break; - } else { - $$116 = $57;$50 = $59; - } - } - } - $$sroa$0$0$$sroa$0$0$$0$1079 = HEAP32[$$sroa$0>>2]|0; - $61 = ($$sroa$0$0$$sroa$0$0$$0$1079|0)==(0|0); - if (!($61)) { - $62 = HEAP32[$0>>2]|0; - _stbtt__fill_active_edges_new($$0104,$22,$62,$$sroa$0$0$$sroa$0$0$$0$1079,$25); - } - $63 = HEAP32[$0>>2]|0; - $64 = ($63|0)>(0); - if ($64) { - $$010219 = 0.0;$$010318 = 0; - while(1) { - $67 = (($13) + ($$010318<<2)|0); - $68 = +HEAPF32[$67>>2]; - $69 = $$010219 + $68; - $70 = (($$0104) + ($$010318<<2)|0); - $71 = +HEAPF32[$70>>2]; - $72 = $71 + $69; - $fabsf = (+Math_abs((+$72))); - $73 = $fabsf * 255.0; - $74 = $73 + 0.5; - $75 = (~~(($74))); - $76 = ($75|0)<(255); - $$ = $76 ? $75 : 255; - $77 = $$&255; - $78 = HEAP32[$23>>2]|0; - $79 = HEAP32[$24>>2]|0; - $80 = Math_imul($79, $$010123)|0; - $81 = (($80) + ($$010318))|0; - $82 = (($78) + ($81)|0); - HEAP8[$82>>0] = $77; - $83 = (($$010318) + 1)|0; - $84 = HEAP32[$0>>2]|0; - $85 = ($83|0)<($84|0); - if ($85) { - $$010219 = $69;$$010318 = $83; - } else { - break; - } - } - } - $65 = HEAP32[$$sroa$0>>2]|0; - $66 = ($65|0)==(0|0); - if (!($66)) { - $87 = $65; - while(1) { - $86 = ((($87)) + 8|0); - $88 = +HEAPF32[$86>>2]; - $89 = ((($87)) + 4|0); - $90 = +HEAPF32[$89>>2]; - $91 = $88 + $90; - HEAPF32[$89>>2] = $91; - $92 = HEAP32[$87>>2]|0; - $93 = ($92|0)==(0|0); - if ($93) { - break; - } else { - $87 = $92; - } - } - } - $94 = (($$010025) + 1)|0; - $95 = (($$010123) + 1)|0; - $96 = HEAP32[$14>>2]|0; - $97 = ($95|0)<($96|0); - if ($97) { - $$010025 = $94;$$010123 = $95;$$026 = $$1$lcssa; - } else { - break L5; - } - } - if ((label|0) == 11) { - ___assert_fail((12966|0),(12910|0),2774,(12979|0)); - // unreachable; - } - else if ((label|0) == 17) { - ___assert_fail((13009|0),(12910|0),2787,(12979|0)); - // unreachable; - } - } - } while(0); - _stbtt__hheap_cleanup($5); - $98 = ($$0104|0)==($6|0); - if ($98) { - STACKTOP = sp;return; - } - _free($$0104); - STACKTOP = sp;return; -} -function _stbtt__hheap_free($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $3; - HEAP32[$2>>2] = $1; - return; -} -function _stbtt__new_active($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - var $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0; - var $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = (_stbtt__hheap_alloc($0)|0); - $5 = ((($1)) + 8|0); - $6 = +HEAPF32[$5>>2]; - $7 = +HEAPF32[$1>>2]; - $8 = $6 - $7; - $9 = ((($1)) + 12|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($1)) + 4|0); - $12 = +HEAPF32[$11>>2]; - $13 = $10 - $12; - $14 = $8 / $13; - $15 = ($4|0)==(0|0); - if ($15) { - ___assert_fail((13299|0),(12910|0),2373,(13315|0)); - // unreachable; - } else { - $16 = ((($4)) + 8|0); - HEAPF32[$16>>2] = $14; - $17 = $14 != 0.0; - $18 = 1.0 / $14; - $19 = $17 ? $18 : 0.0; - $20 = ((($4)) + 12|0); - HEAPF32[$20>>2] = $19; - $21 = +HEAPF32[$1>>2]; - $22 = +HEAPF32[$11>>2]; - $23 = $3 - $22; - $24 = $14 * $23; - $25 = $21 + $24; - $26 = ((($4)) + 4|0); - $27 = (+($2|0)); - $28 = $25 - $27; - HEAPF32[$26>>2] = $28; - $29 = ((($1)) + 16|0); - $30 = HEAP32[$29>>2]|0; - $31 = ($30|0)!=(0); - $32 = $31 ? 1.0 : -1.0; - $33 = ((($4)) + 16|0); - HEAPF32[$33>>2] = $32; - $34 = ((($4)) + 20|0); - HEAPF32[$34>>2] = $22; - $35 = HEAP32[$9>>2]|0; - $36 = ((($4)) + 24|0); - HEAP32[$36>>2] = $35; - HEAP32[$4>>2] = 0; - return ($4|0); - } - return (0)|0; -} -function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = +$4; - var $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0.0, $$0354 = 0.0, $$0356370 = 0, $$0357 = 0.0, $$0359$lcssa = 0.0, $$0359372 = 0.0, $$0360 = 0.0, $$0361371 = 0, $$0374 = 0, $$1 = 0.0, $$1353 = 0.0, $$1355 = 0.0, $$1358 = 0.0, $10 = 0.0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0; - var $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0; - var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0; - var $140 = 0, $141 = 0, $142 = 0, $15 = 0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0.0; - var $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0.0, $50 = 0.0; - var $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0, $68 = 0.0, $69 = 0.0; - var $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0; - var $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0.0, $99 = 0.0, $exitcond = 0, $exitcond380 = 0, $fabsf = 0.0, $or$cond = 0, $or$cond362 = 0, $or$cond363 = 0, $or$cond364 = 0; - var $or$cond365 = 0, $or$cond366 = 0, $or$cond367 = 0, $or$cond368 = 0, $or$cond369 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = $4 + 1.0; - $6 = ($3|0)==(0|0); - if ($6) { - return; - } - $7 = (+($2|0)); - $8 = ((($1)) + -4|0); - $9 = ((($1)) + -4|0); - $10 = (+($2|0)); - $11 = ($2|0)>(0); - $$0374 = $3; - L4: while(1) { - $12 = ((($$0374)) + 24|0); - $13 = +HEAPF32[$12>>2]; - $14 = !($13 >= $4); - if ($14) { - label = 4; - break; - } - $15 = ((($$0374)) + 8|0); - $16 = +HEAPF32[$15>>2]; - $17 = $16 == 0.0; - $18 = ((($$0374)) + 4|0); - $19 = +HEAPF32[$18>>2]; - do { - if ($17) { - $20 = $19 < $7; - if ($20) { - $21 = !($19 >= 0.0); - if ($21) { - _stbtt__handle_clipped_edge($8,0,$$0374,$19,$4,$19,$5); - break; - } else { - $22 = (~~(($19))); - _stbtt__handle_clipped_edge($0,$22,$$0374,$19,$4,$19,$5); - $23 = (($22) + 1)|0; - _stbtt__handle_clipped_edge($9,$23,$$0374,$19,$4,$19,$5); - break; - } - } - } else { - $24 = $16 + $19; - $25 = ((($$0374)) + 12|0); - $26 = +HEAPF32[$25>>2]; - $27 = ((($$0374)) + 20|0); - $28 = +HEAPF32[$27>>2]; - $29 = !($28 <= $5); - if ($29) { - label = 11; - break L4; - } - $30 = $28 > $4; - $31 = $28 - $4; - $32 = $16 * $31; - $33 = $19 + $32; - $$0354 = $30 ? $28 : $4; - $$0351 = $30 ? $33 : $19; - $34 = +HEAPF32[$12>>2]; - $35 = $34 < $5; - $36 = $34 - $4; - $37 = $16 * $36; - $38 = $19 + $37; - $$0357 = $35 ? $34 : $5; - $$0352 = $35 ? $38 : $24; - $39 = $$0351 >= 0.0; - $40 = $$0352 >= 0.0; - $or$cond = $39 & $40; - if ($or$cond) { - $41 = $$0351 < $10; - $42 = $$0352 < $10; - $or$cond362 = $41 & $42; - if ($or$cond362) { - $43 = (~~(($$0351))); - $44 = (~~(($$0352))); - $45 = ($43|0)==($44|0); - if ($45) { - $46 = $$0357 - $$0354; - $47 = ($43|0)>(-1); - $48 = ($43|0)<($2|0); - $or$cond363 = $47 & $48; - if (!($or$cond363)) { - label = 17; - break L4; - } - $49 = ((($$0374)) + 16|0); - $50 = +HEAPF32[$49>>2]; - $51 = (+($43|0)); - $52 = $$0351 - $51; - $53 = $$0352 - $51; - $54 = $52 + $53; - $55 = $54 * 0.5; - $56 = 1.0 - $55; - $57 = $56 * $50; - $58 = $46 * $57; - $59 = (($0) + ($43<<2)|0); - $60 = +HEAPF32[$59>>2]; - $61 = $60 + $58; - HEAPF32[$59>>2] = $61; - $62 = +HEAPF32[$49>>2]; - $63 = $46 * $62; - $64 = (($1) + ($43<<2)|0); - $65 = +HEAPF32[$64>>2]; - $66 = $65 + $63; - HEAPF32[$64>>2] = $66; - break; - } - $67 = $$0351 > $$0352; - if ($67) { - $68 = -$26; - $69 = $$0357 - $4; - $70 = $5 - $69; - $71 = $$0354 - $4; - $72 = $5 - $71; - $$0350 = $24;$$0360 = $68;$$1 = $$0352;$$1353 = $$0351;$$1355 = $70;$$1358 = $72; - } else { - $$0350 = $19;$$0360 = $26;$$1 = $$0351;$$1353 = $$0352;$$1355 = $$0354;$$1358 = $$0357; - } - $73 = (~~(($$1))); - $74 = (~~(($$1353))); - $75 = (($73) + 1)|0; - $76 = (+($75|0)); - $77 = $76 - $$0350; - $78 = $$0360 * $77; - $79 = $78 + $4; - $80 = ((($$0374)) + 16|0); - $81 = +HEAPF32[$80>>2]; - $82 = $79 - $$1355; - $83 = $81 * $82; - $84 = (+($73|0)); - $85 = $$1 - $84; - $86 = $85 + 1.0; - $87 = $86 * 0.5; - $88 = 1.0 - $87; - $89 = $88 * $83; - $90 = (($0) + ($73<<2)|0); - $91 = +HEAPF32[$90>>2]; - $92 = $91 + $89; - HEAPF32[$90>>2] = $92; - $93 = $$0360 * $81; - $94 = ($74|0)>($75|0); - if ($94) { - $95 = $93 * 0.5; - $$0359372 = $83;$$0361371 = $75; - while(1) { - $96 = $95 + $$0359372; - $97 = (($0) + ($$0361371<<2)|0); - $98 = +HEAPF32[$97>>2]; - $99 = $96 + $98; - HEAPF32[$97>>2] = $99; - $100 = $93 + $$0359372; - $101 = (($$0361371) + 1)|0; - $exitcond380 = ($101|0)==($74|0); - if ($exitcond380) { - $$0359$lcssa = $100; - break; - } else { - $$0359372 = $100;$$0361371 = $101; - } - } - } else { - $$0359$lcssa = $83; - } - $fabsf = (+Math_abs((+$$0359$lcssa))); - $102 = !($fabsf <= 1.0099999904632568); - if ($102) { - label = 25; - break L4; - } - $103 = (($74) - ($75))|0; - $104 = (+($103|0)); - $105 = $$0360 * $104; - $106 = $105 + $79; - $107 = (+($74|0)); - $108 = $$1353 - $107; - $109 = $108 + 0.0; - $110 = $109 * 0.5; - $111 = 1.0 - $110; - $112 = $81 * $111; - $113 = $$1358 - $106; - $114 = $112 * $113; - $115 = $114 + $$0359$lcssa; - $116 = (($0) + ($74<<2)|0); - $117 = +HEAPF32[$116>>2]; - $118 = $115 + $117; - HEAPF32[$116>>2] = $118; - $119 = $$1358 - $$1355; - $120 = $119 * $81; - $121 = (($1) + ($74<<2)|0); - $122 = +HEAPF32[$121>>2]; - $123 = $120 + $122; - HEAPF32[$121>>2] = $123; - break; - } - } - if ($11) { - $$0356370 = 0; - while(1) { - $124 = (+($$0356370|0)); - $125 = (($$0356370) + 1)|0; - $126 = (+($125|0)); - $127 = $124 - $19; - $128 = $127 / $16; - $129 = $128 + $4; - $130 = $126 - $19; - $131 = $130 / $16; - $132 = $131 + $4; - $133 = $19 < $124; - $134 = $24 > $126; - $or$cond364 = $133 & $134; - do { - if ($or$cond364) { - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$126,$132); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); - } else { - $135 = $24 < $124; - $136 = $19 > $126; - $or$cond365 = $135 & $136; - if ($or$cond365) { - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$124,$129); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); - break; - } - $137 = $24 > $124; - $or$cond366 = $133 & $137; - if ($or$cond366) { - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); - break; - } - $138 = $19 > $124; - $or$cond367 = $135 & $138; - if ($or$cond367) { - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$124,$129); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$124,$129,$24,$5); - break; - } - $139 = $19 < $126; - $or$cond368 = $139 & $134; - if ($or$cond368) { - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); - break; - } - $140 = $24 < $126; - $or$cond369 = $140 & $136; - if ($or$cond369) { - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$126,$132); - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$126,$132,$24,$5); - break; - } else { - _stbtt__handle_clipped_edge($0,$$0356370,$$0374,$19,$4,$24,$5); - break; - } - } - } while(0); - $exitcond = ($125|0)==($2|0); - if ($exitcond) { - break; - } else { - $$0356370 = $125; - } - } - } - } - } while(0); - $141 = HEAP32[$$0374>>2]|0; - $142 = ($141|0)==(0|0); - if ($142) { - label = 42; - break; - } else { - $$0374 = $141; - } - } - if ((label|0) == 4) { - ___assert_fail((13029|0),(12910|0),2585,(13044|0)); - // unreachable; - } - else if ((label|0) == 11) { - ___assert_fail((13073|0),(12910|0),2604,(13044|0)); - // unreachable; - } - else if ((label|0) == 17) { - ___assert_fail((13109|0),(12910|0),2632,(13044|0)); - // unreachable; - } - else if ((label|0) == 25) { - ___assert_fail((13127|0),(12910|0),2669,(13044|0)); - // unreachable; - } - else if ((label|0) == 42) { - return; - } -} -function _stbtt__hheap_cleanup($0) { - $0 = $0|0; - var $$in12 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP32[$0>>2]|0; - $2 = ($1|0)==(0|0); - if ($2) { - return; - } else { - $$in12 = $1; - } - while(1) { - $3 = HEAP32[$$in12>>2]|0; - _free($$in12); - $4 = ($3|0)==(0|0); - if ($4) { - break; - } else { - $$in12 = $3; - } - } - return; -} -function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $$0 = 0.0, $$077 = 0.0, $$078 = 0.0, $$079 = 0.0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0; - var $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0; - var $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0; - var $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond80 = 0, $or$cond81 = 0, $or$cond82 = 0, $or$cond83 = 0, $or$cond84 = 0, $or$cond85 = 0, label = 0, sp = 0; - sp = STACKTOP; - $7 = $4 == $6; - if ($7) { - return; - } - $8 = $4 < $6; - if (!($8)) { - ___assert_fail((13147|0),(12910|0),2543,(13155|0)); - // unreachable; - } - $9 = ((($2)) + 20|0); - $10 = +HEAPF32[$9>>2]; - $11 = ((($2)) + 24|0); - $12 = +HEAPF32[$11>>2]; - $13 = !($10 <= $12); - if ($13) { - ___assert_fail((13182|0),(12910|0),2544,(13155|0)); - // unreachable; - } - $14 = $12 < $4; - $15 = $10 > $6; - $or$cond = $15 | $14; - if ($or$cond) { - return; - } - $16 = $10 > $4; - if ($16) { - $17 = $5 - $3; - $18 = $10 - $4; - $19 = $17 * $18; - $20 = $6 - $4; - $21 = $19 / $20; - $22 = $21 + $3; - $$078 = $10;$$079 = $22; - } else { - $$078 = $4;$$079 = $3; - } - $23 = +HEAPF32[$11>>2]; - $24 = $23 < $6; - if ($24) { - $25 = $5 - $$079; - $26 = $23 - $6; - $27 = $25 * $26; - $28 = $6 - $$078; - $29 = $27 / $28; - $30 = $29 + $5; - $$0 = $23;$$077 = $30; - } else { - $$0 = $6;$$077 = $5; - } - $31 = (+($1|0)); - $32 = $$079 == $31; - $33 = (($1) + 1)|0; - $34 = (+($33|0)); - do { - if ($32) { - $35 = !($$077 <= $34); - if ($35) { - ___assert_fail((13197|0),(12910|0),2557,(13155|0)); - // unreachable; - } - } else { - $36 = $$079 == $34; - if ($36) { - $37 = !($$077 >= $31); - if (!($37)) { - break; - } - ___assert_fail((13207|0),(12910|0),2559,(13155|0)); - // unreachable; - } - $38 = !($$079 <= $31); - if (!($38)) { - $39 = !($$077 <= $31); - if (!($39)) { - break; - } - ___assert_fail((13215|0),(12910|0),2561,(13155|0)); - // unreachable; - } - $40 = !($$079 >= $34); - if ($40) { - $42 = !($$077 >= $31); - $43 = !($$077 <= $34); - $or$cond80 = $42 | $43; - if (!($or$cond80)) { - break; - } - ___assert_fail((13233|0),(12910|0),2565,(13155|0)); - // unreachable; - } else { - $41 = !($$077 >= $34); - if (!($41)) { - break; - } - ___assert_fail((13223|0),(12910|0),2563,(13155|0)); - // unreachable; - } - } - } while(0); - $44 = !($$079 <= $31); - $45 = !($$077 <= $31); - $or$cond81 = $44 | $45; - if (!($or$cond81)) { - $46 = ((($2)) + 16|0); - $47 = +HEAPF32[$46>>2]; - $48 = $$0 - $$078; - $49 = $48 * $47; - $50 = (($0) + ($1<<2)|0); - $51 = +HEAPF32[$50>>2]; - $52 = $51 + $49; - HEAPF32[$50>>2] = $52; - return; - } - $53 = !($$079 >= $34); - $54 = !($$077 >= $34); - $or$cond82 = $53 | $54; - if (!($or$cond82)) { - return; - } - $55 = !($$079 >= $31); - $56 = !($$079 <= $34); - $or$cond83 = $55 | $56; - $57 = !($$077 >= $31); - $or$cond84 = $or$cond83 | $57; - $58 = !($$077 <= $34); - $or$cond85 = $58 | $or$cond84; - if ($or$cond85) { - ___assert_fail((13254|0),(12910|0),2572,(13155|0)); - // unreachable; - } - $59 = ((($2)) + 16|0); - $60 = +HEAPF32[$59>>2]; - $61 = $$0 - $$078; - $62 = $61 * $60; - $63 = $$079 - $31; - $64 = $$077 - $31; - $65 = $63 + $64; - $66 = $65 * 0.5; - $67 = 1.0 - $66; - $68 = $67 * $62; - $69 = (($0) + ($1<<2)|0); - $70 = +HEAPF32[$69>>2]; - $71 = $70 + $68; - HEAPF32[$69>>2] = $71; - return; -} -function _stbtt__hheap_alloc($0) { - $0 = $0|0; - var $$1 = 0, $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; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)==(0|0); - if (!($3)) { - $4 = HEAP32[$2>>2]|0; - HEAP32[$1>>2] = $4; - $$1 = $2; - return ($$1|0); - } - $5 = ((($0)) + 8|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)==(0); - do { - if ($7) { - $8 = (_malloc(56004)|0); - $9 = ($8|0)==(0|0); - if ($9) { - $$1 = 0; - return ($$1|0); - } else { - $10 = HEAP32[$0>>2]|0; - HEAP32[$8>>2] = $10; - HEAP32[$0>>2] = $8; - HEAP32[$5>>2] = 2000; - break; - } - } - } while(0); - $11 = HEAP32[$5>>2]|0; - $12 = (($11) + -1)|0; - HEAP32[$5>>2] = $12; - $13 = HEAP32[$0>>2]|0; - $14 = ($12*28)|0; - $15 = (($13) + ($14)|0); - $$1 = $15; - return ($$1|0); -} -function _stbtt__sort_edges_quicksort($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$079 = 0, $$081 = 0, $$08390 = 0, $$091 = 0, $$1 = 0, $$180 = 0, $$182 = 0, $$184 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0; - var $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; - var $8 = 0, $9 = 0.0, $tmp = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = ($1|0)>(12); - if (!($3)) { - STACKTOP = sp;return; - } - $$08390 = $1;$$091 = $0; - while(1) { - $4 = $$08390 >>> 1; - $5 = ((($$091)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = (($$091) + (($4*20)|0)|0); - $8 = (((($$091) + (($4*20)|0)|0)) + 4|0); - $9 = +HEAPF32[$8>>2]; - $10 = $6 < $9; - $11 = (($$08390) + -1)|0; - $12 = (((($$091) + (($11*20)|0)|0)) + 4|0); - $13 = +HEAPF32[$12>>2]; - $14 = $9 < $13; - $15 = $10 ^ $14; - $16 = $6 < $13; - $tmp = $16 ^ $14; - $17 = $tmp ? $11 : 0; - $18 = (($$091) + (($17*20)|0)|0); - if ($15) { - ;HEAP32[$2>>2]=HEAP32[$18>>2]|0;HEAP32[$2+4>>2]=HEAP32[$18+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$18+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$18+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$18+16>>2]|0; - ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$18+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$18+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$18+16>>2]=HEAP32[$7+16>>2]|0; - ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; - } - ;HEAP32[$2>>2]=HEAP32[$$091>>2]|0;HEAP32[$2+4>>2]=HEAP32[$$091+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$$091+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$$091+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$$091+16>>2]|0; - ;HEAP32[$$091>>2]=HEAP32[$7>>2]|0;HEAP32[$$091+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$091+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$091+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$091+16>>2]=HEAP32[$7+16>>2]|0; - ;HEAP32[$7>>2]=HEAP32[$2>>2]|0;HEAP32[$7+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$7+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$7+16>>2]=HEAP32[$2+16>>2]|0; - $$079 = $11;$$081 = 1; - while(1) { - $19 = +HEAPF32[$5>>2]; - $$182 = $$081; - while(1) { - $20 = (((($$091) + (($$182*20)|0)|0)) + 4|0); - $21 = +HEAPF32[$20>>2]; - $22 = $21 < $19; - $23 = (($$182) + 1)|0; - if ($22) { - $$182 = $23; - } else { - $$180 = $$079; - break; - } - } - while(1) { - $24 = (((($$091) + (($$180*20)|0)|0)) + 4|0); - $25 = +HEAPF32[$24>>2]; - $26 = $19 < $25; - $27 = (($$180) + -1)|0; - if ($26) { - $$180 = $27; - } else { - break; - } - } - $28 = (($$091) + (($$182*20)|0)|0); - $29 = ($$182|0)<($$180|0); - if (!($29)) { - break; - } - $30 = (($$091) + (($$180*20)|0)|0); - ;HEAP32[$2>>2]=HEAP32[$28>>2]|0;HEAP32[$2+4>>2]=HEAP32[$28+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$28+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$28+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$28+16>>2]|0; - ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;HEAP32[$28+8>>2]=HEAP32[$30+8>>2]|0;HEAP32[$28+12>>2]=HEAP32[$30+12>>2]|0;HEAP32[$28+16>>2]=HEAP32[$30+16>>2]|0; - ;HEAP32[$30>>2]=HEAP32[$2>>2]|0;HEAP32[$30+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$30+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$30+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$30+16>>2]=HEAP32[$2+16>>2]|0; - $31 = (($$182) + 1)|0; - $32 = (($$180) + -1)|0; - $$079 = $32;$$081 = $31; - } - $33 = (($$08390) - ($$182))|0; - $34 = ($$180|0)<($33|0); - if ($34) { - _stbtt__sort_edges_quicksort($$091,$$180); - $$1 = $28;$$184 = $33; - } else { - _stbtt__sort_edges_quicksort($28,$33); - $$1 = $$091;$$184 = $$180; - } - $35 = ($$184|0)>(12); - if ($35) { - $$08390 = $$184;$$091 = $$1; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _stbtt__sort_edges_ins_sort($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$03251 = 0, $$033 = 0, $$2$ph = 0, $$sroa$0$0$copyload48 = 0, $$sroa$4$0$$sroa_idx37 = 0, $$sroa$4$0$$sroa_idx38 = 0, $$sroa$4$0$copyload = 0.0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx42 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0; - var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$sroa$5 = sp; - $2 = ($1|0)>(1); - if (!($2)) { - STACKTOP = sp;return; - } - $$03251 = 1; - while(1) { - $3 = (($0) + (($$03251*20)|0)|0); - $$sroa$0$0$copyload48 = HEAP32[$3>>2]|0; - $$sroa$4$0$$sroa_idx37 = (((($0) + (($$03251*20)|0)|0)) + 4|0); - $$sroa$4$0$copyload = +HEAPF32[$$sroa$4$0$$sroa_idx37>>2]; - $$sroa$5$0$$sroa_idx = (((($0) + (($$03251*20)|0)|0)) + 8|0); - ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0; - $$033 = $$03251; - while(1) { - $4 = (($$033) + -1)|0; - $5 = (((($0) + (($4*20)|0)|0)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = $$sroa$4$0$copyload < $6; - if (!($7)) { - $$2$ph = $$033; - break; - } - $8 = (($0) + (($4*20)|0)|0); - $9 = (($0) + (($$033*20)|0)|0); - ;HEAP32[$9>>2]=HEAP32[$8>>2]|0;HEAP32[$9+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$9+8>>2]=HEAP32[$8+8>>2]|0;HEAP32[$9+12>>2]=HEAP32[$8+12>>2]|0;HEAP32[$9+16>>2]=HEAP32[$8+16>>2]|0; - $10 = ($$033|0)>(1); - if ($10) { - $$033 = $4; - } else { - $$2$ph = $4; - break; - } - } - $11 = ($$03251|0)==($$2$ph|0); - if (!($11)) { - $$sroa$5$0$$sroa_idx42 = (((($0) + (($$2$ph*20)|0)|0)) + 8|0); - $$sroa$4$0$$sroa_idx38 = (((($0) + (($$2$ph*20)|0)|0)) + 4|0); - $12 = (($0) + (($$2$ph*20)|0)|0); - HEAP32[$12>>2] = $$sroa$0$0$copyload48; - HEAPF32[$$sroa$4$0$$sroa_idx38>>2] = $$sroa$4$0$copyload; - ;HEAP32[$$sroa$5$0$$sroa_idx42>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx42+8>>2]=HEAP32[$$sroa$5+8>>2]|0; - } - $13 = (($$03251) + 1)|0; - $exitcond = ($13|0)==($1|0); - if ($exitcond) { - break; - } else { - $$03251 = $13; - } - } - STACKTOP = sp;return; -} -function _stbtt__add_point($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = +$3; - var $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - if ($4) { - return; - } - $5 = (((($0) + ($1<<3)|0)) + 4|0); - $6 = (($0) + ($1<<3)|0); - HEAPF32[$6>>2] = $2; - HEAPF32[$5>>2] = $3; - return; -} -function _stbtt__tesselate_curve($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - $7 = +$7; - $8 = +$8; - $9 = $9|0; - var $$tr210 = 0.0, $$tr210$phi = 0.0, $$tr311 = 0.0, $$tr311$phi = 0.0, $$tr412 = 0.0, $$tr513 = 0.0, $$tr914 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0; - var $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0; - var $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, label = 0, sp = 0; - sp = STACKTOP; - $10 = $4 * 2.0; - $11 = $10 + $2; - $12 = $11 + $6; - $13 = $12 * 0.25; - $14 = $5 * 2.0; - $15 = $14 + $3; - $16 = $15 + $7; - $17 = $16 * 0.25; - $18 = ($9|0)>(16); - if ($18) { - return; - } - $19 = $7 + $3; - $20 = $19 * 0.5; - $21 = $20 - $17; - $22 = $6 + $2; - $23 = $22 * 0.5; - $24 = $23 - $13; - $$tr210 = $2;$$tr311 = $3;$$tr412 = $4;$$tr513 = $5;$$tr914 = $9;$26 = $24;$28 = $21;$36 = $13;$37 = $17; - while(1) { - $25 = $26 * $26; - $27 = $28 * $28; - $29 = $25 + $27; - $30 = $29 > $8; - if (!($30)) { - break; - } - $31 = $$tr210 + $$tr412; - $32 = $31 * 0.5; - $33 = $$tr311 + $$tr513; - $34 = $33 * 0.5; - $35 = (($$tr914) + 1)|0; - _stbtt__tesselate_curve($0,$1,$$tr210,$$tr311,$32,$34,$36,$37,$8,$35); - $38 = $$tr412 + $6; - $39 = $38 * 0.5; - $40 = $$tr513 + $7; - $41 = $40 * 0.5; - $42 = $39 * 2.0; - $43 = $36 + $42; - $44 = $43 + $6; - $45 = $44 * 0.25; - $46 = $41 * 2.0; - $47 = $37 + $46; - $48 = $47 + $7; - $49 = $48 * 0.25; - $50 = $36 + $6; - $51 = $50 * 0.5; - $52 = $51 - $45; - $53 = $37 + $7; - $54 = $53 * 0.5; - $55 = $54 - $49; - $56 = ($$tr914|0)>(15); - if ($56) { - label = 6; - break; - } else { - $$tr311$phi = $37;$$tr210$phi = $36;$$tr412 = $39;$$tr513 = $41;$$tr914 = $35;$26 = $52;$28 = $55;$36 = $45;$37 = $49;$$tr311 = $$tr311$phi;$$tr210 = $$tr210$phi; - } - } - if ((label|0) == 6) { - return; - } - $57 = HEAP32[$1>>2]|0; - _stbtt__add_point($0,$57,$6,$7); - $58 = HEAP32[$1>>2]|0; - $59 = (($58) + 1)|0; - HEAP32[$1>>2] = $59; - return; -} -function _stbtt__tesselate_cubic($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - $7 = +$7; - $8 = +$8; - $9 = +$9; - $10 = +$10; - $11 = $11|0; - var $$tr138 = 0.0, $$tr139 = 0.0, $$tr140 = 0.0, $$tr141 = 0.0, $$tr142 = 0.0, $$tr143 = 0.0, $$tr147 = 0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0; - var $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0; - var $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0; - var $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $$tr138 = $2;$$tr139 = $3;$$tr140 = $4;$$tr141 = $5;$$tr142 = $6;$$tr143 = $7;$$tr147 = $11; - while(1) { - $12 = $$tr140 - $$tr138; - $13 = $$tr141 - $$tr139; - $14 = $$tr142 - $$tr140; - $15 = $$tr143 - $$tr141; - $16 = $8 - $$tr142; - $17 = $9 - $$tr143; - $18 = $8 - $$tr138; - $19 = $9 - $$tr139; - $20 = $12 * $12; - $21 = $13 * $13; - $22 = $20 + $21; - $23 = $22; - $24 = (+Math_sqrt((+$23))); - $25 = $14 * $14; - $26 = $15 * $15; - $27 = $25 + $26; - $28 = $27; - $29 = (+Math_sqrt((+$28))); - $30 = $24 + $29; - $31 = $16 * $16; - $32 = $17 * $17; - $33 = $31 + $32; - $34 = $33; - $35 = (+Math_sqrt((+$34))); - $36 = $30 + $35; - $37 = $36; - $38 = $18 * $18; - $39 = $19 * $19; - $40 = $38 + $39; - $sqrtf = (+Math_sqrt((+$40))); - $41 = ($$tr147|0)>(16); - if ($41) { - label = 6; - break; - } - $42 = $37 * $37; - $43 = $sqrtf * $sqrtf; - $44 = $42 - $43; - $45 = $44 > $10; - if (!($45)) { - break; - } - $46 = $$tr138 + $$tr140; - $47 = $46 * 0.5; - $48 = $$tr139 + $$tr141; - $49 = $48 * 0.5; - $50 = $$tr140 + $$tr142; - $51 = $50 * 0.5; - $52 = $$tr141 + $$tr143; - $53 = $52 * 0.5; - $54 = $$tr142 + $8; - $55 = $54 * 0.5; - $56 = $$tr143 + $9; - $57 = $56 * 0.5; - $58 = $47 + $51; - $59 = $58 * 0.5; - $60 = $49 + $53; - $61 = $60 * 0.5; - $62 = $51 + $55; - $63 = $62 * 0.5; - $64 = $53 + $57; - $65 = $64 * 0.5; - $66 = $59 + $63; - $67 = $66 * 0.5; - $68 = $61 + $65; - $69 = $68 * 0.5; - $70 = (($$tr147) + 1)|0; - _stbtt__tesselate_cubic($0,$1,$$tr138,$$tr139,$47,$49,$59,$61,$67,$69,$10,$70); - $$tr138 = $67;$$tr139 = $69;$$tr140 = $63;$$tr141 = $65;$$tr142 = $55;$$tr143 = $57;$$tr147 = $70; - } - if ((label|0) == 6) { - return; - } - $71 = HEAP32[$1>>2]|0; - _stbtt__add_point($0,$71,$8,$9); - $72 = HEAP32[$1>>2]|0; - $73 = (($72) + 1)|0; - HEAP32[$1>>2] = $73; - return; -} -function _stbtt_GetGlyphBox($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$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, $26 = 0, $27 = 0, $28 = 0; - var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ((($0)) + 56|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if (!($8)) { - _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5); - $$1 = 1; - return ($$1|0); - } - $9 = (_stbtt__GetGlyfOffset($0,$1)|0); - $10 = ($9|0)<(0); - if ($10) { - $$1 = 0; - return ($$1|0); - } - $11 = ($2|0)==(0|0); - if (!($11)) { - $12 = ((($0)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = (($13) + ($9)|0); - $15 = ((($14)) + 2|0); - $16 = (_ttSHORT($15)|0); - $17 = $16 << 16 >> 16; - HEAP32[$2>>2] = $17; - } - $18 = ($3|0)==(0|0); - if (!($18)) { - $19 = ((($0)) + 4|0); - $20 = HEAP32[$19>>2]|0; - $21 = (($20) + ($9)|0); - $22 = ((($21)) + 4|0); - $23 = (_ttSHORT($22)|0); - $24 = $23 << 16 >> 16; - HEAP32[$3>>2] = $24; - } - $25 = ($4|0)==(0|0); - if (!($25)) { - $26 = ((($0)) + 4|0); - $27 = HEAP32[$26>>2]|0; - $28 = (($27) + ($9)|0); - $29 = ((($28)) + 6|0); - $30 = (_ttSHORT($29)|0); - $31 = $30 << 16 >> 16; - HEAP32[$4>>2] = $31; - } - $32 = ($5|0)==(0|0); - if ($32) { - $$1 = 1; - return ($$1|0); - } - $33 = ((($0)) + 4|0); - $34 = HEAP32[$33>>2]|0; - $35 = (($34) + ($9)|0); - $36 = ((($35)) + 8|0); - $37 = (_ttSHORT($36)|0); - $38 = $37 << 16 >> 16; - HEAP32[$5>>2] = $38; - $$1 = 1; - return ($$1|0); -} -function _stbtt__GetGlyphInfoT2($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $6 = sp; - $7 = ((($6)) + 4|0); - dest=$7; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$6>>2] = 1; - $8 = (_stbtt__run_charstring($0,$1,$6)|0); - $9 = ($2|0)==(0|0); - $10 = ($8|0)!=(0); - if ($9) { - STACKTOP = sp;return; - } - $11 = ((($6)) + 24|0); - $12 = HEAP32[$11>>2]|0; - $13 = $10 ? $12 : 0; - HEAP32[$2>>2] = $13; - $14 = ((($6)) + 32|0); - $15 = HEAP32[$14>>2]|0; - $16 = $10 ? $15 : 0; - HEAP32[$3>>2] = $16; - $17 = ((($6)) + 28|0); - $18 = HEAP32[$17>>2]|0; - $19 = $10 ? $18 : 0; - HEAP32[$4>>2] = $19; - $20 = ((($6)) + 36|0); - $21 = HEAP32[$20>>2]|0; - $22 = $10 ? $21 : 0; - HEAP32[$5>>2] = $22; - STACKTOP = sp;return; -} -function _stbtt__GetGlyfOffset($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$023 = 0, $$024 = 0, $$pn = 0, $$sink = 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; - var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 56|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)==(0); - if (!($4)) { - ___assert_fail((13333|0),(12910|0),1439,(13349|0)); - // unreachable; - } - $5 = ((($0)) + 12|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)>($1|0); - if (!($7)) { - $$024 = -1; - return ($$024|0); - } - $8 = ((($0)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9|0)>(1); - if ($10) { - $$024 = -1; - return ($$024|0); - } - $11 = ($9|0)==(0); - $12 = ((($0)) + 24|0); - $13 = HEAP32[$12>>2]|0; - $14 = ((($0)) + 4|0); - $15 = HEAP32[$14>>2]|0; - $16 = ((($0)) + 16|0); - $17 = HEAP32[$16>>2]|0; - $18 = (($15) + ($17)|0); - if ($11) { - $19 = $1 << 1; - $20 = (($18) + ($19)|0); - $21 = (_ttUSHORT($20)|0); - $22 = $21&65535; - $23 = $22 << 1; - $24 = ((($20)) + 2|0); - $25 = (_ttUSHORT($24)|0); - $26 = $25&65535; - $27 = $26 << 1; - $$pn = $23;$$sink = $27; - } else { - $28 = $1 << 2; - $29 = (($18) + ($28)|0); - $30 = (_ttULONG($29)|0); - $31 = ((($29)) + 4|0); - $32 = (_ttULONG($31)|0); - $$pn = $30;$$sink = $32; - } - $33 = (($$sink) + ($13))|0; - $$023 = (($$pn) + ($13))|0; - $34 = ($$023|0)==($33|0); - $35 = $34 ? -1 : $$023; - $$024 = $35; - return ($$024|0); -} -function _ttSHORT($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 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = $2 << 8; - $4 = ((($0)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = $3 | $6; - $8 = $7&65535; - return ($8|0); -} -function _ttUSHORT($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 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = $2 << 8; - $4 = ((($0)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = $3 | $6; - $8 = $7&65535; - return ($8|0); -} -function _ttULONG($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = HEAP8[$0>>0]|0; - $2 = $1&255; - $3 = $2 << 24; - $4 = ((($0)) + 1|0); - $5 = HEAP8[$4>>0]|0; - $6 = $5&255; - $7 = $6 << 16; - $8 = $7 | $3; - $9 = ((($0)) + 2|0); - $10 = HEAP8[$9>>0]|0; - $11 = $10&255; - $12 = $11 << 8; - $13 = $8 | $12; - $14 = ((($0)) + 3|0); - $15 = HEAP8[$14>>0]|0; - $16 = $15&255; - $17 = $13 | $16; - return ($17|0); -} -function _stbtt__run_charstring($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0274$be = 0, $$0274335 = 0, $$0276$be = 0, $$0276334 = 0, $$0279 = 0.0, $$0280 = 0.0, $$0282318 = 0.0, $$0285$be = 0, $$0285333 = 0, $$0288$be = 0, $$0288332 = 0, $$0290329 = 0, $$0294$be = 0, $$0294331 = 0, $$1277 = 0, $$1283 = 0.0, $$1286 = 0, $$1291 = 0, $$2292 = 0; - var $$3 = 0, $$3293 = 0, $$363 = 0.0, $$4 = 0, $$5327 = 0, $$6$lcssa = 0, $$6322 = 0, $$7$lcssa = 0, $$7319 = 0, $$8317 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$lcssa316 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0, $104 = 0, $105 = 0.0; - var $106 = 0, $107 = 0.0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0.0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0.0, $122 = 0, $123 = 0; - var $124 = 0.0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0, $134 = 0, $135 = 0, $136 = 0.0, $137 = 0, $138 = 0, $139 = 0.0, $14 = 0, $140 = 0, $141 = 0; - var $142 = 0.0, $143 = 0, $144 = 0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0.0, $16 = 0; - var $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0.0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0, $17 = 0, $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0, $178 = 0; - var $179 = 0, $18 = 0, $180 = 0, $181 = 0.0, $182 = 0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0; - var $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0, $202 = 0, $203 = 0.0, $204 = 0, $205 = 0, $206 = 0.0, $207 = 0, $208 = 0, $209 = 0.0, $21 = 0, $210 = 0, $211 = 0.0, $212 = 0, $213 = 0, $214 = 0; - var $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0.0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0.0, $23 = 0, $230 = 0, $231 = 0, $232 = 0; - var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0.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, $250 = 0; - var $251 = 0, $252 = 0.0, $253 = 0.0, $254 = 0.0, $255 = 0.0, $256 = 0.0, $257 = 0.0, $258 = 0.0, $259 = 0.0, $26 = 0, $260 = 0, $261 = 0.0, $262 = 0.0, $263 = 0.0, $264 = 0.0, $265 = 0.0, $266 = 0.0, $267 = 0.0, $268 = 0.0, $269 = 0.0; - var $27 = 0, $270 = 0.0, $271 = 0.0, $272 = 0.0, $273 = 0, $274 = 0.0, $275 = 0.0, $276 = 0.0, $277 = 0.0, $278 = 0.0, $279 = 0.0, $28 = 0, $280 = 0.0, $281 = 0.0, $282 = 0.0, $283 = 0.0, $284 = 0.0, $285 = 0.0, $286 = 0, $287 = 0.0; - var $288 = 0.0, $289 = 0.0, $29 = 0, $290 = 0.0, $291 = 0.0, $292 = 0.0, $293 = 0.0, $294 = 0.0, $295 = 0.0, $296 = 0.0, $297 = 0.0, $298 = 0.0, $299 = 0.0, $3 = 0, $30 = 0, $300 = 0.0, $301 = 0.0, $302 = 0.0, $303 = 0.0, $304 = 0.0; - var $305 = 0.0, $306 = 0, $307 = 0.0, $308 = 0.0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0.0, $32 = 0, $320 = 0, $321 = 0, $322 = 0; - var $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, $49 = 0, $5 = 0, $50 = 0; - var $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.0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0, $68 = 0, $69 = 0; - var $7 = 0, $70 = 0.0, $71 = 0, $72 = 0, $73 = 0, $74 = 0.0, $75 = 0, $76 = 0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0; - var $88 = 0.0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0.0, $fabsf = 0.0, $fabsf296 = 0.0, $not$ = 0, $or$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0); - $$byval_copy1 = sp + 352|0; - $3 = sp + 160|0; - $4 = sp + 40|0; - $5 = sp + 24|0; - $6 = sp; - $7 = sp + 12|0; - $8 = ((($0)) + 84|0); - ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;HEAP32[$5+8>>2]=HEAP32[$8+8>>2]|0; - $9 = ((($0)) + 60|0); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$9+8>>2]|0; - _stbtt__cff_index_get($6,$$byval_copy1,$1); - $10 = ((($6)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($6)) + 8|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11|0)<($13|0); - if (!($14)) { - $$3 = 0; - STACKTOP = sp;return ($$3|0); - } - $15 = ((($0)) + 116|0); - $16 = ((($0)) + 72|0); - $17 = ((($3)) + 4|0); - $18 = ((($3)) + 8|0); - $19 = ((($3)) + 12|0); - $20 = ((($3)) + 16|0); - $21 = ((($3)) + 20|0); - $22 = ((($3)) + 24|0); - $23 = ((($3)) + 4|0); - $24 = ((($3)) + 8|0); - $25 = ((($3)) + 12|0); - $26 = ((($3)) + 16|0); - $27 = ((($3)) + 20|0); - $28 = ((($3)) + 24|0); - $29 = ((($3)) + 28|0); - $30 = ((($3)) + 32|0); - $31 = ((($3)) + 36|0); - $32 = ((($3)) + 40|0); - $33 = ((($3)) + 44|0); - $34 = ((($3)) + 4|0); - $35 = ((($3)) + 8|0); - $36 = ((($3)) + 12|0); - $37 = ((($3)) + 16|0); - $38 = ((($3)) + 20|0); - $39 = ((($3)) + 24|0); - $40 = ((($3)) + 28|0); - $41 = ((($3)) + 32|0); - $42 = ((($3)) + 4|0); - $43 = ((($3)) + 8|0); - $44 = ((($3)) + 12|0); - $45 = ((($3)) + 16|0); - $46 = ((($3)) + 20|0); - $47 = ((($3)) + 24|0); - $48 = ((($3)) + 28|0); - $49 = ((($3)) + 32|0); - $50 = ((($3)) + 36|0); - $51 = ((($3)) + 40|0); - $$0274335 = 1;$$0276334 = 0;$$0285333 = 0;$$0288332 = 0;$$0294331 = 0; - L4: while(1) { - $52 = (_stbtt__buf_get8($6)|0); - L6: do { - switch ($52<<24>>24) { - case 14: { - label = 63; - break L4; - break; - } - case 20: case 19: { - $53 = ($$0274335|0)==(0); - if ($53) { - $$1277 = $$0276334; - } else { - $54 = (($$0294331|0) / 2)&-1; - $55 = (($$0276334) + ($54))|0; - $$1277 = $55; - } - $56 = (($$1277) + 7)|0; - $57 = (($56|0) / 8)&-1; - _stbtt__buf_skip($6,$57); - $$0274$be = 0;$$0276$be = $$1277;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - case 23: case 18: case 3: case 1: { - $58 = (($$0294331|0) / 2)&-1; - $59 = (($$0276334) + ($58))|0; - $$0274$be = $$0274335;$$0276$be = $59;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - case 21: { - $60 = ($$0294331|0)<(2); - if ($60) { - $$3 = 0; - label = 80; - break L4; - } - $61 = (($$0294331) + -2)|0; - $62 = (($3) + ($61<<2)|0); - $63 = +HEAPF32[$62>>2]; - $64 = (($$0294331) + -1)|0; - $65 = (($3) + ($64<<2)|0); - $66 = +HEAPF32[$65>>2]; - _stbtt__csctx_rmove_to($2,$63,$66); - $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - case 4: { - $67 = ($$0294331|0)<(1); - if ($67) { - $$3 = 0; - label = 80; - break L4; - } - $68 = (($$0294331) + -1)|0; - $69 = (($3) + ($68<<2)|0); - $70 = +HEAPF32[$69>>2]; - _stbtt__csctx_rmove_to($2,0.0,$70); - $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - case 22: { - $71 = ($$0294331|0)<(1); - if ($71) { - $$3 = 0; - label = 80; - break L4; - } - $72 = (($$0294331) + -1)|0; - $73 = (($3) + ($72<<2)|0); - $74 = +HEAPF32[$73>>2]; - _stbtt__csctx_rmove_to($2,$74,0.0); - $$0274$be = 0;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - case 5: { - $75 = ($$0294331|0)<(2); - if ($75) { - $$3 = 0; - label = 80; - break L4; - } else { - $$0290329 = 0;$79 = 1; - } - while(1) { - $76 = (($3) + ($$0290329<<2)|0); - $77 = +HEAPF32[$76>>2]; - $78 = (($3) + ($79<<2)|0); - $80 = +HEAPF32[$78>>2]; - _stbtt__csctx_rline_to($2,$77,$80); - $81 = (($$0290329) + 2)|0; - $82 = $81 | 1; - $83 = ($82|0)<($$0294331|0); - if ($83) { - $$0290329 = $81;$79 = $82; - } else { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - } - break; - } - case 7: { - $84 = ($$0294331|0)<(1); - if ($84) { - $$3 = 0; - label = 80; - break L4; - } else { - $$2292 = 0; - label = 20; - } - break; - } - case 6: { - $85 = ($$0294331|0)<(1); - if ($85) { - $$3 = 0; - label = 80; - break L4; - } else { - $$1291 = 0; - label = 18; - } - break; - } - case 31: { - $94 = ($$0294331|0)<(4); - if ($94) { - $$3 = 0; - label = 80; - break L4; - } else { - $$4 = 0; - label = 28; - } - break; - } - case 30: { - $95 = ($$0294331|0)<(4); - if ($95) { - $$3 = 0; - label = 80; - break L4; - } else { - $$3293 = 0; - label = 24; - } - break; - } - case 8: { - $134 = ($$0294331|0)<(6); - if ($134) { - $$3 = 0; - label = 80; - break L4; - } else { - $$5327 = 0;$150 = 5; - } - while(1) { - $135 = (($3) + ($$5327<<2)|0); - $136 = +HEAPF32[$135>>2]; - $137 = $$5327 | 1; - $138 = (($3) + ($137<<2)|0); - $139 = +HEAPF32[$138>>2]; - $140 = (($$5327) + 2)|0; - $141 = (($3) + ($140<<2)|0); - $142 = +HEAPF32[$141>>2]; - $143 = (($$5327) + 3)|0; - $144 = (($3) + ($143<<2)|0); - $145 = +HEAPF32[$144>>2]; - $146 = (($$5327) + 4)|0; - $147 = (($3) + ($146<<2)|0); - $148 = +HEAPF32[$147>>2]; - $149 = (($3) + ($150<<2)|0); - $151 = +HEAPF32[$149>>2]; - _stbtt__csctx_rccurve_to($2,$136,$139,$142,$145,$148,$151); - $152 = (($$5327) + 6)|0; - $153 = (($$5327) + 11)|0; - $154 = ($153|0)<($$0294331|0); - if ($154) { - $$5327 = $152;$150 = $153; - } else { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - } - break; - } - case 24: { - $155 = ($$0294331|0)<(8); - if ($155) { - $$3 = 0; - label = 80; - break L4; - } - $156 = (($$0294331) + -2)|0; - $157 = ($156|0)>(5); - if ($157) { - $$6322 = 0;$161 = 1;$173 = 5; - while(1) { - $158 = (($3) + ($$6322<<2)|0); - $159 = +HEAPF32[$158>>2]; - $160 = (($3) + ($161<<2)|0); - $162 = +HEAPF32[$160>>2]; - $163 = (($$6322) + 2)|0; - $164 = (($3) + ($163<<2)|0); - $165 = +HEAPF32[$164>>2]; - $166 = (($$6322) + 3)|0; - $167 = (($3) + ($166<<2)|0); - $168 = +HEAPF32[$167>>2]; - $169 = (($$6322) + 4)|0; - $170 = (($3) + ($169<<2)|0); - $171 = +HEAPF32[$170>>2]; - $172 = (($3) + ($173<<2)|0); - $174 = +HEAPF32[$172>>2]; - _stbtt__csctx_rccurve_to($2,$159,$162,$165,$168,$171,$174); - $175 = (($$6322) + 6)|0; - $176 = (($$6322) + 11)|0; - $177 = ($176|0)<($156|0); - $178 = $175 | 1; - if ($177) { - $$6322 = $175;$161 = $178;$173 = $176; - } else { - $$6$lcssa = $175;$$lcssa316 = $178; - break; - } - } - } else { - $$6$lcssa = 0;$$lcssa316 = 1; - } - $179 = ($$lcssa316|0)<($$0294331|0); - if (!($179)) { - $$3 = 0; - label = 80; - break L4; - } - $180 = (($3) + ($$6$lcssa<<2)|0); - $181 = +HEAPF32[$180>>2]; - $182 = (($3) + ($$lcssa316<<2)|0); - $183 = +HEAPF32[$182>>2]; - _stbtt__csctx_rline_to($2,$181,$183); - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - case 25: { - $184 = ($$0294331|0)<(8); - if ($184) { - $$3 = 0; - label = 80; - break L4; - } - $185 = (($$0294331) + -6)|0; - $186 = ($185|0)>(1); - if ($186) { - $$7319 = 0;$190 = 1; - while(1) { - $187 = (($3) + ($$7319<<2)|0); - $188 = +HEAPF32[$187>>2]; - $189 = (($3) + ($190<<2)|0); - $191 = +HEAPF32[$189>>2]; - _stbtt__csctx_rline_to($2,$188,$191); - $192 = (($$7319) + 2)|0; - $193 = $192 | 1; - $194 = ($193|0)<($185|0); - if ($194) { - $$7319 = $192;$190 = $193; - } else { - $$7$lcssa = $192;$$lcssa = $193; - break; - } - } - } else { - $$7$lcssa = 0;$$lcssa = 1; - } - $195 = (($$7$lcssa) + 5)|0; - $196 = ($195|0)<($$0294331|0); - if (!($196)) { - $$3 = 0; - label = 80; - break L4; - } - $197 = (($3) + ($$7$lcssa<<2)|0); - $198 = +HEAPF32[$197>>2]; - $199 = (($3) + ($$lcssa<<2)|0); - $200 = +HEAPF32[$199>>2]; - $201 = (($$7$lcssa) + 2)|0; - $202 = (($3) + ($201<<2)|0); - $203 = +HEAPF32[$202>>2]; - $204 = (($$7$lcssa) + 3)|0; - $205 = (($3) + ($204<<2)|0); - $206 = +HEAPF32[$205>>2]; - $207 = (($$7$lcssa) + 4)|0; - $208 = (($3) + ($207<<2)|0); - $209 = +HEAPF32[$208>>2]; - $210 = (($3) + ($195<<2)|0); - $211 = +HEAPF32[$210>>2]; - _stbtt__csctx_rccurve_to($2,$198,$200,$203,$206,$209,$211); - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - case 27: case 26: { - $212 = ($$0294331|0)<(4); - if ($212) { - $$3 = 0; - label = 80; - break L4; - } - $213 = $$0294331 & 1; - $214 = ($213|0)==(0); - $215 = (($213) + 3)|0; - $216 = ($215|0)<($$0294331|0); - if ($216) { - $not$ = $214 ^ 1; - $$ = $not$&1; - $217 = +HEAPF32[$3>>2]; - $$363 = $214 ? 0.0 : $217; - $218 = ($52<<24>>24)==(27); - $$0282318 = $$363;$$8317 = $$;$228 = $215; - while(1) { - $219 = (($$8317) + 2)|0; - $220 = (($$8317) + 1)|0; - $221 = (($3) + ($219<<2)|0); - $222 = +HEAPF32[$221>>2]; - $223 = (($3) + ($$8317<<2)|0); - $224 = +HEAPF32[$223>>2]; - $225 = (($3) + ($220<<2)|0); - $226 = +HEAPF32[$225>>2]; - $227 = (($3) + ($228<<2)|0); - $229 = +HEAPF32[$227>>2]; - if ($218) { - _stbtt__csctx_rccurve_to($2,$224,$$0282318,$226,$222,$229,0.0); - } else { - _stbtt__csctx_rccurve_to($2,$$0282318,$224,$226,$222,0.0,$229); - } - $230 = (($$8317) + 4)|0; - $231 = (($$8317) + 7)|0; - $232 = ($231|0)<($$0294331|0); - if ($232) { - $$0282318 = 0.0;$$8317 = $230;$228 = $231; - } else { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break; - } - } - } else { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - } - break; - } - case 10: { - $233 = ($$0285333|0)==(0); - if ($233) { - $234 = HEAP32[$15>>2]|0; - $235 = ($234|0)==(0); - if ($235) { - $$1286 = 1; - label = 54; - } else { - _stbtt__cid_get_glyph_subrs($5,$0,$1); - $$1286 = 1; - label = 54; - } - } else { - $$1286 = $$0285333; - label = 54; - } - break; - } - case 29: { - $$1286 = $$0285333; - label = 54; - break; - } - case 11: { - $247 = ($$0288332|0)<(1); - if ($247) { - $$3 = 0; - label = 80; - break L4; - } - $248 = (($$0288332) + -1)|0; - $249 = (($4) + (($248*12)|0)|0); - ;HEAP32[$6>>2]=HEAP32[$249>>2]|0;HEAP32[$6+4>>2]=HEAP32[$249+4>>2]|0;HEAP32[$6+8>>2]=HEAP32[$249+8>>2]|0; - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $248;$$0294$be = $$0294331; - label = 73; - break; - } - case 12: { - $250 = (_stbtt__buf_get8($6)|0); - switch ($250<<24>>24) { - case 34: { - $251 = ($$0294331|0)<(7); - if ($251) { - $$3 = 0; - label = 80; - break L4; - } - $252 = +HEAPF32[$3>>2]; - $253 = +HEAPF32[$17>>2]; - $254 = +HEAPF32[$18>>2]; - $255 = +HEAPF32[$19>>2]; - $256 = +HEAPF32[$20>>2]; - $257 = +HEAPF32[$21>>2]; - $258 = +HEAPF32[$22>>2]; - _stbtt__csctx_rccurve_to($2,$252,0.0,$253,$254,$255,0.0); - $259 = -$254; - _stbtt__csctx_rccurve_to($2,$256,0.0,$257,$259,$258,0.0); - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break L6; - break; - } - case 35: { - $260 = ($$0294331|0)<(13); - if ($260) { - $$3 = 0; - label = 80; - break L4; - } - $261 = +HEAPF32[$3>>2]; - $262 = +HEAPF32[$23>>2]; - $263 = +HEAPF32[$24>>2]; - $264 = +HEAPF32[$25>>2]; - $265 = +HEAPF32[$26>>2]; - $266 = +HEAPF32[$27>>2]; - $267 = +HEAPF32[$28>>2]; - $268 = +HEAPF32[$29>>2]; - $269 = +HEAPF32[$30>>2]; - $270 = +HEAPF32[$31>>2]; - $271 = +HEAPF32[$32>>2]; - $272 = +HEAPF32[$33>>2]; - _stbtt__csctx_rccurve_to($2,$261,$262,$263,$264,$265,$266); - _stbtt__csctx_rccurve_to($2,$267,$268,$269,$270,$271,$272); - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break L6; - break; - } - case 36: { - $273 = ($$0294331|0)<(9); - if ($273) { - $$3 = 0; - label = 80; - break L4; - } - $274 = +HEAPF32[$3>>2]; - $275 = +HEAPF32[$34>>2]; - $276 = +HEAPF32[$35>>2]; - $277 = +HEAPF32[$36>>2]; - $278 = +HEAPF32[$37>>2]; - $279 = +HEAPF32[$38>>2]; - $280 = +HEAPF32[$39>>2]; - $281 = +HEAPF32[$40>>2]; - $282 = +HEAPF32[$41>>2]; - _stbtt__csctx_rccurve_to($2,$274,$275,$276,$277,$278,0.0); - $283 = $275 + $277; - $284 = $283 + $281; - $285 = -$284; - _stbtt__csctx_rccurve_to($2,$279,0.0,$280,$281,$282,$285); - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break L6; - break; - } - case 37: { - $286 = ($$0294331|0)<(11); - if ($286) { - $$3 = 0; - label = 80; - break L4; - } - $287 = +HEAPF32[$3>>2]; - $288 = +HEAPF32[$42>>2]; - $289 = +HEAPF32[$43>>2]; - $290 = +HEAPF32[$44>>2]; - $291 = +HEAPF32[$45>>2]; - $292 = +HEAPF32[$46>>2]; - $293 = +HEAPF32[$47>>2]; - $294 = +HEAPF32[$48>>2]; - $295 = +HEAPF32[$49>>2]; - $296 = +HEAPF32[$50>>2]; - $297 = +HEAPF32[$51>>2]; - $298 = $287 + $289; - $299 = $298 + $291; - $300 = $299 + $293; - $301 = $300 + $295; - $302 = $288 + $290; - $303 = $302 + $292; - $304 = $303 + $294; - $305 = $304 + $296; - $fabsf = (+Math_abs((+$301))); - $fabsf296 = (+Math_abs((+$305))); - $306 = $fabsf > $fabsf296; - $307 = -$305; - $308 = -$301; - $$0280 = $306 ? $297 : $308; - $$0279 = $306 ? $307 : $297; - _stbtt__csctx_rccurve_to($2,$287,$288,$289,$290,$291,$292); - _stbtt__csctx_rccurve_to($2,$293,$294,$295,$296,$$0280,$$0279); - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - break L6; - break; - } - default: { - $$3 = 0; - label = 80; - break L4; - } - } - break; - } - case -1: { - label = 76; - break; - } - case 28: { - label = 77; - break; - } - default: { - $312 = ($52&255)<(32); - $313 = ($52<<24>>24)==(-1); - $or$cond3 = $312 | $313; - if ($or$cond3) { - $$3 = 0; - label = 80; - break L4; - } - if ($313) { - label = 76; - } else { - label = 77; - } - } - } - } while(0); - if ((label|0) == 54) { - label = 0; - $236 = ($$0294331|0)<(1); - if ($236) { - $$3 = 0; - label = 80; - break; - } - $237 = (($$0294331) + -1)|0; - $238 = (($3) + ($237<<2)|0); - $239 = +HEAPF32[$238>>2]; - $240 = (~~(($239))); - $241 = ($$0288332|0)>(9); - if ($241) { - $$3 = 0; - label = 80; - break; - } - $242 = (($$0288332) + 1)|0; - $243 = (($4) + (($$0288332*12)|0)|0); - ;HEAP32[$243>>2]=HEAP32[$6>>2]|0;HEAP32[$243+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$243+8>>2]=HEAP32[$6+8>>2]|0; - $244 = ($52<<24>>24)==(10); - if ($244) { - ;HEAP32[$7>>2]=HEAP32[$5>>2]|0;HEAP32[$7+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$5+8>>2]|0; - } else { - ;HEAP32[$7>>2]=HEAP32[$16>>2]|0;HEAP32[$7+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[$16+8>>2]|0; - } - ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$7+8>>2]|0; - _stbtt__get_subr($6,$$byval_copy1,$240); - $245 = HEAP32[$12>>2]|0; - $246 = ($245|0)==(0); - if ($246) { - $$3 = 0; - label = 80; - break; - } - HEAP32[$10>>2] = 0; - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$1286;$$0288$be = $242;$$0294$be = $237; - label = 73; - } - else if ((label|0) == 76) { - label = 0; - $314 = (_stbtt__buf_get($6,4)|0); - $315 = (+($314>>>0)); - $316 = $315 * 1.52587890625E-5; - $$1283 = $316; - label = 78; - } - else if ((label|0) == 77) { - label = 0; - _stbtt__buf_skip($6,-1); - $317 = (_stbtt__cff_int($6)|0); - $318 = $317&65535; - $319 = (+($318<<16>>16)); - $$1283 = $319; - label = 78; - } - if ((label|0) == 78) { - label = 0; - $320 = ($$0294331|0)>(47); - if ($320) { - $$3 = 0; - label = 80; - break; - } - $321 = (($$0294331) + 1)|0; - $322 = (($3) + ($$0294331<<2)|0); - HEAPF32[$322>>2] = $$1283; - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = $321; - label = 73; - } - while(1) { - if ((label|0) == 18) { - label = 0; - $86 = ($$1291|0)<($$0294331|0); - if (!($86)) { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - continue; - } - $87 = (($3) + ($$1291<<2)|0); - $88 = +HEAPF32[$87>>2]; - _stbtt__csctx_rline_to($2,$88,0.0); - $89 = (($$1291) + 1)|0; - $$2292 = $89; - label = 20; - continue; - } - else if ((label|0) == 20) { - label = 0; - $90 = ($$2292|0)<($$0294331|0); - if (!($90)) { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - continue; - } - $91 = (($3) + ($$2292<<2)|0); - $92 = +HEAPF32[$91>>2]; - _stbtt__csctx_rline_to($2,0.0,$92); - $93 = (($$2292) + 1)|0; - $$1291 = $93; - label = 18; - continue; - } - else if ((label|0) == 24) { - label = 0; - $96 = (($$3293) + 3)|0; - $97 = ($96|0)<($$0294331|0); - if (!($97)) { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - continue; - } - $98 = (($3) + ($$3293<<2)|0); - $99 = +HEAPF32[$98>>2]; - $100 = (($$3293) + 1)|0; - $101 = (($3) + ($100<<2)|0); - $102 = +HEAPF32[$101>>2]; - $103 = (($$3293) + 2)|0; - $104 = (($3) + ($103<<2)|0); - $105 = +HEAPF32[$104>>2]; - $106 = (($3) + ($96<<2)|0); - $107 = +HEAPF32[$106>>2]; - $108 = (($$0294331) - ($$3293))|0; - $109 = ($108|0)==(5); - if ($109) { - $110 = (($$3293) + 4)|0; - $111 = (($3) + ($110<<2)|0); - $112 = +HEAPF32[$111>>2]; - $113 = $112; - } else { - $113 = 0.0; - } - _stbtt__csctx_rccurve_to($2,0.0,$99,$102,$105,$107,$113); - $114 = (($$3293) + 4)|0; - $$4 = $114; - label = 28; - continue; - } - else if ((label|0) == 28) { - label = 0; - $115 = (($$4) + 3)|0; - $116 = ($115|0)<($$0294331|0); - if (!($116)) { - $$0274$be = $$0274335;$$0276$be = $$0276334;$$0285$be = $$0285333;$$0288$be = $$0288332;$$0294$be = 0; - label = 73; - continue; - } - $117 = (($3) + ($$4<<2)|0); - $118 = +HEAPF32[$117>>2]; - $119 = (($$4) + 1)|0; - $120 = (($3) + ($119<<2)|0); - $121 = +HEAPF32[$120>>2]; - $122 = (($$4) + 2)|0; - $123 = (($3) + ($122<<2)|0); - $124 = +HEAPF32[$123>>2]; - $125 = (($$0294331) - ($$4))|0; - $126 = ($125|0)==(5); - if ($126) { - $127 = (($$4) + 4)|0; - $128 = (($3) + ($127<<2)|0); - $129 = +HEAPF32[$128>>2]; - $132 = $129; - } else { - $132 = 0.0; - } - $130 = (($3) + ($115<<2)|0); - $131 = +HEAPF32[$130>>2]; - _stbtt__csctx_rccurve_to($2,$118,0.0,$121,$124,$132,$131); - $133 = (($$4) + 4)|0; - $$3293 = $133; - label = 24; - continue; - } - else if ((label|0) == 73) { - label = 0; - $309 = HEAP32[$10>>2]|0; - $310 = HEAP32[$12>>2]|0; - $311 = ($309|0)<($310|0); - if ($311) { - $$0274335 = $$0274$be;$$0276334 = $$0276$be;$$0285333 = $$0285$be;$$0288332 = $$0288$be;$$0294331 = $$0294$be; - continue L4; - } else { - $$3 = 0; - label = 80; - break L4; - } - } - } - } - if ((label|0) == 63) { - _stbtt__csctx_close_shape($2); - $$3 = 1; - STACKTOP = sp;return ($$3|0); - } - else if ((label|0) == 80) { - STACKTOP = sp;return ($$3|0); - } - return (0)|0; -} -function _stbtt__cff_index_get($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$off = 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, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - _stbtt__buf_seek($1,0); - $3 = (_stbtt__buf_get($1,2)|0); - $4 = (_stbtt__buf_get8($1)|0); - $5 = $4&255; - $6 = ($2|0)>(-1); - $7 = ($3|0)>($2|0); - $or$cond = $6 & $7; - if (!($or$cond)) { - ___assert_fail((13575|0),(12910|0),1117,(13595|0)); - // unreachable; - } - $$off = (($4) + -1)<<24>>24; - $8 = ($$off&255)<(4); - if ($8) { - $9 = Math_imul($5, $2)|0; - _stbtt__buf_skip($1,$9); - $10 = (_stbtt__buf_get($1,$5)|0); - $11 = (_stbtt__buf_get($1,$5)|0); - $12 = (($3) + 1)|0; - $13 = Math_imul($5, $12)|0; - $14 = (($13) + 2)|0; - $15 = (($14) + ($10))|0; - $16 = (($11) - ($10))|0; - _stbtt__buf_range($0,$1,$15,$16); - return; - } else { - ___assert_fail((13492|0),(12910|0),1118,(13595|0)); - // unreachable; - } -} -function _stbtt__buf_get8($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; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2|0)<($4|0); - if (!($5)) { - $$0 = 0; - return ($$0|0); - } - $6 = (($2) + 1)|0; - $7 = HEAP32[$0>>2]|0; - HEAP32[$1>>2] = $6; - $8 = (($7) + ($2)|0); - $9 = HEAP8[$8>>0]|0; - $$0 = $9; - return ($$0|0); -} -function _stbtt__buf_skip($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (($3) + ($1))|0; - _stbtt__buf_seek($0,$4); - return; -} -function _stbtt__csctx_rmove_to($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - _stbtt__csctx_close_shape($0); - $3 = ((($0)) + 16|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 + $1; - HEAPF32[$3>>2] = $5; - $6 = ((($0)) + 8|0); - HEAPF32[$6>>2] = $5; - $7 = ((($0)) + 20|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 + $2; - HEAPF32[$7>>2] = $9; - $10 = ((($0)) + 12|0); - HEAPF32[$10>>2] = $9; - $11 = +HEAPF32[$3>>2]; - $12 = (~~(($11))); - $13 = (~~(($9))); - _stbtt__csctx_v($0,1,$12,$13,0,0,0,0); - return; -} -function _stbtt__csctx_rline_to($0,$1,$2) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 16|0); - $4 = +HEAPF32[$3>>2]; - $5 = $4 + $1; - HEAPF32[$3>>2] = $5; - $6 = ((($0)) + 20|0); - $7 = +HEAPF32[$6>>2]; - $8 = $7 + $2; - HEAPF32[$6>>2] = $8; - $9 = (~~(($5))); - $10 = (~~(($8))); - _stbtt__csctx_v($0,2,$9,$10,0,0,0,0); - return; -} -function _stbtt__csctx_rccurve_to($0,$1,$2,$3,$4,$5,$6) { - $0 = $0|0; - $1 = +$1; - $2 = +$2; - $3 = +$3; - $4 = +$4; - $5 = +$5; - $6 = +$6; - var $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $7 = ((($0)) + 16|0); - $8 = +HEAPF32[$7>>2]; - $9 = $8 + $1; - $10 = ((($0)) + 20|0); - $11 = +HEAPF32[$10>>2]; - $12 = $11 + $2; - $13 = $9 + $3; - $14 = $12 + $4; - $15 = $13 + $5; - HEAPF32[$7>>2] = $15; - $16 = $14 + $6; - HEAPF32[$10>>2] = $16; - $17 = (~~(($15))); - $18 = (~~(($16))); - $19 = (~~(($9))); - $20 = (~~(($12))); - $21 = (~~(($13))); - $22 = (~~(($14))); - _stbtt__csctx_v($0,4,$17,$18,$19,$20,$21,$22); - return; -} -function _stbtt__cid_get_glyph_subrs($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$02931 = 0, $$03034 = 0, $$035 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $$byval_copy2 = sp + 36|0; - $$byval_copy1 = sp + 24|0; - $3 = sp; - $4 = sp + 12|0; - $5 = ((($1)) + 108|0); - ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$5+8>>2]|0; - _stbtt__buf_seek($3,0); - $6 = (_stbtt__buf_get8($3)|0); - L1: do { - switch ($6<<24>>24) { - case 0: { - _stbtt__buf_skip($3,$2); - $7 = (_stbtt__buf_get8($3)|0); - $8 = $7&255; - $$02931 = $8; - break; - } - case 3: { - $9 = (_stbtt__buf_get($3,2)|0); - $10 = (_stbtt__buf_get($3,2)|0); - $11 = ($9|0)>(0); - if ($11) { - $$03034 = $10;$$035 = 0; - while(1) { - $14 = (_stbtt__buf_get8($3)|0); - $15 = (_stbtt__buf_get($3,2)|0); - $16 = ($$03034|0)<=($2|0); - $17 = ($15|0)>($2|0); - $or$cond = $16 & $17; - $13 = (($$035) + 1)|0; - if ($or$cond) { - break; - } - $12 = ($13|0)<($9|0); - if ($12) { - $$03034 = $15;$$035 = $13; - } else { - label = 6; - break L1; - } - } - $18 = $14&255; - $$02931 = $18; - } else { - label = 6; - } - break; - } - default: { - label = 6; - } - } - } while(0); - if ((label|0) == 6) { - _stbtt__new_buf($$byval_copy2,0,0); - $$02931 = -1; - } - $19 = ((($1)) + 48|0); - $20 = ((($1)) + 96|0); - ;HEAP32[$$byval_copy2>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$20+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$20+8>>2]|0; - _stbtt__cff_index_get($4,$$byval_copy2,$$02931); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$19+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$19+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; - _stbtt__get_subrs($0,$$byval_copy1,$$byval_copy2); - STACKTOP = sp;return; -} -function _stbtt__get_subr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$0 = 0, $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $$byval_copy = sp; - $3 = (_stbtt__cff_index_count($1)|0); - $4 = ($3|0)>(33899); - $5 = ($3|0)>(1239); - $$ = $5 ? 1131 : 107; - $$0 = $4 ? 32768 : $$; - $6 = (($$0) + ($2))|0; - $7 = ($6|0)>(-1); - $8 = ($6|0)<($3|0); - $or$cond = $7 & $8; - if ($or$cond) { - ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$1+8>>2]|0; - _stbtt__cff_index_get($0,$$byval_copy,$6); - STACKTOP = sp;return; - } else { - _stbtt__new_buf($0,0,0); - STACKTOP = sp;return; - } -} -function _stbtt__csctx_close_shape($0) { - $0 = $0|0; - var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 8|0); - $2 = +HEAPF32[$1>>2]; - $3 = ((($0)) + 16|0); - $4 = +HEAPF32[$3>>2]; - $5 = $2 != $4; - $6 = ((($0)) + 12|0); - $7 = +HEAPF32[$6>>2]; - if (!($5)) { - $8 = ((($0)) + 20|0); - $9 = +HEAPF32[$8>>2]; - $10 = $7 != $9; - if (!($10)) { - return; - } - } - $11 = (~~(($2))); - $12 = (~~(($7))); - _stbtt__csctx_v($0,2,$11,$12,0,0,0,0); - return; -} -function _stbtt__buf_get($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01011 = 0, $$012 = 0, $$off = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $exitcond = 0, label = 0, sp = 0; - sp = STACKTOP; - $$off = (($1) + -1)|0; - $2 = ($$off>>>0)<(4); - if ($2) { - $$01011 = 0;$$012 = 0; - } else { - ___assert_fail((13387|0),(12910|0),1013,(13404|0)); - // unreachable; - } - while(1) { - $3 = $$01011 << 8; - $4 = (_stbtt__buf_get8($0)|0); - $5 = $4&255; - $6 = $5 | $3; - $7 = (($$012) + 1)|0; - $exitcond = ($7|0)==($1|0); - if ($exitcond) { - break; - } else { - $$01011 = $6;$$012 = $7; - } - } - return ($6|0); -} -function _stbtt__cff_int($0) { - $0 = $0|0; - var $$0 = 0, $$off = 0, $$off19 = 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; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbtt__buf_get8($0)|0); - $2 = $1&255; - $$off = (($1) + -32)<<24>>24; - $3 = ($$off&255)<(215); - if ($3) { - $4 = (($2) + -139)|0; - $$0 = $4; - return ($$0|0); - } - $$off19 = (($1) + 9)<<24>>24; - $5 = ($$off19&255)<(4); - if ($5) { - $6 = $2 << 8; - $7 = (($6) + -63232)|0; - $8 = (_stbtt__buf_get8($0)|0); - $9 = $8&255; - $10 = $9 | $7; - $11 = (($10) + 108)|0; - $$0 = $11; - return ($$0|0); - } - $12 = ($1&255)>(250); - $13 = ($1<<24>>24)!=(-1); - $or$cond5 = $12 & $13; - if ($or$cond5) { - $14 = (251 - ($2))|0; - $15 = $14 << 8; - $16 = (_stbtt__buf_get8($0)|0); - $17 = $16&255; - $18 = (($15) + -108)|0; - $19 = (($18) - ($17))|0; - $$0 = $19; - return ($$0|0); - } - switch ($1<<24>>24) { - case 28: { - $20 = (_stbtt__buf_get($0,2)|0); - $$0 = $20; - return ($$0|0); - break; - } - case 29: { - $21 = (_stbtt__buf_get($0,4)|0); - $$0 = $21; - return ($$0|0); - break; - } - default: { - ___assert_fail((13370|0),(12910|0),1063,(13372|0)); - // unreachable; - } - } - return (0)|0; -} -function _stbtt__csctx_v($0,$1,$2,$3,$4,$5,$6,$7) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - var $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, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $8 = HEAP32[$0>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - $11 = ((($0)) + 40|0); - $12 = HEAP32[$11>>2]|0; - $13 = ((($0)) + 44|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($12) + (($14*14)|0)|0); - _stbtt_setvertex($15,$1,$2,$3,$4,$5); - $16 = $6&65535; - $17 = HEAP32[$11>>2]|0; - $18 = HEAP32[$13>>2]|0; - $19 = (((($17) + (($18*14)|0)|0)) + 8|0); - HEAP16[$19>>1] = $16; - $20 = $7&65535; - $21 = HEAP32[$11>>2]|0; - $22 = HEAP32[$13>>2]|0; - $23 = (((($21) + (($22*14)|0)|0)) + 10|0); - HEAP16[$23>>1] = $20; - } else { - _stbtt__track_vertex($0,$2,$3); - $10 = ($1<<24>>24)==(4); - if ($10) { - _stbtt__track_vertex($0,$4,$5); - _stbtt__track_vertex($0,$6,$7); - } - } - $24 = ((($0)) + 44|0); - $25 = HEAP32[$24>>2]|0; - $26 = (($25) + 1)|0; - HEAP32[$24>>2] = $26; - return; -} -function _stbtt__track_vertex($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $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, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 28|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)<($1|0); - if ($5) { - label = 3; - } else { - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = ($7|0)==(0); - if ($8) { - label = 3; - } - } - if ((label|0) == 3) { - HEAP32[$3>>2] = $1; - } - $9 = ((($0)) + 36|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)<($2|0); - if ($11) { - label = 6; - } else { - $12 = ((($0)) + 4|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($13|0)==(0); - if ($14) { - label = 6; - } - } - if ((label|0) == 6) { - HEAP32[$9>>2] = $2; - } - $15 = ((($0)) + 24|0); - $16 = HEAP32[$15>>2]|0; - $17 = ($16|0)>($1|0); - if ($17) { - label = 9; - } else { - $18 = ((($0)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = ($19|0)==(0); - if ($20) { - label = 9; - } - } - if ((label|0) == 9) { - HEAP32[$15>>2] = $1; - } - $21 = ((($0)) + 32|0); - $22 = HEAP32[$21>>2]|0; - $23 = ($22|0)>($2|0); - if (!($23)) { - $24 = ((($0)) + 4|0); - $25 = HEAP32[$24>>2]|0; - $26 = ($25|0)==(0); - if (!($26)) { - $27 = ((($0)) + 4|0); - HEAP32[$27>>2] = 1; - return; - } - } - HEAP32[$21>>2] = $2; - $27 = ((($0)) + 4|0); - HEAP32[$27>>2] = 1; - return; -} -function _stbtt_setvertex($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $6 = ((($0)) + 12|0); - HEAP8[$6>>0] = $1; - $7 = $2&65535; - HEAP16[$0>>1] = $7; - $8 = $3&65535; - $9 = ((($0)) + 2|0); - HEAP16[$9>>1] = $8; - $10 = $4&65535; - $11 = ((($0)) + 4|0); - HEAP16[$11>>1] = $10; - $12 = $5&65535; - $13 = ((($0)) + 6|0); - HEAP16[$13>>1] = $12; - return; -} -function _stbtt__cff_index_count($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - _stbtt__buf_seek($0,0); - $1 = (_stbtt__buf_get($0,2)|0); - return ($1|0); -} -function _stbtt__new_buf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2>>>0)<(1073741824); - if ($3) { - HEAP32[$0>>2] = $1; - $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); - HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 0; - $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); - HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; - return; - } else { - ___assert_fail((13419|0),(12910|0),1022,(13437|0)); - // unreachable; - } -} -function _stbtt__buf_seek($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 8|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<($1|0); - $5 = ($1|0)<(0); - $or$cond = $5 | $4; - if ($or$cond) { - ___assert_fail((13452|0),(12910|0),1000,(13476|0)); - // unreachable; - } else { - $6 = ((($0)) + 4|0); - HEAP32[$6>>2] = $1; - return; - } -} -function _stbtt__get_subrs($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $3 = sp + 20|0; - $4 = sp; - $5 = sp + 8|0; - HEAP32[$3>>2] = 0; - $6 = $4; - $7 = $6; - HEAP32[$7>>2] = 0; - $8 = (($6) + 4)|0; - $9 = $8; - HEAP32[$9>>2] = 0; - _stbtt__dict_get_ints($2,18,2,$4); - $10 = ((($4)) + 4|0); - $11 = HEAP32[$10>>2]|0; - $12 = ($11|0)==(0); - if (!($12)) { - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)==(0); - if (!($14)) { - _stbtt__buf_range($5,$1,$11,$13); - _stbtt__dict_get_ints($5,19,1,$3); - $15 = HEAP32[$3>>2]|0; - $16 = ($15|0)==(0); - if ($16) { - _stbtt__new_buf($0,0,0); - STACKTOP = sp;return; - } else { - $17 = HEAP32[$10>>2]|0; - $18 = (($17) + ($15))|0; - _stbtt__buf_seek($1,$18); - _stbtt__cff_get_index($0,$1); - STACKTOP = sp;return; - } - } - } - _stbtt__new_buf($0,0,0); - STACKTOP = sp;return; -} -function _stbtt__dict_get_ints($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$07 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 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); - $4 = sp; - _stbtt__dict_get($4,$0,$1); - $5 = ((($4)) + 4|0); - $6 = ($2|0)>(0); - if (!($6)) { - STACKTOP = sp;return; - } - $7 = ((($4)) + 8|0); - $$07 = 0; - while(1) { - $8 = HEAP32[$5>>2]|0; - $9 = HEAP32[$7>>2]|0; - $10 = ($8|0)<($9|0); - if (!($10)) { - label = 5; - break; - } - $11 = (_stbtt__cff_int($4)|0); - $12 = (($3) + ($$07<<2)|0); - HEAP32[$12>>2] = $11; - $13 = (($$07) + 1)|0; - $14 = ($13|0)<($2|0); - if ($14) { - $$07 = $13; - } else { - label = 5; - break; - } - } - if ((label|0) == 5) { - STACKTOP = sp;return; - } -} -function _stbtt__buf_range($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $4 = sp; - _stbtt__new_buf($4,0,0); - $5 = $3 | $2; - $6 = ($5|0)<(0); - if (!($6)) { - $7 = ((($1)) + 8|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)<($2|0); - $10 = (($8) - ($2))|0; - $11 = ($10|0)<($3|0); - $or$cond = $9 | $11; - if (!($or$cond)) { - $12 = HEAP32[$1>>2]|0; - $13 = (($12) + ($2)|0); - HEAP32[$4>>2] = $13; - $14 = ((($4)) + 8|0); - HEAP32[$14>>2] = $3; - ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; - STACKTOP = sp;return; - } - } - ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$4+8>>2]|0; - STACKTOP = sp;return; -} -function _stbtt__cff_get_index($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$off = 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 = ((($1)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = (_stbtt__buf_get($1,2)|0); - $5 = ($4|0)==(0); - if ($5) { - $12 = HEAP32[$2>>2]|0; - $13 = (($12) - ($3))|0; - _stbtt__buf_range($0,$1,$3,$13); - return; - } - $6 = (_stbtt__buf_get8($1)|0); - $7 = $6&255; - $$off = (($6) + -1)<<24>>24; - $8 = ($$off&255)<(4); - if (!($8)) { - ___assert_fail((13492|0),(12910|0),1048,(13521|0)); - // unreachable; - } - $9 = Math_imul($7, $4)|0; - _stbtt__buf_skip($1,$9); - $10 = (_stbtt__buf_get($1,$7)|0); - $11 = (($10) + -1)|0; - _stbtt__buf_skip($1,$11); - $12 = HEAP32[$2>>2]|0; - $13 = (($12) - ($3))|0; - _stbtt__buf_range($0,$1,$3,$13); - return; -} -function _stbtt__dict_get($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$021 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - _stbtt__buf_seek($1,0); - $3 = ((($1)) + 4|0); - $4 = ((($1)) + 8|0); - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5|0)<($6|0); - if (!($7)) { - label = 9; - break; - } - $8 = (_stbtt__buf_peek8($1)|0); - $9 = ($8&255)>(27); - if ($9) { - while(1) { - _stbtt__cff_skip_operand($1); - $10 = (_stbtt__buf_peek8($1)|0); - $11 = ($10&255)>(27); - if (!($11)) { - break; - } - } - } - $12 = HEAP32[$3>>2]|0; - $13 = (_stbtt__buf_get8($1)|0); - $14 = $13&255; - $15 = ($13<<24>>24)==(12); - if ($15) { - $16 = (_stbtt__buf_get8($1)|0); - $17 = $16&255; - $18 = $17 | 256; - $$021 = $18; - } else { - $$021 = $14; - } - $19 = ($$021|0)==($2|0); - if ($19) { - label = 8; - break; - } - } - if ((label|0) == 8) { - $20 = (($12) - ($5))|0; - _stbtt__buf_range($0,$1,$5,$20); - return; - } - else if ((label|0) == 9) { - _stbtt__buf_range($0,$1,0,0); - return; - } -} -function _stbtt__buf_peek8($0) { - $0 = $0|0; - var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 4|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 8|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($2|0)<($4|0); - if (!($5)) { - $$0 = 0; - return ($$0|0); - } - $6 = HEAP32[$0>>2]|0; - $7 = (($6) + ($2)|0); - $8 = HEAP8[$7>>0]|0; - $$0 = $8; - return ($$0|0); -} -function _stbtt__cff_skip_operand($0) { - $0 = $0|0; - var $$mask = 0, $1 = 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, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_stbtt__buf_peek8($0)|0); - $2 = ($1&255)>(27); - if (!($2)) { - ___assert_fail((13542|0),(12910|0),1069,(13551|0)); - // unreachable; - } - $3 = ($1<<24>>24)==(30); - if (!($3)) { - (_stbtt__cff_int($0)|0); - return; - } - _stbtt__buf_skip($0,1); - $4 = ((($0)) + 4|0); - $5 = ((($0)) + 8|0); - while(1) { - $6 = HEAP32[$4>>2]|0; - $7 = HEAP32[$5>>2]|0; - $8 = ($6|0)<($7|0); - if (!($8)) { - label = 8; - break; - } - $9 = (_stbtt__buf_get8($0)|0); - $10 = $9&255; - $11 = $10 & 15; - $12 = ($11|0)==(15); - $$mask = $10 & 240; - $13 = ($$mask|0)==(240); - $or$cond = $12 | $13; - if ($or$cond) { - label = 8; - break; - } - } - if ((label|0) == 8) { - return; - } -} -function _stbtt__GetGlyphShapeTT($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0348453 = 0, $$0353439 = 0, $$0361449 = 0, $$0363450 = 0, $$0364448 = 0, $$0366447 = 0, $$0372451 = 0, $$0377437 = 0, $$0379436 = 0, $$0381446 = 0, $$0387435 = 0, $$0390434 = 0, $$0393433 = 0, $$0396432 = 0, $$0399431 = 0, $$0401430 = 0, $$0403440 = 0, $$0405443 = 0, $$0407429 = 0, $$0409428 = 0; - var $$1349 = 0, $$1354 = 0, $$1362 = 0, $$1365 = 0, $$1367445 = 0, $$1378 = 0, $$1380 = 0, $$1382 = 0, $$1388 = 0, $$1391 = 0, $$1394 = 0, $$1397 = 0, $$1400 = 0, $$1402 = 0, $$1404 = 0, $$1406 = 0, $$1408 = 0, $$1410 = 0, $$2368442 = 0, $$2374 = 0; - var $$2383444 = 0, $$2389 = 0, $$2392 = 0, $$2395 = 0, $$2398 = 0, $$3356 = 0, $$3369438 = 0, $$3384 = 0, $$4 = 0, $$4352 = 0, $$4370 = 0, $$4385441 = 0, $$5371 = 0, $$5386 = 0, $$5452 = 0, $$6 = 0, $$9 = 0, $$sink = 0, $$sroa$0$0 = 0.0, $$sroa$10$0 = 0.0; - var $$sroa$17$0 = 0.0, $$sroa$24$0 = 0.0, $$sroa$31$0 = 0.0, $$sroa$35$0 = 0.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, $113 = 0; - var $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, $131 = 0; - var $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, $15 = 0; - var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0.0, $158 = 0, $159 = 0.0, $16 = 0, $160 = 0, $161 = 0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0.0, $168 = 0.0; - var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0.0, $174 = 0.0, $175 = 0, $176 = 0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0.0, $184 = 0.0, $185 = 0, $186 = 0; - var $187 = 0.0, $188 = 0.0, $189 = 0, $19 = 0, $190 = 0, $191 = 0.0, $192 = 0.0, $193 = 0, $194 = 0, $195 = 0.0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0.0, $204 = 0; - var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0.0, $213 = 0.0, $214 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $219 = 0, $22 = 0, $220 = 0.0, $221 = 0.0, $222 = 0.0; - var $223 = 0.0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0.0, $234 = 0.0, $235 = 0.0, $236 = 0.0, $237 = 0, $238 = 0.0, $239 = 0.0, $24 = 0, $240 = 0.0; - var $241 = 0.0, $242 = 0.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, $258 = 0, $259 = 0; - var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $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, $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, $exitcond = 0, $exitcond458 = 0, $exitcond459 = 0, $exitcond460 = 0, $sext = 0, $sext412 = 0, $sqrtf = 0.0, $sqrtf411 = 0.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|0); - $5 = HEAP32[$4>>2]|0; - $6 = (_stbtt__GetGlyfOffset($0,$1)|0); - HEAP32[$2>>2] = 0; - $7 = ($6|0)<(0); - if ($7) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $8 = (($5) + ($6)|0); - $9 = (_ttSHORT($8)|0); - $10 = ($9<<16>>16)>(0); - L4: do { - if ($10) { - $11 = $9 << 16 >> 16; - $12 = ((($8)) + 10|0); - $13 = $11 << 1; - $14 = (($12) + ($13)|0); - $15 = (_ttUSHORT($14)|0); - $16 = ((($14)) + -2|0); - $17 = (_ttUSHORT($16)|0); - $18 = $17&65535; - $19 = $13 | 1; - $20 = (($19) + ($18))|0; - $21 = ($20*14)|0; - $22 = (_malloc($21)|0); - $23 = ($22|0)==(0|0); - if ($23) { - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - $24 = ((($14)) + 2|0); - $25 = $15&65535; - $26 = (($24) + ($25)|0); - $$0361449 = 0;$$0364448 = 0;$$0366447 = 0;$$0381446 = $26; - while(1) { - $27 = ($$0364448<<24>>24)==(0); - if ($27) { - $28 = ((($$0381446)) + 1|0); - $29 = HEAP8[$$0381446>>0]|0; - $30 = $29 & 8; - $31 = ($30<<24>>24)==(0); - if ($31) { - $$1362 = $29;$$1365 = 0;$$1382 = $28; - } else { - $32 = ((($$0381446)) + 2|0); - $33 = HEAP8[$28>>0]|0; - $$1362 = $29;$$1365 = $33;$$1382 = $32; - } - } else { - $34 = (($$0364448) + -1)<<24>>24; - $$1362 = $$0361449;$$1365 = $34;$$1382 = $$0381446; - } - $35 = (($$0366447) + ($13))|0; - $36 = (((($22) + (($35*14)|0)|0)) + 12|0); - HEAP8[$36>>0] = $$1362; - $37 = (($$0366447) + 1)|0; - $exitcond459 = ($$0366447|0)==($18|0); - if ($exitcond459) { - $$0405443 = 0;$$1367445 = 0;$$2383444 = $$1382; - break; - } else { - $$0361449 = $$1362;$$0364448 = $$1365;$$0366447 = $37;$$0381446 = $$1382; - } - } - while(1) { - $38 = (($$1367445) + ($13))|0; - $39 = (((($22) + (($38*14)|0)|0)) + 12|0); - $40 = HEAP8[$39>>0]|0; - $41 = $40&255; - $42 = $41 & 2; - $43 = ($42|0)==(0); - $44 = $41 & 16; - $45 = ($44|0)!=(0); - if ($43) { - if ($45) { - $$1406 = $$0405443;$$3384 = $$2383444; - } else { - $52 = HEAP8[$$2383444>>0]|0; - $53 = $52&255; - $54 = $53 << 8; - $55 = ((($$2383444)) + 1|0); - $56 = HEAP8[$55>>0]|0; - $57 = $56&255; - $58 = $54 | $57; - $sext412 = $58 << 16; - $59 = $sext412 >> 16; - $60 = (($59) + ($$0405443))|0; - $61 = ((($$2383444)) + 2|0); - $$1406 = $60;$$3384 = $61; - } - } else { - $46 = ((($$2383444)) + 1|0); - $47 = HEAP8[$$2383444>>0]|0; - $48 = $47&255; - $49 = (0 - ($48))|0; - $50 = $45 ? $48 : $49; - $51 = (($50) + ($$0405443))|0; - $$1406 = $51;$$3384 = $46; - } - $62 = $$1406&65535; - $63 = (($22) + (($38*14)|0)|0); - HEAP16[$63>>1] = $62; - $64 = (($$1367445) + 1)|0; - $exitcond458 = ($$1367445|0)==($18|0); - if ($exitcond458) { - $$0403440 = 0;$$2368442 = 0;$$4385441 = $$3384; - break; - } else { - $$0405443 = $$1406;$$1367445 = $64;$$2383444 = $$3384; - } - } - while(1) { - $65 = (($$2368442) + ($13))|0; - $66 = (((($22) + (($65*14)|0)|0)) + 12|0); - $67 = HEAP8[$66>>0]|0; - $68 = $67&255; - $69 = $68 & 4; - $70 = ($69|0)==(0); - $71 = $68 & 32; - $72 = ($71|0)!=(0); - if ($70) { - if ($72) { - $$1404 = $$0403440;$$5386 = $$4385441; - } else { - $79 = HEAP8[$$4385441>>0]|0; - $80 = $79&255; - $81 = $80 << 8; - $82 = ((($$4385441)) + 1|0); - $83 = HEAP8[$82>>0]|0; - $84 = $83&255; - $85 = $81 | $84; - $sext = $85 << 16; - $86 = $sext >> 16; - $87 = (($86) + ($$0403440))|0; - $88 = ((($$4385441)) + 2|0); - $$1404 = $87;$$5386 = $88; - } - } else { - $73 = ((($$4385441)) + 1|0); - $74 = HEAP8[$$4385441>>0]|0; - $75 = $74&255; - $76 = (0 - ($75))|0; - $77 = $72 ? $75 : $76; - $78 = (($77) + ($$0403440))|0; - $$1404 = $78;$$5386 = $73; - } - $89 = $$1404&65535; - $90 = (((($22) + (($65*14)|0)|0)) + 2|0); - HEAP16[$90>>1] = $89; - $91 = (($$2368442) + 1)|0; - $exitcond = ($$2368442|0)==($18|0); - if ($exitcond) { - $$0353439 = 0;$$0377437 = 0;$$0379436 = 0;$$0387435 = 0;$$0390434 = 0;$$0393433 = 0;$$0396432 = 0;$$0399431 = 0;$$0401430 = 0;$$0407429 = 0;$$0409428 = 0;$$3369438 = 0; - break; - } else { - $$0403440 = $$1404;$$2368442 = $91;$$4385441 = $$5386; - } - } - while(1) { - $92 = (($$3369438) + ($13))|0; - $93 = (((($22) + (($92*14)|0)|0)) + 12|0); - $94 = HEAP8[$93>>0]|0; - $95 = (($22) + (($92*14)|0)|0); - $96 = HEAP16[$95>>1]|0; - $97 = $96 << 16 >> 16; - $98 = (((($22) + (($92*14)|0)|0)) + 2|0); - $99 = HEAP16[$98>>1]|0; - $100 = $99 << 16 >> 16; - $101 = ($$0379436|0)==($$3369438|0); - $102 = $94 & 1; - $103 = ($102<<24>>24)!=(0); - do { - if ($101) { - $104 = ($$3369438|0)==(0); - if ($104) { - $$1354 = $$0353439; - } else { - $105 = (_stbtt__close_shape($22,$$0353439,$$0409428,$$0407429,$$0396432,$$0393433,$$0390434,$$0387435,$$0401430,$$0399431)|0); - $$1354 = $105; - } - $106 = $103 ^ 1; - $107 = $106&1; - do { - if ($103) { - $$1388 = $$0387435;$$1391 = $$0390434;$$1394 = $100;$$1397 = $97;$$4370 = $$3369438; - } else { - $108 = (($92) + 1)|0; - $109 = (((($22) + (($108*14)|0)|0)) + 12|0); - $110 = HEAP8[$109>>0]|0; - $111 = $110 & 1; - $112 = ($111<<24>>24)==(0); - $113 = (((($22) + (($108*14)|0)|0)) + 2|0); - $114 = HEAP16[$113>>1]|0; - $115 = (($22) + (($108*14)|0)|0); - $116 = HEAP16[$115>>1]|0; - $117 = $114 << 16 >> 16; - $118 = $116 << 16 >> 16; - if ($112) { - $119 = (($118) + ($97))|0; - $120 = $119 >> 1; - $121 = (($117) + ($100))|0; - $122 = $121 >> 1; - $$1388 = $100;$$1391 = $97;$$1394 = $122;$$1397 = $120;$$4370 = $$3369438; - break; - } else { - $123 = (($$3369438) + 1)|0; - $$1388 = $100;$$1391 = $97;$$1394 = $117;$$1397 = $118;$$4370 = $123; - break; - } - } - } while(0); - $124 = (($$1354) + 1)|0; - $125 = (($22) + (($$1354*14)|0)|0); - _stbtt_setvertex($125,1,$$1397,$$1394,0,0); - $126 = $$0377437 << 1; - $127 = (($12) + ($126)|0); - $128 = (_ttUSHORT($127)|0); - $129 = $128&65535; - $130 = (($129) + 1)|0; - $131 = (($$0377437) + 1)|0; - $$1378 = $131;$$1380 = $130;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $107;$$1410 = 0;$$2389 = $$1388;$$2392 = $$1391;$$2395 = $$1394;$$2398 = $$1397;$$3356 = $124;$$5371 = $$4370; - } else { - $132 = ($$0409428|0)!=(0); - $133 = (($$0353439) + 1)|0; - $134 = (($22) + (($$0353439*14)|0)|0); - if (!($103)) { - if (!($132)) { - $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $$0353439;$$5371 = $$3369438; - break; - } - $135 = (($100) + ($$0399431))|0; - $136 = $135 >> 1; - $137 = (($97) + ($$0401430))|0; - $138 = $137 >> 1; - _stbtt_setvertex($134,3,$138,$136,$$0401430,$$0399431); - $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $100;$$1402 = $97;$$1408 = $$0407429;$$1410 = 1;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; - break; - } - if ($132) { - _stbtt_setvertex($134,3,$97,$100,$$0401430,$$0399431); - $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; - break; - } else { - _stbtt_setvertex($134,2,$97,$100,0,0); - $$1378 = $$0377437;$$1380 = $$0379436;$$1400 = $$0399431;$$1402 = $$0401430;$$1408 = $$0407429;$$1410 = 0;$$2389 = $$0387435;$$2392 = $$0390434;$$2395 = $$0393433;$$2398 = $$0396432;$$3356 = $133;$$5371 = $$3369438; - break; - } - } - } while(0); - $139 = (($$5371) + 1)|0; - $140 = ($$5371|0)<($18|0); - if ($140) { - $$0353439 = $$3356;$$0377437 = $$1378;$$0379436 = $$1380;$$0387435 = $$2389;$$0390434 = $$2392;$$0393433 = $$2395;$$0396432 = $$2398;$$0399431 = $$1400;$$0401430 = $$1402;$$0407429 = $$1408;$$0409428 = $$1410;$$3369438 = $139; - } else { - break; - } - } - $141 = (_stbtt__close_shape($22,$$3356,$$1410,$$1408,$$2398,$$2395,$$2392,$$2389,$$1402,$$1400)|0); - $$4352 = $22;$$9 = $141; - } else { - $142 = ($9<<16>>16)==(-1); - if (!($142)) { - $264 = ($9<<16>>16)<(0); - if (!($264)) { - $$4352 = 0;$$9 = 0; - break; - } - ___assert_fail((13370|0),(12910|0),1723,(13689|0)); - // unreachable; - } - $143 = ((($8)) + 10|0); - $$0348453 = 0;$$0372451 = $143;$$5452 = 0;$250 = 0;$255 = 0;$260 = 0; - while(1) { - HEAP32[$3>>2] = 0; - $144 = (_ttSHORT($$0372451)|0); - $145 = ((($$0372451)) + 2|0); - $146 = (_ttSHORT($145)|0); - $147 = ((($$0372451)) + 4|0); - $148 = $144&65535; - $149 = $148 & 2; - $150 = ($149|0)==(0); - if ($150) { - label = 42; - break; - } - $151 = $148 & 1; - $152 = ($151|0)==(0); - if ($152) { - $158 = HEAP8[$147>>0]|0; - $159 = (+($158<<24>>24)); - $160 = ((($$0372451)) + 5|0); - $161 = HEAP8[$160>>0]|0; - $162 = (+($161<<24>>24)); - $$sink = 6;$$sroa$31$0 = $159;$$sroa$35$0 = $162; - } else { - $153 = (_ttSHORT($147)|0); - $154 = (+($153<<16>>16)); - $155 = ((($$0372451)) + 6|0); - $156 = (_ttSHORT($155)|0); - $157 = (+($156<<16>>16)); - $$sink = 8;$$sroa$31$0 = $154;$$sroa$35$0 = $157; - } - $163 = (($$0372451) + ($$sink)|0); - $164 = $148 & 8; - $165 = ($164|0)==(0); - do { - if ($165) { - $170 = $148 & 64; - $171 = ($170|0)==(0); - if (!($171)) { - $172 = (_ttSHORT($163)|0); - $173 = (+($172<<16>>16)); - $174 = $173 * 6.103515625E-5; - $175 = ((($163)) + 2|0); - $176 = (_ttSHORT($175)|0); - $177 = (+($176<<16>>16)); - $178 = $177 * 6.103515625E-5; - $179 = ((($163)) + 4|0); - $$2374 = $179;$$sroa$0$0 = $174;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $178; - break; - } - $180 = $148 & 128; - $181 = ($180|0)==(0); - if ($181) { - $$2374 = $163;$$sroa$0$0 = 1.0;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = 1.0; - } else { - $182 = (_ttSHORT($163)|0); - $183 = (+($182<<16>>16)); - $184 = $183 * 6.103515625E-5; - $185 = ((($163)) + 2|0); - $186 = (_ttSHORT($185)|0); - $187 = (+($186<<16>>16)); - $188 = $187 * 6.103515625E-5; - $189 = ((($163)) + 4|0); - $190 = (_ttSHORT($189)|0); - $191 = (+($190<<16>>16)); - $192 = $191 * 6.103515625E-5; - $193 = ((($163)) + 6|0); - $194 = (_ttSHORT($193)|0); - $195 = (+($194<<16>>16)); - $196 = $195 * 6.103515625E-5; - $197 = ((($163)) + 8|0); - $$2374 = $197;$$sroa$0$0 = $184;$$sroa$10$0 = $188;$$sroa$17$0 = $192;$$sroa$24$0 = $196; - } - } else { - $166 = (_ttSHORT($163)|0); - $167 = (+($166<<16>>16)); - $168 = $167 * 6.103515625E-5; - $169 = ((($163)) + 2|0); - $$2374 = $169;$$sroa$0$0 = $168;$$sroa$10$0 = 0.0;$$sroa$17$0 = 0.0;$$sroa$24$0 = $168; - } - } while(0); - $198 = $$sroa$0$0 * $$sroa$0$0; - $199 = $$sroa$10$0 * $$sroa$10$0; - $200 = $199 + $198; - $sqrtf = (+Math_sqrt((+$200))); - $201 = $$sroa$17$0 * $$sroa$17$0; - $202 = $$sroa$24$0 * $$sroa$24$0; - $203 = $202 + $201; - $sqrtf411 = (+Math_sqrt((+$203))); - $204 = $146&65535; - $205 = (_stbtt_GetGlyphShape($0,$204,$3)|0); - $206 = ($205|0)>(0); - if ($206) { - $207 = HEAP32[$3>>2]|0; - $$0363450 = 0; - while(1) { - $208 = (($207) + (($$0363450*14)|0)|0); - $209 = HEAP16[$208>>1]|0; - $210 = (((($207) + (($$0363450*14)|0)|0)) + 2|0); - $211 = HEAP16[$210>>1]|0; - $212 = (+($209<<16>>16)); - $213 = $$sroa$0$0 * $212; - $214 = (+($211<<16>>16)); - $215 = $$sroa$17$0 * $214; - $216 = $213 + $215; - $217 = $$sroa$31$0 + $216; - $218 = $sqrtf * $217; - $219 = (~~(($218))); - HEAP16[$208>>1] = $219; - $220 = $$sroa$10$0 * $212; - $221 = $$sroa$24$0 * $214; - $222 = $220 + $221; - $223 = $$sroa$35$0 + $222; - $224 = $sqrtf411 * $223; - $225 = (~~(($224))); - HEAP16[$210>>1] = $225; - $226 = (((($207) + (($$0363450*14)|0)|0)) + 4|0); - $227 = HEAP16[$226>>1]|0; - $228 = (((($207) + (($$0363450*14)|0)|0)) + 6|0); - $229 = HEAP16[$228>>1]|0; - $230 = (+($227<<16>>16)); - $231 = $$sroa$0$0 * $230; - $232 = (+($229<<16>>16)); - $233 = $$sroa$17$0 * $232; - $234 = $231 + $233; - $235 = $$sroa$31$0 + $234; - $236 = $sqrtf * $235; - $237 = (~~(($236))); - HEAP16[$226>>1] = $237; - $238 = $$sroa$10$0 * $230; - $239 = $$sroa$24$0 * $232; - $240 = $238 + $239; - $241 = $$sroa$35$0 + $240; - $242 = $sqrtf411 * $241; - $243 = (~~(($242))); - HEAP16[$228>>1] = $243; - $244 = (($$0363450) + 1)|0; - $exitcond460 = ($244|0)==($205|0); - if ($exitcond460) { - break; - } else { - $$0363450 = $244; - } - } - $245 = (($205) + ($$5452))|0; - $246 = ($245*14)|0; - $247 = (_malloc($246)|0); - $248 = ($247|0)==(0|0); - if ($248) { - break; - } - $253 = ($$5452|0)>(0); - if ($253) { - $254 = ($$5452*14)|0; - _memcpy(($247|0),($255|0),($254|0))|0; - } - $256 = (($247) + (($$5452*14)|0)|0); - $257 = HEAP32[$3>>2]|0; - $258 = ($205*14)|0; - _memcpy(($256|0),($257|0),($258|0))|0; - $259 = ($$0348453|0)==(0|0); - if (!($259)) { - _free($260); - } - $261 = HEAP32[$3>>2]|0; - _free($261); - $$1349 = $247;$$6 = $245;$265 = $247;$266 = $247;$267 = $247; - } else { - $$1349 = $$0348453;$$6 = $$5452;$265 = $250;$266 = $260;$267 = $255; - } - $262 = $148 & 32; - $263 = ($262|0)==(0); - if ($263) { - $$4352 = $$1349;$$9 = $$6; - break L4; - } else { - $$0348453 = $$1349;$$0372451 = $$2374;$$5452 = $$6;$250 = $265;$255 = $267;$260 = $266; - } - } - if ((label|0) == 42) { - ___assert_fail((13370|0),(12910|0),1670,(13689|0)); - // unreachable; - } - $249 = ($$0348453|0)==(0|0); - if (!($249)) { - _free($250); - } - $251 = HEAP32[$3>>2]|0; - $252 = ($251|0)==(0|0); - if (!($252)) { - _free($251); - } - $$4 = 0; - STACKTOP = sp;return ($$4|0); - } - } while(0); - HEAP32[$2>>2] = $$4352; - $$4 = $$9; - STACKTOP = sp;return ($$4|0); -} -function _stbtt__GetGlyphShapeT2($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0; - var stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); - $3 = sp + 48|0; - $4 = sp; - $5 = ((($3)) + 4|0); - dest=$5; stop=dest+44|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - HEAP32[$3>>2] = 1; - dest=$4; stop=dest+48|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $6 = (_stbtt__run_charstring($0,$1,$3)|0); - $7 = ($6|0)==(0); - if (!($7)) { - $8 = ((($3)) + 44|0); - $9 = HEAP32[$8>>2]|0; - $10 = ($9*14)|0; - $11 = (_malloc($10)|0); - HEAP32[$2>>2] = $11; - $12 = ((($4)) + 40|0); - HEAP32[$12>>2] = $11; - $13 = (_stbtt__run_charstring($0,$1,$4)|0); - $14 = ($13|0)==(0); - if (!($14)) { - $15 = ((($4)) + 44|0); - $16 = HEAP32[$15>>2]|0; - $17 = HEAP32[$8>>2]|0; - $18 = ($16|0)==($17|0); - if ($18) { - $$0 = $16; - STACKTOP = sp;return ($$0|0); - } else { - ___assert_fail((13616|0),(12910|0),2113,(13666|0)); - // unreachable; - } - } - } - HEAP32[$2>>2] = 0; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _stbtt__close_shape($0,$1,$2,$3,$4,$5,$6,$7,$8,$9) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - $6 = $6|0; - $7 = $7|0; - $8 = $8|0; - $9 = $9|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, label = 0, sp = 0; - sp = STACKTOP; - $10 = ($3|0)==(0); - $11 = ($2|0)!=(0); - $12 = (($1) + 1)|0; - $13 = (($0) + (($1*14)|0)|0); - if (!($10)) { - if ($11) { - $14 = (($9) + ($7))|0; - $15 = $14 >> 1; - $16 = (($8) + ($6))|0; - $17 = $16 >> 1; - _stbtt_setvertex($13,3,$17,$15,$8,$9); - $$0 = $12; - } else { - $$0 = $1; - } - $18 = (($$0) + 1)|0; - $19 = (($0) + (($$0*14)|0)|0); - _stbtt_setvertex($19,3,$4,$5,$6,$7); - $$1 = $18; - return ($$1|0); - } - if ($11) { - _stbtt_setvertex($13,3,$4,$5,$8,$9); - $$1 = $12; - return ($$1|0); - } else { - _stbtt_setvertex($13,2,$4,$5,0,0); - $$1 = $12; - return ($$1|0); - } - return (0)|0; -} -function _stbtt_InitFont_internal($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0902 = 0, $$1 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$pr = 0, $$sink = 0, $10 = 0, $100 = 0, $101 = 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, $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 $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, $91 = 0, $92 = 0, $93 = 0; - var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); - $$byval_copy2 = sp + 172|0; - $$byval_copy1 = sp + 160|0; - $2 = sp + 148|0; - $3 = sp + 136|0; - $4 = sp + 124|0; - $5 = sp + 112|0; - $6 = sp + 108|0; - $7 = sp + 104|0; - $8 = sp + 100|0; - $9 = sp + 96|0; - $10 = sp + 84|0; - $11 = sp + 72|0; - $12 = sp + 60|0; - $13 = sp + 48|0; - $14 = sp + 36|0; - $15 = sp + 24|0; - $16 = sp + 12|0; - $17 = sp; - $18 = ((($0)) + 4|0); - HEAP32[$18>>2] = $1; - $19 = ((($0)) + 8|0); - HEAP32[$19>>2] = 0; - $20 = ((($0)) + 48|0); - _stbtt__new_buf($2,0,0); - ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13789)|0); - $22 = (_stbtt__find_table($1,13794)|0); - $23 = ((($0)) + 16|0); - HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13799)|0); - $25 = ((($0)) + 20|0); - HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13804)|0); - $27 = ((($0)) + 24|0); - HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13809)|0); - $29 = ((($0)) + 28|0); - HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13814)|0); - $31 = ((($0)) + 32|0); - HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13819)|0); - $33 = ((($0)) + 36|0); - HEAP32[$33>>2] = $32; - $34 = ($21|0)==(0); - if ($34) { - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $35 = HEAP32[$25>>2]|0; - $36 = ($35|0)==(0); - if ($36) { - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $37 = HEAP32[$29>>2]|0; - $38 = ($37|0)==(0); - if ($38) { - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $39 = HEAP32[$31>>2]|0; - $40 = ($39|0)==(0); - if ($40) { - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $41 = HEAP32[$27>>2]|0; - $42 = ($41|0)==(0); - L13: do { - if ($42) { - HEAP32[$6>>2] = 2; - HEAP32[$7>>2] = 0; - HEAP32[$8>>2] = 0; - HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13824)|0); - $46 = ($45|0)==(0); - do { - if (!($46)) { - $47 = ((($0)) + 96|0); - _stbtt__new_buf($10,0,0); - ;HEAP32[$47>>2]=HEAP32[$10>>2]|0;HEAP32[$47+4>>2]=HEAP32[$10+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$10+8>>2]|0; - $48 = ((($0)) + 108|0); - _stbtt__new_buf($11,0,0); - ;HEAP32[$48>>2]=HEAP32[$11>>2]|0;HEAP32[$48+4>>2]=HEAP32[$11+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$11+8>>2]|0; - $49 = (($1) + ($45)|0); - _stbtt__new_buf($12,$49,536870912); - ;HEAP32[$20>>2]=HEAP32[$12>>2]|0;HEAP32[$20+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$12+8>>2]|0; - ;HEAP32[$3>>2]=HEAP32[$12>>2]|0;HEAP32[$3+4>>2]=HEAP32[$12+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$12+8>>2]|0; - _stbtt__buf_skip($3,2); - $50 = (_stbtt__buf_get8($3)|0); - $51 = $50&255; - _stbtt__buf_seek($3,$51); - _stbtt__cff_get_index($$byval_copy2,$3); - _stbtt__cff_get_index($5,$3); - ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; - _stbtt__cff_index_get($4,$$byval_copy2,0); - _stbtt__cff_get_index($$byval_copy2,$3); - $52 = ((($0)) + 72|0); - _stbtt__cff_get_index($13,$3); - ;HEAP32[$52>>2]=HEAP32[$13>>2]|0;HEAP32[$52+4>>2]=HEAP32[$13+4>>2]|0;HEAP32[$52+8>>2]=HEAP32[$13+8>>2]|0; - _stbtt__dict_get_ints($4,17,1,$7); - _stbtt__dict_get_ints($4,262,1,$6); - _stbtt__dict_get_ints($4,292,1,$8); - _stbtt__dict_get_ints($4,293,1,$9); - $53 = ((($0)) + 84|0); - ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$3+8>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$4+8>>2]|0; - _stbtt__get_subrs($14,$$byval_copy1,$$byval_copy2); - ;HEAP32[$53>>2]=HEAP32[$14>>2]|0;HEAP32[$53+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$53+8>>2]=HEAP32[$14+8>>2]|0; - $54 = HEAP32[$6>>2]|0; - $55 = ($54|0)!=(2); - $56 = HEAP32[$7>>2]|0; - $57 = ($56|0)==(0); - $or$cond = $55 | $57; - if (!($or$cond)) { - $58 = HEAP32[$8>>2]|0; - $59 = ($58|0)==(0); - if (!($59)) { - $60 = HEAP32[$9>>2]|0; - $61 = ($60|0)==(0); - if ($61) { - break; - } - _stbtt__buf_seek($3,$58); - _stbtt__cff_get_index($15,$3); - ;HEAP32[$47>>2]=HEAP32[$15>>2]|0;HEAP32[$47+4>>2]=HEAP32[$15+4>>2]|0;HEAP32[$47+8>>2]=HEAP32[$15+8>>2]|0; - $62 = HEAP32[$9>>2]|0; - $63 = ((($3)) + 8|0); - $64 = HEAP32[$63>>2]|0; - $65 = (($64) - ($62))|0; - _stbtt__buf_range($16,$3,$62,$65); - ;HEAP32[$48>>2]=HEAP32[$16>>2]|0;HEAP32[$48+4>>2]=HEAP32[$16+4>>2]|0;HEAP32[$48+8>>2]=HEAP32[$16+8>>2]|0; - } - $66 = HEAP32[$7>>2]|0; - _stbtt__buf_seek($3,$66); - $67 = ((($0)) + 60|0); - _stbtt__cff_get_index($17,$3); - ;HEAP32[$67>>2]=HEAP32[$17>>2]|0;HEAP32[$67+4>>2]=HEAP32[$17+4>>2]|0;HEAP32[$67+8>>2]=HEAP32[$17+8>>2]|0; - break L13; - } - } - } while(0); - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } else { - $43 = HEAP32[$23>>2]|0; - $44 = ($43|0)==(0); - if ($44) { - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - } - } while(0); - $68 = (_stbtt__find_table($1,13829)|0); - $69 = ($68|0)==(0); - if ($69) { - $$sink = 65535; - } else { - $70 = (($1) + ($68)|0); - $71 = ((($70)) + 4|0); - $72 = (_ttUSHORT($71)|0); - $73 = $72&65535; - $$sink = $73; - } - $74 = ((($0)) + 12|0); - HEAP32[$74>>2] = $$sink; - $75 = (($1) + ($21)|0); - $76 = ((($75)) + 2|0); - $77 = (_ttUSHORT($76)|0); - $78 = $77&65535; - $79 = ((($0)) + 40|0); - HEAP32[$79>>2] = 0; - $80 = ($77<<16>>16)==(0); - if ($80) { - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $81 = (($21) + 4)|0; - $$0902 = 0; - while(1) { - $82 = $$0902 << 3; - $83 = (($81) + ($82))|0; - $84 = (($1) + ($83)|0); - $85 = (_ttUSHORT($84)|0); - L35: do { - switch ($85<<16>>16) { - case 3: { - $86 = ((($84)) + 2|0); - $87 = (_ttUSHORT($86)|0); - switch ($87<<16>>16) { - case 10: case 1: { - break; - } - default: { - break L35; - } - } - $88 = ((($84)) + 4|0); - $89 = (_ttULONG($88)|0); - $90 = (($89) + ($21))|0; - HEAP32[$79>>2] = $90; - break; - } - case 0: { - $91 = ((($84)) + 4|0); - $92 = (_ttULONG($91)|0); - $93 = (($92) + ($21))|0; - HEAP32[$79>>2] = $93; - break; - } - default: { - } - } - } while(0); - $94 = (($$0902) + 1)|0; - $exitcond = ($94|0)==($78|0); - if ($exitcond) { - break; - } else { - $$0902 = $94; - } - } - $$pr = HEAP32[$79>>2]|0; - $95 = ($$pr|0)==(0); - if ($95) { - $$1 = 0; - STACKTOP = sp;return ($$1|0); - } - $96 = HEAP32[$25>>2]|0; - $97 = (($1) + ($96)|0); - $98 = ((($97)) + 50|0); - $99 = (_ttUSHORT($98)|0); - $100 = $99&65535; - $101 = ((($0)) + 44|0); - HEAP32[$101>>2] = $100; - $$1 = 1; - STACKTOP = sp;return ($$1|0); -} -function _stbtt__find_table($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0312 = 0, $$2 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; - var sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = (_ttUSHORT($2)|0); - $4 = $3&65535; - $5 = ($3<<16>>16)==(0); - if ($5) { - $$2 = 0; - return ($$2|0); - } - $6 = HEAP8[$1>>0]|0; - $7 = $6 << 24 >> 24; - $8 = ((($1)) + 1|0); - $9 = ((($1)) + 2|0); - $10 = ((($1)) + 3|0); - $$0312 = 0; - while(1) { - $11 = $$0312 << 4; - $12 = $11 | 12; - $13 = (($0) + ($12)|0); - $14 = HEAP8[$13>>0]|0; - $15 = $14&255; - $16 = ($15|0)==($7|0); - if ($16) { - $17 = ((($13)) + 1|0); - $18 = HEAP8[$17>>0]|0; - $19 = $18&255; - $20 = HEAP8[$8>>0]|0; - $21 = $20 << 24 >> 24; - $22 = ($19|0)==($21|0); - if ($22) { - $23 = ((($13)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = HEAP8[$9>>0]|0; - $27 = $26 << 24 >> 24; - $28 = ($25|0)==($27|0); - if ($28) { - $29 = ((($13)) + 3|0); - $30 = HEAP8[$29>>0]|0; - $31 = $30&255; - $32 = HEAP8[$10>>0]|0; - $33 = $32 << 24 >> 24; - $34 = ($31|0)==($33|0); - if ($34) { - break; - } - } - } - } - $37 = (($$0312) + 1)|0; - $38 = ($37|0)<($4|0); - if ($38) { - $$0312 = $37; - } else { - $$2 = 0; - label = 9; - break; - } - } - if ((label|0) == 9) { - return ($$2|0); - } - $35 = ((($13)) + 8|0); - $36 = (_ttULONG($35)|0); - $$2 = $36; - return ($$2|0); -} -function _DrawText($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); - $$byval_copy2 = sp + 112|0; - $$byval_copy1 = sp + 104|0; - $$byval_copy = sp + 72|0; - $5 = sp + 32|0; - $6 = sp + 64|0; - $7 = sp; - _GetDefaultFont($5); - $8 = HEAP32[$5>>2]|0; - $9 = ($8|0)==(0); - if ($9) { - STACKTOP = sp;return; - } - $10 = (+($1|0)); - HEAPF32[$6>>2] = $10; - $11 = ((($6)) + 4|0); - $12 = (+($2|0)); - HEAPF32[$11>>2] = $12; - $13 = ($3|0)>(10); - $$ = $13 ? $3 : 10; - $14 = (($$>>>0) / 10)&-1; - _GetDefaultFont($7); - $15 = (+($$|0)); - ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; - _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); - STACKTOP = sp;return; -} -function _DrawTextEx($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = +$3; - $4 = $4|0; - $5 = $5|0; - var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; - var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; - var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; - var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; - var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $$byval_copy5 = sp + 88|0; - $$byval_copy4 = sp + 80|0; - $$byval_copy3 = sp + 64|0; - $$byval_copy2 = sp + 48|0; - $$byval_copy1 = sp + 24|0; - $6 = sp + 8|0; - $7 = sp; - $8 = (_strlen($1)|0); - $9 = ((($0)) + 20|0); - $10 = HEAP32[$9>>2]|0; - $11 = (+($10|0)); - $12 = $3 / $11; - $13 = ($8|0)>(0); - if (!($13)) { - STACKTOP = sp;return; - } - $14 = ((($0)) + 28|0); - $15 = +HEAPF32[$2>>2]; - $16 = ((($6)) + 4|0); - $17 = ((($2)) + 4|0); - $18 = ((($6)) + 8|0); - $19 = ((($6)) + 12|0); - $20 = ((($7)) + 4|0); - $21 = (+($4|0)); - $$04954 = 0;$$05153 = 0;$$055 = 0; - while(1) { - $22 = (($1) + ($$055)|0); - $23 = HEAP8[$22>>0]|0; - switch ($23<<24>>24) { - case 10: { - $24 = HEAP32[$9>>2]|0; - $25 = (($24|0) / 2)&-1; - $26 = (($25) + ($24))|0; - $27 = (+($26|0)); - $28 = $12 * $27; - $29 = (~~(($28))); - $30 = (($29) + ($$05153))|0; - $$150 = 0;$$152 = $30;$$2 = $$055; - break; - } - case -62: { - $31 = (($$055) + 1)|0; - $32 = (($1) + ($31)|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $$1 = $31;$$sink = $34; - label = 9; - break; - } - case -61: { - $35 = (($$055) + 1)|0; - $36 = (($1) + ($35)|0); - $37 = HEAP8[$36>>0]|0; - $38 = $37&255; - $39 = (($38) + 64)|0; - $$1 = $35;$$sink = $39; - label = 9; - break; - } - default: { - $40 = $23 << 24 >> 24; - $$1 = $$055;$$sink = $40; - label = 9; - } - } - do { - if ((label|0) == 9) { - label = 0; - ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; - $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); - $42 = HEAP32[$14>>2]|0; - $43 = (((($42) + ($41<<5)|0)) + 4|0); - $44 = (+($$04954|0)); - $45 = $44 + $15; - $46 = (((($42) + ($41<<5)|0)) + 20|0); - $47 = HEAP32[$46>>2]|0; - $48 = (+($47|0)); - $49 = $12 * $48; - $50 = $45 + $49; - $51 = (~~(($50))); - HEAP32[$6>>2] = $51; - $52 = +HEAPF32[$17>>2]; - $53 = (+($$05153|0)); - $54 = $53 + $52; - $55 = (((($42) + ($41<<5)|0)) + 24|0); - $56 = HEAP32[$55>>2]|0; - $57 = (+($56|0)); - $58 = $12 * $57; - $59 = $54 + $58; - $60 = (~~(($59))); - HEAP32[$16>>2] = $60; - $61 = (((($42) + ($41<<5)|0)) + 12|0); - $62 = HEAP32[$61>>2]|0; - $63 = (+($62|0)); - $64 = $12 * $63; - $65 = (~~(($64))); - HEAP32[$18>>2] = $65; - $66 = (((($42) + ($41<<5)|0)) + 16|0); - $67 = HEAP32[$66>>2]|0; - $68 = (+($67|0)); - $69 = $12 * $68; - $70 = (~~(($69))); - HEAP32[$19>>2] = $70; - HEAPF32[$7>>2] = 0.0; - HEAPF32[$20>>2] = 0.0; - ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; - ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; - ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; - ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; - ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; - _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); - $71 = HEAP32[$14>>2]|0; - $72 = (((($71) + ($41<<5)|0)) + 28|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($73|0)==(0); - if ($74) { - $75 = (((($71) + ($41<<5)|0)) + 12|0); - $76 = HEAP32[$75>>2]|0; - $77 = (+($76|0)); - $78 = $12 * $77; - $79 = $21 + $78; - $80 = (~~(($79))); - $81 = (($80) + ($$04954))|0; - $$150 = $81;$$152 = $$05153;$$2 = $$1; - break; - } else { - $82 = (+($73|0)); - $83 = $12 * $82; - $84 = $21 + $83; - $85 = (~~(($84))); - $86 = (($85) + ($$04954))|0; - $$150 = $86;$$152 = $$05153;$$2 = $$1; - break; - } - } - } while(0); - $87 = (($$2) + 1)|0; - $88 = ($87|0)<($8|0); - if ($88) { - $$04954 = $$150;$$05153 = $$152;$$055 = $87; - } else { - break; - } - } - STACKTOP = sp;return; -} -function _emscripten_GetProcAddress($0) { - $0 = $0|0; - var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; - var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; - var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; - var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; - var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; - var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; - var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; - var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; - var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; - var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; - var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; - var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; - var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; - var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; - var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; - var $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, $85 = 0, $86 = 0, $87 = 0; - var $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, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $1 = sp + 12|0; - $2 = sp + 8|0; - $3 = sp + 4|0; - $4 = sp; - HEAP32[$2>>2] = $0; - $5 = HEAP32[$2>>2]|0; - $6 = (_strlen($5)|0); - $7 = (($6) + 1)|0; - $8 = (_malloc($7)|0); - HEAP32[$3>>2] = $8; - $9 = HEAP32[$3>>2]|0; - $10 = HEAP32[$2>>2]|0; - (_strcpy($9,$10)|0); - $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13834)|0); - HEAP32[$4>>2] = $12; - $13 = HEAP32[$4>>2]|0; - $14 = ($13|0)!=(0|0); - if ($14) { - $15 = HEAP32[$4>>2]|0; - HEAP8[$15>>0] = 0; - } - $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13838)|0); - HEAP32[$4>>2] = $17; - $18 = HEAP32[$4>>2]|0; - $19 = ($18|0)!=(0|0); - if ($19) { - $20 = HEAP32[$4>>2]|0; - HEAP8[$20>>0] = 0; - } - $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13842)|0); - HEAP32[$4>>2] = $22; - $23 = HEAP32[$4>>2]|0; - $24 = ($23|0)!=(0|0); - if ($24) { - $25 = HEAP32[$4>>2]|0; - HEAP8[$25>>0] = 0; - } - $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13846)|0); - HEAP32[$4>>2] = $27; - $28 = HEAP32[$4>>2]|0; - $29 = ($28|0)!=(0|0); - if ($29) { - $30 = HEAP32[$4>>2]|0; - HEAP8[$30>>0] = 0; - } - $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13852)|0); - $33 = ($32|0)!=(0); - do { - if ($33) { - $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13890)|0); - $36 = ($35|0)!=(0); - if (!($36)) { - HEAP32[$3>>2] = 13909; - break; - } - $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13922)|0); - $39 = ($38|0)!=(0); - if (!($39)) { - HEAP32[$3>>2] = 13943; - break; - } - $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13958)|0); - $42 = ($41|0)!=(0); - if (!($42)) { - HEAP32[$3>>2] = 13973; - break; - } - $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13988)|0); - $45 = ($44|0)!=(0); - if (!($45)) { - HEAP32[$3>>2] = 14003; - } - } else { - HEAP32[$3>>2] = 13874; - } - } while(0); - $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,14018)|0); - $48 = ($47|0)!=(0); - do { - if ($48) { - $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,14032)|0); - $51 = ($50|0)!=(0); - if (!($51)) { - HEAP32[$1>>2] = 3; - break; - } - $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,14044)|0); - $54 = ($53|0)!=(0); - if (!($54)) { - HEAP32[$1>>2] = 7; - break; - } - $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,14058)|0); - $57 = ($56|0)!=(0); - if (!($57)) { - HEAP32[$1>>2] = 8; - break; - } - $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,14070)|0); - $60 = ($59|0)!=(0); - if (!($60)) { - HEAP32[$1>>2] = 9; - break; - } - $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,14084)|0); - $63 = ($62|0)!=(0); - if (!($63)) { - HEAP32[$1>>2] = 10; - break; - } - $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,14098)|0); - $66 = ($65|0)!=(0); - if (!($66)) { - HEAP32[$1>>2] = 11; - break; - } - $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,14115)|0); - $69 = ($68|0)!=(0); - if (!($69)) { - HEAP32[$1>>2] = 1; - break; - } - $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,14138)|0); - $72 = ($71|0)!=(0); - if (!($72)) { - HEAP32[$1>>2] = 1; - break; - } - $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,14164)|0); - $75 = ($74|0)!=(0); - if (!($75)) { - HEAP32[$1>>2] = 2; - break; - } - $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,14177)|0); - $78 = ($77|0)!=(0); - if (!($78)) { - HEAP32[$1>>2] = 3; - break; - } - $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,14193)|0); - $81 = ($80|0)!=(0); - if (!($81)) { - HEAP32[$1>>2] = 1; - break; - } - $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,14206)|0); - $84 = ($83|0)!=(0); - if (!($84)) { - HEAP32[$1>>2] = 12; - break; - } - $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,14220)|0); - $87 = ($86|0)!=(0); - if (!($87)) { - HEAP32[$1>>2] = 2; - break; - } - $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,14240)|0); - $90 = ($89|0)!=(0); - if (!($90)) { - HEAP32[$1>>2] = 3; - break; - } - $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,14260)|0); - $93 = ($92|0)!=(0); - if (!($93)) { - HEAP32[$1>>2] = 4; - break; - } - $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,14277)|0); - $96 = ($95|0)!=(0); - if (!($96)) { - HEAP32[$1>>2] = 5; - break; - } - $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,14294)|0); - $99 = ($98|0)!=(0); - if (!($99)) { - HEAP32[$1>>2] = 4; - break; - } - $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,14306)|0); - $102 = ($101|0)!=(0); - if (!($102)) { - HEAP32[$1>>2] = 13; - break; - } - $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,14319)|0); - $105 = ($104|0)!=(0); - if (!($105)) { - HEAP32[$1>>2] = 14; - break; - } - $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,14335)|0); - $108 = ($107|0)!=(0); - if (!($108)) { - HEAP32[$1>>2] = 6; - break; - } - $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,14358)|0); - $111 = ($110|0)!=(0); - if (!($111)) { - HEAP32[$1>>2] = 2; - break; - } - $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,14371)|0); - $114 = ($113|0)!=(0); - if (!($114)) { - HEAP32[$1>>2] = 3; - break; - } - $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,14387)|0); - $117 = ($116|0)!=(0); - if (!($117)) { - HEAP32[$1>>2] = 5; - break; - } - $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,14398)|0); - $120 = ($119|0)!=(0); - if (!($120)) { - HEAP32[$1>>2] = 15; - break; - } - $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,14417)|0); - $123 = ($122|0)!=(0); - if (!($123)) { - HEAP32[$1>>2] = 16; - break; - } - $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,14439)|0); - $126 = ($125|0)!=(0); - if (!($126)) { - HEAP32[$1>>2] = 17; - break; - } - $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,14458)|0); - $129 = ($128|0)!=(0); - if (!($129)) { - HEAP32[$1>>2] = 7; - break; - } - $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,14487)|0); - $132 = ($131|0)!=(0); - if (!($132)) { - HEAP32[$1>>2] = 6; - break; - } - $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,14504)|0); - $135 = ($134|0)!=(0); - if (!($135)) { - HEAP32[$1>>2] = 8; - break; - } - $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,14519)|0); - $138 = ($137|0)!=(0); - if (!($138)) { - HEAP32[$1>>2] = 9; - break; - } - $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,14534)|0); - $141 = ($140|0)!=(0); - if (!($141)) { - HEAP32[$1>>2] = 1; - break; - } - $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,14555)|0); - $144 = ($143|0)!=(0); - if (!($144)) { - HEAP32[$1>>2] = 10; - break; - } - $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,14575)|0); - $147 = ($146|0)!=(0); - if (!($147)) { - HEAP32[$1>>2] = 11; - break; - } - $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,14595)|0); - $150 = ($149|0)!=(0); - if (!($150)) { - HEAP32[$1>>2] = 12; - break; - } - $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,14621)|0); - $153 = ($152|0)!=(0); - if (!($153)) { - HEAP32[$1>>2] = 2; - break; - } - $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,14640)|0); - $156 = ($155|0)!=(0); - if (!($156)) { - HEAP32[$1>>2] = 1; - break; - } - $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,14652)|0); - $159 = ($158|0)!=(0); - if (!($159)) { - HEAP32[$1>>2] = 3; - break; - } - $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14664)|0); - $162 = ($161|0)!=(0); - if (!($162)) { - HEAP32[$1>>2] = 1; - break; - } - $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14676)|0); - $165 = ($164|0)!=(0); - if (!($165)) { - HEAP32[$1>>2] = 1; - break; - } - $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14688)|0); - $168 = ($167|0)!=(0); - if (!($168)) { - HEAP32[$1>>2] = 18; - break; - } - $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14700)|0); - $171 = ($170|0)!=(0); - if (!($171)) { - HEAP32[$1>>2] = 13; - break; - } - $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14712)|0); - $174 = ($173|0)!=(0); - if (!($174)) { - HEAP32[$1>>2] = 4; - break; - } - $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14724)|0); - $177 = ($176|0)!=(0); - if (!($177)) { - HEAP32[$1>>2] = 2; - break; - } - $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14736)|0); - $180 = ($179|0)!=(0); - if (!($180)) { - HEAP32[$1>>2] = 14; - break; - } - $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14749)|0); - $183 = ($182|0)!=(0); - if (!($183)) { - HEAP32[$1>>2] = 15; - break; - } - $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14762)|0); - $186 = ($185|0)!=(0); - if (!($186)) { - HEAP32[$1>>2] = 16; - break; - } - $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14775)|0); - $189 = ($188|0)!=(0); - if (!($189)) { - HEAP32[$1>>2] = 17; - break; - } - $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14788)|0); - $192 = ($191|0)!=(0); - if (!($192)) { - HEAP32[$1>>2] = 18; - break; - } - $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14801)|0); - $195 = ($194|0)!=(0); - if (!($195)) { - HEAP32[$1>>2] = 19; - break; - } - $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14814)|0); - $198 = ($197|0)!=(0); - if (!($198)) { - HEAP32[$1>>2] = 20; - break; - } - $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14827)|0); - $201 = ($200|0)!=(0); - if (!($201)) { - HEAP32[$1>>2] = 21; - break; - } - $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14840)|0); - $204 = ($203|0)!=(0); - if (!($204)) { - HEAP32[$1>>2] = 5; - break; - } - $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14859)|0); - $207 = ($206|0)!=(0); - if (!($207)) { - HEAP32[$1>>2] = 6; - break; - } - $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14878)|0); - $210 = ($209|0)!=(0); - if (!($210)) { - HEAP32[$1>>2] = 7; - break; - } - $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14897)|0); - $213 = ($212|0)!=(0); - if (!($213)) { - HEAP32[$1>>2] = 19; - break; - } - $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14910)|0); - $216 = ($215|0)!=(0); - if (!($216)) { - HEAP32[$1>>2] = 20; - break; - } - $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14928)|0); - $219 = ($218|0)!=(0); - if (!($219)) { - HEAP32[$1>>2] = 21; - break; - } - $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14946)|0); - $222 = ($221|0)!=(0); - if (!($222)) { - HEAP32[$1>>2] = 22; - break; - } - $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14964)|0); - $225 = ($224|0)!=(0); - if (!($225)) { - HEAP32[$1>>2] = 23; - break; - } - $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14982)|0); - $228 = ($227|0)!=(0); - if (!($228)) { - HEAP32[$1>>2] = 2; - break; - } - $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,15002)|0); - $231 = ($230|0)!=(0); - if (!($231)) { - HEAP32[$1>>2] = 3; - break; - } - $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13943)|0); - $234 = ($233|0)!=(0); - if (!($234)) { - HEAP32[$1>>2] = 7; - break; - } - $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,15020)|0); - $237 = ($236|0)!=(0); - if (!($237)) { - HEAP32[$1>>2] = 1; - break; - } - $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,15035)|0); - $240 = ($239|0)!=(0); - if (!($240)) { - HEAP32[$1>>2] = 8; - break; - } - $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,15056)|0); - $243 = ($242|0)!=(0); - if (!($243)) { - HEAP32[$1>>2] = 9; - break; - } - $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,15071)|0); - $246 = ($245|0)!=(0); - if (!($246)) { - HEAP32[$1>>2] = 10; - break; - } - $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,15089)|0); - $249 = ($248|0)!=(0); - if (!($249)) { - HEAP32[$1>>2] = 2; - break; - } - $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,15105)|0); - $252 = ($251|0)!=(0); - if (!($252)) { - HEAP32[$1>>2] = 11; - break; - } - $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,15124)|0); - $255 = ($254|0)!=(0); - if (!($255)) { - HEAP32[$1>>2] = 22; - break; - } - $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,15138)|0); - $258 = ($257|0)!=(0); - if (!($258)) { - HEAP32[$1>>2] = 23; - break; - } - $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,15153)|0); - $261 = ($260|0)!=(0); - if (!($261)) { - HEAP32[$1>>2] = 8; - break; - } - $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13874)|0); - $264 = ($263|0)!=(0); - if (!($264)) { - HEAP32[$1>>2] = 1; - break; - } - $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,15164)|0); - $267 = ($266|0)!=(0); - if (!($267)) { - HEAP32[$1>>2] = 3; - break; - } - $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13973)|0); - $270 = ($269|0)!=(0); - if (!($270)) { - HEAP32[$1>>2] = 24; - break; - } - $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,14003)|0); - $273 = ($272|0)!=(0); - if (!($273)) { - HEAP32[$1>>2] = 25; - break; - } - $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,15180)|0); - $276 = ($275|0)!=(0); - if (!($276)) { - HEAP32[$1>>2] = 12; - break; - } - $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,15207)|0); - $279 = ($278|0)!=(0); - if (!($279)) { - HEAP32[$1>>2] = 4; - break; - } - $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,15221)|0); - $282 = ($281|0)!=(0); - if (!($282)) { - HEAP32[$1>>2] = 13; - break; - } - $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13909)|0); - $285 = ($284|0)!=(0); - if (!($285)) { - HEAP32[$1>>2] = 5; - break; - } - $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,15241)|0); - $288 = ($287|0)!=(0); - if (!($288)) { - HEAP32[$1>>2] = 6; - break; - } - $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,15259)|0); - $291 = ($290|0)!=(0); - if (!($291)) { - HEAP32[$1>>2] = 9; - break; - } - $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,15271)|0); - $294 = ($293|0)!=(0); - if (!($294)) { - HEAP32[$1>>2] = 24; - break; - } - $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,15292)|0); - $297 = ($296|0)!=(0); - if (!($297)) { - HEAP32[$1>>2] = 26; - break; - } - $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,15310)|0); - $300 = ($299|0)!=(0); - if (!($300)) { - HEAP32[$1>>2] = 27; - break; - } - $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,15328)|0); - $303 = ($302|0)!=(0); - if (!($303)) { - HEAP32[$1>>2] = 28; - break; - } - $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,15349)|0); - $306 = ($305|0)!=(0); - if (!($306)) { - HEAP32[$1>>2] = 14; - break; - } - $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,15375)|0); - $309 = ($308|0)!=(0); - if (!($309)) { - HEAP32[$1>>2] = 3; - break; - } - $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,15398)|0); - $312 = ($311|0)!=(0); - if (!($312)) { - HEAP32[$1>>2] = 15; - break; - } - $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,15436)|0); - $315 = ($314|0)!=(0); - if (!($315)) { - HEAP32[$1>>2] = 10; - break; - } - $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,15452)|0); - $318 = ($317|0)!=(0); - if (!($318)) { - HEAP32[$1>>2] = 7; - break; - } - $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,15467)|0); - $321 = ($320|0)!=(0); - if (!($321)) { - HEAP32[$1>>2] = 25; - break; - } - $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,15490)|0); - $324 = ($323|0)!=(0); - if (!($324)) { - HEAP32[$1>>2] = 16; - break; - } - $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,15503)|0); - $327 = ($326|0)!=(0); - if (!($327)) { - HEAP32[$1>>2] = 29; - break; - } - $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,15517)|0); - $330 = ($329|0)!=(0); - if (!($330)) { - HEAP32[$1>>2] = 30; - break; - } - $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,15531)|0); - $333 = ($332|0)!=(0); - if (!($333)) { - HEAP32[$1>>2] = 1; - break; - } - $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,15551)|0); - $336 = ($335|0)!=(0); - if (!($336)) { - HEAP32[$1>>2] = 8; - break; - } - $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,15571)|0); - $339 = ($338|0)!=(0); - if (!($339)) { - HEAP32[$1>>2] = 17; - break; - } - $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,15587)|0); - $342 = ($341|0)!=(0); - if (!($342)) { - HEAP32[$1>>2] = 18; - break; - } - $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,15605)|0); - $345 = ($344|0)!=(0); - if (!($345)) { - HEAP32[$1>>2] = 26; - break; - } - $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,15621)|0); - $348 = ($347|0)!=(0); - if (!($348)) { - HEAP32[$1>>2] = 19; - break; - } - $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,15636)|0); - $351 = ($350|0)!=(0); - if (!($351)) { - HEAP32[$1>>2] = 9; - break; - } - $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15658)|0); - $354 = ($353|0)!=(0); - if (!($354)) { - HEAP32[$1>>2] = 31; - break; - } - $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15676)|0); - $357 = ($356|0)!=(0); - if (!($357)) { - HEAP32[$1>>2] = 32; - break; - } - $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15697)|0); - $360 = ($359|0)!=(0); - if (!($360)) { - HEAP32[$1>>2] = 10; - break; - } - $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15715)|0); - $363 = ($362|0)!=(0); - if (!($363)) { - HEAP32[$1>>2] = 11; - break; - } - $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15728)|0); - $366 = ($365|0)!=(0); - if (!($366)) { - HEAP32[$1>>2] = 2; - break; - } - $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15743)|0); - $369 = ($368|0)!=(0); - if (!($369)) { - HEAP32[$1>>2] = 12; - break; - } - $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15757)|0); - $372 = ($371|0)!=(0); - if (!($372)) { - HEAP32[$1>>2] = 1; - break; - } - $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15767)|0); - $375 = ($374|0)!=(0); - if (!($375)) { - HEAP32[$1>>2] = 1; - break; - } - $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15777)|0); - $378 = ($377|0)!=(0); - if (!($378)) { - HEAP32[$1>>2] = 2; - break; - } - $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15799)|0); - $381 = ($380|0)!=(0); - if (!($381)) { - HEAP32[$1>>2] = 13; - break; - } - $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15825)|0); - $384 = ($383|0)!=(0); - if (!($384)) { - HEAP32[$1>>2] = 14; - break; - } - $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15852)|0); - $387 = ($386|0)!=(0); - if (!($387)) { - HEAP32[$1>>2] = 27; - break; - } - $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15865)|0); - $390 = ($389|0)!=(0); - if (!($390)) { - HEAP32[$1>>2] = 20; - break; - } - $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15880)|0); - $393 = ($392|0)!=(0); - if (!($393)) { - HEAP32[$1>>2] = 4; - break; - } - $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15895)|0); - $396 = ($395|0)!=(0); - if (!($396)) { - HEAP32[$1>>2] = 3; - break; - } - $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15919)|0); - $399 = ($398|0)!=(0); - if (!($399)) { - HEAP32[$1>>2] = 2; - break; - } - $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15930)|0); - $402 = ($401|0)!=(0); - if (!($402)) { - HEAP32[$1>>2] = 33; - break; - } - $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15952)|0); - $405 = ($404|0)!=(0); - if (!($405)) { - HEAP32[$1>>2] = 21; - break; - } - $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15974)|0); - $408 = ($407|0)!=(0); - if (!($408)) { - HEAP32[$1>>2] = 5; - break; - } - $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15998)|0); - $411 = ($410|0)!=(0); - if (!($411)) { - HEAP32[$1>>2] = 4; - break; - } - $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,16007)|0); - $414 = ($413|0)!=(0); - if (!($414)) { - HEAP32[$1>>2] = 5; - break; - } - $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,16015)|0); - $417 = ($416|0)!=(0); - if (!($417)) { - HEAP32[$1>>2] = 1; - break; - } - $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,16028)|0); - $420 = ($419|0)!=(0); - if (!($420)) { - HEAP32[$1>>2] = 2; - break; - } - $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,16042)|0); - $423 = ($422|0)!=(0); - if (!($423)) { - HEAP32[$1>>2] = 15; - break; - } - $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,16054)|0); - $426 = ($425|0)!=(0); - if (!($426)) { - HEAP32[$1>>2] = 16; - break; - } - $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,16063)|0); - $429 = ($428|0)!=(0); - if (!($429)) { - HEAP32[$1>>2] = 17; - break; - } - $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,16073)|0); - $432 = ($431|0)!=(0); - if (!($432)) { - HEAP32[$1>>2] = 18; - break; - } - $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,16085)|0); - $435 = ($434|0)!=(0); - if (!($435)) { - HEAP32[$1>>2] = 19; - break; - } - $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,16096)|0); - $438 = ($437|0)!=(0); - if (!($438)) { - HEAP32[$1>>2] = 20; - break; - } - $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,16104)|0); - $441 = ($440|0)!=(0); - if (!($441)) { - HEAP32[$1>>2] = 3; - break; - } - $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,16116)|0); - $444 = ($443|0)!=(0); - if (!($444)) { - HEAP32[$1>>2] = 21; - break; - } - $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,16131)|0); - $447 = ($446|0)!=(0); - if (!($447)) { - HEAP32[$1>>2] = 22; - break; - } - $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,16143)|0); - $450 = ($449|0)!=(0); - if (!($450)) { - HEAP32[$1>>2] = 23; - break; - } - $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,16157)|0); - $453 = ($452|0)!=(0); - if (!($453)) { - HEAP32[$1>>2] = 11; - break; - } - $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,16182)|0); - $456 = ($455|0)!=(0); - if (!($456)) { - HEAP32[$1>>2] = 24; - break; - } - $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,16199)|0); - $459 = ($458|0)!=(0); - if (!($459)) { - HEAP32[$1>>2] = 25; - break; - } - $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,16215)|0); - $462 = ($461|0)!=(0); - if (!($462)) { - HEAP32[$1>>2] = 26; - break; - } - $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,16231)|0); - $465 = ($464|0)!=(0); - if (!($465)) { - HEAP32[$1>>2] = 12; - break; - } - $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,16243)|0); - $468 = ($467|0)!=(0); - if (!($468)) { - HEAP32[$1>>2] = 34; - break; - } - $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,16255)|0); - $471 = ($470|0)!=(0); - if (!($471)) { - HEAP32[$1>>2] = 35; - break; - } - $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,16279)|0); - $474 = ($473|0)!=(0); - if (!($474)) { - HEAP32[$1>>2] = 1; - break; - } - $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,16292)|0); - $477 = ($476|0)!=(0); - if (!($477)) { - HEAP32[$1>>2] = 2; - break; - } - $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,16306)|0); - $480 = ($479|0)!=(0); - if (!($480)) { - HEAP32[$1>>2] = 36; - break; - } - $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,16328)|0); - $483 = ($482|0)!=(0); - if (!($483)) { - HEAP32[$1>>2] = 37; - break; - } - $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,16335)|0); - $486 = ($485|0)!=(0); - if (!($486)) { - HEAP32[$1>>2] = 3; - break; - } - $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,16351)|0); - $489 = ($488|0)!=(0); - if (!($489)) { - HEAP32[$1>>2] = 2; - break; - } - $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,16368)|0); - $492 = ($491|0)!=(0); - if (!($492)) { - HEAP32[$1>>2] = 1; - break; - } - $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,16385)|0); - $495 = ($494|0)!=(0); - if (!($495)) { - HEAP32[$1>>2] = 28; - break; - } - $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,16401)|0); - $498 = ($497|0)!=(0); - if (!($498)) { - HEAP32[$1>>2] = 1; - break; - } - $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,16417)|0); - $501 = ($500|0)!=(0); - if (!($501)) { - HEAP32[$1>>2] = 4; - break; - } - $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,16434)|0); - $504 = ($503|0)!=(0); - if (!($504)) { - HEAP32[$1>>2] = 29; - break; - } - $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,16448)|0); - $507 = ($506|0)!=(0); - if (!($507)) { - HEAP32[$1>>2] = 30; - break; - } - $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,16460)|0); - $510 = ($509|0)!=(0); - if (!($510)) { - HEAP32[$1>>2] = 22; - break; - } - $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,16471)|0); - $513 = ($512|0)!=(0); - if (!($513)) { - HEAP32[$1>>2] = 2; - break; - } - $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,16484)|0); - $516 = ($515|0)!=(0); - if (!($516)) { - HEAP32[$1>>2] = 23; - break; - } - $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,16494)|0); - $519 = ($518|0)!=(0); - if (!($519)) { - HEAP32[$1>>2] = 2; - break; - } - $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,16511)|0); - $522 = ($521|0)!=(0); - if (!($522)) { - HEAP32[$1>>2] = 24; - break; - } - $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,16523)|0); - $525 = ($524|0)!=(0); - if (!($525)) { - HEAP32[$1>>2] = 25; - break; - } - $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,16545)|0); - $528 = ($527|0)!=(0); - if (!($528)) { - HEAP32[$1>>2] = 26; - break; - } - $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,16565)|0); - $531 = ($530|0)!=(0); - if (!($531)) { - HEAP32[$1>>2] = 3; - break; - } - $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,16578)|0); - $534 = ($533|0)!=(0); - if (!($534)) { - HEAP32[$1>>2] = 27; - break; - } - $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,16600)|0); - $537 = ($536|0)!=(0); - if (!($537)) { - HEAP32[$1>>2] = 28; - break; - } - $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,16620)|0); - $540 = ($539|0)!=(0); - if (!($540)) { - HEAP32[$1>>2] = 2; - break; - } - $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,16637)|0); - $543 = ($542|0)!=(0); - if (!($543)) { - HEAP32[$1>>2] = 2; - break; - } - $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16654)|0); - $546 = ($545|0)!=(0); - if (!($546)) { - HEAP32[$1>>2] = 3; - break; - } - $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16674)|0); - $549 = ($548|0)!=(0); - if ($549) { - $550 = HEAP32[$2>>2]|0; - $551 = HEAP32[$3>>2]|0; - $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; - HEAP32[$1>>2] = 0; - break; - } else { - HEAP32[$1>>2] = 38; - break; - } - } else { - HEAP32[$1>>2] = 6; - } - } while(0); - $553 = HEAP32[$1>>2]|0; - STACKTOP = sp;return ($553|0); -} -function _emscripten_get_global_libc() { - var label = 0, sp = 0; - sp = STACKTOP; - return (22380|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; - var $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) { - $25 = ($26|0)<(0); - if ($25) { - break; - } - $34 = (($$04855) - ($26))|0; - $35 = ((($$04954)) + 4|0); - $36 = HEAP32[$35>>2]|0; - $37 = ($26>>>0)>($36>>>0); - $38 = ((($$04954)) + 8|0); - $$150 = $37 ? $38 : $$04954; - $39 = $37 << 31 >> 31; - $$1 = (($39) + ($$04756))|0; - $40 = $37 ? $36 : 0; - $$0 = (($26) - ($40))|0; - $41 = HEAP32[$$150>>2]|0; - $42 = (($41) + ($$0)|0); - HEAP32[$$150>>2] = $42; - $43 = ((($$150)) + 4|0); - $44 = HEAP32[$43>>2]|0; - $45 = (($44) - ($$0))|0; - HEAP32[$43>>2] = $45; - $46 = HEAP32[$13>>2]|0; - $47 = $$150; - HEAP32[$vararg_buffer3>>2] = $46; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = $47; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = $$1; - $48 = (___syscall146(146,($vararg_buffer3|0))|0); - $49 = (___syscall_ret($48)|0); - $50 = ($34|0)==($49|0); - if ($50) { - label = 3; - break L1; - } else { - $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; - } - } - $27 = ((($0)) + 16|0); - HEAP32[$27>>2] = 0; - HEAP32[$4>>2] = 0; - HEAP32[$7>>2] = 0; - $28 = HEAP32[$0>>2]|0; - $29 = $28 | 32; - HEAP32[$0>>2] = $29; - $30 = ($$04756|0)==(2); - if ($30) { - $$051 = 0; - } else { - $31 = ((($$04954)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($2) - ($32))|0; - $$051 = $33; - } - } - } 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; - HEAP32[$4>>2] = $20; - HEAP32[$7>>2] = $20; - $$051 = $2; - } - STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (___pthread_self_108()|0); - $1 = ((($0)) + 64|0); - return ($1|0); -} -function ___pthread_self_108() { - 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 (3856|0); -} -function _dummy_738($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - return ($0|0); -} -function ___stdio_read($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, $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; - HEAP32[$3>>2] = $1; - $4 = ((($3)) + 4|0); - $5 = ((($0)) + 48|0); - $6 = HEAP32[$5>>2]|0; - $7 = ($6|0)!=(0); - $8 = $7&1; - $9 = (($2) - ($8))|0; - HEAP32[$4>>2] = $9; - $10 = ((($3)) + 8|0); - $11 = ((($0)) + 44|0); - $12 = HEAP32[$11>>2]|0; - HEAP32[$10>>2] = $12; - $13 = ((($3)) + 12|0); - HEAP32[$13>>2] = $6; - $14 = ((($0)) + 60|0); - $15 = HEAP32[$14>>2]|0; - $16 = $3; - HEAP32[$vararg_buffer>>2] = $15; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = $16; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 2; - $17 = (___syscall145(145,($vararg_buffer|0))|0); - $18 = (___syscall_ret($17)|0); - $19 = ($18|0)<(1); - if ($19) { - $20 = $18 & 48; - $21 = $20 ^ 16; - $22 = HEAP32[$0>>2]|0; - $23 = $22 | $21; - HEAP32[$0>>2] = $23; - $$0 = $18; - } else { - $24 = HEAP32[$4>>2]|0; - $25 = ($18>>>0)>($24>>>0); - if ($25) { - $26 = (($18) - ($24))|0; - $27 = HEAP32[$11>>2]|0; - $28 = ((($0)) + 4|0); - HEAP32[$28>>2] = $27; - $29 = (($27) + ($26)|0); - $30 = ((($0)) + 8|0); - HEAP32[$30>>2] = $29; - $31 = HEAP32[$5>>2]|0; - $32 = ($31|0)==(0); - if ($32) { - $$0 = $2; - } else { - $33 = ((($27)) + 1|0); - HEAP32[$28>>2] = $33; - $34 = HEAP8[$27>>0]|0; - $35 = (($2) + -1)|0; - $36 = (($1) + ($35)|0); - HEAP8[$36>>0] = $34; - $$0 = $2; - } - } else { - $$0 = $18; - } - } - STACKTOP = sp;return ($$0|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] = 9; - $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 ___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; - $8 = $6; - $9 = (($7) - ($8))|0; - $10 = ((($0)) + 108|0); - HEAP32[$10>>2] = $9; - $11 = ($1|0)!=(0); - $12 = ($9|0)>($1|0); - $or$cond = $11 & $12; - $13 = (($6) + ($1)|0); - $$sink = $or$cond ? $13 : $4; - $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;$$1165168 = 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 = ((16791) + ($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;$$1165168 = 16; - label = 46; - } - } else { - $$166 = $28 ? 10 : $1; - $60 = ((16791) + ($$0159)|0); - $61 = HEAP8[$60>>0]|0; - $62 = $61&255; - $63 = ($62>>>0)<($$166>>>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;$93 = $86; - while(1) { - $90 = (___muldi3(($88|0),($89|0),10,0)|0); - $91 = tempRet0; - $92 = ($93|0)<(0); - $94 = $92 << 31 >> 31; - $95 = $93 ^ -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) { - $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89; - label = 72; - break L43; - } - $102 = (_i64Add(($90|0),($91|0),($93|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;$93 = $111; - } else { - break; - } - } - $118 = ($111>>>0)>(9); - if ($118) { - $$1158 = $$0157;$263 = $103;$265 = $102; - } else { - $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103; - label = 72; - } - } else { - $$1158 = $$0157;$263 = $292;$265 = $291; - } - } else { - $$1160169 = $$1160;$$1165168 = $$1165; - label = 46; - } - } - } while(0); - L63: do { - if ((label|0) == 46) { - $119 = (($$1165168) + -1)|0; - $120 = $119 & $$1165168; - $121 = ($120|0)==(0); - if ($121) { - $126 = ($$1165168*23)|0; - $127 = $126 >>> 5; - $128 = $127 & 7; - $129 = (17047 + ($128)|0); - $130 = HEAP8[$129>>0]|0; - $131 = $130 << 24 >> 24; - $132 = ((16791) + ($$1160169)|0); - $133 = HEAP8[$132>>0]|0; - $134 = $133&255; - $135 = ($134>>>0)<($$1165168>>>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 = ((16791) + ($$4163$be)|0); - $147 = HEAP8[$146>>0]|0; - $148 = $147&255; - $149 = ($148>>>0)<($$1165168>>>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 = ($154>>>0)>=($$1165168>>>0); - $157 = ($158>>>0)>($153>>>0); - $159 = ($160>>>0)>($152>>>0); - $161 = ($158|0)==($153|0); - $162 = $161 & $159; - $163 = $157 | $162; - $or$cond187 = $156 | $163; - if ($or$cond187) { - $$1165167 = $$1165168;$$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 = $168 | $166; - $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 = ((16791) + ($$5$be)|0); - $179 = HEAP8[$178>>0]|0; - $180 = $179&255; - $181 = ($180>>>0)>=($$1165168>>>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) { - $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167; - label = 72; - break L63; - } else { - $164 = $170;$165 = $167;$169 = $179; - } - } - } - $122 = ((16791) + ($$1160169)|0); - $123 = HEAP8[$122>>0]|0; - $124 = $123&255; - $125 = ($124>>>0)<($$1165168>>>0); - if ($125) { - $$2156210 = 0;$189 = $124; - while(1) { - $187 = Math_imul($$2156210, $$1165168)|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 = ((16791) + ($$6$be)|0); - $198 = HEAP8[$197>>0]|0; - $199 = $198&255; - $200 = ($199>>>0)<($$1165168>>>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 = ($203>>>0)<($$1165168>>>0); - if ($205) { - $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0); - $207 = tempRet0; - $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204; - while(1) { - $208 = ($209>>>0)>($207>>>0); - $210 = ($211>>>0)>($206>>>0); - $212 = ($209|0)==($207|0); - $213 = $212 & $210; - $214 = $208 | $213; - if ($214) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $215 = (___muldi3(($211|0),($209|0),($$1165168|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) { - $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209; - label = 72; - break L63; - } - $225 = (_i64Add(($217|0),0,($215|0),($216|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 = ((16791) + ($$7$be)|0); - $235 = HEAP8[$234>>0]|0; - $236 = $235&255; - $237 = ($236>>>0)<($$1165168>>>0); - if ($237) { - $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235; - } else { - $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226; - label = 72; - break; - } - } - } else { - $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296; - label = 72; - } - } - } while(0); - if ((label|0) == 72) { - $238 = ((16791) + ($$8)|0); - $239 = HEAP8[$238>>0]|0; - $240 = $239&255; - $241 = ($240>>>0)<($$1165167>>>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 = ((16791) + ($$9$be)|0); - $250 = HEAP8[$249>>0]|0; - $251 = $250&255; - $252 = ($251>>>0)<($$1165167>>>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$;$263 = $4;$265 = $3; - } else { - $$1158 = $$0157;$263 = $294;$265 = $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; - } - $262 = ($263>>>0)<($4>>>0); - $264 = ($265>>>0)<($3>>>0); - $266 = ($263|0)==($4|0); - $267 = $266 & $264; - $268 = $262 | $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 = ($263>>>0)>($4>>>0); - $278 = ($265>>>0)>($3>>>0); - $279 = ($263|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 = $265 ^ $$1158; - $286 = $263 ^ $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$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 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; - var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; - var $4 = 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; - $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0); - $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0; - $$pre35 = ((($0)) + 108|0); - $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$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) { - $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14; - } else { - $22 = (($19) + -1)|0; - $23 = (($14) + ($22)|0); - $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14; - } - } - $24 = ((($0)) + 100|0); - HEAP32[$24>>2] = $$sink; - $25 = ($26|0)==(0|0); - if (!($25)) { - $27 = $26; - $28 = $29; - $30 = HEAP32[$$pre$phi34Z2D>>2]|0; - $31 = (($27) + 1)|0; - $32 = (($31) - ($28))|0; - $33 = (($32) + ($30))|0; - HEAP32[$$pre$phi34Z2D>>2] = $33; - } - $34 = ((($29)) + -1|0); - $35 = HEAP8[$34>>0]|0; - $36 = $35&255; - $37 = ($36|0)==($7|0); - if ($37) { - $$0 = $7; - } else { - $38 = $7&255; - HEAP8[$34>>0] = $38; - $$0 = $7; - } - } - } - if ((label|0) == 4) { - $9 = ((($0)) + 100|0); - HEAP32[$9>>2] = 0; - $$0 = -1; - } - return ($$0|0); -} -function _isspace($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(32); - $2 = (($0) + -9)|0; - $3 = ($2>>>0)<(5); - $4 = $1 | $3; - $5 = $4&1; - return ($5|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 & 15]($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 & 15]($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 _copysign($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = $3 & 2147483647; - $7 = $5 & -2147483648; - $8 = $7 | $6; - HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3]; - return (+$9); -} -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 _memcmp($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $14 = 0; - } else { - $$01318 = $0;$$01417 = $2;$$019 = $1; - while(1) { - $4 = HEAP8[$$01318>>0]|0; - $5 = HEAP8[$$019>>0]|0; - $6 = ($4<<24>>24)==($5<<24>>24); - if (!($6)) { - break; - } - $7 = (($$01417) + -1)|0; - $8 = ((($$01318)) + 1|0); - $9 = ((($$019)) + 1|0); - $10 = ($7|0)==(0); - if ($10) { - $14 = 0; - break L1; - } else { - $$01318 = $8;$$01417 = $7;$$019 = $9; - } - } - $11 = $4&255; - $12 = $5&255; - $13 = (($11) - ($12))|0; - $14 = $13; - } - } while(0); - return ($14|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); - $40 = $12; - } else { - $40 = 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 & 15]($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; - $39 = ($40|0)==(0); - if (!($39)) { - ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; - var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; - var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; - var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; - var $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, $123 = 0; - var $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, $141 = 0; - var $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, $16 = 0; - var $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, $178 = 0; - var $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, $196 = 0; - var $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, $214 = 0; - var $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, $232 = 0; - var $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, $250 = 0; - var $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, $269 = 0; - var $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, $287 = 0; - var $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, $305 = 0; - var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; - var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $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, $60 = 0, $61 = 0, $62 = 0; - var $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, $79 = 0, $8 = 0, $80 = 0; - var $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, $97 = 0, $98 = 0, $99 = 0; - var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; - var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; - break; - } else { - $23 = $20;$25 = $21; - } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $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 = $$0249306;$39 = $27; - break L12; - } - $30 = ((($$0249306)) + 1|0); - $31 = ((($27)) + 2|0); - HEAP32[$5>>2] = $31; - $32 = HEAP8[$31>>0]|0; - $33 = ($32<<24>>24)==(37); - if ($33) { - $$0249306 = $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($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); - $$377 = $44 ? $45 : $38; - $$$0269 = $44 ? 1 : $$0269; - $isdigittmp$ = $44 ? $isdigittmp : -1; - $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; - } 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)<(32); - L24: do { - if ($49) { - $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; - while(1) { - $50 = 1 << $51; - $52 = $50 & 75913; - $53 = ($52|0)==(0); - if ($53) { - $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; - break L24; - } - $54 = $50 | $$0262311; - $55 = ((($storemerge273310)) + 1|0); - HEAP32[$5>>2] = $55; - $56 = HEAP8[$55>>0]|0; - $57 = $56 << 24 >> 24; - $58 = (($57) + -32)|0; - $59 = ($58>>>0)<(32); - if ($59) { - $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; - } else { - $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; - break; - } - } - } else { - $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; - } - } while(0); - $60 = ($$lcssa295<<24>>24)==(42); - if ($60) { - $61 = ((($62)) + 1|0); - $63 = HEAP8[$61>>0]|0; - $64 = $63 << 24 >> 24; - $isdigittmp276 = (($64) + -48)|0; - $isdigit277 = ($isdigittmp276>>>0)<(10); - if ($isdigit277) { - $65 = ((($62)) + 2|0); - $66 = HEAP8[$65>>0]|0; - $67 = ($66<<24>>24)==(36); - if ($67) { - $68 = (($4) + ($isdigittmp276<<2)|0); - HEAP32[$68>>2] = 10; - $69 = HEAP8[$61>>0]|0; - $70 = $69 << 24 >> 24; - $71 = (($70) + -48)|0; - $72 = (($3) + ($71<<3)|0); - $73 = $72; - $74 = $73; - $75 = HEAP32[$74>>2]|0; - $76 = (($73) + 4)|0; - $77 = $76; - $78 = HEAP32[$77>>2]|0; - $79 = ((($62)) + 3|0); - $$0259 = $75;$$2271 = 1;$storemerge278 = $79; - } else { - label = 23; - } - } else { - label = 23; - } - if ((label|0) == 23) { - label = 0; - $80 = ($$1270|0)==(0); - if (!($80)) { - $$0 = -1; - break; - } - if ($10) { - $arglist_current = HEAP32[$2>>2]|0; - $81 = $arglist_current; - $82 = ((0) + 4|0); - $expanded4 = $82; - $expanded = (($expanded4) - 1)|0; - $83 = (($81) + ($expanded))|0; - $84 = ((0) + 4|0); - $expanded8 = $84; - $expanded7 = (($expanded8) - 1)|0; - $expanded6 = $expanded7 ^ -1; - $85 = $83 & $expanded6; - $86 = $85; - $87 = HEAP32[$86>>2]|0; - $arglist_next = ((($86)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0259 = $87;$$2271 = 0;$storemerge278 = $61; - } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; - } - } - HEAP32[$5>>2] = $storemerge278; - $88 = ($$0259|0)<(0); - $89 = $$0262$lcssa | 8192; - $90 = (0 - ($$0259))|0; - $$$0262 = $88 ? $89 : $$0262$lcssa; - $$$0259 = $88 ? $90 : $$0259; - $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; - } else { - $91 = (_getint($5)|0); - $92 = ($91|0)<(0); - if ($92) { - $$0 = -1; - break; - } - $$pre346 = HEAP32[$5>>2]|0; - $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; - } - $93 = HEAP8[$94>>0]|0; - $95 = ($93<<24>>24)==(46); - do { - if ($95) { - $96 = ((($94)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = ($97<<24>>24)==(42); - if (!($98)) { - $125 = ((($94)) + 1|0); - HEAP32[$5>>2] = $125; - $126 = (_getint($5)|0); - $$pre347$pre = HEAP32[$5>>2]|0; - $$0254 = $126;$$pre347 = $$pre347$pre; - break; - } - $99 = ((($94)) + 2|0); - $100 = HEAP8[$99>>0]|0; - $101 = $100 << 24 >> 24; - $isdigittmp274 = (($101) + -48)|0; - $isdigit275 = ($isdigittmp274>>>0)<(10); - if ($isdigit275) { - $102 = ((($94)) + 3|0); - $103 = HEAP8[$102>>0]|0; - $104 = ($103<<24>>24)==(36); - if ($104) { - $105 = (($4) + ($isdigittmp274<<2)|0); - HEAP32[$105>>2] = 10; - $106 = HEAP8[$99>>0]|0; - $107 = $106 << 24 >> 24; - $108 = (($107) + -48)|0; - $109 = (($3) + ($108<<3)|0); - $110 = $109; - $111 = $110; - $112 = HEAP32[$111>>2]|0; - $113 = (($110) + 4)|0; - $114 = $113; - $115 = HEAP32[$114>>2]|0; - $116 = ((($94)) + 4|0); - HEAP32[$5>>2] = $116; - $$0254 = $112;$$pre347 = $116; - break; - } - } - $117 = ($$3272|0)==(0); - if (!($117)) { - $$0 = -1; - break L1; - } - if ($10) { - $arglist_current2 = HEAP32[$2>>2]|0; - $118 = $arglist_current2; - $119 = ((0) + 4|0); - $expanded11 = $119; - $expanded10 = (($expanded11) - 1)|0; - $120 = (($118) + ($expanded10))|0; - $121 = ((0) + 4|0); - $expanded15 = $121; - $expanded14 = (($expanded15) - 1)|0; - $expanded13 = $expanded14 ^ -1; - $122 = $120 & $expanded13; - $123 = $122; - $124 = HEAP32[$123>>2]|0; - $arglist_next3 = ((($123)) + 4|0); - HEAP32[$2>>2] = $arglist_next3; - $330 = $124; - } else { - $330 = 0; - } - HEAP32[$5>>2] = $99; - $$0254 = $330;$$pre347 = $99; - } else { - $$0254 = -1;$$pre347 = $94; - } - } while(0); - $$0252 = 0;$128 = $$pre347; - while(1) { - $127 = HEAP8[$128>>0]|0; - $129 = $127 << 24 >> 24; - $130 = (($129) + -65)|0; - $131 = ($130>>>0)>(57); - if ($131) { - $$0 = -1; - break L1; - } - $132 = ((($128)) + 1|0); - HEAP32[$5>>2] = $132; - $133 = HEAP8[$128>>0]|0; - $134 = $133 << 24 >> 24; - $135 = (($134) + -65)|0; - $136 = ((17056 + (($$0252*58)|0)|0) + ($135)|0); - $137 = HEAP8[$136>>0]|0; - $138 = $137&255; - $139 = (($138) + -1)|0; - $140 = ($139>>>0)<(8); - if ($140) { - $$0252 = $138;$128 = $132; - } else { - break; - } - } - $141 = ($137<<24>>24)==(0); - if ($141) { - $$0 = -1; - break; - } - $142 = ($137<<24>>24)==(19); - $143 = ($$0253|0)>(-1); - do { - if ($142) { - if ($143) { - $$0 = -1; - break L1; - } else { - label = 49; - } - } else { - if ($143) { - $144 = (($4) + ($$0253<<2)|0); - HEAP32[$144>>2] = $138; - $145 = (($3) + ($$0253<<3)|0); - $146 = $145; - $147 = $146; - $148 = HEAP32[$147>>2]|0; - $149 = (($146) + 4)|0; - $150 = $149; - $151 = HEAP32[$150>>2]|0; - $152 = $6; - $153 = $152; - HEAP32[$153>>2] = $148; - $154 = (($152) + 4)|0; - $155 = $154; - HEAP32[$155>>2] = $151; - label = 49; - break; - } - if (!($10)) { - $$0 = 0; - break L1; - } - _pop_arg($6,$138,$2); - } - } while(0); - if ((label|0) == 49) { - label = 0; - if (!($10)) { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - } - $156 = HEAP8[$128>>0]|0; - $157 = $156 << 24 >> 24; - $158 = ($$0252|0)!=(0); - $159 = $157 & 15; - $160 = ($159|0)==(3); - $or$cond281 = $158 & $160; - $161 = $157 & -33; - $$0235 = $or$cond281 ? $161 : $157; - $162 = $$1263 & 8192; - $163 = ($162|0)==(0); - $164 = $$1263 & -65537; - $$1263$ = $163 ? $$1263 : $164; - L71: do { - switch ($$0235|0) { - case 110: { - $trunc = $$0252&255; - switch ($trunc<<24>>24) { - case 0: { - $171 = HEAP32[$6>>2]|0; - HEAP32[$171>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 2: { - $173 = ($$1248|0)<(0); - $174 = $173 << 31 >> 31; - $175 = HEAP32[$6>>2]|0; - $176 = $175; - $177 = $176; - HEAP32[$177>>2] = $$1248; - $178 = (($176) + 4)|0; - $179 = $178; - HEAP32[$179>>2] = $174; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - case 7: { - $185 = ($$1248|0)<(0); - $186 = $185 << 31 >> 31; - $187 = HEAP32[$6>>2]|0; - $188 = $187; - $189 = $188; - HEAP32[$189>>2] = $$1248; - $190 = (($188) + 4)|0; - $191 = $190; - HEAP32[$191>>2] = $186; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } - } - break; - } - case 112: { - $192 = ($$0254>>>0)>(8); - $193 = $192 ? $$0254 : 8; - $194 = $$1263$ | 8; - $$1236 = 120;$$1255 = $193;$$3265 = $194; - label = 61; - break; - } - case 88: case 120: { - $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; - label = 61; - break; - } - case 111: { - $210 = $6; - $211 = $210; - $212 = HEAP32[$211>>2]|0; - $213 = (($210) + 4)|0; - $214 = $213; - $215 = HEAP32[$214>>2]|0; - $216 = (_fmt_o($212,$215,$11)|0); - $217 = $$1263$ & 8; - $218 = ($217|0)==(0); - $219 = $216; - $220 = (($12) - ($219))|0; - $221 = ($$0254|0)>($220|0); - $222 = (($220) + 1)|0; - $223 = $218 | $221; - $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 17520;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; - label = 67; - break; - } - case 105: case 100: { - $224 = $6; - $225 = $224; - $226 = HEAP32[$225>>2]|0; - $227 = (($224) + 4)|0; - $228 = $227; - $229 = HEAP32[$228>>2]|0; - $230 = ($229|0)<(0); - if ($230) { - $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); - $232 = tempRet0; - $233 = $6; - $234 = $233; - HEAP32[$234>>2] = $231; - $235 = (($233) + 4)|0; - $236 = $235; - HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 17520;$242 = $231;$243 = $232; - label = 66; - break L71; - } else { - $237 = $$1263$ & 2048; - $238 = ($237|0)==(0); - $239 = $$1263$ & 1; - $240 = ($239|0)==(0); - $$ = $240 ? 17520 : (17522); - $$$ = $238 ? $$ : (17521); - $241 = $$1263$ & 2049; - $narrow = ($241|0)!=(0); - $$284$ = $narrow&1; - $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; - label = 66; - break L71; - } - break; - } - case 117: { - $165 = $6; - $166 = $165; - $167 = HEAP32[$166>>2]|0; - $168 = (($165) + 4)|0; - $169 = $168; - $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 17520;$242 = $167;$243 = $170; - label = 66; - break; - } - case 99: { - $259 = $6; - $260 = $259; - $261 = HEAP32[$260>>2]|0; - $262 = (($259) + 4)|0; - $263 = $262; - $264 = HEAP32[$263>>2]|0; - $265 = $261&255; - HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 17520;$$2251 = $11;$$5 = 1;$$6268 = $164; - break; - } - case 109: { - $266 = (___errno_location()|0); - $267 = HEAP32[$266>>2]|0; - $268 = (_strerror($267)|0); - $$1 = $268; - label = 71; - break; - } - case 115: { - $269 = HEAP32[$6>>2]|0; - $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 17530; - $$1 = $271; - label = 71; - break; - } - case 67: { - $278 = $6; - $279 = $278; - $280 = HEAP32[$279>>2]|0; - $281 = (($278) + 4)|0; - $282 = $281; - $283 = HEAP32[$282>>2]|0; - HEAP32[$8>>2] = $280; - HEAP32[$14>>2] = 0; - HEAP32[$6>>2] = $8; - $$4258355 = -1;$331 = $8; - label = 75; - break; - } - case 83: { - $$pre349 = HEAP32[$6>>2]|0; - $284 = ($$0254|0)==(0); - if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); - $$0240$lcssa357 = 0; - label = 84; - } else { - $$4258355 = $$0254;$331 = $$pre349; - label = 75; - } - break; - } - case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { - $306 = +HEAPF64[$6>>3]; - $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); - $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - break; - } - default: { - $$2 = $21;$$2234 = 0;$$2239 = 17520;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; - } - } - } while(0); - L95: do { - if ((label|0) == 61) { - label = 0; - $195 = $6; - $196 = $195; - $197 = HEAP32[$196>>2]|0; - $198 = (($195) + 4)|0; - $199 = $198; - $200 = HEAP32[$199>>2]|0; - $201 = $$1236 & 32; - $202 = (_fmt_x($197,$200,$11,$201)|0); - $203 = ($197|0)==(0); - $204 = ($200|0)==(0); - $205 = $203 & $204; - $206 = $$3265 & 8; - $207 = ($206|0)==(0); - $or$cond283 = $207 | $205; - $208 = $$1236 >> 4; - $209 = (17520 + ($208)|0); - $$289 = $or$cond283 ? 17520 : $209; - $$290 = $or$cond283 ? 0 : 2; - $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; - label = 67; - } - else if ((label|0) == 66) { - label = 0; - $244 = (_fmt_u($242,$243,$11)|0); - $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; - label = 67; - } - else if ((label|0) == 71) { - label = 0; - $272 = (_memchr($$1,0,$$0254)|0); - $273 = ($272|0)==(0|0); - $274 = $272; - $275 = $$1; - $276 = (($274) - ($275))|0; - $277 = (($$1) + ($$0254)|0); - $$3257 = $273 ? $$0254 : $276; - $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 17520;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; - } - else if ((label|0) == 75) { - label = 0; - $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; - while(1) { - $285 = HEAP32[$$0229322>>2]|0; - $286 = ($285|0)==(0); - if ($286) { - $$0240$lcssa = $$0240321;$$2245 = $$1244320; - break; - } - $287 = (_wctomb($9,$285)|0); - $288 = ($287|0)<(0); - $289 = (($$4258355) - ($$0240321))|0; - $290 = ($287>>>0)>($289>>>0); - $or$cond286 = $288 | $290; - if ($or$cond286) { - $$0240$lcssa = $$0240321;$$2245 = $287; - break; - } - $291 = ((($$0229322)) + 4|0); - $292 = (($287) + ($$0240321))|0; - $293 = ($$4258355>>>0)>($292>>>0); - if ($293) { - $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; - } else { - $$0240$lcssa = $292;$$2245 = $287; - break; - } - } - $294 = ($$2245|0)<(0); - if ($294) { - $$0 = -1; - break L1; - } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); - $295 = ($$0240$lcssa|0)==(0); - if ($295) { - $$0240$lcssa357 = 0; - label = 84; - } else { - $$1230333 = $331;$$1241332 = 0; - while(1) { - $296 = HEAP32[$$1230333>>2]|0; - $297 = ($296|0)==(0); - if ($297) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $298 = (_wctomb($9,$296)|0); - $299 = (($298) + ($$1241332))|0; - $300 = ($299|0)>($$0240$lcssa|0); - if ($300) { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break L95; - } - $301 = ((($$1230333)) + 4|0); - _out($0,$9,$298); - $302 = ($299>>>0)<($$0240$lcssa>>>0); - if ($302) { - $$1230333 = $301;$$1241332 = $299; - } else { - $$0240$lcssa357 = $$0240$lcssa; - label = 84; - break; - } - } - } - } - } while(0); - if ((label|0) == 67) { - label = 0; - $245 = ($$2256|0)>(-1); - $246 = $$4266 & -65537; - $$$4266 = $245 ? $246 : $$4266; - $247 = ($248|0)!=(0); - $249 = ($250|0)!=(0); - $251 = $247 | $249; - $252 = ($$2256|0)!=(0); - $or$cond = $252 | $251; - $253 = $$0228; - $254 = (($12) - ($253))|0; - $255 = $251 ^ 1; - $256 = $255&1; - $257 = (($256) + ($254))|0; - $258 = ($$2256|0)>($257|0); - $$2256$ = $258 ? $$2256 : $257; - $$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) == 84) { - label = 0; - $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); - $304 = ($$1260|0)>($$0240$lcssa357|0); - $305 = $304 ? $$1260 : $$0240$lcssa357; - $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue; - } - $308 = $$2251; - $309 = $$2; - $310 = (($308) - ($309))|0; - $311 = ($$5|0)<($310|0); - $$$5 = $311 ? $310 : $$5; - $312 = (($$$5) + ($$2234))|0; - $313 = ($$1260|0)<($312|0); - $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); - _out($0,$$2239,$$2234); - $314 = $$6268 ^ 65536; - _pad_674($0,48,$$2261,$312,$314); - _pad_674($0,48,$$$5,$310,0); - _out($0,$$2,$310); - $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); - $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - } - L114: do { - if ((label|0) == 87) { - $316 = ($0|0)==(0|0); - if ($316) { - $317 = ($$0269|0)==(0); - if ($317) { - $$0 = 0; - } else { - $$2242305 = 1; - while(1) { - $318 = (($4) + ($$2242305<<2)|0); - $319 = HEAP32[$318>>2]|0; - $320 = ($319|0)==(0); - if ($320) { - $$3303 = $$2242305; - break; - } - $321 = (($3) + ($$2242305<<3)|0); - _pop_arg($321,$319,$2); - $322 = (($$2242305) + 1)|0; - $323 = ($322|0)<(10); - if ($323) { - $$2242305 = $322; - } else { - $$0 = 1; - break L114; - } - } - while(1) { - $326 = (($4) + ($$3303<<2)|0); - $327 = HEAP32[$326>>2]|0; - $328 = ($327|0)==(0); - $325 = (($$3303) + 1)|0; - if (!($328)) { - $$0 = -1; - break L114; - } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; - } else { - $$0 = 1; - break; - } - } - } - } 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($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($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($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 = (17568 + ($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_105()|0); - $2 = ((($1)) + 188|0); - $3 = HEAP32[$2>>2]|0; - $4 = (___strerror_l($0,$3)|0); - return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; - var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; - var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; - var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; - var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; - var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; - var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; - var $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, $139 = 0; - var $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, $157 = 0; - var $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, $175 = 0; - var $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, $193 = 0; - var $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, $211 = 0; - var $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.0, $229 = 0.0, $23 = 0; - var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; - var $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, $266 = 0; - var $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, $284 = 0; - var $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, $302 = 0; - var $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, $320 = 0; - var $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, $339 = 0; - var $34 = 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, $357 = 0; - var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; - var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; - var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; - var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); - $12 = tempRet0; - $13 = ($12|0)<(0); - if ($13) { - $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 17537; - } else { - $15 = $4 & 2048; - $16 = ($15|0)==(0); - $17 = $4 & 1; - $18 = ($17|0)==(0); - $$ = $18 ? (17538) : (17543); - $$$ = $16 ? $$ : (17540); - $19 = $4 & 2049; - $narrow = ($19|0)!=(0); - $$534$ = $narrow&1; - $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; - } - (___DOUBLE_BITS_675($$0471)|0); - $20 = tempRet0; - $21 = $20 & 2146435072; - $22 = ($21>>>0)<(2146435072); - $23 = (0)<(0); - $24 = ($21|0)==(2146435072); - $25 = $24 & $23; - $26 = $22 | $25; - do { - if ($26) { - $35 = (+_frexpl($$0471,$7)); - $36 = $35 * 2.0; - $37 = $36 != 0.0; - if ($37) { - $38 = HEAP32[$7>>2]|0; - $39 = (($38) + -1)|0; - HEAP32[$7>>2] = $39; - } - $40 = $5 | 32; - $41 = ($40|0)==(97); - if ($41) { - $42 = $5 & 32; - $43 = ($42|0)==(0); - $44 = ((($$0521)) + 9|0); - $$0521$ = $43 ? $$0521 : $44; - $45 = $$0520 | 2; - $46 = ($3>>>0)>(11); - $47 = (12 - ($3))|0; - $48 = ($47|0)==(0); - $49 = $46 | $48; - do { - if ($49) { - $$1472 = $36; - } else { - $$0509582 = 8.0;$$1508583 = $47; - while(1) { - $50 = (($$1508583) + -1)|0; - $51 = $$0509582 * 16.0; - $52 = ($50|0)==(0); - if ($52) { - break; - } else { - $$0509582 = $51;$$1508583 = $50; - } - } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; - break; - } else { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; - break; - } - } - } while(0); - $61 = HEAP32[$7>>2]|0; - $62 = ($61|0)<(0); - $63 = (0 - ($61))|0; - $64 = $62 ? $63 : $61; - $65 = ($64|0)<(0); - $66 = $65 << 31 >> 31; - $67 = (_fmt_u($64,$66,$11)|0); - $68 = ($67|0)==($11|0); - if ($68) { - $69 = ((($10)) + 11|0); - HEAP8[$69>>0] = 48; - $$0511 = $69; - } else { - $$0511 = $67; - } - $70 = $61 >> 31; - $71 = $70 & 2; - $72 = (($71) + 43)|0; - $73 = $72&255; - $74 = ((($$0511)) + -1|0); - HEAP8[$74>>0] = $73; - $75 = (($5) + 15)|0; - $76 = $75&255; - $77 = ((($$0511)) + -2|0); - HEAP8[$77>>0] = $76; - $notrhs = ($3|0)<(1); - $78 = $4 & 8; - $79 = ($78|0)==(0); - $$0523 = $8;$$2473 = $$1472; - while(1) { - $80 = (~~(($$2473))); - $81 = (17568 + ($80)|0); - $82 = HEAP8[$81>>0]|0; - $83 = $82&255; - $84 = $83 | $42; - $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) { - $notlhs = $89 == 0.0; - $or$cond3$not = $notrhs & $notlhs; - $or$cond = $79 & $or$cond3$not; - if ($or$cond) { - $$1524 = $86; - } else { - $93 = ((($$0523)) + 2|0); - HEAP8[$86>>0] = 46; - $$1524 = $93; - } - } else { - $$1524 = $86; - } - $94 = $89 != 0.0; - if ($94) { - $$0523 = $$1524;$$2473 = $89; - } else { - break; - } - } - $95 = ($3|0)!=(0); - $96 = $77; - $97 = $11; - $98 = $$1524; - $99 = (($98) - ($9))|0; - $100 = (($97) - ($96))|0; - $101 = (($99) + -2)|0; - $102 = ($101|0)<($3|0); - $or$cond537 = $95 & $102; - $103 = (($3) + 2)|0; - $$pn = $or$cond537 ? $103 : $99; - $$0525 = (($100) + ($45))|0; - $104 = (($$0525) + ($$pn))|0; - _pad_674($0,32,$2,$104,$4); - _out($0,$$0521$,$45); - $105 = $4 ^ 65536; - _pad_674($0,48,$2,$104,$105); - _out($0,$8,$99); - $106 = (($$pn) - ($99))|0; - _pad_674($0,48,$106,0,0); - _out($0,$77,$100); - $107 = $4 ^ 8192; - _pad_674($0,32,$2,$104,$107); - $$sink562 = $104; - break; - } - $108 = ($3|0)<(0); - $$539 = $108 ? 6 : $3; - if ($37) { - $109 = $36 * 268435456.0; - $110 = HEAP32[$7>>2]|0; - $111 = (($110) + -28)|0; - HEAP32[$7>>2] = $111; - $$3 = $109;$$pr = $111; - } else { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; - } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; - while(1) { - $114 = (~~(($$4))>>>0); - HEAP32[$$0498>>2] = $114; - $115 = ((($$0498)) + 4|0); - $116 = (+($114>>>0)); - $117 = $$4 - $116; - $118 = $117 * 1.0E+9; - $119 = $118 != 0.0; - if ($119) { - $$0498 = $115;$$4 = $118; - } else { - break; - } - } - $120 = ($$pr|0)>(0); - if ($120) { - $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; - while(1) { - $121 = ($122|0)<(29); - $123 = $121 ? $122 : 29; - $$0488653 = ((($$1499660)) + -4|0); - $124 = ($$0488653>>>0)<($$1482661>>>0); - if ($124) { - $$2483$ph = $$1482661; - } else { - $$0488655 = $$0488653;$$0497654 = 0; - while(1) { - $125 = HEAP32[$$0488655>>2]|0; - $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); - $127 = tempRet0; - $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); - $129 = tempRet0; - $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); - $131 = tempRet0; - HEAP32[$$0488655>>2] = $130; - $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); - $133 = tempRet0; - $$0488 = ((($$0488655)) + -4|0); - $134 = ($$0488>>>0)<($$1482661>>>0); - if ($134) { - break; - } else { - $$0488655 = $$0488;$$0497654 = $132; - } - } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; - } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; - } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; - } - } - $141 = HEAP32[$7>>2]|0; - $142 = (($141) - ($123))|0; - HEAP32[$7>>2] = $142; - $143 = ($142|0)>(0); - if ($143) { - $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; - } else { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; - } - } - } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; - } - $144 = ($$pr564|0)<(0); - if ($144) { - $145 = (($$539) + 25)|0; - $146 = (($145|0) / 9)&-1; - $147 = (($146) + 1)|0; - $148 = ($40|0)==(102); - $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; - while(1) { - $149 = (0 - ($150))|0; - $151 = ($149|0)<(9); - $152 = $151 ? $149 : 9; - $153 = ($$3484648>>>0)<($$3501647>>>0); - if ($153) { - $157 = 1 << $152; - $158 = (($157) + -1)|0; - $159 = 1000000000 >>> $152; - $$0487642 = 0;$$1489641 = $$3484648; - while(1) { - $160 = HEAP32[$$1489641>>2]|0; - $161 = $160 & $158; - $162 = $160 >>> $152; - $163 = (($162) + ($$0487642))|0; - HEAP32[$$1489641>>2] = $163; - $164 = Math_imul($161, $159)|0; - $165 = ((($$1489641)) + 4|0); - $166 = ($165>>>0)<($$3501647>>>0); - if ($166) { - $$0487642 = $164;$$1489641 = $165; - } else { - break; - } - } - $167 = HEAP32[$$3484648>>2]|0; - $168 = ($167|0)==(0); - $169 = ((($$3484648)) + 4|0); - $$$3484 = $168 ? $169 : $$3484648; - $170 = ($164|0)==(0); - if ($170) { - $$$3484692 = $$$3484;$$4502 = $$3501647; - } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; - } - } else { - $154 = HEAP32[$$3484648>>2]|0; - $155 = ($154|0)==(0); - $156 = ((($$3484648)) + 4|0); - $$$3484691 = $155 ? $156 : $$3484648; - $$$3484692 = $$$3484691;$$4502 = $$3501647; - } - $172 = $148 ? $$556 : $$$3484692; - $173 = $$4502; - $174 = $172; - $175 = (($173) - ($174))|0; - $176 = $175 >> 2; - $177 = ($176|0)>($147|0); - $178 = (($172) + ($147<<2)|0); - $$$4502 = $177 ? $178 : $$4502; - $179 = HEAP32[$7>>2]|0; - $180 = (($179) + ($152))|0; - HEAP32[$7>>2] = $180; - $181 = ($180|0)<(0); - if ($181) { - $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; - } else { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; - } - } - } else { - $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; - } - $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); - $183 = $$556; - if ($182) { - $184 = $$3484$lcssa; - $185 = (($183) - ($184))|0; - $186 = $185 >> 2; - $187 = ($186*9)|0; - $188 = HEAP32[$$3484$lcssa>>2]|0; - $189 = ($188>>>0)<(10); - if ($189) { - $$1515 = $187; - } else { - $$0514637 = $187;$$0530636 = 10; - while(1) { - $190 = ($$0530636*10)|0; - $191 = (($$0514637) + 1)|0; - $192 = ($188>>>0)<($190>>>0); - if ($192) { - $$1515 = $191; - break; - } else { - $$0514637 = $191;$$0530636 = $190; - } - } - } - } else { - $$1515 = 0; - } - $193 = ($40|0)!=(102); - $194 = $193 ? $$1515 : 0; - $195 = (($$539) - ($194))|0; - $196 = ($40|0)==(103); - $197 = ($$539|0)!=(0); - $198 = $197 & $196; - $$neg = $198 << 31 >> 31; - $199 = (($195) + ($$neg))|0; - $200 = $$3501$lcssa; - $201 = (($200) - ($183))|0; - $202 = $201 >> 2; - $203 = ($202*9)|0; - $204 = (($203) + -9)|0; - $205 = ($199|0)<($204|0); - if ($205) { - $206 = ((($$556)) + 4|0); - $207 = (($199) + 9216)|0; - $208 = (($207|0) / 9)&-1; - $209 = (($208) + -1024)|0; - $210 = (($206) + ($209<<2)|0); - $211 = (($207|0) % 9)&-1; - $$0527629 = (($211) + 1)|0; - $212 = ($$0527629|0)<(9); - if ($212) { - $$0527631 = $$0527629;$$1531630 = 10; - while(1) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; - break; - } else { - $$0527631 = $$0527;$$1531630 = $213; - } - } - } else { - $$1531$lcssa = 10; - } - $214 = HEAP32[$210>>2]|0; - $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; - $216 = ($215|0)==(0); - $217 = ((($210)) + 4|0); - $218 = ($217|0)==($$3501$lcssa|0); - $or$cond541 = $218 & $216; - if ($or$cond541) { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } else { - $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; - $220 = $219 & 1; - $221 = ($220|0)==(0); - $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; - $222 = (($$1531$lcssa|0) / 2)&-1; - $223 = ($215>>>0)<($222>>>0); - $224 = ($215|0)==($222|0); - $or$cond544 = $218 & $224; - $$559 = $or$cond544 ? 1.0 : 1.5; - $$$559 = $223 ? 0.5 : $$559; - $225 = ($$0520|0)==(0); - if ($225) { - $$1467 = $$$559;$$1469 = $$542; - } else { - $226 = HEAP8[$$0521>>0]|0; - $227 = ($226<<24>>24)==(45); - $228 = -$$542; - $229 = -$$$559; - $$$542 = $227 ? $228 : $$542; - $$$$559 = $227 ? $229 : $$$559; - $$1467 = $$$$559;$$1469 = $$$542; - } - $230 = (($214) - ($215))|0; - HEAP32[$210>>2] = $230; - $231 = $$1469 + $$1467; - $232 = $231 != $$1469; - if ($232) { - $233 = (($230) + ($$1531$lcssa))|0; - HEAP32[$210>>2] = $233; - $234 = ($233>>>0)>(999999999); - if ($234) { - $$5486623 = $$3484$lcssa;$$sink545622 = $210; - while(1) { - $235 = ((($$sink545622)) + -4|0); - HEAP32[$$sink545622>>2] = 0; - $236 = ($235>>>0)<($$5486623>>>0); - if ($236) { - $237 = ((($$5486623)) + -4|0); - HEAP32[$237>>2] = 0; - $$6 = $237; - } else { - $$6 = $$5486623; - } - $238 = HEAP32[$235>>2]|0; - $239 = (($238) + 1)|0; - HEAP32[$235>>2] = $239; - $240 = ($239>>>0)>(999999999); - if ($240) { - $$5486623 = $$6;$$sink545622 = $235; - } else { - $$5486$lcssa = $$6;$$sink545$lcssa = $235; - break; - } - } - } else { - $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; - } - $241 = $$5486$lcssa; - $242 = (($183) - ($241))|0; - $243 = $242 >> 2; - $244 = ($243*9)|0; - $245 = HEAP32[$$5486$lcssa>>2]|0; - $246 = ($245>>>0)<(10); - if ($246) { - $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; - } else { - $$2516618 = $244;$$2532617 = 10; - while(1) { - $247 = ($$2532617*10)|0; - $248 = (($$2516618) + 1)|0; - $249 = ($245>>>0)<($247>>>0); - if ($249) { - $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; - break; - } else { - $$2516618 = $248;$$2532617 = $247; - } - } - } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; - } - } - $250 = ((($$4492)) + 4|0); - $251 = ($$3501$lcssa>>>0)>($250>>>0); - $$$3501 = $251 ? $250 : $$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) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; - break; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; - } else { - $$lcssa673 = 1; - break; - } - } - $256 = (0 - ($$5519$ph))|0; - do { - if ($196) { - $not$ = $197 ^ 1; - $257 = $not$&1; - $$539$ = (($257) + ($$539))|0; - $258 = ($$539$|0)>($$5519$ph|0); - $259 = ($$5519$ph|0)>(-5); - $or$cond6 = $258 & $259; - if ($or$cond6) { - $260 = (($5) + -1)|0; - $$neg567 = (($$539$) + -1)|0; - $261 = (($$neg567) - ($$5519$ph))|0; - $$0479 = $260;$$2476 = $261; - } else { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; - } - $264 = $4 & 8; - $265 = ($264|0)==(0); - if ($265) { - if ($$lcssa673) { - $266 = ((($$7505)) + -4|0); - $267 = HEAP32[$266>>2]|0; - $268 = ($267|0)==(0); - if ($268) { - $$2529 = 9; - } else { - $269 = (($267>>>0) % 10)&-1; - $270 = ($269|0)==(0); - if ($270) { - $$1528614 = 0;$$3533613 = 10; - while(1) { - $271 = ($$3533613*10)|0; - $272 = (($$1528614) + 1)|0; - $273 = (($267>>>0) % ($271>>>0))&-1; - $274 = ($273|0)==(0); - if ($274) { - $$1528614 = $272;$$3533613 = $271; - } else { - $$2529 = $272; - break; - } - } - } else { - $$2529 = 0; - } - } - } else { - $$2529 = 9; - } - $275 = $$0479 | 32; - $276 = ($275|0)==(102); - $277 = $$7505; - $278 = (($277) - ($183))|0; - $279 = $278 >> 2; - $280 = ($279*9)|0; - $281 = (($280) + -9)|0; - if ($276) { - $282 = (($281) - ($$2529))|0; - $283 = ($282|0)>(0); - $$546 = $283 ? $282 : 0; - $284 = ($$2476|0)<($$546|0); - $$2476$$547 = $284 ? $$2476 : $$546; - $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; - break; - } else { - $285 = (($281) + ($$5519$ph))|0; - $286 = (($285) - ($$2529))|0; - $287 = ($286|0)>(0); - $$548 = $287 ? $286 : 0; - $288 = ($$2476|0)<($$548|0); - $$2476$$549 = $288 ? $$2476 : $$548; - $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; - break; - } - } else { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; - } - } else { - $$pre689 = $4 & 8; - $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; - } - } while(0); - $289 = $$3477 | $$pre$phi690Z2D; - $290 = ($289|0)!=(0); - $291 = $290&1; - $292 = $$1480 | 32; - $293 = ($292|0)==(102); - if ($293) { - $294 = ($$5519$ph|0)>(0); - $295 = $294 ? $$5519$ph : 0; - $$2513 = 0;$$pn566 = $295; - } else { - $296 = ($$5519$ph|0)<(0); - $297 = $296 ? $256 : $$5519$ph; - $298 = ($297|0)<(0); - $299 = $298 << 31 >> 31; - $300 = (_fmt_u($297,$299,$11)|0); - $301 = $11; - $302 = $300; - $303 = (($301) - ($302))|0; - $304 = ($303|0)<(2); - if ($304) { - $$1512607 = $300; - while(1) { - $305 = ((($$1512607)) + -1|0); - HEAP8[$305>>0] = 48; - $306 = $305; - $307 = (($301) - ($306))|0; - $308 = ($307|0)<(2); - if ($308) { - $$1512607 = $305; - } else { - $$1512$lcssa = $305; - break; - } - } - } else { - $$1512$lcssa = $300; - } - $309 = $$5519$ph >> 31; - $310 = $309 & 2; - $311 = (($310) + 43)|0; - $312 = $311&255; - $313 = ((($$1512$lcssa)) + -1|0); - HEAP8[$313>>0] = $312; - $314 = $$1480&255; - $315 = ((($$1512$lcssa)) + -2|0); - HEAP8[$315>>0] = $314; - $316 = $315; - $317 = (($301) - ($316))|0; - $$2513 = $315;$$pn566 = $317; - } - $318 = (($$0520) + 1)|0; - $319 = (($318) + ($$3477))|0; - $$1526 = (($319) + ($291))|0; - $320 = (($$1526) + ($$pn566))|0; - _pad_674($0,32,$2,$320,$4); - _out($0,$$0521,$$0520); - $321 = $4 ^ 65536; - _pad_674($0,48,$2,$320,$321); - if ($293) { - $322 = ($$9$ph>>>0)>($$556>>>0); - $$0496$$9 = $322 ? $$556 : $$9$ph; - $323 = ((($8)) + 9|0); - $324 = $323; - $325 = ((($8)) + 8|0); - $$5493597 = $$0496$$9; - while(1) { - $326 = HEAP32[$$5493597>>2]|0; - $327 = (_fmt_u($326,0,$323)|0); - $328 = ($$5493597|0)==($$0496$$9|0); - if ($328) { - $334 = ($327|0)==($323|0); - if ($334) { - HEAP8[$325>>0] = 48; - $$1465 = $325; - } else { - $$1465 = $327; - } - } else { - $329 = ($327>>>0)>($8>>>0); - if ($329) { - $330 = $327; - $331 = (($330) - ($9))|0; - _memset(($8|0),48,($331|0))|0; - $$0464594 = $327; - while(1) { - $332 = ((($$0464594)) + -1|0); - $333 = ($332>>>0)>($8>>>0); - if ($333) { - $$0464594 = $332; - } else { - $$1465 = $332; - break; - } - } - } else { - $$1465 = $327; - } - } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; - } else { - $$5493597 = $337; - } - } - $339 = ($289|0)==(0); - if (!($339)) { - _out($0,17584,1); - } - $340 = ($337>>>0)<($$7505>>>0); - $341 = ($$3477|0)>(0); - $342 = $340 & $341; - if ($342) { - $$4478590 = $$3477;$$6494589 = $337; - while(1) { - $343 = HEAP32[$$6494589>>2]|0; - $344 = (_fmt_u($343,0,$323)|0); - $345 = ($344>>>0)>($8>>>0); - if ($345) { - $346 = $344; - $347 = (($346) - ($9))|0; - _memset(($8|0),48,($347|0))|0; - $$0463584 = $344; - while(1) { - $348 = ((($$0463584)) + -1|0); - $349 = ($348>>>0)>($8>>>0); - if ($349) { - $$0463584 = $348; - } else { - $$0463$lcssa = $348; - break; - } - } - } else { - $$0463$lcssa = $344; - } - $350 = ($$4478590|0)<(9); - $351 = $350 ? $$4478590 : 9; - _out($0,$$0463$lcssa,$351); - $352 = ((($$6494589)) + 4|0); - $353 = (($$4478590) + -9)|0; - $354 = ($352>>>0)<($$7505>>>0); - $355 = ($$4478590|0)>(9); - $356 = $354 & $355; - if ($356) { - $$4478590 = $353;$$6494589 = $352; - } else { - $$4478$lcssa = $353; - break; - } - } - } else { - $$4478$lcssa = $$3477; - } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); - } else { - $358 = ((($$9$ph)) + 4|0); - $$7505$ = $$lcssa673 ? $$7505 : $358; - $359 = ($$3477|0)>(-1); - if ($359) { - $360 = ((($8)) + 9|0); - $361 = ($$pre$phi690Z2D|0)==(0); - $362 = $360; - $363 = (0 - ($9))|0; - $364 = ((($8)) + 8|0); - $$5602 = $$3477;$$7495601 = $$9$ph; - while(1) { - $365 = HEAP32[$$7495601>>2]|0; - $366 = (_fmt_u($365,0,$360)|0); - $367 = ($366|0)==($360|0); - if ($367) { - HEAP8[$364>>0] = 48; - $$0 = $364; - } else { - $$0 = $366; - } - $368 = ($$7495601|0)==($$9$ph|0); - do { - if ($368) { - $372 = ((($$0)) + 1|0); - _out($0,$$0,1); - $373 = ($$5602|0)<(1); - $or$cond554 = $361 & $373; - if ($or$cond554) { - $$2 = $372; - break; - } - _out($0,17584,1); - $$2 = $372; - } else { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; - break; - } - $scevgep684 = (($$0) + ($363)|0); - $scevgep684685 = $scevgep684; - _memset(($8|0),48,($scevgep684685|0))|0; - $$1598 = $$0; - while(1) { - $370 = ((($$1598)) + -1|0); - $371 = ($370>>>0)>($8>>>0); - if ($371) { - $$1598 = $370; - } else { - $$2 = $370; - break; - } - } - } - } while(0); - $374 = $$2; - $375 = (($362) - ($374))|0; - $376 = ($$5602|0)>($375|0); - $377 = $376 ? $375 : $$5602; - _out($0,$$2,$377); - $378 = (($$5602) - ($375))|0; - $379 = ((($$7495601)) + 4|0); - $380 = ($379>>>0)<($$7505$>>>0); - $381 = ($378|0)>(-1); - $382 = $380 & $381; - if ($382) { - $$5602 = $378;$$7495601 = $379; - } else { - $$5$lcssa = $378; - break; - } - } - } else { - $$5$lcssa = $$3477; - } - $383 = (($$5$lcssa) + 18)|0; - _pad_674($0,48,$383,18,0); - $384 = $11; - $385 = $$2513; - $386 = (($384) - ($385))|0; - _out($0,$$2513,$386); - } - $387 = $4 ^ 8192; - _pad_674($0,32,$2,$320,$387); - $$sink562 = $320; - } else { - $27 = $5 & 32; - $28 = ($27|0)!=(0); - $29 = $28 ? 17556 : 17560; - $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 19487 : 17564; - $$0510 = $30 ? $31 : $29; - $32 = (($$0520) + 3)|0; - $33 = $4 & -65537; - _pad_674($0,32,$2,$32,$33); - _out($0,$$0521,$$0520); - _out($0,$$0510,3); - $34 = $4 ^ 8192; - _pad_674($0,32,$2,$32,$34); - $$sink562 = $32; - } - } while(0); - $388 = ($$sink562|0)<($2|0); - $$555 = $388 ? $2 : $$sink562; - STACKTOP = sp;return ($$555|0); -} -function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); - $7 = ((($6)) + 188|0); - $8 = HEAP32[$7>>2]|0; - $9 = HEAP32[$8>>2]|0; - $not$ = ($9|0)==(0|0); - if ($not$) { - $10 = $1 & -128; - $11 = ($10|0)==(57216); - if ($11) { - $13 = $1&255; - HEAP8[$0>>0] = $13; - $$0 = 1; - break; - } else { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; - } - } - $14 = ($1>>>0)<(2048); - if ($14) { - $15 = $1 >>> 6; - $16 = $15 | 192; - $17 = $16&255; - $18 = ((($0)) + 1|0); - HEAP8[$0>>0] = $17; - $19 = $1 & 63; - $20 = $19 | 128; - $21 = $20&255; - HEAP8[$18>>0] = $21; - $$0 = 2; - break; - } - $22 = ($1>>>0)<(55296); - $23 = $1 & -8192; - $24 = ($23|0)==(57344); - $or$cond = $22 | $24; - if ($or$cond) { - $25 = $1 >>> 12; - $26 = $25 | 224; - $27 = $26&255; - $28 = ((($0)) + 1|0); - HEAP8[$0>>0] = $27; - $29 = $1 >>> 6; - $30 = $29 & 63; - $31 = $30 | 128; - $32 = $31&255; - $33 = ((($0)) + 2|0); - HEAP8[$28>>0] = $32; - $34 = $1 & 63; - $35 = $34 | 128; - $36 = $35&255; - HEAP8[$33>>0] = $36; - $$0 = 3; - break; - } - $37 = (($1) + -65536)|0; - $38 = ($37>>>0)<(1048576); - if ($38) { - $39 = $1 >>> 18; - $40 = $39 | 240; - $41 = $40&255; - $42 = ((($0)) + 1|0); - HEAP8[$0>>0] = $41; - $43 = $1 >>> 12; - $44 = $43 & 63; - $45 = $44 | 128; - $46 = $45&255; - $47 = ((($0)) + 2|0); - HEAP8[$42>>0] = $46; - $48 = $1 >>> 6; - $49 = $48 & 63; - $50 = $49 | 128; - $51 = $50&255; - $52 = ((($0)) + 3|0); - HEAP8[$47>>0] = $51; - $53 = $1 & 63; - $54 = $53 | 128; - $55 = $54&255; - HEAP8[$52>>0] = $55; - $$0 = 4; - break; - } else { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; - } - } - } while(0); - return ($$0|0); -} -function ___pthread_self_448() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function ___pthread_self_105() { - 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 = (17586 + ($$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 = 17674;$$115 = 87; - label = 5; - break; - } else { - $$016 = $7; - } - } - if ((label|0) == 2) { - $2 = ($$016|0)==(0); - if ($2) { - $$012$lcssa = 17674; - } else { - $$01214 = 17674;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; - var $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 = ((($0)) + 48|0); - $18 = HEAP32[$17>>2]|0; - $19 = (($14) + ($18)|0); - $20 = ((($0)) + 16|0); - HEAP32[$20>>2] = $19; - $$0 = 0; - } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; - } - return ($$0|0); -} -function ___floatscan($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 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.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0; - var $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, $34 = 0; - var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; - var $53 = 0.0, $54 = 0.0, $55 = 0.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; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; - var $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$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; - sp = STACKTOP; - switch ($1|0) { - case 0: { - $$0105$ph = -149;$$0106$ph = 24; - label = 4; - break; - } - case 1: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - case 2: { - $$0105$ph = -1074;$$0106$ph = 53; - label = 4; - break; - } - default: { - $$0114 = 0.0; - } - } - L4: do { - if ((label|0) == 4) { - $3 = ((($0)) + 4|0); - $4 = ((($0)) + 100|0); - while(1) { - $5 = HEAP32[$3>>2]|0; - $6 = HEAP32[$4>>2]|0; - $7 = ($5>>>0)<($6>>>0); - if ($7) { - $8 = ((($5)) + 1|0); - HEAP32[$3>>2] = $8; - $9 = HEAP8[$5>>0]|0; - $10 = $9&255; - $12 = $10; - } else { - $11 = (___shgetc($0)|0); - $12 = $11; - } - $13 = (_isspace($12)|0); - $14 = ($13|0)==(0); - if ($14) { - break; - } - } - L13: do { - switch ($12|0) { - case 43: case 45: { - $15 = ($12|0)==(45); - $16 = $15&1; - $17 = $16 << 1; - $18 = (1 - ($17))|0; - $19 = HEAP32[$3>>2]|0; - $20 = HEAP32[$4>>2]|0; - $21 = ($19>>>0)<($20>>>0); - if ($21) { - $22 = ((($19)) + 1|0); - HEAP32[$3>>2] = $22; - $23 = HEAP8[$19>>0]|0; - $24 = $23&255; - $$0 = $24;$$0113 = $18; - break L13; - } else { - $25 = (___shgetc($0)|0); - $$0 = $25;$$0113 = $18; - break L13; - } - break; - } - default: { - $$0 = $12;$$0113 = 1; - } - } - } while(0); - $$0107127 = 0;$$1128 = $$0; - while(1) { - $26 = $$1128 | 32; - $27 = (19478 + ($$0107127)|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28 << 24 >> 24; - $30 = ($26|0)==($29|0); - if (!($30)) { - $$0107$lcssa = $$0107127;$$1$lcssa = $$1128; - break; - } - $31 = ($$0107127>>>0)<(7); - do { - if ($31) { - $32 = HEAP32[$3>>2]|0; - $33 = HEAP32[$4>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$3>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $$2 = $37; - break; - } else { - $38 = (___shgetc($0)|0); - $$2 = $38; - break; - } - } else { - $$2 = $$1128; - } - } while(0); - $39 = (($$0107127) + 1)|0; - $40 = ($39>>>0)<(8); - if ($40) { - $$0107127 = $39;$$1128 = $$2; - } else { - $$0107$lcssa = $39;$$1$lcssa = $$2; - break; - } - } - L29: do { - switch ($$0107$lcssa|0) { - case 8: { - break; - } - case 3: { - label = 23; - break; - } - default: { - $41 = ($$0107$lcssa>>>0)>(3); - $42 = ($2|0)!=(0); - $or$cond5 = $42 & $41; - if ($or$cond5) { - $43 = ($$0107$lcssa|0)==(8); - if ($43) { - break L29; - } else { - label = 23; - break L29; - } - } - $56 = ($$0107$lcssa|0)==(0); - L34: do { - if ($56) { - $$2109125 = 0;$$3126 = $$1$lcssa; - while(1) { - $57 = $$3126 | 32; - $58 = (19487 + ($$2109125)|0); - $59 = HEAP8[$58>>0]|0; - $60 = $59 << 24 >> 24; - $61 = ($57|0)==($60|0); - if (!($61)) { - $$3110 = $$2109125;$$5 = $$3126; - break L34; - } - $62 = ($$2109125>>>0)<(2); - do { - if ($62) { - $63 = HEAP32[$3>>2]|0; - $64 = HEAP32[$4>>2]|0; - $65 = ($63>>>0)<($64>>>0); - if ($65) { - $66 = ((($63)) + 1|0); - HEAP32[$3>>2] = $66; - $67 = HEAP8[$63>>0]|0; - $68 = $67&255; - $$4 = $68; - break; - } else { - $69 = (___shgetc($0)|0); - $$4 = $69; - break; - } - } else { - $$4 = $$3126; - } - } while(0); - $70 = (($$2109125) + 1)|0; - $71 = ($70>>>0)<(3); - if ($71) { - $$2109125 = $70;$$3126 = $$4; - } else { - $$3110 = $70;$$5 = $$4; - break; - } - } - } else { - $$3110 = $$0107$lcssa;$$5 = $$1$lcssa; - } - } while(0); - switch ($$3110|0) { - case 3: { - $72 = HEAP32[$3>>2]|0; - $73 = HEAP32[$4>>2]|0; - $74 = ($72>>>0)<($73>>>0); - if ($74) { - $75 = ((($72)) + 1|0); - HEAP32[$3>>2] = $75; - $76 = HEAP8[$72>>0]|0; - $77 = $76&255; - $80 = $77; - } else { - $78 = (___shgetc($0)|0); - $80 = $78; - } - $79 = ($80|0)==(40); - if ($79) { - $$4111 = 1; - } else { - $81 = HEAP32[$4>>2]|0; - $82 = ($81|0)==(0|0); - if ($82) { - $$0114 = nan; - break L4; - } - $83 = HEAP32[$3>>2]|0; - $84 = ((($83)) + -1|0); - HEAP32[$3>>2] = $84; - $$0114 = nan; - break L4; - } - while(1) { - $85 = HEAP32[$3>>2]|0; - $86 = HEAP32[$4>>2]|0; - $87 = ($85>>>0)<($86>>>0); - if ($87) { - $88 = ((($85)) + 1|0); - HEAP32[$3>>2] = $88; - $89 = HEAP8[$85>>0]|0; - $90 = $89&255; - $93 = $90; - } else { - $91 = (___shgetc($0)|0); - $93 = $91; - } - $92 = (($93) + -48)|0; - $94 = ($92>>>0)<(10); - $95 = (($93) + -65)|0; - $96 = ($95>>>0)<(26); - $or$cond = $94 | $96; - if (!($or$cond)) { - $97 = (($93) + -97)|0; - $98 = ($97>>>0)<(26); - $99 = ($93|0)==(95); - $or$cond7 = $99 | $98; - if (!($or$cond7)) { - break; - } - } - $111 = (($$4111) + 1)|0; - $$4111 = $111; - } - $100 = ($93|0)==(41); - if ($100) { - $$0114 = nan; - break L4; - } - $101 = HEAP32[$4>>2]|0; - $102 = ($101|0)==(0|0); - if (!($102)) { - $103 = HEAP32[$3>>2]|0; - $104 = ((($103)) + -1|0); - HEAP32[$3>>2] = $104; - } - if (!($42)) { - $106 = (___errno_location()|0); - HEAP32[$106>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - $105 = ($$4111|0)==(0); - if ($105) { - $$0114 = nan; - break L4; - } else { - $$in = $$4111; - } - while(1) { - $107 = (($$in) + -1)|0; - if (!($102)) { - $108 = HEAP32[$3>>2]|0; - $109 = ((($108)) + -1|0); - HEAP32[$3>>2] = $109; - } - $110 = ($107|0)==(0); - if ($110) { - $$0114 = nan; - break L4; - } else { - $$in = $107; - } - } - break; - } - case 0: { - $117 = ($$5|0)==(48); - if ($117) { - $118 = HEAP32[$3>>2]|0; - $119 = HEAP32[$4>>2]|0; - $120 = ($118>>>0)<($119>>>0); - if ($120) { - $121 = ((($118)) + 1|0); - HEAP32[$3>>2] = $121; - $122 = HEAP8[$118>>0]|0; - $123 = $122&255; - $126 = $123; - } else { - $124 = (___shgetc($0)|0); - $126 = $124; - } - $125 = $126 | 32; - $127 = ($125|0)==(120); - if ($127) { - $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $128; - break L4; - } - $129 = HEAP32[$4>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$6 = 48; - } else { - $131 = HEAP32[$3>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$3>>2] = $132; - $$6 = 48; - } - } else { - $$6 = $$5; - } - $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2)); - $$0114 = $133; - break L4; - break; - } - default: { - $112 = HEAP32[$4>>2]|0; - $113 = ($112|0)==(0|0); - if (!($113)) { - $114 = HEAP32[$3>>2]|0; - $115 = ((($114)) + -1|0); - HEAP32[$3>>2] = $115; - } - $116 = (___errno_location()|0); - HEAP32[$116>>2] = 22; - ___shlim($0,0); - $$0114 = 0.0; - break L4; - } - } - } - } - } while(0); - if ((label|0) == 23) { - $44 = HEAP32[$4>>2]|0; - $45 = ($44|0)==(0|0); - if (!($45)) { - $46 = HEAP32[$3>>2]|0; - $47 = ((($46)) + -1|0); - HEAP32[$3>>2] = $47; - } - $48 = ($2|0)!=(0); - $49 = ($$0107$lcssa>>>0)>(3); - $or$cond9 = $48 & $49; - if ($or$cond9) { - $$1108 = $$0107$lcssa; - while(1) { - if (!($45)) { - $50 = HEAP32[$3>>2]|0; - $51 = ((($50)) + -1|0); - HEAP32[$3>>2] = $51; - } - $52 = (($$1108) + -1)|0; - $$old8 = ($52>>>0)>(3); - if ($$old8) { - $$1108 = $52; - } else { - break; - } - } - } - } - $53 = (+($$0113|0)); - $54 = $53 * inf; - $55 = $54; - $$0114 = $55; - } - } while(0); - return (+$$0114); -} -function _hexfloat($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0; - var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0; - var $$pre = 0.0, $$pre$phiZ2D = 0.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, $113 = 0, $114 = 0, $115 = 0; - var $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, $131 = 0, $132 = 0, $133 = 0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.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.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0; - var $170 = 0, $171 = 0.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, $186 = 0, $187 = 0, $188 = 0; - var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0; - var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0; - var $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, $47 = 0, $48 = 0, $49 = 0; - var $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.0, $67 = 0.0; - var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.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; - var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0; - var $or$cond6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = ((($0)) + 4|0); - $6 = HEAP32[$5>>2]|0; - $7 = ((($0)) + 100|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($6>>>0)<($8>>>0); - if ($9) { - $10 = ((($6)) + 1|0); - HEAP32[$5>>2] = $10; - $11 = HEAP8[$6>>0]|0; - $12 = $11&255; - $$0 = $12;$$0142 = 0; - } else { - $13 = (___shgetc($0)|0); - $$0 = $13;$$0142 = 0; - } - L4: while(1) { - switch ($$0|0) { - case 46: { - label = 8; - break L4; - break; - } - case 48: { - break; - } - default: { - $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - break L4; - } - } - $14 = HEAP32[$5>>2]|0; - $15 = HEAP32[$7>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$5>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $$0 = $19;$$0142 = 1; - continue; - } else { - $20 = (___shgetc($0)|0); - $$0 = $20;$$0142 = 1; - continue; - } - } - if ((label|0) == 8) { - $21 = HEAP32[$5>>2]|0; - $22 = HEAP32[$7>>2]|0; - $23 = ($21>>>0)<($22>>>0); - if ($23) { - $24 = ((($21)) + 1|0); - HEAP32[$5>>2] = $24; - $25 = HEAP8[$21>>0]|0; - $26 = $25&255; - $$1$ph = $26; - } else { - $27 = (___shgetc($0)|0); - $$1$ph = $27; - } - $28 = ($$1$ph|0)==(48); - if ($28) { - $36 = 0;$37 = 0; - while(1) { - $29 = HEAP32[$5>>2]|0; - $30 = HEAP32[$7>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$5>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $41 = $34; - } else { - $35 = (___shgetc($0)|0); - $41 = $35; - } - $38 = (_i64Add(($36|0),($37|0),-1,-1)|0); - $39 = tempRet0; - $40 = ($41|0)==(48); - if ($40) { - $36 = $38;$37 = $39; - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38; - break; - } - } - } else { - $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0; - } - } - while(1) { - $42 = (($$2) + -48)|0; - $43 = ($42>>>0)<(10); - $44 = ($$2|0)==(46); - if (!($43)) { - $45 = $$2 | 32; - $46 = (($45) + -97)|0; - $47 = ($46>>>0)<(6); - $or$cond6 = $44 | $47; - if (!($or$cond6)) { - $$2$lcssa = $$2; - break; - } - } - if ($44) { - $48 = ($$0146|0)==(0); - if ($48) { - $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53; - } else { - $$2$lcssa = 46; - break; - } - } else { - $49 = ($$2|0)>(57); - $50 = $$2 | 32; - $51 = (($50) + -87)|0; - $$0133 = $49 ? $51 : $42; - $52 = ($53|0)<(0); - $54 = ($55>>>0)<(8); - $56 = ($53|0)==(0); - $57 = $56 & $54; - $58 = $52 | $57; - do { - if ($58) { - $59 = $$0159 << 4; - $60 = (($$0133) + ($59))|0; - $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60; - } else { - $61 = ($53|0)<(0); - $62 = ($55>>>0)<(14); - $63 = ($53|0)==(0); - $64 = $63 & $62; - $65 = $61 | $64; - if ($65) { - $66 = (+($$0133|0)); - $67 = $$0152 * 0.0625; - $68 = $67 * $66; - $69 = $$0155 + $68; - $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159; - break; - } else { - $70 = ($$0133|0)==(0); - $71 = ($$0148|0)!=(0); - $or$cond = $71 | $70; - $72 = $$0152 * 0.5; - $73 = $$0155 + $72; - $$0155$ = $or$cond ? $$0155 : $73; - $$0148$ = $or$cond ? $$0148 : 1; - $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159; - break; - } - } - } while(0); - $74 = (_i64Add(($55|0),($53|0),1,0)|0); - $75 = tempRet0; - $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75; - } - $76 = HEAP32[$5>>2]|0; - $77 = HEAP32[$7>>2]|0; - $78 = ($76>>>0)<($77>>>0); - if ($78) { - $79 = ((($76)) + 1|0); - HEAP32[$5>>2] = $79; - $80 = HEAP8[$76>>0]|0; - $81 = $80&255; - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } else { - $82 = (___shgetc($0)|0); - $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214; - continue; - } - } - $83 = ($$2144|0)==(0); - do { - if ($83) { - $84 = HEAP32[$7>>2]|0; - $85 = ($84|0)!=(0|0); - if ($85) { - $86 = HEAP32[$5>>2]|0; - $87 = ((($86)) + -1|0); - HEAP32[$5>>2] = $87; - } - $88 = ($4|0)==(0); - if ($88) { - ___shlim($0,0); - } else { - if ($85) { - $89 = HEAP32[$5>>2]|0; - $90 = ((($89)) + -1|0); - HEAP32[$5>>2] = $90; - } - $91 = ($$0146|0)==(0); - $92 = ($84|0)==(0|0); - $or$cond206 = $91 | $92; - if (!($or$cond206)) { - $93 = HEAP32[$5>>2]|0; - $94 = ((($93)) + -1|0); - HEAP32[$5>>2] = $94; - } - } - $95 = (+($3|0)); - $96 = $95 * 0.0; - $$0165 = $96; - } else { - $97 = ($$0146|0)==(0); - $98 = $97 ? $55 : $99; - $100 = $97 ? $53 : $101; - $102 = ($53|0)<(0); - $103 = ($55>>>0)<(8); - $104 = ($53|0)==(0); - $105 = $104 & $103; - $106 = $102 | $105; - if ($106) { - $$3162183 = $$0159;$108 = $55;$109 = $53; - while(1) { - $107 = $$3162183 << 4; - $110 = (_i64Add(($108|0),($109|0),1,0)|0); - $111 = tempRet0; - $112 = ($111|0)<(0); - $113 = ($110>>>0)<(8); - $114 = ($111|0)==(0); - $115 = $114 & $113; - $116 = $112 | $115; - if ($116) { - $$3162183 = $107;$108 = $110;$109 = $111; - } else { - $$3162$lcssa = $107; - break; - } - } - } else { - $$3162$lcssa = $$0159; - } - $117 = $$2$lcssa | 32; - $118 = ($117|0)==(112); - if ($118) { - $119 = (_scanexp($0,$4)|0); - $120 = tempRet0; - $121 = ($119|0)==(0); - $122 = ($120|0)==(-2147483648); - $123 = $121 & $122; - if ($123) { - $124 = ($4|0)==(0); - if ($124) { - ___shlim($0,0); - $$0165 = 0.0; - break; - } - $125 = HEAP32[$7>>2]|0; - $126 = ($125|0)==(0|0); - if ($126) { - $137 = 0;$138 = 0; - } else { - $127 = HEAP32[$5>>2]|0; - $128 = ((($127)) + -1|0); - HEAP32[$5>>2] = $128; - $137 = 0;$138 = 0; - } - } else { - $137 = $119;$138 = $120; - } - } else { - $129 = HEAP32[$7>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $137 = 0;$138 = 0; - } else { - $131 = HEAP32[$5>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$5>>2] = $132; - $137 = 0;$138 = 0; - } - } - $133 = (_bitshift64Shl(($98|0),($100|0),2)|0); - $134 = tempRet0; - $135 = (_i64Add(($133|0),($134|0),-32,-1)|0); - $136 = tempRet0; - $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0); - $140 = tempRet0; - $141 = ($$3162$lcssa|0)==(0); - if ($141) { - $142 = (+($3|0)); - $143 = $142 * 0.0; - $$0165 = $143; - break; - } - $144 = (0 - ($2))|0; - $145 = ($144|0)<(0); - $146 = $145 << 31 >> 31; - $147 = ($140|0)>($146|0); - $148 = ($139>>>0)>($144>>>0); - $149 = ($140|0)==($146|0); - $150 = $149 & $148; - $151 = $147 | $150; - if ($151) { - $152 = (___errno_location()|0); - HEAP32[$152>>2] = 34; - $153 = (+($3|0)); - $154 = $153 * 1.7976931348623157E+308; - $155 = $154 * 1.7976931348623157E+308; - $$0165 = $155; - break; - } - $156 = (($2) + -106)|0; - $157 = ($156|0)<(0); - $158 = $157 << 31 >> 31; - $159 = ($140|0)<($158|0); - $160 = ($139>>>0)<($156>>>0); - $161 = ($140|0)==($158|0); - $162 = $161 & $160; - $163 = $159 | $162; - if ($163) { - $165 = (___errno_location()|0); - HEAP32[$165>>2] = 34; - $166 = (+($3|0)); - $167 = $166 * 2.2250738585072014E-308; - $168 = $167 * 2.2250738585072014E-308; - $$0165 = $168; - break; - } - $164 = ($$3162$lcssa|0)>(-1); - if ($164) { - $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140; - while(1) { - $169 = !($$3158179 >= 0.5); - $170 = $$4163178 << 1; - $171 = $$3158179 + -1.0; - $not$ = $169 ^ 1; - $172 = $not$&1; - $$5164 = $170 | $172; - $$pn = $169 ? $$3158179 : $171; - $$4 = $$3158179 + $$pn; - $175 = (_i64Add(($173|0),($174|0),-1,-1)|0); - $176 = tempRet0; - $177 = ($$5164|0)>(-1); - if ($177) { - $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176; - } else { - $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176; - break; - } - } - } else { - $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140; - } - $178 = ($1|0)<(0); - $179 = $178 << 31 >> 31; - $180 = ($2|0)<(0); - $181 = $180 << 31 >> 31; - $182 = (_i64Subtract(32,0,($2|0),($181|0))|0); - $183 = tempRet0; - $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0); - $187 = tempRet0; - $188 = ($179|0)>($187|0); - $189 = ($1>>>0)>($186>>>0); - $190 = ($179|0)==($187|0); - $191 = $190 & $189; - $192 = $188 | $191; - if ($192) { - $193 = ($186|0)>(0); - if ($193) { - $$0166 = $186; - label = 59; - } else { - $$0166170 = 0;$197 = 84; - label = 61; - } - } else { - $$0166 = $1; - label = 59; - } - if ((label|0) == 59) { - $194 = ($$0166|0)<(53); - $195 = (84 - ($$0166))|0; - if ($194) { - $$0166170 = $$0166;$197 = $195; - label = 61; - } else { - $$pre = (+($3|0)); - $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre; - } - } - if ((label|0) == 61) { - $196 = (+($3|0)); - $198 = (+_scalbn(1.0,$197)); - $199 = (+_copysignl($198,$196)); - $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196; - } - $200 = ($$0166169|0)<(32); - $201 = $$3158$lcssa != 0.0; - $or$cond4 = $201 & $200; - $202 = $$4163$lcssa & 1; - $203 = ($202|0)==(0); - $or$cond168 = $203 & $or$cond4; - $204 = $or$cond168&1; - $$6 = (($204) + ($$4163$lcssa))|0; - $$5 = $or$cond168 ? 0.0 : $$3158$lcssa; - $205 = (+($$6>>>0)); - $206 = $$pre$phiZ2D * $205; - $207 = $$0151 + $206; - $208 = $$pre$phiZ2D * $$5; - $209 = $208 + $207; - $210 = $209 - $$0151; - $211 = $210 != 0.0; - if (!($211)) { - $212 = (___errno_location()|0); - HEAP32[$212>>2] = 34; - } - $213 = (+_scalbnl($210,$184)); - $$0165 = $213; - } - } while(0); - return (+$$0165); -} -function _decfloat($0,$1,$2,$3,$4,$5) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - $5 = $5|0; - var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0; - var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0; - var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0; - var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0; - var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0; - var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.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; - var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0; - var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0; - var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0; - var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0; - var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0; - var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0; - var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0; - var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0; - var $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, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0; - var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 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; - var $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, $79 = 0; - var $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, $97 = 0; - var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0; - var label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0); - $6 = sp; - $sum = (($3) + ($2))|0; - $7 = (0 - ($sum))|0; - $8 = ((($0)) + 4|0); - $9 = ((($0)) + 100|0); - $$0329 = $1;$$0396 = 0; - L1: while(1) { - switch ($$0329|0) { - case 46: { - label = 6; - break L1; - break; - } - case 48: { - break; - } - default: { - $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0; - break L1; - } - } - $10 = HEAP32[$8>>2]|0; - $11 = HEAP32[$9>>2]|0; - $12 = ($10>>>0)<($11>>>0); - if ($12) { - $13 = ((($10)) + 1|0); - HEAP32[$8>>2] = $13; - $14 = HEAP8[$10>>0]|0; - $15 = $14&255; - $$0329 = $15;$$0396 = 1; - continue; - } else { - $16 = (___shgetc($0)|0); - $$0329 = $16;$$0396 = 1; - continue; - } - } - if ((label|0) == 6) { - $17 = HEAP32[$8>>2]|0; - $18 = HEAP32[$9>>2]|0; - $19 = ($17>>>0)<($18>>>0); - if ($19) { - $20 = ((($17)) + 1|0); - HEAP32[$8>>2] = $20; - $21 = HEAP8[$17>>0]|0; - $22 = $21&255; - $$1330$ph = $22; - } else { - $23 = (___shgetc($0)|0); - $$1330$ph = $23; - } - $24 = ($$1330$ph|0)==(48); - if ($24) { - $25 = 0;$26 = 0; - while(1) { - $27 = (_i64Add(($25|0),($26|0),-1,-1)|0); - $28 = tempRet0; - $29 = HEAP32[$8>>2]|0; - $30 = HEAP32[$9>>2]|0; - $31 = ($29>>>0)<($30>>>0); - if ($31) { - $32 = ((($29)) + 1|0); - HEAP32[$8>>2] = $32; - $33 = HEAP8[$29>>0]|0; - $34 = $33&255; - $$1330$be = $34; - } else { - $35 = (___shgetc($0)|0); - $$1330$be = $35; - } - $36 = ($$1330$be|0)==(48); - if ($36) { - $25 = $27;$26 = $28; - } else { - $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28; - break; - } - } - } else { - $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0; - } - } - HEAP32[$6>>2] = 0; - $37 = (($$2) + -48)|0; - $38 = ($37>>>0)<(10); - $39 = ($$2|0)==(46); - $40 = $39 | $38; - L20: do { - if ($40) { - $41 = ((($6)) + 496|0); - $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0; - L22: while(1) { - do { - if ($368) { - $cond = ($$1394511|0)==(0); - if ($cond) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45; - } else { - break L22; - } - } else { - $43 = ($$0345512|0)<(125); - $46 = (_i64Add(($44|0),($45|0),1,0)|0); - $47 = tempRet0; - $48 = ($$3514|0)!=(48); - if (!($43)) { - if (!($48)) { - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $57 = HEAP32[$41>>2]|0; - $58 = $57 | 1; - HEAP32[$41>>2] = $58; - $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - break; - } - $$$0401 = $48 ? $46 : $$0401509; - $49 = ($$0341513|0)==(0); - $$pre = (($6) + ($$0345512<<2)|0); - if ($49) { - $$sink = $369; - } else { - $50 = HEAP32[$$pre>>2]|0; - $51 = ($50*10)|0; - $52 = (($$3514) + -48)|0; - $53 = (($52) + ($51))|0; - $$sink = $53; - } - HEAP32[$$pre>>2] = $$sink; - $54 = (($$0341513) + 1)|0; - $55 = ($54|0)==(9); - $56 = $55&1; - $$$0345 = (($56) + ($$0345512))|0; - $$413 = $55 ? 0 : $54; - $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47; - } - } while(0); - $59 = HEAP32[$8>>2]|0; - $60 = HEAP32[$9>>2]|0; - $61 = ($59>>>0)<($60>>>0); - if ($61) { - $62 = ((($59)) + 1|0); - HEAP32[$8>>2] = $62; - $63 = HEAP8[$59>>0]|0; - $64 = $63&255; - $$3$be = $64; - } else { - $65 = (___shgetc($0)|0); - $$3$be = $65; - } - $66 = (($$3$be) + -48)|0; - $67 = ($66>>>0)<(10); - $68 = ($$3$be|0)==(46); - $69 = $68 | $67; - if ($69) { - $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375; - } else { - $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375; - label = 29; - break L20; - } - } - $42 = ($$3399510|0)!=(0); - $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42; - label = 37; - } else { - $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0; - label = 29; - } - } while(0); - do { - if ((label|0) == 29) { - $70 = ($$1394$lcssa|0)==(0); - $71 = $70 ? $73 : $72; - $74 = $70 ? $76 : $75; - $77 = ($$3399$lcssa|0)!=(0); - $78 = $$3$lcssa | 32; - $79 = ($78|0)==(101); - $or$cond415 = $77 & $79; - if (!($or$cond415)) { - $94 = ($$3$lcssa|0)>(-1); - if ($94) { - $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77; - label = 37; - break; - } else { - $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74; - label = 39; - break; - } - } - $80 = (_scanexp($0,$5)|0); - $81 = tempRet0; - $82 = ($80|0)==(0); - $83 = ($81|0)==(-2147483648); - $84 = $82 & $83; - if ($84) { - $85 = ($5|0)==(0); - if ($85) { - ___shlim($0,0); - $$1 = 0.0; - break; - } - $86 = HEAP32[$9>>2]|0; - $87 = ($86|0)==(0|0); - if ($87) { - $90 = 0;$91 = 0; - } else { - $88 = HEAP32[$8>>2]|0; - $89 = ((($88)) + -1|0); - HEAP32[$8>>2] = $89; - $90 = 0;$91 = 0; - } - } else { - $90 = $80;$91 = $81; - } - $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0); - $93 = tempRet0; - $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76; - label = 41; - } - } while(0); - if ((label|0) == 37) { - $95 = HEAP32[$9>>2]|0; - $96 = ($95|0)==(0|0); - if ($96) { - $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379; - label = 39; - } else { - $97 = HEAP32[$8>>2]|0; - $98 = ((($97)) + -1|0); - HEAP32[$8>>2] = $98; - if ($380) { - $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377; - label = 41; - } else { - label = 40; - } - } - } - if ((label|0) == 39) { - if ($383) { - $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382; - label = 41; - } else { - label = 40; - } - } - do { - if ((label|0) == 40) { - $99 = (___errno_location()|0); - HEAP32[$99>>2] = 22; - ___shlim($0,0); - $$1 = 0.0; - } - else if ((label|0) == 41) { - $100 = HEAP32[$6>>2]|0; - $101 = ($100|0)==(0); - if ($101) { - $102 = (+($4|0)); - $103 = $102 * 0.0; - $$1 = $103; - break; - } - $104 = ($105|0)==($106|0); - $107 = ($108|0)==($109|0); - $110 = $104 & $107; - $111 = ($109|0)<(0); - $112 = ($106>>>0)<(10); - $113 = ($109|0)==(0); - $114 = $113 & $112; - $115 = $111 | $114; - $or$cond = $115 & $110; - if ($or$cond) { - $116 = ($2|0)>(30); - $117 = $100 >>> $2; - $118 = ($117|0)==(0); - $or$cond417 = $116 | $118; - if ($or$cond417) { - $119 = (+($4|0)); - $120 = (+($100>>>0)); - $121 = $119 * $120; - $$1 = $121; - break; - } - } - $122 = (($3|0) / -2)&-1; - $123 = ($122|0)<(0); - $124 = $123 << 31 >> 31; - $125 = ($108|0)>($124|0); - $126 = ($105>>>0)>($122>>>0); - $127 = ($108|0)==($124|0); - $128 = $127 & $126; - $129 = $125 | $128; - if ($129) { - $130 = (___errno_location()|0); - HEAP32[$130>>2] = 34; - $131 = (+($4|0)); - $132 = $131 * 1.7976931348623157E+308; - $133 = $132 * 1.7976931348623157E+308; - $$1 = $133; - break; - } - $134 = (($3) + -106)|0; - $135 = ($134|0)<(0); - $136 = $135 << 31 >> 31; - $137 = ($108|0)<($136|0); - $138 = ($105>>>0)<($134>>>0); - $139 = ($108|0)==($136|0); - $140 = $139 & $138; - $141 = $137 | $140; - if ($141) { - $142 = (___errno_location()|0); - HEAP32[$142>>2] = 34; - $143 = (+($4|0)); - $144 = $143 * 2.2250738585072014E-308; - $145 = $144 * 2.2250738585072014E-308; - $$1 = $145; - break; - } - $146 = ($$0341463|0)==(0); - if ($146) { - $$3348 = $$0345467; - } else { - $147 = ($$0341463|0)<(9); - if ($147) { - $148 = (($6) + ($$0345467<<2)|0); - $$promoted = HEAP32[$148>>2]|0; - $$3344503 = $$0341463;$150 = $$promoted; - while(1) { - $149 = ($150*10)|0; - $151 = (($$3344503) + 1)|0; - $exitcond551 = ($151|0)==(9); - if ($exitcond551) { - break; - } else { - $$3344503 = $151;$150 = $149; - } - } - HEAP32[$148>>2] = $149; - } - $152 = (($$0345467) + 1)|0; - $$3348 = $152; - } - $153 = ($$0401473|0)<(9); - if ($153) { - $154 = ($$0401473|0)<=($105|0); - $155 = ($105|0)<(18); - $or$cond5 = $154 & $155; - if ($or$cond5) { - $156 = ($105|0)==(9); - $157 = HEAP32[$6>>2]|0; - if ($156) { - $158 = (+($4|0)); - $159 = (+($157>>>0)); - $160 = $158 * $159; - $$1 = $160; - break; - } - $161 = ($105|0)<(9); - if ($161) { - $162 = (+($4|0)); - $163 = (+($157>>>0)); - $164 = $162 * $163; - $165 = (8 - ($105))|0; - $166 = (4232 + ($165<<2)|0); - $167 = HEAP32[$166>>2]|0; - $168 = (+($167|0)); - $169 = $164 / $168; - $$1 = $169; - break; - } - $$neg442 = Math_imul($105, -3)|0; - $$neg443 = (($2) + 27)|0; - $170 = (($$neg443) + ($$neg442))|0; - $171 = ($170|0)>(30); - $172 = $157 >>> $170; - $173 = ($172|0)==(0); - $or$cond419 = $171 | $173; - if ($or$cond419) { - $174 = (($105) + -10)|0; - $175 = (4232 + ($174<<2)|0); - $176 = (+($4|0)); - $177 = (+($157>>>0)); - $178 = $176 * $177; - $179 = HEAP32[$175>>2]|0; - $180 = (+($179|0)); - $181 = $178 * $180; - $$1 = $181; - break; - } - } - } - $182 = (($105|0) % 9)&-1; - $183 = ($182|0)==(0); - if ($183) { - $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105; - } else { - $184 = ($105|0)>(-1); - $185 = (($182) + 9)|0; - $186 = $184 ? $182 : $185; - $187 = (8 - ($186))|0; - $188 = (4232 + ($187<<2)|0); - $189 = HEAP32[$188>>2]|0; - $190 = ($$3348|0)==(0); - if ($190) { - $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105; - } else { - $191 = (1000000000 / ($189|0))&-1; - $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0; - while(1) { - $192 = (($6) + ($$4349495<<2)|0); - $193 = HEAP32[$192>>2]|0; - $194 = (($193>>>0) % ($189>>>0))&-1; - $195 = (($193>>>0) / ($189>>>0))&-1; - $196 = (($195) + ($$0340496))|0; - HEAP32[$192>>2] = $196; - $197 = Math_imul($191, $194)|0; - $198 = ($$4349495|0)==($$0350494|0); - $199 = ($196|0)==(0); - $or$cond420 = $198 & $199; - $200 = (($$0350494) + 1)|0; - $201 = $200 & 127; - $202 = (($$0385493) + -9)|0; - $$$0385 = $or$cond420 ? $202 : $$0385493; - $$$0350 = $or$cond420 ? $201 : $$0350494; - $203 = (($$4349495) + 1)|0; - $204 = ($203|0)==($$3348|0); - if ($204) { - break; - } else { - $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203; - } - } - $205 = ($197|0)==(0); - if ($205) { - $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385; - } else { - $206 = (($6) + ($$3348<<2)|0); - $207 = (($$3348) + 1)|0; - HEAP32[$206>>2] = $197; - $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385; - } - } - $208 = (9 - ($186))|0; - $209 = (($208) + ($$0385$lcssa553))|0; - $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209; - } - L101: while(1) { - $210 = ($$2387$ph447|0)<(18); - $211 = ($$2387$ph447|0)==(18); - $212 = (($6) + ($$2352$ph449<<2)|0); - $$0380 = $$0380$ph;$$1373 = $$1373$ph448; - while(1) { - if (!($210)) { - if (!($211)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373; - break L101; - } - $213 = HEAP32[$212>>2]|0; - $214 = ($213>>>0)<(9007199); - if (!($214)) { - $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373; - break L101; - } - } - $215 = (($$1373) + 127)|0; - $$0334 = 0;$$2374 = $$1373;$$5$in = $215; - while(1) { - $$5 = $$5$in & 127; - $216 = (($6) + ($$5<<2)|0); - $217 = HEAP32[$216>>2]|0; - $218 = (_bitshift64Shl(($217|0),0,29)|0); - $219 = tempRet0; - $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0); - $221 = tempRet0; - $222 = ($221>>>0)>(0); - $223 = ($220>>>0)>(1000000000); - $224 = ($221|0)==(0); - $225 = $224 & $223; - $226 = $222 | $225; - if ($226) { - $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0); - $228 = tempRet0; - $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0); - $230 = tempRet0; - $$1335 = $227;$$sink421$off0 = $229; - } else { - $$1335 = 0;$$sink421$off0 = $220; - } - HEAP32[$216>>2] = $$sink421$off0; - $231 = (($$2374) + 127)|0; - $232 = $231 & 127; - $233 = ($$5|0)!=($232|0); - $234 = ($$5|0)==($$2352$ph449|0); - $or$cond422 = $233 | $234; - $or$cond422$not = $or$cond422 ^ 1; - $235 = ($$sink421$off0|0)==(0); - $or$cond423 = $235 & $or$cond422$not; - $$3375 = $or$cond423 ? $$5 : $$2374; - $236 = (($$5) + -1)|0; - if ($234) { - break; - } else { - $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236; - } - } - $237 = (($$0380) + -29)|0; - $238 = ($$1335|0)==(0); - if ($238) { - $$0380 = $237;$$1373 = $$3375; - } else { - break; - } - } - $239 = (($$2387$ph447) + 9)|0; - $240 = (($$2352$ph449) + 127)|0; - $241 = $240 & 127; - $242 = ($241|0)==($$3375|0); - $243 = (($$3375) + 127)|0; - $244 = $243 & 127; - $245 = (($$3375) + 126)|0; - $246 = $245 & 127; - $247 = (($6) + ($246<<2)|0); - if ($242) { - $248 = (($6) + ($244<<2)|0); - $249 = HEAP32[$248>>2]|0; - $250 = HEAP32[$247>>2]|0; - $251 = $250 | $249; - HEAP32[$247>>2] = $251; - $$4376 = $244; - } else { - $$4376 = $$3375; - } - $252 = (($6) + ($241<<2)|0); - HEAP32[$252>>2] = $$1335; - $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239; - } - L119: while(1) { - $289 = (($$6378$ph) + 1)|0; - $287 = $289 & 127; - $290 = (($$6378$ph) + 127)|0; - $291 = $290 & 127; - $292 = (($6) + ($291<<2)|0); - $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445; - while(1) { - $265 = ($$4389$ph|0)==(18); - $293 = ($$4389$ph|0)>(27); - $$425 = $293 ? 9 : 1; - $$1381 = $$1381$ph558;$$4354 = $$4354$ph559; - while(1) { - $$0336486 = 0; - while(1) { - $253 = (($$0336486) + ($$4354))|0; - $254 = $253 & 127; - $255 = ($254|0)==($$6378$ph|0); - if ($255) { - $$1337 = 2; - label = 88; - break; - } - $256 = (($6) + ($254<<2)|0); - $257 = HEAP32[$256>>2]|0; - $258 = (4264 + ($$0336486<<2)|0); - $259 = HEAP32[$258>>2]|0; - $260 = ($257>>>0)<($259>>>0); - if ($260) { - $$1337 = 2; - label = 88; - break; - } - $261 = ($257>>>0)>($259>>>0); - if ($261) { - break; - } - $262 = (($$0336486) + 1)|0; - $263 = ($262|0)<(2); - if ($263) { - $$0336486 = $262; - } else { - $$1337 = $262; - label = 88; - break; - } - } - if ((label|0) == 88) { - label = 0; - $264 = ($$1337|0)==(2); - $or$cond11 = $265 & $264; - if ($or$cond11) { - $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph; - break L119; - } - } - $266 = (($$425) + ($$1381))|0; - $267 = ($$4354|0)==($$6378$ph|0); - if ($267) { - $$1381 = $266;$$4354 = $$6378$ph; - } else { - break; - } - } - $268 = 1 << $$425; - $269 = (($268) + -1)|0; - $270 = 1000000000 >>> $$425; - $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354; - while(1) { - $271 = (($6) + ($$6489<<2)|0); - $272 = HEAP32[$271>>2]|0; - $273 = $272 & $269; - $274 = $272 >>> $$425; - $275 = (($274) + ($$0332490))|0; - HEAP32[$271>>2] = $275; - $276 = Math_imul($273, $270)|0; - $277 = ($$6489|0)==($$5355488|0); - $278 = ($275|0)==(0); - $or$cond426 = $277 & $278; - $279 = (($$5355488) + 1)|0; - $280 = $279 & 127; - $281 = (($$5390487) + -9)|0; - $$$5390 = $or$cond426 ? $281 : $$5390487; - $$$5355 = $or$cond426 ? $280 : $$5355488; - $282 = (($$6489) + 1)|0; - $283 = $282 & 127; - $284 = ($283|0)==($$6378$ph|0); - if ($284) { - break; - } else { - $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283; - } - } - $285 = ($276|0)==(0); - if ($285) { - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - continue; - } - $286 = ($287|0)==($$$5355|0); - if (!($286)) { - break; - } - $294 = HEAP32[$292>>2]|0; - $295 = $294 | 1; - HEAP32[$292>>2] = $295; - $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390; - } - $288 = (($6) + ($$6378$ph<<2)|0); - HEAP32[$288>>2] = $276; - $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287; - } - while(1) { - $296 = (($$4485) + ($$4354))|0; - $297 = $296 & 127; - $298 = ($297|0)==($$9483|0); - $299 = (($$9483) + 1)|0; - $300 = $299 & 127; - if ($298) { - $301 = (($300) + -1)|0; - $302 = (($6) + ($301<<2)|0); - HEAP32[$302>>2] = 0; - $$10 = $300; - } else { - $$10 = $$9483; - } - $303 = $$0365484 * 1.0E+9; - $304 = (($6) + ($297<<2)|0); - $305 = HEAP32[$304>>2]|0; - $306 = (+($305>>>0)); - $307 = $303 + $306; - $308 = (($$4485) + 1)|0; - $exitcond = ($308|0)==(2); - if ($exitcond) { - break; - } else { - $$0365484 = $307;$$4485 = $308;$$9483 = $$10; - } - } - $309 = (+($4|0)); - $310 = $309 * $307; - $311 = (($$1381) + 53)|0; - $312 = (($311) - ($3))|0; - $313 = ($312|0)<($2|0); - $314 = ($312|0)>(0); - $$ = $314 ? $312 : 0; - $$0333 = $313 ? $$ : $2; - $315 = ($$0333|0)<(53); - if ($315) { - $316 = (105 - ($$0333))|0; - $317 = (+_scalbn(1.0,$316)); - $318 = (+_copysignl($317,$310)); - $319 = (53 - ($$0333))|0; - $320 = (+_scalbn(1.0,$319)); - $321 = (+_fmodl($310,$320)); - $322 = $310 - $321; - $323 = $318 + $322; - $$0360 = $318;$$0361 = $321;$$1366 = $323; - } else { - $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310; - } - $324 = (($$4354) + 2)|0; - $325 = $324 & 127; - $326 = ($325|0)==($$10|0); - if ($326) { - $$3364 = $$0361; - } else { - $327 = (($6) + ($325<<2)|0); - $328 = HEAP32[$327>>2]|0; - $329 = ($328>>>0)<(500000000); - do { - if ($329) { - $330 = ($328|0)==(0); - if ($330) { - $331 = (($$4354) + 3)|0; - $332 = $331 & 127; - $333 = ($332|0)==($$10|0); - if ($333) { - $$1362 = $$0361; - break; - } - } - $334 = $309 * 0.25; - $335 = $334 + $$0361; - $$1362 = $335; - } else { - $336 = ($328|0)==(500000000); - if (!($336)) { - $337 = $309 * 0.75; - $338 = $337 + $$0361; - $$1362 = $338; - break; - } - $339 = (($$4354) + 3)|0; - $340 = $339 & 127; - $341 = ($340|0)==($$10|0); - if ($341) { - $342 = $309 * 0.5; - $343 = $342 + $$0361; - $$1362 = $343; - break; - } else { - $344 = $309 * 0.75; - $345 = $344 + $$0361; - $$1362 = $345; - break; - } - } - } while(0); - $346 = (53 - ($$0333))|0; - $347 = ($346|0)>(1); - if ($347) { - $348 = (+_fmodl($$1362,1.0)); - $349 = $348 != 0.0; - if ($349) { - $$3364 = $$1362; - } else { - $350 = $$1362 + 1.0; - $$3364 = $350; - } - } else { - $$3364 = $$1362; - } - } - $351 = $$1366 + $$3364; - $352 = $351 - $$0360; - $353 = $311 & 2147483647; - $354 = (-2 - ($sum))|0; - $355 = ($353|0)>($354|0); - do { - if ($355) { - $356 = (+Math_abs((+$352))); - $357 = !($356 >= 9007199254740992.0); - $358 = $352 * 0.5; - $not$ = $357 ^ 1; - $359 = $not$&1; - $$3383 = (($359) + ($$1381))|0; - $$2367 = $357 ? $352 : $358; - $360 = (($$3383) + 50)|0; - $361 = ($360|0)>($7|0); - if (!($361)) { - $362 = ($$0333|0)!=($312|0); - $narrow = $362 | $357; - $$2371$v = $313 & $narrow; - $363 = $$3364 != 0.0; - $or$cond14 = $363 & $$2371$v; - if (!($or$cond14)) { - $$3368 = $$2367;$$4384 = $$3383; - break; - } - } - $364 = (___errno_location()|0); - HEAP32[$364>>2] = 34; - $$3368 = $$2367;$$4384 = $$3383; - } else { - $$3368 = $352;$$4384 = $$1381; - } - } while(0); - $365 = (+_scalbnl($$3368,$$4384)); - $$1 = $365; - } - } while(0); - STACKTOP = sp;return (+$$1); -} -function _scanexp($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $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, $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, $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; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $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$cond3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = ((($0)) + 100|0); - $5 = HEAP32[$4>>2]|0; - $6 = ($3>>>0)<($5>>>0); - if ($6) { - $7 = ((($3)) + 1|0); - HEAP32[$2>>2] = $7; - $8 = HEAP8[$3>>0]|0; - $9 = $8&255; - $11 = $9; - } else { - $10 = (___shgetc($0)|0); - $11 = $10; - } - switch ($11|0) { - case 43: case 45: { - $12 = ($11|0)==(45); - $13 = $12&1; - $14 = HEAP32[$2>>2]|0; - $15 = HEAP32[$4>>2]|0; - $16 = ($14>>>0)<($15>>>0); - if ($16) { - $17 = ((($14)) + 1|0); - HEAP32[$2>>2] = $17; - $18 = HEAP8[$14>>0]|0; - $19 = $18&255; - $22 = $19; - } else { - $20 = (___shgetc($0)|0); - $22 = $20; - } - $21 = (($22) + -48)|0; - $23 = ($21>>>0)>(9); - $24 = ($1|0)!=(0); - $or$cond3 = $24 & $23; - if ($or$cond3) { - $25 = HEAP32[$4>>2]|0; - $26 = ($25|0)==(0|0); - if ($26) { - $$0 = $13;$$049 = $22; - } else { - $27 = HEAP32[$2>>2]|0; - $28 = ((($27)) + -1|0); - HEAP32[$2>>2] = $28; - $$0 = $13;$$049 = $22; - } - } else { - $$0 = $13;$$049 = $22; - } - break; - } - default: { - $$0 = 0;$$049 = $11; - } - } - $29 = (($$049) + -48)|0; - $30 = ($29>>>0)>(9); - if ($30) { - $31 = HEAP32[$4>>2]|0; - $32 = ($31|0)==(0|0); - if ($32) { - $100 = -2147483648;$101 = 0; - } else { - $33 = HEAP32[$2>>2]|0; - $34 = ((($33)) + -1|0); - HEAP32[$2>>2] = $34; - $100 = -2147483648;$101 = 0; - } - } else { - $$04861 = 0;$$160 = $$049; - while(1) { - $35 = ($$04861*10)|0; - $36 = (($$160) + -48)|0; - $37 = (($36) + ($35))|0; - $38 = HEAP32[$2>>2]|0; - $39 = HEAP32[$4>>2]|0; - $40 = ($38>>>0)<($39>>>0); - if ($40) { - $41 = ((($38)) + 1|0); - HEAP32[$2>>2] = $41; - $42 = HEAP8[$38>>0]|0; - $43 = $42&255; - $$1$be = $43; - } else { - $44 = (___shgetc($0)|0); - $$1$be = $44; - } - $45 = (($$1$be) + -48)|0; - $46 = ($45>>>0)<(10); - $47 = ($37|0)<(214748364); - $48 = $46 & $47; - if ($48) { - $$04861 = $37;$$160 = $$1$be; - } else { - break; - } - } - $49 = ($37|0)<(0); - $50 = $49 << 31 >> 31; - $51 = (($$1$be) + -48)|0; - $52 = ($51>>>0)<(10); - if ($52) { - $$254 = $$1$be;$56 = $37;$57 = $50; - while(1) { - $58 = (___muldi3(($56|0),($57|0),10,0)|0); - $59 = tempRet0; - $60 = ($$254|0)<(0); - $61 = $60 << 31 >> 31; - $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0); - $63 = tempRet0; - $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0); - $65 = tempRet0; - $66 = HEAP32[$2>>2]|0; - $67 = HEAP32[$4>>2]|0; - $68 = ($66>>>0)<($67>>>0); - if ($68) { - $69 = ((($66)) + 1|0); - HEAP32[$2>>2] = $69; - $70 = HEAP8[$66>>0]|0; - $71 = $70&255; - $$2$be = $71; - } else { - $72 = (___shgetc($0)|0); - $$2$be = $72; - } - $73 = (($$2$be) + -48)|0; - $74 = ($73>>>0)<(10); - $75 = ($65|0)<(21474836); - $76 = ($64>>>0)<(2061584302); - $77 = ($65|0)==(21474836); - $78 = $77 & $76; - $79 = $75 | $78; - $80 = $74 & $79; - if ($80) { - $$254 = $$2$be;$56 = $64;$57 = $65; - } else { - $$2$lcssa = $$2$be;$94 = $64;$95 = $65; - break; - } - } - } else { - $$2$lcssa = $$1$be;$94 = $37;$95 = $50; - } - $53 = (($$2$lcssa) + -48)|0; - $54 = ($53>>>0)<(10); - $55 = HEAP32[$4>>2]|0; - if ($54) { - $83 = $55; - while(1) { - $81 = HEAP32[$2>>2]|0; - $82 = ($81>>>0)<($83>>>0); - if ($82) { - $84 = ((($81)) + 1|0); - HEAP32[$2>>2] = $84; - $85 = HEAP8[$81>>0]|0; - $86 = $85&255; - $$3$be = $86;$102 = $83; - } else { - $87 = (___shgetc($0)|0); - $$pre = HEAP32[$4>>2]|0; - $$3$be = $87;$102 = $$pre; - } - $88 = (($$3$be) + -48)|0; - $89 = ($88>>>0)<(10); - if ($89) { - $83 = $102; - } else { - $$lcssa = $102; - break; - } - } - } else { - $$lcssa = $55; - } - $90 = ($$lcssa|0)==(0|0); - if (!($90)) { - $91 = HEAP32[$2>>2]|0; - $92 = ((($91)) + -1|0); - HEAP32[$2>>2] = $92; - } - $93 = ($$0|0)!=(0); - $96 = (_i64Subtract(0,0,($94|0),($95|0))|0); - $97 = tempRet0; - $98 = $93 ? $96 : $94; - $99 = $93 ? $97 : $95; - $100 = $99;$101 = $98; - } - tempRet0 = ($100); - return ($101|0); -} -function _scalbn($0,$1) { - $0 = +$0; - $1 = $1|0; - var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0; - var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($1|0)>(1023); - if ($2) { - $3 = $0 * 8.9884656743115795E+307; - $4 = (($1) + -1023)|0; - $5 = ($4|0)>(1023); - $6 = $3 * 8.9884656743115795E+307; - $7 = (($1) + -2046)|0; - $8 = ($7|0)<(1023); - $$ = $8 ? $7 : 1023; - $$$ = $5 ? $$ : $4; - $$21 = $5 ? $6 : $3; - $$0 = $$21;$$020 = $$$; - } else { - $9 = ($1|0)<(-1022); - if ($9) { - $10 = $0 * 2.2250738585072014E-308; - $11 = (($1) + 1022)|0; - $12 = ($11|0)<(-1022); - $13 = $10 * 2.2250738585072014E-308; - $14 = (($1) + 2044)|0; - $15 = ($14|0)>(-1022); - $$1 = $15 ? $14 : -1022; - $$1$ = $12 ? $$1 : $11; - $$22 = $12 ? $13 : $10; - $$0 = $$22;$$020 = $$1$; - } else { - $$0 = $0;$$020 = $1; - } - } - $16 = (($$020) + 1023)|0; - $17 = (_bitshift64Shl(($16|0),0,52)|0); - $18 = tempRet0; - HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3]; - $20 = $$0 * $19; - return (+$20); -} -function _copysignl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_copysign($0,$1)); - return (+$2); -} -function _fmodl($0,$1) { - $0 = +$0; - $1 = +$1; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_fmod($0,$1)); - return (+$2); -} -function _scalbnl($0,$1) { - $0 = +$0; - $1 = $1|0; - var $2 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (+_scalbn($0,$1)); - return (+$2); -} -function _fmod($0,$1) { - $0 = +$0; - $1 = +$1; - var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0; - var $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, $123 = 0; - var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.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, $141 = 0; - var $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.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0; - var $160 = 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.0, $28 = 0.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.0, $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; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; - var $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, label = 0, sp = 0; - sp = STACKTOP; - HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0; - $3 = HEAP32[tempDoublePtr+4>>2]|0; - HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0; - $5 = HEAP32[tempDoublePtr+4>>2]|0; - $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0); - $7 = tempRet0; - $8 = $6 & 2047; - $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0); - $10 = tempRet0; - $11 = $9 & 2047; - $12 = $3 & -2147483648; - $13 = (_bitshift64Shl(($4|0),($5|0),1)|0); - $14 = tempRet0; - $15 = ($13|0)==(0); - $16 = ($14|0)==(0); - $17 = $15 & $16; - L1: do { - if ($17) { - label = 3; - } else { - $18 = (___DOUBLE_BITS_272($1)|0); - $19 = tempRet0; - $20 = $19 & 2147483647; - $21 = ($20>>>0)>(2146435072); - $22 = ($18>>>0)>(0); - $23 = ($20|0)==(2146435072); - $24 = $23 & $22; - $25 = $21 | $24; - $26 = ($8|0)==(2047); - $or$cond = $26 | $25; - if ($or$cond) { - label = 3; - } else { - $29 = (_bitshift64Shl(($2|0),($3|0),1)|0); - $30 = tempRet0; - $31 = ($30>>>0)>($14>>>0); - $32 = ($29>>>0)>($13>>>0); - $33 = ($30|0)==($14|0); - $34 = $33 & $32; - $35 = $31 | $34; - if (!($35)) { - $36 = ($29|0)==($13|0); - $37 = ($30|0)==($14|0); - $38 = $36 & $37; - $39 = $0 * 0.0; - $$ = $38 ? $39 : $0; - return (+$$); - } - $40 = ($8|0)==(0); - if ($40) { - $41 = (_bitshift64Shl(($2|0),($3|0),12)|0); - $42 = tempRet0; - $43 = ($42|0)>(-1); - $44 = ($41>>>0)>(4294967295); - $45 = ($42|0)==(-1); - $46 = $45 & $44; - $47 = $43 | $46; - if ($47) { - $$073100 = 0;$49 = $41;$50 = $42; - while(1) { - $48 = (($$073100) + -1)|0; - $51 = (_bitshift64Shl(($49|0),($50|0),1)|0); - $52 = tempRet0; - $53 = ($52|0)>(-1); - $54 = ($51>>>0)>(4294967295); - $55 = ($52|0)==(-1); - $56 = $55 & $54; - $57 = $53 | $56; - if ($57) { - $$073100 = $48;$49 = $51;$50 = $52; - } else { - $$073$lcssa = $48; - break; - } - } - } else { - $$073$lcssa = 0; - } - $58 = (1 - ($$073$lcssa))|0; - $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0); - $60 = tempRet0; - $$174 = $$073$lcssa;$87 = $59;$88 = $60; - } else { - $61 = $3 & 1048575; - $62 = $61 | 1048576; - $$174 = $8;$87 = $2;$88 = $62; - } - $63 = ($11|0)==(0); - if ($63) { - $64 = (_bitshift64Shl(($4|0),($5|0),12)|0); - $65 = tempRet0; - $66 = ($65|0)>(-1); - $67 = ($64>>>0)>(4294967295); - $68 = ($65|0)==(-1); - $69 = $68 & $67; - $70 = $66 | $69; - if ($70) { - $$07194 = 0;$72 = $64;$73 = $65; - while(1) { - $71 = (($$07194) + -1)|0; - $74 = (_bitshift64Shl(($72|0),($73|0),1)|0); - $75 = tempRet0; - $76 = ($75|0)>(-1); - $77 = ($74>>>0)>(4294967295); - $78 = ($75|0)==(-1); - $79 = $78 & $77; - $80 = $76 | $79; - if ($80) { - $$07194 = $71;$72 = $74;$73 = $75; - } else { - $$071$lcssa = $71; - break; - } - } - } else { - $$071$lcssa = 0; - } - $81 = (1 - ($$071$lcssa))|0; - $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0); - $83 = tempRet0; - $$172$ph = $$071$lcssa;$89 = $82;$90 = $83; - } else { - $84 = $5 & 1048575; - $85 = $84 | 1048576; - $$172$ph = $11;$89 = $4;$90 = $85; - } - $86 = ($$174|0)>($$172$ph|0); - $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0); - $92 = tempRet0; - $93 = ($92|0)>(-1); - $94 = ($91>>>0)>(4294967295); - $95 = ($92|0)==(-1); - $96 = $95 & $94; - $97 = $93 | $96; - L23: do { - if ($86) { - $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91; - while(1) { - if ($156) { - $98 = ($99|0)==(0); - $100 = ($101|0)==(0); - $102 = $98 & $100; - if ($102) { - break; - } else { - $104 = $99;$105 = $101; - } - } else { - $104 = $157;$105 = $158; - } - $106 = (_bitshift64Shl(($104|0),($105|0),1)|0); - $107 = tempRet0; - $108 = (($$27586) + -1)|0; - $109 = ($108|0)>($$172$ph|0); - $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0); - $111 = tempRet0; - $112 = ($111|0)>(-1); - $113 = ($110>>>0)>(4294967295); - $114 = ($111|0)==(-1); - $115 = $114 & $113; - $116 = $112 | $115; - if ($109) { - $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110; - } else { - $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107; - break L23; - } - } - $103 = $0 * 0.0; - $$070 = $103; - break L1; - } else { - $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88; - } - } while(0); - if ($$lcssa) { - $117 = ($118|0)==(0); - $119 = ($120|0)==(0); - $121 = $117 & $119; - if ($121) { - $129 = $0 * 0.0; - $$070 = $129; - break; - } else { - $123 = $120;$125 = $118; - } - } else { - $123 = $160;$125 = $159; - } - $122 = ($123>>>0)<(1048576); - $124 = ($125>>>0)<(0); - $126 = ($123|0)==(1048576); - $127 = $126 & $124; - $128 = $122 | $127; - if ($128) { - $$37683 = $$275$lcssa;$130 = $125;$131 = $123; - while(1) { - $132 = (_bitshift64Shl(($130|0),($131|0),1)|0); - $133 = tempRet0; - $134 = (($$37683) + -1)|0; - $135 = ($133>>>0)<(1048576); - $136 = ($132>>>0)<(0); - $137 = ($133|0)==(1048576); - $138 = $137 & $136; - $139 = $135 | $138; - if ($139) { - $$37683 = $134;$130 = $132;$131 = $133; - } else { - $$376$lcssa = $134;$141 = $132;$142 = $133; - break; - } - } - } else { - $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123; - } - $140 = ($$376$lcssa|0)>(0); - if ($140) { - $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0); - $144 = tempRet0; - $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0); - $146 = tempRet0; - $147 = $143 | $145; - $148 = $144 | $146; - $153 = $148;$155 = $147; - } else { - $149 = (1 - ($$376$lcssa))|0; - $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0); - $151 = tempRet0; - $153 = $151;$155 = $150; - } - $152 = $153 | $12; - HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3]; - $$070 = $154; - } - } - } while(0); - if ((label|0) == 3) { - $27 = $0 * $1; - $28 = $27 / $27; - $$070 = $28; - } - return (+$$070); -} -function ___DOUBLE_BITS_272($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 _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 _strchr($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; - $2 = (___strchrnul($0,$1)|0); - $3 = HEAP8[$2>>0]|0; - $4 = $1&255; - $5 = ($3<<24>>24)==($4<<24>>24); - $6 = $5 ? $2 : 0; - return ($6|0); -} -function ___strchrnul($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1 & 255; - $3 = ($2|0)==(0); - L1: do { - if ($3) { - $8 = (_strlen($0)|0); - $9 = (($0) + ($8)|0); - $$0 = $9; - } else { - $4 = $0; - $5 = $4 & 3; - $6 = ($5|0)==(0); - if ($6) { - $$030$lcssa = $0; - } else { - $7 = $1&255; - $$03039 = $0; - while(1) { - $10 = HEAP8[$$03039>>0]|0; - $11 = ($10<<24>>24)==(0); - $12 = ($10<<24>>24)==($7<<24>>24); - $or$cond = $11 | $12; - if ($or$cond) { - $$0 = $$03039; - break L1; - } - $13 = ((($$03039)) + 1|0); - $14 = $13; - $15 = $14 & 3; - $16 = ($15|0)==(0); - if ($16) { - $$030$lcssa = $13; - break; - } else { - $$03039 = $13; - } - } - } - $17 = Math_imul($2, 16843009)|0; - $18 = HEAP32[$$030$lcssa>>2]|0; - $19 = (($18) + -16843009)|0; - $20 = $18 & -2139062144; - $21 = $20 ^ -2139062144; - $22 = $21 & $19; - $23 = ($22|0)==(0); - L10: do { - if ($23) { - $$02936 = $$030$lcssa;$25 = $18; - while(1) { - $24 = $25 ^ $17; - $26 = (($24) + -16843009)|0; - $27 = $24 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if (!($30)) { - $$029$lcssa = $$02936; - break L10; - } - $31 = ((($$02936)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = (($32) + -16843009)|0; - $34 = $32 & -2139062144; - $35 = $34 ^ -2139062144; - $36 = $35 & $33; - $37 = ($36|0)==(0); - if ($37) { - $$02936 = $31;$25 = $32; - } else { - $$029$lcssa = $31; - break; - } - } - } else { - $$029$lcssa = $$030$lcssa; - } - } while(0); - $38 = $1&255; - $$1 = $$029$lcssa; - while(1) { - $39 = HEAP8[$$1>>0]|0; - $40 = ($39<<24>>24)==(0); - $41 = ($39<<24>>24)==($38<<24>>24); - $or$cond33 = $40 | $41; - $42 = ((($$1)) + 1|0); - if ($or$cond33) { - $$0 = $$1; - break; - } else { - $$1 = $42; - } - } - } - } while(0); - return ($$0|0); -} -function _mbrtowc($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$03952 = 0, $$04051 = 0, $$04350 = 0, $$1 = 0, $$141 = 0, $$144 = 0, $$2 = 0, $$47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; - var $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $4 = sp; - $5 = ($3|0)==(0|0); - $$ = $5 ? 22444 : $3; - $6 = HEAP32[$$>>2]|0; - $7 = ($1|0)==(0|0); - L1: do { - if ($7) { - $8 = ($6|0)==(0); - if ($8) { - $$0 = 0; - } else { - label = 17; - } - } else { - $9 = ($0|0)==(0|0); - $$47 = $9 ? $4 : $0; - $10 = ($2|0)==(0); - if ($10) { - $$0 = -2; - } else { - $11 = ($6|0)==(0); - if ($11) { - $12 = HEAP8[$1>>0]|0; - $13 = ($12<<24>>24)>(-1); - if ($13) { - $14 = $12&255; - HEAP32[$$47>>2] = $14; - $15 = ($12<<24>>24)!=(0); - $16 = $15&1; - $$0 = $16; - break; - } - $17 = (___pthread_self_439()|0); - $18 = ((($17)) + 188|0); - $19 = HEAP32[$18>>2]|0; - $20 = HEAP32[$19>>2]|0; - $not$ = ($20|0)==(0|0); - $21 = HEAP8[$1>>0]|0; - if ($not$) { - $22 = $21 << 24 >> 24; - $23 = $22 & 57343; - HEAP32[$$47>>2] = $23; - $$0 = 1; - break; - } - $24 = $21&255; - $25 = (($24) + -194)|0; - $26 = ($25>>>0)>(50); - if ($26) { - label = 17; - break; - } - $27 = ((($1)) + 1|0); - $28 = (3652 + ($25<<2)|0); - $29 = HEAP32[$28>>2]|0; - $30 = (($2) + -1)|0; - $31 = ($30|0)==(0); - if ($31) { - $$2 = $29; - } else { - $$03952 = $27;$$04051 = $29;$$04350 = $30; - label = 11; - } - } else { - $$03952 = $1;$$04051 = $6;$$04350 = $2; - label = 11; - } - L14: do { - if ((label|0) == 11) { - $32 = HEAP8[$$03952>>0]|0; - $33 = $32&255; - $34 = $33 >>> 3; - $35 = (($34) + -16)|0; - $36 = $$04051 >> 26; - $37 = (($34) + ($36))|0; - $38 = $35 | $37; - $39 = ($38>>>0)>(7); - if ($39) { - label = 17; - break L1; - } else { - $$1 = $$03952;$$141 = $$04051;$$144 = $$04350;$43 = $32; - } - while(1) { - $40 = $$141 << 6; - $41 = ((($$1)) + 1|0); - $42 = $43&255; - $44 = (($42) + -128)|0; - $45 = $44 | $40; - $46 = (($$144) + -1)|0; - $47 = ($45|0)<(0); - if (!($47)) { - break; - } - $49 = ($46|0)==(0); - if ($49) { - $$2 = $45; - break L14; - } - $50 = HEAP8[$41>>0]|0; - $51 = $50 & -64; - $52 = ($51<<24>>24)==(-128); - if ($52) { - $$1 = $41;$$141 = $45;$$144 = $46;$43 = $50; - } else { - label = 17; - break L1; - } - } - HEAP32[$$>>2] = 0; - HEAP32[$$47>>2] = $45; - $48 = (($2) - ($46))|0; - $$0 = $48; - break L1; - } - } while(0); - HEAP32[$$>>2] = $$2; - $$0 = -2; - } - } - } while(0); - if ((label|0) == 17) { - HEAP32[$$>>2] = 0; - $53 = (___errno_location()|0); - HEAP32[$53>>2] = 84; - $$0 = -1; - } - STACKTOP = sp;return ($$0|0); -} -function ___pthread_self_439() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _strcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var label = 0, sp = 0; - sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); -} -function ___stpcpy($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; - var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; - var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = $1; - $3 = $0; - $4 = $2 ^ $3; - $5 = $4 & 3; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = $2 & 3; - $8 = ($7|0)==(0); - if ($8) { - $$026$lcssa = $1;$$027$lcssa = $0; - } else { - $$02642 = $1;$$02741 = $0; - while(1) { - $9 = HEAP8[$$02642>>0]|0; - HEAP8[$$02741>>0] = $9; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$029 = $$02741; - break L1; - } - $11 = ((($$02642)) + 1|0); - $12 = ((($$02741)) + 1|0); - $13 = $11; - $14 = $13 & 3; - $15 = ($14|0)==(0); - if ($15) { - $$026$lcssa = $11;$$027$lcssa = $12; - break; - } else { - $$02642 = $11;$$02741 = $12; - } - } - } - $16 = HEAP32[$$026$lcssa>>2]|0; - $17 = (($16) + -16843009)|0; - $18 = $16 & -2139062144; - $19 = $18 ^ -2139062144; - $20 = $19 & $17; - $21 = ($20|0)==(0); - if ($21) { - $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; - while(1) { - $22 = ((($$037)) + 4|0); - $23 = ((($$02536)) + 4|0); - HEAP32[$$02536>>2] = $24; - $25 = HEAP32[$22>>2]|0; - $26 = (($25) + -16843009)|0; - $27 = $25 & -2139062144; - $28 = $27 ^ -2139062144; - $29 = $28 & $26; - $30 = ($29|0)==(0); - if ($30) { - $$02536 = $23;$$037 = $22;$24 = $25; - } else { - $$0$lcssa = $22;$$025$lcssa = $23; - break; - } - } - } else { - $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; - } - $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; - label = 8; - } else { - $$1$ph = $1;$$128$ph = $0; - label = 8; - } - } while(0); - if ((label|0) == 8) { - $31 = HEAP8[$$1$ph>>0]|0; - HEAP8[$$128$ph>>0] = $31; - $32 = ($31<<24>>24)==(0); - if ($32) { - $$029 = $$128$ph; - } else { - $$12834 = $$128$ph;$$135 = $$1$ph; - while(1) { - $33 = ((($$135)) + 1|0); - $34 = ((($$12834)) + 1|0); - $35 = HEAP8[$33>>0]|0; - HEAP8[$34>>0] = $35; - $36 = ($35<<24>>24)==(0); - if ($36) { - $$029 = $34; - break; - } else { - $$12834 = $34;$$135 = $33; - } - } - } - } - return ($$029|0); -} -function ___unlist_locked_file($0) { - $0 = $0|0; - var $$pre = 0, $$sink = 0, $1 = 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; - $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); - $$pre = ((($0)) + 112|0); - if (!($6)) { - $7 = HEAP32[$$pre>>2]|0; - $8 = ((($5)) + 112|0); - HEAP32[$8>>2] = $7; - } - $9 = HEAP32[$$pre>>2]|0; - $10 = ($9|0)==(0|0); - if ($10) { - $12 = (___pthread_self_607()|0); - $13 = ((($12)) + 232|0); - $$sink = $13; - } else { - $11 = ((($9)) + 116|0); - $$sink = $11; - } - HEAP32[$$sink>>2] = $5; - } - return; -} -function ___pthread_self_607() { - var $0 = 0, label = 0, sp = 0; - sp = STACKTOP; - $0 = (_pthread_self()|0); - return ($0|0); -} -function _fopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 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, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; - var $vararg_ptr2 = 0, $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_buffer8 = sp + 32|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = HEAP8[$1>>0]|0; - $3 = $2 << 24 >> 24; - $memchr = (_memchr(19491,$3,4)|0); - $4 = ($memchr|0)==(0|0); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 22; - $$0 = 0; - } else { - $6 = (___fmodeflags($1)|0); - $7 = $0; - $8 = $6 | 32768; - 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] = 438; - $9 = (___syscall5(5,($vararg_buffer|0))|0); - $10 = (___syscall_ret($9)|0); - $11 = ($10|0)<(0); - if ($11) { - $$0 = 0; - } else { - $12 = $6 & 524288; - $13 = ($12|0)==(0); - if (!($13)) { - HEAP32[$vararg_buffer3>>2] = $10; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 2; - $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); - HEAP32[$vararg_ptr7>>2] = 1; - (___syscall221(221,($vararg_buffer3|0))|0); - } - $14 = (___fdopen($10,$1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - HEAP32[$vararg_buffer8>>2] = $10; - (___syscall6(6,($vararg_buffer8|0))|0); - $$0 = 0; - } else { - $$0 = $14; - } - } - } - STACKTOP = sp;return ($$0|0); -} -function ___fmodeflags($0) { - $0 = $0|0; - var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $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; - var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_strchr($0,43)|0); - $2 = ($1|0)==(0|0); - $3 = HEAP8[$0>>0]|0; - $not$ = ($3<<24>>24)!=(114); - $$ = $not$&1; - $$0 = $2 ? $$ : 2; - $4 = (_strchr($0,120)|0); - $5 = ($4|0)==(0|0); - $6 = $$0 | 128; - $$0$ = $5 ? $$0 : $6; - $7 = (_strchr($0,101)|0); - $8 = ($7|0)==(0|0); - $9 = $$0$ | 524288; - $$2 = $8 ? $$0$ : $9; - $10 = ($3<<24>>24)==(114); - $11 = $$2 | 64; - $$2$ = $10 ? $$2 : $11; - $12 = ($3<<24>>24)==(119); - $13 = $$2$ | 512; - $$4 = $12 ? $13 : $$2$; - $14 = ($3<<24>>24)==(97); - $15 = $$4 | 1024; - $$$4 = $14 ? $15 : $$4; - return ($$$4|0); -} -function ___fdopen($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$pre = 0, $$pre31 = 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; - 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, $41 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); - $vararg_buffer12 = sp + 40|0; - $vararg_buffer7 = sp + 24|0; - $vararg_buffer3 = sp + 16|0; - $vararg_buffer = sp; - $2 = sp + 56|0; - $3 = HEAP8[$1>>0]|0; - $4 = $3 << 24 >> 24; - $memchr = (_memchr(19491,$4,4)|0); - $5 = ($memchr|0)==(0|0); - if ($5) { - $6 = (___errno_location()|0); - HEAP32[$6>>2] = 22; - $$0 = 0; - } else { - $7 = (_malloc(1156)|0); - $8 = ($7|0)==(0|0); - if ($8) { - $$0 = 0; - } else { - dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $9 = (_strchr($1,43)|0); - $10 = ($9|0)==(0|0); - if ($10) { - $11 = ($3<<24>>24)==(114); - $12 = $11 ? 8 : 4; - HEAP32[$7>>2] = $12; - } - $13 = (_strchr($1,101)|0); - $14 = ($13|0)==(0|0); - if ($14) { - $16 = $3; - } else { - HEAP32[$vararg_buffer>>2] = $0; - $vararg_ptr1 = ((($vararg_buffer)) + 4|0); - HEAP32[$vararg_ptr1>>2] = 2; - $vararg_ptr2 = ((($vararg_buffer)) + 8|0); - HEAP32[$vararg_ptr2>>2] = 1; - (___syscall221(221,($vararg_buffer|0))|0); - $$pre = HEAP8[$1>>0]|0; - $16 = $$pre; - } - $15 = ($16<<24>>24)==(97); - if ($15) { - HEAP32[$vararg_buffer3>>2] = $0; - $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); - HEAP32[$vararg_ptr6>>2] = 3; - $17 = (___syscall221(221,($vararg_buffer3|0))|0); - $18 = $17 & 1024; - $19 = ($18|0)==(0); - if ($19) { - $20 = $17 | 1024; - HEAP32[$vararg_buffer7>>2] = $0; - $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); - HEAP32[$vararg_ptr10>>2] = 4; - $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); - HEAP32[$vararg_ptr11>>2] = $20; - (___syscall221(221,($vararg_buffer7|0))|0); - } - $21 = HEAP32[$7>>2]|0; - $22 = $21 | 128; - HEAP32[$7>>2] = $22; - $29 = $22; - } else { - $$pre31 = HEAP32[$7>>2]|0; - $29 = $$pre31; - } - $23 = ((($7)) + 60|0); - HEAP32[$23>>2] = $0; - $24 = ((($7)) + 132|0); - $25 = ((($7)) + 44|0); - HEAP32[$25>>2] = $24; - $26 = ((($7)) + 48|0); - HEAP32[$26>>2] = 1024; - $27 = ((($7)) + 75|0); - HEAP8[$27>>0] = -1; - $28 = $29 & 8; - $30 = ($28|0)==(0); - if ($30) { - $31 = $2; - HEAP32[$vararg_buffer12>>2] = $0; - $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); - HEAP32[$vararg_ptr15>>2] = 21523; - $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); - HEAP32[$vararg_ptr16>>2] = $31; - $32 = (___syscall54(54,($vararg_buffer12|0))|0); - $33 = ($32|0)==(0); - if ($33) { - HEAP8[$27>>0] = 10; - } - } - $34 = ((($7)) + 32|0); - HEAP32[$34>>2] = 10; - $35 = ((($7)) + 36|0); - HEAP32[$35>>2] = 9; - $36 = ((($7)) + 40|0); - HEAP32[$36>>2] = 3; - $37 = ((($7)) + 12|0); - HEAP32[$37>>2] = 2; - $38 = HEAP32[(22384)>>2]|0; - $39 = ($38|0)==(0); - if ($39) { - $40 = ((($7)) + 76|0); - HEAP32[$40>>2] = -1; - } - $41 = (___ofl_add($7)|0); - $$0 = $7; - } - } - STACKTOP = sp;return ($$0|0); -} -function ___ofl_add($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (___ofl_lock()|0); - $2 = HEAP32[$1>>2]|0; - $3 = ((($0)) + 56|0); - HEAP32[$3>>2] = $2; - $4 = HEAP32[$1>>2]|0; - $5 = ($4|0)==(0|0); - if (!($5)) { - $6 = ((($4)) + 52|0); - HEAP32[$6>>2] = $0; - } - HEAP32[$1>>2] = $0; - ___ofl_unlock(); - return ($0|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((22448|0)); - return (22456|0); -} -function ___ofl_unlock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___unlock((22448|0)); - return; -} -function _fclose($0) { - $0 = $0|0; - var $$pre = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $4 = (___lockfile($0)|0); - $29 = $4; - } else { - $29 = 0; - } - ___unlist_locked_file($0); - $5 = HEAP32[$0>>2]|0; - $6 = $5 & 1; - $7 = ($6|0)!=(0); - if (!($7)) { - $8 = (___ofl_lock()|0); - $9 = ((($0)) + 52|0); - $10 = HEAP32[$9>>2]|0; - $11 = ($10|0)==(0|0); - $12 = $10; - $$pre = ((($0)) + 56|0); - if (!($11)) { - $13 = HEAP32[$$pre>>2]|0; - $14 = ((($10)) + 56|0); - HEAP32[$14>>2] = $13; - } - $15 = HEAP32[$$pre>>2]|0; - $16 = ($15|0)==(0|0); - if (!($16)) { - $17 = ((($15)) + 52|0); - HEAP32[$17>>2] = $12; - } - $18 = HEAP32[$8>>2]|0; - $19 = ($18|0)==($0|0); - if ($19) { - HEAP32[$8>>2] = $15; - } - ___ofl_unlock(); - } - $20 = (_fflush($0)|0); - $21 = ((($0)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); - $24 = $23 | $20; - $25 = ((($0)) + 92|0); - $26 = HEAP32[$25>>2]|0; - $27 = ($26|0)==(0|0); - if (!($27)) { - _free($26); - } - if ($7) { - $28 = ($29|0)==(0); - if (!($28)) { - ___unlockfile($0); - } - } else { - _free($0); - } - return ($24|0); -} -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[1057]|0; - $9 = ($8|0)==(0|0); - if ($9) { - $29 = 0; - } else { - $10 = HEAP32[1057]|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); - $26 = $17; - } else { - $26 = 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; - } - $25 = ($26|0)==(0); - if (!($25)) { - ___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 & 15]($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 & 15]($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 _fgets($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$06266 = 0, $$063 = 0, $$064 = 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; - var $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, $42 = 0; - var $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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0; - var $sext$mask = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($2)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $6 = (___lockfile($2)|0); - $17 = $6; - } else { - $17 = 0; - } - $7 = (($1) + -1)|0; - $8 = ($1|0)<(2); - $9 = ($7|0)!=(0); - if ($8) { - $10 = ((($2)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ($17|0)==(0); - if (!($16)) { - ___unlockfile($2); - } - if ($9) { - $$0 = 0; - } else { - HEAP8[$0>>0] = 0; - $$0 = $0; - } - } else { - L11: do { - if ($9) { - $18 = ((($2)) + 4|0); - $19 = ((($2)) + 8|0); - $$063 = $7;$$064 = $0; - while(1) { - $20 = HEAP32[$18>>2]|0; - $21 = HEAP32[$19>>2]|0; - $22 = $20; - $23 = (($21) - ($22))|0; - $24 = (_memchr($20,10,$23)|0); - $25 = ($24|0)==(0|0); - $26 = $24; - $27 = (1 - ($22))|0; - $28 = (($27) + ($26))|0; - $29 = $25 ? $23 : $28; - $30 = ($29>>>0)<($$063>>>0); - $31 = $30 ? $29 : $$063; - _memcpy(($$064|0),($20|0),($31|0))|0; - $32 = HEAP32[$18>>2]|0; - $33 = (($32) + ($31)|0); - HEAP32[$18>>2] = $33; - $34 = (($$064) + ($31)|0); - $35 = (($$063) - ($31))|0; - $36 = ($35|0)!=(0); - $or$cond = $25 & $36; - if (!($or$cond)) { - $$1 = $34; - label = 17; - break L11; - } - $37 = HEAP32[$19>>2]|0; - $38 = ($33>>>0)<($37>>>0); - if ($38) { - $39 = ((($33)) + 1|0); - HEAP32[$18>>2] = $39; - $40 = HEAP8[$33>>0]|0; - $41 = $40&255; - $50 = $41; - } else { - $42 = (___uflow($2)|0); - $43 = ($42|0)<(0); - if ($43) { - break; - } else { - $50 = $42; - } - } - $48 = (($35) + -1)|0; - $49 = $50&255; - $51 = ((($34)) + 1|0); - HEAP8[$34>>0] = $49; - $sext$mask = $50 & 255; - $52 = ($sext$mask|0)!=(10); - $53 = ($48|0)!=(0); - $or$cond3 = $53 & $52; - if ($or$cond3) { - $$063 = $48;$$064 = $51; - } else { - $$1 = $51; - label = 17; - break L11; - } - } - $44 = ($34|0)==($0|0); - if ($44) { - $$06266 = 0; - } else { - $45 = HEAP32[$2>>2]|0; - $46 = $45 & 16; - $47 = ($46|0)==(0); - if ($47) { - $$06266 = 0; - } else { - $$1 = $34; - label = 17; - } - } - } else { - $$1 = $0; - label = 17; - } - } while(0); - if ((label|0) == 17) { - $54 = ($0|0)==(0|0); - if ($54) { - $$06266 = 0; - } else { - HEAP8[$$1>>0] = 0; - $$06266 = $0; - } - } - $55 = ($17|0)==(0); - if ($55) { - $$0 = $$06266; - } else { - ___unlockfile($2); - $$0 = $$06266; - } - } - return ($$0|0); -} -function _feof($0) { - $0 = $0|0; - var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ((($0)) + 76|0); - $2 = HEAP32[$1>>2]|0; - $3 = ($2|0)>(-1); - if ($3) { - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = HEAP32[$0>>2]|0; - $8 = $7 >>> 4; - $$lobit = $8 & 1; - if ($phitmp) { - $$lobit9 = $$lobit; - } else { - ___unlockfile($0); - $$lobit9 = $$lobit; - } - } else { - $4 = HEAP32[$0>>2]|0; - $5 = $4 >>> 4; - $$lobit8 = $5 & 1; - $$lobit9 = $$lobit8; - } - return ($$lobit9|0); -} -function _sscanf($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 = (_vsscanf($0,$1,$2)|0); - STACKTOP = sp;return ($3|0); -} -function _vsscanf($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, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); - $3 = sp; - dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); - $4 = ((($3)) + 32|0); - HEAP32[$4>>2] = 11; - $5 = ((($3)) + 44|0); - HEAP32[$5>>2] = $0; - $6 = ((($3)) + 76|0); - HEAP32[$6>>2] = -1; - $7 = ((($3)) + 84|0); - HEAP32[$7>>2] = $0; - $8 = (_vfscanf($3,$1,$2)|0); - STACKTOP = sp;return ($8|0); -} -function _do_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___string_read($0,$1,$2)|0); - return ($3|0); -} -function _vfscanf($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$ = 0, $$$0266 = 0, $$$0268 = 0, $$$0305 = 0, $$$3 = 0, $$0266$lcssa = 0, $$0266417 = 0, $$0268 = 0, $$0272 = 0, $$0273429 = 0, $$0276$ph = 0, $$0278$ph = 0, $$0278$ph$phi = 0, $$0278$ph336 = 0, $$0283428 = 0, $$0286420 = 0, $$0288$ = 0, $$0288425 = 0, $$0292 = 0, $$0293 = 0; - var $$0305423 = 0, $$10 = 0, $$11 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1277$ph = 0, $$1279 = 0, $$1284 = 0, $$1289 = 0, $$2 = 0, $$2275 = 0, $$2280 = 0, $$2280$ph = 0, $$2280$ph$phi = 0, $$2285 = 0, $$2290 = 0, $$2307$ph = 0, $$3$lcssa = 0, $$319 = 0; - var $$320 = 0, $$321 = 0, $$322 = 0, $$327 = 0, $$328$le439 = 0, $$328$le441 = 0, $$3281 = 0, $$3291 = 0, $$3416 = 0, $$4282 = 0, $$4309 = 0, $$5 = 0, $$5299 = 0, $$5310 = 0, $$6 = 0, $$6311 = 0, $$7 = 0, $$7$ph = 0, $$7312 = 0, $$8 = 0; - var $$8313 = 0, $$9 = 0, $$9314 = 0, $$9314$ph = 0, $$lcssa355 = 0, $$not = 0, $$old4 = 0, $$ph = 0, $$ph353 = 0, $$pre = 0, $$pre$phi516Z2D = 0, $$pre507 = 0, $$pre509 = 0, $$pre511 = 0, $$pre512 = 0, $$pre513 = 0, $$pre514 = 0, $$pre515 = 0, $$sink443 = 0, $$sroa$2$0$$sroa_idx13 = 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, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0; - var $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, $226 = 0; - var $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, $244 = 0; - var $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, $261 = 0, $262 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0; - var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0.0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0.0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0; - var $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, $311 = 0, $312 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0; - var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0; - var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0; - var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0; - var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $factor = 0, $factor331 = 0, $isdigit = 0; - var $isdigit316 = 0, $isdigit316415 = 0, $isdigittmp = 0, $isdigittmp315 = 0, $isdigittmp315414 = 0, $narrow = 0, $narrow469 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond318 = 0, $or$cond5 = 0, $trunc = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0); - $3 = sp + 8|0; - $4 = sp + 17|0; - $5 = sp; - $6 = sp + 16|0; - $7 = ((($0)) + 76|0); - $8 = HEAP32[$7>>2]|0; - $9 = ($8|0)>(-1); - if ($9) { - $10 = (___lockfile($0)|0); - $306 = $10; - } else { - $306 = 0; - } - $11 = HEAP8[$1>>0]|0; - $12 = ($11<<24>>24)==(0); - L4: do { - if ($12) { - $$3291 = 0; - } else { - $13 = ((($0)) + 4|0); - $14 = ((($0)) + 100|0); - $15 = ((($0)) + 108|0); - $16 = ((($0)) + 8|0); - $17 = ((($4)) + 10|0); - $18 = ((($4)) + 33|0); - $$sroa$2$0$$sroa_idx13 = ((($3)) + 4|0); - $19 = ((($4)) + 46|0); - $20 = ((($4)) + 94|0); - $21 = ((($4)) + 1|0); - $22 = ((($4)) + 1|0); - $$0273429 = $1;$$0283428 = 0;$$0288425 = 0;$$0305423 = 0;$102 = 0;$24 = $11; - L6: while(1) { - $23 = $24&255; - $25 = (_isspace($23)|0); - $26 = ($25|0)==(0); - L8: do { - if ($26) { - $53 = ($24<<24>>24)==(37); - L10: do { - if ($53) { - $54 = ((($$0273429)) + 1|0); - $55 = HEAP8[$54>>0]|0; - L12: do { - switch ($55<<24>>24) { - case 37: { - break L10; - break; - } - case 42: { - $76 = ((($$0273429)) + 2|0); - $$0293 = 0;$$2275 = $76; - break; - } - default: { - $77 = $55&255; - $isdigittmp = (($77) + -48)|0; - $isdigit = ($isdigittmp>>>0)<(10); - if ($isdigit) { - $78 = ((($$0273429)) + 2|0); - $79 = HEAP8[$78>>0]|0; - $80 = ($79<<24>>24)==(36); - if ($80) { - $81 = (_arg_n($2,$isdigittmp)|0); - $82 = ((($$0273429)) + 3|0); - $$0293 = $81;$$2275 = $82; - break L12; - } - } - $arglist_current = HEAP32[$2>>2]|0; - $83 = $arglist_current; - $84 = ((0) + 4|0); - $expanded1 = $84; - $expanded = (($expanded1) - 1)|0; - $85 = (($83) + ($expanded))|0; - $86 = ((0) + 4|0); - $expanded5 = $86; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $87 = $85 & $expanded3; - $88 = $87; - $89 = HEAP32[$88>>2]|0; - $arglist_next = ((($88)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $$0293 = $89;$$2275 = $54; - } - } - } while(0); - $90 = HEAP8[$$2275>>0]|0; - $91 = $90&255; - $isdigittmp315414 = (($91) + -48)|0; - $isdigit316415 = ($isdigittmp315414>>>0)<(10); - if ($isdigit316415) { - $$0266417 = 0;$$3416 = $$2275;$95 = $91; - while(1) { - $92 = ($$0266417*10)|0; - $93 = (($92) + -48)|0; - $94 = (($93) + ($95))|0; - $96 = ((($$3416)) + 1|0); - $97 = HEAP8[$96>>0]|0; - $98 = $97&255; - $isdigittmp315 = (($98) + -48)|0; - $isdigit316 = ($isdigittmp315>>>0)<(10); - if ($isdigit316) { - $$0266417 = $94;$$3416 = $96;$95 = $98; - } else { - $$0266$lcssa = $94;$$3$lcssa = $96;$$lcssa355 = $97; - break; - } - } - } else { - $$0266$lcssa = 0;$$3$lcssa = $$2275;$$lcssa355 = $90; - } - $99 = ($$lcssa355<<24>>24)==(109); - $100 = ($$0293|0)!=(0|0); - $101 = ((($$3$lcssa)) + 1|0); - $$$0305 = $99 ? 0 : $$0305423; - $$327 = $99 ? 0 : $102; - $$$3 = $99 ? $101 : $$3$lcssa; - $narrow = $100 & $99; - $103 = ((($$$3)) + 1|0); - $104 = HEAP8[$$$3>>0]|0; - switch ($104<<24>>24) { - case 104: { - $105 = HEAP8[$103>>0]|0; - $106 = ($105<<24>>24)==(104); - $107 = ((($$$3)) + 2|0); - $$319 = $106 ? $107 : $103; - $$320 = $106 ? -2 : -1; - $$0268 = $$320;$$5 = $$319; - break; - } - case 108: { - $108 = HEAP8[$103>>0]|0; - $109 = ($108<<24>>24)==(108); - $110 = ((($$$3)) + 2|0); - $$321 = $109 ? $110 : $103; - $$322 = $109 ? 3 : 1; - $$0268 = $$322;$$5 = $$321; - break; - } - case 106: { - $$0268 = 3;$$5 = $103; - break; - } - case 116: case 122: { - $$0268 = 1;$$5 = $103; - break; - } - case 76: { - $$0268 = 2;$$5 = $103; - break; - } - case 110: case 112: case 67: case 83: case 91: case 99: case 115: case 88: case 71: case 70: case 69: case 65: case 103: case 102: case 101: case 97: case 120: case 117: case 111: case 105: case 100: { - $$0268 = 0;$$5 = $$$3; - break; - } - default: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - } - $111 = HEAP8[$$5>>0]|0; - $112 = $111&255; - $113 = $112 & 47; - $114 = ($113|0)==(3); - $115 = $112 | 32; - $$ = $114 ? $115 : $112; - $$$0268 = $114 ? 1 : $$0268; - $trunc = $$&255; - switch ($trunc<<24>>24) { - case 99: { - $116 = ($$0266$lcssa|0)>(1); - $$$0266 = $116 ? $$0266$lcssa : 1; - $$1267 = $$$0266;$$1284 = $$0283428; - break; - } - case 91: { - $$1267 = $$0266$lcssa;$$1284 = $$0283428; - break; - } - case 110: { - $117 = ($$0283428|0)<(0); - $118 = $117 << 31 >> 31; - _store_int($$0293,$$$0268,$$0283428,$118); - $$11 = $$5;$$1289 = $$0288425;$$2285 = $$0283428;$$6311 = $$$0305;$307 = $$327; - break L8; - break; - } - default: { - ___shlim($0,0); - while(1) { - $119 = HEAP32[$13>>2]|0; - $120 = HEAP32[$14>>2]|0; - $121 = ($119>>>0)<($120>>>0); - if ($121) { - $122 = ((($119)) + 1|0); - HEAP32[$13>>2] = $122; - $123 = HEAP8[$119>>0]|0; - $124 = $123&255; - $126 = $124; - } else { - $125 = (___shgetc($0)|0); - $126 = $125; - } - $127 = (_isspace($126)|0); - $128 = ($127|0)==(0); - if ($128) { - break; - } - } - $129 = HEAP32[$14>>2]|0; - $130 = ($129|0)==(0|0); - if ($130) { - $$pre507 = HEAP32[$13>>2]|0; - $138 = $$pre507; - } else { - $131 = HEAP32[$13>>2]|0; - $132 = ((($131)) + -1|0); - HEAP32[$13>>2] = $132; - $133 = $132; - $138 = $133; - } - $134 = HEAP32[$15>>2]|0; - $135 = HEAP32[$16>>2]|0; - $136 = (($134) + ($$0283428))|0; - $137 = (($136) + ($138))|0; - $139 = (($137) - ($135))|0; - $$1267 = $$0266$lcssa;$$1284 = $139; - } - } - ___shlim($0,$$1267); - $140 = HEAP32[$13>>2]|0; - $141 = HEAP32[$14>>2]|0; - $142 = ($140>>>0)<($141>>>0); - if ($142) { - $143 = ((($140)) + 1|0); - HEAP32[$13>>2] = $143; - $147 = $141; - } else { - $144 = (___shgetc($0)|0); - $145 = ($144|0)<(0); - if ($145) { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - } - $$pre509 = HEAP32[$14>>2]|0; - $147 = $$pre509; - } - $146 = ($147|0)==(0|0); - if (!($146)) { - $148 = HEAP32[$13>>2]|0; - $149 = ((($148)) + -1|0); - HEAP32[$13>>2] = $149; - } - L55: do { - switch ($trunc<<24>>24) { - case 91: case 99: case 115: { - $150 = ($$|0)==(99); - $151 = $$ | 16; - $152 = ($151|0)==(115); - L57: do { - if ($152) { - $153 = ($$|0)==(115); - _memset(($21|0),-1,256)|0; - HEAP8[$4>>0] = 0; - if ($153) { - HEAP8[$18>>0] = 0; - ;HEAP8[$17>>0]=0|0;HEAP8[$17+1>>0]=0|0;HEAP8[$17+2>>0]=0|0;HEAP8[$17+3>>0]=0|0;HEAP8[$17+4>>0]=0|0; - $$9 = $$5; - } else { - $$9 = $$5; - } - } else { - $154 = ((($$5)) + 1|0); - $155 = HEAP8[$154>>0]|0; - $156 = ($155<<24>>24)==(94); - $157 = ((($$5)) + 2|0); - $$0292 = $156&1; - $$6 = $156 ? $157 : $154; - $158 = $156&1; - _memset(($22|0),($158|0),256)|0; - HEAP8[$4>>0] = 0; - $159 = HEAP8[$$6>>0]|0; - switch ($159<<24>>24) { - case 45: { - $$sink443 = $19; - label = 64; - break; - } - case 93: { - $$sink443 = $20; - label = 64; - break; - } - default: { - $$pre514 = $$0292 ^ 1; - $$pre515 = $$pre514&255; - $$7$ph = $$6;$$pre$phi516Z2D = $$pre515; - } - } - if ((label|0) == 64) { - label = 0; - $160 = ((($$6)) + 1|0); - $161 = $$0292 ^ 1; - $162 = $161&255; - HEAP8[$$sink443>>0] = $162; - $$7$ph = $160;$$pre$phi516Z2D = $162; - } - $$7 = $$7$ph; - while(1) { - $163 = HEAP8[$$7>>0]|0; - L69: do { - switch ($163<<24>>24) { - case 0: { - $$7312 = $$$0305;$309 = $$327;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case 93: { - $$9 = $$7; - break L57; - break; - } - case 45: { - $164 = ((($$7)) + 1|0); - $165 = HEAP8[$164>>0]|0; - switch ($165<<24>>24) { - case 93: case 0: { - $$8 = $$7;$176 = 45; - break L69; - break; - } - default: { - } - } - $166 = ((($$7)) + -1|0); - $167 = HEAP8[$166>>0]|0; - $168 = ($167&255)<($165&255); - if ($168) { - $169 = $167&255; - $$0286420 = $169; - while(1) { - $170 = (($$0286420) + 1)|0; - $171 = (($4) + ($170)|0); - HEAP8[$171>>0] = $$pre$phi516Z2D; - $172 = HEAP8[$164>>0]|0; - $173 = $172&255; - $174 = ($170|0)<($173|0); - if ($174) { - $$0286420 = $170; - } else { - $$8 = $164;$176 = $172; - break; - } - } - } else { - $$8 = $164;$176 = $165; - } - break; - } - default: { - $$8 = $$7;$176 = $163; - } - } - } while(0); - $175 = $176&255; - $177 = (($175) + 1)|0; - $178 = (($4) + ($177)|0); - HEAP8[$178>>0] = $$pre$phi516Z2D; - $179 = ((($$8)) + 1|0); - $$7 = $179; - } - } - } while(0); - $180 = (($$1267) + 1)|0; - $181 = $150 ? $180 : 31; - $182 = ($$$0268|0)==(1); - L77: do { - if ($182) { - if ($narrow) { - $183 = $181 << 2; - $184 = (_malloc($183)|0); - $185 = ($184|0)==(0|0); - if ($185) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $311 = $184; - } - } else { - $311 = $$0293; - } - HEAP32[$3>>2] = 0; - HEAP32[$$sroa$2$0$$sroa_idx13>>2] = 0; - $$0276$ph = $181;$$0278$ph = 0;$$ph = $311; - L82: while(1) { - $186 = ($$ph|0)==(0|0); - $$0278$ph336 = $$0278$ph; - while(1) { - L86: while(1) { - $187 = HEAP32[$13>>2]|0; - $188 = HEAP32[$14>>2]|0; - $189 = ($187>>>0)<($188>>>0); - if ($189) { - $190 = ((($187)) + 1|0); - HEAP32[$13>>2] = $190; - $191 = HEAP8[$187>>0]|0; - $192 = $191&255; - $195 = $192; - } else { - $193 = (___shgetc($0)|0); - $195 = $193; - } - $194 = (($195) + 1)|0; - $196 = (($4) + ($194)|0); - $197 = HEAP8[$196>>0]|0; - $198 = ($197<<24>>24)==(0); - if ($198) { - break L82; - } - $199 = $195&255; - HEAP8[$6>>0] = $199; - $200 = (_mbrtowc($5,$6,1,$3)|0); - switch ($200|0) { - case -1: { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - break; - } - case -2: { - break; - } - default: { - break L86; - } - } - } - if ($186) { - $$1279 = $$0278$ph336; - } else { - $201 = (($$ph) + ($$0278$ph336<<2)|0); - $202 = (($$0278$ph336) + 1)|0; - $203 = HEAP32[$5>>2]|0; - HEAP32[$201>>2] = $203; - $$1279 = $202; - } - $204 = ($$1279|0)==($$0276$ph|0); - $or$cond = $narrow & $204; - if ($or$cond) { - break; - } else { - $$0278$ph336 = $$1279; - } - } - $factor331 = $$0276$ph << 1; - $205 = $factor331 | 1; - $206 = $205 << 2; - $207 = (_realloc($$ph,$206)|0); - $208 = ($207|0)==(0|0); - if ($208) { - $$7312 = 0;$309 = $$ph;$narrow469 = 1; - label = 137; - break L6; - } else { - $$0278$ph$phi = $$0276$ph;$$0276$ph = $205;$$ph = $207;$$0278$ph = $$0278$ph$phi; - } - } - $209 = (_mbsinit($3)|0); - $210 = ($209|0)==(0); - if ($210) { - $$7312 = 0;$309 = $$ph;$narrow469 = $narrow; - label = 137; - break L6; - } else { - $$4282 = $$0278$ph336;$$4309 = 0;$$5299 = $$ph;$312 = $$ph; - } - } else { - if ($narrow) { - $211 = (_malloc($181)|0); - $212 = ($211|0)==(0|0); - if ($212) { - $$7312 = 0;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$1277$ph = $181;$$2280$ph = 0;$$2307$ph = $211; - } - while(1) { - $$2280 = $$2280$ph; - while(1) { - $213 = HEAP32[$13>>2]|0; - $214 = HEAP32[$14>>2]|0; - $215 = ($213>>>0)<($214>>>0); - if ($215) { - $216 = ((($213)) + 1|0); - HEAP32[$13>>2] = $216; - $217 = HEAP8[$213>>0]|0; - $218 = $217&255; - $221 = $218; - } else { - $219 = (___shgetc($0)|0); - $221 = $219; - } - $220 = (($221) + 1)|0; - $222 = (($4) + ($220)|0); - $223 = HEAP8[$222>>0]|0; - $224 = ($223<<24>>24)==(0); - if ($224) { - $$4282 = $$2280;$$4309 = $$2307$ph;$$5299 = 0;$312 = 0; - break L77; - } - $225 = $221&255; - $226 = (($$2280) + 1)|0; - $227 = (($$2307$ph) + ($$2280)|0); - HEAP8[$227>>0] = $225; - $228 = ($226|0)==($$1277$ph|0); - if ($228) { - break; - } else { - $$2280 = $226; - } - } - $factor = $$1277$ph << 1; - $229 = $factor | 1; - $230 = (_realloc($$2307$ph,$229)|0); - $231 = ($230|0)==(0|0); - if ($231) { - $$7312 = $$2307$ph;$309 = 0;$narrow469 = 1; - label = 137; - break L6; - } else { - $$2280$ph$phi = $$1277$ph;$$1277$ph = $229;$$2307$ph = $230;$$2280$ph = $$2280$ph$phi; - } - } - } - $232 = ($$0293|0)==(0|0); - if ($232) { - $250 = $147; - while(1) { - $248 = HEAP32[$13>>2]|0; - $249 = ($248>>>0)<($250>>>0); - if ($249) { - $251 = ((($248)) + 1|0); - HEAP32[$13>>2] = $251; - $252 = HEAP8[$248>>0]|0; - $253 = $252&255; - $256 = $253; - } else { - $254 = (___shgetc($0)|0); - $256 = $254; - } - $255 = (($256) + 1)|0; - $257 = (($4) + ($255)|0); - $258 = HEAP8[$257>>0]|0; - $259 = ($258<<24>>24)==(0); - if ($259) { - $$4282 = 0;$$4309 = 0;$$5299 = 0;$312 = 0; - break L77; - } - $$pre512 = HEAP32[$14>>2]|0; - $250 = $$pre512; - } - } else { - $$3281 = 0;$235 = $147; - while(1) { - $233 = HEAP32[$13>>2]|0; - $234 = ($233>>>0)<($235>>>0); - if ($234) { - $236 = ((($233)) + 1|0); - HEAP32[$13>>2] = $236; - $237 = HEAP8[$233>>0]|0; - $238 = $237&255; - $241 = $238; - } else { - $239 = (___shgetc($0)|0); - $241 = $239; - } - $240 = (($241) + 1)|0; - $242 = (($4) + ($240)|0); - $243 = HEAP8[$242>>0]|0; - $244 = ($243<<24>>24)==(0); - if ($244) { - $$4282 = $$3281;$$4309 = $$0293;$$5299 = 0;$312 = 0; - break L77; - } - $245 = $241&255; - $246 = (($$3281) + 1)|0; - $247 = (($$0293) + ($$3281)|0); - HEAP8[$247>>0] = $245; - $$pre511 = HEAP32[$14>>2]|0; - $$3281 = $246;$235 = $$pre511; - } - } - } - } while(0); - $260 = HEAP32[$14>>2]|0; - $261 = ($260|0)==(0|0); - if ($261) { - $$pre513 = HEAP32[$13>>2]|0; - $268 = $$pre513; - } else { - $262 = HEAP32[$13>>2]|0; - $263 = ((($262)) + -1|0); - HEAP32[$13>>2] = $263; - $264 = $263; - $268 = $264; - } - $265 = HEAP32[$15>>2]|0; - $266 = HEAP32[$16>>2]|0; - $267 = (($268) - ($266))|0; - $269 = (($267) + ($265))|0; - $270 = ($269|0)==(0); - if ($270) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - $$not = $150 ^ 1; - $271 = ($269|0)==($$1267|0); - $or$cond318 = $271 | $$not; - if (!($or$cond318)) { - $$9314$ph = $$4309;$$ph353 = $312; - label = 139; - break L6; - } - do { - if ($narrow) { - if ($182) { - HEAP32[$$0293>>2] = $$5299; - break; - } else { - HEAP32[$$0293>>2] = $$4309; - break; - } - } - } while(0); - if ($150) { - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } else { - $272 = ($$5299|0)==(0|0); - if (!($272)) { - $273 = (($$5299) + ($$4282<<2)|0); - HEAP32[$273>>2] = 0; - } - $274 = ($$4309|0)==(0|0); - if ($274) { - $$10 = $$9;$$5310 = 0;$310 = $312; - break L55; - } - $275 = (($$4309) + ($$4282)|0); - HEAP8[$275>>0] = 0; - $$10 = $$9;$$5310 = $$4309;$310 = $312; - } - break; - } - case 120: case 88: case 112: { - $$0272 = 16; - label = 125; - break; - } - case 111: { - $$0272 = 8; - label = 125; - break; - } - case 117: case 100: { - $$0272 = 10; - label = 125; - break; - } - case 105: { - $$0272 = 0; - label = 125; - break; - } - case 71: case 103: case 70: case 102: case 69: case 101: case 65: case 97: { - $285 = (+___floatscan($0,$$$0268,0)); - $286 = HEAP32[$15>>2]|0; - $287 = HEAP32[$13>>2]|0; - $288 = HEAP32[$16>>2]|0; - $289 = (($288) - ($287))|0; - $290 = ($286|0)==($289|0); - if ($290) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $291 = ($$0293|0)==(0|0); - if ($291) { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } else { - switch ($$$0268|0) { - case 0: { - $292 = $285; - HEAPF32[$$0293>>2] = $292; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 1: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - case 2: { - HEAPF64[$$0293>>3] = $285; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break L55; - } - } - } - break; - } - default: { - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - } - } - } while(0); - do { - if ((label|0) == 125) { - label = 0; - $276 = (___intscan($0,$$0272,0,-1,-1)|0); - $277 = tempRet0; - $278 = HEAP32[$15>>2]|0; - $279 = HEAP32[$13>>2]|0; - $280 = HEAP32[$16>>2]|0; - $281 = (($280) - ($279))|0; - $282 = ($278|0)==($281|0); - if ($282) { - $$9314$ph = $$$0305;$$ph353 = $$327; - label = 139; - break L6; - } - $283 = ($$|0)==(112); - $or$cond3 = $100 & $283; - if ($or$cond3) { - $284 = $276; - HEAP32[$$0293>>2] = $284; - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } else { - _store_int($$0293,$$$0268,$276,$277); - $$10 = $$5;$$5310 = $$$0305;$310 = $$327; - break; - } - } - } while(0); - $293 = HEAP32[$15>>2]|0; - $294 = HEAP32[$13>>2]|0; - $295 = HEAP32[$16>>2]|0; - $296 = (($293) + ($$1284))|0; - $297 = (($296) + ($294))|0; - $298 = (($297) - ($295))|0; - $299 = $100&1; - $$0288$ = (($299) + ($$0288425))|0; - $$11 = $$10;$$1289 = $$0288$;$$2285 = $298;$$6311 = $$5310;$307 = $310; - break L8; - } - } while(0); - $56 = $53&1; - $57 = (($$0273429) + ($56)|0); - ___shlim($0,0); - $58 = HEAP32[$13>>2]|0; - $59 = HEAP32[$14>>2]|0; - $60 = ($58>>>0)<($59>>>0); - if ($60) { - $61 = ((($58)) + 1|0); - HEAP32[$13>>2] = $61; - $62 = HEAP8[$58>>0]|0; - $63 = $62&255; - $68 = $63; - } else { - $64 = (___shgetc($0)|0); - $68 = $64; - } - $65 = HEAP8[$57>>0]|0; - $66 = $65&255; - $67 = ($68|0)==($66|0); - if (!($67)) { - label = 22; - break L6; - } - $75 = (($$0283428) + 1)|0; - $$11 = $57;$$1289 = $$0288425;$$2285 = $75;$$6311 = $$0305423;$307 = $102; - } else { - $$1274 = $$0273429; - while(1) { - $27 = ((($$1274)) + 1|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = (_isspace($29)|0); - $31 = ($30|0)==(0); - if ($31) { - break; - } else { - $$1274 = $27; - } - } - ___shlim($0,0); - while(1) { - $32 = HEAP32[$13>>2]|0; - $33 = HEAP32[$14>>2]|0; - $34 = ($32>>>0)<($33>>>0); - if ($34) { - $35 = ((($32)) + 1|0); - HEAP32[$13>>2] = $35; - $36 = HEAP8[$32>>0]|0; - $37 = $36&255; - $39 = $37; - } else { - $38 = (___shgetc($0)|0); - $39 = $38; - } - $40 = (_isspace($39)|0); - $41 = ($40|0)==(0); - if ($41) { - break; - } - } - $42 = HEAP32[$14>>2]|0; - $43 = ($42|0)==(0|0); - if ($43) { - $$pre = HEAP32[$13>>2]|0; - $51 = $$pre; - } else { - $44 = HEAP32[$13>>2]|0; - $45 = ((($44)) + -1|0); - HEAP32[$13>>2] = $45; - $46 = $45; - $51 = $46; - } - $47 = HEAP32[$15>>2]|0; - $48 = HEAP32[$16>>2]|0; - $49 = (($47) + ($$0283428))|0; - $50 = (($49) + ($51))|0; - $52 = (($50) - ($48))|0; - $$11 = $$1274;$$1289 = $$0288425;$$2285 = $52;$$6311 = $$0305423;$307 = $102; - } - } while(0); - $300 = ((($$11)) + 1|0); - $301 = HEAP8[$300>>0]|0; - $302 = ($301<<24>>24)==(0); - if ($302) { - $$3291 = $$1289; - break L4; - } else { - $$0273429 = $300;$$0283428 = $$2285;$$0288425 = $$1289;$$0305423 = $$6311;$102 = $307;$24 = $301; - } - } - if ((label|0) == 22) { - $69 = HEAP32[$14>>2]|0; - $70 = ($69|0)==(0|0); - if (!($70)) { - $71 = HEAP32[$13>>2]|0; - $72 = ((($71)) + -1|0); - HEAP32[$13>>2] = $72; - } - $73 = ($68|0)>(-1); - $74 = ($$0288425|0)!=(0); - $or$cond5 = $74 | $73; - if ($or$cond5) { - $$3291 = $$0288425; - break; - } else { - $$1271 = 0;$$8313 = $$0305423;$308 = $102; - label = 138; - } - } - else if ((label|0) == 137) { - $$328$le441 = $narrow469&1; - $$old4 = ($$0288425|0)==(0); - if ($$old4) { - $$1271 = $$328$le441;$$8313 = $$7312;$308 = $309; - label = 138; - } else { - $$2 = $$328$le441;$$2290 = $$0288425;$$9314 = $$7312;$304 = $309; - } - } - else if ((label|0) == 139) { - $$328$le439 = $narrow&1; - $$2 = $$328$le439;$$2290 = $$0288425;$$9314 = $$9314$ph;$304 = $$ph353; - } - if ((label|0) == 138) { - $$2 = $$1271;$$2290 = -1;$$9314 = $$8313;$304 = $308; - } - $303 = ($$2|0)==(0); - if ($303) { - $$3291 = $$2290; - } else { - _free($$9314); - _free($304); - $$3291 = $$2290; - } - } - } while(0); - $305 = ($306|0)==(0); - if (!($305)) { - ___unlockfile($0); - } - STACKTOP = sp;return ($$3291|0); -} -function _arg_n($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded1 = 0, $expanded3 = 0, $expanded4 = 0, $expanded5 = 0, $vacopy_currentptr = 0, label = 0; - var sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); - $2 = sp; - $vacopy_currentptr = HEAP32[$0>>2]|0; - HEAP32[$2>>2] = $vacopy_currentptr; - $$0 = $1; - while(1) { - $3 = ($$0>>>0)>(1); - $arglist_current = HEAP32[$2>>2]|0; - $4 = $arglist_current; - $5 = ((0) + 4|0); - $expanded1 = $5; - $expanded = (($expanded1) - 1)|0; - $6 = (($4) + ($expanded))|0; - $7 = ((0) + 4|0); - $expanded5 = $7; - $expanded4 = (($expanded5) - 1)|0; - $expanded3 = $expanded4 ^ -1; - $8 = $6 & $expanded3; - $9 = $8; - $10 = HEAP32[$9>>2]|0; - $arglist_next = ((($9)) + 4|0); - HEAP32[$2>>2] = $arglist_next; - $11 = (($$0) + -1)|0; - if ($3) { - $$0 = $11; - } else { - break; - } - } - STACKTOP = sp;return ($10|0); -} -function _store_int($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $4 = ($0|0)==(0|0); - L1: do { - if (!($4)) { - switch ($1|0) { - case -2: { - $5 = $2&255; - HEAP8[$0>>0] = $5; - break L1; - break; - } - case -1: { - $6 = $2&65535; - HEAP16[$0>>1] = $6; - break L1; - break; - } - case 0: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 1: { - HEAP32[$0>>2] = $2; - break L1; - break; - } - case 3: { - $7 = $0; - $8 = $7; - HEAP32[$8>>2] = $2; - $9 = (($7) + 4)|0; - $10 = $9; - HEAP32[$10>>2] = $3; - break L1; - break; - } - default: { - break L1; - } - } - } - } while(0); - return; -} -function _mbsinit($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - $5 = 1; - } else { - $2 = HEAP32[$0>>2]|0; - $3 = ($2|0)==(0); - $5 = $3; - } - $4 = $5&1; - return ($4|0); -} -function ___string_read($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$027 = 0, $$027$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 84|0); - $4 = HEAP32[$3>>2]|0; - $5 = (($2) + 256)|0; - $6 = (_memchr($4,0,$5)|0); - $7 = ($6|0)==(0|0); - $8 = $6; - $9 = $4; - $10 = (($8) - ($9))|0; - $$027 = $7 ? $5 : $10; - $11 = ($$027>>>0)<($2>>>0); - $$027$ = $11 ? $$027 : $2; - _memcpy(($1|0),($4|0),($$027$|0))|0; - $12 = (($4) + ($$027$)|0); - $13 = ((($0)) + 4|0); - HEAP32[$13>>2] = $12; - $14 = (($4) + ($$027)|0); - $15 = ((($0)) + 8|0); - HEAP32[$15>>2] = $14; - HEAP32[$3>>2] = $14; - return ($$027$|0); -} -function _fseek($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (___fseeko($0,$1,$2)|0); - return ($3|0); -} -function ___fseeko($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, $phitmp = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ((($0)) + 76|0); - $4 = HEAP32[$3>>2]|0; - $5 = ($4|0)>(-1); - if ($5) { - $7 = (___lockfile($0)|0); - $phitmp = ($7|0)==(0); - $8 = (___fseeko_unlocked($0,$1,$2)|0); - if ($phitmp) { - $9 = $8; - } else { - ___unlockfile($0); - $9 = $8; - } - } else { - $6 = (___fseeko_unlocked($0,$1,$2)|0); - $9 = $6; - } - return ($9|0); -} -function ___fseeko_unlocked($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$019 = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = ($2|0)==(1); - if ($3) { - $4 = ((($0)) + 8|0); - $5 = HEAP32[$4>>2]|0; - $6 = ((($0)) + 4|0); - $7 = HEAP32[$6>>2]|0; - $8 = (($1) - ($5))|0; - $9 = (($8) + ($7))|0; - $$019 = $9; - } else { - $$019 = $1; - } - $10 = ((($0)) + 20|0); - $11 = HEAP32[$10>>2]|0; - $12 = ((($0)) + 28|0); - $13 = HEAP32[$12>>2]|0; - $14 = ($11>>>0)>($13>>>0); - if ($14) { - $15 = ((($0)) + 36|0); - $16 = HEAP32[$15>>2]|0; - (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); - $17 = HEAP32[$10>>2]|0; - $18 = ($17|0)==(0|0); - if ($18) { - $$0 = -1; - } else { - label = 5; - } - } else { - label = 5; - } - if ((label|0) == 5) { - $19 = ((($0)) + 16|0); - HEAP32[$19>>2] = 0; - HEAP32[$12>>2] = 0; - HEAP32[$10>>2] = 0; - $20 = ((($0)) + 40|0); - $21 = HEAP32[$20>>2]|0; - $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); - $23 = ($22|0)<(0); - if ($23) { - $$0 = -1; - } else { - $24 = ((($0)) + 8|0); - HEAP32[$24>>2] = 0; - $25 = ((($0)) + 4|0); - HEAP32[$25>>2] = 0; - $26 = HEAP32[$0>>2]|0; - $27 = $26 & -17; - HEAP32[$0>>2] = $27; - $$0 = 0; - } - } - return ($$0|0); -} -function _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = ($2<<24>>24)==(0); - do { - if ($3) { - $$0 = $0; - } else { - $4 = $2 << 24 >> 24; - $5 = (_strchr($0,$4)|0); - $6 = ($5|0)==(0|0); - if ($6) { - $$0 = 0; - } else { - $7 = ((($1)) + 1|0); - $8 = HEAP8[$7>>0]|0; - $9 = ($8<<24>>24)==(0); - if ($9) { - $$0 = $5; - } else { - $10 = ((($5)) + 1|0); - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - $$0 = 0; - } else { - $13 = ((($1)) + 2|0); - $14 = HEAP8[$13>>0]|0; - $15 = ($14<<24>>24)==(0); - if ($15) { - $16 = (_twobyte_strstr($5,$1)|0); - $$0 = $16; - break; - } - $17 = ((($5)) + 2|0); - $18 = HEAP8[$17>>0]|0; - $19 = ($18<<24>>24)==(0); - if ($19) { - $$0 = 0; - } else { - $20 = ((($1)) + 3|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - $23 = (_threebyte_strstr($5,$1)|0); - $$0 = $23; - break; - } - $24 = ((($5)) + 3|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - $$0 = 0; - } else { - $27 = ((($1)) + 4|0); - $28 = HEAP8[$27>>0]|0; - $29 = ($28<<24>>24)==(0); - if ($29) { - $30 = (_fourbyte_strstr($5,$1)|0); - $$0 = $30; - break; - } else { - $31 = (_twoway_strstr($5,$1)|0); - $$0 = $31; - break; - } - } - } - } - } - } - } - } while(0); - return ($$0|0); -} -function _twobyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 8; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $4 | $7; - $9 = HEAP8[$0>>0]|0; - $10 = $9&255; - $$sink$in = $10;$$sink17$sink = $0; - while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; - } - $$sink = $$sink$in << 8; - $14 = $12&255; - $$sink$masked = $$sink & 65280; - $15 = $14 | $$sink$masked; - $16 = ($15|0)==($8|0); - if ($16) { - $$lcssa = $$sink17$sink; - break; - } else { - $$sink$in = $15;$$sink17$sink = $11; - } - } - return ($$lcssa|0); -} -function _threebyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; - 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, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = HEAP8[$0>>0]|0; - $16 = $15&255; - $17 = $16 << 24; - $18 = ((($0)) + 1|0); - $19 = HEAP8[$18>>0]|0; - $20 = $19&255; - $21 = $20 << 16; - $22 = $21 | $17; - $23 = ((($0)) + 2|0); - $24 = HEAP8[$23>>0]|0; - $25 = $24&255; - $26 = $25 << 8; - $27 = $22 | $26; - $28 = ($24<<24>>24)!=(0); - $$not17 = $28 ^ 1; - $29 = ($27|0)==($14|0); - $or$cond18 = $29 | $$not17; - if ($or$cond18) { - $$016$lcssa = $23;$$lcssa = $28; - } else { - $$01619 = $23;$$020 = $27; - while(1) { - $30 = ((($$01619)) + 1|0); - $31 = HEAP8[$30>>0]|0; - $32 = $31&255; - $33 = $32 | $$020; - $34 = $33 << 8; - $35 = ($31<<24>>24)!=(0); - $$not = $35 ^ 1; - $36 = ($34|0)==($14|0); - $or$cond = $36 | $$not; - if ($or$cond) { - $$016$lcssa = $30;$$lcssa = $35; - break; - } else { - $$01619 = $30;$$020 = $34; - } - } - } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); -} -function _fourbyte_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; - 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP8[$1>>0]|0; - $3 = $2&255; - $4 = $3 << 24; - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = $6&255; - $8 = $7 << 16; - $9 = $8 | $4; - $10 = ((($1)) + 2|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11&255; - $13 = $12 << 8; - $14 = $9 | $13; - $15 = ((($1)) + 3|0); - $16 = HEAP8[$15>>0]|0; - $17 = $16&255; - $18 = $14 | $17; - $19 = HEAP8[$0>>0]|0; - $20 = $19&255; - $21 = $20 << 24; - $22 = ((($0)) + 1|0); - $23 = HEAP8[$22>>0]|0; - $24 = $23&255; - $25 = $24 << 16; - $26 = $25 | $21; - $27 = ((($0)) + 2|0); - $28 = HEAP8[$27>>0]|0; - $29 = $28&255; - $30 = $29 << 8; - $31 = $26 | $30; - $32 = ((($0)) + 3|0); - $33 = HEAP8[$32>>0]|0; - $34 = $33&255; - $35 = $34 | $31; - $36 = ($33<<24>>24)!=(0); - $$not22 = $36 ^ 1; - $37 = ($35|0)==($18|0); - $or$cond23 = $37 | $$not22; - if ($or$cond23) { - $$lcssa = $36;$$sink21$lcssa = $32; - } else { - $$sink2124 = $32;$39 = $35; - while(1) { - $38 = $39 << 8; - $40 = ((($$sink2124)) + 1|0); - $41 = HEAP8[$40>>0]|0; - $42 = $41&255; - $43 = $42 | $38; - $44 = ($41<<24>>24)!=(0); - $$not = $44 ^ 1; - $45 = ($43|0)==($18|0); - $or$cond = $45 | $$not; - if ($or$cond) { - $$lcssa = $44;$$sink21$lcssa = $40; - break; - } else { - $$sink2124 = $40;$39 = $43; - } - } - } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); -} -function _twoway_strstr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; - var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; - var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; - var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; - var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; - var $38 = 0, $39 = 0, $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; - var $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, $73 = 0; - var $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, $91 = 0; - var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; - $3 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $4 = HEAP8[$1>>0]|0; - $cond265 = ($4<<24>>24)==(0); - L1: do { - if ($cond265) { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } else { - $5 = $4&255; - $$0187266 = 0;$12 = $4;$20 = $5; - while(1) { - $8 = (($0) + ($$0187266)|0); - $9 = HEAP8[$8>>0]|0; - $10 = ($9<<24>>24)==(0); - if ($10) { - $$3 = 0; - break L1; - } - $11 = $12 & 31; - $13 = $11&255; - $14 = 1 << $13; - $div188 = ($12&255) >>> 5; - $15 = $div188&255; - $16 = (($2) + ($15<<2)|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 | $14; - HEAP32[$16>>2] = $18; - $7 = (($$0187266) + 1)|0; - $19 = (($3) + ($20<<2)|0); - HEAP32[$19>>2] = $7; - $21 = (($1) + ($7)|0); - $22 = HEAP8[$21>>0]|0; - $23 = $22&255; - $cond = ($22<<24>>24)==(0); - if ($cond) { - break; - } else { - $$0187266 = $7;$12 = $22;$20 = $23; - } - } - $6 = ($7>>>0)>(1); - if ($6) { - $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; - L7: while(1) { - $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; - while(1) { - $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; - L11: while(1) { - $$0179244 = 1;$31 = $131; - while(1) { - $27 = (($$0179244) + ($$0185$ph261))|0; - $28 = (($1) + ($27)|0); - $29 = HEAP8[$28>>0]|0; - $30 = (($1) + ($31)|0); - $32 = HEAP8[$30>>0]|0; - $33 = ($29<<24>>24)==($32<<24>>24); - if (!($33)) { - break L11; - } - $34 = ($$0179244|0)==($$0175$ph$ph256|0); - $25 = (($$0179244) + 1)|0; - if ($34) { - break; - } - $24 = (($25) + ($$0183$ph200250))|0; - $26 = ($24>>>0)<($7>>>0); - if ($26) { - $$0179244 = $25;$31 = $24; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; - $36 = (($35) + 1)|0; - $37 = ($36>>>0)<($7>>>0); - if ($37) { - $$0183$ph200250 = $35;$131 = $36; - } else { - $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $38 = ($29&255)>($32&255); - $39 = (($31) - ($$0185$ph261))|0; - if (!($38)) { - break; - } - $43 = (($31) + 1)|0; - $44 = ($43>>>0)<($7>>>0); - if ($44) { - $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; - } else { - $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; - break L7; - } - } - $40 = (($$0183$ph200250) + 1)|0; - $41 = (($$0183$ph200250) + 2)|0; - $42 = ($41>>>0)<($7>>>0); - if ($42) { - $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; - } else { - $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; - break; - } - } - if ($6) { - $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; - while(1) { - $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; - while(1) { - $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; - L26: while(1) { - $$1180224 = 1;$52 = $133; - while(1) { - $48 = (($$1180224) + ($$1186$ph240))|0; - $49 = (($1) + ($48)|0); - $50 = HEAP8[$49>>0]|0; - $51 = (($1) + ($52)|0); - $53 = HEAP8[$51>>0]|0; - $54 = ($50<<24>>24)==($53<<24>>24); - if (!($54)) { - break L26; - } - $55 = ($$1180224|0)==($$1176$ph$ph235|0); - $46 = (($$1180224) + 1)|0; - if ($55) { - break; - } - $45 = (($46) + ($$1184$ph196229))|0; - $47 = ($45>>>0)<($7>>>0); - if ($47) { - $$1180224 = $46;$52 = $45; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; - $57 = (($56) + 1)|0; - $58 = ($57>>>0)<($7>>>0); - if ($58) { - $$1184$ph196229 = $56;$133 = $57; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $59 = ($50&255)<($53&255); - $60 = (($52) - ($$1186$ph240))|0; - if (!($59)) { - break; - } - $64 = (($52) + 1)|0; - $65 = ($64>>>0)<($7>>>0); - if ($65) { - $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; - label = 27; - break L1; - } - } - $61 = (($$1184$ph196229) + 1)|0; - $62 = (($$1184$ph196229) + 2)|0; - $63 = ($62>>>0)<($7>>>0); - if ($63) { - $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; - label = 27; - break; - } - } - } else { - $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; - } - } - } while(0); - L36: do { - if ((label|0) == 27) { - $66 = (($$1186$ph$lcssa) + 1)|0; - $67 = (($$0185$ph$lcssa322) + 1)|0; - $68 = ($66>>>0)>($67>>>0); - $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; - $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; - $69 = (($1) + ($$1176$$0175)|0); - $70 = (($$1186$$0185) + 1)|0; - $71 = (_memcmp($1,$69,$70)|0); - $72 = ($71|0)==(0); - if ($72) { - $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; - $$0168 = $77;$$3178 = $$1176$$0175; - } else { - $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; - $74 = (($73) + -1)|0; - $75 = ($$1186$$0185>>>0)>($74>>>0); - $$1186$$0185$ = $75 ? $$1186$$0185 : $74; - $76 = (($$1186$$0185$) + 1)|0; - $$0168 = 0;$$3178 = $76; - } - $78 = $$0187$lcssa320321 | 63; - $79 = (($$0187$lcssa320321) + -1)|0; - $80 = ($$0168|0)!=(0); - $81 = (($$0187$lcssa320321) - ($$3178))|0; - $$0166 = $0;$$0169 = 0;$$0170 = $0; - while(1) { - $82 = $$0170; - $83 = $$0166; - $84 = (($82) - ($83))|0; - $85 = ($84>>>0)<($$0187$lcssa320321>>>0); - do { - if ($85) { - $86 = (_memchr($$0170,0,$78)|0); - $87 = ($86|0)==(0|0); - if ($87) { - $91 = (($$0170) + ($78)|0); - $$3173 = $91; - break; - } else { - $88 = $86; - $89 = (($88) - ($83))|0; - $90 = ($89>>>0)<($$0187$lcssa320321>>>0); - if ($90) { - $$3 = 0; - break L36; - } else { - $$3173 = $86; - break; - } - } - } else { - $$3173 = $$0170; - } - } while(0); - $92 = (($$0166) + ($79)|0); - $93 = HEAP8[$92>>0]|0; - $div = ($93&255) >>> 5; - $94 = $div&255; - $95 = (($2) + ($94<<2)|0); - $96 = HEAP32[$95>>2]|0; - $97 = $93 & 31; - $98 = $97&255; - $99 = 1 << $98; - $100 = $99 & $96; - $101 = ($100|0)==(0); - L50: do { - if ($101) { - $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; - } else { - $102 = $93&255; - $103 = (($3) + ($102<<2)|0); - $104 = HEAP32[$103>>2]|0; - $105 = (($$0187$lcssa320321) - ($104))|0; - $106 = ($105|0)==(0); - if (!($106)) { - $107 = ($$0169|0)!=(0); - $or$cond = $80 & $107; - $108 = ($105>>>0)<($$3178>>>0); - $or$cond190 = $or$cond & $108; - $$2181 = $or$cond190 ? $81 : $105; - $$0169$be = 0;$$2181$sink = $$2181; - break; - } - $110 = ($70>>>0)>($$0169>>>0); - $111 = $110 ? $70 : $$0169; - $112 = (($1) + ($111)|0); - $113 = HEAP8[$112>>0]|0; - $cond191222 = ($113<<24>>24)==(0); - L55: do { - if ($cond191222) { - $$4 = $70; - } else { - $$3182223 = $111;$117 = $113; - while(1) { - $114 = (($$0166) + ($$3182223)|0); - $115 = HEAP8[$114>>0]|0; - $116 = ($117<<24>>24)==($115<<24>>24); - if (!($116)) { - break; - } - $118 = (($$3182223) + 1)|0; - $119 = (($1) + ($118)|0); - $120 = HEAP8[$119>>0]|0; - $cond191 = ($120<<24>>24)==(0); - if ($cond191) { - $$4 = $70; - break L55; - } else { - $$3182223 = $118;$117 = $120; - } - } - $121 = (($$3182223) - ($$1186$$0185))|0; - $$0169$be = 0;$$2181$sink = $121; - break L50; - } - } while(0); - while(1) { - $122 = ($$4>>>0)>($$0169>>>0); - if (!($122)) { - $$3 = $$0166; - break L36; - } - $123 = (($$4) + -1)|0; - $124 = (($1) + ($123)|0); - $125 = HEAP8[$124>>0]|0; - $126 = (($$0166) + ($123)|0); - $127 = HEAP8[$126>>0]|0; - $128 = ($125<<24>>24)==($127<<24>>24); - if ($128) { - $$4 = $123; - } else { - $$0169$be = $$0168;$$2181$sink = $$3178; - break; - } - } - } - } while(0); - $109 = (($$0166) + ($$2181$sink)|0); - $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; - } - } - } while(0); - STACKTOP = sp;return ($$3|0); -} -function _strrchr($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($2) + 1)|0; - $4 = (___memrchr($0,$1,$3)|0); - return ($4|0); -} -function ___memrchr($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $1&255; - $$09 = $2; - while(1) { - $4 = (($$09) + -1)|0; - $5 = ($$09|0)==(0); - if ($5) { - $$0 = 0; - break; - } - $6 = (($0) + ($4)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==($3<<24>>24); - if ($8) { - $$0 = $6; - break; - } else { - $$09 = $4; - } - } - return ($$0|0); -} -function _strspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; - 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - do { - if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$020 = $0; - while(1) { - $8 = HEAP8[$$020>>0]|0; - $9 = ($8<<24>>24)==($3<<24>>24); - $10 = ((($$020)) + 1|0); - if ($9) { - $$020 = $10; - } else { - break; - } - } - $11 = $$020; - $12 = $0; - $13 = (($11) - ($12))|0; - $$0 = $13; - break; - } else { - $$01925 = $1;$17 = $3; - } - while(1) { - $16 = $17 & 31; - $18 = $16&255; - $19 = 1 << $18; - $div21 = ($17&255) >>> 5; - $20 = $div21&255; - $21 = (($2) + ($20<<2)|0); - $22 = HEAP32[$21>>2]|0; - $23 = $22 | $19; - HEAP32[$21>>2] = $23; - $24 = ((($$01925)) + 1|0); - $25 = HEAP8[$24>>0]|0; - $26 = ($25<<24>>24)==(0); - if ($26) { - break; - } else { - $$01925 = $24;$17 = $25; - } - } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; - } else { - $$123 = $0;$27 = $14; - while(1) { - $div = ($27&255) >>> 5; - $28 = $div&255; - $29 = (($2) + ($28<<2)|0); - $30 = HEAP32[$29>>2]|0; - $31 = $27 & 31; - $32 = $31&255; - $33 = 1 << $32; - $34 = $30 & $33; - $35 = ($34|0)==(0); - if ($35) { - $$1$lcssa = $$123; - break L10; - } - $36 = ((($$123)) + 1|0); - $37 = HEAP8[$36>>0]|0; - $38 = ($37<<24>>24)==(0); - if ($38) { - $$1$lcssa = $36; - break; - } else { - $$123 = $36;$27 = $37; - } - } - } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; - } - } while(0); - STACKTOP = sp;return ($$0|0); -} -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (($0) + -1)|0; - $2 = 19760; - $3 = $2; - HEAP32[$3>>2] = $1; - $4 = (($2) + 4)|0; - $5 = $4; - HEAP32[$5>>2] = 0; - return; -} -function _fread($0,$1,$2,$3) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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) { - $9 = (___lockfile($3)|0); - $36 = $9; - } else { - $36 = 0; - } - $10 = ((($3)) + 74|0); - $11 = HEAP8[$10>>0]|0; - $12 = $11 << 24 >> 24; - $13 = (($12) + 255)|0; - $14 = $13 | $12; - $15 = $14&255; - HEAP8[$10>>0] = $15; - $16 = ((($3)) + 8|0); - $17 = HEAP32[$16>>2]|0; - $18 = ((($3)) + 4|0); - $19 = HEAP32[$18>>2]|0; - $20 = $19; - $21 = (($17) - ($20))|0; - $22 = ($21|0)>(0); - $23 = ($21>>>0)<($4>>>0); - $$57 = $23 ? $21 : $4; - if ($22) { - $24 = (($4) - ($$57))|0; - $25 = (($0) + ($$57)|0); - _memcpy(($0|0),($19|0),($$57|0))|0; - $26 = (($19) + ($$57)|0); - HEAP32[$18>>2] = $26; - $$054$ph = $24;$$056$ph = $25; - } else { - $$054$ph = $4;$$056$ph = $0; - } - $27 = ($$054$ph|0)==(0); - L7: do { - if ($27) { - label = 13; - } else { - $28 = ((($3)) + 32|0); - $$05460 = $$054$ph;$$05659 = $$056$ph; - while(1) { - $29 = (___toread($3)|0); - $30 = ($29|0)==(0); - if (!($30)) { - break; - } - $31 = HEAP32[$28>>2]|0; - $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); - $33 = (($32) + 1)|0; - $34 = ($33>>>0)<(2); - if ($34) { - break; - } - $39 = (($$05460) - ($32))|0; - $40 = (($$05659) + ($32)|0); - $41 = ($39|0)==(0); - if ($41) { - label = 13; - break L7; - } else { - $$05460 = $39;$$05659 = $40; - } - } - $35 = ($36|0)==(0); - if (!($35)) { - ___unlockfile($3); - } - $37 = (($4) - ($$05460))|0; - $38 = (($37>>>0) / ($1>>>0))&-1; - $$0 = $38; - } - } while(0); - if ((label|0) == 13) { - $42 = ($36|0)==(0); - if ($42) { - $$0 = $$; - } else { - ___unlockfile($3); - $$0 = $$; - } - } - return ($$0|0); -} -function _vprintf($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = HEAP32[1025]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); -} -function _strcspn($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$01824 = 0, $$019$sink = 0, $$01922 = 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; - 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; - var $div20 = 0, label = 0, sp = 0; - sp = STACKTOP; - STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); - $2 = sp; - $3 = HEAP8[$1>>0]|0; - $4 = ($3<<24>>24)==(0); - L1: do { - if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - label = 3; - } else { - ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $$01824 = $1;$13 = $3; - while(1) { - $12 = $13 & 31; - $14 = $12&255; - $15 = 1 << $14; - $div20 = ($13&255) >>> 5; - $16 = $div20&255; - $17 = (($2) + ($16<<2)|0); - $18 = HEAP32[$17>>2]|0; - $19 = $18 | $15; - HEAP32[$17>>2] = $19; - $20 = ((($$01824)) + 1|0); - $21 = HEAP8[$20>>0]|0; - $22 = ($21<<24>>24)==(0); - if ($22) { - break; - } else { - $$01824 = $20;$13 = $21; - } - } - $10 = HEAP8[$0>>0]|0; - $11 = ($10<<24>>24)==(0); - if ($11) { - $$019$sink = $0; - } else { - $$01922 = $0;$23 = $10; - while(1) { - $div = ($23&255) >>> 5; - $24 = $div&255; - $25 = (($2) + ($24<<2)|0); - $26 = HEAP32[$25>>2]|0; - $27 = $23 & 31; - $28 = $27&255; - $29 = 1 << $28; - $30 = $26 & $29; - $31 = ($30|0)==(0); - if (!($31)) { - $$019$sink = $$01922; - break L1; - } - $32 = ((($$01922)) + 1|0); - $33 = HEAP8[$32>>0]|0; - $34 = ($33<<24>>24)==(0); - if ($34) { - $$019$sink = $32; - break; - } else { - $$01922 = $32;$23 = $33; - } - } - } - } - } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; - } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); -} -function _strcat($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); -} -function _strncat($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = (_strlen($0)|0); - $4 = (($0) + ($3)|0); - $5 = ($2|0)==(0); - L1: do { - if ($5) { - $$0$lcssa = $4; - } else { - $$01013 = $2;$$01112 = $1;$$014 = $4; - while(1) { - $6 = HEAP8[$$01112>>0]|0; - $7 = ($6<<24>>24)==(0); - if ($7) { - $$0$lcssa = $$014; - break L1; - } - $8 = (($$01013) + -1)|0; - $9 = ((($$01112)) + 1|0); - $10 = ((($$014)) + 1|0); - HEAP8[$$014>>0] = $6; - $11 = ($8|0)==(0); - if ($11) { - $$0$lcssa = $10; - break; - } else { - $$01013 = $8;$$01112 = $9;$$014 = $10; - } - } - } - } while(0); - HEAP8[$$0$lcssa>>0] = 0; - return ($0|0); -} -function _strtok($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0, $$010 = 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|0); - if ($2) { - $3 = HEAP32[5615]|0; - $4 = ($3|0)==(0|0); - if ($4) { - $$0 = 0; - } else { - $$010 = $3; - label = 3; - } - } else { - $$010 = $0; - label = 3; - } - do { - if ((label|0) == 3) { - $5 = (_strspn($$010,$1)|0); - $6 = (($$010) + ($5)|0); - $7 = HEAP8[$6>>0]|0; - $8 = ($7<<24>>24)==(0); - if ($8) { - HEAP32[5615] = 0; - $$0 = 0; - break; - } - $9 = (_strcspn($6,$1)|0); - $10 = (($6) + ($9)|0); - HEAP32[5615] = $10; - $11 = HEAP8[$10>>0]|0; - $12 = ($11<<24>>24)==(0); - if ($12) { - HEAP32[5615] = 0; - $$0 = $6; - break; - } else { - $13 = ((($10)) + 1|0); - HEAP32[5615] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; - break; - } - } - } while(0); - return ($$0|0); -} -function _malloc($0) { - $0 = $0|0; - var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; - var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; - var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; - var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; - var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; - var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; - var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; - var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; - var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; - var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; - var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; - var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; - var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; - var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; - var $292 = 0, $293 = 0, $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; - var $31 = 0, $310 = 0, $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; - var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; - var $346 = 0, $347 = 0, $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; - var $364 = 0, $365 = 0, $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; - var $382 = 0, $383 = 0, $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; - var $40 = 0, $400 = 0, $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; - var $418 = 0, $419 = 0, $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; - var $436 = 0, $437 = 0, $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; - var $454 = 0, $455 = 0, $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; - var $472 = 0, $473 = 0, $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; - var $490 = 0, $491 = 0, $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; - var $508 = 0, $509 = 0, $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; - var $526 = 0, $527 = 0, $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; - var $544 = 0, $545 = 0, $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; - var $562 = 0, $563 = 0, $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; - var $580 = 0, $581 = 0, $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; - var $599 = 0, $6 = 0, $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; - var $616 = 0, $617 = 0, $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; - var $634 = 0, $635 = 0, $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; - var $652 = 0, $653 = 0, $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; - var $670 = 0, $671 = 0, $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; - var $689 = 0, $69 = 0, $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; - var $706 = 0, $707 = 0, $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; - var $724 = 0, $725 = 0, $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; - var $742 = 0, $743 = 0, $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; - var $760 = 0, $761 = 0, $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; - var $779 = 0, $78 = 0, $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; - var $797 = 0, $798 = 0, $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; - var $814 = 0, $815 = 0, $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; - var $832 = 0, $833 = 0, $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; - var $850 = 0, $851 = 0, $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; - var $869 = 0, $87 = 0, $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; - var $887 = 0, $888 = 0, $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; - var $904 = 0, $905 = 0, $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; - var $922 = 0, $923 = 0, $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; - var $940 = 0, $941 = 0, $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; - var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; - var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; - var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; - var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[5616]|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 = (22504 + ($15<<2)|0); - $17 = ((($16)) + 8|0); - $18 = HEAP32[$17>>2]|0; - $19 = ((($18)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ($16|0)==($20|0); - do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[5616] = $24; - } else { - $25 = HEAP32[(22480)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($18|0); - if ($29) { - HEAP32[$27>>2] = $16; - HEAP32[$17>>2] = $20; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $30 = $14 << 3; - $31 = $30 | 3; - $32 = ((($18)) + 4|0); - HEAP32[$32>>2] = $31; - $33 = (($18) + ($30)|0); - $34 = ((($33)) + 4|0); - $35 = HEAP32[$34>>2]|0; - $36 = $35 | 1; - HEAP32[$34>>2] = $36; - $$0 = $19; - STACKTOP = sp;return ($$0|0); - } - $37 = HEAP32[(22472)>>2]|0; - $38 = ($6>>>0)>($37>>>0); - if ($38) { - $39 = ($9|0)==(0); - if (!($39)) { - $40 = $9 << $7; - $41 = 2 << $7; - $42 = (0 - ($41))|0; - $43 = $41 | $42; - $44 = $40 & $43; - $45 = (0 - ($44))|0; - $46 = $44 & $45; - $47 = (($46) + -1)|0; - $48 = $47 >>> 12; - $49 = $48 & 16; - $50 = $47 >>> $49; - $51 = $50 >>> 5; - $52 = $51 & 8; - $53 = $52 | $49; - $54 = $50 >>> $52; - $55 = $54 >>> 2; - $56 = $55 & 4; - $57 = $53 | $56; - $58 = $54 >>> $56; - $59 = $58 >>> 1; - $60 = $59 & 2; - $61 = $57 | $60; - $62 = $58 >>> $60; - $63 = $62 >>> 1; - $64 = $63 & 1; - $65 = $61 | $64; - $66 = $62 >>> $64; - $67 = (($65) + ($66))|0; - $68 = $67 << 1; - $69 = (22504 + ($68<<2)|0); - $70 = ((($69)) + 8|0); - $71 = HEAP32[$70>>2]|0; - $72 = ((($71)) + 8|0); - $73 = HEAP32[$72>>2]|0; - $74 = ($69|0)==($73|0); - do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[5616] = $77; - $98 = $77; - } else { - $78 = HEAP32[(22480)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } - $80 = ((($73)) + 12|0); - $81 = HEAP32[$80>>2]|0; - $82 = ($81|0)==($71|0); - if ($82) { - HEAP32[$80>>2] = $69; - HEAP32[$70>>2] = $73; - $98 = $8; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $83 = $67 << 3; - $84 = (($83) - ($6))|0; - $85 = $6 | 3; - $86 = ((($71)) + 4|0); - HEAP32[$86>>2] = $85; - $87 = (($71) + ($6)|0); - $88 = $84 | 1; - $89 = ((($87)) + 4|0); - HEAP32[$89>>2] = $88; - $90 = (($87) + ($84)|0); - HEAP32[$90>>2] = $84; - $91 = ($37|0)==(0); - if (!($91)) { - $92 = HEAP32[(22484)>>2]|0; - $93 = $37 >>> 3; - $94 = $93 << 1; - $95 = (22504 + ($94<<2)|0); - $96 = 1 << $93; - $97 = $98 & $96; - $99 = ($97|0)==(0); - if ($99) { - $100 = $98 | $96; - HEAP32[5616] = $100; - $$pre = ((($95)) + 8|0); - $$0199 = $95;$$pre$phiZ2D = $$pre; - } else { - $101 = ((($95)) + 8|0); - $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(22480)>>2]|0; - $104 = ($102>>>0)<($103>>>0); - if ($104) { - _abort(); - // unreachable; - } else { - $$0199 = $102;$$pre$phiZ2D = $101; - } - } - HEAP32[$$pre$phiZ2D>>2] = $92; - $105 = ((($$0199)) + 12|0); - HEAP32[$105>>2] = $92; - $106 = ((($92)) + 8|0); - HEAP32[$106>>2] = $$0199; - $107 = ((($92)) + 12|0); - HEAP32[$107>>2] = $95; - } - HEAP32[(22472)>>2] = $84; - HEAP32[(22484)>>2] = $87; - $$0 = $72; - STACKTOP = sp;return ($$0|0); - } - $108 = HEAP32[(22468)>>2]|0; - $109 = ($108|0)==(0); - if ($109) { - $$0197 = $6; - } else { - $110 = (0 - ($108))|0; - $111 = $108 & $110; - $112 = (($111) + -1)|0; - $113 = $112 >>> 12; - $114 = $113 & 16; - $115 = $112 >>> $114; - $116 = $115 >>> 5; - $117 = $116 & 8; - $118 = $117 | $114; - $119 = $115 >>> $117; - $120 = $119 >>> 2; - $121 = $120 & 4; - $122 = $118 | $121; - $123 = $119 >>> $121; - $124 = $123 >>> 1; - $125 = $124 & 2; - $126 = $122 | $125; - $127 = $123 >>> $125; - $128 = $127 >>> 1; - $129 = $128 & 1; - $130 = $126 | $129; - $131 = $127 >>> $129; - $132 = (($130) + ($131))|0; - $133 = (22768 + ($132<<2)|0); - $134 = HEAP32[$133>>2]|0; - $135 = ((($134)) + 4|0); - $136 = HEAP32[$135>>2]|0; - $137 = $136 & -8; - $138 = (($137) - ($6))|0; - $139 = ((($134)) + 16|0); - $140 = HEAP32[$139>>2]|0; - $not$5$i = ($140|0)==(0|0); - $$sink16$i = $not$5$i&1; - $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); - $142 = HEAP32[$141>>2]|0; - $143 = ($142|0)==(0|0); - if ($143) { - $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; - } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; - while(1) { - $144 = ((($145)) + 4|0); - $146 = HEAP32[$144>>2]|0; - $147 = $146 & -8; - $148 = (($147) - ($6))|0; - $149 = ($148>>>0)<($$01937$i>>>0); - $$$0193$i = $149 ? $148 : $$01937$i; - $$$0192$i = $149 ? $145 : $$01928$i; - $150 = ((($145)) + 16|0); - $151 = HEAP32[$150>>2]|0; - $not$$i = ($151|0)==(0|0); - $$sink1$i = $not$$i&1; - $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); - $153 = HEAP32[$152>>2]|0; - $154 = ($153|0)==(0|0); - if ($154) { - $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; - break; - } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; - } - } - } - $155 = HEAP32[(22480)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { - _abort(); - // unreachable; - } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { - _abort(); - // unreachable; - } - $159 = ((($$0192$lcssa$i)) + 24|0); - $160 = HEAP32[$159>>2]|0; - $161 = ((($$0192$lcssa$i)) + 12|0); - $162 = HEAP32[$161>>2]|0; - $163 = ($162|0)==($$0192$lcssa$i|0); - do { - if ($163) { - $173 = ((($$0192$lcssa$i)) + 20|0); - $174 = HEAP32[$173>>2]|0; - $175 = ($174|0)==(0|0); - if ($175) { - $176 = ((($$0192$lcssa$i)) + 16|0); - $177 = HEAP32[$176>>2]|0; - $178 = ($177|0)==(0|0); - if ($178) { - $$3$i = 0; - break; - } else { - $$1196$i = $177;$$1198$i = $176; - } - } else { - $$1196$i = $174;$$1198$i = $173; - } - while(1) { - $179 = ((($$1196$i)) + 20|0); - $180 = HEAP32[$179>>2]|0; - $181 = ($180|0)==(0|0); - if (!($181)) { - $$1196$i = $180;$$1198$i = $179; - continue; - } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { - break; - } else { - $$1196$i = $183;$$1198$i = $182; - } - } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { - _abort(); - // unreachable; - } else { - HEAP32[$$1198$i>>2] = 0; - $$3$i = $$1196$i; - break; - } - } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { - _abort(); - // unreachable; - } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { - _abort(); - // unreachable; - } - $170 = ((($162)) + 8|0); - $171 = HEAP32[$170>>2]|0; - $172 = ($171|0)==($$0192$lcssa$i|0); - if ($172) { - HEAP32[$167>>2] = $162; - HEAP32[$170>>2] = $165; - $$3$i = $162; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $186 = ($160|0)==(0|0); - L73: do { - if (!($186)) { - $187 = ((($$0192$lcssa$i)) + 28|0); - $188 = HEAP32[$187>>2]|0; - $189 = (22768 + ($188<<2)|0); - $190 = HEAP32[$189>>2]|0; - $191 = ($$0192$lcssa$i|0)==($190|0); - do { - if ($191) { - HEAP32[$189>>2] = $$3$i; - $cond$i = ($$3$i|0)==(0|0); - if ($cond$i) { - $192 = 1 << $188; - $193 = $192 ^ -1; - $194 = $108 & $193; - HEAP32[(22468)>>2] = $194; - break L73; - } - } else { - $195 = HEAP32[(22480)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { - _abort(); - // unreachable; - } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); - $$sink2$i = $not$1$i&1; - $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); - HEAP32[$199>>2] = $$3$i; - $200 = ($$3$i|0)==(0|0); - if ($200) { - break L73; - } else { - break; - } - } - } - } while(0); - $201 = HEAP32[(22480)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } - $203 = ((($$3$i)) + 24|0); - HEAP32[$203>>2] = $160; - $204 = ((($$0192$lcssa$i)) + 16|0); - $205 = HEAP32[$204>>2]|0; - $206 = ($205|0)==(0|0); - do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { - _abort(); - // unreachable; - } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; - break; - } - } - } while(0); - $210 = ((($$0192$lcssa$i)) + 20|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - if (!($212)) { - $213 = HEAP32[(22480)>>2]|0; - $214 = ($211>>>0)<($213>>>0); - if ($214) { - _abort(); - // unreachable; - } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; - break; - } - } - } - } while(0); - $217 = ($$0193$lcssa$i>>>0)<(16); - if ($217) { - $218 = (($$0193$lcssa$i) + ($6))|0; - $219 = $218 | 3; - $220 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$0192$lcssa$i) + ($218)|0); - $222 = ((($221)) + 4|0); - $223 = HEAP32[$222>>2]|0; - $224 = $223 | 1; - HEAP32[$222>>2] = $224; - } else { - $225 = $6 | 3; - $226 = ((($$0192$lcssa$i)) + 4|0); - HEAP32[$226>>2] = $225; - $227 = $$0193$lcssa$i | 1; - $228 = ((($157)) + 4|0); - HEAP32[$228>>2] = $227; - $229 = (($157) + ($$0193$lcssa$i)|0); - HEAP32[$229>>2] = $$0193$lcssa$i; - $230 = ($37|0)==(0); - if (!($230)) { - $231 = HEAP32[(22484)>>2]|0; - $232 = $37 >>> 3; - $233 = $232 << 1; - $234 = (22504 + ($233<<2)|0); - $235 = 1 << $232; - $236 = $8 & $235; - $237 = ($236|0)==(0); - if ($237) { - $238 = $8 | $235; - HEAP32[5616] = $238; - $$pre$i = ((($234)) + 8|0); - $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; - } else { - $239 = ((($234)) + 8|0); - $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(22480)>>2]|0; - $242 = ($240>>>0)<($241>>>0); - if ($242) { - _abort(); - // unreachable; - } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; - } - } - HEAP32[$$pre$phi$iZ2D>>2] = $231; - $243 = ((($$0189$i)) + 12|0); - HEAP32[$243>>2] = $231; - $244 = ((($231)) + 8|0); - HEAP32[$244>>2] = $$0189$i; - $245 = ((($231)) + 12|0); - HEAP32[$245>>2] = $234; - } - HEAP32[(22472)>>2] = $$0193$lcssa$i; - HEAP32[(22484)>>2] = $157; - } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); - } - } else { - $$0197 = $6; - } - } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; - } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(22468)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; - } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { - $$0358$i = 0; - } else { - $255 = ($249>>>0)>(16777215); - if ($255) { - $$0358$i = 31; - } else { - $256 = (($253) + 1048320)|0; - $257 = $256 >>> 16; - $258 = $257 & 8; - $259 = $253 << $258; - $260 = (($259) + 520192)|0; - $261 = $260 >>> 16; - $262 = $261 & 4; - $263 = $262 | $258; - $264 = $259 << $262; - $265 = (($264) + 245760)|0; - $266 = $265 >>> 16; - $267 = $266 & 2; - $268 = $263 | $267; - $269 = (14 - ($268))|0; - $270 = $264 << $267; - $271 = $270 >>> 15; - $272 = (($269) + ($271))|0; - $273 = $272 << 1; - $274 = (($272) + 7)|0; - $275 = $249 >>> $274; - $276 = $275 & 1; - $277 = $276 | $273; - $$0358$i = $277; - } - } - $278 = (22768 + ($$0358$i<<2)|0); - $279 = HEAP32[$278>>2]|0; - $280 = ($279|0)==(0|0); - L117: do { - if ($280) { - $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; - label = 81; - } else { - $281 = ($$0358$i|0)==(31); - $282 = $$0358$i >>> 1; - $283 = (25 - ($282))|0; - $284 = $281 ? 0 : $283; - $285 = $249 << $284; - $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; - while(1) { - $286 = ((($$0353$i)) + 4|0); - $287 = HEAP32[$286>>2]|0; - $288 = $287 & -8; - $289 = (($288) - ($249))|0; - $290 = ($289>>>0)<($$0347$i>>>0); - if ($290) { - $291 = ($289|0)==(0); - if ($291) { - $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; - } else { - $$1343$i = $$0353$i;$$1348$i = $289; - } - } else { - $$1343$i = $$0342$i;$$1348$i = $$0347$i; - } - $292 = ((($$0353$i)) + 20|0); - $293 = HEAP32[$292>>2]|0; - $294 = $$0359$i >>> 31; - $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); - $296 = HEAP32[$295>>2]|0; - $297 = ($293|0)==(0|0); - $298 = ($293|0)==($296|0); - $or$cond2$i = $297 | $298; - $$1363$i = $or$cond2$i ? $$0362$i : $293; - $299 = ($296|0)==(0|0); - $not$8$i = $299 ^ 1; - $300 = $not$8$i&1; - $$0359$$i = $$0359$i << $300; - if ($299) { - $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; - label = 81; - break; - } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; - } - } - } - } while(0); - if ((label|0) == 81) { - $301 = ($$2355$i|0)==(0|0); - $302 = ($$3$i201|0)==(0|0); - $or$cond$i = $301 & $302; - if ($or$cond$i) { - $303 = 2 << $$0358$i; - $304 = (0 - ($303))|0; - $305 = $303 | $304; - $306 = $250 & $305; - $307 = ($306|0)==(0); - if ($307) { - $$0197 = $249; - break; - } - $308 = (0 - ($306))|0; - $309 = $306 & $308; - $310 = (($309) + -1)|0; - $311 = $310 >>> 12; - $312 = $311 & 16; - $313 = $310 >>> $312; - $314 = $313 >>> 5; - $315 = $314 & 8; - $316 = $315 | $312; - $317 = $313 >>> $315; - $318 = $317 >>> 2; - $319 = $318 & 4; - $320 = $316 | $319; - $321 = $317 >>> $319; - $322 = $321 >>> 1; - $323 = $322 & 2; - $324 = $320 | $323; - $325 = $321 >>> $323; - $326 = $325 >>> 1; - $327 = $326 & 1; - $328 = $324 | $327; - $329 = $325 >>> $327; - $330 = (($328) + ($329))|0; - $331 = (22768 + ($330<<2)|0); - $332 = HEAP32[$331>>2]|0; - $$4$ph$i = 0;$$4357$ph$i = $332; - } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; - } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { - $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; - } else { - $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; - label = 85; - } - } - if ((label|0) == 85) { - while(1) { - label = 0; - $334 = ((($$435713$i)) + 4|0); - $335 = HEAP32[$334>>2]|0; - $336 = $335 & -8; - $337 = (($336) - ($249))|0; - $338 = ($337>>>0)<($$435114$i>>>0); - $$$4351$i = $338 ? $337 : $$435114$i; - $$4357$$4$i = $338 ? $$435713$i : $$415$i; - $339 = ((($$435713$i)) + 16|0); - $340 = HEAP32[$339>>2]|0; - $not$1$i203 = ($340|0)==(0|0); - $$sink2$i204 = $not$1$i203&1; - $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); - $342 = HEAP32[$341>>2]|0; - $343 = ($342|0)==(0|0); - if ($343) { - $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; - break; - } else { - $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; - label = 85; - } - } - } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; - } else { - $345 = HEAP32[(22472)>>2]|0; - $346 = (($345) - ($249))|0; - $347 = ($$4351$lcssa$i>>>0)<($346>>>0); - if ($347) { - $348 = HEAP32[(22480)>>2]|0; - $349 = ($$4$lcssa$i>>>0)<($348>>>0); - if ($349) { - _abort(); - // unreachable; - } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { - _abort(); - // unreachable; - } - $352 = ((($$4$lcssa$i)) + 24|0); - $353 = HEAP32[$352>>2]|0; - $354 = ((($$4$lcssa$i)) + 12|0); - $355 = HEAP32[$354>>2]|0; - $356 = ($355|0)==($$4$lcssa$i|0); - do { - if ($356) { - $366 = ((($$4$lcssa$i)) + 20|0); - $367 = HEAP32[$366>>2]|0; - $368 = ($367|0)==(0|0); - if ($368) { - $369 = ((($$4$lcssa$i)) + 16|0); - $370 = HEAP32[$369>>2]|0; - $371 = ($370|0)==(0|0); - if ($371) { - $$3372$i = 0; - break; - } else { - $$1370$i = $370;$$1374$i = $369; - } - } else { - $$1370$i = $367;$$1374$i = $366; - } - while(1) { - $372 = ((($$1370$i)) + 20|0); - $373 = HEAP32[$372>>2]|0; - $374 = ($373|0)==(0|0); - if (!($374)) { - $$1370$i = $373;$$1374$i = $372; - continue; - } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { - break; - } else { - $$1370$i = $376;$$1374$i = $375; - } - } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { - _abort(); - // unreachable; - } else { - HEAP32[$$1374$i>>2] = 0; - $$3372$i = $$1370$i; - break; - } - } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { - _abort(); - // unreachable; - } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { - _abort(); - // unreachable; - } - $363 = ((($355)) + 8|0); - $364 = HEAP32[$363>>2]|0; - $365 = ($364|0)==($$4$lcssa$i|0); - if ($365) { - HEAP32[$360>>2] = $355; - HEAP32[$363>>2] = $358; - $$3372$i = $355; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; - } else { - $380 = ((($$4$lcssa$i)) + 28|0); - $381 = HEAP32[$380>>2]|0; - $382 = (22768 + ($381<<2)|0); - $383 = HEAP32[$382>>2]|0; - $384 = ($$4$lcssa$i|0)==($383|0); - do { - if ($384) { - HEAP32[$382>>2] = $$3372$i; - $cond$i208 = ($$3372$i|0)==(0|0); - if ($cond$i208) { - $385 = 1 << $381; - $386 = $385 ^ -1; - $387 = $250 & $386; - HEAP32[(22468)>>2] = $387; - $470 = $387; - break L164; - } - } else { - $388 = HEAP32[(22480)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { - _abort(); - // unreachable; - } else { - $390 = ((($353)) + 16|0); - $391 = HEAP32[$390>>2]|0; - $not$$i209 = ($391|0)!=($$4$lcssa$i|0); - $$sink3$i = $not$$i209&1; - $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); - HEAP32[$392>>2] = $$3372$i; - $393 = ($$3372$i|0)==(0|0); - if ($393) { - $470 = $250; - break L164; - } else { - break; - } - } - } - } while(0); - $394 = HEAP32[(22480)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { - _abort(); - // unreachable; - } - $396 = ((($$3372$i)) + 24|0); - HEAP32[$396>>2] = $353; - $397 = ((($$4$lcssa$i)) + 16|0); - $398 = HEAP32[$397>>2]|0; - $399 = ($398|0)==(0|0); - do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { - _abort(); - // unreachable; - } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; - break; - } - } - } while(0); - $403 = ((($$4$lcssa$i)) + 20|0); - $404 = HEAP32[$403>>2]|0; - $405 = ($404|0)==(0|0); - if ($405) { - $470 = $250; - } else { - $406 = HEAP32[(22480)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { - _abort(); - // unreachable; - } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; - break; - } - } - } - } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); - do { - if ($410) { - $411 = (($$4351$lcssa$i) + ($249))|0; - $412 = $411 | 3; - $413 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$413>>2] = $412; - $414 = (($$4$lcssa$i) + ($411)|0); - $415 = ((($414)) + 4|0); - $416 = HEAP32[$415>>2]|0; - $417 = $416 | 1; - HEAP32[$415>>2] = $417; - } else { - $418 = $249 | 3; - $419 = ((($$4$lcssa$i)) + 4|0); - HEAP32[$419>>2] = $418; - $420 = $$4351$lcssa$i | 1; - $421 = ((($350)) + 4|0); - HEAP32[$421>>2] = $420; - $422 = (($350) + ($$4351$lcssa$i)|0); - HEAP32[$422>>2] = $$4351$lcssa$i; - $423 = $$4351$lcssa$i >>> 3; - $424 = ($$4351$lcssa$i>>>0)<(256); - if ($424) { - $425 = $423 << 1; - $426 = (22504 + ($425<<2)|0); - $427 = HEAP32[5616]|0; - $428 = 1 << $423; - $429 = $427 & $428; - $430 = ($429|0)==(0); - if ($430) { - $431 = $427 | $428; - HEAP32[5616] = $431; - $$pre$i210 = ((($426)) + 8|0); - $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; - } else { - $432 = ((($426)) + 8|0); - $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(22480)>>2]|0; - $435 = ($433>>>0)<($434>>>0); - if ($435) { - _abort(); - // unreachable; - } else { - $$0368$i = $433;$$pre$phi$i211Z2D = $432; - } - } - HEAP32[$$pre$phi$i211Z2D>>2] = $350; - $436 = ((($$0368$i)) + 12|0); - HEAP32[$436>>2] = $350; - $437 = ((($350)) + 8|0); - HEAP32[$437>>2] = $$0368$i; - $438 = ((($350)) + 12|0); - HEAP32[$438>>2] = $426; - break; - } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { - $$0361$i = 0; - } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { - $$0361$i = 31; - } else { - $442 = (($439) + 1048320)|0; - $443 = $442 >>> 16; - $444 = $443 & 8; - $445 = $439 << $444; - $446 = (($445) + 520192)|0; - $447 = $446 >>> 16; - $448 = $447 & 4; - $449 = $448 | $444; - $450 = $445 << $448; - $451 = (($450) + 245760)|0; - $452 = $451 >>> 16; - $453 = $452 & 2; - $454 = $449 | $453; - $455 = (14 - ($454))|0; - $456 = $450 << $453; - $457 = $456 >>> 15; - $458 = (($455) + ($457))|0; - $459 = $458 << 1; - $460 = (($458) + 7)|0; - $461 = $$4351$lcssa$i >>> $460; - $462 = $461 & 1; - $463 = $462 | $459; - $$0361$i = $463; - } - } - $464 = (22768 + ($$0361$i<<2)|0); - $465 = ((($350)) + 28|0); - HEAP32[$465>>2] = $$0361$i; - $466 = ((($350)) + 16|0); - $467 = ((($466)) + 4|0); - HEAP32[$467>>2] = 0; - HEAP32[$466>>2] = 0; - $468 = 1 << $$0361$i; - $469 = $470 & $468; - $471 = ($469|0)==(0); - if ($471) { - $472 = $470 | $468; - HEAP32[(22468)>>2] = $472; - HEAP32[$464>>2] = $350; - $473 = ((($350)) + 24|0); - HEAP32[$473>>2] = $464; - $474 = ((($350)) + 12|0); - HEAP32[$474>>2] = $350; - $475 = ((($350)) + 8|0); - HEAP32[$475>>2] = $350; - break; - } - $476 = HEAP32[$464>>2]|0; - $477 = ($$0361$i|0)==(31); - $478 = $$0361$i >>> 1; - $479 = (25 - ($478))|0; - $480 = $477 ? 0 : $479; - $481 = $$4351$lcssa$i << $480; - $$0344$i = $481;$$0345$i = $476; - while(1) { - $482 = ((($$0345$i)) + 4|0); - $483 = HEAP32[$482>>2]|0; - $484 = $483 & -8; - $485 = ($484|0)==($$4351$lcssa$i|0); - if ($485) { - label = 139; - break; - } - $486 = $$0344$i >>> 31; - $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); - $488 = $$0344$i << 1; - $489 = HEAP32[$487>>2]|0; - $490 = ($489|0)==(0|0); - if ($490) { - label = 136; - break; - } else { - $$0344$i = $488;$$0345$i = $489; - } - } - if ((label|0) == 136) { - $491 = HEAP32[(22480)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { - _abort(); - // unreachable; - } else { - HEAP32[$487>>2] = $350; - $493 = ((($350)) + 24|0); - HEAP32[$493>>2] = $$0345$i; - $494 = ((($350)) + 12|0); - HEAP32[$494>>2] = $350; - $495 = ((($350)) + 8|0); - HEAP32[$495>>2] = $350; - break; - } - } - else if ((label|0) == 139) { - $496 = ((($$0345$i)) + 8|0); - $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(22480)>>2]|0; - $499 = ($497>>>0)>=($498>>>0); - $not$9$i = ($$0345$i>>>0)>=($498>>>0); - $500 = $499 & $not$9$i; - if ($500) { - $501 = ((($497)) + 12|0); - HEAP32[$501>>2] = $350; - HEAP32[$496>>2] = $350; - $502 = ((($350)) + 8|0); - HEAP32[$502>>2] = $497; - $503 = ((($350)) + 12|0); - HEAP32[$503>>2] = $$0345$i; - $504 = ((($350)) + 24|0); - HEAP32[$504>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); - } else { - $$0197 = $249; - } - } - } - } - } - } while(0); - $506 = HEAP32[(22472)>>2]|0; - $507 = ($506>>>0)<($$0197>>>0); - if (!($507)) { - $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(22484)>>2]|0; - $510 = ($508>>>0)>(15); - if ($510) { - $511 = (($509) + ($$0197)|0); - HEAP32[(22484)>>2] = $511; - HEAP32[(22472)>>2] = $508; - $512 = $508 | 1; - $513 = ((($511)) + 4|0); - HEAP32[$513>>2] = $512; - $514 = (($511) + ($508)|0); - HEAP32[$514>>2] = $508; - $515 = $$0197 | 3; - $516 = ((($509)) + 4|0); - HEAP32[$516>>2] = $515; - } else { - HEAP32[(22472)>>2] = 0; - HEAP32[(22484)>>2] = 0; - $517 = $506 | 3; - $518 = ((($509)) + 4|0); - HEAP32[$518>>2] = $517; - $519 = (($509) + ($506)|0); - $520 = ((($519)) + 4|0); - $521 = HEAP32[$520>>2]|0; - $522 = $521 | 1; - HEAP32[$520>>2] = $522; - } - $523 = ((($509)) + 8|0); - $$0 = $523; - STACKTOP = sp;return ($$0|0); - } - $524 = HEAP32[(22476)>>2]|0; - $525 = ($524>>>0)>($$0197>>>0); - if ($525) { - $526 = (($524) - ($$0197))|0; - HEAP32[(22476)>>2] = $526; - $527 = HEAP32[(22488)>>2]|0; - $528 = (($527) + ($$0197)|0); - HEAP32[(22488)>>2] = $528; - $529 = $526 | 1; - $530 = ((($528)) + 4|0); - HEAP32[$530>>2] = $529; - $531 = $$0197 | 3; - $532 = ((($527)) + 4|0); - HEAP32[$532>>2] = $531; - $533 = ((($527)) + 8|0); - $$0 = $533; - STACKTOP = sp;return ($$0|0); - } - $534 = HEAP32[5734]|0; - $535 = ($534|0)==(0); - if ($535) { - HEAP32[(22944)>>2] = 4096; - HEAP32[(22940)>>2] = 4096; - HEAP32[(22948)>>2] = -1; - HEAP32[(22952)>>2] = -1; - HEAP32[(22956)>>2] = 0; - HEAP32[(22908)>>2] = 0; - $536 = $1; - $537 = $536 & -16; - $538 = $537 ^ 1431655768; - HEAP32[$1>>2] = $538; - HEAP32[5734] = $538; - $542 = 4096; - } else { - $$pre$i212 = HEAP32[(22944)>>2]|0; - $542 = $$pre$i212; - } - $539 = (($$0197) + 48)|0; - $540 = (($$0197) + 47)|0; - $541 = (($542) + ($540))|0; - $543 = (0 - ($542))|0; - $544 = $541 & $543; - $545 = ($544>>>0)>($$0197>>>0); - if (!($545)) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - $546 = HEAP32[(22904)>>2]|0; - $547 = ($546|0)==(0); - if (!($547)) { - $548 = HEAP32[(22896)>>2]|0; - $549 = (($548) + ($544))|0; - $550 = ($549>>>0)<=($548>>>0); - $551 = ($549>>>0)>($546>>>0); - $or$cond1$i = $550 | $551; - if ($or$cond1$i) { - $$0 = 0; - STACKTOP = sp;return ($$0|0); - } - } - $552 = HEAP32[(22908)>>2]|0; - $553 = $552 & 4; - $554 = ($553|0)==(0); - L244: do { - if ($554) { - $555 = HEAP32[(22488)>>2]|0; - $556 = ($555|0)==(0|0); - L246: do { - if ($556) { - label = 163; - } else { - $$0$i$i = (22912); - while(1) { - $557 = HEAP32[$$0$i$i>>2]|0; - $558 = ($557>>>0)>($555>>>0); - if (!($558)) { - $559 = ((($$0$i$i)) + 4|0); - $560 = HEAP32[$559>>2]|0; - $561 = (($557) + ($560)|0); - $562 = ($561>>>0)>($555>>>0); - if ($562) { - break; - } - } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; - } else { - $$0$i$i = $564; - } - } - $588 = (($541) - ($524))|0; - $589 = $588 & $543; - $590 = ($589>>>0)<(2147483647); - if ($590) { - $591 = (_sbrk(($589|0))|0); - $592 = HEAP32[$$0$i$i>>2]|0; - $593 = HEAP32[$559>>2]|0; - $594 = (($592) + ($593)|0); - $595 = ($591|0)==($594|0); - if ($595) { - $596 = ($591|0)==((-1)|0); - if ($596) { - $$2234253237$i = $589; - } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; - } - } else { - $$2247$ph$i = $591;$$2253$ph$i = $589; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } while(0); - do { - if ((label|0) == 163) { - $566 = (_sbrk(0)|0); - $567 = ($566|0)==((-1)|0); - if ($567) { - $$2234253237$i = 0; - } else { - $568 = $566; - $569 = HEAP32[(22940)>>2]|0; - $570 = (($569) + -1)|0; - $571 = $570 & $568; - $572 = ($571|0)==(0); - $573 = (($570) + ($568))|0; - $574 = (0 - ($569))|0; - $575 = $573 & $574; - $576 = (($575) - ($568))|0; - $577 = $572 ? 0 : $576; - $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22896)>>2]|0; - $579 = (($$$i) + ($578))|0; - $580 = ($$$i>>>0)>($$0197>>>0); - $581 = ($$$i>>>0)<(2147483647); - $or$cond$i214 = $580 & $581; - if ($or$cond$i214) { - $582 = HEAP32[(22904)>>2]|0; - $583 = ($582|0)==(0); - if (!($583)) { - $584 = ($579>>>0)<=($578>>>0); - $585 = ($579>>>0)>($582>>>0); - $or$cond2$i215 = $584 | $585; - if ($or$cond2$i215) { - $$2234253237$i = 0; - break; - } - } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; - } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; - } - } else { - $$2234253237$i = 0; - } - } - } - } while(0); - do { - if ((label|0) == 171) { - $597 = (0 - ($$2253$ph$i))|0; - $598 = ($$2247$ph$i|0)!=((-1)|0); - $599 = ($$2253$ph$i>>>0)<(2147483647); - $or$cond7$i = $599 & $598; - $600 = ($539>>>0)>($$2253$ph$i>>>0); - $or$cond10$i = $600 & $or$cond7$i; - if (!($or$cond10$i)) { - $610 = ($$2247$ph$i|0)==((-1)|0); - if ($610) { - $$2234253237$i = 0; - break; - } else { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - $601 = HEAP32[(22944)>>2]|0; - $602 = (($540) - ($$2253$ph$i))|0; - $603 = (($602) + ($601))|0; - $604 = (0 - ($601))|0; - $605 = $603 & $604; - $606 = ($605>>>0)<(2147483647); - if (!($606)) { - $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - $607 = (_sbrk(($605|0))|0); - $608 = ($607|0)==((-1)|0); - if ($608) { - (_sbrk(($597|0))|0); - $$2234253237$i = 0; - break; - } else { - $609 = (($605) + ($$2253$ph$i))|0; - $$723948$i = $609;$$749$i = $$2247$ph$i; - label = 180; - break L244; - } - } - } while(0); - $611 = HEAP32[(22908)>>2]|0; - $612 = $611 | 4; - HEAP32[(22908)>>2] = $612; - $$4236$i = $$2234253237$i; - label = 178; - } else { - $$4236$i = 0; - label = 178; - } - } while(0); - if ((label|0) == 178) { - $613 = ($544>>>0)<(2147483647); - if ($613) { - $614 = (_sbrk(($544|0))|0); - $615 = (_sbrk(0)|0); - $616 = ($614|0)!=((-1)|0); - $617 = ($615|0)!=((-1)|0); - $or$cond5$i = $616 & $617; - $618 = ($614>>>0)<($615>>>0); - $or$cond11$i = $618 & $or$cond5$i; - $619 = $615; - $620 = $614; - $621 = (($619) - ($620))|0; - $622 = (($$0197) + 40)|0; - $623 = ($621>>>0)>($622>>>0); - $$$4236$i = $623 ? $621 : $$4236$i; - $or$cond11$not$i = $or$cond11$i ^ 1; - $624 = ($614|0)==((-1)|0); - $not$$i216 = $623 ^ 1; - $625 = $624 | $not$$i216; - $or$cond50$i = $625 | $or$cond11$not$i; - if (!($or$cond50$i)) { - $$723948$i = $$$4236$i;$$749$i = $614; - label = 180; - } - } - } - if ((label|0) == 180) { - $626 = HEAP32[(22896)>>2]|0; - $627 = (($626) + ($$723948$i))|0; - HEAP32[(22896)>>2] = $627; - $628 = HEAP32[(22900)>>2]|0; - $629 = ($627>>>0)>($628>>>0); - if ($629) { - HEAP32[(22900)>>2] = $627; - } - $630 = HEAP32[(22488)>>2]|0; - $631 = ($630|0)==(0|0); - do { - if ($631) { - $632 = HEAP32[(22480)>>2]|0; - $633 = ($632|0)==(0|0); - $634 = ($$749$i>>>0)<($632>>>0); - $or$cond12$i = $633 | $634; - if ($or$cond12$i) { - HEAP32[(22480)>>2] = $$749$i; - } - HEAP32[(22912)>>2] = $$749$i; - HEAP32[(22916)>>2] = $$723948$i; - HEAP32[(22924)>>2] = 0; - $635 = HEAP32[5734]|0; - HEAP32[(22500)>>2] = $635; - HEAP32[(22496)>>2] = -1; - $$01$i$i = 0; - while(1) { - $636 = $$01$i$i << 1; - $637 = (22504 + ($636<<2)|0); - $638 = ((($637)) + 12|0); - HEAP32[$638>>2] = $637; - $639 = ((($637)) + 8|0); - HEAP32[$639>>2] = $637; - $640 = (($$01$i$i) + 1)|0; - $exitcond$i$i = ($640|0)==(32); - if ($exitcond$i$i) { - break; - } else { - $$01$i$i = $640; - } - } - $641 = (($$723948$i) + -40)|0; - $642 = ((($$749$i)) + 8|0); - $643 = $642; - $644 = $643 & 7; - $645 = ($644|0)==(0); - $646 = (0 - ($643))|0; - $647 = $646 & 7; - $648 = $645 ? 0 : $647; - $649 = (($$749$i) + ($648)|0); - $650 = (($641) - ($648))|0; - HEAP32[(22488)>>2] = $649; - HEAP32[(22476)>>2] = $650; - $651 = $650 | 1; - $652 = ((($649)) + 4|0); - HEAP32[$652>>2] = $651; - $653 = (($649) + ($650)|0); - $654 = ((($653)) + 4|0); - HEAP32[$654>>2] = 40; - $655 = HEAP32[(22952)>>2]|0; - HEAP32[(22492)>>2] = $655; - } else { - $$024371$i = (22912); - while(1) { - $656 = HEAP32[$$024371$i>>2]|0; - $657 = ((($$024371$i)) + 4|0); - $658 = HEAP32[$657>>2]|0; - $659 = (($656) + ($658)|0); - $660 = ($$749$i|0)==($659|0); - if ($660) { - label = 190; - break; - } - $661 = ((($$024371$i)) + 8|0); - $662 = HEAP32[$661>>2]|0; - $663 = ($662|0)==(0|0); - if ($663) { - break; - } else { - $$024371$i = $662; - } - } - if ((label|0) == 190) { - $664 = ((($$024371$i)) + 12|0); - $665 = HEAP32[$664>>2]|0; - $666 = $665 & 8; - $667 = ($666|0)==(0); - if ($667) { - $668 = ($630>>>0)>=($656>>>0); - $669 = ($630>>>0)<($$749$i>>>0); - $or$cond51$i = $669 & $668; - if ($or$cond51$i) { - $670 = (($658) + ($$723948$i))|0; - HEAP32[$657>>2] = $670; - $671 = HEAP32[(22476)>>2]|0; - $672 = ((($630)) + 8|0); - $673 = $672; - $674 = $673 & 7; - $675 = ($674|0)==(0); - $676 = (0 - ($673))|0; - $677 = $676 & 7; - $678 = $675 ? 0 : $677; - $679 = (($630) + ($678)|0); - $680 = (($$723948$i) - ($678))|0; - $681 = (($671) + ($680))|0; - HEAP32[(22488)>>2] = $679; - HEAP32[(22476)>>2] = $681; - $682 = $681 | 1; - $683 = ((($679)) + 4|0); - HEAP32[$683>>2] = $682; - $684 = (($679) + ($681)|0); - $685 = ((($684)) + 4|0); - HEAP32[$685>>2] = 40; - $686 = HEAP32[(22952)>>2]|0; - HEAP32[(22492)>>2] = $686; - break; - } - } - } - $687 = HEAP32[(22480)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(22480)>>2] = $$749$i; - $752 = $$749$i; - } else { - $752 = $687; - } - $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22912); - while(1) { - $690 = HEAP32[$$124470$i>>2]|0; - $691 = ($690|0)==($689|0); - if ($691) { - label = 198; - break; - } - $692 = ((($$124470$i)) + 8|0); - $693 = HEAP32[$692>>2]|0; - $694 = ($693|0)==(0|0); - if ($694) { - break; - } else { - $$124470$i = $693; - } - } - if ((label|0) == 198) { - $695 = ((($$124470$i)) + 12|0); - $696 = HEAP32[$695>>2]|0; - $697 = $696 & 8; - $698 = ($697|0)==(0); - if ($698) { - HEAP32[$$124470$i>>2] = $$749$i; - $699 = ((($$124470$i)) + 4|0); - $700 = HEAP32[$699>>2]|0; - $701 = (($700) + ($$723948$i))|0; - HEAP32[$699>>2] = $701; - $702 = ((($$749$i)) + 8|0); - $703 = $702; - $704 = $703 & 7; - $705 = ($704|0)==(0); - $706 = (0 - ($703))|0; - $707 = $706 & 7; - $708 = $705 ? 0 : $707; - $709 = (($$749$i) + ($708)|0); - $710 = ((($689)) + 8|0); - $711 = $710; - $712 = $711 & 7; - $713 = ($712|0)==(0); - $714 = (0 - ($711))|0; - $715 = $714 & 7; - $716 = $713 ? 0 : $715; - $717 = (($689) + ($716)|0); - $718 = $717; - $719 = $709; - $720 = (($718) - ($719))|0; - $721 = (($709) + ($$0197)|0); - $722 = (($720) - ($$0197))|0; - $723 = $$0197 | 3; - $724 = ((($709)) + 4|0); - HEAP32[$724>>2] = $723; - $725 = ($717|0)==($630|0); - do { - if ($725) { - $726 = HEAP32[(22476)>>2]|0; - $727 = (($726) + ($722))|0; - HEAP32[(22476)>>2] = $727; - HEAP32[(22488)>>2] = $721; - $728 = $727 | 1; - $729 = ((($721)) + 4|0); - HEAP32[$729>>2] = $728; - } else { - $730 = HEAP32[(22484)>>2]|0; - $731 = ($717|0)==($730|0); - if ($731) { - $732 = HEAP32[(22472)>>2]|0; - $733 = (($732) + ($722))|0; - HEAP32[(22472)>>2] = $733; - HEAP32[(22484)>>2] = $721; - $734 = $733 | 1; - $735 = ((($721)) + 4|0); - HEAP32[$735>>2] = $734; - $736 = (($721) + ($733)|0); - HEAP32[$736>>2] = $733; - break; - } - $737 = ((($717)) + 4|0); - $738 = HEAP32[$737>>2]|0; - $739 = $738 & 3; - $740 = ($739|0)==(1); - if ($740) { - $741 = $738 & -8; - $742 = $738 >>> 3; - $743 = ($738>>>0)<(256); - L314: do { - if ($743) { - $744 = ((($717)) + 8|0); - $745 = HEAP32[$744>>2]|0; - $746 = ((($717)) + 12|0); - $747 = HEAP32[$746>>2]|0; - $748 = $742 << 1; - $749 = (22504 + ($748<<2)|0); - $750 = ($745|0)==($749|0); - do { - if (!($750)) { - $751 = ($745>>>0)<($752>>>0); - if ($751) { - _abort(); - // unreachable; - } - $753 = ((($745)) + 12|0); - $754 = HEAP32[$753>>2]|0; - $755 = ($754|0)==($717|0); - if ($755) { - break; - } - _abort(); - // unreachable; - } - } while(0); - $756 = ($747|0)==($745|0); - if ($756) { - $757 = 1 << $742; - $758 = $757 ^ -1; - $759 = HEAP32[5616]|0; - $760 = $759 & $758; - HEAP32[5616] = $760; - break; - } - $761 = ($747|0)==($749|0); - do { - if ($761) { - $$pre10$i$i = ((($747)) + 8|0); - $$pre$phi11$i$iZ2D = $$pre10$i$i; - } else { - $762 = ($747>>>0)<($752>>>0); - if ($762) { - _abort(); - // unreachable; - } - $763 = ((($747)) + 8|0); - $764 = HEAP32[$763>>2]|0; - $765 = ($764|0)==($717|0); - if ($765) { - $$pre$phi11$i$iZ2D = $763; - break; - } - _abort(); - // unreachable; - } - } while(0); - $766 = ((($745)) + 12|0); - HEAP32[$766>>2] = $747; - HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; - } else { - $767 = ((($717)) + 24|0); - $768 = HEAP32[$767>>2]|0; - $769 = ((($717)) + 12|0); - $770 = HEAP32[$769>>2]|0; - $771 = ($770|0)==($717|0); - do { - if ($771) { - $781 = ((($717)) + 16|0); - $782 = ((($781)) + 4|0); - $783 = HEAP32[$782>>2]|0; - $784 = ($783|0)==(0|0); - if ($784) { - $785 = HEAP32[$781>>2]|0; - $786 = ($785|0)==(0|0); - if ($786) { - $$3$i$i = 0; - break; - } else { - $$1291$i$i = $785;$$1293$i$i = $781; - } - } else { - $$1291$i$i = $783;$$1293$i$i = $782; - } - while(1) { - $787 = ((($$1291$i$i)) + 20|0); - $788 = HEAP32[$787>>2]|0; - $789 = ($788|0)==(0|0); - if (!($789)) { - $$1291$i$i = $788;$$1293$i$i = $787; - continue; - } - $790 = ((($$1291$i$i)) + 16|0); - $791 = HEAP32[$790>>2]|0; - $792 = ($791|0)==(0|0); - if ($792) { - break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; - } - } - $793 = ($$1293$i$i>>>0)<($752>>>0); - if ($793) { - _abort(); - // unreachable; - } else { - HEAP32[$$1293$i$i>>2] = 0; - $$3$i$i = $$1291$i$i; - break; - } - } else { - $772 = ((($717)) + 8|0); - $773 = HEAP32[$772>>2]|0; - $774 = ($773>>>0)<($752>>>0); - if ($774) { - _abort(); - // unreachable; - } - $775 = ((($773)) + 12|0); - $776 = HEAP32[$775>>2]|0; - $777 = ($776|0)==($717|0); - if (!($777)) { - _abort(); - // unreachable; - } - $778 = ((($770)) + 8|0); - $779 = HEAP32[$778>>2]|0; - $780 = ($779|0)==($717|0); - if ($780) { - HEAP32[$775>>2] = $770; - HEAP32[$778>>2] = $773; - $$3$i$i = $770; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $794 = ($768|0)==(0|0); - if ($794) { - break; - } - $795 = ((($717)) + 28|0); - $796 = HEAP32[$795>>2]|0; - $797 = (22768 + ($796<<2)|0); - $798 = HEAP32[$797>>2]|0; - $799 = ($717|0)==($798|0); - do { - if ($799) { - HEAP32[$797>>2] = $$3$i$i; - $cond$i$i = ($$3$i$i|0)==(0|0); - if (!($cond$i$i)) { - break; - } - $800 = 1 << $796; - $801 = $800 ^ -1; - $802 = HEAP32[(22468)>>2]|0; - $803 = $802 & $801; - HEAP32[(22468)>>2] = $803; - break L314; - } else { - $804 = HEAP32[(22480)>>2]|0; - $805 = ($768>>>0)<($804>>>0); - if ($805) { - _abort(); - // unreachable; - } else { - $806 = ((($768)) + 16|0); - $807 = HEAP32[$806>>2]|0; - $not$$i17$i = ($807|0)!=($717|0); - $$sink1$i$i = $not$$i17$i&1; - $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); - HEAP32[$808>>2] = $$3$i$i; - $809 = ($$3$i$i|0)==(0|0); - if ($809) { - break L314; - } else { - break; - } - } - } - } while(0); - $810 = HEAP32[(22480)>>2]|0; - $811 = ($$3$i$i>>>0)<($810>>>0); - if ($811) { - _abort(); - // unreachable; - } - $812 = ((($$3$i$i)) + 24|0); - HEAP32[$812>>2] = $768; - $813 = ((($717)) + 16|0); - $814 = HEAP32[$813>>2]|0; - $815 = ($814|0)==(0|0); - do { - if (!($815)) { - $816 = ($814>>>0)<($810>>>0); - if ($816) { - _abort(); - // unreachable; - } else { - $817 = ((($$3$i$i)) + 16|0); - HEAP32[$817>>2] = $814; - $818 = ((($814)) + 24|0); - HEAP32[$818>>2] = $$3$i$i; - break; - } - } - } while(0); - $819 = ((($813)) + 4|0); - $820 = HEAP32[$819>>2]|0; - $821 = ($820|0)==(0|0); - if ($821) { - break; - } - $822 = HEAP32[(22480)>>2]|0; - $823 = ($820>>>0)<($822>>>0); - if ($823) { - _abort(); - // unreachable; - } else { - $824 = ((($$3$i$i)) + 20|0); - HEAP32[$824>>2] = $820; - $825 = ((($820)) + 24|0); - HEAP32[$825>>2] = $$3$i$i; - break; - } - } - } while(0); - $826 = (($717) + ($741)|0); - $827 = (($741) + ($722))|0; - $$0$i18$i = $826;$$0287$i$i = $827; - } else { - $$0$i18$i = $717;$$0287$i$i = $722; - } - $828 = ((($$0$i18$i)) + 4|0); - $829 = HEAP32[$828>>2]|0; - $830 = $829 & -2; - HEAP32[$828>>2] = $830; - $831 = $$0287$i$i | 1; - $832 = ((($721)) + 4|0); - HEAP32[$832>>2] = $831; - $833 = (($721) + ($$0287$i$i)|0); - HEAP32[$833>>2] = $$0287$i$i; - $834 = $$0287$i$i >>> 3; - $835 = ($$0287$i$i>>>0)<(256); - if ($835) { - $836 = $834 << 1; - $837 = (22504 + ($836<<2)|0); - $838 = HEAP32[5616]|0; - $839 = 1 << $834; - $840 = $838 & $839; - $841 = ($840|0)==(0); - do { - if ($841) { - $842 = $838 | $839; - HEAP32[5616] = $842; - $$pre$i19$i = ((($837)) + 8|0); - $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; - } else { - $843 = ((($837)) + 8|0); - $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(22480)>>2]|0; - $846 = ($844>>>0)<($845>>>0); - if (!($846)) { - $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; - break; - } - _abort(); - // unreachable; - } - } while(0); - HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; - $847 = ((($$0295$i$i)) + 12|0); - HEAP32[$847>>2] = $721; - $848 = ((($721)) + 8|0); - HEAP32[$848>>2] = $$0295$i$i; - $849 = ((($721)) + 12|0); - HEAP32[$849>>2] = $837; - break; - } - $850 = $$0287$i$i >>> 8; - $851 = ($850|0)==(0); - do { - if ($851) { - $$0296$i$i = 0; - } else { - $852 = ($$0287$i$i>>>0)>(16777215); - if ($852) { - $$0296$i$i = 31; - break; - } - $853 = (($850) + 1048320)|0; - $854 = $853 >>> 16; - $855 = $854 & 8; - $856 = $850 << $855; - $857 = (($856) + 520192)|0; - $858 = $857 >>> 16; - $859 = $858 & 4; - $860 = $859 | $855; - $861 = $856 << $859; - $862 = (($861) + 245760)|0; - $863 = $862 >>> 16; - $864 = $863 & 2; - $865 = $860 | $864; - $866 = (14 - ($865))|0; - $867 = $861 << $864; - $868 = $867 >>> 15; - $869 = (($866) + ($868))|0; - $870 = $869 << 1; - $871 = (($869) + 7)|0; - $872 = $$0287$i$i >>> $871; - $873 = $872 & 1; - $874 = $873 | $870; - $$0296$i$i = $874; - } - } while(0); - $875 = (22768 + ($$0296$i$i<<2)|0); - $876 = ((($721)) + 28|0); - HEAP32[$876>>2] = $$0296$i$i; - $877 = ((($721)) + 16|0); - $878 = ((($877)) + 4|0); - HEAP32[$878>>2] = 0; - HEAP32[$877>>2] = 0; - $879 = HEAP32[(22468)>>2]|0; - $880 = 1 << $$0296$i$i; - $881 = $879 & $880; - $882 = ($881|0)==(0); - if ($882) { - $883 = $879 | $880; - HEAP32[(22468)>>2] = $883; - HEAP32[$875>>2] = $721; - $884 = ((($721)) + 24|0); - HEAP32[$884>>2] = $875; - $885 = ((($721)) + 12|0); - HEAP32[$885>>2] = $721; - $886 = ((($721)) + 8|0); - HEAP32[$886>>2] = $721; - break; - } - $887 = HEAP32[$875>>2]|0; - $888 = ($$0296$i$i|0)==(31); - $889 = $$0296$i$i >>> 1; - $890 = (25 - ($889))|0; - $891 = $888 ? 0 : $890; - $892 = $$0287$i$i << $891; - $$0288$i$i = $892;$$0289$i$i = $887; - while(1) { - $893 = ((($$0289$i$i)) + 4|0); - $894 = HEAP32[$893>>2]|0; - $895 = $894 & -8; - $896 = ($895|0)==($$0287$i$i|0); - if ($896) { - label = 265; - break; - } - $897 = $$0288$i$i >>> 31; - $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); - $899 = $$0288$i$i << 1; - $900 = HEAP32[$898>>2]|0; - $901 = ($900|0)==(0|0); - if ($901) { - label = 262; - break; - } else { - $$0288$i$i = $899;$$0289$i$i = $900; - } - } - if ((label|0) == 262) { - $902 = HEAP32[(22480)>>2]|0; - $903 = ($898>>>0)<($902>>>0); - if ($903) { - _abort(); - // unreachable; - } else { - HEAP32[$898>>2] = $721; - $904 = ((($721)) + 24|0); - HEAP32[$904>>2] = $$0289$i$i; - $905 = ((($721)) + 12|0); - HEAP32[$905>>2] = $721; - $906 = ((($721)) + 8|0); - HEAP32[$906>>2] = $721; - break; - } - } - else if ((label|0) == 265) { - $907 = ((($$0289$i$i)) + 8|0); - $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(22480)>>2]|0; - $910 = ($908>>>0)>=($909>>>0); - $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); - $911 = $910 & $not$7$i$i; - if ($911) { - $912 = ((($908)) + 12|0); - HEAP32[$912>>2] = $721; - HEAP32[$907>>2] = $721; - $913 = ((($721)) + 8|0); - HEAP32[$913>>2] = $908; - $914 = ((($721)) + 12|0); - HEAP32[$914>>2] = $$0289$i$i; - $915 = ((($721)) + 24|0); - HEAP32[$915>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $1047 = ((($709)) + 8|0); - $$0 = $1047; - STACKTOP = sp;return ($$0|0); - } - } - $$0$i$i$i = (22912); - while(1) { - $916 = HEAP32[$$0$i$i$i>>2]|0; - $917 = ($916>>>0)>($630>>>0); - if (!($917)) { - $918 = ((($$0$i$i$i)) + 4|0); - $919 = HEAP32[$918>>2]|0; - $920 = (($916) + ($919)|0); - $921 = ($920>>>0)>($630>>>0); - if ($921) { - break; - } - } - $922 = ((($$0$i$i$i)) + 8|0); - $923 = HEAP32[$922>>2]|0; - $$0$i$i$i = $923; - } - $924 = ((($920)) + -47|0); - $925 = ((($924)) + 8|0); - $926 = $925; - $927 = $926 & 7; - $928 = ($927|0)==(0); - $929 = (0 - ($926))|0; - $930 = $929 & 7; - $931 = $928 ? 0 : $930; - $932 = (($924) + ($931)|0); - $933 = ((($630)) + 16|0); - $934 = ($932>>>0)<($933>>>0); - $935 = $934 ? $630 : $932; - $936 = ((($935)) + 8|0); - $937 = ((($935)) + 24|0); - $938 = (($$723948$i) + -40)|0; - $939 = ((($$749$i)) + 8|0); - $940 = $939; - $941 = $940 & 7; - $942 = ($941|0)==(0); - $943 = (0 - ($940))|0; - $944 = $943 & 7; - $945 = $942 ? 0 : $944; - $946 = (($$749$i) + ($945)|0); - $947 = (($938) - ($945))|0; - HEAP32[(22488)>>2] = $946; - HEAP32[(22476)>>2] = $947; - $948 = $947 | 1; - $949 = ((($946)) + 4|0); - HEAP32[$949>>2] = $948; - $950 = (($946) + ($947)|0); - $951 = ((($950)) + 4|0); - HEAP32[$951>>2] = 40; - $952 = HEAP32[(22952)>>2]|0; - HEAP32[(22492)>>2] = $952; - $953 = ((($935)) + 4|0); - HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22912)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22912)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22912)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22912)+12>>2]|0; - HEAP32[(22912)>>2] = $$749$i; - HEAP32[(22916)>>2] = $$723948$i; - HEAP32[(22924)>>2] = 0; - HEAP32[(22920)>>2] = $936; - $955 = $937; - while(1) { - $954 = ((($955)) + 4|0); - HEAP32[$954>>2] = 7; - $956 = ((($955)) + 8|0); - $957 = ($956>>>0)<($920>>>0); - if ($957) { - $955 = $954; - } else { - break; - } - } - $958 = ($935|0)==($630|0); - if (!($958)) { - $959 = $935; - $960 = $630; - $961 = (($959) - ($960))|0; - $962 = HEAP32[$953>>2]|0; - $963 = $962 & -2; - HEAP32[$953>>2] = $963; - $964 = $961 | 1; - $965 = ((($630)) + 4|0); - HEAP32[$965>>2] = $964; - HEAP32[$935>>2] = $961; - $966 = $961 >>> 3; - $967 = ($961>>>0)<(256); - if ($967) { - $968 = $966 << 1; - $969 = (22504 + ($968<<2)|0); - $970 = HEAP32[5616]|0; - $971 = 1 << $966; - $972 = $970 & $971; - $973 = ($972|0)==(0); - if ($973) { - $974 = $970 | $971; - HEAP32[5616] = $974; - $$pre$i$i = ((($969)) + 8|0); - $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; - } else { - $975 = ((($969)) + 8|0); - $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(22480)>>2]|0; - $978 = ($976>>>0)<($977>>>0); - if ($978) { - _abort(); - // unreachable; - } else { - $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; - } - } - HEAP32[$$pre$phi$i$iZ2D>>2] = $630; - $979 = ((($$0211$i$i)) + 12|0); - HEAP32[$979>>2] = $630; - $980 = ((($630)) + 8|0); - HEAP32[$980>>2] = $$0211$i$i; - $981 = ((($630)) + 12|0); - HEAP32[$981>>2] = $969; - break; - } - $982 = $961 >>> 8; - $983 = ($982|0)==(0); - if ($983) { - $$0212$i$i = 0; - } else { - $984 = ($961>>>0)>(16777215); - if ($984) { - $$0212$i$i = 31; - } else { - $985 = (($982) + 1048320)|0; - $986 = $985 >>> 16; - $987 = $986 & 8; - $988 = $982 << $987; - $989 = (($988) + 520192)|0; - $990 = $989 >>> 16; - $991 = $990 & 4; - $992 = $991 | $987; - $993 = $988 << $991; - $994 = (($993) + 245760)|0; - $995 = $994 >>> 16; - $996 = $995 & 2; - $997 = $992 | $996; - $998 = (14 - ($997))|0; - $999 = $993 << $996; - $1000 = $999 >>> 15; - $1001 = (($998) + ($1000))|0; - $1002 = $1001 << 1; - $1003 = (($1001) + 7)|0; - $1004 = $961 >>> $1003; - $1005 = $1004 & 1; - $1006 = $1005 | $1002; - $$0212$i$i = $1006; - } - } - $1007 = (22768 + ($$0212$i$i<<2)|0); - $1008 = ((($630)) + 28|0); - HEAP32[$1008>>2] = $$0212$i$i; - $1009 = ((($630)) + 20|0); - HEAP32[$1009>>2] = 0; - HEAP32[$933>>2] = 0; - $1010 = HEAP32[(22468)>>2]|0; - $1011 = 1 << $$0212$i$i; - $1012 = $1010 & $1011; - $1013 = ($1012|0)==(0); - if ($1013) { - $1014 = $1010 | $1011; - HEAP32[(22468)>>2] = $1014; - HEAP32[$1007>>2] = $630; - $1015 = ((($630)) + 24|0); - HEAP32[$1015>>2] = $1007; - $1016 = ((($630)) + 12|0); - HEAP32[$1016>>2] = $630; - $1017 = ((($630)) + 8|0); - HEAP32[$1017>>2] = $630; - break; - } - $1018 = HEAP32[$1007>>2]|0; - $1019 = ($$0212$i$i|0)==(31); - $1020 = $$0212$i$i >>> 1; - $1021 = (25 - ($1020))|0; - $1022 = $1019 ? 0 : $1021; - $1023 = $961 << $1022; - $$0206$i$i = $1023;$$0207$i$i = $1018; - while(1) { - $1024 = ((($$0207$i$i)) + 4|0); - $1025 = HEAP32[$1024>>2]|0; - $1026 = $1025 & -8; - $1027 = ($1026|0)==($961|0); - if ($1027) { - label = 292; - break; - } - $1028 = $$0206$i$i >>> 31; - $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); - $1030 = $$0206$i$i << 1; - $1031 = HEAP32[$1029>>2]|0; - $1032 = ($1031|0)==(0|0); - if ($1032) { - label = 289; - break; - } else { - $$0206$i$i = $1030;$$0207$i$i = $1031; - } - } - if ((label|0) == 289) { - $1033 = HEAP32[(22480)>>2]|0; - $1034 = ($1029>>>0)<($1033>>>0); - if ($1034) { - _abort(); - // unreachable; - } else { - HEAP32[$1029>>2] = $630; - $1035 = ((($630)) + 24|0); - HEAP32[$1035>>2] = $$0207$i$i; - $1036 = ((($630)) + 12|0); - HEAP32[$1036>>2] = $630; - $1037 = ((($630)) + 8|0); - HEAP32[$1037>>2] = $630; - break; - } - } - else if ((label|0) == 292) { - $1038 = ((($$0207$i$i)) + 8|0); - $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(22480)>>2]|0; - $1041 = ($1039>>>0)>=($1040>>>0); - $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); - $1042 = $1041 & $not$$i$i; - if ($1042) { - $1043 = ((($1039)) + 12|0); - HEAP32[$1043>>2] = $630; - HEAP32[$1038>>2] = $630; - $1044 = ((($630)) + 8|0); - HEAP32[$1044>>2] = $1039; - $1045 = ((($630)) + 12|0); - HEAP32[$1045>>2] = $$0207$i$i; - $1046 = ((($630)) + 24|0); - HEAP32[$1046>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } - } while(0); - $1048 = HEAP32[(22476)>>2]|0; - $1049 = ($1048>>>0)>($$0197>>>0); - if ($1049) { - $1050 = (($1048) - ($$0197))|0; - HEAP32[(22476)>>2] = $1050; - $1051 = HEAP32[(22488)>>2]|0; - $1052 = (($1051) + ($$0197)|0); - HEAP32[(22488)>>2] = $1052; - $1053 = $1050 | 1; - $1054 = ((($1052)) + 4|0); - HEAP32[$1054>>2] = $1053; - $1055 = $$0197 | 3; - $1056 = ((($1051)) + 4|0); - HEAP32[$1056>>2] = $1055; - $1057 = ((($1051)) + 8|0); - $$0 = $1057; - STACKTOP = sp;return ($$0|0); - } - } - $1058 = (___errno_location()|0); - HEAP32[$1058>>2] = 12; - $$0 = 0; - STACKTOP = sp;return ($$0|0); -} -function _free($0) { - $0 = $0|0; - var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; - var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; - var $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, $131 = 0; - var $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, $15 = 0; - var $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, $168 = 0; - var $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, $186 = 0; - var $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, $203 = 0; - var $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, $221 = 0; - var $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, $24 = 0; - var $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, $258 = 0; - var $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, $276 = 0; - var $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, $294 = 0; - var $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, $311 = 0; - var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; - var $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, $60 = 0, $61 = 0; - var $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, $79 = 0, $8 = 0; - var $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, $97 = 0, $98 = 0; - var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = ($0|0)==(0|0); - if ($1) { - return; - } - $2 = ((($0)) + -8|0); - $3 = HEAP32[(22480)>>2]|0; - $4 = ($2>>>0)<($3>>>0); - if ($4) { - _abort(); - // unreachable; - } - $5 = ((($0)) + -4|0); - $6 = HEAP32[$5>>2]|0; - $7 = $6 & 3; - $8 = ($7|0)==(1); - if ($8) { - _abort(); - // unreachable; - } - $9 = $6 & -8; - $10 = (($2) + ($9)|0); - $11 = $6 & 1; - $12 = ($11|0)==(0); - L10: do { - if ($12) { - $13 = HEAP32[$2>>2]|0; - $14 = ($7|0)==(0); - if ($14) { - return; - } - $15 = (0 - ($13))|0; - $16 = (($2) + ($15)|0); - $17 = (($13) + ($9))|0; - $18 = ($16>>>0)<($3>>>0); - if ($18) { - _abort(); - // unreachable; - } - $19 = HEAP32[(22484)>>2]|0; - $20 = ($16|0)==($19|0); - if ($20) { - $104 = ((($10)) + 4|0); - $105 = HEAP32[$104>>2]|0; - $106 = $105 & 3; - $107 = ($106|0)==(3); - if (!($107)) { - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $108 = (($16) + ($17)|0); - $109 = ((($16)) + 4|0); - $110 = $17 | 1; - $111 = $105 & -2; - HEAP32[(22472)>>2] = $17; - HEAP32[$104>>2] = $111; - HEAP32[$109>>2] = $110; - HEAP32[$108>>2] = $17; - return; - } - $21 = $13 >>> 3; - $22 = ($13>>>0)<(256); - if ($22) { - $23 = ((($16)) + 8|0); - $24 = HEAP32[$23>>2]|0; - $25 = ((($16)) + 12|0); - $26 = HEAP32[$25>>2]|0; - $27 = $21 << 1; - $28 = (22504 + ($27<<2)|0); - $29 = ($24|0)==($28|0); - if (!($29)) { - $30 = ($24>>>0)<($3>>>0); - if ($30) { - _abort(); - // unreachable; - } - $31 = ((($24)) + 12|0); - $32 = HEAP32[$31>>2]|0; - $33 = ($32|0)==($16|0); - if (!($33)) { - _abort(); - // unreachable; - } - } - $34 = ($26|0)==($24|0); - if ($34) { - $35 = 1 << $21; - $36 = $35 ^ -1; - $37 = HEAP32[5616]|0; - $38 = $37 & $36; - HEAP32[5616] = $38; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $39 = ($26|0)==($28|0); - if ($39) { - $$pre444 = ((($26)) + 8|0); - $$pre$phi445Z2D = $$pre444; - } else { - $40 = ($26>>>0)<($3>>>0); - if ($40) { - _abort(); - // unreachable; - } - $41 = ((($26)) + 8|0); - $42 = HEAP32[$41>>2]|0; - $43 = ($42|0)==($16|0); - if ($43) { - $$pre$phi445Z2D = $41; - } else { - _abort(); - // unreachable; - } - } - $44 = ((($24)) + 12|0); - HEAP32[$44>>2] = $26; - HEAP32[$$pre$phi445Z2D>>2] = $24; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - $45 = ((($16)) + 24|0); - $46 = HEAP32[$45>>2]|0; - $47 = ((($16)) + 12|0); - $48 = HEAP32[$47>>2]|0; - $49 = ($48|0)==($16|0); - do { - if ($49) { - $59 = ((($16)) + 16|0); - $60 = ((($59)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = ($61|0)==(0|0); - if ($62) { - $63 = HEAP32[$59>>2]|0; - $64 = ($63|0)==(0|0); - if ($64) { - $$3 = 0; - break; - } else { - $$1387 = $63;$$1390 = $59; - } - } else { - $$1387 = $61;$$1390 = $60; - } - while(1) { - $65 = ((($$1387)) + 20|0); - $66 = HEAP32[$65>>2]|0; - $67 = ($66|0)==(0|0); - if (!($67)) { - $$1387 = $66;$$1390 = $65; - continue; - } - $68 = ((($$1387)) + 16|0); - $69 = HEAP32[$68>>2]|0; - $70 = ($69|0)==(0|0); - if ($70) { - break; - } else { - $$1387 = $69;$$1390 = $68; - } - } - $71 = ($$1390>>>0)<($3>>>0); - if ($71) { - _abort(); - // unreachable; - } else { - HEAP32[$$1390>>2] = 0; - $$3 = $$1387; - break; - } - } else { - $50 = ((($16)) + 8|0); - $51 = HEAP32[$50>>2]|0; - $52 = ($51>>>0)<($3>>>0); - if ($52) { - _abort(); - // unreachable; - } - $53 = ((($51)) + 12|0); - $54 = HEAP32[$53>>2]|0; - $55 = ($54|0)==($16|0); - if (!($55)) { - _abort(); - // unreachable; - } - $56 = ((($48)) + 8|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==($16|0); - if ($58) { - HEAP32[$53>>2] = $48; - HEAP32[$56>>2] = $51; - $$3 = $48; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $72 = ($46|0)==(0|0); - if ($72) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $73 = ((($16)) + 28|0); - $74 = HEAP32[$73>>2]|0; - $75 = (22768 + ($74<<2)|0); - $76 = HEAP32[$75>>2]|0; - $77 = ($16|0)==($76|0); - do { - if ($77) { - HEAP32[$75>>2] = $$3; - $cond421 = ($$3|0)==(0|0); - if ($cond421) { - $78 = 1 << $74; - $79 = $78 ^ -1; - $80 = HEAP32[(22468)>>2]|0; - $81 = $80 & $79; - HEAP32[(22468)>>2] = $81; - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } - } else { - $82 = HEAP32[(22480)>>2]|0; - $83 = ($46>>>0)<($82>>>0); - if ($83) { - _abort(); - // unreachable; - } else { - $84 = ((($46)) + 16|0); - $85 = HEAP32[$84>>2]|0; - $not$405 = ($85|0)!=($16|0); - $$sink3 = $not$405&1; - $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); - HEAP32[$86>>2] = $$3; - $87 = ($$3|0)==(0|0); - if ($87) { - $$1 = $16;$$1382 = $17;$113 = $16; - break L10; - } else { - break; - } - } - } - } while(0); - $88 = HEAP32[(22480)>>2]|0; - $89 = ($$3>>>0)<($88>>>0); - if ($89) { - _abort(); - // unreachable; - } - $90 = ((($$3)) + 24|0); - HEAP32[$90>>2] = $46; - $91 = ((($16)) + 16|0); - $92 = HEAP32[$91>>2]|0; - $93 = ($92|0)==(0|0); - do { - if (!($93)) { - $94 = ($92>>>0)<($88>>>0); - if ($94) { - _abort(); - // unreachable; - } else { - $95 = ((($$3)) + 16|0); - HEAP32[$95>>2] = $92; - $96 = ((($92)) + 24|0); - HEAP32[$96>>2] = $$3; - break; - } - } - } while(0); - $97 = ((($91)) + 4|0); - $98 = HEAP32[$97>>2]|0; - $99 = ($98|0)==(0|0); - if ($99) { - $$1 = $16;$$1382 = $17;$113 = $16; - } else { - $100 = HEAP32[(22480)>>2]|0; - $101 = ($98>>>0)<($100>>>0); - if ($101) { - _abort(); - // unreachable; - } else { - $102 = ((($$3)) + 20|0); - HEAP32[$102>>2] = $98; - $103 = ((($98)) + 24|0); - HEAP32[$103>>2] = $$3; - $$1 = $16;$$1382 = $17;$113 = $16; - break; - } - } - } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; - } - } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { - _abort(); - // unreachable; - } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { - _abort(); - // unreachable; - } - $118 = $115 & 2; - $119 = ($118|0)==(0); - if ($119) { - $120 = HEAP32[(22488)>>2]|0; - $121 = ($10|0)==($120|0); - $122 = HEAP32[(22484)>>2]|0; - if ($121) { - $123 = HEAP32[(22476)>>2]|0; - $124 = (($123) + ($$1382))|0; - HEAP32[(22476)>>2] = $124; - HEAP32[(22488)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = ($$1|0)==($122|0); - if (!($127)) { - return; - } - HEAP32[(22484)>>2] = 0; - HEAP32[(22472)>>2] = 0; - return; - } - $128 = ($10|0)==($122|0); - if ($128) { - $129 = HEAP32[(22472)>>2]|0; - $130 = (($129) + ($$1382))|0; - HEAP32[(22472)>>2] = $130; - HEAP32[(22484)>>2] = $113; - $131 = $130 | 1; - $132 = ((($$1)) + 4|0); - HEAP32[$132>>2] = $131; - $133 = (($113) + ($130)|0); - HEAP32[$133>>2] = $130; - return; - } - $134 = $115 & -8; - $135 = (($134) + ($$1382))|0; - $136 = $115 >>> 3; - $137 = ($115>>>0)<(256); - L108: do { - if ($137) { - $138 = ((($10)) + 8|0); - $139 = HEAP32[$138>>2]|0; - $140 = ((($10)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = $136 << 1; - $143 = (22504 + ($142<<2)|0); - $144 = ($139|0)==($143|0); - if (!($144)) { - $145 = HEAP32[(22480)>>2]|0; - $146 = ($139>>>0)<($145>>>0); - if ($146) { - _abort(); - // unreachable; - } - $147 = ((($139)) + 12|0); - $148 = HEAP32[$147>>2]|0; - $149 = ($148|0)==($10|0); - if (!($149)) { - _abort(); - // unreachable; - } - } - $150 = ($141|0)==($139|0); - if ($150) { - $151 = 1 << $136; - $152 = $151 ^ -1; - $153 = HEAP32[5616]|0; - $154 = $153 & $152; - HEAP32[5616] = $154; - break; - } - $155 = ($141|0)==($143|0); - if ($155) { - $$pre442 = ((($141)) + 8|0); - $$pre$phi443Z2D = $$pre442; - } else { - $156 = HEAP32[(22480)>>2]|0; - $157 = ($141>>>0)<($156>>>0); - if ($157) { - _abort(); - // unreachable; - } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; - } else { - _abort(); - // unreachable; - } - } - $161 = ((($139)) + 12|0); - HEAP32[$161>>2] = $141; - HEAP32[$$pre$phi443Z2D>>2] = $139; - } else { - $162 = ((($10)) + 24|0); - $163 = HEAP32[$162>>2]|0; - $164 = ((($10)) + 12|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165|0)==($10|0); - do { - if ($166) { - $177 = ((($10)) + 16|0); - $178 = ((($177)) + 4|0); - $179 = HEAP32[$178>>2]|0; - $180 = ($179|0)==(0|0); - if ($180) { - $181 = HEAP32[$177>>2]|0; - $182 = ($181|0)==(0|0); - if ($182) { - $$3400 = 0; - break; - } else { - $$1398 = $181;$$1402 = $177; - } - } else { - $$1398 = $179;$$1402 = $178; - } - while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; - continue; - } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { - break; - } else { - $$1398 = $187;$$1402 = $186; - } - } - $189 = HEAP32[(22480)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { - _abort(); - // unreachable; - } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; - break; - } - } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(22480)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { - _abort(); - // unreachable; - } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { - _abort(); - // unreachable; - } - $174 = ((($165)) + 8|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==($10|0); - if ($176) { - HEAP32[$171>>2] = $165; - HEAP32[$174>>2] = $168; - $$3400 = $165; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $191 = ($163|0)==(0|0); - if (!($191)) { - $192 = ((($10)) + 28|0); - $193 = HEAP32[$192>>2]|0; - $194 = (22768 + ($193<<2)|0); - $195 = HEAP32[$194>>2]|0; - $196 = ($10|0)==($195|0); - do { - if ($196) { - HEAP32[$194>>2] = $$3400; - $cond422 = ($$3400|0)==(0|0); - if ($cond422) { - $197 = 1 << $193; - $198 = $197 ^ -1; - $199 = HEAP32[(22468)>>2]|0; - $200 = $199 & $198; - HEAP32[(22468)>>2] = $200; - break L108; - } - } else { - $201 = HEAP32[(22480)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { - _abort(); - // unreachable; - } else { - $203 = ((($163)) + 16|0); - $204 = HEAP32[$203>>2]|0; - $not$ = ($204|0)!=($10|0); - $$sink5 = $not$&1; - $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); - HEAP32[$205>>2] = $$3400; - $206 = ($$3400|0)==(0|0); - if ($206) { - break L108; - } else { - break; - } - } - } - } while(0); - $207 = HEAP32[(22480)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { - _abort(); - // unreachable; - } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); - do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { - _abort(); - // unreachable; - } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; - break; - } - } - } while(0); - $216 = ((($210)) + 4|0); - $217 = HEAP32[$216>>2]|0; - $218 = ($217|0)==(0|0); - if (!($218)) { - $219 = HEAP32[(22480)>>2]|0; - $220 = ($217>>>0)<($219>>>0); - if ($220) { - _abort(); - // unreachable; - } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; - break; - } - } - } - } - } while(0); - $223 = $135 | 1; - $224 = ((($$1)) + 4|0); - HEAP32[$224>>2] = $223; - $225 = (($113) + ($135)|0); - HEAP32[$225>>2] = $135; - $226 = HEAP32[(22484)>>2]|0; - $227 = ($$1|0)==($226|0); - if ($227) { - HEAP32[(22472)>>2] = $135; - return; - } else { - $$2 = $135; - } - } else { - $228 = $115 & -2; - HEAP32[$114>>2] = $228; - $229 = $$1382 | 1; - $230 = ((($$1)) + 4|0); - HEAP32[$230>>2] = $229; - $231 = (($113) + ($$1382)|0); - HEAP32[$231>>2] = $$1382; - $$2 = $$1382; - } - $232 = $$2 >>> 3; - $233 = ($$2>>>0)<(256); - if ($233) { - $234 = $232 << 1; - $235 = (22504 + ($234<<2)|0); - $236 = HEAP32[5616]|0; - $237 = 1 << $232; - $238 = $236 & $237; - $239 = ($238|0)==(0); - if ($239) { - $240 = $236 | $237; - HEAP32[5616] = $240; - $$pre = ((($235)) + 8|0); - $$0403 = $235;$$pre$phiZ2D = $$pre; - } else { - $241 = ((($235)) + 8|0); - $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(22480)>>2]|0; - $244 = ($242>>>0)<($243>>>0); - if ($244) { - _abort(); - // unreachable; - } else { - $$0403 = $242;$$pre$phiZ2D = $241; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $245 = ((($$0403)) + 12|0); - HEAP32[$245>>2] = $$1; - $246 = ((($$1)) + 8|0); - HEAP32[$246>>2] = $$0403; - $247 = ((($$1)) + 12|0); - HEAP32[$247>>2] = $235; - return; - } - $248 = $$2 >>> 8; - $249 = ($248|0)==(0); - if ($249) { - $$0396 = 0; - } else { - $250 = ($$2>>>0)>(16777215); - if ($250) { - $$0396 = 31; - } else { - $251 = (($248) + 1048320)|0; - $252 = $251 >>> 16; - $253 = $252 & 8; - $254 = $248 << $253; - $255 = (($254) + 520192)|0; - $256 = $255 >>> 16; - $257 = $256 & 4; - $258 = $257 | $253; - $259 = $254 << $257; - $260 = (($259) + 245760)|0; - $261 = $260 >>> 16; - $262 = $261 & 2; - $263 = $258 | $262; - $264 = (14 - ($263))|0; - $265 = $259 << $262; - $266 = $265 >>> 15; - $267 = (($264) + ($266))|0; - $268 = $267 << 1; - $269 = (($267) + 7)|0; - $270 = $$2 >>> $269; - $271 = $270 & 1; - $272 = $271 | $268; - $$0396 = $272; - } - } - $273 = (22768 + ($$0396<<2)|0); - $274 = ((($$1)) + 28|0); - HEAP32[$274>>2] = $$0396; - $275 = ((($$1)) + 16|0); - $276 = ((($$1)) + 20|0); - HEAP32[$276>>2] = 0; - HEAP32[$275>>2] = 0; - $277 = HEAP32[(22468)>>2]|0; - $278 = 1 << $$0396; - $279 = $277 & $278; - $280 = ($279|0)==(0); - do { - if ($280) { - $281 = $277 | $278; - HEAP32[(22468)>>2] = $281; - HEAP32[$273>>2] = $$1; - $282 = ((($$1)) + 24|0); - HEAP32[$282>>2] = $273; - $283 = ((($$1)) + 12|0); - HEAP32[$283>>2] = $$1; - $284 = ((($$1)) + 8|0); - HEAP32[$284>>2] = $$1; - } else { - $285 = HEAP32[$273>>2]|0; - $286 = ($$0396|0)==(31); - $287 = $$0396 >>> 1; - $288 = (25 - ($287))|0; - $289 = $286 ? 0 : $288; - $290 = $$2 << $289; - $$0383 = $290;$$0384 = $285; - while(1) { - $291 = ((($$0384)) + 4|0); - $292 = HEAP32[$291>>2]|0; - $293 = $292 & -8; - $294 = ($293|0)==($$2|0); - if ($294) { - label = 124; - break; - } - $295 = $$0383 >>> 31; - $296 = (((($$0384)) + 16|0) + ($295<<2)|0); - $297 = $$0383 << 1; - $298 = HEAP32[$296>>2]|0; - $299 = ($298|0)==(0|0); - if ($299) { - label = 121; - break; - } else { - $$0383 = $297;$$0384 = $298; - } - } - if ((label|0) == 121) { - $300 = HEAP32[(22480)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; - } else { - HEAP32[$296>>2] = $$1; - $302 = ((($$1)) + 24|0); - HEAP32[$302>>2] = $$0384; - $303 = ((($$1)) + 12|0); - HEAP32[$303>>2] = $$1; - $304 = ((($$1)) + 8|0); - HEAP32[$304>>2] = $$1; - break; - } - } - else if ((label|0) == 124) { - $305 = ((($$0384)) + 8|0); - $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(22480)>>2]|0; - $308 = ($306>>>0)>=($307>>>0); - $not$437 = ($$0384>>>0)>=($307>>>0); - $309 = $308 & $not$437; - if ($309) { - $310 = ((($306)) + 12|0); - HEAP32[$310>>2] = $$1; - HEAP32[$305>>2] = $$1; - $311 = ((($$1)) + 8|0); - HEAP32[$311>>2] = $306; - $312 = ((($$1)) + 12|0); - HEAP32[$312>>2] = $$0384; - $313 = ((($$1)) + 24|0); - HEAP32[$313>>2] = 0; - break; - } else { - _abort(); - // unreachable; - } - } - } - } while(0); - $314 = HEAP32[(22496)>>2]|0; - $315 = (($314) + -1)|0; - HEAP32[(22496)>>2] = $315; - $316 = ($315|0)==(0); - if ($316) { - $$0212$in$i = (22920); - } else { - return; - } - while(1) { - $$0212$i = HEAP32[$$0212$in$i>>2]|0; - $317 = ($$0212$i|0)==(0|0); - $318 = ((($$0212$i)) + 8|0); - if ($317) { - break; - } else { - $$0212$in$i = $318; - } - } - HEAP32[(22496)>>2] = -1; - return; -} -function _realloc($0,$1) { - $0 = $0|0; - $1 = $1|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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; - var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ($0|0)==(0|0); - if ($2) { - $3 = (_malloc($1)|0); - $$1 = $3; - return ($$1|0); - } - $4 = ($1>>>0)>(4294967231); - if ($4) { - $5 = (___errno_location()|0); - HEAP32[$5>>2] = 12; - $$1 = 0; - return ($$1|0); - } - $6 = ($1>>>0)<(11); - $7 = (($1) + 11)|0; - $8 = $7 & -8; - $9 = $6 ? 16 : $8; - $10 = ((($0)) + -8|0); - $11 = (_try_realloc_chunk($10,$9)|0); - $12 = ($11|0)==(0|0); - if (!($12)) { - $13 = ((($11)) + 8|0); - $$1 = $13; - return ($$1|0); - } - $14 = (_malloc($1)|0); - $15 = ($14|0)==(0|0); - if ($15) { - $$1 = 0; - return ($$1|0); - } - $16 = ((($0)) + -4|0); - $17 = HEAP32[$16>>2]|0; - $18 = $17 & -8; - $19 = $17 & 3; - $20 = ($19|0)==(0); - $21 = $20 ? 8 : 4; - $22 = (($18) - ($21))|0; - $23 = ($22>>>0)<($1>>>0); - $24 = $23 ? $22 : $1; - _memcpy(($14|0),($0|0),($24|0))|0; - _free($0); - $$1 = $14; - return ($$1|0); -} -function _try_realloc_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 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; - var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; - var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; - var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; - var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 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, $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; - var $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, $79 = 0, $8 = 0, $80 = 0; - var $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, $97 = 0, $98 = 0, $99 = 0; - var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($0)) + 4|0); - $3 = HEAP32[$2>>2]|0; - $4 = $3 & -8; - $5 = (($0) + ($4)|0); - $6 = HEAP32[(22480)>>2]|0; - $7 = $3 & 3; - $notlhs = ($0>>>0)>=($6>>>0); - $notrhs = ($7|0)!=(1); - $or$cond$not = $notrhs & $notlhs; - $8 = ($0>>>0)<($5>>>0); - $or$cond3 = $or$cond$not & $8; - if (!($or$cond3)) { - _abort(); - // unreachable; - } - $9 = ((($5)) + 4|0); - $10 = HEAP32[$9>>2]|0; - $11 = $10 & 1; - $12 = ($11|0)==(0); - if ($12) { - _abort(); - // unreachable; - } - $13 = ($7|0)==(0); - if ($13) { - $14 = ($1>>>0)<(256); - if ($14) { - $$2 = 0; - return ($$2|0); - } - $15 = (($1) + 4)|0; - $16 = ($4>>>0)<($15>>>0); - if (!($16)) { - $17 = (($4) - ($1))|0; - $18 = HEAP32[(22944)>>2]|0; - $19 = $18 << 1; - $20 = ($17>>>0)>($19>>>0); - if (!($20)) { - $$2 = $0; - return ($$2|0); - } - } - $$2 = 0; - return ($$2|0); - } - $21 = ($4>>>0)<($1>>>0); - if (!($21)) { - $22 = (($4) - ($1))|0; - $23 = ($22>>>0)>(15); - if (!($23)) { - $$2 = $0; - return ($$2|0); - } - $24 = (($0) + ($1)|0); - $25 = $3 & 1; - $26 = $25 | $1; - $27 = $26 | 2; - HEAP32[$2>>2] = $27; - $28 = ((($24)) + 4|0); - $29 = $22 | 3; - HEAP32[$28>>2] = $29; - $30 = (($24) + ($22)|0); - $31 = ((($30)) + 4|0); - $32 = HEAP32[$31>>2]|0; - $33 = $32 | 1; - HEAP32[$31>>2] = $33; - _dispose_chunk($24,$22); - $$2 = $0; - return ($$2|0); - } - $34 = HEAP32[(22488)>>2]|0; - $35 = ($5|0)==($34|0); - if ($35) { - $36 = HEAP32[(22476)>>2]|0; - $37 = (($36) + ($4))|0; - $38 = ($37>>>0)>($1>>>0); - $39 = (($37) - ($1))|0; - $40 = (($0) + ($1)|0); - if (!($38)) { - $$2 = 0; - return ($$2|0); - } - $41 = $39 | 1; - $42 = ((($40)) + 4|0); - $43 = $3 & 1; - $44 = $43 | $1; - $45 = $44 | 2; - HEAP32[$2>>2] = $45; - HEAP32[$42>>2] = $41; - HEAP32[(22488)>>2] = $40; - HEAP32[(22476)>>2] = $39; - $$2 = $0; - return ($$2|0); - } - $46 = HEAP32[(22484)>>2]|0; - $47 = ($5|0)==($46|0); - if ($47) { - $48 = HEAP32[(22472)>>2]|0; - $49 = (($48) + ($4))|0; - $50 = ($49>>>0)<($1>>>0); - if ($50) { - $$2 = 0; - return ($$2|0); - } - $51 = (($49) - ($1))|0; - $52 = ($51>>>0)>(15); - $53 = $3 & 1; - if ($52) { - $54 = (($0) + ($1)|0); - $55 = (($54) + ($51)|0); - $56 = $53 | $1; - $57 = $56 | 2; - HEAP32[$2>>2] = $57; - $58 = ((($54)) + 4|0); - $59 = $51 | 1; - HEAP32[$58>>2] = $59; - HEAP32[$55>>2] = $51; - $60 = ((($55)) + 4|0); - $61 = HEAP32[$60>>2]|0; - $62 = $61 & -2; - HEAP32[$60>>2] = $62; - $storemerge = $54;$storemerge1 = $51; - } else { - $63 = $53 | $49; - $64 = $63 | 2; - HEAP32[$2>>2] = $64; - $65 = (($0) + ($49)|0); - $66 = ((($65)) + 4|0); - $67 = HEAP32[$66>>2]|0; - $68 = $67 | 1; - HEAP32[$66>>2] = $68; - $storemerge = 0;$storemerge1 = 0; - } - HEAP32[(22472)>>2] = $storemerge1; - HEAP32[(22484)>>2] = $storemerge; - $$2 = $0; - return ($$2|0); - } - $69 = $10 & 2; - $70 = ($69|0)==(0); - if (!($70)) { - $$2 = 0; - return ($$2|0); - } - $71 = $10 & -8; - $72 = (($71) + ($4))|0; - $73 = ($72>>>0)<($1>>>0); - if ($73) { - $$2 = 0; - return ($$2|0); - } - $74 = (($72) - ($1))|0; - $75 = $10 >>> 3; - $76 = ($10>>>0)<(256); - L49: do { - if ($76) { - $77 = ((($5)) + 8|0); - $78 = HEAP32[$77>>2]|0; - $79 = ((($5)) + 12|0); - $80 = HEAP32[$79>>2]|0; - $81 = $75 << 1; - $82 = (22504 + ($81<<2)|0); - $83 = ($78|0)==($82|0); - if (!($83)) { - $84 = ($78>>>0)<($6>>>0); - if ($84) { - _abort(); - // unreachable; - } - $85 = ((($78)) + 12|0); - $86 = HEAP32[$85>>2]|0; - $87 = ($86|0)==($5|0); - if (!($87)) { - _abort(); - // unreachable; - } - } - $88 = ($80|0)==($78|0); - if ($88) { - $89 = 1 << $75; - $90 = $89 ^ -1; - $91 = HEAP32[5616]|0; - $92 = $91 & $90; - HEAP32[5616] = $92; - break; - } - $93 = ($80|0)==($82|0); - if ($93) { - $$pre = ((($80)) + 8|0); - $$pre$phiZ2D = $$pre; - } else { - $94 = ($80>>>0)<($6>>>0); - if ($94) { - _abort(); - // unreachable; - } - $95 = ((($80)) + 8|0); - $96 = HEAP32[$95>>2]|0; - $97 = ($96|0)==($5|0); - if ($97) { - $$pre$phiZ2D = $95; - } else { - _abort(); - // unreachable; - } - } - $98 = ((($78)) + 12|0); - HEAP32[$98>>2] = $80; - HEAP32[$$pre$phiZ2D>>2] = $78; - } else { - $99 = ((($5)) + 24|0); - $100 = HEAP32[$99>>2]|0; - $101 = ((($5)) + 12|0); - $102 = HEAP32[$101>>2]|0; - $103 = ($102|0)==($5|0); - do { - if ($103) { - $113 = ((($5)) + 16|0); - $114 = ((($113)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = ($115|0)==(0|0); - if ($116) { - $117 = HEAP32[$113>>2]|0; - $118 = ($117|0)==(0|0); - if ($118) { - $$3 = 0; - break; - } else { - $$1272 = $117;$$1275 = $113; - } - } else { - $$1272 = $115;$$1275 = $114; - } - while(1) { - $119 = ((($$1272)) + 20|0); - $120 = HEAP32[$119>>2]|0; - $121 = ($120|0)==(0|0); - if (!($121)) { - $$1272 = $120;$$1275 = $119; - continue; - } - $122 = ((($$1272)) + 16|0); - $123 = HEAP32[$122>>2]|0; - $124 = ($123|0)==(0|0); - if ($124) { - break; - } else { - $$1272 = $123;$$1275 = $122; - } - } - $125 = ($$1275>>>0)<($6>>>0); - if ($125) { - _abort(); - // unreachable; - } else { - HEAP32[$$1275>>2] = 0; - $$3 = $$1272; - break; - } - } else { - $104 = ((($5)) + 8|0); - $105 = HEAP32[$104>>2]|0; - $106 = ($105>>>0)<($6>>>0); - if ($106) { - _abort(); - // unreachable; - } - $107 = ((($105)) + 12|0); - $108 = HEAP32[$107>>2]|0; - $109 = ($108|0)==($5|0); - if (!($109)) { - _abort(); - // unreachable; - } - $110 = ((($102)) + 8|0); - $111 = HEAP32[$110>>2]|0; - $112 = ($111|0)==($5|0); - if ($112) { - HEAP32[$107>>2] = $102; - HEAP32[$110>>2] = $105; - $$3 = $102; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $126 = ($100|0)==(0|0); - if (!($126)) { - $127 = ((($5)) + 28|0); - $128 = HEAP32[$127>>2]|0; - $129 = (22768 + ($128<<2)|0); - $130 = HEAP32[$129>>2]|0; - $131 = ($5|0)==($130|0); - do { - if ($131) { - HEAP32[$129>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $132 = 1 << $128; - $133 = $132 ^ -1; - $134 = HEAP32[(22468)>>2]|0; - $135 = $134 & $133; - HEAP32[(22468)>>2] = $135; - break L49; - } - } else { - $136 = HEAP32[(22480)>>2]|0; - $137 = ($100>>>0)<($136>>>0); - if ($137) { - _abort(); - // unreachable; - } else { - $138 = ((($100)) + 16|0); - $139 = HEAP32[$138>>2]|0; - $not$ = ($139|0)!=($5|0); - $$sink1 = $not$&1; - $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); - HEAP32[$140>>2] = $$3; - $141 = ($$3|0)==(0|0); - if ($141) { - break L49; - } else { - break; - } - } - } - } while(0); - $142 = HEAP32[(22480)>>2]|0; - $143 = ($$3>>>0)<($142>>>0); - if ($143) { - _abort(); - // unreachable; - } - $144 = ((($$3)) + 24|0); - HEAP32[$144>>2] = $100; - $145 = ((($5)) + 16|0); - $146 = HEAP32[$145>>2]|0; - $147 = ($146|0)==(0|0); - do { - if (!($147)) { - $148 = ($146>>>0)<($142>>>0); - if ($148) { - _abort(); - // unreachable; - } else { - $149 = ((($$3)) + 16|0); - HEAP32[$149>>2] = $146; - $150 = ((($146)) + 24|0); - HEAP32[$150>>2] = $$3; - break; - } - } - } while(0); - $151 = ((($145)) + 4|0); - $152 = HEAP32[$151>>2]|0; - $153 = ($152|0)==(0|0); - if (!($153)) { - $154 = HEAP32[(22480)>>2]|0; - $155 = ($152>>>0)<($154>>>0); - if ($155) { - _abort(); - // unreachable; - } else { - $156 = ((($$3)) + 20|0); - HEAP32[$156>>2] = $152; - $157 = ((($152)) + 24|0); - HEAP32[$157>>2] = $$3; - break; - } - } - } - } - } while(0); - $158 = ($74>>>0)<(16); - $159 = $3 & 1; - if ($158) { - $160 = $72 | $159; - $161 = $160 | 2; - HEAP32[$2>>2] = $161; - $162 = (($0) + ($72)|0); - $163 = ((($162)) + 4|0); - $164 = HEAP32[$163>>2]|0; - $165 = $164 | 1; - HEAP32[$163>>2] = $165; - $$2 = $0; - return ($$2|0); - } else { - $166 = (($0) + ($1)|0); - $167 = $159 | $1; - $168 = $167 | 2; - HEAP32[$2>>2] = $168; - $169 = ((($166)) + 4|0); - $170 = $74 | 3; - HEAP32[$169>>2] = $170; - $171 = (($166) + ($74)|0); - $172 = ((($171)) + 4|0); - $173 = HEAP32[$172>>2]|0; - $174 = $173 | 1; - HEAP32[$172>>2] = $174; - _dispose_chunk($166,$74); - $$2 = $0; - return ($$2|0); - } - return (0)|0; -} -function _dispose_chunk($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; - var $$sink4 = 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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; - var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; - var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; - var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; - var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; - var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; - var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; - var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; - var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; - var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; - var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; - var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 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, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; - sp = STACKTOP; - $2 = (($0) + ($1)|0); - $3 = ((($0)) + 4|0); - $4 = HEAP32[$3>>2]|0; - $5 = $4 & 1; - $6 = ($5|0)==(0); - L1: do { - if ($6) { - $7 = HEAP32[$0>>2]|0; - $8 = $4 & 3; - $9 = ($8|0)==(0); - if ($9) { - return; - } - $10 = (0 - ($7))|0; - $11 = (($0) + ($10)|0); - $12 = (($7) + ($1))|0; - $13 = HEAP32[(22480)>>2]|0; - $14 = ($11>>>0)<($13>>>0); - if ($14) { - _abort(); - // unreachable; - } - $15 = HEAP32[(22484)>>2]|0; - $16 = ($11|0)==($15|0); - if ($16) { - $100 = ((($2)) + 4|0); - $101 = HEAP32[$100>>2]|0; - $102 = $101 & 3; - $103 = ($102|0)==(3); - if (!($103)) { - $$1 = $11;$$1418 = $12; - break; - } - $104 = (($11) + ($12)|0); - $105 = ((($11)) + 4|0); - $106 = $12 | 1; - $107 = $101 & -2; - HEAP32[(22472)>>2] = $12; - HEAP32[$100>>2] = $107; - HEAP32[$105>>2] = $106; - HEAP32[$104>>2] = $12; - return; - } - $17 = $7 >>> 3; - $18 = ($7>>>0)<(256); - if ($18) { - $19 = ((($11)) + 8|0); - $20 = HEAP32[$19>>2]|0; - $21 = ((($11)) + 12|0); - $22 = HEAP32[$21>>2]|0; - $23 = $17 << 1; - $24 = (22504 + ($23<<2)|0); - $25 = ($20|0)==($24|0); - if (!($25)) { - $26 = ($20>>>0)<($13>>>0); - if ($26) { - _abort(); - // unreachable; - } - $27 = ((($20)) + 12|0); - $28 = HEAP32[$27>>2]|0; - $29 = ($28|0)==($11|0); - if (!($29)) { - _abort(); - // unreachable; - } - } - $30 = ($22|0)==($20|0); - if ($30) { - $31 = 1 << $17; - $32 = $31 ^ -1; - $33 = HEAP32[5616]|0; - $34 = $33 & $32; - HEAP32[5616] = $34; - $$1 = $11;$$1418 = $12; - break; - } - $35 = ($22|0)==($24|0); - if ($35) { - $$pre25 = ((($22)) + 8|0); - $$pre$phi26Z2D = $$pre25; - } else { - $36 = ($22>>>0)<($13>>>0); - if ($36) { - _abort(); - // unreachable; - } - $37 = ((($22)) + 8|0); - $38 = HEAP32[$37>>2]|0; - $39 = ($38|0)==($11|0); - if ($39) { - $$pre$phi26Z2D = $37; - } else { - _abort(); - // unreachable; - } - } - $40 = ((($20)) + 12|0); - HEAP32[$40>>2] = $22; - HEAP32[$$pre$phi26Z2D>>2] = $20; - $$1 = $11;$$1418 = $12; - break; - } - $41 = ((($11)) + 24|0); - $42 = HEAP32[$41>>2]|0; - $43 = ((($11)) + 12|0); - $44 = HEAP32[$43>>2]|0; - $45 = ($44|0)==($11|0); - do { - if ($45) { - $55 = ((($11)) + 16|0); - $56 = ((($55)) + 4|0); - $57 = HEAP32[$56>>2]|0; - $58 = ($57|0)==(0|0); - if ($58) { - $59 = HEAP32[$55>>2]|0; - $60 = ($59|0)==(0|0); - if ($60) { - $$3 = 0; - break; - } else { - $$1426 = $59;$$1429 = $55; - } - } else { - $$1426 = $57;$$1429 = $56; - } - while(1) { - $61 = ((($$1426)) + 20|0); - $62 = HEAP32[$61>>2]|0; - $63 = ($62|0)==(0|0); - if (!($63)) { - $$1426 = $62;$$1429 = $61; - continue; - } - $64 = ((($$1426)) + 16|0); - $65 = HEAP32[$64>>2]|0; - $66 = ($65|0)==(0|0); - if ($66) { - break; - } else { - $$1426 = $65;$$1429 = $64; - } - } - $67 = ($$1429>>>0)<($13>>>0); - if ($67) { - _abort(); - // unreachable; - } else { - HEAP32[$$1429>>2] = 0; - $$3 = $$1426; - break; - } - } else { - $46 = ((($11)) + 8|0); - $47 = HEAP32[$46>>2]|0; - $48 = ($47>>>0)<($13>>>0); - if ($48) { - _abort(); - // unreachable; - } - $49 = ((($47)) + 12|0); - $50 = HEAP32[$49>>2]|0; - $51 = ($50|0)==($11|0); - if (!($51)) { - _abort(); - // unreachable; - } - $52 = ((($44)) + 8|0); - $53 = HEAP32[$52>>2]|0; - $54 = ($53|0)==($11|0); - if ($54) { - HEAP32[$49>>2] = $44; - HEAP32[$52>>2] = $47; - $$3 = $44; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $68 = ($42|0)==(0|0); - if ($68) { - $$1 = $11;$$1418 = $12; - } else { - $69 = ((($11)) + 28|0); - $70 = HEAP32[$69>>2]|0; - $71 = (22768 + ($70<<2)|0); - $72 = HEAP32[$71>>2]|0; - $73 = ($11|0)==($72|0); - do { - if ($73) { - HEAP32[$71>>2] = $$3; - $cond = ($$3|0)==(0|0); - if ($cond) { - $74 = 1 << $70; - $75 = $74 ^ -1; - $76 = HEAP32[(22468)>>2]|0; - $77 = $76 & $75; - HEAP32[(22468)>>2] = $77; - $$1 = $11;$$1418 = $12; - break L1; - } - } else { - $78 = HEAP32[(22480)>>2]|0; - $79 = ($42>>>0)<($78>>>0); - if ($79) { - _abort(); - // unreachable; - } else { - $80 = ((($42)) + 16|0); - $81 = HEAP32[$80>>2]|0; - $not$1 = ($81|0)!=($11|0); - $$sink2 = $not$1&1; - $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); - HEAP32[$82>>2] = $$3; - $83 = ($$3|0)==(0|0); - if ($83) { - $$1 = $11;$$1418 = $12; - break L1; - } else { - break; - } - } - } - } while(0); - $84 = HEAP32[(22480)>>2]|0; - $85 = ($$3>>>0)<($84>>>0); - if ($85) { - _abort(); - // unreachable; - } - $86 = ((($$3)) + 24|0); - HEAP32[$86>>2] = $42; - $87 = ((($11)) + 16|0); - $88 = HEAP32[$87>>2]|0; - $89 = ($88|0)==(0|0); - do { - if (!($89)) { - $90 = ($88>>>0)<($84>>>0); - if ($90) { - _abort(); - // unreachable; - } else { - $91 = ((($$3)) + 16|0); - HEAP32[$91>>2] = $88; - $92 = ((($88)) + 24|0); - HEAP32[$92>>2] = $$3; - break; - } - } - } while(0); - $93 = ((($87)) + 4|0); - $94 = HEAP32[$93>>2]|0; - $95 = ($94|0)==(0|0); - if ($95) { - $$1 = $11;$$1418 = $12; - } else { - $96 = HEAP32[(22480)>>2]|0; - $97 = ($94>>>0)<($96>>>0); - if ($97) { - _abort(); - // unreachable; - } else { - $98 = ((($$3)) + 20|0); - HEAP32[$98>>2] = $94; - $99 = ((($94)) + 24|0); - HEAP32[$99>>2] = $$3; - $$1 = $11;$$1418 = $12; - break; - } - } - } - } else { - $$1 = $0;$$1418 = $1; - } - } while(0); - $108 = HEAP32[(22480)>>2]|0; - $109 = ($2>>>0)<($108>>>0); - if ($109) { - _abort(); - // unreachable; - } - $110 = ((($2)) + 4|0); - $111 = HEAP32[$110>>2]|0; - $112 = $111 & 2; - $113 = ($112|0)==(0); - if ($113) { - $114 = HEAP32[(22488)>>2]|0; - $115 = ($2|0)==($114|0); - $116 = HEAP32[(22484)>>2]|0; - if ($115) { - $117 = HEAP32[(22476)>>2]|0; - $118 = (($117) + ($$1418))|0; - HEAP32[(22476)>>2] = $118; - HEAP32[(22488)>>2] = $$1; - $119 = $118 | 1; - $120 = ((($$1)) + 4|0); - HEAP32[$120>>2] = $119; - $121 = ($$1|0)==($116|0); - if (!($121)) { - return; - } - HEAP32[(22484)>>2] = 0; - HEAP32[(22472)>>2] = 0; - return; - } - $122 = ($2|0)==($116|0); - if ($122) { - $123 = HEAP32[(22472)>>2]|0; - $124 = (($123) + ($$1418))|0; - HEAP32[(22472)>>2] = $124; - HEAP32[(22484)>>2] = $$1; - $125 = $124 | 1; - $126 = ((($$1)) + 4|0); - HEAP32[$126>>2] = $125; - $127 = (($$1) + ($124)|0); - HEAP32[$127>>2] = $124; - return; - } - $128 = $111 & -8; - $129 = (($128) + ($$1418))|0; - $130 = $111 >>> 3; - $131 = ($111>>>0)<(256); - L96: do { - if ($131) { - $132 = ((($2)) + 8|0); - $133 = HEAP32[$132>>2]|0; - $134 = ((($2)) + 12|0); - $135 = HEAP32[$134>>2]|0; - $136 = $130 << 1; - $137 = (22504 + ($136<<2)|0); - $138 = ($133|0)==($137|0); - if (!($138)) { - $139 = ($133>>>0)<($108>>>0); - if ($139) { - _abort(); - // unreachable; - } - $140 = ((($133)) + 12|0); - $141 = HEAP32[$140>>2]|0; - $142 = ($141|0)==($2|0); - if (!($142)) { - _abort(); - // unreachable; - } - } - $143 = ($135|0)==($133|0); - if ($143) { - $144 = 1 << $130; - $145 = $144 ^ -1; - $146 = HEAP32[5616]|0; - $147 = $146 & $145; - HEAP32[5616] = $147; - break; - } - $148 = ($135|0)==($137|0); - if ($148) { - $$pre23 = ((($135)) + 8|0); - $$pre$phi24Z2D = $$pre23; - } else { - $149 = ($135>>>0)<($108>>>0); - if ($149) { - _abort(); - // unreachable; - } - $150 = ((($135)) + 8|0); - $151 = HEAP32[$150>>2]|0; - $152 = ($151|0)==($2|0); - if ($152) { - $$pre$phi24Z2D = $150; - } else { - _abort(); - // unreachable; - } - } - $153 = ((($133)) + 12|0); - HEAP32[$153>>2] = $135; - HEAP32[$$pre$phi24Z2D>>2] = $133; - } else { - $154 = ((($2)) + 24|0); - $155 = HEAP32[$154>>2]|0; - $156 = ((($2)) + 12|0); - $157 = HEAP32[$156>>2]|0; - $158 = ($157|0)==($2|0); - do { - if ($158) { - $168 = ((($2)) + 16|0); - $169 = ((($168)) + 4|0); - $170 = HEAP32[$169>>2]|0; - $171 = ($170|0)==(0|0); - if ($171) { - $172 = HEAP32[$168>>2]|0; - $173 = ($172|0)==(0|0); - if ($173) { - $$3435 = 0; - break; - } else { - $$1433 = $172;$$1437 = $168; - } - } else { - $$1433 = $170;$$1437 = $169; - } - while(1) { - $174 = ((($$1433)) + 20|0); - $175 = HEAP32[$174>>2]|0; - $176 = ($175|0)==(0|0); - if (!($176)) { - $$1433 = $175;$$1437 = $174; - continue; - } - $177 = ((($$1433)) + 16|0); - $178 = HEAP32[$177>>2]|0; - $179 = ($178|0)==(0|0); - if ($179) { - break; - } else { - $$1433 = $178;$$1437 = $177; - } - } - $180 = ($$1437>>>0)<($108>>>0); - if ($180) { - _abort(); - // unreachable; - } else { - HEAP32[$$1437>>2] = 0; - $$3435 = $$1433; - break; - } - } else { - $159 = ((($2)) + 8|0); - $160 = HEAP32[$159>>2]|0; - $161 = ($160>>>0)<($108>>>0); - if ($161) { - _abort(); - // unreachable; - } - $162 = ((($160)) + 12|0); - $163 = HEAP32[$162>>2]|0; - $164 = ($163|0)==($2|0); - if (!($164)) { - _abort(); - // unreachable; - } - $165 = ((($157)) + 8|0); - $166 = HEAP32[$165>>2]|0; - $167 = ($166|0)==($2|0); - if ($167) { - HEAP32[$162>>2] = $157; - HEAP32[$165>>2] = $160; - $$3435 = $157; - break; - } else { - _abort(); - // unreachable; - } - } - } while(0); - $181 = ($155|0)==(0|0); - if (!($181)) { - $182 = ((($2)) + 28|0); - $183 = HEAP32[$182>>2]|0; - $184 = (22768 + ($183<<2)|0); - $185 = HEAP32[$184>>2]|0; - $186 = ($2|0)==($185|0); - do { - if ($186) { - HEAP32[$184>>2] = $$3435; - $cond17 = ($$3435|0)==(0|0); - if ($cond17) { - $187 = 1 << $183; - $188 = $187 ^ -1; - $189 = HEAP32[(22468)>>2]|0; - $190 = $189 & $188; - HEAP32[(22468)>>2] = $190; - break L96; - } - } else { - $191 = HEAP32[(22480)>>2]|0; - $192 = ($155>>>0)<($191>>>0); - if ($192) { - _abort(); - // unreachable; - } else { - $193 = ((($155)) + 16|0); - $194 = HEAP32[$193>>2]|0; - $not$ = ($194|0)!=($2|0); - $$sink4 = $not$&1; - $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); - HEAP32[$195>>2] = $$3435; - $196 = ($$3435|0)==(0|0); - if ($196) { - break L96; - } else { - break; - } - } - } - } while(0); - $197 = HEAP32[(22480)>>2]|0; - $198 = ($$3435>>>0)<($197>>>0); - if ($198) { - _abort(); - // unreachable; - } - $199 = ((($$3435)) + 24|0); - HEAP32[$199>>2] = $155; - $200 = ((($2)) + 16|0); - $201 = HEAP32[$200>>2]|0; - $202 = ($201|0)==(0|0); - do { - if (!($202)) { - $203 = ($201>>>0)<($197>>>0); - if ($203) { - _abort(); - // unreachable; - } else { - $204 = ((($$3435)) + 16|0); - HEAP32[$204>>2] = $201; - $205 = ((($201)) + 24|0); - HEAP32[$205>>2] = $$3435; - break; - } - } - } while(0); - $206 = ((($200)) + 4|0); - $207 = HEAP32[$206>>2]|0; - $208 = ($207|0)==(0|0); - if (!($208)) { - $209 = HEAP32[(22480)>>2]|0; - $210 = ($207>>>0)<($209>>>0); - if ($210) { - _abort(); - // unreachable; - } else { - $211 = ((($$3435)) + 20|0); - HEAP32[$211>>2] = $207; - $212 = ((($207)) + 24|0); - HEAP32[$212>>2] = $$3435; - break; - } - } - } - } - } while(0); - $213 = $129 | 1; - $214 = ((($$1)) + 4|0); - HEAP32[$214>>2] = $213; - $215 = (($$1) + ($129)|0); - HEAP32[$215>>2] = $129; - $216 = HEAP32[(22484)>>2]|0; - $217 = ($$1|0)==($216|0); - if ($217) { - HEAP32[(22472)>>2] = $129; - return; - } else { - $$2 = $129; - } - } else { - $218 = $111 & -2; - HEAP32[$110>>2] = $218; - $219 = $$1418 | 1; - $220 = ((($$1)) + 4|0); - HEAP32[$220>>2] = $219; - $221 = (($$1) + ($$1418)|0); - HEAP32[$221>>2] = $$1418; - $$2 = $$1418; - } - $222 = $$2 >>> 3; - $223 = ($$2>>>0)<(256); - if ($223) { - $224 = $222 << 1; - $225 = (22504 + ($224<<2)|0); - $226 = HEAP32[5616]|0; - $227 = 1 << $222; - $228 = $226 & $227; - $229 = ($228|0)==(0); - if ($229) { - $230 = $226 | $227; - HEAP32[5616] = $230; - $$pre = ((($225)) + 8|0); - $$0438 = $225;$$pre$phiZ2D = $$pre; - } else { - $231 = ((($225)) + 8|0); - $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(22480)>>2]|0; - $234 = ($232>>>0)<($233>>>0); - if ($234) { - _abort(); - // unreachable; - } else { - $$0438 = $232;$$pre$phiZ2D = $231; - } - } - HEAP32[$$pre$phiZ2D>>2] = $$1; - $235 = ((($$0438)) + 12|0); - HEAP32[$235>>2] = $$1; - $236 = ((($$1)) + 8|0); - HEAP32[$236>>2] = $$0438; - $237 = ((($$1)) + 12|0); - HEAP32[$237>>2] = $225; - return; - } - $238 = $$2 >>> 8; - $239 = ($238|0)==(0); - if ($239) { - $$0431 = 0; - } else { - $240 = ($$2>>>0)>(16777215); - if ($240) { - $$0431 = 31; - } else { - $241 = (($238) + 1048320)|0; - $242 = $241 >>> 16; - $243 = $242 & 8; - $244 = $238 << $243; - $245 = (($244) + 520192)|0; - $246 = $245 >>> 16; - $247 = $246 & 4; - $248 = $247 | $243; - $249 = $244 << $247; - $250 = (($249) + 245760)|0; - $251 = $250 >>> 16; - $252 = $251 & 2; - $253 = $248 | $252; - $254 = (14 - ($253))|0; - $255 = $249 << $252; - $256 = $255 >>> 15; - $257 = (($254) + ($256))|0; - $258 = $257 << 1; - $259 = (($257) + 7)|0; - $260 = $$2 >>> $259; - $261 = $260 & 1; - $262 = $261 | $258; - $$0431 = $262; - } - } - $263 = (22768 + ($$0431<<2)|0); - $264 = ((($$1)) + 28|0); - HEAP32[$264>>2] = $$0431; - $265 = ((($$1)) + 16|0); - $266 = ((($$1)) + 20|0); - HEAP32[$266>>2] = 0; - HEAP32[$265>>2] = 0; - $267 = HEAP32[(22468)>>2]|0; - $268 = 1 << $$0431; - $269 = $267 & $268; - $270 = ($269|0)==(0); - if ($270) { - $271 = $267 | $268; - HEAP32[(22468)>>2] = $271; - HEAP32[$263>>2] = $$1; - $272 = ((($$1)) + 24|0); - HEAP32[$272>>2] = $263; - $273 = ((($$1)) + 12|0); - HEAP32[$273>>2] = $$1; - $274 = ((($$1)) + 8|0); - HEAP32[$274>>2] = $$1; - return; - } - $275 = HEAP32[$263>>2]|0; - $276 = ($$0431|0)==(31); - $277 = $$0431 >>> 1; - $278 = (25 - ($277))|0; - $279 = $276 ? 0 : $278; - $280 = $$2 << $279; - $$0419 = $280;$$0420 = $275; - while(1) { - $281 = ((($$0420)) + 4|0); - $282 = HEAP32[$281>>2]|0; - $283 = $282 & -8; - $284 = ($283|0)==($$2|0); - if ($284) { - label = 121; - break; - } - $285 = $$0419 >>> 31; - $286 = (((($$0420)) + 16|0) + ($285<<2)|0); - $287 = $$0419 << 1; - $288 = HEAP32[$286>>2]|0; - $289 = ($288|0)==(0|0); - if ($289) { - label = 118; - break; - } else { - $$0419 = $287;$$0420 = $288; - } - } - if ((label|0) == 118) { - $290 = HEAP32[(22480)>>2]|0; - $291 = ($286>>>0)<($290>>>0); - if ($291) { - _abort(); - // unreachable; - } - HEAP32[$286>>2] = $$1; - $292 = ((($$1)) + 24|0); - HEAP32[$292>>2] = $$0420; - $293 = ((($$1)) + 12|0); - HEAP32[$293>>2] = $$1; - $294 = ((($$1)) + 8|0); - HEAP32[$294>>2] = $$1; - return; - } - else if ((label|0) == 121) { - $295 = ((($$0420)) + 8|0); - $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(22480)>>2]|0; - $298 = ($296>>>0)>=($297>>>0); - $not$19 = ($$0420>>>0)>=($297>>>0); - $299 = $298 & $not$19; - if (!($299)) { - _abort(); - // unreachable; - } - $300 = ((($296)) + 12|0); - HEAP32[$300>>2] = $$1; - HEAP32[$295>>2] = $$1; - $301 = ((($$1)) + 8|0); - HEAP32[$301>>2] = $296; - $302 = ((($$1)) + 12|0); - HEAP32[$302>>2] = $$0420; - $303 = ((($$1)) + 24|0); - HEAP32[$303>>2] = 0; - return; - } -} -function runPostSets() { -} -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 _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 _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 ___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 _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 _memmove(dest, src, num) { - dest = dest|0; src = src|0; num = num|0; - var ret = 0; - if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { - // Unlikely case: Copy backwards in a safe manner - ret = dest; - src = (src + num)|0; - dest = (dest + num)|0; - while ((num|0) > 0) { - dest = (dest - 1)|0; - src = (src - 1)|0; - num = (num - 1)|0; - HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); - } - dest = ret; - } else { - _memcpy(dest, src, num) | 0; - } - return dest | 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 ___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 ___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 _roundf(f) { - f = +f; - return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? -} -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 _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) { - ___setErrNo(12); - HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; - return -1; - } - } - return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; - FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); -} - - -function dynCall_vd(index,a1) { - index = index|0; - a1=+a1; - FUNCTION_TABLE_vd[index&3](+a1); -} - - -function dynCall_vid(index,a1,a2) { - index = index|0; - a1=a1|0; a2=+a2; - FUNCTION_TABLE_vid[index&3](a1|0,+a2); -} - - -function dynCall_vi(index,a1) { - index = index|0; - a1=a1|0; - FUNCTION_TABLE_vi[index&31](a1|0); -} - - -function dynCall_vii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - FUNCTION_TABLE_vii[index&63](a1|0,a2|0); -} - - -function dynCall_ii(index,a1) { - index = index|0; - a1=a1|0; - return FUNCTION_TABLE_ii[index&15](a1|0)|0; -} - - -function dynCall_viddd(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); -} - - -function dynCall_vidd(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; - FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); -} - - -function dynCall_iiii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; -} - - -function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; - FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); -} - - -function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; - FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); -} - - -function dynCall_viii(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; - FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); -} - - -function dynCall_vidddd(index,a1,a2,a3,a4,a5) { - index = index|0; - a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; - FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); -} - - -function dynCall_vdi(index,a1,a2) { - index = index|0; - a1=+a1; a2=a2|0; - FUNCTION_TABLE_vdi[index&1](+a1,a2|0); -} - - -function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; - FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); -} - - -function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; - FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); -} - - -function dynCall_iii(index,a1,a2) { - index = index|0; - a1=a1|0; a2=a2|0; - return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; -} - - -function dynCall_i(index) { - index = index|0; - - return FUNCTION_TABLE_i[index&3]()|0; -} - - -function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; - FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); -} - - -function dynCall_vdddd(index,a1,a2,a3,a4) { - index = index|0; - a1=+a1; a2=+a2; a3=+a3; a4=+a4; - FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); -} - - -function dynCall_vdd(index,a1,a2) { - index = index|0; - a1=+a1; a2=+a2; - FUNCTION_TABLE_vdd[index&3](+a1,+a2); -} - - -function dynCall_v(index) { - index = index|0; - - FUNCTION_TABLE_v[index&7](); -} - - -function dynCall_viid(index,a1,a2,a3) { - index = index|0; - a1=a1|0; a2=a2|0; a3=+a3; - FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); -} - - -function dynCall_viiii(index,a1,a2,a3,a4) { - index = index|0; - a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; - FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); -} - -function b0(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); -} -function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); -} -function b1(p0) { - p0 = +p0; nullFunc_vd(1); -} -function _emscripten_glClearDepth__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepth(+p0); -} -function _emscripten_glClearDepthf__wrapper(p0) { - p0 = +p0; _emscripten_glClearDepthf(+p0); -} -function _emscripten_glLineWidth__wrapper(p0) { - p0 = +p0; _emscripten_glLineWidth(+p0); -} -function b2(p0,p1) { - p0 = p0|0;p1 = +p1; nullFunc_vid(2); -} -function _emscripten_glUniform1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); -} -function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { - p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); -} -function b3(p0) { - p0 = p0|0; nullFunc_vi(3); -} -function _emscripten_glDeleteShader__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteShader(p0|0); -} -function _emscripten_glCompileShader__wrapper(p0) { - p0 = p0|0; _emscripten_glCompileShader(p0|0); -} -function _emscripten_glDeleteProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteProgram(p0|0); -} -function _emscripten_glLinkProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glLinkProgram(p0|0); -} -function _emscripten_glUseProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glUseProgram(p0|0); -} -function _emscripten_glValidateProgram__wrapper(p0) { - p0 = p0|0; _emscripten_glValidateProgram(p0|0); -} -function _emscripten_glDeleteObjectARB__wrapper(p0) { - p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); -} -function _emscripten_glEnableClientState__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableClientState(p0|0); -} -function _emscripten_glClientActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); -} -function _emscripten_glBindVertexArray__wrapper(p0) { - p0 = p0|0; _emscripten_glBindVertexArray(p0|0); -} -function _emscripten_glMatrixMode__wrapper(p0) { - p0 = p0|0; _emscripten_glMatrixMode(p0|0); -} -function _emscripten_glLoadMatrixf__wrapper(p0) { - p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); -} -function _emscripten_glEnableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); -} -function _emscripten_glDisableVertexAttribArray__wrapper(p0) { - p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); -} -function _emscripten_glDepthFunc__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthFunc(p0|0); -} -function _emscripten_glEnable__wrapper(p0) { - p0 = p0|0; _emscripten_glEnable(p0|0); -} -function _emscripten_glDisable__wrapper(p0) { - p0 = p0|0; _emscripten_glDisable(p0|0); -} -function _emscripten_glFrontFace__wrapper(p0) { - p0 = p0|0; _emscripten_glFrontFace(p0|0); -} -function _emscripten_glCullFace__wrapper(p0) { - p0 = p0|0; _emscripten_glCullFace(p0|0); -} -function _emscripten_glClear__wrapper(p0) { - p0 = p0|0; _emscripten_glClear(p0|0); -} -function _emscripten_glClearStencil__wrapper(p0) { - p0 = p0|0; _emscripten_glClearStencil(p0|0); -} -function _emscripten_glDepthMask__wrapper(p0) { - p0 = p0|0; _emscripten_glDepthMask(p0|0); -} -function _emscripten_glStencilMask__wrapper(p0) { - p0 = p0|0; _emscripten_glStencilMask(p0|0); -} -function _emscripten_glGenerateMipmap__wrapper(p0) { - p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); -} -function _emscripten_glActiveTexture__wrapper(p0) { - p0 = p0|0; _emscripten_glActiveTexture(p0|0); -} -function _emscripten_glBlendEquation__wrapper(p0) { - p0 = p0|0; _emscripten_glBlendEquation(p0|0); -} -function b4(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_vii(4); -} -function _emscripten_glPixelStorei__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); -} -function _emscripten_glGetIntegerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); -} -function _emscripten_glGetFloatv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); -} -function _emscripten_glGetBooleanv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); -} -function _emscripten_glGenTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); -} -function _emscripten_glDeleteTextures__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); -} -function _emscripten_glBindTexture__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); -} -function _emscripten_glGenBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); -} -function _emscripten_glDeleteBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); -} -function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); -} -function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); -} -function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); -} -function _emscripten_glUniform1i__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); -} -function _emscripten_glBindBuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); -} -function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); -} -function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); -} -function _emscripten_glAttachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); -} -function _emscripten_glDetachShader__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); -} -function _emscripten_glBindFramebuffer__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); -} -function _emscripten_glGenFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); -} -function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); -} -function _emscripten_glBindProgramARB__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); -} -function _emscripten_glGetPointerv__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); -} -function _emscripten_glGenVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); -} -function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); -} -function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); -} -function _emscripten_glBlendFunc__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); -} -function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); -} -function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); -} -function _emscripten_glHint__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); -} -function _emscripten_glDrawBuffers__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); -} -function b5(p0) { - p0 = p0|0; nullFunc_ii(5);return 0; -} -function _emscripten_glGetString__wrapper(p0) { - p0 = p0|0; return _emscripten_glGetString(p0|0)|0; -} -function _emscripten_glIsTexture__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; -} -function _emscripten_glIsBuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; -} -function _emscripten_glIsRenderbuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; -} -function _emscripten_glCreateShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; -} -function _emscripten_glIsShader__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; -} -function _emscripten_glIsProgram__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; -} -function _emscripten_glIsFramebuffer__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; -} -function _emscripten_glCheckFramebufferStatus__wrapper(p0) { - p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; -} -function _emscripten_glIsEnabled__wrapper(p0) { - p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; -} -function b6(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); -} -function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); -} -function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); -} -function b7(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); -} -function _emscripten_glUniform2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); -} -function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); -} -function b8(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; -} -function b9(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); -} -function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); -} -function b10(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); -} -function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); -} -function b11(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); -} -function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2i__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); -} -function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); -} -function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); -} -function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); -} -function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); -} -function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); -} -function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); -} -function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); -} -function _emscripten_glStencilOp__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); -} -function b12(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); -} -function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); -} -function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { - p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); -} -function b13(p0,p1) { - p0 = +p0;p1 = p1|0; nullFunc_vdi(13); -} -function _emscripten_glSampleCoverage__wrapper(p0,p1) { - p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); -} -function b14(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); -} -function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); -} -function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); -} -function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); -} -function b16(p0,p1) { - p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; -} -function _emscripten_glGetUniformLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; -} -function _emscripten_glGetAttribLocation__wrapper(p0,p1) { - p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; -} -function b17() { - ; nullFunc_i(17);return 0; -} -function _emscripten_glCreateProgram__wrapper() { - ; return _emscripten_glCreateProgram()|0; -} -function _emscripten_glGetError__wrapper() { - ; return _emscripten_glGetError()|0; -} -function b18(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); -} -function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); -} -function b19(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); -} -function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); -} -function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); -} -function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { - p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); -} -function b20(p0,p1) { - p0 = +p0;p1 = +p1; nullFunc_vdd(20); -} -function _emscripten_glDepthRange__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); -} -function _emscripten_glDepthRangef__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); -} -function _emscripten_glPolygonOffset__wrapper(p0,p1) { - p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); -} -function b21() { - ; nullFunc_v(21); -} -function _emscripten_glLoadIdentity__wrapper() { - ; _emscripten_glLoadIdentity(); -} -function _emscripten_glReleaseShaderCompiler__wrapper() { - ; _emscripten_glReleaseShaderCompiler(); -} -function _emscripten_glFinish__wrapper() { - ; _emscripten_glFinish(); -} -function _emscripten_glFlush__wrapper() { - ; _emscripten_glFlush(); -} -function b22(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); -} -function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { - p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); -} -function b23(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); -} -function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); -} -function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { - p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); -} - -// EMSCRIPTEN_END_FUNCS -var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; -var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; -var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; -var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 -,b3,b3,b3]; -var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 -,b4,b4,b4,b4,b4]; -var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; -var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; -var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; -var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,_do_read,b8,b8,b8,b8]; -var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; -var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; -var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; -var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; -var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; -var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; -var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; -var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; -var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; -var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; -var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; -var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; -var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; -var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; -var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; - - return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; -}) -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg, Module.asmLibraryArg, buffer); - -var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); -}; - -var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); -}; - -var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; -var stackSave = Module["stackSave"] = asm["stackSave"]; -var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; -var _memset = Module["_memset"] = asm["_memset"]; -var setThrew = Module["setThrew"] = asm["setThrew"]; -var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; -var _fflush = Module["_fflush"] = asm["_fflush"]; -var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; -var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; -var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; -var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; -var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; -var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; -var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; -var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; -var _i64Add = Module["_i64Add"] = asm["_i64Add"]; -var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; -var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; -var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; -var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; -var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; -var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; -var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; -var _memmove = Module["_memmove"] = asm["_memmove"]; -var _strstr = Module["_strstr"] = asm["_strstr"]; -var stackRestore = Module["stackRestore"] = asm["stackRestore"]; -var _malloc = Module["_malloc"] = asm["_malloc"]; -var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; -var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; -var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; -var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; -var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; -var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; -var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; -var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; -var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; -var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; -var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; -var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; -var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; -var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; -var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; -var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; -var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; -var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; -var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; -var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; -var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; -var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; -var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; -var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; -; - -Runtime.stackAlloc = Module['stackAlloc']; -Runtime.stackSave = Module['stackSave']; -Runtime.stackRestore = Module['stackRestore']; -Runtime.establishStackSpace = Module['establishStackSpace']; - -Runtime.setTempRet0 = Module['setTempRet0']; -Runtime.getTempRet0 = Module['getTempRet0']; - - - -// === Auto-generated postamble setup entry stuff === - -Module['asm'] = asm; - - - - - -function ExitStatus(status) { - this.name = "ExitStatus"; - this.message = "Program terminated with exit(" + status + ")"; - this.status = status; -}; -ExitStatus.prototype = new Error(); -ExitStatus.prototype.constructor = ExitStatus; - -var initialStackTop; -var preloadStartTime = null; -var calledMain = false; - -dependenciesFulfilled = function runCaller() { - // If 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'] = 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; - function pad() { - for (var i = 0; i < 4-1; i++) { - argv.push(0); - } - } - var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; - pad(); - for (var i = 0; i < argc-1; i = i + 1) { - argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); - pad(); - } - argv.push(0); - argv = allocate(argv, 'i32', ALLOC_NORMAL); - - - 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; - } -} - - - - -function run(args) { - args = args || Module['arguments']; - - if (preloadStartTime === null) preloadStartTime = Date.now(); - - if (runDependencies > 0) { - Module.printErr('run() called, but dependencies remain, so not running'); - 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { - Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); - } - - 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'] = Module.run = run; - -function exit(status, implicit) { - if (implicit && Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); - return; - } - - if (Module['noExitRuntime']) { - Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; - -var abortDecorators = []; - -function abort(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'] = 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; -} - - -run(); - -// {{POST_RUN_ADDITIONS}} - - - - - -// {{MODULE_ADDITIONS}} - - - diff --git a/docs/examples/web/text/text_sprite_fonts.js b/docs/examples/web/text/text_sprite_fonts.js index 734a1cab..9ead4a19 100644 --- a/docs/examples/web/text/text_sprite_fonts.js +++ b/docs/examples/web/text/text_sprite_fonts.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 26597, "filename": "/resources/custom_mecha.png"}, {"audio": 0, "start": 26597, "crunched": 0, "end": 64532, "filename": "/resources/custom_alagard.png"}, {"audio": 0, "start": 64532, "crunched": 0, "end": 88128, "filename": "/resources/custom_jupiter_crash.png"}], "remote_package_size": 88128, "package_uuid": "f23aa7cd-cb55-4e89-b450-ef9161d47241"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 26597, "filename": "/resources/custom_mecha.png"}, {"audio": 0, "start": 26597, "crunched": 0, "end": 64532, "filename": "/resources/custom_alagard.png"}, {"audio": 0, "start": 64532, "crunched": 0, "end": 88128, "filename": "/resources/custom_jupiter_crash.png"}], "remote_package_size": 88128, "package_uuid": "ee9cd7bc-1414-494b-a47f-29899a0bf2b7"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 24800; +STATICTOP = STATIC_BASE + 24784; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,215,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,32,99,117,115,116,111,109,32,83,80,82,73,84,69,32,70,79,78,84,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,116,104,105,115,32,105,115,32,65,78,79,84,72,69,82,32,67,85,83,84,79,77,32,102,111,110,116,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,97,32,84,72,73,82,68,32,111,110,101,33,32,71,82,69,65,84,33,32,58,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,115,112,114,105,116,101,32,102,111,110,116,115,32,117,115,97,103,101,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,109,101,99,104,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,97,108,97,103,97,114,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,106,117,112,105,116,101,114,95,99,114,97,115,104,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,199,92,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,15,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,84,72,73,83,32,73,83,32,65,32,99,117,115,116,111,109,32,83,80,82,73,84,69,32,70,79,78,84,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,116,104,105,115,32,105,115,32,65,78,79,84,72,69,82,32,67,85,83,84,79,77,32,102,111,110,116,46,46,46,0,0,0,0,0,0,0,0,0,0,0,0,0,46,46,46,97,110,100,32,97,32,84,72,73,82,68,32,111,110,101,33,32,71,82,69,65,84,33,32,58,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,93,32,101,120,97,109,112,108,101,32,45,32,115,112,114,105,116,101,32,102,111,110,116,115,32,117,115,97,103,101,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,109,101,99,104,97,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,97,108,97,103,97,114,100,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,99,117,115,116,111,109,95,106,117,112,105,116,101,114,95,99,114,97,115,104,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,109,111,100,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,77,97,120,105,109,117,109,32,97,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,32,108,101,118,101,108,32,115,117,112,112,111,114,116,101,100,32,105,115,32,37,105,88,0,65,110,105,115,111,116,114,111,112,105,99,32,102,105,108,116,101,114,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,65,108,112,104,97,32,109,97,115,107,32,109,117,115,116,32,98,101,32,115,97,109,101,32,115,105,122,101,32,97,115,32,105,109,97,103,101,0,65,108,112,104,97,32,109,97,115,107,32,99,97,110,32,110,111,116,32,98,101,32,97,112,112,108,105,101,100,32,116,111,32,99,111,109,112,114,101,115,115,101,100,32,100,97,116,97,32,102,111,114,109,97,116,115,0,91,84,69,88,32,73,68,32,37,105,93,32,78,111,32,109,105,112,109,97,112,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,84,82,73,76,73,78,69,65,82,32,116,101,120,116,117,114,101,32,102,105,108,116,101,114,105,110,103,0,46,114,114,101,115,0,46,116,116,102,0,46,102,110,116,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,83,112,114,105,116,101,70,111,110,116,32,100,97,116,97,32,112,97,114,115,101,100,32,99,111,114,114,101,99,116,108,121,32,102,114,111,109,32,105,109,97,103,101,0,73,109,97,103,101,32,102,105,108,101,32,108,111,97,100,101,100,32,99,111,114,114,101,99,116,108,121,32,97,115,32,83,112,114,105,116,101,70,111,110,116,0,114,116,0,91,37,115,93,32,70,78,84,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,108,105,110,101,72,101,105,103,104,116,0,108,105,110,101,72,101,105,103,104,116,61,37,105,32,98,97,115,101,61,37,105,32,115,99,97,108,101,87,61,37,105,32,115,99,97,108,101,72,61,37,105,0,91,37,115,93,32,70,111,110,116,32,115,105,122,101,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,115,99,97,108,101,58,32,37,105,120,37,105,0,102,105,108,101,0,102,105,108,101,61,34,37,49,50,56,91,94,34,93,34,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,102,105,108,101,110,97,109,101,58,32,37,115,0,99,111,117,110,116,0,99,111,117,110,116,61,37,105,0,91,37,115,93,32,70,111,110,116,32,110,117,109,32,99,104,97,114,115,58,32,37,105,0,91,37,115,93,32,70,111,110,116,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,112,97,116,104,58,32,37,115,0,99,104,97,114,32,105,100,61,37,105,32,120,61,37,105,32,121,61,37,105,32,119,105,100,116,104,61,37,105,32,104,101,105,103,104,116,61,37,105,32,120,111,102,102,115,101,116,61,37,105,32,121,111,102,102,115,101,116,61,37,105,32,120,97,100,118,97,110,99,101,61,37,105,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,85,110,108,111,97,100,101,100,32,115,112,114,105,116,101,32,102,111,110,116,32,100,97,116,97,0,91,37,115,93,32,83,112,114,105,116,101,70,111,110,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,103,101,110,101,114,97,116,101,100,44,32,117,115,105,110,103,32,100,101,102,97,117,108,116,32,102,111,110,116,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,80,114,101,100,105,99,116,101,100,32,116,101,120,116,117,114,101,32,115,105,122,101,58,32,37,105,120,37,105,0,114,98,0,91,37,115,93,32,84,84,70,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,102,105,114,115,116,32,99,104,97,114,97,99,116,101,114,32,105,115,32,110,111,116,32,83,80,65,67,69,40,51,50,41,32,99,104,97,114,97,99,116,101,114,0,84,84,70,32,115,112,114,105,116,101,102,111,110,116,32,108,111,97,100,105,110,103,58,32,78,111,116,32,97,108,108,32,116,104,101,32,99,104,97,114,97,99,116,101,114,115,32,102,105,116,32,105,110,32,116,104,101,32,102,111,110,116,0,120,43,103,119,32,60,32,112,119,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,116,114,117,101,116,121,112,101,46,104,0,115,116,98,116,116,95,66,97,107,101,70,111,110,116,66,105,116,109,97,112,95,105,110,116,101,114,110,97,108,0,122,45,62,100,105,114,101,99,116,105,111,110,0,115,116,98,116,116,95,95,114,97,115,116,101,114,105,122,101,95,115,111,114,116,101,100,95,101,100,103,101,115,0,122,45,62,101,121,32,62,61,32,115,99,97,110,95,121,95,116,111,112,0,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,115,116,98,116,116,95,95,102,105,108,108,95,97,99,116,105,118,101,95,101,100,103,101,115,95,110,101,119,0,101,45,62,115,121,32,60,61,32,121,95,98,111,116,116,111,109,32,38,38,32,101,45,62,101,121,32,62,61,32,121,95,116,111,112,0,120,32,62,61,32,48,32,38,38,32,120,32,60,32,108,101,110,0,102,97,98,115,40,97,114,101,97,41,32,60,61,32,49,46,48,49,102,0,121,48,32,60,32,121,49,0,115,116,98,116,116,95,95,104,97,110,100,108,101,95,99,108,105,112,112,101,100,95,101,100,103,101,0,101,45,62,115,121,32,60,61,32,101,45,62,101,121,0,120,49,32,60,61,32,120,43,49,0,120,49,32,62,61,32,120,0,120,49,32,60,61,32,120,0,120,49,32,62,61,32,120,43,49,0,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,120,48,32,62,61,32,120,32,38,38,32,120,48,32,60,61,32,120,43,49,32,38,38,32,120,49,32,62,61,32,120,32,38,38,32,120,49,32,60,61,32,120,43,49,0,122,32,33,61,32,40,40,118,111,105,100,42,41,48,41,0,115,116,98,116,116,95,95,110,101,119,95,97,99,116,105,118,101,0,33,105,110,102,111,45,62,99,102,102,46,115,105,122,101,0,115,116,98,116,116,95,95,71,101,116,71,108,121,102,79,102,102,115,101,116,0,48,0,115,116,98,116,116,95,95,99,102,102,95,105,110,116,0,110,32,62,61,32,49,32,38,38,32,110,32,60,61,32,52,0,115,116,98,116,116,95,95,98,117,102,95,103,101,116,0,115,105,122,101,32,60,32,48,120,52,48,48,48,48,48,48,48,0,115,116,98,116,116,95,95,110,101,119,95,98,117,102,0,33,40,111,32,62,32,98,45,62,115,105,122,101,32,124,124,32,111,32,60,32,48,41,0,115,116,98,116,116,95,95,98,117,102,95,115,101,101,107,0,111,102,102,115,105,122,101,32,62,61,32,49,32,38,38,32,111,102,102,115,105,122,101,32,60,61,32,52,0,115,116,98,116,116,95,95,99,102,102,95,103,101,116,95,105,110,100,101,120,0,98,48,32,62,61,32,50,56,0,115,116,98,116,116,95,95,99,102,102,95,115,107,105,112,95,111,112,101,114,97,110,100,0,105,32,62,61,32,48,32,38,38,32,105,32,60,32,99,111,117,110,116,0,115,116,98,116,116,95,95,99,102,102,95,105,110,100,101,120,95,103,101,116,0,111,117,116,112,117,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,32,61,61,32,99,111,117,110,116,95,99,116,120,46,110,117,109,95,118,101,114,116,105,99,101,115,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,50,0,115,116,98,116,116,95,95,71,101,116,71,108,121,112,104,83,104,97,112,101,84,84,0,115,116,98,116,116,95,70,105,110,100,71,108,121,112,104,73,110,100,101,120,0,117,110,105,99,111,100,101,95,99,111,100,101,112,111,105,110,116,32,60,61,32,116,116,85,83,72,79,82,84,40,100,97,116,97,32,43,32,101,110,100,67,111,117,110,116,32,43,32,50,42,105,116,101,109,41,0,99,109,97,112,0,108,111,99,97,0,104,101,97,100,0,103,108,121,102,0,104,104,101,97,0,104,109,116,120,0,107,101,114,110,0,67,70,70,32,0,109,97,120,112,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10490,74 +10490,74 @@ function _main() { $7 = HEAP32[3]|0; _InitWindow($6,$7,4390); _LoadSpriteFont($0,4433); - ;HEAP32[19168>>2]=HEAP32[$0>>2]|0;HEAP32[19168+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19168+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19168+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19168+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19168+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19168+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19168+28>>2]=HEAP32[$0+28>>2]|0; + ;HEAP32[19472>>2]=HEAP32[$0>>2]|0;HEAP32[19472+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[19472+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[19472+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[19472+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[19472+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[19472+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[19472+28>>2]=HEAP32[$0+28>>2]|0; _LoadSpriteFont($1,4460); - ;HEAP32[19200>>2]=HEAP32[$1>>2]|0;HEAP32[19200+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19200+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19200+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19200+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19200+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19200+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19200+28>>2]=HEAP32[$1+28>>2]|0; + ;HEAP32[19504>>2]=HEAP32[$1>>2]|0;HEAP32[19504+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19504+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19504+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19504+16>>2]=HEAP32[$1+16>>2]|0;HEAP32[19504+20>>2]=HEAP32[$1+20>>2]|0;HEAP32[19504+24>>2]=HEAP32[$1+24>>2]|0;HEAP32[19504+28>>2]=HEAP32[$1+28>>2]|0; _LoadSpriteFont($2,4489); - ;HEAP32[19232>>2]=HEAP32[$2>>2]|0;HEAP32[19232+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[19232+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[19232+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[19232+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[19232+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[19232+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[19232+28>>2]=HEAP32[$2+28>>2]|0; + ;HEAP32[19536>>2]=HEAP32[$2>>2]|0;HEAP32[19536+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[19536+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[19536+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[19536+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[19536+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[19536+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[19536+28>>2]=HEAP32[$2+28>>2]|0; $8 = HEAP32[2]|0; $9 = (($8|0) / 2)&-1; $10 = (+($9|0)); - $11 = HEAP32[(19188)>>2]|0; + $11 = HEAP32[(19492)>>2]|0; $12 = (+($11|0)); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19168>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19168+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19168+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19168+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19168+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19168+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19168+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19168+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19472>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19472+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19472+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19472+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19472+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19472+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19472+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19472+28>>2]|0; _MeasureTextEx($3,$font3$byval_copy3,4240,$12,-3); $13 = +HEAPF32[$3>>2]; $14 = $13 * 0.5; $15 = $10 - $14; - HEAPF32[4816] = $15; + HEAPF32[4892] = $15; $16 = HEAP32[3]|0; $17 = (($16|0) / 2)&-1; - $18 = HEAP32[(19188)>>2]|0; + $18 = HEAP32[(19492)>>2]|0; $$neg = (($18|0) / -2)&-1; $19 = (($17) + -80)|0; $20 = (($19) + ($$neg))|0; $21 = (+($20|0)); - HEAPF32[(19268)>>2] = $21; + HEAPF32[(19572)>>2] = $21; $22 = HEAP32[2]|0; $23 = (($22|0) / 2)&-1; $24 = (+($23|0)); - $25 = HEAP32[(19220)>>2]|0; + $25 = HEAP32[(19524)>>2]|0; $26 = (+($25|0)); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19200>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19200+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19200+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19200+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19200+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19200+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19200+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19200+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19504>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19504+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19504+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19504+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19504+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19504+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19504+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19504+28>>2]|0; _MeasureTextEx($4,$font3$byval_copy3,4290,$26,-2); $27 = +HEAPF32[$4>>2]; $28 = $27 * 0.5; $29 = $24 - $28; - HEAPF32[4818] = $29; + HEAPF32[4894] = $29; $30 = HEAP32[3]|0; $31 = (($30|0) / 2)&-1; - $32 = HEAP32[(19220)>>2]|0; + $32 = HEAP32[(19524)>>2]|0; $$neg1 = (($32|0) / -2)&-1; $33 = (($31) + -10)|0; $34 = (($33) + ($$neg1))|0; $35 = (+($34|0)); - HEAPF32[(19276)>>2] = $35; + HEAPF32[(19580)>>2] = $35; $36 = HEAP32[2]|0; $37 = (($36|0) / 2)&-1; $38 = (+($37|0)); - $39 = HEAP32[(19252)>>2]|0; + $39 = HEAP32[(19556)>>2]|0; $40 = (+($39|0)); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19232>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19232+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19232+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19232+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19232+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19232+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19232+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19232+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19536>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19536+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19536+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19536+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19536+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19536+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19536+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19536+28>>2]|0; _MeasureTextEx($5,$font3$byval_copy3,4340,$40,2); $41 = +HEAPF32[$5>>2]; $42 = $41 * 0.5; $43 = $38 - $42; - HEAPF32[4820] = $43; + HEAPF32[4896] = $43; $44 = HEAP32[3]|0; $45 = (($44|0) / 2)&-1; - $46 = HEAP32[(19252)>>2]|0; + $46 = HEAP32[(19556)>>2]|0; $$neg2 = (($46|0) / -2)&-1; $47 = (($45) + 50)|0; $48 = (($47) + ($$neg2))|0; $49 = (+($48|0)); - HEAPF32[(19284)>>2] = $49; + HEAPF32[(19588)>>2] = $49; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19168>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19168+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19168+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19168+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19168+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19168+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19168+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19168+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19472>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19472+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19472+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19472+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19472+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19472+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19472+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19472+28>>2]|0; _UnloadSpriteFont($font3$byval_copy3); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19200>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19200+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19200+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19200+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19200+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19200+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19200+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19200+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19504>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19504+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19504+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19504+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19504+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19504+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19504+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19504+28>>2]|0; _UnloadSpriteFont($font3$byval_copy3); - ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19232>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19232+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19232+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19232+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19232+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19232+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19232+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19232+28>>2]|0; + ;HEAP32[$font3$byval_copy3>>2]=HEAP32[19536>>2]|0;HEAP32[$font3$byval_copy3+4>>2]=HEAP32[19536+4>>2]|0;HEAP32[$font3$byval_copy3+8>>2]=HEAP32[19536+8>>2]|0;HEAP32[$font3$byval_copy3+12>>2]=HEAP32[19536+12>>2]|0;HEAP32[$font3$byval_copy3+16>>2]=HEAP32[19536+16>>2]|0;HEAP32[$font3$byval_copy3+20>>2]=HEAP32[19536+20>>2]|0;HEAP32[$font3$byval_copy3+24>>2]=HEAP32[19536+24>>2]|0;HEAP32[$font3$byval_copy3+28>>2]=HEAP32[19536+28>>2]|0; _UnloadSpriteFont($font3$byval_copy3); _CloseWindow(); STACKTOP = sp;return 0; @@ -10583,30 +10583,80 @@ function _UpdateDrawFrame() { HEAP8[$6>>0] = -1; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$0>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($tmpcast2$byval_copy); - $7 = HEAP32[(19188)>>2]|0; + $7 = HEAP32[(19492)>>2]|0; $8 = (+($7|0)); HEAP32[$1>>2] = -1; - ;HEAP32[$font3$byval_copy>>2]=HEAP32[19168>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19168+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19168+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19168+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19168+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19168+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19168+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19168+28>>2]|0; - ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19264>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19264+4>>2]|0; + ;HEAP32[$font3$byval_copy>>2]=HEAP32[19472>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19472+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19472+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19472+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19472+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19472+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19472+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19472+28>>2]|0; + ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19568>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19568+4>>2]|0; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$1>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$1+3>>0]|0; _DrawTextEx($font3$byval_copy,4240,$fontPosition3$byval_copy,$8,-3,$tmpcast2$byval_copy); - $9 = HEAP32[(19220)>>2]|0; + $9 = HEAP32[(19524)>>2]|0; $10 = (+($9|0)); HEAP32[$2>>2] = -1; - ;HEAP32[$font3$byval_copy>>2]=HEAP32[19200>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19200+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19200+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19200+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19200+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19200+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19200+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19200+28>>2]|0; - ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19272>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19272+4>>2]|0; + ;HEAP32[$font3$byval_copy>>2]=HEAP32[19504>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19504+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19504+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19504+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19504+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19504+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19504+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19504+28>>2]|0; + ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19576>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19576+4>>2]|0; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$2>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$2+3>>0]|0; _DrawTextEx($font3$byval_copy,4290,$fontPosition3$byval_copy,$10,-2,$tmpcast2$byval_copy); - $11 = HEAP32[(19252)>>2]|0; + $11 = HEAP32[(19556)>>2]|0; $12 = (+($11|0)); HEAP32[$3>>2] = -1; - ;HEAP32[$font3$byval_copy>>2]=HEAP32[19232>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19232+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19232+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19232+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19232+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19232+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19232+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19232+28>>2]|0; - ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19280>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19280+4>>2]|0; + ;HEAP32[$font3$byval_copy>>2]=HEAP32[19536>>2]|0;HEAP32[$font3$byval_copy+4>>2]=HEAP32[19536+4>>2]|0;HEAP32[$font3$byval_copy+8>>2]=HEAP32[19536+8>>2]|0;HEAP32[$font3$byval_copy+12>>2]=HEAP32[19536+12>>2]|0;HEAP32[$font3$byval_copy+16>>2]=HEAP32[19536+16>>2]|0;HEAP32[$font3$byval_copy+20>>2]=HEAP32[19536+20>>2]|0;HEAP32[$font3$byval_copy+24>>2]=HEAP32[19536+24>>2]|0;HEAP32[$font3$byval_copy+28>>2]=HEAP32[19536+28>>2]|0; + ;HEAP32[$fontPosition3$byval_copy>>2]=HEAP32[19584>>2]|0;HEAP32[$fontPosition3$byval_copy+4>>2]=HEAP32[19584+4>>2]|0; ;HEAP8[$tmpcast2$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$tmpcast2$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$tmpcast2$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$tmpcast2$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; _DrawTextEx($font3$byval_copy,4340,$fontPosition3$byval_copy,$12,2,$tmpcast2$byval_copy); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10706,13 +10756,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11322,7 +11365,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4823] = $2; + HEAP32[4899] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11335,7 +11378,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 18896; + $95 = 19200; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11348,48 +11391,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 18936; + $106 = 19240; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4734]; - $111 = +HEAPF32[4724]; + $110 = +HEAPF32[4810]; + $111 = +HEAPF32[4800]; $112 = $110 - $111; - HEAPF32[4736] = $112; - $113 = +HEAPF32[(18940)>>2]; - $114 = +HEAPF32[(18900)>>2]; + HEAPF32[4812] = $112; + $113 = +HEAPF32[(19244)>>2]; + $114 = +HEAPF32[(19204)>>2]; $115 = $113 - $114; - HEAPF32[(18948)>>2] = $115; - HEAP32[4822] = 4; + HEAPF32[(19252)>>2] = $115; + HEAP32[4898] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18928+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19232+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4828] = $116; - $117 = 18928; + HEAPF32[4904] = $116; + $117 = 19232; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 18896; + $123 = 19200; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 18952; + $127 = 19256; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 18936; + $133 = 19240; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11402,7 +11445,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 18928; + $144 = 19232; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11415,27 +11458,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 18952; + $155 = 19256; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4738]; - $160 = +HEAPF32[4732]; + $159 = +HEAPF32[4814]; + $160 = +HEAPF32[4808]; $161 = $159 - $160; - HEAPF32[4736] = $161; - $162 = +HEAPF32[(18956)>>2]; - $163 = +HEAPF32[(18932)>>2]; + HEAPF32[4812] = $161; + $162 = +HEAPF32[(19260)>>2]; + $163 = +HEAPF32[(19236)>>2]; $164 = $162 - $163; - HEAPF32[(18948)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18928+4>>2]|0; + HEAPF32[(19252)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19232+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18936>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18936+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19240>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19240+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11447,31 +11490,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18928+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19232+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4828]; + $170 = +HEAPF32[4904]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4822] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18928+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18952>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18952+4>>2]|0; + HEAP32[4898] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19232+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19256>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19256+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4829] = $174; + HEAPF32[4905] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4828] = 0.0; - HEAPF32[4829] = 0.0; - HEAPF32[4736] = 0.0; - HEAPF32[(18948)>>2] = 0.0; - HEAP32[4823] = 0; - HEAP32[4822] = 0; + HEAPF32[4904] = 0.0; + HEAPF32[4905] = 0.0; + HEAPF32[4812] = 0.0; + HEAPF32[(19252)>>2] = 0.0; + HEAP32[4899] = 0; + HEAP32[4898] = 0; STACKTOP = sp;return; break; } @@ -11481,22 +11524,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4824]|0; + $6 = HEAP32[4900]|0; $7 = (($6) + 1)|0; - HEAP32[4824] = $7; - $8 = HEAP32[4822]|0; + HEAP32[4900] = $7; + $8 = HEAP32[4898]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4822] = 2; - HEAP32[4824] = 0; + HEAP32[4898] = 2; + HEAP32[4900] = 0; } else { label = 6; } @@ -11504,8 +11547,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4824] = 1; - HEAP32[4822] = 1; + HEAP32[4900] = 1; + HEAP32[4898] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11514,19 +11557,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 18896; + $21 = 19200; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 18904; + $25 = 19208; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 18912; + $29 = 19216; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11535,13 +11578,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4730] = 0.0; - HEAPF32[(18924)>>2] = 0.0; + HEAPF32[4806] = 0.0; + HEAPF32[(19228)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4822]|0; + $35 = HEAP32[4898]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11551,19 +11594,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 18912; + $44 = 19216; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18912+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4825] = $49; - HEAP32[4826] = 0; + HEAPF32[4901] = $49; + HEAP32[4902] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11571,11 +11614,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18912+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19216>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19216+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4827] = $56; + HEAPF32[4903] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11606,22 +11649,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4825] = 0.0; - HEAPF32[4827] = 0.0; + HEAPF32[4901] = 0.0; + HEAPF32[4903] = 0.0; $$sink10 = 0; } - HEAP32[4822] = $$sink10; - HEAPF32[4726] = 0.0; - HEAPF32[(18908)>>2] = 0.0; - HEAP32[4823] = 0; + HEAP32[4898] = $$sink10; + HEAPF32[4802] = 0.0; + HEAPF32[(19212)>>2] = 0.0; + HEAP32[4899] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4826]|0; + $65 = HEAP32[4902]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4826] = 1; + HEAP32[4902] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11630,31 +11673,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 18928; + $74 = 19232; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4822]|0; + $78 = HEAP32[4898]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[18896>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[18896+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[18928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[18928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[19200>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[19200+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[19232>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[19232+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4822] = 8; + HEAP32[4898] = 8; } } - $82 = +HEAPF32[4732]; - $83 = +HEAPF32[4726]; + $82 = +HEAPF32[4808]; + $83 = +HEAPF32[4802]; $84 = $82 - $83; - HEAPF32[4730] = $84; - $85 = +HEAPF32[(18932)>>2]; - $86 = +HEAPF32[(18908)>>2]; + HEAPF32[4806] = $84; + $85 = +HEAPF32[(19236)>>2]; + $86 = +HEAPF32[(19212)>>2]; $87 = $85 - $86; - HEAPF32[(18924)>>2] = $87; + HEAPF32[(19228)>>2] = $87; STACKTOP = sp;return; break; } @@ -11663,58 +11706,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4822]|0; + $0 = HEAP32[4898]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4823]|0; + $2 = HEAP32[4899]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4822] = 4; + HEAP32[4898] = 4; } - $4 = HEAP32[4822]|0; + $4 = HEAP32[4898]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11727,14 +11731,14 @@ function _UpdateGestures() { return; } } - HEAP32[4822] = 0; + HEAP32[4898] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 18960; + $1 = 19264; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11751,13 +11755,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4832]|0; + $0 = HEAP32[4908]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4831]|0; + $0 = HEAP32[4907]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11769,7 +11773,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4524,$vararg_buffer); - HEAP32[4834] = $2; + HEAP32[4910] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11782,15 +11786,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4553|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4832]|0; + $3 = HEAP32[4908]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4740] = $5; - $6 = HEAP32[4831]|0; + HEAPF32[4816] = $5; + $6 = HEAP32[4907]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(18964)>>2] = $8; - $9 = HEAP32[4835]|0; + HEAPF32[(19268)>>2] = $8; + $9 = HEAP32[4911]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11809,11 +11813,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[19000>>0]=HEAP8[9082>>0]|0;HEAP8[19000+1>>0]=HEAP8[9082+1>>0]|0;HEAP8[19000+2>>0]=HEAP8[9082+2>>0]|0;HEAP8[19000+3>>0]=HEAP8[9082+3>>0]|0;HEAP8[19000+4>>0]=HEAP8[9082+4>>0]|0;HEAP8[19000+5>>0]=HEAP8[9082+5>>0]|0;HEAP8[19000+6>>0]=HEAP8[9082+6>>0]|0; + ;HEAP8[19304>>0]=HEAP8[9082>>0]|0;HEAP8[19304+1>>0]=HEAP8[9082+1>>0]|0;HEAP8[19304+2>>0]=HEAP8[9082+2>>0]|0;HEAP8[19304+3>>0]=HEAP8[9082+3>>0]|0;HEAP8[19304+4>>0]=HEAP8[9082+4>>0]|0;HEAP8[19304+5>>0]=HEAP8[9082+5>>0]|0;HEAP8[19304+6>>0]=HEAP8[9082+6>>0]|0; break; } case 1: { - $3 = 19000; + $3 = 19304; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11822,11 +11826,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=19000; src=9089; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=19304; src=9089; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 19000; + $7 = 19304; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11837,16 +11841,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(19000,$1)|0); - $strlen = (_strlen(19000)|0); - $endptr = (19000 + ($strlen)|0); + (_strcat(19304,$1)|0); + $strlen = (_strlen(19304)|0); + $endptr = (19304 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(19000,$2)|0); + (_vprintf(19304,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11878,22 +11882,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4832] = $0; - HEAP32[4831] = $1; + HEAP32[4908] = $0; + HEAP32[4907] = $1; _MatrixIdentity($2); - dest=19416; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19720; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,5224,$vararg_buffer); } - $6 = HEAP32[4832]|0; - HEAP32[4870] = $6; - $7 = HEAP32[4831]|0; - HEAP32[4871] = $7; + $6 = HEAP32[4908]|0; + HEAP32[4946] = $6; + $7 = HEAP32[4907]|0; + HEAP32[4947] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[22152]|0; + $8 = HEAP8[22456]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11901,13 +11905,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[22152]|0; + $11 = HEAP8[22456]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[22152]|0; + $14 = HEAP8[22456]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11929,18 +11933,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4872]|0; + $21 = HEAP32[4948]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4832]|0; - $48 = HEAP32[4831]|0; - $49 = HEAP32[4834]|0; + $47 = HEAP32[4908]|0; + $48 = HEAP32[4907]|0; + $49 = HEAP32[4910]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4830] = $50; - $51 = HEAP32[4832]|0; - HEAP32[4873] = $51; - $52 = HEAP32[4831]|0; - HEAP32[4874] = $52; + HEAP32[4906] = $50; + $51 = HEAP32[4908]|0; + HEAP32[4949] = $51; + $52 = HEAP32[4907]|0; + HEAP32[4950] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11949,9 +11953,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4832]|0; + $27 = HEAP32[4908]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4831]|0; + $29 = HEAP32[4907]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11973,25 +11977,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4870] = $31; - HEAP32[4871] = $34; + HEAP32[4946] = $31; + HEAP32[4947] = $34; } } while(0); - $38 = HEAP32[4870]|0; - $39 = HEAP32[4871]|0; + $38 = HEAP32[4946]|0; + $39 = HEAP32[4947]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5275,$vararg_buffer3); - $40 = HEAP32[4870]|0; - $41 = HEAP32[4871]|0; + $40 = HEAP32[4946]|0; + $41 = HEAP32[4947]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4870]|0; - $43 = HEAP32[4871]|0; - $44 = HEAP32[4834]|0; + $42 = HEAP32[4946]|0; + $43 = HEAP32[4947]|0; + $44 = HEAP32[4910]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4830] = $46; + HEAP32[4906] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12000,60 +12004,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5313,$vararg_buffer6); } else { _TraceLog(0,5346,$vararg_buffer8); - $55 = HEAP32[4873]|0; - $56 = HEAP32[4874]|0; + $55 = HEAP32[4949]|0; + $56 = HEAP32[4950]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5386,$vararg_buffer10); - $57 = HEAP32[4832]|0; - $58 = HEAP32[4831]|0; + $57 = HEAP32[4908]|0; + $58 = HEAP32[4907]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5407,$vararg_buffer14); - $59 = HEAP32[4875]|0; - $60 = HEAP32[4876]|0; + $59 = HEAP32[4951]|0; + $60 = HEAP32[4952]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5428,$vararg_buffer18); } - $61 = HEAP32[4830]|0; + $61 = HEAP32[4906]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4830]|0; + $62 = HEAP32[4906]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4830]|0; + $63 = HEAP32[4906]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4830]|0; + $64 = HEAP32[4906]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4830]|0; + $65 = HEAP32[4906]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4830]|0; + $66 = HEAP32[4906]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4830]|0; + $67 = HEAP32[4906]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4830]|0; + $68 = HEAP32[4906]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4830]|0; + $69 = HEAP32[4906]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[22152]|0; + $70 = HEAP8[22456]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4832]|0; - $74 = HEAP32[4831]|0; + $73 = HEAP32[4908]|0; + $74 = HEAP32[4907]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4873]|0; - $76 = HEAP32[4875]|0; + $75 = HEAP32[4949]|0; + $76 = HEAP32[4951]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4874]|0; - $80 = HEAP32[4876]|0; + $79 = HEAP32[4950]|0; + $80 = HEAP32[4952]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12072,18 +12076,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5453,$vararg_buffer22); - $73 = HEAP32[4832]|0; - $74 = HEAP32[4831]|0; + $73 = HEAP32[4908]|0; + $74 = HEAP32[4907]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4873]|0; - $76 = HEAP32[4875]|0; + $75 = HEAP32[4949]|0; + $76 = HEAP32[4951]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4874]|0; - $80 = HEAP32[4876]|0; + $79 = HEAP32[4950]|0; + $80 = HEAP32[4952]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12111,7 +12115,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(19384)>>2] = 224; + HEAP32[(19688)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12152,27 +12156,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[19360>>2]=HEAP32[$1>>2]|0;HEAP32[19360+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19360+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19360+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19360+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[19664>>2]=HEAP32[$1>>2]|0;HEAP32[19664+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[19664+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[19664+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[19664+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(19384)>>2]|0; + $5 = HEAP32[(19688)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(19388)>>2] = $7; + HEAP32[(19692)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19380)>>2] = $23; - $24 = HEAP32[4840]|0; + HEAP32[(19684)>>2] = $23; + $24 = HEAP32[4916]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4748,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(19364)>>2]|0; - $10 = HEAP32[(19384)>>2]|0; - $11 = HEAP32[(19388)>>2]|0; + $9 = HEAP32[(19668)>>2]|0; + $10 = HEAP32[(19688)>>2]|0; + $11 = HEAP32[(19692)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12221,8 +12225,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(19380)>>2] = $23; - $24 = HEAP32[4840]|0; + HEAP32[(19684)>>2] = $23; + $24 = HEAP32[4916]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4748,$vararg_buffer); STACKTOP = sp;return; @@ -12233,7 +12237,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2374] = $1; + HEAPF64[2412] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12392,7 +12396,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 18976; + $31 = 19280; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12405,7 +12409,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (18984); + $42 = (19288); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12461,7 +12465,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (19344 + ($10<<2)|0); + $11 = (19648 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12475,7 +12479,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2371] = $$; + HEAPF64[2409] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12487,7 +12491,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4835] = 0; + HEAP32[4911] = 0; return; } function _GetTime() { @@ -13063,7 +13067,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4848]|0; + $6 = HEAP32[4924]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13073,7 +13077,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4849]|0; + $9 = HEAP32[4925]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13082,7 +13086,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4850]|0; + $12 = HEAP32[4926]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13092,7 +13096,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4851]|0; + $15 = HEAP32[4927]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13102,7 +13106,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4852]|0; + $18 = HEAP32[4928]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13146,7 +13150,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4848]|0; + $22 = HEAP32[4924]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13154,7 +13158,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4848]|0; + $24 = HEAP32[4924]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13162,7 +13166,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4848]|0; + $26 = HEAP32[4924]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13170,7 +13174,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4848]|0; + $28 = HEAP32[4924]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13178,7 +13182,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4849]|0; + $30 = HEAP32[4925]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13186,7 +13190,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4850]|0; + $32 = HEAP32[4926]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13194,7 +13198,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4850]|0; + $34 = HEAP32[4926]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13202,7 +13206,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4851]|0; + $36 = HEAP32[4927]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13210,7 +13214,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4851]|0; + $38 = HEAP32[4927]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13218,7 +13222,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4852]|0; + $40 = HEAP32[4928]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13226,7 +13230,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4852]|0; + $42 = HEAP32[4928]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13238,7 +13242,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4853]|0; + $44 = HEAP32[4929]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13584,20 +13588,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4832]|0; + $3 = HEAP32[4908]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4831]|0; + $5 = HEAP32[4907]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4873] = $3; - HEAP32[4874] = $5; - HEAP32[4875] = 0; - HEAP32[4876] = 0; + HEAP32[4949] = $3; + HEAP32[4950] = $5; + HEAP32[4951] = 0; + HEAP32[4952] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13611,9 +13615,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4832]|0; + $35 = HEAP32[4908]|0; $36 = (+($35|0)); - $37 = HEAP32[4831]|0; + $37 = HEAP32[4907]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13621,26 +13625,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4873] = $45; - HEAP32[4874] = $37; + HEAP32[4949] = $45; + HEAP32[4950] = $37; $46 = (($45) - ($35))|0; - HEAP32[4875] = $46; + HEAP32[4951] = $46; $$sink1 = 0; } else { - HEAP32[4873] = $35; + HEAP32[4949] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4874] = $42; - HEAP32[4875] = 0; + HEAP32[4950] = $42; + HEAP32[4951] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4876] = $$sink1; + HEAP32[4952] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4831]|0; + $7 = HEAP32[4907]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13650,11 +13654,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8835,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4832]|0; + $9 = HEAP32[4908]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4831]|0; + $13 = HEAP32[4907]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13662,33 +13666,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4873] = $23; - HEAP32[4874] = $1; + HEAP32[4949] = $23; + HEAP32[4950] = $1; $24 = (($0) - ($23))|0; - HEAP32[4875] = $24; + HEAP32[4951] = $24; $$sink = 0; } else { - HEAP32[4873] = $0; - $17 = HEAP32[4831]|0; + HEAP32[4949] = $0; + $17 = HEAP32[4907]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4874] = $20; - HEAP32[4875] = 0; + HEAP32[4950] = $20; + HEAP32[4951] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4876] = $$sink; - $25 = HEAP32[4873]|0; + HEAP32[4952] = $$sink; + $25 = HEAP32[4949]|0; $26 = (+($25|0)); - $27 = HEAP32[4832]|0; + $27 = HEAP32[4908]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=19416; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4873] = $0; - HEAP32[4874] = $1; + dest=19720; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4949] = $0; + HEAP32[4950] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13710,10 +13714,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4832] = $1; - HEAP32[4831] = $2; - HEAP32[4873] = $1; - HEAP32[4874] = $2; + HEAP32[4908] = $1; + HEAP32[4907] = $2; + HEAP32[4949] = $1; + HEAP32[4950] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13740,7 +13744,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (22159 + ($1)|0); + $9 = (22463 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13761,7 +13765,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (22153 + ($1)|0); + $7 = (22457 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13840,7 +13844,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 18976; + $15 = 19280; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13875,7 +13879,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5246] = $3; + HEAP32[5322] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13885,7 +13889,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5245] = $$sink; + HEAP32[5321] = $$sink; return; } function _rlglInit($0,$1) { @@ -13966,18 +13970,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5585)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4911] = 1; + HEAP32[4987] = 1; $27 = (_eglGetProcAddress((5612|0))|0); - HEAP32[4912] = $27; + HEAP32[4988] = $27; $28 = (_eglGetProcAddress((5633|0))|0); - HEAP32[4913] = $28; + HEAP32[4989] = $28; $29 = (_eglGetProcAddress((5654|0))|0); - HEAP32[4914] = $29; + HEAP32[4990] = $29; } $30 = (_strcmp($24,5678)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4853] = 1; + HEAP32[4929] = 1; } $32 = (_strcmp($24,5698)|0); $33 = ($32|0)==(0); @@ -13999,7 +14003,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4848] = 1; + HEAP32[4924] = 1; } $39 = (_strcmp($24,5803)|0); $40 = ($39|0)==(0); @@ -14015,35 +14019,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4849] = 1; + HEAP32[4925] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5872)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4850] = 1; + HEAP32[4926] = 1; } $47 = (_strcmp($44,5897)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4851] = 1; + HEAP32[4927] = 1; } $49 = (_strcmp($44,5930)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4852] = 1; + HEAP32[4928] = 1; } $51 = (_strcmp($44,5966)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4915] = 1; - _glGetFloatv(34047,(19664|0)); + HEAP32[4991] = 1; + _glGetFloatv(34047,(19968|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,6000)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4917] = 1; + HEAP32[4993] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14054,61 +14058,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4911]|0; + $21 = HEAP32[4987]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,6103,$vararg_buffer15); } else { _TraceLog(0,6028,$vararg_buffer13); } - $57 = HEAP32[4853]|0; + $57 = HEAP32[4929]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,6239,$vararg_buffer19); } else { _TraceLog(0,6164,$vararg_buffer17); } - $59 = HEAP32[4848]|0; + $59 = HEAP32[4924]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6331,$vararg_buffer21); } - $61 = HEAP32[4849]|0; + $61 = HEAP32[4925]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6377,$vararg_buffer23); } - $63 = HEAP32[4850]|0; + $63 = HEAP32[4926]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6424,$vararg_buffer25); } - $65 = HEAP32[4851]|0; + $65 = HEAP32[4927]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6475,$vararg_buffer27); } - $67 = HEAP32[4852]|0; + $67 = HEAP32[4928]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6522,$vararg_buffer29); } - $69 = HEAP32[4915]|0; + $69 = HEAP32[4991]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4916]; + $71 = +HEAPF32[4992]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6569,$vararg_buffer31); } - $73 = HEAP32[4917]|0; + $73 = HEAP32[4993]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6635,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4918] = $75; + HEAP32[4994] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6739,$vararg_buffer39); @@ -14117,14 +14121,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6688,$vararg_buffer36); } _LoadDefaultShader($2); - dest=19676; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19732; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19980; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20036; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4947] = $77; + HEAP32[5023] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4947]|0; + $79 = HEAP32[5023]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14137,7 +14141,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4948] = $78; + HEAP32[5024] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14152,48 +14156,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4949] = 1; - $85 = HEAP32[4918]|0; + HEAP32[5025] = 1; + $85 = HEAP32[4994]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4950] = 4; + HEAP32[5026] = 4; _MatrixIdentity($4); - dest=19804; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=20108; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19868); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20172); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19932); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20236); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(19996); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20300); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20060); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20364); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20124); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20428); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20188); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20492); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20252); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20556); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20316); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20620); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20380); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20684); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20444); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20748); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20508); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20812); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20572); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20876); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20636); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(20940); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20700); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21004); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(20764); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21068); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=19512; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19816; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=19576; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4877] = 19576; + dest=19880; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4953] = 19880; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14204,21 +14208,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5207] = $0; - HEAP32[5208] = $1; + HEAP32[5283] = $0; + HEAP32[5284] = $1; _TraceLog(0,6778,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4875]|0; + $0 = HEAP32[4951]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4876]|0; + $2 = HEAP32[4952]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4873]|0; + $4 = HEAP32[4949]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4874]|0; + $6 = HEAP32[4950]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14229,12 +14233,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 19512; + $modelview$sink = 19816; label = 3; break; } case 5888: { - $modelview$sink = 19576; + $modelview$sink = 19880; label = 3; break; } @@ -14242,9 +14246,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4877] = $modelview$sink; + HEAP32[4953] = $modelview$sink; } - HEAP32[4910] = $0; + HEAP32[4986] = $0; return; } function _rlLoadIdentity() { @@ -14252,7 +14256,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4877]|0; + $1 = HEAP32[4953]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14273,7 +14277,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4877]|0; + $8 = HEAP32[4953]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14370,15 +14374,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(20848)>>2] = $0; + HEAP32[(21152)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(20856)>>2] = $1; - HEAP32[(20852)>>2] = 0; - HEAP32[(20860)>>2] = 0; + HEAP32[(21160)>>2] = $1; + HEAP32[(21156)>>2] = 0; + HEAP32[(21164)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(20856)>>2]|0; + $2 = HEAP32[(21160)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14389,19 +14393,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5209] = 0; - HEAP32[(20844)>>2] = 0; - HEAP32[(20840)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21148)>>2] = 0; + HEAP32[(21144)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(20896)>>2] = $5; + HEAP32[(21200)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(20904)>>2] = $6; - HEAP32[(20900)>>2] = 0; - HEAP32[(20908)>>2] = 0; + HEAP32[(21208)>>2] = $6; + HEAP32[(21204)>>2] = 0; + HEAP32[(21212)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(20904)>>2]|0; + $7 = HEAP32[(21208)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14412,24 +14416,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5221] = 0; - HEAP32[(20892)>>2] = 0; - HEAP32[(20888)>>2] = 0; + HEAP32[5297] = 0; + HEAP32[(21196)>>2] = 0; + HEAP32[(21192)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(20944)>>2] = $10; + HEAP32[(21248)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(20948)>>2] = $11; + HEAP32[(21252)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(20952)>>2] = $12; + HEAP32[(21256)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(20956)>>2] = $13; - $14 = HEAP32[(20944)>>2]|0; + HEAP32[(21260)>>2] = $13; + $14 = HEAP32[(21248)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(20948)>>2]|0; + $15 = HEAP32[(21252)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(20952)>>2]|0; + $17 = HEAP32[(21256)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14440,7 +14444,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(20956)>>2]|0; + $16 = HEAP32[(21260)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14477,140 +14481,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5233] = 0; - HEAP32[(20936)>>2] = 0; - HEAP32[(20940)>>2] = 0; + HEAP32[5309] = 0; + HEAP32[(21240)>>2] = 0; + HEAP32[(21244)>>2] = 0; _TraceLog(0,6825,$vararg_buffer); - $20 = HEAP32[4911]|0; + $20 = HEAP32[4987]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4912]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(20864)); - $44 = HEAP32[4913]|0; - $45 = HEAP32[(20864)>>2]|0; + $43 = HEAP32[4988]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(21168)); + $44 = HEAP32[4989]|0; + $45 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((20868)|0)); - $46 = HEAP32[(20868)>>2]|0; + _glGenBuffers(2,((21172)|0)); + $46 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(20848)>>2]|0; + $47 = HEAP32[(21152)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(19736)>>2]|0; + $48 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(19736)>>2]|0; + $49 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((20872)|0)); - $50 = HEAP32[(20872)>>2]|0; + _glGenBuffers(2,((21176)|0)); + $50 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(20856)>>2]|0; + $51 = HEAP32[(21160)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(19756)>>2]|0; + $52 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(19756)>>2]|0; + $53 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4911]|0; + $54 = HEAP32[4987]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(20868)>>2]|0; - $58 = HEAP32[(20872)>>2]|0; + $57 = HEAP32[(21172)>>2]|0; + $58 = HEAP32[(21176)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6963,$vararg_buffer3); } else { - $56 = HEAP32[(20864)>>2]|0; + $56 = HEAP32[(21168)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6898,$vararg_buffer1); } - $59 = HEAP32[4911]|0; + $59 = HEAP32[4987]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4912]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(20912)); - $62 = HEAP32[4913]|0; - $63 = HEAP32[(20912)>>2]|0; + $61 = HEAP32[4988]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(21216)); + $62 = HEAP32[4989]|0; + $63 = HEAP32[(21216)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((20916)|0)); - $64 = HEAP32[(20916)>>2]|0; + _glGenBuffers(1,((21220)|0)); + $64 = HEAP32[(21220)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(20896)>>2]|0; + $65 = HEAP32[(21200)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(19736)>>2]|0; + $66 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(19736)>>2]|0; + $67 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20920)|0)); - $68 = HEAP32[(20920)>>2]|0; + _glGenBuffers(1,((21224)|0)); + $68 = HEAP32[(21224)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(20904)>>2]|0; + $69 = HEAP32[(21208)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(19756)>>2]|0; + $70 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(19756)>>2]|0; + $71 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4911]|0; + $72 = HEAP32[4987]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(20916)>>2]|0; - $76 = HEAP32[(20920)>>2]|0; + $75 = HEAP32[(21220)>>2]|0; + $76 = HEAP32[(21224)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,7109,$vararg_buffer10); } else { - $74 = HEAP32[(20912)>>2]|0; + $74 = HEAP32[(21216)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,7040,$vararg_buffer7); } - $77 = HEAP32[4911]|0; + $77 = HEAP32[4987]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4912]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(20960)); - $80 = HEAP32[4913]|0; - $81 = HEAP32[(20960)>>2]|0; + $79 = HEAP32[4988]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(21264)); + $80 = HEAP32[4989]|0; + $81 = HEAP32[(21264)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((20964)|0)); - $82 = HEAP32[(20964)>>2]|0; + _glGenBuffers(1,((21268)|0)); + $82 = HEAP32[(21268)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(20944)>>2]|0; + $83 = HEAP32[(21248)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(19736)>>2]|0; + $84 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(19736)>>2]|0; + $85 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((20968)|0)); - $86 = HEAP32[(20968)>>2]|0; + _glGenBuffers(1,((21272)|0)); + $86 = HEAP32[(21272)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(20948)>>2]|0; + $87 = HEAP32[(21252)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(19740)>>2]|0; + $88 = HEAP32[(20044)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(19740)>>2]|0; + $89 = HEAP32[(20044)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((20972)|0)); - $90 = HEAP32[(20972)>>2]|0; + _glGenBuffers(1,((21276)|0)); + $90 = HEAP32[(21276)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(20952)>>2]|0; + $91 = HEAP32[(21256)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(19756)>>2]|0; + $92 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(19756)>>2]|0; + $93 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((20976)|0)); - $94 = HEAP32[(20976)>>2]|0; + _glGenBuffers(1,((21280)|0)); + $94 = HEAP32[(21280)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(20956)>>2]|0; + $95 = HEAP32[(21260)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4911]|0; + $96 = HEAP32[4987]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(20964)>>2]|0; - $100 = HEAP32[(20968)>>2]|0; - $101 = HEAP32[(20972)>>2]|0; - $102 = HEAP32[(20976)>>2]|0; + $99 = HEAP32[(21268)>>2]|0; + $100 = HEAP32[(21272)>>2]|0; + $101 = HEAP32[(21276)>>2]|0; + $102 = HEAP32[(21280)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14620,16 +14624,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,7255,$vararg_buffer17); } else { - $98 = HEAP32[(20960)>>2]|0; + $98 = HEAP32[(21264)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,7190,$vararg_buffer14); } - $103 = HEAP32[4911]|0; + $103 = HEAP32[4987]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4913]|0; + $105 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14810,9 +14814,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22153 + ($0)|0); + $1 = (22457 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22156 + ($0)|0); + $3 = (22460 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14824,9 +14828,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (22153 + ($0)|0); + $1 = (22457 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (22156 + ($0)|0); + $3 = (22460 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14847,7 +14851,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4830]|0; + $0 = HEAP32[4906]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,9099,$vararg_buffer); @@ -14858,9 +14862,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[19360>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19360+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19360+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19360+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19360+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[19664>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[19664+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[19664+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[19664+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[19664+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(19388)>>2]|0; + $0 = HEAP32[(19692)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14871,11 +14875,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(19672|0)); - $0 = HEAP32[4918]|0; + _glDeleteTextures(1,(19976|0)); + $0 = HEAP32[4994]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,9126,$vararg_buffer); - $1 = HEAP32[4948]|0; + $1 = HEAP32[5024]|0; _free($1); STACKTOP = sp;return; } @@ -14883,17 +14887,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4919]|0; + $0 = HEAP32[4995]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4911]|0; + $0 = HEAP32[4987]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4913]|0; + $2 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14902,39 +14906,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((20868)|0)); - _glDeleteBuffers(1,((20872)|0)); - _glDeleteBuffers(1,((20916)|0)); - _glDeleteBuffers(1,((20920)|0)); - _glDeleteBuffers(1,((20964)|0)); - _glDeleteBuffers(1,((20968)|0)); - _glDeleteBuffers(1,((20972)|0)); - _glDeleteBuffers(1,((20976)|0)); - $3 = HEAP32[4911]|0; + _glDeleteBuffers(1,((21172)|0)); + _glDeleteBuffers(1,((21176)|0)); + _glDeleteBuffers(1,((21220)|0)); + _glDeleteBuffers(1,((21224)|0)); + _glDeleteBuffers(1,((21268)|0)); + _glDeleteBuffers(1,((21272)|0)); + _glDeleteBuffers(1,((21276)|0)); + _glDeleteBuffers(1,((21280)|0)); + $3 = HEAP32[4987]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4914]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(20864)); - $6 = HEAP32[4914]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(20912)); - $7 = HEAP32[4914]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(20960)); - } - $8 = HEAP32[(20848)>>2]|0; + $5 = HEAP32[4990]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(21168)); + $6 = HEAP32[4990]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(21216)); + $7 = HEAP32[4990]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(21264)); + } + $8 = HEAP32[(21152)>>2]|0; _free($8); - $9 = HEAP32[(20856)>>2]|0; + $9 = HEAP32[(21160)>>2]|0; _free($9); - $10 = HEAP32[(20896)>>2]|0; + $10 = HEAP32[(21200)>>2]|0; _free($10); - $11 = HEAP32[(20904)>>2]|0; + $11 = HEAP32[(21208)>>2]|0; _free($11); - $12 = HEAP32[(20944)>>2]|0; + $12 = HEAP32[(21248)>>2]|0; _free($12); - $13 = HEAP32[(20948)>>2]|0; + $13 = HEAP32[(21252)>>2]|0; _free($13); - $14 = HEAP32[(20952)>>2]|0; + $14 = HEAP32[(21256)>>2]|0; _free($14); - $15 = HEAP32[(20956)>>2]|0; + $15 = HEAP32[(21260)>>2]|0; _free($15); return; } @@ -14974,16 +14978,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2391] = $0; - $1 = +HEAPF64[2374]; + HEAPF64[2429] = $0; + $1 = +HEAPF64[2412]; $2 = $0 - $1; - HEAPF64[2392] = $2; - HEAPF64[2374] = $0; + HEAPF64[2430] = $2; + HEAPF64[2412] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=19416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=19720; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(20988); + _rlMultMatrixf(21292); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14992,53 +14996,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[5247] = $1; + HEAP32[5323] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(20992)>>2] = $3; + HEAP32[(21296)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(20996)>>2] = $5; + HEAP32[(21300)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(21000)>>2] = $7; + HEAP32[(21304)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(21004)>>2] = $9; + HEAP32[(21308)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(21008)>>2] = $11; + HEAP32[(21312)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(21012)>>2] = $13; + HEAP32[(21316)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(21016)>>2] = $15; + HEAP32[(21320)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(21020)>>2] = $17; + HEAP32[(21324)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(21024)>>2] = $19; + HEAP32[(21328)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(21028)>>2] = $21; + HEAP32[(21332)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21032)>>2] = $23; + HEAP32[(21336)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(21036)>>2] = $25; + HEAP32[(21340)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(21040)>>2] = $27; + HEAP32[(21344)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(21044)>>2] = $29; + HEAP32[(21348)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(21048)>>2] = $31; - return (20988|0); + HEAP32[(21352)>>2] = $31; + return (21292|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15113,7 +15117,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4877]|0; + $49 = HEAP32[4953]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15127,15 +15131,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2391] = $0; - $1 = +HEAPF64[2374]; + HEAPF64[2429] = $0; + $1 = +HEAPF64[2412]; $2 = $0 - $1; - HEAPF64[2393] = $2; - HEAPF64[2374] = $0; - $3 = +HEAPF64[2392]; + HEAPF64[2431] = $2; + HEAPF64[2412] = $0; + $3 = +HEAPF64[2430]; $4 = $2 + $3; - HEAPF64[2394] = $4; - $5 = +HEAPF64[2371]; + HEAPF64[2432] = $4; + $5 = +HEAPF64[2409]; $6 = $4 < $5; if (!($6)) { return; @@ -15145,13 +15149,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2391] = $10; - $11 = +HEAPF64[2374]; + HEAPF64[2429] = $10; + $11 = +HEAPF64[2412]; $12 = $10 - $11; - HEAPF64[2374] = $10; - $13 = +HEAPF64[2394]; + HEAPF64[2412] = $10; + $13 = +HEAPF64[2432]; $14 = $12 + $13; - HEAPF64[2394] = $14; + HEAPF64[2432] = $14; return; } function _rlglDraw() { @@ -15164,7 +15168,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4830]|0; + $0 = HEAP32[4906]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15180,20 +15184,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5263] = 0; - $3 = HEAP32[4830]|0; + HEAP32[5339] = 0; + $3 = HEAP32[4906]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4740] = $5; + HEAPF32[4816] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(18964)>>2] = $7; - _memcpy((22671|0),(22159|0),512)|0; - ;HEAP8[22156>>0]=HEAP8[22153>>0]|0;HEAP8[22156+1>>0]=HEAP8[22153+1>>0]|0;HEAP8[22156+2>>0]=HEAP8[22153+2>>0]|0; - $8 = HEAP32[5246]|0; - HEAP32[4833] = $8; - HEAP32[5246] = 0; + HEAPF32[(19268)>>2] = $7; + _memcpy((22975|0),(22463|0),512)|0; + ;HEAP8[22460>>0]=HEAP8[22457>>0]|0;HEAP8[22460+1>>0]=HEAP8[22457+1>>0]|0;HEAP8[22460+2>>0]=HEAP8[22457+2>>0]|0; + $8 = HEAP32[5322]|0; + HEAP32[4909] = $8; + HEAP32[5322] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15203,8 +15207,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (23183 + ($$05160<<5)|0); - $scevgep67 = (23311 + ($$05160<<5)|0); + $scevgep = (23487 + ($$05160<<5)|0); + $scevgep67 = (23615 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15218,7 +15222,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((23311 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((23615 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15245,7 +15249,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((21056 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((21360 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15261,7 +15265,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5263] = $$lcssa; + HEAP32[5339] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15302,87 +15306,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5209]|0; + $0 = HEAP32[5285]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4911]|0; + $2 = HEAP32[4987]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4913]|0; - $5 = HEAP32[(20864)>>2]|0; + $4 = HEAP32[4989]|0; + $5 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(20868)>>2]|0; + $6 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5209]|0; + $7 = HEAP32[5285]|0; $8 = ($7*12)|0; - $9 = HEAP32[(20848)>>2]|0; + $9 = HEAP32[(21152)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(20872)>>2]|0; + $10 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(20844)>>2]|0; + $11 = HEAP32[(21148)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(20856)>>2]|0; + $13 = HEAP32[(21160)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5221]|0; + $14 = HEAP32[5297]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4911]|0; + $16 = HEAP32[4987]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4913]|0; - $19 = HEAP32[(20912)>>2]|0; + $18 = HEAP32[4989]|0; + $19 = HEAP32[(21216)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(20916)>>2]|0; + $20 = HEAP32[(21220)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5221]|0; + $21 = HEAP32[5297]|0; $22 = ($21*12)|0; - $23 = HEAP32[(20896)>>2]|0; + $23 = HEAP32[(21200)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(20920)>>2]|0; + $24 = HEAP32[(21224)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(20892)>>2]|0; + $25 = HEAP32[(21196)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(20904)>>2]|0; + $27 = HEAP32[(21208)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5233]|0; + $28 = HEAP32[5309]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4911]|0; + $30 = HEAP32[4987]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4913]|0; - $33 = HEAP32[(20960)>>2]|0; + $32 = HEAP32[4989]|0; + $33 = HEAP32[(21264)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(20964)>>2]|0; + $34 = HEAP32[(21268)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5233]|0; + $35 = HEAP32[5309]|0; $36 = ($35*12)|0; - $37 = HEAP32[(20944)>>2]|0; + $37 = HEAP32[(21248)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(20968)>>2]|0; + $38 = HEAP32[(21272)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5233]|0; + $39 = HEAP32[5309]|0; $40 = $39 << 3; - $41 = HEAP32[(20948)>>2]|0; + $41 = HEAP32[(21252)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(20972)>>2]|0; + $42 = HEAP32[(21276)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5233]|0; + $43 = HEAP32[5309]|0; $44 = $43 << 2; - $45 = HEAP32[(20952)>>2]|0; + $45 = HEAP32[(21256)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4911]|0; + $46 = HEAP32[4987]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4913]|0; + $48 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15400,9 +15404,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=19512; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=19576; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5296]|0; + dest=$0; src=19816; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=19880; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5372]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15412,134 +15416,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5209]|0; + $8 = HEAP32[5285]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5221]|0; + $10 = HEAP32[5297]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5233]|0; + $12 = HEAP32[5309]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4933]|0; + $14 = HEAP32[5009]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=19576; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=19512; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=19880; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=19816; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(19760)>>2]|0; + $15 = HEAP32[(20064)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(19764)>>2]|0; + $17 = HEAP32[(20068)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(19776)>>2]|0; + $18 = HEAP32[(20080)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5209]|0; + $19 = HEAP32[5285]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4918]|0; + $21 = HEAP32[4994]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4911]|0; + $22 = HEAP32[4987]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(20868)>>2]|0; + $26 = HEAP32[(21172)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(19736)>>2]|0; + $27 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(19736)>>2]|0; + $28 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(20872)>>2]|0; + $29 = HEAP32[(21176)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(19756)>>2]|0; + $30 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(19756)>>2]|0; + $31 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4913]|0; - $25 = HEAP32[(20864)>>2]|0; + $24 = HEAP32[4989]|0; + $25 = HEAP32[(21168)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5209]|0; + $32 = HEAP32[5285]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4911]|0; + $33 = HEAP32[4987]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5221]|0; + $35 = HEAP32[5297]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4918]|0; + $37 = HEAP32[4994]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4911]|0; + $38 = HEAP32[4987]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(20916)>>2]|0; + $42 = HEAP32[(21220)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(19736)>>2]|0; + $43 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(19736)>>2]|0; + $44 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(20920)>>2]|0; + $45 = HEAP32[(21224)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(19756)>>2]|0; + $46 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(19756)>>2]|0; + $47 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4913]|0; - $41 = HEAP32[(20912)>>2]|0; + $40 = HEAP32[4989]|0; + $41 = HEAP32[(21216)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5221]|0; + $48 = HEAP32[5297]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4911]|0; + $49 = HEAP32[4987]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5233]|0; + $51 = HEAP32[5309]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4911]|0; + $53 = HEAP32[4987]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(20964)>>2]|0; + $57 = HEAP32[(21268)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(19736)>>2]|0; + $58 = HEAP32[(20040)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(19736)>>2]|0; + $59 = HEAP32[(20040)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(20968)>>2]|0; + $60 = HEAP32[(21272)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(19740)>>2]|0; + $61 = HEAP32[(20044)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(19740)>>2]|0; + $62 = HEAP32[(20044)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(20972)>>2]|0; + $63 = HEAP32[(21276)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(19756)>>2]|0; + $64 = HEAP32[(20060)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(19756)>>2]|0; + $65 = HEAP32[(20060)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(20976)>>2]|0; + $66 = HEAP32[(21280)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4913]|0; - $56 = HEAP32[(20960)>>2]|0; + $55 = HEAP32[4989]|0; + $56 = HEAP32[(21264)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4949]|0; + $67 = HEAP32[5025]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4948]|0; + $71 = HEAP32[5024]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15550,14 +15554,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4948]|0; + $80 = HEAP32[5024]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4949]|0; + $87 = HEAP32[5025]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15566,7 +15570,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4911]|0; + $69 = HEAP32[4987]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15574,10 +15578,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4911]|0; + $89 = HEAP32[4987]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4913]|0; + $91 = HEAP32[4989]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15589,22 +15593,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4949] = 1; - $5 = HEAP32[4918]|0; - $6 = HEAP32[4948]|0; + HEAP32[5025] = 1; + $5 = HEAP32[4994]|0; + $6 = HEAP32[5024]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5209] = 0; - HEAP32[(20844)>>2] = 0; - HEAP32[5221] = 0; - HEAP32[(20892)>>2] = 0; - HEAP32[5233] = 0; - HEAP32[(20936)>>2] = 0; - HEAP32[(20940)>>2] = 0; + HEAP32[5285] = 0; + HEAP32[(21148)>>2] = 0; + HEAP32[5297] = 0; + HEAP32[(21196)>>2] = 0; + HEAP32[5309] = 0; + HEAP32[(21240)>>2] = 0; + HEAP32[(21244)>>2] = 0; HEAPF32[744] = -1.0; - dest=19512; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=19576; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19816; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19880; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15619,17 +15623,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5207]|0; + $5 = HEAP32[5283]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5208]|0; + $9 = HEAP32[5284]|0; _rlViewport($7,0,$8,$9); - $10 = (21416 + ($0<<6)|0); + $10 = (21720 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (21288 + ($0<<6)|0); + $11 = (21592 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15641,14 +15645,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19576; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19880; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=19512; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=19816; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15656,43 +15660,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5386]|0; + $0 = HEAP32[5462]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,9241,$vararg_buffer); } - $2 = HEAP32[5386]|0; - $3 = (19804 + ($2<<6)|0); - $4 = HEAP32[4877]|0; + $2 = HEAP32[5462]|0; + $3 = (20108 + ($2<<6)|0); + $4 = HEAP32[4953]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5386]|0; + $5 = HEAP32[5462]|0; $6 = (($5) + 1)|0; - HEAP32[5386] = $6; - $7 = HEAP32[4910]|0; + HEAP32[5462] = $6; + $7 = HEAP32[4986]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5387] = 1; + HEAP32[5463] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5386]|0; + $0 = HEAP32[5462]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5386]|0; + $2 = HEAP32[5462]|0; $3 = (($2) + -1)|0; - $4 = (19804 + ($3<<6)|0); - $5 = HEAP32[4877]|0; + $4 = (20108 + ($3<<6)|0); + $5 = HEAP32[4953]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5386] = $6; + HEAP32[5462] = $6; return; } function _IsFileExtension($0,$1) { @@ -15725,7 +15729,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4877]|0; + $5 = HEAP32[4953]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15758,7 +15762,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4877]|0; + $11 = HEAP32[4953]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15769,7 +15773,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4950] = $0; + HEAP32[5026] = $0; return; } function _rlEnd() { @@ -15785,21 +15789,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5387]|0; + $0 = HEAP32[5463]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5388]|0; + $2 = HEAP32[5464]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4947]|0; + $6 = HEAP32[5023]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4877]|0; + $8 = HEAP32[4953]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5388]|0; + $5 = HEAP32[5464]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15807,12 +15811,12 @@ function _rlEnd() { break; } } - HEAP32[5387] = 0; + HEAP32[5463] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4947]|0; + $11 = HEAP32[5023]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15821,7 +15825,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5388]|0; + $19 = HEAP32[5464]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15831,15 +15835,15 @@ function _rlEnd() { } } } else { - HEAP32[5387] = 0; + HEAP32[5463] = 0; } - HEAP32[5388] = 0; + HEAP32[5464] = 0; } - $21 = HEAP32[4950]|0; + $21 = HEAP32[5026]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5209]|0; - $23 = HEAP32[(20844)>>2]|0; + $22 = HEAP32[5285]|0; + $23 = HEAP32[(21148)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15858,16 +15862,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(20856)>>2]|0; - $28 = HEAP32[(20844)>>2]|0; + $27 = HEAP32[(21160)>>2]|0; + $28 = HEAP32[(21148)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(20856)>>2]|0; - $35 = HEAP32[(20844)>>2]|0; + $34 = HEAP32[(21160)>>2]|0; + $35 = HEAP32[(21148)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15875,8 +15879,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(20856)>>2]|0; - $43 = HEAP32[(20844)>>2]|0; + $42 = HEAP32[(21160)>>2]|0; + $43 = HEAP32[(21148)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15884,8 +15888,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(20856)>>2]|0; - $51 = HEAP32[(20844)>>2]|0; + $50 = HEAP32[(21160)>>2]|0; + $51 = HEAP32[(21148)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15893,9 +15897,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(20844)>>2]|0; + $58 = HEAP32[(21148)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(20844)>>2] = $59; + HEAP32[(21148)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15911,8 +15915,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5221]|0; - $62 = HEAP32[(20892)>>2]|0; + $61 = HEAP32[5297]|0; + $62 = HEAP32[(21196)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15931,16 +15935,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(20904)>>2]|0; - $67 = HEAP32[(20892)>>2]|0; + $66 = HEAP32[(21208)>>2]|0; + $67 = HEAP32[(21196)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(20904)>>2]|0; - $74 = HEAP32[(20892)>>2]|0; + $73 = HEAP32[(21208)>>2]|0; + $74 = HEAP32[(21196)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15948,8 +15952,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(20904)>>2]|0; - $82 = HEAP32[(20892)>>2]|0; + $81 = HEAP32[(21208)>>2]|0; + $82 = HEAP32[(21196)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15957,8 +15961,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(20904)>>2]|0; - $90 = HEAP32[(20892)>>2]|0; + $89 = HEAP32[(21208)>>2]|0; + $90 = HEAP32[(21196)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15966,9 +15970,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(20892)>>2]|0; + $97 = HEAP32[(21196)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(20892)>>2] = $98; + HEAP32[(21196)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15984,8 +15988,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5233]|0; - $101 = HEAP32[(20940)>>2]|0; + $100 = HEAP32[5309]|0; + $101 = HEAP32[(21244)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15993,16 +15997,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(20952)>>2]|0; - $106 = HEAP32[(20940)>>2]|0; + $105 = HEAP32[(21256)>>2]|0; + $106 = HEAP32[(21244)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(20952)>>2]|0; - $113 = HEAP32[(20940)>>2]|0; + $112 = HEAP32[(21256)>>2]|0; + $113 = HEAP32[(21244)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16010,8 +16014,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(20952)>>2]|0; - $121 = HEAP32[(20940)>>2]|0; + $120 = HEAP32[(21256)>>2]|0; + $121 = HEAP32[(21244)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16019,8 +16023,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(20952)>>2]|0; - $129 = HEAP32[(20940)>>2]|0; + $128 = HEAP32[(21256)>>2]|0; + $129 = HEAP32[(21244)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16028,9 +16032,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(20940)>>2]|0; + $136 = HEAP32[(21244)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(20940)>>2] = $137; + HEAP32[(21244)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16041,8 +16045,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5233]|0; - $140 = HEAP32[(20936)>>2]|0; + $139 = HEAP32[5309]|0; + $140 = HEAP32[(21240)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16050,8 +16054,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(20948)>>2]|0; - $$promoted = HEAP32[(20936)>>2]|0; + $142 = HEAP32[(21252)>>2]|0; + $$promoted = HEAP32[(21240)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16059,7 +16063,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(20936)>>2] = $147; + HEAP32[(21240)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16086,11 +16090,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5387]|0; + $3 = HEAP32[5463]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4947]|0; - $6 = HEAP32[5388]|0; + $5 = HEAP32[5023]|0; + $6 = HEAP32[5464]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16098,16 +16102,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5388] = $10; + HEAP32[5464] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4950]|0; + $11 = HEAP32[5026]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5209]|0; + $12 = HEAP32[5285]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(20848)>>2]|0; + $14 = HEAP32[(21152)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16118,7 +16122,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5209] = $21; + HEAP32[5285] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9279,$vararg_buffer); @@ -16127,10 +16131,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5221]|0; + $22 = HEAP32[5297]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(20896)>>2]|0; + $24 = HEAP32[(21200)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16141,7 +16145,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5221] = $31; + HEAP32[5297] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9304,$vararg_buffer1); @@ -16150,10 +16154,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5233]|0; + $32 = HEAP32[5309]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(20944)>>2]|0; + $34 = HEAP32[(21248)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16164,9 +16168,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5233] = $41; - $42 = HEAP32[4948]|0; - $43 = HEAP32[4949]|0; + HEAP32[5309] = $41; + $42 = HEAP32[5024]|0; + $43 = HEAP32[5025]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16198,13 +16202,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4950]|0; + $2 = HEAP32[5026]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(20948)>>2]|0; - $5 = HEAP32[(20936)>>2]|0; + $4 = HEAP32[(21252)>>2]|0; + $5 = HEAP32[(21240)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16212,7 +16216,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(20936)>>2] = $10; + HEAP32[(21240)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16231,18 +16235,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4950]|0; + $4 = HEAP32[5026]|0; switch ($4|0) { case 1: { - $$sink37 = (20844);$$sink38 = (20856); + $$sink37 = (21148);$$sink38 = (21160); break; } case 4: { - $$sink37 = (20892);$$sink38 = (20904); + $$sink37 = (21196);$$sink38 = (21208); break; } case 7: { - $$sink37 = (20940);$$sink38 = (20952); + $$sink37 = (21244);$$sink38 = (21256); break; } default: { @@ -16281,8 +16285,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4948]|0; - $2 = HEAP32[4949]|0; + $1 = HEAP32[5024]|0; + $2 = HEAP32[5025]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16295,9 +16299,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4949] = $10; + HEAP32[5025] = $10; } - $11 = HEAP32[4949]|0; + $11 = HEAP32[5025]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16308,7 +16312,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5233]|0; + $0 = HEAP32[5309]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16331,7 +16335,7 @@ function _rlTextureParameters($0,$1,$2) { switch ($1|0) { case 10243: case 10242: { $3 = ($2|0)!=(34626); - $4 = HEAP32[4917]|0; + $4 = HEAP32[4993]|0; $5 = ($4|0)!=(0); $or$cond = $3 | $5; if ($or$cond) { @@ -16349,7 +16353,7 @@ function _rlTextureParameters($0,$1,$2) { } case 12288: { $6 = (+($2|0)); - $7 = +HEAPF32[4916]; + $7 = +HEAPF32[4992]; $8 = !($6 <= $7); if (!($8)) { _glTexParameterf(3553,34046,(+$6)); @@ -16377,40 +16381,11 @@ function _rlTextureParameters($0,$1,$2) { _glBindTexture(3553,0); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9493); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,12130)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5389] = $0; + HEAP32[5465] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16474,7 +16449,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9505|0),(9531|0),1125,(9554|0)); + ___assert_fail((9493|0),(9519|0),1041,(9542|0)); // unreachable; } } @@ -16492,7 +16467,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5390]|0; + $15 = HEAP32[5466]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16585,7 +16560,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9595); + _stbi__err(9583); $$0 = 0; return ($$0|0); } else { @@ -16607,7 +16582,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9586); + _stbi__err(9574); $$0 = 0; return ($$0|0); } @@ -16677,7 +16652,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9614); + _stbi__err(9602); $$045 = 0; return ($$045|0); } @@ -17238,7 +17213,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9928 + ($120)|0); + $121 = (9916 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17280,97 +17255,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9702); + _stbi__err(9690); $$6$ph = 0; break; } case 9: { - _stbi__err(9716); + _stbi__err(9704); $$6$ph = 0; break; } case 11: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 13: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 15: { - _stbi__err(9739); + _stbi__err(9727); $$6$ph = 0; break; } case 17: { - _stbi__err(9759); + _stbi__err(9747); $$6$ph = 0; break; } case 20: { - _stbi__err(9759); + _stbi__err(9747); $$6$ph = 0; break; } case 22: { - _stbi__err(9759); + _stbi__err(9747); $$6$ph = 0; break; } case 24: { - _stbi__err(9769); + _stbi__err(9757); $$6$ph = 0; break; } case 26: { - _stbi__err(9785); + _stbi__err(9773); $$6$ph = 0; break; } case 28: { - _stbi__err(9803); + _stbi__err(9791); $$6$ph = 0; break; } case 31: { - _stbi__err(9824); + _stbi__err(9812); $$6$ph = 0; break; } case 34: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 37: { - _stbi__err(9729); + _stbi__err(9717); $$6$ph = 0; break; } case 39: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 41: { - _stbi__err(9853); + _stbi__err(9841); $$6$ph = 0; break; } case 44: { - _stbi__err(9853); + _stbi__err(9841); $$6$ph = 0; break; } case 47: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 49: { - _stbi__err(9866); + _stbi__err(9854); $$6$ph = 0; break; } @@ -17381,32 +17356,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9882); + _stbi__err(9870); $$6$ph = 0; break; } case 58: { - _stbi__err(9899); + _stbi__err(9887); $$6$ph = 0; break; } case 61: { - _stbi__err(9912); + _stbi__err(9900); $$6$ph = 0; break; } case 63: { - _stbi__err(9899); + _stbi__err(9887); $$6$ph = 0; break; } case 70: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 72: { - _stbi__err(9937); + _stbi__err(9925); $$6$ph = 0; break; } @@ -17418,12 +17393,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9586); + _stbi__err(9574); $$6$ph = 0; break; } case 83: { - _stbi__err(9945); + _stbi__err(9933); $$6$ph = 0; break; } @@ -17436,7 +17411,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9955); + _stbi__err(9943); $$4 = 0; break; } @@ -17501,7 +17476,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5391]|0; + $193 = HEAP32[5467]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17534,7 +17509,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9838); + _stbi__err(9826); $$4 = 0; } } while(0); @@ -17542,24 +17517,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9838); + _stbi__err(9826); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9963] = $206; + HEAP8[9951] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9964)>>0] = $209; + HEAP8[(9952)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9965)>>0] = $211; + HEAP8[(9953)>>0] = $211; $212 = $207&255; - HEAP8[(9966)>>0] = $212; - _stbi__err(9963); + HEAP8[(9954)>>0] = $212; + _stbi__err(9951); $$6$ph = 0; break; } @@ -17593,14 +17568,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9627|0),(9531|0),1561,(9681|0)); + ___assert_fail((9615|0),(9519|0),1477,(9669|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9586); + _stbi__err(9574); $$0163 = 0; return ($$0163|0); } @@ -17963,7 +17938,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12767|0),(9531|0),1590,(9681|0)); + ___assert_fail((13075|0),(9519|0),1506,(9669|0)); // unreachable; } } while(0); @@ -17997,7 +17972,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9627|0),(9531|0),1610,(9658|0)); + ___assert_fail((9615|0),(9519|0),1526,(9646|0)); // unreachable; } $7 = $2 << 1; @@ -18007,7 +17982,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9586); + _stbi__err(9574); $$0163 = 0; return ($$0163|0); } @@ -18370,7 +18345,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((12767|0),(9531|0),1639,(9658|0)); + ___assert_fail((13075|0),(9519|0),1555,(9646|0)); // unreachable; } } while(0); @@ -18518,7 +18493,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10620); + _stbi__err(10928); $$05 = 0; return ($$05|0); } @@ -18955,7 +18930,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((10022|0),(9531|0),4568,(10074|0)); + ___assert_fail((10010|0),(9519|0),4569,(10062|0)); // unreachable; } } @@ -19042,7 +19017,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((10022|0),(9531|0),4543,(10047|0)); + ___assert_fail((10010|0),(9519|0),4544,(10035|0)); // unreachable; } } @@ -19089,7 +19064,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5392]|0; + $16 = HEAP32[5468]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19164,7 +19139,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9988|0),(9531|0),4649,(10006|0)); + ___assert_fail((9976|0),(9519|0),4650,(9994|0)); // unreachable; } } @@ -19187,7 +19162,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9586); + _stbi__err(9574); $$0 = 0; return ($$0|0); } @@ -19364,7 +19339,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((10103|0),(9531|0),4294,(10144|0)); + ___assert_fail((10091|0),(9519|0),4294,(10132|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19372,7 +19347,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9586); + _stbi__err(9574); $$2 = 0; return ($$2|0); } @@ -19391,7 +19366,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(10171); + _stbi__err(10159); $$2 = 0; return ($$2|0); } @@ -19404,7 +19379,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(10171); + _stbi__err(10159); $$2 = 0; return ($$2|0); } @@ -19412,12 +19387,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19440,33 +19415,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (10210 + ($56)|0); + $60 = (10198 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19476,24 +19451,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19503,10 +19478,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19517,10 +19492,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19531,14 +19506,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19568,7 +19543,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19583,12 +19558,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20165,15 +20140,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((10189|0),(9531|0),4315,(10144|0)); + ___assert_fail((10177|0),(9519|0),4315,(10132|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((10215|0),(9531|0),4376,(10144|0)); + ___assert_fail((10203|0),(9519|0),4377,(10132|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(10232); + _stbi__err(10220); $$2 = 0; return ($$2|0); } @@ -20223,7 +20198,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9928 + ($6)|0); + $336 = (9916 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20664,7 +20639,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((10247|0),(9531|0),4465,(10144|0)); + ___assert_fail((10235|0),(9519|0),4466,(10132|0)); // unreachable; } else if ((label|0) == 151) { @@ -20724,8 +20699,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20740,15 +20715,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20757,65 +20732,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(23470)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,10246,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,23471,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,23439,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10534,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20834,14 +20804,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10573); + _stbi__err(10881); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10589); + _stbi__err(10897); $$0 = 0; return ($$0|0); } @@ -20850,7 +20820,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10604); + _stbi__err(10912); $$0 = 0; return ($$0|0); } @@ -20933,7 +20903,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10495|0),(9531|0),4048,(10512|0)); + ___assert_fail((10803|0),(9519|0),4033,(10820|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20970,7 +20940,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10543); + _stbi__err(10851); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20980,7 +20950,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10556); + _stbi__err(10864); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21010,21 +20980,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((23471|0),8,144)|0; - dest=(23615); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(23727); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (23751); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=23439; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21158,7 +21113,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10433); + _stbi__err(10741); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21247,7 +21202,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10485); + _stbi__err(10793); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21276,7 +21231,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11270 + ($$06579)|0); + $14 = (11578 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21367,21 +21322,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10449|0),(9531|0),4021,(10457|0)); + ___assert_fail((10757|0),(9519|0),4006,(10765|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21391,7 +21346,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10433); + _stbi__err(10741); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21555,7 +21510,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(10258); + _stbi__err(10566); $$3$ph = 0; return ($$3$ph|0); } @@ -21565,12 +21520,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(10258); + _stbi__err(10566); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10275); + _stbi__err(10583); $$3$ph = 0; return ($$3$ph|0); } @@ -21627,7 +21582,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10284); + _stbi__err(10592); $$0 = 0; return ($$0|0); } @@ -21653,7 +21608,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9586); + _stbi__err(9574); $$0 = 0; return ($$0|0); } else { @@ -21698,7 +21653,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10380|0),(9531|0),3863,(10417|0)); + ___assert_fail((10688|0),(9519|0),3848,(10725|0)); // unreachable; } else if ((label|0) == 5) { @@ -21746,7 +21701,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10304|0),(9531|0),3891,(10320|0)); + ___assert_fail((10612|0),(9519|0),3876,(10628|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21774,7 +21729,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10351|0),(9531|0),3781,(10362|0)); + ___assert_fail((10659|0),(9519|0),3766,(10670|0)); // unreachable; } return (0)|0; @@ -21920,10 +21875,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21934,27 +21889,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,11457)|0); + $6 = (_IsFileExtension($1,11765)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10679)|0); + $19 = (_IsFileExtension($1,10987)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10684,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10992,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,12438)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21982,7 +21938,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21999,18 +21955,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10632,$vararg_buffer); + _TraceLog(2,10940,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22019,34 +21975,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10720,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10759,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,11028,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,11067,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22065,11 +22028,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,12130)|0); + $4 = (_fopen($0,12438)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10818,$vararg_buffer); + _TraceLog(2,11126,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22168,7 +22131,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10915,$vararg_buffer4); + _TraceLog(0,11223,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22203,14 +22166,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10961,$vararg_buffer8); + _TraceLog(2,11269,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10869,$vararg_buffer1); + _TraceLog(2,11177,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22300,7 +22263,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10790,$vararg_buffer); + _TraceLog(2,11098,$vararg_buffer); $$0 = $6; } } @@ -22345,27 +22308,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,11011,$vararg_buffer); + _TraceLog(2,11319,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,11050,$vararg_buffer1); + _TraceLog(2,11358,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,11076,$vararg_buffer3); + _TraceLog(2,11384,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,11139,$vararg_buffer5); + _TraceLog(2,11447,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,11174,$vararg_buffer7); + _TraceLog(2,11482,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,11209,$vararg_buffer10); + _TraceLog(0,11517,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23548,7 +23511,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11266 + ($$361133)|0); + $199 = (11574 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23978,7 +23941,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11266 + ($$331130)|0); + $186 = (11574 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24016,7 +23979,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11266 + ($$371134)|0); + $203 = (11574 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24055,7 +24018,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11270 + ($$421139)|0); + $235 = (11578 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24462,7 +24425,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11289 + ($495)|0); + $496 = (11597 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24499,7 +24462,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11293 + ($515)|0); + $516 = (11601 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25425,7 +25388,7 @@ function _ImageAlphaMask($0,$1) { $14 = HEAP32[$13>>2]|0; $15 = ($14|0)>(7); if ($15) { - _TraceLog(2,11335,$vararg_buffer1); + _TraceLog(2,11643,$vararg_buffer1); STACKTOP = sp;return; } ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[$$byval_copy3+16>>2]=HEAP32[$1+16>>2]|0; @@ -25516,14 +25479,14 @@ function _ImageAlphaMask($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,11297,$vararg_buffer); + _TraceLog(2,11605,$vararg_buffer); STACKTOP = sp;return; } function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[19360>>2]|0;HEAP32[$0+4>>2]=HEAP32[19360+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19360+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19360+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19360+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19360+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19360+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19360+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[19664>>2]|0;HEAP32[$0+4>>2]=HEAP32[19664+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[19664+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[19664+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[19664+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[19664+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[19664+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[19664+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -25717,7 +25680,7 @@ function _SetTextureFilter($0,$1) { STACKTOP = sp;return; } else { HEAP32[$vararg_buffer>>2] = $17; - _TraceLog(2,11392,$vararg_buffer); + _TraceLog(2,11700,$vararg_buffer); $19 = HEAP32[$0>>2]|0; _rlTextureParameters($19,10241,9729); _rlTextureParameters($19,10240,9729); @@ -25902,18 +25865,18 @@ function _LoadSpriteFont($0,$1) { $8 = sp + 64|0; $9 = sp + 8|0; ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; - $10 = (_IsFileExtension($1,11457)|0); + $10 = (_IsFileExtension($1,11765)|0); $11 = ($10|0)==(0); do { if ($11) { - $35 = (_IsFileExtension($1,11463)|0); + $35 = (_IsFileExtension($1,11771)|0); $36 = ($35|0)==(0); if (!($36)) { _LoadSpriteFontTTF($4,$1,32,0,0); ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$4+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$4+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$4+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$4+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$4+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$4+28>>2]|0; break; } - $37 = (_IsFileExtension($1,11468)|0); + $37 = (_IsFileExtension($1,11776)|0); $38 = ($37|0)==(0); if (!($38)) { _LoadBMFont($5,$1); @@ -25981,7 +25944,7 @@ function _LoadSpriteFont($0,$1) { $45 = ($44|0)==(0); if ($45) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11473,$vararg_buffer); + _TraceLog(2,11781,$vararg_buffer); _GetDefaultFont($9); ;HEAP32[$2>>2]=HEAP32[$9>>2]|0;HEAP32[$2+4>>2]=HEAP32[$9+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$9+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$9+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$9+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$9+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$9+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$9+28>>2]|0; ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; @@ -26009,7 +25972,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { $6 = sp + 40|0; $7 = sp + 8|0; ;HEAP32[$$sroa$8>>2]=0|0;HEAP32[$$sroa$8+4>>2]=0|0;HEAP32[$$sroa$8+8>>2]=0|0;HEAP32[$$sroa$8+12>>2]=0|0;HEAP32[$$sroa$8+16>>2]=0|0;HEAP32[$$sroa$8+20>>2]=0|0;HEAP32[$$sroa$8+24>>2]=0|0; - $8 = (_IsFileExtension($1,11463)|0); + $8 = (_IsFileExtension($1,11771)|0); $9 = ($8|0)==(0); if (!($9)) { $10 = ($4|0)==(0|0); @@ -26052,7 +26015,7 @@ function _LoadSpriteFontTTF($0,$1,$2,$3,$4) { } } HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,12017,$vararg_buffer); + _TraceLog(2,12325,$vararg_buffer); _GetDefaultFont($7); $$sroa$0$0$copyload17 = HEAP32[$7>>2]|0; $$sroa$8$0$$sroa_idx26 = ((($7)) + 4|0); @@ -26101,17 +26064,17 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; HEAP32[$4>>2] = 0; HEAP32[$8>>2] = 0; - $15 = (_fopen($1,11615)|0); + $15 = (_fopen($1,11923)|0); $16 = ($15|0)==(0|0); if ($16) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,11618,$vararg_buffer); + _TraceLog(2,11926,$vararg_buffer); ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; } (_fgets($3,256,$15)|0); (_fgets($3,256,$15)|0); - $17 = (_strstr($3,11652)|0); + $17 = (_strstr($3,11960)|0); HEAP32[$vararg_buffer1>>2] = $4; $vararg_ptr4 = ((($vararg_buffer1)) + 4|0); HEAP32[$vararg_ptr4>>2] = $9; @@ -26119,12 +26082,12 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr5>>2] = $5; $vararg_ptr6 = ((($vararg_buffer1)) + 12|0); HEAP32[$vararg_ptr6>>2] = $6; - (_sscanf($17,11663,$vararg_buffer1)|0); + (_sscanf($17,11971,$vararg_buffer1)|0); $18 = HEAP32[$4>>2]|0; HEAP32[$vararg_buffer7>>2] = $1; $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); HEAP32[$vararg_ptr10>>2] = $18; - _TraceLog(3,11705,$vararg_buffer7); + _TraceLog(3,12013,$vararg_buffer7); $19 = HEAP32[$5>>2]|0; $20 = HEAP32[$6>>2]|0; HEAP32[$vararg_buffer11>>2] = $1; @@ -26132,24 +26095,24 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr14>>2] = $19; $vararg_ptr15 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr15>>2] = $20; - _TraceLog(3,11724,$vararg_buffer11); + _TraceLog(3,12032,$vararg_buffer11); (_fgets($3,256,$15)|0); - $21 = (_strstr($3,11755)|0); + $21 = (_strstr($3,12063)|0); HEAP32[$vararg_buffer16>>2] = $7; - (_sscanf($21,11760,$vararg_buffer16)|0); + (_sscanf($21,12068,$vararg_buffer16)|0); HEAP32[$vararg_buffer19>>2] = $1; $vararg_ptr22 = ((($vararg_buffer19)) + 4|0); HEAP32[$vararg_ptr22>>2] = $7; - _TraceLog(3,11776,$vararg_buffer19); + _TraceLog(3,12084,$vararg_buffer19); (_fgets($3,256,$15)|0); - $22 = (_strstr($3,11807)|0); + $22 = (_strstr($3,12115)|0); HEAP32[$vararg_buffer23>>2] = $8; - (_sscanf($22,11813,$vararg_buffer23)|0); + (_sscanf($22,12121,$vararg_buffer23)|0); $23 = HEAP32[$8>>2]|0; HEAP32[$vararg_buffer26>>2] = $1; $vararg_ptr29 = ((($vararg_buffer26)) + 4|0); HEAP32[$vararg_ptr29>>2] = $23; - _TraceLog(3,11822,$vararg_buffer26); + _TraceLog(3,12130,$vararg_buffer26); $24 = (_strrchr($1,47)|0); $25 = (_strlen($1)|0); $26 = (_strlen($24)|0); @@ -26169,7 +26132,7 @@ function _LoadBMFont($0,$1) { HEAP32[$$byval_copy52>>2] = $1; $vararg_ptr33 = ((($$byval_copy52)) + 4|0); HEAP32[$vararg_ptr33>>2] = $31; - _TraceLog(3,11846,$$byval_copy52); + _TraceLog(3,12154,$$byval_copy52); _LoadImage($vararg_buffer26,$31); $37 = ((($vararg_buffer26)) + 16|0); $38 = HEAP32[$37>>2]|0; @@ -26247,7 +26210,7 @@ function _LoadBMFont($0,$1) { HEAP32[$vararg_ptr42>>2] = $12; $vararg_ptr43 = ((($vararg_buffer34)) + 28|0); HEAP32[$vararg_ptr43>>2] = $13; - (_sscanf($3,11881,$vararg_buffer34)|0); + (_sscanf($3,12189,$vararg_buffer34)|0); $64 = HEAP32[$vararg_buffer23>>2]|0; $65 = HEAP32[$59>>2]|0; $66 = (($65) + ($$05355<<5)|0); @@ -26297,7 +26260,7 @@ function _LoadBMFont($0,$1) { ;HEAP32[$2>>2]=HEAP32[$14>>2]|0;HEAP32[$2+4>>2]=HEAP32[$14+4>>2]|0;HEAP32[$2+8>>2]=HEAP32[$14+8>>2]|0;HEAP32[$2+12>>2]=HEAP32[$14+12>>2]|0;HEAP32[$2+16>>2]=HEAP32[$14+16>>2]|0;HEAP32[$2+20>>2]=HEAP32[$14+20>>2]|0;HEAP32[$2+24>>2]=HEAP32[$14+24>>2]|0;HEAP32[$2+28>>2]=HEAP32[$14+28>>2]|0; } else { HEAP32[$vararg_buffer44>>2] = $1; - _TraceLog(0,11955,$vararg_buffer44); + _TraceLog(0,12263,$vararg_buffer44); } ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$2+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[$2+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$2+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[$2+28>>2]|0; STACKTOP = sp;return; @@ -26594,7 +26557,7 @@ function _LoadImageFont($0,$1,$2) { } else { $$0201$lcssa = 0; } - _TraceLog(3,11529,$vararg_buffer); + _TraceLog(3,11837,$vararg_buffer); $145 = HEAP32[$7>>2]|0; $146 = HEAP32[$63>>2]|0; $147 = Math_imul($146, $145)|0; @@ -26657,7 +26620,7 @@ function _LoadImageFont($0,$1,$2) { } else { $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11573,$vararg_buffer1); + _TraceLog(0,11881,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26691,7 +26654,7 @@ function _LoadImageFont($0,$1,$2) { } $175 = ((($156)) + 16|0); $176 = HEAP32[$175>>2]|0; - _TraceLog(0,11573,$vararg_buffer1); + _TraceLog(0,11881,$vararg_buffer1); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$5$0$$sroa_idx15 = ((($0)) + 20|0); HEAP32[$$sroa$5$0$$sroa_idx15>>2] = $176; @@ -26721,7 +26684,7 @@ function _UnloadSpriteFont($0) { $5 = ((($0)) + 28|0); $6 = HEAP32[$5>>2]|0; _free($6); - _TraceLog(3,11991,$vararg_buffer); + _TraceLog(3,12299,$vararg_buffer); STACKTOP = sp;return; } function _LoadTTF($0,$1,$2,$3,$4) { @@ -26760,18 +26723,18 @@ function _LoadTTF($0,$1,$2,$3,$4) { HEAP32[$$byval_copy9>>2] = $18; $vararg_ptr1 = ((($$byval_copy9)) + 4|0); HEAP32[$vararg_ptr1>>2] = $18; - _TraceLog(0,12076,$$byval_copy9); + _TraceLog(0,12384,$$byval_copy9); $19 = (_malloc(16777216)|0); $20 = Math_imul($18, $18)|0; $21 = (_malloc($20)|0); $22 = ($3*20)|0; $23 = (_malloc($22)|0); ;HEAP32[$$sroa$0>>2]=0|0;HEAP32[$$sroa$0+4>>2]=0|0;HEAP32[$$sroa$0+8>>2]=0|0;HEAP32[$$sroa$0+12>>2]=0|0;HEAP32[$$sroa$0+16>>2]=0|0; - $24 = (_fopen($1,12130)|0); + $24 = (_fopen($1,12438)|0); $25 = ($24|0)==(0|0); if ($25) { HEAP32[$vararg_buffer2>>2] = $1; - _TraceLog(2,12133,$vararg_buffer2); + _TraceLog(2,12441,$vararg_buffer2); ;HEAP32[$0>>2]=HEAP32[$$sroa$0>>2]|0;HEAP32[$0+4>>2]=HEAP32[$$sroa$0+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[$$sroa$0+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[$$sroa$0+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[$$sroa$0+16>>2]|0; $$sroa$6$0$$sroa_idx49 = ((($0)) + 20|0); HEAP32[$$sroa$6$0$$sroa_idx49>>2] = 0; @@ -26785,13 +26748,13 @@ function _LoadTTF($0,$1,$2,$3,$4) { $26 = HEAP32[$4>>2]|0; $27 = ($26|0)==(32); if (!($27)) { - _TraceLog(2,12167,$vararg_buffer5); + _TraceLog(2,12475,$vararg_buffer5); } $28 = HEAP32[$4>>2]|0; $29 = (_stbtt_BakeFontBitmap($19,$7,$21,$18,$18,$28,$3,$23)|0); $30 = ($29|0)<(0); if ($30) { - _TraceLog(2,12234,$vararg_buffer7); + _TraceLog(2,12542,$vararg_buffer7); } _free($19); $31 = $20 << 1; @@ -27029,7 +26992,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((12297|0),(12307|0),3273,(12333|0)); + ___assert_fail((12605|0),(12615|0),3274,(12641|0)); // unreachable; } else if ((label|0) == 11) { @@ -27132,7 +27095,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((12767|0),(12307|0),1346,(13109|0)); + ___assert_fail((13075|0),(12615|0),1347,(13417|0)); // unreachable; break; } @@ -27198,7 +27161,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((13130|0),(12307|0),1382,(13109|0)); + ___assert_fail((13438|0),(12615|0),1383,(13417|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -27259,7 +27222,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((12767|0),(12307|0),1417,(13109|0)); + ___assert_fail((13075|0),(12615|0),1418,(13417|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -28139,11 +28102,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((12363|0),(12307|0),2774,(12376|0)); + ___assert_fail((12671|0),(12615|0),2775,(12684|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12406|0),(12307|0),2787,(12376|0)); + ___assert_fail((12714|0),(12615|0),2788,(12684|0)); // unreachable; } } @@ -28188,7 +28151,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((12696|0),(12307|0),2373,(12712|0)); + ___assert_fail((13004|0),(12615|0),2374,(13020|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -28516,19 +28479,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((12426|0),(12307|0),2585,(12441|0)); + ___assert_fail((12734|0),(12615|0),2586,(12749|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((12470|0),(12307|0),2604,(12441|0)); + ___assert_fail((12778|0),(12615|0),2605,(12749|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((12506|0),(12307|0),2632,(12441|0)); + ___assert_fail((12814|0),(12615|0),2633,(12749|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((12524|0),(12307|0),2669,(12441|0)); + ___assert_fail((12832|0),(12615|0),2670,(12749|0)); // unreachable; } else if ((label|0) == 42) { @@ -28577,7 +28540,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((12544|0),(12307|0),2543,(12552|0)); + ___assert_fail((12852|0),(12615|0),2544,(12860|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -28586,7 +28549,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((12579|0),(12307|0),2544,(12552|0)); + ___assert_fail((12887|0),(12615|0),2545,(12860|0)); // unreachable; } $14 = $12 < $4; @@ -28628,7 +28591,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((12594|0),(12307|0),2557,(12552|0)); + ___assert_fail((12902|0),(12615|0),2558,(12860|0)); // unreachable; } } else { @@ -28638,7 +28601,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((12604|0),(12307|0),2559,(12552|0)); + ___assert_fail((12912|0),(12615|0),2560,(12860|0)); // unreachable; } $38 = !($$079 <= $31); @@ -28647,7 +28610,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((12612|0),(12307|0),2561,(12552|0)); + ___assert_fail((12920|0),(12615|0),2562,(12860|0)); // unreachable; } $40 = !($$079 >= $34); @@ -28658,14 +28621,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((12630|0),(12307|0),2565,(12552|0)); + ___assert_fail((12938|0),(12615|0),2566,(12860|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((12620|0),(12307|0),2563,(12552|0)); + ___assert_fail((12928|0),(12615|0),2564,(12860|0)); // unreachable; } } @@ -28698,7 +28661,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((12651|0),(12307|0),2572,(12552|0)); + ___assert_fail((12959|0),(12615|0),2573,(12860|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -29234,7 +29197,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((12730|0),(12307|0),1439,(12746|0)); + ___assert_fail((13038|0),(12615|0),1440,(13054|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -30181,7 +30144,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((12972|0),(12307|0),1117,(12992|0)); + ___assert_fail((13280|0),(12615|0),1118,(13300|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -30199,7 +30162,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((12889|0),(12307|0),1118,(12992|0)); + ___assert_fail((13197|0),(12615|0),1119,(13300|0)); // unreachable; } } @@ -30444,7 +30407,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((12784|0),(12307|0),1013,(12801|0)); + ___assert_fail((13092|0),(12615|0),1014,(13109|0)); // unreachable; } while(1) { @@ -30515,7 +30478,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((12767|0),(12307|0),1063,(12769|0)); + ___assert_fail((13075|0),(12615|0),1064,(13077|0)); // unreachable; } } @@ -30686,7 +30649,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((12816|0),(12307|0),1022,(12834|0)); + ___assert_fail((13124|0),(12615|0),1023,(13142|0)); // unreachable; } } @@ -30701,7 +30664,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((12849|0),(12307|0),1000,(12873|0)); + ___assert_fail((13157|0),(12615|0),1001,(13181|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -30846,7 +30809,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((12889|0),(12307|0),1048,(12918|0)); + ___assert_fail((13197|0),(12615|0),1049,(13226|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -30943,7 +30906,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((12939|0),(12307|0),1069,(12948|0)); + ___assert_fail((13247|0),(12615|0),1070,(13256|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -31270,7 +31233,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((12767|0),(12307|0),1723,(13086|0)); + ___assert_fail((13075|0),(12615|0),1724,(13394|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -31454,7 +31417,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((12767|0),(12307|0),1670,(13086|0)); + ___assert_fail((13075|0),(12615|0),1671,(13394|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -31509,7 +31472,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((13013|0),(12307|0),2113,(13063|0)); + ___assert_fail((13321|0),(12615|0),2114,(13371|0)); // unreachable; } } @@ -31599,23 +31562,23 @@ function _stbtt_InitFont_internal($0,$1) { $20 = ((($0)) + 48|0); _stbtt__new_buf($2,0,0); ;HEAP32[$20>>2]=HEAP32[$2>>2]|0;HEAP32[$20+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$20+8>>2]=HEAP32[$2+8>>2]|0; - $21 = (_stbtt__find_table($1,13186)|0); - $22 = (_stbtt__find_table($1,13191)|0); + $21 = (_stbtt__find_table($1,13494)|0); + $22 = (_stbtt__find_table($1,13499)|0); $23 = ((($0)) + 16|0); HEAP32[$23>>2] = $22; - $24 = (_stbtt__find_table($1,13196)|0); + $24 = (_stbtt__find_table($1,13504)|0); $25 = ((($0)) + 20|0); HEAP32[$25>>2] = $24; - $26 = (_stbtt__find_table($1,13201)|0); + $26 = (_stbtt__find_table($1,13509)|0); $27 = ((($0)) + 24|0); HEAP32[$27>>2] = $26; - $28 = (_stbtt__find_table($1,13206)|0); + $28 = (_stbtt__find_table($1,13514)|0); $29 = ((($0)) + 28|0); HEAP32[$29>>2] = $28; - $30 = (_stbtt__find_table($1,13211)|0); + $30 = (_stbtt__find_table($1,13519)|0); $31 = ((($0)) + 32|0); HEAP32[$31>>2] = $30; - $32 = (_stbtt__find_table($1,13216)|0); + $32 = (_stbtt__find_table($1,13524)|0); $33 = ((($0)) + 36|0); HEAP32[$33>>2] = $32; $34 = ($21|0)==(0); @@ -31649,7 +31612,7 @@ function _stbtt_InitFont_internal($0,$1) { HEAP32[$7>>2] = 0; HEAP32[$8>>2] = 0; HEAP32[$9>>2] = 0; - $45 = (_stbtt__find_table($1,13221)|0); + $45 = (_stbtt__find_table($1,13529)|0); $46 = ($45|0)==(0); do { if (!($46)) { @@ -31728,7 +31691,7 @@ function _stbtt_InitFont_internal($0,$1) { } } } while(0); - $68 = (_stbtt__find_table($1,13226)|0); + $68 = (_stbtt__find_table($1,13534)|0); $69 = ($68|0)==(0); if ($69) { $$sink = 65535; @@ -32092,7 +32055,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,13231)|0); + $12 = (_strstr($11,13539)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -32101,7 +32064,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,13235)|0); + $17 = (_strstr($16,13543)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -32110,7 +32073,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,13239)|0); + $22 = (_strstr($21,13547)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -32119,7 +32082,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,13243)|0); + $27 = (_strstr($26,13551)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -32128,1210 +32091,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,13249)|0); + $32 = (_strcmp($31,13557)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,13287)|0); + $35 = (_strcmp($34,13595)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 13306; + HEAP32[$3>>2] = 13614; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,13319)|0); + $38 = (_strcmp($37,13627)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 13340; + HEAP32[$3>>2] = 13648; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,13355)|0); + $41 = (_strcmp($40,13663)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 13370; + HEAP32[$3>>2] = 13678; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,13385)|0); + $44 = (_strcmp($43,13693)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 13400; + HEAP32[$3>>2] = 13708; } } else { - HEAP32[$3>>2] = 13271; + HEAP32[$3>>2] = 13579; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,13415)|0); + $47 = (_strcmp($46,13723)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,13429)|0); + $50 = (_strcmp($49,13737)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,13441)|0); + $53 = (_strcmp($52,13749)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,13455)|0); + $56 = (_strcmp($55,13763)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,13467)|0); + $59 = (_strcmp($58,13775)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,13481)|0); + $62 = (_strcmp($61,13789)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,13495)|0); + $65 = (_strcmp($64,13803)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,13512)|0); + $68 = (_strcmp($67,13820)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,13535)|0); + $71 = (_strcmp($70,13843)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,13561)|0); + $74 = (_strcmp($73,13869)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,13574)|0); + $77 = (_strcmp($76,13882)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,13590)|0); + $80 = (_strcmp($79,13898)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,13603)|0); + $83 = (_strcmp($82,13911)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,13617)|0); + $86 = (_strcmp($85,13925)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,13637)|0); + $89 = (_strcmp($88,13945)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,13657)|0); + $92 = (_strcmp($91,13965)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,13674)|0); + $95 = (_strcmp($94,13982)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,13691)|0); + $98 = (_strcmp($97,13999)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,13703)|0); + $101 = (_strcmp($100,14011)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,13716)|0); + $104 = (_strcmp($103,14024)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,13732)|0); + $107 = (_strcmp($106,14040)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,13755)|0); + $110 = (_strcmp($109,14063)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,13768)|0); + $113 = (_strcmp($112,14076)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,13784)|0); + $116 = (_strcmp($115,14092)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,13795)|0); + $119 = (_strcmp($118,14103)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,13814)|0); + $122 = (_strcmp($121,14122)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,13836)|0); + $125 = (_strcmp($124,14144)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,13855)|0); + $128 = (_strcmp($127,14163)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,13884)|0); + $131 = (_strcmp($130,14192)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,13901)|0); + $134 = (_strcmp($133,14209)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,13916)|0); + $137 = (_strcmp($136,14224)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,13931)|0); + $140 = (_strcmp($139,14239)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,13952)|0); + $143 = (_strcmp($142,14260)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,13972)|0); + $146 = (_strcmp($145,14280)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,13992)|0); + $149 = (_strcmp($148,14300)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,14018)|0); + $152 = (_strcmp($151,14326)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,14037)|0); + $155 = (_strcmp($154,14345)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,14049)|0); + $158 = (_strcmp($157,14357)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,14061)|0); + $161 = (_strcmp($160,14369)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,14073)|0); + $164 = (_strcmp($163,14381)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,14085)|0); + $167 = (_strcmp($166,14393)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,14097)|0); + $170 = (_strcmp($169,14405)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,14109)|0); + $173 = (_strcmp($172,14417)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,14121)|0); + $176 = (_strcmp($175,14429)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,14133)|0); + $179 = (_strcmp($178,14441)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,14146)|0); + $182 = (_strcmp($181,14454)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,14159)|0); + $185 = (_strcmp($184,14467)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,14172)|0); + $188 = (_strcmp($187,14480)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,14185)|0); + $191 = (_strcmp($190,14493)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,14198)|0); + $194 = (_strcmp($193,14506)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,14211)|0); + $197 = (_strcmp($196,14519)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,14224)|0); + $200 = (_strcmp($199,14532)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,14237)|0); + $203 = (_strcmp($202,14545)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,14256)|0); + $206 = (_strcmp($205,14564)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,14275)|0); + $209 = (_strcmp($208,14583)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,14294)|0); + $212 = (_strcmp($211,14602)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,14307)|0); + $215 = (_strcmp($214,14615)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,14325)|0); + $218 = (_strcmp($217,14633)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,14343)|0); + $221 = (_strcmp($220,14651)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,14361)|0); + $224 = (_strcmp($223,14669)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,14379)|0); + $227 = (_strcmp($226,14687)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,14399)|0); + $230 = (_strcmp($229,14707)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,13340)|0); + $233 = (_strcmp($232,13648)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,14417)|0); + $236 = (_strcmp($235,14725)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,14432)|0); + $239 = (_strcmp($238,14740)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,14453)|0); + $242 = (_strcmp($241,14761)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,14468)|0); + $245 = (_strcmp($244,14776)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,14486)|0); + $248 = (_strcmp($247,14794)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,14502)|0); + $251 = (_strcmp($250,14810)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,14521)|0); + $254 = (_strcmp($253,14829)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,14535)|0); + $257 = (_strcmp($256,14843)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,14550)|0); + $260 = (_strcmp($259,14858)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,13271)|0); + $263 = (_strcmp($262,13579)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,14561)|0); + $266 = (_strcmp($265,14869)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,13370)|0); + $269 = (_strcmp($268,13678)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,13400)|0); + $272 = (_strcmp($271,13708)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,14577)|0); + $275 = (_strcmp($274,14885)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,14604)|0); + $278 = (_strcmp($277,14912)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,14618)|0); + $281 = (_strcmp($280,14926)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,13306)|0); + $284 = (_strcmp($283,13614)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,14638)|0); + $287 = (_strcmp($286,14946)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,14656)|0); + $290 = (_strcmp($289,14964)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,14668)|0); + $293 = (_strcmp($292,14976)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,14689)|0); + $296 = (_strcmp($295,14997)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,14707)|0); + $299 = (_strcmp($298,15015)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,14725)|0); + $302 = (_strcmp($301,15033)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,14746)|0); + $305 = (_strcmp($304,15054)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,14772)|0); + $308 = (_strcmp($307,15080)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,14795)|0); + $311 = (_strcmp($310,15103)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,14833)|0); + $314 = (_strcmp($313,15141)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,14849)|0); + $317 = (_strcmp($316,15157)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,14864)|0); + $320 = (_strcmp($319,15172)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,14887)|0); + $323 = (_strcmp($322,15195)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,14900)|0); + $326 = (_strcmp($325,15208)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,14914)|0); + $329 = (_strcmp($328,15222)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,14928)|0); + $332 = (_strcmp($331,15236)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,14948)|0); + $335 = (_strcmp($334,15256)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,14968)|0); + $338 = (_strcmp($337,15276)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,14984)|0); + $341 = (_strcmp($340,15292)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,15002)|0); + $344 = (_strcmp($343,15310)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,15018)|0); + $347 = (_strcmp($346,15326)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,15033)|0); + $350 = (_strcmp($349,15341)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,15055)|0); + $353 = (_strcmp($352,15363)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,15073)|0); + $356 = (_strcmp($355,15381)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,15094)|0); + $359 = (_strcmp($358,15402)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,15112)|0); + $362 = (_strcmp($361,15420)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,15125)|0); + $365 = (_strcmp($364,15433)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,15140)|0); + $368 = (_strcmp($367,15448)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,15154)|0); + $371 = (_strcmp($370,15462)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,15164)|0); + $374 = (_strcmp($373,15472)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,15174)|0); + $377 = (_strcmp($376,15482)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,15196)|0); + $380 = (_strcmp($379,15504)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,15222)|0); + $383 = (_strcmp($382,15530)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,15249)|0); + $386 = (_strcmp($385,15557)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,15262)|0); + $389 = (_strcmp($388,15570)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,15277)|0); + $392 = (_strcmp($391,15585)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,15292)|0); + $395 = (_strcmp($394,15600)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,15316)|0); + $398 = (_strcmp($397,15624)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,15327)|0); + $401 = (_strcmp($400,15635)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,15349)|0); + $404 = (_strcmp($403,15657)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,15371)|0); + $407 = (_strcmp($406,15679)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,15395)|0); + $410 = (_strcmp($409,15703)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,15404)|0); + $413 = (_strcmp($412,15712)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,15412)|0); + $416 = (_strcmp($415,15720)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,15425)|0); + $419 = (_strcmp($418,15733)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,15439)|0); + $422 = (_strcmp($421,15747)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,15451)|0); + $425 = (_strcmp($424,15759)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,15460)|0); + $428 = (_strcmp($427,15768)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,15470)|0); + $431 = (_strcmp($430,15778)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,15482)|0); + $434 = (_strcmp($433,15790)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,15493)|0); + $437 = (_strcmp($436,15801)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,15501)|0); + $440 = (_strcmp($439,15809)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,15513)|0); + $443 = (_strcmp($442,15821)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,15528)|0); + $446 = (_strcmp($445,15836)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,15540)|0); + $449 = (_strcmp($448,15848)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,15554)|0); + $452 = (_strcmp($451,15862)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,15579)|0); + $455 = (_strcmp($454,15887)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,15596)|0); + $458 = (_strcmp($457,15904)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,15612)|0); + $461 = (_strcmp($460,15920)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,15628)|0); + $464 = (_strcmp($463,15936)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,15640)|0); + $467 = (_strcmp($466,15948)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,15652)|0); + $470 = (_strcmp($469,15960)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,15676)|0); + $473 = (_strcmp($472,15984)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,15689)|0); + $476 = (_strcmp($475,15997)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,15703)|0); + $479 = (_strcmp($478,16011)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,15725)|0); + $482 = (_strcmp($481,16033)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,15732)|0); + $485 = (_strcmp($484,16040)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,15748)|0); + $488 = (_strcmp($487,16056)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,15765)|0); + $491 = (_strcmp($490,16073)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,15782)|0); + $494 = (_strcmp($493,16090)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,15798)|0); + $497 = (_strcmp($496,16106)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,15814)|0); + $500 = (_strcmp($499,16122)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,15831)|0); + $503 = (_strcmp($502,16139)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,15845)|0); + $506 = (_strcmp($505,16153)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,15857)|0); + $509 = (_strcmp($508,16165)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,15868)|0); + $512 = (_strcmp($511,16176)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,15881)|0); + $515 = (_strcmp($514,16189)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,15891)|0); + $518 = (_strcmp($517,16199)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,15908)|0); + $521 = (_strcmp($520,16216)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,15920)|0); + $524 = (_strcmp($523,16228)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,15942)|0); + $527 = (_strcmp($526,16250)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,15962)|0); + $530 = (_strcmp($529,16270)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,15975)|0); + $533 = (_strcmp($532,16283)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,15997)|0); + $536 = (_strcmp($535,16305)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,16017)|0); + $539 = (_strcmp($538,16325)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,16034)|0); + $542 = (_strcmp($541,16342)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,16051)|0); + $545 = (_strcmp($544,16359)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,16071)|0); + $548 = (_strcmp($547,16379)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -33353,7 +33316,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (21572|0); + return (21876|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33810,7 +33773,7 @@ function ___intscan($0,$1,$2,$3,$4) { $48 = (___shgetc($0)|0); $50 = $48; } - $49 = ((16188) + ($50)|0); + $49 = ((16496) + ($50)|0); $51 = HEAP8[$49>>0]|0; $52 = ($51&255)>(15); if ($52) { @@ -33842,7 +33805,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } else { $$166 = $28 ? 10 : $1; - $60 = ((16188) + ($$0159)|0); + $60 = ((16496) + ($$0159)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $63 = ($62>>>0)<($$166>>>0); @@ -33978,10 +33941,10 @@ function ___intscan($0,$1,$2,$3,$4) { $126 = ($$1165168*23)|0; $127 = $126 >>> 5; $128 = $127 & 7; - $129 = (16444 + ($128)|0); + $129 = (16752 + ($128)|0); $130 = HEAP8[$129>>0]|0; $131 = $130 << 24 >> 24; - $132 = ((16188) + ($$1160169)|0); + $132 = ((16496) + ($$1160169)|0); $133 = HEAP8[$132>>0]|0; $134 = $133&255; $135 = ($134>>>0)<($$1165168>>>0); @@ -34003,7 +33966,7 @@ function ___intscan($0,$1,$2,$3,$4) { $145 = (___shgetc($0)|0); $$4163$be = $145; } - $146 = ((16188) + ($$4163$be)|0); + $146 = ((16496) + ($$4163$be)|0); $147 = HEAP8[$146>>0]|0; $148 = $147&255; $149 = ($148>>>0)<($$1165168>>>0); @@ -34054,7 +34017,7 @@ function ___intscan($0,$1,$2,$3,$4) { $177 = (___shgetc($0)|0); $$5$be = $177; } - $178 = ((16188) + ($$5$be)|0); + $178 = ((16496) + ($$5$be)|0); $179 = HEAP8[$178>>0]|0; $180 = $179&255; $181 = ($180>>>0)>=($$1165168>>>0); @@ -34073,7 +34036,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } } - $122 = ((16188) + ($$1160169)|0); + $122 = ((16496) + ($$1160169)|0); $123 = HEAP8[$122>>0]|0; $124 = $123&255; $125 = ($124>>>0)<($$1165168>>>0); @@ -34095,7 +34058,7 @@ function ___intscan($0,$1,$2,$3,$4) { $196 = (___shgetc($0)|0); $$6$be = $196; } - $197 = ((16188) + ($$6$be)|0); + $197 = ((16496) + ($$6$be)|0); $198 = HEAP8[$197>>0]|0; $199 = $198&255; $200 = ($199>>>0)<($$1165168>>>0); @@ -34157,7 +34120,7 @@ function ___intscan($0,$1,$2,$3,$4) { $233 = (___shgetc($0)|0); $$7$be = $233; } - $234 = ((16188) + ($$7$be)|0); + $234 = ((16496) + ($$7$be)|0); $235 = HEAP8[$234>>0]|0; $236 = $235&255; $237 = ($236>>>0)<($$1165168>>>0); @@ -34176,7 +34139,7 @@ function ___intscan($0,$1,$2,$3,$4) { } } while(0); if ((label|0) == 72) { - $238 = ((16188) + ($$8)|0); + $238 = ((16496) + ($$8)|0); $239 = HEAP8[$238>>0]|0; $240 = $239&255; $241 = ($240>>>0)<($$1165167>>>0); @@ -34195,7 +34158,7 @@ function ___intscan($0,$1,$2,$3,$4) { $248 = (___shgetc($0)|0); $$9$be = $248; } - $249 = ((16188) + ($$9$be)|0); + $249 = ((16496) + ($$9$be)|0); $250 = HEAP8[$249>>0]|0; $251 = $250&255; $252 = ($251>>>0)<($$1165167>>>0); @@ -34962,7 +34925,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((16453 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((16761 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -35140,7 +35103,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 16917;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 17225;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -35161,7 +35124,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 16917;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 17225;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -35169,8 +35132,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 16917 : (16919); - $$$ = $238 ? $$ : (16918); + $$ = $240 ? 17225 : (17227); + $$$ = $238 ? $$ : (17226); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -35187,7 +35150,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 16917;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 17225;$242 = $167;$243 = $170; label = 66; break; } @@ -35200,7 +35163,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 16917;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 17225;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -35214,7 +35177,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 16927; + $271 = $270 ? $269 : 17235; $$1 = $271; label = 71; break; @@ -35254,7 +35217,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 16917;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 17225;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -35276,8 +35239,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (16917 + ($208)|0); - $$289 = $or$cond283 ? 16917 : $209; + $209 = (17225 + ($208)|0); + $$289 = $or$cond283 ? 17225 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -35298,7 +35261,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 16917;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 17225;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -35828,7 +35791,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (16965 + ($7)|0); + $9 = (17273 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -36186,14 +36149,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 16934; + $$0471 = $14;$$0520 = 1;$$0521 = 17242; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (16935) : (16940); - $$$ = $16 ? $$ : (16937); + $$ = $18 ? (17243) : (17248); + $$$ = $16 ? $$ : (17245); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -36292,7 +36255,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (16965 + ($80)|0); + $81 = (17273 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -36903,7 +36866,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,16981,1); + _out($0,17289,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -36984,7 +36947,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,16981,1); + _out($0,17289,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -37041,9 +37004,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 16953 : 16957; + $29 = $28 ? 17261 : 17265; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18884 : 16961; + $31 = $28 ? 19192 : 17269; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -37253,7 +37216,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (16983 + ($$016)|0); + $3 = (17291 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -37264,7 +37227,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 17071;$$115 = 87; + $$01214 = 17379;$$115 = 87; label = 5; break; } else { @@ -37274,9 +37237,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 17071; + $$012$lcssa = 17379; } else { - $$01214 = 17071;$$115 = $$016; + $$01214 = 17379;$$115 = $$016; label = 5; } } @@ -37681,7 +37644,7 @@ function ___floatscan($0,$1,$2) { $$0107127 = 0;$$1128 = $$0; while(1) { $26 = $$1128 | 32; - $27 = (18875 + ($$0107127)|0); + $27 = (19183 + ($$0107127)|0); $28 = HEAP8[$27>>0]|0; $29 = $28 << 24 >> 24; $30 = ($26|0)==($29|0); @@ -37748,7 +37711,7 @@ function ___floatscan($0,$1,$2) { $$2109125 = 0;$$3126 = $$1$lcssa; while(1) { $57 = $$3126 | 32; - $58 = (18884 + ($$2109125)|0); + $58 = (19192 + ($$2109125)|0); $59 = HEAP8[$58>>0]|0; $60 = $59 << 24 >> 24; $61 = ($57|0)==($60|0); @@ -39999,7 +39962,7 @@ function _mbrtowc($0,$1,$2,$3) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $4 = sp; $5 = ($3|0)==(0|0); - $$ = $5 ? 21636 : $3; + $$ = $5 ? 21940 : $3; $6 = HEAP32[$$>>2]|0; $7 = ($1|0)==(0|0); L1: do { @@ -40290,7 +40253,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(18888,$3,4)|0); + $memchr = (_memchr(19196,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -40379,7 +40342,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(18888,$4,4)|0); + $memchr = (_memchr(19196,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -40470,7 +40433,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(21576)>>2]|0; + $38 = HEAP32[(21880)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -40503,13 +40466,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((21640|0)); - return (21648|0); + ___lock((21944|0)); + return (21952|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((21640|0)); + ___unlock((21944|0)); return; } function _fclose($0) { @@ -42825,7 +42788,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 19160; + $2 = 19464; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -43080,7 +43043,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5413]|0; + $3 = HEAP32[5489]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -43099,22 +43062,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5413] = 0; + HEAP32[5489] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5413] = $10; + HEAP32[5489] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5413] = 0; + HEAP32[5489] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5413] = $13; + HEAP32[5489] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -43195,7 +43158,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5414]|0; + $8 = HEAP32[5490]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -43204,7 +43167,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (21696 + ($15<<2)|0); + $16 = (22000 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -43215,9 +43178,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5414] = $24; + HEAP32[5490] = $24; } else { - $25 = HEAP32[(21672)>>2]|0; + $25 = HEAP32[(21976)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -43248,7 +43211,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(21664)>>2]|0; + $37 = HEAP32[(21968)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -43282,7 +43245,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (21696 + ($68<<2)|0); + $69 = (22000 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -43293,10 +43256,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5414] = $77; + HEAP32[5490] = $77; $98 = $77; } else { - $78 = HEAP32[(21672)>>2]|0; + $78 = HEAP32[(21976)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -43329,22 +43292,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(21676)>>2]|0; + $92 = HEAP32[(21980)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (21696 + ($94<<2)|0); + $95 = (22000 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5414] = $100; + HEAP32[5490] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(21672)>>2]|0; + $103 = HEAP32[(21976)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -43361,12 +43324,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(21664)>>2] = $84; - HEAP32[(21676)>>2] = $87; + HEAP32[(21968)>>2] = $84; + HEAP32[(21980)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(21660)>>2]|0; + $108 = HEAP32[(21964)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -43394,7 +43357,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (21960 + ($132<<2)|0); + $133 = (22264 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -43434,7 +43397,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(21672)>>2]|0; + $155 = HEAP32[(21976)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -43529,7 +43492,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (21960 + ($188<<2)|0); + $189 = (22264 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -43540,11 +43503,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(21660)>>2] = $194; + HEAP32[(21964)>>2] = $194; break L73; } } else { - $195 = HEAP32[(21672)>>2]|0; + $195 = HEAP32[(21976)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -43565,7 +43528,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(21672)>>2]|0; + $201 = HEAP32[(21976)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -43595,7 +43558,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(21672)>>2]|0; + $213 = HEAP32[(21976)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -43632,22 +43595,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(21676)>>2]|0; + $231 = HEAP32[(21980)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (21696 + ($233<<2)|0); + $234 = (22000 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5414] = $238; + HEAP32[5490] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(21672)>>2]|0; + $241 = HEAP32[(21976)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -43664,8 +43627,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(21664)>>2] = $$0193$lcssa$i; - HEAP32[(21676)>>2] = $157; + HEAP32[(21968)>>2] = $$0193$lcssa$i; + HEAP32[(21980)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -43681,7 +43644,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(21660)>>2]|0; + $250 = HEAP32[(21964)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -43721,7 +43684,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (21960 + ($$0358$i<<2)|0); + $278 = (22264 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -43813,7 +43776,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (21960 + ($330<<2)|0); + $331 = (22264 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -43857,11 +43820,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(21664)>>2]|0; + $345 = HEAP32[(21968)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(21672)>>2]|0; + $348 = HEAP32[(21976)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -43958,7 +43921,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (21960 + ($381<<2)|0); + $382 = (22264 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -43969,12 +43932,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(21660)>>2] = $387; + HEAP32[(21964)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(21672)>>2]|0; + $388 = HEAP32[(21976)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -43996,7 +43959,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(21672)>>2]|0; + $394 = HEAP32[(21976)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -44028,7 +43991,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(21672)>>2]|0; + $406 = HEAP32[(21976)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -44069,20 +44032,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (21696 + ($425<<2)|0); - $427 = HEAP32[5414]|0; + $426 = (22000 + ($425<<2)|0); + $427 = HEAP32[5490]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5414] = $431; + HEAP32[5490] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(21672)>>2]|0; + $434 = HEAP32[(21976)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -44134,7 +44097,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (21960 + ($$0361$i<<2)|0); + $464 = (22264 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -44146,7 +44109,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(21660)>>2] = $472; + HEAP32[(21964)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -44185,7 +44148,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(21672)>>2]|0; + $491 = HEAP32[(21976)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -44204,7 +44167,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(21672)>>2]|0; + $498 = HEAP32[(21976)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -44237,16 +44200,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(21664)>>2]|0; + $506 = HEAP32[(21968)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(21676)>>2]|0; + $509 = HEAP32[(21980)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(21676)>>2] = $511; - HEAP32[(21664)>>2] = $508; + HEAP32[(21980)>>2] = $511; + HEAP32[(21968)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -44256,8 +44219,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(21664)>>2] = 0; - HEAP32[(21676)>>2] = 0; + HEAP32[(21968)>>2] = 0; + HEAP32[(21980)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -44271,14 +44234,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(21668)>>2]|0; + $524 = HEAP32[(21972)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(21668)>>2] = $526; - $527 = HEAP32[(21680)>>2]|0; + HEAP32[(21972)>>2] = $526; + $527 = HEAP32[(21984)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(21680)>>2] = $528; + HEAP32[(21984)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -44289,23 +44252,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5532]|0; + $534 = HEAP32[5608]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(22136)>>2] = 4096; - HEAP32[(22132)>>2] = 4096; - HEAP32[(22140)>>2] = -1; - HEAP32[(22144)>>2] = -1; - HEAP32[(22148)>>2] = 0; - HEAP32[(22100)>>2] = 0; + HEAP32[(22440)>>2] = 4096; + HEAP32[(22436)>>2] = 4096; + HEAP32[(22444)>>2] = -1; + HEAP32[(22448)>>2] = -1; + HEAP32[(22452)>>2] = 0; + HEAP32[(22404)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5532] = $538; + HEAP32[5608] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(22136)>>2]|0; + $$pre$i212 = HEAP32[(22440)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -44318,10 +44281,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(22096)>>2]|0; + $546 = HEAP32[(22400)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(22088)>>2]|0; + $548 = HEAP32[(22392)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -44331,18 +44294,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(22100)>>2]|0; + $552 = HEAP32[(22404)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(21680)>>2]|0; + $555 = HEAP32[(21984)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (22104); + $$0$i$i = (22408); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -44400,7 +44363,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(22132)>>2]|0; + $569 = HEAP32[(22436)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -44410,13 +44373,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(22088)>>2]|0; + $578 = HEAP32[(22392)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(22096)>>2]|0; + $582 = HEAP32[(22400)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -44462,7 +44425,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(22136)>>2]|0; + $601 = HEAP32[(22440)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -44487,9 +44450,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(22100)>>2]|0; + $611 = HEAP32[(22404)>>2]|0; $612 = $611 | 4; - HEAP32[(22100)>>2] = $612; + HEAP32[(22404)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -44525,35 +44488,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(22088)>>2]|0; + $626 = HEAP32[(22392)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(22088)>>2] = $627; - $628 = HEAP32[(22092)>>2]|0; + HEAP32[(22392)>>2] = $627; + $628 = HEAP32[(22396)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(22092)>>2] = $627; + HEAP32[(22396)>>2] = $627; } - $630 = HEAP32[(21680)>>2]|0; + $630 = HEAP32[(21984)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(21672)>>2]|0; + $632 = HEAP32[(21976)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(21672)>>2] = $$749$i; - } - HEAP32[(22104)>>2] = $$749$i; - HEAP32[(22108)>>2] = $$723948$i; - HEAP32[(22116)>>2] = 0; - $635 = HEAP32[5532]|0; - HEAP32[(21692)>>2] = $635; - HEAP32[(21688)>>2] = -1; + HEAP32[(21976)>>2] = $$749$i; + } + HEAP32[(22408)>>2] = $$749$i; + HEAP32[(22412)>>2] = $$723948$i; + HEAP32[(22420)>>2] = 0; + $635 = HEAP32[5608]|0; + HEAP32[(21996)>>2] = $635; + HEAP32[(21992)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (21696 + ($636<<2)|0); + $637 = (22000 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -44576,18 +44539,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(21680)>>2] = $649; - HEAP32[(21668)>>2] = $650; + HEAP32[(21984)>>2] = $649; + HEAP32[(21972)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(22144)>>2]|0; - HEAP32[(21684)>>2] = $655; + $655 = HEAP32[(22448)>>2]|0; + HEAP32[(21988)>>2] = $655; } else { - $$024371$i = (22104); + $$024371$i = (22408); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -44619,7 +44582,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(21668)>>2]|0; + $671 = HEAP32[(21972)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -44630,30 +44593,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(21680)>>2] = $679; - HEAP32[(21668)>>2] = $681; + HEAP32[(21984)>>2] = $679; + HEAP32[(21972)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(22144)>>2]|0; - HEAP32[(21684)>>2] = $686; + $686 = HEAP32[(22448)>>2]|0; + HEAP32[(21988)>>2] = $686; break; } } } - $687 = HEAP32[(21672)>>2]|0; + $687 = HEAP32[(21976)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(21672)>>2] = $$749$i; + HEAP32[(21976)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (22104); + $$124470$i = (22408); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -44708,21 +44671,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(21668)>>2]|0; + $726 = HEAP32[(21972)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(21668)>>2] = $727; - HEAP32[(21680)>>2] = $721; + HEAP32[(21972)>>2] = $727; + HEAP32[(21984)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(21676)>>2]|0; + $730 = HEAP32[(21980)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(21664)>>2]|0; + $732 = HEAP32[(21968)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(21664)>>2] = $733; - HEAP32[(21676)>>2] = $721; + HEAP32[(21968)>>2] = $733; + HEAP32[(21980)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -44745,7 +44708,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (21696 + ($748<<2)|0); + $749 = (22000 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -44768,9 +44731,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5414]|0; + $759 = HEAP32[5490]|0; $760 = $759 & $758; - HEAP32[5414] = $760; + HEAP32[5490] = $760; break; } $761 = ($747|0)==($749|0); @@ -44883,7 +44846,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (21960 + ($796<<2)|0); + $797 = (22264 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -44895,12 +44858,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(21660)>>2]|0; + $802 = HEAP32[(21964)>>2]|0; $803 = $802 & $801; - HEAP32[(21660)>>2] = $803; + HEAP32[(21964)>>2] = $803; break L314; } else { - $804 = HEAP32[(21672)>>2]|0; + $804 = HEAP32[(21976)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -44921,7 +44884,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(21672)>>2]|0; + $810 = HEAP32[(21976)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -44953,7 +44916,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(21672)>>2]|0; + $822 = HEAP32[(21976)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -44986,21 +44949,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (21696 + ($836<<2)|0); - $838 = HEAP32[5414]|0; + $837 = (22000 + ($836<<2)|0); + $838 = HEAP32[5490]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5414] = $842; + HEAP32[5490] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(21672)>>2]|0; + $845 = HEAP32[(21976)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -45055,20 +45018,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (21960 + ($$0296$i$i<<2)|0); + $875 = (22264 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(21660)>>2]|0; + $879 = HEAP32[(21964)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(21660)>>2] = $883; + HEAP32[(21964)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -45107,7 +45070,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(21672)>>2]|0; + $902 = HEAP32[(21976)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -45126,7 +45089,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(21672)>>2]|0; + $909 = HEAP32[(21976)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -45153,7 +45116,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (22104); + $$0$i$i$i = (22408); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -45194,23 +45157,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(21680)>>2] = $946; - HEAP32[(21668)>>2] = $947; + HEAP32[(21984)>>2] = $946; + HEAP32[(21972)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(22144)>>2]|0; - HEAP32[(21684)>>2] = $952; + $952 = HEAP32[(22448)>>2]|0; + HEAP32[(21988)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(22104)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22104)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22104)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22104)+12>>2]|0; - HEAP32[(22104)>>2] = $$749$i; - HEAP32[(22108)>>2] = $$723948$i; - HEAP32[(22116)>>2] = 0; - HEAP32[(22112)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(22408)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(22408)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(22408)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(22408)+12>>2]|0; + HEAP32[(22408)>>2] = $$749$i; + HEAP32[(22412)>>2] = $$723948$i; + HEAP32[(22420)>>2] = 0; + HEAP32[(22416)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -45239,20 +45202,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (21696 + ($968<<2)|0); - $970 = HEAP32[5414]|0; + $969 = (22000 + ($968<<2)|0); + $970 = HEAP32[5490]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5414] = $974; + HEAP32[5490] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(21672)>>2]|0; + $977 = HEAP32[(21976)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -45304,19 +45267,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (21960 + ($$0212$i$i<<2)|0); + $1007 = (22264 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(21660)>>2]|0; + $1010 = HEAP32[(21964)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(21660)>>2] = $1014; + HEAP32[(21964)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -45355,7 +45318,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(21672)>>2]|0; + $1033 = HEAP32[(21976)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -45374,7 +45337,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(21672)>>2]|0; + $1040 = HEAP32[(21976)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -45397,14 +45360,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(21668)>>2]|0; + $1048 = HEAP32[(21972)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(21668)>>2] = $1050; - $1051 = HEAP32[(21680)>>2]|0; + HEAP32[(21972)>>2] = $1050; + $1051 = HEAP32[(21984)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(21680)>>2] = $1052; + HEAP32[(21984)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -45447,7 +45410,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(21672)>>2]|0; + $3 = HEAP32[(21976)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -45480,7 +45443,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(21676)>>2]|0; + $19 = HEAP32[(21980)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -45495,7 +45458,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(21664)>>2] = $17; + HEAP32[(21968)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -45509,7 +45472,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (21696 + ($27<<2)|0); + $28 = (22000 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -45529,9 +45492,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5414]|0; + $37 = HEAP32[5490]|0; $38 = $37 & $36; - HEAP32[5414] = $38; + HEAP32[5490] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -45645,7 +45608,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (21960 + ($74<<2)|0); + $75 = (22264 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -45655,14 +45618,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(21660)>>2]|0; + $80 = HEAP32[(21964)>>2]|0; $81 = $80 & $79; - HEAP32[(21660)>>2] = $81; + HEAP32[(21964)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(21672)>>2]|0; + $82 = HEAP32[(21976)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -45684,7 +45647,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(21672)>>2]|0; + $88 = HEAP32[(21976)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -45716,7 +45679,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(21672)>>2]|0; + $100 = HEAP32[(21976)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -45751,14 +45714,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(21680)>>2]|0; + $120 = HEAP32[(21984)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(21676)>>2]|0; + $122 = HEAP32[(21980)>>2]|0; if ($121) { - $123 = HEAP32[(21668)>>2]|0; + $123 = HEAP32[(21972)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(21668)>>2] = $124; - HEAP32[(21680)>>2] = $$1; + HEAP32[(21972)>>2] = $124; + HEAP32[(21984)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -45766,16 +45729,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(21676)>>2] = 0; - HEAP32[(21664)>>2] = 0; + HEAP32[(21980)>>2] = 0; + HEAP32[(21968)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(21664)>>2]|0; + $129 = HEAP32[(21968)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(21664)>>2] = $130; - HEAP32[(21676)>>2] = $113; + HEAP32[(21968)>>2] = $130; + HEAP32[(21980)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -45794,10 +45757,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (21696 + ($142<<2)|0); + $143 = (22000 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(21672)>>2]|0; + $145 = HEAP32[(21976)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -45815,9 +45778,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5414]|0; + $153 = HEAP32[5490]|0; $154 = $153 & $152; - HEAP32[5414] = $154; + HEAP32[5490] = $154; break; } $155 = ($141|0)==($143|0); @@ -45825,7 +45788,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(21672)>>2]|0; + $156 = HEAP32[(21976)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -45885,7 +45848,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(21672)>>2]|0; + $189 = HEAP32[(21976)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -45898,7 +45861,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(21672)>>2]|0; + $169 = HEAP32[(21976)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -45929,7 +45892,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (21960 + ($193<<2)|0); + $194 = (22264 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -45939,13 +45902,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(21660)>>2]|0; + $199 = HEAP32[(21964)>>2]|0; $200 = $199 & $198; - HEAP32[(21660)>>2] = $200; + HEAP32[(21964)>>2] = $200; break L108; } } else { - $201 = HEAP32[(21672)>>2]|0; + $201 = HEAP32[(21976)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -45966,7 +45929,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(21672)>>2]|0; + $207 = HEAP32[(21976)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -45996,7 +45959,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(21672)>>2]|0; + $219 = HEAP32[(21976)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -46017,10 +45980,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(21676)>>2]|0; + $226 = HEAP32[(21980)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(21664)>>2] = $135; + HEAP32[(21968)>>2] = $135; return; } else { $$2 = $135; @@ -46039,20 +46002,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (21696 + ($234<<2)|0); - $236 = HEAP32[5414]|0; + $235 = (22000 + ($234<<2)|0); + $236 = HEAP32[5490]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5414] = $240; + HEAP32[5490] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(21672)>>2]|0; + $243 = HEAP32[(21976)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -46104,21 +46067,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (21960 + ($$0396<<2)|0); + $273 = (22264 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(21660)>>2]|0; + $277 = HEAP32[(21964)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(21660)>>2] = $281; + HEAP32[(21964)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -46156,7 +46119,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(21672)>>2]|0; + $300 = HEAP32[(21976)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -46175,7 +46138,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(21672)>>2]|0; + $307 = HEAP32[(21976)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -46197,12 +46160,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(21688)>>2]|0; + $314 = HEAP32[(21992)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(21688)>>2] = $315; + HEAP32[(21992)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (22112); + $$0212$in$i = (22416); } else { return; } @@ -46216,7 +46179,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(21688)>>2] = -1; + HEAP32[(21992)>>2] = -1; return; } function _realloc($0,$1) { @@ -46288,7 +46251,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(21672)>>2]|0; + $6 = HEAP32[(21976)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -46318,7 +46281,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(22136)>>2]|0; + $18 = HEAP32[(22440)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -46354,10 +46317,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(21680)>>2]|0; + $34 = HEAP32[(21984)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(21668)>>2]|0; + $36 = HEAP32[(21972)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -46373,15 +46336,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(21680)>>2] = $40; - HEAP32[(21668)>>2] = $39; + HEAP32[(21984)>>2] = $40; + HEAP32[(21972)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(21676)>>2]|0; + $46 = HEAP32[(21980)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(21664)>>2]|0; + $48 = HEAP32[(21968)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -46417,8 +46380,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(21664)>>2] = $storemerge1; - HEAP32[(21676)>>2] = $storemerge; + HEAP32[(21968)>>2] = $storemerge1; + HEAP32[(21980)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -46445,7 +46408,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (21696 + ($81<<2)|0); + $82 = (22000 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -46465,9 +46428,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5414]|0; + $91 = HEAP32[5490]|0; $92 = $91 & $90; - HEAP32[5414] = $92; + HEAP32[5490] = $92; break; } $93 = ($80|0)==($82|0); @@ -46576,7 +46539,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (21960 + ($128<<2)|0); + $129 = (22264 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -46586,13 +46549,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(21660)>>2]|0; + $134 = HEAP32[(21964)>>2]|0; $135 = $134 & $133; - HEAP32[(21660)>>2] = $135; + HEAP32[(21964)>>2] = $135; break L49; } } else { - $136 = HEAP32[(21672)>>2]|0; + $136 = HEAP32[(21976)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -46613,7 +46576,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(21672)>>2]|0; + $142 = HEAP32[(21976)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -46643,7 +46606,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(21672)>>2]|0; + $154 = HEAP32[(21976)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -46728,13 +46691,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(21672)>>2]|0; + $13 = HEAP32[(21976)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(21676)>>2]|0; + $15 = HEAP32[(21980)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -46749,7 +46712,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(21664)>>2] = $12; + HEAP32[(21968)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -46763,7 +46726,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (21696 + ($23<<2)|0); + $24 = (22000 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -46783,9 +46746,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5414]|0; + $33 = HEAP32[5490]|0; $34 = $33 & $32; - HEAP32[5414] = $34; + HEAP32[5490] = $34; $$1 = $11;$$1418 = $12; break; } @@ -46899,7 +46862,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (21960 + ($70<<2)|0); + $71 = (22264 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -46909,14 +46872,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(21660)>>2]|0; + $76 = HEAP32[(21964)>>2]|0; $77 = $76 & $75; - HEAP32[(21660)>>2] = $77; + HEAP32[(21964)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(21672)>>2]|0; + $78 = HEAP32[(21976)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -46938,7 +46901,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(21672)>>2]|0; + $84 = HEAP32[(21976)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -46970,7 +46933,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(21672)>>2]|0; + $96 = HEAP32[(21976)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -46989,7 +46952,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(21672)>>2]|0; + $108 = HEAP32[(21976)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -47000,14 +46963,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(21680)>>2]|0; + $114 = HEAP32[(21984)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(21676)>>2]|0; + $116 = HEAP32[(21980)>>2]|0; if ($115) { - $117 = HEAP32[(21668)>>2]|0; + $117 = HEAP32[(21972)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(21668)>>2] = $118; - HEAP32[(21680)>>2] = $$1; + HEAP32[(21972)>>2] = $118; + HEAP32[(21984)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -47015,16 +46978,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(21676)>>2] = 0; - HEAP32[(21664)>>2] = 0; + HEAP32[(21980)>>2] = 0; + HEAP32[(21968)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(21664)>>2]|0; + $123 = HEAP32[(21968)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(21664)>>2] = $124; - HEAP32[(21676)>>2] = $$1; + HEAP32[(21968)>>2] = $124; + HEAP32[(21980)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -47043,7 +47006,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (21696 + ($136<<2)|0); + $137 = (22000 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -47063,9 +47026,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5414]|0; + $146 = HEAP32[5490]|0; $147 = $146 & $145; - HEAP32[5414] = $147; + HEAP32[5490] = $147; break; } $148 = ($135|0)==($137|0); @@ -47174,7 +47137,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (21960 + ($183<<2)|0); + $184 = (22264 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -47184,13 +47147,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(21660)>>2]|0; + $189 = HEAP32[(21964)>>2]|0; $190 = $189 & $188; - HEAP32[(21660)>>2] = $190; + HEAP32[(21964)>>2] = $190; break L96; } } else { - $191 = HEAP32[(21672)>>2]|0; + $191 = HEAP32[(21976)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -47211,7 +47174,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(21672)>>2]|0; + $197 = HEAP32[(21976)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -47241,7 +47204,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(21672)>>2]|0; + $209 = HEAP32[(21976)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -47262,10 +47225,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(21676)>>2]|0; + $216 = HEAP32[(21980)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(21664)>>2] = $129; + HEAP32[(21968)>>2] = $129; return; } else { $$2 = $129; @@ -47284,20 +47247,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (21696 + ($224<<2)|0); - $226 = HEAP32[5414]|0; + $225 = (22000 + ($224<<2)|0); + $226 = HEAP32[5490]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5414] = $230; + HEAP32[5490] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(21672)>>2]|0; + $233 = HEAP32[(21976)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -47349,20 +47312,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (21960 + ($$0431<<2)|0); + $263 = (22264 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(21660)>>2]|0; + $267 = HEAP32[(21964)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(21660)>>2] = $271; + HEAP32[(21964)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -47401,7 +47364,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(21672)>>2]|0; + $290 = HEAP32[(21976)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -47419,7 +47382,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(21672)>>2]|0; + $297 = HEAP32[(21976)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/text/text_sprite_fonts.png b/docs/examples/web/text/text_sprite_fonts.png new file mode 100644 index 00000000..1bd4aa03 Binary files /dev/null and b/docs/examples/web/text/text_sprite_fonts.png differ diff --git a/docs/examples/web/text/text_ttf_loading.js b/docs/examples/web/text/text_ttf_loading.js index 8da001f7..ee8cd668 100644 --- a/docs/examples/web/text/text_ttf_loading.js +++ b/docs/examples/web/text/text_ttf_loading.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 79912, "filename": "/resources/KAISG.ttf"}], "remote_package_size": 79912, "package_uuid": "682ee35e-826e-46f0-90c7-9663eb9cfd52"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 79912, "filename": "/resources/KAISG.ttf"}], "remote_package_size": 79912, "package_uuid": "b9afee42-f4f0-4282-8b28-a9dc9ff86e8a"}); })(); @@ -10845,6 +10845,56 @@ function _UpdateDrawFrame() { } } } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10944,13 +10994,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11901,45 +11944,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; @@ -17688,7 +17692,7 @@ function _stbtt_BakeFontBitmap_internal($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 8) { - ___assert_fail((9328|0),(9338|0),3273,(9364|0)); + ___assert_fail((9328|0),(9338|0),3274,(9364|0)); // unreachable; } else if ((label|0) == 11) { @@ -17791,7 +17795,7 @@ function _stbtt_FindGlyphIndex($0,$1) { break; } case 2: { - ___assert_fail((9798|0),(9338|0),1346,(10140|0)); + ___assert_fail((9798|0),(9338|0),1347,(10140|0)); // unreachable; break; } @@ -17857,7 +17861,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $70 = $69&65535; $71 = ($70|0)<($1|0); if ($71) { - ___assert_fail((10161|0),(9338|0),1382,(10140|0)); + ___assert_fail((10161|0),(9338|0),1383,(10140|0)); // unreachable; } $72 = ((($6)) + 14|0); @@ -17918,7 +17922,7 @@ function _stbtt_FindGlyphIndex($0,$1) { $108 = $7 & -2; $switch = ($108<<16>>16)==(12); if (!($switch)) { - ___assert_fail((9798|0),(9338|0),1417,(10140|0)); + ___assert_fail((9798|0),(9338|0),1418,(10140|0)); // unreachable; } $109 = ((($6)) + 12|0); @@ -18798,11 +18802,11 @@ function _stbtt__rasterize_sorted_edges($0,$1,$2,$3,$4) { } } if ((label|0) == 11) { - ___assert_fail((9394|0),(9338|0),2774,(9407|0)); + ___assert_fail((9394|0),(9338|0),2775,(9407|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((9437|0),(9338|0),2787,(9407|0)); + ___assert_fail((9437|0),(9338|0),2788,(9407|0)); // unreachable; } } @@ -18847,7 +18851,7 @@ function _stbtt__new_active($0,$1,$2,$3) { $14 = $8 / $13; $15 = ($4|0)==(0|0); if ($15) { - ___assert_fail((9727|0),(9338|0),2373,(9743|0)); + ___assert_fail((9727|0),(9338|0),2374,(9743|0)); // unreachable; } else { $16 = ((($4)) + 8|0); @@ -19175,19 +19179,19 @@ function _stbtt__fill_active_edges_new($0,$1,$2,$3,$4) { } } if ((label|0) == 4) { - ___assert_fail((9457|0),(9338|0),2585,(9472|0)); + ___assert_fail((9457|0),(9338|0),2586,(9472|0)); // unreachable; } else if ((label|0) == 11) { - ___assert_fail((9501|0),(9338|0),2604,(9472|0)); + ___assert_fail((9501|0),(9338|0),2605,(9472|0)); // unreachable; } else if ((label|0) == 17) { - ___assert_fail((9537|0),(9338|0),2632,(9472|0)); + ___assert_fail((9537|0),(9338|0),2633,(9472|0)); // unreachable; } else if ((label|0) == 25) { - ___assert_fail((9555|0),(9338|0),2669,(9472|0)); + ___assert_fail((9555|0),(9338|0),2670,(9472|0)); // unreachable; } else if ((label|0) == 42) { @@ -19236,7 +19240,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { } $8 = $4 < $6; if (!($8)) { - ___assert_fail((9575|0),(9338|0),2543,(9583|0)); + ___assert_fail((9575|0),(9338|0),2544,(9583|0)); // unreachable; } $9 = ((($2)) + 20|0); @@ -19245,7 +19249,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $12 = +HEAPF32[$11>>2]; $13 = !($10 <= $12); if ($13) { - ___assert_fail((9610|0),(9338|0),2544,(9583|0)); + ___assert_fail((9610|0),(9338|0),2545,(9583|0)); // unreachable; } $14 = $12 < $4; @@ -19287,7 +19291,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if ($32) { $35 = !($$077 <= $34); if ($35) { - ___assert_fail((9625|0),(9338|0),2557,(9583|0)); + ___assert_fail((9625|0),(9338|0),2558,(9583|0)); // unreachable; } } else { @@ -19297,7 +19301,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($37)) { break; } - ___assert_fail((9635|0),(9338|0),2559,(9583|0)); + ___assert_fail((9635|0),(9338|0),2560,(9583|0)); // unreachable; } $38 = !($$079 <= $31); @@ -19306,7 +19310,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($39)) { break; } - ___assert_fail((9643|0),(9338|0),2561,(9583|0)); + ___assert_fail((9643|0),(9338|0),2562,(9583|0)); // unreachable; } $40 = !($$079 >= $34); @@ -19317,14 +19321,14 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { if (!($or$cond80)) { break; } - ___assert_fail((9661|0),(9338|0),2565,(9583|0)); + ___assert_fail((9661|0),(9338|0),2566,(9583|0)); // unreachable; } else { $41 = !($$077 >= $34); if (!($41)) { break; } - ___assert_fail((9651|0),(9338|0),2563,(9583|0)); + ___assert_fail((9651|0),(9338|0),2564,(9583|0)); // unreachable; } } @@ -19357,7 +19361,7 @@ function _stbtt__handle_clipped_edge($0,$1,$2,$3,$4,$5,$6) { $58 = !($$077 <= $34); $or$cond85 = $58 | $or$cond84; if ($or$cond85) { - ___assert_fail((9682|0),(9338|0),2572,(9583|0)); + ___assert_fail((9682|0),(9338|0),2573,(9583|0)); // unreachable; } $59 = ((($2)) + 16|0); @@ -19893,7 +19897,7 @@ function _stbtt__GetGlyfOffset($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = ($3|0)==(0); if (!($4)) { - ___assert_fail((9761|0),(9338|0),1439,(9777|0)); + ___assert_fail((9761|0),(9338|0),1440,(9777|0)); // unreachable; } $5 = ((($0)) + 12|0); @@ -20840,7 +20844,7 @@ function _stbtt__cff_index_get($0,$1,$2) { $7 = ($3|0)>($2|0); $or$cond = $6 & $7; if (!($or$cond)) { - ___assert_fail((10003|0),(9338|0),1117,(10023|0)); + ___assert_fail((10003|0),(9338|0),1118,(10023|0)); // unreachable; } $$off = (($4) + -1)<<24>>24; @@ -20858,7 +20862,7 @@ function _stbtt__cff_index_get($0,$1,$2) { _stbtt__buf_range($0,$1,$15,$16); return; } else { - ___assert_fail((9920|0),(9338|0),1118,(10023|0)); + ___assert_fail((9920|0),(9338|0),1119,(10023|0)); // unreachable; } } @@ -21103,7 +21107,7 @@ function _stbtt__buf_get($0,$1) { if ($2) { $$01011 = 0;$$012 = 0; } else { - ___assert_fail((9815|0),(9338|0),1013,(9832|0)); + ___assert_fail((9815|0),(9338|0),1014,(9832|0)); // unreachable; } while(1) { @@ -21174,7 +21178,7 @@ function _stbtt__cff_int($0) { break; } default: { - ___assert_fail((9798|0),(9338|0),1063,(9800|0)); + ___assert_fail((9798|0),(9338|0),1064,(9800|0)); // unreachable; } } @@ -21345,7 +21349,7 @@ function _stbtt__new_buf($0,$1,$2) { HEAP32[$$sroa$5$0$$sroa_idx4>>2] = $2; return; } else { - ___assert_fail((9847|0),(9338|0),1022,(9865|0)); + ___assert_fail((9847|0),(9338|0),1023,(9865|0)); // unreachable; } } @@ -21360,7 +21364,7 @@ function _stbtt__buf_seek($0,$1) { $5 = ($1|0)<(0); $or$cond = $5 | $4; if ($or$cond) { - ___assert_fail((9880|0),(9338|0),1000,(9904|0)); + ___assert_fail((9880|0),(9338|0),1001,(9904|0)); // unreachable; } else { $6 = ((($0)) + 4|0); @@ -21505,7 +21509,7 @@ function _stbtt__cff_get_index($0,$1) { $$off = (($6) + -1)<<24>>24; $8 = ($$off&255)<(4); if (!($8)) { - ___assert_fail((9920|0),(9338|0),1048,(9949|0)); + ___assert_fail((9920|0),(9338|0),1049,(9949|0)); // unreachable; } $9 = Math_imul($7, $4)|0; @@ -21602,7 +21606,7 @@ function _stbtt__cff_skip_operand($0) { $1 = (_stbtt__buf_peek8($0)|0); $2 = ($1&255)>(27); if (!($2)) { - ___assert_fail((9970|0),(9338|0),1069,(9979|0)); + ___assert_fail((9970|0),(9338|0),1070,(9979|0)); // unreachable; } $3 = ($1<<24>>24)==(30); @@ -21929,7 +21933,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { $$4352 = 0;$$9 = 0; break; } - ___assert_fail((9798|0),(9338|0),1723,(10117|0)); + ___assert_fail((9798|0),(9338|0),1724,(10117|0)); // unreachable; } $143 = ((($8)) + 10|0); @@ -22113,7 +22117,7 @@ function _stbtt__GetGlyphShapeTT($0,$1,$2) { } } if ((label|0) == 42) { - ___assert_fail((9798|0),(9338|0),1670,(10117|0)); + ___assert_fail((9798|0),(9338|0),1671,(10117|0)); // unreachable; } $249 = ($$0348453|0)==(0|0); @@ -22168,7 +22172,7 @@ function _stbtt__GetGlyphShapeT2($0,$1,$2) { $$0 = $16; STACKTOP = sp;return ($$0|0); } else { - ___assert_fail((10044|0),(9338|0),2113,(10094|0)); + ___assert_fail((10044|0),(9338|0),2114,(10094|0)); // unreachable; } } diff --git a/docs/examples/web/text/text_ttf_loading.png b/docs/examples/web/text/text_ttf_loading.png new file mode 100644 index 00000000..29ea263a Binary files /dev/null and b/docs/examples/web/text/text_ttf_loading.png differ diff --git a/docs/examples/web/text/text_writing_anim.js b/docs/examples/web/text/text_writing_anim.js index 670bcf1c..cfd0edf4 100644 --- a/docs/examples/web/text/text_writing_anim.js +++ b/docs/examples/web/text/text_writing_anim.js @@ -7211,6 +7211,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -7310,13 +7360,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -8267,45 +8310,6 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; diff --git a/docs/examples/web/text/text_writing_anim.png b/docs/examples/web/text/text_writing_anim.png new file mode 100644 index 00000000..d6752dd8 Binary files /dev/null and b/docs/examples/web/text/text_writing_anim.png differ diff --git a/docs/examples/web/textures/resources/fudesumi.png b/docs/examples/web/textures/resources/fudesumi.png new file mode 100644 index 00000000..8ba983dc Binary files /dev/null and b/docs/examples/web/textures/resources/fudesumi.png differ diff --git a/docs/examples/web/textures/resources/fudesumi.raw b/docs/examples/web/textures/resources/fudesumi.raw new file mode 100644 index 00000000..e05fa0e1 Binary files /dev/null and b/docs/examples/web/textures/resources/fudesumi.raw differ diff --git a/docs/examples/web/textures/textures_image_drawing.js b/docs/examples/web/textures/textures_image_drawing.js index 7ef0f928..93a3c92b 100644 --- a/docs/examples/web/textures/textures_image_drawing.js +++ b/docs/examples/web/textures/textures_image_drawing.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}, {"audio": 0, "start": 295054, "crunched": 0, "end": 683586, "filename": "/resources/cat.png"}], "remote_package_size": 683586, "package_uuid": "b29661f1-50ca-4422-9d21-8da5d80e1f1f"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}, {"audio": 0, "start": 295054, "crunched": 0, "end": 683586, "filename": "/resources/cat.png"}], "remote_package_size": 683586, "package_uuid": "d150a03e-5a56-4cec-8b52-e648777bc2ce"}); })(); @@ -1775,13 +1775,13 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 26528; +STATICTOP = STATIC_BASE + 26512; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,48,98,159,57,21,31,31,58,45,208,110,58,21,31,159,58,161,247,198,58,159,174,238,58,150,67,11,59,21,31,31,59,91,11,51,59,218,230,70,59,88,89,91,59,211,249,112,59,38,228,131,59,97,226,143,59,97,136,156,59,196,205,169,59,38,170,183,59,177,54,198,59,158,98,213,59,80,54,229,59,44,186,245,59,231,114,3,60,204,96,12,60,198,166,21,60,212,68,31,60,41,63,41,60,146,145,51,60,66,64,62,60,56,75,73,60,166,182,84,60,90,126,96,60,135,166,108,60,43,47,121,60,11,10,131,60,213,174,137,60,245,133,144,60,80,141,151,60,0,199,158,60,30,53,166,60,120,211,173,60,64,166,181,60,92,171,189,60,255,230,197,60,248,84,206,60,94,247,214,60,74,208,223,60,165,221,232,60,134,33,242,60,212,153,251,60,97,165,2,61,28,153,7,61,26,168,12,61,91,210,17,61,236,24,23,61,204,123,28,61,253,250,33,61,125,150,39,61,77,78,45,61,121,35,51,61,245,20,57,61,205,35,63,61,1,80,69,61,145,153,75,61,113,255,81,61,199,132,88,61,108,38,95,61,121,230,101,61,240,196,108,61,206,193,115,61,22,221,122,61,99,11,129,61,111,183,132,61,54,115,136,61,50,62,140,61,231,24,144,61,88,3,148,61,130,253,151,61,226,6,156,61,129,32,160,61,98,74,164,61,253,131,168,61,83,205,172,61,233,38,177,61,71,145,181,61,95,11,186,61,184,149,190,61,81,48,195,61,177,219,199,61,217,151,204,61,65,100,209,61,234,64,214,61,224,46,219,61,157,45,224,61,155,60,229,61,230,92,234,61,126,142,239,61,87,208,244,61,3,36,250,61,118,136,255,61,27,127,2,62,95,66,5,62,141,14,8,62,97,227,10,62,30,193,13,62,63,167,16,62,74,150,19,62,63,142,22,62,29,143,25,62,162,152,28,62,17,171,31,62,172,198,34,62,238,234,37,62,93,24,41,62,181,78,44,62,59,142,47,62,170,214,50,62,70,40,54,62,14,131,57,62,4,231,60,62,38,84,64,62,117,202,67,62,241,73,71,62,154,210,74,62,178,100,78,62,59,0,82,62,240,164,85,62,21,83,89,62,170,10,93,62,108,203,96,62,225,149,100,62,198,105,104,62,27,71,108,62,35,46,112,62,155,30,116,62,131,24,120,62,29,28,124,62,182,20,128,62,54,32,130,62,144,48,132,62,195,69,134,62,208,95,136,62,183,126,138,62,119,162,140,62,50,203,142,62,232,248,144,62,119,43,147,62,2,99,149,62,102,159,151,62,231,224,153,62,66,39,156,62,185,114,158,62,43,195,160,62,152,24,163,62,0,115,165,62,133,210,167,62,38,55,170,62,195,160,172,62,90,15,175,62,48,131,177,62,34,252,179,62,16,122,182,62,59,253,184,62,131,133,187,62,232,18,190,62,106,165,192,62,41,61,195,62,39,218,197,62,66,124,200,62,121,35,203,62,15,208,205,62,195,129,208,62,214,56,211,62,6,245,213,62,149,182,216,62,99,125,219,62,111,73,222,62,185,26,225,62,99,241,227,62,108,205,230,62,180,174,233,62,91,149,236,62,98,129,239,62,201,114,242,62,110,105,245,62,149,101,248,62,27,103,251,62,1,110,254,62,52,189,0,63,6,70,2,63,171,209,3,63,254,95,5,63,2,241,6,63,199,132,8,63,92,27,10,63,162,180,11,63,152,80,13,63,95,239,14,63,247,144,16,63,63,53,18,63,89,220,19,63,35,134,21,63,207,50,23,63,59,226,24,63,104,148,26,63,119,73,28,63,71,1,30,63,216,187,31,63,74,121,33,63,143,57,35,63,164,252,36,63,139,194,38,63,68,139,40,63,205,86,42,63,57,37,44,63,136,246,45,63,151,202,47,63,152,161,49,63,108,123,51,63,33,88,53,63,185,55,55,63,34,26,57,63,126,255,58,63,188,231,60,63,204,210,62,63,207,192,64,63,196,177,66,63,139,165,68,63,69,156,70,63,242,149,72,63,129,146,74,63,4,146,76,63,104,148,78,63,208,153,80,63,26,162,82,63,88,173,84,63,136,187,86,63,171,204,88,63,210,224,90,63,219,247,92,63,232,17,95,63,232,46,97,63,236,78,99,63,227,113,101,63,221,151,103,63,219,192,105,63,204,236,107,63,193,27,110,63,186,77,112,63,182,130,114,63,182,186,116,63,169,245,118,63,177,51,121,63,205,116,123,63,220,184,125,63,0,0,128,63,13,0,115,0,13,0,122,0,13,0,128,0,13,0,135,0,13,0,141,0,13,0,148,0,13,0,154,0,13,0,161,0,26,0,167,0,26,0,180,0,26,0,193,0,26,0,206,0,26,0,218,0,26,0,231,0,26,0,244,0,26,0,1,1,51,0,14,1,51,0,40,1,51,0,65,1,51,0,91,1,51,0,117,1,51,0,143,1,51,0,168,1,51,0,194,1,103,0,220,1,103,0,15,2,103,0,67,2,103,0,118,2,103,0,170,2,103,0,221,2,103,0,17,3,103,0,68,3,206,0,120,3,206,0,223,3,206,0,70,4,206,0,173,4,206,0,20,5,197,0,123,5,188,0,221,5,181,0,59,6,88,1,151,6,66,1,66,7,48,1,227,7,32,1,123,8,18,1,11,9,6,1,148,9,252,0,23,10,242,0,149,10,203,1,15,11,174,1,244,11,149,1,203,12,128,1,149,13,110,1,86,14,94,1,13,15,80,1,188,15,67,1,99,16,100,2,7,17,62,2,56,18,29,2,87,19,1,2,102,20,233,1,102,21,211,1,90,22,192,1,68,23,175,1,36,24,49,3,254,24,254,2,150,26,210,2,21,28,173,2,126,29,141,2,212,30,112,2,26,32,86,2,82,33,64,2,125,34,67,4,159,35,254,3,192,37,196,3,191,39,146,3,161,41,103,3,106,43,65,3,29,45,31,3,190,46,0,3,77,48,176,5,209,49,85,5,168,52,7,5,82,55,197,4,213,57,139,4,55,60,88,4,124,62,42,4,168,64,1,4,189,66,152,7,194,68,30,7,142,72,182,6,28,76,93,6,118,79,16,6,165,82,204,5,172,85,143,5,146,88,89,5,89,91,35,10,12,94,128,9,28,99,246,8,219,103,127,8,85,108,24,8,148,112,189,7,160,116,108,7,125,120,35,7,51,124,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,159,99,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,97,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,87,101,32,97,114,101,32,100,114,97,119,105,110,103,32,111,110,108,121,32,111,110,101,32,116,101,120,116,117,114,101,32,102,114,111,109,32,118,97,114,105,111,117,115,32,105,109,97,103,101,115,32,99,111,109,112,111,115,101,100,33,0,83,111,117,114,99,101,32,105,109,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,99,114,111,112,112,101,100,44,32,115,99,97,108,101,100,44,32,102,108,105,112,112,101,100,32,97,110,100,32,99,111,112,105,101,100,32,111,110,101,32,111,118,101,114,32,116,104,101,32,111,116,104,101,114,46,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,1,2,4,4,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,62,61,32,48,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,95,114,101,115,105,122,101,46,104,0,115,116,98,105,114,95,95,114,101,115,105,122,101,95,97,108,108,111,99,97,116,101,100,0,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,60,61,32,54,52,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,97,108,112,104,97,95,99,104,97,110,110,101,108,32,62,61,32,48,32,38,38,32,97,108,112,104,97,95,99,104,97,110,110,101,108,32,60,32,105,110,102,111,45,62,99,104,97,110,110,101,108,115,0,116,101,109,112,109,101,109,0,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,32,62,61,32,109,101,109,111,114,121,95,114,101,113,117,105,114,101,100,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,33,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,100,111,119,110,115,97,109,112,108,101,0,111,117,116,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,111,117,116,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,100,111,119,110,115,97,109,112,108,101,0,114,105,110,103,95,98,117,102,102,101,114,95,105,110,100,101,120,32,33,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,98,101,103,105,110,95,105,110,100,101,120,0,115,116,98,105,114,95,95,97,100,100,95,101,109,112,116,121,95,114,105,110,103,95,98,117,102,102,101,114,95,101,110,116,114,121,0,33,115,116,98,105,114,95,95,117,115,101,95,119,105,100,116,104,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,100,111,119,110,115,97,109,112,108,101,0,99,111,101,102,102,105,99,105,101,110,116,32,33,61,32,48,0,110,49,32,62,61,32,110,48,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,117,112,115,97,109,112,108,101,0,110,48,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,48,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,33,34,85,110,107,110,111,119,110,32,116,121,112,101,47,99,111,108,111,114,115,112,97,99,101,47,99,104,97,110,110,101,108,115,32,99,111,109,98,105,110,97,116,105,111,110,46,34,0,115,116,98,105,114,95,95,100,101,99,111,100,101,95,115,99,97,110,108,105,110,101,0,33,34,85,110,105,109,112,108,101,109,101,110,116,101,100,32,101,100,103,101,32,116,121,112,101,34,0,115,116,98,105,114,95,95,101,100,103,101,95,119,114,97,112,95,115,108,111,119,0,115,116,98,105,114,95,95,101,110,99,111,100,101,95,115,99,97,110,108,105,110,101,0,115,99,97,108,101,32,60,61,32,49,0,115,116,98,105,114,95,95,115,117,112,112,111,114,116,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,117,112,115,97,109,112,108,101,0,105,110,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,105,110,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,117,112,115,97,109,112,108,101,0,116,111,116,97,108,32,62,32,48,46,57,102,0,115,116,98,105,114,95,95,110,111,114,109,97,108,105,122,101,95,100,111,119,110,115,97,109,112,108,101,95,99,111,101,102,102,105,99,105,101,110,116,115,0,116,111,116,97,108,32,60,32,49,46,49,102,0,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,45,32,111,117,116,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,115,99,97,108,101,95,114,97,116,105,111,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,100,111,119,110,115,97,109,112,108,101,0,99,111,110,116,114,105,98,117,116,111,114,45,62,110,49,32,62,61,32,99,111,110,116,114,105,98,117,116,111,114,45,62,110,48,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,111,117,116,95,99,101,110,116,101,114,95,111,102,95,105,110,44,32,115,99,97,108,101,95,114,97,116,105,111,41,32,61,61,32,48,0,105,110,95,108,97,115,116,95,112,105,120,101,108,32,45,32,105,110,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,49,47,115,99,97,108,101,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,117,112,115,97,109,112,108,101,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,105,110,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,105,110,95,99,101,110,116,101,114,95,111,102,95,111,117,116,44,32,49,47,115,99,97,108,101,41,32,61,61,32,48,0,116,111,116,97,108,95,102,105,108,116,101,114,32,62,32,48,46,57,0,116,111,116,97,108,95,102,105,108,116,101,114,32,60,32,49,46,49,102,0,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,103,101,116,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,109,101,109,111,114,121,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,119,105,100,116,104,58,32,37,105,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,104,101,105,103,104,116,58,32,37,105,0,73,109,97,103,101,32,99,97,110,32,110,111,116,32,98,101,32,99,114,111,112,112,101,100,44,32,99,114,111,112,32,114,101,99,116,97,110,103,108,101,32,111,117,116,32,111,102,32,98,111,117,110,100,115,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); -/* memory initializer */ allocate([98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,48,98,159,57,21,31,31,58,45,208,110,58,21,31,159,58,161,247,198,58,159,174,238,58,150,67,11,59,21,31,31,59,91,11,51,59,218,230,70,59,88,89,91,59,211,249,112,59,38,228,131,59,97,226,143,59,97,136,156,59,196,205,169,59,38,170,183,59,177,54,198,59,158,98,213,59,80,54,229,59,44,186,245,59,231,114,3,60,204,96,12,60,198,166,21,60,212,68,31,60,41,63,41,60,146,145,51,60,66,64,62,60,56,75,73,60,166,182,84,60,90,126,96,60,135,166,108,60,43,47,121,60,11,10,131,60,213,174,137,60,245,133,144,60,80,141,151,60,0,199,158,60,30,53,166,60,120,211,173,60,64,166,181,60,92,171,189,60,255,230,197,60,248,84,206,60,94,247,214,60,74,208,223,60,165,221,232,60,134,33,242,60,212,153,251,60,97,165,2,61,28,153,7,61,26,168,12,61,91,210,17,61,236,24,23,61,204,123,28,61,253,250,33,61,125,150,39,61,77,78,45,61,121,35,51,61,245,20,57,61,205,35,63,61,1,80,69,61,145,153,75,61,113,255,81,61,199,132,88,61,108,38,95,61,121,230,101,61,240,196,108,61,206,193,115,61,22,221,122,61,99,11,129,61,111,183,132,61,54,115,136,61,50,62,140,61,231,24,144,61,88,3,148,61,130,253,151,61,226,6,156,61,129,32,160,61,98,74,164,61,253,131,168,61,83,205,172,61,233,38,177,61,71,145,181,61,95,11,186,61,184,149,190,61,81,48,195,61,177,219,199,61,217,151,204,61,65,100,209,61,234,64,214,61,224,46,219,61,157,45,224,61,155,60,229,61,230,92,234,61,126,142,239,61,87,208,244,61,3,36,250,61,118,136,255,61,27,127,2,62,95,66,5,62,141,14,8,62,97,227,10,62,30,193,13,62,63,167,16,62,74,150,19,62,63,142,22,62,29,143,25,62,162,152,28,62,17,171,31,62,172,198,34,62,238,234,37,62,93,24,41,62,181,78,44,62,59,142,47,62,170,214,50,62,70,40,54,62,14,131,57,62,4,231,60,62,38,84,64,62,117,202,67,62,241,73,71,62,154,210,74,62,178,100,78,62,59,0,82,62,240,164,85,62,21,83,89,62,170,10,93,62,108,203,96,62,225,149,100,62,198,105,104,62,27,71,108,62,35,46,112,62,155,30,116,62,131,24,120,62,29,28,124,62,182,20,128,62,54,32,130,62,144,48,132,62,195,69,134,62,208,95,136,62,183,126,138,62,119,162,140,62,50,203,142,62,232,248,144,62,119,43,147,62,2,99,149,62,102,159,151,62,231,224,153,62,66,39,156,62,185,114,158,62,43,195,160,62,152,24,163,62,0,115,165,62,133,210,167,62,38,55,170,62,195,160,172,62,90,15,175,62,48,131,177,62,34,252,179,62,16,122,182,62,59,253,184,62,131,133,187,62,232,18,190,62,106,165,192,62,41,61,195,62,39,218,197,62,66,124,200,62,121,35,203,62,15,208,205,62,195,129,208,62,214,56,211,62,6,245,213,62,149,182,216,62,99,125,219,62,111,73,222,62,185,26,225,62,99,241,227,62,108,205,230,62,180,174,233,62,91,149,236,62,98,129,239,62,201,114,242,62,110,105,245,62,149,101,248,62,27,103,251,62,1,110,254,62,52,189,0,63,6,70,2,63,171,209,3,63,254,95,5,63,2,241,6,63,199,132,8,63,92,27,10,63,162,180,11,63,152,80,13,63,95,239,14,63,247,144,16,63,63,53,18,63,89,220,19,63,35,134,21,63,207,50,23,63,59,226,24,63,104,148,26,63,119,73,28,63,71,1,30,63,216,187,31,63,74,121,33,63,143,57,35,63,164,252,36,63,139,194,38,63,68,139,40,63,205,86,42,63,57,37,44,63,136,246,45,63,151,202,47,63,152,161,49,63,108,123,51,63,33,88,53,63,185,55,55,63,34,26,57,63,126,255,58,63,188,231,60,63,204,210,62,63,207,192,64,63,196,177,66,63,139,165,68,63,69,156,70,63,242,149,72,63,129,146,74,63,4,146,76,63,104,148,78,63,208,153,80,63,26,162,82,63,88,173,84,63,136,187,86,63,171,204,88,63,210,224,90,63,219,247,92,63,232,17,95,63,232,46,97,63,236,78,99,63,227,113,101,63,221,151,103,63,219,192,105,63,204,236,107,63,193,27,110,63,186,77,112,63,182,130,114,63,182,186,116,63,169,245,118,63,177,51,121,63,205,116,123,63,220,184,125,63,0,0,128,63,13,0,115,0,13,0,122,0,13,0,128,0,13,0,135,0,13,0,141,0,13,0,148,0,13,0,154,0,13,0,161,0,26,0,167,0,26,0,180,0,26,0,193,0,26,0,206,0,26,0,218,0,26,0,231,0,26,0,244,0,26,0,1,1,51,0,14,1,51,0,40,1,51,0,65,1,51,0,91,1,51,0,117,1,51,0,143,1,51,0,168,1,51,0,194,1,103,0,220,1,103,0,15,2,103,0,67,2,103,0,118,2,103,0,170,2,103,0,221,2,103,0,17,3,103,0,68,3,206,0,120,3,206,0,223,3,206,0,70,4,206,0,173,4,206,0,20,5,197,0,123,5,188,0,221,5,181,0,59,6,88,1,151,6,66,1,66,7,48,1,227,7,32,1,123,8,18,1,11,9,6,1,148,9,252,0,23,10,242,0,149,10,203,1,15,11,174,1,244,11,149,1,203,12,128,1,149,13,110,1,86,14,94,1,13,15,80,1,188,15,67,1,99,16,100,2,7,17,62,2,56,18,29,2,87,19,1,2,102,20,233,1,102,21,211,1,90,22,192,1,68,23,175,1,36,24,49,3,254,24,254,2,150,26,210,2,21,28,173,2,126,29,141,2,212,30,112,2,26,32,86,2,82,33,64,2,125,34,67,4,159,35,254,3,192,37,196,3,191,39,146,3,161,41,103,3,106,43,65,3,29,45,31,3,190,46,0,3,77,48,176,5,209,49,85,5,168,52,7,5,82,55,197,4,213,57,139,4,55,60,88,4,124,62,42,4,168,64,1,4,189,66,152,7,194,68,30,7,142,72,182,6,28,76,93,6,118,79,16,6,165,82,204,5,172,85,143,5,146,88,89,5,89,91,35,10,12,94,128,9,28,99,246,8,219,103,127,8,85,108,24,8,148,112,189,7,160,116,108,7,125,120,35,7,51,124,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,143,99,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,20,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,99,97,116,46,112,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,87,101,32,97,114,101,32,100,114,97,119,105,110,103,32,111,110,108,121,32,111,110,101,32,116,101,120,116,117,114,101,32,102,114,111,109,32,118,97,114,105,111,117,115,32,105,109,97,103,101,115,32,99,111,109,112,111,115,101,100,33,0,83,111,117,114,99,101,32,105,109,97,103,101,115,32,104,97,118,101,32,98,101,101,110,32,99,114,111,112,112,101,100,44,32,115,99,97,108,101,100,44,32,102,108,105,112,112,101,100,32,97,110,100,32,99,111,112,105,101,100,32,111,110,101,32,111,118,101,114,32,116,104,101,32,111,116,104,101,114,46,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,1,2,4,4,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,62,61,32,48,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,95,114,101,115,105,122,101,46,104,0,115,116,98,105,114,95,95,114,101,115,105,122,101,95,97,108,108,111,99,97,116,101,100,0,105,110,102,111,45,62,99,104,97,110,110,101,108,115,32,60,61,32,54,52,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,97,108,112,104,97,95,99,104,97,110,110,101,108,32,62,61,32,48,32,38,38,32,97,108,112,104,97,95,99,104,97,110,110,101,108,32,60,32,105,110,102,111,45,62,99,104,97,110,110,101,108,115,0,116,101,109,112,109,101,109,0,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,32,62,61,32,109,101,109,111,114,121,95,114,101,113,117,105,114,101,100,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,101,110,99,111,100,101,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,40,115,105,122,101,95,116,41,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,40,40,40,117,110,115,105,103,110,101,100,32,99,104,97,114,42,41,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,41,32,43,32,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,115,105,122,101,41,32,61,61,32,40,115,105,122,101,95,116,41,116,101,109,112,109,101,109,32,43,32,116,101,109,112,109,101,109,95,115,105,122,101,95,105,110,95,98,121,116,101,115,0,33,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,100,111,119,110,115,97,109,112,108,101,0,111,117,116,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,111,117,116,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,43,32,49,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,110,117,109,95,101,110,116,114,105,101,115,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,100,111,119,110,115,97,109,112,108,101,0,114,105,110,103,95,98,117,102,102,101,114,95,105,110,100,101,120,32,33,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,98,101,103,105,110,95,105,110,100,101,120,0,115,116,98,105,114,95,95,97,100,100,95,101,109,112,116,121,95,114,105,110,103,95,98,117,102,102,101,114,95,101,110,116,114,121,0,33,115,116,98,105,114,95,95,117,115,101,95,119,105,100,116,104,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,100,111,119,110,115,97,109,112,108,101,0,99,111,101,102,102,105,99,105,101,110,116,32,33,61,32,48,0,110,49,32,62,61,32,110,48,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,104,111,114,105,122,111,110,116,97,108,95,117,112,115,97,109,112,108,101,0,110,48,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,62,61,32,45,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,48,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,110,49,32,60,32,115,116,98,105,114,95,105,110,102,111,45,62,105,110,112,117,116,95,119,32,43,32,115,116,98,105,114,95,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,95,112,105,120,101,108,95,109,97,114,103,105,110,0,33,34,85,110,107,110,111,119,110,32,116,121,112,101,47,99,111,108,111,114,115,112,97,99,101,47,99,104,97,110,110,101,108,115,32,99,111,109,98,105,110,97,116,105,111,110,46,34,0,115,116,98,105,114,95,95,100,101,99,111,100,101,95,115,99,97,110,108,105,110,101,0,33,34,85,110,105,109,112,108,101,109,101,110,116,101,100,32,101,100,103,101,32,116,121,112,101,34,0,115,116,98,105,114,95,95,101,100,103,101,95,119,114,97,112,95,115,108,111,119,0,115,116,98,105,114,95,95,101,110,99,111,100,101,95,115,99,97,110,108,105,110,101,0,115,99,97,108,101,32,60,61,32,49,0,115,116,98,105,114,95,95,115,117,112,112,111,114,116,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,116,114,97,112,101,122,111,105,100,0,115,116,98,105,114,95,95,117,115,101,95,104,101,105,103,104,116,95,117,112,115,97,109,112,108,105,110,103,40,115,116,98,105,114,95,105,110,102,111,41,0,115,116,98,105,114,95,95,98,117,102,102,101,114,95,108,111,111,112,95,117,112,115,97,109,112,108,101,0,105,110,95,108,97,115,116,95,115,99,97,110,108,105,110,101,32,45,32,105,110,95,102,105,114,115,116,95,115,99,97,110,108,105,110,101,32,43,32,49,32,60,61,32,115,116,98,105,114,95,105,110,102,111,45,62,114,105,110,103,95,98,117,102,102,101,114,95,110,117,109,95,101,110,116,114,105,101,115,0,115,116,98,105,114,95,95,114,101,115,97,109,112,108,101,95,118,101,114,116,105,99,97,108,95,117,112,115,97,109,112,108,101,0,116,111,116,97,108,32,62,32,48,46,57,102,0,115,116,98,105,114,95,95,110,111,114,109,97,108,105,122,101,95,100,111,119,110,115,97,109,112,108,101,95,99,111,101,102,102,105,99,105,101,110,116,115,0,116,111,116,97,108,32,60,32,49,46,49,102,0,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,45,32,111,117,116,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,115,99,97,108,101,95,114,97,116,105,111,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,100,111,119,110,115,97,109,112,108,101,0,99,111,110,116,114,105,98,117,116,111,114,45,62,110,49,32,62,61,32,99,111,110,116,114,105,98,117,116,111,114,45,62,110,48,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,111,117,116,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,111,117,116,95,99,101,110,116,101,114,95,111,102,95,105,110,44,32,115,99,97,108,101,95,114,97,116,105,111,41,32,61,61,32,48,0,105,110,95,108,97,115,116,95,112,105,120,101,108,32,45,32,105,110,95,102,105,114,115,116,95,112,105,120,101,108,32,60,61,32,40,105,110,116,41,99,101,105,108,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,115,117,112,112,111,114,116,40,49,47,115,99,97,108,101,41,32,42,32,50,41,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,99,111,101,102,102,105,99,105,101,110,116,115,95,117,112,115,97,109,112,108,101,0,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,91,102,105,108,116,101,114,93,46,107,101,114,110,101,108,40,40,102,108,111,97,116,41,40,105,110,95,108,97,115,116,95,112,105,120,101,108,32,43,32,49,41,32,43,32,48,46,53,102,32,45,32,105,110,95,99,101,110,116,101,114,95,111,102,95,111,117,116,44,32,49,47,115,99,97,108,101,41,32,61,61,32,48,0,116,111,116,97,108,95,102,105,108,116,101,114,32,62,32,48,46,57,0,116,111,116,97,108,95,102,105,108,116,101,114,32,60,32,49,46,49,102,0,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,103,101,116,95,102,105,108,116,101,114,95,112,105,120,101,108,95,119,105,100,116,104,0,102,105,108,116,101,114,32,60,32,40,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,41,47,115,105,122,101,111,102,40,40,115,116,98,105,114,95,95,102,105,108,116,101,114,95,105,110,102,111,95,116,97,98,108,101,41,91,48,93,41,41,0,105,110,102,111,45,62,104,111,114,105,122,111,110,116,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,115,116,98,105,114,95,95,99,97,108,99,117,108,97,116,101,95,109,101,109,111,114,121,0,105,110,102,111,45,62,118,101,114,116,105,99,97,108,95,102,105,108,116,101,114,32,33,61,32,48,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,119,105,100,116,104,58,32,37,105,0,67,114,111,112,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,99,114,111,112,32,104,101,105,103,104,116,58,32,37,105,0,73,109,97,103,101,32,99,97,110,32,110,111,116,32,98,101,32,99,114,111,112,112,101,100,44,32,99,114,111,112,32,114,101,99,116,97,110,103,108,101,32,111,117,116,32,111,102,32,98,111,117,110,100,115,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,83,111,117,114,99,101,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,119,105,100,116,104,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,119,105,100,116,104,58,32,37,105,0,68,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,104,101,105,103,104,116,32,111,117,116,32,111,102,32,98,111,117,110,100,115,44,32,114,101,115,99,97,108,101,100,32,104,101,105,103,104,116,58,32,37,105,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480); @@ -10570,11 +10570,11 @@ function _main() { _UnloadImage($texture$byval_copy); ;HEAP32[$texture$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _LoadTextureFromImage($6,$texture$byval_copy); - ;HEAP32[21008>>2]=HEAP32[$6>>2]|0;HEAP32[21008+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[21008+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[21008+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[21008+16>>2]=HEAP32[$6+16>>2]|0; + ;HEAP32[21312>>2]=HEAP32[$6>>2]|0;HEAP32[21312+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[21312+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[21312+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[21312+16>>2]=HEAP32[$6+16>>2]|0; ;HEAP32[$texture$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _UnloadImage($texture$byval_copy); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[21008>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21008+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21008+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21008+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21008+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[21312>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21312+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21312+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21312+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21312+16>>2]|0; _UnloadTexture($texture$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10604,27 +10604,27 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy3); $8 = HEAP32[2]|0; $9 = (($8|0) / 2)&-1; - $10 = HEAP32[(21012)>>2]|0; + $10 = HEAP32[(21316)>>2]|0; $11 = (($10|0) / 2)&-1; $12 = (($9) - ($11))|0; $13 = HEAP32[3]|0; $14 = (($13|0) / 2)&-1; - $15 = HEAP32[(21016)>>2]|0; + $15 = HEAP32[(21320)>>2]|0; $$neg = (($15|0) / -2)&-1; $16 = (($14) + -40)|0; $17 = (($16) + ($$neg))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[21008>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21008+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21008+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21008+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21008+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[21312>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[21312+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[21312+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[21312+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[21312+16>>2]|0; ;HEAP8[$$byval_copy3>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$12,$17,$$byval_copy3); $18 = HEAP32[2]|0; $19 = (($18|0) / 2)&-1; - $20 = HEAP32[(21012)>>2]|0; + $20 = HEAP32[(21316)>>2]|0; $21 = (($20|0) / 2)&-1; $22 = (($19) - ($21))|0; $23 = HEAP32[3]|0; $24 = (($23|0) / 2)&-1; - $25 = HEAP32[(21016)>>2]|0; + $25 = HEAP32[(21320)>>2]|0; $$neg1 = (($25|0) / -2)&-1; $26 = (($24) + -40)|0; $27 = (($26) + ($$neg1))|0; @@ -10658,6 +10658,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10757,13 +10807,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11373,7 +11416,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[5258] = $2; + HEAP32[5334] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11386,7 +11429,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 20736; + $95 = 21040; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11399,48 +11442,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 20776; + $106 = 21080; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[5194]; - $111 = +HEAPF32[5184]; + $110 = +HEAPF32[5270]; + $111 = +HEAPF32[5260]; $112 = $110 - $111; - HEAPF32[5196] = $112; - $113 = +HEAPF32[(20780)>>2]; - $114 = +HEAPF32[(20740)>>2]; + HEAPF32[5272] = $112; + $113 = +HEAPF32[(21084)>>2]; + $114 = +HEAPF32[(21044)>>2]; $115 = $113 - $114; - HEAPF32[(20788)>>2] = $115; - HEAP32[5257] = 4; + HEAPF32[(21092)>>2] = $115; + HEAP32[5333] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20768+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[5263] = $116; - $117 = 20768; + HEAPF32[5339] = $116; + $117 = 21072; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 20736; + $123 = 21040; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 20792; + $127 = 21096; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 20776; + $133 = 21080; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11453,7 +11496,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 20768; + $144 = 21072; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11466,27 +11509,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 20792; + $155 = 21096; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[5198]; - $160 = +HEAPF32[5192]; + $159 = +HEAPF32[5274]; + $160 = +HEAPF32[5268]; $161 = $159 - $160; - HEAPF32[5196] = $161; - $162 = +HEAPF32[(20796)>>2]; - $163 = +HEAPF32[(20772)>>2]; + HEAPF32[5272] = $161; + $162 = +HEAPF32[(21100)>>2]; + $163 = +HEAPF32[(21076)>>2]; $164 = $162 - $163; - HEAPF32[(20788)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20768+4>>2]|0; + HEAPF32[(21092)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21072+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20776>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20776+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21080+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11498,31 +11541,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20768+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[5263]; + $170 = +HEAPF32[5339]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[5257] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20768+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20792>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20792+4>>2]|0; + HEAP32[5333] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21096+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[5264] = $174; + HEAPF32[5340] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[5263] = 0.0; - HEAPF32[5264] = 0.0; - HEAPF32[5196] = 0.0; - HEAPF32[(20788)>>2] = 0.0; - HEAP32[5258] = 0; - HEAP32[5257] = 0; + HEAPF32[5339] = 0.0; + HEAPF32[5340] = 0.0; + HEAPF32[5272] = 0.0; + HEAPF32[(21092)>>2] = 0.0; + HEAP32[5334] = 0; + HEAP32[5333] = 0; STACKTOP = sp;return; break; } @@ -11532,22 +11575,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[5259]|0; + $6 = HEAP32[5335]|0; $7 = (($6) + 1)|0; - HEAP32[5259] = $7; - $8 = HEAP32[5257]|0; + HEAP32[5335] = $7; + $8 = HEAP32[5333]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[5257] = 2; - HEAP32[5259] = 0; + HEAP32[5333] = 2; + HEAP32[5335] = 0; } else { label = 6; } @@ -11555,8 +11598,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[5259] = 1; - HEAP32[5257] = 1; + HEAP32[5335] = 1; + HEAP32[5333] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11565,19 +11608,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 20736; + $21 = 21040; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 20744; + $25 = 21048; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 20752; + $29 = 21056; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11586,13 +11629,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[5190] = 0.0; - HEAPF32[(20764)>>2] = 0.0; + HEAPF32[5266] = 0.0; + HEAPF32[(21068)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[5257]|0; + $35 = HEAP32[5333]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11602,19 +11645,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 20752; + $44 = 21056; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21056+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[5260] = $49; - HEAP32[5261] = 0; + HEAPF32[5336] = $49; + HEAP32[5337] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11622,11 +11665,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20752>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20752+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21056+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[5262] = $56; + HEAPF32[5338] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11657,22 +11700,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[5260] = 0.0; - HEAPF32[5262] = 0.0; + HEAPF32[5336] = 0.0; + HEAPF32[5338] = 0.0; $$sink10 = 0; } - HEAP32[5257] = $$sink10; - HEAPF32[5186] = 0.0; - HEAPF32[(20748)>>2] = 0.0; - HEAP32[5258] = 0; + HEAP32[5333] = $$sink10; + HEAPF32[5262] = 0.0; + HEAPF32[(21052)>>2] = 0.0; + HEAP32[5334] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[5261]|0; + $65 = HEAP32[5337]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[5261] = 1; + HEAP32[5337] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11681,31 +11724,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 20768; + $74 = 21072; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[5257]|0; + $78 = HEAP32[5333]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[20736>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[20736+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[20768>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[20768+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[21040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[21040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[21072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[21072+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[5257] = 8; + HEAP32[5333] = 8; } } - $82 = +HEAPF32[5192]; - $83 = +HEAPF32[5186]; + $82 = +HEAPF32[5268]; + $83 = +HEAPF32[5262]; $84 = $82 - $83; - HEAPF32[5190] = $84; - $85 = +HEAPF32[(20772)>>2]; - $86 = +HEAPF32[(20748)>>2]; + HEAPF32[5266] = $84; + $85 = +HEAPF32[(21076)>>2]; + $86 = +HEAPF32[(21052)>>2]; $87 = $85 - $86; - HEAPF32[(20764)>>2] = $87; + HEAPF32[(21068)>>2] = $87; STACKTOP = sp;return; break; } @@ -11714,58 +11757,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5257]|0; + $0 = HEAP32[5333]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[5258]|0; + $2 = HEAP32[5334]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[5257] = 4; + HEAP32[5333] = 4; } - $4 = HEAP32[5257]|0; + $4 = HEAP32[5333]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11778,14 +11782,14 @@ function _UpdateGestures() { return; } } - HEAP32[5257] = 0; + HEAP32[5333] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 20800; + $1 = 21104; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11802,13 +11806,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5267]|0; + $0 = HEAP32[5343]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5266]|0; + $0 = HEAP32[5342]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11820,7 +11824,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,5708,$vararg_buffer); - HEAP32[5269] = $2; + HEAP32[5345] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11833,15 +11837,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((5737|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[5267]|0; + $3 = HEAP32[5343]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[5200] = $5; - $6 = HEAP32[5266]|0; + HEAPF32[5276] = $5; + $6 = HEAP32[5342]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(20804)>>2] = $8; - $9 = HEAP32[5270]|0; + HEAPF32[(21108)>>2] = $8; + $9 = HEAP32[5346]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11860,11 +11864,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[20840>>0]=HEAP8[10266>>0]|0;HEAP8[20840+1>>0]=HEAP8[10266+1>>0]|0;HEAP8[20840+2>>0]=HEAP8[10266+2>>0]|0;HEAP8[20840+3>>0]=HEAP8[10266+3>>0]|0;HEAP8[20840+4>>0]=HEAP8[10266+4>>0]|0;HEAP8[20840+5>>0]=HEAP8[10266+5>>0]|0;HEAP8[20840+6>>0]=HEAP8[10266+6>>0]|0; + ;HEAP8[21144>>0]=HEAP8[10266>>0]|0;HEAP8[21144+1>>0]=HEAP8[10266+1>>0]|0;HEAP8[21144+2>>0]=HEAP8[10266+2>>0]|0;HEAP8[21144+3>>0]=HEAP8[10266+3>>0]|0;HEAP8[21144+4>>0]=HEAP8[10266+4>>0]|0;HEAP8[21144+5>>0]=HEAP8[10266+5>>0]|0;HEAP8[21144+6>>0]=HEAP8[10266+6>>0]|0; break; } case 1: { - $3 = 20840; + $3 = 21144; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11873,11 +11877,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=20840; src=10273; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=21144; src=10273; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 20840; + $7 = 21144; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11888,16 +11892,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(20840,$1)|0); - $strlen = (_strlen(20840)|0); - $endptr = (20840 + ($strlen)|0); + (_strcat(21144,$1)|0); + $strlen = (_strlen(21144)|0); + $endptr = (21144 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(20840,$2)|0); + (_vprintf(21144,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11929,22 +11933,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[5267] = $0; - HEAP32[5266] = $1; + HEAP32[5343] = $0; + HEAP32[5342] = $1; _MatrixIdentity($2); - dest=21156; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21460; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,6408,$vararg_buffer); } - $6 = HEAP32[5267]|0; - HEAP32[5305] = $6; - $7 = HEAP32[5266]|0; - HEAP32[5306] = $7; + $6 = HEAP32[5343]|0; + HEAP32[5381] = $6; + $7 = HEAP32[5342]|0; + HEAP32[5382] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[23888]|0; + $8 = HEAP8[24192]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11952,13 +11956,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[23888]|0; + $11 = HEAP8[24192]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[23888]|0; + $14 = HEAP8[24192]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11980,18 +11984,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[5307]|0; + $21 = HEAP32[5383]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[5267]|0; - $48 = HEAP32[5266]|0; - $49 = HEAP32[5269]|0; + $47 = HEAP32[5343]|0; + $48 = HEAP32[5342]|0; + $49 = HEAP32[5345]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[5265] = $50; - $51 = HEAP32[5267]|0; - HEAP32[5308] = $51; - $52 = HEAP32[5266]|0; - HEAP32[5309] = $52; + HEAP32[5341] = $50; + $51 = HEAP32[5343]|0; + HEAP32[5384] = $51; + $52 = HEAP32[5342]|0; + HEAP32[5385] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12000,9 +12004,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[5267]|0; + $27 = HEAP32[5343]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[5266]|0; + $29 = HEAP32[5342]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12024,25 +12028,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[5305] = $31; - HEAP32[5306] = $34; + HEAP32[5381] = $31; + HEAP32[5382] = $34; } } while(0); - $38 = HEAP32[5305]|0; - $39 = HEAP32[5306]|0; + $38 = HEAP32[5381]|0; + $39 = HEAP32[5382]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,6459,$vararg_buffer3); - $40 = HEAP32[5305]|0; - $41 = HEAP32[5306]|0; + $40 = HEAP32[5381]|0; + $41 = HEAP32[5382]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[5305]|0; - $43 = HEAP32[5306]|0; - $44 = HEAP32[5269]|0; + $42 = HEAP32[5381]|0; + $43 = HEAP32[5382]|0; + $44 = HEAP32[5345]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[5265] = $46; + HEAP32[5341] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12051,60 +12055,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,6497,$vararg_buffer6); } else { _TraceLog(0,6530,$vararg_buffer8); - $55 = HEAP32[5308]|0; - $56 = HEAP32[5309]|0; + $55 = HEAP32[5384]|0; + $56 = HEAP32[5385]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,6570,$vararg_buffer10); - $57 = HEAP32[5267]|0; - $58 = HEAP32[5266]|0; + $57 = HEAP32[5343]|0; + $58 = HEAP32[5342]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,6591,$vararg_buffer14); - $59 = HEAP32[5310]|0; - $60 = HEAP32[5311]|0; + $59 = HEAP32[5386]|0; + $60 = HEAP32[5387]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,6612,$vararg_buffer18); } - $61 = HEAP32[5265]|0; + $61 = HEAP32[5341]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[5265]|0; + $62 = HEAP32[5341]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[5265]|0; + $63 = HEAP32[5341]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[5265]|0; + $64 = HEAP32[5341]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[5265]|0; + $65 = HEAP32[5341]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[5265]|0; + $66 = HEAP32[5341]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[5265]|0; + $67 = HEAP32[5341]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[5265]|0; + $68 = HEAP32[5341]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[5265]|0; + $69 = HEAP32[5341]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[23888]|0; + $70 = HEAP8[24192]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[5267]|0; - $74 = HEAP32[5266]|0; + $73 = HEAP32[5343]|0; + $74 = HEAP32[5342]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[5308]|0; - $76 = HEAP32[5310]|0; + $75 = HEAP32[5384]|0; + $76 = HEAP32[5386]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[5309]|0; - $80 = HEAP32[5311]|0; + $79 = HEAP32[5385]|0; + $80 = HEAP32[5387]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12123,18 +12127,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,6637,$vararg_buffer22); - $73 = HEAP32[5267]|0; - $74 = HEAP32[5266]|0; + $73 = HEAP32[5343]|0; + $74 = HEAP32[5342]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[5308]|0; - $76 = HEAP32[5310]|0; + $75 = HEAP32[5384]|0; + $76 = HEAP32[5386]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[5309]|0; - $80 = HEAP32[5311]|0; + $79 = HEAP32[5385]|0; + $80 = HEAP32[5387]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12162,7 +12166,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(21124)>>2] = 224; + HEAP32[(21428)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12203,27 +12207,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[21100>>2]=HEAP32[$1>>2]|0;HEAP32[21100+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[21100+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[21100+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[21100+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[21404>>2]=HEAP32[$1>>2]|0;HEAP32[21404+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[21404+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[21404+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[21404+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(21124)>>2]|0; + $5 = HEAP32[(21428)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(21128)>>2] = $7; + HEAP32[(21432)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21120)>>2] = $23; - $24 = HEAP32[5275]|0; + HEAP32[(21424)>>2] = $23; + $24 = HEAP32[5351]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5932,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(21104)>>2]|0; - $10 = HEAP32[(21124)>>2]|0; - $11 = HEAP32[(21128)>>2]|0; + $9 = HEAP32[(21408)>>2]|0; + $10 = HEAP32[(21428)>>2]|0; + $11 = HEAP32[(21432)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12272,8 +12276,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(21120)>>2] = $23; - $24 = HEAP32[5275]|0; + HEAP32[(21424)>>2] = $23; + $24 = HEAP32[5351]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,5932,$vararg_buffer); STACKTOP = sp;return; @@ -12284,7 +12288,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2604] = $1; + HEAPF64[2642] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12443,7 +12447,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 20816; + $31 = 21120; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12456,7 +12460,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (20824); + $42 = (21128); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12512,7 +12516,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (21084 + ($10<<2)|0); + $11 = (21388 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12526,7 +12530,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2601] = $$; + HEAPF64[2639] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12538,7 +12542,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5270] = 0; + HEAP32[5346] = 0; return; } function _GetTime() { @@ -13114,7 +13118,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[5283]|0; + $6 = HEAP32[5359]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13124,7 +13128,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[5284]|0; + $9 = HEAP32[5360]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13133,7 +13137,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[5285]|0; + $12 = HEAP32[5361]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13143,7 +13147,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[5286]|0; + $15 = HEAP32[5362]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13153,7 +13157,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[5287]|0; + $18 = HEAP32[5363]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13197,7 +13201,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[5283]|0; + $22 = HEAP32[5359]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13205,7 +13209,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[5283]|0; + $24 = HEAP32[5359]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13213,7 +13217,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[5283]|0; + $26 = HEAP32[5359]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13221,7 +13225,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[5283]|0; + $28 = HEAP32[5359]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13229,7 +13233,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[5284]|0; + $30 = HEAP32[5360]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13237,7 +13241,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[5285]|0; + $32 = HEAP32[5361]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13245,7 +13249,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[5285]|0; + $34 = HEAP32[5361]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13253,7 +13257,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[5286]|0; + $36 = HEAP32[5362]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13261,7 +13265,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[5286]|0; + $38 = HEAP32[5362]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13269,7 +13273,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[5287]|0; + $40 = HEAP32[5363]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13277,7 +13281,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[5287]|0; + $42 = HEAP32[5363]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13289,7 +13293,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[5288]|0; + $44 = HEAP32[5364]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13635,20 +13639,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[5267]|0; + $3 = HEAP32[5343]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[5266]|0; + $5 = HEAP32[5342]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[5308] = $3; - HEAP32[5309] = $5; - HEAP32[5310] = 0; - HEAP32[5311] = 0; + HEAP32[5384] = $3; + HEAP32[5385] = $5; + HEAP32[5386] = 0; + HEAP32[5387] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13662,9 +13666,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[5267]|0; + $35 = HEAP32[5343]|0; $36 = (+($35|0)); - $37 = HEAP32[5266]|0; + $37 = HEAP32[5342]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13672,26 +13676,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[5308] = $45; - HEAP32[5309] = $37; + HEAP32[5384] = $45; + HEAP32[5385] = $37; $46 = (($45) - ($35))|0; - HEAP32[5310] = $46; + HEAP32[5386] = $46; $$sink1 = 0; } else { - HEAP32[5308] = $35; + HEAP32[5384] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[5309] = $42; - HEAP32[5310] = 0; + HEAP32[5385] = $42; + HEAP32[5386] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[5311] = $$sink1; + HEAP32[5387] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[5266]|0; + $7 = HEAP32[5342]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13701,11 +13705,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,10019,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[5267]|0; + $9 = HEAP32[5343]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[5266]|0; + $13 = HEAP32[5342]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13713,33 +13717,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[5308] = $23; - HEAP32[5309] = $1; + HEAP32[5384] = $23; + HEAP32[5385] = $1; $24 = (($0) - ($23))|0; - HEAP32[5310] = $24; + HEAP32[5386] = $24; $$sink = 0; } else { - HEAP32[5308] = $0; - $17 = HEAP32[5266]|0; + HEAP32[5384] = $0; + $17 = HEAP32[5342]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[5309] = $20; - HEAP32[5310] = 0; + HEAP32[5385] = $20; + HEAP32[5386] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[5311] = $$sink; - $25 = HEAP32[5308]|0; + HEAP32[5387] = $$sink; + $25 = HEAP32[5384]|0; $26 = (+($25|0)); - $27 = HEAP32[5267]|0; + $27 = HEAP32[5343]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=21156; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5308] = $0; - HEAP32[5309] = $1; + dest=21460; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5384] = $0; + HEAP32[5385] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13761,10 +13765,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[5267] = $1; - HEAP32[5266] = $2; - HEAP32[5308] = $1; - HEAP32[5309] = $2; + HEAP32[5343] = $1; + HEAP32[5342] = $2; + HEAP32[5384] = $1; + HEAP32[5385] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13791,7 +13795,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (23895 + ($1)|0); + $9 = (24199 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13812,7 +13816,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (23889 + ($1)|0); + $7 = (24193 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13891,7 +13895,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 20816; + $15 = 21120; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13926,7 +13930,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[5681] = $3; + HEAP32[5757] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13936,7 +13940,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[5680] = $$sink; + HEAP32[5756] = $$sink; return; } function _rlglInit($0,$1) { @@ -14017,18 +14021,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,6769)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[5346] = 1; + HEAP32[5422] = 1; $27 = (_eglGetProcAddress((6796|0))|0); - HEAP32[5347] = $27; + HEAP32[5423] = $27; $28 = (_eglGetProcAddress((6817|0))|0); - HEAP32[5348] = $28; + HEAP32[5424] = $28; $29 = (_eglGetProcAddress((6838|0))|0); - HEAP32[5349] = $29; + HEAP32[5425] = $29; } $30 = (_strcmp($24,6862)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[5288] = 1; + HEAP32[5364] = 1; } $32 = (_strcmp($24,6882)|0); $33 = ($32|0)==(0); @@ -14050,7 +14054,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[5283] = 1; + HEAP32[5359] = 1; } $39 = (_strcmp($24,6987)|0); $40 = ($39|0)==(0); @@ -14066,35 +14070,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[5284] = 1; + HEAP32[5360] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,7056)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[5285] = 1; + HEAP32[5361] = 1; } $47 = (_strcmp($44,7081)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[5286] = 1; + HEAP32[5362] = 1; } $49 = (_strcmp($44,7114)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[5287] = 1; + HEAP32[5363] = 1; } $51 = (_strcmp($44,7150)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[5350] = 1; - _glGetFloatv(34047,(21404|0)); + HEAP32[5426] = 1; + _glGetFloatv(34047,(21708|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,7184)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[5352] = 1; + HEAP32[5428] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14105,61 +14109,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[5346]|0; + $21 = HEAP32[5422]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,7287,$vararg_buffer15); } else { _TraceLog(0,7212,$vararg_buffer13); } - $57 = HEAP32[5288]|0; + $57 = HEAP32[5364]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,7423,$vararg_buffer19); } else { _TraceLog(0,7348,$vararg_buffer17); } - $59 = HEAP32[5283]|0; + $59 = HEAP32[5359]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,7515,$vararg_buffer21); } - $61 = HEAP32[5284]|0; + $61 = HEAP32[5360]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,7561,$vararg_buffer23); } - $63 = HEAP32[5285]|0; + $63 = HEAP32[5361]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,7608,$vararg_buffer25); } - $65 = HEAP32[5286]|0; + $65 = HEAP32[5362]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,7659,$vararg_buffer27); } - $67 = HEAP32[5287]|0; + $67 = HEAP32[5363]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,7706,$vararg_buffer29); } - $69 = HEAP32[5350]|0; + $69 = HEAP32[5426]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[5351]; + $71 = +HEAPF32[5427]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,7753,$vararg_buffer31); } - $73 = HEAP32[5352]|0; + $73 = HEAP32[5428]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,7819,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[5353] = $75; + HEAP32[5429] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,7923,$vararg_buffer39); @@ -14168,14 +14172,14 @@ function _rlglInit($0,$1) { _TraceLog(0,7872,$vararg_buffer36); } _LoadDefaultShader($2); - dest=21416; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=21472; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21720; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21776; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[5382] = $77; + HEAP32[5458] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[5382]|0; + $79 = HEAP32[5458]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14188,7 +14192,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[5383] = $78; + HEAP32[5459] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14203,48 +14207,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[5384] = 1; - $85 = HEAP32[5353]|0; + HEAP32[5460] = 1; + $85 = HEAP32[5429]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[5385] = 4; + HEAP32[5461] = 4; _MatrixIdentity($4); - dest=21544; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21848; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(21608); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21912); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(21672); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(21976); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(21736); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22040); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(21800); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22104); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(21864); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22168); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(21928); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22232); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(21992); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22296); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22056); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22360); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22120); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22424); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22184); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22488); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22248); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22552); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22312); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22616); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22376); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22680); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22440); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22744); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(22504); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(22808); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=21252; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21556; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=21316; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[5312] = 21316; + dest=21620; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5388] = 21620; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14255,21 +14259,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[5642] = $0; - HEAP32[5643] = $1; + HEAP32[5718] = $0; + HEAP32[5719] = $1; _TraceLog(0,7962,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5310]|0; + $0 = HEAP32[5386]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[5311]|0; + $2 = HEAP32[5387]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[5308]|0; + $4 = HEAP32[5384]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[5309]|0; + $6 = HEAP32[5385]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14280,12 +14284,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 21252; + $modelview$sink = 21556; label = 3; break; } case 5888: { - $modelview$sink = 21316; + $modelview$sink = 21620; label = 3; break; } @@ -14293,9 +14297,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[5312] = $modelview$sink; + HEAP32[5388] = $modelview$sink; } - HEAP32[5345] = $0; + HEAP32[5421] = $0; return; } function _rlLoadIdentity() { @@ -14303,7 +14307,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[5312]|0; + $1 = HEAP32[5388]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14324,7 +14328,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[5312]|0; + $8 = HEAP32[5388]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14421,15 +14425,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(22588)>>2] = $0; + HEAP32[(22892)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(22596)>>2] = $1; - HEAP32[(22592)>>2] = 0; - HEAP32[(22600)>>2] = 0; + HEAP32[(22900)>>2] = $1; + HEAP32[(22896)>>2] = 0; + HEAP32[(22904)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(22596)>>2]|0; + $2 = HEAP32[(22900)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14440,19 +14444,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[5644] = 0; - HEAP32[(22584)>>2] = 0; - HEAP32[(22580)>>2] = 0; + HEAP32[5720] = 0; + HEAP32[(22888)>>2] = 0; + HEAP32[(22884)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(22636)>>2] = $5; + HEAP32[(22940)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(22644)>>2] = $6; - HEAP32[(22640)>>2] = 0; - HEAP32[(22648)>>2] = 0; + HEAP32[(22948)>>2] = $6; + HEAP32[(22944)>>2] = 0; + HEAP32[(22952)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(22644)>>2]|0; + $7 = HEAP32[(22948)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14463,24 +14467,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[5656] = 0; - HEAP32[(22632)>>2] = 0; - HEAP32[(22628)>>2] = 0; + HEAP32[5732] = 0; + HEAP32[(22936)>>2] = 0; + HEAP32[(22932)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(22684)>>2] = $10; + HEAP32[(22988)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(22688)>>2] = $11; + HEAP32[(22992)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(22692)>>2] = $12; + HEAP32[(22996)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(22696)>>2] = $13; - $14 = HEAP32[(22684)>>2]|0; + HEAP32[(23000)>>2] = $13; + $14 = HEAP32[(22988)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(22688)>>2]|0; + $15 = HEAP32[(22992)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(22692)>>2]|0; + $17 = HEAP32[(22996)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14491,7 +14495,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(22696)>>2]|0; + $16 = HEAP32[(23000)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14528,140 +14532,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[5668] = 0; - HEAP32[(22676)>>2] = 0; - HEAP32[(22680)>>2] = 0; + HEAP32[5744] = 0; + HEAP32[(22980)>>2] = 0; + HEAP32[(22984)>>2] = 0; _TraceLog(0,8009,$vararg_buffer); - $20 = HEAP32[5346]|0; + $20 = HEAP32[5422]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[5347]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(22604)); - $44 = HEAP32[5348]|0; - $45 = HEAP32[(22604)>>2]|0; + $43 = HEAP32[5423]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(22908)); + $44 = HEAP32[5424]|0; + $45 = HEAP32[(22908)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((22608)|0)); - $46 = HEAP32[(22608)>>2]|0; + _glGenBuffers(2,((22912)|0)); + $46 = HEAP32[(22912)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(22588)>>2]|0; + $47 = HEAP32[(22892)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(21476)>>2]|0; + $48 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(21476)>>2]|0; + $49 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((22612)|0)); - $50 = HEAP32[(22612)>>2]|0; + _glGenBuffers(2,((22916)|0)); + $50 = HEAP32[(22916)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(22596)>>2]|0; + $51 = HEAP32[(22900)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(21496)>>2]|0; + $52 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(21496)>>2]|0; + $53 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[5346]|0; + $54 = HEAP32[5422]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(22608)>>2]|0; - $58 = HEAP32[(22612)>>2]|0; + $57 = HEAP32[(22912)>>2]|0; + $58 = HEAP32[(22916)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,8147,$vararg_buffer3); } else { - $56 = HEAP32[(22604)>>2]|0; + $56 = HEAP32[(22908)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,8082,$vararg_buffer1); } - $59 = HEAP32[5346]|0; + $59 = HEAP32[5422]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[5347]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(22652)); - $62 = HEAP32[5348]|0; - $63 = HEAP32[(22652)>>2]|0; + $61 = HEAP32[5423]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(22956)); + $62 = HEAP32[5424]|0; + $63 = HEAP32[(22956)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((22656)|0)); - $64 = HEAP32[(22656)>>2]|0; + _glGenBuffers(1,((22960)|0)); + $64 = HEAP32[(22960)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(22636)>>2]|0; + $65 = HEAP32[(22940)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(21476)>>2]|0; + $66 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(21476)>>2]|0; + $67 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((22660)|0)); - $68 = HEAP32[(22660)>>2]|0; + _glGenBuffers(1,((22964)|0)); + $68 = HEAP32[(22964)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(22644)>>2]|0; + $69 = HEAP32[(22948)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(21496)>>2]|0; + $70 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(21496)>>2]|0; + $71 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[5346]|0; + $72 = HEAP32[5422]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(22656)>>2]|0; - $76 = HEAP32[(22660)>>2]|0; + $75 = HEAP32[(22960)>>2]|0; + $76 = HEAP32[(22964)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,8293,$vararg_buffer10); } else { - $74 = HEAP32[(22652)>>2]|0; + $74 = HEAP32[(22956)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,8224,$vararg_buffer7); } - $77 = HEAP32[5346]|0; + $77 = HEAP32[5422]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[5347]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(22700)); - $80 = HEAP32[5348]|0; - $81 = HEAP32[(22700)>>2]|0; + $79 = HEAP32[5423]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(23004)); + $80 = HEAP32[5424]|0; + $81 = HEAP32[(23004)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((22704)|0)); - $82 = HEAP32[(22704)>>2]|0; + _glGenBuffers(1,((23008)|0)); + $82 = HEAP32[(23008)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(22684)>>2]|0; + $83 = HEAP32[(22988)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(21476)>>2]|0; + $84 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(21476)>>2]|0; + $85 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((22708)|0)); - $86 = HEAP32[(22708)>>2]|0; + _glGenBuffers(1,((23012)|0)); + $86 = HEAP32[(23012)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(22688)>>2]|0; + $87 = HEAP32[(22992)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(21480)>>2]|0; + $88 = HEAP32[(21784)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(21480)>>2]|0; + $89 = HEAP32[(21784)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((22712)|0)); - $90 = HEAP32[(22712)>>2]|0; + _glGenBuffers(1,((23016)|0)); + $90 = HEAP32[(23016)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(22692)>>2]|0; + $91 = HEAP32[(22996)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(21496)>>2]|0; + $92 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(21496)>>2]|0; + $93 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((22716)|0)); - $94 = HEAP32[(22716)>>2]|0; + _glGenBuffers(1,((23020)|0)); + $94 = HEAP32[(23020)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(22696)>>2]|0; + $95 = HEAP32[(23000)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[5346]|0; + $96 = HEAP32[5422]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(22704)>>2]|0; - $100 = HEAP32[(22708)>>2]|0; - $101 = HEAP32[(22712)>>2]|0; - $102 = HEAP32[(22716)>>2]|0; + $99 = HEAP32[(23008)>>2]|0; + $100 = HEAP32[(23012)>>2]|0; + $101 = HEAP32[(23016)>>2]|0; + $102 = HEAP32[(23020)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14671,16 +14675,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,8439,$vararg_buffer17); } else { - $98 = HEAP32[(22700)>>2]|0; + $98 = HEAP32[(23004)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,8374,$vararg_buffer14); } - $103 = HEAP32[5346]|0; + $103 = HEAP32[5422]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[5348]|0; + $105 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14861,9 +14865,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (23889 + ($0)|0); + $1 = (24193 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (23892 + ($0)|0); + $3 = (24196 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14875,9 +14879,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (23889 + ($0)|0); + $1 = (24193 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (23892 + ($0)|0); + $3 = (24196 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14898,7 +14902,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[5265]|0; + $0 = HEAP32[5341]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,10283,$vararg_buffer); @@ -14909,9 +14913,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[21100>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[21100+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[21100+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[21100+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[21100+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[21404>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[21404+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[21404+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[21404+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[21404+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(21128)>>2]|0; + $0 = HEAP32[(21432)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14922,11 +14926,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(21412|0)); - $0 = HEAP32[5353]|0; + _glDeleteTextures(1,(21716|0)); + $0 = HEAP32[5429]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,10310,$vararg_buffer); - $1 = HEAP32[5383]|0; + $1 = HEAP32[5459]|0; _free($1); STACKTOP = sp;return; } @@ -14934,17 +14938,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[5354]|0; + $0 = HEAP32[5430]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[5346]|0; + $0 = HEAP32[5422]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5348]|0; + $2 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14953,39 +14957,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((22608)|0)); - _glDeleteBuffers(1,((22612)|0)); - _glDeleteBuffers(1,((22656)|0)); - _glDeleteBuffers(1,((22660)|0)); - _glDeleteBuffers(1,((22704)|0)); - _glDeleteBuffers(1,((22708)|0)); - _glDeleteBuffers(1,((22712)|0)); - _glDeleteBuffers(1,((22716)|0)); - $3 = HEAP32[5346]|0; + _glDeleteBuffers(1,((22912)|0)); + _glDeleteBuffers(1,((22916)|0)); + _glDeleteBuffers(1,((22960)|0)); + _glDeleteBuffers(1,((22964)|0)); + _glDeleteBuffers(1,((23008)|0)); + _glDeleteBuffers(1,((23012)|0)); + _glDeleteBuffers(1,((23016)|0)); + _glDeleteBuffers(1,((23020)|0)); + $3 = HEAP32[5422]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[5349]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(22604)); - $6 = HEAP32[5349]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(22652)); - $7 = HEAP32[5349]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(22700)); - } - $8 = HEAP32[(22588)>>2]|0; + $5 = HEAP32[5425]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(22908)); + $6 = HEAP32[5425]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(22956)); + $7 = HEAP32[5425]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(23004)); + } + $8 = HEAP32[(22892)>>2]|0; _free($8); - $9 = HEAP32[(22596)>>2]|0; + $9 = HEAP32[(22900)>>2]|0; _free($9); - $10 = HEAP32[(22636)>>2]|0; + $10 = HEAP32[(22940)>>2]|0; _free($10); - $11 = HEAP32[(22644)>>2]|0; + $11 = HEAP32[(22948)>>2]|0; _free($11); - $12 = HEAP32[(22684)>>2]|0; + $12 = HEAP32[(22988)>>2]|0; _free($12); - $13 = HEAP32[(22688)>>2]|0; + $13 = HEAP32[(22992)>>2]|0; _free($13); - $14 = HEAP32[(22692)>>2]|0; + $14 = HEAP32[(22996)>>2]|0; _free($14); - $15 = HEAP32[(22696)>>2]|0; + $15 = HEAP32[(23000)>>2]|0; _free($15); return; } @@ -15025,16 +15029,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2621] = $0; - $1 = +HEAPF64[2604]; + HEAPF64[2659] = $0; + $1 = +HEAPF64[2642]; $2 = $0 - $1; - HEAPF64[2622] = $2; - HEAPF64[2604] = $0; + HEAPF64[2660] = $2; + HEAPF64[2642] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=21156; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=21460; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(22728); + _rlMultMatrixf(23032); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15043,53 +15047,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[5682] = $1; + HEAP32[5758] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(22732)>>2] = $3; + HEAP32[(23036)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(22736)>>2] = $5; + HEAP32[(23040)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(22740)>>2] = $7; + HEAP32[(23044)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(22744)>>2] = $9; + HEAP32[(23048)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(22748)>>2] = $11; + HEAP32[(23052)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(22752)>>2] = $13; + HEAP32[(23056)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(22756)>>2] = $15; + HEAP32[(23060)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(22760)>>2] = $17; + HEAP32[(23064)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(22764)>>2] = $19; + HEAP32[(23068)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(22768)>>2] = $21; + HEAP32[(23072)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(22772)>>2] = $23; + HEAP32[(23076)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(22776)>>2] = $25; + HEAP32[(23080)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(22780)>>2] = $27; + HEAP32[(23084)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(22784)>>2] = $29; + HEAP32[(23088)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(22788)>>2] = $31; - return (22728|0); + HEAP32[(23092)>>2] = $31; + return (23032|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15164,7 +15168,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[5312]|0; + $49 = HEAP32[5388]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15178,15 +15182,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2621] = $0; - $1 = +HEAPF64[2604]; + HEAPF64[2659] = $0; + $1 = +HEAPF64[2642]; $2 = $0 - $1; - HEAPF64[2623] = $2; - HEAPF64[2604] = $0; - $3 = +HEAPF64[2622]; + HEAPF64[2661] = $2; + HEAPF64[2642] = $0; + $3 = +HEAPF64[2660]; $4 = $2 + $3; - HEAPF64[2624] = $4; - $5 = +HEAPF64[2601]; + HEAPF64[2662] = $4; + $5 = +HEAPF64[2639]; $6 = $4 < $5; if (!($6)) { return; @@ -15196,13 +15200,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2621] = $10; - $11 = +HEAPF64[2604]; + HEAPF64[2659] = $10; + $11 = +HEAPF64[2642]; $12 = $10 - $11; - HEAPF64[2604] = $10; - $13 = +HEAPF64[2624]; + HEAPF64[2642] = $10; + $13 = +HEAPF64[2662]; $14 = $12 + $13; - HEAPF64[2624] = $14; + HEAPF64[2662] = $14; return; } function _rlglDraw() { @@ -15215,7 +15219,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5265]|0; + $0 = HEAP32[5341]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15231,20 +15235,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[5698] = 0; - $3 = HEAP32[5265]|0; + HEAP32[5774] = 0; + $3 = HEAP32[5341]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[5200] = $5; + HEAPF32[5276] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(20804)>>2] = $7; - _memcpy((24407|0),(23895|0),512)|0; - ;HEAP8[23892>>0]=HEAP8[23889>>0]|0;HEAP8[23892+1>>0]=HEAP8[23889+1>>0]|0;HEAP8[23892+2>>0]=HEAP8[23889+2>>0]|0; - $8 = HEAP32[5681]|0; - HEAP32[5268] = $8; - HEAP32[5681] = 0; + HEAPF32[(21108)>>2] = $7; + _memcpy((24711|0),(24199|0),512)|0; + ;HEAP8[24196>>0]=HEAP8[24193>>0]|0;HEAP8[24196+1>>0]=HEAP8[24193+1>>0]|0;HEAP8[24196+2>>0]=HEAP8[24193+2>>0]|0; + $8 = HEAP32[5757]|0; + HEAP32[5344] = $8; + HEAP32[5757] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15254,8 +15258,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (24919 + ($$05160<<5)|0); - $scevgep67 = (25047 + ($$05160<<5)|0); + $scevgep = (25223 + ($$05160<<5)|0); + $scevgep67 = (25351 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15269,7 +15273,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((25047 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((25351 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15296,7 +15300,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((22796 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((23100 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15312,7 +15316,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[5698] = $$lcssa; + HEAP32[5774] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15353,87 +15357,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5644]|0; + $0 = HEAP32[5720]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[5346]|0; + $2 = HEAP32[5422]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[5348]|0; - $5 = HEAP32[(22604)>>2]|0; + $4 = HEAP32[5424]|0; + $5 = HEAP32[(22908)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(22608)>>2]|0; + $6 = HEAP32[(22912)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[5644]|0; + $7 = HEAP32[5720]|0; $8 = ($7*12)|0; - $9 = HEAP32[(22588)>>2]|0; + $9 = HEAP32[(22892)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(22612)>>2]|0; + $10 = HEAP32[(22916)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(22584)>>2]|0; + $11 = HEAP32[(22888)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(22596)>>2]|0; + $13 = HEAP32[(22900)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[5656]|0; + $14 = HEAP32[5732]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[5346]|0; + $16 = HEAP32[5422]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[5348]|0; - $19 = HEAP32[(22652)>>2]|0; + $18 = HEAP32[5424]|0; + $19 = HEAP32[(22956)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(22656)>>2]|0; + $20 = HEAP32[(22960)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[5656]|0; + $21 = HEAP32[5732]|0; $22 = ($21*12)|0; - $23 = HEAP32[(22636)>>2]|0; + $23 = HEAP32[(22940)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(22660)>>2]|0; + $24 = HEAP32[(22964)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(22632)>>2]|0; + $25 = HEAP32[(22936)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(22644)>>2]|0; + $27 = HEAP32[(22948)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[5668]|0; + $28 = HEAP32[5744]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[5346]|0; + $30 = HEAP32[5422]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[5348]|0; - $33 = HEAP32[(22700)>>2]|0; + $32 = HEAP32[5424]|0; + $33 = HEAP32[(23004)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(22704)>>2]|0; + $34 = HEAP32[(23008)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[5668]|0; + $35 = HEAP32[5744]|0; $36 = ($35*12)|0; - $37 = HEAP32[(22684)>>2]|0; + $37 = HEAP32[(22988)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(22708)>>2]|0; + $38 = HEAP32[(23012)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[5668]|0; + $39 = HEAP32[5744]|0; $40 = $39 << 3; - $41 = HEAP32[(22688)>>2]|0; + $41 = HEAP32[(22992)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(22712)>>2]|0; + $42 = HEAP32[(23016)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[5668]|0; + $43 = HEAP32[5744]|0; $44 = $43 << 2; - $45 = HEAP32[(22692)>>2]|0; + $45 = HEAP32[(22996)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[5346]|0; + $46 = HEAP32[5422]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[5348]|0; + $48 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15451,9 +15455,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=21252; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=21316; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[5731]|0; + dest=$0; src=21556; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=21620; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[5807]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15463,134 +15467,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[5644]|0; + $8 = HEAP32[5720]|0; $9 = ($8|0)>(0); - $10 = HEAP32[5656]|0; + $10 = HEAP32[5732]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[5668]|0; + $12 = HEAP32[5744]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[5368]|0; + $14 = HEAP32[5444]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=21316; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=21252; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=21620; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=21556; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(21500)>>2]|0; + $15 = HEAP32[(21804)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(21504)>>2]|0; + $17 = HEAP32[(21808)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(21516)>>2]|0; + $18 = HEAP32[(21820)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[5644]|0; + $19 = HEAP32[5720]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[5353]|0; + $21 = HEAP32[5429]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[5346]|0; + $22 = HEAP32[5422]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(22608)>>2]|0; + $26 = HEAP32[(22912)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(21476)>>2]|0; + $27 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(21476)>>2]|0; + $28 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(22612)>>2]|0; + $29 = HEAP32[(22916)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(21496)>>2]|0; + $30 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(21496)>>2]|0; + $31 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[5348]|0; - $25 = HEAP32[(22604)>>2]|0; + $24 = HEAP32[5424]|0; + $25 = HEAP32[(22908)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[5644]|0; + $32 = HEAP32[5720]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[5346]|0; + $33 = HEAP32[5422]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[5656]|0; + $35 = HEAP32[5732]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[5353]|0; + $37 = HEAP32[5429]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[5346]|0; + $38 = HEAP32[5422]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(22656)>>2]|0; + $42 = HEAP32[(22960)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(21476)>>2]|0; + $43 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(21476)>>2]|0; + $44 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(22660)>>2]|0; + $45 = HEAP32[(22964)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(21496)>>2]|0; + $46 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(21496)>>2]|0; + $47 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[5348]|0; - $41 = HEAP32[(22652)>>2]|0; + $40 = HEAP32[5424]|0; + $41 = HEAP32[(22956)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[5656]|0; + $48 = HEAP32[5732]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[5346]|0; + $49 = HEAP32[5422]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[5668]|0; + $51 = HEAP32[5744]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[5346]|0; + $53 = HEAP32[5422]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(22704)>>2]|0; + $57 = HEAP32[(23008)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(21476)>>2]|0; + $58 = HEAP32[(21780)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(21476)>>2]|0; + $59 = HEAP32[(21780)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(22708)>>2]|0; + $60 = HEAP32[(23012)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(21480)>>2]|0; + $61 = HEAP32[(21784)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(21480)>>2]|0; + $62 = HEAP32[(21784)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(22712)>>2]|0; + $63 = HEAP32[(23016)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(21496)>>2]|0; + $64 = HEAP32[(21800)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(21496)>>2]|0; + $65 = HEAP32[(21800)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(22716)>>2]|0; + $66 = HEAP32[(23020)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[5348]|0; - $56 = HEAP32[(22700)>>2]|0; + $55 = HEAP32[5424]|0; + $56 = HEAP32[(23004)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[5384]|0; + $67 = HEAP32[5460]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[5383]|0; + $71 = HEAP32[5459]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15601,14 +15605,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[5383]|0; + $80 = HEAP32[5459]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[5384]|0; + $87 = HEAP32[5460]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15617,7 +15621,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[5346]|0; + $69 = HEAP32[5422]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15625,10 +15629,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[5346]|0; + $89 = HEAP32[5422]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[5348]|0; + $91 = HEAP32[5424]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15640,22 +15644,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[5384] = 1; - $5 = HEAP32[5353]|0; - $6 = HEAP32[5383]|0; + HEAP32[5460] = 1; + $5 = HEAP32[5429]|0; + $6 = HEAP32[5459]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[5644] = 0; - HEAP32[(22584)>>2] = 0; - HEAP32[5656] = 0; - HEAP32[(22632)>>2] = 0; - HEAP32[5668] = 0; - HEAP32[(22676)>>2] = 0; - HEAP32[(22680)>>2] = 0; + HEAP32[5720] = 0; + HEAP32[(22888)>>2] = 0; + HEAP32[5732] = 0; + HEAP32[(22936)>>2] = 0; + HEAP32[5744] = 0; + HEAP32[(22980)>>2] = 0; + HEAP32[(22984)>>2] = 0; HEAPF32[744] = -1.0; - dest=21252; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=21316; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21556; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21620; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15670,17 +15674,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[5642]|0; + $5 = HEAP32[5718]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[5643]|0; + $9 = HEAP32[5719]|0; _rlViewport($7,0,$8,$9); - $10 = (23156 + ($0<<6)|0); + $10 = (23460 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (23028 + ($0<<6)|0); + $11 = (23332 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15692,14 +15696,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=21316; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21620; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=21252; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=21556; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15707,43 +15711,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[5821]|0; + $0 = HEAP32[5897]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,10425,$vararg_buffer); } - $2 = HEAP32[5821]|0; - $3 = (21544 + ($2<<6)|0); - $4 = HEAP32[5312]|0; + $2 = HEAP32[5897]|0; + $3 = (21848 + ($2<<6)|0); + $4 = HEAP32[5388]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[5821]|0; + $5 = HEAP32[5897]|0; $6 = (($5) + 1)|0; - HEAP32[5821] = $6; - $7 = HEAP32[5345]|0; + HEAP32[5897] = $6; + $7 = HEAP32[5421]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[5822] = 1; + HEAP32[5898] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5821]|0; + $0 = HEAP32[5897]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[5821]|0; + $2 = HEAP32[5897]|0; $3 = (($2) + -1)|0; - $4 = (21544 + ($3<<6)|0); - $5 = HEAP32[5312]|0; + $4 = (21848 + ($3<<6)|0); + $5 = HEAP32[5388]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[5821] = $6; + HEAP32[5897] = $6; return; } function _IsFileExtension($0,$1) { @@ -15776,7 +15780,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[5312]|0; + $5 = HEAP32[5388]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15809,7 +15813,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[5312]|0; + $11 = HEAP32[5388]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15820,7 +15824,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5385] = $0; + HEAP32[5461] = $0; return; } function _rlEnd() { @@ -15836,21 +15840,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[5822]|0; + $0 = HEAP32[5898]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[5823]|0; + $2 = HEAP32[5899]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[5382]|0; + $6 = HEAP32[5458]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[5312]|0; + $8 = HEAP32[5388]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[5823]|0; + $5 = HEAP32[5899]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15858,12 +15862,12 @@ function _rlEnd() { break; } } - HEAP32[5822] = 0; + HEAP32[5898] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[5382]|0; + $11 = HEAP32[5458]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15872,7 +15876,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[5823]|0; + $19 = HEAP32[5899]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15882,15 +15886,15 @@ function _rlEnd() { } } } else { - HEAP32[5822] = 0; + HEAP32[5898] = 0; } - HEAP32[5823] = 0; + HEAP32[5899] = 0; } - $21 = HEAP32[5385]|0; + $21 = HEAP32[5461]|0; switch ($21|0) { case 1: { - $22 = HEAP32[5644]|0; - $23 = HEAP32[(22584)>>2]|0; + $22 = HEAP32[5720]|0; + $23 = HEAP32[(22888)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15909,16 +15913,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(22596)>>2]|0; - $28 = HEAP32[(22584)>>2]|0; + $27 = HEAP32[(22900)>>2]|0; + $28 = HEAP32[(22888)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(22596)>>2]|0; - $35 = HEAP32[(22584)>>2]|0; + $34 = HEAP32[(22900)>>2]|0; + $35 = HEAP32[(22888)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15926,8 +15930,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(22596)>>2]|0; - $43 = HEAP32[(22584)>>2]|0; + $42 = HEAP32[(22900)>>2]|0; + $43 = HEAP32[(22888)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15935,8 +15939,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(22596)>>2]|0; - $51 = HEAP32[(22584)>>2]|0; + $50 = HEAP32[(22900)>>2]|0; + $51 = HEAP32[(22888)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15944,9 +15948,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(22584)>>2]|0; + $58 = HEAP32[(22888)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(22584)>>2] = $59; + HEAP32[(22888)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15962,8 +15966,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[5656]|0; - $62 = HEAP32[(22632)>>2]|0; + $61 = HEAP32[5732]|0; + $62 = HEAP32[(22936)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15982,16 +15986,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(22644)>>2]|0; - $67 = HEAP32[(22632)>>2]|0; + $66 = HEAP32[(22948)>>2]|0; + $67 = HEAP32[(22936)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(22644)>>2]|0; - $74 = HEAP32[(22632)>>2]|0; + $73 = HEAP32[(22948)>>2]|0; + $74 = HEAP32[(22936)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15999,8 +16003,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(22644)>>2]|0; - $82 = HEAP32[(22632)>>2]|0; + $81 = HEAP32[(22948)>>2]|0; + $82 = HEAP32[(22936)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16008,8 +16012,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(22644)>>2]|0; - $90 = HEAP32[(22632)>>2]|0; + $89 = HEAP32[(22948)>>2]|0; + $90 = HEAP32[(22936)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16017,9 +16021,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(22632)>>2]|0; + $97 = HEAP32[(22936)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(22632)>>2] = $98; + HEAP32[(22936)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16035,8 +16039,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[5668]|0; - $101 = HEAP32[(22680)>>2]|0; + $100 = HEAP32[5744]|0; + $101 = HEAP32[(22984)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16044,16 +16048,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(22692)>>2]|0; - $106 = HEAP32[(22680)>>2]|0; + $105 = HEAP32[(22996)>>2]|0; + $106 = HEAP32[(22984)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(22692)>>2]|0; - $113 = HEAP32[(22680)>>2]|0; + $112 = HEAP32[(22996)>>2]|0; + $113 = HEAP32[(22984)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16061,8 +16065,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(22692)>>2]|0; - $121 = HEAP32[(22680)>>2]|0; + $120 = HEAP32[(22996)>>2]|0; + $121 = HEAP32[(22984)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16070,8 +16074,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(22692)>>2]|0; - $129 = HEAP32[(22680)>>2]|0; + $128 = HEAP32[(22996)>>2]|0; + $129 = HEAP32[(22984)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16079,9 +16083,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(22680)>>2]|0; + $136 = HEAP32[(22984)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(22680)>>2] = $137; + HEAP32[(22984)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16092,8 +16096,8 @@ function _rlEnd() { } } } - $139 = HEAP32[5668]|0; - $140 = HEAP32[(22676)>>2]|0; + $139 = HEAP32[5744]|0; + $140 = HEAP32[(22980)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16101,8 +16105,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(22688)>>2]|0; - $$promoted = HEAP32[(22676)>>2]|0; + $142 = HEAP32[(22992)>>2]|0; + $$promoted = HEAP32[(22980)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16110,7 +16114,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(22676)>>2] = $147; + HEAP32[(22980)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16137,11 +16141,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[5822]|0; + $3 = HEAP32[5898]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[5382]|0; - $6 = HEAP32[5823]|0; + $5 = HEAP32[5458]|0; + $6 = HEAP32[5899]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16149,16 +16153,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[5823] = $10; + HEAP32[5899] = $10; STACKTOP = sp;return; } - $11 = HEAP32[5385]|0; + $11 = HEAP32[5461]|0; switch ($11|0) { case 1: { - $12 = HEAP32[5644]|0; + $12 = HEAP32[5720]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(22588)>>2]|0; + $14 = HEAP32[(22892)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16169,7 +16173,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[5644] = $21; + HEAP32[5720] = $21; STACKTOP = sp;return; } else { _TraceLog(1,10463,$vararg_buffer); @@ -16178,10 +16182,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[5656]|0; + $22 = HEAP32[5732]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(22636)>>2]|0; + $24 = HEAP32[(22940)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16192,7 +16196,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[5656] = $31; + HEAP32[5732] = $31; STACKTOP = sp;return; } else { _TraceLog(1,10488,$vararg_buffer1); @@ -16201,10 +16205,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[5668]|0; + $32 = HEAP32[5744]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(22684)>>2]|0; + $34 = HEAP32[(22988)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16215,9 +16219,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[5668] = $41; - $42 = HEAP32[5383]|0; - $43 = HEAP32[5384]|0; + HEAP32[5744] = $41; + $42 = HEAP32[5459]|0; + $43 = HEAP32[5460]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16260,13 +16264,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[5385]|0; + $2 = HEAP32[5461]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(22688)>>2]|0; - $5 = HEAP32[(22676)>>2]|0; + $4 = HEAP32[(22992)>>2]|0; + $5 = HEAP32[(22980)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16274,7 +16278,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(22676)>>2] = $10; + HEAP32[(22980)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16293,18 +16297,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[5385]|0; + $4 = HEAP32[5461]|0; switch ($4|0) { case 1: { - $$sink37 = (22584);$$sink38 = (22596); + $$sink37 = (22888);$$sink38 = (22900); break; } case 4: { - $$sink37 = (22632);$$sink38 = (22644); + $$sink37 = (22936);$$sink38 = (22948); break; } case 7: { - $$sink37 = (22680);$$sink38 = (22692); + $$sink37 = (22984);$$sink38 = (22996); break; } default: { @@ -16343,8 +16347,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[5383]|0; - $2 = HEAP32[5384]|0; + $1 = HEAP32[5459]|0; + $2 = HEAP32[5460]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16357,9 +16361,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[5384] = $10; + HEAP32[5460] = $10; } - $11 = HEAP32[5384]|0; + $11 = HEAP32[5460]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16370,7 +16374,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[5668]|0; + $0 = HEAP32[5744]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16382,7 +16386,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[5353]|0; + $1 = HEAP32[5429]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16609,40 +16613,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(10542); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,14442)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[5824] = $0; + HEAP32[5900] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16706,7 +16681,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((10554|0),(10580|0),1125,(10603|0)); + ___assert_fail((10542|0),(10568|0),1041,(10591|0)); // unreachable; } } @@ -16724,7 +16699,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[5825]|0; + $15 = HEAP32[5901]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16817,7 +16792,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(10644); + _stbi__err(10632); $$0 = 0; return ($$0|0); } else { @@ -16839,7 +16814,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(10635); + _stbi__err(10623); $$0 = 0; return ($$0|0); } @@ -16909,7 +16884,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(10663); + _stbi__err(10651); $$045 = 0; return ($$045|0); } @@ -17470,7 +17445,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (10979 + ($120)|0); + $121 = (10967 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17512,97 +17487,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(10753); + _stbi__err(10741); $$6$ph = 0; break; } case 9: { - _stbi__err(10767); + _stbi__err(10755); $$6$ph = 0; break; } case 11: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 13: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 15: { - _stbi__err(10790); + _stbi__err(10778); $$6$ph = 0; break; } case 17: { - _stbi__err(10810); + _stbi__err(10798); $$6$ph = 0; break; } case 20: { - _stbi__err(10810); + _stbi__err(10798); $$6$ph = 0; break; } case 22: { - _stbi__err(10810); + _stbi__err(10798); $$6$ph = 0; break; } case 24: { - _stbi__err(10820); + _stbi__err(10808); $$6$ph = 0; break; } case 26: { - _stbi__err(10836); + _stbi__err(10824); $$6$ph = 0; break; } case 28: { - _stbi__err(10854); + _stbi__err(10842); $$6$ph = 0; break; } case 31: { - _stbi__err(10875); + _stbi__err(10863); $$6$ph = 0; break; } case 34: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 37: { - _stbi__err(10780); + _stbi__err(10768); $$6$ph = 0; break; } case 39: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 41: { - _stbi__err(10904); + _stbi__err(10892); $$6$ph = 0; break; } case 44: { - _stbi__err(10904); + _stbi__err(10892); $$6$ph = 0; break; } case 47: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 49: { - _stbi__err(10917); + _stbi__err(10905); $$6$ph = 0; break; } @@ -17613,32 +17588,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(10933); + _stbi__err(10921); $$6$ph = 0; break; } case 58: { - _stbi__err(10950); + _stbi__err(10938); $$6$ph = 0; break; } case 61: { - _stbi__err(10963); + _stbi__err(10951); $$6$ph = 0; break; } case 63: { - _stbi__err(10950); + _stbi__err(10938); $$6$ph = 0; break; } case 70: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 72: { - _stbi__err(10988); + _stbi__err(10976); $$6$ph = 0; break; } @@ -17650,12 +17625,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(10635); + _stbi__err(10623); $$6$ph = 0; break; } case 83: { - _stbi__err(10996); + _stbi__err(10984); $$6$ph = 0; break; } @@ -17668,7 +17643,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(11006); + _stbi__err(10994); $$4 = 0; break; } @@ -17733,7 +17708,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[5826]|0; + $193 = HEAP32[5902]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17766,7 +17741,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(10889); + _stbi__err(10877); $$4 = 0; } } while(0); @@ -17774,24 +17749,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(10889); + _stbi__err(10877); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[11014] = $206; + HEAP8[11002] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(11015)>>0] = $209; + HEAP8[(11003)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(11016)>>0] = $211; + HEAP8[(11004)>>0] = $211; $212 = $207&255; - HEAP8[(11017)>>0] = $212; - _stbi__err(11014); + HEAP8[(11005)>>0] = $212; + _stbi__err(11002); $$6$ph = 0; break; } @@ -17825,14 +17800,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10676|0),(10580|0),1561,(10732|0)); + ___assert_fail((10664|0),(10568|0),1477,(10720|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(10635); + _stbi__err(10623); $$0163 = 0; return ($$0163|0); } @@ -18195,7 +18170,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10730|0),(10580|0),1590,(10732|0)); + ___assert_fail((10718|0),(10568|0),1506,(10720|0)); // unreachable; } } while(0); @@ -18229,7 +18204,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((10676|0),(10580|0),1610,(10707|0)); + ___assert_fail((10664|0),(10568|0),1526,(10695|0)); // unreachable; } $7 = $2 << 1; @@ -18239,7 +18214,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(10635); + _stbi__err(10623); $$0163 = 0; return ($$0163|0); } @@ -18602,7 +18577,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((10730|0),(10580|0),1639,(10707|0)); + ___assert_fail((10718|0),(10568|0),1555,(10695|0)); // unreachable; } } while(0); @@ -18750,7 +18725,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(11671); + _stbi__err(11979); $$05 = 0; return ($$05|0); } @@ -19187,7 +19162,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((11073|0),(10580|0),4568,(11125|0)); + ___assert_fail((11061|0),(10568|0),4569,(11113|0)); // unreachable; } } @@ -19274,7 +19249,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((11073|0),(10580|0),4543,(11098|0)); + ___assert_fail((11061|0),(10568|0),4544,(11086|0)); // unreachable; } } @@ -19321,7 +19296,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[5827]|0; + $16 = HEAP32[5903]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19396,7 +19371,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((11039|0),(10580|0),4649,(11057|0)); + ___assert_fail((11027|0),(10568|0),4650,(11045|0)); // unreachable; } } @@ -19419,7 +19394,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(10635); + _stbi__err(10623); $$0 = 0; return ($$0|0); } @@ -19596,7 +19571,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((11154|0),(10580|0),4294,(11195|0)); + ___assert_fail((11142|0),(10568|0),4294,(11183|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19604,7 +19579,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(10635); + _stbi__err(10623); $$2 = 0; return ($$2|0); } @@ -19623,7 +19598,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(11222); + _stbi__err(11210); $$2 = 0; return ($$2|0); } @@ -19636,7 +19611,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(11222); + _stbi__err(11210); $$2 = 0; return ($$2|0); } @@ -19644,12 +19619,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19672,33 +19647,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (11261 + ($56)|0); + $60 = (11249 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19708,24 +19683,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19735,10 +19710,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19749,10 +19724,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19763,14 +19738,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19800,7 +19775,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19815,12 +19790,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20397,15 +20372,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((11240|0),(10580|0),4315,(11195|0)); + ___assert_fail((11228|0),(10568|0),4315,(11183|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((11266|0),(10580|0),4376,(11195|0)); + ___assert_fail((11254|0),(10568|0),4377,(11183|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(11283); + _stbi__err(11271); $$2 = 0; return ($$2|0); } @@ -20455,7 +20430,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (10979 + ($6)|0); + $336 = (10967 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20896,7 +20871,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((11298|0),(10580|0),4465,(11195|0)); + ___assert_fail((11286|0),(10568|0),4466,(11183|0)); // unreachable; } else if ((label|0) == 151) { @@ -20956,8 +20931,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20972,15 +20947,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20989,65 +20964,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(25206)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,11297,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,25207,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,25175,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,11585,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21066,14 +21036,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(11624); + _stbi__err(11932); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(11640); + _stbi__err(11948); $$0 = 0; return ($$0|0); } @@ -21082,7 +21052,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(11655); + _stbi__err(11963); $$0 = 0; return ($$0|0); } @@ -21165,7 +21135,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((11546|0),(10580|0),4048,(11563|0)); + ___assert_fail((11854|0),(10568|0),4033,(11871|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21202,7 +21172,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(11594); + _stbi__err(11902); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21212,7 +21182,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(11607); + _stbi__err(11915); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21242,21 +21212,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((25207|0),8,144)|0; - dest=(25351); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(25463); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (25487); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=25175; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21390,7 +21345,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(11484); + _stbi__err(11792); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21479,7 +21434,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(11536); + _stbi__err(11844); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21508,7 +21463,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (14897 + ($$06579)|0); + $14 = (15205 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21599,21 +21554,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((11500|0),(10580|0),4021,(11508|0)); + ___assert_fail((11808|0),(10568|0),4006,(11816|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21623,7 +21578,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(11484); + _stbi__err(11792); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21787,7 +21742,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(11309); + _stbi__err(11617); $$3$ph = 0; return ($$3$ph|0); } @@ -21797,12 +21752,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(11309); + _stbi__err(11617); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(11326); + _stbi__err(11634); $$3$ph = 0; return ($$3$ph|0); } @@ -21859,7 +21814,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(11335); + _stbi__err(11643); $$0 = 0; return ($$0|0); } @@ -21885,7 +21840,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(10635); + _stbi__err(10623); $$0 = 0; return ($$0|0); } else { @@ -21930,7 +21885,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((11431|0),(10580|0),3863,(11468|0)); + ___assert_fail((11739|0),(10568|0),3848,(11776|0)); // unreachable; } else if ((label|0) == 5) { @@ -21978,7 +21933,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((11355|0),(10580|0),3891,(11371|0)); + ___assert_fail((11663|0),(10568|0),3876,(11679|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22006,7 +21961,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((11402|0),(10580|0),3781,(11413|0)); + ___assert_fail((11710|0),(10568|0),3766,(11721|0)); // unreachable; } return (0)|0; @@ -22340,7 +22295,7 @@ function _stbir__calculate_memory($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.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; var $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, $60 = 0, $61 = 0, $62 = 0; var $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, $79 = 0, $8 = 0, $80 = 0; - var $81 = 0, $82 = 0, $83 = 0, $9 = 0.0, label = 0, sp = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; $1 = ((($0)) + 80|0); $2 = HEAP32[$1>>2]|0; @@ -22370,89 +22325,93 @@ function _stbir__calculate_memory($0) { $25 = (_stbir__get_contributors($19,$20,$22,$24)|0); $26 = ((($0)) + 156|0); HEAP32[$26>>2] = $25; - $27 = HEAP32[$18>>2]|0; - $28 = $27 << 3; - $29 = ((($0)) + 184|0); - HEAP32[$29>>2] = $28; - $30 = (_stbir__get_total_horizontal_coefficients($0)|0); - $31 = $30 << 2; - $32 = ((($0)) + 188|0); - HEAP32[$32>>2] = $31; - $33 = HEAP32[$26>>2]|0; - $34 = $33 << 3; - $35 = ((($0)) + 192|0); - HEAP32[$35>>2] = $34; - $36 = (_stbir__get_total_vertical_coefficients($0)|0); - $37 = $36 << 2; - $38 = ((($0)) + 196|0); - HEAP32[$38>>2] = $37; - $39 = HEAP32[$13>>2]|0; - $40 = $5 << 1; - $41 = (($39) + ($40))|0; - $42 = ((($0)) + 64|0); - $43 = HEAP32[$42>>2]|0; - $44 = $43 << 2; - $45 = Math_imul($44, $41)|0; - $46 = ((($0)) + 200|0); - HEAP32[$46>>2] = $45; - $47 = HEAP32[$15>>2]|0; - $48 = $43 << 2; - $49 = Math_imul($48, $47)|0; - $50 = ((($0)) + 204|0); - HEAP32[$50>>2] = $49; - $51 = HEAP32[$42>>2]|0; - $52 = $10 << 2; - $53 = Math_imul($52, $47)|0; - $54 = Math_imul($53, $51)|0; - $55 = ((($0)) + 208|0); - HEAP32[$55>>2] = $54; - $56 = HEAP32[$15>>2]|0; - $57 = HEAP32[$42>>2]|0; - $58 = $56 << 2; - $59 = Math_imul($58, $57)|0; - $60 = ((($0)) + 212|0); - HEAP32[$60>>2] = $59; - $61 = HEAP32[$1>>2]|0; - $62 = ($61|0)==(0); - if ($62) { - ___assert_fail((14170|0),(11707|0),2258,(14199|0)); + $27 = (($10) + 1)|0; + $28 = ((($0)) + 164|0); + HEAP32[$28>>2] = $27; + $29 = HEAP32[$18>>2]|0; + $30 = $29 << 3; + $31 = ((($0)) + 188|0); + HEAP32[$31>>2] = $30; + $32 = (_stbir__get_total_horizontal_coefficients($0)|0); + $33 = $32 << 2; + $34 = ((($0)) + 192|0); + HEAP32[$34>>2] = $33; + $35 = HEAP32[$26>>2]|0; + $36 = $35 << 3; + $37 = ((($0)) + 196|0); + HEAP32[$37>>2] = $36; + $38 = (_stbir__get_total_vertical_coefficients($0)|0); + $39 = $38 << 2; + $40 = ((($0)) + 200|0); + HEAP32[$40>>2] = $39; + $41 = HEAP32[$13>>2]|0; + $42 = $5 << 1; + $43 = (($41) + ($42))|0; + $44 = ((($0)) + 64|0); + $45 = HEAP32[$44>>2]|0; + $46 = $45 << 2; + $47 = Math_imul($46, $43)|0; + $48 = ((($0)) + 204|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$15>>2]|0; + $50 = $45 << 2; + $51 = Math_imul($50, $49)|0; + $52 = ((($0)) + 208|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$44>>2]|0; + $54 = HEAP32[$28>>2]|0; + $55 = $49 << 2; + $56 = Math_imul($55, $53)|0; + $57 = Math_imul($56, $54)|0; + $58 = ((($0)) + 212|0); + HEAP32[$58>>2] = $57; + $59 = HEAP32[$15>>2]|0; + $60 = HEAP32[$44>>2]|0; + $61 = $59 << 2; + $62 = Math_imul($61, $60)|0; + $63 = ((($0)) + 216|0); + HEAP32[$63>>2] = $62; + $64 = HEAP32[$1>>2]|0; + $65 = ($64|0)==(0); + if ($65) { + ___assert_fail((14478|0),(12015|0),2260,(14507|0)); // unreachable; } - $63 = ($61>>>0)<(6); - if (!($63)) { - ___assert_fail((11782|0),(11707|0),2259,(14199|0)); + $66 = ($64>>>0)<(6); + if (!($66)) { + ___assert_fail((12090|0),(12015|0),2261,(14507|0)); // unreachable; } - $64 = HEAP32[$6>>2]|0; - $65 = ($64|0)==(0); - if ($65) { - ___assert_fail((14223|0),(11707|0),2260,(14199|0)); + $67 = HEAP32[$6>>2]|0; + $68 = ($67|0)==(0); + if ($68) { + ___assert_fail((14531|0),(12015|0),2262,(14507|0)); // unreachable; } - $66 = ($64>>>0)<(6); - if ($66) { - $67 = (_stbir__use_height_upsampling($0)|0); - $68 = ($67|0)!=(0); - $$sink = $68 ? $50 : $60; + $69 = ($67>>>0)<(6); + if ($69) { + $70 = (_stbir__use_height_upsampling($0)|0); + $71 = ($70|0)!=(0); + $$sink = $71 ? $52 : $63; HEAP32[$$sink>>2] = 0; - $69 = HEAP32[$29>>2]|0; - $70 = HEAP32[$32>>2]|0; - $71 = (($70) + ($69))|0; - $72 = HEAP32[$35>>2]|0; - $73 = (($71) + ($72))|0; - $74 = HEAP32[$38>>2]|0; - $75 = (($73) + ($74))|0; - $76 = HEAP32[$46>>2]|0; - $77 = (($75) + ($76))|0; - $78 = HEAP32[$50>>2]|0; - $79 = (($77) + ($78))|0; - $80 = HEAP32[$55>>2]|0; - $81 = (($79) + ($80))|0; - $82 = HEAP32[$60>>2]|0; - $83 = (($81) + ($82))|0; - return ($83|0); + $72 = HEAP32[$31>>2]|0; + $73 = HEAP32[$34>>2]|0; + $74 = (($73) + ($72))|0; + $75 = HEAP32[$37>>2]|0; + $76 = (($74) + ($75))|0; + $77 = HEAP32[$40>>2]|0; + $78 = (($76) + ($77))|0; + $79 = HEAP32[$48>>2]|0; + $80 = (($78) + ($79))|0; + $81 = HEAP32[$52>>2]|0; + $82 = (($80) + ($81))|0; + $83 = HEAP32[$58>>2]|0; + $84 = (($82) + ($83))|0; + $85 = HEAP32[$63>>2]|0; + $86 = (($84) + ($85))|0; + return ($86|0); } else { - ___assert_fail((11883|0),(11707|0),2261,(14199|0)); + ___assert_fail((12191|0),(12015|0),2263,(14507|0)); // unreachable; } return (0)|0; @@ -22478,7 +22437,7 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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; var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0.0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0, $80 = 0.0, $81 = 0; - var $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond144 = 0, label = 0; + var $82 = 0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond142 = 0, label = 0; var sp = 0; sp = STACKTOP; $13 = (_stbir__calculate_memory($0)|0); @@ -22489,7 +22448,7 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $17 = ((($0)) + 4|0); $18 = HEAP32[$17>>2]|0; $19 = Math_imul($18, $16)|0; - $20 = (11683 + ($7)|0); + $20 = (11991 + ($7)|0); $21 = HEAP8[$20>>0]|0; $22 = $21&255; $23 = Math_imul($19, $22)|0; @@ -22504,7 +22463,7 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $27 = ((($0)) + 20|0); $28 = HEAP32[$27>>2]|0; $29 = Math_imul($28, $26)|0; - $30 = (11683 + ($7)|0); + $30 = (11991 + ($7)|0); $31 = HEAP8[$30>>0]|0; $32 = $31&255; $33 = Math_imul($29, $32)|0; @@ -22516,26 +22475,26 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $35 = HEAP32[$34>>2]|0; $36 = ($35|0)>(-1); if (!($36)) { - ___assert_fail((11687|0),(11707|0),2305,(11737|0)); + ___assert_fail((11995|0),(12015|0),2307,(12045|0)); // unreachable; } $37 = ($35|0)<(65); if (!($37)) { - ___assert_fail((11761|0),(11707|0),2306,(11737|0)); + ___assert_fail((12069|0),(12015|0),2308,(12045|0)); // unreachable; } $38 = ((($0)) + 80|0); $39 = HEAP32[$38>>2]|0; $40 = ($39>>>0)<(6); if (!($40)) { - ___assert_fail((11782|0),(11707|0),2311,(11737|0)); + ___assert_fail((12090|0),(12015|0),2313,(12045|0)); // unreachable; } $41 = ((($0)) + 84|0); $42 = HEAP32[$41>>2]|0; $43 = ($42>>>0)<(6); if (!($43)) { - ___assert_fail((11883|0),(11707|0),2312,(11737|0)); + ___assert_fail((12191|0),(12015|0),2314,(12045|0)); // unreachable; } $44 = ($5|0)<(0); @@ -22546,9 +22505,9 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { if (!($47)) { $48 = ($5|0)>(-1); $49 = ($35|0)>($5|0); - $or$cond144 = $48 & $49; - if (!($or$cond144)) { - ___assert_fail((11982|0),(11707|0),2323,(11737|0)); + $or$cond142 = $48 & $49; + if (!($or$cond142)) { + ___assert_fail((12290|0),(12015|0),2325,(12045|0)); // unreachable; } } @@ -22560,12 +22519,12 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { } $52 = ($11|0)==(0|0); if ($52) { - ___assert_fail((12035|0),(11707|0),2328,(11737|0)); + ___assert_fail((12343|0),(12015|0),2330,(12045|0)); // unreachable; } $53 = ($13>>>0)>($12>>>0); if ($53) { - ___assert_fail((12043|0),(11707|0),2333,(11737|0)); + ___assert_fail((12351|0),(12015|0),2335,(12045|0)); // unreachable; } _memset(($11|0),0,($12|0))|0; @@ -22636,22 +22595,22 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { HEAP32[$102>>2] = $101; $103 = ((($0)) + 100|0); HEAP32[$103>>2] = $11; - $104 = ((($0)) + 184|0); + $104 = ((($0)) + 188|0); $105 = HEAP32[$104>>2]|0; $106 = (($11) + ($105)|0); $107 = ((($0)) + 104|0); HEAP32[$107>>2] = $106; - $108 = ((($0)) + 188|0); + $108 = ((($0)) + 192|0); $109 = HEAP32[$108>>2]|0; $110 = (($106) + ($109)|0); $111 = ((($0)) + 108|0); HEAP32[$111>>2] = $110; - $112 = ((($0)) + 192|0); + $112 = ((($0)) + 196|0); $113 = HEAP32[$112>>2]|0; $114 = (($110) + ($113)|0); $115 = ((($0)) + 112|0); HEAP32[$115>>2] = $114; - $116 = ((($0)) + 196|0); + $116 = ((($0)) + 200|0); $117 = HEAP32[$116>>2]|0; $118 = (($114) + ($117)|0); $119 = ((($0)) + 120|0); @@ -22659,49 +22618,49 @@ function _stbir__resize_allocated($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12) { $120 = (_stbir__use_height_upsampling($0)|0); $121 = ($120|0)==(0); $122 = $11; - $123 = ((($0)) + 200|0); + $123 = ((($0)) + 204|0); $124 = HEAP32[$123>>2]|0; - $125 = ((($0)) + 208|0); + $125 = ((($0)) + 212|0); $126 = HEAP32[$125>>2]|0; $127 = (($122) + ($12))|0; if ($121) { $138 = (($118) + ($124)|0); $139 = ((($0)) + 124|0); HEAP32[$139>>2] = $138; - $140 = ((($0)) + 204|0); + $140 = ((($0)) + 208|0); $141 = HEAP32[$140>>2]|0; $142 = (($138) + ($141)|0); - $143 = ((($0)) + 176|0); + $143 = ((($0)) + 180|0); HEAP32[$143>>2] = $142; - $144 = ((($0)) + 180|0); + $144 = ((($0)) + 184|0); HEAP32[$144>>2] = 0; $145 = (($142) + ($126)|0); $146 = $145; $147 = ($146|0)==($127|0); if (!($147)) { - ___assert_fail((12218|0),(11707|0),2385,(11737|0)); + ___assert_fail((12526|0),(12015|0),2387,(12045|0)); // unreachable; } } else { $128 = ((($0)) + 124|0); HEAP32[$128>>2] = 0; $129 = (($118) + ($124)|0); - $130 = ((($0)) + 176|0); + $130 = ((($0)) + 180|0); HEAP32[$130>>2] = $129; $131 = (($129) + ($126)|0); - $132 = ((($0)) + 180|0); + $132 = ((($0)) + 184|0); HEAP32[$132>>2] = $131; - $133 = ((($0)) + 212|0); + $133 = ((($0)) + 216|0); $134 = HEAP32[$133>>2]|0; $135 = (($131) + ($134)|0); $136 = $135; $137 = ($136|0)==($127|0); if (!($137)) { - ___assert_fail((12084|0),(11707|0),2377,(11737|0)); + ___assert_fail((12392|0),(12015|0),2379,(12045|0)); // unreachable; } } - $148 = ((($0)) + 172|0); + $148 = ((($0)) + 176|0); HEAP32[$148>>2] = -1; $149 = HEAP32[$103>>2]|0; $150 = HEAP32[$107>>2]|0; @@ -22760,12 +22719,12 @@ function _stbir__get_filter_pixel_width($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0); if ($2) { - ___assert_fail((14044|0),(11707|0),877,(14056|0)); + ___assert_fail((14352|0),(12015|0),879,(14364|0)); // unreachable; } $3 = ($0>>>0)<(6); if (!($3)) { - ___assert_fail((14086|0),(11707|0),878,(14056|0)); + ___assert_fail((14394|0),(12015|0),880,(14364|0)); // unreachable; } $4 = (_stbir__use_upsampling($1)|0); @@ -22817,8 +22776,8 @@ function _stbir__calculate_filters($0,$1,$2,$3,$4,$5,$6) { $4 = +$4; $5 = $5|0; $6 = $6|0; - var $$02 = 0, $$11 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0; - var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond5 = 0, label = 0, sp = 0; + var $$059 = 0, $$158 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0; + var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond62 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $7 = sp + 8|0; @@ -22834,23 +22793,23 @@ function _stbir__calculate_filters($0,$1,$2,$3,$4,$5,$6) { $26 = $25 / $3; $27 = ($10|0)>(0); if ($27) { - $$11 = 0; + $$158 = 0; while(1) { $28 = (_stbir__get_filter_pixel_margin($2,$3)|0); - $29 = (($$11) - ($28))|0; + $29 = (($$158) - ($28))|0; _stbir__calculate_sample_range_downsample($29,$26,$3,$4,$8,$9,$7); $30 = HEAP32[$8>>2]|0; $31 = HEAP32[$9>>2]|0; $32 = +HEAPF32[$7>>2]; - $33 = (_stbir__get_contributor($0,$$11)|0); - $34 = (_stbir__get_coefficient($1,$2,$3,$$11,0)|0); + $33 = (_stbir__get_contributor($0,$$158)|0); + $34 = (_stbir__get_coefficient($1,$2,$3,$$158,0)|0); _stbir__calculate_coefficients_downsample($2,$3,$30,$31,$32,$33,$34); - $35 = (($$11) + 1)|0; + $35 = (($$158) + 1)|0; $exitcond = ($35|0)==($10|0); if ($exitcond) { break; } else { - $$11 = $35; + $$158 = $35; } } } @@ -22864,21 +22823,21 @@ function _stbir__calculate_filters($0,$1,$2,$3,$4,$5,$6) { if (!($18)) { STACKTOP = sp;return; } - $$02 = 0; + $$059 = 0; while(1) { - _stbir__calculate_sample_range_upsample($$02,$17,$3,$4,$8,$9,$7); + _stbir__calculate_sample_range_upsample($$059,$17,$3,$4,$8,$9,$7); $19 = HEAP32[$8>>2]|0; $20 = HEAP32[$9>>2]|0; $21 = +HEAPF32[$7>>2]; - $22 = (_stbir__get_contributor($0,$$02)|0); - $23 = (_stbir__get_coefficient($1,$2,$3,$$02,0)|0); + $22 = (_stbir__get_contributor($0,$$059)|0); + $23 = (_stbir__get_coefficient($1,$2,$3,$$059,0)|0); _stbir__calculate_coefficients_upsample($2,$3,$19,$20,$21,$22,$23); - $24 = (($$02) + 1)|0; - $exitcond5 = ($24|0)==($10|0); - if ($exitcond5) { + $24 = (($$059) + 1)|0; + $exitcond62 = ($24|0)==($10|0); + if ($exitcond62) { break; } else { - $$02 = $24; + $$059 = $24; } } STACKTOP = sp;return; @@ -22907,7 +22866,7 @@ function _stbir__buffer_loop_upsample($0) { $13 = (_stbir__use_height_upsampling($0)|0); $14 = ($13|0)==(0); if ($14) { - ___assert_fail((13215|0),(11707|0),2065,(13256|0)); + ___assert_fail((13523|0),(12015|0),2064,(13564|0)); // unreachable; } $15 = ((($0)) + 24|0); @@ -22917,11 +22876,11 @@ function _stbir__buffer_loop_upsample($0) { STACKTOP = sp;return; } $18 = ((($0)) + 52|0); - $19 = ((($0)) + 140|0); - $20 = ((($0)) + 172|0); - $21 = ((($0)) + 168|0); - $22 = ((($0)) + 164|0); - $23 = ((($0)) + 168|0); + $19 = ((($0)) + 164|0); + $20 = ((($0)) + 176|0); + $21 = ((($0)) + 172|0); + $22 = ((($0)) + 168|0); + $23 = ((($0)) + 172|0); $$038 = 0; while(1) { HEAPF32[$1>>2] = 0.0; @@ -22933,8 +22892,8 @@ function _stbir__buffer_loop_upsample($0) { $26 = HEAP32[$2>>2]|0; $27 = (($25) - ($26))|0; $28 = HEAP32[$19>>2]|0; - $29 = ($27|0)>($28|0); - if ($29) { + $29 = ($27|0)<($28|0); + if (!($29)) { label = 6; break; } @@ -23024,7 +22983,7 @@ function _stbir__buffer_loop_upsample($0) { } } if ((label|0) == 6) { - ___assert_fail((13284|0),(11707|0),2074,(13256|0)); + ___assert_fail((13592|0),(12015|0),2073,(13564|0)); // unreachable; } else if ((label|0) == 20) { @@ -23059,7 +23018,7 @@ function _stbir__buffer_loop_downsample($0) { $19 = (_stbir__use_height_upsampling($0)|0); $20 = ($19|0)==(0); if (!($20)) { - ___assert_fail((12348|0),(11707|0),2166,(12390|0)); + ___assert_fail((12656|0),(12015|0),2165,(12698|0)); // unreachable; } $21 = (0 - ($15))|0; @@ -23070,9 +23029,9 @@ function _stbir__buffer_loop_downsample($0) { STACKTOP = sp;return; } $23 = ((($0)) + 52|0); - $24 = ((($0)) + 140|0); - $25 = ((($0)) + 172|0); - $26 = ((($0)) + 168|0); + $24 = ((($0)) + 164|0); + $25 = ((($0)) + 176|0); + $26 = ((($0)) + 172|0); $$04142 = $21; while(1) { $27 = +HEAPF32[$23>>2]; @@ -23081,8 +23040,8 @@ function _stbir__buffer_loop_downsample($0) { $29 = HEAP32[$2>>2]|0; $30 = (($28) - ($29))|0; $31 = HEAP32[$24>>2]|0; - $32 = ($30|0)>($31|0); - if ($32) { + $32 = ($30|0)<($31|0); + if (!($32)) { label = 6; break; } @@ -23128,7 +23087,7 @@ function _stbir__buffer_loop_downsample($0) { } } if ((label|0) == 6) { - ___assert_fail((12420|0),(11707|0),2175,(12390|0)); + ___assert_fail((12728|0),(12015|0),2174,(12698|0)); // unreachable; } else if ((label|0) == 15) { @@ -23193,26 +23152,26 @@ function _stbir__empty_ring_buffer($0,$1) { $15 = HEAP32[$14>>2]|0; $16 = $9 << 1; $17 = (($16) + ($11))|0; - $18 = ((($0)) + 176|0); + $18 = ((($0)) + 180|0); $19 = HEAP32[$18>>2]|0; $20 = ((($0)) + 160|0); $21 = HEAP32[$20>>2]|0; $22 = $21 >>> 2; - $23 = ((($0)) + 172|0); + $23 = ((($0)) + 176|0); $24 = HEAP32[$23>>2]|0; $25 = ($24|0)>(-1); if (!($25)) { return; } - $26 = ((($0)) + 164|0); + $26 = ((($0)) + 168|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)<($1|0); if (!($28)) { return; } $29 = ((($0)) + 24|0); - $30 = ((($0)) + 168|0); - $31 = ((($0)) + 140|0); + $30 = ((($0)) + 172|0); + $31 = ((($0)) + 164|0); $33 = $27; while(1) { $32 = ($33|0)>(-1); @@ -23285,58 +23244,55 @@ function _stbir__decode_and_resample_downsample($0,$1) { function _stbir__add_empty_ring_buffer_entry($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 172|0); - $3 = HEAP32[$2>>2]|0; - $4 = ($3|0)<(0); - if ($4) { - HEAP32[$2>>2] = 0; - $5 = ((($0)) + 164|0); - HEAP32[$5>>2] = $1; + HEAP32[$2>>2] = $1; + $3 = ((($0)) + 176|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)<(0); + if ($5) { + HEAP32[$3>>2] = 0; + $6 = ((($0)) + 168|0); + HEAP32[$6>>2] = $1; $$0 = 0; } else { - $6 = ((($0)) + 168|0); - $7 = HEAP32[$6>>2]|0; - $8 = ((($0)) + 164|0); - $9 = HEAP32[$8>>2]|0; - $10 = (($3) + 1)|0; - $11 = (($10) + ($7))|0; - $12 = (($11) - ($9))|0; - $13 = ((($0)) + 140|0); - $14 = HEAP32[$13>>2]|0; - $15 = (($12|0) % ($14|0))&-1; - $16 = ($15|0)==($3|0); - if ($16) { - ___assert_fail((12538|0),(11707|0),1422,(12595|0)); + $7 = ((($0)) + 168|0); + $8 = HEAP32[$7>>2]|0; + $9 = (($4) + ($1))|0; + $10 = (($9) - ($8))|0; + $11 = ((($0)) + 164|0); + $12 = HEAP32[$11>>2]|0; + $13 = (($10|0) % ($12|0))&-1; + $14 = ($13|0)==($4|0); + if ($14) { + ___assert_fail((12846|0),(12015|0),1426,(12903|0)); // unreachable; } else { - $$0 = $15; + $$0 = $13; } } - $17 = ((($0)) + 176|0); + $15 = ((($0)) + 180|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 160|0); $18 = HEAP32[$17>>2]|0; - $19 = ((($0)) + 160|0); - $20 = HEAP32[$19>>2]|0; - $21 = $20 >>> 2; - $22 = (_stbir__get_ring_buffer_entry($18,$$0,$21)|0); - _memset(($22|0),0,($20|0))|0; - $23 = ((($0)) + 168|0); - HEAP32[$23>>2] = $1; - return ($22|0); + $19 = $18 >>> 2; + $20 = (_stbir__get_ring_buffer_entry($16,$$0,$19)|0); + _memset(($20|0),0,($18|0))|0; + return ($20|0); } function _stbir__resample_vertical_downsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$017 = 0, $$017615 = 0, $$017721 = 0, $$113 = 0, $$211 = 0, $$310 = 0, $$419 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0; + var $$0167183 = 0, $$0168189 = 0, $$0185 = 0, $$1181 = 0, $$2179 = 0, $$3178 = 0, $$4187 = 0, $10 = 0, $100 = 0.0, $101 = 0.0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0, $108 = 0.0, $109 = 0, $11 = 0, $110 = 0.0; var $111 = 0.0, $112 = 0, $113 = 0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0.0, $124 = 0.0, $125 = 0, $126 = 0.0, $127 = 0.0, $128 = 0, $129 = 0; var $13 = 0, $130 = 0, $131 = 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, $29 = 0; var $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.0, $46 = 0, $47 = 0; var $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0; var $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0; - var $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond28 = 0, $exitcond29 = 0; - var $exitcond30 = 0, $exitcond31 = 0, $exitcond32 = 0, label = 0, sp = 0; + var $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0.0, $94 = 0.0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond196 = 0, $exitcond197 = 0; + var $exitcond198 = 0, $exitcond199 = 0, $exitcond200 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; @@ -23346,7 +23302,7 @@ function _stbir__resample_vertical_downsample($0,$1) { $7 = HEAP32[$6>>2]|0; $8 = ((($0)) + 64|0); $9 = HEAP32[$8>>2]|0; - $10 = ((($0)) + 140|0); + $10 = ((($0)) + 164|0); $11 = HEAP32[$10>>2]|0; $12 = ((($0)) + 124|0); $13 = HEAP32[$12>>2]|0; @@ -23355,11 +23311,11 @@ function _stbir__resample_vertical_downsample($0,$1) { $16 = ((($0)) + 148|0); $17 = HEAP32[$16>>2]|0; $18 = (($17) + ($1))|0; - $19 = ((($0)) + 176|0); + $19 = ((($0)) + 180|0); $20 = HEAP32[$19>>2]|0; - $21 = ((($0)) + 172|0); + $21 = ((($0)) + 176|0); $22 = HEAP32[$21>>2]|0; - $23 = ((($0)) + 164|0); + $23 = ((($0)) + 168|0); $24 = HEAP32[$23>>2]|0; $25 = ((($0)) + 160|0); $26 = HEAP32[$25>>2]|0; @@ -23371,7 +23327,7 @@ function _stbir__resample_vertical_downsample($0,$1) { $32 = (_stbir__use_height_upsampling($0)|0); $33 = ($32|0)==(0); if (!($33)) { - ___assert_fail((12348|0),(11707|0),2000,(12502|0)); + ___assert_fail((12656|0),(12015|0),1999,(12810|0)); // unreachable; } $34 = ($29|0)>($31|0); @@ -23386,30 +23342,30 @@ function _stbir__resample_vertical_downsample($0,$1) { $40 = ($3|0)>(0); $41 = ($3|0)>(0); $42 = ($3|0)>(0); - $$017721 = $29; + $$0168189 = $29; while(1) { - $43 = (($36) + ($$017721))|0; + $43 = (($36) + ($$0168189))|0; $44 = (($7) + ($43<<2)|0); $45 = +HEAPF32[$44>>2]; - $46 = (_stbir__get_ring_buffer_scanline($$017721,$20,$22,$24,$11,$27)|0); + $46 = (_stbir__get_ring_buffer_scanline($$0168189,$20,$22,$24,$11,$27)|0); switch ($9|0) { case 1: { if ($39) { - $$017615 = 0; + $$0167183 = 0; while(1) { - $47 = (($13) + ($$017615<<2)|0); + $47 = (($13) + ($$0167183<<2)|0); $48 = +HEAPF32[$47>>2]; $49 = $45 * $48; - $50 = (($46) + ($$017615<<2)|0); + $50 = (($46) + ($$0167183<<2)|0); $51 = +HEAPF32[$50>>2]; $52 = $51 + $49; HEAPF32[$50>>2] = $52; - $53 = (($$017615) + 1)|0; - $exitcond30 = ($53|0)==($3|0); - if ($exitcond30) { + $53 = (($$0167183) + 1)|0; + $exitcond198 = ($53|0)==($3|0); + if ($exitcond198) { break; } else { - $$017615 = $53; + $$0167183 = $53; } } } @@ -23417,9 +23373,9 @@ function _stbir__resample_vertical_downsample($0,$1) { } case 2: { if ($40) { - $$113 = 0; + $$1181 = 0; while(1) { - $54 = $$113 << 1; + $54 = $$1181 << 1; $55 = (($13) + ($54<<2)|0); $56 = +HEAPF32[$55>>2]; $57 = $45 * $56; @@ -23435,12 +23391,12 @@ function _stbir__resample_vertical_downsample($0,$1) { $66 = +HEAPF32[$65>>2]; $67 = $66 + $64; HEAPF32[$65>>2] = $67; - $68 = (($$113) + 1)|0; - $exitcond29 = ($68|0)==($3|0); - if ($exitcond29) { + $68 = (($$1181) + 1)|0; + $exitcond197 = ($68|0)==($3|0); + if ($exitcond197) { break; } else { - $$113 = $68; + $$1181 = $68; } } } @@ -23448,9 +23404,9 @@ function _stbir__resample_vertical_downsample($0,$1) { } case 3: { if ($41) { - $$211 = 0; + $$2179 = 0; while(1) { - $69 = ($$211*3)|0; + $69 = ($$2179*3)|0; $70 = (($13) + ($69<<2)|0); $71 = +HEAPF32[$70>>2]; $72 = $45 * $71; @@ -23474,12 +23430,12 @@ function _stbir__resample_vertical_downsample($0,$1) { $88 = +HEAPF32[$87>>2]; $89 = $88 + $86; HEAPF32[$87>>2] = $89; - $90 = (($$211) + 1)|0; - $exitcond28 = ($90|0)==($3|0); - if ($exitcond28) { + $90 = (($$2179) + 1)|0; + $exitcond196 = ($90|0)==($3|0); + if ($exitcond196) { break; } else { - $$211 = $90; + $$2179 = $90; } } } @@ -23487,9 +23443,9 @@ function _stbir__resample_vertical_downsample($0,$1) { } case 4: { if ($42) { - $$310 = 0; + $$3178 = 0; while(1) { - $91 = $$310 << 2; + $91 = $$3178 << 2; $92 = (($13) + ($91<<2)|0); $93 = +HEAPF32[$92>>2]; $94 = $45 * $93; @@ -23521,12 +23477,12 @@ function _stbir__resample_vertical_downsample($0,$1) { $117 = +HEAPF32[$116>>2]; $118 = $117 + $115; HEAPF32[$116>>2] = $118; - $119 = (($$310) + 1)|0; + $119 = (($$3178) + 1)|0; $exitcond = ($119|0)==($3|0); if ($exitcond) { break; } else { - $$310 = $119; + $$3178 = $119; } } } @@ -23534,13 +23490,13 @@ function _stbir__resample_vertical_downsample($0,$1) { } default: { if ($37) { - $$419 = 0; + $$4187 = 0; while(1) { - $120 = Math_imul($$419, $9)|0; + $120 = Math_imul($$4187, $9)|0; if ($38) { - $$017 = 0; + $$0185 = 0; while(1) { - $121 = (($$017) + ($120))|0; + $121 = (($$0185) + ($120))|0; $122 = (($13) + ($121<<2)|0); $123 = +HEAPF32[$122>>2]; $124 = $45 * $123; @@ -23548,30 +23504,30 @@ function _stbir__resample_vertical_downsample($0,$1) { $126 = +HEAPF32[$125>>2]; $127 = $126 + $124; HEAPF32[$125>>2] = $127; - $128 = (($$017) + 1)|0; - $exitcond31 = ($128|0)==($9|0); - if ($exitcond31) { + $128 = (($$0185) + 1)|0; + $exitcond199 = ($128|0)==($9|0); + if ($exitcond199) { break; } else { - $$017 = $128; + $$0185 = $128; } } } - $129 = (($$419) + 1)|0; - $exitcond32 = ($129|0)==($3|0); - if ($exitcond32) { + $129 = (($$4187) + 1)|0; + $exitcond200 = ($129|0)==($3|0); + if ($exitcond200) { break; } else { - $$419 = $129; + $$4187 = $129; } } } } } - $130 = (($$017721) + 1)|0; - $131 = ($$017721|0)<($31|0); + $130 = (($$0168189) + 1)|0; + $131 = ($$0168189|0)<($31|0); if ($131) { - $$017721 = $130; + $$0168189 = $130; } else { break; } @@ -24076,7 +24032,7 @@ function _stbir__decode_scanline($0,$1) { break; } default: { - ___assert_fail((13011|0),(11707|0),1361,(13060|0)); + ___assert_fail((13319|0),(12015|0),1363,(13368|0)); // unreachable; } } @@ -24198,7 +24154,7 @@ function _stbir__use_width_upsampling($0) { function _stbir__resample_horizontal_upsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$018526 = 0, $$018619 = 0, $$018718 = 0, $$021 = 0, $$116 = 0, $$118815 = 0, $$213 = 0, $$218912 = 0, $$311 = 0, $$319010 = 0, $$419123 = 0, $$424 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; + var $$0182214 = 0, $$0183207 = 0, $$0184206 = 0, $$0209 = 0, $$1185203 = 0, $$1204 = 0, $$2186200 = 0, $$2201 = 0, $$3187198 = 0, $$3199 = 0, $$4188211 = 0, $$4212 = 0, $10 = 0, $100 = 0.0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0; var $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0, $121 = 0, $122 = 0.0, $123 = 0.0, $124 = 0.0; var $125 = 0.0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0.0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0, $133 = 0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0; var $143 = 0, $144 = 0.0, $145 = 0, $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0, $151 = 0, $152 = 0.0, $153 = 0.0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $17 = 0, $18 = 0; @@ -24226,14 +24182,14 @@ function _stbir__resample_horizontal_upsample($0,$1) { $14 = ((($0)) + 144|0); $15 = ((($0)) + 4|0); $16 = ($5|0)>(0); - $$018526 = 0; + $$0182214 = 0; L4: while(1) { - $17 = (($8) + ($$018526<<3)|0); + $17 = (($8) + ($$0182214<<3)|0); $18 = HEAP32[$17>>2]|0; - $19 = (((($8) + ($$018526<<3)|0)) + 4|0); + $19 = (((($8) + ($$0182214<<3)|0)) + 4|0); $20 = HEAP32[$19>>2]|0; - $21 = Math_imul($$018526, $5)|0; - $22 = Math_imul($$018526, $12)|0; + $21 = Math_imul($$0182214, $5)|0; + $22 = Math_imul($$0182214, $12)|0; $23 = ($20|0)<($18|0); if ($23) { label = 4; @@ -24268,9 +24224,9 @@ function _stbir__resample_horizontal_upsample($0,$1) { $50 = ($18|0)>($20|0); if (!($50)) { $51 = (($1) + ($21<<2)|0); - $$018619 = $18;$$018718 = 0; + $$0183207 = $18;$$0184206 = 0; while(1) { - $53 = (($$018718) + ($22))|0; + $53 = (($$0184206) + ($22))|0; $54 = (($10) + ($53<<2)|0); $55 = +HEAPF32[$54>>2]; $56 = $55 != 0.0; @@ -24278,17 +24234,17 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 24; break L4; } - $57 = (($$018718) + 1)|0; - $58 = (($6) + ($$018619<<2)|0); + $57 = (($$0184206) + 1)|0; + $58 = (($6) + ($$0183207<<2)|0); $59 = +HEAPF32[$58>>2]; $60 = $55 * $59; $61 = +HEAPF32[$51>>2]; $62 = $61 + $60; HEAPF32[$51>>2] = $62; - $63 = (($$018619) + 1)|0; - $64 = ($$018619|0)<($20|0); + $63 = (($$0183207) + 1)|0; + $64 = ($$0183207|0)<($20|0); if ($64) { - $$018619 = $63;$$018718 = $57; + $$0183207 = $63;$$0184206 = $57; } else { break; } @@ -24302,10 +24258,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $47 = (($1) + ($21<<2)|0); $48 = (($21) + 1)|0; $49 = (($1) + ($48<<2)|0); - $$116 = $18;$$118815 = 0; + $$1185203 = 0;$$1204 = $18; while(1) { - $65 = $$116 << 1; - $66 = (($$118815) + ($22))|0; + $65 = $$1204 << 1; + $66 = (($$1185203) + ($22))|0; $67 = (($10) + ($66<<2)|0); $68 = +HEAPF32[$67>>2]; $69 = $68 != 0.0; @@ -24313,7 +24269,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 27; break L4; } - $70 = (($$118815) + 1)|0; + $70 = (($$1185203) + 1)|0; $71 = (($6) + ($65<<2)|0); $72 = +HEAPF32[$71>>2]; $73 = $68 * $72; @@ -24327,10 +24283,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $80 = +HEAPF32[$49>>2]; $81 = $80 + $79; HEAPF32[$49>>2] = $81; - $82 = (($$116) + 1)|0; - $83 = ($$116|0)<($20|0); + $82 = (($$1204) + 1)|0; + $83 = ($$1204|0)<($20|0); if ($83) { - $$116 = $82;$$118815 = $70; + $$1185203 = $70;$$1204 = $82; } else { break; } @@ -24346,10 +24302,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $43 = (($1) + ($42<<2)|0); $44 = (($21) + 2)|0; $45 = (($1) + ($44<<2)|0); - $$213 = $18;$$218912 = 0; + $$2186200 = 0;$$2201 = $18; while(1) { - $84 = ($$213*3)|0; - $85 = (($$218912) + ($22))|0; + $84 = ($$2201*3)|0; + $85 = (($$2186200) + ($22))|0; $86 = (($10) + ($85<<2)|0); $87 = +HEAPF32[$86>>2]; $88 = $87 != 0.0; @@ -24357,7 +24313,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 30; break L4; } - $89 = (($$218912) + 1)|0; + $89 = (($$2186200) + 1)|0; $90 = (($6) + ($84<<2)|0); $91 = +HEAPF32[$90>>2]; $92 = $87 * $91; @@ -24378,10 +24334,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $105 = +HEAPF32[$45>>2]; $106 = $105 + $104; HEAPF32[$45>>2] = $106; - $107 = (($$213) + 1)|0; - $108 = ($$213|0)<($20|0); + $107 = (($$2201) + 1)|0; + $108 = ($$2201|0)<($20|0); if ($108) { - $$213 = $107;$$218912 = $89; + $$2186200 = $89;$$2201 = $107; } else { break; } @@ -24399,10 +24355,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $37 = (($1) + ($36<<2)|0); $38 = (($21) + 3)|0; $39 = (($1) + ($38<<2)|0); - $$311 = $18;$$319010 = 0; + $$3187198 = 0;$$3199 = $18; while(1) { - $109 = $$311 << 2; - $110 = (($$319010) + ($22))|0; + $109 = $$3199 << 2; + $110 = (($$3187198) + ($22))|0; $111 = (($10) + ($110<<2)|0); $112 = +HEAPF32[$111>>2]; $113 = $112 != 0.0; @@ -24410,7 +24366,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { label = 33; break L4; } - $114 = (($$319010) + 1)|0; + $114 = (($$3187198) + 1)|0; $115 = (($6) + ($109<<2)|0); $116 = +HEAPF32[$115>>2]; $117 = $112 * $116; @@ -24438,10 +24394,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { $136 = +HEAPF32[$39>>2]; $137 = $136 + $135; HEAPF32[$39>>2] = $137; - $138 = (($$311) + 1)|0; - $139 = ($$311|0)<($20|0); + $138 = (($$3199) + 1)|0; + $139 = ($$3199|0)<($20|0); if ($139) { - $$311 = $138;$$319010 = $114; + $$3187198 = $114;$$3199 = $138; } else { break; } @@ -24452,11 +24408,11 @@ function _stbir__resample_horizontal_upsample($0,$1) { default: { $52 = ($18|0)>($20|0); if (!($52)) { - $$419123 = 0;$$424 = $18; + $$4188211 = 0;$$4212 = $18; while(1) { - $140 = Math_imul($$424, $5)|0; - $141 = (($$419123) + 1)|0; - $142 = (($$419123) + ($22))|0; + $140 = Math_imul($$4212, $5)|0; + $141 = (($$4188211) + 1)|0; + $142 = (($$4188211) + ($22))|0; $143 = (($10) + ($142<<2)|0); $144 = +HEAPF32[$143>>2]; $145 = $144 != 0.0; @@ -24465,30 +24421,30 @@ function _stbir__resample_horizontal_upsample($0,$1) { break L4; } if ($16) { - $$021 = 0; + $$0209 = 0; while(1) { - $146 = (($$021) + ($140))|0; + $146 = (($$0209) + ($140))|0; $147 = (($6) + ($146<<2)|0); $148 = +HEAPF32[$147>>2]; $149 = $144 * $148; - $150 = (($$021) + ($21))|0; + $150 = (($$0209) + ($21))|0; $151 = (($1) + ($150<<2)|0); $152 = +HEAPF32[$151>>2]; $153 = $152 + $149; HEAPF32[$151>>2] = $153; - $154 = (($$021) + 1)|0; + $154 = (($$0209) + 1)|0; $exitcond = ($154|0)==($5|0); if ($exitcond) { break; } else { - $$021 = $154; + $$0209 = $154; } } } - $155 = (($$424) + 1)|0; - $156 = ($$424|0)<($20|0); + $155 = (($$4212) + 1)|0; + $156 = ($$4212|0)<($20|0); if ($156) { - $$419123 = $141;$$424 = $155; + $$4188211 = $141;$$4212 = $155; } else { break; } @@ -24496,10 +24452,10 @@ function _stbir__resample_horizontal_upsample($0,$1) { } } } - $157 = (($$018526) + 1)|0; + $157 = (($$0182214) + 1)|0; $158 = ($157|0)<($3|0); if ($158) { - $$018526 = $157; + $$0182214 = $157; } else { label = 41; break; @@ -24507,52 +24463,52 @@ function _stbir__resample_horizontal_upsample($0,$1) { } switch (label|0) { case 4: { - ___assert_fail((12726|0),(11707|0),1454,(12735|0)); + ___assert_fail((13034|0),(12015|0),1455,(13043|0)); // unreachable; break; } case 6: { - ___assert_fail((12771|0),(11707|0),1455,(12735|0)); + ___assert_fail((13079|0),(12015|0),1456,(13043|0)); // unreachable; break; } case 8: { - ___assert_fail((12821|0),(11707|0),1456,(12735|0)); + ___assert_fail((13129|0),(12015|0),1457,(13043|0)); // unreachable; break; } case 10: { - ___assert_fail((12871|0),(11707|0),1457,(12735|0)); + ___assert_fail((13179|0),(12015|0),1458,(13043|0)); // unreachable; break; } case 12: { - ___assert_fail((12941|0),(11707|0),1458,(12735|0)); + ___assert_fail((13249|0),(12015|0),1459,(13043|0)); // unreachable; break; } case 24: { - ___assert_fail((12709|0),(11707|0),1466,(12735|0)); + ___assert_fail((13017|0),(12015|0),1467,(13043|0)); // unreachable; break; } case 27: { - ___assert_fail((12709|0),(11707|0),1475,(12735|0)); + ___assert_fail((13017|0),(12015|0),1476,(13043|0)); // unreachable; break; } case 30: { - ___assert_fail((12709|0),(11707|0),1485,(12735|0)); + ___assert_fail((13017|0),(12015|0),1486,(13043|0)); // unreachable; break; } case 33: { - ___assert_fail((12709|0),(11707|0),1496,(12735|0)); + ___assert_fail((13017|0),(12015|0),1497,(13043|0)); // unreachable; break; } case 37: { - ___assert_fail((12709|0),(11707|0),1509,(12735|0)); + ___assert_fail((13017|0),(12015|0),1510,(13043|0)); // unreachable; break; } @@ -24565,7 +24521,7 @@ function _stbir__resample_horizontal_upsample($0,$1) { function _stbir__resample_horizontal_downsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$025 = 0, $$029421 = 0, $$029914 = 0, $$129527 = 0, $$131 = 0, $$229633 = 0, $$237 = 0, $$329739 = 0, $$343 = 0, $$419 = 0, $$429815 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0; + var $$0288314 = 0, $$0293307 = 0, $$0318 = 0, $$1289320 = 0, $$1324 = 0, $$2290326 = 0, $$2330 = 0, $$3291332 = 0, $$3336 = 0, $$4292308 = 0, $$4312 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0.0; var $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0.0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.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; var $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.0, $139 = 0, $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0, $143 = 0.0; var $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0, $148 = 0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0, $154 = 0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0, $160 = 0, $161 = 0.0; @@ -24595,31 +24551,31 @@ function _stbir__resample_horizontal_downsample($0,$1) { $17 = (_stbir__use_width_upsampling($0)|0); $18 = ($17|0)==(0); if (!($18)) { - ___assert_fail((12630|0),(11707|0),1532,(12671|0)); + ___assert_fail((12938|0),(12015|0),1531,(12979|0)); // unreachable; } switch ($5|0) { case 1: { $22 = ($16|0)>(0); if ($22) { - $$025 = 0; + $$0318 = 0; } else { return; } L27: while(1) { - $25 = (($8) + ($$025<<3)|0); + $25 = (($8) + ($$0318<<3)|0); $26 = HEAP32[$25>>2]|0; - $27 = (((($8) + ($$025<<3)|0)) + 4|0); + $27 = (((($8) + ($$0318<<3)|0)) + 4|0); $28 = HEAP32[$27>>2]|0; $29 = ($26|0)>($28|0); if (!($29)) { - $30 = Math_imul($$025, $12)|0; - $31 = (($$025) - ($14))|0; + $30 = Math_imul($$0318, $12)|0; + $31 = (($$0318) - ($14))|0; $32 = (($30) - ($26))|0; $33 = (($6) + ($31<<2)|0); - $$029421 = $26; + $$0288314 = $26; while(1) { - $34 = (($32) + ($$029421))|0; + $34 = (($32) + ($$0288314))|0; $35 = (($10) + ($34<<2)|0); $36 = +HEAPF32[$35>>2]; $37 = $36 != 0.0; @@ -24629,30 +24585,30 @@ function _stbir__resample_horizontal_downsample($0,$1) { } $38 = +HEAPF32[$33>>2]; $39 = $36 * $38; - $40 = (($1) + ($$029421<<2)|0); + $40 = (($1) + ($$0288314<<2)|0); $41 = +HEAPF32[$40>>2]; $42 = $41 + $39; HEAPF32[$40>>2] = $42; - $43 = (($$029421) + 1)|0; - $44 = ($$029421|0)<($28|0); + $43 = (($$0288314) + 1)|0; + $44 = ($$0288314|0)<($28|0); if ($44) { - $$029421 = $43; + $$0288314 = $43; } else { break; } } } - $45 = (($$025) + 1)|0; + $45 = (($$0318) + 1)|0; $46 = ($45|0)<($16|0); if ($46) { - $$025 = $45; + $$0318 = $45; } else { label = 42; break; } } if ((label|0) == 13) { - ___assert_fail((12709|0),(11707|0),1550,(12671|0)); + ___assert_fail((13017|0),(12015|0),1549,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24663,28 +24619,28 @@ function _stbir__resample_horizontal_downsample($0,$1) { case 2: { $21 = ($16|0)>(0); if ($21) { - $$131 = 0; + $$1324 = 0; } else { return; } L41: while(1) { - $47 = (($8) + ($$131<<3)|0); + $47 = (($8) + ($$1324<<3)|0); $48 = HEAP32[$47>>2]|0; - $49 = (((($8) + ($$131<<3)|0)) + 4|0); + $49 = (((($8) + ($$1324<<3)|0)) + 4|0); $50 = HEAP32[$49>>2]|0; - $51 = (($$131) - ($14))|0; + $51 = (($$1324) - ($14))|0; $52 = $51 << 1; $53 = ($48|0)>($50|0); if (!($53)) { - $54 = Math_imul($$131, $12)|0; + $54 = Math_imul($$1324, $12)|0; $55 = (($54) - ($48))|0; $56 = (($6) + ($52<<2)|0); $57 = $52 | 1; $58 = (($6) + ($57<<2)|0); - $$129527 = $48; + $$1289320 = $48; while(1) { - $59 = $$129527 << 1; - $60 = (($55) + ($$129527))|0; + $59 = $$1289320 << 1; + $60 = (($55) + ($$1289320))|0; $61 = (($10) + ($60<<2)|0); $62 = +HEAPF32[$61>>2]; $63 = $62 != 0.0; @@ -24705,26 +24661,26 @@ function _stbir__resample_horizontal_downsample($0,$1) { $73 = +HEAPF32[$72>>2]; $74 = $73 + $70; HEAPF32[$72>>2] = $74; - $75 = (($$129527) + 1)|0; - $76 = ($$129527|0)<($50|0); + $75 = (($$1289320) + 1)|0; + $76 = ($$1289320|0)<($50|0); if ($76) { - $$129527 = $75; + $$1289320 = $75; } else { break; } } } - $77 = (($$131) + 1)|0; + $77 = (($$1324) + 1)|0; $78 = ($77|0)<($16|0); if ($78) { - $$131 = $77; + $$1324 = $77; } else { label = 42; break; } } if ((label|0) == 19) { - ___assert_fail((12709|0),(11707|0),1571,(12671|0)); + ___assert_fail((13017|0),(12015|0),1570,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24735,30 +24691,30 @@ function _stbir__resample_horizontal_downsample($0,$1) { case 3: { $20 = ($16|0)>(0); if ($20) { - $$237 = 0; + $$2330 = 0; } else { return; } L55: while(1) { - $79 = (($8) + ($$237<<3)|0); + $79 = (($8) + ($$2330<<3)|0); $80 = HEAP32[$79>>2]|0; - $81 = (((($8) + ($$237<<3)|0)) + 4|0); + $81 = (((($8) + ($$2330<<3)|0)) + 4|0); $82 = HEAP32[$81>>2]|0; - $83 = (($$237) - ($14))|0; + $83 = (($$2330) - ($14))|0; $84 = ($83*3)|0; $85 = ($80|0)>($82|0); if (!($85)) { - $86 = Math_imul($$237, $12)|0; + $86 = Math_imul($$2330, $12)|0; $87 = (($86) - ($80))|0; $88 = (($6) + ($84<<2)|0); $89 = (($84) + 1)|0; $90 = (($6) + ($89<<2)|0); $91 = (($84) + 2)|0; $92 = (($6) + ($91<<2)|0); - $$229633 = $80; + $$2290326 = $80; while(1) { - $93 = ($$229633*3)|0; - $94 = (($87) + ($$229633))|0; + $93 = ($$2290326*3)|0; + $94 = (($87) + ($$2290326))|0; $95 = (($10) + ($94<<2)|0); $96 = +HEAPF32[$95>>2]; $97 = $96 != 0.0; @@ -24786,26 +24742,26 @@ function _stbir__resample_horizontal_downsample($0,$1) { $113 = +HEAPF32[$112>>2]; $114 = $113 + $110; HEAPF32[$112>>2] = $114; - $115 = (($$229633) + 1)|0; - $116 = ($$229633|0)<($82|0); + $115 = (($$2290326) + 1)|0; + $116 = ($$2290326|0)<($82|0); if ($116) { - $$229633 = $115; + $$2290326 = $115; } else { break; } } } - $117 = (($$237) + 1)|0; + $117 = (($$2330) + 1)|0; $118 = ($117|0)<($16|0); if ($118) { - $$237 = $117; + $$2330 = $117; } else { label = 42; break; } } if ((label|0) == 25) { - ___assert_fail((12709|0),(11707|0),1593,(12671|0)); + ___assert_fail((13017|0),(12015|0),1592,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24816,20 +24772,20 @@ function _stbir__resample_horizontal_downsample($0,$1) { case 4: { $19 = ($16|0)>(0); if ($19) { - $$343 = 0; + $$3336 = 0; } else { return; } L69: while(1) { - $119 = (($8) + ($$343<<3)|0); + $119 = (($8) + ($$3336<<3)|0); $120 = HEAP32[$119>>2]|0; - $121 = (((($8) + ($$343<<3)|0)) + 4|0); + $121 = (((($8) + ($$3336<<3)|0)) + 4|0); $122 = HEAP32[$121>>2]|0; - $123 = (($$343) - ($14))|0; + $123 = (($$3336) - ($14))|0; $124 = $123 << 2; $125 = ($120|0)>($122|0); if (!($125)) { - $126 = Math_imul($$343, $12)|0; + $126 = Math_imul($$3336, $12)|0; $127 = (($126) - ($120))|0; $128 = (($6) + ($124<<2)|0); $129 = $124 | 1; @@ -24838,10 +24794,10 @@ function _stbir__resample_horizontal_downsample($0,$1) { $132 = (($6) + ($131<<2)|0); $133 = $124 | 3; $134 = (($6) + ($133<<2)|0); - $$329739 = $120; + $$3291332 = $120; while(1) { - $135 = $$329739 << 2; - $136 = (($127) + ($$329739))|0; + $135 = $$3291332 << 2; + $136 = (($127) + ($$3291332))|0; $137 = (($10) + ($136<<2)|0); $138 = +HEAPF32[$137>>2]; $139 = $138 != 0.0; @@ -24876,26 +24832,26 @@ function _stbir__resample_horizontal_downsample($0,$1) { $161 = +HEAPF32[$160>>2]; $162 = $161 + $158; HEAPF32[$160>>2] = $162; - $163 = (($$329739) + 1)|0; - $164 = ($$329739|0)<($122|0); + $163 = (($$3291332) + 1)|0; + $164 = ($$3291332|0)<($122|0); if ($164) { - $$329739 = $163; + $$3291332 = $163; } else { break; } } } - $165 = (($$343) + 1)|0; + $165 = (($$3336) + 1)|0; $166 = ($165|0)<($16|0); if ($166) { - $$343 = $165; + $$3336 = $165; } else { label = 42; break; } } if ((label|0) == 31) { - ___assert_fail((12709|0),(11707|0),1616,(12671|0)); + ___assert_fail((13017|0),(12015|0),1615,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -24909,22 +24865,22 @@ function _stbir__resample_horizontal_downsample($0,$1) { return; } $24 = ($5|0)>(0); - $$419 = 0; + $$4312 = 0; L9: while(1) { - $167 = (($8) + ($$419<<3)|0); + $167 = (($8) + ($$4312<<3)|0); $168 = HEAP32[$167>>2]|0; - $169 = (((($8) + ($$419<<3)|0)) + 4|0); + $169 = (((($8) + ($$4312<<3)|0)) + 4|0); $170 = HEAP32[$169>>2]|0; - $171 = (($$419) - ($14))|0; + $171 = (($$4312) - ($14))|0; $172 = Math_imul($171, $5)|0; $173 = ($168|0)>($170|0); if (!($173)) { - $174 = Math_imul($$419, $12)|0; + $174 = Math_imul($$4312, $12)|0; $175 = (($174) - ($168))|0; - $$429815 = $168; + $$4292308 = $168; while(1) { - $176 = Math_imul($$429815, $5)|0; - $177 = (($175) + ($$429815))|0; + $176 = Math_imul($$4292308, $5)|0; + $177 = (($175) + ($$4292308))|0; $178 = (($10) + ($177<<2)|0); $179 = +HEAPF32[$178>>2]; $180 = $179 != 0.0; @@ -24933,46 +24889,46 @@ function _stbir__resample_horizontal_downsample($0,$1) { break L9; } if ($24) { - $$029914 = 0; + $$0293307 = 0; while(1) { - $181 = (($$029914) + ($172))|0; + $181 = (($$0293307) + ($172))|0; $182 = (($6) + ($181<<2)|0); $183 = +HEAPF32[$182>>2]; $184 = $179 * $183; - $185 = (($$029914) + ($176))|0; + $185 = (($$0293307) + ($176))|0; $186 = (($1) + ($185<<2)|0); $187 = +HEAPF32[$186>>2]; $188 = $187 + $184; HEAPF32[$186>>2] = $188; - $189 = (($$029914) + 1)|0; + $189 = (($$0293307) + 1)|0; $exitcond = ($189|0)==($5|0); if ($exitcond) { break; } else { - $$029914 = $189; + $$0293307 = $189; } } } - $190 = (($$429815) + 1)|0; - $191 = ($$429815|0)<($170|0); + $190 = (($$4292308) + 1)|0; + $191 = ($$4292308|0)<($170|0); if ($191) { - $$429815 = $190; + $$4292308 = $190; } else { break; } } } - $192 = (($$419) + 1)|0; + $192 = (($$4312) + 1)|0; $193 = ($192|0)<($16|0); if ($193) { - $$419 = $192; + $$4312 = $192; } else { label = 42; break; } } if ((label|0) == 38) { - ___assert_fail((12709|0),(11707|0),1641,(12671|0)); + ___assert_fail((13017|0),(12015|0),1640,(12979|0)); // unreachable; } else if ((label|0) == 42) { @@ -25103,7 +25059,7 @@ function _stbir__edge_wrap_slow($0,$1,$2) { break; } default: { - ___assert_fail((13083|0),(11707|0),987,(13110|0)); + ___assert_fail((13391|0),(12015|0),989,(13418|0)); // unreachable; } } @@ -25614,7 +25570,7 @@ function _stbir__encode_scanline($0,$1,$2,$3,$4,$5,$6) { break; } default: { - ___assert_fail((13011|0),(11707|0),1853,(13132|0)); + ___assert_fail((13319|0),(12015|0),1856,(13440|0)); // unreachable; } } @@ -25688,7 +25644,7 @@ function _stbir__filter_trapezoid($0,$1) { $3 = $2 + 0.5; $4 = !($1 <= 1.0); if ($4) { - ___assert_fail((13155|0),(11707|0),755,(13191|0)); + ___assert_fail((13463|0),(12015|0),757,(13499|0)); // unreachable; } $fabsf = (+Math_abs((+$0))); @@ -25714,7 +25670,7 @@ function _stbir__support_trapezoid($0) { sp = STACKTOP; $1 = !($0 <= 1.0); if ($1) { - ___assert_fail((13155|0),(11707|0),773,(13166|0)); + ___assert_fail((13463|0),(12015|0),775,(13474|0)); // unreachable; } else { $2 = $0 * 0.5; @@ -25892,7 +25848,7 @@ function _stbir__decode_and_resample_upsample($0,$1) { function _stbir__resample_vertical_upsample($0,$1) { $0 = $0|0; $1 = $1|0; - var $$028117 = 0, $$028222 = 0, $$028721 = 0, $$09 = 0, $$124 = 0, $$128329 = 0, $$128828 = 0, $$228436 = 0, $$228935 = 0, $$231 = 0, $$328543 = 0, $$329042 = 0, $$338 = 0, $$410 = 0, $$428615 = 0, $$429114 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0; + var $$0278305 = 0, $$0279310 = 0, $$0284309 = 0, $$0297 = 0, $$1280317 = 0, $$1285316 = 0, $$1312 = 0, $$2281324 = 0, $$2286323 = 0, $$2319 = 0, $$3282331 = 0, $$3287330 = 0, $$3326 = 0, $$4283303 = 0, $$4288302 = 0, $$4298 = 0, $10 = 0, $100 = 0, $101 = 0.0, $102 = 0.0; var $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0.0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0.0, $112 = 0.0, $113 = 0, $114 = 0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0; var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0.0, $128 = 0, $129 = 0, $13 = 0, $130 = 0.0, $131 = 0.0, $132 = 0, $133 = 0.0, $134 = 0.0, $135 = 0, $136 = 0, $137 = 0.0, $138 = 0.0, $139 = 0; var $14 = 0, $140 = 0.0, $141 = 0.0, $142 = 0, $143 = 0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0.0, $148 = 0.0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0.0, $153 = 0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0; @@ -25901,7 +25857,7 @@ function _stbir__resample_vertical_upsample($0,$1) { var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.0, $63 = 0, $64 = 0.0, $65 = 0.0, $66 = 0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0; var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0.0, $87 = 0.0, $88 = 0, $89 = 0.0; - var $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $exitcond = 0, $exitcond49 = 0, $exitcond50 = 0, $exitcond51 = 0, $exitcond52 = 0, $exitcond53 = 0, label = 0, sp = 0; + var $9 = 0, $90 = 0.0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $exitcond = 0, $exitcond337 = 0, $exitcond338 = 0, $exitcond339 = 0, $exitcond340 = 0, $exitcond341 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ((($0)) + 20|0); $3 = HEAP32[$2>>2]|0; @@ -25917,21 +25873,21 @@ function _stbir__resample_vertical_upsample($0,$1) { $13 = HEAP32[$12>>2]|0; $14 = ((($0)) + 96|0); $15 = HEAP32[$14>>2]|0; - $16 = ((($0)) + 140|0); + $16 = ((($0)) + 164|0); $17 = HEAP32[$16>>2]|0; $18 = ((($0)) + 16|0); $19 = HEAP32[$18>>2]|0; - $20 = ((($0)) + 180|0); + $20 = ((($0)) + 184|0); $21 = HEAP32[$20>>2]|0; $22 = $13 << 1; $23 = (($22) + ($15))|0; $24 = ((($0)) + 132|0); $25 = HEAP32[$24>>2]|0; - $26 = ((($0)) + 176|0); + $26 = ((($0)) + 180|0); $27 = HEAP32[$26>>2]|0; - $28 = ((($0)) + 172|0); + $28 = ((($0)) + 176|0); $29 = HEAP32[$28>>2]|0; - $30 = ((($0)) + 164|0); + $30 = ((($0)) + 168|0); $31 = HEAP32[$30>>2]|0; $32 = ((($0)) + 160|0); $33 = HEAP32[$32>>2]|0; @@ -25947,7 +25903,7 @@ function _stbir__resample_vertical_upsample($0,$1) { $43 = (_stbir__use_height_upsampling($0)|0); $44 = ($43|0)==(0); if ($44) { - ___assert_fail((13215|0),(11707|0),1890,(13364|0)); + ___assert_fail((13523|0),(12015|0),1892,(13672|0)); // unreachable; } $45 = $3 << 2; @@ -25962,36 +25918,36 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $54 = ($3|0)>(0); - $$028222 = $37;$$028721 = 0; + $$0279310 = $37;$$0284309 = 0; while(1) { - $58 = (($$028721) + 1)|0; - $59 = (_stbir__get_ring_buffer_scanline($$028222,$27,$29,$31,$17,$34)|0); - $60 = (($$028721) + ($35))|0; + $58 = (($$0284309) + 1)|0; + $59 = (_stbir__get_ring_buffer_scanline($$0279310,$27,$29,$31,$17,$34)|0); + $60 = (($$0284309) + ($35))|0; $61 = (($7) + ($60<<2)|0); $62 = +HEAPF32[$61>>2]; if ($54) { - $$028117 = 0; + $$0278305 = 0; while(1) { - $63 = (($59) + ($$028117<<2)|0); + $63 = (($59) + ($$0278305<<2)|0); $64 = +HEAPF32[$63>>2]; $65 = $62 * $64; - $66 = (($21) + ($$028117<<2)|0); + $66 = (($21) + ($$0278305<<2)|0); $67 = +HEAPF32[$66>>2]; $68 = $67 + $65; HEAPF32[$66>>2] = $68; - $69 = (($$028117) + 1)|0; - $exitcond50 = ($69|0)==($3|0); - if ($exitcond50) { + $69 = (($$0278305) + 1)|0; + $exitcond338 = ($69|0)==($3|0); + if ($exitcond338) { break; } else { - $$028117 = $69; + $$0278305 = $69; } } } - $70 = (($$028222) + 1)|0; - $71 = ($$028222|0)<($39|0); + $70 = (($$0279310) + 1)|0; + $71 = ($$0279310|0)<($39|0); if ($71) { - $$028222 = $70;$$028721 = $58; + $$0279310 = $70;$$0284309 = $58; } else { break; } @@ -26009,17 +25965,17 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $52 = ($3|0)>(0); - $$128329 = $37;$$128828 = 0; + $$1280317 = $37;$$1285316 = 0; while(1) { - $72 = (($$128828) + 1)|0; - $73 = (_stbir__get_ring_buffer_scanline($$128329,$27,$29,$31,$17,$34)|0); - $74 = (($$128828) + ($35))|0; + $72 = (($$1285316) + 1)|0; + $73 = (_stbir__get_ring_buffer_scanline($$1280317,$27,$29,$31,$17,$34)|0); + $74 = (($$1285316) + ($35))|0; $75 = (($7) + ($74<<2)|0); $76 = +HEAPF32[$75>>2]; if ($52) { - $$124 = 0; + $$1312 = 0; while(1) { - $77 = $$124 << 1; + $77 = $$1312 << 1; $78 = (($73) + ($77<<2)|0); $79 = +HEAPF32[$78>>2]; $80 = $76 * $79; @@ -26035,19 +25991,19 @@ function _stbir__resample_vertical_upsample($0,$1) { $89 = +HEAPF32[$88>>2]; $90 = $89 + $87; HEAPF32[$88>>2] = $90; - $91 = (($$124) + 1)|0; - $exitcond51 = ($91|0)==($3|0); - if ($exitcond51) { + $91 = (($$1312) + 1)|0; + $exitcond339 = ($91|0)==($3|0); + if ($exitcond339) { break; } else { - $$124 = $91; + $$1312 = $91; } } } - $92 = (($$128329) + 1)|0; - $93 = ($$128329|0)<($39|0); + $92 = (($$1280317) + 1)|0; + $93 = ($$1280317|0)<($39|0); if ($93) { - $$128329 = $92;$$128828 = $72; + $$1280317 = $92;$$1285316 = $72; } else { break; } @@ -26065,17 +26021,17 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $50 = ($3|0)>(0); - $$228436 = $37;$$228935 = 0; + $$2281324 = $37;$$2286323 = 0; while(1) { - $94 = (($$228935) + 1)|0; - $95 = (_stbir__get_ring_buffer_scanline($$228436,$27,$29,$31,$17,$34)|0); - $96 = (($$228935) + ($35))|0; + $94 = (($$2286323) + 1)|0; + $95 = (_stbir__get_ring_buffer_scanline($$2281324,$27,$29,$31,$17,$34)|0); + $96 = (($$2286323) + ($35))|0; $97 = (($7) + ($96<<2)|0); $98 = +HEAPF32[$97>>2]; if ($50) { - $$231 = 0; + $$2319 = 0; while(1) { - $99 = ($$231*3)|0; + $99 = ($$2319*3)|0; $100 = (($95) + ($99<<2)|0); $101 = +HEAPF32[$100>>2]; $102 = $98 * $101; @@ -26099,19 +26055,19 @@ function _stbir__resample_vertical_upsample($0,$1) { $118 = +HEAPF32[$117>>2]; $119 = $118 + $116; HEAPF32[$117>>2] = $119; - $120 = (($$231) + 1)|0; - $exitcond52 = ($120|0)==($3|0); - if ($exitcond52) { + $120 = (($$2319) + 1)|0; + $exitcond340 = ($120|0)==($3|0); + if ($exitcond340) { break; } else { - $$231 = $120; + $$2319 = $120; } } } - $121 = (($$228436) + 1)|0; - $122 = ($$228436|0)<($39|0); + $121 = (($$2281324) + 1)|0; + $122 = ($$2281324|0)<($39|0); if ($122) { - $$228436 = $121;$$228935 = $94; + $$2281324 = $121;$$2286323 = $94; } else { break; } @@ -26129,17 +26085,17 @@ function _stbir__resample_vertical_upsample($0,$1) { return; } $48 = ($3|0)>(0); - $$328543 = $37;$$329042 = 0; + $$3282331 = $37;$$3287330 = 0; while(1) { - $123 = (($$329042) + 1)|0; - $124 = (_stbir__get_ring_buffer_scanline($$328543,$27,$29,$31,$17,$34)|0); - $125 = (($$329042) + ($35))|0; + $123 = (($$3287330) + 1)|0; + $124 = (_stbir__get_ring_buffer_scanline($$3282331,$27,$29,$31,$17,$34)|0); + $125 = (($$3287330) + ($35))|0; $126 = (($7) + ($125<<2)|0); $127 = +HEAPF32[$126>>2]; if ($48) { - $$338 = 0; + $$3326 = 0; while(1) { - $128 = $$338 << 2; + $128 = $$3326 << 2; $129 = (($124) + ($128<<2)|0); $130 = +HEAPF32[$129>>2]; $131 = $127 * $130; @@ -26171,19 +26127,19 @@ function _stbir__resample_vertical_upsample($0,$1) { $154 = +HEAPF32[$153>>2]; $155 = $154 + $152; HEAPF32[$153>>2] = $155; - $156 = (($$338) + 1)|0; - $exitcond53 = ($156|0)==($3|0); - if ($exitcond53) { + $156 = (($$3326) + 1)|0; + $exitcond341 = ($156|0)==($3|0); + if ($exitcond341) { break; } else { - $$338 = $156; + $$3326 = $156; } } } - $157 = (($$328543) + 1)|0; - $158 = ($$328543|0)<($39|0); + $157 = (($$3282331) + 1)|0; + $158 = ($$3282331|0)<($39|0); if ($158) { - $$328543 = $157;$$329042 = $123; + $$3282331 = $157;$$3287330 = $123; } else { break; } @@ -26202,21 +26158,21 @@ function _stbir__resample_vertical_upsample($0,$1) { } $56 = ($3|0)>(0); $57 = ($9|0)>(0); - $$428615 = $37;$$429114 = 0; + $$4283303 = $37;$$4288302 = 0; while(1) { - $159 = (($$429114) + 1)|0; - $160 = (_stbir__get_ring_buffer_scanline($$428615,$27,$29,$31,$17,$34)|0); - $161 = (($$429114) + ($35))|0; + $159 = (($$4288302) + 1)|0; + $160 = (_stbir__get_ring_buffer_scanline($$4283303,$27,$29,$31,$17,$34)|0); + $161 = (($$4288302) + ($35))|0; $162 = (($7) + ($161<<2)|0); $163 = +HEAPF32[$162>>2]; if ($56) { - $$410 = 0; + $$4298 = 0; while(1) { - $164 = Math_imul($$410, $9)|0; + $164 = Math_imul($$4298, $9)|0; if ($57) { - $$09 = 0; + $$0297 = 0; while(1) { - $165 = (($$09) + ($164))|0; + $165 = (($$0297) + ($164))|0; $166 = (($160) + ($165<<2)|0); $167 = +HEAPF32[$166>>2]; $168 = $163 * $167; @@ -26224,28 +26180,28 @@ function _stbir__resample_vertical_upsample($0,$1) { $170 = +HEAPF32[$169>>2]; $171 = $170 + $168; HEAPF32[$169>>2] = $171; - $172 = (($$09) + 1)|0; + $172 = (($$0297) + 1)|0; $exitcond = ($172|0)==($9|0); if ($exitcond) { break; } else { - $$09 = $172; + $$0297 = $172; } } } - $173 = (($$410) + 1)|0; - $exitcond49 = ($173|0)==($3|0); - if ($exitcond49) { + $173 = (($$4298) + 1)|0; + $exitcond337 = ($173|0)==($3|0); + if ($exitcond337) { break; } else { - $$410 = $173; + $$4298 = $173; } } } - $174 = (($$428615) + 1)|0; - $175 = ($$428615|0)<($39|0); + $174 = (($$4283303) + 1)|0; + $175 = ($$4283303|0)<($39|0); if ($175) { - $$428615 = $174;$$429114 = $159; + $$4283303 = $174;$$4288302 = $159; } else { break; } @@ -26305,7 +26261,7 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $4 = +$4; $5 = $5|0; $6 = $6|0; - var $$06110 = 0, $$0629 = 0, $$064$lcssa = 0.0, $$0648 = 0.0, $$1 = 0, $$163 = 0, $$165 = 0.0, $$25 = 0, $$33 = 0, $$lcssa = 0, $$lcssa2 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $$06175 = 0, $$06274 = 0, $$064$lcssa = 0.0, $$06473 = 0.0, $$1 = 0, $$163 = 0, $$165 = 0.0, $$270 = 0, $$368 = 0, $$lcssa = 0, $$lcssa67 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; var $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0; var $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0; var $59 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $ceilf = 0.0, $exitcond = 0, $or$cond = 0, label = 0, sp = 0; @@ -26320,7 +26276,7 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $13 = (~~(($ceilf))); $14 = ($7|0)>($13|0); if ($14) { - ___assert_fail((13759|0),(11707|0),1036,(13858|0)); + ___assert_fail((14067|0),(12015|0),1038,(14166|0)); // unreachable; } HEAP32[$5>>2] = $2; @@ -26328,7 +26284,7 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { HEAP32[$15>>2] = $3; $16 = ($3|0)<($2|0); if ($16) { - ___assert_fail((13611|0),(11707|0),1041,(13858|0)); + ___assert_fail((13919|0),(12015|0),1043,(14166|0)); // unreachable; } $17 = (($3) - ($2))|0; @@ -26336,37 +26292,37 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $19 = (3104 + ($0<<3)|0); $20 = HEAP32[$19>>2]|0; if ($18) { - $$064$lcssa = 0.0;$$lcssa = $20;$$lcssa2 = $17; + $$064$lcssa = 0.0;$$lcssa = $20;$$lcssa67 = $17; } else { - $$06110 = $2;$$0629 = 0;$$0648 = 0.0;$25 = $20; + $$06175 = $2;$$06274 = 0;$$06473 = 0.0;$25 = $20; while(1) { - $21 = (($$06110) + ($$0629))|0; + $21 = (($$06175) + ($$06274))|0; $22 = (+($21|0)); $23 = $22 + 0.5; $24 = $4 - $23; $26 = (+FUNCTION_TABLE_ddd[$25 & 7]($24,$10)); - $27 = (($6) + ($$0629<<2)|0); + $27 = (($6) + ($$06274<<2)|0); HEAPF32[$27>>2] = $26; - $28 = ($$0629|0)!=(0); + $28 = ($$06274|0)!=(0); $29 = $26 != 0.0; $or$cond = $28 | $29; if ($or$cond) { - $32 = $$0648 + $26; - $$1 = $$06110;$$163 = $$0629;$$165 = $32; + $32 = $$06473 + $26; + $$1 = $$06175;$$163 = $$06274;$$165 = $32; } else { - $30 = (($$06110) + 1)|0; + $30 = (($$06175) + 1)|0; HEAP32[$5>>2] = $30; - $31 = (($$0629) + -1)|0; - $$1 = $30;$$163 = $31;$$165 = $$0648; + $31 = (($$06274) + -1)|0; + $$1 = $30;$$163 = $31;$$165 = $$06473; } $33 = (($$163) + 1)|0; $34 = (($3) - ($$1))|0; $35 = ($$163|0)<($34|0); $36 = HEAP32[$19>>2]|0; if ($35) { - $$06110 = $$1;$$0629 = $33;$$0648 = $$165;$25 = $36; + $$06175 = $$1;$$06274 = $33;$$06473 = $$165;$25 = $36; } else { - $$064$lcssa = $$165;$$lcssa = $36;$$lcssa2 = $34; + $$064$lcssa = $$165;$$lcssa = $36;$$lcssa67 = $34; break; } } @@ -26378,48 +26334,48 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { $41 = (+FUNCTION_TABLE_ddd[$$lcssa & 7]($40,$10)); $42 = $41 == 0.0; if (!($42)) { - ___assert_fail((13897|0),(11707|0),1059,(13858|0)); + ___assert_fail((14205|0),(12015|0),1061,(14166|0)); // unreachable; } $43 = $$064$lcssa; $44 = $43 > 0.90000000000000002; if (!($44)) { - ___assert_fail((14005|0),(11707|0),1061,(13858|0)); + ___assert_fail((14313|0),(12015|0),1063,(14166|0)); // unreachable; } $45 = $$064$lcssa < 1.1000000238418579; if (!($45)) { - ___assert_fail((14024|0),(11707|0),1062,(13858|0)); + ___assert_fail((14332|0),(12015|0),1064,(14166|0)); // unreachable; } $46 = 1.0 / $$064$lcssa; - $47 = ($$lcssa2|0)<(0); + $47 = ($$lcssa67|0)<(0); if ($47) { return; } else { - $$25 = 0; + $$270 = 0; } while(1) { - $49 = (($6) + ($$25<<2)|0); + $49 = (($6) + ($$270<<2)|0); $50 = +HEAPF32[$49>>2]; $51 = $46 * $50; HEAPF32[$49>>2] = $51; - $52 = (($$25) + 1)|0; - $exitcond = ($$25|0)==($$lcssa2|0); + $52 = (($$270) + 1)|0; + $exitcond = ($$270|0)==($$lcssa67|0); if ($exitcond) { break; } else { - $$25 = $52; + $$270 = $52; } } - $48 = ($$lcssa2|0)>(-1); + $48 = ($$lcssa67|0)>(-1); if ($48) { - $$33 = $$lcssa2; + $$368 = $$lcssa67; } else { return; } while(1) { - $53 = (($6) + ($$33<<2)|0); + $53 = (($6) + ($$368<<2)|0); $54 = +HEAPF32[$53>>2]; $55 = $54 != 0.0; if ($55) { @@ -26427,13 +26383,13 @@ function _stbir__calculate_coefficients_upsample($0,$1,$2,$3,$4,$5,$6) { break; } $56 = HEAP32[$5>>2]|0; - $57 = (($$33) + -1)|0; + $57 = (($$368) + -1)|0; $58 = (($57) + ($56))|0; HEAP32[$15>>2] = $58; - $59 = (($$33) + -1)|0; - $60 = ($$33|0)>(0); + $59 = (($$368) + -1)|0; + $60 = ($$368|0)>(0); if ($60) { - $$33 = $59; + $$368 = $59; } else { label = 21; break; @@ -26451,7 +26407,7 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { $4 = +$4; $5 = $5|0; $6 = $6|0; - var $$04 = 0, $$12 = 0, $$lcssa = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; + var $$044 = 0, $$142 = 0, $$lcssa = 0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0; var $27 = 0.0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $7 = 0; var $8 = 0, $9 = 0, $ceilf = 0.0, $exitcond = 0, label = 0, sp = 0; sp = STACKTOP; @@ -26464,7 +26420,7 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { $12 = (~~(($ceilf))); $13 = ($7|0)>($12|0); if ($13) { - ___assert_fail((13465|0),(11707|0),1084,(13570|0)); + ___assert_fail((13773|0),(12015|0),1086,(13878|0)); // unreachable; } HEAP32[$5>>2] = $2; @@ -26472,7 +26428,7 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { HEAP32[$14>>2] = $3; $15 = ($3|0)<($2|0); if ($15) { - ___assert_fail((13611|0),(11707|0),1089,(13570|0)); + ___assert_fail((13919|0),(12015|0),1091,(13878|0)); // unreachable; } $16 = ($7|0)<(0); @@ -26483,24 +26439,24 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { } else { $19 = (($3) + 1)|0; $20 = (($19) - ($2))|0; - $$04 = 0;$25 = $18; + $$044 = 0;$25 = $18; while(1) { - $21 = (($$04) + ($2))|0; + $21 = (($$044) + ($2))|0; $22 = (+($21|0)); $23 = $22 + 0.5; $24 = $23 - $4; $26 = (+FUNCTION_TABLE_ddd[$25 & 7]($24,$1)); $27 = $26 * $1; - $28 = (($6) + ($$04<<2)|0); + $28 = (($6) + ($$044<<2)|0); HEAPF32[$28>>2] = $27; - $29 = (($$04) + 1)|0; + $29 = (($$044) + 1)|0; $30 = HEAP32[$17>>2]|0; $exitcond = ($29|0)==($20|0); if ($exitcond) { $$lcssa = $30; break; } else { - $$04 = $29;$25 = $30; + $$044 = $29;$25 = $30; } } } @@ -26511,17 +26467,17 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { $35 = (+FUNCTION_TABLE_ddd[$$lcssa & 7]($34,$1)); $36 = $35 == 0.0; if (!($36)) { - ___assert_fail((13646|0),(11707|0),1098,(13570|0)); + ___assert_fail((13954|0),(12015|0),1100,(13878|0)); // unreachable; } $37 = ($7|0)>(-1); if ($37) { - $$12 = $7; + $$142 = $7; } else { return; } while(1) { - $38 = (($6) + ($$12<<2)|0); + $38 = (($6) + ($$142<<2)|0); $39 = +HEAPF32[$38>>2]; $40 = $39 != 0.0; if ($40) { @@ -26529,13 +26485,13 @@ function _stbir__calculate_coefficients_downsample($0,$1,$2,$3,$4,$5,$6) { break; } $41 = HEAP32[$5>>2]|0; - $42 = (($$12) + -1)|0; + $42 = (($$142) + -1)|0; $43 = (($42) + ($41))|0; HEAP32[$14>>2] = $43; - $44 = (($$12) + -1)|0; - $45 = ($$12|0)>(0); + $44 = (($$142) + -1)|0; + $45 = ($$142|0)>(0); if ($45) { - $$12 = $44; + $$142 = $44; } else { label = 13; break; @@ -26552,10 +26508,10 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $3 = +$3; $4 = $4|0; $5 = $5|0; - var $$ = 0, $$$0123 = 0, $$012022 = 0, $$0123 = 0, $$0125$lcssa = 0.0, $$012521 = 0.0, $$031 = 0, $$112127 = 0, $$1126 = 0.0, $$114 = 0, $$212219 = 0, $$27 = 0, $$op = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $$ = 0, $$$0123 = 0, $$0120148 = 0, $$0123 = 0, $$0125$lcssa = 0.0, $$0125147 = 0.0, $$0157 = 0, $$1121153 = 0, $$1126 = 0.0, $$1140 = 0, $$2122145 = 0, $$2133 = 0, $$op = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; var $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0.0; var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0; - var $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, $8 = 0, $9 = 0, $exitcond = 0, $exitcond34 = 0; + var $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, $8 = 0, $9 = 0, $exitcond = 0, $exitcond160 = 0; var label = 0, sp = 0; sp = STACKTOP; $6 = (_stbir__get_contributors($3,$2,$4,$5)|0); @@ -26565,38 +26521,38 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { if ($8) { $9 = ($6|0)>(0); $10 = ($6|0)>(0); - $$031 = 0; + $$0157 = 0; while(1) { if ($9) { - $$012022 = 0;$$012521 = 0.0; + $$0120148 = 0;$$0125147 = 0.0; } else { label = 10; break; } while(1) { - $12 = (($0) + ($$012022<<3)|0); + $12 = (($0) + ($$0120148<<3)|0); $13 = HEAP32[$12>>2]|0; - $14 = ($$031|0)<($13|0); + $14 = ($$0157|0)<($13|0); if ($14) { - $$0125$lcssa = $$012521; + $$0125$lcssa = $$0125147; break; } - $15 = (((($0) + ($$012022<<3)|0)) + 4|0); + $15 = (((($0) + ($$0120148<<3)|0)) + 4|0); $16 = HEAP32[$15>>2]|0; - $17 = ($$031|0)>($16|0); + $17 = ($$0157|0)>($16|0); if ($17) { - $$1126 = $$012521; + $$1126 = $$0125147; } else { - $18 = (($$031) - ($13))|0; - $19 = (_stbir__get_coefficient($1,$2,$3,$$012022,$18)|0); + $18 = (($$0157) - ($13))|0; + $19 = (_stbir__get_coefficient($1,$2,$3,$$0120148,$18)|0); $20 = +HEAPF32[$19>>2]; - $21 = $$012521 + $20; + $21 = $$0125147 + $20; $$1126 = $21; } - $22 = (($$012022) + 1)|0; + $22 = (($$0120148) + 1)|0; $23 = ($22|0)<($6|0); if ($23) { - $$012022 = $22;$$012521 = $$1126; + $$0120148 = $22;$$0125147 = $$1126; } else { $$0125$lcssa = $$1126; break; @@ -26615,62 +26571,62 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $26 = 1.0 / $$0125$lcssa; L14: do { if ($10) { - $$112127 = 0; + $$1121153 = 0; while(1) { - $27 = (($0) + ($$112127<<3)|0); + $27 = (($0) + ($$1121153<<3)|0); $28 = HEAP32[$27>>2]|0; - $29 = ($$031|0)<($28|0); + $29 = ($$0157|0)<($28|0); if ($29) { break L14; } - $30 = (((($0) + ($$112127<<3)|0)) + 4|0); + $30 = (((($0) + ($$1121153<<3)|0)) + 4|0); $31 = HEAP32[$30>>2]|0; - $32 = ($$031|0)>($31|0); + $32 = ($$0157|0)>($31|0); if (!($32)) { - $33 = (($$031) - ($28))|0; - $34 = (_stbir__get_coefficient($1,$2,$3,$$112127,$33)|0); + $33 = (($$0157) - ($28))|0; + $34 = (_stbir__get_coefficient($1,$2,$3,$$1121153,$33)|0); $35 = +HEAPF32[$34>>2]; $36 = $26 * $35; HEAPF32[$34>>2] = $36; } - $37 = (($$112127) + 1)|0; + $37 = (($$1121153) + 1)|0; $38 = ($37|0)<($6|0); if ($38) { - $$112127 = $37; + $$1121153 = $37; } else { break; } } } } while(0); - $39 = (($$031) + 1)|0; + $39 = (($$0157) + 1)|0; $40 = ($39|0)<($5|0); if ($40) { - $$031 = $39; + $$0157 = $39; } else { break L1; } } if ((label|0) == 10) { - ___assert_fail((13398|0),(11707|0),1133,(13411|0)); + ___assert_fail((13706|0),(12015|0),1135,(13719|0)); // unreachable; } else if ((label|0) == 12) { - ___assert_fail((13452|0),(11707|0),1134,(13411|0)); + ___assert_fail((13760|0),(12015|0),1136,(13719|0)); // unreachable; } } } while(0); $11 = ($6|0)>(0); if ($11) { - $$212219 = 0; + $$2122145 = 0; } else { return; } while(1) { $$0123 = 0; while(1) { - $43 = (_stbir__get_coefficient($1,$2,$3,$$212219,$$0123)|0); + $43 = (_stbir__get_coefficient($1,$2,$3,$$2122145,$$0123)|0); $44 = +HEAPF32[$43>>2]; $45 = $44 == 0.0; $46 = (($$0123) + 1)|0; @@ -26680,7 +26636,7 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { break; } } - $47 = (($0) + ($$212219<<3)|0); + $47 = (($0) + ($$2122145<<3)|0); $48 = HEAP32[$47>>2]|0; $49 = (($48) + ($$0123))|0; $50 = ($49|0)<(0); @@ -26688,7 +26644,7 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $$ = $50 ? 0 : $49; $$$0123 = $50 ? $51 : $$0123; HEAP32[$47>>2] = $$; - $52 = (((($0) + ($$212219<<3)|0)) + 4|0); + $52 = (((($0) + ($$2122145<<3)|0)) + 4|0); $53 = HEAP32[$52>>2]|0; $$op = (1 - ($49))|0; $54 = $50 ? 1 : $$op; @@ -26698,33 +26654,33 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { $58 = ($56|0)>(0); L34: do { if ($58) { - $$114 = 0; + $$1140 = 0; while(1) { - $59 = (($$114) + ($$$0123))|0; + $59 = (($$1140) + ($$$0123))|0; $60 = ($59|0)<($57|0); if (!($60)) { break L34; } - $61 = (_stbir__get_coefficient($1,$2,$3,$$212219,$59)|0); + $61 = (_stbir__get_coefficient($1,$2,$3,$$2122145,$59)|0); $62 = HEAP32[$61>>2]|0; - $63 = (_stbir__get_coefficient($1,$2,$3,$$212219,$$114)|0); + $63 = (_stbir__get_coefficient($1,$2,$3,$$2122145,$$1140)|0); HEAP32[$63>>2] = $62; - $64 = (($$114) + 1)|0; + $64 = (($$1140) + 1)|0; $65 = ($64|0)<($56|0); if ($65) { - $$114 = $64; + $$1140 = $64; } else { break; } } } } while(0); - $66 = (($$212219) + 1)|0; - $exitcond34 = ($66|0)==($6|0); - if ($exitcond34) { + $66 = (($$2122145) + 1)|0; + $exitcond160 = ($66|0)==($6|0); + if ($exitcond160) { break; } else { - $$212219 = $66; + $$2122145 = $66; } } $41 = ($6|0)>(0); @@ -26732,18 +26688,18 @@ function _stbir__normalize_downsample_coefficients($0,$1,$2,$3,$4,$5) { return; } $42 = (($5) + -1)|0; - $$27 = 0; + $$2133 = 0; while(1) { - $67 = (((($0) + ($$27<<3)|0)) + 4|0); + $67 = (((($0) + ($$2133<<3)|0)) + 4|0); $68 = HEAP32[$67>>2]|0; $69 = (_stbir__min($68,$42)|0); HEAP32[$67>>2] = $69; - $70 = (($$27) + 1)|0; + $70 = (($$2133) + 1)|0; $exitcond = ($70|0)==($6|0); if ($exitcond) { break; } else { - $$27 = $70; + $$2133 = $70; } } return; @@ -26788,10 +26744,10 @@ function _stbir__get_total_vertical_coefficients($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -26802,27 +26758,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,14250)|0); + $6 = (_IsFileExtension($1,14558)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,14303)|0); + $19 = (_IsFileExtension($1,14611)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,14308,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,14616,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,14750)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -26850,7 +26807,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -26867,18 +26824,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,14256,$vararg_buffer); + _TraceLog(2,14564,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -26887,34 +26844,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,14344,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,14383,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,14652,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,14691,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -26933,11 +26897,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,14442)|0); + $4 = (_fopen($0,14750)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,14445,$vararg_buffer); + _TraceLog(2,14753,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -27036,7 +27000,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,14542,$vararg_buffer4); + _TraceLog(0,14850,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -27071,14 +27035,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,14588,$vararg_buffer8); + _TraceLog(2,14896,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,14496,$vararg_buffer1); + _TraceLog(2,14804,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -27168,7 +27132,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,14414,$vararg_buffer); + _TraceLog(2,14722,$vararg_buffer); $$0 = $6; } } @@ -27213,27 +27177,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,14638,$vararg_buffer); + _TraceLog(2,14946,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,14677,$vararg_buffer1); + _TraceLog(2,14985,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,14703,$vararg_buffer3); + _TraceLog(2,15011,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,14766,$vararg_buffer5); + _TraceLog(2,15074,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,14801,$vararg_buffer7); + _TraceLog(2,15109,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,14836,$vararg_buffer10); + _TraceLog(0,15144,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -28416,7 +28380,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (14893 + ($$361133)|0); + $199 = (15201 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -28846,7 +28810,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (14893 + ($$331130)|0); + $186 = (15201 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -28884,7 +28848,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (14893 + ($$371134)|0); + $203 = (15201 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -28923,7 +28887,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (14897 + ($$421139)|0); + $235 = (15205 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -29330,7 +29294,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (14916 + ($495)|0); + $496 = (15224 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -29367,7 +29331,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (14920 + ($515)|0); + $516 = (15228 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -30289,7 +30253,7 @@ function _ImageCrop($0,$1) { if ($9) { HEAP32[$4>>2] = $10; HEAP32[$vararg_buffer>>2] = $10; - _TraceLog(2,14924,$vararg_buffer); + _TraceLog(2,15232,$vararg_buffer); } $11 = ((($1)) + 4|0); $12 = HEAP32[$11>>2]|0; @@ -30303,7 +30267,7 @@ function _ImageCrop($0,$1) { if ($18) { HEAP32[$13>>2] = $19; HEAP32[$vararg_buffer1>>2] = $19; - _TraceLog(2,14984,$vararg_buffer1); + _TraceLog(2,15292,$vararg_buffer1); } $20 = HEAP32[$7>>2]|0; $21 = ($3|0)<($20|0); @@ -30377,7 +30341,7 @@ function _ImageCrop($0,$1) { STACKTOP = sp;return; } } - _TraceLog(2,15046,$vararg_buffer4); + _TraceLog(2,15354,$vararg_buffer4); STACKTOP = sp;return; } function _ImageResize($0,$1,$2) { @@ -30454,7 +30418,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($18) { HEAP32[$13>>2] = $19; HEAP32[$vararg_buffer>>2] = $19; - _TraceLog(2,15101,$vararg_buffer); + _TraceLog(2,15409,$vararg_buffer); } $20 = HEAP32[$9>>2]|0; $21 = ((($2)) + 12|0); @@ -30467,7 +30431,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($26) { HEAP32[$21>>2] = $27; HEAP32[$vararg_buffer1>>2] = $27; - _TraceLog(2,15158,$vararg_buffer1); + _TraceLog(2,15466,$vararg_buffer1); $$053 = 1; } else { $$053 = 0; @@ -30516,7 +30480,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($47) { HEAP32[$33>>2] = $48; HEAP32[$vararg_buffer4>>2] = $48; - _TraceLog(2,15217,$vararg_buffer4); + _TraceLog(2,15525,$vararg_buffer4); $$1 = 1; } else { $$1 = $$053; @@ -30532,7 +30496,7 @@ function _ImageDraw($0,$1,$2,$3) { if ($55) { HEAP32[$50>>2] = $56; HEAP32[$vararg_buffer7>>2] = $56; - _TraceLog(2,15279,$vararg_buffer7); + _TraceLog(2,15587,$vararg_buffer7); label = 21; } else { $57 = ($$1|0)==(0); @@ -30669,7 +30633,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[21100>>2]|0;HEAP32[$0+4>>2]=HEAP32[21100+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[21100+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[21100+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[21100+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[21100+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[21100+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[21100+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[21404>>2]|0;HEAP32[$0+4>>2]=HEAP32[21404+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[21404+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[21404+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[21404+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[21404+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[21404+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[21404+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -31244,7 +31208,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,15343)|0); + $12 = (_strstr($11,15651)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -31253,7 +31217,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,15347)|0); + $17 = (_strstr($16,15655)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -31262,7 +31226,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,15351)|0); + $22 = (_strstr($21,15659)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -31271,7 +31235,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,15355)|0); + $27 = (_strstr($26,15663)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -31280,1210 +31244,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,15361)|0); + $32 = (_strcmp($31,15669)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,15399)|0); + $35 = (_strcmp($34,15707)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 15418; + HEAP32[$3>>2] = 15726; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,15431)|0); + $38 = (_strcmp($37,15739)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 15452; + HEAP32[$3>>2] = 15760; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,15467)|0); + $41 = (_strcmp($40,15775)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 15482; + HEAP32[$3>>2] = 15790; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,15497)|0); + $44 = (_strcmp($43,15805)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 15512; + HEAP32[$3>>2] = 15820; } } else { - HEAP32[$3>>2] = 15383; + HEAP32[$3>>2] = 15691; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,15527)|0); + $47 = (_strcmp($46,15835)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,15541)|0); + $50 = (_strcmp($49,15849)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,15553)|0); + $53 = (_strcmp($52,15861)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,15567)|0); + $56 = (_strcmp($55,15875)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,15579)|0); + $59 = (_strcmp($58,15887)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,15593)|0); + $62 = (_strcmp($61,15901)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,15607)|0); + $65 = (_strcmp($64,15915)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,15624)|0); + $68 = (_strcmp($67,15932)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,15647)|0); + $71 = (_strcmp($70,15955)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,15673)|0); + $74 = (_strcmp($73,15981)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,15686)|0); + $77 = (_strcmp($76,15994)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,15702)|0); + $80 = (_strcmp($79,16010)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,15715)|0); + $83 = (_strcmp($82,16023)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,15729)|0); + $86 = (_strcmp($85,16037)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,15749)|0); + $89 = (_strcmp($88,16057)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,15769)|0); + $92 = (_strcmp($91,16077)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,15786)|0); + $95 = (_strcmp($94,16094)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,15803)|0); + $98 = (_strcmp($97,16111)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,15815)|0); + $101 = (_strcmp($100,16123)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,15828)|0); + $104 = (_strcmp($103,16136)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,15844)|0); + $107 = (_strcmp($106,16152)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,15867)|0); + $110 = (_strcmp($109,16175)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,15880)|0); + $113 = (_strcmp($112,16188)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,15896)|0); + $116 = (_strcmp($115,16204)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,15907)|0); + $119 = (_strcmp($118,16215)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,15926)|0); + $122 = (_strcmp($121,16234)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,15948)|0); + $125 = (_strcmp($124,16256)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,15967)|0); + $128 = (_strcmp($127,16275)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,15996)|0); + $131 = (_strcmp($130,16304)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,16013)|0); + $134 = (_strcmp($133,16321)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,16028)|0); + $137 = (_strcmp($136,16336)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,16043)|0); + $140 = (_strcmp($139,16351)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,16064)|0); + $143 = (_strcmp($142,16372)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,16084)|0); + $146 = (_strcmp($145,16392)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,16104)|0); + $149 = (_strcmp($148,16412)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,16130)|0); + $152 = (_strcmp($151,16438)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,16149)|0); + $155 = (_strcmp($154,16457)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,16161)|0); + $158 = (_strcmp($157,16469)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,16173)|0); + $161 = (_strcmp($160,16481)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,16185)|0); + $164 = (_strcmp($163,16493)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,16197)|0); + $167 = (_strcmp($166,16505)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,16209)|0); + $170 = (_strcmp($169,16517)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,16221)|0); + $173 = (_strcmp($172,16529)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,16233)|0); + $176 = (_strcmp($175,16541)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,16245)|0); + $179 = (_strcmp($178,16553)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,16258)|0); + $182 = (_strcmp($181,16566)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,16271)|0); + $185 = (_strcmp($184,16579)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,16284)|0); + $188 = (_strcmp($187,16592)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,16297)|0); + $191 = (_strcmp($190,16605)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,16310)|0); + $194 = (_strcmp($193,16618)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,16323)|0); + $197 = (_strcmp($196,16631)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,16336)|0); + $200 = (_strcmp($199,16644)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,16349)|0); + $203 = (_strcmp($202,16657)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,16368)|0); + $206 = (_strcmp($205,16676)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,16387)|0); + $209 = (_strcmp($208,16695)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,16406)|0); + $212 = (_strcmp($211,16714)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,16419)|0); + $215 = (_strcmp($214,16727)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,16437)|0); + $218 = (_strcmp($217,16745)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,16455)|0); + $221 = (_strcmp($220,16763)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,16473)|0); + $224 = (_strcmp($223,16781)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,16491)|0); + $227 = (_strcmp($226,16799)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,16511)|0); + $230 = (_strcmp($229,16819)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,15452)|0); + $233 = (_strcmp($232,15760)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,16529)|0); + $236 = (_strcmp($235,16837)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,16544)|0); + $239 = (_strcmp($238,16852)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,16565)|0); + $242 = (_strcmp($241,16873)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,16580)|0); + $245 = (_strcmp($244,16888)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,16598)|0); + $248 = (_strcmp($247,16906)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,16614)|0); + $251 = (_strcmp($250,16922)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,16633)|0); + $254 = (_strcmp($253,16941)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,16647)|0); + $257 = (_strcmp($256,16955)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,16662)|0); + $260 = (_strcmp($259,16970)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,15383)|0); + $263 = (_strcmp($262,15691)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,16673)|0); + $266 = (_strcmp($265,16981)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,15482)|0); + $269 = (_strcmp($268,15790)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,15512)|0); + $272 = (_strcmp($271,15820)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,16689)|0); + $275 = (_strcmp($274,16997)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,16716)|0); + $278 = (_strcmp($277,17024)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,16730)|0); + $281 = (_strcmp($280,17038)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,15418)|0); + $284 = (_strcmp($283,15726)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,16750)|0); + $287 = (_strcmp($286,17058)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,16768)|0); + $290 = (_strcmp($289,17076)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,16780)|0); + $293 = (_strcmp($292,17088)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,16801)|0); + $296 = (_strcmp($295,17109)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,16819)|0); + $299 = (_strcmp($298,17127)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,16837)|0); + $302 = (_strcmp($301,17145)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,16858)|0); + $305 = (_strcmp($304,17166)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,16884)|0); + $308 = (_strcmp($307,17192)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,16907)|0); + $311 = (_strcmp($310,17215)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,16945)|0); + $314 = (_strcmp($313,17253)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,16961)|0); + $317 = (_strcmp($316,17269)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,16976)|0); + $320 = (_strcmp($319,17284)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,16999)|0); + $323 = (_strcmp($322,17307)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,17012)|0); + $326 = (_strcmp($325,17320)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,17026)|0); + $329 = (_strcmp($328,17334)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,17040)|0); + $332 = (_strcmp($331,17348)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,17060)|0); + $335 = (_strcmp($334,17368)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,17080)|0); + $338 = (_strcmp($337,17388)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,17096)|0); + $341 = (_strcmp($340,17404)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,17114)|0); + $344 = (_strcmp($343,17422)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,17130)|0); + $347 = (_strcmp($346,17438)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,17145)|0); + $350 = (_strcmp($349,17453)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,17167)|0); + $353 = (_strcmp($352,17475)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,17185)|0); + $356 = (_strcmp($355,17493)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,17206)|0); + $359 = (_strcmp($358,17514)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,17224)|0); + $362 = (_strcmp($361,17532)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,17237)|0); + $365 = (_strcmp($364,17545)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,17252)|0); + $368 = (_strcmp($367,17560)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,17266)|0); + $371 = (_strcmp($370,17574)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,17276)|0); + $374 = (_strcmp($373,17584)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,17286)|0); + $377 = (_strcmp($376,17594)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,17308)|0); + $380 = (_strcmp($379,17616)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,17334)|0); + $383 = (_strcmp($382,17642)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,17361)|0); + $386 = (_strcmp($385,17669)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,17374)|0); + $389 = (_strcmp($388,17682)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,17389)|0); + $392 = (_strcmp($391,17697)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,17404)|0); + $395 = (_strcmp($394,17712)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,17428)|0); + $398 = (_strcmp($397,17736)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,17439)|0); + $401 = (_strcmp($400,17747)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,17461)|0); + $404 = (_strcmp($403,17769)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,17483)|0); + $407 = (_strcmp($406,17791)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,17507)|0); + $410 = (_strcmp($409,17815)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,17516)|0); + $413 = (_strcmp($412,17824)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,17524)|0); + $416 = (_strcmp($415,17832)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,17537)|0); + $419 = (_strcmp($418,17845)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,17551)|0); + $422 = (_strcmp($421,17859)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,17563)|0); + $425 = (_strcmp($424,17871)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,17572)|0); + $428 = (_strcmp($427,17880)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,17582)|0); + $431 = (_strcmp($430,17890)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,17594)|0); + $434 = (_strcmp($433,17902)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,17605)|0); + $437 = (_strcmp($436,17913)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,17613)|0); + $440 = (_strcmp($439,17921)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,17625)|0); + $443 = (_strcmp($442,17933)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,17640)|0); + $446 = (_strcmp($445,17948)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,17652)|0); + $449 = (_strcmp($448,17960)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,17666)|0); + $452 = (_strcmp($451,17974)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,17691)|0); + $455 = (_strcmp($454,17999)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,17708)|0); + $458 = (_strcmp($457,18016)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,17724)|0); + $461 = (_strcmp($460,18032)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,17740)|0); + $464 = (_strcmp($463,18048)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,17752)|0); + $467 = (_strcmp($466,18060)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,17764)|0); + $470 = (_strcmp($469,18072)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,17788)|0); + $473 = (_strcmp($472,18096)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,17801)|0); + $476 = (_strcmp($475,18109)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,17815)|0); + $479 = (_strcmp($478,18123)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,17837)|0); + $482 = (_strcmp($481,18145)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,17844)|0); + $485 = (_strcmp($484,18152)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,17860)|0); + $488 = (_strcmp($487,18168)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,17877)|0); + $491 = (_strcmp($490,18185)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,17894)|0); + $494 = (_strcmp($493,18202)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,17910)|0); + $497 = (_strcmp($496,18218)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,17926)|0); + $500 = (_strcmp($499,18234)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,17943)|0); + $503 = (_strcmp($502,18251)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,17957)|0); + $506 = (_strcmp($505,18265)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,17969)|0); + $509 = (_strcmp($508,18277)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,17980)|0); + $512 = (_strcmp($511,18288)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,17993)|0); + $515 = (_strcmp($514,18301)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,18003)|0); + $518 = (_strcmp($517,18311)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,18020)|0); + $521 = (_strcmp($520,18328)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,18032)|0); + $524 = (_strcmp($523,18340)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,18054)|0); + $527 = (_strcmp($526,18362)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,18074)|0); + $530 = (_strcmp($529,18382)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,18087)|0); + $533 = (_strcmp($532,18395)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,18109)|0); + $536 = (_strcmp($535,18417)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,18129)|0); + $539 = (_strcmp($538,18437)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,18146)|0); + $542 = (_strcmp($541,18454)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,18163)|0); + $545 = (_strcmp($544,18471)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,18183)|0); + $548 = (_strcmp($547,18491)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -32505,7 +32469,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (23312|0); + return (23616|0); } function ___stdio_close($0) { $0 = $0|0; @@ -33369,7 +33333,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((18299 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((18607 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -33547,7 +33511,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 18763;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 19071;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -33568,7 +33532,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 18763;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 19071;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -33576,8 +33540,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 18763 : (18765); - $$$ = $238 ? $$ : (18764); + $$ = $240 ? 19071 : (19073); + $$$ = $238 ? $$ : (19072); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -33594,7 +33558,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 18763;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 19071;$242 = $167;$243 = $170; label = 66; break; } @@ -33607,7 +33571,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 18763;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 19071;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -33621,7 +33585,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 18773; + $271 = $270 ? $269 : 19081; $$1 = $271; label = 71; break; @@ -33661,7 +33625,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 18763;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 19071;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -33683,8 +33647,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (18763 + ($208)|0); - $$289 = $or$cond283 ? 18763 : $209; + $209 = (19071 + ($208)|0); + $$289 = $or$cond283 ? 19071 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -33705,7 +33669,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 18763;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 19071;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -34235,7 +34199,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (18815 + ($7)|0); + $9 = (19123 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -34593,14 +34557,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 18780; + $$0471 = $14;$$0520 = 1;$$0521 = 19088; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (18781) : (18786); - $$$ = $16 ? $$ : (18783); + $$ = $18 ? (19089) : (19094); + $$$ = $16 ? $$ : (19091); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -34699,7 +34663,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (18815 + ($80)|0); + $81 = (19123 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -35310,7 +35274,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,18831,1); + _out($0,19139,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -35391,7 +35355,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,18831,1); + _out($0,19139,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -35448,9 +35412,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 18799 : 18803; + $29 = $28 ? 19107 : 19111; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 18807 : 18811; + $31 = $28 ? 19115 : 19119; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -35660,7 +35624,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (18833 + ($$016)|0); + $3 = (19141 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -35671,7 +35635,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 18921;$$115 = 87; + $$01214 = 19229;$$115 = 87; label = 5; break; } else { @@ -35681,9 +35645,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 18921; + $$012$lcssa = 19229; } else { - $$01214 = 18921;$$115 = $$016; + $$01214 = 19229;$$115 = $$016; label = 5; } } @@ -36346,7 +36310,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(20725,$3,4)|0); + $memchr = (_memchr(21033,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -36435,7 +36399,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(20725,$4,4)|0); + $memchr = (_memchr(21033,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -36526,7 +36490,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(23316)>>2]|0; + $38 = HEAP32[(23620)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -36559,13 +36523,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((23376|0)); - return (23384|0); + ___lock((23680|0)); + return (23688|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((23376|0)); + ___unlock((23680|0)); return; } function _fclose($0) { @@ -37629,7 +37593,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 21000; + $2 = 21304; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -37846,7 +37810,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[5847]|0; + $3 = HEAP32[5923]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -37865,22 +37829,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[5847] = 0; + HEAP32[5923] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[5847] = $10; + HEAP32[5923] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[5847] = 0; + HEAP32[5923] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[5847] = $13; + HEAP32[5923] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -37961,7 +37925,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[5848]|0; + $8 = HEAP32[5924]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -37970,7 +37934,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (23432 + ($15<<2)|0); + $16 = (23736 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -37981,9 +37945,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[5848] = $24; + HEAP32[5924] = $24; } else { - $25 = HEAP32[(23408)>>2]|0; + $25 = HEAP32[(23712)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -38014,7 +37978,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(23400)>>2]|0; + $37 = HEAP32[(23704)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -38048,7 +38012,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (23432 + ($68<<2)|0); + $69 = (23736 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -38059,10 +38023,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[5848] = $77; + HEAP32[5924] = $77; $98 = $77; } else { - $78 = HEAP32[(23408)>>2]|0; + $78 = HEAP32[(23712)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -38095,22 +38059,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(23412)>>2]|0; + $92 = HEAP32[(23716)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (23432 + ($94<<2)|0); + $95 = (23736 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[5848] = $100; + HEAP32[5924] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(23408)>>2]|0; + $103 = HEAP32[(23712)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -38127,12 +38091,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(23400)>>2] = $84; - HEAP32[(23412)>>2] = $87; + HEAP32[(23704)>>2] = $84; + HEAP32[(23716)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(23396)>>2]|0; + $108 = HEAP32[(23700)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -38160,7 +38124,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (23696 + ($132<<2)|0); + $133 = (24000 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -38200,7 +38164,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(23408)>>2]|0; + $155 = HEAP32[(23712)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -38295,7 +38259,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (23696 + ($188<<2)|0); + $189 = (24000 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -38306,11 +38270,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(23396)>>2] = $194; + HEAP32[(23700)>>2] = $194; break L73; } } else { - $195 = HEAP32[(23408)>>2]|0; + $195 = HEAP32[(23712)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -38331,7 +38295,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(23408)>>2]|0; + $201 = HEAP32[(23712)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -38361,7 +38325,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(23408)>>2]|0; + $213 = HEAP32[(23712)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -38398,22 +38362,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(23412)>>2]|0; + $231 = HEAP32[(23716)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (23432 + ($233<<2)|0); + $234 = (23736 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[5848] = $238; + HEAP32[5924] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(23408)>>2]|0; + $241 = HEAP32[(23712)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -38430,8 +38394,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(23400)>>2] = $$0193$lcssa$i; - HEAP32[(23412)>>2] = $157; + HEAP32[(23704)>>2] = $$0193$lcssa$i; + HEAP32[(23716)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -38447,7 +38411,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(23396)>>2]|0; + $250 = HEAP32[(23700)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -38487,7 +38451,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (23696 + ($$0358$i<<2)|0); + $278 = (24000 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -38579,7 +38543,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (23696 + ($330<<2)|0); + $331 = (24000 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -38623,11 +38587,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(23400)>>2]|0; + $345 = HEAP32[(23704)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(23408)>>2]|0; + $348 = HEAP32[(23712)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -38724,7 +38688,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (23696 + ($381<<2)|0); + $382 = (24000 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -38735,12 +38699,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(23396)>>2] = $387; + HEAP32[(23700)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(23408)>>2]|0; + $388 = HEAP32[(23712)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -38762,7 +38726,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(23408)>>2]|0; + $394 = HEAP32[(23712)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -38794,7 +38758,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(23408)>>2]|0; + $406 = HEAP32[(23712)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -38835,20 +38799,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (23432 + ($425<<2)|0); - $427 = HEAP32[5848]|0; + $426 = (23736 + ($425<<2)|0); + $427 = HEAP32[5924]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[5848] = $431; + HEAP32[5924] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(23408)>>2]|0; + $434 = HEAP32[(23712)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -38900,7 +38864,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (23696 + ($$0361$i<<2)|0); + $464 = (24000 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -38912,7 +38876,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(23396)>>2] = $472; + HEAP32[(23700)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -38951,7 +38915,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(23408)>>2]|0; + $491 = HEAP32[(23712)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -38970,7 +38934,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(23408)>>2]|0; + $498 = HEAP32[(23712)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -39003,16 +38967,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(23400)>>2]|0; + $506 = HEAP32[(23704)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(23412)>>2]|0; + $509 = HEAP32[(23716)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(23412)>>2] = $511; - HEAP32[(23400)>>2] = $508; + HEAP32[(23716)>>2] = $511; + HEAP32[(23704)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -39022,8 +38986,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(23400)>>2] = 0; - HEAP32[(23412)>>2] = 0; + HEAP32[(23704)>>2] = 0; + HEAP32[(23716)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -39037,14 +39001,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(23404)>>2]|0; + $524 = HEAP32[(23708)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(23404)>>2] = $526; - $527 = HEAP32[(23416)>>2]|0; + HEAP32[(23708)>>2] = $526; + $527 = HEAP32[(23720)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(23416)>>2] = $528; + HEAP32[(23720)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -39055,23 +39019,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[5966]|0; + $534 = HEAP32[6042]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(23872)>>2] = 4096; - HEAP32[(23868)>>2] = 4096; - HEAP32[(23876)>>2] = -1; - HEAP32[(23880)>>2] = -1; - HEAP32[(23884)>>2] = 0; - HEAP32[(23836)>>2] = 0; + HEAP32[(24176)>>2] = 4096; + HEAP32[(24172)>>2] = 4096; + HEAP32[(24180)>>2] = -1; + HEAP32[(24184)>>2] = -1; + HEAP32[(24188)>>2] = 0; + HEAP32[(24140)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[5966] = $538; + HEAP32[6042] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(23872)>>2]|0; + $$pre$i212 = HEAP32[(24176)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -39084,10 +39048,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(23832)>>2]|0; + $546 = HEAP32[(24136)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(23824)>>2]|0; + $548 = HEAP32[(24128)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -39097,18 +39061,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(23836)>>2]|0; + $552 = HEAP32[(24140)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(23416)>>2]|0; + $555 = HEAP32[(23720)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (23840); + $$0$i$i = (24144); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -39166,7 +39130,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(23868)>>2]|0; + $569 = HEAP32[(24172)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -39176,13 +39140,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(23824)>>2]|0; + $578 = HEAP32[(24128)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(23832)>>2]|0; + $582 = HEAP32[(24136)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -39228,7 +39192,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(23872)>>2]|0; + $601 = HEAP32[(24176)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -39253,9 +39217,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(23836)>>2]|0; + $611 = HEAP32[(24140)>>2]|0; $612 = $611 | 4; - HEAP32[(23836)>>2] = $612; + HEAP32[(24140)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -39291,35 +39255,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(23824)>>2]|0; + $626 = HEAP32[(24128)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(23824)>>2] = $627; - $628 = HEAP32[(23828)>>2]|0; + HEAP32[(24128)>>2] = $627; + $628 = HEAP32[(24132)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(23828)>>2] = $627; + HEAP32[(24132)>>2] = $627; } - $630 = HEAP32[(23416)>>2]|0; + $630 = HEAP32[(23720)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(23408)>>2]|0; + $632 = HEAP32[(23712)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(23408)>>2] = $$749$i; - } - HEAP32[(23840)>>2] = $$749$i; - HEAP32[(23844)>>2] = $$723948$i; - HEAP32[(23852)>>2] = 0; - $635 = HEAP32[5966]|0; - HEAP32[(23428)>>2] = $635; - HEAP32[(23424)>>2] = -1; + HEAP32[(23712)>>2] = $$749$i; + } + HEAP32[(24144)>>2] = $$749$i; + HEAP32[(24148)>>2] = $$723948$i; + HEAP32[(24156)>>2] = 0; + $635 = HEAP32[6042]|0; + HEAP32[(23732)>>2] = $635; + HEAP32[(23728)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (23432 + ($636<<2)|0); + $637 = (23736 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -39342,18 +39306,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(23416)>>2] = $649; - HEAP32[(23404)>>2] = $650; + HEAP32[(23720)>>2] = $649; + HEAP32[(23708)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(23880)>>2]|0; - HEAP32[(23420)>>2] = $655; + $655 = HEAP32[(24184)>>2]|0; + HEAP32[(23724)>>2] = $655; } else { - $$024371$i = (23840); + $$024371$i = (24144); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -39385,7 +39349,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(23404)>>2]|0; + $671 = HEAP32[(23708)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -39396,30 +39360,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(23416)>>2] = $679; - HEAP32[(23404)>>2] = $681; + HEAP32[(23720)>>2] = $679; + HEAP32[(23708)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(23880)>>2]|0; - HEAP32[(23420)>>2] = $686; + $686 = HEAP32[(24184)>>2]|0; + HEAP32[(23724)>>2] = $686; break; } } } - $687 = HEAP32[(23408)>>2]|0; + $687 = HEAP32[(23712)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(23408)>>2] = $$749$i; + HEAP32[(23712)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (23840); + $$124470$i = (24144); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -39474,21 +39438,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(23404)>>2]|0; + $726 = HEAP32[(23708)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(23404)>>2] = $727; - HEAP32[(23416)>>2] = $721; + HEAP32[(23708)>>2] = $727; + HEAP32[(23720)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(23412)>>2]|0; + $730 = HEAP32[(23716)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(23400)>>2]|0; + $732 = HEAP32[(23704)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(23400)>>2] = $733; - HEAP32[(23412)>>2] = $721; + HEAP32[(23704)>>2] = $733; + HEAP32[(23716)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -39511,7 +39475,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (23432 + ($748<<2)|0); + $749 = (23736 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -39534,9 +39498,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[5848]|0; + $759 = HEAP32[5924]|0; $760 = $759 & $758; - HEAP32[5848] = $760; + HEAP32[5924] = $760; break; } $761 = ($747|0)==($749|0); @@ -39649,7 +39613,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (23696 + ($796<<2)|0); + $797 = (24000 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -39661,12 +39625,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(23396)>>2]|0; + $802 = HEAP32[(23700)>>2]|0; $803 = $802 & $801; - HEAP32[(23396)>>2] = $803; + HEAP32[(23700)>>2] = $803; break L314; } else { - $804 = HEAP32[(23408)>>2]|0; + $804 = HEAP32[(23712)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -39687,7 +39651,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(23408)>>2]|0; + $810 = HEAP32[(23712)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -39719,7 +39683,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(23408)>>2]|0; + $822 = HEAP32[(23712)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -39752,21 +39716,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (23432 + ($836<<2)|0); - $838 = HEAP32[5848]|0; + $837 = (23736 + ($836<<2)|0); + $838 = HEAP32[5924]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[5848] = $842; + HEAP32[5924] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(23408)>>2]|0; + $845 = HEAP32[(23712)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -39821,20 +39785,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (23696 + ($$0296$i$i<<2)|0); + $875 = (24000 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(23396)>>2]|0; + $879 = HEAP32[(23700)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(23396)>>2] = $883; + HEAP32[(23700)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -39873,7 +39837,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(23408)>>2]|0; + $902 = HEAP32[(23712)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -39892,7 +39856,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(23408)>>2]|0; + $909 = HEAP32[(23712)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -39919,7 +39883,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (23840); + $$0$i$i$i = (24144); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -39960,23 +39924,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(23416)>>2] = $946; - HEAP32[(23404)>>2] = $947; + HEAP32[(23720)>>2] = $946; + HEAP32[(23708)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(23880)>>2]|0; - HEAP32[(23420)>>2] = $952; + $952 = HEAP32[(24184)>>2]|0; + HEAP32[(23724)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(23840)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(23840)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(23840)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(23840)+12>>2]|0; - HEAP32[(23840)>>2] = $$749$i; - HEAP32[(23844)>>2] = $$723948$i; - HEAP32[(23852)>>2] = 0; - HEAP32[(23848)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(24144)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(24144)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(24144)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(24144)+12>>2]|0; + HEAP32[(24144)>>2] = $$749$i; + HEAP32[(24148)>>2] = $$723948$i; + HEAP32[(24156)>>2] = 0; + HEAP32[(24152)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -40005,20 +39969,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (23432 + ($968<<2)|0); - $970 = HEAP32[5848]|0; + $969 = (23736 + ($968<<2)|0); + $970 = HEAP32[5924]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[5848] = $974; + HEAP32[5924] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(23408)>>2]|0; + $977 = HEAP32[(23712)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -40070,19 +40034,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (23696 + ($$0212$i$i<<2)|0); + $1007 = (24000 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(23396)>>2]|0; + $1010 = HEAP32[(23700)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(23396)>>2] = $1014; + HEAP32[(23700)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -40121,7 +40085,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(23408)>>2]|0; + $1033 = HEAP32[(23712)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -40140,7 +40104,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(23408)>>2]|0; + $1040 = HEAP32[(23712)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -40163,14 +40127,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(23404)>>2]|0; + $1048 = HEAP32[(23708)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(23404)>>2] = $1050; - $1051 = HEAP32[(23416)>>2]|0; + HEAP32[(23708)>>2] = $1050; + $1051 = HEAP32[(23720)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(23416)>>2] = $1052; + HEAP32[(23720)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -40213,7 +40177,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(23408)>>2]|0; + $3 = HEAP32[(23712)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -40246,7 +40210,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(23412)>>2]|0; + $19 = HEAP32[(23716)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -40261,7 +40225,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(23400)>>2] = $17; + HEAP32[(23704)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -40275,7 +40239,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (23432 + ($27<<2)|0); + $28 = (23736 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -40295,9 +40259,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[5848]|0; + $37 = HEAP32[5924]|0; $38 = $37 & $36; - HEAP32[5848] = $38; + HEAP32[5924] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -40411,7 +40375,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (23696 + ($74<<2)|0); + $75 = (24000 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -40421,14 +40385,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(23396)>>2]|0; + $80 = HEAP32[(23700)>>2]|0; $81 = $80 & $79; - HEAP32[(23396)>>2] = $81; + HEAP32[(23700)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(23408)>>2]|0; + $82 = HEAP32[(23712)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -40450,7 +40414,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(23408)>>2]|0; + $88 = HEAP32[(23712)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -40482,7 +40446,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(23408)>>2]|0; + $100 = HEAP32[(23712)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -40517,14 +40481,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(23416)>>2]|0; + $120 = HEAP32[(23720)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(23412)>>2]|0; + $122 = HEAP32[(23716)>>2]|0; if ($121) { - $123 = HEAP32[(23404)>>2]|0; + $123 = HEAP32[(23708)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(23404)>>2] = $124; - HEAP32[(23416)>>2] = $$1; + HEAP32[(23708)>>2] = $124; + HEAP32[(23720)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -40532,16 +40496,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(23412)>>2] = 0; - HEAP32[(23400)>>2] = 0; + HEAP32[(23716)>>2] = 0; + HEAP32[(23704)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(23400)>>2]|0; + $129 = HEAP32[(23704)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(23400)>>2] = $130; - HEAP32[(23412)>>2] = $113; + HEAP32[(23704)>>2] = $130; + HEAP32[(23716)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -40560,10 +40524,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (23432 + ($142<<2)|0); + $143 = (23736 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(23408)>>2]|0; + $145 = HEAP32[(23712)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -40581,9 +40545,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[5848]|0; + $153 = HEAP32[5924]|0; $154 = $153 & $152; - HEAP32[5848] = $154; + HEAP32[5924] = $154; break; } $155 = ($141|0)==($143|0); @@ -40591,7 +40555,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(23408)>>2]|0; + $156 = HEAP32[(23712)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -40651,7 +40615,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(23408)>>2]|0; + $189 = HEAP32[(23712)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -40664,7 +40628,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(23408)>>2]|0; + $169 = HEAP32[(23712)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -40695,7 +40659,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (23696 + ($193<<2)|0); + $194 = (24000 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -40705,13 +40669,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(23396)>>2]|0; + $199 = HEAP32[(23700)>>2]|0; $200 = $199 & $198; - HEAP32[(23396)>>2] = $200; + HEAP32[(23700)>>2] = $200; break L108; } } else { - $201 = HEAP32[(23408)>>2]|0; + $201 = HEAP32[(23712)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -40732,7 +40696,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(23408)>>2]|0; + $207 = HEAP32[(23712)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -40762,7 +40726,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(23408)>>2]|0; + $219 = HEAP32[(23712)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -40783,10 +40747,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(23412)>>2]|0; + $226 = HEAP32[(23716)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(23400)>>2] = $135; + HEAP32[(23704)>>2] = $135; return; } else { $$2 = $135; @@ -40805,20 +40769,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (23432 + ($234<<2)|0); - $236 = HEAP32[5848]|0; + $235 = (23736 + ($234<<2)|0); + $236 = HEAP32[5924]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[5848] = $240; + HEAP32[5924] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(23408)>>2]|0; + $243 = HEAP32[(23712)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -40870,21 +40834,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (23696 + ($$0396<<2)|0); + $273 = (24000 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(23396)>>2]|0; + $277 = HEAP32[(23700)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(23396)>>2] = $281; + HEAP32[(23700)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -40922,7 +40886,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(23408)>>2]|0; + $300 = HEAP32[(23712)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -40941,7 +40905,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(23408)>>2]|0; + $307 = HEAP32[(23712)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -40963,12 +40927,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(23424)>>2]|0; + $314 = HEAP32[(23728)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(23424)>>2] = $315; + HEAP32[(23728)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (23848); + $$0212$in$i = (24152); } else { return; } @@ -40982,7 +40946,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(23424)>>2] = -1; + HEAP32[(23728)>>2] = -1; return; } function _realloc($0,$1) { @@ -41054,7 +41018,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(23408)>>2]|0; + $6 = HEAP32[(23712)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -41084,7 +41048,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(23872)>>2]|0; + $18 = HEAP32[(24176)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -41120,10 +41084,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(23416)>>2]|0; + $34 = HEAP32[(23720)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(23404)>>2]|0; + $36 = HEAP32[(23708)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -41139,15 +41103,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(23416)>>2] = $40; - HEAP32[(23404)>>2] = $39; + HEAP32[(23720)>>2] = $40; + HEAP32[(23708)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(23412)>>2]|0; + $46 = HEAP32[(23716)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(23400)>>2]|0; + $48 = HEAP32[(23704)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -41183,8 +41147,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(23400)>>2] = $storemerge1; - HEAP32[(23412)>>2] = $storemerge; + HEAP32[(23704)>>2] = $storemerge1; + HEAP32[(23716)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -41211,7 +41175,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (23432 + ($81<<2)|0); + $82 = (23736 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -41231,9 +41195,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[5848]|0; + $91 = HEAP32[5924]|0; $92 = $91 & $90; - HEAP32[5848] = $92; + HEAP32[5924] = $92; break; } $93 = ($80|0)==($82|0); @@ -41342,7 +41306,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (23696 + ($128<<2)|0); + $129 = (24000 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -41352,13 +41316,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(23396)>>2]|0; + $134 = HEAP32[(23700)>>2]|0; $135 = $134 & $133; - HEAP32[(23396)>>2] = $135; + HEAP32[(23700)>>2] = $135; break L49; } } else { - $136 = HEAP32[(23408)>>2]|0; + $136 = HEAP32[(23712)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -41379,7 +41343,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(23408)>>2]|0; + $142 = HEAP32[(23712)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -41409,7 +41373,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(23408)>>2]|0; + $154 = HEAP32[(23712)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -41494,13 +41458,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(23408)>>2]|0; + $13 = HEAP32[(23712)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(23412)>>2]|0; + $15 = HEAP32[(23716)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -41515,7 +41479,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(23400)>>2] = $12; + HEAP32[(23704)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -41529,7 +41493,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (23432 + ($23<<2)|0); + $24 = (23736 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -41549,9 +41513,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[5848]|0; + $33 = HEAP32[5924]|0; $34 = $33 & $32; - HEAP32[5848] = $34; + HEAP32[5924] = $34; $$1 = $11;$$1418 = $12; break; } @@ -41665,7 +41629,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (23696 + ($70<<2)|0); + $71 = (24000 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -41675,14 +41639,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(23396)>>2]|0; + $76 = HEAP32[(23700)>>2]|0; $77 = $76 & $75; - HEAP32[(23396)>>2] = $77; + HEAP32[(23700)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(23408)>>2]|0; + $78 = HEAP32[(23712)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -41704,7 +41668,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(23408)>>2]|0; + $84 = HEAP32[(23712)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -41736,7 +41700,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(23408)>>2]|0; + $96 = HEAP32[(23712)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -41755,7 +41719,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(23408)>>2]|0; + $108 = HEAP32[(23712)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -41766,14 +41730,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(23416)>>2]|0; + $114 = HEAP32[(23720)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(23412)>>2]|0; + $116 = HEAP32[(23716)>>2]|0; if ($115) { - $117 = HEAP32[(23404)>>2]|0; + $117 = HEAP32[(23708)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(23404)>>2] = $118; - HEAP32[(23416)>>2] = $$1; + HEAP32[(23708)>>2] = $118; + HEAP32[(23720)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -41781,16 +41745,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(23412)>>2] = 0; - HEAP32[(23400)>>2] = 0; + HEAP32[(23716)>>2] = 0; + HEAP32[(23704)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(23400)>>2]|0; + $123 = HEAP32[(23704)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(23400)>>2] = $124; - HEAP32[(23412)>>2] = $$1; + HEAP32[(23704)>>2] = $124; + HEAP32[(23716)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -41809,7 +41773,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (23432 + ($136<<2)|0); + $137 = (23736 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -41829,9 +41793,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[5848]|0; + $146 = HEAP32[5924]|0; $147 = $146 & $145; - HEAP32[5848] = $147; + HEAP32[5924] = $147; break; } $148 = ($135|0)==($137|0); @@ -41940,7 +41904,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (23696 + ($183<<2)|0); + $184 = (24000 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -41950,13 +41914,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(23396)>>2]|0; + $189 = HEAP32[(23700)>>2]|0; $190 = $189 & $188; - HEAP32[(23396)>>2] = $190; + HEAP32[(23700)>>2] = $190; break L96; } } else { - $191 = HEAP32[(23408)>>2]|0; + $191 = HEAP32[(23712)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -41977,7 +41941,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(23408)>>2]|0; + $197 = HEAP32[(23712)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -42007,7 +41971,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(23408)>>2]|0; + $209 = HEAP32[(23712)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -42028,10 +41992,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(23412)>>2]|0; + $216 = HEAP32[(23716)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(23400)>>2] = $129; + HEAP32[(23704)>>2] = $129; return; } else { $$2 = $129; @@ -42050,20 +42014,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (23432 + ($224<<2)|0); - $226 = HEAP32[5848]|0; + $225 = (23736 + ($224<<2)|0); + $226 = HEAP32[5924]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[5848] = $230; + HEAP32[5924] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(23408)>>2]|0; + $233 = HEAP32[(23712)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -42115,20 +42079,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (23696 + ($$0431<<2)|0); + $263 = (24000 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(23396)>>2]|0; + $267 = HEAP32[(23700)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(23396)>>2] = $271; + HEAP32[(23700)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -42167,7 +42131,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(23408)>>2]|0; + $290 = HEAP32[(23712)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -42185,7 +42149,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(23408)>>2]|0; + $297 = HEAP32[(23712)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_image_drawing.png b/docs/examples/web/textures/textures_image_drawing.png new file mode 100644 index 00000000..acfee069 Binary files /dev/null and b/docs/examples/web/textures/textures_image_drawing.png differ diff --git a/docs/examples/web/textures/textures_image_loading.js b/docs/examples/web/textures/textures_image_loading.js index 61a43298..b055e37a 100644 --- a/docs/examples/web/textures/textures_image_loading.js +++ b/docs/examples/web/textures/textures_image_loading.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "91ef5c88-5453-4233-9ab5-19a2f240a762"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "55710632-d245-4d5a-a2ae-e7a12e2c2ce7"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 21936; +STATICTOP = STATIC_BASE + 21920; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,175,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,159,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,108,111,97,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10473,11 +10473,11 @@ function _main() { _LoadImage($0,4038); ;HEAP32[$texture$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$texture$byval_copy); - ;HEAP32[16416>>2]=HEAP32[$1>>2]|0;HEAP32[16416+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16416+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16416+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16416+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16720>>2]=HEAP32[$1>>2]|0;HEAP32[16720+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16720+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16720+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16720+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$texture$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($texture$byval_copy); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16416>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16416+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16416+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16416+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16416+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16720>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16720+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16720+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16720+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16720+16>>2]|0; _UnloadTexture($texture$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10504,16 +10504,16 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy1); $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; - $8 = HEAP32[(16420)>>2]|0; + $8 = HEAP32[(16724)>>2]|0; $9 = (($8|0) / 2)&-1; $10 = (($7) - ($9))|0; $11 = HEAP32[3]|0; $12 = (($11|0) / 2)&-1; - $13 = HEAP32[(16424)>>2]|0; + $13 = HEAP32[(16728)>>2]|0; $14 = (($13|0) / 2)&-1; $15 = (($12) - ($14))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16416>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16416+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16416+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16416+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16416+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16720>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16720+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16720+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16720+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16720+16>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$10,$15,$$byval_copy1); HEAP8[$2>>0] = -126; @@ -10528,6 +10528,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10627,13 +10677,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11243,7 +11286,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4110] = $2; + HEAP32[4186] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11256,7 +11299,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16144; + $95 = 16448; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11269,48 +11312,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16184; + $106 = 16488; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4046]; - $111 = +HEAPF32[4036]; + $110 = +HEAPF32[4122]; + $111 = +HEAPF32[4112]; $112 = $110 - $111; - HEAPF32[4048] = $112; - $113 = +HEAPF32[(16188)>>2]; - $114 = +HEAPF32[(16148)>>2]; + HEAPF32[4124] = $112; + $113 = +HEAPF32[(16492)>>2]; + $114 = +HEAPF32[(16452)>>2]; $115 = $113 - $114; - HEAPF32[(16196)>>2] = $115; - HEAP32[4109] = 4; + HEAPF32[(16500)>>2] = $115; + HEAP32[4185] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4115] = $116; - $117 = 16176; + HEAPF32[4191] = $116; + $117 = 16480; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16144; + $123 = 16448; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16200; + $127 = 16504; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16184; + $133 = 16488; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11323,7 +11366,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16176; + $144 = 16480; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11336,27 +11379,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16200; + $155 = 16504; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4050]; - $160 = +HEAPF32[4044]; + $159 = +HEAPF32[4126]; + $160 = +HEAPF32[4120]; $161 = $159 - $160; - HEAPF32[4048] = $161; - $162 = +HEAPF32[(16204)>>2]; - $163 = +HEAPF32[(16180)>>2]; + HEAPF32[4124] = $161; + $162 = +HEAPF32[(16508)>>2]; + $163 = +HEAPF32[(16484)>>2]; $164 = $162 - $163; - HEAPF32[(16196)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16176+4>>2]|0; + HEAPF32[(16500)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16480+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16184+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16488>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16488+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11368,31 +11411,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4115]; + $170 = +HEAPF32[4191]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4109] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16200>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16200+4>>2]|0; + HEAP32[4185] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4116] = $174; + HEAPF32[4192] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4115] = 0.0; - HEAPF32[4116] = 0.0; - HEAPF32[4048] = 0.0; - HEAPF32[(16196)>>2] = 0.0; - HEAP32[4110] = 0; - HEAP32[4109] = 0; + HEAPF32[4191] = 0.0; + HEAPF32[4192] = 0.0; + HEAPF32[4124] = 0.0; + HEAPF32[(16500)>>2] = 0.0; + HEAP32[4186] = 0; + HEAP32[4185] = 0; STACKTOP = sp;return; break; } @@ -11402,22 +11445,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4111]|0; + $6 = HEAP32[4187]|0; $7 = (($6) + 1)|0; - HEAP32[4111] = $7; - $8 = HEAP32[4109]|0; + HEAP32[4187] = $7; + $8 = HEAP32[4185]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4109] = 2; - HEAP32[4111] = 0; + HEAP32[4185] = 2; + HEAP32[4187] = 0; } else { label = 6; } @@ -11425,8 +11468,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4111] = 1; - HEAP32[4109] = 1; + HEAP32[4187] = 1; + HEAP32[4185] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11435,19 +11478,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16144; + $21 = 16448; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16152; + $25 = 16456; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16160; + $29 = 16464; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11456,13 +11499,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4042] = 0.0; - HEAPF32[(16172)>>2] = 0.0; + HEAPF32[4118] = 0.0; + HEAPF32[(16476)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4109]|0; + $35 = HEAP32[4185]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11472,19 +11515,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16160; + $44 = 16464; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16464+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4112] = $49; - HEAP32[4113] = 0; + HEAPF32[4188] = $49; + HEAP32[4189] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11492,11 +11535,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16464>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16464+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4114] = $56; + HEAPF32[4190] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11527,22 +11570,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4112] = 0.0; - HEAPF32[4114] = 0.0; + HEAPF32[4188] = 0.0; + HEAPF32[4190] = 0.0; $$sink10 = 0; } - HEAP32[4109] = $$sink10; - HEAPF32[4038] = 0.0; - HEAPF32[(16156)>>2] = 0.0; - HEAP32[4110] = 0; + HEAP32[4185] = $$sink10; + HEAPF32[4114] = 0.0; + HEAPF32[(16460)>>2] = 0.0; + HEAP32[4186] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4113]|0; + $65 = HEAP32[4189]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4113] = 1; + HEAP32[4189] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11551,31 +11594,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16176; + $74 = 16480; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4109]|0; + $78 = HEAP32[4185]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16144+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16176+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16448>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16448+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16480+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4109] = 8; + HEAP32[4185] = 8; } } - $82 = +HEAPF32[4044]; - $83 = +HEAPF32[4038]; + $82 = +HEAPF32[4120]; + $83 = +HEAPF32[4114]; $84 = $82 - $83; - HEAPF32[4042] = $84; - $85 = +HEAPF32[(16180)>>2]; - $86 = +HEAPF32[(16156)>>2]; + HEAPF32[4118] = $84; + $85 = +HEAPF32[(16484)>>2]; + $86 = +HEAPF32[(16460)>>2]; $87 = $85 - $86; - HEAPF32[(16172)>>2] = $87; + HEAPF32[(16476)>>2] = $87; STACKTOP = sp;return; break; } @@ -11584,58 +11627,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4109]|0; + $0 = HEAP32[4185]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4110]|0; + $2 = HEAP32[4186]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4109] = 4; + HEAP32[4185] = 4; } - $4 = HEAP32[4109]|0; + $4 = HEAP32[4185]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11648,14 +11652,14 @@ function _UpdateGestures() { return; } } - HEAP32[4109] = 0; + HEAP32[4185] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16208; + $1 = 16512; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11672,13 +11676,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4119]|0; + $0 = HEAP32[4195]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4118]|0; + $0 = HEAP32[4194]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11690,7 +11694,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4104,$vararg_buffer); - HEAP32[4121] = $2; + HEAP32[4197] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11703,15 +11707,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4133|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4119]|0; + $3 = HEAP32[4195]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4052] = $5; - $6 = HEAP32[4118]|0; + HEAPF32[4128] = $5; + $6 = HEAP32[4194]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16212)>>2] = $8; - $9 = HEAP32[4122]|0; + HEAPF32[(16516)>>2] = $8; + $9 = HEAP32[4198]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11730,11 +11734,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16248>>0]=HEAP8[8662>>0]|0;HEAP8[16248+1>>0]=HEAP8[8662+1>>0]|0;HEAP8[16248+2>>0]=HEAP8[8662+2>>0]|0;HEAP8[16248+3>>0]=HEAP8[8662+3>>0]|0;HEAP8[16248+4>>0]=HEAP8[8662+4>>0]|0;HEAP8[16248+5>>0]=HEAP8[8662+5>>0]|0;HEAP8[16248+6>>0]=HEAP8[8662+6>>0]|0; + ;HEAP8[16552>>0]=HEAP8[8662>>0]|0;HEAP8[16552+1>>0]=HEAP8[8662+1>>0]|0;HEAP8[16552+2>>0]=HEAP8[8662+2>>0]|0;HEAP8[16552+3>>0]=HEAP8[8662+3>>0]|0;HEAP8[16552+4>>0]=HEAP8[8662+4>>0]|0;HEAP8[16552+5>>0]=HEAP8[8662+5>>0]|0;HEAP8[16552+6>>0]=HEAP8[8662+6>>0]|0; break; } case 1: { - $3 = 16248; + $3 = 16552; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11743,11 +11747,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16248; src=8669; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16552; src=8669; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16248; + $7 = 16552; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11758,16 +11762,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16248,$1)|0); - $strlen = (_strlen(16248)|0); - $endptr = (16248 + ($strlen)|0); + (_strcat(16552,$1)|0); + $strlen = (_strlen(16552)|0); + $endptr = (16552 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16248,$2)|0); + (_vprintf(16552,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11799,22 +11803,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4119] = $0; - HEAP32[4118] = $1; + HEAP32[4195] = $0; + HEAP32[4194] = $1; _MatrixIdentity($2); - dest=16564; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16868; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4804,$vararg_buffer); } - $6 = HEAP32[4119]|0; - HEAP32[4157] = $6; - $7 = HEAP32[4118]|0; - HEAP32[4158] = $7; + $6 = HEAP32[4195]|0; + HEAP32[4233] = $6; + $7 = HEAP32[4194]|0; + HEAP32[4234] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19296]|0; + $8 = HEAP8[19600]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11822,13 +11826,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19296]|0; + $11 = HEAP8[19600]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19296]|0; + $14 = HEAP8[19600]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11850,18 +11854,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4159]|0; + $21 = HEAP32[4235]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4119]|0; - $48 = HEAP32[4118]|0; - $49 = HEAP32[4121]|0; + $47 = HEAP32[4195]|0; + $48 = HEAP32[4194]|0; + $49 = HEAP32[4197]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4117] = $50; - $51 = HEAP32[4119]|0; - HEAP32[4160] = $51; - $52 = HEAP32[4118]|0; - HEAP32[4161] = $52; + HEAP32[4193] = $50; + $51 = HEAP32[4195]|0; + HEAP32[4236] = $51; + $52 = HEAP32[4194]|0; + HEAP32[4237] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11870,9 +11874,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4119]|0; + $27 = HEAP32[4195]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4118]|0; + $29 = HEAP32[4194]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11894,25 +11898,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4157] = $31; - HEAP32[4158] = $34; + HEAP32[4233] = $31; + HEAP32[4234] = $34; } } while(0); - $38 = HEAP32[4157]|0; - $39 = HEAP32[4158]|0; + $38 = HEAP32[4233]|0; + $39 = HEAP32[4234]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4855,$vararg_buffer3); - $40 = HEAP32[4157]|0; - $41 = HEAP32[4158]|0; + $40 = HEAP32[4233]|0; + $41 = HEAP32[4234]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4157]|0; - $43 = HEAP32[4158]|0; - $44 = HEAP32[4121]|0; + $42 = HEAP32[4233]|0; + $43 = HEAP32[4234]|0; + $44 = HEAP32[4197]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4117] = $46; + HEAP32[4193] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -11921,60 +11925,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,4893,$vararg_buffer6); } else { _TraceLog(0,4926,$vararg_buffer8); - $55 = HEAP32[4160]|0; - $56 = HEAP32[4161]|0; + $55 = HEAP32[4236]|0; + $56 = HEAP32[4237]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,4966,$vararg_buffer10); - $57 = HEAP32[4119]|0; - $58 = HEAP32[4118]|0; + $57 = HEAP32[4195]|0; + $58 = HEAP32[4194]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,4987,$vararg_buffer14); - $59 = HEAP32[4162]|0; - $60 = HEAP32[4163]|0; + $59 = HEAP32[4238]|0; + $60 = HEAP32[4239]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5008,$vararg_buffer18); } - $61 = HEAP32[4117]|0; + $61 = HEAP32[4193]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4117]|0; + $62 = HEAP32[4193]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4117]|0; + $63 = HEAP32[4193]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4117]|0; + $64 = HEAP32[4193]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4117]|0; + $65 = HEAP32[4193]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4117]|0; + $66 = HEAP32[4193]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4117]|0; + $67 = HEAP32[4193]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4117]|0; + $68 = HEAP32[4193]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4117]|0; + $69 = HEAP32[4193]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19296]|0; + $70 = HEAP8[19600]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4119]|0; - $74 = HEAP32[4118]|0; + $73 = HEAP32[4195]|0; + $74 = HEAP32[4194]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4160]|0; - $76 = HEAP32[4162]|0; + $75 = HEAP32[4236]|0; + $76 = HEAP32[4238]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4161]|0; - $80 = HEAP32[4163]|0; + $79 = HEAP32[4237]|0; + $80 = HEAP32[4239]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11993,18 +11997,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5033,$vararg_buffer22); - $73 = HEAP32[4119]|0; - $74 = HEAP32[4118]|0; + $73 = HEAP32[4195]|0; + $74 = HEAP32[4194]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4160]|0; - $76 = HEAP32[4162]|0; + $75 = HEAP32[4236]|0; + $76 = HEAP32[4238]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4161]|0; - $80 = HEAP32[4163]|0; + $79 = HEAP32[4237]|0; + $80 = HEAP32[4239]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12032,7 +12036,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16532)>>2] = 224; + HEAP32[(16836)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12073,27 +12077,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16508>>2]=HEAP32[$1>>2]|0;HEAP32[16508+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16508+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16508+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16508+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16812>>2]=HEAP32[$1>>2]|0;HEAP32[16812+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16812+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16812+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16812+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16532)>>2]|0; + $5 = HEAP32[(16836)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16536)>>2] = $7; + HEAP32[(16840)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16528)>>2] = $23; - $24 = HEAP32[4127]|0; + HEAP32[(16832)>>2] = $23; + $24 = HEAP32[4203]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4328,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16512)>>2]|0; - $10 = HEAP32[(16532)>>2]|0; - $11 = HEAP32[(16536)>>2]|0; + $9 = HEAP32[(16816)>>2]|0; + $10 = HEAP32[(16836)>>2]|0; + $11 = HEAP32[(16840)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12142,8 +12146,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16528)>>2] = $23; - $24 = HEAP32[4127]|0; + HEAP32[(16832)>>2] = $23; + $24 = HEAP32[4203]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4328,$vararg_buffer); STACKTOP = sp;return; @@ -12154,7 +12158,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2030] = $1; + HEAPF64[2068] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12313,7 +12317,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16224; + $31 = 16528; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12326,7 +12330,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16232); + $42 = (16536); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12382,7 +12386,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16492 + ($10<<2)|0); + $11 = (16796 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12396,7 +12400,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2027] = $$; + HEAPF64[2065] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12408,7 +12412,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4122] = 0; + HEAP32[4198] = 0; return; } function _GetTime() { @@ -12984,7 +12988,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4135]|0; + $6 = HEAP32[4211]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -12994,7 +12998,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4136]|0; + $9 = HEAP32[4212]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13003,7 +13007,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4137]|0; + $12 = HEAP32[4213]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13013,7 +13017,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4138]|0; + $15 = HEAP32[4214]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13023,7 +13027,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4139]|0; + $18 = HEAP32[4215]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13067,7 +13071,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4135]|0; + $22 = HEAP32[4211]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13075,7 +13079,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4135]|0; + $24 = HEAP32[4211]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13083,7 +13087,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4135]|0; + $26 = HEAP32[4211]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13091,7 +13095,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4135]|0; + $28 = HEAP32[4211]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13099,7 +13103,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4136]|0; + $30 = HEAP32[4212]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13107,7 +13111,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4137]|0; + $32 = HEAP32[4213]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13115,7 +13119,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4137]|0; + $34 = HEAP32[4213]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13123,7 +13127,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4138]|0; + $36 = HEAP32[4214]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13131,7 +13135,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4138]|0; + $38 = HEAP32[4214]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13139,7 +13143,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4139]|0; + $40 = HEAP32[4215]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13147,7 +13151,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4139]|0; + $42 = HEAP32[4215]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13159,7 +13163,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4140]|0; + $44 = HEAP32[4216]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13505,20 +13509,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4119]|0; + $3 = HEAP32[4195]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4118]|0; + $5 = HEAP32[4194]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4160] = $3; - HEAP32[4161] = $5; - HEAP32[4162] = 0; - HEAP32[4163] = 0; + HEAP32[4236] = $3; + HEAP32[4237] = $5; + HEAP32[4238] = 0; + HEAP32[4239] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13532,9 +13536,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4119]|0; + $35 = HEAP32[4195]|0; $36 = (+($35|0)); - $37 = HEAP32[4118]|0; + $37 = HEAP32[4194]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13542,26 +13546,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4160] = $45; - HEAP32[4161] = $37; + HEAP32[4236] = $45; + HEAP32[4237] = $37; $46 = (($45) - ($35))|0; - HEAP32[4162] = $46; + HEAP32[4238] = $46; $$sink1 = 0; } else { - HEAP32[4160] = $35; + HEAP32[4236] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4161] = $42; - HEAP32[4162] = 0; + HEAP32[4237] = $42; + HEAP32[4238] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4163] = $$sink1; + HEAP32[4239] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4118]|0; + $7 = HEAP32[4194]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13571,11 +13575,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8415,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4119]|0; + $9 = HEAP32[4195]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4118]|0; + $13 = HEAP32[4194]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13583,33 +13587,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4160] = $23; - HEAP32[4161] = $1; + HEAP32[4236] = $23; + HEAP32[4237] = $1; $24 = (($0) - ($23))|0; - HEAP32[4162] = $24; + HEAP32[4238] = $24; $$sink = 0; } else { - HEAP32[4160] = $0; - $17 = HEAP32[4118]|0; + HEAP32[4236] = $0; + $17 = HEAP32[4194]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4161] = $20; - HEAP32[4162] = 0; + HEAP32[4237] = $20; + HEAP32[4238] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4163] = $$sink; - $25 = HEAP32[4160]|0; + HEAP32[4239] = $$sink; + $25 = HEAP32[4236]|0; $26 = (+($25|0)); - $27 = HEAP32[4119]|0; + $27 = HEAP32[4195]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16564; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4160] = $0; - HEAP32[4161] = $1; + dest=16868; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4236] = $0; + HEAP32[4237] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13631,10 +13635,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4119] = $1; - HEAP32[4118] = $2; - HEAP32[4160] = $1; - HEAP32[4161] = $2; + HEAP32[4195] = $1; + HEAP32[4194] = $2; + HEAP32[4236] = $1; + HEAP32[4237] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13661,7 +13665,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19303 + ($1)|0); + $9 = (19607 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13682,7 +13686,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19297 + ($1)|0); + $7 = (19601 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13761,7 +13765,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16224; + $15 = 16528; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13796,7 +13800,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4533] = $3; + HEAP32[4609] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13806,7 +13810,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4532] = $$sink; + HEAP32[4608] = $$sink; return; } function _rlglInit($0,$1) { @@ -13887,18 +13891,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5165)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4198] = 1; + HEAP32[4274] = 1; $27 = (_eglGetProcAddress((5192|0))|0); - HEAP32[4199] = $27; + HEAP32[4275] = $27; $28 = (_eglGetProcAddress((5213|0))|0); - HEAP32[4200] = $28; + HEAP32[4276] = $28; $29 = (_eglGetProcAddress((5234|0))|0); - HEAP32[4201] = $29; + HEAP32[4277] = $29; } $30 = (_strcmp($24,5258)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4140] = 1; + HEAP32[4216] = 1; } $32 = (_strcmp($24,5278)|0); $33 = ($32|0)==(0); @@ -13920,7 +13924,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4135] = 1; + HEAP32[4211] = 1; } $39 = (_strcmp($24,5383)|0); $40 = ($39|0)==(0); @@ -13936,35 +13940,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4136] = 1; + HEAP32[4212] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5452)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4137] = 1; + HEAP32[4213] = 1; } $47 = (_strcmp($44,5477)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4138] = 1; + HEAP32[4214] = 1; } $49 = (_strcmp($44,5510)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4139] = 1; + HEAP32[4215] = 1; } $51 = (_strcmp($44,5546)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4202] = 1; - _glGetFloatv(34047,(16812|0)); + HEAP32[4278] = 1; + _glGetFloatv(34047,(17116|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5580)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4204] = 1; + HEAP32[4280] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -13975,61 +13979,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4198]|0; + $21 = HEAP32[4274]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5683,$vararg_buffer15); } else { _TraceLog(0,5608,$vararg_buffer13); } - $57 = HEAP32[4140]|0; + $57 = HEAP32[4216]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5819,$vararg_buffer19); } else { _TraceLog(0,5744,$vararg_buffer17); } - $59 = HEAP32[4135]|0; + $59 = HEAP32[4211]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,5911,$vararg_buffer21); } - $61 = HEAP32[4136]|0; + $61 = HEAP32[4212]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,5957,$vararg_buffer23); } - $63 = HEAP32[4137]|0; + $63 = HEAP32[4213]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6004,$vararg_buffer25); } - $65 = HEAP32[4138]|0; + $65 = HEAP32[4214]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6055,$vararg_buffer27); } - $67 = HEAP32[4139]|0; + $67 = HEAP32[4215]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6102,$vararg_buffer29); } - $69 = HEAP32[4202]|0; + $69 = HEAP32[4278]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4203]; + $71 = +HEAPF32[4279]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6149,$vararg_buffer31); } - $73 = HEAP32[4204]|0; + $73 = HEAP32[4280]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6215,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4205] = $75; + HEAP32[4281] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6319,$vararg_buffer39); @@ -14038,14 +14042,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6268,$vararg_buffer36); } _LoadDefaultShader($2); - dest=16824; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16880; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17128; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17184; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4234] = $77; + HEAP32[4310] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4234]|0; + $79 = HEAP32[4310]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14058,7 +14062,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4235] = $78; + HEAP32[4311] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14073,48 +14077,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4236] = 1; - $85 = HEAP32[4205]|0; + HEAP32[4312] = 1; + $85 = HEAP32[4281]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4237] = 4; + HEAP32[4313] = 4; _MatrixIdentity($4); - dest=16952; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17256; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17016); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17320); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17384); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17448); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17208); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17512); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17272); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17576); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17336); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17640); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17400); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17704); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17464); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17768); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17528); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17832); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17592); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17896); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17656); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17960); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17720); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18024); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17784); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18088); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17848); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18152); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17912); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18216); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16660; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16964; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=16724; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4164] = 16724; + dest=17028; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4240] = 17028; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14125,21 +14129,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4494] = $0; - HEAP32[4495] = $1; + HEAP32[4570] = $0; + HEAP32[4571] = $1; _TraceLog(0,6358,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4162]|0; + $0 = HEAP32[4238]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4163]|0; + $2 = HEAP32[4239]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4160]|0; + $4 = HEAP32[4236]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4161]|0; + $6 = HEAP32[4237]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14150,12 +14154,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16660; + $modelview$sink = 16964; label = 3; break; } case 5888: { - $modelview$sink = 16724; + $modelview$sink = 17028; label = 3; break; } @@ -14163,9 +14167,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4164] = $modelview$sink; + HEAP32[4240] = $modelview$sink; } - HEAP32[4197] = $0; + HEAP32[4273] = $0; return; } function _rlLoadIdentity() { @@ -14173,7 +14177,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4164]|0; + $1 = HEAP32[4240]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14194,7 +14198,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4164]|0; + $8 = HEAP32[4240]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14291,15 +14295,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(17996)>>2] = $0; + HEAP32[(18300)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18004)>>2] = $1; - HEAP32[(18000)>>2] = 0; - HEAP32[(18008)>>2] = 0; + HEAP32[(18308)>>2] = $1; + HEAP32[(18304)>>2] = 0; + HEAP32[(18312)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18004)>>2]|0; + $2 = HEAP32[(18308)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14310,19 +14314,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4496] = 0; - HEAP32[(17992)>>2] = 0; - HEAP32[(17988)>>2] = 0; + HEAP32[4572] = 0; + HEAP32[(18296)>>2] = 0; + HEAP32[(18292)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18044)>>2] = $5; + HEAP32[(18348)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18052)>>2] = $6; - HEAP32[(18048)>>2] = 0; - HEAP32[(18056)>>2] = 0; + HEAP32[(18356)>>2] = $6; + HEAP32[(18352)>>2] = 0; + HEAP32[(18360)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18052)>>2]|0; + $7 = HEAP32[(18356)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14333,24 +14337,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4508] = 0; - HEAP32[(18040)>>2] = 0; - HEAP32[(18036)>>2] = 0; + HEAP32[4584] = 0; + HEAP32[(18344)>>2] = 0; + HEAP32[(18340)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18092)>>2] = $10; + HEAP32[(18396)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18096)>>2] = $11; + HEAP32[(18400)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18100)>>2] = $12; + HEAP32[(18404)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18104)>>2] = $13; - $14 = HEAP32[(18092)>>2]|0; + HEAP32[(18408)>>2] = $13; + $14 = HEAP32[(18396)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18096)>>2]|0; + $15 = HEAP32[(18400)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18100)>>2]|0; + $17 = HEAP32[(18404)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14361,7 +14365,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18104)>>2]|0; + $16 = HEAP32[(18408)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14398,140 +14402,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4520] = 0; - HEAP32[(18084)>>2] = 0; - HEAP32[(18088)>>2] = 0; + HEAP32[4596] = 0; + HEAP32[(18388)>>2] = 0; + HEAP32[(18392)>>2] = 0; _TraceLog(0,6405,$vararg_buffer); - $20 = HEAP32[4198]|0; + $20 = HEAP32[4274]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18012)); - $44 = HEAP32[4200]|0; - $45 = HEAP32[(18012)>>2]|0; + $43 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18316)); + $44 = HEAP32[4276]|0; + $45 = HEAP32[(18316)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18016)|0)); - $46 = HEAP32[(18016)>>2]|0; + _glGenBuffers(2,((18320)|0)); + $46 = HEAP32[(18320)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(17996)>>2]|0; + $47 = HEAP32[(18300)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(16884)>>2]|0; + $48 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(16884)>>2]|0; + $49 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18020)|0)); - $50 = HEAP32[(18020)>>2]|0; + _glGenBuffers(2,((18324)|0)); + $50 = HEAP32[(18324)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18004)>>2]|0; + $51 = HEAP32[(18308)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(16904)>>2]|0; + $52 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(16904)>>2]|0; + $53 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4198]|0; + $54 = HEAP32[4274]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18016)>>2]|0; - $58 = HEAP32[(18020)>>2]|0; + $57 = HEAP32[(18320)>>2]|0; + $58 = HEAP32[(18324)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6543,$vararg_buffer3); } else { - $56 = HEAP32[(18012)>>2]|0; + $56 = HEAP32[(18316)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6478,$vararg_buffer1); } - $59 = HEAP32[4198]|0; + $59 = HEAP32[4274]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18060)); - $62 = HEAP32[4200]|0; - $63 = HEAP32[(18060)>>2]|0; + $61 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18364)); + $62 = HEAP32[4276]|0; + $63 = HEAP32[(18364)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18064)|0)); - $64 = HEAP32[(18064)>>2]|0; + _glGenBuffers(1,((18368)|0)); + $64 = HEAP32[(18368)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18044)>>2]|0; + $65 = HEAP32[(18348)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(16884)>>2]|0; + $66 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(16884)>>2]|0; + $67 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18068)|0)); - $68 = HEAP32[(18068)>>2]|0; + _glGenBuffers(1,((18372)|0)); + $68 = HEAP32[(18372)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18052)>>2]|0; + $69 = HEAP32[(18356)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(16904)>>2]|0; + $70 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(16904)>>2]|0; + $71 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4198]|0; + $72 = HEAP32[4274]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18064)>>2]|0; - $76 = HEAP32[(18068)>>2]|0; + $75 = HEAP32[(18368)>>2]|0; + $76 = HEAP32[(18372)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6689,$vararg_buffer10); } else { - $74 = HEAP32[(18060)>>2]|0; + $74 = HEAP32[(18364)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6620,$vararg_buffer7); } - $77 = HEAP32[4198]|0; + $77 = HEAP32[4274]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18108)); - $80 = HEAP32[4200]|0; - $81 = HEAP32[(18108)>>2]|0; + $79 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18412)); + $80 = HEAP32[4276]|0; + $81 = HEAP32[(18412)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18112)|0)); - $82 = HEAP32[(18112)>>2]|0; + _glGenBuffers(1,((18416)|0)); + $82 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18092)>>2]|0; + $83 = HEAP32[(18396)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(16884)>>2]|0; + $84 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(16884)>>2]|0; + $85 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18116)|0)); - $86 = HEAP32[(18116)>>2]|0; + _glGenBuffers(1,((18420)|0)); + $86 = HEAP32[(18420)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18096)>>2]|0; + $87 = HEAP32[(18400)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(16888)>>2]|0; + $88 = HEAP32[(17192)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(16888)>>2]|0; + $89 = HEAP32[(17192)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18120)|0)); - $90 = HEAP32[(18120)>>2]|0; + _glGenBuffers(1,((18424)|0)); + $90 = HEAP32[(18424)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18100)>>2]|0; + $91 = HEAP32[(18404)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(16904)>>2]|0; + $92 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(16904)>>2]|0; + $93 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18124)|0)); - $94 = HEAP32[(18124)>>2]|0; + _glGenBuffers(1,((18428)|0)); + $94 = HEAP32[(18428)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18104)>>2]|0; + $95 = HEAP32[(18408)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4198]|0; + $96 = HEAP32[4274]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18112)>>2]|0; - $100 = HEAP32[(18116)>>2]|0; - $101 = HEAP32[(18120)>>2]|0; - $102 = HEAP32[(18124)>>2]|0; + $99 = HEAP32[(18416)>>2]|0; + $100 = HEAP32[(18420)>>2]|0; + $101 = HEAP32[(18424)>>2]|0; + $102 = HEAP32[(18428)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14541,16 +14545,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6835,$vararg_buffer17); } else { - $98 = HEAP32[(18108)>>2]|0; + $98 = HEAP32[(18412)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6770,$vararg_buffer14); } - $103 = HEAP32[4198]|0; + $103 = HEAP32[4274]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4200]|0; + $105 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14731,9 +14735,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19297 + ($0)|0); + $1 = (19601 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19300 + ($0)|0); + $3 = (19604 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14745,9 +14749,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19297 + ($0)|0); + $1 = (19601 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19300 + ($0)|0); + $3 = (19604 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14768,7 +14772,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4117]|0; + $0 = HEAP32[4193]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8679,$vararg_buffer); @@ -14779,9 +14783,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16508>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16508+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16508+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16508+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16508+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16812>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16812+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16812+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16812+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16812+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16536)>>2]|0; + $0 = HEAP32[(16840)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14792,11 +14796,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(16820|0)); - $0 = HEAP32[4205]|0; + _glDeleteTextures(1,(17124|0)); + $0 = HEAP32[4281]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8706,$vararg_buffer); - $1 = HEAP32[4235]|0; + $1 = HEAP32[4311]|0; _free($1); STACKTOP = sp;return; } @@ -14804,17 +14808,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4206]|0; + $0 = HEAP32[4282]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4198]|0; + $0 = HEAP32[4274]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4200]|0; + $2 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14823,39 +14827,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18016)|0)); - _glDeleteBuffers(1,((18020)|0)); - _glDeleteBuffers(1,((18064)|0)); - _glDeleteBuffers(1,((18068)|0)); - _glDeleteBuffers(1,((18112)|0)); - _glDeleteBuffers(1,((18116)|0)); - _glDeleteBuffers(1,((18120)|0)); - _glDeleteBuffers(1,((18124)|0)); - $3 = HEAP32[4198]|0; + _glDeleteBuffers(1,((18320)|0)); + _glDeleteBuffers(1,((18324)|0)); + _glDeleteBuffers(1,((18368)|0)); + _glDeleteBuffers(1,((18372)|0)); + _glDeleteBuffers(1,((18416)|0)); + _glDeleteBuffers(1,((18420)|0)); + _glDeleteBuffers(1,((18424)|0)); + _glDeleteBuffers(1,((18428)|0)); + $3 = HEAP32[4274]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4201]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18012)); - $6 = HEAP32[4201]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18060)); - $7 = HEAP32[4201]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18108)); - } - $8 = HEAP32[(17996)>>2]|0; + $5 = HEAP32[4277]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18316)); + $6 = HEAP32[4277]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18364)); + $7 = HEAP32[4277]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18412)); + } + $8 = HEAP32[(18300)>>2]|0; _free($8); - $9 = HEAP32[(18004)>>2]|0; + $9 = HEAP32[(18308)>>2]|0; _free($9); - $10 = HEAP32[(18044)>>2]|0; + $10 = HEAP32[(18348)>>2]|0; _free($10); - $11 = HEAP32[(18052)>>2]|0; + $11 = HEAP32[(18356)>>2]|0; _free($11); - $12 = HEAP32[(18092)>>2]|0; + $12 = HEAP32[(18396)>>2]|0; _free($12); - $13 = HEAP32[(18096)>>2]|0; + $13 = HEAP32[(18400)>>2]|0; _free($13); - $14 = HEAP32[(18100)>>2]|0; + $14 = HEAP32[(18404)>>2]|0; _free($14); - $15 = HEAP32[(18104)>>2]|0; + $15 = HEAP32[(18408)>>2]|0; _free($15); return; } @@ -14895,16 +14899,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2047] = $0; - $1 = +HEAPF64[2030]; + HEAPF64[2085] = $0; + $1 = +HEAPF64[2068]; $2 = $0 - $1; - HEAPF64[2048] = $2; - HEAPF64[2030] = $0; + HEAPF64[2086] = $2; + HEAPF64[2068] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16564; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=16868; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18136); + _rlMultMatrixf(18440); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14913,53 +14917,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4534] = $1; + HEAP32[4610] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18140)>>2] = $3; + HEAP32[(18444)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18144)>>2] = $5; + HEAP32[(18448)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18148)>>2] = $7; + HEAP32[(18452)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18152)>>2] = $9; + HEAP32[(18456)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18156)>>2] = $11; + HEAP32[(18460)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18160)>>2] = $13; + HEAP32[(18464)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18164)>>2] = $15; + HEAP32[(18468)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18168)>>2] = $17; + HEAP32[(18472)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18172)>>2] = $19; + HEAP32[(18476)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18176)>>2] = $21; + HEAP32[(18480)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18180)>>2] = $23; + HEAP32[(18484)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18184)>>2] = $25; + HEAP32[(18488)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18188)>>2] = $27; + HEAP32[(18492)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18192)>>2] = $29; + HEAP32[(18496)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18196)>>2] = $31; - return (18136|0); + HEAP32[(18500)>>2] = $31; + return (18440|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15034,7 +15038,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4164]|0; + $49 = HEAP32[4240]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15048,15 +15052,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2047] = $0; - $1 = +HEAPF64[2030]; + HEAPF64[2085] = $0; + $1 = +HEAPF64[2068]; $2 = $0 - $1; - HEAPF64[2049] = $2; - HEAPF64[2030] = $0; - $3 = +HEAPF64[2048]; + HEAPF64[2087] = $2; + HEAPF64[2068] = $0; + $3 = +HEAPF64[2086]; $4 = $2 + $3; - HEAPF64[2050] = $4; - $5 = +HEAPF64[2027]; + HEAPF64[2088] = $4; + $5 = +HEAPF64[2065]; $6 = $4 < $5; if (!($6)) { return; @@ -15066,13 +15070,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2047] = $10; - $11 = +HEAPF64[2030]; + HEAPF64[2085] = $10; + $11 = +HEAPF64[2068]; $12 = $10 - $11; - HEAPF64[2030] = $10; - $13 = +HEAPF64[2050]; + HEAPF64[2068] = $10; + $13 = +HEAPF64[2088]; $14 = $12 + $13; - HEAPF64[2050] = $14; + HEAPF64[2088] = $14; return; } function _rlglDraw() { @@ -15085,7 +15089,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4117]|0; + $0 = HEAP32[4193]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15101,20 +15105,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4550] = 0; - $3 = HEAP32[4117]|0; + HEAP32[4626] = 0; + $3 = HEAP32[4193]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4052] = $5; + HEAPF32[4128] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16212)>>2] = $7; - _memcpy((19815|0),(19303|0),512)|0; - ;HEAP8[19300>>0]=HEAP8[19297>>0]|0;HEAP8[19300+1>>0]=HEAP8[19297+1>>0]|0;HEAP8[19300+2>>0]=HEAP8[19297+2>>0]|0; - $8 = HEAP32[4533]|0; - HEAP32[4120] = $8; - HEAP32[4533] = 0; + HEAPF32[(16516)>>2] = $7; + _memcpy((20119|0),(19607|0),512)|0; + ;HEAP8[19604>>0]=HEAP8[19601>>0]|0;HEAP8[19604+1>>0]=HEAP8[19601+1>>0]|0;HEAP8[19604+2>>0]=HEAP8[19601+2>>0]|0; + $8 = HEAP32[4609]|0; + HEAP32[4196] = $8; + HEAP32[4609] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15124,8 +15128,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20327 + ($$05160<<5)|0); - $scevgep67 = (20455 + ($$05160<<5)|0); + $scevgep = (20631 + ($$05160<<5)|0); + $scevgep67 = (20759 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15139,7 +15143,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20455 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20759 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15166,7 +15170,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18204 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18508 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15182,7 +15186,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4550] = $$lcssa; + HEAP32[4626] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15223,87 +15227,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4496]|0; + $0 = HEAP32[4572]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4198]|0; + $2 = HEAP32[4274]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4200]|0; - $5 = HEAP32[(18012)>>2]|0; + $4 = HEAP32[4276]|0; + $5 = HEAP32[(18316)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18016)>>2]|0; + $6 = HEAP32[(18320)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4496]|0; + $7 = HEAP32[4572]|0; $8 = ($7*12)|0; - $9 = HEAP32[(17996)>>2]|0; + $9 = HEAP32[(18300)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18020)>>2]|0; + $10 = HEAP32[(18324)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(17992)>>2]|0; + $11 = HEAP32[(18296)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18004)>>2]|0; + $13 = HEAP32[(18308)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4508]|0; + $14 = HEAP32[4584]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4198]|0; + $16 = HEAP32[4274]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4200]|0; - $19 = HEAP32[(18060)>>2]|0; + $18 = HEAP32[4276]|0; + $19 = HEAP32[(18364)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18064)>>2]|0; + $20 = HEAP32[(18368)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4508]|0; + $21 = HEAP32[4584]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18044)>>2]|0; + $23 = HEAP32[(18348)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18068)>>2]|0; + $24 = HEAP32[(18372)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18040)>>2]|0; + $25 = HEAP32[(18344)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18052)>>2]|0; + $27 = HEAP32[(18356)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4520]|0; + $28 = HEAP32[4596]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4198]|0; + $30 = HEAP32[4274]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4200]|0; - $33 = HEAP32[(18108)>>2]|0; + $32 = HEAP32[4276]|0; + $33 = HEAP32[(18412)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18112)>>2]|0; + $34 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4520]|0; + $35 = HEAP32[4596]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18092)>>2]|0; + $37 = HEAP32[(18396)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18116)>>2]|0; + $38 = HEAP32[(18420)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4520]|0; + $39 = HEAP32[4596]|0; $40 = $39 << 3; - $41 = HEAP32[(18096)>>2]|0; + $41 = HEAP32[(18400)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18120)>>2]|0; + $42 = HEAP32[(18424)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4520]|0; + $43 = HEAP32[4596]|0; $44 = $43 << 2; - $45 = HEAP32[(18100)>>2]|0; + $45 = HEAP32[(18404)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4198]|0; + $46 = HEAP32[4274]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4200]|0; + $48 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15321,9 +15325,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16660; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=16724; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4583]|0; + dest=$0; src=16964; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4659]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15333,134 +15337,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4496]|0; + $8 = HEAP32[4572]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4508]|0; + $10 = HEAP32[4584]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4520]|0; + $12 = HEAP32[4596]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4220]|0; + $14 = HEAP32[4296]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16724; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16660; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17028; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=16964; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(16908)>>2]|0; + $15 = HEAP32[(17212)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(16912)>>2]|0; + $17 = HEAP32[(17216)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(16924)>>2]|0; + $18 = HEAP32[(17228)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4496]|0; + $19 = HEAP32[4572]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4205]|0; + $21 = HEAP32[4281]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4198]|0; + $22 = HEAP32[4274]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18016)>>2]|0; + $26 = HEAP32[(18320)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(16884)>>2]|0; + $27 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(16884)>>2]|0; + $28 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18020)>>2]|0; + $29 = HEAP32[(18324)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(16904)>>2]|0; + $30 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(16904)>>2]|0; + $31 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4200]|0; - $25 = HEAP32[(18012)>>2]|0; + $24 = HEAP32[4276]|0; + $25 = HEAP32[(18316)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4496]|0; + $32 = HEAP32[4572]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4198]|0; + $33 = HEAP32[4274]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4508]|0; + $35 = HEAP32[4584]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4205]|0; + $37 = HEAP32[4281]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4198]|0; + $38 = HEAP32[4274]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18064)>>2]|0; + $42 = HEAP32[(18368)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(16884)>>2]|0; + $43 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(16884)>>2]|0; + $44 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18068)>>2]|0; + $45 = HEAP32[(18372)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(16904)>>2]|0; + $46 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(16904)>>2]|0; + $47 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4200]|0; - $41 = HEAP32[(18060)>>2]|0; + $40 = HEAP32[4276]|0; + $41 = HEAP32[(18364)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4508]|0; + $48 = HEAP32[4584]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4198]|0; + $49 = HEAP32[4274]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4520]|0; + $51 = HEAP32[4596]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4198]|0; + $53 = HEAP32[4274]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18112)>>2]|0; + $57 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(16884)>>2]|0; + $58 = HEAP32[(17188)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(16884)>>2]|0; + $59 = HEAP32[(17188)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18116)>>2]|0; + $60 = HEAP32[(18420)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(16888)>>2]|0; + $61 = HEAP32[(17192)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(16888)>>2]|0; + $62 = HEAP32[(17192)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18120)>>2]|0; + $63 = HEAP32[(18424)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(16904)>>2]|0; + $64 = HEAP32[(17208)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(16904)>>2]|0; + $65 = HEAP32[(17208)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18124)>>2]|0; + $66 = HEAP32[(18428)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4200]|0; - $56 = HEAP32[(18108)>>2]|0; + $55 = HEAP32[4276]|0; + $56 = HEAP32[(18412)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4236]|0; + $67 = HEAP32[4312]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4235]|0; + $71 = HEAP32[4311]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15471,14 +15475,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4235]|0; + $80 = HEAP32[4311]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4236]|0; + $87 = HEAP32[4312]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15487,7 +15491,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4198]|0; + $69 = HEAP32[4274]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15495,10 +15499,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4198]|0; + $89 = HEAP32[4274]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4200]|0; + $91 = HEAP32[4276]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15510,22 +15514,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4236] = 1; - $5 = HEAP32[4205]|0; - $6 = HEAP32[4235]|0; + HEAP32[4312] = 1; + $5 = HEAP32[4281]|0; + $6 = HEAP32[4311]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4496] = 0; - HEAP32[(17992)>>2] = 0; - HEAP32[4508] = 0; - HEAP32[(18040)>>2] = 0; - HEAP32[4520] = 0; - HEAP32[(18084)>>2] = 0; - HEAP32[(18088)>>2] = 0; + HEAP32[4572] = 0; + HEAP32[(18296)>>2] = 0; + HEAP32[4584] = 0; + HEAP32[(18344)>>2] = 0; + HEAP32[4596] = 0; + HEAP32[(18388)>>2] = 0; + HEAP32[(18392)>>2] = 0; HEAPF32[744] = -1.0; - dest=16660; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16724; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16964; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17028; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15540,17 +15544,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4494]|0; + $5 = HEAP32[4570]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4495]|0; + $9 = HEAP32[4571]|0; _rlViewport($7,0,$8,$9); - $10 = (18564 + ($0<<6)|0); + $10 = (18868 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18436 + ($0<<6)|0); + $11 = (18740 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15562,14 +15566,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16724; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17028; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16660; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16964; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15577,43 +15581,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4673]|0; + $0 = HEAP32[4749]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8821,$vararg_buffer); } - $2 = HEAP32[4673]|0; - $3 = (16952 + ($2<<6)|0); - $4 = HEAP32[4164]|0; + $2 = HEAP32[4749]|0; + $3 = (17256 + ($2<<6)|0); + $4 = HEAP32[4240]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4673]|0; + $5 = HEAP32[4749]|0; $6 = (($5) + 1)|0; - HEAP32[4673] = $6; - $7 = HEAP32[4197]|0; + HEAP32[4749] = $6; + $7 = HEAP32[4273]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4674] = 1; + HEAP32[4750] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4673]|0; + $0 = HEAP32[4749]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4673]|0; + $2 = HEAP32[4749]|0; $3 = (($2) + -1)|0; - $4 = (16952 + ($3<<6)|0); - $5 = HEAP32[4164]|0; + $4 = (17256 + ($3<<6)|0); + $5 = HEAP32[4240]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4673] = $6; + HEAP32[4749] = $6; return; } function _IsFileExtension($0,$1) { @@ -15646,7 +15650,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4164]|0; + $5 = HEAP32[4240]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15679,7 +15683,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4164]|0; + $11 = HEAP32[4240]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15690,7 +15694,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4237] = $0; + HEAP32[4313] = $0; return; } function _rlEnd() { @@ -15706,21 +15710,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4674]|0; + $0 = HEAP32[4750]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4675]|0; + $2 = HEAP32[4751]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4234]|0; + $6 = HEAP32[4310]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4164]|0; + $8 = HEAP32[4240]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4675]|0; + $5 = HEAP32[4751]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15728,12 +15732,12 @@ function _rlEnd() { break; } } - HEAP32[4674] = 0; + HEAP32[4750] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4234]|0; + $11 = HEAP32[4310]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15742,7 +15746,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4675]|0; + $19 = HEAP32[4751]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15752,15 +15756,15 @@ function _rlEnd() { } } } else { - HEAP32[4674] = 0; + HEAP32[4750] = 0; } - HEAP32[4675] = 0; + HEAP32[4751] = 0; } - $21 = HEAP32[4237]|0; + $21 = HEAP32[4313]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4496]|0; - $23 = HEAP32[(17992)>>2]|0; + $22 = HEAP32[4572]|0; + $23 = HEAP32[(18296)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15779,16 +15783,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18004)>>2]|0; - $28 = HEAP32[(17992)>>2]|0; + $27 = HEAP32[(18308)>>2]|0; + $28 = HEAP32[(18296)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18004)>>2]|0; - $35 = HEAP32[(17992)>>2]|0; + $34 = HEAP32[(18308)>>2]|0; + $35 = HEAP32[(18296)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15796,8 +15800,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18004)>>2]|0; - $43 = HEAP32[(17992)>>2]|0; + $42 = HEAP32[(18308)>>2]|0; + $43 = HEAP32[(18296)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15805,8 +15809,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18004)>>2]|0; - $51 = HEAP32[(17992)>>2]|0; + $50 = HEAP32[(18308)>>2]|0; + $51 = HEAP32[(18296)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15814,9 +15818,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(17992)>>2]|0; + $58 = HEAP32[(18296)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(17992)>>2] = $59; + HEAP32[(18296)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15832,8 +15836,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4508]|0; - $62 = HEAP32[(18040)>>2]|0; + $61 = HEAP32[4584]|0; + $62 = HEAP32[(18344)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15852,16 +15856,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18052)>>2]|0; - $67 = HEAP32[(18040)>>2]|0; + $66 = HEAP32[(18356)>>2]|0; + $67 = HEAP32[(18344)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18052)>>2]|0; - $74 = HEAP32[(18040)>>2]|0; + $73 = HEAP32[(18356)>>2]|0; + $74 = HEAP32[(18344)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15869,8 +15873,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18052)>>2]|0; - $82 = HEAP32[(18040)>>2]|0; + $81 = HEAP32[(18356)>>2]|0; + $82 = HEAP32[(18344)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15878,8 +15882,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18052)>>2]|0; - $90 = HEAP32[(18040)>>2]|0; + $89 = HEAP32[(18356)>>2]|0; + $90 = HEAP32[(18344)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15887,9 +15891,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18040)>>2]|0; + $97 = HEAP32[(18344)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18040)>>2] = $98; + HEAP32[(18344)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15905,8 +15909,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4520]|0; - $101 = HEAP32[(18088)>>2]|0; + $100 = HEAP32[4596]|0; + $101 = HEAP32[(18392)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15914,16 +15918,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18100)>>2]|0; - $106 = HEAP32[(18088)>>2]|0; + $105 = HEAP32[(18404)>>2]|0; + $106 = HEAP32[(18392)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18100)>>2]|0; - $113 = HEAP32[(18088)>>2]|0; + $112 = HEAP32[(18404)>>2]|0; + $113 = HEAP32[(18392)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15931,8 +15935,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18100)>>2]|0; - $121 = HEAP32[(18088)>>2]|0; + $120 = HEAP32[(18404)>>2]|0; + $121 = HEAP32[(18392)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15940,8 +15944,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18100)>>2]|0; - $129 = HEAP32[(18088)>>2]|0; + $128 = HEAP32[(18404)>>2]|0; + $129 = HEAP32[(18392)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15949,9 +15953,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18088)>>2]|0; + $136 = HEAP32[(18392)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18088)>>2] = $137; + HEAP32[(18392)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15962,8 +15966,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4520]|0; - $140 = HEAP32[(18084)>>2]|0; + $139 = HEAP32[4596]|0; + $140 = HEAP32[(18388)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -15971,8 +15975,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18096)>>2]|0; - $$promoted = HEAP32[(18084)>>2]|0; + $142 = HEAP32[(18400)>>2]|0; + $$promoted = HEAP32[(18388)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -15980,7 +15984,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18084)>>2] = $147; + HEAP32[(18388)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16007,11 +16011,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4674]|0; + $3 = HEAP32[4750]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4234]|0; - $6 = HEAP32[4675]|0; + $5 = HEAP32[4310]|0; + $6 = HEAP32[4751]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16019,16 +16023,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4675] = $10; + HEAP32[4751] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4237]|0; + $11 = HEAP32[4313]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4496]|0; + $12 = HEAP32[4572]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(17996)>>2]|0; + $14 = HEAP32[(18300)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16039,7 +16043,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4496] = $21; + HEAP32[4572] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8859,$vararg_buffer); @@ -16048,10 +16052,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4508]|0; + $22 = HEAP32[4584]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18044)>>2]|0; + $24 = HEAP32[(18348)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16062,7 +16066,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4508] = $31; + HEAP32[4584] = $31; STACKTOP = sp;return; } else { _TraceLog(1,8884,$vararg_buffer1); @@ -16071,10 +16075,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4520]|0; + $32 = HEAP32[4596]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18092)>>2]|0; + $34 = HEAP32[(18396)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16085,9 +16089,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4520] = $41; - $42 = HEAP32[4235]|0; - $43 = HEAP32[4236]|0; + HEAP32[4596] = $41; + $42 = HEAP32[4311]|0; + $43 = HEAP32[4312]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16119,13 +16123,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4237]|0; + $2 = HEAP32[4313]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18096)>>2]|0; - $5 = HEAP32[(18084)>>2]|0; + $4 = HEAP32[(18400)>>2]|0; + $5 = HEAP32[(18388)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16133,7 +16137,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18084)>>2] = $10; + HEAP32[(18388)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16152,18 +16156,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4237]|0; + $4 = HEAP32[4313]|0; switch ($4|0) { case 1: { - $$sink37 = (17992);$$sink38 = (18004); + $$sink37 = (18296);$$sink38 = (18308); break; } case 4: { - $$sink37 = (18040);$$sink38 = (18052); + $$sink37 = (18344);$$sink38 = (18356); break; } case 7: { - $$sink37 = (18088);$$sink38 = (18100); + $$sink37 = (18392);$$sink38 = (18404); break; } default: { @@ -16202,8 +16206,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4235]|0; - $2 = HEAP32[4236]|0; + $1 = HEAP32[4311]|0; + $2 = HEAP32[4312]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16216,9 +16220,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4236] = $10; + HEAP32[4312] = $10; } - $11 = HEAP32[4236]|0; + $11 = HEAP32[4312]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16229,7 +16233,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4520]|0; + $0 = HEAP32[4596]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16237,40 +16241,11 @@ function _rlDisableTexture() { _rlglDraw(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(8938); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10271)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4676] = $0; + HEAP32[4752] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16334,7 +16309,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((8950|0),(8976|0),1125,(8999|0)); + ___assert_fail((8938|0),(8964|0),1041,(8987|0)); // unreachable; } } @@ -16352,7 +16327,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4677]|0; + $15 = HEAP32[4753]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16445,7 +16420,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9040); + _stbi__err(9028); $$0 = 0; return ($$0|0); } else { @@ -16467,7 +16442,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9031); + _stbi__err(9019); $$0 = 0; return ($$0|0); } @@ -16537,7 +16512,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9059); + _stbi__err(9047); $$045 = 0; return ($$045|0); } @@ -17098,7 +17073,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9375 + ($120)|0); + $121 = (9363 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17140,97 +17115,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9149); + _stbi__err(9137); $$6$ph = 0; break; } case 9: { - _stbi__err(9163); + _stbi__err(9151); $$6$ph = 0; break; } case 11: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 13: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 15: { - _stbi__err(9186); + _stbi__err(9174); $$6$ph = 0; break; } case 17: { - _stbi__err(9206); + _stbi__err(9194); $$6$ph = 0; break; } case 20: { - _stbi__err(9206); + _stbi__err(9194); $$6$ph = 0; break; } case 22: { - _stbi__err(9206); + _stbi__err(9194); $$6$ph = 0; break; } case 24: { - _stbi__err(9216); + _stbi__err(9204); $$6$ph = 0; break; } case 26: { - _stbi__err(9232); + _stbi__err(9220); $$6$ph = 0; break; } case 28: { - _stbi__err(9250); + _stbi__err(9238); $$6$ph = 0; break; } case 31: { - _stbi__err(9271); + _stbi__err(9259); $$6$ph = 0; break; } case 34: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 37: { - _stbi__err(9176); + _stbi__err(9164); $$6$ph = 0; break; } case 39: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 41: { - _stbi__err(9300); + _stbi__err(9288); $$6$ph = 0; break; } case 44: { - _stbi__err(9300); + _stbi__err(9288); $$6$ph = 0; break; } case 47: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 49: { - _stbi__err(9313); + _stbi__err(9301); $$6$ph = 0; break; } @@ -17241,32 +17216,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 58: { - _stbi__err(9346); + _stbi__err(9334); $$6$ph = 0; break; } case 61: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 63: { - _stbi__err(9346); + _stbi__err(9334); $$6$ph = 0; break; } case 70: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 72: { - _stbi__err(9384); + _stbi__err(9372); $$6$ph = 0; break; } @@ -17278,12 +17253,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9031); + _stbi__err(9019); $$6$ph = 0; break; } case 83: { - _stbi__err(9392); + _stbi__err(9380); $$6$ph = 0; break; } @@ -17296,7 +17271,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9402); + _stbi__err(9390); $$4 = 0; break; } @@ -17361,7 +17336,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4678]|0; + $193 = HEAP32[4754]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17394,7 +17369,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9285); + _stbi__err(9273); $$4 = 0; } } while(0); @@ -17402,24 +17377,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9285); + _stbi__err(9273); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9410] = $206; + HEAP8[9398] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9411)>>0] = $209; + HEAP8[(9399)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9412)>>0] = $211; + HEAP8[(9400)>>0] = $211; $212 = $207&255; - HEAP8[(9413)>>0] = $212; - _stbi__err(9410); + HEAP8[(9401)>>0] = $212; + _stbi__err(9398); $$6$ph = 0; break; } @@ -17453,14 +17428,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9072|0),(8976|0),1561,(9128|0)); + ___assert_fail((9060|0),(8964|0),1477,(9116|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9031); + _stbi__err(9019); $$0163 = 0; return ($$0163|0); } @@ -17823,7 +17798,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9126|0),(8976|0),1590,(9128|0)); + ___assert_fail((9114|0),(8964|0),1506,(9116|0)); // unreachable; } } while(0); @@ -17857,7 +17832,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9072|0),(8976|0),1610,(9103|0)); + ___assert_fail((9060|0),(8964|0),1526,(9091|0)); // unreachable; } $7 = $2 << 1; @@ -17867,7 +17842,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9031); + _stbi__err(9019); $$0163 = 0; return ($$0163|0); } @@ -18230,7 +18205,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9126|0),(8976|0),1639,(9103|0)); + ___assert_fail((9114|0),(8964|0),1555,(9091|0)); // unreachable; } } while(0); @@ -18378,7 +18353,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10067); + _stbi__err(10375); $$05 = 0; return ($$05|0); } @@ -18815,7 +18790,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9469|0),(8976|0),4568,(9521|0)); + ___assert_fail((9457|0),(8964|0),4569,(9509|0)); // unreachable; } } @@ -18902,7 +18877,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9469|0),(8976|0),4543,(9494|0)); + ___assert_fail((9457|0),(8964|0),4544,(9482|0)); // unreachable; } } @@ -18949,7 +18924,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4679]|0; + $16 = HEAP32[4755]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19024,7 +18999,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9435|0),(8976|0),4649,(9453|0)); + ___assert_fail((9423|0),(8964|0),4650,(9441|0)); // unreachable; } } @@ -19047,7 +19022,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9031); + _stbi__err(9019); $$0 = 0; return ($$0|0); } @@ -19224,7 +19199,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9550|0),(8976|0),4294,(9591|0)); + ___assert_fail((9538|0),(8964|0),4294,(9579|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19232,7 +19207,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9031); + _stbi__err(9019); $$2 = 0; return ($$2|0); } @@ -19251,7 +19226,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9618); + _stbi__err(9606); $$2 = 0; return ($$2|0); } @@ -19264,7 +19239,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9618); + _stbi__err(9606); $$2 = 0; return ($$2|0); } @@ -19272,12 +19247,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19300,33 +19275,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9657 + ($56)|0); + $60 = (9645 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19336,24 +19311,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19363,10 +19338,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19377,10 +19352,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19391,14 +19366,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19428,7 +19403,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19443,12 +19418,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20025,15 +20000,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9636|0),(8976|0),4315,(9591|0)); + ___assert_fail((9624|0),(8964|0),4315,(9579|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9662|0),(8976|0),4376,(9591|0)); + ___assert_fail((9650|0),(8964|0),4377,(9579|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9679); + _stbi__err(9667); $$2 = 0; return ($$2|0); } @@ -20083,7 +20058,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9375 + ($6)|0); + $336 = (9363 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20524,7 +20499,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9694|0),(8976|0),4465,(9591|0)); + ___assert_fail((9682|0),(8964|0),4466,(9579|0)); // unreachable; } else if ((label|0) == 151) { @@ -20584,8 +20559,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20600,15 +20575,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20617,65 +20592,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20614)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9693,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20615,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20583,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,9981,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20694,14 +20664,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10020); + _stbi__err(10328); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10036); + _stbi__err(10344); $$0 = 0; return ($$0|0); } @@ -20710,7 +20680,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10051); + _stbi__err(10359); $$0 = 0; return ($$0|0); } @@ -20793,7 +20763,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((9942|0),(8976|0),4048,(9959|0)); + ___assert_fail((10250|0),(8964|0),4033,(10267|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20830,7 +20800,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(9990); + _stbi__err(10298); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20840,7 +20810,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10003); + _stbi__err(10311); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20870,21 +20840,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20615|0),8,144)|0; - dest=(20759); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(20871); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (20895); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20583; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21018,7 +20973,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(9880); + _stbi__err(10188); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21107,7 +21062,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(9932); + _stbi__err(10240); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21136,7 +21091,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10726 + ($$06579)|0); + $14 = (11034 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21227,21 +21182,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((9896|0),(8976|0),4021,(9904|0)); + ___assert_fail((10204|0),(8964|0),4006,(10212|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21251,7 +21206,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(9880); + _stbi__err(10188); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21415,7 +21370,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9705); + _stbi__err(10013); $$3$ph = 0; return ($$3$ph|0); } @@ -21425,12 +21380,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9705); + _stbi__err(10013); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9722); + _stbi__err(10030); $$3$ph = 0; return ($$3$ph|0); } @@ -21487,7 +21442,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9731); + _stbi__err(10039); $$0 = 0; return ($$0|0); } @@ -21513,7 +21468,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9031); + _stbi__err(9019); $$0 = 0; return ($$0|0); } else { @@ -21558,7 +21513,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9827|0),(8976|0),3863,(9864|0)); + ___assert_fail((10135|0),(8964|0),3848,(10172|0)); // unreachable; } else if ((label|0) == 5) { @@ -21606,7 +21561,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9751|0),(8976|0),3891,(9767|0)); + ___assert_fail((10059|0),(8964|0),3876,(10075|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21634,7 +21589,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9798|0),(8976|0),3781,(9809|0)); + ___assert_fail((10106|0),(8964|0),3766,(10117|0)); // unreachable; } return (0)|0; @@ -21780,10 +21735,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21794,27 +21749,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10079)|0); + $6 = (_IsFileExtension($1,10387)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10132)|0); + $19 = (_IsFileExtension($1,10440)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10137,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10445,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10579)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21842,7 +21798,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21859,18 +21815,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10085,$vararg_buffer); + _TraceLog(2,10393,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21879,34 +21835,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10173,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10212,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10481,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10520,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -21925,11 +21888,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10271)|0); + $4 = (_fopen($0,10579)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10274,$vararg_buffer); + _TraceLog(2,10582,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22028,7 +21991,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10371,$vararg_buffer4); + _TraceLog(0,10679,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22063,14 +22026,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10417,$vararg_buffer8); + _TraceLog(2,10725,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10325,$vararg_buffer1); + _TraceLog(2,10633,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22160,7 +22123,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10243,$vararg_buffer); + _TraceLog(2,10551,$vararg_buffer); $$0 = $6; } } @@ -22205,27 +22168,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10467,$vararg_buffer); + _TraceLog(2,10775,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10506,$vararg_buffer1); + _TraceLog(2,10814,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10532,$vararg_buffer3); + _TraceLog(2,10840,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10595,$vararg_buffer5); + _TraceLog(2,10903,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10630,$vararg_buffer7); + _TraceLog(2,10938,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10665,$vararg_buffer10); + _TraceLog(0,10973,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23408,7 +23371,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10722 + ($$361133)|0); + $199 = (11030 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23838,7 +23801,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10722 + ($$331130)|0); + $186 = (11030 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23876,7 +23839,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10722 + ($$371134)|0); + $203 = (11030 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -23915,7 +23878,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10726 + ($$421139)|0); + $235 = (11034 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24322,7 +24285,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10745 + ($495)|0); + $496 = (11053 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24359,7 +24322,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10749 + ($515)|0); + $516 = (11057 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25260,7 +25223,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16508>>2]|0;HEAP32[$0+4>>2]=HEAP32[16508+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16508+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16508+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16508+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16508+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16508+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16508+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[16812>>2]|0;HEAP32[$0+4>>2]=HEAP32[16812+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16812+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16812+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16812+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16812+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16812+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16812+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -25766,7 +25729,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10753)|0); + $12 = (_strstr($11,11061)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -25775,7 +25738,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10757)|0); + $17 = (_strstr($16,11065)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -25784,7 +25747,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10761)|0); + $22 = (_strstr($21,11069)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -25793,7 +25756,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10765)|0); + $27 = (_strstr($26,11073)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -25802,1210 +25765,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10771)|0); + $32 = (_strcmp($31,11079)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10809)|0); + $35 = (_strcmp($34,11117)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10828; + HEAP32[$3>>2] = 11136; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,10841)|0); + $38 = (_strcmp($37,11149)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 10862; + HEAP32[$3>>2] = 11170; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,10877)|0); + $41 = (_strcmp($40,11185)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 10892; + HEAP32[$3>>2] = 11200; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,10907)|0); + $44 = (_strcmp($43,11215)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 10922; + HEAP32[$3>>2] = 11230; } } else { - HEAP32[$3>>2] = 10793; + HEAP32[$3>>2] = 11101; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,10937)|0); + $47 = (_strcmp($46,11245)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,10951)|0); + $50 = (_strcmp($49,11259)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,10963)|0); + $53 = (_strcmp($52,11271)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,10977)|0); + $56 = (_strcmp($55,11285)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,10989)|0); + $59 = (_strcmp($58,11297)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11003)|0); + $62 = (_strcmp($61,11311)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11017)|0); + $65 = (_strcmp($64,11325)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11034)|0); + $68 = (_strcmp($67,11342)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11057)|0); + $71 = (_strcmp($70,11365)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11083)|0); + $74 = (_strcmp($73,11391)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11096)|0); + $77 = (_strcmp($76,11404)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11112)|0); + $80 = (_strcmp($79,11420)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11125)|0); + $83 = (_strcmp($82,11433)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11139)|0); + $86 = (_strcmp($85,11447)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11159)|0); + $89 = (_strcmp($88,11467)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11179)|0); + $92 = (_strcmp($91,11487)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11196)|0); + $95 = (_strcmp($94,11504)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11213)|0); + $98 = (_strcmp($97,11521)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11225)|0); + $101 = (_strcmp($100,11533)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11238)|0); + $104 = (_strcmp($103,11546)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11254)|0); + $107 = (_strcmp($106,11562)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11277)|0); + $110 = (_strcmp($109,11585)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11290)|0); + $113 = (_strcmp($112,11598)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11306)|0); + $116 = (_strcmp($115,11614)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11317)|0); + $119 = (_strcmp($118,11625)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11336)|0); + $122 = (_strcmp($121,11644)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11358)|0); + $125 = (_strcmp($124,11666)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11377)|0); + $128 = (_strcmp($127,11685)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11406)|0); + $131 = (_strcmp($130,11714)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11423)|0); + $134 = (_strcmp($133,11731)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11438)|0); + $137 = (_strcmp($136,11746)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11453)|0); + $140 = (_strcmp($139,11761)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11474)|0); + $143 = (_strcmp($142,11782)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11494)|0); + $146 = (_strcmp($145,11802)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11514)|0); + $149 = (_strcmp($148,11822)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11540)|0); + $152 = (_strcmp($151,11848)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11559)|0); + $155 = (_strcmp($154,11867)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11571)|0); + $158 = (_strcmp($157,11879)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11583)|0); + $161 = (_strcmp($160,11891)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11595)|0); + $164 = (_strcmp($163,11903)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11607)|0); + $167 = (_strcmp($166,11915)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11619)|0); + $170 = (_strcmp($169,11927)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11631)|0); + $173 = (_strcmp($172,11939)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11643)|0); + $176 = (_strcmp($175,11951)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11655)|0); + $179 = (_strcmp($178,11963)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11668)|0); + $182 = (_strcmp($181,11976)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11681)|0); + $185 = (_strcmp($184,11989)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11694)|0); + $188 = (_strcmp($187,12002)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11707)|0); + $191 = (_strcmp($190,12015)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11720)|0); + $194 = (_strcmp($193,12028)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11733)|0); + $197 = (_strcmp($196,12041)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11746)|0); + $200 = (_strcmp($199,12054)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11759)|0); + $203 = (_strcmp($202,12067)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11778)|0); + $206 = (_strcmp($205,12086)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11797)|0); + $209 = (_strcmp($208,12105)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11816)|0); + $212 = (_strcmp($211,12124)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11829)|0); + $215 = (_strcmp($214,12137)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,11847)|0); + $218 = (_strcmp($217,12155)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,11865)|0); + $221 = (_strcmp($220,12173)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,11883)|0); + $224 = (_strcmp($223,12191)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,11901)|0); + $227 = (_strcmp($226,12209)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,11921)|0); + $230 = (_strcmp($229,12229)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,10862)|0); + $233 = (_strcmp($232,11170)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,11939)|0); + $236 = (_strcmp($235,12247)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,11954)|0); + $239 = (_strcmp($238,12262)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,11975)|0); + $242 = (_strcmp($241,12283)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,11990)|0); + $245 = (_strcmp($244,12298)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12008)|0); + $248 = (_strcmp($247,12316)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12024)|0); + $251 = (_strcmp($250,12332)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12043)|0); + $254 = (_strcmp($253,12351)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12057)|0); + $257 = (_strcmp($256,12365)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12072)|0); + $260 = (_strcmp($259,12380)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10793)|0); + $263 = (_strcmp($262,11101)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12083)|0); + $266 = (_strcmp($265,12391)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,10892)|0); + $269 = (_strcmp($268,11200)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,10922)|0); + $272 = (_strcmp($271,11230)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12099)|0); + $275 = (_strcmp($274,12407)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12126)|0); + $278 = (_strcmp($277,12434)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12140)|0); + $281 = (_strcmp($280,12448)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10828)|0); + $284 = (_strcmp($283,11136)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12160)|0); + $287 = (_strcmp($286,12468)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12178)|0); + $290 = (_strcmp($289,12486)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12190)|0); + $293 = (_strcmp($292,12498)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12211)|0); + $296 = (_strcmp($295,12519)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12229)|0); + $299 = (_strcmp($298,12537)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12247)|0); + $302 = (_strcmp($301,12555)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12268)|0); + $305 = (_strcmp($304,12576)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12294)|0); + $308 = (_strcmp($307,12602)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12317)|0); + $311 = (_strcmp($310,12625)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12355)|0); + $314 = (_strcmp($313,12663)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12371)|0); + $317 = (_strcmp($316,12679)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12386)|0); + $320 = (_strcmp($319,12694)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12409)|0); + $323 = (_strcmp($322,12717)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12422)|0); + $326 = (_strcmp($325,12730)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12436)|0); + $329 = (_strcmp($328,12744)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12450)|0); + $332 = (_strcmp($331,12758)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12470)|0); + $335 = (_strcmp($334,12778)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12490)|0); + $338 = (_strcmp($337,12798)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12506)|0); + $341 = (_strcmp($340,12814)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12524)|0); + $344 = (_strcmp($343,12832)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12540)|0); + $347 = (_strcmp($346,12848)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12555)|0); + $350 = (_strcmp($349,12863)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12577)|0); + $353 = (_strcmp($352,12885)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12595)|0); + $356 = (_strcmp($355,12903)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12616)|0); + $359 = (_strcmp($358,12924)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12634)|0); + $362 = (_strcmp($361,12942)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12647)|0); + $365 = (_strcmp($364,12955)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12662)|0); + $368 = (_strcmp($367,12970)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12676)|0); + $371 = (_strcmp($370,12984)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12686)|0); + $374 = (_strcmp($373,12994)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12696)|0); + $377 = (_strcmp($376,13004)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12718)|0); + $380 = (_strcmp($379,13026)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12744)|0); + $383 = (_strcmp($382,13052)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12771)|0); + $386 = (_strcmp($385,13079)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12784)|0); + $389 = (_strcmp($388,13092)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12799)|0); + $392 = (_strcmp($391,13107)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12814)|0); + $395 = (_strcmp($394,13122)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,12838)|0); + $398 = (_strcmp($397,13146)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,12849)|0); + $401 = (_strcmp($400,13157)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,12871)|0); + $404 = (_strcmp($403,13179)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,12893)|0); + $407 = (_strcmp($406,13201)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,12917)|0); + $410 = (_strcmp($409,13225)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,12926)|0); + $413 = (_strcmp($412,13234)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,12934)|0); + $416 = (_strcmp($415,13242)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,12947)|0); + $419 = (_strcmp($418,13255)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,12961)|0); + $422 = (_strcmp($421,13269)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,12973)|0); + $425 = (_strcmp($424,13281)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,12982)|0); + $428 = (_strcmp($427,13290)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,12992)|0); + $431 = (_strcmp($430,13300)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13004)|0); + $434 = (_strcmp($433,13312)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13015)|0); + $437 = (_strcmp($436,13323)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13023)|0); + $440 = (_strcmp($439,13331)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13035)|0); + $443 = (_strcmp($442,13343)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13050)|0); + $446 = (_strcmp($445,13358)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13062)|0); + $449 = (_strcmp($448,13370)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13076)|0); + $452 = (_strcmp($451,13384)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13101)|0); + $455 = (_strcmp($454,13409)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13118)|0); + $458 = (_strcmp($457,13426)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13134)|0); + $461 = (_strcmp($460,13442)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13150)|0); + $464 = (_strcmp($463,13458)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13162)|0); + $467 = (_strcmp($466,13470)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13174)|0); + $470 = (_strcmp($469,13482)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13198)|0); + $473 = (_strcmp($472,13506)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13211)|0); + $476 = (_strcmp($475,13519)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13225)|0); + $479 = (_strcmp($478,13533)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13247)|0); + $482 = (_strcmp($481,13555)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13254)|0); + $485 = (_strcmp($484,13562)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13270)|0); + $488 = (_strcmp($487,13578)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13287)|0); + $491 = (_strcmp($490,13595)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13304)|0); + $494 = (_strcmp($493,13612)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13320)|0); + $497 = (_strcmp($496,13628)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13336)|0); + $500 = (_strcmp($499,13644)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13353)|0); + $503 = (_strcmp($502,13661)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13367)|0); + $506 = (_strcmp($505,13675)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13379)|0); + $509 = (_strcmp($508,13687)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13390)|0); + $512 = (_strcmp($511,13698)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13403)|0); + $515 = (_strcmp($514,13711)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13413)|0); + $518 = (_strcmp($517,13721)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13430)|0); + $521 = (_strcmp($520,13738)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13442)|0); + $524 = (_strcmp($523,13750)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13464)|0); + $527 = (_strcmp($526,13772)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13484)|0); + $530 = (_strcmp($529,13792)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13497)|0); + $533 = (_strcmp($532,13805)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13519)|0); + $536 = (_strcmp($535,13827)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13539)|0); + $539 = (_strcmp($538,13847)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13556)|0); + $542 = (_strcmp($541,13864)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13573)|0); + $545 = (_strcmp($544,13881)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13593)|0); + $548 = (_strcmp($547,13901)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -27027,7 +26990,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18720|0); + return (19024|0); } function ___stdio_close($0) { $0 = $0|0; @@ -27891,7 +27854,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13709 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14017 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -28069,7 +28032,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14173;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14481;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -28090,7 +28053,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14173;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14481;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -28098,8 +28061,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14173 : (14175); - $$$ = $238 ? $$ : (14174); + $$ = $240 ? 14481 : (14483); + $$$ = $238 ? $$ : (14482); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -28116,7 +28079,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14173;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14481;$242 = $167;$243 = $170; label = 66; break; } @@ -28129,7 +28092,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14173;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14481;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -28143,7 +28106,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14183; + $271 = $270 ? $269 : 14491; $$1 = $271; label = 71; break; @@ -28183,7 +28146,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14173;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14481;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28205,8 +28168,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14173 + ($208)|0); - $$289 = $or$cond283 ? 14173 : $209; + $209 = (14481 + ($208)|0); + $$289 = $or$cond283 ? 14481 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28227,7 +28190,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14173;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14481;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -28757,7 +28720,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14225 + ($7)|0); + $9 = (14533 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -29115,14 +29078,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14190; + $$0471 = $14;$$0520 = 1;$$0521 = 14498; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14191) : (14196); - $$$ = $16 ? $$ : (14193); + $$ = $18 ? (14499) : (14504); + $$$ = $16 ? $$ : (14501); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29221,7 +29184,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14225 + ($80)|0); + $81 = (14533 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -29832,7 +29795,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14241,1); + _out($0,14549,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -29913,7 +29876,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14241,1); + _out($0,14549,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -29970,9 +29933,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14209 : 14213; + $29 = $28 ? 14517 : 14521; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14217 : 14221; + $31 = $28 ? 14525 : 14529; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30182,7 +30145,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14243 + ($$016)|0); + $3 = (14551 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30193,7 +30156,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14331;$$115 = 87; + $$01214 = 14639;$$115 = 87; label = 5; break; } else { @@ -30203,9 +30166,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14331; + $$012$lcssa = 14639; } else { - $$01214 = 14331;$$115 = $$016; + $$01214 = 14639;$$115 = $$016; label = 5; } } @@ -30868,7 +30831,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16135,$3,4)|0); + $memchr = (_memchr(16443,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -30957,7 +30920,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16135,$4,4)|0); + $memchr = (_memchr(16443,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -31048,7 +31011,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18724)>>2]|0; + $38 = HEAP32[(19028)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -31081,13 +31044,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((18784|0)); - return (18792|0); + ___lock((19088|0)); + return (19096|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((18784|0)); + ___unlock((19088|0)); return; } function _fclose($0) { @@ -32151,7 +32114,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16408; + $2 = 16712; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32368,7 +32331,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4699]|0; + $3 = HEAP32[4775]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32387,22 +32350,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4699] = 0; + HEAP32[4775] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4699] = $10; + HEAP32[4775] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4699] = 0; + HEAP32[4775] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4699] = $13; + HEAP32[4775] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32483,7 +32446,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4700]|0; + $8 = HEAP32[4776]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32492,7 +32455,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (18840 + ($15<<2)|0); + $16 = (19144 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32503,9 +32466,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4700] = $24; + HEAP32[4776] = $24; } else { - $25 = HEAP32[(18816)>>2]|0; + $25 = HEAP32[(19120)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32536,7 +32499,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(18808)>>2]|0; + $37 = HEAP32[(19112)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32570,7 +32533,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (18840 + ($68<<2)|0); + $69 = (19144 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32581,10 +32544,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4700] = $77; + HEAP32[4776] = $77; $98 = $77; } else { - $78 = HEAP32[(18816)>>2]|0; + $78 = HEAP32[(19120)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32617,22 +32580,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(18820)>>2]|0; + $92 = HEAP32[(19124)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (18840 + ($94<<2)|0); + $95 = (19144 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4700] = $100; + HEAP32[4776] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(18816)>>2]|0; + $103 = HEAP32[(19120)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32649,12 +32612,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(18808)>>2] = $84; - HEAP32[(18820)>>2] = $87; + HEAP32[(19112)>>2] = $84; + HEAP32[(19124)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(18804)>>2]|0; + $108 = HEAP32[(19108)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32682,7 +32645,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19104 + ($132<<2)|0); + $133 = (19408 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -32722,7 +32685,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(18816)>>2]|0; + $155 = HEAP32[(19120)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -32817,7 +32780,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19104 + ($188<<2)|0); + $189 = (19408 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -32828,11 +32791,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(18804)>>2] = $194; + HEAP32[(19108)>>2] = $194; break L73; } } else { - $195 = HEAP32[(18816)>>2]|0; + $195 = HEAP32[(19120)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -32853,7 +32816,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(18816)>>2]|0; + $201 = HEAP32[(19120)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -32883,7 +32846,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(18816)>>2]|0; + $213 = HEAP32[(19120)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -32920,22 +32883,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(18820)>>2]|0; + $231 = HEAP32[(19124)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (18840 + ($233<<2)|0); + $234 = (19144 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4700] = $238; + HEAP32[4776] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(18816)>>2]|0; + $241 = HEAP32[(19120)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -32952,8 +32915,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(18808)>>2] = $$0193$lcssa$i; - HEAP32[(18820)>>2] = $157; + HEAP32[(19112)>>2] = $$0193$lcssa$i; + HEAP32[(19124)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -32969,7 +32932,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(18804)>>2]|0; + $250 = HEAP32[(19108)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -33009,7 +32972,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19104 + ($$0358$i<<2)|0); + $278 = (19408 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -33101,7 +33064,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19104 + ($330<<2)|0); + $331 = (19408 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -33145,11 +33108,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(18808)>>2]|0; + $345 = HEAP32[(19112)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(18816)>>2]|0; + $348 = HEAP32[(19120)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33246,7 +33209,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19104 + ($381<<2)|0); + $382 = (19408 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33257,12 +33220,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(18804)>>2] = $387; + HEAP32[(19108)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(18816)>>2]|0; + $388 = HEAP32[(19120)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33284,7 +33247,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(18816)>>2]|0; + $394 = HEAP32[(19120)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33316,7 +33279,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(18816)>>2]|0; + $406 = HEAP32[(19120)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33357,20 +33320,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (18840 + ($425<<2)|0); - $427 = HEAP32[4700]|0; + $426 = (19144 + ($425<<2)|0); + $427 = HEAP32[4776]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4700] = $431; + HEAP32[4776] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(18816)>>2]|0; + $434 = HEAP32[(19120)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33422,7 +33385,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19104 + ($$0361$i<<2)|0); + $464 = (19408 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33434,7 +33397,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(18804)>>2] = $472; + HEAP32[(19108)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33473,7 +33436,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(18816)>>2]|0; + $491 = HEAP32[(19120)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33492,7 +33455,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(18816)>>2]|0; + $498 = HEAP32[(19120)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33525,16 +33488,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(18808)>>2]|0; + $506 = HEAP32[(19112)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(18820)>>2]|0; + $509 = HEAP32[(19124)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(18820)>>2] = $511; - HEAP32[(18808)>>2] = $508; + HEAP32[(19124)>>2] = $511; + HEAP32[(19112)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33544,8 +33507,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(18808)>>2] = 0; - HEAP32[(18820)>>2] = 0; + HEAP32[(19112)>>2] = 0; + HEAP32[(19124)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33559,14 +33522,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(18812)>>2]|0; + $524 = HEAP32[(19116)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(18812)>>2] = $526; - $527 = HEAP32[(18824)>>2]|0; + HEAP32[(19116)>>2] = $526; + $527 = HEAP32[(19128)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(18824)>>2] = $528; + HEAP32[(19128)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33577,23 +33540,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4818]|0; + $534 = HEAP32[4894]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19280)>>2] = 4096; - HEAP32[(19276)>>2] = 4096; - HEAP32[(19284)>>2] = -1; - HEAP32[(19288)>>2] = -1; - HEAP32[(19292)>>2] = 0; - HEAP32[(19244)>>2] = 0; + HEAP32[(19584)>>2] = 4096; + HEAP32[(19580)>>2] = 4096; + HEAP32[(19588)>>2] = -1; + HEAP32[(19592)>>2] = -1; + HEAP32[(19596)>>2] = 0; + HEAP32[(19548)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4818] = $538; + HEAP32[4894] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19280)>>2]|0; + $$pre$i212 = HEAP32[(19584)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33606,10 +33569,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19240)>>2]|0; + $546 = HEAP32[(19544)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19232)>>2]|0; + $548 = HEAP32[(19536)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33619,18 +33582,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19244)>>2]|0; + $552 = HEAP32[(19548)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(18824)>>2]|0; + $555 = HEAP32[(19128)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19248); + $$0$i$i = (19552); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33688,7 +33651,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19276)>>2]|0; + $569 = HEAP32[(19580)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -33698,13 +33661,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19232)>>2]|0; + $578 = HEAP32[(19536)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19240)>>2]|0; + $582 = HEAP32[(19544)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -33750,7 +33713,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19280)>>2]|0; + $601 = HEAP32[(19584)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -33775,9 +33738,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19244)>>2]|0; + $611 = HEAP32[(19548)>>2]|0; $612 = $611 | 4; - HEAP32[(19244)>>2] = $612; + HEAP32[(19548)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -33813,35 +33776,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19232)>>2]|0; + $626 = HEAP32[(19536)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19232)>>2] = $627; - $628 = HEAP32[(19236)>>2]|0; + HEAP32[(19536)>>2] = $627; + $628 = HEAP32[(19540)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19236)>>2] = $627; + HEAP32[(19540)>>2] = $627; } - $630 = HEAP32[(18824)>>2]|0; + $630 = HEAP32[(19128)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(18816)>>2]|0; + $632 = HEAP32[(19120)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(18816)>>2] = $$749$i; - } - HEAP32[(19248)>>2] = $$749$i; - HEAP32[(19252)>>2] = $$723948$i; - HEAP32[(19260)>>2] = 0; - $635 = HEAP32[4818]|0; - HEAP32[(18836)>>2] = $635; - HEAP32[(18832)>>2] = -1; + HEAP32[(19120)>>2] = $$749$i; + } + HEAP32[(19552)>>2] = $$749$i; + HEAP32[(19556)>>2] = $$723948$i; + HEAP32[(19564)>>2] = 0; + $635 = HEAP32[4894]|0; + HEAP32[(19140)>>2] = $635; + HEAP32[(19136)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (18840 + ($636<<2)|0); + $637 = (19144 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -33864,18 +33827,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(18824)>>2] = $649; - HEAP32[(18812)>>2] = $650; + HEAP32[(19128)>>2] = $649; + HEAP32[(19116)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19288)>>2]|0; - HEAP32[(18828)>>2] = $655; + $655 = HEAP32[(19592)>>2]|0; + HEAP32[(19132)>>2] = $655; } else { - $$024371$i = (19248); + $$024371$i = (19552); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -33907,7 +33870,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(18812)>>2]|0; + $671 = HEAP32[(19116)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -33918,30 +33881,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(18824)>>2] = $679; - HEAP32[(18812)>>2] = $681; + HEAP32[(19128)>>2] = $679; + HEAP32[(19116)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19288)>>2]|0; - HEAP32[(18828)>>2] = $686; + $686 = HEAP32[(19592)>>2]|0; + HEAP32[(19132)>>2] = $686; break; } } } - $687 = HEAP32[(18816)>>2]|0; + $687 = HEAP32[(19120)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(18816)>>2] = $$749$i; + HEAP32[(19120)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19248); + $$124470$i = (19552); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -33996,21 +33959,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(18812)>>2]|0; + $726 = HEAP32[(19116)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(18812)>>2] = $727; - HEAP32[(18824)>>2] = $721; + HEAP32[(19116)>>2] = $727; + HEAP32[(19128)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(18820)>>2]|0; + $730 = HEAP32[(19124)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(18808)>>2]|0; + $732 = HEAP32[(19112)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(18808)>>2] = $733; - HEAP32[(18820)>>2] = $721; + HEAP32[(19112)>>2] = $733; + HEAP32[(19124)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -34033,7 +33996,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (18840 + ($748<<2)|0); + $749 = (19144 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -34056,9 +34019,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4700]|0; + $759 = HEAP32[4776]|0; $760 = $759 & $758; - HEAP32[4700] = $760; + HEAP32[4776] = $760; break; } $761 = ($747|0)==($749|0); @@ -34171,7 +34134,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19104 + ($796<<2)|0); + $797 = (19408 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34183,12 +34146,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(18804)>>2]|0; + $802 = HEAP32[(19108)>>2]|0; $803 = $802 & $801; - HEAP32[(18804)>>2] = $803; + HEAP32[(19108)>>2] = $803; break L314; } else { - $804 = HEAP32[(18816)>>2]|0; + $804 = HEAP32[(19120)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34209,7 +34172,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(18816)>>2]|0; + $810 = HEAP32[(19120)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34241,7 +34204,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(18816)>>2]|0; + $822 = HEAP32[(19120)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34274,21 +34237,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (18840 + ($836<<2)|0); - $838 = HEAP32[4700]|0; + $837 = (19144 + ($836<<2)|0); + $838 = HEAP32[4776]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4700] = $842; + HEAP32[4776] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(18816)>>2]|0; + $845 = HEAP32[(19120)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34343,20 +34306,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19104 + ($$0296$i$i<<2)|0); + $875 = (19408 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(18804)>>2]|0; + $879 = HEAP32[(19108)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(18804)>>2] = $883; + HEAP32[(19108)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34395,7 +34358,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(18816)>>2]|0; + $902 = HEAP32[(19120)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34414,7 +34377,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(18816)>>2]|0; + $909 = HEAP32[(19120)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34441,7 +34404,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19248); + $$0$i$i$i = (19552); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34482,23 +34445,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(18824)>>2] = $946; - HEAP32[(18812)>>2] = $947; + HEAP32[(19128)>>2] = $946; + HEAP32[(19116)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19288)>>2]|0; - HEAP32[(18828)>>2] = $952; + $952 = HEAP32[(19592)>>2]|0; + HEAP32[(19132)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19248)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19248)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19248)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19248)+12>>2]|0; - HEAP32[(19248)>>2] = $$749$i; - HEAP32[(19252)>>2] = $$723948$i; - HEAP32[(19260)>>2] = 0; - HEAP32[(19256)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19552)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19552)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19552)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19552)+12>>2]|0; + HEAP32[(19552)>>2] = $$749$i; + HEAP32[(19556)>>2] = $$723948$i; + HEAP32[(19564)>>2] = 0; + HEAP32[(19560)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34527,20 +34490,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (18840 + ($968<<2)|0); - $970 = HEAP32[4700]|0; + $969 = (19144 + ($968<<2)|0); + $970 = HEAP32[4776]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4700] = $974; + HEAP32[4776] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(18816)>>2]|0; + $977 = HEAP32[(19120)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34592,19 +34555,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19104 + ($$0212$i$i<<2)|0); + $1007 = (19408 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(18804)>>2]|0; + $1010 = HEAP32[(19108)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(18804)>>2] = $1014; + HEAP32[(19108)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34643,7 +34606,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(18816)>>2]|0; + $1033 = HEAP32[(19120)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34662,7 +34625,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(18816)>>2]|0; + $1040 = HEAP32[(19120)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34685,14 +34648,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(18812)>>2]|0; + $1048 = HEAP32[(19116)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(18812)>>2] = $1050; - $1051 = HEAP32[(18824)>>2]|0; + HEAP32[(19116)>>2] = $1050; + $1051 = HEAP32[(19128)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(18824)>>2] = $1052; + HEAP32[(19128)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -34735,7 +34698,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(18816)>>2]|0; + $3 = HEAP32[(19120)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -34768,7 +34731,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(18820)>>2]|0; + $19 = HEAP32[(19124)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -34783,7 +34746,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(18808)>>2] = $17; + HEAP32[(19112)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -34797,7 +34760,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (18840 + ($27<<2)|0); + $28 = (19144 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -34817,9 +34780,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4700]|0; + $37 = HEAP32[4776]|0; $38 = $37 & $36; - HEAP32[4700] = $38; + HEAP32[4776] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -34933,7 +34896,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19104 + ($74<<2)|0); + $75 = (19408 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -34943,14 +34906,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(18804)>>2]|0; + $80 = HEAP32[(19108)>>2]|0; $81 = $80 & $79; - HEAP32[(18804)>>2] = $81; + HEAP32[(19108)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(18816)>>2]|0; + $82 = HEAP32[(19120)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -34972,7 +34935,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(18816)>>2]|0; + $88 = HEAP32[(19120)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -35004,7 +34967,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(18816)>>2]|0; + $100 = HEAP32[(19120)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -35039,14 +35002,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(18824)>>2]|0; + $120 = HEAP32[(19128)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(18820)>>2]|0; + $122 = HEAP32[(19124)>>2]|0; if ($121) { - $123 = HEAP32[(18812)>>2]|0; + $123 = HEAP32[(19116)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(18812)>>2] = $124; - HEAP32[(18824)>>2] = $$1; + HEAP32[(19116)>>2] = $124; + HEAP32[(19128)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -35054,16 +35017,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(18820)>>2] = 0; - HEAP32[(18808)>>2] = 0; + HEAP32[(19124)>>2] = 0; + HEAP32[(19112)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(18808)>>2]|0; + $129 = HEAP32[(19112)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(18808)>>2] = $130; - HEAP32[(18820)>>2] = $113; + HEAP32[(19112)>>2] = $130; + HEAP32[(19124)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -35082,10 +35045,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (18840 + ($142<<2)|0); + $143 = (19144 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(18816)>>2]|0; + $145 = HEAP32[(19120)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -35103,9 +35066,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4700]|0; + $153 = HEAP32[4776]|0; $154 = $153 & $152; - HEAP32[4700] = $154; + HEAP32[4776] = $154; break; } $155 = ($141|0)==($143|0); @@ -35113,7 +35076,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(18816)>>2]|0; + $156 = HEAP32[(19120)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35173,7 +35136,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(18816)>>2]|0; + $189 = HEAP32[(19120)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35186,7 +35149,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(18816)>>2]|0; + $169 = HEAP32[(19120)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35217,7 +35180,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19104 + ($193<<2)|0); + $194 = (19408 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35227,13 +35190,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(18804)>>2]|0; + $199 = HEAP32[(19108)>>2]|0; $200 = $199 & $198; - HEAP32[(18804)>>2] = $200; + HEAP32[(19108)>>2] = $200; break L108; } } else { - $201 = HEAP32[(18816)>>2]|0; + $201 = HEAP32[(19120)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35254,7 +35217,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(18816)>>2]|0; + $207 = HEAP32[(19120)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35284,7 +35247,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(18816)>>2]|0; + $219 = HEAP32[(19120)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35305,10 +35268,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(18820)>>2]|0; + $226 = HEAP32[(19124)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(18808)>>2] = $135; + HEAP32[(19112)>>2] = $135; return; } else { $$2 = $135; @@ -35327,20 +35290,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (18840 + ($234<<2)|0); - $236 = HEAP32[4700]|0; + $235 = (19144 + ($234<<2)|0); + $236 = HEAP32[4776]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4700] = $240; + HEAP32[4776] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(18816)>>2]|0; + $243 = HEAP32[(19120)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35392,21 +35355,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19104 + ($$0396<<2)|0); + $273 = (19408 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(18804)>>2]|0; + $277 = HEAP32[(19108)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(18804)>>2] = $281; + HEAP32[(19108)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35444,7 +35407,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(18816)>>2]|0; + $300 = HEAP32[(19120)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35463,7 +35426,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(18816)>>2]|0; + $307 = HEAP32[(19120)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35485,12 +35448,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(18832)>>2]|0; + $314 = HEAP32[(19136)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(18832)>>2] = $315; + HEAP32[(19136)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19256); + $$0212$in$i = (19560); } else { return; } @@ -35504,7 +35467,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(18832)>>2] = -1; + HEAP32[(19136)>>2] = -1; return; } function _realloc($0,$1) { @@ -35576,7 +35539,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(18816)>>2]|0; + $6 = HEAP32[(19120)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35606,7 +35569,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19280)>>2]|0; + $18 = HEAP32[(19584)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35642,10 +35605,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(18824)>>2]|0; + $34 = HEAP32[(19128)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(18812)>>2]|0; + $36 = HEAP32[(19116)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35661,15 +35624,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(18824)>>2] = $40; - HEAP32[(18812)>>2] = $39; + HEAP32[(19128)>>2] = $40; + HEAP32[(19116)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(18820)>>2]|0; + $46 = HEAP32[(19124)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(18808)>>2]|0; + $48 = HEAP32[(19112)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -35705,8 +35668,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(18808)>>2] = $storemerge1; - HEAP32[(18820)>>2] = $storemerge; + HEAP32[(19112)>>2] = $storemerge1; + HEAP32[(19124)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -35733,7 +35696,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (18840 + ($81<<2)|0); + $82 = (19144 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -35753,9 +35716,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4700]|0; + $91 = HEAP32[4776]|0; $92 = $91 & $90; - HEAP32[4700] = $92; + HEAP32[4776] = $92; break; } $93 = ($80|0)==($82|0); @@ -35864,7 +35827,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19104 + ($128<<2)|0); + $129 = (19408 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -35874,13 +35837,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(18804)>>2]|0; + $134 = HEAP32[(19108)>>2]|0; $135 = $134 & $133; - HEAP32[(18804)>>2] = $135; + HEAP32[(19108)>>2] = $135; break L49; } } else { - $136 = HEAP32[(18816)>>2]|0; + $136 = HEAP32[(19120)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -35901,7 +35864,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(18816)>>2]|0; + $142 = HEAP32[(19120)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -35931,7 +35894,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(18816)>>2]|0; + $154 = HEAP32[(19120)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -36016,13 +35979,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(18816)>>2]|0; + $13 = HEAP32[(19120)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(18820)>>2]|0; + $15 = HEAP32[(19124)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -36037,7 +36000,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(18808)>>2] = $12; + HEAP32[(19112)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -36051,7 +36014,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (18840 + ($23<<2)|0); + $24 = (19144 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -36071,9 +36034,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4700]|0; + $33 = HEAP32[4776]|0; $34 = $33 & $32; - HEAP32[4700] = $34; + HEAP32[4776] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36187,7 +36150,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19104 + ($70<<2)|0); + $71 = (19408 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36197,14 +36160,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(18804)>>2]|0; + $76 = HEAP32[(19108)>>2]|0; $77 = $76 & $75; - HEAP32[(18804)>>2] = $77; + HEAP32[(19108)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(18816)>>2]|0; + $78 = HEAP32[(19120)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36226,7 +36189,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(18816)>>2]|0; + $84 = HEAP32[(19120)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36258,7 +36221,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(18816)>>2]|0; + $96 = HEAP32[(19120)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36277,7 +36240,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(18816)>>2]|0; + $108 = HEAP32[(19120)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36288,14 +36251,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(18824)>>2]|0; + $114 = HEAP32[(19128)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(18820)>>2]|0; + $116 = HEAP32[(19124)>>2]|0; if ($115) { - $117 = HEAP32[(18812)>>2]|0; + $117 = HEAP32[(19116)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(18812)>>2] = $118; - HEAP32[(18824)>>2] = $$1; + HEAP32[(19116)>>2] = $118; + HEAP32[(19128)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36303,16 +36266,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(18820)>>2] = 0; - HEAP32[(18808)>>2] = 0; + HEAP32[(19124)>>2] = 0; + HEAP32[(19112)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(18808)>>2]|0; + $123 = HEAP32[(19112)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(18808)>>2] = $124; - HEAP32[(18820)>>2] = $$1; + HEAP32[(19112)>>2] = $124; + HEAP32[(19124)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36331,7 +36294,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (18840 + ($136<<2)|0); + $137 = (19144 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36351,9 +36314,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4700]|0; + $146 = HEAP32[4776]|0; $147 = $146 & $145; - HEAP32[4700] = $147; + HEAP32[4776] = $147; break; } $148 = ($135|0)==($137|0); @@ -36462,7 +36425,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19104 + ($183<<2)|0); + $184 = (19408 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36472,13 +36435,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(18804)>>2]|0; + $189 = HEAP32[(19108)>>2]|0; $190 = $189 & $188; - HEAP32[(18804)>>2] = $190; + HEAP32[(19108)>>2] = $190; break L96; } } else { - $191 = HEAP32[(18816)>>2]|0; + $191 = HEAP32[(19120)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36499,7 +36462,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(18816)>>2]|0; + $197 = HEAP32[(19120)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36529,7 +36492,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(18816)>>2]|0; + $209 = HEAP32[(19120)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36550,10 +36513,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(18820)>>2]|0; + $216 = HEAP32[(19124)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(18808)>>2] = $129; + HEAP32[(19112)>>2] = $129; return; } else { $$2 = $129; @@ -36572,20 +36535,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (18840 + ($224<<2)|0); - $226 = HEAP32[4700]|0; + $225 = (19144 + ($224<<2)|0); + $226 = HEAP32[4776]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4700] = $230; + HEAP32[4776] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(18816)>>2]|0; + $233 = HEAP32[(19120)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36637,20 +36600,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19104 + ($$0431<<2)|0); + $263 = (19408 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(18804)>>2]|0; + $267 = HEAP32[(19108)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(18804)>>2] = $271; + HEAP32[(19108)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36689,7 +36652,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(18816)>>2]|0; + $290 = HEAP32[(19120)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -36707,7 +36670,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(18816)>>2]|0; + $297 = HEAP32[(19120)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_image_loading.png b/docs/examples/web/textures/textures_image_loading.png new file mode 100644 index 00000000..410103a5 Binary files /dev/null and b/docs/examples/web/textures/textures_image_loading.png differ diff --git a/docs/examples/web/textures/textures_image_processing.js b/docs/examples/web/textures/textures_image_processing.js index 3fcda65f..482183f0 100644 --- a/docs/examples/web/textures/textures_image_processing.js +++ b/docs/examples/web/textures/textures_image_processing.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}], "remote_package_size": 295054, "package_uuid": "95855e0b-fa26-4e0f-92a9-d14dd0e171b3"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 295054, "filename": "/resources/parrots.png"}], "remote_package_size": 295054, "package_uuid": "7099e0f9-f6f1-4295-b5b2-bd4d5cd9e7f4"}); })(); @@ -1779,8 +1779,8 @@ STATICTOP = STATIC_BASE + 22256; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,17,16,0,0,31,16,0,0,47,16,0,0,58,16,0,0,71,16,0,0,86,16,0,0,103,16,0,0,117,16,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,235,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,112,114,111,99,101,115,115,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,73,77,65,71,69,32,80,82,79,67,69,83,83,73,78,71,58,0,78,79,32,80,82,79,67,69,83,83,73,78,71,0,67,79,76,79,82,32,71,82,65,89,83,67,65,76,69,0,67,79,76,79,82,32,84,73,78,84,0,67,79,76,79,82,32,73,78,86,69,82,84,0,67,79,76,79,82,32,67,79,78,84,82,65,83,84,0,67,79,76,79,82,32,66,82,73,71,72,84,78,69,83,83,0,70,76,73,80,32,86,69,82,84,73,67,65,76,0,70,76,73,80,32,72,79,82,73,90,79,78,84,65,76,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,117,112,100,97,116,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,17,16,0,0,31,16,0,0,47,16,0,0,58,16,0,0,71,16,0,0,86,16,0,0,103,16,0,0,117,16,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,227,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,105,109,97,103,101,32,112,114,111,99,101,115,115,105,110,103,0,114,101,115,111,117,114,99,101,115,47,112,97,114,114,111,116,115,46,112,110,103,0,73,77,65,71,69,32,80,82,79,67,69,83,83,73,78,71,58,0,78,79,32,80,82,79,67,69,83,83,73,78,71,0,67,79,76,79,82,32,71,82,65,89,83,67,65,76,69,0,67,79,76,79,82,32,84,73,78,84,0,67,79,76,79,82,32,73,78,86,69,82,84,0,67,79,76,79,82,32,67,79,78,84,82,65,83,84,0,67,79,76,79,82,32,66,82,73,71,72,84,78,69,83,83,0,70,76,73,80,32,86,69,82,84,73,67,65,76,0,70,76,73,80,32,72,79,82,73,90,79,78,84,65,76,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,117,112,100,97,116,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10478,47 +10478,47 @@ function _main() { $3 = HEAP32[3]|0; _InitWindow($2,$3,4028); _LoadImage($0,4073); - ;HEAP32[16584>>2]=HEAP32[$0>>2]|0;HEAP32[16584+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16584+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16584+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16584+16>>2]=HEAP32[$0+16>>2]|0; - _ImageFormat(16584,7); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[16584>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[16896>>2]=HEAP32[$0>>2]|0;HEAP32[16896+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16896+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16896+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16896+16>>2]=HEAP32[$0+16>>2]|0; + _ImageFormat(16896,7); + ;HEAP32[$image$byval_copy1>>2]=HEAP32[16896>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16896+16>>2]|0; _LoadTextureFromImage($1,$image$byval_copy1); - ;HEAP32[16604>>2]=HEAP32[$1>>2]|0;HEAP32[16604+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16604+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16604+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16604+16>>2]=HEAP32[$1+16>>2]|0; - HEAP32[4156] = 40; - HEAP32[(16628)>>2] = 50; - HEAP32[(16632)>>2] = 150; - HEAP32[(16636)>>2] = 30; - HEAP32[(16640)>>2] = 40; - HEAP32[(16644)>>2] = 82; - HEAP32[(16648)>>2] = 150; - HEAP32[(16652)>>2] = 30; - HEAP32[(16656)>>2] = 40; - HEAP32[(16660)>>2] = 114; - HEAP32[(16664)>>2] = 150; - HEAP32[(16668)>>2] = 30; - HEAP32[(16672)>>2] = 40; - HEAP32[(16676)>>2] = 146; - HEAP32[(16680)>>2] = 150; - HEAP32[(16684)>>2] = 30; - HEAP32[(16688)>>2] = 40; - HEAP32[(16692)>>2] = 178; - HEAP32[(16696)>>2] = 150; - HEAP32[(16700)>>2] = 30; - HEAP32[(16704)>>2] = 40; - HEAP32[(16708)>>2] = 210; - HEAP32[(16712)>>2] = 150; - HEAP32[(16716)>>2] = 30; - HEAP32[(16720)>>2] = 40; - HEAP32[(16724)>>2] = 242; - HEAP32[(16728)>>2] = 150; - HEAP32[(16732)>>2] = 30; - HEAP32[(16736)>>2] = 40; - HEAP32[(16740)>>2] = 274; - HEAP32[(16744)>>2] = 150; - HEAP32[(16748)>>2] = 30; + ;HEAP32[16916>>2]=HEAP32[$1>>2]|0;HEAP32[16916+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16916+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16916+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16916+16>>2]=HEAP32[$1+16>>2]|0; + HEAP32[4234] = 40; + HEAP32[(16940)>>2] = 50; + HEAP32[(16944)>>2] = 150; + HEAP32[(16948)>>2] = 30; + HEAP32[(16952)>>2] = 40; + HEAP32[(16956)>>2] = 82; + HEAP32[(16960)>>2] = 150; + HEAP32[(16964)>>2] = 30; + HEAP32[(16968)>>2] = 40; + HEAP32[(16972)>>2] = 114; + HEAP32[(16976)>>2] = 150; + HEAP32[(16980)>>2] = 30; + HEAP32[(16984)>>2] = 40; + HEAP32[(16988)>>2] = 146; + HEAP32[(16992)>>2] = 150; + HEAP32[(16996)>>2] = 30; + HEAP32[(17000)>>2] = 40; + HEAP32[(17004)>>2] = 178; + HEAP32[(17008)>>2] = 150; + HEAP32[(17012)>>2] = 30; + HEAP32[(17016)>>2] = 40; + HEAP32[(17020)>>2] = 210; + HEAP32[(17024)>>2] = 150; + HEAP32[(17028)>>2] = 30; + HEAP32[(17032)>>2] = 40; + HEAP32[(17036)>>2] = 242; + HEAP32[(17040)>>2] = 150; + HEAP32[(17044)>>2] = 30; + HEAP32[(17048)>>2] = 40; + HEAP32[(17052)>>2] = 274; + HEAP32[(17056)>>2] = 150; + HEAP32[(17060)>>2] = 30; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[16604>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16604+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16604+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16604+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16604+16>>2]|0; + ;HEAP32[$image$byval_copy1>>2]=HEAP32[16916>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16916+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16916+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16916+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16916+16>>2]|0; _UnloadTexture($image$byval_copy1); - ;HEAP32[$image$byval_copy1>>2]=HEAP32[16584>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[$image$byval_copy1>>2]=HEAP32[16896>>2]|0;HEAP32[$image$byval_copy1+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$image$byval_copy1+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$image$byval_copy1+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$image$byval_copy1+16>>2]=HEAP32[16896+16>>2]|0; _UnloadImage($image$byval_copy1); _CloseWindow(); STACKTOP = sp;return 0; @@ -10554,7 +10554,7 @@ function _UpdateDrawFrame() { $17 = (_IsKeyPressed(265)|0); $18 = ($17|0)==(0); if ($18) { - $$pr = HEAP32[4145]|0; + $$pr = HEAP32[4223]|0; $22 = ($$pr|0)==(0); if ($22) { break; @@ -10563,9 +10563,9 @@ function _UpdateDrawFrame() { break; } } else { - $19 = HEAP32[4144]|0; + $19 = HEAP32[4222]|0; $20 = (($19) + -1)|0; - HEAP32[4144] = $20; + HEAP32[4222] = $20; $21 = ($19|0)<(1); $$1 = $21 ? 7 : $20; $$1$sink = $$1; @@ -10573,9 +10573,9 @@ function _UpdateDrawFrame() { break; } } else { - $14 = HEAP32[4144]|0; + $14 = HEAP32[4222]|0; $15 = (($14) + 1)|0; - HEAP32[4144] = $15; + HEAP32[4222] = $15; $16 = ($14|0)>(6); $$ = $16 ? 0 : $15; $$1$sink = $$; @@ -10583,19 +10583,19 @@ function _UpdateDrawFrame() { } } while(0); if ((label|0) == 5) { - HEAP32[4144] = $$1$sink; - HEAP32[4145] = 1; + HEAP32[4222] = $$1$sink; + HEAP32[4223] = 1; label = 7; } if ((label|0) == 7) { - ;HEAP32[$$byval_copy13>>2]=HEAP32[16584>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[16896>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16896+16>>2]|0; _UnloadImage($$byval_copy13); _LoadImage($0,4073); - ;HEAP32[16584>>2]=HEAP32[$0>>2]|0;HEAP32[16584+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16584+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16584+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16584+16>>2]=HEAP32[$0+16>>2]|0; - $23 = HEAP32[4144]|0; + ;HEAP32[16896>>2]=HEAP32[$0>>2]|0;HEAP32[16896+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16896+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16896+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16896+16>>2]=HEAP32[$0+16>>2]|0; + $23 = HEAP32[4222]|0; switch ($23|0) { case 1: { - _ImageColorGrayscale(16584); + _ImageColorGrayscale(16896); break; } case 2: { @@ -10607,38 +10607,38 @@ function _UpdateDrawFrame() { $26 = ((($1)) + 3|0); HEAP8[$26>>0] = -1; ;HEAP8[$$byval_copy13>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$1+3>>0]|0; - _ImageColorTint(16584,$$byval_copy13); + _ImageColorTint(16896,$$byval_copy13); break; } case 3: { - _ImageColorInvert(16584); + _ImageColorInvert(16896); break; } case 4: { - _ImageColorContrast(16584,-40.0); + _ImageColorContrast(16896,-40.0); break; } case 5: { - _ImageColorBrightness(16584,-80); + _ImageColorBrightness(16896,-80); break; } case 6: { - _ImageFlipVertical(16584); + _ImageFlipVertical(16896); break; } case 7: { - _ImageFlipHorizontal(16584); + _ImageFlipHorizontal(16896); break; } default: { } } - ;HEAP32[$$byval_copy13>>2]=HEAP32[16584>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16584+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16584+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16584+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16584+16>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[16896>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16896+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16896+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16896+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16896+16>>2]|0; $27 = (_GetImageData($$byval_copy13)|0); - ;HEAP32[$$byval_copy13>>2]=HEAP32[16604>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16604+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16604+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16604+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16604+16>>2]|0; + ;HEAP32[$$byval_copy13>>2]=HEAP32[16916>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[16916+4>>2]|0;HEAP32[$$byval_copy13+8>>2]=HEAP32[16916+8>>2]|0;HEAP32[$$byval_copy13+12>>2]=HEAP32[16916+12>>2]|0;HEAP32[$$byval_copy13+16>>2]=HEAP32[16916+16>>2]|0; _UpdateTexture($$byval_copy13,$27); _free($27); - HEAP32[4145] = 0; + HEAP32[4223] = 0; } _BeginDrawing(); HEAP8[$2>>0] = -11; @@ -10679,9 +10679,9 @@ function _UpdateDrawFrame() { $51 = ((($9)) + 3|0); $$030 = 0; while(1) { - $73 = HEAP32[4144]|0; + $73 = HEAP32[4222]|0; $74 = ($$030|0)==($73|0); - $75 = (16624 + ($$030<<4)|0); + $75 = (16936 + ($$030<<4)|0); if ($74) { HEAP8[$4>>0] = 102; HEAP8[$34>>0] = -65; @@ -10691,11 +10691,11 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy13>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$4+3>>0]|0; _DrawRectangleRec($$byval_copy10,$$byval_copy13); $76 = HEAP32[$75>>2]|0; - $77 = (((16624 + ($$030<<4)|0)) + 4|0); + $77 = (((16936 + ($$030<<4)|0)) + 4|0); $78 = HEAP32[$77>>2]|0; - $79 = (((16624 + ($$030<<4)|0)) + 8|0); + $79 = (((16936 + ($$030<<4)|0)) + 8|0); $80 = HEAP32[$79>>2]|0; - $81 = (((16624 + ($$030<<4)|0)) + 12|0); + $81 = (((16936 + ($$030<<4)|0)) + 12|0); $82 = HEAP32[$81>>2]|0; HEAP8[$5>>0] = 0; HEAP8[$37>>0] = 121; @@ -10729,11 +10729,11 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy13>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$7+3>>0]|0; _DrawRectangleRec($$byval_copy10,$$byval_copy13); $93 = HEAP32[$75>>2]|0; - $94 = (((16624 + ($$030<<4)|0)) + 4|0); + $94 = (((16936 + ($$030<<4)|0)) + 4|0); $95 = HEAP32[$94>>2]|0; - $96 = (((16624 + ($$030<<4)|0)) + 8|0); + $96 = (((16936 + ($$030<<4)|0)) + 8|0); $97 = HEAP32[$96>>2]|0; - $98 = (((16624 + ($$030<<4)|0)) + 12|0); + $98 = (((16936 + ($$030<<4)|0)) + 12|0); $99 = HEAP32[$98>>2]|0; HEAP8[$8>>0] = -126; HEAP8[$46>>0] = -126; @@ -10768,25 +10768,25 @@ function _UpdateDrawFrame() { } } $52 = HEAP32[2]|0; - $53 = HEAP32[(16608)>>2]|0; + $53 = HEAP32[(16920)>>2]|0; $54 = (($52) + -60)|0; $55 = (($54) - ($53))|0; $56 = HEAP32[3]|0; $57 = (($56|0) / 2)&-1; - $58 = HEAP32[(16612)>>2]|0; + $58 = HEAP32[(16924)>>2]|0; $59 = (($58|0) / 2)&-1; $60 = (($57) - ($59))|0; HEAP32[$10>>2] = -1; - ;HEAP32[$$byval_copy10>>2]=HEAP32[16604>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[16604+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[16604+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[16604+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[16604+16>>2]|0; + ;HEAP32[$$byval_copy10>>2]=HEAP32[16916>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[16916+4>>2]|0;HEAP32[$$byval_copy10+8>>2]=HEAP32[16916+8>>2]|0;HEAP32[$$byval_copy10+12>>2]=HEAP32[16916+12>>2]|0;HEAP32[$$byval_copy10+16>>2]=HEAP32[16916+16>>2]|0; ;HEAP8[$$byval_copy13>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy13+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy13+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy13+3>>0]=HEAP8[$10+3>>0]|0; _DrawTexture($$byval_copy10,$55,$60,$$byval_copy13); $61 = HEAP32[2]|0; - $62 = HEAP32[(16608)>>2]|0; + $62 = HEAP32[(16920)>>2]|0; $63 = (($61) + -60)|0; $64 = (($63) - ($62))|0; $65 = HEAP32[3]|0; $66 = (($65|0) / 2)&-1; - $67 = HEAP32[(16612)>>2]|0; + $67 = HEAP32[(16924)>>2]|0; $68 = (($67|0) / 2)&-1; $69 = (($66) - ($68))|0; HEAP8[$11>>0] = 0; @@ -10801,6 +10801,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10900,13 +10950,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11516,7 +11559,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4189] = $2; + HEAP32[4267] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11529,7 +11572,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16304; + $95 = 16616; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11542,48 +11585,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16344; + $106 = 16656; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4086]; - $111 = +HEAPF32[4076]; + $110 = +HEAPF32[4164]; + $111 = +HEAPF32[4154]; $112 = $110 - $111; - HEAPF32[4088] = $112; - $113 = +HEAPF32[(16348)>>2]; - $114 = +HEAPF32[(16308)>>2]; + HEAPF32[4166] = $112; + $113 = +HEAPF32[(16660)>>2]; + $114 = +HEAPF32[(16620)>>2]; $115 = $113 - $114; - HEAPF32[(16356)>>2] = $115; - HEAP32[4188] = 4; + HEAPF32[(16668)>>2] = $115; + HEAP32[4266] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4194] = $116; - $117 = 16336; + HEAPF32[4272] = $116; + $117 = 16648; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16304; + $123 = 16616; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16360; + $127 = 16672; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16344; + $133 = 16656; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11596,7 +11639,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16336; + $144 = 16648; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11609,27 +11652,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16360; + $155 = 16672; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4090]; - $160 = +HEAPF32[4084]; + $159 = +HEAPF32[4168]; + $160 = +HEAPF32[4162]; $161 = $159 - $160; - HEAPF32[4088] = $161; - $162 = +HEAPF32[(16364)>>2]; - $163 = +HEAPF32[(16340)>>2]; + HEAPF32[4166] = $161; + $162 = +HEAPF32[(16676)>>2]; + $163 = +HEAPF32[(16652)>>2]; $164 = $162 - $163; - HEAPF32[(16356)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16336+4>>2]|0; + HEAPF32[(16668)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16344+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16656>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16656+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11641,31 +11684,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4194]; + $170 = +HEAPF32[4272]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4188] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16336+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + HEAP32[4266] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16648+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16672+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4195] = $174; + HEAPF32[4273] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4194] = 0.0; - HEAPF32[4195] = 0.0; - HEAPF32[4088] = 0.0; - HEAPF32[(16356)>>2] = 0.0; - HEAP32[4189] = 0; - HEAP32[4188] = 0; + HEAPF32[4272] = 0.0; + HEAPF32[4273] = 0.0; + HEAPF32[4166] = 0.0; + HEAPF32[(16668)>>2] = 0.0; + HEAP32[4267] = 0; + HEAP32[4266] = 0; STACKTOP = sp;return; break; } @@ -11675,22 +11718,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4190]|0; + $6 = HEAP32[4268]|0; $7 = (($6) + 1)|0; - HEAP32[4190] = $7; - $8 = HEAP32[4188]|0; + HEAP32[4268] = $7; + $8 = HEAP32[4266]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4188] = 2; - HEAP32[4190] = 0; + HEAP32[4266] = 2; + HEAP32[4268] = 0; } else { label = 6; } @@ -11698,8 +11741,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4190] = 1; - HEAP32[4188] = 1; + HEAP32[4268] = 1; + HEAP32[4266] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11708,19 +11751,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16304; + $21 = 16616; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16312; + $25 = 16624; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16320; + $29 = 16632; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11729,13 +11772,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[12] = $34; - HEAPF32[4082] = 0.0; - HEAPF32[(16332)>>2] = 0.0; + HEAPF32[4160] = 0.0; + HEAPF32[(16644)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4188]|0; + $35 = HEAP32[4266]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11745,19 +11788,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16320; + $44 = 16632; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16632+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4191] = $49; - HEAP32[4192] = 0; + HEAPF32[4269] = $49; + HEAP32[4270] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[12]|0; @@ -11765,11 +11808,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16320>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16320+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16632+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4193] = $56; + HEAPF32[4271] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11800,22 +11843,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4191] = 0.0; - HEAPF32[4193] = 0.0; + HEAPF32[4269] = 0.0; + HEAPF32[4271] = 0.0; $$sink10 = 0; } - HEAP32[4188] = $$sink10; - HEAPF32[4078] = 0.0; - HEAPF32[(16316)>>2] = 0.0; - HEAP32[4189] = 0; + HEAP32[4266] = $$sink10; + HEAPF32[4156] = 0.0; + HEAPF32[(16628)>>2] = 0.0; + HEAP32[4267] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4192]|0; + $65 = HEAP32[4270]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4192] = 1; + HEAP32[4270] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11824,31 +11867,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16336; + $74 = 16648; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4188]|0; + $78 = HEAP32[4266]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16304>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16304+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16336>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16336+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4188] = 8; + HEAP32[4266] = 8; } } - $82 = +HEAPF32[4084]; - $83 = +HEAPF32[4078]; + $82 = +HEAPF32[4162]; + $83 = +HEAPF32[4156]; $84 = $82 - $83; - HEAPF32[4082] = $84; - $85 = +HEAPF32[(16340)>>2]; - $86 = +HEAPF32[(16316)>>2]; + HEAPF32[4160] = $84; + $85 = +HEAPF32[(16652)>>2]; + $86 = +HEAPF32[(16628)>>2]; $87 = $85 - $86; - HEAPF32[(16332)>>2] = $87; + HEAPF32[(16644)>>2] = $87; STACKTOP = sp;return; break; } @@ -11857,58 +11900,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4188]|0; + $0 = HEAP32[4266]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4189]|0; + $2 = HEAP32[4267]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4188] = 4; + HEAP32[4266] = 4; } - $4 = HEAP32[4188]|0; + $4 = HEAP32[4266]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11921,14 +11925,14 @@ function _UpdateGestures() { return; } } - HEAP32[4188] = 0; + HEAP32[4266] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16368; + $1 = 16680; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11945,13 +11949,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4198]|0; + $0 = HEAP32[4276]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4197]|0; + $0 = HEAP32[4275]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11963,7 +11967,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4229,$vararg_buffer); - HEAP32[4200] = $2; + HEAP32[4278] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11976,15 +11980,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4258|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4198]|0; + $3 = HEAP32[4276]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4092] = $5; - $6 = HEAP32[4197]|0; + HEAPF32[4170] = $5; + $6 = HEAP32[4275]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16372)>>2] = $8; - $9 = HEAP32[4201]|0; + HEAPF32[(16684)>>2] = $8; + $9 = HEAP32[4279]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12003,11 +12007,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16408>>0]=HEAP8[8787>>0]|0;HEAP8[16408+1>>0]=HEAP8[8787+1>>0]|0;HEAP8[16408+2>>0]=HEAP8[8787+2>>0]|0;HEAP8[16408+3>>0]=HEAP8[8787+3>>0]|0;HEAP8[16408+4>>0]=HEAP8[8787+4>>0]|0;HEAP8[16408+5>>0]=HEAP8[8787+5>>0]|0;HEAP8[16408+6>>0]=HEAP8[8787+6>>0]|0; + ;HEAP8[16720>>0]=HEAP8[8787>>0]|0;HEAP8[16720+1>>0]=HEAP8[8787+1>>0]|0;HEAP8[16720+2>>0]=HEAP8[8787+2>>0]|0;HEAP8[16720+3>>0]=HEAP8[8787+3>>0]|0;HEAP8[16720+4>>0]=HEAP8[8787+4>>0]|0;HEAP8[16720+5>>0]=HEAP8[8787+5>>0]|0;HEAP8[16720+6>>0]=HEAP8[8787+6>>0]|0; break; } case 1: { - $3 = 16408; + $3 = 16720; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12016,11 +12020,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16408; src=8794; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16720; src=8794; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16408; + $7 = 16720; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12031,16 +12035,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16408,$1)|0); - $strlen = (_strlen(16408)|0); - $endptr = (16408 + ($strlen)|0); + (_strcat(16720,$1)|0); + $strlen = (_strlen(16720)|0); + $endptr = (16720 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16408,$2)|0); + (_vprintf(16720,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12072,22 +12076,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4198] = $0; - HEAP32[4197] = $1; + HEAP32[4276] = $0; + HEAP32[4275] = $1; _MatrixIdentity($2); - dest=16880; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17192; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4929,$vararg_buffer); } - $6 = HEAP32[4198]|0; - HEAP32[4236] = $6; - $7 = HEAP32[4197]|0; - HEAP32[4237] = $7; + $6 = HEAP32[4276]|0; + HEAP32[4314] = $6; + $7 = HEAP32[4275]|0; + HEAP32[4315] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19612]|0; + $8 = HEAP8[19924]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12095,13 +12099,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19612]|0; + $11 = HEAP8[19924]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19612]|0; + $14 = HEAP8[19924]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12123,18 +12127,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4238]|0; + $21 = HEAP32[4316]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4198]|0; - $48 = HEAP32[4197]|0; - $49 = HEAP32[4200]|0; + $47 = HEAP32[4276]|0; + $48 = HEAP32[4275]|0; + $49 = HEAP32[4278]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4196] = $50; - $51 = HEAP32[4198]|0; - HEAP32[4239] = $51; - $52 = HEAP32[4197]|0; - HEAP32[4240] = $52; + HEAP32[4274] = $50; + $51 = HEAP32[4276]|0; + HEAP32[4317] = $51; + $52 = HEAP32[4275]|0; + HEAP32[4318] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12143,9 +12147,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4198]|0; + $27 = HEAP32[4276]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4197]|0; + $29 = HEAP32[4275]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12167,25 +12171,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4236] = $31; - HEAP32[4237] = $34; + HEAP32[4314] = $31; + HEAP32[4315] = $34; } } while(0); - $38 = HEAP32[4236]|0; - $39 = HEAP32[4237]|0; + $38 = HEAP32[4314]|0; + $39 = HEAP32[4315]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4980,$vararg_buffer3); - $40 = HEAP32[4236]|0; - $41 = HEAP32[4237]|0; + $40 = HEAP32[4314]|0; + $41 = HEAP32[4315]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4236]|0; - $43 = HEAP32[4237]|0; - $44 = HEAP32[4200]|0; + $42 = HEAP32[4314]|0; + $43 = HEAP32[4315]|0; + $44 = HEAP32[4278]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4196] = $46; + HEAP32[4274] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12194,60 +12198,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5018,$vararg_buffer6); } else { _TraceLog(0,5051,$vararg_buffer8); - $55 = HEAP32[4239]|0; - $56 = HEAP32[4240]|0; + $55 = HEAP32[4317]|0; + $56 = HEAP32[4318]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5091,$vararg_buffer10); - $57 = HEAP32[4198]|0; - $58 = HEAP32[4197]|0; + $57 = HEAP32[4276]|0; + $58 = HEAP32[4275]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5112,$vararg_buffer14); - $59 = HEAP32[4241]|0; - $60 = HEAP32[4242]|0; + $59 = HEAP32[4319]|0; + $60 = HEAP32[4320]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5133,$vararg_buffer18); } - $61 = HEAP32[4196]|0; + $61 = HEAP32[4274]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4196]|0; + $62 = HEAP32[4274]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4196]|0; + $63 = HEAP32[4274]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4196]|0; + $64 = HEAP32[4274]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4196]|0; + $65 = HEAP32[4274]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4196]|0; + $66 = HEAP32[4274]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4196]|0; + $67 = HEAP32[4274]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4196]|0; + $68 = HEAP32[4274]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4196]|0; + $69 = HEAP32[4274]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19612]|0; + $70 = HEAP8[19924]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4198]|0; - $74 = HEAP32[4197]|0; + $73 = HEAP32[4276]|0; + $74 = HEAP32[4275]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4239]|0; - $76 = HEAP32[4241]|0; + $75 = HEAP32[4317]|0; + $76 = HEAP32[4319]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4240]|0; - $80 = HEAP32[4242]|0; + $79 = HEAP32[4318]|0; + $80 = HEAP32[4320]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12266,18 +12270,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5158,$vararg_buffer22); - $73 = HEAP32[4198]|0; - $74 = HEAP32[4197]|0; + $73 = HEAP32[4276]|0; + $74 = HEAP32[4275]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4239]|0; - $76 = HEAP32[4241]|0; + $75 = HEAP32[4317]|0; + $76 = HEAP32[4319]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4240]|0; - $80 = HEAP32[4242]|0; + $79 = HEAP32[4318]|0; + $80 = HEAP32[4320]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12305,7 +12309,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16848)>>2] = 224; + HEAP32[(17160)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12346,27 +12350,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16824>>2]=HEAP32[$1>>2]|0;HEAP32[16824+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16824+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16824+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16824+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17136>>2]=HEAP32[$1>>2]|0;HEAP32[17136+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17136+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17136+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17136+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16848)>>2]|0; + $5 = HEAP32[(17160)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16852)>>2] = $7; + HEAP32[(17164)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16844)>>2] = $23; - $24 = HEAP32[4206]|0; + HEAP32[(17156)>>2] = $23; + $24 = HEAP32[4284]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4453,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16828)>>2]|0; - $10 = HEAP32[(16848)>>2]|0; - $11 = HEAP32[(16852)>>2]|0; + $9 = HEAP32[(17140)>>2]|0; + $10 = HEAP32[(17160)>>2]|0; + $11 = HEAP32[(17164)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12415,8 +12419,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16844)>>2] = $23; - $24 = HEAP32[4206]|0; + HEAP32[(17156)>>2] = $23; + $24 = HEAP32[4284]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4453,$vararg_buffer); STACKTOP = sp;return; @@ -12427,7 +12431,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2050] = $1; + HEAPF64[2089] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12586,7 +12590,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16384; + $31 = 16696; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12599,7 +12603,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16392); + $42 = (16704); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12655,7 +12659,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16808 + ($10<<2)|0); + $11 = (17120 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12669,7 +12673,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2047] = $$; + HEAPF64[2086] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12681,7 +12685,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4201] = 0; + HEAP32[4279] = 0; return; } function _GetTime() { @@ -13257,7 +13261,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4214]|0; + $6 = HEAP32[4292]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13267,7 +13271,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4215]|0; + $9 = HEAP32[4293]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13276,7 +13280,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4216]|0; + $12 = HEAP32[4294]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13286,7 +13290,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4217]|0; + $15 = HEAP32[4295]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13296,7 +13300,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4218]|0; + $18 = HEAP32[4296]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13340,7 +13344,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4214]|0; + $22 = HEAP32[4292]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13348,7 +13352,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4214]|0; + $24 = HEAP32[4292]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13356,7 +13360,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4214]|0; + $26 = HEAP32[4292]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13364,7 +13368,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4214]|0; + $28 = HEAP32[4292]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13372,7 +13376,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4215]|0; + $30 = HEAP32[4293]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13380,7 +13384,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4216]|0; + $32 = HEAP32[4294]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13388,7 +13392,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4216]|0; + $34 = HEAP32[4294]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13396,7 +13400,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4217]|0; + $36 = HEAP32[4295]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13404,7 +13408,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4217]|0; + $38 = HEAP32[4295]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13412,7 +13416,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4218]|0; + $40 = HEAP32[4296]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13420,7 +13424,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4218]|0; + $42 = HEAP32[4296]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13432,7 +13436,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4219]|0; + $44 = HEAP32[4297]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13778,20 +13782,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4198]|0; + $3 = HEAP32[4276]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4197]|0; + $5 = HEAP32[4275]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4239] = $3; - HEAP32[4240] = $5; - HEAP32[4241] = 0; - HEAP32[4242] = 0; + HEAP32[4317] = $3; + HEAP32[4318] = $5; + HEAP32[4319] = 0; + HEAP32[4320] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13805,9 +13809,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4198]|0; + $35 = HEAP32[4276]|0; $36 = (+($35|0)); - $37 = HEAP32[4197]|0; + $37 = HEAP32[4275]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13815,26 +13819,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4239] = $45; - HEAP32[4240] = $37; + HEAP32[4317] = $45; + HEAP32[4318] = $37; $46 = (($45) - ($35))|0; - HEAP32[4241] = $46; + HEAP32[4319] = $46; $$sink1 = 0; } else { - HEAP32[4239] = $35; + HEAP32[4317] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4240] = $42; - HEAP32[4241] = 0; + HEAP32[4318] = $42; + HEAP32[4319] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4242] = $$sink1; + HEAP32[4320] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4197]|0; + $7 = HEAP32[4275]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13844,11 +13848,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8540,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4198]|0; + $9 = HEAP32[4276]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4197]|0; + $13 = HEAP32[4275]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13856,33 +13860,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4239] = $23; - HEAP32[4240] = $1; + HEAP32[4317] = $23; + HEAP32[4318] = $1; $24 = (($0) - ($23))|0; - HEAP32[4241] = $24; + HEAP32[4319] = $24; $$sink = 0; } else { - HEAP32[4239] = $0; - $17 = HEAP32[4197]|0; + HEAP32[4317] = $0; + $17 = HEAP32[4275]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4240] = $20; - HEAP32[4241] = 0; + HEAP32[4318] = $20; + HEAP32[4319] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4242] = $$sink; - $25 = HEAP32[4239]|0; + HEAP32[4320] = $$sink; + $25 = HEAP32[4317]|0; $26 = (+($25|0)); - $27 = HEAP32[4198]|0; + $27 = HEAP32[4276]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16880; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4239] = $0; - HEAP32[4240] = $1; + dest=17192; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4317] = $0; + HEAP32[4318] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13904,10 +13908,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4198] = $1; - HEAP32[4197] = $2; - HEAP32[4239] = $1; - HEAP32[4240] = $2; + HEAP32[4276] = $1; + HEAP32[4275] = $2; + HEAP32[4317] = $1; + HEAP32[4318] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13934,7 +13938,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19619 + ($1)|0); + $9 = (19931 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13955,7 +13959,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19613 + ($1)|0); + $7 = (19925 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14034,7 +14038,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16384; + $15 = 16696; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14069,7 +14073,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4612] = $3; + HEAP32[4690] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14079,7 +14083,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4611] = $$sink; + HEAP32[4689] = $$sink; return; } function _rlglInit($0,$1) { @@ -14160,18 +14164,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5290)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4277] = 1; + HEAP32[4355] = 1; $27 = (_eglGetProcAddress((5317|0))|0); - HEAP32[4278] = $27; + HEAP32[4356] = $27; $28 = (_eglGetProcAddress((5338|0))|0); - HEAP32[4279] = $28; + HEAP32[4357] = $28; $29 = (_eglGetProcAddress((5359|0))|0); - HEAP32[4280] = $29; + HEAP32[4358] = $29; } $30 = (_strcmp($24,5383)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4219] = 1; + HEAP32[4297] = 1; } $32 = (_strcmp($24,5403)|0); $33 = ($32|0)==(0); @@ -14193,7 +14197,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4214] = 1; + HEAP32[4292] = 1; } $39 = (_strcmp($24,5508)|0); $40 = ($39|0)==(0); @@ -14209,35 +14213,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4215] = 1; + HEAP32[4293] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5577)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4216] = 1; + HEAP32[4294] = 1; } $47 = (_strcmp($44,5602)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4217] = 1; + HEAP32[4295] = 1; } $49 = (_strcmp($44,5635)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4218] = 1; + HEAP32[4296] = 1; } $51 = (_strcmp($44,5671)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4281] = 1; - _glGetFloatv(34047,(17128|0)); + HEAP32[4359] = 1; + _glGetFloatv(34047,(17440|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5705)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4283] = 1; + HEAP32[4361] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14248,61 +14252,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4277]|0; + $21 = HEAP32[4355]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5808,$vararg_buffer15); } else { _TraceLog(0,5733,$vararg_buffer13); } - $57 = HEAP32[4219]|0; + $57 = HEAP32[4297]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5944,$vararg_buffer19); } else { _TraceLog(0,5869,$vararg_buffer17); } - $59 = HEAP32[4214]|0; + $59 = HEAP32[4292]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6036,$vararg_buffer21); } - $61 = HEAP32[4215]|0; + $61 = HEAP32[4293]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6082,$vararg_buffer23); } - $63 = HEAP32[4216]|0; + $63 = HEAP32[4294]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6129,$vararg_buffer25); } - $65 = HEAP32[4217]|0; + $65 = HEAP32[4295]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6180,$vararg_buffer27); } - $67 = HEAP32[4218]|0; + $67 = HEAP32[4296]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6227,$vararg_buffer29); } - $69 = HEAP32[4281]|0; + $69 = HEAP32[4359]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4282]; + $71 = +HEAPF32[4360]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6274,$vararg_buffer31); } - $73 = HEAP32[4283]|0; + $73 = HEAP32[4361]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6340,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4284] = $75; + HEAP32[4362] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6444,$vararg_buffer39); @@ -14311,14 +14315,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6393,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17140; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17196; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17452; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17508; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4313] = $77; + HEAP32[4391] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4313]|0; + $79 = HEAP32[4391]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14331,7 +14335,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4314] = $78; + HEAP32[4392] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14346,48 +14350,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4315] = 1; - $85 = HEAP32[4284]|0; + HEAP32[4393] = 1; + $85 = HEAP32[4362]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4316] = 4; + HEAP32[4394] = 4; _MatrixIdentity($4); - dest=17268; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17580; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17332); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17644); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17708); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17772); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17836); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17900); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17652); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17964); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17716); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18028); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17780); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18092); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17844); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18156); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17908); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18220); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17972); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18284); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18036); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18348); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18100); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18412); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18164); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18476); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18228); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18540); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16976; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17288; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=17040; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4243] = 17040; + dest=17352; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4321] = 17352; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14398,21 +14402,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4573] = $0; - HEAP32[4574] = $1; + HEAP32[4651] = $0; + HEAP32[4652] = $1; _TraceLog(0,6483,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4241]|0; + $0 = HEAP32[4319]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4242]|0; + $2 = HEAP32[4320]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4239]|0; + $4 = HEAP32[4317]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4240]|0; + $6 = HEAP32[4318]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14423,12 +14427,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16976; + $modelview$sink = 17288; label = 3; break; } case 5888: { - $modelview$sink = 17040; + $modelview$sink = 17352; label = 3; break; } @@ -14436,9 +14440,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4243] = $modelview$sink; + HEAP32[4321] = $modelview$sink; } - HEAP32[4276] = $0; + HEAP32[4354] = $0; return; } function _rlLoadIdentity() { @@ -14446,7 +14450,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4243]|0; + $1 = HEAP32[4321]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14467,7 +14471,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4243]|0; + $8 = HEAP32[4321]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14564,15 +14568,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18312)>>2] = $0; + HEAP32[(18624)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18320)>>2] = $1; - HEAP32[(18316)>>2] = 0; - HEAP32[(18324)>>2] = 0; + HEAP32[(18632)>>2] = $1; + HEAP32[(18628)>>2] = 0; + HEAP32[(18636)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18320)>>2]|0; + $2 = HEAP32[(18632)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14583,19 +14587,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4575] = 0; - HEAP32[(18308)>>2] = 0; - HEAP32[(18304)>>2] = 0; + HEAP32[4653] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[(18616)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18360)>>2] = $5; + HEAP32[(18672)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18368)>>2] = $6; - HEAP32[(18364)>>2] = 0; - HEAP32[(18372)>>2] = 0; + HEAP32[(18680)>>2] = $6; + HEAP32[(18676)>>2] = 0; + HEAP32[(18684)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18368)>>2]|0; + $7 = HEAP32[(18680)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14606,24 +14610,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4587] = 0; - HEAP32[(18356)>>2] = 0; - HEAP32[(18352)>>2] = 0; + HEAP32[4665] = 0; + HEAP32[(18668)>>2] = 0; + HEAP32[(18664)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18408)>>2] = $10; + HEAP32[(18720)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18412)>>2] = $11; + HEAP32[(18724)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18416)>>2] = $12; + HEAP32[(18728)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18420)>>2] = $13; - $14 = HEAP32[(18408)>>2]|0; + HEAP32[(18732)>>2] = $13; + $14 = HEAP32[(18720)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18412)>>2]|0; + $15 = HEAP32[(18724)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18416)>>2]|0; + $17 = HEAP32[(18728)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14634,7 +14638,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18420)>>2]|0; + $16 = HEAP32[(18732)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14671,140 +14675,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4599] = 0; - HEAP32[(18400)>>2] = 0; - HEAP32[(18404)>>2] = 0; + HEAP32[4677] = 0; + HEAP32[(18712)>>2] = 0; + HEAP32[(18716)>>2] = 0; _TraceLog(0,6530,$vararg_buffer); - $20 = HEAP32[4277]|0; + $20 = HEAP32[4355]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4278]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18328)); - $44 = HEAP32[4279]|0; - $45 = HEAP32[(18328)>>2]|0; + $43 = HEAP32[4356]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18640)); + $44 = HEAP32[4357]|0; + $45 = HEAP32[(18640)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18332)|0)); - $46 = HEAP32[(18332)>>2]|0; + _glGenBuffers(2,((18644)|0)); + $46 = HEAP32[(18644)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18312)>>2]|0; + $47 = HEAP32[(18624)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17200)>>2]|0; + $48 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17200)>>2]|0; + $49 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18336)|0)); - $50 = HEAP32[(18336)>>2]|0; + _glGenBuffers(2,((18648)|0)); + $50 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18320)>>2]|0; + $51 = HEAP32[(18632)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17220)>>2]|0; + $52 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17220)>>2]|0; + $53 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4277]|0; + $54 = HEAP32[4355]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18332)>>2]|0; - $58 = HEAP32[(18336)>>2]|0; + $57 = HEAP32[(18644)>>2]|0; + $58 = HEAP32[(18648)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6668,$vararg_buffer3); } else { - $56 = HEAP32[(18328)>>2]|0; + $56 = HEAP32[(18640)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6603,$vararg_buffer1); } - $59 = HEAP32[4277]|0; + $59 = HEAP32[4355]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4278]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18376)); - $62 = HEAP32[4279]|0; - $63 = HEAP32[(18376)>>2]|0; + $61 = HEAP32[4356]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18688)); + $62 = HEAP32[4357]|0; + $63 = HEAP32[(18688)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18380)|0)); - $64 = HEAP32[(18380)>>2]|0; + _glGenBuffers(1,((18692)|0)); + $64 = HEAP32[(18692)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18360)>>2]|0; + $65 = HEAP32[(18672)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17200)>>2]|0; + $66 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17200)>>2]|0; + $67 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18384)|0)); - $68 = HEAP32[(18384)>>2]|0; + _glGenBuffers(1,((18696)|0)); + $68 = HEAP32[(18696)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18368)>>2]|0; + $69 = HEAP32[(18680)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17220)>>2]|0; + $70 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17220)>>2]|0; + $71 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4277]|0; + $72 = HEAP32[4355]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18380)>>2]|0; - $76 = HEAP32[(18384)>>2]|0; + $75 = HEAP32[(18692)>>2]|0; + $76 = HEAP32[(18696)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6814,$vararg_buffer10); } else { - $74 = HEAP32[(18376)>>2]|0; + $74 = HEAP32[(18688)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6745,$vararg_buffer7); } - $77 = HEAP32[4277]|0; + $77 = HEAP32[4355]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4278]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18424)); - $80 = HEAP32[4279]|0; - $81 = HEAP32[(18424)>>2]|0; + $79 = HEAP32[4356]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18736)); + $80 = HEAP32[4357]|0; + $81 = HEAP32[(18736)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18428)|0)); - $82 = HEAP32[(18428)>>2]|0; + _glGenBuffers(1,((18740)|0)); + $82 = HEAP32[(18740)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18408)>>2]|0; + $83 = HEAP32[(18720)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17200)>>2]|0; + $84 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17200)>>2]|0; + $85 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18432)|0)); - $86 = HEAP32[(18432)>>2]|0; + _glGenBuffers(1,((18744)|0)); + $86 = HEAP32[(18744)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18412)>>2]|0; + $87 = HEAP32[(18724)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17204)>>2]|0; + $88 = HEAP32[(17516)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17204)>>2]|0; + $89 = HEAP32[(17516)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18436)|0)); - $90 = HEAP32[(18436)>>2]|0; + _glGenBuffers(1,((18748)|0)); + $90 = HEAP32[(18748)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18416)>>2]|0; + $91 = HEAP32[(18728)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17220)>>2]|0; + $92 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17220)>>2]|0; + $93 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18440)|0)); - $94 = HEAP32[(18440)>>2]|0; + _glGenBuffers(1,((18752)|0)); + $94 = HEAP32[(18752)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18420)>>2]|0; + $95 = HEAP32[(18732)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4277]|0; + $96 = HEAP32[4355]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18428)>>2]|0; - $100 = HEAP32[(18432)>>2]|0; - $101 = HEAP32[(18436)>>2]|0; - $102 = HEAP32[(18440)>>2]|0; + $99 = HEAP32[(18740)>>2]|0; + $100 = HEAP32[(18744)>>2]|0; + $101 = HEAP32[(18748)>>2]|0; + $102 = HEAP32[(18752)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14814,16 +14818,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6960,$vararg_buffer17); } else { - $98 = HEAP32[(18424)>>2]|0; + $98 = HEAP32[(18736)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6895,$vararg_buffer14); } - $103 = HEAP32[4277]|0; + $103 = HEAP32[4355]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4279]|0; + $105 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15004,9 +15008,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19613 + ($0)|0); + $1 = (19925 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19616 + ($0)|0); + $3 = (19928 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15018,9 +15022,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19613 + ($0)|0); + $1 = (19925 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19616 + ($0)|0); + $3 = (19928 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15041,7 +15045,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4196]|0; + $0 = HEAP32[4274]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8804,$vararg_buffer); @@ -15052,9 +15056,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16824>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16824+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16824+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16824+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16824+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17136>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17136+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17136+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17136+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17136+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16852)>>2]|0; + $0 = HEAP32[(17164)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15065,11 +15069,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17136|0)); - $0 = HEAP32[4284]|0; + _glDeleteTextures(1,(17448|0)); + $0 = HEAP32[4362]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8831,$vararg_buffer); - $1 = HEAP32[4314]|0; + $1 = HEAP32[4392]|0; _free($1); STACKTOP = sp;return; } @@ -15077,17 +15081,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4285]|0; + $0 = HEAP32[4363]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4277]|0; + $0 = HEAP32[4355]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4279]|0; + $2 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15096,39 +15100,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18332)|0)); - _glDeleteBuffers(1,((18336)|0)); - _glDeleteBuffers(1,((18380)|0)); - _glDeleteBuffers(1,((18384)|0)); - _glDeleteBuffers(1,((18428)|0)); - _glDeleteBuffers(1,((18432)|0)); - _glDeleteBuffers(1,((18436)|0)); - _glDeleteBuffers(1,((18440)|0)); - $3 = HEAP32[4277]|0; + _glDeleteBuffers(1,((18644)|0)); + _glDeleteBuffers(1,((18648)|0)); + _glDeleteBuffers(1,((18692)|0)); + _glDeleteBuffers(1,((18696)|0)); + _glDeleteBuffers(1,((18740)|0)); + _glDeleteBuffers(1,((18744)|0)); + _glDeleteBuffers(1,((18748)|0)); + _glDeleteBuffers(1,((18752)|0)); + $3 = HEAP32[4355]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4280]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18328)); - $6 = HEAP32[4280]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18376)); - $7 = HEAP32[4280]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18424)); - } - $8 = HEAP32[(18312)>>2]|0; + $5 = HEAP32[4358]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18640)); + $6 = HEAP32[4358]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18688)); + $7 = HEAP32[4358]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18736)); + } + $8 = HEAP32[(18624)>>2]|0; _free($8); - $9 = HEAP32[(18320)>>2]|0; + $9 = HEAP32[(18632)>>2]|0; _free($9); - $10 = HEAP32[(18360)>>2]|0; + $10 = HEAP32[(18672)>>2]|0; _free($10); - $11 = HEAP32[(18368)>>2]|0; + $11 = HEAP32[(18680)>>2]|0; _free($11); - $12 = HEAP32[(18408)>>2]|0; + $12 = HEAP32[(18720)>>2]|0; _free($12); - $13 = HEAP32[(18412)>>2]|0; + $13 = HEAP32[(18724)>>2]|0; _free($13); - $14 = HEAP32[(18416)>>2]|0; + $14 = HEAP32[(18728)>>2]|0; _free($14); - $15 = HEAP32[(18420)>>2]|0; + $15 = HEAP32[(18732)>>2]|0; _free($15); return; } @@ -15168,16 +15172,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2067] = $0; - $1 = +HEAPF64[2050]; + HEAPF64[2106] = $0; + $1 = +HEAPF64[2089]; $2 = $0 - $1; - HEAPF64[2068] = $2; - HEAPF64[2050] = $0; + HEAPF64[2107] = $2; + HEAPF64[2089] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16880; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17192; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18452); + _rlMultMatrixf(18764); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15186,53 +15190,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4613] = $1; + HEAP32[4691] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18456)>>2] = $3; + HEAP32[(18768)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18460)>>2] = $5; + HEAP32[(18772)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18464)>>2] = $7; + HEAP32[(18776)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18468)>>2] = $9; + HEAP32[(18780)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18472)>>2] = $11; + HEAP32[(18784)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18476)>>2] = $13; + HEAP32[(18788)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18480)>>2] = $15; + HEAP32[(18792)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18484)>>2] = $17; + HEAP32[(18796)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18488)>>2] = $19; + HEAP32[(18800)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18492)>>2] = $21; + HEAP32[(18804)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18496)>>2] = $23; + HEAP32[(18808)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18500)>>2] = $25; + HEAP32[(18812)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18504)>>2] = $27; + HEAP32[(18816)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18508)>>2] = $29; + HEAP32[(18820)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18512)>>2] = $31; - return (18452|0); + HEAP32[(18824)>>2] = $31; + return (18764|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15307,7 +15311,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4243]|0; + $49 = HEAP32[4321]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15321,15 +15325,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2067] = $0; - $1 = +HEAPF64[2050]; + HEAPF64[2106] = $0; + $1 = +HEAPF64[2089]; $2 = $0 - $1; - HEAPF64[2069] = $2; - HEAPF64[2050] = $0; - $3 = +HEAPF64[2068]; + HEAPF64[2108] = $2; + HEAPF64[2089] = $0; + $3 = +HEAPF64[2107]; $4 = $2 + $3; - HEAPF64[2070] = $4; - $5 = +HEAPF64[2047]; + HEAPF64[2109] = $4; + $5 = +HEAPF64[2086]; $6 = $4 < $5; if (!($6)) { return; @@ -15339,13 +15343,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2067] = $10; - $11 = +HEAPF64[2050]; + HEAPF64[2106] = $10; + $11 = +HEAPF64[2089]; $12 = $10 - $11; - HEAPF64[2050] = $10; - $13 = +HEAPF64[2070]; + HEAPF64[2089] = $10; + $13 = +HEAPF64[2109]; $14 = $12 + $13; - HEAPF64[2070] = $14; + HEAPF64[2109] = $14; return; } function _rlglDraw() { @@ -15358,7 +15362,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4196]|0; + $0 = HEAP32[4274]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15374,20 +15378,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[749] = -1; HEAP32[751] = -1; - HEAP32[4629] = 0; - $3 = HEAP32[4196]|0; + HEAP32[4707] = 0; + $3 = HEAP32[4274]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4092] = $5; + HEAPF32[4170] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16372)>>2] = $7; - _memcpy((20131|0),(19619|0),512)|0; - ;HEAP8[19616>>0]=HEAP8[19613>>0]|0;HEAP8[19616+1>>0]=HEAP8[19613+1>>0]|0;HEAP8[19616+2>>0]=HEAP8[19613+2>>0]|0; - $8 = HEAP32[4612]|0; - HEAP32[4199] = $8; - HEAP32[4612] = 0; + HEAPF32[(16684)>>2] = $7; + _memcpy((20443|0),(19931|0),512)|0; + ;HEAP8[19928>>0]=HEAP8[19925>>0]|0;HEAP8[19928+1>>0]=HEAP8[19925+1>>0]|0;HEAP8[19928+2>>0]=HEAP8[19925+2>>0]|0; + $8 = HEAP32[4690]|0; + HEAP32[4277] = $8; + HEAP32[4690] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15397,8 +15401,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20643 + ($$05160<<5)|0); - $scevgep67 = (20771 + ($$05160<<5)|0); + $scevgep = (20955 + ($$05160<<5)|0); + $scevgep67 = (21083 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15412,7 +15416,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20771 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21083 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[751] = $$04857; @@ -15439,7 +15443,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18520 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18832 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15455,7 +15459,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4629] = $$lcssa; + HEAP32[4707] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15496,87 +15500,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4575]|0; + $0 = HEAP32[4653]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4277]|0; + $2 = HEAP32[4355]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4279]|0; - $5 = HEAP32[(18328)>>2]|0; + $4 = HEAP32[4357]|0; + $5 = HEAP32[(18640)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18332)>>2]|0; + $6 = HEAP32[(18644)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4575]|0; + $7 = HEAP32[4653]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18312)>>2]|0; + $9 = HEAP32[(18624)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18336)>>2]|0; + $10 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18308)>>2]|0; + $11 = HEAP32[(18620)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18320)>>2]|0; + $13 = HEAP32[(18632)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4587]|0; + $14 = HEAP32[4665]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4277]|0; + $16 = HEAP32[4355]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4279]|0; - $19 = HEAP32[(18376)>>2]|0; + $18 = HEAP32[4357]|0; + $19 = HEAP32[(18688)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18380)>>2]|0; + $20 = HEAP32[(18692)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4587]|0; + $21 = HEAP32[4665]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18360)>>2]|0; + $23 = HEAP32[(18672)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18384)>>2]|0; + $24 = HEAP32[(18696)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18356)>>2]|0; + $25 = HEAP32[(18668)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18368)>>2]|0; + $27 = HEAP32[(18680)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4599]|0; + $28 = HEAP32[4677]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4277]|0; + $30 = HEAP32[4355]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4279]|0; - $33 = HEAP32[(18424)>>2]|0; + $32 = HEAP32[4357]|0; + $33 = HEAP32[(18736)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18428)>>2]|0; + $34 = HEAP32[(18740)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4599]|0; + $35 = HEAP32[4677]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18408)>>2]|0; + $37 = HEAP32[(18720)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18432)>>2]|0; + $38 = HEAP32[(18744)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4599]|0; + $39 = HEAP32[4677]|0; $40 = $39 << 3; - $41 = HEAP32[(18412)>>2]|0; + $41 = HEAP32[(18724)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18436)>>2]|0; + $42 = HEAP32[(18748)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4599]|0; + $43 = HEAP32[4677]|0; $44 = $43 << 2; - $45 = HEAP32[(18416)>>2]|0; + $45 = HEAP32[(18728)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4277]|0; + $46 = HEAP32[4355]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4279]|0; + $48 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15594,9 +15598,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16976; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=17040; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4662]|0; + dest=$0; src=17288; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17352; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4740]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15606,134 +15610,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4575]|0; + $8 = HEAP32[4653]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4587]|0; + $10 = HEAP32[4665]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4599]|0; + $12 = HEAP32[4677]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4299]|0; + $14 = HEAP32[4377]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17040; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16976; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17352; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17288; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17224)>>2]|0; + $15 = HEAP32[(17536)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17228)>>2]|0; + $17 = HEAP32[(17540)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17240)>>2]|0; + $18 = HEAP32[(17552)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4575]|0; + $19 = HEAP32[4653]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4284]|0; + $21 = HEAP32[4362]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4277]|0; + $22 = HEAP32[4355]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18332)>>2]|0; + $26 = HEAP32[(18644)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17200)>>2]|0; + $27 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17200)>>2]|0; + $28 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18336)>>2]|0; + $29 = HEAP32[(18648)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17220)>>2]|0; + $30 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17220)>>2]|0; + $31 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4279]|0; - $25 = HEAP32[(18328)>>2]|0; + $24 = HEAP32[4357]|0; + $25 = HEAP32[(18640)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4575]|0; + $32 = HEAP32[4653]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4277]|0; + $33 = HEAP32[4355]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4587]|0; + $35 = HEAP32[4665]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4284]|0; + $37 = HEAP32[4362]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4277]|0; + $38 = HEAP32[4355]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18380)>>2]|0; + $42 = HEAP32[(18692)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17200)>>2]|0; + $43 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17200)>>2]|0; + $44 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18384)>>2]|0; + $45 = HEAP32[(18696)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17220)>>2]|0; + $46 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17220)>>2]|0; + $47 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4279]|0; - $41 = HEAP32[(18376)>>2]|0; + $40 = HEAP32[4357]|0; + $41 = HEAP32[(18688)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4587]|0; + $48 = HEAP32[4665]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4277]|0; + $49 = HEAP32[4355]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4599]|0; + $51 = HEAP32[4677]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4277]|0; + $53 = HEAP32[4355]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18428)>>2]|0; + $57 = HEAP32[(18740)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17200)>>2]|0; + $58 = HEAP32[(17512)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17200)>>2]|0; + $59 = HEAP32[(17512)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18432)>>2]|0; + $60 = HEAP32[(18744)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17204)>>2]|0; + $61 = HEAP32[(17516)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17204)>>2]|0; + $62 = HEAP32[(17516)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18436)>>2]|0; + $63 = HEAP32[(18748)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17220)>>2]|0; + $64 = HEAP32[(17532)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17220)>>2]|0; + $65 = HEAP32[(17532)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18440)>>2]|0; + $66 = HEAP32[(18752)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4279]|0; - $56 = HEAP32[(18424)>>2]|0; + $55 = HEAP32[4357]|0; + $56 = HEAP32[(18736)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4315]|0; + $67 = HEAP32[4393]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4314]|0; + $71 = HEAP32[4392]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15744,14 +15748,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4314]|0; + $80 = HEAP32[4392]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4315]|0; + $87 = HEAP32[4393]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15760,7 +15764,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4277]|0; + $69 = HEAP32[4355]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15768,10 +15772,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4277]|0; + $89 = HEAP32[4355]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4279]|0; + $91 = HEAP32[4357]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15783,22 +15787,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4315] = 1; - $5 = HEAP32[4284]|0; - $6 = HEAP32[4314]|0; + HEAP32[4393] = 1; + $5 = HEAP32[4362]|0; + $6 = HEAP32[4392]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4575] = 0; - HEAP32[(18308)>>2] = 0; - HEAP32[4587] = 0; - HEAP32[(18356)>>2] = 0; - HEAP32[4599] = 0; - HEAP32[(18400)>>2] = 0; - HEAP32[(18404)>>2] = 0; + HEAP32[4653] = 0; + HEAP32[(18620)>>2] = 0; + HEAP32[4665] = 0; + HEAP32[(18668)>>2] = 0; + HEAP32[4677] = 0; + HEAP32[(18712)>>2] = 0; + HEAP32[(18716)>>2] = 0; HEAPF32[752] = -1.0; - dest=16976; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17040; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17288; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17352; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15813,17 +15817,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4573]|0; + $5 = HEAP32[4651]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4574]|0; + $9 = HEAP32[4652]|0; _rlViewport($7,0,$8,$9); - $10 = (18880 + ($0<<6)|0); + $10 = (19192 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18752 + ($0<<6)|0); + $11 = (19064 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15835,14 +15839,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17040; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17352; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16976; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17288; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15850,43 +15854,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4752]|0; + $0 = HEAP32[4830]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8946,$vararg_buffer); } - $2 = HEAP32[4752]|0; - $3 = (17268 + ($2<<6)|0); - $4 = HEAP32[4243]|0; + $2 = HEAP32[4830]|0; + $3 = (17580 + ($2<<6)|0); + $4 = HEAP32[4321]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4752]|0; + $5 = HEAP32[4830]|0; $6 = (($5) + 1)|0; - HEAP32[4752] = $6; - $7 = HEAP32[4276]|0; + HEAP32[4830] = $6; + $7 = HEAP32[4354]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4753] = 1; + HEAP32[4831] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4752]|0; + $0 = HEAP32[4830]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4752]|0; + $2 = HEAP32[4830]|0; $3 = (($2) + -1)|0; - $4 = (17268 + ($3<<6)|0); - $5 = HEAP32[4243]|0; + $4 = (17580 + ($3<<6)|0); + $5 = HEAP32[4321]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4752] = $6; + HEAP32[4830] = $6; return; } function _IsFileExtension($0,$1) { @@ -15910,9 +15914,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19619 + ($0)|0); + $1 = (19931 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20131 + ($0)|0); + $3 = (20443 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15933,7 +15937,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4243]|0; + $5 = HEAP32[4321]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15966,7 +15970,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4243]|0; + $11 = HEAP32[4321]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15977,7 +15981,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4316] = $0; + HEAP32[4394] = $0; return; } function _rlEnd() { @@ -15993,21 +15997,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4753]|0; + $0 = HEAP32[4831]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4754]|0; + $2 = HEAP32[4832]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4313]|0; + $6 = HEAP32[4391]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4243]|0; + $8 = HEAP32[4321]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4754]|0; + $5 = HEAP32[4832]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16015,12 +16019,12 @@ function _rlEnd() { break; } } - HEAP32[4753] = 0; + HEAP32[4831] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4313]|0; + $11 = HEAP32[4391]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16029,7 +16033,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4754]|0; + $19 = HEAP32[4832]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16039,15 +16043,15 @@ function _rlEnd() { } } } else { - HEAP32[4753] = 0; + HEAP32[4831] = 0; } - HEAP32[4754] = 0; + HEAP32[4832] = 0; } - $21 = HEAP32[4316]|0; + $21 = HEAP32[4394]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4575]|0; - $23 = HEAP32[(18308)>>2]|0; + $22 = HEAP32[4653]|0; + $23 = HEAP32[(18620)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[752]; @@ -16066,16 +16070,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18320)>>2]|0; - $28 = HEAP32[(18308)>>2]|0; + $27 = HEAP32[(18632)>>2]|0; + $28 = HEAP32[(18620)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18320)>>2]|0; - $35 = HEAP32[(18308)>>2]|0; + $34 = HEAP32[(18632)>>2]|0; + $35 = HEAP32[(18620)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16083,8 +16087,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18320)>>2]|0; - $43 = HEAP32[(18308)>>2]|0; + $42 = HEAP32[(18632)>>2]|0; + $43 = HEAP32[(18620)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16092,8 +16096,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18320)>>2]|0; - $51 = HEAP32[(18308)>>2]|0; + $50 = HEAP32[(18632)>>2]|0; + $51 = HEAP32[(18620)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16101,9 +16105,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18308)>>2]|0; + $58 = HEAP32[(18620)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18308)>>2] = $59; + HEAP32[(18620)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16119,8 +16123,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4587]|0; - $62 = HEAP32[(18356)>>2]|0; + $61 = HEAP32[4665]|0; + $62 = HEAP32[(18668)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[752]; @@ -16139,16 +16143,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18368)>>2]|0; - $67 = HEAP32[(18356)>>2]|0; + $66 = HEAP32[(18680)>>2]|0; + $67 = HEAP32[(18668)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18368)>>2]|0; - $74 = HEAP32[(18356)>>2]|0; + $73 = HEAP32[(18680)>>2]|0; + $74 = HEAP32[(18668)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16156,8 +16160,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18368)>>2]|0; - $82 = HEAP32[(18356)>>2]|0; + $81 = HEAP32[(18680)>>2]|0; + $82 = HEAP32[(18668)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16165,8 +16169,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18368)>>2]|0; - $90 = HEAP32[(18356)>>2]|0; + $89 = HEAP32[(18680)>>2]|0; + $90 = HEAP32[(18668)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16174,9 +16178,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18356)>>2]|0; + $97 = HEAP32[(18668)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18356)>>2] = $98; + HEAP32[(18668)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16192,8 +16196,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4599]|0; - $101 = HEAP32[(18404)>>2]|0; + $100 = HEAP32[4677]|0; + $101 = HEAP32[(18716)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16201,16 +16205,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18416)>>2]|0; - $106 = HEAP32[(18404)>>2]|0; + $105 = HEAP32[(18728)>>2]|0; + $106 = HEAP32[(18716)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18416)>>2]|0; - $113 = HEAP32[(18404)>>2]|0; + $112 = HEAP32[(18728)>>2]|0; + $113 = HEAP32[(18716)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16218,8 +16222,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18416)>>2]|0; - $121 = HEAP32[(18404)>>2]|0; + $120 = HEAP32[(18728)>>2]|0; + $121 = HEAP32[(18716)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16227,8 +16231,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18416)>>2]|0; - $129 = HEAP32[(18404)>>2]|0; + $128 = HEAP32[(18728)>>2]|0; + $129 = HEAP32[(18716)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16236,9 +16240,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18404)>>2]|0; + $136 = HEAP32[(18716)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18404)>>2] = $137; + HEAP32[(18716)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16249,8 +16253,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4599]|0; - $140 = HEAP32[(18400)>>2]|0; + $139 = HEAP32[4677]|0; + $140 = HEAP32[(18712)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[752]; @@ -16258,8 +16262,8 @@ function _rlEnd() { HEAPF32[752] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18412)>>2]|0; - $$promoted = HEAP32[(18400)>>2]|0; + $142 = HEAP32[(18724)>>2]|0; + $$promoted = HEAP32[(18712)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16267,7 +16271,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18400)>>2] = $147; + HEAP32[(18712)>>2] = $147; $148 = +HEAPF32[752]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[752] = $149; @@ -16294,11 +16298,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4753]|0; + $3 = HEAP32[4831]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4313]|0; - $6 = HEAP32[4754]|0; + $5 = HEAP32[4391]|0; + $6 = HEAP32[4832]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16306,16 +16310,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4754] = $10; + HEAP32[4832] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4316]|0; + $11 = HEAP32[4394]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4575]|0; + $12 = HEAP32[4653]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18312)>>2]|0; + $14 = HEAP32[(18624)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16326,7 +16330,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4575] = $21; + HEAP32[4653] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8984,$vararg_buffer); @@ -16335,10 +16339,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4587]|0; + $22 = HEAP32[4665]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18360)>>2]|0; + $24 = HEAP32[(18672)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16349,7 +16353,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4587] = $31; + HEAP32[4665] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9009,$vararg_buffer1); @@ -16358,10 +16362,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4599]|0; + $32 = HEAP32[4677]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18408)>>2]|0; + $34 = HEAP32[(18720)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16372,9 +16376,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4599] = $41; - $42 = HEAP32[4314]|0; - $43 = HEAP32[4315]|0; + HEAP32[4677] = $41; + $42 = HEAP32[4392]|0; + $43 = HEAP32[4393]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16417,13 +16421,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4316]|0; + $2 = HEAP32[4394]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18412)>>2]|0; - $5 = HEAP32[(18400)>>2]|0; + $4 = HEAP32[(18724)>>2]|0; + $5 = HEAP32[(18712)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16431,7 +16435,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18400)>>2] = $10; + HEAP32[(18712)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16450,18 +16454,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4316]|0; + $4 = HEAP32[4394]|0; switch ($4|0) { case 1: { - $$sink37 = (18308);$$sink38 = (18320); + $$sink37 = (18620);$$sink38 = (18632); break; } case 4: { - $$sink37 = (18356);$$sink38 = (18368); + $$sink37 = (18668);$$sink38 = (18680); break; } case 7: { - $$sink37 = (18404);$$sink38 = (18416); + $$sink37 = (18716);$$sink38 = (18728); break; } default: { @@ -16500,8 +16504,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4314]|0; - $2 = HEAP32[4315]|0; + $1 = HEAP32[4392]|0; + $2 = HEAP32[4393]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16514,9 +16518,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4315] = $10; + HEAP32[4393] = $10; } - $11 = HEAP32[4315]|0; + $11 = HEAP32[4393]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16527,7 +16531,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4599]|0; + $0 = HEAP32[4677]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16585,7 +16589,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4284]|0; + $1 = HEAP32[4362]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16830,40 +16834,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9101); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10434)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4755] = $0; + HEAP32[4833] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16927,7 +16902,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9113|0),(9139|0),1125,(9162|0)); + ___assert_fail((9101|0),(9127|0),1041,(9150|0)); // unreachable; } } @@ -16945,7 +16920,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4756]|0; + $15 = HEAP32[4834]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -17038,7 +17013,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9203); + _stbi__err(9191); $$0 = 0; return ($$0|0); } else { @@ -17060,7 +17035,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9194); + _stbi__err(9182); $$0 = 0; return ($$0|0); } @@ -17130,7 +17105,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9222); + _stbi__err(9210); $$045 = 0; return ($$045|0); } @@ -17691,7 +17666,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9538 + ($120)|0); + $121 = (9526 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17733,97 +17708,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9312); + _stbi__err(9300); $$6$ph = 0; break; } case 9: { - _stbi__err(9326); + _stbi__err(9314); $$6$ph = 0; break; } case 11: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 13: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 15: { - _stbi__err(9349); + _stbi__err(9337); $$6$ph = 0; break; } case 17: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 20: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 22: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 24: { - _stbi__err(9379); + _stbi__err(9367); $$6$ph = 0; break; } case 26: { - _stbi__err(9395); + _stbi__err(9383); $$6$ph = 0; break; } case 28: { - _stbi__err(9413); + _stbi__err(9401); $$6$ph = 0; break; } case 31: { - _stbi__err(9434); + _stbi__err(9422); $$6$ph = 0; break; } case 34: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 37: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 39: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 41: { - _stbi__err(9463); + _stbi__err(9451); $$6$ph = 0; break; } case 44: { - _stbi__err(9463); + _stbi__err(9451); $$6$ph = 0; break; } case 47: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 49: { - _stbi__err(9476); + _stbi__err(9464); $$6$ph = 0; break; } @@ -17834,32 +17809,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9492); + _stbi__err(9480); $$6$ph = 0; break; } case 58: { - _stbi__err(9509); + _stbi__err(9497); $$6$ph = 0; break; } case 61: { - _stbi__err(9522); + _stbi__err(9510); $$6$ph = 0; break; } case 63: { - _stbi__err(9509); + _stbi__err(9497); $$6$ph = 0; break; } case 70: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 72: { - _stbi__err(9547); + _stbi__err(9535); $$6$ph = 0; break; } @@ -17871,12 +17846,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9194); + _stbi__err(9182); $$6$ph = 0; break; } case 83: { - _stbi__err(9555); + _stbi__err(9543); $$6$ph = 0; break; } @@ -17889,7 +17864,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9565); + _stbi__err(9553); $$4 = 0; break; } @@ -17954,7 +17929,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4757]|0; + $193 = HEAP32[4835]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17987,7 +17962,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9448); + _stbi__err(9436); $$4 = 0; } } while(0); @@ -17995,24 +17970,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9448); + _stbi__err(9436); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9573] = $206; + HEAP8[9561] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9574)>>0] = $209; + HEAP8[(9562)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9575)>>0] = $211; + HEAP8[(9563)>>0] = $211; $212 = $207&255; - HEAP8[(9576)>>0] = $212; - _stbi__err(9573); + HEAP8[(9564)>>0] = $212; + _stbi__err(9561); $$6$ph = 0; break; } @@ -18046,14 +18021,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9235|0),(9139|0),1561,(9291|0)); + ___assert_fail((9223|0),(9127|0),1477,(9279|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9194); + _stbi__err(9182); $$0163 = 0; return ($$0163|0); } @@ -18416,7 +18391,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9289|0),(9139|0),1590,(9291|0)); + ___assert_fail((9277|0),(9127|0),1506,(9279|0)); // unreachable; } } while(0); @@ -18450,7 +18425,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9235|0),(9139|0),1610,(9266|0)); + ___assert_fail((9223|0),(9127|0),1526,(9254|0)); // unreachable; } $7 = $2 << 1; @@ -18460,7 +18435,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9194); + _stbi__err(9182); $$0163 = 0; return ($$0163|0); } @@ -18823,7 +18798,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9289|0),(9139|0),1639,(9266|0)); + ___assert_fail((9277|0),(9127|0),1555,(9254|0)); // unreachable; } } while(0); @@ -18971,7 +18946,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10230); + _stbi__err(10538); $$05 = 0; return ($$05|0); } @@ -19408,7 +19383,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9632|0),(9139|0),4568,(9684|0)); + ___assert_fail((9620|0),(9127|0),4569,(9672|0)); // unreachable; } } @@ -19495,7 +19470,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9632|0),(9139|0),4543,(9657|0)); + ___assert_fail((9620|0),(9127|0),4544,(9645|0)); // unreachable; } } @@ -19542,7 +19517,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4758]|0; + $16 = HEAP32[4836]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19617,7 +19592,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9598|0),(9139|0),4649,(9616|0)); + ___assert_fail((9586|0),(9127|0),4650,(9604|0)); // unreachable; } } @@ -19640,7 +19615,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9194); + _stbi__err(9182); $$0 = 0; return ($$0|0); } @@ -19817,7 +19792,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9713|0),(9139|0),4294,(9754|0)); + ___assert_fail((9701|0),(9127|0),4294,(9742|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19825,7 +19800,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9194); + _stbi__err(9182); $$2 = 0; return ($$2|0); } @@ -19844,7 +19819,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9781); + _stbi__err(9769); $$2 = 0; return ($$2|0); } @@ -19857,7 +19832,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9781); + _stbi__err(9769); $$2 = 0; return ($$2|0); } @@ -19865,12 +19840,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19893,33 +19868,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9820 + ($56)|0); + $60 = (9808 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19929,24 +19904,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19956,10 +19931,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19970,10 +19945,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19984,14 +19959,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -20021,7 +19996,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -20036,12 +20011,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20618,15 +20593,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9799|0),(9139|0),4315,(9754|0)); + ___assert_fail((9787|0),(9127|0),4315,(9742|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9825|0),(9139|0),4376,(9754|0)); + ___assert_fail((9813|0),(9127|0),4377,(9742|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9842); + _stbi__err(9830); $$2 = 0; return ($$2|0); } @@ -20676,7 +20651,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9538 + ($6)|0); + $336 = (9526 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -21117,7 +21092,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9857|0),(9139|0),4465,(9754|0)); + ___assert_fail((9845|0),(9127|0),4466,(9742|0)); // unreachable; } else if ((label|0) == 151) { @@ -21177,8 +21152,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21193,15 +21168,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21210,65 +21185,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20930)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9856,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20931,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20899,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10144,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21287,14 +21257,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10183); + _stbi__err(10491); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10199); + _stbi__err(10507); $$0 = 0; return ($$0|0); } @@ -21303,7 +21273,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10214); + _stbi__err(10522); $$0 = 0; return ($$0|0); } @@ -21386,7 +21356,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10105|0),(9139|0),4048,(10122|0)); + ___assert_fail((10413|0),(9127|0),4033,(10430|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21423,7 +21393,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10153); + _stbi__err(10461); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21433,7 +21403,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10166); + _stbi__err(10474); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21463,21 +21433,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20931|0),8,144)|0; - dest=(21075); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21187); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21211); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20899; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21611,7 +21566,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10043); + _stbi__err(10351); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21700,7 +21655,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10095); + _stbi__err(10403); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21729,7 +21684,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10889 + ($$06579)|0); + $14 = (11197 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21820,21 +21775,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10059|0),(9139|0),4021,(10067|0)); + ___assert_fail((10367|0),(9127|0),4006,(10375|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21844,7 +21799,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10043); + _stbi__err(10351); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -22008,7 +21963,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9868); + _stbi__err(10176); $$3$ph = 0; return ($$3$ph|0); } @@ -22018,12 +21973,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9868); + _stbi__err(10176); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9885); + _stbi__err(10193); $$3$ph = 0; return ($$3$ph|0); } @@ -22080,7 +22035,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9894); + _stbi__err(10202); $$0 = 0; return ($$0|0); } @@ -22106,7 +22061,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9194); + _stbi__err(9182); $$0 = 0; return ($$0|0); } else { @@ -22151,7 +22106,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9990|0),(9139|0),3863,(10027|0)); + ___assert_fail((10298|0),(9127|0),3848,(10335|0)); // unreachable; } else if ((label|0) == 5) { @@ -22199,7 +22154,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9914|0),(9139|0),3891,(9930|0)); + ___assert_fail((10222|0),(9127|0),3876,(10238|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22227,7 +22182,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9961|0),(9139|0),3781,(9972|0)); + ___assert_fail((10269|0),(9127|0),3766,(10280|0)); // unreachable; } return (0)|0; @@ -22373,10 +22328,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22387,27 +22342,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10242)|0); + $6 = (_IsFileExtension($1,10550)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10295)|0); + $19 = (_IsFileExtension($1,10603)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10300,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10608,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10742)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22435,7 +22391,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22452,18 +22408,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10248,$vararg_buffer); + _TraceLog(2,10556,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22472,34 +22428,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10336,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10375,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10644,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10683,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22518,11 +22481,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10434)|0); + $4 = (_fopen($0,10742)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10437,$vararg_buffer); + _TraceLog(2,10745,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22621,7 +22584,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10534,$vararg_buffer4); + _TraceLog(0,10842,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22656,14 +22619,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10580,$vararg_buffer8); + _TraceLog(2,10888,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10488,$vararg_buffer1); + _TraceLog(2,10796,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22753,7 +22716,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10406,$vararg_buffer); + _TraceLog(2,10714,$vararg_buffer); $$0 = $6; } } @@ -22798,27 +22761,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10630,$vararg_buffer); + _TraceLog(2,10938,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10669,$vararg_buffer1); + _TraceLog(2,10977,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10695,$vararg_buffer3); + _TraceLog(2,11003,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10758,$vararg_buffer5); + _TraceLog(2,11066,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10793,$vararg_buffer7); + _TraceLog(2,11101,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10828,$vararg_buffer10); + _TraceLog(0,11136,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -24001,7 +23964,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10885 + ($$361133)|0); + $199 = (11193 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24431,7 +24394,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10885 + ($$331130)|0); + $186 = (11193 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24469,7 +24432,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10885 + ($$371134)|0); + $203 = (11193 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24508,7 +24471,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10889 + ($$421139)|0); + $235 = (11197 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24915,7 +24878,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10908 + ($495)|0); + $496 = (11216 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24952,7 +24915,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10912 + ($515)|0); + $516 = (11220 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25868,7 +25831,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16824>>2]|0;HEAP32[$0+4>>2]=HEAP32[16824+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16824+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16824+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16824+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16824+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16824+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16824+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17136>>2]|0;HEAP32[$0+4>>2]=HEAP32[17136+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17136+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17136+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17136+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17136+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17136+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17136+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -27026,7 +26989,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10916)|0); + $12 = (_strstr($11,11224)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -27035,7 +26998,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10920)|0); + $17 = (_strstr($16,11228)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -27044,7 +27007,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10924)|0); + $22 = (_strstr($21,11232)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -27053,7 +27016,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10928)|0); + $27 = (_strstr($26,11236)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -27062,1210 +27025,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10934)|0); + $32 = (_strcmp($31,11242)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10972)|0); + $35 = (_strcmp($34,11280)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10991; + HEAP32[$3>>2] = 11299; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11004)|0); + $38 = (_strcmp($37,11312)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11025; + HEAP32[$3>>2] = 11333; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11040)|0); + $41 = (_strcmp($40,11348)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11055; + HEAP32[$3>>2] = 11363; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11070)|0); + $44 = (_strcmp($43,11378)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11085; + HEAP32[$3>>2] = 11393; } } else { - HEAP32[$3>>2] = 10956; + HEAP32[$3>>2] = 11264; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11100)|0); + $47 = (_strcmp($46,11408)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11114)|0); + $50 = (_strcmp($49,11422)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11126)|0); + $53 = (_strcmp($52,11434)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11140)|0); + $56 = (_strcmp($55,11448)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11152)|0); + $59 = (_strcmp($58,11460)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11166)|0); + $62 = (_strcmp($61,11474)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11180)|0); + $65 = (_strcmp($64,11488)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11197)|0); + $68 = (_strcmp($67,11505)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11220)|0); + $71 = (_strcmp($70,11528)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11246)|0); + $74 = (_strcmp($73,11554)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11259)|0); + $77 = (_strcmp($76,11567)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11275)|0); + $80 = (_strcmp($79,11583)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11288)|0); + $83 = (_strcmp($82,11596)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11302)|0); + $86 = (_strcmp($85,11610)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11322)|0); + $89 = (_strcmp($88,11630)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11342)|0); + $92 = (_strcmp($91,11650)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11359)|0); + $95 = (_strcmp($94,11667)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11376)|0); + $98 = (_strcmp($97,11684)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11388)|0); + $101 = (_strcmp($100,11696)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11401)|0); + $104 = (_strcmp($103,11709)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11417)|0); + $107 = (_strcmp($106,11725)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11440)|0); + $110 = (_strcmp($109,11748)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11453)|0); + $113 = (_strcmp($112,11761)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11469)|0); + $116 = (_strcmp($115,11777)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11480)|0); + $119 = (_strcmp($118,11788)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11499)|0); + $122 = (_strcmp($121,11807)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11521)|0); + $125 = (_strcmp($124,11829)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11540)|0); + $128 = (_strcmp($127,11848)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11569)|0); + $131 = (_strcmp($130,11877)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11586)|0); + $134 = (_strcmp($133,11894)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11601)|0); + $137 = (_strcmp($136,11909)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11616)|0); + $140 = (_strcmp($139,11924)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11637)|0); + $143 = (_strcmp($142,11945)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11657)|0); + $146 = (_strcmp($145,11965)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11677)|0); + $149 = (_strcmp($148,11985)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11703)|0); + $152 = (_strcmp($151,12011)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11722)|0); + $155 = (_strcmp($154,12030)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11734)|0); + $158 = (_strcmp($157,12042)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11746)|0); + $161 = (_strcmp($160,12054)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11758)|0); + $164 = (_strcmp($163,12066)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11770)|0); + $167 = (_strcmp($166,12078)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11782)|0); + $170 = (_strcmp($169,12090)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11794)|0); + $173 = (_strcmp($172,12102)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11806)|0); + $176 = (_strcmp($175,12114)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11818)|0); + $179 = (_strcmp($178,12126)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11831)|0); + $182 = (_strcmp($181,12139)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11844)|0); + $185 = (_strcmp($184,12152)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11857)|0); + $188 = (_strcmp($187,12165)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11870)|0); + $191 = (_strcmp($190,12178)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11883)|0); + $194 = (_strcmp($193,12191)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11896)|0); + $197 = (_strcmp($196,12204)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11909)|0); + $200 = (_strcmp($199,12217)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11922)|0); + $203 = (_strcmp($202,12230)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11941)|0); + $206 = (_strcmp($205,12249)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11960)|0); + $209 = (_strcmp($208,12268)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11979)|0); + $212 = (_strcmp($211,12287)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11992)|0); + $215 = (_strcmp($214,12300)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12010)|0); + $218 = (_strcmp($217,12318)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12028)|0); + $221 = (_strcmp($220,12336)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12046)|0); + $224 = (_strcmp($223,12354)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12064)|0); + $227 = (_strcmp($226,12372)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12084)|0); + $230 = (_strcmp($229,12392)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11025)|0); + $233 = (_strcmp($232,11333)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12102)|0); + $236 = (_strcmp($235,12410)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12117)|0); + $239 = (_strcmp($238,12425)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12138)|0); + $242 = (_strcmp($241,12446)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12153)|0); + $245 = (_strcmp($244,12461)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12171)|0); + $248 = (_strcmp($247,12479)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12187)|0); + $251 = (_strcmp($250,12495)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12206)|0); + $254 = (_strcmp($253,12514)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12220)|0); + $257 = (_strcmp($256,12528)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12235)|0); + $260 = (_strcmp($259,12543)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10956)|0); + $263 = (_strcmp($262,11264)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12246)|0); + $266 = (_strcmp($265,12554)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11055)|0); + $269 = (_strcmp($268,11363)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11085)|0); + $272 = (_strcmp($271,11393)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12262)|0); + $275 = (_strcmp($274,12570)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12289)|0); + $278 = (_strcmp($277,12597)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12303)|0); + $281 = (_strcmp($280,12611)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10991)|0); + $284 = (_strcmp($283,11299)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12323)|0); + $287 = (_strcmp($286,12631)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12341)|0); + $290 = (_strcmp($289,12649)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12353)|0); + $293 = (_strcmp($292,12661)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12374)|0); + $296 = (_strcmp($295,12682)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12392)|0); + $299 = (_strcmp($298,12700)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12410)|0); + $302 = (_strcmp($301,12718)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12431)|0); + $305 = (_strcmp($304,12739)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12457)|0); + $308 = (_strcmp($307,12765)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12480)|0); + $311 = (_strcmp($310,12788)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12518)|0); + $314 = (_strcmp($313,12826)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12534)|0); + $317 = (_strcmp($316,12842)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12549)|0); + $320 = (_strcmp($319,12857)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12572)|0); + $323 = (_strcmp($322,12880)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12585)|0); + $326 = (_strcmp($325,12893)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12599)|0); + $329 = (_strcmp($328,12907)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12613)|0); + $332 = (_strcmp($331,12921)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12633)|0); + $335 = (_strcmp($334,12941)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12653)|0); + $338 = (_strcmp($337,12961)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12669)|0); + $341 = (_strcmp($340,12977)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12687)|0); + $344 = (_strcmp($343,12995)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12703)|0); + $347 = (_strcmp($346,13011)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12718)|0); + $350 = (_strcmp($349,13026)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12740)|0); + $353 = (_strcmp($352,13048)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12758)|0); + $356 = (_strcmp($355,13066)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12779)|0); + $359 = (_strcmp($358,13087)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12797)|0); + $362 = (_strcmp($361,13105)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12810)|0); + $365 = (_strcmp($364,13118)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12825)|0); + $368 = (_strcmp($367,13133)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12839)|0); + $371 = (_strcmp($370,13147)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12849)|0); + $374 = (_strcmp($373,13157)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12859)|0); + $377 = (_strcmp($376,13167)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12881)|0); + $380 = (_strcmp($379,13189)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12907)|0); + $383 = (_strcmp($382,13215)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12934)|0); + $386 = (_strcmp($385,13242)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12947)|0); + $389 = (_strcmp($388,13255)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12962)|0); + $392 = (_strcmp($391,13270)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12977)|0); + $395 = (_strcmp($394,13285)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13001)|0); + $398 = (_strcmp($397,13309)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13012)|0); + $401 = (_strcmp($400,13320)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13034)|0); + $404 = (_strcmp($403,13342)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13056)|0); + $407 = (_strcmp($406,13364)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13080)|0); + $410 = (_strcmp($409,13388)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13089)|0); + $413 = (_strcmp($412,13397)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13097)|0); + $416 = (_strcmp($415,13405)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13110)|0); + $419 = (_strcmp($418,13418)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13124)|0); + $422 = (_strcmp($421,13432)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13136)|0); + $425 = (_strcmp($424,13444)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13145)|0); + $428 = (_strcmp($427,13453)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13155)|0); + $431 = (_strcmp($430,13463)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13167)|0); + $434 = (_strcmp($433,13475)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13178)|0); + $437 = (_strcmp($436,13486)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13186)|0); + $440 = (_strcmp($439,13494)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13198)|0); + $443 = (_strcmp($442,13506)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13213)|0); + $446 = (_strcmp($445,13521)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13225)|0); + $449 = (_strcmp($448,13533)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13239)|0); + $452 = (_strcmp($451,13547)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13264)|0); + $455 = (_strcmp($454,13572)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13281)|0); + $458 = (_strcmp($457,13589)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13297)|0); + $461 = (_strcmp($460,13605)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13313)|0); + $464 = (_strcmp($463,13621)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13325)|0); + $467 = (_strcmp($466,13633)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13337)|0); + $470 = (_strcmp($469,13645)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13361)|0); + $473 = (_strcmp($472,13669)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13374)|0); + $476 = (_strcmp($475,13682)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13388)|0); + $479 = (_strcmp($478,13696)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13410)|0); + $482 = (_strcmp($481,13718)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13417)|0); + $485 = (_strcmp($484,13725)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13433)|0); + $488 = (_strcmp($487,13741)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13450)|0); + $491 = (_strcmp($490,13758)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13467)|0); + $494 = (_strcmp($493,13775)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13483)|0); + $497 = (_strcmp($496,13791)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13499)|0); + $500 = (_strcmp($499,13807)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13516)|0); + $503 = (_strcmp($502,13824)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13530)|0); + $506 = (_strcmp($505,13838)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13542)|0); + $509 = (_strcmp($508,13850)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13553)|0); + $512 = (_strcmp($511,13861)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13566)|0); + $515 = (_strcmp($514,13874)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13576)|0); + $518 = (_strcmp($517,13884)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13593)|0); + $521 = (_strcmp($520,13901)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13605)|0); + $524 = (_strcmp($523,13913)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13627)|0); + $527 = (_strcmp($526,13935)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13647)|0); + $530 = (_strcmp($529,13955)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13660)|0); + $533 = (_strcmp($532,13968)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13682)|0); + $536 = (_strcmp($535,13990)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13702)|0); + $539 = (_strcmp($538,14010)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13719)|0); + $542 = (_strcmp($541,14027)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13736)|0); + $545 = (_strcmp($544,14044)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13756)|0); + $548 = (_strcmp($547,14064)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -28287,7 +28250,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19036|0); + return (19348|0); } function ___stdio_close($0) { $0 = $0|0; @@ -29151,7 +29114,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13872 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14180 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -29329,7 +29292,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14336;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14644;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -29350,7 +29313,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14336;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14644;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -29358,8 +29321,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14336 : (14338); - $$$ = $238 ? $$ : (14337); + $$ = $240 ? 14644 : (14646); + $$$ = $238 ? $$ : (14645); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -29376,7 +29339,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14336;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14644;$242 = $167;$243 = $170; label = 66; break; } @@ -29389,7 +29352,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14336;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14644;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -29403,7 +29366,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14346; + $271 = $270 ? $269 : 14654; $$1 = $271; label = 71; break; @@ -29443,7 +29406,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14336;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14644;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -29465,8 +29428,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14336 + ($208)|0); - $$289 = $or$cond283 ? 14336 : $209; + $209 = (14644 + ($208)|0); + $$289 = $or$cond283 ? 14644 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -29487,7 +29450,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14336;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14644;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -30017,7 +29980,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14388 + ($7)|0); + $9 = (14696 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -30375,14 +30338,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14353; + $$0471 = $14;$$0520 = 1;$$0521 = 14661; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14354) : (14359); - $$$ = $16 ? $$ : (14356); + $$ = $18 ? (14662) : (14667); + $$$ = $16 ? $$ : (14664); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -30481,7 +30444,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14388 + ($80)|0); + $81 = (14696 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -31092,7 +31055,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14404,1); + _out($0,14712,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -31173,7 +31136,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14404,1); + _out($0,14712,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -31230,9 +31193,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14372 : 14376; + $29 = $28 ? 14680 : 14684; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14380 : 14384; + $31 = $28 ? 14688 : 14692; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -31442,7 +31405,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14406 + ($$016)|0); + $3 = (14714 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -31453,7 +31416,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14494;$$115 = 87; + $$01214 = 14802;$$115 = 87; label = 5; break; } else { @@ -31463,9 +31426,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14494; + $$012$lcssa = 14802; } else { - $$01214 = 14494;$$115 = $$016; + $$01214 = 14802;$$115 = $$016; label = 5; } } @@ -32128,7 +32091,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16298,$3,4)|0); + $memchr = (_memchr(16606,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -32217,7 +32180,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16298,$4,4)|0); + $memchr = (_memchr(16606,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -32308,7 +32271,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19040)>>2]|0; + $38 = HEAP32[(19352)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -32341,13 +32304,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19100|0)); - return (19108|0); + ___lock((19412|0)); + return (19420|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19100|0)); + ___unlock((19412|0)); return; } function _fclose($0) { @@ -33411,7 +33374,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16568; + $2 = 16880; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -33628,7 +33591,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4778]|0; + $3 = HEAP32[4856]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -33647,22 +33610,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4778] = 0; + HEAP32[4856] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4778] = $10; + HEAP32[4856] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4778] = 0; + HEAP32[4856] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4778] = $13; + HEAP32[4856] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33743,7 +33706,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4779]|0; + $8 = HEAP32[4857]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33752,7 +33715,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19156 + ($15<<2)|0); + $16 = (19468 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33763,9 +33726,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4779] = $24; + HEAP32[4857] = $24; } else { - $25 = HEAP32[(19132)>>2]|0; + $25 = HEAP32[(19444)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33796,7 +33759,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19124)>>2]|0; + $37 = HEAP32[(19436)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -33830,7 +33793,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19156 + ($68<<2)|0); + $69 = (19468 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -33841,10 +33804,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4779] = $77; + HEAP32[4857] = $77; $98 = $77; } else { - $78 = HEAP32[(19132)>>2]|0; + $78 = HEAP32[(19444)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -33877,22 +33840,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19136)>>2]|0; + $92 = HEAP32[(19448)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19156 + ($94<<2)|0); + $95 = (19468 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4779] = $100; + HEAP32[4857] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19132)>>2]|0; + $103 = HEAP32[(19444)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -33909,12 +33872,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19124)>>2] = $84; - HEAP32[(19136)>>2] = $87; + HEAP32[(19436)>>2] = $84; + HEAP32[(19448)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19120)>>2]|0; + $108 = HEAP32[(19432)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -33942,7 +33905,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19420 + ($132<<2)|0); + $133 = (19732 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33982,7 +33945,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19132)>>2]|0; + $155 = HEAP32[(19444)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -34077,7 +34040,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19420 + ($188<<2)|0); + $189 = (19732 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -34088,11 +34051,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19120)>>2] = $194; + HEAP32[(19432)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19132)>>2]|0; + $195 = HEAP32[(19444)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -34113,7 +34076,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19132)>>2]|0; + $201 = HEAP32[(19444)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -34143,7 +34106,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19132)>>2]|0; + $213 = HEAP32[(19444)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -34180,22 +34143,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19136)>>2]|0; + $231 = HEAP32[(19448)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19156 + ($233<<2)|0); + $234 = (19468 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4779] = $238; + HEAP32[4857] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19132)>>2]|0; + $241 = HEAP32[(19444)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -34212,8 +34175,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19124)>>2] = $$0193$lcssa$i; - HEAP32[(19136)>>2] = $157; + HEAP32[(19436)>>2] = $$0193$lcssa$i; + HEAP32[(19448)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -34229,7 +34192,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19120)>>2]|0; + $250 = HEAP32[(19432)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -34269,7 +34232,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19420 + ($$0358$i<<2)|0); + $278 = (19732 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -34361,7 +34324,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19420 + ($330<<2)|0); + $331 = (19732 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -34405,11 +34368,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19124)>>2]|0; + $345 = HEAP32[(19436)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19132)>>2]|0; + $348 = HEAP32[(19444)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -34506,7 +34469,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19420 + ($381<<2)|0); + $382 = (19732 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -34517,12 +34480,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19120)>>2] = $387; + HEAP32[(19432)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19132)>>2]|0; + $388 = HEAP32[(19444)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -34544,7 +34507,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19132)>>2]|0; + $394 = HEAP32[(19444)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -34576,7 +34539,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19132)>>2]|0; + $406 = HEAP32[(19444)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -34617,20 +34580,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19156 + ($425<<2)|0); - $427 = HEAP32[4779]|0; + $426 = (19468 + ($425<<2)|0); + $427 = HEAP32[4857]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4779] = $431; + HEAP32[4857] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19132)>>2]|0; + $434 = HEAP32[(19444)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34682,7 +34645,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19420 + ($$0361$i<<2)|0); + $464 = (19732 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34694,7 +34657,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19120)>>2] = $472; + HEAP32[(19432)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34733,7 +34696,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19132)>>2]|0; + $491 = HEAP32[(19444)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34752,7 +34715,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19132)>>2]|0; + $498 = HEAP32[(19444)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34785,16 +34748,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19124)>>2]|0; + $506 = HEAP32[(19436)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19136)>>2]|0; + $509 = HEAP32[(19448)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19136)>>2] = $511; - HEAP32[(19124)>>2] = $508; + HEAP32[(19448)>>2] = $511; + HEAP32[(19436)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -34804,8 +34767,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19124)>>2] = 0; - HEAP32[(19136)>>2] = 0; + HEAP32[(19436)>>2] = 0; + HEAP32[(19448)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -34819,14 +34782,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19128)>>2]|0; + $524 = HEAP32[(19440)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19128)>>2] = $526; - $527 = HEAP32[(19140)>>2]|0; + HEAP32[(19440)>>2] = $526; + $527 = HEAP32[(19452)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19140)>>2] = $528; + HEAP32[(19452)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -34837,23 +34800,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4897]|0; + $534 = HEAP32[4975]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19596)>>2] = 4096; - HEAP32[(19592)>>2] = 4096; - HEAP32[(19600)>>2] = -1; - HEAP32[(19604)>>2] = -1; - HEAP32[(19608)>>2] = 0; - HEAP32[(19560)>>2] = 0; + HEAP32[(19908)>>2] = 4096; + HEAP32[(19904)>>2] = 4096; + HEAP32[(19912)>>2] = -1; + HEAP32[(19916)>>2] = -1; + HEAP32[(19920)>>2] = 0; + HEAP32[(19872)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4897] = $538; + HEAP32[4975] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19596)>>2]|0; + $$pre$i212 = HEAP32[(19908)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -34866,10 +34829,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19556)>>2]|0; + $546 = HEAP32[(19868)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19548)>>2]|0; + $548 = HEAP32[(19860)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -34879,18 +34842,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19560)>>2]|0; + $552 = HEAP32[(19872)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19140)>>2]|0; + $555 = HEAP32[(19452)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19564); + $$0$i$i = (19876); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -34948,7 +34911,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19592)>>2]|0; + $569 = HEAP32[(19904)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34958,13 +34921,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19548)>>2]|0; + $578 = HEAP32[(19860)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19556)>>2]|0; + $582 = HEAP32[(19868)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -35010,7 +34973,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19596)>>2]|0; + $601 = HEAP32[(19908)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -35035,9 +34998,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19560)>>2]|0; + $611 = HEAP32[(19872)>>2]|0; $612 = $611 | 4; - HEAP32[(19560)>>2] = $612; + HEAP32[(19872)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -35073,35 +35036,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19548)>>2]|0; + $626 = HEAP32[(19860)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19548)>>2] = $627; - $628 = HEAP32[(19552)>>2]|0; + HEAP32[(19860)>>2] = $627; + $628 = HEAP32[(19864)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19552)>>2] = $627; + HEAP32[(19864)>>2] = $627; } - $630 = HEAP32[(19140)>>2]|0; + $630 = HEAP32[(19452)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19132)>>2]|0; + $632 = HEAP32[(19444)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19132)>>2] = $$749$i; - } - HEAP32[(19564)>>2] = $$749$i; - HEAP32[(19568)>>2] = $$723948$i; - HEAP32[(19576)>>2] = 0; - $635 = HEAP32[4897]|0; - HEAP32[(19152)>>2] = $635; - HEAP32[(19148)>>2] = -1; + HEAP32[(19444)>>2] = $$749$i; + } + HEAP32[(19876)>>2] = $$749$i; + HEAP32[(19880)>>2] = $$723948$i; + HEAP32[(19888)>>2] = 0; + $635 = HEAP32[4975]|0; + HEAP32[(19464)>>2] = $635; + HEAP32[(19460)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19156 + ($636<<2)|0); + $637 = (19468 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -35124,18 +35087,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19140)>>2] = $649; - HEAP32[(19128)>>2] = $650; + HEAP32[(19452)>>2] = $649; + HEAP32[(19440)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19604)>>2]|0; - HEAP32[(19144)>>2] = $655; + $655 = HEAP32[(19916)>>2]|0; + HEAP32[(19456)>>2] = $655; } else { - $$024371$i = (19564); + $$024371$i = (19876); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -35167,7 +35130,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19128)>>2]|0; + $671 = HEAP32[(19440)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -35178,30 +35141,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19140)>>2] = $679; - HEAP32[(19128)>>2] = $681; + HEAP32[(19452)>>2] = $679; + HEAP32[(19440)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19604)>>2]|0; - HEAP32[(19144)>>2] = $686; + $686 = HEAP32[(19916)>>2]|0; + HEAP32[(19456)>>2] = $686; break; } } } - $687 = HEAP32[(19132)>>2]|0; + $687 = HEAP32[(19444)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19132)>>2] = $$749$i; + HEAP32[(19444)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19564); + $$124470$i = (19876); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -35256,21 +35219,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19128)>>2]|0; + $726 = HEAP32[(19440)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19128)>>2] = $727; - HEAP32[(19140)>>2] = $721; + HEAP32[(19440)>>2] = $727; + HEAP32[(19452)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19136)>>2]|0; + $730 = HEAP32[(19448)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19124)>>2]|0; + $732 = HEAP32[(19436)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19124)>>2] = $733; - HEAP32[(19136)>>2] = $721; + HEAP32[(19436)>>2] = $733; + HEAP32[(19448)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -35293,7 +35256,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19156 + ($748<<2)|0); + $749 = (19468 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -35316,9 +35279,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4779]|0; + $759 = HEAP32[4857]|0; $760 = $759 & $758; - HEAP32[4779] = $760; + HEAP32[4857] = $760; break; } $761 = ($747|0)==($749|0); @@ -35431,7 +35394,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19420 + ($796<<2)|0); + $797 = (19732 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -35443,12 +35406,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19120)>>2]|0; + $802 = HEAP32[(19432)>>2]|0; $803 = $802 & $801; - HEAP32[(19120)>>2] = $803; + HEAP32[(19432)>>2] = $803; break L314; } else { - $804 = HEAP32[(19132)>>2]|0; + $804 = HEAP32[(19444)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -35469,7 +35432,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19132)>>2]|0; + $810 = HEAP32[(19444)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -35501,7 +35464,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19132)>>2]|0; + $822 = HEAP32[(19444)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -35534,21 +35497,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19156 + ($836<<2)|0); - $838 = HEAP32[4779]|0; + $837 = (19468 + ($836<<2)|0); + $838 = HEAP32[4857]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4779] = $842; + HEAP32[4857] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19132)>>2]|0; + $845 = HEAP32[(19444)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -35603,20 +35566,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19420 + ($$0296$i$i<<2)|0); + $875 = (19732 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19120)>>2]|0; + $879 = HEAP32[(19432)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19120)>>2] = $883; + HEAP32[(19432)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -35655,7 +35618,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19132)>>2]|0; + $902 = HEAP32[(19444)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35674,7 +35637,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19132)>>2]|0; + $909 = HEAP32[(19444)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35701,7 +35664,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19564); + $$0$i$i$i = (19876); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35742,23 +35705,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19140)>>2] = $946; - HEAP32[(19128)>>2] = $947; + HEAP32[(19452)>>2] = $946; + HEAP32[(19440)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19604)>>2]|0; - HEAP32[(19144)>>2] = $952; + $952 = HEAP32[(19916)>>2]|0; + HEAP32[(19456)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19564)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19564)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19564)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19564)+12>>2]|0; - HEAP32[(19564)>>2] = $$749$i; - HEAP32[(19568)>>2] = $$723948$i; - HEAP32[(19576)>>2] = 0; - HEAP32[(19572)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19876)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19876)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19876)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19876)+12>>2]|0; + HEAP32[(19876)>>2] = $$749$i; + HEAP32[(19880)>>2] = $$723948$i; + HEAP32[(19888)>>2] = 0; + HEAP32[(19884)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35787,20 +35750,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19156 + ($968<<2)|0); - $970 = HEAP32[4779]|0; + $969 = (19468 + ($968<<2)|0); + $970 = HEAP32[4857]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4779] = $974; + HEAP32[4857] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19132)>>2]|0; + $977 = HEAP32[(19444)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -35852,19 +35815,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19420 + ($$0212$i$i<<2)|0); + $1007 = (19732 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19120)>>2]|0; + $1010 = HEAP32[(19432)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19120)>>2] = $1014; + HEAP32[(19432)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -35903,7 +35866,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19132)>>2]|0; + $1033 = HEAP32[(19444)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -35922,7 +35885,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19132)>>2]|0; + $1040 = HEAP32[(19444)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -35945,14 +35908,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19128)>>2]|0; + $1048 = HEAP32[(19440)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19128)>>2] = $1050; - $1051 = HEAP32[(19140)>>2]|0; + HEAP32[(19440)>>2] = $1050; + $1051 = HEAP32[(19452)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19140)>>2] = $1052; + HEAP32[(19452)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35995,7 +35958,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19132)>>2]|0; + $3 = HEAP32[(19444)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -36028,7 +35991,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19136)>>2]|0; + $19 = HEAP32[(19448)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -36043,7 +36006,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19124)>>2] = $17; + HEAP32[(19436)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -36057,7 +36020,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19156 + ($27<<2)|0); + $28 = (19468 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -36077,9 +36040,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4779]|0; + $37 = HEAP32[4857]|0; $38 = $37 & $36; - HEAP32[4779] = $38; + HEAP32[4857] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -36193,7 +36156,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19420 + ($74<<2)|0); + $75 = (19732 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -36203,14 +36166,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19120)>>2]|0; + $80 = HEAP32[(19432)>>2]|0; $81 = $80 & $79; - HEAP32[(19120)>>2] = $81; + HEAP32[(19432)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19132)>>2]|0; + $82 = HEAP32[(19444)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -36232,7 +36195,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19132)>>2]|0; + $88 = HEAP32[(19444)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -36264,7 +36227,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19132)>>2]|0; + $100 = HEAP32[(19444)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -36299,14 +36262,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19140)>>2]|0; + $120 = HEAP32[(19452)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19136)>>2]|0; + $122 = HEAP32[(19448)>>2]|0; if ($121) { - $123 = HEAP32[(19128)>>2]|0; + $123 = HEAP32[(19440)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19128)>>2] = $124; - HEAP32[(19140)>>2] = $$1; + HEAP32[(19440)>>2] = $124; + HEAP32[(19452)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36314,16 +36277,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19136)>>2] = 0; - HEAP32[(19124)>>2] = 0; + HEAP32[(19448)>>2] = 0; + HEAP32[(19436)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19124)>>2]|0; + $129 = HEAP32[(19436)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19124)>>2] = $130; - HEAP32[(19136)>>2] = $113; + HEAP32[(19436)>>2] = $130; + HEAP32[(19448)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -36342,10 +36305,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19156 + ($142<<2)|0); + $143 = (19468 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19132)>>2]|0; + $145 = HEAP32[(19444)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -36363,9 +36326,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4779]|0; + $153 = HEAP32[4857]|0; $154 = $153 & $152; - HEAP32[4779] = $154; + HEAP32[4857] = $154; break; } $155 = ($141|0)==($143|0); @@ -36373,7 +36336,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19132)>>2]|0; + $156 = HEAP32[(19444)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -36433,7 +36396,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19132)>>2]|0; + $189 = HEAP32[(19444)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -36446,7 +36409,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19132)>>2]|0; + $169 = HEAP32[(19444)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -36477,7 +36440,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19420 + ($193<<2)|0); + $194 = (19732 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -36487,13 +36450,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19120)>>2]|0; + $199 = HEAP32[(19432)>>2]|0; $200 = $199 & $198; - HEAP32[(19120)>>2] = $200; + HEAP32[(19432)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19132)>>2]|0; + $201 = HEAP32[(19444)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -36514,7 +36477,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19132)>>2]|0; + $207 = HEAP32[(19444)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -36544,7 +36507,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19132)>>2]|0; + $219 = HEAP32[(19444)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -36565,10 +36528,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19136)>>2]|0; + $226 = HEAP32[(19448)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19124)>>2] = $135; + HEAP32[(19436)>>2] = $135; return; } else { $$2 = $135; @@ -36587,20 +36550,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19156 + ($234<<2)|0); - $236 = HEAP32[4779]|0; + $235 = (19468 + ($234<<2)|0); + $236 = HEAP32[4857]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4779] = $240; + HEAP32[4857] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19132)>>2]|0; + $243 = HEAP32[(19444)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -36652,21 +36615,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19420 + ($$0396<<2)|0); + $273 = (19732 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19120)>>2]|0; + $277 = HEAP32[(19432)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19120)>>2] = $281; + HEAP32[(19432)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36704,7 +36667,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19132)>>2]|0; + $300 = HEAP32[(19444)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36723,7 +36686,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19132)>>2]|0; + $307 = HEAP32[(19444)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36745,12 +36708,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19148)>>2]|0; + $314 = HEAP32[(19460)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19148)>>2] = $315; + HEAP32[(19460)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19572); + $$0212$in$i = (19884); } else { return; } @@ -36764,7 +36727,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19148)>>2] = -1; + HEAP32[(19460)>>2] = -1; return; } function _realloc($0,$1) { @@ -36836,7 +36799,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19132)>>2]|0; + $6 = HEAP32[(19444)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -36866,7 +36829,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19596)>>2]|0; + $18 = HEAP32[(19908)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -36902,10 +36865,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19140)>>2]|0; + $34 = HEAP32[(19452)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19128)>>2]|0; + $36 = HEAP32[(19440)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -36921,15 +36884,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19140)>>2] = $40; - HEAP32[(19128)>>2] = $39; + HEAP32[(19452)>>2] = $40; + HEAP32[(19440)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19136)>>2]|0; + $46 = HEAP32[(19448)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19124)>>2]|0; + $48 = HEAP32[(19436)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36965,8 +36928,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19124)>>2] = $storemerge1; - HEAP32[(19136)>>2] = $storemerge; + HEAP32[(19436)>>2] = $storemerge1; + HEAP32[(19448)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36993,7 +36956,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19156 + ($81<<2)|0); + $82 = (19468 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -37013,9 +36976,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4779]|0; + $91 = HEAP32[4857]|0; $92 = $91 & $90; - HEAP32[4779] = $92; + HEAP32[4857] = $92; break; } $93 = ($80|0)==($82|0); @@ -37124,7 +37087,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19420 + ($128<<2)|0); + $129 = (19732 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -37134,13 +37097,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19120)>>2]|0; + $134 = HEAP32[(19432)>>2]|0; $135 = $134 & $133; - HEAP32[(19120)>>2] = $135; + HEAP32[(19432)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19132)>>2]|0; + $136 = HEAP32[(19444)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -37161,7 +37124,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19132)>>2]|0; + $142 = HEAP32[(19444)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -37191,7 +37154,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19132)>>2]|0; + $154 = HEAP32[(19444)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -37276,13 +37239,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19132)>>2]|0; + $13 = HEAP32[(19444)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19136)>>2]|0; + $15 = HEAP32[(19448)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -37297,7 +37260,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19124)>>2] = $12; + HEAP32[(19436)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -37311,7 +37274,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19156 + ($23<<2)|0); + $24 = (19468 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -37331,9 +37294,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4779]|0; + $33 = HEAP32[4857]|0; $34 = $33 & $32; - HEAP32[4779] = $34; + HEAP32[4857] = $34; $$1 = $11;$$1418 = $12; break; } @@ -37447,7 +37410,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19420 + ($70<<2)|0); + $71 = (19732 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -37457,14 +37420,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19120)>>2]|0; + $76 = HEAP32[(19432)>>2]|0; $77 = $76 & $75; - HEAP32[(19120)>>2] = $77; + HEAP32[(19432)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19132)>>2]|0; + $78 = HEAP32[(19444)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -37486,7 +37449,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19132)>>2]|0; + $84 = HEAP32[(19444)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -37518,7 +37481,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19132)>>2]|0; + $96 = HEAP32[(19444)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -37537,7 +37500,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19132)>>2]|0; + $108 = HEAP32[(19444)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -37548,14 +37511,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19140)>>2]|0; + $114 = HEAP32[(19452)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19136)>>2]|0; + $116 = HEAP32[(19448)>>2]|0; if ($115) { - $117 = HEAP32[(19128)>>2]|0; + $117 = HEAP32[(19440)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19128)>>2] = $118; - HEAP32[(19140)>>2] = $$1; + HEAP32[(19440)>>2] = $118; + HEAP32[(19452)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -37563,16 +37526,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19136)>>2] = 0; - HEAP32[(19124)>>2] = 0; + HEAP32[(19448)>>2] = 0; + HEAP32[(19436)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19124)>>2]|0; + $123 = HEAP32[(19436)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19124)>>2] = $124; - HEAP32[(19136)>>2] = $$1; + HEAP32[(19436)>>2] = $124; + HEAP32[(19448)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -37591,7 +37554,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19156 + ($136<<2)|0); + $137 = (19468 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -37611,9 +37574,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4779]|0; + $146 = HEAP32[4857]|0; $147 = $146 & $145; - HEAP32[4779] = $147; + HEAP32[4857] = $147; break; } $148 = ($135|0)==($137|0); @@ -37722,7 +37685,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19420 + ($183<<2)|0); + $184 = (19732 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37732,13 +37695,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19120)>>2]|0; + $189 = HEAP32[(19432)>>2]|0; $190 = $189 & $188; - HEAP32[(19120)>>2] = $190; + HEAP32[(19432)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19132)>>2]|0; + $191 = HEAP32[(19444)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37759,7 +37722,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19132)>>2]|0; + $197 = HEAP32[(19444)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37789,7 +37752,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19132)>>2]|0; + $209 = HEAP32[(19444)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -37810,10 +37773,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19136)>>2]|0; + $216 = HEAP32[(19448)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19124)>>2] = $129; + HEAP32[(19436)>>2] = $129; return; } else { $$2 = $129; @@ -37832,20 +37795,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19156 + ($224<<2)|0); - $226 = HEAP32[4779]|0; + $225 = (19468 + ($224<<2)|0); + $226 = HEAP32[4857]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4779] = $230; + HEAP32[4857] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19132)>>2]|0; + $233 = HEAP32[(19444)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -37897,20 +37860,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19420 + ($$0431<<2)|0); + $263 = (19732 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19120)>>2]|0; + $267 = HEAP32[(19432)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19120)>>2] = $271; + HEAP32[(19432)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -37949,7 +37912,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19132)>>2]|0; + $290 = HEAP32[(19444)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37967,7 +37930,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19132)>>2]|0; + $297 = HEAP32[(19444)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_image_processing.png b/docs/examples/web/textures/textures_image_processing.png new file mode 100644 index 00000000..c15e19f9 Binary files /dev/null and b/docs/examples/web/textures/textures_image_processing.png differ diff --git a/docs/examples/web/textures/textures_logo_raylib.js b/docs/examples/web/textures/textures_logo_raylib.js index d82865ff..9e47e3f6 100644 --- a/docs/examples/web/textures/textures_logo_raylib.js +++ b/docs/examples/web/textures/textures_logo_raylib.js @@ -1587,12 +1587,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 21936; +STATICTOP = STATIC_BASE + 21920; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,167,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,151,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,108,111,97,100,105,110,103,32,97,110,100,32,100,114,97,119,105,110,103,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10282,9 +10282,9 @@ function _main() { $2 = HEAP32[3]|0; _InitWindow($1,$2,3996); _LoadTexture($0,4052); - ;HEAP32[16408>>2]=HEAP32[$0>>2]|0;HEAP32[16408+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16408+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16408+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16408+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[16712>>2]=HEAP32[$0>>2]|0;HEAP32[16712+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16712+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16712+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16712+16>>2]=HEAP32[$0+16>>2]|0; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16408>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16408+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16408+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16408+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16408+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16712>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16712+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16712+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16712+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16712+16>>2]|0; _UnloadTexture($texture$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10311,16 +10311,16 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy1); $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; - $8 = HEAP32[(16412)>>2]|0; + $8 = HEAP32[(16716)>>2]|0; $9 = (($8|0) / 2)&-1; $10 = (($7) - ($9))|0; $11 = HEAP32[3]|0; $12 = (($11|0) / 2)&-1; - $13 = HEAP32[(16416)>>2]|0; + $13 = HEAP32[(16720)>>2]|0; $14 = (($13|0) / 2)&-1; $15 = (($12) - ($14))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16408>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16408+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16408+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16408+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16408+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[16712>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16712+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16712+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16712+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16712+16>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$10,$15,$$byval_copy1); HEAP8[$2>>0] = -126; @@ -10335,6 +10335,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10434,13 +10484,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11050,7 +11093,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4108] = $2; + HEAP32[4184] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11063,7 +11106,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16136; + $95 = 16440; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11076,48 +11119,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16176; + $106 = 16480; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4044]; - $111 = +HEAPF32[4034]; + $110 = +HEAPF32[4120]; + $111 = +HEAPF32[4110]; $112 = $110 - $111; - HEAPF32[4046] = $112; - $113 = +HEAPF32[(16180)>>2]; - $114 = +HEAPF32[(16140)>>2]; + HEAPF32[4122] = $112; + $113 = +HEAPF32[(16484)>>2]; + $114 = +HEAPF32[(16444)>>2]; $115 = $113 - $114; - HEAPF32[(16188)>>2] = $115; - HEAP32[4107] = 4; + HEAPF32[(16492)>>2] = $115; + HEAP32[4183] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4113] = $116; - $117 = 16168; + HEAPF32[4189] = $116; + $117 = 16472; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16136; + $123 = 16440; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16192; + $127 = 16496; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16176; + $133 = 16480; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11130,7 +11173,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16168; + $144 = 16472; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11143,27 +11186,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16192; + $155 = 16496; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4048]; - $160 = +HEAPF32[4042]; + $159 = +HEAPF32[4124]; + $160 = +HEAPF32[4118]; $161 = $159 - $160; - HEAPF32[4046] = $161; - $162 = +HEAPF32[(16196)>>2]; - $163 = +HEAPF32[(16172)>>2]; + HEAPF32[4122] = $161; + $162 = +HEAPF32[(16500)>>2]; + $163 = +HEAPF32[(16476)>>2]; $164 = $162 - $163; - HEAPF32[(16188)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16168+4>>2]|0; + HEAPF32[(16492)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16472+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16176>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16176+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11175,31 +11218,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4113]; + $170 = +HEAPF32[4189]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4107] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16192>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16192+4>>2]|0; + HEAP32[4183] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4114] = $174; + HEAPF32[4190] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4113] = 0.0; - HEAPF32[4114] = 0.0; - HEAPF32[4046] = 0.0; - HEAPF32[(16188)>>2] = 0.0; - HEAP32[4108] = 0; - HEAP32[4107] = 0; + HEAPF32[4189] = 0.0; + HEAPF32[4190] = 0.0; + HEAPF32[4122] = 0.0; + HEAPF32[(16492)>>2] = 0.0; + HEAP32[4184] = 0; + HEAP32[4183] = 0; STACKTOP = sp;return; break; } @@ -11209,22 +11252,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4109]|0; + $6 = HEAP32[4185]|0; $7 = (($6) + 1)|0; - HEAP32[4109] = $7; - $8 = HEAP32[4107]|0; + HEAP32[4185] = $7; + $8 = HEAP32[4183]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4107] = 2; - HEAP32[4109] = 0; + HEAP32[4183] = 2; + HEAP32[4185] = 0; } else { label = 6; } @@ -11232,8 +11275,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4109] = 1; - HEAP32[4107] = 1; + HEAP32[4185] = 1; + HEAP32[4183] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11242,19 +11285,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16136; + $21 = 16440; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16144; + $25 = 16448; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16152; + $29 = 16456; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11263,13 +11306,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4040] = 0.0; - HEAPF32[(16164)>>2] = 0.0; + HEAPF32[4116] = 0.0; + HEAPF32[(16468)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4107]|0; + $35 = HEAP32[4183]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11279,19 +11322,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16152; + $44 = 16456; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4110] = $49; - HEAP32[4111] = 0; + HEAPF32[4186] = $49; + HEAP32[4187] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11299,11 +11342,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16152>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16152+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16456>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16456+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4112] = $56; + HEAPF32[4188] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11334,22 +11377,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4110] = 0.0; - HEAPF32[4112] = 0.0; + HEAPF32[4186] = 0.0; + HEAPF32[4188] = 0.0; $$sink10 = 0; } - HEAP32[4107] = $$sink10; - HEAPF32[4036] = 0.0; - HEAPF32[(16148)>>2] = 0.0; - HEAP32[4108] = 0; + HEAP32[4183] = $$sink10; + HEAPF32[4112] = 0.0; + HEAPF32[(16452)>>2] = 0.0; + HEAP32[4184] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4111]|0; + $65 = HEAP32[4187]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4111] = 1; + HEAP32[4187] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11358,31 +11401,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16168; + $74 = 16472; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4107]|0; + $78 = HEAP32[4183]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16136>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16136+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16168+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16440>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16440+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16472+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4107] = 8; + HEAP32[4183] = 8; } } - $82 = +HEAPF32[4042]; - $83 = +HEAPF32[4036]; + $82 = +HEAPF32[4118]; + $83 = +HEAPF32[4112]; $84 = $82 - $83; - HEAPF32[4040] = $84; - $85 = +HEAPF32[(16172)>>2]; - $86 = +HEAPF32[(16148)>>2]; + HEAPF32[4116] = $84; + $85 = +HEAPF32[(16476)>>2]; + $86 = +HEAPF32[(16452)>>2]; $87 = $85 - $86; - HEAPF32[(16164)>>2] = $87; + HEAPF32[(16468)>>2] = $87; STACKTOP = sp;return; break; } @@ -11391,58 +11434,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4107]|0; + $0 = HEAP32[4183]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4108]|0; + $2 = HEAP32[4184]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4107] = 4; + HEAP32[4183] = 4; } - $4 = HEAP32[4107]|0; + $4 = HEAP32[4183]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11455,14 +11459,14 @@ function _UpdateGestures() { return; } } - HEAP32[4107] = 0; + HEAP32[4183] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16200; + $1 = 16504; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11479,13 +11483,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4117]|0; + $0 = HEAP32[4193]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4116]|0; + $0 = HEAP32[4192]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11497,7 +11501,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4097,$vararg_buffer); - HEAP32[4119] = $2; + HEAP32[4195] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11510,15 +11514,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4126|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4117]|0; + $3 = HEAP32[4193]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4050] = $5; - $6 = HEAP32[4116]|0; + HEAPF32[4126] = $5; + $6 = HEAP32[4192]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16204)>>2] = $8; - $9 = HEAP32[4120]|0; + HEAPF32[(16508)>>2] = $8; + $9 = HEAP32[4196]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11537,11 +11541,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16240>>0]=HEAP8[8626>>0]|0;HEAP8[16240+1>>0]=HEAP8[8626+1>>0]|0;HEAP8[16240+2>>0]=HEAP8[8626+2>>0]|0;HEAP8[16240+3>>0]=HEAP8[8626+3>>0]|0;HEAP8[16240+4>>0]=HEAP8[8626+4>>0]|0;HEAP8[16240+5>>0]=HEAP8[8626+5>>0]|0;HEAP8[16240+6>>0]=HEAP8[8626+6>>0]|0; + ;HEAP8[16544>>0]=HEAP8[8626>>0]|0;HEAP8[16544+1>>0]=HEAP8[8626+1>>0]|0;HEAP8[16544+2>>0]=HEAP8[8626+2>>0]|0;HEAP8[16544+3>>0]=HEAP8[8626+3>>0]|0;HEAP8[16544+4>>0]=HEAP8[8626+4>>0]|0;HEAP8[16544+5>>0]=HEAP8[8626+5>>0]|0;HEAP8[16544+6>>0]=HEAP8[8626+6>>0]|0; break; } case 1: { - $3 = 16240; + $3 = 16544; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11550,11 +11554,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16240; src=8633; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16544; src=8633; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16240; + $7 = 16544; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11565,16 +11569,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16240,$1)|0); - $strlen = (_strlen(16240)|0); - $endptr = (16240 + ($strlen)|0); + (_strcat(16544,$1)|0); + $strlen = (_strlen(16544)|0); + $endptr = (16544 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16240,$2)|0); + (_vprintf(16544,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11606,22 +11610,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4117] = $0; - HEAP32[4116] = $1; + HEAP32[4193] = $0; + HEAP32[4192] = $1; _MatrixIdentity($2); - dest=16556; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16860; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4768,$vararg_buffer); } - $6 = HEAP32[4117]|0; - HEAP32[4155] = $6; - $7 = HEAP32[4116]|0; - HEAP32[4156] = $7; + $6 = HEAP32[4193]|0; + HEAP32[4231] = $6; + $7 = HEAP32[4192]|0; + HEAP32[4232] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19288]|0; + $8 = HEAP8[19592]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11629,13 +11633,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19288]|0; + $11 = HEAP8[19592]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19288]|0; + $14 = HEAP8[19592]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11657,18 +11661,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4157]|0; + $21 = HEAP32[4233]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4117]|0; - $48 = HEAP32[4116]|0; - $49 = HEAP32[4119]|0; + $47 = HEAP32[4193]|0; + $48 = HEAP32[4192]|0; + $49 = HEAP32[4195]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4115] = $50; - $51 = HEAP32[4117]|0; - HEAP32[4158] = $51; - $52 = HEAP32[4116]|0; - HEAP32[4159] = $52; + HEAP32[4191] = $50; + $51 = HEAP32[4193]|0; + HEAP32[4234] = $51; + $52 = HEAP32[4192]|0; + HEAP32[4235] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11677,9 +11681,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4117]|0; + $27 = HEAP32[4193]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4116]|0; + $29 = HEAP32[4192]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11701,25 +11705,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4155] = $31; - HEAP32[4156] = $34; + HEAP32[4231] = $31; + HEAP32[4232] = $34; } } while(0); - $38 = HEAP32[4155]|0; - $39 = HEAP32[4156]|0; + $38 = HEAP32[4231]|0; + $39 = HEAP32[4232]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4819,$vararg_buffer3); - $40 = HEAP32[4155]|0; - $41 = HEAP32[4156]|0; + $40 = HEAP32[4231]|0; + $41 = HEAP32[4232]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4155]|0; - $43 = HEAP32[4156]|0; - $44 = HEAP32[4119]|0; + $42 = HEAP32[4231]|0; + $43 = HEAP32[4232]|0; + $44 = HEAP32[4195]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4115] = $46; + HEAP32[4191] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -11728,60 +11732,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,4857,$vararg_buffer6); } else { _TraceLog(0,4890,$vararg_buffer8); - $55 = HEAP32[4158]|0; - $56 = HEAP32[4159]|0; + $55 = HEAP32[4234]|0; + $56 = HEAP32[4235]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,4930,$vararg_buffer10); - $57 = HEAP32[4117]|0; - $58 = HEAP32[4116]|0; + $57 = HEAP32[4193]|0; + $58 = HEAP32[4192]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,4951,$vararg_buffer14); - $59 = HEAP32[4160]|0; - $60 = HEAP32[4161]|0; + $59 = HEAP32[4236]|0; + $60 = HEAP32[4237]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,4972,$vararg_buffer18); } - $61 = HEAP32[4115]|0; + $61 = HEAP32[4191]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4115]|0; + $62 = HEAP32[4191]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4115]|0; + $63 = HEAP32[4191]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4115]|0; + $64 = HEAP32[4191]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4115]|0; + $65 = HEAP32[4191]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4115]|0; + $66 = HEAP32[4191]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4115]|0; + $67 = HEAP32[4191]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4115]|0; + $68 = HEAP32[4191]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4115]|0; + $69 = HEAP32[4191]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19288]|0; + $70 = HEAP8[19592]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4117]|0; - $74 = HEAP32[4116]|0; + $73 = HEAP32[4193]|0; + $74 = HEAP32[4192]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4158]|0; - $76 = HEAP32[4160]|0; + $75 = HEAP32[4234]|0; + $76 = HEAP32[4236]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4159]|0; - $80 = HEAP32[4161]|0; + $79 = HEAP32[4235]|0; + $80 = HEAP32[4237]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11800,18 +11804,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,4997,$vararg_buffer22); - $73 = HEAP32[4117]|0; - $74 = HEAP32[4116]|0; + $73 = HEAP32[4193]|0; + $74 = HEAP32[4192]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4158]|0; - $76 = HEAP32[4160]|0; + $75 = HEAP32[4234]|0; + $76 = HEAP32[4236]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4159]|0; - $80 = HEAP32[4161]|0; + $79 = HEAP32[4235]|0; + $80 = HEAP32[4237]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11839,7 +11843,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16524)>>2] = 224; + HEAP32[(16828)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -11880,27 +11884,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16500>>2]=HEAP32[$1>>2]|0;HEAP32[16500+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16500+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16500+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16500+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16804>>2]=HEAP32[$1>>2]|0;HEAP32[16804+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16804+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16804+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16804+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16524)>>2]|0; + $5 = HEAP32[(16828)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16528)>>2] = $7; + HEAP32[(16832)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16520)>>2] = $23; - $24 = HEAP32[4125]|0; + HEAP32[(16824)>>2] = $23; + $24 = HEAP32[4201]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4321,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16504)>>2]|0; - $10 = HEAP32[(16524)>>2]|0; - $11 = HEAP32[(16528)>>2]|0; + $9 = HEAP32[(16808)>>2]|0; + $10 = HEAP32[(16828)>>2]|0; + $11 = HEAP32[(16832)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -11949,8 +11953,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16520)>>2] = $23; - $24 = HEAP32[4125]|0; + HEAP32[(16824)>>2] = $23; + $24 = HEAP32[4201]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4321,$vararg_buffer); STACKTOP = sp;return; @@ -11961,7 +11965,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2029] = $1; + HEAPF64[2067] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12120,7 +12124,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16216; + $31 = 16520; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12133,7 +12137,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16224); + $42 = (16528); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12189,7 +12193,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16484 + ($10<<2)|0); + $11 = (16788 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12203,7 +12207,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2026] = $$; + HEAPF64[2064] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12215,7 +12219,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4120] = 0; + HEAP32[4196] = 0; return; } function _GetTime() { @@ -12791,7 +12795,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4133]|0; + $6 = HEAP32[4209]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -12801,7 +12805,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4134]|0; + $9 = HEAP32[4210]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -12810,7 +12814,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4135]|0; + $12 = HEAP32[4211]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -12820,7 +12824,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4136]|0; + $15 = HEAP32[4212]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -12830,7 +12834,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4137]|0; + $18 = HEAP32[4213]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -12874,7 +12878,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4133]|0; + $22 = HEAP32[4209]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -12882,7 +12886,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4133]|0; + $24 = HEAP32[4209]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -12890,7 +12894,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4133]|0; + $26 = HEAP32[4209]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -12898,7 +12902,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4133]|0; + $28 = HEAP32[4209]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -12906,7 +12910,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4134]|0; + $30 = HEAP32[4210]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -12914,7 +12918,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4135]|0; + $32 = HEAP32[4211]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -12922,7 +12926,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4135]|0; + $34 = HEAP32[4211]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -12930,7 +12934,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4136]|0; + $36 = HEAP32[4212]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -12938,7 +12942,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4136]|0; + $38 = HEAP32[4212]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -12946,7 +12950,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4137]|0; + $40 = HEAP32[4213]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -12954,7 +12958,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4137]|0; + $42 = HEAP32[4213]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -12966,7 +12970,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4138]|0; + $44 = HEAP32[4214]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -12981,7 +12985,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10717,$vararg_buffer15); + _TraceLog(2,11025,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13312,20 +13316,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4117]|0; + $3 = HEAP32[4193]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4116]|0; + $5 = HEAP32[4192]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4158] = $3; - HEAP32[4159] = $5; - HEAP32[4160] = 0; - HEAP32[4161] = 0; + HEAP32[4234] = $3; + HEAP32[4235] = $5; + HEAP32[4236] = 0; + HEAP32[4237] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13339,9 +13343,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4117]|0; + $35 = HEAP32[4193]|0; $36 = (+($35|0)); - $37 = HEAP32[4116]|0; + $37 = HEAP32[4192]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13349,26 +13353,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4158] = $45; - HEAP32[4159] = $37; + HEAP32[4234] = $45; + HEAP32[4235] = $37; $46 = (($45) - ($35))|0; - HEAP32[4160] = $46; + HEAP32[4236] = $46; $$sink1 = 0; } else { - HEAP32[4158] = $35; + HEAP32[4234] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4159] = $42; - HEAP32[4160] = 0; + HEAP32[4235] = $42; + HEAP32[4236] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4161] = $$sink1; + HEAP32[4237] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4116]|0; + $7 = HEAP32[4192]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13378,11 +13382,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8379,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4117]|0; + $9 = HEAP32[4193]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4116]|0; + $13 = HEAP32[4192]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13390,33 +13394,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4158] = $23; - HEAP32[4159] = $1; + HEAP32[4234] = $23; + HEAP32[4235] = $1; $24 = (($0) - ($23))|0; - HEAP32[4160] = $24; + HEAP32[4236] = $24; $$sink = 0; } else { - HEAP32[4158] = $0; - $17 = HEAP32[4116]|0; + HEAP32[4234] = $0; + $17 = HEAP32[4192]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4159] = $20; - HEAP32[4160] = 0; + HEAP32[4235] = $20; + HEAP32[4236] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4161] = $$sink; - $25 = HEAP32[4158]|0; + HEAP32[4237] = $$sink; + $25 = HEAP32[4234]|0; $26 = (+($25|0)); - $27 = HEAP32[4117]|0; + $27 = HEAP32[4193]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16556; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4158] = $0; - HEAP32[4159] = $1; + dest=16860; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4234] = $0; + HEAP32[4235] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13438,10 +13442,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4117] = $1; - HEAP32[4116] = $2; - HEAP32[4158] = $1; - HEAP32[4159] = $2; + HEAP32[4193] = $1; + HEAP32[4192] = $2; + HEAP32[4234] = $1; + HEAP32[4235] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13468,7 +13472,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19295 + ($1)|0); + $9 = (19599 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13489,7 +13493,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19289 + ($1)|0); + $7 = (19593 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13568,7 +13572,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16216; + $15 = 16520; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13603,7 +13607,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4531] = $3; + HEAP32[4607] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13613,7 +13617,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4530] = $$sink; + HEAP32[4606] = $$sink; return; } function _rlglInit($0,$1) { @@ -13694,18 +13698,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5129)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4196] = 1; + HEAP32[4272] = 1; $27 = (_eglGetProcAddress((5156|0))|0); - HEAP32[4197] = $27; + HEAP32[4273] = $27; $28 = (_eglGetProcAddress((5177|0))|0); - HEAP32[4198] = $28; + HEAP32[4274] = $28; $29 = (_eglGetProcAddress((5198|0))|0); - HEAP32[4199] = $29; + HEAP32[4275] = $29; } $30 = (_strcmp($24,5222)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4138] = 1; + HEAP32[4214] = 1; } $32 = (_strcmp($24,5242)|0); $33 = ($32|0)==(0); @@ -13727,7 +13731,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4133] = 1; + HEAP32[4209] = 1; } $39 = (_strcmp($24,5347)|0); $40 = ($39|0)==(0); @@ -13743,35 +13747,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4134] = 1; + HEAP32[4210] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5416)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4135] = 1; + HEAP32[4211] = 1; } $47 = (_strcmp($44,5441)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4136] = 1; + HEAP32[4212] = 1; } $49 = (_strcmp($44,5474)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4137] = 1; + HEAP32[4213] = 1; } $51 = (_strcmp($44,5510)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4200] = 1; - _glGetFloatv(34047,(16804|0)); + HEAP32[4276] = 1; + _glGetFloatv(34047,(17108|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5544)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4202] = 1; + HEAP32[4278] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -13782,61 +13786,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4196]|0; + $21 = HEAP32[4272]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5647,$vararg_buffer15); } else { _TraceLog(0,5572,$vararg_buffer13); } - $57 = HEAP32[4138]|0; + $57 = HEAP32[4214]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5783,$vararg_buffer19); } else { _TraceLog(0,5708,$vararg_buffer17); } - $59 = HEAP32[4133]|0; + $59 = HEAP32[4209]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,5875,$vararg_buffer21); } - $61 = HEAP32[4134]|0; + $61 = HEAP32[4210]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,5921,$vararg_buffer23); } - $63 = HEAP32[4135]|0; + $63 = HEAP32[4211]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,5968,$vararg_buffer25); } - $65 = HEAP32[4136]|0; + $65 = HEAP32[4212]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6019,$vararg_buffer27); } - $67 = HEAP32[4137]|0; + $67 = HEAP32[4213]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6066,$vararg_buffer29); } - $69 = HEAP32[4200]|0; + $69 = HEAP32[4276]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4201]; + $71 = +HEAPF32[4277]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6113,$vararg_buffer31); } - $73 = HEAP32[4202]|0; + $73 = HEAP32[4278]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6179,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4203] = $75; + HEAP32[4279] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6283,$vararg_buffer39); @@ -13845,14 +13849,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6232,$vararg_buffer36); } _LoadDefaultShader($2); - dest=16816; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16872; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17120; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17176; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4232] = $77; + HEAP32[4308] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4232]|0; + $79 = HEAP32[4308]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -13865,7 +13869,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4233] = $78; + HEAP32[4309] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -13880,48 +13884,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4234] = 1; - $85 = HEAP32[4203]|0; + HEAP32[4310] = 1; + $85 = HEAP32[4279]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4235] = 4; + HEAP32[4311] = 4; _MatrixIdentity($4); - dest=16944; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17248; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17008); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17312); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17072); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17376); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17136); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17440); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17200); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17504); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17264); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17568); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17328); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17632); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17392); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17696); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17456); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17760); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17520); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17824); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17584); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17888); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17648); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17952); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17712); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18016); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17776); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18080); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17840); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18144); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17904); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18208); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16652; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16956; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=16716; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4162] = 16716; + dest=17020; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4238] = 17020; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -13932,21 +13936,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4492] = $0; - HEAP32[4493] = $1; + HEAP32[4568] = $0; + HEAP32[4569] = $1; _TraceLog(0,6322,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4160]|0; + $0 = HEAP32[4236]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4161]|0; + $2 = HEAP32[4237]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4158]|0; + $4 = HEAP32[4234]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4159]|0; + $6 = HEAP32[4235]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -13957,12 +13961,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16652; + $modelview$sink = 16956; label = 3; break; } case 5888: { - $modelview$sink = 16716; + $modelview$sink = 17020; label = 3; break; } @@ -13970,9 +13974,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4162] = $modelview$sink; + HEAP32[4238] = $modelview$sink; } - HEAP32[4195] = $0; + HEAP32[4271] = $0; return; } function _rlLoadIdentity() { @@ -13980,7 +13984,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4162]|0; + $1 = HEAP32[4238]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14001,7 +14005,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4162]|0; + $8 = HEAP32[4238]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14098,15 +14102,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(17988)>>2] = $0; + HEAP32[(18292)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(17996)>>2] = $1; - HEAP32[(17992)>>2] = 0; - HEAP32[(18000)>>2] = 0; + HEAP32[(18300)>>2] = $1; + HEAP32[(18296)>>2] = 0; + HEAP32[(18304)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(17996)>>2]|0; + $2 = HEAP32[(18300)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14117,19 +14121,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4494] = 0; - HEAP32[(17984)>>2] = 0; - HEAP32[(17980)>>2] = 0; + HEAP32[4570] = 0; + HEAP32[(18288)>>2] = 0; + HEAP32[(18284)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18036)>>2] = $5; + HEAP32[(18340)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18044)>>2] = $6; - HEAP32[(18040)>>2] = 0; - HEAP32[(18048)>>2] = 0; + HEAP32[(18348)>>2] = $6; + HEAP32[(18344)>>2] = 0; + HEAP32[(18352)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18044)>>2]|0; + $7 = HEAP32[(18348)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14140,24 +14144,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4506] = 0; - HEAP32[(18032)>>2] = 0; - HEAP32[(18028)>>2] = 0; + HEAP32[4582] = 0; + HEAP32[(18336)>>2] = 0; + HEAP32[(18332)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18084)>>2] = $10; + HEAP32[(18388)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18088)>>2] = $11; + HEAP32[(18392)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18092)>>2] = $12; + HEAP32[(18396)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18096)>>2] = $13; - $14 = HEAP32[(18084)>>2]|0; + HEAP32[(18400)>>2] = $13; + $14 = HEAP32[(18388)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18088)>>2]|0; + $15 = HEAP32[(18392)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18092)>>2]|0; + $17 = HEAP32[(18396)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14168,7 +14172,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18096)>>2]|0; + $16 = HEAP32[(18400)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14205,140 +14209,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4518] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[(18080)>>2] = 0; + HEAP32[4594] = 0; + HEAP32[(18380)>>2] = 0; + HEAP32[(18384)>>2] = 0; _TraceLog(0,6369,$vararg_buffer); - $20 = HEAP32[4196]|0; + $20 = HEAP32[4272]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4197]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18004)); - $44 = HEAP32[4198]|0; - $45 = HEAP32[(18004)>>2]|0; + $43 = HEAP32[4273]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18308)); + $44 = HEAP32[4274]|0; + $45 = HEAP32[(18308)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18008)|0)); - $46 = HEAP32[(18008)>>2]|0; + _glGenBuffers(2,((18312)|0)); + $46 = HEAP32[(18312)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(17988)>>2]|0; + $47 = HEAP32[(18292)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(16876)>>2]|0; + $48 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(16876)>>2]|0; + $49 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18012)|0)); - $50 = HEAP32[(18012)>>2]|0; + _glGenBuffers(2,((18316)|0)); + $50 = HEAP32[(18316)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(17996)>>2]|0; + $51 = HEAP32[(18300)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(16896)>>2]|0; + $52 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(16896)>>2]|0; + $53 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4196]|0; + $54 = HEAP32[4272]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18008)>>2]|0; - $58 = HEAP32[(18012)>>2]|0; + $57 = HEAP32[(18312)>>2]|0; + $58 = HEAP32[(18316)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6507,$vararg_buffer3); } else { - $56 = HEAP32[(18004)>>2]|0; + $56 = HEAP32[(18308)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6442,$vararg_buffer1); } - $59 = HEAP32[4196]|0; + $59 = HEAP32[4272]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4197]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18052)); - $62 = HEAP32[4198]|0; - $63 = HEAP32[(18052)>>2]|0; + $61 = HEAP32[4273]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18356)); + $62 = HEAP32[4274]|0; + $63 = HEAP32[(18356)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18056)|0)); - $64 = HEAP32[(18056)>>2]|0; + _glGenBuffers(1,((18360)|0)); + $64 = HEAP32[(18360)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18036)>>2]|0; + $65 = HEAP32[(18340)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(16876)>>2]|0; + $66 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(16876)>>2]|0; + $67 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18060)|0)); - $68 = HEAP32[(18060)>>2]|0; + _glGenBuffers(1,((18364)|0)); + $68 = HEAP32[(18364)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18044)>>2]|0; + $69 = HEAP32[(18348)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(16896)>>2]|0; + $70 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(16896)>>2]|0; + $71 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4196]|0; + $72 = HEAP32[4272]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18056)>>2]|0; - $76 = HEAP32[(18060)>>2]|0; + $75 = HEAP32[(18360)>>2]|0; + $76 = HEAP32[(18364)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6653,$vararg_buffer10); } else { - $74 = HEAP32[(18052)>>2]|0; + $74 = HEAP32[(18356)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6584,$vararg_buffer7); } - $77 = HEAP32[4196]|0; + $77 = HEAP32[4272]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4197]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18100)); - $80 = HEAP32[4198]|0; - $81 = HEAP32[(18100)>>2]|0; + $79 = HEAP32[4273]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18404)); + $80 = HEAP32[4274]|0; + $81 = HEAP32[(18404)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18104)|0)); - $82 = HEAP32[(18104)>>2]|0; + _glGenBuffers(1,((18408)|0)); + $82 = HEAP32[(18408)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18084)>>2]|0; + $83 = HEAP32[(18388)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(16876)>>2]|0; + $84 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(16876)>>2]|0; + $85 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18108)|0)); - $86 = HEAP32[(18108)>>2]|0; + _glGenBuffers(1,((18412)|0)); + $86 = HEAP32[(18412)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18088)>>2]|0; + $87 = HEAP32[(18392)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(16880)>>2]|0; + $88 = HEAP32[(17184)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(16880)>>2]|0; + $89 = HEAP32[(17184)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18112)|0)); - $90 = HEAP32[(18112)>>2]|0; + _glGenBuffers(1,((18416)|0)); + $90 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18092)>>2]|0; + $91 = HEAP32[(18396)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(16896)>>2]|0; + $92 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(16896)>>2]|0; + $93 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18116)|0)); - $94 = HEAP32[(18116)>>2]|0; + _glGenBuffers(1,((18420)|0)); + $94 = HEAP32[(18420)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18096)>>2]|0; + $95 = HEAP32[(18400)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4196]|0; + $96 = HEAP32[4272]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18104)>>2]|0; - $100 = HEAP32[(18108)>>2]|0; - $101 = HEAP32[(18112)>>2]|0; - $102 = HEAP32[(18116)>>2]|0; + $99 = HEAP32[(18408)>>2]|0; + $100 = HEAP32[(18412)>>2]|0; + $101 = HEAP32[(18416)>>2]|0; + $102 = HEAP32[(18420)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14348,16 +14352,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6799,$vararg_buffer17); } else { - $98 = HEAP32[(18100)>>2]|0; + $98 = HEAP32[(18404)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6734,$vararg_buffer14); } - $103 = HEAP32[4196]|0; + $103 = HEAP32[4272]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4198]|0; + $105 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14538,9 +14542,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19289 + ($0)|0); + $1 = (19593 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19292 + ($0)|0); + $3 = (19596 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14552,9 +14556,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19289 + ($0)|0); + $1 = (19593 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19292 + ($0)|0); + $3 = (19596 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14575,7 +14579,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4115]|0; + $0 = HEAP32[4191]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8643,$vararg_buffer); @@ -14586,9 +14590,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16500>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16500+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16500+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16500+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16500+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16804>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16804+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16804+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16804+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16804+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16528)>>2]|0; + $0 = HEAP32[(16832)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14599,11 +14603,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(16812|0)); - $0 = HEAP32[4203]|0; + _glDeleteTextures(1,(17116|0)); + $0 = HEAP32[4279]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8670,$vararg_buffer); - $1 = HEAP32[4233]|0; + $1 = HEAP32[4309]|0; _free($1); STACKTOP = sp;return; } @@ -14611,17 +14615,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4204]|0; + $0 = HEAP32[4280]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4196]|0; + $0 = HEAP32[4272]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4198]|0; + $2 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14630,39 +14634,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18008)|0)); - _glDeleteBuffers(1,((18012)|0)); - _glDeleteBuffers(1,((18056)|0)); - _glDeleteBuffers(1,((18060)|0)); - _glDeleteBuffers(1,((18104)|0)); - _glDeleteBuffers(1,((18108)|0)); - _glDeleteBuffers(1,((18112)|0)); - _glDeleteBuffers(1,((18116)|0)); - $3 = HEAP32[4196]|0; + _glDeleteBuffers(1,((18312)|0)); + _glDeleteBuffers(1,((18316)|0)); + _glDeleteBuffers(1,((18360)|0)); + _glDeleteBuffers(1,((18364)|0)); + _glDeleteBuffers(1,((18408)|0)); + _glDeleteBuffers(1,((18412)|0)); + _glDeleteBuffers(1,((18416)|0)); + _glDeleteBuffers(1,((18420)|0)); + $3 = HEAP32[4272]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18004)); - $6 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18052)); - $7 = HEAP32[4199]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18100)); - } - $8 = HEAP32[(17988)>>2]|0; + $5 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18308)); + $6 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18356)); + $7 = HEAP32[4275]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18404)); + } + $8 = HEAP32[(18292)>>2]|0; _free($8); - $9 = HEAP32[(17996)>>2]|0; + $9 = HEAP32[(18300)>>2]|0; _free($9); - $10 = HEAP32[(18036)>>2]|0; + $10 = HEAP32[(18340)>>2]|0; _free($10); - $11 = HEAP32[(18044)>>2]|0; + $11 = HEAP32[(18348)>>2]|0; _free($11); - $12 = HEAP32[(18084)>>2]|0; + $12 = HEAP32[(18388)>>2]|0; _free($12); - $13 = HEAP32[(18088)>>2]|0; + $13 = HEAP32[(18392)>>2]|0; _free($13); - $14 = HEAP32[(18092)>>2]|0; + $14 = HEAP32[(18396)>>2]|0; _free($14); - $15 = HEAP32[(18096)>>2]|0; + $15 = HEAP32[(18400)>>2]|0; _free($15); return; } @@ -14702,16 +14706,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2046] = $0; - $1 = +HEAPF64[2029]; + HEAPF64[2084] = $0; + $1 = +HEAPF64[2067]; $2 = $0 - $1; - HEAPF64[2047] = $2; - HEAPF64[2029] = $0; + HEAPF64[2085] = $2; + HEAPF64[2067] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16556; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=16860; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18128); + _rlMultMatrixf(18432); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14720,53 +14724,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4532] = $1; + HEAP32[4608] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18132)>>2] = $3; + HEAP32[(18436)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18136)>>2] = $5; + HEAP32[(18440)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18140)>>2] = $7; + HEAP32[(18444)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18144)>>2] = $9; + HEAP32[(18448)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18148)>>2] = $11; + HEAP32[(18452)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18152)>>2] = $13; + HEAP32[(18456)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18156)>>2] = $15; + HEAP32[(18460)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18160)>>2] = $17; + HEAP32[(18464)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18164)>>2] = $19; + HEAP32[(18468)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18168)>>2] = $21; + HEAP32[(18472)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18172)>>2] = $23; + HEAP32[(18476)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18176)>>2] = $25; + HEAP32[(18480)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18180)>>2] = $27; + HEAP32[(18484)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18184)>>2] = $29; + HEAP32[(18488)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18188)>>2] = $31; - return (18128|0); + HEAP32[(18492)>>2] = $31; + return (18432|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -14841,7 +14845,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4162]|0; + $49 = HEAP32[4238]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -14855,15 +14859,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2046] = $0; - $1 = +HEAPF64[2029]; + HEAPF64[2084] = $0; + $1 = +HEAPF64[2067]; $2 = $0 - $1; - HEAPF64[2048] = $2; - HEAPF64[2029] = $0; - $3 = +HEAPF64[2047]; + HEAPF64[2086] = $2; + HEAPF64[2067] = $0; + $3 = +HEAPF64[2085]; $4 = $2 + $3; - HEAPF64[2049] = $4; - $5 = +HEAPF64[2026]; + HEAPF64[2087] = $4; + $5 = +HEAPF64[2064]; $6 = $4 < $5; if (!($6)) { return; @@ -14873,13 +14877,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2046] = $10; - $11 = +HEAPF64[2029]; + HEAPF64[2084] = $10; + $11 = +HEAPF64[2067]; $12 = $10 - $11; - HEAPF64[2029] = $10; - $13 = +HEAPF64[2049]; + HEAPF64[2067] = $10; + $13 = +HEAPF64[2087]; $14 = $12 + $13; - HEAPF64[2049] = $14; + HEAPF64[2087] = $14; return; } function _rlglDraw() { @@ -14892,7 +14896,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4115]|0; + $0 = HEAP32[4191]|0; _glfwSwapBuffers(($0|0)); return; } @@ -14908,20 +14912,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4548] = 0; - $3 = HEAP32[4115]|0; + HEAP32[4624] = 0; + $3 = HEAP32[4191]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4050] = $5; + HEAPF32[4126] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16204)>>2] = $7; - _memcpy((19807|0),(19295|0),512)|0; - ;HEAP8[19292>>0]=HEAP8[19289>>0]|0;HEAP8[19292+1>>0]=HEAP8[19289+1>>0]|0;HEAP8[19292+2>>0]=HEAP8[19289+2>>0]|0; - $8 = HEAP32[4531]|0; - HEAP32[4118] = $8; - HEAP32[4531] = 0; + HEAPF32[(16508)>>2] = $7; + _memcpy((20111|0),(19599|0),512)|0; + ;HEAP8[19596>>0]=HEAP8[19593>>0]|0;HEAP8[19596+1>>0]=HEAP8[19593+1>>0]|0;HEAP8[19596+2>>0]=HEAP8[19593+2>>0]|0; + $8 = HEAP32[4607]|0; + HEAP32[4194] = $8; + HEAP32[4607] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -14931,8 +14935,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20319 + ($$05160<<5)|0); - $scevgep67 = (20447 + ($$05160<<5)|0); + $scevgep = (20623 + ($$05160<<5)|0); + $scevgep67 = (20751 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -14946,7 +14950,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20447 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20751 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -14973,7 +14977,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18196 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18500 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -14989,7 +14993,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4548] = $$lcssa; + HEAP32[4624] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15030,87 +15034,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4494]|0; + $0 = HEAP32[4570]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4196]|0; + $2 = HEAP32[4272]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4198]|0; - $5 = HEAP32[(18004)>>2]|0; + $4 = HEAP32[4274]|0; + $5 = HEAP32[(18308)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18008)>>2]|0; + $6 = HEAP32[(18312)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4494]|0; + $7 = HEAP32[4570]|0; $8 = ($7*12)|0; - $9 = HEAP32[(17988)>>2]|0; + $9 = HEAP32[(18292)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18012)>>2]|0; + $10 = HEAP32[(18316)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(17984)>>2]|0; + $11 = HEAP32[(18288)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(17996)>>2]|0; + $13 = HEAP32[(18300)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4506]|0; + $14 = HEAP32[4582]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4196]|0; + $16 = HEAP32[4272]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4198]|0; - $19 = HEAP32[(18052)>>2]|0; + $18 = HEAP32[4274]|0; + $19 = HEAP32[(18356)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18056)>>2]|0; + $20 = HEAP32[(18360)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4506]|0; + $21 = HEAP32[4582]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18036)>>2]|0; + $23 = HEAP32[(18340)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18060)>>2]|0; + $24 = HEAP32[(18364)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18032)>>2]|0; + $25 = HEAP32[(18336)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18044)>>2]|0; + $27 = HEAP32[(18348)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4518]|0; + $28 = HEAP32[4594]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4196]|0; + $30 = HEAP32[4272]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4198]|0; - $33 = HEAP32[(18100)>>2]|0; + $32 = HEAP32[4274]|0; + $33 = HEAP32[(18404)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18104)>>2]|0; + $34 = HEAP32[(18408)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4518]|0; + $35 = HEAP32[4594]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18084)>>2]|0; + $37 = HEAP32[(18388)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18108)>>2]|0; + $38 = HEAP32[(18412)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4518]|0; + $39 = HEAP32[4594]|0; $40 = $39 << 3; - $41 = HEAP32[(18088)>>2]|0; + $41 = HEAP32[(18392)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18112)>>2]|0; + $42 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4518]|0; + $43 = HEAP32[4594]|0; $44 = $43 << 2; - $45 = HEAP32[(18092)>>2]|0; + $45 = HEAP32[(18396)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4196]|0; + $46 = HEAP32[4272]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4198]|0; + $48 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15128,9 +15132,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16652; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=16716; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4581]|0; + dest=$0; src=16956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17020; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4657]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15140,134 +15144,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4494]|0; + $8 = HEAP32[4570]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4506]|0; + $10 = HEAP32[4582]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4518]|0; + $12 = HEAP32[4594]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4218]|0; + $14 = HEAP32[4294]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16716; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16652; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17020; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=16956; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(16900)>>2]|0; + $15 = HEAP32[(17204)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(16904)>>2]|0; + $17 = HEAP32[(17208)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(16916)>>2]|0; + $18 = HEAP32[(17220)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4494]|0; + $19 = HEAP32[4570]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4203]|0; + $21 = HEAP32[4279]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4196]|0; + $22 = HEAP32[4272]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18008)>>2]|0; + $26 = HEAP32[(18312)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(16876)>>2]|0; + $27 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(16876)>>2]|0; + $28 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18012)>>2]|0; + $29 = HEAP32[(18316)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(16896)>>2]|0; + $30 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(16896)>>2]|0; + $31 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4198]|0; - $25 = HEAP32[(18004)>>2]|0; + $24 = HEAP32[4274]|0; + $25 = HEAP32[(18308)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4494]|0; + $32 = HEAP32[4570]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4196]|0; + $33 = HEAP32[4272]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4506]|0; + $35 = HEAP32[4582]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4203]|0; + $37 = HEAP32[4279]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4196]|0; + $38 = HEAP32[4272]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18056)>>2]|0; + $42 = HEAP32[(18360)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(16876)>>2]|0; + $43 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(16876)>>2]|0; + $44 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18060)>>2]|0; + $45 = HEAP32[(18364)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(16896)>>2]|0; + $46 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(16896)>>2]|0; + $47 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4198]|0; - $41 = HEAP32[(18052)>>2]|0; + $40 = HEAP32[4274]|0; + $41 = HEAP32[(18356)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4506]|0; + $48 = HEAP32[4582]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4196]|0; + $49 = HEAP32[4272]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4518]|0; + $51 = HEAP32[4594]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4196]|0; + $53 = HEAP32[4272]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18104)>>2]|0; + $57 = HEAP32[(18408)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(16876)>>2]|0; + $58 = HEAP32[(17180)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(16876)>>2]|0; + $59 = HEAP32[(17180)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18108)>>2]|0; + $60 = HEAP32[(18412)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(16880)>>2]|0; + $61 = HEAP32[(17184)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(16880)>>2]|0; + $62 = HEAP32[(17184)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18112)>>2]|0; + $63 = HEAP32[(18416)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(16896)>>2]|0; + $64 = HEAP32[(17200)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(16896)>>2]|0; + $65 = HEAP32[(17200)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18116)>>2]|0; + $66 = HEAP32[(18420)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4198]|0; - $56 = HEAP32[(18100)>>2]|0; + $55 = HEAP32[4274]|0; + $56 = HEAP32[(18404)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4234]|0; + $67 = HEAP32[4310]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4233]|0; + $71 = HEAP32[4309]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15278,14 +15282,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4233]|0; + $80 = HEAP32[4309]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4234]|0; + $87 = HEAP32[4310]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15294,7 +15298,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4196]|0; + $69 = HEAP32[4272]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15302,10 +15306,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4196]|0; + $89 = HEAP32[4272]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4198]|0; + $91 = HEAP32[4274]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15317,22 +15321,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4234] = 1; - $5 = HEAP32[4203]|0; - $6 = HEAP32[4233]|0; + HEAP32[4310] = 1; + $5 = HEAP32[4279]|0; + $6 = HEAP32[4309]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4494] = 0; - HEAP32[(17984)>>2] = 0; - HEAP32[4506] = 0; - HEAP32[(18032)>>2] = 0; - HEAP32[4518] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[(18080)>>2] = 0; + HEAP32[4570] = 0; + HEAP32[(18288)>>2] = 0; + HEAP32[4582] = 0; + HEAP32[(18336)>>2] = 0; + HEAP32[4594] = 0; + HEAP32[(18380)>>2] = 0; + HEAP32[(18384)>>2] = 0; HEAPF32[744] = -1.0; - dest=16652; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16716; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16956; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17020; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15347,17 +15351,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4492]|0; + $5 = HEAP32[4568]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4493]|0; + $9 = HEAP32[4569]|0; _rlViewport($7,0,$8,$9); - $10 = (18556 + ($0<<6)|0); + $10 = (18860 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18428 + ($0<<6)|0); + $11 = (18732 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15369,14 +15373,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16716; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17020; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16652; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16956; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15384,43 +15388,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4671]|0; + $0 = HEAP32[4747]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8785,$vararg_buffer); } - $2 = HEAP32[4671]|0; - $3 = (16944 + ($2<<6)|0); - $4 = HEAP32[4162]|0; + $2 = HEAP32[4747]|0; + $3 = (17248 + ($2<<6)|0); + $4 = HEAP32[4238]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4671]|0; + $5 = HEAP32[4747]|0; $6 = (($5) + 1)|0; - HEAP32[4671] = $6; - $7 = HEAP32[4195]|0; + HEAP32[4747] = $6; + $7 = HEAP32[4271]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4672] = 1; + HEAP32[4748] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4671]|0; + $0 = HEAP32[4747]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4671]|0; + $2 = HEAP32[4747]|0; $3 = (($2) + -1)|0; - $4 = (16944 + ($3<<6)|0); - $5 = HEAP32[4162]|0; + $4 = (17248 + ($3<<6)|0); + $5 = HEAP32[4238]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4671] = $6; + HEAP32[4747] = $6; return; } function _IsFileExtension($0,$1) { @@ -15453,7 +15457,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4162]|0; + $5 = HEAP32[4238]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15486,7 +15490,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4162]|0; + $11 = HEAP32[4238]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15497,7 +15501,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4235] = $0; + HEAP32[4311] = $0; return; } function _rlEnd() { @@ -15513,21 +15517,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4672]|0; + $0 = HEAP32[4748]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4673]|0; + $2 = HEAP32[4749]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4232]|0; + $6 = HEAP32[4308]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4162]|0; + $8 = HEAP32[4238]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4673]|0; + $5 = HEAP32[4749]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15535,12 +15539,12 @@ function _rlEnd() { break; } } - HEAP32[4672] = 0; + HEAP32[4748] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4232]|0; + $11 = HEAP32[4308]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15549,7 +15553,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4673]|0; + $19 = HEAP32[4749]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15559,15 +15563,15 @@ function _rlEnd() { } } } else { - HEAP32[4672] = 0; + HEAP32[4748] = 0; } - HEAP32[4673] = 0; + HEAP32[4749] = 0; } - $21 = HEAP32[4235]|0; + $21 = HEAP32[4311]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4494]|0; - $23 = HEAP32[(17984)>>2]|0; + $22 = HEAP32[4570]|0; + $23 = HEAP32[(18288)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15586,16 +15590,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(17996)>>2]|0; - $28 = HEAP32[(17984)>>2]|0; + $27 = HEAP32[(18300)>>2]|0; + $28 = HEAP32[(18288)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(17996)>>2]|0; - $35 = HEAP32[(17984)>>2]|0; + $34 = HEAP32[(18300)>>2]|0; + $35 = HEAP32[(18288)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15603,8 +15607,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(17996)>>2]|0; - $43 = HEAP32[(17984)>>2]|0; + $42 = HEAP32[(18300)>>2]|0; + $43 = HEAP32[(18288)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15612,8 +15616,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(17996)>>2]|0; - $51 = HEAP32[(17984)>>2]|0; + $50 = HEAP32[(18300)>>2]|0; + $51 = HEAP32[(18288)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15621,9 +15625,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(17984)>>2]|0; + $58 = HEAP32[(18288)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(17984)>>2] = $59; + HEAP32[(18288)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15639,8 +15643,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4506]|0; - $62 = HEAP32[(18032)>>2]|0; + $61 = HEAP32[4582]|0; + $62 = HEAP32[(18336)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15659,16 +15663,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18044)>>2]|0; - $67 = HEAP32[(18032)>>2]|0; + $66 = HEAP32[(18348)>>2]|0; + $67 = HEAP32[(18336)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18044)>>2]|0; - $74 = HEAP32[(18032)>>2]|0; + $73 = HEAP32[(18348)>>2]|0; + $74 = HEAP32[(18336)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15676,8 +15680,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18044)>>2]|0; - $82 = HEAP32[(18032)>>2]|0; + $81 = HEAP32[(18348)>>2]|0; + $82 = HEAP32[(18336)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15685,8 +15689,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18044)>>2]|0; - $90 = HEAP32[(18032)>>2]|0; + $89 = HEAP32[(18348)>>2]|0; + $90 = HEAP32[(18336)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15694,9 +15698,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18032)>>2]|0; + $97 = HEAP32[(18336)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18032)>>2] = $98; + HEAP32[(18336)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15712,8 +15716,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4518]|0; - $101 = HEAP32[(18080)>>2]|0; + $100 = HEAP32[4594]|0; + $101 = HEAP32[(18384)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15721,16 +15725,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18092)>>2]|0; - $106 = HEAP32[(18080)>>2]|0; + $105 = HEAP32[(18396)>>2]|0; + $106 = HEAP32[(18384)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18092)>>2]|0; - $113 = HEAP32[(18080)>>2]|0; + $112 = HEAP32[(18396)>>2]|0; + $113 = HEAP32[(18384)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15738,8 +15742,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18092)>>2]|0; - $121 = HEAP32[(18080)>>2]|0; + $120 = HEAP32[(18396)>>2]|0; + $121 = HEAP32[(18384)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15747,8 +15751,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18092)>>2]|0; - $129 = HEAP32[(18080)>>2]|0; + $128 = HEAP32[(18396)>>2]|0; + $129 = HEAP32[(18384)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15756,9 +15760,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18080)>>2]|0; + $136 = HEAP32[(18384)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18080)>>2] = $137; + HEAP32[(18384)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15769,8 +15773,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4518]|0; - $140 = HEAP32[(18076)>>2]|0; + $139 = HEAP32[4594]|0; + $140 = HEAP32[(18380)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -15778,8 +15782,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18088)>>2]|0; - $$promoted = HEAP32[(18076)>>2]|0; + $142 = HEAP32[(18392)>>2]|0; + $$promoted = HEAP32[(18380)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -15787,7 +15791,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18076)>>2] = $147; + HEAP32[(18380)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -15814,11 +15818,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4672]|0; + $3 = HEAP32[4748]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4232]|0; - $6 = HEAP32[4673]|0; + $5 = HEAP32[4308]|0; + $6 = HEAP32[4749]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -15826,16 +15830,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4673] = $10; + HEAP32[4749] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4235]|0; + $11 = HEAP32[4311]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4494]|0; + $12 = HEAP32[4570]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(17988)>>2]|0; + $14 = HEAP32[(18292)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -15846,7 +15850,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4494] = $21; + HEAP32[4570] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8823,$vararg_buffer); @@ -15855,10 +15859,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4506]|0; + $22 = HEAP32[4582]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18036)>>2]|0; + $24 = HEAP32[(18340)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -15869,7 +15873,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4506] = $31; + HEAP32[4582] = $31; STACKTOP = sp;return; } else { _TraceLog(1,8848,$vararg_buffer1); @@ -15878,10 +15882,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4518]|0; + $32 = HEAP32[4594]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18084)>>2]|0; + $34 = HEAP32[(18388)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -15892,9 +15896,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4518] = $41; - $42 = HEAP32[4233]|0; - $43 = HEAP32[4234]|0; + HEAP32[4594] = $41; + $42 = HEAP32[4309]|0; + $43 = HEAP32[4310]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -15926,13 +15930,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4235]|0; + $2 = HEAP32[4311]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18088)>>2]|0; - $5 = HEAP32[(18076)>>2]|0; + $4 = HEAP32[(18392)>>2]|0; + $5 = HEAP32[(18380)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -15940,7 +15944,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18076)>>2] = $10; + HEAP32[(18380)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -15959,18 +15963,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4235]|0; + $4 = HEAP32[4311]|0; switch ($4|0) { case 1: { - $$sink37 = (17984);$$sink38 = (17996); + $$sink37 = (18288);$$sink38 = (18300); break; } case 4: { - $$sink37 = (18032);$$sink38 = (18044); + $$sink37 = (18336);$$sink38 = (18348); break; } case 7: { - $$sink37 = (18080);$$sink38 = (18092); + $$sink37 = (18384);$$sink38 = (18396); break; } default: { @@ -16009,8 +16013,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4233]|0; - $2 = HEAP32[4234]|0; + $1 = HEAP32[4309]|0; + $2 = HEAP32[4310]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16023,9 +16027,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4234] = $10; + HEAP32[4310] = $10; } - $11 = HEAP32[4234]|0; + $11 = HEAP32[4310]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16036,7 +16040,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4518]|0; + $0 = HEAP32[4594]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16044,40 +16048,11 @@ function _rlDisableTexture() { _rlglDraw(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(8902); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10235)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4674] = $0; + HEAP32[4750] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16141,7 +16116,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((8914|0),(8940|0),1125,(8963|0)); + ___assert_fail((8902|0),(8928|0),1041,(8951|0)); // unreachable; } } @@ -16159,7 +16134,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4675]|0; + $15 = HEAP32[4751]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16252,7 +16227,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9004); + _stbi__err(8992); $$0 = 0; return ($$0|0); } else { @@ -16274,7 +16249,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(8995); + _stbi__err(8983); $$0 = 0; return ($$0|0); } @@ -16344,7 +16319,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9023); + _stbi__err(9011); $$045 = 0; return ($$045|0); } @@ -16905,7 +16880,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9339 + ($120)|0); + $121 = (9327 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -16947,97 +16922,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9113); + _stbi__err(9101); $$6$ph = 0; break; } case 9: { - _stbi__err(9127); + _stbi__err(9115); $$6$ph = 0; break; } case 11: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 13: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 15: { - _stbi__err(9150); + _stbi__err(9138); $$6$ph = 0; break; } case 17: { - _stbi__err(9170); + _stbi__err(9158); $$6$ph = 0; break; } case 20: { - _stbi__err(9170); + _stbi__err(9158); $$6$ph = 0; break; } case 22: { - _stbi__err(9170); + _stbi__err(9158); $$6$ph = 0; break; } case 24: { - _stbi__err(9180); + _stbi__err(9168); $$6$ph = 0; break; } case 26: { - _stbi__err(9196); + _stbi__err(9184); $$6$ph = 0; break; } case 28: { - _stbi__err(9214); + _stbi__err(9202); $$6$ph = 0; break; } case 31: { - _stbi__err(9235); + _stbi__err(9223); $$6$ph = 0; break; } case 34: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 37: { - _stbi__err(9140); + _stbi__err(9128); $$6$ph = 0; break; } case 39: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 41: { - _stbi__err(9264); + _stbi__err(9252); $$6$ph = 0; break; } case 44: { - _stbi__err(9264); + _stbi__err(9252); $$6$ph = 0; break; } case 47: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 49: { - _stbi__err(9277); + _stbi__err(9265); $$6$ph = 0; break; } @@ -17048,32 +17023,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9293); + _stbi__err(9281); $$6$ph = 0; break; } case 58: { - _stbi__err(9310); + _stbi__err(9298); $$6$ph = 0; break; } case 61: { - _stbi__err(9323); + _stbi__err(9311); $$6$ph = 0; break; } case 63: { - _stbi__err(9310); + _stbi__err(9298); $$6$ph = 0; break; } case 70: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 72: { - _stbi__err(9348); + _stbi__err(9336); $$6$ph = 0; break; } @@ -17085,12 +17060,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(8995); + _stbi__err(8983); $$6$ph = 0; break; } case 83: { - _stbi__err(9356); + _stbi__err(9344); $$6$ph = 0; break; } @@ -17103,7 +17078,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9366); + _stbi__err(9354); $$4 = 0; break; } @@ -17168,7 +17143,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4676]|0; + $193 = HEAP32[4752]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17201,7 +17176,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9249); + _stbi__err(9237); $$4 = 0; } } while(0); @@ -17209,24 +17184,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9249); + _stbi__err(9237); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9374] = $206; + HEAP8[9362] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9375)>>0] = $209; + HEAP8[(9363)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9376)>>0] = $211; + HEAP8[(9364)>>0] = $211; $212 = $207&255; - HEAP8[(9377)>>0] = $212; - _stbi__err(9374); + HEAP8[(9365)>>0] = $212; + _stbi__err(9362); $$6$ph = 0; break; } @@ -17260,14 +17235,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9036|0),(8940|0),1561,(9092|0)); + ___assert_fail((9024|0),(8928|0),1477,(9080|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(8995); + _stbi__err(8983); $$0163 = 0; return ($$0163|0); } @@ -17630,7 +17605,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9090|0),(8940|0),1590,(9092|0)); + ___assert_fail((9078|0),(8928|0),1506,(9080|0)); // unreachable; } } while(0); @@ -17664,7 +17639,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9036|0),(8940|0),1610,(9067|0)); + ___assert_fail((9024|0),(8928|0),1526,(9055|0)); // unreachable; } $7 = $2 << 1; @@ -17674,7 +17649,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(8995); + _stbi__err(8983); $$0163 = 0; return ($$0163|0); } @@ -18037,7 +18012,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9090|0),(8940|0),1639,(9067|0)); + ___assert_fail((9078|0),(8928|0),1555,(9055|0)); // unreachable; } } while(0); @@ -18185,7 +18160,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10031); + _stbi__err(10339); $$05 = 0; return ($$05|0); } @@ -18622,7 +18597,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9433|0),(8940|0),4568,(9485|0)); + ___assert_fail((9421|0),(8928|0),4569,(9473|0)); // unreachable; } } @@ -18709,7 +18684,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9433|0),(8940|0),4543,(9458|0)); + ___assert_fail((9421|0),(8928|0),4544,(9446|0)); // unreachable; } } @@ -18756,7 +18731,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4677]|0; + $16 = HEAP32[4753]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -18831,7 +18806,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9399|0),(8940|0),4649,(9417|0)); + ___assert_fail((9387|0),(8928|0),4650,(9405|0)); // unreachable; } } @@ -18854,7 +18829,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(8995); + _stbi__err(8983); $$0 = 0; return ($$0|0); } @@ -19031,7 +19006,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9514|0),(8940|0),4294,(9555|0)); + ___assert_fail((9502|0),(8928|0),4294,(9543|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19039,7 +19014,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(8995); + _stbi__err(8983); $$2 = 0; return ($$2|0); } @@ -19058,7 +19033,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9582); + _stbi__err(9570); $$2 = 0; return ($$2|0); } @@ -19071,7 +19046,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9582); + _stbi__err(9570); $$2 = 0; return ($$2|0); } @@ -19079,12 +19054,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19107,33 +19082,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9621 + ($56)|0); + $60 = (9609 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19143,24 +19118,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19170,10 +19145,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19184,10 +19159,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19198,14 +19173,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19235,7 +19210,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19250,12 +19225,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -19832,15 +19807,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9600|0),(8940|0),4315,(9555|0)); + ___assert_fail((9588|0),(8928|0),4315,(9543|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9626|0),(8940|0),4376,(9555|0)); + ___assert_fail((9614|0),(8928|0),4377,(9543|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9643); + _stbi__err(9631); $$2 = 0; return ($$2|0); } @@ -19890,7 +19865,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9339 + ($6)|0); + $336 = (9327 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20331,7 +20306,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9658|0),(8940|0),4465,(9555|0)); + ___assert_fail((9646|0),(8928|0),4466,(9543|0)); // unreachable; } else if ((label|0) == 151) { @@ -20391,8 +20366,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20407,15 +20382,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20424,65 +20399,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20606)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9657,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20607,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20575,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,9945,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20501,14 +20471,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(9984); + _stbi__err(10292); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10000); + _stbi__err(10308); $$0 = 0; return ($$0|0); } @@ -20517,7 +20487,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10015); + _stbi__err(10323); $$0 = 0; return ($$0|0); } @@ -20600,7 +20570,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((9906|0),(8940|0),4048,(9923|0)); + ___assert_fail((10214|0),(8928|0),4033,(10231|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20637,7 +20607,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(9954); + _stbi__err(10262); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20647,7 +20617,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(9967); + _stbi__err(10275); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20677,21 +20647,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20607|0),8,144)|0; - dest=(20751); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(20863); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (20887); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20575; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -20825,7 +20780,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(9844); + _stbi__err(10152); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -20914,7 +20869,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(9896); + _stbi__err(10204); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -20943,7 +20898,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10690 + ($$06579)|0); + $14 = (10998 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21034,21 +20989,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((9860|0),(8940|0),4021,(9868|0)); + ___assert_fail((10168|0),(8928|0),4006,(10176|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21058,7 +21013,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(9844); + _stbi__err(10152); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21222,7 +21177,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9669); + _stbi__err(9977); $$3$ph = 0; return ($$3$ph|0); } @@ -21232,12 +21187,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9669); + _stbi__err(9977); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9686); + _stbi__err(9994); $$3$ph = 0; return ($$3$ph|0); } @@ -21294,7 +21249,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9695); + _stbi__err(10003); $$0 = 0; return ($$0|0); } @@ -21320,7 +21275,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(8995); + _stbi__err(8983); $$0 = 0; return ($$0|0); } else { @@ -21365,7 +21320,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9791|0),(8940|0),3863,(9828|0)); + ___assert_fail((10099|0),(8928|0),3848,(10136|0)); // unreachable; } else if ((label|0) == 5) { @@ -21413,7 +21368,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9715|0),(8940|0),3891,(9731|0)); + ___assert_fail((10023|0),(8928|0),3876,(10039|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21441,7 +21396,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9762|0),(8940|0),3781,(9773|0)); + ___assert_fail((10070|0),(8928|0),3766,(10081|0)); // unreachable; } return (0)|0; @@ -21587,10 +21542,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21601,27 +21556,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10043)|0); + $6 = (_IsFileExtension($1,10351)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10096)|0); + $19 = (_IsFileExtension($1,10404)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10101,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10409,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10543)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21649,7 +21605,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21666,18 +21622,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10049,$vararg_buffer); + _TraceLog(2,10357,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21686,34 +21642,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10137,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10176,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10445,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10484,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -21732,11 +21695,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10235)|0); + $4 = (_fopen($0,10543)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10238,$vararg_buffer); + _TraceLog(2,10546,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -21835,7 +21798,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10335,$vararg_buffer4); + _TraceLog(0,10643,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -21870,14 +21833,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10381,$vararg_buffer8); + _TraceLog(2,10689,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10289,$vararg_buffer1); + _TraceLog(2,10597,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -21967,7 +21930,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10207,$vararg_buffer); + _TraceLog(2,10515,$vararg_buffer); $$0 = $6; } } @@ -22012,27 +21975,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10431,$vararg_buffer); + _TraceLog(2,10739,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10470,$vararg_buffer1); + _TraceLog(2,10778,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10496,$vararg_buffer3); + _TraceLog(2,10804,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10559,$vararg_buffer5); + _TraceLog(2,10867,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10594,$vararg_buffer7); + _TraceLog(2,10902,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10629,$vararg_buffer10); + _TraceLog(0,10937,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23215,7 +23178,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10686 + ($$361133)|0); + $199 = (10994 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23645,7 +23608,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10686 + ($$331130)|0); + $186 = (10994 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23683,7 +23646,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10686 + ($$371134)|0); + $203 = (10994 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -23722,7 +23685,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10690 + ($$421139)|0); + $235 = (10998 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24129,7 +24092,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10709 + ($495)|0); + $496 = (11017 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24166,7 +24129,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10713 + ($515)|0); + $516 = (11021 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25078,7 +25041,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10717,$vararg_buffer); + _TraceLog(2,11025,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -25099,7 +25062,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16500>>2]|0;HEAP32[$0+4>>2]=HEAP32[16500+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16500+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16500+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16500+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16500+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16500+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16500+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[16804>>2]|0;HEAP32[$0+4>>2]=HEAP32[16804+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16804+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16804+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16804+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16804+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16804+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16804+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -25605,7 +25568,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10746)|0); + $12 = (_strstr($11,11054)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -25614,7 +25577,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10750)|0); + $17 = (_strstr($16,11058)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -25623,7 +25586,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10754)|0); + $22 = (_strstr($21,11062)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -25632,7 +25595,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10758)|0); + $27 = (_strstr($26,11066)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -25641,1210 +25604,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10764)|0); + $32 = (_strcmp($31,11072)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10802)|0); + $35 = (_strcmp($34,11110)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10821; + HEAP32[$3>>2] = 11129; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,10834)|0); + $38 = (_strcmp($37,11142)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 10855; + HEAP32[$3>>2] = 11163; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,10870)|0); + $41 = (_strcmp($40,11178)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 10885; + HEAP32[$3>>2] = 11193; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,10900)|0); + $44 = (_strcmp($43,11208)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 10915; + HEAP32[$3>>2] = 11223; } } else { - HEAP32[$3>>2] = 10786; + HEAP32[$3>>2] = 11094; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,10930)|0); + $47 = (_strcmp($46,11238)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,10944)|0); + $50 = (_strcmp($49,11252)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,10956)|0); + $53 = (_strcmp($52,11264)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,10970)|0); + $56 = (_strcmp($55,11278)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,10982)|0); + $59 = (_strcmp($58,11290)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,10996)|0); + $62 = (_strcmp($61,11304)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11010)|0); + $65 = (_strcmp($64,11318)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11027)|0); + $68 = (_strcmp($67,11335)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11050)|0); + $71 = (_strcmp($70,11358)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11076)|0); + $74 = (_strcmp($73,11384)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11089)|0); + $77 = (_strcmp($76,11397)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11105)|0); + $80 = (_strcmp($79,11413)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11118)|0); + $83 = (_strcmp($82,11426)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11132)|0); + $86 = (_strcmp($85,11440)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11152)|0); + $89 = (_strcmp($88,11460)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11172)|0); + $92 = (_strcmp($91,11480)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11189)|0); + $95 = (_strcmp($94,11497)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11206)|0); + $98 = (_strcmp($97,11514)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11218)|0); + $101 = (_strcmp($100,11526)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11231)|0); + $104 = (_strcmp($103,11539)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11247)|0); + $107 = (_strcmp($106,11555)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11270)|0); + $110 = (_strcmp($109,11578)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11283)|0); + $113 = (_strcmp($112,11591)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11299)|0); + $116 = (_strcmp($115,11607)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11310)|0); + $119 = (_strcmp($118,11618)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11329)|0); + $122 = (_strcmp($121,11637)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11351)|0); + $125 = (_strcmp($124,11659)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11370)|0); + $128 = (_strcmp($127,11678)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11399)|0); + $131 = (_strcmp($130,11707)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11416)|0); + $134 = (_strcmp($133,11724)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11431)|0); + $137 = (_strcmp($136,11739)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11446)|0); + $140 = (_strcmp($139,11754)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11467)|0); + $143 = (_strcmp($142,11775)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11487)|0); + $146 = (_strcmp($145,11795)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11507)|0); + $149 = (_strcmp($148,11815)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11533)|0); + $152 = (_strcmp($151,11841)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11552)|0); + $155 = (_strcmp($154,11860)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11564)|0); + $158 = (_strcmp($157,11872)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11576)|0); + $161 = (_strcmp($160,11884)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11588)|0); + $164 = (_strcmp($163,11896)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11600)|0); + $167 = (_strcmp($166,11908)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11612)|0); + $170 = (_strcmp($169,11920)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11624)|0); + $173 = (_strcmp($172,11932)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11636)|0); + $176 = (_strcmp($175,11944)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11648)|0); + $179 = (_strcmp($178,11956)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11661)|0); + $182 = (_strcmp($181,11969)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11674)|0); + $185 = (_strcmp($184,11982)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11687)|0); + $188 = (_strcmp($187,11995)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11700)|0); + $191 = (_strcmp($190,12008)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11713)|0); + $194 = (_strcmp($193,12021)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11726)|0); + $197 = (_strcmp($196,12034)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11739)|0); + $200 = (_strcmp($199,12047)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11752)|0); + $203 = (_strcmp($202,12060)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11771)|0); + $206 = (_strcmp($205,12079)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11790)|0); + $209 = (_strcmp($208,12098)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11809)|0); + $212 = (_strcmp($211,12117)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11822)|0); + $215 = (_strcmp($214,12130)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,11840)|0); + $218 = (_strcmp($217,12148)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,11858)|0); + $221 = (_strcmp($220,12166)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,11876)|0); + $224 = (_strcmp($223,12184)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,11894)|0); + $227 = (_strcmp($226,12202)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,11914)|0); + $230 = (_strcmp($229,12222)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,10855)|0); + $233 = (_strcmp($232,11163)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,11932)|0); + $236 = (_strcmp($235,12240)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,11947)|0); + $239 = (_strcmp($238,12255)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,11968)|0); + $242 = (_strcmp($241,12276)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,11983)|0); + $245 = (_strcmp($244,12291)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12001)|0); + $248 = (_strcmp($247,12309)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12017)|0); + $251 = (_strcmp($250,12325)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12036)|0); + $254 = (_strcmp($253,12344)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12050)|0); + $257 = (_strcmp($256,12358)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12065)|0); + $260 = (_strcmp($259,12373)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10786)|0); + $263 = (_strcmp($262,11094)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12076)|0); + $266 = (_strcmp($265,12384)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,10885)|0); + $269 = (_strcmp($268,11193)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,10915)|0); + $272 = (_strcmp($271,11223)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12092)|0); + $275 = (_strcmp($274,12400)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12119)|0); + $278 = (_strcmp($277,12427)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12133)|0); + $281 = (_strcmp($280,12441)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10821)|0); + $284 = (_strcmp($283,11129)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12153)|0); + $287 = (_strcmp($286,12461)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12171)|0); + $290 = (_strcmp($289,12479)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12183)|0); + $293 = (_strcmp($292,12491)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12204)|0); + $296 = (_strcmp($295,12512)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12222)|0); + $299 = (_strcmp($298,12530)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12240)|0); + $302 = (_strcmp($301,12548)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12261)|0); + $305 = (_strcmp($304,12569)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12287)|0); + $308 = (_strcmp($307,12595)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12310)|0); + $311 = (_strcmp($310,12618)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12348)|0); + $314 = (_strcmp($313,12656)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12364)|0); + $317 = (_strcmp($316,12672)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12379)|0); + $320 = (_strcmp($319,12687)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12402)|0); + $323 = (_strcmp($322,12710)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12415)|0); + $326 = (_strcmp($325,12723)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12429)|0); + $329 = (_strcmp($328,12737)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12443)|0); + $332 = (_strcmp($331,12751)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12463)|0); + $335 = (_strcmp($334,12771)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12483)|0); + $338 = (_strcmp($337,12791)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12499)|0); + $341 = (_strcmp($340,12807)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12517)|0); + $344 = (_strcmp($343,12825)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12533)|0); + $347 = (_strcmp($346,12841)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12548)|0); + $350 = (_strcmp($349,12856)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12570)|0); + $353 = (_strcmp($352,12878)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12588)|0); + $356 = (_strcmp($355,12896)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12609)|0); + $359 = (_strcmp($358,12917)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12627)|0); + $362 = (_strcmp($361,12935)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12640)|0); + $365 = (_strcmp($364,12948)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12655)|0); + $368 = (_strcmp($367,12963)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12669)|0); + $371 = (_strcmp($370,12977)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12679)|0); + $374 = (_strcmp($373,12987)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12689)|0); + $377 = (_strcmp($376,12997)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12711)|0); + $380 = (_strcmp($379,13019)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12737)|0); + $383 = (_strcmp($382,13045)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12764)|0); + $386 = (_strcmp($385,13072)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12777)|0); + $389 = (_strcmp($388,13085)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12792)|0); + $392 = (_strcmp($391,13100)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12807)|0); + $395 = (_strcmp($394,13115)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,12831)|0); + $398 = (_strcmp($397,13139)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,12842)|0); + $401 = (_strcmp($400,13150)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,12864)|0); + $404 = (_strcmp($403,13172)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,12886)|0); + $407 = (_strcmp($406,13194)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,12910)|0); + $410 = (_strcmp($409,13218)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,12919)|0); + $413 = (_strcmp($412,13227)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,12927)|0); + $416 = (_strcmp($415,13235)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,12940)|0); + $419 = (_strcmp($418,13248)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,12954)|0); + $422 = (_strcmp($421,13262)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,12966)|0); + $425 = (_strcmp($424,13274)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,12975)|0); + $428 = (_strcmp($427,13283)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,12985)|0); + $431 = (_strcmp($430,13293)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,12997)|0); + $434 = (_strcmp($433,13305)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13008)|0); + $437 = (_strcmp($436,13316)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13016)|0); + $440 = (_strcmp($439,13324)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13028)|0); + $443 = (_strcmp($442,13336)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13043)|0); + $446 = (_strcmp($445,13351)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13055)|0); + $449 = (_strcmp($448,13363)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13069)|0); + $452 = (_strcmp($451,13377)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13094)|0); + $455 = (_strcmp($454,13402)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13111)|0); + $458 = (_strcmp($457,13419)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13127)|0); + $461 = (_strcmp($460,13435)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13143)|0); + $464 = (_strcmp($463,13451)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13155)|0); + $467 = (_strcmp($466,13463)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13167)|0); + $470 = (_strcmp($469,13475)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13191)|0); + $473 = (_strcmp($472,13499)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13204)|0); + $476 = (_strcmp($475,13512)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13218)|0); + $479 = (_strcmp($478,13526)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13240)|0); + $482 = (_strcmp($481,13548)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13247)|0); + $485 = (_strcmp($484,13555)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13263)|0); + $488 = (_strcmp($487,13571)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13280)|0); + $491 = (_strcmp($490,13588)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13297)|0); + $494 = (_strcmp($493,13605)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13313)|0); + $497 = (_strcmp($496,13621)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13329)|0); + $500 = (_strcmp($499,13637)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13346)|0); + $503 = (_strcmp($502,13654)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13360)|0); + $506 = (_strcmp($505,13668)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13372)|0); + $509 = (_strcmp($508,13680)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13383)|0); + $512 = (_strcmp($511,13691)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13396)|0); + $515 = (_strcmp($514,13704)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13406)|0); + $518 = (_strcmp($517,13714)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13423)|0); + $521 = (_strcmp($520,13731)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13435)|0); + $524 = (_strcmp($523,13743)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13457)|0); + $527 = (_strcmp($526,13765)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13477)|0); + $530 = (_strcmp($529,13785)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13490)|0); + $533 = (_strcmp($532,13798)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13512)|0); + $536 = (_strcmp($535,13820)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13532)|0); + $539 = (_strcmp($538,13840)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13549)|0); + $542 = (_strcmp($541,13857)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13566)|0); + $545 = (_strcmp($544,13874)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13586)|0); + $548 = (_strcmp($547,13894)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -26866,7 +26829,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18712|0); + return (19016|0); } function ___stdio_close($0) { $0 = $0|0; @@ -27730,7 +27693,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13702 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14010 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -27908,7 +27871,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14166;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14474;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -27929,7 +27892,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14166;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14474;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -27937,8 +27900,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14166 : (14168); - $$$ = $238 ? $$ : (14167); + $$ = $240 ? 14474 : (14476); + $$$ = $238 ? $$ : (14475); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -27955,7 +27918,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14166;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14474;$242 = $167;$243 = $170; label = 66; break; } @@ -27968,7 +27931,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14166;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14474;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -27982,7 +27945,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14176; + $271 = $270 ? $269 : 14484; $$1 = $271; label = 71; break; @@ -28022,7 +27985,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14166;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14474;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28044,8 +28007,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14166 + ($208)|0); - $$289 = $or$cond283 ? 14166 : $209; + $209 = (14474 + ($208)|0); + $$289 = $or$cond283 ? 14474 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28066,7 +28029,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14166;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14474;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -28596,7 +28559,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14218 + ($7)|0); + $9 = (14526 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -28954,14 +28917,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14183; + $$0471 = $14;$$0520 = 1;$$0521 = 14491; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14184) : (14189); - $$$ = $16 ? $$ : (14186); + $$ = $18 ? (14492) : (14497); + $$$ = $16 ? $$ : (14494); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29060,7 +29023,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14218 + ($80)|0); + $81 = (14526 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -29671,7 +29634,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14234,1); + _out($0,14542,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -29752,7 +29715,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14234,1); + _out($0,14542,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -29809,9 +29772,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14202 : 14206; + $29 = $28 ? 14510 : 14514; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14210 : 14214; + $31 = $28 ? 14518 : 14522; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30021,7 +29984,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14236 + ($$016)|0); + $3 = (14544 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30032,7 +29995,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14324;$$115 = 87; + $$01214 = 14632;$$115 = 87; label = 5; break; } else { @@ -30042,9 +30005,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14324; + $$012$lcssa = 14632; } else { - $$01214 = 14324;$$115 = $$016; + $$01214 = 14632;$$115 = $$016; label = 5; } } @@ -30707,7 +30670,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16128,$3,4)|0); + $memchr = (_memchr(16436,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -30796,7 +30759,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16128,$4,4)|0); + $memchr = (_memchr(16436,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -30887,7 +30850,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18716)>>2]|0; + $38 = HEAP32[(19020)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -30920,13 +30883,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((18776|0)); - return (18784|0); + ___lock((19080|0)); + return (19088|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((18776|0)); + ___unlock((19080|0)); return; } function _fclose($0) { @@ -31990,7 +31953,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16400; + $2 = 16704; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32207,7 +32170,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4697]|0; + $3 = HEAP32[4773]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32226,22 +32189,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4697] = 0; + HEAP32[4773] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4697] = $10; + HEAP32[4773] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4697] = 0; + HEAP32[4773] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4697] = $13; + HEAP32[4773] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32322,7 +32285,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4698]|0; + $8 = HEAP32[4774]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32331,7 +32294,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (18832 + ($15<<2)|0); + $16 = (19136 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32342,9 +32305,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4698] = $24; + HEAP32[4774] = $24; } else { - $25 = HEAP32[(18808)>>2]|0; + $25 = HEAP32[(19112)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32375,7 +32338,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(18800)>>2]|0; + $37 = HEAP32[(19104)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32409,7 +32372,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (18832 + ($68<<2)|0); + $69 = (19136 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32420,10 +32383,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4698] = $77; + HEAP32[4774] = $77; $98 = $77; } else { - $78 = HEAP32[(18808)>>2]|0; + $78 = HEAP32[(19112)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32456,22 +32419,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(18812)>>2]|0; + $92 = HEAP32[(19116)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (18832 + ($94<<2)|0); + $95 = (19136 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4698] = $100; + HEAP32[4774] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(18808)>>2]|0; + $103 = HEAP32[(19112)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32488,12 +32451,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(18800)>>2] = $84; - HEAP32[(18812)>>2] = $87; + HEAP32[(19104)>>2] = $84; + HEAP32[(19116)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(18796)>>2]|0; + $108 = HEAP32[(19100)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32521,7 +32484,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19096 + ($132<<2)|0); + $133 = (19400 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -32561,7 +32524,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(18808)>>2]|0; + $155 = HEAP32[(19112)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -32656,7 +32619,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19096 + ($188<<2)|0); + $189 = (19400 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -32667,11 +32630,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(18796)>>2] = $194; + HEAP32[(19100)>>2] = $194; break L73; } } else { - $195 = HEAP32[(18808)>>2]|0; + $195 = HEAP32[(19112)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -32692,7 +32655,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(18808)>>2]|0; + $201 = HEAP32[(19112)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -32722,7 +32685,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(18808)>>2]|0; + $213 = HEAP32[(19112)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -32759,22 +32722,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(18812)>>2]|0; + $231 = HEAP32[(19116)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (18832 + ($233<<2)|0); + $234 = (19136 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4698] = $238; + HEAP32[4774] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(18808)>>2]|0; + $241 = HEAP32[(19112)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -32791,8 +32754,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(18800)>>2] = $$0193$lcssa$i; - HEAP32[(18812)>>2] = $157; + HEAP32[(19104)>>2] = $$0193$lcssa$i; + HEAP32[(19116)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -32808,7 +32771,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(18796)>>2]|0; + $250 = HEAP32[(19100)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -32848,7 +32811,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19096 + ($$0358$i<<2)|0); + $278 = (19400 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -32940,7 +32903,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19096 + ($330<<2)|0); + $331 = (19400 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -32984,11 +32947,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(18800)>>2]|0; + $345 = HEAP32[(19104)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(18808)>>2]|0; + $348 = HEAP32[(19112)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33085,7 +33048,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19096 + ($381<<2)|0); + $382 = (19400 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33096,12 +33059,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(18796)>>2] = $387; + HEAP32[(19100)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(18808)>>2]|0; + $388 = HEAP32[(19112)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33123,7 +33086,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(18808)>>2]|0; + $394 = HEAP32[(19112)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33155,7 +33118,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(18808)>>2]|0; + $406 = HEAP32[(19112)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33196,20 +33159,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (18832 + ($425<<2)|0); - $427 = HEAP32[4698]|0; + $426 = (19136 + ($425<<2)|0); + $427 = HEAP32[4774]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4698] = $431; + HEAP32[4774] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(18808)>>2]|0; + $434 = HEAP32[(19112)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33261,7 +33224,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19096 + ($$0361$i<<2)|0); + $464 = (19400 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33273,7 +33236,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(18796)>>2] = $472; + HEAP32[(19100)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33312,7 +33275,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(18808)>>2]|0; + $491 = HEAP32[(19112)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33331,7 +33294,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(18808)>>2]|0; + $498 = HEAP32[(19112)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33364,16 +33327,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(18800)>>2]|0; + $506 = HEAP32[(19104)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(18812)>>2]|0; + $509 = HEAP32[(19116)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(18812)>>2] = $511; - HEAP32[(18800)>>2] = $508; + HEAP32[(19116)>>2] = $511; + HEAP32[(19104)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33383,8 +33346,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(18800)>>2] = 0; - HEAP32[(18812)>>2] = 0; + HEAP32[(19104)>>2] = 0; + HEAP32[(19116)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33398,14 +33361,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(18804)>>2]|0; + $524 = HEAP32[(19108)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(18804)>>2] = $526; - $527 = HEAP32[(18816)>>2]|0; + HEAP32[(19108)>>2] = $526; + $527 = HEAP32[(19120)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(18816)>>2] = $528; + HEAP32[(19120)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33416,23 +33379,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4816]|0; + $534 = HEAP32[4892]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19272)>>2] = 4096; - HEAP32[(19268)>>2] = 4096; - HEAP32[(19276)>>2] = -1; - HEAP32[(19280)>>2] = -1; - HEAP32[(19284)>>2] = 0; - HEAP32[(19236)>>2] = 0; + HEAP32[(19576)>>2] = 4096; + HEAP32[(19572)>>2] = 4096; + HEAP32[(19580)>>2] = -1; + HEAP32[(19584)>>2] = -1; + HEAP32[(19588)>>2] = 0; + HEAP32[(19540)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4816] = $538; + HEAP32[4892] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19272)>>2]|0; + $$pre$i212 = HEAP32[(19576)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33445,10 +33408,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19232)>>2]|0; + $546 = HEAP32[(19536)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19224)>>2]|0; + $548 = HEAP32[(19528)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33458,18 +33421,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19236)>>2]|0; + $552 = HEAP32[(19540)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(18816)>>2]|0; + $555 = HEAP32[(19120)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19240); + $$0$i$i = (19544); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33527,7 +33490,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19268)>>2]|0; + $569 = HEAP32[(19572)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -33537,13 +33500,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19224)>>2]|0; + $578 = HEAP32[(19528)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19232)>>2]|0; + $582 = HEAP32[(19536)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -33589,7 +33552,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19272)>>2]|0; + $601 = HEAP32[(19576)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -33614,9 +33577,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19236)>>2]|0; + $611 = HEAP32[(19540)>>2]|0; $612 = $611 | 4; - HEAP32[(19236)>>2] = $612; + HEAP32[(19540)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -33652,35 +33615,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19224)>>2]|0; + $626 = HEAP32[(19528)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19224)>>2] = $627; - $628 = HEAP32[(19228)>>2]|0; + HEAP32[(19528)>>2] = $627; + $628 = HEAP32[(19532)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19228)>>2] = $627; + HEAP32[(19532)>>2] = $627; } - $630 = HEAP32[(18816)>>2]|0; + $630 = HEAP32[(19120)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(18808)>>2]|0; + $632 = HEAP32[(19112)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(18808)>>2] = $$749$i; - } - HEAP32[(19240)>>2] = $$749$i; - HEAP32[(19244)>>2] = $$723948$i; - HEAP32[(19252)>>2] = 0; - $635 = HEAP32[4816]|0; - HEAP32[(18828)>>2] = $635; - HEAP32[(18824)>>2] = -1; + HEAP32[(19112)>>2] = $$749$i; + } + HEAP32[(19544)>>2] = $$749$i; + HEAP32[(19548)>>2] = $$723948$i; + HEAP32[(19556)>>2] = 0; + $635 = HEAP32[4892]|0; + HEAP32[(19132)>>2] = $635; + HEAP32[(19128)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (18832 + ($636<<2)|0); + $637 = (19136 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -33703,18 +33666,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(18816)>>2] = $649; - HEAP32[(18804)>>2] = $650; + HEAP32[(19120)>>2] = $649; + HEAP32[(19108)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19280)>>2]|0; - HEAP32[(18820)>>2] = $655; + $655 = HEAP32[(19584)>>2]|0; + HEAP32[(19124)>>2] = $655; } else { - $$024371$i = (19240); + $$024371$i = (19544); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -33746,7 +33709,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(18804)>>2]|0; + $671 = HEAP32[(19108)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -33757,30 +33720,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(18816)>>2] = $679; - HEAP32[(18804)>>2] = $681; + HEAP32[(19120)>>2] = $679; + HEAP32[(19108)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19280)>>2]|0; - HEAP32[(18820)>>2] = $686; + $686 = HEAP32[(19584)>>2]|0; + HEAP32[(19124)>>2] = $686; break; } } } - $687 = HEAP32[(18808)>>2]|0; + $687 = HEAP32[(19112)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(18808)>>2] = $$749$i; + HEAP32[(19112)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19240); + $$124470$i = (19544); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -33835,21 +33798,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(18804)>>2]|0; + $726 = HEAP32[(19108)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(18804)>>2] = $727; - HEAP32[(18816)>>2] = $721; + HEAP32[(19108)>>2] = $727; + HEAP32[(19120)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(18812)>>2]|0; + $730 = HEAP32[(19116)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(18800)>>2]|0; + $732 = HEAP32[(19104)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(18800)>>2] = $733; - HEAP32[(18812)>>2] = $721; + HEAP32[(19104)>>2] = $733; + HEAP32[(19116)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -33872,7 +33835,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (18832 + ($748<<2)|0); + $749 = (19136 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -33895,9 +33858,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4698]|0; + $759 = HEAP32[4774]|0; $760 = $759 & $758; - HEAP32[4698] = $760; + HEAP32[4774] = $760; break; } $761 = ($747|0)==($749|0); @@ -34010,7 +33973,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19096 + ($796<<2)|0); + $797 = (19400 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34022,12 +33985,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(18796)>>2]|0; + $802 = HEAP32[(19100)>>2]|0; $803 = $802 & $801; - HEAP32[(18796)>>2] = $803; + HEAP32[(19100)>>2] = $803; break L314; } else { - $804 = HEAP32[(18808)>>2]|0; + $804 = HEAP32[(19112)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34048,7 +34011,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(18808)>>2]|0; + $810 = HEAP32[(19112)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34080,7 +34043,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(18808)>>2]|0; + $822 = HEAP32[(19112)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34113,21 +34076,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (18832 + ($836<<2)|0); - $838 = HEAP32[4698]|0; + $837 = (19136 + ($836<<2)|0); + $838 = HEAP32[4774]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4698] = $842; + HEAP32[4774] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(18808)>>2]|0; + $845 = HEAP32[(19112)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34182,20 +34145,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19096 + ($$0296$i$i<<2)|0); + $875 = (19400 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(18796)>>2]|0; + $879 = HEAP32[(19100)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(18796)>>2] = $883; + HEAP32[(19100)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34234,7 +34197,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(18808)>>2]|0; + $902 = HEAP32[(19112)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34253,7 +34216,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(18808)>>2]|0; + $909 = HEAP32[(19112)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34280,7 +34243,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19240); + $$0$i$i$i = (19544); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34321,23 +34284,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(18816)>>2] = $946; - HEAP32[(18804)>>2] = $947; + HEAP32[(19120)>>2] = $946; + HEAP32[(19108)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19280)>>2]|0; - HEAP32[(18820)>>2] = $952; + $952 = HEAP32[(19584)>>2]|0; + HEAP32[(19124)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19240)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19240)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19240)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19240)+12>>2]|0; - HEAP32[(19240)>>2] = $$749$i; - HEAP32[(19244)>>2] = $$723948$i; - HEAP32[(19252)>>2] = 0; - HEAP32[(19248)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19544)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19544)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19544)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19544)+12>>2]|0; + HEAP32[(19544)>>2] = $$749$i; + HEAP32[(19548)>>2] = $$723948$i; + HEAP32[(19556)>>2] = 0; + HEAP32[(19552)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34366,20 +34329,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (18832 + ($968<<2)|0); - $970 = HEAP32[4698]|0; + $969 = (19136 + ($968<<2)|0); + $970 = HEAP32[4774]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4698] = $974; + HEAP32[4774] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(18808)>>2]|0; + $977 = HEAP32[(19112)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34431,19 +34394,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19096 + ($$0212$i$i<<2)|0); + $1007 = (19400 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(18796)>>2]|0; + $1010 = HEAP32[(19100)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(18796)>>2] = $1014; + HEAP32[(19100)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34482,7 +34445,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(18808)>>2]|0; + $1033 = HEAP32[(19112)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34501,7 +34464,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(18808)>>2]|0; + $1040 = HEAP32[(19112)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34524,14 +34487,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(18804)>>2]|0; + $1048 = HEAP32[(19108)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(18804)>>2] = $1050; - $1051 = HEAP32[(18816)>>2]|0; + HEAP32[(19108)>>2] = $1050; + $1051 = HEAP32[(19120)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(18816)>>2] = $1052; + HEAP32[(19120)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -34574,7 +34537,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(18808)>>2]|0; + $3 = HEAP32[(19112)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -34607,7 +34570,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(18812)>>2]|0; + $19 = HEAP32[(19116)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -34622,7 +34585,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(18800)>>2] = $17; + HEAP32[(19104)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -34636,7 +34599,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (18832 + ($27<<2)|0); + $28 = (19136 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -34656,9 +34619,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4698]|0; + $37 = HEAP32[4774]|0; $38 = $37 & $36; - HEAP32[4698] = $38; + HEAP32[4774] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -34772,7 +34735,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19096 + ($74<<2)|0); + $75 = (19400 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -34782,14 +34745,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(18796)>>2]|0; + $80 = HEAP32[(19100)>>2]|0; $81 = $80 & $79; - HEAP32[(18796)>>2] = $81; + HEAP32[(19100)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(18808)>>2]|0; + $82 = HEAP32[(19112)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -34811,7 +34774,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(18808)>>2]|0; + $88 = HEAP32[(19112)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -34843,7 +34806,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(18808)>>2]|0; + $100 = HEAP32[(19112)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -34878,14 +34841,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(18816)>>2]|0; + $120 = HEAP32[(19120)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(18812)>>2]|0; + $122 = HEAP32[(19116)>>2]|0; if ($121) { - $123 = HEAP32[(18804)>>2]|0; + $123 = HEAP32[(19108)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(18804)>>2] = $124; - HEAP32[(18816)>>2] = $$1; + HEAP32[(19108)>>2] = $124; + HEAP32[(19120)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -34893,16 +34856,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(18812)>>2] = 0; - HEAP32[(18800)>>2] = 0; + HEAP32[(19116)>>2] = 0; + HEAP32[(19104)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(18800)>>2]|0; + $129 = HEAP32[(19104)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(18800)>>2] = $130; - HEAP32[(18812)>>2] = $113; + HEAP32[(19104)>>2] = $130; + HEAP32[(19116)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -34921,10 +34884,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (18832 + ($142<<2)|0); + $143 = (19136 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(18808)>>2]|0; + $145 = HEAP32[(19112)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -34942,9 +34905,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4698]|0; + $153 = HEAP32[4774]|0; $154 = $153 & $152; - HEAP32[4698] = $154; + HEAP32[4774] = $154; break; } $155 = ($141|0)==($143|0); @@ -34952,7 +34915,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(18808)>>2]|0; + $156 = HEAP32[(19112)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35012,7 +34975,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(18808)>>2]|0; + $189 = HEAP32[(19112)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35025,7 +34988,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(18808)>>2]|0; + $169 = HEAP32[(19112)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35056,7 +35019,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19096 + ($193<<2)|0); + $194 = (19400 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35066,13 +35029,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(18796)>>2]|0; + $199 = HEAP32[(19100)>>2]|0; $200 = $199 & $198; - HEAP32[(18796)>>2] = $200; + HEAP32[(19100)>>2] = $200; break L108; } } else { - $201 = HEAP32[(18808)>>2]|0; + $201 = HEAP32[(19112)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35093,7 +35056,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(18808)>>2]|0; + $207 = HEAP32[(19112)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35123,7 +35086,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(18808)>>2]|0; + $219 = HEAP32[(19112)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35144,10 +35107,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(18812)>>2]|0; + $226 = HEAP32[(19116)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(18800)>>2] = $135; + HEAP32[(19104)>>2] = $135; return; } else { $$2 = $135; @@ -35166,20 +35129,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (18832 + ($234<<2)|0); - $236 = HEAP32[4698]|0; + $235 = (19136 + ($234<<2)|0); + $236 = HEAP32[4774]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4698] = $240; + HEAP32[4774] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(18808)>>2]|0; + $243 = HEAP32[(19112)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35231,21 +35194,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19096 + ($$0396<<2)|0); + $273 = (19400 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(18796)>>2]|0; + $277 = HEAP32[(19100)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(18796)>>2] = $281; + HEAP32[(19100)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35283,7 +35246,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(18808)>>2]|0; + $300 = HEAP32[(19112)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35302,7 +35265,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(18808)>>2]|0; + $307 = HEAP32[(19112)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35324,12 +35287,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(18824)>>2]|0; + $314 = HEAP32[(19128)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(18824)>>2] = $315; + HEAP32[(19128)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19248); + $$0212$in$i = (19552); } else { return; } @@ -35343,7 +35306,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(18824)>>2] = -1; + HEAP32[(19128)>>2] = -1; return; } function _realloc($0,$1) { @@ -35415,7 +35378,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(18808)>>2]|0; + $6 = HEAP32[(19112)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35445,7 +35408,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19272)>>2]|0; + $18 = HEAP32[(19576)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35481,10 +35444,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(18816)>>2]|0; + $34 = HEAP32[(19120)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(18804)>>2]|0; + $36 = HEAP32[(19108)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35500,15 +35463,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(18816)>>2] = $40; - HEAP32[(18804)>>2] = $39; + HEAP32[(19120)>>2] = $40; + HEAP32[(19108)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(18812)>>2]|0; + $46 = HEAP32[(19116)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(18800)>>2]|0; + $48 = HEAP32[(19104)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -35544,8 +35507,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(18800)>>2] = $storemerge1; - HEAP32[(18812)>>2] = $storemerge; + HEAP32[(19104)>>2] = $storemerge1; + HEAP32[(19116)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -35572,7 +35535,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (18832 + ($81<<2)|0); + $82 = (19136 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -35592,9 +35555,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4698]|0; + $91 = HEAP32[4774]|0; $92 = $91 & $90; - HEAP32[4698] = $92; + HEAP32[4774] = $92; break; } $93 = ($80|0)==($82|0); @@ -35703,7 +35666,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19096 + ($128<<2)|0); + $129 = (19400 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -35713,13 +35676,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(18796)>>2]|0; + $134 = HEAP32[(19100)>>2]|0; $135 = $134 & $133; - HEAP32[(18796)>>2] = $135; + HEAP32[(19100)>>2] = $135; break L49; } } else { - $136 = HEAP32[(18808)>>2]|0; + $136 = HEAP32[(19112)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -35740,7 +35703,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(18808)>>2]|0; + $142 = HEAP32[(19112)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -35770,7 +35733,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(18808)>>2]|0; + $154 = HEAP32[(19112)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -35855,13 +35818,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(18808)>>2]|0; + $13 = HEAP32[(19112)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(18812)>>2]|0; + $15 = HEAP32[(19116)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -35876,7 +35839,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(18800)>>2] = $12; + HEAP32[(19104)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -35890,7 +35853,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (18832 + ($23<<2)|0); + $24 = (19136 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -35910,9 +35873,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4698]|0; + $33 = HEAP32[4774]|0; $34 = $33 & $32; - HEAP32[4698] = $34; + HEAP32[4774] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36026,7 +35989,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19096 + ($70<<2)|0); + $71 = (19400 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36036,14 +35999,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(18796)>>2]|0; + $76 = HEAP32[(19100)>>2]|0; $77 = $76 & $75; - HEAP32[(18796)>>2] = $77; + HEAP32[(19100)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(18808)>>2]|0; + $78 = HEAP32[(19112)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36065,7 +36028,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(18808)>>2]|0; + $84 = HEAP32[(19112)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36097,7 +36060,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(18808)>>2]|0; + $96 = HEAP32[(19112)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36116,7 +36079,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(18808)>>2]|0; + $108 = HEAP32[(19112)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36127,14 +36090,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(18816)>>2]|0; + $114 = HEAP32[(19120)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(18812)>>2]|0; + $116 = HEAP32[(19116)>>2]|0; if ($115) { - $117 = HEAP32[(18804)>>2]|0; + $117 = HEAP32[(19108)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(18804)>>2] = $118; - HEAP32[(18816)>>2] = $$1; + HEAP32[(19108)>>2] = $118; + HEAP32[(19120)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36142,16 +36105,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(18812)>>2] = 0; - HEAP32[(18800)>>2] = 0; + HEAP32[(19116)>>2] = 0; + HEAP32[(19104)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(18800)>>2]|0; + $123 = HEAP32[(19104)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(18800)>>2] = $124; - HEAP32[(18812)>>2] = $$1; + HEAP32[(19104)>>2] = $124; + HEAP32[(19116)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36170,7 +36133,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (18832 + ($136<<2)|0); + $137 = (19136 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36190,9 +36153,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4698]|0; + $146 = HEAP32[4774]|0; $147 = $146 & $145; - HEAP32[4698] = $147; + HEAP32[4774] = $147; break; } $148 = ($135|0)==($137|0); @@ -36301,7 +36264,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19096 + ($183<<2)|0); + $184 = (19400 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36311,13 +36274,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(18796)>>2]|0; + $189 = HEAP32[(19100)>>2]|0; $190 = $189 & $188; - HEAP32[(18796)>>2] = $190; + HEAP32[(19100)>>2] = $190; break L96; } } else { - $191 = HEAP32[(18808)>>2]|0; + $191 = HEAP32[(19112)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36338,7 +36301,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(18808)>>2]|0; + $197 = HEAP32[(19112)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36368,7 +36331,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(18808)>>2]|0; + $209 = HEAP32[(19112)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36389,10 +36352,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(18812)>>2]|0; + $216 = HEAP32[(19116)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(18800)>>2] = $129; + HEAP32[(19104)>>2] = $129; return; } else { $$2 = $129; @@ -36411,20 +36374,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (18832 + ($224<<2)|0); - $226 = HEAP32[4698]|0; + $225 = (19136 + ($224<<2)|0); + $226 = HEAP32[4774]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4698] = $230; + HEAP32[4774] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(18808)>>2]|0; + $233 = HEAP32[(19112)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36476,20 +36439,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19096 + ($$0431<<2)|0); + $263 = (19400 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(18796)>>2]|0; + $267 = HEAP32[(19100)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(18796)>>2] = $271; + HEAP32[(19100)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36528,7 +36491,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(18808)>>2]|0; + $290 = HEAP32[(19112)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -36546,7 +36509,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(18808)>>2]|0; + $297 = HEAP32[(19112)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_logo_raylib.png b/docs/examples/web/textures/textures_logo_raylib.png new file mode 100644 index 00000000..c18bf880 Binary files /dev/null and b/docs/examples/web/textures/textures_logo_raylib.png differ diff --git a/docs/examples/web/textures/textures_particles__blending.png b/docs/examples/web/textures/textures_particles__blending.png new file mode 100644 index 00000000..b0c40fd2 Binary files /dev/null and b/docs/examples/web/textures/textures_particles__blending.png differ diff --git a/docs/examples/web/textures/textures_particles_blending.c b/docs/examples/web/textures/textures_particles_blending.c new file mode 100644 index 00000000..1ddacf87 --- /dev/null +++ b/docs/examples/web/textures/textures_particles_blending.c @@ -0,0 +1,163 @@ +/******************************************************************************************* +* +* raylib example - particles blending +* +* This example has been created using raylib 1.7 (www.raylib.com) +* raylib is licensed under an unmodified zlib/libpng license (View raylib.h for details) +* +* Copyright (c) 2017 Ramon Santamaria (@raysan5) +* +********************************************************************************************/ + +#include "raylib.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +#define MAX_PARTICLES 200 + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Particle structure with basic data +typedef struct { + Vector2 position; + Color color; + float alpha; + float size; + float rotation; + bool active; // NOTE: Use it to activate/deactive particle +} Particle; + +Particle mouseTail[MAX_PARTICLES]; + +float gravity = 3.0f; + +Texture2D smoke; + +int blending = BLEND_ALPHA; + + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- +int main() +{ + // Initialization + //-------------------------------------------------------------------------------------- + InitWindow(screenWidth, screenHeight, "raylib [textures] example - particles blending"); + + // Initialize particles + for (int i = 0; i < MAX_PARTICLES; i++) + { + mouseTail[i].position = (Vector2){ 0, 0 }; + mouseTail[i].color = (Color){ GetRandomValue(0, 255), GetRandomValue(0, 255), GetRandomValue(0, 255), 255 }; + mouseTail[i].alpha = 1.0f; + mouseTail[i].size = (float)GetRandomValue(1, 30)/20.0f; + mouseTail[i].rotation = GetRandomValue(0, 360); + mouseTail[i].active = false; + } + + smoke = LoadTexture("resources/smoke.png"); + +#if defined(PLATFORM_WEB) + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else + SetTargetFPS(60); // Set our game to run at 60 frames-per-second + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + UnloadTexture(smoke); // Texture unloading + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + // Activate one particle every frame and Update active particles + // NOTE: Particles initial position should be mouse position when activated + // NOTE: Particles fall down with gravity and rotation... and disappear after 2 seconds (alpha = 0) + // NOTE: When a particle disappears, active = false and it can be reused. + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (!mouseTail[i].active) + { + mouseTail[i].active = true; + mouseTail[i].alpha = 1.0f; + mouseTail[i].position = GetMousePosition(); + i = MAX_PARTICLES; + } + } + + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (mouseTail[i].active) + { + mouseTail[i].position.y += gravity; + mouseTail[i].alpha -= 0.01f; + + if (mouseTail[i].alpha <= 0.0f) mouseTail[i].active = false; + + mouseTail[i].rotation += 5.0f; + } + } + + if (IsKeyPressed(KEY_SPACE)) + { + if (blending == BLEND_ALPHA) blending = BLEND_ADDITIVE; + else blending = BLEND_ALPHA; + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(DARKGRAY); + + BeginBlendMode(blending); + + // Draw active particles + for (int i = 0; i < MAX_PARTICLES; i++) + { + if (mouseTail[i].active) DrawTexturePro(smoke, (Rectangle){ 0, 0, smoke.width, smoke.height }, + (Rectangle){ mouseTail[i].position.x, mouseTail[i].position.y, smoke.width*mouseTail[i].size, smoke.height*mouseTail[i].size }, + (Vector2){ smoke.width*mouseTail[i].size/2, smoke.height*mouseTail[i].size/2 }, mouseTail[i].rotation, + Fade(mouseTail[i].color, mouseTail[i].alpha)); + } + + EndBlendMode(); + + DrawText("PRESS SPACE to CHANGE BLENDING MODE", 180, 20, 20, BLACK); + + if (blending == BLEND_ALPHA) DrawText("ALPHA BLENDING", 290, screenHeight - 40, 20, BLACK); + else DrawText("ADDITIVE BLENDING", 280, screenHeight - 40, 20, RAYWHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- +} \ No newline at end of file diff --git a/docs/examples/web/textures/textures_particles_blending.data b/docs/examples/web/textures/textures_particles_blending.data new file mode 100644 index 00000000..7bad8c68 Binary files /dev/null and b/docs/examples/web/textures/textures_particles_blending.data differ diff --git a/docs/examples/web/textures/textures_particles_blending.js b/docs/examples/web/textures/textures_particles_blending.js new file mode 100644 index 00000000..1c2be970 --- /dev/null +++ b/docs/examples/web/textures/textures_particles_blending.js @@ -0,0 +1,38697 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'textures/textures_particles_blending.data'; + var REMOTE_PACKAGE_BASE = 'textures_particles_blending.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_textures/textures_particles_blending.data'); + + }; + Module['addRunDependency']('datafile_textures/textures_particles_blending.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 15427, "filename": "/resources/smoke.png"}], "remote_package_size": 15427, "package_uuid": "f276638c-6d08-451b-ab6c-49644732d9c6"}); + +})(); + +// The Module object: Our interface to the outside world. We import +// and export values on it, and do the work to get that through +// closure compiler if necessary. 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 do an eval in order to handle the closure compiler +// case, where this code here is minified but Module was defined +// elsewhere (e.g. case 4 above). We also need to check if Module +// already exists (e.g. case 3 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; +if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {}; + +// 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 = {}; +for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +// 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('The provided Module[\'ENVIRONMENT\'] value is not valid. It 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 + if (!Module['print']) Module['print'] = console.log; + if (!Module['printErr']) Module['printErr'] = console.warn; + + var nodeFS; + var nodePath; + + Module['read'] = function read(filename, binary) { + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + var 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; + }; + + Module['load'] = function load(f) { + globalEval(read(f)); + }; + + if (!Module['thisProgram']) { + if (process['argv'].length > 1) { + Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/'); + } else { + Module['thisProgram'] = 'unknown-program'; + } + } + + 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; + } + }); + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; +} +else if (ENVIRONMENT_IS_SHELL) { + if (!Module['print']) Module['print'] = print; + if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm + + if (typeof read != 'undefined') { + Module['read'] = read; + } else { + Module['read'] = function read() { throw 'no read() available' }; + } + + Module['readBinary'] = function readBinary(f) { + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + var data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + Module['arguments'] = scriptArgs; + } else if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof quit === 'function') { + Module['quit'] = function(status, toThrow) { + quit(status); + } + } + +} +else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module['read'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + }; + + if (ENVIRONMENT_IS_WORKER) { + Module['readBinary'] = function read(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return xhr.response; + }; + } + + 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); + } else { + onerror(); + } + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + if (typeof arguments != 'undefined') { + Module['arguments'] = arguments; + } + + if (typeof console !== 'undefined') { + if (!Module['print']) Module['print'] = function print(x) { + console.log(x); + }; + if (!Module['printErr']) Module['printErr'] = function printErr(x) { + console.warn(x); + }; + } else { + // Probably a worker, and without console.log. We can do very little here... + var TRY_USE_DUMP = false; + if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) { + dump(x); + }) : (function(x) { + // self.postMessage(x); // enable this if you want stdout to be sent as messages + })); + } + + if (ENVIRONMENT_IS_WORKER) { + Module['load'] = importScripts; + } + + if (typeof Module['setWindowTitle'] === 'undefined') { + Module['setWindowTitle'] = function(title) { document.title = title }; + } +} +else { + // Unreachable because SHELL is dependant on the others + throw 'Unknown runtime environment. Where are we?'; +} + +function globalEval(x) { + eval.call(null, x); +} +if (!Module['load'] && Module['read']) { + Module['load'] = function load(f) { + globalEval(Module['read'](f)); + }; +} +if (!Module['print']) { + Module['print'] = function(){}; +} +if (!Module['printErr']) { + Module['printErr'] = Module['print']; +} +if (!Module['arguments']) { + Module['arguments'] = []; +} +if (!Module['thisProgram']) { + Module['thisProgram'] = './this.program'; +} +if (!Module['quit']) { + Module['quit'] = function(status, toThrow) { + throw toThrow; + } +} + +// *** Environment setup code *** + +// Closure helpers +Module.print = Module['print']; +Module.printErr = Module['printErr']; + +// Callbacks +Module['preRun'] = []; +Module['postRun'] = []; + +// Merge back in the overrides +for (var 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}} + +// === 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 code shared with compiler +//======================================== + +var Runtime = { + setTempRet0: function (value) { + tempRet0 = value; + return value; + }, + getTempRet0: function () { + return tempRet0; + }, + stackSave: function () { + return STACKTOP; + }, + stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, + getNativeTypeSize: function (type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return Runtime.QUANTUM_SIZE; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0); + return bits/8; + } else { + return 0; + } + } + } + }, + getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, + STACK_ALIGN: 16, + prepVararg: function (ptr, type) { + if (type === 'double' || type === 'i64') { + // move so the load is aligned + if (ptr & 7) { + assert((ptr & 7) === 4); + ptr += 4; + } + } else { + assert((ptr & 3) === 0); + } + return ptr; + }, + getAlignSize: function (type, size, vararg) { + // we align i64s and doubles on 64-bit boundaries, unlike x86 + if (!vararg && (type == 'i64' || type == 'double')) return 8; + if (!type) return Math.min(size, 8); // align structures internally to 64 bits + return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, + dynCall: function (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); + } + }, + functionPointers: [], + addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func; + return 2*(1 + i); + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + }, + removeFunction: function (index) { + Runtime.functionPointers[(index-2)/2] = null; + }, + warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {}; + if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1; + Module.printErr(text); + } + }, + funcWrappers: {}, + getFuncWrapper: function (func, sig) { + assert(sig); + if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + } + var sigCache = Runtime.funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; + }, + getCompilerSetting: function (name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work'; + }, + stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; }, + staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; }, + dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;}, + alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; }, + makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; }, + GLOBAL_BASE: 8, + QUANTUM_SIZE: 4, + __dummy__: 0 +} + + + +Module["Runtime"] = Runtime; + + + +//======================================== +// 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; + +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 + if (!func) { + try { func = eval('_' + ident); } catch(e) {} + } + assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)'); + return func; +} + +var cwrap, ccall; +(function(){ + 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() { + Runtime.stackSave() + }, + 'stackRestore': function() { + Runtime.stackRestore() + }, + // type conversion from js to c + 'arrayToC' : function(arr) { + var ret = Runtime.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 = Runtime.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. + ccall = function ccallFunc(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 = Runtime.stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') { + assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall'); + } + if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values'); + if (returnType === 'string') ret = Pointer_stringify(ret); + if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function() { + Runtime.stackRestore(stack); + }); + return; + } + Runtime.stackRestore(stack); + } + return ret; + } + + var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/; + function parseJSFunc(jsfunc) { + // Match the body and the return value of a javascript function source + var parsed = jsfunc.toString().match(sourceRegex).slice(1); + return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]} + } + + // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file + var JSsource = null; + function ensureJSsource() { + if (!JSsource) { + JSsource = {}; + for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + // Elements of toCsource are arrays of three items: + // the code, and the return value + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + } + + cwrap = 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; + } + // Creation of the arguments list (["$1","$2",...,"$nargs"]) + var argNames = argTypes.map(function(x,i){return '$'+i}); + var funcstr = "(function(" + argNames.join(',') + ") {"; + var nargs = argTypes.length; + if (!numericArgs) { + // Generate the code needed to convert the arguments from javascript + // values to pointers + ensureJSsource(); + funcstr += 'var stack = ' + JSsource['stackSave'].body + ';'; + for (var i = 0; i < nargs; i++) { + var arg = argNames[i], type = argTypes[i]; + if (type === 'number') continue; + var convertCode = JSsource[type + 'ToC']; // [code, return] + funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';'; + funcstr += convertCode.body + ';'; + funcstr += arg + '=(' + convertCode.returnValue + ');'; + } + } + + // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore + var cfuncname = parseJSFunc(function(){return cfunc}).returnValue; + // Call the function + funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');'; + if (!numericRet) { // Return type can only by 'string' or 'number' + // Convert the result to a string + var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue; + funcstr += 'ret = ' + strgfy + '(ret);'; + } + funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }"; + if (!numericArgs) { + // If we had a stack, restore it + ensureJSsource(); + funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';'; + } + funcstr += 'return ret})'; + return eval(funcstr); + }; +})(); +Module["ccall"] = ccall; +Module["cwrap"] = cwrap; + +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); + } +} +Module["setValue"] = setValue; + + +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 setValue: ' + type); + } + return null; +} +Module["getValue"] = getValue; + +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 +Module["ALLOC_NORMAL"] = ALLOC_NORMAL; +Module["ALLOC_STACK"] = ALLOC_STACK; +Module["ALLOC_STATIC"] = ALLOC_STATIC; +Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC; +Module["ALLOC_NONE"] = ALLOC_NONE; + +// 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_* +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 : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var ptr = ret, stop; + 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(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + } + return ret; + } + + var i = 0, type, typeSize, previousType; + while (i < size) { + var curr = slab[i]; + + if (typeof curr === 'function') { + curr = Runtime.getFunctionIndex(curr); + } + + 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 = Runtime.getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} +Module["allocate"] = allocate; + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size); + if (!runtimeInitialized) return Runtime.dynamicAlloc(size); + return _malloc(size); +} +Module["getMemory"] = getMemory; + +function Pointer_stringify(ptr, /* optional */ 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 Module['UTF8ToString'](ptr); +} +Module["Pointer_stringify"] = Pointer_stringify; + +// 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); + } +} +Module["AsciiToString"] = AsciiToString; + +// 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); +} +Module["stringToAscii"] = stringToAscii; + +// 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)); + } + } + } +} +Module["UTF8ArrayToString"] = UTF8ArrayToString; + +// 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); +} +Module["UTF8ToString"] = UTF8ToString; + +// 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; +} +Module["stringToUTF8Array"] = stringToUTF8Array; + +// 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); +} +Module["stringToUTF8"] = stringToUTF8; + +// 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; +} +Module["lengthBytesUTF8"] = lengthBytesUTF8; + +// 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; +} + + +function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + if (__cxa_demangle_func) { + try { + var s = + func.substr(1); + var len = lengthBytesUTF8(s)+1; + var buf = _malloc(len); + stringToUTF8(s, buf, len); + var status = _malloc(4); + var ret = __cxa_demangle_func(buf, 0, 0, status); + if (getValue(status, 'i32') === 0 && ret) { + return Pointer_stringify(ret); + } + // otherwise, libcxxabi failed + } catch(e) { + // ignore problems here + } finally { + if (buf) _free(buf); + if (status) _free(status); + if (ret) _free(ret); + } + // failure when using libcxxabi, don't demangle + return func; + } + Runtime.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); +} +Module["stackTrace"] = stackTrace; + +// 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; +var buffer; +var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, 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 - asm.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 adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or 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' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']), + '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); +} +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!'; + +Module['HEAP'] = HEAP; +Module['buffer'] = buffer; +Module['HEAP8'] = HEAP8; +Module['HEAP16'] = HEAP16; +Module['HEAP32'] = HEAP32; +Module['HEAPU8'] = HEAPU8; +Module['HEAPU16'] = HEAPU16; +Module['HEAPU32'] = HEAPU32; +Module['HEAPF32'] = HEAPF32; +Module['HEAPF64'] = HEAPF64; + +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); +} +Module["addOnPreRun"] = addOnPreRun; + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} +Module["addOnInit"] = addOnInit; + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} +Module["addOnPreMain"] = addOnPreMain; + +function addOnExit(cb) { + __ATEXIT__.unshift(cb); +} +Module["addOnExit"] = addOnExit; + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} +Module["addOnPostRun"] = addOnPostRun; + +// Tools + + +function intArrayFromString(stringy, dontAddNull, length /* optional */) { + 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; +} +Module["intArrayFromString"] = intArrayFromString; + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + 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(''); +} +Module["intArrayToString"] = intArrayToString; + +// 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. +function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!'); + + var lastChar, 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. +} +Module["writeStringToMemory"] = writeStringToMemory; + +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); +} +Module["writeArrayToMemory"] = writeArrayToMemory; + +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; +} +Module["writeAsciiToMemory"] = writeAsciiToMemory; + +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; +} + + +// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 ) +if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) { + var ah = a >>> 16; + var al = a & 0xffff; + var bh = b >>> 16; + var bl = b & 0xffff; + return (al*bl + ((ah*bl + al*bh) << 16))|0; +}; +Math.imul = Math['imul']; + + +if (!Math['clz32']) Math['clz32'] = function(x) { + x = x >>> 0; + for (var i = 0; i < 32; i++) { + if (x & (1 << (31 - i))) return i; + } + return 32; +}; +Math.clz32 = Math['clz32'] + +if (!Math['trunc']) Math['trunc'] = function(x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); +}; +Math.trunc = Math['trunc']; + +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_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'); + } +} +Module["addRunDependency"] = addRunDependency; + +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["removeRunDependency"] = removeRunDependency; + +Module["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + + +var memoryInitializer = null; + + + + + + +// === Body === + +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }]; + +function _emscripten_asm_const_iii(code, a0, a1) { + return ASM_CONSTS[code](a0, a1); +} + + + +STATIC_BASE = 8; + +STATICTOP = STATIC_BASE + 27568; + /* global initializers */ __ATINIT__.push(); + + +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,0,0,64,64,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,167,103,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,112,97,114,116,105,99,108,101,115,32,98,108,101,110,100,105,110,103,0,114,101,115,111,117,114,99,101,115,47,115,109,111,107,101,46,112,110,103,0,80,82,69,83,83,32,83,80,65,67,69,32,116,111,32,67,72,65,78,71,69,32,66,76,69,78,68,73,78,71,32,77,79,68,69,0,65,76,80,72,65,32,66,76,69,78,68,73,78,71,0,65,68,68,73,84,73,86,69,32,66,76,69,78,68,73,78,71,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); + + + + + +/* 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}} + + + + var GL={counter:1,lastError:0,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],currentContext:null,offscreenCanvases:{},timerQueriesEXT:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},tempFixedLengthArray:[],packAlignment:4,unpackAlignment:4,init:function () { + GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); + for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { + GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i+1); + } + + // For functions such as glDrawBuffers, glInvalidateFramebuffer and glInvalidateSubFramebuffer that need to pass a short array to the WebGL API, + // create a set of short fixed-length arrays to avoid having to generate any garbage when calling those functions. + for (var i = 0; i < 32; i++) { + GL.tempFixedLengthArray.push(new Array(i)); + } + },recordError:function recordError(errorCode) { + if (!GL.lastError) { + GL.lastError = errorCode; + } + },getNewId:function (table) { + var ret = GL.counter++; + for (var i = table.length; i < ret; i++) { + table[i] = null; + } + return ret; + },MINI_TEMP_BUFFER_SIZE:256,miniTempBuffer:null,miniTempBufferViews:[0],getSource:function (shader, count, string, length) { + var source = ''; + for (var i = 0; i < count; ++i) { + var frag; + if (length) { + var len = HEAP32[(((length)+(i*4))>>2)]; + if (len < 0) { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)], len); + } + } else { + frag = Pointer_stringify(HEAP32[(((string)+(i*4))>>2)]); + } + source += frag; + } + return source; + },createContext:function (canvas, webGLContextAttributes) { + if (typeof webGLContextAttributes['majorVersion'] === 'undefined' && typeof webGLContextAttributes['minorVersion'] === 'undefined') { + webGLContextAttributes['majorVersion'] = 1; + webGLContextAttributes['minorVersion'] = 0; + } + var ctx; + var errorInfo = '?'; + function onContextCreationError(event) { + errorInfo = event.statusMessage || errorInfo; + } + try { + canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false); + try { + if (webGLContextAttributes['majorVersion'] == 1 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); + } else if (webGLContextAttributes['majorVersion'] == 2 && webGLContextAttributes['minorVersion'] == 0) { + ctx = canvas.getContext("webgl2", webGLContextAttributes) || canvas.getContext("experimental-webgl2", webGLContextAttributes); + } else { + throw 'Unsupported WebGL context version ' + majorVersion + '.' + minorVersion + '!' + } + } finally { + canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false); + } + if (!ctx) throw ':('; + } catch (e) { + Module.print('Could not create canvas: ' + [errorInfo, e, JSON.stringify(webGLContextAttributes)]); + return 0; + } + // possible GL_DEBUG entry point: ctx = wrapDebugGL(ctx); + + if (!ctx) return 0; + return GL.registerContext(ctx, webGLContextAttributes); + },registerContext:function (ctx, webGLContextAttributes) { + var handle = GL.getNewId(GL.contexts); + var context = { + handle: handle, + attributes: webGLContextAttributes, + version: webGLContextAttributes['majorVersion'], + GLctx: ctx + }; + + + // Store the created context object so that we can access the context given a canvas without having to pass the parameters again. + if (ctx.canvas) ctx.canvas.GLctxObject = context; + GL.contexts[handle] = context; + if (typeof webGLContextAttributes['enableExtensionsByDefault'] === 'undefined' || webGLContextAttributes['enableExtensionsByDefault']) { + GL.initExtensions(context); + } + return handle; + },makeContextCurrent:function (contextHandle) { + var context = GL.contexts[contextHandle]; + if (!context) return false; + GLctx = Module.ctx = context.GLctx; // Active WebGL context object. + GL.currentContext = context; // Active Emscripten GL layer context object. + return true; + },getContext:function (contextHandle) { + return GL.contexts[contextHandle]; + },deleteContext:function (contextHandle) { + if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; + if (typeof JSEvents === 'object') JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); // Release all JS event handlers on the DOM element that the GL context is associated with since the context is now deleted. + if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; // Make sure the canvas object no longer refers to the context object so there are no GC surprises. + GL.contexts[contextHandle] = null; + },initExtensions:function (context) { + // If this function is called without a specific context object, init the extensions of the currently active context. + if (!context) context = GL.currentContext; + + if (context.initExtensionsDone) return; + context.initExtensionsDone = true; + + var GLctx = context.GLctx; + + context.maxVertexAttribs = GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS); + + // Detect the presence of a few extensions manually, this GL interop layer itself will need to know if they exist. + + if (context.version < 2) { + // Extension available from Firefox 26 and Google Chrome 30 + var instancedArraysExt = GLctx.getExtension('ANGLE_instanced_arrays'); + if (instancedArraysExt) { + GLctx['vertexAttribDivisor'] = function(index, divisor) { instancedArraysExt['vertexAttribDivisorANGLE'](index, divisor); }; + GLctx['drawArraysInstanced'] = function(mode, first, count, primcount) { instancedArraysExt['drawArraysInstancedANGLE'](mode, first, count, primcount); }; + GLctx['drawElementsInstanced'] = function(mode, count, type, indices, primcount) { instancedArraysExt['drawElementsInstancedANGLE'](mode, count, type, indices, primcount); }; + } + + // Extension available from Firefox 25 and WebKit + var vaoExt = GLctx.getExtension('OES_vertex_array_object'); + if (vaoExt) { + GLctx['createVertexArray'] = function() { return vaoExt['createVertexArrayOES'](); }; + GLctx['deleteVertexArray'] = function(vao) { vaoExt['deleteVertexArrayOES'](vao); }; + GLctx['bindVertexArray'] = function(vao) { vaoExt['bindVertexArrayOES'](vao); }; + GLctx['isVertexArray'] = function(vao) { return vaoExt['isVertexArrayOES'](vao); }; + } + + var drawBuffersExt = GLctx.getExtension('WEBGL_draw_buffers'); + if (drawBuffersExt) { + GLctx['drawBuffers'] = function(n, bufs) { drawBuffersExt['drawBuffersWEBGL'](n, bufs); }; + } + } + + GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); + + // These are the 'safe' feature-enabling extensions that don't add any performance impact related to e.g. debugging, and + // should be enabled by default so that client GLES2/GL code will not need to go through extra hoops to get its stuff working. + // As new extensions are ratified at http://www.khronos.org/registry/webgl/extensions/ , feel free to add your new extensions + // here, as long as they don't produce a performance impact for users that might not be using those extensions. + // E.g. debugging-related extensions should probably be off by default. + var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", + "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", + "OES_element_index_uint", "EXT_texture_filter_anisotropic", "ANGLE_instanced_arrays", + "OES_texture_float_linear", "OES_texture_half_float_linear", "WEBGL_compressed_texture_atc", + "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", + "EXT_frag_depth", "EXT_sRGB", "WEBGL_draw_buffers", "WEBGL_shared_resources", + "EXT_shader_texture_lod", "EXT_color_buffer_float"]; + + function shouldEnableAutomatically(extension) { + var ret = false; + automaticallyEnabledExtensions.forEach(function(include) { + if (ext.indexOf(include) != -1) { + ret = true; + } + }); + return ret; + } + + var exts = GLctx.getSupportedExtensions(); + if (exts && exts.length > 0) { + GLctx.getSupportedExtensions().forEach(function(ext) { + if (automaticallyEnabledExtensions.indexOf(ext) != -1) { + GLctx.getExtension(ext); // Calling .getExtension enables that extension permanently, no need to store the return value to be enabled. + } + }); + } + },populateUniformTable:function (program) { + var p = GL.programs[program]; + GL.programInfos[program] = { + uniforms: {}, + maxUniformLength: 0, // This is eagerly computed below, since we already enumerate all uniforms anyway. + maxAttributeLength: -1, // This is lazily computed and cached, computed when/if first asked, "-1" meaning not computed yet. + maxUniformBlockNameLength: -1 // Lazily computed as well + }; + + var ptable = GL.programInfos[program]; + var utable = ptable.uniforms; + // A program's uniform table maps the string name of an uniform to an integer location of that uniform. + // The global GL.uniforms map maps integer locations to WebGLUniformLocations. + var numUniforms = GLctx.getProgramParameter(p, GLctx.ACTIVE_UNIFORMS); + for (var i = 0; i < numUniforms; ++i) { + var u = GLctx.getActiveUniform(p, i); + + var name = u.name; + ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length+1); + + // Strip off any trailing array specifier we might have got, e.g. "[0]". + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + name = name.slice(0, ls); + } + + // Optimize memory usage slightly: If we have an array of uniforms, e.g. 'vec3 colors[3];', then + // only store the string 'colors' in utable, and 'colors[0]', 'colors[1]' and 'colors[2]' will be parsed as 'colors'+i. + // Note that for the GL.uniforms table, we still need to fetch the all WebGLUniformLocations for all the indices. + var loc = GLctx.getUniformLocation(p, name); + if (loc != null) + { + var id = GL.getNewId(GL.uniforms); + utable[name] = [u.size, id]; + GL.uniforms[id] = loc; + + for (var j = 1; j < u.size; ++j) { + var n = name + '['+j+']'; + loc = GLctx.getUniformLocation(p, n); + id = GL.getNewId(GL.uniforms); + + GL.uniforms[id] = loc; + } + } + } + }};function _emscripten_glIsRenderbuffer(renderbuffer) { + var rb = GL.renderbuffers[renderbuffer]; + if (!rb) return 0; + return GLctx.isRenderbuffer(rb); + } + + function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + + + + function _emscripten_get_now() { abort() } + + + + function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode; + Browser.mainLoop.timingValue = value; + + if (!Browser.mainLoop.func) { + console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.'); + return 1; // Return non-zero on failure, can't set timing mode when there is no main loop. + } + + if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0; + setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop + }; + Browser.mainLoop.method = 'timeout'; + } else if (mode == 1 /*EM_TIMING_RAF*/) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'rAF'; + } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) { + if (!window['setImmediate']) { + // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed) + var setImmediates = []; + var emscriptenMainLoopMessageId = 'setimmediate'; + function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation(); + setImmediates.shift()(); + } + } + window.addEventListener("message", Browser_setImmediate_messageHandler, true); + window['setImmediate'] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func); + if (ENVIRONMENT_IS_WORKER) { + if (Module['setImmediates'] === undefined) Module['setImmediates'] = []; + Module['setImmediates'].push(func); + window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js + } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself. + } + } + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window['setImmediate'](Browser.mainLoop.runner); + }; + Browser.mainLoop.method = 'immediate'; + } + return 0; + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module['noExitRuntime'] = true; + + assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.'); + + Browser.mainLoop.func = func; + Browser.mainLoop.arg = arg; + + var browserIterationFunc; + if (typeof arg !== 'undefined') { + browserIterationFunc = function() { + Module['dynCall_vi'](func, arg); + }; + } else { + browserIterationFunc = function() { + Module['dynCall_v'](func); + }; + } + + var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; + + Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return; + if (Browser.mainLoop.queue.length > 0) { + var start = Date.now(); + var blocker = Browser.mainLoop.queue.shift(); + blocker.func(blocker.arg); + if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers; + var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining); + if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + // not counted, but move the progress along a tiny bit + next = next + 0.5; // do not steal all the next one's progress + Browser.mainLoop.remainingBlockers = (8*remaining + next)/9; + } + } + console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers); + Browser.mainLoop.updateStatus(); + + // catches pause/resume main loop from blocker execution + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + setTimeout(Browser.mainLoop.runner, 0); + return; + } + + // catch pauses from non-main loop sources + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Implement very basic swap interval control + Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; + if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + // Not the scheduled time to render this frame - skip. + Browser.mainLoop.scheduler(); + return; + } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + } + + // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize + // VBO double-buffering and reduce GPU stalls. + + + if (Browser.mainLoop.method === 'timeout' && Module.ctx) { + Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!'); + Browser.mainLoop.method = ''; // just warn once per call to set main loop + } + + Browser.mainLoop.runIter(browserIterationFunc); + + checkStackCookie(); + + // catch pauses from the main loop itself + if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; + + // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able + // to queue the newest produced audio samples. + // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData() + // do not need to be hardcoded into this function, but can be more generic. + if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); + + Browser.mainLoop.scheduler(); + } + + if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating) + + Browser.mainLoop.scheduler(); + } + + if (simulateInfiniteLoop) { + throw 'SimulateInfiniteLoop'; + } + }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () { + Browser.mainLoop.scheduler = null; + Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return. + },resume:function () { + Browser.mainLoop.currentlyRunningMainloop++; + var timingMode = Browser.mainLoop.timingMode; + var timingValue = Browser.mainLoop.timingValue; + var func = Browser.mainLoop.func; + Browser.mainLoop.func = null; + _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */); + _emscripten_set_main_loop_timing(timingMode, timingValue); + Browser.mainLoop.scheduler(); + },updateStatus:function () { + if (Module['setStatus']) { + var message = Module['statusMessage'] || 'Please wait...'; + var remaining = Browser.mainLoop.remainingBlockers; + var expected = Browser.mainLoop.expectedBlockers; + if (remaining) { + if (remaining < expected) { + Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')'); + } else { + Module['setStatus'](message); + } + } else { + Module['setStatus'](''); + } + } + },runIter:function (func) { + if (ABORT) return; + if (Module['preMainLoop']) { + var preRet = Module['preMainLoop'](); + if (preRet === false) { + return; // |return false| skips a frame + } + } + try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]); + throw e; + } + } + if (Module['postMainLoop']) Module['postMainLoop'](); + }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers + + if (Browser.initted) return; + Browser.initted = true; + + try { + new Blob(); + Browser.hasBlobConstructor = true; + } catch(e) { + Browser.hasBlobConstructor = false; + console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + } + Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null)); + Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined; + if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); + Module.noImageDecoding = true; + } + + // Support for plugins that can process preloaded files. You can add more of these to + // your app by creating and appending to Module.preloadPlugins. + // + // Each plugin is asked if it can handle a file based on the file's name. If it can, + // it is given the file's raw data. When it is done, it calls a callback with the file's + // (possibly modified) data. For example, a plugin might decompress a file, or it + // might create some side data structure for use later (like an Image element, etc.). + + var imagePlugin = {}; + imagePlugin['canHandle'] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + }; + imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null; + if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + if (b.size !== byteArray.length) { // Safari bug #118630 + // Safari's Blob can only take an ArrayBuffer + b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) }); + } + } catch(e) { + Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder'); + } + } + if (!b) { + var bb = new Browser.BlobBuilder(); + bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range + b = bb.getBlob(); + } + var url = Browser.URLObject.createObjectURL(b); + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var img = new Image(); + img.onload = function img_onload() { + assert(img.complete, 'Image ' + name + ' could not be decoded'); + var canvas = document.createElement('canvas'); + canvas.width = img.width; + canvas.height = img.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(img, 0, 0); + Module["preloadedImages"][name] = canvas; + Browser.URLObject.revokeObjectURL(url); + if (onload) onload(byteArray); + }; + img.onerror = function img_onerror(event) { + console.log('Image ' + url + ' could not be decoded'); + if (onerror) onerror(); + }; + img.src = url; + }; + Module['preloadPlugins'].push(imagePlugin); + + var audioPlugin = {}; + audioPlugin['canHandle'] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 }; + }; + audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false; + function finish(audio) { + if (done) return; + done = true; + Module["preloadedAudios"][name] = audio; + if (onload) onload(byteArray); + } + function fail() { + if (done) return; + done = true; + Module["preloadedAudios"][name] = new Audio(); // empty shim + if (onerror) onerror(); + } + if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch(e) { + return fail(); + } + var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this! + assert(typeof url == 'string', 'createObjectURL must return a url as a string'); + var audio = new Audio(); + audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926 + audio.onerror = function audio_onerror(event) { + if (done) return; + console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach'); + function encode64(data) { + var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + var PAD = '='; + var ret = ''; + var leftchar = 0; + var leftbits = 0; + for (var i = 0; i < data.length; i++) { + leftchar = (leftchar << 8) | data[i]; + leftbits += 8; + while (leftbits >= 6) { + var curr = (leftchar >> (leftbits-6)) & 0x3f; + leftbits -= 6; + ret += BASE[curr]; + } + } + if (leftbits == 2) { + ret += BASE[(leftchar&3) << 4]; + ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar&0xf) << 2]; + ret += PAD; + } + return ret; + } + audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray); + finish(audio); // we don't wait for confirmation this worked - but it's worth trying + }; + audio.src = url; + // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror + Browser.safeSetTimeout(function() { + finish(audio); // try to use it even though it is not necessarily ready to play + }, 10000); + } else { + return fail(); + } + }; + Module['preloadPlugins'].push(audioPlugin); + + // Canvas event setup + + function pointerLockChange() { + Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] || + document['mozPointerLockElement'] === Module['canvas'] || + document['webkitPointerLockElement'] === Module['canvas'] || + document['msPointerLockElement'] === Module['canvas']; + } + var canvas = Module['canvas']; + if (canvas) { + // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module + // Module['forcedAspectRatio'] = 4 / 3; + + canvas.requestPointerLock = canvas['requestPointerLock'] || + canvas['mozRequestPointerLock'] || + canvas['webkitRequestPointerLock'] || + canvas['msRequestPointerLock'] || + function(){}; + canvas.exitPointerLock = document['exitPointerLock'] || + document['mozExitPointerLock'] || + document['webkitExitPointerLock'] || + document['msExitPointerLock'] || + function(){}; // no-op if function does not exist + canvas.exitPointerLock = canvas.exitPointerLock.bind(document); + + document.addEventListener('pointerlockchange', pointerLockChange, false); + document.addEventListener('mozpointerlockchange', pointerLockChange, false); + document.addEventListener('webkitpointerlockchange', pointerLockChange, false); + document.addEventListener('mspointerlockchange', pointerLockChange, false); + + if (Module['elementPointerLock']) { + canvas.addEventListener("click", function(ev) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + ev.preventDefault(); + } + }, false); + } + } + },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas. + + var ctx; + var contextHandle; + if (useWebGL) { + // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults. + var contextAttributes = { + antialias: false, + alpha: false + }; + + if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + } + + contextHandle = GL.createContext(canvas, contextAttributes); + if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext('2d'); + } + + if (!ctx) return null; + + if (setInModule) { + if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it'); + + Module.ctx = ctx; + if (useWebGL) GL.makeContextCurrent(contextHandle); + Module.useWebGL = useWebGL; + Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() }); + Browser.init(); + } + return ctx; + },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer; + Browser.resizeCanvas = resizeCanvas; + Browser.vrDevice = vrDevice; + if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true; + if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false; + if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null; + + var canvas = Module['canvas']; + function fullscreenChange() { + Browser.isFullscreen = false; + var canvasContainer = canvas.parentNode; + if ((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvasContainer) { + canvas.exitFullscreen = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['msExitFullscreen'] || + document['webkitCancelFullScreen'] || + function() {}; + canvas.exitFullscreen = canvas.exitFullscreen.bind(document); + if (Browser.lockPointer) canvas.requestPointerLock(); + Browser.isFullscreen = true; + if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + + // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen + canvasContainer.parentNode.insertBefore(canvas, canvasContainer); + canvasContainer.parentNode.removeChild(canvasContainer); + + if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + } + if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen); + if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen); + Browser.updateCanvasDimensions(canvas); + } + + if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true; + document.addEventListener('fullscreenchange', fullscreenChange, false); + document.addEventListener('mozfullscreenchange', fullscreenChange, false); + document.addEventListener('webkitfullscreenchange', fullscreenChange, false); + document.addEventListener('MSFullscreenChange', fullscreenChange, false); + } + + // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root + var canvasContainer = document.createElement("div"); + canvas.parentNode.insertBefore(canvasContainer, canvas); + canvasContainer.appendChild(canvas); + + // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size) + canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] || + canvasContainer['mozRequestFullScreen'] || + canvasContainer['msRequestFullscreen'] || + (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) || + (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null); + + if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.'); + Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + } + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + },nextRAF:0,fakeRequestAnimationFrame:function (func) { + // try to keep 60fps between calls to here + var now = Date.now(); + if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1000/60; + } else { + while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0 + Browser.nextRAF += 1000/60; + } + } + var delay = Math.max(Browser.nextRAF - now, 0); + setTimeout(func, delay); + },requestAnimationFrame:function requestAnimationFrame(func) { + if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js) + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window['requestAnimationFrame'] || + window['mozRequestAnimationFrame'] || + window['webkitRequestAnimationFrame'] || + window['msRequestAnimationFrame'] || + window['oRequestAnimationFrame'] || + Browser.fakeRequestAnimationFrame; + } + window.requestAnimationFrame(func); + } + },safeCallback:function (func) { + return function() { + if (!ABORT) return func.apply(null, arguments); + }; + },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () { + Browser.allowAsyncCallbacks = false; + },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now + Browser.allowAsyncCallbacks = true; + if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks; + Browser.queuedAsyncCallbacks = []; + callbacks.forEach(function(func) { + func(); + }); + } + },safeRequestAnimationFrame:function (func) { + return Browser.requestAnimationFrame(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + },safeSetTimeout:function (func, timeout) { + Module['noExitRuntime'] = true; + return setTimeout(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + },safeSetInterval:function (func, timeout) { + Module['noExitRuntime'] = true; + return setInterval(function() { + if (ABORT) return; + if (Browser.allowAsyncCallbacks) { + func(); + } // drop it on the floor otherwise, next interval will kick in + }, timeout); + },getMimetype:function (name) { + return { + 'jpg': 'image/jpeg', + 'jpeg': 'image/jpeg', + 'png': 'image/png', + 'bmp': 'image/bmp', + 'ogg': 'audio/ogg', + 'wav': 'audio/wav', + 'mp3': 'audio/mpeg' + }[name.substr(name.lastIndexOf('.')+1)]; + },getUserMedia:function (func) { + if(!window.getUserMedia) { + window.getUserMedia = navigator['getUserMedia'] || + navigator['mozGetUserMedia']; + } + window.getUserMedia(func); + },getMovementX:function (event) { + return event['movementX'] || + event['mozMovementX'] || + event['webkitMovementX'] || + 0; + },getMovementY:function (event) { + return event['movementY'] || + event['mozMovementY'] || + event['webkitMovementY'] || + 0; + },getMouseWheelDelta:function (event) { + var delta = 0; + switch (event.type) { + case 'DOMMouseScroll': + delta = event.detail; + break; + case 'mousewheel': + delta = event.wheelDelta; + break; + case 'wheel': + delta = event['deltaY']; + break; + default: + throw 'unrecognized mouse wheel event: ' + event.type; + } + return delta; + },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup + if (Browser.pointerLock) { + // When the pointer is locked, calculate the coordinates + // based on the movement of the mouse. + // Workaround for Firefox bug 764498 + if (event.type != 'mousemove' && + ('mozMovementX' in event)) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event); + Browser.mouseMovementY = Browser.getMovementY(event); + } + + // check if SDL is available + if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; + Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + // just add the mouse delta to the current absolut mouse position + // FIXME: ideally this should be clamped against the canvas size and zero + Browser.mouseX += Browser.mouseMovementX; + Browser.mouseY += Browser.mouseMovementY; + } + } else { + // Otherwise, calculate the movement based on the changes + // in the coordinates. + var rect = Module["canvas"].getBoundingClientRect(); + var cw = Module["canvas"].width; + var ch = Module["canvas"].height; + + // Neither .scrollX or .pageXOffset are defined in a spec, but + // we prefer .scrollX because it is currently in a spec draft. + // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/) + var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset); + var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset); + // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset + // and we have no viable fallback. + assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.'); + + if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') { + var touch = event.touch; + if (touch === undefined) { + return; // the "touch" property is only defined in SDL + + } + var adjustedX = touch.pageX - (scrollX + rect.left); + var adjustedY = touch.pageY - (scrollY + rect.top); + + adjustedX = adjustedX * (cw / rect.width); + adjustedY = adjustedY * (ch / rect.height); + + var coords = { x: adjustedX, y: adjustedY }; + + if (event.type === 'touchstart') { + Browser.lastTouches[touch.identifier] = coords; + Browser.touches[touch.identifier] = coords; + } else if (event.type === 'touchend' || event.type === 'touchmove') { + var last = Browser.touches[touch.identifier]; + if (!last) last = coords; + Browser.lastTouches[touch.identifier] = last; + Browser.touches[touch.identifier] = coords; + } + return; + } + + var x = event.pageX - (scrollX + rect.left); + var y = event.pageY - (scrollY + rect.top); + + // the canvas might be CSS-scaled compared to its backbuffer; + // SDL-using content will want mouse coordinates in terms + // of backbuffer units. + x = x * (cw / rect.width); + y = y * (ch / rect.height); + + Browser.mouseMovementX = x - Browser.mouseX; + Browser.mouseMovementY = y - Browser.mouseY; + Browser.mouseX = x; + Browser.mouseY = y; + } + },asyncLoad:function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : ''; + Module['readAsync'](url, function(arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); + onload(new Uint8Array(arrayBuffer)); + if (dep) removeRunDependency(dep); + }, function(event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + }); + if (dep) addRunDependency(dep); + },resizeListeners:[],updateResizeListeners:function () { + var canvas = Module['canvas']; + Browser.resizeListeners.forEach(function(listener) { + listener(canvas.width, canvas.height); + }); + },setCanvasSize:function (width, height, noUpdates) { + var canvas = Module['canvas']; + Browser.updateCanvasDimensions(canvas, width, height); + if (!noUpdates) Browser.updateResizeListeners(); + },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags | 0x00800000; // set SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },setWindowedCanvasSize:function () { + // check if SDL is available + if (typeof SDL != "undefined") { + var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]; + flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag + HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags + } + Browser.updateResizeListeners(); + },updateCanvasDimensions:function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative; + canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative; + hNative = canvas.heightNative; + } + var w = wNative; + var h = hNative; + if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) { + if (w/h < Module['forcedAspectRatio']) { + w = Math.round(h * Module['forcedAspectRatio']); + } else { + h = Math.round(w / Module['forcedAspectRatio']); + } + } + if (((document['fullscreenElement'] || document['mozFullScreenElement'] || + document['msFullscreenElement'] || document['webkitFullscreenElement'] || + document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) { + var factor = Math.min(screen.width / w, screen.height / h); + w = Math.round(w * factor); + h = Math.round(h * factor); + } + if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w; + if (canvas.height != h) canvas.height = h; + if (typeof canvas.style != 'undefined') { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative; + if (canvas.height != hNative) canvas.height = hNative; + if (typeof canvas.style != 'undefined') { + if (w != wNative || h != hNative) { + canvas.style.setProperty( "width", w + "px", "important"); + canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty( "width"); + canvas.style.removeProperty("height"); + } + } + } + },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () { + var handle = Browser.nextWgetRequestHandle; + Browser.nextWgetRequestHandle++; + return handle; + }};var GLFW={Window:function (id, width, height, title, monitor, share) { + this.id = id; + this.x = 0; + this.y = 0; + this.fullscreen = false; // Used to determine if app in fullscreen mode + this.storedX = 0; // Used to store X before fullscreen + this.storedY = 0; // Used to store Y before fullscreen + this.width = width; + this.height = height; + this.storedWidth = width; // Used to store width before fullscreen + this.storedHeight = height; // Used to store height before fullscreen + this.title = title; + this.monitor = monitor; + this.share = share; + this.attributes = GLFW.hints; + this.inputModes = { + 0x00033001:0x00034001, // GLFW_CURSOR (GLFW_CURSOR_NORMAL) + 0x00033002:0, // GLFW_STICKY_KEYS + 0x00033003:0, // GLFW_STICKY_MOUSE_BUTTONS + }; + this.buttons = 0; + this.keys = new Array(); + this.shouldClose = 0; + this.title = null; + this.windowPosFunc = null; // GLFWwindowposfun + this.windowSizeFunc = null; // GLFWwindowsizefun + this.windowCloseFunc = null; // GLFWwindowclosefun + this.windowRefreshFunc = null; // GLFWwindowrefreshfun + this.windowFocusFunc = null; // GLFWwindowfocusfun + this.windowIconifyFunc = null; // GLFWwindowiconifyfun + this.framebufferSizeFunc = null; // GLFWframebuffersizefun + this.mouseButtonFunc = null; // GLFWmousebuttonfun + this.cursorPosFunc = null; // GLFWcursorposfun + this.cursorEnterFunc = null; // GLFWcursorenterfun + this.scrollFunc = null; // GLFWscrollfun + this.keyFunc = null; // GLFWkeyfun + this.charFunc = null; // GLFWcharfun + this.userptr = null; + },WindowFromId:function (id) { + if (id <= 0 || !GLFW.windows) return null; + return GLFW.windows[id - 1]; + },errorFunc:null,monitorFunc:null,active:null,windows:null,monitors:null,monitorString:null,versionString:null,initialTime:null,extensions:null,hints:null,defaultHints:{131073:0,131074:0,131075:1,131076:1,131077:1,135169:8,135170:8,135171:8,135172:8,135173:24,135174:8,135175:0,135176:0,135177:0,135178:0,135179:0,135180:0,135181:0,135182:0,135183:0,139265:196609,139266:1,139267:0,139268:0,139269:0,139270:0,139271:0,139272:0},DOMToGLFWKeyCode:function (keycode) { + switch (keycode) { + // these keycodes are only defined for GLFW3, assume they are the same for GLFW2 + case 0x20:return 32; // DOM_VK_SPACE -> GLFW_KEY_SPACE + case 0xDE:return 39; // DOM_VK_QUOTE -> GLFW_KEY_APOSTROPHE + case 0xBC:return 44; // DOM_VK_COMMA -> GLFW_KEY_COMMA + case 0xAD:return 45; // DOM_VK_HYPHEN_MINUS -> GLFW_KEY_MINUS + case 0xBD:return 45; // DOM_VK_MINUS -> GLFW_KEY_MINUS + case 0xBE:return 46; // DOM_VK_PERIOD -> GLFW_KEY_PERIOD + case 0xBF:return 47; // DOM_VK_SLASH -> GLFW_KEY_SLASH + case 0x30:return 48; // DOM_VK_0 -> GLFW_KEY_0 + case 0x31:return 49; // DOM_VK_1 -> GLFW_KEY_1 + case 0x32:return 50; // DOM_VK_2 -> GLFW_KEY_2 + case 0x33:return 51; // DOM_VK_3 -> GLFW_KEY_3 + case 0x34:return 52; // DOM_VK_4 -> GLFW_KEY_4 + case 0x35:return 53; // DOM_VK_5 -> GLFW_KEY_5 + case 0x36:return 54; // DOM_VK_6 -> GLFW_KEY_6 + case 0x37:return 55; // DOM_VK_7 -> GLFW_KEY_7 + case 0x38:return 56; // DOM_VK_8 -> GLFW_KEY_8 + case 0x39:return 57; // DOM_VK_9 -> GLFW_KEY_9 + case 0x3B:return 59; // DOM_VK_SEMICOLON -> GLFW_KEY_SEMICOLON + case 0x3D:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0xBB:return 61; // DOM_VK_EQUALS -> GLFW_KEY_EQUAL + case 0x41:return 65; // DOM_VK_A -> GLFW_KEY_A + case 0x42:return 66; // DOM_VK_B -> GLFW_KEY_B + case 0x43:return 67; // DOM_VK_C -> GLFW_KEY_C + case 0x44:return 68; // DOM_VK_D -> GLFW_KEY_D + case 0x45:return 69; // DOM_VK_E -> GLFW_KEY_E + case 0x46:return 70; // DOM_VK_F -> GLFW_KEY_F + case 0x47:return 71; // DOM_VK_G -> GLFW_KEY_G + case 0x48:return 72; // DOM_VK_H -> GLFW_KEY_H + case 0x49:return 73; // DOM_VK_I -> GLFW_KEY_I + case 0x4A:return 74; // DOM_VK_J -> GLFW_KEY_J + case 0x4B:return 75; // DOM_VK_K -> GLFW_KEY_K + case 0x4C:return 76; // DOM_VK_L -> GLFW_KEY_L + case 0x4D:return 77; // DOM_VK_M -> GLFW_KEY_M + case 0x4E:return 78; // DOM_VK_N -> GLFW_KEY_N + case 0x4F:return 79; // DOM_VK_O -> GLFW_KEY_O + case 0x50:return 80; // DOM_VK_P -> GLFW_KEY_P + case 0x51:return 81; // DOM_VK_Q -> GLFW_KEY_Q + case 0x52:return 82; // DOM_VK_R -> GLFW_KEY_R + case 0x53:return 83; // DOM_VK_S -> GLFW_KEY_S + case 0x54:return 84; // DOM_VK_T -> GLFW_KEY_T + case 0x55:return 85; // DOM_VK_U -> GLFW_KEY_U + case 0x56:return 86; // DOM_VK_V -> GLFW_KEY_V + case 0x57:return 87; // DOM_VK_W -> GLFW_KEY_W + case 0x58:return 88; // DOM_VK_X -> GLFW_KEY_X + case 0x59:return 89; // DOM_VK_Y -> GLFW_KEY_Y + case 0x5a:return 90; // DOM_VK_Z -> GLFW_KEY_Z + case 0xDB:return 91; // DOM_VK_OPEN_BRACKET -> GLFW_KEY_LEFT_BRACKET + case 0xDC:return 92; // DOM_VK_BACKSLASH -> GLFW_KEY_BACKSLASH + case 0xDD:return 93; // DOM_VK_CLOSE_BRACKET -> GLFW_KEY_RIGHT_BRACKET + case 0xC0:return 94; // DOM_VK_BACK_QUOTE -> GLFW_KEY_GRAVE_ACCENT + + + case 0x1B:return 256; // DOM_VK_ESCAPE -> GLFW_KEY_ESCAPE + case 0x0D:return 257; // DOM_VK_RETURN -> GLFW_KEY_ENTER + case 0x09:return 258; // DOM_VK_TAB -> GLFW_KEY_TAB + case 0x08:return 259; // DOM_VK_BACK -> GLFW_KEY_BACKSPACE + case 0x2D:return 260; // DOM_VK_INSERT -> GLFW_KEY_INSERT + case 0x2E:return 261; // DOM_VK_DELETE -> GLFW_KEY_DELETE + case 0x27:return 262; // DOM_VK_RIGHT -> GLFW_KEY_RIGHT + case 0x25:return 263; // DOM_VK_LEFT -> GLFW_KEY_LEFT + case 0x28:return 264; // DOM_VK_DOWN -> GLFW_KEY_DOWN + case 0x26:return 265; // DOM_VK_UP -> GLFW_KEY_UP + case 0x21:return 266; // DOM_VK_PAGE_UP -> GLFW_KEY_PAGE_UP + case 0x22:return 267; // DOM_VK_PAGE_DOWN -> GLFW_KEY_PAGE_DOWN + case 0x24:return 268; // DOM_VK_HOME -> GLFW_KEY_HOME + case 0x23:return 269; // DOM_VK_END -> GLFW_KEY_END + case 0x14:return 280; // DOM_VK_CAPS_LOCK -> GLFW_KEY_CAPS_LOCK + case 0x91:return 281; // DOM_VK_SCROLL_LOCK -> GLFW_KEY_SCROLL_LOCK + case 0x90:return 282; // DOM_VK_NUM_LOCK -> GLFW_KEY_NUM_LOCK + case 0x2C:return 283; // DOM_VK_SNAPSHOT -> GLFW_KEY_PRINT_SCREEN + case 0x13:return 284; // DOM_VK_PAUSE -> GLFW_KEY_PAUSE + case 0x70:return 290; // DOM_VK_F1 -> GLFW_KEY_F1 + case 0x71:return 291; // DOM_VK_F2 -> GLFW_KEY_F2 + case 0x72:return 292; // DOM_VK_F3 -> GLFW_KEY_F3 + case 0x73:return 293; // DOM_VK_F4 -> GLFW_KEY_F4 + case 0x74:return 294; // DOM_VK_F5 -> GLFW_KEY_F5 + case 0x75:return 295; // DOM_VK_F6 -> GLFW_KEY_F6 + case 0x76:return 296; // DOM_VK_F7 -> GLFW_KEY_F7 + case 0x77:return 297; // DOM_VK_F8 -> GLFW_KEY_F8 + case 0x78:return 298; // DOM_VK_F9 -> GLFW_KEY_F9 + case 0x79:return 299; // DOM_VK_F10 -> GLFW_KEY_F10 + case 0x7A:return 300; // DOM_VK_F11 -> GLFW_KEY_F11 + case 0x7B:return 301; // DOM_VK_F12 -> GLFW_KEY_F12 + case 0x7C:return 302; // DOM_VK_F13 -> GLFW_KEY_F13 + case 0x7D:return 303; // DOM_VK_F14 -> GLFW_KEY_F14 + case 0x7E:return 304; // DOM_VK_F15 -> GLFW_KEY_F15 + case 0x7F:return 305; // DOM_VK_F16 -> GLFW_KEY_F16 + case 0x80:return 306; // DOM_VK_F17 -> GLFW_KEY_F17 + case 0x81:return 307; // DOM_VK_F18 -> GLFW_KEY_F18 + case 0x82:return 308; // DOM_VK_F19 -> GLFW_KEY_F19 + case 0x83:return 309; // DOM_VK_F20 -> GLFW_KEY_F20 + case 0x84:return 310; // DOM_VK_F21 -> GLFW_KEY_F21 + case 0x85:return 311; // DOM_VK_F22 -> GLFW_KEY_F22 + case 0x86:return 312; // DOM_VK_F23 -> GLFW_KEY_F23 + case 0x87:return 313; // DOM_VK_F24 -> GLFW_KEY_F24 + case 0x88:return 314; // 0x88 (not used?) -> GLFW_KEY_F25 + case 0x60:return 320; // DOM_VK_NUMPAD0 -> GLFW_KEY_KP_0 + case 0x61:return 321; // DOM_VK_NUMPAD1 -> GLFW_KEY_KP_1 + case 0x62:return 322; // DOM_VK_NUMPAD2 -> GLFW_KEY_KP_2 + case 0x63:return 323; // DOM_VK_NUMPAD3 -> GLFW_KEY_KP_3 + case 0x64:return 324; // DOM_VK_NUMPAD4 -> GLFW_KEY_KP_4 + case 0x65:return 325; // DOM_VK_NUMPAD5 -> GLFW_KEY_KP_5 + case 0x66:return 326; // DOM_VK_NUMPAD6 -> GLFW_KEY_KP_6 + case 0x67:return 327; // DOM_VK_NUMPAD7 -> GLFW_KEY_KP_7 + case 0x68:return 328; // DOM_VK_NUMPAD8 -> GLFW_KEY_KP_8 + case 0x69:return 329; // DOM_VK_NUMPAD9 -> GLFW_KEY_KP_9 + case 0x6E:return 330; // DOM_VK_DECIMAL -> GLFW_KEY_KP_DECIMAL + case 0x6F:return 331; // DOM_VK_DIVIDE -> GLFW_KEY_KP_DIVIDE + case 0x6A:return 332; // DOM_VK_MULTIPLY -> GLFW_KEY_KP_MULTIPLY + case 0x6D:return 333; // DOM_VK_SUBTRACT -> GLFW_KEY_KP_SUBTRACT + case 0x6B:return 334; // DOM_VK_ADD -> GLFW_KEY_KP_ADD + // case 0x0D:return 335; // DOM_VK_RETURN -> GLFW_KEY_KP_ENTER (DOM_KEY_LOCATION_RIGHT) + // case 0x61:return 336; // DOM_VK_EQUALS -> GLFW_KEY_KP_EQUAL (DOM_KEY_LOCATION_RIGHT) + case 0x10:return 340; // DOM_VK_SHIFT -> GLFW_KEY_LEFT_SHIFT + case 0x11:return 341; // DOM_VK_CONTROL -> GLFW_KEY_LEFT_CONTROL + case 0x12:return 342; // DOM_VK_ALT -> GLFW_KEY_LEFT_ALT + case 0x5B:return 343; // DOM_VK_WIN -> GLFW_KEY_LEFT_SUPER + // case 0x10:return 344; // DOM_VK_SHIFT -> GLFW_KEY_RIGHT_SHIFT (DOM_KEY_LOCATION_RIGHT) + // case 0x11:return 345; // DOM_VK_CONTROL -> GLFW_KEY_RIGHT_CONTROL (DOM_KEY_LOCATION_RIGHT) + // case 0x12:return 346; // DOM_VK_ALT -> GLFW_KEY_RIGHT_ALT (DOM_KEY_LOCATION_RIGHT) + // case 0x5B:return 347; // DOM_VK_WIN -> GLFW_KEY_RIGHT_SUPER (DOM_KEY_LOCATION_RIGHT) + case 0x5D:return 348; // DOM_VK_CONTEXT_MENU -> GLFW_KEY_MENU + // XXX: GLFW_KEY_WORLD_1, GLFW_KEY_WORLD_2 what are these? + default:return -1; // GLFW_KEY_UNKNOWN + }; + },getModBits:function (win) { + var mod = 0; + if (win.keys[340]) mod |= 0x0001; // GLFW_MOD_SHIFT + if (win.keys[341]) mod |= 0x0002; // GLFW_MOD_CONTROL + if (win.keys[342]) mod |= 0x0004; // GLFW_MOD_ALT + if (win.keys[343]) mod |= 0x0008; // GLFW_MOD_SUPER + return mod; + },onKeyPress:function (event) { + if (!GLFW.active || !GLFW.active.charFunc) return; + + // correct unicode charCode is only available with onKeyPress event + var charCode = event.charCode; + if (charCode == 0 || (charCode >= 0x00 && charCode <= 0x1F)) return; + + + Module['dynCall_vii'](GLFW.active.charFunc, GLFW.active.id, charCode); + },onKeyChanged:function (event, status) { + if (!GLFW.active) return; + + var key = GLFW.DOMToGLFWKeyCode(event.keyCode); + if (key == -1) return; + + var repeat = status && GLFW.active.keys[key]; + GLFW.active.keys[key] = status; + if (!GLFW.active.keyFunc) return; + + + if (repeat) status = 2; // GLFW_REPEAT + Module['dynCall_viiiii'](GLFW.active.keyFunc, GLFW.active.id, key, event.keyCode, status, GLFW.getModBits(GLFW.active)); + },onKeydown:function (event) { + GLFW.onKeyChanged(event, 1); // GLFW_PRESS or GLFW_REPEAT + + // This logic comes directly from the sdl implementation. We cannot + // call preventDefault on all keydown events otherwise onKeyPress will + // not get called + if (event.keyCode === 8 /* backspace */ || event.keyCode === 9 /* tab */) { + event.preventDefault(); + } + },onKeyup:function (event) { + GLFW.onKeyChanged(event, 0); // GLFW_RELEASE + },onMousemove:function (event) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"] || !GLFW.active.cursorPosFunc) return; + + + Module['dynCall_vidd'](GLFW.active.cursorPosFunc, GLFW.active.id, Browser.mouseX, Browser.mouseY); + },DOMToGLFWMouseButton:function (event) { + // DOM and glfw have different button codes. + // See http://www.w3schools.com/jsref/event_button.asp. + var eventButton = event['button']; + if (eventButton > 0) { + if (eventButton == 1) { + eventButton = 2; + } else { + eventButton = 1; + } + } + return eventButton; + },onMouseenter:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 1); + },onMouseleave:function (event) { + if (!GLFW.active) return; + + if (event.target != Module["canvas"] || !GLFW.active.cursorEnterFunc) return; + + Module['dynCall_vii'](GLFW.active.cursorEnterFunc, GLFW.active.id, 0); + },onMouseButtonChanged:function (event, status) { + if (!GLFW.active) return; + + Browser.calculateMouseEvent(event); + + if (event.target != Module["canvas"]) return; + + eventButton = GLFW.DOMToGLFWMouseButton(event); + + if (status == 1) { // GLFW_PRESS + GLFW.active.buttons |= (1 << eventButton); + try { + event.target.setCapture(); + } catch (e) {} + } else { // GLFW_RELEASE + GLFW.active.buttons &= ~(1 << eventButton); + } + + if (!GLFW.active.mouseButtonFunc) return; + + + Module['dynCall_viiii'](GLFW.active.mouseButtonFunc, GLFW.active.id, eventButton, status, GLFW.getModBits(GLFW.active)); + },onMouseButtonDown:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 1); // GLFW_PRESS + },onMouseButtonUp:function (event) { + if (!GLFW.active) return; + GLFW.onMouseButtonChanged(event, 0); // GLFW_RELEASE + },onMouseWheel:function (event) { + // Note the minus sign that flips browser wheel direction (positive direction scrolls page down) to native wheel direction (positive direction is mouse wheel up) + var delta = -Browser.getMouseWheelDelta(event); + delta = (delta == 0) ? 0 : (delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1)); // Quantize to integer so that minimum scroll is at least +/- 1. + GLFW.wheelPos += delta; + + if (!GLFW.active || !GLFW.active.scrollFunc || event.target != Module['canvas']) return; + + + var sx = 0; + var sy = 0; + if (event.type == 'mousewheel') { + sx = event.wheelDeltaX; + sy = event.wheelDeltaY; + } else { + sx = event.deltaX; + sy = event.deltaY; + } + + Module['dynCall_vidd'](GLFW.active.scrollFunc, GLFW.active.id, sx, sy); + + event.preventDefault(); + },onCanvasResize:function (width, height) { + if (!GLFW.active) return; + + var resizeNeeded = true; + + // If the client is requestiong fullscreen mode + if (document["fullscreen"] || document["fullScreen"] || document["mozFullScreen"] || document["webkitIsFullScreen"]) { + GLFW.active.storedX = GLFW.active.x; + GLFW.active.storedY = GLFW.active.y; + GLFW.active.storedWidth = GLFW.active.width; + GLFW.active.storedHeight = GLFW.active.height; + GLFW.active.x = GLFW.active.y = 0; + GLFW.active.width = screen.width; + GLFW.active.height = screen.height; + GLFW.active.fullscreen = true; + + // If the client is reverting from fullscreen mode + } else if (GLFW.active.fullscreen == true) { + GLFW.active.x = GLFW.active.storedX; + GLFW.active.y = GLFW.active.storedY; + GLFW.active.width = GLFW.active.storedWidth; + GLFW.active.height = GLFW.active.storedHeight; + GLFW.active.fullscreen = false; + + // If the width/height values do not match current active window sizes + } else if (GLFW.active.width != width || GLFW.active.height != height) { + GLFW.active.width = width; + GLFW.active.height = height; + } else { + resizeNeeded = false; + } + + // If any of the above conditions were true, we need to resize the canvas + if (resizeNeeded) { + // resets the canvas size to counter the aspect preservation of Browser.updateCanvasDimensions + Browser.setCanvasSize(GLFW.active.width, GLFW.active.height, true); + // TODO: Client dimensions (clientWidth/clientHeight) vs pixel dimensions (width/height) of + // the canvas should drive window and framebuffer size respectfully. + GLFW.onWindowSizeChanged(); + GLFW.onFramebufferSizeChanged(); + } + },onWindowSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.windowSizeFunc) return; + + + Module['dynCall_viii'](GLFW.active.windowSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },onFramebufferSizeChanged:function () { + if (!GLFW.active) return; + + if (!GLFW.active.framebufferSizeFunc) return; + + Module['dynCall_viii'](GLFW.active.framebufferSizeFunc, GLFW.active.id, GLFW.active.width, GLFW.active.height); + },requestFullscreen:function () { + var RFS = Module["canvas"]['requestFullscreen'] || + Module["canvas"]['mozRequestFullScreen'] || + Module["canvas"]['webkitRequestFullScreen'] || + (function() {}); + RFS.apply(Module["canvas"], []); + },requestFullScreen:function () { + Module.printErr('GLFW.requestFullScreen() is deprecated. Please call GLFW.requestFullscreen instead.'); + GLFW.requestFullScreen = function() { + return GLFW.requestFullscreen(); + } + return GLFW.requestFullscreen(); + },exitFullscreen:function () { + var CFS = document['exitFullscreen'] || + document['cancelFullScreen'] || + document['mozCancelFullScreen'] || + document['webkitCancelFullScreen'] || + (function() {}); + CFS.apply(document, []); + },cancelFullScreen:function () { + Module.printErr('GLFW.cancelFullScreen() is deprecated. Please call GLFW.exitFullscreen instead.'); + GLFW.cancelFullScreen = function() { + return GLFW.exitFullscreen(); + } + return GLFW.exitFullscreen(); + },getTime:function () { + return _emscripten_get_now() / 1000; + },setWindowTitle:function (winid, title) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + win.title = Pointer_stringify(title); + if (GLFW.active.id == win.id) { + document.title = win.title; + } + },setKeyCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.keyFunc = cbfun; + },setCharCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.charFunc = cbfun; + },setMouseButtonCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.mouseButtonFunc = cbfun; + },setCursorPosCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorPosFunc = cbfun; + },setScrollCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.scrollFunc = cbfun; + },setWindowSizeCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowSizeFunc = cbfun; + + },setWindowCloseCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowCloseFunc = cbfun; + },setWindowRefreshCallback:function (winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowRefreshFunc = cbfun; + },onClickRequestPointerLock:function (e) { + if (!Browser.pointerLock && Module['canvas'].requestPointerLock) { + Module['canvas'].requestPointerLock(); + e.preventDefault(); + } + },setInputMode:function (winid, mode, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + switch(mode) { + case 0x00033001: { // GLFW_CURSOR + switch(value) { + case 0x00034001: { // GLFW_CURSOR_NORMAL + win.inputModes[mode] = value; + Module['canvas'].removeEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].exitPointerLock(); + break; + } + case 0x00034002: { // GLFW_CURSOR_HIDDEN + console.log("glfwSetInputMode called with GLFW_CURSOR_HIDDEN value not implemented."); + break; + } + case 0x00034003: { // GLFW_CURSOR_DISABLED + win.inputModes[mode] = value; + Module['canvas'].addEventListener('click', GLFW.onClickRequestPointerLock, true); + Module['canvas'].requestPointerLock(); + break; + } + default: { + console.log("glfwSetInputMode called with unknown value parameter value: " + value + "."); + break; + } + } + break; + } + case 0x00033002: { // GLFW_STICKY_KEYS + console.log("glfwSetInputMode called with GLFW_STICKY_KEYS mode not implemented."); + break; + } + case 0x00033003: { // GLFW_STICKY_MOUSE_BUTTONS + console.log("glfwSetInputMode called with GLFW_STICKY_MOUSE_BUTTONS mode not implemented."); + break; + } + default: { + console.log("glfwSetInputMode called with unknown mode parameter value: " + mode + "."); + break; + } + } + },getKey:function (winid, key) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return win.keys[key]; + },getMouseButton:function (winid, button) { + var win = GLFW.WindowFromId(winid); + if (!win) return 0; + return (win.buttons & (1 << button)) > 0; + },getCursorPos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'double'); + setValue(y, Browser.mouseY, 'double'); + },getMousePos:function (winid, x, y) { + setValue(x, Browser.mouseX, 'i32'); + setValue(y, Browser.mouseY, 'i32'); + },setCursorPos:function (winid, x, y) { + },getWindowPos:function (winid, x, y) { + var wx = 0; + var wy = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + wx = win.x; + wy = win.y; + } + + setValue(x, wx, 'i32'); + setValue(y, wy, 'i32'); + },setWindowPos:function (winid, x, y) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.x = x; + win.y = y; + },getWindowSize:function (winid, width, height) { + var ww = 0; + var wh = 0; + + var win = GLFW.WindowFromId(winid); + if (win) { + ww = win.width; + wh = win.height; + } + + setValue(width, ww, 'i32'); + setValue(height, wh, 'i32'); + },setWindowSize:function (winid, width, height) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (GLFW.active.id == win.id) { + if (width == screen.width && height == screen.height) { + GLFW.requestFullscreen(); + } else { + GLFW.exitFullscreen(); + Browser.setCanvasSize(width, height); + win.width = width; + win.height = height; + } + } + + if (!win.windowSizeFunc) return; + + + Module['dynCall_viii'](win.windowSizeFunc, win.id, width, height); + },createWindow:function (width, height, title, monitor, share) { + var i, id; + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] !== null; i++); + if (i > 0) throw "glfwCreateWindow only supports one window at time currently"; + + // id for window + id = i + 1; + + // not valid + if (width <= 0 || height <= 0) return 0; + + if (monitor) { + GLFW.requestFullscreen(); + } else { + Browser.setCanvasSize(width, height); + } + + // Create context when there are no existing alive windows + for (i = 0; i < GLFW.windows.length && GLFW.windows[i] == null; i++); + if (i == GLFW.windows.length) { + var contextAttributes = { + antialias: (GLFW.hints[0x0002100D] > 1), // GLFW_SAMPLES + depth: (GLFW.hints[0x00021005] > 0), // GLFW_DEPTH_BITS + stencil: (GLFW.hints[0x00021006] > 0), // GLFW_STENCIL_BITS + alpha: (GLFW.hints[0x00021004] > 0) // GLFW_ALPHA_BITS + } + Module.ctx = Browser.createContext(Module['canvas'], true, true, contextAttributes); + } + + // If context creation failed, do not return a valid window + if (!Module.ctx) return 0; + + // Get non alive id + var win = new GLFW.Window(id, width, height, title, monitor, share); + + // Set window to array + if (id - 1 == GLFW.windows.length) { + GLFW.windows.push(win); + } else { + GLFW.windows[id - 1] = win; + } + + GLFW.active = win; + return win.id; + },destroyWindow:function (winid) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + + if (win.windowCloseFunc) + Module['dynCall_vi'](win.windowCloseFunc, win.id); + + GLFW.windows[win.id - 1] = null; + if (GLFW.active.id == win.id) + GLFW.active = null; + + // Destroy context when no alive windows + for (var i = 0; i < GLFW.windows.length; i++) + if (GLFW.windows[i] !== null) return; + + Module.ctx = Browser.destroyContext(Module['canvas'], true, true); + },swapBuffers:function (winid) { + },GLFW2ParamToGLFW3Param:function (param) { + table = { + 0x00030001:0, // GLFW_MOUSE_CURSOR + 0x00030002:0, // GLFW_STICKY_KEYS + 0x00030003:0, // GLFW_STICKY_MOUSE_BUTTONS + 0x00030004:0, // GLFW_SYSTEM_KEYS + 0x00030005:0, // GLFW_KEY_REPEAT + 0x00030006:0, // GLFW_AUTO_POLL_EVENTS + 0x00020001:0, // GLFW_OPENED + 0x00020002:0, // GLFW_ACTIVE + 0x00020003:0, // GLFW_ICONIFIED + 0x00020004:0, // GLFW_ACCELERATED + 0x00020005:0x00021001, // GLFW_RED_BITS + 0x00020006:0x00021002, // GLFW_GREEN_BITS + 0x00020007:0x00021003, // GLFW_BLUE_BITS + 0x00020008:0x00021004, // GLFW_ALPHA_BITS + 0x00020009:0x00021005, // GLFW_DEPTH_BITS + 0x0002000A:0x00021006, // GLFW_STENCIL_BITS + 0x0002000B:0x0002100F, // GLFW_REFRESH_RATE + 0x0002000C:0x00021007, // GLFW_ACCUM_RED_BITS + 0x0002000D:0x00021008, // GLFW_ACCUM_GREEN_BITS + 0x0002000E:0x00021009, // GLFW_ACCUM_BLUE_BITS + 0x0002000F:0x0002100A, // GLFW_ACCUM_ALPHA_BITS + 0x00020010:0x0002100B, // GLFW_AUX_BUFFERS + 0x00020011:0x0002100C, // GLFW_STEREO + 0x00020012:0, // GLFW_WINDOW_NO_RESIZE + 0x00020013:0x0002100D, // GLFW_FSAA_SAMPLES + 0x00020014:0x00022002, // GLFW_OPENGL_VERSION_MAJOR + 0x00020015:0x00022003, // GLFW_OPENGL_VERSION_MINOR + 0x00020016:0x00022006, // GLFW_OPENGL_FORWARD_COMPAT + 0x00020017:0x00022007, // GLFW_OPENGL_DEBUG_CONTEXT + 0x00020018:0x00022008, // GLFW_OPENGL_PROFILE + }; + return table[param]; + }};function _glfwGetVideoModes(monitor, count) { + setValue(count, 0, 'i32'); + return 0; + } + + function _glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glStencilFunc(x0, x1, x2) { GLctx['stencilFunc'](x0, x1, x2) } + + function _glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glUniform3iv(location, count, value) { + + + GLctx.uniform3iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*12)>>2)); + } + + function _emscripten_glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glReleaseShaderCompiler() { + // NOP (as allowed by GLES 2.0 spec) + } + + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); + } + + function _emscripten_glTexParameterf(x0, x1, x2) { GLctx['texParameterf'](x0, x1, x2) } + + function _emscripten_glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + + + + var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86}; + + var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else Module.printErr('failed to set errno from JS'); + return value; + } + + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (parts, allowAboveRoot) { + // if the path tries to go above the root, `up` ends up > 0 + var up = 0; + for (var i = parts.length - 1; i >= 0; i--) { + var last = parts[i]; + if (last === '.') { + parts.splice(i, 1); + } else if (last === '..') { + parts.splice(i, 1); + up++; + } else if (up) { + parts.splice(i, 1); + up--; + } + } + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } + } + return parts; + },normalize:function (path) { + var isAbsolute = path.charAt(0) === '/', + trailingSlash = path.substr(-1) === '/'; + // Normalize the path + path = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), !isAbsolute).join('/'); + if (!path && !isAbsolute) { + path = '.'; + } + if (path && trailingSlash) { + path += '/'; + } + return (isAbsolute ? '/' : '') + path; + },dirname:function (path) { + var result = PATH.splitPath(path), + root = result[0], + dir = result[1]; + if (!root && !dir) { + // No dirname whatsoever + return '.'; + } + if (dir) { + // It has a dirname, strip trailing slash + dir = dir.substr(0, dir.length - 1); + } + return root + dir; + },basename:function (path) { + // EMSCRIPTEN return '/'' for '/', not an empty string + if (path === '/') return '/'; + var lastSlash = path.lastIndexOf('/'); + if (lastSlash === -1) return path; + return path.substr(lastSlash+1); + },extname:function (path) { + return PATH.splitPath(path)[3]; + },join:function () { + var paths = Array.prototype.slice.call(arguments, 0); + return PATH.normalize(paths.join('/')); + },join2:function (l, r) { + return PATH.normalize(l + '/' + r); + },resolve:function () { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // Skip empty and invalid entries + if (typeof path !== 'string') { + throw new TypeError('Arguments to path.resolve must be strings'); + } else if (!path) { + return ''; // an invalid portion invalidates the whole thing + } + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; + } + // At this point the path should be resolved to a full absolute path, but + // handle relative paths to be safe (might happen when process.cwd() fails) + resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) { + return !!p; + }), !resolvedAbsolute).join('/'); + return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; + },relative:function (from, to) { + from = PATH.resolve(from).substr(1); + to = PATH.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // currently, FS.init does not distinguish if process.stdin is a file or TTY + // // device, it always assumes it's a TTY device. because of this, we're forcing + // // process.stdin to UTF8 encoding to at least make stdin reading compatible + // // with text files until FS.init can be refactored. + // process['stdin']['setEncoding']('utf8'); + // } + },shutdown:function () { + // https://github.com/kripken/emscripten/pull/1555 + // if (ENVIRONMENT_IS_NODE) { + // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? + // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation + // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? + // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle + // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call + // process['stdin']['pause'](); + // } + },register:function (dev, ops) { + TTY.ttys[dev] = { input: [], output: [], ops: ops }; + FS.registerDevice(dev, TTY.stream_ops); + },stream_ops:{open:function (stream) { + var tty = TTY.ttys[stream.node.rdev]; + if (!tty) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + stream.tty = tty; + stream.seekable = false; + },close:function (stream) { + // flush any pending line data + stream.tty.ops.flush(stream.tty); + },flush:function (stream) { + stream.tty.ops.flush(stream.tty); + },read:function (stream, buffer, offset, length, pos /* ignored */) { + if (!stream.tty || !stream.tty.ops.get_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = stream.tty.ops.get_char(stream.tty); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + },write:function (stream, buffer, offset, length, pos) { + if (!stream.tty || !stream.tty.ops.put_char) { + throw new FS.ErrnoError(ERRNO_CODES.ENXIO); + } + for (var i = 0; i < length; i++) { + try { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + }},default_tty_ops:{get_char:function (tty) { + if (!tty.input.length) { + var result = null; + if (ENVIRONMENT_IS_NODE) { + // we will read data by chunks of BUFSIZE + var BUFSIZE = 256; + var buf = new Buffer(BUFSIZE); + var bytesRead = 0; + + var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion + + var fd = process.stdin.fd; + if (isPosixPlatform) { + // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync) + var usingDevice = false; + try { + fd = fs.openSync('/dev/stdin', 'r'); + usingDevice = true; + } catch (e) {} + } + + try { + bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); + } catch(e) { + // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, + // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. + if (e.toString().indexOf('EOF') != -1) bytesRead = 0; + else throw e; + } + + if (usingDevice) { fs.closeSync(fd); } + if (bytesRead > 0) { + result = buf.slice(0, bytesRead).toString('utf-8'); + } else { + result = null; + } + + } else if (typeof window != 'undefined' && + typeof window.prompt == 'function') { + // Browser. + result = window.prompt('Input: '); // returns null on cancel + if (result !== null) { + result += '\n'; + } + } else if (typeof readline == 'function') { + // Command line. + result = readline(); + if (result !== null) { + result += '\n'; + } + } + if (!result) { + return null; + } + tty.input = intArrayFromString(result, true); + } + return tty.input.shift(); + },put_char:function (tty, val) { + if (val === null || val === 10) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['print'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + Module['printErr'](UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function (mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. + // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred + // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size + // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. + node.contents = null; + } else if (FS.isLink(node.mode)) { + node.node_ops = MEMFS.ops_table.link.node; + node.stream_ops = MEMFS.ops_table.link.stream; + } else if (FS.isChrdev(node.mode)) { + node.node_ops = MEMFS.ops_table.chrdev.node; + node.stream_ops = MEMFS.ops_table.chrdev.stream; + } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; + } + return node; + },getFileDataAsRegularArray:function (node) { + if (node.contents && node.contents.subarray) { + var arr = []; + for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); + return arr; // Returns a copy of the original data. + } + return node.contents; // No-op, the file contents are already in a JS array. Return as-is. + },getFileDataAsTypedArray:function (node) { + if (!node.contents) return new Uint8Array; + if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. + return new Uint8Array(node.contents); + },expandFileStorage:function (node, newCapacity) { + // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file + // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to + // increase the size. + if (node.contents && node.contents.subarray && newCapacity > node.contents.length) { + node.contents = MEMFS.getFileDataAsRegularArray(node); + node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it. + } + + if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well. + var prevCapacity = node.contents ? node.contents.length : 0; + if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. + // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. + // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to + // avoid overshooting the allocation cap by a very large margin. + var CAPACITY_DOUBLING_MAX = 1024 * 1024; + newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0); + if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. + var oldContents = node.contents; + node.contents = new Uint8Array(newCapacity); // Allocate new storage. + if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. + return; + } + // Not using a typed array to back the file storage. Use a standard JS array instead. + if (!node.contents && newCapacity > 0) node.contents = []; + while (node.contents.length < newCapacity) node.contents.push(0); + },resizeFileStorage:function (node, newSize) { + if (node.usedBytes == newSize) return; + if (newSize == 0) { + node.contents = null; // Fully decommit when requesting a resize to zero. + node.usedBytes = 0; + return; + } + if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store. + var oldContents = node.contents; + node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage. + if (oldContents) { + node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. + } + node.usedBytes = newSize; + return; + } + // Backing with a JS array. + if (!node.contents) node.contents = []; + if (node.contents.length > newSize) node.contents.length = newSize; + else while (node.contents.length < newSize) node.contents.push(0); + node.usedBytes = newSize; + },node_ops:{getattr:function (node) { + var attr = {}; + // device numbers reuse inode numbers. + attr.dev = FS.isChrdev(node.mode) ? node.id : 1; + attr.ino = node.id; + attr.mode = node.mode; + attr.nlink = 1; + attr.uid = 0; + attr.gid = 0; + attr.rdev = node.rdev; + if (FS.isDir(node.mode)) { + attr.size = 4096; + } else if (FS.isFile(node.mode)) { + attr.size = node.usedBytes; + } else if (FS.isLink(node.mode)) { + attr.size = node.link.length; + } else { + attr.size = 0; + } + attr.atime = new Date(node.timestamp); + attr.mtime = new Date(node.timestamp); + attr.ctime = new Date(node.timestamp); + // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), + // but this is not required by the standard. + attr.blksize = 4096; + attr.blocks = Math.ceil(attr.size / attr.blksize); + return attr; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + if (attr.size !== undefined) { + MEMFS.resizeFileStorage(node, attr.size); + } + },lookup:function (parent, name) { + throw FS.genericErrors[ERRNO_CODES.ENOENT]; + },mknod:function (parent, name, mode, dev) { + return MEMFS.createNode(parent, name, mode, dev); + },rename:function (old_node, new_dir, new_name) { + // if we're overwriting a directory at new_name, make sure it's empty. + if (FS.isDir(old_node.mode)) { + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + } + if (new_node) { + for (var i in new_node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + } + } + // do the internal rewiring + delete old_node.parent.contents[old_node.name]; + old_node.name = new_name; + new_dir.contents[new_name] = old_node; + old_node.parent = new_dir; + },unlink:function (parent, name) { + delete parent.contents[name]; + },rmdir:function (parent, name) { + var node = FS.lookupNode(parent, name); + for (var i in node.contents) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + delete parent.contents[name]; + },readdir:function (node) { + var entries = ['.', '..'] + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newname, oldpath) { + var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); + node.link = oldpath; + return node; + },readlink:function (node) { + if (!FS.isLink(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return node.link; + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + var contents = stream.node.contents; + if (position >= stream.node.usedBytes) return 0; + var size = Math.min(stream.node.usedBytes - position, length); + assert(size >= 0); + if (size > 8 && contents.subarray) { // non-trivial, and typed array + buffer.set(contents.subarray(position, position + size), offset); + } else { + for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; + } + return size; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (!length) return 0; + var node = stream.node; + node.timestamp = Date.now(); + + if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? + if (canOwn) { + assert(position === 0, 'canOwn must imply no weird position inside the file'); + node.contents = buffer.subarray(offset, offset + length); + node.usedBytes = length; + return length; + } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. + node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); + node.usedBytes = length; + return length; + } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? + node.contents.set(buffer.subarray(offset, offset + length), position); + return length; + } + } + + // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. + MEMFS.expandFileStorage(node, position+length); + if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); // Use typed array write if available. + else { + for (var i = 0; i < length; i++) { + node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. + } + } + node.usedBytes = Math.max(node.usedBytes, position+length); + return length; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + },allocate:function (stream, offset, length) { + MEMFS.expandFileStorage(stream.node, offset + length); + stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + var ptr; + var allocated; + var contents = stream.node.contents; + // Only make a new copy when MAP_PRIVATE is specified. + if ( !(flags & 2) && + (contents.buffer === buffer || contents.buffer === buffer.buffer) ) { + // We can't emulate MAP_SHARED when the file is not backed by the buffer + // we're mapping to (e.g. the HEAP buffer). + allocated = false; + ptr = contents.byteOffset; + } else { + // Try to avoid unnecessary slices. + if (position > 0 || position + length < stream.node.usedBytes) { + if (contents.subarray) { + contents = contents.subarray(position, position + length); + } else { + contents = Array.prototype.slice.call(contents, position, position + length); + } + } + allocated = true; + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); + } + buffer.set(contents, ptr); + } + return { ptr: ptr, allocated: allocated }; + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (mmapFlags & 2) { + // MAP_PRIVATE calls need not to be synced back to underlying fs + return 0; + } + + var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); + // should we check if bytesWritten and length are the same? + return 0; + }}}; + + var IDBFS={dbs:{},indexedDB:function () { + if (typeof indexedDB !== 'undefined') return indexedDB; + var ret = null; + if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + assert(ret, 'IDBFS used, but indexedDB not supported'); + return ret; + },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) { + // reuse all of the core MEMFS functionality + return MEMFS.mount.apply(null, arguments); + },syncfs:function (mount, populate, callback) { + IDBFS.getLocalSet(mount, function(err, local) { + if (err) return callback(err); + + IDBFS.getRemoteSet(mount, function(err, remote) { + if (err) return callback(err); + + var src = populate ? remote : local; + var dst = populate ? local : remote; + + IDBFS.reconcile(src, dst, callback); + }); + }); + },getDB:function (name, callback) { + // check the cache first + var db = IDBFS.dbs[name]; + if (db) { + return callback(null, db); + } + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); + } + if (!req) { + return callback("Unable to connect to IndexedDB"); + } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; + + var fileStore; + + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); + } + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); + } + }; + req.onsuccess = function() { + db = req.result; + + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); + }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; + + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); + } + }; + + var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); + + while (check.length) { + var path = check.pop(); + var stat; + + try { + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); + } + + entries[path] = { timestamp: stat.mtime }; + } + + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; + + IDBFS.getDB(mount.mountpoint, function(err, db) { + if (err) return callback(err); + + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly'); + transaction.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); + + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; + + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } + + entries[cursor.primaryKey] = { timestamp: cursor.key }; + + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; + + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); + } + + if (FS.isDir(stat.mode)) { + return callback(null, { timestamp: stat.mtime, mode: stat.mode }); + } else if (FS.isFile(stat.mode)) { + // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array. + // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB. + node.contents = MEMFS.getFileDataAsTypedArray(node); + return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); + } else { + return callback(new Error('node type not supported')); + } + },storeLocalEntry:function (path, entry, callback) { + try { + if (FS.isDir(entry.mode)) { + FS.mkdir(path, entry.mode); + } else if (FS.isFile(entry.mode)) { + FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true }); + } else { + return callback(new Error('node type not supported')); + } + + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } + + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); + + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); + } + } catch (e) { + return callback(e); + } + + callback(null); + },loadRemoteEntry:function (store, path, callback) { + var req = store.get(path); + req.onsuccess = function(event) { callback(null, event.target.result); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },storeRemoteEntry:function (store, path, entry, callback) { + var req = store.put(entry, path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },removeRemoteEntry:function (store, path, callback) { + var req = store.delete(path); + req.onsuccess = function() { callback(null); }; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },reconcile:function (src, dst, callback) { + var total = 0; + + var create = []; + Object.keys(src.entries).forEach(function (key) { + var e = src.entries[key]; + var e2 = dst.entries[key]; + if (!e2 || e.timestamp > e2.timestamp) { + create.push(key); + total++; + } + }); + + var remove = []; + Object.keys(dst.entries).forEach(function (key) { + var e = dst.entries[key]; + var e2 = src.entries[key]; + if (!e2) { + remove.push(key); + total++; + } + }); + + if (!total) { + return callback(null); + } + + var errored = false; + var completed = 0; + var db = src.type === 'remote' ? src.db : dst.db; + var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite'); + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return callback(err); + } + return; + } + if (++completed >= total) { + return callback(null); + } + }; + + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); + }; + + // sort paths in ascending order so directory entries are created + // before the files inside them + create.sort().forEach(function (path) { + if (dst.type === 'local') { + IDBFS.loadRemoteEntry(store, path, function (err, entry) { + if (err) return done(err); + IDBFS.storeLocalEntry(path, entry, done); + }); + } else { + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); + } + }); + + // sort paths in descending order so files are deleted before their + // parent directories + remove.sort().reverse().forEach(function(path) { + if (dst.type === 'local') { + IDBFS.removeLocalEntry(path, done); + } else { + IDBFS.removeRemoteEntry(store, path, done); + } + }); + }}; + + var NODEFS={isWindows:false,staticInit:function () { + NODEFS.isWindows = !!process.platform.match(/^win/); + },mount:function (mount) { + assert(ENVIRONMENT_IS_NODE); + return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0); + },createNode:function (parent, name, mode, dev) { + if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node = FS.createNode(parent, name, mode); + node.node_ops = NODEFS.node_ops; + node.stream_ops = NODEFS.stream_ops; + return node; + },getMode:function (path) { + var stat; + try { + stat = fs.lstatSync(path); + if (NODEFS.isWindows) { + // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so + // propagate write bits to execute bits. + stat.mode = stat.mode | ((stat.mode & 146) >> 1); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; + } + parts.push(node.mount.opts.root); + parts.reverse(); + return PATH.join.apply(null, parts); + },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) { + flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file. + flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process. + if (flags in NODEFS.flagsToPermissionStringMap) { + return NODEFS.flagsToPermissionStringMap[flags]; + } else { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + },node_ops:{getattr:function (node) { + var path = NODEFS.realPath(node); + var stat; + try { + stat = fs.lstatSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096. + // See http://support.microsoft.com/kb/140365 + if (NODEFS.isWindows && !stat.blksize) { + stat.blksize = 4096; + } + if (NODEFS.isWindows && !stat.blocks) { + stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0; + } + return { + dev: stat.dev, + ino: stat.ino, + mode: stat.mode, + nlink: stat.nlink, + uid: stat.uid, + gid: stat.gid, + rdev: stat.rdev, + size: stat.size, + atime: stat.atime, + mtime: stat.mtime, + ctime: stat.ctime, + blksize: stat.blksize, + blocks: stat.blocks + }; + },setattr:function (node, attr) { + var path = NODEFS.realPath(node); + try { + if (attr.mode !== undefined) { + fs.chmodSync(path, attr.mode); + // update the common node structure mode as well + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + var date = new Date(attr.timestamp); + fs.utimesSync(path, date, date); + } + if (attr.size !== undefined) { + fs.truncateSync(path, attr.size); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },lookup:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + var mode = NODEFS.getMode(path); + return NODEFS.createNode(parent, name, mode); + },mknod:function (parent, name, mode, dev) { + var node = NODEFS.createNode(parent, name, mode, dev); + // create the backing node for this in the fs root as well + var path = NODEFS.realPath(node); + try { + if (FS.isDir(node.mode)) { + fs.mkdirSync(path, node.mode); + } else { + fs.writeFileSync(path, '', { mode: node.mode }); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return node; + },rename:function (oldNode, newDir, newName) { + var oldPath = NODEFS.realPath(oldNode); + var newPath = PATH.join2(NODEFS.realPath(newDir), newName); + try { + fs.renameSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },unlink:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.unlinkSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },rmdir:function (parent, name) { + var path = PATH.join2(NODEFS.realPath(parent), name); + try { + fs.rmdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readdir:function (node) { + var path = NODEFS.realPath(node); + try { + return fs.readdirSync(path); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },symlink:function (parent, newName, oldPath) { + var newPath = PATH.join2(NODEFS.realPath(parent), newName); + try { + fs.symlinkSync(oldPath, newPath); + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },readlink:function (node) { + var path = NODEFS.realPath(node); + try { + path = fs.readlinkSync(path); + path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); + return path; + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + }},stream_ops:{open:function (stream) { + var path = NODEFS.realPath(stream.node); + try { + if (FS.isFile(stream.node.mode)) { + stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags)); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },close:function (stream) { + try { + if (FS.isFile(stream.node.mode) && stream.nfd) { + fs.closeSync(stream.nfd); + } + } catch (e) { + if (!e.code) throw e; + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + },read:function (stream, buffer, offset, length, position) { + if (length === 0) return 0; // node errors on 0 length reads + // FIXME this is terrible. + var nbuffer = new Buffer(length); + var res; + try { + res = fs.readSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + if (res > 0) { + for (var i = 0; i < res; i++) { + buffer[offset + i] = nbuffer[i]; + } + } + return res; + },write:function (stream, buffer, offset, length, position) { + // FIXME this is terrible. + var nbuffer = new Buffer(buffer.subarray(offset, offset + length)); + var res; + try { + res = fs.writeSync(stream.nfd, nbuffer, 0, length, position); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + return res; + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + try { + var stat = fs.fstatSync(stream.nfd); + position += stat.size; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES[e.code]); + } + } + } + + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + return position; + }}}; + + var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) { + assert(ENVIRONMENT_IS_WORKER); + if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); + var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0); + var createdParents = {}; + function ensureParent(path) { + // return the parent node, creating subdirs as necessary + var parts = path.split('/'); + var parent = root; + for (var i = 0; i < parts.length-1; i++) { + var curr = parts.slice(0, i+1).join('/'); + // Issue 4254: Using curr as a node name will prevent the node + // from being found in FS.nameTable when FS.open is called on + // a path which holds a child of this node, + // given that all FS functions assume node names + // are just their corresponding parts within their given path, + // rather than incremental aggregates which include their parent's + // directories. + if (!createdParents[curr]) { + createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); + } + parent = createdParents[curr]; + } + return parent; + } + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; + } + // We also accept FileList here, by using Array.prototype + Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { + WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); + }); + (mount.opts["blobs"] || []).forEach(function(obj) { + WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); + }); + (mount.opts["packages"] || []).forEach(function(pack) { + pack['metadata'].files.forEach(function(file) { + var name = file.filename.substr(1); // remove initial slash + WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end)); + }); + }); + return root; + },createNode:function (parent, name, mode, dev, contents, mtime) { + var node = FS.createNode(parent, name, mode); + node.mode = mode; + node.node_ops = WORKERFS.node_ops; + node.stream_ops = WORKERFS.stream_ops; + node.timestamp = (mtime || new Date).getTime(); + assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); + if (mode === WORKERFS.FILE_MODE) { + node.size = contents.size; + node.contents = contents; + } else { + node.size = 4096; + node.contents = {}; + } + if (parent) { + parent.contents[name] = node; + } + return node; + },node_ops:{getattr:function (node) { + return { + dev: 1, + ino: undefined, + mode: node.mode, + nlink: 1, + uid: 0, + gid: 0, + rdev: undefined, + size: node.size, + atime: new Date(node.timestamp), + mtime: new Date(node.timestamp), + ctime: new Date(node.timestamp), + blksize: 4096, + blocks: Math.ceil(node.size / 4096), + }; + },setattr:function (node, attr) { + if (attr.mode !== undefined) { + node.mode = attr.mode; + } + if (attr.timestamp !== undefined) { + node.timestamp = attr.timestamp; + } + },lookup:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + },mknod:function (parent, name, mode, dev) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rename:function (oldNode, newDir, newName) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },unlink:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },rmdir:function (parent, name) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readdir:function (node) { + var entries = ['.', '..']; + for (var key in node.contents) { + if (!node.contents.hasOwnProperty(key)) { + continue; + } + entries.push(key); + } + return entries; + },symlink:function (parent, newName, oldPath) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + },readlink:function (node) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + }},stream_ops:{read:function (stream, buffer, offset, length, position) { + if (position >= stream.node.size) return 0; + var chunk = stream.node.contents.slice(position, position + length); + var ab = WORKERFS.reader.readAsArrayBuffer(chunk); + buffer.set(new Uint8Array(ab), offset); + return chunk.size; + },write:function (stream, buffer, offset, length, position) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + },llseek:function (stream, offset, whence) { + var position = offset; + if (whence === 1) { // SEEK_CUR. + position += stream.position; + } else if (whence === 2) { // SEEK_END. + if (FS.isFile(stream.node.mode)) { + position += stream.node.size; + } + } + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return position; + }}}; + + var _stdin=STATICTOP; STATICTOP += 16;; + + var _stdout=STATICTOP; STATICTOP += 16;; + + var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); + },lookupPath:function (path, opts) { + path = PATH.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); + + // start at the root + var current = FS.root; + var current_path = '/'; + + for (var i = 0; i < parts.length; i++) { + var islast = (i === parts.length-1); + if (islast && opts.parent) { + // stop resolving + break; + } + + current = FS.lookupNode(current, parts[i]); + current_path = PATH.join2(current_path, parts[i]); + + // jump to the mount's root node if this is a mountpoint + if (FS.isMountpoint(current)) { + if (!islast || (islast && opts.follow_mount)) { + current = current.mounted.root; + } + } + + // by default, lookupPath will not follow a symlink if it is the final path component. + // setting opts.follow = true will override this behavior. + if (!islast || opts.follow) { + var count = 0; + while (FS.isLink(current.mode)) { + var link = FS.readlink(current_path); + current_path = PATH.resolve(PATH.dirname(current_path), link); + + var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); + current = lookup.node; + + if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function (parentid, name) { + var hash = 0; + + + for (var i = 0; i < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; + } + return ((parentid + hash) >>> 0) % FS.nameTable.length; + },hashAddNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + node.name_next = FS.nameTable[hash]; + FS.nameTable[hash] = node; + },hashRemoveNode:function (node) { + var hash = FS.hashName(node.parent.id, node.name); + if (FS.nameTable[hash] === node) { + FS.nameTable[hash] = node.name_next; + } else { + var current = FS.nameTable[hash]; + while (current) { + if (current.name_next === node) { + current.name_next = node.name_next; + break; + } + current = current.name_next; + } + } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); + } + var hash = FS.hashName(parent.id, name); + for (var node = FS.nameTable[hash]; node; node = node.name_next) { + var nodeName = node.name; + if (node.parent.id === parent.id && nodeName === name) { + return node; + } + } + // if we failed to find it in the cache, call into the VFS + return FS.lookup(parent, name); + },createNode:function (parent, name, mode, rdev) { + if (!FS.FSNode) { + FS.FSNode = function(parent, name, mode, rdev) { + if (!parent) { + parent = this; // root node sets parent to itself + } + this.parent = parent; + this.mount = parent.mount; + this.mounted = null; + this.id = FS.nextInode++; + this.name = name; + this.mode = mode; + this.node_ops = {}; + this.stream_ops = {}; + this.rdev = rdev; + }; + + FS.FSNode.prototype = {}; + + // compatibility + var readMode = 292 | 73; + var writeMode = 146; + + // NOTE we must use Object.defineProperties instead of individual calls to + // Object.defineProperty in order to make closure compiler happy + Object.defineProperties(FS.FSNode.prototype, { + read: { + get: function() { return (this.mode & readMode) === readMode; }, + set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } + }, + write: { + get: function() { return (this.mode & writeMode) === writeMode; }, + set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } + }, + isFolder: { + get: function() { return FS.isDir(this.mode); } + }, + isDevice: { + get: function() { return FS.isChrdev(this.mode); } + } + }); + } + + var node = new FS.FSNode(parent, name, mode, rdev); + + FS.hashAddNode(node); + + return node; + },destroyNode:function (node) { + FS.hashRemoveNode(node); + },isRoot:function (node) { + return node === node.parent; + },isMountpoint:function (node) { + return !!node.mounted; + },isFile:function (mode) { + return (mode & 61440) === 32768; + },isDir:function (mode) { + return (mode & 61440) === 16384; + },isLink:function (mode) { + return (mode & 61440) === 40960; + },isChrdev:function (mode) { + return (mode & 61440) === 8192; + },isBlkdev:function (mode) { + return (mode & 61440) === 24576; + },isFIFO:function (mode) { + return (mode & 61440) === 4096; + },isSocket:function (mode) { + return (mode & 49152) === 49152; + },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) { + var flags = FS.flagModes[str]; + if (typeof flags === 'undefined') { + throw new Error('Unknown file open mode: ' + str); + } + return flags; + },flagsToPermissionString:function (flag) { + var perms = ['r', 'w', 'rw'][flag & 3]; + if ((flag & 512)) { + perms += 'w'; + } + return perms; + },nodePermissions:function (node, perms) { + if (FS.ignorePermissions) { + return 0; + } + // return 0 if any user, group or owner bits are set. + if (perms.indexOf('r') !== -1 && !(node.mode & 292)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return ERRNO_CODES.EACCES; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return ERRNO_CODES.EACCES; + } + return 0; + },mayLookup:function (dir) { + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES; + return 0; + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return ERRNO_CODES.EEXIST; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return ERRNO_CODES.ENOTDIR; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return ERRNO_CODES.EBUSY; + } + } else { + if (FS.isDir(node.mode)) { + return ERRNO_CODES.EISDIR; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return ERRNO_CODES.ENOENT; + } + if (FS.isLink(node.mode)) { + return ERRNO_CODES.ELOOP; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return ERRNO_CODES.EISDIR; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(ERRNO_CODES.EMFILE); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function(){}; + FS.FSStream.prototype = {}; + // compatibility + Object.defineProperties(FS.FSStream.prototype, { + object: { + get: function() { return this.node; }, + set: function(val) { this.node = val; } + }, + isRead: { + get: function() { return (this.flags & 2097155) !== 1; } + }, + isWrite: { + get: function() { return (this.flags & 2097155) !== 0; } + }, + isAppend: { + get: function() { return (this.flags & 1024); } + } + }); + } + // clone it, so we can return an instance of FSStream + var newStream = new FS.FSStream(); + for (var p in stream) { + newStream[p] = stream[p]; + } + stream = newStream; + var fd = FS.nextfd(fd_start, fd_end); + stream.fd = fd; + FS.streams[fd] = stream; + return stream; + },closeStream:function (fd) { + FS.streams[fd] = null; + },chrdev_stream_ops:{open:function (stream) { + var device = FS.getDevice(stream.node.rdev); + // override node's stream ops with the device's + stream.stream_ops = device.stream_ops; + // forward the open call + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + },llseek:function () { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + }},major:function (dev) { + return ((dev) >> 8); + },minor:function (dev) { + return ((dev) & 0xff); + },makedev:function (ma, mi) { + return ((ma) << 8 | (mi)); + },registerDevice:function (dev, ops) { + FS.devices[dev] = { stream_ops: ops }; + },getDevice:function (dev) { + return FS.devices[dev]; + },getMounts:function (mount) { + var mounts = []; + var check = [mount]; + + while (check.length) { + var m = check.pop(); + + mounts.push(m); + + check.push.apply(check, m.mounts); + } + + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } + + FS.syncFSRequests++; + + if (FS.syncFSRequests > 1) { + console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work'); + } + + var mounts = FS.getMounts(FS.root.mount); + var completed = 0; + + function doCallback(err) { + assert(FS.syncFSRequests > 0); + FS.syncFSRequests--; + return callback(err); + } + + function done(err) { + if (err) { + if (!done.errored) { + done.errored = true; + return doCallback(err); + } + return; + } + if (++completed >= mounts.length) { + doCallback(null); + } + }; + + // sync all mounts + mounts.forEach(function (mount) { + if (!mount.type.syncfs) { + return done(null); + } + mount.type.syncfs(mount, populate, done); + }); + },mount:function (type, opts, mountpoint) { + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; + + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; + + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } + + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); + + Object.keys(FS.nameTable).forEach(function (hash) { + var current = FS.nameTable[hash]; + + while (current) { + var next = current.name_next; + + if (mounts.indexOf(current.mount) !== -1) { + FS.destroyNode(current); + } + + current = next; + } + }); + + // no longer a mountpoint + node.mounted = null; + + // remove this mount from the child mounts + var idx = node.mount.mounts.indexOf(mount); + assert(idx !== -1); + node.mount.mounts.splice(idx, 1); + },lookup:function (parent, name) { + return parent.node_ops.lookup(parent, name); + },mknod:function (path, mode, dev) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + if (!name || name === '.' || name === '..') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode = mode !== undefined ? mode : 438 /* 0666 */; + mode &= 4095; + mode |= 32768; + return FS.mknod(path, mode, 0); + },mkdir:function (path, mode) { + mode = mode !== undefined ? mode : 511 /* 0777 */; + mode &= 511 | 512; + mode |= 16384; + return FS.mknod(path, mode, 0); + },mkdirTree:function (path, mode) { + var dirs = path.split('/'); + var d = ''; + for (var i = 0; i < dirs.length; ++i) { + if (!dirs[i]) continue; + d += '/' + dirs[i]; + try { + FS.mkdir(d, mode); + } catch(e) { + if (e.errno != ERRNO_CODES.EEXIST) throw e; + } + } + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; + } + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + var newname = PATH.basename(newpath); + var err = FS.mayCreate(parent, newname); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.symlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return parent.node_ops.symlink(parent, newname, oldpath); + },rename:function (old_path, new_path) { + var old_dirname = PATH.dirname(old_path); + var new_dirname = PATH.dirname(new_path); + var old_name = PATH.basename(old_path); + var new_name = PATH.basename(new_path); + // parents must exist + var lookup, old_dir, new_dir; + try { + lookup = FS.lookupPath(old_path, { parent: true }); + old_dir = lookup.node; + lookup = FS.lookupPath(new_path, { parent: true }); + new_dir = lookup.node; + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(ERRNO_CODES.EXDEV); + } + // source must exist + var old_node = FS.lookupNode(old_dir, old_name); + // old path should not be an ancestor of the new path + var relative = PATH.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + // new path should not be an ancestor of the old path + relative = PATH.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); + } + // see if the new path already exists + var new_node; + try { + new_node = FS.lookupNode(new_dir, new_name); + } catch (e) { + // not fatal + } + // early out if nothing needs to change + if (old_node === new_node) { + return; + } + // we'll need to delete the old entry + var isdir = FS.isDir(old_node.mode); + var err = FS.mayDelete(old_dir, old_name, isdir); + if (err) { + throw new FS.ErrnoError(err); + } + // need delete permissions if we'll be overwriting. + // need create permissions if new doesn't already exist. + err = new_node ? + FS.mayDelete(new_dir, new_name, isdir) : + FS.mayCreate(new_dir, new_name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!old_dir.node_ops.rename) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + // if we are going to change the parent, check write permissions + if (new_dir !== old_dir) { + err = FS.nodePermissions(old_dir, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + } + try { + if (FS.trackingDelegate['willMovePath']) { + FS.trackingDelegate['willMovePath'](old_path, new_path); + } + } catch(e) { + console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + // remove the node from the lookup hash + FS.hashRemoveNode(old_node); + // do the underlying fs rename + try { + old_dir.node_ops.rename(old_node, new_dir, new_name); + } catch (e) { + throw e; + } finally { + // add the node back to the hash (in case node_ops.rename + // changed its name) + FS.hashAddNode(old_node); + } + try { + if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path); + } catch(e) { + console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message); + } + },rmdir:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, true); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.rmdir) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.rmdir(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + if (!node.node_ops.readdir) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + return node.node_ops.readdir(node); + },unlink:function (path) { + var lookup = FS.lookupPath(path, { parent: true }); + var parent = lookup.node; + var name = PATH.basename(path); + var node = FS.lookupNode(parent, name); + var err = FS.mayDelete(parent, name, false); + if (err) { + // According to POSIX, we should map EISDIR to EPERM, but + // we instead do what Linux does (and we must, as we use + // the musl linux libc). + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.unlink) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } + try { + if (FS.trackingDelegate['willDeletePath']) { + FS.trackingDelegate['willDeletePath'](path); + } + } catch(e) { + console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message); + } + parent.node_ops.unlink(parent, name); + FS.destroyNode(node); + try { + if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path); + } catch(e) { + console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message); + } + },readlink:function (path) { + var lookup = FS.lookupPath(path); + var link = lookup.node; + if (!link) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + return node.node_ops.getattr(node); + },lstat:function (path) { + return FS.stat(path, true); + },chmod:function (path, mode, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + mode: (mode & 4095) | (node.mode & ~4095), + timestamp: Date.now() + }); + },lchmod:function (path, mode) { + FS.chmod(path, mode, true); + },fchmod:function (fd, mode) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chmod(stream.node, mode); + },chown:function (path, uid, gid, dontFollow) { + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + node.node_ops.setattr(node, { + timestamp: Date.now() + // we ignore the uid / gid for now + }); + },lchown:function (path, uid, gid) { + FS.chown(path, uid, gid, true); + },fchown:function (fd, uid, gid) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var node; + if (typeof path === 'string') { + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + } else { + node = path; + } + if (!node.node_ops.setattr) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var err = FS.nodePermissions(node, 'w'); + if (err) { + throw new FS.ErrnoError(err); + } + node.node_ops.setattr(node, { + size: len, + timestamp: Date.now() + }); + },ftruncate:function (fd, len) { + var stream = FS.getStream(fd); + if (!stream) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + FS.truncate(stream.node, len); + },utime:function (path, atime, mtime) { + var lookup = FS.lookupPath(path, { follow: true }); + var node = lookup.node; + node.node_ops.setattr(node, { + timestamp: Math.max(atime, mtime) + }); + },open:function (path, flags, mode, fd_start, fd_end) { + if (path === "") { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags; + mode = typeof mode === 'undefined' ? 438 /* 0666 */ : mode; + if ((flags & 64)) { + mode = (mode & 4095) | 32768; + } else { + mode = 0; + } + var node; + if (typeof path === 'object') { + node = path; + } else { + path = PATH.normalize(path); + try { + var lookup = FS.lookupPath(path, { + follow: !(flags & 131072) + }); + node = lookup.node; + } catch (e) { + // ignore + } + } + // perhaps we need to create the node + var created = false; + if ((flags & 64)) { + if (node) { + // if O_CREAT and O_EXCL are set, error out if the node already exists + if ((flags & 128)) { + throw new FS.ErrnoError(ERRNO_CODES.EEXIST); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + // can't truncate a device + if (FS.isChrdev(node.mode)) { + flags &= ~512; + } + // if asked only for a directory, then this must be one + if ((flags & 65536) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + // check permissions, if this is not a file we just created now (it is ok to + // create and write to a file with read-only permissions; it is read-only + // for later use) + if (!created) { + var err = FS.mayOpen(node, flags); + if (err) { + throw new FS.ErrnoError(err); + } + } + // do truncation if necessary + if ((flags & 512)) { + FS.truncate(node, 0); + } + // we've already handled these, don't pass down to the underlying vfs + flags &= ~(128 | 512); + + // register the stream with the filesystem + var stream = FS.createStream({ + node: node, + path: FS.getPath(node), // we want the absolute path to the node + flags: flags, + seekable: true, + position: 0, + stream_ops: node.stream_ops, + // used by the file family libc calls (fopen, fwrite, ferror, etc.) + ungotten: [], + error: false + }, fd_start, fd_end); + // call the new stream's open function + if (stream.stream_ops.open) { + stream.stream_ops.open(stream); + } + if (Module['logReadFiles'] && !(flags & 1)) { + if (!FS.readFiles) FS.readFiles = {}; + if (!(path in FS.readFiles)) { + FS.readFiles[path] = 1; + Module['printErr']('read file: ' + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function (stream) { + if (stream.getdents) stream.getdents = null; // free readdir state + try { + if (stream.stream_ops.close) { + stream.stream_ops.close(stream); + } + } catch (e) { + throw e; + } finally { + FS.closeStream(stream.fd); + } + },llseek:function (stream, offset, whence) { + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + stream.position = stream.stream_ops.llseek(stream, offset, whence); + stream.ungotten = []; + return stream.position; + },read:function (stream, buffer, offset, length, position) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); + if (!seeking) stream.position += bytesRead; + return bytesRead; + },write:function (stream, buffer, offset, length, position, canOwn) { + if (length < 0 || position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.EISDIR); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if (stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = true; + if (typeof position === 'undefined') { + position = stream.position; + seeking = false; + } else if (!stream.seekable) { + throw new FS.ErrnoError(ERRNO_CODES.ESPIPE); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function (stream, offset, length) { + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EBADF); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // TODO if PROT is PROT_WRITE, make sure we have write access + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(ERRNO_CODES.EACCES); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(ERRNO_CODES.ENODEV); + } + return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); + },msync:function (stream, buffer, offset, length, mmapFlags) { + if (!stream || !stream.stream_ops.msync) { + return 0; + } + return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); + },munmap:function (stream) { + return 0; + },ioctl:function (stream, cmd, arg) { + if (!stream.stream_ops.ioctl) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTTY); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + opts.encoding = opts.encoding || 'utf8'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var stream = FS.open(path, opts.flags, opts.mode); + if (opts.encoding === 'utf8') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn); + } else if (opts.encoding === 'binary') { + FS.write(stream, data, 0, data.length, 0, opts.canOwn); + } + FS.close(stream); + },cwd:function () { + return FS.currentPath; + },chdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } + var err = FS.nodePermissions(lookup.node, 'x'); + if (err) { + throw new FS.ErrnoError(err); + } + FS.currentPath = lookup.path; + },createDefaultDirectories:function () { + FS.mkdir('/tmp'); + FS.mkdir('/home'); + FS.mkdir('/home/web_user'); + },createDefaultDevices:function () { + // create /dev + FS.mkdir('/dev'); + // setup /dev/null + FS.registerDevice(FS.makedev(1, 3), { + read: function() { return 0; }, + write: function(stream, buffer, offset, length, pos) { return length; } + }); + FS.mkdev('/dev/null', FS.makedev(1, 3)); + // setup /dev/tty and /dev/tty1 + // stderr needs to print output using Module['printErr'] + // so we register a second tty just for it. + TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); + TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); + FS.mkdev('/dev/tty', FS.makedev(5, 0)); + FS.mkdev('/dev/tty1', FS.makedev(6, 0)); + // setup /dev/[u]random + var random_device; + if (typeof crypto !== 'undefined') { + // for modern web browsers + var randomBuffer = new Uint8Array(1); + random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; + } else if (ENVIRONMENT_IS_NODE) { + // for nodejs + random_device = function() { return require('crypto').randomBytes(1)[0]; }; + } else { + // default for ES5 platforms + random_device = function() { return (Math.random()*256)|0; }; + } + FS.createDevice('/dev', 'random', random_device); + FS.createDevice('/dev', 'urandom', random_device); + // we're not going to emulate the actual shm device, + // just create the tmp dirs that reside in it commonly + FS.mkdir('/dev/shm'); + FS.mkdir('/dev/shm/tmp'); + },createSpecialDirectories:function () { + // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname) + FS.mkdir('/proc'); + FS.mkdir('/proc/self'); + FS.mkdir('/proc/self/fd'); + FS.mount({ + mount: function() { + var node = FS.createNode('/proc/self', 'fd', 16384 | 511 /* 0777 */, 73); + node.node_ops = { + lookup: function(parent, name) { + var fd = +name; + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + var ret = { + parent: null, + mount: { mountpoint: 'fake' }, + node_ops: { readlink: function() { return stream.path } } + }; + ret.parent = ret; // make it look like a simple root node + return ret; + } + }; + return node; + } + }, {}, '/proc/self/fd'); + },createStandardStreams:function () { + // TODO deprecate the old functionality of a single + // input / output callback and that utilizes FS.createDevice + // and instead require a unique set of stream ops + + // by default, we symlink the standard streams to the + // default tty devices. however, if the standard streams + // have been overwritten we create a unique device for + // them instead. + if (Module['stdin']) { + FS.createDevice('/dev', 'stdin', Module['stdin']); + } else { + FS.symlink('/dev/tty', '/dev/stdin'); + } + if (Module['stdout']) { + FS.createDevice('/dev', 'stdout', null, Module['stdout']); + } else { + FS.symlink('/dev/tty', '/dev/stdout'); + } + if (Module['stderr']) { + FS.createDevice('/dev', 'stderr', null, Module['stderr']); + } else { + FS.symlink('/dev/tty1', '/dev/stderr'); + } + + // open default streams for the stdin, stdout and stderr devices + var stdin = FS.open('/dev/stdin', 'r'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + + var stdout = FS.open('/dev/stdout', 'w'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + + var stderr = FS.open('/dev/stderr', 'w'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + //Module.printErr(stackTrace()); // useful for debugging + this.node = node; + this.setErrno = function(errno) { + this.errno = errno; + for (var key in ERRNO_CODES) { + if (ERRNO_CODES[key] === errno) { + this.code = key; + break; + } + } + }; + this.setErrno(errno); + this.message = ERRNO_MESSAGES[errno]; + if (this.stack) this.stack = demangleAll(this.stack); + }; + FS.ErrnoError.prototype = new Error(); + FS.ErrnoError.prototype.constructor = FS.ErrnoError; + // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) + [ERRNO_CODES.ENOENT].forEach(function(code) { + FS.genericErrors[code] = new FS.ErrnoError(code); + FS.genericErrors[code].stack = ''; + }); + },staticInit:function () { + FS.ensureErrnoError(); + + FS.nameTable = new Array(4096); + + FS.mount(MEMFS, {}, '/'); + + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); + + FS.filesystems = { + 'MEMFS': MEMFS, + 'IDBFS': IDBFS, + 'NODEFS': NODEFS, + 'WORKERFS': WORKERFS, + }; + },init:function (input, output, error) { + assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)'); + FS.init.initialized = true; + + FS.ensureErrnoError(); + + // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here + Module['stdin'] = input || Module['stdin']; + Module['stdout'] = output || Module['stdout']; + Module['stderr'] = error || Module['stderr']; + + FS.createStandardStreams(); + },quit:function () { + FS.init.initialized = false; + // force-flush all streams, so we get musl std streams printed out + var fflush = Module['_fflush']; + if (fflush) fflush(0); + // close all of our streams + for (var i = 0; i < FS.streams.length; i++) { + var stream = FS.streams[i]; + if (!stream) { + continue; + } + FS.close(stream); + } + },getMode:function (canRead, canWrite) { + var mode = 0; + if (canRead) mode |= 292 | 73; + if (canWrite) mode |= 146; + return mode; + },joinPath:function (parts, forceRelative) { + var path = PATH.join.apply(null, parts); + if (forceRelative && path[0] == '/') path = path.substr(1); + return path; + },absolutePath:function (relative, base) { + return PATH.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (path, dontResolveLastLink) { + // operate from within the context of the symlink's target + try { + var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + path = lookup.path; + } catch (e) { + } + var ret = { + isRoot: false, exists: false, error: 0, name: null, path: null, object: null, + parentExists: false, parentPath: null, parentObject: null + }; + try { + var lookup = FS.lookupPath(path, { parent: true }); + ret.parentExists = true; + ret.parentPath = lookup.path; + ret.parentObject = lookup.node; + ret.name = PATH.basename(path); + lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); + ret.exists = true; + ret.path = lookup.path; + ret.object = lookup.node; + ret.name = lookup.node.name; + ret.isRoot = lookup.path === '/'; + } catch (e) { + ret.error = e.errno; + }; + return ret; + },createFolder:function (parent, name, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.mkdir(path, mode); + },createPath:function (parent, path, canRead, canWrite) { + parent = typeof parent === 'string' ? parent : FS.getPath(parent); + var parts = path.split('/').reverse(); + while (parts.length) { + var part = parts.pop(); + if (!part) continue; + var current = PATH.join2(parent, part); + try { + FS.mkdir(current); + } catch (e) { + // ignore EEXIST + } + parent = current; + } + return current; + },createFile:function (parent, name, properties, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(canRead, canWrite); + return FS.create(path, mode); + },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) { + var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent; + var mode = FS.getMode(canRead, canWrite); + var node = FS.create(path, mode); + if (data) { + if (typeof data === 'string') { + var arr = new Array(data.length); + for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); + data = arr; + } + // make sure we can write to the file + FS.chmod(node, mode | 146); + var stream = FS.open(node, 'w'); + FS.write(stream, data, 0, data.length, 0, canOwn); + FS.close(stream); + FS.chmod(node, mode); + } + return node; + },createDevice:function (parent, name, input, output) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + var mode = FS.getMode(!!input, !!output); + if (!FS.createDevice.major) FS.createDevice.major = 64; + var dev = FS.makedev(FS.createDevice.major++, 0); + // Create a fake device that a set of stream ops to emulate + // the old behavior. + FS.registerDevice(dev, { + open: function(stream) { + stream.seekable = false; + }, + close: function(stream) { + // flush any pending line data + if (output && output.buffer && output.buffer.length) { + output(10); + } + }, + read: function(stream, buffer, offset, length, pos /* ignored */) { + var bytesRead = 0; + for (var i = 0; i < length; i++) { + var result; + try { + result = input(); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); + } + if (result === null || result === undefined) break; + bytesRead++; + buffer[offset+i] = result; + } + if (bytesRead) { + stream.node.timestamp = Date.now(); + } + return bytesRead; + }, + write: function(stream, buffer, offset, length, pos) { + for (var i = 0; i < length; i++) { + try { + output(buffer[offset+i]); + } catch (e) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + } + if (length) { + stream.node.timestamp = Date.now(); + } + return i; + } + }); + return FS.mkdev(path, mode, dev); + },createLink:function (parent, name, target, canRead, canWrite) { + var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name); + return FS.symlink(target, path); + },forceLoadFile:function (obj) { + if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; + var success = true; + if (typeof XMLHttpRequest !== 'undefined') { + throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); + } else if (Module['read']) { + // Command-line. + try { + // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as + // read() will try to parse UTF8. + obj.contents = intArrayFromString(Module['read'](obj.url), true); + obj.usedBytes = obj.contents.length; + } catch (e) { + success = false; + } + } else { + throw new Error('Cannot load without read() or XMLHttpRequest.'); + } + if (!success) ___setErrNo(ERRNO_CODES.EIO); + return success; + },createLazyFile:function (parent, name, url, canRead, canWrite) { + // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse. + function LazyUint8Array() { + this.lengthKnown = false; + this.chunks = []; // Loaded chunks. Index is the chunk number + } + LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { + if (idx > this.length-1 || idx < 0) { + return undefined; + } + var chunkOffset = idx % this.chunkSize; + var chunkNum = (idx / this.chunkSize)|0; + return this.getter(chunkNum)[chunkOffset]; + } + LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { + this.getter = getter; + } + LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { + // Find length + var xhr = new XMLHttpRequest(); + xhr.open('HEAD', url, false); + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + var datalength = Number(xhr.getResponseHeader("Content-length")); + var header; + var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; + var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; + + var chunkSize = 1024*1024; // Chunk size in bytes + + if (!hasByteServing) chunkSize = datalength; + + // Function to get a range from the remote URL. + var doXHR = (function(from, to) { + if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); + if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); + + // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); + + // Some hints to the browser that we want binary data. + if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer'; + if (xhr.overrideMimeType) { + xhr.overrideMimeType('text/plain; charset=x-user-defined'); + } + + xhr.send(null); + if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); + if (xhr.response !== undefined) { + return new Uint8Array(xhr.response || []); + } else { + return intArrayFromString(xhr.responseText || '', true); + } + }); + var lazyArray = this; + lazyArray.setDataGetter(function(chunkNum) { + var start = chunkNum * chunkSize; + var end = (chunkNum+1) * chunkSize - 1; // including this byte + end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") { + lazyArray.chunks[chunkNum] = doXHR(start, end); + } + if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!"); + return lazyArray.chunks[chunkNum]; + }); + + if (usesGzip || !datalength) { + // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length + chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file + datalength = this.getter(0).length; + chunkSize = datalength; + console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); + } + + this._length = datalength; + this._chunkSize = chunkSize; + this.lengthKnown = true; + } + if (typeof XMLHttpRequest !== 'undefined') { + if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; + var lazyArray = new LazyUint8Array(); + Object.defineProperties(lazyArray, { + length: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._length; + } + }, + chunkSize: { + get: function() { + if(!this.lengthKnown) { + this.cacheLength(); + } + return this._chunkSize; + } + } + }); + + var properties = { isDevice: false, contents: lazyArray }; + } else { + var properties = { isDevice: false, url: url }; + } + + var node = FS.createFile(parent, name, properties, canRead, canWrite); + // This is a total hack, but I want to get this lazy file code out of the + // core of MEMFS. If we want to keep this lazy file concept I feel it should + // be its own thin LAZYFS proxying calls to MEMFS. + if (properties.contents) { + node.contents = properties.contents; + } else if (properties.url) { + node.contents = null; + node.url = properties.url; + } + // Add a function that defers querying the file size until it is asked the first time. + Object.defineProperties(node, { + usedBytes: { + get: function() { return this.contents.length; } + } + }); + // override each stream op with one that tries to force load the lazy file first + var stream_ops = {}; + var keys = Object.keys(node.stream_ops); + keys.forEach(function(key) { + var fn = node.stream_ops[key]; + stream_ops[key] = function forceLoadLazyFile() { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + return fn.apply(null, arguments); + }; + }); + // use a custom read function + stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { + if (!FS.forceLoadFile(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EIO); + } + var contents = stream.node.contents; + if (position >= contents.length) + return 0; + var size = Math.min(contents.length - position, length); + assert(size >= 0); + if (contents.slice) { // normal array + for (var i = 0; i < size; i++) { + buffer[offset + i] = contents[position + i]; + } + } else { + for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR + buffer[offset + i] = contents.get(position + i); + } + } + return size; + }; + node.stream_ops = stream_ops; + return node; + },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { + Browser.init(); // XXX perhaps this method should move onto Browser? + // TODO we should allow people to just pass in a complete filename instead + // of parent and name being that we just join them anyways + var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; + var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname + function processData(byteArray) { + function finish(byteArray) { + if (preFinish) preFinish(); + if (!dontCreateFile) { + FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); + } + if (onload) onload(); + removeRunDependency(dep); + } + var handled = false; + Module['preloadPlugins'].forEach(function(plugin) { + if (handled) return; + if (plugin['canHandle'](fullname)) { + plugin['handle'](byteArray, fullname, finish, function() { + if (onerror) onerror(); + removeRunDependency(dep); + }); + handled = true; + } + }); + if (!handled) finish(byteArray); + } + addRunDependency(dep); + if (typeof url == 'string') { + Browser.asyncLoad(url, function(byteArray) { + processData(byteArray); + }, onerror); + } else { + processData(url); + } + },indexedDB:function () { + return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; + },DB_NAME:function () { + return 'EM_FS_' + window.location.pathname; + },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { + console.log('creating db'); + var db = openRequest.result; + db.createObjectStore(FS.DB_STORE_NAME); + }; + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite'); + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var putRequest = files.put(FS.analyzePath(path).object.contents, path); + putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() }; + putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + },loadFilesFromDB:function (paths, onload, onerror) { + onload = onload || function(){}; + onerror = onerror || function(){}; + var indexedDB = FS.indexedDB(); + try { + var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); + } catch (e) { + return onerror(e); + } + openRequest.onupgradeneeded = onerror; // no database to load from + openRequest.onsuccess = function openRequest_onsuccess() { + var db = openRequest.result; + try { + var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly'); + } catch(e) { + onerror(e); + return; + } + var files = transaction.objectStore(FS.DB_STORE_NAME); + var ok = 0, fail = 0, total = paths.length; + function finish() { + if (fail == 0) onload(); else onerror(); + } + paths.forEach(function(path) { + var getRequest = files.get(path); + getRequest.onsuccess = function getRequest_onsuccess() { + if (FS.analyzePath(path).exists) { + FS.unlink(path); + } + FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); + ok++; + if (ok + fail == total) finish(); + }; + getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() }; + }); + transaction.onerror = onerror; + }; + openRequest.onerror = onerror; + }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) { + if (path[0] !== '/') { + // relative path + var dir; + if (dirfd === -100) { + dir = FS.cwd(); + } else { + var dirstream = FS.getStream(dirfd); + if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + dir = dirstream.path; + } + path = PATH.join2(dir, path); + } + return path; + },doStat:function (func, path, buf) { + try { + var stat = func(path); + } catch (e) { + if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { + // an error occurred while trying to look up the path; we should just report ENOTDIR + return -ERRNO_CODES.ENOTDIR; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + HEAP32[(((buf)+(36))>>2)]=stat.size; + HEAP32[(((buf)+(40))>>2)]=4096; + HEAP32[(((buf)+(44))>>2)]=stat.blocks; + HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(52))>>2)]=0; + HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=stat.ino; + return 0; + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // remove a trailing slash, if one - /a/b/ has basename of '', but + // we want to create b in the context of this function + path = PATH.normalize(path); + if (path[path.length-1] === '/') path = path.substr(0, path.length-1); + FS.mkdir(path, mode, 0); + return 0; + },doMknod:function (path, mode, dev) { + // we don't want this in the JS API as it uses mknod to create all nodes. + switch (mode & 61440) { + case 32768: + case 8192: + case 24576: + case 4096: + case 49152: + break; + default: return -ERRNO_CODES.EINVAL; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -ERRNO_CODES.EINVAL; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // readlink is one of the rare functions that write out a C string, but does never append a null to the output buffer(!) + // stringToUTF8() always appends a null byte, so restore the character under the null byte after the write. + HEAP8[buf+len] = endChar; + + return len; + },doAccess:function (path, amode) { + if (amode & ~7) { + // need a valid mode + return -ERRNO_CODES.EINVAL; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -ERRNO_CODES.EACCES; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.read(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + if (curr < len) break; // nothing more to read + } + return ret; + },doWritev:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[(((iov)+(i*8))>>2)]; + var len = HEAP32[(((iov)+(i*8 + 4))>>2)]; + var curr = FS.write(stream, HEAP8,ptr, len, offset); + if (curr < 0) return -1; + ret += curr; + } + return ret; + },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; + },getStreamFromFD:function () { + var stream = FS.getStream(SYSCALLS.get()); + if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return stream; + },getSocketFromFD:function () { + var socket = SOCKFS.getSocket(SYSCALLS.get()); + if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); + return socket; + },getSocketAddress:function (allowNull) { + var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); + if (allowNull && addrp === 0) return null; + var info = __read_sockaddr(addrp, addrlen); + if (info.errno) throw new FS.ErrnoError(info.errno); + info.addr = DNS.lookup_addr(info.addr) || info.addr; + return info; + },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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21505: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + case 21506: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return -ERRNO_CODES.EINVAL; // not supported + } + case 21531: { + var argp = SYSCALLS.get(); + return FS.ioctl(stream, op, argp); + } + case 21523: { + // TODO: in theory we should write to the winsize struct that gets + // passed in, but for now musl doesn't read anything on it + if (!stream.tty) return -ERRNO_CODES.ENOTTY; + return 0; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); + } + + function _glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); + } + + function _emscripten_glGetTexParameterfv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); + } + + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + + + var JSEvents={keyEvent:0,mouseEvent:0,wheelEvent:0,uiEvent:0,focusEvent:0,deviceOrientationEvent:0,deviceMotionEvent:0,fullscreenChangeEvent:0,pointerlockChangeEvent:0,visibilityChangeEvent:0,touchEvent:0,lastGamepadState:null,lastGamepadStateFrame:null,numGamepadsConnected:0,previousFullscreenElement:null,previousScreenX:null,previousScreenY:null,removeEventListenersRegistered:false,staticInit:function () { + if (typeof window !== 'undefined') { + window.addEventListener("gamepadconnected", function() { ++JSEvents.numGamepadsConnected; }); + window.addEventListener("gamepaddisconnected", function() { --JSEvents.numGamepadsConnected; }); + } + },registerRemoveEventListeners:function () { + if (!JSEvents.removeEventListenersRegistered) { + __ATEXIT__.push(function() { + for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { + JSEvents._removeHandler(i); + } + }); + JSEvents.removeEventListenersRegistered = true; + } + },findEventTarget:function (target) { + if (target) { + if (typeof target == "number") { + target = Pointer_stringify(target); + } + if (target == '#window') return window; + else if (target == '#document') return document; + else if (target == '#screen') return window.screen; + else if (target == '#canvas') return Module['canvas']; + + if (typeof target == 'string') return document.getElementById(target); + else return target; + } else { + // The sensible target varies between events, but use window as the default + // since DOM events mostly can default to that. Specific callback registrations + // override their own defaults. + return window; + } + },deferredCalls:[],deferCall:function (targetFunction, precedence, argsList) { + function arraysHaveEqualContent(arrA, arrB) { + if (arrA.length != arrB.length) return false; + + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; + } + // Test if the given call was already queued, and if so, don't add it again. + for(var i in JSEvents.deferredCalls) { + var call = JSEvents.deferredCalls[i]; + if (call.targetFunction == targetFunction && arraysHaveEqualContent(call.argsList, argsList)) { + return; + } + } + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); + + JSEvents.deferredCalls.sort(function(x,y) { return x.precedence < y.precedence; }); + },removeDeferredCalls:function (targetFunction) { + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + if (JSEvents.deferredCalls[i].targetFunction == targetFunction) { + JSEvents.deferredCalls.splice(i, 1); + --i; + } + } + },canPerformEventHandlerRequests:function () { + return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; + },runDeferredCalls:function () { + if (!JSEvents.canPerformEventHandlerRequests()) { + return; + } + for(var i = 0; i < JSEvents.deferredCalls.length; ++i) { + var call = JSEvents.deferredCalls[i]; + JSEvents.deferredCalls.splice(i, 1); + --i; + call.targetFunction.apply(this, call.argsList); + } + },inEventHandler:0,currentEventHandler:null,eventHandlers:[],isInternetExplorer:function () { return navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0; },removeAllHandlersOnTarget:function (target, eventTypeString) { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == target && + (!eventTypeString || eventTypeString == JSEvents.eventHandlers[i].eventTypeString)) { + JSEvents._removeHandler(i--); + } + } + },_removeHandler:function (i) { + var h = JSEvents.eventHandlers[i]; + h.target.removeEventListener(h.eventTypeString, h.eventListenerFunc, h.useCapture); + JSEvents.eventHandlers.splice(i, 1); + },registerOrRemoveHandler:function (eventHandler) { + var jsEventHandler = function jsEventHandler(event) { + // Increment nesting count for the event handler. + ++JSEvents.inEventHandler; + JSEvents.currentEventHandler = eventHandler; + // Process any old deferred calls the user has placed. + JSEvents.runDeferredCalls(); + // Process the actual event, calls back to user C code handler. + eventHandler.handlerFunc(event); + // Process any new deferred calls that were placed right now from this event handler. + JSEvents.runDeferredCalls(); + // Out of event handler - restore nesting count. + --JSEvents.inEventHandler; + } + + if (eventHandler.callbackfunc) { + eventHandler.eventListenerFunc = jsEventHandler; + eventHandler.target.addEventListener(eventHandler.eventTypeString, jsEventHandler, eventHandler.useCapture); + JSEvents.eventHandlers.push(eventHandler); + JSEvents.registerRemoveEventListeners(); + } else { + for(var i = 0; i < JSEvents.eventHandlers.length; ++i) { + if (JSEvents.eventHandlers[i].target == eventHandler.target + && JSEvents.eventHandlers[i].eventTypeString == eventHandler.eventTypeString) { + JSEvents._removeHandler(i--); + } + } + } + },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.keyEvent) { + JSEvents.keyEvent = _malloc( 164 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + stringToUTF8(e.key ? e.key : "", JSEvents.keyEvent + 0, 32); + stringToUTF8(e.code ? e.code : "", JSEvents.keyEvent + 32, 32); + HEAP32[(((JSEvents.keyEvent)+(64))>>2)]=e.location; + HEAP32[(((JSEvents.keyEvent)+(68))>>2)]=e.ctrlKey; + HEAP32[(((JSEvents.keyEvent)+(72))>>2)]=e.shiftKey; + HEAP32[(((JSEvents.keyEvent)+(76))>>2)]=e.altKey; + HEAP32[(((JSEvents.keyEvent)+(80))>>2)]=e.metaKey; + HEAP32[(((JSEvents.keyEvent)+(84))>>2)]=e.repeat; + stringToUTF8(e.locale ? e.locale : "", JSEvents.keyEvent + 88, 32); + stringToUTF8(e.char ? e.char : "", JSEvents.keyEvent + 120, 32); + HEAP32[(((JSEvents.keyEvent)+(152))>>2)]=e.charCode; + HEAP32[(((JSEvents.keyEvent)+(156))>>2)]=e.keyCode; + HEAP32[(((JSEvents.keyEvent)+(160))>>2)]=e.which; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.keyEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: JSEvents.isInternetExplorer() ? false : true, // MSIE doesn't allow fullscreen and pointerlock requests from key handlers, others do. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getBoundingClientRectOrZeros:function (target) { + return target.getBoundingClientRect ? target.getBoundingClientRect() : { left: 0, top: 0 }; + },fillMouseEventData:function (eventStruct, e, target) { + HEAPF64[((eventStruct)>>3)]=JSEvents.tick(); + HEAP32[(((eventStruct)+(8))>>2)]=e.screenX; + HEAP32[(((eventStruct)+(12))>>2)]=e.screenY; + HEAP32[(((eventStruct)+(16))>>2)]=e.clientX; + HEAP32[(((eventStruct)+(20))>>2)]=e.clientY; + HEAP32[(((eventStruct)+(24))>>2)]=e.ctrlKey; + HEAP32[(((eventStruct)+(28))>>2)]=e.shiftKey; + HEAP32[(((eventStruct)+(32))>>2)]=e.altKey; + HEAP32[(((eventStruct)+(36))>>2)]=e.metaKey; + HEAP16[(((eventStruct)+(40))>>1)]=e.button; + HEAP16[(((eventStruct)+(42))>>1)]=e.buttons; + HEAP32[(((eventStruct)+(44))>>2)]=e["movementX"] || e["mozMovementX"] || e["webkitMovementX"] || (e.screenX-JSEvents.previousScreenX); + HEAP32[(((eventStruct)+(48))>>2)]=e["movementY"] || e["mozMovementY"] || e["webkitMovementY"] || (e.screenY-JSEvents.previousScreenY); + + if (Module['canvas']) { + var rect = Module['canvas'].getBoundingClientRect(); + HEAP32[(((eventStruct)+(60))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(64))>>2)]=e.clientY - rect.top; + } else { // Canvas is not initialized, return 0. + HEAP32[(((eventStruct)+(60))>>2)]=0; + HEAP32[(((eventStruct)+(64))>>2)]=0; + } + if (target) { + var rect = JSEvents.getBoundingClientRectOrZeros(target); + HEAP32[(((eventStruct)+(52))>>2)]=e.clientX - rect.left; + HEAP32[(((eventStruct)+(56))>>2)]=e.clientY - rect.top; + } else { // No specific target passed, return 0. + HEAP32[(((eventStruct)+(52))>>2)]=0; + HEAP32[(((eventStruct)+(56))>>2)]=0; + } + // wheel and mousewheel events contain wrong screenX/screenY on chrome/opera + // https://github.com/kripken/emscripten/pull/4997 + // https://bugs.chromium.org/p/chromium/issues/detail?id=699956 + if (e.type !== 'wheel' && e.type !== 'mousewheel') { + JSEvents.previousScreenX = e.screenX; + JSEvents.previousScreenY = e.screenY; + } + },registerMouseEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.mouseEvent) { + JSEvents.mouseEvent = _malloc( 72 ); + } + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.mouseEvent, e, target); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.mouseEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: eventTypeString != 'mousemove' && eventTypeString != 'mouseenter' && eventTypeString != 'mouseleave', // Mouse move events do not allow fullscreen/pointer lock requests to be handled in them! + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + // In IE, mousedown events don't either allow deferred calls to be run! + if (JSEvents.isInternetExplorer() && eventTypeString == 'mousedown') eventHandler.allowsDeferredCalls = false; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWheelEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.wheelEvent) { + JSEvents.wheelEvent = _malloc( 104 ); + } + target = JSEvents.findEventTarget(target); + // The DOM Level 3 events spec event 'wheel' + var wheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["deltaX"]; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=e["deltaY"]; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=e["deltaZ"]; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=e["deltaMode"]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + // The 'mousewheel' event as implemented in Safari 6.0.5 + var mouseWheelHandlerFunc = function(event) { + var e = event || window.event; + JSEvents.fillMouseEventData(JSEvents.wheelEvent, e, target); + HEAPF64[(((JSEvents.wheelEvent)+(72))>>3)]=e["wheelDeltaX"] || 0; + HEAPF64[(((JSEvents.wheelEvent)+(80))>>3)]=-(e["wheelDeltaY"] ? e["wheelDeltaY"] : e["wheelDelta"]) /* 1. Invert to unify direction with the DOM Level 3 wheel event. 2. MSIE does not provide wheelDeltaY, so wheelDelta is used as a fallback. */; + HEAPF64[(((JSEvents.wheelEvent)+(88))>>3)]=0 /* Not available */; + HEAP32[(((JSEvents.wheelEvent)+(96))>>2)]=0 /* DOM_DELTA_PIXEL */; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.wheelEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: (eventTypeString == 'wheel') ? wheelHandlerFunc : mouseWheelHandlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },pageScrollPos:function () { + if (window.pageXOffset > 0 || window.pageYOffset > 0) { + return [window.pageXOffset, window.pageYOffset]; + } + if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { + return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + } + return [document.body.scrollLeft|0, document.body.scrollTop|0]; + },registerUiEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.uiEvent) { + JSEvents.uiEvent = _malloc( 36 ); + } + + if (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + if (e.target != target) { + // Never take ui events such as scroll via a 'bubbled' route, but always from the direct element that + // was targeted. Otherwise e.g. if app logs a message in response to a page scroll, the Emscripten log + // message box could cause to scroll, generating a new (bubbled) scroll message, causing a new log print, + // causing a new scroll, etc.. + return; + } + var scrollPos = JSEvents.pageScrollPos(); + HEAP32[((JSEvents.uiEvent)>>2)]=e.detail; + HEAP32[(((JSEvents.uiEvent)+(4))>>2)]=document.body.clientWidth; + HEAP32[(((JSEvents.uiEvent)+(8))>>2)]=document.body.clientHeight; + HEAP32[(((JSEvents.uiEvent)+(12))>>2)]=window.innerWidth; + HEAP32[(((JSEvents.uiEvent)+(16))>>2)]=window.innerHeight; + HEAP32[(((JSEvents.uiEvent)+(20))>>2)]=window.outerWidth; + HEAP32[(((JSEvents.uiEvent)+(24))>>2)]=window.outerHeight; + HEAP32[(((JSEvents.uiEvent)+(28))>>2)]=scrollPos[0]; + HEAP32[(((JSEvents.uiEvent)+(32))>>2)]=scrollPos[1]; + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.uiEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },getNodeNameForTarget:function (target) { + if (!target) return ''; + if (target == window) return '#window'; + if (target == window.screen) return '#screen'; + return (target && target.nodeName) ? target.nodeName : ''; + },registerFocusEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.focusEvent) { + JSEvents.focusEvent = _malloc( 256 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + var nodeName = JSEvents.getNodeNameForTarget(e.target); + var id = e.target.id ? e.target.id : ''; + stringToUTF8(nodeName, JSEvents.focusEvent + 0, 128); + stringToUTF8(id, JSEvents.focusEvent + 128, 128); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.focusEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },tick:function () { + if (window['performance'] && window['performance']['now']) return window['performance']['now'](); + else return Date.now(); + },registerDeviceOrientationEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceOrientationEvent) { + JSEvents.deviceOrientationEvent = _malloc( 40 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceOrientationEvent)+(8))>>3)]=e.alpha; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(16))>>3)]=e.beta; + HEAPF64[(((JSEvents.deviceOrientationEvent)+(24))>>3)]=e.gamma; + HEAP32[(((JSEvents.deviceOrientationEvent)+(32))>>2)]=e.absolute; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerDeviceMotionEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.deviceMotionEvent) { + JSEvents.deviceMotionEvent = _malloc( 80 ); + } + var handlerFunc = function(event) { + var e = event || window.event; + + HEAPF64[((JSEvents.deviceOrientationEvent)>>3)]=JSEvents.tick(); + HEAPF64[(((JSEvents.deviceMotionEvent)+(8))>>3)]=e.acceleration.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(16))>>3)]=e.acceleration.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(24))>>3)]=e.acceleration.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(32))>>3)]=e.accelerationIncludingGravity.x; + HEAPF64[(((JSEvents.deviceMotionEvent)+(40))>>3)]=e.accelerationIncludingGravity.y; + HEAPF64[(((JSEvents.deviceMotionEvent)+(48))>>3)]=e.accelerationIncludingGravity.z; + HEAPF64[(((JSEvents.deviceMotionEvent)+(56))>>3)]=e.rotationRate.alpha; + HEAPF64[(((JSEvents.deviceMotionEvent)+(64))>>3)]=e.rotationRate.beta; + HEAPF64[(((JSEvents.deviceMotionEvent)+(72))>>3)]=e.rotationRate.gamma; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },screenOrientation:function () { + if (!window.screen) return undefined; + return window.screen.orientation || window.screen.mozOrientation || window.screen.webkitOrientation || window.screen.msOrientation; + },fillOrientationChangeEventData:function (eventStruct, e) { + var orientations = ["portrait-primary", "portrait-secondary", "landscape-primary", "landscape-secondary"]; + var orientations2 = ["portrait", "portrait", "landscape", "landscape"]; + + var orientationString = JSEvents.screenOrientation(); + var orientation = orientations.indexOf(orientationString); + if (orientation == -1) { + orientation = orientations2.indexOf(orientationString); + } + + HEAP32[((eventStruct)>>2)]=1 << orientation; + HEAP32[(((eventStruct)+(4))>>2)]=window.orientation; + },registerOrientationChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.orientationChangeEvent) { + JSEvents.orientationChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { + eventTypeString = "mozorientationchange"; + } + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fullscreenEnabled:function () { + return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled; + },fillFullscreenChangeEventData:function (eventStruct, e) { + var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; + var isFullscreen = !!fullscreenElement; + HEAP32[((eventStruct)>>2)]=isFullscreen; + HEAP32[(((eventStruct)+(4))>>2)]=JSEvents.fullscreenEnabled(); + // If transitioning to fullscreen, report info about the element that is now fullscreen. + // If transitioning to windowed mode, report info about the element that just was fullscreen. + var reportedElement = isFullscreen ? fullscreenElement : JSEvents.previousFullscreenElement; + var nodeName = JSEvents.getNodeNameForTarget(reportedElement); + var id = (reportedElement && reportedElement.id) ? reportedElement.id : ''; + stringToUTF8(nodeName, eventStruct + 8, 128); + stringToUTF8(id, eventStruct + 136, 128); + HEAP32[(((eventStruct)+(264))>>2)]=reportedElement ? reportedElement.clientWidth : 0; + HEAP32[(((eventStruct)+(268))>>2)]=reportedElement ? reportedElement.clientHeight : 0; + HEAP32[(((eventStruct)+(272))>>2)]=screen.width; + HEAP32[(((eventStruct)+(276))>>2)]=screen.height; + if (isFullscreen) { + JSEvents.previousFullscreenElement = fullscreenElement; + } + },registerFullscreenChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.fullscreenChangeEvent) { + JSEvents.fullscreenChangeEvent = _malloc( 280 ); + } + + if (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },resizeCanvasForFullscreen:function (target, strategy) { + var restoreOldStyle = __registerRestoreOldStyle(target); + var cssWidth = strategy.softFullscreen ? window.innerWidth : screen.width; + var cssHeight = strategy.softFullscreen ? window.innerHeight : screen.height; + var rect = target.getBoundingClientRect(); + var windowedCssWidth = rect.right - rect.left; + var windowedCssHeight = rect.bottom - rect.top; + var windowedRttWidth = target.width; + var windowedRttHeight = target.height; + + if (strategy.scaleMode == 3) { + __setLetterbox(target, (cssHeight - windowedCssHeight) / 2, (cssWidth - windowedCssWidth) / 2); + cssWidth = windowedCssWidth; + cssHeight = windowedCssHeight; + } else if (strategy.scaleMode == 2) { + if (cssWidth*windowedRttHeight < windowedRttWidth*cssHeight) { + var desiredCssHeight = windowedRttHeight * cssWidth / windowedRttWidth; + __setLetterbox(target, (cssHeight - desiredCssHeight) / 2, 0); + cssHeight = desiredCssHeight; + } else { + var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; + __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); + cssWidth = desiredCssWidth; + } + } + + // If we are adding padding, must choose a background color or otherwise Chrome will give the + // padding a default white color. Do it only if user has not customized their own background color. + if (!target.style.backgroundColor) target.style.backgroundColor = 'black'; + // IE11 does the same, but requires the color to be set in the document body. + if (!document.body.style.backgroundColor) document.body.style.backgroundColor = 'black'; // IE11 + // Firefox always shows black letterboxes independent of style color. + + target.style.width = cssWidth + 'px'; + target.style.height = cssHeight + 'px'; + + if (strategy.filteringMode == 1) { + target.style.imageRendering = 'optimizeSpeed'; + target.style.imageRendering = '-moz-crisp-edges'; + target.style.imageRendering = '-o-crisp-edges'; + target.style.imageRendering = '-webkit-optimize-contrast'; + target.style.imageRendering = 'optimize-contrast'; + target.style.imageRendering = 'crisp-edges'; + target.style.imageRendering = 'pixelated'; + } + + var dpiScale = (strategy.canvasResolutionScaleMode == 2) ? window.devicePixelRatio : 1; + if (strategy.canvasResolutionScaleMode != 0) { + target.width = cssWidth * dpiScale; + target.height = cssHeight * dpiScale; + if (target.GLctxObject) target.GLctxObject.GLctx.viewport(0, 0, target.width, target.height); + } + return restoreOldStyle; + },requestFullscreen:function (target, strategy) { + // EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT + EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE is a mode where no extra logic is performed to the DOM elements. + if (strategy.scaleMode != 0 || strategy.canvasResolutionScaleMode != 0) { + JSEvents.resizeCanvasForFullscreen(target, strategy); + } + + if (target.requestFullscreen) { + target.requestFullscreen(); + } else if (target.msRequestFullscreen) { + target.msRequestFullscreen(); + } else if (target.mozRequestFullScreen) { + target.mozRequestFullScreen(); + } else if (target.mozRequestFullscreen) { + target.mozRequestFullscreen(); + } else if (target.webkitRequestFullscreen) { + target.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') { + return -1; + } else { + return -3; + } + } + + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + } + + return 0; + },fillPointerlockChangeEventData:function (eventStruct, e) { + var pointerLockElement = document.pointerLockElement || document.mozPointerLockElement || document.webkitPointerLockElement || document.msPointerLockElement; + var isPointerlocked = !!pointerLockElement; + HEAP32[((eventStruct)>>2)]=isPointerlocked; + var nodeName = JSEvents.getNodeNameForTarget(pointerLockElement); + var id = (pointerLockElement && pointerLockElement.id) ? pointerLockElement.id : ''; + stringToUTF8(nodeName, eventStruct + 4, 128); + stringToUTF8(id, eventStruct + 132, 128); + },registerPointerlockChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.pointerlockChangeEvent) { + JSEvents.pointerlockChangeEvent = _malloc( 260 ); + } + + if (!target) { + target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerPointerlockErrorEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = document; // Pointer lock events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },requestPointerLock:function (target) { + if (target.requestPointerLock) { + target.requestPointerLock(); + } else if (target.mozRequestPointerLock) { + target.mozRequestPointerLock(); + } else if (target.webkitRequestPointerLock) { + target.webkitRequestPointerLock(); + } else if (target.msRequestPointerLock) { + target.msRequestPointerLock(); + } else { + // document.body is known to accept pointer lock, so use that to differentiate if the user passed a bad element, + // or if the whole browser just doesn't support the feature. + if (document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock || document.body.msRequestPointerLock) { + return -3; + } else { + return -1; + } + } + return 0; + },fillVisibilityChangeEventData:function (eventStruct, e) { + var visibilityStates = [ "hidden", "visible", "prerender", "unloaded" ]; + var visibilityState = visibilityStates.indexOf(document.visibilityState); + + HEAP32[((eventStruct)>>2)]=document.hidden; + HEAP32[(((eventStruct)+(4))>>2)]=visibilityState; + },registerVisibilityChangeEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.visibilityChangeEvent) { + JSEvents.visibilityChangeEvent = _malloc( 8 ); + } + + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.touchEvent) { + JSEvents.touchEvent = _malloc( 1684 ); + } + + target = JSEvents.findEventTarget(target); + + var handlerFunc = function(event) { + var e = event || window.event; + + var touches = {}; + for(var i = 0; i < e.touches.length; ++i) { + var touch = e.touches[i]; + touches[touch.identifier] = touch; + } + for(var i = 0; i < e.changedTouches.length; ++i) { + var touch = e.changedTouches[i]; + touches[touch.identifier] = touch; + touch.changed = true; + } + for(var i = 0; i < e.targetTouches.length; ++i) { + var touch = e.targetTouches[i]; + touches[touch.identifier].onTarget = true; + } + + var ptr = JSEvents.touchEvent; + HEAP32[(((ptr)+(4))>>2)]=e.ctrlKey; + HEAP32[(((ptr)+(8))>>2)]=e.shiftKey; + HEAP32[(((ptr)+(12))>>2)]=e.altKey; + HEAP32[(((ptr)+(16))>>2)]=e.metaKey; + ptr += 20; // Advance to the start of the touch array. + var canvasRect = Module['canvas'] ? Module['canvas'].getBoundingClientRect() : undefined; + var targetRect = JSEvents.getBoundingClientRectOrZeros(target); + var numTouches = 0; + for(var i in touches) { + var t = touches[i]; + HEAP32[((ptr)>>2)]=t.identifier; + HEAP32[(((ptr)+(4))>>2)]=t.screenX; + HEAP32[(((ptr)+(8))>>2)]=t.screenY; + HEAP32[(((ptr)+(12))>>2)]=t.clientX; + HEAP32[(((ptr)+(16))>>2)]=t.clientY; + HEAP32[(((ptr)+(20))>>2)]=t.pageX; + HEAP32[(((ptr)+(24))>>2)]=t.pageY; + HEAP32[(((ptr)+(28))>>2)]=t.changed; + HEAP32[(((ptr)+(32))>>2)]=t.onTarget; + if (canvasRect) { + HEAP32[(((ptr)+(44))>>2)]=t.clientX - canvasRect.left; + HEAP32[(((ptr)+(48))>>2)]=t.clientY - canvasRect.top; + } else { + HEAP32[(((ptr)+(44))>>2)]=0; + HEAP32[(((ptr)+(48))>>2)]=0; + } + HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; + HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; + + ptr += 52; + + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: target, + allowsDeferredCalls: false, // XXX Currently disabled, see bug https://bugzilla.mozilla.org/show_bug.cgi?id=966493 + // Once the above bug is resolved, enable the following condition if possible: + // allowsDeferredCalls: eventTypeString == 'touchstart', + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },fillGamepadEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.timestamp; + for(var i = 0; i < e.axes.length; ++i) { + HEAPF64[(((eventStruct+i*8)+(16))>>3)]=e.axes[i]; + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i].value; + } else { + HEAPF64[(((eventStruct+i*8)+(528))>>3)]=e.buttons[i]; + } + } + for(var i = 0; i < e.buttons.length; ++i) { + if (typeof(e.buttons[i]) === 'object') { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i].pressed; + } else { + HEAP32[(((eventStruct+i*4)+(1040))>>2)]=e.buttons[i] == 1.0; + } + } + HEAP32[(((eventStruct)+(1296))>>2)]=e.connected; + HEAP32[(((eventStruct)+(1300))>>2)]=e.index; + HEAP32[(((eventStruct)+(8))>>2)]=e.axes.length; + HEAP32[(((eventStruct)+(12))>>2)]=e.buttons.length; + stringToUTF8(e.id, eventStruct + 1304, 64); + stringToUTF8(e.mapping, eventStruct + 1368, 64); + },registerGamepadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.gamepadEvent) { + JSEvents.gamepadEvent = _malloc( 1432 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: true, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerBeforeUnloadEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + var handlerFunc = function(event) { + var e = event || window.event; + + var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + + if (confirmationMessage) { + confirmationMessage = Pointer_stringify(confirmationMessage); + } + if (confirmationMessage) { + e.preventDefault(); + e.returnValue = confirmationMessage; + return confirmationMessage; + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },battery:function () { return navigator.battery || navigator.mozBattery || navigator.webkitBattery; },fillBatteryEventData:function (eventStruct, e) { + HEAPF64[((eventStruct)>>3)]=e.chargingTime; + HEAPF64[(((eventStruct)+(8))>>3)]=e.dischargingTime; + HEAPF64[(((eventStruct)+(16))>>3)]=e.level; + HEAP32[(((eventStruct)+(24))>>2)]=e.charging; + },registerBatteryEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!JSEvents.batteryEvent) { + JSEvents.batteryEvent = _malloc( 32 ); + } + + var handlerFunc = function(event) { + var e = event || window.event; + + JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + },registerWebGlEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { + if (!target) { + target = Module['canvas']; + } + var handlerFunc = function(event) { + var e = event || window.event; + + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; + + var eventHandler = { + target: JSEvents.findEventTarget(target), + allowsDeferredCalls: false, + eventTypeString: eventTypeString, + callbackfunc: callbackfunc, + handlerFunc: handlerFunc, + useCapture: useCapture + }; + JSEvents.registerOrRemoveHandler(eventHandler); + }};function __emscripten_sample_gamepad_data() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return; + + // Produce a new Gamepad API sample if we are ticking a new game frame, or if not using emscripten_set_main_loop() at all to drive animation. + if (Browser.mainLoop.currentFrameNumber !== JSEvents.lastGamepadStateFrame || !Browser.mainLoop.currentFrameNumber) { + JSEvents.lastGamepadState = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads : null); + JSEvents.lastGamepadStateFrame = Browser.mainLoop.currentFrameNumber; + } + }function _emscripten_get_gamepad_status(index, gamepadState) { + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + + // INVALID_PARAM is returned on a Gamepad index that never was there. + if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + + // NO_DATA is returned on a Gamepad index that was removed. + // For previously disconnected gamepads there should be an empty slot (null/undefined/false) at the index. + // This is because gamepads must keep their original position in the array. + // For example, removing the first of two gamepads produces [null/undefined/false, gamepad]. + if (!JSEvents.lastGamepadState[index]) return -7; + + JSEvents.fillGamepadEventData(gamepadState, JSEvents.lastGamepadState[index]); + return 0; + } + + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); + } + + function _emscripten_glLinkProgram(program) { + GLctx.linkProgram(GL.programs[program]); + GL.programInfos[program] = null; // uniforms no longer keep the same names after linking + GL.populateUniformTable(program); + } + + function _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } + + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); + } + + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } + + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + + Module["_memset"] = _memset; + + function _glfwMakeContextCurrent(winid) {} + + function _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; + } + + function ___lock() {} + + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } + + function _glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glGetVertexAttribPointerv(index, pname, pointer) { + if (!pointer) { + // GLES2 specification does not specify how to behave if pointer is a null pointer. Since calling this function does not make sense + // if pointer == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((pointer)>>2)]=GLctx.getVertexAttribOffset(index, pname); + } + + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } + + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } + + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } + + + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + + var EGL={errorCode:12288,defaultDisplayInitialized:false,currentContext:0,currentReadSurface:0,currentDrawSurface:0,stringCache:{},setErrorCode:function (code) { + EGL.errorCode = code; + },chooseConfig:function (display, attribList, config, config_size, numConfigs) { + if (display != 62000 /* Magic ID for Emscripten 'default display' */) { + EGL.setErrorCode(0x3008 /* EGL_BAD_DISPLAY */); + return 0; + } + // TODO: read attribList. + if ((!config || !config_size) && !numConfigs) { + EGL.setErrorCode(0x300C /* EGL_BAD_PARAMETER */); + return 0; + } + if (numConfigs) { + HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + } + if (config && config_size > 0) { + HEAP32[((config)>>2)]=62002; + } + + EGL.setErrorCode(0x3000 /* EGL_SUCCESS */); + return 1; + }};function _eglGetProcAddress(name_) { + return _emscripten_GetProcAddress(name_); + } + + function _glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_get_pointerlock_status(pointerlockStatus) { + if (pointerlockStatus) JSEvents.fillPointerlockChangeEventData(pointerlockStatus); + if (!document.body || (!document.body.requestPointerLock && !document.body.mozRequestPointerLock && !document.body.webkitRequestPointerLock && !document.body.msRequestPointerLock)) { + return -1; + } + return 0; + } + + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glfwGetPrimaryMonitor() { + return 1; + } + + + function emscriptenWebGLGetVertexAttrib(index, pname, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getVertexAttrib(index, pname); + if (pname == 0x889F/*VERTEX_ATTRIB_ARRAY_BUFFER_BINDING*/) { + HEAP32[((params)>>2)]=data["name"]; + } else if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + case 'FloatToInteger': HEAP32[((params)>>2)]=Math.fround(data); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + case 'FloatToInteger': HEAP32[(((params)+(i))>>2)]=Math.fround(data[i]); break; + default: throw 'internal emscriptenWebGLGetVertexAttrib() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetVertexAttribfv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'Float'); + } + + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; + } + + function _emscripten_glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glVertexPointer(){ throw 'Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); + } + + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwTerminate() { + window.removeEventListener("keydown", GLFW.onKeydown, true); + window.removeEventListener("keypress", GLFW.onKeyPress, true); + window.removeEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].removeEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].removeEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].removeEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].removeEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].removeEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].removeEventListener('mouseleave', GLFW.onMouseleave, true); + Module["canvas"].width = Module["canvas"].height = 1; + GLFW.windows = null; + GLFW.active = null; + } + + function _emscripten_glUniformMatrix2fv(location, count, transpose, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniformMatrix2fv(GL.uniforms[location], !!transpose, view); + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // open + var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO + var stream = FS.open(pathname, flags, mode); + return stream.fd; + } 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; + } + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(Runtime.stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _emscripten_glGetVertexAttribiv(index, pname, params) { + // N.B. This function may only be called if the vertex attribute was specified using the function glVertexAttrib*f(), + // otherwise the results are undefined. (GLES3 spec 6.1.12) + emscriptenWebGLGetVertexAttrib(index, pname, params, 'FloatToInteger'); + } + + function _emscripten_glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } + + function _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } + + function _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } + + 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(); + var offset = offset_low; + assert(offset_high === 0); + 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 ___syscall146(which, varargs) {SYSCALLS.varargs = varargs; + try { + // writev + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doWritev(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } + + function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs; + try { + // readv + var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); + return SYSCALLS.doReadv(stream, iov, iovcnt); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } + + function _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } + + + Module["_i64Subtract"] = _i64Subtract; + + + Module["_i64Add"] = _i64Add; + + function _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } + + function _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } + + function _emscripten_glFinish() { GLctx['finish']() } + + function _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + function _emscripten_get_num_gamepads() { + // Polling gamepads generates garbage, so don't do it when we know there are no gamepads connected. + if (!JSEvents.numGamepadsConnected) return 0; + + __emscripten_sample_gamepad_data(); + if (!JSEvents.lastGamepadState) return -1; + return JSEvents.lastGamepadState.length; + } + + function _glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } + + function _glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glLoadIdentity(){ throw 'Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _emscripten_glUniform3fv(location, count, value) { + + + var view; + if (3*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[3*count-1]; + for (var i = 0; i < 3*count; i += 3) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*12)>>2); + } + GLctx.uniform3fv(GL.uniforms[location], view); + } + + function _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } + + function _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } + + function _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _emscripten_request_pointerlock(target, deferUntilInEventHandler) { + if (!target) target = '#canvas'; + target = JSEvents.findEventTarget(target); + if (!target) return -4; + if (!target.requestPointerLock && !target.mozRequestPointerLock && !target.webkitRequestPointerLock && !target.msRequestPointerLock) { + return -1; + } + + var canPerformRequests = JSEvents.canPerformEventHandlerRequests(); + + // Queue this function call if we're not currently in an event handler and the user saw it appropriate to do so. + if (!canPerformRequests) { + if (deferUntilInEventHandler) { + JSEvents.deferCall(JSEvents.requestPointerLock, 2 /* priority below fullscreen */, [target]); + return 1; + } else { + return -2; + } + } + + return JSEvents.requestPointerLock(target); + } + + function _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } + + function _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } + + function _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } + + function _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } + + function _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } + + function _emscripten_glDeleteVertexArrays(n, vaos) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((vaos)+(i*4))>>2)]; + GLctx['deleteVertexArray'](GL.vaos[id]); + GL.vaos[id] = null; + } + } + + function _glfwInit() { + if (GLFW.windows) return 1; // GL_TRUE + + GLFW.initialTime = GLFW.getTime(); + GLFW.hints = GLFW.defaultHints; + GLFW.windows = new Array() + GLFW.active = null; + + window.addEventListener("keydown", GLFW.onKeydown, true); + window.addEventListener("keypress", GLFW.onKeyPress, true); + window.addEventListener("keyup", GLFW.onKeyup, true); + Module["canvas"].addEventListener("mousemove", GLFW.onMousemove, true); + Module["canvas"].addEventListener("mousedown", GLFW.onMouseButtonDown, true); + Module["canvas"].addEventListener("mouseup", GLFW.onMouseButtonUp, true); + Module["canvas"].addEventListener('wheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mousewheel', GLFW.onMouseWheel, true); + Module["canvas"].addEventListener('mouseenter', GLFW.onMouseenter, true); + Module["canvas"].addEventListener('mouseleave', GLFW.onMouseleave, true); + + Browser.resizeListeners.push(function(width, height) { + GLFW.onCanvasResize(width, height); + }); + return 1; // GL_TRUE + } + + function _emscripten_glGetTexParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getTexParameter(target, pname); + } + + function _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } + + function _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } + + function _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } + + function _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } + + function _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } + + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } + + function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + + function _emscripten_glUniform2fv(location, count, value) { + + + var view; + if (2*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[2*count-1]; + for (var i = 0; i < 2*count; i += 2) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*8)>>2); + } + GLctx.uniform2fv(GL.uniforms[location], view); + } + + function _glfwSwapInterval(interval) { + interval = Math.abs(interval); // GLFW uses negative values to enable GLX_EXT_swap_control_tear, which we don't have, so just treat negative and positive the same. + if (interval == 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 0); + else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, interval); + } + + function _glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glMatrixMode(){ throw 'Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -s LEGACY_GL_EMULATION=1 to enable legacy GL emulation.'; } + + function _abort() { + Module['abort'](); + } + + function _emscripten_glFramebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer) { + GLctx.framebufferRenderbuffer(target, attachment, renderbuffertarget, + GL.renderbuffers[renderbuffer]); + } + + function _emscripten_glDeleteFramebuffers(n, framebuffers) { + for (var i = 0; i < n; ++i) { + var id = HEAP32[(((framebuffers)+(i*4))>>2)]; + var framebuffer = GL.framebuffers[id]; + if (!framebuffer) continue; // GL spec: "glDeleteFramebuffers silently ignores 0s and names that do not correspond to existing framebuffer objects". + GLctx.deleteFramebuffer(framebuffer); + framebuffer.name = 0; + GL.framebuffers[id] = null; + } + } + + function _emscripten_glIsBuffer(buffer) { + var b = GL.buffers[buffer]; + if (!b) return 0; + return GLctx.isBuffer(b); + } + + function _emscripten_glUniform2iv(location, count, value) { + + + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + + function _emscripten_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + function _glEnable(x0) { GLctx['enable'](x0) } + + + + function emscriptenWebGLComputeImageSize(width, height, sizePerPixel, alignment) { + function roundedToNextMultipleOf(x, y) { + return Math.floor((x + y - 1) / y) * y + } + var plainRowSize = width * sizePerPixel; + var alignedRowSize = roundedToNextMultipleOf(plainRowSize, alignment); + return (height <= 0) ? 0 : + ((height - 1) * alignedRowSize + plainRowSize); + }function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat) { + var sizePerPixel; + var numChannels; + switch(format) { + case 0x1906 /* GL_ALPHA */: + case 0x1909 /* GL_LUMINANCE */: + case 0x1902 /* GL_DEPTH_COMPONENT */: + numChannels = 1; + break; + case 0x190A /* GL_LUMINANCE_ALPHA */: + numChannels = 2; + break; + case 0x1907 /* GL_RGB */: + case 0x8C40 /* GL_SRGB_EXT */: + numChannels = 3; + break; + case 0x1908 /* GL_RGBA */: + case 0x8C42 /* GL_SRGB_ALPHA_EXT */: + numChannels = 4; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + switch (type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + sizePerPixel = numChannels*1; + break; + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + sizePerPixel = numChannels*2; + break; + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x1406 /* GL_FLOAT */: + sizePerPixel = numChannels*4; + break; + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + sizePerPixel = 4; + break; + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + sizePerPixel = 2; + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + var bytes = emscriptenWebGLComputeImageSize(width, height, sizePerPixel, GL.unpackAlignment); + switch(type) { + case 0x1401 /* GL_UNSIGNED_BYTE */: + return HEAPU8.subarray((pixels),(pixels+bytes)); + case 0x1406 /* GL_FLOAT */: + return HEAPF32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1405 /* GL_UNSIGNED_INT */: + case 0x84FA /* GL_UNSIGNED_INT_24_8_WEBGL/GL_UNSIGNED_INT_24_8 */: + return HEAPU32.subarray((pixels)>>2,(pixels+bytes)>>2); + case 0x1403 /* GL_UNSIGNED_SHORT */: + case 0x8363 /* GL_UNSIGNED_SHORT_5_6_5 */: + case 0x8033 /* GL_UNSIGNED_SHORT_4_4_4_4 */: + case 0x8034 /* GL_UNSIGNED_SHORT_5_5_5_1 */: + case 0x8D61 /* GL_HALF_FLOAT_OES */: + return HEAPU16.subarray((pixels)>>1,(pixels+bytes)>>1); + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return null; + } + }function _emscripten_glTexSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels) { + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, 0); + GLctx.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixelData); + } + + function _emscripten_glPolygonOffset(x0, x1) { GLctx['polygonOffset'](x0, x1) } + + var _emscripten_asm_const_int=true; + + function _emscripten_glUniform2f(location, v0, v1) { + GLctx.uniform2f(GL.uniforms[location], v0, v1); + } + + function _glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _glfwWindowHint(target, hint) { + GLFW.hints[target] = hint; + } + + function _emscripten_glUniform2i(location, v0, v1) { + GLctx.uniform2i(GL.uniforms[location], v0, v1); + } + + function _glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } + + function _glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glDeleteRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((renderbuffers)+(i*4))>>2)]; + var renderbuffer = GL.renderbuffers[id]; + if (!renderbuffer) continue; // GL spec: "glDeleteRenderbuffers silently ignores 0s and names that do not correspond to existing renderbuffer objects". + GLctx.deleteRenderbuffer(renderbuffer); + renderbuffer.name = 0; + GL.renderbuffers[id] = null; + } + } + + function _emscripten_glGetBufferParameteriv(target, value, data) { + if (!data) { + // GLES2 specification does not specify how to behave if data is a null pointer. Since calling this function does not make sense + // if data == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((data)>>2)]=GLctx.getBufferParameter(target, value); + } + + + function emscriptenWebGLGetUniform(program, location, params, type) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var data = GLctx.getUniform(GL.programs[program], GL.uniforms[location]); + if (typeof data == 'number' || typeof data == 'boolean') { + switch (type) { + case 'Integer': HEAP32[((params)>>2)]=data; break; + case 'Float': HEAPF32[((params)>>2)]=data; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } else { + for (var i = 0; i < data.length; i++) { + switch (type) { + case 'Integer': HEAP32[(((params)+(i))>>2)]=data[i]; break; + case 'Float': HEAPF32[(((params)+(i))>>2)]=data[i]; break; + default: throw 'internal emscriptenWebGLGetUniform() error, bad type: ' + type; + } + } + } + }function _emscripten_glGetUniformiv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Integer'); + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + function _emscripten_set_fullscreenchange_callback(target, userData, useCapture, callbackfunc) { + if (typeof JSEvents.fullscreenEnabled() === 'undefined') return -1; + if (!target) target = document; + else { + target = JSEvents.findEventTarget(target); + if (!target) return -4; + } + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "fullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "mozfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "webkitfullscreenchange"); + JSEvents.registerFullscreenChangeEventCallback(target, userData, useCapture, callbackfunc, 19, "msfullscreenchange"); + return 0; + } + + + + Module["___muldsi3"] = ___muldsi3; + Module["___muldi3"] = ___muldi3; + + function _emscripten_glGetShaderPrecisionFormat(shaderType, precisionType, range, precision) { + var result = GLctx.getShaderPrecisionFormat(shaderType, precisionType); + HEAP32[((range)>>2)]=result.rangeMin; + HEAP32[(((range)+(4))>>2)]=result.rangeMax; + HEAP32[((precision)>>2)]=result.precision; + } + + function _emscripten_glUniform1fv(location, count, value) { + + + var view; + if (count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[count-1]; + for (var i = 0; i < count; ++i) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*4)>>2); + } + GLctx.uniform1fv(GL.uniforms[location], view); + } + + function _glDeleteBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((buffers)+(i*4))>>2)]; + var buffer = GL.buffers[id]; + + // From spec: "glDeleteBuffers silently ignores 0's and names that do not + // correspond to existing buffer objects." + if (!buffer) continue; + + GLctx.deleteBuffer(buffer); + buffer.name = 0; + GL.buffers[id] = null; + + if (id == GL.currArrayBuffer) GL.currArrayBuffer = 0; + if (id == GL.currElementArrayBuffer) GL.currElementArrayBuffer = 0; + } + } + + function _emscripten_set_gamepaddisconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 27, "gamepaddisconnected"); + return 0; + } + + function _emscripten_glBindProgramARB() { + Module['printErr']('missing function: emscripten_glBindProgramARB'); abort(-1); + } + + function _emscripten_glBindTexture(target, texture) { + GLctx.bindTexture(target, texture ? GL.textures[texture] : null); + } + + function _emscripten_glCheckFramebufferStatus(x0) { return GLctx['checkFramebufferStatus'](x0) } + + function _emscripten_glDeleteProgram(id) { + if (!id) return; + var program = GL.programs[id]; + if (!program) { // glDeleteProgram actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteProgram(program); + program.name = 0; + GL.programs[id] = null; + GL.programInfos[id] = null; + } + + function _emscripten_glDisable(x0) { GLctx['disable'](x0) } + + function _emscripten_glVertexAttrib3fv(index, v) { + + GLctx.vertexAttrib3f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2]); + } + + function _glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glGetActiveAttrib(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveAttrib(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size and type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + function _emscripten_glIsFramebuffer(framebuffer) { + var fb = GL.framebuffers[framebuffer]; + if (!fb) return 0; + return GLctx.isFramebuffer(fb); + } + + function _emscripten_glLineWidth(x0) { GLctx['lineWidth'](x0) } + + function _glfwGetCursorPos(winid, x, y) { + GLFW.getCursorPos(winid, x, y); + } + + function _emscripten_glGetString(name_) { + if (GL.stringCache[name_]) return GL.stringCache[name_]; + var ret; + switch(name_) { + case 0x1F00 /* GL_VENDOR */: + case 0x1F01 /* GL_RENDERER */: + case 0x9245 /* UNMASKED_VENDOR_WEBGL */: + case 0x9246 /* UNMASKED_RENDERER_WEBGL */: + ret = allocate(intArrayFromString(GLctx.getParameter(name_)), 'i8', ALLOC_NORMAL); + break; + case 0x1F02 /* GL_VERSION */: + var glVersion = GLctx.getParameter(GLctx.VERSION); + // return GLES version string corresponding to the version of the WebGL context + { + glVersion = 'OpenGL ES 2.0 (' + glVersion + ')'; + } + ret = allocate(intArrayFromString(glVersion), 'i8', ALLOC_NORMAL); + break; + case 0x1F03 /* GL_EXTENSIONS */: + var exts = GLctx.getSupportedExtensions(); + var gl_exts = []; + for (var i = 0; i < exts.length; ++i) { + gl_exts.push(exts[i]); + gl_exts.push("GL_" + exts[i]); + } + ret = allocate(intArrayFromString(gl_exts.join(' ')), 'i8', ALLOC_NORMAL); + break; + case 0x8B8C /* GL_SHADING_LANGUAGE_VERSION */: + var glslVersion = GLctx.getParameter(GLctx.SHADING_LANGUAGE_VERSION); + // extract the version number 'N.M' from the string 'WebGL GLSL ES N.M ...' + var ver_re = /^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/; + var ver_num = glslVersion.match(ver_re); + if (ver_num !== null) { + if (ver_num[1].length == 3) ver_num[1] = ver_num[1] + '0'; // ensure minor version has 2 digits + glslVersion = 'OpenGL ES GLSL ES ' + ver_num[1] + ' (' + glslVersion + ')'; + } + ret = allocate(intArrayFromString(glslVersion), 'i8', ALLOC_NORMAL); + break; + default: + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return 0; + } + GL.stringCache[name_] = ret; + return ret; + } + + function _emscripten_glGetAttribLocation(program, name) { + program = GL.programs[program]; + name = Pointer_stringify(name); + return GLctx.getAttribLocation(program, name); + } + + function _emscripten_glRotatef() { + Module['printErr']('missing function: emscripten_glRotatef'); abort(-1); + } + + + function emscriptenWebGLGet(name_, p, type) { + // Guard against user passing a null pointer. + // Note that GLES2 spec does not say anything about how passing a null pointer should be treated. + // Testing on desktop core GL 3, the application crashes on glGetIntegerv to a null pointer, but + // better to report an error instead of doing anything random. + if (!p) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + var ret = undefined; + switch(name_) { // Handle a few trivial GLES values + case 0x8DFA: // GL_SHADER_COMPILER + ret = 1; + break; + case 0x8DF8: // GL_SHADER_BINARY_FORMATS + if (type !== 'Integer' && type !== 'Integer64') { + GL.recordError(0x0500); // GL_INVALID_ENUM + } + return; // Do not write anything to the out pointer, since no binary formats are supported. + case 0x8DF9: // GL_NUM_SHADER_BINARY_FORMATS + ret = 0; + break; + case 0x86A2: // GL_NUM_COMPRESSED_TEXTURE_FORMATS + // WebGL doesn't have GL_NUM_COMPRESSED_TEXTURE_FORMATS (it's obsolete since GL_COMPRESSED_TEXTURE_FORMATS returns a JS array that can be queried for length), + // so implement it ourselves to allow C++ GLES2 code get the length. + var formats = GLctx.getParameter(0x86A3 /*GL_COMPRESSED_TEXTURE_FORMATS*/); + ret = formats.length; + break; + } + + if (ret === undefined) { + var result = GLctx.getParameter(name_); + switch (typeof(result)) { + case "number": + ret = result; + break; + case "boolean": + ret = result ? 1 : 0; + break; + case "string": + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + case "object": + if (result === null) { + // null is a valid result for some (e.g., which buffer is bound - perhaps nothing is bound), but otherwise + // can mean an invalid name_, which we need to report as an error + switch(name_) { + case 0x8894: // ARRAY_BUFFER_BINDING + case 0x8B8D: // CURRENT_PROGRAM + case 0x8895: // ELEMENT_ARRAY_BUFFER_BINDING + case 0x8CA6: // FRAMEBUFFER_BINDING + case 0x8CA7: // RENDERBUFFER_BINDING + case 0x8069: // TEXTURE_BINDING_2D + case 0x8514: { // TEXTURE_BINDING_CUBE_MAP + ret = 0; + break; + } + default: { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + } else if (result instanceof Float32Array || + result instanceof Uint32Array || + result instanceof Int32Array || + result instanceof Array) { + for (var i = 0; i < result.length; ++i) { + switch (type) { + case 'Integer': HEAP32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Float': HEAPF32[(((p)+(i*4))>>2)]=result[i]; break; + case 'Boolean': HEAP8[(((p)+(i))>>0)]=result[i] ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + } + return; + } else if (result instanceof WebGLBuffer || + result instanceof WebGLProgram || + result instanceof WebGLFramebuffer || + result instanceof WebGLRenderbuffer || + result instanceof WebGLTexture) { + ret = result.name | 0; + } else { + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + break; + default: + GL.recordError(0x0500); // GL_INVALID_ENUM + return; + } + } + + switch (type) { + case 'Integer64': (tempI64 = [ret>>>0,(tempDouble=ret,(+(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[((p)>>2)]=tempI64[0],HEAP32[(((p)+(4))>>2)]=tempI64[1]); break; + case 'Integer': HEAP32[((p)>>2)]=ret; break; + case 'Float': HEAPF32[((p)>>2)]=ret; break; + case 'Boolean': HEAP8[((p)>>0)]=ret ? 1 : 0; break; + default: throw 'internal glGet error, bad type: ' + type; + } + }function _emscripten_glGetIntegerv(name_, p) { + emscriptenWebGLGet(name_, p, 'Integer'); + } + + function _emscripten_glGetFramebufferAttachmentParameteriv(target, attachment, pname, params) { + var result = GLctx.getFramebufferAttachmentParameter(target, attachment, pname); + HEAP32[((params)>>2)]=result; + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + Runtime.stackRestore(ret); + } + + function _glfwSetWindowShouldClose(winid, value) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.shouldClose = value; + } + + function _emscripten_glClientActiveTexture() { + Module['printErr']('missing function: emscripten_glClientActiveTexture'); abort(-1); + } + + function _glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + return dest; + } + Module["_memcpy"] = _memcpy; + + function _emscripten_glGetShaderInfoLog(shader, maxLength, length, infoLog) { + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _glfwGetTime() { + return GLFW.getTime() - GLFW.initialTime; + } + + function _emscripten_glGetRenderbufferParameteriv(target, pname, params) { + if (!params) { + // GLES2 specification does not specify how to behave if params is a null pointer. Since calling this function does not make sense + // if params == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + HEAP32[((params)>>2)]=GLctx.getRenderbufferParameter(target, pname); + } + + function _emscripten_glStencilOpSeparate(x0, x1, x2, x3) { GLctx['stencilOpSeparate'](x0, x1, x2, x3) } + + function _emscripten_glReadPixels(x, y, width, height, format, type, pixels) { + var pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, format); + if (!pixelData) { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + return; + } + GLctx.readPixels(x, y, width, height, format, type, pixelData); + } + + function _emscripten_glCompressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data) { + GLctx['compressedTexSubImage2D'](target, level, xoffset, yoffset, width, height, format, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glGetError() { + // First return any GL error generated by the emscripten library_gl.js interop layer. + if (GL.lastError) { + var error = GL.lastError; + GL.lastError = 0/*GL_NO_ERROR*/; + return error; + } else { // If there were none, return the GL error from the browser GL context. + return GLctx.getError(); + } + } + + function _emscripten_glFramebufferTexture2D(target, attachment, textarget, texture, level) { + GLctx.framebufferTexture2D(target, attachment, textarget, + GL.textures[texture], level); + } + + function _emscripten_glIsEnabled(x0) { return GLctx['isEnabled'](x0) } + + function _glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + + Module["_memmove"] = _memmove; + + function _glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib4f(x0, x1, x2, x3, x4) { GLctx['vertexAttrib4f'](x0, x1, x2, x3, x4) } + + function _glDepthFunc(x0) { GLctx['depthFunc'](x0) } + + + + 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); + Module["_llvm_cttz_i32"] = _llvm_cttz_i32; + Module["___udivmoddi4"] = ___udivmoddi4; + Module["___uremdi3"] = ___uremdi3; + + function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_glClear(x0) { GLctx['clear'](x0) } + + function _emscripten_glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glGetUniformfv(program, location, params) { + emscriptenWebGLGetUniform(program, location, params, 'Float'); + } + + function _glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _emscripten_exit_pointerlock() { + // Make sure no queued up calls will fire after this. + JSEvents.removeDeferredCalls(JSEvents.requestPointerLock); + + if (document.exitPointerLock) { + document.exitPointerLock(); + } else if (document.msExitPointerLock) { + document.msExitPointerLock(); + } else if (document.mozExitPointerLock) { + document.mozExitPointerLock(); + } else if (document.webkitExitPointerLock) { + document.webkitExitPointerLock(); + } else { + return -1; + } + return 0; + } + + function _glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _emscripten_glGetAttachedShaders(program, maxCount, count, shaders) { + var result = GLctx.getAttachedShaders(GL.programs[program]); + var len = result.length; + if (len > maxCount) { + len = maxCount; + } + HEAP32[((count)>>2)]=len; + for (var i = 0; i < len; ++i) { + var id = GL.shaders.indexOf(result[i]); + assert(id !== -1, 'shader not bound to local id'); + HEAP32[(((shaders)+(i*4))>>2)]=id; + } + } + + function _emscripten_glGenRenderbuffers(n, renderbuffers) { + for (var i = 0; i < n; i++) { + var renderbuffer = GLctx.createRenderbuffer(); + if (!renderbuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((renderbuffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.renderbuffers); + renderbuffer.name = id; + GL.renderbuffers[id] = renderbuffer; + HEAP32[(((renderbuffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glActiveTexture(x0) { GLctx['activeTexture'](x0) } + + function _emscripten_glUniform1iv(location, count, value) { + + + GLctx.uniform1iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*4)>>2)); + } + + function _emscripten_glTexCoordPointer() { + Module['printErr']('missing function: emscripten_glTexCoordPointer'); abort(-1); + } + + function _emscripten_glGetInfoLogARB() { + Module['printErr']('missing function: emscripten_glGetInfoLogARB'); abort(-1); + } + + + 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_glRenderbufferStorage(x0, x1, x2, x3) { GLctx['renderbufferStorage'](x0, x1, x2, x3) } + + function _emscripten_glCopyTexSubImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexSubImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } + + function _glfwSetCursorPosCallback(winid, cbfun) { + GLFW.setCursorPosCallback(winid, cbfun); + } + + function _glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } + + function _emscripten_glShaderBinary() { + GL.recordError(0x0500/*GL_INVALID_ENUM*/); + } + + function _emscripten_glIsProgram(program) { + var program = GL.programs[program]; + if (!program) return 0; + return GLctx.isProgram(program); + } + + function _emscripten_glBlendColor(x0, x1, x2, x3) { GLctx['blendColor'](x0, x1, x2, x3) } + + function _emscripten_glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glUniformMatrix3fv(location, count, transpose, value) { + + + var view; + if (9*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[9*count-1]; + for (var i = 0; i < 9*count; i += 9) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*36)>>2); + } + GLctx.uniformMatrix3fv(GL.uniforms[location], !!transpose, view); + } + + + Module["___udivdi3"] = ___udivdi3; + + function _emscripten_glUniform4fv(location, count, value) { + + + var view; + if (4*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[4*count-1]; + for (var i = 0; i < 4*count; i += 4) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*16)>>2); + } + GLctx.uniform4fv(GL.uniforms[location], view); + } + + function _glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glGenFramebuffers(n, ids) { + for (var i = 0; i < n; ++i) { + var framebuffer = GLctx.createFramebuffer(); + if (!framebuffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((ids)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.framebuffers); + framebuffer.name = id; + GL.framebuffers[id] = framebuffer; + HEAP32[(((ids)+(i*4))>>2)]=id; + } + } + + function _glGetShaderiv(shader, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getShaderInfoLog(GL.shaders[shader]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else { + HEAP32[((p)>>2)]=GLctx.getShaderParameter(GL.shaders[shader], pname); + } + } + + function _emscripten_glBlendEquationSeparate(x0, x1) { GLctx['blendEquationSeparate'](x0, x1) } + + function _glfwSetWindowIconifyCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.windowIconifyFunc = cbfun; + } + + function _emscripten_glDrawRangeElements() { + Module['printErr']('missing function: emscripten_glDrawRangeElements'); abort(-1); + } + + function _emscripten_glGenTextures(n, textures) { + for (var i = 0; i < n; i++) { + var texture = GLctx.createTexture(); + if (!texture) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); // GLES + EGL specs don't specify what should happen here, so best to issue an error and create IDs with 0. + while(i < n) HEAP32[(((textures)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.textures); + texture.name = id; + GL.textures[id] = texture; + HEAP32[(((textures)+(i*4))>>2)]=id; + } + } + + function _emscripten_glVertexAttrib2fv(index, v) { + + GLctx.vertexAttrib2f(index, HEAPF32[v>>2], HEAPF32[v+4>>2]); + } + + function _emscripten_glGetActiveUniform(program, index, bufSize, length, size, type, name) { + program = GL.programs[program]; + var info = GLctx.getActiveUniform(program, index); + if (!info) return; // If an error occurs, nothing will be written to length, size, type and name. + + if (bufSize > 0 && name) { + var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + + if (size) HEAP32[((size)>>2)]=info.size; + if (type) HEAP32[((type)>>2)]=info.type; + } + + + Module["_roundf"] = _roundf; + + function _emscripten_glDeleteObjectARB() { + Module['printErr']('missing function: emscripten_glDeleteObjectARB'); abort(-1); + } + + function _emscripten_set_touchmove_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 24, "touchmove"); + return 0; + } + + function _emscripten_glUniform1f(location, v0) { + GLctx.uniform1f(GL.uniforms[location], v0); + } + + function _emscripten_glVertexAttribPointer(index, size, type, normalized, stride, ptr) { + GLctx.vertexAttribPointer(index, size, type, !!normalized, stride, ptr); + } + + function _glShaderSource(shader, count, string, length) { + var source = GL.getSource(shader, count, string, length); + + + GLctx.shaderSource(GL.shaders[shader], source); + } + + function _emscripten_glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } + + function _emscripten_glGenBuffers(n, buffers) { + for (var i = 0; i < n; i++) { + var buffer = GLctx.createBuffer(); + if (!buffer) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((buffers)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.buffers); + buffer.name = id; + GL.buffers[id] = buffer; + HEAP32[(((buffers)+(i*4))>>2)]=id; + } + } + + function _emscripten_glClearDepth(x0) { GLctx['clearDepth'](x0) } + + function _emscripten_set_keypress_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerKeyEventCallback(target, userData, useCapture, callbackfunc, 1, "keypress"); + return 0; + } + + function _glfwSetCharCallback(winid, cbfun) { + GLFW.setCharCallback(winid, cbfun); + } + + function _emscripten_glGetUniformLocation(program, name) { + name = Pointer_stringify(name); + + var arrayOffset = 0; + // If user passed an array accessor "[index]", parse the array index off the accessor. + if (name.indexOf(']', name.length-1) !== -1) { + var ls = name.lastIndexOf('['); + var arrayIndex = name.slice(ls+1, -1); + if (arrayIndex.length > 0) { + arrayOffset = parseInt(arrayIndex); + if (arrayOffset < 0) { + return -1; + } + } + name = name.slice(0, ls); + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + return -1; + } + var utable = ptable.uniforms; + var uniformInfo = utable[name]; // returns pair [ dimension_of_uniform_array, uniform_location ] + if (uniformInfo && arrayOffset < uniformInfo[0]) { // Check if user asked for an out-of-bounds element, i.e. for 'vec4 colors[3];' user could ask for 'colors[10]' which should return -1. + return uniformInfo[1]+arrayOffset; + } else { + return -1; + } + } + + function _glBindBuffer(target, buffer) { + var bufferObj = buffer ? GL.buffers[buffer] : null; + + + GLctx.bindBuffer(target, bufferObj); + } + + function _emscripten_glVertexAttrib4fv(index, v) { + + GLctx.vertexAttrib4f(index, HEAPF32[v>>2], HEAPF32[v+4>>2], HEAPF32[v+8>>2], HEAPF32[v+12>>2]); + } + + function _emscripten_glScissor(x0, x1, x2, x3) { GLctx['scissor'](x0, x1, x2, x3) } + + function _glfwSetCursorEnterCallback(winid, cbfun) { + var win = GLFW.WindowFromId(winid); + if (!win) return; + win.cursorEnterFunc = cbfun; + } + + + Module["_bitshift64Lshr"] = _bitshift64Lshr; + + function _glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + function _emscripten_glIsShader(shader) { + var s = GL.shaders[shader]; + if (!s) return 0; + return GLctx.isShader(s); + } + + function _emscripten_glDrawBuffers(n, bufs) { + + var bufArray = GL.tempFixedLengthArray[n]; + for (var i = 0; i < n; i++) { + bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; + } + + GLctx['drawBuffers'](bufArray); + } + + function _glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _emscripten_glBindFramebuffer(target, framebuffer) { + GLctx.bindFramebuffer(target, framebuffer ? GL.framebuffers[framebuffer] : null); + } + + function _emscripten_glBlendEquation(x0) { GLctx['blendEquation'](x0) } + + function _emscripten_glBufferSubData(target, offset, size, data) { + GLctx.bufferSubData(target, offset, HEAPU8.subarray(data, data+size)); + } + + function _emscripten_glBufferData(target, size, data, usage) { + if (!data) { + GLctx.bufferData(target, size, usage); + } else { + GLctx.bufferData(target, HEAPU8.subarray(data, data+size), usage); + } + } + + + Module["_sbrk"] = _sbrk; + + + Module["_bitshift64Shl"] = _bitshift64Shl; + + function _emscripten_glGetShaderSource(shader, bufSize, length, source) { + var result = GLctx.getShaderSource(GL.shaders[shader]); + if (!result) return; // If an error occurs, nothing will be written to length or source. + if (bufSize > 0 && source) { + var numBytesWrittenExclNull = stringToUTF8(result, source, bufSize); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + + Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + + function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + return 0; + } + + function _glfwSetKeyCallback(winid, cbfun) { + GLFW.setKeyCallback(winid, cbfun); + } + + function _emscripten_set_gamepadconnected_callback(userData, useCapture, callbackfunc) { + if (!navigator.getGamepads && !navigator.webkitGetGamepads) return -1; + JSEvents.registerGamepadEventCallback(window, userData, useCapture, callbackfunc, 26, "gamepadconnected"); + return 0; + } + + function _emscripten_glGetFloatv(name_, p) { + emscriptenWebGLGet(name_, p, 'Float'); + } + + function _glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function ___assert_fail(condition, filename, line, func) { + ABORT = true; + throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace(); + } + + function _emscripten_glVertexAttribDivisor(index, divisor) { + GLctx['vertexAttribDivisor'](index, divisor); + } + + function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { + GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); + } + + function _emscripten_glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } + + function _glfwSetMouseButtonCallback(winid, cbfun) { + GLFW.setMouseButtonCallback(winid, cbfun); + } + + function _emscripten_glCreateProgram() { + var id = GL.getNewId(GL.programs); + var program = GLctx.createProgram(); + program.name = id; + GL.programs[id] = program; + return id; + } + + function _emscripten_glCompressedTexImage2D(target, level, internalFormat, width, height, border, imageSize, data) { + GLctx['compressedTexImage2D'](target, level, internalFormat, width, height, border, data ? HEAPU8.subarray((data),(data+imageSize)) : null); + } + + function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + + function _emscripten_glBindVertexArray(vao) { + GLctx['bindVertexArray'](GL.vaos[vao]); + } + + function _emscripten_glLoadMatrixf() { + Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); + } + + function _glDeleteShader(id) { + if (!id) return; + var shader = GL.shaders[id]; + if (!shader) { // glDeleteShader actually signals an error when deleting a nonexisting object, unlike some other GL delete functions. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + GLctx.deleteShader(shader); + GL.shaders[id] = null; + } + + function _emscripten_glGetProgramiv(program, pname, p) { + if (!p) { + // GLES2 specification does not specify how to behave if p is a null pointer. Since calling this function does not make sense + // if p == null, issue a GL error to notify user about it. + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + if (program >= GL.counter) { + GL.recordError(0x0501 /* GL_INVALID_VALUE */); + return; + } + + var ptable = GL.programInfos[program]; + if (!ptable) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + return; + } + + if (pname == 0x8B84) { // GL_INFO_LOG_LENGTH + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + HEAP32[((p)>>2)]=log.length + 1; + } else if (pname == 0x8B87 /* GL_ACTIVE_UNIFORM_MAX_LENGTH */) { + HEAP32[((p)>>2)]=ptable.maxUniformLength; + } else if (pname == 0x8B8A /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */) { + if (ptable.maxAttributeLength == -1) { + var program = GL.programs[program]; + var numAttribs = GLctx.getProgramParameter(program, GLctx.ACTIVE_ATTRIBUTES); + ptable.maxAttributeLength = 0; // Spec says if there are no active attribs, 0 must be returned. + for (var i = 0; i < numAttribs; ++i) { + var activeAttrib = GLctx.getActiveAttrib(program, i); + ptable.maxAttributeLength = Math.max(ptable.maxAttributeLength, activeAttrib.name.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxAttributeLength; + } else if (pname == 0x8A35 /* GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH */) { + if (ptable.maxUniformBlockNameLength == -1) { + var program = GL.programs[program]; + var numBlocks = GLctx.getProgramParameter(program, GLctx.ACTIVE_UNIFORM_BLOCKS); + ptable.maxUniformBlockNameLength = 0; + for (var i = 0; i < numBlocks; ++i) { + var activeBlockName = GLctx.getActiveUniformBlockName(program, i); + ptable.maxUniformBlockNameLength = Math.max(ptable.maxUniformBlockNameLength, activeBlockName.length+1); + } + } + HEAP32[((p)>>2)]=ptable.maxUniformBlockNameLength; + } else { + HEAP32[((p)>>2)]=GLctx.getProgramParameter(GL.programs[program], pname); + } + } + + function _emscripten_glGetProgramInfoLog(program, maxLength, length, infoLog) { + var log = GLctx.getProgramInfoLog(GL.programs[program]); + if (log === null) log = '(unknown error)'; + + if (maxLength > 0 && infoLog) { + var numBytesWrittenExclNull = stringToUTF8(log, infoLog, maxLength); + if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; + } else { + if (length) HEAP32[((length)>>2)]=0; + } + } + + function _emscripten_glTexImage2D(target, level, internalFormat, width, height, border, format, type, pixels) { + + var pixelData = null; + if (pixels) pixelData = emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, internalFormat); + GLctx.texImage2D(target, level, internalFormat, width, height, border, format, type, pixelData); + } + + function _glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function ___unlock() {} + + function _emscripten_glColorPointer() { + Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); + } + + function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + + function _glfwDestroyWindow(winid) { + return GLFW.destroyWindow(winid); + } + + function _emscripten_glFlush() { GLctx['flush']() } + + function _glfwSetErrorCallback(cbfun) { + GLFW.errorFunc = cbfun; + } + + function _emscripten_glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); + return id; + } + + function _glUniformMatrix4fv(location, count, transpose, value) { + + + var view; + if (16*count <= GL.MINI_TEMP_BUFFER_SIZE) { + // avoid allocation when uploading few enough uniforms + view = GL.miniTempBufferViews[16*count-1]; + for (var i = 0; i < 16*count; i += 16) { + view[i] = HEAPF32[(((value)+(4*i))>>2)]; + view[i+1] = HEAPF32[(((value)+(4*i+4))>>2)]; + view[i+2] = HEAPF32[(((value)+(4*i+8))>>2)]; + view[i+3] = HEAPF32[(((value)+(4*i+12))>>2)]; + view[i+4] = HEAPF32[(((value)+(4*i+16))>>2)]; + view[i+5] = HEAPF32[(((value)+(4*i+20))>>2)]; + view[i+6] = HEAPF32[(((value)+(4*i+24))>>2)]; + view[i+7] = HEAPF32[(((value)+(4*i+28))>>2)]; + view[i+8] = HEAPF32[(((value)+(4*i+32))>>2)]; + view[i+9] = HEAPF32[(((value)+(4*i+36))>>2)]; + view[i+10] = HEAPF32[(((value)+(4*i+40))>>2)]; + view[i+11] = HEAPF32[(((value)+(4*i+44))>>2)]; + view[i+12] = HEAPF32[(((value)+(4*i+48))>>2)]; + view[i+13] = HEAPF32[(((value)+(4*i+52))>>2)]; + view[i+14] = HEAPF32[(((value)+(4*i+56))>>2)]; + view[i+15] = HEAPF32[(((value)+(4*i+60))>>2)]; + } + } else { + view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); + } + GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + } + + function _emscripten_glValidateProgram(program) { + GLctx.validateProgram(GL.programs[program]); + } + + function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + + function _glFrontFace(x0) { GLctx['frontFace'](x0) } + + function _emscripten_glColorMask(red, green, blue, alpha) { + GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + } + + function _emscripten_glPixelStorei(pname, param) { + if (pname == 0x0D05 /* GL_PACK_ALIGNMENT */) { + GL.packAlignment = param; + } else if (pname == 0x0cf5 /* GL_UNPACK_ALIGNMENT */) { + GL.unpackAlignment = param; + } + GLctx.pixelStorei(pname, param); + } + + function _emscripten_glDeleteTextures(n, textures) { + for (var i = 0; i < n; i++) { + var id = HEAP32[(((textures)+(i*4))>>2)]; + var texture = GL.textures[id]; + if (!texture) continue; // GL spec: "glDeleteTextures silently ignores 0s and names that do not correspond to existing textures". + GLctx.deleteTexture(texture); + texture.name = 0; + GL.textures[id] = null; + } + } + + function _emscripten_glCompileShader(shader) { + GLctx.compileShader(GL.shaders[shader]); + } + + function _emscripten_glGenVertexArrays(n, arrays) { + + for (var i = 0; i < n; i++) { + var vao = GLctx['createVertexArray'](); + if (!vao) { + GL.recordError(0x0502 /* GL_INVALID_OPERATION */); + while(i < n) HEAP32[(((arrays)+(i++*4))>>2)]=0; + return; + } + var id = GL.getNewId(GL.vaos); + vao.name = id; + GL.vaos[id] = vao; + HEAP32[(((arrays)+(i*4))>>2)]=id; + } + } + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } + + function _emscripten_glGetBooleanv(name_, p) { + emscriptenWebGLGet(name_, p, 'Boolean'); + } + + function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs; + try { + // fcntl64 + var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); + switch (cmd) { + case 0: { + var arg = SYSCALLS.get(); + if (arg < 0) { + return -ERRNO_CODES.EINVAL; + } + var newStream; + newStream = FS.open(stream.path, stream.flags, 0, arg); + return newStream.fd; + } + case 1: + case 2: + return 0; // FD_CLOEXEC makes no sense for a single process. + case 3: + return stream.flags; + case 4: { + var arg = SYSCALLS.get(); + stream.flags |= arg; + return 0; + } + case 12: + case 12: { + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + case 13: + case 14: + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet. + case 9: + // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves. + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + default: { + return -ERRNO_CODES.EINVAL; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } +var GLctx; GL.init(); +if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process['hrtime'](); + return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== 'undefined') { + _emscripten_get_now = dateNow; + } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') { + _emscripten_get_now = function() { return self['performance']['now'](); }; + } else if (typeof performance === 'object' && typeof performance['now'] === 'function') { + _emscripten_get_now = function() { return performance['now'](); }; + } else { + _emscripten_get_now = Date.now; + }; +Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) }; + Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) }; + Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) }; + Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() }; + Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() }; + Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() } + Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) }; +FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;; +__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });; +if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); }; +JSEvents.staticInit();; +DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC); + +STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP); + +STACK_MAX = STACK_BASE + TOTAL_STACK; + +DYNAMIC_BASE = Runtime.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"); + + + +function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. 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_vd(x) { Module["printErr"]("Invalid function pointer called with signature 'vd'. 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_vid(x) { Module["printErr"]("Invalid function pointer called with signature 'vid'. 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_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. 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_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. 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_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_viddd(x) { Module["printErr"]("Invalid function pointer called with signature 'viddd'. 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_vidd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidd'. 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 nullFunc_viiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiii'. 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_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. 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_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. 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_vidddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vidddd'. 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_vdi(x) { Module["printErr"]("Invalid function pointer called with signature 'vdi'. 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_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. 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_viiiiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiiiii'. 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_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. 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_i(x) { Module["printErr"]("Invalid function pointer called with signature 'i'. 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_vdddddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddddd'. 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_vdddd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdddd'. 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_vdd(x) { Module["printErr"]("Invalid function pointer called with signature 'vdd'. 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_v(x) { Module["printErr"]("Invalid function pointer called with signature 'v'. 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_viid(x) { Module["printErr"]("Invalid function pointer called with signature 'viid'. 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_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. 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_viiiii(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vd(index,a1) { + try { + Module["dynCall_vd"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vid(index,a1,a2) { + try { + Module["dynCall_vid"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vi(index,a1) { + try { + Module["dynCall_vi"](index,a1); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vii(index,a1,a2) { + try { + Module["dynCall_vii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +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_viddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_viddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidd(index,a1,a2,a3) { + try { + Module["dynCall_vidd"](index,a1,a2,a3); + } 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); + } +} + +function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + try { + Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + try { + Module["dynCall_viii"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vidddd(index,a1,a2,a3,a4,a5) { + try { + Module["dynCall_vidddd"](index,a1,a2,a3,a4,a5); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdi(index,a1,a2) { + try { + Module["dynCall_vdi"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + try { + Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + try { + Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_iii(index,a1,a2) { + try { + return Module["dynCall_iii"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddddd(index,a1,a2,a3,a4,a5,a6) { + try { + Module["dynCall_vdddddd"](index,a1,a2,a3,a4,a5,a6); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdddd(index,a1,a2,a3,a4) { + try { + Module["dynCall_vdddd"](index,a1,a2,a3,a4); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_vdd(index,a1,a2) { + try { + Module["dynCall_vdd"](index,a1,a2); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viid(index,a1,a2,a3) { + try { + Module["dynCall_viid"](index,a1,a2,a3); + } catch(e) { + if (typeof e !== 'number' && e !== 'longjmp') throw e; + Module["setThrew"](1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + try { + Module["dynCall_viiii"](index,a1,a2,a3,a4); + } 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_viiiii": nullFunc_viiiii, "nullFunc_vd": nullFunc_vd, "nullFunc_vid": nullFunc_vid, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viddd": nullFunc_viddd, "nullFunc_vidd": nullFunc_vidd, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiiii": nullFunc_viiiiiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viii": nullFunc_viii, "nullFunc_vidddd": nullFunc_vidddd, "nullFunc_vdi": nullFunc_vdi, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiiiiiii": nullFunc_viiiiiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_i": nullFunc_i, "nullFunc_vdddddd": nullFunc_vdddddd, "nullFunc_vdddd": nullFunc_vdddd, "nullFunc_vdd": nullFunc_vdd, "nullFunc_v": nullFunc_v, "nullFunc_viid": nullFunc_viid, "nullFunc_viiii": nullFunc_viiii, "invoke_viiiii": invoke_viiiii, "invoke_vd": invoke_vd, "invoke_vid": invoke_vid, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddd": invoke_viddd, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_viiiiiiii": invoke_viiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viii": invoke_viii, "invoke_vidddd": invoke_vidddd, "invoke_vdi": invoke_vdi, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_iii": invoke_iii, "invoke_i": invoke_i, "invoke_vdddddd": invoke_vdddddd, "invoke_vdddd": invoke_vdddd, "invoke_vdd": invoke_vdd, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_emscripten_glGetTexParameterfv": _emscripten_glGetTexParameterfv, "_glUseProgram": _glUseProgram, "_emscripten_glShaderSource": _emscripten_glShaderSource, "_glfwCreateWindow": _glfwCreateWindow, "_emscripten_glReleaseShaderCompiler": _emscripten_glReleaseShaderCompiler, "_emscripten_glBlendFuncSeparate": _emscripten_glBlendFuncSeparate, "_emscripten_glVertexAttribPointer": _emscripten_glVertexAttribPointer, "_emscripten_glGetIntegerv": _emscripten_glGetIntegerv, "_emscripten_glCullFace": _emscripten_glCullFace, "_emscripten_glIsProgram": _emscripten_glIsProgram, "_emscripten_glStencilMaskSeparate": _emscripten_glStencilMaskSeparate, "_emscripten_glViewport": _emscripten_glViewport, "_emscripten_glFrontFace": _emscripten_glFrontFace, "___assert_fail": ___assert_fail, "_glDeleteProgram": _glDeleteProgram, "_emscripten_glUniform3fv": _emscripten_glUniform3fv, "_emscripten_glPolygonOffset": _emscripten_glPolygonOffset, "_emscripten_glUseProgram": _emscripten_glUseProgram, "_emscripten_glBlendColor": _emscripten_glBlendColor, "_glBindBuffer": _glBindBuffer, "_emscripten_glDepthFunc": _emscripten_glDepthFunc, "_glGetShaderInfoLog": _glGetShaderInfoLog, "_emscripten_set_fullscreenchange_callback": _emscripten_set_fullscreenchange_callback, "_emscripten_set_touchmove_callback": _emscripten_set_touchmove_callback, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "_emscripten_set_gamepaddisconnected_callback": _emscripten_set_gamepaddisconnected_callback, "_glDisable": _glDisable, "_glBlendFunc": _glBlendFunc, "_emscripten_glDisableVertexAttribArray": _emscripten_glDisableVertexAttribArray, "_glGetAttribLocation": _glGetAttribLocation, "_glDisableVertexAttribArray": _glDisableVertexAttribArray, "_glCreateShader": _glCreateShader, "_emscripten_glSampleCoverage": _emscripten_glSampleCoverage, "_emscripten_glVertexPointer": _emscripten_glVertexPointer, "_emscripten_set_touchstart_callback": _emscripten_set_touchstart_callback, "emscriptenWebGLComputeImageSize": emscriptenWebGLComputeImageSize, "_emscripten_glGetBooleanv": _emscripten_glGetBooleanv, "_emscripten_glGetShaderSource": _emscripten_glGetShaderSource, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_emscripten_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glGenBuffers": _emscripten_glGenBuffers, "_emscripten_glDeleteObjectARB": _emscripten_glDeleteObjectARB, "_glfwSetWindowSizeCallback": _glfwSetWindowSizeCallback, "_emscripten_glGetShaderPrecisionFormat": _emscripten_glGetShaderPrecisionFormat, "_glfwInit": _glfwInit, "_glGenBuffers": _glGenBuffers, "_glShaderSource": _glShaderSource, "_emscripten_glGetString": _emscripten_glGetString, "_emscripten_glIsFramebuffer": _emscripten_glIsFramebuffer, "_emscripten_glIsEnabled": _emscripten_glIsEnabled, "_emscripten_glScissor": _emscripten_glScissor, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "___syscall145": ___syscall145, "_emscripten_glBindProgramARB": _emscripten_glBindProgramARB, "_emscripten_glStencilOpSeparate": _emscripten_glStencilOpSeparate, "_emscripten_glFramebufferRenderbuffer": _emscripten_glFramebufferRenderbuffer, "___syscall140": ___syscall140, "_glfwSetErrorCallback": _glfwSetErrorCallback, "_glfwDefaultWindowHints": _glfwDefaultWindowHints, "_glfwDestroyWindow": _glfwDestroyWindow, "___syscall146": ___syscall146, "_emscripten_glGetActiveAttrib": _emscripten_glGetActiveAttrib, "_emscripten_glAttachShader": _emscripten_glAttachShader, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glUniformMatrix2fv": _emscripten_glUniformMatrix2fv, "_glGetProgramInfoLog": _glGetProgramInfoLog, "_glfwSetScrollCallback": _glfwSetScrollCallback, "_emscripten_glTexParameterf": _emscripten_glTexParameterf, "_emscripten_glGetAttachedShaders": _emscripten_glGetAttachedShaders, "_emscripten_glGenTextures": _emscripten_glGenTextures, "_emscripten_glTexParameteri": _emscripten_glTexParameteri, "_llvm_stackrestore": _llvm_stackrestore, "_glfwMakeContextCurrent": _glfwMakeContextCurrent, "_emscripten_glClear": _emscripten_glClear, "_glDrawElements": _glDrawElements, "_glBufferSubData": _glBufferSubData, "_emscripten_glValidateProgram": _emscripten_glValidateProgram, "_emscripten_glVertexAttrib2fv": _emscripten_glVertexAttrib2fv, "_glViewport": _glViewport, "_emscripten_glUniform4iv": _emscripten_glUniform4iv, "_emscripten_glGetTexParameteriv": _emscripten_glGetTexParameteriv, "___setErrNo": ___setErrNo, "_eglGetProcAddress": _eglGetProcAddress, "_emscripten_glBindAttribLocation": _emscripten_glBindAttribLocation, "_glDeleteTextures": _glDeleteTextures, "_glDepthFunc": _glDepthFunc, "_emscripten_glClientActiveTexture": _emscripten_glClientActiveTexture, "_emscripten_glVertexAttrib2f": _emscripten_glVertexAttrib2f, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_emscripten_get_now": _emscripten_get_now, "_emscripten_glNormalPointer": _emscripten_glNormalPointer, "_glAttachShader": _glAttachShader, "_emscripten_glTexCoordPointer": _emscripten_glTexCoordPointer, "_emscripten_glEnable": _emscripten_glEnable, "_glCreateProgram": _glCreateProgram, "_glUniformMatrix4fv": _glUniformMatrix4fv, "_emscripten_glClearDepth": _emscripten_glClearDepth, "___lock": ___lock, "emscriptenWebGLGetTexPixelData": emscriptenWebGLGetTexPixelData, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_glDrawRangeElements": _emscripten_glDrawRangeElements, "_glCullFace": _glCullFace, "_emscripten_glGetPointerv": _emscripten_glGetPointerv, "_emscripten_set_keypress_callback": _emscripten_set_keypress_callback, "__emscripten_sample_gamepad_data": __emscripten_sample_gamepad_data, "_emscripten_get_gamepad_status": _emscripten_get_gamepad_status, "_emscripten_glUniform4f": _emscripten_glUniform4f, "_emscripten_glUniform2fv": _emscripten_glUniform2fv, "_glfwGetVideoModes": _glfwGetVideoModes, "_emscripten_set_click_callback": _emscripten_set_click_callback, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___syscall221": ___syscall221, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glDeleteVertexArrays": _emscripten_glDeleteVertexArrays, "_glfwSetWindowShouldClose": _glfwSetWindowShouldClose, "_emscripten_glUniform1fv": _emscripten_glUniform1fv, "_emscripten_glGetActiveUniform": _emscripten_glGetActiveUniform, "_glBindTexture": _glBindTexture, "_emscripten_glUniform3iv": _emscripten_glUniform3iv, "_emscripten_glUniform2iv": _emscripten_glUniform2iv, "_emscripten_glHint": _emscripten_glHint, "_glfwSetCharCallback": _glfwSetCharCallback, "emscriptenWebGLGetVertexAttrib": emscriptenWebGLGetVertexAttrib, "_emscripten_glLoadMatrixf": _emscripten_glLoadMatrixf, "_emscripten_glDeleteProgram": _emscripten_glDeleteProgram, "_emscripten_glDeleteRenderbuffers": _emscripten_glDeleteRenderbuffers, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glGetFloatv": _glGetFloatv, "_emscripten_asm_const_iii": _emscripten_asm_const_iii, "_emscripten_glDepthMask": _emscripten_glDepthMask, "_glfwSetWindowIconifyCallback": _glfwSetWindowIconifyCallback, "_emscripten_glDrawBuffers": _emscripten_glDrawBuffers, "_glfwTerminate": _glfwTerminate, "_glFrontFace": _glFrontFace, "_emscripten_glGetObjectParameterivARB": _emscripten_glGetObjectParameterivARB, "_emscripten_exit_pointerlock": _emscripten_exit_pointerlock, "_glfwSwapInterval": _glfwSwapInterval, "_glUniform1i": _glUniform1i, "_glEnableVertexAttribArray": _glEnableVertexAttribArray, "_emscripten_glStencilFunc": _emscripten_glStencilFunc, "_abort": _abort, "_emscripten_glGetUniformiv": _emscripten_glGetUniformiv, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glfwSetKeyCallback": _glfwSetKeyCallback, "_emscripten_glGenFramebuffers": _emscripten_glGenFramebuffers, "_emscripten_glUniformMatrix4fv": _emscripten_glUniformMatrix4fv, "_emscripten_glLoadIdentity": _emscripten_glLoadIdentity, "_glDeleteShader": _glDeleteShader, "_emscripten_glUniform1f": _emscripten_glUniform1f, "_glGetProgramiv": _glGetProgramiv, "_emscripten_glBindFramebuffer": _emscripten_glBindFramebuffer, "_emscripten_glIsRenderbuffer": _emscripten_glIsRenderbuffer, "_glfwGetTime": _glfwGetTime, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_glGetVertexAttribiv": _emscripten_glGetVertexAttribiv, "_emscripten_glBindVertexArray": _emscripten_glBindVertexArray, "_emscripten_glDrawArraysInstanced": _emscripten_glDrawArraysInstanced, "_emscripten_set_touchcancel_callback": _emscripten_set_touchcancel_callback, "_emscripten_glCreateShader": _emscripten_glCreateShader, "_emscripten_glStencilMask": _emscripten_glStencilMask, "_emscripten_glDeleteTextures": _emscripten_glDeleteTextures, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_glfwGetPrimaryMonitor": _glfwGetPrimaryMonitor, "_glLinkProgram": _glLinkProgram, "_emscripten_glVertexAttribDivisor": _emscripten_glVertexAttribDivisor, "_emscripten_set_touchend_callback": _emscripten_set_touchend_callback, "_emscripten_glGetUniformfv": _emscripten_glGetUniformfv, "_emscripten_glGetVertexAttribfv": _emscripten_glGetVertexAttribfv, "_emscripten_glGetRenderbufferParameteriv": _emscripten_glGetRenderbufferParameteriv, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_glCompileShader": _emscripten_glCompileShader, "_glClear": _glClear, "_glGenTextures": _glGenTextures, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_emscripten_glGetProgramiv": _emscripten_glGetProgramiv, "_emscripten_glVertexAttrib1fv": _emscripten_glVertexAttrib1fv, "_emscripten_glBindTexture": _emscripten_glBindTexture, "_glfwSetMouseButtonCallback": _glfwSetMouseButtonCallback, "_glfwGetCursorPos": _glfwGetCursorPos, "_emscripten_glActiveTexture": _emscripten_glActiveTexture, "_emscripten_glDeleteBuffers": _emscripten_glDeleteBuffers, "___syscall54": ___syscall54, "___unlock": ___unlock, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCopyTexImage2D": _emscripten_glCopyTexImage2D, "_emscripten_glTexImage2D": _emscripten_glTexImage2D, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 }; +// EMSCRIPTEN_START_ASM +var asm = (function(global, env, buffer) { + 'use asm'; + + + var HEAP8 = new global.Int8Array(buffer); + var HEAP16 = new global.Int16Array(buffer); + var HEAP32 = new global.Int32Array(buffer); + var HEAPU8 = new global.Uint8Array(buffer); + var HEAPU16 = new global.Uint16Array(buffer); + var HEAPU32 = new global.Uint32Array(buffer); + var HEAPF32 = new global.Float32Array(buffer); + var HEAPF64 = new global.Float64Array(buffer); + + + var 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, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 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_viiiii=env.nullFunc_viiiii; + var nullFunc_vd=env.nullFunc_vd; + var nullFunc_vid=env.nullFunc_vid; + var nullFunc_vi=env.nullFunc_vi; + var nullFunc_vii=env.nullFunc_vii; + var nullFunc_ii=env.nullFunc_ii; + var nullFunc_viddd=env.nullFunc_viddd; + var nullFunc_vidd=env.nullFunc_vidd; + var nullFunc_iiii=env.nullFunc_iiii; + var nullFunc_viiiiiiii=env.nullFunc_viiiiiiii; + var nullFunc_viiiiii=env.nullFunc_viiiiii; + var nullFunc_viii=env.nullFunc_viii; + var nullFunc_vidddd=env.nullFunc_vidddd; + var nullFunc_vdi=env.nullFunc_vdi; + var nullFunc_viiiiiii=env.nullFunc_viiiiiii; + var nullFunc_viiiiiiiii=env.nullFunc_viiiiiiiii; + var nullFunc_iii=env.nullFunc_iii; + var nullFunc_i=env.nullFunc_i; + var nullFunc_vdddddd=env.nullFunc_vdddddd; + var nullFunc_vdddd=env.nullFunc_vdddd; + var nullFunc_vdd=env.nullFunc_vdd; + var nullFunc_v=env.nullFunc_v; + var nullFunc_viid=env.nullFunc_viid; + var nullFunc_viiii=env.nullFunc_viiii; + var invoke_viiiii=env.invoke_viiiii; + var invoke_vd=env.invoke_vd; + var invoke_vid=env.invoke_vid; + var invoke_vi=env.invoke_vi; + var invoke_vii=env.invoke_vii; + var invoke_ii=env.invoke_ii; + var invoke_viddd=env.invoke_viddd; + var invoke_vidd=env.invoke_vidd; + var invoke_iiii=env.invoke_iiii; + var invoke_viiiiiiii=env.invoke_viiiiiiii; + var invoke_viiiiii=env.invoke_viiiiii; + var invoke_viii=env.invoke_viii; + var invoke_vidddd=env.invoke_vidddd; + var invoke_vdi=env.invoke_vdi; + var invoke_viiiiiii=env.invoke_viiiiiii; + var invoke_viiiiiiiii=env.invoke_viiiiiiiii; + var invoke_iii=env.invoke_iii; + var invoke_i=env.invoke_i; + var invoke_vdddddd=env.invoke_vdddddd; + var invoke_vdddd=env.invoke_vdddd; + var invoke_vdd=env.invoke_vdd; + var invoke_v=env.invoke_v; + var invoke_viid=env.invoke_viid; + var invoke_viiii=env.invoke_viiii; + var _emscripten_glGetTexParameterfv=env._emscripten_glGetTexParameterfv; + var _glUseProgram=env._glUseProgram; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; + var _glfwCreateWindow=env._glfwCreateWindow; + var _emscripten_glReleaseShaderCompiler=env._emscripten_glReleaseShaderCompiler; + var _emscripten_glBlendFuncSeparate=env._emscripten_glBlendFuncSeparate; + var _emscripten_glVertexAttribPointer=env._emscripten_glVertexAttribPointer; + var _emscripten_glGetIntegerv=env._emscripten_glGetIntegerv; + var _emscripten_glCullFace=env._emscripten_glCullFace; + var _emscripten_glIsProgram=env._emscripten_glIsProgram; + var _emscripten_glStencilMaskSeparate=env._emscripten_glStencilMaskSeparate; + var _emscripten_glViewport=env._emscripten_glViewport; + var _emscripten_glFrontFace=env._emscripten_glFrontFace; + var ___assert_fail=env.___assert_fail; + var _glDeleteProgram=env._glDeleteProgram; + var _emscripten_glUniform3fv=env._emscripten_glUniform3fv; + var _emscripten_glPolygonOffset=env._emscripten_glPolygonOffset; + var _emscripten_glUseProgram=env._emscripten_glUseProgram; + var _emscripten_glBlendColor=env._emscripten_glBlendColor; + var _glBindBuffer=env._glBindBuffer; + var _emscripten_glDepthFunc=env._emscripten_glDepthFunc; + var _glGetShaderInfoLog=env._glGetShaderInfoLog; + var _emscripten_set_fullscreenchange_callback=env._emscripten_set_fullscreenchange_callback; + var _emscripten_set_touchmove_callback=env._emscripten_set_touchmove_callback; + var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing; + var _emscripten_set_gamepaddisconnected_callback=env._emscripten_set_gamepaddisconnected_callback; + var _glDisable=env._glDisable; + var _glBlendFunc=env._glBlendFunc; + var _emscripten_glDisableVertexAttribArray=env._emscripten_glDisableVertexAttribArray; + var _glGetAttribLocation=env._glGetAttribLocation; + var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; + var _glCreateShader=env._glCreateShader; + var _emscripten_glSampleCoverage=env._emscripten_glSampleCoverage; + var _emscripten_glVertexPointer=env._emscripten_glVertexPointer; + var _emscripten_set_touchstart_callback=env._emscripten_set_touchstart_callback; + var emscriptenWebGLComputeImageSize=env.emscriptenWebGLComputeImageSize; + var _emscripten_glGetBooleanv=env._emscripten_glGetBooleanv; + var _emscripten_glGetShaderSource=env._emscripten_glGetShaderSource; + var _glUniform4f=env._glUniform4f; + var _llvm_stacksave=env._llvm_stacksave; + var _emscripten_glUniform1i=env._emscripten_glUniform1i; + var _emscripten_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; + var _emscripten_glFrustum=env._emscripten_glFrustum; + var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; + var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; + var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; + var _emscripten_glGetShaderPrecisionFormat=env._emscripten_glGetShaderPrecisionFormat; + var _glfwInit=env._glfwInit; + var _glGenBuffers=env._glGenBuffers; + var _glShaderSource=env._glShaderSource; + var _emscripten_glGetString=env._emscripten_glGetString; + var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; + var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; + var _emscripten_glScissor=env._emscripten_glScissor; + var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; + var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; + var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var ___syscall145=env.___syscall145; + var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; + var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; + var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; + var ___syscall140=env.___syscall140; + var _glfwSetErrorCallback=env._glfwSetErrorCallback; + var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; + var _glfwDestroyWindow=env._glfwDestroyWindow; + var ___syscall146=env.___syscall146; + var _emscripten_glGetActiveAttrib=env._emscripten_glGetActiveAttrib; + var _emscripten_glAttachShader=env._emscripten_glAttachShader; + var _glVertexAttribPointer=env._glVertexAttribPointer; + var _emscripten_glUniform2i=env._emscripten_glUniform2i; + var _emscripten_glUniform2f=env._emscripten_glUniform2f; + var _emscripten_glTexParameterfv=env._emscripten_glTexParameterfv; + var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; + var _glGetProgramInfoLog=env._glGetProgramInfoLog; + var _glfwSetScrollCallback=env._glfwSetScrollCallback; + var _emscripten_glTexParameterf=env._emscripten_glTexParameterf; + var _emscripten_glGetAttachedShaders=env._emscripten_glGetAttachedShaders; + var _emscripten_glGenTextures=env._emscripten_glGenTextures; + var _emscripten_glTexParameteri=env._emscripten_glTexParameteri; + var _llvm_stackrestore=env._llvm_stackrestore; + var _glfwMakeContextCurrent=env._glfwMakeContextCurrent; + var _emscripten_glClear=env._emscripten_glClear; + var _glDrawElements=env._glDrawElements; + var _glBufferSubData=env._glBufferSubData; + var _emscripten_glValidateProgram=env._emscripten_glValidateProgram; + var _emscripten_glVertexAttrib2fv=env._emscripten_glVertexAttrib2fv; + var _glViewport=env._glViewport; + var _emscripten_glUniform4iv=env._emscripten_glUniform4iv; + var _emscripten_glGetTexParameteriv=env._emscripten_glGetTexParameteriv; + var ___setErrNo=env.___setErrNo; + var _eglGetProcAddress=env._eglGetProcAddress; + var _emscripten_glBindAttribLocation=env._emscripten_glBindAttribLocation; + var _glDeleteTextures=env._glDeleteTextures; + var _glDepthFunc=env._glDepthFunc; + var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; + var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_glFlush=env._emscripten_glFlush; + var _emscripten_glCheckFramebufferStatus=env._emscripten_glCheckFramebufferStatus; + var _emscripten_glGenerateMipmap=env._emscripten_glGenerateMipmap; + var _emscripten_glGetError=env._emscripten_glGetError; + var _emscripten_glClearDepthf=env._emscripten_glClearDepthf; + var _emscripten_glBufferData=env._emscripten_glBufferData; + var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glRotatef=env._emscripten_glRotatef; + var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; + var _glEnable=env._glEnable; + var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; + var _glGetString=env._glGetString; + var _emscripten_glClearStencil=env._emscripten_glClearStencil; + var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; + var emscriptenWebGLGet=env.emscriptenWebGLGet; + var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var _emscripten_get_now=env._emscripten_get_now; + var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; + var _glAttachShader=env._glAttachShader; + var _emscripten_glTexCoordPointer=env._emscripten_glTexCoordPointer; + var _emscripten_glEnable=env._emscripten_glEnable; + var _glCreateProgram=env._glCreateProgram; + var _glUniformMatrix4fv=env._glUniformMatrix4fv; + var _emscripten_glClearDepth=env._emscripten_glClearDepth; + var ___lock=env.___lock; + var emscriptenWebGLGetTexPixelData=env.emscriptenWebGLGetTexPixelData; + var ___syscall6=env.___syscall6; + var ___syscall5=env.___syscall5; + var _emscripten_glIsBuffer=env._emscripten_glIsBuffer; + var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; + var _time=env._time; + var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var _emscripten_glGetFramebufferAttachmentParameteriv=env._emscripten_glGetFramebufferAttachmentParameteriv; + var _emscripten_glBlendEquationSeparate=env._emscripten_glBlendEquationSeparate; + var _exit=env._exit; + var _emscripten_glEnableClientState=env._emscripten_glEnableClientState; + var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; + var _glCullFace=env._glCullFace; + var _emscripten_glGetPointerv=env._emscripten_glGetPointerv; + var _emscripten_set_keypress_callback=env._emscripten_set_keypress_callback; + var __emscripten_sample_gamepad_data=env.__emscripten_sample_gamepad_data; + var _emscripten_get_gamepad_status=env._emscripten_get_gamepad_status; + var _emscripten_glUniform4f=env._emscripten_glUniform4f; + var _emscripten_glUniform2fv=env._emscripten_glUniform2fv; + var _glfwGetVideoModes=env._glfwGetVideoModes; + var _emscripten_set_click_callback=env._emscripten_set_click_callback; + var _emscripten_glShaderBinary=env._emscripten_glShaderBinary; + var _emscripten_glDrawElements=env._emscripten_glDrawElements; + var _emscripten_glBlendFunc=env._emscripten_glBlendFunc; + var _emscripten_get_num_gamepads=env._emscripten_get_num_gamepads; + var ___syscall221=env.___syscall221; + var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _emscripten_glUniform1iv=env._emscripten_glUniform1iv; + var _emscripten_glGetVertexAttribPointerv=env._emscripten_glGetVertexAttribPointerv; + var _glClearDepthf=env._glClearDepthf; + var _emscripten_glCompressedTexSubImage2D=env._emscripten_glCompressedTexSubImage2D; + var emscriptenWebGLGetUniform=env.emscriptenWebGLGetUniform; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; + var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; + var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; + var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; + var _emscripten_glGetActiveUniform=env._emscripten_glGetActiveUniform; + var _glBindTexture=env._glBindTexture; + var _emscripten_glUniform3iv=env._emscripten_glUniform3iv; + var _emscripten_glUniform2iv=env._emscripten_glUniform2iv; + var _emscripten_glHint=env._emscripten_glHint; + var _glfwSetCharCallback=env._glfwSetCharCallback; + var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; + var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; + var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var _emscripten_glDrawElementsInstanced=env._emscripten_glDrawElementsInstanced; + var _emscripten_glVertexAttrib4f=env._emscripten_glVertexAttrib4f; + var _glDrawArrays=env._glDrawArrays; + var _emscripten_glTexSubImage2D=env._emscripten_glTexSubImage2D; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; + var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; + var _glCompileShader=env._glCompileShader; + var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; + var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _emscripten_glGetBufferParameteriv=env._emscripten_glGetBufferParameteriv; + var _emscripten_glFinish=env._emscripten_glFinish; + var _emscripten_request_pointerlock=env._emscripten_request_pointerlock; + var _glGetFloatv=env._glGetFloatv; + var _emscripten_asm_const_iii=env._emscripten_asm_const_iii; + var _emscripten_glDepthMask=env._emscripten_glDepthMask; + var _glfwSetWindowIconifyCallback=env._glfwSetWindowIconifyCallback; + var _emscripten_glDrawBuffers=env._emscripten_glDrawBuffers; + var _glfwTerminate=env._glfwTerminate; + var _glFrontFace=env._glFrontFace; + var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; + var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; + var _glfwSwapInterval=env._glfwSwapInterval; + var _glUniform1i=env._glUniform1i; + var _glEnableVertexAttribArray=env._glEnableVertexAttribArray; + var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; + var _abort=env._abort; + var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var _glDeleteBuffers=env._glDeleteBuffers; + var _glBufferData=env._glBufferData; + var _glTexImage2D=env._glTexImage2D; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _glfwSetKeyCallback=env._glfwSetKeyCallback; + var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; + var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; + var _emscripten_glLoadIdentity=env._emscripten_glLoadIdentity; + var _glDeleteShader=env._glDeleteShader; + var _emscripten_glUniform1f=env._emscripten_glUniform1f; + var _glGetProgramiv=env._glGetProgramiv; + var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; + var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; + var _glfwGetTime=env._glfwGetTime; + var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; + var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; + var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; + var _emscripten_set_touchcancel_callback=env._emscripten_set_touchcancel_callback; + var _emscripten_glCreateShader=env._emscripten_glCreateShader; + var _emscripten_glStencilMask=env._emscripten_glStencilMask; + var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; + var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; + var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; + var _glLinkProgram=env._glLinkProgram; + var _emscripten_glVertexAttribDivisor=env._emscripten_glVertexAttribDivisor; + var _emscripten_set_touchend_callback=env._emscripten_set_touchend_callback; + var _emscripten_glGetUniformfv=env._emscripten_glGetUniformfv; + var _emscripten_glGetVertexAttribfv=env._emscripten_glGetVertexAttribfv; + var _emscripten_glGetRenderbufferParameteriv=env._emscripten_glGetRenderbufferParameteriv; + var _emscripten_glDeleteFramebuffers=env._emscripten_glDeleteFramebuffers; + var _glGetShaderiv=env._glGetShaderiv; + var _emscripten_glVertexAttrib3fv=env._emscripten_glVertexAttrib3fv; + var _glGetUniformLocation=env._glGetUniformLocation; + var _emscripten_glGetInfoLogARB=env._emscripten_glGetInfoLogARB; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _glClear=env._glClear; + var _glGenTextures=env._glGenTextures; + var _emscripten_glDisable=env._emscripten_glDisable; + var _emscripten_glDepthRangef=env._emscripten_glDepthRangef; + var __exit=env.__exit; + var _emscripten_glLineWidth=env._emscripten_glLineWidth; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; + var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; + var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var _glBindAttribLocation=env._glBindAttribLocation; + var _glPixelStorei=env._glPixelStorei; + var _emscripten_glColorMask=env._emscripten_glColorMask; + var _emscripten_glLinkProgram=env._emscripten_glLinkProgram; + var _emscripten_glBlendEquation=env._emscripten_glBlendEquation; + var _emscripten_glIsTexture=env._emscripten_glIsTexture; + var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; + var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; + var _emscripten_glBindTexture=env._emscripten_glBindTexture; + var _glfwSetMouseButtonCallback=env._glfwSetMouseButtonCallback; + var _glfwGetCursorPos=env._glfwGetCursorPos; + var _emscripten_glActiveTexture=env._emscripten_glActiveTexture; + var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; + var ___syscall54=env.___syscall54; + var ___unlock=env.___unlock; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + var _glfwSwapBuffers=env._glfwSwapBuffers; + var _emscripten_glDepthRange=env._emscripten_glDepthRange; + var _emscripten_set_main_loop=env._emscripten_set_main_loop; + var _emscripten_glGetProgramInfoLog=env._emscripten_glGetProgramInfoLog; + var _glfwWindowHint=env._glfwWindowHint; + var _emscripten_glIsShader=env._emscripten_glIsShader; + var _emscripten_glUniform4fv=env._emscripten_glUniform4fv; + var _emscripten_glGenVertexArrays=env._emscripten_glGenVertexArrays; + var _emscripten_glDrawArrays=env._emscripten_glDrawArrays; + var _emscripten_glCompressedTexImage2D=env._emscripten_glCompressedTexImage2D; + var _emscripten_glClearColor=env._emscripten_glClearColor; + var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; + var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _glTexParameteri=env._glTexParameteri; + var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _emscripten_glGetFloatv=env._emscripten_glGetFloatv; + var _emscripten_glDetachShader=env._emscripten_glDetachShader; + var _glClearColor=env._glClearColor; + var _glfwSetCursorPosCallback=env._glfwSetCursorPosCallback; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; + var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; + var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + 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 _main() { + var $$012 = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$01$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx = 0, $$sroa$22$0$$sroa_idx3 = 0, $$sroa$3$0$$sroa_idx = 0, $$sroa$4$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $smoke$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $smoke$byval_copy = sp + 20|0; + $0 = sp; + $1 = HEAP32[2]|0; + $2 = HEAP32[3]|0; + _InitWindow($1,$2,4000); + $$012 = 0; + while(1) { + $$sroa$01$0$$sroa_idx = (16756 + (($$012*28)|0)|0); + HEAPF32[$$sroa$01$0$$sroa_idx>>2] = 0.0; + $$sroa$22$0$$sroa_idx3 = (((16756 + (($$012*28)|0)|0)) + 4|0); + HEAPF32[$$sroa$22$0$$sroa_idx3>>2] = 0.0; + $3 = (_GetRandomValue(0,255)|0); + $4 = $3&255; + $5 = (_GetRandomValue(0,255)|0); + $6 = $5&255; + $7 = (_GetRandomValue(0,255)|0); + $8 = $7&255; + $$sroa$0$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 8|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0] = $4; + $$sroa$2$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 9|0); + HEAP8[$$sroa$2$0$$sroa_idx>>0] = $6; + $$sroa$3$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 10|0); + HEAP8[$$sroa$3$0$$sroa_idx>>0] = $8; + $$sroa$4$0$$sroa_idx = (((16756 + (($$012*28)|0)|0)) + 11|0); + HEAP8[$$sroa$4$0$$sroa_idx>>0] = -1; + $9 = (((16756 + (($$012*28)|0)|0)) + 12|0); + HEAPF32[$9>>2] = 1.0; + $10 = (_GetRandomValue(1,30)|0); + $11 = (+($10|0)); + $12 = $11 / 20.0; + $13 = (((16756 + (($$012*28)|0)|0)) + 16|0); + HEAPF32[$13>>2] = $12; + $14 = (_GetRandomValue(0,360)|0); + $15 = (+($14|0)); + $16 = (((16756 + (($$012*28)|0)|0)) + 20|0); + HEAPF32[$16>>2] = $15; + $17 = (((16756 + (($$012*28)|0)|0)) + 24|0); + HEAP32[$17>>2] = 0; + $18 = (($$012) + 1)|0; + $exitcond = ($18|0)==(200); + if ($exitcond) { + break; + } else { + $$012 = $18; + } + } + _LoadTexture($0,4047); + ;HEAP32[22356>>2]=HEAP32[$0>>2]|0;HEAP32[22356+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[22356+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[22356+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[22356+16>>2]=HEAP32[$0+16>>2]|0; + _emscripten_set_main_loop((1|0),0,1); + ;HEAP32[$smoke$byval_copy>>2]=HEAP32[22356>>2]|0;HEAP32[$smoke$byval_copy+4>>2]=HEAP32[22356+4>>2]|0;HEAP32[$smoke$byval_copy+8>>2]=HEAP32[22356+8>>2]|0;HEAP32[$smoke$byval_copy+12>>2]=HEAP32[22356+12>>2]|0;HEAP32[$smoke$byval_copy+16>>2]=HEAP32[22356+16>>2]|0; + _UnloadTexture($smoke$byval_copy); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03134 = 0, $$03236 = 0, $$033 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy8 = 0, $$sink = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0; + var $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.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; + var $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.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0; + var $74 = 0.0, $75 = 0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0.0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0, $85 = 0.0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $exitcond = 0, $exitcond37 = 0, $smoke$byval_copy = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy8 = sp + 132|0; + $$byval_copy5 = sp + 104|0; + $$byval_copy4 = sp + 88|0; + $$byval_copy3 = sp + 72|0; + $smoke$byval_copy = sp + 48|0; + $0 = sp; + $1 = sp + 128|0; + $2 = sp + 32|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp + 124|0; + $6 = sp + 120|0; + $7 = sp + 116|0; + $8 = sp + 112|0; + $$03236 = 0; + while(1) { + $10 = (((16756 + (($$03236*28)|0)|0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = ($11|0)==(0); + if ($12) { + label = 4; + break; + } + $25 = (($$03236) + 1)|0; + $26 = ($25|0)<(200); + if ($26) { + $$03236 = $25; + } else { + break; + } + } + if ((label|0) == 4) { + HEAP32[$10>>2] = 1; + $13 = (((16756 + (($$03236*28)|0)|0)) + 12|0); + HEAPF32[$13>>2] = 1.0; + $14 = (16756 + (($$03236*28)|0)|0); + _GetMousePosition($0); + $15 = $0; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + } + $9 = +HEAPF32[4]; + $$03134 = 0; + while(1) { + $29 = (((16756 + (($$03134*28)|0)|0)) + 24|0); + $30 = HEAP32[$29>>2]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = (((16756 + (($$03134*28)|0)|0)) + 4|0); + $33 = +HEAPF32[$32>>2]; + $34 = $9 + $33; + HEAPF32[$32>>2] = $34; + $35 = (((16756 + (($$03134*28)|0)|0)) + 12|0); + $36 = +HEAPF32[$35>>2]; + $37 = $36 + -0.0099999997764825821; + HEAPF32[$35>>2] = $37; + $38 = !($37 <= 0.0); + if (!($38)) { + HEAP32[$29>>2] = 0; + } + $39 = (((16756 + (($$03134*28)|0)|0)) + 20|0); + $40 = +HEAPF32[$39>>2]; + $41 = $40 + 5.0; + HEAPF32[$39>>2] = $41; + } + $42 = (($$03134) + 1)|0; + $exitcond37 = ($42|0)==(200); + if ($exitcond37) { + break; + } else { + $$03134 = $42; + } + } + $27 = (_IsKeyPressed(32)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $43 = HEAP32[4188]|0; + $44 = ($43|0)==(0); + $$sink = $44&1; + HEAP32[4188] = $$sink; + } + _BeginDrawing(); + HEAP8[$1>>0] = 80; + $45 = ((($1)) + 1|0); + HEAP8[$45>>0] = 80; + $46 = ((($1)) + 2|0); + HEAP8[$46>>0] = 80; + $47 = ((($1)) + 3|0); + HEAP8[$47>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$1+3>>0]|0; + _ClearBackground($$byval_copy8); + $48 = HEAP32[4188]|0; + _BeginBlendMode($48); + $49 = ((($2)) + 4|0); + $50 = ((($2)) + 8|0); + $51 = ((($2)) + 12|0); + $52 = ((($3)) + 4|0); + $53 = ((($3)) + 8|0); + $54 = ((($3)) + 12|0); + $55 = ((($4)) + 4|0); + $$033 = 0; + while(1) { + $63 = (((16756 + (($$033*28)|0)|0)) + 24|0); + $64 = HEAP32[$63>>2]|0; + $65 = ($64|0)==(0); + if (!($65)) { + HEAP32[$2>>2] = 0; + HEAP32[$49>>2] = 0; + $66 = HEAP32[(22360)>>2]|0; + HEAP32[$50>>2] = $66; + $67 = HEAP32[(22364)>>2]|0; + HEAP32[$51>>2] = $67; + $68 = (16756 + (($$033*28)|0)|0); + $69 = +HEAPF32[$68>>2]; + $70 = (~~(($69))); + HEAP32[$3>>2] = $70; + $71 = (((16756 + (($$033*28)|0)|0)) + 4|0); + $72 = +HEAPF32[$71>>2]; + $73 = (~~(($72))); + HEAP32[$52>>2] = $73; + $74 = (+($66|0)); + $75 = (((16756 + (($$033*28)|0)|0)) + 16|0); + $76 = +HEAPF32[$75>>2]; + $77 = $74 * $76; + $78 = (~~(($77))); + HEAP32[$53>>2] = $78; + $79 = (+($67|0)); + $80 = $79 * $76; + $81 = (~~(($80))); + HEAP32[$54>>2] = $81; + $82 = $77 * 0.5; + HEAPF32[$4>>2] = $82; + $83 = $80 * 0.5; + HEAPF32[$55>>2] = $83; + $84 = (((16756 + (($$033*28)|0)|0)) + 20|0); + $85 = +HEAPF32[$84>>2]; + $86 = (((16756 + (($$033*28)|0)|0)) + 8|0); + $87 = (((16756 + (($$033*28)|0)|0)) + 12|0); + $88 = +HEAPF32[$87>>2]; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$86>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$86+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$86+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$86+3>>0]|0; + _Fade($5,$$byval_copy8,$88); + ;HEAP32[$smoke$byval_copy>>2]=HEAP32[22356>>2]|0;HEAP32[$smoke$byval_copy+4>>2]=HEAP32[22356+4>>2]|0;HEAP32[$smoke$byval_copy+8>>2]=HEAP32[22356+8>>2]|0;HEAP32[$smoke$byval_copy+12>>2]=HEAP32[22356+12>>2]|0;HEAP32[$smoke$byval_copy+16>>2]=HEAP32[22356+16>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$2+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$$byval_copy4+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[$$byval_copy4+12>>2]=HEAP32[$3+12>>2]|0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($smoke$byval_copy,$$byval_copy3,$$byval_copy4,$$byval_copy5,$85,$$byval_copy8); + } + $89 = (($$033) + 1)|0; + $exitcond = ($89|0)==(200); + if ($exitcond) { + break; + } else { + $$033 = $89; + } + } + _EndBlendMode(); + HEAP8[$6>>0] = 0; + $56 = ((($6)) + 1|0); + HEAP8[$56>>0] = 0; + $57 = ((($6)) + 2|0); + HEAP8[$57>>0] = 0; + $58 = ((($6)) + 3|0); + HEAP8[$58>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(4067,180,20,20,$$byval_copy8); + $59 = HEAP32[4188]|0; + $60 = ($59|0)==(0); + $61 = HEAP32[3]|0; + $62 = (($61) + -40)|0; + if ($60) { + HEAP8[$7>>0] = 0; + $90 = ((($7)) + 1|0); + HEAP8[$90>>0] = 0; + $91 = ((($7)) + 2|0); + HEAP8[$91>>0] = 0; + $92 = ((($7)) + 3|0); + HEAP8[$92>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(4103,290,$62,20,$$byval_copy8); + _EndDrawing(); + STACKTOP = sp;return; + } else { + HEAP8[$8>>0] = -11; + $93 = ((($8)) + 1|0); + HEAP8[$93>>0] = -11; + $94 = ((($8)) + 2|0); + HEAP8[$94>>0] = -11; + $95 = ((($8)) + 3|0); + HEAP8[$95>>0] = -1; + ;HEAP8[$$byval_copy8>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy8+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy8+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy8+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(4118,280,$62,20,$$byval_copy8); + _EndDrawing(); + STACKTOP = sp;return; + } +} +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} +function _VectorLength($0) { + $0 = $0|0; + var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = +HEAPF32[$0>>2]; + $2 = $1 * $1; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = $4 * $4; + $6 = $2 + $5; + $7 = ((($0)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $8 * $8; + $10 = $6 + $9; + $11 = (+Math_sqrt((+$10))); + return (+$11); +} +function _VectorNormalize($0) { + $0 = $0|0; + var $$byval_copy = 0, $$op = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0; + $1 = (+_VectorLength($$byval_copy)); + $2 = $1 == 0.0; + $$op = 1.0 / $1; + $3 = $2 ? 1.0 : $$op; + $4 = +HEAPF32[$0>>2]; + $5 = $4 * $3; + HEAPF32[$0>>2] = $5; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = $3 * $7; + HEAPF32[$6>>2] = $8; + $9 = ((($0)) + 8|0); + $10 = +HEAPF32[$9>>2]; + $11 = $3 * $10; + HEAPF32[$9>>2] = $11; + STACKTOP = sp;return; +} +function _VectorTransform($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0; + var $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0.0, $44 = 0.0, $45 = 0, $46 = 0.0; + var $47 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = ((($0)) + 4|0); + $4 = +HEAPF32[$3>>2]; + $5 = ((($0)) + 8|0); + $6 = +HEAPF32[$5>>2]; + $7 = +HEAPF32[$1>>2]; + $8 = $2 * $7; + $9 = ((($1)) + 4|0); + $10 = +HEAPF32[$9>>2]; + $11 = $4 * $10; + $12 = $8 + $11; + $13 = ((($1)) + 8|0); + $14 = +HEAPF32[$13>>2]; + $15 = $6 * $14; + $16 = $12 + $15; + $17 = ((($1)) + 12|0); + $18 = +HEAPF32[$17>>2]; + $19 = $18 + $16; + HEAPF32[$0>>2] = $19; + $20 = ((($1)) + 16|0); + $21 = +HEAPF32[$20>>2]; + $22 = $2 * $21; + $23 = ((($1)) + 20|0); + $24 = +HEAPF32[$23>>2]; + $25 = $4 * $24; + $26 = $22 + $25; + $27 = ((($1)) + 24|0); + $28 = +HEAPF32[$27>>2]; + $29 = $6 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 + $30; + HEAPF32[$3>>2] = $33; + $34 = ((($1)) + 32|0); + $35 = +HEAPF32[$34>>2]; + $36 = $2 * $35; + $37 = ((($1)) + 36|0); + $38 = +HEAPF32[$37>>2]; + $39 = $4 * $38; + $40 = $36 + $39; + $41 = ((($1)) + 40|0); + $42 = +HEAPF32[$41>>2]; + $43 = $6 * $42; + $44 = $40 + $43; + $45 = ((($1)) + 44|0); + $46 = +HEAPF32[$45>>2]; + $47 = $46 + $44; + HEAPF32[$5>>2] = $47; + return; +} +function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($0)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($0)) + 24|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 28|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($0)) + 32|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($0)) + 44|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($0)) + 48|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($0)) + 52|0); + $22 = HEAP32[$21>>2]|0; + $23 = ((($0)) + 56|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$1>>2] = $8; + HEAP32[$3>>2] = $14; + HEAP32[$5>>2] = $20; + HEAP32[$7>>2] = $2; + HEAP32[$9>>2] = $16; + HEAP32[$11>>2] = $22; + HEAP32[$13>>2] = $4; + HEAP32[$15>>2] = $10; + HEAP32[$17>>2] = $24; + HEAP32[$19>>2] = $6; + HEAP32[$21>>2] = $12; + HEAP32[$23>>2] = $18; + return; +} +function _MatrixIdentity($0) { + $0 = $0|0; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = 1.0; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = 1.0; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixTranslate($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 1.0; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + ;HEAP32[$$sroa$4$0$$sroa_idx2>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+4>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+8>>2]=0|0;HEAP32[$$sroa$4$0$$sroa_idx2+12>>2]=0|0; + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = 1.0; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + ;HEAP32[$$sroa$9$0$$sroa_idx12>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+4>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+8>>2]=0|0;HEAP32[$$sroa$9$0$$sroa_idx12+12>>2]=0|0; + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = 1.0; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = 0.0; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $2; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $3; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = 1.0; + return; +} +function _MatrixRotate($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$ = 0.0, $$221 = 0.0, $$222 = 0.0, $$sroa$10$0$$sroa_idx199 = 0, $$sroa$11$0$$sroa_idx201 = 0, $$sroa$12$0$$sroa_idx203 = 0, $$sroa$13$0$$sroa_idx205 = 0, $$sroa$14$0$$sroa_idx207 = 0, $$sroa$15$0$$sroa_idx209 = 0, $$sroa$16$0$$sroa_idx211 = 0, $$sroa$17$0$$sroa_idx213 = 0, $$sroa$18$0$$sroa_idx215 = 0, $$sroa$4$0$$sroa_idx187 = 0, $$sroa$5$0$$sroa_idx189 = 0, $$sroa$6$0$$sroa_idx191 = 0, $$sroa$7$0$$sroa_idx193 = 0, $$sroa$8$0$$sroa_idx195 = 0, $$sroa$9$0$$sroa_idx197 = 0, $10 = 0.0, $100 = 0.0; + var $101 = 0.0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0.0, $106 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0.0; + var $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0; + var $138 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0; + var $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0; + var $50 = 0.0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0.0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0; + var $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0; + var $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $3 = sp; + _MatrixIdentity($3); + $4 = +HEAPF32[$1>>2]; + $5 = ((($1)) + 4|0); + $6 = +HEAPF32[$5>>2]; + $7 = ((($1)) + 8|0); + $8 = +HEAPF32[$7>>2]; + $9 = $4 * $4; + $10 = $6 * $6; + $11 = $9 + $10; + $12 = $8 * $8; + $13 = $11 + $12; + $14 = (+Math_sqrt((+$13))); + $15 = $14 != 1.0; + $16 = $14 != 0.0; + $or$cond = $15 & $16; + $17 = 1.0 / $14; + $18 = $4 * $17; + $19 = $6 * $17; + $20 = $8 * $17; + $$ = $or$cond ? $20 : $8; + $$221 = $or$cond ? $19 : $6; + $$222 = $or$cond ? $18 : $4; + $21 = (+Math_sin((+$2))); + $22 = (+Math_cos((+$2))); + $23 = 1.0 - $22; + $24 = +HEAPF32[$3>>2]; + $25 = ((($3)) + 16|0); + $26 = +HEAPF32[$25>>2]; + $27 = ((($3)) + 32|0); + $28 = +HEAPF32[$27>>2]; + $29 = ((($3)) + 48|0); + $30 = +HEAPF32[$29>>2]; + $31 = ((($3)) + 4|0); + $32 = +HEAPF32[$31>>2]; + $33 = ((($3)) + 20|0); + $34 = +HEAPF32[$33>>2]; + $35 = ((($3)) + 36|0); + $36 = +HEAPF32[$35>>2]; + $37 = ((($3)) + 52|0); + $38 = +HEAPF32[$37>>2]; + $39 = ((($3)) + 8|0); + $40 = +HEAPF32[$39>>2]; + $41 = ((($3)) + 24|0); + $42 = +HEAPF32[$41>>2]; + $43 = ((($3)) + 40|0); + $44 = +HEAPF32[$43>>2]; + $45 = ((($3)) + 56|0); + $46 = +HEAPF32[$45>>2]; + $47 = $$222 * $$222; + $48 = $23 * $47; + $49 = $22 + $48; + $50 = $$221 * $$222; + $51 = $23 * $50; + $52 = $21 * $$; + $53 = $52 + $51; + $54 = $$ * $$222; + $55 = $23 * $54; + $56 = $21 * $$221; + $57 = $55 - $56; + $58 = $51 - $52; + $59 = $$221 * $$221; + $60 = $23 * $59; + $61 = $22 + $60; + $62 = $$ * $$221; + $63 = $23 * $62; + $64 = $21 * $$222; + $65 = $64 + $63; + $66 = $56 + $55; + $67 = $63 - $64; + $68 = $$ * $$; + $69 = $23 * $68; + $70 = $22 + $69; + $71 = $24 * $49; + $72 = $53 * $32; + $73 = $71 + $72; + $74 = $57 * $40; + $75 = $73 + $74; + $76 = $26 * $49; + $77 = $53 * $34; + $78 = $76 + $77; + $79 = $57 * $42; + $80 = $78 + $79; + $81 = $28 * $49; + $82 = $53 * $36; + $83 = $81 + $82; + $84 = $57 * $44; + $85 = $83 + $84; + $86 = $30 * $49; + $87 = $53 * $38; + $88 = $86 + $87; + $89 = $57 * $46; + $90 = $88 + $89; + $91 = $24 * $58; + $92 = $61 * $32; + $93 = $91 + $92; + $94 = $65 * $40; + $95 = $93 + $94; + $96 = $26 * $58; + $97 = $61 * $34; + $98 = $96 + $97; + $99 = $65 * $42; + $100 = $98 + $99; + $101 = $28 * $58; + $102 = $61 * $36; + $103 = $101 + $102; + $104 = $65 * $44; + $105 = $103 + $104; + $106 = $30 * $58; + $107 = $61 * $38; + $108 = $106 + $107; + $109 = $65 * $46; + $110 = $108 + $109; + $111 = $24 * $66; + $112 = $67 * $32; + $113 = $111 + $112; + $114 = $70 * $40; + $115 = $113 + $114; + $116 = $26 * $66; + $117 = $67 * $34; + $118 = $116 + $117; + $119 = $70 * $42; + $120 = $118 + $119; + $121 = $28 * $66; + $122 = $67 * $36; + $123 = $121 + $122; + $124 = $70 * $44; + $125 = $123 + $124; + $126 = $30 * $66; + $127 = $67 * $38; + $128 = $126 + $127; + $129 = $70 * $46; + $130 = $128 + $129; + $131 = ((($3)) + 12|0); + $132 = HEAP32[$131>>2]|0; + $133 = ((($3)) + 28|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($3)) + 44|0); + $136 = HEAP32[$135>>2]|0; + $137 = ((($3)) + 60|0); + $138 = HEAP32[$137>>2]|0; + HEAPF32[$0>>2] = $75; + $$sroa$4$0$$sroa_idx187 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx187>>2] = $95; + $$sroa$5$0$$sroa_idx189 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx189>>2] = $115; + $$sroa$6$0$$sroa_idx191 = ((($0)) + 12|0); + HEAP32[$$sroa$6$0$$sroa_idx191>>2] = $132; + $$sroa$7$0$$sroa_idx193 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx193>>2] = $80; + $$sroa$8$0$$sroa_idx195 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx195>>2] = $100; + $$sroa$9$0$$sroa_idx197 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx197>>2] = $120; + $$sroa$10$0$$sroa_idx199 = ((($0)) + 28|0); + HEAP32[$$sroa$10$0$$sroa_idx199>>2] = $134; + $$sroa$11$0$$sroa_idx201 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx201>>2] = $85; + $$sroa$12$0$$sroa_idx203 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx203>>2] = $105; + $$sroa$13$0$$sroa_idx205 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx205>>2] = $125; + $$sroa$14$0$$sroa_idx207 = ((($0)) + 44|0); + HEAP32[$$sroa$14$0$$sroa_idx207>>2] = $136; + $$sroa$15$0$$sroa_idx209 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx209>>2] = $90; + $$sroa$16$0$$sroa_idx211 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx211>>2] = $110; + $$sroa$17$0$$sroa_idx213 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx213>>2] = $130; + $$sroa$18$0$$sroa_idx215 = ((($0)) + 60|0); + HEAP32[$$sroa$18$0$$sroa_idx215>>2] = $138; + STACKTOP = sp;return; +} +function _MatrixScale($0,$1,$2,$3) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$sroa$5$0$$sroa_idx = 0, $$sroa$55$0$$sroa_idx6 = 0, $$sroa$6$0$$sroa_idx = 0, $$sroa$611$0$$sroa_idx12 = 0, $$sroa$7$0$$sroa_idx = 0, $$sroa$717$0$$sroa_idx18 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = $1; + $$sroa$5$0$$sroa_idx = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$5$0$$sroa_idx+12>>2]=0|0; + $$sroa$55$0$$sroa_idx6 = ((($0)) + 20|0); + HEAPF32[$$sroa$55$0$$sroa_idx6>>2] = $2; + $$sroa$6$0$$sroa_idx = ((($0)) + 24|0); + ;HEAP32[$$sroa$6$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$6$0$$sroa_idx+12>>2]=0|0; + $$sroa$611$0$$sroa_idx12 = ((($0)) + 40|0); + HEAPF32[$$sroa$611$0$$sroa_idx12>>2] = $3; + $$sroa$7$0$$sroa_idx = ((($0)) + 44|0); + ;HEAP32[$$sroa$7$0$$sroa_idx>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+4>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+8>>2]=0|0;HEAP32[$$sroa$7$0$$sroa_idx+12>>2]=0|0; + $$sroa$717$0$$sroa_idx18 = ((($0)) + 60|0); + HEAPF32[$$sroa$717$0$$sroa_idx18>>2] = 1.0; + return; +} +function _MatrixMultiply($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sroa$10$0$$sroa_idx14 = 0, $$sroa$11$0$$sroa_idx16 = 0, $$sroa$12$0$$sroa_idx18 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$14$0$$sroa_idx22 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$17$0$$sroa_idx28 = 0, $$sroa$18$0$$sroa_idx30 = 0, $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $$sroa$8$0$$sroa_idx10 = 0, $$sroa$9$0$$sroa_idx12 = 0, $10 = 0.0, $100 = 0.0, $101 = 0.0, $102 = 0.0, $103 = 0.0; + var $104 = 0.0, $105 = 0, $106 = 0.0, $107 = 0.0, $108 = 0, $109 = 0.0, $11 = 0.0, $110 = 0.0, $111 = 0.0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0, $117 = 0.0, $118 = 0.0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0; + var $122 = 0.0, $123 = 0.0, $124 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $128 = 0.0, $129 = 0.0, $13 = 0.0, $130 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $137 = 0.0, $138 = 0.0, $139 = 0.0, $14 = 0; + var $140 = 0.0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0, $149 = 0.0, $15 = 0.0, $150 = 0.0, $151 = 0.0, $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0; + var $159 = 0.0, $16 = 0.0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0.0, $17 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $175 = 0.0, $176 = 0.0; + var $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0; + var $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0.0, $48 = 0.0, $49 = 0.0, $5 = 0.0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0; + var $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0, $7 = 0.0, $70 = 0.0, $71 = 0.0, $72 = 0; + var $73 = 0.0, $74 = 0.0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $90 = 0.0; + var $91 = 0.0, $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $3 = +HEAPF32[$2>>2]; + $4 = +HEAPF32[$1>>2]; + $5 = $3 * $4; + $6 = ((($2)) + 16|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 * $9; + $11 = $5 + $10; + $12 = ((($2)) + 32|0); + $13 = +HEAPF32[$12>>2]; + $14 = ((($1)) + 8|0); + $15 = +HEAPF32[$14>>2]; + $16 = $13 * $15; + $17 = $11 + $16; + $18 = ((($2)) + 48|0); + $19 = +HEAPF32[$18>>2]; + $20 = ((($1)) + 12|0); + $21 = +HEAPF32[$20>>2]; + $22 = $19 * $21; + $23 = $17 + $22; + $24 = ((($1)) + 16|0); + $25 = +HEAPF32[$24>>2]; + $26 = $3 * $25; + $27 = ((($1)) + 20|0); + $28 = +HEAPF32[$27>>2]; + $29 = $7 * $28; + $30 = $26 + $29; + $31 = ((($1)) + 24|0); + $32 = +HEAPF32[$31>>2]; + $33 = $13 * $32; + $34 = $30 + $33; + $35 = ((($1)) + 28|0); + $36 = +HEAPF32[$35>>2]; + $37 = $19 * $36; + $38 = $34 + $37; + $39 = ((($1)) + 32|0); + $40 = +HEAPF32[$39>>2]; + $41 = $3 * $40; + $42 = ((($1)) + 36|0); + $43 = +HEAPF32[$42>>2]; + $44 = $7 * $43; + $45 = $41 + $44; + $46 = ((($1)) + 40|0); + $47 = +HEAPF32[$46>>2]; + $48 = $13 * $47; + $49 = $45 + $48; + $50 = ((($1)) + 44|0); + $51 = +HEAPF32[$50>>2]; + $52 = $19 * $51; + $53 = $49 + $52; + $54 = ((($1)) + 48|0); + $55 = +HEAPF32[$54>>2]; + $56 = $3 * $55; + $57 = ((($1)) + 52|0); + $58 = +HEAPF32[$57>>2]; + $59 = $7 * $58; + $60 = $56 + $59; + $61 = ((($1)) + 56|0); + $62 = +HEAPF32[$61>>2]; + $63 = $13 * $62; + $64 = $60 + $63; + $65 = ((($1)) + 60|0); + $66 = +HEAPF32[$65>>2]; + $67 = $19 * $66; + $68 = $64 + $67; + $69 = ((($2)) + 4|0); + $70 = +HEAPF32[$69>>2]; + $71 = $4 * $70; + $72 = ((($2)) + 20|0); + $73 = +HEAPF32[$72>>2]; + $74 = $9 * $73; + $75 = $71 + $74; + $76 = ((($2)) + 36|0); + $77 = +HEAPF32[$76>>2]; + $78 = $15 * $77; + $79 = $75 + $78; + $80 = ((($2)) + 52|0); + $81 = +HEAPF32[$80>>2]; + $82 = $21 * $81; + $83 = $79 + $82; + $84 = $25 * $70; + $85 = $28 * $73; + $86 = $84 + $85; + $87 = $32 * $77; + $88 = $86 + $87; + $89 = $36 * $81; + $90 = $88 + $89; + $91 = $40 * $70; + $92 = $43 * $73; + $93 = $91 + $92; + $94 = $47 * $77; + $95 = $93 + $94; + $96 = $51 * $81; + $97 = $95 + $96; + $98 = $55 * $70; + $99 = $58 * $73; + $100 = $98 + $99; + $101 = $62 * $77; + $102 = $100 + $101; + $103 = $66 * $81; + $104 = $102 + $103; + $105 = ((($2)) + 8|0); + $106 = +HEAPF32[$105>>2]; + $107 = $4 * $106; + $108 = ((($2)) + 24|0); + $109 = +HEAPF32[$108>>2]; + $110 = $9 * $109; + $111 = $107 + $110; + $112 = ((($2)) + 40|0); + $113 = +HEAPF32[$112>>2]; + $114 = $15 * $113; + $115 = $111 + $114; + $116 = ((($2)) + 56|0); + $117 = +HEAPF32[$116>>2]; + $118 = $21 * $117; + $119 = $115 + $118; + $120 = $25 * $106; + $121 = $28 * $109; + $122 = $120 + $121; + $123 = $32 * $113; + $124 = $122 + $123; + $125 = $36 * $117; + $126 = $124 + $125; + $127 = $40 * $106; + $128 = $43 * $109; + $129 = $127 + $128; + $130 = $47 * $113; + $131 = $129 + $130; + $132 = $51 * $117; + $133 = $131 + $132; + $134 = $55 * $106; + $135 = $58 * $109; + $136 = $134 + $135; + $137 = $62 * $113; + $138 = $136 + $137; + $139 = $66 * $117; + $140 = $138 + $139; + $141 = ((($2)) + 12|0); + $142 = +HEAPF32[$141>>2]; + $143 = $4 * $142; + $144 = ((($2)) + 28|0); + $145 = +HEAPF32[$144>>2]; + $146 = $9 * $145; + $147 = $143 + $146; + $148 = ((($2)) + 44|0); + $149 = +HEAPF32[$148>>2]; + $150 = $15 * $149; + $151 = $147 + $150; + $152 = ((($2)) + 60|0); + $153 = +HEAPF32[$152>>2]; + $154 = $21 * $153; + $155 = $151 + $154; + $156 = $25 * $142; + $157 = $28 * $145; + $158 = $156 + $157; + $159 = $32 * $149; + $160 = $158 + $159; + $161 = $36 * $153; + $162 = $160 + $161; + $163 = $40 * $142; + $164 = $43 * $145; + $165 = $163 + $164; + $166 = $47 * $149; + $167 = $165 + $166; + $168 = $51 * $153; + $169 = $167 + $168; + $170 = $55 * $142; + $171 = $58 * $145; + $172 = $170 + $171; + $173 = $62 * $149; + $174 = $172 + $173; + $175 = $66 * $153; + $176 = $174 + $175; + HEAPF32[$0>>2] = $23; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx2>>2] = $83; + $$sroa$5$0$$sroa_idx4 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx4>>2] = $119; + $$sroa$6$0$$sroa_idx6 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx6>>2] = $155; + $$sroa$7$0$$sroa_idx8 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx8>>2] = $38; + $$sroa$8$0$$sroa_idx10 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx10>>2] = $90; + $$sroa$9$0$$sroa_idx12 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx12>>2] = $126; + $$sroa$10$0$$sroa_idx14 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx14>>2] = $162; + $$sroa$11$0$$sroa_idx16 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx16>>2] = $53; + $$sroa$12$0$$sroa_idx18 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx18>>2] = $97; + $$sroa$13$0$$sroa_idx20 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx20>>2] = $133; + $$sroa$14$0$$sroa_idx22 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx22>>2] = $169; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx24>>2] = $68; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx26>>2] = $104; + $$sroa$17$0$$sroa_idx28 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx28>>2] = $140; + $$sroa$18$0$$sroa_idx30 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx30>>2] = $176; + return; +} +function _MatrixOrtho($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = +$6; + var $$sroa$10$0$$sroa_idx24 = 0, $$sroa$11$0$$sroa_idx26 = 0, $$sroa$12$0$$sroa_idx28 = 0, $$sroa$13$0$$sroa_idx30 = 0, $$sroa$14$0$$sroa_idx32 = 0, $$sroa$15$0$$sroa_idx34 = 0, $$sroa$16$0$$sroa_idx36 = 0, $$sroa$17$0$$sroa_idx38 = 0, $$sroa$18$0$$sroa_idx40 = 0, $$sroa$4$0$$sroa_idx12 = 0, $$sroa$5$0$$sroa_idx14 = 0, $$sroa$6$0$$sroa_idx16 = 0, $$sroa$7$0$$sroa_idx18 = 0, $$sroa$8$0$$sroa_idx20 = 0, $$sroa$9$0$$sroa_idx22 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0; + var $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0.0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0, $30 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0; + var sp = 0; + sp = STACKTOP; + $7 = $2 - $1; + $8 = $7; + $9 = $4 - $3; + $10 = $9; + $11 = $6 - $5; + $12 = $11; + $13 = 2.0 / $8; + $14 = 2.0 / $10; + $15 = -2.0 / $12; + $16 = $1 + $2; + $17 = -$16; + $18 = $8; + $19 = $17 / $18; + $20 = $19; + $21 = $3 + $4; + $22 = -$21; + $23 = $10; + $24 = $22 / $23; + $25 = $24; + $26 = $5 + $6; + $27 = -$26; + $28 = $12; + $29 = $27 / $28; + $30 = $29; + HEAPF32[$0>>2] = $13; + $$sroa$4$0$$sroa_idx12 = ((($0)) + 4|0); + HEAPF32[$$sroa$4$0$$sroa_idx12>>2] = 0.0; + $$sroa$5$0$$sroa_idx14 = ((($0)) + 8|0); + HEAPF32[$$sroa$5$0$$sroa_idx14>>2] = 0.0; + $$sroa$6$0$$sroa_idx16 = ((($0)) + 12|0); + HEAPF32[$$sroa$6$0$$sroa_idx16>>2] = $20; + $$sroa$7$0$$sroa_idx18 = ((($0)) + 16|0); + HEAPF32[$$sroa$7$0$$sroa_idx18>>2] = 0.0; + $$sroa$8$0$$sroa_idx20 = ((($0)) + 20|0); + HEAPF32[$$sroa$8$0$$sroa_idx20>>2] = $14; + $$sroa$9$0$$sroa_idx22 = ((($0)) + 24|0); + HEAPF32[$$sroa$9$0$$sroa_idx22>>2] = 0.0; + $$sroa$10$0$$sroa_idx24 = ((($0)) + 28|0); + HEAPF32[$$sroa$10$0$$sroa_idx24>>2] = $25; + $$sroa$11$0$$sroa_idx26 = ((($0)) + 32|0); + HEAPF32[$$sroa$11$0$$sroa_idx26>>2] = 0.0; + $$sroa$12$0$$sroa_idx28 = ((($0)) + 36|0); + HEAPF32[$$sroa$12$0$$sroa_idx28>>2] = 0.0; + $$sroa$13$0$$sroa_idx30 = ((($0)) + 40|0); + HEAPF32[$$sroa$13$0$$sroa_idx30>>2] = $15; + $$sroa$14$0$$sroa_idx32 = ((($0)) + 44|0); + HEAPF32[$$sroa$14$0$$sroa_idx32>>2] = $30; + $$sroa$15$0$$sroa_idx34 = ((($0)) + 48|0); + HEAPF32[$$sroa$15$0$$sroa_idx34>>2] = 0.0; + $$sroa$16$0$$sroa_idx36 = ((($0)) + 52|0); + HEAPF32[$$sroa$16$0$$sroa_idx36>>2] = 0.0; + $$sroa$17$0$$sroa_idx38 = ((($0)) + 56|0); + HEAPF32[$$sroa$17$0$$sroa_idx38>>2] = 0.0; + $$sroa$18$0$$sroa_idx40 = ((($0)) + 60|0); + HEAPF32[$$sroa$18$0$$sroa_idx40>>2] = 1.0; + return; +} +function _ProcessGestureEvent($0) { + $0 = $0|0; + var $$$sink = 0, $$sink = 0, $$sink10 = 0, $$sink11 = 0, $$sink16 = 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.0, $111 = 0.0; + var $112 = 0.0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0, $118 = 0, $119 = 0, $12 = 0.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.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0.0, $166 = 0; + var $167 = 0.0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0.0, $174 = 0.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, $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.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.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.0, $81 = 0; + var $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0.0, $87 = 0.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, $moveDownPosition$byval_copy11 = 0; + var $moveDownPosition2$byval_copy12 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $moveDownPosition2$byval_copy12 = sp + 8|0; + $moveDownPosition$byval_copy11 = sp; + $1 = ((($0)) + 4|0); + $2 = HEAP32[$1>>2]|0; + HEAP32[5595] = $2; + $3 = ($2|0)<(2); + $4 = HEAP32[$0>>2]|0; + $5 = ($4|0)==(1); + if (!($3)) { + if ($5) { + $88 = ((($0)) + 24|0); + $89 = $88; + $90 = $89; + $91 = HEAP32[$90>>2]|0; + $92 = (($89) + 4)|0; + $93 = $92; + $94 = HEAP32[$93>>2]|0; + $95 = 16480; + $96 = $95; + HEAP32[$96>>2] = $91; + $97 = (($95) + 4)|0; + $98 = $97; + HEAP32[$98>>2] = $94; + $99 = ((($0)) + 32|0); + $100 = $99; + $101 = $100; + $102 = HEAP32[$101>>2]|0; + $103 = (($100) + 4)|0; + $104 = $103; + $105 = HEAP32[$104>>2]|0; + $106 = 16520; + $107 = $106; + HEAP32[$107>>2] = $102; + $108 = (($106) + 4)|0; + $109 = $108; + HEAP32[$109>>2] = $105; + $110 = +HEAPF32[4130]; + $111 = +HEAPF32[4120]; + $112 = $110 - $111; + HEAPF32[4132] = $112; + $113 = +HEAPF32[(16524)>>2]; + $114 = +HEAPF32[(16484)>>2]; + $115 = $113 - $114; + HEAPF32[(16532)>>2] = $115; + HEAP32[5594] = 4; + STACKTOP = sp;return; + } + switch ($4|0) { + case 2: { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + HEAPF32[5600] = $116; + $117 = 16512; + $118 = $117; + $119 = HEAP32[$118>>2]|0; + $120 = (($117) + 4)|0; + $121 = $120; + $122 = HEAP32[$121>>2]|0; + $123 = 16480; + $124 = $123; + HEAP32[$124>>2] = $119; + $125 = (($123) + 4)|0; + $126 = $125; + HEAP32[$126>>2] = $122; + $127 = 16536; + $128 = $127; + $129 = HEAP32[$128>>2]|0; + $130 = (($127) + 4)|0; + $131 = $130; + $132 = HEAP32[$131>>2]|0; + $133 = 16520; + $134 = $133; + HEAP32[$134>>2] = $129; + $135 = (($133) + 4)|0; + $136 = $135; + HEAP32[$136>>2] = $132; + $137 = ((($0)) + 24|0); + $138 = $137; + $139 = $138; + $140 = HEAP32[$139>>2]|0; + $141 = (($138) + 4)|0; + $142 = $141; + $143 = HEAP32[$142>>2]|0; + $144 = 16512; + $145 = $144; + HEAP32[$145>>2] = $140; + $146 = (($144) + 4)|0; + $147 = $146; + HEAP32[$147>>2] = $143; + $148 = ((($0)) + 32|0); + $149 = $148; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = (($149) + 4)|0; + $153 = $152; + $154 = HEAP32[$153>>2]|0; + $155 = 16536; + $156 = $155; + HEAP32[$156>>2] = $151; + $157 = (($155) + 4)|0; + $158 = $157; + HEAP32[$158>>2] = $154; + $159 = +HEAPF32[4134]; + $160 = +HEAPF32[4128]; + $161 = $159 - $160; + HEAPF32[4132] = $161; + $162 = +HEAPF32[(16540)>>2]; + $163 = +HEAPF32[(16516)>>2]; + $164 = $162 - $163; + HEAPF32[(16532)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16512+4>>2]|0; + $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $166 = !($165 >= 0.004999999888241291); + if ($166) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16520>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16520+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $168 = !($167 >= 0.004999999888241291); + if ($168) { + $$sink16 = 4; + } else { + label = 29; + } + } else { + label = 29; + } + if ((label|0) == 29) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $170 = +HEAPF32[5600]; + $171 = $169 - $170; + $172 = $171 < 0.0; + $$sink11 = $172 ? 256 : 512; + $$sink16 = $$sink11; + } + HEAP32[5594] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16536>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16536+4>>2]|0; + $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $174 = 360.0 - $173; + HEAPF32[5601] = $174; + STACKTOP = sp;return; + break; + } + case 0: { + HEAPF32[5600] = 0.0; + HEAPF32[5601] = 0.0; + HEAPF32[4132] = 0.0; + HEAPF32[(16532)>>2] = 0.0; + HEAP32[5595] = 0; + HEAP32[5594] = 0; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } + } + if ($5) { + $6 = HEAP32[5596]|0; + $7 = (($6) + 1)|0; + HEAP32[5596] = $7; + $8 = HEAP32[5594]|0; + $9 = ($8|0)==(0); + $10 = ($6|0)>(0); + $or$cond = $10 & $9; + if ($or$cond) { + $11 = ((($0)) + 24|0); + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; + $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $13 = $12 < 0.029999999329447746; + if ($13) { + HEAP32[5594] = 2; + HEAP32[5596] = 0; + } else { + label = 6; + } + } else { + label = 6; + } + if ((label|0) == 6) { + HEAP32[5596] = 1; + HEAP32[5594] = 1; + } + $14 = ((($0)) + 24|0); + $15 = $14; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = 16480; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = 16488; + $26 = $25; + HEAP32[$26>>2] = $17; + $27 = (($25) + 4)|0; + $28 = $27; + HEAP32[$28>>2] = $20; + $29 = 16496; + $30 = $29; + HEAP32[$30>>2] = $17; + $31 = (($29) + 4)|0; + $32 = $31; + HEAP32[$32>>2] = $20; + $33 = ((($0)) + 8|0); + $34 = HEAP32[$33>>2]|0; + HEAP32[5] = $34; + HEAPF32[4126] = 0.0; + HEAPF32[(16508)>>2] = 0.0; + STACKTOP = sp;return; + } + switch ($4|0) { + case 0: { + $35 = HEAP32[5594]|0; + $36 = ($35|0)==(8); + if ($36) { + $37 = ((($0)) + 24|0); + $38 = $37; + $39 = $38; + $40 = HEAP32[$39>>2]|0; + $41 = (($38) + 4)|0; + $42 = $41; + $43 = HEAP32[$42>>2]|0; + $44 = 16496; + $45 = $44; + HEAP32[$45>>2] = $40; + $46 = (($44) + 4)|0; + $47 = $46; + HEAP32[$47>>2] = $43; + } + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; + $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $49 = $48 / 0.0; + HEAPF32[5597] = $49; + HEAP32[5598] = 0; + $50 = $49 > 5.0000002374872565E-4; + if ($50) { + $51 = HEAP32[5]|0; + $52 = ((($0)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51|0)==($53|0); + if ($54) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16496>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16496+4>>2]|0; + $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $56 = 360.0 - $55; + HEAPF32[5599] = $56; + $57 = $56 < 30.0; + $58 = $56 > 330.0; + $or$cond3 = $57 | $58; + if ($or$cond3) { + $$sink10 = 16; + } else { + $59 = $56 > 30.0; + $60 = $56 < 120.0; + $or$cond5 = $59 & $60; + if ($or$cond5) { + $$sink10 = 64; + } else { + $61 = $56 > 120.0; + $62 = $56 < 210.0; + $or$cond7 = $61 & $62; + $63 = $56 > 210.0; + $64 = $56 < 300.0; + $or$cond9 = $63 & $64; + $$sink = $or$cond9 ? 128 : 0; + $$$sink = $or$cond7 ? 32 : $$sink; + $$sink10 = $$$sink; + } + } + } else { + label = 16; + } + } else { + label = 16; + } + if ((label|0) == 16) { + HEAPF32[5597] = 0.0; + HEAPF32[5599] = 0.0; + $$sink10 = 0; + } + HEAP32[5594] = $$sink10; + HEAPF32[4122] = 0.0; + HEAPF32[(16492)>>2] = 0.0; + HEAP32[5595] = 0; + STACKTOP = sp;return; + break; + } + case 2: { + $65 = HEAP32[5598]|0; + $66 = ($65|0)==(0); + if ($66) { + HEAP32[5598] = 1; + } + $67 = ((($0)) + 24|0); + $68 = $67; + $69 = $68; + $70 = HEAP32[$69>>2]|0; + $71 = (($68) + 4)|0; + $72 = $71; + $73 = HEAP32[$72>>2]|0; + $74 = 16512; + $75 = $74; + HEAP32[$75>>2] = $70; + $76 = (($74) + 4)|0; + $77 = $76; + HEAP32[$77>>2] = $73; + $78 = HEAP32[5594]|0; + $79 = ($78|0)==(4); + if ($79) { + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16480>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16480+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16512+4>>2]|0; + $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); + $81 = !($80 >= 0.014999999664723873); + if (!($81)) { + HEAP32[5594] = 8; + } + } + $82 = +HEAPF32[4128]; + $83 = +HEAPF32[4122]; + $84 = $82 - $83; + HEAPF32[4126] = $84; + $85 = +HEAPF32[(16516)>>2]; + $86 = +HEAPF32[(16492)>>2]; + $87 = $85 - $86; + HEAPF32[(16508)>>2] = $87; + STACKTOP = sp;return; + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _UpdateGestures() { + var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5594]|0; + $$off = (($0) + -1)|0; + $1 = ($$off>>>0)<(2); + $2 = HEAP32[5595]|0; + $3 = ($2|0)<(2); + $or$cond3 = $1 & $3; + if ($or$cond3) { + HEAP32[5594] = 4; + } + $4 = HEAP32[5594]|0; + $5 = (($4) + -16)|0; + $6 = $5 >>> 4; + $7 = $5 << 28; + $8 = $6 | $7; + switch ($8|0) { + case 0: case 1: case 3: case 7: { + break; + } + default: { + return; + } + } + HEAP32[5594] = 0; + return; +} +function _GetMousePosition($0) { + $0 = $0|0; + var $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; + $1 = 16544; + $2 = $1; + $3 = HEAP32[$2>>2]|0; + $4 = (($1) + 4)|0; + $5 = $4; + $6 = HEAP32[$5>>2]|0; + $7 = $0; + $8 = $7; + HEAP32[$8>>2] = $3; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = $6; + return; +} +function _GetScreenWidth() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5604]|0; + return ($0|0); +} +function _GetScreenHeight() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5603]|0; + return ($0|0); +} +function _InitWindow($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 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; + _TraceLog(0,4136,$vararg_buffer); + HEAP32[5606] = $2; + _InitGraphicsDevice($0,$1); + _LoadDefaultFont(); + _InitTimer(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((4165|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((4165|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((4165|0),(0|0),1,(7|0))|0); + (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); + (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); + $3 = HEAP32[5604]|0; + $4 = (+($3|0)); + $5 = $4 * 0.5; + HEAPF32[4136] = $5; + $6 = HEAP32[5603]|0; + $7 = (+($6|0)); + $8 = $7 * 0.5; + HEAPF32[(16548)>>2] = $8; + $9 = HEAP32[5607]|0; + $10 = ($9|0)==(0); + if ($10) { + STACKTOP = sp;return; + } + _SetTargetFPS(60); + _LogoAnimation(); + STACKTOP = sp;return; +} +function _TraceLog($0,$1,$varargs) { + $0 = $0|0; + $1 = $1|0; + $varargs = $varargs|0; + var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $endptr = 0, $strlen = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $2 = sp; + switch ($0|0) { + case 0: { + ;HEAP8[16584>>0]=HEAP8[8665>>0]|0;HEAP8[16584+1>>0]=HEAP8[8665+1>>0]|0;HEAP8[16584+2>>0]=HEAP8[8665+2>>0]|0;HEAP8[16584+3>>0]=HEAP8[8665+3>>0]|0;HEAP8[16584+4>>0]=HEAP8[8665+4>>0]|0;HEAP8[16584+5>>0]=HEAP8[8665+5>>0]|0;HEAP8[16584+6>>0]=HEAP8[8665+6>>0]|0; + break; + } + case 1: { + $3 = 16584; + $4 = $3; + HEAP32[$4>>2] = 1330795077; + $5 = (($3) + 4)|0; + $6 = $5; + HEAP32[$6>>2] = 2112082; + break; + } + case 2: { + dest=16584; src=8672; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + break; + } + case 3: { + $7 = 16584; + $8 = $7; + HEAP32[$8>>2] = 1430406468; + $9 = (($7) + 4)|0; + $10 = $9; + HEAP32[$10>>2] = 2112071; + break; + } + default: { + } + } + (_strcat(16584,$1)|0); + $strlen = (_strlen(16584)|0); + $endptr = (16584 + ($strlen)|0); + HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; + HEAP32[$2>>2] = $varargs; + $11 = ($0|0)==(3); + if ($11) { + STACKTOP = sp;return; + } + (_vprintf(16584,$2)|0); + $12 = ($0|0)==(1); + if ($12) { + _exit(1); + // unreachable; + } else { + STACKTOP = sp;return; + } +} +function _InitGraphicsDevice($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$015 = 0, $$byval_copy = 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, $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; + var $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.0, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0.0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer18 = 0, $vararg_buffer22 = 0, $vararg_buffer3 = 0, $vararg_buffer6 = 0, $vararg_buffer8 = 0, $vararg_ptr13 = 0, $vararg_ptr17 = 0, $vararg_ptr21 = 0, $vararg_ptr5 = 0, dest = 0; + var label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $$byval_copy = sp + 136|0; + $vararg_buffer22 = sp + 64|0; + $vararg_buffer18 = sp + 56|0; + $vararg_buffer14 = sp + 48|0; + $vararg_buffer10 = sp + 40|0; + $vararg_buffer8 = sp + 32|0; + $vararg_buffer6 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 72|0; + $3 = sp + 140|0; + HEAP32[5604] = $0; + HEAP32[5603] = $1; + _MatrixIdentity($2); + dest=22504; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_glfwSetErrorCallback((2|0))|0); + $4 = (_glfwInit()|0); + $5 = ($4|0)==(0); + if ($5) { + _TraceLog(1,4807,$vararg_buffer); + } + $6 = HEAP32[5604]|0; + HEAP32[5642] = $6; + $7 = HEAP32[5603]|0; + HEAP32[5643] = $7; + _glfwDefaultWindowHints(); + $8 = HEAP8[25240]|0; + $9 = $8 & 4; + $10 = ($9<<24>>24)==(0); + if ($10) { + _glfwWindowHint(131075,0); + } else { + _glfwWindowHint(131075,1); + } + $11 = HEAP8[25240]|0; + $12 = $11 & 8; + $13 = ($12<<24>>24)==(0); + if (!($13)) { + _glfwWindowHint(131077,1); + } + $14 = HEAP8[25240]|0; + $15 = $14 & 32; + $16 = ($15<<24>>24)==(0); + if (!($16)) { + _glfwWindowHint(135181,4); + _TraceLog(0,4833,$vararg_buffer1); + } + $17 = (_rlGetVersion()|0); + $18 = ($17|0)==(2); + if ($18) { + _glfwWindowHint(139266,2); + _glfwWindowHint(139267,1); + } else { + $19 = (_rlGetVersion()|0); + $20 = ($19|0)==(3); + if ($20) { + _glfwWindowHint(139266,3); + _glfwWindowHint(139267,3); + _glfwWindowHint(139272,204801); + _glfwWindowHint(139270,0); + } + } + $21 = HEAP32[5644]|0; + $22 = ($21|0)==(0); + if ($22) { + $47 = HEAP32[5604]|0; + $48 = HEAP32[5603]|0; + $49 = HEAP32[5606]|0; + $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); + HEAP32[5602] = $50; + $51 = HEAP32[5604]|0; + HEAP32[5645] = $51; + $52 = HEAP32[5603]|0; + HEAP32[5646] = $52; + $54 = $50; + } else { + $23 = (_glfwGetPrimaryMonitor()|0); + $24 = (_glfwGetVideoModes(($23|0),($$byval_copy|0))|0); + $25 = HEAP32[$$byval_copy>>2]|0; + $26 = ($25|0)>(0); + L22: do { + if ($26) { + $27 = HEAP32[5604]|0; + $28 = HEAP32[$$byval_copy>>2]|0; + $29 = HEAP32[5603]|0; + $$015 = 0; + while(1) { + $30 = (($24) + (($$015*24)|0)|0); + $31 = HEAP32[$30>>2]|0; + $32 = ($31|0)<($27|0); + if (!($32)) { + $33 = (((($24) + (($$015*24)|0)|0)) + 4|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)<($29|0); + if (!($35)) { + break; + } + } + $36 = (($$015) + 1)|0; + $37 = ($36|0)<($28|0); + if ($37) { + $$015 = $36; + } else { + break L22; + } + } + HEAP32[5642] = $31; + HEAP32[5643] = $34; + } + } while(0); + $38 = HEAP32[5642]|0; + $39 = HEAP32[5643]|0; + HEAP32[$vararg_buffer3>>2] = $38; + $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr5>>2] = $39; + _TraceLog(2,4858,$vararg_buffer3); + $40 = HEAP32[5642]|0; + $41 = HEAP32[5643]|0; + _SetupFramebufferSize($40,$41); + $42 = HEAP32[5642]|0; + $43 = HEAP32[5643]|0; + $44 = HEAP32[5606]|0; + $45 = (_glfwGetPrimaryMonitor()|0); + $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); + HEAP32[5602] = $46; + $54 = $46; + } + $53 = ($54|0)==(0|0); + if ($53) { + _glfwTerminate(); + _TraceLog(1,4896,$vararg_buffer6); + } else { + _TraceLog(0,4929,$vararg_buffer8); + $55 = HEAP32[5645]|0; + $56 = HEAP32[5646]|0; + HEAP32[$vararg_buffer10>>2] = $55; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $56; + _TraceLog(0,4969,$vararg_buffer10); + $57 = HEAP32[5604]|0; + $58 = HEAP32[5603]|0; + HEAP32[$vararg_buffer14>>2] = $57; + $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); + HEAP32[$vararg_ptr17>>2] = $58; + _TraceLog(0,4990,$vararg_buffer14); + $59 = HEAP32[5647]|0; + $60 = HEAP32[5648]|0; + HEAP32[$vararg_buffer18>>2] = $59; + $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); + HEAP32[$vararg_ptr21>>2] = $60; + _TraceLog(0,5011,$vararg_buffer18); + } + $61 = HEAP32[5602]|0; + (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); + $62 = HEAP32[5602]|0; + (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); + $63 = HEAP32[5602]|0; + (_glfwSetKeyCallback(($63|0),(1|0))|0); + $64 = HEAP32[5602]|0; + (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); + $65 = HEAP32[5602]|0; + (_glfwSetCursorPosCallback(($65|0),(1|0))|0); + $66 = HEAP32[5602]|0; + (_glfwSetCharCallback(($66|0),(4|0))|0); + $67 = HEAP32[5602]|0; + (_glfwSetScrollCallback(($67|0),(2|0))|0); + $68 = HEAP32[5602]|0; + (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); + $69 = HEAP32[5602]|0; + _glfwMakeContextCurrent(($69|0)); + _glfwSwapInterval(0); + $70 = HEAP8[25240]|0; + $71 = $70 & 64; + $72 = ($71<<24>>24)==(0); + if ($72) { + $73 = HEAP32[5604]|0; + $74 = HEAP32[5603]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5645]|0; + $76 = HEAP32[5647]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5646]|0; + $80 = HEAP32[5648]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; + } + _glfwSwapInterval(1); + _TraceLog(0,5036,$vararg_buffer22); + $73 = HEAP32[5604]|0; + $74 = HEAP32[5603]|0; + _rlglInit($73,$74); + _SetupViewport(); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $75 = HEAP32[5645]|0; + $76 = HEAP32[5647]|0; + $77 = (($75) - ($76))|0; + $78 = (+($77|0)); + $79 = HEAP32[5646]|0; + $80 = HEAP32[5648]|0; + $81 = (($79) - ($80))|0; + $82 = (+($81|0)); + _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + HEAP8[$3>>0] = -11; + $83 = ((($3)) + 1|0); + HEAP8[$83>>0] = -11; + $84 = ((($3)) + 2|0); + HEAP8[$84>>0] = -11; + $85 = ((($3)) + 3|0); + HEAP8[$85>>0] = -1; + ;HEAP8[$$byval_copy>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy+3>>0]=HEAP8[$3+3>>0]|0; + _ClearBackground($$byval_copy); + STACKTOP = sp;return; +} +function _LoadDefaultFont() { + var $$ = 0, $$0101 = 0, $$090100 = 0, $$09299 = 0, $$095104 = 0, $$096103 = 0, $$097102 = 0, $$191 = 0, $$193 = 0, $$byval_copy1 = 0, $$lcssa = 0, $$sroa$0$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $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, $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, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy1 = sp + 44|0; + $vararg_buffer = sp; + $0 = sp + 4|0; + $1 = sp + 24|0; + HEAP32[(22472)>>2] = 224; + $2 = (_malloc(65536)|0); + _memset(($2|0),0,65536)|0; + $$095104 = 0;$$096103 = 0; + while(1) { + $3 = (24 + ($$095104<<2)|0); + $4 = HEAP32[$3>>2]|0; + $$097102 = 31; + while(1) { + $16 = 1 << $$097102; + $17 = $4 & $16; + $18 = ($17|0)==(0); + if (!($18)) { + $19 = (($$097102) + ($$096103))|0; + $$sroa$0$0$$sroa_idx = (($2) + ($19<<2)|0); + HEAP8[$$sroa$0$0$$sroa_idx>>0]=-1&255;HEAP8[$$sroa$0$0$$sroa_idx+1>>0]=(-1>>8)&255;HEAP8[$$sroa$0$0$$sroa_idx+2>>0]=(-1>>16)&255;HEAP8[$$sroa$0$0$$sroa_idx+3>>0]=-1>>24; + } + $20 = (($$097102) + -1)|0; + $21 = ($$097102|0)>(0); + if ($21) { + $$097102 = $20; + } else { + break; + } + } + $12 = (($$095104) + 1)|0; + $13 = ($$095104|0)>(511); + $$ = $13 ? 0 : $12; + $14 = (($$096103) + 32)|0; + $15 = ($14|0)<(16384); + if ($15) { + $$095104 = $$;$$096103 = $14; + } else { + break; + } + } + _LoadImageEx($0,$2,128,128); + _ImageFormat($0,2); + _free($2); + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _LoadTextureFromImage($1,$$byval_copy1); + ;HEAP32[22448>>2]=HEAP32[$1>>2]|0;HEAP32[22448+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[22448+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[22448+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[22448+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + _UnloadImage($$byval_copy1); + $5 = HEAP32[(22472)>>2]|0; + $6 = $5 << 5; + $7 = (_malloc($6)|0); + HEAP32[(22476)>>2] = $7; + $8 = ($5|0)>(0); + if (!($8)) { + $$lcssa = $7; + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(22468)>>2] = $23; + $24 = HEAP32[5612]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,4360,$vararg_buffer); + STACKTOP = sp;return; + } + $9 = HEAP32[(22452)>>2]|0; + $10 = HEAP32[(22472)>>2]|0; + $11 = HEAP32[(22476)>>2]|0; + $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; + while(1) { + $25 = (($$0101) + 32)|0; + $26 = (($27) + ($$0101<<5)|0); + HEAP32[$26>>2] = $25; + $28 = (((($27) + ($$0101<<5)|0)) + 4|0); + HEAP32[$28>>2] = $$090100; + $29 = ($$09299*11)|0; + $30 = (($29) + 1)|0; + $31 = (((($27) + ($$0101<<5)|0)) + 8|0); + HEAP32[$31>>2] = $30; + $32 = (2072 + ($$0101<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (((($27) + ($$0101<<5)|0)) + 12|0); + HEAP32[$34>>2] = $33; + $35 = (((($27) + ($$0101<<5)|0)) + 16|0); + HEAP32[$35>>2] = 10; + $36 = (($$090100) + 1)|0; + $37 = (($36) + ($33))|0; + $38 = ($37|0)<($9|0); + $39 = (($$09299) + 1)|0; + if ($38) { + $$191 = $37;$$193 = $$09299; + } else { + $40 = ($39*11)|0; + $41 = (($40) + 1)|0; + $42 = (($33) + 2)|0; + HEAP32[$28>>2] = 1; + HEAP32[$31>>2] = $41; + $$191 = $42;$$193 = $39; + } + $43 = (((($27) + ($$0101<<5)|0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = (((($27) + ($$0101<<5)|0)) + 24|0); + HEAP32[$44>>2] = 0; + $45 = (((($27) + ($$0101<<5)|0)) + 28|0); + HEAP32[$45>>2] = 0; + $46 = (($$0101) + 1)|0; + $47 = ($46|0)<($10|0); + if ($47) { + $$0101 = $46;$$090100 = $$191;$$09299 = $$193;$27 = $11; + } else { + $$lcssa = $11; + break; + } + } + $22 = ((($$lcssa)) + 16|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(22468)>>2] = $23; + $24 = HEAP32[5612]|0; + HEAP32[$vararg_buffer>>2] = $24; + _TraceLog(0,4360,$vararg_buffer); + STACKTOP = sp;return; +} +function _InitTimer() { + var $0 = 0, $1 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_time((0|0))|0); + _srand($0); + $1 = (+_GetTime()); + HEAPF64[2072] = $1; + return; +} +function _EmscriptenFullscreenChangeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $3 = HEAP32[$1>>2]|0; + $4 = ($3|0)==(0); + $5 = ((($1)) + 264|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 268|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 272|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($1)) + 276|0); + $12 = HEAP32[$11>>2]|0; + if ($4) { + HEAP32[$vararg_buffer4>>2] = $6; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $8; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $10; + $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); + HEAP32[$vararg_ptr9>>2] = $12; + _TraceLog(0,4293,$vararg_buffer4); + STACKTOP = sp;return 0; + } else { + HEAP32[$vararg_buffer>>2] = $6; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $8; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $10; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $12; + _TraceLog(0,4224,$vararg_buffer); + STACKTOP = sp;return 0; + } + return (0)|0; +} +function _EmscriptenKeyboardCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0|0)==(1); + if (!($3)) { + return 0; + } + $4 = ((($1)) + 32|0); + $5 = (_strcmp($4,4217)|0); + $6 = ($5|0)==(0); + if (!($6)) { + return 0; + } + (_emscripten_exit_pointerlock()|0); + return 0; +} +function _EmscriptenMouseCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0); + $3 = sp; + $4 = ($0|0)==(4); + if (!($4)) { + STACKTOP = sp;return 0; + } + (_emscripten_get_pointerlock_status(($3|0))|0); + $5 = HEAP32[$3>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + (_emscripten_request_pointerlock((0|0),1)|0); + } else { + (_emscripten_exit_pointerlock()|0); + (_emscripten_get_pointerlock_status(($3|0))|0); + } + STACKTOP = sp;return 0; +} +function _EmscriptenTouchCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$sink = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$03$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx2 = 0, $$sroa$24$0$$sroa_idx5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.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.0, $48 = 0.0, $49 = 0.0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0, $59 = 0.0, $6 = 0; + var $60 = 0.0, $61 = 0.0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + switch ($0|0) { + case 22: { + $$sink = 1; + label = 4; + break; + } + case 23: { + $$sink = 0; + label = 4; + break; + } + case 24: { + $$sink = 2; + label = 4; + break; + } + default: { + } + } + if ((label|0) == 4) { + HEAP32[$3>>2] = $$sink; + } + $4 = HEAP32[$1>>2]|0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = $4; + $6 = ((($1)) + 20|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($3)) + 8|0); + HEAP32[$8>>2] = $7; + $9 = ((($1)) + 72|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($3)) + 12|0); + HEAP32[$11>>2] = $10; + $12 = ((($1)) + 56|0); + $13 = HEAP32[$12>>2]|0; + $14 = (+($13|0)); + $15 = ((($1)) + 60|0); + $16 = HEAP32[$15>>2]|0; + $17 = (+($16|0)); + $$sroa$03$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$03$0$$sroa_idx>>2] = $14; + $$sroa$24$0$$sroa_idx5 = ((($3)) + 28|0); + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $17; + $18 = ((($1)) + 108|0); + $19 = HEAP32[$18>>2]|0; + $20 = (+($19|0)); + $21 = ((($1)) + 112|0); + $22 = HEAP32[$21>>2]|0; + $23 = (+($22|0)); + $$sroa$0$0$$sroa_idx = ((($3)) + 32|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $20; + $$sroa$2$0$$sroa_idx2 = ((($3)) + 36|0); + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $23; + $24 = ((($3)) + 24|0); + $25 = $24; + $26 = $25; + $27 = HEAP32[$26>>2]|0; + $28 = (($25) + 4)|0; + $29 = $28; + $30 = HEAP32[$29>>2]|0; + $31 = 16560; + $32 = $31; + HEAP32[$32>>2] = $27; + $33 = (($31) + 4)|0; + $34 = $33; + HEAP32[$34>>2] = $30; + $35 = ((($3)) + 32|0); + $36 = $35; + $37 = $36; + $38 = HEAP32[$37>>2]|0; + $39 = (($36) + 4)|0; + $40 = $39; + $41 = HEAP32[$40>>2]|0; + $42 = (16568); + $43 = $42; + HEAP32[$43>>2] = $38; + $44 = (($42) + 4)|0; + $45 = $44; + HEAP32[$45>>2] = $41; + $46 = (_GetScreenWidth()|0); + $47 = (+($46|0)); + $48 = +HEAPF32[$24>>2]; + $49 = $48 / $47; + HEAPF32[$24>>2] = $49; + $50 = (_GetScreenHeight()|0); + $51 = (+($50|0)); + $52 = +HEAPF32[$$sroa$24$0$$sroa_idx5>>2]; + $53 = $52 / $51; + HEAPF32[$$sroa$24$0$$sroa_idx5>>2] = $53; + $54 = (_GetScreenWidth()|0); + $55 = (+($54|0)); + $56 = +HEAPF32[$35>>2]; + $57 = $56 / $55; + HEAPF32[$35>>2] = $57; + $58 = (_GetScreenHeight()|0); + $59 = (+($58|0)); + $60 = +HEAPF32[$$sroa$2$0$$sroa_idx2>>2]; + $61 = $60 / $59; + HEAPF32[$$sroa$2$0$$sroa_idx2>>2] = $61; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return 1; +} +function _EmscriptenGamepadCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$sink = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($1)) + 1296|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0); + if ($5) { + label = 3; + } else { + $6 = ((($1)) + 1300|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)<(4); + if ($8) { + $$sink = 1; + } else { + label = 3; + } + } + if ((label|0) == 3) { + $$sink = 0; + } + $9 = ((($1)) + 1300|0); + $10 = HEAP32[$9>>2]|0; + $11 = (22432 + ($10<<2)|0); + HEAP32[$11>>2] = $$sink; + return 0; +} +function _SetTargetFPS($0) { + $0 = $0|0; + var $$ = 0.0, $$op = 0.0, $1 = 0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.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|0)<(1); + $2 = (+($0|0)); + $3 = 1.0 / $2; + $$ = $1 ? 0.0 : $3; + HEAPF64[2069] = $$; + $4 = $3; + $$op = $4 * 1000.0; + $5 = $$op; + $6 = $1 ? 0.0 : $5; + HEAPF64[$vararg_buffer>>3] = $6; + _TraceLog(0,4173,$vararg_buffer); + STACKTOP = sp;return; +} +function _LogoAnimation() { + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5607] = 0; + return; +} +function _GetTime() { + var $0 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (+_glfwGetTime()); + return (+$0); +} +function _LoadImageEx($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$03334 = 0, $$035 = 0, $$sroa$12$0$$sroa_idx21 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$16$0$$sroa_idx26 = 0, $$sroa$9$0$$sroa_idx18 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = $2 << 2; + $5 = Math_imul($4, $3)|0; + $6 = (_malloc($5)|0); + $7 = ($5|0)>(0); + if ($7) { + $8 = (($5) + -1)|0; + $9 = $8 >>> 2; + $$03334 = 0;$$035 = 0; + while(1) { + $10 = (($1) + ($$03334<<2)|0); + $11 = HEAP8[$10>>0]|0; + $12 = (($6) + ($$035)|0); + HEAP8[$12>>0] = $11; + $13 = (((($1) + ($$03334<<2)|0)) + 1|0); + $14 = HEAP8[$13>>0]|0; + $15 = $$035 | 1; + $16 = (($6) + ($15)|0); + HEAP8[$16>>0] = $14; + $17 = (((($1) + ($$03334<<2)|0)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = $$035 | 2; + $20 = (($6) + ($19)|0); + HEAP8[$20>>0] = $18; + $21 = (((($1) + ($$03334<<2)|0)) + 3|0); + $22 = HEAP8[$21>>0]|0; + $23 = $$035 | 3; + $24 = (($6) + ($23)|0); + HEAP8[$24>>0] = $22; + $25 = (($$03334) + 1)|0; + $26 = (($$035) + 4)|0; + $exitcond = ($$03334|0)==($9|0); + if ($exitcond) { + break; + } else { + $$03334 = $25;$$035 = $26; + } + } + } + HEAP32[$0>>2] = $6; + $$sroa$9$0$$sroa_idx18 = ((($0)) + 4|0); + HEAP32[$$sroa$9$0$$sroa_idx18>>2] = $2; + $$sroa$12$0$$sroa_idx21 = ((($0)) + 8|0); + HEAP32[$$sroa$12$0$$sroa_idx21>>2] = $3; + $$sroa$15$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$15$0$$sroa_idx24>>2] = 1; + $$sroa$16$0$$sroa_idx26 = ((($0)) + 16|0); + HEAP32[$$sroa$16$0$$sroa_idx26>>2] = 7; + return; +} +function _ImageFormat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166199 = 0, $$0167197 = 0, $$0168195 = 0, $$0169192 = 0, $$0170190 = 0, $$0171188 = 0, $$0172189 = 0, $$0202 = 0, $$1194 = 0, $$2201 = 0, $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0.0, $105 = 0, $106 = 0, $107 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0; + var $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0.0, $17 = 0, $170 = 0.0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0.0, $176 = 0.0, $177 = 0.0, $178 = 0, $179 = 0, $18 = 0; + var $180 = 0, $181 = 0.0, $182 = 0.0, $183 = 0.0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0.0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0; + var $199 = 0, $2 = 0, $20 = 0.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, $214 = 0, $215 = 0; + var $216 = 0, $217 = 0, $218 = 0.0, $219 = 0.0, $22 = 0, $220 = 0.0, $221 = 0, $222 = 0, $223 = 0, $224 = 0.0, $225 = 0.0, $226 = 0.0, $227 = 0, $228 = 0, $229 = 0, $23 = 0.0, $230 = 0.0, $231 = 0.0, $232 = 0.0, $233 = 0; + var $234 = 0, $235 = 0, $236 = 0.0, $237 = 0.0, $238 = 0.0, $239 = 0, $24 = 0.0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0.0, $250 = 0, $251 = 0; + var $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, $269 = 0, $27 = 0; + var $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0.0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0; + var $289 = 0, $29 = 0.0, $290 = 0, $3 = 0, $30 = 0.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, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0, $55 = 0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0, $61 = 0.0, $62 = 0.0; + var $63 = 0.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, $79 = 0, $8 = 0, $80 = 0; + var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0.0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $97 = 0.0, $98 = 0.0, $99 = 0; + var $or$cond = 0, $roundf = 0.0, $roundf173 = 0.0, $roundf174 = 0.0, $roundf175 = 0.0, $roundf176 = 0.0, $roundf177 = 0.0, $roundf178 = 0.0, $roundf179 = 0.0, $roundf180 = 0.0, $roundf181 = 0.0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp + 4|0; + $vararg_buffer = sp; + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)==($1|0); + if ($4) { + STACKTOP = sp;return; + } + $5 = ($3|0)<(8); + $6 = ($1|0)<(8); + $or$cond = $6 & $5; + if (!($or$cond)) { + _TraceLog(2,4707,$vararg_buffer); + STACKTOP = sp;return; + } + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; + $7 = (_GetImageData($$byval_copy)|0); + $8 = HEAP32[$0>>2]|0; + _free($8); + HEAP32[$2>>2] = $1; + switch ($1|0) { + case 1: { + $9 = ((($0)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 8|0); + $12 = HEAP32[$11>>2]|0; + $13 = Math_imul($12, $10)|0; + $14 = (_malloc($13)|0); + HEAP32[$0>>2] = $14; + $15 = Math_imul($12, $10)|0; + $16 = ($15|0)>(0); + if ($16) { + $$0171188 = 0; + while(1) { + $17 = (($7) + ($$0171188<<2)|0); + $18 = HEAP8[$17>>0]|0; + $19 = (+($18&255)); + $20 = $19 * 0.29899999499320984; + $21 = (((($7) + ($$0171188<<2)|0)) + 1|0); + $22 = HEAP8[$21>>0]|0; + $23 = (+($22&255)); + $24 = $23 * 0.58700001239776611; + $25 = $20 + $24; + $26 = (((($7) + ($$0171188<<2)|0)) + 2|0); + $27 = HEAP8[$26>>0]|0; + $28 = (+($27&255)); + $29 = $28 * 0.11400000005960464; + $30 = $25 + $29; + $31 = (~~(($30))&255); + $32 = HEAP32[$0>>2]|0; + $33 = (($32) + ($$0171188)|0); + HEAP8[$33>>0] = $31; + $34 = (($$0171188) + 1)|0; + $35 = HEAP32[$9>>2]|0; + $36 = HEAP32[$11>>2]|0; + $37 = Math_imul($36, $35)|0; + $38 = ($34|0)<($37|0); + if ($38) { + $$0171188 = $34; + } else { + break; + } + } + } + break; + } + case 2: { + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = ((($0)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = $40 << 1; + $44 = Math_imul($43, $42)|0; + $45 = (_malloc($44)|0); + HEAP32[$0>>2] = $45; + $46 = HEAP32[$39>>2]|0; + $47 = $46 << 1; + $48 = Math_imul($47, $42)|0; + $49 = ($48|0)>(0); + if ($49) { + $$0170190 = 0;$$0172189 = 0; + while(1) { + $50 = (($7) + ($$0172189<<2)|0); + $51 = HEAP8[$50>>0]|0; + $52 = (+($51&255)); + $53 = $52 * 0.29899999499320984; + $54 = (((($7) + ($$0172189<<2)|0)) + 1|0); + $55 = HEAP8[$54>>0]|0; + $56 = (+($55&255)); + $57 = $56 * 0.58700001239776611; + $58 = $53 + $57; + $59 = (((($7) + ($$0172189<<2)|0)) + 2|0); + $60 = HEAP8[$59>>0]|0; + $61 = (+($60&255)); + $62 = $61 * 0.11400000005960464; + $63 = $58 + $62; + $64 = (~~(($63))&255); + $65 = HEAP32[$0>>2]|0; + $66 = (($65) + ($$0170190)|0); + HEAP8[$66>>0] = $64; + $67 = (((($7) + ($$0172189<<2)|0)) + 3|0); + $68 = HEAP8[$67>>0]|0; + $69 = HEAP32[$0>>2]|0; + $70 = $$0170190 | 1; + $71 = (($69) + ($70)|0); + HEAP8[$71>>0] = $68; + $72 = (($$0172189) + 1)|0; + $73 = (($$0170190) + 2)|0; + $74 = HEAP32[$39>>2]|0; + $75 = HEAP32[$41>>2]|0; + $76 = $74 << 1; + $77 = Math_imul($76, $75)|0; + $78 = ($73|0)<($77|0); + if ($78) { + $$0170190 = $73;$$0172189 = $72; + } else { + break; + } + } + } + break; + } + case 3: { + $79 = ((($0)) + 4|0); + $80 = HEAP32[$79>>2]|0; + $81 = ((($0)) + 8|0); + $82 = HEAP32[$81>>2]|0; + $83 = $80 << 1; + $84 = Math_imul($83, $82)|0; + $85 = (_malloc($84)|0); + HEAP32[$0>>2] = $85; + $86 = HEAP32[$79>>2]|0; + $87 = Math_imul($82, $86)|0; + $88 = ($87|0)>(0); + if ($88) { + $89 = HEAP8[$7>>0]|0; + $90 = (+($89&255)); + $91 = $90 * 31.0; + $92 = $91 / 255.0; + $roundf179 = (+_roundf((+$92))); + $93 = (~~(($roundf179))&255); + $94 = ((($7)) + 1|0); + $95 = HEAP8[$94>>0]|0; + $96 = (+($95&255)); + $97 = $96 * 63.0; + $98 = $97 / 255.0; + $roundf180 = (+_roundf((+$98))); + $99 = (~~(($roundf180))&255); + $100 = ((($7)) + 2|0); + $101 = HEAP8[$100>>0]|0; + $102 = (+($101&255)); + $103 = $102 * 31.0; + $104 = $103 / 255.0; + $roundf181 = (+_roundf((+$104))); + $105 = (~~(($roundf181))&255); + $106 = $93&255; + $107 = $106 << 11; + $108 = $99&255; + $109 = $108 << 5; + $110 = $109 | $107; + $111 = $105&255; + $112 = $110 | $111; + $113 = $112&65535; + $114 = HEAP32[$0>>2]|0; + $115 = HEAP32[$79>>2]|0; + $116 = HEAP32[$81>>2]|0; + $117 = Math_imul($116, $115)|0; + $$0169192 = 0; + while(1) { + $118 = (($114) + ($$0169192<<1)|0); + HEAP16[$118>>1] = $113; + $119 = (($$0169192) + 1)|0; + $120 = ($119|0)<($117|0); + if ($120) { + $$0169192 = $119; + } else { + break; + } + } + } + break; + } + case 4: { + $121 = ((($0)) + 4|0); + $122 = HEAP32[$121>>2]|0; + $123 = ((($0)) + 8|0); + $124 = HEAP32[$123>>2]|0; + $125 = ($122*3)|0; + $126 = Math_imul($125, $124)|0; + $127 = (_malloc($126)|0); + HEAP32[$0>>2] = $127; + $128 = HEAP32[$121>>2]|0; + $129 = ($128*3)|0; + $130 = Math_imul($129, $124)|0; + $131 = ($130|0)>(0); + if ($131) { + $$0168195 = 0;$$1194 = 0; + while(1) { + $132 = (($7) + ($$1194<<2)|0); + $133 = HEAP8[$132>>0]|0; + $134 = HEAP32[$0>>2]|0; + $135 = (($134) + ($$0168195)|0); + HEAP8[$135>>0] = $133; + $136 = (((($7) + ($$1194<<2)|0)) + 1|0); + $137 = HEAP8[$136>>0]|0; + $138 = HEAP32[$0>>2]|0; + $139 = (($$0168195) + 1)|0; + $140 = (($138) + ($139)|0); + HEAP8[$140>>0] = $137; + $141 = (((($7) + ($$1194<<2)|0)) + 2|0); + $142 = HEAP8[$141>>0]|0; + $143 = HEAP32[$0>>2]|0; + $144 = (($$0168195) + 2)|0; + $145 = (($143) + ($144)|0); + HEAP8[$145>>0] = $142; + $146 = (($$1194) + 1)|0; + $147 = (($$0168195) + 3)|0; + $148 = HEAP32[$121>>2]|0; + $149 = HEAP32[$123>>2]|0; + $150 = ($148*3)|0; + $151 = Math_imul($150, $149)|0; + $152 = ($147|0)<($151|0); + if ($152) { + $$0168195 = $147;$$1194 = $146; + } else { + break; + } + } + } + break; + } + case 5: { + $153 = ((($0)) + 4|0); + $154 = HEAP32[$153>>2]|0; + $155 = ((($0)) + 8|0); + $156 = HEAP32[$155>>2]|0; + $157 = $154 << 1; + $158 = Math_imul($157, $156)|0; + $159 = (_malloc($158)|0); + HEAP32[$0>>2] = $159; + $160 = HEAP32[$153>>2]|0; + $161 = Math_imul($156, $160)|0; + $162 = ($161|0)>(0); + if ($162) { + $163 = HEAP32[$0>>2]|0; + $164 = HEAP32[$153>>2]|0; + $165 = HEAP32[$155>>2]|0; + $166 = Math_imul($165, $164)|0; + $$0167197 = 0; + while(1) { + $167 = (($7) + ($$0167197<<2)|0); + $168 = HEAP8[$167>>0]|0; + $169 = (+($168&255)); + $170 = $169 * 31.0; + $171 = $170 / 255.0; + $roundf176 = (+_roundf((+$171))); + $172 = (~~(($roundf176))&255); + $173 = (((($7) + ($$0167197<<2)|0)) + 1|0); + $174 = HEAP8[$173>>0]|0; + $175 = (+($174&255)); + $176 = $175 * 31.0; + $177 = $176 / 255.0; + $roundf177 = (+_roundf((+$177))); + $178 = (~~(($roundf177))&255); + $179 = (((($7) + ($$0167197<<2)|0)) + 2|0); + $180 = HEAP8[$179>>0]|0; + $181 = (+($180&255)); + $182 = $181 * 31.0; + $183 = $182 / 255.0; + $roundf178 = (+_roundf((+$183))); + $184 = (~~(($roundf178))&255); + $185 = (((($7) + ($$0167197<<2)|0)) + 3|0); + $186 = HEAP8[$185>>0]|0; + $187 = ($186&255)>(50); + $188 = $172&255; + $189 = $188 << 11; + $190 = $178&255; + $191 = $190 << 6; + $192 = $191 | $189; + $193 = $184&255; + $194 = $193 << 1; + $195 = $192 | $194; + $196 = $187&1; + $197 = $195 | $196; + $198 = $197&65535; + $199 = (($163) + ($$0167197<<1)|0); + HEAP16[$199>>1] = $198; + $200 = (($$0167197) + 1)|0; + $201 = ($200|0)<($166|0); + if ($201) { + $$0167197 = $200; + } else { + break; + } + } + } + break; + } + case 6: { + $202 = ((($0)) + 4|0); + $203 = HEAP32[$202>>2]|0; + $204 = ((($0)) + 8|0); + $205 = HEAP32[$204>>2]|0; + $206 = $203 << 1; + $207 = Math_imul($206, $205)|0; + $208 = (_malloc($207)|0); + HEAP32[$0>>2] = $208; + $209 = HEAP32[$202>>2]|0; + $210 = Math_imul($205, $209)|0; + $211 = ($210|0)>(0); + if ($211) { + $212 = HEAP32[$0>>2]|0; + $213 = HEAP32[$202>>2]|0; + $214 = HEAP32[$204>>2]|0; + $215 = Math_imul($214, $213)|0; + $$0166199 = 0; + while(1) { + $216 = (($7) + ($$0166199<<2)|0); + $217 = HEAP8[$216>>0]|0; + $218 = (+($217&255)); + $219 = $218 * 15.0; + $220 = $219 / 255.0; + $roundf = (+_roundf((+$220))); + $221 = (~~(($roundf))&255); + $222 = (((($7) + ($$0166199<<2)|0)) + 1|0); + $223 = HEAP8[$222>>0]|0; + $224 = (+($223&255)); + $225 = $224 * 15.0; + $226 = $225 / 255.0; + $roundf173 = (+_roundf((+$226))); + $227 = (~~(($roundf173))&255); + $228 = (((($7) + ($$0166199<<2)|0)) + 2|0); + $229 = HEAP8[$228>>0]|0; + $230 = (+($229&255)); + $231 = $230 * 15.0; + $232 = $231 / 255.0; + $roundf174 = (+_roundf((+$232))); + $233 = (~~(($roundf174))&255); + $234 = (((($7) + ($$0166199<<2)|0)) + 3|0); + $235 = HEAP8[$234>>0]|0; + $236 = (+($235&255)); + $237 = $236 * 15.0; + $238 = $237 / 255.0; + $roundf175 = (+_roundf((+$238))); + $239 = (~~(($roundf175))&255); + $240 = $221&255; + $241 = $240 << 12; + $242 = $227&255; + $243 = $242 << 8; + $244 = $243 | $241; + $245 = $233&255; + $246 = $245 << 4; + $247 = $244 | $246; + $248 = $239&255; + $249 = $247 | $248; + $250 = $249&65535; + $251 = (($212) + ($$0166199<<1)|0); + HEAP16[$251>>1] = $250; + $252 = (($$0166199) + 1)|0; + $253 = ($252|0)<($215|0); + if ($253) { + $$0166199 = $252; + } else { + break; + } + } + } + break; + } + case 7: { + $254 = ((($0)) + 4|0); + $255 = HEAP32[$254>>2]|0; + $256 = ((($0)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = $255 << 2; + $259 = Math_imul($258, $257)|0; + $260 = (_malloc($259)|0); + HEAP32[$0>>2] = $260; + $261 = HEAP32[$254>>2]|0; + $262 = $261 << 2; + $263 = Math_imul($262, $257)|0; + $264 = ($263|0)>(0); + if ($264) { + $$0202 = 0;$$2201 = 0; + while(1) { + $265 = (($7) + ($$2201<<2)|0); + $266 = HEAP8[$265>>0]|0; + $267 = HEAP32[$0>>2]|0; + $268 = (($267) + ($$0202)|0); + HEAP8[$268>>0] = $266; + $269 = (((($7) + ($$2201<<2)|0)) + 1|0); + $270 = HEAP8[$269>>0]|0; + $271 = HEAP32[$0>>2]|0; + $272 = $$0202 | 1; + $273 = (($271) + ($272)|0); + HEAP8[$273>>0] = $270; + $274 = (((($7) + ($$2201<<2)|0)) + 2|0); + $275 = HEAP8[$274>>0]|0; + $276 = HEAP32[$0>>2]|0; + $277 = $$0202 | 2; + $278 = (($276) + ($277)|0); + HEAP8[$278>>0] = $275; + $279 = (((($7) + ($$2201<<2)|0)) + 3|0); + $280 = HEAP8[$279>>0]|0; + $281 = HEAP32[$0>>2]|0; + $282 = $$0202 | 3; + $283 = (($281) + ($282)|0); + HEAP8[$283>>0] = $280; + $284 = (($$2201) + 1)|0; + $285 = (($$0202) + 4)|0; + $286 = HEAP32[$254>>2]|0; + $287 = HEAP32[$256>>2]|0; + $288 = $286 << 2; + $289 = Math_imul($288, $287)|0; + $290 = ($285|0)<($289|0); + if ($290) { + $$0202 = $285;$$2201 = $284; + } else { + break; + } + } + } + break; + } + default: { + } + } + _free($7); + STACKTOP = sp;return; +} +function _LoadTextureFromImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$11$0$$sroa_idx8 = 0, $$sroa$5$0$$sroa_idx2 = 0, $$sroa$7$0$$sroa_idx4 = 0, $$sroa$9$0$$sroa_idx6 = 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 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($1)) + 8|0); + $6 = HEAP32[$5>>2]|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + $9 = ((($1)) + 12|0); + $10 = HEAP32[$9>>2]|0; + $11 = (_rlglLoadTexture($2,$4,$6,$8,$10)|0); + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + HEAP32[$0>>2] = $11; + $$sroa$5$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$5$0$$sroa_idx2>>2] = $12; + $$sroa$7$0$$sroa_idx4 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx4>>2] = $13; + $$sroa$9$0$$sroa_idx6 = ((($0)) + 12|0); + HEAP32[$$sroa$9$0$$sroa_idx6>>2] = $10; + $$sroa$11$0$$sroa_idx8 = ((($0)) + 16|0); + HEAP32[$$sroa$11$0$$sroa_idx8>>2] = $8; + return; +} +function _UnloadImage($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + _free($1); + return; +} +function _rlglLoadTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$off = 0, $$off92 = 0, $$off93 = 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, $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; + var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond100 = 0, $or$cond7 = 0, $or$cond96 = 0, $or$cond98 = 0, $switch = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer15 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0; + var $vararg_buffer9 = 0, $vararg_ptr13 = 0, $vararg_ptr14 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer15 = sp + 64|0; + $vararg_buffer11 = sp + 48|0; + $vararg_buffer9 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $5 = sp + 68|0; + _glBindTexture(3553,0); + HEAP32[$5>>2] = 0; + $6 = HEAP32[5620]|0; + $7 = ($6|0)==(0); + $8 = $3 & -4; + $switch = ($8|0)==(8); + $or$cond100 = $switch & $7; + if ($or$cond100) { + _TraceLog(2,4405,$vararg_buffer); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $9 = HEAP32[5621]|0; + $10 = ($9|0)==(0); + $11 = ($3|0)==(12); + $or$cond7 = $11 & $10; + if ($or$cond7) { + _TraceLog(2,4449,$vararg_buffer1); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $12 = HEAP32[5622]|0; + $13 = ($12|0)==(0); + $$off = (($3) + -13)|0; + $14 = ($$off>>>0)<(2); + $or$cond = $14 & $13; + if ($or$cond) { + _TraceLog(2,4494,$vararg_buffer3); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $15 = HEAP32[5623]|0; + $16 = ($15|0)==(0); + $$off92 = (($3) + -15)|0; + $17 = ($$off92>>>0)<(2); + $or$cond96 = $17 & $16; + if ($or$cond96) { + _TraceLog(2,4539,$vararg_buffer5); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + $18 = HEAP32[5624]|0; + $19 = ($18|0)==(0); + $$off93 = (($3) + -17)|0; + $20 = ($$off93>>>0)<(2); + $or$cond98 = $20 & $19; + if ($or$cond98) { + _TraceLog(2,4584,$vararg_buffer7); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + _glGenTextures(1,($5|0)); + $21 = HEAP32[$5>>2]|0; + _glBindTexture(3553,($21|0)); + do { + switch ($3|0) { + case 1: { + _glTexImage2D(3553,0,6409,($1|0),($2|0),0,6409,5121,($0|0)); + break; + } + case 2: { + _glTexImage2D(3553,0,6410,($1|0),($2|0),0,6410,5121,($0|0)); + break; + } + case 3: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,33635,($0|0)); + break; + } + case 4: { + _glTexImage2D(3553,0,6407,($1|0),($2|0),0,6407,5121,($0|0)); + break; + } + case 5: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32820,($0|0)); + break; + } + case 6: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,32819,($0|0)); + break; + } + case 7: { + _glTexImage2D(3553,0,6408,($1|0),($2|0),0,6408,5121,($0|0)); + break; + } + case 8: { + $22 = HEAP32[5620]|0; + $23 = ($22|0)==(0); + if (!($23)) { + _LoadCompressedTexture($0,$1,$2,$4,33776); + } + break; + } + case 9: { + $24 = HEAP32[5620]|0; + $25 = ($24|0)==(0); + if (!($25)) { + _LoadCompressedTexture($0,$1,$2,$4,33777); + } + break; + } + case 10: { + $26 = HEAP32[5620]|0; + $27 = ($26|0)==(0); + if (!($27)) { + _LoadCompressedTexture($0,$1,$2,$4,33778); + } + break; + } + case 11: { + $28 = HEAP32[5620]|0; + $29 = ($28|0)==(0); + if (!($29)) { + _LoadCompressedTexture($0,$1,$2,$4,33779); + } + break; + } + case 12: { + $30 = HEAP32[5621]|0; + $31 = ($30|0)==(0); + if (!($31)) { + _LoadCompressedTexture($0,$1,$2,$4,36196); + } + break; + } + case 13: { + $32 = HEAP32[5622]|0; + $33 = ($32|0)==(0); + if (!($33)) { + _LoadCompressedTexture($0,$1,$2,$4,37492); + } + break; + } + case 14: { + $34 = HEAP32[5622]|0; + $35 = ($34|0)==(0); + if (!($35)) { + _LoadCompressedTexture($0,$1,$2,$4,37496); + } + break; + } + case 15: { + $36 = HEAP32[5623]|0; + $37 = ($36|0)==(0); + if (!($37)) { + _LoadCompressedTexture($0,$1,$2,$4,35840); + } + break; + } + case 16: { + $38 = HEAP32[5623]|0; + $39 = ($38|0)==(0); + if (!($39)) { + _LoadCompressedTexture($0,$1,$2,$4,35842); + } + break; + } + case 17: { + $40 = HEAP32[5624]|0; + $41 = ($40|0)==(0); + if (!($41)) { + _LoadCompressedTexture($0,$1,$2,$4,37808); + } + break; + } + case 18: { + $42 = HEAP32[5624]|0; + $43 = ($42|0)==(0); + if (!($43)) { + _LoadCompressedTexture($0,$1,$2,$4,37815); + } + break; + } + default: { + _TraceLog(2,4629,$vararg_buffer9); + } + } + } while(0); + $44 = HEAP32[5625]|0; + $45 = ($44|0)==(0); + if ($45) { + _glTexParameteri(3553,10242,33071); + _glTexParameteri(3553,10243,33071); + } else { + _glTexParameteri(3553,10242,10497); + _glTexParameteri(3553,10243,10497); + } + _glTexParameteri(3553,10240,9728); + _glTexParameteri(3553,10241,9728); + _glBindTexture(3553,0); + $46 = HEAP32[$5>>2]|0; + $47 = ($46|0)==(0); + if ($47) { + _TraceLog(2,11064,$vararg_buffer15); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer11>>2] = $46; + $vararg_ptr13 = ((($vararg_buffer11)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $1; + $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); + HEAP32[$vararg_ptr14>>2] = $2; + _TraceLog(0,4658,$vararg_buffer11); + $$0 = HEAP32[$5>>2]|0; + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadCompressedTexture($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$03645 = 0, $$03744 = 0, $$038 = 0, $$03943 = 0, $$046 = 0, $$140 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond42 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glPixelStorei(3317,1); + switch ($4|0) { + case 33776: case 33777: case 36196: case 37492: { + $$038 = 8; + break; + } + default: { + $$038 = 16; + } + } + $5 = ($3|0)<(1); + $6 = $1 | $2; + $7 = ($6|0)==(0); + $or$cond42 = $5 | $7; + if ($or$cond42) { + return; + } else { + $$03645 = 0;$$03744 = 0;$$03943 = $2;$$046 = $1; + } + while(1) { + $8 = (($$046) + 3)|0; + $9 = (($8|0) / 4)&-1; + $10 = (($$03943) + 3)|0; + $11 = (($10|0) / 4)&-1; + $12 = Math_imul($11, $$038)|0; + $13 = Math_imul($12, $9)|0; + $14 = (($0) + ($$03744)|0); + _glCompressedTexImage2D(3553,($$03645|0),($4|0),($$046|0),($$03943|0),0,($13|0),($14|0)); + $15 = (($13) + ($$03744))|0; + $16 = (($$046|0) / 2)&-1; + $17 = (($$03943|0) / 2)&-1; + $18 = ($$046|0)<(2); + $$ = $18 ? 1 : $16; + $19 = ($$03943|0)<(2); + $$140 = $19 ? 1 : $17; + $20 = (($$03645) + 1)|0; + $21 = ($20|0)>=($3|0); + $22 = $$ | $$140; + $23 = ($22|0)==(0); + $or$cond = $21 | $23; + if ($or$cond) { + break; + } else { + $$03645 = $20;$$03744 = $15;$$03943 = $$140;$$046 = $$; + } + } + return; +} +function _GetImageData($0) { + $0 = $0|0; + var $$0104105 = 0, $$0106 = 0, $$1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0; + var $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, $131 = 0; + var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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.0, $4 = 0, $40 = 0.0, $41 = 0; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.0, $52 = 0.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.0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0; + var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0.0, $86 = 0.0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0.0, $92 = 0.0, $93 = 0, $94 = 0, $95 = 0, $96 = 0; + var $97 = 0.0, $98 = 0.0, $99 = 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)) + 4|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 8|0); + $4 = HEAP32[$3>>2]|0; + $5 = $2 << 2; + $6 = Math_imul($5, $4)|0; + $7 = (_malloc($6)|0); + $8 = HEAP32[$1>>2]|0; + $9 = Math_imul($4, $8)|0; + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return ($7|0); + } + $11 = ((($0)) + 16|0); + $12 = HEAP32[$11>>2]|0; + $13 = HEAP32[$0>>2]|0; + $$0104105 = 0;$$0106 = 0; + while(1) { + switch ($12|0) { + case 1: { + $14 = (($13) + ($$0106)|0); + $15 = HEAP8[$14>>0]|0; + $16 = (($7) + ($$0104105<<2)|0); + HEAP8[$16>>0] = $15; + $17 = HEAP8[$14>>0]|0; + $18 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$18>>0] = $17; + $19 = HEAP8[$14>>0]|0; + $20 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$20>>0] = $19; + $21 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$21>>0] = -1; + $22 = (($$0106) + 1)|0; + $$1 = $22; + break; + } + case 2: { + $23 = (($13) + ($$0106)|0); + $24 = HEAP8[$23>>0]|0; + $25 = (($7) + ($$0104105<<2)|0); + HEAP8[$25>>0] = $24; + $26 = HEAP8[$23>>0]|0; + $27 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$27>>0] = $26; + $28 = HEAP8[$23>>0]|0; + $29 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$29>>0] = $28; + $30 = (($$0106) + 1)|0; + $31 = (($13) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$33>>0] = $32; + $34 = (($$0106) + 2)|0; + $$1 = $34; + break; + } + case 5: { + $35 = (($13) + ($$0106<<1)|0); + $36 = HEAP16[$35>>1]|0; + $37 = $36&65535; + $38 = $37 >>> 11; + $39 = (+($38|0)); + $40 = $39 * 8.0; + $41 = (~~(($40))&255); + $42 = (($7) + ($$0104105<<2)|0); + HEAP8[$42>>0] = $41; + $43 = $37 >>> 6; + $44 = $43 & 31; + $45 = (+($44|0)); + $46 = $45 * 8.0; + $47 = (~~(($46))&255); + $48 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$48>>0] = $47; + $49 = $37 >>> 1; + $50 = $49 & 31; + $51 = (+($50|0)); + $52 = $51 * 8.0; + $53 = (~~(($52))&255); + $54 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$54>>0] = $53; + $55 = $37 & 1; + $56 = (0 - ($55))|0; + $57 = $56&255; + $58 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$58>>0] = $57; + $59 = (($$0106) + 1)|0; + $$1 = $59; + break; + } + case 3: { + $60 = (($13) + ($$0106<<1)|0); + $61 = HEAP16[$60>>1]|0; + $62 = $61&65535; + $63 = $62 >>> 11; + $64 = (+($63|0)); + $65 = $64 * 8.0; + $66 = (~~(($65))&255); + $67 = (($7) + ($$0104105<<2)|0); + HEAP8[$67>>0] = $66; + $68 = $62 >>> 5; + $69 = $68 & 63; + $70 = (+($69|0)); + $71 = $70 * 4.0; + $72 = (~~(($71))&255); + $73 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$73>>0] = $72; + $74 = $62 & 31; + $75 = (+($74|0)); + $76 = $75 * 8.0; + $77 = (~~(($76))&255); + $78 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$78>>0] = $77; + $79 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$79>>0] = -1; + $80 = (($$0106) + 1)|0; + $$1 = $80; + break; + } + case 6: { + $81 = (($13) + ($$0106<<1)|0); + $82 = HEAP16[$81>>1]|0; + $83 = $82&65535; + $84 = $83 >>> 12; + $85 = (+($84|0)); + $86 = $85 * 17.0; + $87 = (~~(($86))&255); + $88 = (($7) + ($$0104105<<2)|0); + HEAP8[$88>>0] = $87; + $89 = $83 >>> 8; + $90 = $89 & 15; + $91 = (+($90|0)); + $92 = $91 * 17.0; + $93 = (~~(($92))&255); + $94 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$94>>0] = $93; + $95 = $83 >>> 4; + $96 = $95 & 15; + $97 = (+($96|0)); + $98 = $97 * 17.0; + $99 = (~~(($98))&255); + $100 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$100>>0] = $99; + $101 = $83 & 15; + $102 = (+($101|0)); + $103 = $102 * 17.0; + $104 = (~~(($103))&255); + $105 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$105>>0] = $104; + $106 = (($$0106) + 1)|0; + $$1 = $106; + break; + } + case 7: { + $107 = (($13) + ($$0106)|0); + $108 = HEAP8[$107>>0]|0; + $109 = (($7) + ($$0104105<<2)|0); + HEAP8[$109>>0] = $108; + $110 = (($$0106) + 1)|0; + $111 = (($13) + ($110)|0); + $112 = HEAP8[$111>>0]|0; + $113 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$113>>0] = $112; + $114 = (($$0106) + 2)|0; + $115 = (($13) + ($114)|0); + $116 = HEAP8[$115>>0]|0; + $117 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$117>>0] = $116; + $118 = (($$0106) + 3)|0; + $119 = (($13) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $121 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$121>>0] = $120; + $122 = (($$0106) + 4)|0; + $$1 = $122; + break; + } + case 4: { + $123 = (($13) + ($$0106)|0); + $124 = HEAP8[$123>>0]|0; + $125 = (($7) + ($$0104105<<2)|0); + HEAP8[$125>>0] = $124; + $126 = (($$0106) + 1)|0; + $127 = (($13) + ($126)|0); + $128 = HEAP8[$127>>0]|0; + $129 = (((($7) + ($$0104105<<2)|0)) + 1|0); + HEAP8[$129>>0] = $128; + $130 = (($$0106) + 2)|0; + $131 = (($13) + ($130)|0); + $132 = HEAP8[$131>>0]|0; + $133 = (((($7) + ($$0104105<<2)|0)) + 2|0); + HEAP8[$133>>0] = $132; + $134 = (((($7) + ($$0104105<<2)|0)) + 3|0); + HEAP8[$134>>0] = -1; + $135 = (($$0106) + 3)|0; + $$1 = $135; + break; + } + default: { + _TraceLog(2,4761,$vararg_buffer); + $$1 = $$0106; + } + } + $136 = (($$0104105) + 1)|0; + $137 = HEAP32[$1>>2]|0; + $138 = HEAP32[$3>>2]|0; + $139 = Math_imul($138, $137)|0; + $140 = ($136|0)<($139|0); + if ($140) { + $$0104105 = $136;$$0106 = $$1; + } else { + break; + } + } + STACKTOP = sp;return ($7|0); +} +function _ErrorCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $1; + _TraceLog(2,8627,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlGetVersion() { + var label = 0, sp = 0; + sp = STACKTOP; + return 4; +} +function _SetupFramebufferSize($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sink1 = 0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0; + var $27 = 0, $28 = 0.0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $43 = 0, $44 = 0.0; + var $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, $roundf = 0.0, $roundf38 = 0.0, $roundf39 = 0.0, $roundf40 = 0.0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0, $vararg_ptr11 = 0, $vararg_ptr12 = 0, $vararg_ptr13 = 0, $vararg_ptr2 = 0; + var $vararg_ptr3 = 0, $vararg_ptr7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 40|0; + $3 = HEAP32[5604]|0; + $4 = ($3|0)>($0|0); + if (!($4)) { + $5 = HEAP32[5603]|0; + $6 = ($5|0)>($1|0); + if (!($6)) { + $30 = ($3|0)<($0|0); + $31 = ($5|0)<($1|0); + $or$cond = $30 | $31; + if (!($or$cond)) { + HEAP32[5645] = $3; + HEAP32[5646] = $5; + HEAP32[5647] = 0; + HEAP32[5648] = 0; + STACKTOP = sp;return; + } + HEAP32[$vararg_buffer8>>2] = $3; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $5; + $vararg_ptr12 = ((($vararg_buffer8)) + 8|0); + HEAP32[$vararg_ptr12>>2] = $0; + $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); + HEAP32[$vararg_ptr13>>2] = $1; + _TraceLog(0,8561,$vararg_buffer8); + $32 = (+($0|0)); + $33 = (+($1|0)); + $34 = $32 / $33; + $35 = HEAP32[5604]|0; + $36 = (+($35|0)); + $37 = HEAP32[5603]|0; + $38 = (+($37|0)); + $39 = $36 / $38; + $40 = !($34 <= $39); + if ($40) { + $44 = $34 * $38; + $roundf = (+_roundf((+$44))); + $45 = (~~(($roundf))); + HEAP32[5645] = $45; + HEAP32[5646] = $37; + $46 = (($45) - ($35))|0; + HEAP32[5647] = $46; + $$sink1 = 0; + } else { + HEAP32[5645] = $35; + $41 = $36 / $34; + $roundf38 = (+_roundf((+$41))); + $42 = (~~(($roundf38))); + HEAP32[5646] = $42; + HEAP32[5647] = 0; + $43 = (($42) - ($37))|0; + $$sink1 = $43; + } + HEAP32[5648] = $$sink1; + STACKTOP = sp;return; + } + } + $7 = HEAP32[5603]|0; + HEAP32[$vararg_buffer>>2] = $3; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $7; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = $0; + $vararg_ptr3 = ((($vararg_buffer)) + 12|0); + HEAP32[$vararg_ptr3>>2] = $1; + _TraceLog(2,8418,$vararg_buffer); + $8 = (+($0|0)); + $9 = HEAP32[5604]|0; + $10 = (+($9|0)); + $11 = $8 / $10; + $12 = (+($1|0)); + $13 = HEAP32[5603]|0; + $14 = (+($13|0)); + $15 = $12 / $14; + $16 = !($11 <= $15); + if ($16) { + $22 = $10 * $15; + $roundf39 = (+_roundf((+$22))); + $23 = (~~(($roundf39))); + HEAP32[5645] = $23; + HEAP32[5646] = $1; + $24 = (($0) - ($23))|0; + HEAP32[5647] = $24; + $$sink = 0; + } else { + HEAP32[5645] = $0; + $17 = HEAP32[5603]|0; + $18 = (+($17|0)); + $19 = $11 * $18; + $roundf40 = (+_roundf((+$19))); + $20 = (~~(($roundf40))); + HEAP32[5646] = $20; + HEAP32[5647] = 0; + $21 = (($1) - ($20))|0; + $$sink = $21; + } + HEAP32[5648] = $$sink; + $25 = HEAP32[5645]|0; + $26 = (+($25|0)); + $27 = HEAP32[5604]|0; + $28 = (+($27|0)); + $29 = $26 / $28; + _MatrixScale($2,$29,$29,$29); + dest=22504; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5645] = $0; + HEAP32[5646] = $1; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $1; + _TraceLog(2,8496,$vararg_buffer4); + STACKTOP = sp;return; +} +function _WindowSizeCallback($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0.0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlViewport(0,0,$1,$2); + _rlMatrixMode(5889); + _rlLoadIdentity(); + $3 = (+($1|0)); + $4 = (+($2|0)); + _rlOrtho(0.0,$3,$4,0.0,0.0,1.0); + _rlMatrixMode(5888); + _rlLoadIdentity(); + _rlClearScreenBuffers(); + HEAP32[5604] = $1; + HEAP32[5603] = $2; + HEAP32[5645] = $1; + HEAP32[5646] = $2; + return; +} +function _CursorEnterCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _KeyCallback($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = HEAP32[743]|0; + $6 = ($5|0)==($1|0); + $7 = ($3|0)==(1); + $or$cond = $7 & $6; + if ($or$cond) { + _glfwSetWindowShouldClose(($0|0),1); + return; + } + $8 = $3&255; + $9 = (25247 + ($1)|0); + HEAP8[$9>>0] = $8; + if (!($7)) { + return; + } + HEAP32[742] = $1; + return; +} +function _MouseButtonCallback($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$byval_copy = 0, $$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, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0; + var $28 = 0.0, $29 = 0, $30 = 0.0, $31 = 0, $32 = 0.0, $33 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy = sp + 64|0; + $4 = sp + 8|0; + $5 = sp; + $6 = $2&255; + $7 = (25241 + ($1)|0); + HEAP8[$7>>0] = $6; + $8 = (_IsMouseButtonPressed(0)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = (_IsMouseButtonReleased(0)|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$sink = 0; + label = 3; + } + } else { + $$sink = 1; + label = 3; + } + if ((label|0) == 3) { + HEAP32[$4>>2] = $$sink; + } + $12 = ((($4)) + 8|0); + HEAP32[$12>>2] = 0; + $13 = ((($4)) + 4|0); + HEAP32[$13>>2] = 1; + $14 = ((($4)) + 24|0); + _GetMousePosition($5); + $15 = $5; + $16 = $15; + $17 = HEAP32[$16>>2]|0; + $18 = (($15) + 4)|0; + $19 = $18; + $20 = HEAP32[$19>>2]|0; + $21 = $14; + $22 = $21; + HEAP32[$22>>2] = $17; + $23 = (($21) + 4)|0; + $24 = $23; + HEAP32[$24>>2] = $20; + $25 = (_GetScreenWidth()|0); + $26 = (+($25|0)); + $27 = +HEAPF32[$14>>2]; + $28 = $27 / $26; + HEAPF32[$14>>2] = $28; + $29 = (_GetScreenHeight()|0); + $30 = (+($29|0)); + $31 = ((($4)) + 28|0); + $32 = +HEAPF32[$31>>2]; + $33 = $32 / $30; + HEAPF32[$31>>2] = $33; + dest=$$byval_copy; src=$4; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _MouseCursorPosCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$sroa$0$0$$sroa_idx = 0, $$sroa$2$0$$sroa_idx1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy = sp + 56|0; + $3 = sp; + HEAP32[$3>>2] = 2; + $4 = ((($3)) + 8|0); + HEAP32[$4>>2] = 0; + $5 = ((($3)) + 4|0); + HEAP32[$5>>2] = 1; + $6 = $1; + $7 = $2; + $$sroa$0$0$$sroa_idx = ((($3)) + 24|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = $6; + $$sroa$2$0$$sroa_idx1 = ((($3)) + 28|0); + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $7; + $8 = ((($3)) + 24|0); + $9 = $8; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = 16560; + $16 = $15; + HEAP32[$16>>2] = $11; + $17 = (($15) + 4)|0; + $18 = $17; + HEAP32[$18>>2] = $14; + $19 = (_GetScreenWidth()|0); + $20 = (+($19|0)); + $21 = +HEAPF32[$8>>2]; + $22 = $21 / $20; + HEAPF32[$8>>2] = $22; + $23 = (_GetScreenHeight()|0); + $24 = (+($23|0)); + $25 = +HEAPF32[$$sroa$2$0$$sroa_idx1>>2]; + $26 = $25 / $24; + HEAPF32[$$sroa$2$0$$sroa_idx1>>2] = $26; + dest=$$byval_copy; src=$3; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _ProcessGestureEvent($$byval_copy); + STACKTOP = sp;return; +} +function _CharCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[742] = $1; + return; +} +function _ScrollCallback($0,$1,$2) { + $0 = $0|0; + $1 = +$1; + $2 = +$2; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (~~(($2))); + HEAP32[6018] = $3; + return; +} +function _WindowIconifyCallback($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)!=(0); + $$sink = $2&1; + HEAP32[6017] = $$sink; + return; +} +function _rlglInit($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$05965 = 0, $$06066 = 0, $$06167 = 0, $$062 = 0, $$sink63 = 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; + 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.0, $72 = 0.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, $9 = 0, $exitcond = 0, $exitcond69 = 0, $exitcond70 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0; + var $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer4 = 0, $vararg_buffer41 = 0, $vararg_buffer7 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2464|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2464|0); + $vararg_buffer41 = sp + 2184|0; + $vararg_buffer39 = sp + 2176|0; + $vararg_buffer36 = sp + 2168|0; + $vararg_buffer34 = sp + 2160|0; + $vararg_buffer31 = sp + 2152|0; + $vararg_buffer29 = sp + 2144|0; + $vararg_buffer27 = sp + 2136|0; + $vararg_buffer25 = sp + 2128|0; + $vararg_buffer23 = sp + 2120|0; + $vararg_buffer21 = sp + 2112|0; + $vararg_buffer19 = sp + 2104|0; + $vararg_buffer17 = sp + 2096|0; + $vararg_buffer15 = sp + 2088|0; + $vararg_buffer13 = sp + 2080|0; + $vararg_buffer10 = sp + 2072|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 2400|0; + $3 = sp + 2384|0; + $4 = sp + 2320|0; + $5 = sp + 2256|0; + $6 = sp + 2192|0; + $7 = (_glGetString(7936)|0); + HEAP32[$vararg_buffer>>2] = $7; + _TraceLog(0,5059,$vararg_buffer); + $8 = (_glGetString(7937)|0); + HEAP32[$vararg_buffer1>>2] = $8; + _TraceLog(0,5077,$vararg_buffer1); + $9 = (_glGetString(7938)|0); + HEAP32[$vararg_buffer4>>2] = $9; + _TraceLog(0,5095,$vararg_buffer4); + $10 = (_glGetString(35724)|0); + HEAP32[$vararg_buffer7>>2] = $10; + _TraceLog(0,5113,$vararg_buffer7); + $11 = (_glGetString(7939)|0); + $12 = (_strlen($11)|0); + $13 = (($12) + 1)|0; + $14 = (_malloc($13)|0); + _memcpy(($14|0),($11|0),($13|0))|0; + $$062 = 0;$$sink63 = $14; + while(1) { + $15 = (_strtok($$sink63,5131)|0); + $16 = (($vararg_buffer7) + ($$062<<2)|0); + HEAP32[$16>>2] = $15; + $17 = ($15|0)==(0|0); + $18 = (($$062) + 1)|0; + if ($17) { + break; + } else { + $$062 = $18;$$sink63 = 0; + } + } + _free($14); + $19 = (($$062) + -1)|0; + HEAP32[$vararg_buffer10>>2] = $19; + _TraceLog(0,5133,$vararg_buffer10); + $20 = ($$062|0)>(1); + if ($20) { + $$06167 = 0; + while(1) { + $23 = (($vararg_buffer7) + ($$06167<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (_strcmp($24,5168)|0); + $26 = ($25|0)==(0); + if ($26) { + HEAP32[5683] = 1; + $27 = (_eglGetProcAddress((5195|0))|0); + HEAP32[5684] = $27; + $28 = (_eglGetProcAddress((5216|0))|0); + HEAP32[5685] = $28; + $29 = (_eglGetProcAddress((5237|0))|0); + HEAP32[5686] = $29; + } + $30 = (_strcmp($24,5261)|0); + $31 = ($30|0)==(0); + if ($31) { + HEAP32[5625] = 1; + } + $32 = (_strcmp($24,5281)|0); + $33 = ($32|0)==(0); + if ($33) { + label = 12; + } else { + $34 = HEAP32[$23>>2]|0; + $35 = (_strcmp($34,5313)|0); + $36 = ($35|0)==(0); + if ($36) { + label = 12; + } else { + $37 = (_strcmp($34,5346)|0); + $38 = ($37|0)==(0); + if ($38) { + label = 12; + } + } + } + if ((label|0) == 12) { + label = 0; + HEAP32[5620] = 1; + } + $39 = (_strcmp($24,5386)|0); + $40 = ($39|0)==(0); + if ($40) { + label = 15; + } else { + $41 = HEAP32[$23>>2]|0; + $42 = (_strcmp($41,5422)|0); + $43 = ($42|0)==(0); + if ($43) { + label = 15; + } + } + if ((label|0) == 15) { + label = 0; + HEAP32[5621] = 1; + } + $44 = HEAP32[$23>>2]|0; + $45 = (_strcmp($44,5455)|0); + $46 = ($45|0)==(0); + if ($46) { + HEAP32[5622] = 1; + } + $47 = (_strcmp($44,5480)|0); + $48 = ($47|0)==(0); + if ($48) { + HEAP32[5623] = 1; + } + $49 = (_strcmp($44,5513)|0); + $50 = ($49|0)==(0); + if ($50) { + HEAP32[5624] = 1; + } + $51 = (_strcmp($44,5549)|0); + $52 = ($51|0)==(0); + if ($52) { + HEAP32[5687] = 1; + _glGetFloatv(34047,(22752|0)); + } + $53 = HEAP32[$23>>2]|0; + $54 = (_strcmp($53,5583)|0); + $55 = ($54|0)==(0); + if ($55) { + HEAP32[5689] = 1; + } + $56 = (($$06167) + 1)|0; + $exitcond70 = ($56|0)==($19|0); + if ($exitcond70) { + break; + } else { + $$06167 = $56; + } + } + } + $21 = HEAP32[5683]|0; + $22 = ($21|0)==(0); + if ($22) { + _TraceLog(2,5686,$vararg_buffer15); + } else { + _TraceLog(0,5611,$vararg_buffer13); + } + $57 = HEAP32[5625]|0; + $58 = ($57|0)==(0); + if ($58) { + _TraceLog(2,5822,$vararg_buffer19); + } else { + _TraceLog(0,5747,$vararg_buffer17); + } + $59 = HEAP32[5620]|0; + $60 = ($59|0)==(0); + if (!($60)) { + _TraceLog(0,5914,$vararg_buffer21); + } + $61 = HEAP32[5621]|0; + $62 = ($61|0)==(0); + if (!($62)) { + _TraceLog(0,5960,$vararg_buffer23); + } + $63 = HEAP32[5622]|0; + $64 = ($63|0)==(0); + if (!($64)) { + _TraceLog(0,6007,$vararg_buffer25); + } + $65 = HEAP32[5623]|0; + $66 = ($65|0)==(0); + if (!($66)) { + _TraceLog(0,6058,$vararg_buffer27); + } + $67 = HEAP32[5624]|0; + $68 = ($67|0)==(0); + if (!($68)) { + _TraceLog(0,6105,$vararg_buffer29); + } + $69 = HEAP32[5687]|0; + $70 = ($69|0)==(0); + if (!($70)) { + $71 = +HEAPF32[5688]; + $72 = $71; + HEAPF64[$vararg_buffer31>>3] = $72; + _TraceLog(0,6152,$vararg_buffer31); + } + $73 = HEAP32[5689]|0; + $74 = ($73|0)==(0); + if (!($74)) { + _TraceLog(0,6218,$vararg_buffer34); + } + HEAP32[$vararg_buffer10>>2] = -1; + $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); + HEAP32[5690] = $75; + $76 = ($75|0)==(0); + if ($76) { + _TraceLog(2,6322,$vararg_buffer39); + } else { + HEAP32[$vararg_buffer36>>2] = $75; + _TraceLog(0,6271,$vararg_buffer36); + } + _LoadDefaultShader($2); + dest=22764; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=22820; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _LoadDefaultBuffers(); + $77 = (_malloc(49152)|0); + HEAP32[5719] = $77; + $$06066 = 0; + while(1) { + $79 = HEAP32[5719]|0; + $80 = (($79) + (($$06066*12)|0)|0); + _VectorZero($3); + ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; + $81 = (($$06066) + 1)|0; + $exitcond69 = ($81|0)==(4096); + if ($exitcond69) { + break; + } else { + $$06066 = $81; + } + } + $78 = (_malloc(36864)|0); + HEAP32[5720] = $78; + $$05965 = 0; + while(1) { + $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); + HEAP32[$82>>2] = 0; + $83 = (($78) + (($$05965*144)|0)|0); + HEAP32[$83>>2] = 0; + $84 = (($$05965) + 1)|0; + $exitcond = ($84|0)==(256); + if ($exitcond) { + break; + } else { + $$05965 = $84; + } + } + HEAP32[5721] = 1; + $85 = HEAP32[5690]|0; + $86 = ((($78)) + 8|0); + HEAP32[$86>>2] = $85; + HEAP32[5722] = 4; + _MatrixIdentity($4); + dest=22892; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(22956); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23020); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23084); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23148); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23212); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23276); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23340); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23404); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23468); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23532); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23596); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23660); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23724); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23788); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($4); + dest=(23852); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($5); + dest=22600; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixIdentity($6); + dest=22664; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[5649] = 22664; + _glDepthFunc(515); + _glDisable(2929); + _glBlendFunc(770,771); + _glEnable(3042); + _glCullFace(1029); + _glFrontFace(2305); + _glEnable(2884); + _glClearColor(0.0,0.0,0.0,1.0); + _glClearDepthf(1.0); + _glClear(16640); + HEAP32[5979] = $0; + HEAP32[5980] = $1; + _TraceLog(0,6361,$vararg_buffer41); + STACKTOP = sp;return; +} +function _SetupViewport() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5647]|0; + $1 = (($0|0) / 2)&-1; + $2 = HEAP32[5648]|0; + $3 = (($2|0) / 2)&-1; + $4 = HEAP32[5645]|0; + $5 = (($4) - ($0))|0; + $6 = HEAP32[5646]|0; + $7 = (($6) - ($2))|0; + _rlViewport($1,$3,$5,$7); + return; +} +function _rlMatrixMode($0) { + $0 = $0|0; + var $modelview$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + switch ($0|0) { + case 5889: { + $modelview$sink = 22600; + label = 3; + break; + } + case 5888: { + $modelview$sink = 22664; + label = 3; + break; + } + default: { + } + } + if ((label|0) == 3) { + HEAP32[5649] = $modelview$sink; + } + HEAP32[5682] = $0; + return; +} +function _rlLoadIdentity() { + var $0 = 0, $1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $0 = sp; + $1 = HEAP32[5649]|0; + _MatrixIdentity($0); + dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlOrtho($0,$1,$2,$3,$4,$5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + var $$byval_copy = 0, $$byval_copy1 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $6 = sp + 64|0; + $7 = sp; + _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); + _MatrixTranspose($6); + $8 = HEAP32[5649]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy,$$byval_copy1); + dest=$8; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _ClearBackground($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP8[$0>>0]|0; + $2 = ((($0)) + 1|0); + $3 = HEAP8[$2>>0]|0; + $4 = ((($0)) + 2|0); + $5 = HEAP8[$4>>0]|0; + $6 = ((($0)) + 3|0); + $7 = HEAP8[$6>>0]|0; + _rlClearColor($1,$3,$5,$7); + return; +} +function _rlClearColor($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $4 = (+($0&255)); + $5 = $4 / 255.0; + $6 = (+($1&255)); + $7 = $6 / 255.0; + $8 = (+($2&255)); + $9 = $8 / 255.0; + $10 = (+($3&255)); + $11 = $10 / 255.0; + _glClearColor((+$5),(+$7),(+$9),(+$11)); + return; +} +function _rlViewport($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var label = 0, sp = 0; + sp = STACKTOP; + _glViewport(($0|0),($1|0),($2|0),($3|0)); + return; +} +function _LoadDefaultShader($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1008|0); + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $1 = sp + 16|0; + $2 = sp + 513|0; + $3 = sp + 72|0; + _memcpy(($2|0),(6937|0),489)|0; + _memcpy(($3|0),(7426|0),441)|0; + $4 = (_LoadShaderProgram($2,$3)|0); + HEAP32[$1>>2] = $4; + $5 = ($4|0)==(0); + if ($5) { + HEAP32[$vararg_buffer1>>2] = $4; + _TraceLog(2,7915,$vararg_buffer1); + } else { + HEAP32[$vararg_buffer>>2] = $4; + _TraceLog(0,7867,$vararg_buffer); + } + $6 = HEAP32[$1>>2]|0; + $7 = ($6|0)==(0); + if (!($7)) { + _LoadDefaultShaderLocations($1); + } + dest=$0; src=$1; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _LoadDefaultBuffers() { + var $$05365 = 0, $$05467 = 0, $$05770 = 0, $$05972 = 0, $$066 = 0, $0 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $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, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0; + var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond75 = 0, $exitcond78 = 0, $exitcond80 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer14 = 0, $vararg_buffer17 = 0; + var $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr20 = 0, $vararg_ptr21 = 0, $vararg_ptr22 = 0, $vararg_ptr6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer17 = sp + 48|0; + $vararg_buffer14 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $0 = (_malloc(24576)|0); + HEAP32[(23936)>>2] = $0; + $1 = (_malloc(8192)|0); + HEAP32[(23944)>>2] = $1; + HEAP32[(23940)>>2] = 0; + HEAP32[(23948)>>2] = 0; + _memset(($0|0),0,24576)|0; + $$05972 = 0; + while(1) { + $2 = HEAP32[(23944)>>2]|0; + $3 = (($2) + ($$05972)|0); + HEAP8[$3>>0] = 0; + $4 = (($$05972) + 1)|0; + $exitcond80 = ($4|0)==(8192); + if ($exitcond80) { + break; + } else { + $$05972 = $4; + } + } + HEAP32[5981] = 0; + HEAP32[(23932)>>2] = 0; + HEAP32[(23928)>>2] = 0; + $5 = (_malloc(73728)|0); + HEAP32[(23984)>>2] = $5; + $6 = (_malloc(24576)|0); + HEAP32[(23992)>>2] = $6; + HEAP32[(23988)>>2] = 0; + HEAP32[(23996)>>2] = 0; + _memset(($5|0),0,73728)|0; + $$05770 = 0; + while(1) { + $7 = HEAP32[(23992)>>2]|0; + $8 = (($7) + ($$05770)|0); + HEAP8[$8>>0] = 0; + $9 = (($$05770) + 1)|0; + $exitcond78 = ($9|0)==(24576); + if ($exitcond78) { + break; + } else { + $$05770 = $9; + } + } + HEAP32[5993] = 0; + HEAP32[(23980)>>2] = 0; + HEAP32[(23976)>>2] = 0; + $10 = (_malloc(49152)|0); + HEAP32[(24032)>>2] = $10; + $11 = (_malloc(32768)|0); + HEAP32[(24036)>>2] = $11; + $12 = (_malloc(16384)|0); + HEAP32[(24040)>>2] = $12; + $13 = (_malloc(12288)|0); + HEAP32[(24044)>>2] = $13; + $14 = HEAP32[(24032)>>2]|0; + _memset(($14|0),0,49152)|0; + $15 = HEAP32[(24036)>>2]|0; + _memset(($15|0),0,32768)|0; + $$05467 = 0; + while(1) { + $17 = HEAP32[(24040)>>2]|0; + $18 = (($17) + ($$05467)|0); + HEAP8[$18>>0] = 0; + $19 = (($$05467) + 1)|0; + $exitcond75 = ($19|0)==(16384); + if ($exitcond75) { + break; + } else { + $$05467 = $19; + } + } + $16 = HEAP32[(24044)>>2]|0; + $$05365 = 0;$$066 = 0; + while(1) { + $22 = $$05365 << 2; + $23 = $22&65535; + $24 = (($16) + ($$066<<1)|0); + HEAP16[$24>>1] = $23; + $25 = $22 | 1; + $26 = $25&65535; + $27 = $$066 | 1; + $28 = (($16) + ($27<<1)|0); + HEAP16[$28>>1] = $26; + $29 = $22 | 2; + $30 = $29&65535; + $31 = (($$066) + 2)|0; + $32 = (($16) + ($31<<1)|0); + HEAP16[$32>>1] = $30; + $33 = (($$066) + 3)|0; + $34 = (($16) + ($33<<1)|0); + HEAP16[$34>>1] = $23; + $35 = (($$066) + 4)|0; + $36 = (($16) + ($35<<1)|0); + HEAP16[$36>>1] = $30; + $37 = $22 | 3; + $38 = $37&65535; + $39 = (($$066) + 5)|0; + $40 = (($16) + ($39<<1)|0); + HEAP16[$40>>1] = $38; + $41 = (($$05365) + 1)|0; + $42 = (($$066) + 6)|0; + $exitcond = ($41|0)==(1024); + if ($exitcond) { + break; + } else { + $$05365 = $41;$$066 = $42; + } + } + HEAP32[6005] = 0; + HEAP32[(24024)>>2] = 0; + HEAP32[(24028)>>2] = 0; + _TraceLog(0,6408,$vararg_buffer); + $20 = HEAP32[5683]|0; + $21 = ($20|0)==(0); + if (!($21)) { + $43 = HEAP32[5684]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(23952)); + $44 = HEAP32[5685]|0; + $45 = HEAP32[(23952)>>2]|0; + FUNCTION_TABLE_vi[$44 & 31]($45); + } + _glGenBuffers(2,((23956)|0)); + $46 = HEAP32[(23956)>>2]|0; + _glBindBuffer(34962,($46|0)); + $47 = HEAP32[(23936)>>2]|0; + _glBufferData(34962,24576,($47|0),35048); + $48 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($48|0)); + $49 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); + _glGenBuffers(2,((23960)|0)); + $50 = HEAP32[(23960)>>2]|0; + _glBindBuffer(34962,($50|0)); + $51 = HEAP32[(23944)>>2]|0; + _glBufferData(34962,8192,($51|0),35048); + $52 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($52|0)); + $53 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); + $54 = HEAP32[5683]|0; + $55 = ($54|0)==(0); + if ($55) { + $57 = HEAP32[(23956)>>2]|0; + $58 = HEAP32[(23960)>>2]|0; + HEAP32[$vararg_buffer3>>2] = $57; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $58; + _TraceLog(0,6546,$vararg_buffer3); + } else { + $56 = HEAP32[(23952)>>2]|0; + HEAP32[$vararg_buffer1>>2] = $56; + _TraceLog(0,6481,$vararg_buffer1); + } + $59 = HEAP32[5683]|0; + $60 = ($59|0)==(0); + if (!($60)) { + $61 = HEAP32[5684]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(24000)); + $62 = HEAP32[5685]|0; + $63 = HEAP32[(24000)>>2]|0; + FUNCTION_TABLE_vi[$62 & 31]($63); + } + _glGenBuffers(1,((24004)|0)); + $64 = HEAP32[(24004)>>2]|0; + _glBindBuffer(34962,($64|0)); + $65 = HEAP32[(23984)>>2]|0; + _glBufferData(34962,73728,($65|0),35048); + $66 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($66|0)); + $67 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((24008)|0)); + $68 = HEAP32[(24008)>>2]|0; + _glBindBuffer(34962,($68|0)); + $69 = HEAP32[(23992)>>2]|0; + _glBufferData(34962,24576,($69|0),35048); + $70 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($70|0)); + $71 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); + $72 = HEAP32[5683]|0; + $73 = ($72|0)==(0); + if ($73) { + $75 = HEAP32[(24004)>>2]|0; + $76 = HEAP32[(24008)>>2]|0; + HEAP32[$vararg_buffer10>>2] = $75; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $76; + _TraceLog(0,6692,$vararg_buffer10); + } else { + $74 = HEAP32[(24000)>>2]|0; + HEAP32[$vararg_buffer7>>2] = $74; + _TraceLog(0,6623,$vararg_buffer7); + } + $77 = HEAP32[5683]|0; + $78 = ($77|0)==(0); + if (!($78)) { + $79 = HEAP32[5684]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(24048)); + $80 = HEAP32[5685]|0; + $81 = HEAP32[(24048)>>2]|0; + FUNCTION_TABLE_vi[$80 & 31]($81); + } + _glGenBuffers(1,((24052)|0)); + $82 = HEAP32[(24052)>>2]|0; + _glBindBuffer(34962,($82|0)); + $83 = HEAP32[(24032)>>2]|0; + _glBufferData(34962,49152,($83|0),35048); + $84 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($84|0)); + $85 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); + _glGenBuffers(1,((24056)|0)); + $86 = HEAP32[(24056)>>2]|0; + _glBindBuffer(34962,($86|0)); + $87 = HEAP32[(24036)>>2]|0; + _glBufferData(34962,32768,($87|0),35048); + $88 = HEAP32[(22828)>>2]|0; + _glEnableVertexAttribArray(($88|0)); + $89 = HEAP32[(22828)>>2]|0; + _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); + _glGenBuffers(1,((24060)|0)); + $90 = HEAP32[(24060)>>2]|0; + _glBindBuffer(34962,($90|0)); + $91 = HEAP32[(24040)>>2]|0; + _glBufferData(34962,16384,($91|0),35048); + $92 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($92|0)); + $93 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); + _glGenBuffers(1,((24064)|0)); + $94 = HEAP32[(24064)>>2]|0; + _glBindBuffer(34963,($94|0)); + $95 = HEAP32[(24044)>>2]|0; + _glBufferData(34963,12288,($95|0),35044); + $96 = HEAP32[5683]|0; + $97 = ($96|0)==(0); + if ($97) { + $99 = HEAP32[(24052)>>2]|0; + $100 = HEAP32[(24056)>>2]|0; + $101 = HEAP32[(24060)>>2]|0; + $102 = HEAP32[(24064)>>2]|0; + HEAP32[$vararg_buffer17>>2] = $99; + $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); + HEAP32[$vararg_ptr20>>2] = $100; + $vararg_ptr21 = ((($vararg_buffer17)) + 8|0); + HEAP32[$vararg_ptr21>>2] = $101; + $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); + HEAP32[$vararg_ptr22>>2] = $102; + _TraceLog(0,6838,$vararg_buffer17); + } else { + $98 = HEAP32[(24048)>>2]|0; + HEAP32[$vararg_buffer14>>2] = $98; + _TraceLog(0,6773,$vararg_buffer14); + } + $103 = HEAP32[5683]|0; + $104 = ($103|0)==(0); + if ($104) { + STACKTOP = sp;return; + } + $105 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$105 & 31](0); + STACKTOP = sp;return; +} +function _LoadShaderProgram($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$alloca_mul = 0, $$alloca_mul34 = 0, $$alloca_mul36 = 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; + var $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer22 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $vararg_buffer22 = sp + 64|0; + $vararg_buffer19 = sp + 56|0; + $vararg_buffer16 = sp + 48|0; + $vararg_buffer13 = sp + 40|0; + $vararg_buffer10 = sp + 32|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = sp + 68|0; + $6 = (_glCreateShader(35633)|0); + $7 = (_glCreateShader(35632)|0); + HEAP32[$2>>2] = $0; + HEAP32[$3>>2] = $1; + _glShaderSource(($6|0),1,($2|0),(0|0)); + _glShaderSource(($7|0),1,($3|0),(0|0)); + HEAP32[$4>>2] = 0; + _glCompileShader(($6|0)); + _glGetShaderiv(($6|0),35713,($4|0)); + $8 = HEAP32[$4>>2]|0; + $9 = ($8|0)==(1); + if ($9) { + HEAP32[$vararg_buffer4>>2] = $6; + _TraceLog(0,8171,$vararg_buffer4); + } else { + HEAP32[$vararg_buffer>>2] = $6; + _TraceLog(2,8119,$vararg_buffer); + HEAP32[$vararg_buffer>>2] = 0; + _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); + $10 = HEAP32[$vararg_buffer>>2]|0; + $11 = (_llvm_stacksave()|0); + $$alloca_mul = $10; + $12 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul)|0)+15)&-16)|0);; + $13 = HEAP32[$vararg_buffer>>2]|0; + _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); + HEAP32[$vararg_buffer1>>2] = $12; + _TraceLog(0,8168,$vararg_buffer1); + _llvm_stackrestore(($11|0)); + } + _glCompileShader(($7|0)); + _glGetShaderiv(($7|0),35713,($4|0)); + $14 = HEAP32[$4>>2]|0; + $15 = ($14|0)==(1); + if ($15) { + HEAP32[$vararg_buffer13>>2] = $7; + _TraceLog(0,8272,$vararg_buffer13); + } else { + HEAP32[$vararg_buffer7>>2] = $7; + _TraceLog(2,8221,$vararg_buffer7); + HEAP32[$vararg_buffer7>>2] = 0; + _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); + $16 = HEAP32[$vararg_buffer7>>2]|0; + $17 = (_llvm_stacksave()|0); + $$alloca_mul34 = $16; + $18 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul34)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul34)|0)+15)&-16)|0);; + $19 = HEAP32[$vararg_buffer7>>2]|0; + _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); + HEAP32[$vararg_buffer10>>2] = $18; + _TraceLog(0,8168,$vararg_buffer10); + _llvm_stackrestore(($17|0)); + } + $20 = (_glCreateProgram()|0); + _glAttachShader(($20|0),($6|0)); + _glAttachShader(($20|0),($7|0)); + _glBindAttribLocation(($20|0),0,(7963|0)); + _glBindAttribLocation(($20|0),1,(7978|0)); + _glBindAttribLocation(($20|0),2,(8009|0)); + _glBindAttribLocation(($20|0),3,(8036|0)); + _glBindAttribLocation(($20|0),4,(8022|0)); + _glBindAttribLocation(($20|0),5,(7993|0)); + _glLinkProgram(($20|0)); + _glGetProgramiv(($20|0),35714,($4|0)); + $21 = HEAP32[$4>>2]|0; + $22 = ($21|0)==(0); + if ($22) { + HEAP32[$vararg_buffer16>>2] = $20; + _TraceLog(2,8324,$vararg_buffer16); + HEAP32[$vararg_buffer16>>2] = 0; + _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); + $23 = HEAP32[$vararg_buffer16>>2]|0; + $24 = (_llvm_stacksave()|0); + $$alloca_mul36 = $23; + $25 = STACKTOP; STACKTOP = STACKTOP + ((((1*$$alloca_mul36)|0)+15)&-16)|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(((((1*$$alloca_mul36)|0)+15)&-16)|0);; + $26 = HEAP32[$vararg_buffer16>>2]|0; + _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); + HEAP32[$vararg_buffer19>>2] = $25; + _TraceLog(0,8168,$vararg_buffer19); + _glDeleteProgram(($20|0)); + _llvm_stackrestore(($24|0)); + $$0 = 0; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } else { + HEAP32[$vararg_buffer22>>2] = $20; + _TraceLog(0,8370,$vararg_buffer22); + $$0 = $20; + _glDeleteShader(($6|0)); + _glDeleteShader(($7|0)); + STACKTOP = sp;return ($$0|0); + } + return (0)|0; +} +function _LoadDefaultShaderLocations($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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_glGetAttribLocation(($1|0),(7963|0))|0); + $3 = ((($0)) + 4|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$0>>2]|0; + $5 = (_glGetAttribLocation(($4|0),(7978|0))|0); + $6 = ((($0)) + 8|0); + HEAP32[$6>>2] = $5; + $7 = HEAP32[$0>>2]|0; + $8 = (_glGetAttribLocation(($7|0),(7993|0))|0); + $9 = ((($0)) + 12|0); + HEAP32[$9>>2] = $8; + $10 = HEAP32[$0>>2]|0; + $11 = (_glGetAttribLocation(($10|0),(8009|0))|0); + $12 = ((($0)) + 16|0); + HEAP32[$12>>2] = $11; + $13 = HEAP32[$0>>2]|0; + $14 = (_glGetAttribLocation(($13|0),(8022|0))|0); + $15 = ((($0)) + 20|0); + HEAP32[$15>>2] = $14; + $16 = HEAP32[$0>>2]|0; + $17 = (_glGetAttribLocation(($16|0),(8036|0))|0); + $18 = ((($0)) + 24|0); + HEAP32[$18>>2] = $17; + $19 = HEAP32[$0>>2]|0; + $20 = (_glGetUniformLocation(($19|0),(8048|0))|0); + $21 = ((($0)) + 28|0); + HEAP32[$21>>2] = $20; + $22 = HEAP32[$0>>2]|0; + $23 = (_glGetUniformLocation(($22|0),(8058|0))|0); + $24 = ((($0)) + 32|0); + HEAP32[$24>>2] = $23; + $25 = HEAP32[$0>>2]|0; + $26 = (_glGetUniformLocation(($25|0),(8069|0))|0); + $27 = ((($0)) + 36|0); + HEAP32[$27>>2] = $26; + $28 = HEAP32[$0>>2]|0; + $29 = (_glGetUniformLocation(($28|0),(8080|0))|0); + $30 = ((($0)) + 40|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$0>>2]|0; + $32 = (_glGetUniformLocation(($31|0),(8092|0))|0); + $33 = ((($0)) + 44|0); + HEAP32[$33>>2] = $32; + $34 = HEAP32[$0>>2]|0; + $35 = (_glGetUniformLocation(($34|0),(8101|0))|0); + $36 = ((($0)) + 48|0); + HEAP32[$36>>2] = $35; + $37 = HEAP32[$0>>2]|0; + $38 = (_glGetUniformLocation(($37|0),(8110|0))|0); + $39 = ((($0)) + 52|0); + HEAP32[$39>>2] = $38; + return; +} +function _IsMouseButtonPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25241 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25244 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _IsMouseButtonReleased($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25241 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25244 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(0); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlClearScreenBuffers() { + var label = 0, sp = 0; + sp = STACKTOP; + _glClear(16640); + return; +} +function _CloseWindow() { + var $0 = 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; + _UnloadDefaultFont(); + _rlglClose(); + $0 = HEAP32[5602]|0; + _glfwDestroyWindow(($0|0)); + _glfwTerminate(); + _TraceLog(0,8682,$vararg_buffer); + STACKTOP = sp;return; +} +function _UnloadDefaultFont() { + var $$byval_copy = 0, $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy = sp; + ;HEAP32[$$byval_copy>>2]=HEAP32[22448>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[22448+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[22448+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[22448+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[22448+16>>2]|0; + _UnloadTexture($$byval_copy); + $0 = HEAP32[(22476)>>2]|0; + _free($0); + STACKTOP = sp;return; +} +function _rlglClose() { + var $0 = 0, $1 = 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; + _UnloadDefaultShader(); + _UnloadDefaultBuffers(); + _glDeleteTextures(1,(22760|0)); + $0 = HEAP32[5690]|0; + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(0,8709,$vararg_buffer); + $1 = HEAP32[5720]|0; + _free($1); + STACKTOP = sp;return; +} +function _UnloadDefaultShader() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + _glUseProgram(0); + $0 = HEAP32[5691]|0; + _glDeleteProgram(($0|0)); + return; +} +function _UnloadDefaultBuffers() { + var $0 = 0, $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; + $0 = HEAP32[5683]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$2 & 31](0); + } + _glDisableVertexAttribArray(0); + _glDisableVertexAttribArray(1); + _glDisableVertexAttribArray(2); + _glDisableVertexAttribArray(3); + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + _glDeleteBuffers(1,((23956)|0)); + _glDeleteBuffers(1,((23960)|0)); + _glDeleteBuffers(1,((24004)|0)); + _glDeleteBuffers(1,((24008)|0)); + _glDeleteBuffers(1,((24052)|0)); + _glDeleteBuffers(1,((24056)|0)); + _glDeleteBuffers(1,((24060)|0)); + _glDeleteBuffers(1,((24064)|0)); + $3 = HEAP32[5683]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5686]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(23952)); + $6 = HEAP32[5686]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(24000)); + $7 = HEAP32[5686]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(24048)); + } + $8 = HEAP32[(23936)>>2]|0; + _free($8); + $9 = HEAP32[(23944)>>2]|0; + _free($9); + $10 = HEAP32[(23984)>>2]|0; + _free($10); + $11 = HEAP32[(23992)>>2]|0; + _free($11); + $12 = HEAP32[(24032)>>2]|0; + _free($12); + $13 = HEAP32[(24036)>>2]|0; + _free($13); + $14 = HEAP32[(24040)>>2]|0; + _free($14); + $15 = HEAP32[(24044)>>2]|0; + _free($15); + return; +} +function _UnloadTexture($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 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 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(0); + if ($2) { + STACKTOP = sp;return; + } + _rlDeleteTextures($1); + $3 = HEAP32[$0>>2]|0; + HEAP32[$vararg_buffer>>2] = $3; + _TraceLog(0,8774,$vararg_buffer); + STACKTOP = sp;return; +} +function _rlDeleteTextures($0) { + $0 = $0|0; + var $1 = 0, $2 = 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] = $0; + $2 = ($0|0)==(0); + if (!($2)) { + _glDeleteTextures(1,($1|0)); + } + STACKTOP = sp;return; +} +function _BeginDrawing() { + var $0 = 0.0, $1 = 0.0, $2 = 0.0, $downscaleView$byval_copy = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $downscaleView$byval_copy = sp; + $0 = (+_GetTime()); + HEAPF64[2089] = $0; + $1 = +HEAPF64[2072]; + $2 = $0 - $1; + HEAPF64[2090] = $2; + HEAPF64[2072] = $0; + _rlClearScreenBuffers(); + _rlLoadIdentity(); + dest=$downscaleView$byval_copy; src=22504; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + (_MatrixToFloat($downscaleView$byval_copy)|0); + _rlMultMatrixf(24076); + STACKTOP = sp;return; +} +function _MatrixToFloat($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, $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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + HEAP32[6019] = $1; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + HEAP32[(24080)>>2] = $3; + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + HEAP32[(24084)>>2] = $5; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + HEAP32[(24088)>>2] = $7; + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[(24092)>>2] = $9; + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + HEAP32[(24096)>>2] = $11; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[(24100)>>2] = $13; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[(24104)>>2] = $15; + $16 = ((($0)) + 32|0); + $17 = HEAP32[$16>>2]|0; + HEAP32[(24108)>>2] = $17; + $18 = ((($0)) + 36|0); + $19 = HEAP32[$18>>2]|0; + HEAP32[(24112)>>2] = $19; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[(24116)>>2] = $21; + $22 = ((($0)) + 44|0); + $23 = HEAP32[$22>>2]|0; + HEAP32[(24120)>>2] = $23; + $24 = ((($0)) + 48|0); + $25 = HEAP32[$24>>2]|0; + HEAP32[(24124)>>2] = $25; + $26 = ((($0)) + 52|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[(24128)>>2] = $27; + $28 = ((($0)) + 56|0); + $29 = HEAP32[$28>>2]|0; + HEAP32[(24132)>>2] = $29; + $30 = ((($0)) + 60|0); + $31 = HEAP32[$30>>2]|0; + HEAP32[(24136)>>2] = $31; + return (24076|0); +} +function _rlMultMatrixf($0) { + $0 = $0|0; + var $$byval_copy = 0, $$byval_copy1 = 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; + 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, $41 = 0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + $3 = HEAP32[$0>>2]|0; + HEAP32[$1>>2] = $3; + $4 = ((($1)) + 4|0); + $5 = ((($0)) + 4|0); + $6 = HEAP32[$5>>2]|0; + HEAP32[$4>>2] = $6; + $7 = ((($1)) + 8|0); + $8 = ((($0)) + 8|0); + $9 = HEAP32[$8>>2]|0; + HEAP32[$7>>2] = $9; + $10 = ((($1)) + 12|0); + $11 = ((($0)) + 12|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($1)) + 16|0); + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + HEAP32[$13>>2] = $15; + $16 = ((($1)) + 20|0); + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + HEAP32[$16>>2] = $18; + $19 = ((($1)) + 24|0); + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + HEAP32[$19>>2] = $21; + $22 = ((($1)) + 28|0); + $23 = ((($0)) + 28|0); + $24 = HEAP32[$23>>2]|0; + HEAP32[$22>>2] = $24; + $25 = ((($1)) + 32|0); + $26 = ((($0)) + 32|0); + $27 = HEAP32[$26>>2]|0; + HEAP32[$25>>2] = $27; + $28 = ((($1)) + 36|0); + $29 = ((($0)) + 36|0); + $30 = HEAP32[$29>>2]|0; + HEAP32[$28>>2] = $30; + $31 = ((($1)) + 40|0); + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + HEAP32[$31>>2] = $33; + $34 = ((($1)) + 44|0); + $35 = ((($0)) + 44|0); + $36 = HEAP32[$35>>2]|0; + HEAP32[$34>>2] = $36; + $37 = ((($1)) + 48|0); + $38 = ((($0)) + 48|0); + $39 = HEAP32[$38>>2]|0; + HEAP32[$37>>2] = $39; + $40 = ((($1)) + 52|0); + $41 = ((($0)) + 52|0); + $42 = HEAP32[$41>>2]|0; + HEAP32[$40>>2] = $42; + $43 = ((($1)) + 56|0); + $44 = ((($0)) + 56|0); + $45 = HEAP32[$44>>2]|0; + HEAP32[$43>>2] = $45; + $46 = ((($1)) + 60|0); + $47 = ((($0)) + 60|0); + $48 = HEAP32[$47>>2]|0; + HEAP32[$46>>2] = $48; + $49 = HEAP32[5649]|0; + dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$$byval_copy,$$byval_copy1); + dest=$49; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _EndDrawing() { + var $0 = 0.0, $1 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + _rlglDraw(); + _SwapBuffers(); + _PollInputEvents(); + $0 = (+_GetTime()); + HEAPF64[2089] = $0; + $1 = +HEAPF64[2072]; + $2 = $0 - $1; + HEAPF64[2091] = $2; + HEAPF64[2072] = $0; + $3 = +HEAPF64[2090]; + $4 = $2 + $3; + HEAPF64[2092] = $4; + $5 = +HEAPF64[2069]; + $6 = $4 < $5; + if (!($6)) { + return; + } + $7 = $5 - $4; + $8 = $7 * 1000.0; + $9 = $8; + _Wait($9); + $10 = (+_GetTime()); + HEAPF64[2089] = $10; + $11 = +HEAPF64[2072]; + $12 = $10 - $11; + HEAPF64[2072] = $10; + $13 = +HEAPF64[2092]; + $14 = $12 + $13; + HEAPF64[2092] = $14; + return; +} +function _rlglDraw() { + var label = 0, sp = 0; + sp = STACKTOP; + _UpdateDefaultBuffers(); + _DrawDefaultBuffers(); + return; +} +function _SwapBuffers() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5602]|0; + _glfwSwapBuffers(($0|0)); + return; +} +function _PollInputEvents() { + var $$04857 = 0, $$05160 = 0, $$058 = 0, $$lcssa = 0, $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; + var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0.0, $40 = 0; + var $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep67 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1456|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1456|0); + $0 = sp + 1440|0; + $1 = sp + 1432|0; + $2 = sp; + _UpdateGestures(); + HEAP32[742] = -1; + HEAP32[744] = -1; + HEAP32[6035] = 0; + $3 = HEAP32[5602]|0; + _glfwGetCursorPos(($3|0),($0|0),($1|0)); + $4 = +HEAPF64[$0>>3]; + $5 = $4; + HEAPF32[4136] = $5; + $6 = +HEAPF64[$1>>3]; + $7 = $6; + HEAPF32[(16548)>>2] = $7; + _memcpy((25759|0),(25247|0),512)|0; + ;HEAP8[25244>>0]=HEAP8[25241>>0]|0;HEAP8[25244+1>>0]=HEAP8[25241+1>>0]|0;HEAP8[25244+2>>0]=HEAP8[25241+2>>0]|0; + $8 = HEAP32[6018]|0; + HEAP32[5605] = $8; + HEAP32[6018] = 0; + $9 = (_emscripten_get_num_gamepads()|0); + $10 = ($9|0)>(0); + if (!($10)) { + STACKTOP = sp;return; + } + $11 = ((($2)) + 12|0); + $12 = ((($2)) + 8|0); + $$05160 = 0; + while(1) { + $scevgep = (26271 + ($$05160<<5)|0); + $scevgep67 = (26399 + ($$05160<<5)|0); + dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); + $14 = ($13|0)==(0); + if ($14) { + $15 = HEAP32[$11>>2]|0; + $16 = ($15|0)>(0); + if ($16) { + $17 = HEAP32[$11>>2]|0; + $$04857 = 0; + while(1) { + $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = ($22|0)==(1); + $24 = ((26399 + ($$05160<<5)|0) + ($$04857)|0); + if ($23) { + HEAP8[$24>>0] = 1; + HEAP32[744] = $$04857; + } else { + HEAP8[$24>>0] = 0; + } + $25 = (($$04857) + 1)|0; + $26 = ($25|0)<($17|0); + $27 = ($25|0)<(32); + $28 = $27 & $26; + if ($28) { + $$04857 = $25; + } else { + break; + } + } + } + $18 = HEAP32[$12>>2]|0; + $19 = ($18|0)>(0); + if ($19) { + $20 = HEAP32[$12>>2]|0; + $$058 = 0; + while(1) { + $29 = (((($2)) + 16|0) + ($$058<<3)|0); + $30 = +HEAPF64[$29>>3]; + $31 = $30; + $32 = ((24144 + ($$05160<<5)|0) + ($$058<<2)|0); + HEAPF32[$32>>2] = $31; + $33 = (($$058) + 1)|0; + $34 = ($33|0)<($20|0); + $35 = ($33|0)<(8); + $36 = $35 & $34; + if ($36) { + $$058 = $33; + } else { + $$lcssa = $20; + break; + } + } + } else { + $$lcssa = $18; + } + HEAP32[6035] = $$lcssa; + } + $37 = (($$05160) + 1)|0; + $38 = ($37|0)<($9|0); + $39 = ($37|0)<(4); + $40 = $38 & $39; + if ($40) { + $$05160 = $37; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _Wait($0) { + $0 = +$0; + var $1 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (+_GetTime()); + $2 = 0.0 - $1; + $3 = $0 / 1000.0; + $4 = $3; + $5 = $2 < $4; + if (!($5)) { + return; + } + while(1) { + $6 = (+_GetTime()); + $7 = $6 - $1; + $8 = $7 < $4; + if (!($8)) { + break; + } + } + return; +} +function _UpdateDefaultBuffers() { + 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[5981]|0; + $1 = ($0|0)>(0); + if ($1) { + $2 = HEAP32[5683]|0; + $3 = ($2|0)==(0); + if (!($3)) { + $4 = HEAP32[5685]|0; + $5 = HEAP32[(23952)>>2]|0; + FUNCTION_TABLE_vi[$4 & 31]($5); + } + $6 = HEAP32[(23956)>>2]|0; + _glBindBuffer(34962,($6|0)); + $7 = HEAP32[5981]|0; + $8 = ($7*12)|0; + $9 = HEAP32[(23936)>>2]|0; + _glBufferSubData(34962,0,($8|0),($9|0)); + $10 = HEAP32[(23960)>>2]|0; + _glBindBuffer(34962,($10|0)); + $11 = HEAP32[(23932)>>2]|0; + $12 = $11 << 2; + $13 = HEAP32[(23944)>>2]|0; + _glBufferSubData(34962,0,($12|0),($13|0)); + } + $14 = HEAP32[5993]|0; + $15 = ($14|0)>(0); + if ($15) { + $16 = HEAP32[5683]|0; + $17 = ($16|0)==(0); + if (!($17)) { + $18 = HEAP32[5685]|0; + $19 = HEAP32[(24000)>>2]|0; + FUNCTION_TABLE_vi[$18 & 31]($19); + } + $20 = HEAP32[(24004)>>2]|0; + _glBindBuffer(34962,($20|0)); + $21 = HEAP32[5993]|0; + $22 = ($21*12)|0; + $23 = HEAP32[(23984)>>2]|0; + _glBufferSubData(34962,0,($22|0),($23|0)); + $24 = HEAP32[(24008)>>2]|0; + _glBindBuffer(34962,($24|0)); + $25 = HEAP32[(23980)>>2]|0; + $26 = $25 << 2; + $27 = HEAP32[(23992)>>2]|0; + _glBufferSubData(34962,0,($26|0),($27|0)); + } + $28 = HEAP32[6005]|0; + $29 = ($28|0)>(0); + if ($29) { + $30 = HEAP32[5683]|0; + $31 = ($30|0)==(0); + if (!($31)) { + $32 = HEAP32[5685]|0; + $33 = HEAP32[(24048)>>2]|0; + FUNCTION_TABLE_vi[$32 & 31]($33); + } + $34 = HEAP32[(24052)>>2]|0; + _glBindBuffer(34962,($34|0)); + $35 = HEAP32[6005]|0; + $36 = ($35*12)|0; + $37 = HEAP32[(24032)>>2]|0; + _glBufferSubData(34962,0,($36|0),($37|0)); + $38 = HEAP32[(24056)>>2]|0; + _glBindBuffer(34962,($38|0)); + $39 = HEAP32[6005]|0; + $40 = $39 << 3; + $41 = HEAP32[(24036)>>2]|0; + _glBufferSubData(34962,0,($40|0),($41|0)); + $42 = HEAP32[(24060)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[6005]|0; + $44 = $43 << 2; + $45 = HEAP32[(24040)>>2]|0; + _glBufferSubData(34962,0,($44|0),($45|0)); + } + $46 = HEAP32[5683]|0; + $47 = ($46|0)==(0); + if ($47) { + return; + } + $48 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$48 & 31](0); + return; +} +function _DrawDefaultBuffers() { + var $$ = 0, $$02830 = 0, $$02932 = 0, $$031 = 0, $$byval_copy2 = 0, $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; + 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, $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, $58 = 0; + var $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, $76 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $modelview$byval_copy = 0; + var $or$cond = 0, $or$cond3 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(320|0); + $$byval_copy2 = sp + 256|0; + $modelview$byval_copy = sp + 192|0; + $0 = sp + 128|0; + $1 = sp + 64|0; + $2 = sp; + dest=$0; src=22600; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=22664; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[6068]|0; + $4 = ($3|0)!=(0); + $$ = $4 ? 2 : 1; + $$02932 = 0; + while(1) { + if ($4) { + dest=$modelview$byval_copy; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); + } + $8 = HEAP32[5981]|0; + $9 = ($8|0)>(0); + $10 = HEAP32[5993]|0; + $11 = ($10|0)>(0); + $or$cond = $9 | $11; + $12 = HEAP32[6005]|0; + $13 = ($12|0)>(0); + $or$cond3 = $or$cond | $13; + if ($or$cond3) { + $14 = HEAP32[5705]|0; + _glUseProgram(($14|0)); + dest=$modelview$byval_copy; src=22664; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=22600; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); + $15 = HEAP32[(22848)>>2]|0; + dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $16 = (_MatrixToFloat($$byval_copy2)|0); + _glUniformMatrix4fv(($15|0),1,0,($16|0)); + $17 = HEAP32[(22852)>>2]|0; + _glUniform4f(($17|0),1.0,1.0,1.0,1.0); + $18 = HEAP32[(22864)>>2]|0; + _glUniform1i(($18|0),0); + } + $19 = HEAP32[5981]|0; + $20 = ($19|0)>(0); + if ($20) { + $21 = HEAP32[5690]|0; + _glBindTexture(3553,($21|0)); + $22 = HEAP32[5683]|0; + $23 = ($22|0)==(0); + if ($23) { + $26 = HEAP32[(23956)>>2]|0; + _glBindBuffer(34962,($26|0)); + $27 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); + $28 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($28|0)); + $29 = HEAP32[(23960)>>2]|0; + _glBindBuffer(34962,($29|0)); + $30 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); + $31 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($31|0)); + } else { + $24 = HEAP32[5685]|0; + $25 = HEAP32[(23952)>>2]|0; + FUNCTION_TABLE_vi[$24 & 31]($25); + } + $32 = HEAP32[5981]|0; + _glDrawArrays(1,0,($32|0)); + $33 = HEAP32[5683]|0; + $34 = ($33|0)==(0); + if ($34) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $35 = HEAP32[5993]|0; + $36 = ($35|0)>(0); + if ($36) { + $37 = HEAP32[5690]|0; + _glBindTexture(3553,($37|0)); + $38 = HEAP32[5683]|0; + $39 = ($38|0)==(0); + if ($39) { + $42 = HEAP32[(24004)>>2]|0; + _glBindBuffer(34962,($42|0)); + $43 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); + $44 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($44|0)); + $45 = HEAP32[(24008)>>2]|0; + _glBindBuffer(34962,($45|0)); + $46 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); + $47 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($47|0)); + } else { + $40 = HEAP32[5685]|0; + $41 = HEAP32[(24000)>>2]|0; + FUNCTION_TABLE_vi[$40 & 31]($41); + } + $48 = HEAP32[5993]|0; + _glDrawArrays(4,0,($48|0)); + $49 = HEAP32[5683]|0; + $50 = ($49|0)==(0); + if ($50) { + _glBindBuffer(34962,0); + } + _glBindTexture(3553,0); + } + $51 = HEAP32[6005]|0; + $52 = ($51|0)>(0); + if ($52) { + $53 = HEAP32[5683]|0; + $54 = ($53|0)==(0); + if ($54) { + $57 = HEAP32[(24052)>>2]|0; + _glBindBuffer(34962,($57|0)); + $58 = HEAP32[(22824)>>2]|0; + _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); + $59 = HEAP32[(22824)>>2]|0; + _glEnableVertexAttribArray(($59|0)); + $60 = HEAP32[(24056)>>2]|0; + _glBindBuffer(34962,($60|0)); + $61 = HEAP32[(22828)>>2]|0; + _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); + $62 = HEAP32[(22828)>>2]|0; + _glEnableVertexAttribArray(($62|0)); + $63 = HEAP32[(24060)>>2]|0; + _glBindBuffer(34962,($63|0)); + $64 = HEAP32[(22844)>>2]|0; + _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); + $65 = HEAP32[(22844)>>2]|0; + _glEnableVertexAttribArray(($65|0)); + $66 = HEAP32[(24064)>>2]|0; + _glBindBuffer(34963,($66|0)); + } else { + $55 = HEAP32[5685]|0; + $56 = HEAP32[(24048)>>2]|0; + FUNCTION_TABLE_vi[$55 & 31]($56); + } + $67 = HEAP32[5721]|0; + $68 = ($67|0)>(0); + if ($68) { + $$02830 = 0;$$031 = 0; + while(1) { + $71 = HEAP32[5720]|0; + $72 = (($71) + (($$031*144)|0)|0); + $73 = HEAP32[$72>>2]|0; + $74 = (($73|0) / 4)&-1; + $75 = ($74*6)|0; + $76 = (((($71) + (($$031*144)|0)|0)) + 8|0); + $77 = HEAP32[$76>>2]|0; + _glBindTexture(3553,($77|0)); + $78 = $$02830 << 1; + $79 = $78; + _glDrawElements(4,($75|0),5123,($79|0)); + $80 = HEAP32[5720]|0; + $81 = (($80) + (($$031*144)|0)|0); + $82 = HEAP32[$81>>2]|0; + $83 = (($82|0) / 4)&-1; + $84 = ($83*6)|0; + $85 = (($84) + ($$02830))|0; + $86 = (($$031) + 1)|0; + $87 = HEAP32[5721]|0; + $88 = ($86|0)<($87|0); + if ($88) { + $$02830 = $85;$$031 = $86; + } else { + break; + } + } + } + $69 = HEAP32[5683]|0; + $70 = ($69|0)==(0); + if ($70) { + _glBindBuffer(34962,0); + _glBindBuffer(34963,0); + } + _glBindTexture(3553,0); + } + $89 = HEAP32[5683]|0; + $90 = ($89|0)==(0); + if (!($90)) { + $91 = HEAP32[5685]|0; + FUNCTION_TABLE_vi[$91 & 31](0); + } + _glUseProgram(0); + $92 = (($$02932) + 1)|0; + $93 = ($92|0)<($$|0); + if ($93) { + $$02932 = $92; + } else { + break; + } + } + HEAP32[5721] = 1; + $5 = HEAP32[5690]|0; + $6 = HEAP32[5720]|0; + $7 = ((($6)) + 8|0); + HEAP32[$7>>2] = $5; + HEAP32[$6>>2] = 0; + HEAP32[5981] = 0; + HEAP32[(23932)>>2] = 0; + HEAP32[5993] = 0; + HEAP32[(23980)>>2] = 0; + HEAP32[6005] = 0; + HEAP32[(24024)>>2] = 0; + HEAP32[(24028)>>2] = 0; + HEAPF32[745] = -1.0; + dest=22600; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=22664; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _SetStereoView($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy3 = sp + 192|0; + $$byval_copy = sp + 64|0; + $3 = sp; + $4 = sp + 128|0; + dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $5 = HEAP32[5979]|0; + $6 = Math_imul($5, $0)|0; + $7 = (($6|0) / 2)&-1; + $8 = (($5|0) / 2)&-1; + $9 = HEAP32[5980]|0; + _rlViewport($7,0,$8,$9); + $10 = (24504 + ($0<<6)|0); + dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy3); + $11 = (24376 + ($0<<6)|0); + dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixModelview($$byval_copy3); + dest=$$byval_copy3; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _SetMatrixProjection($$byval_copy3); + STACKTOP = sp;return; +} +function _SetMatrixModelview($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=22664; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _SetMatrixProjection($0) { + $0 = $0|0; + var dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + dest=22600; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + return; +} +function _rlPushMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $vararg_buffer = sp; + $0 = HEAP32[6158]|0; + $1 = ($0|0)==(15); + if ($1) { + HEAP32[$vararg_buffer>>2] = 16; + _TraceLog(1,8824,$vararg_buffer); + } + $2 = HEAP32[6158]|0; + $3 = (22892 + ($2<<6)|0); + $4 = HEAP32[5649]|0; + dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _rlLoadIdentity(); + $5 = HEAP32[6158]|0; + $6 = (($5) + 1)|0; + HEAP32[6158] = $6; + $7 = HEAP32[5682]|0; + $8 = ($7|0)==(5888); + if (!($8)) { + STACKTOP = sp;return; + } + HEAP32[6159] = 1; + STACKTOP = sp;return; +} +function _rlPopMatrix() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6158]|0; + $1 = ($0|0)>(0); + if (!($1)) { + return; + } + $2 = HEAP32[6158]|0; + $3 = (($2) + -1)|0; + $4 = (22892 + ($3<<6)|0); + $5 = HEAP32[5649]|0; + _memmove(($5|0),($4|0),64)|0; + $6 = (($2) + -1)|0; + HEAP32[6158] = $6; + return; +} +function _GetRandomValue($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $$10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $ispos = 0, $neg = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)>($1|0); + $$ = $2 ? $0 : $1; + $$10 = $2 ? $1 : $0; + $3 = (_rand()|0); + $4 = (($$) - ($$10))|0; + $ispos = ($4|0)>(-1); + $neg = (0 - ($4))|0; + $5 = $ispos ? $4 : $neg; + $6 = (($5) + 1)|0; + $7 = (($3|0) % ($6|0))&-1; + $8 = (($7) + ($$10))|0; + return ($8|0); +} +function _Fade($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = +$2; + var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $2 < 0.0; + if ($3) { + $$0 = 0.0; + } else { + $4 = $2 > 1.0; + if ($4) { + $$0 = 1.0; + } else { + $$0 = $2; + } + } + $5 = ((($1)) + 3|0); + $6 = HEAP8[$5>>0]|0; + $7 = (+($6&255)); + $8 = $$0 * $7; + $9 = HEAP8[$1>>0]|0; + HEAP8[$0>>0] = $9; + $10 = ((($0)) + 1|0); + $11 = ((($1)) + 1|0); + $12 = HEAP8[$11>>0]|0; + HEAP8[$10>>0] = $12; + $13 = ((($0)) + 2|0); + $14 = ((($1)) + 2|0); + $15 = HEAP8[$14>>0]|0; + HEAP8[$13>>0] = $15; + $16 = ((($0)) + 3|0); + $17 = (~~(($8))&255); + HEAP8[$16>>0] = $17; + return; +} +function _IsFileExtension($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$ = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strrchr($0,46)|0); + $3 = ($2|0)==(0|0); + if ($3) { + return 0; + } else { + $4 = (_strcmp($2,$1)|0); + $5 = ($4|0)==(0); + $$ = $5&1; + return ($$|0); + } + return (0)|0; +} +function _IsKeyPressed($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (25247 + ($0)|0); + $2 = HEAP8[$1>>0]|0; + $3 = (25759 + ($0)|0); + $4 = HEAP8[$3>>0]|0; + $5 = ($2<<24>>24)!=($4<<24>>24); + $6 = ($2<<24>>24)==(1); + $or$cond = $6 & $5; + $$0 = $or$cond&1; + return ($$0|0); +} +function _rlTranslatef($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0); + $$byval_copy1 = sp + 192|0; + $$byval_copy = sp + 128|0; + $3 = sp + 64|0; + $4 = sp; + _MatrixTranslate($3,$0,$1,$2); + _MatrixTranspose($3); + $5 = HEAP32[5649]|0; + dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($4,$$byval_copy,$$byval_copy1); + dest=$5; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlRotatef($0,$1,$2,$3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(336|0); + $$byval_copy2 = sp + 272|0; + $$byval_copy1 = sp + 208|0; + $4 = sp + 144|0; + $5 = sp + 64|0; + $6 = sp + 80|0; + $7 = sp; + _MatrixIdentity($4); + HEAPF32[$5>>2] = $1; + $8 = ((($5)) + 4|0); + HEAPF32[$8>>2] = $2; + $9 = ((($5)) + 8|0); + HEAPF32[$9>>2] = $3; + _VectorNormalize($5); + $10 = $0 * 0.01745329238474369; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$5+8>>2]|0; + _MatrixRotate($6,$$byval_copy2,$10); + dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixTranspose($4); + $11 = HEAP32[5649]|0; + dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); + dest=$11; src=$7; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + STACKTOP = sp;return; +} +function _rlBegin($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[5722] = $0; + return; +} +function _rlEnd() { + var $$03956 = 0, $$04052 = 0, $$04154 = 0, $$04248 = 0, $$04347 = 0, $$byval_copy = 0, $$promoted = 0, $0 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0; + var $128 = 0, $129 = 0, $13 = 0.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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0; + var $146 = 0, $147 = 0, $148 = 0.0, $149 = 0.0, $15 = 0.0, $16 = 0, $17 = 0.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, $29 = 0; + var $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, $47 = 0; + var $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, $65 = 0; + var $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, $83 = 0; + var $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, $exitcond = 0, $exitcond60 = 0, $exitcond63 = 0; + var $scevgep = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy = sp; + $0 = HEAP32[6159]|0; + $1 = ($0|0)==(0); + if (!($1)) { + $2 = HEAP32[6160]|0; + $3 = ($2|0)>(0); + if ($3) { + $$03956 = 0; + while(1) { + $6 = HEAP32[5719]|0; + $7 = (($6) + (($$03956*12)|0)|0); + $8 = HEAP32[5649]|0; + dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + _VectorTransform($7,$$byval_copy); + $9 = (($$03956) + 1)|0; + $5 = HEAP32[6160]|0; + $10 = ($9|0)<($5|0); + if ($10) { + $$03956 = $9; + } else { + break; + } + } + HEAP32[6159] = 0; + $4 = ($5|0)>(0); + if ($4) { + $$04154 = 0; + while(1) { + $11 = HEAP32[5719]|0; + $12 = (($11) + (($$04154*12)|0)|0); + $13 = +HEAPF32[$12>>2]; + $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); + $15 = +HEAPF32[$14>>2]; + $16 = (((($11) + (($$04154*12)|0)|0)) + 8|0); + $17 = +HEAPF32[$16>>2]; + _rlVertex3f($13,$15,$17); + $18 = (($$04154) + 1)|0; + $19 = HEAP32[6160]|0; + $20 = ($18|0)<($19|0); + if ($20) { + $$04154 = $18; + } else { + break; + } + } + } + } else { + HEAP32[6159] = 0; + } + HEAP32[6160] = 0; + } + $21 = HEAP32[5722]|0; + switch ($21|0) { + case 1: { + $22 = HEAP32[5981]|0; + $23 = HEAP32[(23932)>>2]|0; + $24 = ($22|0)==($23|0); + if ($24) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $25 = (($22) - ($23))|0; + $26 = ($25|0)>(0); + if ($26) { + $$04347 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $27 = HEAP32[(23944)>>2]|0; + $28 = HEAP32[(23932)>>2]|0; + $29 = $28 << 2; + $30 = (($29) + -4)|0; + $31 = (($27) + ($30)|0); + $32 = HEAP8[$31>>0]|0; + $33 = (($27) + ($29)|0); + HEAP8[$33>>0] = $32; + $34 = HEAP32[(23944)>>2]|0; + $35 = HEAP32[(23932)>>2]|0; + $36 = $35 << 2; + $37 = (($36) + -3)|0; + $38 = (($34) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + $40 = $36 | 1; + $41 = (($34) + ($40)|0); + HEAP8[$41>>0] = $39; + $42 = HEAP32[(23944)>>2]|0; + $43 = HEAP32[(23932)>>2]|0; + $44 = $43 << 2; + $45 = (($44) + -2)|0; + $46 = (($42) + ($45)|0); + $47 = HEAP8[$46>>0]|0; + $48 = $44 | 2; + $49 = (($42) + ($48)|0); + HEAP8[$49>>0] = $47; + $50 = HEAP32[(23944)>>2]|0; + $51 = HEAP32[(23932)>>2]|0; + $52 = $51 << 2; + $53 = (($52) + -1)|0; + $54 = (($50) + ($53)|0); + $55 = HEAP8[$54>>0]|0; + $56 = $52 | 3; + $57 = (($50) + ($56)|0); + HEAP8[$57>>0] = $55; + $58 = HEAP32[(23932)>>2]|0; + $59 = (($58) + 1)|0; + HEAP32[(23932)>>2] = $59; + $60 = (($$04347) + 1)|0; + $exitcond = ($60|0)==($25|0); + if ($exitcond) { + break; + } else { + $$04347 = $60; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 4: { + $61 = HEAP32[5993]|0; + $62 = HEAP32[(23980)>>2]|0; + $63 = ($61|0)==($62|0); + if ($63) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $64 = (($61) - ($62))|0; + $65 = ($64|0)>(0); + if ($65) { + $$04248 = 0; + } else { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + while(1) { + $66 = HEAP32[(23992)>>2]|0; + $67 = HEAP32[(23980)>>2]|0; + $68 = $67 << 2; + $69 = (($68) + -4)|0; + $70 = (($66) + ($69)|0); + $71 = HEAP8[$70>>0]|0; + $72 = (($66) + ($68)|0); + HEAP8[$72>>0] = $71; + $73 = HEAP32[(23992)>>2]|0; + $74 = HEAP32[(23980)>>2]|0; + $75 = $74 << 2; + $76 = (($75) + -3)|0; + $77 = (($73) + ($76)|0); + $78 = HEAP8[$77>>0]|0; + $79 = $75 | 1; + $80 = (($73) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = HEAP32[(23992)>>2]|0; + $82 = HEAP32[(23980)>>2]|0; + $83 = $82 << 2; + $84 = (($83) + -2)|0; + $85 = (($81) + ($84)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $83 | 2; + $88 = (($81) + ($87)|0); + HEAP8[$88>>0] = $86; + $89 = HEAP32[(23992)>>2]|0; + $90 = HEAP32[(23980)>>2]|0; + $91 = $90 << 2; + $92 = (($91) + -1)|0; + $93 = (($89) + ($92)|0); + $94 = HEAP8[$93>>0]|0; + $95 = $91 | 3; + $96 = (($89) + ($95)|0); + HEAP8[$96>>0] = $94; + $97 = HEAP32[(23980)>>2]|0; + $98 = (($97) + 1)|0; + HEAP32[(23980)>>2] = $98; + $99 = (($$04248) + 1)|0; + $exitcond60 = ($99|0)==($64|0); + if ($exitcond60) { + break; + } else { + $$04248 = $99; + } + } + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + case 7: { + $100 = HEAP32[6005]|0; + $101 = HEAP32[(24028)>>2]|0; + $102 = ($100|0)==($101|0); + if (!($102)) { + $103 = (($100) - ($101))|0; + $104 = ($103|0)>(0); + if ($104) { + $$04052 = 0; + while(1) { + $105 = HEAP32[(24040)>>2]|0; + $106 = HEAP32[(24028)>>2]|0; + $107 = $106 << 2; + $108 = (($107) + -4)|0; + $109 = (($105) + ($108)|0); + $110 = HEAP8[$109>>0]|0; + $111 = (($105) + ($107)|0); + HEAP8[$111>>0] = $110; + $112 = HEAP32[(24040)>>2]|0; + $113 = HEAP32[(24028)>>2]|0; + $114 = $113 << 2; + $115 = (($114) + -3)|0; + $116 = (($112) + ($115)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $114 | 1; + $119 = (($112) + ($118)|0); + HEAP8[$119>>0] = $117; + $120 = HEAP32[(24040)>>2]|0; + $121 = HEAP32[(24028)>>2]|0; + $122 = $121 << 2; + $123 = (($122) + -2)|0; + $124 = (($120) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = $122 | 2; + $127 = (($120) + ($126)|0); + HEAP8[$127>>0] = $125; + $128 = HEAP32[(24040)>>2]|0; + $129 = HEAP32[(24028)>>2]|0; + $130 = $129 << 2; + $131 = (($130) + -1)|0; + $132 = (($128) + ($131)|0); + $133 = HEAP8[$132>>0]|0; + $134 = $130 | 3; + $135 = (($128) + ($134)|0); + HEAP8[$135>>0] = $133; + $136 = HEAP32[(24028)>>2]|0; + $137 = (($136) + 1)|0; + HEAP32[(24028)>>2] = $137; + $138 = (($$04052) + 1)|0; + $exitcond63 = ($138|0)==($103|0); + if ($exitcond63) { + break; + } else { + $$04052 = $138; + } + } + } + } + $139 = HEAP32[6005]|0; + $140 = HEAP32[(24024)>>2]|0; + $141 = ($139|0)>($140|0); + if (!($141)) { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + $142 = HEAP32[(24036)>>2]|0; + $$promoted = HEAP32[(24024)>>2]|0; + $143 = $$promoted << 1; + $scevgep = (($142) + ($143<<2)|0); + $144 = (($139) - ($140))|0; + $145 = $144 << 3; + _memset(($scevgep|0),0,($145|0))|0; + $146 = (($139) + ($$promoted))|0; + $147 = (($146) - ($140))|0; + HEAP32[(24024)>>2] = $147; + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + break; + } + default: { + $148 = +HEAPF32[745]; + $149 = $148 + 4.9999998736893758E-5; + HEAPF32[745] = $149; + STACKTOP = sp;return; + } + } +} +function _rlVertex3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $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, $29 = 0; + var $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, $47 = 0; + var $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; + $3 = HEAP32[6159]|0; + $4 = ($3|0)==(0); + if (!($4)) { + $5 = HEAP32[5719]|0; + $6 = HEAP32[6160]|0; + $7 = (($5) + (($6*12)|0)|0); + HEAPF32[$7>>2] = $0; + $8 = (((($5) + (($6*12)|0)|0)) + 4|0); + HEAPF32[$8>>2] = $1; + $9 = (((($5) + (($6*12)|0)|0)) + 8|0); + HEAPF32[$9>>2] = $2; + $10 = (($6) + 1)|0; + HEAP32[6160] = $10; + STACKTOP = sp;return; + } + $11 = HEAP32[5722]|0; + switch ($11|0) { + case 1: { + $12 = HEAP32[5981]|0; + $13 = ($12|0)<(2048); + if ($13) { + $14 = HEAP32[(23936)>>2]|0; + $15 = ($12*3)|0; + $16 = (($14) + ($15<<2)|0); + HEAPF32[$16>>2] = $0; + $17 = (($15) + 1)|0; + $18 = (($14) + ($17<<2)|0); + HEAPF32[$18>>2] = $1; + $19 = (($15) + 2)|0; + $20 = (($14) + ($19<<2)|0); + HEAPF32[$20>>2] = $2; + $21 = (($12) + 1)|0; + HEAP32[5981] = $21; + STACKTOP = sp;return; + } else { + _TraceLog(1,8862,$vararg_buffer); + STACKTOP = sp;return; + } + break; + } + case 4: { + $22 = HEAP32[5993]|0; + $23 = ($22|0)<(6144); + if ($23) { + $24 = HEAP32[(23984)>>2]|0; + $25 = ($22*3)|0; + $26 = (($24) + ($25<<2)|0); + HEAPF32[$26>>2] = $0; + $27 = (($25) + 1)|0; + $28 = (($24) + ($27<<2)|0); + HEAPF32[$28>>2] = $1; + $29 = (($25) + 2)|0; + $30 = (($24) + ($29<<2)|0); + HEAPF32[$30>>2] = $2; + $31 = (($22) + 1)|0; + HEAP32[5993] = $31; + STACKTOP = sp;return; + } else { + _TraceLog(1,8887,$vararg_buffer1); + STACKTOP = sp;return; + } + break; + } + case 7: { + $32 = HEAP32[6005]|0; + $33 = ($32|0)<(4096); + if ($33) { + $34 = HEAP32[(24032)>>2]|0; + $35 = ($32*3)|0; + $36 = (($34) + ($35<<2)|0); + HEAPF32[$36>>2] = $0; + $37 = (($35) + 1)|0; + $38 = (($34) + ($37<<2)|0); + HEAPF32[$38>>2] = $1; + $39 = (($35) + 2)|0; + $40 = (($34) + ($39<<2)|0); + HEAPF32[$40>>2] = $2; + $41 = (($32) + 1)|0; + HEAP32[6005] = $41; + $42 = HEAP32[5720]|0; + $43 = HEAP32[5721]|0; + $44 = (($43) + -1)|0; + $45 = (($42) + (($44*144)|0)|0); + $46 = HEAP32[$45>>2]|0; + $47 = (($46) + 1)|0; + HEAP32[$45>>2] = $47; + STACKTOP = sp;return; + } else { + _TraceLog(1,8916,$vararg_buffer3); + STACKTOP = sp;return; + } + break; + } + default: { + STACKTOP = sp;return; + } + } +} +function _rlVertex2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[745]; + _rlVertex3f($0,$1,$2); + return; +} +function _rlTexCoord2f($0,$1) { + $0 = +$0; + $1 = +$1; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[5722]|0; + $3 = ($2|0)==(7); + if (!($3)) { + return; + } + $4 = HEAP32[(24036)>>2]|0; + $5 = HEAP32[(24024)>>2]|0; + $6 = $5 << 1; + $7 = (($4) + ($6<<2)|0); + HEAPF32[$7>>2] = $0; + $8 = $6 | 1; + $9 = (($4) + ($8<<2)|0); + HEAPF32[$9>>2] = $1; + $10 = (($5) + 1)|0; + HEAP32[(24024)>>2] = $10; + return; +} +function _rlNormal3f($0,$1,$2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var label = 0, sp = 0; + sp = STACKTOP; + return; +} +function _rlColor4ub($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = HEAP32[5722]|0; + switch ($4|0) { + case 1: { + $$sink37 = (23932);$$sink38 = (23944); + break; + } + case 4: { + $$sink37 = (23980);$$sink38 = (23992); + break; + } + case 7: { + $$sink37 = (24028);$$sink38 = (24040); + break; + } + default: { + return; + } + } + $5 = HEAP32[$$sink38>>2]|0; + $6 = HEAP32[$$sink37>>2]|0; + $7 = $6 << 2; + $8 = (($5) + ($7)|0); + HEAP8[$8>>0] = $0; + $9 = HEAP32[$$sink38>>2]|0; + $10 = HEAP32[$$sink37>>2]|0; + $11 = $10 << 2; + $12 = $11 | 1; + $13 = (($9) + ($12)|0); + HEAP8[$13>>0] = $1; + $14 = HEAP32[$$sink38>>2]|0; + $15 = HEAP32[$$sink37>>2]|0; + $16 = $15 << 2; + $17 = $16 | 2; + $18 = (($14) + ($17)|0); + HEAP8[$18>>0] = $2; + $19 = HEAP32[$$sink38>>2]|0; + $20 = HEAP32[$$sink37>>2]|0; + $21 = $20 << 2; + $22 = $21 | 3; + $23 = (($19) + ($22)|0); + HEAP8[$23>>0] = $3; + $24 = HEAP32[$$sink37>>2]|0; + $25 = (($24) + 1)|0; + HEAP32[$$sink37>>2] = $25; + return; +} +function _rlEnableTexture($0) { + $0 = $0|0; + var $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 = HEAP32[5720]|0; + $2 = HEAP32[5721]|0; + $3 = (($2) + -1)|0; + $4 = (((($1) + (($3*144)|0)|0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==($0|0); + if ($6) { + return; + } + $7 = (($1) + (($3*144)|0)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)>(0); + if ($9) { + $10 = (($2) + 1)|0; + HEAP32[5721] = $10; + } + $11 = HEAP32[5721]|0; + $12 = (($11) + -1)|0; + $13 = (((($1) + (($12*144)|0)|0)) + 8|0); + HEAP32[$13>>2] = $0; + $14 = (($1) + (($12*144)|0)|0); + HEAP32[$14>>2] = 0; + return; +} +function _rlDisableTexture() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = HEAP32[6005]|0; + $1 = ($0|0)>(4095); + if (!($1)) { + return; + } + _rlglDraw(); + return; +} +function _BeginBlendMode($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[6161]|0; + $2 = ($1|0)!=($0|0); + $3 = ($0|0)<(3); + $or$cond = $3 & $2; + if (!($or$cond)) { + return; + } + _rlglDraw(); + switch ($0|0) { + case 0: { + _glBlendFunc(770,771); + break; + } + case 1: { + _glBlendFunc(770,1); + break; + } + case 2: { + _glBlendFunc(774,771); + break; + } + default: { + } + } + HEAP32[6161] = $0; + return; +} +function _EndBlendMode() { + var label = 0, sp = 0; + sp = STACKTOP; + _BeginBlendMode(0); + return; +} +function _stbi__err($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[6162] = $0; + return; +} +function _stbi_load_from_file($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0); + $5 = sp; + _stbi__start_file($5,$0); + $6 = (_stbi__load_and_postprocess_8bit($5,$1,$2,$3,$4)|0); + $7 = ($6|0)==(0|0); + if ($7) { + STACKTOP = sp;return ($6|0); + } + $8 = ((($5)) + 172|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($5)) + 168|0); + $11 = HEAP32[$10>>2]|0; + $12 = (($11) - ($9))|0; + (_fseek($0,$12,1)|0); + STACKTOP = sp;return ($6|0); +} +function _stbi__start_file($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + _stbi__start_callbacks($0,3096,$1); + return; +} +function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $$070 = 0, $$07175 = 0, $$07276 = 0, $$07378 = 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; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond79 = 0, $exitcond80 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = (_stbi__load_main($0,$1,$2,$3,$4,$5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $8 = HEAP32[$5>>2]|0; + switch ($8|0) { + case 8: { + $$070 = $6; + break; + } + case 16: { + label = 4; + break; + } + default: { + ___assert_fail((8941|0),(8967|0),1041,(8990|0)); + // unreachable; + } + } + if ((label|0) == 4) { + $9 = HEAP32[$1>>2]|0; + $10 = HEAP32[$2>>2]|0; + $11 = ($4|0)==(0); + if ($11) { + $12 = HEAP32[$3>>2]|0; + $13 = $12; + } else { + $13 = $4; + } + $14 = (_stbi__convert_16_to_8($6,$9,$10,$13)|0); + HEAP32[$5>>2] = 8; + $$070 = $14; + } + $15 = HEAP32[6163]|0; + $16 = ($15|0)==(0); + if ($16) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $17 = HEAP32[$1>>2]|0; + $18 = HEAP32[$2>>2]|0; + $19 = ($4|0)==(0); + if ($19) { + $20 = HEAP32[$3>>2]|0; + $25 = $20; + } else { + $25 = $4; + } + $21 = $18 >> 1; + $22 = ($21|0)>(0); + if (!($22)) { + $$0 = $$070; + STACKTOP = sp;return ($$0|0); + } + $23 = ($17|0)>(0); + $24 = ($25|0)>(0); + $26 = (($18) + -1)|0; + $$07378 = 0; + while(1) { + if ($23) { + $27 = Math_imul($$07378, $17)|0; + $28 = (($26) - ($$07378))|0; + $29 = Math_imul($28, $17)|0; + $$07276 = 0; + while(1) { + if ($24) { + $30 = (($$07276) + ($27))|0; + $31 = Math_imul($30, $25)|0; + $32 = (($$07276) + ($29))|0; + $33 = Math_imul($32, $25)|0; + $$07175 = 0; + while(1) { + $34 = (($$07175) + ($31))|0; + $35 = (($$070) + ($34)|0); + $36 = HEAP8[$35>>0]|0; + $37 = (($$07175) + ($33))|0; + $38 = (($$070) + ($37)|0); + $39 = HEAP8[$38>>0]|0; + HEAP8[$35>>0] = $39; + HEAP8[$38>>0] = $36; + $40 = (($$07175) + 1)|0; + $exitcond = ($40|0)==($25|0); + if ($exitcond) { + break; + } else { + $$07175 = $40; + } + } + } + $41 = (($$07276) + 1)|0; + $exitcond79 = ($41|0)==($17|0); + if ($exitcond79) { + break; + } else { + $$07276 = $41; + } + } + } + $42 = (($$07378) + 1)|0; + $exitcond80 = ($42|0)==($21|0); + if ($exitcond80) { + $$0 = $$070; + break; + } else { + $$07378 = $42; + } + } + STACKTOP = sp;return ($$0|0); +} +function _stbi__load_main($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$0 = 0, $10 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$5>>2] = 8; + $6 = ((($5)) + 8|0); + HEAP32[$6>>2] = 0; + $7 = ((($5)) + 4|0); + HEAP32[$7>>2] = 0; + $8 = (_stbi__png_test($0)|0); + $9 = ($8|0)==(0); + if ($9) { + _stbi__err(9031); + $$0 = 0; + return ($$0|0); + } else { + $10 = (_stbi__png_load($0,$1,$2,$3,$4,$5)|0); + $$0 = $10; + return ($$0|0); + } + return (0)|0; +} +function _stbi__convert_16_to_8($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$0 = 0, $$01819 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $4 = Math_imul($2, $1)|0; + $5 = Math_imul($4, $3)|0; + $6 = (_stbi__malloc($5)|0); + $7 = ($6|0)==(0|0); + if ($7) { + _stbi__err(9022); + $$0 = 0; + return ($$0|0); + } + $8 = ($5|0)>(0); + if ($8) { + $$01819 = 0; + while(1) { + $9 = (($0) + ($$01819<<1)|0); + $10 = HEAP16[$9>>1]|0; + $11 = ($10&65535) >>> 8; + $12 = $11&255; + $13 = (($6) + ($$01819)|0); + HEAP8[$13>>0] = $12; + $14 = (($$01819) + 1)|0; + $exitcond = ($14|0)==($5|0); + if ($exitcond) { + break; + } else { + $$01819 = $14; + } + } + } + _free($0); + $$0 = $6; + return ($$0|0); +} +function _stbi__malloc($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_malloc($0)|0); + return ($1|0); +} +function _stbi__png_test($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__check_png_header($0)|0); + _stbi__rewind($0); + return ($1|0); +} +function _stbi__png_load($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $6 = sp; + HEAP32[$6>>2] = $0; + $7 = (_stbi__do_png($6,$1,$2,$3,$4,$5)|0); + STACKTOP = sp;return ($7|0); +} +function _stbi__do_png($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + var $$ = 0, $$0 = 0, $$045 = 0, $$1 = 0, $$2 = 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; + var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $6 = ($4>>>0)>(4); + if ($6) { + _stbi__err(9050); + $$045 = 0; + return ($$045|0); + } + $7 = (_stbi__parse_png_file($0,0,$4)|0); + $8 = ($7|0)==(0); + if ($8) { + $$2 = 0; + } else { + $9 = ((($0)) + 16|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)>(8); + $$ = $11 ? $10 : 8; + HEAP32[$5>>2] = $$; + $12 = ((($0)) + 12|0); + $13 = HEAP32[$12>>2]|0; + HEAP32[$12>>2] = 0; + $14 = ($4|0)==(0); + if ($14) { + $$1 = $13; + } else { + $15 = HEAP32[$0>>2]|0; + $16 = ((($15)) + 12|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)==($4|0); + if ($18) { + $$1 = $13; + } else { + $19 = HEAP32[$5>>2]|0; + $20 = ($19|0)==(8); + $21 = ((($15)) + 4|0); + $22 = HEAP32[$21>>2]|0; + $23 = HEAP32[$15>>2]|0; + if ($20) { + $24 = (_stbi__convert_format($13,$17,$4,$23,$22)|0); + $$0 = $24; + } else { + $25 = (_stbi__convert_format16($13,$17,$4,$23,$22)|0); + $$0 = $25; + } + $26 = HEAP32[$0>>2]|0; + $27 = ((($26)) + 12|0); + HEAP32[$27>>2] = $4; + $28 = ($$0|0)==(0|0); + if ($28) { + $$045 = 0; + return ($$045|0); + } else { + $$1 = $$0; + } + } + } + $29 = HEAP32[$0>>2]|0; + $30 = HEAP32[$29>>2]|0; + HEAP32[$1>>2] = $30; + $31 = ((($29)) + 4|0); + $32 = HEAP32[$31>>2]|0; + HEAP32[$2>>2] = $32; + $33 = ($3|0)==(0|0); + if ($33) { + $$2 = $$1; + } else { + $34 = ((($29)) + 8|0); + $35 = HEAP32[$34>>2]|0; + HEAP32[$3>>2] = $35; + $$2 = $$1; + } + } + $36 = ((($0)) + 12|0); + $37 = HEAP32[$36>>2]|0; + _free($37); + HEAP32[$36>>2] = 0; + $38 = ((($0)) + 8|0); + $39 = HEAP32[$38>>2]|0; + _free($39); + HEAP32[$38>>2] = 0; + $40 = ((($0)) + 4|0); + $41 = HEAP32[$40>>2]|0; + _free($41); + HEAP32[$40>>2] = 0; + $$045 = $$2; + return ($$045|0); +} +function _stbi__parse_png_file($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$$0217 = 0, $$0206 = 0, $$0211 = 0, $$0214 = 0, $$0217 = 0, $$0226593 = 0, $$0228 = 0, $$0231 = 0, $$0235 = 0, $$0239591 = 0, $$0241 = 0, $$0245 = 0, $$1207 = 0, $$1212 = 0, $$1215 = 0, $$1218 = 0, $$1227588 = 0, $$1229 = 0, $$1240589 = 0; + var $$1246 = 0, $$2219 = 0, $$2233 = 0, $$2237 = 0, $$2243 = 0, $$254 = 0, $$3209 = 0, $$3220 = 0, $$4 = 0, $$6$ph = 0, $$7 = 0, $$lobit = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0; + var $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, $123 = 0, $124 = 0; + var $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, $141 = 0, $142 = 0; + var $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, $16 = 0, $160 = 0; + var $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, $178 = 0, $179 = 0; + var $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, $196 = 0, $197 = 0; + var $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, $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, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond11 = 0, $or$cond248 = 0, $or$cond5$not = 0, $or$cond7 = 0, $switch$split112D = 0, $switch$split142D = 0, $switch$split2D = 0, $switch$split52D = 0, $switch$split82D = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $3 = sp + 32|0; + $4 = sp + 22|0; + $5 = sp + 16|0; + $6 = sp + 8|0; + $7 = sp; + $8 = HEAP32[$0>>2]|0; + $9 = ((($0)) + 8|0); + HEAP32[$9>>2] = 0; + $10 = ((($0)) + 4|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 12|0); + HEAP32[$11>>2] = 0; + $12 = (_stbi__check_png_header($8)|0); + $13 = ($12|0)==(0); + if ($13) { + $$7 = 0; + STACKTOP = sp;return ($$7|0); + } + $14 = ($1|0)==(1); + if ($14) { + $$7 = 1; + STACKTOP = sp;return ($$7|0); + } + $15 = ((($6)) + 4|0); + $16 = ((($8)) + 4|0); + $17 = ((($0)) + 16|0); + $18 = ((($8)) + 8|0); + $19 = ($1|0)==(2); + $20 = ((($8)) + 8|0); + $21 = ((($8)) + 8|0); + $22 = ((($0)) + 16|0); + $23 = ($1|0)==(2); + $24 = ($1|0)==(2); + $$0206 = 0;$$0211 = 0;$$0214 = 0;$$0217 = 0;$$0228 = 0;$$0231 = 0;$$0235 = 0;$$0241 = 1;$$0245 = 0; + L7: while(1) { + _stbi__get_chunk_header($6,$8); + $25 = HEAP32[$15>>2]|0; + $switch$split2D = ($25|0)<(1229472850); + L9: do { + if ($switch$split2D) { + $switch$split52D = ($25|0)<(1229209940); + if ($switch$split52D) { + switch ($25|0) { + case 1130840649: { + break; + } + default: { + label = 103; + break L9; + } + } + $26 = HEAP32[$6>>2]|0; + _stbi__skip($8,$26); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = 1;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + $switch$split112D = ($25|0)<(1229278788); + if (!($switch$split112D)) { + switch ($25|0) { + case 1229278788: { + label = 85; + break L7; + break; + } + default: { + label = 103; + break L9; + } + } + } + switch ($25|0) { + case 1229209940: { + break; + } + default: { + label = 103; + break L9; + } + } + $130 = ($$0241|0)==(0); + if (!($130)) { + label = 70; + break L7; + } + $131 = ($$0206<<24>>24)==(0); + $132 = ($$0245|0)!=(0); + $or$cond = $132 | $131; + if (!($or$cond)) { + label = 72; + break L7; + } + if ($24) { + label = 74; + break L7; + } + $135 = HEAP32[$6>>2]|0; + $136 = (($135) + ($$0214))|0; + $137 = ($136|0)<($$0214|0); + if ($137) { + $$6$ph = 0; + break L7; + } + $138 = ($136>>>0)>($$0217>>>0); + if ($138) { + $139 = ($$0217|0)==(0); + $140 = ($135>>>0)>(4096); + $141 = $140 ? $135 : 4096; + $$$0217 = $139 ? $141 : $$0217; + $142 = HEAP32[$6>>2]|0; + $143 = (($142) + ($$0214))|0; + $$1218 = $$$0217; + while(1) { + $144 = ($143>>>0)>($$1218>>>0); + $145 = $$1218 << 1; + if ($144) { + $$1218 = $145; + } else { + break; + } + } + $146 = HEAP32[$10>>2]|0; + $147 = (_realloc($146,$$1218)|0); + $148 = ($147|0)==(0|0); + if ($148) { + label = 81; + break L7; + } + HEAP32[$10>>2] = $147; + $$2219 = $$1218; + } else { + $$2219 = $$0217; + } + $149 = HEAP32[$10>>2]|0; + $150 = (($149) + ($$0214)|0); + $151 = HEAP32[$6>>2]|0; + $152 = (_stbi__getn($8,$150,$151)|0); + $153 = ($152|0)==(0); + if ($153) { + label = 83; + break L7; + } + $154 = HEAP32[$6>>2]|0; + $155 = (($154) + ($$0214))|0; + $$1212 = $$0211;$$1215 = $155;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$2219; + } else { + $switch$split82D = ($25|0)<(1347179589); + if ($switch$split82D) { + switch ($25|0) { + case 1229472850: { + break; + } + default: { + label = 103; + break L9; + } + } + $27 = ($$0241|0)==(0); + if ($27) { + label = 7; + break L7; + } + $28 = HEAP32[$6>>2]|0; + $29 = ($28|0)==(13); + if (!($29)) { + label = 9; + break L7; + } + $30 = (_stbi__get32be($8)|0); + HEAP32[$8>>2] = $30; + $31 = ($30>>>0)>(16777216); + if ($31) { + label = 11; + break L7; + } + $32 = (_stbi__get32be($8)|0); + HEAP32[$16>>2] = $32; + $33 = ($32>>>0)>(16777216); + if ($33) { + label = 13; + break L7; + } + $34 = (_stbi__get8($8)|0); + $35 = $34&255; + HEAP32[$17>>2] = $35; + switch ($34<<24>>24) { + case 16: case 8: case 4: case 2: case 1: { + break; + } + default: { + label = 15; + break L7; + } + } + $36 = (_stbi__get8($8)|0); + $37 = $36&255; + $38 = ($36&255)>(6); + if ($38) { + label = 17; + break L7; + } + $39 = ($36<<24>>24)==(3); + if ($39) { + $40 = HEAP32[$17>>2]|0; + $41 = ($40|0)==(16); + if ($41) { + label = 20; + break L7; + } else { + $$1207 = 3; + } + } else { + $42 = $37 & 1; + $43 = ($42|0)==(0); + if ($43) { + $$1207 = $$0206; + } else { + label = 22; + break L7; + } + } + $44 = (_stbi__get8($8)|0); + $45 = ($44<<24>>24)==(0); + if (!($45)) { + label = 24; + break L7; + } + $46 = (_stbi__get8($8)|0); + $47 = ($46<<24>>24)==(0); + if (!($47)) { + label = 26; + break L7; + } + $48 = (_stbi__get8($8)|0); + $49 = $48&255; + $50 = ($48&255)>(1); + if ($50) { + label = 28; + break L7; + } + $51 = HEAP32[$8>>2]|0; + $52 = ($51|0)==(0); + if ($52) { + label = 31; + break L7; + } + $53 = HEAP32[$16>>2]|0; + $54 = ($53|0)==(0); + if ($54) { + label = 31; + break L7; + } + $55 = ($$1207<<24>>24)==(0); + $56 = (1073741824 / ($51>>>0))&-1; + if (!($55)) { + HEAP32[$20>>2] = 1; + $63 = $56 >>> 2; + $64 = ($63>>>0)<($53>>>0); + if ($64) { + label = 37; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = $$1207;$$3220 = $$0217; + break; + } + } + $57 = $37 & 2; + $58 = $57 | 1; + $59 = $37 >>> 2; + $$lobit = $59 & 1; + $60 = (($58) + ($$lobit))|0; + HEAP32[$18>>2] = $60; + $61 = (($56>>>0) / ($60>>>0))&-1; + $62 = ($61>>>0)<($53>>>0); + if ($62) { + label = 34; + break L7; + } + if ($19) { + $$6$ph = 1; + break L7; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $37;$$2237 = $49;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + } + $switch$split142D = ($25|0)<(1951551059); + if ($switch$split142D) { + switch ($25|0) { + case 1347179589: { + break; + } + default: { + label = 103; + break L9; + } + } + $65 = ($$0241|0)==(0); + if (!($65)) { + label = 39; + break L7; + } + $66 = HEAP32[$6>>2]|0; + $67 = ($66>>>0)>(768); + if ($67) { + label = 41; + break L7; + } + $68 = (($66>>>0) / 3)&-1; + $69 = ($68*3)|0; + $70 = ($69|0)==($66|0); + if (!($70)) { + label = 44; + break L7; + } + $71 = ($66>>>0)>(2); + if ($71) { + $$0226593 = 0; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + break; + } + while(1) { + $72 = (_stbi__get8($8)|0); + $73 = $$0226593 << 2; + $74 = (($3) + ($73)|0); + HEAP8[$74>>0] = $72; + $75 = (_stbi__get8($8)|0); + $76 = $73 | 1; + $77 = (($3) + ($76)|0); + HEAP8[$77>>0] = $75; + $78 = (_stbi__get8($8)|0); + $79 = $73 | 2; + $80 = (($3) + ($79)|0); + HEAP8[$80>>0] = $78; + $81 = $73 | 3; + $82 = (($3) + ($81)|0); + HEAP8[$82>>0] = -1; + $83 = (($$0226593) + 1)|0; + $84 = ($83>>>0)<($68>>>0); + if ($84) { + $$0226593 = $83; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $68;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break L9; + } + } + } + switch ($25|0) { + case 1951551059: { + break; + } + default: { + label = 103; + break L9; + } + } + $85 = ($$0241|0)==(0); + if (!($85)) { + label = 47; + break L7; + } + $86 = HEAP32[$10>>2]|0; + $87 = ($86|0)==(0|0); + if (!($87)) { + label = 49; + break L7; + } + $88 = ($$0206<<24>>24)==(0); + if (!($88)) { + if ($23) { + label = 52; + break L7; + } + $90 = ($$0245|0)==(0); + if ($90) { + label = 54; + break L7; + } + $91 = HEAP32[$6>>2]|0; + $92 = ($91>>>0)>($$0245>>>0); + if ($92) { + label = 58; + break L7; + } + $93 = HEAP32[$6>>2]|0; + $94 = ($93|0)==(0); + if ($94) { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 4;$$3220 = $$0217; + break; + } + $95 = HEAP32[$6>>2]|0; + $$1227588 = 0; + while(1) { + $96 = (_stbi__get8($8)|0); + $97 = $$1227588 << 2; + $98 = $97 | 3; + $99 = (($3) + ($98)|0); + HEAP8[$99>>0] = $96; + $100 = (($$1227588) + 1)|0; + $101 = ($100>>>0)<($95>>>0); + if ($101) { + $$1227588 = $100; + } else { + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = 4;$$3220 = $$0217; + break L9; + } + } + } + $102 = HEAP32[$21>>2]|0; + $103 = $102 & 1; + $104 = ($103|0)==(0); + if ($104) { + label = 61; + break L7; + } + $105 = HEAP32[$6>>2]|0; + $106 = $102 << 1; + $107 = ($105|0)==($106|0); + if (!($107)) { + label = 63; + break L7; + } + $108 = HEAP32[$22>>2]|0; + $109 = ($108|0)==(16); + $110 = HEAP32[$21>>2]|0; + $111 = ($110|0)>(0); + if ($109) { + if ($111) { + $$0239591 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $112 = (_stbi__get16be($8)|0); + $113 = $112&65535; + $114 = (($5) + ($$0239591<<1)|0); + HEAP16[$114>>1] = $113; + $115 = (($$0239591) + 1)|0; + $116 = HEAP32[$21>>2]|0; + $117 = ($115|0)<($116|0); + if ($117) { + $$0239591 = $115; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } else { + if ($111) { + $$1240589 = 0; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = 0;$$3220 = $$0217; + break; + } + while(1) { + $118 = (_stbi__get16be($8)|0); + $119 = $118 & 255; + $120 = HEAP32[$22>>2]|0; + $121 = (9366 + ($120)|0); + $122 = HEAP8[$121>>0]|0; + $123 = $122&255; + $124 = Math_imul($123, $119)|0; + $125 = $124&255; + $126 = (($4) + ($$1240589)|0); + HEAP8[$126>>0] = $125; + $127 = (($$1240589) + 1)|0; + $128 = HEAP32[$21>>2]|0; + $129 = ($127|0)<($128|0); + if ($129) { + $$1240589 = $127; + } else { + $$1212 = 1;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = $$0241;$$3209 = $$0206;$$3220 = $$0217; + break; + } + } + } + } + } while(0); + if ((label|0) == 103) { + label = 0; + $202 = ($$0241|0)==(0); + if (!($202)) { + label = 104; + break; + } + $203 = $25 & 536870912; + $204 = ($203|0)==(0); + if ($204) { + label = 106; + break; + } + $213 = HEAP32[$6>>2]|0; + _stbi__skip($8,$213); + $$1212 = $$0211;$$1215 = $$0214;$$1229 = $$0228;$$1246 = $$0245;$$2233 = $$0231;$$2237 = $$0235;$$2243 = 0;$$3209 = $$0206;$$3220 = $$0217; + } + (_stbi__get32be($8)|0); + $$0206 = $$3209;$$0211 = $$1212;$$0214 = $$1215;$$0217 = $$3220;$$0228 = $$1229;$$0231 = $$2233;$$0235 = $$2237;$$0241 = $$2243;$$0245 = $$1246; + } + switch (label|0) { + case 7: { + _stbi__err(9140); + $$6$ph = 0; + break; + } + case 9: { + _stbi__err(9154); + $$6$ph = 0; + break; + } + case 11: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 13: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 15: { + _stbi__err(9177); + $$6$ph = 0; + break; + } + case 17: { + _stbi__err(9197); + $$6$ph = 0; + break; + } + case 20: { + _stbi__err(9197); + $$6$ph = 0; + break; + } + case 22: { + _stbi__err(9197); + $$6$ph = 0; + break; + } + case 24: { + _stbi__err(9207); + $$6$ph = 0; + break; + } + case 26: { + _stbi__err(9223); + $$6$ph = 0; + break; + } + case 28: { + _stbi__err(9241); + $$6$ph = 0; + break; + } + case 31: { + _stbi__err(9262); + $$6$ph = 0; + break; + } + case 34: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 37: { + _stbi__err(9167); + $$6$ph = 0; + break; + } + case 39: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 41: { + _stbi__err(9291); + $$6$ph = 0; + break; + } + case 44: { + _stbi__err(9291); + $$6$ph = 0; + break; + } + case 47: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 49: { + _stbi__err(9304); + $$6$ph = 0; + break; + } + case 52: { + $89 = ((($8)) + 8|0); + HEAP32[$89>>2] = 4; + $$6$ph = 1; + break; + } + case 54: { + _stbi__err(9320); + $$6$ph = 0; + break; + } + case 58: { + _stbi__err(9337); + $$6$ph = 0; + break; + } + case 61: { + _stbi__err(9350); + $$6$ph = 0; + break; + } + case 63: { + _stbi__err(9337); + $$6$ph = 0; + break; + } + case 70: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 72: { + _stbi__err(9375); + $$6$ph = 0; + break; + } + case 74: { + $133 = $$0206&255; + $134 = ((($8)) + 8|0); + HEAP32[$134>>2] = $133; + $$6$ph = 1; + break; + } + case 81: { + _stbi__err(9022); + $$6$ph = 0; + break; + } + case 83: { + _stbi__err(9383); + $$6$ph = 0; + break; + } + case 85: { + $156 = ($$0241|0)==(0); + do { + if ($156) { + $157 = ($1|0)==(0); + if ($157) { + $158 = HEAP32[$10>>2]|0; + $159 = ($158|0)==(0|0); + if ($159) { + _stbi__err(9393); + $$4 = 0; + break; + } + $160 = HEAP32[$8>>2]|0; + $161 = ((($0)) + 16|0); + $162 = HEAP32[$161>>2]|0; + $163 = Math_imul($162, $160)|0; + $164 = (($163) + 7)|0; + $165 = $164 >>> 3; + $166 = ((($8)) + 4|0); + $167 = HEAP32[$166>>2]|0; + $168 = ((($8)) + 8|0); + $169 = HEAP32[$168>>2]|0; + $170 = Math_imul($169, $167)|0; + $171 = Math_imul($170, $165)|0; + $172 = (($171) + ($167))|0; + HEAP32[$7>>2] = $172; + $173 = ($$0228|0)!=(0); + $174 = $173 ^ 1; + $175 = $174&1; + $176 = (_stbi_zlib_decode_malloc_guesssize_headerflag($158,$$0214,$172,$7,$175)|0); + HEAP32[$9>>2] = $176; + $177 = ($176|0)==(0|0); + if ($177) { + $$4 = 0; + } else { + $178 = HEAP32[$10>>2]|0; + _free($178); + HEAP32[$10>>2] = 0; + $179 = HEAP32[$168>>2]|0; + $180 = (($179) + 1)|0; + $notlhs = ($180|0)!=($2|0); + $notrhs = ($2|0)==(3); + $or$cond5$not = $notrhs | $notlhs; + $181 = ($$0206<<24>>24)!=(0); + $or$cond7 = $181 | $or$cond5$not; + $182 = ($$0211<<24>>24)==(0); + $or$cond248 = $182 & $or$cond7; + $$254 = $or$cond248 ? $179 : $180; + $183 = ((($8)) + 12|0); + HEAP32[$183>>2] = $$254; + $184 = HEAP32[$9>>2]|0; + $185 = HEAP32[$7>>2]|0; + $186 = HEAP32[$161>>2]|0; + $187 = (_stbi__create_png_image($0,$184,$185,$$254,$186,$$0231,$$0235)|0); + $188 = ($187|0)==(0); + if ($188) { + $$4 = 0; + } else { + do { + if (!($182)) { + $189 = HEAP32[$161>>2]|0; + $190 = ($189|0)==(16); + if ($190) { + $191 = HEAP32[$183>>2]|0; + _stbi__compute_transparency16($0,$5,$191); + break; + } else { + $192 = HEAP32[$183>>2]|0; + _stbi__compute_transparency($0,$4,$192); + break; + } + } + } while(0); + $193 = HEAP32[6164]|0; + $194 = ($193|0)!=(0); + $or$cond11 = $173 & $194; + if ($or$cond11) { + $195 = HEAP32[$183>>2]|0; + $196 = ($195|0)>(2); + if ($196) { + _stbi__de_iphone($0); + } + } + if ($181) { + $197 = $$0206&255; + HEAP32[$168>>2] = $197; + $198 = ($2|0)>(2); + $$ = $198 ? $2 : $197; + HEAP32[$183>>2] = $$; + $199 = (_stbi__expand_png_palette($0,$3,$$)|0); + $200 = ($199|0)==(0); + if ($200) { + $$4 = 0; + break; + } + } + $201 = HEAP32[$9>>2]|0; + _free($201); + HEAP32[$9>>2] = 0; + $$4 = 1; + } + } + } else { + $$4 = 1; + } + } else { + _stbi__err(9276); + $$4 = 0; + } + } while(0); + $$6$ph = $$4; + break; + } + case 104: { + _stbi__err(9276); + $$6$ph = 0; + break; + } + case 106: { + $205 = $25 >>> 24; + $206 = $205&255; + HEAP8[9401] = $206; + $207 = HEAP32[$15>>2]|0; + $208 = $207 >>> 16; + $209 = $208&255; + HEAP8[(9402)>>0] = $209; + $210 = $207 >>> 8; + $211 = $210&255; + HEAP8[(9403)>>0] = $211; + $212 = $207&255; + HEAP8[(9404)>>0] = $212; + _stbi__err(9401); + $$6$ph = 0; + break; + } + } + $$7 = $$6$ph; + STACKTOP = sp;return ($$7|0); +} +function _stbi__convert_format($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 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, $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; + 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, label = 0; + var sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((9063|0),(8967|0),1477,(9119|0)); + // unreachable; + } + $7 = (_stbi__malloc_mad3($2,$3,$4)|0); + $8 = ($7|0)==(0|0); + if ($8) { + _free($0); + _stbi__err(9022); + $$0163 = 0; + return ($$0163|0); + } + $9 = ($4|0)>(0); + L11: do { + if ($9) { + $10 = $1 << 3; + $11 = (($10) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $12 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $13 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $14 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $15 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $16 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $17 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $18 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $19 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $20 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $21 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $22 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $23 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $24 = Math_imul($$0164259, $3)|0; + $25 = Math_imul($24, $1)|0; + $26 = (($0) + ($25)|0); + $27 = Math_imul($24, $2)|0; + $28 = (($7) + ($27)|0); + do { + switch ($11|0) { + case 10: { + if ($12) { + $$0151255 = $26;$$0165257 = $$0165254;$$0256 = $28; + while(1) { + $29 = HEAP8[$$0151255>>0]|0; + HEAP8[$$0256>>0] = $29; + $30 = ((($$0256)) + 1|0); + HEAP8[$30>>0] = -1; + $31 = ((($$0151255)) + 1|0); + $32 = ((($$0256)) + 2|0); + $$0165 = (($$0165257) + -1)|0; + $33 = ($$0165|0)>(-1); + if ($33) { + $$0151255 = $31;$$0165257 = $$0165;$$0256 = $32; + } else { + break; + } + } + } + break; + } + case 11: { + if ($13) { + $$1152250 = $26;$$1166252 = $$1166249;$$1251 = $28; + while(1) { + $34 = HEAP8[$$1152250>>0]|0; + $35 = ((($$1251)) + 2|0); + HEAP8[$35>>0] = $34; + $36 = ((($$1251)) + 1|0); + HEAP8[$36>>0] = $34; + HEAP8[$$1251>>0] = $34; + $37 = ((($$1152250)) + 1|0); + $38 = ((($$1251)) + 3|0); + $$1166 = (($$1166252) + -1)|0; + $39 = ($$1166|0)>(-1); + if ($39) { + $$1152250 = $37;$$1166252 = $$1166;$$1251 = $38; + } else { + break; + } + } + } + break; + } + case 12: { + if ($14) { + $$2153245 = $26;$$2167247 = $$2167244;$$2246 = $28; + while(1) { + $40 = HEAP8[$$2153245>>0]|0; + $41 = ((($$2246)) + 2|0); + HEAP8[$41>>0] = $40; + $42 = ((($$2246)) + 1|0); + HEAP8[$42>>0] = $40; + HEAP8[$$2246>>0] = $40; + $43 = ((($$2246)) + 3|0); + HEAP8[$43>>0] = -1; + $44 = ((($$2153245)) + 1|0); + $45 = ((($$2246)) + 4|0); + $$2167 = (($$2167247) + -1)|0; + $46 = ($$2167|0)>(-1); + if ($46) { + $$2153245 = $44;$$2167247 = $$2167;$$2246 = $45; + } else { + break; + } + } + } + break; + } + case 17: { + if ($15) { + $$3154240 = $26;$$3168242 = $$3168239;$$3241 = $28; + while(1) { + $47 = HEAP8[$$3154240>>0]|0; + HEAP8[$$3241>>0] = $47; + $48 = ((($$3154240)) + 2|0); + $49 = ((($$3241)) + 1|0); + $$3168 = (($$3168242) + -1)|0; + $50 = ($$3168|0)>(-1); + if ($50) { + $$3154240 = $48;$$3168242 = $$3168;$$3241 = $49; + } else { + break; + } + } + } + break; + } + case 19: { + if ($16) { + $$4155235 = $26;$$4169237 = $$4169234;$$4236 = $28; + while(1) { + $51 = HEAP8[$$4155235>>0]|0; + $52 = ((($$4236)) + 2|0); + HEAP8[$52>>0] = $51; + $53 = ((($$4236)) + 1|0); + HEAP8[$53>>0] = $51; + HEAP8[$$4236>>0] = $51; + $54 = ((($$4155235)) + 2|0); + $55 = ((($$4236)) + 3|0); + $$4169 = (($$4169237) + -1)|0; + $56 = ($$4169|0)>(-1); + if ($56) { + $$4155235 = $54;$$4169237 = $$4169;$$4236 = $55; + } else { + break; + } + } + } + break; + } + case 20: { + if ($17) { + $$5156230 = $26;$$5170232 = $$5170229;$$5231 = $28; + while(1) { + $57 = HEAP8[$$5156230>>0]|0; + $58 = ((($$5231)) + 2|0); + HEAP8[$58>>0] = $57; + $59 = ((($$5231)) + 1|0); + HEAP8[$59>>0] = $57; + HEAP8[$$5231>>0] = $57; + $60 = ((($$5156230)) + 1|0); + $61 = HEAP8[$60>>0]|0; + $62 = ((($$5231)) + 3|0); + HEAP8[$62>>0] = $61; + $63 = ((($$5156230)) + 2|0); + $64 = ((($$5231)) + 4|0); + $$5170 = (($$5170232) + -1)|0; + $65 = ($$5170|0)>(-1); + if ($65) { + $$5156230 = $63;$$5170232 = $$5170;$$5231 = $64; + } else { + break; + } + } + } + break; + } + case 28: { + if ($18) { + $$6157225 = $26;$$6171227 = $$6171224;$$6226 = $28; + while(1) { + $66 = HEAP8[$$6157225>>0]|0; + HEAP8[$$6226>>0] = $66; + $67 = ((($$6157225)) + 1|0); + $68 = HEAP8[$67>>0]|0; + $69 = ((($$6226)) + 1|0); + HEAP8[$69>>0] = $68; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP8[$70>>0]|0; + $72 = ((($$6226)) + 2|0); + HEAP8[$72>>0] = $71; + $73 = ((($$6226)) + 3|0); + HEAP8[$73>>0] = -1; + $74 = ((($$6157225)) + 3|0); + $75 = ((($$6226)) + 4|0); + $$6171 = (($$6171227) + -1)|0; + $76 = ($$6171|0)>(-1); + if ($76) { + $$6157225 = $74;$$6171227 = $$6171;$$6226 = $75; + } else { + break; + } + } + } + break; + } + case 25: { + if ($19) { + $$7158220 = $26;$$7172222 = $$7172219;$$7221 = $28; + while(1) { + $77 = HEAP8[$$7158220>>0]|0; + $78 = $77&255; + $79 = ((($$7158220)) + 1|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP8[$82>>0]|0; + $84 = $83&255; + $85 = (_stbi__compute_y($78,$81,$84)|0); + HEAP8[$$7221>>0] = $85; + $86 = ((($$7158220)) + 3|0); + $87 = ((($$7221)) + 1|0); + $$7172 = (($$7172222) + -1)|0; + $88 = ($$7172|0)>(-1); + if ($88) { + $$7158220 = $86;$$7172222 = $$7172;$$7221 = $87; + } else { + break; + } + } + } + break; + } + case 26: { + if ($20) { + $$8159215 = $26;$$8173217 = $$8173214;$$8216 = $28; + while(1) { + $89 = HEAP8[$$8159215>>0]|0; + $90 = $89&255; + $91 = ((($$8159215)) + 1|0); + $92 = HEAP8[$91>>0]|0; + $93 = $92&255; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP8[$94>>0]|0; + $96 = $95&255; + $97 = (_stbi__compute_y($90,$93,$96)|0); + HEAP8[$$8216>>0] = $97; + $98 = ((($$8216)) + 1|0); + HEAP8[$98>>0] = -1; + $99 = ((($$8159215)) + 3|0); + $100 = ((($$8216)) + 2|0); + $$8173 = (($$8173217) + -1)|0; + $101 = ($$8173|0)>(-1); + if ($101) { + $$8159215 = $99;$$8173217 = $$8173;$$8216 = $100; + } else { + break; + } + } + } + break; + } + case 33: { + if ($21) { + $$9160210 = $26;$$9174212 = $$9174209;$$9211 = $28; + while(1) { + $102 = HEAP8[$$9160210>>0]|0; + $103 = $102&255; + $104 = ((($$9160210)) + 1|0); + $105 = HEAP8[$104>>0]|0; + $106 = $105&255; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP8[$107>>0]|0; + $109 = $108&255; + $110 = (_stbi__compute_y($103,$106,$109)|0); + HEAP8[$$9211>>0] = $110; + $111 = ((($$9160210)) + 4|0); + $112 = ((($$9211)) + 1|0); + $$9174 = (($$9174212) + -1)|0; + $113 = ($$9174|0)>(-1); + if ($113) { + $$9160210 = $111;$$9174212 = $$9174;$$9211 = $112; + } else { + break; + } + } + } + break; + } + case 34: { + if ($22) { + $$10161205 = $26;$$10175207 = $$10175204;$$10206 = $28; + while(1) { + $114 = HEAP8[$$10161205>>0]|0; + $115 = $114&255; + $116 = ((($$10161205)) + 1|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP8[$119>>0]|0; + $121 = $120&255; + $122 = (_stbi__compute_y($115,$118,$121)|0); + HEAP8[$$10206>>0] = $122; + $123 = ((($$10161205)) + 3|0); + $124 = HEAP8[$123>>0]|0; + $125 = ((($$10206)) + 1|0); + HEAP8[$125>>0] = $124; + $126 = ((($$10161205)) + 4|0); + $127 = ((($$10206)) + 2|0); + $$10175 = (($$10175207) + -1)|0; + $128 = ($$10175|0)>(-1); + if ($128) { + $$10161205 = $126;$$10175207 = $$10175;$$10206 = $127; + } else { + break; + } + } + } + break; + } + case 35: { + if ($23) { + $$11162201 = $26;$$11176203 = $$11176200;$$11202 = $28; + while(1) { + $129 = HEAP8[$$11162201>>0]|0; + HEAP8[$$11202>>0] = $129; + $130 = ((($$11162201)) + 1|0); + $131 = HEAP8[$130>>0]|0; + $132 = ((($$11202)) + 1|0); + HEAP8[$132>>0] = $131; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP8[$133>>0]|0; + $135 = ((($$11202)) + 2|0); + HEAP8[$135>>0] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = ((($$11202)) + 3|0); + $$11176 = (($$11176203) + -1)|0; + $138 = ($$11176|0)>(-1); + if ($138) { + $$11162201 = $136;$$11176203 = $$11176;$$11202 = $137; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $139 = (($$0164259) + 1)|0; + $140 = ($139|0)<($4|0); + if ($140) { + $$0164259 = $139; + } else { + break L11; + } + } + ___assert_fail((9117|0),(8967|0),1506,(9119|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $7; + return ($$0163|0); +} +function _stbi__convert_format16($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0151255 = 0, $$0163 = 0, $$0164259 = 0, $$0165 = 0, $$0165254 = 0, $$0165257 = 0, $$0256 = 0, $$10161205 = 0, $$10175 = 0, $$10175204 = 0, $$10175207 = 0, $$10206 = 0, $$11162201 = 0, $$11176 = 0, $$11176200 = 0, $$11176203 = 0, $$11202 = 0, $$1152250 = 0, $$1166 = 0, $$1166249 = 0; + var $$1166252 = 0, $$1251 = 0, $$2153245 = 0, $$2167 = 0, $$2167244 = 0, $$2167247 = 0, $$2246 = 0, $$3154240 = 0, $$3168 = 0, $$3168239 = 0, $$3168242 = 0, $$3241 = 0, $$4155235 = 0, $$4169 = 0, $$4169234 = 0, $$4169237 = 0, $$4236 = 0, $$5156230 = 0, $$5170 = 0, $$5170229 = 0; + var $$5170232 = 0, $$5231 = 0, $$6157225 = 0, $$6171 = 0, $$6171224 = 0, $$6171227 = 0, $$6226 = 0, $$7158220 = 0, $$7172 = 0, $$7172219 = 0, $$7172222 = 0, $$7221 = 0, $$8159215 = 0, $$8173 = 0, $$8173214 = 0, $$8173217 = 0, $$8216 = 0, $$9160210 = 0, $$9174 = 0, $$9174209 = 0; + var $$9174212 = 0, $$9211 = 0, $$off = 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, $113 = 0, $114 = 0; + var $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, $131 = 0, $132 = 0; + var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 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, $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; + var $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, $60 = 0; + var $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, $79 = 0; + var $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, $97 = 0; + var $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ($2|0)==($1|0); + if ($5) { + $$0163 = $0; + return ($$0163|0); + } + $$off = (($2) + -1)|0; + $6 = ($$off>>>0)<(4); + if (!($6)) { + ___assert_fail((9063|0),(8967|0),1526,(9094|0)); + // unreachable; + } + $7 = $2 << 1; + $8 = Math_imul($7, $3)|0; + $9 = Math_imul($8, $4)|0; + $10 = (_stbi__malloc($9)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _free($0); + _stbi__err(9022); + $$0163 = 0; + return ($$0163|0); + } + $12 = ($4|0)>(0); + L11: do { + if ($12) { + $13 = $1 << 3; + $14 = (($13) + ($2))|0; + $$0165254 = (($3) + -1)|0; + $15 = ($$0165254|0)>(-1); + $$1166249 = (($3) + -1)|0; + $16 = ($$1166249|0)>(-1); + $$2167244 = (($3) + -1)|0; + $17 = ($$2167244|0)>(-1); + $$3168239 = (($3) + -1)|0; + $18 = ($$3168239|0)>(-1); + $$4169234 = (($3) + -1)|0; + $19 = ($$4169234|0)>(-1); + $$5170229 = (($3) + -1)|0; + $20 = ($$5170229|0)>(-1); + $$6171224 = (($3) + -1)|0; + $21 = ($$6171224|0)>(-1); + $$7172219 = (($3) + -1)|0; + $22 = ($$7172219|0)>(-1); + $$8173214 = (($3) + -1)|0; + $23 = ($$8173214|0)>(-1); + $$9174209 = (($3) + -1)|0; + $24 = ($$9174209|0)>(-1); + $$10175204 = (($3) + -1)|0; + $25 = ($$10175204|0)>(-1); + $$11176200 = (($3) + -1)|0; + $26 = ($$11176200|0)>(-1); + $$0164259 = 0; + L13: while(1) { + $27 = Math_imul($$0164259, $3)|0; + $28 = Math_imul($27, $1)|0; + $29 = (($0) + ($28<<1)|0); + $30 = Math_imul($27, $2)|0; + $31 = (($10) + ($30<<1)|0); + do { + switch ($14|0) { + case 10: { + if ($15) { + $$0151255 = $29;$$0165257 = $$0165254;$$0256 = $31; + while(1) { + $32 = HEAP16[$$0151255>>1]|0; + HEAP16[$$0256>>1] = $32; + $33 = ((($$0256)) + 2|0); + HEAP16[$33>>1] = -1; + $34 = ((($$0151255)) + 2|0); + $35 = ((($$0256)) + 4|0); + $$0165 = (($$0165257) + -1)|0; + $36 = ($$0165|0)>(-1); + if ($36) { + $$0151255 = $34;$$0165257 = $$0165;$$0256 = $35; + } else { + break; + } + } + } + break; + } + case 11: { + if ($16) { + $$1152250 = $29;$$1166252 = $$1166249;$$1251 = $31; + while(1) { + $37 = HEAP16[$$1152250>>1]|0; + $38 = ((($$1251)) + 4|0); + HEAP16[$38>>1] = $37; + $39 = ((($$1251)) + 2|0); + HEAP16[$39>>1] = $37; + HEAP16[$$1251>>1] = $37; + $40 = ((($$1152250)) + 2|0); + $41 = ((($$1251)) + 6|0); + $$1166 = (($$1166252) + -1)|0; + $42 = ($$1166|0)>(-1); + if ($42) { + $$1152250 = $40;$$1166252 = $$1166;$$1251 = $41; + } else { + break; + } + } + } + break; + } + case 12: { + if ($17) { + $$2153245 = $29;$$2167247 = $$2167244;$$2246 = $31; + while(1) { + $43 = HEAP16[$$2153245>>1]|0; + $44 = ((($$2246)) + 4|0); + HEAP16[$44>>1] = $43; + $45 = ((($$2246)) + 2|0); + HEAP16[$45>>1] = $43; + HEAP16[$$2246>>1] = $43; + $46 = ((($$2246)) + 6|0); + HEAP16[$46>>1] = -1; + $47 = ((($$2153245)) + 2|0); + $48 = ((($$2246)) + 8|0); + $$2167 = (($$2167247) + -1)|0; + $49 = ($$2167|0)>(-1); + if ($49) { + $$2153245 = $47;$$2167247 = $$2167;$$2246 = $48; + } else { + break; + } + } + } + break; + } + case 17: { + if ($18) { + $$3154240 = $29;$$3168242 = $$3168239;$$3241 = $31; + while(1) { + $50 = HEAP16[$$3154240>>1]|0; + HEAP16[$$3241>>1] = $50; + $51 = ((($$3154240)) + 4|0); + $52 = ((($$3241)) + 2|0); + $$3168 = (($$3168242) + -1)|0; + $53 = ($$3168|0)>(-1); + if ($53) { + $$3154240 = $51;$$3168242 = $$3168;$$3241 = $52; + } else { + break; + } + } + } + break; + } + case 19: { + if ($19) { + $$4155235 = $29;$$4169237 = $$4169234;$$4236 = $31; + while(1) { + $54 = HEAP16[$$4155235>>1]|0; + $55 = ((($$4236)) + 4|0); + HEAP16[$55>>1] = $54; + $56 = ((($$4236)) + 2|0); + HEAP16[$56>>1] = $54; + HEAP16[$$4236>>1] = $54; + $57 = ((($$4155235)) + 4|0); + $58 = ((($$4236)) + 6|0); + $$4169 = (($$4169237) + -1)|0; + $59 = ($$4169|0)>(-1); + if ($59) { + $$4155235 = $57;$$4169237 = $$4169;$$4236 = $58; + } else { + break; + } + } + } + break; + } + case 20: { + if ($20) { + $$5156230 = $29;$$5170232 = $$5170229;$$5231 = $31; + while(1) { + $60 = HEAP16[$$5156230>>1]|0; + $61 = ((($$5231)) + 4|0); + HEAP16[$61>>1] = $60; + $62 = ((($$5231)) + 2|0); + HEAP16[$62>>1] = $60; + HEAP16[$$5231>>1] = $60; + $63 = ((($$5156230)) + 2|0); + $64 = HEAP16[$63>>1]|0; + $65 = ((($$5231)) + 6|0); + HEAP16[$65>>1] = $64; + $66 = ((($$5156230)) + 4|0); + $67 = ((($$5231)) + 8|0); + $$5170 = (($$5170232) + -1)|0; + $68 = ($$5170|0)>(-1); + if ($68) { + $$5156230 = $66;$$5170232 = $$5170;$$5231 = $67; + } else { + break; + } + } + } + break; + } + case 28: { + if ($21) { + $$6157225 = $29;$$6171227 = $$6171224;$$6226 = $31; + while(1) { + $69 = HEAP16[$$6157225>>1]|0; + HEAP16[$$6226>>1] = $69; + $70 = ((($$6157225)) + 2|0); + $71 = HEAP16[$70>>1]|0; + $72 = ((($$6226)) + 2|0); + HEAP16[$72>>1] = $71; + $73 = ((($$6157225)) + 4|0); + $74 = HEAP16[$73>>1]|0; + $75 = ((($$6226)) + 4|0); + HEAP16[$75>>1] = $74; + $76 = ((($$6226)) + 6|0); + HEAP16[$76>>1] = -1; + $77 = ((($$6157225)) + 6|0); + $78 = ((($$6226)) + 8|0); + $$6171 = (($$6171227) + -1)|0; + $79 = ($$6171|0)>(-1); + if ($79) { + $$6157225 = $77;$$6171227 = $$6171;$$6226 = $78; + } else { + break; + } + } + } + break; + } + case 25: { + if ($22) { + $$7158220 = $29;$$7172222 = $$7172219;$$7221 = $31; + while(1) { + $80 = HEAP16[$$7158220>>1]|0; + $81 = $80&65535; + $82 = ((($$7158220)) + 2|0); + $83 = HEAP16[$82>>1]|0; + $84 = $83&65535; + $85 = ((($$7158220)) + 4|0); + $86 = HEAP16[$85>>1]|0; + $87 = $86&65535; + $88 = (_stbi__compute_y_16($81,$84,$87)|0); + HEAP16[$$7221>>1] = $88; + $89 = ((($$7158220)) + 6|0); + $90 = ((($$7221)) + 2|0); + $$7172 = (($$7172222) + -1)|0; + $91 = ($$7172|0)>(-1); + if ($91) { + $$7158220 = $89;$$7172222 = $$7172;$$7221 = $90; + } else { + break; + } + } + } + break; + } + case 26: { + if ($23) { + $$8159215 = $29;$$8173217 = $$8173214;$$8216 = $31; + while(1) { + $92 = HEAP16[$$8159215>>1]|0; + $93 = $92&65535; + $94 = ((($$8159215)) + 2|0); + $95 = HEAP16[$94>>1]|0; + $96 = $95&65535; + $97 = ((($$8159215)) + 4|0); + $98 = HEAP16[$97>>1]|0; + $99 = $98&65535; + $100 = (_stbi__compute_y_16($93,$96,$99)|0); + HEAP16[$$8216>>1] = $100; + $101 = ((($$8216)) + 2|0); + HEAP16[$101>>1] = -1; + $102 = ((($$8159215)) + 6|0); + $103 = ((($$8216)) + 4|0); + $$8173 = (($$8173217) + -1)|0; + $104 = ($$8173|0)>(-1); + if ($104) { + $$8159215 = $102;$$8173217 = $$8173;$$8216 = $103; + } else { + break; + } + } + } + break; + } + case 33: { + if ($24) { + $$9160210 = $29;$$9174212 = $$9174209;$$9211 = $31; + while(1) { + $105 = HEAP16[$$9160210>>1]|0; + $106 = $105&65535; + $107 = ((($$9160210)) + 2|0); + $108 = HEAP16[$107>>1]|0; + $109 = $108&65535; + $110 = ((($$9160210)) + 4|0); + $111 = HEAP16[$110>>1]|0; + $112 = $111&65535; + $113 = (_stbi__compute_y_16($106,$109,$112)|0); + HEAP16[$$9211>>1] = $113; + $114 = ((($$9160210)) + 8|0); + $115 = ((($$9211)) + 2|0); + $$9174 = (($$9174212) + -1)|0; + $116 = ($$9174|0)>(-1); + if ($116) { + $$9160210 = $114;$$9174212 = $$9174;$$9211 = $115; + } else { + break; + } + } + } + break; + } + case 34: { + if ($25) { + $$10161205 = $29;$$10175207 = $$10175204;$$10206 = $31; + while(1) { + $117 = HEAP16[$$10161205>>1]|0; + $118 = $117&65535; + $119 = ((($$10161205)) + 2|0); + $120 = HEAP16[$119>>1]|0; + $121 = $120&65535; + $122 = ((($$10161205)) + 4|0); + $123 = HEAP16[$122>>1]|0; + $124 = $123&65535; + $125 = (_stbi__compute_y_16($118,$121,$124)|0); + HEAP16[$$10206>>1] = $125; + $126 = ((($$10161205)) + 6|0); + $127 = HEAP16[$126>>1]|0; + $128 = ((($$10206)) + 2|0); + HEAP16[$128>>1] = $127; + $129 = ((($$10161205)) + 8|0); + $130 = ((($$10206)) + 4|0); + $$10175 = (($$10175207) + -1)|0; + $131 = ($$10175|0)>(-1); + if ($131) { + $$10161205 = $129;$$10175207 = $$10175;$$10206 = $130; + } else { + break; + } + } + } + break; + } + case 35: { + if ($26) { + $$11162201 = $29;$$11176203 = $$11176200;$$11202 = $31; + while(1) { + $132 = HEAP16[$$11162201>>1]|0; + HEAP16[$$11202>>1] = $132; + $133 = ((($$11162201)) + 2|0); + $134 = HEAP16[$133>>1]|0; + $135 = ((($$11202)) + 2|0); + HEAP16[$135>>1] = $134; + $136 = ((($$11162201)) + 4|0); + $137 = HEAP16[$136>>1]|0; + $138 = ((($$11202)) + 4|0); + HEAP16[$138>>1] = $137; + $139 = ((($$11162201)) + 8|0); + $140 = ((($$11202)) + 6|0); + $$11176 = (($$11176203) + -1)|0; + $141 = ($$11176|0)>(-1); + if ($141) { + $$11162201 = $139;$$11176203 = $$11176;$$11202 = $140; + } else { + break; + } + } + } + break; + } + default: { + break L13; + } + } + } while(0); + $142 = (($$0164259) + 1)|0; + $143 = ($142|0)<($4|0); + if ($143) { + $$0164259 = $142; + } else { + break L11; + } + } + ___assert_fail((9117|0),(8967|0),1555,(9094|0)); + // unreachable; + } + } while(0); + _free($0); + $$0163 = $10; + return ($$0163|0); +} +function _stbi__compute_y_16($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&65535; + return ($9|0); +} +function _stbi__malloc_mad3($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mad3sizes_valid($0,$1,$2)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + $5 = Math_imul($1, $0)|0; + $6 = Math_imul($5, $2)|0; + $7 = (_stbi__malloc($6)|0); + $$0 = $7; + return ($$0|0); +} +function _stbi__compute_y($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, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($0*77)|0; + $4 = ($1*150)|0; + $5 = (($4) + ($3))|0; + $6 = ($2*29)|0; + $7 = (($5) + ($6))|0; + $8 = $7 >>> 8; + $9 = $8&255; + return ($9|0); +} +function _stbi__mad3sizes_valid($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_stbi__mul2sizes_valid($0,$1)|0); + $4 = ($3|0)==(0); + if ($4) { + $12 = 0; + } else { + $5 = Math_imul($1, $0)|0; + $6 = (_stbi__mul2sizes_valid($5,$2)|0); + $7 = ($6|0)==(0); + if ($7) { + $12 = 0; + } else { + $8 = Math_imul($5, $2)|0; + $9 = (_stbi__addsizes_valid($8)|0); + $10 = ($9|0)!=(0); + $12 = $10; + } + } + $11 = $12&1; + return ($11|0); +} +function _stbi__mul2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 | $0; + $3 = ($2|0)<(0); + if ($3) { + $$0 = 0; + } else { + $4 = ($1|0)==(0); + if ($4) { + $$0 = 1; + } else { + $5 = (2147483647 / ($1|0))&-1; + $6 = ($5|0)>=($0|0); + $7 = $6&1; + $$0 = $7; + } + } + return ($$0|0); +} +function _stbi__addsizes_valid($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 1; +} +function _stbi__check_png_header($0) { + $0 = $0|0; + var $$05 = 0, $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; + $1 = (_stbi__get8($0)|0); + $2 = ($1<<24>>24)==(-119); + if ($2) { + $3 = (_stbi__get8($0)|0); + $4 = ($3<<24>>24)==(80); + if ($4) { + $5 = (_stbi__get8($0)|0); + $6 = ($5<<24>>24)==(78); + if ($6) { + $7 = (_stbi__get8($0)|0); + $8 = ($7<<24>>24)==(71); + if ($8) { + $9 = (_stbi__get8($0)|0); + $10 = ($9<<24>>24)==(13); + if ($10) { + $11 = (_stbi__get8($0)|0); + $12 = ($11<<24>>24)==(10); + if ($12) { + $13 = (_stbi__get8($0)|0); + $14 = ($13<<24>>24)==(26); + if ($14) { + $15 = (_stbi__get8($0)|0); + $16 = ($15<<24>>24)==(10); + if ($16) { + $$05 = 1; + return ($$05|0); + } + } + } + } + } + } + } + } + _stbi__err(10378); + $$05 = 0; + return ($$05|0); +} +function _stbi__get_chunk_header($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$4$0$$sroa_idx2 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__get32be($1)|0); + $3 = (_stbi__get32be($1)|0); + HEAP32[$0>>2] = $2; + $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); + HEAP32[$$sroa$4$0$$sroa_idx2>>2] = $3; + return; +} +function _stbi__skip($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(0); + if ($2) { + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 168|0); + HEAP32[$5>>2] = $4; + return; + } + $6 = ((($0)) + 16|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if (!($8)) { + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 168|0); + $12 = HEAP32[$11>>2]|0; + $13 = $10; + $14 = (($13) - ($12))|0; + $15 = ($14|0)<($1|0); + if ($15) { + HEAP32[$11>>2] = $10; + $16 = ((($0)) + 20|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($0)) + 28|0); + $19 = HEAP32[$18>>2]|0; + $20 = (($1) - ($14))|0; + FUNCTION_TABLE_vii[$17 & 63]($19,$20); + return; + } + } + $21 = ((($0)) + 168|0); + $22 = HEAP32[$21>>2]|0; + $23 = (($22) + ($1)|0); + HEAP32[$21>>2] = $23; + return; +} +function _stbi__get32be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get16be($0)|0); + $2 = $1 << 16; + $3 = (_stbi__get16be($0)|0); + $4 = (($2) + ($3))|0; + return ($4|0); +} +function _stbi__get8($0) { + $0 = $0|0; + var $$0 = 0, $$sink6 = 0, $1 = 0, $10 = 0, $11 = 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)) + 168|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 172|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($2>>>0)<($4>>>0); + do { + if ($5) { + $$sink6 = $2; + } else { + $6 = ((($0)) + 32|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0); + if ($8) { + $$0 = 0; + return ($$0|0); + } else { + _stbi__refill_buffer($0); + $9 = HEAP32[$1>>2]|0; + $$sink6 = $9; + break; + } + } + } while(0); + $10 = ((($$sink6)) + 1|0); + HEAP32[$1>>2] = $10; + $11 = HEAP8[$$sink6>>0]|0; + $$0 = $11; + return ($$0|0); +} +function _stbi__get16be($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__get8($0)|0); + $2 = $1&255; + $3 = $2 << 8; + $4 = (_stbi__get8($0)|0); + $5 = $4&255; + $6 = $3 | $5; + return ($6|0); +} +function _stbi__getn($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$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, $26 = 0, $27 = 0, $28 = 0; + var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($0)) + 172|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($0)) + 168|0); + $9 = HEAP32[$8>>2]|0; + $10 = $9; + $11 = (($7) - ($10))|0; + $12 = ($11|0)<($2|0); + if ($12) { + _memcpy(($1|0),($9|0),($11|0))|0; + $13 = HEAP32[$3>>2]|0; + $14 = ((($0)) + 28|0); + $15 = HEAP32[$14>>2]|0; + $16 = (($1) + ($11)|0); + $17 = (($2) - ($11))|0; + $18 = (FUNCTION_TABLE_iiii[$13 & 15]($15,$16,$17)|0); + $19 = ($18|0)==($17|0); + $20 = $19&1; + $21 = HEAP32[$6>>2]|0; + HEAP32[$8>>2] = $21; + $$1 = $20; + return ($$1|0); + } + } + $22 = ((($0)) + 168|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($23) + ($2)|0); + $25 = ((($0)) + 172|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($24>>>0)>($26>>>0); + if ($27) { + $$1 = 0; + return ($$1|0); + } + _memcpy(($1|0),($23|0),($2|0))|0; + $28 = HEAP32[$22>>2]|0; + $29 = (($28) + ($2)|0); + HEAP32[$22>>2] = $29; + $$1 = 1; + return ($$1|0); +} +function _stbi_zlib_decode_malloc_guesssize_headerflag($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4080|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(4080|0); + $5 = sp; + $6 = (_stbi__malloc($2)|0); + $7 = ($6|0)==(0|0); + do { + if ($7) { + $$0 = 0; + } else { + HEAP32[$5>>2] = $0; + $8 = (($0) + ($1)|0); + $9 = ((($5)) + 4|0); + HEAP32[$9>>2] = $8; + $10 = (_stbi__do_zlib($5,$6,$2,1,$4)|0); + $11 = ($10|0)==(0); + $12 = ((($5)) + 20|0); + $13 = HEAP32[$12>>2]|0; + if ($11) { + _free($13); + $$0 = 0; + break; + } + $14 = ($3|0)==(0|0); + if ($14) { + $$0 = $13; + } else { + $15 = ((($5)) + 16|0); + $16 = HEAP32[$15>>2]|0; + $17 = $13; + $18 = (($16) - ($17))|0; + HEAP32[$3>>2] = $18; + $$0 = $13; + } + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _stbi__create_png_image($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$0103117 = 0, $$0106116 = 0, $$0107115 = 0, $$095119 = 0, $$099118 = 0, $$3102$ph = 0, $$398$ph = 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; + var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 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; + var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $80 = 0, $81 = 0, $82 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $7 = ($4|0)==(16); + $8 = $7 ? 2 : 1; + $9 = Math_imul($8, $3)|0; + $10 = ($6|0)==(0); + $11 = HEAP32[$0>>2]|0; + $12 = HEAP32[$11>>2]|0; + $13 = ((($11)) + 4|0); + $14 = HEAP32[$13>>2]|0; + if ($10) { + $15 = (_stbi__create_png_image_raw($0,$1,$2,$3,$12,$14,$4,$5)|0); + $$4 = $15; + return ($$4|0); + } + $16 = (_stbi__malloc_mad3($12,$14,$9)|0); + $17 = ((($0)) + 12|0); + $18 = ((($0)) + 12|0); + $$0103117 = 0;$$095119 = $1;$$099118 = $2; + while(1) { + $19 = HEAP32[$0>>2]|0; + $20 = HEAP32[$19>>2]|0; + $21 = (2984 + ($$0103117<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = (3012 + ($$0103117<<2)|0); + $24 = HEAP32[$23>>2]|0; + $25 = (($20) + -1)|0; + $26 = (($25) - ($22))|0; + $27 = (($26) + ($24))|0; + $28 = (($27>>>0) / ($24>>>0))&-1; + $29 = ((($19)) + 4|0); + $30 = HEAP32[$29>>2]|0; + $31 = (3040 + ($$0103117<<2)|0); + $32 = HEAP32[$31>>2]|0; + $33 = (3068 + ($$0103117<<2)|0); + $34 = HEAP32[$33>>2]|0; + $35 = (($30) + -1)|0; + $36 = (($35) - ($32))|0; + $37 = (($36) + ($34))|0; + $38 = (($37>>>0) / ($34>>>0))&-1; + $39 = ($24>>>0)<=($27>>>0); + $40 = ($34>>>0)<=($37>>>0); + $or$cond = $39 & $40; + if ($or$cond) { + $41 = ((($19)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = Math_imul($28, $4)|0; + $44 = Math_imul($43, $42)|0; + $45 = (($44) + 7)|0; + $46 = $45 >> 3; + $47 = (($46) + 1)|0; + $48 = Math_imul($47, $38)|0; + $49 = (_stbi__create_png_image_raw($0,$$095119,$$099118,$3,$28,$38,$4,$5)|0); + $50 = ($49|0)==(0); + if ($50) { + label = 13; + break; + } + $51 = ($38|0)>(0); + if ($51) { + $52 = ($28|0)>(0); + $$0106116 = 0; + while(1) { + if ($52) { + $53 = HEAP32[$33>>2]|0; + $54 = Math_imul($53, $$0106116)|0; + $55 = HEAP32[$31>>2]|0; + $56 = (($54) + ($55))|0; + $57 = HEAP32[$23>>2]|0; + $58 = HEAP32[$21>>2]|0; + $59 = Math_imul($56, $9)|0; + $60 = Math_imul($$0106116, $28)|0; + $$0107115 = 0; + while(1) { + $61 = Math_imul($57, $$0107115)|0; + $62 = (($61) + ($58))|0; + $63 = HEAP32[$0>>2]|0; + $64 = HEAP32[$63>>2]|0; + $65 = Math_imul($59, $64)|0; + $66 = (($16) + ($65)|0); + $67 = Math_imul($62, $9)|0; + $68 = (($66) + ($67)|0); + $69 = HEAP32[$18>>2]|0; + $70 = (($$0107115) + ($60))|0; + $71 = Math_imul($70, $9)|0; + $72 = (($69) + ($71)|0); + _memcpy(($68|0),($72|0),($9|0))|0; + $73 = (($$0107115) + 1)|0; + $74 = ($73|0)<($28|0); + if ($74) { + $$0107115 = $73; + } else { + break; + } + } + } + $75 = (($$0106116) + 1)|0; + $76 = ($75|0)<($38|0); + if ($76) { + $$0106116 = $75; + } else { + break; + } + } + } + $77 = HEAP32[$17>>2]|0; + _free($77); + $78 = (($$095119) + ($48)|0); + $79 = (($$099118) - ($48))|0; + $$3102$ph = $79;$$398$ph = $78; + } else { + $$3102$ph = $$099118;$$398$ph = $$095119; + } + $80 = (($$0103117) + 1)|0; + $81 = ($80|0)<(7); + if ($81) { + $$0103117 = $80;$$095119 = $$398$ph;$$099118 = $$3102$ph; + } else { + label = 15; + break; + } + } + if ((label|0) == 13) { + _free($16); + $$4 = 0; + return ($$4|0); + } + else if ((label|0) == 15) { + $82 = ((($0)) + 12|0); + HEAP32[$82>>2] = $16; + $$4 = 1; + return ($$4|0); + } + return (0)|0; +} +function _stbi__compute_transparency16($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP16[$$04>>1]|0; + $15 = HEAP16[$1>>1]|0; + $not$ = ($14<<16>>16)!=($15<<16>>16); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 2|0); + HEAP16[$17>>1] = $16; + $18 = ((($$04)) + 4|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 2|0); + $12 = ((($1)) + 4|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP16[$$16>>1]|0; + $21 = HEAP16[$1>>1]|0; + $22 = ($20<<16>>16)==($21<<16>>16); + if ($22) { + $23 = ((($$16)) + 2|0); + $24 = HEAP16[$23>>1]|0; + $25 = HEAP16[$11>>1]|0; + $26 = ($24<<16>>16)==($25<<16>>16); + if ($26) { + $27 = ((($$16)) + 4|0); + $28 = HEAP16[$27>>1]|0; + $29 = HEAP16[$12>>1]|0; + $30 = ($28<<16>>16)==($29<<16>>16); + if ($30) { + $31 = ((($$16)) + 6|0); + HEAP16[$31>>1] = 0; + } + } + } + $32 = ((($$16)) + 8|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((9460|0),(8967|0),4569,(9512|0)); + // unreachable; + } + } +} +function _stbi__compute_transparency($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0323 = 0, $$04 = 0, $$1335 = 0, $$16 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($2|0) { + case 2: { + $13 = ($7|0)==(0); + if ($13) { + return; + } else { + $$0323 = 0;$$04 = $9; + } + while(1) { + $14 = HEAP8[$$04>>0]|0; + $15 = HEAP8[$1>>0]|0; + $not$ = ($14<<24>>24)!=($15<<24>>24); + $16 = $not$ << 31 >> 31; + $17 = ((($$04)) + 1|0); + HEAP8[$17>>0] = $16; + $18 = ((($$04)) + 2|0); + $19 = (($$0323) + 1)|0; + $exitcond = ($19|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0323 = $19;$$04 = $18; + } + } + return; + break; + } + case 4: { + $10 = ($7|0)==(0); + if ($10) { + return; + } + $11 = ((($1)) + 1|0); + $12 = ((($1)) + 2|0); + $$1335 = 0;$$16 = $9; + while(1) { + $20 = HEAP8[$$16>>0]|0; + $21 = HEAP8[$1>>0]|0; + $22 = ($20<<24>>24)==($21<<24>>24); + if ($22) { + $23 = ((($$16)) + 1|0); + $24 = HEAP8[$23>>0]|0; + $25 = HEAP8[$11>>0]|0; + $26 = ($24<<24>>24)==($25<<24>>24); + if ($26) { + $27 = ((($$16)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = HEAP8[$12>>0]|0; + $30 = ($28<<24>>24)==($29<<24>>24); + if ($30) { + $31 = ((($$16)) + 3|0); + HEAP8[$31>>0] = 0; + } + } + } + $32 = ((($$16)) + 4|0); + $33 = (($$1335) + 1)|0; + $exitcond9 = ($33|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1335 = $33;$$16 = $32; + } + } + return; + break; + } + default: { + ___assert_fail((9460|0),(8967|0),4544,(9485|0)); + // unreachable; + } + } +} +function _stbi__de_iphone($0) { + $0 = $0|0; + var $$05158 = 0, $$059 = 0, $$15263 = 0, $$164 = 0, $$25360 = 0, $$261 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond68 = 0, $exitcond69 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = HEAP32[$1>>2]|0; + $3 = ((($1)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = Math_imul($4, $2)|0; + $6 = ((($0)) + 12|0); + $7 = HEAP32[$6>>2]|0; + $8 = ((($1)) + 12|0); + $9 = HEAP32[$8>>2]|0; + switch ($9|0) { + case 3: { + $10 = ($5|0)==(0); + if ($10) { + return; + } else { + $$05158 = $7;$$059 = 0; + } + while(1) { + $11 = HEAP8[$$05158>>0]|0; + $12 = ((($$05158)) + 2|0); + $13 = HEAP8[$12>>0]|0; + HEAP8[$$05158>>0] = $13; + HEAP8[$12>>0] = $11; + $14 = ((($$05158)) + 3|0); + $15 = (($$059) + 1)|0; + $exitcond = ($15|0)==($5|0); + if ($exitcond) { + break; + } else { + $$05158 = $14;$$059 = $15; + } + } + return; + break; + } + case 4: { + $16 = HEAP32[6165]|0; + $17 = ($16|0)==(0); + $18 = ($5|0)!=(0); + if ($17) { + if ($18) { + $$25360 = $7;$$261 = 0; + } else { + return; + } + while(1) { + $42 = HEAP8[$$25360>>0]|0; + $43 = ((($$25360)) + 2|0); + $44 = HEAP8[$43>>0]|0; + HEAP8[$$25360>>0] = $44; + HEAP8[$43>>0] = $42; + $45 = ((($$25360)) + 4|0); + $46 = (($$261) + 1)|0; + $exitcond68 = ($46|0)==($5|0); + if ($exitcond68) { + break; + } else { + $$25360 = $45;$$261 = $46; + } + } + return; + } + if ($18) { + $$15263 = $7;$$164 = 0; + } else { + return; + } + while(1) { + $19 = ((($$15263)) + 3|0); + $20 = HEAP8[$19>>0]|0; + $21 = HEAP8[$$15263>>0]|0; + $22 = ($20<<24>>24)==(0); + $23 = ((($$15263)) + 2|0); + $24 = HEAP8[$23>>0]|0; + if ($22) { + HEAP8[$$15263>>0] = $24; + $$sink = $21; + } else { + $25 = $24&255; + $26 = ($25*255)|0; + $27 = $20&255; + $28 = (($26>>>0) / ($27>>>0))&-1; + $29 = $28&255; + HEAP8[$$15263>>0] = $29; + $30 = ((($$15263)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = ($32*255)|0; + $34 = (($33>>>0) / ($27>>>0))&-1; + $35 = $34&255; + HEAP8[$30>>0] = $35; + $36 = $21&255; + $37 = ($36*255)|0; + $38 = (($37>>>0) / ($27>>>0))&-1; + $39 = $38&255; + $$sink = $39; + } + HEAP8[$23>>0] = $$sink; + $40 = ((($$15263)) + 4|0); + $41 = (($$164) + 1)|0; + $exitcond69 = ($41|0)==($5|0); + if ($exitcond69) { + break; + } else { + $$15263 = $40;$$164 = $41; + } + } + return; + break; + } + default: { + ___assert_fail((9426|0),(8967|0),4650,(9444|0)); + // unreachable; + } + } +} +function _stbi__expand_png_palette($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$0574 = 0, $$0583 = 0, $$1595 = 0, $$16 = 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; + var $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, $42 = 0; + var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = HEAP32[$0>>2]|0; + $4 = HEAP32[$3>>2]|0; + $5 = ((($3)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = Math_imul($6, $4)|0; + $8 = ((($0)) + 12|0); + $9 = HEAP32[$8>>2]|0; + $10 = (_stbi__malloc_mad2($7,$2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + _stbi__err(9022); + $$0 = 0; + return ($$0|0); + } + $12 = ($2|0)==(3); + $13 = ($7|0)!=(0); + if ($12) { + if ($13) { + $$0574 = 0;$$0583 = $10; + while(1) { + $14 = (($9) + ($$0574)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = $16 << 2; + $18 = (($1) + ($17)|0); + $19 = HEAP8[$18>>0]|0; + HEAP8[$$0583>>0] = $19; + $20 = $17 | 1; + $21 = (($1) + ($20)|0); + $22 = HEAP8[$21>>0]|0; + $23 = ((($$0583)) + 1|0); + HEAP8[$23>>0] = $22; + $24 = $17 | 2; + $25 = (($1) + ($24)|0); + $26 = HEAP8[$25>>0]|0; + $27 = ((($$0583)) + 2|0); + HEAP8[$27>>0] = $26; + $28 = ((($$0583)) + 3|0); + $29 = (($$0574) + 1)|0; + $exitcond = ($29|0)==($7|0); + if ($exitcond) { + break; + } else { + $$0574 = $29;$$0583 = $28; + } + } + } + } else { + if ($13) { + $$1595 = $10;$$16 = 0; + while(1) { + $30 = (($9) + ($$16)|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 << 2; + $34 = (($1) + ($33)|0); + $35 = HEAP8[$34>>0]|0; + HEAP8[$$1595>>0] = $35; + $36 = $33 | 1; + $37 = (($1) + ($36)|0); + $38 = HEAP8[$37>>0]|0; + $39 = ((($$1595)) + 1|0); + HEAP8[$39>>0] = $38; + $40 = $33 | 2; + $41 = (($1) + ($40)|0); + $42 = HEAP8[$41>>0]|0; + $43 = ((($$1595)) + 2|0); + HEAP8[$43>>0] = $42; + $44 = $33 | 3; + $45 = (($1) + ($44)|0); + $46 = HEAP8[$45>>0]|0; + $47 = ((($$1595)) + 3|0); + HEAP8[$47>>0] = $46; + $48 = ((($$1595)) + 4|0); + $49 = (($$16) + 1)|0; + $exitcond9 = ($49|0)==($7|0); + if ($exitcond9) { + break; + } else { + $$1595 = $48;$$16 = $49; + } + } + } + } + $50 = HEAP32[$8>>2]|0; + _free($50); + HEAP32[$8>>2] = $10; + $$0 = 1; + return ($$0|0); +} +function _stbi__malloc_mad2($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mad2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $$0 = 0; + return ($$0|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__malloc($4)|0); + $$0 = $5; + return ($$0|0); +} +function _stbi__mad2sizes_valid($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_stbi__mul2sizes_valid($0,$1)|0); + $3 = ($2|0)==(0); + if ($3) { + $8 = 0; + $7 = $8&1; + return ($7|0); + } + $4 = Math_imul($1, $0)|0; + $5 = (_stbi__addsizes_valid($4)|0); + $6 = ($5|0)!=(0); + $8 = $6; + $7 = $8&1; + return ($7|0); +} +function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + $7 = $7|0; + var $$0568 = 0, $$0568724 = 0, $$0568725 = 0, $$0571$lcssa = 0, $$0571715 = 0, $$0574$lcssa = 0, $$0574714 = 0, $$0577817 = 0, $$0588 = 0, $$0597 = 0, $$0608816 = 0, $$0611815 = 0, $$0614 = 0, $$0614793 = 0, $$0614796 = 0, $$0623814 = 0, $$0625734 = 0, $$0731 = 0, $$1 = 0, $$10635764 = 0; + var $$11$ph = 0, $$11636755 = 0, $$12747 = 0, $$13739 = 0, $$14$lcssa = 0, $$14713 = 0, $$15$lcssa = 0, $$15705 = 0, $$1572$lcssa = 0, $$1572707 = 0, $$1575$lcssa = 0, $$1575706 = 0, $$1578 = 0, $$16$lcssa = 0, $$1609 = 0, $$1612 = 0, $$1615 = 0, $$1615785 = 0, $$1615788 = 0, $$1624727 = 0; + var $$1626812 = 0, $$16700 = 0, $$1721 = 0, $$1722 = 0, $$2 = 0, $$2573$lcssa = 0, $$2573702 = 0, $$2579795 = 0, $$2599794 = 0, $$2616 = 0, $$2616776 = 0, $$2616780 = 0, $$2627810 = 0, $$3580787 = 0, $$3592778 = 0, $$3600786 = 0, $$3617 = 0, $$3617767 = 0, $$3617771 = 0, $$3628808 = 0; + var $$4$lcssa = 0, $$4581779 = 0, $$4593769 = 0, $$4601777 = 0, $$4618 = 0, $$4618758 = 0, $$4618762 = 0, $$4629806 = 0, $$4701 = 0, $$5582770 = 0, $$5594760 = 0, $$5602768 = 0, $$5619 = 0, $$5619750 = 0, $$5619753 = 0, $$5630804 = 0, $$6583761 = 0, $$6603759 = 0, $$6620 = 0, $$6620742 = 0; + var $$6620745 = 0, $$6631802 = 0, $$7584752 = 0, $$7604751 = 0, $$7621798 = 0, $$7632790 = 0, $$8585744 = 0, $$8605743 = 0, $$8622729 = 0, $$8633782 = 0, $$9586 = 0, $$9606799 = 0, $$9634773 = 0, $$not = 0, $$sink = 0, $$sink1 = 0, $$sink641 = 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, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0; + var $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, $136 = 0, $137 = 0, $138 = 0; + var $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, $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, $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; + 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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 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, $392 = 0; + var $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0; + var $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0; + var $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0; + var $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0; + var $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0; + var $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0; + var $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0; + var $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0; + var $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0; + var $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0; + var $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0; + var $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $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; + var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0; + var $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, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0; + var $96 = 0, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $brmerge894 = 0, $exitcond = 0, $exitcond864 = 0, $exitcond865 = 0, $exitcond867 = 0, $exitcond869 = 0, $exitcond871 = 0, $exitcond873 = 0, $exitcond875 = 0, $exitcond877 = 0, $exitcond880 = 0, $exitcond881 = 0, $exitcond882 = 0, $exitcond883 = 0, $exitcond884 = 0; + var $exitcond885 = 0, $exitcond886 = 0, $indvars$iv = 0, $indvars$iv$next = 0, $indvars$iv$next849 = 0, $indvars$iv$next852 = 0, $indvars$iv$next855 = 0, $indvars$iv$next858 = 0, $indvars$iv$next861 = 0, $indvars$iv848 = 0, $indvars$iv851 = 0, $indvars$iv854 = 0, $indvars$iv857 = 0, $indvars$iv860 = 0, $or$cond = 0, $scevgep = 0, $scevgep850 = 0, $scevgep853 = 0, $scevgep856 = 0, $scevgep859 = 0; + var $scevgep862 = 0, $scevgep866 = 0, $scevgep868 = 0, $scevgep870 = 0, $scevgep872 = 0, $scevgep874 = 0, $scevgep876 = 0, $scevgep879 = 0, $trunc = 0, $trunc637 = 0, $trunc638 = 0, label = 0, sp = 0; + sp = STACKTOP; + $8 = ($6|0)==(16); + $9 = $8 ? 2 : 1; + $10 = HEAP32[$0>>2]|0; + $11 = Math_imul($4, $3)|0; + $12 = Math_imul($9, $11)|0; + $13 = ((($10)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = Math_imul($9, $3)|0; + $16 = Math_imul($14, $9)|0; + $17 = ($14|0)==($3|0); + $18 = (($14) + 1)|0; + $19 = ($18|0)==($3|0); + $or$cond = $17 | $19; + if (!($or$cond)) { + ___assert_fail((9541|0),(8967|0),4294,(9582|0)); + // unreachable; + } + $20 = (_stbi__malloc_mad3($4,$5,$15)|0); + $21 = ((($0)) + 12|0); + HEAP32[$21>>2] = $20; + $22 = ($20|0)==(0|0); + if ($22) { + _stbi__err(9022); + $$2 = 0; + return ($$2|0); + } + $23 = Math_imul($14, $4)|0; + $24 = Math_imul($23, $6)|0; + $25 = (($24) + 7)|0; + $26 = $25 >>> 3; + $27 = (($26) + 1)|0; + $28 = Math_imul($27, $5)|0; + $29 = HEAP32[$10>>2]|0; + $30 = ($29|0)==($4|0); + if ($30) { + $31 = ((($10)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($5|0); + if ($33) { + $34 = ($28|0)==($2|0); + if (!($34)) { + _stbi__err(9609); + $$2 = 0; + return ($$2|0); + } + } else { + label = 9; + } + } else { + label = 9; + } + if ((label|0) == 9) { + $35 = ($28>>>0)>($2>>>0); + if ($35) { + _stbi__err(9609); + $$2 = 0; + return ($$2|0); + } + } + $36 = ($5|0)==(0); + L18: do { + if (!($36)) { + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; + $41 = ($6|0)==(8); + $brmerge = $37 | $17; + $42 = ($4|0)==(0); + $$0614793 = (($4) + -1)|0; + $43 = ($$0614793|0)==(0); + $$1615785 = (($4) + -1)|0; + $44 = ($$1615785|0)==(0); + $$2616776 = (($4) + -1)|0; + $45 = ($$2616776|0)==(0); + $$3617767 = (($4) + -1)|0; + $46 = ($$3617767|0)==(0); + $$4618758 = (($4) + -1)|0; + $47 = ($$4618758|0)==(0); + $$5619750 = (($4) + -1)|0; + $48 = ($$5619750|0)==(0); + $$6620742 = (($4) + -1)|0; + $49 = ($$6620742|0)==(0); + $$not = $8 ^ 1; + $brmerge894 = $42 | $$not; + $$0577817 = $1;$$0608816 = $4;$$0611815 = $16;$$0623814 = 0; + while(1) { + $50 = HEAP32[$21>>2]|0; + $51 = Math_imul($$0623814, $12)|0; + $52 = (($50) + ($51)|0); + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { + label = 105; + break; + } + if ($37) { + if ($38) { + label = 16; + break; + } + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; + } else { + $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; + } + $58 = (($$0597) + ($40)|0); + $59 = ($$0623814|0)==(0); + if ($59) { + $60 = (9648 + ($55)|0); + $61 = HEAP8[$60>>0]|0; + $62 = $61&255; + $$0588 = $62; + } else { + $$0588 = $55; + } + $63 = ($$1612|0)>(0); + L30: do { + if ($63) { + $trunc638 = $$0588&255; + $$0625734 = 0; + while(1) { + switch ($trunc638<<24>>24) { + case 0: { + $64 = (($53) + ($$0625734)|0); + $65 = HEAP8[$64>>0]|0; + $$sink = $65; + label = 30; + break; + } + case 1: { + $66 = (($53) + ($$0625734)|0); + $67 = HEAP8[$66>>0]|0; + $$sink = $67; + label = 30; + break; + } + case 2: { + $68 = (($53) + ($$0625734)|0); + $69 = HEAP8[$68>>0]|0; + $70 = $69&255; + $71 = (($58) + ($$0625734)|0); + $72 = HEAP8[$71>>0]|0; + $73 = $72&255; + $74 = (($73) + ($70))|0; + $75 = $74&255; + $$sink = $75; + label = 30; + break; + } + case 3: { + $76 = (($53) + ($$0625734)|0); + $77 = HEAP8[$76>>0]|0; + $78 = $77&255; + $79 = (($58) + ($$0625734)|0); + $80 = HEAP8[$79>>0]|0; + $81 = $80&255; + $82 = $81 >>> 1; + $83 = (($82) + ($78))|0; + $84 = $83&255; + $$sink = $84; + label = 30; + break; + } + case 4: { + $85 = (($53) + ($$0625734)|0); + $86 = HEAP8[$85>>0]|0; + $87 = $86&255; + $88 = (($58) + ($$0625734)|0); + $89 = HEAP8[$88>>0]|0; + $90 = $89&255; + $91 = (_stbi__paeth(0,$90,0)|0); + $92 = (($91) + ($87))|0; + $93 = $92&255; + $$sink = $93; + label = 30; + break; + } + case 5: { + $94 = (($53) + ($$0625734)|0); + $95 = HEAP8[$94>>0]|0; + $$sink = $95; + label = 30; + break; + } + case 6: { + $96 = (($53) + ($$0625734)|0); + $97 = HEAP8[$96>>0]|0; + $$sink = $97; + label = 30; + break; + } + default: { + } + } + if ((label|0) == 30) { + label = 0; + $$sink1 = (($$0597) + ($$0625734)|0); + HEAP8[$$sink1>>0] = $$sink; + } + $98 = (($$0625734) + 1)|0; + $exitcond864 = ($98|0)==($$1612|0); + if ($exitcond864) { + break L30; + } else { + $$0625734 = $98; + } + } + } + } while(0); + do { + if ($41) { + if (!($17)) { + $99 = (($$0597) + ($14)|0); + HEAP8[$99>>0] = -1; + } + $100 = (($53) + ($14)|0); + $$1578 = $100;$$sink641 = $3; + } else { + if (!($8)) { + $105 = ((($$0577817)) + 2|0); + $$1578 = $105;$$sink641 = 1; + break; + } + if (!($17)) { + $101 = (($$1612) + 1)|0; + $102 = (($$0597) + ($101)|0); + $103 = (($$0597) + ($$1612)|0); + HEAP8[$103>>0] = -1; + HEAP8[$102>>0] = -1; + } + $104 = (($53) + ($$1612)|0); + $$1578 = $104;$$sink641 = $15; + } + } while(0); + $106 = (($$0597) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); + if ($brmerge) { + $108 = (($$1609) + -1)|0; + $109 = Math_imul($108, $$1612)|0; + $trunc637 = $$0588&255; + switch ($trunc637<<24>>24) { + case 0: { + _memcpy(($106|0),($$1578|0),($109|0))|0; + break; + } + case 1: { + $115 = ($109|0)>(0); + if ($115) { + $$1626812 = 0; + while(1) { + $116 = (($$1578) + ($$1626812)|0); + $117 = HEAP8[$116>>0]|0; + $118 = $117&255; + $119 = (($$1626812) - ($$1612))|0; + $120 = (($106) + ($119)|0); + $121 = HEAP8[$120>>0]|0; + $122 = $121&255; + $123 = (($122) + ($118))|0; + $124 = $123&255; + $125 = (($106) + ($$1626812)|0); + HEAP8[$125>>0] = $124; + $126 = (($$1626812) + 1)|0; + $exitcond886 = ($126|0)==($109|0); + if ($exitcond886) { + break; + } else { + $$1626812 = $126; + } + } + } + break; + } + case 2: { + $114 = ($109|0)>(0); + if ($114) { + $$2627810 = 0; + while(1) { + $127 = (($$1578) + ($$2627810)|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = (($107) + ($$2627810)|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = (($132) + ($129))|0; + $134 = $133&255; + $135 = (($106) + ($$2627810)|0); + HEAP8[$135>>0] = $134; + $136 = (($$2627810) + 1)|0; + $exitcond885 = ($136|0)==($109|0); + if ($exitcond885) { + break; + } else { + $$2627810 = $136; + } + } + } + break; + } + case 3: { + $113 = ($109|0)>(0); + if ($113) { + $$3628808 = 0; + while(1) { + $137 = (($$1578) + ($$3628808)|0); + $138 = HEAP8[$137>>0]|0; + $139 = $138&255; + $140 = (($107) + ($$3628808)|0); + $141 = HEAP8[$140>>0]|0; + $142 = $141&255; + $143 = (($$3628808) - ($$1612))|0; + $144 = (($106) + ($143)|0); + $145 = HEAP8[$144>>0]|0; + $146 = $145&255; + $147 = (($146) + ($142))|0; + $148 = $147 >>> 1; + $149 = (($148) + ($139))|0; + $150 = $149&255; + $151 = (($106) + ($$3628808)|0); + HEAP8[$151>>0] = $150; + $152 = (($$3628808) + 1)|0; + $exitcond884 = ($152|0)==($109|0); + if ($exitcond884) { + break; + } else { + $$3628808 = $152; + } + } + } + break; + } + case 4: { + $112 = ($109|0)>(0); + if ($112) { + $$4629806 = 0; + while(1) { + $153 = (($$1578) + ($$4629806)|0); + $154 = HEAP8[$153>>0]|0; + $155 = $154&255; + $156 = (($$4629806) - ($$1612))|0; + $157 = (($106) + ($156)|0); + $158 = HEAP8[$157>>0]|0; + $159 = $158&255; + $160 = (($107) + ($$4629806)|0); + $161 = HEAP8[$160>>0]|0; + $162 = $161&255; + $163 = (($107) + ($156)|0); + $164 = HEAP8[$163>>0]|0; + $165 = $164&255; + $166 = (_stbi__paeth($159,$162,$165)|0); + $167 = (($166) + ($155))|0; + $168 = $167&255; + $169 = (($106) + ($$4629806)|0); + HEAP8[$169>>0] = $168; + $170 = (($$4629806) + 1)|0; + $exitcond883 = ($170|0)==($109|0); + if ($exitcond883) { + break; + } else { + $$4629806 = $170; + } + } + } + break; + } + case 5: { + $111 = ($109|0)>(0); + if ($111) { + $$5630804 = 0; + while(1) { + $171 = (($$1578) + ($$5630804)|0); + $172 = HEAP8[$171>>0]|0; + $173 = $172&255; + $174 = (($$5630804) - ($$1612))|0; + $175 = (($106) + ($174)|0); + $176 = HEAP8[$175>>0]|0; + $177 = $176&255; + $178 = $177 >>> 1; + $179 = (($178) + ($173))|0; + $180 = $179&255; + $181 = (($106) + ($$5630804)|0); + HEAP8[$181>>0] = $180; + $182 = (($$5630804) + 1)|0; + $exitcond882 = ($182|0)==($109|0); + if ($exitcond882) { + break; + } else { + $$5630804 = $182; + } + } + } + break; + } + case 6: { + $110 = ($109|0)>(0); + if ($110) { + $$6631802 = 0; + while(1) { + $183 = (($$1578) + ($$6631802)|0); + $184 = HEAP8[$183>>0]|0; + $185 = $184&255; + $186 = (($$6631802) - ($$1612))|0; + $187 = (($106) + ($186)|0); + $188 = HEAP8[$187>>0]|0; + $189 = $188&255; + $190 = (_stbi__paeth($189,0,0)|0); + $191 = (($190) + ($185))|0; + $192 = $191&255; + $193 = (($106) + ($$6631802)|0); + HEAP8[$193>>0] = $192; + $194 = (($$6631802) + 1)|0; + $exitcond881 = ($194|0)==($109|0); + if ($exitcond881) { + break; + } else { + $$6631802 = $194; + } + } + } + break; + } + default: { + } + } + $195 = (($$1578) + ($109)|0); + $$11$ph = $195; + } else { + if (!($19)) { + label = 58; + break; + } + $trunc = $$0588&255; + switch ($trunc<<24>>24) { + case 0: { + if ($43) { + $$9586 = $$1578; + } else { + $208 = ($$1612|0)>(0); + $209 = Math_imul($$6620742, $$1612)|0; + $$0614796 = $$0614793;$$2579795 = $$1578;$$2599794 = $106; + while(1) { + if ($208) { + $$7632790 = 0; + while(1) { + $210 = (($$2579795) + ($$7632790)|0); + $211 = HEAP8[$210>>0]|0; + $212 = (($$2599794) + ($$7632790)|0); + HEAP8[$212>>0] = $211; + $213 = (($$7632790) + 1)|0; + $exitcond877 = ($213|0)==($$1612|0); + if ($exitcond877) { + break; + } else { + $$7632790 = $213; + } + } + } + $214 = (($$2599794) + ($$1612)|0); + HEAP8[$214>>0] = -1; + $215 = (($$2579795) + ($$1612)|0); + $216 = (($$2599794) + ($15)|0); + $$0614 = (($$0614796) + -1)|0; + $217 = ($$0614|0)==(0); + if ($217) { + break; + } else { + $$0614796 = $$0614;$$2579795 = $215;$$2599794 = $216; + } + } + $scevgep879 = (($$1578) + ($209)|0); + $$9586 = $scevgep879; + } + break; + } + case 1: { + if ($44) { + $$9586 = $$1578; + } else { + $206 = ($$1612|0)>(0); + $207 = Math_imul($$6620742, $$1612)|0; + $$1615788 = $$1615785;$$3580787 = $$1578;$$3600786 = $106; + while(1) { + if ($206) { + $$8633782 = 0; + while(1) { + $218 = (($$3580787) + ($$8633782)|0); + $219 = HEAP8[$218>>0]|0; + $220 = $219&255; + $221 = (($$8633782) - ($15))|0; + $222 = (($$3600786) + ($221)|0); + $223 = HEAP8[$222>>0]|0; + $224 = $223&255; + $225 = (($224) + ($220))|0; + $226 = $225&255; + $227 = (($$3600786) + ($$8633782)|0); + HEAP8[$227>>0] = $226; + $228 = (($$8633782) + 1)|0; + $exitcond875 = ($228|0)==($$1612|0); + if ($exitcond875) { + break; + } else { + $$8633782 = $228; + } + } + } + $229 = (($$3600786) + ($$1612)|0); + HEAP8[$229>>0] = -1; + $230 = (($$3580787) + ($$1612)|0); + $231 = (($$3600786) + ($15)|0); + $$1615 = (($$1615788) + -1)|0; + $232 = ($$1615|0)==(0); + if ($232) { + break; + } else { + $$1615788 = $$1615;$$3580787 = $230;$$3600786 = $231; + } + } + $scevgep876 = (($$1578) + ($207)|0); + $$9586 = $scevgep876; + } + break; + } + case 2: { + if ($45) { + $$9586 = $$1578; + } else { + $204 = ($$1612|0)>(0); + $205 = Math_imul($$6620742, $$1612)|0; + $$2616780 = $$2616776;$$3592778 = $107;$$4581779 = $$1578;$$4601777 = $106; + while(1) { + if ($204) { + $$9634773 = 0; + while(1) { + $233 = (($$4581779) + ($$9634773)|0); + $234 = HEAP8[$233>>0]|0; + $235 = $234&255; + $236 = (($$3592778) + ($$9634773)|0); + $237 = HEAP8[$236>>0]|0; + $238 = $237&255; + $239 = (($238) + ($235))|0; + $240 = $239&255; + $241 = (($$4601777) + ($$9634773)|0); + HEAP8[$241>>0] = $240; + $242 = (($$9634773) + 1)|0; + $exitcond873 = ($242|0)==($$1612|0); + if ($exitcond873) { + break; + } else { + $$9634773 = $242; + } + } + } + $243 = (($$4601777) + ($$1612)|0); + HEAP8[$243>>0] = -1; + $244 = (($$4581779) + ($$1612)|0); + $245 = (($$4601777) + ($15)|0); + $246 = (($$3592778) + ($15)|0); + $$2616 = (($$2616780) + -1)|0; + $247 = ($$2616|0)==(0); + if ($247) { + break; + } else { + $$2616780 = $$2616;$$3592778 = $246;$$4581779 = $244;$$4601777 = $245; + } + } + $scevgep874 = (($$1578) + ($205)|0); + $$9586 = $scevgep874; + } + break; + } + case 3: { + if ($46) { + $$9586 = $$1578; + } else { + $202 = ($$1612|0)>(0); + $203 = Math_imul($$6620742, $$1612)|0; + $$3617771 = $$3617767;$$4593769 = $107;$$5582770 = $$1578;$$5602768 = $106; + while(1) { + if ($202) { + $$10635764 = 0; + while(1) { + $248 = (($$5582770) + ($$10635764)|0); + $249 = HEAP8[$248>>0]|0; + $250 = $249&255; + $251 = (($$4593769) + ($$10635764)|0); + $252 = HEAP8[$251>>0]|0; + $253 = $252&255; + $254 = (($$10635764) - ($15))|0; + $255 = (($$5602768) + ($254)|0); + $256 = HEAP8[$255>>0]|0; + $257 = $256&255; + $258 = (($257) + ($253))|0; + $259 = $258 >>> 1; + $260 = (($259) + ($250))|0; + $261 = $260&255; + $262 = (($$5602768) + ($$10635764)|0); + HEAP8[$262>>0] = $261; + $263 = (($$10635764) + 1)|0; + $exitcond871 = ($263|0)==($$1612|0); + if ($exitcond871) { + break; + } else { + $$10635764 = $263; + } + } + } + $264 = (($$5602768) + ($$1612)|0); + HEAP8[$264>>0] = -1; + $265 = (($$5582770) + ($$1612)|0); + $266 = (($$5602768) + ($15)|0); + $267 = (($$4593769) + ($15)|0); + $$3617 = (($$3617771) + -1)|0; + $268 = ($$3617|0)==(0); + if ($268) { + break; + } else { + $$3617771 = $$3617;$$4593769 = $267;$$5582770 = $265;$$5602768 = $266; + } + } + $scevgep872 = (($$1578) + ($203)|0); + $$9586 = $scevgep872; + } + break; + } + case 4: { + if ($47) { + $$9586 = $$1578; + } else { + $200 = ($$1612|0)>(0); + $201 = Math_imul($$6620742, $$1612)|0; + $$4618762 = $$4618758;$$5594760 = $107;$$6583761 = $$1578;$$6603759 = $106; + while(1) { + if ($200) { + $$11636755 = 0; + while(1) { + $269 = (($$6583761) + ($$11636755)|0); + $270 = HEAP8[$269>>0]|0; + $271 = $270&255; + $272 = (($$11636755) - ($15))|0; + $273 = (($$6603759) + ($272)|0); + $274 = HEAP8[$273>>0]|0; + $275 = $274&255; + $276 = (($$5594760) + ($$11636755)|0); + $277 = HEAP8[$276>>0]|0; + $278 = $277&255; + $279 = (($$5594760) + ($272)|0); + $280 = HEAP8[$279>>0]|0; + $281 = $280&255; + $282 = (_stbi__paeth($275,$278,$281)|0); + $283 = (($282) + ($271))|0; + $284 = $283&255; + $285 = (($$6603759) + ($$11636755)|0); + HEAP8[$285>>0] = $284; + $286 = (($$11636755) + 1)|0; + $exitcond869 = ($286|0)==($$1612|0); + if ($exitcond869) { + break; + } else { + $$11636755 = $286; + } + } + } + $287 = (($$6603759) + ($$1612)|0); + HEAP8[$287>>0] = -1; + $288 = (($$6583761) + ($$1612)|0); + $289 = (($$6603759) + ($15)|0); + $290 = (($$5594760) + ($15)|0); + $$4618 = (($$4618762) + -1)|0; + $291 = ($$4618|0)==(0); + if ($291) { + break; + } else { + $$4618762 = $$4618;$$5594760 = $290;$$6583761 = $288;$$6603759 = $289; + } + } + $scevgep870 = (($$1578) + ($201)|0); + $$9586 = $scevgep870; + } + break; + } + case 5: { + if ($48) { + $$9586 = $$1578; + } else { + $198 = ($$1612|0)>(0); + $199 = Math_imul($$6620742, $$1612)|0; + $$5619753 = $$5619750;$$7584752 = $$1578;$$7604751 = $106; + while(1) { + if ($198) { + $$12747 = 0; + while(1) { + $292 = (($$7584752) + ($$12747)|0); + $293 = HEAP8[$292>>0]|0; + $294 = $293&255; + $295 = (($$12747) - ($15))|0; + $296 = (($$7604751) + ($295)|0); + $297 = HEAP8[$296>>0]|0; + $298 = $297&255; + $299 = $298 >>> 1; + $300 = (($299) + ($294))|0; + $301 = $300&255; + $302 = (($$7604751) + ($$12747)|0); + HEAP8[$302>>0] = $301; + $303 = (($$12747) + 1)|0; + $exitcond867 = ($303|0)==($$1612|0); + if ($exitcond867) { + break; + } else { + $$12747 = $303; + } + } + } + $304 = (($$7604751) + ($$1612)|0); + HEAP8[$304>>0] = -1; + $305 = (($$7584752) + ($$1612)|0); + $306 = (($$7604751) + ($15)|0); + $$5619 = (($$5619753) + -1)|0; + $307 = ($$5619|0)==(0); + if ($307) { + break; + } else { + $$5619753 = $$5619;$$7584752 = $305;$$7604751 = $306; + } + } + $scevgep868 = (($$1578) + ($199)|0); + $$9586 = $scevgep868; + } + break; + } + case 6: { + if ($49) { + $$9586 = $$1578; + } else { + $196 = ($$1612|0)>(0); + $197 = Math_imul($$6620742, $$1612)|0; + $$6620745 = $$6620742;$$8585744 = $$1578;$$8605743 = $106; + while(1) { + if ($196) { + $$13739 = 0; + while(1) { + $308 = (($$8585744) + ($$13739)|0); + $309 = HEAP8[$308>>0]|0; + $310 = $309&255; + $311 = (($$13739) - ($15))|0; + $312 = (($$8605743) + ($311)|0); + $313 = HEAP8[$312>>0]|0; + $314 = $313&255; + $315 = (_stbi__paeth($314,0,0)|0); + $316 = (($315) + ($310))|0; + $317 = $316&255; + $318 = (($$8605743) + ($$13739)|0); + HEAP8[$318>>0] = $317; + $319 = (($$13739) + 1)|0; + $exitcond865 = ($319|0)==($$1612|0); + if ($exitcond865) { + break; + } else { + $$13739 = $319; + } + } + } + $320 = (($$8605743) + ($$1612)|0); + HEAP8[$320>>0] = -1; + $321 = (($$8585744) + ($$1612)|0); + $322 = (($$8605743) + ($15)|0); + $$6620 = (($$6620745) + -1)|0; + $323 = ($$6620|0)==(0); + if ($323) { + break; + } else { + $$6620745 = $$6620;$$8585744 = $321;$$8605743 = $322; + } + } + $scevgep866 = (($$1578) + ($197)|0); + $$9586 = $scevgep866; + } + break; + } + default: { + $$9586 = $$1578; + } + } + if ($brmerge894) { + $$11$ph = $$9586; + } else { + $324 = HEAP32[$21>>2]|0; + $325 = (($324) + ($51)|0); + $326 = (($$1612) + 1)|0; + $$7621798 = 0;$$9606799 = $325; + while(1) { + $327 = (($$9606799) + ($326)|0); + HEAP8[$327>>0] = -1; + $328 = (($$7621798) + 1)|0; + $329 = (($$9606799) + ($15)|0); + $exitcond880 = ($328|0)==($4|0); + if ($exitcond880) { + $$11$ph = $$9586; + break; + } else { + $$7621798 = $328;$$9606799 = $329; + } + } + } + } + $330 = (($$0623814) + 1)|0; + $331 = ($330>>>0)<($5>>>0); + if ($331) { + $$0577817 = $$11$ph;$$0608816 = $$1609;$$0611815 = $$1612;$$0623814 = $330; + } else { + break L18; + } + } + if ((label|0) == 16) { + ___assert_fail((9627|0),(8967|0),4315,(9582|0)); + // unreachable; + } + else if ((label|0) == 58) { + ___assert_fail((9653|0),(8967|0),4377,(9582|0)); + // unreachable; + } + else if ((label|0) == 105) { + _stbi__err(9670); + $$2 = 0; + return ($$2|0); + } + } + } while(0); + $332 = ($6|0)<(8); + if (!($332)) { + if (!($8)) { + $$2 = 1; + return ($$2|0); + } + $601 = Math_imul($4, $3)|0; + $602 = Math_imul($601, $5)|0; + $603 = ($602|0)==(0); + if ($603) { + $$2 = 1; + return ($$2|0); + } + $604 = HEAP32[$21>>2]|0; + $$0731 = $604;$$8622729 = 0; + while(1) { + $605 = HEAP8[$$0731>>0]|0; + $606 = $605&255; + $607 = $606 << 8; + $608 = ((($$0731)) + 1|0); + $609 = HEAP8[$608>>0]|0; + $610 = $609&255; + $611 = $607 | $610; + $612 = $611&65535; + HEAP16[$$0731>>1] = $612; + $613 = (($$8622729) + 1)|0; + $614 = ((($$0731)) + 2|0); + $exitcond = ($613|0)==($602|0); + if ($exitcond) { + $$2 = 1; + break; + } else { + $$0731 = $614;$$8622729 = $613; + } + } + return ($$2|0); + } + $333 = ($5|0)==(0); + if ($333) { + $$2 = 1; + return ($$2|0); + } + $334 = (0 - ($26))|0; + $335 = ($7|0)==(0); + $336 = (9366 + ($6)|0); + $$0568724 = (($4) + -1)|0; + $337 = ($$0568724|0)>(-1); + $$1721 = (($4) + -1)|0; + $338 = ($$1721|0)>(-1); + $339 = ($23|0)>(1); + $340 = ($23|0)>(3); + $341 = ($23|0)>(7); + $342 = (($23) + -8)|0; + $343 = $342 >>> 3; + $344 = $343 << 3; + $345 = (($344) + 8)|0; + $346 = (($342) - ($344))|0; + $347 = (($343) + ($11))|0; + $348 = (($347) + 1)|0; + $349 = (($348) - ($26))|0; + $350 = (($23) + -4)|0; + $351 = $350 >>> 2; + $352 = $351 << 2; + $353 = (($352) + 4)|0; + $354 = (($350) - ($352))|0; + $355 = (($351) + ($11))|0; + $356 = (($355) + 1)|0; + $357 = (($356) - ($26))|0; + $358 = (($23) + -2)|0; + $359 = $358 >>> 1; + $360 = $359 << 1; + $361 = (($360) + 2)|0; + $362 = (($358) - ($360))|0; + $363 = (($359) + ($11))|0; + $364 = (($363) + 1)|0; + $365 = (($364) - ($26))|0; + $$1624727 = 0;$indvars$iv = $345;$indvars$iv848 = $349;$indvars$iv851 = $353;$indvars$iv854 = $357;$indvars$iv857 = $361;$indvars$iv860 = $365; + L174: while(1) { + $366 = HEAP32[$21>>2]|0; + $367 = Math_imul($$1624727, $12)|0; + $368 = (($366) + ($367)|0); + $369 = (($368) + ($11)|0); + $370 = (($369) + ($334)|0); + if ($335) { + $371 = HEAP8[$336>>0]|0; + $372 = $371&255; + $377 = $372; + } else { + $377 = 1; + } + switch ($6|0) { + case 4: { + if ($339) { + $scevgep859 = (($366) + ($indvars$iv857)|0); + $$0571715 = $370;$$0574714 = $368;$$14713 = $23; + while(1) { + $373 = HEAP8[$$0571715>>0]|0; + $374 = $373&255; + $375 = $374 >>> 4; + $376 = Math_imul($375, $377)|0; + $378 = $376&255; + $379 = ((($$0574714)) + 1|0); + HEAP8[$$0574714>>0] = $378; + $380 = HEAP8[$$0571715>>0]|0; + $381 = $380 & 15; + $382 = $381&255; + $383 = Math_imul($382, $377)|0; + $384 = $383&255; + $385 = ((($$0574714)) + 2|0); + HEAP8[$379>>0] = $384; + $386 = (($$14713) + -2)|0; + $387 = ((($$0571715)) + 1|0); + $388 = ($386|0)>(1); + if ($388) { + $$0571715 = $387;$$0574714 = $385;$$14713 = $386; + } else { + break; + } + } + $scevgep862 = (($366) + ($indvars$iv860)|0); + $$0571$lcssa = $scevgep862;$$0574$lcssa = $scevgep859;$$14$lcssa = $362; + } else { + $$0571$lcssa = $370;$$0574$lcssa = $368;$$14$lcssa = $23; + } + $389 = ($$14$lcssa|0)==(1); + if ($389) { + $390 = HEAP8[$$0571$lcssa>>0]|0; + $391 = $390&255; + $392 = $391 >>> 4; + $393 = Math_imul($392, $377)|0; + $394 = $393&255; + HEAP8[$$0574$lcssa>>0] = $394; + } + break; + } + case 2: { + if ($340) { + $scevgep853 = (($366) + ($indvars$iv851)|0); + $$15705 = $23;$$1572707 = $370;$$1575706 = $368; + while(1) { + $395 = HEAP8[$$1572707>>0]|0; + $396 = $395&255; + $397 = $396 >>> 6; + $398 = Math_imul($397, $377)|0; + $399 = $398&255; + $400 = ((($$1575706)) + 1|0); + HEAP8[$$1575706>>0] = $399; + $401 = HEAP8[$$1572707>>0]|0; + $402 = $401&255; + $403 = $402 >>> 4; + $404 = $403 & 3; + $405 = Math_imul($404, $377)|0; + $406 = $405&255; + $407 = ((($$1575706)) + 2|0); + HEAP8[$400>>0] = $406; + $408 = HEAP8[$$1572707>>0]|0; + $409 = $408&255; + $410 = $409 >>> 2; + $411 = $410 & 3; + $412 = Math_imul($411, $377)|0; + $413 = $412&255; + $414 = ((($$1575706)) + 3|0); + HEAP8[$407>>0] = $413; + $415 = HEAP8[$$1572707>>0]|0; + $416 = $415 & 3; + $417 = $416&255; + $418 = Math_imul($417, $377)|0; + $419 = $418&255; + $420 = ((($$1575706)) + 4|0); + HEAP8[$414>>0] = $419; + $421 = (($$15705) + -4)|0; + $422 = ((($$1572707)) + 1|0); + $423 = ($421|0)>(3); + if ($423) { + $$15705 = $421;$$1572707 = $422;$$1575706 = $420; + } else { + break; + } + } + $scevgep856 = (($366) + ($indvars$iv854)|0); + $$15$lcssa = $354;$$1572$lcssa = $scevgep856;$$1575$lcssa = $scevgep853; + } else { + $$15$lcssa = $23;$$1572$lcssa = $370;$$1575$lcssa = $368; + } + $424 = ($$15$lcssa|0)>(0); + if ($424) { + $425 = HEAP8[$$1572$lcssa>>0]|0; + $426 = $425&255; + $427 = $426 >>> 6; + $428 = Math_imul($427, $377)|0; + $429 = $428&255; + HEAP8[$$1575$lcssa>>0] = $429; + $430 = ($$15$lcssa|0)==(1); + if (!($430)) { + $431 = ((($$1575$lcssa)) + 1|0); + $432 = HEAP8[$$1572$lcssa>>0]|0; + $433 = $432&255; + $434 = $433 >>> 4; + $435 = $434 & 3; + $436 = Math_imul($435, $377)|0; + $437 = $436&255; + HEAP8[$431>>0] = $437; + $438 = ($$15$lcssa|0)>(2); + if ($438) { + $439 = ((($$1575$lcssa)) + 2|0); + $440 = HEAP8[$$1572$lcssa>>0]|0; + $441 = $440&255; + $442 = $441 >>> 2; + $443 = $442 & 3; + $444 = Math_imul($443, $377)|0; + $445 = $444&255; + HEAP8[$439>>0] = $445; + } + } + } + break; + } + case 1: { + if ($341) { + $scevgep = (($366) + ($indvars$iv)|0); + $$16700 = $23;$$2573702 = $370;$$4701 = $368; + while(1) { + $446 = HEAP8[$$2573702>>0]|0; + $447 = $446&255; + $448 = $447 >>> 7; + $449 = (0 - ($448))|0; + $450 = $377 & $449; + $451 = $450&255; + $452 = ((($$4701)) + 1|0); + HEAP8[$$4701>>0] = $451; + $453 = HEAP8[$$2573702>>0]|0; + $454 = $453&255; + $455 = $454 >>> 6; + $456 = $455 & 1; + $457 = (0 - ($456))|0; + $458 = $377 & $457; + $459 = $458&255; + $460 = ((($$4701)) + 2|0); + HEAP8[$452>>0] = $459; + $461 = HEAP8[$$2573702>>0]|0; + $462 = $461&255; + $463 = $462 >>> 5; + $464 = $463 & 1; + $465 = (0 - ($464))|0; + $466 = $377 & $465; + $467 = $466&255; + $468 = ((($$4701)) + 3|0); + HEAP8[$460>>0] = $467; + $469 = HEAP8[$$2573702>>0]|0; + $470 = $469&255; + $471 = $470 >>> 4; + $472 = $471 & 1; + $473 = (0 - ($472))|0; + $474 = $377 & $473; + $475 = $474&255; + $476 = ((($$4701)) + 4|0); + HEAP8[$468>>0] = $475; + $477 = HEAP8[$$2573702>>0]|0; + $478 = $477&255; + $479 = $478 >>> 3; + $480 = $479 & 1; + $481 = (0 - ($480))|0; + $482 = $377 & $481; + $483 = $482&255; + $484 = ((($$4701)) + 5|0); + HEAP8[$476>>0] = $483; + $485 = HEAP8[$$2573702>>0]|0; + $486 = $485&255; + $487 = $486 >>> 2; + $488 = $487 & 1; + $489 = (0 - ($488))|0; + $490 = $377 & $489; + $491 = $490&255; + $492 = ((($$4701)) + 6|0); + HEAP8[$484>>0] = $491; + $493 = HEAP8[$$2573702>>0]|0; + $494 = $493&255; + $495 = $494 >>> 1; + $496 = $495 & 1; + $497 = (0 - ($496))|0; + $498 = $377 & $497; + $499 = $498&255; + $500 = ((($$4701)) + 7|0); + HEAP8[$492>>0] = $499; + $501 = HEAP8[$$2573702>>0]|0; + $502 = $501 & 1; + $503 = $502&255; + $504 = (0 - ($503))|0; + $505 = $377 & $504; + $506 = $505&255; + $507 = ((($$4701)) + 8|0); + HEAP8[$500>>0] = $506; + $508 = (($$16700) + -8)|0; + $509 = ((($$2573702)) + 1|0); + $510 = ($508|0)>(7); + if ($510) { + $$16700 = $508;$$2573702 = $509;$$4701 = $507; + } else { + break; + } + } + $scevgep850 = (($366) + ($indvars$iv848)|0); + $$16$lcssa = $346;$$2573$lcssa = $scevgep850;$$4$lcssa = $scevgep; + } else { + $$16$lcssa = $23;$$2573$lcssa = $370;$$4$lcssa = $368; + } + $511 = ($$16$lcssa|0)>(0); + if ($511) { + $512 = HEAP8[$$2573$lcssa>>0]|0; + $513 = $512&255; + $514 = $513 >>> 7; + $515 = (0 - ($514))|0; + $516 = $377 & $515; + $517 = $516&255; + HEAP8[$$4$lcssa>>0] = $517; + $518 = ($$16$lcssa|0)==(1); + if (!($518)) { + $519 = ((($$4$lcssa)) + 1|0); + $520 = HEAP8[$$2573$lcssa>>0]|0; + $521 = $520&255; + $522 = $521 >>> 6; + $523 = $522 & 1; + $524 = (0 - ($523))|0; + $525 = $377 & $524; + $526 = $525&255; + HEAP8[$519>>0] = $526; + $527 = ($$16$lcssa|0)>(2); + if ($527) { + $528 = ((($$4$lcssa)) + 2|0); + $529 = HEAP8[$$2573$lcssa>>0]|0; + $530 = $529&255; + $531 = $530 >>> 5; + $532 = $531 & 1; + $533 = (0 - ($532))|0; + $534 = $377 & $533; + $535 = $534&255; + HEAP8[$528>>0] = $535; + $536 = ($$16$lcssa|0)==(3); + if (!($536)) { + $537 = ((($$4$lcssa)) + 3|0); + $538 = HEAP8[$$2573$lcssa>>0]|0; + $539 = $538&255; + $540 = $539 >>> 4; + $541 = $540 & 1; + $542 = (0 - ($541))|0; + $543 = $377 & $542; + $544 = $543&255; + HEAP8[$537>>0] = $544; + $545 = ($$16$lcssa|0)>(4); + if ($545) { + $546 = ((($$4$lcssa)) + 4|0); + $547 = HEAP8[$$2573$lcssa>>0]|0; + $548 = $547&255; + $549 = $548 >>> 3; + $550 = $549 & 1; + $551 = (0 - ($550))|0; + $552 = $377 & $551; + $553 = $552&255; + HEAP8[$546>>0] = $553; + $554 = ($$16$lcssa|0)==(5); + if (!($554)) { + $555 = ((($$4$lcssa)) + 5|0); + $556 = HEAP8[$$2573$lcssa>>0]|0; + $557 = $556&255; + $558 = $557 >>> 2; + $559 = $558 & 1; + $560 = (0 - ($559))|0; + $561 = $377 & $560; + $562 = $561&255; + HEAP8[$555>>0] = $562; + $563 = ($$16$lcssa|0)>(6); + if ($563) { + $564 = ((($$4$lcssa)) + 6|0); + $565 = HEAP8[$$2573$lcssa>>0]|0; + $566 = $565&255; + $567 = $566 >>> 1; + $568 = $567 & 1; + $569 = (0 - ($568))|0; + $570 = $377 & $569; + $571 = $570&255; + HEAP8[$564>>0] = $571; + } + } + } + } + } + } + } + break; + } + default: { + } + } + L213: do { + if (!($17)) { + $572 = HEAP32[$21>>2]|0; + $573 = (($572) + ($367)|0); + switch ($14|0) { + case 1: { + if ($337) { + $$0568725 = $$0568724; + } else { + break L213; + } + while(1) { + $574 = $$0568725 << 1; + $575 = $574 | 1; + $576 = (($573) + ($575)|0); + HEAP8[$576>>0] = -1; + $577 = (($573) + ($$0568725)|0); + $578 = HEAP8[$577>>0]|0; + $579 = (($573) + ($574)|0); + HEAP8[$579>>0] = $578; + $$0568 = (($$0568725) + -1)|0; + $580 = ($$0568|0)>(-1); + if ($580) { + $$0568725 = $$0568; + } else { + break; + } + } + break; + } + case 3: { + if ($338) { + $$1722 = $$1721; + } else { + break L213; + } + while(1) { + $581 = $$1722 << 2; + $582 = $581 | 3; + $583 = (($573) + ($582)|0); + HEAP8[$583>>0] = -1; + $584 = ($$1722*3)|0; + $585 = (($584) + 2)|0; + $586 = (($573) + ($585)|0); + $587 = HEAP8[$586>>0]|0; + $588 = $581 | 2; + $589 = (($573) + ($588)|0); + HEAP8[$589>>0] = $587; + $590 = (($584) + 1)|0; + $591 = (($573) + ($590)|0); + $592 = HEAP8[$591>>0]|0; + $593 = $581 | 1; + $594 = (($573) + ($593)|0); + HEAP8[$594>>0] = $592; + $595 = (($573) + ($584)|0); + $596 = HEAP8[$595>>0]|0; + $597 = (($573) + ($581)|0); + HEAP8[$597>>0] = $596; + $$1 = (($$1722) + -1)|0; + $598 = ($$1|0)>(-1); + if ($598) { + $$1722 = $$1; + } else { + break; + } + } + break; + } + default: { + label = 144; + break L174; + } + } + } + } while(0); + $599 = (($$1624727) + 1)|0; + $600 = ($599>>>0)<($5>>>0); + $indvars$iv$next = (($indvars$iv) + ($12))|0; + $indvars$iv$next849 = (($indvars$iv848) + ($12))|0; + $indvars$iv$next852 = (($indvars$iv851) + ($12))|0; + $indvars$iv$next855 = (($indvars$iv854) + ($12))|0; + $indvars$iv$next858 = (($indvars$iv857) + ($12))|0; + $indvars$iv$next861 = (($indvars$iv860) + ($12))|0; + if ($600) { + $$1624727 = $599;$indvars$iv = $indvars$iv$next;$indvars$iv848 = $indvars$iv$next849;$indvars$iv851 = $indvars$iv$next852;$indvars$iv854 = $indvars$iv$next855;$indvars$iv857 = $indvars$iv$next858;$indvars$iv860 = $indvars$iv$next861; + } else { + $$2 = 1; + label = 151; + break; + } + } + if ((label|0) == 144) { + ___assert_fail((9685|0),(8967|0),4466,(9582|0)); + // unreachable; + } + else if ((label|0) == 151) { + return ($$2|0); + } + return (0)|0; +} +function _stbi__paeth($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$ = 0, $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $ispos = 0, $ispos26 = 0, $ispos28 = 0, $neg = 0, $neg27 = 0, $neg29 = 0, $or$cond = 0; + var label = 0, sp = 0; + sp = STACKTOP; + $3 = (($1) + ($0))|0; + $4 = (($3) - ($2))|0; + $5 = (($4) - ($0))|0; + $ispos = ($5|0)>(-1); + $neg = (0 - ($5))|0; + $6 = $ispos ? $5 : $neg; + $7 = (($4) - ($1))|0; + $ispos26 = ($7|0)>(-1); + $neg27 = (0 - ($7))|0; + $8 = $ispos26 ? $7 : $neg27; + $9 = (($4) - ($2))|0; + $ispos28 = ($9|0)>(-1); + $neg29 = (0 - ($9))|0; + $10 = $ispos28 ? $9 : $neg29; + $11 = ($6|0)>($8|0); + $12 = ($6|0)>($10|0); + $or$cond = $11 | $12; + $13 = ($8|0)>($10|0); + $$ = $13 ? $2 : $1; + $$0 = $or$cond ? $$ : $0; + return ($$0|0); +} +function _stbi__do_zlib($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = ((($0)) + 20|0); + HEAP32[$5>>2] = $1; + $6 = ((($0)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = (($1) + ($2)|0); + $8 = ((($0)) + 24|0); + HEAP32[$8>>2] = $7; + $9 = ((($0)) + 28|0); + HEAP32[$9>>2] = $3; + $10 = (_stbi__parse_zlib($0,$4)|0); + return ($10|0); +} +function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)==(0); + if (!($2)) { + $3 = (_stbi__parse_zlib_header($0)|0); + $4 = ($3|0)==(0); + if ($4) { + $$0 = 0; + return ($$0|0); + } + } + $5 = ((($0)) + 8|0); + HEAP32[$5>>2] = 0; + $6 = ((($0)) + 12|0); + HEAP32[$6>>2] = 0; + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); + L5: while(1) { + $9 = (_stbi__zreceive($0,1)|0); + $10 = (_stbi__zreceive($0,2)|0); + switch ($10|0) { + case 3: { + $$0 = 0; + label = 11; + break L5; + break; + } + case 0: { + $11 = (_stbi__parse_uncompressed_block($0)|0); + $12 = ($11|0)==(0); + if ($12) { + $$0 = 0; + label = 11; + break L5; + } + break; + } + case 1: { + $13 = (_stbi__zbuild_huffman($7,9696,288)|0); + $14 = ($13|0)==(0); + if ($14) { + $$0 = 0; + label = 11; + break L5; + } + $15 = (_stbi__zbuild_huffman($8,9984,32)|0); + $16 = ($15|0)==(0); + if ($16) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + break; + } + default: { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { + $$0 = 0; + label = 11; + break L5; + } else { + label = 9; + } + } + } + if ((label|0) == 9) { + label = 0; + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = 0; + label = 11; + break; + } + } + $21 = ($9|0)==(0); + if (!($21)) { + $$0 = 1; + label = 11; + break; + } + } + if ((label|0) == 11) { + return ($$0|0); + } + return (0)|0; +} +function _stbi__parse_zlib_header($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_stbi__zget8($0)|0); + $2 = $1&255; + $3 = $2 & 15; + $4 = (_stbi__zget8($0)|0); + $5 = $4&255; + $6 = $2 << 8; + $7 = $6 | $5; + $8 = (($7>>>0) % 31)&-1; + $9 = ($8|0)==(0); + if (!($9)) { + _stbi__err(10331); + $$0 = 0; + return ($$0|0); + } + $10 = $5 & 32; + $11 = ($10|0)==(0); + if (!($11)) { + _stbi__err(10347); + $$0 = 0; + return ($$0|0); + } + $12 = ($3|0)==(8); + if ($12) { + $$0 = 1; + return ($$0|0); + } + _stbi__err(10362); + $$0 = 0; + return ($$0|0); +} +function _stbi__zreceive($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0, $11 = 0, $12 = 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)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<($1|0); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = 1 << $1; + $8 = (($7) + -1)|0; + $9 = $6 & $8; + $10 = $6 >>> $1; + HEAP32[$5>>2] = $10; + $11 = HEAP32[$2>>2]|0; + $12 = (($11) - ($1))|0; + HEAP32[$2>>2] = $12; + return ($9|0); +} +function _stbi__parse_uncompressed_block($0) { + $0 = $0|0; + var $$0$lcssa = 0, $$034 = 0, $$037 = 0, $$136 = 0, $$lcssa = 0, $$ph = 0, $$pr = 0, $$promoted = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $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; + var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, $smax = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & 7; + $5 = ($4|0)==(0); + if ($5) { + $$ph = $3; + } else { + (_stbi__zreceive($0,$4)|0); + $$pr = HEAP32[$2>>2]|0; + $$ph = $$pr; + } + $6 = ($$ph|0)>(0); + if ($6) { + $7 = ((($0)) + 12|0); + $$promoted = HEAP32[$7>>2]|0; + $8 = $$ph ^ -1; + $9 = ($8|0)>(-9); + $smax = $9 ? $8 : -9; + $10 = (($$ph) + ($smax))|0; + $11 = (($10) + 8)|0; + $12 = $11 >>> 3; + $13 = (($12) + 1)|0; + $14 = $12 << 3; + $$037 = 0;$16 = $$promoted; + while(1) { + $15 = $16&255; + $17 = (($$037) + 1)|0; + $18 = (($1) + ($$037)|0); + HEAP8[$18>>0] = $15; + $19 = $16 >>> 8; + $exitcond47 = ($17|0)==($13|0); + if ($exitcond47) { + break; + } else { + $$037 = $17;$16 = $19; + } + } + $20 = (($$ph) + -8)|0; + $21 = (($20) - ($14))|0; + HEAP32[$7>>2] = $19; + HEAP32[$2>>2] = $21; + $$0$lcssa = $13;$$lcssa = $21; + } else { + $$0$lcssa = 0;$$lcssa = $$ph; + } + $22 = ($$lcssa|0)==(0); + if (!($22)) { + ___assert_fail((10253|0),(8967|0),4033,(10270|0)); + // unreachable; + } + $23 = ($$0$lcssa|0)<(4); + if ($23) { + $$136 = $$0$lcssa; + while(1) { + $24 = (_stbi__zget8($0)|0); + $25 = (($$136) + 1)|0; + $26 = (($1) + ($$136)|0); + HEAP8[$26>>0] = $24; + $exitcond = ($25|0)==(4); + if ($exitcond) { + break; + } else { + $$136 = $25; + } + } + } + $27 = ((($1)) + 1|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = HEAP8[$1>>0]|0; + $32 = $31&255; + $33 = $30 | $32; + $34 = ((($1)) + 3|0); + $35 = HEAP8[$34>>0]|0; + $36 = $35&255; + $37 = $36 << 8; + $38 = ((($1)) + 2|0); + $39 = HEAP8[$38>>0]|0; + $40 = $39&255; + $41 = $37 | $40; + $42 = $33 ^ 65535; + $43 = ($41|0)==($42|0); + if (!($43)) { + _stbi__err(10301); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $44 = HEAP32[$0>>2]|0; + $45 = (($44) + ($33)|0); + $46 = ((($0)) + 4|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($45>>>0)>($47>>>0); + if ($48) { + _stbi__err(10314); + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + $49 = ((($0)) + 16|0); + $50 = HEAP32[$49>>2]|0; + $51 = (($50) + ($33)|0); + $52 = ((($0)) + 24|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($51>>>0)>($53>>>0); + if ($54) { + $55 = (_stbi__zexpand($0,$50,$33)|0); + $56 = ($55|0)==(0); + if ($56) { + $$034 = 0; + STACKTOP = sp;return ($$034|0); + } + } + $57 = HEAP32[$49>>2]|0; + $58 = HEAP32[$0>>2]|0; + _memcpy(($57|0),($58|0),($33|0))|0; + $59 = HEAP32[$0>>2]|0; + $60 = (($59) + ($33)|0); + HEAP32[$0>>2] = $60; + $61 = HEAP32[$49>>2]|0; + $62 = (($61) + ($33)|0); + HEAP32[$49>>2] = $62; + $$034 = 1; + STACKTOP = sp;return ($$034|0); +} +function _stbi__zbuild_huffman($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$075 = 0, $$07688 = 0, $$07785 = 0, $$07884 = 0, $$081 = 0, $$286 = 0, $$382 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 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, $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; + var $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, $67 = 0, $68 = 0, $69 = 0, $7 = 0; + var $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, $85 = 0, $86 = 0, $87 = 0, $88 = 0; + var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0, $exitcond91 = 0, $or$cond = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $3 = sp + 72|0; + $4 = sp; + dest=$4; stop=dest+68|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + _memset(($0|0),0,1024)|0; + $5 = ($2|0)>(0); + if ($5) { + $$07688 = 0; + while(1) { + $6 = (($1) + ($$07688)|0); + $7 = HEAP8[$6>>0]|0; + $8 = $7&255; + $9 = (($4) + ($8<<2)|0); + $10 = HEAP32[$9>>2]|0; + $11 = (($10) + 1)|0; + HEAP32[$9>>2] = $11; + $12 = (($$07688) + 1)|0; + $exitcond91 = ($12|0)==($2|0); + if ($exitcond91) { + break; + } else { + $$07688 = $12; + } + } + } + HEAP32[$4>>2] = 0; + $16 = ((($4)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = ($17|0)>(2); + if (!($18)) { + $13 = ((($4)) + 8|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)>(4); + if (!($15)) { + $69 = ((($4)) + 12|0); + $70 = HEAP32[$69>>2]|0; + $71 = ($70|0)>(8); + if (!($71)) { + $72 = ((($4)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)>(16); + if (!($74)) { + $75 = ((($4)) + 20|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($76|0)>(32); + if (!($77)) { + $78 = ((($4)) + 24|0); + $79 = HEAP32[$78>>2]|0; + $80 = ($79|0)>(64); + if (!($80)) { + $81 = ((($4)) + 28|0); + $82 = HEAP32[$81>>2]|0; + $83 = ($82|0)>(128); + if (!($83)) { + $84 = ((($4)) + 32|0); + $85 = HEAP32[$84>>2]|0; + $86 = ($85|0)>(256); + if (!($86)) { + $87 = ((($4)) + 36|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)>(512); + if (!($89)) { + $90 = ((($4)) + 40|0); + $91 = HEAP32[$90>>2]|0; + $92 = ($91|0)>(1024); + if (!($92)) { + $93 = ((($4)) + 44|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)>(2048); + if (!($95)) { + $96 = ((($4)) + 48|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)>(4096); + if (!($98)) { + $99 = ((($4)) + 52|0); + $100 = HEAP32[$99>>2]|0; + $101 = ($100|0)>(8192); + if (!($101)) { + $102 = ((($4)) + 56|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)>(16384); + if (!($104)) { + $105 = ((($4)) + 60|0); + $106 = HEAP32[$105>>2]|0; + $107 = ($106|0)>(32768); + if (!($107)) { + $$07785 = 0;$$07884 = 0;$$286 = 1; + while(1) { + $19 = (($3) + ($$286<<2)|0); + HEAP32[$19>>2] = $$07884; + $20 = $$07884&65535; + $21 = (((($0)) + 1024|0) + ($$286<<1)|0); + HEAP16[$21>>1] = $20; + $22 = $$07785&65535; + $23 = (((($0)) + 1124|0) + ($$286<<1)|0); + HEAP16[$23>>1] = $22; + $24 = (($4) + ($$286<<2)|0); + $25 = HEAP32[$24>>2]|0; + $26 = (($25) + ($$07884))|0; + $27 = ($25|0)!=(0); + $28 = 1 << $$286; + $29 = ($26|0)>($28|0); + $or$cond = $27 & $29; + if ($or$cond) { + label = 7; + break; + } + $30 = (16 - ($$286))|0; + $31 = $26 << $30; + $32 = (((($0)) + 1056|0) + ($$286<<2)|0); + HEAP32[$32>>2] = $31; + $33 = $26 << 1; + $34 = (($25) + ($$07785))|0; + $35 = (($$286) + 1)|0; + $36 = ($35|0)<(16); + if ($36) { + $$07785 = $34;$$07884 = $33;$$286 = $35; + } else { + break; + } + } + if ((label|0) == 7) { + _stbi__err(10191); + $$075 = 0; + STACKTOP = sp;return ($$075|0); + } + $37 = ((($0)) + 1120|0); + HEAP32[$37>>2] = 65536; + $38 = ($2|0)>(0); + if ($38) { + $$382 = 0; + } else { + $$075 = 1; + STACKTOP = sp;return ($$075|0); + } + while(1) { + $39 = (($1) + ($$382)|0); + $40 = HEAP8[$39>>0]|0; + $41 = $40&255; + $42 = ($40<<24>>24)==(0); + if (!($42)) { + $43 = (($3) + ($41<<2)|0); + $44 = HEAP32[$43>>2]|0; + $45 = (((($0)) + 1024|0) + ($41<<1)|0); + $46 = HEAP16[$45>>1]|0; + $47 = $46&65535; + $48 = (($44) - ($47))|0; + $49 = (((($0)) + 1124|0) + ($41<<1)|0); + $50 = HEAP16[$49>>1]|0; + $51 = $50&65535; + $52 = (($48) + ($51))|0; + $53 = $41 << 9; + $54 = $53 | $$382; + $55 = $54&65535; + $56 = (((($0)) + 1156|0) + ($52)|0); + HEAP8[$56>>0] = $40; + $57 = $$382&65535; + $58 = (((($0)) + 1444|0) + ($52<<1)|0); + HEAP16[$58>>1] = $57; + $59 = ($40&255)<(10); + do { + if ($59) { + $60 = (_stbi__bit_reverse($44,$41)|0); + $61 = ($60|0)<(512); + if (!($61)) { + break; + } + $62 = 1 << $41; + $$081 = $60; + while(1) { + $63 = (($0) + ($$081<<1)|0); + HEAP16[$63>>1] = $55; + $64 = (($$081) + ($62))|0; + $65 = ($64|0)<(512); + if ($65) { + $$081 = $64; + } else { + break; + } + } + } + } while(0); + $66 = HEAP32[$43>>2]|0; + $67 = (($66) + 1)|0; + HEAP32[$43>>2] = $67; + } + $68 = (($$382) + 1)|0; + $exitcond = ($68|0)==($2|0); + if ($exitcond) { + $$075 = 1; + break; + } else { + $$382 = $68; + } + } + STACKTOP = sp;return ($$075|0); + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + _stbi__err(10243); + $$075 = 0; + STACKTOP = sp;return ($$075|0); +} +function _stbi__compute_huffman_codes($0) { + $0 = $0|0; + var $$ = 0, $$0 = 0, $$061 = 0, $$06579 = 0, $$066$be = 0, $$066$lcssa = 0, $$06678 = 0, $$4 = 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; + var $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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $not$ = 0, dest = 0; + var label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2496|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(2496|0); + $1 = sp; + $2 = sp + 2039|0; + $3 = sp + 2020|0; + $4 = (_stbi__zreceive($0,5)|0); + $5 = (($4) + 257)|0; + $6 = (_stbi__zreceive($0,5)|0); + $7 = (($6) + 1)|0; + $8 = (_stbi__zreceive($0,4)|0); + $9 = (($8) + 4)|0; + $10 = (($7) + ($5))|0; + dest=$3; stop=dest+19|0; do { HEAP8[dest>>0]=0|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $11 = ($9|0)>(0); + if ($11) { + $$06579 = 0; + while(1) { + $12 = (_stbi__zreceive($0,3)|0); + $13 = $12&255; + $14 = (11037 + ($$06579)|0); + $15 = HEAP8[$14>>0]|0; + $16 = $15&255; + $17 = (($3) + ($16)|0); + HEAP8[$17>>0] = $13; + $18 = (($$06579) + 1)|0; + $exitcond = ($18|0)==($9|0); + if ($exitcond) { + break; + } else { + $$06579 = $18; + } + } + } + $19 = (_stbi__zbuild_huffman($1,$3,19)|0); + $20 = ($19|0)==(0); + if ($20) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $21 = ($10|0)>(0); + L8: do { + if ($21) { + $$06678 = 0; + L9: while(1) { + $22 = (_stbi__zhuffman_decode($0,$1)|0); + $23 = ($22>>>0)>(18); + if ($23) { + label = 6; + break; + } + $24 = ($22|0)<(16); + if ($24) { + $25 = $22&255; + $26 = (($$06678) + 1)|0; + $27 = (($2) + ($$06678)|0); + HEAP8[$27>>0] = $25; + $$066$be = $26; + } else { + switch ($22|0) { + case 16: { + $28 = (_stbi__zreceive($0,2)|0); + $29 = ($$06678|0)==(0); + if ($29) { + label = 11; + break L9; + } + $30 = (($28) + 3)|0; + $31 = (($$06678) + -1)|0; + $32 = (($2) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $$0 = $33;$$061 = $30; + break; + } + case 17: { + $34 = (_stbi__zreceive($0,3)|0); + $35 = (($34) + 3)|0; + $$0 = 0;$$061 = $35; + break; + } + case 18: { + $36 = (_stbi__zreceive($0,7)|0); + $37 = (($36) + 11)|0; + $$0 = 0;$$061 = $37; + break; + } + default: { + label = 14; + break L9; + } + } + $38 = (($10) - ($$06678))|0; + $39 = ($38|0)<($$061|0); + if ($39) { + label = 17; + break; + } + $40 = (($2) + ($$06678)|0); + _memset(($40|0),($$0|0),($$061|0))|0; + $41 = (($$061) + ($$06678))|0; + $$066$be = $41; + } + $42 = ($10|0)>($$066$be|0); + if ($42) { + $$06678 = $$066$be; + } else { + $$066$lcssa = $$066$be; + break L8; + } + } + if ((label|0) == 6) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 11) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + else if ((label|0) == 14) { + ___assert_fail((10207|0),(8967|0),4006,(10215|0)); + // unreachable; + } + else if ((label|0) == 17) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + } else { + $$066$lcssa = 0; + } + } while(0); + $43 = ($10|0)==($$066$lcssa|0); + if (!($43)) { + _stbi__err(10191); + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $44 = ((($0)) + 32|0); + $45 = (_stbi__zbuild_huffman($44,$2,$5)|0); + $46 = ($45|0)==(0); + if ($46) { + $$4 = 0; + STACKTOP = sp;return ($$4|0); + } + $47 = ((($0)) + 2052|0); + $48 = (($2) + ($5)|0); + $49 = (_stbi__zbuild_huffman($47,$48,$7)|0); + $not$ = ($49|0)!=(0); + $$ = $not$&1; + $$4 = $$; + STACKTOP = sp;return ($$4|0); +} +function _stbi__parse_huffman_block($0) { + $0 = $0|0; + var $$063 = 0, $$064 = 0, $$067 = 0, $$070 = 0, $$171 = 0, $$266 = 0, $$272 = 0, $$3$ph = 0, $$5 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scevgep = 0, $scevgep92 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 32|0); + $4 = ((($0)) + 24|0); + $5 = ((($0)) + 2052|0); + $6 = ((($0)) + 20|0); + $7 = ((($0)) + 24|0); + $$070 = $2; + while(1) { + $10 = (_stbi__zhuffman_decode($0,$3)|0); + $11 = ($10|0)<(256); + if ($11) { + $12 = ($10|0)<(0); + if ($12) { + label = 6; + break; + } + $13 = HEAP32[$4>>2]|0; + $14 = ($$070>>>0)<($13>>>0); + if ($14) { + $$171 = $$070; + } else { + $15 = (_stbi__zexpand($0,$$070,1)|0); + $16 = ($15|0)==(0); + if ($16) { + $$3$ph = 0; + label = 28; + break; + } + $17 = HEAP32[$1>>2]|0; + $$171 = $17; + } + $18 = $10&255; + $19 = ((($$171)) + 1|0); + HEAP8[$$171>>0] = $18; + $$070 = $19; + continue; + } + $20 = ($10|0)==(256); + if ($20) { + label = 12; + break; + } + $21 = (($10) + -257)|0; + $22 = (3244 + ($21<<2)|0); + $23 = HEAP32[$22>>2]|0; + $24 = (($10) + -265)|0; + $25 = ($24>>>0)<(20); + if ($25) { + $26 = (3120 + ($21<<2)|0); + $27 = HEAP32[$26>>2]|0; + $28 = (_stbi__zreceive($0,$27)|0); + $29 = (($28) + ($23))|0; + $$064 = $29; + } else { + $$064 = $23; + } + $30 = (_stbi__zhuffman_decode($0,$5)|0); + $31 = ($30|0)<(0); + if ($31) { + label = 16; + break; + } + $32 = (3496 + ($30<<2)|0); + $33 = HEAP32[$32>>2]|0; + $34 = (($30) + -4)|0; + $35 = ($34>>>0)<(26); + if ($35) { + $36 = (3368 + ($30<<2)|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_stbi__zreceive($0,$37)|0); + $39 = (($38) + ($33))|0; + $$063 = $39; + } else { + $$063 = $33; + } + $40 = HEAP32[$6>>2]|0; + $41 = $$070; + $42 = (($41) - ($40))|0; + $43 = ($42|0)<($$063|0); + if ($43) { + label = 20; + break; + } + $44 = (($$070) + ($$064)|0); + $45 = HEAP32[$7>>2]|0; + $46 = ($44>>>0)>($45>>>0); + if ($46) { + $47 = (_stbi__zexpand($0,$$070,$$064)|0); + $48 = ($47|0)==(0); + if ($48) { + $$3$ph = 0; + label = 28; + break; + } + $49 = HEAP32[$1>>2]|0; + $$272 = $49; + } else { + $$272 = $$070; + } + $50 = (0 - ($$063))|0; + $9 = (($$272) + ($50)|0); + $51 = ($$063|0)==(1); + $52 = ($$064|0)!=(0); + if ($51) { + if (!($52)) { + $$070 = $$272; + continue; + } + $8 = HEAP8[$9>>0]|0; + _memset(($$272|0),($8|0),($$064|0))|0; + $scevgep92 = (($$272) + ($$064)|0); + $$070 = $scevgep92; + continue; + } + if ($52) { + $$067 = $9;$$266 = $$064;$$5 = $$272; + } else { + $$070 = $$272; + continue; + } + while(1) { + $53 = ((($$067)) + 1|0); + $54 = HEAP8[$$067>>0]|0; + $55 = ((($$5)) + 1|0); + HEAP8[$$5>>0] = $54; + $56 = (($$266) + -1)|0; + $57 = ($56|0)==(0); + if ($57) { + break; + } else { + $$067 = $53;$$266 = $56;$$5 = $55; + } + } + $scevgep = (($$272) + ($$064)|0); + $$070 = $scevgep; + } + if ((label|0) == 6) { + _stbi__err(10016); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 12) { + HEAP32[$1>>2] = $$070; + $$3$ph = 1; + return ($$3$ph|0); + } + else if ((label|0) == 16) { + _stbi__err(10016); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 20) { + _stbi__err(10033); + $$3$ph = 0; + return ($$3$ph|0); + } + else if ((label|0) == 28) { + return ($$3$ph|0); + } + return (0)|0; +} +function _stbi__zhuffman_decode($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, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)<(16); + if ($4) { + _stbi__fill_bits($0); + } + $5 = ((($0)) + 12|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 511; + $8 = (($1) + ($7<<1)|0); + $9 = HEAP16[$8>>1]|0; + $10 = $9&65535; + $11 = ($9<<16>>16)==(0); + if ($11) { + $17 = (_stbi__zhuffman_decode_slowpath($0,$1)|0); + $$0 = $17; + return ($$0|0); + } else { + $12 = $10 >>> 9; + $13 = $6 >>> $12; + HEAP32[$5>>2] = $13; + $14 = HEAP32[$2>>2]|0; + $15 = (($14) - ($12))|0; + HEAP32[$2>>2] = $15; + $16 = $10 & 511; + $$0 = $16; + return ($$0|0); + } + return (0)|0; +} +function _stbi__zexpand($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$029 = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($0)) + 28|0); + $5 = HEAP32[$4>>2]|0; + $6 = ($5|0)==(0); + if ($6) { + _stbi__err(10042); + $$0 = 0; + return ($$0|0); + } + $7 = ((($0)) + 20|0); + $8 = HEAP32[$7>>2]|0; + $9 = $1; + $10 = $8; + $11 = (($9) - ($10))|0; + $12 = ((($0)) + 24|0); + $13 = HEAP32[$12>>2]|0; + $14 = (($13) - ($10))|0; + $15 = (($11) + ($2))|0; + $$029 = $14; + while(1) { + $16 = ($15|0)>($$029|0); + $17 = $$029 << 1; + if ($16) { + $$029 = $17; + } else { + break; + } + } + $18 = (_realloc($8,$$029)|0); + $19 = ($18|0)==(0|0); + if ($19) { + _stbi__err(9022); + $$0 = 0; + return ($$0|0); + } else { + HEAP32[$7>>2] = $18; + $20 = (($18) + ($11)|0); + HEAP32[$3>>2] = $20; + $21 = (($18) + ($$029)|0); + HEAP32[$12>>2] = $21; + $$0 = 1; + return ($$0|0); + } + return (0)|0; +} +function _stbi__fill_bits($0) { + $0 = $0|0; + var $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)) + 12|0); + $2 = ((($0)) + 8|0); + while(1) { + $3 = HEAP32[$1>>2]|0; + $4 = HEAP32[$2>>2]|0; + $5 = 1 << $4; + $6 = ($3>>>0)<($5>>>0); + if (!($6)) { + label = 3; + break; + } + $7 = (_stbi__zget8($0)|0); + $8 = $7&255; + $9 = HEAP32[$2>>2]|0; + $10 = $8 << $9; + $11 = HEAP32[$1>>2]|0; + $12 = $11 | $10; + HEAP32[$1>>2] = $12; + $13 = (($9) + 8)|0; + HEAP32[$2>>2] = $13; + $14 = ($13|0)<(25); + if (!($14)) { + label = 5; + break; + } + } + if ((label|0) == 3) { + ___assert_fail((10138|0),(8967|0),3848,(10175|0)); + // unreachable; + } + else if ((label|0) == 5) { + return; + } +} +function _stbi__zhuffman_decode_slowpath($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$025 = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 12|0); + $3 = HEAP32[$2>>2]|0; + $4 = (_stbi__bit_reverse($3,16)|0); + $$025 = 10; + while(1) { + $5 = (((($1)) + 1056|0) + ($$025<<2)|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($4|0)<($6|0); + $8 = (($$025) + 1)|0; + if ($7) { + break; + } else { + $$025 = $8; + } + } + $9 = ($$025|0)==(16); + if ($9) { + $$0 = -1; + return ($$0|0); + } + $10 = (16 - ($$025))|0; + $11 = $4 >> $10; + $12 = (((($1)) + 1024|0) + ($$025<<1)|0); + $13 = HEAP16[$12>>1]|0; + $14 = $13&65535; + $15 = (($11) - ($14))|0; + $16 = (((($1)) + 1124|0) + ($$025<<1)|0); + $17 = HEAP16[$16>>1]|0; + $18 = $17&65535; + $19 = (($15) + ($18))|0; + $20 = (((($1)) + 1156|0) + ($19)|0); + $21 = HEAP8[$20>>0]|0; + $22 = $21&255; + $23 = ($22|0)==($$025|0); + if (!($23)) { + ___assert_fail((10062|0),(8967|0),3876,(10078|0)); + // unreachable; + } + $24 = HEAP32[$2>>2]|0; + $25 = $24 >>> $$025; + HEAP32[$2>>2] = $25; + $26 = ((($0)) + 8|0); + $27 = HEAP32[$26>>2]|0; + $28 = (($27) - ($$025))|0; + HEAP32[$26>>2] = $28; + $29 = (((($1)) + 1444|0) + ($19<<1)|0); + $30 = HEAP16[$29>>1]|0; + $31 = $30&65535; + $$0 = $31; + return ($$0|0); +} +function _stbi__bit_reverse($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($1|0)<(17); + if ($2) { + $3 = (_stbi__bitreverse16($0)|0); + $4 = (16 - ($1))|0; + $5 = $3 >> $4; + return ($5|0); + } else { + ___assert_fail((10109|0),(8967|0),3766,(10120|0)); + // unreachable; + } + return (0)|0; +} +function _stbi__bitreverse16($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; + $1 = $0 >>> 1; + $2 = $1 & 21845; + $3 = $0 << 1; + $4 = $3 & 43690; + $5 = $2 | $4; + $6 = $5 >>> 2; + $7 = $6 & 13107; + $8 = $5 << 2; + $9 = $8 & 52428; + $10 = $7 | $9; + $11 = $10 >>> 4; + $12 = $11 & 3855; + $13 = $10 << 4; + $14 = $13 & 61680; + $15 = $12 | $14; + $16 = $15 >>> 8; + $17 = $15 << 8; + $18 = $17 & 65280; + $19 = $18 | $16; + return ($19|0); +} +function _stbi__zget8($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($1>>>0)<($3>>>0); + if (!($4)) { + $$0 = 0; + return ($$0|0); + } + $5 = ((($1)) + 1|0); + HEAP32[$0>>2] = $5; + $6 = HEAP8[$1>>0]|0; + $$0 = $6; + return ($$0|0); +} +function _stbi__refill_buffer($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; + $1 = ((($0)) + 16|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 28|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 40|0); + $6 = ((($0)) + 36|0); + $7 = HEAP32[$6>>2]|0; + $8 = (FUNCTION_TABLE_iiii[$2 & 15]($4,$5,$7)|0); + $9 = ($8|0)==(0); + if ($9) { + $10 = ((($0)) + 32|0); + HEAP32[$10>>2] = 0; + $11 = ((($0)) + 168|0); + HEAP32[$11>>2] = $5; + $12 = ((($0)) + 41|0); + $13 = ((($0)) + 172|0); + HEAP32[$13>>2] = $12; + HEAP8[$5>>0] = 0; + return; + } else { + $14 = ((($0)) + 168|0); + HEAP32[$14>>2] = $5; + $15 = (((($0)) + 40|0) + ($8)|0); + $16 = ((($0)) + 172|0); + HEAP32[$16>>2] = $15; + return; + } +} +function _stbi__rewind($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 176|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 168|0); + HEAP32[$3>>2] = $2; + $4 = ((($0)) + 180|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 172|0); + HEAP32[$6>>2] = $5; + return; +} +function _stbi__start_callbacks($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 16|0); + ;HEAP32[$3>>2]=HEAP32[$1>>2]|0;HEAP32[$3+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[$3+8>>2]=HEAP32[$1+8>>2]|0; + $4 = ((($0)) + 28|0); + HEAP32[$4>>2] = $2; + $5 = ((($0)) + 36|0); + HEAP32[$5>>2] = 128; + $6 = ((($0)) + 32|0); + HEAP32[$6>>2] = 1; + $7 = ((($0)) + 40|0); + $8 = ((($0)) + 176|0); + HEAP32[$8>>2] = $7; + _stbi__refill_buffer($0); + $9 = ((($0)) + 172|0); + $10 = HEAP32[$9>>2]|0; + $11 = ((($0)) + 180|0); + HEAP32[$11>>2] = $10; + return; +} +function _stbi__stdio_read($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (_fread($1,1,$2,$0)|0); + return ($3|0); +} +function _stbi__stdio_skip($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (_fseek($0,$1,1)|0); + return; +} +function _stbi__stdio_eof($0) { + $0 = $0|0; + var $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_feof($0)|0); + return ($1|0); +} +function _LoadImage($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer9 = sp + 32|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 48|0; + $3 = sp + 44|0; + $4 = sp + 40|0; + $5 = sp + 36|0; + $6 = (_IsFileExtension($1,10390)|0); + $7 = ($6|0)==(0); + do { + if ($7) { + $19 = (_IsFileExtension($1,10443)|0); + $20 = ($19|0)==(0); + if ($20) { + HEAP32[$vararg_buffer1>>2] = $1; + _TraceLog(2,10448,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; + break; + } + HEAP32[$3>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$5>>2] = 0; + $21 = (_fopen($1,10582)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { + case 1: { + $$sink = 1; + label = 11; + break; + } + case 2: { + $$sink = 2; + label = 11; + break; + } + case 3: { + $$sink = 4; + label = 11; + break; + } + case 4: { + $$sink = 7; + label = 11; + break; + } + default: { + $$sroa$15$1 = 0; + } + } + if ((label|0) == 11) { + $$sroa$15$1 = $$sink; + } + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; + label = 14; + } else { + $8 = (_LoadResource($1,0)|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)==(1); + if ($10) { + $11 = ((($8)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ((($8)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = ((($8)) + 8|0); + $16 = HEAP32[$15>>2]|0; + $17 = ((($8)) + 12|0); + $18 = HEAP32[$17>>2]|0; + _LoadImagePro($2,$12,$14,$16,$18); + $$sroa$0$0$copyload = HEAP32[$2>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; + $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; + } else { + HEAP32[$vararg_buffer>>2] = $1; + _TraceLog(2,10396,$vararg_buffer); + $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; + } + _UnloadResource($8); + $$sroa$0$1 = $$sroa$0$0;$$sroa$10$1 = $$sroa$10$0;$$sroa$13$1 = $$sroa$13$0;$$sroa$15$2 = $$sroa$15$0;$$sroa$7$1 = $$sroa$7$0; + label = 14; + } + } while(0); + if ((label|0) == 14) { + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; + } else { + HEAP32[$vararg_buffer4>>2] = $1; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; + $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); + HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; + _TraceLog(0,10484,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10523,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; +} +function _LoadResource($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$05665 = 0, $$05764 = 0, $$1 = 0, $$2 = 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; + 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, $8 = 0, $9 = 0, $or$cond = 0, $or$cond60 = 0; + var $or$cond62 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $vararg_buffer8 = sp + 24|0; + $vararg_buffer4 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $2 = sp + 64|0; + $3 = sp + 32|0; + $4 = (_fopen($0,10582)|0); + $5 = ($4|0)==(0|0); + if ($5) { + HEAP32[$vararg_buffer>>2] = $0; + _TraceLog(2,10585,$vararg_buffer); + $$2 = 0; + STACKTOP = sp;return ($$2|0); + } + (_fread($2,1,1,$4)|0); + $6 = ((($2)) + 1|0); + (_fread($6,1,1,$4)|0); + $7 = ((($2)) + 2|0); + (_fread($7,1,1,$4)|0); + $8 = ((($2)) + 3|0); + (_fread($8,1,1,$4)|0); + $9 = ((($2)) + 4|0); + (_fread($9,2,1,$4)|0); + $10 = ((($2)) + 6|0); + (_fread($10,2,1,$4)|0); + $11 = HEAP8[$2>>0]|0; + $12 = ($11<<24>>24)==(114); + $13 = HEAP8[$6>>0]|0; + $14 = ($13<<24>>24)==(82); + $or$cond = $12 | $14; + $15 = HEAP8[$7>>0]|0; + $16 = ($15<<24>>24)==(69); + $or$cond60 = $or$cond | $16; + $17 = HEAP8[$8>>0]|0; + $18 = ($17<<24>>24)==(83); + $or$cond62 = $or$cond60 | $18; + if ($or$cond62) { + $19 = HEAP16[$10>>1]|0; + $20 = ($19<<16>>16)==(0); + if ($20) { + $$0$lcssa = 0; + } else { + $21 = ((($3)) + 7|0); + $22 = HEAP16[$10>>1]|0; + $23 = $22&65535; + $24 = ((($3)) + 8|0); + $25 = ((($3)) + 4|0); + $26 = ((($3)) + 16|0); + $27 = ((($3)) + 20|0); + $28 = ((($3)) + 24|0); + $29 = ((($3)) + 28|0); + $30 = ((($3)) + 8|0); + $31 = ((($3)) + 5|0); + $32 = ((($3)) + 12|0); + $$05665 = 0; + while(1) { + (_fread($3,32,1,$4)|0); + $36 = HEAP8[$21>>0]|0; + $37 = $36&255; + $38 = ($37*24)|0; + $39 = (_malloc($38)|0); + $40 = HEAP32[$3>>2]|0; + $41 = ($40|0)==($1|0); + if ($41) { + $42 = HEAP8[$21>>0]|0; + $43 = ($42<<24>>24)==(0); + if (!($43)) { + $$05764 = 0; + while(1) { + $44 = HEAP8[$25>>0]|0; + $45 = $44&255; + $46 = (($39) + (($$05764*24)|0)|0); + HEAP32[$46>>2] = $45; + $47 = HEAP32[$26>>2]|0; + $48 = (((($39) + (($$05764*24)|0)|0)) + 4|0); + HEAP32[$48>>2] = $47; + $49 = HEAP32[$27>>2]|0; + $50 = (((($39) + (($$05764*24)|0)|0)) + 8|0); + HEAP32[$50>>2] = $49; + $51 = HEAP32[$28>>2]|0; + $52 = (((($39) + (($$05764*24)|0)|0)) + 12|0); + HEAP32[$52>>2] = $51; + $53 = HEAP32[$29>>2]|0; + $54 = (((($39) + (($$05764*24)|0)|0)) + 16|0); + HEAP32[$54>>2] = $53; + $55 = HEAP32[$30>>2]|0; + $56 = (_malloc($55)|0); + (_fread($56,$55,1,$4)|0); + $57 = HEAP8[$31>>0]|0; + $58 = ($57<<24>>24)==(1); + if ($58) { + $59 = HEAP32[$30>>2]|0; + $60 = HEAP32[$32>>2]|0; + $61 = (_DecompressData($56,$59,$60)|0); + $62 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$62>>2] = $61; + _free($56); + } else { + $63 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + HEAP32[$63>>2] = $56; + } + $64 = (((($39) + (($$05764*24)|0)|0)) + 20|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if (!($66)) { + $67 = HEAP32[$3>>2]|0; + HEAP32[$vararg_buffer4>>2] = $0; + $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); + HEAP32[$vararg_ptr7>>2] = $67; + _TraceLog(0,10682,$vararg_buffer4); + } + (_fread($3,32,1,$4)|0); + $68 = (($$05764) + 1)|0; + $69 = HEAP8[$21>>0]|0; + $70 = $69&255; + $71 = ($68|0)<($70|0); + if ($71) { + $$05764 = $68; + } else { + break; + } + } + } + } else { + $72 = HEAP32[$24>>2]|0; + (_fseek($4,$72,1)|0); + } + $73 = (($$05665) + 1)|0; + $74 = ($73|0)<($23|0); + if ($74) { + $$05665 = $73; + } else { + $$0$lcssa = $39; + break; + } + } + } + $33 = ((($$0$lcssa)) + 20|0); + $34 = HEAP32[$33>>2]|0; + $35 = ($34|0)==(0|0); + if ($35) { + HEAP32[$vararg_buffer8>>2] = $0; + $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); + HEAP32[$vararg_ptr11>>2] = $1; + _TraceLog(2,10728,$vararg_buffer8); + $$1 = $$0$lcssa; + } else { + $$1 = $$0$lcssa; + } + } else { + HEAP32[$vararg_buffer1>>2] = $0; + _TraceLog(2,10636,$vararg_buffer1); + $$1 = 0; + } + (_fclose($4)|0); + $$2 = $$1; + STACKTOP = sp;return ($$2|0); +} +function _LoadImagePro($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$byval_copy = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy = sp + 20|0; + $5 = sp; + HEAP32[$5>>2] = $1; + $6 = ((($5)) + 4|0); + HEAP32[$6>>2] = $2; + $7 = ((($5)) + 8|0); + HEAP32[$7>>2] = $3; + $8 = ((($5)) + 12|0); + HEAP32[$8>>2] = 1; + $9 = ((($5)) + 16|0); + HEAP32[$9>>2] = $4; + ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$5+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$5+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$5+16>>2]|0; + _ImageCopy($0,$$byval_copy); + STACKTOP = sp;return; +} +function _UnloadResource($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 20|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0|0); + if ($3) { + return; + } + _free($2); + return; +} +function _ImageCopy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$sroa$6$0 = 0, $$sroa$6$0$$sroa_idx10 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$8$0 = 0, $$sroa$8$0$$sroa_idx14 = 0, $$sroa$9$0 = 0, $$sroa$9$0$$sroa_idx16 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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; + $2 = ((($1)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($1)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = Math_imul($5, $3)|0; + $7 = ((($1)) + 16|0); + $8 = HEAP32[$7>>2]|0; + switch ($8|0) { + case 17: case 14: case 11: case 10: case 1: { + $$0 = $6; + break; + } + case 6: case 5: case 3: case 2: { + $9 = $6 << 1; + $$0 = $9; + break; + } + case 4: { + $10 = ($6*3)|0; + $$0 = $10; + break; + } + case 7: { + $11 = $6 << 2; + $$0 = $11; + break; + } + case 16: case 15: case 13: case 12: case 9: case 8: { + $12 = (($6|0) / 2)&-1; + $$0 = $12; + break; + } + case 18: { + $13 = (($6|0) / 4)&-1; + $$0 = $13; + break; + } + default: { + _TraceLog(2,10554,$vararg_buffer); + $$0 = $6; + } + } + $14 = (_malloc($$0)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$8$0 = 0;$$sroa$9$0 = 0; + } else { + $16 = HEAP32[$1>>2]|0; + _memcpy(($14|0),($16|0),($$0|0))|0; + $17 = HEAP32[$2>>2]|0; + $18 = HEAP32[$4>>2]|0; + $19 = ((($1)) + 12|0); + $20 = HEAP32[$19>>2]|0; + $21 = HEAP32[$7>>2]|0; + $$sroa$6$0 = $17;$$sroa$7$0 = $18;$$sroa$8$0 = $20;$$sroa$9$0 = $21; + } + HEAP32[$0>>2] = $14; + $$sroa$6$0$$sroa_idx10 = ((($0)) + 4|0); + HEAP32[$$sroa$6$0$$sroa_idx10>>2] = $$sroa$6$0; + $$sroa$7$0$$sroa_idx12 = ((($0)) + 8|0); + HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$0; + $$sroa$8$0$$sroa_idx14 = ((($0)) + 12|0); + HEAP32[$$sroa$8$0$$sroa_idx14>>2] = $$sroa$8$0; + $$sroa$9$0$$sroa_idx16 = ((($0)) + 16|0); + HEAP32[$$sroa$9$0$$sroa_idx16>>2] = $$sroa$9$0; + STACKTOP = sp;return; +} +function _DecompressData($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $vararg_buffer10 = sp + 40|0; + $vararg_buffer7 = sp + 32|0; + $vararg_buffer5 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer1 = sp + 8|0; + $vararg_buffer = sp; + $3 = (_malloc($2)|0); + $4 = ($3|0)==(0|0); + if ($4) { + _TraceLog(2,10778,$vararg_buffer); + STACKTOP = sp;return ($3|0); + } + $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); + $6 = ($5|0)==(-1); + if ($6) { + _TraceLog(2,10817,$vararg_buffer1); + _free($3); + } + $7 = ($5|0)==($2|0); + if (!($7)) { + _TraceLog(2,10843,$vararg_buffer3); + HEAP32[$vararg_buffer5>>2] = $2; + _TraceLog(2,10906,$vararg_buffer5); + HEAP32[$vararg_buffer7>>2] = $5; + _TraceLog(2,10941,$vararg_buffer7); + } + HEAP32[$vararg_buffer10>>2] = $1; + $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); + HEAP32[$vararg_ptr13>>2] = $5; + _TraceLog(0,10976,$vararg_buffer10); + STACKTOP = sp;return ($3|0); +} +function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 11008|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(11008|0); + $5 = sp + 11000|0; + $6 = sp; + $7 = sp + 8|0; + HEAP32[$5>>2] = $1; + HEAP32[$6>>2] = $3; + HEAP32[$7>>2] = 0; + $8 = $4 & -7; + $9 = $8 | 4; + $10 = (_tinfl_decompress($7,$2,$6,$0,$0,$5,$9)|0); + $11 = ($10|0)!=(0); + $12 = HEAP32[$5>>2]|0; + $13 = $11 ? -1 : $12; + STACKTOP = sp;return ($13|0); +} +function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + $5 = $5|0; + $6 = $6|0; + var $$ = 0, $$$301127 = 0, $$010861840 = 0, $$010871839 = 0, $$010881838 = 0, $$010911856 = 0, $$010941846 = 0, $$010951864 = 0, $$01097 = 0, $$01194 = 0, $$011971855 = 0, $$01202 = 0, $$01202$shrunk = 0, $$01203 = 0, $$01300 = 0, $$01300$shrunk = 0, $$01309 = 0, $$01410 = 0, $$01410$shrunk = 0, $$01411 = 0; + var $$01411$shrunk = 0, $$01412 = 0, $$01413 = 0, $$01413$shrunk = 0, $$01416 = 0, $$01507 = 0, $$01607 = 0, $$01834 = 0, $$0937$lcssa = 0, $$09371833 = 0, $$0938$lcssa = 0, $$09381832 = 0, $$0941$lcssa = 0, $$09411816 = 0, $$09431831 = 0, $$09441830 = 0, $$0947 = 0, $$0947$shrunk = 0, $$0948 = 0, $$0949 = 0; + var $$0950 = 0, $$0950$shrunk = 0, $$0951 = 0, $$0952 = 0, $$0952$shrunk = 0, $$0953 = 0, $$0956 = 0, $$0959 = 0, $$0959$shrunk = 0, $$0960 = 0, $$0963 = 0, $$0967 = 0, $$0971 = 0, $$0971$shrunk = 0, $$0972 = 0, $$0975 = 0, $$0978 = 0, $$0979 = 0, $$0979$shrunk = 0, $$0980 = 0; + var $$0980$shrunk = 0, $$0981 = 0, $$0984 = 0, $$0987 = 0, $$0991 = 0, $$1$lcssa = 0, $$100 = 0, $$1001409 = 0, $$101426 = 0, $$101617 = 0, $$110891852 = 0, $$11098 = 0, $$11098$ph = 0, $$111427 = 0, $$111518 = 0, $$111618 = 0, $$11198 = 0, $$11204 = 0, $$11204$ph = 0, $$11310 = 0; + var $$11310$ph = 0, $$11417 = 0, $$11508 = 0, $$11608 = 0, $$11818 = 0, $$121428 = 0, $$121428$ph = 0, $$121519 = 0, $$121619 = 0, $$121619$ph = 0, $$13 = 0, $$131004 = 0, $$131110 = 0, $$131216 = 0, $$131322 = 0, $$131429 = 0, $$131520 = 0, $$131620 = 0, $$14 = 0, $$141005 = 0; + var $$141111 = 0, $$141217 = 0, $$141323 = 0, $$141430 = 0, $$141521 = 0, $$141621 = 0, $$15 = 0, $$151006 = 0, $$151112 = 0, $$151218 = 0, $$151324 = 0, $$151431 = 0, $$151522 = 0, $$151622 = 0, $$16 = 0, $$161007 = 0, $$161113 = 0, $$161113$ph = 0, $$161219 = 0, $$161325 = 0; + var $$161432 = 0, $$161523 = 0, $$161623 = 0, $$17 = 0, $$17$ph = 0, $$171008 = 0, $$171008$ph = 0, $$171114 = 0, $$171220 = 0, $$171220$ph = 0, $$171326 = 0, $$171326$ph = 0, $$171433 = 0, $$171524 = 0, $$171624 = 0, $$1753 = 0, $$1754 = 0, $$18 = 0, $$181009 = 0, $$181115 = 0; + var $$181221 = 0, $$181327 = 0, $$181434 = 0, $$181525 = 0, $$181625 = 0, $$19 = 0, $$191010 = 0, $$191116 = 0, $$191222 = 0, $$191328 = 0, $$191435 = 0, $$191526 = 0, $$191626 = 0, $$1939$lcssa = 0, $$19391817 = 0, $$19421823 = 0, $$1945$lcssa = 0, $$19451815 = 0, $$1954 = 0, $$1957 = 0; + var $$1961 = 0, $$1961$ = 0, $$1964 = 0, $$1968 = 0, $$1973 = 0, $$1976 = 0, $$1982 = 0, $$1985 = 0, $$1988 = 0, $$1988$ph = 0, $$1992 = 0, $$1992$ph = 0, $$2$lcssa = 0, $$20 = 0, $$201011 = 0, $$201117 = 0, $$201223 = 0, $$201329 = 0, $$201436 = 0, $$201527 = 0; + var $$201627 = 0, $$21 = 0, $$21099 = 0, $$211012 = 0, $$211118 = 0, $$211224 = 0, $$211330 = 0, $$211437 = 0, $$211437$ph = 0, $$211528 = 0, $$211628 = 0, $$211628$ph = 0, $$21196 = 0, $$21199$lcssa = 0, $$211991845 = 0, $$21205 = 0, $$21311 = 0, $$21418 = 0, $$21509 = 0, $$21609 = 0; + var $$21825 = 0, $$22 = 0, $$221013 = 0, $$221119 = 0, $$221225 = 0, $$221331 = 0, $$221438 = 0, $$221529 = 0, $$221629 = 0, $$23 = 0, $$231014 = 0, $$231120 = 0, $$231226 = 0, $$231332 = 0, $$231439 = 0, $$231530 = 0, $$231630 = 0, $$24 = 0, $$241015 = 0, $$241121 = 0; + var $$241227 = 0, $$241333 = 0, $$241440 = 0, $$241531 = 0, $$241631 = 0, $$25 = 0, $$251016 = 0, $$251122 = 0, $$251122$ph = 0, $$251228 = 0, $$251334 = 0, $$251441 = 0, $$251532 = 0, $$251632 = 0, $$26 = 0, $$26$ph = 0, $$261017 = 0, $$261017$ph = 0, $$261123 = 0, $$261229 = 0; + var $$261229$ph = 0, $$261335 = 0, $$261335$ph = 0, $$261442 = 0, $$261533 = 0, $$261633 = 0, $$27 = 0, $$271018 = 0, $$271124 = 0, $$271230 = 0, $$271336 = 0, $$271443 = 0, $$271534 = 0, $$271634 = 0, $$28 = 0, $$281019 = 0, $$281125 = 0, $$281231 = 0, $$281337 = 0, $$281444 = 0; + var $$281535 = 0, $$281635 = 0, $$29 = 0, $$291020 = 0, $$291126 = 0, $$291232 = 0, $$291338 = 0, $$291445 = 0, $$291536 = 0, $$291636 = 0, $$2940$lcssa = 0, $$29401824 = 0, $$2946$lcssa = 0, $$29461822 = 0, $$2955 = 0, $$2958 = 0, $$2965 = 0, $$2969 = 0, $$2974 = 0, $$2977 = 0; + var $$2983 = 0, $$2986 = 0, $$2989 = 0, $$2993 = 0, $$30 = 0, $$301021 = 0, $$301127 = 0, $$301233 = 0, $$301339 = 0, $$301446 = 0, $$301537 = 0, $$301637 = 0, $$31 = 0, $$31100$v = 0, $$311022 = 0, $$311128 = 0, $$311234 = 0, $$311340 = 0, $$311447 = 0, $$311538 = 0; + var $$311638 = 0, $$31200 = 0, $$31206 = 0, $$31206$ph = 0, $$31312 = 0, $$31312$ph = 0, $$31419 = 0, $$31419$ph = 0, $$31610 = 0, $$31610$ph = 0, $$32 = 0, $$321023 = 0, $$321129 = 0, $$321235 = 0, $$321341 = 0, $$321448 = 0, $$321448$ph = 0, $$321539 = 0, $$321639 = 0, $$321639$ph = 0; + var $$33 = 0, $$331024 = 0, $$331130 = 0, $$331236 = 0, $$331342 = 0, $$331449 = 0, $$331540 = 0, $$331640 = 0, $$34 = 0, $$341025 = 0, $$341131 = 0, $$341237 = 0, $$341343 = 0, $$341450 = 0, $$341541 = 0, $$341641 = 0, $$35 = 0, $$351026 = 0, $$351132 = 0, $$351238 = 0; + var $$351344 = 0, $$351451 = 0, $$351542 = 0, $$351642 = 0, $$36 = 0, $$361027 = 0, $$361027$ph = 0, $$361133 = 0, $$361133$ph = 0, $$361239 = 0, $$361345 = 0, $$361452 = 0, $$361543 = 0, $$361643 = 0, $$37 = 0, $$37$ph = 0, $$371028 = 0, $$371134 = 0, $$371240 = 0, $$371240$ph = 0; + var $$371346 = 0, $$371346$ph = 0, $$371453 = 0, $$371453$ph = 0, $$371544 = 0, $$371644 = 0, $$371644$ph = 0, $$38 = 0, $$381029 = 0, $$381135 = 0, $$381241 = 0, $$381347 = 0, $$381454 = 0, $$381545 = 0, $$381645 = 0, $$39 = 0, $$391030 = 0, $$391136 = 0, $$391242 = 0, $$391348 = 0; + var $$391455 = 0, $$391546 = 0, $$391646 = 0, $$3966 = 0, $$3970 = 0, $$3990 = 0, $$3990$ph = 0, $$3994 = 0, $$3994$ph = 0, $$40 = 0, $$401031 = 0, $$401137 = 0, $$401243 = 0, $$401349 = 0, $$401456 = 0, $$401547 = 0, $$401647 = 0, $$41 = 0, $$411032 = 0, $$411032$ph = 0; + var $$411138 = 0, $$411138$ph = 0, $$411244 = 0, $$411350 = 0, $$411457 = 0, $$411548 = 0, $$411648 = 0, $$41201 = 0, $$41420 = 0, $$41511 = 0, $$41611 = 0, $$42 = 0, $$42$ph = 0, $$421033 = 0, $$421139 = 0, $$421245 = 0, $$421245$ph = 0, $$421351 = 0, $$421351$ph = 0, $$421458 = 0; + var $$421549 = 0, $$421649 = 0, $$43 = 0, $$431034 = 0, $$431140 = 0, $$431246 = 0, $$431352 = 0, $$431459 = 0, $$431550 = 0, $$431650 = 0, $$44 = 0, $$441035 = 0, $$441141 = 0, $$441247 = 0, $$441353 = 0, $$441460 = 0, $$441460$ph = 0, $$441551 = 0, $$441651 = 0, $$441651$ph = 0; + var $$45 = 0, $$451036 = 0, $$451142 = 0, $$451248 = 0, $$451354 = 0, $$451461 = 0, $$451552 = 0, $$451652 = 0, $$46 = 0, $$461037 = 0, $$461143 = 0, $$461249 = 0, $$461355 = 0, $$461462 = 0, $$461553 = 0, $$461653 = 0, $$47 = 0, $$471038 = 0, $$471144 = 0, $$471250 = 0; + var $$471356 = 0, $$471463 = 0, $$471554 = 0, $$471654 = 0, $$48 = 0, $$481039 = 0, $$481039$ph = 0, $$481145 = 0, $$481145$ph = 0, $$481251 = 0, $$481357 = 0, $$481464 = 0, $$481555 = 0, $$481655 = 0, $$49 = 0, $$49$ph = 0, $$491040 = 0, $$491146 = 0, $$491252 = 0, $$491252$ph = 0; + var $$491358 = 0, $$491358$ph = 0, $$491465 = 0, $$491465$ph = 0, $$491556 = 0, $$491656 = 0, $$491656$ph = 0, $$5 = 0, $$50 = 0, $$501041 = 0, $$501147 = 0, $$501253 = 0, $$501359 = 0, $$501466 = 0, $$501557 = 0, $$501657 = 0, $$51 = 0, $$51102 = 0, $$511042 = 0, $$511148 = 0; + var $$511254 = 0, $$511360 = 0, $$511467 = 0, $$511558 = 0, $$511658 = 0, $$51208 = 0, $$51314 = 0, $$51512 = 0, $$52 = 0, $$521043 = 0, $$521043$ph = 0, $$521149 = 0, $$521255 = 0, $$521361 = 0, $$521468 = 0, $$521559 = 0, $$521659 = 0, $$53 = 0, $$531044 = 0, $$531150 = 0; + var $$531150$ph = 0, $$531256 = 0, $$531362 = 0, $$531469 = 0, $$531560 = 0, $$531660 = 0, $$54 = 0, $$54$ph = 0, $$541045 = 0, $$541151 = 0, $$541257 = 0, $$541257$ph = 0, $$541363 = 0, $$541363$ph = 0, $$541470$ph = 0, $$541561 = 0, $$541661$lcssa = 0, $$541661$ph = 0, $$5416611868 = 0, $$55 = 0; + var $$551046 = 0, $$551152 = 0, $$551258 = 0, $$551364 = 0, $$551471 = 0, $$551562 = 0, $$551662 = 0, $$56 = 0, $$561047 = 0, $$561153 = 0, $$561259 = 0, $$561365 = 0, $$561472 = 0, $$561563 = 0, $$561663 = 0, $$57 = 0, $$571048$ph = 0, $$571154 = 0, $$571260 = 0, $$571366 = 0; + var $$571473 = 0, $$571473$ph = 0, $$571564 = 0, $$571664 = 0, $$571664$ph = 0, $$58 = 0, $$581049 = 0, $$581155$lcssa = 0, $$581155$ph = 0, $$5811551871 = 0, $$581261 = 0, $$581367 = 0, $$581474 = 0, $$581565$lcssa = 0, $$581565$ph = 0, $$5815651869 = 0, $$581665 = 0, $$59$lcssa = 0, $$59$ph = 0, $$591050 = 0; + var $$591156 = 0, $$591262$ph = 0, $$591368$lcssa = 0, $$591368$ph = 0, $$5913681870 = 0, $$591475 = 0, $$591566 = 0, $$591666 = 0, $$591872 = 0, $$5996 = 0, $$6 = 0, $$60 = 0, $$601051 = 0, $$601051$ph = 0, $$601157 = 0, $$601263 = 0, $$601369 = 0, $$601476 = 0, $$601567 = 0, $$61 = 0; + var $$61103 = 0, $$611052 = 0, $$611158 = 0, $$611158$ph = 0, $$611264 = 0, $$611370 = 0, $$611477 = 0, $$611568 = 0, $$611668 = 0, $$61209 = 0, $$61315 = 0, $$61513 = 0, $$62 = 0, $$62$ph = 0, $$621053 = 0, $$621159 = 0, $$621265 = 0, $$621265$ph = 0, $$621371 = 0, $$621371$ph = 0; + var $$621478 = 0, $$621569 = 0, $$621669 = 0, $$63 = 0, $$631054 = 0, $$631266 = 0, $$631372 = 0, $$631479 = 0, $$631479$ph = 0, $$631570 = 0, $$631670 = 0, $$64 = 0, $$641055 = 0, $$641161 = 0, $$641267 = 0, $$641373 = 0, $$641480 = 0, $$641571 = 0, $$641671 = 0, $$641671$ph = 0; + var $$65 = 0, $$651056 = 0, $$651162 = 0, $$651268 = 0, $$651374 = 0, $$651481 = 0, $$651572 = 0, $$651672 = 0, $$66 = 0, $$661057 = 0, $$661057$ph = 0, $$661163 = 0, $$661269 = 0, $$661375 = 0, $$661482 = 0, $$661673 = 0, $$671058 = 0, $$671164 = 0, $$671164$ph = 0, $$671270 = 0; + var $$671483 = 0, $$671574 = 0, $$671674 = 0, $$68 = 0, $$681059 = 0, $$681165 = 0, $$681271 = 0, $$681271$ph = 0, $$681377 = 0, $$681484 = 0, $$681484$ph = 0, $$681575 = 0, $$681675 = 0, $$69 = 0, $$691060 = 0, $$691166 = 0, $$691272 = 0, $$691378 = 0, $$691485 = 0, $$691576 = 0; + var $$691676 = 0, $$691676$ph = 0, $$6997 = 0, $$7 = 0, $$70 = 0, $$701061 = 0, $$701167 = 0, $$701273 = 0, $$701379 = 0, $$701486 = 0, $$701577 = 0, $$701677 = 0, $$71 = 0, $$71$ph = 0, $$71104 = 0, $$711062 = 0, $$711062$ph = 0, $$711168 = 0, $$711274 = 0, $$711380 = 0; + var $$711380$ph = 0, $$711487 = 0, $$711578 = 0, $$711678 = 0, $$71210 = 0, $$71316 = 0, $$71514 = 0, $$72 = 0, $$721063 = 0, $$721169 = 0, $$721169$ph = 0, $$721275 = 0, $$721381 = 0, $$721488 = 0, $$721488$ph = 0, $$721579 = 0, $$721679 = 0, $$73 = 0, $$731064 = 0, $$731170 = 0; + var $$731276 = 0, $$731276$ph = 0, $$731382 = 0, $$731489 = 0, $$731580 = 0, $$731680 = 0, $$731680$ph = 0, $$74 = 0, $$741065 = 0, $$741065$ph = 0, $$741171 = 0, $$741277 = 0, $$741383 = 0, $$741490 = 0, $$741581 = 0, $$741681 = 0, $$75 = 0, $$751066 = 0, $$751172 = 0, $$751278 = 0; + var $$751384 = 0, $$751491 = 0, $$751582 = 0, $$751682 = 0, $$76 = 0, $$76$ph = 0, $$761067 = 0, $$761173 = 0, $$761173$ph = 0, $$761279 = 0, $$761279$ph = 0, $$761385 = 0, $$761385$ph = 0, $$761492 = 0, $$761583 = 0, $$761683 = 0, $$77 = 0, $$771068 = 0, $$771174 = 0, $$771280 = 0; + var $$771386 = 0, $$771584 = 0, $$771684 = 0, $$78 = 0, $$781069 = 0, $$781175 = 0, $$781281 = 0, $$781387 = 0, $$781585 = 0, $$781685 = 0, $$79 = 0, $$791070 = 0, $$791176 = 0, $$791282 = 0, $$791388 = 0, $$791586 = 0, $$791686 = 0, $$7998 = 0, $$8 = 0, $$8$ph = 0; + var $$80 = 0, $$80$ph = 0, $$801071 = 0, $$801177 = 0, $$801283 = 0, $$801389 = 0, $$801389$ph = 0, $$801496 = 0, $$801587 = 0, $$801687 = 0, $$81 = 0, $$81105 = 0, $$81105$ph = 0, $$811178 = 0, $$811284 = 0, $$811390 = 0, $$811497 = 0, $$811588 = 0, $$81211 = 0, $$81211$ph = 0; + var $$81317 = 0, $$81317$ph = 0, $$81424 = 0, $$81515 = 0, $$81615 = 0, $$82 = 0, $$821179 = 0, $$821285 = 0, $$821391 = 0, $$821498 = 0, $$821589 = 0, $$83 = 0, $$831180 = 0, $$831392 = 0, $$831499 = 0, $$831590 = 0, $$84 = 0, $$841075 = 0, $$841393 = 0, $$841500 = 0; + var $$841500$ph = 0, $$841591 = 0, $$841691 = 0, $$85 = 0, $$851076 = 0, $$851394 = 0, $$851501 = 0, $$851592 = 0, $$851692 = 0, $$86 = 0, $$861077 = 0, $$861289 = 0, $$861395 = 0, $$861502 = 0, $$861693 = 0, $$871078 = 0, $$871184 = 0, $$871290 = 0, $$871503 = 0, $$871694 = 0; + var $$881079 = 0, $$881079$ph = 0, $$881185 = 0, $$881291 = 0, $$881504 = 0, $$881595 = 0, $$881695 = 0, $$881695$ph = 0, $$891080 = 0, $$891186 = 0, $$891292 = 0, $$891505 = 0, $$891596 = 0, $$891696 = 0, $$8999 = 0, $$8999$ph = 0, $$9 = 0, $$90 = 0, $$901081 = 0, $$901187 = 0; + var $$901187$ph = 0, $$901293 = 0, $$901293$ph = 0, $$901399 = 0, $$901506 = 0, $$901597 = 0, $$901697 = 0, $$91 = 0, $$91000 = 0, $$91106 = 0, $$911082 = 0, $$911188 = 0, $$911294 = 0, $$911400 = 0, $$911598 = 0, $$911698 = 0, $$91212 = 0, $$91318 = 0, $$91425 = 0, $$91616 = 0; + var $$92 = 0, $$921083 = 0, $$921189 = 0, $$921295 = 0, $$921401 = 0, $$921599 = 0, $$921699 = 0, $$93 = 0, $$931084 = 0, $$931190 = 0, $$931296 = 0, $$931402 = 0, $$931600 = 0, $$931700 = 0, $$94 = 0, $$94$ph = 0, $$941085 = 0, $$941191 = 0, $$941297 = 0, $$941403 = 0; + var $$941403$ph = 0, $$941601 = 0, $$941701 = 0, $$95 = 0, $$951192 = 0, $$951298 = 0, $$951404 = 0, $$951602 = 0, $$96 = 0, $$961193 = 0, $$961299 = 0, $$961405 = 0, $$961603 = 0, $$97 = 0, $$971406 = 0, $$971604 = 0, $$98 = 0, $$981407 = 0, $$981605 = 0, $$99 = 0; + var $$991408 = 0, $$991606 = 0, $$lcssa1778 = 0, $$lcssa1779 = 0, $$lcssa1799 = 0, $$lcssa1802 = 0, $$not = 0, $$not1747 = 0, $$sink12 = 0, $$sink13 = 0, $$sink16 = 0, $$sink17 = 0, $$sink1705 = 0, $$sink1710 = 0, $$sink1713 = 0, $$sink1716 = 0, $$sink1719 = 0, $$sink1722 = 0, $$sink1729 = 0, $$sink1732 = 0; + var $$sink1736 = 0, $$sink1739 = 0, $$sink1743 = 0, $$sink1746 = 0, $$sink1750 = 0, $$sink3 = 0, $$sink3$shrunk = 0, $$sink30 = 0, $$sink9 = 0, $$sink9$shrunk = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0; + var $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, $305 = 0, $306 = 0, $307 = 0, $308 = 0; + var $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, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0; + var $345 = 0, $346 = 0, $347 = 0, $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; + var $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, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0; + var $381 = 0, $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0; + var $509 = 0, $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; + var $527 = 0, $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; + var $545 = 0, $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; + var $563 = 0, $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; + var $581 = 0, $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; + 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, $97 = 0, $98 = 0, $99 = 0, $brmerge = 0, $exitcond = 0, $not$ = 0, $not$1755 = 0, $or$cond = 0, $or$cond1702 = 0, $or$cond1752 = 0, $or$cond24 = 0, $or$cond29 = 0, $scevgep = 0; + var $scevgep1947 = 0, $scevgep1948 = 0, $scevgep1955 = 0, $scevgep1957 = 0, $scevgep1959 = 0, $scevgep19611962 = 0, $trunc = 0, $trunc$clear = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0); + $7 = sp + 64|0; + $8 = sp; + $9 = HEAP32[$2>>2]|0; + $10 = (($1) + ($9)|0); + $11 = HEAP32[$5>>2]|0; + $12 = (($4) + ($11)|0); + $13 = $6 & 4; + $14 = ($13|0)!=(0); + $15 = $4; + $16 = $3; + $17 = $16 ^ -1; + $18 = (($15) + ($17))|0; + $19 = (($18) + ($11))|0; + $$1753 = $14 ? -1 : $19; + $20 = (($$1753) + 1)|0; + $21 = $20 & $$1753; + $22 = ($21|0)!=(0); + $23 = ($4>>>0)<($3>>>0); + $or$cond1702 = $23 | $22; + if ($or$cond1702) { + HEAP32[$5>>2] = 0; + HEAP32[$2>>2] = 0; + $$0951 = -3; + STACKTOP = sp;return ($$0951|0); + } + $24 = ((($0)) + 4|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 56|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($0)) + 36|0); + $31 = HEAP32[$30>>2]|0; + $32 = ((($0)) + 40|0); + $33 = HEAP32[$32>>2]|0; + $34 = ((($0)) + 60|0); + $35 = HEAP32[$34>>2]|0; + $36 = HEAP32[$0>>2]|0; + L5: do { + switch ($36|0) { + case 0: { + $37 = ((($0)) + 12|0); + HEAP32[$37>>2] = 0; + $38 = ((($0)) + 8|0); + HEAP32[$38>>2] = 0; + $39 = ((($0)) + 28|0); + HEAP32[$39>>2] = 1; + $40 = ((($0)) + 16|0); + HEAP32[$40>>2] = 1; + $41 = $6 & 1; + $42 = ($41|0)==(0); + if ($42) { + $$01416 = $35;$$01607 = $4;$$41511 = $1;$$5 = 0;$$51102 = 0;$$51208 = 0;$$51314 = 0;$$5996 = 0; + label = 14; + } else { + $43 = ($9|0)<(1); + if ($43) { + $$01097 = 0;$$01203 = 0;$$01309 = 0;$$0987 = 0;$$0991 = 0; + label = 6; + } else { + $$11098$ph = 0;$$11204$ph = 0;$$11310$ph = 0;$$1988$ph = 0;$$1992$ph = 0; + label = 8; + } + } + break; + } + case 1: { + $46 = ($9|0)>(0); + if ($46) { + $$11098$ph = $31;$$11204$ph = $33;$$11310$ph = $27;$$1988$ph = $25;$$1992$ph = $29; + label = 8; + } else { + $$01097 = $31;$$01203 = $33;$$01309 = $27;$$0987 = $25;$$0991 = $29; + label = 6; + } + break; + } + case 2: { + $53 = ($9|0)>(0); + if ($53) { + $$31206$ph = $33;$$31312$ph = $27;$$3990$ph = $25;$$3994$ph = $29;$$sink1705 = $1; + label = 12; + } else { + $$11508 = $1;$$21099 = $31;$$21205 = $33;$$21311 = $27;$$2989 = $25;$$2993 = $29; + label = 10; + } + break; + } + case 36: { + $$0960 = -1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 36; + label = 243; + break; + } + case 3: { + $75 = ($9|0)>(0); + if ($75) { + $$31419$ph = $35;$$31610$ph = $4;$$8$ph = $25;$$81105$ph = $31;$$81211$ph = $33;$$81317$ph = $27;$$8999$ph = $29;$$sink1710 = $1; + label = 18; + } else { + $$21418 = $35;$$21609 = $4;$$61513 = $1;$$7 = $25;$$71104 = $31;$$71210 = $33;$$71316 = $27;$$7998 = $29; + label = 16; + } + break; + } + case 5: { + $90 = ($9|0)>(0); + if ($90) { + $91 = ((($1)) + 1|0); + $92 = HEAP8[$1>>0]|0; + $93 = $92&255; + $$01412 = $93;$$111518 = $91; + } else { + $88 = $6 & 2; + $89 = ($88|0)==(0); + if ($89) { + $$01412 = 0;$$111518 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 5; + label = 243; + break L5; + } + } + $94 = $$01412 << $25; + $95 = $94 | $27; + $96 = (($25) + 8)|0; + $$121519 = $$111518;$$13 = $96;$$131004 = $29;$$131216 = $33;$$131322 = $95;$$81424 = $35;$$81615 = $4; + label = 25; + break; + } + case 6: { + $106 = ($9|0)>(0); + if ($106) { + $$121428$ph = $35;$$121619$ph = $4;$$161113$ph = $31;$$17$ph = $25;$$171008$ph = $29;$$171220$ph = $33;$$171326$ph = $27;$$sink1713 = $1; + label = 32; + } else { + $$111427 = $35;$$111618 = $4;$$151112 = $31;$$151522 = $1;$$16 = $25;$$161007 = $29;$$161219 = $33;$$161325 = $27; + label = 30; + } + break; + } + case 7: { + $120 = ($9|0)>(0); + if ($120) { + $121 = ((($1)) + 1|0); + $122 = HEAP8[$1>>0]|0; + $$151431 = $35;$$151622 = $4;$$191116 = $31;$$191526 = $121;$$20 = $25;$$201011 = $29;$$201223 = $33;$$201329 = $27;$$sink12 = $122; + label = 39; + } else { + $$141430 = $35;$$141621 = $4;$$181115 = $31;$$181525 = $1;$$19 = $25;$$191010 = $29;$$191222 = $33;$$191328 = $27; + label = 36; + } + break; + } + case 39: { + $$171433 = $35;$$171624 = $4;$$211118 = $31;$$211528 = $1;$$22 = $25;$$221013 = $29;$$221225 = $33;$$221331 = $27; + label = 43; + break; + } + case 51: { + $152 = ($9|0)>(0); + if ($152) { + $$211437$ph = $35;$$211628$ph = $4;$$251122$ph = $31;$$26$ph = $25;$$261017$ph = $29;$$261229$ph = $33;$$261335$ph = $27;$$sink1716 = $1; + label = 49; + } else { + $$201436 = $35;$$201627 = $4;$$241121 = $31;$$241531 = $1;$$25 = $25;$$251016 = $29;$$251228 = $33;$$251334 = $27; + label = 47; + } + break; + } + case 52: { + $$231439 = $35;$$231630 = $4;$$271018 = $29;$$271124 = $31;$$271534 = $1;$$28 = $25;$$281231 = $33;$$281337 = $27; + label = 52; + break; + } + case 9: { + $$251441 = $35;$$251632 = $4;$$291020 = $29;$$291126 = $31;$$291536 = $1;$$30 = $25;$$301233 = $33;$$301339 = $27; + label = 55; + break; + } + case 38: { + $$261442 = $35;$$261633 = $4;$$301021 = $29;$$301127 = $31;$$301537 = $1;$$31 = $25;$$311234 = $33;$$311340 = $27; + label = 56; + break; + } + case 40: { + $$271443 = $35;$$271634 = $4;$$311022 = $29;$$311128 = $31;$$311538 = $1;$$32 = $25;$$321235 = $33;$$321341 = $27; + label = 58; + break; + } + case 10: { + $$281444 = $35;$$281635 = $4;$$321023 = $29;$$321129 = $31;$$321539 = $1;$$33 = $25;$$331236 = $33;$$331342 = $27; + label = 60; + break; + } + case 11: { + $193 = ($9|0)>(0); + if ($193) { + $$321448$ph = $35;$$321639$ph = $4;$$361027$ph = $29;$$361133$ph = $31;$$37$ph = $25;$$371240$ph = $33;$$371346$ph = $27;$$sink1719 = $1; + label = 66; + } else { + $$311447 = $35;$$311638 = $4;$$351026 = $29;$$351132 = $31;$$351542 = $1;$$36 = $25;$$361239 = $33;$$361345 = $27; + label = 64; + } + break; + } + case 14: { + $224 = ($9|0)>(0); + if ($224) { + $$371453$ph = $35;$$371644$ph = $4;$$411032$ph = $29;$$411138$ph = $31;$$42$ph = $25;$$421245$ph = $33;$$421351$ph = $27;$$sink1722 = $1; + label = 75; + } else { + $$361452 = $35;$$361643 = $4;$$401031 = $29;$$401137 = $31;$$401547 = $1;$$41 = $25;$$411244 = $33;$$411350 = $27; + label = 73; + } + break; + } + case 35: { + $$401456 = $35;$$401647 = $4;$$441035 = $29;$$441141 = $31;$$441551 = $1;$$45 = $25;$$451248 = $33;$$451354 = $27; + label = 86; + break; + } + case 16: { + $452 = ($9|0)>(0); + if ($452) { + $$441460$ph = $35;$$441651$ph = $4;$$481039$ph = $29;$$481145$ph = $31;$$49$ph = $25;$$491252$ph = $33;$$491358$ph = $27;$$sink1729 = $1; + label = 116; + } else { + $$431459 = $35;$$431650 = $4;$$471038 = $29;$$471144 = $31;$$471554 = $1;$$48 = $25;$$481251 = $33;$$481357 = $27; + label = 114; + } + break; + } + case 17: { + $$461462 = $35;$$461653 = $4;$$491040 = $29;$$501147 = $31;$$501557 = $1;$$51 = $25;$$511254 = $33;$$511360 = $27; + label = 125; + break; + } + case 18: { + $503 = ($9|0)>(0); + if ($503) { + $$491465$ph = $35;$$491656$ph = $4;$$521043$ph = $29;$$531150$ph = $31;$$54$ph = $25;$$541257$ph = $33;$$541363$ph = $27;$$sink1732 = $1; + label = 130; + } else { + $$481464 = $35;$$481655 = $4;$$511042 = $29;$$521149 = $31;$$521559 = $1;$$53 = $25;$$531256 = $33;$$531362 = $27; + label = 128; + } + break; + } + case 21: { + $$511467 = $35;$$511658 = $4;$$541045 = $29;$$551152 = $31;$$551562 = $1;$$56 = $25;$$561259 = $33;$$561365 = $27; + label = 136; + break; + } + case 23: { + $572 = ($9|0)>(0); + if ($572) { + $$571473$ph = $35;$$571664$ph = $4;$$601051$ph = $29;$$611158$ph = $31;$$62$ph = $25;$$621265$ph = $33;$$621371$ph = $27;$$sink1736 = $1; + label = 153; + } else { + $$561472 = $35;$$561663 = $4;$$591050 = $29;$$601157 = $31;$$601567 = $1;$$61 = $25;$$611264 = $33;$$611370 = $27; + label = 151; + } + break; + } + case 24: { + $$591475 = $35;$$591666 = $4;$$621053 = $29;$$621159 = $31;$$631570 = $1;$$64 = $25;$$641267 = $33;$$641373 = $27; + label = 160; + break; + } + case 25: { + $696 = ($9|0)>(0); + if ($696) { + $$631479$ph = $35;$$641671$ph = $4;$$661057$ph = $29;$$671164$ph = $31;$$681271$ph = $33;$$71$ph = $25;$$711380$ph = $27;$$sink1739 = $1; + label = 182; + } else { + $$621478 = $35;$$631670 = $4;$$651056 = $29;$$661163 = $31;$$671270 = $33;$$691576 = $1;$$70 = $25;$$701379 = $27; + label = 180; + } + break; + } + case 26: { + $737 = ($9|0)>(0); + if ($737) { + $$681484$ph = $35;$$691676$ph = $4;$$711062$ph = $29;$$721169$ph = $31;$$731276$ph = $33;$$76$ph = $25;$$761385$ph = $27;$$sink1743 = $1; + label = 195; + } else { + $$671483 = $35;$$681675 = $4;$$701061 = $29;$$711168 = $31;$$721275 = $33;$$741581 = $1;$$75 = $25;$$751384 = $27; + label = 193; + } + break; + } + case 27: { + $784 = ($9|0)>(0); + if ($784) { + $$721488$ph = $35;$$731680$ph = $4;$$741065$ph = $29;$$761173$ph = $31;$$761279$ph = $33;$$80$ph = $25;$$801389$ph = $27;$$sink1746 = $1; + label = 206; + } else { + $$711487 = $35;$$721679 = $4;$$731064 = $29;$$751172 = $31;$$751278 = $33;$$781585 = $1;$$79 = $25;$$791388 = $27; + label = 204; + } + break; + } + case 37: { + $$731489 = $35;$$761683 = $4;$$771068 = $29;$$791176 = $31;$$791282 = $33;$$821589 = $1;$$83 = $25;$$831392 = $27; + label = 210; + break; + } + case 53: { + $$751491 = $35;$$781685 = $4;$$791070 = $29;$$811178 = $31;$$811284 = $33;$$841591 = $1;$$85 = $25;$$851394 = $27; + label = 213; + break; + } + case 32: { + $842 = ($9|0)>(0); + if ($842) { + $843 = ((($1)) + 1|0); + $844 = HEAP8[$1>>0]|0; + $845 = $844&255; + $$0949 = $845;$$881595 = $843; + } else { + $840 = $6 & 2; + $841 = ($840|0)==(0); + if ($841) { + $$0949 = 0;$$881595 = $1; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $29;$$931700 = $4;$$951192 = $31;$$951298 = $33;$$981605 = $1;$$99 = $25;$$991408 = $27;$$sink30 = 32; + label = 243; + break L5; + } + } + $846 = $$0949 << $25; + $847 = $846 | $27; + $848 = (($25) + 8)|0; + $$801496 = $35;$$841075 = $29;$$841691 = $4;$$861289 = $33;$$891596 = $$881595;$$90 = $848;$$901399 = $847; + label = 226; + break; + } + case 41: { + $858 = ($9|0)>(0); + if ($858) { + $$841500$ph = $35;$$881079$ph = $29;$$881695$ph = $4;$$901187$ph = $31;$$901293$ph = $33;$$94$ph = $25;$$941403$ph = $27;$$sink1750 = $1; + label = 233; + } else { + $$831499 = $35;$$871078 = $29;$$871694 = $4;$$891186 = $31;$$891292 = $33;$$921599 = $1;$$93 = $25;$$931402 = $27; + label = 231; + } + break; + } + case 42: { + $871 = ($9|0)>(0); + if ($871) { + $872 = ((($1)) + 1|0); + $873 = HEAP8[$1>>0]|0; + $874 = $873&255; + $$0948 = $874;$$871503 = $35;$$911082 = $29;$$911698 = $4;$$931190 = $31;$$931296 = $33;$$961603 = $872;$$97 = $25;$$971406 = $27; + label = 241; + } else { + $$861502 = $35;$$901081 = $29;$$901697 = $4;$$921189 = $31;$$921295 = $33;$$951602 = $1;$$96 = $25;$$961405 = $27; + label = 237; + } + break; + } + case 34: { + $$881504 = $35;$$921083 = $29;$$921699 = $4;$$941191 = $31;$$941297 = $33;$$971604 = $1;$$98 = $25;$$981407 = $27; + label = 242; + break; + } + default: { + $$100 = $25;$$1001409 = $27;$$1961 = -1;$$901506 = $35;$$941085 = $29;$$941701 = $4;$$961193 = $31;$$961299 = $33;$$991606 = $1; + label = 244; + } + } + } while(0); + if ((label|0) == 6) { + $44 = $6 & 2; + $45 = ($44|0)==(0); + if ($45) { + $$01507 = $1;$$11098 = $$01097;$$11204 = $$01203;$$11310 = $$01309;$$1988 = $$0987;$$1992 = $$0991;$$sink3$shrunk = 0; + label = 9; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$0991;$$931700 = $4;$$951192 = $$01097;$$951298 = $$01203;$$981605 = $1;$$99 = $$0987;$$991408 = $$01309;$$sink30 = 1; + label = 243; + } + } + else if ((label|0) == 8) { + $47 = ((($1)) + 1|0); + $48 = HEAP8[$1>>0]|0; + $$01507 = $47;$$11098 = $$11098$ph;$$11204 = $$11204$ph;$$11310 = $$11310$ph;$$1988 = $$1988$ph;$$1992 = $$1992$ph;$$sink3$shrunk = $48; + label = 9; + } + if ((label|0) == 9) { + $$sink3 = $$sink3$shrunk&255; + $49 = ((($0)) + 8|0); + HEAP32[$49>>2] = $$sink3; + $50 = ($$01507>>>0)<($10>>>0); + if ($50) { + $$31206$ph = $$11204;$$31312$ph = $$11310;$$3990$ph = $$1988;$$3994$ph = $$1992;$$sink1705 = $$01507; + label = 12; + } else { + $$11508 = $$01507;$$21099 = $$11098;$$21205 = $$11204;$$21311 = $$11310;$$2989 = $$1988;$$2993 = $$1992; + label = 10; + } + } + if ((label|0) == 10) { + $51 = $6 & 2; + $52 = ($51|0)==(0); + if ($52) { + $$21509 = $$11508;$$31206 = $$21205;$$31312 = $$21311;$$3990 = $$2989;$$3994 = $$2993;$$sink9$shrunk = 0; + label = 13; + } else { + $$0960 = 1;$$891505 = $35;$$931084 = $$2993;$$931700 = $4;$$951192 = $$21099;$$951298 = $$21205;$$981605 = $$11508;$$99 = $$2989;$$991408 = $$21311;$$sink30 = 2; + label = 243; + } + } + else if ((label|0) == 12) { + $54 = ((($$sink1705)) + 1|0); + $55 = HEAP8[$$sink1705>>0]|0; + $$21509 = $54;$$31206 = $$31206$ph;$$31312 = $$31312$ph;$$3990 = $$3990$ph;$$3994 = $$3994$ph;$$sink9$shrunk = $55; + label = 13; + } + if ((label|0) == 13) { + $$sink9 = $$sink9$shrunk&255; + $56 = ((($0)) + 12|0); + HEAP32[$56>>2] = $$sink9; + $57 = ((($0)) + 8|0); + $58 = HEAP32[$57>>2]|0; + $59 = $58 << 8; + $60 = $59 | $$sink9; + $61 = (($60>>>0) % 31)&-1; + $62 = $$sink9 & 32; + $63 = $61 | $62; + $64 = $58 & 15; + $65 = ($64|0)!=(8); + $not$ = ($63|0)!=(0); + $$1754 = $65 | $not$; + $66 = $58 >>> 4; + $67 = 256 << $66; + $68 = ($67>>>0)>(32768); + $69 = ($20>>>0)<($67>>>0); + $$ = $68 | $69; + $not$1755 = $14 ^ 1; + $70 = $$ & $not$1755; + $$31100$v = $70 | $$1754; + if ($$31100$v) { + $$0960 = -1;$$891505 = $35;$$931084 = $$3994;$$931700 = $4;$$951192 = 1;$$951298 = $$31206;$$981605 = $$21509;$$99 = $$3990;$$991408 = $$31312;$$sink30 = 36; + label = 243; + } else { + $$01416 = $35;$$01607 = $4;$$41511 = $$21509;$$5 = $$3990;$$51102 = 0;$$51208 = $$31206;$$51314 = $$31312;$$5996 = $$3994; + label = 14; + } + } + L46: while(1) { + switch (label|0) { + case 14: { + label = 0; + $71 = ($$5>>>0)<(3); + if ($71) { + $$11417 = $$01416;$$11608 = $$01607;$$51512 = $$41511;$$6 = $$5;$$61103 = $$51102;$$61209 = $$51208;$$61315 = $$51314;$$6997 = $$5996; + label = 15; + } else { + $$41420 = $$01416;$$41611 = $$01607;$$81515 = $$41511;$$9 = $$5;$$91000 = $$5996;$$91106 = $$51102;$$91212 = $$51208;$$91318 = $$51314; + label = 20; + } + break; + } + case 16: { + label = 0; + $73 = $6 & 2; + $74 = ($73|0)==(0); + if ($74) { + $$01413$shrunk = 0;$$31419 = $$21418;$$31610 = $$21609;$$71514 = $$61513;$$8 = $$7;$$81105 = $$71104;$$81211 = $$71210;$$81317 = $$71316;$$8999 = $$7998; + label = 19; + } else { + $$0960 = 1;$$891505 = $$21418;$$931084 = $$7998;$$931700 = $$21609;$$951192 = $$71104;$$951298 = $$71210;$$981605 = $$61513;$$99 = $$7;$$991408 = $$71316;$$sink30 = 3; + label = 243; + continue L46; + } + break; + } + case 18: { + label = 0; + $76 = ((($$sink1710)) + 1|0); + $77 = HEAP8[$$sink1710>>0]|0; + $$01413$shrunk = $77;$$31419 = $$31419$ph;$$31610 = $$31610$ph;$$71514 = $76;$$8 = $$8$ph;$$81105 = $$81105$ph;$$81211 = $$81211$ph;$$81317 = $$81317$ph;$$8999 = $$8999$ph; + label = 19; + break; + } + case 25: { + label = 0; + $97 = $$13 & 7; + $98 = $$131322 >>> $97; + $99 = (($$13) - ($97))|0; + $$131110 = 0;$$131520 = $$121519;$$14 = $99;$$141005 = $$131004;$$141217 = $$131216;$$141323 = $98;$$91425 = $$81424;$$91616 = $$81615; + label = 26; + break; + } + case 30: { + label = 0; + $104 = $6 & 2; + $105 = ($104|0)==(0); + if ($105) { + $$01411$shrunk = 0;$$121428 = $$111427;$$121619 = $$111618;$$161113 = $$151112;$$161523 = $$151522;$$17 = $$16;$$171008 = $$161007;$$171220 = $$161219;$$171326 = $$161325; + label = 33; + } else { + $$0960 = 1;$$891505 = $$111427;$$931084 = $$161007;$$931700 = $$111618;$$951192 = $$151112;$$951298 = $$161219;$$981605 = $$151522;$$99 = $$16;$$991408 = $$161325;$$sink30 = 6; + label = 243; + continue L46; + } + break; + } + case 32: { + label = 0; + $107 = ((($$sink1713)) + 1|0); + $108 = HEAP8[$$sink1713>>0]|0; + $$01411$shrunk = $108;$$121428 = $$121428$ph;$$121619 = $$121619$ph;$$161113 = $$161113$ph;$$161523 = $107;$$17 = $$17$ph;$$171008 = $$171008$ph;$$171220 = $$171220$ph;$$171326 = $$171326$ph; + label = 33; + break; + } + case 36: { + label = 0; + $118 = $6 & 2; + $119 = ($118|0)==(0); + if ($119) { + $$151431 = $$141430;$$151622 = $$141621;$$191116 = $$181115;$$191526 = $$181525;$$20 = $$19;$$201011 = $$191010;$$201223 = $$191222;$$201329 = $$191328;$$sink12 = 0; + label = 39; + continue L46; + } else { + $$0960 = 1;$$891505 = $$141430;$$931084 = $$191010;$$931700 = $$141621;$$951192 = $$181115;$$951298 = $$191222;$$981605 = $$181525;$$99 = $$19;$$991408 = $$191328;$$sink30 = 7; + label = 243; + continue L46; + } + break; + } + case 39: { + label = 0; + $$sink13 = (((($0)) + 10528|0) + ($$191116)|0); + HEAP8[$$sink13>>0] = $$sink12; + $$161432 = $$151431;$$161623 = $$151622;$$201117 = $$191116;$$201527 = $$191526;$$21 = $$20;$$211012 = $$201011;$$211224 = $$201223;$$211330 = $$201329; + label = 41; + break; + } + case 43: { + label = 0; + $$0960 = -1;$$891505 = $$171433;$$931084 = $$221013;$$931700 = $$171624;$$951192 = $$211118;$$951298 = $$221225;$$981605 = $$211528;$$99 = $$22;$$991408 = $$221331;$$sink30 = 39; + label = 243; + continue L46; + break; + } + case 47: { + label = 0; + $150 = $6 & 2; + $151 = ($150|0)==(0); + if ($151) { + $$01410$shrunk = 0;$$211437 = $$201436;$$211628 = $$201627;$$251122 = $$241121;$$251532 = $$241531;$$26 = $$25;$$261017 = $$251016;$$261229 = $$251228;$$261335 = $$251334; + label = 50; + } else { + $$0960 = 1;$$891505 = $$201436;$$931084 = $$251016;$$931700 = $$201627;$$951192 = $$241121;$$951298 = $$251228;$$981605 = $$241531;$$99 = $$25;$$991408 = $$251334;$$sink30 = 51; + label = 243; + continue L46; + } + break; + } + case 49: { + label = 0; + $153 = ((($$sink1716)) + 1|0); + $154 = HEAP8[$$sink1716>>0]|0; + $$01410$shrunk = $154;$$211437 = $$211437$ph;$$211628 = $$211628$ph;$$251122 = $$251122$ph;$$251532 = $153;$$26 = $$26$ph;$$261017 = $$261017$ph;$$261229 = $$261229$ph;$$261335 = $$261335$ph; + label = 50; + break; + } + case 52: { + label = 0; + $162 = ($$231630>>>0)<($12>>>0); + if (!($162)) { + $$0960 = 2;$$891505 = $$231439;$$931084 = $$271018;$$931700 = $$231630;$$951192 = $$271124;$$951298 = $$281231;$$981605 = $$271534;$$99 = $$28;$$991408 = $$281337;$$sink30 = 52; + label = 243; + continue L46; + } + $163 = $$271018&255; + $164 = ((($$231630)) + 1|0); + HEAP8[$$231630>>0] = $163; + $165 = (($$271124) + -1)|0; + $$181434 = $$231439;$$181625 = $164;$$221119 = $165;$$221529 = $$271534;$$23 = $$28;$$231014 = $$271018;$$231226 = $$281231;$$231332 = $$281337; + label = 44; + break; + } + case 55: { + label = 0; + $167 = ($$251632>>>0)<($12>>>0); + if ($167) { + $$261442 = $$251441;$$261633 = $$251632;$$301021 = $$291020;$$301127 = $$291126;$$301537 = $$291536;$$31 = $$30;$$311234 = $$301233;$$311340 = $$301339; + label = 56; + continue L46; + } else { + $$0960 = 2;$$891505 = $$251441;$$931084 = $$291020;$$931700 = $$251632;$$951192 = $$291126;$$951298 = $$301233;$$981605 = $$291536;$$99 = $$30;$$991408 = $$301339;$$sink30 = 9; + label = 243; + continue L46; + } + break; + } + case 56: { + label = 0; + $168 = ($$301537>>>0)<($10>>>0); + if ($168) { + $171 = $12; + $172 = $$261633; + $173 = (($171) - ($172))|0; + $174 = $10; + $175 = $$301537; + $176 = (($174) - ($175))|0; + $177 = ($173>>>0)<($176>>>0); + $$sink17 = $177 ? $12 : $10; + $$sink16 = $177 ? $$261633 : $$301537; + $178 = $$sink17; + $179 = $$sink16; + $180 = (($178) - ($179))|0; + $181 = ($180>>>0)<($$301127>>>0); + $$$301127 = $181 ? $180 : $$301127; + _memcpy(($$261633|0),($$301537|0),($$$301127|0))|0; + $182 = (($$301537) + ($$$301127)|0); + $183 = (($$261633) + ($$$301127)|0); + $184 = (($$301127) - ($$$301127))|0; + $$241440 = $$261442;$$241631 = $183;$$281019 = $$301021;$$281125 = $184;$$281535 = $182;$$29 = $$31;$$291232 = $$311234;$$291338 = $$311340; + label = 54; + break; + } else { + $169 = $6 & 2; + $170 = ($169|0)==(0); + if ($170) { + $$271443 = $$261442;$$271634 = $$261633;$$311022 = $$301021;$$311128 = $$301127;$$311538 = $$301537;$$32 = $$31;$$321235 = $$311234;$$321341 = $$311340; + label = 58; + continue L46; + } else { + $$0960 = 1;$$891505 = $$261442;$$931084 = $$301021;$$931700 = $$261633;$$951192 = $$301127;$$951298 = $$311234;$$981605 = $$301537;$$99 = $$31;$$991408 = $$311340;$$sink30 = 38; + label = 243; + continue L46; + } + } + break; + } + case 58: { + label = 0; + $$0960 = -1;$$891505 = $$271443;$$931084 = $$311022;$$931700 = $$271634;$$951192 = $$311128;$$951298 = $$321235;$$981605 = $$311538;$$99 = $$32;$$991408 = $$321341;$$sink30 = 40; + label = 243; + continue L46; + break; + } + case 60: { + label = 0; + $$0960 = -1;$$891505 = $$281444;$$931084 = $$321023;$$931700 = $$281635;$$951192 = $$321129;$$951298 = $$331236;$$981605 = $$321539;$$99 = $$33;$$991408 = $$331342;$$sink30 = 10; + label = 243; + continue L46; + break; + } + case 64: { + label = 0; + $191 = $6 & 2; + $192 = ($191|0)==(0); + if ($192) { + $$01300$shrunk = 0;$$321448 = $$311447;$$321639 = $$311638;$$361027 = $$351026;$$361133 = $$351132;$$361543 = $$351542;$$37 = $$36;$$371240 = $$361239;$$371346 = $$361345; + label = 67; + } else { + $$0960 = 1;$$891505 = $$311447;$$931084 = $$351026;$$931700 = $$311638;$$951192 = $$351132;$$951298 = $$361239;$$981605 = $$351542;$$99 = $$36;$$991408 = $$361345;$$sink30 = 11; + label = 243; + continue L46; + } + break; + } + case 66: { + label = 0; + $194 = ((($$sink1719)) + 1|0); + $195 = HEAP8[$$sink1719>>0]|0; + $$01300$shrunk = $195;$$321448 = $$321448$ph;$$321639 = $$321639$ph;$$361027 = $$361027$ph;$$361133 = $$361133$ph;$$361543 = $194;$$37 = $$37$ph;$$371240 = $$371240$ph;$$371346 = $$371346$ph; + label = 67; + break; + } + case 73: { + label = 0; + $222 = $6 & 2; + $223 = ($222|0)==(0); + if ($223) { + $$01202$shrunk = 0;$$371453 = $$361452;$$371644 = $$361643;$$411032 = $$401031;$$411138 = $$401137;$$411548 = $$401547;$$42 = $$41;$$421245 = $$411244;$$421351 = $$411350; + label = 76; + } else { + $$0960 = 1;$$891505 = $$361452;$$931084 = $$401031;$$931700 = $$361643;$$951192 = $$401137;$$951298 = $$411244;$$981605 = $$401547;$$99 = $$41;$$991408 = $$411350;$$sink30 = 14; + label = 243; + continue L46; + } + break; + } + case 75: { + label = 0; + $225 = ((($$sink1722)) + 1|0); + $226 = HEAP8[$$sink1722>>0]|0; + $$01202$shrunk = $226;$$371453 = $$371453$ph;$$371644 = $$371644$ph;$$411032 = $$411032$ph;$$411138 = $$411138$ph;$$411548 = $225;$$42 = $$42$ph;$$421245 = $$421245$ph;$$421351 = $$421351$ph; + label = 76; + break; + } + case 86: { + label = 0; + $$0960 = -1;$$891505 = $$401456;$$931084 = $$441035;$$931700 = $$401647;$$951192 = $$441141;$$951298 = $$451248;$$981605 = $$441551;$$99 = $$45;$$991408 = $$451354;$$sink30 = 35; + label = 243; + continue L46; + break; + } + case 114: { + label = 0; + $450 = $6 & 2; + $451 = ($450|0)==(0); + if ($451) { + $$0980$shrunk = 0;$$441460 = $$431459;$$441651 = $$431650;$$481039 = $$471038;$$481145 = $$471144;$$481555 = $$471554;$$49 = $$48;$$491252 = $$481251;$$491358 = $$481357; + label = 117; + } else { + $$0960 = 1;$$891505 = $$431459;$$931084 = $$471038;$$931700 = $$431650;$$951192 = $$471144;$$951298 = $$481251;$$981605 = $$471554;$$99 = $$48;$$991408 = $$481357;$$sink30 = 16; + label = 243; + continue L46; + } + break; + } + case 116: { + label = 0; + $453 = ((($$sink1729)) + 1|0); + $454 = HEAP8[$$sink1729>>0]|0; + $$0980$shrunk = $454;$$441460 = $$441460$ph;$$441651 = $$441651$ph;$$481039 = $$481039$ph;$$481145 = $$481145$ph;$$481555 = $453;$$49 = $$49$ph;$$491252 = $$491252$ph;$$491358 = $$491358$ph; + label = 117; + break; + } + case 125: { + label = 0; + $$0960 = -1;$$891505 = $$461462;$$931084 = $$491040;$$931700 = $$461653;$$951192 = $$501147;$$951298 = $$511254;$$981605 = $$501557;$$99 = $$51;$$991408 = $$511360;$$sink30 = 17; + label = 243; + continue L46; + break; + } + case 128: { + label = 0; + $501 = $6 & 2; + $502 = ($501|0)==(0); + if ($502) { + $$0979$shrunk = 0;$$491465 = $$481464;$$491656 = $$481655;$$521043 = $$511042;$$531150 = $$521149;$$531560 = $$521559;$$54 = $$53;$$541257 = $$531256;$$541363 = $$531362; + label = 131; + } else { + $$0960 = 1;$$891505 = $$481464;$$931084 = $$511042;$$931700 = $$481655;$$951192 = $$521149;$$951298 = $$531256;$$981605 = $$521559;$$99 = $$53;$$991408 = $$531362;$$sink30 = 18; + label = 243; + continue L46; + } + break; + } + case 130: { + label = 0; + $504 = ((($$sink1732)) + 1|0); + $505 = HEAP8[$$sink1732>>0]|0; + $$0979$shrunk = $505;$$491465 = $$491465$ph;$$491656 = $$491656$ph;$$521043 = $$521043$ph;$$531150 = $$531150$ph;$$531560 = $504;$$54 = $$54$ph;$$541257 = $$541257$ph;$$541363 = $$541363$ph; + label = 131; + break; + } + case 136: { + label = 0; + $$0960 = -1;$$891505 = $$511467;$$931084 = $$541045;$$931700 = $$511658;$$951192 = $$551152;$$951298 = $$561259;$$981605 = $$551562;$$99 = $$56;$$991408 = $$561365;$$sink30 = 21; + label = 243; + continue L46; + break; + } + case 151: { + label = 0; + $570 = $6 & 2; + $571 = ($570|0)==(0); + if ($571) { + $$0971$shrunk = 0;$$571473 = $$561472;$$571664 = $$561663;$$601051 = $$591050;$$611158 = $$601157;$$611568 = $$601567;$$62 = $$61;$$621265 = $$611264;$$621371 = $$611370; + label = 154; + } else { + $$0960 = 1;$$891505 = $$561472;$$931084 = $$591050;$$931700 = $$561663;$$951192 = $$601157;$$951298 = $$611264;$$981605 = $$601567;$$99 = $$61;$$991408 = $$611370;$$sink30 = 23; + label = 243; + continue L46; + } + break; + } + case 153: { + label = 0; + $573 = ((($$sink1736)) + 1|0); + $574 = HEAP8[$$sink1736>>0]|0; + $$0971$shrunk = $574;$$571473 = $$571473$ph;$$571664 = $$571664$ph;$$601051 = $$601051$ph;$$611158 = $$611158$ph;$$611568 = $573;$$62 = $$62$ph;$$621265 = $$621265$ph;$$621371 = $$621371$ph; + label = 154; + break; + } + case 160: { + label = 0; + $610 = ($$591666>>>0)<($12>>>0); + if (!($610)) { + $$0960 = 2;$$891505 = $$591475;$$931084 = $$621053;$$931700 = $$591666;$$951192 = $$621159;$$951298 = $$641267;$$981605 = $$631570;$$99 = $$64;$$991408 = $$641373;$$sink30 = 24; + label = 243; + continue L46; + } + $611 = $$621159&255; + $612 = ((($$591666)) + 1|0); + HEAP8[$$591666>>0] = $611; + $$541470$ph = $$591475;$$541661$ph = $612;$$571048$ph = $$621053;$$581155$ph = $$621159;$$581565$ph = $$631570;$$59$ph = $$64;$$591262$ph = $$641267;$$591368$ph = $$641373; + label = 140; + break; + } + case 180: { + label = 0; + $694 = $6 & 2; + $695 = ($694|0)==(0); + if ($695) { + $$0959$shrunk = 0;$$631479 = $$621478;$$641671 = $$631670;$$661057 = $$651056;$$671164 = $$661163;$$681271 = $$671270;$$701577 = $$691576;$$71 = $$70;$$711380 = $$701379; + label = 183; + } else { + $$0960 = 1;$$891505 = $$621478;$$931084 = $$651056;$$931700 = $$631670;$$951192 = $$661163;$$951298 = $$671270;$$981605 = $$691576;$$99 = $$70;$$991408 = $$701379;$$sink30 = 25; + label = 243; + continue L46; + } + break; + } + case 182: { + label = 0; + $697 = ((($$sink1739)) + 1|0); + $698 = HEAP8[$$sink1739>>0]|0; + $$0959$shrunk = $698;$$631479 = $$631479$ph;$$641671 = $$641671$ph;$$661057 = $$661057$ph;$$671164 = $$671164$ph;$$681271 = $$681271$ph;$$701577 = $697;$$71 = $$71$ph;$$711380 = $$711380$ph; + label = 183; + break; + } + case 193: { + label = 0; + $735 = $6 & 2; + $736 = ($735|0)==(0); + if ($736) { + $$0952$shrunk = 0;$$681484 = $$671483;$$691676 = $$681675;$$711062 = $$701061;$$721169 = $$711168;$$731276 = $$721275;$$751582 = $$741581;$$76 = $$75;$$761385 = $$751384; + label = 196; + } else { + $$0960 = 1;$$891505 = $$671483;$$931084 = $$701061;$$931700 = $$681675;$$951192 = $$711168;$$951298 = $$721275;$$981605 = $$741581;$$99 = $$75;$$991408 = $$751384;$$sink30 = 26; + label = 243; + continue L46; + } + break; + } + case 195: { + label = 0; + $738 = ((($$sink1743)) + 1|0); + $739 = HEAP8[$$sink1743>>0]|0; + $$0952$shrunk = $739;$$681484 = $$681484$ph;$$691676 = $$691676$ph;$$711062 = $$711062$ph;$$721169 = $$721169$ph;$$731276 = $$731276$ph;$$751582 = $738;$$76 = $$76$ph;$$761385 = $$761385$ph; + label = 196; + break; + } + case 204: { + label = 0; + $782 = $6 & 2; + $783 = ($782|0)==(0); + if ($783) { + $$0950$shrunk = 0;$$721488 = $$711487;$$731680 = $$721679;$$741065 = $$731064;$$761173 = $$751172;$$761279 = $$751278;$$791586 = $$781585;$$80 = $$79;$$801389 = $$791388; + label = 207; + } else { + $$0960 = 1;$$891505 = $$711487;$$931084 = $$731064;$$931700 = $$721679;$$951192 = $$751172;$$951298 = $$751278;$$981605 = $$781585;$$99 = $$79;$$991408 = $$791388;$$sink30 = 27; + label = 243; + continue L46; + } + break; + } + case 206: { + label = 0; + $785 = ((($$sink1746)) + 1|0); + $786 = HEAP8[$$sink1746>>0]|0; + $$0950$shrunk = $786;$$721488 = $$721488$ph;$$731680 = $$731680$ph;$$741065 = $$741065$ph;$$761173 = $$761173$ph;$$761279 = $$761279$ph;$$791586 = $785;$$80 = $$80$ph;$$801389 = $$801389$ph; + label = 207; + break; + } + case 210: { + label = 0; + $$0960 = -1;$$891505 = $$731489;$$931084 = $$771068;$$931700 = $$761683;$$951192 = $$791176;$$951298 = $$791282;$$981605 = $$821589;$$99 = $$83;$$991408 = $$831392;$$sink30 = 37; + label = 243; + continue L46; + break; + } + case 213: { + label = 0; + $809 = ($$781685>>>0)<($12>>>0); + if (!($809)) { + $$0960 = 2;$$891505 = $$751491;$$931084 = $$791070;$$931700 = $$781685;$$951192 = $$811178;$$951298 = $$811284;$$981605 = $$841591;$$99 = $$85;$$991408 = $$851394;$$sink30 = 53; + label = 243; + continue L46; + } + $810 = (($$751491) + 1)|0; + $811 = (($$751491) - ($$791070))|0; + $812 = $811 & $$1753; + $813 = (($3) + ($812)|0); + $814 = HEAP8[$813>>0]|0; + $815 = ((($$781685)) + 1|0); + HEAP8[$$781685>>0] = $814; + $$741490 = $810;$$771684 = $815;$$781069 = $$791070;$$801177 = $$811178;$$801283 = $$811284;$$831590 = $$841591;$$84 = $$85;$$841393 = $$851394; + label = 212; + break; + } + case 226: { + label = 0; + $849 = $$90 & 7; + $850 = $$901399 >>> $849; + $851 = (($$90) - ($849))|0; + $$811497 = $$801496;$$851076 = $$841075;$$851692 = $$841691;$$871184 = 0;$$871290 = $$861289;$$901597 = $$891596;$$91 = $851;$$911400 = $850; + label = 227; + break; + } + case 231: { + label = 0; + $856 = $6 & 2; + $857 = ($856|0)==(0); + if ($857) { + $$0947$shrunk = 0;$$841500 = $$831499;$$881079 = $$871078;$$881695 = $$871694;$$901187 = $$891186;$$901293 = $$891292;$$931600 = $$921599;$$94 = $$93;$$941403 = $$931402; + label = 234; + } else { + $$0960 = 1;$$891505 = $$831499;$$931084 = $$871078;$$931700 = $$871694;$$951192 = $$891186;$$951298 = $$891292;$$981605 = $$921599;$$99 = $$93;$$991408 = $$931402;$$sink30 = 41; + label = 243; + continue L46; + } + break; + } + case 233: { + label = 0; + $859 = ((($$sink1750)) + 1|0); + $860 = HEAP8[$$sink1750>>0]|0; + $$0947$shrunk = $860;$$841500 = $$841500$ph;$$881079 = $$881079$ph;$$881695 = $$881695$ph;$$901187 = $$901187$ph;$$901293 = $$901293$ph;$$931600 = $859;$$94 = $$94$ph;$$941403 = $$941403$ph; + label = 234; + break; + } + case 237: { + label = 0; + $869 = $6 & 2; + $870 = ($869|0)==(0); + if ($870) { + $$0948 = 0;$$871503 = $$861502;$$911082 = $$901081;$$911698 = $$901697;$$931190 = $$921189;$$931296 = $$921295;$$961603 = $$951602;$$97 = $$96;$$971406 = $$961405; + label = 241; + continue L46; + } else { + $$0960 = 1;$$891505 = $$861502;$$931084 = $$901081;$$931700 = $$901697;$$951192 = $$921189;$$951298 = $$921295;$$981605 = $$951602;$$99 = $$96;$$991408 = $$961405;$$sink30 = 42; + label = 243; + continue L46; + } + break; + } + case 241: { + label = 0; + $878 = ((($0)) + 16|0); + $879 = HEAP32[$878>>2]|0; + $880 = $879 << 8; + $881 = $880 | $$0948; + HEAP32[$878>>2] = $881; + $882 = (($$931190) + 1)|0; + $$811497 = $$871503;$$851076 = $$911082;$$851692 = $$911698;$$871184 = $882;$$871290 = $$931296;$$901597 = $$961603;$$91 = $$97;$$911400 = $$971406; + label = 227; + break; + } + case 242: { + label = 0; + $$0960 = 0;$$891505 = $$881504;$$931084 = $$921083;$$931700 = $$921699;$$951192 = $$941191;$$951298 = $$941297;$$981605 = $$971604;$$99 = $$98;$$991408 = $$981407;$$sink30 = 34; + label = 243; + continue L46; + break; + } + case 243: { + label = 0; + HEAP32[$0>>2] = $$sink30; + $$100 = $$99;$$1001409 = $$991408;$$1961 = $$0960;$$901506 = $$891505;$$941085 = $$931084;$$941701 = $$931700;$$961193 = $$951192;$$961299 = $$951298;$$991606 = $$981605; + label = 244; + continue L46; + break; + } + case 244: { + label = 0; + HEAP32[$24>>2] = $$100; + HEAP32[$26>>2] = $$1001409; + HEAP32[$28>>2] = $$941085; + HEAP32[$30>>2] = $$961193; + HEAP32[$32>>2] = $$961299; + HEAP32[$34>>2] = $$901506; + $883 = $$991606; + $884 = $1; + $885 = (($883) - ($884))|0; + HEAP32[$2>>2] = $885; + $886 = $$941701; + $887 = $4; + $888 = (($886) - ($887))|0; + HEAP32[$5>>2] = $888; + $889 = $6 & 9; + $890 = ($889|0)!=(0); + $891 = ($$1961|0)>(-1); + $or$cond29 = $890 & $891; + if ($or$cond29) { + break L46; + } else { + $$0951 = $$1961; + label = 258; + break L46; + } + break; + } + } + switch (label|0) { + case 19: { + label = 0; + $$01413 = $$01413$shrunk&255; + $78 = $$01413 << $$8; + $79 = $78 | $$81317; + $80 = (($$8) + 8)|0; + $81 = ($80>>>0)<(3); + if ($81) { + $$11417 = $$31419;$$11608 = $$31610;$$51512 = $$71514;$$6 = $80;$$61103 = $$81105;$$61209 = $$81211;$$61315 = $79;$$6997 = $$8999; + label = 15; + } else { + $$41420 = $$31419;$$41611 = $$31610;$$81515 = $$71514;$$9 = $80;$$91000 = $$8999;$$91106 = $$81105;$$91212 = $$81211;$$91318 = $79; + label = 20; + } + break; + } + case 33: { + label = 0; + $$01411 = $$01411$shrunk&255; + $109 = $$01411 << $$17; + $110 = $109 | $$171326; + $111 = (($$17) + 8)|0; + $112 = ($$17>>>0)>(4294967287); + if ($112) { + $$101426 = $$121428;$$101617 = $$121619;$$141111 = $$161113;$$141521 = $$161523;$$15 = $111;$$151006 = $$171008;$$151218 = $$171220;$$151324 = $110; + label = 29; + } else { + $$131429 = $$121428;$$131620 = $$121619;$$171114 = $$161113;$$171524 = $$161523;$$18 = $111;$$181009 = $$171008;$$181221 = $$171220;$$181327 = $110; + label = 34; + } + break; + } + case 50: { + label = 0; + $$01410 = $$01410$shrunk&255; + $155 = $$01410 << $$26; + $156 = $155 | $$261335; + $157 = (($$26) + 8)|0; + $158 = ($$26>>>0)>(4294967287); + if ($158) { + $$191435 = $$211437;$$191626 = $$211628;$$231120 = $$251122;$$231530 = $$251532;$$24 = $157;$$241015 = $$261017;$$241227 = $$261229;$$241333 = $156; + label = 46; + } else { + $$221438 = $$211437;$$221629 = $$211628;$$261123 = $$251122;$$261533 = $$251532;$$27 = $157;$$271230 = $$261229;$$271336 = $156; + label = 51; + } + break; + } + case 67: { + label = 0; + $$01300 = $$01300$shrunk&255; + $196 = $$01300 << $$37; + $197 = $196 | $$371346; + $198 = (($$37) + 8)|0; + $199 = (11033 + ($$361133)|0); + $200 = HEAP8[$199>>0]|0; + $201 = $200 << 24 >> 24; + $202 = ($198>>>0)<($201>>>0); + if ($202) { + $$301446 = $$321448;$$301637 = $$321639;$$341025 = $$361027;$$341131 = $$361133;$$341541 = $$361543;$$35 = $198;$$351238 = $$371240;$$351344 = $197; + label = 63; + } else { + $$331449 = $$321448;$$331640 = $$321639;$$371028 = $$361027;$$371134 = $$361133;$$371544 = $$361543;$$38 = $198;$$381241 = $$371240;$$381347 = $197; + label = 68; + } + break; + } + case 76: { + label = 0; + $$01202 = $$01202$shrunk&255; + $227 = $$01202 << $$42; + $228 = $227 | $$421351; + $229 = (($$42) + 8)|0; + $230 = ($229>>>0)<(3); + if ($230) { + $$351451 = $$371453;$$351642 = $$371644;$$391030 = $$411032;$$391136 = $$411138;$$391546 = $$411548;$$40 = $229;$$401243 = $$421245;$$401349 = $228; + label = 72; + } else { + $$381454 = $$371453;$$381645 = $$371644;$$421033 = $$411032;$$421139 = $$411138;$$421549 = $$411548;$$43 = $229;$$431246 = $$421245;$$431352 = $228; + label = 77; + } + break; + } + case 117: { + label = 0; + $$0980 = $$0980$shrunk&255; + $455 = $$0980 << $$49; + $456 = $455 | $$491358; + $457 = (($$49) + 8)|0; + $458 = ($457>>>0)<(15); + if ($458) { + $$421458 = $$441460;$$421649 = $$441651;$$461037 = $$481039;$$461143 = $$481145;$$461553 = $$481555;$$47 = $457;$$471250 = $$491252;$$471356 = $456; + label = 108; + } else { + $$451461 = $$441460;$$451652 = $$441651;$$491146 = $$481145;$$491556 = $$481555;$$50 = $457;$$501253 = $$491252;$$501359 = $456; + label = 119; + } + break; + } + case 131: { + label = 0; + $$0979 = $$0979$shrunk&255; + $506 = $$0979 << $$54; + $507 = $506 | $$541363; + $508 = (($$54) + 8)|0; + $509 = ($508>>>0)<($$541257>>>0); + if ($509) { + $$471463 = $$491465;$$471654 = $$491656;$$501041 = $$521043;$$511148 = $$531150;$$511558 = $$531560;$$52 = $508;$$521255 = $$541257;$$521361 = $507; + label = 127; + } else { + $$501466 = $$491465;$$501657 = $$491656;$$531044 = $$521043;$$541151 = $$531150;$$541561 = $$531560;$$55 = $508;$$551258 = $$541257;$$551364 = $507; + label = 132; + } + break; + } + case 154: { + label = 0; + $$0971 = $$0971$shrunk&255; + $575 = $$0971 << $$62; + $576 = $575 | $$621371; + $577 = (($$62) + 8)|0; + $578 = ($577>>>0)<(15); + if ($578) { + $$551471 = $$571473;$$551662 = $$571664;$$581049 = $$601051;$$591156 = $$611158;$$591566 = $$611568;$$60 = $577;$$601263 = $$621265;$$601369 = $576; + label = 145; + } else { + $$581474 = $$571473;$$581665 = $$571664;$$611052 = $$601051;$$621569 = $$611568;$$63 = $577;$$631266 = $$621265;$$631372 = $576; + label = 156; + } + break; + } + case 183: { + label = 0; + $$0959 = $$0959$shrunk&255; + $699 = $$0959 << $$71; + $700 = $699 | $$711380; + $701 = (($$71) + 8)|0; + $702 = ($701>>>0)<($$681271>>>0); + if ($702) { + $$611477 = $$631479;$$621669 = $$641671;$$641055 = $$661057;$$651162 = $$671164;$$661269 = $$681271;$$681575 = $$701577;$$69 = $701;$$691378 = $700; + label = 179; + } else { + $$641480 = $$631479;$$651672 = $$641671;$$671058 = $$661057;$$681165 = $$671164;$$691272 = $$681271;$$711578 = $$701577;$$72 = $701;$$721381 = $700; + label = 184; + } + break; + } + case 196: { + label = 0; + $$0952 = $$0952$shrunk&255; + $740 = $$0952 << $$76; + $741 = $740 | $$761385; + $742 = (($$76) + 8)|0; + $743 = ($742>>>0)<(15); + if ($743) { + $$661482 = $$681484;$$671674 = $$691676;$$691060 = $$711062;$$701167 = $$721169;$$711274 = $$731276;$$731580 = $$751582;$$74 = $742;$$741383 = $741; + label = 187; + } else { + $$691485 = $$681484;$$701677 = $$691676;$$731170 = $$721169;$$761583 = $$751582;$$77 = $742;$$771386 = $741; + label = 198; + } + break; + } + case 207: { + label = 0; + $$0950 = $$0950$shrunk&255; + $787 = $$0950 << $$80; + $788 = $787 | $$801389; + $789 = (($$80) + 8)|0; + $790 = ($789>>>0)<($$761279>>>0); + if ($790) { + $$701486 = $$721488;$$711678 = $$731680;$$721063 = $$741065;$$741171 = $$761173;$$741277 = $$761279;$$771584 = $$791586;$$78 = $789;$$781387 = $788; + label = 203; + } else { + $$741681 = $$731680;$$751066 = $$741065;$$771174 = $$761173;$$771280 = $$761279;$$801587 = $$791586;$$81 = $789;$$811390 = $788; + label = 208; + } + break; + } + case 227: { + label = 0; + $852 = ($$871184>>>0)<(4); + if (!($852)) { + $$881504 = $$811497;$$921083 = $$851076;$$921699 = $$851692;$$941191 = $$871184;$$941297 = $$871290;$$971604 = $$901597;$$98 = $$91;$$981407 = $$911400; + label = 242; + continue L46; + } + $853 = ($$91|0)==(0); + if (!($853)) { + $854 = ($$91>>>0)<(8); + if ($854) { + $$821498 = $$811497;$$861077 = $$851076;$$861693 = $$851692;$$881185 = $$871184;$$881291 = $$871290;$$911598 = $$901597;$$92 = $$91;$$921401 = $$911400; + label = 230; + break; + } else { + $$851501 = $$811497;$$891080 = $$851076;$$891696 = $$851692;$$911188 = $$871184;$$911294 = $$871290;$$941601 = $$901597;$$95 = $$91;$$951404 = $$911400; + label = 235; + break; + } + } + $868 = ($$901597>>>0)<($10>>>0); + if (!($868)) { + $$861502 = $$811497;$$901081 = $$851076;$$901697 = $$851692;$$921189 = $$871184;$$921295 = $$871290;$$951602 = $$901597;$$96 = 0;$$961405 = $$911400; + label = 237; + continue L46; + } + $875 = ((($$901597)) + 1|0); + $876 = HEAP8[$$901597>>0]|0; + $877 = $876&255; + $$0948 = $877;$$871503 = $$811497;$$911082 = $$851076;$$911698 = $$851692;$$931190 = $$871184;$$931296 = $$871290;$$961603 = $875;$$97 = 0;$$971406 = $$911400; + label = 241; + continue L46; + break; + } + case 234: { + label = 0; + $$0947 = $$0947$shrunk&255; + $861 = $$0947 << $$94; + $862 = $861 | $$941403; + $863 = (($$94) + 8)|0; + $864 = ($$94>>>0)>(4294967287); + if ($864) { + $$821498 = $$841500;$$861077 = $$881079;$$861693 = $$881695;$$881185 = $$901187;$$881291 = $$901293;$$911598 = $$931600;$$92 = $863;$$921401 = $862; + label = 230; + } else { + $$851501 = $$841500;$$891080 = $$881079;$$891696 = $$881695;$$911188 = $$901187;$$911294 = $$901293;$$941601 = $$931600;$$95 = $863;$$951404 = $862; + label = 235; + } + break; + } + } + L119: do { + if ((label|0) == 15) { + label = 0; + $72 = ($$51512>>>0)<($10>>>0); + if ($72) { + $$31419$ph = $$11417;$$31610$ph = $$11608;$$8$ph = $$6;$$81105$ph = $$61103;$$81211$ph = $$61209;$$81317$ph = $$61315;$$8999$ph = $$6997;$$sink1710 = $$51512; + label = 18; + continue L46; + } else { + $$21418 = $$11417;$$21609 = $$11608;$$61513 = $$51512;$$7 = $$6;$$71104 = $$61103;$$71210 = $$61209;$$71316 = $$61315;$$7998 = $$6997; + label = 16; + continue L46; + } + } + else if ((label|0) == 20) { + label = 0; + $82 = $$91318 & 7; + $83 = ((($0)) + 20|0); + HEAP32[$83>>2] = $82; + $84 = $$91318 >>> 3; + $85 = (($$9) + -3)|0; + $86 = $82 >>> 1; + $87 = ((($0)) + 24|0); + HEAP32[$87>>2] = $86; + $trunc = $86&255; + $trunc$clear = $trunc & 3; + switch ($trunc$clear<<24>>24) { + case 0: { + $$121519 = $$81515;$$13 = $85;$$131004 = $$91000;$$131216 = $$91212;$$131322 = $84;$$81424 = $$41420;$$81615 = $$41611; + label = 25; + continue L46; + break; + } + case 3: { + $$281444 = $$41420;$$281635 = $$41611;$$321023 = $$91000;$$321129 = $$91106;$$321539 = $$81515;$$33 = $85;$$331236 = $$91212;$$331342 = $84; + label = 60; + continue L46; + break; + } + case 1: { + break; + } + default: { + $$291445 = $$41420;$$291636 = $$41611;$$331024 = $$91000;$$331130 = 0;$$331540 = $$81515;$$34 = $85;$$341237 = $$91212;$$341343 = $84; + label = 61; + break L119; + } + } + $240 = ((($0)) + 44|0); + HEAP32[$240>>2] = 288; + $241 = ((($0)) + 48|0); + HEAP32[$241>>2] = 32; + $242 = ((($0)) + 3552|0); + ;HEAP32[$242>>2]=84215045|0;HEAP32[$242+4>>2]=84215045|0;HEAP32[$242+8>>2]=84215045|0;HEAP32[$242+12>>2]=84215045|0;HEAP32[$242+16>>2]=84215045|0;HEAP32[$242+20>>2]=84215045|0;HEAP32[$242+24>>2]=84215045|0;HEAP32[$242+28>>2]=84215045|0; + $scevgep19611962 = ((($0)) + 64|0); + _memset(($scevgep19611962|0),8,144)|0; + $scevgep1959 = ((($0)) + 208|0); + dest=$scevgep1959; stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1957 = ((($0)) + 320|0); + dest=$scevgep1957; stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); + $scevgep1955 = ((($0)) + 344|0); + $243 = $scevgep1955; + $244 = $243; + HEAP8[$244>>0]=134744072&255;HEAP8[$244+1>>0]=(134744072>>8)&255;HEAP8[$244+2>>0]=(134744072>>16)&255;HEAP8[$244+3>>0]=134744072>>24; + $245 = (($243) + 4)|0; + $246 = $245; + HEAP8[$246>>0]=134744072&255;HEAP8[$246+1>>0]=(134744072>>8)&255;HEAP8[$246+2>>0]=(134744072>>16)&255;HEAP8[$246+3>>0]=134744072>>24; + $$391455 = $$41420;$$391646 = $$41611;$$431034 = $$91000;$$431140 = $$91106;$$431550 = $$81515;$$44 = $85;$$441247 = $$91212;$$441353 = $84; + label = 80; + } + else if ((label|0) == 230) { + label = 0; + $855 = ($$911598>>>0)<($10>>>0); + if ($855) { + $$841500$ph = $$821498;$$881079$ph = $$861077;$$881695$ph = $$861693;$$901187$ph = $$881185;$$901293$ph = $$881291;$$94$ph = $$92;$$941403$ph = $$921401;$$sink1750 = $$911598; + label = 233; + continue L46; + } else { + $$831499 = $$821498;$$871078 = $$861077;$$871694 = $$861693;$$891186 = $$881185;$$891292 = $$881291;$$921599 = $$911598;$$93 = $$92;$$931402 = $$921401; + label = 231; + continue L46; + } + } + else if ((label|0) == 235) { + label = 0; + $865 = $$951404 & 255; + $866 = $$951404 >>> 8; + $867 = (($$95) + -8)|0; + $$0948 = $865;$$871503 = $$851501;$$911082 = $$891080;$$911698 = $$891696;$$931190 = $$911188;$$931296 = $$911294;$$961603 = $$941601;$$97 = $867;$$971406 = $866; + label = 241; + continue L46; + } + } while(0); + L125: while(1) { + L126: switch (label|0) { + case 26: { + label = 0; + $100 = ($$131110>>>0)<(4); + if (!($100)) { + $127 = ((($0)) + 10528|0); + $128 = HEAP8[$127>>0]|0; + $129 = $128&255; + $130 = ((($0)) + 10529|0); + $131 = HEAP8[$130>>0]|0; + $132 = $131&255; + $133 = $132 << 8; + $134 = $133 | $129; + $135 = ((($0)) + 10530|0); + $136 = HEAP8[$135>>0]|0; + $137 = $136&255; + $138 = ((($0)) + 10531|0); + $139 = HEAP8[$138>>0]|0; + $140 = $139&255; + $141 = $140 << 8; + $142 = $141 | $137; + $143 = $142 ^ 65535; + $144 = ($134|0)==($143|0); + if ($144) { + $$181434 = $$91425;$$181625 = $$91616;$$221119 = $134;$$221529 = $$131520;$$23 = $$14;$$231014 = $$141005;$$231226 = $$141217;$$231332 = $$141323; + label = 44; + continue L125; + } else { + $$171433 = $$91425;$$171624 = $$91616;$$211118 = $134;$$211528 = $$131520;$$22 = $$14;$$221013 = $$141005;$$221225 = $$141217;$$221331 = $$141323; + label = 43; + continue L46; + } + } + $101 = ($$14|0)==(0); + if (!($101)) { + $102 = ($$14>>>0)<(8); + if ($102) { + $$101426 = $$91425;$$101617 = $$91616;$$141111 = $$131110;$$141521 = $$131520;$$15 = $$14;$$151006 = $$141005;$$151218 = $$141217;$$151324 = $$141323; + label = 29; + continue L125; + } else { + $$131429 = $$91425;$$131620 = $$91616;$$171114 = $$131110;$$171524 = $$131520;$$18 = $$14;$$181009 = $$141005;$$181221 = $$141217;$$181327 = $$141323; + label = 34; + continue L125; + } + } + $117 = ($$131520>>>0)<($10>>>0); + if (!($117)) { + $$141430 = $$91425;$$141621 = $$91616;$$181115 = $$131110;$$181525 = $$131520;$$19 = 0;$$191010 = $$141005;$$191222 = $$141217;$$191328 = $$141323; + label = 36; + continue L46; + } + $123 = ((($$131520)) + 1|0); + $124 = HEAP8[$$131520>>0]|0; + $125 = (((($0)) + 10528|0) + ($$131110)|0); + HEAP8[$125>>0] = $124; + $$161432 = $$91425;$$161623 = $$91616;$$201117 = $$131110;$$201527 = $123;$$21 = 0;$$211012 = $$141005;$$211224 = $$141217;$$211330 = $$141323; + label = 41; + continue L125; + break; + } + case 29: { + label = 0; + $103 = ($$141521>>>0)<($10>>>0); + if ($103) { + $$121428$ph = $$101426;$$121619$ph = $$101617;$$161113$ph = $$141111;$$17$ph = $$15;$$171008$ph = $$151006;$$171220$ph = $$151218;$$171326$ph = $$151324;$$sink1713 = $$141521; + label = 32; + continue L46; + } else { + $$111427 = $$101426;$$111618 = $$101617;$$151112 = $$141111;$$151522 = $$141521;$$16 = $$15;$$161007 = $$151006;$$161219 = $$151218;$$161325 = $$151324; + label = 30; + continue L46; + } + break; + } + case 34: { + label = 0; + $113 = $$181327&255; + $114 = (((($0)) + 10528|0) + ($$171114)|0); + HEAP8[$114>>0] = $113; + $115 = $$181327 >>> 8; + $116 = (($$18) + -8)|0; + $$161432 = $$131429;$$161623 = $$131620;$$201117 = $$171114;$$201527 = $$171524;$$21 = $116;$$211012 = $$181009;$$211224 = $$181221;$$211330 = $115; + label = 41; + continue L125; + break; + } + case 41: { + label = 0; + $126 = (($$201117) + 1)|0; + $$131110 = $126;$$131520 = $$201527;$$14 = $$21;$$141005 = $$211012;$$141217 = $$211224;$$141323 = $$211330;$$91425 = $$161432;$$91616 = $$161623; + label = 26; + continue L125; + break; + } + case 44: { + label = 0; + $145 = ($$221119|0)!=(0); + $146 = ($$23|0)!=(0); + $147 = $145 & $146; + if (!($147)) { + $$241440 = $$181434;$$241631 = $$181625;$$281019 = $$231014;$$281125 = $$221119;$$281535 = $$221529;$$29 = $$23;$$291232 = $$231226;$$291338 = $$231332; + label = 54; + continue L125; + } + $148 = ($$23>>>0)<(8); + if ($148) { + $$191435 = $$181434;$$191626 = $$181625;$$231120 = $$221119;$$231530 = $$221529;$$24 = $$23;$$241015 = $$231014;$$241227 = $$231226;$$241333 = $$231332; + label = 46; + continue L125; + } else { + $$221438 = $$181434;$$221629 = $$181625;$$261123 = $$221119;$$261533 = $$221529;$$27 = $$23;$$271230 = $$231226;$$271336 = $$231332; + label = 51; + continue L125; + } + break; + } + case 46: { + label = 0; + $149 = ($$231530>>>0)<($10>>>0); + if ($149) { + $$211437$ph = $$191435;$$211628$ph = $$191626;$$251122$ph = $$231120;$$26$ph = $$24;$$261017$ph = $$241015;$$261229$ph = $$241227;$$261335$ph = $$241333;$$sink1716 = $$231530; + label = 49; + continue L46; + } else { + $$201436 = $$191435;$$201627 = $$191626;$$241121 = $$231120;$$241531 = $$231530;$$25 = $$24;$$251016 = $$241015;$$251228 = $$241227;$$251334 = $$241333; + label = 47; + continue L46; + } + break; + } + case 51: { + label = 0; + $159 = $$271336 & 255; + $160 = $$271336 >>> 8; + $161 = (($$27) + -8)|0; + $$231439 = $$221438;$$231630 = $$221629;$$271018 = $159;$$271124 = $$261123;$$271534 = $$261533;$$28 = $161;$$281231 = $$271230;$$281337 = $160; + label = 52; + continue L46; + break; + } + case 54: { + label = 0; + $166 = ($$281125|0)==(0); + if ($166) { + $$761492 = $$241440;$$801071 = $$281019;$$801687 = $$241631;$$821285 = $$291232;$$831180 = 0;$$851592 = $$281535;$$86 = $$29;$$861395 = $$291338; + label = 220; + break L125; + } else { + $$251441 = $$241440;$$251632 = $$241631;$$291020 = $$281019;$$291126 = $$281125;$$291536 = $$281535;$$30 = $$29;$$301233 = $$291232;$$301339 = $$291338; + label = 55; + continue L46; + } + break; + } + case 61: { + label = 0; + $185 = ($$331130>>>0)<(3); + if ($185) { + $186 = (11033 + ($$331130)|0); + $187 = HEAP8[$186>>0]|0; + $188 = $187 << 24 >> 24; + $189 = ($$34>>>0)<($188>>>0); + if ($189) { + $$301446 = $$291445;$$301637 = $$291636;$$341025 = $$331024;$$341131 = $$331130;$$341541 = $$331540;$$35 = $$34;$$351238 = $$341237;$$351344 = $$341343; + label = 63; + continue L125; + } else { + $$331449 = $$291445;$$331640 = $$291636;$$371028 = $$331024;$$371134 = $$331130;$$371544 = $$331540;$$38 = $$34;$$381241 = $$341237;$$381347 = $$341343; + label = 68; + continue L125; + } + } else { + $216 = ((($0)) + 7040|0); + _memset(($216|0),0,288)|0; + $$341450 = $$291445;$$341641 = $$291636;$$381029 = $$331024;$$381135 = 0;$$381545 = $$331540;$$39 = $$34;$$391242 = $$341237;$$391348 = $$341343; + label = 70; + break; + } + break; + } + case 63: { + label = 0; + $190 = ($$341541>>>0)<($10>>>0); + if ($190) { + $$321448$ph = $$301446;$$321639$ph = $$301637;$$361027$ph = $$341025;$$361133$ph = $$341131;$$37$ph = $$35;$$371240$ph = $$351238;$$371346$ph = $$351344;$$sink1719 = $$341541; + label = 66; + continue L46; + } else { + $$311447 = $$301446;$$311638 = $$301637;$$351026 = $$341025;$$351132 = $$341131;$$351542 = $$341541;$$36 = $$35;$$361239 = $$351238;$$361345 = $$351344; + label = 64; + continue L46; + } + break; + } + case 68: { + label = 0; + $203 = (11033 + ($$371134)|0); + $204 = HEAP8[$203>>0]|0; + $205 = $204 << 24 >> 24; + $206 = 1 << $205; + $207 = (($206) + -1)|0; + $208 = $207 & $$381347; + $209 = (((($0)) + 44|0) + ($$371134<<2)|0); + $210 = $$381347 >>> $205; + $211 = (($$38) - ($205))|0; + $212 = (3108 + ($$371134<<2)|0); + $213 = HEAP32[$212>>2]|0; + $214 = (($208) + ($213))|0; + HEAP32[$209>>2] = $214; + $215 = (($$371134) + 1)|0; + $$291445 = $$331449;$$291636 = $$331640;$$331024 = $$371028;$$331130 = $215;$$331540 = $$371544;$$34 = $211;$$341237 = $$381241;$$341343 = $210; + label = 61; + continue L125; + break; + } + case 72: { + label = 0; + $221 = ($$391546>>>0)<($10>>>0); + if ($221) { + $$371453$ph = $$351451;$$371644$ph = $$351642;$$411032$ph = $$391030;$$411138$ph = $$391136;$$42$ph = $$40;$$421245$ph = $$401243;$$421351$ph = $$401349;$$sink1722 = $$391546; + label = 75; + continue L46; + } else { + $$361452 = $$351451;$$361643 = $$351642;$$401031 = $$391030;$$401137 = $$391136;$$401547 = $$391546;$$41 = $$40;$$411244 = $$401243;$$411350 = $$401349; + label = 73; + continue L46; + } + break; + } + case 77: { + label = 0; + $231 = $$431352 & 7; + $232 = $$431352 >>> 3; + $233 = (($$43) + -3)|0; + $234 = $231&255; + $235 = (11037 + ($$421139)|0); + $236 = HEAP8[$235>>0]|0; + $237 = $236&255; + $238 = (((($0)) + 7040|0) + ($237)|0); + HEAP8[$238>>0] = $234; + $239 = (($$421139) + 1)|0; + $$341450 = $$381454;$$341641 = $$381645;$$381029 = $$421033;$$381135 = $239;$$381545 = $$421549;$$39 = $233;$$391242 = $$431246;$$391348 = $232; + label = 70; + break; + } + case 80: { + label = 0; + $247 = ((($0)) + 24|0); + $248 = HEAP32[$247>>2]|0; + $249 = ($248|0)>(-1); + if ($249) { + dest=$8; stop=dest+64|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $250 = (((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0); + _memset(($250|0),0,3200)|0; + $251 = HEAP32[$247>>2]|0; + $252 = (((($0)) + 44|0) + ($251<<2)|0); + $253 = HEAP32[$252>>2]|0; + $254 = ($253|0)==(0); + if (!($254)) { + $255 = HEAP32[$247>>2]|0; + $256 = (((($0)) + 44|0) + ($255<<2)|0); + $257 = HEAP32[$256>>2]|0; + $$010951864 = 0; + while(1) { + $258 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010951864)|0); + $259 = HEAP8[$258>>0]|0; + $260 = $259&255; + $261 = (($8) + ($260<<2)|0); + $262 = HEAP32[$261>>2]|0; + $263 = (($262) + 1)|0; + HEAP32[$261>>2] = $263; + $264 = (($$010951864) + 1)|0; + $265 = ($264>>>0)<($257>>>0); + if ($265) { + $$010951864 = $264; + } else { + break; + } + } + } + $266 = ((($7)) + 4|0); + HEAP32[$266>>2] = 0; + HEAP32[$7>>2] = 0; + $267 = ((($8)) + 4|0); + $268 = HEAP32[$267>>2]|0; + $269 = $268 << 1; + $270 = ((($7)) + 8|0); + HEAP32[$270>>2] = $269; + $271 = ((($8)) + 8|0); + $272 = HEAP32[$271>>2]|0; + $273 = (($272) + ($268))|0; + $274 = (($272) + ($269))|0; + $275 = $274 << 1; + $276 = ((($7)) + 12|0); + HEAP32[$276>>2] = $275; + $277 = ((($8)) + 12|0); + $278 = HEAP32[$277>>2]|0; + $279 = (($278) + ($273))|0; + $280 = (($278) + ($275))|0; + $281 = $280 << 1; + $282 = ((($7)) + 16|0); + HEAP32[$282>>2] = $281; + $283 = ((($8)) + 16|0); + $284 = HEAP32[$283>>2]|0; + $285 = (($284) + ($279))|0; + $286 = (($284) + ($281))|0; + $287 = $286 << 1; + $288 = ((($7)) + 20|0); + HEAP32[$288>>2] = $287; + $289 = ((($8)) + 20|0); + $290 = HEAP32[$289>>2]|0; + $291 = (($290) + ($285))|0; + $292 = (($290) + ($287))|0; + $293 = $292 << 1; + $294 = ((($7)) + 24|0); + HEAP32[$294>>2] = $293; + $295 = ((($8)) + 24|0); + $296 = HEAP32[$295>>2]|0; + $297 = (($296) + ($291))|0; + $298 = (($296) + ($293))|0; + $299 = $298 << 1; + $300 = ((($7)) + 28|0); + HEAP32[$300>>2] = $299; + $301 = ((($8)) + 28|0); + $302 = HEAP32[$301>>2]|0; + $303 = (($302) + ($297))|0; + $304 = (($302) + ($299))|0; + $305 = $304 << 1; + $306 = ((($7)) + 32|0); + HEAP32[$306>>2] = $305; + $307 = ((($8)) + 32|0); + $308 = HEAP32[$307>>2]|0; + $309 = (($308) + ($303))|0; + $310 = (($308) + ($305))|0; + $311 = $310 << 1; + $312 = ((($7)) + 36|0); + HEAP32[$312>>2] = $311; + $313 = ((($8)) + 36|0); + $314 = HEAP32[$313>>2]|0; + $315 = (($314) + ($309))|0; + $316 = (($314) + ($311))|0; + $317 = $316 << 1; + $318 = ((($7)) + 40|0); + HEAP32[$318>>2] = $317; + $319 = ((($8)) + 40|0); + $320 = HEAP32[$319>>2]|0; + $321 = (($320) + ($315))|0; + $322 = (($320) + ($317))|0; + $323 = $322 << 1; + $324 = ((($7)) + 44|0); + HEAP32[$324>>2] = $323; + $325 = ((($8)) + 44|0); + $326 = HEAP32[$325>>2]|0; + $327 = (($326) + ($321))|0; + $328 = (($326) + ($323))|0; + $329 = $328 << 1; + $330 = ((($7)) + 48|0); + HEAP32[$330>>2] = $329; + $331 = ((($8)) + 48|0); + $332 = HEAP32[$331>>2]|0; + $333 = (($332) + ($327))|0; + $334 = (($332) + ($329))|0; + $335 = $334 << 1; + $336 = ((($7)) + 52|0); + HEAP32[$336>>2] = $335; + $337 = ((($8)) + 52|0); + $338 = HEAP32[$337>>2]|0; + $339 = (($338) + ($333))|0; + $340 = (($338) + ($335))|0; + $341 = $340 << 1; + $342 = ((($7)) + 56|0); + HEAP32[$342>>2] = $341; + $343 = ((($8)) + 56|0); + $344 = HEAP32[$343>>2]|0; + $345 = (($344) + ($339))|0; + $346 = (($344) + ($341))|0; + $347 = $346 << 1; + $348 = ((($7)) + 60|0); + HEAP32[$348>>2] = $347; + $349 = ((($8)) + 60|0); + $350 = HEAP32[$349>>2]|0; + $351 = (($350) + ($345))|0; + $352 = (($350) + ($347))|0; + $353 = $352 << 1; + $354 = ((($7)) + 64|0); + HEAP32[$354>>2] = $353; + $355 = ($353|0)!=(65536); + $356 = ($351>>>0)>(1); + $or$cond = $355 & $356; + if ($or$cond) { + $$401456 = $$391455;$$401647 = $$391646;$$441035 = $$431034;$$441141 = $$431140;$$441551 = $$431550;$$45 = $$44;$$451248 = $$441247;$$451354 = $$441353; + label = 86; + continue L46; + } + $357 = HEAP32[$247>>2]|0; + $358 = (((($0)) + 44|0) + ($357<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0); + if ($360) { + $$lcssa1779 = $357; + } else { + $$010911856 = 0;$$011971855 = -1; + while(1) { + $361 = ((((($0)) + 64|0) + (($248*3488)|0)|0) + ($$010911856)|0); + $362 = HEAP8[$361>>0]|0; + $363 = $362&255; + $364 = ($362<<24>>24)==(0); + L142: do { + if ($364) { + $$41201 = $$011971855; + } else { + $365 = (($7) + ($363<<2)|0); + $366 = HEAP32[$365>>2]|0; + $367 = (($366) + 1)|0; + HEAP32[$365>>2] = $367; + $$010861840 = $366;$$010871839 = $363;$$010881838 = 0; + while(1) { + $368 = $$010881838 << 1; + $369 = $$010861840 & 1; + $370 = $369 | $368; + $371 = (($$010871839) + -1)|0; + $372 = $$010861840 >>> 1; + $373 = ($371|0)==(0); + if ($373) { + break; + } else { + $$010861840 = $372;$$010871839 = $371;$$010881838 = $370; + } + } + $374 = ($362&255)<(11); + if ($374) { + $375 = $363 << 9; + $376 = $375 | $$010911856; + $377 = $376&65535; + $378 = ($370>>>0)<(1024); + if (!($378)) { + $$41201 = $$011971855; + break; + } + $379 = 1 << $363; + $$110891852 = $370; + while(1) { + $380 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($$110891852<<1)|0); + HEAP16[$380>>1] = $377; + $381 = (($$110891852) + ($379))|0; + $382 = ($381>>>0)<(1024); + if ($382) { + $$110891852 = $381; + } else { + $$41201 = $$011971855; + break L142; + } + } + } + $383 = $370 & 1023; + $384 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 288|0) + ($383<<1)|0); + $385 = HEAP16[$384>>1]|0; + $386 = $385 << 16 >> 16; + $387 = ($385<<16>>16)==(0); + if ($387) { + $388 = (($$011971855) + -2)|0; + $389 = $$011971855&65535; + HEAP16[$384>>1] = $389; + $$01194 = $$011971855;$$11198 = $388; + } else { + $$01194 = $386;$$11198 = $$011971855; + } + $390 = $$010881838 >>> 9; + $391 = ($362&255)>(11); + $392 = $390 & 1; + $393 = (($392) - ($$01194))|0; + $394 = (($393) + -1)|0; + if ($391) { + $395 = $390 & 4194303; + $$010941846 = $363;$$211991845 = $$11198;$397 = $394;$406 = $395; + while(1) { + $396 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($397<<1)|0); + $398 = HEAP16[$396>>1]|0; + $399 = ($398<<16>>16)==(0); + if ($399) { + $400 = $$211991845&65535; + HEAP16[$396>>1] = $400; + $401 = (($$211991845) + -2)|0; + $$21196 = $$211991845;$$31200 = $401; + } else { + $402 = $398 << 16 >> 16; + $$21196 = $402;$$31200 = $$211991845; + } + $403 = (($$010941846) + -1)|0; + $404 = ($403>>>0)>(11); + $405 = $406 >>> 1; + $407 = $405 & 1; + $408 = (($407) - ($$21196))|0; + $409 = (($408) + -1)|0; + if ($404) { + $$010941846 = $403;$$211991845 = $$31200;$397 = $409;$406 = $405; + } else { + $$21199$lcssa = $$31200;$$lcssa1778 = $409; + break; + } + } + } else { + $$21199$lcssa = $$11198;$$lcssa1778 = $394; + } + $410 = $$010911856&65535; + $411 = ((((((($0)) + 64|0) + (($248*3488)|0)|0)) + 2336|0) + ($$lcssa1778<<1)|0); + HEAP16[$411>>1] = $410; + $$41201 = $$21199$lcssa; + } + } while(0); + $412 = (($$010911856) + 1)|0; + $413 = HEAP32[$247>>2]|0; + $414 = (((($0)) + 44|0) + ($413<<2)|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($412>>>0)<($415>>>0); + if ($416) { + $$010911856 = $412;$$011971855 = $$41201; + } else { + $$lcssa1779 = $413; + break; + } + } + } + $417 = ($$lcssa1779|0)==(2); + if ($417) { + $$411457 = $$391455;$$411648 = $$391646;$$451036 = $$431034;$$451142 = 0;$$451552 = $$431550;$$46 = $$44;$$461249 = $$441247;$$461355 = $$441353; + label = 105; + } else { + $$521468 = $$391455;$$521659 = $$391646;$$551046 = $$431034;$$561153 = $$431140;$$561563 = $$431550;$$57 = $$44;$$571260 = $$441247;$$571366 = $$441353; + label = 138; + } + } else { + $$531469 = $$391455;$$531660 = $$391646;$$561047 = $$431034;$$571154 = $$431140;$$571564 = $$431550;$$58 = $$44;$$581261 = $$441247;$$581367 = $$441353; + label = 139; + } + break; + } + case 108: { + label = 0; + $429 = $$471356 & 1023; + $430 = (((($0)) + 7328|0) + ($429<<1)|0); + $431 = HEAP16[$430>>1]|0; + $432 = $431 << 16 >> 16; + $433 = ($431<<16>>16)>(-1); + if ($433) { + $434 = $432 >> 9; + $435 = (($434) + -1)|0; + $436 = ($435>>>0)<($$47>>>0); + if ($436) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } else { + label = 113; + break L125; + } + } + $437 = ($$47>>>0)>(10); + if ($437) { + $$0981 = 10;$$0984 = $432; + } else { + label = 113; + break L125; + } + while(1) { + $438 = $$0984 ^ -1; + $439 = $$471356 >>> $$0981; + $440 = $439 & 1; + $441 = (($440) + ($438))|0; + $442 = (((($0)) + 9376|0) + ($441<<1)|0); + $443 = HEAP16[$442>>1]|0; + $444 = ($443<<16>>16)<(0); + if (!($444)) { + $$451461 = $$421458;$$451652 = $$421649;$$491146 = $$461143;$$491556 = $$461553;$$50 = $$47;$$501253 = $$471250;$$501359 = $$471356; + label = 119; + continue L125; + } + $445 = (($$0981) + 1)|0; + $446 = $443 << 16 >> 16; + $447 = (($$0981) + 2)|0; + $448 = ($$47>>>0)<($447>>>0); + if ($448) { + label = 113; + break L125; + } else { + $$0981 = $445;$$0984 = $446; + } + } + break; + } + case 119: { + label = 0; + $471 = $$501359 & 1023; + $472 = (((($0)) + 7328|0) + ($471<<1)|0); + $473 = HEAP16[$472>>1]|0; + $474 = $473 << 16 >> 16; + $475 = ($473<<16>>16)>(-1); + if ($475) { + $476 = $474 >> 9; + $477 = $474 & 511; + $$2983 = $476;$$2986 = $477; + } else { + $$1982 = 10;$$1985 = $474; + while(1) { + $478 = $$1985 ^ -1; + $479 = (($$1982) + 1)|0; + $480 = $$501359 >>> $$1982; + $481 = $480 & 1; + $482 = (($481) + ($478))|0; + $483 = (((($0)) + 9376|0) + ($482<<1)|0); + $484 = HEAP16[$483>>1]|0; + $485 = $484 << 16 >> 16; + $486 = ($484<<16>>16)<(0); + if ($486) { + $$1982 = $479;$$1985 = $485; + } else { + $$2983 = $479;$$2986 = $485; + break; + } + } + } + $487 = $$501359 >>> $$2983; + $488 = (($$50) - ($$2983))|0; + $489 = ($$2986>>>0)<(16); + if ($489) { + $490 = $$2986&255; + $491 = (($$491146) + 1)|0; + $492 = (((($0)) + 10532|0) + ($$491146)|0); + HEAP8[$492>>0] = $490; + $$411457 = $$451461;$$411648 = $$451652;$$451036 = $$2986;$$451142 = $491;$$451552 = $$491556;$$46 = $488;$$461249 = $$501253;$$461355 = $487; + label = 105; + break; + } + $493 = ($$2986|0)!=(16); + $494 = ($$491146|0)!=(0); + $or$cond24 = $494 | $493; + if (!($or$cond24)) { + $$461462 = $$451461;$$461653 = $$451652;$$491040 = $$2986;$$501147 = $$491146;$$501557 = $$491556;$$51 = $488;$$511254 = $$501253;$$511360 = $487; + label = 125; + continue L46; + } + $495 = (($$2986) + -16)|0; + $496 = (11056 + ($495)|0); + $497 = HEAP8[$496>>0]|0; + $498 = $497 << 24 >> 24; + $499 = ($488>>>0)<($498>>>0); + if ($499) { + $$471463 = $$451461;$$471654 = $$451652;$$501041 = $$2986;$$511148 = $$491146;$$511558 = $$491556;$$52 = $488;$$521255 = $498;$$521361 = $487; + label = 127; + continue L125; + } else { + $$501466 = $$451461;$$501657 = $$451652;$$531044 = $$2986;$$541151 = $$491146;$$541561 = $$491556;$$55 = $488;$$551258 = $498;$$551364 = $487; + label = 132; + continue L125; + } + break; + } + case 127: { + label = 0; + $500 = ($$511558>>>0)<($10>>>0); + if ($500) { + $$491465$ph = $$471463;$$491656$ph = $$471654;$$521043$ph = $$501041;$$531150$ph = $$511148;$$54$ph = $$52;$$541257$ph = $$521255;$$541363$ph = $$521361;$$sink1732 = $$511558; + label = 130; + continue L46; + } else { + $$481464 = $$471463;$$481655 = $$471654;$$511042 = $$501041;$$521149 = $$511148;$$521559 = $$511558;$$53 = $$52;$$531256 = $$521255;$$531362 = $$521361; + label = 128; + continue L46; + } + break; + } + case 132: { + label = 0; + $510 = 1 << $$551258; + $511 = (($510) + -1)|0; + $512 = $511 & $$551364; + $513 = $$551364 >>> $$551258; + $514 = (($$55) - ($$551258))|0; + $515 = (($$531044) + -16)|0; + $516 = (11060 + ($515)|0); + $517 = HEAP8[$516>>0]|0; + $518 = $517 << 24 >> 24; + $519 = (($518) + ($512))|0; + $520 = (((($0)) + 10532|0) + ($$541151)|0); + $521 = ($$531044|0)==(16); + if ($521) { + $522 = (($$541151) + -1)|0; + $523 = (((($0)) + 10532|0) + ($522)|0); + $524 = HEAP8[$523>>0]|0; + $525 = $524&255; + $527 = $525; + } else { + $527 = 0; + } + $526 = $527&255; + _memset(($520|0),($526|0),($519|0))|0; + $528 = (($519) + ($$541151))|0; + $$411457 = $$501466;$$411648 = $$501657;$$451036 = $$531044;$$451142 = $528;$$451552 = $$541561;$$46 = $514;$$461249 = $$551258;$$461355 = $513; + label = 105; + break; + } + case 140: { + label = 0; + $539 = $10; + $540 = $$581565$ph; + $541 = (($539) - ($540))|0; + $542 = ($541|0)<(4); + $543 = ($$59$ph>>>0)<(15); + L241: do { + if ($542) { + $$541661$lcssa = $$541661$ph;$$581155$lcssa = $$581155$ph;$$581565$lcssa = $$581565$ph;$$59$lcssa = $$59$ph;$$591368$lcssa = $$591368$ph;$$lcssa1799 = $543;$$lcssa1802 = $541; + } else { + $544 = $12; + $$5416611868 = $$541661$ph;$$5811551871 = $$581155$ph;$$5815651869 = $$581565$ph;$$5913681870 = $$591368$ph;$$591872 = $$59$ph;$965 = $543;$966 = $541; + while(1) { + $545 = $$5416611868; + $546 = (($544) - ($545))|0; + $547 = ($546|0)<(2); + if ($547) { + $$541661$lcssa = $$5416611868;$$581155$lcssa = $$5811551871;$$581565$lcssa = $$5815651869;$$59$lcssa = $$591872;$$591368$lcssa = $$5913681870;$$lcssa1799 = $965;$$lcssa1802 = $966; + break L241; + } + if ($965) { + $613 = HEAP8[$$5815651869>>0]|0; + $614 = $613&255; + $615 = ((($$5815651869)) + 1|0); + $616 = HEAP8[$615>>0]|0; + $617 = $616&255; + $618 = $617 << 8; + $619 = $618 | $614; + $620 = $619 << $$591872; + $621 = $620 | $$5913681870; + $622 = ((($$5815651869)) + 2|0); + $623 = (($$591872) + 16)|0; + $$641571 = $622;$$65 = $623;$$651374 = $621; + } else { + $$641571 = $$5815651869;$$65 = $$591872;$$651374 = $$5913681870; + } + $624 = $$651374 & 1023; + $625 = (((($0)) + 352|0) + ($624<<1)|0); + $626 = HEAP16[$625>>1]|0; + $627 = $626 << 16 >> 16; + $628 = ($626<<16>>16)>(-1); + if ($628) { + $629 = $627 >> 9; + $$1964 = $629;$$1968 = $627; + } else { + $$0963 = 10;$$0967 = $627; + while(1) { + $630 = $$0967 ^ -1; + $631 = (($$0963) + 1)|0; + $632 = $$651374 >>> $$0963; + $633 = $632 & 1; + $634 = (($633) + ($630))|0; + $635 = (((($0)) + 2400|0) + ($634<<1)|0); + $636 = HEAP16[$635>>1]|0; + $637 = $636 << 16 >> 16; + $638 = ($636<<16>>16)<(0); + if ($638) { + $$0963 = $631;$$0967 = $637; + } else { + $$1964 = $631;$$1968 = $637; + break; + } + } + } + $639 = $$651374 >>> $$1964; + $640 = (($$65) - ($$1964))|0; + $641 = $$1968 & 256; + $642 = ($641|0)==(0); + if (!($642)) { + $$601476 = $$541470$ph;$$611668 = $$5416611868;$$631054 = $$571048$ph;$$641161 = $$1968;$$651268 = $$591262$ph;$$671574 = $$641571;$$68 = $640;$$681377 = $639; + label = 176; + break L126; + } + $643 = ($640>>>0)<(15); + if ($643) { + $644 = HEAP8[$$641571>>0]|0; + $645 = $644&255; + $646 = ((($$641571)) + 1|0); + $647 = HEAP8[$646>>0]|0; + $648 = $647&255; + $649 = $648 << 8; + $650 = $649 | $645; + $651 = $650 << $640; + $652 = $651 | $639; + $653 = ((($$641571)) + 2|0); + $654 = (($640) + 16)|0; + $$651572 = $653;$$66 = $654;$$661375 = $652; + } else { + $$651572 = $$641571;$$66 = $640;$$661375 = $639; + } + $655 = $$661375 & 1023; + $656 = (((($0)) + 352|0) + ($655<<1)|0); + $657 = HEAP16[$656>>1]|0; + $658 = $657 << 16 >> 16; + $659 = ($657<<16>>16)>(-1); + if ($659) { + $660 = $658 >> 9; + $$3966 = $660;$$3970 = $658; + } else { + $$2965 = 10;$$2969 = $658; + while(1) { + $661 = $$2969 ^ -1; + $662 = (($$2965) + 1)|0; + $663 = $$661375 >>> $$2965; + $664 = $663 & 1; + $665 = (($664) + ($661))|0; + $666 = (((($0)) + 2400|0) + ($665<<1)|0); + $667 = HEAP16[$666>>1]|0; + $668 = $667 << 16 >> 16; + $669 = ($667<<16>>16)<(0); + if ($669) { + $$2965 = $662;$$2969 = $668; + } else { + $$3966 = $662;$$3970 = $668; + break; + } + } + } + $670 = $$661375 >>> $$3966; + $671 = (($$66) - ($$3966))|0; + $672 = $$1968&255; + HEAP8[$$5416611868>>0] = $672; + $673 = $$3970 & 256; + $674 = ($673|0)==(0); + if (!($674)) { + break; + } + $676 = $$3970&255; + $677 = ((($$5416611868)) + 1|0); + HEAP8[$677>>0] = $676; + $678 = ((($$5416611868)) + 2|0); + $679 = $$651572; + $680 = (($539) - ($679))|0; + $681 = ($680|0)<(4); + $682 = ($671>>>0)<(15); + if ($681) { + $$541661$lcssa = $678;$$581155$lcssa = $$1968;$$581565$lcssa = $$651572;$$59$lcssa = $671;$$591368$lcssa = $670;$$lcssa1799 = $682;$$lcssa1802 = $680; + break L241; + } else { + $$5416611868 = $678;$$5811551871 = $$1968;$$5815651869 = $$651572;$$5913681870 = $670;$$591872 = $671;$965 = $682;$966 = $680; + } + } + $675 = ((($$5416611868)) + 1|0); + $$601476 = $$541470$ph;$$611668 = $675;$$631054 = $$571048$ph;$$641161 = $$3970;$$651268 = $$591262$ph;$$671574 = $$651572;$$68 = $671;$$681377 = $670; + label = 176; + break L126; + } + } while(0); + if (!($$lcssa1799)) { + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $$581565$lcssa;$$63 = $$59$lcssa;$$631266 = $$591262$ph;$$631372 = $$591368$lcssa; + label = 156; + continue L125; + } + $548 = ($$lcssa1802|0)<(2); + if ($548) { + $$551471 = $$541470$ph;$$551662 = $$541661$lcssa;$$581049 = $$571048$ph;$$591156 = $$581155$lcssa;$$591566 = $$581565$lcssa;$$60 = $$59$lcssa;$$601263 = $$591262$ph;$$601369 = $$591368$lcssa; + label = 145; + continue L125; + } + $579 = HEAP8[$$581565$lcssa>>0]|0; + $580 = $579&255; + $581 = $580 << $$59$lcssa; + $582 = ((($$581565$lcssa)) + 1|0); + $583 = HEAP8[$582>>0]|0; + $584 = $583&255; + $585 = (($$59$lcssa) + 8)|0; + $586 = $584 << $585; + $587 = $581 | $$591368$lcssa; + $588 = $587 | $586; + $589 = ((($$581565$lcssa)) + 2|0); + $590 = (($$59$lcssa) + 16)|0; + $$581474 = $$541470$ph;$$581665 = $$541661$lcssa;$$611052 = $$571048$ph;$$621569 = $589;$$63 = $590;$$631266 = $$591262$ph;$$631372 = $588; + label = 156; + continue L125; + break; + } + case 145: { + label = 0; + $549 = $$601369 & 1023; + $550 = (((($0)) + 352|0) + ($549<<1)|0); + $551 = HEAP16[$550>>1]|0; + $552 = $551 << 16 >> 16; + $553 = ($551<<16>>16)>(-1); + if ($553) { + $554 = $552 >> 9; + $555 = (($554) + -1)|0; + $556 = ($555>>>0)<($$60>>>0); + if ($556) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } else { + label = 150; + break L125; + } + } + $557 = ($$60>>>0)>(10); + if ($557) { + $$0972 = 10;$$0975 = $552; + } else { + label = 150; + break L125; + } + while(1) { + $558 = $$0975 ^ -1; + $559 = $$601369 >>> $$0972; + $560 = $559 & 1; + $561 = (($560) + ($558))|0; + $562 = (((($0)) + 2400|0) + ($561<<1)|0); + $563 = HEAP16[$562>>1]|0; + $564 = ($563<<16>>16)<(0); + if (!($564)) { + $$581474 = $$551471;$$581665 = $$551662;$$611052 = $$581049;$$621569 = $$591566;$$63 = $$60;$$631266 = $$601263;$$631372 = $$601369; + label = 156; + continue L125; + } + $565 = (($$0972) + 1)|0; + $566 = $563 << 16 >> 16; + $567 = (($$0972) + 2)|0; + $568 = ($$60>>>0)<($567>>>0); + if ($568) { + label = 150; + break L125; + } else { + $$0972 = $565;$$0975 = $566; + } + } + break; + } + case 156: { + label = 0; + $591 = $$631372 & 1023; + $592 = (((($0)) + 352|0) + ($591<<1)|0); + $593 = HEAP16[$592>>1]|0; + $594 = $593 << 16 >> 16; + $595 = ($593<<16>>16)>(-1); + if ($595) { + $596 = $594 >> 9; + $597 = $594 & 511; + $$2974 = $596;$$2977 = $597; + } else { + $$1973 = 10;$$1976 = $594; + while(1) { + $598 = $$1976 ^ -1; + $599 = (($$1973) + 1)|0; + $600 = $$631372 >>> $$1973; + $601 = $600 & 1; + $602 = (($601) + ($598))|0; + $603 = (((($0)) + 2400|0) + ($602<<1)|0); + $604 = HEAP16[$603>>1]|0; + $605 = $604 << 16 >> 16; + $606 = ($604<<16>>16)<(0); + if ($606) { + $$1973 = $599;$$1976 = $605; + } else { + $$2974 = $599;$$2977 = $605; + break; + } + } + } + $607 = $$631372 >>> $$2974; + $608 = (($$63) - ($$2974))|0; + $609 = ($$2977>>>0)>(255); + if ($609) { + $$601476 = $$581474;$$611668 = $$581665;$$631054 = $$611052;$$641161 = $$2977;$$651268 = $$631266;$$671574 = $$621569;$$68 = $608;$$681377 = $607; + label = 176; + } else { + $$591475 = $$581474;$$591666 = $$581665;$$621053 = $$611052;$$621159 = $$2977;$$631570 = $$621569;$$64 = $608;$$641267 = $$631266;$$641373 = $607; + label = 160; + continue L46; + } + break; + } + case 179: { + label = 0; + $693 = ($$681575>>>0)<($10>>>0); + if ($693) { + $$631479$ph = $$611477;$$641671$ph = $$621669;$$661057$ph = $$641055;$$671164$ph = $$651162;$$681271$ph = $$661269;$$71$ph = $$69;$$711380$ph = $$691378;$$sink1739 = $$681575; + label = 182; + continue L46; + } else { + $$621478 = $$611477;$$631670 = $$621669;$$651056 = $$641055;$$661163 = $$651162;$$671270 = $$661269;$$691576 = $$681575;$$70 = $$69;$$701379 = $$691378; + label = 180; + continue L46; + } + break; + } + case 184: { + label = 0; + $703 = 1 << $$691272; + $704 = (($703) + -1)|0; + $705 = $704 & $$721381; + $706 = $$721381 >>> $$691272; + $707 = (($$72) - ($$691272))|0; + $708 = (($705) + ($$681165))|0; + $$651481 = $$641480;$$661673 = $$651672;$$681059 = $$671058;$$691166 = $708;$$701273 = $$691272;$$721579 = $$711578;$$73 = $707;$$731382 = $706; + label = 185; + break; + } + case 187: { + label = 0; + $714 = $$741383 & 1023; + $715 = (((($0)) + 3840|0) + ($714<<1)|0); + $716 = HEAP16[$715>>1]|0; + $717 = $716 << 16 >> 16; + $718 = ($716<<16>>16)>(-1); + if ($718) { + $719 = $717 >> 9; + $720 = (($719) + -1)|0; + $721 = ($720>>>0)<($$74>>>0); + if ($721) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } else { + label = 192; + break L125; + } + } + $722 = ($$74>>>0)>(10); + if ($722) { + $$0953 = 10;$$0956 = $717; + } else { + label = 192; + break L125; + } + while(1) { + $723 = $$0956 ^ -1; + $724 = $$741383 >>> $$0953; + $725 = $724 & 1; + $726 = (($725) + ($723))|0; + $727 = (((($0)) + 5888|0) + ($726<<1)|0); + $728 = HEAP16[$727>>1]|0; + $729 = ($728<<16>>16)<(0); + if (!($729)) { + $$691485 = $$661482;$$701677 = $$671674;$$731170 = $$701167;$$761583 = $$731580;$$77 = $$74;$$771386 = $$741383; + label = 198; + continue L125; + } + $730 = (($$0953) + 1)|0; + $731 = $728 << 16 >> 16; + $732 = (($$0953) + 2)|0; + $733 = ($$74>>>0)<($732>>>0); + if ($733) { + label = 192; + break L125; + } else { + $$0953 = $730;$$0956 = $731; + } + } + break; + } + case 198: { + label = 0; + $756 = $$771386 & 1023; + $757 = (((($0)) + 3840|0) + ($756<<1)|0); + $758 = HEAP16[$757>>1]|0; + $759 = $758 << 16 >> 16; + $760 = ($758<<16>>16)>(-1); + if ($760) { + $761 = $759 >> 9; + $762 = $759 & 511; + $$2955 = $761;$$2958 = $762; + } else { + $$1954 = 10;$$1957 = $759; + while(1) { + $763 = $$1957 ^ -1; + $764 = (($$1954) + 1)|0; + $765 = $$771386 >>> $$1954; + $766 = $765 & 1; + $767 = (($766) + ($763))|0; + $768 = (((($0)) + 5888|0) + ($767<<1)|0); + $769 = HEAP16[$768>>1]|0; + $770 = $769 << 16 >> 16; + $771 = ($769<<16>>16)<(0); + if ($771) { + $$1954 = $764;$$1957 = $770; + } else { + $$2955 = $764;$$2958 = $770; + break; + } + } + } + $772 = $$771386 >>> $$2955; + $773 = (($$77) - ($$2955))|0; + $774 = (3368 + ($$2958<<2)|0); + $775 = HEAP32[$774>>2]|0; + $776 = (3496 + ($$2958<<2)|0); + $777 = HEAP32[$776>>2]|0; + $778 = (($$2958) + -4)|0; + $779 = ($778>>>0)<(26); + if ($779) { + $780 = ($773>>>0)<($775>>>0); + if ($780) { + $$701486 = $$691485;$$711678 = $$701677;$$721063 = $777;$$741171 = $$731170;$$741277 = $775;$$771584 = $$761583;$$78 = $773;$$781387 = $772; + label = 203; + continue L125; + } else { + $$741681 = $$701677;$$751066 = $777;$$771174 = $$731170;$$771280 = $775;$$801587 = $$761583;$$81 = $773;$$811390 = $772; + label = 208; + continue L125; + } + } else { + $$751682 = $$701677;$$761067 = $777;$$781175 = $$731170;$$781281 = $775;$$811588 = $$761583;$$82 = $773;$$821391 = $772; + label = 209; + } + break; + } + case 203: { + label = 0; + $781 = ($$771584>>>0)<($10>>>0); + if ($781) { + $$721488$ph = $$701486;$$731680$ph = $$711678;$$741065$ph = $$721063;$$761173$ph = $$741171;$$761279$ph = $$741277;$$80$ph = $$78;$$801389$ph = $$781387;$$sink1746 = $$771584; + label = 206; + continue L46; + } else { + $$711487 = $$701486;$$721679 = $$711678;$$731064 = $$721063;$$751172 = $$741171;$$751278 = $$741277;$$781585 = $$771584;$$79 = $$78;$$791388 = $$781387; + label = 204; + continue L46; + } + break; + } + case 208: { + label = 0; + $791 = 1 << $$771280; + $792 = (($791) + -1)|0; + $793 = $792 & $$811390; + $794 = $$811390 >>> $$771280; + $795 = (($$81) - ($$771280))|0; + $796 = (($793) + ($$751066))|0; + $$751682 = $$741681;$$761067 = $796;$$781175 = $$771174;$$781281 = $$771280;$$811588 = $$801587;$$82 = $795;$$821391 = $794; + label = 209; + break; + } + case 212: { + label = 0; + $807 = (($$801177) + -1)|0; + $808 = ($$801177|0)==(0); + if ($808) { + $$531469 = $$741490;$$531660 = $$771684;$$561047 = $$781069;$$571154 = $807;$$571564 = $$831590;$$58 = $$84;$$581261 = $$801283;$$581367 = $$841393; + label = 139; + } else { + $$751491 = $$741490;$$781685 = $$771684;$$791070 = $$781069;$$811178 = $807;$$811284 = $$801283;$$841591 = $$831590;$$85 = $$84;$$851394 = $$841393; + label = 213; + continue L46; + } + break; + } + } + do { + if ((label|0) == 70) { + label = 0; + $217 = ((($0)) + 52|0); + $218 = HEAP32[$217>>2]|0; + $219 = ($$381135>>>0)<($218>>>0); + if ($219) { + $220 = ($$39>>>0)<(3); + if ($220) { + $$351451 = $$341450;$$351642 = $$341641;$$391030 = $$381029;$$391136 = $$381135;$$391546 = $$381545;$$40 = $$39;$$401243 = $$391242;$$401349 = $$391348; + label = 72; + continue L125; + } else { + $$381454 = $$341450;$$381645 = $$341641;$$421033 = $$381029;$$421139 = $$381135;$$421549 = $$381545;$$43 = $$39;$$431246 = $$391242;$$431352 = $$391348; + label = 77; + continue L125; + } + } else { + HEAP32[$217>>2] = 19; + $$391455 = $$341450;$$391646 = $$341641;$$431034 = $$381029;$$431140 = $$381135;$$431550 = $$381545;$$44 = $$39;$$441247 = $$391242;$$441353 = $$391348; + label = 80; + continue L125; + } + } + else if ((label|0) == 105) { + label = 0; + $418 = ((($0)) + 44|0); + $419 = HEAP32[$418>>2]|0; + $420 = ((($0)) + 48|0); + $421 = HEAP32[$420>>2]|0; + $422 = (($421) + ($419))|0; + $423 = ($$451142>>>0)<($422>>>0); + if (!($423)) { + $529 = ($422|0)==($$451142|0); + if (!($529)) { + $$511467 = $$411457;$$511658 = $$411648;$$541045 = $$451036;$$551152 = $$451142;$$551562 = $$451552;$$56 = $$46;$$561259 = $$461249;$$561365 = $$461355; + label = 136; + continue L46; + } + $530 = ((($0)) + 64|0); + $531 = ((($0)) + 10532|0); + _memcpy(($530|0),($531|0),($419|0))|0; + $532 = ((($0)) + 3552|0); + $533 = HEAP32[$418>>2]|0; + $534 = (((($0)) + 10532|0) + ($533)|0); + $535 = HEAP32[$420>>2]|0; + _memcpy(($532|0),($534|0),($535|0))|0; + $$521468 = $$411457;$$521659 = $$411648;$$551046 = $$451036;$$561153 = $$451142;$$561563 = $$451552;$$57 = $$46;$$571260 = $$461249;$$571366 = $$461355; + label = 138; + break; + } + $424 = ($$46>>>0)<(15); + if (!($424)) { + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $$451552;$$50 = $$46;$$501253 = $$461249;$$501359 = $$461355; + label = 119; + continue L125; + } + $425 = $10; + $426 = $$451552; + $427 = (($425) - ($426))|0; + $428 = ($427|0)<(2); + if ($428) { + $$421458 = $$411457;$$421649 = $$411648;$$461037 = $$451036;$$461143 = $$451142;$$461553 = $$451552;$$47 = $$46;$$471250 = $$461249;$$471356 = $$461355; + label = 108; + continue L125; + } + $459 = HEAP8[$$451552>>0]|0; + $460 = $459&255; + $461 = $460 << $$46; + $462 = ((($$451552)) + 1|0); + $463 = HEAP8[$462>>0]|0; + $464 = $463&255; + $465 = (($$46) + 8)|0; + $466 = $464 << $465; + $467 = $461 | $$461355; + $468 = $467 | $466; + $469 = ((($$451552)) + 2|0); + $470 = (($$46) + 16)|0; + $$451461 = $$411457;$$451652 = $$411648;$$491146 = $$451142;$$491556 = $469;$$50 = $470;$$501253 = $$461249;$$501359 = $468; + label = 119; + continue L125; + } + else if ((label|0) == 176) { + label = 0; + $683 = $$641161 & 511; + $684 = ($683|0)==(256); + if ($684) { + $$761492 = $$601476;$$801071 = $$631054;$$801687 = $$611668;$$821285 = $$651268;$$831180 = 256;$$851592 = $$671574;$$86 = $$68;$$861395 = $$681377; + label = 220; + break L125; + } + $685 = (($683) + -257)|0; + $686 = (3120 + ($685<<2)|0); + $687 = HEAP32[$686>>2]|0; + $688 = (3244 + ($685<<2)|0); + $689 = HEAP32[$688>>2]|0; + $690 = (($683) + -265)|0; + $691 = ($690>>>0)<(20); + if ($691) { + $692 = ($$68>>>0)<($687>>>0); + if ($692) { + $$611477 = $$601476;$$621669 = $$611668;$$641055 = $$631054;$$651162 = $689;$$661269 = $687;$$681575 = $$671574;$$69 = $$68;$$691378 = $$681377; + label = 179; + continue L125; + } else { + $$641480 = $$601476;$$651672 = $$611668;$$671058 = $$631054;$$681165 = $689;$$691272 = $687;$$711578 = $$671574;$$72 = $$68;$$721381 = $$681377; + label = 184; + continue L125; + } + } else { + $$651481 = $$601476;$$661673 = $$611668;$$681059 = $$631054;$$691166 = $689;$$701273 = $687;$$721579 = $$671574;$$73 = $$68;$$731382 = $$681377; + label = 185; + } + } + else if ((label|0) == 209) { + label = 0; + $797 = $$751682; + $798 = $3; + $799 = (($797) - ($798))|0; + $$not = ($799>>>0)>=($$761067>>>0); + $$not1747 = $14 ^ 1; + $brmerge = $$not | $$not1747; + if (!($brmerge)) { + $$731489 = $799;$$761683 = $$751682;$$771068 = $$761067;$$791176 = $$781175;$$791282 = $$781281;$$821589 = $$811588;$$83 = $$82;$$831392 = $$821391; + label = 210; + continue L46; + } + $800 = (($799) - ($$761067))|0; + $801 = $800 & $$1753; + $802 = (($3) + ($801)|0); + $803 = ($$751682>>>0)>($802>>>0); + $804 = $803 ? $$751682 : $802; + $805 = (($804) + ($$781175)|0); + $806 = ($805>>>0)>($12>>>0); + if ($806) { + $$741490 = $799;$$771684 = $$751682;$$781069 = $$761067;$$801177 = $$781175;$$801283 = $$781281;$$831590 = $$811588;$$84 = $$82;$$841393 = $$821391; + label = 212; + continue L125; + } else { + $$0978 = $802;$$791686 = $$751682;$$821179 = $$781175; + } + while(1) { + $816 = HEAP8[$$0978>>0]|0; + HEAP8[$$791686>>0] = $816; + $817 = ((($$0978)) + 1|0); + $818 = HEAP8[$817>>0]|0; + $819 = ((($$791686)) + 1|0); + HEAP8[$819>>0] = $818; + $820 = ((($$0978)) + 2|0); + $821 = HEAP8[$820>>0]|0; + $822 = ((($$791686)) + 2|0); + HEAP8[$822>>0] = $821; + $823 = ((($$791686)) + 3|0); + $824 = ((($$0978)) + 3|0); + $825 = (($$821179) + -3)|0; + $826 = ($825|0)>(2); + if ($826) { + $$0978 = $824;$$791686 = $823;$$821179 = $825; + } else { + break; + } + } + $827 = ($825|0)>(0); + if ($827) { + $828 = HEAP8[$824>>0]|0; + HEAP8[$823>>0] = $828; + $829 = ($825|0)==(1); + if (!($829)) { + $830 = ((($$0978)) + 4|0); + $831 = HEAP8[$830>>0]|0; + $832 = ((($$791686)) + 4|0); + HEAP8[$832>>0] = $831; + } + $833 = (($823) + ($825)|0); + $$531469 = $799;$$531660 = $833;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } else { + $$531469 = $799;$$531660 = $823;$$561047 = $$761067;$$571154 = $825;$$571564 = $$811588;$$58 = $$82;$$581261 = $$781281;$$581367 = $$821391; + label = 139; + } + } + } while(0); + if ((label|0) == 138) { + label = 0; + $536 = ((($0)) + 24|0); + $537 = HEAP32[$536>>2]|0; + $538 = (($537) + -1)|0; + HEAP32[$536>>2] = $538; + $$391455 = $$521468;$$391646 = $$521659;$$431034 = $$551046;$$431140 = $$561153;$$431550 = $$561563;$$44 = $$57;$$441247 = $$571260;$$441353 = $$571366; + label = 80; + continue; + } + else if ((label|0) == 139) { + label = 0; + $$541470$ph = $$531469;$$541661$ph = $$531660;$$571048$ph = $$561047;$$581155$ph = $$571154;$$581565$ph = $$571564;$$59$ph = $$58;$$591262$ph = $$581261;$$591368$ph = $$581367; + label = 140; + continue; + } + else if ((label|0) == 185) { + label = 0; + $709 = ($$73>>>0)<(15); + if (!($709)) { + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $$721579;$$77 = $$73;$$771386 = $$731382; + label = 198; + continue; + } + $710 = $10; + $711 = $$721579; + $712 = (($710) - ($711))|0; + $713 = ($712|0)<(2); + if ($713) { + $$661482 = $$651481;$$671674 = $$661673;$$691060 = $$681059;$$701167 = $$691166;$$711274 = $$701273;$$731580 = $$721579;$$74 = $$73;$$741383 = $$731382; + label = 187; + continue; + } + $744 = HEAP8[$$721579>>0]|0; + $745 = $744&255; + $746 = $745 << $$73; + $747 = ((($$721579)) + 1|0); + $748 = HEAP8[$747>>0]|0; + $749 = $748&255; + $750 = (($$73) + 8)|0; + $751 = $749 << $750; + $752 = $746 | $$731382; + $753 = $752 | $751; + $754 = ((($$721579)) + 2|0); + $755 = (($$73) + 16)|0; + $$691485 = $$651481;$$701677 = $$661673;$$731170 = $$691166;$$761583 = $754;$$77 = $755;$$771386 = $753; + label = 198; + continue; + } + } + if ((label|0) == 113) { + label = 0; + $449 = ($$461553>>>0)<($10>>>0); + if ($449) { + $$441460$ph = $$421458;$$441651$ph = $$421649;$$481039$ph = $$461037;$$481145$ph = $$461143;$$49$ph = $$47;$$491252$ph = $$471250;$$491358$ph = $$471356;$$sink1729 = $$461553; + label = 116; + continue; + } else { + $$431459 = $$421458;$$431650 = $$421649;$$471038 = $$461037;$$471144 = $$461143;$$471554 = $$461553;$$48 = $$47;$$481251 = $$471250;$$481357 = $$471356; + label = 114; + continue; + } + } + else if ((label|0) == 150) { + label = 0; + $569 = ($$591566>>>0)<($10>>>0); + if ($569) { + $$571473$ph = $$551471;$$571664$ph = $$551662;$$601051$ph = $$581049;$$611158$ph = $$591156;$$62$ph = $$60;$$621265$ph = $$601263;$$621371$ph = $$601369;$$sink1736 = $$591566; + label = 153; + continue; + } else { + $$561472 = $$551471;$$561663 = $$551662;$$591050 = $$581049;$$601157 = $$591156;$$601567 = $$591566;$$61 = $$60;$$611264 = $$601263;$$611370 = $$601369; + label = 151; + continue; + } + } + else if ((label|0) == 192) { + label = 0; + $734 = ($$731580>>>0)<($10>>>0); + if ($734) { + $$681484$ph = $$661482;$$691676$ph = $$671674;$$711062$ph = $$691060;$$721169$ph = $$701167;$$731276$ph = $$711274;$$76$ph = $$74;$$761385$ph = $$741383;$$sink1743 = $$731580; + label = 195; + continue; + } else { + $$671483 = $$661482;$$681675 = $$671674;$$701061 = $$691060;$$711168 = $$701167;$$721275 = $$711274;$$741581 = $$731580;$$75 = $$74;$$751384 = $$741383; + label = 193; + continue; + } + } + else if ((label|0) == 220) { + label = 0; + $834 = ((($0)) + 20|0); + $835 = HEAP32[$834>>2]|0; + $836 = $835 & 1; + $837 = ($836|0)==(0); + if ($837) { + $$01416 = $$761492;$$01607 = $$801687;$$41511 = $$851592;$$5 = $$86;$$51102 = $$831180;$$51208 = $$821285;$$51314 = $$861395;$$5996 = $$801071; + label = 14; + continue; + } + $838 = $6 & 1; + $839 = ($838|0)==(0); + if ($839) { + $$881504 = $$761492;$$921083 = $$801071;$$921699 = $$801687;$$941191 = $$831180;$$941297 = $$821285;$$971604 = $$851592;$$98 = $$86;$$981407 = $$861395; + label = 242; + continue; + } else { + $$801496 = $$761492;$$841075 = $$801071;$$841691 = $$801687;$$861289 = $$821285;$$891596 = $$851592;$$90 = $$86;$$901399 = $$861395; + label = 226; + continue; + } + } + } + if ((label|0) == 258) { + STACKTOP = sp;return ($$0951|0); + } + $892 = ((($0)) + 28|0); + $893 = HEAP32[$892>>2]|0; + $894 = $893 & 65535; + $895 = $893 >>> 16; + $896 = ($888|0)==(0); + if ($896) { + $$0937$lcssa = $895;$$0938$lcssa = $894; + } else { + $897 = (($888>>>0) % 5552)&-1; + $$01834 = $897;$$09371833 = $895;$$09381832 = $894;$$09431831 = $888;$$09441830 = $4; + while(1) { + $898 = ($$01834>>>0)>(7); + if ($898) { + $899 = (($$01834) + -8)|0; + $900 = $899 & -8; + $scevgep = ((($$09441830)) + 8|0); + $$09411816 = 0;$$11818 = $$09371833;$$19391817 = $$09381832;$$19451815 = $$09441830; + while(1) { + $904 = HEAP8[$$19451815>>0]|0; + $905 = $904&255; + $906 = (($905) + ($$19391817))|0; + $907 = (($906) + ($$11818))|0; + $908 = ((($$19451815)) + 1|0); + $909 = HEAP8[$908>>0]|0; + $910 = $909&255; + $911 = (($906) + ($910))|0; + $912 = (($907) + ($911))|0; + $913 = ((($$19451815)) + 2|0); + $914 = HEAP8[$913>>0]|0; + $915 = $914&255; + $916 = (($911) + ($915))|0; + $917 = (($912) + ($916))|0; + $918 = ((($$19451815)) + 3|0); + $919 = HEAP8[$918>>0]|0; + $920 = $919&255; + $921 = (($916) + ($920))|0; + $922 = (($917) + ($921))|0; + $923 = ((($$19451815)) + 4|0); + $924 = HEAP8[$923>>0]|0; + $925 = $924&255; + $926 = (($921) + ($925))|0; + $927 = (($922) + ($926))|0; + $928 = ((($$19451815)) + 5|0); + $929 = HEAP8[$928>>0]|0; + $930 = $929&255; + $931 = (($926) + ($930))|0; + $932 = (($927) + ($931))|0; + $933 = ((($$19451815)) + 6|0); + $934 = HEAP8[$933>>0]|0; + $935 = $934&255; + $936 = (($931) + ($935))|0; + $937 = (($932) + ($936))|0; + $938 = ((($$19451815)) + 7|0); + $939 = HEAP8[$938>>0]|0; + $940 = $939&255; + $941 = (($936) + ($940))|0; + $942 = (($937) + ($941))|0; + $943 = (($$09411816) + 8)|0; + $944 = ((($$19451815)) + 8|0); + $945 = $943 | 7; + $946 = ($945>>>0)<($$01834>>>0); + if ($946) { + $$09411816 = $943;$$11818 = $942;$$19391817 = $941;$$19451815 = $944; + } else { + break; + } + } + $901 = (($900) + 8)|0; + $scevgep1947 = (($scevgep) + ($900)|0); + $$0941$lcssa = $901;$$1$lcssa = $942;$$1939$lcssa = $941;$$1945$lcssa = $scevgep1947; + } else { + $$0941$lcssa = 0;$$1$lcssa = $$09371833;$$1939$lcssa = $$09381832;$$1945$lcssa = $$09441830; + } + $902 = ($$01834>>>0)>($$0941$lcssa>>>0); + if ($902) { + $903 = (($$01834) - ($$0941$lcssa))|0; + $$19421823 = $$0941$lcssa;$$21825 = $$1$lcssa;$$29401824 = $$1939$lcssa;$$29461822 = $$1945$lcssa; + while(1) { + $947 = ((($$29461822)) + 1|0); + $948 = HEAP8[$$29461822>>0]|0; + $949 = $948&255; + $950 = (($949) + ($$29401824))|0; + $951 = (($950) + ($$21825))|0; + $952 = (($$19421823) + 1)|0; + $exitcond = ($952|0)==($$01834|0); + if ($exitcond) { + break; + } else { + $$19421823 = $952;$$21825 = $951;$$29401824 = $950;$$29461822 = $947; + } + } + $scevgep1948 = (($$1945$lcssa) + ($903)|0); + $$2$lcssa = $951;$$2940$lcssa = $950;$$2946$lcssa = $scevgep1948; + } else { + $$2$lcssa = $$1$lcssa;$$2940$lcssa = $$1939$lcssa;$$2946$lcssa = $$1945$lcssa; + } + $953 = (($$2940$lcssa>>>0) % 65521)&-1; + $954 = (($$2$lcssa>>>0) % 65521)&-1; + $955 = (($$09431831) - ($$01834))|0; + $956 = ($955|0)==(0); + if ($956) { + $$0937$lcssa = $954;$$0938$lcssa = $953; + break; + } else { + $$01834 = 5552;$$09371833 = $954;$$09381832 = $953;$$09431831 = $955;$$09441830 = $$2946$lcssa; + } + } + } + $957 = $$0937$lcssa << 16; + $958 = $957 | $$0938$lcssa; + HEAP32[$892>>2] = $958; + $959 = ($$1961|0)!=(0); + $960 = $6 & 1; + $961 = ($960|0)==(0); + $or$cond1752 = $961 | $959; + if ($or$cond1752) { + $$0951 = $$1961; + STACKTOP = sp;return ($$0951|0); + } else { + $962 = ((($0)) + 16|0); + $963 = HEAP32[$962>>2]|0; + $964 = ($958|0)==($963|0); + $$1961$ = $964 ? $$1961 : -2; + STACKTOP = sp;return ($$1961$|0); + } + return (0)|0; +} +function _LoadTexture($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$byval_copy1 = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$5 = 0, $$sroa$5$0$$sroa_idx = 0, $$sroa$5$0$$sroa_idx5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy1 = sp + 60|0; + $vararg_buffer = sp + 16|0; + $$sroa$5 = sp; + $2 = sp + 20|0; + $3 = sp + 40|0; + _LoadImage($2,$1); + $4 = HEAP32[$2>>2]|0; + $5 = ($4|0)==(0|0); + if ($5) { + _TraceLog(2,11064,$vararg_buffer); + $$sroa$0$0 = 0; + } else { + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _LoadTextureFromImage($3,$$byval_copy1); + $$sroa$0$0$copyload = HEAP32[$3>>2]|0; + $$sroa$5$0$$sroa_idx = ((($3)) + 4|0); + ;HEAP32[$$sroa$5>>2]=HEAP32[$$sroa$5$0$$sroa_idx>>2]|0;HEAP32[$$sroa$5+4>>2]=HEAP32[$$sroa$5$0$$sroa_idx+4>>2]|0;HEAP32[$$sroa$5+8>>2]=HEAP32[$$sroa$5$0$$sroa_idx+8>>2]|0;HEAP32[$$sroa$5+12>>2]=HEAP32[$$sroa$5$0$$sroa_idx+12>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; + _UnloadImage($$byval_copy1); + $$sroa$0$0 = $$sroa$0$0$copyload; + } + HEAP32[$0>>2] = $$sroa$0$0; + $$sroa$5$0$$sroa_idx5 = ((($0)) + 4|0); + ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; + STACKTOP = sp;return; +} +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[22448>>2]|0;HEAP32[$0+4>>2]=HEAP32[22448+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[22448+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[22448+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[22448+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[22448+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[22448+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[22448+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} +function _DrawTexturePro($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = +$4; + $5 = $5|0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0.0, $26 = 0.0, $27 = 0, $28 = 0.0, $29 = 0.0; + var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0; + var $50 = 0, $51 = 0.0, $52 = 0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0, $63 = 0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0; + var $69 = 0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0, $73 = 0, $74 = 0, $75 = 0.0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0, $8 = 0, $80 = 0, $81 = 0.0, $82 = 0, $83 = 0.0, $84 = 0, $85 = 0, $86 = 0; + var $87 = 0.0, $88 = 0, $89 = 0.0, $9 = 0, $90 = 0.0, $91 = 0, $92 = 0.0, $93 = 0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $6 = HEAP32[$0>>2]|0; + $7 = ($6|0)==(0); + if ($7) { + return; + } + $8 = ((($1)) + 8|0); + $9 = HEAP32[$8>>2]|0; + $10 = ($9|0)<(0); + if ($10) { + $11 = HEAP32[$1>>2]|0; + $12 = (($11) - ($9))|0; + HEAP32[$1>>2] = $12; + } + $13 = ((($1)) + 12|0); + $14 = HEAP32[$13>>2]|0; + $15 = ($14|0)<(0); + if ($15) { + $16 = ((($1)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($17) - ($14))|0; + HEAP32[$16>>2] = $18; + } + $19 = HEAP32[$0>>2]|0; + _rlEnableTexture($19); + _rlPushMatrix(); + $20 = HEAP32[$2>>2]|0; + $21 = (+($20|0)); + $22 = ((($2)) + 4|0); + $23 = HEAP32[$22>>2]|0; + $24 = (+($23|0)); + _rlTranslatef($21,$24,0.0); + _rlRotatef($4,0.0,0.0,1.0); + $25 = +HEAPF32[$3>>2]; + $26 = -$25; + $27 = ((($3)) + 4|0); + $28 = +HEAPF32[$27>>2]; + $29 = -$28; + _rlTranslatef($26,$29,0.0); + _rlBegin(7); + $30 = HEAP8[$5>>0]|0; + $31 = ((($5)) + 1|0); + $32 = HEAP8[$31>>0]|0; + $33 = ((($5)) + 2|0); + $34 = HEAP8[$33>>0]|0; + $35 = ((($5)) + 3|0); + $36 = HEAP8[$35>>0]|0; + _rlColor4ub($30,$32,$34,$36); + $37 = HEAP32[$1>>2]|0; + $38 = (+($37|0)); + $39 = ((($0)) + 4|0); + $40 = HEAP32[$39>>2]|0; + $41 = (+($40|0)); + $42 = $38 / $41; + $43 = ((($1)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (+($44|0)); + $46 = ((($0)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $45 / $48; + _rlTexCoord2f($42,$49); + _rlVertex2f(0.0,0.0); + $50 = HEAP32[$1>>2]|0; + $51 = (+($50|0)); + $52 = HEAP32[$39>>2]|0; + $53 = (+($52|0)); + $54 = $51 / $53; + $55 = HEAP32[$43>>2]|0; + $56 = HEAP32[$13>>2]|0; + $57 = (($56) + ($55))|0; + $58 = (+($57|0)); + $59 = HEAP32[$46>>2]|0; + $60 = (+($59|0)); + $61 = $58 / $60; + _rlTexCoord2f($54,$61); + $62 = ((($2)) + 12|0); + $63 = HEAP32[$62>>2]|0; + $64 = (+($63|0)); + _rlVertex2f(0.0,$64); + $65 = HEAP32[$1>>2]|0; + $66 = HEAP32[$8>>2]|0; + $67 = (($66) + ($65))|0; + $68 = (+($67|0)); + $69 = HEAP32[$39>>2]|0; + $70 = (+($69|0)); + $71 = $68 / $70; + $72 = HEAP32[$43>>2]|0; + $73 = HEAP32[$13>>2]|0; + $74 = (($73) + ($72))|0; + $75 = (+($74|0)); + $76 = HEAP32[$46>>2]|0; + $77 = (+($76|0)); + $78 = $75 / $77; + _rlTexCoord2f($71,$78); + $79 = ((($2)) + 8|0); + $80 = HEAP32[$79>>2]|0; + $81 = (+($80|0)); + $82 = HEAP32[$62>>2]|0; + $83 = (+($82|0)); + _rlVertex2f($81,$83); + $84 = HEAP32[$1>>2]|0; + $85 = HEAP32[$8>>2]|0; + $86 = (($85) + ($84))|0; + $87 = (+($86|0)); + $88 = HEAP32[$39>>2]|0; + $89 = (+($88|0)); + $90 = $87 / $89; + $91 = HEAP32[$43>>2]|0; + $92 = (+($91|0)); + $93 = HEAP32[$46>>2]|0; + $94 = (+($93|0)); + $95 = $92 / $94; + _rlTexCoord2f($90,$95); + $96 = HEAP32[$79>>2]|0; + $97 = (+($96|0)); + _rlVertex2f($97,0.0); + _rlEnd(); + _rlPopMatrix(); + _rlDisableTexture(); + return; +} +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} +function _emscripten_GetProcAddress($0) { + $0 = $0|0; + var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $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, $311 = 0, $312 = 0, $313 = 0, $314 = 0; + var $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, $33 = 0, $330 = 0, $331 = 0, $332 = 0; + var $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, $348 = 0, $349 = 0, $35 = 0, $350 = 0; + var $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, $366 = 0, $367 = 0, $368 = 0, $369 = 0; + var $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, $384 = 0, $385 = 0, $386 = 0, $387 = 0; + var $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, $401 = 0, $402 = 0, $403 = 0, $404 = 0; + var $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, $42 = 0, $420 = 0, $421 = 0, $422 = 0; + var $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, $438 = 0, $439 = 0, $44 = 0, $440 = 0; + var $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, $456 = 0, $457 = 0, $458 = 0, $459 = 0; + var $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, $474 = 0, $475 = 0, $476 = 0, $477 = 0; + var $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, $492 = 0, $493 = 0, $494 = 0, $495 = 0; + var $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, $51 = 0, $510 = 0, $511 = 0, $512 = 0; + var $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, $528 = 0, $529 = 0, $53 = 0, $530 = 0; + var $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, $546 = 0, $547 = 0, $548 = 0, $549 = 0; + var $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 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; + var $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, $85 = 0, $86 = 0, $87 = 0; + var $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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp + 12|0; + $2 = sp + 8|0; + $3 = sp + 4|0; + $4 = sp; + HEAP32[$2>>2] = $0; + $5 = HEAP32[$2>>2]|0; + $6 = (_strlen($5)|0); + $7 = (($6) + 1)|0; + $8 = (_malloc($7)|0); + HEAP32[$3>>2] = $8; + $9 = HEAP32[$3>>2]|0; + $10 = HEAP32[$2>>2]|0; + (_strcpy($9,$10)|0); + $11 = HEAP32[$3>>2]|0; + $12 = (_strstr($11,11093)|0); + HEAP32[$4>>2] = $12; + $13 = HEAP32[$4>>2]|0; + $14 = ($13|0)!=(0|0); + if ($14) { + $15 = HEAP32[$4>>2]|0; + HEAP8[$15>>0] = 0; + } + $16 = HEAP32[$3>>2]|0; + $17 = (_strstr($16,11097)|0); + HEAP32[$4>>2] = $17; + $18 = HEAP32[$4>>2]|0; + $19 = ($18|0)!=(0|0); + if ($19) { + $20 = HEAP32[$4>>2]|0; + HEAP8[$20>>0] = 0; + } + $21 = HEAP32[$3>>2]|0; + $22 = (_strstr($21,11101)|0); + HEAP32[$4>>2] = $22; + $23 = HEAP32[$4>>2]|0; + $24 = ($23|0)!=(0|0); + if ($24) { + $25 = HEAP32[$4>>2]|0; + HEAP8[$25>>0] = 0; + } + $26 = HEAP32[$3>>2]|0; + $27 = (_strstr($26,11105)|0); + HEAP32[$4>>2] = $27; + $28 = HEAP32[$4>>2]|0; + $29 = ($28|0)!=(0|0); + if ($29) { + $30 = HEAP32[$4>>2]|0; + HEAP8[$30>>0] = 0; + } + $31 = HEAP32[$3>>2]|0; + $32 = (_strcmp($31,11111)|0); + $33 = ($32|0)!=(0); + do { + if ($33) { + $34 = HEAP32[$3>>2]|0; + $35 = (_strcmp($34,11149)|0); + $36 = ($35|0)!=(0); + if (!($36)) { + HEAP32[$3>>2] = 11168; + break; + } + $37 = HEAP32[$3>>2]|0; + $38 = (_strcmp($37,11181)|0); + $39 = ($38|0)!=(0); + if (!($39)) { + HEAP32[$3>>2] = 11202; + break; + } + $40 = HEAP32[$3>>2]|0; + $41 = (_strcmp($40,11217)|0); + $42 = ($41|0)!=(0); + if (!($42)) { + HEAP32[$3>>2] = 11232; + break; + } + $43 = HEAP32[$3>>2]|0; + $44 = (_strcmp($43,11247)|0); + $45 = ($44|0)!=(0); + if (!($45)) { + HEAP32[$3>>2] = 11262; + } + } else { + HEAP32[$3>>2] = 11133; + } + } while(0); + $46 = HEAP32[$3>>2]|0; + $47 = (_strcmp($46,11277)|0); + $48 = ($47|0)!=(0); + do { + if ($48) { + $49 = HEAP32[$3>>2]|0; + $50 = (_strcmp($49,11291)|0); + $51 = ($50|0)!=(0); + if (!($51)) { + HEAP32[$1>>2] = 3; + break; + } + $52 = HEAP32[$3>>2]|0; + $53 = (_strcmp($52,11303)|0); + $54 = ($53|0)!=(0); + if (!($54)) { + HEAP32[$1>>2] = 7; + break; + } + $55 = HEAP32[$3>>2]|0; + $56 = (_strcmp($55,11317)|0); + $57 = ($56|0)!=(0); + if (!($57)) { + HEAP32[$1>>2] = 8; + break; + } + $58 = HEAP32[$3>>2]|0; + $59 = (_strcmp($58,11329)|0); + $60 = ($59|0)!=(0); + if (!($60)) { + HEAP32[$1>>2] = 9; + break; + } + $61 = HEAP32[$3>>2]|0; + $62 = (_strcmp($61,11343)|0); + $63 = ($62|0)!=(0); + if (!($63)) { + HEAP32[$1>>2] = 10; + break; + } + $64 = HEAP32[$3>>2]|0; + $65 = (_strcmp($64,11357)|0); + $66 = ($65|0)!=(0); + if (!($66)) { + HEAP32[$1>>2] = 11; + break; + } + $67 = HEAP32[$3>>2]|0; + $68 = (_strcmp($67,11374)|0); + $69 = ($68|0)!=(0); + if (!($69)) { + HEAP32[$1>>2] = 1; + break; + } + $70 = HEAP32[$3>>2]|0; + $71 = (_strcmp($70,11397)|0); + $72 = ($71|0)!=(0); + if (!($72)) { + HEAP32[$1>>2] = 1; + break; + } + $73 = HEAP32[$3>>2]|0; + $74 = (_strcmp($73,11423)|0); + $75 = ($74|0)!=(0); + if (!($75)) { + HEAP32[$1>>2] = 2; + break; + } + $76 = HEAP32[$3>>2]|0; + $77 = (_strcmp($76,11436)|0); + $78 = ($77|0)!=(0); + if (!($78)) { + HEAP32[$1>>2] = 3; + break; + } + $79 = HEAP32[$3>>2]|0; + $80 = (_strcmp($79,11452)|0); + $81 = ($80|0)!=(0); + if (!($81)) { + HEAP32[$1>>2] = 1; + break; + } + $82 = HEAP32[$3>>2]|0; + $83 = (_strcmp($82,11465)|0); + $84 = ($83|0)!=(0); + if (!($84)) { + HEAP32[$1>>2] = 12; + break; + } + $85 = HEAP32[$3>>2]|0; + $86 = (_strcmp($85,11479)|0); + $87 = ($86|0)!=(0); + if (!($87)) { + HEAP32[$1>>2] = 2; + break; + } + $88 = HEAP32[$3>>2]|0; + $89 = (_strcmp($88,11499)|0); + $90 = ($89|0)!=(0); + if (!($90)) { + HEAP32[$1>>2] = 3; + break; + } + $91 = HEAP32[$3>>2]|0; + $92 = (_strcmp($91,11519)|0); + $93 = ($92|0)!=(0); + if (!($93)) { + HEAP32[$1>>2] = 4; + break; + } + $94 = HEAP32[$3>>2]|0; + $95 = (_strcmp($94,11536)|0); + $96 = ($95|0)!=(0); + if (!($96)) { + HEAP32[$1>>2] = 5; + break; + } + $97 = HEAP32[$3>>2]|0; + $98 = (_strcmp($97,11553)|0); + $99 = ($98|0)!=(0); + if (!($99)) { + HEAP32[$1>>2] = 4; + break; + } + $100 = HEAP32[$3>>2]|0; + $101 = (_strcmp($100,11565)|0); + $102 = ($101|0)!=(0); + if (!($102)) { + HEAP32[$1>>2] = 13; + break; + } + $103 = HEAP32[$3>>2]|0; + $104 = (_strcmp($103,11578)|0); + $105 = ($104|0)!=(0); + if (!($105)) { + HEAP32[$1>>2] = 14; + break; + } + $106 = HEAP32[$3>>2]|0; + $107 = (_strcmp($106,11594)|0); + $108 = ($107|0)!=(0); + if (!($108)) { + HEAP32[$1>>2] = 6; + break; + } + $109 = HEAP32[$3>>2]|0; + $110 = (_strcmp($109,11617)|0); + $111 = ($110|0)!=(0); + if (!($111)) { + HEAP32[$1>>2] = 2; + break; + } + $112 = HEAP32[$3>>2]|0; + $113 = (_strcmp($112,11630)|0); + $114 = ($113|0)!=(0); + if (!($114)) { + HEAP32[$1>>2] = 3; + break; + } + $115 = HEAP32[$3>>2]|0; + $116 = (_strcmp($115,11646)|0); + $117 = ($116|0)!=(0); + if (!($117)) { + HEAP32[$1>>2] = 5; + break; + } + $118 = HEAP32[$3>>2]|0; + $119 = (_strcmp($118,11657)|0); + $120 = ($119|0)!=(0); + if (!($120)) { + HEAP32[$1>>2] = 15; + break; + } + $121 = HEAP32[$3>>2]|0; + $122 = (_strcmp($121,11676)|0); + $123 = ($122|0)!=(0); + if (!($123)) { + HEAP32[$1>>2] = 16; + break; + } + $124 = HEAP32[$3>>2]|0; + $125 = (_strcmp($124,11698)|0); + $126 = ($125|0)!=(0); + if (!($126)) { + HEAP32[$1>>2] = 17; + break; + } + $127 = HEAP32[$3>>2]|0; + $128 = (_strcmp($127,11717)|0); + $129 = ($128|0)!=(0); + if (!($129)) { + HEAP32[$1>>2] = 7; + break; + } + $130 = HEAP32[$3>>2]|0; + $131 = (_strcmp($130,11746)|0); + $132 = ($131|0)!=(0); + if (!($132)) { + HEAP32[$1>>2] = 6; + break; + } + $133 = HEAP32[$3>>2]|0; + $134 = (_strcmp($133,11763)|0); + $135 = ($134|0)!=(0); + if (!($135)) { + HEAP32[$1>>2] = 8; + break; + } + $136 = HEAP32[$3>>2]|0; + $137 = (_strcmp($136,11778)|0); + $138 = ($137|0)!=(0); + if (!($138)) { + HEAP32[$1>>2] = 9; + break; + } + $139 = HEAP32[$3>>2]|0; + $140 = (_strcmp($139,11793)|0); + $141 = ($140|0)!=(0); + if (!($141)) { + HEAP32[$1>>2] = 1; + break; + } + $142 = HEAP32[$3>>2]|0; + $143 = (_strcmp($142,11814)|0); + $144 = ($143|0)!=(0); + if (!($144)) { + HEAP32[$1>>2] = 10; + break; + } + $145 = HEAP32[$3>>2]|0; + $146 = (_strcmp($145,11834)|0); + $147 = ($146|0)!=(0); + if (!($147)) { + HEAP32[$1>>2] = 11; + break; + } + $148 = HEAP32[$3>>2]|0; + $149 = (_strcmp($148,11854)|0); + $150 = ($149|0)!=(0); + if (!($150)) { + HEAP32[$1>>2] = 12; + break; + } + $151 = HEAP32[$3>>2]|0; + $152 = (_strcmp($151,11880)|0); + $153 = ($152|0)!=(0); + if (!($153)) { + HEAP32[$1>>2] = 2; + break; + } + $154 = HEAP32[$3>>2]|0; + $155 = (_strcmp($154,11899)|0); + $156 = ($155|0)!=(0); + if (!($156)) { + HEAP32[$1>>2] = 1; + break; + } + $157 = HEAP32[$3>>2]|0; + $158 = (_strcmp($157,11911)|0); + $159 = ($158|0)!=(0); + if (!($159)) { + HEAP32[$1>>2] = 3; + break; + } + $160 = HEAP32[$3>>2]|0; + $161 = (_strcmp($160,11923)|0); + $162 = ($161|0)!=(0); + if (!($162)) { + HEAP32[$1>>2] = 1; + break; + } + $163 = HEAP32[$3>>2]|0; + $164 = (_strcmp($163,11935)|0); + $165 = ($164|0)!=(0); + if (!($165)) { + HEAP32[$1>>2] = 1; + break; + } + $166 = HEAP32[$3>>2]|0; + $167 = (_strcmp($166,11947)|0); + $168 = ($167|0)!=(0); + if (!($168)) { + HEAP32[$1>>2] = 18; + break; + } + $169 = HEAP32[$3>>2]|0; + $170 = (_strcmp($169,11959)|0); + $171 = ($170|0)!=(0); + if (!($171)) { + HEAP32[$1>>2] = 13; + break; + } + $172 = HEAP32[$3>>2]|0; + $173 = (_strcmp($172,11971)|0); + $174 = ($173|0)!=(0); + if (!($174)) { + HEAP32[$1>>2] = 4; + break; + } + $175 = HEAP32[$3>>2]|0; + $176 = (_strcmp($175,11983)|0); + $177 = ($176|0)!=(0); + if (!($177)) { + HEAP32[$1>>2] = 2; + break; + } + $178 = HEAP32[$3>>2]|0; + $179 = (_strcmp($178,11995)|0); + $180 = ($179|0)!=(0); + if (!($180)) { + HEAP32[$1>>2] = 14; + break; + } + $181 = HEAP32[$3>>2]|0; + $182 = (_strcmp($181,12008)|0); + $183 = ($182|0)!=(0); + if (!($183)) { + HEAP32[$1>>2] = 15; + break; + } + $184 = HEAP32[$3>>2]|0; + $185 = (_strcmp($184,12021)|0); + $186 = ($185|0)!=(0); + if (!($186)) { + HEAP32[$1>>2] = 16; + break; + } + $187 = HEAP32[$3>>2]|0; + $188 = (_strcmp($187,12034)|0); + $189 = ($188|0)!=(0); + if (!($189)) { + HEAP32[$1>>2] = 17; + break; + } + $190 = HEAP32[$3>>2]|0; + $191 = (_strcmp($190,12047)|0); + $192 = ($191|0)!=(0); + if (!($192)) { + HEAP32[$1>>2] = 18; + break; + } + $193 = HEAP32[$3>>2]|0; + $194 = (_strcmp($193,12060)|0); + $195 = ($194|0)!=(0); + if (!($195)) { + HEAP32[$1>>2] = 19; + break; + } + $196 = HEAP32[$3>>2]|0; + $197 = (_strcmp($196,12073)|0); + $198 = ($197|0)!=(0); + if (!($198)) { + HEAP32[$1>>2] = 20; + break; + } + $199 = HEAP32[$3>>2]|0; + $200 = (_strcmp($199,12086)|0); + $201 = ($200|0)!=(0); + if (!($201)) { + HEAP32[$1>>2] = 21; + break; + } + $202 = HEAP32[$3>>2]|0; + $203 = (_strcmp($202,12099)|0); + $204 = ($203|0)!=(0); + if (!($204)) { + HEAP32[$1>>2] = 5; + break; + } + $205 = HEAP32[$3>>2]|0; + $206 = (_strcmp($205,12118)|0); + $207 = ($206|0)!=(0); + if (!($207)) { + HEAP32[$1>>2] = 6; + break; + } + $208 = HEAP32[$3>>2]|0; + $209 = (_strcmp($208,12137)|0); + $210 = ($209|0)!=(0); + if (!($210)) { + HEAP32[$1>>2] = 7; + break; + } + $211 = HEAP32[$3>>2]|0; + $212 = (_strcmp($211,12156)|0); + $213 = ($212|0)!=(0); + if (!($213)) { + HEAP32[$1>>2] = 19; + break; + } + $214 = HEAP32[$3>>2]|0; + $215 = (_strcmp($214,12169)|0); + $216 = ($215|0)!=(0); + if (!($216)) { + HEAP32[$1>>2] = 20; + break; + } + $217 = HEAP32[$3>>2]|0; + $218 = (_strcmp($217,12187)|0); + $219 = ($218|0)!=(0); + if (!($219)) { + HEAP32[$1>>2] = 21; + break; + } + $220 = HEAP32[$3>>2]|0; + $221 = (_strcmp($220,12205)|0); + $222 = ($221|0)!=(0); + if (!($222)) { + HEAP32[$1>>2] = 22; + break; + } + $223 = HEAP32[$3>>2]|0; + $224 = (_strcmp($223,12223)|0); + $225 = ($224|0)!=(0); + if (!($225)) { + HEAP32[$1>>2] = 23; + break; + } + $226 = HEAP32[$3>>2]|0; + $227 = (_strcmp($226,12241)|0); + $228 = ($227|0)!=(0); + if (!($228)) { + HEAP32[$1>>2] = 2; + break; + } + $229 = HEAP32[$3>>2]|0; + $230 = (_strcmp($229,12261)|0); + $231 = ($230|0)!=(0); + if (!($231)) { + HEAP32[$1>>2] = 3; + break; + } + $232 = HEAP32[$3>>2]|0; + $233 = (_strcmp($232,11202)|0); + $234 = ($233|0)!=(0); + if (!($234)) { + HEAP32[$1>>2] = 7; + break; + } + $235 = HEAP32[$3>>2]|0; + $236 = (_strcmp($235,12279)|0); + $237 = ($236|0)!=(0); + if (!($237)) { + HEAP32[$1>>2] = 1; + break; + } + $238 = HEAP32[$3>>2]|0; + $239 = (_strcmp($238,12294)|0); + $240 = ($239|0)!=(0); + if (!($240)) { + HEAP32[$1>>2] = 8; + break; + } + $241 = HEAP32[$3>>2]|0; + $242 = (_strcmp($241,12315)|0); + $243 = ($242|0)!=(0); + if (!($243)) { + HEAP32[$1>>2] = 9; + break; + } + $244 = HEAP32[$3>>2]|0; + $245 = (_strcmp($244,12330)|0); + $246 = ($245|0)!=(0); + if (!($246)) { + HEAP32[$1>>2] = 10; + break; + } + $247 = HEAP32[$3>>2]|0; + $248 = (_strcmp($247,12348)|0); + $249 = ($248|0)!=(0); + if (!($249)) { + HEAP32[$1>>2] = 2; + break; + } + $250 = HEAP32[$3>>2]|0; + $251 = (_strcmp($250,12364)|0); + $252 = ($251|0)!=(0); + if (!($252)) { + HEAP32[$1>>2] = 11; + break; + } + $253 = HEAP32[$3>>2]|0; + $254 = (_strcmp($253,12383)|0); + $255 = ($254|0)!=(0); + if (!($255)) { + HEAP32[$1>>2] = 22; + break; + } + $256 = HEAP32[$3>>2]|0; + $257 = (_strcmp($256,12397)|0); + $258 = ($257|0)!=(0); + if (!($258)) { + HEAP32[$1>>2] = 23; + break; + } + $259 = HEAP32[$3>>2]|0; + $260 = (_strcmp($259,12412)|0); + $261 = ($260|0)!=(0); + if (!($261)) { + HEAP32[$1>>2] = 8; + break; + } + $262 = HEAP32[$3>>2]|0; + $263 = (_strcmp($262,11133)|0); + $264 = ($263|0)!=(0); + if (!($264)) { + HEAP32[$1>>2] = 1; + break; + } + $265 = HEAP32[$3>>2]|0; + $266 = (_strcmp($265,12423)|0); + $267 = ($266|0)!=(0); + if (!($267)) { + HEAP32[$1>>2] = 3; + break; + } + $268 = HEAP32[$3>>2]|0; + $269 = (_strcmp($268,11232)|0); + $270 = ($269|0)!=(0); + if (!($270)) { + HEAP32[$1>>2] = 24; + break; + } + $271 = HEAP32[$3>>2]|0; + $272 = (_strcmp($271,11262)|0); + $273 = ($272|0)!=(0); + if (!($273)) { + HEAP32[$1>>2] = 25; + break; + } + $274 = HEAP32[$3>>2]|0; + $275 = (_strcmp($274,12439)|0); + $276 = ($275|0)!=(0); + if (!($276)) { + HEAP32[$1>>2] = 12; + break; + } + $277 = HEAP32[$3>>2]|0; + $278 = (_strcmp($277,12466)|0); + $279 = ($278|0)!=(0); + if (!($279)) { + HEAP32[$1>>2] = 4; + break; + } + $280 = HEAP32[$3>>2]|0; + $281 = (_strcmp($280,12480)|0); + $282 = ($281|0)!=(0); + if (!($282)) { + HEAP32[$1>>2] = 13; + break; + } + $283 = HEAP32[$3>>2]|0; + $284 = (_strcmp($283,11168)|0); + $285 = ($284|0)!=(0); + if (!($285)) { + HEAP32[$1>>2] = 5; + break; + } + $286 = HEAP32[$3>>2]|0; + $287 = (_strcmp($286,12500)|0); + $288 = ($287|0)!=(0); + if (!($288)) { + HEAP32[$1>>2] = 6; + break; + } + $289 = HEAP32[$3>>2]|0; + $290 = (_strcmp($289,12518)|0); + $291 = ($290|0)!=(0); + if (!($291)) { + HEAP32[$1>>2] = 9; + break; + } + $292 = HEAP32[$3>>2]|0; + $293 = (_strcmp($292,12530)|0); + $294 = ($293|0)!=(0); + if (!($294)) { + HEAP32[$1>>2] = 24; + break; + } + $295 = HEAP32[$3>>2]|0; + $296 = (_strcmp($295,12551)|0); + $297 = ($296|0)!=(0); + if (!($297)) { + HEAP32[$1>>2] = 26; + break; + } + $298 = HEAP32[$3>>2]|0; + $299 = (_strcmp($298,12569)|0); + $300 = ($299|0)!=(0); + if (!($300)) { + HEAP32[$1>>2] = 27; + break; + } + $301 = HEAP32[$3>>2]|0; + $302 = (_strcmp($301,12587)|0); + $303 = ($302|0)!=(0); + if (!($303)) { + HEAP32[$1>>2] = 28; + break; + } + $304 = HEAP32[$3>>2]|0; + $305 = (_strcmp($304,12608)|0); + $306 = ($305|0)!=(0); + if (!($306)) { + HEAP32[$1>>2] = 14; + break; + } + $307 = HEAP32[$3>>2]|0; + $308 = (_strcmp($307,12634)|0); + $309 = ($308|0)!=(0); + if (!($309)) { + HEAP32[$1>>2] = 3; + break; + } + $310 = HEAP32[$3>>2]|0; + $311 = (_strcmp($310,12657)|0); + $312 = ($311|0)!=(0); + if (!($312)) { + HEAP32[$1>>2] = 15; + break; + } + $313 = HEAP32[$3>>2]|0; + $314 = (_strcmp($313,12695)|0); + $315 = ($314|0)!=(0); + if (!($315)) { + HEAP32[$1>>2] = 10; + break; + } + $316 = HEAP32[$3>>2]|0; + $317 = (_strcmp($316,12711)|0); + $318 = ($317|0)!=(0); + if (!($318)) { + HEAP32[$1>>2] = 7; + break; + } + $319 = HEAP32[$3>>2]|0; + $320 = (_strcmp($319,12726)|0); + $321 = ($320|0)!=(0); + if (!($321)) { + HEAP32[$1>>2] = 25; + break; + } + $322 = HEAP32[$3>>2]|0; + $323 = (_strcmp($322,12749)|0); + $324 = ($323|0)!=(0); + if (!($324)) { + HEAP32[$1>>2] = 16; + break; + } + $325 = HEAP32[$3>>2]|0; + $326 = (_strcmp($325,12762)|0); + $327 = ($326|0)!=(0); + if (!($327)) { + HEAP32[$1>>2] = 29; + break; + } + $328 = HEAP32[$3>>2]|0; + $329 = (_strcmp($328,12776)|0); + $330 = ($329|0)!=(0); + if (!($330)) { + HEAP32[$1>>2] = 30; + break; + } + $331 = HEAP32[$3>>2]|0; + $332 = (_strcmp($331,12790)|0); + $333 = ($332|0)!=(0); + if (!($333)) { + HEAP32[$1>>2] = 1; + break; + } + $334 = HEAP32[$3>>2]|0; + $335 = (_strcmp($334,12810)|0); + $336 = ($335|0)!=(0); + if (!($336)) { + HEAP32[$1>>2] = 8; + break; + } + $337 = HEAP32[$3>>2]|0; + $338 = (_strcmp($337,12830)|0); + $339 = ($338|0)!=(0); + if (!($339)) { + HEAP32[$1>>2] = 17; + break; + } + $340 = HEAP32[$3>>2]|0; + $341 = (_strcmp($340,12846)|0); + $342 = ($341|0)!=(0); + if (!($342)) { + HEAP32[$1>>2] = 18; + break; + } + $343 = HEAP32[$3>>2]|0; + $344 = (_strcmp($343,12864)|0); + $345 = ($344|0)!=(0); + if (!($345)) { + HEAP32[$1>>2] = 26; + break; + } + $346 = HEAP32[$3>>2]|0; + $347 = (_strcmp($346,12880)|0); + $348 = ($347|0)!=(0); + if (!($348)) { + HEAP32[$1>>2] = 19; + break; + } + $349 = HEAP32[$3>>2]|0; + $350 = (_strcmp($349,12895)|0); + $351 = ($350|0)!=(0); + if (!($351)) { + HEAP32[$1>>2] = 9; + break; + } + $352 = HEAP32[$3>>2]|0; + $353 = (_strcmp($352,12917)|0); + $354 = ($353|0)!=(0); + if (!($354)) { + HEAP32[$1>>2] = 31; + break; + } + $355 = HEAP32[$3>>2]|0; + $356 = (_strcmp($355,12935)|0); + $357 = ($356|0)!=(0); + if (!($357)) { + HEAP32[$1>>2] = 32; + break; + } + $358 = HEAP32[$3>>2]|0; + $359 = (_strcmp($358,12956)|0); + $360 = ($359|0)!=(0); + if (!($360)) { + HEAP32[$1>>2] = 10; + break; + } + $361 = HEAP32[$3>>2]|0; + $362 = (_strcmp($361,12974)|0); + $363 = ($362|0)!=(0); + if (!($363)) { + HEAP32[$1>>2] = 11; + break; + } + $364 = HEAP32[$3>>2]|0; + $365 = (_strcmp($364,12987)|0); + $366 = ($365|0)!=(0); + if (!($366)) { + HEAP32[$1>>2] = 2; + break; + } + $367 = HEAP32[$3>>2]|0; + $368 = (_strcmp($367,13002)|0); + $369 = ($368|0)!=(0); + if (!($369)) { + HEAP32[$1>>2] = 12; + break; + } + $370 = HEAP32[$3>>2]|0; + $371 = (_strcmp($370,13016)|0); + $372 = ($371|0)!=(0); + if (!($372)) { + HEAP32[$1>>2] = 1; + break; + } + $373 = HEAP32[$3>>2]|0; + $374 = (_strcmp($373,13026)|0); + $375 = ($374|0)!=(0); + if (!($375)) { + HEAP32[$1>>2] = 1; + break; + } + $376 = HEAP32[$3>>2]|0; + $377 = (_strcmp($376,13036)|0); + $378 = ($377|0)!=(0); + if (!($378)) { + HEAP32[$1>>2] = 2; + break; + } + $379 = HEAP32[$3>>2]|0; + $380 = (_strcmp($379,13058)|0); + $381 = ($380|0)!=(0); + if (!($381)) { + HEAP32[$1>>2] = 13; + break; + } + $382 = HEAP32[$3>>2]|0; + $383 = (_strcmp($382,13084)|0); + $384 = ($383|0)!=(0); + if (!($384)) { + HEAP32[$1>>2] = 14; + break; + } + $385 = HEAP32[$3>>2]|0; + $386 = (_strcmp($385,13111)|0); + $387 = ($386|0)!=(0); + if (!($387)) { + HEAP32[$1>>2] = 27; + break; + } + $388 = HEAP32[$3>>2]|0; + $389 = (_strcmp($388,13124)|0); + $390 = ($389|0)!=(0); + if (!($390)) { + HEAP32[$1>>2] = 20; + break; + } + $391 = HEAP32[$3>>2]|0; + $392 = (_strcmp($391,13139)|0); + $393 = ($392|0)!=(0); + if (!($393)) { + HEAP32[$1>>2] = 4; + break; + } + $394 = HEAP32[$3>>2]|0; + $395 = (_strcmp($394,13154)|0); + $396 = ($395|0)!=(0); + if (!($396)) { + HEAP32[$1>>2] = 3; + break; + } + $397 = HEAP32[$3>>2]|0; + $398 = (_strcmp($397,13178)|0); + $399 = ($398|0)!=(0); + if (!($399)) { + HEAP32[$1>>2] = 2; + break; + } + $400 = HEAP32[$3>>2]|0; + $401 = (_strcmp($400,13189)|0); + $402 = ($401|0)!=(0); + if (!($402)) { + HEAP32[$1>>2] = 33; + break; + } + $403 = HEAP32[$3>>2]|0; + $404 = (_strcmp($403,13211)|0); + $405 = ($404|0)!=(0); + if (!($405)) { + HEAP32[$1>>2] = 21; + break; + } + $406 = HEAP32[$3>>2]|0; + $407 = (_strcmp($406,13233)|0); + $408 = ($407|0)!=(0); + if (!($408)) { + HEAP32[$1>>2] = 5; + break; + } + $409 = HEAP32[$3>>2]|0; + $410 = (_strcmp($409,13257)|0); + $411 = ($410|0)!=(0); + if (!($411)) { + HEAP32[$1>>2] = 4; + break; + } + $412 = HEAP32[$3>>2]|0; + $413 = (_strcmp($412,13266)|0); + $414 = ($413|0)!=(0); + if (!($414)) { + HEAP32[$1>>2] = 5; + break; + } + $415 = HEAP32[$3>>2]|0; + $416 = (_strcmp($415,13274)|0); + $417 = ($416|0)!=(0); + if (!($417)) { + HEAP32[$1>>2] = 1; + break; + } + $418 = HEAP32[$3>>2]|0; + $419 = (_strcmp($418,13287)|0); + $420 = ($419|0)!=(0); + if (!($420)) { + HEAP32[$1>>2] = 2; + break; + } + $421 = HEAP32[$3>>2]|0; + $422 = (_strcmp($421,13301)|0); + $423 = ($422|0)!=(0); + if (!($423)) { + HEAP32[$1>>2] = 15; + break; + } + $424 = HEAP32[$3>>2]|0; + $425 = (_strcmp($424,13313)|0); + $426 = ($425|0)!=(0); + if (!($426)) { + HEAP32[$1>>2] = 16; + break; + } + $427 = HEAP32[$3>>2]|0; + $428 = (_strcmp($427,13322)|0); + $429 = ($428|0)!=(0); + if (!($429)) { + HEAP32[$1>>2] = 17; + break; + } + $430 = HEAP32[$3>>2]|0; + $431 = (_strcmp($430,13332)|0); + $432 = ($431|0)!=(0); + if (!($432)) { + HEAP32[$1>>2] = 18; + break; + } + $433 = HEAP32[$3>>2]|0; + $434 = (_strcmp($433,13344)|0); + $435 = ($434|0)!=(0); + if (!($435)) { + HEAP32[$1>>2] = 19; + break; + } + $436 = HEAP32[$3>>2]|0; + $437 = (_strcmp($436,13355)|0); + $438 = ($437|0)!=(0); + if (!($438)) { + HEAP32[$1>>2] = 20; + break; + } + $439 = HEAP32[$3>>2]|0; + $440 = (_strcmp($439,13363)|0); + $441 = ($440|0)!=(0); + if (!($441)) { + HEAP32[$1>>2] = 3; + break; + } + $442 = HEAP32[$3>>2]|0; + $443 = (_strcmp($442,13375)|0); + $444 = ($443|0)!=(0); + if (!($444)) { + HEAP32[$1>>2] = 21; + break; + } + $445 = HEAP32[$3>>2]|0; + $446 = (_strcmp($445,13390)|0); + $447 = ($446|0)!=(0); + if (!($447)) { + HEAP32[$1>>2] = 22; + break; + } + $448 = HEAP32[$3>>2]|0; + $449 = (_strcmp($448,13402)|0); + $450 = ($449|0)!=(0); + if (!($450)) { + HEAP32[$1>>2] = 23; + break; + } + $451 = HEAP32[$3>>2]|0; + $452 = (_strcmp($451,13416)|0); + $453 = ($452|0)!=(0); + if (!($453)) { + HEAP32[$1>>2] = 11; + break; + } + $454 = HEAP32[$3>>2]|0; + $455 = (_strcmp($454,13441)|0); + $456 = ($455|0)!=(0); + if (!($456)) { + HEAP32[$1>>2] = 24; + break; + } + $457 = HEAP32[$3>>2]|0; + $458 = (_strcmp($457,13458)|0); + $459 = ($458|0)!=(0); + if (!($459)) { + HEAP32[$1>>2] = 25; + break; + } + $460 = HEAP32[$3>>2]|0; + $461 = (_strcmp($460,13474)|0); + $462 = ($461|0)!=(0); + if (!($462)) { + HEAP32[$1>>2] = 26; + break; + } + $463 = HEAP32[$3>>2]|0; + $464 = (_strcmp($463,13490)|0); + $465 = ($464|0)!=(0); + if (!($465)) { + HEAP32[$1>>2] = 12; + break; + } + $466 = HEAP32[$3>>2]|0; + $467 = (_strcmp($466,13502)|0); + $468 = ($467|0)!=(0); + if (!($468)) { + HEAP32[$1>>2] = 34; + break; + } + $469 = HEAP32[$3>>2]|0; + $470 = (_strcmp($469,13514)|0); + $471 = ($470|0)!=(0); + if (!($471)) { + HEAP32[$1>>2] = 35; + break; + } + $472 = HEAP32[$3>>2]|0; + $473 = (_strcmp($472,13538)|0); + $474 = ($473|0)!=(0); + if (!($474)) { + HEAP32[$1>>2] = 1; + break; + } + $475 = HEAP32[$3>>2]|0; + $476 = (_strcmp($475,13551)|0); + $477 = ($476|0)!=(0); + if (!($477)) { + HEAP32[$1>>2] = 2; + break; + } + $478 = HEAP32[$3>>2]|0; + $479 = (_strcmp($478,13565)|0); + $480 = ($479|0)!=(0); + if (!($480)) { + HEAP32[$1>>2] = 36; + break; + } + $481 = HEAP32[$3>>2]|0; + $482 = (_strcmp($481,13587)|0); + $483 = ($482|0)!=(0); + if (!($483)) { + HEAP32[$1>>2] = 37; + break; + } + $484 = HEAP32[$3>>2]|0; + $485 = (_strcmp($484,13594)|0); + $486 = ($485|0)!=(0); + if (!($486)) { + HEAP32[$1>>2] = 3; + break; + } + $487 = HEAP32[$3>>2]|0; + $488 = (_strcmp($487,13610)|0); + $489 = ($488|0)!=(0); + if (!($489)) { + HEAP32[$1>>2] = 2; + break; + } + $490 = HEAP32[$3>>2]|0; + $491 = (_strcmp($490,13627)|0); + $492 = ($491|0)!=(0); + if (!($492)) { + HEAP32[$1>>2] = 1; + break; + } + $493 = HEAP32[$3>>2]|0; + $494 = (_strcmp($493,13644)|0); + $495 = ($494|0)!=(0); + if (!($495)) { + HEAP32[$1>>2] = 28; + break; + } + $496 = HEAP32[$3>>2]|0; + $497 = (_strcmp($496,13660)|0); + $498 = ($497|0)!=(0); + if (!($498)) { + HEAP32[$1>>2] = 1; + break; + } + $499 = HEAP32[$3>>2]|0; + $500 = (_strcmp($499,13676)|0); + $501 = ($500|0)!=(0); + if (!($501)) { + HEAP32[$1>>2] = 4; + break; + } + $502 = HEAP32[$3>>2]|0; + $503 = (_strcmp($502,13693)|0); + $504 = ($503|0)!=(0); + if (!($504)) { + HEAP32[$1>>2] = 29; + break; + } + $505 = HEAP32[$3>>2]|0; + $506 = (_strcmp($505,13707)|0); + $507 = ($506|0)!=(0); + if (!($507)) { + HEAP32[$1>>2] = 30; + break; + } + $508 = HEAP32[$3>>2]|0; + $509 = (_strcmp($508,13719)|0); + $510 = ($509|0)!=(0); + if (!($510)) { + HEAP32[$1>>2] = 22; + break; + } + $511 = HEAP32[$3>>2]|0; + $512 = (_strcmp($511,13730)|0); + $513 = ($512|0)!=(0); + if (!($513)) { + HEAP32[$1>>2] = 2; + break; + } + $514 = HEAP32[$3>>2]|0; + $515 = (_strcmp($514,13743)|0); + $516 = ($515|0)!=(0); + if (!($516)) { + HEAP32[$1>>2] = 23; + break; + } + $517 = HEAP32[$3>>2]|0; + $518 = (_strcmp($517,13753)|0); + $519 = ($518|0)!=(0); + if (!($519)) { + HEAP32[$1>>2] = 2; + break; + } + $520 = HEAP32[$3>>2]|0; + $521 = (_strcmp($520,13770)|0); + $522 = ($521|0)!=(0); + if (!($522)) { + HEAP32[$1>>2] = 24; + break; + } + $523 = HEAP32[$3>>2]|0; + $524 = (_strcmp($523,13782)|0); + $525 = ($524|0)!=(0); + if (!($525)) { + HEAP32[$1>>2] = 25; + break; + } + $526 = HEAP32[$3>>2]|0; + $527 = (_strcmp($526,13804)|0); + $528 = ($527|0)!=(0); + if (!($528)) { + HEAP32[$1>>2] = 26; + break; + } + $529 = HEAP32[$3>>2]|0; + $530 = (_strcmp($529,13824)|0); + $531 = ($530|0)!=(0); + if (!($531)) { + HEAP32[$1>>2] = 3; + break; + } + $532 = HEAP32[$3>>2]|0; + $533 = (_strcmp($532,13837)|0); + $534 = ($533|0)!=(0); + if (!($534)) { + HEAP32[$1>>2] = 27; + break; + } + $535 = HEAP32[$3>>2]|0; + $536 = (_strcmp($535,13859)|0); + $537 = ($536|0)!=(0); + if (!($537)) { + HEAP32[$1>>2] = 28; + break; + } + $538 = HEAP32[$3>>2]|0; + $539 = (_strcmp($538,13879)|0); + $540 = ($539|0)!=(0); + if (!($540)) { + HEAP32[$1>>2] = 2; + break; + } + $541 = HEAP32[$3>>2]|0; + $542 = (_strcmp($541,13896)|0); + $543 = ($542|0)!=(0); + if (!($543)) { + HEAP32[$1>>2] = 2; + break; + } + $544 = HEAP32[$3>>2]|0; + $545 = (_strcmp($544,13913)|0); + $546 = ($545|0)!=(0); + if (!($546)) { + HEAP32[$1>>2] = 3; + break; + } + $547 = HEAP32[$3>>2]|0; + $548 = (_strcmp($547,13933)|0); + $549 = ($548|0)!=(0); + if ($549) { + $550 = HEAP32[$2>>2]|0; + $551 = HEAP32[$3>>2]|0; + $552 = _emscripten_asm_const_iii(0, ($550|0), ($551|0))|0; + HEAP32[$1>>2] = 0; + break; + } else { + HEAP32[$1>>2] = 38; + break; + } + } else { + HEAP32[$1>>2] = 6; + } + } while(0); + $553 = HEAP32[$1>>2]|0; + STACKTOP = sp;return ($553|0); +} +function _emscripten_get_global_libc() { + var label = 0, sp = 0; + sp = STACKTOP; + return (24664|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_738($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_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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0; + var $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) { + $25 = ($26|0)<(0); + if ($25) { + break; + } + $34 = (($$04855) - ($26))|0; + $35 = ((($$04954)) + 4|0); + $36 = HEAP32[$35>>2]|0; + $37 = ($26>>>0)>($36>>>0); + $38 = ((($$04954)) + 8|0); + $$150 = $37 ? $38 : $$04954; + $39 = $37 << 31 >> 31; + $$1 = (($39) + ($$04756))|0; + $40 = $37 ? $36 : 0; + $$0 = (($26) - ($40))|0; + $41 = HEAP32[$$150>>2]|0; + $42 = (($41) + ($$0)|0); + HEAP32[$$150>>2] = $42; + $43 = ((($$150)) + 4|0); + $44 = HEAP32[$43>>2]|0; + $45 = (($44) - ($$0))|0; + HEAP32[$43>>2] = $45; + $46 = HEAP32[$13>>2]|0; + $47 = $$150; + HEAP32[$vararg_buffer3>>2] = $46; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = $47; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = $$1; + $48 = (___syscall146(146,($vararg_buffer3|0))|0); + $49 = (___syscall_ret($48)|0); + $50 = ($34|0)==($49|0); + if ($50) { + label = 3; + break L1; + } else { + $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49; + } + } + $27 = ((($0)) + 16|0); + HEAP32[$27>>2] = 0; + HEAP32[$4>>2] = 0; + HEAP32[$7>>2] = 0; + $28 = HEAP32[$0>>2]|0; + $29 = $28 | 32; + HEAP32[$0>>2] = $29; + $30 = ($$04756|0)==(2); + if ($30) { + $$051 = 0; + } else { + $31 = ((($$04954)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($2) - ($32))|0; + $$051 = $33; + } + } + } 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; + HEAP32[$4>>2] = $20; + HEAP32[$7>>2] = $20; + $$051 = $2; + } + STACKTOP = sp;return ($$051|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 $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (___pthread_self_108()|0); + $1 = ((($0)) + 64|0); + return ($1|0); +} +function ___pthread_self_108() { + 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 (3624|0); +} +function _dummy_738($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return ($0|0); +} +function ___stdio_read($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, $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; + HEAP32[$3>>2] = $1; + $4 = ((($3)) + 4|0); + $5 = ((($0)) + 48|0); + $6 = HEAP32[$5>>2]|0; + $7 = ($6|0)!=(0); + $8 = $7&1; + $9 = (($2) - ($8))|0; + HEAP32[$4>>2] = $9; + $10 = ((($3)) + 8|0); + $11 = ((($0)) + 44|0); + $12 = HEAP32[$11>>2]|0; + HEAP32[$10>>2] = $12; + $13 = ((($3)) + 12|0); + HEAP32[$13>>2] = $6; + $14 = ((($0)) + 60|0); + $15 = HEAP32[$14>>2]|0; + $16 = $3; + HEAP32[$vararg_buffer>>2] = $15; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = $16; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 2; + $17 = (___syscall145(145,($vararg_buffer|0))|0); + $18 = (___syscall_ret($17)|0); + $19 = ($18|0)<(1); + if ($19) { + $20 = $18 & 48; + $21 = $20 ^ 16; + $22 = HEAP32[$0>>2]|0; + $23 = $22 | $21; + HEAP32[$0>>2] = $23; + $$0 = $18; + } else { + $24 = HEAP32[$4>>2]|0; + $25 = ($18>>>0)>($24>>>0); + if ($25) { + $26 = (($18) - ($24))|0; + $27 = HEAP32[$11>>2]|0; + $28 = ((($0)) + 4|0); + HEAP32[$28>>2] = $27; + $29 = (($27) + ($26)|0); + $30 = ((($0)) + 8|0); + HEAP32[$30>>2] = $29; + $31 = HEAP32[$5>>2]|0; + $32 = ($31|0)==(0); + if ($32) { + $$0 = $2; + } else { + $33 = ((($27)) + 1|0); + HEAP32[$28>>2] = $33; + $34 = HEAP8[$27>>0]|0; + $35 = (($2) + -1)|0; + $36 = (($1) + ($35)|0); + HEAP8[$36>>0] = $34; + $$0 = $2; + } + } else { + $$0 = $18; + } + } + STACKTOP = sp;return ($$0|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] = 9; + $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 ___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 & 15]($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 _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 _memcmp($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $14 = 0; + } else { + $$01318 = $0;$$01417 = $2;$$019 = $1; + while(1) { + $4 = HEAP8[$$01318>>0]|0; + $5 = HEAP8[$$019>>0]|0; + $6 = ($4<<24>>24)==($5<<24>>24); + if (!($6)) { + break; + } + $7 = (($$01417) + -1)|0; + $8 = ((($$01318)) + 1|0); + $9 = ((($$019)) + 1|0); + $10 = ($7|0)==(0); + if ($10) { + $14 = 0; + break L1; + } else { + $$01318 = $8;$$01417 = $7;$$019 = $9; + } + } + $11 = $4&255; + $12 = $5&255; + $13 = (($11) - ($12))|0; + $14 = $13; + } + } while(0); + return ($14|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); + $40 = $12; + } else { + $40 = 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 & 15]($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; + $39 = ($40|0)==(0); + if (!($39)) { + ___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, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0; + var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0; + var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0; + var $$3272 = 0, $$3303 = 0, $$377 = 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, $105 = 0; + var $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, $123 = 0; + var $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, $141 = 0; + var $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, $16 = 0; + var $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, $178 = 0; + var $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, $196 = 0; + var $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, $214 = 0; + var $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, $232 = 0; + var $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, $250 = 0; + var $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, $269 = 0; + var $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, $287 = 0; + var $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, $305 = 0; + var $306 = 0.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, $320 = 0, $321 = 0, $322 = 0, $323 = 0; + var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $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, $60 = 0, $61 = 0, $62 = 0; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0; + var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, 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 = 87; + break; + } else { + $23 = $20;$25 = $21; + } + L9: while(1) { + switch ($23<<24>>24) { + case 37: { + $$0249306 = $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 = $$0249306;$39 = $27; + break L12; + } + $30 = ((($$0249306)) + 1|0); + $31 = ((($27)) + 2|0); + HEAP32[$5>>2] = $31; + $32 = HEAP8[$31>>0]|0; + $33 = ($32<<24>>24)==(37); + if ($33) { + $$0249306 = $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($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); + $$377 = $44 ? $45 : $38; + $$$0269 = $44 ? 1 : $$0269; + $isdigittmp$ = $44 ? $isdigittmp : -1; + $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377; + } 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)<(32); + L24: do { + if ($49) { + $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge; + while(1) { + $50 = 1 << $51; + $52 = $50 & 75913; + $53 = ($52|0)==(0); + if ($53) { + $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310; + break L24; + } + $54 = $50 | $$0262311; + $55 = ((($storemerge273310)) + 1|0); + HEAP32[$5>>2] = $55; + $56 = HEAP8[$55>>0]|0; + $57 = $56 << 24 >> 24; + $58 = (($57) + -32)|0; + $59 = ($58>>>0)<(32); + if ($59) { + $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55; + } else { + $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55; + break; + } + } + } else { + $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge; + } + } while(0); + $60 = ($$lcssa295<<24>>24)==(42); + if ($60) { + $61 = ((($62)) + 1|0); + $63 = HEAP8[$61>>0]|0; + $64 = $63 << 24 >> 24; + $isdigittmp276 = (($64) + -48)|0; + $isdigit277 = ($isdigittmp276>>>0)<(10); + if ($isdigit277) { + $65 = ((($62)) + 2|0); + $66 = HEAP8[$65>>0]|0; + $67 = ($66<<24>>24)==(36); + if ($67) { + $68 = (($4) + ($isdigittmp276<<2)|0); + HEAP32[$68>>2] = 10; + $69 = HEAP8[$61>>0]|0; + $70 = $69 << 24 >> 24; + $71 = (($70) + -48)|0; + $72 = (($3) + ($71<<3)|0); + $73 = $72; + $74 = $73; + $75 = HEAP32[$74>>2]|0; + $76 = (($73) + 4)|0; + $77 = $76; + $78 = HEAP32[$77>>2]|0; + $79 = ((($62)) + 3|0); + $$0259 = $75;$$2271 = 1;$storemerge278 = $79; + } else { + label = 23; + } + } else { + label = 23; + } + if ((label|0) == 23) { + label = 0; + $80 = ($$1270|0)==(0); + if (!($80)) { + $$0 = -1; + break; + } + if ($10) { + $arglist_current = HEAP32[$2>>2]|0; + $81 = $arglist_current; + $82 = ((0) + 4|0); + $expanded4 = $82; + $expanded = (($expanded4) - 1)|0; + $83 = (($81) + ($expanded))|0; + $84 = ((0) + 4|0); + $expanded8 = $84; + $expanded7 = (($expanded8) - 1)|0; + $expanded6 = $expanded7 ^ -1; + $85 = $83 & $expanded6; + $86 = $85; + $87 = HEAP32[$86>>2]|0; + $arglist_next = ((($86)) + 4|0); + HEAP32[$2>>2] = $arglist_next; + $$0259 = $87;$$2271 = 0;$storemerge278 = $61; + } else { + $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + } + } + HEAP32[$5>>2] = $storemerge278; + $88 = ($$0259|0)<(0); + $89 = $$0262$lcssa | 8192; + $90 = (0 - ($$0259))|0; + $$$0262 = $88 ? $89 : $$0262$lcssa; + $$$0259 = $88 ? $90 : $$0259; + $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278; + } else { + $91 = (_getint($5)|0); + $92 = ($91|0)<(0); + if ($92) { + $$0 = -1; + break; + } + $$pre346 = HEAP32[$5>>2]|0; + $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346; + } + $93 = HEAP8[$94>>0]|0; + $95 = ($93<<24>>24)==(46); + do { + if ($95) { + $96 = ((($94)) + 1|0); + $97 = HEAP8[$96>>0]|0; + $98 = ($97<<24>>24)==(42); + if (!($98)) { + $125 = ((($94)) + 1|0); + HEAP32[$5>>2] = $125; + $126 = (_getint($5)|0); + $$pre347$pre = HEAP32[$5>>2]|0; + $$0254 = $126;$$pre347 = $$pre347$pre; + break; + } + $99 = ((($94)) + 2|0); + $100 = HEAP8[$99>>0]|0; + $101 = $100 << 24 >> 24; + $isdigittmp274 = (($101) + -48)|0; + $isdigit275 = ($isdigittmp274>>>0)<(10); + if ($isdigit275) { + $102 = ((($94)) + 3|0); + $103 = HEAP8[$102>>0]|0; + $104 = ($103<<24>>24)==(36); + if ($104) { + $105 = (($4) + ($isdigittmp274<<2)|0); + HEAP32[$105>>2] = 10; + $106 = HEAP8[$99>>0]|0; + $107 = $106 << 24 >> 24; + $108 = (($107) + -48)|0; + $109 = (($3) + ($108<<3)|0); + $110 = $109; + $111 = $110; + $112 = HEAP32[$111>>2]|0; + $113 = (($110) + 4)|0; + $114 = $113; + $115 = HEAP32[$114>>2]|0; + $116 = ((($94)) + 4|0); + HEAP32[$5>>2] = $116; + $$0254 = $112;$$pre347 = $116; + break; + } + } + $117 = ($$3272|0)==(0); + if (!($117)) { + $$0 = -1; + break L1; + } + if ($10) { + $arglist_current2 = HEAP32[$2>>2]|0; + $118 = $arglist_current2; + $119 = ((0) + 4|0); + $expanded11 = $119; + $expanded10 = (($expanded11) - 1)|0; + $120 = (($118) + ($expanded10))|0; + $121 = ((0) + 4|0); + $expanded15 = $121; + $expanded14 = (($expanded15) - 1)|0; + $expanded13 = $expanded14 ^ -1; + $122 = $120 & $expanded13; + $123 = $122; + $124 = HEAP32[$123>>2]|0; + $arglist_next3 = ((($123)) + 4|0); + HEAP32[$2>>2] = $arglist_next3; + $330 = $124; + } else { + $330 = 0; + } + HEAP32[$5>>2] = $99; + $$0254 = $330;$$pre347 = $99; + } else { + $$0254 = -1;$$pre347 = $94; + } + } while(0); + $$0252 = 0;$128 = $$pre347; + while(1) { + $127 = HEAP8[$128>>0]|0; + $129 = $127 << 24 >> 24; + $130 = (($129) + -65)|0; + $131 = ($130>>>0)>(57); + if ($131) { + $$0 = -1; + break L1; + } + $132 = ((($128)) + 1|0); + HEAP32[$5>>2] = $132; + $133 = HEAP8[$128>>0]|0; + $134 = $133 << 24 >> 24; + $135 = (($134) + -65)|0; + $136 = ((14049 + (($$0252*58)|0)|0) + ($135)|0); + $137 = HEAP8[$136>>0]|0; + $138 = $137&255; + $139 = (($138) + -1)|0; + $140 = ($139>>>0)<(8); + if ($140) { + $$0252 = $138;$128 = $132; + } else { + break; + } + } + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; + } + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|0)>(-1); + do { + if ($142) { + if ($143) { + $$0 = -1; + break L1; + } else { + label = 49; + } + } else { + if ($143) { + $144 = (($4) + ($$0253<<2)|0); + HEAP32[$144>>2] = $138; + $145 = (($3) + ($$0253<<3)|0); + $146 = $145; + $147 = $146; + $148 = HEAP32[$147>>2]|0; + $149 = (($146) + 4)|0; + $150 = $149; + $151 = HEAP32[$150>>2]|0; + $152 = $6; + $153 = $152; + HEAP32[$153>>2] = $148; + $154 = (($152) + 4)|0; + $155 = $154; + HEAP32[$155>>2] = $151; + label = 49; + break; + } + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); + } + } while(0); + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + } + $156 = HEAP8[$128>>0]|0; + $157 = $156 << 24 >> 24; + $158 = ($$0252|0)!=(0); + $159 = $157 & 15; + $160 = ($159|0)==(3); + $or$cond281 = $158 & $160; + $161 = $157 & -33; + $$0235 = $or$cond281 ? $161 : $157; + $162 = $$1263 & 8192; + $163 = ($162|0)==(0); + $164 = $$1263 & -65537; + $$1263$ = $163 ? $$1263 : $164; + L71: do { + switch ($$0235|0) { + case 110: { + $trunc = $$0252&255; + switch ($trunc<<24>>24) { + case 0: { + $171 = HEAP32[$6>>2]|0; + HEAP32[$171>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 1: { + $172 = HEAP32[$6>>2]|0; + HEAP32[$172>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 2: { + $173 = ($$1248|0)<(0); + $174 = $173 << 31 >> 31; + $175 = HEAP32[$6>>2]|0; + $176 = $175; + $177 = $176; + HEAP32[$177>>2] = $$1248; + $178 = (($176) + 4)|0; + $179 = $178; + HEAP32[$179>>2] = $174; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 3: { + $180 = $$1248&65535; + $181 = HEAP32[$6>>2]|0; + HEAP16[$181>>1] = $180; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 4: { + $182 = $$1248&255; + $183 = HEAP32[$6>>2]|0; + HEAP8[$183>>0] = $182; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 6: { + $184 = HEAP32[$6>>2]|0; + HEAP32[$184>>2] = $$1248; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + case 7: { + $185 = ($$1248|0)<(0); + $186 = $185 << 31 >> 31; + $187 = HEAP32[$6>>2]|0; + $188 = $187; + $189 = $188; + HEAP32[$189>>2] = $$1248; + $190 = (($188) + 4)|0; + $191 = $190; + HEAP32[$191>>2] = $186; + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + } + } + break; + } + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; + break; + } + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; + } + case 111: { + $210 = $6; + $211 = $210; + $212 = HEAP32[$211>>2]|0; + $213 = (($210) + 4)|0; + $214 = $213; + $215 = HEAP32[$214>>2]|0; + $216 = (_fmt_o($212,$215,$11)|0); + $217 = $$1263$ & 8; + $218 = ($217|0)==(0); + $219 = $216; + $220 = (($12) - ($219))|0; + $221 = ($$0254|0)>($220|0); + $222 = (($220) + 1)|0; + $223 = $218 | $221; + $$0254$$0254$ = $223 ? $$0254 : $222; + $$0228 = $216;$$1233 = 0;$$1238 = 14513;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + label = 67; + break; + } + case 105: case 100: { + $224 = $6; + $225 = $224; + $226 = HEAP32[$225>>2]|0; + $227 = (($224) + 4)|0; + $228 = $227; + $229 = HEAP32[$228>>2]|0; + $230 = ($229|0)<(0); + if ($230) { + $231 = (_i64Subtract(0,0,($226|0),($229|0))|0); + $232 = tempRet0; + $233 = $6; + $234 = $233; + HEAP32[$234>>2] = $231; + $235 = (($233) + 4)|0; + $236 = $235; + HEAP32[$236>>2] = $232; + $$0232 = 1;$$0237 = 14513;$242 = $231;$243 = $232; + label = 66; + break L71; + } else { + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 14513 : (14515); + $$$ = $238 ? $$ : (14514); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; + } + break; + } + case 117: { + $165 = $6; + $166 = $165; + $167 = HEAP32[$166>>2]|0; + $168 = (($165) + 4)|0; + $169 = $168; + $170 = HEAP32[$169>>2]|0; + $$0232 = 0;$$0237 = 14513;$242 = $167;$243 = $170; + label = 66; + break; + } + case 99: { + $259 = $6; + $260 = $259; + $261 = HEAP32[$260>>2]|0; + $262 = (($259) + 4)|0; + $263 = $262; + $264 = HEAP32[$263>>2]|0; + $265 = $261&255; + HEAP8[$13>>0] = $265; + $$2 = $13;$$2234 = 0;$$2239 = 14513;$$2251 = $11;$$5 = 1;$$6268 = $164; + break; + } + case 109: { + $266 = (___errno_location()|0); + $267 = HEAP32[$266>>2]|0; + $268 = (_strerror($267)|0); + $$1 = $268; + label = 71; + break; + } + case 115: { + $269 = HEAP32[$6>>2]|0; + $270 = ($269|0)!=(0|0); + $271 = $270 ? $269 : 14523; + $$1 = $271; + label = 71; + break; + } + case 67: { + $278 = $6; + $279 = $278; + $280 = HEAP32[$279>>2]|0; + $281 = (($278) + 4)|0; + $282 = $281; + $283 = HEAP32[$282>>2]|0; + HEAP32[$8>>2] = $280; + HEAP32[$14>>2] = 0; + HEAP32[$6>>2] = $8; + $$4258355 = -1;$331 = $8; + label = 75; + break; + } + case 83: { + $$pre349 = HEAP32[$6>>2]|0; + $284 = ($$0254|0)==(0); + if ($284) { + _pad_674($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; + } else { + $$4258355 = $$0254;$331 = $$pre349; + label = 75; + } + break; + } + case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101: { + $306 = +HEAPF64[$6>>3]; + $307 = (_fmt_fp($0,$306,$$1260,$$0254,$$1263$,$$0235)|0); + $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue L1; + break; + } + default: { + $$2 = $21;$$2234 = 0;$$2239 = 14513;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + } + } + } while(0); + L95: do { + if ((label|0) == 61) { + label = 0; + $195 = $6; + $196 = $195; + $197 = HEAP32[$196>>2]|0; + $198 = (($195) + 4)|0; + $199 = $198; + $200 = HEAP32[$199>>2]|0; + $201 = $$1236 & 32; + $202 = (_fmt_x($197,$200,$11,$201)|0); + $203 = ($197|0)==(0); + $204 = ($200|0)==(0); + $205 = $203 & $204; + $206 = $$3265 & 8; + $207 = ($206|0)==(0); + $or$cond283 = $207 | $205; + $208 = $$1236 >> 4; + $209 = (14513 + ($208)|0); + $$289 = $or$cond283 ? 14513 : $209; + $$290 = $or$cond283 ? 0 : 2; + $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; + label = 67; + } + else if ((label|0) == 66) { + label = 0; + $244 = (_fmt_u($242,$243,$11)|0); + $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243; + label = 67; + } + else if ((label|0) == 71) { + label = 0; + $272 = (_memchr($$1,0,$$0254)|0); + $273 = ($272|0)==(0|0); + $274 = $272; + $275 = $$1; + $276 = (($274) - ($275))|0; + $277 = (($$1) + ($$0254)|0); + $$3257 = $273 ? $$0254 : $276; + $$1250 = $273 ? $277 : $272; + $$2 = $$1;$$2234 = 0;$$2239 = 14513;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + } + else if ((label|0) == 75) { + label = 0; + $$0229322 = $331;$$0240321 = 0;$$1244320 = 0; + while(1) { + $285 = HEAP32[$$0229322>>2]|0; + $286 = ($285|0)==(0); + if ($286) { + $$0240$lcssa = $$0240321;$$2245 = $$1244320; + break; + } + $287 = (_wctomb($9,$285)|0); + $288 = ($287|0)<(0); + $289 = (($$4258355) - ($$0240321))|0; + $290 = ($287>>>0)>($289>>>0); + $or$cond286 = $288 | $290; + if ($or$cond286) { + $$0240$lcssa = $$0240321;$$2245 = $287; + break; + } + $291 = ((($$0229322)) + 4|0); + $292 = (($287) + ($$0240321))|0; + $293 = ($$4258355>>>0)>($292>>>0); + if ($293) { + $$0229322 = $291;$$0240321 = $292;$$1244320 = $287; + } else { + $$0240$lcssa = $292;$$2245 = $287; + break; + } + } + $294 = ($$2245|0)<(0); + if ($294) { + $$0 = -1; + break L1; + } + _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; + } else { + $$1230333 = $331;$$1241332 = 0; + while(1) { + $296 = HEAP32[$$1230333>>2]|0; + $297 = ($296|0)==(0); + if ($297) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $298 = (_wctomb($9,$296)|0); + $299 = (($298) + ($$1241332))|0; + $300 = ($299|0)>($$0240$lcssa|0); + if ($300) { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break L95; + } + $301 = ((($$1230333)) + 4|0); + _out($0,$9,$298); + $302 = ($299>>>0)<($$0240$lcssa>>>0); + if ($302) { + $$1230333 = $301;$$1241332 = $299; + } else { + $$0240$lcssa357 = $$0240$lcssa; + label = 84; + break; + } + } + } + } + } while(0); + if ((label|0) == 67) { + label = 0; + $245 = ($$2256|0)>(-1); + $246 = $$4266 & -65537; + $$$4266 = $245 ? $246 : $$4266; + $247 = ($248|0)!=(0); + $249 = ($250|0)!=(0); + $251 = $247 | $249; + $252 = ($$2256|0)!=(0); + $or$cond = $252 | $251; + $253 = $$0228; + $254 = (($12) - ($253))|0; + $255 = $251 ^ 1; + $256 = $255&1; + $257 = (($256) + ($254))|0; + $258 = ($$2256|0)>($257|0); + $$2256$ = $258 ? $$2256 : $257; + $$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) == 84) { + label = 0; + $303 = $$1263$ ^ 8192; + _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + $304 = ($$1260|0)>($$0240$lcssa357|0); + $305 = $304 ? $$1260 : $$0240$lcssa357; + $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } + $308 = $$2251; + $309 = $$2; + $310 = (($308) - ($309))|0; + $311 = ($$5|0)<($310|0); + $$$5 = $311 ? $310 : $$5; + $312 = (($$$5) + ($$2234))|0; + $313 = ($$1260|0)<($312|0); + $$2261 = $313 ? $312 : $$1260; + _pad_674($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_674($0,48,$$2261,$312,$314); + _pad_674($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_674($0,32,$$2261,$312,$315); + $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + } + L114: do { + if ((label|0) == 87) { + $316 = ($0|0)==(0|0); + if ($316) { + $317 = ($$0269|0)==(0); + if ($317) { + $$0 = 0; + } else { + $$2242305 = 1; + while(1) { + $318 = (($4) + ($$2242305<<2)|0); + $319 = HEAP32[$318>>2]|0; + $320 = ($319|0)==(0); + if ($320) { + $$3303 = $$2242305; + break; + } + $321 = (($3) + ($$2242305<<3)|0); + _pop_arg($321,$319,$2); + $322 = (($$2242305) + 1)|0; + $323 = ($322|0)<(10); + if ($323) { + $$2242305 = $322; + } else { + $$0 = 1; + break L114; + } + } + while(1) { + $326 = (($4) + ($$3303<<2)|0); + $327 = HEAP32[$326>>2]|0; + $328 = ($327|0)==(0); + $325 = (($$3303) + 1)|0; + if (!($328)) { + $$0 = -1; + break L114; + } + $324 = ($325|0)<(10); + if ($324) { + $$3303 = $325; + } else { + $$0 = 1; + break; + } + } + } + } 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($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($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($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 = (14565 + ($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_105()|0); + $2 = ((($1)) + 188|0); + $3 = HEAP32[$2>>2]|0; + $4 = (___strerror_l($0,$3)|0); + return ($4|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 _pad_674($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($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($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, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0; + var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0; + var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0; + var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0; + var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0; + var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0; + var $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, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0; + var $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, $139 = 0; + var $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, $157 = 0; + var $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, $175 = 0; + var $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, $193 = 0; + var $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, $211 = 0; + var $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.0, $229 = 0.0, $23 = 0; + var $230 = 0, $231 = 0.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, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0; + var $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, $266 = 0; + var $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, $284 = 0; + var $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, $302 = 0; + var $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, $320 = 0; + var $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, $339 = 0; + var $34 = 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, $357 = 0; + var $358 = 0, $359 = 0, $36 = 0.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, $375 = 0; + var $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, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0; + var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.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.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0; + var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 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_675($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 14530; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (14531) : (14536); + $$$ = $16 ? $$ : (14533); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_675($$0471)|0); + $20 = tempRet0; + $21 = $20 & 2146435072; + $22 = ($21>>>0)<(2146435072); + $23 = (0)<(0); + $24 = ($21|0)==(2146435072); + $25 = $24 & $23; + $26 = $22 | $25; + do { + if ($26) { + $35 = (+_frexpl($$0471,$7)); + $36 = $35 * 2.0; + $37 = $36 != 0.0; + if ($37) { + $38 = HEAP32[$7>>2]|0; + $39 = (($38) + -1)|0; + HEAP32[$7>>2] = $39; + } + $40 = $5 | 32; + $41 = ($40|0)==(97); + if ($41) { + $42 = $5 & 32; + $43 = ($42|0)==(0); + $44 = ((($$0521)) + 9|0); + $$0521$ = $43 ? $$0521 : $44; + $45 = $$0520 | 2; + $46 = ($3>>>0)>(11); + $47 = (12 - ($3))|0; + $48 = ($47|0)==(0); + $49 = $46 | $48; + do { + if ($49) { + $$1472 = $36; + } else { + $$0509582 = 8.0;$$1508583 = $47; + while(1) { + $50 = (($$1508583) + -1)|0; + $51 = $$0509582 * 16.0; + $52 = ($50|0)==(0); + if ($52) { + break; + } else { + $$0509582 = $51;$$1508583 = $50; + } + } + $53 = HEAP8[$$0521$>>0]|0; + $54 = ($53<<24>>24)==(45); + if ($54) { + $55 = -$36; + $56 = $55 - $51; + $57 = $51 + $56; + $58 = -$57; + $$1472 = $58; + break; + } else { + $59 = $36 + $51; + $60 = $59 - $51; + $$1472 = $60; + break; + } + } + } while(0); + $61 = HEAP32[$7>>2]|0; + $62 = ($61|0)<(0); + $63 = (0 - ($61))|0; + $64 = $62 ? $63 : $61; + $65 = ($64|0)<(0); + $66 = $65 << 31 >> 31; + $67 = (_fmt_u($64,$66,$11)|0); + $68 = ($67|0)==($11|0); + if ($68) { + $69 = ((($10)) + 11|0); + HEAP8[$69>>0] = 48; + $$0511 = $69; + } else { + $$0511 = $67; + } + $70 = $61 >> 31; + $71 = $70 & 2; + $72 = (($71) + 43)|0; + $73 = $72&255; + $74 = ((($$0511)) + -1|0); + HEAP8[$74>>0] = $73; + $75 = (($5) + 15)|0; + $76 = $75&255; + $77 = ((($$0511)) + -2|0); + HEAP8[$77>>0] = $76; + $notrhs = ($3|0)<(1); + $78 = $4 & 8; + $79 = ($78|0)==(0); + $$0523 = $8;$$2473 = $$1472; + while(1) { + $80 = (~~(($$2473))); + $81 = (14565 + ($80)|0); + $82 = HEAP8[$81>>0]|0; + $83 = $82&255; + $84 = $83 | $42; + $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) { + $notlhs = $89 == 0.0; + $or$cond3$not = $notrhs & $notlhs; + $or$cond = $79 & $or$cond3$not; + if ($or$cond) { + $$1524 = $86; + } else { + $93 = ((($$0523)) + 2|0); + HEAP8[$86>>0] = 46; + $$1524 = $93; + } + } else { + $$1524 = $86; + } + $94 = $89 != 0.0; + if ($94) { + $$0523 = $$1524;$$2473 = $89; + } else { + break; + } + } + $95 = ($3|0)!=(0); + $96 = $77; + $97 = $11; + $98 = $$1524; + $99 = (($98) - ($9))|0; + $100 = (($97) - ($96))|0; + $101 = (($99) + -2)|0; + $102 = ($101|0)<($3|0); + $or$cond537 = $95 & $102; + $103 = (($3) + 2)|0; + $$pn = $or$cond537 ? $103 : $99; + $$0525 = (($100) + ($45))|0; + $104 = (($$0525) + ($$pn))|0; + _pad_674($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_674($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_674($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_674($0,32,$2,$104,$107); + $$sink562 = $104; + break; + } + $108 = ($3|0)<(0); + $$539 = $108 ? 6 : $3; + if ($37) { + $109 = $36 * 268435456.0; + $110 = HEAP32[$7>>2]|0; + $111 = (($110) + -28)|0; + HEAP32[$7>>2] = $111; + $$3 = $109;$$pr = $111; + } else { + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; + } + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; + while(1) { + $114 = (~~(($$4))>>>0); + HEAP32[$$0498>>2] = $114; + $115 = ((($$0498)) + 4|0); + $116 = (+($114>>>0)); + $117 = $$4 - $116; + $118 = $117 * 1.0E+9; + $119 = $118 != 0.0; + if ($119) { + $$0498 = $115;$$4 = $118; + } else { + break; + } + } + $120 = ($$pr|0)>(0); + if ($120) { + $$1482661 = $$556;$$1499660 = $115;$122 = $$pr; + while(1) { + $121 = ($122|0)<(29); + $123 = $121 ? $122 : 29; + $$0488653 = ((($$1499660)) + -4|0); + $124 = ($$0488653>>>0)<($$1482661>>>0); + if ($124) { + $$2483$ph = $$1482661; + } else { + $$0488655 = $$0488653;$$0497654 = 0; + while(1) { + $125 = HEAP32[$$0488655>>2]|0; + $126 = (_bitshift64Shl(($125|0),0,($123|0))|0); + $127 = tempRet0; + $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0); + $129 = tempRet0; + $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0); + $131 = tempRet0; + HEAP32[$$0488655>>2] = $130; + $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0); + $133 = tempRet0; + $$0488 = ((($$0488655)) + -4|0); + $134 = ($$0488>>>0)<($$1482661>>>0); + if ($134) { + break; + } else { + $$0488655 = $$0488;$$0497654 = $132; + } + } + $135 = ($132|0)==(0); + if ($135) { + $$2483$ph = $$1482661; + } else { + $136 = ((($$1482661)) + -4|0); + HEAP32[$136>>2] = $132; + $$2483$ph = $136; + } + } + $$2500 = $$1499660; + while(1) { + $137 = ($$2500>>>0)>($$2483$ph>>>0); + if (!($137)) { + break; + } + $138 = ((($$2500)) + -4|0); + $139 = HEAP32[$138>>2]|0; + $140 = ($139|0)==(0); + if ($140) { + $$2500 = $138; + } else { + break; + } + } + $141 = HEAP32[$7>>2]|0; + $142 = (($141) - ($123))|0; + HEAP32[$7>>2] = $142; + $143 = ($142|0)>(0); + if ($143) { + $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142; + } else { + $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; + break; + } + } + } else { + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + } + $144 = ($$pr564|0)<(0); + if ($144) { + $145 = (($$539) + 25)|0; + $146 = (($145|0) / 9)&-1; + $147 = (($146) + 1)|0; + $148 = ($40|0)==(102); + $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564; + while(1) { + $149 = (0 - ($150))|0; + $151 = ($149|0)<(9); + $152 = $151 ? $149 : 9; + $153 = ($$3484648>>>0)<($$3501647>>>0); + if ($153) { + $157 = 1 << $152; + $158 = (($157) + -1)|0; + $159 = 1000000000 >>> $152; + $$0487642 = 0;$$1489641 = $$3484648; + while(1) { + $160 = HEAP32[$$1489641>>2]|0; + $161 = $160 & $158; + $162 = $160 >>> $152; + $163 = (($162) + ($$0487642))|0; + HEAP32[$$1489641>>2] = $163; + $164 = Math_imul($161, $159)|0; + $165 = ((($$1489641)) + 4|0); + $166 = ($165>>>0)<($$3501647>>>0); + if ($166) { + $$0487642 = $164;$$1489641 = $165; + } else { + break; + } + } + $167 = HEAP32[$$3484648>>2]|0; + $168 = ($167|0)==(0); + $169 = ((($$3484648)) + 4|0); + $$$3484 = $168 ? $169 : $$3484648; + $170 = ($164|0)==(0); + if ($170) { + $$$3484692 = $$$3484;$$4502 = $$3501647; + } else { + $171 = ((($$3501647)) + 4|0); + HEAP32[$$3501647>>2] = $164; + $$$3484692 = $$$3484;$$4502 = $171; + } + } else { + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; + } + $172 = $148 ? $$556 : $$$3484692; + $173 = $$4502; + $174 = $172; + $175 = (($173) - ($174))|0; + $176 = $175 >> 2; + $177 = ($176|0)>($147|0); + $178 = (($172) + ($147<<2)|0); + $$$4502 = $177 ? $178 : $$4502; + $179 = HEAP32[$7>>2]|0; + $180 = (($179) + ($152))|0; + HEAP32[$7>>2] = $180; + $181 = ($180|0)<(0); + if ($181) { + $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180; + } else { + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; + } + } + } else { + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; + } + $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0); + $183 = $$556; + if ($182) { + $184 = $$3484$lcssa; + $185 = (($183) - ($184))|0; + $186 = $185 >> 2; + $187 = ($186*9)|0; + $188 = HEAP32[$$3484$lcssa>>2]|0; + $189 = ($188>>>0)<(10); + if ($189) { + $$1515 = $187; + } else { + $$0514637 = $187;$$0530636 = 10; + while(1) { + $190 = ($$0530636*10)|0; + $191 = (($$0514637) + 1)|0; + $192 = ($188>>>0)<($190>>>0); + if ($192) { + $$1515 = $191; + break; + } else { + $$0514637 = $191;$$0530636 = $190; + } + } + } + } else { + $$1515 = 0; + } + $193 = ($40|0)!=(102); + $194 = $193 ? $$1515 : 0; + $195 = (($$539) - ($194))|0; + $196 = ($40|0)==(103); + $197 = ($$539|0)!=(0); + $198 = $197 & $196; + $$neg = $198 << 31 >> 31; + $199 = (($195) + ($$neg))|0; + $200 = $$3501$lcssa; + $201 = (($200) - ($183))|0; + $202 = $201 >> 2; + $203 = ($202*9)|0; + $204 = (($203) + -9)|0; + $205 = ($199|0)<($204|0); + if ($205) { + $206 = ((($$556)) + 4|0); + $207 = (($199) + 9216)|0; + $208 = (($207|0) / 9)&-1; + $209 = (($208) + -1024)|0; + $210 = (($206) + ($209<<2)|0); + $211 = (($207|0) % 9)&-1; + $$0527629 = (($211) + 1)|0; + $212 = ($$0527629|0)<(9); + if ($212) { + $$0527631 = $$0527629;$$1531630 = 10; + while(1) { + $213 = ($$1531630*10)|0; + $$0527 = (($$0527631) + 1)|0; + $exitcond = ($$0527|0)==(9); + if ($exitcond) { + $$1531$lcssa = $213; + break; + } else { + $$0527631 = $$0527;$$1531630 = $213; + } + } + } else { + $$1531$lcssa = 10; + } + $214 = HEAP32[$210>>2]|0; + $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1; + $216 = ($215|0)==(0); + $217 = ((($210)) + 4|0); + $218 = ($217|0)==($$3501$lcssa|0); + $or$cond541 = $218 & $216; + if ($or$cond541) { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } else { + $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1; + $220 = $219 & 1; + $221 = ($220|0)==(0); + $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0; + $222 = (($$1531$lcssa|0) / 2)&-1; + $223 = ($215>>>0)<($222>>>0); + $224 = ($215|0)==($222|0); + $or$cond544 = $218 & $224; + $$559 = $or$cond544 ? 1.0 : 1.5; + $$$559 = $223 ? 0.5 : $$559; + $225 = ($$0520|0)==(0); + if ($225) { + $$1467 = $$$559;$$1469 = $$542; + } else { + $226 = HEAP8[$$0521>>0]|0; + $227 = ($226<<24>>24)==(45); + $228 = -$$542; + $229 = -$$$559; + $$$542 = $227 ? $228 : $$542; + $$$$559 = $227 ? $229 : $$$559; + $$1467 = $$$$559;$$1469 = $$$542; + } + $230 = (($214) - ($215))|0; + HEAP32[$210>>2] = $230; + $231 = $$1469 + $$1467; + $232 = $231 != $$1469; + if ($232) { + $233 = (($230) + ($$1531$lcssa))|0; + HEAP32[$210>>2] = $233; + $234 = ($233>>>0)>(999999999); + if ($234) { + $$5486623 = $$3484$lcssa;$$sink545622 = $210; + while(1) { + $235 = ((($$sink545622)) + -4|0); + HEAP32[$$sink545622>>2] = 0; + $236 = ($235>>>0)<($$5486623>>>0); + if ($236) { + $237 = ((($$5486623)) + -4|0); + HEAP32[$237>>2] = 0; + $$6 = $237; + } else { + $$6 = $$5486623; + } + $238 = HEAP32[$235>>2]|0; + $239 = (($238) + 1)|0; + HEAP32[$235>>2] = $239; + $240 = ($239>>>0)>(999999999); + if ($240) { + $$5486623 = $$6;$$sink545622 = $235; + } else { + $$5486$lcssa = $$6;$$sink545$lcssa = $235; + break; + } + } + } else { + $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210; + } + $241 = $$5486$lcssa; + $242 = (($183) - ($241))|0; + $243 = $242 >> 2; + $244 = ($243*9)|0; + $245 = HEAP32[$$5486$lcssa>>2]|0; + $246 = ($245>>>0)<(10); + if ($246) { + $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa; + } else { + $$2516618 = $244;$$2532617 = 10; + while(1) { + $247 = ($$2532617*10)|0; + $248 = (($$2516618) + 1)|0; + $249 = ($245>>>0)<($247>>>0); + if ($249) { + $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa; + break; + } else { + $$2516618 = $248;$$2532617 = $247; + } + } + } + } else { + $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; + } + } + $250 = ((($$4492)) + 4|0); + $251 = ($$3501$lcssa>>>0)>($250>>>0); + $$$3501 = $251 ? $250 : $$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) { + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; + } + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; + break; + } + } + $256 = (0 - ($$5519$ph))|0; + do { + if ($196) { + $not$ = $197 ^ 1; + $257 = $not$&1; + $$539$ = (($257) + ($$539))|0; + $258 = ($$539$|0)>($$5519$ph|0); + $259 = ($$5519$ph|0)>(-5); + $or$cond6 = $258 & $259; + if ($or$cond6) { + $260 = (($5) + -1)|0; + $$neg567 = (($$539$) + -1)|0; + $261 = (($$neg567) - ($$5519$ph))|0; + $$0479 = $260;$$2476 = $261; + } else { + $262 = (($5) + -2)|0; + $263 = (($$539$) + -1)|0; + $$0479 = $262;$$2476 = $263; + } + $264 = $4 & 8; + $265 = ($264|0)==(0); + if ($265) { + if ($$lcssa673) { + $266 = ((($$7505)) + -4|0); + $267 = HEAP32[$266>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$2529 = 9; + } else { + $269 = (($267>>>0) % 10)&-1; + $270 = ($269|0)==(0); + if ($270) { + $$1528614 = 0;$$3533613 = 10; + while(1) { + $271 = ($$3533613*10)|0; + $272 = (($$1528614) + 1)|0; + $273 = (($267>>>0) % ($271>>>0))&-1; + $274 = ($273|0)==(0); + if ($274) { + $$1528614 = $272;$$3533613 = $271; + } else { + $$2529 = $272; + break; + } + } + } else { + $$2529 = 0; + } + } + } else { + $$2529 = 9; + } + $275 = $$0479 | 32; + $276 = ($275|0)==(102); + $277 = $$7505; + $278 = (($277) - ($183))|0; + $279 = $278 >> 2; + $280 = ($279*9)|0; + $281 = (($280) + -9)|0; + if ($276) { + $282 = (($281) - ($$2529))|0; + $283 = ($282|0)>(0); + $$546 = $283 ? $282 : 0; + $284 = ($$2476|0)<($$546|0); + $$2476$$547 = $284 ? $$2476 : $$546; + $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0; + break; + } else { + $285 = (($281) + ($$5519$ph))|0; + $286 = (($285) - ($$2529))|0; + $287 = ($286|0)>(0); + $$548 = $287 ? $286 : 0; + $288 = ($$2476|0)<($$548|0); + $$2476$$549 = $288 ? $$2476 : $$548; + $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0; + break; + } + } else { + $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + } + } else { + $$pre689 = $4 & 8; + $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689; + } + } while(0); + $289 = $$3477 | $$pre$phi690Z2D; + $290 = ($289|0)!=(0); + $291 = $290&1; + $292 = $$1480 | 32; + $293 = ($292|0)==(102); + if ($293) { + $294 = ($$5519$ph|0)>(0); + $295 = $294 ? $$5519$ph : 0; + $$2513 = 0;$$pn566 = $295; + } else { + $296 = ($$5519$ph|0)<(0); + $297 = $296 ? $256 : $$5519$ph; + $298 = ($297|0)<(0); + $299 = $298 << 31 >> 31; + $300 = (_fmt_u($297,$299,$11)|0); + $301 = $11; + $302 = $300; + $303 = (($301) - ($302))|0; + $304 = ($303|0)<(2); + if ($304) { + $$1512607 = $300; + while(1) { + $305 = ((($$1512607)) + -1|0); + HEAP8[$305>>0] = 48; + $306 = $305; + $307 = (($301) - ($306))|0; + $308 = ($307|0)<(2); + if ($308) { + $$1512607 = $305; + } else { + $$1512$lcssa = $305; + break; + } + } + } else { + $$1512$lcssa = $300; + } + $309 = $$5519$ph >> 31; + $310 = $309 & 2; + $311 = (($310) + 43)|0; + $312 = $311&255; + $313 = ((($$1512$lcssa)) + -1|0); + HEAP8[$313>>0] = $312; + $314 = $$1480&255; + $315 = ((($$1512$lcssa)) + -2|0); + HEAP8[$315>>0] = $314; + $316 = $315; + $317 = (($301) - ($316))|0; + $$2513 = $315;$$pn566 = $317; + } + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_674($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_674($0,48,$2,$320,$321); + if ($293) { + $322 = ($$9$ph>>>0)>($$556>>>0); + $$0496$$9 = $322 ? $$556 : $$9$ph; + $323 = ((($8)) + 9|0); + $324 = $323; + $325 = ((($8)) + 8|0); + $$5493597 = $$0496$$9; + while(1) { + $326 = HEAP32[$$5493597>>2]|0; + $327 = (_fmt_u($326,0,$323)|0); + $328 = ($$5493597|0)==($$0496$$9|0); + if ($328) { + $334 = ($327|0)==($323|0); + if ($334) { + HEAP8[$325>>0] = 48; + $$1465 = $325; + } else { + $$1465 = $327; + } + } else { + $329 = ($327>>>0)>($8>>>0); + if ($329) { + $330 = $327; + $331 = (($330) - ($9))|0; + _memset(($8|0),48,($331|0))|0; + $$0464594 = $327; + while(1) { + $332 = ((($$0464594)) + -1|0); + $333 = ($332>>>0)>($8>>>0); + if ($333) { + $$0464594 = $332; + } else { + $$1465 = $332; + break; + } + } + } else { + $$1465 = $327; + } + } + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { + break; + } else { + $$5493597 = $337; + } + } + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,14581,1); + } + $340 = ($337>>>0)<($$7505>>>0); + $341 = ($$3477|0)>(0); + $342 = $340 & $341; + if ($342) { + $$4478590 = $$3477;$$6494589 = $337; + while(1) { + $343 = HEAP32[$$6494589>>2]|0; + $344 = (_fmt_u($343,0,$323)|0); + $345 = ($344>>>0)>($8>>>0); + if ($345) { + $346 = $344; + $347 = (($346) - ($9))|0; + _memset(($8|0),48,($347|0))|0; + $$0463584 = $344; + while(1) { + $348 = ((($$0463584)) + -1|0); + $349 = ($348>>>0)>($8>>>0); + if ($349) { + $$0463584 = $348; + } else { + $$0463$lcssa = $348; + break; + } + } + } else { + $$0463$lcssa = $344; + } + $350 = ($$4478590|0)<(9); + $351 = $350 ? $$4478590 : 9; + _out($0,$$0463$lcssa,$351); + $352 = ((($$6494589)) + 4|0); + $353 = (($$4478590) + -9)|0; + $354 = ($352>>>0)<($$7505>>>0); + $355 = ($$4478590|0)>(9); + $356 = $354 & $355; + if ($356) { + $$4478590 = $353;$$6494589 = $352; + } else { + $$4478$lcssa = $353; + break; + } + } + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_674($0,48,$357,9,0); + } else { + $358 = ((($$9$ph)) + 4|0); + $$7505$ = $$lcssa673 ? $$7505 : $358; + $359 = ($$3477|0)>(-1); + if ($359) { + $360 = ((($8)) + 9|0); + $361 = ($$pre$phi690Z2D|0)==(0); + $362 = $360; + $363 = (0 - ($9))|0; + $364 = ((($8)) + 8|0); + $$5602 = $$3477;$$7495601 = $$9$ph; + while(1) { + $365 = HEAP32[$$7495601>>2]|0; + $366 = (_fmt_u($365,0,$360)|0); + $367 = ($366|0)==($360|0); + if ($367) { + HEAP8[$364>>0] = 48; + $$0 = $364; + } else { + $$0 = $366; + } + $368 = ($$7495601|0)==($$9$ph|0); + do { + if ($368) { + $372 = ((($$0)) + 1|0); + _out($0,$$0,1); + $373 = ($$5602|0)<(1); + $or$cond554 = $361 & $373; + if ($or$cond554) { + $$2 = $372; + break; + } + _out($0,14581,1); + $$2 = $372; + } else { + $369 = ($$0>>>0)>($8>>>0); + if (!($369)) { + $$2 = $$0; + break; + } + $scevgep684 = (($$0) + ($363)|0); + $scevgep684685 = $scevgep684; + _memset(($8|0),48,($scevgep684685|0))|0; + $$1598 = $$0; + while(1) { + $370 = ((($$1598)) + -1|0); + $371 = ($370>>>0)>($8>>>0); + if ($371) { + $$1598 = $370; + } else { + $$2 = $370; + break; + } + } + } + } while(0); + $374 = $$2; + $375 = (($362) - ($374))|0; + $376 = ($$5602|0)>($375|0); + $377 = $376 ? $375 : $$5602; + _out($0,$$2,$377); + $378 = (($$5602) - ($375))|0; + $379 = ((($$7495601)) + 4|0); + $380 = ($379>>>0)<($$7505$>>>0); + $381 = ($378|0)>(-1); + $382 = $380 & $381; + if ($382) { + $$5602 = $378;$$7495601 = $379; + } else { + $$5$lcssa = $378; + break; + } + } + } else { + $$5$lcssa = $$3477; + } + $383 = (($$5$lcssa) + 18)|0; + _pad_674($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_674($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 14549 : 14553; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 14557 : 14561; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_674($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_674($0,32,$2,$32,$34); + $$sink562 = $32; + } + } while(0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); +} +function ___DOUBLE_BITS_675($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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 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_448()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = HEAP32[$8>>2]|0; + $not$ = ($9|0)==(0|0); + if ($not$) { + $10 = $1 & -128; + $11 = ($10|0)==(57216); + if ($11) { + $13 = $1&255; + HEAP8[$0>>0] = $13; + $$0 = 1; + break; + } else { + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + break; + } + } + $14 = ($1>>>0)<(2048); + if ($14) { + $15 = $1 >>> 6; + $16 = $15 | 192; + $17 = $16&255; + $18 = ((($0)) + 1|0); + HEAP8[$0>>0] = $17; + $19 = $1 & 63; + $20 = $19 | 128; + $21 = $20&255; + HEAP8[$18>>0] = $21; + $$0 = 2; + break; + } + $22 = ($1>>>0)<(55296); + $23 = $1 & -8192; + $24 = ($23|0)==(57344); + $or$cond = $22 | $24; + if ($or$cond) { + $25 = $1 >>> 12; + $26 = $25 | 224; + $27 = $26&255; + $28 = ((($0)) + 1|0); + HEAP8[$0>>0] = $27; + $29 = $1 >>> 6; + $30 = $29 & 63; + $31 = $30 | 128; + $32 = $31&255; + $33 = ((($0)) + 2|0); + HEAP8[$28>>0] = $32; + $34 = $1 & 63; + $35 = $34 | 128; + $36 = $35&255; + HEAP8[$33>>0] = $36; + $$0 = 3; + break; + } + $37 = (($1) + -65536)|0; + $38 = ($37>>>0)<(1048576); + if ($38) { + $39 = $1 >>> 18; + $40 = $39 | 240; + $41 = $40&255; + $42 = ((($0)) + 1|0); + HEAP8[$0>>0] = $41; + $43 = $1 >>> 12; + $44 = $43 & 63; + $45 = $44 | 128; + $46 = $45&255; + $47 = ((($0)) + 2|0); + HEAP8[$42>>0] = $46; + $48 = $1 >>> 6; + $49 = $48 & 63; + $50 = $49 | 128; + $51 = $50&255; + $52 = ((($0)) + 3|0); + HEAP8[$47>>0] = $51; + $53 = $1 & 63; + $54 = $53 | 128; + $55 = $54&255; + HEAP8[$52>>0] = $55; + $$0 = 4; + break; + } else { + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; + } + } + } while(0); + return ($$0|0); +} +function ___pthread_self_448() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function ___pthread_self_105() { + 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 = (14583 + ($$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 = 14671;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 14671; + } else { + $$01214 = 14671;$$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 & 15]($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 & 15]($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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 = ((($0)) + 48|0); + $18 = HEAP32[$17>>2]|0; + $19 = (($14) + ($18)|0); + $20 = ((($0)) + 16|0); + HEAP32[$20>>2] = $19; + $$0 = 0; + } else { + $10 = $7 | 32; + HEAP32[$0>>2] = $10; + $$0 = -1; + } + return ($$0|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 _strchr($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; + $2 = (___strchrnul($0,$1)|0); + $3 = HEAP8[$2>>0]|0; + $4 = $1&255; + $5 = ($3<<24>>24)==($4<<24>>24); + $6 = $5 ? $2 : 0; + return ($6|0); +} +function ___strchrnul($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1 & 255; + $3 = ($2|0)==(0); + L1: do { + if ($3) { + $8 = (_strlen($0)|0); + $9 = (($0) + ($8)|0); + $$0 = $9; + } else { + $4 = $0; + $5 = $4 & 3; + $6 = ($5|0)==(0); + if ($6) { + $$030$lcssa = $0; + } else { + $7 = $1&255; + $$03039 = $0; + while(1) { + $10 = HEAP8[$$03039>>0]|0; + $11 = ($10<<24>>24)==(0); + $12 = ($10<<24>>24)==($7<<24>>24); + $or$cond = $11 | $12; + if ($or$cond) { + $$0 = $$03039; + break L1; + } + $13 = ((($$03039)) + 1|0); + $14 = $13; + $15 = $14 & 3; + $16 = ($15|0)==(0); + if ($16) { + $$030$lcssa = $13; + break; + } else { + $$03039 = $13; + } + } + } + $17 = Math_imul($2, 16843009)|0; + $18 = HEAP32[$$030$lcssa>>2]|0; + $19 = (($18) + -16843009)|0; + $20 = $18 & -2139062144; + $21 = $20 ^ -2139062144; + $22 = $21 & $19; + $23 = ($22|0)==(0); + L10: do { + if ($23) { + $$02936 = $$030$lcssa;$25 = $18; + while(1) { + $24 = $25 ^ $17; + $26 = (($24) + -16843009)|0; + $27 = $24 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if (!($30)) { + $$029$lcssa = $$02936; + break L10; + } + $31 = ((($$02936)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = (($32) + -16843009)|0; + $34 = $32 & -2139062144; + $35 = $34 ^ -2139062144; + $36 = $35 & $33; + $37 = ($36|0)==(0); + if ($37) { + $$02936 = $31;$25 = $32; + } else { + $$029$lcssa = $31; + break; + } + } + } else { + $$029$lcssa = $$030$lcssa; + } + } while(0); + $38 = $1&255; + $$1 = $$029$lcssa; + while(1) { + $39 = HEAP8[$$1>>0]|0; + $40 = ($39<<24>>24)==(0); + $41 = ($39<<24>>24)==($38<<24>>24); + $or$cond33 = $40 | $41; + $42 = ((($$1)) + 1|0); + if ($or$cond33) { + $$0 = $$1; + break; + } else { + $$1 = $42; + } + } + } + } while(0); + return ($$0|0); +} +function _strcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var label = 0, sp = 0; + sp = STACKTOP; + (___stpcpy($0,$1)|0); + return ($0|0); +} +function ___stpcpy($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0$lcssa = 0, $$025$lcssa = 0, $$02536 = 0, $$026$lcssa = 0, $$02642 = 0, $$027$lcssa = 0, $$02741 = 0, $$029 = 0, $$037 = 0, $$1$ph = 0, $$128$ph = 0, $$12834 = 0, $$135 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0; + var $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, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0; + var $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = $1; + $3 = $0; + $4 = $2 ^ $3; + $5 = $4 & 3; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = $2 & 3; + $8 = ($7|0)==(0); + if ($8) { + $$026$lcssa = $1;$$027$lcssa = $0; + } else { + $$02642 = $1;$$02741 = $0; + while(1) { + $9 = HEAP8[$$02642>>0]|0; + HEAP8[$$02741>>0] = $9; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$029 = $$02741; + break L1; + } + $11 = ((($$02642)) + 1|0); + $12 = ((($$02741)) + 1|0); + $13 = $11; + $14 = $13 & 3; + $15 = ($14|0)==(0); + if ($15) { + $$026$lcssa = $11;$$027$lcssa = $12; + break; + } else { + $$02642 = $11;$$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa>>2]|0; + $17 = (($16) + -16843009)|0; + $18 = $16 & -2139062144; + $19 = $18 ^ -2139062144; + $20 = $19 & $17; + $21 = ($20|0)==(0); + if ($21) { + $$02536 = $$027$lcssa;$$037 = $$026$lcssa;$24 = $16; + while(1) { + $22 = ((($$037)) + 4|0); + $23 = ((($$02536)) + 4|0); + HEAP32[$$02536>>2] = $24; + $25 = HEAP32[$22>>2]|0; + $26 = (($25) + -16843009)|0; + $27 = $25 & -2139062144; + $28 = $27 ^ -2139062144; + $29 = $28 & $26; + $30 = ($29|0)==(0); + if ($30) { + $$02536 = $23;$$037 = $22;$24 = $25; + } else { + $$0$lcssa = $22;$$025$lcssa = $23; + break; + } + } + } else { + $$0$lcssa = $$026$lcssa;$$025$lcssa = $$027$lcssa; + } + $$1$ph = $$0$lcssa;$$128$ph = $$025$lcssa; + label = 8; + } else { + $$1$ph = $1;$$128$ph = $0; + label = 8; + } + } while(0); + if ((label|0) == 8) { + $31 = HEAP8[$$1$ph>>0]|0; + HEAP8[$$128$ph>>0] = $31; + $32 = ($31<<24>>24)==(0); + if ($32) { + $$029 = $$128$ph; + } else { + $$12834 = $$128$ph;$$135 = $$1$ph; + while(1) { + $33 = ((($$135)) + 1|0); + $34 = ((($$12834)) + 1|0); + $35 = HEAP8[$33>>0]|0; + HEAP8[$34>>0] = $35; + $36 = ($35<<24>>24)==(0); + if ($36) { + $$029 = $34; + break; + } else { + $$12834 = $34;$$135 = $33; + } + } + } + } + return ($$029|0); +} +function ___unlist_locked_file($0) { + $0 = $0|0; + var $$pre = 0, $$sink = 0, $1 = 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; + $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); + $$pre = ((($0)) + 112|0); + if (!($6)) { + $7 = HEAP32[$$pre>>2]|0; + $8 = ((($5)) + 112|0); + HEAP32[$8>>2] = $7; + } + $9 = HEAP32[$$pre>>2]|0; + $10 = ($9|0)==(0|0); + if ($10) { + $12 = (___pthread_self_607()|0); + $13 = ((($12)) + 232|0); + $$sink = $13; + } else { + $11 = ((($9)) + 116|0); + $$sink = $11; + } + HEAP32[$$sink>>2] = $5; + } + return; +} +function ___pthread_self_607() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + return ($0|0); +} +function _fopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 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, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0; + var $vararg_ptr2 = 0, $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_buffer8 = sp + 32|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = HEAP8[$1>>0]|0; + $3 = $2 << 24 >> 24; + $memchr = (_memchr(16475,$3,4)|0); + $4 = ($memchr|0)==(0|0); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 22; + $$0 = 0; + } else { + $6 = (___fmodeflags($1)|0); + $7 = $0; + $8 = $6 | 32768; + 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] = 438; + $9 = (___syscall5(5,($vararg_buffer|0))|0); + $10 = (___syscall_ret($9)|0); + $11 = ($10|0)<(0); + if ($11) { + $$0 = 0; + } else { + $12 = $6 & 524288; + $13 = ($12|0)==(0); + if (!($13)) { + HEAP32[$vararg_buffer3>>2] = $10; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 2; + $vararg_ptr7 = ((($vararg_buffer3)) + 8|0); + HEAP32[$vararg_ptr7>>2] = 1; + (___syscall221(221,($vararg_buffer3|0))|0); + } + $14 = (___fdopen($10,$1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + HEAP32[$vararg_buffer8>>2] = $10; + (___syscall6(6,($vararg_buffer8|0))|0); + $$0 = 0; + } else { + $$0 = $14; + } + } + } + STACKTOP = sp;return ($$0|0); +} +function ___fmodeflags($0) { + $0 = $0|0; + var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $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; + var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (_strchr($0,43)|0); + $2 = ($1|0)==(0|0); + $3 = HEAP8[$0>>0]|0; + $not$ = ($3<<24>>24)!=(114); + $$ = $not$&1; + $$0 = $2 ? $$ : 2; + $4 = (_strchr($0,120)|0); + $5 = ($4|0)==(0|0); + $6 = $$0 | 128; + $$0$ = $5 ? $$0 : $6; + $7 = (_strchr($0,101)|0); + $8 = ($7|0)==(0|0); + $9 = $$0$ | 524288; + $$2 = $8 ? $$0$ : $9; + $10 = ($3<<24>>24)==(114); + $11 = $$2 | 64; + $$2$ = $10 ? $$2 : $11; + $12 = ($3<<24>>24)==(119); + $13 = $$2$ | 512; + $$4 = $12 ? $13 : $$2$; + $14 = ($3<<24>>24)==(97); + $15 = $$4 | 1024; + $$$4 = $14 ? $15 : $$4; + return ($$$4|0); +} +function ___fdopen($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$pre = 0, $$pre31 = 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; + 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, $41 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $vararg_buffer12 = sp + 40|0; + $vararg_buffer7 = sp + 24|0; + $vararg_buffer3 = sp + 16|0; + $vararg_buffer = sp; + $2 = sp + 56|0; + $3 = HEAP8[$1>>0]|0; + $4 = $3 << 24 >> 24; + $memchr = (_memchr(16475,$4,4)|0); + $5 = ($memchr|0)==(0|0); + if ($5) { + $6 = (___errno_location()|0); + HEAP32[$6>>2] = 22; + $$0 = 0; + } else { + $7 = (_malloc(1156)|0); + $8 = ($7|0)==(0|0); + if ($8) { + $$0 = 0; + } else { + dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + $9 = (_strchr($1,43)|0); + $10 = ($9|0)==(0|0); + if ($10) { + $11 = ($3<<24>>24)==(114); + $12 = $11 ? 8 : 4; + HEAP32[$7>>2] = $12; + } + $13 = (_strchr($1,101)|0); + $14 = ($13|0)==(0|0); + if ($14) { + $16 = $3; + } else { + HEAP32[$vararg_buffer>>2] = $0; + $vararg_ptr1 = ((($vararg_buffer)) + 4|0); + HEAP32[$vararg_ptr1>>2] = 2; + $vararg_ptr2 = ((($vararg_buffer)) + 8|0); + HEAP32[$vararg_ptr2>>2] = 1; + (___syscall221(221,($vararg_buffer|0))|0); + $$pre = HEAP8[$1>>0]|0; + $16 = $$pre; + } + $15 = ($16<<24>>24)==(97); + if ($15) { + HEAP32[$vararg_buffer3>>2] = $0; + $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); + HEAP32[$vararg_ptr6>>2] = 3; + $17 = (___syscall221(221,($vararg_buffer3|0))|0); + $18 = $17 & 1024; + $19 = ($18|0)==(0); + if ($19) { + $20 = $17 | 1024; + HEAP32[$vararg_buffer7>>2] = $0; + $vararg_ptr10 = ((($vararg_buffer7)) + 4|0); + HEAP32[$vararg_ptr10>>2] = 4; + $vararg_ptr11 = ((($vararg_buffer7)) + 8|0); + HEAP32[$vararg_ptr11>>2] = $20; + (___syscall221(221,($vararg_buffer7|0))|0); + } + $21 = HEAP32[$7>>2]|0; + $22 = $21 | 128; + HEAP32[$7>>2] = $22; + $29 = $22; + } else { + $$pre31 = HEAP32[$7>>2]|0; + $29 = $$pre31; + } + $23 = ((($7)) + 60|0); + HEAP32[$23>>2] = $0; + $24 = ((($7)) + 132|0); + $25 = ((($7)) + 44|0); + HEAP32[$25>>2] = $24; + $26 = ((($7)) + 48|0); + HEAP32[$26>>2] = 1024; + $27 = ((($7)) + 75|0); + HEAP8[$27>>0] = -1; + $28 = $29 & 8; + $30 = ($28|0)==(0); + if ($30) { + $31 = $2; + HEAP32[$vararg_buffer12>>2] = $0; + $vararg_ptr15 = ((($vararg_buffer12)) + 4|0); + HEAP32[$vararg_ptr15>>2] = 21523; + $vararg_ptr16 = ((($vararg_buffer12)) + 8|0); + HEAP32[$vararg_ptr16>>2] = $31; + $32 = (___syscall54(54,($vararg_buffer12|0))|0); + $33 = ($32|0)==(0); + if ($33) { + HEAP8[$27>>0] = 10; + } + } + $34 = ((($7)) + 32|0); + HEAP32[$34>>2] = 10; + $35 = ((($7)) + 36|0); + HEAP32[$35>>2] = 9; + $36 = ((($7)) + 40|0); + HEAP32[$36>>2] = 3; + $37 = ((($7)) + 12|0); + HEAP32[$37>>2] = 2; + $38 = HEAP32[(24668)>>2]|0; + $39 = ($38|0)==(0); + if ($39) { + $40 = ((($7)) + 76|0); + HEAP32[$40>>2] = -1; + } + $41 = (___ofl_add($7)|0); + $$0 = $7; + } + } + STACKTOP = sp;return ($$0|0); +} +function ___ofl_add($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (___ofl_lock()|0); + $2 = HEAP32[$1>>2]|0; + $3 = ((($0)) + 56|0); + HEAP32[$3>>2] = $2; + $4 = HEAP32[$1>>2]|0; + $5 = ($4|0)==(0|0); + if (!($5)) { + $6 = ((($4)) + 52|0); + HEAP32[$6>>2] = $0; + } + HEAP32[$1>>2] = $0; + ___ofl_unlock(); + return ($0|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((24728|0)); + return (24736|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((24728|0)); + return; +} +function _fclose($0) { + $0 = $0|0; + var $$pre = 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $4 = (___lockfile($0)|0); + $29 = $4; + } else { + $29 = 0; + } + ___unlist_locked_file($0); + $5 = HEAP32[$0>>2]|0; + $6 = $5 & 1; + $7 = ($6|0)!=(0); + if (!($7)) { + $8 = (___ofl_lock()|0); + $9 = ((($0)) + 52|0); + $10 = HEAP32[$9>>2]|0; + $11 = ($10|0)==(0|0); + $12 = $10; + $$pre = ((($0)) + 56|0); + if (!($11)) { + $13 = HEAP32[$$pre>>2]|0; + $14 = ((($10)) + 56|0); + HEAP32[$14>>2] = $13; + } + $15 = HEAP32[$$pre>>2]|0; + $16 = ($15|0)==(0|0); + if (!($16)) { + $17 = ((($15)) + 52|0); + HEAP32[$17>>2] = $12; + } + $18 = HEAP32[$8>>2]|0; + $19 = ($18|0)==($0|0); + if ($19) { + HEAP32[$8>>2] = $15; + } + ___ofl_unlock(); + } + $20 = (_fflush($0)|0); + $21 = ((($0)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = (FUNCTION_TABLE_ii[$22 & 15]($0)|0); + $24 = $23 | $20; + $25 = ((($0)) + 92|0); + $26 = HEAP32[$25>>2]|0; + $27 = ($26|0)==(0|0); + if (!($27)) { + _free($26); + } + if ($7) { + $28 = ($29|0)==(0); + if (!($28)) { + ___unlockfile($0); + } + } else { + _free($0); + } + return ($24|0); +} +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[999]|0; + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = HEAP32[999]|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); + $26 = $17; + } else { + $26 = 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; + } + $25 = ($26|0)==(0); + if (!($25)) { + ___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 & 15]($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 & 15]($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 _feof($0) { + $0 = $0|0; + var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 76|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)>(-1); + if ($3) { + $6 = (___lockfile($0)|0); + $phitmp = ($6|0)==(0); + $7 = HEAP32[$0>>2]|0; + $8 = $7 >>> 4; + $$lobit = $8 & 1; + if ($phitmp) { + $$lobit9 = $$lobit; + } else { + ___unlockfile($0); + $$lobit9 = $$lobit; + } + } else { + $4 = HEAP32[$0>>2]|0; + $5 = $4 >>> 4; + $$lobit8 = $5 & 1; + $$lobit9 = $$lobit8; + } + return ($$lobit9|0); +} +function _fseek($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = (___fseeko($0,$1,$2)|0); + return ($3|0); +} +function ___fseeko($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, $phitmp = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ((($0)) + 76|0); + $4 = HEAP32[$3>>2]|0; + $5 = ($4|0)>(-1); + if ($5) { + $7 = (___lockfile($0)|0); + $phitmp = ($7|0)==(0); + $8 = (___fseeko_unlocked($0,$1,$2)|0); + if ($phitmp) { + $9 = $8; + } else { + ___unlockfile($0); + $9 = $8; + } + } else { + $6 = (___fseeko_unlocked($0,$1,$2)|0); + $9 = $6; + } + return ($9|0); +} +function ___fseeko_unlocked($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$019 = 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 $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = ($2|0)==(1); + if ($3) { + $4 = ((($0)) + 8|0); + $5 = HEAP32[$4>>2]|0; + $6 = ((($0)) + 4|0); + $7 = HEAP32[$6>>2]|0; + $8 = (($1) - ($5))|0; + $9 = (($8) + ($7))|0; + $$019 = $9; + } else { + $$019 = $1; + } + $10 = ((($0)) + 20|0); + $11 = HEAP32[$10>>2]|0; + $12 = ((($0)) + 28|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11>>>0)>($13>>>0); + if ($14) { + $15 = ((($0)) + 36|0); + $16 = HEAP32[$15>>2]|0; + (FUNCTION_TABLE_iiii[$16 & 15]($0,0,0)|0); + $17 = HEAP32[$10>>2]|0; + $18 = ($17|0)==(0|0); + if ($18) { + $$0 = -1; + } else { + label = 5; + } + } else { + label = 5; + } + if ((label|0) == 5) { + $19 = ((($0)) + 16|0); + HEAP32[$19>>2] = 0; + HEAP32[$12>>2] = 0; + HEAP32[$10>>2] = 0; + $20 = ((($0)) + 40|0); + $21 = HEAP32[$20>>2]|0; + $22 = (FUNCTION_TABLE_iiii[$21 & 15]($0,$$019,$2)|0); + $23 = ($22|0)<(0); + if ($23) { + $$0 = -1; + } else { + $24 = ((($0)) + 8|0); + HEAP32[$24>>2] = 0; + $25 = ((($0)) + 4|0); + HEAP32[$25>>2] = 0; + $26 = HEAP32[$0>>2]|0; + $27 = $26 & -17; + HEAP32[$0>>2] = $27; + $$0 = 0; + } + } + return ($$0|0); +} +function _strstr($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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = ($2<<24>>24)==(0); + do { + if ($3) { + $$0 = $0; + } else { + $4 = $2 << 24 >> 24; + $5 = (_strchr($0,$4)|0); + $6 = ($5|0)==(0|0); + if ($6) { + $$0 = 0; + } else { + $7 = ((($1)) + 1|0); + $8 = HEAP8[$7>>0]|0; + $9 = ($8<<24>>24)==(0); + if ($9) { + $$0 = $5; + } else { + $10 = ((($5)) + 1|0); + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + $$0 = 0; + } else { + $13 = ((($1)) + 2|0); + $14 = HEAP8[$13>>0]|0; + $15 = ($14<<24>>24)==(0); + if ($15) { + $16 = (_twobyte_strstr($5,$1)|0); + $$0 = $16; + break; + } + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; + } else { + $20 = ((($1)) + 3|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + $23 = (_threebyte_strstr($5,$1)|0); + $$0 = $23; + break; + } + $24 = ((($5)) + 3|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + $$0 = 0; + } else { + $27 = ((($1)) + 4|0); + $28 = HEAP8[$27>>0]|0; + $29 = ($28<<24>>24)==(0); + if ($29) { + $30 = (_fourbyte_strstr($5,$1)|0); + $$0 = $30; + break; + } else { + $31 = (_twoway_strstr($5,$1)|0); + $$0 = $31; + break; + } + } + } + } + } + } + } + } while(0); + return ($$0|0); +} +function _twobyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$sink = 0, $$sink$in = 0, $$sink$masked = 0, $$sink17$sink = 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; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 8; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $4 | $7; + $9 = HEAP8[$0>>0]|0; + $10 = $9&255; + $$sink$in = $10;$$sink17$sink = $0; + while(1) { + $11 = ((($$sink17$sink)) + 1|0); + $12 = HEAP8[$11>>0]|0; + $13 = ($12<<24>>24)==(0); + if ($13) { + $$lcssa = 0; + break; + } + $$sink = $$sink$in << 8; + $14 = $12&255; + $$sink$masked = $$sink & 65280; + $15 = $14 | $$sink$masked; + $16 = ($15|0)==($8|0); + if ($16) { + $$lcssa = $$sink17$sink; + break; + } else { + $$sink$in = $15;$$sink17$sink = $11; + } + } + return ($$lcssa|0); +} +function _threebyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$016$lcssa = 0, $$01619 = 0, $$020 = 0, $$lcssa = 0, $$not = 0, $$not17 = 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; + 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, $4 = 0, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond18 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = HEAP8[$0>>0]|0; + $16 = $15&255; + $17 = $16 << 24; + $18 = ((($0)) + 1|0); + $19 = HEAP8[$18>>0]|0; + $20 = $19&255; + $21 = $20 << 16; + $22 = $21 | $17; + $23 = ((($0)) + 2|0); + $24 = HEAP8[$23>>0]|0; + $25 = $24&255; + $26 = $25 << 8; + $27 = $22 | $26; + $28 = ($24<<24>>24)!=(0); + $$not17 = $28 ^ 1; + $29 = ($27|0)==($14|0); + $or$cond18 = $29 | $$not17; + if ($or$cond18) { + $$016$lcssa = $23;$$lcssa = $28; + } else { + $$01619 = $23;$$020 = $27; + while(1) { + $30 = ((($$01619)) + 1|0); + $31 = HEAP8[$30>>0]|0; + $32 = $31&255; + $33 = $32 | $$020; + $34 = $33 << 8; + $35 = ($31<<24>>24)!=(0); + $$not = $35 ^ 1; + $36 = ($34|0)==($14|0); + $or$cond = $36 | $$not; + if ($or$cond) { + $$016$lcssa = $30;$$lcssa = $35; + break; + } else { + $$01619 = $30;$$020 = $34; + } + } + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); +} +function _fourbyte_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$lcssa = 0, $$not = 0, $$not22 = 0, $$sink21$lcssa = 0, $$sink2124 = 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; + 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond23 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP8[$1>>0]|0; + $3 = $2&255; + $4 = $3 << 24; + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = $6&255; + $8 = $7 << 16; + $9 = $8 | $4; + $10 = ((($1)) + 2|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11&255; + $13 = $12 << 8; + $14 = $9 | $13; + $15 = ((($1)) + 3|0); + $16 = HEAP8[$15>>0]|0; + $17 = $16&255; + $18 = $14 | $17; + $19 = HEAP8[$0>>0]|0; + $20 = $19&255; + $21 = $20 << 24; + $22 = ((($0)) + 1|0); + $23 = HEAP8[$22>>0]|0; + $24 = $23&255; + $25 = $24 << 16; + $26 = $25 | $21; + $27 = ((($0)) + 2|0); + $28 = HEAP8[$27>>0]|0; + $29 = $28&255; + $30 = $29 << 8; + $31 = $26 | $30; + $32 = ((($0)) + 3|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $35 = $34 | $31; + $36 = ($33<<24>>24)!=(0); + $$not22 = $36 ^ 1; + $37 = ($35|0)==($18|0); + $or$cond23 = $37 | $$not22; + if ($or$cond23) { + $$lcssa = $36;$$sink21$lcssa = $32; + } else { + $$sink2124 = $32;$39 = $35; + while(1) { + $38 = $39 << 8; + $40 = ((($$sink2124)) + 1|0); + $41 = HEAP8[$40>>0]|0; + $42 = $41&255; + $43 = $42 | $38; + $44 = ($41<<24>>24)!=(0); + $$not = $44 ^ 1; + $45 = ($43|0)==($18|0); + $or$cond = $45 | $$not; + if ($or$cond) { + $$lcssa = $44;$$sink21$lcssa = $40; + break; + } else { + $$sink2124 = $40;$39 = $43; + } + } + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); +} +function _twoway_strstr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0166 = 0, $$0168 = 0, $$0169 = 0, $$0169$be = 0, $$0170 = 0, $$0175$ph$ph$lcssa220 = 0, $$0175$ph$ph$lcssa220323 = 0, $$0175$ph$ph256 = 0, $$0179244 = 0, $$0183$ph200$ph255 = 0, $$0183$ph200250 = 0, $$0183$ph262 = 0, $$0185$ph$lcssa = 0, $$0185$ph$lcssa322 = 0, $$0185$ph261 = 0, $$0187$lcssa320321 = 0, $$0187266 = 0, $$1176$$0175 = 0, $$1176$ph$ph$lcssa211 = 0, $$1176$ph$ph235 = 0; + var $$1180224 = 0, $$1184$ph196$ph234 = 0, $$1184$ph196229 = 0, $$1184$ph241 = 0, $$1186$$0185 = 0, $$1186$$0185$ = 0, $$1186$ph$lcssa = 0, $$1186$ph240 = 0, $$2181 = 0, $$2181$sink = 0, $$3 = 0, $$3173 = 0, $$3178 = 0, $$3182223 = 0, $$4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0; + var $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, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0; + var $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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0; + var $2 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0; + var $38 = 0, $39 = 0, $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; + var $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, $73 = 0; + var $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, $91 = 0; + var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond191 = 0, $cond191222 = 0, $cond265 = 0, $div = 0, $div188 = 0, $or$cond = 0, $or$cond190 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); + $2 = sp + 1024|0; + $3 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $4 = HEAP8[$1>>0]|0; + $cond265 = ($4<<24>>24)==(0); + L1: do { + if ($cond265) { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = 0;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } else { + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; + while(1) { + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; + $10 = ($9<<24>>24)==(0); + if ($10) { + $$3 = 0; + break L1; + } + $11 = $12 & 31; + $13 = $11&255; + $14 = 1 << $13; + $div188 = ($12&255) >>> 5; + $15 = $div188&255; + $16 = (($2) + ($15<<2)|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 | $14; + HEAP32[$16>>2] = $18; + $7 = (($$0187266) + 1)|0; + $19 = (($3) + ($20<<2)|0); + HEAP32[$19>>2] = $7; + $21 = (($1) + ($7)|0); + $22 = HEAP8[$21>>0]|0; + $23 = $22&255; + $cond = ($22<<24>>24)==(0); + if ($cond) { + break; + } else { + $$0187266 = $7;$12 = $22;$20 = $23; + } + } + $6 = ($7>>>0)>(1); + if ($6) { + $$0183$ph262 = 0;$$0185$ph261 = -1;$129 = 1; + L7: while(1) { + $$0175$ph$ph256 = 1;$$0183$ph200$ph255 = $$0183$ph262;$132 = $129; + while(1) { + $$0183$ph200250 = $$0183$ph200$ph255;$131 = $132; + L11: while(1) { + $$0179244 = 1;$31 = $131; + while(1) { + $27 = (($$0179244) + ($$0185$ph261))|0; + $28 = (($1) + ($27)|0); + $29 = HEAP8[$28>>0]|0; + $30 = (($1) + ($31)|0); + $32 = HEAP8[$30>>0]|0; + $33 = ($29<<24>>24)==($32<<24>>24); + if (!($33)) { + break L11; + } + $34 = ($$0179244|0)==($$0175$ph$ph256|0); + $25 = (($$0179244) + 1)|0; + if ($34) { + break; + } + $24 = (($25) + ($$0183$ph200250))|0; + $26 = ($24>>>0)<($7>>>0); + if ($26) { + $$0179244 = $25;$31 = $24; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $35 = (($$0175$ph$ph256) + ($$0183$ph200250))|0; + $36 = (($35) + 1)|0; + $37 = ($36>>>0)<($7>>>0); + if ($37) { + $$0183$ph200250 = $35;$131 = $36; + } else { + $$0175$ph$ph$lcssa220 = $$0175$ph$ph256;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $38 = ($29&255)>($32&255); + $39 = (($31) - ($$0185$ph261))|0; + if (!($38)) { + break; + } + $43 = (($31) + 1)|0; + $44 = ($43>>>0)<($7>>>0); + if ($44) { + $$0175$ph$ph256 = $39;$$0183$ph200$ph255 = $31;$132 = $43; + } else { + $$0175$ph$ph$lcssa220 = $39;$$0185$ph$lcssa = $$0185$ph261; + break L7; + } + } + $40 = (($$0183$ph200250) + 1)|0; + $41 = (($$0183$ph200250) + 2)|0; + $42 = ($41>>>0)<($7>>>0); + if ($42) { + $$0183$ph262 = $40;$$0185$ph261 = $$0183$ph200250;$129 = $41; + } else { + $$0175$ph$ph$lcssa220 = 1;$$0185$ph$lcssa = $$0183$ph200250; + break; + } + } + if ($6) { + $$1184$ph241 = 0;$$1186$ph240 = -1;$130 = 1; + while(1) { + $$1176$ph$ph235 = 1;$$1184$ph196$ph234 = $$1184$ph241;$134 = $130; + while(1) { + $$1184$ph196229 = $$1184$ph196$ph234;$133 = $134; + L26: while(1) { + $$1180224 = 1;$52 = $133; + while(1) { + $48 = (($$1180224) + ($$1186$ph240))|0; + $49 = (($1) + ($48)|0); + $50 = HEAP8[$49>>0]|0; + $51 = (($1) + ($52)|0); + $53 = HEAP8[$51>>0]|0; + $54 = ($50<<24>>24)==($53<<24>>24); + if (!($54)) { + break L26; + } + $55 = ($$1180224|0)==($$1176$ph$ph235|0); + $46 = (($$1180224) + 1)|0; + if ($55) { + break; + } + $45 = (($46) + ($$1184$ph196229))|0; + $47 = ($45>>>0)<($7>>>0); + if ($47) { + $$1180224 = $46;$52 = $45; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $56 = (($$1176$ph$ph235) + ($$1184$ph196229))|0; + $57 = (($56) + 1)|0; + $58 = ($57>>>0)<($7>>>0); + if ($58) { + $$1184$ph196229 = $56;$133 = $57; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $$1176$ph$ph235;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $59 = ($50&255)<($53&255); + $60 = (($52) - ($$1186$ph240))|0; + if (!($59)) { + break; + } + $64 = (($52) + 1)|0; + $65 = ($64>>>0)<($7>>>0); + if ($65) { + $$1176$ph$ph235 = $60;$$1184$ph196$ph234 = $52;$134 = $64; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = $60;$$1186$ph$lcssa = $$1186$ph240; + label = 27; + break L1; + } + } + $61 = (($$1184$ph196229) + 1)|0; + $62 = (($$1184$ph196229) + 2)|0; + $63 = ($62>>>0)<($7>>>0); + if ($63) { + $$1184$ph241 = $61;$$1186$ph240 = $$1184$ph196229;$130 = $62; + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = $$1184$ph196229; + label = 27; + break; + } + } + } else { + $$0175$ph$ph$lcssa220323 = $$0175$ph$ph$lcssa220;$$0185$ph$lcssa322 = $$0185$ph$lcssa;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } else { + $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; + label = 27; + } + } + } while(0); + L36: do { + if ((label|0) == 27) { + $66 = (($$1186$ph$lcssa) + 1)|0; + $67 = (($$0185$ph$lcssa322) + 1)|0; + $68 = ($66>>>0)>($67>>>0); + $$1176$$0175 = $68 ? $$1176$ph$ph$lcssa211 : $$0175$ph$ph$lcssa220323; + $$1186$$0185 = $68 ? $$1186$ph$lcssa : $$0185$ph$lcssa322; + $69 = (($1) + ($$1176$$0175)|0); + $70 = (($$1186$$0185) + 1)|0; + $71 = (_memcmp($1,$69,$70)|0); + $72 = ($71|0)==(0); + if ($72) { + $77 = (($$0187$lcssa320321) - ($$1176$$0175))|0; + $$0168 = $77;$$3178 = $$1176$$0175; + } else { + $73 = (($$0187$lcssa320321) - ($$1186$$0185))|0; + $74 = (($73) + -1)|0; + $75 = ($$1186$$0185>>>0)>($74>>>0); + $$1186$$0185$ = $75 ? $$1186$$0185 : $74; + $76 = (($$1186$$0185$) + 1)|0; + $$0168 = 0;$$3178 = $76; + } + $78 = $$0187$lcssa320321 | 63; + $79 = (($$0187$lcssa320321) + -1)|0; + $80 = ($$0168|0)!=(0); + $81 = (($$0187$lcssa320321) - ($$3178))|0; + $$0166 = $0;$$0169 = 0;$$0170 = $0; + while(1) { + $82 = $$0170; + $83 = $$0166; + $84 = (($82) - ($83))|0; + $85 = ($84>>>0)<($$0187$lcssa320321>>>0); + do { + if ($85) { + $86 = (_memchr($$0170,0,$78)|0); + $87 = ($86|0)==(0|0); + if ($87) { + $91 = (($$0170) + ($78)|0); + $$3173 = $91; + break; + } else { + $88 = $86; + $89 = (($88) - ($83))|0; + $90 = ($89>>>0)<($$0187$lcssa320321>>>0); + if ($90) { + $$3 = 0; + break L36; + } else { + $$3173 = $86; + break; + } + } + } else { + $$3173 = $$0170; + } + } while(0); + $92 = (($$0166) + ($79)|0); + $93 = HEAP8[$92>>0]|0; + $div = ($93&255) >>> 5; + $94 = $div&255; + $95 = (($2) + ($94<<2)|0); + $96 = HEAP32[$95>>2]|0; + $97 = $93 & 31; + $98 = $97&255; + $99 = 1 << $98; + $100 = $99 & $96; + $101 = ($100|0)==(0); + L50: do { + if ($101) { + $$0169$be = 0;$$2181$sink = $$0187$lcssa320321; + } else { + $102 = $93&255; + $103 = (($3) + ($102<<2)|0); + $104 = HEAP32[$103>>2]|0; + $105 = (($$0187$lcssa320321) - ($104))|0; + $106 = ($105|0)==(0); + if (!($106)) { + $107 = ($$0169|0)!=(0); + $or$cond = $80 & $107; + $108 = ($105>>>0)<($$3178>>>0); + $or$cond190 = $or$cond & $108; + $$2181 = $or$cond190 ? $81 : $105; + $$0169$be = 0;$$2181$sink = $$2181; + break; + } + $110 = ($70>>>0)>($$0169>>>0); + $111 = $110 ? $70 : $$0169; + $112 = (($1) + ($111)|0); + $113 = HEAP8[$112>>0]|0; + $cond191222 = ($113<<24>>24)==(0); + L55: do { + if ($cond191222) { + $$4 = $70; + } else { + $$3182223 = $111;$117 = $113; + while(1) { + $114 = (($$0166) + ($$3182223)|0); + $115 = HEAP8[$114>>0]|0; + $116 = ($117<<24>>24)==($115<<24>>24); + if (!($116)) { + break; + } + $118 = (($$3182223) + 1)|0; + $119 = (($1) + ($118)|0); + $120 = HEAP8[$119>>0]|0; + $cond191 = ($120<<24>>24)==(0); + if ($cond191) { + $$4 = $70; + break L55; + } else { + $$3182223 = $118;$117 = $120; + } + } + $121 = (($$3182223) - ($$1186$$0185))|0; + $$0169$be = 0;$$2181$sink = $121; + break L50; + } + } while(0); + while(1) { + $122 = ($$4>>>0)>($$0169>>>0); + if (!($122)) { + $$3 = $$0166; + break L36; + } + $123 = (($$4) + -1)|0; + $124 = (($1) + ($123)|0); + $125 = HEAP8[$124>>0]|0; + $126 = (($$0166) + ($123)|0); + $127 = HEAP8[$126>>0]|0; + $128 = ($125<<24>>24)==($127<<24>>24); + if ($128) { + $$4 = $123; + } else { + $$0169$be = $$0168;$$2181$sink = $$3178; + break; + } + } + } + } while(0); + $109 = (($$0166) + ($$2181$sink)|0); + $$0166 = $109;$$0169 = $$0169$be;$$0170 = $$3173; + } + } + } while(0); + STACKTOP = sp;return ($$3|0); +} +function _strrchr($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($2) + 1)|0; + $4 = (___memrchr($0,$1,$3)|0); + return ($4|0); +} +function ___memrchr($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $1&255; + $$09 = $2; + while(1) { + $4 = (($$09) + -1)|0; + $5 = ($$09|0)==(0); + if ($5) { + $$0 = 0; + break; + } + $6 = (($0) + ($4)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==($3<<24>>24); + if ($8) { + $$0 = $6; + break; + } else { + $$09 = $4; + } + } + return ($$0|0); +} +function _strspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$01925 = 0, $$020 = 0, $$1$lcssa = 0, $$123 = 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; + 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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + do { + if ($4) { + $$0 = 0; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + $$020 = $0; + while(1) { + $8 = HEAP8[$$020>>0]|0; + $9 = ($8<<24>>24)==($3<<24>>24); + $10 = ((($$020)) + 1|0); + if ($9) { + $$020 = $10; + } else { + break; + } + } + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; + break; + } else { + $$01925 = $1;$17 = $3; + } + while(1) { + $16 = $17 & 31; + $18 = $16&255; + $19 = 1 << $18; + $div21 = ($17&255) >>> 5; + $20 = $div21&255; + $21 = (($2) + ($20<<2)|0); + $22 = HEAP32[$21>>2]|0; + $23 = $22 | $19; + HEAP32[$21>>2] = $23; + $24 = ((($$01925)) + 1|0); + $25 = HEAP8[$24>>0]|0; + $26 = ($25<<24>>24)==(0); + if ($26) { + break; + } else { + $$01925 = $24;$17 = $25; + } + } + $14 = HEAP8[$0>>0]|0; + $15 = ($14<<24>>24)==(0); + L10: do { + if ($15) { + $$1$lcssa = $0; + } else { + $$123 = $0;$27 = $14; + while(1) { + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($28<<2)|0); + $30 = HEAP32[$29>>2]|0; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; + } + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; + break; + } else { + $$123 = $36;$27 = $37; + } + } + } + } while(0); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; + } + } while(0); + STACKTOP = sp;return ($$0|0); +} +function _srand($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (($0) + -1)|0; + $2 = 16744; + $3 = $2; + HEAP32[$3>>2] = $1; + $4 = (($2) + 4)|0; + $5 = $4; + HEAP32[$5>>2] = 0; + return; +} +function _rand() { + var $0 = 0, $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; + $0 = 16744; + $1 = $0; + $2 = HEAP32[$1>>2]|0; + $3 = (($0) + 4)|0; + $4 = $3; + $5 = HEAP32[$4>>2]|0; + $6 = (___muldi3(($2|0),($5|0),1284865837,1481765933)|0); + $7 = tempRet0; + $8 = (_i64Add(($6|0),($7|0),1,0)|0); + $9 = tempRet0; + $10 = 16744; + $11 = $10; + HEAP32[$11>>2] = $8; + $12 = (($10) + 4)|0; + $13 = $12; + HEAP32[$13>>2] = $9; + $14 = (_bitshift64Lshr(($8|0),($9|0),33)|0); + $15 = tempRet0; + return ($14|0); +} +function _fread($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $$ = 0, $$0 = 0, $$054$ph = 0, $$05460 = 0, $$056$ph = 0, $$05659 = 0, $$57 = 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, $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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 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) { + $9 = (___lockfile($3)|0); + $36 = $9; + } else { + $36 = 0; + } + $10 = ((($3)) + 74|0); + $11 = HEAP8[$10>>0]|0; + $12 = $11 << 24 >> 24; + $13 = (($12) + 255)|0; + $14 = $13 | $12; + $15 = $14&255; + HEAP8[$10>>0] = $15; + $16 = ((($3)) + 8|0); + $17 = HEAP32[$16>>2]|0; + $18 = ((($3)) + 4|0); + $19 = HEAP32[$18>>2]|0; + $20 = $19; + $21 = (($17) - ($20))|0; + $22 = ($21|0)>(0); + $23 = ($21>>>0)<($4>>>0); + $$57 = $23 ? $21 : $4; + if ($22) { + $24 = (($4) - ($$57))|0; + $25 = (($0) + ($$57)|0); + _memcpy(($0|0),($19|0),($$57|0))|0; + $26 = (($19) + ($$57)|0); + HEAP32[$18>>2] = $26; + $$054$ph = $24;$$056$ph = $25; + } else { + $$054$ph = $4;$$056$ph = $0; + } + $27 = ($$054$ph|0)==(0); + L7: do { + if ($27) { + label = 13; + } else { + $28 = ((($3)) + 32|0); + $$05460 = $$054$ph;$$05659 = $$056$ph; + while(1) { + $29 = (___toread($3)|0); + $30 = ($29|0)==(0); + if (!($30)) { + break; + } + $31 = HEAP32[$28>>2]|0; + $32 = (FUNCTION_TABLE_iiii[$31 & 15]($3,$$05659,$$05460)|0); + $33 = (($32) + 1)|0; + $34 = ($33>>>0)<(2); + if ($34) { + break; + } + $39 = (($$05460) - ($32))|0; + $40 = (($$05659) + ($32)|0); + $41 = ($39|0)==(0); + if ($41) { + label = 13; + break L7; + } else { + $$05460 = $39;$$05659 = $40; + } + } + $35 = ($36|0)==(0); + if (!($35)) { + ___unlockfile($3); + } + $37 = (($4) - ($$05460))|0; + $38 = (($37>>>0) / ($1>>>0))&-1; + $$0 = $38; + } + } while(0); + if ((label|0) == 13) { + $42 = ($36|0)==(0); + if ($42) { + $$0 = $$; + } else { + ___unlockfile($3); + $$0 = $$; + } + } + return ($$0|0); +} +function _vprintf($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = HEAP32[967]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); +} +function _strcspn($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$01824 = 0, $$019$sink = 0, $$01922 = 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; + 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, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0; + var $div20 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $2 = sp; + $3 = HEAP8[$1>>0]|0; + $4 = ($3<<24>>24)==(0); + L1: do { + if ($4) { + label = 3; + } else { + $5 = ((($1)) + 1|0); + $6 = HEAP8[$5>>0]|0; + $7 = ($6<<24>>24)==(0); + if ($7) { + label = 3; + } else { + ;HEAP32[$2>>2]=0|0;HEAP32[$2+4>>2]=0|0;HEAP32[$2+8>>2]=0|0;HEAP32[$2+12>>2]=0|0;HEAP32[$2+16>>2]=0|0;HEAP32[$2+20>>2]=0|0;HEAP32[$2+24>>2]=0|0;HEAP32[$2+28>>2]=0|0; + $$01824 = $1;$13 = $3; + while(1) { + $12 = $13 & 31; + $14 = $12&255; + $15 = 1 << $14; + $div20 = ($13&255) >>> 5; + $16 = $div20&255; + $17 = (($2) + ($16<<2)|0); + $18 = HEAP32[$17>>2]|0; + $19 = $18 | $15; + HEAP32[$17>>2] = $19; + $20 = ((($$01824)) + 1|0); + $21 = HEAP8[$20>>0]|0; + $22 = ($21<<24>>24)==(0); + if ($22) { + break; + } else { + $$01824 = $20;$13 = $21; + } + } + $10 = HEAP8[$0>>0]|0; + $11 = ($10<<24>>24)==(0); + if ($11) { + $$019$sink = $0; + } else { + $$01922 = $0;$23 = $10; + while(1) { + $div = ($23&255) >>> 5; + $24 = $div&255; + $25 = (($2) + ($24<<2)|0); + $26 = HEAP32[$25>>2]|0; + $27 = $23 & 31; + $28 = $27&255; + $29 = 1 << $28; + $30 = $26 & $29; + $31 = ($30|0)==(0); + if (!($31)) { + $$019$sink = $$01922; + break L1; + } + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; + break; + } else { + $$01922 = $32;$23 = $33; + } + } + } + } + } + } while(0); + if ((label|0) == 3) { + $8 = $3 << 24 >> 24; + $9 = (___strchrnul($0,$8)|0); + $$019$sink = $9; + } + $35 = $$019$sink; + $36 = $0; + $37 = (($35) - ($36))|0; + STACKTOP = sp;return ($37|0); +} +function _strcat($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (_strlen($0)|0); + $3 = (($0) + ($2)|0); + (_strcpy($3,$1)|0); + return ($0|0); +} +function _strtok($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0, $$010 = 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|0); + if ($2) { + $3 = HEAP32[6185]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do { + if ((label|0) == 3) { + $5 = (_strspn($$010,$1)|0); + $6 = (($$010) + ($5)|0); + $7 = HEAP8[$6>>0]|0; + $8 = ($7<<24>>24)==(0); + if ($8) { + HEAP32[6185] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[6185] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[6185] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[6185] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); + return ($$0|0); +} +function _malloc($0) { + $0 = $0|0; + var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0; + var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0; + var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0; + var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0; + var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0; + var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0; + var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $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, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0; + var $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, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0; + var $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, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0; + var $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, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0; + var $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, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0; + var $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, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0; + var $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, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0; + var $292 = 0, $293 = 0, $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; + var $31 = 0, $310 = 0, $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; + var $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, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0; + var $346 = 0, $347 = 0, $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; + var $364 = 0, $365 = 0, $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; + var $382 = 0, $383 = 0, $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; + var $40 = 0, $400 = 0, $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; + var $418 = 0, $419 = 0, $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; + var $436 = 0, $437 = 0, $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; + var $454 = 0, $455 = 0, $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; + var $472 = 0, $473 = 0, $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; + var $490 = 0, $491 = 0, $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; + var $508 = 0, $509 = 0, $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; + var $526 = 0, $527 = 0, $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; + var $544 = 0, $545 = 0, $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; + var $562 = 0, $563 = 0, $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; + var $580 = 0, $581 = 0, $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; + var $599 = 0, $6 = 0, $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; + var $616 = 0, $617 = 0, $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; + var $634 = 0, $635 = 0, $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; + var $652 = 0, $653 = 0, $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; + var $670 = 0, $671 = 0, $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; + var $689 = 0, $69 = 0, $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; + var $706 = 0, $707 = 0, $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; + var $724 = 0, $725 = 0, $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; + var $742 = 0, $743 = 0, $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; + var $760 = 0, $761 = 0, $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; + var $779 = 0, $78 = 0, $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; + var $797 = 0, $798 = 0, $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; + var $814 = 0, $815 = 0, $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; + var $832 = 0, $833 = 0, $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; + var $850 = 0, $851 = 0, $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; + var $869 = 0, $87 = 0, $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; + var $887 = 0, $888 = 0, $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; + var $904 = 0, $905 = 0, $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; + var $922 = 0, $923 = 0, $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; + var $940 = 0, $941 = 0, $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; + var $959 = 0, $96 = 0, $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, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0; + var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0; + var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0; + var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$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[6186]|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 = (24784 + ($15<<2)|0); + $17 = ((($16)) + 8|0); + $18 = HEAP32[$17>>2]|0; + $19 = ((($18)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($16|0)==($20|0); + do { + if ($21) { + $22 = 1 << $14; + $23 = $22 ^ -1; + $24 = $8 & $23; + HEAP32[6186] = $24; + } else { + $25 = HEAP32[(24760)>>2]|0; + $26 = ($20>>>0)<($25>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($18|0); + if ($29) { + HEAP32[$27>>2] = $16; + HEAP32[$17>>2] = $20; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $30 = $14 << 3; + $31 = $30 | 3; + $32 = ((($18)) + 4|0); + HEAP32[$32>>2] = $31; + $33 = (($18) + ($30)|0); + $34 = ((($33)) + 4|0); + $35 = HEAP32[$34>>2]|0; + $36 = $35 | 1; + HEAP32[$34>>2] = $36; + $$0 = $19; + STACKTOP = sp;return ($$0|0); + } + $37 = HEAP32[(24752)>>2]|0; + $38 = ($6>>>0)>($37>>>0); + if ($38) { + $39 = ($9|0)==(0); + if (!($39)) { + $40 = $9 << $7; + $41 = 2 << $7; + $42 = (0 - ($41))|0; + $43 = $41 | $42; + $44 = $40 & $43; + $45 = (0 - ($44))|0; + $46 = $44 & $45; + $47 = (($46) + -1)|0; + $48 = $47 >>> 12; + $49 = $48 & 16; + $50 = $47 >>> $49; + $51 = $50 >>> 5; + $52 = $51 & 8; + $53 = $52 | $49; + $54 = $50 >>> $52; + $55 = $54 >>> 2; + $56 = $55 & 4; + $57 = $53 | $56; + $58 = $54 >>> $56; + $59 = $58 >>> 1; + $60 = $59 & 2; + $61 = $57 | $60; + $62 = $58 >>> $60; + $63 = $62 >>> 1; + $64 = $63 & 1; + $65 = $61 | $64; + $66 = $62 >>> $64; + $67 = (($65) + ($66))|0; + $68 = $67 << 1; + $69 = (24784 + ($68<<2)|0); + $70 = ((($69)) + 8|0); + $71 = HEAP32[$70>>2]|0; + $72 = ((($71)) + 8|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($69|0)==($73|0); + do { + if ($74) { + $75 = 1 << $67; + $76 = $75 ^ -1; + $77 = $8 & $76; + HEAP32[6186] = $77; + $98 = $77; + } else { + $78 = HEAP32[(24760)>>2]|0; + $79 = ($73>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } + $80 = ((($73)) + 12|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($81|0)==($71|0); + if ($82) { + HEAP32[$80>>2] = $69; + HEAP32[$70>>2] = $73; + $98 = $8; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $83 = $67 << 3; + $84 = (($83) - ($6))|0; + $85 = $6 | 3; + $86 = ((($71)) + 4|0); + HEAP32[$86>>2] = $85; + $87 = (($71) + ($6)|0); + $88 = $84 | 1; + $89 = ((($87)) + 4|0); + HEAP32[$89>>2] = $88; + $90 = (($87) + ($84)|0); + HEAP32[$90>>2] = $84; + $91 = ($37|0)==(0); + if (!($91)) { + $92 = HEAP32[(24764)>>2]|0; + $93 = $37 >>> 3; + $94 = $93 << 1; + $95 = (24784 + ($94<<2)|0); + $96 = 1 << $93; + $97 = $98 & $96; + $99 = ($97|0)==(0); + if ($99) { + $100 = $98 | $96; + HEAP32[6186] = $100; + $$pre = ((($95)) + 8|0); + $$0199 = $95;$$pre$phiZ2D = $$pre; + } else { + $101 = ((($95)) + 8|0); + $102 = HEAP32[$101>>2]|0; + $103 = HEAP32[(24760)>>2]|0; + $104 = ($102>>>0)<($103>>>0); + if ($104) { + _abort(); + // unreachable; + } else { + $$0199 = $102;$$pre$phiZ2D = $101; + } + } + HEAP32[$$pre$phiZ2D>>2] = $92; + $105 = ((($$0199)) + 12|0); + HEAP32[$105>>2] = $92; + $106 = ((($92)) + 8|0); + HEAP32[$106>>2] = $$0199; + $107 = ((($92)) + 12|0); + HEAP32[$107>>2] = $95; + } + HEAP32[(24752)>>2] = $84; + HEAP32[(24764)>>2] = $87; + $$0 = $72; + STACKTOP = sp;return ($$0|0); + } + $108 = HEAP32[(24748)>>2]|0; + $109 = ($108|0)==(0); + if ($109) { + $$0197 = $6; + } else { + $110 = (0 - ($108))|0; + $111 = $108 & $110; + $112 = (($111) + -1)|0; + $113 = $112 >>> 12; + $114 = $113 & 16; + $115 = $112 >>> $114; + $116 = $115 >>> 5; + $117 = $116 & 8; + $118 = $117 | $114; + $119 = $115 >>> $117; + $120 = $119 >>> 2; + $121 = $120 & 4; + $122 = $118 | $121; + $123 = $119 >>> $121; + $124 = $123 >>> 1; + $125 = $124 & 2; + $126 = $122 | $125; + $127 = $123 >>> $125; + $128 = $127 >>> 1; + $129 = $128 & 1; + $130 = $126 | $129; + $131 = $127 >>> $129; + $132 = (($130) + ($131))|0; + $133 = (25048 + ($132<<2)|0); + $134 = HEAP32[$133>>2]|0; + $135 = ((($134)) + 4|0); + $136 = HEAP32[$135>>2]|0; + $137 = $136 & -8; + $138 = (($137) - ($6))|0; + $139 = ((($134)) + 16|0); + $140 = HEAP32[$139>>2]|0; + $not$5$i = ($140|0)==(0|0); + $$sink16$i = $not$5$i&1; + $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0); + $142 = HEAP32[$141>>2]|0; + $143 = ($142|0)==(0|0); + if ($143) { + $$0192$lcssa$i = $134;$$0193$lcssa$i = $138; + } else { + $$01928$i = $134;$$01937$i = $138;$145 = $142; + while(1) { + $144 = ((($145)) + 4|0); + $146 = HEAP32[$144>>2]|0; + $147 = $146 & -8; + $148 = (($147) - ($6))|0; + $149 = ($148>>>0)<($$01937$i>>>0); + $$$0193$i = $149 ? $148 : $$01937$i; + $$$0192$i = $149 ? $145 : $$01928$i; + $150 = ((($145)) + 16|0); + $151 = HEAP32[$150>>2]|0; + $not$$i = ($151|0)==(0|0); + $$sink1$i = $not$$i&1; + $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==(0|0); + if ($154) { + $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; + break; + } else { + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + } + } + } + $155 = HEAP32[(24760)>>2]|0; + $156 = ($$0192$lcssa$i>>>0)<($155>>>0); + if ($156) { + _abort(); + // unreachable; + } + $157 = (($$0192$lcssa$i) + ($6)|0); + $158 = ($$0192$lcssa$i>>>0)<($157>>>0); + if (!($158)) { + _abort(); + // unreachable; + } + $159 = ((($$0192$lcssa$i)) + 24|0); + $160 = HEAP32[$159>>2]|0; + $161 = ((($$0192$lcssa$i)) + 12|0); + $162 = HEAP32[$161>>2]|0; + $163 = ($162|0)==($$0192$lcssa$i|0); + do { + if ($163) { + $173 = ((($$0192$lcssa$i)) + 20|0); + $174 = HEAP32[$173>>2]|0; + $175 = ($174|0)==(0|0); + if ($175) { + $176 = ((($$0192$lcssa$i)) + 16|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==(0|0); + if ($178) { + $$3$i = 0; + break; + } else { + $$1196$i = $177;$$1198$i = $176; + } + } else { + $$1196$i = $174;$$1198$i = $173; + } + while(1) { + $179 = ((($$1196$i)) + 20|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==(0|0); + if (!($181)) { + $$1196$i = $180;$$1198$i = $179; + continue; + } + $182 = ((($$1196$i)) + 16|0); + $183 = HEAP32[$182>>2]|0; + $184 = ($183|0)==(0|0); + if ($184) { + break; + } else { + $$1196$i = $183;$$1198$i = $182; + } + } + $185 = ($$1198$i>>>0)<($155>>>0); + if ($185) { + _abort(); + // unreachable; + } else { + HEAP32[$$1198$i>>2] = 0; + $$3$i = $$1196$i; + break; + } + } else { + $164 = ((($$0192$lcssa$i)) + 8|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165>>>0)<($155>>>0); + if ($166) { + _abort(); + // unreachable; + } + $167 = ((($165)) + 12|0); + $168 = HEAP32[$167>>2]|0; + $169 = ($168|0)==($$0192$lcssa$i|0); + if (!($169)) { + _abort(); + // unreachable; + } + $170 = ((($162)) + 8|0); + $171 = HEAP32[$170>>2]|0; + $172 = ($171|0)==($$0192$lcssa$i|0); + if ($172) { + HEAP32[$167>>2] = $162; + HEAP32[$170>>2] = $165; + $$3$i = $162; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $186 = ($160|0)==(0|0); + L73: do { + if (!($186)) { + $187 = ((($$0192$lcssa$i)) + 28|0); + $188 = HEAP32[$187>>2]|0; + $189 = (25048 + ($188<<2)|0); + $190 = HEAP32[$189>>2]|0; + $191 = ($$0192$lcssa$i|0)==($190|0); + do { + if ($191) { + HEAP32[$189>>2] = $$3$i; + $cond$i = ($$3$i|0)==(0|0); + if ($cond$i) { + $192 = 1 << $188; + $193 = $192 ^ -1; + $194 = $108 & $193; + HEAP32[(24748)>>2] = $194; + break L73; + } + } else { + $195 = HEAP32[(24760)>>2]|0; + $196 = ($160>>>0)<($195>>>0); + if ($196) { + _abort(); + // unreachable; + } else { + $197 = ((($160)) + 16|0); + $198 = HEAP32[$197>>2]|0; + $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $$sink2$i = $not$1$i&1; + $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$199>>2] = $$3$i; + $200 = ($$3$i|0)==(0|0); + if ($200) { + break L73; + } else { + break; + } + } + } + } while(0); + $201 = HEAP32[(24760)>>2]|0; + $202 = ($$3$i>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } + $203 = ((($$3$i)) + 24|0); + HEAP32[$203>>2] = $160; + $204 = ((($$0192$lcssa$i)) + 16|0); + $205 = HEAP32[$204>>2]|0; + $206 = ($205|0)==(0|0); + do { + if (!($206)) { + $207 = ($205>>>0)<($201>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($$3$i)) + 16|0); + HEAP32[$208>>2] = $205; + $209 = ((($205)) + 24|0); + HEAP32[$209>>2] = $$3$i; + break; + } + } + } while(0); + $210 = ((($$0192$lcssa$i)) + 20|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + if (!($212)) { + $213 = HEAP32[(24760)>>2]|0; + $214 = ($211>>>0)<($213>>>0); + if ($214) { + _abort(); + // unreachable; + } else { + $215 = ((($$3$i)) + 20|0); + HEAP32[$215>>2] = $211; + $216 = ((($211)) + 24|0); + HEAP32[$216>>2] = $$3$i; + break; + } + } + } + } while(0); + $217 = ($$0193$lcssa$i>>>0)<(16); + if ($217) { + $218 = (($$0193$lcssa$i) + ($6))|0; + $219 = $218 | 3; + $220 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$0192$lcssa$i) + ($218)|0); + $222 = ((($221)) + 4|0); + $223 = HEAP32[$222>>2]|0; + $224 = $223 | 1; + HEAP32[$222>>2] = $224; + } else { + $225 = $6 | 3; + $226 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$226>>2] = $225; + $227 = $$0193$lcssa$i | 1; + $228 = ((($157)) + 4|0); + HEAP32[$228>>2] = $227; + $229 = (($157) + ($$0193$lcssa$i)|0); + HEAP32[$229>>2] = $$0193$lcssa$i; + $230 = ($37|0)==(0); + if (!($230)) { + $231 = HEAP32[(24764)>>2]|0; + $232 = $37 >>> 3; + $233 = $232 << 1; + $234 = (24784 + ($233<<2)|0); + $235 = 1 << $232; + $236 = $8 & $235; + $237 = ($236|0)==(0); + if ($237) { + $238 = $8 | $235; + HEAP32[6186] = $238; + $$pre$i = ((($234)) + 8|0); + $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; + } else { + $239 = ((($234)) + 8|0); + $240 = HEAP32[$239>>2]|0; + $241 = HEAP32[(24760)>>2]|0; + $242 = ($240>>>0)<($241>>>0); + if ($242) { + _abort(); + // unreachable; + } else { + $$0189$i = $240;$$pre$phi$iZ2D = $239; + } + } + HEAP32[$$pre$phi$iZ2D>>2] = $231; + $243 = ((($$0189$i)) + 12|0); + HEAP32[$243>>2] = $231; + $244 = ((($231)) + 8|0); + HEAP32[$244>>2] = $$0189$i; + $245 = ((($231)) + 12|0); + HEAP32[$245>>2] = $234; + } + HEAP32[(24752)>>2] = $$0193$lcssa$i; + HEAP32[(24764)>>2] = $157; + } + $246 = ((($$0192$lcssa$i)) + 8|0); + $$0 = $246; + STACKTOP = sp;return ($$0|0); + } + } else { + $$0197 = $6; + } + } else { + $247 = ($0>>>0)>(4294967231); + if ($247) { + $$0197 = -1; + } else { + $248 = (($0) + 11)|0; + $249 = $248 & -8; + $250 = HEAP32[(24748)>>2]|0; + $251 = ($250|0)==(0); + if ($251) { + $$0197 = $249; + } else { + $252 = (0 - ($249))|0; + $253 = $248 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0358$i = 0; + } else { + $255 = ($249>>>0)>(16777215); + if ($255) { + $$0358$i = 31; + } else { + $256 = (($253) + 1048320)|0; + $257 = $256 >>> 16; + $258 = $257 & 8; + $259 = $253 << $258; + $260 = (($259) + 520192)|0; + $261 = $260 >>> 16; + $262 = $261 & 4; + $263 = $262 | $258; + $264 = $259 << $262; + $265 = (($264) + 245760)|0; + $266 = $265 >>> 16; + $267 = $266 & 2; + $268 = $263 | $267; + $269 = (14 - ($268))|0; + $270 = $264 << $267; + $271 = $270 >>> 15; + $272 = (($269) + ($271))|0; + $273 = $272 << 1; + $274 = (($272) + 7)|0; + $275 = $249 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0358$i = $277; + } + } + $278 = (25048 + ($$0358$i<<2)|0); + $279 = HEAP32[$278>>2]|0; + $280 = ($279|0)==(0|0); + L117: do { + if ($280) { + $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252; + label = 81; + } else { + $281 = ($$0358$i|0)==(31); + $282 = $$0358$i >>> 1; + $283 = (25 - ($282))|0; + $284 = $281 ? 0 : $283; + $285 = $249 << $284; + $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0; + while(1) { + $286 = ((($$0353$i)) + 4|0); + $287 = HEAP32[$286>>2]|0; + $288 = $287 & -8; + $289 = (($288) - ($249))|0; + $290 = ($289>>>0)<($$0347$i>>>0); + if ($290) { + $291 = ($289|0)==(0); + if ($291) { + $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; + label = 85; + break L117; + } else { + $$1343$i = $$0353$i;$$1348$i = $289; + } + } else { + $$1343$i = $$0342$i;$$1348$i = $$0347$i; + } + $292 = ((($$0353$i)) + 20|0); + $293 = HEAP32[$292>>2]|0; + $294 = $$0359$i >>> 31; + $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($293|0)==(0|0); + $298 = ($293|0)==($296|0); + $or$cond2$i = $297 | $298; + $$1363$i = $or$cond2$i ? $$0362$i : $293; + $299 = ($296|0)==(0|0); + $not$8$i = $299 ^ 1; + $300 = $not$8$i&1; + $$0359$$i = $$0359$i << $300; + if ($299) { + $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i; + label = 81; + break; + } else { + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + } + } + } + } while(0); + if ((label|0) == 81) { + $301 = ($$2355$i|0)==(0|0); + $302 = ($$3$i201|0)==(0|0); + $or$cond$i = $301 & $302; + if ($or$cond$i) { + $303 = 2 << $$0358$i; + $304 = (0 - ($303))|0; + $305 = $303 | $304; + $306 = $250 & $305; + $307 = ($306|0)==(0); + if ($307) { + $$0197 = $249; + break; + } + $308 = (0 - ($306))|0; + $309 = $306 & $308; + $310 = (($309) + -1)|0; + $311 = $310 >>> 12; + $312 = $311 & 16; + $313 = $310 >>> $312; + $314 = $313 >>> 5; + $315 = $314 & 8; + $316 = $315 | $312; + $317 = $313 >>> $315; + $318 = $317 >>> 2; + $319 = $318 & 4; + $320 = $316 | $319; + $321 = $317 >>> $319; + $322 = $321 >>> 1; + $323 = $322 & 2; + $324 = $320 | $323; + $325 = $321 >>> $323; + $326 = $325 >>> 1; + $327 = $326 & 1; + $328 = $324 | $327; + $329 = $325 >>> $327; + $330 = (($328) + ($329))|0; + $331 = (25048 + ($330<<2)|0); + $332 = HEAP32[$331>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $332; + } else { + $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + } + $333 = ($$4357$ph$i|0)==(0|0); + if ($333) { + $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i; + } else { + $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i; + label = 85; + } + } + if ((label|0) == 85) { + while(1) { + label = 0; + $334 = ((($$435713$i)) + 4|0); + $335 = HEAP32[$334>>2]|0; + $336 = $335 & -8; + $337 = (($336) - ($249))|0; + $338 = ($337>>>0)<($$435114$i>>>0); + $$$4351$i = $338 ? $337 : $$435114$i; + $$4357$$4$i = $338 ? $$435713$i : $$415$i; + $339 = ((($$435713$i)) + 16|0); + $340 = HEAP32[$339>>2]|0; + $not$1$i203 = ($340|0)==(0|0); + $$sink2$i204 = $not$1$i203&1; + $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0); + $342 = HEAP32[$341>>2]|0; + $343 = ($342|0)==(0|0); + if ($343) { + $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i; + break; + } else { + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342; + label = 85; + } + } + } + $344 = ($$4$lcssa$i|0)==(0|0); + if ($344) { + $$0197 = $249; + } else { + $345 = HEAP32[(24752)>>2]|0; + $346 = (($345) - ($249))|0; + $347 = ($$4351$lcssa$i>>>0)<($346>>>0); + if ($347) { + $348 = HEAP32[(24760)>>2]|0; + $349 = ($$4$lcssa$i>>>0)<($348>>>0); + if ($349) { + _abort(); + // unreachable; + } + $350 = (($$4$lcssa$i) + ($249)|0); + $351 = ($$4$lcssa$i>>>0)<($350>>>0); + if (!($351)) { + _abort(); + // unreachable; + } + $352 = ((($$4$lcssa$i)) + 24|0); + $353 = HEAP32[$352>>2]|0; + $354 = ((($$4$lcssa$i)) + 12|0); + $355 = HEAP32[$354>>2]|0; + $356 = ($355|0)==($$4$lcssa$i|0); + do { + if ($356) { + $366 = ((($$4$lcssa$i)) + 20|0); + $367 = HEAP32[$366>>2]|0; + $368 = ($367|0)==(0|0); + if ($368) { + $369 = ((($$4$lcssa$i)) + 16|0); + $370 = HEAP32[$369>>2]|0; + $371 = ($370|0)==(0|0); + if ($371) { + $$3372$i = 0; + break; + } else { + $$1370$i = $370;$$1374$i = $369; + } + } else { + $$1370$i = $367;$$1374$i = $366; + } + while(1) { + $372 = ((($$1370$i)) + 20|0); + $373 = HEAP32[$372>>2]|0; + $374 = ($373|0)==(0|0); + if (!($374)) { + $$1370$i = $373;$$1374$i = $372; + continue; + } + $375 = ((($$1370$i)) + 16|0); + $376 = HEAP32[$375>>2]|0; + $377 = ($376|0)==(0|0); + if ($377) { + break; + } else { + $$1370$i = $376;$$1374$i = $375; + } + } + $378 = ($$1374$i>>>0)<($348>>>0); + if ($378) { + _abort(); + // unreachable; + } else { + HEAP32[$$1374$i>>2] = 0; + $$3372$i = $$1370$i; + break; + } + } else { + $357 = ((($$4$lcssa$i)) + 8|0); + $358 = HEAP32[$357>>2]|0; + $359 = ($358>>>0)<($348>>>0); + if ($359) { + _abort(); + // unreachable; + } + $360 = ((($358)) + 12|0); + $361 = HEAP32[$360>>2]|0; + $362 = ($361|0)==($$4$lcssa$i|0); + if (!($362)) { + _abort(); + // unreachable; + } + $363 = ((($355)) + 8|0); + $364 = HEAP32[$363>>2]|0; + $365 = ($364|0)==($$4$lcssa$i|0); + if ($365) { + HEAP32[$360>>2] = $355; + HEAP32[$363>>2] = $358; + $$3372$i = $355; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $379 = ($353|0)==(0|0); + L164: do { + if ($379) { + $470 = $250; + } else { + $380 = ((($$4$lcssa$i)) + 28|0); + $381 = HEAP32[$380>>2]|0; + $382 = (25048 + ($381<<2)|0); + $383 = HEAP32[$382>>2]|0; + $384 = ($$4$lcssa$i|0)==($383|0); + do { + if ($384) { + HEAP32[$382>>2] = $$3372$i; + $cond$i208 = ($$3372$i|0)==(0|0); + if ($cond$i208) { + $385 = 1 << $381; + $386 = $385 ^ -1; + $387 = $250 & $386; + HEAP32[(24748)>>2] = $387; + $470 = $387; + break L164; + } + } else { + $388 = HEAP32[(24760)>>2]|0; + $389 = ($353>>>0)<($388>>>0); + if ($389) { + _abort(); + // unreachable; + } else { + $390 = ((($353)) + 16|0); + $391 = HEAP32[$390>>2]|0; + $not$$i209 = ($391|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i209&1; + $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$392>>2] = $$3372$i; + $393 = ($$3372$i|0)==(0|0); + if ($393) { + $470 = $250; + break L164; + } else { + break; + } + } + } + } while(0); + $394 = HEAP32[(24760)>>2]|0; + $395 = ($$3372$i>>>0)<($394>>>0); + if ($395) { + _abort(); + // unreachable; + } + $396 = ((($$3372$i)) + 24|0); + HEAP32[$396>>2] = $353; + $397 = ((($$4$lcssa$i)) + 16|0); + $398 = HEAP32[$397>>2]|0; + $399 = ($398|0)==(0|0); + do { + if (!($399)) { + $400 = ($398>>>0)<($394>>>0); + if ($400) { + _abort(); + // unreachable; + } else { + $401 = ((($$3372$i)) + 16|0); + HEAP32[$401>>2] = $398; + $402 = ((($398)) + 24|0); + HEAP32[$402>>2] = $$3372$i; + break; + } + } + } while(0); + $403 = ((($$4$lcssa$i)) + 20|0); + $404 = HEAP32[$403>>2]|0; + $405 = ($404|0)==(0|0); + if ($405) { + $470 = $250; + } else { + $406 = HEAP32[(24760)>>2]|0; + $407 = ($404>>>0)<($406>>>0); + if ($407) { + _abort(); + // unreachable; + } else { + $408 = ((($$3372$i)) + 20|0); + HEAP32[$408>>2] = $404; + $409 = ((($404)) + 24|0); + HEAP32[$409>>2] = $$3372$i; + $470 = $250; + break; + } + } + } + } while(0); + $410 = ($$4351$lcssa$i>>>0)<(16); + do { + if ($410) { + $411 = (($$4351$lcssa$i) + ($249))|0; + $412 = $411 | 3; + $413 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$413>>2] = $412; + $414 = (($$4$lcssa$i) + ($411)|0); + $415 = ((($414)) + 4|0); + $416 = HEAP32[$415>>2]|0; + $417 = $416 | 1; + HEAP32[$415>>2] = $417; + } else { + $418 = $249 | 3; + $419 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$419>>2] = $418; + $420 = $$4351$lcssa$i | 1; + $421 = ((($350)) + 4|0); + HEAP32[$421>>2] = $420; + $422 = (($350) + ($$4351$lcssa$i)|0); + HEAP32[$422>>2] = $$4351$lcssa$i; + $423 = $$4351$lcssa$i >>> 3; + $424 = ($$4351$lcssa$i>>>0)<(256); + if ($424) { + $425 = $423 << 1; + $426 = (24784 + ($425<<2)|0); + $427 = HEAP32[6186]|0; + $428 = 1 << $423; + $429 = $427 & $428; + $430 = ($429|0)==(0); + if ($430) { + $431 = $427 | $428; + HEAP32[6186] = $431; + $$pre$i210 = ((($426)) + 8|0); + $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; + } else { + $432 = ((($426)) + 8|0); + $433 = HEAP32[$432>>2]|0; + $434 = HEAP32[(24760)>>2]|0; + $435 = ($433>>>0)<($434>>>0); + if ($435) { + _abort(); + // unreachable; + } else { + $$0368$i = $433;$$pre$phi$i211Z2D = $432; + } + } + HEAP32[$$pre$phi$i211Z2D>>2] = $350; + $436 = ((($$0368$i)) + 12|0); + HEAP32[$436>>2] = $350; + $437 = ((($350)) + 8|0); + HEAP32[$437>>2] = $$0368$i; + $438 = ((($350)) + 12|0); + HEAP32[$438>>2] = $426; + break; + } + $439 = $$4351$lcssa$i >>> 8; + $440 = ($439|0)==(0); + if ($440) { + $$0361$i = 0; + } else { + $441 = ($$4351$lcssa$i>>>0)>(16777215); + if ($441) { + $$0361$i = 31; + } else { + $442 = (($439) + 1048320)|0; + $443 = $442 >>> 16; + $444 = $443 & 8; + $445 = $439 << $444; + $446 = (($445) + 520192)|0; + $447 = $446 >>> 16; + $448 = $447 & 4; + $449 = $448 | $444; + $450 = $445 << $448; + $451 = (($450) + 245760)|0; + $452 = $451 >>> 16; + $453 = $452 & 2; + $454 = $449 | $453; + $455 = (14 - ($454))|0; + $456 = $450 << $453; + $457 = $456 >>> 15; + $458 = (($455) + ($457))|0; + $459 = $458 << 1; + $460 = (($458) + 7)|0; + $461 = $$4351$lcssa$i >>> $460; + $462 = $461 & 1; + $463 = $462 | $459; + $$0361$i = $463; + } + } + $464 = (25048 + ($$0361$i<<2)|0); + $465 = ((($350)) + 28|0); + HEAP32[$465>>2] = $$0361$i; + $466 = ((($350)) + 16|0); + $467 = ((($466)) + 4|0); + HEAP32[$467>>2] = 0; + HEAP32[$466>>2] = 0; + $468 = 1 << $$0361$i; + $469 = $470 & $468; + $471 = ($469|0)==(0); + if ($471) { + $472 = $470 | $468; + HEAP32[(24748)>>2] = $472; + HEAP32[$464>>2] = $350; + $473 = ((($350)) + 24|0); + HEAP32[$473>>2] = $464; + $474 = ((($350)) + 12|0); + HEAP32[$474>>2] = $350; + $475 = ((($350)) + 8|0); + HEAP32[$475>>2] = $350; + break; + } + $476 = HEAP32[$464>>2]|0; + $477 = ($$0361$i|0)==(31); + $478 = $$0361$i >>> 1; + $479 = (25 - ($478))|0; + $480 = $477 ? 0 : $479; + $481 = $$4351$lcssa$i << $480; + $$0344$i = $481;$$0345$i = $476; + while(1) { + $482 = ((($$0345$i)) + 4|0); + $483 = HEAP32[$482>>2]|0; + $484 = $483 & -8; + $485 = ($484|0)==($$4351$lcssa$i|0); + if ($485) { + label = 139; + break; + } + $486 = $$0344$i >>> 31; + $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0); + $488 = $$0344$i << 1; + $489 = HEAP32[$487>>2]|0; + $490 = ($489|0)==(0|0); + if ($490) { + label = 136; + break; + } else { + $$0344$i = $488;$$0345$i = $489; + } + } + if ((label|0) == 136) { + $491 = HEAP32[(24760)>>2]|0; + $492 = ($487>>>0)<($491>>>0); + if ($492) { + _abort(); + // unreachable; + } else { + HEAP32[$487>>2] = $350; + $493 = ((($350)) + 24|0); + HEAP32[$493>>2] = $$0345$i; + $494 = ((($350)) + 12|0); + HEAP32[$494>>2] = $350; + $495 = ((($350)) + 8|0); + HEAP32[$495>>2] = $350; + break; + } + } + else if ((label|0) == 139) { + $496 = ((($$0345$i)) + 8|0); + $497 = HEAP32[$496>>2]|0; + $498 = HEAP32[(24760)>>2]|0; + $499 = ($497>>>0)>=($498>>>0); + $not$9$i = ($$0345$i>>>0)>=($498>>>0); + $500 = $499 & $not$9$i; + if ($500) { + $501 = ((($497)) + 12|0); + HEAP32[$501>>2] = $350; + HEAP32[$496>>2] = $350; + $502 = ((($350)) + 8|0); + HEAP32[$502>>2] = $497; + $503 = ((($350)) + 12|0); + HEAP32[$503>>2] = $$0345$i; + $504 = ((($350)) + 24|0); + HEAP32[$504>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $505 = ((($$4$lcssa$i)) + 8|0); + $$0 = $505; + STACKTOP = sp;return ($$0|0); + } else { + $$0197 = $249; + } + } + } + } + } + } while(0); + $506 = HEAP32[(24752)>>2]|0; + $507 = ($506>>>0)<($$0197>>>0); + if (!($507)) { + $508 = (($506) - ($$0197))|0; + $509 = HEAP32[(24764)>>2]|0; + $510 = ($508>>>0)>(15); + if ($510) { + $511 = (($509) + ($$0197)|0); + HEAP32[(24764)>>2] = $511; + HEAP32[(24752)>>2] = $508; + $512 = $508 | 1; + $513 = ((($511)) + 4|0); + HEAP32[$513>>2] = $512; + $514 = (($511) + ($508)|0); + HEAP32[$514>>2] = $508; + $515 = $$0197 | 3; + $516 = ((($509)) + 4|0); + HEAP32[$516>>2] = $515; + } else { + HEAP32[(24752)>>2] = 0; + HEAP32[(24764)>>2] = 0; + $517 = $506 | 3; + $518 = ((($509)) + 4|0); + HEAP32[$518>>2] = $517; + $519 = (($509) + ($506)|0); + $520 = ((($519)) + 4|0); + $521 = HEAP32[$520>>2]|0; + $522 = $521 | 1; + HEAP32[$520>>2] = $522; + } + $523 = ((($509)) + 8|0); + $$0 = $523; + STACKTOP = sp;return ($$0|0); + } + $524 = HEAP32[(24756)>>2]|0; + $525 = ($524>>>0)>($$0197>>>0); + if ($525) { + $526 = (($524) - ($$0197))|0; + HEAP32[(24756)>>2] = $526; + $527 = HEAP32[(24768)>>2]|0; + $528 = (($527) + ($$0197)|0); + HEAP32[(24768)>>2] = $528; + $529 = $526 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = $$0197 | 3; + $532 = ((($527)) + 4|0); + HEAP32[$532>>2] = $531; + $533 = ((($527)) + 8|0); + $$0 = $533; + STACKTOP = sp;return ($$0|0); + } + $534 = HEAP32[6304]|0; + $535 = ($534|0)==(0); + if ($535) { + HEAP32[(25224)>>2] = 4096; + HEAP32[(25220)>>2] = 4096; + HEAP32[(25228)>>2] = -1; + HEAP32[(25232)>>2] = -1; + HEAP32[(25236)>>2] = 0; + HEAP32[(25188)>>2] = 0; + $536 = $1; + $537 = $536 & -16; + $538 = $537 ^ 1431655768; + HEAP32[$1>>2] = $538; + HEAP32[6304] = $538; + $542 = 4096; + } else { + $$pre$i212 = HEAP32[(25224)>>2]|0; + $542 = $$pre$i212; + } + $539 = (($$0197) + 48)|0; + $540 = (($$0197) + 47)|0; + $541 = (($542) + ($540))|0; + $543 = (0 - ($542))|0; + $544 = $541 & $543; + $545 = ($544>>>0)>($$0197>>>0); + if (!($545)) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + $546 = HEAP32[(25184)>>2]|0; + $547 = ($546|0)==(0); + if (!($547)) { + $548 = HEAP32[(25176)>>2]|0; + $549 = (($548) + ($544))|0; + $550 = ($549>>>0)<=($548>>>0); + $551 = ($549>>>0)>($546>>>0); + $or$cond1$i = $550 | $551; + if ($or$cond1$i) { + $$0 = 0; + STACKTOP = sp;return ($$0|0); + } + } + $552 = HEAP32[(25188)>>2]|0; + $553 = $552 & 4; + $554 = ($553|0)==(0); + L244: do { + if ($554) { + $555 = HEAP32[(24768)>>2]|0; + $556 = ($555|0)==(0|0); + L246: do { + if ($556) { + label = 163; + } else { + $$0$i$i = (25192); + while(1) { + $557 = HEAP32[$$0$i$i>>2]|0; + $558 = ($557>>>0)>($555>>>0); + if (!($558)) { + $559 = ((($$0$i$i)) + 4|0); + $560 = HEAP32[$559>>2]|0; + $561 = (($557) + ($560)|0); + $562 = ($561>>>0)>($555>>>0); + if ($562) { + break; + } + } + $563 = ((($$0$i$i)) + 8|0); + $564 = HEAP32[$563>>2]|0; + $565 = ($564|0)==(0|0); + if ($565) { + label = 163; + break L246; + } else { + $$0$i$i = $564; + } + } + $588 = (($541) - ($524))|0; + $589 = $588 & $543; + $590 = ($589>>>0)<(2147483647); + if ($590) { + $591 = (_sbrk(($589|0))|0); + $592 = HEAP32[$$0$i$i>>2]|0; + $593 = HEAP32[$559>>2]|0; + $594 = (($592) + ($593)|0); + $595 = ($591|0)==($594|0); + if ($595) { + $596 = ($591|0)==((-1)|0); + if ($596) { + $$2234253237$i = $589; + } else { + $$723948$i = $589;$$749$i = $591; + label = 180; + break L244; + } + } else { + $$2247$ph$i = $591;$$2253$ph$i = $589; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } while(0); + do { + if ((label|0) == 163) { + $566 = (_sbrk(0)|0); + $567 = ($566|0)==((-1)|0); + if ($567) { + $$2234253237$i = 0; + } else { + $568 = $566; + $569 = HEAP32[(25220)>>2]|0; + $570 = (($569) + -1)|0; + $571 = $570 & $568; + $572 = ($571|0)==(0); + $573 = (($570) + ($568))|0; + $574 = (0 - ($569))|0; + $575 = $573 & $574; + $576 = (($575) - ($568))|0; + $577 = $572 ? 0 : $576; + $$$i = (($577) + ($544))|0; + $578 = HEAP32[(25176)>>2]|0; + $579 = (($$$i) + ($578))|0; + $580 = ($$$i>>>0)>($$0197>>>0); + $581 = ($$$i>>>0)<(2147483647); + $or$cond$i214 = $580 & $581; + if ($or$cond$i214) { + $582 = HEAP32[(25184)>>2]|0; + $583 = ($582|0)==(0); + if (!($583)) { + $584 = ($579>>>0)<=($578>>>0); + $585 = ($579>>>0)>($582>>>0); + $or$cond2$i215 = $584 | $585; + if ($or$cond2$i215) { + $$2234253237$i = 0; + break; + } + } + $586 = (_sbrk(($$$i|0))|0); + $587 = ($586|0)==($566|0); + if ($587) { + $$723948$i = $$$i;$$749$i = $566; + label = 180; + break L244; + } else { + $$2247$ph$i = $586;$$2253$ph$i = $$$i; + label = 171; + } + } else { + $$2234253237$i = 0; + } + } + } + } while(0); + do { + if ((label|0) == 171) { + $597 = (0 - ($$2253$ph$i))|0; + $598 = ($$2247$ph$i|0)!=((-1)|0); + $599 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $599 & $598; + $600 = ($539>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $600 & $or$cond7$i; + if (!($or$cond10$i)) { + $610 = ($$2247$ph$i|0)==((-1)|0); + if ($610) { + $$2234253237$i = 0; + break; + } else { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + $601 = HEAP32[(25224)>>2]|0; + $602 = (($540) - ($$2253$ph$i))|0; + $603 = (($602) + ($601))|0; + $604 = (0 - ($601))|0; + $605 = $603 & $604; + $606 = ($605>>>0)<(2147483647); + if (!($606)) { + $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + $607 = (_sbrk(($605|0))|0); + $608 = ($607|0)==((-1)|0); + if ($608) { + (_sbrk(($597|0))|0); + $$2234253237$i = 0; + break; + } else { + $609 = (($605) + ($$2253$ph$i))|0; + $$723948$i = $609;$$749$i = $$2247$ph$i; + label = 180; + break L244; + } + } + } while(0); + $611 = HEAP32[(25188)>>2]|0; + $612 = $611 | 4; + HEAP32[(25188)>>2] = $612; + $$4236$i = $$2234253237$i; + label = 178; + } else { + $$4236$i = 0; + label = 178; + } + } while(0); + if ((label|0) == 178) { + $613 = ($544>>>0)<(2147483647); + if ($613) { + $614 = (_sbrk(($544|0))|0); + $615 = (_sbrk(0)|0); + $616 = ($614|0)!=((-1)|0); + $617 = ($615|0)!=((-1)|0); + $or$cond5$i = $616 & $617; + $618 = ($614>>>0)<($615>>>0); + $or$cond11$i = $618 & $or$cond5$i; + $619 = $615; + $620 = $614; + $621 = (($619) - ($620))|0; + $622 = (($$0197) + 40)|0; + $623 = ($621>>>0)>($622>>>0); + $$$4236$i = $623 ? $621 : $$4236$i; + $or$cond11$not$i = $or$cond11$i ^ 1; + $624 = ($614|0)==((-1)|0); + $not$$i216 = $623 ^ 1; + $625 = $624 | $not$$i216; + $or$cond50$i = $625 | $or$cond11$not$i; + if (!($or$cond50$i)) { + $$723948$i = $$$4236$i;$$749$i = $614; + label = 180; + } + } + } + if ((label|0) == 180) { + $626 = HEAP32[(25176)>>2]|0; + $627 = (($626) + ($$723948$i))|0; + HEAP32[(25176)>>2] = $627; + $628 = HEAP32[(25180)>>2]|0; + $629 = ($627>>>0)>($628>>>0); + if ($629) { + HEAP32[(25180)>>2] = $627; + } + $630 = HEAP32[(24768)>>2]|0; + $631 = ($630|0)==(0|0); + do { + if ($631) { + $632 = HEAP32[(24760)>>2]|0; + $633 = ($632|0)==(0|0); + $634 = ($$749$i>>>0)<($632>>>0); + $or$cond12$i = $633 | $634; + if ($or$cond12$i) { + HEAP32[(24760)>>2] = $$749$i; + } + HEAP32[(25192)>>2] = $$749$i; + HEAP32[(25196)>>2] = $$723948$i; + HEAP32[(25204)>>2] = 0; + $635 = HEAP32[6304]|0; + HEAP32[(24780)>>2] = $635; + HEAP32[(24776)>>2] = -1; + $$01$i$i = 0; + while(1) { + $636 = $$01$i$i << 1; + $637 = (24784 + ($636<<2)|0); + $638 = ((($637)) + 12|0); + HEAP32[$638>>2] = $637; + $639 = ((($637)) + 8|0); + HEAP32[$639>>2] = $637; + $640 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($640|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $640; + } + } + $641 = (($$723948$i) + -40)|0; + $642 = ((($$749$i)) + 8|0); + $643 = $642; + $644 = $643 & 7; + $645 = ($644|0)==(0); + $646 = (0 - ($643))|0; + $647 = $646 & 7; + $648 = $645 ? 0 : $647; + $649 = (($$749$i) + ($648)|0); + $650 = (($641) - ($648))|0; + HEAP32[(24768)>>2] = $649; + HEAP32[(24756)>>2] = $650; + $651 = $650 | 1; + $652 = ((($649)) + 4|0); + HEAP32[$652>>2] = $651; + $653 = (($649) + ($650)|0); + $654 = ((($653)) + 4|0); + HEAP32[$654>>2] = 40; + $655 = HEAP32[(25232)>>2]|0; + HEAP32[(24772)>>2] = $655; + } else { + $$024371$i = (25192); + while(1) { + $656 = HEAP32[$$024371$i>>2]|0; + $657 = ((($$024371$i)) + 4|0); + $658 = HEAP32[$657>>2]|0; + $659 = (($656) + ($658)|0); + $660 = ($$749$i|0)==($659|0); + if ($660) { + label = 190; + break; + } + $661 = ((($$024371$i)) + 8|0); + $662 = HEAP32[$661>>2]|0; + $663 = ($662|0)==(0|0); + if ($663) { + break; + } else { + $$024371$i = $662; + } + } + if ((label|0) == 190) { + $664 = ((($$024371$i)) + 12|0); + $665 = HEAP32[$664>>2]|0; + $666 = $665 & 8; + $667 = ($666|0)==(0); + if ($667) { + $668 = ($630>>>0)>=($656>>>0); + $669 = ($630>>>0)<($$749$i>>>0); + $or$cond51$i = $669 & $668; + if ($or$cond51$i) { + $670 = (($658) + ($$723948$i))|0; + HEAP32[$657>>2] = $670; + $671 = HEAP32[(24756)>>2]|0; + $672 = ((($630)) + 8|0); + $673 = $672; + $674 = $673 & 7; + $675 = ($674|0)==(0); + $676 = (0 - ($673))|0; + $677 = $676 & 7; + $678 = $675 ? 0 : $677; + $679 = (($630) + ($678)|0); + $680 = (($$723948$i) - ($678))|0; + $681 = (($671) + ($680))|0; + HEAP32[(24768)>>2] = $679; + HEAP32[(24756)>>2] = $681; + $682 = $681 | 1; + $683 = ((($679)) + 4|0); + HEAP32[$683>>2] = $682; + $684 = (($679) + ($681)|0); + $685 = ((($684)) + 4|0); + HEAP32[$685>>2] = 40; + $686 = HEAP32[(25232)>>2]|0; + HEAP32[(24772)>>2] = $686; + break; + } + } + } + $687 = HEAP32[(24760)>>2]|0; + $688 = ($$749$i>>>0)<($687>>>0); + if ($688) { + HEAP32[(24760)>>2] = $$749$i; + $752 = $$749$i; + } else { + $752 = $687; + } + $689 = (($$749$i) + ($$723948$i)|0); + $$124470$i = (25192); + while(1) { + $690 = HEAP32[$$124470$i>>2]|0; + $691 = ($690|0)==($689|0); + if ($691) { + label = 198; + break; + } + $692 = ((($$124470$i)) + 8|0); + $693 = HEAP32[$692>>2]|0; + $694 = ($693|0)==(0|0); + if ($694) { + break; + } else { + $$124470$i = $693; + } + } + if ((label|0) == 198) { + $695 = ((($$124470$i)) + 12|0); + $696 = HEAP32[$695>>2]|0; + $697 = $696 & 8; + $698 = ($697|0)==(0); + if ($698) { + HEAP32[$$124470$i>>2] = $$749$i; + $699 = ((($$124470$i)) + 4|0); + $700 = HEAP32[$699>>2]|0; + $701 = (($700) + ($$723948$i))|0; + HEAP32[$699>>2] = $701; + $702 = ((($$749$i)) + 8|0); + $703 = $702; + $704 = $703 & 7; + $705 = ($704|0)==(0); + $706 = (0 - ($703))|0; + $707 = $706 & 7; + $708 = $705 ? 0 : $707; + $709 = (($$749$i) + ($708)|0); + $710 = ((($689)) + 8|0); + $711 = $710; + $712 = $711 & 7; + $713 = ($712|0)==(0); + $714 = (0 - ($711))|0; + $715 = $714 & 7; + $716 = $713 ? 0 : $715; + $717 = (($689) + ($716)|0); + $718 = $717; + $719 = $709; + $720 = (($718) - ($719))|0; + $721 = (($709) + ($$0197)|0); + $722 = (($720) - ($$0197))|0; + $723 = $$0197 | 3; + $724 = ((($709)) + 4|0); + HEAP32[$724>>2] = $723; + $725 = ($717|0)==($630|0); + do { + if ($725) { + $726 = HEAP32[(24756)>>2]|0; + $727 = (($726) + ($722))|0; + HEAP32[(24756)>>2] = $727; + HEAP32[(24768)>>2] = $721; + $728 = $727 | 1; + $729 = ((($721)) + 4|0); + HEAP32[$729>>2] = $728; + } else { + $730 = HEAP32[(24764)>>2]|0; + $731 = ($717|0)==($730|0); + if ($731) { + $732 = HEAP32[(24752)>>2]|0; + $733 = (($732) + ($722))|0; + HEAP32[(24752)>>2] = $733; + HEAP32[(24764)>>2] = $721; + $734 = $733 | 1; + $735 = ((($721)) + 4|0); + HEAP32[$735>>2] = $734; + $736 = (($721) + ($733)|0); + HEAP32[$736>>2] = $733; + break; + } + $737 = ((($717)) + 4|0); + $738 = HEAP32[$737>>2]|0; + $739 = $738 & 3; + $740 = ($739|0)==(1); + if ($740) { + $741 = $738 & -8; + $742 = $738 >>> 3; + $743 = ($738>>>0)<(256); + L314: do { + if ($743) { + $744 = ((($717)) + 8|0); + $745 = HEAP32[$744>>2]|0; + $746 = ((($717)) + 12|0); + $747 = HEAP32[$746>>2]|0; + $748 = $742 << 1; + $749 = (24784 + ($748<<2)|0); + $750 = ($745|0)==($749|0); + do { + if (!($750)) { + $751 = ($745>>>0)<($752>>>0); + if ($751) { + _abort(); + // unreachable; + } + $753 = ((($745)) + 12|0); + $754 = HEAP32[$753>>2]|0; + $755 = ($754|0)==($717|0); + if ($755) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $756 = ($747|0)==($745|0); + if ($756) { + $757 = 1 << $742; + $758 = $757 ^ -1; + $759 = HEAP32[6186]|0; + $760 = $759 & $758; + HEAP32[6186] = $760; + break; + } + $761 = ($747|0)==($749|0); + do { + if ($761) { + $$pre10$i$i = ((($747)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $762 = ($747>>>0)<($752>>>0); + if ($762) { + _abort(); + // unreachable; + } + $763 = ((($747)) + 8|0); + $764 = HEAP32[$763>>2]|0; + $765 = ($764|0)==($717|0); + if ($765) { + $$pre$phi11$i$iZ2D = $763; + break; + } + _abort(); + // unreachable; + } + } while(0); + $766 = ((($745)) + 12|0); + HEAP32[$766>>2] = $747; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $745; + } else { + $767 = ((($717)) + 24|0); + $768 = HEAP32[$767>>2]|0; + $769 = ((($717)) + 12|0); + $770 = HEAP32[$769>>2]|0; + $771 = ($770|0)==($717|0); + do { + if ($771) { + $781 = ((($717)) + 16|0); + $782 = ((($781)) + 4|0); + $783 = HEAP32[$782>>2]|0; + $784 = ($783|0)==(0|0); + if ($784) { + $785 = HEAP32[$781>>2]|0; + $786 = ($785|0)==(0|0); + if ($786) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $785;$$1293$i$i = $781; + } + } else { + $$1291$i$i = $783;$$1293$i$i = $782; + } + while(1) { + $787 = ((($$1291$i$i)) + 20|0); + $788 = HEAP32[$787>>2]|0; + $789 = ($788|0)==(0|0); + if (!($789)) { + $$1291$i$i = $788;$$1293$i$i = $787; + continue; + } + $790 = ((($$1291$i$i)) + 16|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==(0|0); + if ($792) { + break; + } else { + $$1291$i$i = $791;$$1293$i$i = $790; + } + } + $793 = ($$1293$i$i>>>0)<($752>>>0); + if ($793) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $772 = ((($717)) + 8|0); + $773 = HEAP32[$772>>2]|0; + $774 = ($773>>>0)<($752>>>0); + if ($774) { + _abort(); + // unreachable; + } + $775 = ((($773)) + 12|0); + $776 = HEAP32[$775>>2]|0; + $777 = ($776|0)==($717|0); + if (!($777)) { + _abort(); + // unreachable; + } + $778 = ((($770)) + 8|0); + $779 = HEAP32[$778>>2]|0; + $780 = ($779|0)==($717|0); + if ($780) { + HEAP32[$775>>2] = $770; + HEAP32[$778>>2] = $773; + $$3$i$i = $770; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $794 = ($768|0)==(0|0); + if ($794) { + break; + } + $795 = ((($717)) + 28|0); + $796 = HEAP32[$795>>2]|0; + $797 = (25048 + ($796<<2)|0); + $798 = HEAP32[$797>>2]|0; + $799 = ($717|0)==($798|0); + do { + if ($799) { + HEAP32[$797>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $800 = 1 << $796; + $801 = $800 ^ -1; + $802 = HEAP32[(24748)>>2]|0; + $803 = $802 & $801; + HEAP32[(24748)>>2] = $803; + break L314; + } else { + $804 = HEAP32[(24760)>>2]|0; + $805 = ($768>>>0)<($804>>>0); + if ($805) { + _abort(); + // unreachable; + } else { + $806 = ((($768)) + 16|0); + $807 = HEAP32[$806>>2]|0; + $not$$i17$i = ($807|0)!=($717|0); + $$sink1$i$i = $not$$i17$i&1; + $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$808>>2] = $$3$i$i; + $809 = ($$3$i$i|0)==(0|0); + if ($809) { + break L314; + } else { + break; + } + } + } + } while(0); + $810 = HEAP32[(24760)>>2]|0; + $811 = ($$3$i$i>>>0)<($810>>>0); + if ($811) { + _abort(); + // unreachable; + } + $812 = ((($$3$i$i)) + 24|0); + HEAP32[$812>>2] = $768; + $813 = ((($717)) + 16|0); + $814 = HEAP32[$813>>2]|0; + $815 = ($814|0)==(0|0); + do { + if (!($815)) { + $816 = ($814>>>0)<($810>>>0); + if ($816) { + _abort(); + // unreachable; + } else { + $817 = ((($$3$i$i)) + 16|0); + HEAP32[$817>>2] = $814; + $818 = ((($814)) + 24|0); + HEAP32[$818>>2] = $$3$i$i; + break; + } + } + } while(0); + $819 = ((($813)) + 4|0); + $820 = HEAP32[$819>>2]|0; + $821 = ($820|0)==(0|0); + if ($821) { + break; + } + $822 = HEAP32[(24760)>>2]|0; + $823 = ($820>>>0)<($822>>>0); + if ($823) { + _abort(); + // unreachable; + } else { + $824 = ((($$3$i$i)) + 20|0); + HEAP32[$824>>2] = $820; + $825 = ((($820)) + 24|0); + HEAP32[$825>>2] = $$3$i$i; + break; + } + } + } while(0); + $826 = (($717) + ($741)|0); + $827 = (($741) + ($722))|0; + $$0$i18$i = $826;$$0287$i$i = $827; + } else { + $$0$i18$i = $717;$$0287$i$i = $722; + } + $828 = ((($$0$i18$i)) + 4|0); + $829 = HEAP32[$828>>2]|0; + $830 = $829 & -2; + HEAP32[$828>>2] = $830; + $831 = $$0287$i$i | 1; + $832 = ((($721)) + 4|0); + HEAP32[$832>>2] = $831; + $833 = (($721) + ($$0287$i$i)|0); + HEAP32[$833>>2] = $$0287$i$i; + $834 = $$0287$i$i >>> 3; + $835 = ($$0287$i$i>>>0)<(256); + if ($835) { + $836 = $834 << 1; + $837 = (24784 + ($836<<2)|0); + $838 = HEAP32[6186]|0; + $839 = 1 << $834; + $840 = $838 & $839; + $841 = ($840|0)==(0); + do { + if ($841) { + $842 = $838 | $839; + HEAP32[6186] = $842; + $$pre$i19$i = ((($837)) + 8|0); + $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; + } else { + $843 = ((($837)) + 8|0); + $844 = HEAP32[$843>>2]|0; + $845 = HEAP32[(24760)>>2]|0; + $846 = ($844>>>0)<($845>>>0); + if (!($846)) { + $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i20$iZ2D>>2] = $721; + $847 = ((($$0295$i$i)) + 12|0); + HEAP32[$847>>2] = $721; + $848 = ((($721)) + 8|0); + HEAP32[$848>>2] = $$0295$i$i; + $849 = ((($721)) + 12|0); + HEAP32[$849>>2] = $837; + break; + } + $850 = $$0287$i$i >>> 8; + $851 = ($850|0)==(0); + do { + if ($851) { + $$0296$i$i = 0; + } else { + $852 = ($$0287$i$i>>>0)>(16777215); + if ($852) { + $$0296$i$i = 31; + break; + } + $853 = (($850) + 1048320)|0; + $854 = $853 >>> 16; + $855 = $854 & 8; + $856 = $850 << $855; + $857 = (($856) + 520192)|0; + $858 = $857 >>> 16; + $859 = $858 & 4; + $860 = $859 | $855; + $861 = $856 << $859; + $862 = (($861) + 245760)|0; + $863 = $862 >>> 16; + $864 = $863 & 2; + $865 = $860 | $864; + $866 = (14 - ($865))|0; + $867 = $861 << $864; + $868 = $867 >>> 15; + $869 = (($866) + ($868))|0; + $870 = $869 << 1; + $871 = (($869) + 7)|0; + $872 = $$0287$i$i >>> $871; + $873 = $872 & 1; + $874 = $873 | $870; + $$0296$i$i = $874; + } + } while(0); + $875 = (25048 + ($$0296$i$i<<2)|0); + $876 = ((($721)) + 28|0); + HEAP32[$876>>2] = $$0296$i$i; + $877 = ((($721)) + 16|0); + $878 = ((($877)) + 4|0); + HEAP32[$878>>2] = 0; + HEAP32[$877>>2] = 0; + $879 = HEAP32[(24748)>>2]|0; + $880 = 1 << $$0296$i$i; + $881 = $879 & $880; + $882 = ($881|0)==(0); + if ($882) { + $883 = $879 | $880; + HEAP32[(24748)>>2] = $883; + HEAP32[$875>>2] = $721; + $884 = ((($721)) + 24|0); + HEAP32[$884>>2] = $875; + $885 = ((($721)) + 12|0); + HEAP32[$885>>2] = $721; + $886 = ((($721)) + 8|0); + HEAP32[$886>>2] = $721; + break; + } + $887 = HEAP32[$875>>2]|0; + $888 = ($$0296$i$i|0)==(31); + $889 = $$0296$i$i >>> 1; + $890 = (25 - ($889))|0; + $891 = $888 ? 0 : $890; + $892 = $$0287$i$i << $891; + $$0288$i$i = $892;$$0289$i$i = $887; + while(1) { + $893 = ((($$0289$i$i)) + 4|0); + $894 = HEAP32[$893>>2]|0; + $895 = $894 & -8; + $896 = ($895|0)==($$0287$i$i|0); + if ($896) { + label = 265; + break; + } + $897 = $$0288$i$i >>> 31; + $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0); + $899 = $$0288$i$i << 1; + $900 = HEAP32[$898>>2]|0; + $901 = ($900|0)==(0|0); + if ($901) { + label = 262; + break; + } else { + $$0288$i$i = $899;$$0289$i$i = $900; + } + } + if ((label|0) == 262) { + $902 = HEAP32[(24760)>>2]|0; + $903 = ($898>>>0)<($902>>>0); + if ($903) { + _abort(); + // unreachable; + } else { + HEAP32[$898>>2] = $721; + $904 = ((($721)) + 24|0); + HEAP32[$904>>2] = $$0289$i$i; + $905 = ((($721)) + 12|0); + HEAP32[$905>>2] = $721; + $906 = ((($721)) + 8|0); + HEAP32[$906>>2] = $721; + break; + } + } + else if ((label|0) == 265) { + $907 = ((($$0289$i$i)) + 8|0); + $908 = HEAP32[$907>>2]|0; + $909 = HEAP32[(24760)>>2]|0; + $910 = ($908>>>0)>=($909>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); + $911 = $910 & $not$7$i$i; + if ($911) { + $912 = ((($908)) + 12|0); + HEAP32[$912>>2] = $721; + HEAP32[$907>>2] = $721; + $913 = ((($721)) + 8|0); + HEAP32[$913>>2] = $908; + $914 = ((($721)) + 12|0); + HEAP32[$914>>2] = $$0289$i$i; + $915 = ((($721)) + 24|0); + HEAP32[$915>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $1047 = ((($709)) + 8|0); + $$0 = $1047; + STACKTOP = sp;return ($$0|0); + } + } + $$0$i$i$i = (25192); + while(1) { + $916 = HEAP32[$$0$i$i$i>>2]|0; + $917 = ($916>>>0)>($630>>>0); + if (!($917)) { + $918 = ((($$0$i$i$i)) + 4|0); + $919 = HEAP32[$918>>2]|0; + $920 = (($916) + ($919)|0); + $921 = ($920>>>0)>($630>>>0); + if ($921) { + break; + } + } + $922 = ((($$0$i$i$i)) + 8|0); + $923 = HEAP32[$922>>2]|0; + $$0$i$i$i = $923; + } + $924 = ((($920)) + -47|0); + $925 = ((($924)) + 8|0); + $926 = $925; + $927 = $926 & 7; + $928 = ($927|0)==(0); + $929 = (0 - ($926))|0; + $930 = $929 & 7; + $931 = $928 ? 0 : $930; + $932 = (($924) + ($931)|0); + $933 = ((($630)) + 16|0); + $934 = ($932>>>0)<($933>>>0); + $935 = $934 ? $630 : $932; + $936 = ((($935)) + 8|0); + $937 = ((($935)) + 24|0); + $938 = (($$723948$i) + -40)|0; + $939 = ((($$749$i)) + 8|0); + $940 = $939; + $941 = $940 & 7; + $942 = ($941|0)==(0); + $943 = (0 - ($940))|0; + $944 = $943 & 7; + $945 = $942 ? 0 : $944; + $946 = (($$749$i) + ($945)|0); + $947 = (($938) - ($945))|0; + HEAP32[(24768)>>2] = $946; + HEAP32[(24756)>>2] = $947; + $948 = $947 | 1; + $949 = ((($946)) + 4|0); + HEAP32[$949>>2] = $948; + $950 = (($946) + ($947)|0); + $951 = ((($950)) + 4|0); + HEAP32[$951>>2] = 40; + $952 = HEAP32[(25232)>>2]|0; + HEAP32[(24772)>>2] = $952; + $953 = ((($935)) + 4|0); + HEAP32[$953>>2] = 27; + ;HEAP32[$936>>2]=HEAP32[(25192)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(25192)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(25192)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(25192)+12>>2]|0; + HEAP32[(25192)>>2] = $$749$i; + HEAP32[(25196)>>2] = $$723948$i; + HEAP32[(25204)>>2] = 0; + HEAP32[(25200)>>2] = $936; + $955 = $937; + while(1) { + $954 = ((($955)) + 4|0); + HEAP32[$954>>2] = 7; + $956 = ((($955)) + 8|0); + $957 = ($956>>>0)<($920>>>0); + if ($957) { + $955 = $954; + } else { + break; + } + } + $958 = ($935|0)==($630|0); + if (!($958)) { + $959 = $935; + $960 = $630; + $961 = (($959) - ($960))|0; + $962 = HEAP32[$953>>2]|0; + $963 = $962 & -2; + HEAP32[$953>>2] = $963; + $964 = $961 | 1; + $965 = ((($630)) + 4|0); + HEAP32[$965>>2] = $964; + HEAP32[$935>>2] = $961; + $966 = $961 >>> 3; + $967 = ($961>>>0)<(256); + if ($967) { + $968 = $966 << 1; + $969 = (24784 + ($968<<2)|0); + $970 = HEAP32[6186]|0; + $971 = 1 << $966; + $972 = $970 & $971; + $973 = ($972|0)==(0); + if ($973) { + $974 = $970 | $971; + HEAP32[6186] = $974; + $$pre$i$i = ((($969)) + 8|0); + $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; + } else { + $975 = ((($969)) + 8|0); + $976 = HEAP32[$975>>2]|0; + $977 = HEAP32[(24760)>>2]|0; + $978 = ($976>>>0)<($977>>>0); + if ($978) { + _abort(); + // unreachable; + } else { + $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975; + } + } + HEAP32[$$pre$phi$i$iZ2D>>2] = $630; + $979 = ((($$0211$i$i)) + 12|0); + HEAP32[$979>>2] = $630; + $980 = ((($630)) + 8|0); + HEAP32[$980>>2] = $$0211$i$i; + $981 = ((($630)) + 12|0); + HEAP32[$981>>2] = $969; + break; + } + $982 = $961 >>> 8; + $983 = ($982|0)==(0); + if ($983) { + $$0212$i$i = 0; + } else { + $984 = ($961>>>0)>(16777215); + if ($984) { + $$0212$i$i = 31; + } else { + $985 = (($982) + 1048320)|0; + $986 = $985 >>> 16; + $987 = $986 & 8; + $988 = $982 << $987; + $989 = (($988) + 520192)|0; + $990 = $989 >>> 16; + $991 = $990 & 4; + $992 = $991 | $987; + $993 = $988 << $991; + $994 = (($993) + 245760)|0; + $995 = $994 >>> 16; + $996 = $995 & 2; + $997 = $992 | $996; + $998 = (14 - ($997))|0; + $999 = $993 << $996; + $1000 = $999 >>> 15; + $1001 = (($998) + ($1000))|0; + $1002 = $1001 << 1; + $1003 = (($1001) + 7)|0; + $1004 = $961 >>> $1003; + $1005 = $1004 & 1; + $1006 = $1005 | $1002; + $$0212$i$i = $1006; + } + } + $1007 = (25048 + ($$0212$i$i<<2)|0); + $1008 = ((($630)) + 28|0); + HEAP32[$1008>>2] = $$0212$i$i; + $1009 = ((($630)) + 20|0); + HEAP32[$1009>>2] = 0; + HEAP32[$933>>2] = 0; + $1010 = HEAP32[(24748)>>2]|0; + $1011 = 1 << $$0212$i$i; + $1012 = $1010 & $1011; + $1013 = ($1012|0)==(0); + if ($1013) { + $1014 = $1010 | $1011; + HEAP32[(24748)>>2] = $1014; + HEAP32[$1007>>2] = $630; + $1015 = ((($630)) + 24|0); + HEAP32[$1015>>2] = $1007; + $1016 = ((($630)) + 12|0); + HEAP32[$1016>>2] = $630; + $1017 = ((($630)) + 8|0); + HEAP32[$1017>>2] = $630; + break; + } + $1018 = HEAP32[$1007>>2]|0; + $1019 = ($$0212$i$i|0)==(31); + $1020 = $$0212$i$i >>> 1; + $1021 = (25 - ($1020))|0; + $1022 = $1019 ? 0 : $1021; + $1023 = $961 << $1022; + $$0206$i$i = $1023;$$0207$i$i = $1018; + while(1) { + $1024 = ((($$0207$i$i)) + 4|0); + $1025 = HEAP32[$1024>>2]|0; + $1026 = $1025 & -8; + $1027 = ($1026|0)==($961|0); + if ($1027) { + label = 292; + break; + } + $1028 = $$0206$i$i >>> 31; + $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0); + $1030 = $$0206$i$i << 1; + $1031 = HEAP32[$1029>>2]|0; + $1032 = ($1031|0)==(0|0); + if ($1032) { + label = 289; + break; + } else { + $$0206$i$i = $1030;$$0207$i$i = $1031; + } + } + if ((label|0) == 289) { + $1033 = HEAP32[(24760)>>2]|0; + $1034 = ($1029>>>0)<($1033>>>0); + if ($1034) { + _abort(); + // unreachable; + } else { + HEAP32[$1029>>2] = $630; + $1035 = ((($630)) + 24|0); + HEAP32[$1035>>2] = $$0207$i$i; + $1036 = ((($630)) + 12|0); + HEAP32[$1036>>2] = $630; + $1037 = ((($630)) + 8|0); + HEAP32[$1037>>2] = $630; + break; + } + } + else if ((label|0) == 292) { + $1038 = ((($$0207$i$i)) + 8|0); + $1039 = HEAP32[$1038>>2]|0; + $1040 = HEAP32[(24760)>>2]|0; + $1041 = ($1039>>>0)>=($1040>>>0); + $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); + $1042 = $1041 & $not$$i$i; + if ($1042) { + $1043 = ((($1039)) + 12|0); + HEAP32[$1043>>2] = $630; + HEAP32[$1038>>2] = $630; + $1044 = ((($630)) + 8|0); + HEAP32[$1044>>2] = $1039; + $1045 = ((($630)) + 12|0); + HEAP32[$1045>>2] = $$0207$i$i; + $1046 = ((($630)) + 24|0); + HEAP32[$1046>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1048 = HEAP32[(24756)>>2]|0; + $1049 = ($1048>>>0)>($$0197>>>0); + if ($1049) { + $1050 = (($1048) - ($$0197))|0; + HEAP32[(24756)>>2] = $1050; + $1051 = HEAP32[(24768)>>2]|0; + $1052 = (($1051) + ($$0197)|0); + HEAP32[(24768)>>2] = $1052; + $1053 = $1050 | 1; + $1054 = ((($1052)) + 4|0); + HEAP32[$1054>>2] = $1053; + $1055 = $$0197 | 3; + $1056 = ((($1051)) + 4|0); + HEAP32[$1056>>2] = $1055; + $1057 = ((($1051)) + 8|0); + $$0 = $1057; + STACKTOP = sp;return ($$0|0); + } + } + $1058 = (___errno_location()|0); + HEAP32[$1058>>2] = 12; + $$0 = 0; + STACKTOP = sp;return ($$0|0); +} +function _free($0) { + $0 = $0|0; + var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0; + var $$pre444 = 0, $$sink3 = 0, $$sink5 = 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, $113 = 0; + var $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, $131 = 0; + var $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, $15 = 0; + var $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, $168 = 0; + var $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, $186 = 0; + var $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, $203 = 0; + var $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, $221 = 0; + var $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, $24 = 0; + var $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, $258 = 0; + var $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, $276 = 0; + var $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, $294 = 0; + var $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, $311 = 0; + var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 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; + var $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, $60 = 0, $61 = 0; + var $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, $79 = 0, $8 = 0; + var $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, $97 = 0, $98 = 0; + var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ($0|0)==(0|0); + if ($1) { + return; + } + $2 = ((($0)) + -8|0); + $3 = HEAP32[(24760)>>2]|0; + $4 = ($2>>>0)<($3>>>0); + if ($4) { + _abort(); + // unreachable; + } + $5 = ((($0)) + -4|0); + $6 = HEAP32[$5>>2]|0; + $7 = $6 & 3; + $8 = ($7|0)==(1); + if ($8) { + _abort(); + // unreachable; + } + $9 = $6 & -8; + $10 = (($2) + ($9)|0); + $11 = $6 & 1; + $12 = ($11|0)==(0); + L10: do { + if ($12) { + $13 = HEAP32[$2>>2]|0; + $14 = ($7|0)==(0); + if ($14) { + return; + } + $15 = (0 - ($13))|0; + $16 = (($2) + ($15)|0); + $17 = (($13) + ($9))|0; + $18 = ($16>>>0)<($3>>>0); + if ($18) { + _abort(); + // unreachable; + } + $19 = HEAP32[(24764)>>2]|0; + $20 = ($16|0)==($19|0); + if ($20) { + $104 = ((($10)) + 4|0); + $105 = HEAP32[$104>>2]|0; + $106 = $105 & 3; + $107 = ($106|0)==(3); + if (!($107)) { + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $108 = (($16) + ($17)|0); + $109 = ((($16)) + 4|0); + $110 = $17 | 1; + $111 = $105 & -2; + HEAP32[(24752)>>2] = $17; + HEAP32[$104>>2] = $111; + HEAP32[$109>>2] = $110; + HEAP32[$108>>2] = $17; + return; + } + $21 = $13 >>> 3; + $22 = ($13>>>0)<(256); + if ($22) { + $23 = ((($16)) + 8|0); + $24 = HEAP32[$23>>2]|0; + $25 = ((($16)) + 12|0); + $26 = HEAP32[$25>>2]|0; + $27 = $21 << 1; + $28 = (24784 + ($27<<2)|0); + $29 = ($24|0)==($28|0); + if (!($29)) { + $30 = ($24>>>0)<($3>>>0); + if ($30) { + _abort(); + // unreachable; + } + $31 = ((($24)) + 12|0); + $32 = HEAP32[$31>>2]|0; + $33 = ($32|0)==($16|0); + if (!($33)) { + _abort(); + // unreachable; + } + } + $34 = ($26|0)==($24|0); + if ($34) { + $35 = 1 << $21; + $36 = $35 ^ -1; + $37 = HEAP32[6186]|0; + $38 = $37 & $36; + HEAP32[6186] = $38; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $39 = ($26|0)==($28|0); + if ($39) { + $$pre444 = ((($26)) + 8|0); + $$pre$phi445Z2D = $$pre444; + } else { + $40 = ($26>>>0)<($3>>>0); + if ($40) { + _abort(); + // unreachable; + } + $41 = ((($26)) + 8|0); + $42 = HEAP32[$41>>2]|0; + $43 = ($42|0)==($16|0); + if ($43) { + $$pre$phi445Z2D = $41; + } else { + _abort(); + // unreachable; + } + } + $44 = ((($24)) + 12|0); + HEAP32[$44>>2] = $26; + HEAP32[$$pre$phi445Z2D>>2] = $24; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + $45 = ((($16)) + 24|0); + $46 = HEAP32[$45>>2]|0; + $47 = ((($16)) + 12|0); + $48 = HEAP32[$47>>2]|0; + $49 = ($48|0)==($16|0); + do { + if ($49) { + $59 = ((($16)) + 16|0); + $60 = ((($59)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = ($61|0)==(0|0); + if ($62) { + $63 = HEAP32[$59>>2]|0; + $64 = ($63|0)==(0|0); + if ($64) { + $$3 = 0; + break; + } else { + $$1387 = $63;$$1390 = $59; + } + } else { + $$1387 = $61;$$1390 = $60; + } + while(1) { + $65 = ((($$1387)) + 20|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if (!($67)) { + $$1387 = $66;$$1390 = $65; + continue; + } + $68 = ((($$1387)) + 16|0); + $69 = HEAP32[$68>>2]|0; + $70 = ($69|0)==(0|0); + if ($70) { + break; + } else { + $$1387 = $69;$$1390 = $68; + } + } + $71 = ($$1390>>>0)<($3>>>0); + if ($71) { + _abort(); + // unreachable; + } else { + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; + break; + } + } else { + $50 = ((($16)) + 8|0); + $51 = HEAP32[$50>>2]|0; + $52 = ($51>>>0)<($3>>>0); + if ($52) { + _abort(); + // unreachable; + } + $53 = ((($51)) + 12|0); + $54 = HEAP32[$53>>2]|0; + $55 = ($54|0)==($16|0); + if (!($55)) { + _abort(); + // unreachable; + } + $56 = ((($48)) + 8|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==($16|0); + if ($58) { + HEAP32[$53>>2] = $48; + HEAP32[$56>>2] = $51; + $$3 = $48; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $72 = ($46|0)==(0|0); + if ($72) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $73 = ((($16)) + 28|0); + $74 = HEAP32[$73>>2]|0; + $75 = (25048 + ($74<<2)|0); + $76 = HEAP32[$75>>2]|0; + $77 = ($16|0)==($76|0); + do { + if ($77) { + HEAP32[$75>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $78 = 1 << $74; + $79 = $78 ^ -1; + $80 = HEAP32[(24748)>>2]|0; + $81 = $80 & $79; + HEAP32[(24748)>>2] = $81; + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } + } else { + $82 = HEAP32[(24760)>>2]|0; + $83 = ($46>>>0)<($82>>>0); + if ($83) { + _abort(); + // unreachable; + } else { + $84 = ((($46)) + 16|0); + $85 = HEAP32[$84>>2]|0; + $not$405 = ($85|0)!=($16|0); + $$sink3 = $not$405&1; + $86 = (((($46)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$86>>2] = $$3; + $87 = ($$3|0)==(0|0); + if ($87) { + $$1 = $16;$$1382 = $17;$113 = $16; + break L10; + } else { + break; + } + } + } + } while(0); + $88 = HEAP32[(24760)>>2]|0; + $89 = ($$3>>>0)<($88>>>0); + if ($89) { + _abort(); + // unreachable; + } + $90 = ((($$3)) + 24|0); + HEAP32[$90>>2] = $46; + $91 = ((($16)) + 16|0); + $92 = HEAP32[$91>>2]|0; + $93 = ($92|0)==(0|0); + do { + if (!($93)) { + $94 = ($92>>>0)<($88>>>0); + if ($94) { + _abort(); + // unreachable; + } else { + $95 = ((($$3)) + 16|0); + HEAP32[$95>>2] = $92; + $96 = ((($92)) + 24|0); + HEAP32[$96>>2] = $$3; + break; + } + } + } while(0); + $97 = ((($91)) + 4|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==(0|0); + if ($99) { + $$1 = $16;$$1382 = $17;$113 = $16; + } else { + $100 = HEAP32[(24760)>>2]|0; + $101 = ($98>>>0)<($100>>>0); + if ($101) { + _abort(); + // unreachable; + } else { + $102 = ((($$3)) + 20|0); + HEAP32[$102>>2] = $98; + $103 = ((($98)) + 24|0); + HEAP32[$103>>2] = $$3; + $$1 = $16;$$1382 = $17;$113 = $16; + break; + } + } + } + } else { + $$1 = $2;$$1382 = $9;$113 = $2; + } + } while(0); + $112 = ($113>>>0)<($10>>>0); + if (!($112)) { + _abort(); + // unreachable; + } + $114 = ((($10)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = $115 & 1; + $117 = ($116|0)==(0); + if ($117) { + _abort(); + // unreachable; + } + $118 = $115 & 2; + $119 = ($118|0)==(0); + if ($119) { + $120 = HEAP32[(24768)>>2]|0; + $121 = ($10|0)==($120|0); + $122 = HEAP32[(24764)>>2]|0; + if ($121) { + $123 = HEAP32[(24756)>>2]|0; + $124 = (($123) + ($$1382))|0; + HEAP32[(24756)>>2] = $124; + HEAP32[(24768)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = ($$1|0)==($122|0); + if (!($127)) { + return; + } + HEAP32[(24764)>>2] = 0; + HEAP32[(24752)>>2] = 0; + return; + } + $128 = ($10|0)==($122|0); + if ($128) { + $129 = HEAP32[(24752)>>2]|0; + $130 = (($129) + ($$1382))|0; + HEAP32[(24752)>>2] = $130; + HEAP32[(24764)>>2] = $113; + $131 = $130 | 1; + $132 = ((($$1)) + 4|0); + HEAP32[$132>>2] = $131; + $133 = (($113) + ($130)|0); + HEAP32[$133>>2] = $130; + return; + } + $134 = $115 & -8; + $135 = (($134) + ($$1382))|0; + $136 = $115 >>> 3; + $137 = ($115>>>0)<(256); + L108: do { + if ($137) { + $138 = ((($10)) + 8|0); + $139 = HEAP32[$138>>2]|0; + $140 = ((($10)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = $136 << 1; + $143 = (24784 + ($142<<2)|0); + $144 = ($139|0)==($143|0); + if (!($144)) { + $145 = HEAP32[(24760)>>2]|0; + $146 = ($139>>>0)<($145>>>0); + if ($146) { + _abort(); + // unreachable; + } + $147 = ((($139)) + 12|0); + $148 = HEAP32[$147>>2]|0; + $149 = ($148|0)==($10|0); + if (!($149)) { + _abort(); + // unreachable; + } + } + $150 = ($141|0)==($139|0); + if ($150) { + $151 = 1 << $136; + $152 = $151 ^ -1; + $153 = HEAP32[6186]|0; + $154 = $153 & $152; + HEAP32[6186] = $154; + break; + } + $155 = ($141|0)==($143|0); + if ($155) { + $$pre442 = ((($141)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $156 = HEAP32[(24760)>>2]|0; + $157 = ($141>>>0)<($156>>>0); + if ($157) { + _abort(); + // unreachable; + } + $158 = ((($141)) + 8|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==($10|0); + if ($160) { + $$pre$phi443Z2D = $158; + } else { + _abort(); + // unreachable; + } + } + $161 = ((($139)) + 12|0); + HEAP32[$161>>2] = $141; + HEAP32[$$pre$phi443Z2D>>2] = $139; + } else { + $162 = ((($10)) + 24|0); + $163 = HEAP32[$162>>2]|0; + $164 = ((($10)) + 12|0); + $165 = HEAP32[$164>>2]|0; + $166 = ($165|0)==($10|0); + do { + if ($166) { + $177 = ((($10)) + 16|0); + $178 = ((($177)) + 4|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|0)==(0|0); + if ($180) { + $181 = HEAP32[$177>>2]|0; + $182 = ($181|0)==(0|0); + if ($182) { + $$3400 = 0; + break; + } else { + $$1398 = $181;$$1402 = $177; + } + } else { + $$1398 = $179;$$1402 = $178; + } + while(1) { + $183 = ((($$1398)) + 20|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if (!($185)) { + $$1398 = $184;$$1402 = $183; + continue; + } + $186 = ((($$1398)) + 16|0); + $187 = HEAP32[$186>>2]|0; + $188 = ($187|0)==(0|0); + if ($188) { + break; + } else { + $$1398 = $187;$$1402 = $186; + } + } + $189 = HEAP32[(24760)>>2]|0; + $190 = ($$1402>>>0)<($189>>>0); + if ($190) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $167 = ((($10)) + 8|0); + $168 = HEAP32[$167>>2]|0; + $169 = HEAP32[(24760)>>2]|0; + $170 = ($168>>>0)<($169>>>0); + if ($170) { + _abort(); + // unreachable; + } + $171 = ((($168)) + 12|0); + $172 = HEAP32[$171>>2]|0; + $173 = ($172|0)==($10|0); + if (!($173)) { + _abort(); + // unreachable; + } + $174 = ((($165)) + 8|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==($10|0); + if ($176) { + HEAP32[$171>>2] = $165; + HEAP32[$174>>2] = $168; + $$3400 = $165; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $191 = ($163|0)==(0|0); + if (!($191)) { + $192 = ((($10)) + 28|0); + $193 = HEAP32[$192>>2]|0; + $194 = (25048 + ($193<<2)|0); + $195 = HEAP32[$194>>2]|0; + $196 = ($10|0)==($195|0); + do { + if ($196) { + HEAP32[$194>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $197 = 1 << $193; + $198 = $197 ^ -1; + $199 = HEAP32[(24748)>>2]|0; + $200 = $199 & $198; + HEAP32[(24748)>>2] = $200; + break L108; + } + } else { + $201 = HEAP32[(24760)>>2]|0; + $202 = ($163>>>0)<($201>>>0); + if ($202) { + _abort(); + // unreachable; + } else { + $203 = ((($163)) + 16|0); + $204 = HEAP32[$203>>2]|0; + $not$ = ($204|0)!=($10|0); + $$sink5 = $not$&1; + $205 = (((($163)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$205>>2] = $$3400; + $206 = ($$3400|0)==(0|0); + if ($206) { + break L108; + } else { + break; + } + } + } + } while(0); + $207 = HEAP32[(24760)>>2]|0; + $208 = ($$3400>>>0)<($207>>>0); + if ($208) { + _abort(); + // unreachable; + } + $209 = ((($$3400)) + 24|0); + HEAP32[$209>>2] = $163; + $210 = ((($10)) + 16|0); + $211 = HEAP32[$210>>2]|0; + $212 = ($211|0)==(0|0); + do { + if (!($212)) { + $213 = ($211>>>0)<($207>>>0); + if ($213) { + _abort(); + // unreachable; + } else { + $214 = ((($$3400)) + 16|0); + HEAP32[$214>>2] = $211; + $215 = ((($211)) + 24|0); + HEAP32[$215>>2] = $$3400; + break; + } + } + } while(0); + $216 = ((($210)) + 4|0); + $217 = HEAP32[$216>>2]|0; + $218 = ($217|0)==(0|0); + if (!($218)) { + $219 = HEAP32[(24760)>>2]|0; + $220 = ($217>>>0)<($219>>>0); + if ($220) { + _abort(); + // unreachable; + } else { + $221 = ((($$3400)) + 20|0); + HEAP32[$221>>2] = $217; + $222 = ((($217)) + 24|0); + HEAP32[$222>>2] = $$3400; + break; + } + } + } + } + } while(0); + $223 = $135 | 1; + $224 = ((($$1)) + 4|0); + HEAP32[$224>>2] = $223; + $225 = (($113) + ($135)|0); + HEAP32[$225>>2] = $135; + $226 = HEAP32[(24764)>>2]|0; + $227 = ($$1|0)==($226|0); + if ($227) { + HEAP32[(24752)>>2] = $135; + return; + } else { + $$2 = $135; + } + } else { + $228 = $115 & -2; + HEAP32[$114>>2] = $228; + $229 = $$1382 | 1; + $230 = ((($$1)) + 4|0); + HEAP32[$230>>2] = $229; + $231 = (($113) + ($$1382)|0); + HEAP32[$231>>2] = $$1382; + $$2 = $$1382; + } + $232 = $$2 >>> 3; + $233 = ($$2>>>0)<(256); + if ($233) { + $234 = $232 << 1; + $235 = (24784 + ($234<<2)|0); + $236 = HEAP32[6186]|0; + $237 = 1 << $232; + $238 = $236 & $237; + $239 = ($238|0)==(0); + if ($239) { + $240 = $236 | $237; + HEAP32[6186] = $240; + $$pre = ((($235)) + 8|0); + $$0403 = $235;$$pre$phiZ2D = $$pre; + } else { + $241 = ((($235)) + 8|0); + $242 = HEAP32[$241>>2]|0; + $243 = HEAP32[(24760)>>2]|0; + $244 = ($242>>>0)<($243>>>0); + if ($244) { + _abort(); + // unreachable; + } else { + $$0403 = $242;$$pre$phiZ2D = $241; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $245 = ((($$0403)) + 12|0); + HEAP32[$245>>2] = $$1; + $246 = ((($$1)) + 8|0); + HEAP32[$246>>2] = $$0403; + $247 = ((($$1)) + 12|0); + HEAP32[$247>>2] = $235; + return; + } + $248 = $$2 >>> 8; + $249 = ($248|0)==(0); + if ($249) { + $$0396 = 0; + } else { + $250 = ($$2>>>0)>(16777215); + if ($250) { + $$0396 = 31; + } else { + $251 = (($248) + 1048320)|0; + $252 = $251 >>> 16; + $253 = $252 & 8; + $254 = $248 << $253; + $255 = (($254) + 520192)|0; + $256 = $255 >>> 16; + $257 = $256 & 4; + $258 = $257 | $253; + $259 = $254 << $257; + $260 = (($259) + 245760)|0; + $261 = $260 >>> 16; + $262 = $261 & 2; + $263 = $258 | $262; + $264 = (14 - ($263))|0; + $265 = $259 << $262; + $266 = $265 >>> 15; + $267 = (($264) + ($266))|0; + $268 = $267 << 1; + $269 = (($267) + 7)|0; + $270 = $$2 >>> $269; + $271 = $270 & 1; + $272 = $271 | $268; + $$0396 = $272; + } + } + $273 = (25048 + ($$0396<<2)|0); + $274 = ((($$1)) + 28|0); + HEAP32[$274>>2] = $$0396; + $275 = ((($$1)) + 16|0); + $276 = ((($$1)) + 20|0); + HEAP32[$276>>2] = 0; + HEAP32[$275>>2] = 0; + $277 = HEAP32[(24748)>>2]|0; + $278 = 1 << $$0396; + $279 = $277 & $278; + $280 = ($279|0)==(0); + do { + if ($280) { + $281 = $277 | $278; + HEAP32[(24748)>>2] = $281; + HEAP32[$273>>2] = $$1; + $282 = ((($$1)) + 24|0); + HEAP32[$282>>2] = $273; + $283 = ((($$1)) + 12|0); + HEAP32[$283>>2] = $$1; + $284 = ((($$1)) + 8|0); + HEAP32[$284>>2] = $$1; + } else { + $285 = HEAP32[$273>>2]|0; + $286 = ($$0396|0)==(31); + $287 = $$0396 >>> 1; + $288 = (25 - ($287))|0; + $289 = $286 ? 0 : $288; + $290 = $$2 << $289; + $$0383 = $290;$$0384 = $285; + while(1) { + $291 = ((($$0384)) + 4|0); + $292 = HEAP32[$291>>2]|0; + $293 = $292 & -8; + $294 = ($293|0)==($$2|0); + if ($294) { + label = 124; + break; + } + $295 = $$0383 >>> 31; + $296 = (((($$0384)) + 16|0) + ($295<<2)|0); + $297 = $$0383 << 1; + $298 = HEAP32[$296>>2]|0; + $299 = ($298|0)==(0|0); + if ($299) { + label = 121; + break; + } else { + $$0383 = $297;$$0384 = $298; + } + } + if ((label|0) == 121) { + $300 = HEAP32[(24760)>>2]|0; + $301 = ($296>>>0)<($300>>>0); + if ($301) { + _abort(); + // unreachable; + } else { + HEAP32[$296>>2] = $$1; + $302 = ((($$1)) + 24|0); + HEAP32[$302>>2] = $$0384; + $303 = ((($$1)) + 12|0); + HEAP32[$303>>2] = $$1; + $304 = ((($$1)) + 8|0); + HEAP32[$304>>2] = $$1; + break; + } + } + else if ((label|0) == 124) { + $305 = ((($$0384)) + 8|0); + $306 = HEAP32[$305>>2]|0; + $307 = HEAP32[(24760)>>2]|0; + $308 = ($306>>>0)>=($307>>>0); + $not$437 = ($$0384>>>0)>=($307>>>0); + $309 = $308 & $not$437; + if ($309) { + $310 = ((($306)) + 12|0); + HEAP32[$310>>2] = $$1; + HEAP32[$305>>2] = $$1; + $311 = ((($$1)) + 8|0); + HEAP32[$311>>2] = $306; + $312 = ((($$1)) + 12|0); + HEAP32[$312>>2] = $$0384; + $313 = ((($$1)) + 24|0); + HEAP32[$313>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } while(0); + $314 = HEAP32[(24776)>>2]|0; + $315 = (($314) + -1)|0; + HEAP32[(24776)>>2] = $315; + $316 = ($315|0)==(0); + if ($316) { + $$0212$in$i = (25200); + } else { + return; + } + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $317 = ($$0212$i|0)==(0|0); + $318 = ((($$0212$i)) + 8|0); + if ($317) { + break; + } else { + $$0212$in$i = $318; + } + } + HEAP32[(24776)>>2] = -1; + return; +} +function _realloc($0,$1) { + $0 = $0|0; + $1 = $1|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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ($0|0)==(0|0); + if ($2) { + $3 = (_malloc($1)|0); + $$1 = $3; + return ($$1|0); + } + $4 = ($1>>>0)>(4294967231); + if ($4) { + $5 = (___errno_location()|0); + HEAP32[$5>>2] = 12; + $$1 = 0; + return ($$1|0); + } + $6 = ($1>>>0)<(11); + $7 = (($1) + 11)|0; + $8 = $7 & -8; + $9 = $6 ? 16 : $8; + $10 = ((($0)) + -8|0); + $11 = (_try_realloc_chunk($10,$9)|0); + $12 = ($11|0)==(0|0); + if (!($12)) { + $13 = ((($11)) + 8|0); + $$1 = $13; + return ($$1|0); + } + $14 = (_malloc($1)|0); + $15 = ($14|0)==(0|0); + if ($15) { + $$1 = 0; + return ($$1|0); + } + $16 = ((($0)) + -4|0); + $17 = HEAP32[$16>>2]|0; + $18 = $17 & -8; + $19 = $17 & 3; + $20 = ($19|0)==(0); + $21 = $20 ? 8 : 4; + $22 = (($18) - ($21))|0; + $23 = ($22>>>0)<($1>>>0); + $24 = $23 ? $22 : $1; + _memcpy(($14|0),($0|0),($24|0))|0; + _free($0); + $$1 = $14; + return ($$1|0); +} +function _try_realloc_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 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; + var $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, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0; + var $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, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0; + var $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, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0; + var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 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, $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; + var $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, $79 = 0, $8 = 0, $80 = 0; + var $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, $97 = 0, $98 = 0, $99 = 0; + var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 4|0); + $3 = HEAP32[$2>>2]|0; + $4 = $3 & -8; + $5 = (($0) + ($4)|0); + $6 = HEAP32[(24760)>>2]|0; + $7 = $3 & 3; + $notlhs = ($0>>>0)>=($6>>>0); + $notrhs = ($7|0)!=(1); + $or$cond$not = $notrhs & $notlhs; + $8 = ($0>>>0)<($5>>>0); + $or$cond3 = $or$cond$not & $8; + if (!($or$cond3)) { + _abort(); + // unreachable; + } + $9 = ((($5)) + 4|0); + $10 = HEAP32[$9>>2]|0; + $11 = $10 & 1; + $12 = ($11|0)==(0); + if ($12) { + _abort(); + // unreachable; + } + $13 = ($7|0)==(0); + if ($13) { + $14 = ($1>>>0)<(256); + if ($14) { + $$2 = 0; + return ($$2|0); + } + $15 = (($1) + 4)|0; + $16 = ($4>>>0)<($15>>>0); + if (!($16)) { + $17 = (($4) - ($1))|0; + $18 = HEAP32[(25224)>>2]|0; + $19 = $18 << 1; + $20 = ($17>>>0)>($19>>>0); + if (!($20)) { + $$2 = $0; + return ($$2|0); + } + } + $$2 = 0; + return ($$2|0); + } + $21 = ($4>>>0)<($1>>>0); + if (!($21)) { + $22 = (($4) - ($1))|0; + $23 = ($22>>>0)>(15); + if (!($23)) { + $$2 = $0; + return ($$2|0); + } + $24 = (($0) + ($1)|0); + $25 = $3 & 1; + $26 = $25 | $1; + $27 = $26 | 2; + HEAP32[$2>>2] = $27; + $28 = ((($24)) + 4|0); + $29 = $22 | 3; + HEAP32[$28>>2] = $29; + $30 = (($24) + ($22)|0); + $31 = ((($30)) + 4|0); + $32 = HEAP32[$31>>2]|0; + $33 = $32 | 1; + HEAP32[$31>>2] = $33; + _dispose_chunk($24,$22); + $$2 = $0; + return ($$2|0); + } + $34 = HEAP32[(24768)>>2]|0; + $35 = ($5|0)==($34|0); + if ($35) { + $36 = HEAP32[(24756)>>2]|0; + $37 = (($36) + ($4))|0; + $38 = ($37>>>0)>($1>>>0); + $39 = (($37) - ($1))|0; + $40 = (($0) + ($1)|0); + if (!($38)) { + $$2 = 0; + return ($$2|0); + } + $41 = $39 | 1; + $42 = ((($40)) + 4|0); + $43 = $3 & 1; + $44 = $43 | $1; + $45 = $44 | 2; + HEAP32[$2>>2] = $45; + HEAP32[$42>>2] = $41; + HEAP32[(24768)>>2] = $40; + HEAP32[(24756)>>2] = $39; + $$2 = $0; + return ($$2|0); + } + $46 = HEAP32[(24764)>>2]|0; + $47 = ($5|0)==($46|0); + if ($47) { + $48 = HEAP32[(24752)>>2]|0; + $49 = (($48) + ($4))|0; + $50 = ($49>>>0)<($1>>>0); + if ($50) { + $$2 = 0; + return ($$2|0); + } + $51 = (($49) - ($1))|0; + $52 = ($51>>>0)>(15); + $53 = $3 & 1; + if ($52) { + $54 = (($0) + ($1)|0); + $55 = (($54) + ($51)|0); + $56 = $53 | $1; + $57 = $56 | 2; + HEAP32[$2>>2] = $57; + $58 = ((($54)) + 4|0); + $59 = $51 | 1; + HEAP32[$58>>2] = $59; + HEAP32[$55>>2] = $51; + $60 = ((($55)) + 4|0); + $61 = HEAP32[$60>>2]|0; + $62 = $61 & -2; + HEAP32[$60>>2] = $62; + $storemerge = $54;$storemerge1 = $51; + } else { + $63 = $53 | $49; + $64 = $63 | 2; + HEAP32[$2>>2] = $64; + $65 = (($0) + ($49)|0); + $66 = ((($65)) + 4|0); + $67 = HEAP32[$66>>2]|0; + $68 = $67 | 1; + HEAP32[$66>>2] = $68; + $storemerge = 0;$storemerge1 = 0; + } + HEAP32[(24752)>>2] = $storemerge1; + HEAP32[(24764)>>2] = $storemerge; + $$2 = $0; + return ($$2|0); + } + $69 = $10 & 2; + $70 = ($69|0)==(0); + if (!($70)) { + $$2 = 0; + return ($$2|0); + } + $71 = $10 & -8; + $72 = (($71) + ($4))|0; + $73 = ($72>>>0)<($1>>>0); + if ($73) { + $$2 = 0; + return ($$2|0); + } + $74 = (($72) - ($1))|0; + $75 = $10 >>> 3; + $76 = ($10>>>0)<(256); + L49: do { + if ($76) { + $77 = ((($5)) + 8|0); + $78 = HEAP32[$77>>2]|0; + $79 = ((($5)) + 12|0); + $80 = HEAP32[$79>>2]|0; + $81 = $75 << 1; + $82 = (24784 + ($81<<2)|0); + $83 = ($78|0)==($82|0); + if (!($83)) { + $84 = ($78>>>0)<($6>>>0); + if ($84) { + _abort(); + // unreachable; + } + $85 = ((($78)) + 12|0); + $86 = HEAP32[$85>>2]|0; + $87 = ($86|0)==($5|0); + if (!($87)) { + _abort(); + // unreachable; + } + } + $88 = ($80|0)==($78|0); + if ($88) { + $89 = 1 << $75; + $90 = $89 ^ -1; + $91 = HEAP32[6186]|0; + $92 = $91 & $90; + HEAP32[6186] = $92; + break; + } + $93 = ($80|0)==($82|0); + if ($93) { + $$pre = ((($80)) + 8|0); + $$pre$phiZ2D = $$pre; + } else { + $94 = ($80>>>0)<($6>>>0); + if ($94) { + _abort(); + // unreachable; + } + $95 = ((($80)) + 8|0); + $96 = HEAP32[$95>>2]|0; + $97 = ($96|0)==($5|0); + if ($97) { + $$pre$phiZ2D = $95; + } else { + _abort(); + // unreachable; + } + } + $98 = ((($78)) + 12|0); + HEAP32[$98>>2] = $80; + HEAP32[$$pre$phiZ2D>>2] = $78; + } else { + $99 = ((($5)) + 24|0); + $100 = HEAP32[$99>>2]|0; + $101 = ((($5)) + 12|0); + $102 = HEAP32[$101>>2]|0; + $103 = ($102|0)==($5|0); + do { + if ($103) { + $113 = ((($5)) + 16|0); + $114 = ((($113)) + 4|0); + $115 = HEAP32[$114>>2]|0; + $116 = ($115|0)==(0|0); + if ($116) { + $117 = HEAP32[$113>>2]|0; + $118 = ($117|0)==(0|0); + if ($118) { + $$3 = 0; + break; + } else { + $$1272 = $117;$$1275 = $113; + } + } else { + $$1272 = $115;$$1275 = $114; + } + while(1) { + $119 = ((($$1272)) + 20|0); + $120 = HEAP32[$119>>2]|0; + $121 = ($120|0)==(0|0); + if (!($121)) { + $$1272 = $120;$$1275 = $119; + continue; + } + $122 = ((($$1272)) + 16|0); + $123 = HEAP32[$122>>2]|0; + $124 = ($123|0)==(0|0); + if ($124) { + break; + } else { + $$1272 = $123;$$1275 = $122; + } + } + $125 = ($$1275>>>0)<($6>>>0); + if ($125) { + _abort(); + // unreachable; + } else { + HEAP32[$$1275>>2] = 0; + $$3 = $$1272; + break; + } + } else { + $104 = ((($5)) + 8|0); + $105 = HEAP32[$104>>2]|0; + $106 = ($105>>>0)<($6>>>0); + if ($106) { + _abort(); + // unreachable; + } + $107 = ((($105)) + 12|0); + $108 = HEAP32[$107>>2]|0; + $109 = ($108|0)==($5|0); + if (!($109)) { + _abort(); + // unreachable; + } + $110 = ((($102)) + 8|0); + $111 = HEAP32[$110>>2]|0; + $112 = ($111|0)==($5|0); + if ($112) { + HEAP32[$107>>2] = $102; + HEAP32[$110>>2] = $105; + $$3 = $102; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $126 = ($100|0)==(0|0); + if (!($126)) { + $127 = ((($5)) + 28|0); + $128 = HEAP32[$127>>2]|0; + $129 = (25048 + ($128<<2)|0); + $130 = HEAP32[$129>>2]|0; + $131 = ($5|0)==($130|0); + do { + if ($131) { + HEAP32[$129>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $132 = 1 << $128; + $133 = $132 ^ -1; + $134 = HEAP32[(24748)>>2]|0; + $135 = $134 & $133; + HEAP32[(24748)>>2] = $135; + break L49; + } + } else { + $136 = HEAP32[(24760)>>2]|0; + $137 = ($100>>>0)<($136>>>0); + if ($137) { + _abort(); + // unreachable; + } else { + $138 = ((($100)) + 16|0); + $139 = HEAP32[$138>>2]|0; + $not$ = ($139|0)!=($5|0); + $$sink1 = $not$&1; + $140 = (((($100)) + 16|0) + ($$sink1<<2)|0); + HEAP32[$140>>2] = $$3; + $141 = ($$3|0)==(0|0); + if ($141) { + break L49; + } else { + break; + } + } + } + } while(0); + $142 = HEAP32[(24760)>>2]|0; + $143 = ($$3>>>0)<($142>>>0); + if ($143) { + _abort(); + // unreachable; + } + $144 = ((($$3)) + 24|0); + HEAP32[$144>>2] = $100; + $145 = ((($5)) + 16|0); + $146 = HEAP32[$145>>2]|0; + $147 = ($146|0)==(0|0); + do { + if (!($147)) { + $148 = ($146>>>0)<($142>>>0); + if ($148) { + _abort(); + // unreachable; + } else { + $149 = ((($$3)) + 16|0); + HEAP32[$149>>2] = $146; + $150 = ((($146)) + 24|0); + HEAP32[$150>>2] = $$3; + break; + } + } + } while(0); + $151 = ((($145)) + 4|0); + $152 = HEAP32[$151>>2]|0; + $153 = ($152|0)==(0|0); + if (!($153)) { + $154 = HEAP32[(24760)>>2]|0; + $155 = ($152>>>0)<($154>>>0); + if ($155) { + _abort(); + // unreachable; + } else { + $156 = ((($$3)) + 20|0); + HEAP32[$156>>2] = $152; + $157 = ((($152)) + 24|0); + HEAP32[$157>>2] = $$3; + break; + } + } + } + } + } while(0); + $158 = ($74>>>0)<(16); + $159 = $3 & 1; + if ($158) { + $160 = $72 | $159; + $161 = $160 | 2; + HEAP32[$2>>2] = $161; + $162 = (($0) + ($72)|0); + $163 = ((($162)) + 4|0); + $164 = HEAP32[$163>>2]|0; + $165 = $164 | 1; + HEAP32[$163>>2] = $165; + $$2 = $0; + return ($$2|0); + } else { + $166 = (($0) + ($1)|0); + $167 = $159 | $1; + $168 = $167 | 2; + HEAP32[$2>>2] = $168; + $169 = ((($166)) + 4|0); + $170 = $74 | 3; + HEAP32[$169>>2] = $170; + $171 = (($166) + ($74)|0); + $172 = ((($171)) + 4|0); + $173 = HEAP32[$172>>2]|0; + $174 = $173 | 1; + HEAP32[$172>>2] = $174; + _dispose_chunk($166,$74); + $$2 = $0; + return ($$2|0); + } + return (0)|0; +} +function _dispose_chunk($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0; + var $$sink4 = 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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; + var $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, $131 = 0, $132 = 0, $133 = 0, $134 = 0; + var $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, $15 = 0, $150 = 0, $151 = 0, $152 = 0; + var $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, $168 = 0, $169 = 0, $17 = 0, $170 = 0; + var $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, $186 = 0, $187 = 0, $188 = 0, $189 = 0; + var $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, $203 = 0, $204 = 0, $205 = 0, $206 = 0; + var $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, $221 = 0, $222 = 0, $223 = 0, $224 = 0; + var $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, $24 = 0, $240 = 0, $241 = 0, $242 = 0; + var $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, $258 = 0, $259 = 0, $26 = 0, $260 = 0; + var $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, $276 = 0, $277 = 0, $278 = 0, $279 = 0; + var $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, $294 = 0, $295 = 0, $296 = 0, $297 = 0; + var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 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, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (($0) + ($1)|0); + $3 = ((($0)) + 4|0); + $4 = HEAP32[$3>>2]|0; + $5 = $4 & 1; + $6 = ($5|0)==(0); + L1: do { + if ($6) { + $7 = HEAP32[$0>>2]|0; + $8 = $4 & 3; + $9 = ($8|0)==(0); + if ($9) { + return; + } + $10 = (0 - ($7))|0; + $11 = (($0) + ($10)|0); + $12 = (($7) + ($1))|0; + $13 = HEAP32[(24760)>>2]|0; + $14 = ($11>>>0)<($13>>>0); + if ($14) { + _abort(); + // unreachable; + } + $15 = HEAP32[(24764)>>2]|0; + $16 = ($11|0)==($15|0); + if ($16) { + $100 = ((($2)) + 4|0); + $101 = HEAP32[$100>>2]|0; + $102 = $101 & 3; + $103 = ($102|0)==(3); + if (!($103)) { + $$1 = $11;$$1418 = $12; + break; + } + $104 = (($11) + ($12)|0); + $105 = ((($11)) + 4|0); + $106 = $12 | 1; + $107 = $101 & -2; + HEAP32[(24752)>>2] = $12; + HEAP32[$100>>2] = $107; + HEAP32[$105>>2] = $106; + HEAP32[$104>>2] = $12; + return; + } + $17 = $7 >>> 3; + $18 = ($7>>>0)<(256); + if ($18) { + $19 = ((($11)) + 8|0); + $20 = HEAP32[$19>>2]|0; + $21 = ((($11)) + 12|0); + $22 = HEAP32[$21>>2]|0; + $23 = $17 << 1; + $24 = (24784 + ($23<<2)|0); + $25 = ($20|0)==($24|0); + if (!($25)) { + $26 = ($20>>>0)<($13>>>0); + if ($26) { + _abort(); + // unreachable; + } + $27 = ((($20)) + 12|0); + $28 = HEAP32[$27>>2]|0; + $29 = ($28|0)==($11|0); + if (!($29)) { + _abort(); + // unreachable; + } + } + $30 = ($22|0)==($20|0); + if ($30) { + $31 = 1 << $17; + $32 = $31 ^ -1; + $33 = HEAP32[6186]|0; + $34 = $33 & $32; + HEAP32[6186] = $34; + $$1 = $11;$$1418 = $12; + break; + } + $35 = ($22|0)==($24|0); + if ($35) { + $$pre25 = ((($22)) + 8|0); + $$pre$phi26Z2D = $$pre25; + } else { + $36 = ($22>>>0)<($13>>>0); + if ($36) { + _abort(); + // unreachable; + } + $37 = ((($22)) + 8|0); + $38 = HEAP32[$37>>2]|0; + $39 = ($38|0)==($11|0); + if ($39) { + $$pre$phi26Z2D = $37; + } else { + _abort(); + // unreachable; + } + } + $40 = ((($20)) + 12|0); + HEAP32[$40>>2] = $22; + HEAP32[$$pre$phi26Z2D>>2] = $20; + $$1 = $11;$$1418 = $12; + break; + } + $41 = ((($11)) + 24|0); + $42 = HEAP32[$41>>2]|0; + $43 = ((($11)) + 12|0); + $44 = HEAP32[$43>>2]|0; + $45 = ($44|0)==($11|0); + do { + if ($45) { + $55 = ((($11)) + 16|0); + $56 = ((($55)) + 4|0); + $57 = HEAP32[$56>>2]|0; + $58 = ($57|0)==(0|0); + if ($58) { + $59 = HEAP32[$55>>2]|0; + $60 = ($59|0)==(0|0); + if ($60) { + $$3 = 0; + break; + } else { + $$1426 = $59;$$1429 = $55; + } + } else { + $$1426 = $57;$$1429 = $56; + } + while(1) { + $61 = ((($$1426)) + 20|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==(0|0); + if (!($63)) { + $$1426 = $62;$$1429 = $61; + continue; + } + $64 = ((($$1426)) + 16|0); + $65 = HEAP32[$64>>2]|0; + $66 = ($65|0)==(0|0); + if ($66) { + break; + } else { + $$1426 = $65;$$1429 = $64; + } + } + $67 = ($$1429>>>0)<($13>>>0); + if ($67) { + _abort(); + // unreachable; + } else { + HEAP32[$$1429>>2] = 0; + $$3 = $$1426; + break; + } + } else { + $46 = ((($11)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47>>>0)<($13>>>0); + if ($48) { + _abort(); + // unreachable; + } + $49 = ((($47)) + 12|0); + $50 = HEAP32[$49>>2]|0; + $51 = ($50|0)==($11|0); + if (!($51)) { + _abort(); + // unreachable; + } + $52 = ((($44)) + 8|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($11|0); + if ($54) { + HEAP32[$49>>2] = $44; + HEAP32[$52>>2] = $47; + $$3 = $44; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $68 = ($42|0)==(0|0); + if ($68) { + $$1 = $11;$$1418 = $12; + } else { + $69 = ((($11)) + 28|0); + $70 = HEAP32[$69>>2]|0; + $71 = (25048 + ($70<<2)|0); + $72 = HEAP32[$71>>2]|0; + $73 = ($11|0)==($72|0); + do { + if ($73) { + HEAP32[$71>>2] = $$3; + $cond = ($$3|0)==(0|0); + if ($cond) { + $74 = 1 << $70; + $75 = $74 ^ -1; + $76 = HEAP32[(24748)>>2]|0; + $77 = $76 & $75; + HEAP32[(24748)>>2] = $77; + $$1 = $11;$$1418 = $12; + break L1; + } + } else { + $78 = HEAP32[(24760)>>2]|0; + $79 = ($42>>>0)<($78>>>0); + if ($79) { + _abort(); + // unreachable; + } else { + $80 = ((($42)) + 16|0); + $81 = HEAP32[$80>>2]|0; + $not$1 = ($81|0)!=($11|0); + $$sink2 = $not$1&1; + $82 = (((($42)) + 16|0) + ($$sink2<<2)|0); + HEAP32[$82>>2] = $$3; + $83 = ($$3|0)==(0|0); + if ($83) { + $$1 = $11;$$1418 = $12; + break L1; + } else { + break; + } + } + } + } while(0); + $84 = HEAP32[(24760)>>2]|0; + $85 = ($$3>>>0)<($84>>>0); + if ($85) { + _abort(); + // unreachable; + } + $86 = ((($$3)) + 24|0); + HEAP32[$86>>2] = $42; + $87 = ((($11)) + 16|0); + $88 = HEAP32[$87>>2]|0; + $89 = ($88|0)==(0|0); + do { + if (!($89)) { + $90 = ($88>>>0)<($84>>>0); + if ($90) { + _abort(); + // unreachable; + } else { + $91 = ((($$3)) + 16|0); + HEAP32[$91>>2] = $88; + $92 = ((($88)) + 24|0); + HEAP32[$92>>2] = $$3; + break; + } + } + } while(0); + $93 = ((($87)) + 4|0); + $94 = HEAP32[$93>>2]|0; + $95 = ($94|0)==(0|0); + if ($95) { + $$1 = $11;$$1418 = $12; + } else { + $96 = HEAP32[(24760)>>2]|0; + $97 = ($94>>>0)<($96>>>0); + if ($97) { + _abort(); + // unreachable; + } else { + $98 = ((($$3)) + 20|0); + HEAP32[$98>>2] = $94; + $99 = ((($94)) + 24|0); + HEAP32[$99>>2] = $$3; + $$1 = $11;$$1418 = $12; + break; + } + } + } + } else { + $$1 = $0;$$1418 = $1; + } + } while(0); + $108 = HEAP32[(24760)>>2]|0; + $109 = ($2>>>0)<($108>>>0); + if ($109) { + _abort(); + // unreachable; + } + $110 = ((($2)) + 4|0); + $111 = HEAP32[$110>>2]|0; + $112 = $111 & 2; + $113 = ($112|0)==(0); + if ($113) { + $114 = HEAP32[(24768)>>2]|0; + $115 = ($2|0)==($114|0); + $116 = HEAP32[(24764)>>2]|0; + if ($115) { + $117 = HEAP32[(24756)>>2]|0; + $118 = (($117) + ($$1418))|0; + HEAP32[(24756)>>2] = $118; + HEAP32[(24768)>>2] = $$1; + $119 = $118 | 1; + $120 = ((($$1)) + 4|0); + HEAP32[$120>>2] = $119; + $121 = ($$1|0)==($116|0); + if (!($121)) { + return; + } + HEAP32[(24764)>>2] = 0; + HEAP32[(24752)>>2] = 0; + return; + } + $122 = ($2|0)==($116|0); + if ($122) { + $123 = HEAP32[(24752)>>2]|0; + $124 = (($123) + ($$1418))|0; + HEAP32[(24752)>>2] = $124; + HEAP32[(24764)>>2] = $$1; + $125 = $124 | 1; + $126 = ((($$1)) + 4|0); + HEAP32[$126>>2] = $125; + $127 = (($$1) + ($124)|0); + HEAP32[$127>>2] = $124; + return; + } + $128 = $111 & -8; + $129 = (($128) + ($$1418))|0; + $130 = $111 >>> 3; + $131 = ($111>>>0)<(256); + L96: do { + if ($131) { + $132 = ((($2)) + 8|0); + $133 = HEAP32[$132>>2]|0; + $134 = ((($2)) + 12|0); + $135 = HEAP32[$134>>2]|0; + $136 = $130 << 1; + $137 = (24784 + ($136<<2)|0); + $138 = ($133|0)==($137|0); + if (!($138)) { + $139 = ($133>>>0)<($108>>>0); + if ($139) { + _abort(); + // unreachable; + } + $140 = ((($133)) + 12|0); + $141 = HEAP32[$140>>2]|0; + $142 = ($141|0)==($2|0); + if (!($142)) { + _abort(); + // unreachable; + } + } + $143 = ($135|0)==($133|0); + if ($143) { + $144 = 1 << $130; + $145 = $144 ^ -1; + $146 = HEAP32[6186]|0; + $147 = $146 & $145; + HEAP32[6186] = $147; + break; + } + $148 = ($135|0)==($137|0); + if ($148) { + $$pre23 = ((($135)) + 8|0); + $$pre$phi24Z2D = $$pre23; + } else { + $149 = ($135>>>0)<($108>>>0); + if ($149) { + _abort(); + // unreachable; + } + $150 = ((($135)) + 8|0); + $151 = HEAP32[$150>>2]|0; + $152 = ($151|0)==($2|0); + if ($152) { + $$pre$phi24Z2D = $150; + } else { + _abort(); + // unreachable; + } + } + $153 = ((($133)) + 12|0); + HEAP32[$153>>2] = $135; + HEAP32[$$pre$phi24Z2D>>2] = $133; + } else { + $154 = ((($2)) + 24|0); + $155 = HEAP32[$154>>2]|0; + $156 = ((($2)) + 12|0); + $157 = HEAP32[$156>>2]|0; + $158 = ($157|0)==($2|0); + do { + if ($158) { + $168 = ((($2)) + 16|0); + $169 = ((($168)) + 4|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { + $172 = HEAP32[$168>>2]|0; + $173 = ($172|0)==(0|0); + if ($173) { + $$3435 = 0; + break; + } else { + $$1433 = $172;$$1437 = $168; + } + } else { + $$1433 = $170;$$1437 = $169; + } + while(1) { + $174 = ((($$1433)) + 20|0); + $175 = HEAP32[$174>>2]|0; + $176 = ($175|0)==(0|0); + if (!($176)) { + $$1433 = $175;$$1437 = $174; + continue; + } + $177 = ((($$1433)) + 16|0); + $178 = HEAP32[$177>>2]|0; + $179 = ($178|0)==(0|0); + if ($179) { + break; + } else { + $$1433 = $178;$$1437 = $177; + } + } + $180 = ($$1437>>>0)<($108>>>0); + if ($180) { + _abort(); + // unreachable; + } else { + HEAP32[$$1437>>2] = 0; + $$3435 = $$1433; + break; + } + } else { + $159 = ((($2)) + 8|0); + $160 = HEAP32[$159>>2]|0; + $161 = ($160>>>0)<($108>>>0); + if ($161) { + _abort(); + // unreachable; + } + $162 = ((($160)) + 12|0); + $163 = HEAP32[$162>>2]|0; + $164 = ($163|0)==($2|0); + if (!($164)) { + _abort(); + // unreachable; + } + $165 = ((($157)) + 8|0); + $166 = HEAP32[$165>>2]|0; + $167 = ($166|0)==($2|0); + if ($167) { + HEAP32[$162>>2] = $157; + HEAP32[$165>>2] = $160; + $$3435 = $157; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $181 = ($155|0)==(0|0); + if (!($181)) { + $182 = ((($2)) + 28|0); + $183 = HEAP32[$182>>2]|0; + $184 = (25048 + ($183<<2)|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($2|0)==($185|0); + do { + if ($186) { + HEAP32[$184>>2] = $$3435; + $cond17 = ($$3435|0)==(0|0); + if ($cond17) { + $187 = 1 << $183; + $188 = $187 ^ -1; + $189 = HEAP32[(24748)>>2]|0; + $190 = $189 & $188; + HEAP32[(24748)>>2] = $190; + break L96; + } + } else { + $191 = HEAP32[(24760)>>2]|0; + $192 = ($155>>>0)<($191>>>0); + if ($192) { + _abort(); + // unreachable; + } else { + $193 = ((($155)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $not$ = ($194|0)!=($2|0); + $$sink4 = $not$&1; + $195 = (((($155)) + 16|0) + ($$sink4<<2)|0); + HEAP32[$195>>2] = $$3435; + $196 = ($$3435|0)==(0|0); + if ($196) { + break L96; + } else { + break; + } + } + } + } while(0); + $197 = HEAP32[(24760)>>2]|0; + $198 = ($$3435>>>0)<($197>>>0); + if ($198) { + _abort(); + // unreachable; + } + $199 = ((($$3435)) + 24|0); + HEAP32[$199>>2] = $155; + $200 = ((($2)) + 16|0); + $201 = HEAP32[$200>>2]|0; + $202 = ($201|0)==(0|0); + do { + if (!($202)) { + $203 = ($201>>>0)<($197>>>0); + if ($203) { + _abort(); + // unreachable; + } else { + $204 = ((($$3435)) + 16|0); + HEAP32[$204>>2] = $201; + $205 = ((($201)) + 24|0); + HEAP32[$205>>2] = $$3435; + break; + } + } + } while(0); + $206 = ((($200)) + 4|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($207|0)==(0|0); + if (!($208)) { + $209 = HEAP32[(24760)>>2]|0; + $210 = ($207>>>0)<($209>>>0); + if ($210) { + _abort(); + // unreachable; + } else { + $211 = ((($$3435)) + 20|0); + HEAP32[$211>>2] = $207; + $212 = ((($207)) + 24|0); + HEAP32[$212>>2] = $$3435; + break; + } + } + } + } + } while(0); + $213 = $129 | 1; + $214 = ((($$1)) + 4|0); + HEAP32[$214>>2] = $213; + $215 = (($$1) + ($129)|0); + HEAP32[$215>>2] = $129; + $216 = HEAP32[(24764)>>2]|0; + $217 = ($$1|0)==($216|0); + if ($217) { + HEAP32[(24752)>>2] = $129; + return; + } else { + $$2 = $129; + } + } else { + $218 = $111 & -2; + HEAP32[$110>>2] = $218; + $219 = $$1418 | 1; + $220 = ((($$1)) + 4|0); + HEAP32[$220>>2] = $219; + $221 = (($$1) + ($$1418)|0); + HEAP32[$221>>2] = $$1418; + $$2 = $$1418; + } + $222 = $$2 >>> 3; + $223 = ($$2>>>0)<(256); + if ($223) { + $224 = $222 << 1; + $225 = (24784 + ($224<<2)|0); + $226 = HEAP32[6186]|0; + $227 = 1 << $222; + $228 = $226 & $227; + $229 = ($228|0)==(0); + if ($229) { + $230 = $226 | $227; + HEAP32[6186] = $230; + $$pre = ((($225)) + 8|0); + $$0438 = $225;$$pre$phiZ2D = $$pre; + } else { + $231 = ((($225)) + 8|0); + $232 = HEAP32[$231>>2]|0; + $233 = HEAP32[(24760)>>2]|0; + $234 = ($232>>>0)<($233>>>0); + if ($234) { + _abort(); + // unreachable; + } else { + $$0438 = $232;$$pre$phiZ2D = $231; + } + } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $235 = ((($$0438)) + 12|0); + HEAP32[$235>>2] = $$1; + $236 = ((($$1)) + 8|0); + HEAP32[$236>>2] = $$0438; + $237 = ((($$1)) + 12|0); + HEAP32[$237>>2] = $225; + return; + } + $238 = $$2 >>> 8; + $239 = ($238|0)==(0); + if ($239) { + $$0431 = 0; + } else { + $240 = ($$2>>>0)>(16777215); + if ($240) { + $$0431 = 31; + } else { + $241 = (($238) + 1048320)|0; + $242 = $241 >>> 16; + $243 = $242 & 8; + $244 = $238 << $243; + $245 = (($244) + 520192)|0; + $246 = $245 >>> 16; + $247 = $246 & 4; + $248 = $247 | $243; + $249 = $244 << $247; + $250 = (($249) + 245760)|0; + $251 = $250 >>> 16; + $252 = $251 & 2; + $253 = $248 | $252; + $254 = (14 - ($253))|0; + $255 = $249 << $252; + $256 = $255 >>> 15; + $257 = (($254) + ($256))|0; + $258 = $257 << 1; + $259 = (($257) + 7)|0; + $260 = $$2 >>> $259; + $261 = $260 & 1; + $262 = $261 | $258; + $$0431 = $262; + } + } + $263 = (25048 + ($$0431<<2)|0); + $264 = ((($$1)) + 28|0); + HEAP32[$264>>2] = $$0431; + $265 = ((($$1)) + 16|0); + $266 = ((($$1)) + 20|0); + HEAP32[$266>>2] = 0; + HEAP32[$265>>2] = 0; + $267 = HEAP32[(24748)>>2]|0; + $268 = 1 << $$0431; + $269 = $267 & $268; + $270 = ($269|0)==(0); + if ($270) { + $271 = $267 | $268; + HEAP32[(24748)>>2] = $271; + HEAP32[$263>>2] = $$1; + $272 = ((($$1)) + 24|0); + HEAP32[$272>>2] = $263; + $273 = ((($$1)) + 12|0); + HEAP32[$273>>2] = $$1; + $274 = ((($$1)) + 8|0); + HEAP32[$274>>2] = $$1; + return; + } + $275 = HEAP32[$263>>2]|0; + $276 = ($$0431|0)==(31); + $277 = $$0431 >>> 1; + $278 = (25 - ($277))|0; + $279 = $276 ? 0 : $278; + $280 = $$2 << $279; + $$0419 = $280;$$0420 = $275; + while(1) { + $281 = ((($$0420)) + 4|0); + $282 = HEAP32[$281>>2]|0; + $283 = $282 & -8; + $284 = ($283|0)==($$2|0); + if ($284) { + label = 121; + break; + } + $285 = $$0419 >>> 31; + $286 = (((($$0420)) + 16|0) + ($285<<2)|0); + $287 = $$0419 << 1; + $288 = HEAP32[$286>>2]|0; + $289 = ($288|0)==(0|0); + if ($289) { + label = 118; + break; + } else { + $$0419 = $287;$$0420 = $288; + } + } + if ((label|0) == 118) { + $290 = HEAP32[(24760)>>2]|0; + $291 = ($286>>>0)<($290>>>0); + if ($291) { + _abort(); + // unreachable; + } + HEAP32[$286>>2] = $$1; + $292 = ((($$1)) + 24|0); + HEAP32[$292>>2] = $$0420; + $293 = ((($$1)) + 12|0); + HEAP32[$293>>2] = $$1; + $294 = ((($$1)) + 8|0); + HEAP32[$294>>2] = $$1; + return; + } + else if ((label|0) == 121) { + $295 = ((($$0420)) + 8|0); + $296 = HEAP32[$295>>2]|0; + $297 = HEAP32[(24760)>>2]|0; + $298 = ($296>>>0)>=($297>>>0); + $not$19 = ($$0420>>>0)>=($297>>>0); + $299 = $298 & $not$19; + if (!($299)) { + _abort(); + // unreachable; + } + $300 = ((($296)) + 12|0); + HEAP32[$300>>2] = $$1; + HEAP32[$295>>2] = $$1; + $301 = ((($$1)) + 8|0); + HEAP32[$301>>2] = $296; + $302 = ((($$1)) + 12|0); + HEAP32[$302>>2] = $$0420; + $303 = ((($$1)) + 24|0); + HEAP32[$303>>2] = 0; + return; + } +} +function runPostSets() { +} +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 _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 _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 ___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 _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 _memmove(dest, src, num) { + dest = dest|0; src = src|0; num = num|0; + var ret = 0; + if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) { + // Unlikely case: Copy backwards in a safe manner + ret = dest; + src = (src + num)|0; + dest = (dest + num)|0; + while ((num|0) > 0) { + dest = (dest - 1)|0; + src = (src - 1)|0; + num = (num - 1)|0; + HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0); + } + dest = ret; + } else { + _memcpy(dest, src, num) | 0; + } + return dest | 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 ___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 ___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 _roundf(f) { + f = +f; + return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? +} +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 _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) { + ___setErrNo(12); + HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop; + return -1; + } + } + return oldDynamicTop|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 dynCall_viiiii(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; + FUNCTION_TABLE_viiiii[index&7](a1|0,a2|0,a3|0,a4|0,a5|0); +} + + +function dynCall_vd(index,a1) { + index = index|0; + a1=+a1; + FUNCTION_TABLE_vd[index&3](+a1); +} + + +function dynCall_vid(index,a1,a2) { + index = index|0; + a1=a1|0; a2=+a2; + FUNCTION_TABLE_vid[index&3](a1|0,+a2); +} + + +function dynCall_vi(index,a1) { + index = index|0; + a1=a1|0; + FUNCTION_TABLE_vi[index&31](a1|0); +} + + +function dynCall_vii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + FUNCTION_TABLE_vii[index&63](a1|0,a2|0); +} + + +function dynCall_ii(index,a1) { + index = index|0; + a1=a1|0; + return FUNCTION_TABLE_ii[index&15](a1|0)|0; +} + + +function dynCall_viddd(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_viddd[index&3](a1|0,+a2,+a3,+a4); +} + + +function dynCall_vidd(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; + FUNCTION_TABLE_vidd[index&7](a1|0,+a2,+a3); +} + + +function dynCall_iiii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + return FUNCTION_TABLE_iiii[index&15](a1|0,a2|0,a3|0)|0; +} + + +function dynCall_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; + FUNCTION_TABLE_viiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0); +} + + +function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; + FUNCTION_TABLE_viiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0); +} + + +function dynCall_viii(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; + FUNCTION_TABLE_viii[index&31](a1|0,a2|0,a3|0); +} + + +function dynCall_vidddd(index,a1,a2,a3,a4,a5) { + index = index|0; + a1=a1|0; a2=+a2; a3=+a3; a4=+a4; a5=+a5; + FUNCTION_TABLE_vidddd[index&3](a1|0,+a2,+a3,+a4,+a5); +} + + +function dynCall_vdi(index,a1,a2) { + index = index|0; + a1=+a1; a2=a2|0; + FUNCTION_TABLE_vdi[index&1](+a1,a2|0); +} + + +function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; + FUNCTION_TABLE_viiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0); +} + + +function dynCall_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0; a8=a8|0; a9=a9|0; + FUNCTION_TABLE_viiiiiiiii[index&3](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0,a8|0,a9|0); +} + + +function dynCall_iii(index,a1,a2) { + index = index|0; + a1=a1|0; a2=a2|0; + return FUNCTION_TABLE_iii[index&3](a1|0,a2|0)|0; +} + + +function dynCall_i(index) { + index = index|0; + + return FUNCTION_TABLE_i[index&3]()|0; +} + + +function dynCall_vdddddd(index,a1,a2,a3,a4,a5,a6) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; a5=+a5; a6=+a6; + FUNCTION_TABLE_vdddddd[index&1](+a1,+a2,+a3,+a4,+a5,+a6); +} + + +function dynCall_vdddd(index,a1,a2,a3,a4) { + index = index|0; + a1=+a1; a2=+a2; a3=+a3; a4=+a4; + FUNCTION_TABLE_vdddd[index&3](+a1,+a2,+a3,+a4); +} + + +function dynCall_vdd(index,a1,a2) { + index = index|0; + a1=+a1; a2=+a2; + FUNCTION_TABLE_vdd[index&3](+a1,+a2); +} + + +function dynCall_v(index) { + index = index|0; + + FUNCTION_TABLE_v[index&7](); +} + + +function dynCall_viid(index,a1,a2,a3) { + index = index|0; + a1=a1|0; a2=a2|0; a3=+a3; + FUNCTION_TABLE_viid[index&1](a1|0,a2|0,+a3); +} + + +function dynCall_viiii(index,a1,a2,a3,a4) { + index = index|0; + a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; + FUNCTION_TABLE_viiii[index&31](a1|0,a2|0,a3|0,a4|0); +} + +function b0(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(0); +} +function _emscripten_glUniform4i__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glUniform4i(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glFramebufferTexture2D__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glFramebufferTexture2D(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glShaderBinary__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glShaderBinary(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function _emscripten_glDrawElementsInstanced__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; _emscripten_glDrawElementsInstanced(p0|0,p1|0,p2|0,p3|0,p4|0); +} +function b1(p0) { + p0 = +p0; nullFunc_vd(1); +} +function _emscripten_glClearDepth__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepth(+p0); +} +function _emscripten_glClearDepthf__wrapper(p0) { + p0 = +p0; _emscripten_glClearDepthf(+p0); +} +function _emscripten_glLineWidth__wrapper(p0) { + p0 = +p0; _emscripten_glLineWidth(+p0); +} +function b2(p0,p1) { + p0 = p0|0;p1 = +p1; nullFunc_vid(2); +} +function _emscripten_glUniform1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glUniform1f(p0|0,+p1); +} +function _emscripten_glVertexAttrib1f__wrapper(p0,p1) { + p0 = p0|0;p1 = +p1; _emscripten_glVertexAttrib1f(p0|0,+p1); +} +function b3(p0) { + p0 = p0|0; nullFunc_vi(3); +} +function _emscripten_glDeleteShader__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteShader(p0|0); +} +function _emscripten_glCompileShader__wrapper(p0) { + p0 = p0|0; _emscripten_glCompileShader(p0|0); +} +function _emscripten_glDeleteProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteProgram(p0|0); +} +function _emscripten_glLinkProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glLinkProgram(p0|0); +} +function _emscripten_glUseProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glUseProgram(p0|0); +} +function _emscripten_glValidateProgram__wrapper(p0) { + p0 = p0|0; _emscripten_glValidateProgram(p0|0); +} +function _emscripten_glDeleteObjectARB__wrapper(p0) { + p0 = p0|0; _emscripten_glDeleteObjectARB(p0|0); +} +function _emscripten_glEnableClientState__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableClientState(p0|0); +} +function _emscripten_glClientActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glClientActiveTexture(p0|0); +} +function _emscripten_glBindVertexArray__wrapper(p0) { + p0 = p0|0; _emscripten_glBindVertexArray(p0|0); +} +function _emscripten_glMatrixMode__wrapper(p0) { + p0 = p0|0; _emscripten_glMatrixMode(p0|0); +} +function _emscripten_glLoadMatrixf__wrapper(p0) { + p0 = p0|0; _emscripten_glLoadMatrixf(p0|0); +} +function _emscripten_glEnableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glEnableVertexAttribArray(p0|0); +} +function _emscripten_glDisableVertexAttribArray__wrapper(p0) { + p0 = p0|0; _emscripten_glDisableVertexAttribArray(p0|0); +} +function _emscripten_glDepthFunc__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthFunc(p0|0); +} +function _emscripten_glEnable__wrapper(p0) { + p0 = p0|0; _emscripten_glEnable(p0|0); +} +function _emscripten_glDisable__wrapper(p0) { + p0 = p0|0; _emscripten_glDisable(p0|0); +} +function _emscripten_glFrontFace__wrapper(p0) { + p0 = p0|0; _emscripten_glFrontFace(p0|0); +} +function _emscripten_glCullFace__wrapper(p0) { + p0 = p0|0; _emscripten_glCullFace(p0|0); +} +function _emscripten_glClear__wrapper(p0) { + p0 = p0|0; _emscripten_glClear(p0|0); +} +function _emscripten_glClearStencil__wrapper(p0) { + p0 = p0|0; _emscripten_glClearStencil(p0|0); +} +function _emscripten_glDepthMask__wrapper(p0) { + p0 = p0|0; _emscripten_glDepthMask(p0|0); +} +function _emscripten_glStencilMask__wrapper(p0) { + p0 = p0|0; _emscripten_glStencilMask(p0|0); +} +function _emscripten_glGenerateMipmap__wrapper(p0) { + p0 = p0|0; _emscripten_glGenerateMipmap(p0|0); +} +function _emscripten_glActiveTexture__wrapper(p0) { + p0 = p0|0; _emscripten_glActiveTexture(p0|0); +} +function _emscripten_glBlendEquation__wrapper(p0) { + p0 = p0|0; _emscripten_glBlendEquation(p0|0); +} +function b4(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_vii(4); +} +function _emscripten_glPixelStorei__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glPixelStorei(p0|0,p1|0); +} +function _emscripten_glGetIntegerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetIntegerv(p0|0,p1|0); +} +function _emscripten_glGetFloatv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetFloatv(p0|0,p1|0); +} +function _emscripten_glGetBooleanv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetBooleanv(p0|0,p1|0); +} +function _emscripten_glGenTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenTextures(p0|0,p1|0); +} +function _emscripten_glDeleteTextures__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteTextures(p0|0,p1|0); +} +function _emscripten_glBindTexture__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindTexture(p0|0,p1|0); +} +function _emscripten_glGenBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenBuffers(p0|0,p1|0); +} +function _emscripten_glDeleteBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteBuffers(p0|0,p1|0); +} +function _emscripten_glGenRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenRenderbuffers(p0|0,p1|0); +} +function _emscripten_glDeleteRenderbuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteRenderbuffers(p0|0,p1|0); +} +function _emscripten_glBindRenderbuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindRenderbuffer(p0|0,p1|0); +} +function _emscripten_glUniform1i__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glUniform1i(p0|0,p1|0); +} +function _emscripten_glBindBuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindBuffer(p0|0,p1|0); +} +function _emscripten_glVertexAttrib1fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib1fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib2fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib2fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib3fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib3fv(p0|0,p1|0); +} +function _emscripten_glVertexAttrib4fv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttrib4fv(p0|0,p1|0); +} +function _emscripten_glAttachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glAttachShader(p0|0,p1|0); +} +function _emscripten_glDetachShader__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDetachShader(p0|0,p1|0); +} +function _emscripten_glBindFramebuffer__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindFramebuffer(p0|0,p1|0); +} +function _emscripten_glGenFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenFramebuffers(p0|0,p1|0); +} +function _emscripten_glDeleteFramebuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteFramebuffers(p0|0,p1|0); +} +function _emscripten_glBindProgramARB__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBindProgramARB(p0|0,p1|0); +} +function _emscripten_glGetPointerv__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGetPointerv(p0|0,p1|0); +} +function _emscripten_glGenVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glGenVertexArrays(p0|0,p1|0); +} +function _emscripten_glDeleteVertexArrays__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDeleteVertexArrays(p0|0,p1|0); +} +function _emscripten_glVertexAttribDivisor__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glVertexAttribDivisor(p0|0,p1|0); +} +function _emscripten_glBlendFunc__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendFunc(p0|0,p1|0); +} +function _emscripten_glBlendEquationSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glBlendEquationSeparate(p0|0,p1|0); +} +function _emscripten_glStencilMaskSeparate__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glStencilMaskSeparate(p0|0,p1|0); +} +function _emscripten_glHint__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glHint(p0|0,p1|0); +} +function _emscripten_glDrawBuffers__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; _emscripten_glDrawBuffers(p0|0,p1|0); +} +function b5(p0) { + p0 = p0|0; nullFunc_ii(5);return 0; +} +function _emscripten_glGetString__wrapper(p0) { + p0 = p0|0; return _emscripten_glGetString(p0|0)|0; +} +function _emscripten_glIsTexture__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsTexture(p0|0)|0; +} +function _emscripten_glIsBuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsBuffer(p0|0)|0; +} +function _emscripten_glIsRenderbuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsRenderbuffer(p0|0)|0; +} +function _emscripten_glCreateShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glCreateShader(p0|0)|0; +} +function _emscripten_glIsShader__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsShader(p0|0)|0; +} +function _emscripten_glIsProgram__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsProgram(p0|0)|0; +} +function _emscripten_glIsFramebuffer__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsFramebuffer(p0|0)|0; +} +function _emscripten_glCheckFramebufferStatus__wrapper(p0) { + p0 = p0|0; return _emscripten_glCheckFramebufferStatus(p0|0)|0; +} +function _emscripten_glIsEnabled__wrapper(p0) { + p0 = p0|0; return _emscripten_glIsEnabled(p0|0)|0; +} +function b6(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_viddd(6); +} +function _emscripten_glUniform3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glUniform3f(p0|0,+p1,+p2,+p3); +} +function _emscripten_glVertexAttrib3f__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glVertexAttrib3f(p0|0,+p1,+p2,+p3); +} +function b7(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; nullFunc_vidd(7); +} +function _emscripten_glUniform2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glUniform2f(p0|0,+p1,+p2); +} +function _emscripten_glVertexAttrib2f__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = +p1;p2 = +p2; _emscripten_glVertexAttrib2f(p0|0,+p1,+p2); +} +function b8(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(8);return 0; +} +function b9(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; nullFunc_viiiiiiii(9); +} +function _emscripten_glCompressedTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCompressedTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function _emscripten_glCopyTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0; _emscripten_glCopyTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0); +} +function b10(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(10); +} +function _emscripten_glDrawRangeElements__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glDrawRangeElements(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function _emscripten_glVertexAttribPointer__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; _emscripten_glVertexAttribPointer(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0); +} +function b11(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(11); +} +function _emscripten_glGetTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameterfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameterfv(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetBufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetBufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetRenderbufferParameteriv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetRenderbufferParameteriv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetUniformiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetUniformiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribfv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribfv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetVertexAttribPointerv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetVertexAttribPointerv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2i__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2i(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4iv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4iv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform1fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform1fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform2fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform2fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform3fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform3fv(p0|0,p1|0,p2|0); +} +function _emscripten_glUniform4fv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glUniform4fv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetShaderiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetShaderiv(p0|0,p1|0,p2|0); +} +function _emscripten_glGetProgramiv__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetProgramiv(p0|0,p1|0,p2|0); +} +function _emscripten_glBindAttribLocation__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glBindAttribLocation(p0|0,p1|0,p2|0); +} +function _emscripten_glGetObjectParameterivARB__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glGetObjectParameterivARB(p0|0,p1|0,p2|0); +} +function _emscripten_glNormalPointer__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glNormalPointer(p0|0,p1|0,p2|0); +} +function _emscripten_glDrawArrays__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glDrawArrays(p0|0,p1|0,p2|0); +} +function _emscripten_glTexParameteri__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glTexParameteri(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilFunc__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilFunc(p0|0,p1|0,p2|0); +} +function _emscripten_glStencilOp__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = p2|0; _emscripten_glStencilOp(p0|0,p1|0,p2|0); +} +function b12(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; nullFunc_vidddd(12); +} +function _emscripten_glUniform4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glUniform4f(p0|0,+p1,+p2,+p3,+p4); +} +function _emscripten_glVertexAttrib4f__wrapper(p0,p1,p2,p3,p4) { + p0 = p0|0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4; _emscripten_glVertexAttrib4f(p0|0,+p1,+p2,+p3,+p4); +} +function b13(p0,p1) { + p0 = +p0;p1 = p1|0; nullFunc_vdi(13); +} +function _emscripten_glSampleCoverage__wrapper(p0,p1) { + p0 = +p0;p1 = p1|0; _emscripten_glSampleCoverage(+p0,p1|0); +} +function b14(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(14); +} +function _emscripten_glReadPixels__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glReadPixels(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveUniform__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveUniform(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function _emscripten_glGetActiveAttrib__wrapper(p0,p1,p2,p3,p4,p5,p6) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; _emscripten_glGetActiveAttrib(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0); +} +function b15(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; nullFunc_viiiiiiiii(15); +} +function _emscripten_glCompressedTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glCompressedTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function _emscripten_glTexSubImage2D__wrapper(p0,p1,p2,p3,p4,p5,p6,p7,p8) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0;p7 = p7|0;p8 = p8|0; _emscripten_glTexSubImage2D(p0|0,p1|0,p2|0,p3|0,p4|0,p5|0,p6|0,p7|0,p8|0); +} +function b16(p0,p1) { + p0 = p0|0;p1 = p1|0; nullFunc_iii(16);return 0; +} +function _emscripten_glGetUniformLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetUniformLocation(p0|0,p1|0)|0; +} +function _emscripten_glGetAttribLocation__wrapper(p0,p1) { + p0 = p0|0;p1 = p1|0; return _emscripten_glGetAttribLocation(p0|0,p1|0)|0; +} +function b17() { + ; nullFunc_i(17);return 0; +} +function _emscripten_glCreateProgram__wrapper() { + ; return _emscripten_glCreateProgram()|0; +} +function _emscripten_glGetError__wrapper() { + ; return _emscripten_glGetError()|0; +} +function b18(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; nullFunc_vdddddd(18); +} +function _emscripten_glFrustum__wrapper(p0,p1,p2,p3,p4,p5) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3;p4 = +p4;p5 = +p5; _emscripten_glFrustum(+p0,+p1,+p2,+p3,+p4,+p5); +} +function b19(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; nullFunc_vdddd(19); +} +function _emscripten_glRotatef__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glRotatef(+p0,+p1,+p2,+p3); +} +function _emscripten_glClearColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glClearColor(+p0,+p1,+p2,+p3); +} +function _emscripten_glBlendColor__wrapper(p0,p1,p2,p3) { + p0 = +p0;p1 = +p1;p2 = +p2;p3 = +p3; _emscripten_glBlendColor(+p0,+p1,+p2,+p3); +} +function b20(p0,p1) { + p0 = +p0;p1 = +p1; nullFunc_vdd(20); +} +function _emscripten_glDepthRange__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRange(+p0,+p1); +} +function _emscripten_glDepthRangef__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glDepthRangef(+p0,+p1); +} +function _emscripten_glPolygonOffset__wrapper(p0,p1) { + p0 = +p0;p1 = +p1; _emscripten_glPolygonOffset(+p0,+p1); +} +function b21() { + ; nullFunc_v(21); +} +function _emscripten_glLoadIdentity__wrapper() { + ; _emscripten_glLoadIdentity(); +} +function _emscripten_glReleaseShaderCompiler__wrapper() { + ; _emscripten_glReleaseShaderCompiler(); +} +function _emscripten_glFinish__wrapper() { + ; _emscripten_glFinish(); +} +function _emscripten_glFlush__wrapper() { + ; _emscripten_glFlush(); +} +function b22(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; nullFunc_viid(22); +} +function _emscripten_glTexParameterf__wrapper(p0,p1,p2) { + p0 = p0|0;p1 = p1|0;p2 = +p2; _emscripten_glTexParameterf(p0|0,p1|0,+p2); +} +function b23(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(23); +} +function _emscripten_glBufferData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBufferSubData__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBufferSubData(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniform3i__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniform3i(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix2fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix2fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix3fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix3fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glUniformMatrix4fv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glUniformMatrix4fv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetAttachedShaders__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetAttachedShaders(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderSource__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderSource(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetShaderPrecisionFormat__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetShaderPrecisionFormat(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetProgramInfoLog__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetProgramInfoLog(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glFramebufferRenderbuffer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glFramebufferRenderbuffer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetFramebufferAttachmentParameteriv__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetFramebufferAttachmentParameteriv(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glGetInfoLogARB__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glGetInfoLogARB(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glVertexPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glVertexPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glTexCoordPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glTexCoordPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorPointer__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorPointer(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawElements__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawElements(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glDrawArraysInstanced__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glDrawArraysInstanced(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glViewport__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glViewport(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glScissor__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glScissor(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glColorMask__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glColorMask(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glRenderbufferStorage__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glRenderbufferStorage(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glBlendFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glBlendFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilFuncSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilFuncSeparate(p0|0,p1|0,p2|0,p3|0); +} +function _emscripten_glStencilOpSeparate__wrapper(p0,p1,p2,p3) { + p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; _emscripten_glStencilOpSeparate(p0|0,p1|0,p2|0,p3|0); +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_viiiii = [b0,_KeyCallback,_emscripten_glUniform4i__wrapper,_emscripten_glFramebufferTexture2D__wrapper,_emscripten_glShaderBinary__wrapper,_emscripten_glDrawElementsInstanced__wrapper,b0,b0]; +var FUNCTION_TABLE_vd = [b1,_emscripten_glClearDepth__wrapper,_emscripten_glClearDepthf__wrapper,_emscripten_glLineWidth__wrapper]; +var FUNCTION_TABLE_vid = [b2,_emscripten_glUniform1f__wrapper,_emscripten_glVertexAttrib1f__wrapper,b2]; +var FUNCTION_TABLE_vi = [b3,_emscripten_glDeleteShader__wrapper,_emscripten_glCompileShader__wrapper,_emscripten_glDeleteProgram__wrapper,_emscripten_glLinkProgram__wrapper,_emscripten_glUseProgram__wrapper,_emscripten_glValidateProgram__wrapper,_emscripten_glDeleteObjectARB__wrapper,_emscripten_glEnableClientState__wrapper,_emscripten_glClientActiveTexture__wrapper,_emscripten_glBindVertexArray__wrapper,_emscripten_glMatrixMode__wrapper,_emscripten_glLoadMatrixf__wrapper,_emscripten_glEnableVertexAttribArray__wrapper,_emscripten_glDisableVertexAttribArray__wrapper,_emscripten_glDepthFunc__wrapper,_emscripten_glEnable__wrapper,_emscripten_glDisable__wrapper,_emscripten_glFrontFace__wrapper,_emscripten_glCullFace__wrapper,_emscripten_glClear__wrapper,_emscripten_glClearStencil__wrapper,_emscripten_glDepthMask__wrapper,_emscripten_glStencilMask__wrapper,_emscripten_glGenerateMipmap__wrapper,_emscripten_glActiveTexture__wrapper,_emscripten_glBlendEquation__wrapper,b3,b3 +,b3,b3,b3]; +var FUNCTION_TABLE_vii = [b4,_stbi__stdio_skip,_ErrorCallback,_CursorEnterCallback,_CharCallback,_WindowIconifyCallback,_emscripten_glPixelStorei__wrapper,_emscripten_glGetIntegerv__wrapper,_emscripten_glGetFloatv__wrapper,_emscripten_glGetBooleanv__wrapper,_emscripten_glGenTextures__wrapper,_emscripten_glDeleteTextures__wrapper,_emscripten_glBindTexture__wrapper,_emscripten_glGenBuffers__wrapper,_emscripten_glDeleteBuffers__wrapper,_emscripten_glGenRenderbuffers__wrapper,_emscripten_glDeleteRenderbuffers__wrapper,_emscripten_glBindRenderbuffer__wrapper,_emscripten_glUniform1i__wrapper,_emscripten_glBindBuffer__wrapper,_emscripten_glVertexAttrib1fv__wrapper,_emscripten_glVertexAttrib2fv__wrapper,_emscripten_glVertexAttrib3fv__wrapper,_emscripten_glVertexAttrib4fv__wrapper,_emscripten_glAttachShader__wrapper,_emscripten_glDetachShader__wrapper,_emscripten_glBindFramebuffer__wrapper,_emscripten_glGenFramebuffers__wrapper,_emscripten_glDeleteFramebuffers__wrapper,_emscripten_glBindProgramARB__wrapper,_emscripten_glGetPointerv__wrapper,_emscripten_glGenVertexArrays__wrapper,_emscripten_glDeleteVertexArrays__wrapper,_emscripten_glVertexAttribDivisor__wrapper,_emscripten_glBlendFunc__wrapper,_emscripten_glBlendEquationSeparate__wrapper,_emscripten_glStencilMaskSeparate__wrapper,_emscripten_glHint__wrapper,_emscripten_glDrawBuffers__wrapper,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4 +,b4,b4,b4,b4,b4]; +var FUNCTION_TABLE_ii = [b5,_stbi__stdio_eof,___stdio_close,_emscripten_glGetString__wrapper,_emscripten_glIsTexture__wrapper,_emscripten_glIsBuffer__wrapper,_emscripten_glIsRenderbuffer__wrapper,_emscripten_glCreateShader__wrapper,_emscripten_glIsShader__wrapper,_emscripten_glIsProgram__wrapper,_emscripten_glIsFramebuffer__wrapper,_emscripten_glCheckFramebufferStatus__wrapper,_emscripten_glIsEnabled__wrapper,b5,b5,b5]; +var FUNCTION_TABLE_viddd = [b6,_emscripten_glUniform3f__wrapper,_emscripten_glVertexAttrib3f__wrapper,b6]; +var FUNCTION_TABLE_vidd = [b7,_MouseCursorPosCallback,_ScrollCallback,_emscripten_glUniform2f__wrapper,_emscripten_glVertexAttrib2f__wrapper,b7,b7,b7]; +var FUNCTION_TABLE_iiii = [b8,_stbi__stdio_read,___stdout_write,___stdio_seek,_EmscriptenFullscreenChangeCallback,_EmscriptenKeyboardCallback,_EmscriptenMouseCallback,_EmscriptenTouchCallback,_EmscriptenGamepadCallback,___stdio_write,___stdio_read,b8,b8,b8,b8,b8]; +var FUNCTION_TABLE_viiiiiiii = [b9,_emscripten_glCompressedTexImage2D__wrapper,_emscripten_glCopyTexImage2D__wrapper,_emscripten_glCopyTexSubImage2D__wrapper]; +var FUNCTION_TABLE_viiiiii = [b10,_emscripten_glDrawRangeElements__wrapper,_emscripten_glVertexAttribPointer__wrapper,b10]; +var FUNCTION_TABLE_viii = [b11,_WindowSizeCallback,_emscripten_glGetTexParameterfv__wrapper,_emscripten_glGetTexParameteriv__wrapper,_emscripten_glTexParameterfv__wrapper,_emscripten_glTexParameteriv__wrapper,_emscripten_glGetBufferParameteriv__wrapper,_emscripten_glGetRenderbufferParameteriv__wrapper,_emscripten_glGetUniformfv__wrapper,_emscripten_glGetUniformiv__wrapper,_emscripten_glGetVertexAttribfv__wrapper,_emscripten_glGetVertexAttribiv__wrapper,_emscripten_glGetVertexAttribPointerv__wrapper,_emscripten_glUniform2i__wrapper,_emscripten_glUniform1iv__wrapper,_emscripten_glUniform2iv__wrapper,_emscripten_glUniform3iv__wrapper,_emscripten_glUniform4iv__wrapper,_emscripten_glUniform1fv__wrapper,_emscripten_glUniform2fv__wrapper,_emscripten_glUniform3fv__wrapper,_emscripten_glUniform4fv__wrapper,_emscripten_glGetShaderiv__wrapper,_emscripten_glGetProgramiv__wrapper,_emscripten_glBindAttribLocation__wrapper,_emscripten_glGetObjectParameterivARB__wrapper,_emscripten_glNormalPointer__wrapper,_emscripten_glDrawArrays__wrapper,_emscripten_glTexParameteri__wrapper,_emscripten_glStencilFunc__wrapper,_emscripten_glStencilOp__wrapper,b11]; +var FUNCTION_TABLE_vidddd = [b12,_emscripten_glUniform4f__wrapper,_emscripten_glVertexAttrib4f__wrapper,b12]; +var FUNCTION_TABLE_vdi = [b13,_emscripten_glSampleCoverage__wrapper]; +var FUNCTION_TABLE_viiiiiii = [b14,_emscripten_glReadPixels__wrapper,_emscripten_glGetActiveUniform__wrapper,_emscripten_glGetActiveAttrib__wrapper]; +var FUNCTION_TABLE_viiiiiiiii = [b15,_emscripten_glCompressedTexSubImage2D__wrapper,_emscripten_glTexImage2D__wrapper,_emscripten_glTexSubImage2D__wrapper]; +var FUNCTION_TABLE_iii = [b16,_emscripten_glGetUniformLocation__wrapper,_emscripten_glGetAttribLocation__wrapper,b16]; +var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glGetError__wrapper,b17]; +var FUNCTION_TABLE_vdddddd = [b18,_emscripten_glFrustum__wrapper]; +var FUNCTION_TABLE_vdddd = [b19,_emscripten_glRotatef__wrapper,_emscripten_glClearColor__wrapper,_emscripten_glBlendColor__wrapper]; +var FUNCTION_TABLE_vdd = [b20,_emscripten_glDepthRange__wrapper,_emscripten_glDepthRangef__wrapper,_emscripten_glPolygonOffset__wrapper]; +var FUNCTION_TABLE_v = [b21,_UpdateDrawFrame,_emscripten_glLoadIdentity__wrapper,_emscripten_glReleaseShaderCompiler__wrapper,_emscripten_glFinish__wrapper,_emscripten_glFlush__wrapper,b21,b21]; +var FUNCTION_TABLE_viid = [b22,_emscripten_glTexParameterf__wrapper]; +var FUNCTION_TABLE_viiii = [b23,_MouseButtonCallback,_emscripten_glBufferData__wrapper,_emscripten_glBufferSubData__wrapper,_emscripten_glUniform3i__wrapper,_emscripten_glUniformMatrix2fv__wrapper,_emscripten_glUniformMatrix3fv__wrapper,_emscripten_glUniformMatrix4fv__wrapper,_emscripten_glGetAttachedShaders__wrapper,_emscripten_glShaderSource__wrapper,_emscripten_glGetShaderSource__wrapper,_emscripten_glGetShaderInfoLog__wrapper,_emscripten_glGetShaderPrecisionFormat__wrapper,_emscripten_glGetProgramInfoLog__wrapper,_emscripten_glFramebufferRenderbuffer__wrapper,_emscripten_glGetFramebufferAttachmentParameteriv__wrapper,_emscripten_glGetInfoLogARB__wrapper,_emscripten_glVertexPointer__wrapper,_emscripten_glTexCoordPointer__wrapper,_emscripten_glColorPointer__wrapper,_emscripten_glDrawElements__wrapper,_emscripten_glDrawArraysInstanced__wrapper,_emscripten_glViewport__wrapper,_emscripten_glScissor__wrapper,_emscripten_glColorMask__wrapper,_emscripten_glRenderbufferStorage__wrapper,_emscripten_glBlendFuncSeparate__wrapper,_emscripten_glStencilFuncSeparate__wrapper,_emscripten_glStencilOpSeparate__wrapper,b23,b23,b23]; + + return { _roundf: _roundf, _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, _emscripten_GetProcAddress: _emscripten_GetProcAddress, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _free: _free, _memmove: _memmove, _strstr: _strstr, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_viiiii: dynCall_viiiii, dynCall_vd: dynCall_vd, dynCall_vid: dynCall_vid, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viddd: dynCall_viddd, dynCall_vidd: dynCall_vidd, dynCall_iiii: dynCall_iiii, dynCall_viiiiiiii: dynCall_viiiiiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viii: dynCall_viii, dynCall_vidddd: dynCall_vidddd, dynCall_vdi: dynCall_vdi, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiiiiiii: dynCall_viiiiiiiii, dynCall_iii: dynCall_iii, dynCall_i: dynCall_i, dynCall_vdddddd: dynCall_vdddddd, dynCall_vdddd: dynCall_vdddd, dynCall_vdd: dynCall_vdd, dynCall_v: dynCall_v, dynCall_viid: dynCall_viid, dynCall_viiii: dynCall_viiii }; +}) +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg, Module.asmLibraryArg, buffer); + +var real__roundf = asm["_roundf"]; asm["_roundf"] = 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__roundf.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_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 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_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__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__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_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_cttz_i32.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__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____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____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_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__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____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = 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____udivmoddi4.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__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__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = 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__emscripten_get_global_libc.apply(null, arguments); +}; + +var real__emscripten_GetProcAddress = asm["_emscripten_GetProcAddress"]; asm["_emscripten_GetProcAddress"] = 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__emscripten_GetProcAddress.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____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____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = 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____muldsi3.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_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__memmove = asm["_memmove"]; asm["_memmove"] = 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__memmove.apply(null, arguments); +}; + +var real__strstr = asm["_strstr"]; asm["_strstr"] = 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__strstr.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__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 _roundf = Module["_roundf"] = asm["_roundf"]; +var _main = Module["_main"] = asm["_main"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _memset = Module["_memset"] = asm["_memset"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var _emscripten_GetProcAddress = Module["_emscripten_GetProcAddress"] = asm["_emscripten_GetProcAddress"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _free = Module["_free"] = asm["_free"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _strstr = Module["_strstr"] = asm["_strstr"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_vd = Module["dynCall_vd"] = asm["dynCall_vd"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_viddd = Module["dynCall_viddd"] = asm["dynCall_viddd"]; +var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_viiiiiiii = Module["dynCall_viiiiiiii"] = asm["dynCall_viiiiiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_vidddd = Module["dynCall_vidddd"] = asm["dynCall_vidddd"]; +var dynCall_vdi = Module["dynCall_vdi"] = asm["dynCall_vdi"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_vdddddd = Module["dynCall_vdddddd"] = asm["dynCall_vdddddd"]; +var dynCall_vdddd = Module["dynCall_vdddd"] = asm["dynCall_vdddd"]; +var dynCall_vdd = Module["dynCall_vdd"] = asm["dynCall_vdd"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +; + +Runtime.stackAlloc = Module['stackAlloc']; +Runtime.stackSave = Module['stackSave']; +Runtime.stackRestore = Module['stackRestore']; +Runtime.establishStackSpace = Module['establishStackSpace']; + +Runtime.setTempRet0 = Module['setTempRet0']; +Runtime.getTempRet0 = Module['getTempRet0']; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + + + + + +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +}; +ExitStatus.prototype = new Error(); +ExitStatus.prototype.constructor = ExitStatus; + +var initialStackTop; +var preloadStartTime = null; +var calledMain = false; + +dependenciesFulfilled = function runCaller() { + // If 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'] = 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; + function pad() { + for (var i = 0; i < 4-1; i++) { + argv.push(0); + } + } + var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ]; + pad(); + for (var i = 0; i < argc-1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL)); + pad(); + } + argv.push(0); + argv = allocate(argv, 'i32', ALLOC_NORMAL); + + + 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; + } +} + + + + +function run(args) { + args = args || Module['arguments']; + + if (preloadStartTime === null) preloadStartTime = Date.now(); + + if (runDependencies > 0) { + Module.printErr('run() called, but dependencies remain, so not running'); + 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 (ENVIRONMENT_IS_WEB && preloadStartTime !== null) { + Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms'); + } + + 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'] = Module.run = run; + +function exit(status, implicit) { + if (implicit && Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)'); + return; + } + + if (Module['noExitRuntime']) { + Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force 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'] = Module.exit = exit; + +var abortDecorators = []; + +function abort(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'] = 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; +} + + +run(); + +// {{POST_RUN_ADDITIONS}} + + + + + +// {{MODULE_ADDITIONS}} + + + diff --git a/docs/examples/web/textures/textures_raw_data.c b/docs/examples/web/textures/textures_raw_data.c index 90a67cd6..245af2e3 100644 --- a/docs/examples/web/textures/textures_raw_data.c +++ b/docs/examples/web/textures/textures_raw_data.c @@ -25,7 +25,7 @@ int screenWidth = 800; int screenHeight = 450; -Texture2D sonic; +Texture2D fudesumi; Texture2D checked; //---------------------------------------------------------------------------------- @@ -43,9 +43,9 @@ int main() InitWindow(screenWidth, screenHeight, "raylib [textures] example - texture from raw data"); // Load RAW image data (512x512, 32bit RGBA, no file header) - Image sonicRaw = LoadImageRaw("resources/texture_formats/sonic_R8G8B8A8.raw", 512, 512, UNCOMPRESSED_R8G8B8A8, 0); - sonic = LoadTextureFromImage(sonicRaw); // Upload CPU (RAM) image to GPU (VRAM) - UnloadImage(sonicRaw); // Unload CPU (RAM) image data + Image fudesumiRaw = LoadImageRaw("resources/fudesumi.raw", 384, 512, UNCOMPRESSED_R8G8B8A8, 0); + fudesumi = LoadTextureFromImage(fudesumiRaw); // Upload CPU (RAM) image to GPU (VRAM) + UnloadImage(fudesumiRaw); // Unload CPU (RAM) image data // Generate a checked texture by code (1024x1024 pixels) int width = 1024; @@ -58,8 +58,8 @@ int main() { for (int x = 0; x < width; x++) { - if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = DARKBLUE; - else pixels[y*height + x] = SKYBLUE; + if (((x/32+y/32)/1)%2 == 0) pixels[y*height + x] = ORANGE; + else pixels[y*height + x] = GOLD; } } @@ -86,7 +86,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(sonic); // Texture unloading + UnloadTexture(fudesumi); // Texture unloading UnloadTexture(checked); // Texture unloading CloseWindow(); // Close window and OpenGL context @@ -111,12 +111,14 @@ void UpdateDrawFrame(void) ClearBackground(RAYWHITE); - DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, Fade(WHITE, 0.3f)); - DrawTexture(sonic, 330, -20, WHITE); + DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, WHITE); + DrawTexture(fudesumi, 430, -30, WHITE); - DrawText("CHECKED TEXTURE ", 84, 100, 30, DARKBLUE); - DrawText("GENERATED by CODE", 72, 164, 30, DARKBLUE); - DrawText("and RAW IMAGE LOADING", 46, 226, 30, DARKBLUE); + DrawText("CHECKED TEXTURE ", 84, 100, 30, BROWN); + DrawText("GENERATED by CODE", 72, 164, 30, BROWN); + DrawText("and RAW IMAGE LOADING", 46, 226, 30, BROWN); + + DrawText("(c) Fudesumi sprite by Eiden Marsal", 310, screenHeight - 20, 10, BROWN); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/web/textures/textures_raw_data.data b/docs/examples/web/textures/textures_raw_data.data new file mode 100644 index 00000000..e05fa0e1 Binary files /dev/null and b/docs/examples/web/textures/textures_raw_data.data differ diff --git a/docs/examples/web/textures/textures_raw_data.js b/docs/examples/web/textures/textures_raw_data.js index 851d0a82..d12ab2fe 100644 --- a/docs/examples/web/textures/textures_raw_data.js +++ b/docs/examples/web/textures/textures_raw_data.js @@ -1,3 +1,191 @@ + +var Module; + +if (typeof Module === 'undefined') Module = {}; + +if (!Module.expectedDataFileDownloads) { + Module.expectedDataFileDownloads = 0; + Module.finishedDataFileDownloads = 0; +} +Module.expectedDataFileDownloads++; +(function() { + var loadPackage = function(metadata) { + + var PACKAGE_PATH; + if (typeof window === 'object') { + PACKAGE_PATH = window['encodeURIComponent'](window.location.pathname.toString().substring(0, window.location.pathname.toString().lastIndexOf('/')) + '/'); + } else if (typeof location !== 'undefined') { + // worker + PACKAGE_PATH = encodeURIComponent(location.pathname.toString().substring(0, location.pathname.toString().lastIndexOf('/')) + '/'); + } else { + throw 'using preloaded data can only be done on a web page or in a web worker'; + } + var PACKAGE_NAME = 'textures/textures_raw_data.data'; + var REMOTE_PACKAGE_BASE = 'textures_raw_data.data'; + if (typeof Module['locateFilePackage'] === 'function' && !Module['locateFile']) { + Module['locateFile'] = Module['locateFilePackage']; + Module.printErr('warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)'); + } + var REMOTE_PACKAGE_NAME = typeof Module['locateFile'] === 'function' ? + Module['locateFile'](REMOTE_PACKAGE_BASE) : + ((Module['filePackagePrefixURL'] || '') + REMOTE_PACKAGE_BASE); + + var REMOTE_PACKAGE_SIZE = metadata.remote_package_size; + var PACKAGE_UUID = metadata.package_uuid; + + function fetchRemotePackage(packageName, packageSize, callback, errback) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', packageName, true); + xhr.responseType = 'arraybuffer'; + xhr.onprogress = function(event) { + var url = packageName; + var size = packageSize; + if (event.total) size = event.total; + if (event.loaded) { + if (!xhr.addedTotal) { + xhr.addedTotal = true; + if (!Module.dataFileDownloads) Module.dataFileDownloads = {}; + Module.dataFileDownloads[url] = { + loaded: event.loaded, + total: size + }; + } else { + Module.dataFileDownloads[url].loaded = event.loaded; + } + var total = 0; + var loaded = 0; + var num = 0; + for (var download in Module.dataFileDownloads) { + var data = Module.dataFileDownloads[download]; + total += data.total; + loaded += data.loaded; + num++; + } + total = Math.ceil(total * Module.expectedDataFileDownloads/num); + if (Module['setStatus']) Module['setStatus']('Downloading data... (' + loaded + '/' + total + ')'); + } else if (!Module.dataFileDownloads) { + if (Module['setStatus']) Module['setStatus']('Downloading data...'); + } + }; + xhr.onerror = function(event) { + throw new Error("NetworkError for: " + packageName); + } + xhr.onload = function(event) { + if (xhr.status == 200 || xhr.status == 304 || xhr.status == 206 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + var packageData = xhr.response; + callback(packageData); + } else { + throw new Error(xhr.statusText + " : " + xhr.responseURL); + } + }; + xhr.send(null); + }; + + function handleError(error) { + console.error('package error:', error); + }; + + var fetchedCallback = null; + var fetched = Module['getPreloadedPackage'] ? Module['getPreloadedPackage'](REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE) : null; + + if (!fetched) fetchRemotePackage(REMOTE_PACKAGE_NAME, REMOTE_PACKAGE_SIZE, function(data) { + if (fetchedCallback) { + fetchedCallback(data); + fetchedCallback = null; + } else { + fetched = data; + } + }, handleError); + + function runWithFS() { + + function assert(check, msg) { + if (!check) throw msg + new Error().stack; + } +Module['FS_createPath']('/', 'resources', true, true); + + function DataRequest(start, end, crunched, audio) { + this.start = start; + this.end = end; + this.crunched = crunched; + this.audio = audio; + } + DataRequest.prototype = { + requests: {}, + open: function(mode, name) { + this.name = name; + this.requests[name] = this; + Module['addRunDependency']('fp ' + this.name); + }, + send: function() {}, + onload: function() { + var byteArray = this.byteArray.subarray(this.start, this.end); + + this.finish(byteArray); + + }, + finish: function(byteArray) { + var that = this; + + Module['FS_createDataFile'](this.name, null, byteArray, true, true, true); // canOwn this data in the filesystem, it is a slide into the heap that will never change + Module['removeRunDependency']('fp ' + that.name); + + this.requests[this.name] = null; + } + }; + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + new DataRequest(files[i].start, files[i].end, files[i].crunched, files[i].audio).open('GET', files[i].filename); + } + + + function processPackageData(arrayBuffer) { + Module.finishedDataFileDownloads++; + assert(arrayBuffer, 'Loading data file failed.'); + assert(arrayBuffer instanceof ArrayBuffer, 'bad input to processPackageData'); + var byteArray = new Uint8Array(arrayBuffer); + var curr; + + // copy the entire loaded file into a spot in the heap. Files will refer to slices in that. They cannot be freed though + // (we may be allocating before malloc is ready, during startup). + if (Module['SPLIT_MEMORY']) Module.printErr('warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting'); + var ptr = Module['getMemory'](byteArray.length); + Module['HEAPU8'].set(byteArray, ptr); + DataRequest.prototype.byteArray = Module['HEAPU8'].subarray(ptr, ptr+byteArray.length); + + var files = metadata.files; + for (i = 0; i < files.length; ++i) { + DataRequest.prototype.requests[files[i].filename].onload(); + } + Module['removeRunDependency']('datafile_textures/textures_raw_data.data'); + + }; + Module['addRunDependency']('datafile_textures/textures_raw_data.data'); + + if (!Module.preloadResults) Module.preloadResults = {}; + + Module.preloadResults[PACKAGE_NAME] = {fromCache: false}; + if (fetched) { + processPackageData(fetched); + fetched = null; + } else { + fetchedCallback = processPackageData; + } + + } + if (Module['calledRun']) { + runWithFS(); + } else { + if (!Module['preRun']) Module['preRun'] = []; + Module["preRun"].push(runWithFS); // FS is not initialized yet, wait for it + } + + } + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 786432, "filename": "/resources/fudesumi.raw"}], "remote_package_size": 786432, "package_uuid": "829e6cf5-a57d-4c17-93da-3b9914205c8d"}); + +})(); + // The Module object: Our interface to the outside world. We import // and export values on it, and do the work to get that through // closure compiler if necessary. There are various ways Module can be used: @@ -1591,8 +1779,8 @@ STATICTOP = STATIC_BASE + 19360; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,147,71,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,102,114,111,109,32,114,97,119,32,100,97,116,97,0,114,101,115,111,117,114,99,101,115,47,116,101,120,116,117,114,101,95,102,111,114,109,97,116,115,47,115,111,110,105,99,95,82,56,71,56,66,56,65,56,46,114,97,119,0,67,72,69,67,75,69,68,32,84,69,88,84,85,82,69,32,0,71,69,78,69,82,65,84,69,68,32,98,121,32,67,79,68,69,0,97,110,100,32,82,65,87,32,73,77,65,71,69,32,76,79,65,68,73,78,71,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,98,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,111,114,116,101,100,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,100,97,116,97,32,99,97,110,32,110,111,116,32,98,101,32,114,101,97,100,44,32,119,114,111,110,103,32,114,101,113,117,101,115,116,101,100,32,102,111,114,109,97,116,32,111,114,32,115,105,122,101,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,155,71,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,12,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,102,114,111,109,32,114,97,119,32,100,97,116,97,0,114,101,115,111,117,114,99,101,115,47,102,117,100,101,115,117,109,105,46,114,97,119,0,67,72,69,67,75,69,68,32,84,69,88,84,85,82,69,32,0,71,69,78,69,82,65,84,69,68,32,98,121,32,67,79,68,69,0,97,110,100,32,82,65,87,32,73,77,65,71,69,32,76,79,65,68,73,78,71,0,40,99,41,32,70,117,100,101,115,117,109,105,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,98,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,111,114,116,101,100,0,91,37,115,93,32,82,65,87,32,105,109,97,103,101,32,100,97,116,97,32,99,97,110,32,110,111,116,32,98,101,32,114,101,97,100,44,32,119,114,111,110,103,32,114,101,113,117,101,115,116,101,100,32,102,111,114,109,97,116,32,111,114,32,115,105,122,101,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10267,8 +10455,8 @@ function getTempRet0() { } function _main() { - var $$03134 = 0, $$035 = 0, $$sink = 0, $$sink32 = 0, $$sink33 = 0, $$sroa$01$0$$sroa_idx = 0, $$sroa$22$0$$sroa_idx = 0, $$sroa$33$0$$sroa_idx = 0, $$sroa$44$0$$sroa_idx = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0; - var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $checked$byval_copy = 0, $exitcond = 0, $exitcond36 = 0, label = 0, sp = 0; + var $$03132 = 0, $$033 = 0, $$sink = 0, $$sroa$22$0$$sroa_idx = 0, $$sroa$33$0$$sroa_idx = 0, $$sroa$44$0$$sroa_idx = 0, $0 = 0, $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; + var $7 = 0, $8 = 0, $9 = 0, $checked$byval_copy = 0, $exitcond = 0, $exitcond34 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); $checked$byval_copy = sp + 80|0; @@ -10279,77 +10467,75 @@ function _main() { $4 = HEAP32[2]|0; $5 = HEAP32[3]|0; _InitWindow($4,$5,3356); - _LoadImageRaw($0,3406,512,512,7,0); + _LoadImageRaw($0,3406,384,512,7,0); ;HEAP32[$checked$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$checked$byval_copy); - ;HEAP32[14144>>2]=HEAP32[$1>>2]|0;HEAP32[14144+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14144+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14144+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14144+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[14152>>2]=HEAP32[$1>>2]|0;HEAP32[14152+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14152+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14152+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14152+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$checked$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($checked$byval_copy); $6 = (_malloc(4194304)|0); - $$035 = 0; + $$033 = 0; while(1) { - $7 = (($$035|0) / 32)&-1; - $8 = $$035 << 10; - $$03134 = 0; + $7 = (($$033|0) / 32)&-1; + $8 = $$033 << 10; + $$03132 = 0; while(1) { - $10 = (($$03134|0) / 32)&-1; + $10 = (($$03132|0) / 32)&-1; $11 = (($10) + ($7))|0; $12 = $11 & 1; $13 = ($12|0)==(0); - $14 = (($$03134) + ($8))|0; - $$sroa$01$0$$sroa_idx = (($6) + ($14<<2)|0); - $$sink33 = $13 ? 0 : 102; - $$sink32 = $13 ? 82 : -65; - $$sink = $13 ? -84 : -1; - HEAP8[$$sroa$01$0$$sroa_idx>>0] = $$sink33; + $14 = (($$03132) + ($8))|0; + $15 = (($6) + ($14<<2)|0); + HEAP8[$15>>0] = -1; $$sroa$22$0$$sroa_idx = (((($6) + ($14<<2)|0)) + 1|0); - HEAP8[$$sroa$22$0$$sroa_idx>>0] = $$sink32; + $$sink = $13 ? -95 : -53; + HEAP8[$$sroa$22$0$$sroa_idx>>0] = $$sink; $$sroa$33$0$$sroa_idx = (((($6) + ($14<<2)|0)) + 2|0); - HEAP8[$$sroa$33$0$$sroa_idx>>0] = $$sink; + HEAP8[$$sroa$33$0$$sroa_idx>>0] = 0; $$sroa$44$0$$sroa_idx = (((($6) + ($14<<2)|0)) + 3|0); HEAP8[$$sroa$44$0$$sroa_idx>>0] = -1; - $15 = (($$03134) + 1)|0; - $exitcond = ($15|0)==(1024); + $16 = (($$03132) + 1)|0; + $exitcond = ($16|0)==(1024); if ($exitcond) { break; } else { - $$03134 = $15; + $$03132 = $16; } } - $9 = (($$035) + 1)|0; - $exitcond36 = ($9|0)==(1024); - if ($exitcond36) { + $9 = (($$033) + 1)|0; + $exitcond34 = ($9|0)==(1024); + if ($exitcond34) { break; } else { - $$035 = $9; + $$033 = $9; } } _LoadImageEx($2,$6,1024,1024); ;HEAP32[$checked$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _LoadTextureFromImage($3,$checked$byval_copy); - ;HEAP32[14164>>2]=HEAP32[$3>>2]|0;HEAP32[14164+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[14164+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[14164+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[14164+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[14172>>2]=HEAP32[$3>>2]|0;HEAP32[14172+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[14172+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[14172+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[14172+16>>2]=HEAP32[$3+16>>2]|0; ;HEAP32[$checked$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[$2+16>>2]|0; _UnloadImage($checked$byval_copy); _free($6); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$checked$byval_copy>>2]=HEAP32[14144>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14144+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14144+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14144+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14144+16>>2]|0; + ;HEAP32[$checked$byval_copy>>2]=HEAP32[14152>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14152+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14152+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14152+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14152+16>>2]|0; _UnloadTexture($checked$byval_copy); - ;HEAP32[$checked$byval_copy>>2]=HEAP32[14164>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14164+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14164+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14164+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14164+16>>2]|0; + ;HEAP32[$checked$byval_copy>>2]=HEAP32[14172>>2]|0;HEAP32[$checked$byval_copy+4>>2]=HEAP32[14172+4>>2]|0;HEAP32[$checked$byval_copy+8>>2]=HEAP32[14172+8>>2]|0;HEAP32[$checked$byval_copy+12>>2]=HEAP32[14172+12>>2]|0;HEAP32[$checked$byval_copy+16>>2]=HEAP32[14172+16>>2]|0; _UnloadTexture($checked$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; } function _UpdateDrawFrame() { var $$byval_copy4 = 0, $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; - var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sonic$byval_copy = 0, label = 0, sp = 0; + var $26 = 0, $27 = 0, $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, $fudesumi$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy4 = sp + 48|0; - $sonic$byval_copy = sp + 4|0; + $fudesumi$byval_copy = sp; $0 = sp + 44|0; - $1 = sp + 40|0; - $2 = sp + 24|0; - $3 = sp; + $1 = sp + 24|0; + $2 = sp + 20|0; + $3 = sp + 40|0; $4 = sp + 36|0; $5 = sp + 32|0; $6 = sp + 28|0; @@ -10365,54 +10551,113 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy4); $10 = HEAP32[2]|0; $11 = (($10|0) / 2)&-1; - $12 = HEAP32[(14168)>>2]|0; + $12 = HEAP32[(14176)>>2]|0; $13 = (($12|0) / 2)&-1; $14 = (($11) - ($13))|0; $15 = HEAP32[3]|0; $16 = (($15|0) / 2)&-1; - $17 = HEAP32[(14172)>>2]|0; + $17 = HEAP32[(14180)>>2]|0; $18 = (($17|0) / 2)&-1; $19 = (($16) - ($18))|0; + HEAP32[$1>>2] = -1; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[14172>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[14172+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[14172+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[14172+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[14172+16>>2]|0; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$1+3>>0]|0; + _DrawTexture($fudesumi$byval_copy,$14,$19,$$byval_copy4); HEAP32[$2>>2] = -1; + ;HEAP32[$fudesumi$byval_copy>>2]=HEAP32[14152>>2]|0;HEAP32[$fudesumi$byval_copy+4>>2]=HEAP32[14152+4>>2]|0;HEAP32[$fudesumi$byval_copy+8>>2]=HEAP32[14152+8>>2]|0;HEAP32[$fudesumi$byval_copy+12>>2]=HEAP32[14152+12>>2]|0;HEAP32[$fudesumi$byval_copy+16>>2]=HEAP32[14152+16>>2]|0; ;HEAP8[$$byval_copy4>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$2+3>>0]|0; - _Fade($1,$$byval_copy4,0.30000001192092896); - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[14164>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[14164+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[14164+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[14164+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[14164+16>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTexture($sonic$byval_copy,$14,$19,$$byval_copy4); - HEAP32[$3>>2] = -1; - ;HEAP32[$sonic$byval_copy>>2]=HEAP32[14144>>2]|0;HEAP32[$sonic$byval_copy+4>>2]=HEAP32[14144+4>>2]|0;HEAP32[$sonic$byval_copy+8>>2]=HEAP32[14144+8>>2]|0;HEAP32[$sonic$byval_copy+12>>2]=HEAP32[14144+12>>2]|0;HEAP32[$sonic$byval_copy+16>>2]=HEAP32[14144+16>>2]|0; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; - _DrawTexture($sonic$byval_copy,330,-20,$$byval_copy4); - HEAP8[$4>>0] = 0; - $20 = ((($4)) + 1|0); - HEAP8[$20>>0] = 82; - $21 = ((($4)) + 2|0); - HEAP8[$21>>0] = -84; - $22 = ((($4)) + 3|0); + _DrawTexture($fudesumi$byval_copy,430,-30,$$byval_copy4); + HEAP8[$3>>0] = 127; + $20 = ((($3)) + 1|0); + HEAP8[$20>>0] = 106; + $21 = ((($3)) + 2|0); + HEAP8[$21>>0] = 79; + $22 = ((($3)) + 3|0); HEAP8[$22>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$4+3>>0]|0; - _DrawText(3451,84,100,30,$$byval_copy4); - HEAP8[$5>>0] = 0; - $23 = ((($5)) + 1|0); - HEAP8[$23>>0] = 82; - $24 = ((($5)) + 2|0); - HEAP8[$24>>0] = -84; - $25 = ((($5)) + 3|0); + ;HEAP8[$$byval_copy4>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$3+3>>0]|0; + _DrawText(3429,84,100,30,$$byval_copy4); + HEAP8[$4>>0] = 127; + $23 = ((($4)) + 1|0); + HEAP8[$23>>0] = 106; + $24 = ((($4)) + 2|0); + HEAP8[$24>>0] = 79; + $25 = ((($4)) + 3|0); HEAP8[$25>>0] = -1; - ;HEAP8[$$byval_copy4>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$5+3>>0]|0; - _DrawText(3468,72,164,30,$$byval_copy4); - HEAP8[$6>>0] = 0; - $26 = ((($6)) + 1|0); - HEAP8[$26>>0] = 82; - $27 = ((($6)) + 2|0); - HEAP8[$27>>0] = -84; - $28 = ((($6)) + 3|0); + ;HEAP8[$$byval_copy4>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(3446,72,164,30,$$byval_copy4); + HEAP8[$5>>0] = 127; + $26 = ((($5)) + 1|0); + HEAP8[$26>>0] = 106; + $27 = ((($5)) + 2|0); + HEAP8[$27>>0] = 79; + $28 = ((($5)) + 3|0); HEAP8[$28>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(3464,46,226,30,$$byval_copy4); + $29 = HEAP32[3]|0; + $30 = (($29) + -20)|0; + HEAP8[$6>>0] = 127; + $31 = ((($6)) + 1|0); + HEAP8[$31>>0] = 106; + $32 = ((($6)) + 2|0); + HEAP8[$32>>0] = 79; + $33 = ((($6)) + 3|0); + HEAP8[$33>>0] = -1; ;HEAP8[$$byval_copy4>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$6+3>>0]|0; - _DrawText(3486,46,226,30,$$byval_copy4); + _DrawText(3486,310,$30,10,$$byval_copy4); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10512,13 +10757,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11128,7 +11366,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[3547] = $2; + HEAP32[3549] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11141,7 +11379,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13872; + $95 = 13880; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11154,48 +11392,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13912; + $106 = 13920; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3478]; - $111 = +HEAPF32[3468]; + $110 = +HEAPF32[3480]; + $111 = +HEAPF32[3470]; $112 = $110 - $111; - HEAPF32[3480] = $112; - $113 = +HEAPF32[(13916)>>2]; - $114 = +HEAPF32[(13876)>>2]; + HEAPF32[3482] = $112; + $113 = +HEAPF32[(13924)>>2]; + $114 = +HEAPF32[(13884)>>2]; $115 = $113 - $114; - HEAPF32[(13924)>>2] = $115; - HEAP32[3546] = 4; + HEAPF32[(13932)>>2] = $115; + HEAP32[3548] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13904+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[3552] = $116; - $117 = 13904; + HEAPF32[3554] = $116; + $117 = 13912; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13872; + $123 = 13880; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13928; + $127 = 13936; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13912; + $133 = 13920; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11208,7 +11446,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13904; + $144 = 13912; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11221,27 +11459,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13928; + $155 = 13936; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3482]; - $160 = +HEAPF32[3476]; + $159 = +HEAPF32[3484]; + $160 = +HEAPF32[3478]; $161 = $159 - $160; - HEAPF32[3480] = $161; - $162 = +HEAPF32[(13932)>>2]; - $163 = +HEAPF32[(13908)>>2]; + HEAPF32[3482] = $161; + $162 = +HEAPF32[(13940)>>2]; + $163 = +HEAPF32[(13916)>>2]; $164 = $162 - $163; - HEAPF32[(13924)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + HEAPF32[(13932)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13912+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13920>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13920+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11253,31 +11491,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13904+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[3552]; + $170 = +HEAPF32[3554]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[3546] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13904+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13928+4>>2]|0; + HEAP32[3548] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13936>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13936+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[3553] = $174; + HEAPF32[3555] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[3552] = 0.0; - HEAPF32[3553] = 0.0; - HEAPF32[3480] = 0.0; - HEAPF32[(13924)>>2] = 0.0; - HEAP32[3547] = 0; - HEAP32[3546] = 0; + HEAPF32[3554] = 0.0; + HEAPF32[3555] = 0.0; + HEAPF32[3482] = 0.0; + HEAPF32[(13932)>>2] = 0.0; + HEAP32[3549] = 0; + HEAP32[3548] = 0; STACKTOP = sp;return; break; } @@ -11287,22 +11525,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[3548]|0; + $6 = HEAP32[3550]|0; $7 = (($6) + 1)|0; - HEAP32[3548] = $7; - $8 = HEAP32[3546]|0; + HEAP32[3550] = $7; + $8 = HEAP32[3548]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[3546] = 2; - HEAP32[3548] = 0; + HEAP32[3548] = 2; + HEAP32[3550] = 0; } else { label = 6; } @@ -11310,8 +11548,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { + HEAP32[3550] = 1; HEAP32[3548] = 1; - HEAP32[3546] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11320,19 +11558,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13872; + $21 = 13880; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13880; + $25 = 13888; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13888; + $29 = 13896; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11341,13 +11579,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[3474] = 0.0; - HEAPF32[(13900)>>2] = 0.0; + HEAPF32[3476] = 0.0; + HEAPF32[(13908)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[3546]|0; + $35 = HEAP32[3548]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11357,19 +11595,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13888; + $44 = 13896; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[3549] = $49; - HEAP32[3550] = 0; + HEAPF32[3551] = $49; + HEAP32[3552] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11377,11 +11615,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13888+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13896>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13896+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[3551] = $56; + HEAPF32[3553] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11412,22 +11650,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[3549] = 0.0; HEAPF32[3551] = 0.0; + HEAPF32[3553] = 0.0; $$sink10 = 0; } - HEAP32[3546] = $$sink10; - HEAPF32[3470] = 0.0; - HEAPF32[(13884)>>2] = 0.0; - HEAP32[3547] = 0; + HEAP32[3548] = $$sink10; + HEAPF32[3472] = 0.0; + HEAPF32[(13892)>>2] = 0.0; + HEAP32[3549] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[3550]|0; + $65 = HEAP32[3552]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[3550] = 1; + HEAP32[3552] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11436,31 +11674,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13904; + $74 = 13912; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[3546]|0; + $78 = HEAP32[3548]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13872+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13904+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13880>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13880+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[13912>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[13912+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[3546] = 8; + HEAP32[3548] = 8; } } - $82 = +HEAPF32[3476]; - $83 = +HEAPF32[3470]; + $82 = +HEAPF32[3478]; + $83 = +HEAPF32[3472]; $84 = $82 - $83; - HEAPF32[3474] = $84; - $85 = +HEAPF32[(13908)>>2]; - $86 = +HEAPF32[(13884)>>2]; + HEAPF32[3476] = $84; + $85 = +HEAPF32[(13916)>>2]; + $86 = +HEAPF32[(13892)>>2]; $87 = $85 - $86; - HEAPF32[(13900)>>2] = $87; + HEAPF32[(13908)>>2] = $87; STACKTOP = sp;return; break; } @@ -11469,58 +11707,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3546]|0; + $0 = HEAP32[3548]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[3547]|0; + $2 = HEAP32[3549]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[3546] = 4; + HEAP32[3548] = 4; } - $4 = HEAP32[3546]|0; + $4 = HEAP32[3548]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11533,14 +11732,14 @@ function _UpdateGestures() { return; } } - HEAP32[3546] = 0; + HEAP32[3548] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 13936; + $1 = 13944; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11557,13 +11756,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3556]|0; + $0 = HEAP32[3558]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3555]|0; + $0 = HEAP32[3557]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11574,29 +11773,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,3508,$vararg_buffer); - HEAP32[3558] = $2; + _TraceLog(0,3522,$vararg_buffer); + HEAP32[3560] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(3|0))|0); - (_emscripten_set_keypress_callback((3537|0),(0|0),1,(4|0))|0); - (_emscripten_set_click_callback((3537|0),(0|0),1,(5|0))|0); - (_emscripten_set_touchstart_callback((3537|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchend_callback((3537|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchmove_callback((3537|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchcancel_callback((3537|0),(0|0),1,(6|0))|0); + (_emscripten_set_keypress_callback((3551|0),(0|0),1,(4|0))|0); + (_emscripten_set_click_callback((3551|0),(0|0),1,(5|0))|0); + (_emscripten_set_touchstart_callback((3551|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchend_callback((3551|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchmove_callback((3551|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchcancel_callback((3551|0),(0|0),1,(6|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(7|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(7|0))|0); - $3 = HEAP32[3556]|0; + $3 = HEAP32[3558]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3484] = $5; - $6 = HEAP32[3555]|0; + HEAPF32[3486] = $5; + $6 = HEAP32[3557]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13940)>>2] = $8; - $9 = HEAP32[3559]|0; + HEAPF32[(13948)>>2] = $8; + $9 = HEAP32[3561]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11615,11 +11814,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[13976>>0]=HEAP8[8066>>0]|0;HEAP8[13976+1>>0]=HEAP8[8066+1>>0]|0;HEAP8[13976+2>>0]=HEAP8[8066+2>>0]|0;HEAP8[13976+3>>0]=HEAP8[8066+3>>0]|0;HEAP8[13976+4>>0]=HEAP8[8066+4>>0]|0;HEAP8[13976+5>>0]=HEAP8[8066+5>>0]|0;HEAP8[13976+6>>0]=HEAP8[8066+6>>0]|0; + ;HEAP8[13984>>0]=HEAP8[8080>>0]|0;HEAP8[13984+1>>0]=HEAP8[8080+1>>0]|0;HEAP8[13984+2>>0]=HEAP8[8080+2>>0]|0;HEAP8[13984+3>>0]=HEAP8[8080+3>>0]|0;HEAP8[13984+4>>0]=HEAP8[8080+4>>0]|0;HEAP8[13984+5>>0]=HEAP8[8080+5>>0]|0;HEAP8[13984+6>>0]=HEAP8[8080+6>>0]|0; break; } case 1: { - $3 = 13976; + $3 = 13984; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11628,11 +11827,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=13976; src=8073; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=13984; src=8087; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 13976; + $7 = 13984; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11643,16 +11842,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13976,$1)|0); - $strlen = (_strlen(13976)|0); - $endptr = (13976 + ($strlen)|0); + (_strcat(13984,$1)|0); + $strlen = (_strlen(13984)|0); + $endptr = (13984 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(13976,$2)|0); + (_vprintf(13984,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11684,22 +11883,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[3556] = $0; - HEAP32[3555] = $1; + HEAP32[3558] = $0; + HEAP32[3557] = $1; _MatrixIdentity($2); - dest=14312; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14320; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((1|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,4208,$vararg_buffer); + _TraceLog(1,4222,$vararg_buffer); } - $6 = HEAP32[3556]|0; - HEAP32[3594] = $6; - $7 = HEAP32[3555]|0; - HEAP32[3595] = $7; + $6 = HEAP32[3558]|0; + HEAP32[3596] = $6; + $7 = HEAP32[3557]|0; + HEAP32[3597] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[17028]|0; + $8 = HEAP8[17036]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11707,18 +11906,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[17028]|0; + $11 = HEAP8[17036]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[17028]|0; + $14 = HEAP8[17036]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4234,$vararg_buffer1); + _TraceLog(0,4248,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -11735,18 +11934,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[3596]|0; + $21 = HEAP32[3598]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[3556]|0; - $48 = HEAP32[3555]|0; - $49 = HEAP32[3558]|0; + $47 = HEAP32[3558]|0; + $48 = HEAP32[3557]|0; + $49 = HEAP32[3560]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[3554] = $50; - $51 = HEAP32[3556]|0; - HEAP32[3597] = $51; - $52 = HEAP32[3555]|0; - HEAP32[3598] = $52; + HEAP32[3556] = $50; + $51 = HEAP32[3558]|0; + HEAP32[3599] = $51; + $52 = HEAP32[3557]|0; + HEAP32[3600] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11755,9 +11954,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[3556]|0; + $27 = HEAP32[3558]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[3555]|0; + $29 = HEAP32[3557]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11779,87 +11978,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[3594] = $31; - HEAP32[3595] = $34; + HEAP32[3596] = $31; + HEAP32[3597] = $34; } } while(0); - $38 = HEAP32[3594]|0; - $39 = HEAP32[3595]|0; + $38 = HEAP32[3596]|0; + $39 = HEAP32[3597]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,4259,$vararg_buffer3); - $40 = HEAP32[3594]|0; - $41 = HEAP32[3595]|0; + _TraceLog(2,4273,$vararg_buffer3); + $40 = HEAP32[3596]|0; + $41 = HEAP32[3597]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[3594]|0; - $43 = HEAP32[3595]|0; - $44 = HEAP32[3558]|0; + $42 = HEAP32[3596]|0; + $43 = HEAP32[3597]|0; + $44 = HEAP32[3560]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[3554] = $46; + HEAP32[3556] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4297,$vararg_buffer6); + _TraceLog(1,4311,$vararg_buffer6); } else { - _TraceLog(0,4330,$vararg_buffer8); - $55 = HEAP32[3597]|0; - $56 = HEAP32[3598]|0; + _TraceLog(0,4344,$vararg_buffer8); + $55 = HEAP32[3599]|0; + $56 = HEAP32[3600]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,4370,$vararg_buffer10); - $57 = HEAP32[3556]|0; - $58 = HEAP32[3555]|0; + _TraceLog(0,4384,$vararg_buffer10); + $57 = HEAP32[3558]|0; + $58 = HEAP32[3557]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,4391,$vararg_buffer14); - $59 = HEAP32[3599]|0; - $60 = HEAP32[3600]|0; + _TraceLog(0,4405,$vararg_buffer14); + $59 = HEAP32[3601]|0; + $60 = HEAP32[3602]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4412,$vararg_buffer18); + _TraceLog(0,4426,$vararg_buffer18); } - $61 = HEAP32[3554]|0; + $61 = HEAP32[3556]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[3554]|0; + $62 = HEAP32[3556]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[3554]|0; + $63 = HEAP32[3556]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[3554]|0; + $64 = HEAP32[3556]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[3554]|0; + $65 = HEAP32[3556]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[3554]|0; + $66 = HEAP32[3556]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[3554]|0; + $67 = HEAP32[3556]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[3554]|0; + $68 = HEAP32[3556]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[3554]|0; + $69 = HEAP32[3556]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[17028]|0; + $70 = HEAP8[17036]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[3556]|0; - $74 = HEAP32[3555]|0; + $73 = HEAP32[3558]|0; + $74 = HEAP32[3557]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[3597]|0; - $76 = HEAP32[3599]|0; + $75 = HEAP32[3599]|0; + $76 = HEAP32[3601]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[3598]|0; - $80 = HEAP32[3600]|0; + $79 = HEAP32[3600]|0; + $80 = HEAP32[3602]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11877,19 +12076,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4437,$vararg_buffer22); - $73 = HEAP32[3556]|0; - $74 = HEAP32[3555]|0; + _TraceLog(0,4451,$vararg_buffer22); + $73 = HEAP32[3558]|0; + $74 = HEAP32[3557]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[3597]|0; - $76 = HEAP32[3599]|0; + $75 = HEAP32[3599]|0; + $76 = HEAP32[3601]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[3598]|0; - $80 = HEAP32[3600]|0; + $79 = HEAP32[3600]|0; + $80 = HEAP32[3602]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -11917,7 +12116,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(14280)>>2] = 224; + HEAP32[(14288)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -11958,27 +12157,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[14256>>2]=HEAP32[$1>>2]|0;HEAP32[14256+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14256+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14256+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14256+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[14264>>2]=HEAP32[$1>>2]|0;HEAP32[14264+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[14264+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[14264+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[14264+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(14280)>>2]|0; + $5 = HEAP32[(14288)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(14284)>>2] = $7; + HEAP32[(14292)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(14276)>>2] = $23; - $24 = HEAP32[3564]|0; + HEAP32[(14284)>>2] = $23; + $24 = HEAP32[3566]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3732,$vararg_buffer); + _TraceLog(0,3746,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(14260)>>2]|0; - $10 = HEAP32[(14280)>>2]|0; - $11 = HEAP32[(14284)>>2]|0; + $9 = HEAP32[(14268)>>2]|0; + $10 = HEAP32[(14288)>>2]|0; + $11 = HEAP32[(14292)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12027,10 +12226,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(14276)>>2] = $23; - $24 = HEAP32[3564]|0; + HEAP32[(14284)>>2] = $23; + $24 = HEAP32[3566]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3732,$vararg_buffer); + _TraceLog(0,3746,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12039,7 +12238,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[1746] = $1; + HEAPF64[1747] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12069,7 +12268,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,3665,$vararg_buffer4); + _TraceLog(0,3679,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12079,7 +12278,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,3596,$vararg_buffer); + _TraceLog(0,3610,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12095,7 +12294,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,3589)|0); + $5 = (_strcmp($4,3603)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12198,7 +12397,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13952; + $31 = 13960; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12211,7 +12410,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13960); + $42 = (13968); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12267,7 +12466,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (14240 + ($10<<2)|0); + $11 = (14248 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12281,19 +12480,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1743] = $$; + HEAPF64[1744] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,3545,$vararg_buffer); + _TraceLog(0,3559,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[3559] = 0; + HEAP32[3561] = 0; return; } function _GetTime() { @@ -12392,7 +12591,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4108,$vararg_buffer); + _TraceLog(2,4122,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -12869,52 +13068,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[3572]|0; + $6 = HEAP32[3574]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,3777,$vararg_buffer); + _TraceLog(2,3791,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[3573]|0; + $9 = HEAP32[3575]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3821,$vararg_buffer1); + _TraceLog(2,3835,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[3574]|0; + $12 = HEAP32[3576]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,3866,$vararg_buffer3); + _TraceLog(2,3880,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[3575]|0; + $15 = HEAP32[3577]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,3911,$vararg_buffer5); + _TraceLog(2,3925,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[3576]|0; + $18 = HEAP32[3578]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,3956,$vararg_buffer7); + _TraceLog(2,3970,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -12952,7 +13151,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[3572]|0; + $22 = HEAP32[3574]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -12960,7 +13159,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[3572]|0; + $24 = HEAP32[3574]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -12968,7 +13167,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[3572]|0; + $26 = HEAP32[3574]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -12976,7 +13175,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[3572]|0; + $28 = HEAP32[3574]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -12984,7 +13183,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[3573]|0; + $30 = HEAP32[3575]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -12992,7 +13191,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[3574]|0; + $32 = HEAP32[3576]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13000,7 +13199,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[3574]|0; + $34 = HEAP32[3576]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13008,7 +13207,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[3575]|0; + $36 = HEAP32[3577]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13016,7 +13215,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[3575]|0; + $38 = HEAP32[3577]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13024,7 +13223,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[3576]|0; + $40 = HEAP32[3578]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13032,7 +13231,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[3576]|0; + $42 = HEAP32[3578]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13040,11 +13239,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4001,$vararg_buffer9); + _TraceLog(2,4015,$vararg_buffer9); } } } while(0); - $44 = HEAP32[3577]|0; + $44 = HEAP32[3579]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13059,7 +13258,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,4079,$vararg_buffer15); + _TraceLog(2,4093,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13068,7 +13267,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4030,$vararg_buffer11); + _TraceLog(0,4044,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13342,7 +13541,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4162,$vararg_buffer); + _TraceLog(2,4176,$vararg_buffer); $$1 = $$0106; } } @@ -13369,7 +13568,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8028,$vararg_buffer); + _TraceLog(2,8042,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -13390,20 +13589,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[3556]|0; + $3 = HEAP32[3558]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[3555]|0; + $5 = HEAP32[3557]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[3597] = $3; - HEAP32[3598] = $5; - HEAP32[3599] = 0; - HEAP32[3600] = 0; + HEAP32[3599] = $3; + HEAP32[3600] = $5; + HEAP32[3601] = 0; + HEAP32[3602] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13413,13 +13612,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,7962,$vararg_buffer8); + _TraceLog(0,7976,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[3556]|0; + $35 = HEAP32[3558]|0; $36 = (+($35|0)); - $37 = HEAP32[3555]|0; + $37 = HEAP32[3557]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13427,26 +13626,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[3597] = $45; - HEAP32[3598] = $37; + HEAP32[3599] = $45; + HEAP32[3600] = $37; $46 = (($45) - ($35))|0; - HEAP32[3599] = $46; + HEAP32[3601] = $46; $$sink1 = 0; } else { - HEAP32[3597] = $35; + HEAP32[3599] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[3598] = $42; - HEAP32[3599] = 0; + HEAP32[3600] = $42; + HEAP32[3601] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[3600] = $$sink1; + HEAP32[3602] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[3555]|0; + $7 = HEAP32[3557]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13454,13 +13653,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7819,$vararg_buffer); + _TraceLog(2,7833,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[3556]|0; + $9 = HEAP32[3558]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[3555]|0; + $13 = HEAP32[3557]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13468,37 +13667,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[3597] = $23; - HEAP32[3598] = $1; + HEAP32[3599] = $23; + HEAP32[3600] = $1; $24 = (($0) - ($23))|0; - HEAP32[3599] = $24; + HEAP32[3601] = $24; $$sink = 0; } else { - HEAP32[3597] = $0; - $17 = HEAP32[3555]|0; + HEAP32[3599] = $0; + $17 = HEAP32[3557]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[3598] = $20; - HEAP32[3599] = 0; + HEAP32[3600] = $20; + HEAP32[3601] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[3600] = $$sink; - $25 = HEAP32[3597]|0; + HEAP32[3602] = $$sink; + $25 = HEAP32[3599]|0; $26 = (+($25|0)); - $27 = HEAP32[3556]|0; + $27 = HEAP32[3558]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=14312; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[3597] = $0; - HEAP32[3598] = $1; + dest=14320; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3599] = $0; + HEAP32[3600] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,7897,$vararg_buffer4); + _TraceLog(2,7911,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -13516,10 +13715,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[3556] = $1; - HEAP32[3555] = $2; - HEAP32[3597] = $1; - HEAP32[3598] = $2; + HEAP32[3558] = $1; + HEAP32[3557] = $2; + HEAP32[3599] = $1; + HEAP32[3600] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13546,7 +13745,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (17035 + ($1)|0); + $9 = (17043 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13567,7 +13766,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (17029 + ($1)|0); + $7 = (17037 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13646,7 +13845,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13952; + $15 = 13960; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13681,7 +13880,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[3970] = $3; + HEAP32[3972] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13691,7 +13890,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[3969] = $$sink; + HEAP32[3971] = $$sink; return; } function _rlglInit($0,$1) { @@ -13731,16 +13930,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4460,$vararg_buffer); + _TraceLog(0,4474,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4478,$vararg_buffer1); + _TraceLog(0,4492,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4496,$vararg_buffer4); + _TraceLog(0,4510,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4514,$vararg_buffer7); + _TraceLog(0,4528,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -13748,7 +13947,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,4532)|0); + $15 = (_strtok($$sink63,4546)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -13762,41 +13961,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4534,$vararg_buffer10); + _TraceLog(0,4548,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,4569)|0); + $25 = (_strcmp($24,4583)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[3635] = 1; - $27 = (_eglGetProcAddress((4596|0))|0); - HEAP32[3636] = $27; - $28 = (_eglGetProcAddress((4617|0))|0); - HEAP32[3637] = $28; - $29 = (_eglGetProcAddress((4638|0))|0); - HEAP32[3638] = $29; - } - $30 = (_strcmp($24,4662)|0); + HEAP32[3637] = 1; + $27 = (_eglGetProcAddress((4610|0))|0); + HEAP32[3638] = $27; + $28 = (_eglGetProcAddress((4631|0))|0); + HEAP32[3639] = $28; + $29 = (_eglGetProcAddress((4652|0))|0); + HEAP32[3640] = $29; + } + $30 = (_strcmp($24,4676)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[3577] = 1; + HEAP32[3579] = 1; } - $32 = (_strcmp($24,4682)|0); + $32 = (_strcmp($24,4696)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4714)|0); + $35 = (_strcmp($34,4728)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,4747)|0); + $37 = (_strcmp($34,4761)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -13805,15 +14004,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[3572] = 1; + HEAP32[3574] = 1; } - $39 = (_strcmp($24,4787)|0); + $39 = (_strcmp($24,4801)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4823)|0); + $42 = (_strcmp($41,4837)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -13821,35 +14020,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[3573] = 1; + HEAP32[3575] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4856)|0); + $45 = (_strcmp($44,4870)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[3574] = 1; + HEAP32[3576] = 1; } - $47 = (_strcmp($44,4881)|0); + $47 = (_strcmp($44,4895)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[3575] = 1; + HEAP32[3577] = 1; } - $49 = (_strcmp($44,4914)|0); + $49 = (_strcmp($44,4928)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[3576] = 1; + HEAP32[3578] = 1; } - $51 = (_strcmp($44,4950)|0); + $51 = (_strcmp($44,4964)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[3639] = 1; - _glGetFloatv(34047,(14560|0)); + HEAP32[3641] = 1; + _glGetFloatv(34047,(14568|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,4984)|0); + $54 = (_strcmp($53,4998)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[3641] = 1; + HEAP32[3643] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -13860,77 +14059,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[3635]|0; + $21 = HEAP32[3637]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5087,$vararg_buffer15); + _TraceLog(2,5101,$vararg_buffer15); } else { - _TraceLog(0,5012,$vararg_buffer13); + _TraceLog(0,5026,$vararg_buffer13); } - $57 = HEAP32[3577]|0; + $57 = HEAP32[3579]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5223,$vararg_buffer19); + _TraceLog(2,5237,$vararg_buffer19); } else { - _TraceLog(0,5148,$vararg_buffer17); + _TraceLog(0,5162,$vararg_buffer17); } - $59 = HEAP32[3572]|0; + $59 = HEAP32[3574]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5315,$vararg_buffer21); + _TraceLog(0,5329,$vararg_buffer21); } - $61 = HEAP32[3573]|0; + $61 = HEAP32[3575]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5361,$vararg_buffer23); + _TraceLog(0,5375,$vararg_buffer23); } - $63 = HEAP32[3574]|0; + $63 = HEAP32[3576]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5408,$vararg_buffer25); + _TraceLog(0,5422,$vararg_buffer25); } - $65 = HEAP32[3575]|0; + $65 = HEAP32[3577]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,5459,$vararg_buffer27); + _TraceLog(0,5473,$vararg_buffer27); } - $67 = HEAP32[3576]|0; + $67 = HEAP32[3578]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,5506,$vararg_buffer29); + _TraceLog(0,5520,$vararg_buffer29); } - $69 = HEAP32[3639]|0; + $69 = HEAP32[3641]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[3640]; + $71 = +HEAPF32[3642]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5553,$vararg_buffer31); + _TraceLog(0,5567,$vararg_buffer31); } - $73 = HEAP32[3641]|0; + $73 = HEAP32[3643]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,5619,$vararg_buffer34); + _TraceLog(0,5633,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[3642] = $75; + HEAP32[3644] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,5723,$vararg_buffer39); + _TraceLog(2,5737,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5672,$vararg_buffer36); + _TraceLog(0,5686,$vararg_buffer36); } _LoadDefaultShader($2); - dest=14572; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=14628; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14580; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14636; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[3671] = $77; + HEAP32[3673] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[3671]|0; + $79 = HEAP32[3673]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -13943,7 +14142,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[3672] = $78; + HEAP32[3674] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -13958,48 +14157,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[3673] = 1; - $85 = HEAP32[3642]|0; + HEAP32[3675] = 1; + $85 = HEAP32[3644]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[3674] = 4; + HEAP32[3676] = 4; _MatrixIdentity($4); - dest=14700; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14708; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(14764); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(14772); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(14828); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(14836); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(14892); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(14900); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(14956); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(14964); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15020); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15028); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15084); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15092); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15148); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15156); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15212); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15220); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15276); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15284); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15340); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15348); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15404); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15412); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15468); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15476); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15532); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15540); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15596); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15604); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(15660); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(15668); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=14408; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14416; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=14472; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[3601] = 14472; + dest=14480; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[3603] = 14480; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14010,21 +14209,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[3931] = $0; - HEAP32[3932] = $1; - _TraceLog(0,5762,$vararg_buffer41); + HEAP32[3933] = $0; + HEAP32[3934] = $1; + _TraceLog(0,5776,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3599]|0; + $0 = HEAP32[3601]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[3600]|0; + $2 = HEAP32[3602]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[3597]|0; + $4 = HEAP32[3599]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[3598]|0; + $6 = HEAP32[3600]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14035,12 +14234,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 14408; + $modelview$sink = 14416; label = 3; break; } case 5888: { - $modelview$sink = 14472; + $modelview$sink = 14480; label = 3; break; } @@ -14048,9 +14247,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[3601] = $modelview$sink; + HEAP32[3603] = $modelview$sink; } - HEAP32[3634] = $0; + HEAP32[3636] = $0; return; } function _rlLoadIdentity() { @@ -14058,7 +14257,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[3601]|0; + $1 = HEAP32[3603]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14079,7 +14278,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[3601]|0; + $8 = HEAP32[3603]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14138,17 +14337,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(6338|0),489)|0; - _memcpy(($3|0),(6827|0),441)|0; + _memcpy(($2|0),(6352|0),489)|0; + _memcpy(($3|0),(6841|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,7316,$vararg_buffer1); + _TraceLog(2,7330,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7268,$vararg_buffer); + _TraceLog(0,7282,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14176,15 +14375,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(15744)>>2] = $0; + HEAP32[(15752)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(15752)>>2] = $1; - HEAP32[(15748)>>2] = 0; + HEAP32[(15760)>>2] = $1; HEAP32[(15756)>>2] = 0; + HEAP32[(15764)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(15752)>>2]|0; + $2 = HEAP32[(15760)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14195,19 +14394,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[3933] = 0; - HEAP32[(15740)>>2] = 0; - HEAP32[(15736)>>2] = 0; + HEAP32[3935] = 0; + HEAP32[(15748)>>2] = 0; + HEAP32[(15744)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(15792)>>2] = $5; + HEAP32[(15800)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(15800)>>2] = $6; - HEAP32[(15796)>>2] = 0; + HEAP32[(15808)>>2] = $6; HEAP32[(15804)>>2] = 0; + HEAP32[(15812)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(15800)>>2]|0; + $7 = HEAP32[(15808)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14218,24 +14417,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[3945] = 0; - HEAP32[(15788)>>2] = 0; - HEAP32[(15784)>>2] = 0; + HEAP32[3947] = 0; + HEAP32[(15796)>>2] = 0; + HEAP32[(15792)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(15840)>>2] = $10; + HEAP32[(15848)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(15844)>>2] = $11; + HEAP32[(15852)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(15848)>>2] = $12; + HEAP32[(15856)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(15852)>>2] = $13; - $14 = HEAP32[(15840)>>2]|0; + HEAP32[(15860)>>2] = $13; + $14 = HEAP32[(15848)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(15844)>>2]|0; + $15 = HEAP32[(15852)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(15848)>>2]|0; + $17 = HEAP32[(15856)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14246,7 +14445,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(15852)>>2]|0; + $16 = HEAP32[(15860)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14283,140 +14482,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[3957] = 0; - HEAP32[(15832)>>2] = 0; - HEAP32[(15836)>>2] = 0; - _TraceLog(0,5809,$vararg_buffer); - $20 = HEAP32[3635]|0; + HEAP32[3959] = 0; + HEAP32[(15840)>>2] = 0; + HEAP32[(15844)>>2] = 0; + _TraceLog(0,5823,$vararg_buffer); + $20 = HEAP32[3637]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[3636]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(15760)); - $44 = HEAP32[3637]|0; - $45 = HEAP32[(15760)>>2]|0; + $43 = HEAP32[3638]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(15768)); + $44 = HEAP32[3639]|0; + $45 = HEAP32[(15768)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((15764)|0)); - $46 = HEAP32[(15764)>>2]|0; + _glGenBuffers(2,((15772)|0)); + $46 = HEAP32[(15772)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(15744)>>2]|0; + $47 = HEAP32[(15752)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(14632)>>2]|0; + $48 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(14632)>>2]|0; + $49 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((15768)|0)); - $50 = HEAP32[(15768)>>2]|0; + _glGenBuffers(2,((15776)|0)); + $50 = HEAP32[(15776)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(15752)>>2]|0; + $51 = HEAP32[(15760)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(14652)>>2]|0; + $52 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(14652)>>2]|0; + $53 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[3635]|0; + $54 = HEAP32[3637]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(15764)>>2]|0; - $58 = HEAP32[(15768)>>2]|0; + $57 = HEAP32[(15772)>>2]|0; + $58 = HEAP32[(15776)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,5947,$vararg_buffer3); + _TraceLog(0,5961,$vararg_buffer3); } else { - $56 = HEAP32[(15760)>>2]|0; + $56 = HEAP32[(15768)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,5882,$vararg_buffer1); + _TraceLog(0,5896,$vararg_buffer1); } - $59 = HEAP32[3635]|0; + $59 = HEAP32[3637]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[3636]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(15808)); - $62 = HEAP32[3637]|0; - $63 = HEAP32[(15808)>>2]|0; + $61 = HEAP32[3638]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(15816)); + $62 = HEAP32[3639]|0; + $63 = HEAP32[(15816)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((15812)|0)); - $64 = HEAP32[(15812)>>2]|0; + _glGenBuffers(1,((15820)|0)); + $64 = HEAP32[(15820)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(15792)>>2]|0; + $65 = HEAP32[(15800)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(14632)>>2]|0; + $66 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(14632)>>2]|0; + $67 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((15816)|0)); - $68 = HEAP32[(15816)>>2]|0; + _glGenBuffers(1,((15824)|0)); + $68 = HEAP32[(15824)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(15800)>>2]|0; + $69 = HEAP32[(15808)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(14652)>>2]|0; + $70 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(14652)>>2]|0; + $71 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[3635]|0; + $72 = HEAP32[3637]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(15812)>>2]|0; - $76 = HEAP32[(15816)>>2]|0; + $75 = HEAP32[(15820)>>2]|0; + $76 = HEAP32[(15824)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6093,$vararg_buffer10); + _TraceLog(0,6107,$vararg_buffer10); } else { - $74 = HEAP32[(15808)>>2]|0; + $74 = HEAP32[(15816)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6024,$vararg_buffer7); + _TraceLog(0,6038,$vararg_buffer7); } - $77 = HEAP32[3635]|0; + $77 = HEAP32[3637]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[3636]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(15856)); - $80 = HEAP32[3637]|0; - $81 = HEAP32[(15856)>>2]|0; + $79 = HEAP32[3638]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(15864)); + $80 = HEAP32[3639]|0; + $81 = HEAP32[(15864)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((15860)|0)); - $82 = HEAP32[(15860)>>2]|0; + _glGenBuffers(1,((15868)|0)); + $82 = HEAP32[(15868)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(15840)>>2]|0; + $83 = HEAP32[(15848)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(14632)>>2]|0; + $84 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(14632)>>2]|0; + $85 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((15864)|0)); - $86 = HEAP32[(15864)>>2]|0; + _glGenBuffers(1,((15872)|0)); + $86 = HEAP32[(15872)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(15844)>>2]|0; + $87 = HEAP32[(15852)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(14636)>>2]|0; + $88 = HEAP32[(14644)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(14636)>>2]|0; + $89 = HEAP32[(14644)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((15868)|0)); - $90 = HEAP32[(15868)>>2]|0; + _glGenBuffers(1,((15876)|0)); + $90 = HEAP32[(15876)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(15848)>>2]|0; + $91 = HEAP32[(15856)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(14652)>>2]|0; + $92 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(14652)>>2]|0; + $93 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((15872)|0)); - $94 = HEAP32[(15872)>>2]|0; + _glGenBuffers(1,((15880)|0)); + $94 = HEAP32[(15880)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(15852)>>2]|0; + $95 = HEAP32[(15860)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[3635]|0; + $96 = HEAP32[3637]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(15860)>>2]|0; - $100 = HEAP32[(15864)>>2]|0; - $101 = HEAP32[(15868)>>2]|0; - $102 = HEAP32[(15872)>>2]|0; + $99 = HEAP32[(15868)>>2]|0; + $100 = HEAP32[(15872)>>2]|0; + $101 = HEAP32[(15876)>>2]|0; + $102 = HEAP32[(15880)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14424,18 +14623,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6239,$vararg_buffer17); + _TraceLog(0,6253,$vararg_buffer17); } else { - $98 = HEAP32[(15856)>>2]|0; + $98 = HEAP32[(15864)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6174,$vararg_buffer14); + _TraceLog(0,6188,$vararg_buffer14); } - $103 = HEAP32[3635]|0; + $103 = HEAP32[3637]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[3637]|0; + $105 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14472,10 +14671,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7572,$vararg_buffer4); + _TraceLog(0,7586,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7520,$vararg_buffer); + _TraceLog(2,7534,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -14485,7 +14684,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,7569,$vararg_buffer1); + _TraceLog(0,7583,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -14494,10 +14693,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7673,$vararg_buffer13); + _TraceLog(0,7687,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7622,$vararg_buffer7); + _TraceLog(2,7636,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -14507,25 +14706,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,7569,$vararg_buffer10); + _TraceLog(0,7583,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(7364|0)); - _glBindAttribLocation(($20|0),1,(7379|0)); - _glBindAttribLocation(($20|0),2,(7410|0)); - _glBindAttribLocation(($20|0),3,(7437|0)); - _glBindAttribLocation(($20|0),4,(7423|0)); - _glBindAttribLocation(($20|0),5,(7394|0)); + _glBindAttribLocation(($20|0),0,(7378|0)); + _glBindAttribLocation(($20|0),1,(7393|0)); + _glBindAttribLocation(($20|0),2,(7424|0)); + _glBindAttribLocation(($20|0),3,(7451|0)); + _glBindAttribLocation(($20|0),4,(7437|0)); + _glBindAttribLocation(($20|0),5,(7408|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,7725,$vararg_buffer16); + _TraceLog(2,7739,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -14535,7 +14734,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,7569,$vararg_buffer19); + _TraceLog(0,7583,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -14544,7 +14743,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7771,$vararg_buffer22); + _TraceLog(0,7785,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -14559,55 +14758,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7364|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7378|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7379|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7393|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7394|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7408|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7410|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7424|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7423|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7437|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7437|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7451|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7449|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7463|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7459|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7473|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7470|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7484|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7481|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7495|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7493|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7507|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7502|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7516|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7511|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7525|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -14616,9 +14815,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (17029 + ($0)|0); + $1 = (17037 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (17032 + ($0)|0); + $3 = (17040 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14630,9 +14829,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (17029 + ($0)|0); + $1 = (17037 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (17032 + ($0)|0); + $3 = (17040 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14653,10 +14852,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[3554]|0; + $0 = HEAP32[3556]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8083,$vararg_buffer); + _TraceLog(0,8097,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -14664,9 +14863,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[14256>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14256+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14256+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14256+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14256+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[14264>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[14264+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[14264+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[14264+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[14264+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(14284)>>2]|0; + $0 = HEAP32[(14292)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14677,11 +14876,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(14568|0)); - $0 = HEAP32[3642]|0; + _glDeleteTextures(1,(14576|0)); + $0 = HEAP32[3644]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8110,$vararg_buffer); - $1 = HEAP32[3672]|0; + _TraceLog(0,8124,$vararg_buffer); + $1 = HEAP32[3674]|0; _free($1); STACKTOP = sp;return; } @@ -14689,17 +14888,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[3643]|0; + $0 = HEAP32[3645]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[3635]|0; + $0 = HEAP32[3637]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[3637]|0; + $2 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14708,39 +14907,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((15764)|0)); - _glDeleteBuffers(1,((15768)|0)); - _glDeleteBuffers(1,((15812)|0)); - _glDeleteBuffers(1,((15816)|0)); - _glDeleteBuffers(1,((15860)|0)); - _glDeleteBuffers(1,((15864)|0)); + _glDeleteBuffers(1,((15772)|0)); + _glDeleteBuffers(1,((15776)|0)); + _glDeleteBuffers(1,((15820)|0)); + _glDeleteBuffers(1,((15824)|0)); _glDeleteBuffers(1,((15868)|0)); _glDeleteBuffers(1,((15872)|0)); - $3 = HEAP32[3635]|0; + _glDeleteBuffers(1,((15876)|0)); + _glDeleteBuffers(1,((15880)|0)); + $3 = HEAP32[3637]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[3638]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(15760)); - $6 = HEAP32[3638]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(15808)); - $7 = HEAP32[3638]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(15856)); + $5 = HEAP32[3640]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(15768)); + $6 = HEAP32[3640]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(15816)); + $7 = HEAP32[3640]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(15864)); } - $8 = HEAP32[(15744)>>2]|0; + $8 = HEAP32[(15752)>>2]|0; _free($8); - $9 = HEAP32[(15752)>>2]|0; + $9 = HEAP32[(15760)>>2]|0; _free($9); - $10 = HEAP32[(15792)>>2]|0; + $10 = HEAP32[(15800)>>2]|0; _free($10); - $11 = HEAP32[(15800)>>2]|0; + $11 = HEAP32[(15808)>>2]|0; _free($11); - $12 = HEAP32[(15840)>>2]|0; + $12 = HEAP32[(15848)>>2]|0; _free($12); - $13 = HEAP32[(15844)>>2]|0; + $13 = HEAP32[(15852)>>2]|0; _free($13); - $14 = HEAP32[(15848)>>2]|0; + $14 = HEAP32[(15856)>>2]|0; _free($14); - $15 = HEAP32[(15852)>>2]|0; + $15 = HEAP32[(15860)>>2]|0; _free($15); return; } @@ -14758,7 +14957,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8175,$vararg_buffer); + _TraceLog(0,8189,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -14780,16 +14979,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[1763] = $0; - $1 = +HEAPF64[1746]; + HEAPF64[1764] = $0; + $1 = +HEAPF64[1747]; $2 = $0 - $1; - HEAPF64[1764] = $2; - HEAPF64[1746] = $0; + HEAPF64[1765] = $2; + HEAPF64[1747] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=14312; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=14320; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(15884); + _rlMultMatrixf(15892); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14798,53 +14997,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[3971] = $1; + HEAP32[3973] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(15888)>>2] = $3; + HEAP32[(15896)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(15892)>>2] = $5; + HEAP32[(15900)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(15896)>>2] = $7; + HEAP32[(15904)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(15900)>>2] = $9; + HEAP32[(15908)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(15904)>>2] = $11; + HEAP32[(15912)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(15908)>>2] = $13; + HEAP32[(15916)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(15912)>>2] = $15; + HEAP32[(15920)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(15916)>>2] = $17; + HEAP32[(15924)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(15920)>>2] = $19; + HEAP32[(15928)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(15924)>>2] = $21; + HEAP32[(15932)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(15928)>>2] = $23; + HEAP32[(15936)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(15932)>>2] = $25; + HEAP32[(15940)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(15936)>>2] = $27; + HEAP32[(15944)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(15940)>>2] = $29; + HEAP32[(15948)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(15944)>>2] = $31; - return (15884|0); + HEAP32[(15952)>>2] = $31; + return (15892|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -14919,7 +15118,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[3601]|0; + $49 = HEAP32[3603]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -14933,15 +15132,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1763] = $0; - $1 = +HEAPF64[1746]; + HEAPF64[1764] = $0; + $1 = +HEAPF64[1747]; $2 = $0 - $1; - HEAPF64[1765] = $2; - HEAPF64[1746] = $0; - $3 = +HEAPF64[1764]; + HEAPF64[1766] = $2; + HEAPF64[1747] = $0; + $3 = +HEAPF64[1765]; $4 = $2 + $3; - HEAPF64[1766] = $4; - $5 = +HEAPF64[1743]; + HEAPF64[1767] = $4; + $5 = +HEAPF64[1744]; $6 = $4 < $5; if (!($6)) { return; @@ -14951,13 +15150,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1763] = $10; - $11 = +HEAPF64[1746]; + HEAPF64[1764] = $10; + $11 = +HEAPF64[1747]; $12 = $10 - $11; - HEAPF64[1746] = $10; - $13 = +HEAPF64[1766]; + HEAPF64[1747] = $10; + $13 = +HEAPF64[1767]; $14 = $12 + $13; - HEAPF64[1766] = $14; + HEAPF64[1767] = $14; return; } function _rlglDraw() { @@ -14970,7 +15169,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3554]|0; + $0 = HEAP32[3556]|0; _glfwSwapBuffers(($0|0)); return; } @@ -14986,20 +15185,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[3987] = 0; - $3 = HEAP32[3554]|0; + HEAP32[3989] = 0; + $3 = HEAP32[3556]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3484] = $5; + HEAPF32[3486] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(13940)>>2] = $7; - _memcpy((17547|0),(17035|0),512)|0; - ;HEAP8[17032>>0]=HEAP8[17029>>0]|0;HEAP8[17032+1>>0]=HEAP8[17029+1>>0]|0;HEAP8[17032+2>>0]=HEAP8[17029+2>>0]|0; - $8 = HEAP32[3970]|0; - HEAP32[3557] = $8; - HEAP32[3970] = 0; + HEAPF32[(13948)>>2] = $7; + _memcpy((17555|0),(17043|0),512)|0; + ;HEAP8[17040>>0]=HEAP8[17037>>0]|0;HEAP8[17040+1>>0]=HEAP8[17037+1>>0]|0;HEAP8[17040+2>>0]=HEAP8[17037+2>>0]|0; + $8 = HEAP32[3972]|0; + HEAP32[3559] = $8; + HEAP32[3972] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15009,8 +15208,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (18059 + ($$05160<<5)|0); - $scevgep67 = (18187 + ($$05160<<5)|0); + $scevgep = (18067 + ($$05160<<5)|0); + $scevgep67 = (18195 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15024,7 +15223,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((18187 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((18195 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15051,7 +15250,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((15952 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((15960 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15067,7 +15266,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[3987] = $$lcssa; + HEAP32[3989] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15108,87 +15307,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3933]|0; + $0 = HEAP32[3935]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[3635]|0; + $2 = HEAP32[3637]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[3637]|0; - $5 = HEAP32[(15760)>>2]|0; + $4 = HEAP32[3639]|0; + $5 = HEAP32[(15768)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(15764)>>2]|0; + $6 = HEAP32[(15772)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[3933]|0; + $7 = HEAP32[3935]|0; $8 = ($7*12)|0; - $9 = HEAP32[(15744)>>2]|0; + $9 = HEAP32[(15752)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(15768)>>2]|0; + $10 = HEAP32[(15776)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(15740)>>2]|0; + $11 = HEAP32[(15748)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(15752)>>2]|0; + $13 = HEAP32[(15760)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[3945]|0; + $14 = HEAP32[3947]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[3635]|0; + $16 = HEAP32[3637]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[3637]|0; - $19 = HEAP32[(15808)>>2]|0; + $18 = HEAP32[3639]|0; + $19 = HEAP32[(15816)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(15812)>>2]|0; + $20 = HEAP32[(15820)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[3945]|0; + $21 = HEAP32[3947]|0; $22 = ($21*12)|0; - $23 = HEAP32[(15792)>>2]|0; + $23 = HEAP32[(15800)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(15816)>>2]|0; + $24 = HEAP32[(15824)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(15788)>>2]|0; + $25 = HEAP32[(15796)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(15800)>>2]|0; + $27 = HEAP32[(15808)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[3957]|0; + $28 = HEAP32[3959]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[3635]|0; + $30 = HEAP32[3637]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[3637]|0; - $33 = HEAP32[(15856)>>2]|0; + $32 = HEAP32[3639]|0; + $33 = HEAP32[(15864)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(15860)>>2]|0; + $34 = HEAP32[(15868)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[3957]|0; + $35 = HEAP32[3959]|0; $36 = ($35*12)|0; - $37 = HEAP32[(15840)>>2]|0; + $37 = HEAP32[(15848)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(15864)>>2]|0; + $38 = HEAP32[(15872)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[3957]|0; + $39 = HEAP32[3959]|0; $40 = $39 << 3; - $41 = HEAP32[(15844)>>2]|0; + $41 = HEAP32[(15852)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(15868)>>2]|0; + $42 = HEAP32[(15876)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[3957]|0; + $43 = HEAP32[3959]|0; $44 = $43 << 2; - $45 = HEAP32[(15848)>>2]|0; + $45 = HEAP32[(15856)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[3635]|0; + $46 = HEAP32[3637]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[3637]|0; + $48 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15206,9 +15405,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=14408; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=14472; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4020]|0; + dest=$0; src=14416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=14480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4022]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15218,134 +15417,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[3933]|0; + $8 = HEAP32[3935]|0; $9 = ($8|0)>(0); - $10 = HEAP32[3945]|0; + $10 = HEAP32[3947]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[3957]|0; + $12 = HEAP32[3959]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[3657]|0; + $14 = HEAP32[3659]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=14472; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=14408; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=14480; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=14416; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(14656)>>2]|0; + $15 = HEAP32[(14664)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(14660)>>2]|0; + $17 = HEAP32[(14668)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(14672)>>2]|0; + $18 = HEAP32[(14680)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[3933]|0; + $19 = HEAP32[3935]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[3642]|0; + $21 = HEAP32[3644]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[3635]|0; + $22 = HEAP32[3637]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(15764)>>2]|0; + $26 = HEAP32[(15772)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(14632)>>2]|0; + $27 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(14632)>>2]|0; + $28 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(15768)>>2]|0; + $29 = HEAP32[(15776)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(14652)>>2]|0; + $30 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(14652)>>2]|0; + $31 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[3637]|0; - $25 = HEAP32[(15760)>>2]|0; + $24 = HEAP32[3639]|0; + $25 = HEAP32[(15768)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[3933]|0; + $32 = HEAP32[3935]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[3635]|0; + $33 = HEAP32[3637]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[3945]|0; + $35 = HEAP32[3947]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[3642]|0; + $37 = HEAP32[3644]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[3635]|0; + $38 = HEAP32[3637]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(15812)>>2]|0; + $42 = HEAP32[(15820)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(14632)>>2]|0; + $43 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(14632)>>2]|0; + $44 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(15816)>>2]|0; + $45 = HEAP32[(15824)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(14652)>>2]|0; + $46 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(14652)>>2]|0; + $47 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[3637]|0; - $41 = HEAP32[(15808)>>2]|0; + $40 = HEAP32[3639]|0; + $41 = HEAP32[(15816)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[3945]|0; + $48 = HEAP32[3947]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[3635]|0; + $49 = HEAP32[3637]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[3957]|0; + $51 = HEAP32[3959]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[3635]|0; + $53 = HEAP32[3637]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(15860)>>2]|0; + $57 = HEAP32[(15868)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(14632)>>2]|0; + $58 = HEAP32[(14640)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(14632)>>2]|0; + $59 = HEAP32[(14640)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(15864)>>2]|0; + $60 = HEAP32[(15872)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(14636)>>2]|0; + $61 = HEAP32[(14644)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(14636)>>2]|0; + $62 = HEAP32[(14644)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(15868)>>2]|0; + $63 = HEAP32[(15876)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(14652)>>2]|0; + $64 = HEAP32[(14660)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(14652)>>2]|0; + $65 = HEAP32[(14660)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(15872)>>2]|0; + $66 = HEAP32[(15880)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[3637]|0; - $56 = HEAP32[(15856)>>2]|0; + $55 = HEAP32[3639]|0; + $56 = HEAP32[(15864)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[3673]|0; + $67 = HEAP32[3675]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[3672]|0; + $71 = HEAP32[3674]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15356,14 +15555,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[3672]|0; + $80 = HEAP32[3674]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[3673]|0; + $87 = HEAP32[3675]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15372,7 +15571,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[3635]|0; + $69 = HEAP32[3637]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15380,10 +15579,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[3635]|0; + $89 = HEAP32[3637]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[3637]|0; + $91 = HEAP32[3639]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15395,22 +15594,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[3673] = 1; - $5 = HEAP32[3642]|0; - $6 = HEAP32[3672]|0; + HEAP32[3675] = 1; + $5 = HEAP32[3644]|0; + $6 = HEAP32[3674]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[3933] = 0; - HEAP32[(15740)>>2] = 0; - HEAP32[3945] = 0; - HEAP32[(15788)>>2] = 0; - HEAP32[3957] = 0; - HEAP32[(15832)>>2] = 0; - HEAP32[(15836)>>2] = 0; + HEAP32[3935] = 0; + HEAP32[(15748)>>2] = 0; + HEAP32[3947] = 0; + HEAP32[(15796)>>2] = 0; + HEAP32[3959] = 0; + HEAP32[(15840)>>2] = 0; + HEAP32[(15844)>>2] = 0; HEAPF32[744] = -1.0; - dest=14408; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=14472; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14416; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14480; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15425,17 +15624,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[3931]|0; + $5 = HEAP32[3933]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[3932]|0; + $9 = HEAP32[3934]|0; _rlViewport($7,0,$8,$9); - $10 = (16312 + ($0<<6)|0); + $10 = (16320 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (16184 + ($0<<6)|0); + $11 = (16192 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15447,14 +15646,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=14472; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14480; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=14408; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=14416; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15462,79 +15661,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4110]|0; + $0 = HEAP32[4112]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8225,$vararg_buffer); + _TraceLog(1,8239,$vararg_buffer); } - $2 = HEAP32[4110]|0; - $3 = (14700 + ($2<<6)|0); - $4 = HEAP32[3601]|0; + $2 = HEAP32[4112]|0; + $3 = (14708 + ($2<<6)|0); + $4 = HEAP32[3603]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4110]|0; + $5 = HEAP32[4112]|0; $6 = (($5) + 1)|0; - HEAP32[4110] = $6; - $7 = HEAP32[3634]|0; + HEAP32[4112] = $6; + $7 = HEAP32[3636]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4111] = 1; + HEAP32[4113] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4110]|0; + $0 = HEAP32[4112]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4110]|0; + $2 = HEAP32[4112]|0; $3 = (($2) + -1)|0; - $4 = (14700 + ($3<<6)|0); - $5 = HEAP32[3601]|0; + $4 = (14708 + ($3<<6)|0); + $5 = HEAP32[3603]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4110] = $6; - return; -} -function _Fade($0,$1,$2) { - $0 = $0|0; - $1 = $1|0; - $2 = +$2; - var $$0 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0, label = 0, sp = 0; - sp = STACKTOP; - $3 = $2 < 0.0; - if ($3) { - $$0 = 0.0; - } else { - $4 = $2 > 1.0; - if ($4) { - $$0 = 1.0; - } else { - $$0 = $2; - } - } - $5 = ((($1)) + 3|0); - $6 = HEAP8[$5>>0]|0; - $7 = (+($6&255)); - $8 = $$0 * $7; - $9 = HEAP8[$1>>0]|0; - HEAP8[$0>>0] = $9; - $10 = ((($0)) + 1|0); - $11 = ((($1)) + 1|0); - $12 = HEAP8[$11>>0]|0; - HEAP8[$10>>0] = $12; - $13 = ((($0)) + 2|0); - $14 = ((($1)) + 2|0); - $15 = HEAP8[$14>>0]|0; - HEAP8[$13>>0] = $15; - $16 = ((($0)) + 3|0); - $17 = (~~(($8))&255); - HEAP8[$16>>0] = $17; + HEAP32[4112] = $6; return; } function _rlTranslatef($0,$1,$2) { @@ -15550,7 +15713,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[3601]|0; + $5 = HEAP32[3603]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15583,7 +15746,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[3601]|0; + $11 = HEAP32[3603]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15594,7 +15757,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[3674] = $0; + HEAP32[3676] = $0; return; } function _rlEnd() { @@ -15610,21 +15773,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4111]|0; + $0 = HEAP32[4113]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4112]|0; + $2 = HEAP32[4114]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[3671]|0; + $6 = HEAP32[3673]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[3601]|0; + $8 = HEAP32[3603]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4112]|0; + $5 = HEAP32[4114]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15632,12 +15795,12 @@ function _rlEnd() { break; } } - HEAP32[4111] = 0; + HEAP32[4113] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[3671]|0; + $11 = HEAP32[3673]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15646,7 +15809,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4112]|0; + $19 = HEAP32[4114]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15656,15 +15819,15 @@ function _rlEnd() { } } } else { - HEAP32[4111] = 0; + HEAP32[4113] = 0; } - HEAP32[4112] = 0; + HEAP32[4114] = 0; } - $21 = HEAP32[3674]|0; + $21 = HEAP32[3676]|0; switch ($21|0) { case 1: { - $22 = HEAP32[3933]|0; - $23 = HEAP32[(15740)>>2]|0; + $22 = HEAP32[3935]|0; + $23 = HEAP32[(15748)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15683,16 +15846,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(15752)>>2]|0; - $28 = HEAP32[(15740)>>2]|0; + $27 = HEAP32[(15760)>>2]|0; + $28 = HEAP32[(15748)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(15752)>>2]|0; - $35 = HEAP32[(15740)>>2]|0; + $34 = HEAP32[(15760)>>2]|0; + $35 = HEAP32[(15748)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15700,8 +15863,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(15752)>>2]|0; - $43 = HEAP32[(15740)>>2]|0; + $42 = HEAP32[(15760)>>2]|0; + $43 = HEAP32[(15748)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15709,8 +15872,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(15752)>>2]|0; - $51 = HEAP32[(15740)>>2]|0; + $50 = HEAP32[(15760)>>2]|0; + $51 = HEAP32[(15748)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15718,9 +15881,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(15740)>>2]|0; + $58 = HEAP32[(15748)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(15740)>>2] = $59; + HEAP32[(15748)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15736,8 +15899,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[3945]|0; - $62 = HEAP32[(15788)>>2]|0; + $61 = HEAP32[3947]|0; + $62 = HEAP32[(15796)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15756,16 +15919,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(15800)>>2]|0; - $67 = HEAP32[(15788)>>2]|0; + $66 = HEAP32[(15808)>>2]|0; + $67 = HEAP32[(15796)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(15800)>>2]|0; - $74 = HEAP32[(15788)>>2]|0; + $73 = HEAP32[(15808)>>2]|0; + $74 = HEAP32[(15796)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15773,8 +15936,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(15800)>>2]|0; - $82 = HEAP32[(15788)>>2]|0; + $81 = HEAP32[(15808)>>2]|0; + $82 = HEAP32[(15796)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15782,8 +15945,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(15800)>>2]|0; - $90 = HEAP32[(15788)>>2]|0; + $89 = HEAP32[(15808)>>2]|0; + $90 = HEAP32[(15796)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15791,9 +15954,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(15788)>>2]|0; + $97 = HEAP32[(15796)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(15788)>>2] = $98; + HEAP32[(15796)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15809,8 +15972,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[3957]|0; - $101 = HEAP32[(15836)>>2]|0; + $100 = HEAP32[3959]|0; + $101 = HEAP32[(15844)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15818,16 +15981,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(15848)>>2]|0; - $106 = HEAP32[(15836)>>2]|0; + $105 = HEAP32[(15856)>>2]|0; + $106 = HEAP32[(15844)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(15848)>>2]|0; - $113 = HEAP32[(15836)>>2]|0; + $112 = HEAP32[(15856)>>2]|0; + $113 = HEAP32[(15844)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15835,8 +15998,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(15848)>>2]|0; - $121 = HEAP32[(15836)>>2]|0; + $120 = HEAP32[(15856)>>2]|0; + $121 = HEAP32[(15844)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15844,8 +16007,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(15848)>>2]|0; - $129 = HEAP32[(15836)>>2]|0; + $128 = HEAP32[(15856)>>2]|0; + $129 = HEAP32[(15844)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15853,9 +16016,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(15836)>>2]|0; + $136 = HEAP32[(15844)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(15836)>>2] = $137; + HEAP32[(15844)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -15866,8 +16029,8 @@ function _rlEnd() { } } } - $139 = HEAP32[3957]|0; - $140 = HEAP32[(15832)>>2]|0; + $139 = HEAP32[3959]|0; + $140 = HEAP32[(15840)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -15875,8 +16038,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(15844)>>2]|0; - $$promoted = HEAP32[(15832)>>2]|0; + $142 = HEAP32[(15852)>>2]|0; + $$promoted = HEAP32[(15840)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -15884,7 +16047,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(15832)>>2] = $147; + HEAP32[(15840)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -15911,11 +16074,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4111]|0; + $3 = HEAP32[4113]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[3671]|0; - $6 = HEAP32[4112]|0; + $5 = HEAP32[3673]|0; + $6 = HEAP32[4114]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -15923,16 +16086,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4112] = $10; + HEAP32[4114] = $10; STACKTOP = sp;return; } - $11 = HEAP32[3674]|0; + $11 = HEAP32[3676]|0; switch ($11|0) { case 1: { - $12 = HEAP32[3933]|0; + $12 = HEAP32[3935]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(15744)>>2]|0; + $14 = HEAP32[(15752)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -15943,19 +16106,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[3933] = $21; + HEAP32[3935] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8263,$vararg_buffer); + _TraceLog(1,8277,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[3945]|0; + $22 = HEAP32[3947]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(15792)>>2]|0; + $24 = HEAP32[(15800)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -15966,19 +16129,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[3945] = $31; + HEAP32[3947] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8288,$vararg_buffer1); + _TraceLog(1,8302,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[3957]|0; + $32 = HEAP32[3959]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(15840)>>2]|0; + $34 = HEAP32[(15848)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -15989,9 +16152,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[3957] = $41; - $42 = HEAP32[3672]|0; - $43 = HEAP32[3673]|0; + HEAP32[3959] = $41; + $42 = HEAP32[3674]|0; + $43 = HEAP32[3675]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -15999,7 +16162,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8317,$vararg_buffer3); + _TraceLog(1,8331,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16023,13 +16186,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[3674]|0; + $2 = HEAP32[3676]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(15844)>>2]|0; - $5 = HEAP32[(15832)>>2]|0; + $4 = HEAP32[(15852)>>2]|0; + $5 = HEAP32[(15840)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16037,7 +16200,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(15832)>>2] = $10; + HEAP32[(15840)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16056,18 +16219,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[3674]|0; + $4 = HEAP32[3676]|0; switch ($4|0) { case 1: { - $$sink37 = (15740);$$sink38 = (15752); + $$sink37 = (15748);$$sink38 = (15760); break; } case 4: { - $$sink37 = (15788);$$sink38 = (15800); + $$sink37 = (15796);$$sink38 = (15808); break; } case 7: { - $$sink37 = (15836);$$sink38 = (15848); + $$sink37 = (15844);$$sink38 = (15856); break; } default: { @@ -16106,8 +16269,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[3672]|0; - $2 = HEAP32[3673]|0; + $1 = HEAP32[3674]|0; + $2 = HEAP32[3675]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16120,9 +16283,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[3673] = $10; + HEAP32[3675] = $10; } - $11 = HEAP32[3673]|0; + $11 = HEAP32[3675]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16133,7 +16296,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3957]|0; + $0 = HEAP32[3959]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16155,11 +16318,11 @@ function _LoadImageRaw($0,$1,$2,$3,$4,$5) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $6 = (_fopen($1,8342)|0); + $6 = (_fopen($1,8356)|0); $7 = ($6|0)==(0|0); if ($7) { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,8345,$vararg_buffer); + _TraceLog(2,8359,$vararg_buffer); $$sroa$0$1 = 0;$$sroa$14$1 = 0;$$sroa$16$1 = 0;$$sroa$20$1 = 0; } else { $8 = ($5|0)>(0); @@ -16207,7 +16370,7 @@ function _LoadImageRaw($0,$1,$2,$3,$4,$5) { break; } default: { - _TraceLog(2,8385,$vararg_buffer1); + _TraceLog(2,8399,$vararg_buffer1); $$0 = $9;$$sroa$0$0 = 0; } } @@ -16215,7 +16378,7 @@ function _LoadImageRaw($0,$1,$2,$3,$4,$5) { $21 = ($20>>>0)<($$0>>>0); if ($21) { HEAP32[$vararg_buffer3>>2] = $1; - _TraceLog(2,8411,$vararg_buffer3); + _TraceLog(2,8425,$vararg_buffer3); $22 = ($$sroa$0$0|0)==(0|0); if ($22) { $$sroa$14$0 = 0;$$sroa$16$0 = 0;$$sroa$20$0 = 0; @@ -16244,7 +16407,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[14256>>2]|0;HEAP32[$0+4>>2]=HEAP32[14256+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14256+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14256+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14256+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14256+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14256+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14256+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[14264>>2]|0;HEAP32[$0+4>>2]=HEAP32[14264+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[14264+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[14264+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[14264+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[14264+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[14264+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[14264+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -16750,7 +16913,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8479)|0); + $12 = (_strstr($11,8493)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -16759,7 +16922,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8483)|0); + $17 = (_strstr($16,8497)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -16768,7 +16931,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8487)|0); + $22 = (_strstr($21,8501)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -16777,7 +16940,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8491)|0); + $27 = (_strstr($26,8505)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -16786,1210 +16949,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8497)|0); + $32 = (_strcmp($31,8511)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8535)|0); + $35 = (_strcmp($34,8549)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8554; + HEAP32[$3>>2] = 8568; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8567)|0); + $38 = (_strcmp($37,8581)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8588; + HEAP32[$3>>2] = 8602; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8603)|0); + $41 = (_strcmp($40,8617)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8618; + HEAP32[$3>>2] = 8632; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8633)|0); + $44 = (_strcmp($43,8647)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8648; + HEAP32[$3>>2] = 8662; } } else { - HEAP32[$3>>2] = 8519; + HEAP32[$3>>2] = 8533; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8663)|0); + $47 = (_strcmp($46,8677)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8677)|0); + $50 = (_strcmp($49,8691)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 2; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8689)|0); + $53 = (_strcmp($52,8703)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8703)|0); + $56 = (_strcmp($55,8717)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8715)|0); + $59 = (_strcmp($58,8729)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8729)|0); + $62 = (_strcmp($61,8743)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8743)|0); + $65 = (_strcmp($64,8757)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8760)|0); + $68 = (_strcmp($67,8774)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8783)|0); + $71 = (_strcmp($70,8797)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8809)|0); + $74 = (_strcmp($73,8823)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8822)|0); + $77 = (_strcmp($76,8836)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8838)|0); + $80 = (_strcmp($79,8852)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8851)|0); + $83 = (_strcmp($82,8865)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8865)|0); + $86 = (_strcmp($85,8879)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8885)|0); + $89 = (_strcmp($88,8899)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8905)|0); + $92 = (_strcmp($91,8919)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8922)|0); + $95 = (_strcmp($94,8936)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8939)|0); + $98 = (_strcmp($97,8953)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 3; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8951)|0); + $101 = (_strcmp($100,8965)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8964)|0); + $104 = (_strcmp($103,8978)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8980)|0); + $107 = (_strcmp($106,8994)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,9003)|0); + $110 = (_strcmp($109,9017)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,9016)|0); + $113 = (_strcmp($112,9030)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,9032)|0); + $116 = (_strcmp($115,9046)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 4; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,9043)|0); + $119 = (_strcmp($118,9057)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9062)|0); + $122 = (_strcmp($121,9076)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9084)|0); + $125 = (_strcmp($124,9098)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9103)|0); + $128 = (_strcmp($127,9117)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9132)|0); + $131 = (_strcmp($130,9146)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 5; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9149)|0); + $134 = (_strcmp($133,9163)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9164)|0); + $137 = (_strcmp($136,9178)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9179)|0); + $140 = (_strcmp($139,9193)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9200)|0); + $143 = (_strcmp($142,9214)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9220)|0); + $146 = (_strcmp($145,9234)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9240)|0); + $149 = (_strcmp($148,9254)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9266)|0); + $152 = (_strcmp($151,9280)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9285)|0); + $155 = (_strcmp($154,9299)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9297)|0); + $158 = (_strcmp($157,9311)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9309)|0); + $161 = (_strcmp($160,9323)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9321)|0); + $164 = (_strcmp($163,9335)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9333)|0); + $167 = (_strcmp($166,9347)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9345)|0); + $170 = (_strcmp($169,9359)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9357)|0); + $173 = (_strcmp($172,9371)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9369)|0); + $176 = (_strcmp($175,9383)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9381)|0); + $179 = (_strcmp($178,9395)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9394)|0); + $182 = (_strcmp($181,9408)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9407)|0); + $185 = (_strcmp($184,9421)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9420)|0); + $188 = (_strcmp($187,9434)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9433)|0); + $191 = (_strcmp($190,9447)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9446)|0); + $194 = (_strcmp($193,9460)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9459)|0); + $197 = (_strcmp($196,9473)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9472)|0); + $200 = (_strcmp($199,9486)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9485)|0); + $203 = (_strcmp($202,9499)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9504)|0); + $206 = (_strcmp($205,9518)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9523)|0); + $209 = (_strcmp($208,9537)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9542)|0); + $212 = (_strcmp($211,9556)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9555)|0); + $215 = (_strcmp($214,9569)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9573)|0); + $218 = (_strcmp($217,9587)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9591)|0); + $221 = (_strcmp($220,9605)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9609)|0); + $224 = (_strcmp($223,9623)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9627)|0); + $227 = (_strcmp($226,9641)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9647)|0); + $230 = (_strcmp($229,9661)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8588)|0); + $233 = (_strcmp($232,8602)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 6; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9665)|0); + $236 = (_strcmp($235,9679)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9680)|0); + $239 = (_strcmp($238,9694)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9701)|0); + $242 = (_strcmp($241,9715)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9716)|0); + $245 = (_strcmp($244,9730)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9734)|0); + $248 = (_strcmp($247,9748)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9750)|0); + $251 = (_strcmp($250,9764)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9769)|0); + $254 = (_strcmp($253,9783)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9783)|0); + $257 = (_strcmp($256,9797)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9798)|0); + $260 = (_strcmp($259,9812)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 7; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8519)|0); + $263 = (_strcmp($262,8533)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9809)|0); + $266 = (_strcmp($265,9823)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8618)|0); + $269 = (_strcmp($268,8632)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8648)|0); + $272 = (_strcmp($271,8662)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9825)|0); + $275 = (_strcmp($274,9839)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9852)|0); + $278 = (_strcmp($277,9866)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9866)|0); + $281 = (_strcmp($280,9880)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8554)|0); + $284 = (_strcmp($283,8568)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9886)|0); + $287 = (_strcmp($286,9900)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9904)|0); + $290 = (_strcmp($289,9918)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 8; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9916)|0); + $293 = (_strcmp($292,9930)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9937)|0); + $296 = (_strcmp($295,9951)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9955)|0); + $299 = (_strcmp($298,9969)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9973)|0); + $302 = (_strcmp($301,9987)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9994)|0); + $305 = (_strcmp($304,10008)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,10020)|0); + $308 = (_strcmp($307,10034)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,10043)|0); + $311 = (_strcmp($310,10057)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10081)|0); + $314 = (_strcmp($313,10095)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 9; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10097)|0); + $317 = (_strcmp($316,10111)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10112)|0); + $320 = (_strcmp($319,10126)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10135)|0); + $323 = (_strcmp($322,10149)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10148)|0); + $326 = (_strcmp($325,10162)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10162)|0); + $329 = (_strcmp($328,10176)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10176)|0); + $332 = (_strcmp($331,10190)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10196)|0); + $335 = (_strcmp($334,10210)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10216)|0); + $338 = (_strcmp($337,10230)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10232)|0); + $341 = (_strcmp($340,10246)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10250)|0); + $344 = (_strcmp($343,10264)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10266)|0); + $347 = (_strcmp($346,10280)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10281)|0); + $350 = (_strcmp($349,10295)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10303)|0); + $353 = (_strcmp($352,10317)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10321)|0); + $356 = (_strcmp($355,10335)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10342)|0); + $359 = (_strcmp($358,10356)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10360)|0); + $362 = (_strcmp($361,10374)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10373)|0); + $365 = (_strcmp($364,10387)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10388)|0); + $368 = (_strcmp($367,10402)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10402)|0); + $371 = (_strcmp($370,10416)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10412)|0); + $374 = (_strcmp($373,10426)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10422)|0); + $377 = (_strcmp($376,10436)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10444)|0); + $380 = (_strcmp($379,10458)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10470)|0); + $383 = (_strcmp($382,10484)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10497)|0); + $386 = (_strcmp($385,10511)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10510)|0); + $389 = (_strcmp($388,10524)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10525)|0); + $392 = (_strcmp($391,10539)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10540)|0); + $395 = (_strcmp($394,10554)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10564)|0); + $398 = (_strcmp($397,10578)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10575)|0); + $401 = (_strcmp($400,10589)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10597)|0); + $404 = (_strcmp($403,10611)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10619)|0); + $407 = (_strcmp($406,10633)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10643)|0); + $410 = (_strcmp($409,10657)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10652)|0); + $413 = (_strcmp($412,10666)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10660)|0); + $416 = (_strcmp($415,10674)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10673)|0); + $419 = (_strcmp($418,10687)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10687)|0); + $422 = (_strcmp($421,10701)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10699)|0); + $425 = (_strcmp($424,10713)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10708)|0); + $428 = (_strcmp($427,10722)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10718)|0); + $431 = (_strcmp($430,10732)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10730)|0); + $434 = (_strcmp($433,10744)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10741)|0); + $437 = (_strcmp($436,10755)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10749)|0); + $440 = (_strcmp($439,10763)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10761)|0); + $443 = (_strcmp($442,10775)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10776)|0); + $446 = (_strcmp($445,10790)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10788)|0); + $449 = (_strcmp($448,10802)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10802)|0); + $452 = (_strcmp($451,10816)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 10; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10827)|0); + $455 = (_strcmp($454,10841)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10844)|0); + $458 = (_strcmp($457,10858)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10860)|0); + $461 = (_strcmp($460,10874)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10876)|0); + $464 = (_strcmp($463,10890)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 11; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10888)|0); + $467 = (_strcmp($466,10902)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10900)|0); + $470 = (_strcmp($469,10914)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10924)|0); + $473 = (_strcmp($472,10938)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10937)|0); + $476 = (_strcmp($475,10951)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10951)|0); + $479 = (_strcmp($478,10965)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10973)|0); + $482 = (_strcmp($481,10987)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10980)|0); + $485 = (_strcmp($484,10994)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10996)|0); + $488 = (_strcmp($487,11010)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,11013)|0); + $491 = (_strcmp($490,11027)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,11030)|0); + $494 = (_strcmp($493,11044)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,11046)|0); + $497 = (_strcmp($496,11060)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11062)|0); + $500 = (_strcmp($499,11076)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11079)|0); + $503 = (_strcmp($502,11093)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11093)|0); + $506 = (_strcmp($505,11107)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11105)|0); + $509 = (_strcmp($508,11119)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11116)|0); + $512 = (_strcmp($511,11130)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11129)|0); + $515 = (_strcmp($514,11143)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11139)|0); + $518 = (_strcmp($517,11153)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11156)|0); + $521 = (_strcmp($520,11170)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11168)|0); + $524 = (_strcmp($523,11182)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11190)|0); + $527 = (_strcmp($526,11204)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11210)|0); + $530 = (_strcmp($529,11224)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11223)|0); + $533 = (_strcmp($532,11237)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11245)|0); + $536 = (_strcmp($535,11259)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11265)|0); + $539 = (_strcmp($538,11279)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11282)|0); + $542 = (_strcmp($541,11296)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11299)|0); + $545 = (_strcmp($544,11313)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11319)|0); + $548 = (_strcmp($547,11333)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -18011,7 +18174,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (16452|0); + return (16460|0); } function ___stdio_close($0) { $0 = $0|0; @@ -18875,7 +19038,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((11435 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((11449 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -19053,7 +19216,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 11899;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 11913;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -19074,7 +19237,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11899;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 11913;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -19082,8 +19245,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 11899 : (11901); - $$$ = $238 ? $$ : (11900); + $$ = $240 ? 11913 : (11915); + $$$ = $238 ? $$ : (11914); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -19100,7 +19263,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11899;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 11913;$242 = $167;$243 = $170; label = 66; break; } @@ -19113,7 +19276,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 11899;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 11913;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -19127,7 +19290,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11909; + $271 = $270 ? $269 : 11923; $$1 = $271; label = 71; break; @@ -19167,7 +19330,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 11899;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 11913;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -19189,8 +19352,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (11899 + ($208)|0); - $$289 = $or$cond283 ? 11899 : $209; + $209 = (11913 + ($208)|0); + $$289 = $or$cond283 ? 11913 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -19211,7 +19374,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 11899;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 11913;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -19741,7 +19904,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (11951 + ($7)|0); + $9 = (11965 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -20099,14 +20262,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 11916; + $$0471 = $14;$$0520 = 1;$$0521 = 11930; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (11917) : (11922); - $$$ = $16 ? $$ : (11919); + $$ = $18 ? (11931) : (11936); + $$$ = $16 ? $$ : (11933); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -20205,7 +20368,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (11951 + ($80)|0); + $81 = (11965 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -20816,7 +20979,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,11967,1); + _out($0,11981,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -20897,7 +21060,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,11967,1); + _out($0,11981,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -20954,9 +21117,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 11935 : 11939; + $29 = $28 ? 11949 : 11953; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 11943 : 11947; + $31 = $28 ? 11957 : 11961; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -21166,7 +21329,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (11969 + ($$016)|0); + $3 = (11983 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -21177,7 +21340,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 12057;$$115 = 87; + $$01214 = 12071;$$115 = 87; label = 5; break; } else { @@ -21187,9 +21350,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 12057; + $$012$lcssa = 12071; } else { - $$01214 = 12057;$$115 = $$016; + $$01214 = 12071;$$115 = $$016; label = 5; } } @@ -21852,7 +22015,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(13861,$3,4)|0); + $memchr = (_memchr(13875,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -21941,7 +22104,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(13861,$4,4)|0); + $memchr = (_memchr(13875,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -22032,7 +22195,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 2; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 1; - $38 = HEAP32[(16456)>>2]|0; + $38 = HEAP32[(16464)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -22065,13 +22228,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((16516|0)); - return (16524|0); + ___lock((16524|0)); + return (16532|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((16516|0)); + ___unlock((16524|0)); return; } function _fclose($0) { @@ -23071,7 +23234,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 14136; + $2 = 14144; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -23288,7 +23451,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4132]|0; + $3 = HEAP32[4134]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -23307,22 +23470,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4132] = 0; + HEAP32[4134] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4132] = $10; + HEAP32[4134] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4132] = 0; + HEAP32[4134] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4132] = $13; + HEAP32[4134] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -23403,7 +23566,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4133]|0; + $8 = HEAP32[4135]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -23412,7 +23575,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (16572 + ($15<<2)|0); + $16 = (16580 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -23423,9 +23586,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4133] = $24; + HEAP32[4135] = $24; } else { - $25 = HEAP32[(16548)>>2]|0; + $25 = HEAP32[(16556)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -23456,7 +23619,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(16540)>>2]|0; + $37 = HEAP32[(16548)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -23490,7 +23653,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (16572 + ($68<<2)|0); + $69 = (16580 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -23501,10 +23664,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4133] = $77; + HEAP32[4135] = $77; $98 = $77; } else { - $78 = HEAP32[(16548)>>2]|0; + $78 = HEAP32[(16556)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -23537,22 +23700,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(16552)>>2]|0; + $92 = HEAP32[(16560)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (16572 + ($94<<2)|0); + $95 = (16580 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4133] = $100; + HEAP32[4135] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(16548)>>2]|0; + $103 = HEAP32[(16556)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -23569,12 +23732,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(16540)>>2] = $84; - HEAP32[(16552)>>2] = $87; + HEAP32[(16548)>>2] = $84; + HEAP32[(16560)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(16536)>>2]|0; + $108 = HEAP32[(16544)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -23602,7 +23765,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (16836 + ($132<<2)|0); + $133 = (16844 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -23642,7 +23805,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(16548)>>2]|0; + $155 = HEAP32[(16556)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -23737,7 +23900,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (16836 + ($188<<2)|0); + $189 = (16844 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -23748,11 +23911,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(16536)>>2] = $194; + HEAP32[(16544)>>2] = $194; break L73; } } else { - $195 = HEAP32[(16548)>>2]|0; + $195 = HEAP32[(16556)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -23773,7 +23936,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(16548)>>2]|0; + $201 = HEAP32[(16556)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -23803,7 +23966,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(16548)>>2]|0; + $213 = HEAP32[(16556)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -23840,22 +24003,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(16552)>>2]|0; + $231 = HEAP32[(16560)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (16572 + ($233<<2)|0); + $234 = (16580 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4133] = $238; + HEAP32[4135] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(16548)>>2]|0; + $241 = HEAP32[(16556)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -23872,8 +24035,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(16540)>>2] = $$0193$lcssa$i; - HEAP32[(16552)>>2] = $157; + HEAP32[(16548)>>2] = $$0193$lcssa$i; + HEAP32[(16560)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -23889,7 +24052,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(16536)>>2]|0; + $250 = HEAP32[(16544)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -23929,7 +24092,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (16836 + ($$0358$i<<2)|0); + $278 = (16844 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -24021,7 +24184,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (16836 + ($330<<2)|0); + $331 = (16844 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -24065,11 +24228,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(16540)>>2]|0; + $345 = HEAP32[(16548)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(16548)>>2]|0; + $348 = HEAP32[(16556)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -24166,7 +24329,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (16836 + ($381<<2)|0); + $382 = (16844 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -24177,12 +24340,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(16536)>>2] = $387; + HEAP32[(16544)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(16548)>>2]|0; + $388 = HEAP32[(16556)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -24204,7 +24367,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(16548)>>2]|0; + $394 = HEAP32[(16556)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -24236,7 +24399,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(16548)>>2]|0; + $406 = HEAP32[(16556)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -24277,20 +24440,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (16572 + ($425<<2)|0); - $427 = HEAP32[4133]|0; + $426 = (16580 + ($425<<2)|0); + $427 = HEAP32[4135]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4133] = $431; + HEAP32[4135] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(16548)>>2]|0; + $434 = HEAP32[(16556)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -24342,7 +24505,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (16836 + ($$0361$i<<2)|0); + $464 = (16844 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -24354,7 +24517,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(16536)>>2] = $472; + HEAP32[(16544)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -24393,7 +24556,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(16548)>>2]|0; + $491 = HEAP32[(16556)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -24412,7 +24575,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(16548)>>2]|0; + $498 = HEAP32[(16556)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -24445,16 +24608,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(16540)>>2]|0; + $506 = HEAP32[(16548)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(16552)>>2]|0; + $509 = HEAP32[(16560)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(16552)>>2] = $511; - HEAP32[(16540)>>2] = $508; + HEAP32[(16560)>>2] = $511; + HEAP32[(16548)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -24464,8 +24627,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(16540)>>2] = 0; - HEAP32[(16552)>>2] = 0; + HEAP32[(16548)>>2] = 0; + HEAP32[(16560)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -24479,14 +24642,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(16544)>>2]|0; + $524 = HEAP32[(16552)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(16544)>>2] = $526; - $527 = HEAP32[(16556)>>2]|0; + HEAP32[(16552)>>2] = $526; + $527 = HEAP32[(16564)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(16556)>>2] = $528; + HEAP32[(16564)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -24497,23 +24660,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4251]|0; + $534 = HEAP32[4253]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(17012)>>2] = 4096; - HEAP32[(17008)>>2] = 4096; - HEAP32[(17016)>>2] = -1; - HEAP32[(17020)>>2] = -1; - HEAP32[(17024)>>2] = 0; - HEAP32[(16976)>>2] = 0; + HEAP32[(17020)>>2] = 4096; + HEAP32[(17016)>>2] = 4096; + HEAP32[(17024)>>2] = -1; + HEAP32[(17028)>>2] = -1; + HEAP32[(17032)>>2] = 0; + HEAP32[(16984)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4251] = $538; + HEAP32[4253] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(17012)>>2]|0; + $$pre$i212 = HEAP32[(17020)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -24526,10 +24689,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(16972)>>2]|0; + $546 = HEAP32[(16980)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(16964)>>2]|0; + $548 = HEAP32[(16972)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -24539,18 +24702,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(16976)>>2]|0; + $552 = HEAP32[(16984)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(16556)>>2]|0; + $555 = HEAP32[(16564)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (16980); + $$0$i$i = (16988); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -24608,7 +24771,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(17008)>>2]|0; + $569 = HEAP32[(17016)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -24618,13 +24781,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(16964)>>2]|0; + $578 = HEAP32[(16972)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(16972)>>2]|0; + $582 = HEAP32[(16980)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -24670,7 +24833,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(17012)>>2]|0; + $601 = HEAP32[(17020)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -24695,9 +24858,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(16976)>>2]|0; + $611 = HEAP32[(16984)>>2]|0; $612 = $611 | 4; - HEAP32[(16976)>>2] = $612; + HEAP32[(16984)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -24733,35 +24896,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(16964)>>2]|0; + $626 = HEAP32[(16972)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(16964)>>2] = $627; - $628 = HEAP32[(16968)>>2]|0; + HEAP32[(16972)>>2] = $627; + $628 = HEAP32[(16976)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(16968)>>2] = $627; + HEAP32[(16976)>>2] = $627; } - $630 = HEAP32[(16556)>>2]|0; + $630 = HEAP32[(16564)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(16548)>>2]|0; + $632 = HEAP32[(16556)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(16548)>>2] = $$749$i; - } - HEAP32[(16980)>>2] = $$749$i; - HEAP32[(16984)>>2] = $$723948$i; - HEAP32[(16992)>>2] = 0; - $635 = HEAP32[4251]|0; - HEAP32[(16568)>>2] = $635; - HEAP32[(16564)>>2] = -1; + HEAP32[(16556)>>2] = $$749$i; + } + HEAP32[(16988)>>2] = $$749$i; + HEAP32[(16992)>>2] = $$723948$i; + HEAP32[(17000)>>2] = 0; + $635 = HEAP32[4253]|0; + HEAP32[(16576)>>2] = $635; + HEAP32[(16572)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (16572 + ($636<<2)|0); + $637 = (16580 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -24784,18 +24947,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(16556)>>2] = $649; - HEAP32[(16544)>>2] = $650; + HEAP32[(16564)>>2] = $649; + HEAP32[(16552)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(17020)>>2]|0; - HEAP32[(16560)>>2] = $655; + $655 = HEAP32[(17028)>>2]|0; + HEAP32[(16568)>>2] = $655; } else { - $$024371$i = (16980); + $$024371$i = (16988); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -24827,7 +24990,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(16544)>>2]|0; + $671 = HEAP32[(16552)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -24838,30 +25001,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(16556)>>2] = $679; - HEAP32[(16544)>>2] = $681; + HEAP32[(16564)>>2] = $679; + HEAP32[(16552)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(17020)>>2]|0; - HEAP32[(16560)>>2] = $686; + $686 = HEAP32[(17028)>>2]|0; + HEAP32[(16568)>>2] = $686; break; } } } - $687 = HEAP32[(16548)>>2]|0; + $687 = HEAP32[(16556)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(16548)>>2] = $$749$i; + HEAP32[(16556)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (16980); + $$124470$i = (16988); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -24916,21 +25079,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(16544)>>2]|0; + $726 = HEAP32[(16552)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(16544)>>2] = $727; - HEAP32[(16556)>>2] = $721; + HEAP32[(16552)>>2] = $727; + HEAP32[(16564)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(16552)>>2]|0; + $730 = HEAP32[(16560)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(16540)>>2]|0; + $732 = HEAP32[(16548)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(16540)>>2] = $733; - HEAP32[(16552)>>2] = $721; + HEAP32[(16548)>>2] = $733; + HEAP32[(16560)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -24953,7 +25116,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (16572 + ($748<<2)|0); + $749 = (16580 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -24976,9 +25139,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4133]|0; + $759 = HEAP32[4135]|0; $760 = $759 & $758; - HEAP32[4133] = $760; + HEAP32[4135] = $760; break; } $761 = ($747|0)==($749|0); @@ -25091,7 +25254,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (16836 + ($796<<2)|0); + $797 = (16844 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -25103,12 +25266,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(16536)>>2]|0; + $802 = HEAP32[(16544)>>2]|0; $803 = $802 & $801; - HEAP32[(16536)>>2] = $803; + HEAP32[(16544)>>2] = $803; break L314; } else { - $804 = HEAP32[(16548)>>2]|0; + $804 = HEAP32[(16556)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -25129,7 +25292,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(16548)>>2]|0; + $810 = HEAP32[(16556)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -25161,7 +25324,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(16548)>>2]|0; + $822 = HEAP32[(16556)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -25194,21 +25357,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (16572 + ($836<<2)|0); - $838 = HEAP32[4133]|0; + $837 = (16580 + ($836<<2)|0); + $838 = HEAP32[4135]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4133] = $842; + HEAP32[4135] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(16548)>>2]|0; + $845 = HEAP32[(16556)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -25263,20 +25426,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (16836 + ($$0296$i$i<<2)|0); + $875 = (16844 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(16536)>>2]|0; + $879 = HEAP32[(16544)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(16536)>>2] = $883; + HEAP32[(16544)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -25315,7 +25478,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(16548)>>2]|0; + $902 = HEAP32[(16556)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -25334,7 +25497,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(16548)>>2]|0; + $909 = HEAP32[(16556)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -25361,7 +25524,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (16980); + $$0$i$i$i = (16988); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -25402,23 +25565,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(16556)>>2] = $946; - HEAP32[(16544)>>2] = $947; + HEAP32[(16564)>>2] = $946; + HEAP32[(16552)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(17020)>>2]|0; - HEAP32[(16560)>>2] = $952; + $952 = HEAP32[(17028)>>2]|0; + HEAP32[(16568)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(16980)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16980)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16980)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16980)+12>>2]|0; - HEAP32[(16980)>>2] = $$749$i; - HEAP32[(16984)>>2] = $$723948$i; - HEAP32[(16992)>>2] = 0; - HEAP32[(16988)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(16988)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(16988)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(16988)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(16988)+12>>2]|0; + HEAP32[(16988)>>2] = $$749$i; + HEAP32[(16992)>>2] = $$723948$i; + HEAP32[(17000)>>2] = 0; + HEAP32[(16996)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -25447,20 +25610,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (16572 + ($968<<2)|0); - $970 = HEAP32[4133]|0; + $969 = (16580 + ($968<<2)|0); + $970 = HEAP32[4135]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4133] = $974; + HEAP32[4135] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(16548)>>2]|0; + $977 = HEAP32[(16556)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -25512,19 +25675,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (16836 + ($$0212$i$i<<2)|0); + $1007 = (16844 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(16536)>>2]|0; + $1010 = HEAP32[(16544)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(16536)>>2] = $1014; + HEAP32[(16544)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -25563,7 +25726,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(16548)>>2]|0; + $1033 = HEAP32[(16556)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -25582,7 +25745,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(16548)>>2]|0; + $1040 = HEAP32[(16556)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -25605,14 +25768,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(16544)>>2]|0; + $1048 = HEAP32[(16552)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(16544)>>2] = $1050; - $1051 = HEAP32[(16556)>>2]|0; + HEAP32[(16552)>>2] = $1050; + $1051 = HEAP32[(16564)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(16556)>>2] = $1052; + HEAP32[(16564)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -25655,7 +25818,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(16548)>>2]|0; + $3 = HEAP32[(16556)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -25688,7 +25851,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(16552)>>2]|0; + $19 = HEAP32[(16560)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -25703,7 +25866,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(16540)>>2] = $17; + HEAP32[(16548)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -25717,7 +25880,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (16572 + ($27<<2)|0); + $28 = (16580 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -25737,9 +25900,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4133]|0; + $37 = HEAP32[4135]|0; $38 = $37 & $36; - HEAP32[4133] = $38; + HEAP32[4135] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -25853,7 +26016,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (16836 + ($74<<2)|0); + $75 = (16844 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -25863,14 +26026,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(16536)>>2]|0; + $80 = HEAP32[(16544)>>2]|0; $81 = $80 & $79; - HEAP32[(16536)>>2] = $81; + HEAP32[(16544)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(16548)>>2]|0; + $82 = HEAP32[(16556)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -25892,7 +26055,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(16548)>>2]|0; + $88 = HEAP32[(16556)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -25924,7 +26087,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(16548)>>2]|0; + $100 = HEAP32[(16556)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -25959,14 +26122,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(16556)>>2]|0; + $120 = HEAP32[(16564)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(16552)>>2]|0; + $122 = HEAP32[(16560)>>2]|0; if ($121) { - $123 = HEAP32[(16544)>>2]|0; + $123 = HEAP32[(16552)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(16544)>>2] = $124; - HEAP32[(16556)>>2] = $$1; + HEAP32[(16552)>>2] = $124; + HEAP32[(16564)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -25974,16 +26137,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(16552)>>2] = 0; - HEAP32[(16540)>>2] = 0; + HEAP32[(16560)>>2] = 0; + HEAP32[(16548)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(16540)>>2]|0; + $129 = HEAP32[(16548)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(16540)>>2] = $130; - HEAP32[(16552)>>2] = $113; + HEAP32[(16548)>>2] = $130; + HEAP32[(16560)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -26002,10 +26165,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (16572 + ($142<<2)|0); + $143 = (16580 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(16548)>>2]|0; + $145 = HEAP32[(16556)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -26023,9 +26186,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4133]|0; + $153 = HEAP32[4135]|0; $154 = $153 & $152; - HEAP32[4133] = $154; + HEAP32[4135] = $154; break; } $155 = ($141|0)==($143|0); @@ -26033,7 +26196,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(16548)>>2]|0; + $156 = HEAP32[(16556)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -26093,7 +26256,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(16548)>>2]|0; + $189 = HEAP32[(16556)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -26106,7 +26269,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(16548)>>2]|0; + $169 = HEAP32[(16556)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -26137,7 +26300,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (16836 + ($193<<2)|0); + $194 = (16844 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -26147,13 +26310,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(16536)>>2]|0; + $199 = HEAP32[(16544)>>2]|0; $200 = $199 & $198; - HEAP32[(16536)>>2] = $200; + HEAP32[(16544)>>2] = $200; break L108; } } else { - $201 = HEAP32[(16548)>>2]|0; + $201 = HEAP32[(16556)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -26174,7 +26337,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(16548)>>2]|0; + $207 = HEAP32[(16556)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -26204,7 +26367,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(16548)>>2]|0; + $219 = HEAP32[(16556)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -26225,10 +26388,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(16552)>>2]|0; + $226 = HEAP32[(16560)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(16540)>>2] = $135; + HEAP32[(16548)>>2] = $135; return; } else { $$2 = $135; @@ -26247,20 +26410,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (16572 + ($234<<2)|0); - $236 = HEAP32[4133]|0; + $235 = (16580 + ($234<<2)|0); + $236 = HEAP32[4135]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4133] = $240; + HEAP32[4135] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(16548)>>2]|0; + $243 = HEAP32[(16556)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -26312,21 +26475,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (16836 + ($$0396<<2)|0); + $273 = (16844 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(16536)>>2]|0; + $277 = HEAP32[(16544)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(16536)>>2] = $281; + HEAP32[(16544)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -26364,7 +26527,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(16548)>>2]|0; + $300 = HEAP32[(16556)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -26383,7 +26546,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(16548)>>2]|0; + $307 = HEAP32[(16556)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -26405,12 +26568,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(16564)>>2]|0; + $314 = HEAP32[(16572)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(16564)>>2] = $315; + HEAP32[(16572)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (16988); + $$0212$in$i = (16996); } else { return; } @@ -26424,7 +26587,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(16564)>>2] = -1; + HEAP32[(16572)>>2] = -1; return; } function runPostSets() { diff --git a/docs/examples/web/textures/textures_raw_data.png b/docs/examples/web/textures/textures_raw_data.png new file mode 100644 index 00000000..437e4b53 Binary files /dev/null and b/docs/examples/web/textures/textures_raw_data.png differ diff --git a/docs/examples/web/textures/textures_rectangle.js b/docs/examples/web/textures/textures_rectangle.js index 485e060b..5b95253d 100644 --- a/docs/examples/web/textures/textures_rectangle.js +++ b/docs/examples/web/textures/textures_rectangle.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "26de1d30-fe2a-4f31-8806-8693a306a224"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "2c36642a-d4b3-4f40-8393-df3b156c7d70"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22224; +STATICTOP = STATIC_BASE + 22208; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,199,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,114,101,99,116,97,110,103,108,101,0,114,101,115,111,117,114,99,101,115,47,115,99,97,114,102,121,46,112,110,103,0,70,82,65,77,69,32,83,80,69,69,68,58,32,0,37,48,50,105,32,70,80,83,0,80,82,69,83,83,32,82,73,71,72,84,47,76,69,70,84,32,75,69,89,83,32,116,111,32,67,72,65,78,71,69,32,83,80,69,69,68,33,0,40,99,41,32,83,99,97,114,102,121,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,183,82,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,114,101,99,116,97,110,103,108,101,0,114,101,115,111,117,114,99,101,115,47,115,99,97,114,102,121,46,112,110,103,0,70,82,65,77,69,32,83,80,69,69,68,58,32,0,37,48,50,105,32,70,80,83,0,80,82,69,83,83,32,82,73,71,72,84,47,76,69,70,84,32,75,69,89,83,32,116,111,32,67,72,65,78,71,69,32,83,80,69,69,68,33,0,40,99,41,32,83,99,97,114,102,121,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10470,18 +10470,18 @@ function _main() { $2 = HEAP32[3]|0; _InitWindow($1,$2,4124); _LoadTexture($0,4169); - ;HEAP32[16608>>2]=HEAP32[$0>>2]|0;HEAP32[16608+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16608+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16608+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16608+16>>2]=HEAP32[$0+16>>2]|0; - HEAPF32[4157] = 350.0; - HEAPF32[(16632)>>2] = 280.0; - $3 = HEAP32[(16612)>>2]|0; + ;HEAP32[16912>>2]=HEAP32[$0>>2]|0;HEAP32[16912+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16912+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16912+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16912+16>>2]=HEAP32[$0+16>>2]|0; + HEAPF32[4233] = 350.0; + HEAPF32[(16936)>>2] = 280.0; + $3 = HEAP32[(16916)>>2]|0; $4 = (($3|0) / 6)&-1; - $5 = HEAP32[(16616)>>2]|0; - HEAP32[4159] = 0; - HEAP32[(16640)>>2] = 0; - HEAP32[(16644)>>2] = $4; - HEAP32[(16648)>>2] = $5; + $5 = HEAP32[(16920)>>2]|0; + HEAP32[4235] = 0; + HEAP32[(16944)>>2] = 0; + HEAP32[(16948)>>2] = $4; + HEAP32[(16952)>>2] = $5; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16608>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16608+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16608+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16608+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16608+16>>2]|0; + ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16912>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16912+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16912+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16912+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16912+16>>2]|0; _UnloadTexture($scarfy$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; @@ -10509,23 +10509,23 @@ function _UpdateDrawFrame() { $8 = sp + 68|0; $9 = sp + 16|0; $10 = sp + 64|0; - $11 = HEAP32[4151]|0; + $11 = HEAP32[4227]|0; $12 = (($11) + 1)|0; - HEAP32[4151] = $12; + HEAP32[4227] = $12; $13 = HEAP32[4]|0; $14 = (60 / ($13|0))&-1; $15 = ($12|0)<($14|0); if (!($15)) { - HEAP32[4151] = 0; - $16 = HEAP32[4150]|0; + HEAP32[4227] = 0; + $16 = HEAP32[4226]|0; $17 = (($16) + 1)|0; $18 = ($16|0)>(4); $$ = $18 ? 0 : $17; - HEAP32[4150] = $$; - $19 = HEAP32[(16612)>>2]|0; + HEAP32[4226] = $$; + $19 = HEAP32[(16916)>>2]|0; $20 = Math_imul($$, $19)|0; $21 = (($20|0) / 6)&-1; - HEAP32[4159] = $21; + HEAP32[4235] = $21; } $22 = (_IsKeyPressed(262)|0); $23 = ($22|0)==(0); @@ -10574,11 +10574,11 @@ function _UpdateDrawFrame() { ;HEAP8[$$byval_copy9>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$0+3>>0]|0; _ClearBackground($$byval_copy9); HEAP32[$1>>2] = -1; - ;HEAP32[$position$byval_copy>>2]=HEAP32[16608>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16608+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[16608+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[16608+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[16608+16>>2]|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[16912>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16912+4>>2]|0;HEAP32[$position$byval_copy+8>>2]=HEAP32[16912+8>>2]|0;HEAP32[$position$byval_copy+12>>2]=HEAP32[16912+12>>2]|0;HEAP32[$position$byval_copy+16>>2]=HEAP32[16912+16>>2]|0; ;HEAP8[$$byval_copy9>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($position$byval_copy,15,40,$$byval_copy9); - $34 = HEAP32[(16612)>>2]|0; - $35 = HEAP32[(16616)>>2]|0; + $34 = HEAP32[(16916)>>2]|0; + $35 = HEAP32[(16920)>>2]|0; HEAP8[$2>>0] = 0; $36 = ((($2)) + 1|0); HEAP8[$36>>0] = -98; @@ -10588,12 +10588,12 @@ function _UpdateDrawFrame() { HEAP8[$38>>0] = -1; ;HEAP8[$$byval_copy9>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$2+3>>0]|0; _DrawRectangleLines(15,40,$34,$35,$$byval_copy9); - $39 = HEAP32[4159]|0; + $39 = HEAP32[4235]|0; $40 = (($39) + 15)|0; - $41 = HEAP32[(16640)>>2]|0; + $41 = HEAP32[(16944)>>2]|0; $42 = (($41) + 40)|0; - $43 = HEAP32[(16644)>>2]|0; - $44 = HEAP32[(16648)>>2]|0; + $43 = HEAP32[(16948)>>2]|0; + $44 = HEAP32[(16952)>>2]|0; HEAP8[$3>>0] = -26; $45 = ((($3)) + 1|0); HEAP8[$45>>0] = 41; @@ -10668,9 +10668,9 @@ function _UpdateDrawFrame() { } } HEAP32[$9>>2] = -1; - ;HEAP32[$scarfy$byval_copy6>>2]=HEAP32[16608>>2]|0;HEAP32[$scarfy$byval_copy6+4>>2]=HEAP32[16608+4>>2]|0;HEAP32[$scarfy$byval_copy6+8>>2]=HEAP32[16608+8>>2]|0;HEAP32[$scarfy$byval_copy6+12>>2]=HEAP32[16608+12>>2]|0;HEAP32[$scarfy$byval_copy6+16>>2]=HEAP32[16608+16>>2]|0; - ;HEAP32[$frameRec$byval_copy>>2]=HEAP32[16636>>2]|0;HEAP32[$frameRec$byval_copy+4>>2]=HEAP32[16636+4>>2]|0;HEAP32[$frameRec$byval_copy+8>>2]=HEAP32[16636+8>>2]|0;HEAP32[$frameRec$byval_copy+12>>2]=HEAP32[16636+12>>2]|0; - ;HEAP32[$position$byval_copy>>2]=HEAP32[16628>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16628+4>>2]|0; + ;HEAP32[$scarfy$byval_copy6>>2]=HEAP32[16912>>2]|0;HEAP32[$scarfy$byval_copy6+4>>2]=HEAP32[16912+4>>2]|0;HEAP32[$scarfy$byval_copy6+8>>2]=HEAP32[16912+8>>2]|0;HEAP32[$scarfy$byval_copy6+12>>2]=HEAP32[16912+12>>2]|0;HEAP32[$scarfy$byval_copy6+16>>2]=HEAP32[16912+16>>2]|0; + ;HEAP32[$frameRec$byval_copy>>2]=HEAP32[16940>>2]|0;HEAP32[$frameRec$byval_copy+4>>2]=HEAP32[16940+4>>2]|0;HEAP32[$frameRec$byval_copy+8>>2]=HEAP32[16940+8>>2]|0;HEAP32[$frameRec$byval_copy+12>>2]=HEAP32[16940+12>>2]|0; + ;HEAP32[$position$byval_copy>>2]=HEAP32[16932>>2]|0;HEAP32[$position$byval_copy+4>>2]=HEAP32[16932+4>>2]|0; ;HEAP8[$$byval_copy9>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy9+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy9+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy9+3>>0]=HEAP8[$9+3>>0]|0; _DrawTextureRec($scarfy$byval_copy6,$frameRec$byval_copy,$position$byval_copy,$$byval_copy9); $65 = HEAP32[2]|0; @@ -10689,6 +10689,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10788,13 +10838,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11404,7 +11447,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4164] = $2; + HEAP32[4240] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11417,7 +11460,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16328; + $95 = 16632; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11430,48 +11473,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16368; + $106 = 16672; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4092]; - $111 = +HEAPF32[4082]; + $110 = +HEAPF32[4168]; + $111 = +HEAPF32[4158]; $112 = $110 - $111; - HEAPF32[4094] = $112; - $113 = +HEAPF32[(16372)>>2]; - $114 = +HEAPF32[(16332)>>2]; + HEAPF32[4170] = $112; + $113 = +HEAPF32[(16676)>>2]; + $114 = +HEAPF32[(16636)>>2]; $115 = $113 - $114; - HEAPF32[(16380)>>2] = $115; - HEAP32[4163] = 4; + HEAPF32[(16684)>>2] = $115; + HEAP32[4239] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16360+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16664+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4169] = $116; - $117 = 16360; + HEAPF32[4245] = $116; + $117 = 16664; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16328; + $123 = 16632; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16384; + $127 = 16688; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16368; + $133 = 16672; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11484,7 +11527,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16360; + $144 = 16664; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11497,27 +11540,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16384; + $155 = 16688; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4096]; - $160 = +HEAPF32[4090]; + $159 = +HEAPF32[4172]; + $160 = +HEAPF32[4166]; $161 = $159 - $160; - HEAPF32[4094] = $161; - $162 = +HEAPF32[(16388)>>2]; - $163 = +HEAPF32[(16364)>>2]; + HEAPF32[4170] = $161; + $162 = +HEAPF32[(16692)>>2]; + $163 = +HEAPF32[(16668)>>2]; $164 = $162 - $163; - HEAPF32[(16380)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + HEAPF32[(16684)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16368>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16368+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16672>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16672+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11529,31 +11572,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16360+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16664+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4169]; + $170 = +HEAPF32[4245]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4163] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16360+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16384>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16384+4>>2]|0; + HEAP32[4239] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16664+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16688>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16688+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4170] = $174; + HEAPF32[4246] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4169] = 0.0; + HEAPF32[4245] = 0.0; + HEAPF32[4246] = 0.0; HEAPF32[4170] = 0.0; - HEAPF32[4094] = 0.0; - HEAPF32[(16380)>>2] = 0.0; - HEAP32[4164] = 0; - HEAP32[4163] = 0; + HEAPF32[(16684)>>2] = 0.0; + HEAP32[4240] = 0; + HEAP32[4239] = 0; STACKTOP = sp;return; break; } @@ -11563,22 +11606,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4165]|0; + $6 = HEAP32[4241]|0; $7 = (($6) + 1)|0; - HEAP32[4165] = $7; - $8 = HEAP32[4163]|0; + HEAP32[4241] = $7; + $8 = HEAP32[4239]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4163] = 2; - HEAP32[4165] = 0; + HEAP32[4239] = 2; + HEAP32[4241] = 0; } else { label = 6; } @@ -11586,8 +11629,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4165] = 1; - HEAP32[4163] = 1; + HEAP32[4241] = 1; + HEAP32[4239] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11596,19 +11639,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16328; + $21 = 16632; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16336; + $25 = 16640; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16344; + $29 = 16648; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11617,13 +11660,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[5] = $34; - HEAPF32[4088] = 0.0; - HEAPF32[(16356)>>2] = 0.0; + HEAPF32[4164] = 0.0; + HEAPF32[(16660)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4163]|0; + $35 = HEAP32[4239]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11633,19 +11676,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16344; + $44 = 16648; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4166] = $49; - HEAP32[4167] = 0; + HEAPF32[4242] = $49; + HEAP32[4243] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[5]|0; @@ -11653,11 +11696,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16344>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16344+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16648>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16648+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4168] = $56; + HEAPF32[4244] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11688,22 +11731,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4166] = 0.0; - HEAPF32[4168] = 0.0; + HEAPF32[4242] = 0.0; + HEAPF32[4244] = 0.0; $$sink10 = 0; } - HEAP32[4163] = $$sink10; - HEAPF32[4084] = 0.0; - HEAPF32[(16340)>>2] = 0.0; - HEAP32[4164] = 0; + HEAP32[4239] = $$sink10; + HEAPF32[4160] = 0.0; + HEAPF32[(16644)>>2] = 0.0; + HEAP32[4240] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4167]|0; + $65 = HEAP32[4243]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4167] = 1; + HEAP32[4243] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11712,31 +11755,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16360; + $74 = 16664; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4163]|0; + $78 = HEAP32[4239]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16328>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16328+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16360>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16360+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16632>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16632+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16664>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16664+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4163] = 8; + HEAP32[4239] = 8; } } - $82 = +HEAPF32[4090]; - $83 = +HEAPF32[4084]; + $82 = +HEAPF32[4166]; + $83 = +HEAPF32[4160]; $84 = $82 - $83; - HEAPF32[4088] = $84; - $85 = +HEAPF32[(16364)>>2]; - $86 = +HEAPF32[(16340)>>2]; + HEAPF32[4164] = $84; + $85 = +HEAPF32[(16668)>>2]; + $86 = +HEAPF32[(16644)>>2]; $87 = $85 - $86; - HEAPF32[(16356)>>2] = $87; + HEAPF32[(16660)>>2] = $87; STACKTOP = sp;return; break; } @@ -11745,58 +11788,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4163]|0; + $0 = HEAP32[4239]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4164]|0; + $2 = HEAP32[4240]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4163] = 4; + HEAP32[4239] = 4; } - $4 = HEAP32[4163]|0; + $4 = HEAP32[4239]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11809,14 +11813,14 @@ function _UpdateGestures() { return; } } - HEAP32[4163] = 0; + HEAP32[4239] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16392; + $1 = 16696; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11833,13 +11837,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4173]|0; + $0 = HEAP32[4249]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4172]|0; + $0 = HEAP32[4248]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11851,7 +11855,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4286,$vararg_buffer); - HEAP32[4175] = $2; + HEAP32[4251] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11864,15 +11868,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4315|0),(0|0),1,(8|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(9|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(9|0))|0); - $3 = HEAP32[4173]|0; + $3 = HEAP32[4249]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4098] = $5; - $6 = HEAP32[4172]|0; + HEAPF32[4174] = $5; + $6 = HEAP32[4248]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16396)>>2] = $8; - $9 = HEAP32[4176]|0; + HEAPF32[(16700)>>2] = $8; + $9 = HEAP32[4252]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11891,11 +11895,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16432>>0]=HEAP8[8815>>0]|0;HEAP8[16432+1>>0]=HEAP8[8815+1>>0]|0;HEAP8[16432+2>>0]=HEAP8[8815+2>>0]|0;HEAP8[16432+3>>0]=HEAP8[8815+3>>0]|0;HEAP8[16432+4>>0]=HEAP8[8815+4>>0]|0;HEAP8[16432+5>>0]=HEAP8[8815+5>>0]|0;HEAP8[16432+6>>0]=HEAP8[8815+6>>0]|0; + ;HEAP8[16736>>0]=HEAP8[8815>>0]|0;HEAP8[16736+1>>0]=HEAP8[8815+1>>0]|0;HEAP8[16736+2>>0]=HEAP8[8815+2>>0]|0;HEAP8[16736+3>>0]=HEAP8[8815+3>>0]|0;HEAP8[16736+4>>0]=HEAP8[8815+4>>0]|0;HEAP8[16736+5>>0]=HEAP8[8815+5>>0]|0;HEAP8[16736+6>>0]=HEAP8[8815+6>>0]|0; break; } case 1: { - $3 = 16432; + $3 = 16736; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11904,11 +11908,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16432; src=8822; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16736; src=8822; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16432; + $7 = 16736; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11919,16 +11923,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16432,$1)|0); - $strlen = (_strlen(16432)|0); - $endptr = (16432 + ($strlen)|0); + (_strcat(16736,$1)|0); + $strlen = (_strlen(16736)|0); + $endptr = (16736 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16432,$2)|0); + (_vprintf(16736,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11960,22 +11964,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4173] = $0; - HEAP32[4172] = $1; + HEAP32[4249] = $0; + HEAP32[4248] = $1; _MatrixIdentity($2); - dest=16780; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17084; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4957,$vararg_buffer); } - $6 = HEAP32[4173]|0; - HEAP32[4211] = $6; - $7 = HEAP32[4172]|0; - HEAP32[4212] = $7; + $6 = HEAP32[4249]|0; + HEAP32[4287] = $6; + $7 = HEAP32[4248]|0; + HEAP32[4288] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19512]|0; + $8 = HEAP8[19816]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11983,13 +11987,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19512]|0; + $11 = HEAP8[19816]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19512]|0; + $14 = HEAP8[19816]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -12011,18 +12015,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4213]|0; + $21 = HEAP32[4289]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4173]|0; - $48 = HEAP32[4172]|0; - $49 = HEAP32[4175]|0; + $47 = HEAP32[4249]|0; + $48 = HEAP32[4248]|0; + $49 = HEAP32[4251]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4171] = $50; - $51 = HEAP32[4173]|0; - HEAP32[4214] = $51; - $52 = HEAP32[4172]|0; - HEAP32[4215] = $52; + HEAP32[4247] = $50; + $51 = HEAP32[4249]|0; + HEAP32[4290] = $51; + $52 = HEAP32[4248]|0; + HEAP32[4291] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12031,9 +12035,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4173]|0; + $27 = HEAP32[4249]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4172]|0; + $29 = HEAP32[4248]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12055,25 +12059,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4211] = $31; - HEAP32[4212] = $34; + HEAP32[4287] = $31; + HEAP32[4288] = $34; } } while(0); - $38 = HEAP32[4211]|0; - $39 = HEAP32[4212]|0; + $38 = HEAP32[4287]|0; + $39 = HEAP32[4288]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,5008,$vararg_buffer3); - $40 = HEAP32[4211]|0; - $41 = HEAP32[4212]|0; + $40 = HEAP32[4287]|0; + $41 = HEAP32[4288]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4211]|0; - $43 = HEAP32[4212]|0; - $44 = HEAP32[4175]|0; + $42 = HEAP32[4287]|0; + $43 = HEAP32[4288]|0; + $44 = HEAP32[4251]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4171] = $46; + HEAP32[4247] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12082,60 +12086,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,5046,$vararg_buffer6); } else { _TraceLog(0,5079,$vararg_buffer8); - $55 = HEAP32[4214]|0; - $56 = HEAP32[4215]|0; + $55 = HEAP32[4290]|0; + $56 = HEAP32[4291]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,5119,$vararg_buffer10); - $57 = HEAP32[4173]|0; - $58 = HEAP32[4172]|0; + $57 = HEAP32[4249]|0; + $58 = HEAP32[4248]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,5140,$vararg_buffer14); - $59 = HEAP32[4216]|0; - $60 = HEAP32[4217]|0; + $59 = HEAP32[4292]|0; + $60 = HEAP32[4293]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5161,$vararg_buffer18); } - $61 = HEAP32[4171]|0; + $61 = HEAP32[4247]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4171]|0; + $62 = HEAP32[4247]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4171]|0; + $63 = HEAP32[4247]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4171]|0; + $64 = HEAP32[4247]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4171]|0; + $65 = HEAP32[4247]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4171]|0; + $66 = HEAP32[4247]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4171]|0; + $67 = HEAP32[4247]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4171]|0; + $68 = HEAP32[4247]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4171]|0; + $69 = HEAP32[4247]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19512]|0; + $70 = HEAP8[19816]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4173]|0; - $74 = HEAP32[4172]|0; + $73 = HEAP32[4249]|0; + $74 = HEAP32[4248]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4214]|0; - $76 = HEAP32[4216]|0; + $75 = HEAP32[4290]|0; + $76 = HEAP32[4292]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4215]|0; - $80 = HEAP32[4217]|0; + $79 = HEAP32[4291]|0; + $80 = HEAP32[4293]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12154,18 +12158,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5186,$vararg_buffer22); - $73 = HEAP32[4173]|0; - $74 = HEAP32[4172]|0; + $73 = HEAP32[4249]|0; + $74 = HEAP32[4248]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4214]|0; - $76 = HEAP32[4216]|0; + $75 = HEAP32[4290]|0; + $76 = HEAP32[4292]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4215]|0; - $80 = HEAP32[4217]|0; + $79 = HEAP32[4291]|0; + $80 = HEAP32[4293]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12193,7 +12197,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16748)>>2] = 224; + HEAP32[(17052)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12234,27 +12238,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16724>>2]=HEAP32[$1>>2]|0;HEAP32[16724+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16724+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16724+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16724+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17028>>2]=HEAP32[$1>>2]|0;HEAP32[17028+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17028+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17028+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17028+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16748)>>2]|0; + $5 = HEAP32[(17052)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16752)>>2] = $7; + HEAP32[(17056)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16744)>>2] = $23; - $24 = HEAP32[4181]|0; + HEAP32[(17048)>>2] = $23; + $24 = HEAP32[4257]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4510,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16728)>>2]|0; - $10 = HEAP32[(16748)>>2]|0; - $11 = HEAP32[(16752)>>2]|0; + $9 = HEAP32[(17032)>>2]|0; + $10 = HEAP32[(17052)>>2]|0; + $11 = HEAP32[(17056)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12303,8 +12307,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16744)>>2] = $23; - $24 = HEAP32[4181]|0; + HEAP32[(17048)>>2] = $23; + $24 = HEAP32[4257]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4510,$vararg_buffer); STACKTOP = sp;return; @@ -12315,7 +12319,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2053] = $1; + HEAPF64[2091] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12474,7 +12478,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16408; + $31 = 16712; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12487,7 +12491,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16416); + $42 = (16720); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12543,7 +12547,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16708 + ($10<<2)|0); + $11 = (17012 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12557,7 +12561,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2050] = $$; + HEAPF64[2088] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12569,7 +12573,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4176] = 0; + HEAP32[4252] = 0; return; } function _GetTime() { @@ -13145,7 +13149,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4189]|0; + $6 = HEAP32[4265]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13155,7 +13159,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4190]|0; + $9 = HEAP32[4266]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13164,7 +13168,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4191]|0; + $12 = HEAP32[4267]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13174,7 +13178,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4192]|0; + $15 = HEAP32[4268]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13184,7 +13188,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4193]|0; + $18 = HEAP32[4269]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13228,7 +13232,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4189]|0; + $22 = HEAP32[4265]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13236,7 +13240,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4189]|0; + $24 = HEAP32[4265]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13244,7 +13248,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4189]|0; + $26 = HEAP32[4265]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13252,7 +13256,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4189]|0; + $28 = HEAP32[4265]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13260,7 +13264,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4190]|0; + $30 = HEAP32[4266]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13268,7 +13272,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4191]|0; + $32 = HEAP32[4267]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13276,7 +13280,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4191]|0; + $34 = HEAP32[4267]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13284,7 +13288,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4192]|0; + $36 = HEAP32[4268]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13292,7 +13296,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4192]|0; + $38 = HEAP32[4268]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13300,7 +13304,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4193]|0; + $40 = HEAP32[4269]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13308,7 +13312,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4193]|0; + $42 = HEAP32[4269]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13320,7 +13324,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4194]|0; + $44 = HEAP32[4270]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13335,7 +13339,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10906,$vararg_buffer15); + _TraceLog(2,11214,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13666,20 +13670,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4173]|0; + $3 = HEAP32[4249]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4172]|0; + $5 = HEAP32[4248]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4214] = $3; - HEAP32[4215] = $5; - HEAP32[4216] = 0; - HEAP32[4217] = 0; + HEAP32[4290] = $3; + HEAP32[4291] = $5; + HEAP32[4292] = 0; + HEAP32[4293] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13693,9 +13697,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4173]|0; + $35 = HEAP32[4249]|0; $36 = (+($35|0)); - $37 = HEAP32[4172]|0; + $37 = HEAP32[4248]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13703,26 +13707,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4214] = $45; - HEAP32[4215] = $37; + HEAP32[4290] = $45; + HEAP32[4291] = $37; $46 = (($45) - ($35))|0; - HEAP32[4216] = $46; + HEAP32[4292] = $46; $$sink1 = 0; } else { - HEAP32[4214] = $35; + HEAP32[4290] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4215] = $42; - HEAP32[4216] = 0; + HEAP32[4291] = $42; + HEAP32[4292] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4217] = $$sink1; + HEAP32[4293] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4172]|0; + $7 = HEAP32[4248]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13732,11 +13736,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8568,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4173]|0; + $9 = HEAP32[4249]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4172]|0; + $13 = HEAP32[4248]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13744,33 +13748,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4214] = $23; - HEAP32[4215] = $1; + HEAP32[4290] = $23; + HEAP32[4291] = $1; $24 = (($0) - ($23))|0; - HEAP32[4216] = $24; + HEAP32[4292] = $24; $$sink = 0; } else { - HEAP32[4214] = $0; - $17 = HEAP32[4172]|0; + HEAP32[4290] = $0; + $17 = HEAP32[4248]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4215] = $20; - HEAP32[4216] = 0; + HEAP32[4291] = $20; + HEAP32[4292] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4217] = $$sink; - $25 = HEAP32[4214]|0; + HEAP32[4293] = $$sink; + $25 = HEAP32[4290]|0; $26 = (+($25|0)); - $27 = HEAP32[4173]|0; + $27 = HEAP32[4249]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16780; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4214] = $0; - HEAP32[4215] = $1; + dest=17084; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4290] = $0; + HEAP32[4291] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13792,10 +13796,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4173] = $1; - HEAP32[4172] = $2; - HEAP32[4214] = $1; - HEAP32[4215] = $2; + HEAP32[4249] = $1; + HEAP32[4248] = $2; + HEAP32[4290] = $1; + HEAP32[4291] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13822,7 +13826,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19519 + ($1)|0); + $9 = (19823 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13843,7 +13847,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19513 + ($1)|0); + $7 = (19817 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13922,7 +13926,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16408; + $15 = 16712; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13957,7 +13961,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4587] = $3; + HEAP32[4663] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13967,7 +13971,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4586] = $$sink; + HEAP32[4662] = $$sink; return; } function _rlglInit($0,$1) { @@ -14048,18 +14052,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5318)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4252] = 1; + HEAP32[4328] = 1; $27 = (_eglGetProcAddress((5345|0))|0); - HEAP32[4253] = $27; + HEAP32[4329] = $27; $28 = (_eglGetProcAddress((5366|0))|0); - HEAP32[4254] = $28; + HEAP32[4330] = $28; $29 = (_eglGetProcAddress((5387|0))|0); - HEAP32[4255] = $29; + HEAP32[4331] = $29; } $30 = (_strcmp($24,5411)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4194] = 1; + HEAP32[4270] = 1; } $32 = (_strcmp($24,5431)|0); $33 = ($32|0)==(0); @@ -14081,7 +14085,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4189] = 1; + HEAP32[4265] = 1; } $39 = (_strcmp($24,5536)|0); $40 = ($39|0)==(0); @@ -14097,35 +14101,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4190] = 1; + HEAP32[4266] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5605)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4191] = 1; + HEAP32[4267] = 1; } $47 = (_strcmp($44,5630)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4192] = 1; + HEAP32[4268] = 1; } $49 = (_strcmp($44,5663)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4193] = 1; + HEAP32[4269] = 1; } $51 = (_strcmp($44,5699)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4256] = 1; - _glGetFloatv(34047,(17028|0)); + HEAP32[4332] = 1; + _glGetFloatv(34047,(17332|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5733)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4258] = 1; + HEAP32[4334] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14136,61 +14140,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4252]|0; + $21 = HEAP32[4328]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5836,$vararg_buffer15); } else { _TraceLog(0,5761,$vararg_buffer13); } - $57 = HEAP32[4194]|0; + $57 = HEAP32[4270]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5972,$vararg_buffer19); } else { _TraceLog(0,5897,$vararg_buffer17); } - $59 = HEAP32[4189]|0; + $59 = HEAP32[4265]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,6064,$vararg_buffer21); } - $61 = HEAP32[4190]|0; + $61 = HEAP32[4266]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,6110,$vararg_buffer23); } - $63 = HEAP32[4191]|0; + $63 = HEAP32[4267]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6157,$vararg_buffer25); } - $65 = HEAP32[4192]|0; + $65 = HEAP32[4268]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6208,$vararg_buffer27); } - $67 = HEAP32[4193]|0; + $67 = HEAP32[4269]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6255,$vararg_buffer29); } - $69 = HEAP32[4256]|0; + $69 = HEAP32[4332]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4257]; + $71 = +HEAPF32[4333]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6302,$vararg_buffer31); } - $73 = HEAP32[4258]|0; + $73 = HEAP32[4334]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6368,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4259] = $75; + HEAP32[4335] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6472,$vararg_buffer39); @@ -14199,14 +14203,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6421,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17040; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17096; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17344; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17400; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4288] = $77; + HEAP32[4364] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4288]|0; + $79 = HEAP32[4364]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14219,7 +14223,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4289] = $78; + HEAP32[4365] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14234,48 +14238,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4290] = 1; - $85 = HEAP32[4259]|0; + HEAP32[4366] = 1; + $85 = HEAP32[4335]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4291] = 4; + HEAP32[4367] = 4; _MatrixIdentity($4); - dest=17168; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17472; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17232); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17536); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17296); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17600); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17360); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17664); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17424); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17728); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17488); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17792); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17552); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17856); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17616); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17920); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17680); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17984); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17744); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18048); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17808); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18112); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17872); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18176); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17936); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18240); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18000); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18304); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18064); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18368); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18128); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18432); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16876; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17180; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=16940; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4218] = 16940; + dest=17244; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4294] = 17244; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14286,21 +14290,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4548] = $0; - HEAP32[4549] = $1; + HEAP32[4624] = $0; + HEAP32[4625] = $1; _TraceLog(0,6511,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4216]|0; + $0 = HEAP32[4292]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4217]|0; + $2 = HEAP32[4293]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4214]|0; + $4 = HEAP32[4290]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4215]|0; + $6 = HEAP32[4291]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14311,12 +14315,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16876; + $modelview$sink = 17180; label = 3; break; } case 5888: { - $modelview$sink = 16940; + $modelview$sink = 17244; label = 3; break; } @@ -14324,9 +14328,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4218] = $modelview$sink; + HEAP32[4294] = $modelview$sink; } - HEAP32[4251] = $0; + HEAP32[4327] = $0; return; } function _rlLoadIdentity() { @@ -14334,7 +14338,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4218]|0; + $1 = HEAP32[4294]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14355,7 +14359,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4218]|0; + $8 = HEAP32[4294]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14452,15 +14456,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18212)>>2] = $0; + HEAP32[(18516)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18220)>>2] = $1; - HEAP32[(18216)>>2] = 0; - HEAP32[(18224)>>2] = 0; + HEAP32[(18524)>>2] = $1; + HEAP32[(18520)>>2] = 0; + HEAP32[(18528)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18220)>>2]|0; + $2 = HEAP32[(18524)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14471,19 +14475,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4550] = 0; - HEAP32[(18208)>>2] = 0; - HEAP32[(18204)>>2] = 0; + HEAP32[4626] = 0; + HEAP32[(18512)>>2] = 0; + HEAP32[(18508)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18260)>>2] = $5; + HEAP32[(18564)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18268)>>2] = $6; - HEAP32[(18264)>>2] = 0; - HEAP32[(18272)>>2] = 0; + HEAP32[(18572)>>2] = $6; + HEAP32[(18568)>>2] = 0; + HEAP32[(18576)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18268)>>2]|0; + $7 = HEAP32[(18572)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14494,24 +14498,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[(18252)>>2] = 0; + HEAP32[4638] = 0; + HEAP32[(18560)>>2] = 0; + HEAP32[(18556)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18308)>>2] = $10; + HEAP32[(18612)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18312)>>2] = $11; + HEAP32[(18616)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18316)>>2] = $12; + HEAP32[(18620)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18320)>>2] = $13; - $14 = HEAP32[(18308)>>2]|0; + HEAP32[(18624)>>2] = $13; + $14 = HEAP32[(18612)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18312)>>2]|0; + $15 = HEAP32[(18616)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18316)>>2]|0; + $17 = HEAP32[(18620)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14522,7 +14526,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18320)>>2]|0; + $16 = HEAP32[(18624)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14559,140 +14563,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4574] = 0; - HEAP32[(18300)>>2] = 0; - HEAP32[(18304)>>2] = 0; + HEAP32[4650] = 0; + HEAP32[(18604)>>2] = 0; + HEAP32[(18608)>>2] = 0; _TraceLog(0,6558,$vararg_buffer); - $20 = HEAP32[4252]|0; + $20 = HEAP32[4328]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4253]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18228)); - $44 = HEAP32[4254]|0; - $45 = HEAP32[(18228)>>2]|0; + $43 = HEAP32[4329]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18532)); + $44 = HEAP32[4330]|0; + $45 = HEAP32[(18532)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18232)|0)); - $46 = HEAP32[(18232)>>2]|0; + _glGenBuffers(2,((18536)|0)); + $46 = HEAP32[(18536)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18212)>>2]|0; + $47 = HEAP32[(18516)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17100)>>2]|0; + $48 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17100)>>2]|0; + $49 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18236)|0)); - $50 = HEAP32[(18236)>>2]|0; + _glGenBuffers(2,((18540)|0)); + $50 = HEAP32[(18540)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18220)>>2]|0; + $51 = HEAP32[(18524)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17120)>>2]|0; + $52 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17120)>>2]|0; + $53 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4252]|0; + $54 = HEAP32[4328]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18232)>>2]|0; - $58 = HEAP32[(18236)>>2]|0; + $57 = HEAP32[(18536)>>2]|0; + $58 = HEAP32[(18540)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6696,$vararg_buffer3); } else { - $56 = HEAP32[(18228)>>2]|0; + $56 = HEAP32[(18532)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6631,$vararg_buffer1); } - $59 = HEAP32[4252]|0; + $59 = HEAP32[4328]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4253]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18276)); - $62 = HEAP32[4254]|0; - $63 = HEAP32[(18276)>>2]|0; + $61 = HEAP32[4329]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18580)); + $62 = HEAP32[4330]|0; + $63 = HEAP32[(18580)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18280)|0)); - $64 = HEAP32[(18280)>>2]|0; + _glGenBuffers(1,((18584)|0)); + $64 = HEAP32[(18584)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18260)>>2]|0; + $65 = HEAP32[(18564)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17100)>>2]|0; + $66 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17100)>>2]|0; + $67 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18284)|0)); - $68 = HEAP32[(18284)>>2]|0; + _glGenBuffers(1,((18588)|0)); + $68 = HEAP32[(18588)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18268)>>2]|0; + $69 = HEAP32[(18572)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17120)>>2]|0; + $70 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17120)>>2]|0; + $71 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4252]|0; + $72 = HEAP32[4328]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18280)>>2]|0; - $76 = HEAP32[(18284)>>2]|0; + $75 = HEAP32[(18584)>>2]|0; + $76 = HEAP32[(18588)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6842,$vararg_buffer10); } else { - $74 = HEAP32[(18276)>>2]|0; + $74 = HEAP32[(18580)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6773,$vararg_buffer7); } - $77 = HEAP32[4252]|0; + $77 = HEAP32[4328]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4253]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18324)); - $80 = HEAP32[4254]|0; - $81 = HEAP32[(18324)>>2]|0; + $79 = HEAP32[4329]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18628)); + $80 = HEAP32[4330]|0; + $81 = HEAP32[(18628)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18328)|0)); - $82 = HEAP32[(18328)>>2]|0; + _glGenBuffers(1,((18632)|0)); + $82 = HEAP32[(18632)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18308)>>2]|0; + $83 = HEAP32[(18612)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17100)>>2]|0; + $84 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17100)>>2]|0; + $85 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18332)|0)); - $86 = HEAP32[(18332)>>2]|0; + _glGenBuffers(1,((18636)|0)); + $86 = HEAP32[(18636)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18312)>>2]|0; + $87 = HEAP32[(18616)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17104)>>2]|0; + $88 = HEAP32[(17408)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17104)>>2]|0; + $89 = HEAP32[(17408)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18336)|0)); - $90 = HEAP32[(18336)>>2]|0; + _glGenBuffers(1,((18640)|0)); + $90 = HEAP32[(18640)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18316)>>2]|0; + $91 = HEAP32[(18620)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17120)>>2]|0; + $92 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17120)>>2]|0; + $93 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18340)|0)); - $94 = HEAP32[(18340)>>2]|0; + _glGenBuffers(1,((18644)|0)); + $94 = HEAP32[(18644)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18320)>>2]|0; + $95 = HEAP32[(18624)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4252]|0; + $96 = HEAP32[4328]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18328)>>2]|0; - $100 = HEAP32[(18332)>>2]|0; - $101 = HEAP32[(18336)>>2]|0; - $102 = HEAP32[(18340)>>2]|0; + $99 = HEAP32[(18632)>>2]|0; + $100 = HEAP32[(18636)>>2]|0; + $101 = HEAP32[(18640)>>2]|0; + $102 = HEAP32[(18644)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14702,16 +14706,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6988,$vararg_buffer17); } else { - $98 = HEAP32[(18324)>>2]|0; + $98 = HEAP32[(18628)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6923,$vararg_buffer14); } - $103 = HEAP32[4252]|0; + $103 = HEAP32[4328]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4254]|0; + $105 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14892,9 +14896,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19513 + ($0)|0); + $1 = (19817 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19516 + ($0)|0); + $3 = (19820 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14906,9 +14910,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19513 + ($0)|0); + $1 = (19817 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19516 + ($0)|0); + $3 = (19820 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14929,7 +14933,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4171]|0; + $0 = HEAP32[4247]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8832,$vararg_buffer); @@ -14940,9 +14944,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16724>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16724+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16724+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16724+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16724+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17028>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17028+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17028+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17028+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17028+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16752)>>2]|0; + $0 = HEAP32[(17056)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14953,11 +14957,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17036|0)); - $0 = HEAP32[4259]|0; + _glDeleteTextures(1,(17340|0)); + $0 = HEAP32[4335]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8859,$vararg_buffer); - $1 = HEAP32[4289]|0; + $1 = HEAP32[4365]|0; _free($1); STACKTOP = sp;return; } @@ -14965,17 +14969,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4260]|0; + $0 = HEAP32[4336]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4252]|0; + $0 = HEAP32[4328]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4254]|0; + $2 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14984,39 +14988,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18232)|0)); - _glDeleteBuffers(1,((18236)|0)); - _glDeleteBuffers(1,((18280)|0)); - _glDeleteBuffers(1,((18284)|0)); - _glDeleteBuffers(1,((18328)|0)); - _glDeleteBuffers(1,((18332)|0)); - _glDeleteBuffers(1,((18336)|0)); - _glDeleteBuffers(1,((18340)|0)); - $3 = HEAP32[4252]|0; + _glDeleteBuffers(1,((18536)|0)); + _glDeleteBuffers(1,((18540)|0)); + _glDeleteBuffers(1,((18584)|0)); + _glDeleteBuffers(1,((18588)|0)); + _glDeleteBuffers(1,((18632)|0)); + _glDeleteBuffers(1,((18636)|0)); + _glDeleteBuffers(1,((18640)|0)); + _glDeleteBuffers(1,((18644)|0)); + $3 = HEAP32[4328]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4255]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18228)); - $6 = HEAP32[4255]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18276)); - $7 = HEAP32[4255]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18324)); - } - $8 = HEAP32[(18212)>>2]|0; + $5 = HEAP32[4331]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18532)); + $6 = HEAP32[4331]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18580)); + $7 = HEAP32[4331]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18628)); + } + $8 = HEAP32[(18516)>>2]|0; _free($8); - $9 = HEAP32[(18220)>>2]|0; + $9 = HEAP32[(18524)>>2]|0; _free($9); - $10 = HEAP32[(18260)>>2]|0; + $10 = HEAP32[(18564)>>2]|0; _free($10); - $11 = HEAP32[(18268)>>2]|0; + $11 = HEAP32[(18572)>>2]|0; _free($11); - $12 = HEAP32[(18308)>>2]|0; + $12 = HEAP32[(18612)>>2]|0; _free($12); - $13 = HEAP32[(18312)>>2]|0; + $13 = HEAP32[(18616)>>2]|0; _free($13); - $14 = HEAP32[(18316)>>2]|0; + $14 = HEAP32[(18620)>>2]|0; _free($14); - $15 = HEAP32[(18320)>>2]|0; + $15 = HEAP32[(18624)>>2]|0; _free($15); return; } @@ -15056,16 +15060,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2070] = $0; - $1 = +HEAPF64[2053]; + HEAPF64[2108] = $0; + $1 = +HEAPF64[2091]; $2 = $0 - $1; - HEAPF64[2071] = $2; - HEAPF64[2053] = $0; + HEAPF64[2109] = $2; + HEAPF64[2091] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16780; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17084; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18352); + _rlMultMatrixf(18656); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15074,53 +15078,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4588] = $1; + HEAP32[4664] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18356)>>2] = $3; + HEAP32[(18660)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18360)>>2] = $5; + HEAP32[(18664)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18364)>>2] = $7; + HEAP32[(18668)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18368)>>2] = $9; + HEAP32[(18672)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18372)>>2] = $11; + HEAP32[(18676)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18376)>>2] = $13; + HEAP32[(18680)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18380)>>2] = $15; + HEAP32[(18684)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18384)>>2] = $17; + HEAP32[(18688)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18388)>>2] = $19; + HEAP32[(18692)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18392)>>2] = $21; + HEAP32[(18696)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18396)>>2] = $23; + HEAP32[(18700)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18400)>>2] = $25; + HEAP32[(18704)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18404)>>2] = $27; + HEAP32[(18708)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18408)>>2] = $29; + HEAP32[(18712)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18412)>>2] = $31; - return (18352|0); + HEAP32[(18716)>>2] = $31; + return (18656|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15195,7 +15199,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4218]|0; + $49 = HEAP32[4294]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15209,15 +15213,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2070] = $0; - $1 = +HEAPF64[2053]; + HEAPF64[2108] = $0; + $1 = +HEAPF64[2091]; $2 = $0 - $1; - HEAPF64[2072] = $2; - HEAPF64[2053] = $0; - $3 = +HEAPF64[2071]; + HEAPF64[2110] = $2; + HEAPF64[2091] = $0; + $3 = +HEAPF64[2109]; $4 = $2 + $3; - HEAPF64[2073] = $4; - $5 = +HEAPF64[2050]; + HEAPF64[2111] = $4; + $5 = +HEAPF64[2088]; $6 = $4 < $5; if (!($6)) { return; @@ -15227,13 +15231,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2070] = $10; - $11 = +HEAPF64[2053]; + HEAPF64[2108] = $10; + $11 = +HEAPF64[2091]; $12 = $10 - $11; - HEAPF64[2053] = $10; - $13 = +HEAPF64[2073]; + HEAPF64[2091] = $10; + $13 = +HEAPF64[2111]; $14 = $12 + $13; - HEAPF64[2073] = $14; + HEAPF64[2111] = $14; return; } function _rlglDraw() { @@ -15246,7 +15250,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4171]|0; + $0 = HEAP32[4247]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15262,20 +15266,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[742] = -1; HEAP32[744] = -1; - HEAP32[4604] = 0; - $3 = HEAP32[4171]|0; + HEAP32[4680] = 0; + $3 = HEAP32[4247]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4098] = $5; + HEAPF32[4174] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16396)>>2] = $7; - _memcpy((20031|0),(19519|0),512)|0; - ;HEAP8[19516>>0]=HEAP8[19513>>0]|0;HEAP8[19516+1>>0]=HEAP8[19513+1>>0]|0;HEAP8[19516+2>>0]=HEAP8[19513+2>>0]|0; - $8 = HEAP32[4587]|0; - HEAP32[4174] = $8; - HEAP32[4587] = 0; + HEAPF32[(16700)>>2] = $7; + _memcpy((20335|0),(19823|0),512)|0; + ;HEAP8[19820>>0]=HEAP8[19817>>0]|0;HEAP8[19820+1>>0]=HEAP8[19817+1>>0]|0;HEAP8[19820+2>>0]=HEAP8[19817+2>>0]|0; + $8 = HEAP32[4663]|0; + HEAP32[4250] = $8; + HEAP32[4663] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15285,8 +15289,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20543 + ($$05160<<5)|0); - $scevgep67 = (20671 + ($$05160<<5)|0); + $scevgep = (20847 + ($$05160<<5)|0); + $scevgep67 = (20975 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15300,7 +15304,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20671 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20975 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[744] = $$04857; @@ -15327,7 +15331,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18420 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18724 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15343,7 +15347,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4604] = $$lcssa; + HEAP32[4680] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15384,87 +15388,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4550]|0; + $0 = HEAP32[4626]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4252]|0; + $2 = HEAP32[4328]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4254]|0; - $5 = HEAP32[(18228)>>2]|0; + $4 = HEAP32[4330]|0; + $5 = HEAP32[(18532)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18232)>>2]|0; + $6 = HEAP32[(18536)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4550]|0; + $7 = HEAP32[4626]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18212)>>2]|0; + $9 = HEAP32[(18516)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18236)>>2]|0; + $10 = HEAP32[(18540)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18208)>>2]|0; + $11 = HEAP32[(18512)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18220)>>2]|0; + $13 = HEAP32[(18524)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4562]|0; + $14 = HEAP32[4638]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4252]|0; + $16 = HEAP32[4328]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4254]|0; - $19 = HEAP32[(18276)>>2]|0; + $18 = HEAP32[4330]|0; + $19 = HEAP32[(18580)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18280)>>2]|0; + $20 = HEAP32[(18584)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4562]|0; + $21 = HEAP32[4638]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18260)>>2]|0; + $23 = HEAP32[(18564)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18284)>>2]|0; + $24 = HEAP32[(18588)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18256)>>2]|0; + $25 = HEAP32[(18560)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18268)>>2]|0; + $27 = HEAP32[(18572)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4574]|0; + $28 = HEAP32[4650]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4252]|0; + $30 = HEAP32[4328]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4254]|0; - $33 = HEAP32[(18324)>>2]|0; + $32 = HEAP32[4330]|0; + $33 = HEAP32[(18628)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18328)>>2]|0; + $34 = HEAP32[(18632)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4574]|0; + $35 = HEAP32[4650]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18308)>>2]|0; + $37 = HEAP32[(18612)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18332)>>2]|0; + $38 = HEAP32[(18636)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4574]|0; + $39 = HEAP32[4650]|0; $40 = $39 << 3; - $41 = HEAP32[(18312)>>2]|0; + $41 = HEAP32[(18616)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18336)>>2]|0; + $42 = HEAP32[(18640)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4574]|0; + $43 = HEAP32[4650]|0; $44 = $43 << 2; - $45 = HEAP32[(18316)>>2]|0; + $45 = HEAP32[(18620)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4252]|0; + $46 = HEAP32[4328]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4254]|0; + $48 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15482,9 +15486,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16876; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=16940; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4637]|0; + dest=$0; src=17180; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17244; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4713]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15494,134 +15498,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4550]|0; + $8 = HEAP32[4626]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4562]|0; + $10 = HEAP32[4638]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4574]|0; + $12 = HEAP32[4650]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4274]|0; + $14 = HEAP32[4350]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16940; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16876; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17244; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17180; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17124)>>2]|0; + $15 = HEAP32[(17428)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17128)>>2]|0; + $17 = HEAP32[(17432)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17140)>>2]|0; + $18 = HEAP32[(17444)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4550]|0; + $19 = HEAP32[4626]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4259]|0; + $21 = HEAP32[4335]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4252]|0; + $22 = HEAP32[4328]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18232)>>2]|0; + $26 = HEAP32[(18536)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17100)>>2]|0; + $27 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17100)>>2]|0; + $28 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18236)>>2]|0; + $29 = HEAP32[(18540)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17120)>>2]|0; + $30 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17120)>>2]|0; + $31 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4254]|0; - $25 = HEAP32[(18228)>>2]|0; + $24 = HEAP32[4330]|0; + $25 = HEAP32[(18532)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4550]|0; + $32 = HEAP32[4626]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4252]|0; + $33 = HEAP32[4328]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4562]|0; + $35 = HEAP32[4638]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4259]|0; + $37 = HEAP32[4335]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4252]|0; + $38 = HEAP32[4328]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18280)>>2]|0; + $42 = HEAP32[(18584)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17100)>>2]|0; + $43 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17100)>>2]|0; + $44 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18284)>>2]|0; + $45 = HEAP32[(18588)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17120)>>2]|0; + $46 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17120)>>2]|0; + $47 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4254]|0; - $41 = HEAP32[(18276)>>2]|0; + $40 = HEAP32[4330]|0; + $41 = HEAP32[(18580)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4562]|0; + $48 = HEAP32[4638]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4252]|0; + $49 = HEAP32[4328]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4574]|0; + $51 = HEAP32[4650]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4252]|0; + $53 = HEAP32[4328]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18328)>>2]|0; + $57 = HEAP32[(18632)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17100)>>2]|0; + $58 = HEAP32[(17404)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17100)>>2]|0; + $59 = HEAP32[(17404)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18332)>>2]|0; + $60 = HEAP32[(18636)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17104)>>2]|0; + $61 = HEAP32[(17408)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17104)>>2]|0; + $62 = HEAP32[(17408)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18336)>>2]|0; + $63 = HEAP32[(18640)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17120)>>2]|0; + $64 = HEAP32[(17424)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17120)>>2]|0; + $65 = HEAP32[(17424)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18340)>>2]|0; + $66 = HEAP32[(18644)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4254]|0; - $56 = HEAP32[(18324)>>2]|0; + $55 = HEAP32[4330]|0; + $56 = HEAP32[(18628)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4290]|0; + $67 = HEAP32[4366]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4289]|0; + $71 = HEAP32[4365]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15632,14 +15636,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4289]|0; + $80 = HEAP32[4365]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4290]|0; + $87 = HEAP32[4366]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15648,7 +15652,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4252]|0; + $69 = HEAP32[4328]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15656,10 +15660,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4252]|0; + $89 = HEAP32[4328]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4254]|0; + $91 = HEAP32[4330]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15671,22 +15675,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4290] = 1; - $5 = HEAP32[4259]|0; - $6 = HEAP32[4289]|0; + HEAP32[4366] = 1; + $5 = HEAP32[4335]|0; + $6 = HEAP32[4365]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4550] = 0; - HEAP32[(18208)>>2] = 0; - HEAP32[4562] = 0; - HEAP32[(18256)>>2] = 0; - HEAP32[4574] = 0; - HEAP32[(18300)>>2] = 0; - HEAP32[(18304)>>2] = 0; + HEAP32[4626] = 0; + HEAP32[(18512)>>2] = 0; + HEAP32[4638] = 0; + HEAP32[(18560)>>2] = 0; + HEAP32[4650] = 0; + HEAP32[(18604)>>2] = 0; + HEAP32[(18608)>>2] = 0; HEAPF32[745] = -1.0; - dest=16876; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16940; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17180; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17244; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15701,17 +15705,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4548]|0; + $5 = HEAP32[4624]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4549]|0; + $9 = HEAP32[4625]|0; _rlViewport($7,0,$8,$9); - $10 = (18780 + ($0<<6)|0); + $10 = (19084 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18652 + ($0<<6)|0); + $11 = (18956 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15723,14 +15727,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16940; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17244; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16876; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17180; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15738,43 +15742,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4727]|0; + $0 = HEAP32[4803]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8974,$vararg_buffer); } - $2 = HEAP32[4727]|0; - $3 = (17168 + ($2<<6)|0); - $4 = HEAP32[4218]|0; + $2 = HEAP32[4803]|0; + $3 = (17472 + ($2<<6)|0); + $4 = HEAP32[4294]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4727]|0; + $5 = HEAP32[4803]|0; $6 = (($5) + 1)|0; - HEAP32[4727] = $6; - $7 = HEAP32[4251]|0; + HEAP32[4803] = $6; + $7 = HEAP32[4327]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4728] = 1; + HEAP32[4804] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4727]|0; + $0 = HEAP32[4803]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4727]|0; + $2 = HEAP32[4803]|0; $3 = (($2) + -1)|0; - $4 = (17168 + ($3<<6)|0); - $5 = HEAP32[4218]|0; + $4 = (17472 + ($3<<6)|0); + $5 = HEAP32[4294]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4727] = $6; + HEAP32[4803] = $6; return; } function _IsFileExtension($0,$1) { @@ -15798,9 +15802,9 @@ function _IsKeyPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19519 + ($0)|0); + $1 = (19823 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (20031 + ($0)|0); + $3 = (20335 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15821,7 +15825,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4218]|0; + $5 = HEAP32[4294]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15854,7 +15858,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4218]|0; + $11 = HEAP32[4294]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15865,7 +15869,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4291] = $0; + HEAP32[4367] = $0; return; } function _rlEnd() { @@ -15881,21 +15885,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4728]|0; + $0 = HEAP32[4804]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4729]|0; + $2 = HEAP32[4805]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4288]|0; + $6 = HEAP32[4364]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4218]|0; + $8 = HEAP32[4294]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4729]|0; + $5 = HEAP32[4805]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15903,12 +15907,12 @@ function _rlEnd() { break; } } - HEAP32[4728] = 0; + HEAP32[4804] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4288]|0; + $11 = HEAP32[4364]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15917,7 +15921,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4729]|0; + $19 = HEAP32[4805]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15927,15 +15931,15 @@ function _rlEnd() { } } } else { - HEAP32[4728] = 0; + HEAP32[4804] = 0; } - HEAP32[4729] = 0; + HEAP32[4805] = 0; } - $21 = HEAP32[4291]|0; + $21 = HEAP32[4367]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4550]|0; - $23 = HEAP32[(18208)>>2]|0; + $22 = HEAP32[4626]|0; + $23 = HEAP32[(18512)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[745]; @@ -15954,16 +15958,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18220)>>2]|0; - $28 = HEAP32[(18208)>>2]|0; + $27 = HEAP32[(18524)>>2]|0; + $28 = HEAP32[(18512)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18220)>>2]|0; - $35 = HEAP32[(18208)>>2]|0; + $34 = HEAP32[(18524)>>2]|0; + $35 = HEAP32[(18512)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15971,8 +15975,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18220)>>2]|0; - $43 = HEAP32[(18208)>>2]|0; + $42 = HEAP32[(18524)>>2]|0; + $43 = HEAP32[(18512)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15980,8 +15984,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18220)>>2]|0; - $51 = HEAP32[(18208)>>2]|0; + $50 = HEAP32[(18524)>>2]|0; + $51 = HEAP32[(18512)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15989,9 +15993,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18208)>>2]|0; + $58 = HEAP32[(18512)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18208)>>2] = $59; + HEAP32[(18512)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16007,8 +16011,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4562]|0; - $62 = HEAP32[(18256)>>2]|0; + $61 = HEAP32[4638]|0; + $62 = HEAP32[(18560)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[745]; @@ -16027,16 +16031,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18268)>>2]|0; - $67 = HEAP32[(18256)>>2]|0; + $66 = HEAP32[(18572)>>2]|0; + $67 = HEAP32[(18560)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18268)>>2]|0; - $74 = HEAP32[(18256)>>2]|0; + $73 = HEAP32[(18572)>>2]|0; + $74 = HEAP32[(18560)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16044,8 +16048,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18268)>>2]|0; - $82 = HEAP32[(18256)>>2]|0; + $81 = HEAP32[(18572)>>2]|0; + $82 = HEAP32[(18560)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16053,8 +16057,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18268)>>2]|0; - $90 = HEAP32[(18256)>>2]|0; + $89 = HEAP32[(18572)>>2]|0; + $90 = HEAP32[(18560)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16062,9 +16066,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18256)>>2]|0; + $97 = HEAP32[(18560)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18256)>>2] = $98; + HEAP32[(18560)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16080,8 +16084,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4574]|0; - $101 = HEAP32[(18304)>>2]|0; + $100 = HEAP32[4650]|0; + $101 = HEAP32[(18608)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16089,16 +16093,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18316)>>2]|0; - $106 = HEAP32[(18304)>>2]|0; + $105 = HEAP32[(18620)>>2]|0; + $106 = HEAP32[(18608)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18316)>>2]|0; - $113 = HEAP32[(18304)>>2]|0; + $112 = HEAP32[(18620)>>2]|0; + $113 = HEAP32[(18608)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16106,8 +16110,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18316)>>2]|0; - $121 = HEAP32[(18304)>>2]|0; + $120 = HEAP32[(18620)>>2]|0; + $121 = HEAP32[(18608)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16115,8 +16119,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18316)>>2]|0; - $129 = HEAP32[(18304)>>2]|0; + $128 = HEAP32[(18620)>>2]|0; + $129 = HEAP32[(18608)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16124,9 +16128,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18304)>>2]|0; + $136 = HEAP32[(18608)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18304)>>2] = $137; + HEAP32[(18608)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16137,8 +16141,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4574]|0; - $140 = HEAP32[(18300)>>2]|0; + $139 = HEAP32[4650]|0; + $140 = HEAP32[(18604)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[745]; @@ -16146,8 +16150,8 @@ function _rlEnd() { HEAPF32[745] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18312)>>2]|0; - $$promoted = HEAP32[(18300)>>2]|0; + $142 = HEAP32[(18616)>>2]|0; + $$promoted = HEAP32[(18604)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16155,7 +16159,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18300)>>2] = $147; + HEAP32[(18604)>>2] = $147; $148 = +HEAPF32[745]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[745] = $149; @@ -16182,11 +16186,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4728]|0; + $3 = HEAP32[4804]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4288]|0; - $6 = HEAP32[4729]|0; + $5 = HEAP32[4364]|0; + $6 = HEAP32[4805]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16194,16 +16198,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4729] = $10; + HEAP32[4805] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4291]|0; + $11 = HEAP32[4367]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4550]|0; + $12 = HEAP32[4626]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18212)>>2]|0; + $14 = HEAP32[(18516)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16214,7 +16218,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4550] = $21; + HEAP32[4626] = $21; STACKTOP = sp;return; } else { _TraceLog(1,9012,$vararg_buffer); @@ -16223,10 +16227,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4562]|0; + $22 = HEAP32[4638]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18260)>>2]|0; + $24 = HEAP32[(18564)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16237,7 +16241,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4562] = $31; + HEAP32[4638] = $31; STACKTOP = sp;return; } else { _TraceLog(1,9037,$vararg_buffer1); @@ -16246,10 +16250,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4574]|0; + $32 = HEAP32[4650]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18308)>>2]|0; + $34 = HEAP32[(18612)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16260,9 +16264,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4574] = $41; - $42 = HEAP32[4289]|0; - $43 = HEAP32[4290]|0; + HEAP32[4650] = $41; + $42 = HEAP32[4365]|0; + $43 = HEAP32[4366]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16305,13 +16309,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4291]|0; + $2 = HEAP32[4367]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18312)>>2]|0; - $5 = HEAP32[(18300)>>2]|0; + $4 = HEAP32[(18616)>>2]|0; + $5 = HEAP32[(18604)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16319,7 +16323,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18300)>>2] = $10; + HEAP32[(18604)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16338,18 +16342,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4291]|0; + $4 = HEAP32[4367]|0; switch ($4|0) { case 1: { - $$sink37 = (18208);$$sink38 = (18220); + $$sink37 = (18512);$$sink38 = (18524); break; } case 4: { - $$sink37 = (18256);$$sink38 = (18268); + $$sink37 = (18560);$$sink38 = (18572); break; } case 7: { - $$sink37 = (18304);$$sink38 = (18316); + $$sink37 = (18608);$$sink38 = (18620); break; } default: { @@ -16388,8 +16392,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4289]|0; - $2 = HEAP32[4290]|0; + $1 = HEAP32[4365]|0; + $2 = HEAP32[4366]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16402,9 +16406,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4290] = $10; + HEAP32[4366] = $10; } - $11 = HEAP32[4290]|0; + $11 = HEAP32[4366]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16415,7 +16419,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4574]|0; + $0 = HEAP32[4650]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16427,7 +16431,7 @@ function _GetDefaultTexture($0) { $0 = $0|0; var $$sroa$4$0$$sroa_idx2 = 0, $$sroa$5$0$$sroa_idx4 = 0, $$sroa$6$0$$sroa_idx6 = 0, $$sroa$7$0$$sroa_idx8 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = HEAP32[4259]|0; + $1 = HEAP32[4335]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -16654,40 +16658,11 @@ function _DrawRectangleLines($0,$1,$2,$3,$4) { _DrawRectangle($0,$26,1,$27,$$byval_copy3); STACKTOP = sp;return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9091); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10424)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4730] = $0; + HEAP32[4806] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16751,7 +16726,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9103|0),(9129|0),1125,(9152|0)); + ___assert_fail((9091|0),(9117|0),1041,(9140|0)); // unreachable; } } @@ -16769,7 +16744,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4731]|0; + $15 = HEAP32[4807]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16862,7 +16837,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9193); + _stbi__err(9181); $$0 = 0; return ($$0|0); } else { @@ -16884,7 +16859,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9184); + _stbi__err(9172); $$0 = 0; return ($$0|0); } @@ -16954,7 +16929,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9212); + _stbi__err(9200); $$045 = 0; return ($$045|0); } @@ -17515,7 +17490,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9528 + ($120)|0); + $121 = (9516 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17557,97 +17532,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9302); + _stbi__err(9290); $$6$ph = 0; break; } case 9: { - _stbi__err(9316); + _stbi__err(9304); $$6$ph = 0; break; } case 11: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 13: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 15: { - _stbi__err(9339); + _stbi__err(9327); $$6$ph = 0; break; } case 17: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 20: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 22: { - _stbi__err(9359); + _stbi__err(9347); $$6$ph = 0; break; } case 24: { - _stbi__err(9369); + _stbi__err(9357); $$6$ph = 0; break; } case 26: { - _stbi__err(9385); + _stbi__err(9373); $$6$ph = 0; break; } case 28: { - _stbi__err(9403); + _stbi__err(9391); $$6$ph = 0; break; } case 31: { - _stbi__err(9424); + _stbi__err(9412); $$6$ph = 0; break; } case 34: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 37: { - _stbi__err(9329); + _stbi__err(9317); $$6$ph = 0; break; } case 39: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 41: { - _stbi__err(9453); + _stbi__err(9441); $$6$ph = 0; break; } case 44: { - _stbi__err(9453); + _stbi__err(9441); $$6$ph = 0; break; } case 47: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 49: { - _stbi__err(9466); + _stbi__err(9454); $$6$ph = 0; break; } @@ -17658,32 +17633,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9482); + _stbi__err(9470); $$6$ph = 0; break; } case 58: { - _stbi__err(9499); + _stbi__err(9487); $$6$ph = 0; break; } case 61: { - _stbi__err(9512); + _stbi__err(9500); $$6$ph = 0; break; } case 63: { - _stbi__err(9499); + _stbi__err(9487); $$6$ph = 0; break; } case 70: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 72: { - _stbi__err(9537); + _stbi__err(9525); $$6$ph = 0; break; } @@ -17695,12 +17670,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9184); + _stbi__err(9172); $$6$ph = 0; break; } case 83: { - _stbi__err(9545); + _stbi__err(9533); $$6$ph = 0; break; } @@ -17713,7 +17688,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9555); + _stbi__err(9543); $$4 = 0; break; } @@ -17778,7 +17753,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4732]|0; + $193 = HEAP32[4808]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17811,7 +17786,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9438); + _stbi__err(9426); $$4 = 0; } } while(0); @@ -17819,24 +17794,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9438); + _stbi__err(9426); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9563] = $206; + HEAP8[9551] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9564)>>0] = $209; + HEAP8[(9552)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9565)>>0] = $211; + HEAP8[(9553)>>0] = $211; $212 = $207&255; - HEAP8[(9566)>>0] = $212; - _stbi__err(9563); + HEAP8[(9554)>>0] = $212; + _stbi__err(9551); $$6$ph = 0; break; } @@ -17870,14 +17845,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9225|0),(9129|0),1561,(9281|0)); + ___assert_fail((9213|0),(9117|0),1477,(9269|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9184); + _stbi__err(9172); $$0163 = 0; return ($$0163|0); } @@ -18240,7 +18215,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9279|0),(9129|0),1590,(9281|0)); + ___assert_fail((9267|0),(9117|0),1506,(9269|0)); // unreachable; } } while(0); @@ -18274,7 +18249,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9225|0),(9129|0),1610,(9256|0)); + ___assert_fail((9213|0),(9117|0),1526,(9244|0)); // unreachable; } $7 = $2 << 1; @@ -18284,7 +18259,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9184); + _stbi__err(9172); $$0163 = 0; return ($$0163|0); } @@ -18647,7 +18622,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9279|0),(9129|0),1639,(9256|0)); + ___assert_fail((9267|0),(9117|0),1555,(9244|0)); // unreachable; } } while(0); @@ -18795,7 +18770,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10220); + _stbi__err(10528); $$05 = 0; return ($$05|0); } @@ -19232,7 +19207,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9622|0),(9129|0),4568,(9674|0)); + ___assert_fail((9610|0),(9117|0),4569,(9662|0)); // unreachable; } } @@ -19319,7 +19294,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9622|0),(9129|0),4543,(9647|0)); + ___assert_fail((9610|0),(9117|0),4544,(9635|0)); // unreachable; } } @@ -19366,7 +19341,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4733]|0; + $16 = HEAP32[4809]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19441,7 +19416,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9588|0),(9129|0),4649,(9606|0)); + ___assert_fail((9576|0),(9117|0),4650,(9594|0)); // unreachable; } } @@ -19464,7 +19439,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9184); + _stbi__err(9172); $$0 = 0; return ($$0|0); } @@ -19641,7 +19616,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9703|0),(9129|0),4294,(9744|0)); + ___assert_fail((9691|0),(9117|0),4294,(9732|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19649,7 +19624,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9184); + _stbi__err(9172); $$2 = 0; return ($$2|0); } @@ -19668,7 +19643,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9771); + _stbi__err(9759); $$2 = 0; return ($$2|0); } @@ -19681,7 +19656,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9771); + _stbi__err(9759); $$2 = 0; return ($$2|0); } @@ -19689,12 +19664,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19717,33 +19692,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9810 + ($56)|0); + $60 = (9798 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19753,24 +19728,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19780,10 +19755,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19794,10 +19769,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19808,14 +19783,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19845,7 +19820,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19860,12 +19835,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20442,15 +20417,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9789|0),(9129|0),4315,(9744|0)); + ___assert_fail((9777|0),(9117|0),4315,(9732|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9815|0),(9129|0),4376,(9744|0)); + ___assert_fail((9803|0),(9117|0),4377,(9732|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9832); + _stbi__err(9820); $$2 = 0; return ($$2|0); } @@ -20500,7 +20475,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9528 + ($6)|0); + $336 = (9516 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20941,7 +20916,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9847|0),(9129|0),4465,(9744|0)); + ___assert_fail((9835|0),(9117|0),4466,(9732|0)); // unreachable; } else if ((label|0) == 151) { @@ -21001,8 +20976,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -21017,15 +20992,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -21034,65 +21009,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20830)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9846,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20831,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20799,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10134,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -21111,14 +21081,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10173); + _stbi__err(10481); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10189); + _stbi__err(10497); $$0 = 0; return ($$0|0); } @@ -21127,7 +21097,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10204); + _stbi__err(10512); $$0 = 0; return ($$0|0); } @@ -21210,7 +21180,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10095|0),(9129|0),4048,(10112|0)); + ___assert_fail((10403|0),(9117|0),4033,(10420|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21247,7 +21217,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10143); + _stbi__err(10451); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21257,7 +21227,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10156); + _stbi__err(10464); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21287,21 +21257,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20831|0),8,144)|0; - dest=(20975); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21087); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21111); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20799; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21435,7 +21390,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10033); + _stbi__err(10341); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21524,7 +21479,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10085); + _stbi__err(10393); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21553,7 +21508,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10879 + ($$06579)|0); + $14 = (11187 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21644,21 +21599,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10049|0),(9129|0),4021,(10057|0)); + ___assert_fail((10357|0),(9117|0),4006,(10365|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21668,7 +21623,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10033); + _stbi__err(10341); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21832,7 +21787,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9858); + _stbi__err(10166); $$3$ph = 0; return ($$3$ph|0); } @@ -21842,12 +21797,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9858); + _stbi__err(10166); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9875); + _stbi__err(10183); $$3$ph = 0; return ($$3$ph|0); } @@ -21904,7 +21859,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9884); + _stbi__err(10192); $$0 = 0; return ($$0|0); } @@ -21930,7 +21885,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9184); + _stbi__err(9172); $$0 = 0; return ($$0|0); } else { @@ -21975,7 +21930,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9980|0),(9129|0),3863,(10017|0)); + ___assert_fail((10288|0),(9117|0),3848,(10325|0)); // unreachable; } else if ((label|0) == 5) { @@ -22023,7 +21978,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9904|0),(9129|0),3891,(9920|0)); + ___assert_fail((10212|0),(9117|0),3876,(10228|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -22051,7 +22006,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9951|0),(9129|0),3781,(9962|0)); + ___assert_fail((10259|0),(9117|0),3766,(10270|0)); // unreachable; } return (0)|0; @@ -22197,10 +22152,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22211,27 +22166,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10232)|0); + $6 = (_IsFileExtension($1,10540)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10285)|0); + $19 = (_IsFileExtension($1,10593)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10290,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10598,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10732)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22259,7 +22215,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22276,18 +22232,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10238,$vararg_buffer); + _TraceLog(2,10546,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22296,34 +22252,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10326,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10365,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10634,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10673,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22342,11 +22305,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10424)|0); + $4 = (_fopen($0,10732)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10427,$vararg_buffer); + _TraceLog(2,10735,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22445,7 +22408,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10524,$vararg_buffer4); + _TraceLog(0,10832,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22480,14 +22443,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10570,$vararg_buffer8); + _TraceLog(2,10878,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10478,$vararg_buffer1); + _TraceLog(2,10786,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22577,7 +22540,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10396,$vararg_buffer); + _TraceLog(2,10704,$vararg_buffer); $$0 = $6; } } @@ -22622,27 +22585,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10620,$vararg_buffer); + _TraceLog(2,10928,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10659,$vararg_buffer1); + _TraceLog(2,10967,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10685,$vararg_buffer3); + _TraceLog(2,10993,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10748,$vararg_buffer5); + _TraceLog(2,11056,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10783,$vararg_buffer7); + _TraceLog(2,11091,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10818,$vararg_buffer10); + _TraceLog(0,11126,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23825,7 +23788,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10875 + ($$361133)|0); + $199 = (11183 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24255,7 +24218,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10875 + ($$331130)|0); + $186 = (11183 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24293,7 +24256,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10875 + ($$371134)|0); + $203 = (11183 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24332,7 +24295,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10879 + ($$421139)|0); + $235 = (11187 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24739,7 +24702,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10898 + ($495)|0); + $496 = (11206 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24776,7 +24739,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10902 + ($515)|0); + $516 = (11210 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25688,7 +25651,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10906,$vararg_buffer); + _TraceLog(2,11214,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -25709,7 +25672,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16724>>2]|0;HEAP32[$0+4>>2]=HEAP32[16724+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16724+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16724+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16724+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16724+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16724+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16724+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17028>>2]|0;HEAP32[$0+4>>2]=HEAP32[17028+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17028+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17028+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17028+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17028+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17028+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17028+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26229,8 +26192,8 @@ function _FormatText($0,$varargs) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $1 = sp; HEAP32[$1>>2] = $varargs; - (_vsprintf(21119,$0,$1)|0); - STACKTOP = sp;return (21119|0); + (_vsprintf(21103,$0,$1)|0); + STACKTOP = sp;return (21103|0); } function _emscripten_GetProcAddress($0) { $0 = $0|0; @@ -26278,7 +26241,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10935)|0); + $12 = (_strstr($11,11243)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -26287,7 +26250,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10939)|0); + $17 = (_strstr($16,11247)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -26296,7 +26259,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10943)|0); + $22 = (_strstr($21,11251)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -26305,7 +26268,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10947)|0); + $27 = (_strstr($26,11255)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -26314,1210 +26277,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10953)|0); + $32 = (_strcmp($31,11261)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10991)|0); + $35 = (_strcmp($34,11299)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11010; + HEAP32[$3>>2] = 11318; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11023)|0); + $38 = (_strcmp($37,11331)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11044; + HEAP32[$3>>2] = 11352; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11059)|0); + $41 = (_strcmp($40,11367)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11074; + HEAP32[$3>>2] = 11382; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11089)|0); + $44 = (_strcmp($43,11397)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11104; + HEAP32[$3>>2] = 11412; } } else { - HEAP32[$3>>2] = 10975; + HEAP32[$3>>2] = 11283; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11119)|0); + $47 = (_strcmp($46,11427)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11133)|0); + $50 = (_strcmp($49,11441)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11145)|0); + $53 = (_strcmp($52,11453)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11159)|0); + $56 = (_strcmp($55,11467)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11171)|0); + $59 = (_strcmp($58,11479)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11185)|0); + $62 = (_strcmp($61,11493)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11199)|0); + $65 = (_strcmp($64,11507)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11216)|0); + $68 = (_strcmp($67,11524)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11239)|0); + $71 = (_strcmp($70,11547)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11265)|0); + $74 = (_strcmp($73,11573)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11278)|0); + $77 = (_strcmp($76,11586)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11294)|0); + $80 = (_strcmp($79,11602)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11307)|0); + $83 = (_strcmp($82,11615)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11321)|0); + $86 = (_strcmp($85,11629)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11341)|0); + $89 = (_strcmp($88,11649)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11361)|0); + $92 = (_strcmp($91,11669)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11378)|0); + $95 = (_strcmp($94,11686)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11395)|0); + $98 = (_strcmp($97,11703)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11407)|0); + $101 = (_strcmp($100,11715)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11420)|0); + $104 = (_strcmp($103,11728)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11436)|0); + $107 = (_strcmp($106,11744)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11459)|0); + $110 = (_strcmp($109,11767)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11472)|0); + $113 = (_strcmp($112,11780)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11488)|0); + $116 = (_strcmp($115,11796)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11499)|0); + $119 = (_strcmp($118,11807)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11518)|0); + $122 = (_strcmp($121,11826)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11540)|0); + $125 = (_strcmp($124,11848)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11559)|0); + $128 = (_strcmp($127,11867)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11588)|0); + $131 = (_strcmp($130,11896)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11605)|0); + $134 = (_strcmp($133,11913)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11620)|0); + $137 = (_strcmp($136,11928)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11635)|0); + $140 = (_strcmp($139,11943)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11656)|0); + $143 = (_strcmp($142,11964)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11676)|0); + $146 = (_strcmp($145,11984)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11696)|0); + $149 = (_strcmp($148,12004)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11722)|0); + $152 = (_strcmp($151,12030)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11741)|0); + $155 = (_strcmp($154,12049)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11753)|0); + $158 = (_strcmp($157,12061)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11765)|0); + $161 = (_strcmp($160,12073)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11777)|0); + $164 = (_strcmp($163,12085)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11789)|0); + $167 = (_strcmp($166,12097)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11801)|0); + $170 = (_strcmp($169,12109)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11813)|0); + $173 = (_strcmp($172,12121)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11825)|0); + $176 = (_strcmp($175,12133)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11837)|0); + $179 = (_strcmp($178,12145)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11850)|0); + $182 = (_strcmp($181,12158)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11863)|0); + $185 = (_strcmp($184,12171)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11876)|0); + $188 = (_strcmp($187,12184)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11889)|0); + $191 = (_strcmp($190,12197)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11902)|0); + $194 = (_strcmp($193,12210)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11915)|0); + $197 = (_strcmp($196,12223)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11928)|0); + $200 = (_strcmp($199,12236)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11941)|0); + $203 = (_strcmp($202,12249)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11960)|0); + $206 = (_strcmp($205,12268)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11979)|0); + $209 = (_strcmp($208,12287)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11998)|0); + $212 = (_strcmp($211,12306)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12011)|0); + $215 = (_strcmp($214,12319)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12029)|0); + $218 = (_strcmp($217,12337)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12047)|0); + $221 = (_strcmp($220,12355)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12065)|0); + $224 = (_strcmp($223,12373)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12083)|0); + $227 = (_strcmp($226,12391)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12103)|0); + $230 = (_strcmp($229,12411)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11044)|0); + $233 = (_strcmp($232,11352)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12121)|0); + $236 = (_strcmp($235,12429)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12136)|0); + $239 = (_strcmp($238,12444)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12157)|0); + $242 = (_strcmp($241,12465)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12172)|0); + $245 = (_strcmp($244,12480)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12190)|0); + $248 = (_strcmp($247,12498)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12206)|0); + $251 = (_strcmp($250,12514)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12225)|0); + $254 = (_strcmp($253,12533)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12239)|0); + $257 = (_strcmp($256,12547)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12254)|0); + $260 = (_strcmp($259,12562)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10975)|0); + $263 = (_strcmp($262,11283)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12265)|0); + $266 = (_strcmp($265,12573)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11074)|0); + $269 = (_strcmp($268,11382)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11104)|0); + $272 = (_strcmp($271,11412)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12281)|0); + $275 = (_strcmp($274,12589)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12308)|0); + $278 = (_strcmp($277,12616)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12322)|0); + $281 = (_strcmp($280,12630)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11010)|0); + $284 = (_strcmp($283,11318)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12342)|0); + $287 = (_strcmp($286,12650)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12360)|0); + $290 = (_strcmp($289,12668)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12372)|0); + $293 = (_strcmp($292,12680)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12393)|0); + $296 = (_strcmp($295,12701)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12411)|0); + $299 = (_strcmp($298,12719)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12429)|0); + $302 = (_strcmp($301,12737)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12450)|0); + $305 = (_strcmp($304,12758)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12476)|0); + $308 = (_strcmp($307,12784)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12499)|0); + $311 = (_strcmp($310,12807)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12537)|0); + $314 = (_strcmp($313,12845)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12553)|0); + $317 = (_strcmp($316,12861)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12568)|0); + $320 = (_strcmp($319,12876)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12591)|0); + $323 = (_strcmp($322,12899)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12604)|0); + $326 = (_strcmp($325,12912)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12618)|0); + $329 = (_strcmp($328,12926)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12632)|0); + $332 = (_strcmp($331,12940)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12652)|0); + $335 = (_strcmp($334,12960)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12672)|0); + $338 = (_strcmp($337,12980)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12688)|0); + $341 = (_strcmp($340,12996)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12706)|0); + $344 = (_strcmp($343,13014)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12722)|0); + $347 = (_strcmp($346,13030)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12737)|0); + $350 = (_strcmp($349,13045)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12759)|0); + $353 = (_strcmp($352,13067)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12777)|0); + $356 = (_strcmp($355,13085)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12798)|0); + $359 = (_strcmp($358,13106)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12816)|0); + $362 = (_strcmp($361,13124)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12829)|0); + $365 = (_strcmp($364,13137)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12844)|0); + $368 = (_strcmp($367,13152)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12858)|0); + $371 = (_strcmp($370,13166)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12868)|0); + $374 = (_strcmp($373,13176)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12878)|0); + $377 = (_strcmp($376,13186)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12900)|0); + $380 = (_strcmp($379,13208)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12926)|0); + $383 = (_strcmp($382,13234)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12953)|0); + $386 = (_strcmp($385,13261)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12966)|0); + $389 = (_strcmp($388,13274)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12981)|0); + $392 = (_strcmp($391,13289)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12996)|0); + $395 = (_strcmp($394,13304)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13020)|0); + $398 = (_strcmp($397,13328)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13031)|0); + $401 = (_strcmp($400,13339)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13053)|0); + $404 = (_strcmp($403,13361)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13075)|0); + $407 = (_strcmp($406,13383)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13099)|0); + $410 = (_strcmp($409,13407)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13108)|0); + $413 = (_strcmp($412,13416)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13116)|0); + $416 = (_strcmp($415,13424)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13129)|0); + $419 = (_strcmp($418,13437)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13143)|0); + $422 = (_strcmp($421,13451)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13155)|0); + $425 = (_strcmp($424,13463)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13164)|0); + $428 = (_strcmp($427,13472)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13174)|0); + $431 = (_strcmp($430,13482)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13186)|0); + $434 = (_strcmp($433,13494)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13197)|0); + $437 = (_strcmp($436,13505)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13205)|0); + $440 = (_strcmp($439,13513)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13217)|0); + $443 = (_strcmp($442,13525)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13232)|0); + $446 = (_strcmp($445,13540)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13244)|0); + $449 = (_strcmp($448,13552)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13258)|0); + $452 = (_strcmp($451,13566)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13283)|0); + $455 = (_strcmp($454,13591)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13300)|0); + $458 = (_strcmp($457,13608)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13316)|0); + $461 = (_strcmp($460,13624)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13332)|0); + $464 = (_strcmp($463,13640)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13344)|0); + $467 = (_strcmp($466,13652)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13356)|0); + $470 = (_strcmp($469,13664)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13380)|0); + $473 = (_strcmp($472,13688)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13393)|0); + $476 = (_strcmp($475,13701)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13407)|0); + $479 = (_strcmp($478,13715)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13429)|0); + $482 = (_strcmp($481,13737)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13436)|0); + $485 = (_strcmp($484,13744)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13452)|0); + $488 = (_strcmp($487,13760)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13469)|0); + $491 = (_strcmp($490,13777)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13486)|0); + $494 = (_strcmp($493,13794)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13502)|0); + $497 = (_strcmp($496,13810)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13518)|0); + $500 = (_strcmp($499,13826)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13535)|0); + $503 = (_strcmp($502,13843)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13549)|0); + $506 = (_strcmp($505,13857)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13561)|0); + $509 = (_strcmp($508,13869)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13572)|0); + $512 = (_strcmp($511,13880)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13585)|0); + $515 = (_strcmp($514,13893)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13595)|0); + $518 = (_strcmp($517,13903)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13612)|0); + $521 = (_strcmp($520,13920)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13624)|0); + $524 = (_strcmp($523,13932)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13646)|0); + $527 = (_strcmp($526,13954)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13666)|0); + $530 = (_strcmp($529,13974)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13679)|0); + $533 = (_strcmp($532,13987)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13701)|0); + $536 = (_strcmp($535,14009)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13721)|0); + $539 = (_strcmp($538,14029)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13738)|0); + $542 = (_strcmp($541,14046)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13755)|0); + $545 = (_strcmp($544,14063)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13775)|0); + $548 = (_strcmp($547,14083)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -27539,7 +27502,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18936|0); + return (19240|0); } function ___stdio_close($0) { $0 = $0|0; @@ -28472,7 +28435,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13891 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14199 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -28650,7 +28613,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14355;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14663;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -28671,7 +28634,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14355;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14663;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -28679,8 +28642,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14355 : (14357); - $$$ = $238 ? $$ : (14356); + $$ = $240 ? 14663 : (14665); + $$$ = $238 ? $$ : (14664); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -28697,7 +28660,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14355;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14663;$242 = $167;$243 = $170; label = 66; break; } @@ -28710,7 +28673,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14355;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14663;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -28724,7 +28687,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14365; + $271 = $270 ? $269 : 14673; $$1 = $271; label = 71; break; @@ -28764,7 +28727,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14355;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14663;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28786,8 +28749,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14355 + ($208)|0); - $$289 = $or$cond283 ? 14355 : $209; + $209 = (14663 + ($208)|0); + $$289 = $or$cond283 ? 14663 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28808,7 +28771,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14355;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14663;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -29338,7 +29301,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14407 + ($7)|0); + $9 = (14715 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -29696,14 +29659,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14372; + $$0471 = $14;$$0520 = 1;$$0521 = 14680; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14373) : (14378); - $$$ = $16 ? $$ : (14375); + $$ = $18 ? (14681) : (14686); + $$$ = $16 ? $$ : (14683); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29802,7 +29765,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14407 + ($80)|0); + $81 = (14715 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -30413,7 +30376,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14423,1); + _out($0,14731,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -30494,7 +30457,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14423,1); + _out($0,14731,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -30551,9 +30514,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14391 : 14395; + $29 = $28 ? 14699 : 14703; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14399 : 14403; + $31 = $28 ? 14707 : 14711; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30763,7 +30726,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14425 + ($$016)|0); + $3 = (14733 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30774,7 +30737,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14513;$$115 = 87; + $$01214 = 14821;$$115 = 87; label = 5; break; } else { @@ -30784,9 +30747,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14513; + $$012$lcssa = 14821; } else { - $$01214 = 14513;$$115 = $$016; + $$01214 = 14821;$$115 = $$016; label = 5; } } @@ -31469,7 +31432,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16317,$3,4)|0); + $memchr = (_memchr(16625,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -31558,7 +31521,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16317,$4,4)|0); + $memchr = (_memchr(16625,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -31649,7 +31612,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18940)>>2]|0; + $38 = HEAP32[(19244)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -31682,13 +31645,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19000|0)); - return (19008|0); + ___lock((19304|0)); + return (19312|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19000|0)); + ___unlock((19304|0)); return; } function _fclose($0) { @@ -32752,7 +32715,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16592; + $2 = 16896; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32969,7 +32932,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4753]|0; + $3 = HEAP32[4829]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32988,22 +32951,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4753] = 0; + HEAP32[4829] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4753] = $10; + HEAP32[4829] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4753] = 0; + HEAP32[4829] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4753] = $13; + HEAP32[4829] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -33084,7 +33047,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4754]|0; + $8 = HEAP32[4830]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -33093,7 +33056,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19056 + ($15<<2)|0); + $16 = (19360 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -33104,9 +33067,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4754] = $24; + HEAP32[4830] = $24; } else { - $25 = HEAP32[(19032)>>2]|0; + $25 = HEAP32[(19336)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -33137,7 +33100,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19024)>>2]|0; + $37 = HEAP32[(19328)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -33171,7 +33134,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19056 + ($68<<2)|0); + $69 = (19360 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -33182,10 +33145,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4754] = $77; + HEAP32[4830] = $77; $98 = $77; } else { - $78 = HEAP32[(19032)>>2]|0; + $78 = HEAP32[(19336)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -33218,22 +33181,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19036)>>2]|0; + $92 = HEAP32[(19340)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19056 + ($94<<2)|0); + $95 = (19360 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4754] = $100; + HEAP32[4830] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19032)>>2]|0; + $103 = HEAP32[(19336)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -33250,12 +33213,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19024)>>2] = $84; - HEAP32[(19036)>>2] = $87; + HEAP32[(19328)>>2] = $84; + HEAP32[(19340)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19020)>>2]|0; + $108 = HEAP32[(19324)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -33283,7 +33246,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19320 + ($132<<2)|0); + $133 = (19624 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33323,7 +33286,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19032)>>2]|0; + $155 = HEAP32[(19336)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -33418,7 +33381,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19320 + ($188<<2)|0); + $189 = (19624 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -33429,11 +33392,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19020)>>2] = $194; + HEAP32[(19324)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19032)>>2]|0; + $195 = HEAP32[(19336)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -33454,7 +33417,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19032)>>2]|0; + $201 = HEAP32[(19336)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -33484,7 +33447,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19032)>>2]|0; + $213 = HEAP32[(19336)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -33521,22 +33484,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19036)>>2]|0; + $231 = HEAP32[(19340)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19056 + ($233<<2)|0); + $234 = (19360 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4754] = $238; + HEAP32[4830] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19032)>>2]|0; + $241 = HEAP32[(19336)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -33553,8 +33516,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19024)>>2] = $$0193$lcssa$i; - HEAP32[(19036)>>2] = $157; + HEAP32[(19328)>>2] = $$0193$lcssa$i; + HEAP32[(19340)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -33570,7 +33533,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19020)>>2]|0; + $250 = HEAP32[(19324)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -33610,7 +33573,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19320 + ($$0358$i<<2)|0); + $278 = (19624 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -33702,7 +33665,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19320 + ($330<<2)|0); + $331 = (19624 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -33746,11 +33709,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19024)>>2]|0; + $345 = HEAP32[(19328)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19032)>>2]|0; + $348 = HEAP32[(19336)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33847,7 +33810,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19320 + ($381<<2)|0); + $382 = (19624 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33858,12 +33821,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19020)>>2] = $387; + HEAP32[(19324)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19032)>>2]|0; + $388 = HEAP32[(19336)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33885,7 +33848,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19032)>>2]|0; + $394 = HEAP32[(19336)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33917,7 +33880,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19032)>>2]|0; + $406 = HEAP32[(19336)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33958,20 +33921,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19056 + ($425<<2)|0); - $427 = HEAP32[4754]|0; + $426 = (19360 + ($425<<2)|0); + $427 = HEAP32[4830]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4754] = $431; + HEAP32[4830] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19032)>>2]|0; + $434 = HEAP32[(19336)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -34023,7 +33986,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19320 + ($$0361$i<<2)|0); + $464 = (19624 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -34035,7 +33998,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19020)>>2] = $472; + HEAP32[(19324)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -34074,7 +34037,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19032)>>2]|0; + $491 = HEAP32[(19336)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -34093,7 +34056,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19032)>>2]|0; + $498 = HEAP32[(19336)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -34126,16 +34089,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19024)>>2]|0; + $506 = HEAP32[(19328)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19036)>>2]|0; + $509 = HEAP32[(19340)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19036)>>2] = $511; - HEAP32[(19024)>>2] = $508; + HEAP32[(19340)>>2] = $511; + HEAP32[(19328)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -34145,8 +34108,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19024)>>2] = 0; - HEAP32[(19036)>>2] = 0; + HEAP32[(19328)>>2] = 0; + HEAP32[(19340)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -34160,14 +34123,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19028)>>2]|0; + $524 = HEAP32[(19332)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19028)>>2] = $526; - $527 = HEAP32[(19040)>>2]|0; + HEAP32[(19332)>>2] = $526; + $527 = HEAP32[(19344)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19040)>>2] = $528; + HEAP32[(19344)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -34178,23 +34141,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4872]|0; + $534 = HEAP32[4948]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19496)>>2] = 4096; - HEAP32[(19492)>>2] = 4096; - HEAP32[(19500)>>2] = -1; - HEAP32[(19504)>>2] = -1; - HEAP32[(19508)>>2] = 0; - HEAP32[(19460)>>2] = 0; + HEAP32[(19800)>>2] = 4096; + HEAP32[(19796)>>2] = 4096; + HEAP32[(19804)>>2] = -1; + HEAP32[(19808)>>2] = -1; + HEAP32[(19812)>>2] = 0; + HEAP32[(19764)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4872] = $538; + HEAP32[4948] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19496)>>2]|0; + $$pre$i212 = HEAP32[(19800)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -34207,10 +34170,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19456)>>2]|0; + $546 = HEAP32[(19760)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19448)>>2]|0; + $548 = HEAP32[(19752)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -34220,18 +34183,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19460)>>2]|0; + $552 = HEAP32[(19764)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19040)>>2]|0; + $555 = HEAP32[(19344)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19464); + $$0$i$i = (19768); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -34289,7 +34252,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19492)>>2]|0; + $569 = HEAP32[(19796)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34299,13 +34262,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19448)>>2]|0; + $578 = HEAP32[(19752)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19456)>>2]|0; + $582 = HEAP32[(19760)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -34351,7 +34314,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19496)>>2]|0; + $601 = HEAP32[(19800)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -34376,9 +34339,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19460)>>2]|0; + $611 = HEAP32[(19764)>>2]|0; $612 = $611 | 4; - HEAP32[(19460)>>2] = $612; + HEAP32[(19764)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -34414,35 +34377,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19448)>>2]|0; + $626 = HEAP32[(19752)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19448)>>2] = $627; - $628 = HEAP32[(19452)>>2]|0; + HEAP32[(19752)>>2] = $627; + $628 = HEAP32[(19756)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19452)>>2] = $627; + HEAP32[(19756)>>2] = $627; } - $630 = HEAP32[(19040)>>2]|0; + $630 = HEAP32[(19344)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19032)>>2]|0; + $632 = HEAP32[(19336)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19032)>>2] = $$749$i; - } - HEAP32[(19464)>>2] = $$749$i; - HEAP32[(19468)>>2] = $$723948$i; - HEAP32[(19476)>>2] = 0; - $635 = HEAP32[4872]|0; - HEAP32[(19052)>>2] = $635; - HEAP32[(19048)>>2] = -1; + HEAP32[(19336)>>2] = $$749$i; + } + HEAP32[(19768)>>2] = $$749$i; + HEAP32[(19772)>>2] = $$723948$i; + HEAP32[(19780)>>2] = 0; + $635 = HEAP32[4948]|0; + HEAP32[(19356)>>2] = $635; + HEAP32[(19352)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19056 + ($636<<2)|0); + $637 = (19360 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -34465,18 +34428,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19040)>>2] = $649; - HEAP32[(19028)>>2] = $650; + HEAP32[(19344)>>2] = $649; + HEAP32[(19332)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19504)>>2]|0; - HEAP32[(19044)>>2] = $655; + $655 = HEAP32[(19808)>>2]|0; + HEAP32[(19348)>>2] = $655; } else { - $$024371$i = (19464); + $$024371$i = (19768); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -34508,7 +34471,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19028)>>2]|0; + $671 = HEAP32[(19332)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -34519,30 +34482,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19040)>>2] = $679; - HEAP32[(19028)>>2] = $681; + HEAP32[(19344)>>2] = $679; + HEAP32[(19332)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19504)>>2]|0; - HEAP32[(19044)>>2] = $686; + $686 = HEAP32[(19808)>>2]|0; + HEAP32[(19348)>>2] = $686; break; } } } - $687 = HEAP32[(19032)>>2]|0; + $687 = HEAP32[(19336)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19032)>>2] = $$749$i; + HEAP32[(19336)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19464); + $$124470$i = (19768); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -34597,21 +34560,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19028)>>2]|0; + $726 = HEAP32[(19332)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19028)>>2] = $727; - HEAP32[(19040)>>2] = $721; + HEAP32[(19332)>>2] = $727; + HEAP32[(19344)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19036)>>2]|0; + $730 = HEAP32[(19340)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19024)>>2]|0; + $732 = HEAP32[(19328)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19024)>>2] = $733; - HEAP32[(19036)>>2] = $721; + HEAP32[(19328)>>2] = $733; + HEAP32[(19340)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -34634,7 +34597,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19056 + ($748<<2)|0); + $749 = (19360 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -34657,9 +34620,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4754]|0; + $759 = HEAP32[4830]|0; $760 = $759 & $758; - HEAP32[4754] = $760; + HEAP32[4830] = $760; break; } $761 = ($747|0)==($749|0); @@ -34772,7 +34735,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19320 + ($796<<2)|0); + $797 = (19624 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34784,12 +34747,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19020)>>2]|0; + $802 = HEAP32[(19324)>>2]|0; $803 = $802 & $801; - HEAP32[(19020)>>2] = $803; + HEAP32[(19324)>>2] = $803; break L314; } else { - $804 = HEAP32[(19032)>>2]|0; + $804 = HEAP32[(19336)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34810,7 +34773,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19032)>>2]|0; + $810 = HEAP32[(19336)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34842,7 +34805,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19032)>>2]|0; + $822 = HEAP32[(19336)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34875,21 +34838,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19056 + ($836<<2)|0); - $838 = HEAP32[4754]|0; + $837 = (19360 + ($836<<2)|0); + $838 = HEAP32[4830]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4754] = $842; + HEAP32[4830] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19032)>>2]|0; + $845 = HEAP32[(19336)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34944,20 +34907,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19320 + ($$0296$i$i<<2)|0); + $875 = (19624 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19020)>>2]|0; + $879 = HEAP32[(19324)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19020)>>2] = $883; + HEAP32[(19324)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34996,7 +34959,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19032)>>2]|0; + $902 = HEAP32[(19336)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -35015,7 +34978,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19032)>>2]|0; + $909 = HEAP32[(19336)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -35042,7 +35005,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19464); + $$0$i$i$i = (19768); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -35083,23 +35046,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19040)>>2] = $946; - HEAP32[(19028)>>2] = $947; + HEAP32[(19344)>>2] = $946; + HEAP32[(19332)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19504)>>2]|0; - HEAP32[(19044)>>2] = $952; + $952 = HEAP32[(19808)>>2]|0; + HEAP32[(19348)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19464)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19464)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19464)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19464)+12>>2]|0; - HEAP32[(19464)>>2] = $$749$i; - HEAP32[(19468)>>2] = $$723948$i; - HEAP32[(19476)>>2] = 0; - HEAP32[(19472)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19768)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19768)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19768)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19768)+12>>2]|0; + HEAP32[(19768)>>2] = $$749$i; + HEAP32[(19772)>>2] = $$723948$i; + HEAP32[(19780)>>2] = 0; + HEAP32[(19776)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -35128,20 +35091,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19056 + ($968<<2)|0); - $970 = HEAP32[4754]|0; + $969 = (19360 + ($968<<2)|0); + $970 = HEAP32[4830]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4754] = $974; + HEAP32[4830] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19032)>>2]|0; + $977 = HEAP32[(19336)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -35193,19 +35156,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19320 + ($$0212$i$i<<2)|0); + $1007 = (19624 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19020)>>2]|0; + $1010 = HEAP32[(19324)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19020)>>2] = $1014; + HEAP32[(19324)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -35244,7 +35207,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19032)>>2]|0; + $1033 = HEAP32[(19336)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -35263,7 +35226,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19032)>>2]|0; + $1040 = HEAP32[(19336)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -35286,14 +35249,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19028)>>2]|0; + $1048 = HEAP32[(19332)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19028)>>2] = $1050; - $1051 = HEAP32[(19040)>>2]|0; + HEAP32[(19332)>>2] = $1050; + $1051 = HEAP32[(19344)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19040)>>2] = $1052; + HEAP32[(19344)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35336,7 +35299,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19032)>>2]|0; + $3 = HEAP32[(19336)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -35369,7 +35332,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19036)>>2]|0; + $19 = HEAP32[(19340)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -35384,7 +35347,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19024)>>2] = $17; + HEAP32[(19328)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -35398,7 +35361,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19056 + ($27<<2)|0); + $28 = (19360 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -35418,9 +35381,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4754]|0; + $37 = HEAP32[4830]|0; $38 = $37 & $36; - HEAP32[4754] = $38; + HEAP32[4830] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -35534,7 +35497,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19320 + ($74<<2)|0); + $75 = (19624 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -35544,14 +35507,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19020)>>2]|0; + $80 = HEAP32[(19324)>>2]|0; $81 = $80 & $79; - HEAP32[(19020)>>2] = $81; + HEAP32[(19324)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19032)>>2]|0; + $82 = HEAP32[(19336)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -35573,7 +35536,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19032)>>2]|0; + $88 = HEAP32[(19336)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -35605,7 +35568,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19032)>>2]|0; + $100 = HEAP32[(19336)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -35640,14 +35603,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19040)>>2]|0; + $120 = HEAP32[(19344)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19036)>>2]|0; + $122 = HEAP32[(19340)>>2]|0; if ($121) { - $123 = HEAP32[(19028)>>2]|0; + $123 = HEAP32[(19332)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19028)>>2] = $124; - HEAP32[(19040)>>2] = $$1; + HEAP32[(19332)>>2] = $124; + HEAP32[(19344)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -35655,16 +35618,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19036)>>2] = 0; - HEAP32[(19024)>>2] = 0; + HEAP32[(19340)>>2] = 0; + HEAP32[(19328)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19024)>>2]|0; + $129 = HEAP32[(19328)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19024)>>2] = $130; - HEAP32[(19036)>>2] = $113; + HEAP32[(19328)>>2] = $130; + HEAP32[(19340)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -35683,10 +35646,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19056 + ($142<<2)|0); + $143 = (19360 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19032)>>2]|0; + $145 = HEAP32[(19336)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -35704,9 +35667,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4754]|0; + $153 = HEAP32[4830]|0; $154 = $153 & $152; - HEAP32[4754] = $154; + HEAP32[4830] = $154; break; } $155 = ($141|0)==($143|0); @@ -35714,7 +35677,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19032)>>2]|0; + $156 = HEAP32[(19336)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35774,7 +35737,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19032)>>2]|0; + $189 = HEAP32[(19336)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35787,7 +35750,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19032)>>2]|0; + $169 = HEAP32[(19336)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35818,7 +35781,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19320 + ($193<<2)|0); + $194 = (19624 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35828,13 +35791,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19020)>>2]|0; + $199 = HEAP32[(19324)>>2]|0; $200 = $199 & $198; - HEAP32[(19020)>>2] = $200; + HEAP32[(19324)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19032)>>2]|0; + $201 = HEAP32[(19336)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35855,7 +35818,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19032)>>2]|0; + $207 = HEAP32[(19336)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35885,7 +35848,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19032)>>2]|0; + $219 = HEAP32[(19336)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35906,10 +35869,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19036)>>2]|0; + $226 = HEAP32[(19340)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19024)>>2] = $135; + HEAP32[(19328)>>2] = $135; return; } else { $$2 = $135; @@ -35928,20 +35891,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19056 + ($234<<2)|0); - $236 = HEAP32[4754]|0; + $235 = (19360 + ($234<<2)|0); + $236 = HEAP32[4830]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4754] = $240; + HEAP32[4830] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19032)>>2]|0; + $243 = HEAP32[(19336)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35993,21 +35956,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19320 + ($$0396<<2)|0); + $273 = (19624 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19020)>>2]|0; + $277 = HEAP32[(19324)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19020)>>2] = $281; + HEAP32[(19324)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -36045,7 +36008,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19032)>>2]|0; + $300 = HEAP32[(19336)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -36064,7 +36027,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19032)>>2]|0; + $307 = HEAP32[(19336)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -36086,12 +36049,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19048)>>2]|0; + $314 = HEAP32[(19352)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19048)>>2] = $315; + HEAP32[(19352)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19472); + $$0212$in$i = (19776); } else { return; } @@ -36105,7 +36068,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19048)>>2] = -1; + HEAP32[(19352)>>2] = -1; return; } function _realloc($0,$1) { @@ -36177,7 +36140,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19032)>>2]|0; + $6 = HEAP32[(19336)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -36207,7 +36170,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19496)>>2]|0; + $18 = HEAP32[(19800)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -36243,10 +36206,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19040)>>2]|0; + $34 = HEAP32[(19344)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19028)>>2]|0; + $36 = HEAP32[(19332)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -36262,15 +36225,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19040)>>2] = $40; - HEAP32[(19028)>>2] = $39; + HEAP32[(19344)>>2] = $40; + HEAP32[(19332)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19036)>>2]|0; + $46 = HEAP32[(19340)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19024)>>2]|0; + $48 = HEAP32[(19328)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36306,8 +36269,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19024)>>2] = $storemerge1; - HEAP32[(19036)>>2] = $storemerge; + HEAP32[(19328)>>2] = $storemerge1; + HEAP32[(19340)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36334,7 +36297,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19056 + ($81<<2)|0); + $82 = (19360 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -36354,9 +36317,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4754]|0; + $91 = HEAP32[4830]|0; $92 = $91 & $90; - HEAP32[4754] = $92; + HEAP32[4830] = $92; break; } $93 = ($80|0)==($82|0); @@ -36465,7 +36428,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19320 + ($128<<2)|0); + $129 = (19624 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -36475,13 +36438,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19020)>>2]|0; + $134 = HEAP32[(19324)>>2]|0; $135 = $134 & $133; - HEAP32[(19020)>>2] = $135; + HEAP32[(19324)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19032)>>2]|0; + $136 = HEAP32[(19336)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -36502,7 +36465,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19032)>>2]|0; + $142 = HEAP32[(19336)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -36532,7 +36495,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19032)>>2]|0; + $154 = HEAP32[(19336)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -36617,13 +36580,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19032)>>2]|0; + $13 = HEAP32[(19336)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19036)>>2]|0; + $15 = HEAP32[(19340)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -36638,7 +36601,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19024)>>2] = $12; + HEAP32[(19328)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -36652,7 +36615,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19056 + ($23<<2)|0); + $24 = (19360 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -36672,9 +36635,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4754]|0; + $33 = HEAP32[4830]|0; $34 = $33 & $32; - HEAP32[4754] = $34; + HEAP32[4830] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36788,7 +36751,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19320 + ($70<<2)|0); + $71 = (19624 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36798,14 +36761,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19020)>>2]|0; + $76 = HEAP32[(19324)>>2]|0; $77 = $76 & $75; - HEAP32[(19020)>>2] = $77; + HEAP32[(19324)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19032)>>2]|0; + $78 = HEAP32[(19336)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36827,7 +36790,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19032)>>2]|0; + $84 = HEAP32[(19336)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36859,7 +36822,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19032)>>2]|0; + $96 = HEAP32[(19336)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36878,7 +36841,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19032)>>2]|0; + $108 = HEAP32[(19336)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36889,14 +36852,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19040)>>2]|0; + $114 = HEAP32[(19344)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19036)>>2]|0; + $116 = HEAP32[(19340)>>2]|0; if ($115) { - $117 = HEAP32[(19028)>>2]|0; + $117 = HEAP32[(19332)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19028)>>2] = $118; - HEAP32[(19040)>>2] = $$1; + HEAP32[(19332)>>2] = $118; + HEAP32[(19344)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36904,16 +36867,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19036)>>2] = 0; - HEAP32[(19024)>>2] = 0; + HEAP32[(19340)>>2] = 0; + HEAP32[(19328)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19024)>>2]|0; + $123 = HEAP32[(19328)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19024)>>2] = $124; - HEAP32[(19036)>>2] = $$1; + HEAP32[(19328)>>2] = $124; + HEAP32[(19340)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36932,7 +36895,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19056 + ($136<<2)|0); + $137 = (19360 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36952,9 +36915,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4754]|0; + $146 = HEAP32[4830]|0; $147 = $146 & $145; - HEAP32[4754] = $147; + HEAP32[4830] = $147; break; } $148 = ($135|0)==($137|0); @@ -37063,7 +37026,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19320 + ($183<<2)|0); + $184 = (19624 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -37073,13 +37036,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19020)>>2]|0; + $189 = HEAP32[(19324)>>2]|0; $190 = $189 & $188; - HEAP32[(19020)>>2] = $190; + HEAP32[(19324)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19032)>>2]|0; + $191 = HEAP32[(19336)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -37100,7 +37063,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19032)>>2]|0; + $197 = HEAP32[(19336)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -37130,7 +37093,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19032)>>2]|0; + $209 = HEAP32[(19336)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -37151,10 +37114,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19036)>>2]|0; + $216 = HEAP32[(19340)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19024)>>2] = $129; + HEAP32[(19328)>>2] = $129; return; } else { $$2 = $129; @@ -37173,20 +37136,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19056 + ($224<<2)|0); - $226 = HEAP32[4754]|0; + $225 = (19360 + ($224<<2)|0); + $226 = HEAP32[4830]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4754] = $230; + HEAP32[4830] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19032)>>2]|0; + $233 = HEAP32[(19336)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -37238,20 +37201,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19320 + ($$0431<<2)|0); + $263 = (19624 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19020)>>2]|0; + $267 = HEAP32[(19324)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19020)>>2] = $271; + HEAP32[(19324)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -37290,7 +37253,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19032)>>2]|0; + $290 = HEAP32[(19336)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37308,7 +37271,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19032)>>2]|0; + $297 = HEAP32[(19336)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_rectangle.png b/docs/examples/web/textures/textures_rectangle.png new file mode 100644 index 00000000..aa66464e Binary files /dev/null and b/docs/examples/web/textures/textures_rectangle.png differ diff --git a/docs/examples/web/textures/textures_srcrec_dstrec.c b/docs/examples/web/textures/textures_srcrec_dstrec.c index e97d5f5e..5a938188 100644 --- a/docs/examples/web/textures/textures_srcrec_dstrec.c +++ b/docs/examples/web/textures/textures_srcrec_dstrec.c @@ -22,7 +22,7 @@ int screenWidth = 800; int screenHeight = 450; // NOTE: Textures MUST be loaded after Window initialization (OpenGL context is required) -Texture2D guybrush; +Texture2D scarfy; int frameWidth; int frameHeight; @@ -33,7 +33,6 @@ Vector2 origin; int rotation = 0; - //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- @@ -48,10 +47,10 @@ int main() //-------------------------------------------------------------------------------------- InitWindow(screenWidth, screenHeight, "raylib [textures] examples - texture source and destination rectangles"); - guybrush = LoadTexture("resources/guybrush.png"); // Texture loading + scarfy = LoadTexture("resources/scarfy.png"); // Texture loading - frameWidth = guybrush.width/7; - frameHeight = guybrush.height; + frameWidth = scarfy.width/6; + frameHeight = scarfy.height; // NOTE: On PLATFORM_WEB, NPOT textures support is limited @@ -79,9 +78,9 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - UnloadTexture(guybrush); // Texture unloading + UnloadTexture(scarfy); // Texture unloading - CloseWindow(); // Close window and OpenGL context + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- return 0; @@ -108,10 +107,12 @@ void UpdateDrawFrame(void) // destRec defines the rectangle where our texture part will fit (scaling it to fit) // origin defines the point of the texture used as reference for rotation and scaling // rotation defines the texture rotation (using origin as rotation point) - DrawTexturePro(guybrush, sourceRec, destRec, origin, rotation, WHITE); + DrawTexturePro(scarfy, sourceRec, destRec, origin, rotation, WHITE); DrawLine(destRec.x, 0, destRec.x, screenHeight, GRAY); DrawLine(0, destRec.y, screenWidth, destRec.y, GRAY); + + DrawText("(c) Scarfy sprite by Eiden Marsal", screenWidth - 200, screenHeight - 20, 10, GRAY); EndDrawing(); //---------------------------------------------------------------------------------- diff --git a/docs/examples/web/textures/textures_srcrec_dstrec.js b/docs/examples/web/textures/textures_srcrec_dstrec.js index f875c53e..94422761 100644 --- a/docs/examples/web/textures/textures_srcrec_dstrec.js +++ b/docs/examples/web/textures/textures_srcrec_dstrec.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "0c81d7ef-8efa-4375-981e-51c20e176324"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 21597, "filename": "/resources/scarfy.png"}], "remote_package_size": 21597, "package_uuid": "57440067-30a2-4bd1-a22c-0761e9c17be7"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 21984; +STATICTOP = STATIC_BASE + 22000; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,211,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,115,32,45,32,116,101,120,116,117,114,101,32,115,111,117,114,99,101,32,97,110,100,32,100,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,115,0,114,101,115,111,117,114,99,101,115,47,103,117,121,98,114,117,115,104,46,112,110,103,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,235,81,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,115,32,45,32,116,101,120,116,117,114,101,32,115,111,117,114,99,101,32,97,110,100,32,100,101,115,116,105,110,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,115,0,114,101,115,111,117,114,99,101,115,47,115,99,97,114,102,121,46,112,110,103,0,40,99,41,32,83,99,97,114,102,121,32,115,112,114,105,116,101,32,98,121,32,69,105,100,101,110,32,77,97,114,115,97,108,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10461,111 +10461,175 @@ function getTempRet0() { } function _main() { - var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $guybrush$byval_copy = 0, label = 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $scarfy$byval_copy = 0, label = 0; var sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); - $guybrush$byval_copy = sp + 20|0; + $scarfy$byval_copy = sp + 20|0; $0 = sp; $1 = HEAP32[2]|0; $2 = HEAP32[3]|0; _InitWindow($1,$2,3996); _LoadTexture($0,4067); - ;HEAP32[16404>>2]=HEAP32[$0>>2]|0;HEAP32[16404+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16404+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16404+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16404+16>>2]=HEAP32[$0+16>>2]|0; - $3 = HEAP32[(16408)>>2]|0; - $4 = (($3|0) / 7)&-1; - HEAP32[4106] = $4; - $5 = HEAP32[(16412)>>2]|0; - HEAP32[4107] = $5; - HEAP32[4108] = 0; - HEAP32[(16436)>>2] = 0; - HEAP32[(16440)>>2] = $4; - HEAP32[(16444)>>2] = $5; + ;HEAP32[16748>>2]=HEAP32[$0>>2]|0;HEAP32[16748+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16748+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16748+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16748+16>>2]=HEAP32[$0+16>>2]|0; + $3 = HEAP32[(16752)>>2]|0; + $4 = (($3|0) / 6)&-1; + HEAP32[4192] = $4; + $5 = HEAP32[(16756)>>2]|0; + HEAP32[4193] = $5; + HEAP32[4194] = 0; + HEAP32[(16780)>>2] = 0; + HEAP32[(16784)>>2] = $4; + HEAP32[(16788)>>2] = $5; $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; $8 = HEAP32[3]|0; $9 = (($8|0) / 2)&-1; - $10 = HEAP32[4106]|0; + $10 = HEAP32[4192]|0; $11 = $10 << 1; - $12 = HEAP32[4107]|0; + $12 = HEAP32[4193]|0; $13 = $12 << 1; - HEAP32[4112] = $7; - HEAP32[(16452)>>2] = $9; - HEAP32[(16456)>>2] = $11; - HEAP32[(16460)>>2] = $13; - $14 = HEAP32[4106]|0; + HEAP32[4198] = $7; + HEAP32[(16796)>>2] = $9; + HEAP32[(16800)>>2] = $11; + HEAP32[(16804)>>2] = $13; + $14 = HEAP32[4192]|0; $15 = (+($14|0)); - $16 = HEAP32[4107]|0; + $16 = HEAP32[4193]|0; $17 = (+($16|0)); - HEAPF32[4116] = $15; - HEAPF32[(16468)>>2] = $17; + HEAPF32[4202] = $15; + HEAPF32[(16812)>>2] = $17; _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$guybrush$byval_copy>>2]=HEAP32[16404>>2]|0;HEAP32[$guybrush$byval_copy+4>>2]=HEAP32[16404+4>>2]|0;HEAP32[$guybrush$byval_copy+8>>2]=HEAP32[16404+8>>2]|0;HEAP32[$guybrush$byval_copy+12>>2]=HEAP32[16404+12>>2]|0;HEAP32[$guybrush$byval_copy+16>>2]=HEAP32[16404+16>>2]|0; - _UnloadTexture($guybrush$byval_copy); + ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16748>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16748+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16748+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16748+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16748+16>>2]|0; + _UnloadTexture($scarfy$byval_copy); _CloseWindow(); STACKTOP = sp;return 0; } function _UpdateDrawFrame() { - var $$byval_copy2 = 0, $0 = 0, $1 = 0, $10 = 0.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; - var $8 = 0, $9 = 0, $destRec$byval_copy = 0, $guybrush$byval_copy = 0, $origin$byval_copy = 0, $sourceRec$byval_copy = 0, label = 0, sp = 0; + var $$byval_copy3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0.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; + var $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $destRec$byval_copy = 0, $origin$byval_copy = 0, $scarfy$byval_copy = 0, $sourceRec$byval_copy = 0, label = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); - $$byval_copy2 = sp + 76|0; - $origin$byval_copy = sp + 56|0; - $destRec$byval_copy = sp + 40|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $$byval_copy3 = sp + 88|0; + $origin$byval_copy = sp + 64|0; + $destRec$byval_copy = sp + 48|0; $sourceRec$byval_copy = sp + 24|0; - $guybrush$byval_copy = sp + 4|0; - $0 = sp + 72|0; - $1 = sp; - $2 = sp + 68|0; - $3 = sp + 64|0; - $4 = HEAP32[4100]|0; - $5 = (($4) + 1)|0; - HEAP32[4100] = $5; + $scarfy$byval_copy = sp; + $0 = sp + 84|0; + $1 = sp + 40|0; + $2 = sp + 80|0; + $3 = sp + 76|0; + $4 = sp + 72|0; + $5 = HEAP32[4186]|0; + $6 = (($5) + 1)|0; + HEAP32[4186] = $6; _BeginDrawing(); HEAP8[$0>>0] = -11; - $6 = ((($0)) + 1|0); - HEAP8[$6>>0] = -11; - $7 = ((($0)) + 2|0); + $7 = ((($0)) + 1|0); HEAP8[$7>>0] = -11; - $8 = ((($0)) + 3|0); - HEAP8[$8>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$0+3>>0]|0; - _ClearBackground($$byval_copy2); - $9 = HEAP32[4100]|0; - $10 = (+($9|0)); + $8 = ((($0)) + 2|0); + HEAP8[$8>>0] = -11; + $9 = ((($0)) + 3|0); + HEAP8[$9>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy3); + $10 = HEAP32[4186]|0; + $11 = (+($10|0)); HEAP32[$1>>2] = -1; - ;HEAP32[$guybrush$byval_copy>>2]=HEAP32[16404>>2]|0;HEAP32[$guybrush$byval_copy+4>>2]=HEAP32[16404+4>>2]|0;HEAP32[$guybrush$byval_copy+8>>2]=HEAP32[16404+8>>2]|0;HEAP32[$guybrush$byval_copy+12>>2]=HEAP32[16404+12>>2]|0;HEAP32[$guybrush$byval_copy+16>>2]=HEAP32[16404+16>>2]|0; - ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[16432>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[16432+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[16432+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[16432+12>>2]|0; - ;HEAP32[$destRec$byval_copy>>2]=HEAP32[16448>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[16448+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[16448+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[16448+12>>2]|0; - ;HEAP32[$origin$byval_copy>>2]=HEAP32[16464>>2]|0;HEAP32[$origin$byval_copy+4>>2]=HEAP32[16464+4>>2]|0; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$1+3>>0]|0; - _DrawTexturePro($guybrush$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$origin$byval_copy,$10,$$byval_copy2); - $11 = HEAP32[4112]|0; - $12 = HEAP32[3]|0; + ;HEAP32[$scarfy$byval_copy>>2]=HEAP32[16748>>2]|0;HEAP32[$scarfy$byval_copy+4>>2]=HEAP32[16748+4>>2]|0;HEAP32[$scarfy$byval_copy+8>>2]=HEAP32[16748+8>>2]|0;HEAP32[$scarfy$byval_copy+12>>2]=HEAP32[16748+12>>2]|0;HEAP32[$scarfy$byval_copy+16>>2]=HEAP32[16748+16>>2]|0; + ;HEAP32[$sourceRec$byval_copy>>2]=HEAP32[16776>>2]|0;HEAP32[$sourceRec$byval_copy+4>>2]=HEAP32[16776+4>>2]|0;HEAP32[$sourceRec$byval_copy+8>>2]=HEAP32[16776+8>>2]|0;HEAP32[$sourceRec$byval_copy+12>>2]=HEAP32[16776+12>>2]|0; + ;HEAP32[$destRec$byval_copy>>2]=HEAP32[16792>>2]|0;HEAP32[$destRec$byval_copy+4>>2]=HEAP32[16792+4>>2]|0;HEAP32[$destRec$byval_copy+8>>2]=HEAP32[16792+8>>2]|0;HEAP32[$destRec$byval_copy+12>>2]=HEAP32[16792+12>>2]|0; + ;HEAP32[$origin$byval_copy>>2]=HEAP32[16808>>2]|0;HEAP32[$origin$byval_copy+4>>2]=HEAP32[16808+4>>2]|0; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$1+3>>0]|0; + _DrawTexturePro($scarfy$byval_copy,$sourceRec$byval_copy,$destRec$byval_copy,$origin$byval_copy,$11,$$byval_copy3); + $12 = HEAP32[4198]|0; + $13 = HEAP32[3]|0; HEAP8[$2>>0] = -126; - $13 = ((($2)) + 1|0); - HEAP8[$13>>0] = -126; - $14 = ((($2)) + 2|0); + $14 = ((($2)) + 1|0); HEAP8[$14>>0] = -126; - $15 = ((($2)) + 3|0); - HEAP8[$15>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$2+3>>0]|0; - _DrawLine($11,0,$11,$12,$$byval_copy2); - $16 = HEAP32[(16452)>>2]|0; - $17 = HEAP32[2]|0; + $15 = ((($2)) + 2|0); + HEAP8[$15>>0] = -126; + $16 = ((($2)) + 3|0); + HEAP8[$16>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$2>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$2+3>>0]|0; + _DrawLine($12,0,$12,$13,$$byval_copy3); + $17 = HEAP32[(16796)>>2]|0; + $18 = HEAP32[2]|0; HEAP8[$3>>0] = -126; - $18 = ((($3)) + 1|0); - HEAP8[$18>>0] = -126; - $19 = ((($3)) + 2|0); + $19 = ((($3)) + 1|0); HEAP8[$19>>0] = -126; - $20 = ((($3)) + 3|0); - HEAP8[$20>>0] = -1; - ;HEAP8[$$byval_copy2>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$3+3>>0]|0; - _DrawLine(0,$16,$17,$16,$$byval_copy2); + $20 = ((($3)) + 2|0); + HEAP8[$20>>0] = -126; + $21 = ((($3)) + 3|0); + HEAP8[$21>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$3>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$3+3>>0]|0; + _DrawLine(0,$17,$18,$17,$$byval_copy3); + $22 = HEAP32[2]|0; + $23 = (($22) + -200)|0; + $24 = HEAP32[3]|0; + $25 = (($24) + -20)|0; + HEAP8[$4>>0] = -126; + $26 = ((($4)) + 1|0); + HEAP8[$26>>0] = -126; + $27 = ((($4)) + 2|0); + HEAP8[$27>>0] = -126; + $28 = ((($4)) + 3|0); + HEAP8[$28>>0] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$4+3>>0]|0; + _DrawText(4088,$23,$25,10,$$byval_copy3); _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10665,13 +10729,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11281,7 +11338,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4119] = $2; + HEAP32[4205] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11294,7 +11351,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16128; + $95 = 16472; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11307,48 +11364,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16168; + $106 = 16512; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4042]; - $111 = +HEAPF32[4032]; + $110 = +HEAPF32[4128]; + $111 = +HEAPF32[4118]; $112 = $110 - $111; - HEAPF32[4044] = $112; - $113 = +HEAPF32[(16172)>>2]; - $114 = +HEAPF32[(16132)>>2]; + HEAPF32[4130] = $112; + $113 = +HEAPF32[(16516)>>2]; + $114 = +HEAPF32[(16476)>>2]; $115 = $113 - $114; - HEAPF32[(16180)>>2] = $115; - HEAP32[4118] = 4; + HEAPF32[(16524)>>2] = $115; + HEAP32[4204] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4124] = $116; - $117 = 16160; + HEAPF32[4210] = $116; + $117 = 16504; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16128; + $123 = 16472; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16184; + $127 = 16528; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16168; + $133 = 16512; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11361,7 +11418,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16160; + $144 = 16504; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11374,27 +11431,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16184; + $155 = 16528; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4046]; - $160 = +HEAPF32[4040]; + $159 = +HEAPF32[4132]; + $160 = +HEAPF32[4126]; $161 = $159 - $160; - HEAPF32[4044] = $161; - $162 = +HEAPF32[(16188)>>2]; - $163 = +HEAPF32[(16164)>>2]; + HEAPF32[4130] = $161; + $162 = +HEAPF32[(16532)>>2]; + $163 = +HEAPF32[(16508)>>2]; $164 = $162 - $163; - HEAPF32[(16180)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + HEAPF32[(16524)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16168>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16168+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16512>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16512+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11406,31 +11463,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4124]; + $170 = +HEAPF32[4210]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4118] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16160+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16184>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16184+4>>2]|0; + HEAP32[4204] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16504+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16528>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16528+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4125] = $174; + HEAPF32[4211] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4124] = 0.0; - HEAPF32[4125] = 0.0; - HEAPF32[4044] = 0.0; - HEAPF32[(16180)>>2] = 0.0; - HEAP32[4119] = 0; - HEAP32[4118] = 0; + HEAPF32[4210] = 0.0; + HEAPF32[4211] = 0.0; + HEAPF32[4130] = 0.0; + HEAPF32[(16524)>>2] = 0.0; + HEAP32[4205] = 0; + HEAP32[4204] = 0; STACKTOP = sp;return; break; } @@ -11440,22 +11497,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4120]|0; + $6 = HEAP32[4206]|0; $7 = (($6) + 1)|0; - HEAP32[4120] = $7; - $8 = HEAP32[4118]|0; + HEAP32[4206] = $7; + $8 = HEAP32[4204]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4118] = 2; - HEAP32[4120] = 0; + HEAP32[4204] = 2; + HEAP32[4206] = 0; } else { label = 6; } @@ -11463,8 +11520,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4120] = 1; - HEAP32[4118] = 1; + HEAP32[4206] = 1; + HEAP32[4204] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11473,19 +11530,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16128; + $21 = 16472; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16136; + $25 = 16480; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16144; + $29 = 16488; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11494,13 +11551,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4038] = 0.0; - HEAPF32[(16156)>>2] = 0.0; + HEAPF32[4124] = 0.0; + HEAPF32[(16500)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4118]|0; + $35 = HEAP32[4204]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11510,19 +11567,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16144; + $44 = 16488; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16144+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16488>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16488+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4121] = $49; - HEAP32[4122] = 0; + HEAPF32[4207] = $49; + HEAP32[4208] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11530,11 +11587,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16144>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16144+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16488>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16488+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4123] = $56; + HEAPF32[4209] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11565,22 +11622,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4121] = 0.0; - HEAPF32[4123] = 0.0; + HEAPF32[4207] = 0.0; + HEAPF32[4209] = 0.0; $$sink10 = 0; } - HEAP32[4118] = $$sink10; - HEAPF32[4034] = 0.0; - HEAPF32[(16140)>>2] = 0.0; - HEAP32[4119] = 0; + HEAP32[4204] = $$sink10; + HEAPF32[4120] = 0.0; + HEAPF32[(16484)>>2] = 0.0; + HEAP32[4205] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4122]|0; + $65 = HEAP32[4208]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4122] = 1; + HEAP32[4208] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11589,31 +11646,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16160; + $74 = 16504; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4118]|0; + $78 = HEAP32[4204]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16128>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16128+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16160>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16160+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16472>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16472+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16504>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16504+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4118] = 8; + HEAP32[4204] = 8; } } - $82 = +HEAPF32[4040]; - $83 = +HEAPF32[4034]; + $82 = +HEAPF32[4126]; + $83 = +HEAPF32[4120]; $84 = $82 - $83; - HEAPF32[4038] = $84; - $85 = +HEAPF32[(16164)>>2]; - $86 = +HEAPF32[(16140)>>2]; + HEAPF32[4124] = $84; + $85 = +HEAPF32[(16508)>>2]; + $86 = +HEAPF32[(16484)>>2]; $87 = $85 - $86; - HEAPF32[(16156)>>2] = $87; + HEAPF32[(16500)>>2] = $87; STACKTOP = sp;return; break; } @@ -11622,58 +11679,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4118]|0; + $0 = HEAP32[4204]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4119]|0; + $2 = HEAP32[4205]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4118] = 4; + HEAP32[4204] = 4; } - $4 = HEAP32[4118]|0; + $4 = HEAP32[4204]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11686,14 +11704,14 @@ function _UpdateGestures() { return; } } - HEAP32[4118] = 0; + HEAP32[4204] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16192; + $1 = 16536; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11710,13 +11728,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4128]|0; + $0 = HEAP32[4214]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4127]|0; + $0 = HEAP32[4213]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11727,29 +11745,29 @@ function _InitWindow($0,$1,$2) { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - _TraceLog(0,4090,$vararg_buffer); - HEAP32[4130] = $2; + _TraceLog(0,4122,$vararg_buffer); + HEAP32[4216] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); - (_emscripten_set_keypress_callback((4119|0),(0|0),1,(5|0))|0); - (_emscripten_set_click_callback((4119|0),(0|0),1,(6|0))|0); - (_emscripten_set_touchstart_callback((4119|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchend_callback((4119|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchmove_callback((4119|0),(0|0),1,(7|0))|0); - (_emscripten_set_touchcancel_callback((4119|0),(0|0),1,(7|0))|0); + (_emscripten_set_keypress_callback((4151|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((4151|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((4151|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((4151|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((4151|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((4151|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4128]|0; + $3 = HEAP32[4214]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4048] = $5; - $6 = HEAP32[4127]|0; + HEAPF32[4134] = $5; + $6 = HEAP32[4213]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16196)>>2] = $8; - $9 = HEAP32[4131]|0; + HEAPF32[(16540)>>2] = $8; + $9 = HEAP32[4217]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11768,11 +11786,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16232>>0]=HEAP8[8619>>0]|0;HEAP8[16232+1>>0]=HEAP8[8619+1>>0]|0;HEAP8[16232+2>>0]=HEAP8[8619+2>>0]|0;HEAP8[16232+3>>0]=HEAP8[8619+3>>0]|0;HEAP8[16232+4>>0]=HEAP8[8619+4>>0]|0;HEAP8[16232+5>>0]=HEAP8[8619+5>>0]|0;HEAP8[16232+6>>0]=HEAP8[8619+6>>0]|0; + ;HEAP8[16576>>0]=HEAP8[8651>>0]|0;HEAP8[16576+1>>0]=HEAP8[8651+1>>0]|0;HEAP8[16576+2>>0]=HEAP8[8651+2>>0]|0;HEAP8[16576+3>>0]=HEAP8[8651+3>>0]|0;HEAP8[16576+4>>0]=HEAP8[8651+4>>0]|0;HEAP8[16576+5>>0]=HEAP8[8651+5>>0]|0;HEAP8[16576+6>>0]=HEAP8[8651+6>>0]|0; break; } case 1: { - $3 = 16232; + $3 = 16576; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11781,11 +11799,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16232; src=8626; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16576; src=8658; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16232; + $7 = 16576; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11796,16 +11814,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16232,$1)|0); - $strlen = (_strlen(16232)|0); - $endptr = (16232 + ($strlen)|0); + (_strcat(16576,$1)|0); + $strlen = (_strlen(16576)|0); + $endptr = (16576 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16232,$2)|0); + (_vprintf(16576,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11837,22 +11855,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4128] = $0; - HEAP32[4127] = $1; + HEAP32[4214] = $0; + HEAP32[4213] = $1; _MatrixIdentity($2); - dest=16600; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=16944; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { - _TraceLog(1,4761,$vararg_buffer); + _TraceLog(1,4793,$vararg_buffer); } - $6 = HEAP32[4128]|0; - HEAP32[4166] = $6; - $7 = HEAP32[4127]|0; - HEAP32[4167] = $7; + $6 = HEAP32[4214]|0; + HEAP32[4252] = $6; + $7 = HEAP32[4213]|0; + HEAP32[4253] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19332]|0; + $8 = HEAP8[19676]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11860,18 +11878,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19332]|0; + $11 = HEAP8[19676]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19332]|0; + $14 = HEAP8[19676]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4787,$vararg_buffer1); + _TraceLog(0,4819,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -11888,18 +11906,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4168]|0; + $21 = HEAP32[4254]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4128]|0; - $48 = HEAP32[4127]|0; - $49 = HEAP32[4130]|0; + $47 = HEAP32[4214]|0; + $48 = HEAP32[4213]|0; + $49 = HEAP32[4216]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4126] = $50; - $51 = HEAP32[4128]|0; - HEAP32[4169] = $51; - $52 = HEAP32[4127]|0; - HEAP32[4170] = $52; + HEAP32[4212] = $50; + $51 = HEAP32[4214]|0; + HEAP32[4255] = $51; + $52 = HEAP32[4213]|0; + HEAP32[4256] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11908,9 +11926,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4128]|0; + $27 = HEAP32[4214]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4127]|0; + $29 = HEAP32[4213]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11932,87 +11950,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4166] = $31; - HEAP32[4167] = $34; + HEAP32[4252] = $31; + HEAP32[4253] = $34; } } while(0); - $38 = HEAP32[4166]|0; - $39 = HEAP32[4167]|0; + $38 = HEAP32[4252]|0; + $39 = HEAP32[4253]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; - _TraceLog(2,4812,$vararg_buffer3); - $40 = HEAP32[4166]|0; - $41 = HEAP32[4167]|0; + _TraceLog(2,4844,$vararg_buffer3); + $40 = HEAP32[4252]|0; + $41 = HEAP32[4253]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4166]|0; - $43 = HEAP32[4167]|0; - $44 = HEAP32[4130]|0; + $42 = HEAP32[4252]|0; + $43 = HEAP32[4253]|0; + $44 = HEAP32[4216]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4126] = $46; + HEAP32[4212] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4850,$vararg_buffer6); + _TraceLog(1,4882,$vararg_buffer6); } else { - _TraceLog(0,4883,$vararg_buffer8); - $55 = HEAP32[4169]|0; - $56 = HEAP32[4170]|0; + _TraceLog(0,4915,$vararg_buffer8); + $55 = HEAP32[4255]|0; + $56 = HEAP32[4256]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; - _TraceLog(0,4923,$vararg_buffer10); - $57 = HEAP32[4128]|0; - $58 = HEAP32[4127]|0; + _TraceLog(0,4955,$vararg_buffer10); + $57 = HEAP32[4214]|0; + $58 = HEAP32[4213]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; - _TraceLog(0,4944,$vararg_buffer14); - $59 = HEAP32[4171]|0; - $60 = HEAP32[4172]|0; + _TraceLog(0,4976,$vararg_buffer14); + $59 = HEAP32[4257]|0; + $60 = HEAP32[4258]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4965,$vararg_buffer18); + _TraceLog(0,4997,$vararg_buffer18); } - $61 = HEAP32[4126]|0; + $61 = HEAP32[4212]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4126]|0; + $62 = HEAP32[4212]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4126]|0; + $63 = HEAP32[4212]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4126]|0; + $64 = HEAP32[4212]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4126]|0; + $65 = HEAP32[4212]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4126]|0; + $66 = HEAP32[4212]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4126]|0; + $67 = HEAP32[4212]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4126]|0; + $68 = HEAP32[4212]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4126]|0; + $69 = HEAP32[4212]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19332]|0; + $70 = HEAP8[19676]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4128]|0; - $74 = HEAP32[4127]|0; + $73 = HEAP32[4214]|0; + $74 = HEAP32[4213]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4169]|0; - $76 = HEAP32[4171]|0; + $75 = HEAP32[4255]|0; + $76 = HEAP32[4257]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4170]|0; - $80 = HEAP32[4172]|0; + $79 = HEAP32[4256]|0; + $80 = HEAP32[4258]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12030,19 +12048,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4990,$vararg_buffer22); - $73 = HEAP32[4128]|0; - $74 = HEAP32[4127]|0; + _TraceLog(0,5022,$vararg_buffer22); + $73 = HEAP32[4214]|0; + $74 = HEAP32[4213]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4169]|0; - $76 = HEAP32[4171]|0; + $75 = HEAP32[4255]|0; + $76 = HEAP32[4257]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4170]|0; - $80 = HEAP32[4172]|0; + $79 = HEAP32[4256]|0; + $80 = HEAP32[4258]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12070,7 +12088,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16568)>>2] = 224; + HEAP32[(16912)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12111,27 +12129,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16544>>2]=HEAP32[$1>>2]|0;HEAP32[16544+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16544+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16544+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16544+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[16888>>2]=HEAP32[$1>>2]|0;HEAP32[16888+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16888+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16888+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16888+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16568)>>2]|0; + $5 = HEAP32[(16912)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16572)>>2] = $7; + HEAP32[(16916)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16564)>>2] = $23; - $24 = HEAP32[4136]|0; + HEAP32[(16908)>>2] = $23; + $24 = HEAP32[4222]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4314,$vararg_buffer); + _TraceLog(0,4346,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16548)>>2]|0; - $10 = HEAP32[(16568)>>2]|0; - $11 = HEAP32[(16572)>>2]|0; + $9 = HEAP32[(16892)>>2]|0; + $10 = HEAP32[(16912)>>2]|0; + $11 = HEAP32[(16916)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12180,10 +12198,10 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16564)>>2] = $23; - $24 = HEAP32[4136]|0; + HEAP32[(16908)>>2] = $23; + $24 = HEAP32[4222]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,4314,$vararg_buffer); + _TraceLog(0,4346,$vararg_buffer); STACKTOP = sp;return; } function _InitTimer() { @@ -12192,7 +12210,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2028] = $1; + HEAPF64[2071] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12222,7 +12240,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,4247,$vararg_buffer4); + _TraceLog(0,4279,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12232,7 +12250,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,4178,$vararg_buffer); + _TraceLog(0,4210,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12248,7 +12266,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,4171)|0); + $5 = (_strcmp($4,4203)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12351,7 +12369,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16208; + $31 = 16552; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12364,7 +12382,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16216); + $42 = (16560); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12420,7 +12438,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16528 + ($10<<2)|0); + $11 = (16872 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12434,19 +12452,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2025] = $$; + HEAPF64[2068] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,4127,$vararg_buffer); + _TraceLog(0,4159,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4131] = 0; + HEAP32[4217] = 0; return; } function _GetTime() { @@ -12545,7 +12563,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4661,$vararg_buffer); + _TraceLog(2,4693,$vararg_buffer); STACKTOP = sp;return; } ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$0+16>>2]|0; @@ -13022,52 +13040,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4144]|0; + $6 = HEAP32[4230]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,4359,$vararg_buffer); + _TraceLog(2,4391,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4145]|0; + $9 = HEAP32[4231]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,4403,$vararg_buffer1); + _TraceLog(2,4435,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4146]|0; + $12 = HEAP32[4232]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); $or$cond = $14 & $13; if ($or$cond) { - _TraceLog(2,4448,$vararg_buffer3); + _TraceLog(2,4480,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4147]|0; + $15 = HEAP32[4233]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); $or$cond96 = $17 & $16; if ($or$cond96) { - _TraceLog(2,4493,$vararg_buffer5); + _TraceLog(2,4525,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4148]|0; + $18 = HEAP32[4234]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); $or$cond98 = $20 & $19; if ($or$cond98) { - _TraceLog(2,4538,$vararg_buffer7); + _TraceLog(2,4570,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13105,7 +13123,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4144]|0; + $22 = HEAP32[4230]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13113,7 +13131,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4144]|0; + $24 = HEAP32[4230]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13121,7 +13139,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4144]|0; + $26 = HEAP32[4230]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13129,7 +13147,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4144]|0; + $28 = HEAP32[4230]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13137,7 +13155,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4145]|0; + $30 = HEAP32[4231]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13145,7 +13163,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4146]|0; + $32 = HEAP32[4232]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13153,7 +13171,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4146]|0; + $34 = HEAP32[4232]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13161,7 +13179,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4147]|0; + $36 = HEAP32[4233]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13169,7 +13187,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4147]|0; + $38 = HEAP32[4233]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13177,7 +13195,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4148]|0; + $40 = HEAP32[4234]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13185,7 +13203,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4148]|0; + $42 = HEAP32[4234]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13193,11 +13211,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4583,$vararg_buffer9); + _TraceLog(2,4615,$vararg_buffer9); } } } while(0); - $44 = HEAP32[4149]|0; + $44 = HEAP32[4235]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13212,7 +13230,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,10710,$vararg_buffer15); + _TraceLog(2,11050,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13221,7 +13239,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { HEAP32[$vararg_ptr13>>2] = $1; $vararg_ptr14 = ((($vararg_buffer11)) + 8|0); HEAP32[$vararg_ptr14>>2] = $2; - _TraceLog(0,4612,$vararg_buffer11); + _TraceLog(0,4644,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13495,7 +13513,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4715,$vararg_buffer); + _TraceLog(2,4747,$vararg_buffer); $$1 = $$0106; } } @@ -13522,7 +13540,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8581,$vararg_buffer); + _TraceLog(2,8613,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -13543,20 +13561,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4128]|0; + $3 = HEAP32[4214]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4127]|0; + $5 = HEAP32[4213]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4169] = $3; - HEAP32[4170] = $5; - HEAP32[4171] = 0; - HEAP32[4172] = 0; + HEAP32[4255] = $3; + HEAP32[4256] = $5; + HEAP32[4257] = 0; + HEAP32[4258] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13566,13 +13584,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8515,$vararg_buffer8); + _TraceLog(0,8547,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4128]|0; + $35 = HEAP32[4214]|0; $36 = (+($35|0)); - $37 = HEAP32[4127]|0; + $37 = HEAP32[4213]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13580,26 +13598,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4169] = $45; - HEAP32[4170] = $37; + HEAP32[4255] = $45; + HEAP32[4256] = $37; $46 = (($45) - ($35))|0; - HEAP32[4171] = $46; + HEAP32[4257] = $46; $$sink1 = 0; } else { - HEAP32[4169] = $35; + HEAP32[4255] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4170] = $42; - HEAP32[4171] = 0; + HEAP32[4256] = $42; + HEAP32[4257] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4172] = $$sink1; + HEAP32[4258] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4127]|0; + $7 = HEAP32[4213]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13607,13 +13625,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,8372,$vararg_buffer); + _TraceLog(2,8404,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4128]|0; + $9 = HEAP32[4214]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4127]|0; + $13 = HEAP32[4213]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13621,37 +13639,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4169] = $23; - HEAP32[4170] = $1; + HEAP32[4255] = $23; + HEAP32[4256] = $1; $24 = (($0) - ($23))|0; - HEAP32[4171] = $24; + HEAP32[4257] = $24; $$sink = 0; } else { - HEAP32[4169] = $0; - $17 = HEAP32[4127]|0; + HEAP32[4255] = $0; + $17 = HEAP32[4213]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4170] = $20; - HEAP32[4171] = 0; + HEAP32[4256] = $20; + HEAP32[4257] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4172] = $$sink; - $25 = HEAP32[4169]|0; + HEAP32[4258] = $$sink; + $25 = HEAP32[4255]|0; $26 = (+($25|0)); - $27 = HEAP32[4128]|0; + $27 = HEAP32[4214]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=16600; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4169] = $0; - HEAP32[4170] = $1; + dest=16944; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4255] = $0; + HEAP32[4256] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,8450,$vararg_buffer4); + _TraceLog(2,8482,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -13669,10 +13687,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4128] = $1; - HEAP32[4127] = $2; - HEAP32[4169] = $1; - HEAP32[4170] = $2; + HEAP32[4214] = $1; + HEAP32[4213] = $2; + HEAP32[4255] = $1; + HEAP32[4256] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13699,7 +13717,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19339 + ($1)|0); + $9 = (19683 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13720,7 +13738,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19333 + ($1)|0); + $7 = (19677 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13799,7 +13817,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16208; + $15 = 16552; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13834,7 +13852,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4542] = $3; + HEAP32[4628] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13844,7 +13862,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4541] = $$sink; + HEAP32[4627] = $$sink; return; } function _rlglInit($0,$1) { @@ -13884,16 +13902,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,5013,$vararg_buffer); + _TraceLog(0,5045,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,5031,$vararg_buffer1); + _TraceLog(0,5063,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,5049,$vararg_buffer4); + _TraceLog(0,5081,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,5067,$vararg_buffer7); + _TraceLog(0,5099,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -13901,7 +13919,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,5085)|0); + $15 = (_strtok($$sink63,5117)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -13915,41 +13933,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,5087,$vararg_buffer10); + _TraceLog(0,5119,$vararg_buffer10); $20 = ($$062|0)>(1); if ($20) { $$06167 = 0; while(1) { $23 = (($vararg_buffer7) + ($$06167<<2)|0); $24 = HEAP32[$23>>2]|0; - $25 = (_strcmp($24,5122)|0); + $25 = (_strcmp($24,5154)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4207] = 1; - $27 = (_eglGetProcAddress((5149|0))|0); - HEAP32[4208] = $27; - $28 = (_eglGetProcAddress((5170|0))|0); - HEAP32[4209] = $28; - $29 = (_eglGetProcAddress((5191|0))|0); - HEAP32[4210] = $29; - } - $30 = (_strcmp($24,5215)|0); + HEAP32[4293] = 1; + $27 = (_eglGetProcAddress((5181|0))|0); + HEAP32[4294] = $27; + $28 = (_eglGetProcAddress((5202|0))|0); + HEAP32[4295] = $28; + $29 = (_eglGetProcAddress((5223|0))|0); + HEAP32[4296] = $29; + } + $30 = (_strcmp($24,5247)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4149] = 1; + HEAP32[4235] = 1; } - $32 = (_strcmp($24,5235)|0); + $32 = (_strcmp($24,5267)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,5267)|0); + $35 = (_strcmp($34,5299)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,5300)|0); + $37 = (_strcmp($34,5332)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -13958,15 +13976,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4144] = 1; + HEAP32[4230] = 1; } - $39 = (_strcmp($24,5340)|0); + $39 = (_strcmp($24,5372)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,5376)|0); + $42 = (_strcmp($41,5408)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -13974,35 +13992,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4145] = 1; + HEAP32[4231] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,5409)|0); + $45 = (_strcmp($44,5441)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4146] = 1; + HEAP32[4232] = 1; } - $47 = (_strcmp($44,5434)|0); + $47 = (_strcmp($44,5466)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4147] = 1; + HEAP32[4233] = 1; } - $49 = (_strcmp($44,5467)|0); + $49 = (_strcmp($44,5499)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4148] = 1; + HEAP32[4234] = 1; } - $51 = (_strcmp($44,5503)|0); + $51 = (_strcmp($44,5535)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4211] = 1; - _glGetFloatv(34047,(16848|0)); + HEAP32[4297] = 1; + _glGetFloatv(34047,(17192|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5537)|0); + $54 = (_strcmp($53,5569)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4213] = 1; + HEAP32[4299] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14013,77 +14031,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4207]|0; + $21 = HEAP32[4293]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5640,$vararg_buffer15); + _TraceLog(2,5672,$vararg_buffer15); } else { - _TraceLog(0,5565,$vararg_buffer13); + _TraceLog(0,5597,$vararg_buffer13); } - $57 = HEAP32[4149]|0; + $57 = HEAP32[4235]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5776,$vararg_buffer19); + _TraceLog(2,5808,$vararg_buffer19); } else { - _TraceLog(0,5701,$vararg_buffer17); + _TraceLog(0,5733,$vararg_buffer17); } - $59 = HEAP32[4144]|0; + $59 = HEAP32[4230]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5868,$vararg_buffer21); + _TraceLog(0,5900,$vararg_buffer21); } - $61 = HEAP32[4145]|0; + $61 = HEAP32[4231]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5914,$vararg_buffer23); + _TraceLog(0,5946,$vararg_buffer23); } - $63 = HEAP32[4146]|0; + $63 = HEAP32[4232]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5961,$vararg_buffer25); + _TraceLog(0,5993,$vararg_buffer25); } - $65 = HEAP32[4147]|0; + $65 = HEAP32[4233]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,6012,$vararg_buffer27); + _TraceLog(0,6044,$vararg_buffer27); } - $67 = HEAP32[4148]|0; + $67 = HEAP32[4234]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,6059,$vararg_buffer29); + _TraceLog(0,6091,$vararg_buffer29); } - $69 = HEAP32[4211]|0; + $69 = HEAP32[4297]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4212]; + $71 = +HEAPF32[4298]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,6106,$vararg_buffer31); + _TraceLog(0,6138,$vararg_buffer31); } - $73 = HEAP32[4213]|0; + $73 = HEAP32[4299]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,6172,$vararg_buffer34); + _TraceLog(0,6204,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4214] = $75; + HEAP32[4300] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,6276,$vararg_buffer39); + _TraceLog(2,6308,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,6225,$vararg_buffer36); + _TraceLog(0,6257,$vararg_buffer36); } _LoadDefaultShader($2); - dest=16860; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16916; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17204; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17260; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4243] = $77; + HEAP32[4329] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4243]|0; + $79 = HEAP32[4329]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14096,7 +14114,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4244] = $78; + HEAP32[4330] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14111,48 +14129,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4245] = 1; - $85 = HEAP32[4214]|0; + HEAP32[4331] = 1; + $85 = HEAP32[4300]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4246] = 4; + HEAP32[4332] = 4; _MatrixIdentity($4); - dest=16988; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17332; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17052); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17396); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17116); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17460); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17180); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17524); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17244); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17588); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17308); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17652); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17372); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17716); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17436); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17780); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17500); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17844); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17564); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17908); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17628); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17972); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17692); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18036); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17756); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18100); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17820); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18164); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17884); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18228); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17948); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18292); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=16696; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17040; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=16760; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4173] = 16760; + dest=17104; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4259] = 17104; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14163,21 +14181,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4503] = $0; - HEAP32[4504] = $1; - _TraceLog(0,6315,$vararg_buffer41); + HEAP32[4589] = $0; + HEAP32[4590] = $1; + _TraceLog(0,6347,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4171]|0; + $0 = HEAP32[4257]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4172]|0; + $2 = HEAP32[4258]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4169]|0; + $4 = HEAP32[4255]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4170]|0; + $6 = HEAP32[4256]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14188,12 +14206,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 16696; + $modelview$sink = 17040; label = 3; break; } case 5888: { - $modelview$sink = 16760; + $modelview$sink = 17104; label = 3; break; } @@ -14201,9 +14219,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4173] = $modelview$sink; + HEAP32[4259] = $modelview$sink; } - HEAP32[4206] = $0; + HEAP32[4292] = $0; return; } function _rlLoadIdentity() { @@ -14211,7 +14229,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4173]|0; + $1 = HEAP32[4259]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14232,7 +14250,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4173]|0; + $8 = HEAP32[4259]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14291,17 +14309,17 @@ function _LoadDefaultShader($0) { $1 = sp + 16|0; $2 = sp + 513|0; $3 = sp + 72|0; - _memcpy(($2|0),(6891|0),489)|0; - _memcpy(($3|0),(7380|0),441)|0; + _memcpy(($2|0),(6923|0),489)|0; + _memcpy(($3|0),(7412|0),441)|0; $4 = (_LoadShaderProgram($2,$3)|0); HEAP32[$1>>2] = $4; $5 = ($4|0)==(0); if ($5) { HEAP32[$vararg_buffer1>>2] = $4; - _TraceLog(2,7869,$vararg_buffer1); + _TraceLog(2,7901,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7821,$vararg_buffer); + _TraceLog(0,7853,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14329,15 +14347,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18032)>>2] = $0; + HEAP32[(18376)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18040)>>2] = $1; - HEAP32[(18036)>>2] = 0; - HEAP32[(18044)>>2] = 0; + HEAP32[(18384)>>2] = $1; + HEAP32[(18380)>>2] = 0; + HEAP32[(18388)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18040)>>2]|0; + $2 = HEAP32[(18384)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14348,19 +14366,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4505] = 0; - HEAP32[(18028)>>2] = 0; - HEAP32[(18024)>>2] = 0; + HEAP32[4591] = 0; + HEAP32[(18372)>>2] = 0; + HEAP32[(18368)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18080)>>2] = $5; + HEAP32[(18424)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18088)>>2] = $6; - HEAP32[(18084)>>2] = 0; - HEAP32[(18092)>>2] = 0; + HEAP32[(18432)>>2] = $6; + HEAP32[(18428)>>2] = 0; + HEAP32[(18436)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18088)>>2]|0; + $7 = HEAP32[(18432)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14371,24 +14389,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4517] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[(18072)>>2] = 0; + HEAP32[4603] = 0; + HEAP32[(18420)>>2] = 0; + HEAP32[(18416)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18128)>>2] = $10; + HEAP32[(18472)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18132)>>2] = $11; + HEAP32[(18476)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18136)>>2] = $12; + HEAP32[(18480)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18140)>>2] = $13; - $14 = HEAP32[(18128)>>2]|0; + HEAP32[(18484)>>2] = $13; + $14 = HEAP32[(18472)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18132)>>2]|0; + $15 = HEAP32[(18476)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18136)>>2]|0; + $17 = HEAP32[(18480)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14399,7 +14417,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18140)>>2]|0; + $16 = HEAP32[(18484)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14436,140 +14454,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4529] = 0; - HEAP32[(18120)>>2] = 0; - HEAP32[(18124)>>2] = 0; - _TraceLog(0,6362,$vararg_buffer); - $20 = HEAP32[4207]|0; + HEAP32[4615] = 0; + HEAP32[(18464)>>2] = 0; + HEAP32[(18468)>>2] = 0; + _TraceLog(0,6394,$vararg_buffer); + $20 = HEAP32[4293]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4208]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18048)); - $44 = HEAP32[4209]|0; - $45 = HEAP32[(18048)>>2]|0; + $43 = HEAP32[4294]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18392)); + $44 = HEAP32[4295]|0; + $45 = HEAP32[(18392)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18052)|0)); - $46 = HEAP32[(18052)>>2]|0; + _glGenBuffers(2,((18396)|0)); + $46 = HEAP32[(18396)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18032)>>2]|0; + $47 = HEAP32[(18376)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(16920)>>2]|0; + $48 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(16920)>>2]|0; + $49 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18056)|0)); - $50 = HEAP32[(18056)>>2]|0; + _glGenBuffers(2,((18400)|0)); + $50 = HEAP32[(18400)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18040)>>2]|0; + $51 = HEAP32[(18384)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(16940)>>2]|0; + $52 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(16940)>>2]|0; + $53 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4207]|0; + $54 = HEAP32[4293]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18052)>>2]|0; - $58 = HEAP32[(18056)>>2]|0; + $57 = HEAP32[(18396)>>2]|0; + $58 = HEAP32[(18400)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6500,$vararg_buffer3); + _TraceLog(0,6532,$vararg_buffer3); } else { - $56 = HEAP32[(18048)>>2]|0; + $56 = HEAP32[(18392)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,6435,$vararg_buffer1); + _TraceLog(0,6467,$vararg_buffer1); } - $59 = HEAP32[4207]|0; + $59 = HEAP32[4293]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4208]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18096)); - $62 = HEAP32[4209]|0; - $63 = HEAP32[(18096)>>2]|0; + $61 = HEAP32[4294]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18440)); + $62 = HEAP32[4295]|0; + $63 = HEAP32[(18440)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18100)|0)); - $64 = HEAP32[(18100)>>2]|0; + _glGenBuffers(1,((18444)|0)); + $64 = HEAP32[(18444)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18080)>>2]|0; + $65 = HEAP32[(18424)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(16920)>>2]|0; + $66 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(16920)>>2]|0; + $67 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18104)|0)); - $68 = HEAP32[(18104)>>2]|0; + _glGenBuffers(1,((18448)|0)); + $68 = HEAP32[(18448)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18088)>>2]|0; + $69 = HEAP32[(18432)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(16940)>>2]|0; + $70 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(16940)>>2]|0; + $71 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4207]|0; + $72 = HEAP32[4293]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18100)>>2]|0; - $76 = HEAP32[(18104)>>2]|0; + $75 = HEAP32[(18444)>>2]|0; + $76 = HEAP32[(18448)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6646,$vararg_buffer10); + _TraceLog(0,6678,$vararg_buffer10); } else { - $74 = HEAP32[(18096)>>2]|0; + $74 = HEAP32[(18440)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6577,$vararg_buffer7); + _TraceLog(0,6609,$vararg_buffer7); } - $77 = HEAP32[4207]|0; + $77 = HEAP32[4293]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4208]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18144)); - $80 = HEAP32[4209]|0; - $81 = HEAP32[(18144)>>2]|0; + $79 = HEAP32[4294]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18488)); + $80 = HEAP32[4295]|0; + $81 = HEAP32[(18488)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18148)|0)); - $82 = HEAP32[(18148)>>2]|0; + _glGenBuffers(1,((18492)|0)); + $82 = HEAP32[(18492)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18128)>>2]|0; + $83 = HEAP32[(18472)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(16920)>>2]|0; + $84 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(16920)>>2]|0; + $85 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18152)|0)); - $86 = HEAP32[(18152)>>2]|0; + _glGenBuffers(1,((18496)|0)); + $86 = HEAP32[(18496)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18132)>>2]|0; + $87 = HEAP32[(18476)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(16924)>>2]|0; + $88 = HEAP32[(17268)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(16924)>>2]|0; + $89 = HEAP32[(17268)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18156)|0)); - $90 = HEAP32[(18156)>>2]|0; + _glGenBuffers(1,((18500)|0)); + $90 = HEAP32[(18500)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18136)>>2]|0; + $91 = HEAP32[(18480)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(16940)>>2]|0; + $92 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(16940)>>2]|0; + $93 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18160)|0)); - $94 = HEAP32[(18160)>>2]|0; + _glGenBuffers(1,((18504)|0)); + $94 = HEAP32[(18504)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18140)>>2]|0; + $95 = HEAP32[(18484)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4207]|0; + $96 = HEAP32[4293]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18148)>>2]|0; - $100 = HEAP32[(18152)>>2]|0; - $101 = HEAP32[(18156)>>2]|0; - $102 = HEAP32[(18160)>>2]|0; + $99 = HEAP32[(18492)>>2]|0; + $100 = HEAP32[(18496)>>2]|0; + $101 = HEAP32[(18500)>>2]|0; + $102 = HEAP32[(18504)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14577,18 +14595,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6792,$vararg_buffer17); + _TraceLog(0,6824,$vararg_buffer17); } else { - $98 = HEAP32[(18144)>>2]|0; + $98 = HEAP32[(18488)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6727,$vararg_buffer14); + _TraceLog(0,6759,$vararg_buffer14); } - $103 = HEAP32[4207]|0; + $103 = HEAP32[4293]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4209]|0; + $105 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14625,10 +14643,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,8125,$vararg_buffer4); + _TraceLog(0,8157,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,8073,$vararg_buffer); + _TraceLog(2,8105,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -14638,7 +14656,7 @@ function _LoadShaderProgram($0,$1) { $13 = HEAP32[$vararg_buffer>>2]|0; _glGetShaderInfoLog(($6|0),($13|0),($5|0),($12|0)); HEAP32[$vararg_buffer1>>2] = $12; - _TraceLog(0,8122,$vararg_buffer1); + _TraceLog(0,8154,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -14647,10 +14665,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,8226,$vararg_buffer13); + _TraceLog(0,8258,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,8175,$vararg_buffer7); + _TraceLog(2,8207,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -14660,25 +14678,25 @@ function _LoadShaderProgram($0,$1) { $19 = HEAP32[$vararg_buffer7>>2]|0; _glGetShaderInfoLog(($7|0),($19|0),($5|0),($18|0)); HEAP32[$vararg_buffer10>>2] = $18; - _TraceLog(0,8122,$vararg_buffer10); + _TraceLog(0,8154,$vararg_buffer10); _llvm_stackrestore(($17|0)); } $20 = (_glCreateProgram()|0); _glAttachShader(($20|0),($6|0)); _glAttachShader(($20|0),($7|0)); - _glBindAttribLocation(($20|0),0,(7917|0)); - _glBindAttribLocation(($20|0),1,(7932|0)); - _glBindAttribLocation(($20|0),2,(7963|0)); - _glBindAttribLocation(($20|0),3,(7990|0)); - _glBindAttribLocation(($20|0),4,(7976|0)); - _glBindAttribLocation(($20|0),5,(7947|0)); + _glBindAttribLocation(($20|0),0,(7949|0)); + _glBindAttribLocation(($20|0),1,(7964|0)); + _glBindAttribLocation(($20|0),2,(7995|0)); + _glBindAttribLocation(($20|0),3,(8022|0)); + _glBindAttribLocation(($20|0),4,(8008|0)); + _glBindAttribLocation(($20|0),5,(7979|0)); _glLinkProgram(($20|0)); _glGetProgramiv(($20|0),35714,($4|0)); $21 = HEAP32[$4>>2]|0; $22 = ($21|0)==(0); if ($22) { HEAP32[$vararg_buffer16>>2] = $20; - _TraceLog(2,8278,$vararg_buffer16); + _TraceLog(2,8310,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -14688,7 +14706,7 @@ function _LoadShaderProgram($0,$1) { $26 = HEAP32[$vararg_buffer16>>2]|0; _glGetProgramInfoLog(($20|0),($26|0),($5|0),($25|0)); HEAP32[$vararg_buffer19>>2] = $25; - _TraceLog(0,8122,$vararg_buffer19); + _TraceLog(0,8154,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -14697,7 +14715,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,8324,$vararg_buffer22); + _TraceLog(0,8356,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -14712,55 +14730,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7917|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7949|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7932|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7964|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7947|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7979|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7963|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7995|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7976|0))|0); + $14 = (_glGetAttribLocation(($13|0),(8008|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7990|0))|0); + $17 = (_glGetAttribLocation(($16|0),(8022|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(8002|0))|0); + $20 = (_glGetUniformLocation(($19|0),(8034|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(8012|0))|0); + $23 = (_glGetUniformLocation(($22|0),(8044|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(8023|0))|0); + $26 = (_glGetUniformLocation(($25|0),(8055|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(8034|0))|0); + $29 = (_glGetUniformLocation(($28|0),(8066|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(8046|0))|0); + $32 = (_glGetUniformLocation(($31|0),(8078|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(8055|0))|0); + $35 = (_glGetUniformLocation(($34|0),(8087|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(8064|0))|0); + $38 = (_glGetUniformLocation(($37|0),(8096|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -14769,9 +14787,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19333 + ($0)|0); + $1 = (19677 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19336 + ($0)|0); + $3 = (19680 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14783,9 +14801,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19333 + ($0)|0); + $1 = (19677 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19336 + ($0)|0); + $3 = (19680 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14806,10 +14824,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4126]|0; + $0 = HEAP32[4212]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8636,$vararg_buffer); + _TraceLog(0,8668,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -14817,9 +14835,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16544>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16544+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16544+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16544+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16544+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[16888>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16888+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16888+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16888+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16888+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16572)>>2]|0; + $0 = HEAP32[(16916)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14830,11 +14848,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(16856|0)); - $0 = HEAP32[4214]|0; + _glDeleteTextures(1,(17200|0)); + $0 = HEAP32[4300]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8663,$vararg_buffer); - $1 = HEAP32[4244]|0; + _TraceLog(0,8695,$vararg_buffer); + $1 = HEAP32[4330]|0; _free($1); STACKTOP = sp;return; } @@ -14842,17 +14860,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4215]|0; + $0 = HEAP32[4301]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4207]|0; + $0 = HEAP32[4293]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4209]|0; + $2 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14861,39 +14879,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18052)|0)); - _glDeleteBuffers(1,((18056)|0)); - _glDeleteBuffers(1,((18100)|0)); - _glDeleteBuffers(1,((18104)|0)); - _glDeleteBuffers(1,((18148)|0)); - _glDeleteBuffers(1,((18152)|0)); - _glDeleteBuffers(1,((18156)|0)); - _glDeleteBuffers(1,((18160)|0)); - $3 = HEAP32[4207]|0; + _glDeleteBuffers(1,((18396)|0)); + _glDeleteBuffers(1,((18400)|0)); + _glDeleteBuffers(1,((18444)|0)); + _glDeleteBuffers(1,((18448)|0)); + _glDeleteBuffers(1,((18492)|0)); + _glDeleteBuffers(1,((18496)|0)); + _glDeleteBuffers(1,((18500)|0)); + _glDeleteBuffers(1,((18504)|0)); + $3 = HEAP32[4293]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4210]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18048)); - $6 = HEAP32[4210]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18096)); - $7 = HEAP32[4210]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18144)); - } - $8 = HEAP32[(18032)>>2]|0; + $5 = HEAP32[4296]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18392)); + $6 = HEAP32[4296]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18440)); + $7 = HEAP32[4296]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18488)); + } + $8 = HEAP32[(18376)>>2]|0; _free($8); - $9 = HEAP32[(18040)>>2]|0; + $9 = HEAP32[(18384)>>2]|0; _free($9); - $10 = HEAP32[(18080)>>2]|0; + $10 = HEAP32[(18424)>>2]|0; _free($10); - $11 = HEAP32[(18088)>>2]|0; + $11 = HEAP32[(18432)>>2]|0; _free($11); - $12 = HEAP32[(18128)>>2]|0; + $12 = HEAP32[(18472)>>2]|0; _free($12); - $13 = HEAP32[(18132)>>2]|0; + $13 = HEAP32[(18476)>>2]|0; _free($13); - $14 = HEAP32[(18136)>>2]|0; + $14 = HEAP32[(18480)>>2]|0; _free($14); - $15 = HEAP32[(18140)>>2]|0; + $15 = HEAP32[(18484)>>2]|0; _free($15); return; } @@ -14911,7 +14929,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8728,$vararg_buffer); + _TraceLog(0,8760,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -14933,16 +14951,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2045] = $0; - $1 = +HEAPF64[2028]; + HEAPF64[2088] = $0; + $1 = +HEAPF64[2071]; $2 = $0 - $1; - HEAPF64[2046] = $2; - HEAPF64[2028] = $0; + HEAPF64[2089] = $2; + HEAPF64[2071] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=16600; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=16944; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18172); + _rlMultMatrixf(18516); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -14951,53 +14969,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4543] = $1; + HEAP32[4629] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18176)>>2] = $3; + HEAP32[(18520)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18180)>>2] = $5; + HEAP32[(18524)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18184)>>2] = $7; + HEAP32[(18528)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18188)>>2] = $9; + HEAP32[(18532)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18192)>>2] = $11; + HEAP32[(18536)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18196)>>2] = $13; + HEAP32[(18540)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18200)>>2] = $15; + HEAP32[(18544)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18204)>>2] = $17; + HEAP32[(18548)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18208)>>2] = $19; + HEAP32[(18552)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18212)>>2] = $21; + HEAP32[(18556)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18216)>>2] = $23; + HEAP32[(18560)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18220)>>2] = $25; + HEAP32[(18564)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18224)>>2] = $27; + HEAP32[(18568)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18228)>>2] = $29; + HEAP32[(18572)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18232)>>2] = $31; - return (18172|0); + HEAP32[(18576)>>2] = $31; + return (18516|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15072,7 +15090,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4173]|0; + $49 = HEAP32[4259]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15086,15 +15104,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2045] = $0; - $1 = +HEAPF64[2028]; + HEAPF64[2088] = $0; + $1 = +HEAPF64[2071]; $2 = $0 - $1; - HEAPF64[2047] = $2; - HEAPF64[2028] = $0; - $3 = +HEAPF64[2046]; + HEAPF64[2090] = $2; + HEAPF64[2071] = $0; + $3 = +HEAPF64[2089]; $4 = $2 + $3; - HEAPF64[2048] = $4; - $5 = +HEAPF64[2025]; + HEAPF64[2091] = $4; + $5 = +HEAPF64[2068]; $6 = $4 < $5; if (!($6)) { return; @@ -15104,13 +15122,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2045] = $10; - $11 = +HEAPF64[2028]; + HEAPF64[2088] = $10; + $11 = +HEAPF64[2071]; $12 = $10 - $11; - HEAPF64[2028] = $10; - $13 = +HEAPF64[2048]; + HEAPF64[2071] = $10; + $13 = +HEAPF64[2091]; $14 = $12 + $13; - HEAPF64[2048] = $14; + HEAPF64[2091] = $14; return; } function _rlglDraw() { @@ -15123,7 +15141,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4126]|0; + $0 = HEAP32[4212]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15139,20 +15157,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4559] = 0; - $3 = HEAP32[4126]|0; + HEAP32[4645] = 0; + $3 = HEAP32[4212]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4048] = $5; + HEAPF32[4134] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16196)>>2] = $7; - _memcpy((19851|0),(19339|0),512)|0; - ;HEAP8[19336>>0]=HEAP8[19333>>0]|0;HEAP8[19336+1>>0]=HEAP8[19333+1>>0]|0;HEAP8[19336+2>>0]=HEAP8[19333+2>>0]|0; - $8 = HEAP32[4542]|0; - HEAP32[4129] = $8; - HEAP32[4542] = 0; + HEAPF32[(16540)>>2] = $7; + _memcpy((20195|0),(19683|0),512)|0; + ;HEAP8[19680>>0]=HEAP8[19677>>0]|0;HEAP8[19680+1>>0]=HEAP8[19677+1>>0]|0;HEAP8[19680+2>>0]=HEAP8[19677+2>>0]|0; + $8 = HEAP32[4628]|0; + HEAP32[4215] = $8; + HEAP32[4628] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15162,8 +15180,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20363 + ($$05160<<5)|0); - $scevgep67 = (20491 + ($$05160<<5)|0); + $scevgep = (20707 + ($$05160<<5)|0); + $scevgep67 = (20835 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15177,7 +15195,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20491 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((20835 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15204,7 +15222,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18240 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18584 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15220,7 +15238,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4559] = $$lcssa; + HEAP32[4645] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15261,87 +15279,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4505]|0; + $0 = HEAP32[4591]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4207]|0; + $2 = HEAP32[4293]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4209]|0; - $5 = HEAP32[(18048)>>2]|0; + $4 = HEAP32[4295]|0; + $5 = HEAP32[(18392)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18052)>>2]|0; + $6 = HEAP32[(18396)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4505]|0; + $7 = HEAP32[4591]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18032)>>2]|0; + $9 = HEAP32[(18376)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18056)>>2]|0; + $10 = HEAP32[(18400)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18028)>>2]|0; + $11 = HEAP32[(18372)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18040)>>2]|0; + $13 = HEAP32[(18384)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4517]|0; + $14 = HEAP32[4603]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4207]|0; + $16 = HEAP32[4293]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4209]|0; - $19 = HEAP32[(18096)>>2]|0; + $18 = HEAP32[4295]|0; + $19 = HEAP32[(18440)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18100)>>2]|0; + $20 = HEAP32[(18444)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4517]|0; + $21 = HEAP32[4603]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18080)>>2]|0; + $23 = HEAP32[(18424)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18104)>>2]|0; + $24 = HEAP32[(18448)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18076)>>2]|0; + $25 = HEAP32[(18420)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18088)>>2]|0; + $27 = HEAP32[(18432)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4529]|0; + $28 = HEAP32[4615]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4207]|0; + $30 = HEAP32[4293]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4209]|0; - $33 = HEAP32[(18144)>>2]|0; + $32 = HEAP32[4295]|0; + $33 = HEAP32[(18488)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18148)>>2]|0; + $34 = HEAP32[(18492)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4529]|0; + $35 = HEAP32[4615]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18128)>>2]|0; + $37 = HEAP32[(18472)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18152)>>2]|0; + $38 = HEAP32[(18496)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4529]|0; + $39 = HEAP32[4615]|0; $40 = $39 << 3; - $41 = HEAP32[(18132)>>2]|0; + $41 = HEAP32[(18476)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18156)>>2]|0; + $42 = HEAP32[(18500)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4529]|0; + $43 = HEAP32[4615]|0; $44 = $43 << 2; - $45 = HEAP32[(18136)>>2]|0; + $45 = HEAP32[(18480)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4207]|0; + $46 = HEAP32[4293]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4209]|0; + $48 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15359,9 +15377,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=16696; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=16760; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4592]|0; + dest=$0; src=17040; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17104; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4678]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15371,134 +15389,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4505]|0; + $8 = HEAP32[4591]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4517]|0; + $10 = HEAP32[4603]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4529]|0; + $12 = HEAP32[4615]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4229]|0; + $14 = HEAP32[4315]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=16760; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=16696; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17104; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17040; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(16944)>>2]|0; + $15 = HEAP32[(17288)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(16948)>>2]|0; + $17 = HEAP32[(17292)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(16960)>>2]|0; + $18 = HEAP32[(17304)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4505]|0; + $19 = HEAP32[4591]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4214]|0; + $21 = HEAP32[4300]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4207]|0; + $22 = HEAP32[4293]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18052)>>2]|0; + $26 = HEAP32[(18396)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(16920)>>2]|0; + $27 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(16920)>>2]|0; + $28 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18056)>>2]|0; + $29 = HEAP32[(18400)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(16940)>>2]|0; + $30 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(16940)>>2]|0; + $31 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4209]|0; - $25 = HEAP32[(18048)>>2]|0; + $24 = HEAP32[4295]|0; + $25 = HEAP32[(18392)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4505]|0; + $32 = HEAP32[4591]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4207]|0; + $33 = HEAP32[4293]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4517]|0; + $35 = HEAP32[4603]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4214]|0; + $37 = HEAP32[4300]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4207]|0; + $38 = HEAP32[4293]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18100)>>2]|0; + $42 = HEAP32[(18444)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(16920)>>2]|0; + $43 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(16920)>>2]|0; + $44 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18104)>>2]|0; + $45 = HEAP32[(18448)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(16940)>>2]|0; + $46 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(16940)>>2]|0; + $47 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4209]|0; - $41 = HEAP32[(18096)>>2]|0; + $40 = HEAP32[4295]|0; + $41 = HEAP32[(18440)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4517]|0; + $48 = HEAP32[4603]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4207]|0; + $49 = HEAP32[4293]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4529]|0; + $51 = HEAP32[4615]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4207]|0; + $53 = HEAP32[4293]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18148)>>2]|0; + $57 = HEAP32[(18492)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(16920)>>2]|0; + $58 = HEAP32[(17264)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(16920)>>2]|0; + $59 = HEAP32[(17264)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18152)>>2]|0; + $60 = HEAP32[(18496)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(16924)>>2]|0; + $61 = HEAP32[(17268)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(16924)>>2]|0; + $62 = HEAP32[(17268)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18156)>>2]|0; + $63 = HEAP32[(18500)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(16940)>>2]|0; + $64 = HEAP32[(17284)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(16940)>>2]|0; + $65 = HEAP32[(17284)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18160)>>2]|0; + $66 = HEAP32[(18504)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4209]|0; - $56 = HEAP32[(18144)>>2]|0; + $55 = HEAP32[4295]|0; + $56 = HEAP32[(18488)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4245]|0; + $67 = HEAP32[4331]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4244]|0; + $71 = HEAP32[4330]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15509,14 +15527,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4244]|0; + $80 = HEAP32[4330]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4245]|0; + $87 = HEAP32[4331]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15525,7 +15543,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4207]|0; + $69 = HEAP32[4293]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15533,10 +15551,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4207]|0; + $89 = HEAP32[4293]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4209]|0; + $91 = HEAP32[4295]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15548,22 +15566,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4245] = 1; - $5 = HEAP32[4214]|0; - $6 = HEAP32[4244]|0; + HEAP32[4331] = 1; + $5 = HEAP32[4300]|0; + $6 = HEAP32[4330]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4505] = 0; - HEAP32[(18028)>>2] = 0; - HEAP32[4517] = 0; - HEAP32[(18076)>>2] = 0; - HEAP32[4529] = 0; - HEAP32[(18120)>>2] = 0; - HEAP32[(18124)>>2] = 0; + HEAP32[4591] = 0; + HEAP32[(18372)>>2] = 0; + HEAP32[4603] = 0; + HEAP32[(18420)>>2] = 0; + HEAP32[4615] = 0; + HEAP32[(18464)>>2] = 0; + HEAP32[(18468)>>2] = 0; HEAPF32[744] = -1.0; - dest=16696; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=16760; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17040; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17104; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15578,17 +15596,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4503]|0; + $5 = HEAP32[4589]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4504]|0; + $9 = HEAP32[4590]|0; _rlViewport($7,0,$8,$9); - $10 = (18600 + ($0<<6)|0); + $10 = (18944 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18472 + ($0<<6)|0); + $11 = (18816 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15600,14 +15618,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16760; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17104; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=16696; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17040; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15615,43 +15633,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4682]|0; + $0 = HEAP32[4768]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8778,$vararg_buffer); + _TraceLog(1,8810,$vararg_buffer); } - $2 = HEAP32[4682]|0; - $3 = (16988 + ($2<<6)|0); - $4 = HEAP32[4173]|0; + $2 = HEAP32[4768]|0; + $3 = (17332 + ($2<<6)|0); + $4 = HEAP32[4259]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4682]|0; + $5 = HEAP32[4768]|0; $6 = (($5) + 1)|0; - HEAP32[4682] = $6; - $7 = HEAP32[4206]|0; + HEAP32[4768] = $6; + $7 = HEAP32[4292]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4683] = 1; + HEAP32[4769] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4682]|0; + $0 = HEAP32[4768]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4682]|0; + $2 = HEAP32[4768]|0; $3 = (($2) + -1)|0; - $4 = (16988 + ($3<<6)|0); - $5 = HEAP32[4173]|0; + $4 = (17332 + ($3<<6)|0); + $5 = HEAP32[4259]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4682] = $6; + HEAP32[4768] = $6; return; } function _IsFileExtension($0,$1) { @@ -15684,7 +15702,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4173]|0; + $5 = HEAP32[4259]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15717,7 +15735,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4173]|0; + $11 = HEAP32[4259]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15728,7 +15746,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4246] = $0; + HEAP32[4332] = $0; return; } function _rlEnd() { @@ -15744,21 +15762,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4683]|0; + $0 = HEAP32[4769]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4684]|0; + $2 = HEAP32[4770]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4243]|0; + $6 = HEAP32[4329]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4173]|0; + $8 = HEAP32[4259]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4684]|0; + $5 = HEAP32[4770]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15766,12 +15784,12 @@ function _rlEnd() { break; } } - HEAP32[4683] = 0; + HEAP32[4769] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4243]|0; + $11 = HEAP32[4329]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15780,7 +15798,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4684]|0; + $19 = HEAP32[4770]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15790,15 +15808,15 @@ function _rlEnd() { } } } else { - HEAP32[4683] = 0; + HEAP32[4769] = 0; } - HEAP32[4684] = 0; + HEAP32[4770] = 0; } - $21 = HEAP32[4246]|0; + $21 = HEAP32[4332]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4505]|0; - $23 = HEAP32[(18028)>>2]|0; + $22 = HEAP32[4591]|0; + $23 = HEAP32[(18372)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15817,16 +15835,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18040)>>2]|0; - $28 = HEAP32[(18028)>>2]|0; + $27 = HEAP32[(18384)>>2]|0; + $28 = HEAP32[(18372)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18040)>>2]|0; - $35 = HEAP32[(18028)>>2]|0; + $34 = HEAP32[(18384)>>2]|0; + $35 = HEAP32[(18372)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15834,8 +15852,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18040)>>2]|0; - $43 = HEAP32[(18028)>>2]|0; + $42 = HEAP32[(18384)>>2]|0; + $43 = HEAP32[(18372)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15843,8 +15861,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18040)>>2]|0; - $51 = HEAP32[(18028)>>2]|0; + $50 = HEAP32[(18384)>>2]|0; + $51 = HEAP32[(18372)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15852,9 +15870,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18028)>>2]|0; + $58 = HEAP32[(18372)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18028)>>2] = $59; + HEAP32[(18372)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15870,8 +15888,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4517]|0; - $62 = HEAP32[(18076)>>2]|0; + $61 = HEAP32[4603]|0; + $62 = HEAP32[(18420)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15890,16 +15908,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18088)>>2]|0; - $67 = HEAP32[(18076)>>2]|0; + $66 = HEAP32[(18432)>>2]|0; + $67 = HEAP32[(18420)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18088)>>2]|0; - $74 = HEAP32[(18076)>>2]|0; + $73 = HEAP32[(18432)>>2]|0; + $74 = HEAP32[(18420)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15907,8 +15925,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18088)>>2]|0; - $82 = HEAP32[(18076)>>2]|0; + $81 = HEAP32[(18432)>>2]|0; + $82 = HEAP32[(18420)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15916,8 +15934,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18088)>>2]|0; - $90 = HEAP32[(18076)>>2]|0; + $89 = HEAP32[(18432)>>2]|0; + $90 = HEAP32[(18420)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15925,9 +15943,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18076)>>2]|0; + $97 = HEAP32[(18420)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18076)>>2] = $98; + HEAP32[(18420)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -15943,8 +15961,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4529]|0; - $101 = HEAP32[(18124)>>2]|0; + $100 = HEAP32[4615]|0; + $101 = HEAP32[(18468)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -15952,16 +15970,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18136)>>2]|0; - $106 = HEAP32[(18124)>>2]|0; + $105 = HEAP32[(18480)>>2]|0; + $106 = HEAP32[(18468)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18136)>>2]|0; - $113 = HEAP32[(18124)>>2]|0; + $112 = HEAP32[(18480)>>2]|0; + $113 = HEAP32[(18468)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -15969,8 +15987,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18136)>>2]|0; - $121 = HEAP32[(18124)>>2]|0; + $120 = HEAP32[(18480)>>2]|0; + $121 = HEAP32[(18468)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -15978,8 +15996,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18136)>>2]|0; - $129 = HEAP32[(18124)>>2]|0; + $128 = HEAP32[(18480)>>2]|0; + $129 = HEAP32[(18468)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -15987,9 +16005,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18124)>>2]|0; + $136 = HEAP32[(18468)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18124)>>2] = $137; + HEAP32[(18468)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16000,8 +16018,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4529]|0; - $140 = HEAP32[(18120)>>2]|0; + $139 = HEAP32[4615]|0; + $140 = HEAP32[(18464)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16009,8 +16027,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18132)>>2]|0; - $$promoted = HEAP32[(18120)>>2]|0; + $142 = HEAP32[(18476)>>2]|0; + $$promoted = HEAP32[(18464)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16018,7 +16036,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18120)>>2] = $147; + HEAP32[(18464)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16045,11 +16063,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4683]|0; + $3 = HEAP32[4769]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4243]|0; - $6 = HEAP32[4684]|0; + $5 = HEAP32[4329]|0; + $6 = HEAP32[4770]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16057,16 +16075,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4684] = $10; + HEAP32[4770] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4246]|0; + $11 = HEAP32[4332]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4505]|0; + $12 = HEAP32[4591]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18032)>>2]|0; + $14 = HEAP32[(18376)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16077,19 +16095,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4505] = $21; + HEAP32[4591] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8816,$vararg_buffer); + _TraceLog(1,8848,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[4517]|0; + $22 = HEAP32[4603]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18080)>>2]|0; + $24 = HEAP32[(18424)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16100,19 +16118,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4517] = $31; + HEAP32[4603] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8841,$vararg_buffer1); + _TraceLog(1,8873,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[4529]|0; + $32 = HEAP32[4615]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18128)>>2]|0; + $34 = HEAP32[(18472)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16123,9 +16141,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4529] = $41; - $42 = HEAP32[4244]|0; - $43 = HEAP32[4245]|0; + HEAP32[4615] = $41; + $42 = HEAP32[4330]|0; + $43 = HEAP32[4331]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16133,7 +16151,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8870,$vararg_buffer3); + _TraceLog(1,8902,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16168,13 +16186,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4246]|0; + $2 = HEAP32[4332]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18132)>>2]|0; - $5 = HEAP32[(18120)>>2]|0; + $4 = HEAP32[(18476)>>2]|0; + $5 = HEAP32[(18464)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16182,7 +16200,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18120)>>2] = $10; + HEAP32[(18464)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16201,18 +16219,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4246]|0; + $4 = HEAP32[4332]|0; switch ($4|0) { case 1: { - $$sink37 = (18028);$$sink38 = (18040); + $$sink37 = (18372);$$sink38 = (18384); break; } case 4: { - $$sink37 = (18076);$$sink38 = (18088); + $$sink37 = (18420);$$sink38 = (18432); break; } case 7: { - $$sink37 = (18124);$$sink38 = (18136); + $$sink37 = (18468);$$sink38 = (18480); break; } default: { @@ -16251,8 +16269,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4244]|0; - $2 = HEAP32[4245]|0; + $1 = HEAP32[4330]|0; + $2 = HEAP32[4331]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16265,9 +16283,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4245] = $10; + HEAP32[4331] = $10; } - $11 = HEAP32[4245]|0; + $11 = HEAP32[4331]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16278,7 +16296,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4529]|0; + $0 = HEAP32[4615]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16308,40 +16326,11 @@ function _DrawLine($0,$1,$2,$3,$4) { _rlEnd(); return; } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(8895); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10228)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4685] = $0; + HEAP32[4771] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16405,7 +16394,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((8907|0),(8933|0),1125,(8956|0)); + ___assert_fail((8927|0),(8953|0),1041,(8976|0)); // unreachable; } } @@ -16423,7 +16412,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4686]|0; + $15 = HEAP32[4772]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16516,7 +16505,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(8997); + _stbi__err(9017); $$0 = 0; return ($$0|0); } else { @@ -16538,7 +16527,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(8988); + _stbi__err(9008); $$0 = 0; return ($$0|0); } @@ -16608,7 +16597,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9016); + _stbi__err(9036); $$045 = 0; return ($$045|0); } @@ -17169,7 +17158,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9332 + ($120)|0); + $121 = (9352 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17211,97 +17200,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9106); + _stbi__err(9126); $$6$ph = 0; break; } case 9: { - _stbi__err(9120); + _stbi__err(9140); $$6$ph = 0; break; } case 11: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 13: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 15: { - _stbi__err(9143); + _stbi__err(9163); $$6$ph = 0; break; } case 17: { - _stbi__err(9163); + _stbi__err(9183); $$6$ph = 0; break; } case 20: { - _stbi__err(9163); + _stbi__err(9183); $$6$ph = 0; break; } case 22: { - _stbi__err(9163); + _stbi__err(9183); $$6$ph = 0; break; } case 24: { - _stbi__err(9173); + _stbi__err(9193); $$6$ph = 0; break; } case 26: { - _stbi__err(9189); + _stbi__err(9209); $$6$ph = 0; break; } case 28: { - _stbi__err(9207); + _stbi__err(9227); $$6$ph = 0; break; } case 31: { - _stbi__err(9228); + _stbi__err(9248); $$6$ph = 0; break; } case 34: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 37: { - _stbi__err(9133); + _stbi__err(9153); $$6$ph = 0; break; } case 39: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 41: { - _stbi__err(9257); + _stbi__err(9277); $$6$ph = 0; break; } case 44: { - _stbi__err(9257); + _stbi__err(9277); $$6$ph = 0; break; } case 47: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 49: { - _stbi__err(9270); + _stbi__err(9290); $$6$ph = 0; break; } @@ -17312,32 +17301,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9286); + _stbi__err(9306); $$6$ph = 0; break; } case 58: { - _stbi__err(9303); + _stbi__err(9323); $$6$ph = 0; break; } case 61: { - _stbi__err(9316); + _stbi__err(9336); $$6$ph = 0; break; } case 63: { - _stbi__err(9303); + _stbi__err(9323); $$6$ph = 0; break; } case 70: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 72: { - _stbi__err(9341); + _stbi__err(9361); $$6$ph = 0; break; } @@ -17349,12 +17338,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(8988); + _stbi__err(9008); $$6$ph = 0; break; } case 83: { - _stbi__err(9349); + _stbi__err(9369); $$6$ph = 0; break; } @@ -17367,7 +17356,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9359); + _stbi__err(9379); $$4 = 0; break; } @@ -17432,7 +17421,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4687]|0; + $193 = HEAP32[4773]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17465,7 +17454,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9242); + _stbi__err(9262); $$4 = 0; } } while(0); @@ -17473,24 +17462,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9242); + _stbi__err(9262); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9367] = $206; + HEAP8[9387] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9368)>>0] = $209; + HEAP8[(9388)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9369)>>0] = $211; + HEAP8[(9389)>>0] = $211; $212 = $207&255; - HEAP8[(9370)>>0] = $212; - _stbi__err(9367); + HEAP8[(9390)>>0] = $212; + _stbi__err(9387); $$6$ph = 0; break; } @@ -17524,14 +17513,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9029|0),(8933|0),1561,(9085|0)); + ___assert_fail((9049|0),(8953|0),1477,(9105|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(8988); + _stbi__err(9008); $$0163 = 0; return ($$0163|0); } @@ -17894,7 +17883,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9083|0),(8933|0),1590,(9085|0)); + ___assert_fail((9103|0),(8953|0),1506,(9105|0)); // unreachable; } } while(0); @@ -17928,7 +17917,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9029|0),(8933|0),1610,(9060|0)); + ___assert_fail((9049|0),(8953|0),1526,(9080|0)); // unreachable; } $7 = $2 << 1; @@ -17938,7 +17927,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(8988); + _stbi__err(9008); $$0163 = 0; return ($$0163|0); } @@ -18301,7 +18290,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9083|0),(8933|0),1639,(9060|0)); + ___assert_fail((9103|0),(8953|0),1555,(9080|0)); // unreachable; } } while(0); @@ -18449,7 +18438,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10024); + _stbi__err(10364); $$05 = 0; return ($$05|0); } @@ -18886,7 +18875,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9426|0),(8933|0),4568,(9478|0)); + ___assert_fail((9446|0),(8953|0),4569,(9498|0)); // unreachable; } } @@ -18973,7 +18962,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9426|0),(8933|0),4543,(9451|0)); + ___assert_fail((9446|0),(8953|0),4544,(9471|0)); // unreachable; } } @@ -19020,7 +19009,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4688]|0; + $16 = HEAP32[4774]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19095,7 +19084,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9392|0),(8933|0),4649,(9410|0)); + ___assert_fail((9412|0),(8953|0),4650,(9430|0)); // unreachable; } } @@ -19118,7 +19107,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(8988); + _stbi__err(9008); $$0 = 0; return ($$0|0); } @@ -19295,7 +19284,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9507|0),(8933|0),4294,(9548|0)); + ___assert_fail((9527|0),(8953|0),4294,(9568|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19303,7 +19292,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(8988); + _stbi__err(9008); $$2 = 0; return ($$2|0); } @@ -19322,7 +19311,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9575); + _stbi__err(9595); $$2 = 0; return ($$2|0); } @@ -19335,7 +19324,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9575); + _stbi__err(9595); $$2 = 0; return ($$2|0); } @@ -19343,12 +19332,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19371,33 +19360,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9614 + ($56)|0); + $60 = (9634 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19407,24 +19396,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19434,10 +19423,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19448,10 +19437,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19462,14 +19451,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19499,7 +19488,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19514,12 +19503,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20096,15 +20085,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9593|0),(8933|0),4315,(9548|0)); + ___assert_fail((9613|0),(8953|0),4315,(9568|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9619|0),(8933|0),4376,(9548|0)); + ___assert_fail((9639|0),(8953|0),4377,(9568|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9636); + _stbi__err(9656); $$2 = 0; return ($$2|0); } @@ -20154,7 +20143,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9332 + ($6)|0); + $336 = (9352 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20595,7 +20584,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9651|0),(8933|0),4465,(9548|0)); + ___assert_fail((9671|0),(8953|0),4466,(9568|0)); // unreachable; } else if ((label|0) == 151) { @@ -20655,8 +20644,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20671,15 +20660,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20688,65 +20677,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(20650)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9682,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,20651,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,20619,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,9970,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20765,14 +20749,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(9977); + _stbi__err(10317); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(9993); + _stbi__err(10333); $$0 = 0; return ($$0|0); } @@ -20781,7 +20765,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10008); + _stbi__err(10348); $$0 = 0; return ($$0|0); } @@ -20864,7 +20848,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((9899|0),(8933|0),4048,(9916|0)); + ___assert_fail((10239|0),(8953|0),4033,(10256|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -20901,7 +20885,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(9947); + _stbi__err(10287); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20911,7 +20895,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(9960); + _stbi__err(10300); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -20941,21 +20925,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((20651|0),8,144)|0; - dest=(20795); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(20907); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (20931); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=20619; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21089,7 +21058,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(9837); + _stbi__err(10177); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21178,7 +21147,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(9889); + _stbi__err(10229); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21207,7 +21176,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (10683 + ($$06579)|0); + $14 = (11023 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21298,21 +21267,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((9853|0),(8933|0),4021,(9861|0)); + ___assert_fail((10193|0),(8953|0),4006,(10201|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21322,7 +21291,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(9837); + _stbi__err(10177); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21486,7 +21455,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9662); + _stbi__err(10002); $$3$ph = 0; return ($$3$ph|0); } @@ -21496,12 +21465,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9662); + _stbi__err(10002); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(9679); + _stbi__err(10019); $$3$ph = 0; return ($$3$ph|0); } @@ -21558,7 +21527,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(9688); + _stbi__err(10028); $$0 = 0; return ($$0|0); } @@ -21584,7 +21553,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(8988); + _stbi__err(9008); $$0 = 0; return ($$0|0); } else { @@ -21629,7 +21598,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((9784|0),(8933|0),3863,(9821|0)); + ___assert_fail((10124|0),(8953|0),3848,(10161|0)); // unreachable; } else if ((label|0) == 5) { @@ -21677,7 +21646,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((9708|0),(8933|0),3891,(9724|0)); + ___assert_fail((10048|0),(8953|0),3876,(10064|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21705,7 +21674,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((9755|0),(8933|0),3781,(9766|0)); + ___assert_fail((10095|0),(8953|0),3766,(10106|0)); // unreachable; } return (0)|0; @@ -21851,10 +21820,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -21865,27 +21834,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10036)|0); + $6 = (_IsFileExtension($1,10376)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10089)|0); + $19 = (_IsFileExtension($1,10429)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10094,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10434,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10568)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -21913,7 +21883,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -21930,18 +21900,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10042,$vararg_buffer); + _TraceLog(2,10382,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -21950,34 +21920,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10130,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10169,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10470,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10509,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -21996,11 +21973,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10228)|0); + $4 = (_fopen($0,10568)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10231,$vararg_buffer); + _TraceLog(2,10571,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22099,7 +22076,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10328,$vararg_buffer4); + _TraceLog(0,10668,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22134,14 +22111,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10374,$vararg_buffer8); + _TraceLog(2,10714,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10282,$vararg_buffer1); + _TraceLog(2,10622,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22231,7 +22208,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10200,$vararg_buffer); + _TraceLog(2,10540,$vararg_buffer); $$0 = $6; } } @@ -22276,27 +22253,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10424,$vararg_buffer); + _TraceLog(2,10764,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10463,$vararg_buffer1); + _TraceLog(2,10803,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10489,$vararg_buffer3); + _TraceLog(2,10829,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10552,$vararg_buffer5); + _TraceLog(2,10892,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10587,$vararg_buffer7); + _TraceLog(2,10927,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10622,$vararg_buffer10); + _TraceLog(0,10962,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23479,7 +23456,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (10679 + ($$361133)|0); + $199 = (11019 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -23909,7 +23886,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (10679 + ($$331130)|0); + $186 = (11019 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -23947,7 +23924,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (10679 + ($$371134)|0); + $203 = (11019 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -23986,7 +23963,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (10683 + ($$421139)|0); + $235 = (11023 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24393,7 +24370,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (10702 + ($495)|0); + $496 = (11042 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24430,7 +24407,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (10706 + ($515)|0); + $516 = (11046 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25342,7 +25319,7 @@ function _LoadTexture($0,$1) { $4 = HEAP32[$2>>2]|0; $5 = ($4|0)==(0|0); if ($5) { - _TraceLog(2,10710,$vararg_buffer); + _TraceLog(2,11050,$vararg_buffer); $$sroa$0$0 = 0; } else { ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$2+16>>2]|0; @@ -25359,6 +25336,53 @@ function _LoadTexture($0,$1) { ;HEAP32[$$sroa$5$0$$sroa_idx5>>2]=HEAP32[$$sroa$5>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+4>>2]=HEAP32[$$sroa$5+4>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+8>>2]=HEAP32[$$sroa$5+8>>2]|0;HEAP32[$$sroa$5$0$$sroa_idx5+12>>2]=HEAP32[$$sroa$5+12>>2]|0; STACKTOP = sp;return; } +function _GetDefaultFont($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + ;HEAP32[$0>>2]=HEAP32[16888>>2]|0;HEAP32[$0+4>>2]=HEAP32[16888+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16888+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16888+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16888+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16888+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16888+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16888+28>>2]|0; + return; +} +function _GetCharIndex($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$08 = 0, $$09 = 0, $10 = 0, $11 = 0, $12 = 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)) + 24|0); + $3 = HEAP32[$2>>2]|0; + $4 = ($3|0)>(0); + if (!($4)) { + $$08 = 0; + return ($$08|0); + } + $5 = ((($0)) + 28|0); + $6 = HEAP32[$5>>2]|0; + $$09 = 0; + while(1) { + $7 = (($6) + ($$09<<5)|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8|0)==($1|0); + if ($9) { + $$08 = $$09; + label = 5; + break; + } + $10 = (($$09) + 1)|0; + $11 = HEAP32[$2>>2]|0; + $12 = ($10|0)<($11|0); + if ($12) { + $$09 = $10; + } else { + $$08 = 0; + label = 5; + break; + } + } + if ((label|0) == 5) { + return ($$08|0); + } + return (0)|0; +} function _DrawTexturePro($0,$1,$2,$3,$4,$5) { $0 = $0|0; $1 = $1|0; @@ -25493,6 +25517,203 @@ function _DrawTexturePro($0,$1,$2,$3,$4,$5) { _rlDisableTexture(); return; } +function _DrawText($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.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); + $$byval_copy2 = sp + 112|0; + $$byval_copy1 = sp + 104|0; + $$byval_copy = sp + 72|0; + $5 = sp + 32|0; + $6 = sp + 64|0; + $7 = sp; + _GetDefaultFont($5); + $8 = HEAP32[$5>>2]|0; + $9 = ($8|0)==(0); + if ($9) { + STACKTOP = sp;return; + } + $10 = (+($1|0)); + HEAPF32[$6>>2] = $10; + $11 = ((($6)) + 4|0); + $12 = (+($2|0)); + HEAPF32[$11>>2] = $12; + $13 = ($3|0)>(10); + $$ = $13 ? $3 : 10; + $14 = (($$>>>0) / 10)&-1; + _GetDefaultFont($7); + $15 = (+($$|0)); + ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[$7+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[$7+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[$7+16>>2]|0;HEAP32[$$byval_copy+20>>2]=HEAP32[$7+20>>2]|0;HEAP32[$$byval_copy+24>>2]=HEAP32[$7+24>>2]|0;HEAP32[$$byval_copy+28>>2]=HEAP32[$7+28>>2]|0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0; + ;HEAP8[$$byval_copy2>>0]=HEAP8[$4>>0]|0;HEAP8[$$byval_copy2+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$$byval_copy2+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$$byval_copy2+3>>0]=HEAP8[$4+3>>0]|0; + _DrawTextEx($$byval_copy,$0,$$byval_copy1,$15,$14,$$byval_copy2); + STACKTOP = sp;return; +} +function _DrawTextEx($0,$1,$2,$3,$4,$5) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = +$3; + $4 = $4|0; + $5 = $5|0; + var $$04954 = 0, $$05153 = 0, $$055 = 0, $$1 = 0, $$150 = 0, $$152 = 0, $$2 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$sink = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0; + var $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0; + var $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $54 = 0.0, $55 = 0, $56 = 0; + var $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0, $66 = 0, $67 = 0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0; + var $75 = 0, $76 = 0, $77 = 0.0, $78 = 0.0, $79 = 0.0, $8 = 0, $80 = 0, $81 = 0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0); + $$byval_copy5 = sp + 88|0; + $$byval_copy4 = sp + 80|0; + $$byval_copy3 = sp + 64|0; + $$byval_copy2 = sp + 48|0; + $$byval_copy1 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp; + $8 = (_strlen($1)|0); + $9 = ((($0)) + 20|0); + $10 = HEAP32[$9>>2]|0; + $11 = (+($10|0)); + $12 = $3 / $11; + $13 = ($8|0)>(0); + if (!($13)) { + STACKTOP = sp;return; + } + $14 = ((($0)) + 28|0); + $15 = +HEAPF32[$2>>2]; + $16 = ((($6)) + 4|0); + $17 = ((($2)) + 4|0); + $18 = ((($6)) + 8|0); + $19 = ((($6)) + 12|0); + $20 = ((($7)) + 4|0); + $21 = (+($4|0)); + $$04954 = 0;$$05153 = 0;$$055 = 0; + while(1) { + $22 = (($1) + ($$055)|0); + $23 = HEAP8[$22>>0]|0; + switch ($23<<24>>24) { + case 10: { + $24 = HEAP32[$9>>2]|0; + $25 = (($24|0) / 2)&-1; + $26 = (($25) + ($24))|0; + $27 = (+($26|0)); + $28 = $12 * $27; + $29 = (~~(($28))); + $30 = (($29) + ($$05153))|0; + $$150 = 0;$$152 = $30;$$2 = $$055; + break; + } + case -62: { + $31 = (($$055) + 1)|0; + $32 = (($1) + ($31)|0); + $33 = HEAP8[$32>>0]|0; + $34 = $33&255; + $$1 = $31;$$sink = $34; + label = 9; + break; + } + case -61: { + $35 = (($$055) + 1)|0; + $36 = (($1) + ($35)|0); + $37 = HEAP8[$36>>0]|0; + $38 = $37&255; + $39 = (($38) + 64)|0; + $$1 = $35;$$sink = $39; + label = 9; + break; + } + default: { + $40 = $23 << 24 >> 24; + $$1 = $$055;$$sink = $40; + label = 9; + } + } + do { + if ((label|0) == 9) { + label = 0; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy5+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy5+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy5+16>>2]=HEAP32[$0+16>>2]|0;HEAP32[$$byval_copy5+20>>2]=HEAP32[$0+20>>2]|0;HEAP32[$$byval_copy5+24>>2]=HEAP32[$0+24>>2]|0;HEAP32[$$byval_copy5+28>>2]=HEAP32[$0+28>>2]|0; + $41 = (_GetCharIndex($$byval_copy5,$$sink)|0); + $42 = HEAP32[$14>>2]|0; + $43 = (((($42) + ($41<<5)|0)) + 4|0); + $44 = (+($$04954|0)); + $45 = $44 + $15; + $46 = (((($42) + ($41<<5)|0)) + 20|0); + $47 = HEAP32[$46>>2]|0; + $48 = (+($47|0)); + $49 = $12 * $48; + $50 = $45 + $49; + $51 = (~~(($50))); + HEAP32[$6>>2] = $51; + $52 = +HEAPF32[$17>>2]; + $53 = (+($$05153|0)); + $54 = $53 + $52; + $55 = (((($42) + ($41<<5)|0)) + 24|0); + $56 = HEAP32[$55>>2]|0; + $57 = (+($56|0)); + $58 = $12 * $57; + $59 = $54 + $58; + $60 = (~~(($59))); + HEAP32[$16>>2] = $60; + $61 = (((($42) + ($41<<5)|0)) + 12|0); + $62 = HEAP32[$61>>2]|0; + $63 = (+($62|0)); + $64 = $12 * $63; + $65 = (~~(($64))); + HEAP32[$18>>2] = $65; + $66 = (((($42) + ($41<<5)|0)) + 16|0); + $67 = HEAP32[$66>>2]|0; + $68 = (+($67|0)); + $69 = $12 * $68; + $70 = (~~(($69))); + HEAP32[$19>>2] = $70; + HEAPF32[$7>>2] = 0.0; + HEAPF32[$20>>2] = 0.0; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$43+4>>2]|0;HEAP32[$$byval_copy2+8>>2]=HEAP32[$43+8>>2]|0;HEAP32[$$byval_copy2+12>>2]=HEAP32[$43+12>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$$byval_copy3+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$$byval_copy3+12>>2]=HEAP32[$6+12>>2]|0; + ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$5+3>>0]|0; + _DrawTexturePro($$byval_copy1,$$byval_copy2,$$byval_copy3,$$byval_copy4,0.0,$$byval_copy5); + $71 = HEAP32[$14>>2]|0; + $72 = (((($71) + ($41<<5)|0)) + 28|0); + $73 = HEAP32[$72>>2]|0; + $74 = ($73|0)==(0); + if ($74) { + $75 = (((($71) + ($41<<5)|0)) + 12|0); + $76 = HEAP32[$75>>2]|0; + $77 = (+($76|0)); + $78 = $12 * $77; + $79 = $21 + $78; + $80 = (~~(($79))); + $81 = (($80) + ($$04954))|0; + $$150 = $81;$$152 = $$05153;$$2 = $$1; + break; + } else { + $82 = (+($73|0)); + $83 = $12 * $82; + $84 = $21 + $83; + $85 = (~~(($84))); + $86 = (($85) + ($$04954))|0; + $$150 = $86;$$152 = $$05153;$$2 = $$1; + break; + } + } + } while(0); + $87 = (($$2) + 1)|0; + $88 = ($87|0)<($8|0); + if ($88) { + $$04954 = $$150;$$05153 = $$152;$$055 = $87; + } else { + break; + } + } + STACKTOP = sp;return; +} function _emscripten_GetProcAddress($0) { $0 = $0|0; var $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, $113 = 0, $114 = 0, $115 = 0, $116 = 0; @@ -25539,7 +25760,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,10739)|0); + $12 = (_strstr($11,11079)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -25548,7 +25769,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,10743)|0); + $17 = (_strstr($16,11083)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -25557,7 +25778,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,10747)|0); + $22 = (_strstr($21,11087)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -25566,7 +25787,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,10751)|0); + $27 = (_strstr($26,11091)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -25575,1210 +25796,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,10757)|0); + $32 = (_strcmp($31,11097)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,10795)|0); + $35 = (_strcmp($34,11135)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 10814; + HEAP32[$3>>2] = 11154; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,10827)|0); + $38 = (_strcmp($37,11167)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 10848; + HEAP32[$3>>2] = 11188; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,10863)|0); + $41 = (_strcmp($40,11203)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 10878; + HEAP32[$3>>2] = 11218; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,10893)|0); + $44 = (_strcmp($43,11233)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 10908; + HEAP32[$3>>2] = 11248; } } else { - HEAP32[$3>>2] = 10779; + HEAP32[$3>>2] = 11119; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,10923)|0); + $47 = (_strcmp($46,11263)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,10937)|0); + $50 = (_strcmp($49,11277)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,10949)|0); + $53 = (_strcmp($52,11289)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,10963)|0); + $56 = (_strcmp($55,11303)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,10975)|0); + $59 = (_strcmp($58,11315)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,10989)|0); + $62 = (_strcmp($61,11329)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11003)|0); + $65 = (_strcmp($64,11343)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11020)|0); + $68 = (_strcmp($67,11360)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11043)|0); + $71 = (_strcmp($70,11383)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11069)|0); + $74 = (_strcmp($73,11409)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11082)|0); + $77 = (_strcmp($76,11422)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11098)|0); + $80 = (_strcmp($79,11438)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11111)|0); + $83 = (_strcmp($82,11451)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11125)|0); + $86 = (_strcmp($85,11465)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11145)|0); + $89 = (_strcmp($88,11485)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11165)|0); + $92 = (_strcmp($91,11505)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11182)|0); + $95 = (_strcmp($94,11522)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11199)|0); + $98 = (_strcmp($97,11539)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11211)|0); + $101 = (_strcmp($100,11551)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11224)|0); + $104 = (_strcmp($103,11564)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11240)|0); + $107 = (_strcmp($106,11580)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11263)|0); + $110 = (_strcmp($109,11603)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11276)|0); + $113 = (_strcmp($112,11616)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11292)|0); + $116 = (_strcmp($115,11632)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11303)|0); + $119 = (_strcmp($118,11643)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11322)|0); + $122 = (_strcmp($121,11662)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11344)|0); + $125 = (_strcmp($124,11684)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11363)|0); + $128 = (_strcmp($127,11703)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11392)|0); + $131 = (_strcmp($130,11732)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11409)|0); + $134 = (_strcmp($133,11749)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11424)|0); + $137 = (_strcmp($136,11764)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11439)|0); + $140 = (_strcmp($139,11779)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11460)|0); + $143 = (_strcmp($142,11800)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11480)|0); + $146 = (_strcmp($145,11820)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11500)|0); + $149 = (_strcmp($148,11840)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11526)|0); + $152 = (_strcmp($151,11866)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11545)|0); + $155 = (_strcmp($154,11885)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11557)|0); + $158 = (_strcmp($157,11897)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,11569)|0); + $161 = (_strcmp($160,11909)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,11581)|0); + $164 = (_strcmp($163,11921)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,11593)|0); + $167 = (_strcmp($166,11933)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,11605)|0); + $170 = (_strcmp($169,11945)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,11617)|0); + $173 = (_strcmp($172,11957)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,11629)|0); + $176 = (_strcmp($175,11969)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,11641)|0); + $179 = (_strcmp($178,11981)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,11654)|0); + $182 = (_strcmp($181,11994)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,11667)|0); + $185 = (_strcmp($184,12007)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,11680)|0); + $188 = (_strcmp($187,12020)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,11693)|0); + $191 = (_strcmp($190,12033)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,11706)|0); + $194 = (_strcmp($193,12046)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,11719)|0); + $197 = (_strcmp($196,12059)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,11732)|0); + $200 = (_strcmp($199,12072)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,11745)|0); + $203 = (_strcmp($202,12085)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,11764)|0); + $206 = (_strcmp($205,12104)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,11783)|0); + $209 = (_strcmp($208,12123)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,11802)|0); + $212 = (_strcmp($211,12142)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,11815)|0); + $215 = (_strcmp($214,12155)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,11833)|0); + $218 = (_strcmp($217,12173)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,11851)|0); + $221 = (_strcmp($220,12191)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,11869)|0); + $224 = (_strcmp($223,12209)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,11887)|0); + $227 = (_strcmp($226,12227)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,11907)|0); + $230 = (_strcmp($229,12247)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,10848)|0); + $233 = (_strcmp($232,11188)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,11925)|0); + $236 = (_strcmp($235,12265)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,11940)|0); + $239 = (_strcmp($238,12280)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,11961)|0); + $242 = (_strcmp($241,12301)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,11976)|0); + $245 = (_strcmp($244,12316)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,11994)|0); + $248 = (_strcmp($247,12334)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12010)|0); + $251 = (_strcmp($250,12350)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12029)|0); + $254 = (_strcmp($253,12369)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12043)|0); + $257 = (_strcmp($256,12383)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12058)|0); + $260 = (_strcmp($259,12398)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,10779)|0); + $263 = (_strcmp($262,11119)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12069)|0); + $266 = (_strcmp($265,12409)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,10878)|0); + $269 = (_strcmp($268,11218)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,10908)|0); + $272 = (_strcmp($271,11248)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12085)|0); + $275 = (_strcmp($274,12425)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12112)|0); + $278 = (_strcmp($277,12452)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12126)|0); + $281 = (_strcmp($280,12466)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,10814)|0); + $284 = (_strcmp($283,11154)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12146)|0); + $287 = (_strcmp($286,12486)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12164)|0); + $290 = (_strcmp($289,12504)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12176)|0); + $293 = (_strcmp($292,12516)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12197)|0); + $296 = (_strcmp($295,12537)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12215)|0); + $299 = (_strcmp($298,12555)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12233)|0); + $302 = (_strcmp($301,12573)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12254)|0); + $305 = (_strcmp($304,12594)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12280)|0); + $308 = (_strcmp($307,12620)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12303)|0); + $311 = (_strcmp($310,12643)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12341)|0); + $314 = (_strcmp($313,12681)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12357)|0); + $317 = (_strcmp($316,12697)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12372)|0); + $320 = (_strcmp($319,12712)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12395)|0); + $323 = (_strcmp($322,12735)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12408)|0); + $326 = (_strcmp($325,12748)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12422)|0); + $329 = (_strcmp($328,12762)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12436)|0); + $332 = (_strcmp($331,12776)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12456)|0); + $335 = (_strcmp($334,12796)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12476)|0); + $338 = (_strcmp($337,12816)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12492)|0); + $341 = (_strcmp($340,12832)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12510)|0); + $344 = (_strcmp($343,12850)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12526)|0); + $347 = (_strcmp($346,12866)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12541)|0); + $350 = (_strcmp($349,12881)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12563)|0); + $353 = (_strcmp($352,12903)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,12581)|0); + $356 = (_strcmp($355,12921)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,12602)|0); + $359 = (_strcmp($358,12942)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,12620)|0); + $362 = (_strcmp($361,12960)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,12633)|0); + $365 = (_strcmp($364,12973)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,12648)|0); + $368 = (_strcmp($367,12988)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,12662)|0); + $371 = (_strcmp($370,13002)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,12672)|0); + $374 = (_strcmp($373,13012)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,12682)|0); + $377 = (_strcmp($376,13022)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,12704)|0); + $380 = (_strcmp($379,13044)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,12730)|0); + $383 = (_strcmp($382,13070)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,12757)|0); + $386 = (_strcmp($385,13097)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,12770)|0); + $389 = (_strcmp($388,13110)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,12785)|0); + $392 = (_strcmp($391,13125)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,12800)|0); + $395 = (_strcmp($394,13140)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,12824)|0); + $398 = (_strcmp($397,13164)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,12835)|0); + $401 = (_strcmp($400,13175)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,12857)|0); + $404 = (_strcmp($403,13197)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,12879)|0); + $407 = (_strcmp($406,13219)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,12903)|0); + $410 = (_strcmp($409,13243)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,12912)|0); + $413 = (_strcmp($412,13252)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,12920)|0); + $416 = (_strcmp($415,13260)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,12933)|0); + $419 = (_strcmp($418,13273)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,12947)|0); + $422 = (_strcmp($421,13287)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,12959)|0); + $425 = (_strcmp($424,13299)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,12968)|0); + $428 = (_strcmp($427,13308)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,12978)|0); + $431 = (_strcmp($430,13318)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,12990)|0); + $434 = (_strcmp($433,13330)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13001)|0); + $437 = (_strcmp($436,13341)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13009)|0); + $440 = (_strcmp($439,13349)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13021)|0); + $443 = (_strcmp($442,13361)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13036)|0); + $446 = (_strcmp($445,13376)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13048)|0); + $449 = (_strcmp($448,13388)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13062)|0); + $452 = (_strcmp($451,13402)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13087)|0); + $455 = (_strcmp($454,13427)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13104)|0); + $458 = (_strcmp($457,13444)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13120)|0); + $461 = (_strcmp($460,13460)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13136)|0); + $464 = (_strcmp($463,13476)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13148)|0); + $467 = (_strcmp($466,13488)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13160)|0); + $470 = (_strcmp($469,13500)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13184)|0); + $473 = (_strcmp($472,13524)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13197)|0); + $476 = (_strcmp($475,13537)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13211)|0); + $479 = (_strcmp($478,13551)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13233)|0); + $482 = (_strcmp($481,13573)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13240)|0); + $485 = (_strcmp($484,13580)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13256)|0); + $488 = (_strcmp($487,13596)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13273)|0); + $491 = (_strcmp($490,13613)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13290)|0); + $494 = (_strcmp($493,13630)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13306)|0); + $497 = (_strcmp($496,13646)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13322)|0); + $500 = (_strcmp($499,13662)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13339)|0); + $503 = (_strcmp($502,13679)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13353)|0); + $506 = (_strcmp($505,13693)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13365)|0); + $509 = (_strcmp($508,13705)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13376)|0); + $512 = (_strcmp($511,13716)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13389)|0); + $515 = (_strcmp($514,13729)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13399)|0); + $518 = (_strcmp($517,13739)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13416)|0); + $521 = (_strcmp($520,13756)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13428)|0); + $524 = (_strcmp($523,13768)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13450)|0); + $527 = (_strcmp($526,13790)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13470)|0); + $530 = (_strcmp($529,13810)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13483)|0); + $533 = (_strcmp($532,13823)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13505)|0); + $536 = (_strcmp($535,13845)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13525)|0); + $539 = (_strcmp($538,13865)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13542)|0); + $542 = (_strcmp($541,13882)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13559)|0); + $545 = (_strcmp($544,13899)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,13579)|0); + $548 = (_strcmp($547,13919)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -26800,7 +27021,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (18756|0); + return (19100|0); } function ___stdio_close($0) { $0 = $0|0; @@ -27664,7 +27885,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((13695 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14035 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -27842,7 +28063,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14159;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14499;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -27863,7 +28084,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14159;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14499;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -27871,8 +28092,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14159 : (14161); - $$$ = $238 ? $$ : (14160); + $$ = $240 ? 14499 : (14501); + $$$ = $238 ? $$ : (14500); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -27889,7 +28110,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14159;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14499;$242 = $167;$243 = $170; label = 66; break; } @@ -27902,7 +28123,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14159;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14499;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -27916,7 +28137,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14169; + $271 = $270 ? $269 : 14509; $$1 = $271; label = 71; break; @@ -27956,7 +28177,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14159;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14499;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -27978,8 +28199,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14159 + ($208)|0); - $$289 = $or$cond283 ? 14159 : $209; + $209 = (14499 + ($208)|0); + $$289 = $or$cond283 ? 14499 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28000,7 +28221,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14159;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14499;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -28530,7 +28751,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14211 + ($7)|0); + $9 = (14551 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -28888,14 +29109,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14176; + $$0471 = $14;$$0520 = 1;$$0521 = 14516; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14177) : (14182); - $$$ = $16 ? $$ : (14179); + $$ = $18 ? (14517) : (14522); + $$$ = $16 ? $$ : (14519); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -28994,7 +29215,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14211 + ($80)|0); + $81 = (14551 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -29605,7 +29826,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14227,1); + _out($0,14567,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -29686,7 +29907,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14227,1); + _out($0,14567,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -29743,9 +29964,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14195 : 14199; + $29 = $28 ? 14535 : 14539; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14203 : 14207; + $31 = $28 ? 14543 : 14547; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -29955,7 +30176,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14229 + ($$016)|0); + $3 = (14569 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -29966,7 +30187,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14317;$$115 = 87; + $$01214 = 14657;$$115 = 87; label = 5; break; } else { @@ -29976,9 +30197,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14317; + $$012$lcssa = 14657; } else { - $$01214 = 14317;$$115 = $$016; + $$01214 = 14657;$$115 = $$016; label = 5; } } @@ -30641,7 +30862,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16121,$3,4)|0); + $memchr = (_memchr(16461,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -30730,7 +30951,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16121,$4,4)|0); + $memchr = (_memchr(16461,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -30821,7 +31042,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(18760)>>2]|0; + $38 = HEAP32[(19104)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -30854,13 +31075,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((18820|0)); - return (18828|0); + ___lock((19164|0)); + return (19172|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((18820|0)); + ___unlock((19164|0)); return; } function _fclose($0) { @@ -31924,7 +32145,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16392; + $2 = 16736; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32141,7 +32362,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4708]|0; + $3 = HEAP32[4794]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32160,22 +32381,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4708] = 0; + HEAP32[4794] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4708] = $10; + HEAP32[4794] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4708] = 0; + HEAP32[4794] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4708] = $13; + HEAP32[4794] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32256,7 +32477,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4709]|0; + $8 = HEAP32[4795]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32265,7 +32486,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (18876 + ($15<<2)|0); + $16 = (19220 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32276,9 +32497,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4709] = $24; + HEAP32[4795] = $24; } else { - $25 = HEAP32[(18852)>>2]|0; + $25 = HEAP32[(19196)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32309,7 +32530,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(18844)>>2]|0; + $37 = HEAP32[(19188)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32343,7 +32564,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (18876 + ($68<<2)|0); + $69 = (19220 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32354,10 +32575,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4709] = $77; + HEAP32[4795] = $77; $98 = $77; } else { - $78 = HEAP32[(18852)>>2]|0; + $78 = HEAP32[(19196)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32390,22 +32611,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(18856)>>2]|0; + $92 = HEAP32[(19200)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (18876 + ($94<<2)|0); + $95 = (19220 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4709] = $100; + HEAP32[4795] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(18852)>>2]|0; + $103 = HEAP32[(19196)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32422,12 +32643,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(18844)>>2] = $84; - HEAP32[(18856)>>2] = $87; + HEAP32[(19188)>>2] = $84; + HEAP32[(19200)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(18840)>>2]|0; + $108 = HEAP32[(19184)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32455,7 +32676,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19140 + ($132<<2)|0); + $133 = (19484 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -32495,7 +32716,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(18852)>>2]|0; + $155 = HEAP32[(19196)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -32590,7 +32811,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19140 + ($188<<2)|0); + $189 = (19484 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -32601,11 +32822,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(18840)>>2] = $194; + HEAP32[(19184)>>2] = $194; break L73; } } else { - $195 = HEAP32[(18852)>>2]|0; + $195 = HEAP32[(19196)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -32626,7 +32847,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(18852)>>2]|0; + $201 = HEAP32[(19196)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -32656,7 +32877,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(18852)>>2]|0; + $213 = HEAP32[(19196)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -32693,22 +32914,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(18856)>>2]|0; + $231 = HEAP32[(19200)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (18876 + ($233<<2)|0); + $234 = (19220 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4709] = $238; + HEAP32[4795] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(18852)>>2]|0; + $241 = HEAP32[(19196)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -32725,8 +32946,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(18844)>>2] = $$0193$lcssa$i; - HEAP32[(18856)>>2] = $157; + HEAP32[(19188)>>2] = $$0193$lcssa$i; + HEAP32[(19200)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -32742,7 +32963,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(18840)>>2]|0; + $250 = HEAP32[(19184)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -32782,7 +33003,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19140 + ($$0358$i<<2)|0); + $278 = (19484 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -32874,7 +33095,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19140 + ($330<<2)|0); + $331 = (19484 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -32918,11 +33139,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(18844)>>2]|0; + $345 = HEAP32[(19188)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(18852)>>2]|0; + $348 = HEAP32[(19196)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33019,7 +33240,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19140 + ($381<<2)|0); + $382 = (19484 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33030,12 +33251,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(18840)>>2] = $387; + HEAP32[(19184)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(18852)>>2]|0; + $388 = HEAP32[(19196)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33057,7 +33278,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(18852)>>2]|0; + $394 = HEAP32[(19196)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33089,7 +33310,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(18852)>>2]|0; + $406 = HEAP32[(19196)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33130,20 +33351,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (18876 + ($425<<2)|0); - $427 = HEAP32[4709]|0; + $426 = (19220 + ($425<<2)|0); + $427 = HEAP32[4795]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4709] = $431; + HEAP32[4795] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(18852)>>2]|0; + $434 = HEAP32[(19196)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33195,7 +33416,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19140 + ($$0361$i<<2)|0); + $464 = (19484 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33207,7 +33428,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(18840)>>2] = $472; + HEAP32[(19184)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33246,7 +33467,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(18852)>>2]|0; + $491 = HEAP32[(19196)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33265,7 +33486,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(18852)>>2]|0; + $498 = HEAP32[(19196)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33298,16 +33519,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(18844)>>2]|0; + $506 = HEAP32[(19188)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(18856)>>2]|0; + $509 = HEAP32[(19200)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(18856)>>2] = $511; - HEAP32[(18844)>>2] = $508; + HEAP32[(19200)>>2] = $511; + HEAP32[(19188)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33317,8 +33538,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(18844)>>2] = 0; - HEAP32[(18856)>>2] = 0; + HEAP32[(19188)>>2] = 0; + HEAP32[(19200)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33332,14 +33553,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(18848)>>2]|0; + $524 = HEAP32[(19192)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(18848)>>2] = $526; - $527 = HEAP32[(18860)>>2]|0; + HEAP32[(19192)>>2] = $526; + $527 = HEAP32[(19204)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(18860)>>2] = $528; + HEAP32[(19204)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33350,23 +33571,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4827]|0; + $534 = HEAP32[4913]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19316)>>2] = 4096; - HEAP32[(19312)>>2] = 4096; - HEAP32[(19320)>>2] = -1; - HEAP32[(19324)>>2] = -1; - HEAP32[(19328)>>2] = 0; - HEAP32[(19280)>>2] = 0; + HEAP32[(19660)>>2] = 4096; + HEAP32[(19656)>>2] = 4096; + HEAP32[(19664)>>2] = -1; + HEAP32[(19668)>>2] = -1; + HEAP32[(19672)>>2] = 0; + HEAP32[(19624)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4827] = $538; + HEAP32[4913] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19316)>>2]|0; + $$pre$i212 = HEAP32[(19660)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33379,10 +33600,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19276)>>2]|0; + $546 = HEAP32[(19620)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19268)>>2]|0; + $548 = HEAP32[(19612)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33392,18 +33613,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19280)>>2]|0; + $552 = HEAP32[(19624)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(18860)>>2]|0; + $555 = HEAP32[(19204)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19284); + $$0$i$i = (19628); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33461,7 +33682,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19312)>>2]|0; + $569 = HEAP32[(19656)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -33471,13 +33692,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19268)>>2]|0; + $578 = HEAP32[(19612)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19276)>>2]|0; + $582 = HEAP32[(19620)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -33523,7 +33744,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19316)>>2]|0; + $601 = HEAP32[(19660)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -33548,9 +33769,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19280)>>2]|0; + $611 = HEAP32[(19624)>>2]|0; $612 = $611 | 4; - HEAP32[(19280)>>2] = $612; + HEAP32[(19624)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -33586,35 +33807,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19268)>>2]|0; + $626 = HEAP32[(19612)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19268)>>2] = $627; - $628 = HEAP32[(19272)>>2]|0; + HEAP32[(19612)>>2] = $627; + $628 = HEAP32[(19616)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19272)>>2] = $627; + HEAP32[(19616)>>2] = $627; } - $630 = HEAP32[(18860)>>2]|0; + $630 = HEAP32[(19204)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(18852)>>2]|0; + $632 = HEAP32[(19196)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(18852)>>2] = $$749$i; - } - HEAP32[(19284)>>2] = $$749$i; - HEAP32[(19288)>>2] = $$723948$i; - HEAP32[(19296)>>2] = 0; - $635 = HEAP32[4827]|0; - HEAP32[(18872)>>2] = $635; - HEAP32[(18868)>>2] = -1; + HEAP32[(19196)>>2] = $$749$i; + } + HEAP32[(19628)>>2] = $$749$i; + HEAP32[(19632)>>2] = $$723948$i; + HEAP32[(19640)>>2] = 0; + $635 = HEAP32[4913]|0; + HEAP32[(19216)>>2] = $635; + HEAP32[(19212)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (18876 + ($636<<2)|0); + $637 = (19220 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -33637,18 +33858,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(18860)>>2] = $649; - HEAP32[(18848)>>2] = $650; + HEAP32[(19204)>>2] = $649; + HEAP32[(19192)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19324)>>2]|0; - HEAP32[(18864)>>2] = $655; + $655 = HEAP32[(19668)>>2]|0; + HEAP32[(19208)>>2] = $655; } else { - $$024371$i = (19284); + $$024371$i = (19628); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -33680,7 +33901,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(18848)>>2]|0; + $671 = HEAP32[(19192)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -33691,30 +33912,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(18860)>>2] = $679; - HEAP32[(18848)>>2] = $681; + HEAP32[(19204)>>2] = $679; + HEAP32[(19192)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19324)>>2]|0; - HEAP32[(18864)>>2] = $686; + $686 = HEAP32[(19668)>>2]|0; + HEAP32[(19208)>>2] = $686; break; } } } - $687 = HEAP32[(18852)>>2]|0; + $687 = HEAP32[(19196)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(18852)>>2] = $$749$i; + HEAP32[(19196)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19284); + $$124470$i = (19628); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -33769,21 +33990,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(18848)>>2]|0; + $726 = HEAP32[(19192)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(18848)>>2] = $727; - HEAP32[(18860)>>2] = $721; + HEAP32[(19192)>>2] = $727; + HEAP32[(19204)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(18856)>>2]|0; + $730 = HEAP32[(19200)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(18844)>>2]|0; + $732 = HEAP32[(19188)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(18844)>>2] = $733; - HEAP32[(18856)>>2] = $721; + HEAP32[(19188)>>2] = $733; + HEAP32[(19200)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -33806,7 +34027,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (18876 + ($748<<2)|0); + $749 = (19220 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -33829,9 +34050,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4709]|0; + $759 = HEAP32[4795]|0; $760 = $759 & $758; - HEAP32[4709] = $760; + HEAP32[4795] = $760; break; } $761 = ($747|0)==($749|0); @@ -33944,7 +34165,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19140 + ($796<<2)|0); + $797 = (19484 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -33956,12 +34177,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(18840)>>2]|0; + $802 = HEAP32[(19184)>>2]|0; $803 = $802 & $801; - HEAP32[(18840)>>2] = $803; + HEAP32[(19184)>>2] = $803; break L314; } else { - $804 = HEAP32[(18852)>>2]|0; + $804 = HEAP32[(19196)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -33982,7 +34203,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(18852)>>2]|0; + $810 = HEAP32[(19196)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34014,7 +34235,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(18852)>>2]|0; + $822 = HEAP32[(19196)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34047,21 +34268,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (18876 + ($836<<2)|0); - $838 = HEAP32[4709]|0; + $837 = (19220 + ($836<<2)|0); + $838 = HEAP32[4795]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4709] = $842; + HEAP32[4795] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(18852)>>2]|0; + $845 = HEAP32[(19196)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34116,20 +34337,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19140 + ($$0296$i$i<<2)|0); + $875 = (19484 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(18840)>>2]|0; + $879 = HEAP32[(19184)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(18840)>>2] = $883; + HEAP32[(19184)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34168,7 +34389,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(18852)>>2]|0; + $902 = HEAP32[(19196)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34187,7 +34408,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(18852)>>2]|0; + $909 = HEAP32[(19196)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34214,7 +34435,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19284); + $$0$i$i$i = (19628); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34255,23 +34476,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(18860)>>2] = $946; - HEAP32[(18848)>>2] = $947; + HEAP32[(19204)>>2] = $946; + HEAP32[(19192)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19324)>>2]|0; - HEAP32[(18864)>>2] = $952; + $952 = HEAP32[(19668)>>2]|0; + HEAP32[(19208)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19284)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19284)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19284)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19284)+12>>2]|0; - HEAP32[(19284)>>2] = $$749$i; - HEAP32[(19288)>>2] = $$723948$i; - HEAP32[(19296)>>2] = 0; - HEAP32[(19292)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19628)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19628)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19628)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19628)+12>>2]|0; + HEAP32[(19628)>>2] = $$749$i; + HEAP32[(19632)>>2] = $$723948$i; + HEAP32[(19640)>>2] = 0; + HEAP32[(19636)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34300,20 +34521,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (18876 + ($968<<2)|0); - $970 = HEAP32[4709]|0; + $969 = (19220 + ($968<<2)|0); + $970 = HEAP32[4795]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4709] = $974; + HEAP32[4795] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(18852)>>2]|0; + $977 = HEAP32[(19196)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34365,19 +34586,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19140 + ($$0212$i$i<<2)|0); + $1007 = (19484 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(18840)>>2]|0; + $1010 = HEAP32[(19184)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(18840)>>2] = $1014; + HEAP32[(19184)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34416,7 +34637,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(18852)>>2]|0; + $1033 = HEAP32[(19196)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34435,7 +34656,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(18852)>>2]|0; + $1040 = HEAP32[(19196)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34458,14 +34679,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(18848)>>2]|0; + $1048 = HEAP32[(19192)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(18848)>>2] = $1050; - $1051 = HEAP32[(18860)>>2]|0; + HEAP32[(19192)>>2] = $1050; + $1051 = HEAP32[(19204)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(18860)>>2] = $1052; + HEAP32[(19204)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -34508,7 +34729,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(18852)>>2]|0; + $3 = HEAP32[(19196)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -34541,7 +34762,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(18856)>>2]|0; + $19 = HEAP32[(19200)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -34556,7 +34777,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(18844)>>2] = $17; + HEAP32[(19188)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -34570,7 +34791,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (18876 + ($27<<2)|0); + $28 = (19220 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -34590,9 +34811,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4709]|0; + $37 = HEAP32[4795]|0; $38 = $37 & $36; - HEAP32[4709] = $38; + HEAP32[4795] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -34706,7 +34927,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19140 + ($74<<2)|0); + $75 = (19484 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -34716,14 +34937,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(18840)>>2]|0; + $80 = HEAP32[(19184)>>2]|0; $81 = $80 & $79; - HEAP32[(18840)>>2] = $81; + HEAP32[(19184)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(18852)>>2]|0; + $82 = HEAP32[(19196)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -34745,7 +34966,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(18852)>>2]|0; + $88 = HEAP32[(19196)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -34777,7 +34998,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(18852)>>2]|0; + $100 = HEAP32[(19196)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -34812,14 +35033,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(18860)>>2]|0; + $120 = HEAP32[(19204)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(18856)>>2]|0; + $122 = HEAP32[(19200)>>2]|0; if ($121) { - $123 = HEAP32[(18848)>>2]|0; + $123 = HEAP32[(19192)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(18848)>>2] = $124; - HEAP32[(18860)>>2] = $$1; + HEAP32[(19192)>>2] = $124; + HEAP32[(19204)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -34827,16 +35048,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(18856)>>2] = 0; - HEAP32[(18844)>>2] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[(19188)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(18844)>>2]|0; + $129 = HEAP32[(19188)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(18844)>>2] = $130; - HEAP32[(18856)>>2] = $113; + HEAP32[(19188)>>2] = $130; + HEAP32[(19200)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -34855,10 +35076,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (18876 + ($142<<2)|0); + $143 = (19220 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(18852)>>2]|0; + $145 = HEAP32[(19196)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -34876,9 +35097,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4709]|0; + $153 = HEAP32[4795]|0; $154 = $153 & $152; - HEAP32[4709] = $154; + HEAP32[4795] = $154; break; } $155 = ($141|0)==($143|0); @@ -34886,7 +35107,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(18852)>>2]|0; + $156 = HEAP32[(19196)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -34946,7 +35167,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(18852)>>2]|0; + $189 = HEAP32[(19196)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -34959,7 +35180,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(18852)>>2]|0; + $169 = HEAP32[(19196)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -34990,7 +35211,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19140 + ($193<<2)|0); + $194 = (19484 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35000,13 +35221,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(18840)>>2]|0; + $199 = HEAP32[(19184)>>2]|0; $200 = $199 & $198; - HEAP32[(18840)>>2] = $200; + HEAP32[(19184)>>2] = $200; break L108; } } else { - $201 = HEAP32[(18852)>>2]|0; + $201 = HEAP32[(19196)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35027,7 +35248,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(18852)>>2]|0; + $207 = HEAP32[(19196)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35057,7 +35278,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(18852)>>2]|0; + $219 = HEAP32[(19196)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35078,10 +35299,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(18856)>>2]|0; + $226 = HEAP32[(19200)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(18844)>>2] = $135; + HEAP32[(19188)>>2] = $135; return; } else { $$2 = $135; @@ -35100,20 +35321,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (18876 + ($234<<2)|0); - $236 = HEAP32[4709]|0; + $235 = (19220 + ($234<<2)|0); + $236 = HEAP32[4795]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4709] = $240; + HEAP32[4795] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(18852)>>2]|0; + $243 = HEAP32[(19196)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35165,21 +35386,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19140 + ($$0396<<2)|0); + $273 = (19484 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(18840)>>2]|0; + $277 = HEAP32[(19184)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(18840)>>2] = $281; + HEAP32[(19184)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35217,7 +35438,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(18852)>>2]|0; + $300 = HEAP32[(19196)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35236,7 +35457,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(18852)>>2]|0; + $307 = HEAP32[(19196)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35258,12 +35479,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(18868)>>2]|0; + $314 = HEAP32[(19212)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(18868)>>2] = $315; + HEAP32[(19212)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19292); + $$0212$in$i = (19636); } else { return; } @@ -35277,7 +35498,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(18868)>>2] = -1; + HEAP32[(19212)>>2] = -1; return; } function _realloc($0,$1) { @@ -35349,7 +35570,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(18852)>>2]|0; + $6 = HEAP32[(19196)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35379,7 +35600,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19316)>>2]|0; + $18 = HEAP32[(19660)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35415,10 +35636,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(18860)>>2]|0; + $34 = HEAP32[(19204)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(18848)>>2]|0; + $36 = HEAP32[(19192)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35434,15 +35655,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(18860)>>2] = $40; - HEAP32[(18848)>>2] = $39; + HEAP32[(19204)>>2] = $40; + HEAP32[(19192)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(18856)>>2]|0; + $46 = HEAP32[(19200)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(18844)>>2]|0; + $48 = HEAP32[(19188)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -35478,8 +35699,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(18844)>>2] = $storemerge1; - HEAP32[(18856)>>2] = $storemerge; + HEAP32[(19188)>>2] = $storemerge1; + HEAP32[(19200)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -35506,7 +35727,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (18876 + ($81<<2)|0); + $82 = (19220 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -35526,9 +35747,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4709]|0; + $91 = HEAP32[4795]|0; $92 = $91 & $90; - HEAP32[4709] = $92; + HEAP32[4795] = $92; break; } $93 = ($80|0)==($82|0); @@ -35637,7 +35858,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19140 + ($128<<2)|0); + $129 = (19484 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -35647,13 +35868,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(18840)>>2]|0; + $134 = HEAP32[(19184)>>2]|0; $135 = $134 & $133; - HEAP32[(18840)>>2] = $135; + HEAP32[(19184)>>2] = $135; break L49; } } else { - $136 = HEAP32[(18852)>>2]|0; + $136 = HEAP32[(19196)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -35674,7 +35895,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(18852)>>2]|0; + $142 = HEAP32[(19196)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -35704,7 +35925,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(18852)>>2]|0; + $154 = HEAP32[(19196)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -35789,13 +36010,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(18852)>>2]|0; + $13 = HEAP32[(19196)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(18856)>>2]|0; + $15 = HEAP32[(19200)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -35810,7 +36031,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(18844)>>2] = $12; + HEAP32[(19188)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -35824,7 +36045,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (18876 + ($23<<2)|0); + $24 = (19220 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -35844,9 +36065,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4709]|0; + $33 = HEAP32[4795]|0; $34 = $33 & $32; - HEAP32[4709] = $34; + HEAP32[4795] = $34; $$1 = $11;$$1418 = $12; break; } @@ -35960,7 +36181,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19140 + ($70<<2)|0); + $71 = (19484 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -35970,14 +36191,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(18840)>>2]|0; + $76 = HEAP32[(19184)>>2]|0; $77 = $76 & $75; - HEAP32[(18840)>>2] = $77; + HEAP32[(19184)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(18852)>>2]|0; + $78 = HEAP32[(19196)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -35999,7 +36220,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(18852)>>2]|0; + $84 = HEAP32[(19196)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36031,7 +36252,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(18852)>>2]|0; + $96 = HEAP32[(19196)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36050,7 +36271,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(18852)>>2]|0; + $108 = HEAP32[(19196)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36061,14 +36282,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(18860)>>2]|0; + $114 = HEAP32[(19204)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(18856)>>2]|0; + $116 = HEAP32[(19200)>>2]|0; if ($115) { - $117 = HEAP32[(18848)>>2]|0; + $117 = HEAP32[(19192)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(18848)>>2] = $118; - HEAP32[(18860)>>2] = $$1; + HEAP32[(19192)>>2] = $118; + HEAP32[(19204)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36076,16 +36297,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(18856)>>2] = 0; - HEAP32[(18844)>>2] = 0; + HEAP32[(19200)>>2] = 0; + HEAP32[(19188)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(18844)>>2]|0; + $123 = HEAP32[(19188)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(18844)>>2] = $124; - HEAP32[(18856)>>2] = $$1; + HEAP32[(19188)>>2] = $124; + HEAP32[(19200)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36104,7 +36325,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (18876 + ($136<<2)|0); + $137 = (19220 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36124,9 +36345,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4709]|0; + $146 = HEAP32[4795]|0; $147 = $146 & $145; - HEAP32[4709] = $147; + HEAP32[4795] = $147; break; } $148 = ($135|0)==($137|0); @@ -36235,7 +36456,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19140 + ($183<<2)|0); + $184 = (19484 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36245,13 +36466,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(18840)>>2]|0; + $189 = HEAP32[(19184)>>2]|0; $190 = $189 & $188; - HEAP32[(18840)>>2] = $190; + HEAP32[(19184)>>2] = $190; break L96; } } else { - $191 = HEAP32[(18852)>>2]|0; + $191 = HEAP32[(19196)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36272,7 +36493,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(18852)>>2]|0; + $197 = HEAP32[(19196)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36302,7 +36523,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(18852)>>2]|0; + $209 = HEAP32[(19196)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36323,10 +36544,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(18856)>>2]|0; + $216 = HEAP32[(19200)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(18844)>>2] = $129; + HEAP32[(19188)>>2] = $129; return; } else { $$2 = $129; @@ -36345,20 +36566,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (18876 + ($224<<2)|0); - $226 = HEAP32[4709]|0; + $225 = (19220 + ($224<<2)|0); + $226 = HEAP32[4795]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4709] = $230; + HEAP32[4795] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(18852)>>2]|0; + $233 = HEAP32[(19196)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36410,20 +36631,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19140 + ($$0431<<2)|0); + $263 = (19484 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(18840)>>2]|0; + $267 = HEAP32[(19184)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(18840)>>2] = $271; + HEAP32[(19184)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36462,7 +36683,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(18852)>>2]|0; + $290 = HEAP32[(19196)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -36480,7 +36701,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(18852)>>2]|0; + $297 = HEAP32[(19196)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_srcrec_dstrec.png b/docs/examples/web/textures/textures_srcrec_dstrec.png new file mode 100644 index 00000000..7691ff2e Binary files /dev/null and b/docs/examples/web/textures/textures_srcrec_dstrec.png differ diff --git a/docs/examples/web/textures/textures_to_image.js b/docs/examples/web/textures/textures_to_image.js index 0b0e0cfa..8d63d08e 100644 --- a/docs/examples/web/textures/textures_to_image.js +++ b/docs/examples/web/textures/textures_to_image.js @@ -182,7 +182,7 @@ Module['FS_createPath']('/', 'resources', true, true); } } - loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "fd1cdede-fd05-430f-83b2-8a445e7d6380"}); + loadPackage({"files": [{"audio": 0, "start": 0, "crunched": 0, "end": 3760, "filename": "/resources/raylib_logo.png"}], "remote_package_size": 3760, "package_uuid": "df4e441b-8830-41bc-a530-79b520a54f00"}); })(); @@ -1775,12 +1775,12 @@ function _emscripten_asm_const_iii(code, a0, a1) { STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 22384; +STATICTOP = STATIC_BASE + 22368; /* global initializers */ __ATINIT__.push(); -/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,99,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,116,111,32,105,109,97,103,101,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,114,101,110,100,101,114,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,99,97,110,39,116,32,102,111,112,101,110,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); -/* memory initializer */ allocate([32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,32,0,0,176,1,0,0,0,0,0,0,0,0,0,32,37,249,142,0,10,2,0,0,128,190,125,95,244,125,31,160,242,43,74,30,9,82,8,0,64,34,65,80,20,4,16,32,32,41,46,18,8,34,8,0,32,34,65,80,20,4,16,32,32,249,16,76,8,250,62,60,16,34,125,222,247,125,16,32,32,161,232,50,8,34,8,0,8,34,5,16,4,69,16,0,240,163,164,50,8,82,8,0,4,34,5,16,4,69,16,32,32,249,226,94,8,2,0,129,2,62,125,31,244,125,16,0,0,32,0,0,176,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,190,15,0,192,15,224,247,251,125,126,191,95,232,190,80,0,162,8,8,68,232,47,20,10,133,2,129,80,72,160,80,0,162,40,228,73,40,40,20,10,132,2,129,64,72,160,72,0,190,15,2,16,175,235,247,9,132,62,159,216,79,160,71,0,34,136,228,9,161,42,20,10,132,2,129,80,72,160,72,0,34,40,8,4,160,47,20,10,133,2,129,80,72,162,80,0,190,143,0,0,33,32,244,251,125,126,129,95,232,156,208,7,0,128,0,0,224,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,12,0,130,66,191,223,239,247,251,11,5,5,133,66,191,4,72,0,198,66,161,80,40,20,64,8,5,37,133,66,160,8,168,0,170,70,161,80,40,20,64,8,5,37,133,66,144,16,8,0,146,74,161,95,232,247,67,8,5,37,121,126,136,32,8,0,130,82,161,64,40,1,66,8,137,36,133,64,132,64,8,0,130,98,161,64,42,2,66,8,81,36,133,64,130,128,8,0,130,66,191,192,47,244,67,248,33,252,133,126,191,0,9,62,0,0,0,0,4,0,0,0,0,0,0,0,128,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,4,0,32,72,65,0,0,0,0,0,8,0,0,4,4,0,4,60,32,0,65,0,0,0,0,0,8,0,0,240,125,223,247,133,239,75,81,190,239,251,190,239,59,81,4,0,69,65,20,133,40,74,73,170,40,138,162,32,8,81,4,240,69,65,244,157,40,74,71,170,40,138,162,224,11,81,4,16,69,65,20,132,40,74,73,170,40,138,162,0,10,145,2,240,125,223,247,133,47,74,209,170,232,251,190,224,123,31,1,0,0,0,0,4,8,64,0,0,0,8,32,0,0,0,0,0,0,0,0,132,15,96,0,0,0,8,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,172,1,15,0,0,0,0,0,0,0,0,0,0,0,0,0,36,1,9,0,0,0,0,0,0,0,0,0,6,0,0,0,36,1,9,0,0,0,0,0,0,0,128,16,9,162,40,250,36,1,9,0,0,0,0,0,0,0,0,62,1,42,37,66,34,82,9,0,0,0,0,0,0,0,128,138,3,42,34,34,36,41,9,0,0,0,0,0,0,0,128,10,1,42,37,18,36,1,9,0,0,0,0,0,0,0,128,10,1,190,232,251,36,1,9,0,0,0,0,0,0,0,128,190,14,0,0,2,172,1,15,0,0,0,0,0,0,0,128,4,0,0,224,3,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,14,184,67,132,3,58,32,0,128,160,190,2,32,0,0,240,138,32,82,196,2,43,32,4,34,145,2,248,59,0,240,7,142,56,75,228,2,58,32,2,28,138,30,8,42,233,17,4,224,11,66,244,2,130,36,1,20,4,20,232,186,4,209,5,128,184,195,231,10,58,137,0,28,14,60,40,2,9,80,4,128,0,64,196,2,128,68,0,34,132,32,232,2,0,80,4,0,0,64,128,2,0,32,5,0,142,62,8,2,0,16,4,224,3,64,128,66,0,0,7,0,132,0,248,3,0,240,7,0,0,64,128,34,0,0,4,0,0,0,0,0,0,0,0,0,0,64,128,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,128,0,194,160,72,24,0,0,1,132,33,9,146,2,66,38,4,1,33,81,0,0,127,63,2,66,2,16,41,0,34,20,192,239,247,251,253,126,9,161,223,239,247,187,187,3,18,15,68,40,20,10,133,66,9,129,64,32,16,16,17,1,8,4,68,40,20,10,133,66,127,129,64,32,16,16,17,1,4,130,199,239,247,251,253,126,9,129,207,231,243,17,17,1,50,169,80,40,20,10,133,66,9,161,64,32,16,16,17,1,64,184,80,40,20,10,133,66,121,191,223,239,247,187,187,3,32,160,31,0,0,0,0,0,0,16,0,0,0,0,0,0,112,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,2,8,131,34,1,0,2,8,67,2,1,0,1,1,124,20,4,132,68,1,0,32,4,132,4,128,8,63,130,0,132,66,191,223,239,247,3,126,161,80,40,20,10,33,0,0,132,70,161,80,40,20,138,82,161,80,40,20,122,161,239,3,158,74,161,80,40,20,82,82,161,80,40,20,74,31,8,2,132,82,161,80,40,20,34,74,161,80,40,244,75,161,239,3,132,98,161,80,40,20,82,74,161,80,40,4,122,161,40,2,124,66,191,223,239,247,139,126,191,223,239,247,11,189,239,3,0,0,0,0,0,0,0,4,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,32,0,0,4,132,0,34,129,69,17,16,66,1,0,148,66,81,0,0,8,66,81,148,42,162,32,8,165,80,0,0,0,32,0,0,0,0,0,0,0,5,0,0,0,0,8,190,239,251,254,251,190,239,251,20,145,235,251,190,239,251,0,32,8,130,32,10,162,40,138,20,145,40,138,162,40,138,62,190,239,251,254,11,190,239,251,20,145,40,138,162,40,138,0,162,40,138,34,8,130,32,8,20,145,40,138,162,40,138,8,190,239,251,254,251,190,239,251,20,145,47,250,190,239,251,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,33,0,4,0,0,0,0,0,0,0,0,0,0,0,0,130,80,20,2,20,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,190,40,138,162,40,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,168,34,0,0,0,0,0,0,0,0,0,0,170,40,138,162,232,34,0,0,0,0,0,0,0,0,0,0,190,239,251,190,47,62,0,0,0,0,0,0,0,0,0,0,4,0,0,0,40,32,0,0,0,0,0,0,0,0,0,0,0,0,0,128,15,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,4,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,9,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,1,0,0,255,255,255,255,0,0,128,191,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,1,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,91,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,15,0,0,114,97,121,108,105,98,32,91,116,101,120,116,117,114,101,115,93,32,101,120,97,109,112,108,101,32,45,32,116,101,120,116,117,114,101,32,116,111,32,105,109,97,103,101,0,114,101,115,111,117,114,99,101,115,47,114,97,121,108,105,98,95,108,111,103,111,46,112,110,103,0,116,104,105,115,32,73,83,32,97,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,102,114,111,109,32,97,110,32,105,109,97,103,101,33,0,73,110,105,116,105,97,108,105,122,105,110,103,32,114,97,121,108,105,98,32,40,118,49,46,55,46,48,41,0,35,99,97,110,118,97,115,0,84,97,114,103,101,116,32,116,105,109,101,32,112,101,114,32,102,114,97,109,101,58,32,37,48,50,46,48,51,102,32,109,105,108,108,105,115,101,99,111,110,100,115,0,69,115,99,97,112,101,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,102,117,108,108,115,99,114,101,101,110,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,67,97,110,118,97,115,32,115,99,97,108,101,100,32,116,111,32,119,105,110,100,111,119,101,100,46,32,69,108,101,109,101,110,116,83,105,122,101,58,32,40,37,105,120,37,105,41,44,32,83,99,114,101,101,110,83,105,122,101,40,37,105,120,37,105,41,0,91,84,69,88,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,102,111,110,116,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,69,84,67,50,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,84,101,120,116,117,114,101,32,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,84,101,120,116,117,114,101,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,84,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,0,73,109,97,103,101,32,100,97,116,97,32,102,111,114,109,97,116,32,105,115,32,99,111,109,112,114,101,115,115,101,100,44,32,99,97,110,32,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,0,70,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,102,111,114,32,112,105,120,101,108,32,100,97,116,97,32,114,101,116,114,105,101,118,97,108,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,71,76,70,87,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,77,83,65,65,32,120,52,0,67,108,111,115,101,115,116,32,102,117,108,108,115,99,114,101,101,110,32,118,105,100,101,111,109,111,100,101,58,32,37,105,32,120,32,37,105,0,71,76,70,87,32,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,87,105,110,100,111,119,0,68,105,115,112,108,97,121,32,100,101,118,105,99,101,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,82,101,110,100,101,114,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,83,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,86,105,101,119,112,111,114,116,32,111,102,102,115,101,116,115,58,32,37,105,44,32,37,105,0,84,114,121,105,110,103,32,116,111,32,101,110,97,98,108,101,32,86,83,89,78,67,0,71,80,85,58,32,86,101,110,100,111,114,58,32,32,32,37,115,0,71,80,85,58,32,82,101,110,100,101,114,101,114,58,32,37,115,0,71,80,85,58,32,86,101,114,115,105,111,110,58,32,32,37,115,0,71,80,85,58,32,71,76,83,76,58,32,32,32,32,32,37,115,0,32,0,78,117,109,98,101,114,32,111,102,32,115,117,112,112,111,114,116,101,100,32,101,120,116,101,110,115,105,111,110,115,58,32,37,105,0,71,76,95,79,69,83,95,118,101,114,116,101,120,95,97,114,114,97,121,95,111,98,106,101,99,116,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,79,69,83,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,79,69,83,0,71,76,95,79,69,83,95,116,101,120,116,117,114,101,95,110,112,111,116,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,115,51,116,99,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,87,69,66,75,73,84,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,115,51,116,99,0,71,76,95,79,69,83,95,99,111,109,112,114,101,115,115,101,100,95,69,84,67,49,95,82,71,66,56,95,116,101,120,116,117,114,101,0,71,76,95,87,69,66,71,76,95,99,111,109,112,114,101,115,115,101,100,95,116,101,120,116,117,114,101,95,101,116,99,49,0,71,76,95,65,82,66,95,69,83,51,95,99,111,109,112,97,116,105,98,105,108,105,116,121,0,71,76,95,73,77,71,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,112,118,114,116,99,0,71,76,95,75,72,82,95,116,101,120,116,117,114,101,95,99,111,109,112,114,101,115,115,105,111,110,95,97,115,116,99,95,104,100,114,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,102,105,108,116,101,114,95,97,110,105,115,111,116,114,111,112,105,99,0,71,76,95,69,88,84,95,116,101,120,116,117,114,101,95,109,105,114,114,111,114,95,99,108,97,109,112,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,86,65,79,32,102,117,110,99,116,105,111,110,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,69,88,84,69,78,83,73,79,78,93,32,86,65,79,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,86,65,79,32,117,115,97,103,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,100,101,116,101,99,116,101,100,44,32,102,117,108,108,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,78,80,79,84,32,116,101,120,116,117,114,101,115,32,101,120,116,101,110,115,105,111,110,32,110,111,116,32,102,111,117,110,100,44,32,108,105,109,105,116,101,100,32,78,80,79,84,32,115,117,112,112,111,114,116,32,40,110,111,45,109,105,112,109,97,112,115,44,32,110,111,45,114,101,112,101,97,116,41,0,91,69,88,84,69,78,83,73,79,78,93,32,68,88,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,49,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,69,84,67,50,47,69,65,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,80,86,82,84,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,83,84,67,32,99,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,115,32,115,117,112,112,111,114,116,101,100,0,91,69,88,84,69,78,83,73,79,78,93,32,65,110,105,115,111,116,114,111,112,105,99,32,116,101,120,116,117,114,101,115,32,102,105,108,116,101,114,105,110,103,32,115,117,112,112,111,114,116,101,100,32,40,109,97,120,58,32,37,46,48,102,88,41,0,91,69,88,84,69,78,83,73,79,78,93,32,67,108,97,109,112,32,109,105,114,114,111,114,32,119,114,97,112,32,116,101,120,116,117,114,101,32,109,111,100,101,32,115,117,112,112,111,114,116,101,100,0,91,84,69,88,32,73,68,32,37,105,93,32,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,66,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,79,112,101,110,71,76,32,100,101,102,97,117,108,116,32,115,116,97,116,101,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,67,80,85,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,44,32,116,114,105,97,110,103,108,101,115,44,32,113,117,97,100,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,108,105,110,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,116,114,105,97,110,103,108,101,115,41,0,91,86,65,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,65,79,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,91,86,66,79,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,98,117,102,102,101,114,115,32,86,66,79,115,32,105,110,105,116,105,97,108,105,122,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,113,117,97,100,115,41,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,51,32,118,101,114,116,101,120,80,111,115,105,116,105,111,110,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,50,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,32,32,32,32,10,97,116,116,114,105,98,117,116,101,32,118,101,99,52,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,109,97,116,52,32,109,118,112,77,97,116,114,105,120,59,32,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,102,114,97,103,84,101,120,67,111,111,114,100,32,61,32,118,101,114,116,101,120,84,101,120,67,111,111,114,100,59,32,10,32,32,32,32,102,114,97,103,67,111,108,111,114,32,61,32,118,101,114,116,101,120,67,111,108,111,114,59,32,32,32,32,32,32,32,10,32,32,32,32,103,108,95,80,111,115,105,116,105,111,110,32,61,32,109,118,112,77,97,116,114,105,120,42,118,101,99,52,40,118,101,114,116,101,120,80,111,115,105,116,105,111,110,44,32,49,46,48,41,59,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,35,118,101,114,115,105,111,110,32,49,48,48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,112,114,101,99,105,115,105,111,110,32,109,101,100,105,117,109,112,32,102,108,111,97,116,59,32,32,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,50,32,102,114,97,103,84,101,120,67,111,111,114,100,59,32,32,32,32,32,32,32,32,32,10,118,97,114,121,105,110,103,32,118,101,99,52,32,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,115,97,109,112,108,101,114,50,68,32,116,101,120,116,117,114,101,48,59,32,32,32,32,32,32,32,32,10,117,110,105,102,111,114,109,32,118,101,99,52,32,99,111,108,68,105,102,102,117,115,101,59,32,32,32,32,32,32,32,32,32,32,32,10,118,111,105,100,32,109,97,105,110,40,41,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,123,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,118,101,99,52,32,116,101,120,101,108,67,111,108,111,114,32,61,32,116,101,120,116,117,114,101,50,68,40,116,101,120,116,117,114,101,48,44,32,102,114,97,103,84,101,120,67,111,111,114,100,41,59,32,10,32,32,32,32,103,108,95,70,114,97,103,67,111,108,111,114,32,61,32,116,101,120,101,108,67,111,108,111,114,42,99,111,108,68,105,102,102,117,115,101,42,102,114,97,103,67,111,108,111,114,59,32,32,32,32,32,32,10,125,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,68,101,102,97,117,108,116,32,115,104,97,100,101,114,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,118,101,114,116,101,120,80,111,115,105,116,105,111,110,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,0,118,101,114,116,101,120,84,101,120,67,111,111,114,100,50,0,118,101,114,116,101,120,78,111,114,109,97,108,0,118,101,114,116,101,120,84,97,110,103,101,110,116,0,118,101,114,116,101,120,67,111,108,111,114,0,109,118,112,77,97,116,114,105,120,0,99,111,108,68,105,102,102,117,115,101,0,99,111,108,65,109,98,105,101,110,116,0,99,111,108,83,112,101,99,117,108,97,114,0,116,101,120,116,117,114,101,48,0,116,101,120,116,117,114,101,49,0,116,101,120,116,117,114,101,50,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,118,101,114,116,101,120,32,115,104,97,100,101,114,46,46,46,0,37,115,0,91,86,83,72,68,82,32,73,68,32,37,105,93,32,86,101,114,116,101,120,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,99,111,109,112,105,108,101,32,102,114,97,103,109,101,110,116,32,115,104,97,100,101,114,46,46,46,0,91,70,83,72,68,82,32,73,68,32,37,105,93,32,70,114,97,103,109,101,110,116,32,115,104,97,100,101,114,32,99,111,109,112,105,108,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,83,72,68,82,32,73,68,32,37,105,93,32,70,97,105,108,101,100,32,116,111,32,108,105,110,107,32,115,104,97,100,101,114,32,112,114,111,103,114,97,109,46,46,46,0,91,83,72,68,82,32,73,68,32,37,105,93,32,83,104,97,100,101,114,32,112,114,111,103,114,97,109,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,68,79,87,78,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,32,40,37,105,120,37,105,41,32,105,115,32,98,105,103,103,101,114,32,116,104,97,110,32,100,105,115,112,108,97,121,32,115,105,122,101,32,40,37,105,120,37,105,41,0,68,111,119,110,115,99,97,108,101,32,109,97,116,114,105,120,32,103,101,110,101,114,97,116,101,100,44,32,99,111,110,116,101,110,116,32,119,105,108,108,32,98,101,32,114,101,110,100,101,114,101,100,32,97,116,58,32,37,105,32,120,32,37,105,0,85,80,83,67,65,76,73,78,71,58,32,82,101,113,117,105,114,101,100,32,115,99,114,101,101,110,32,115,105,122,101,58,32,37,105,32,120,32,37,105,32,45,62,32,68,105,115,112,108,97,121,32,115,105,122,101,58,32,37,105,32,120,32,37,105,0,91,71,76,70,87,51,32,69,114,114,111,114,93,32,67,111,100,101,58,32,37,105,32,68,101,99,114,105,112,116,105,111,110,58,32,37,115,0,73,78,70,79,58,32,0,87,65,82,78,73,78,71,58,32,0,87,105,110,100,111,119,32,99,108,111,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,40,98,97,115,101,32,119,104,105,116,101,32,116,101,120,116,117,114,101,41,32,102,114,111,109,32,86,82,65,77,0,91,84,69,88,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,83,116,97,99,107,32,66,117,102,102,101,114,32,79,118,101,114,102,108,111,119,32,40,77,65,88,32,37,105,32,77,97,116,114,105,120,41,0,77,65,88,95,76,73,78,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,84,82,73,65,78,71,76,69,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,77,65,88,95,81,85,65,68,83,95,66,65,84,67,72,32,111,118,101,114,102,108,111,119,0,91,70,66,79,32,73,68,32,37,105,93,32,85,110,108,111,97,100,101,100,32,114,101,110,100,101,114,32,116,101,120,116,117,114,101,32,100,97,116,97,32,102,114,111,109,32,86,82,65,77,32,40,71,80,85,41,0,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,111,117,108,100,32,110,111,116,32,98,101,32,99,114,101,97,116,101,100,46,46,46,0,70,114,97,109,101,98,117,102,102,101,114,32,105,115,32,117,110,115,117,112,112,111,114,116,101,100,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,97,116,116,97,99,104,109,101,110,116,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,100,105,109,101,110,115,105,111,110,115,0,70,114,97,109,101,98,117,102,102,101,114,32,105,110,99,111,109,112,108,101,116,101,32,109,105,115,115,105,110,103,32,97,116,116,97,99,104,109,101,110,116,0,91,70,66,79,32,73,68,32,37,105,93,32,70,114,97,109,101,98,117,102,102,101,114,32,111,98,106,101,99,116,32,99,114,101,97,116,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,114,105,46,98,105,116,115,95,112,101,114,95,99,104,97,110,110,101,108,32,61,61,32,49,54,0,46,47,101,120,116,101,114,110,97,108,47,115,116,98,95,105,109,97,103,101,46,104,0,115,116,98,105,95,95,108,111,97,100,95,97,110,100,95,112,111,115,116,112,114,111,99,101,115,115,95,56,98,105,116,0,111,117,116,111,102,109,101,109,0,117,110,107,110,111,119,110,32,105,109,97,103,101,32,116,121,112,101,0,98,97,100,32,114,101,113,95,99,111,109,112,0,114,101,113,95,99,111,109,112,32,62,61,32,49,32,38,38,32,114,101,113,95,99,111,109,112,32,60,61,32,52,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,49,54,0,48,0,115,116,98,105,95,95,99,111,110,118,101,114,116,95,102,111,114,109,97,116,0,109,117,108,116,105,112,108,101,32,73,72,68,82,0,98,97,100,32,73,72,68,82,32,108,101,110,0,116,111,111,32,108,97,114,103,101,0,49,47,50,47,52,47,56,47,49,54,45,98,105,116,32,111,110,108,121,0,98,97,100,32,99,116,121,112,101,0,98,97,100,32,99,111,109,112,32,109,101,116,104,111,100,0,98,97,100,32,102,105,108,116,101,114,32,109,101,116,104,111,100,0,98,97,100,32,105,110,116,101,114,108,97,99,101,32,109,101,116,104,111,100,0,48,45,112,105,120,101,108,32,105,109,97,103,101,0,102,105,114,115,116,32,110,111,116,32,73,72,68,82,0,105,110,118,97,108,105,100,32,80,76,84,69,0,116,82,78,83,32,97,102,116,101,114,32,73,68,65,84,0,116,82,78,83,32,98,101,102,111,114,101,32,80,76,84,69,0,98,97,100,32,116,82,78,83,32,108,101,110,0,116,82,78,83,32,119,105,116,104,32,97,108,112,104,97,0,0,255,85,0,17,0,0,0,1,110,111,32,80,76,84,69,0,111,117,116,111,102,100,97,116,97,0,110,111,32,73,68,65,84,0,88,88,88,88,32,80,78,71,32,99,104,117,110,107,32,110,111,116,32,107,110,111,119,110,0,115,45,62,105,109,103,95,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,100,101,95,105,112,104,111,110,101,0,111,117,116,95,110,32,61,61,32,50,32,124,124,32,111,117,116,95,110,32,61,61,32,52,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,116,114,97,110,115,112,97,114,101,110,99,121,49,54,0,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,32,124,124,32,111,117,116,95,110,32,61,61,32,115,45,62,105,109,103,95,110,43,49,0,115,116,98,105,95,95,99,114,101,97,116,101,95,112,110,103,95,105,109,97,103,101,95,114,97,119,0,110,111,116,32,101,110,111,117,103,104,32,112,105,120,101,108,115,0,105,109,103,95,119,105,100,116,104,95,98,121,116,101,115,32,60,61,32,120,0,0,1,0,5,6,105,109,103,95,110,43,49,32,61,61,32,111,117,116,95,110,0,105,110,118,97,108,105,100,32,102,105,108,116,101,114,0,105,109,103,95,110,32,61,61,32,51,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,7,7,7,7], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,98,97,100,32,104,117,102,102,109,97,110,32,99,111,100,101,0,98,97,100,32,100,105,115,116,0,111,117,116,112,117,116,32,98,117,102,102,101,114,32,108,105,109,105,116,0,122,45,62,115,105,122,101,91,98,93,32,61,61,32,115,0,115,116,98,105,95,95,122,104,117,102,102,109,97,110,95,100,101,99,111,100,101,95,115,108,111,119,112,97,116,104,0,98,105,116,115,32,60,61,32,49,54,0,115,116,98,105,95,95,98,105,116,95,114,101,118,101,114,115,101,0,122,45,62,99,111,100,101,95,98,117,102,102,101,114,32,60,32,40,49,85,32,60,60,32,122,45,62,110,117,109,95,98,105,116,115,41,0,115,116,98,105,95,95,102,105,108,108,95,98,105,116,115,0,98,97,100,32,99,111,100,101,108,101,110,103,116,104,115,0,99,32,61,61,32,49,56,0,115,116,98,105,95,95,99,111,109,112,117,116,101,95,104,117,102,102,109,97,110,95,99,111,100,101,115,0,98,97,100,32,115,105,122,101,115,0,97,45,62,110,117,109,95,98,105,116,115,32,61,61,32,48,0,115,116,98,105,95,95,112,97,114,115,101,95,117,110,99,111,109,112,114,101,115,115,101,100,95,98,108,111,99,107,0,122,108,105,98,32,99,111,114,114,117,112,116,0,114,101,97,100,32,112,97,115,116,32,98,117,102,102,101,114,0,98,97,100,32,122,108,105,98,32,104,101,97,100,101,114,0,110,111,32,112,114,101,115,101,116,32,100,105,99,116,0,98,97,100,32,99,111,109,112,114,101,115,115,105,111,110,0,98,97,100,32,112,110,103,32,115,105,103,0,46,114,114,101,115,0,91,37,115,93,32,82,101,115,111,117,114,99,101,32,102,105,108,101,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,105,109,97,103,101,32,100,97,116,97,0,46,112,110,103,0,91,37,115,93,32,73,109,97,103,101,32,102,105,108,101,102,111,114,109,97,116,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,91,37,115,93,32,73,109,97,103,101,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,40,37,105,120,37,105,41,0,91,37,115,93,32,73,109,97,103,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,108,111,97,100,101,100,0,73,109,97,103,101,32,102,111,114,109,97,116,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,0,114,98,0,91,37,115,93,32,114,82,69,83,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,112,101,110,101,100,0,91,37,115,93,32,84,104,105,115,32,105,115,32,110,111,116,32,97,32,118,97,108,105,100,32,114,97,121,108,105,98,32,114,101,115,111,117,114,99,101,32,102,105,108,101,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,115,111,117,114,99,101,32,100,97,116,97,32,108,111,97,100,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,91,37,115,93,91,73,68,32,37,105,93,32,82,101,113,117,101,115,116,101,100,32,114,101,115,111,117,114,99,101,32,99,111,117,108,100,32,110,111,116,32,98,101,32,102,111,117,110,100,0,79,117,116,32,111,102,32,109,101,109,111,114,121,32,119,104,105,108,101,32,100,101,99,111,109,112,114,101,115,115,105,110,103,32,100,97,116,97,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,105,111,110,32,102,97,105,108,101,100,0,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,32,110,111,116,32,109,97,116,99,104,44,32,100,97,116,97,32,109,97,121,32,98,101,32,99,111,114,114,117,112,116,101,100,0,32,45,45,32,69,120,112,101,99,116,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,32,45,45,32,82,101,116,117,114,110,101,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,58,32,37,105,0,68,97,116,97,32,100,101,99,111,109,112,114,101,115,115,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,32,102,114,111,109,32,37,117,32,98,121,116,101,115,32,116,111,32,37,117,32,98,121,116,101,115,0,5,5,4,0,16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15,2,3,7,0,3,3,11,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,111,98,116,97,105,110,101,100,32,115,117,99,99,101,115,115,102,117,108,108,121,0,84,101,120,116,117,114,101,32,112,105,120,101,108,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,67,111,109,112,114,101,115,115,101,100,32,116,101,120,116,117,114,101,32,100,97,116,97,32,99,111,117,108,100,32,110,111,116,32,98,101,32,111,98,116,97,105,110,101,100,0,69,88,84,0,65,82,66,0,79,69,83,0,65,78,71,76,69,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,80,114,111,103,114,97,109,0,103,108,85,115,101,80,114,111,103,114,97,109,79,98,106,101,99,116,0,103,108,85,115,101,80,114,111,103,114,97,109,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,79,98,106,101,99,116,0,103,108,67,114,101,97,116,101,83,104,97,100,101,114,0,103,108,65,116,116,97,99,104,79,98,106,101,99,116,0,103,108,65,116,116,97,99,104,83,104,97,100,101,114,0,103,108,68,101,116,97,99,104,79,98,106,101,99,116,0,103,108,68,101,116,97,99,104,83,104,97,100,101,114,0,103,108,80,105,120,101,108,83,116,111,114,101,105,0,103,108,71,101,116,83,116,114,105,110,103,0,103,108,71,101,116,73,110,116,101,103,101,114,118,0,103,108,71,101,116,70,108,111,97,116,118,0,103,108,71,101,116,66,111,111,108,101,97,110,118,0,103,108,71,101,110,84,101,120,116,117,114,101,115,0,103,108,68,101,108,101,116,101,84,101,120,116,117,114,101,115,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,109,112,114,101,115,115,101,100,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,84,101,120,73,109,97,103,101,50,68,0,103,108,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,82,101,97,100,80,105,120,101,108,115,0,103,108,66,105,110,100,84,101,120,116,117,114,101,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,71,101,116,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,118,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,84,101,120,116,117,114,101,0,103,108,71,101,110,66,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,66,117,102,102,101,114,115,0,103,108,71,101,116,66,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,66,117,102,102,101,114,68,97,116,97,0,103,108,66,117,102,102,101,114,83,117,98,68,97,116,97,0,103,108,73,115,66,117,102,102,101,114,0,103,108,71,101,110,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,82,101,110,100,101,114,98,117,102,102,101,114,115,0,103,108,66,105,110,100,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,82,101,110,100,101,114,98,117,102,102,101,114,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,71,101,116,85,110,105,102,111,114,109,102,118,0,103,108,71,101,116,85,110,105,102,111,114,109,105,118,0,103,108,71,101,116,85,110,105,102,111,114,109,76,111,99,97,116,105,111,110,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,102,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,105,118,0,103,108,71,101,116,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,118,0,103,108,71,101,116,65,99,116,105,118,101,85,110,105,102,111,114,109,0,103,108,85,110,105,102,111,114,109,49,102,0,103,108,85,110,105,102,111,114,109,50,102,0,103,108,85,110,105,102,111,114,109,51,102,0,103,108,85,110,105,102,111,114,109,52,102,0,103,108,85,110,105,102,111,114,109,49,105,0,103,108,85,110,105,102,111,114,109,50,105,0,103,108,85,110,105,102,111,114,109,51,105,0,103,108,85,110,105,102,111,114,109,52,105,0,103,108,85,110,105,102,111,114,109,49,105,118,0,103,108,85,110,105,102,111,114,109,50,105,118,0,103,108,85,110,105,102,111,114,109,51,105,118,0,103,108,85,110,105,102,111,114,109,52,105,118,0,103,108,85,110,105,102,111,114,109,49,102,118,0,103,108,85,110,105,102,111,114,109,50,102,118,0,103,108,85,110,105,102,111,114,109,51,102,118,0,103,108,85,110,105,102,111,114,109,52,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,50,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,51,102,118,0,103,108,85,110,105,102,111,114,109,77,97,116,114,105,120,52,102,118,0,103,108,66,105,110,100,66,117,102,102,101,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,118,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,118,0,103,108,71,101,116,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,71,101,116,65,99,116,105,118,101,65,116,116,114,105,98,0,103,108,68,101,108,101,116,101,83,104,97,100,101,114,0,103,108,71,101,116,65,116,116,97,99,104,101,100,83,104,97,100,101,114,115,0,103,108,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,71,101,116,83,104,97,100,101,114,83,111,117,114,99,101,0,103,108,67,111,109,112,105,108,101,83,104,97,100,101,114,0,103,108,71,101,116,83,104,97,100,101,114,73,110,102,111,76,111,103,0,103,108,71,101,116,83,104,97,100,101,114,105,118,0,103,108,71,101,116,80,114,111,103,114,97,109,105,118,0,103,108,73,115,83,104,97,100,101,114,0,103,108,68,101,108,101,116,101,80,114,111,103,114,97,109,0,103,108,71,101,116,83,104,97,100,101,114,80,114,101,99,105,115,105,111,110,70,111,114,109,97,116,0,103,108,76,105,110,107,80,114,111,103,114,97,109,0,103,108,71,101,116,80,114,111,103,114,97,109,73,110,102,111,76,111,103,0,103,108,86,97,108,105,100,97,116,101,80,114,111,103,114,97,109,0,103,108,73,115,80,114,111,103,114,97,109,0,103,108,66,105,110,100,65,116,116,114,105,98,76,111,99,97,116,105,111,110,0,103,108,66,105,110,100,70,114,97,109,101,98,117,102,102,101,114,0,103,108,71,101,110,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,68,101,108,101,116,101,70,114,97,109,101,98,117,102,102,101,114,115,0,103,108,70,114,97,109,101,98,117,102,102,101,114,82,101,110,100,101,114,98,117,102,102,101,114,0,103,108,70,114,97,109,101,98,117,102,102,101,114,84,101,120,116,117,114,101,50,68,0,103,108,71,101,116,70,114,97,109,101,98,117,102,102,101,114,65,116,116,97,99,104,109,101,110,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,73,115,70,114,97,109,101,98,117,102,102,101,114,0,103,108,68,101,108,101,116,101,79,98,106,101,99,116,0,103,108,71,101,116,79,98,106,101,99,116,80,97,114,97,109,101,116,101,114,105,118,0,103,108,71,101,116,73,110,102,111,76,111,103,0,103,108,66,105,110,100,80,114,111,103,114,97,109,0,103,108,71,101,116,80,111,105,110,116,101,114,118,0,103,108,68,114,97,119,82,97,110,103,101,69,108,101,109,101,110,116,115,0,103,108,69,110,97,98,108,101,67,108,105,101,110,116,83,116,97,116,101,0,103,108,86,101,114,116,101,120,80,111,105,110,116,101,114,0,103,108,84,101,120,67,111,111,114,100,80,111,105,110,116,101,114,0,103,108,78,111,114,109,97,108,80,111,105,110,116,101,114,0,103,108,67,111,108,111,114,80,111,105,110,116,101,114,0,103,108,67,108,105,101,110,116,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,71,101,110,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,68,101,108,101,116,101,86,101,114,116,101,120,65,114,114,97,121,115,0,103,108,66,105,110,100,86,101,114,116,101,120,65,114,114,97,121,0,103,108,77,97,116,114,105,120,77,111,100,101,0,103,108,76,111,97,100,73,100,101,110,116,105,116,121,0,103,108,76,111,97,100,77,97,116,114,105,120,102,0,103,108,70,114,117,115,116,117,109,0,103,108,82,111,116,97,116,101,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,80,111,105,110,116,101,114,0,103,108,69,110,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,105,115,97,98,108,101,86,101,114,116,101,120,65,116,116,114,105,98,65,114,114,97,121,0,103,108,68,114,97,119,65,114,114,97,121,115,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,0,103,108,83,104,97,100,101,114,66,105,110,97,114,121,0,103,108,82,101,108,101,97,115,101,83,104,97,100,101,114,67,111,109,112,105,108,101,114,0,103,108,71,101,116,69,114,114,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,68,105,118,105,115,111,114,0,103,108,68,114,97,119,65,114,114,97,121,115,73,110,115,116,97,110,99,101,100,0,103,108,68,114,97,119,69,108,101,109,101,110,116,115,73,110,115,116,97,110,99,101,100,0,103,108,70,105,110,105,115,104,0,103,108,70,108,117,115,104,0,103,108,67,108,101,97,114,68,101,112,116,104,0,103,108,67,108,101,97,114,68,101,112,116,104,102,0,103,108,68,101,112,116,104,70,117,110,99,0,103,108,69,110,97,98,108,101,0,103,108,68,105,115,97,98,108,101,0,103,108,70,114,111,110,116,70,97,99,101,0,103,108,67,117,108,108,70,97,99,101,0,103,108,67,108,101,97,114,0,103,108,76,105,110,101,87,105,100,116,104,0,103,108,67,108,101,97,114,83,116,101,110,99,105,108,0,103,108,68,101,112,116,104,77,97,115,107,0,103,108,83,116,101,110,99,105,108,77,97,115,107,0,103,108,67,104,101,99,107,70,114,97,109,101,98,117,102,102,101,114,83,116,97,116,117,115,0,103,108,71,101,110,101,114,97,116,101,77,105,112,109,97,112,0,103,108,65,99,116,105,118,101,84,101,120,116,117,114,101,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,0,103,108,73,115,69,110,97,98,108,101,100,0,103,108,66,108,101,110,100,70,117,110,99,0,103,108,66,108,101,110,100,69,113,117,97,116,105,111,110,83,101,112,97,114,97,116,101,0,103,108,68,101,112,116,104,82,97,110,103,101,0,103,108,68,101,112,116,104,82,97,110,103,101,102,0,103,108,83,116,101,110,99,105,108,77,97,115,107,83,101,112,97,114,97,116,101,0,103,108,72,105,110,116,0,103,108,80,111,108,121,103,111,110,79,102,102,115,101,116,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,49,102,0,103,108,83,97,109,112,108,101,67,111,118,101,114,97,103,101,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,105,0,103,108,84,101,120,80,97,114,97,109,101,116,101,114,102,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,50,102,0,103,108,83,116,101,110,99,105,108,70,117,110,99,0,103,108,83,116,101,110,99,105,108,79,112,0,103,108,86,105,101,119,112,111,114,116,0,103,108,67,108,101,97,114,67,111,108,111,114,0,103,108,83,99,105,115,115,111,114,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,51,102,0,103,108,67,111,108,111,114,77,97,115,107,0,103,108,82,101,110,100,101,114,98,117,102,102,101,114,83,116,111,114,97,103,101,0,103,108,66,108,101,110,100,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,66,108,101,110,100,67,111,108,111,114,0,103,108,83,116,101,110,99,105,108,70,117,110,99,83,101,112,97,114,97,116,101,0,103,108,83,116,101,110,99,105,108,79,112,83,101,112,97,114,97,116,101,0,103,108,86,101,114,116,101,120,65,116,116,114,105,98,52,102,0,103,108,67,111,112,121,84,101,120,73,109,97,103,101,50,68,0,103,108,67,111,112,121,84,101,120,83,117,98,73,109,97,103,101,50,68,0,103,108,68,114,97,119,66,117,102,102,101,114,115,0,123,32,77,111,100,117,108,101,46,112,114,105,110,116,69,114,114,40,39,98,97,100,32,110,97,109,101,32,105,110,32,103,101,116,80,114,111,99,65,100,100,114,101,115,115,58,32,39,32,43,32,91,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,44,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,93,41,59,32,125,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); @@ -10555,24 +10555,24 @@ function _main() { $5 = HEAP32[3]|0; _InitWindow($4,$5,3996); _LoadImage($0,4041); - ;HEAP32[16832>>2]=HEAP32[$0>>2]|0;HEAP32[16832+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[16832+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[16832+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[16832+16>>2]=HEAP32[$0+16>>2]|0; + ;HEAP32[17144>>2]=HEAP32[$0>>2]|0;HEAP32[17144+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[17144+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[17144+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[17144+16>>2]=HEAP32[$0+16>>2]|0; ;HEAP32[$texture$byval_copy4>>2]=HEAP32[$0>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$texture$byval_copy4); - ;HEAP32[16852>>2]=HEAP32[$1>>2]|0;HEAP32[16852+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16852+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16852+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16852+16>>2]=HEAP32[$1+16>>2]|0; - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16832>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16832+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16832+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16832+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16832+16>>2]|0; + ;HEAP32[17164>>2]=HEAP32[$1>>2]|0;HEAP32[17164+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17164+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17164+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17164+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17144>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17144+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17144+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17144+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17144+16>>2]|0; _UnloadImage($texture$byval_copy4); - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17164+16>>2]|0; _GetTextureData($2,$texture$byval_copy4); - ;HEAP32[16832>>2]=HEAP32[$2>>2]|0;HEAP32[16832+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[16832+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[16832+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[16832+16>>2]=HEAP32[$2+16>>2]|0; - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[17144>>2]=HEAP32[$2>>2]|0;HEAP32[17144+4>>2]=HEAP32[$2+4>>2]|0;HEAP32[17144+8>>2]=HEAP32[$2+8>>2]|0;HEAP32[17144+12>>2]=HEAP32[$2+12>>2]|0;HEAP32[17144+16>>2]=HEAP32[$2+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17164+16>>2]|0; _UnloadTexture($texture$byval_copy4); - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16832>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16832+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16832+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16832+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16832+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17144>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17144+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17144+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17144+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17144+16>>2]|0; _LoadTextureFromImage($3,$texture$byval_copy4); - ;HEAP32[16852>>2]=HEAP32[$3>>2]|0;HEAP32[16852+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[16852+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[16852+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[16852+16>>2]=HEAP32[$3+16>>2]|0; - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16832>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16832+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16832+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16832+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16832+16>>2]|0; + ;HEAP32[17164>>2]=HEAP32[$3>>2]|0;HEAP32[17164+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[17164+8>>2]=HEAP32[$3+8>>2]|0;HEAP32[17164+12>>2]=HEAP32[$3+12>>2]|0;HEAP32[17164+16>>2]=HEAP32[$3+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17144>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17144+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17144+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17144+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17144+16>>2]|0; _UnloadImage($texture$byval_copy4); _emscripten_set_main_loop((1|0),0,1); - ;HEAP32[$texture$byval_copy4>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[$texture$byval_copy4>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy4+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy4+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy4+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy4+16>>2]=HEAP32[17164+16>>2]|0; _UnloadTexture($texture$byval_copy4); _CloseWindow(); STACKTOP = sp;return 0; @@ -10599,16 +10599,16 @@ function _UpdateDrawFrame() { _ClearBackground($$byval_copy1); $6 = HEAP32[2]|0; $7 = (($6|0) / 2)&-1; - $8 = HEAP32[(16856)>>2]|0; + $8 = HEAP32[(17168)>>2]|0; $9 = (($8|0) / 2)&-1; $10 = (($7) - ($9))|0; $11 = HEAP32[3]|0; $12 = (($11|0) / 2)&-1; - $13 = HEAP32[(16860)>>2]|0; + $13 = HEAP32[(17172)>>2]|0; $14 = (($13|0) / 2)&-1; $15 = (($12) - ($14))|0; HEAP32[$1>>2] = -1; - ;HEAP32[$texture$byval_copy>>2]=HEAP32[16852>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[16852+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[16852+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[16852+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[16852+16>>2]|0; + ;HEAP32[$texture$byval_copy>>2]=HEAP32[17164>>2]|0;HEAP32[$texture$byval_copy+4>>2]=HEAP32[17164+4>>2]|0;HEAP32[$texture$byval_copy+8>>2]=HEAP32[17164+8>>2]|0;HEAP32[$texture$byval_copy+12>>2]=HEAP32[17164+12>>2]|0;HEAP32[$texture$byval_copy+16>>2]=HEAP32[17164+16>>2]|0; ;HEAP8[$$byval_copy1>>0]=HEAP8[$1>>0]|0;HEAP8[$$byval_copy1+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$$byval_copy1+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$$byval_copy1+3>>0]=HEAP8[$1+3>>0]|0; _DrawTexture($texture$byval_copy,$10,$15,$$byval_copy1); HEAP8[$2>>0] = -126; @@ -10623,6 +10623,56 @@ function _UpdateDrawFrame() { _EndDrawing(); STACKTOP = sp;return; } +function _Vector2Distance($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = +HEAPF32[$0>>2]; + $3 = +HEAPF32[$1>>2]; + $4 = $2 - $3; + $5 = $4 * $4; + $6 = ((($0)) + 4|0); + $7 = +HEAPF32[$6>>2]; + $8 = ((($1)) + 4|0); + $9 = +HEAPF32[$8>>2]; + $10 = $7 - $9; + $11 = $10 * $10; + $12 = $5 + $11; + $13 = (+Math_sqrt((+$12))); + return (+$13); +} +function _Vector2Angle($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($1)) + 4|0); + $3 = +HEAPF32[$2>>2]; + $4 = ((($0)) + 4|0); + $5 = +HEAPF32[$4>>2]; + $6 = $3 - $5; + $7 = +HEAPF32[$1>>2]; + $8 = +HEAPF32[$0>>2]; + $9 = $7 - $8; + $10 = (+Math_atan2((+$6),(+$9))); + $11 = $10 * 57.2957763671875; + $12 = $11 < 0.0; + $13 = $11 + 360.0; + $$0 = $12 ? $13 : $11; + return (+$$0); +} +function _VectorZero($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, label = 0, sp = 0; + sp = STACKTOP; + HEAPF32[$0>>2] = 0.0; + $1 = ((($0)) + 4|0); + HEAPF32[$1>>2] = 0.0; + $2 = ((($0)) + 8|0); + HEAPF32[$2>>2] = 0.0; + return; +} function _VectorLength($0) { $0 = $0|0; var $1 = 0.0, $10 = 0.0, $11 = 0.0, $2 = 0.0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; @@ -10722,13 +10772,6 @@ function _VectorTransform($0,$1) { HEAPF32[$5>>2] = $47; return; } -function _VectorZero($0) { - $0 = $0|0; - var label = 0, sp = 0; - sp = STACKTOP; - ;HEAP32[$0>>2]=0|0;HEAP32[$0+4>>2]=0|0;HEAP32[$0+8>>2]=0|0; - return; -} function _MatrixTranspose($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, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; @@ -11338,7 +11381,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[4219] = $2; + HEAP32[4297] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11351,7 +11394,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 16560; + $95 = 16872; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11364,48 +11407,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 16600; + $106 = 16912; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[4150]; - $111 = +HEAPF32[4140]; + $110 = +HEAPF32[4228]; + $111 = +HEAPF32[4218]; $112 = $110 - $111; - HEAPF32[4152] = $112; - $113 = +HEAPF32[(16604)>>2]; - $114 = +HEAPF32[(16564)>>2]; + HEAPF32[4230] = $112; + $113 = +HEAPF32[(16916)>>2]; + $114 = +HEAPF32[(16876)>>2]; $115 = $113 - $114; - HEAPF32[(16612)>>2] = $115; - HEAP32[4218] = 4; + HEAPF32[(16924)>>2] = $115; + HEAP32[4296] = 4; STACKTOP = sp;return; } switch ($4|0) { case 2: { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16904+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[4224] = $116; - $117 = 16592; + HEAPF32[4302] = $116; + $117 = 16904; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 16560; + $123 = 16872; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 16616; + $127 = 16928; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 16600; + $133 = 16912; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11418,7 +11461,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 16592; + $144 = 16904; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11431,27 +11474,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 16616; + $155 = 16928; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[4154]; - $160 = +HEAPF32[4148]; + $159 = +HEAPF32[4232]; + $160 = +HEAPF32[4226]; $161 = $159 - $160; - HEAPF32[4152] = $161; - $162 = +HEAPF32[(16620)>>2]; - $163 = +HEAPF32[(16596)>>2]; + HEAPF32[4230] = $161; + $162 = +HEAPF32[(16932)>>2]; + $163 = +HEAPF32[(16908)>>2]; $164 = $162 - $163; - HEAPF32[(16612)>>2] = $164; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16592+4>>2]|0; + HEAPF32[(16924)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16904+4>>2]|0; $165 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $166 = !($165 >= 0.004999999888241291); if ($166) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16600>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16600+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16912>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16912+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -11463,31 +11506,31 @@ function _ProcessGestureEvent($0) { label = 29; } if ((label|0) == 29) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16904+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[4224]; + $170 = +HEAPF32[4302]; $171 = $169 - $170; $172 = $171 < 0.0; $$sink11 = $172 ? 256 : 512; $$sink16 = $$sink11; } - HEAP32[4218] = $$sink16; - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16592+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16616>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16616+4>>2]|0; + HEAP32[4296] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16904+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16928>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16928+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[4225] = $174; + HEAPF32[4303] = $174; STACKTOP = sp;return; break; } case 0: { - HEAPF32[4224] = 0.0; - HEAPF32[4225] = 0.0; - HEAPF32[4152] = 0.0; - HEAPF32[(16612)>>2] = 0.0; - HEAP32[4219] = 0; - HEAP32[4218] = 0; + HEAPF32[4302] = 0.0; + HEAPF32[4303] = 0.0; + HEAPF32[4230] = 0.0; + HEAPF32[(16924)>>2] = 0.0; + HEAP32[4297] = 0; + HEAP32[4296] = 0; STACKTOP = sp;return; break; } @@ -11497,22 +11540,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[4220]|0; + $6 = HEAP32[4298]|0; $7 = (($6) + 1)|0; - HEAP32[4220] = $7; - $8 = HEAP32[4218]|0; + HEAP32[4298] = $7; + $8 = HEAP32[4296]|0; $9 = ($8|0)==(0); $10 = ($6|0)>(0); $or$cond = $10 & $9; if ($or$cond) { $11 = ((($0)) + 24|0); - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[$11>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[$11+4>>2]|0; $12 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $13 = $12 < 0.029999999329447746; if ($13) { - HEAP32[4218] = 2; - HEAP32[4220] = 0; + HEAP32[4296] = 2; + HEAP32[4298] = 0; } else { label = 6; } @@ -11520,8 +11563,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[4220] = 1; - HEAP32[4218] = 1; + HEAP32[4298] = 1; + HEAP32[4296] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -11530,19 +11573,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 16560; + $21 = 16872; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 16568; + $25 = 16880; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 16576; + $29 = 16888; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -11551,13 +11594,13 @@ function _ProcessGestureEvent($0) { $33 = ((($0)) + 8|0); $34 = HEAP32[$33>>2]|0; HEAP32[4] = $34; - HEAPF32[4146] = 0.0; - HEAPF32[(16588)>>2] = 0.0; + HEAPF32[4224] = 0.0; + HEAPF32[(16900)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[4218]|0; + $35 = HEAP32[4296]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -11567,19 +11610,19 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 16576; + $44 = 16888; $45 = $44; HEAP32[$45>>2] = $40; $46 = (($44) + 4)|0; $47 = $46; HEAP32[$47>>2] = $43; } - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16576+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16888+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[4221] = $49; - HEAP32[4222] = 0; + HEAPF32[4299] = $49; + HEAP32[4300] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { $51 = HEAP32[4]|0; @@ -11587,11 +11630,11 @@ function _ProcessGestureEvent($0) { $53 = HEAP32[$52>>2]|0; $54 = ($51|0)==($53|0); if ($54) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16576>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16576+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16888>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16888+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[4223] = $56; + HEAPF32[4301] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -11622,22 +11665,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[4221] = 0.0; - HEAPF32[4223] = 0.0; + HEAPF32[4299] = 0.0; + HEAPF32[4301] = 0.0; $$sink10 = 0; } - HEAP32[4218] = $$sink10; - HEAPF32[4142] = 0.0; - HEAPF32[(16572)>>2] = 0.0; - HEAP32[4219] = 0; + HEAP32[4296] = $$sink10; + HEAPF32[4220] = 0.0; + HEAPF32[(16884)>>2] = 0.0; + HEAP32[4297] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[4222]|0; + $65 = HEAP32[4300]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[4222] = 1; + HEAP32[4300] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -11646,31 +11689,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 16592; + $74 = 16904; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[4218]|0; + $78 = HEAP32[4296]|0; $79 = ($78|0)==(4); if ($79) { - ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16560>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16560+4>>2]|0; - ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16592>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16592+4>>2]|0; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[16872>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[16872+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[16904>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[16904+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[4218] = 8; + HEAP32[4296] = 8; } } - $82 = +HEAPF32[4148]; - $83 = +HEAPF32[4142]; + $82 = +HEAPF32[4226]; + $83 = +HEAPF32[4220]; $84 = $82 - $83; - HEAPF32[4146] = $84; - $85 = +HEAPF32[(16596)>>2]; - $86 = +HEAPF32[(16572)>>2]; + HEAPF32[4224] = $84; + $85 = +HEAPF32[(16908)>>2]; + $86 = +HEAPF32[(16884)>>2]; $87 = $85 - $86; - HEAPF32[(16588)>>2] = $87; + HEAPF32[(16900)>>2] = $87; STACKTOP = sp;return; break; } @@ -11679,58 +11722,19 @@ function _ProcessGestureEvent($0) { } } } -function _Vector2Distance($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $10 = 0.0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0.0, $sqrtf = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = +HEAPF32[$1>>2]; - $3 = +HEAPF32[$0>>2]; - $4 = $2 - $3; - $5 = ((($1)) + 4|0); - $6 = +HEAPF32[$5>>2]; - $7 = ((($0)) + 4|0); - $8 = +HEAPF32[$7>>2]; - $9 = $6 - $8; - $10 = $4 * $4; - $11 = $9 * $9; - $12 = $10 + $11; - $sqrtf = (+Math_sqrt((+$12))); - return (+$sqrtf); -} -function _Vector2Angle($0,$1) { - $0 = $0|0; - $1 = $1|0; - var $$0 = 0.0, $10 = 0.0, $11 = 0.0, $12 = 0, $13 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; - sp = STACKTOP; - $2 = ((($1)) + 4|0); - $3 = +HEAPF32[$2>>2]; - $4 = ((($0)) + 4|0); - $5 = +HEAPF32[$4>>2]; - $6 = $3 - $5; - $7 = +HEAPF32[$1>>2]; - $8 = +HEAPF32[$0>>2]; - $9 = $7 - $8; - $10 = (+Math_atan2((+$6),(+$9))); - $11 = $10 * 57.2957763671875; - $12 = $11 < 0.0; - $13 = $11 + 360.0; - $$0 = $12 ? $13 : $11; - return (+$$0); -} function _UpdateGestures() { var $$off = 0, $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $or$cond3 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4218]|0; + $0 = HEAP32[4296]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[4219]|0; + $2 = HEAP32[4297]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[4218] = 4; + HEAP32[4296] = 4; } - $4 = HEAP32[4218]|0; + $4 = HEAP32[4296]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -11743,14 +11747,14 @@ function _UpdateGestures() { return; } } - HEAP32[4218] = 0; + HEAP32[4296] = 0; return; } function _GetMousePosition($0) { $0 = $0|0; var $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; - $1 = 16624; + $1 = 16936; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -11767,13 +11771,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4228]|0; + $0 = HEAP32[4306]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4227]|0; + $0 = HEAP32[4305]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -11785,7 +11789,7 @@ function _InitWindow($0,$1,$2) { STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; _TraceLog(0,4107,$vararg_buffer); - HEAP32[4230] = $2; + HEAP32[4308] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); _InitTimer(); @@ -11798,15 +11802,15 @@ function _InitWindow($0,$1,$2) { (_emscripten_set_touchcancel_callback((4136|0),(0|0),1,(7|0))|0); (_emscripten_set_gamepadconnected_callback((0|0),1,(8|0))|0); (_emscripten_set_gamepaddisconnected_callback((0|0),1,(8|0))|0); - $3 = HEAP32[4228]|0; + $3 = HEAP32[4306]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[4156] = $5; - $6 = HEAP32[4227]|0; + HEAPF32[4234] = $5; + $6 = HEAP32[4305]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(16628)>>2] = $8; - $9 = HEAP32[4231]|0; + HEAPF32[(16940)>>2] = $8; + $9 = HEAP32[4309]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -11825,11 +11829,11 @@ function _TraceLog($0,$1,$varargs) { $2 = sp; switch ($0|0) { case 0: { - ;HEAP8[16664>>0]=HEAP8[8665>>0]|0;HEAP8[16664+1>>0]=HEAP8[8665+1>>0]|0;HEAP8[16664+2>>0]=HEAP8[8665+2>>0]|0;HEAP8[16664+3>>0]=HEAP8[8665+3>>0]|0;HEAP8[16664+4>>0]=HEAP8[8665+4>>0]|0;HEAP8[16664+5>>0]=HEAP8[8665+5>>0]|0;HEAP8[16664+6>>0]=HEAP8[8665+6>>0]|0; + ;HEAP8[16976>>0]=HEAP8[8665>>0]|0;HEAP8[16976+1>>0]=HEAP8[8665+1>>0]|0;HEAP8[16976+2>>0]=HEAP8[8665+2>>0]|0;HEAP8[16976+3>>0]=HEAP8[8665+3>>0]|0;HEAP8[16976+4>>0]=HEAP8[8665+4>>0]|0;HEAP8[16976+5>>0]=HEAP8[8665+5>>0]|0;HEAP8[16976+6>>0]=HEAP8[8665+6>>0]|0; break; } case 1: { - $3 = 16664; + $3 = 16976; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -11838,11 +11842,11 @@ function _TraceLog($0,$1,$varargs) { break; } case 2: { - dest=16664; src=8672; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); + dest=16976; src=8672; stop=dest+10|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); break; } case 3: { - $7 = 16664; + $7 = 16976; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -11853,16 +11857,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(16664,$1)|0); - $strlen = (_strlen(16664)|0); - $endptr = (16664 + ($strlen)|0); + (_strcat(16976,$1)|0); + $strlen = (_strlen(16976)|0); + $endptr = (16976 + ($strlen)|0); HEAP8[$endptr>>0]=10&255;HEAP8[$endptr+1>>0]=10>>8; HEAP32[$2>>2] = $varargs; $11 = ($0|0)==(3); if ($11) { STACKTOP = sp;return; } - (_vprintf(16664,$2)|0); + (_vprintf(16976,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -11894,22 +11898,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[4228] = $0; - HEAP32[4227] = $1; + HEAP32[4306] = $0; + HEAP32[4305] = $1; _MatrixIdentity($2); - dest=17000; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17312; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_glfwSetErrorCallback((2|0))|0); $4 = (_glfwInit()|0); $5 = ($4|0)==(0); if ($5) { _TraceLog(1,4807,$vararg_buffer); } - $6 = HEAP32[4228]|0; - HEAP32[4266] = $6; - $7 = HEAP32[4227]|0; - HEAP32[4267] = $7; + $6 = HEAP32[4306]|0; + HEAP32[4344] = $6; + $7 = HEAP32[4305]|0; + HEAP32[4345] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[19732]|0; + $8 = HEAP8[20044]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -11917,13 +11921,13 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[19732]|0; + $11 = HEAP8[20044]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[19732]|0; + $14 = HEAP8[20044]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { @@ -11945,18 +11949,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[4268]|0; + $21 = HEAP32[4346]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[4228]|0; - $48 = HEAP32[4227]|0; - $49 = HEAP32[4230]|0; + $47 = HEAP32[4306]|0; + $48 = HEAP32[4305]|0; + $49 = HEAP32[4308]|0; $50 = (_glfwCreateWindow(($47|0),($48|0),($49|0),(0|0),(0|0))|0); - HEAP32[4226] = $50; - $51 = HEAP32[4228]|0; - HEAP32[4269] = $51; - $52 = HEAP32[4227]|0; - HEAP32[4270] = $52; + HEAP32[4304] = $50; + $51 = HEAP32[4306]|0; + HEAP32[4347] = $51; + $52 = HEAP32[4305]|0; + HEAP32[4348] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -11965,9 +11969,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[4228]|0; + $27 = HEAP32[4306]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[4227]|0; + $29 = HEAP32[4305]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -11989,25 +11993,25 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[4266] = $31; - HEAP32[4267] = $34; + HEAP32[4344] = $31; + HEAP32[4345] = $34; } } while(0); - $38 = HEAP32[4266]|0; - $39 = HEAP32[4267]|0; + $38 = HEAP32[4344]|0; + $39 = HEAP32[4345]|0; HEAP32[$vararg_buffer3>>2] = $38; $vararg_ptr5 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr5>>2] = $39; _TraceLog(2,4858,$vararg_buffer3); - $40 = HEAP32[4266]|0; - $41 = HEAP32[4267]|0; + $40 = HEAP32[4344]|0; + $41 = HEAP32[4345]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[4266]|0; - $43 = HEAP32[4267]|0; - $44 = HEAP32[4230]|0; + $42 = HEAP32[4344]|0; + $43 = HEAP32[4345]|0; + $44 = HEAP32[4308]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[4226] = $46; + HEAP32[4304] = $46; $54 = $46; } $53 = ($54|0)==(0|0); @@ -12016,60 +12020,60 @@ function _InitGraphicsDevice($0,$1) { _TraceLog(1,4896,$vararg_buffer6); } else { _TraceLog(0,4929,$vararg_buffer8); - $55 = HEAP32[4269]|0; - $56 = HEAP32[4270]|0; + $55 = HEAP32[4347]|0; + $56 = HEAP32[4348]|0; HEAP32[$vararg_buffer10>>2] = $55; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $56; _TraceLog(0,4969,$vararg_buffer10); - $57 = HEAP32[4228]|0; - $58 = HEAP32[4227]|0; + $57 = HEAP32[4306]|0; + $58 = HEAP32[4305]|0; HEAP32[$vararg_buffer14>>2] = $57; $vararg_ptr17 = ((($vararg_buffer14)) + 4|0); HEAP32[$vararg_ptr17>>2] = $58; _TraceLog(0,4990,$vararg_buffer14); - $59 = HEAP32[4271]|0; - $60 = HEAP32[4272]|0; + $59 = HEAP32[4349]|0; + $60 = HEAP32[4350]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; _TraceLog(0,5011,$vararg_buffer18); } - $61 = HEAP32[4226]|0; + $61 = HEAP32[4304]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[4226]|0; + $62 = HEAP32[4304]|0; (_glfwSetCursorEnterCallback(($62|0),(3|0))|0); - $63 = HEAP32[4226]|0; + $63 = HEAP32[4304]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[4226]|0; + $64 = HEAP32[4304]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[4226]|0; + $65 = HEAP32[4304]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[4226]|0; + $66 = HEAP32[4304]|0; (_glfwSetCharCallback(($66|0),(4|0))|0); - $67 = HEAP32[4226]|0; + $67 = HEAP32[4304]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[4226]|0; + $68 = HEAP32[4304]|0; (_glfwSetWindowIconifyCallback(($68|0),(5|0))|0); - $69 = HEAP32[4226]|0; + $69 = HEAP32[4304]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[19732]|0; + $70 = HEAP8[20044]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[4228]|0; - $74 = HEAP32[4227]|0; + $73 = HEAP32[4306]|0; + $74 = HEAP32[4305]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4269]|0; - $76 = HEAP32[4271]|0; + $75 = HEAP32[4347]|0; + $76 = HEAP32[4349]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4270]|0; - $80 = HEAP32[4272]|0; + $79 = HEAP32[4348]|0; + $80 = HEAP32[4350]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12088,18 +12092,18 @@ function _InitGraphicsDevice($0,$1) { } _glfwSwapInterval(1); _TraceLog(0,5036,$vararg_buffer22); - $73 = HEAP32[4228]|0; - $74 = HEAP32[4227]|0; + $73 = HEAP32[4306]|0; + $74 = HEAP32[4305]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[4269]|0; - $76 = HEAP32[4271]|0; + $75 = HEAP32[4347]|0; + $76 = HEAP32[4349]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[4270]|0; - $80 = HEAP32[4272]|0; + $79 = HEAP32[4348]|0; + $80 = HEAP32[4350]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12127,7 +12131,7 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(16968)>>2] = 224; + HEAP32[(17280)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; @@ -12168,27 +12172,27 @@ function _LoadDefaultFont() { _free($2); ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _LoadTextureFromImage($1,$$byval_copy1); - ;HEAP32[16944>>2]=HEAP32[$1>>2]|0;HEAP32[16944+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[16944+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[16944+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[16944+16>>2]=HEAP32[$1+16>>2]|0; + ;HEAP32[17256>>2]=HEAP32[$1>>2]|0;HEAP32[17256+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[17256+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[17256+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[17256+16>>2]=HEAP32[$1+16>>2]|0; ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0;HEAP32[$$byval_copy1+8>>2]=HEAP32[$0+8>>2]|0;HEAP32[$$byval_copy1+12>>2]=HEAP32[$0+12>>2]|0;HEAP32[$$byval_copy1+16>>2]=HEAP32[$0+16>>2]|0; _UnloadImage($$byval_copy1); - $5 = HEAP32[(16968)>>2]|0; + $5 = HEAP32[(17280)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(16972)>>2] = $7; + HEAP32[(17284)>>2] = $7; $8 = ($5|0)>(0); if (!($8)) { $$lcssa = $7; $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16964)>>2] = $23; - $24 = HEAP32[4236]|0; + HEAP32[(17276)>>2] = $23; + $24 = HEAP32[4314]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4331,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(16948)>>2]|0; - $10 = HEAP32[(16968)>>2]|0; - $11 = HEAP32[(16972)>>2]|0; + $9 = HEAP32[(17260)>>2]|0; + $10 = HEAP32[(17280)>>2]|0; + $11 = HEAP32[(17284)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12237,8 +12241,8 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(16964)>>2] = $23; - $24 = HEAP32[4236]|0; + HEAP32[(17276)>>2] = $23; + $24 = HEAP32[4314]|0; HEAP32[$vararg_buffer>>2] = $24; _TraceLog(0,4331,$vararg_buffer); STACKTOP = sp;return; @@ -12249,7 +12253,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[2082] = $1; + HEAPF64[2121] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12408,7 +12412,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 16640; + $31 = 16952; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12421,7 +12425,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (16648); + $42 = (16960); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -12477,7 +12481,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (16928 + ($10<<2)|0); + $11 = (17240 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -12491,7 +12495,7 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[2079] = $$; + HEAPF64[2118] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; @@ -12503,7 +12507,7 @@ function _SetTargetFPS($0) { function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4231] = 0; + HEAP32[4309] = 0; return; } function _GetTime() { @@ -13079,7 +13083,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[4244]|0; + $6 = HEAP32[4322]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); @@ -13089,7 +13093,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[4245]|0; + $9 = HEAP32[4323]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; @@ -13098,7 +13102,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[4246]|0; + $12 = HEAP32[4324]|0; $13 = ($12|0)==(0); $$off = (($3) + -13)|0; $14 = ($$off>>>0)<(2); @@ -13108,7 +13112,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[4247]|0; + $15 = HEAP32[4325]|0; $16 = ($15|0)==(0); $$off92 = (($3) + -15)|0; $17 = ($$off92>>>0)<(2); @@ -13118,7 +13122,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[4248]|0; + $18 = HEAP32[4326]|0; $19 = ($18|0)==(0); $$off93 = (($3) + -17)|0; $20 = ($$off93>>>0)<(2); @@ -13162,7 +13166,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[4244]|0; + $22 = HEAP32[4322]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13170,7 +13174,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[4244]|0; + $24 = HEAP32[4322]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13178,7 +13182,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[4244]|0; + $26 = HEAP32[4322]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13186,7 +13190,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[4244]|0; + $28 = HEAP32[4322]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13194,7 +13198,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[4245]|0; + $30 = HEAP32[4323]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13202,7 +13206,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[4246]|0; + $32 = HEAP32[4324]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13210,7 +13214,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[4246]|0; + $34 = HEAP32[4324]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13218,7 +13222,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[4247]|0; + $36 = HEAP32[4325]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13226,7 +13230,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[4247]|0; + $38 = HEAP32[4325]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13234,7 +13238,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[4248]|0; + $40 = HEAP32[4326]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13242,7 +13246,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[4248]|0; + $42 = HEAP32[4326]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13254,7 +13258,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { } } } while(0); - $44 = HEAP32[4249]|0; + $44 = HEAP32[4327]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13600,20 +13604,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[4228]|0; + $3 = HEAP32[4306]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[4227]|0; + $5 = HEAP32[4305]|0; $6 = ($5|0)>($1|0); if (!($6)) { $30 = ($3|0)<($0|0); $31 = ($5|0)<($1|0); $or$cond = $30 | $31; if (!($or$cond)) { - HEAP32[4269] = $3; - HEAP32[4270] = $5; - HEAP32[4271] = 0; - HEAP32[4272] = 0; + HEAP32[4347] = $3; + HEAP32[4348] = $5; + HEAP32[4349] = 0; + HEAP32[4350] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -13627,9 +13631,9 @@ function _SetupFramebufferSize($0,$1) { $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[4228]|0; + $35 = HEAP32[4306]|0; $36 = (+($35|0)); - $37 = HEAP32[4227]|0; + $37 = HEAP32[4305]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -13637,26 +13641,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[4269] = $45; - HEAP32[4270] = $37; + HEAP32[4347] = $45; + HEAP32[4348] = $37; $46 = (($45) - ($35))|0; - HEAP32[4271] = $46; + HEAP32[4349] = $46; $$sink1 = 0; } else { - HEAP32[4269] = $35; + HEAP32[4347] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[4270] = $42; - HEAP32[4271] = 0; + HEAP32[4348] = $42; + HEAP32[4349] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[4272] = $$sink1; + HEAP32[4350] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[4227]|0; + $7 = HEAP32[4305]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -13666,11 +13670,11 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr3>>2] = $1; _TraceLog(2,8418,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[4228]|0; + $9 = HEAP32[4306]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[4227]|0; + $13 = HEAP32[4305]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -13678,33 +13682,33 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[4269] = $23; - HEAP32[4270] = $1; + HEAP32[4347] = $23; + HEAP32[4348] = $1; $24 = (($0) - ($23))|0; - HEAP32[4271] = $24; + HEAP32[4349] = $24; $$sink = 0; } else { - HEAP32[4269] = $0; - $17 = HEAP32[4227]|0; + HEAP32[4347] = $0; + $17 = HEAP32[4305]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[4270] = $20; - HEAP32[4271] = 0; + HEAP32[4348] = $20; + HEAP32[4349] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[4272] = $$sink; - $25 = HEAP32[4269]|0; + HEAP32[4350] = $$sink; + $25 = HEAP32[4347]|0; $26 = (+($25|0)); - $27 = HEAP32[4228]|0; + $27 = HEAP32[4306]|0; $28 = (+($27|0)); $29 = $26 / $28; _MatrixScale($2,$29,$29,$29); - dest=17000; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4269] = $0; - HEAP32[4270] = $1; + dest=17312; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4347] = $0; + HEAP32[4348] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; @@ -13726,10 +13730,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[4228] = $1; - HEAP32[4227] = $2; - HEAP32[4269] = $1; - HEAP32[4270] = $2; + HEAP32[4306] = $1; + HEAP32[4305] = $2; + HEAP32[4347] = $1; + HEAP32[4348] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -13756,7 +13760,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (19739 + ($1)|0); + $9 = (20051 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; @@ -13777,7 +13781,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (19733 + ($1)|0); + $7 = (20045 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -13856,7 +13860,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 16640; + $15 = 16952; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -13891,7 +13895,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[4642] = $3; + HEAP32[4720] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -13901,7 +13905,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[4641] = $$sink; + HEAP32[4719] = $$sink; return; } function _rlglInit($0,$1) { @@ -13982,18 +13986,18 @@ function _rlglInit($0,$1) { $25 = (_strcmp($24,5168)|0); $26 = ($25|0)==(0); if ($26) { - HEAP32[4307] = 1; + HEAP32[4385] = 1; $27 = (_eglGetProcAddress((5195|0))|0); - HEAP32[4308] = $27; + HEAP32[4386] = $27; $28 = (_eglGetProcAddress((5216|0))|0); - HEAP32[4309] = $28; + HEAP32[4387] = $28; $29 = (_eglGetProcAddress((5237|0))|0); - HEAP32[4310] = $29; + HEAP32[4388] = $29; } $30 = (_strcmp($24,5261)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[4249] = 1; + HEAP32[4327] = 1; } $32 = (_strcmp($24,5281)|0); $33 = ($32|0)==(0); @@ -14015,7 +14019,7 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[4244] = 1; + HEAP32[4322] = 1; } $39 = (_strcmp($24,5386)|0); $40 = ($39|0)==(0); @@ -14031,35 +14035,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[4245] = 1; + HEAP32[4323] = 1; } $44 = HEAP32[$23>>2]|0; $45 = (_strcmp($44,5455)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[4246] = 1; + HEAP32[4324] = 1; } $47 = (_strcmp($44,5480)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[4247] = 1; + HEAP32[4325] = 1; } $49 = (_strcmp($44,5513)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[4248] = 1; + HEAP32[4326] = 1; } $51 = (_strcmp($44,5549)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[4311] = 1; - _glGetFloatv(34047,(17248|0)); + HEAP32[4389] = 1; + _glGetFloatv(34047,(17560|0)); } $53 = HEAP32[$23>>2]|0; $54 = (_strcmp($53,5583)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[4313] = 1; + HEAP32[4391] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14070,61 +14074,61 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[4307]|0; + $21 = HEAP32[4385]|0; $22 = ($21|0)==(0); if ($22) { _TraceLog(2,5686,$vararg_buffer15); } else { _TraceLog(0,5611,$vararg_buffer13); } - $57 = HEAP32[4249]|0; + $57 = HEAP32[4327]|0; $58 = ($57|0)==(0); if ($58) { _TraceLog(2,5822,$vararg_buffer19); } else { _TraceLog(0,5747,$vararg_buffer17); } - $59 = HEAP32[4244]|0; + $59 = HEAP32[4322]|0; $60 = ($59|0)==(0); if (!($60)) { _TraceLog(0,5914,$vararg_buffer21); } - $61 = HEAP32[4245]|0; + $61 = HEAP32[4323]|0; $62 = ($61|0)==(0); if (!($62)) { _TraceLog(0,5960,$vararg_buffer23); } - $63 = HEAP32[4246]|0; + $63 = HEAP32[4324]|0; $64 = ($63|0)==(0); if (!($64)) { _TraceLog(0,6007,$vararg_buffer25); } - $65 = HEAP32[4247]|0; + $65 = HEAP32[4325]|0; $66 = ($65|0)==(0); if (!($66)) { _TraceLog(0,6058,$vararg_buffer27); } - $67 = HEAP32[4248]|0; + $67 = HEAP32[4326]|0; $68 = ($67|0)==(0); if (!($68)) { _TraceLog(0,6105,$vararg_buffer29); } - $69 = HEAP32[4311]|0; + $69 = HEAP32[4389]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[4312]; + $71 = +HEAPF32[4390]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; _TraceLog(0,6152,$vararg_buffer31); } - $73 = HEAP32[4313]|0; + $73 = HEAP32[4391]|0; $74 = ($73|0)==(0); if (!($74)) { _TraceLog(0,6218,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[4314] = $75; + HEAP32[4392] = $75; $76 = ($75|0)==(0); if ($76) { _TraceLog(2,6322,$vararg_buffer39); @@ -14133,14 +14137,14 @@ function _rlglInit($0,$1) { _TraceLog(0,6271,$vararg_buffer36); } _LoadDefaultShader($2); - dest=17260; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17316; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17572; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17628; src=$2; stop=dest+56|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _LoadDefaultBuffers(); $77 = (_malloc(49152)|0); - HEAP32[4343] = $77; + HEAP32[4421] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[4343]|0; + $79 = HEAP32[4421]|0; $80 = (($79) + (($$06066*12)|0)|0); _VectorZero($3); ;HEAP32[$80>>2]=HEAP32[$3>>2]|0;HEAP32[$80+4>>2]=HEAP32[$3+4>>2]|0;HEAP32[$80+8>>2]=HEAP32[$3+8>>2]|0; @@ -14153,7 +14157,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[4344] = $78; + HEAP32[4422] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14168,48 +14172,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[4345] = 1; - $85 = HEAP32[4314]|0; + HEAP32[4423] = 1; + $85 = HEAP32[4392]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[4346] = 4; + HEAP32[4424] = 4; _MatrixIdentity($4); - dest=17388; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17700; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17452); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17764); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17516); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17828); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17580); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17892); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17644); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(17956); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17708); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18020); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17772); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18084); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17836); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18148); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17900); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18212); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(17964); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18276); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18028); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18340); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18092); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18404); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18156); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18468); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18220); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18532); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18284); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18596); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($4); - dest=(18348); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=(18660); src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($5); - dest=17096; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17408; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixIdentity($6); - dest=17160; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - HEAP32[4273] = 17160; + dest=17472; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + HEAP32[4351] = 17472; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14220,21 +14224,21 @@ function _rlglInit($0,$1) { _glClearColor(0.0,0.0,0.0,1.0); _glClearDepthf(1.0); _glClear(16640); - HEAP32[4603] = $0; - HEAP32[4604] = $1; + HEAP32[4681] = $0; + HEAP32[4682] = $1; _TraceLog(0,6361,$vararg_buffer41); STACKTOP = sp;return; } function _SetupViewport() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4271]|0; + $0 = HEAP32[4349]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[4272]|0; + $2 = HEAP32[4350]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[4269]|0; + $4 = HEAP32[4347]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[4270]|0; + $6 = HEAP32[4348]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14245,12 +14249,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 17096; + $modelview$sink = 17408; label = 3; break; } case 5888: { - $modelview$sink = 17160; + $modelview$sink = 17472; label = 3; break; } @@ -14258,9 +14262,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[4273] = $modelview$sink; + HEAP32[4351] = $modelview$sink; } - HEAP32[4306] = $0; + HEAP32[4384] = $0; return; } function _rlLoadIdentity() { @@ -14268,7 +14272,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[4273]|0; + $1 = HEAP32[4351]|0; _MatrixIdentity($0); dest=$1; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; @@ -14289,7 +14293,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[4273]|0; + $8 = HEAP32[4351]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy,$$byval_copy1); @@ -14386,15 +14390,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(18432)>>2] = $0; + HEAP32[(18744)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(18440)>>2] = $1; - HEAP32[(18436)>>2] = 0; - HEAP32[(18444)>>2] = 0; + HEAP32[(18752)>>2] = $1; + HEAP32[(18748)>>2] = 0; + HEAP32[(18756)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(18440)>>2]|0; + $2 = HEAP32[(18752)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14405,19 +14409,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[4605] = 0; - HEAP32[(18428)>>2] = 0; - HEAP32[(18424)>>2] = 0; + HEAP32[4683] = 0; + HEAP32[(18740)>>2] = 0; + HEAP32[(18736)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(18480)>>2] = $5; + HEAP32[(18792)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(18488)>>2] = $6; - HEAP32[(18484)>>2] = 0; - HEAP32[(18492)>>2] = 0; + HEAP32[(18800)>>2] = $6; + HEAP32[(18796)>>2] = 0; + HEAP32[(18804)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(18488)>>2]|0; + $7 = HEAP32[(18800)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14428,24 +14432,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[4617] = 0; - HEAP32[(18476)>>2] = 0; - HEAP32[(18472)>>2] = 0; + HEAP32[4695] = 0; + HEAP32[(18788)>>2] = 0; + HEAP32[(18784)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(18528)>>2] = $10; + HEAP32[(18840)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(18532)>>2] = $11; + HEAP32[(18844)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(18536)>>2] = $12; + HEAP32[(18848)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(18540)>>2] = $13; - $14 = HEAP32[(18528)>>2]|0; + HEAP32[(18852)>>2] = $13; + $14 = HEAP32[(18840)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(18532)>>2]|0; + $15 = HEAP32[(18844)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(18536)>>2]|0; + $17 = HEAP32[(18848)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14456,7 +14460,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(18540)>>2]|0; + $16 = HEAP32[(18852)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -14493,140 +14497,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[4629] = 0; - HEAP32[(18520)>>2] = 0; - HEAP32[(18524)>>2] = 0; + HEAP32[4707] = 0; + HEAP32[(18832)>>2] = 0; + HEAP32[(18836)>>2] = 0; _TraceLog(0,6408,$vararg_buffer); - $20 = HEAP32[4307]|0; + $20 = HEAP32[4385]|0; $21 = ($20|0)==(0); if (!($21)) { - $43 = HEAP32[4308]|0; - FUNCTION_TABLE_vii[$43 & 63](1,(18448)); - $44 = HEAP32[4309]|0; - $45 = HEAP32[(18448)>>2]|0; + $43 = HEAP32[4386]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(18760)); + $44 = HEAP32[4387]|0; + $45 = HEAP32[(18760)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((18452)|0)); - $46 = HEAP32[(18452)>>2]|0; + _glGenBuffers(2,((18764)|0)); + $46 = HEAP32[(18764)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(18432)>>2]|0; + $47 = HEAP32[(18744)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(17320)>>2]|0; + $48 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(17320)>>2]|0; + $49 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((18456)|0)); - $50 = HEAP32[(18456)>>2]|0; + _glGenBuffers(2,((18768)|0)); + $50 = HEAP32[(18768)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(18440)>>2]|0; + $51 = HEAP32[(18752)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(17340)>>2]|0; + $52 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(17340)>>2]|0; + $53 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[4307]|0; + $54 = HEAP32[4385]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(18452)>>2]|0; - $58 = HEAP32[(18456)>>2]|0; + $57 = HEAP32[(18764)>>2]|0; + $58 = HEAP32[(18768)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; _TraceLog(0,6546,$vararg_buffer3); } else { - $56 = HEAP32[(18448)>>2]|0; + $56 = HEAP32[(18760)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; _TraceLog(0,6481,$vararg_buffer1); } - $59 = HEAP32[4307]|0; + $59 = HEAP32[4385]|0; $60 = ($59|0)==(0); if (!($60)) { - $61 = HEAP32[4308]|0; - FUNCTION_TABLE_vii[$61 & 63](1,(18496)); - $62 = HEAP32[4309]|0; - $63 = HEAP32[(18496)>>2]|0; + $61 = HEAP32[4386]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(18808)); + $62 = HEAP32[4387]|0; + $63 = HEAP32[(18808)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((18500)|0)); - $64 = HEAP32[(18500)>>2]|0; + _glGenBuffers(1,((18812)|0)); + $64 = HEAP32[(18812)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(18480)>>2]|0; + $65 = HEAP32[(18792)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(17320)>>2]|0; + $66 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(17320)>>2]|0; + $67 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18504)|0)); - $68 = HEAP32[(18504)>>2]|0; + _glGenBuffers(1,((18816)|0)); + $68 = HEAP32[(18816)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(18488)>>2]|0; + $69 = HEAP32[(18800)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(17340)>>2]|0; + $70 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(17340)>>2]|0; + $71 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[4307]|0; + $72 = HEAP32[4385]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(18500)>>2]|0; - $76 = HEAP32[(18504)>>2]|0; + $75 = HEAP32[(18812)>>2]|0; + $76 = HEAP32[(18816)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; _TraceLog(0,6692,$vararg_buffer10); } else { - $74 = HEAP32[(18496)>>2]|0; + $74 = HEAP32[(18808)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; _TraceLog(0,6623,$vararg_buffer7); } - $77 = HEAP32[4307]|0; + $77 = HEAP32[4385]|0; $78 = ($77|0)==(0); if (!($78)) { - $79 = HEAP32[4308]|0; - FUNCTION_TABLE_vii[$79 & 63](1,(18544)); - $80 = HEAP32[4309]|0; - $81 = HEAP32[(18544)>>2]|0; + $79 = HEAP32[4386]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(18856)); + $80 = HEAP32[4387]|0; + $81 = HEAP32[(18856)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((18548)|0)); - $82 = HEAP32[(18548)>>2]|0; + _glGenBuffers(1,((18860)|0)); + $82 = HEAP32[(18860)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(18528)>>2]|0; + $83 = HEAP32[(18840)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(17320)>>2]|0; + $84 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(17320)>>2]|0; + $85 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((18552)|0)); - $86 = HEAP32[(18552)>>2]|0; + _glGenBuffers(1,((18864)|0)); + $86 = HEAP32[(18864)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(18532)>>2]|0; + $87 = HEAP32[(18844)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(17324)>>2]|0; + $88 = HEAP32[(17636)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(17324)>>2]|0; + $89 = HEAP32[(17636)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((18556)|0)); - $90 = HEAP32[(18556)>>2]|0; + _glGenBuffers(1,((18868)|0)); + $90 = HEAP32[(18868)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(18536)>>2]|0; + $91 = HEAP32[(18848)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(17340)>>2]|0; + $92 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(17340)>>2]|0; + $93 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((18560)|0)); - $94 = HEAP32[(18560)>>2]|0; + _glGenBuffers(1,((18872)|0)); + $94 = HEAP32[(18872)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(18540)>>2]|0; + $95 = HEAP32[(18852)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[4307]|0; + $96 = HEAP32[4385]|0; $97 = ($96|0)==(0); if ($97) { - $99 = HEAP32[(18548)>>2]|0; - $100 = HEAP32[(18552)>>2]|0; - $101 = HEAP32[(18556)>>2]|0; - $102 = HEAP32[(18560)>>2]|0; + $99 = HEAP32[(18860)>>2]|0; + $100 = HEAP32[(18864)>>2]|0; + $101 = HEAP32[(18868)>>2]|0; + $102 = HEAP32[(18872)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -14636,16 +14640,16 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr22>>2] = $102; _TraceLog(0,6838,$vararg_buffer17); } else { - $98 = HEAP32[(18544)>>2]|0; + $98 = HEAP32[(18856)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; _TraceLog(0,6773,$vararg_buffer14); } - $103 = HEAP32[4307]|0; + $103 = HEAP32[4385]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[4309]|0; + $105 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -14826,9 +14830,9 @@ function _IsMouseButtonPressed($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19733 + ($0)|0); + $1 = (20045 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19736 + ($0)|0); + $3 = (20048 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -14840,9 +14844,9 @@ function _IsMouseButtonReleased($0) { $0 = $0|0; var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $or$cond = 0, label = 0, sp = 0; sp = STACKTOP; - $1 = (19733 + ($0)|0); + $1 = (20045 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (19736 + ($0)|0); + $3 = (20048 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -14863,7 +14867,7 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[4226]|0; + $0 = HEAP32[4304]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); _TraceLog(0,8682,$vararg_buffer); @@ -14874,9 +14878,9 @@ function _UnloadDefaultFont() { sp = STACKTOP; STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); $$byval_copy = sp; - ;HEAP32[$$byval_copy>>2]=HEAP32[16944>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[16944+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[16944+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[16944+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[16944+16>>2]|0; + ;HEAP32[$$byval_copy>>2]=HEAP32[17256>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[17256+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[17256+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[17256+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[17256+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(16972)>>2]|0; + $0 = HEAP32[(17284)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -14887,11 +14891,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(17256|0)); - $0 = HEAP32[4314]|0; + _glDeleteTextures(1,(17568|0)); + $0 = HEAP32[4392]|0; HEAP32[$vararg_buffer>>2] = $0; _TraceLog(0,8709,$vararg_buffer); - $1 = HEAP32[4344]|0; + $1 = HEAP32[4422]|0; _free($1); STACKTOP = sp;return; } @@ -14899,17 +14903,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[4315]|0; + $0 = HEAP32[4393]|0; _glDeleteProgram(($0|0)); return; } function _UnloadDefaultBuffers() { var $0 = 0, $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; - $0 = HEAP32[4307]|0; + $0 = HEAP32[4385]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4309]|0; + $2 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -14918,39 +14922,39 @@ function _UnloadDefaultBuffers() { _glDisableVertexAttribArray(3); _glBindBuffer(34962,0); _glBindBuffer(34963,0); - _glDeleteBuffers(1,((18452)|0)); - _glDeleteBuffers(1,((18456)|0)); - _glDeleteBuffers(1,((18500)|0)); - _glDeleteBuffers(1,((18504)|0)); - _glDeleteBuffers(1,((18548)|0)); - _glDeleteBuffers(1,((18552)|0)); - _glDeleteBuffers(1,((18556)|0)); - _glDeleteBuffers(1,((18560)|0)); - $3 = HEAP32[4307]|0; + _glDeleteBuffers(1,((18764)|0)); + _glDeleteBuffers(1,((18768)|0)); + _glDeleteBuffers(1,((18812)|0)); + _glDeleteBuffers(1,((18816)|0)); + _glDeleteBuffers(1,((18860)|0)); + _glDeleteBuffers(1,((18864)|0)); + _glDeleteBuffers(1,((18868)|0)); + _glDeleteBuffers(1,((18872)|0)); + $3 = HEAP32[4385]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4310]|0; - FUNCTION_TABLE_vii[$5 & 63](1,(18448)); - $6 = HEAP32[4310]|0; - FUNCTION_TABLE_vii[$6 & 63](1,(18496)); - $7 = HEAP32[4310]|0; - FUNCTION_TABLE_vii[$7 & 63](1,(18544)); - } - $8 = HEAP32[(18432)>>2]|0; + $5 = HEAP32[4388]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(18760)); + $6 = HEAP32[4388]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(18808)); + $7 = HEAP32[4388]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(18856)); + } + $8 = HEAP32[(18744)>>2]|0; _free($8); - $9 = HEAP32[(18440)>>2]|0; + $9 = HEAP32[(18752)>>2]|0; _free($9); - $10 = HEAP32[(18480)>>2]|0; + $10 = HEAP32[(18792)>>2]|0; _free($10); - $11 = HEAP32[(18488)>>2]|0; + $11 = HEAP32[(18800)>>2]|0; _free($11); - $12 = HEAP32[(18528)>>2]|0; + $12 = HEAP32[(18840)>>2]|0; _free($12); - $13 = HEAP32[(18532)>>2]|0; + $13 = HEAP32[(18844)>>2]|0; _free($13); - $14 = HEAP32[(18536)>>2]|0; + $14 = HEAP32[(18848)>>2]|0; _free($14); - $15 = HEAP32[(18540)>>2]|0; + $15 = HEAP32[(18852)>>2]|0; _free($15); return; } @@ -14990,16 +14994,16 @@ function _BeginDrawing() { STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $downscaleView$byval_copy = sp; $0 = (+_GetTime()); - HEAPF64[2099] = $0; - $1 = +HEAPF64[2082]; + HEAPF64[2138] = $0; + $1 = +HEAPF64[2121]; $2 = $0 - $1; - HEAPF64[2100] = $2; - HEAPF64[2082] = $0; + HEAPF64[2139] = $2; + HEAPF64[2121] = $0; _rlClearScreenBuffers(); _rlLoadIdentity(); - dest=$downscaleView$byval_copy; src=17000; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$downscaleView$byval_copy; src=17312; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(18572); + _rlMultMatrixf(18884); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15008,53 +15012,53 @@ function _MatrixToFloat($0) { var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - HEAP32[4643] = $1; + HEAP32[4721] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(18576)>>2] = $3; + HEAP32[(18888)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(18580)>>2] = $5; + HEAP32[(18892)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(18584)>>2] = $7; + HEAP32[(18896)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(18588)>>2] = $9; + HEAP32[(18900)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(18592)>>2] = $11; + HEAP32[(18904)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(18596)>>2] = $13; + HEAP32[(18908)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(18600)>>2] = $15; + HEAP32[(18912)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(18604)>>2] = $17; + HEAP32[(18916)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(18608)>>2] = $19; + HEAP32[(18920)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(18612)>>2] = $21; + HEAP32[(18924)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(18616)>>2] = $23; + HEAP32[(18928)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(18620)>>2] = $25; + HEAP32[(18932)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(18624)>>2] = $27; + HEAP32[(18936)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(18628)>>2] = $29; + HEAP32[(18940)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(18632)>>2] = $31; - return (18572|0); + HEAP32[(18944)>>2] = $31; + return (18884|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15129,7 +15133,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[4273]|0; + $49 = HEAP32[4351]|0; dest=$$byval_copy; src=$49; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$$byval_copy,$$byval_copy1); @@ -15143,15 +15147,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[2099] = $0; - $1 = +HEAPF64[2082]; + HEAPF64[2138] = $0; + $1 = +HEAPF64[2121]; $2 = $0 - $1; - HEAPF64[2101] = $2; - HEAPF64[2082] = $0; - $3 = +HEAPF64[2100]; + HEAPF64[2140] = $2; + HEAPF64[2121] = $0; + $3 = +HEAPF64[2139]; $4 = $2 + $3; - HEAPF64[2102] = $4; - $5 = +HEAPF64[2079]; + HEAPF64[2141] = $4; + $5 = +HEAPF64[2118]; $6 = $4 < $5; if (!($6)) { return; @@ -15161,13 +15165,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[2099] = $10; - $11 = +HEAPF64[2082]; + HEAPF64[2138] = $10; + $11 = +HEAPF64[2121]; $12 = $10 - $11; - HEAPF64[2082] = $10; - $13 = +HEAPF64[2102]; + HEAPF64[2121] = $10; + $13 = +HEAPF64[2141]; $14 = $12 + $13; - HEAPF64[2102] = $14; + HEAPF64[2141] = $14; return; } function _rlglDraw() { @@ -15180,7 +15184,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4226]|0; + $0 = HEAP32[4304]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15196,20 +15200,20 @@ function _PollInputEvents() { _UpdateGestures(); HEAP32[741] = -1; HEAP32[743] = -1; - HEAP32[4659] = 0; - $3 = HEAP32[4226]|0; + HEAP32[4737] = 0; + $3 = HEAP32[4304]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[4156] = $5; + HEAPF32[4234] = $5; $6 = +HEAPF64[$1>>3]; $7 = $6; - HEAPF32[(16628)>>2] = $7; - _memcpy((20251|0),(19739|0),512)|0; - ;HEAP8[19736>>0]=HEAP8[19733>>0]|0;HEAP8[19736+1>>0]=HEAP8[19733+1>>0]|0;HEAP8[19736+2>>0]=HEAP8[19733+2>>0]|0; - $8 = HEAP32[4642]|0; - HEAP32[4229] = $8; - HEAP32[4642] = 0; + HEAPF32[(16940)>>2] = $7; + _memcpy((20563|0),(20051|0),512)|0; + ;HEAP8[20048>>0]=HEAP8[20045>>0]|0;HEAP8[20048+1>>0]=HEAP8[20045+1>>0]|0;HEAP8[20048+2>>0]=HEAP8[20045+2>>0]|0; + $8 = HEAP32[4720]|0; + HEAP32[4307] = $8; + HEAP32[4720] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15219,8 +15223,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (20763 + ($$05160<<5)|0); - $scevgep67 = (20891 + ($$05160<<5)|0); + $scevgep = (21075 + ($$05160<<5)|0); + $scevgep67 = (21203 + ($$05160<<5)|0); dest=$scevgep; src=$scevgep67; stop=dest+32|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0)); $13 = (_emscripten_get_gamepad_status(($$05160|0),($2|0))|0); $14 = ($13|0)==(0); @@ -15234,7 +15238,7 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((20891 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((21203 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; HEAP32[743] = $$04857; @@ -15261,7 +15265,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((18640 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((18952 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15277,7 +15281,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[4659] = $$lcssa; + HEAP32[4737] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15318,87 +15322,87 @@ function _UpdateDefaultBuffers() { 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, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4605]|0; + $0 = HEAP32[4683]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[4307]|0; + $2 = HEAP32[4385]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[4309]|0; - $5 = HEAP32[(18448)>>2]|0; + $4 = HEAP32[4387]|0; + $5 = HEAP32[(18760)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(18452)>>2]|0; + $6 = HEAP32[(18764)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[4605]|0; + $7 = HEAP32[4683]|0; $8 = ($7*12)|0; - $9 = HEAP32[(18432)>>2]|0; + $9 = HEAP32[(18744)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(18456)>>2]|0; + $10 = HEAP32[(18768)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(18428)>>2]|0; + $11 = HEAP32[(18740)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(18440)>>2]|0; + $13 = HEAP32[(18752)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[4617]|0; + $14 = HEAP32[4695]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[4307]|0; + $16 = HEAP32[4385]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[4309]|0; - $19 = HEAP32[(18496)>>2]|0; + $18 = HEAP32[4387]|0; + $19 = HEAP32[(18808)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(18500)>>2]|0; + $20 = HEAP32[(18812)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[4617]|0; + $21 = HEAP32[4695]|0; $22 = ($21*12)|0; - $23 = HEAP32[(18480)>>2]|0; + $23 = HEAP32[(18792)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(18504)>>2]|0; + $24 = HEAP32[(18816)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(18476)>>2]|0; + $25 = HEAP32[(18788)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(18488)>>2]|0; + $27 = HEAP32[(18800)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[4629]|0; + $28 = HEAP32[4707]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[4307]|0; + $30 = HEAP32[4385]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[4309]|0; - $33 = HEAP32[(18544)>>2]|0; + $32 = HEAP32[4387]|0; + $33 = HEAP32[(18856)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(18548)>>2]|0; + $34 = HEAP32[(18860)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[4629]|0; + $35 = HEAP32[4707]|0; $36 = ($35*12)|0; - $37 = HEAP32[(18528)>>2]|0; + $37 = HEAP32[(18840)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(18552)>>2]|0; + $38 = HEAP32[(18864)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[4629]|0; + $39 = HEAP32[4707]|0; $40 = $39 << 3; - $41 = HEAP32[(18532)>>2]|0; + $41 = HEAP32[(18844)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(18556)>>2]|0; + $42 = HEAP32[(18868)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[4629]|0; + $43 = HEAP32[4707]|0; $44 = $43 << 2; - $45 = HEAP32[(18536)>>2]|0; + $45 = HEAP32[(18848)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[4307]|0; + $46 = HEAP32[4385]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[4309]|0; + $48 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15416,9 +15420,9 @@ function _DrawDefaultBuffers() { $0 = sp + 128|0; $1 = sp + 64|0; $2 = sp; - dest=$0; src=17096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$1; src=17160; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $3 = HEAP32[4692]|0; + dest=$0; src=17408; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$1; src=17472; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + $3 = HEAP32[4770]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15428,134 +15432,134 @@ function _DrawDefaultBuffers() { dest=$$byval_copy2; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetStereoView($$02932,$modelview$byval_copy,$$byval_copy2); } - $8 = HEAP32[4605]|0; + $8 = HEAP32[4683]|0; $9 = ($8|0)>(0); - $10 = HEAP32[4617]|0; + $10 = HEAP32[4695]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[4629]|0; + $12 = HEAP32[4707]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[4329]|0; + $14 = HEAP32[4407]|0; _glUseProgram(($14|0)); - dest=$modelview$byval_copy; src=17160; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=$$byval_copy2; src=17096; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$modelview$byval_copy; src=17472; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=$$byval_copy2; src=17408; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($2,$modelview$byval_copy,$$byval_copy2); - $15 = HEAP32[(17344)>>2]|0; + $15 = HEAP32[(17656)>>2]|0; dest=$$byval_copy2; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); $16 = (_MatrixToFloat($$byval_copy2)|0); _glUniformMatrix4fv(($15|0),1,0,($16|0)); - $17 = HEAP32[(17348)>>2]|0; + $17 = HEAP32[(17660)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(17360)>>2]|0; + $18 = HEAP32[(17672)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[4605]|0; + $19 = HEAP32[4683]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[4314]|0; + $21 = HEAP32[4392]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[4307]|0; + $22 = HEAP32[4385]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(18452)>>2]|0; + $26 = HEAP32[(18764)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(17320)>>2]|0; + $27 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(17320)>>2]|0; + $28 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(18456)>>2]|0; + $29 = HEAP32[(18768)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(17340)>>2]|0; + $30 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(17340)>>2]|0; + $31 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[4309]|0; - $25 = HEAP32[(18448)>>2]|0; + $24 = HEAP32[4387]|0; + $25 = HEAP32[(18760)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[4605]|0; + $32 = HEAP32[4683]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[4307]|0; + $33 = HEAP32[4385]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[4617]|0; + $35 = HEAP32[4695]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[4314]|0; + $37 = HEAP32[4392]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[4307]|0; + $38 = HEAP32[4385]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(18500)>>2]|0; + $42 = HEAP32[(18812)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(17320)>>2]|0; + $43 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(17320)>>2]|0; + $44 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(18504)>>2]|0; + $45 = HEAP32[(18816)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(17340)>>2]|0; + $46 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(17340)>>2]|0; + $47 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[4309]|0; - $41 = HEAP32[(18496)>>2]|0; + $40 = HEAP32[4387]|0; + $41 = HEAP32[(18808)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[4617]|0; + $48 = HEAP32[4695]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[4307]|0; + $49 = HEAP32[4385]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[4629]|0; + $51 = HEAP32[4707]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[4307]|0; + $53 = HEAP32[4385]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(18548)>>2]|0; + $57 = HEAP32[(18860)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(17320)>>2]|0; + $58 = HEAP32[(17632)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(17320)>>2]|0; + $59 = HEAP32[(17632)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(18552)>>2]|0; + $60 = HEAP32[(18864)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(17324)>>2]|0; + $61 = HEAP32[(17636)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(17324)>>2]|0; + $62 = HEAP32[(17636)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(18556)>>2]|0; + $63 = HEAP32[(18868)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(17340)>>2]|0; + $64 = HEAP32[(17652)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(17340)>>2]|0; + $65 = HEAP32[(17652)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(18560)>>2]|0; + $66 = HEAP32[(18872)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[4309]|0; - $56 = HEAP32[(18544)>>2]|0; + $55 = HEAP32[4387]|0; + $56 = HEAP32[(18856)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[4345]|0; + $67 = HEAP32[4423]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[4344]|0; + $71 = HEAP32[4422]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -15566,14 +15570,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[4344]|0; + $80 = HEAP32[4422]|0; $81 = (($80) + (($$031*144)|0)|0); $82 = HEAP32[$81>>2]|0; $83 = (($82|0) / 4)&-1; $84 = ($83*6)|0; $85 = (($84) + ($$02830))|0; $86 = (($$031) + 1)|0; - $87 = HEAP32[4345]|0; + $87 = HEAP32[4423]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -15582,7 +15586,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[4307]|0; + $69 = HEAP32[4385]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -15590,10 +15594,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[4307]|0; + $89 = HEAP32[4385]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[4309]|0; + $91 = HEAP32[4387]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -15605,22 +15609,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[4345] = 1; - $5 = HEAP32[4314]|0; - $6 = HEAP32[4344]|0; + HEAP32[4423] = 1; + $5 = HEAP32[4392]|0; + $6 = HEAP32[4422]|0; $7 = ((($6)) + 8|0); HEAP32[$7>>2] = $5; HEAP32[$6>>2] = 0; - HEAP32[4605] = 0; - HEAP32[(18428)>>2] = 0; - HEAP32[4617] = 0; - HEAP32[(18476)>>2] = 0; - HEAP32[4629] = 0; - HEAP32[(18520)>>2] = 0; - HEAP32[(18524)>>2] = 0; + HEAP32[4683] = 0; + HEAP32[(18740)>>2] = 0; + HEAP32[4695] = 0; + HEAP32[(18788)>>2] = 0; + HEAP32[4707] = 0; + HEAP32[(18832)>>2] = 0; + HEAP32[(18836)>>2] = 0; HEAPF32[744] = -1.0; - dest=17096; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - dest=17160; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17408; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17472; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); STACKTOP = sp;return; } function _SetStereoView($0,$1,$2) { @@ -15635,17 +15639,17 @@ function _SetStereoView($0,$1,$2) { $3 = sp; $4 = sp + 128|0; dest=$3; src=$1; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); - $5 = HEAP32[4603]|0; + $5 = HEAP32[4681]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[4604]|0; + $9 = HEAP32[4682]|0; _rlViewport($7,0,$8,$9); - $10 = (19000 + ($0<<6)|0); + $10 = (19312 + ($0<<6)|0); dest=$$byval_copy; src=$2; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$10; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy3); - $11 = (18872 + ($0<<6)|0); + $11 = (19184 + ($0<<6)|0); dest=$3; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _SetMatrixModelview($$byval_copy3); @@ -15657,14 +15661,14 @@ function _SetMatrixModelview($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17160; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17472; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _SetMatrixProjection($0) { $0 = $0|0; var dest = 0, label = 0, sp = 0, src = 0, stop = 0; sp = STACKTOP; - dest=17096; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); + dest=17408; src=$0; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); return; } function _rlPushMatrix() { @@ -15672,43 +15676,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[4782]|0; + $0 = HEAP32[4860]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; _TraceLog(1,8824,$vararg_buffer); } - $2 = HEAP32[4782]|0; - $3 = (17388 + ($2<<6)|0); - $4 = HEAP32[4273]|0; + $2 = HEAP32[4860]|0; + $3 = (17700 + ($2<<6)|0); + $4 = HEAP32[4351]|0; dest=$3; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _rlLoadIdentity(); - $5 = HEAP32[4782]|0; + $5 = HEAP32[4860]|0; $6 = (($5) + 1)|0; - HEAP32[4782] = $6; - $7 = HEAP32[4306]|0; + HEAP32[4860] = $6; + $7 = HEAP32[4384]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[4783] = 1; + HEAP32[4861] = 1; STACKTOP = sp;return; } function _rlPopMatrix() { var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4782]|0; + $0 = HEAP32[4860]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[4782]|0; + $2 = HEAP32[4860]|0; $3 = (($2) + -1)|0; - $4 = (17388 + ($3<<6)|0); - $5 = HEAP32[4273]|0; + $4 = (17700 + ($3<<6)|0); + $5 = HEAP32[4351]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[4782] = $6; + HEAP32[4860] = $6; return; } function _IsFileExtension($0,$1) { @@ -15741,7 +15745,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[4273]|0; + $5 = HEAP32[4351]|0; dest=$$byval_copy; src=$5; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy1; src=$3; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($4,$$byval_copy,$$byval_copy1); @@ -15774,7 +15778,7 @@ function _rlRotatef($0,$1,$2,$3) { _MatrixRotate($6,$$byval_copy2,$10); dest=$4; src=$6; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixTranspose($4); - $11 = HEAP32[4273]|0; + $11 = HEAP32[4351]|0; dest=$$byval_copy1; src=$11; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); dest=$$byval_copy2; src=$4; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _MatrixMultiply($7,$$byval_copy1,$$byval_copy2); @@ -15785,7 +15789,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4346] = $0; + HEAP32[4424] = $0; return; } function _rlEnd() { @@ -15801,21 +15805,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[4783]|0; + $0 = HEAP32[4861]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[4784]|0; + $2 = HEAP32[4862]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[4343]|0; + $6 = HEAP32[4421]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[4273]|0; + $8 = HEAP32[4351]|0; dest=$$byval_copy; src=$8; stop=dest+64|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0)); _VectorTransform($7,$$byval_copy); $9 = (($$03956) + 1)|0; - $5 = HEAP32[4784]|0; + $5 = HEAP32[4862]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -15823,12 +15827,12 @@ function _rlEnd() { break; } } - HEAP32[4783] = 0; + HEAP32[4861] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[4343]|0; + $11 = HEAP32[4421]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -15837,7 +15841,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[4784]|0; + $19 = HEAP32[4862]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -15847,15 +15851,15 @@ function _rlEnd() { } } } else { - HEAP32[4783] = 0; + HEAP32[4861] = 0; } - HEAP32[4784] = 0; + HEAP32[4862] = 0; } - $21 = HEAP32[4346]|0; + $21 = HEAP32[4424]|0; switch ($21|0) { case 1: { - $22 = HEAP32[4605]|0; - $23 = HEAP32[(18428)>>2]|0; + $22 = HEAP32[4683]|0; + $23 = HEAP32[(18740)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { $148 = +HEAPF32[744]; @@ -15874,16 +15878,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(18440)>>2]|0; - $28 = HEAP32[(18428)>>2]|0; + $27 = HEAP32[(18752)>>2]|0; + $28 = HEAP32[(18740)>>2]|0; $29 = $28 << 2; $30 = (($29) + -4)|0; $31 = (($27) + ($30)|0); $32 = HEAP8[$31>>0]|0; $33 = (($27) + ($29)|0); HEAP8[$33>>0] = $32; - $34 = HEAP32[(18440)>>2]|0; - $35 = HEAP32[(18428)>>2]|0; + $34 = HEAP32[(18752)>>2]|0; + $35 = HEAP32[(18740)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -15891,8 +15895,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(18440)>>2]|0; - $43 = HEAP32[(18428)>>2]|0; + $42 = HEAP32[(18752)>>2]|0; + $43 = HEAP32[(18740)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -15900,8 +15904,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(18440)>>2]|0; - $51 = HEAP32[(18428)>>2]|0; + $50 = HEAP32[(18752)>>2]|0; + $51 = HEAP32[(18740)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -15909,9 +15913,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(18428)>>2]|0; + $58 = HEAP32[(18740)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(18428)>>2] = $59; + HEAP32[(18740)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -15927,8 +15931,8 @@ function _rlEnd() { break; } case 4: { - $61 = HEAP32[4617]|0; - $62 = HEAP32[(18476)>>2]|0; + $61 = HEAP32[4695]|0; + $62 = HEAP32[(18788)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { $148 = +HEAPF32[744]; @@ -15947,16 +15951,16 @@ function _rlEnd() { STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(18488)>>2]|0; - $67 = HEAP32[(18476)>>2]|0; + $66 = HEAP32[(18800)>>2]|0; + $67 = HEAP32[(18788)>>2]|0; $68 = $67 << 2; $69 = (($68) + -4)|0; $70 = (($66) + ($69)|0); $71 = HEAP8[$70>>0]|0; $72 = (($66) + ($68)|0); HEAP8[$72>>0] = $71; - $73 = HEAP32[(18488)>>2]|0; - $74 = HEAP32[(18476)>>2]|0; + $73 = HEAP32[(18800)>>2]|0; + $74 = HEAP32[(18788)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -15964,8 +15968,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(18488)>>2]|0; - $82 = HEAP32[(18476)>>2]|0; + $81 = HEAP32[(18800)>>2]|0; + $82 = HEAP32[(18788)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -15973,8 +15977,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(18488)>>2]|0; - $90 = HEAP32[(18476)>>2]|0; + $89 = HEAP32[(18800)>>2]|0; + $90 = HEAP32[(18788)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -15982,9 +15986,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(18476)>>2]|0; + $97 = HEAP32[(18788)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(18476)>>2] = $98; + HEAP32[(18788)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16000,8 +16004,8 @@ function _rlEnd() { break; } case 7: { - $100 = HEAP32[4629]|0; - $101 = HEAP32[(18524)>>2]|0; + $100 = HEAP32[4707]|0; + $101 = HEAP32[(18836)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16009,16 +16013,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(18536)>>2]|0; - $106 = HEAP32[(18524)>>2]|0; + $105 = HEAP32[(18848)>>2]|0; + $106 = HEAP32[(18836)>>2]|0; $107 = $106 << 2; $108 = (($107) + -4)|0; $109 = (($105) + ($108)|0); $110 = HEAP8[$109>>0]|0; $111 = (($105) + ($107)|0); HEAP8[$111>>0] = $110; - $112 = HEAP32[(18536)>>2]|0; - $113 = HEAP32[(18524)>>2]|0; + $112 = HEAP32[(18848)>>2]|0; + $113 = HEAP32[(18836)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16026,8 +16030,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(18536)>>2]|0; - $121 = HEAP32[(18524)>>2]|0; + $120 = HEAP32[(18848)>>2]|0; + $121 = HEAP32[(18836)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16035,8 +16039,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(18536)>>2]|0; - $129 = HEAP32[(18524)>>2]|0; + $128 = HEAP32[(18848)>>2]|0; + $129 = HEAP32[(18836)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16044,9 +16048,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(18524)>>2]|0; + $136 = HEAP32[(18836)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(18524)>>2] = $137; + HEAP32[(18836)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16057,8 +16061,8 @@ function _rlEnd() { } } } - $139 = HEAP32[4629]|0; - $140 = HEAP32[(18520)>>2]|0; + $139 = HEAP32[4707]|0; + $140 = HEAP32[(18832)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { $148 = +HEAPF32[744]; @@ -16066,8 +16070,8 @@ function _rlEnd() { HEAPF32[744] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(18532)>>2]|0; - $$promoted = HEAP32[(18520)>>2]|0; + $142 = HEAP32[(18844)>>2]|0; + $$promoted = HEAP32[(18832)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16075,7 +16079,7 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(18520)>>2] = $147; + HEAP32[(18832)>>2] = $147; $148 = +HEAPF32[744]; $149 = $148 + 4.9999998736893758E-5; HEAPF32[744] = $149; @@ -16102,11 +16106,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[4783]|0; + $3 = HEAP32[4861]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[4343]|0; - $6 = HEAP32[4784]|0; + $5 = HEAP32[4421]|0; + $6 = HEAP32[4862]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16114,16 +16118,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[4784] = $10; + HEAP32[4862] = $10; STACKTOP = sp;return; } - $11 = HEAP32[4346]|0; + $11 = HEAP32[4424]|0; switch ($11|0) { case 1: { - $12 = HEAP32[4605]|0; + $12 = HEAP32[4683]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(18432)>>2]|0; + $14 = HEAP32[(18744)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16134,7 +16138,7 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[4605] = $21; + HEAP32[4683] = $21; STACKTOP = sp;return; } else { _TraceLog(1,8862,$vararg_buffer); @@ -16143,10 +16147,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 4: { - $22 = HEAP32[4617]|0; + $22 = HEAP32[4695]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(18480)>>2]|0; + $24 = HEAP32[(18792)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16157,7 +16161,7 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[4617] = $31; + HEAP32[4695] = $31; STACKTOP = sp;return; } else { _TraceLog(1,8887,$vararg_buffer1); @@ -16166,10 +16170,10 @@ function _rlVertex3f($0,$1,$2) { break; } case 7: { - $32 = HEAP32[4629]|0; + $32 = HEAP32[4707]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(18528)>>2]|0; + $34 = HEAP32[(18840)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16180,9 +16184,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[4629] = $41; - $42 = HEAP32[4344]|0; - $43 = HEAP32[4345]|0; + HEAP32[4707] = $41; + $42 = HEAP32[4422]|0; + $43 = HEAP32[4423]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16214,13 +16218,13 @@ function _rlTexCoord2f($0,$1) { $1 = +$1; var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[4346]|0; + $2 = HEAP32[4424]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(18532)>>2]|0; - $5 = HEAP32[(18520)>>2]|0; + $4 = HEAP32[(18844)>>2]|0; + $5 = HEAP32[(18832)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16228,7 +16232,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(18520)>>2] = $10; + HEAP32[(18832)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16247,18 +16251,18 @@ function _rlColor4ub($0,$1,$2,$3) { var $$sink37 = 0, $$sink38 = 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, $4 = 0, $5 = 0; var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $4 = HEAP32[4346]|0; + $4 = HEAP32[4424]|0; switch ($4|0) { case 1: { - $$sink37 = (18428);$$sink38 = (18440); + $$sink37 = (18740);$$sink38 = (18752); break; } case 4: { - $$sink37 = (18476);$$sink38 = (18488); + $$sink37 = (18788);$$sink38 = (18800); break; } case 7: { - $$sink37 = (18524);$$sink38 = (18536); + $$sink37 = (18836);$$sink38 = (18848); break; } default: { @@ -16297,8 +16301,8 @@ function _rlEnableTexture($0) { $0 = $0|0; var $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 = HEAP32[4344]|0; - $2 = HEAP32[4345]|0; + $1 = HEAP32[4422]|0; + $2 = HEAP32[4423]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16311,9 +16315,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[4345] = $10; + HEAP32[4423] = $10; } - $11 = HEAP32[4345]|0; + $11 = HEAP32[4423]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16324,7 +16328,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[4629]|0; + $0 = HEAP32[4707]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16485,40 +16489,11 @@ function _rlglReadTexturePixels($0) { _rlDeleteRenderTextures($$byval_copy); STACKTOP = sp;return ($12|0); } -function _stbi_load($0,$1,$2,$3,$4) { - $0 = $0|0; - $1 = $1|0; - $2 = $2|0; - $3 = $3|0; - $4 = $4|0; - var $$0 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; - sp = STACKTOP; - $5 = (_stbi__fopen($0)|0); - $6 = ($5|0)==(0|0); - if ($6) { - _stbi__err(9230); - $$0 = 0; - return ($$0|0); - } else { - $7 = (_stbi_load_from_file($5,$1,$2,$3,$4)|0); - (_fclose($5)|0); - $$0 = $7; - return ($$0|0); - } - return (0)|0; -} -function _stbi__fopen($0) { - $0 = $0|0; - var $1 = 0, label = 0, sp = 0; - sp = STACKTOP; - $1 = (_fopen($0,10563)|0); - return ($1|0); -} function _stbi__err($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[4785] = $0; + HEAP32[4863] = $0; return; } function _stbi_load_from_file($0,$1,$2,$3,$4) { @@ -16582,7 +16557,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { break; } default: { - ___assert_fail((9242|0),(9268|0),1125,(9291|0)); + ___assert_fail((9230|0),(9256|0),1041,(9279|0)); // unreachable; } } @@ -16600,7 +16575,7 @@ function _stbi__load_and_postprocess_8bit($0,$1,$2,$3,$4) { HEAP32[$5>>2] = 8; $$070 = $14; } - $15 = HEAP32[4786]|0; + $15 = HEAP32[4864]|0; $16 = ($15|0)==(0); if ($16) { $$0 = $$070; @@ -16693,7 +16668,7 @@ function _stbi__load_main($0,$1,$2,$3,$4,$5) { $8 = (_stbi__png_test($0)|0); $9 = ($8|0)==(0); if ($9) { - _stbi__err(9332); + _stbi__err(9320); $$0 = 0; return ($$0|0); } else { @@ -16715,7 +16690,7 @@ function _stbi__convert_16_to_8($0,$1,$2,$3) { $6 = (_stbi__malloc($5)|0); $7 = ($6|0)==(0|0); if ($7) { - _stbi__err(9323); + _stbi__err(9311); $$0 = 0; return ($$0|0); } @@ -16785,7 +16760,7 @@ function _stbi__do_png($0,$1,$2,$3,$4,$5) { sp = STACKTOP; $6 = ($4>>>0)>(4); if ($6) { - _stbi__err(9351); + _stbi__err(9339); $$045 = 0; return ($$045|0); } @@ -17346,7 +17321,7 @@ function _stbi__parse_png_file($0,$1,$2) { $118 = (_stbi__get16be($8)|0); $119 = $118 & 255; $120 = HEAP32[$22>>2]|0; - $121 = (9667 + ($120)|0); + $121 = (9655 + ($120)|0); $122 = HEAP8[$121>>0]|0; $123 = $122&255; $124 = Math_imul($123, $119)|0; @@ -17388,97 +17363,97 @@ function _stbi__parse_png_file($0,$1,$2) { } switch (label|0) { case 7: { - _stbi__err(9441); + _stbi__err(9429); $$6$ph = 0; break; } case 9: { - _stbi__err(9455); + _stbi__err(9443); $$6$ph = 0; break; } case 11: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 13: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 15: { - _stbi__err(9478); + _stbi__err(9466); $$6$ph = 0; break; } case 17: { - _stbi__err(9498); + _stbi__err(9486); $$6$ph = 0; break; } case 20: { - _stbi__err(9498); + _stbi__err(9486); $$6$ph = 0; break; } case 22: { - _stbi__err(9498); + _stbi__err(9486); $$6$ph = 0; break; } case 24: { - _stbi__err(9508); + _stbi__err(9496); $$6$ph = 0; break; } case 26: { - _stbi__err(9524); + _stbi__err(9512); $$6$ph = 0; break; } case 28: { - _stbi__err(9542); + _stbi__err(9530); $$6$ph = 0; break; } case 31: { - _stbi__err(9563); + _stbi__err(9551); $$6$ph = 0; break; } case 34: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 37: { - _stbi__err(9468); + _stbi__err(9456); $$6$ph = 0; break; } case 39: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 41: { - _stbi__err(9592); + _stbi__err(9580); $$6$ph = 0; break; } case 44: { - _stbi__err(9592); + _stbi__err(9580); $$6$ph = 0; break; } case 47: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 49: { - _stbi__err(9605); + _stbi__err(9593); $$6$ph = 0; break; } @@ -17489,32 +17464,32 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 54: { - _stbi__err(9621); + _stbi__err(9609); $$6$ph = 0; break; } case 58: { - _stbi__err(9638); + _stbi__err(9626); $$6$ph = 0; break; } case 61: { - _stbi__err(9651); + _stbi__err(9639); $$6$ph = 0; break; } case 63: { - _stbi__err(9638); + _stbi__err(9626); $$6$ph = 0; break; } case 70: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 72: { - _stbi__err(9676); + _stbi__err(9664); $$6$ph = 0; break; } @@ -17526,12 +17501,12 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 81: { - _stbi__err(9323); + _stbi__err(9311); $$6$ph = 0; break; } case 83: { - _stbi__err(9684); + _stbi__err(9672); $$6$ph = 0; break; } @@ -17544,7 +17519,7 @@ function _stbi__parse_png_file($0,$1,$2) { $158 = HEAP32[$10>>2]|0; $159 = ($158|0)==(0|0); if ($159) { - _stbi__err(9694); + _stbi__err(9682); $$4 = 0; break; } @@ -17609,7 +17584,7 @@ function _stbi__parse_png_file($0,$1,$2) { } } } while(0); - $193 = HEAP32[4787]|0; + $193 = HEAP32[4865]|0; $194 = ($193|0)!=(0); $or$cond11 = $173 & $194; if ($or$cond11) { @@ -17642,7 +17617,7 @@ function _stbi__parse_png_file($0,$1,$2) { $$4 = 1; } } else { - _stbi__err(9577); + _stbi__err(9565); $$4 = 0; } } while(0); @@ -17650,24 +17625,24 @@ function _stbi__parse_png_file($0,$1,$2) { break; } case 104: { - _stbi__err(9577); + _stbi__err(9565); $$6$ph = 0; break; } case 106: { $205 = $25 >>> 24; $206 = $205&255; - HEAP8[9702] = $206; + HEAP8[9690] = $206; $207 = HEAP32[$15>>2]|0; $208 = $207 >>> 16; $209 = $208&255; - HEAP8[(9703)>>0] = $209; + HEAP8[(9691)>>0] = $209; $210 = $207 >>> 8; $211 = $210&255; - HEAP8[(9704)>>0] = $211; + HEAP8[(9692)>>0] = $211; $212 = $207&255; - HEAP8[(9705)>>0] = $212; - _stbi__err(9702); + HEAP8[(9693)>>0] = $212; + _stbi__err(9690); $$6$ph = 0; break; } @@ -17701,14 +17676,14 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9364|0),(9268|0),1561,(9420|0)); + ___assert_fail((9352|0),(9256|0),1477,(9408|0)); // unreachable; } $7 = (_stbi__malloc_mad3($2,$3,$4)|0); $8 = ($7|0)==(0|0); if ($8) { _free($0); - _stbi__err(9323); + _stbi__err(9311); $$0163 = 0; return ($$0163|0); } @@ -18071,7 +18046,7 @@ function _stbi__convert_format($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9418|0),(9268|0),1590,(9420|0)); + ___assert_fail((9406|0),(9256|0),1506,(9408|0)); // unreachable; } } while(0); @@ -18105,7 +18080,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $$off = (($2) + -1)|0; $6 = ($$off>>>0)<(4); if (!($6)) { - ___assert_fail((9364|0),(9268|0),1610,(9395|0)); + ___assert_fail((9352|0),(9256|0),1526,(9383|0)); // unreachable; } $7 = $2 << 1; @@ -18115,7 +18090,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { $11 = ($10|0)==(0|0); if ($11) { _free($0); - _stbi__err(9323); + _stbi__err(9311); $$0163 = 0; return ($$0163|0); } @@ -18478,7 +18453,7 @@ function _stbi__convert_format16($0,$1,$2,$3,$4) { break L11; } } - ___assert_fail((9418|0),(9268|0),1639,(9395|0)); + ___assert_fail((9406|0),(9256|0),1555,(9383|0)); // unreachable; } } while(0); @@ -18626,7 +18601,7 @@ function _stbi__check_png_header($0) { } } } - _stbi__err(10359); + _stbi__err(10667); $$05 = 0; return ($$05|0); } @@ -19063,7 +19038,7 @@ function _stbi__compute_transparency16($0,$1,$2) { break; } default: { - ___assert_fail((9761|0),(9268|0),4568,(9813|0)); + ___assert_fail((9749|0),(9256|0),4569,(9801|0)); // unreachable; } } @@ -19150,7 +19125,7 @@ function _stbi__compute_transparency($0,$1,$2) { break; } default: { - ___assert_fail((9761|0),(9268|0),4543,(9786|0)); + ___assert_fail((9749|0),(9256|0),4544,(9774|0)); // unreachable; } } @@ -19197,7 +19172,7 @@ function _stbi__de_iphone($0) { break; } case 4: { - $16 = HEAP32[4788]|0; + $16 = HEAP32[4866]|0; $17 = ($16|0)==(0); $18 = ($5|0)!=(0); if ($17) { @@ -19272,7 +19247,7 @@ function _stbi__de_iphone($0) { break; } default: { - ___assert_fail((9727|0),(9268|0),4649,(9745|0)); + ___assert_fail((9715|0),(9256|0),4650,(9733|0)); // unreachable; } } @@ -19295,7 +19270,7 @@ function _stbi__expand_png_palette($0,$1,$2) { $10 = (_stbi__malloc_mad2($7,$2)|0); $11 = ($10|0)==(0|0); if ($11) { - _stbi__err(9323); + _stbi__err(9311); $$0 = 0; return ($$0|0); } @@ -19472,7 +19447,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $19 = ($18|0)==($3|0); $or$cond = $17 | $19; if (!($or$cond)) { - ___assert_fail((9842|0),(9268|0),4294,(9883|0)); + ___assert_fail((9830|0),(9256|0),4294,(9871|0)); // unreachable; } $20 = (_stbi__malloc_mad3($4,$5,$15)|0); @@ -19480,7 +19455,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP32[$21>>2] = $20; $22 = ($20|0)==(0|0); if ($22) { - _stbi__err(9323); + _stbi__err(9311); $$2 = 0; return ($$2|0); } @@ -19499,7 +19474,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ($33) { $34 = ($28|0)==($2|0); if (!($34)) { - _stbi__err(9910); + _stbi__err(9898); $$2 = 0; return ($$2|0); } @@ -19512,7 +19487,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { if ((label|0) == 9) { $35 = ($28>>>0)>($2>>>0); if ($35) { - _stbi__err(9910); + _stbi__err(9898); $$2 = 0; return ($$2|0); } @@ -19520,12 +19495,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $36 = ($5|0)==(0); L18: do { if (!($36)) { - $37 = (0 - ($12))|0; - $38 = ($6|0)<(8); - $39 = ($26>>>0)>($4>>>0); - $40 = (($11) - ($26))|0; + $37 = ($6|0)<(8); + $38 = ($26>>>0)>($4>>>0); + $39 = (($11) - ($26))|0; + $40 = (0 - ($12))|0; $41 = ($6|0)==(8); - $brmerge = $38 | $17; + $brmerge = $37 | $17; $42 = ($4|0)==(0); $$0614793 = (($4) + -1)|0; $43 = ($$0614793|0)==(0); @@ -19548,33 +19523,33 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $50 = HEAP32[$21>>2]|0; $51 = Math_imul($$0623814, $12)|0; $52 = (($50) + ($51)|0); - $53 = (($52) + ($37)|0); - $54 = ((($$0577817)) + 1|0); - $55 = HEAP8[$$0577817>>0]|0; - $56 = $55&255; - $57 = ($55&255)>(4); - if ($57) { + $53 = ((($$0577817)) + 1|0); + $54 = HEAP8[$$0577817>>0]|0; + $55 = $54&255; + $56 = ($54&255)>(4); + if ($56) { label = 105; break; } - if ($38) { - if ($39) { + if ($37) { + if ($38) { label = 16; break; } - $58 = (($52) + ($40)|0); - $$0597 = $58;$$1609 = $26;$$1612 = 1; + $57 = (($52) + ($39)|0); + $$0597 = $57;$$1609 = $26;$$1612 = 1; } else { $$0597 = $52;$$1609 = $$0608816;$$1612 = $$0611815; } + $58 = (($$0597) + ($40)|0); $59 = ($$0623814|0)==(0); if ($59) { - $60 = (9949 + ($56)|0); + $60 = (9937 + ($55)|0); $61 = HEAP8[$60>>0]|0; $62 = $61&255; $$0588 = $62; } else { - $$0588 = $56; + $$0588 = $55; } $63 = ($$1612|0)>(0); L30: do { @@ -19584,24 +19559,24 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { while(1) { switch ($trunc638<<24>>24) { case 0: { - $64 = (($54) + ($$0625734)|0); + $64 = (($53) + ($$0625734)|0); $65 = HEAP8[$64>>0]|0; $$sink = $65; label = 30; break; } case 1: { - $66 = (($54) + ($$0625734)|0); + $66 = (($53) + ($$0625734)|0); $67 = HEAP8[$66>>0]|0; $$sink = $67; label = 30; break; } case 2: { - $68 = (($54) + ($$0625734)|0); + $68 = (($53) + ($$0625734)|0); $69 = HEAP8[$68>>0]|0; $70 = $69&255; - $71 = (($53) + ($$0625734)|0); + $71 = (($58) + ($$0625734)|0); $72 = HEAP8[$71>>0]|0; $73 = $72&255; $74 = (($73) + ($70))|0; @@ -19611,10 +19586,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 3: { - $76 = (($54) + ($$0625734)|0); + $76 = (($53) + ($$0625734)|0); $77 = HEAP8[$76>>0]|0; $78 = $77&255; - $79 = (($53) + ($$0625734)|0); + $79 = (($58) + ($$0625734)|0); $80 = HEAP8[$79>>0]|0; $81 = $80&255; $82 = $81 >>> 1; @@ -19625,10 +19600,10 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 4: { - $85 = (($54) + ($$0625734)|0); + $85 = (($53) + ($$0625734)|0); $86 = HEAP8[$85>>0]|0; $87 = $86&255; - $88 = (($53) + ($$0625734)|0); + $88 = (($58) + ($$0625734)|0); $89 = HEAP8[$88>>0]|0; $90 = $89&255; $91 = (_stbi__paeth(0,$90,0)|0); @@ -19639,14 +19614,14 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { break; } case 5: { - $94 = (($54) + ($$0625734)|0); + $94 = (($53) + ($$0625734)|0); $95 = HEAP8[$94>>0]|0; $$sink = $95; label = 30; break; } case 6: { - $96 = (($54) + ($$0625734)|0); + $96 = (($53) + ($$0625734)|0); $97 = HEAP8[$96>>0]|0; $$sink = $97; label = 30; @@ -19676,7 +19651,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { $99 = (($$0597) + ($14)|0); HEAP8[$99>>0] = -1; } - $100 = (($54) + ($14)|0); + $100 = (($53) + ($14)|0); $$1578 = $100;$$sink641 = $3; } else { if (!($8)) { @@ -19691,12 +19666,12 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { HEAP8[$103>>0] = -1; HEAP8[$102>>0] = -1; } - $104 = (($54) + ($$1612)|0); + $104 = (($53) + ($$1612)|0); $$1578 = $104;$$sink641 = $15; } } while(0); $106 = (($$0597) + ($$sink641)|0); - $107 = (($53) + ($$sink641)|0); + $107 = (($58) + ($$sink641)|0); if ($brmerge) { $108 = (($$1609) + -1)|0; $109 = Math_imul($108, $$1612)|0; @@ -20273,15 +20248,15 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 16) { - ___assert_fail((9928|0),(9268|0),4315,(9883|0)); + ___assert_fail((9916|0),(9256|0),4315,(9871|0)); // unreachable; } else if ((label|0) == 58) { - ___assert_fail((9954|0),(9268|0),4376,(9883|0)); + ___assert_fail((9942|0),(9256|0),4377,(9871|0)); // unreachable; } else if ((label|0) == 105) { - _stbi__err(9971); + _stbi__err(9959); $$2 = 0; return ($$2|0); } @@ -20331,7 +20306,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } $334 = (0 - ($26))|0; $335 = ($7|0)==(0); - $336 = (9667 + ($6)|0); + $336 = (9655 + ($6)|0); $$0568724 = (($4) + -1)|0; $337 = ($$0568724|0)>(-1); $$1721 = (($4) + -1)|0; @@ -20772,7 +20747,7 @@ function _stbi__create_png_image_raw($0,$1,$2,$3,$4,$5,$6,$7) { } } if ((label|0) == 144) { - ___assert_fail((9986|0),(9268|0),4465,(9883|0)); + ___assert_fail((9974|0),(9256|0),4466,(9871|0)); // unreachable; } else if ((label|0) == 151) { @@ -20832,8 +20807,8 @@ function _stbi__do_zlib($0,$1,$2,$3,$4) { function _stbi__parse_zlib($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0; - var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; $2 = ($1|0)==(0); if (!($2)) { @@ -20848,15 +20823,15 @@ function _stbi__parse_zlib($0,$1) { HEAP32[$5>>2] = 0; $6 = ((($0)) + 12|0); HEAP32[$6>>2] = 0; - $7 = ((($0)) + 2052|0); - $8 = ((($0)) + 32|0); + $7 = ((($0)) + 32|0); + $8 = ((($0)) + 2052|0); L5: while(1) { $9 = (_stbi__zreceive($0,1)|0); $10 = (_stbi__zreceive($0,2)|0); switch ($10|0) { case 3: { $$0 = 0; - label = 13; + label = 11; break L5; break; } @@ -20865,65 +20840,60 @@ function _stbi__parse_zlib($0,$1) { $12 = ($11|0)==(0); if ($12) { $$0 = 0; - label = 13; + label = 11; break L5; } break; } case 1: { - $13 = HEAP8[(21050)>>0]|0; - $14 = ($13<<24>>24)==(0); + $13 = (_stbi__zbuild_huffman($7,9985,288)|0); + $14 = ($13|0)==(0); if ($14) { - _stbi__init_zdefaults(); - } - $15 = (_stbi__zbuild_huffman($8,21051,288)|0); - $16 = ($15|0)==(0); - if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } - $17 = (_stbi__zbuild_huffman($7,21019,32)|0); - $18 = ($17|0)==(0); - if ($18) { + $15 = (_stbi__zbuild_huffman($8,10273,32)|0); + $16 = ($15|0)==(0); + if ($16) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } break; } default: { - $19 = (_stbi__compute_huffman_codes($0)|0); - $20 = ($19|0)==(0); - if ($20) { + $17 = (_stbi__compute_huffman_codes($0)|0); + $18 = ($17|0)==(0); + if ($18) { $$0 = 0; - label = 13; + label = 11; break L5; } else { - label = 11; + label = 9; } } } - if ((label|0) == 11) { + if ((label|0) == 9) { label = 0; - $21 = (_stbi__parse_huffman_block($0)|0); - $22 = ($21|0)==(0); - if ($22) { + $19 = (_stbi__parse_huffman_block($0)|0); + $20 = ($19|0)==(0); + if ($20) { $$0 = 0; - label = 13; + label = 11; break; } } - $23 = ($9|0)==(0); - if (!($23)) { + $21 = ($9|0)==(0); + if (!($21)) { $$0 = 1; - label = 13; + label = 11; break; } } - if ((label|0) == 13) { + if ((label|0) == 11) { return ($$0|0); } return (0)|0; @@ -20942,14 +20912,14 @@ function _stbi__parse_zlib_header($0) { $8 = (($7>>>0) % 31)&-1; $9 = ($8|0)==(0); if (!($9)) { - _stbi__err(10312); + _stbi__err(10620); $$0 = 0; return ($$0|0); } $10 = $5 & 32; $11 = ($10|0)==(0); if (!($11)) { - _stbi__err(10328); + _stbi__err(10636); $$0 = 0; return ($$0|0); } @@ -20958,7 +20928,7 @@ function _stbi__parse_zlib_header($0) { $$0 = 1; return ($$0|0); } - _stbi__err(10343); + _stbi__err(10651); $$0 = 0; return ($$0|0); } @@ -21041,7 +21011,7 @@ function _stbi__parse_uncompressed_block($0) { } $22 = ($$lcssa|0)==(0); if (!($22)) { - ___assert_fail((10234|0),(9268|0),4048,(10251|0)); + ___assert_fail((10542|0),(9256|0),4033,(10559|0)); // unreachable; } $23 = ($$0$lcssa|0)<(4); @@ -21078,7 +21048,7 @@ function _stbi__parse_uncompressed_block($0) { $42 = $33 ^ 65535; $43 = ($41|0)==($42|0); if (!($43)) { - _stbi__err(10282); + _stbi__err(10590); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21088,7 +21058,7 @@ function _stbi__parse_uncompressed_block($0) { $47 = HEAP32[$46>>2]|0; $48 = ($45>>>0)>($47>>>0); if ($48) { - _stbi__err(10295); + _stbi__err(10603); $$034 = 0; STACKTOP = sp;return ($$034|0); } @@ -21118,21 +21088,6 @@ function _stbi__parse_uncompressed_block($0) { $$034 = 1; STACKTOP = sp;return ($$034|0); } -function _stbi__init_zdefaults() { - var $0 = 0, $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; - sp = STACKTOP; - _memset((21051|0),8,144)|0; - dest=(21195); stop=dest+112|0; do { HEAP8[dest>>0]=9|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - dest=(21307); stop=dest+24|0; do { HEAP8[dest>>0]=7|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - $0 = (21331); - $1 = $0; - HEAP8[$1>>0]=134744072&255;HEAP8[$1+1>>0]=(134744072>>8)&255;HEAP8[$1+2>>0]=(134744072>>16)&255;HEAP8[$1+3>>0]=134744072>>24; - $2 = (($0) + 4)|0; - $3 = $2; - HEAP8[$3>>0]=134744072&255;HEAP8[$3+1>>0]=(134744072>>8)&255;HEAP8[$3+2>>0]=(134744072>>16)&255;HEAP8[$3+3>>0]=134744072>>24; - dest=21019; stop=dest+32|0; do { HEAP8[dest>>0]=5|0; dest=dest+1|0; } while ((dest|0) < (stop|0)); - return; -} function _stbi__zbuild_huffman($0,$1,$2) { $0 = $0|0; $1 = $1|0; @@ -21266,7 +21221,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } if ((label|0) == 7) { - _stbi__err(10172); + _stbi__err(10480); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21355,7 +21310,7 @@ function _stbi__zbuild_huffman($0,$1,$2) { } } } - _stbi__err(10224); + _stbi__err(10532); $$075 = 0; STACKTOP = sp;return ($$075|0); } @@ -21384,7 +21339,7 @@ function _stbi__compute_huffman_codes($0) { while(1) { $12 = (_stbi__zreceive($0,3)|0); $13 = $12&255; - $14 = (11018 + ($$06579)|0); + $14 = (11326 + ($$06579)|0); $15 = HEAP8[$14>>0]|0; $16 = $15&255; $17 = (($3) + ($16)|0); @@ -21475,21 +21430,21 @@ function _stbi__compute_huffman_codes($0) { } } if ((label|0) == 6) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 11) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } else if ((label|0) == 14) { - ___assert_fail((10188|0),(9268|0),4021,(10196|0)); + ___assert_fail((10496|0),(9256|0),4006,(10504|0)); // unreachable; } else if ((label|0) == 17) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21499,7 +21454,7 @@ function _stbi__compute_huffman_codes($0) { } while(0); $43 = ($10|0)==($$066$lcssa|0); if (!($43)) { - _stbi__err(10172); + _stbi__err(10480); $$4 = 0; STACKTOP = sp;return ($$4|0); } @@ -21663,7 +21618,7 @@ function _stbi__parse_huffman_block($0) { $$070 = $scevgep; } if ((label|0) == 6) { - _stbi__err(9997); + _stbi__err(10305); $$3$ph = 0; return ($$3$ph|0); } @@ -21673,12 +21628,12 @@ function _stbi__parse_huffman_block($0) { return ($$3$ph|0); } else if ((label|0) == 16) { - _stbi__err(9997); + _stbi__err(10305); $$3$ph = 0; return ($$3$ph|0); } else if ((label|0) == 20) { - _stbi__err(10014); + _stbi__err(10322); $$3$ph = 0; return ($$3$ph|0); } @@ -21735,7 +21690,7 @@ function _stbi__zexpand($0,$1,$2) { $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0); if ($6) { - _stbi__err(10023); + _stbi__err(10331); $$0 = 0; return ($$0|0); } @@ -21761,7 +21716,7 @@ function _stbi__zexpand($0,$1,$2) { $18 = (_realloc($8,$$029)|0); $19 = ($18|0)==(0|0); if ($19) { - _stbi__err(9323); + _stbi__err(9311); $$0 = 0; return ($$0|0); } else { @@ -21806,7 +21761,7 @@ function _stbi__fill_bits($0) { } } if ((label|0) == 3) { - ___assert_fail((10119|0),(9268|0),3863,(10156|0)); + ___assert_fail((10427|0),(9256|0),3848,(10464|0)); // unreachable; } else if ((label|0) == 5) { @@ -21854,7 +21809,7 @@ function _stbi__zhuffman_decode_slowpath($0,$1) { $22 = $21&255; $23 = ($22|0)==($$025|0); if (!($23)) { - ___assert_fail((10043|0),(9268|0),3891,(10059|0)); + ___assert_fail((10351|0),(9256|0),3876,(10367|0)); // unreachable; } $24 = HEAP32[$2>>2]|0; @@ -21882,7 +21837,7 @@ function _stbi__bit_reverse($0,$1) { $5 = $3 >> $4; return ($5|0); } else { - ___assert_fail((10090|0),(9268|0),3781,(10101|0)); + ___assert_fail((10398|0),(9256|0),3766,(10409|0)); // unreachable; } return (0)|0; @@ -22028,10 +21983,10 @@ function _stbi__stdio_eof($0) { function _LoadImage($0,$1) { $0 = $0|0; $1 = $1|0; - var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$142 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx15 = 0, $$sroa$10$0$$sroa_idx16 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$138 = 0, $$sroa$10$139 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx19 = 0, $$sroa$13$0$$sroa_idx20 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$136 = 0, $$sroa$13$137 = 0, $$sroa$15$0 = 0; - var $$sroa$15$0$$sroa_idx23 = 0, $$sroa$15$0$$sroa_idx24 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$244 = 0, $$sroa$15$245 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx11 = 0, $$sroa$7$0$$sroa_idx12 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$140 = 0, $$sroa$7$141 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; - var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0; - var $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; + var $$sink = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$0$1 = 0, $$sroa$0$144 = 0, $$sroa$10$0 = 0, $$sroa$10$0$$sroa_idx19 = 0, $$sroa$10$0$$sroa_idx20 = 0, $$sroa$10$0$copyload = 0, $$sroa$10$1 = 0, $$sroa$10$140 = 0, $$sroa$10$141 = 0, $$sroa$13$0 = 0, $$sroa$13$0$$sroa_idx23 = 0, $$sroa$13$0$$sroa_idx24 = 0, $$sroa$13$0$copyload = 0, $$sroa$13$1 = 0, $$sroa$13$146 = 0, $$sroa$13$147 = 0, $$sroa$15$0 = 0; + var $$sroa$15$0$$sroa_idx27 = 0, $$sroa$15$0$$sroa_idx28 = 0, $$sroa$15$0$copyload = 0, $$sroa$15$1 = 0, $$sroa$15$2 = 0, $$sroa$15$248 = 0, $$sroa$15$249 = 0, $$sroa$7$0 = 0, $$sroa$7$0$$sroa_idx15 = 0, $$sroa$7$0$$sroa_idx16 = 0, $$sroa$7$0$copyload = 0, $$sroa$7$1 = 0, $$sroa$7$142 = 0, $$sroa$7$143 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0; + var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0; + var $vararg_buffer1 = 0, $vararg_buffer4 = 0, $vararg_buffer9 = 0, $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0; sp = STACKTOP; STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); $vararg_buffer9 = sp + 32|0; @@ -22042,27 +21997,28 @@ function _LoadImage($0,$1) { $3 = sp + 44|0; $4 = sp + 40|0; $5 = sp + 36|0; - $6 = (_IsFileExtension($1,10371)|0); + $6 = (_IsFileExtension($1,10679)|0); $7 = ($6|0)==(0); do { if ($7) { - $19 = (_IsFileExtension($1,10424)|0); + $19 = (_IsFileExtension($1,10732)|0); $20 = ($19|0)==(0); if ($20) { HEAP32[$vararg_buffer1>>2] = $1; - _TraceLog(2,10429,$vararg_buffer1); - $$sroa$10$139 = 0;$$sroa$13$137 = 0;$$sroa$15$245 = 0;$$sroa$7$141 = 0; - label = 16; + _TraceLog(2,10737,$vararg_buffer1); + $$sroa$10$141 = 0;$$sroa$13$147 = 0;$$sroa$15$249 = 0;$$sroa$7$143 = 0; break; } HEAP32[$3>>2] = 0; HEAP32[$4>>2] = 0; HEAP32[$5>>2] = 0; - $21 = (_stbi_load($1,$3,$4,$5,0)|0); - $22 = HEAP32[$3>>2]|0; - $23 = HEAP32[$4>>2]|0; - $24 = HEAP32[$5>>2]|0; - switch ($24|0) { + $21 = (_fopen($1,10871)|0); + $22 = (_stbi_load_from_file($21,$3,$4,$5,0)|0); + (_fclose($21)|0); + $23 = HEAP32[$3>>2]|0; + $24 = HEAP32[$4>>2]|0; + $25 = HEAP32[$5>>2]|0; + switch ($25|0) { case 1: { $$sink = 1; label = 11; @@ -22090,7 +22046,7 @@ function _LoadImage($0,$1) { if ((label|0) == 11) { $$sroa$15$1 = $$sink; } - $$sroa$0$1 = $21;$$sroa$10$1 = $23;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $22; + $$sroa$0$1 = $22;$$sroa$10$1 = $24;$$sroa$13$1 = 1;$$sroa$15$2 = $$sroa$15$1;$$sroa$7$1 = $23; label = 14; } else { $8 = (_LoadResource($1,0)|0); @@ -22107,18 +22063,18 @@ function _LoadImage($0,$1) { $18 = HEAP32[$17>>2]|0; _LoadImagePro($2,$12,$14,$16,$18); $$sroa$0$0$copyload = HEAP32[$2>>2]|0; - $$sroa$7$0$$sroa_idx11 = ((($2)) + 4|0); - $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx11>>2]|0; - $$sroa$10$0$$sroa_idx15 = ((($2)) + 8|0); - $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx15>>2]|0; - $$sroa$13$0$$sroa_idx19 = ((($2)) + 12|0); - $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx19>>2]|0; - $$sroa$15$0$$sroa_idx23 = ((($2)) + 16|0); - $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx23>>2]|0; + $$sroa$7$0$$sroa_idx15 = ((($2)) + 4|0); + $$sroa$7$0$copyload = HEAP32[$$sroa$7$0$$sroa_idx15>>2]|0; + $$sroa$10$0$$sroa_idx19 = ((($2)) + 8|0); + $$sroa$10$0$copyload = HEAP32[$$sroa$10$0$$sroa_idx19>>2]|0; + $$sroa$13$0$$sroa_idx23 = ((($2)) + 12|0); + $$sroa$13$0$copyload = HEAP32[$$sroa$13$0$$sroa_idx23>>2]|0; + $$sroa$15$0$$sroa_idx27 = ((($2)) + 16|0); + $$sroa$15$0$copyload = HEAP32[$$sroa$15$0$$sroa_idx27>>2]|0; $$sroa$0$0 = $$sroa$0$0$copyload;$$sroa$10$0 = $$sroa$10$0$copyload;$$sroa$13$0 = $$sroa$13$0$copyload;$$sroa$15$0 = $$sroa$15$0$copyload;$$sroa$7$0 = $$sroa$7$0$copyload; } else { HEAP32[$vararg_buffer>>2] = $1; - _TraceLog(2,10377,$vararg_buffer); + _TraceLog(2,10685,$vararg_buffer); $$sroa$0$0 = 0;$$sroa$10$0 = 0;$$sroa$13$0 = 0;$$sroa$15$0 = 0;$$sroa$7$0 = 0; } _UnloadResource($8); @@ -22127,34 +22083,41 @@ function _LoadImage($0,$1) { } } while(0); if ((label|0) == 14) { - $25 = ($$sroa$0$1|0)==(0|0); - if ($25) { - $$sroa$10$139 = $$sroa$10$1;$$sroa$13$137 = $$sroa$13$1;$$sroa$15$245 = $$sroa$15$2;$$sroa$7$141 = $$sroa$7$1; - label = 16; + $26 = ($$sroa$0$1|0)==(0|0); + if ($26) { + $$sroa$10$141 = $$sroa$10$1;$$sroa$13$147 = $$sroa$13$1;$$sroa$15$249 = $$sroa$15$2;$$sroa$7$143 = $$sroa$7$1; } else { HEAP32[$vararg_buffer4>>2] = $1; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $$sroa$7$1; $vararg_ptr8 = ((($vararg_buffer4)) + 8|0); HEAP32[$vararg_ptr8>>2] = $$sroa$10$1; - _TraceLog(0,10465,$vararg_buffer4); - $$sroa$0$142 = $$sroa$0$1;$$sroa$10$138 = $$sroa$10$1;$$sroa$13$136 = $$sroa$13$1;$$sroa$15$244 = $$sroa$15$2;$$sroa$7$140 = $$sroa$7$1; - } - } - if ((label|0) == 16) { - HEAP32[$vararg_buffer9>>2] = $1; - _TraceLog(2,10504,$vararg_buffer9); - $$sroa$0$142 = 0;$$sroa$10$138 = $$sroa$10$139;$$sroa$13$136 = $$sroa$13$137;$$sroa$15$244 = $$sroa$15$245;$$sroa$7$140 = $$sroa$7$141; - } - HEAP32[$0>>2] = $$sroa$0$142; - $$sroa$7$0$$sroa_idx12 = ((($0)) + 4|0); - HEAP32[$$sroa$7$0$$sroa_idx12>>2] = $$sroa$7$140; - $$sroa$10$0$$sroa_idx16 = ((($0)) + 8|0); - HEAP32[$$sroa$10$0$$sroa_idx16>>2] = $$sroa$10$138; - $$sroa$13$0$$sroa_idx20 = ((($0)) + 12|0); - HEAP32[$$sroa$13$0$$sroa_idx20>>2] = $$sroa$13$136; - $$sroa$15$0$$sroa_idx24 = ((($0)) + 16|0); - HEAP32[$$sroa$15$0$$sroa_idx24>>2] = $$sroa$15$244; + _TraceLog(0,10773,$vararg_buffer4); + $$sroa$0$144 = $$sroa$0$1;$$sroa$10$140 = $$sroa$10$1;$$sroa$13$146 = $$sroa$13$1;$$sroa$15$248 = $$sroa$15$2;$$sroa$7$142 = $$sroa$7$1; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; + STACKTOP = sp;return; + } + } + HEAP32[$vararg_buffer9>>2] = $1; + _TraceLog(2,10812,$vararg_buffer9); + $$sroa$0$144 = 0;$$sroa$10$140 = $$sroa$10$141;$$sroa$13$146 = $$sroa$13$147;$$sroa$15$248 = $$sroa$15$249;$$sroa$7$142 = $$sroa$7$143; + HEAP32[$0>>2] = $$sroa$0$144; + $$sroa$7$0$$sroa_idx16 = ((($0)) + 4|0); + HEAP32[$$sroa$7$0$$sroa_idx16>>2] = $$sroa$7$142; + $$sroa$10$0$$sroa_idx20 = ((($0)) + 8|0); + HEAP32[$$sroa$10$0$$sroa_idx20>>2] = $$sroa$10$140; + $$sroa$13$0$$sroa_idx24 = ((($0)) + 12|0); + HEAP32[$$sroa$13$0$$sroa_idx24>>2] = $$sroa$13$146; + $$sroa$15$0$$sroa_idx28 = ((($0)) + 16|0); + HEAP32[$$sroa$15$0$$sroa_idx28>>2] = $$sroa$15$248; STACKTOP = sp;return; } function _LoadResource($0,$1) { @@ -22173,11 +22136,11 @@ function _LoadResource($0,$1) { $vararg_buffer = sp; $2 = sp + 64|0; $3 = sp + 32|0; - $4 = (_fopen($0,10563)|0); + $4 = (_fopen($0,10871)|0); $5 = ($4|0)==(0|0); if ($5) { HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(2,10566,$vararg_buffer); + _TraceLog(2,10874,$vararg_buffer); $$2 = 0; STACKTOP = sp;return ($$2|0); } @@ -22276,7 +22239,7 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $67; - _TraceLog(0,10663,$vararg_buffer4); + _TraceLog(0,10971,$vararg_buffer4); } (_fread($3,32,1,$4)|0); $68 = (($$05764) + 1)|0; @@ -22311,14 +22274,14 @@ function _LoadResource($0,$1) { HEAP32[$vararg_buffer8>>2] = $0; $vararg_ptr11 = ((($vararg_buffer8)) + 4|0); HEAP32[$vararg_ptr11>>2] = $1; - _TraceLog(2,10709,$vararg_buffer8); + _TraceLog(2,11017,$vararg_buffer8); $$1 = $$0$lcssa; } else { $$1 = $$0$lcssa; } } else { HEAP32[$vararg_buffer1>>2] = $0; - _TraceLog(2,10617,$vararg_buffer1); + _TraceLog(2,10925,$vararg_buffer1); $$1 = 0; } (_fclose($4)|0); @@ -22408,7 +22371,7 @@ function _ImageCopy($0,$1) { break; } default: { - _TraceLog(2,10535,$vararg_buffer); + _TraceLog(2,10843,$vararg_buffer); $$0 = $6; } } @@ -22453,27 +22416,27 @@ function _DecompressData($0,$1,$2) { $3 = (_malloc($2)|0); $4 = ($3|0)==(0|0); if ($4) { - _TraceLog(2,10759,$vararg_buffer); + _TraceLog(2,11067,$vararg_buffer); STACKTOP = sp;return ($3|0); } $5 = (_tinfl_decompress_mem_to_mem($3,$2,$0,$1,1)|0); $6 = ($5|0)==(-1); if ($6) { - _TraceLog(2,10798,$vararg_buffer1); + _TraceLog(2,11106,$vararg_buffer1); _free($3); } $7 = ($5|0)==($2|0); if (!($7)) { - _TraceLog(2,10824,$vararg_buffer3); + _TraceLog(2,11132,$vararg_buffer3); HEAP32[$vararg_buffer5>>2] = $2; - _TraceLog(2,10887,$vararg_buffer5); + _TraceLog(2,11195,$vararg_buffer5); HEAP32[$vararg_buffer7>>2] = $5; - _TraceLog(2,10922,$vararg_buffer7); + _TraceLog(2,11230,$vararg_buffer7); } HEAP32[$vararg_buffer10>>2] = $1; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $5; - _TraceLog(0,10957,$vararg_buffer10); + _TraceLog(0,11265,$vararg_buffer10); STACKTOP = sp;return ($3|0); } function _tinfl_decompress_mem_to_mem($0,$1,$2,$3,$4) { @@ -23656,7 +23619,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $196 = $$01300 << $$37; $197 = $196 | $$371346; $198 = (($$37) + 8)|0; - $199 = (11014 + ($$361133)|0); + $199 = (11322 + ($$361133)|0); $200 = HEAP8[$199>>0]|0; $201 = $200 << 24 >> 24; $202 = ($198>>>0)<($201>>>0); @@ -24086,7 +24049,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { label = 0; $185 = ($$331130>>>0)<(3); if ($185) { - $186 = (11014 + ($$331130)|0); + $186 = (11322 + ($$331130)|0); $187 = HEAP8[$186>>0]|0; $188 = $187 << 24 >> 24; $189 = ($$34>>>0)<($188>>>0); @@ -24124,7 +24087,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { } case 68: { label = 0; - $203 = (11014 + ($$371134)|0); + $203 = (11322 + ($$371134)|0); $204 = HEAP8[$203>>0]|0; $205 = $204 << 24 >> 24; $206 = 1 << $205; @@ -24163,7 +24126,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $232 = $$431352 >>> 3; $233 = (($$43) + -3)|0; $234 = $231&255; - $235 = (11018 + ($$421139)|0); + $235 = (11326 + ($$421139)|0); $236 = HEAP8[$235>>0]|0; $237 = $236&255; $238 = (((($0)) + 7040|0) + ($237)|0); @@ -24570,7 +24533,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { continue L46; } $495 = (($$2986) + -16)|0; - $496 = (11037 + ($495)|0); + $496 = (11345 + ($495)|0); $497 = HEAP8[$496>>0]|0; $498 = $497 << 24 >> 24; $499 = ($488>>>0)<($498>>>0); @@ -24607,7 +24570,7 @@ function _tinfl_decompress($0,$1,$2,$3,$4,$5,$6) { $513 = $$551364 >>> $$551258; $514 = (($$55) - ($$551258))|0; $515 = (($$531044) + -16)|0; - $516 = (11041 + ($515)|0); + $516 = (11349 + ($515)|0); $517 = HEAP8[$516>>0]|0; $518 = $517 << 24 >> 24; $519 = (($518) + ($512))|0; @@ -25524,7 +25487,7 @@ function _GetTextureData($0,$1) { $5 = (_rlglReadTexturePixels($$byval_copy)|0); $6 = ($5|0)==(0|0); if ($6) { - _TraceLog(2,11086,$vararg_buffer1); + _TraceLog(2,11394,$vararg_buffer1); $$sroa$0$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; break; } @@ -25540,10 +25503,10 @@ function _GetTextureData($0,$1) { $13 = HEAP32[$2>>2]|0; $$sink = $13; } - _TraceLog(0,11045,$vararg_buffer); + _TraceLog(0,11353,$vararg_buffer); $$sroa$0$0 = $5;$$sroa$6$0 = $8;$$sroa$7$0 = $10;$$sroa$9$0 = $$sink; } else { - _TraceLog(2,11127,$vararg_buffer3); + _TraceLog(2,11435,$vararg_buffer3); $$sroa$0$0 = 0;$$sroa$6$0 = 0;$$sroa$7$0 = 0;$$sroa$9$0 = 0; } } while(0); @@ -25562,7 +25525,7 @@ function _GetDefaultFont($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - ;HEAP32[$0>>2]=HEAP32[16944>>2]|0;HEAP32[$0+4>>2]=HEAP32[16944+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[16944+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[16944+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[16944+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[16944+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[16944+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[16944+28>>2]|0; + ;HEAP32[$0>>2]=HEAP32[17256>>2]|0;HEAP32[$0+4>>2]=HEAP32[17256+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[17256+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[17256+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[17256+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[17256+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[17256+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[17256+28>>2]|0; return; } function _GetCharIndex($0,$1) { @@ -26068,7 +26031,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,11173)|0); + $12 = (_strstr($11,11481)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -26077,7 +26040,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,11177)|0); + $17 = (_strstr($16,11485)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -26086,7 +26049,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,11181)|0); + $22 = (_strstr($21,11489)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -26095,7 +26058,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,11185)|0); + $27 = (_strstr($26,11493)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -26104,1210 +26067,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,11191)|0); + $32 = (_strcmp($31,11499)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,11229)|0); + $35 = (_strcmp($34,11537)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 11248; + HEAP32[$3>>2] = 11556; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,11261)|0); + $38 = (_strcmp($37,11569)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 11282; + HEAP32[$3>>2] = 11590; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,11297)|0); + $41 = (_strcmp($40,11605)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 11312; + HEAP32[$3>>2] = 11620; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,11327)|0); + $44 = (_strcmp($43,11635)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 11342; + HEAP32[$3>>2] = 11650; } } else { - HEAP32[$3>>2] = 11213; + HEAP32[$3>>2] = 11521; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,11357)|0); + $47 = (_strcmp($46,11665)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,11371)|0); + $50 = (_strcmp($49,11679)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,11383)|0); + $53 = (_strcmp($52,11691)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 7; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,11397)|0); + $56 = (_strcmp($55,11705)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 8; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,11409)|0); + $59 = (_strcmp($58,11717)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 9; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,11423)|0); + $62 = (_strcmp($61,11731)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 10; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,11437)|0); + $65 = (_strcmp($64,11745)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 11; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,11454)|0); + $68 = (_strcmp($67,11762)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,11477)|0); + $71 = (_strcmp($70,11785)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,11503)|0); + $74 = (_strcmp($73,11811)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,11516)|0); + $77 = (_strcmp($76,11824)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,11532)|0); + $80 = (_strcmp($79,11840)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,11545)|0); + $83 = (_strcmp($82,11853)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 12; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,11559)|0); + $86 = (_strcmp($85,11867)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,11579)|0); + $89 = (_strcmp($88,11887)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,11599)|0); + $92 = (_strcmp($91,11907)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,11616)|0); + $95 = (_strcmp($94,11924)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,11633)|0); + $98 = (_strcmp($97,11941)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,11645)|0); + $101 = (_strcmp($100,11953)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 13; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,11658)|0); + $104 = (_strcmp($103,11966)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 14; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,11674)|0); + $107 = (_strcmp($106,11982)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,11697)|0); + $110 = (_strcmp($109,12005)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,11710)|0); + $113 = (_strcmp($112,12018)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,11726)|0); + $116 = (_strcmp($115,12034)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,11737)|0); + $119 = (_strcmp($118,12045)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 15; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,11756)|0); + $122 = (_strcmp($121,12064)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 16; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,11778)|0); + $125 = (_strcmp($124,12086)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 17; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,11797)|0); + $128 = (_strcmp($127,12105)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,11826)|0); + $131 = (_strcmp($130,12134)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,11843)|0); + $134 = (_strcmp($133,12151)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,11858)|0); + $137 = (_strcmp($136,12166)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,11873)|0); + $140 = (_strcmp($139,12181)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,11894)|0); + $143 = (_strcmp($142,12202)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,11914)|0); + $146 = (_strcmp($145,12222)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,11934)|0); + $149 = (_strcmp($148,12242)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,11960)|0); + $152 = (_strcmp($151,12268)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,11979)|0); + $155 = (_strcmp($154,12287)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,11991)|0); + $158 = (_strcmp($157,12299)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,12003)|0); + $161 = (_strcmp($160,12311)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,12015)|0); + $164 = (_strcmp($163,12323)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,12027)|0); + $167 = (_strcmp($166,12335)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 18; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,12039)|0); + $170 = (_strcmp($169,12347)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,12051)|0); + $173 = (_strcmp($172,12359)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,12063)|0); + $176 = (_strcmp($175,12371)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,12075)|0); + $179 = (_strcmp($178,12383)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,12088)|0); + $182 = (_strcmp($181,12396)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,12101)|0); + $185 = (_strcmp($184,12409)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,12114)|0); + $188 = (_strcmp($187,12422)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,12127)|0); + $191 = (_strcmp($190,12435)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,12140)|0); + $194 = (_strcmp($193,12448)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,12153)|0); + $197 = (_strcmp($196,12461)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,12166)|0); + $200 = (_strcmp($199,12474)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,12179)|0); + $203 = (_strcmp($202,12487)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,12198)|0); + $206 = (_strcmp($205,12506)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,12217)|0); + $209 = (_strcmp($208,12525)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,12236)|0); + $212 = (_strcmp($211,12544)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 19; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,12249)|0); + $215 = (_strcmp($214,12557)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 20; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,12267)|0); + $218 = (_strcmp($217,12575)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 21; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,12285)|0); + $221 = (_strcmp($220,12593)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 22; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,12303)|0); + $224 = (_strcmp($223,12611)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 23; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,12321)|0); + $227 = (_strcmp($226,12629)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,12341)|0); + $230 = (_strcmp($229,12649)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,11282)|0); + $233 = (_strcmp($232,11590)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,12359)|0); + $236 = (_strcmp($235,12667)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,12374)|0); + $239 = (_strcmp($238,12682)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,12395)|0); + $242 = (_strcmp($241,12703)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,12410)|0); + $245 = (_strcmp($244,12718)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,12428)|0); + $248 = (_strcmp($247,12736)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,12444)|0); + $251 = (_strcmp($250,12752)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,12463)|0); + $254 = (_strcmp($253,12771)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,12477)|0); + $257 = (_strcmp($256,12785)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,12492)|0); + $260 = (_strcmp($259,12800)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,11213)|0); + $263 = (_strcmp($262,11521)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,12503)|0); + $266 = (_strcmp($265,12811)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,11312)|0); + $269 = (_strcmp($268,11620)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 24; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,11342)|0); + $272 = (_strcmp($271,11650)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 25; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,12519)|0); + $275 = (_strcmp($274,12827)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,12546)|0); + $278 = (_strcmp($277,12854)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,12560)|0); + $281 = (_strcmp($280,12868)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,11248)|0); + $284 = (_strcmp($283,11556)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,12580)|0); + $287 = (_strcmp($286,12888)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,12598)|0); + $290 = (_strcmp($289,12906)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,12610)|0); + $293 = (_strcmp($292,12918)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,12631)|0); + $296 = (_strcmp($295,12939)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 26; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,12649)|0); + $299 = (_strcmp($298,12957)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 27; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,12667)|0); + $302 = (_strcmp($301,12975)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 28; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,12688)|0); + $305 = (_strcmp($304,12996)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,12714)|0); + $308 = (_strcmp($307,13022)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,12737)|0); + $311 = (_strcmp($310,13045)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,12775)|0); + $314 = (_strcmp($313,13083)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,12791)|0); + $317 = (_strcmp($316,13099)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,12806)|0); + $320 = (_strcmp($319,13114)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,12829)|0); + $323 = (_strcmp($322,13137)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,12842)|0); + $326 = (_strcmp($325,13150)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 29; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,12856)|0); + $329 = (_strcmp($328,13164)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 30; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,12870)|0); + $332 = (_strcmp($331,13178)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,12890)|0); + $335 = (_strcmp($334,13198)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,12910)|0); + $338 = (_strcmp($337,13218)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,12926)|0); + $341 = (_strcmp($340,13234)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,12944)|0); + $344 = (_strcmp($343,13252)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,12960)|0); + $347 = (_strcmp($346,13268)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,12975)|0); + $350 = (_strcmp($349,13283)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,12997)|0); + $353 = (_strcmp($352,13305)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 31; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,13015)|0); + $356 = (_strcmp($355,13323)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 32; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,13036)|0); + $359 = (_strcmp($358,13344)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,13054)|0); + $362 = (_strcmp($361,13362)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,13067)|0); + $365 = (_strcmp($364,13375)|0); $366 = ($365|0)!=(0); if (!($366)) { HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,13082)|0); + $368 = (_strcmp($367,13390)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,13096)|0); + $371 = (_strcmp($370,13404)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,13106)|0); + $374 = (_strcmp($373,13414)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,13116)|0); + $377 = (_strcmp($376,13424)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,13138)|0); + $380 = (_strcmp($379,13446)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,13164)|0); + $383 = (_strcmp($382,13472)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,13191)|0); + $386 = (_strcmp($385,13499)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,13204)|0); + $389 = (_strcmp($388,13512)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,13219)|0); + $392 = (_strcmp($391,13527)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,13234)|0); + $395 = (_strcmp($394,13542)|0); $396 = ($395|0)!=(0); if (!($396)) { HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,13258)|0); + $398 = (_strcmp($397,13566)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,13269)|0); + $401 = (_strcmp($400,13577)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 33; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,13291)|0); + $404 = (_strcmp($403,13599)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,13313)|0); + $407 = (_strcmp($406,13621)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,13337)|0); + $410 = (_strcmp($409,13645)|0); $411 = ($410|0)!=(0); if (!($411)) { HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,13346)|0); + $413 = (_strcmp($412,13654)|0); $414 = ($413|0)!=(0); if (!($414)) { HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,13354)|0); + $416 = (_strcmp($415,13662)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,13367)|0); + $419 = (_strcmp($418,13675)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,13381)|0); + $422 = (_strcmp($421,13689)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,13393)|0); + $425 = (_strcmp($424,13701)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,13402)|0); + $428 = (_strcmp($427,13710)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,13412)|0); + $431 = (_strcmp($430,13720)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,13424)|0); + $434 = (_strcmp($433,13732)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,13435)|0); + $437 = (_strcmp($436,13743)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,13443)|0); + $440 = (_strcmp($439,13751)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,13455)|0); + $443 = (_strcmp($442,13763)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,13470)|0); + $446 = (_strcmp($445,13778)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,13482)|0); + $449 = (_strcmp($448,13790)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,13496)|0); + $452 = (_strcmp($451,13804)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,13521)|0); + $455 = (_strcmp($454,13829)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,13538)|0); + $458 = (_strcmp($457,13846)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,13554)|0); + $461 = (_strcmp($460,13862)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,13570)|0); + $464 = (_strcmp($463,13878)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,13582)|0); + $467 = (_strcmp($466,13890)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 34; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,13594)|0); + $470 = (_strcmp($469,13902)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 35; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,13618)|0); + $473 = (_strcmp($472,13926)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,13631)|0); + $476 = (_strcmp($475,13939)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,13645)|0); + $479 = (_strcmp($478,13953)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 36; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,13667)|0); + $482 = (_strcmp($481,13975)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 37; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,13674)|0); + $485 = (_strcmp($484,13982)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,13690)|0); + $488 = (_strcmp($487,13998)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,13707)|0); + $491 = (_strcmp($490,14015)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,13724)|0); + $494 = (_strcmp($493,14032)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,13740)|0); + $497 = (_strcmp($496,14048)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,13756)|0); + $500 = (_strcmp($499,14064)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,13773)|0); + $503 = (_strcmp($502,14081)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,13787)|0); + $506 = (_strcmp($505,14095)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,13799)|0); + $509 = (_strcmp($508,14107)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,13810)|0); + $512 = (_strcmp($511,14118)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,13823)|0); + $515 = (_strcmp($514,14131)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,13833)|0); + $518 = (_strcmp($517,14141)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,13850)|0); + $521 = (_strcmp($520,14158)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,13862)|0); + $524 = (_strcmp($523,14170)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,13884)|0); + $527 = (_strcmp($526,14192)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,13904)|0); + $530 = (_strcmp($529,14212)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,13917)|0); + $533 = (_strcmp($532,14225)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,13939)|0); + $536 = (_strcmp($535,14247)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,13959)|0); + $539 = (_strcmp($538,14267)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,13976)|0); + $542 = (_strcmp($541,14284)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,13993)|0); + $545 = (_strcmp($544,14301)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,14013)|0); + $548 = (_strcmp($547,14321)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -27329,7 +27292,7 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (19156|0); + return (19468|0); } function ___stdio_close($0) { $0 = $0|0; @@ -28193,7 +28156,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((14129 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((14437 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -28371,7 +28334,7 @@ function _printf_core($0,$1,$2,$3,$4) { $222 = (($220) + 1)|0; $223 = $218 | $221; $$0254$$0254$ = $223 ? $$0254 : $222; - $$0228 = $216;$$1233 = 0;$$1238 = 14593;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 14901;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -28392,7 +28355,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 14593;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 14901;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -28400,8 +28363,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 14593 : (14595); - $$$ = $238 ? $$ : (14594); + $$ = $240 ? 14901 : (14903); + $$$ = $238 ? $$ : (14902); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -28418,7 +28381,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 14593;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 14901;$242 = $167;$243 = $170; label = 66; break; } @@ -28431,7 +28394,7 @@ function _printf_core($0,$1,$2,$3,$4) { $264 = HEAP32[$263>>2]|0; $265 = $261&255; HEAP8[$13>>0] = $265; - $$2 = $13;$$2234 = 0;$$2239 = 14593;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 14901;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -28445,7 +28408,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 14603; + $271 = $270 ? $269 : 14911; $$1 = $271; label = 71; break; @@ -28485,7 +28448,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 14593;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 14901;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -28507,8 +28470,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (14593 + ($208)|0); - $$289 = $or$cond283 ? 14593 : $209; + $209 = (14901 + ($208)|0); + $$289 = $or$cond283 ? 14901 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -28529,7 +28492,7 @@ function _printf_core($0,$1,$2,$3,$4) { $277 = (($$1) + ($$0254)|0); $$3257 = $273 ? $$0254 : $276; $$1250 = $273 ? $277 : $272; - $$2 = $$1;$$2234 = 0;$$2239 = 14593;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 14901;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -29059,7 +29022,7 @@ function _fmt_x($0,$1,$2,$3) { $$056 = $2;$15 = $1;$8 = $0; while(1) { $7 = $8 & 15; - $9 = (14645 + ($7)|0); + $9 = (14953 + ($7)|0); $10 = HEAP8[$9>>0]|0; $11 = $10&255; $12 = $11 | $3; @@ -29417,14 +29380,14 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $13 = ($12|0)<(0); if ($13) { $14 = -$1; - $$0471 = $14;$$0520 = 1;$$0521 = 14610; + $$0471 = $14;$$0520 = 1;$$0521 = 14918; } else { $15 = $4 & 2048; $16 = ($15|0)==(0); $17 = $4 & 1; $18 = ($17|0)==(0); - $$ = $18 ? (14611) : (14616); - $$$ = $16 ? $$ : (14613); + $$ = $18 ? (14919) : (14924); + $$$ = $16 ? $$ : (14921); $19 = $4 & 2049; $narrow = ($19|0)!=(0); $$534$ = $narrow&1; @@ -29523,7 +29486,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$0523 = $8;$$2473 = $$1472; while(1) { $80 = (~~(($$2473))); - $81 = (14645 + ($80)|0); + $81 = (14953 + ($80)|0); $82 = HEAP8[$81>>0]|0; $83 = $82&255; $84 = $83 | $42; @@ -30134,7 +30097,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } $339 = ($289|0)==(0); if (!($339)) { - _out($0,14661,1); + _out($0,14969,1); } $340 = ($337>>>0)<($$7505>>>0); $341 = ($$3477|0)>(0); @@ -30215,7 +30178,7 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { $$2 = $372; break; } - _out($0,14661,1); + _out($0,14969,1); $$2 = $372; } else { $369 = ($$0>>>0)>($8>>>0); @@ -30272,9 +30235,9 @@ function _fmt_fp($0,$1,$2,$3,$4,$5) { } else { $27 = $5 & 32; $28 = ($27|0)!=(0); - $29 = $28 ? 14629 : 14633; + $29 = $28 ? 14937 : 14941; $30 = ($$0471 != $$0471) | (0.0 != 0.0); - $31 = $28 ? 14637 : 14641; + $31 = $28 ? 14945 : 14949; $$0510 = $30 ? $31 : $29; $32 = (($$0520) + 3)|0; $33 = $4 & -65537; @@ -30484,7 +30447,7 @@ function ___strerror_l($0,$1) { sp = STACKTOP; $$016 = 0; while(1) { - $3 = (14663 + ($$016)|0); + $3 = (14971 + ($$016)|0); $4 = HEAP8[$3>>0]|0; $5 = $4&255; $6 = ($5|0)==($0|0); @@ -30495,7 +30458,7 @@ function ___strerror_l($0,$1) { $7 = (($$016) + 1)|0; $8 = ($7|0)==(87); if ($8) { - $$01214 = 14751;$$115 = 87; + $$01214 = 15059;$$115 = 87; label = 5; break; } else { @@ -30505,9 +30468,9 @@ function ___strerror_l($0,$1) { if ((label|0) == 2) { $2 = ($$016|0)==(0); if ($2) { - $$012$lcssa = 14751; + $$012$lcssa = 15059; } else { - $$01214 = 14751;$$115 = $$016; + $$01214 = 15059;$$115 = $$016; label = 5; } } @@ -31170,7 +31133,7 @@ function _fopen($0,$1) { $vararg_buffer = sp; $2 = HEAP8[$1>>0]|0; $3 = $2 << 24 >> 24; - $memchr = (_memchr(16555,$3,4)|0); + $memchr = (_memchr(16863,$3,4)|0); $4 = ($memchr|0)==(0|0); if ($4) { $5 = (___errno_location()|0); @@ -31259,7 +31222,7 @@ function ___fdopen($0,$1) { $2 = sp + 56|0; $3 = HEAP8[$1>>0]|0; $4 = $3 << 24 >> 24; - $memchr = (_memchr(16555,$4,4)|0); + $memchr = (_memchr(16863,$4,4)|0); $5 = ($memchr|0)==(0|0); if ($5) { $6 = (___errno_location()|0); @@ -31350,7 +31313,7 @@ function ___fdopen($0,$1) { HEAP32[$36>>2] = 3; $37 = ((($7)) + 12|0); HEAP32[$37>>2] = 2; - $38 = HEAP32[(19160)>>2]|0; + $38 = HEAP32[(19472)>>2]|0; $39 = ($38|0)==(0); if ($39) { $40 = ((($7)) + 76|0); @@ -31383,13 +31346,13 @@ function ___ofl_add($0) { function ___ofl_lock() { var label = 0, sp = 0; sp = STACKTOP; - ___lock((19220|0)); - return (19228|0); + ___lock((19532|0)); + return (19540|0); } function ___ofl_unlock() { var label = 0, sp = 0; sp = STACKTOP; - ___unlock((19220|0)); + ___unlock((19532|0)); return; } function _fclose($0) { @@ -32453,7 +32416,7 @@ function _srand($0) { var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; $1 = (($0) + -1)|0; - $2 = 16824; + $2 = 17136; $3 = $2; HEAP32[$3>>2] = $1; $4 = (($2) + 4)|0; @@ -32670,7 +32633,7 @@ function _strtok($0,$1) { sp = STACKTOP; $2 = ($0|0)==(0|0); if ($2) { - $3 = HEAP32[4808]|0; + $3 = HEAP32[4886]|0; $4 = ($3|0)==(0|0); if ($4) { $$0 = 0; @@ -32689,22 +32652,22 @@ function _strtok($0,$1) { $7 = HEAP8[$6>>0]|0; $8 = ($7<<24>>24)==(0); if ($8) { - HEAP32[4808] = 0; + HEAP32[4886] = 0; $$0 = 0; break; } $9 = (_strcspn($6,$1)|0); $10 = (($6) + ($9)|0); - HEAP32[4808] = $10; + HEAP32[4886] = $10; $11 = HEAP8[$10>>0]|0; $12 = ($11<<24>>24)==(0); if ($12) { - HEAP32[4808] = 0; + HEAP32[4886] = 0; $$0 = $6; break; } else { $13 = ((($10)) + 1|0); - HEAP32[4808] = $13; + HEAP32[4886] = $13; HEAP8[$10>>0] = 0; $$0 = $6; break; @@ -32785,7 +32748,7 @@ function _malloc($0) { $5 = $4 & -8; $6 = $3 ? 16 : $5; $7 = $6 >>> 3; - $8 = HEAP32[4809]|0; + $8 = HEAP32[4887]|0; $9 = $8 >>> $7; $10 = $9 & 3; $11 = ($10|0)==(0); @@ -32794,7 +32757,7 @@ function _malloc($0) { $13 = $12 ^ 1; $14 = (($13) + ($7))|0; $15 = $14 << 1; - $16 = (19276 + ($15<<2)|0); + $16 = (19588 + ($15<<2)|0); $17 = ((($16)) + 8|0); $18 = HEAP32[$17>>2]|0; $19 = ((($18)) + 8|0); @@ -32805,9 +32768,9 @@ function _malloc($0) { $22 = 1 << $14; $23 = $22 ^ -1; $24 = $8 & $23; - HEAP32[4809] = $24; + HEAP32[4887] = $24; } else { - $25 = HEAP32[(19252)>>2]|0; + $25 = HEAP32[(19564)>>2]|0; $26 = ($20>>>0)<($25>>>0); if ($26) { _abort(); @@ -32838,7 +32801,7 @@ function _malloc($0) { $$0 = $19; STACKTOP = sp;return ($$0|0); } - $37 = HEAP32[(19244)>>2]|0; + $37 = HEAP32[(19556)>>2]|0; $38 = ($6>>>0)>($37>>>0); if ($38) { $39 = ($9|0)==(0); @@ -32872,7 +32835,7 @@ function _malloc($0) { $66 = $62 >>> $64; $67 = (($65) + ($66))|0; $68 = $67 << 1; - $69 = (19276 + ($68<<2)|0); + $69 = (19588 + ($68<<2)|0); $70 = ((($69)) + 8|0); $71 = HEAP32[$70>>2]|0; $72 = ((($71)) + 8|0); @@ -32883,10 +32846,10 @@ function _malloc($0) { $75 = 1 << $67; $76 = $75 ^ -1; $77 = $8 & $76; - HEAP32[4809] = $77; + HEAP32[4887] = $77; $98 = $77; } else { - $78 = HEAP32[(19252)>>2]|0; + $78 = HEAP32[(19564)>>2]|0; $79 = ($73>>>0)<($78>>>0); if ($79) { _abort(); @@ -32919,22 +32882,22 @@ function _malloc($0) { HEAP32[$90>>2] = $84; $91 = ($37|0)==(0); if (!($91)) { - $92 = HEAP32[(19256)>>2]|0; + $92 = HEAP32[(19568)>>2]|0; $93 = $37 >>> 3; $94 = $93 << 1; - $95 = (19276 + ($94<<2)|0); + $95 = (19588 + ($94<<2)|0); $96 = 1 << $93; $97 = $98 & $96; $99 = ($97|0)==(0); if ($99) { $100 = $98 | $96; - HEAP32[4809] = $100; + HEAP32[4887] = $100; $$pre = ((($95)) + 8|0); $$0199 = $95;$$pre$phiZ2D = $$pre; } else { $101 = ((($95)) + 8|0); $102 = HEAP32[$101>>2]|0; - $103 = HEAP32[(19252)>>2]|0; + $103 = HEAP32[(19564)>>2]|0; $104 = ($102>>>0)<($103>>>0); if ($104) { _abort(); @@ -32951,12 +32914,12 @@ function _malloc($0) { $107 = ((($92)) + 12|0); HEAP32[$107>>2] = $95; } - HEAP32[(19244)>>2] = $84; - HEAP32[(19256)>>2] = $87; + HEAP32[(19556)>>2] = $84; + HEAP32[(19568)>>2] = $87; $$0 = $72; STACKTOP = sp;return ($$0|0); } - $108 = HEAP32[(19240)>>2]|0; + $108 = HEAP32[(19552)>>2]|0; $109 = ($108|0)==(0); if ($109) { $$0197 = $6; @@ -32984,7 +32947,7 @@ function _malloc($0) { $130 = $126 | $129; $131 = $127 >>> $129; $132 = (($130) + ($131))|0; - $133 = (19540 + ($132<<2)|0); + $133 = (19852 + ($132<<2)|0); $134 = HEAP32[$133>>2]|0; $135 = ((($134)) + 4|0); $136 = HEAP32[$135>>2]|0; @@ -33024,7 +32987,7 @@ function _malloc($0) { } } } - $155 = HEAP32[(19252)>>2]|0; + $155 = HEAP32[(19564)>>2]|0; $156 = ($$0192$lcssa$i>>>0)<($155>>>0); if ($156) { _abort(); @@ -33119,7 +33082,7 @@ function _malloc($0) { if (!($186)) { $187 = ((($$0192$lcssa$i)) + 28|0); $188 = HEAP32[$187>>2]|0; - $189 = (19540 + ($188<<2)|0); + $189 = (19852 + ($188<<2)|0); $190 = HEAP32[$189>>2]|0; $191 = ($$0192$lcssa$i|0)==($190|0); do { @@ -33130,11 +33093,11 @@ function _malloc($0) { $192 = 1 << $188; $193 = $192 ^ -1; $194 = $108 & $193; - HEAP32[(19240)>>2] = $194; + HEAP32[(19552)>>2] = $194; break L73; } } else { - $195 = HEAP32[(19252)>>2]|0; + $195 = HEAP32[(19564)>>2]|0; $196 = ($160>>>0)<($195>>>0); if ($196) { _abort(); @@ -33155,7 +33118,7 @@ function _malloc($0) { } } } while(0); - $201 = HEAP32[(19252)>>2]|0; + $201 = HEAP32[(19564)>>2]|0; $202 = ($$3$i>>>0)<($201>>>0); if ($202) { _abort(); @@ -33185,7 +33148,7 @@ function _malloc($0) { $211 = HEAP32[$210>>2]|0; $212 = ($211|0)==(0|0); if (!($212)) { - $213 = HEAP32[(19252)>>2]|0; + $213 = HEAP32[(19564)>>2]|0; $214 = ($211>>>0)<($213>>>0); if ($214) { _abort(); @@ -33222,22 +33185,22 @@ function _malloc($0) { HEAP32[$229>>2] = $$0193$lcssa$i; $230 = ($37|0)==(0); if (!($230)) { - $231 = HEAP32[(19256)>>2]|0; + $231 = HEAP32[(19568)>>2]|0; $232 = $37 >>> 3; $233 = $232 << 1; - $234 = (19276 + ($233<<2)|0); + $234 = (19588 + ($233<<2)|0); $235 = 1 << $232; $236 = $8 & $235; $237 = ($236|0)==(0); if ($237) { $238 = $8 | $235; - HEAP32[4809] = $238; + HEAP32[4887] = $238; $$pre$i = ((($234)) + 8|0); $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i; } else { $239 = ((($234)) + 8|0); $240 = HEAP32[$239>>2]|0; - $241 = HEAP32[(19252)>>2]|0; + $241 = HEAP32[(19564)>>2]|0; $242 = ($240>>>0)<($241>>>0); if ($242) { _abort(); @@ -33254,8 +33217,8 @@ function _malloc($0) { $245 = ((($231)) + 12|0); HEAP32[$245>>2] = $234; } - HEAP32[(19244)>>2] = $$0193$lcssa$i; - HEAP32[(19256)>>2] = $157; + HEAP32[(19556)>>2] = $$0193$lcssa$i; + HEAP32[(19568)>>2] = $157; } $246 = ((($$0192$lcssa$i)) + 8|0); $$0 = $246; @@ -33271,7 +33234,7 @@ function _malloc($0) { } else { $248 = (($0) + 11)|0; $249 = $248 & -8; - $250 = HEAP32[(19240)>>2]|0; + $250 = HEAP32[(19552)>>2]|0; $251 = ($250|0)==(0); if ($251) { $$0197 = $249; @@ -33311,7 +33274,7 @@ function _malloc($0) { $$0358$i = $277; } } - $278 = (19540 + ($$0358$i<<2)|0); + $278 = (19852 + ($$0358$i<<2)|0); $279 = HEAP32[$278>>2]|0; $280 = ($279|0)==(0|0); L117: do { @@ -33403,7 +33366,7 @@ function _malloc($0) { $328 = $324 | $327; $329 = $325 >>> $327; $330 = (($328) + ($329))|0; - $331 = (19540 + ($330<<2)|0); + $331 = (19852 + ($330<<2)|0); $332 = HEAP32[$331>>2]|0; $$4$ph$i = 0;$$4357$ph$i = $332; } else { @@ -33447,11 +33410,11 @@ function _malloc($0) { if ($344) { $$0197 = $249; } else { - $345 = HEAP32[(19244)>>2]|0; + $345 = HEAP32[(19556)>>2]|0; $346 = (($345) - ($249))|0; $347 = ($$4351$lcssa$i>>>0)<($346>>>0); if ($347) { - $348 = HEAP32[(19252)>>2]|0; + $348 = HEAP32[(19564)>>2]|0; $349 = ($$4$lcssa$i>>>0)<($348>>>0); if ($349) { _abort(); @@ -33548,7 +33511,7 @@ function _malloc($0) { } else { $380 = ((($$4$lcssa$i)) + 28|0); $381 = HEAP32[$380>>2]|0; - $382 = (19540 + ($381<<2)|0); + $382 = (19852 + ($381<<2)|0); $383 = HEAP32[$382>>2]|0; $384 = ($$4$lcssa$i|0)==($383|0); do { @@ -33559,12 +33522,12 @@ function _malloc($0) { $385 = 1 << $381; $386 = $385 ^ -1; $387 = $250 & $386; - HEAP32[(19240)>>2] = $387; + HEAP32[(19552)>>2] = $387; $470 = $387; break L164; } } else { - $388 = HEAP32[(19252)>>2]|0; + $388 = HEAP32[(19564)>>2]|0; $389 = ($353>>>0)<($388>>>0); if ($389) { _abort(); @@ -33586,7 +33549,7 @@ function _malloc($0) { } } } while(0); - $394 = HEAP32[(19252)>>2]|0; + $394 = HEAP32[(19564)>>2]|0; $395 = ($$3372$i>>>0)<($394>>>0); if ($395) { _abort(); @@ -33618,7 +33581,7 @@ function _malloc($0) { if ($405) { $470 = $250; } else { - $406 = HEAP32[(19252)>>2]|0; + $406 = HEAP32[(19564)>>2]|0; $407 = ($404>>>0)<($406>>>0); if ($407) { _abort(); @@ -33659,20 +33622,20 @@ function _malloc($0) { $424 = ($$4351$lcssa$i>>>0)<(256); if ($424) { $425 = $423 << 1; - $426 = (19276 + ($425<<2)|0); - $427 = HEAP32[4809]|0; + $426 = (19588 + ($425<<2)|0); + $427 = HEAP32[4887]|0; $428 = 1 << $423; $429 = $427 & $428; $430 = ($429|0)==(0); if ($430) { $431 = $427 | $428; - HEAP32[4809] = $431; + HEAP32[4887] = $431; $$pre$i210 = ((($426)) + 8|0); $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210; } else { $432 = ((($426)) + 8|0); $433 = HEAP32[$432>>2]|0; - $434 = HEAP32[(19252)>>2]|0; + $434 = HEAP32[(19564)>>2]|0; $435 = ($433>>>0)<($434>>>0); if ($435) { _abort(); @@ -33724,7 +33687,7 @@ function _malloc($0) { $$0361$i = $463; } } - $464 = (19540 + ($$0361$i<<2)|0); + $464 = (19852 + ($$0361$i<<2)|0); $465 = ((($350)) + 28|0); HEAP32[$465>>2] = $$0361$i; $466 = ((($350)) + 16|0); @@ -33736,7 +33699,7 @@ function _malloc($0) { $471 = ($469|0)==(0); if ($471) { $472 = $470 | $468; - HEAP32[(19240)>>2] = $472; + HEAP32[(19552)>>2] = $472; HEAP32[$464>>2] = $350; $473 = ((($350)) + 24|0); HEAP32[$473>>2] = $464; @@ -33775,7 +33738,7 @@ function _malloc($0) { } } if ((label|0) == 136) { - $491 = HEAP32[(19252)>>2]|0; + $491 = HEAP32[(19564)>>2]|0; $492 = ($487>>>0)<($491>>>0); if ($492) { _abort(); @@ -33794,7 +33757,7 @@ function _malloc($0) { else if ((label|0) == 139) { $496 = ((($$0345$i)) + 8|0); $497 = HEAP32[$496>>2]|0; - $498 = HEAP32[(19252)>>2]|0; + $498 = HEAP32[(19564)>>2]|0; $499 = ($497>>>0)>=($498>>>0); $not$9$i = ($$0345$i>>>0)>=($498>>>0); $500 = $499 & $not$9$i; @@ -33827,16 +33790,16 @@ function _malloc($0) { } } } while(0); - $506 = HEAP32[(19244)>>2]|0; + $506 = HEAP32[(19556)>>2]|0; $507 = ($506>>>0)<($$0197>>>0); if (!($507)) { $508 = (($506) - ($$0197))|0; - $509 = HEAP32[(19256)>>2]|0; + $509 = HEAP32[(19568)>>2]|0; $510 = ($508>>>0)>(15); if ($510) { $511 = (($509) + ($$0197)|0); - HEAP32[(19256)>>2] = $511; - HEAP32[(19244)>>2] = $508; + HEAP32[(19568)>>2] = $511; + HEAP32[(19556)>>2] = $508; $512 = $508 | 1; $513 = ((($511)) + 4|0); HEAP32[$513>>2] = $512; @@ -33846,8 +33809,8 @@ function _malloc($0) { $516 = ((($509)) + 4|0); HEAP32[$516>>2] = $515; } else { - HEAP32[(19244)>>2] = 0; - HEAP32[(19256)>>2] = 0; + HEAP32[(19556)>>2] = 0; + HEAP32[(19568)>>2] = 0; $517 = $506 | 3; $518 = ((($509)) + 4|0); HEAP32[$518>>2] = $517; @@ -33861,14 +33824,14 @@ function _malloc($0) { $$0 = $523; STACKTOP = sp;return ($$0|0); } - $524 = HEAP32[(19248)>>2]|0; + $524 = HEAP32[(19560)>>2]|0; $525 = ($524>>>0)>($$0197>>>0); if ($525) { $526 = (($524) - ($$0197))|0; - HEAP32[(19248)>>2] = $526; - $527 = HEAP32[(19260)>>2]|0; + HEAP32[(19560)>>2] = $526; + $527 = HEAP32[(19572)>>2]|0; $528 = (($527) + ($$0197)|0); - HEAP32[(19260)>>2] = $528; + HEAP32[(19572)>>2] = $528; $529 = $526 | 1; $530 = ((($528)) + 4|0); HEAP32[$530>>2] = $529; @@ -33879,23 +33842,23 @@ function _malloc($0) { $$0 = $533; STACKTOP = sp;return ($$0|0); } - $534 = HEAP32[4927]|0; + $534 = HEAP32[5005]|0; $535 = ($534|0)==(0); if ($535) { - HEAP32[(19716)>>2] = 4096; - HEAP32[(19712)>>2] = 4096; - HEAP32[(19720)>>2] = -1; - HEAP32[(19724)>>2] = -1; - HEAP32[(19728)>>2] = 0; - HEAP32[(19680)>>2] = 0; + HEAP32[(20028)>>2] = 4096; + HEAP32[(20024)>>2] = 4096; + HEAP32[(20032)>>2] = -1; + HEAP32[(20036)>>2] = -1; + HEAP32[(20040)>>2] = 0; + HEAP32[(19992)>>2] = 0; $536 = $1; $537 = $536 & -16; $538 = $537 ^ 1431655768; HEAP32[$1>>2] = $538; - HEAP32[4927] = $538; + HEAP32[5005] = $538; $542 = 4096; } else { - $$pre$i212 = HEAP32[(19716)>>2]|0; + $$pre$i212 = HEAP32[(20028)>>2]|0; $542 = $$pre$i212; } $539 = (($$0197) + 48)|0; @@ -33908,10 +33871,10 @@ function _malloc($0) { $$0 = 0; STACKTOP = sp;return ($$0|0); } - $546 = HEAP32[(19676)>>2]|0; + $546 = HEAP32[(19988)>>2]|0; $547 = ($546|0)==(0); if (!($547)) { - $548 = HEAP32[(19668)>>2]|0; + $548 = HEAP32[(19980)>>2]|0; $549 = (($548) + ($544))|0; $550 = ($549>>>0)<=($548>>>0); $551 = ($549>>>0)>($546>>>0); @@ -33921,18 +33884,18 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $552 = HEAP32[(19680)>>2]|0; + $552 = HEAP32[(19992)>>2]|0; $553 = $552 & 4; $554 = ($553|0)==(0); L244: do { if ($554) { - $555 = HEAP32[(19260)>>2]|0; + $555 = HEAP32[(19572)>>2]|0; $556 = ($555|0)==(0|0); L246: do { if ($556) { label = 163; } else { - $$0$i$i = (19684); + $$0$i$i = (19996); while(1) { $557 = HEAP32[$$0$i$i>>2]|0; $558 = ($557>>>0)>($555>>>0); @@ -33990,7 +33953,7 @@ function _malloc($0) { $$2234253237$i = 0; } else { $568 = $566; - $569 = HEAP32[(19712)>>2]|0; + $569 = HEAP32[(20024)>>2]|0; $570 = (($569) + -1)|0; $571 = $570 & $568; $572 = ($571|0)==(0); @@ -34000,13 +33963,13 @@ function _malloc($0) { $576 = (($575) - ($568))|0; $577 = $572 ? 0 : $576; $$$i = (($577) + ($544))|0; - $578 = HEAP32[(19668)>>2]|0; + $578 = HEAP32[(19980)>>2]|0; $579 = (($$$i) + ($578))|0; $580 = ($$$i>>>0)>($$0197>>>0); $581 = ($$$i>>>0)<(2147483647); $or$cond$i214 = $580 & $581; if ($or$cond$i214) { - $582 = HEAP32[(19676)>>2]|0; + $582 = HEAP32[(19988)>>2]|0; $583 = ($582|0)==(0); if (!($583)) { $584 = ($579>>>0)<=($578>>>0); @@ -34052,7 +34015,7 @@ function _malloc($0) { break L244; } } - $601 = HEAP32[(19716)>>2]|0; + $601 = HEAP32[(20028)>>2]|0; $602 = (($540) - ($$2253$ph$i))|0; $603 = (($602) + ($601))|0; $604 = (0 - ($601))|0; @@ -34077,9 +34040,9 @@ function _malloc($0) { } } } while(0); - $611 = HEAP32[(19680)>>2]|0; + $611 = HEAP32[(19992)>>2]|0; $612 = $611 | 4; - HEAP32[(19680)>>2] = $612; + HEAP32[(19992)>>2] = $612; $$4236$i = $$2234253237$i; label = 178; } else { @@ -34115,35 +34078,35 @@ function _malloc($0) { } } if ((label|0) == 180) { - $626 = HEAP32[(19668)>>2]|0; + $626 = HEAP32[(19980)>>2]|0; $627 = (($626) + ($$723948$i))|0; - HEAP32[(19668)>>2] = $627; - $628 = HEAP32[(19672)>>2]|0; + HEAP32[(19980)>>2] = $627; + $628 = HEAP32[(19984)>>2]|0; $629 = ($627>>>0)>($628>>>0); if ($629) { - HEAP32[(19672)>>2] = $627; + HEAP32[(19984)>>2] = $627; } - $630 = HEAP32[(19260)>>2]|0; + $630 = HEAP32[(19572)>>2]|0; $631 = ($630|0)==(0|0); do { if ($631) { - $632 = HEAP32[(19252)>>2]|0; + $632 = HEAP32[(19564)>>2]|0; $633 = ($632|0)==(0|0); $634 = ($$749$i>>>0)<($632>>>0); $or$cond12$i = $633 | $634; if ($or$cond12$i) { - HEAP32[(19252)>>2] = $$749$i; - } - HEAP32[(19684)>>2] = $$749$i; - HEAP32[(19688)>>2] = $$723948$i; - HEAP32[(19696)>>2] = 0; - $635 = HEAP32[4927]|0; - HEAP32[(19272)>>2] = $635; - HEAP32[(19268)>>2] = -1; + HEAP32[(19564)>>2] = $$749$i; + } + HEAP32[(19996)>>2] = $$749$i; + HEAP32[(20000)>>2] = $$723948$i; + HEAP32[(20008)>>2] = 0; + $635 = HEAP32[5005]|0; + HEAP32[(19584)>>2] = $635; + HEAP32[(19580)>>2] = -1; $$01$i$i = 0; while(1) { $636 = $$01$i$i << 1; - $637 = (19276 + ($636<<2)|0); + $637 = (19588 + ($636<<2)|0); $638 = ((($637)) + 12|0); HEAP32[$638>>2] = $637; $639 = ((($637)) + 8|0); @@ -34166,18 +34129,18 @@ function _malloc($0) { $648 = $645 ? 0 : $647; $649 = (($$749$i) + ($648)|0); $650 = (($641) - ($648))|0; - HEAP32[(19260)>>2] = $649; - HEAP32[(19248)>>2] = $650; + HEAP32[(19572)>>2] = $649; + HEAP32[(19560)>>2] = $650; $651 = $650 | 1; $652 = ((($649)) + 4|0); HEAP32[$652>>2] = $651; $653 = (($649) + ($650)|0); $654 = ((($653)) + 4|0); HEAP32[$654>>2] = 40; - $655 = HEAP32[(19724)>>2]|0; - HEAP32[(19264)>>2] = $655; + $655 = HEAP32[(20036)>>2]|0; + HEAP32[(19576)>>2] = $655; } else { - $$024371$i = (19684); + $$024371$i = (19996); while(1) { $656 = HEAP32[$$024371$i>>2]|0; $657 = ((($$024371$i)) + 4|0); @@ -34209,7 +34172,7 @@ function _malloc($0) { if ($or$cond51$i) { $670 = (($658) + ($$723948$i))|0; HEAP32[$657>>2] = $670; - $671 = HEAP32[(19248)>>2]|0; + $671 = HEAP32[(19560)>>2]|0; $672 = ((($630)) + 8|0); $673 = $672; $674 = $673 & 7; @@ -34220,30 +34183,30 @@ function _malloc($0) { $679 = (($630) + ($678)|0); $680 = (($$723948$i) - ($678))|0; $681 = (($671) + ($680))|0; - HEAP32[(19260)>>2] = $679; - HEAP32[(19248)>>2] = $681; + HEAP32[(19572)>>2] = $679; + HEAP32[(19560)>>2] = $681; $682 = $681 | 1; $683 = ((($679)) + 4|0); HEAP32[$683>>2] = $682; $684 = (($679) + ($681)|0); $685 = ((($684)) + 4|0); HEAP32[$685>>2] = 40; - $686 = HEAP32[(19724)>>2]|0; - HEAP32[(19264)>>2] = $686; + $686 = HEAP32[(20036)>>2]|0; + HEAP32[(19576)>>2] = $686; break; } } } - $687 = HEAP32[(19252)>>2]|0; + $687 = HEAP32[(19564)>>2]|0; $688 = ($$749$i>>>0)<($687>>>0); if ($688) { - HEAP32[(19252)>>2] = $$749$i; + HEAP32[(19564)>>2] = $$749$i; $752 = $$749$i; } else { $752 = $687; } $689 = (($$749$i) + ($$723948$i)|0); - $$124470$i = (19684); + $$124470$i = (19996); while(1) { $690 = HEAP32[$$124470$i>>2]|0; $691 = ($690|0)==($689|0); @@ -34298,21 +34261,21 @@ function _malloc($0) { $725 = ($717|0)==($630|0); do { if ($725) { - $726 = HEAP32[(19248)>>2]|0; + $726 = HEAP32[(19560)>>2]|0; $727 = (($726) + ($722))|0; - HEAP32[(19248)>>2] = $727; - HEAP32[(19260)>>2] = $721; + HEAP32[(19560)>>2] = $727; + HEAP32[(19572)>>2] = $721; $728 = $727 | 1; $729 = ((($721)) + 4|0); HEAP32[$729>>2] = $728; } else { - $730 = HEAP32[(19256)>>2]|0; + $730 = HEAP32[(19568)>>2]|0; $731 = ($717|0)==($730|0); if ($731) { - $732 = HEAP32[(19244)>>2]|0; + $732 = HEAP32[(19556)>>2]|0; $733 = (($732) + ($722))|0; - HEAP32[(19244)>>2] = $733; - HEAP32[(19256)>>2] = $721; + HEAP32[(19556)>>2] = $733; + HEAP32[(19568)>>2] = $721; $734 = $733 | 1; $735 = ((($721)) + 4|0); HEAP32[$735>>2] = $734; @@ -34335,7 +34298,7 @@ function _malloc($0) { $746 = ((($717)) + 12|0); $747 = HEAP32[$746>>2]|0; $748 = $742 << 1; - $749 = (19276 + ($748<<2)|0); + $749 = (19588 + ($748<<2)|0); $750 = ($745|0)==($749|0); do { if (!($750)) { @@ -34358,9 +34321,9 @@ function _malloc($0) { if ($756) { $757 = 1 << $742; $758 = $757 ^ -1; - $759 = HEAP32[4809]|0; + $759 = HEAP32[4887]|0; $760 = $759 & $758; - HEAP32[4809] = $760; + HEAP32[4887] = $760; break; } $761 = ($747|0)==($749|0); @@ -34473,7 +34436,7 @@ function _malloc($0) { } $795 = ((($717)) + 28|0); $796 = HEAP32[$795>>2]|0; - $797 = (19540 + ($796<<2)|0); + $797 = (19852 + ($796<<2)|0); $798 = HEAP32[$797>>2]|0; $799 = ($717|0)==($798|0); do { @@ -34485,12 +34448,12 @@ function _malloc($0) { } $800 = 1 << $796; $801 = $800 ^ -1; - $802 = HEAP32[(19240)>>2]|0; + $802 = HEAP32[(19552)>>2]|0; $803 = $802 & $801; - HEAP32[(19240)>>2] = $803; + HEAP32[(19552)>>2] = $803; break L314; } else { - $804 = HEAP32[(19252)>>2]|0; + $804 = HEAP32[(19564)>>2]|0; $805 = ($768>>>0)<($804>>>0); if ($805) { _abort(); @@ -34511,7 +34474,7 @@ function _malloc($0) { } } } while(0); - $810 = HEAP32[(19252)>>2]|0; + $810 = HEAP32[(19564)>>2]|0; $811 = ($$3$i$i>>>0)<($810>>>0); if ($811) { _abort(); @@ -34543,7 +34506,7 @@ function _malloc($0) { if ($821) { break; } - $822 = HEAP32[(19252)>>2]|0; + $822 = HEAP32[(19564)>>2]|0; $823 = ($820>>>0)<($822>>>0); if ($823) { _abort(); @@ -34576,21 +34539,21 @@ function _malloc($0) { $835 = ($$0287$i$i>>>0)<(256); if ($835) { $836 = $834 << 1; - $837 = (19276 + ($836<<2)|0); - $838 = HEAP32[4809]|0; + $837 = (19588 + ($836<<2)|0); + $838 = HEAP32[4887]|0; $839 = 1 << $834; $840 = $838 & $839; $841 = ($840|0)==(0); do { if ($841) { $842 = $838 | $839; - HEAP32[4809] = $842; + HEAP32[4887] = $842; $$pre$i19$i = ((($837)) + 8|0); $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i; } else { $843 = ((($837)) + 8|0); $844 = HEAP32[$843>>2]|0; - $845 = HEAP32[(19252)>>2]|0; + $845 = HEAP32[(19564)>>2]|0; $846 = ($844>>>0)<($845>>>0); if (!($846)) { $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843; @@ -34645,20 +34608,20 @@ function _malloc($0) { $$0296$i$i = $874; } } while(0); - $875 = (19540 + ($$0296$i$i<<2)|0); + $875 = (19852 + ($$0296$i$i<<2)|0); $876 = ((($721)) + 28|0); HEAP32[$876>>2] = $$0296$i$i; $877 = ((($721)) + 16|0); $878 = ((($877)) + 4|0); HEAP32[$878>>2] = 0; HEAP32[$877>>2] = 0; - $879 = HEAP32[(19240)>>2]|0; + $879 = HEAP32[(19552)>>2]|0; $880 = 1 << $$0296$i$i; $881 = $879 & $880; $882 = ($881|0)==(0); if ($882) { $883 = $879 | $880; - HEAP32[(19240)>>2] = $883; + HEAP32[(19552)>>2] = $883; HEAP32[$875>>2] = $721; $884 = ((($721)) + 24|0); HEAP32[$884>>2] = $875; @@ -34697,7 +34660,7 @@ function _malloc($0) { } } if ((label|0) == 262) { - $902 = HEAP32[(19252)>>2]|0; + $902 = HEAP32[(19564)>>2]|0; $903 = ($898>>>0)<($902>>>0); if ($903) { _abort(); @@ -34716,7 +34679,7 @@ function _malloc($0) { else if ((label|0) == 265) { $907 = ((($$0289$i$i)) + 8|0); $908 = HEAP32[$907>>2]|0; - $909 = HEAP32[(19252)>>2]|0; + $909 = HEAP32[(19564)>>2]|0; $910 = ($908>>>0)>=($909>>>0); $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0); $911 = $910 & $not$7$i$i; @@ -34743,7 +34706,7 @@ function _malloc($0) { STACKTOP = sp;return ($$0|0); } } - $$0$i$i$i = (19684); + $$0$i$i$i = (19996); while(1) { $916 = HEAP32[$$0$i$i$i>>2]|0; $917 = ($916>>>0)>($630>>>0); @@ -34784,23 +34747,23 @@ function _malloc($0) { $945 = $942 ? 0 : $944; $946 = (($$749$i) + ($945)|0); $947 = (($938) - ($945))|0; - HEAP32[(19260)>>2] = $946; - HEAP32[(19248)>>2] = $947; + HEAP32[(19572)>>2] = $946; + HEAP32[(19560)>>2] = $947; $948 = $947 | 1; $949 = ((($946)) + 4|0); HEAP32[$949>>2] = $948; $950 = (($946) + ($947)|0); $951 = ((($950)) + 4|0); HEAP32[$951>>2] = 40; - $952 = HEAP32[(19724)>>2]|0; - HEAP32[(19264)>>2] = $952; + $952 = HEAP32[(20036)>>2]|0; + HEAP32[(19576)>>2] = $952; $953 = ((($935)) + 4|0); HEAP32[$953>>2] = 27; - ;HEAP32[$936>>2]=HEAP32[(19684)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19684)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19684)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19684)+12>>2]|0; - HEAP32[(19684)>>2] = $$749$i; - HEAP32[(19688)>>2] = $$723948$i; - HEAP32[(19696)>>2] = 0; - HEAP32[(19692)>>2] = $936; + ;HEAP32[$936>>2]=HEAP32[(19996)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(19996)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(19996)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(19996)+12>>2]|0; + HEAP32[(19996)>>2] = $$749$i; + HEAP32[(20000)>>2] = $$723948$i; + HEAP32[(20008)>>2] = 0; + HEAP32[(20004)>>2] = $936; $955 = $937; while(1) { $954 = ((($955)) + 4|0); @@ -34829,20 +34792,20 @@ function _malloc($0) { $967 = ($961>>>0)<(256); if ($967) { $968 = $966 << 1; - $969 = (19276 + ($968<<2)|0); - $970 = HEAP32[4809]|0; + $969 = (19588 + ($968<<2)|0); + $970 = HEAP32[4887]|0; $971 = 1 << $966; $972 = $970 & $971; $973 = ($972|0)==(0); if ($973) { $974 = $970 | $971; - HEAP32[4809] = $974; + HEAP32[4887] = $974; $$pre$i$i = ((($969)) + 8|0); $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i; } else { $975 = ((($969)) + 8|0); $976 = HEAP32[$975>>2]|0; - $977 = HEAP32[(19252)>>2]|0; + $977 = HEAP32[(19564)>>2]|0; $978 = ($976>>>0)<($977>>>0); if ($978) { _abort(); @@ -34894,19 +34857,19 @@ function _malloc($0) { $$0212$i$i = $1006; } } - $1007 = (19540 + ($$0212$i$i<<2)|0); + $1007 = (19852 + ($$0212$i$i<<2)|0); $1008 = ((($630)) + 28|0); HEAP32[$1008>>2] = $$0212$i$i; $1009 = ((($630)) + 20|0); HEAP32[$1009>>2] = 0; HEAP32[$933>>2] = 0; - $1010 = HEAP32[(19240)>>2]|0; + $1010 = HEAP32[(19552)>>2]|0; $1011 = 1 << $$0212$i$i; $1012 = $1010 & $1011; $1013 = ($1012|0)==(0); if ($1013) { $1014 = $1010 | $1011; - HEAP32[(19240)>>2] = $1014; + HEAP32[(19552)>>2] = $1014; HEAP32[$1007>>2] = $630; $1015 = ((($630)) + 24|0); HEAP32[$1015>>2] = $1007; @@ -34945,7 +34908,7 @@ function _malloc($0) { } } if ((label|0) == 289) { - $1033 = HEAP32[(19252)>>2]|0; + $1033 = HEAP32[(19564)>>2]|0; $1034 = ($1029>>>0)<($1033>>>0); if ($1034) { _abort(); @@ -34964,7 +34927,7 @@ function _malloc($0) { else if ((label|0) == 292) { $1038 = ((($$0207$i$i)) + 8|0); $1039 = HEAP32[$1038>>2]|0; - $1040 = HEAP32[(19252)>>2]|0; + $1040 = HEAP32[(19564)>>2]|0; $1041 = ($1039>>>0)>=($1040>>>0); $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0); $1042 = $1041 & $not$$i$i; @@ -34987,14 +34950,14 @@ function _malloc($0) { } } } while(0); - $1048 = HEAP32[(19248)>>2]|0; + $1048 = HEAP32[(19560)>>2]|0; $1049 = ($1048>>>0)>($$0197>>>0); if ($1049) { $1050 = (($1048) - ($$0197))|0; - HEAP32[(19248)>>2] = $1050; - $1051 = HEAP32[(19260)>>2]|0; + HEAP32[(19560)>>2] = $1050; + $1051 = HEAP32[(19572)>>2]|0; $1052 = (($1051) + ($$0197)|0); - HEAP32[(19260)>>2] = $1052; + HEAP32[(19572)>>2] = $1052; $1053 = $1050 | 1; $1054 = ((($1052)) + 4|0); HEAP32[$1054>>2] = $1053; @@ -35037,7 +35000,7 @@ function _free($0) { return; } $2 = ((($0)) + -8|0); - $3 = HEAP32[(19252)>>2]|0; + $3 = HEAP32[(19564)>>2]|0; $4 = ($2>>>0)<($3>>>0); if ($4) { _abort(); @@ -35070,7 +35033,7 @@ function _free($0) { _abort(); // unreachable; } - $19 = HEAP32[(19256)>>2]|0; + $19 = HEAP32[(19568)>>2]|0; $20 = ($16|0)==($19|0); if ($20) { $104 = ((($10)) + 4|0); @@ -35085,7 +35048,7 @@ function _free($0) { $109 = ((($16)) + 4|0); $110 = $17 | 1; $111 = $105 & -2; - HEAP32[(19244)>>2] = $17; + HEAP32[(19556)>>2] = $17; HEAP32[$104>>2] = $111; HEAP32[$109>>2] = $110; HEAP32[$108>>2] = $17; @@ -35099,7 +35062,7 @@ function _free($0) { $25 = ((($16)) + 12|0); $26 = HEAP32[$25>>2]|0; $27 = $21 << 1; - $28 = (19276 + ($27<<2)|0); + $28 = (19588 + ($27<<2)|0); $29 = ($24|0)==($28|0); if (!($29)) { $30 = ($24>>>0)<($3>>>0); @@ -35119,9 +35082,9 @@ function _free($0) { if ($34) { $35 = 1 << $21; $36 = $35 ^ -1; - $37 = HEAP32[4809]|0; + $37 = HEAP32[4887]|0; $38 = $37 & $36; - HEAP32[4809] = $38; + HEAP32[4887] = $38; $$1 = $16;$$1382 = $17;$113 = $16; break; } @@ -35235,7 +35198,7 @@ function _free($0) { } else { $73 = ((($16)) + 28|0); $74 = HEAP32[$73>>2]|0; - $75 = (19540 + ($74<<2)|0); + $75 = (19852 + ($74<<2)|0); $76 = HEAP32[$75>>2]|0; $77 = ($16|0)==($76|0); do { @@ -35245,14 +35208,14 @@ function _free($0) { if ($cond421) { $78 = 1 << $74; $79 = $78 ^ -1; - $80 = HEAP32[(19240)>>2]|0; + $80 = HEAP32[(19552)>>2]|0; $81 = $80 & $79; - HEAP32[(19240)>>2] = $81; + HEAP32[(19552)>>2] = $81; $$1 = $16;$$1382 = $17;$113 = $16; break L10; } } else { - $82 = HEAP32[(19252)>>2]|0; + $82 = HEAP32[(19564)>>2]|0; $83 = ($46>>>0)<($82>>>0); if ($83) { _abort(); @@ -35274,7 +35237,7 @@ function _free($0) { } } } while(0); - $88 = HEAP32[(19252)>>2]|0; + $88 = HEAP32[(19564)>>2]|0; $89 = ($$3>>>0)<($88>>>0); if ($89) { _abort(); @@ -35306,7 +35269,7 @@ function _free($0) { if ($99) { $$1 = $16;$$1382 = $17;$113 = $16; } else { - $100 = HEAP32[(19252)>>2]|0; + $100 = HEAP32[(19564)>>2]|0; $101 = ($98>>>0)<($100>>>0); if ($101) { _abort(); @@ -35341,14 +35304,14 @@ function _free($0) { $118 = $115 & 2; $119 = ($118|0)==(0); if ($119) { - $120 = HEAP32[(19260)>>2]|0; + $120 = HEAP32[(19572)>>2]|0; $121 = ($10|0)==($120|0); - $122 = HEAP32[(19256)>>2]|0; + $122 = HEAP32[(19568)>>2]|0; if ($121) { - $123 = HEAP32[(19248)>>2]|0; + $123 = HEAP32[(19560)>>2]|0; $124 = (($123) + ($$1382))|0; - HEAP32[(19248)>>2] = $124; - HEAP32[(19260)>>2] = $$1; + HEAP32[(19560)>>2] = $124; + HEAP32[(19572)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -35356,16 +35319,16 @@ function _free($0) { if (!($127)) { return; } - HEAP32[(19256)>>2] = 0; - HEAP32[(19244)>>2] = 0; + HEAP32[(19568)>>2] = 0; + HEAP32[(19556)>>2] = 0; return; } $128 = ($10|0)==($122|0); if ($128) { - $129 = HEAP32[(19244)>>2]|0; + $129 = HEAP32[(19556)>>2]|0; $130 = (($129) + ($$1382))|0; - HEAP32[(19244)>>2] = $130; - HEAP32[(19256)>>2] = $113; + HEAP32[(19556)>>2] = $130; + HEAP32[(19568)>>2] = $113; $131 = $130 | 1; $132 = ((($$1)) + 4|0); HEAP32[$132>>2] = $131; @@ -35384,10 +35347,10 @@ function _free($0) { $140 = ((($10)) + 12|0); $141 = HEAP32[$140>>2]|0; $142 = $136 << 1; - $143 = (19276 + ($142<<2)|0); + $143 = (19588 + ($142<<2)|0); $144 = ($139|0)==($143|0); if (!($144)) { - $145 = HEAP32[(19252)>>2]|0; + $145 = HEAP32[(19564)>>2]|0; $146 = ($139>>>0)<($145>>>0); if ($146) { _abort(); @@ -35405,9 +35368,9 @@ function _free($0) { if ($150) { $151 = 1 << $136; $152 = $151 ^ -1; - $153 = HEAP32[4809]|0; + $153 = HEAP32[4887]|0; $154 = $153 & $152; - HEAP32[4809] = $154; + HEAP32[4887] = $154; break; } $155 = ($141|0)==($143|0); @@ -35415,7 +35378,7 @@ function _free($0) { $$pre442 = ((($141)) + 8|0); $$pre$phi443Z2D = $$pre442; } else { - $156 = HEAP32[(19252)>>2]|0; + $156 = HEAP32[(19564)>>2]|0; $157 = ($141>>>0)<($156>>>0); if ($157) { _abort(); @@ -35475,7 +35438,7 @@ function _free($0) { $$1398 = $187;$$1402 = $186; } } - $189 = HEAP32[(19252)>>2]|0; + $189 = HEAP32[(19564)>>2]|0; $190 = ($$1402>>>0)<($189>>>0); if ($190) { _abort(); @@ -35488,7 +35451,7 @@ function _free($0) { } else { $167 = ((($10)) + 8|0); $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(19252)>>2]|0; + $169 = HEAP32[(19564)>>2]|0; $170 = ($168>>>0)<($169>>>0); if ($170) { _abort(); @@ -35519,7 +35482,7 @@ function _free($0) { if (!($191)) { $192 = ((($10)) + 28|0); $193 = HEAP32[$192>>2]|0; - $194 = (19540 + ($193<<2)|0); + $194 = (19852 + ($193<<2)|0); $195 = HEAP32[$194>>2]|0; $196 = ($10|0)==($195|0); do { @@ -35529,13 +35492,13 @@ function _free($0) { if ($cond422) { $197 = 1 << $193; $198 = $197 ^ -1; - $199 = HEAP32[(19240)>>2]|0; + $199 = HEAP32[(19552)>>2]|0; $200 = $199 & $198; - HEAP32[(19240)>>2] = $200; + HEAP32[(19552)>>2] = $200; break L108; } } else { - $201 = HEAP32[(19252)>>2]|0; + $201 = HEAP32[(19564)>>2]|0; $202 = ($163>>>0)<($201>>>0); if ($202) { _abort(); @@ -35556,7 +35519,7 @@ function _free($0) { } } } while(0); - $207 = HEAP32[(19252)>>2]|0; + $207 = HEAP32[(19564)>>2]|0; $208 = ($$3400>>>0)<($207>>>0); if ($208) { _abort(); @@ -35586,7 +35549,7 @@ function _free($0) { $217 = HEAP32[$216>>2]|0; $218 = ($217|0)==(0|0); if (!($218)) { - $219 = HEAP32[(19252)>>2]|0; + $219 = HEAP32[(19564)>>2]|0; $220 = ($217>>>0)<($219>>>0); if ($220) { _abort(); @@ -35607,10 +35570,10 @@ function _free($0) { HEAP32[$224>>2] = $223; $225 = (($113) + ($135)|0); HEAP32[$225>>2] = $135; - $226 = HEAP32[(19256)>>2]|0; + $226 = HEAP32[(19568)>>2]|0; $227 = ($$1|0)==($226|0); if ($227) { - HEAP32[(19244)>>2] = $135; + HEAP32[(19556)>>2] = $135; return; } else { $$2 = $135; @@ -35629,20 +35592,20 @@ function _free($0) { $233 = ($$2>>>0)<(256); if ($233) { $234 = $232 << 1; - $235 = (19276 + ($234<<2)|0); - $236 = HEAP32[4809]|0; + $235 = (19588 + ($234<<2)|0); + $236 = HEAP32[4887]|0; $237 = 1 << $232; $238 = $236 & $237; $239 = ($238|0)==(0); if ($239) { $240 = $236 | $237; - HEAP32[4809] = $240; + HEAP32[4887] = $240; $$pre = ((($235)) + 8|0); $$0403 = $235;$$pre$phiZ2D = $$pre; } else { $241 = ((($235)) + 8|0); $242 = HEAP32[$241>>2]|0; - $243 = HEAP32[(19252)>>2]|0; + $243 = HEAP32[(19564)>>2]|0; $244 = ($242>>>0)<($243>>>0); if ($244) { _abort(); @@ -35694,21 +35657,21 @@ function _free($0) { $$0396 = $272; } } - $273 = (19540 + ($$0396<<2)|0); + $273 = (19852 + ($$0396<<2)|0); $274 = ((($$1)) + 28|0); HEAP32[$274>>2] = $$0396; $275 = ((($$1)) + 16|0); $276 = ((($$1)) + 20|0); HEAP32[$276>>2] = 0; HEAP32[$275>>2] = 0; - $277 = HEAP32[(19240)>>2]|0; + $277 = HEAP32[(19552)>>2]|0; $278 = 1 << $$0396; $279 = $277 & $278; $280 = ($279|0)==(0); do { if ($280) { $281 = $277 | $278; - HEAP32[(19240)>>2] = $281; + HEAP32[(19552)>>2] = $281; HEAP32[$273>>2] = $$1; $282 = ((($$1)) + 24|0); HEAP32[$282>>2] = $273; @@ -35746,7 +35709,7 @@ function _free($0) { } } if ((label|0) == 121) { - $300 = HEAP32[(19252)>>2]|0; + $300 = HEAP32[(19564)>>2]|0; $301 = ($296>>>0)<($300>>>0); if ($301) { _abort(); @@ -35765,7 +35728,7 @@ function _free($0) { else if ((label|0) == 124) { $305 = ((($$0384)) + 8|0); $306 = HEAP32[$305>>2]|0; - $307 = HEAP32[(19252)>>2]|0; + $307 = HEAP32[(19564)>>2]|0; $308 = ($306>>>0)>=($307>>>0); $not$437 = ($$0384>>>0)>=($307>>>0); $309 = $308 & $not$437; @@ -35787,12 +35750,12 @@ function _free($0) { } } } while(0); - $314 = HEAP32[(19268)>>2]|0; + $314 = HEAP32[(19580)>>2]|0; $315 = (($314) + -1)|0; - HEAP32[(19268)>>2] = $315; + HEAP32[(19580)>>2] = $315; $316 = ($315|0)==(0); if ($316) { - $$0212$in$i = (19692); + $$0212$in$i = (20004); } else { return; } @@ -35806,7 +35769,7 @@ function _free($0) { $$0212$in$i = $318; } } - HEAP32[(19268)>>2] = -1; + HEAP32[(19580)>>2] = -1; return; } function _realloc($0,$1) { @@ -35878,7 +35841,7 @@ function _try_realloc_chunk($0,$1) { $3 = HEAP32[$2>>2]|0; $4 = $3 & -8; $5 = (($0) + ($4)|0); - $6 = HEAP32[(19252)>>2]|0; + $6 = HEAP32[(19564)>>2]|0; $7 = $3 & 3; $notlhs = ($0>>>0)>=($6>>>0); $notrhs = ($7|0)!=(1); @@ -35908,7 +35871,7 @@ function _try_realloc_chunk($0,$1) { $16 = ($4>>>0)<($15>>>0); if (!($16)) { $17 = (($4) - ($1))|0; - $18 = HEAP32[(19716)>>2]|0; + $18 = HEAP32[(20028)>>2]|0; $19 = $18 << 1; $20 = ($17>>>0)>($19>>>0); if (!($20)) { @@ -35944,10 +35907,10 @@ function _try_realloc_chunk($0,$1) { $$2 = $0; return ($$2|0); } - $34 = HEAP32[(19260)>>2]|0; + $34 = HEAP32[(19572)>>2]|0; $35 = ($5|0)==($34|0); if ($35) { - $36 = HEAP32[(19248)>>2]|0; + $36 = HEAP32[(19560)>>2]|0; $37 = (($36) + ($4))|0; $38 = ($37>>>0)>($1>>>0); $39 = (($37) - ($1))|0; @@ -35963,15 +35926,15 @@ function _try_realloc_chunk($0,$1) { $45 = $44 | 2; HEAP32[$2>>2] = $45; HEAP32[$42>>2] = $41; - HEAP32[(19260)>>2] = $40; - HEAP32[(19248)>>2] = $39; + HEAP32[(19572)>>2] = $40; + HEAP32[(19560)>>2] = $39; $$2 = $0; return ($$2|0); } - $46 = HEAP32[(19256)>>2]|0; + $46 = HEAP32[(19568)>>2]|0; $47 = ($5|0)==($46|0); if ($47) { - $48 = HEAP32[(19244)>>2]|0; + $48 = HEAP32[(19556)>>2]|0; $49 = (($48) + ($4))|0; $50 = ($49>>>0)<($1>>>0); if ($50) { @@ -36007,8 +35970,8 @@ function _try_realloc_chunk($0,$1) { HEAP32[$66>>2] = $68; $storemerge = 0;$storemerge1 = 0; } - HEAP32[(19244)>>2] = $storemerge1; - HEAP32[(19256)>>2] = $storemerge; + HEAP32[(19556)>>2] = $storemerge1; + HEAP32[(19568)>>2] = $storemerge; $$2 = $0; return ($$2|0); } @@ -36035,7 +35998,7 @@ function _try_realloc_chunk($0,$1) { $79 = ((($5)) + 12|0); $80 = HEAP32[$79>>2]|0; $81 = $75 << 1; - $82 = (19276 + ($81<<2)|0); + $82 = (19588 + ($81<<2)|0); $83 = ($78|0)==($82|0); if (!($83)) { $84 = ($78>>>0)<($6>>>0); @@ -36055,9 +36018,9 @@ function _try_realloc_chunk($0,$1) { if ($88) { $89 = 1 << $75; $90 = $89 ^ -1; - $91 = HEAP32[4809]|0; + $91 = HEAP32[4887]|0; $92 = $91 & $90; - HEAP32[4809] = $92; + HEAP32[4887] = $92; break; } $93 = ($80|0)==($82|0); @@ -36166,7 +36129,7 @@ function _try_realloc_chunk($0,$1) { if (!($126)) { $127 = ((($5)) + 28|0); $128 = HEAP32[$127>>2]|0; - $129 = (19540 + ($128<<2)|0); + $129 = (19852 + ($128<<2)|0); $130 = HEAP32[$129>>2]|0; $131 = ($5|0)==($130|0); do { @@ -36176,13 +36139,13 @@ function _try_realloc_chunk($0,$1) { if ($cond) { $132 = 1 << $128; $133 = $132 ^ -1; - $134 = HEAP32[(19240)>>2]|0; + $134 = HEAP32[(19552)>>2]|0; $135 = $134 & $133; - HEAP32[(19240)>>2] = $135; + HEAP32[(19552)>>2] = $135; break L49; } } else { - $136 = HEAP32[(19252)>>2]|0; + $136 = HEAP32[(19564)>>2]|0; $137 = ($100>>>0)<($136>>>0); if ($137) { _abort(); @@ -36203,7 +36166,7 @@ function _try_realloc_chunk($0,$1) { } } } while(0); - $142 = HEAP32[(19252)>>2]|0; + $142 = HEAP32[(19564)>>2]|0; $143 = ($$3>>>0)<($142>>>0); if ($143) { _abort(); @@ -36233,7 +36196,7 @@ function _try_realloc_chunk($0,$1) { $152 = HEAP32[$151>>2]|0; $153 = ($152|0)==(0|0); if (!($153)) { - $154 = HEAP32[(19252)>>2]|0; + $154 = HEAP32[(19564)>>2]|0; $155 = ($152>>>0)<($154>>>0); if ($155) { _abort(); @@ -36318,13 +36281,13 @@ function _dispose_chunk($0,$1) { $10 = (0 - ($7))|0; $11 = (($0) + ($10)|0); $12 = (($7) + ($1))|0; - $13 = HEAP32[(19252)>>2]|0; + $13 = HEAP32[(19564)>>2]|0; $14 = ($11>>>0)<($13>>>0); if ($14) { _abort(); // unreachable; } - $15 = HEAP32[(19256)>>2]|0; + $15 = HEAP32[(19568)>>2]|0; $16 = ($11|0)==($15|0); if ($16) { $100 = ((($2)) + 4|0); @@ -36339,7 +36302,7 @@ function _dispose_chunk($0,$1) { $105 = ((($11)) + 4|0); $106 = $12 | 1; $107 = $101 & -2; - HEAP32[(19244)>>2] = $12; + HEAP32[(19556)>>2] = $12; HEAP32[$100>>2] = $107; HEAP32[$105>>2] = $106; HEAP32[$104>>2] = $12; @@ -36353,7 +36316,7 @@ function _dispose_chunk($0,$1) { $21 = ((($11)) + 12|0); $22 = HEAP32[$21>>2]|0; $23 = $17 << 1; - $24 = (19276 + ($23<<2)|0); + $24 = (19588 + ($23<<2)|0); $25 = ($20|0)==($24|0); if (!($25)) { $26 = ($20>>>0)<($13>>>0); @@ -36373,9 +36336,9 @@ function _dispose_chunk($0,$1) { if ($30) { $31 = 1 << $17; $32 = $31 ^ -1; - $33 = HEAP32[4809]|0; + $33 = HEAP32[4887]|0; $34 = $33 & $32; - HEAP32[4809] = $34; + HEAP32[4887] = $34; $$1 = $11;$$1418 = $12; break; } @@ -36489,7 +36452,7 @@ function _dispose_chunk($0,$1) { } else { $69 = ((($11)) + 28|0); $70 = HEAP32[$69>>2]|0; - $71 = (19540 + ($70<<2)|0); + $71 = (19852 + ($70<<2)|0); $72 = HEAP32[$71>>2]|0; $73 = ($11|0)==($72|0); do { @@ -36499,14 +36462,14 @@ function _dispose_chunk($0,$1) { if ($cond) { $74 = 1 << $70; $75 = $74 ^ -1; - $76 = HEAP32[(19240)>>2]|0; + $76 = HEAP32[(19552)>>2]|0; $77 = $76 & $75; - HEAP32[(19240)>>2] = $77; + HEAP32[(19552)>>2] = $77; $$1 = $11;$$1418 = $12; break L1; } } else { - $78 = HEAP32[(19252)>>2]|0; + $78 = HEAP32[(19564)>>2]|0; $79 = ($42>>>0)<($78>>>0); if ($79) { _abort(); @@ -36528,7 +36491,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $84 = HEAP32[(19252)>>2]|0; + $84 = HEAP32[(19564)>>2]|0; $85 = ($$3>>>0)<($84>>>0); if ($85) { _abort(); @@ -36560,7 +36523,7 @@ function _dispose_chunk($0,$1) { if ($95) { $$1 = $11;$$1418 = $12; } else { - $96 = HEAP32[(19252)>>2]|0; + $96 = HEAP32[(19564)>>2]|0; $97 = ($94>>>0)<($96>>>0); if ($97) { _abort(); @@ -36579,7 +36542,7 @@ function _dispose_chunk($0,$1) { $$1 = $0;$$1418 = $1; } } while(0); - $108 = HEAP32[(19252)>>2]|0; + $108 = HEAP32[(19564)>>2]|0; $109 = ($2>>>0)<($108>>>0); if ($109) { _abort(); @@ -36590,14 +36553,14 @@ function _dispose_chunk($0,$1) { $112 = $111 & 2; $113 = ($112|0)==(0); if ($113) { - $114 = HEAP32[(19260)>>2]|0; + $114 = HEAP32[(19572)>>2]|0; $115 = ($2|0)==($114|0); - $116 = HEAP32[(19256)>>2]|0; + $116 = HEAP32[(19568)>>2]|0; if ($115) { - $117 = HEAP32[(19248)>>2]|0; + $117 = HEAP32[(19560)>>2]|0; $118 = (($117) + ($$1418))|0; - HEAP32[(19248)>>2] = $118; - HEAP32[(19260)>>2] = $$1; + HEAP32[(19560)>>2] = $118; + HEAP32[(19572)>>2] = $$1; $119 = $118 | 1; $120 = ((($$1)) + 4|0); HEAP32[$120>>2] = $119; @@ -36605,16 +36568,16 @@ function _dispose_chunk($0,$1) { if (!($121)) { return; } - HEAP32[(19256)>>2] = 0; - HEAP32[(19244)>>2] = 0; + HEAP32[(19568)>>2] = 0; + HEAP32[(19556)>>2] = 0; return; } $122 = ($2|0)==($116|0); if ($122) { - $123 = HEAP32[(19244)>>2]|0; + $123 = HEAP32[(19556)>>2]|0; $124 = (($123) + ($$1418))|0; - HEAP32[(19244)>>2] = $124; - HEAP32[(19256)>>2] = $$1; + HEAP32[(19556)>>2] = $124; + HEAP32[(19568)>>2] = $$1; $125 = $124 | 1; $126 = ((($$1)) + 4|0); HEAP32[$126>>2] = $125; @@ -36633,7 +36596,7 @@ function _dispose_chunk($0,$1) { $134 = ((($2)) + 12|0); $135 = HEAP32[$134>>2]|0; $136 = $130 << 1; - $137 = (19276 + ($136<<2)|0); + $137 = (19588 + ($136<<2)|0); $138 = ($133|0)==($137|0); if (!($138)) { $139 = ($133>>>0)<($108>>>0); @@ -36653,9 +36616,9 @@ function _dispose_chunk($0,$1) { if ($143) { $144 = 1 << $130; $145 = $144 ^ -1; - $146 = HEAP32[4809]|0; + $146 = HEAP32[4887]|0; $147 = $146 & $145; - HEAP32[4809] = $147; + HEAP32[4887] = $147; break; } $148 = ($135|0)==($137|0); @@ -36764,7 +36727,7 @@ function _dispose_chunk($0,$1) { if (!($181)) { $182 = ((($2)) + 28|0); $183 = HEAP32[$182>>2]|0; - $184 = (19540 + ($183<<2)|0); + $184 = (19852 + ($183<<2)|0); $185 = HEAP32[$184>>2]|0; $186 = ($2|0)==($185|0); do { @@ -36774,13 +36737,13 @@ function _dispose_chunk($0,$1) { if ($cond17) { $187 = 1 << $183; $188 = $187 ^ -1; - $189 = HEAP32[(19240)>>2]|0; + $189 = HEAP32[(19552)>>2]|0; $190 = $189 & $188; - HEAP32[(19240)>>2] = $190; + HEAP32[(19552)>>2] = $190; break L96; } } else { - $191 = HEAP32[(19252)>>2]|0; + $191 = HEAP32[(19564)>>2]|0; $192 = ($155>>>0)<($191>>>0); if ($192) { _abort(); @@ -36801,7 +36764,7 @@ function _dispose_chunk($0,$1) { } } } while(0); - $197 = HEAP32[(19252)>>2]|0; + $197 = HEAP32[(19564)>>2]|0; $198 = ($$3435>>>0)<($197>>>0); if ($198) { _abort(); @@ -36831,7 +36794,7 @@ function _dispose_chunk($0,$1) { $207 = HEAP32[$206>>2]|0; $208 = ($207|0)==(0|0); if (!($208)) { - $209 = HEAP32[(19252)>>2]|0; + $209 = HEAP32[(19564)>>2]|0; $210 = ($207>>>0)<($209>>>0); if ($210) { _abort(); @@ -36852,10 +36815,10 @@ function _dispose_chunk($0,$1) { HEAP32[$214>>2] = $213; $215 = (($$1) + ($129)|0); HEAP32[$215>>2] = $129; - $216 = HEAP32[(19256)>>2]|0; + $216 = HEAP32[(19568)>>2]|0; $217 = ($$1|0)==($216|0); if ($217) { - HEAP32[(19244)>>2] = $129; + HEAP32[(19556)>>2] = $129; return; } else { $$2 = $129; @@ -36874,20 +36837,20 @@ function _dispose_chunk($0,$1) { $223 = ($$2>>>0)<(256); if ($223) { $224 = $222 << 1; - $225 = (19276 + ($224<<2)|0); - $226 = HEAP32[4809]|0; + $225 = (19588 + ($224<<2)|0); + $226 = HEAP32[4887]|0; $227 = 1 << $222; $228 = $226 & $227; $229 = ($228|0)==(0); if ($229) { $230 = $226 | $227; - HEAP32[4809] = $230; + HEAP32[4887] = $230; $$pre = ((($225)) + 8|0); $$0438 = $225;$$pre$phiZ2D = $$pre; } else { $231 = ((($225)) + 8|0); $232 = HEAP32[$231>>2]|0; - $233 = HEAP32[(19252)>>2]|0; + $233 = HEAP32[(19564)>>2]|0; $234 = ($232>>>0)<($233>>>0); if ($234) { _abort(); @@ -36939,20 +36902,20 @@ function _dispose_chunk($0,$1) { $$0431 = $262; } } - $263 = (19540 + ($$0431<<2)|0); + $263 = (19852 + ($$0431<<2)|0); $264 = ((($$1)) + 28|0); HEAP32[$264>>2] = $$0431; $265 = ((($$1)) + 16|0); $266 = ((($$1)) + 20|0); HEAP32[$266>>2] = 0; HEAP32[$265>>2] = 0; - $267 = HEAP32[(19240)>>2]|0; + $267 = HEAP32[(19552)>>2]|0; $268 = 1 << $$0431; $269 = $267 & $268; $270 = ($269|0)==(0); if ($270) { $271 = $267 | $268; - HEAP32[(19240)>>2] = $271; + HEAP32[(19552)>>2] = $271; HEAP32[$263>>2] = $$1; $272 = ((($$1)) + 24|0); HEAP32[$272>>2] = $263; @@ -36991,7 +36954,7 @@ function _dispose_chunk($0,$1) { } } if ((label|0) == 118) { - $290 = HEAP32[(19252)>>2]|0; + $290 = HEAP32[(19564)>>2]|0; $291 = ($286>>>0)<($290>>>0); if ($291) { _abort(); @@ -37009,7 +36972,7 @@ function _dispose_chunk($0,$1) { else if ((label|0) == 121) { $295 = ((($$0420)) + 8|0); $296 = HEAP32[$295>>2]|0; - $297 = HEAP32[(19252)>>2]|0; + $297 = HEAP32[(19564)>>2]|0; $298 = ($296>>>0)>=($297>>>0); $not$19 = ($$0420>>>0)>=($297>>>0); $299 = $298 & $not$19; diff --git a/docs/examples/web/textures/textures_to_image.png b/docs/examples/web/textures/textures_to_image.png new file mode 100644 index 00000000..410103a5 Binary files /dev/null and b/docs/examples/web/textures/textures_to_image.png differ diff --git a/examples/Makefile b/examples/Makefile index 97971029..060789e7 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -31,6 +31,13 @@ PLATFORM ?= PLATFORM_DESKTOP # define NO to use OpenAL Soft as static library (shared by default) SHARED_OPENAL ?= YES +ifeq ($(PLATFORM),PLATFORM_WEB) + SHARED_OPENAL = NO +endif + +# define raylib directory for include and library +RAYLIB_PATH = D:\GitHub\raylib + # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) # No uname.exe on MinGW!, but OS=Windows_NT on Windows! ifeq ($(UNAME),Msys) -> Windows @@ -74,7 +81,7 @@ endif # -std=gnu99 defines C language mode (GNU C from 1999 revision) # -fgnu89-inline declaring inline functions support (GCC optimized) # -Wno-missing-braces ignore invalid warning (GCC bug 53119) -# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB +# -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) CFLAGS = -O2 -s -Wall -std=c99 @@ -88,10 +95,11 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif ifeq ($(PLATFORM),PLATFORM_WEB) CFLAGS = -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -s USE_GLFW=3 -s ASSERTIONS=1 --profiling - # -O2 # if used, also set --memory-init-file 0 - # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) - #-s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing - #-s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # -O2 # if used, also set --memory-init-file 0 + # --memory-init-file 0 # to avoid an external memory initialization code file (.mem) + # -s ALLOW_MEMORY_GROWTH=1 # to allow memory resizing + # -s TOTAL_MEMORY=16777216 # to specify heap memory size (default = 16MB) + # -preload-file file.res # embbed file.res resource into .data file endif ifeq ($(PLATFORM),PLATFORM_RPI) CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline @@ -101,24 +109,24 @@ endif # define raylib release directory for compiled library ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) - RAYLIB_PATH = ../release/win32/mingw32 + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/win32/mingw32 endif ifeq ($(PLATFORM_OS),LINUX) - RAYLIB_PATH = ../release/linux + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/linux endif ifeq ($(PLATFORM_OS),OSX) - RAYLIB_PATH = ../release/osx + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/osx endif endif ifeq ($(PLATFORM),PLATFORM_WEB) - RAYLIB_PATH = ../release/html5 + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/html5 endif ifeq ($(PLATFORM),PLATFORM_RPI) - RAYLIB_PATH = ../release/rpi + RAYLIB_RELEASE = $(RAYLIB_PATH)/release/rpi endif # define any directories containing required header files -INCLUDES = -I. -I../src -I../src/external -I$(RAYLIB_PATH) +INCLUDES = -I. -I$(RAYLIB_RELEASE) -I$(RAYLIB_PATH)/src -I$(RAYLIB_PATH)/src/external ifeq ($(PLATFORM),PLATFORM_RPI) INCLUDES += -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads @@ -127,9 +135,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) # external libraries headers # GLFW3 - INCLUDES += -I../src/external/glfw3/include + INCLUDES += -I$(RAYLIB_PATH)/src/external/glfw3/include # OpenAL Soft - INCLUDES += -I../src/external/openal_soft/include + INCLUDES += -I$(RAYLIB_PATH)/src/external/openal_soft/include endif ifeq ($(PLATFORM_OS),LINUX) # you may optionally create this directory and install raylib @@ -142,7 +150,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) endif # define library paths containing required libs -LFLAGS = -L. -L../src -L$(RAYLIB_PATH) +LFLAGS = -L. -L$(RAYLIB_RELEASE) -L$(RAYLIB_PATH)/src ifeq ($(PLATFORM),PLATFORM_RPI) LFLAGS += -L/opt/vc/lib @@ -152,9 +160,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),WINDOWS) # external libraries to link with # GLFW3 - LFLAGS += -L../src/external/glfw3/lib/$(LIBPATH) + LFLAGS += -L$(RAYLIB_PATH)/src/external/glfw3/lib/$(LIBPATH) # OpenAL Soft - LFLAGS += -L../src/external/openal_soft/lib/$(LIBPATH) + LFLAGS += -L$(RAYLIB_PATH)/src/external/openal_soft/lib/$(LIBPATH) endif endif @@ -195,18 +203,19 @@ ifeq ($(PLATFORM),PLATFORM_RPI) endif ifeq ($(PLATFORM),PLATFORM_WEB) # just adjust the correct path to libraylib.bc - LIBS = ../release/html5/libraylib.bc + LIBS = $(RAYLIB_RELEASE)/libraylib.bc endif # define additional parameters and flags for windows ifeq ($(PLATFORM_OS),WINDOWS) # resources file contains windows exe icon # -Wl,--subsystem,windows hides the console window - WINFLAGS = ../src/resources -Wl,--subsystem,windows + WINFLAGS = $(RAYLIB_PATH)/src/resources -Wl,--subsystem,windows endif ifeq ($(PLATFORM),PLATFORM_WEB) EXT = .html + WEB_SHELL = --shell-file $(RAYLIB_PATH)\templates\web_shell\shell.html endif # define all object files required @@ -232,28 +241,31 @@ EXAMPLES = \ shapes/shapes_basic_shapes \ shapes/shapes_colors_palette \ shapes/shapes_logo_raylib_anim \ + shapes/shapes_lines_bezier \ textures/textures_logo_raylib \ textures/textures_image_loading \ textures/textures_rectangle \ textures/textures_srcrec_dstrec \ textures/textures_to_image \ textures/textures_raw_data \ + textures/textures_particles_blending \ textures/textures_image_processing \ textures/textures_image_drawing \ text/text_sprite_fonts \ text/text_bmfont_ttf \ - text/text_rbmf_fonts \ + text/text_raylib_fonts \ text/text_format_text \ text/text_writing_anim \ text/text_ttf_loading \ text/text_bmfont_unordered \ + text/text_input_box \ models/models_geometric_shapes \ models/models_box_collisions \ models/models_billboard \ models/models_obj_loading \ models/models_heightmap \ models/models_cubicmap \ - models/models_ray_picking \ + models/models_mesh_picking \ shaders/shaders_model_shader \ shaders/shaders_shapes_textures \ shaders/shaders_custom_uniform \ @@ -372,6 +384,10 @@ shapes/shapes_colors_palette: shapes/shapes_colors_palette.c # compile [shapes] example - raylib logo animation shapes/shapes_logo_raylib_anim: shapes/shapes_logo_raylib_anim.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + +# compile [shapes] example - lines bezier +shapes/shapes_lines_bezier: shapes/shapes_lines_bezier.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [textures] example - raylib logo texture loading textures/textures_logo_raylib: textures/textures_logo_raylib.c @@ -396,6 +412,10 @@ textures/textures_to_image: textures/textures_to_image.c # compile [textures] example - texture raw data textures/textures_raw_data: textures/textures_raw_data.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + +# compile [textures] example - texture particles blending +textures/textures_particles_blending: textures/textures_particles_blending.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [textures] example - texture image processing textures/textures_image_processing: textures/textures_image_processing.c @@ -413,8 +433,8 @@ text/text_sprite_fonts: text/text_sprite_fonts.c text/text_bmfont_ttf: text/text_bmfont_ttf.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) -# compile [text] example - raylib bitmap fonts (rBMF) -text/text_rbmf_fonts: text/text_rbmf_fonts.c +# compile [text] example - raylib fonts +text/text_raylib_fonts: text/text_raylib_fonts.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [text] example - text formatting @@ -432,6 +452,10 @@ text/text_ttf_loading: text/text_ttf_loading.c # compile [text] example - text bmfont unordered text/text_bmfont_unordered: text/text_bmfont_unordered.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) + +# compile [text] example - text input box +text/text_input_box: text/text_input_box.c + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [models] example - basic geometric 3d shapes models/models_geometric_shapes: models/models_geometric_shapes.c @@ -461,8 +485,8 @@ models/models_heightmap: models/models_heightmap.c models/models_cubicmap: models/models_cubicmap.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) -# compile [models] example - model ray picking -models/models_ray_picking: models/models_ray_picking.c +# compile [models] example - model mesh picking +models/models_mesh_picking: models/models_mesh_picking.c $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -D$(PLATFORM) $(WINFLAGS) # compile [shaders] example - model shader @@ -499,23 +523,23 @@ audio/audio_raw_stream: audio/audio_raw_stream.c # compile [physac] example - physics demo physac/physics_demo: physac/physics_demo.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics friction physac/physics_friction: physac/physics_friction.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics movement physac/physics_movement: physac/physics_movement.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics restitution physac/physics_restitution: physac/physics_restitution.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # compile [physac] example - physics shatter physac/physics_shatter: physac/physics_shatter.c - $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -lpthread -D$(PLATFORM) $(WINFLAGS) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) # fix dylib install path name for each executable (MAC) fix_dylib: @@ -533,7 +557,7 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP) ifeq ($(PLATFORM_OS),LINUX) find -type f -executable | xargs file -i | grep -E 'x-object|x-archive|x-sharedlib|x-executable' | rev | cut -d ':' -f 2- | rev | xargs rm -f else - del *.o *.exe + del *.o *.exe /s endif endif endif diff --git a/release/html5/libraylib.bc b/release/html5/libraylib.bc index 083a3c3d..bdd53add 100644 Binary files a/release/html5/libraylib.bc and b/release/html5/libraylib.bc differ diff --git a/release/html5/raylib.h b/release/html5/raylib.h index a47d3c59..b82ec342 100644 --- a/release/html5/raylib.h +++ b/release/html5/raylib.h @@ -1,51 +1,53 @@ /********************************************************************************************** * -* raylib 1.6.0 (www.raylib.com) +* raylib v1.7.0 * -* A simple and easy-to-use library to learn videogames programming +* A simple and easy-to-use library to learn videogames programming (www.raylib.com) * -* Features: -* Library written in plain C code (C99) -* Uses PascalCase/camelCase notation -* Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0) -* Unique OpenGL abstraction layer (usable as standalone module): [rlgl] -* Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF) -* Multiple textures support, including compressed formats and mipmaps generation -* Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps -* Materials (diffuse, normal, specular) and Lighting (point, directional, spot) support -* Powerful math module for Vector, Matrix and Quaternion operations: [raymath] -* Audio loading and playing with streaming support and mixing channels [audio] -* VR stereo rendering support with configurable HMD device parameters -* Multiple platforms support: Windows, Linux, Mac, Android, Raspberry Pi, HTML5 and Oculus Rift CV1 -* Custom color palette for fancy visuals on raywhite background -* Minimal external dependencies (GLFW3, OpenGL, OpenAL) -* Complete binding for Lua [rlua] +* FEATURES: +* - Library written in plain C code (C99) +* - Uses PascalCase/camelCase notation +* - Hardware accelerated with OpenGL (1.1, 2.1, 3.3 or ES 2.0) +* - Unique OpenGL abstraction layer (usable as standalone module): [rlgl] +* - Powerful fonts module with SpriteFonts support (XNA bitmap fonts, AngelCode fonts, TTF) +* - Multiple textures support, including compressed formats and mipmaps generation +* - Basic 3d support for Shapes, Models, Billboards, Heightmaps and Cubicmaps +* - Powerful math module for Vector, Matrix and Quaternion operations: [raymath] +* - Audio loading and playing with streaming support and mixing channels: [audio] +* - VR stereo rendering support with configurable HMD device parameters +* - Multiple platforms support: Windows, Linux, Mac, Android, Raspberry Pi, HTML5 and Oculus Rift CV1 +* - Custom color palette for fancy visuals on raywhite background +* - Minimal external dependencies (GLFW3, OpenGL, OpenAL) +* - Complete bindings for Lua, Go and Pascal * -* External libs: -* GLFW3 (www.glfw.org) for window/context management and input [core] -* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) [rlgl] -* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures] -* stb_image_write (Sean Barret) for image writting (PNG) [utils] -* stb_truetype (Sean Barret) for ttf fonts loading [text] -* stb_vorbis (Sean Barret) for ogg audio loading [audio] -* jar_xm (Joshua Reisenauer) for XM audio module loading [audio] -* jar_mod (Joshua Reisenauer) for MOD audio module loading [audio] -* dr_flac (David Reid) for FLAC audio file loading [audio] -* OpenAL Soft for audio device/context management [audio] -* tinfl for data decompression (DEFLATE algorithm) [utils] +* NOTES: +* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte) +* One custom default font could be loaded automatically when InitWindow() [core] +* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads +* If using OpenGL 3.3 or ES2, two default shaders could be loaded automatically (internally defined) * -* Some design decisions: -* 32bit Colors - All defined color are always RGBA (struct Color is 4 byte) -* One custom default font could be loaded automatically when InitWindow() [core] -* If using OpenGL 3.3 or ES2, several vertex buffers (VAO/VBO) are created to manage lines-triangles-quads -* If using OpenGL 3.3 or ES2, two default shaders could be loaded automatically (internally defined) +* DEPENDENCIES: +* GLFW3 (www.glfw.org) for window/context management and input [core] +* GLAD for OpenGL extensions loading (3.3 Core profile, only PLATFORM_DESKTOP) [rlgl] +* OpenAL Soft for audio device/context management [audio] * -* -- LICENSE -- +* OPTIONAL DEPENDENCIES: +* stb_image (Sean Barret) for images loading (JPEG, PNG, BMP, TGA) [textures] +* stb_image_write (Sean Barret) for image writting (PNG) [utils] +* stb_truetype (Sean Barret) for ttf fonts loading [text] +* stb_vorbis (Sean Barret) for ogg audio loading [audio] +* jar_xm (Joshua Reisenauer) for XM audio module loading [audio] +* jar_mod (Joshua Reisenauer) for MOD audio module loading [audio] +* dr_flac (David Reid) for FLAC audio file loading [audio] +* tinfl for data decompression (DEFLATE algorithm) [rres] +* +* +* LICENSE: zlib/libpng * * raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified, * BSD-like license that allows static linking with closed source software: * -* Copyright (c) 2013-2016 Ramon Santamaria (@raysan5) +* Copyright (c) 2013-2017 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -98,13 +100,13 @@ #define RAD2DEG (180.0f/PI) // raylib Config Flags -#define FLAG_FULLSCREEN_MODE 1 -#define FLAG_RESIZABLE_WINDOW 2 -#define FLAG_SHOW_LOGO 4 -#define FLAG_SHOW_MOUSE_CURSOR 8 -#define FLAG_CENTERED_MODE 16 -#define FLAG_MSAA_4X_HINT 32 -#define FLAG_VSYNC_HINT 64 +#define FLAG_SHOW_LOGO 1 // Set to show raylib logo at startup +#define FLAG_FULLSCREEN_MODE 2 // Set to run program in fullscreen +#define FLAG_WINDOW_RESIZABLE 4 // Set to allow resizable window +#define FLAG_WINDOW_DECORATED 8 // Set to show window decoration (frame and buttons) +#define FLAG_WINDOW_TRANSPARENT 16 // Set to allow transparent window +#define FLAG_MSAA_4X_HINT 32 // Set to try enabling MSAA 4X +#define FLAG_VSYNC_HINT 64 // Set to try enabling V-Sync on GPU // Keyboard Function Keys #define KEY_SPACE 32 @@ -297,13 +299,9 @@ //---------------------------------------------------------------------------------- #ifndef __cplusplus // Boolean type - #ifndef __APPLE__ - #if !defined(_STDBOOL_H) - typedef enum { false, true } bool; - #define _STDBOOL_H - #endif - #else - #include + #if !defined(_STDBOOL_H) + typedef enum { false, true } bool; + #define _STDBOOL_H #endif #endif @@ -371,15 +369,21 @@ typedef struct RenderTexture2D { Texture2D depth; // Depth buffer attachment texture } RenderTexture2D; +// SpriteFont character info +typedef struct CharInfo { + int value; // Character value (Unicode) + Rectangle rec; // Character rectangle in sprite font + int offsetX; // Character offset X when drawing + int offsetY; // Character offset Y when drawing + int advanceX; // Character advance position X +} CharInfo; + // SpriteFont type, includes texture and charSet array data typedef struct SpriteFont { Texture2D texture; // Font texture - int size; // Base size (default chars height) - int numChars; // Number of characters - int *charValues; // Characters values array - Rectangle *charRecs; // Characters rectangles within the texture - Vector2 *charOffsets; // Characters offsets (on drawing) - int *charAdvanceX; // Characters x advance (on drawing) + int baseSize; // Base size (default chars height) + int charsCount; // Number of characters + CharInfo *chars; // Characters info data } SpriteFont; // Camera type, defines a camera position/orientation in 3d space @@ -466,25 +470,6 @@ typedef struct Model { Material material; // Shader and textures data } Model; -// Light type -typedef struct LightData { - unsigned int id; // Light unique id - bool enabled; // Light enabled - int type; // Light type: LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT - - Vector3 position; // Light position - Vector3 target; // Light direction: LIGHT_DIRECTIONAL and LIGHT_SPOT (cone direction target) - float radius; // Light attenuation radius light intensity reduced with distance (world distance) - - Color diffuse; // Light diffuse color - float intensity; // Light intensity level - - float coneAngle; // Light cone max angle: LIGHT_SPOT -} LightData, *Light; - -// Light types -typedef enum { LIGHT_POINT, LIGHT_DIRECTIONAL, LIGHT_SPOT } LightType; - // Ray type (useful for raycast) typedef struct Ray { Vector3 position; // Ray position (origin) @@ -610,26 +595,34 @@ typedef enum { HMD_FOVE_VR, } VrDevice; -// rRES data returned when reading a resource, it contains all required data for user (24 byte) -typedef struct { +// rRES data returned when reading a resource, +// it contains all required data for user (24 byte) +typedef struct RRESData { unsigned int type; // Resource type (4 byte) - + unsigned int param1; // Resouce parameter 1 (4 byte) unsigned int param2; // Resouce parameter 2 (4 byte) unsigned int param3; // Resouce parameter 3 (4 byte) unsigned int param4; // Resouce parameter 4 (4 byte) - + void *data; // Resource data pointer (4 byte) } RRESData; +// RRESData type typedef enum { - RRES_RAW = 0, - RRES_IMAGE, - RRES_WAVE, - RRES_VERTEX, - RRES_TEXT + RRES_TYPE_RAW = 0, + RRES_TYPE_IMAGE, + RRES_TYPE_WAVE, + RRES_TYPE_VERTEX, + RRES_TYPE_TEXT, + RRES_TYPE_FONT_IMAGE, + RRES_TYPE_FONT_CHARDATA, // CharInfo data array + RRES_TYPE_DIRECTORY } RRESDataType; +// RRES type (pointer to RRESData array) +typedef struct RRESData *RRES; + #ifdef __cplusplus extern "C" { // Prevents name mangling of functions #endif @@ -652,6 +645,9 @@ RLAPI void CloseWindow(void); // Close Windo RLAPI bool WindowShouldClose(void); // Detect if KEY_ESCAPE pressed or Close icon pressed RLAPI bool IsWindowMinimized(void); // Detect if window has been minimized (or lost focus) RLAPI void ToggleFullscreen(void); // Fullscreen toggle (only PLATFORM_DESKTOP) +RLAPI void SetWindowIcon(Image image); // Set icon for window (only PLATFORM_DESKTOP) +RLAPI void SetWindowPosition(int x, int y); // Set window position on screen (only PLATFORM_DESKTOP) +RLAPI void SetWindowMonitor(int monitor); // Set monitor for the current window (fullscreen mode) RLAPI int GetScreenWidth(void); // Get current screen width RLAPI int GetScreenHeight(void); // Get current screen height @@ -679,7 +675,7 @@ RLAPI Vector2 GetWorldToScreen(Vector3 position, Camera camera); // Returns the RLAPI Matrix GetCameraMatrix(Camera camera); // Returns camera transform matrix (view matrix) RLAPI void SetTargetFPS(int fps); // Set target FPS (maximum) -RLAPI float GetFPS(void); // Returns current FPS +RLAPI int GetFPS(void); // Returns current FPS RLAPI float GetFrameTime(void); // Returns time in seconds for one frame RLAPI Color GetColor(int hexValue); // Returns a Color struct from hexadecimal value @@ -691,8 +687,11 @@ RLAPI float *MatrixToFloat(Matrix mat); // Converts Ma RLAPI int GetRandomValue(int min, int max); // Returns a random value between min and max (both included) RLAPI Color Fade(Color color, float alpha); // Color fade-in or fade-out, alpha goes from 0.0f to 1.0f -RLAPI void SetConfigFlags(char flags); // Setup some window configuration flags RLAPI void ShowLogo(void); // Activates raylib logo at startup (can be done with flags) +RLAPI void SetConfigFlags(char flags); // Setup some window configuration flags +//RLAPI void TraceLog(int logType, const char *text, ...); // Show trace log messages (INFO, WARNING, ERROR, DEBUG) +RLAPI void TakeScreenshot(void); // Takes a screenshot and saves it in the same folder as executable +RLAPI bool IsFileExtension(const char *fileName, const char *ext);// Check file extension RLAPI bool IsFileDropped(void); // Check if a file have been dropped into window RLAPI char **GetDroppedFiles(int *count); // Retrieve dropped files into window @@ -769,12 +768,15 @@ RLAPI void DrawPixel(int posX, int posY, Color color); RLAPI void DrawPixelV(Vector2 position, Color color); // Draw a pixel (Vector version) RLAPI void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color); // Draw a line RLAPI void DrawLineV(Vector2 startPos, Vector2 endPos, Color color); // Draw a line (Vector version) +RLAPI void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line defining thickness +RLAPI void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color); // Draw a line using cubic-bezier curves in-out RLAPI void DrawCircle(int centerX, int centerY, float radius, Color color); // Draw a color-filled circle RLAPI void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2); // Draw a gradient-filled circle RLAPI void DrawCircleV(Vector2 center, float radius, Color color); // Draw a color-filled circle (Vector version) RLAPI void DrawCircleLines(int centerX, int centerY, float radius, Color color); // Draw circle outline RLAPI void DrawRectangle(int posX, int posY, int width, int height, Color color); // Draw a color-filled rectangle RLAPI void DrawRectangleRec(Rectangle rec, Color color); // Draw a color-filled rectangle +RLAPI void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color); // Draw a color-filled rectangle with pro parameters RLAPI void DrawRectangleGradient(int posX, int posY, int width, int height, Color color1, Color color2); // Draw a gradient-filled rectangle RLAPI void DrawRectangleV(Vector2 position, Vector2 size, Color color); // Draw a color-filled rectangle (Vector version) RLAPI void DrawRectangleLines(int posX, int posY, int width, int height, Color color); // Draw rectangle outline @@ -820,7 +822,7 @@ RLAPI Image ImageText(const char *text, int fontSize, Color color); RLAPI Image ImageTextEx(SpriteFont font, const char *text, float fontSize, int spacing, Color tint); // Create an image from text (custom sprite font) RLAPI void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec); // Draw a source image within a destination image RLAPI void ImageDrawText(Image *dst, Vector2 position, const char *text, int fontSize, Color color); // Draw text (default font) within an image (destination) -RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, +RLAPI void ImageDrawTextEx(Image *dst, Vector2 position, SpriteFont font, const char *text, float fontSize, int spacing, Color color); // Draw text (custom sprite font) within an image (destination) RLAPI void ImageFlipVertical(Image *image); // Flip image vertically RLAPI void ImageFlipHorizontal(Image *image); // Flip image horizontally @@ -845,7 +847,7 @@ RLAPI void DrawTexturePro(Texture2D texture, Rectangle sourceRec, Rectangle dest //------------------------------------------------------------------------------------ RLAPI SpriteFont GetDefaultFont(void); // Get the default SpriteFont RLAPI SpriteFont LoadSpriteFont(const char *fileName); // Load SpriteFont from file into GPU memory (VRAM) -RLAPI SpriteFont LoadSpriteFontTTF(const char *fileName, int fontSize, int numChars, int *fontChars); // Load SpriteFont from TTF font file with generation parameters +RLAPI SpriteFont LoadSpriteFontTTF(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load SpriteFont from TTF font file with generation parameters RLAPI void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory (VRAM) RLAPI void DrawText(const char *text, int posX, int posY, int fontSize, Color color); // Draw text (using default font) @@ -876,7 +878,6 @@ RLAPI void DrawPlane(Vector3 centerPos, Vector2 size, Color color); RLAPI void DrawRay(Ray ray, Color color); // Draw a ray line RLAPI void DrawGrid(int slices, float spacing); // Draw a grid (centered at (0, 0, 0)) RLAPI void DrawGizmo(Vector3 position); // Draw simple gizmo -RLAPI void DrawLight(Light light); // Draw light in 3D world //DrawTorus(), DrawTeapot() could be useful? //------------------------------------------------------------------------------------ @@ -892,21 +893,19 @@ RLAPI void UnloadMesh(Mesh *mesh); RLAPI void UnloadModel(Model model); // Unload model from memory (RAM and/or VRAM) RLAPI Material LoadMaterial(const char *fileName); // Load material from file -RLAPI Material LoadMaterialEx(Shader shader, Texture2D diffuse, Color color); // Load material from basic shading data RLAPI Material LoadDefaultMaterial(void); // Load default material (uses default models shader) -RLAPI Material LoadStandardMaterial(void); // Load standard material (uses material attributes and lighting shader) RLAPI void UnloadMaterial(Material material); // Unload material from GPU memory (VRAM) RLAPI void DrawModel(Model model, Vector3 position, float scale, Color tint); // Draw a model (with texture if set) -RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, +RLAPI void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model with extended parameters RLAPI void DrawModelWires(Model model, Vector3 position, float scale, Color tint); // Draw a model wires (with texture if set) -RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, +RLAPI void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint); // Draw a model wires (with texture if set) with extended parameters RLAPI void DrawBoundingBox(BoundingBox box, Color color); // Draw bounding box (wires) RLAPI void DrawBillboard(Camera camera, Texture2D texture, Vector3 center, float size, Color tint); // Draw a billboard texture -RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, +RLAPI void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle sourceRec, Vector3 center, float size, Color tint); // Draw a billboard texture defined by sourceRec RLAPI BoundingBox CalculateBoundingBox(Mesh mesh); // Calculate mesh bounding box limits @@ -914,7 +913,7 @@ RLAPI bool CheckCollisionSpheres(Vector3 centerA, float radiusA, Vector3 centerB RLAPI bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2); // Detect collision between two bounding boxes RLAPI bool CheckCollisionBoxSphere(BoundingBox box, Vector3 centerSphere, float radiusSphere); // Detect collision between box and sphere RLAPI bool CheckCollisionRaySphere(Ray ray, Vector3 spherePosition, float sphereRadius); // Detect collision between ray and sphere -RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, +RLAPI bool CheckCollisionRaySphereEx(Ray ray, Vector3 spherePosition, float sphereRadius, Vector3 *collisionPoint); // Detect collision between ray and sphere, returns collision point RLAPI bool CheckCollisionRayBox(Ray ray, BoundingBox box); // Detect collision between ray and box RLAPI RayHitInfo GetCollisionRayMesh(Ray ray, Mesh *mesh); // Get collision info between ray and mesh @@ -930,7 +929,6 @@ RLAPI Shader LoadShader(char *vsFileName, char *fsFileName); // Loa RLAPI void UnloadShader(Shader shader); // Unload shader from GPU memory (VRAM) RLAPI Shader GetDefaultShader(void); // Get default shader -RLAPI Shader GetStandardShader(void); // Get standard shader RLAPI Texture2D GetDefaultTexture(void); // Get default texture RLAPI int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location @@ -946,19 +944,17 @@ RLAPI void EndShaderMode(void); // End RLAPI void BeginBlendMode(int mode); // Begin blending mode (alpha, additive, multiplied) RLAPI void EndBlendMode(void); // End blending mode (reset to default: alpha blending) -RLAPI Light CreateLight(int type, Vector3 position, Color diffuse); // Create a new light, initialize it and add to pool -RLAPI void DestroyLight(Light light); // Destroy a light and take it out of the list - //------------------------------------------------------------------------------------ // VR experience Functions (Module: rlgl) // NOTE: This functions are useless when using OpenGL 1.1 //------------------------------------------------------------------------------------ -RLAPI void InitVrDevice(int vdDevice); // Init VR device -RLAPI void CloseVrDevice(void); // Close VR device -RLAPI bool IsVrDeviceReady(void); // Detect if VR device is ready -RLAPI bool IsVrSimulator(void); // Detect if VR simulator is running -RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera -RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) +RLAPI void InitVrSimulator(int vrDevice); // Init VR simulator for selected device +RLAPI void CloseVrSimulator(void); // Close VR simulator for current device +RLAPI bool IsVrSimulatorReady(void); // Detect if VR device is ready +RLAPI void UpdateVrTracking(Camera *camera); // Update VR tracking (position and orientation) and camera +RLAPI void ToggleVrMode(void); // Enable/Disable VR experience (device or simulator) +RLAPI void BeginVrDrawing(void); // Begin VR simulator stereo rendering +RLAPI void EndVrDrawing(void); // End VR simulator stereo rendering //------------------------------------------------------------------------------------ // Audio Loading and Playing Functions (Module: audio) @@ -966,12 +962,13 @@ RLAPI void ToggleVrMode(void); // Enable/Disable VR experienc RLAPI void InitAudioDevice(void); // Initialize audio device and context RLAPI void CloseAudioDevice(void); // Close the audio device and context RLAPI bool IsAudioDeviceReady(void); // Check if audio device has been initialized successfully +RLAPI void SetMasterVolume(float volume); // Set master volume (listener) RLAPI Wave LoadWave(const char *fileName); // Load wave data from file RLAPI Wave LoadWaveEx(void *data, int sampleCount, int sampleRate, int sampleSize, int channels); // Load wave data from raw array data RLAPI Sound LoadSound(const char *fileName); // Load sound from file RLAPI Sound LoadSoundFromWave(Wave wave); // Load sound from wave data -RLAPI void UpdateSound(Sound sound, const void *data, int numSamples);// Update sound buffer with new data +RLAPI void UpdateSound(Sound sound, const void *data, int samplesCount);// Update sound buffer with new data RLAPI void UnloadWave(Wave wave); // Unload wave data RLAPI void UnloadSound(Sound sound); // Unload sound RLAPI void PlaySound(Sound sound); // Play a sound @@ -995,13 +992,14 @@ RLAPI void ResumeMusicStream(Music music); // Resume RLAPI bool IsMusicPlaying(Music music); // Check if music is playing RLAPI void SetMusicVolume(Music music, float volume); // Set volume for music (1.0 is max level) RLAPI void SetMusicPitch(Music music, float pitch); // Set pitch for a music (1.0 is base level) +RLAPI void SetMusicLoopCount(Music music, float count); // Set music loop count (loop repeats) RLAPI float GetMusicTimeLength(Music music); // Get music time length (in seconds) RLAPI float GetMusicTimePlayed(Music music); // Get current music time played (in seconds) RLAPI AudioStream InitAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels); // Init audio stream (to stream raw audio pcm data) -RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int numSamples); // Update audio stream buffers with data +RLAPI void UpdateAudioStream(AudioStream stream, const void *data, int samplesCount); // Update audio stream buffers with data RLAPI void CloseAudioStream(AudioStream stream); // Close audio stream and free memory RLAPI bool IsAudioBufferProcessed(AudioStream stream); // Check if any audio stream buffers requires refill RLAPI void PlayAudioStream(AudioStream stream); // Play audio stream diff --git a/templates/web_shell/shell.html b/templates/web_shell/shell.html index c154ee7e..d602b5b5 100644 --- a/templates/web_shell/shell.html +++ b/templates/web_shell/shell.html @@ -49,7 +49,7 @@ float:left; position:relative; margin:10px; - background-image:url(http://www.raylib.com/img/raylib_logo64x64.png); + background-image:url(http://www.raylib.com/common/img/raylib_logo_64x64.png); } .emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; } -- cgit v1.2.3